summaryrefslogtreecommitdiff
path: root/libs/math/doc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/math/doc')
-rw-r--r--libs/math/doc/Jamfile.v265
-rw-r--r--libs/math/doc/background/error.qbk73
-rw-r--r--libs/math/doc/background/implementation.qbk650
-rw-r--r--libs/math/doc/background/lanczos.qbk246
-rw-r--r--libs/math/doc/background/references.qbk115
-rw-r--r--libs/math/doc/background/remez.qbk (renamed from libs/math/doc/sf_and_dist/remez.qbk)0
-rw-r--r--libs/math/doc/background/special_tut.qbk508
-rw-r--r--libs/math/doc/common_factor.html18
-rw-r--r--libs/math/doc/complex/Jamfile.v277
-rw-r--r--libs/math/doc/complex/complex-tr1.qbk79
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex.html61
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acos.html63
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acosh.html63
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asin.html63
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asinh.html63
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atan.html63
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atanh.html63
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/history.html50
-rw-r--r--libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/implementation.html61
-rw-r--r--libs/math/doc/complex/html/index.html69
-rw-r--r--libs/math/doc/concepts/concepts.qbk637
-rw-r--r--libs/math/doc/constants/constants.qbk748
-rw-r--r--libs/math/doc/constants/pp_pi.hpp99
-rw-r--r--libs/math/doc/cstdfloat/cstdfloat.qbk447
-rw-r--r--libs/math/doc/cstdfloat/cstdfloat_header.qbk29
-rw-r--r--libs/math/doc/cstdfloat/jamfile.v2109
-rw-r--r--libs/math/doc/distexplorer/distexplorer.qbk2
-rw-r--r--libs/math/doc/distributions/background.qbk84
-rw-r--r--libs/math/doc/distributions/bernoulli.qbk118
-rw-r--r--libs/math/doc/distributions/beta.qbk280
-rw-r--r--libs/math/doc/distributions/binomial.qbk404
-rw-r--r--libs/math/doc/distributions/binomial_example.qbk332
-rw-r--r--libs/math/doc/distributions/c_sharp.qbk20
-rw-r--r--libs/math/doc/distributions/cauchy.qbk154
-rw-r--r--libs/math/doc/distributions/chi_squared.qbk161
-rw-r--r--libs/math/doc/distributions/chi_squared_examples.qbk500
-rw-r--r--libs/math/doc/distributions/dist_algorithms.qbk78
-rw-r--r--libs/math/doc/distributions/dist_reference.qbk146
-rw-r--r--libs/math/doc/distributions/dist_tutorial.qbk459
-rw-r--r--libs/math/doc/distributions/distribution_construction.qbk17
-rw-r--r--libs/math/doc/distributions/error_handling_example.qbk35
-rw-r--r--libs/math/doc/distributions/exponential.qbk108
-rw-r--r--libs/math/doc/distributions/extreme_value.qbk119
-rw-r--r--libs/math/doc/distributions/f_dist_example.qbk220
-rw-r--r--libs/math/doc/distributions/find_location_and_scale.qbk39
-rw-r--r--libs/math/doc/distributions/fisher.qbk190
-rw-r--r--libs/math/doc/distributions/gamma.qbk139
-rw-r--r--libs/math/doc/distributions/geometric.qbk350
-rw-r--r--libs/math/doc/distributions/geometric_example.qbk20
-rw-r--r--libs/math/doc/distributions/hyperexponential.qbk506
-rw-r--r--libs/math/doc/distributions/hypergeometric.qbk229
-rw-r--r--libs/math/doc/distributions/inverse_chi_squared.qbk176
-rw-r--r--libs/math/doc/distributions/inverse_chi_squared_eg.qbk32
-rw-r--r--libs/math/doc/distributions/inverse_gamma.qbk129
-rw-r--r--libs/math/doc/distributions/inverse_gamma_example.qbk (renamed from libs/math/doc/sf_and_dist/distributions/inverse_gamma_example.qbk)0
-rw-r--r--libs/math/doc/distributions/inverse_gaussian.qbk171
-rw-r--r--libs/math/doc/distributions/laplace.qbk141
-rw-r--r--libs/math/doc/distributions/logistic.qbk103
-rw-r--r--libs/math/doc/distributions/lognormal.qbk119
-rw-r--r--libs/math/doc/distributions/nag_library.qbk60
-rw-r--r--libs/math/doc/distributions/nc_beta.qbk213
-rw-r--r--libs/math/doc/distributions/nc_chi_squared.qbk280
-rw-r--r--libs/math/doc/distributions/nc_chi_squared_example.qbk20
-rw-r--r--libs/math/doc/distributions/nc_f.qbk193
-rw-r--r--libs/math/doc/distributions/nc_t.qbk231
-rw-r--r--libs/math/doc/distributions/negative_binomial.qbk373
-rw-r--r--libs/math/doc/distributions/negative_binomial_example.qbk192
-rw-r--r--libs/math/doc/distributions/non_members.qbk406
-rw-r--r--libs/math/doc/distributions/normal.qbk120
-rw-r--r--libs/math/doc/distributions/normal_example.qbk36
-rw-r--r--libs/math/doc/distributions/pareto.qbk121
-rw-r--r--libs/math/doc/distributions/poisson.qbk103
-rw-r--r--libs/math/doc/distributions/rayleigh.qbk119
-rw-r--r--libs/math/doc/distributions/skew_normal.qbk193
-rw-r--r--libs/math/doc/distributions/students_t.qbk180
-rw-r--r--libs/math/doc/distributions/students_t_examples.qbk781
-rw-r--r--libs/math/doc/distributions/triangular.qbk168
-rw-r--r--libs/math/doc/distributions/uniform.qbk134
-rw-r--r--libs/math/doc/distributions/weibull.qbk132
-rw-r--r--libs/math/doc/equations/acosh1.mml (renamed from libs/math/doc/sf_and_dist/equations/acosh1.mml)0
-rw-r--r--libs/math/doc/equations/acosh1.png (renamed from libs/math/doc/sf_and_dist/equations/acosh1.png)bin2832 -> 2832 bytes
-rw-r--r--libs/math/doc/equations/acosh1.svg2
-rw-r--r--libs/math/doc/equations/acosh2.mml (renamed from libs/math/doc/sf_and_dist/equations/acosh2.mml)0
-rw-r--r--libs/math/doc/equations/acosh2.png (renamed from libs/math/doc/sf_and_dist/equations/acosh2.png)bin3208 -> 3208 bytes
-rw-r--r--libs/math/doc/equations/acosh2.svg2
-rw-r--r--libs/math/doc/equations/acosh3.mml (renamed from libs/math/doc/sf_and_dist/equations/acosh3.mml)0
-rw-r--r--libs/math/doc/equations/acosh3.png (renamed from libs/math/doc/sf_and_dist/equations/acosh3.png)bin4276 -> 4276 bytes
-rw-r--r--libs/math/doc/equations/acosh3.svg2
-rw-r--r--libs/math/doc/equations/acosh4.mml (renamed from libs/math/doc/sf_and_dist/equations/acosh4.mml)0
-rw-r--r--libs/math/doc/equations/acosh4.png (renamed from libs/math/doc/sf_and_dist/equations/acosh4.png)bin5898 -> 5898 bytes
-rw-r--r--libs/math/doc/equations/acosh4.svg2
-rw-r--r--libs/math/doc/equations/airy.mml76
-rw-r--r--libs/math/doc/equations/airy.pngbin0 -> 5256 bytes
-rw-r--r--libs/math/doc/equations/airy.svg2
-rw-r--r--libs/math/doc/equations/airy_ai.mml188
-rw-r--r--libs/math/doc/equations/airy_ai.pngbin0 -> 10490 bytes
-rw-r--r--libs/math/doc/equations/airy_ai.svg2
-rw-r--r--libs/math/doc/equations/airy_aip.mml179
-rw-r--r--libs/math/doc/equations/airy_aip.pngbin0 -> 9750 bytes
-rw-r--r--libs/math/doc/equations/airy_aip.svg2
-rw-r--r--libs/math/doc/equations/airy_bi.mml195
-rw-r--r--libs/math/doc/equations/airy_bi.pngbin0 -> 11048 bytes
-rw-r--r--libs/math/doc/equations/airy_bi.svg2
-rw-r--r--libs/math/doc/equations/airy_bip.mml195
-rw-r--r--libs/math/doc/equations/airy_bip.pngbin0 -> 11014 bytes
-rw-r--r--libs/math/doc/equations/airy_bip.svg2
-rw-r--r--libs/math/doc/equations/asinh1.mml (renamed from libs/math/doc/sf_and_dist/equations/asinh1.mml)0
-rw-r--r--libs/math/doc/equations/asinh1.png (renamed from libs/math/doc/sf_and_dist/equations/asinh1.png)bin2784 -> 2784 bytes
-rw-r--r--libs/math/doc/equations/asinh1.svg2
-rw-r--r--libs/math/doc/equations/asinh2.mml (renamed from libs/math/doc/sf_and_dist/equations/asinh2.mml)0
-rw-r--r--libs/math/doc/equations/asinh2.png (renamed from libs/math/doc/sf_and_dist/equations/asinh2.png)bin3905 -> 3905 bytes
-rw-r--r--libs/math/doc/equations/asinh2.svg2
-rw-r--r--libs/math/doc/equations/asinh3.mml (renamed from libs/math/doc/sf_and_dist/equations/asinh3.mml)0
-rw-r--r--libs/math/doc/equations/asinh3.png (renamed from libs/math/doc/sf_and_dist/equations/asinh3.png)bin2967 -> 2967 bytes
-rw-r--r--libs/math/doc/equations/asinh3.svg2
-rw-r--r--libs/math/doc/equations/asinh4.mml (renamed from libs/math/doc/sf_and_dist/equations/asinh4.mml)0
-rw-r--r--libs/math/doc/equations/asinh4.png (renamed from libs/math/doc/sf_and_dist/equations/asinh4.png)bin4070 -> 4070 bytes
-rw-r--r--libs/math/doc/equations/asinh4.svg2
-rw-r--r--libs/math/doc/equations/atanh1.mml (renamed from libs/math/doc/sf_and_dist/equations/atanh1.mml)0
-rw-r--r--libs/math/doc/equations/atanh1.png (renamed from libs/math/doc/sf_and_dist/equations/atanh1.png)bin2759 -> 2759 bytes
-rw-r--r--libs/math/doc/equations/atanh1.svg2
-rw-r--r--libs/math/doc/equations/atanh2.mml (renamed from libs/math/doc/sf_and_dist/equations/atanh2.mml)0
-rw-r--r--libs/math/doc/equations/atanh2.png (renamed from libs/math/doc/sf_and_dist/equations/atanh2.png)bin2947 -> 2947 bytes
-rw-r--r--libs/math/doc/equations/atanh2.svg2
-rw-r--r--libs/math/doc/equations/atanh3.mml (renamed from libs/math/doc/sf_and_dist/equations/atanh3.mml)0
-rw-r--r--libs/math/doc/equations/atanh3.png (renamed from libs/math/doc/sf_and_dist/equations/atanh3.png)bin4075 -> 4075 bytes
-rw-r--r--libs/math/doc/equations/atanh3.svg2
-rw-r--r--libs/math/doc/equations/bernoulli_numbers.mml52
-rw-r--r--libs/math/doc/equations/bernoulli_numbers.pngbin0 -> 2763 bytes
-rw-r--r--libs/math/doc/equations/bernoulli_numbers.svg2
-rw-r--r--libs/math/doc/equations/bernoulli_numbers2.mml224
-rw-r--r--libs/math/doc/equations/bernoulli_numbers2.pngbin0 -> 9752 bytes
-rw-r--r--libs/math/doc/equations/bernoulli_numbers2.svg2
-rw-r--r--libs/math/doc/equations/bessel1.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel1.mml)0
-rw-r--r--libs/math/doc/equations/bessel1.png (renamed from libs/math/doc/sf_and_dist/equations/bessel1.png)bin3844 -> 3844 bytes
-rw-r--r--libs/math/doc/equations/bessel1.svg2
-rw-r--r--libs/math/doc/equations/bessel10.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel10.mml)0
-rw-r--r--libs/math/doc/equations/bessel10.png (renamed from libs/math/doc/sf_and_dist/equations/bessel10.png)bin3959 -> 3959 bytes
-rw-r--r--libs/math/doc/equations/bessel10.svg2
-rw-r--r--libs/math/doc/equations/bessel11.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel11.mml)0
-rw-r--r--libs/math/doc/equations/bessel11.png (renamed from libs/math/doc/sf_and_dist/equations/bessel11.png)bin3759 -> 3759 bytes
-rw-r--r--libs/math/doc/equations/bessel11.svg2
-rw-r--r--libs/math/doc/equations/bessel12.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel12.mml)0
-rw-r--r--libs/math/doc/equations/bessel12.png (renamed from libs/math/doc/sf_and_dist/equations/bessel12.png)bin9203 -> 9203 bytes
-rw-r--r--libs/math/doc/equations/bessel12.svg2
-rw-r--r--libs/math/doc/equations/bessel13.mml140
-rw-r--r--libs/math/doc/equations/bessel13.pngbin0 -> 7615 bytes
-rw-r--r--libs/math/doc/equations/bessel13.svg2
-rw-r--r--libs/math/doc/equations/bessel14.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel14.mml)0
-rw-r--r--libs/math/doc/equations/bessel14.png (renamed from libs/math/doc/sf_and_dist/equations/bessel14.png)bin1337 -> 1337 bytes
-rw-r--r--libs/math/doc/equations/bessel14.svg2
-rw-r--r--libs/math/doc/equations/bessel15.mml114
-rw-r--r--libs/math/doc/equations/bessel15.png (renamed from libs/math/doc/sf_and_dist/equations/bessel15.png)bin5191 -> 5191 bytes
-rw-r--r--libs/math/doc/equations/bessel15.svg2
-rw-r--r--libs/math/doc/equations/bessel16.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel16.mml)0
-rw-r--r--libs/math/doc/equations/bessel16.png (renamed from libs/math/doc/sf_and_dist/equations/bessel16.png)bin2241 -> 2241 bytes
-rw-r--r--libs/math/doc/equations/bessel16.svg2
-rw-r--r--libs/math/doc/equations/bessel2.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel2.mml)0
-rw-r--r--libs/math/doc/equations/bessel2.png (renamed from libs/math/doc/sf_and_dist/equations/bessel2.png)bin5468 -> 5468 bytes
-rw-r--r--libs/math/doc/equations/bessel2.svg2
-rw-r--r--libs/math/doc/equations/bessel3.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel3.mml)0
-rw-r--r--libs/math/doc/equations/bessel3.png (renamed from libs/math/doc/sf_and_dist/equations/bessel3.png)bin4234 -> 4234 bytes
-rw-r--r--libs/math/doc/equations/bessel3.svg2
-rw-r--r--libs/math/doc/equations/bessel4.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel4.mml)0
-rw-r--r--libs/math/doc/equations/bessel4.png (renamed from libs/math/doc/sf_and_dist/equations/bessel4.png)bin2868 -> 2868 bytes
-rw-r--r--libs/math/doc/equations/bessel4.svg2
-rw-r--r--libs/math/doc/equations/bessel5.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel5.mml)0
-rw-r--r--libs/math/doc/equations/bessel5.png (renamed from libs/math/doc/sf_and_dist/equations/bessel5.png)bin3057 -> 3057 bytes
-rw-r--r--libs/math/doc/equations/bessel5.svg2
-rw-r--r--libs/math/doc/equations/bessel6.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel6.mml)0
-rw-r--r--libs/math/doc/equations/bessel6.png (renamed from libs/math/doc/sf_and_dist/equations/bessel6.png)bin2633 -> 2633 bytes
-rw-r--r--libs/math/doc/equations/bessel6.svg2
-rw-r--r--libs/math/doc/equations/bessel7.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel7.mml)0
-rw-r--r--libs/math/doc/equations/bessel7.png (renamed from libs/math/doc/sf_and_dist/equations/bessel7.png)bin2715 -> 2715 bytes
-rw-r--r--libs/math/doc/equations/bessel7.svg2
-rw-r--r--libs/math/doc/equations/bessel8.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel8.mml)0
-rw-r--r--libs/math/doc/equations/bessel8.png (renamed from libs/math/doc/sf_and_dist/equations/bessel8.png)bin6451 -> 6451 bytes
-rw-r--r--libs/math/doc/equations/bessel8.svg2
-rw-r--r--libs/math/doc/equations/bessel9.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel9.mml)0
-rw-r--r--libs/math/doc/equations/bessel9.png (renamed from libs/math/doc/sf_and_dist/equations/bessel9.png)bin3934 -> 3934 bytes
-rw-r--r--libs/math/doc/equations/bessel9.svg2
-rw-r--r--libs/math/doc/equations/bessel_derivatives1.mml442
-rw-r--r--libs/math/doc/equations/bessel_derivatives1.pngbin0 -> 14687 bytes
-rw-r--r--libs/math/doc/equations/bessel_derivatives1.svg2
-rw-r--r--libs/math/doc/equations/bessel_derivatives2.mml69
-rw-r--r--libs/math/doc/equations/bessel_derivatives2.pngbin0 -> 3046 bytes
-rw-r--r--libs/math/doc/equations/bessel_derivatives2.svg2
-rw-r--r--libs/math/doc/equations/bessel_derivatives3.mml69
-rw-r--r--libs/math/doc/equations/bessel_derivatives3.pngbin0 -> 3046 bytes
-rw-r--r--libs/math/doc/equations/bessel_derivatives3.svg2
-rw-r--r--libs/math/doc/equations/bessel_derivatives4.mml370
-rw-r--r--libs/math/doc/equations/bessel_derivatives4.pngbin0 -> 17621 bytes
-rw-r--r--libs/math/doc/equations/bessel_derivatives4.svg2
-rw-r--r--libs/math/doc/equations/bessel_derivatives5.mml396
-rw-r--r--libs/math/doc/equations/bessel_derivatives5.pngbin0 -> 15350 bytes
-rw-r--r--libs/math/doc/equations/bessel_derivatives5.svg2
-rw-r--r--libs/math/doc/equations/bessel_y0_small_z.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.mml)0
-rw-r--r--libs/math/doc/equations/bessel_y0_small_z.png (renamed from libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.png)bin3943 -> 3943 bytes
-rw-r--r--libs/math/doc/equations/bessel_y0_small_z.svg2
-rw-r--r--libs/math/doc/equations/bessel_y1_small_z.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.mml)0
-rw-r--r--libs/math/doc/equations/bessel_y1_small_z.png (renamed from libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.png)bin5010 -> 5010 bytes
-rw-r--r--libs/math/doc/equations/bessel_y1_small_z.svg2
-rw-r--r--libs/math/doc/equations/bessel_y2_small_z.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.mml)0
-rw-r--r--libs/math/doc/equations/bessel_y2_small_z.png (renamed from libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.png)bin5839 -> 5839 bytes
-rw-r--r--libs/math/doc/equations/bessel_y2_small_z.svg2
-rw-r--r--libs/math/doc/equations/bessel_yn_small_z.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.mml)0
-rw-r--r--libs/math/doc/equations/bessel_yn_small_z.png (renamed from libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.png)bin4324 -> 4324 bytes
-rw-r--r--libs/math/doc/equations/bessel_yn_small_z.svg2
-rw-r--r--libs/math/doc/equations/bessel_yv_small_z.mml (renamed from libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.mml)0
-rw-r--r--libs/math/doc/equations/bessel_yv_small_z.png (renamed from libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.png)bin12583 -> 12583 bytes
-rw-r--r--libs/math/doc/equations/bessel_yv_small_z.svg2
-rw-r--r--libs/math/doc/equations/beta1.mml (renamed from libs/math/doc/sf_and_dist/equations/beta1.mml)0
-rw-r--r--libs/math/doc/equations/beta1.png (renamed from libs/math/doc/sf_and_dist/equations/beta1.png)bin4703 -> 4703 bytes
-rw-r--r--libs/math/doc/equations/beta1.svg2
-rw-r--r--libs/math/doc/equations/beta1.svg.svg (renamed from libs/math/doc/sf_and_dist/equations/beta1.svg.svg)0
-rw-r--r--libs/math/doc/equations/beta2.mml (renamed from libs/math/doc/sf_and_dist/equations/beta2.mml)0
-rw-r--r--libs/math/doc/equations/beta2.png (renamed from libs/math/doc/sf_and_dist/equations/beta2.png)bin11009 -> 11009 bytes
-rw-r--r--libs/math/doc/equations/beta2.svg2
-rw-r--r--libs/math/doc/equations/beta3.mml (renamed from libs/math/doc/sf_and_dist/equations/beta3.mml)0
-rw-r--r--libs/math/doc/equations/beta3.png (renamed from libs/math/doc/sf_and_dist/equations/beta3.png)bin13483 -> 13483 bytes
-rw-r--r--libs/math/doc/equations/beta3.svg2
-rw-r--r--libs/math/doc/equations/beta4.mml (renamed from libs/math/doc/sf_and_dist/equations/beta4.mml)0
-rw-r--r--libs/math/doc/equations/beta4.png (renamed from libs/math/doc/sf_and_dist/equations/beta4.png)bin3906 -> 3906 bytes
-rw-r--r--libs/math/doc/equations/beta4.svg2
-rw-r--r--libs/math/doc/equations/beta5.mml (renamed from libs/math/doc/sf_and_dist/equations/beta5.mml)0
-rw-r--r--libs/math/doc/equations/beta5.png (renamed from libs/math/doc/sf_and_dist/equations/beta5.png)bin5231 -> 5231 bytes
-rw-r--r--libs/math/doc/equations/beta5.svg2
-rw-r--r--libs/math/doc/equations/beta6.mml (renamed from libs/math/doc/sf_and_dist/equations/beta6.mml)0
-rw-r--r--libs/math/doc/equations/beta6.png (renamed from libs/math/doc/sf_and_dist/equations/beta6.png)bin4859 -> 4859 bytes
-rw-r--r--libs/math/doc/equations/beta6.svg2
-rw-r--r--libs/math/doc/equations/beta7.mml (renamed from libs/math/doc/sf_and_dist/equations/beta7.mml)0
-rw-r--r--libs/math/doc/equations/beta7.png (renamed from libs/math/doc/sf_and_dist/equations/beta7.png)bin3057 -> 3057 bytes
-rw-r--r--libs/math/doc/equations/beta7.svg2
-rw-r--r--libs/math/doc/equations/beta8.mml (renamed from libs/math/doc/sf_and_dist/equations/beta8.mml)0
-rw-r--r--libs/math/doc/equations/beta8.png (renamed from libs/math/doc/sf_and_dist/equations/beta8.png)bin3141 -> 3141 bytes
-rw-r--r--libs/math/doc/equations/beta8.svg2
-rw-r--r--libs/math/doc/equations/beta_dist_kurtosis.mml (renamed from libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.mml)0
-rw-r--r--libs/math/doc/equations/beta_dist_kurtosis.png (renamed from libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.png)bin6789 -> 6789 bytes
-rw-r--r--libs/math/doc/equations/beta_dist_kurtosis.svg2
-rw-r--r--libs/math/doc/equations/binomial_ref1.mml212
-rw-r--r--libs/math/doc/equations/binomial_ref1.pngbin0 -> 11599 bytes
-rw-r--r--libs/math/doc/equations/binomial_ref1.svg2
-rw-r--r--libs/math/doc/equations/binomial_ref2.mml98
-rw-r--r--libs/math/doc/equations/binomial_ref2.pngbin0 -> 5521 bytes
-rw-r--r--libs/math/doc/equations/binomial_ref2.svg2
-rw-r--r--libs/math/doc/equations/cauchy_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/cauchy_ref1.mml)0
-rw-r--r--libs/math/doc/equations/cauchy_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/cauchy_ref1.png)bin4326 -> 4326 bytes
-rw-r--r--libs/math/doc/equations/cauchy_ref1.svg2
-rw-r--r--libs/math/doc/equations/chf.mml (renamed from libs/math/doc/sf_and_dist/equations/chf.mml)0
-rw-r--r--libs/math/doc/equations/chf.png (renamed from libs/math/doc/sf_and_dist/equations/chf.png)bin4083 -> 4083 bytes
-rw-r--r--libs/math/doc/equations/chf.svg2
-rw-r--r--libs/math/doc/equations/chi_squ_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_ref1.mml)0
-rw-r--r--libs/math/doc/equations/chi_squ_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_ref1.png)bin3152 -> 3152 bytes
-rw-r--r--libs/math/doc/equations/chi_squ_ref1.svg2
-rw-r--r--libs/math/doc/equations/chi_squ_tut1.mml (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_tut1.mml)0
-rw-r--r--libs/math/doc/equations/chi_squ_tut1.png (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_tut1.png)bin6698 -> 6698 bytes
-rw-r--r--libs/math/doc/equations/chi_squ_tut1.svg2
-rw-r--r--libs/math/doc/equations/chi_squ_tut2.mml (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_tut2.mml)0
-rw-r--r--libs/math/doc/equations/chi_squ_tut2.png (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_tut2.png)bin1361 -> 1361 bytes
-rw-r--r--libs/math/doc/equations/chi_squ_tut2.svg2
-rw-r--r--libs/math/doc/equations/chi_squ_tut3.mml (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_tut3.mml)0
-rw-r--r--libs/math/doc/equations/chi_squ_tut3.png (renamed from libs/math/doc/sf_and_dist/equations/chi_squ_tut3.png)bin1501 -> 1501 bytes
-rw-r--r--libs/math/doc/equations/chi_squ_tut3.svg2
-rw-r--r--libs/math/doc/equations/derivative1.mml (renamed from libs/math/doc/sf_and_dist/equations/derivative1.mml)0
-rw-r--r--libs/math/doc/equations/derivative1.png (renamed from libs/math/doc/sf_and_dist/equations/derivative1.png)bin6289 -> 6289 bytes
-rw-r--r--libs/math/doc/equations/derivative1.svg2
-rw-r--r--libs/math/doc/equations/derivative2.mml (renamed from libs/math/doc/sf_and_dist/equations/derivative2.mml)0
-rw-r--r--libs/math/doc/equations/derivative2.png (renamed from libs/math/doc/sf_and_dist/equations/derivative2.png)bin7004 -> 7004 bytes
-rw-r--r--libs/math/doc/equations/derivative2.svg2
-rw-r--r--libs/math/doc/equations/digamma1.mml (renamed from libs/math/doc/sf_and_dist/equations/digamma1.mml)0
-rw-r--r--libs/math/doc/equations/digamma1.png (renamed from libs/math/doc/sf_and_dist/equations/digamma1.png)bin4013 -> 4013 bytes
-rw-r--r--libs/math/doc/equations/digamma1.svg2
-rw-r--r--libs/math/doc/equations/digamma2.mml (renamed from libs/math/doc/sf_and_dist/equations/digamma2.mml)0
-rw-r--r--libs/math/doc/equations/digamma2.png (renamed from libs/math/doc/sf_and_dist/equations/digamma2.png)bin4614 -> 4614 bytes
-rw-r--r--libs/math/doc/equations/digamma2.svg2
-rw-r--r--libs/math/doc/equations/digamma3.mml (renamed from libs/math/doc/sf_and_dist/equations/digamma3.mml)0
-rw-r--r--libs/math/doc/equations/digamma3.png (renamed from libs/math/doc/sf_and_dist/equations/digamma3.png)bin7174 -> 7174 bytes
-rw-r--r--libs/math/doc/equations/digamma3.svg2
-rw-r--r--libs/math/doc/equations/dist_tutorial1.mml (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial1.mml)0
-rw-r--r--libs/math/doc/equations/dist_tutorial1.png (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial1.png)bin8459 -> 8459 bytes
-rw-r--r--libs/math/doc/equations/dist_tutorial1.svg2
-rw-r--r--libs/math/doc/equations/dist_tutorial2.mml (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial2.mml)0
-rw-r--r--libs/math/doc/equations/dist_tutorial2.png (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial2.png)bin3796 -> 3796 bytes
-rw-r--r--libs/math/doc/equations/dist_tutorial2.svg2
-rw-r--r--libs/math/doc/equations/dist_tutorial3.mml (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial3.mml)0
-rw-r--r--libs/math/doc/equations/dist_tutorial3.png (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial3.png)bin7505 -> 7505 bytes
-rw-r--r--libs/math/doc/equations/dist_tutorial3.svg2
-rw-r--r--libs/math/doc/equations/dist_tutorial4.mml (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial4.mml)0
-rw-r--r--libs/math/doc/equations/dist_tutorial4.png (renamed from libs/math/doc/sf_and_dist/equations/dist_tutorial4.png)bin2144 -> 2144 bytes
-rw-r--r--libs/math/doc/equations/dist_tutorial4.svg2
-rw-r--r--libs/math/doc/equations/ellint1.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint1.mml)0
-rw-r--r--libs/math/doc/equations/ellint1.png (renamed from libs/math/doc/sf_and_dist/equations/ellint1.png)bin1567 -> 1567 bytes
-rw-r--r--libs/math/doc/equations/ellint1.svg2
-rw-r--r--libs/math/doc/equations/ellint10.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint10.mml)0
-rw-r--r--libs/math/doc/equations/ellint10.png (renamed from libs/math/doc/sf_and_dist/equations/ellint10.png)bin5298 -> 5298 bytes
-rw-r--r--libs/math/doc/equations/ellint10.svg2
-rw-r--r--libs/math/doc/equations/ellint11.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint11.mml)0
-rw-r--r--libs/math/doc/equations/ellint11.png (renamed from libs/math/doc/sf_and_dist/equations/ellint11.png)bin5738 -> 5738 bytes
-rw-r--r--libs/math/doc/equations/ellint11.svg2
-rw-r--r--libs/math/doc/equations/ellint12.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint12.mml)0
-rw-r--r--libs/math/doc/equations/ellint12.png (renamed from libs/math/doc/sf_and_dist/equations/ellint12.png)bin4055 -> 4055 bytes
-rw-r--r--libs/math/doc/equations/ellint12.svg2
-rw-r--r--libs/math/doc/equations/ellint13.mml149
-rw-r--r--libs/math/doc/equations/ellint13.png (renamed from libs/math/doc/sf_and_dist/equations/ellint13.png)bin8222 -> 8222 bytes
-rw-r--r--libs/math/doc/equations/ellint13.svg2
-rw-r--r--libs/math/doc/equations/ellint14.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint14.mml)0
-rw-r--r--libs/math/doc/equations/ellint14.png (renamed from libs/math/doc/sf_and_dist/equations/ellint14.png)bin22660 -> 22660 bytes
-rw-r--r--libs/math/doc/equations/ellint14.svg2
-rw-r--r--libs/math/doc/equations/ellint15.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint15.mml)0
-rw-r--r--libs/math/doc/equations/ellint15.png (renamed from libs/math/doc/sf_and_dist/equations/ellint15.png)bin12340 -> 12340 bytes
-rw-r--r--libs/math/doc/equations/ellint15.svg2
-rw-r--r--libs/math/doc/equations/ellint16.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint16.mml)0
-rw-r--r--libs/math/doc/equations/ellint16.png (renamed from libs/math/doc/sf_and_dist/equations/ellint16.png)bin1962 -> 1962 bytes
-rw-r--r--libs/math/doc/equations/ellint16.svg2
-rw-r--r--libs/math/doc/equations/ellint17.mml173
-rw-r--r--libs/math/doc/equations/ellint17.pngbin0 -> 13634 bytes
-rw-r--r--libs/math/doc/equations/ellint17.svg2
-rw-r--r--libs/math/doc/equations/ellint18.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint18.mml)0
-rw-r--r--libs/math/doc/equations/ellint18.png (renamed from libs/math/doc/sf_and_dist/equations/ellint18.png)bin4088 -> 4088 bytes
-rw-r--r--libs/math/doc/equations/ellint18.svg2
-rw-r--r--libs/math/doc/equations/ellint19.mml119
-rw-r--r--libs/math/doc/equations/ellint19.pngbin0 -> 10564 bytes
-rw-r--r--libs/math/doc/equations/ellint19.svg2
-rw-r--r--libs/math/doc/equations/ellint2.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint2.mml)0
-rw-r--r--libs/math/doc/equations/ellint2.png (renamed from libs/math/doc/sf_and_dist/equations/ellint2.png)bin3866 -> 3866 bytes
-rw-r--r--libs/math/doc/equations/ellint2.svg2
-rw-r--r--libs/math/doc/equations/ellint20.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint20.mml)0
-rw-r--r--libs/math/doc/equations/ellint20.png (renamed from libs/math/doc/sf_and_dist/equations/ellint20.png)bin2601 -> 2601 bytes
-rw-r--r--libs/math/doc/equations/ellint20.svg2
-rw-r--r--libs/math/doc/equations/ellint21.mml175
-rw-r--r--libs/math/doc/equations/ellint21.pngbin0 -> 16251 bytes
-rw-r--r--libs/math/doc/equations/ellint21.svg2
-rw-r--r--libs/math/doc/equations/ellint22.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint22.mml)0
-rw-r--r--libs/math/doc/equations/ellint22.png (renamed from libs/math/doc/sf_and_dist/equations/ellint22.png)bin4911 -> 4911 bytes
-rw-r--r--libs/math/doc/equations/ellint22.svg2
-rw-r--r--libs/math/doc/equations/ellint23.mml130
-rw-r--r--libs/math/doc/equations/ellint23.pngbin0 -> 9151 bytes
-rw-r--r--libs/math/doc/equations/ellint23.svg2
-rw-r--r--libs/math/doc/equations/ellint24.mml228
-rw-r--r--libs/math/doc/equations/ellint24.pngbin0 -> 15186 bytes
-rw-r--r--libs/math/doc/equations/ellint24.svg2
-rw-r--r--libs/math/doc/equations/ellint25.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint25.mml)0
-rw-r--r--libs/math/doc/equations/ellint25.png (renamed from libs/math/doc/sf_and_dist/equations/ellint25.png)bin9134 -> 9134 bytes
-rw-r--r--libs/math/doc/equations/ellint25.svg2
-rw-r--r--libs/math/doc/equations/ellint26.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint26.mml)0
-rw-r--r--libs/math/doc/equations/ellint26.png (renamed from libs/math/doc/sf_and_dist/equations/ellint26.png)bin4895 -> 4895 bytes
-rw-r--r--libs/math/doc/equations/ellint26.svg2
-rw-r--r--libs/math/doc/equations/ellint3.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint3.mml)0
-rw-r--r--libs/math/doc/equations/ellint3.png (renamed from libs/math/doc/sf_and_dist/equations/ellint3.png)bin3657 -> 3657 bytes
-rw-r--r--libs/math/doc/equations/ellint3.svg2
-rw-r--r--libs/math/doc/equations/ellint4.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint4.mml)0
-rw-r--r--libs/math/doc/equations/ellint4.png (renamed from libs/math/doc/sf_and_dist/equations/ellint4.png)bin5378 -> 5378 bytes
-rw-r--r--libs/math/doc/equations/ellint4.svg2
-rw-r--r--libs/math/doc/equations/ellint5.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint5.mml)0
-rw-r--r--libs/math/doc/equations/ellint5.png (renamed from libs/math/doc/sf_and_dist/equations/ellint5.png)bin1599 -> 1599 bytes
-rw-r--r--libs/math/doc/equations/ellint5.svg2
-rw-r--r--libs/math/doc/equations/ellint6.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint6.mml)0
-rw-r--r--libs/math/doc/equations/ellint6.png (renamed from libs/math/doc/sf_and_dist/equations/ellint6.png)bin5214 -> 5214 bytes
-rw-r--r--libs/math/doc/equations/ellint6.svg2
-rw-r--r--libs/math/doc/equations/ellint7.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint7.mml)0
-rw-r--r--libs/math/doc/equations/ellint7.png (renamed from libs/math/doc/sf_and_dist/equations/ellint7.png)bin4898 -> 4898 bytes
-rw-r--r--libs/math/doc/equations/ellint7.svg2
-rw-r--r--libs/math/doc/equations/ellint8.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint8.mml)0
-rw-r--r--libs/math/doc/equations/ellint8.png (renamed from libs/math/doc/sf_and_dist/equations/ellint8.png)bin7063 -> 7063 bytes
-rw-r--r--libs/math/doc/equations/ellint8.svg2
-rw-r--r--libs/math/doc/equations/ellint9.mml (renamed from libs/math/doc/sf_and_dist/equations/ellint9.mml)0
-rw-r--r--libs/math/doc/equations/ellint9.png (renamed from libs/math/doc/sf_and_dist/equations/ellint9.png)bin4771 -> 4771 bytes
-rw-r--r--libs/math/doc/equations/ellint9.svg2
-rw-r--r--libs/math/doc/equations/erf1.mml (renamed from libs/math/doc/sf_and_dist/equations/erf1.mml)0
-rw-r--r--libs/math/doc/equations/erf1.png (renamed from libs/math/doc/sf_and_dist/equations/erf1.png)bin3175 -> 3175 bytes
-rw-r--r--libs/math/doc/equations/erf1.svg2
-rw-r--r--libs/math/doc/equations/erf2.mml (renamed from libs/math/doc/sf_and_dist/equations/erf2.mml)0
-rw-r--r--libs/math/doc/equations/erf2.png (renamed from libs/math/doc/sf_and_dist/equations/erf2.png)bin2083 -> 2083 bytes
-rw-r--r--libs/math/doc/equations/erf2.svg2
-rw-r--r--libs/math/doc/equations/error1.mml (renamed from libs/math/doc/sf_and_dist/equations/error1.mml)0
-rw-r--r--libs/math/doc/equations/error1.png (renamed from libs/math/doc/sf_and_dist/equations/error1.png)bin2256 -> 2256 bytes
-rw-r--r--libs/math/doc/equations/error1.svg2
-rw-r--r--libs/math/doc/equations/error2.mml (renamed from libs/math/doc/sf_and_dist/equations/error2.mml)0
-rw-r--r--libs/math/doc/equations/error2.png (renamed from libs/math/doc/sf_and_dist/equations/error2.png)bin841 -> 841 bytes
-rw-r--r--libs/math/doc/equations/error2.svg2
-rw-r--r--libs/math/doc/equations/expint_i_1.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_i_1.mml)0
-rw-r--r--libs/math/doc/equations/expint_i_1.png (renamed from libs/math/doc/sf_and_dist/equations/expint_i_1.png)bin3416 -> 3416 bytes
-rw-r--r--libs/math/doc/equations/expint_i_1.svg2
-rw-r--r--libs/math/doc/equations/expint_i_2.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_i_2.mml)0
-rw-r--r--libs/math/doc/equations/expint_i_2.png (renamed from libs/math/doc/sf_and_dist/equations/expint_i_2.png)bin4004 -> 4004 bytes
-rw-r--r--libs/math/doc/equations/expint_i_2.svg2
-rw-r--r--libs/math/doc/equations/expint_i_3.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_i_3.mml)0
-rw-r--r--libs/math/doc/equations/expint_i_3.png (renamed from libs/math/doc/sf_and_dist/equations/expint_i_3.png)bin4216 -> 4216 bytes
-rw-r--r--libs/math/doc/equations/expint_i_3.svg2
-rw-r--r--libs/math/doc/equations/expint_i_4.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_i_4.mml)0
-rw-r--r--libs/math/doc/equations/expint_i_4.png (renamed from libs/math/doc/sf_and_dist/equations/expint_i_4.png)bin2654 -> 2654 bytes
-rw-r--r--libs/math/doc/equations/expint_i_4.svg2
-rw-r--r--libs/math/doc/equations/expint_n_1.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_n_1.mml)0
-rw-r--r--libs/math/doc/equations/expint_n_1.png (renamed from libs/math/doc/sf_and_dist/equations/expint_n_1.png)bin2629 -> 2629 bytes
-rw-r--r--libs/math/doc/equations/expint_n_1.svg2
-rw-r--r--libs/math/doc/equations/expint_n_2.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_n_2.mml)0
-rw-r--r--libs/math/doc/equations/expint_n_2.png (renamed from libs/math/doc/sf_and_dist/equations/expint_n_2.png)bin8293 -> 8293 bytes
-rw-r--r--libs/math/doc/equations/expint_n_2.svg2
-rw-r--r--libs/math/doc/equations/expint_n_3.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_n_3.mml)0
-rw-r--r--libs/math/doc/equations/expint_n_3.png (renamed from libs/math/doc/sf_and_dist/equations/expint_n_3.png)bin6019 -> 6019 bytes
-rw-r--r--libs/math/doc/equations/expint_n_3.svg2
-rw-r--r--libs/math/doc/equations/expint_n_4.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_n_4.mml)0
-rw-r--r--libs/math/doc/equations/expint_n_4.png (renamed from libs/math/doc/sf_and_dist/equations/expint_n_4.png)bin2832 -> 2832 bytes
-rw-r--r--libs/math/doc/equations/expint_n_4.svg2
-rw-r--r--libs/math/doc/equations/expint_n_5.mml (renamed from libs/math/doc/sf_and_dist/equations/expint_n_5.mml)0
-rw-r--r--libs/math/doc/equations/expint_n_5.png (renamed from libs/math/doc/sf_and_dist/equations/expint_n_5.png)bin3032 -> 3032 bytes
-rw-r--r--libs/math/doc/equations/expint_n_5.svg2
-rw-r--r--libs/math/doc/equations/exponential_dist_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.mml)0
-rw-r--r--libs/math/doc/equations/exponential_dist_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.png)bin1392 -> 1392 bytes
-rw-r--r--libs/math/doc/equations/exponential_dist_ref1.svg2
-rw-r--r--libs/math/doc/equations/fisher_pdf.mml (renamed from libs/math/doc/sf_and_dist/equations/fisher_pdf.mml)0
-rw-r--r--libs/math/doc/equations/fisher_pdf.png (renamed from libs/math/doc/sf_and_dist/equations/fisher_pdf.png)bin5688 -> 5688 bytes
-rw-r--r--libs/math/doc/equations/fisher_pdf.svg2
-rw-r--r--libs/math/doc/equations/fraction1.mml (renamed from libs/math/doc/sf_and_dist/equations/fraction1.mml)0
-rw-r--r--libs/math/doc/equations/fraction1.png (renamed from libs/math/doc/sf_and_dist/equations/fraction1.png)bin3271 -> 3271 bytes
-rw-r--r--libs/math/doc/equations/fraction1.svg2
-rw-r--r--libs/math/doc/equations/fraction2.mml (renamed from libs/math/doc/sf_and_dist/equations/fraction2.mml)0
-rw-r--r--libs/math/doc/equations/fraction2.png (renamed from libs/math/doc/sf_and_dist/equations/fraction2.png)bin2785 -> 2785 bytes
-rw-r--r--libs/math/doc/equations/fraction2.svg2
-rw-r--r--libs/math/doc/equations/fraction3.mml (renamed from libs/math/doc/sf_and_dist/equations/fraction3.mml)0
-rw-r--r--libs/math/doc/equations/fraction3.png (renamed from libs/math/doc/sf_and_dist/equations/fraction3.png)bin3206 -> 3206 bytes
-rw-r--r--libs/math/doc/equations/fraction3.svg2
-rw-r--r--libs/math/doc/equations/fraction4.mml (renamed from libs/math/doc/sf_and_dist/equations/fraction4.mml)0
-rw-r--r--libs/math/doc/equations/fraction4.png (renamed from libs/math/doc/sf_and_dist/equations/fraction4.png)bin3371 -> 3371 bytes
-rw-r--r--libs/math/doc/equations/fraction4.svg2
-rw-r--r--libs/math/doc/equations/gamm1.mml (renamed from libs/math/doc/sf_and_dist/equations/gamm1.mml)0
-rw-r--r--libs/math/doc/equations/gamm1.png (renamed from libs/math/doc/sf_and_dist/equations/gamm1.png)bin3877 -> 3877 bytes
-rw-r--r--libs/math/doc/equations/gamm1.svg2
-rw-r--r--libs/math/doc/equations/gamm2.mml (renamed from libs/math/doc/sf_and_dist/equations/gamm2.mml)0
-rw-r--r--libs/math/doc/equations/gamm2.png (renamed from libs/math/doc/sf_and_dist/equations/gamm2.png)bin11688 -> 11688 bytes
-rw-r--r--libs/math/doc/equations/gamm2.svg2
-rw-r--r--libs/math/doc/equations/gamm3.mml (renamed from libs/math/doc/sf_and_dist/equations/gamm3.mml)0
-rw-r--r--libs/math/doc/equations/gamm3.png (renamed from libs/math/doc/sf_and_dist/equations/gamm3.png)bin1839 -> 1839 bytes
-rw-r--r--libs/math/doc/equations/gamm3.svg2
-rw-r--r--libs/math/doc/equations/gamm4.mml (renamed from libs/math/doc/sf_and_dist/equations/gamm4.mml)0
-rw-r--r--libs/math/doc/equations/gamm4.png (renamed from libs/math/doc/sf_and_dist/equations/gamm4.png)bin1951 -> 1951 bytes
-rw-r--r--libs/math/doc/equations/gamm4.svg2
-rw-r--r--libs/math/doc/equations/gamm5.mml (renamed from libs/math/doc/sf_and_dist/equations/gamm5.mml)0
-rw-r--r--libs/math/doc/equations/gamm5.png (renamed from libs/math/doc/sf_and_dist/equations/gamm5.png)bin2637 -> 2637 bytes
-rw-r--r--libs/math/doc/equations/gamm5.svg2
-rw-r--r--libs/math/doc/equations/gamma6.mml113
-rw-r--r--libs/math/doc/equations/gamma6.pngbin0 -> 5988 bytes
-rw-r--r--libs/math/doc/equations/gamma6.svg2
-rw-r--r--libs/math/doc/equations/gamma_dist_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.mml)0
-rw-r--r--libs/math/doc/equations/gamma_dist_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.png)bin3515 -> 3515 bytes
-rw-r--r--libs/math/doc/equations/gamma_dist_ref1.svg2
-rw-r--r--libs/math/doc/equations/gamma_dist_ref2.mml (renamed from libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.mml)0
-rw-r--r--libs/math/doc/equations/gamma_dist_ref2.png (renamed from libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.png)bin3541 -> 3541 bytes
-rw-r--r--libs/math/doc/equations/gamma_dist_ref2.svg2
-rw-r--r--libs/math/doc/equations/gamma_ratio0.mml (renamed from libs/math/doc/sf_and_dist/equations/gamma_ratio0.mml)0
-rw-r--r--libs/math/doc/equations/gamma_ratio0.png (renamed from libs/math/doc/sf_and_dist/equations/gamma_ratio0.png)bin4024 -> 4024 bytes
-rw-r--r--libs/math/doc/equations/gamma_ratio0.svg2
-rw-r--r--libs/math/doc/equations/gamma_ratio1.mml (renamed from libs/math/doc/sf_and_dist/equations/gamma_ratio1.mml)0
-rw-r--r--libs/math/doc/equations/gamma_ratio1.png (renamed from libs/math/doc/sf_and_dist/equations/gamma_ratio1.png)bin5921 -> 5921 bytes
-rw-r--r--libs/math/doc/equations/gamma_ratio1.svg2
-rwxr-xr-xlibs/math/doc/equations/generate.sh32
-rw-r--r--libs/math/doc/equations/hankel1.mml (renamed from libs/math/doc/sf_and_dist/equations/hankel1.mml)0
-rw-r--r--libs/math/doc/equations/hankel1.png (renamed from libs/math/doc/sf_and_dist/equations/hankel1.png)bin2430 -> 2430 bytes
-rw-r--r--libs/math/doc/equations/hankel1.svg2
-rw-r--r--libs/math/doc/equations/hankel2.mml (renamed from libs/math/doc/sf_and_dist/equations/hankel2.mml)0
-rw-r--r--libs/math/doc/equations/hankel2.png (renamed from libs/math/doc/sf_and_dist/equations/hankel2.png)bin6337 -> 6337 bytes
-rw-r--r--libs/math/doc/equations/hankel2.svg2
-rw-r--r--libs/math/doc/equations/hankel3.mml (renamed from libs/math/doc/sf_and_dist/equations/hankel3.mml)0
-rw-r--r--libs/math/doc/equations/hankel3.png (renamed from libs/math/doc/sf_and_dist/equations/hankel3.png)bin6238 -> 6238 bytes
-rw-r--r--libs/math/doc/equations/hankel3.svg2
-rw-r--r--libs/math/doc/equations/hankel4.mml (renamed from libs/math/doc/sf_and_dist/equations/hankel4.mml)0
-rw-r--r--libs/math/doc/equations/hankel4.png (renamed from libs/math/doc/sf_and_dist/equations/hankel4.png)bin3745 -> 3745 bytes
-rw-r--r--libs/math/doc/equations/hankel4.svg2
-rw-r--r--libs/math/doc/equations/hankel5.mml (renamed from libs/math/doc/sf_and_dist/equations/hankel5.mml)0
-rw-r--r--libs/math/doc/equations/hankel5.png (renamed from libs/math/doc/sf_and_dist/equations/hankel5.png)bin3839 -> 3839 bytes
-rw-r--r--libs/math/doc/equations/hankel5.svg2
-rw-r--r--libs/math/doc/equations/hazard.mml (renamed from libs/math/doc/sf_and_dist/equations/hazard.mml)0
-rw-r--r--libs/math/doc/equations/hazard.png (renamed from libs/math/doc/sf_and_dist/equations/hazard.png)bin4445 -> 4445 bytes
-rw-r--r--libs/math/doc/equations/hazard.svg2
-rw-r--r--libs/math/doc/equations/hermite_0.mml (renamed from libs/math/doc/sf_and_dist/equations/hermite_0.mml)0
-rw-r--r--libs/math/doc/equations/hermite_0.png (renamed from libs/math/doc/sf_and_dist/equations/hermite_0.png)bin4761 -> 4761 bytes
-rw-r--r--libs/math/doc/equations/hermite_0.svg2
-rw-r--r--libs/math/doc/equations/hermite_1.mml (renamed from libs/math/doc/sf_and_dist/equations/hermite_1.mml)0
-rw-r--r--libs/math/doc/equations/hermite_1.png (renamed from libs/math/doc/sf_and_dist/equations/hermite_1.png)bin3376 -> 3376 bytes
-rw-r--r--libs/math/doc/equations/hermite_1.svg2
-rw-r--r--libs/math/doc/equations/hyperexponential_ccdf.mml27
-rw-r--r--libs/math/doc/equations/hyperexponential_ccdf.pngbin0 -> 1781 bytes
-rw-r--r--libs/math/doc/equations/hyperexponential_ccdf.svg2
-rw-r--r--libs/math/doc/equations/hyperexponential_cdf.mml29
-rw-r--r--libs/math/doc/equations/hyperexponential_cdf.pngbin0 -> 1964 bytes
-rw-r--r--libs/math/doc/equations/hyperexponential_cdf.svg2
-rw-r--r--libs/math/doc/equations/hyperexponential_kurtosis.mml282
-rw-r--r--libs/math/doc/equations/hyperexponential_kurtosis.pngbin0 -> 20745 bytes
-rw-r--r--libs/math/doc/equations/hyperexponential_kurtosis.svg2
-rw-r--r--libs/math/doc/equations/hyperexponential_mean.mml22
-rw-r--r--libs/math/doc/equations/hyperexponential_mean.pngbin0 -> 1699 bytes
-rw-r--r--libs/math/doc/equations/hyperexponential_mean.svg2
-rw-r--r--libs/math/doc/equations/hyperexponential_pdf.mml31
-rw-r--r--libs/math/doc/equations/hyperexponential_pdf.pngbin0 -> 2000 bytes
-rw-r--r--libs/math/doc/equations/hyperexponential_pdf.svg2
-rw-r--r--libs/math/doc/equations/hyperexponential_skewness.mml230
-rw-r--r--libs/math/doc/equations/hyperexponential_skewness.pngbin0 -> 16635 bytes
-rw-r--r--libs/math/doc/equations/hyperexponential_skewness.svg2
-rw-r--r--libs/math/doc/equations/hyperexponential_variance.mml59
-rw-r--r--libs/math/doc/equations/hyperexponential_variance.pngbin0 -> 4840 bytes
-rw-r--r--libs/math/doc/equations/hyperexponential_variance.svg2
-rw-r--r--libs/math/doc/equations/hypergeometric1.mml (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric1.mml)0
-rw-r--r--libs/math/doc/equations/hypergeometric1.png (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric1.png)bin11071 -> 11071 bytes
-rw-r--r--libs/math/doc/equations/hypergeometric1.svg2
-rw-r--r--libs/math/doc/equations/hypergeometric2.mml (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric2.mml)0
-rw-r--r--libs/math/doc/equations/hypergeometric2.png (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric2.png)bin2225 -> 2225 bytes
-rw-r--r--libs/math/doc/equations/hypergeometric2.svg2
-rw-r--r--libs/math/doc/equations/hypergeometric3.mml (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric3.mml)0
-rw-r--r--libs/math/doc/equations/hypergeometric3.png (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric3.png)bin4652 -> 4652 bytes
-rw-r--r--libs/math/doc/equations/hypergeometric3.svg2
-rw-r--r--libs/math/doc/equations/hypergeometric4.mml (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric4.mml)0
-rw-r--r--libs/math/doc/equations/hypergeometric4.png (renamed from libs/math/doc/sf_and_dist/equations/hypergeometric4.png)bin3381 -> 3381 bytes
-rw-r--r--libs/math/doc/equations/hypergeometric4.svg2
-rw-r--r--libs/math/doc/equations/hypergeometric5.mml161
-rw-r--r--libs/math/doc/equations/hypergeometric5.pngbin0 -> 10727 bytes
-rw-r--r--libs/math/doc/equations/hypergeometric5.svg2
-rw-r--r--libs/math/doc/equations/hypergeometric6.mml303
-rw-r--r--libs/math/doc/equations/hypergeometric6.pngbin0 -> 22979 bytes
-rw-r--r--libs/math/doc/equations/hypergeometric6.svg2
-rw-r--r--libs/math/doc/equations/hypot.mml (renamed from libs/math/doc/sf_and_dist/equations/hypot.mml)0
-rw-r--r--libs/math/doc/equations/hypot.png (renamed from libs/math/doc/sf_and_dist/equations/hypot.png)bin2636 -> 2636 bytes
-rw-r--r--libs/math/doc/equations/hypot.svg2
-rw-r--r--libs/math/doc/equations/hypot2.mml (renamed from libs/math/doc/sf_and_dist/equations/hypot2.mml)0
-rw-r--r--libs/math/doc/equations/hypot2.png (renamed from libs/math/doc/sf_and_dist/equations/hypot2.png)bin3394 -> 3394 bytes
-rw-r--r--libs/math/doc/equations/hypot2.svg2
-rw-r--r--libs/math/doc/equations/ibeta1.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta1.mml)0
-rw-r--r--libs/math/doc/equations/ibeta1.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta1.png)bin4762 -> 4762 bytes
-rw-r--r--libs/math/doc/equations/ibeta1.svg2
-rw-r--r--libs/math/doc/equations/ibeta10.mml202
-rw-r--r--libs/math/doc/equations/ibeta10.pngbin0 -> 11680 bytes
-rw-r--r--libs/math/doc/equations/ibeta10.svg2
-rw-r--r--libs/math/doc/equations/ibeta11.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta11.mml)0
-rw-r--r--libs/math/doc/equations/ibeta11.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta11.png)bin9068 -> 9068 bytes
-rw-r--r--libs/math/doc/equations/ibeta11.svg2
-rw-r--r--libs/math/doc/equations/ibeta12.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta12.mml)0
-rw-r--r--libs/math/doc/equations/ibeta12.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta12.png)bin6527 -> 6527 bytes
-rw-r--r--libs/math/doc/equations/ibeta12.svg2
-rw-r--r--libs/math/doc/equations/ibeta2.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta2.mml)0
-rw-r--r--libs/math/doc/equations/ibeta2.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta2.png)bin4127 -> 4127 bytes
-rw-r--r--libs/math/doc/equations/ibeta2.svg2
-rw-r--r--libs/math/doc/equations/ibeta3.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta3.mml)0
-rw-r--r--libs/math/doc/equations/ibeta3.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta3.png)bin6583 -> 6583 bytes
-rw-r--r--libs/math/doc/equations/ibeta3.svg2
-rw-r--r--libs/math/doc/equations/ibeta4.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta4.mml)0
-rw-r--r--libs/math/doc/equations/ibeta4.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta4.png)bin3927 -> 3927 bytes
-rw-r--r--libs/math/doc/equations/ibeta4.svg2
-rw-r--r--libs/math/doc/equations/ibeta5.mml198
-rw-r--r--libs/math/doc/equations/ibeta5.pngbin0 -> 11151 bytes
-rw-r--r--libs/math/doc/equations/ibeta5.svg2
-rw-r--r--libs/math/doc/equations/ibeta6.mml265
-rw-r--r--libs/math/doc/equations/ibeta6.pngbin0 -> 15818 bytes
-rw-r--r--libs/math/doc/equations/ibeta6.svg2
-rw-r--r--libs/math/doc/equations/ibeta7.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta7.mml)0
-rw-r--r--libs/math/doc/equations/ibeta7.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta7.png)bin5808 -> 5808 bytes
-rw-r--r--libs/math/doc/equations/ibeta7.svg2
-rw-r--r--libs/math/doc/equations/ibeta8.mml281
-rw-r--r--libs/math/doc/equations/ibeta8.pngbin0 -> 16693 bytes
-rw-r--r--libs/math/doc/equations/ibeta8.svg2
-rw-r--r--libs/math/doc/equations/ibeta9.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta9.mml)0
-rw-r--r--libs/math/doc/equations/ibeta9.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta9.png)bin9288 -> 9288 bytes
-rw-r--r--libs/math/doc/equations/ibeta9.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv1.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv1.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv1.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv1.png)bin11974 -> 11974 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv1.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv2.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv2.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv2.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv2.png)bin2346 -> 2346 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv2.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv3.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv3.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv3.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv3.png)bin3291 -> 3291 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv3.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv4.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv4.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv4.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv4.png)bin3110 -> 3110 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv4.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv5.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv5.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv5.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv5.png)bin3556 -> 3556 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv5.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv6.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv6.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv6.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv6.png)bin3652 -> 3652 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv6.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv7.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv7.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv7.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv7.png)bin3984 -> 3984 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv7.svg2
-rw-r--r--libs/math/doc/equations/ibeta_inv8.mml (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv8.mml)0
-rw-r--r--libs/math/doc/equations/ibeta_inv8.png (renamed from libs/math/doc/sf_and_dist/equations/ibeta_inv8.png)bin2207 -> 2207 bytes
-rw-r--r--libs/math/doc/equations/ibeta_inv8.svg2
-rw-r--r--libs/math/doc/equations/igamma1.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma1.mml)0
-rw-r--r--libs/math/doc/equations/igamma1.png (renamed from libs/math/doc/sf_and_dist/equations/igamma1.png)bin4292 -> 4292 bytes
-rw-r--r--libs/math/doc/equations/igamma1.svg2
-rw-r--r--libs/math/doc/equations/igamma10.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma10.mml)0
-rw-r--r--libs/math/doc/equations/igamma10.png (renamed from libs/math/doc/sf_and_dist/equations/igamma10.png)bin4723 -> 4723 bytes
-rw-r--r--libs/math/doc/equations/igamma10.svg2
-rw-r--r--libs/math/doc/equations/igamma11.mml141
-rw-r--r--libs/math/doc/equations/igamma11.pngbin0 -> 11664 bytes
-rw-r--r--libs/math/doc/equations/igamma11.svg2
-rw-r--r--libs/math/doc/equations/igamma11b.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma11b.mml)0
-rw-r--r--libs/math/doc/equations/igamma11b.png (renamed from libs/math/doc/sf_and_dist/equations/igamma11b.png)bin9983 -> 9983 bytes
-rw-r--r--libs/math/doc/equations/igamma11b.svg2
-rw-r--r--libs/math/doc/equations/igamma12.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma12.mml)0
-rw-r--r--libs/math/doc/equations/igamma12.png (renamed from libs/math/doc/sf_and_dist/equations/igamma12.png)bin6156 -> 6156 bytes
-rw-r--r--libs/math/doc/equations/igamma12.svg2
-rw-r--r--libs/math/doc/equations/igamma13.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma13.mml)0
-rw-r--r--libs/math/doc/equations/igamma13.png (renamed from libs/math/doc/sf_and_dist/equations/igamma13.png)bin9723 -> 9723 bytes
-rw-r--r--libs/math/doc/equations/igamma13.svg2
-rw-r--r--libs/math/doc/equations/igamma16.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma16.mml)0
-rw-r--r--libs/math/doc/equations/igamma16.png (renamed from libs/math/doc/sf_and_dist/equations/igamma16.png)bin5353 -> 5353 bytes
-rw-r--r--libs/math/doc/equations/igamma16.svg2
-rw-r--r--libs/math/doc/equations/igamma17.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma17.mml)0
-rw-r--r--libs/math/doc/equations/igamma17.png (renamed from libs/math/doc/sf_and_dist/equations/igamma17.png)bin5400 -> 5400 bytes
-rw-r--r--libs/math/doc/equations/igamma17.svg2
-rw-r--r--libs/math/doc/equations/igamma18.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma18.mml)0
-rw-r--r--libs/math/doc/equations/igamma18.png (renamed from libs/math/doc/sf_and_dist/equations/igamma18.png)bin4594 -> 4594 bytes
-rw-r--r--libs/math/doc/equations/igamma18.svg2
-rw-r--r--libs/math/doc/equations/igamma19.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma19.mml)0
-rw-r--r--libs/math/doc/equations/igamma19.png (renamed from libs/math/doc/sf_and_dist/equations/igamma19.png)bin7544 -> 7544 bytes
-rw-r--r--libs/math/doc/equations/igamma19.svg2
-rw-r--r--libs/math/doc/equations/igamma1f.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma1f.mml)0
-rw-r--r--libs/math/doc/equations/igamma1f.png (renamed from libs/math/doc/sf_and_dist/equations/igamma1f.png)bin4202 -> 4202 bytes
-rw-r--r--libs/math/doc/equations/igamma1f.svg2
-rw-r--r--libs/math/doc/equations/igamma2.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma2.mml)0
-rw-r--r--libs/math/doc/equations/igamma2.png (renamed from libs/math/doc/sf_and_dist/equations/igamma2.png)bin5009 -> 5009 bytes
-rw-r--r--libs/math/doc/equations/igamma2.svg2
-rw-r--r--libs/math/doc/equations/igamma2f.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma2f.mml)0
-rw-r--r--libs/math/doc/equations/igamma2f.png (renamed from libs/math/doc/sf_and_dist/equations/igamma2f.png)bin8696 -> 8696 bytes
-rw-r--r--libs/math/doc/equations/igamma2f.svg2
-rw-r--r--libs/math/doc/equations/igamma3.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma3.mml)0
-rw-r--r--libs/math/doc/equations/igamma3.png (renamed from libs/math/doc/sf_and_dist/equations/igamma3.png)bin7444 -> 7444 bytes
-rw-r--r--libs/math/doc/equations/igamma3.svg2
-rw-r--r--libs/math/doc/equations/igamma4.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma4.mml)0
-rw-r--r--libs/math/doc/equations/igamma4.png (renamed from libs/math/doc/sf_and_dist/equations/igamma4.png)bin7370 -> 7370 bytes
-rw-r--r--libs/math/doc/equations/igamma4.svg2
-rw-r--r--libs/math/doc/equations/igamma5.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma5.mml)0
-rw-r--r--libs/math/doc/equations/igamma5.png (renamed from libs/math/doc/sf_and_dist/equations/igamma5.png)bin2241 -> 2241 bytes
-rw-r--r--libs/math/doc/equations/igamma5.svg2
-rw-r--r--libs/math/doc/equations/igamma6.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma6.mml)0
-rw-r--r--libs/math/doc/equations/igamma6.png (renamed from libs/math/doc/sf_and_dist/equations/igamma6.png)bin2483 -> 2483 bytes
-rw-r--r--libs/math/doc/equations/igamma6.svg2
-rw-r--r--libs/math/doc/equations/igamma7.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma7.mml)0
-rw-r--r--libs/math/doc/equations/igamma7.png (renamed from libs/math/doc/sf_and_dist/equations/igamma7.png)bin5344 -> 5344 bytes
-rw-r--r--libs/math/doc/equations/igamma7.svg2
-rw-r--r--libs/math/doc/equations/igamma8.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma8.mml)0
-rw-r--r--libs/math/doc/equations/igamma8.png (renamed from libs/math/doc/sf_and_dist/equations/igamma8.png)bin7622 -> 7622 bytes
-rw-r--r--libs/math/doc/equations/igamma8.svg2
-rw-r--r--libs/math/doc/equations/igamma9.mml (renamed from libs/math/doc/sf_and_dist/equations/igamma9.mml)0
-rw-r--r--libs/math/doc/equations/igamma9.png (renamed from libs/math/doc/sf_and_dist/equations/igamma9.png)bin7085 -> 7085 bytes
-rw-r--r--libs/math/doc/equations/igamma9.svg2
-rw-r--r--libs/math/doc/equations/jacobi1.mml51
-rw-r--r--libs/math/doc/equations/jacobi1.pngbin0 -> 3736 bytes
-rw-r--r--libs/math/doc/equations/jacobi1.svg2
-rw-r--r--libs/math/doc/equations/jacobi2.mml92
-rw-r--r--libs/math/doc/equations/jacobi2.pngbin0 -> 6592 bytes
-rw-r--r--libs/math/doc/equations/jacobi2.svg2
-rw-r--r--libs/math/doc/equations/jacobi3.mml135
-rw-r--r--libs/math/doc/equations/jacobi3.pngbin0 -> 6492 bytes
-rw-r--r--libs/math/doc/equations/jacobi3.svg2
-rw-r--r--libs/math/doc/equations/jacobi4.mml170
-rw-r--r--libs/math/doc/equations/jacobi4.pngbin0 -> 13466 bytes
-rw-r--r--libs/math/doc/equations/jacobi4.svg2
-rw-r--r--libs/math/doc/equations/laguerre_0.mml (renamed from libs/math/doc/sf_and_dist/equations/laguerre_0.mml)0
-rw-r--r--libs/math/doc/equations/laguerre_0.png (renamed from libs/math/doc/sf_and_dist/equations/laguerre_0.png)bin4958 -> 4958 bytes
-rw-r--r--libs/math/doc/equations/laguerre_0.svg2
-rw-r--r--libs/math/doc/equations/laguerre_1.mml (renamed from libs/math/doc/sf_and_dist/equations/laguerre_1.mml)0
-rw-r--r--libs/math/doc/equations/laguerre_1.png (renamed from libs/math/doc/sf_and_dist/equations/laguerre_1.png)bin5445 -> 5445 bytes
-rw-r--r--libs/math/doc/equations/laguerre_1.svg2
-rw-r--r--libs/math/doc/equations/laguerre_2.mml (renamed from libs/math/doc/sf_and_dist/equations/laguerre_2.mml)0
-rw-r--r--libs/math/doc/equations/laguerre_2.png (renamed from libs/math/doc/sf_and_dist/equations/laguerre_2.png)bin4697 -> 4697 bytes
-rw-r--r--libs/math/doc/equations/laguerre_2.svg2
-rw-r--r--libs/math/doc/equations/laguerre_3.mml (renamed from libs/math/doc/sf_and_dist/equations/laguerre_3.mml)0
-rw-r--r--libs/math/doc/equations/laguerre_3.png (renamed from libs/math/doc/sf_and_dist/equations/laguerre_3.png)bin5447 -> 5447 bytes
-rw-r--r--libs/math/doc/equations/laguerre_3.svg2
-rw-r--r--libs/math/doc/equations/lanczos0.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos0.mml)0
-rw-r--r--libs/math/doc/equations/lanczos0.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos0.png)bin4953 -> 4953 bytes
-rw-r--r--libs/math/doc/equations/lanczos0.svg2
-rw-r--r--libs/math/doc/equations/lanczos0a.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos0a.mml)0
-rw-r--r--libs/math/doc/equations/lanczos0a.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos0a.png)bin5264 -> 5264 bytes
-rw-r--r--libs/math/doc/equations/lanczos0a.svg2
-rw-r--r--libs/math/doc/equations/lanczos0b.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos0b.mml)0
-rw-r--r--libs/math/doc/equations/lanczos0b.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos0b.png)bin8883 -> 8883 bytes
-rw-r--r--libs/math/doc/equations/lanczos0b.svg2
-rw-r--r--libs/math/doc/equations/lanczos1.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos1.mml)0
-rw-r--r--libs/math/doc/equations/lanczos1.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos1.png)bin4125 -> 4125 bytes
-rw-r--r--libs/math/doc/equations/lanczos1.svg2
-rw-r--r--libs/math/doc/equations/lanczos2.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos2.mml)0
-rw-r--r--libs/math/doc/equations/lanczos2.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos2.png)bin3702 -> 3702 bytes
-rw-r--r--libs/math/doc/equations/lanczos2.svg2
-rw-r--r--libs/math/doc/equations/lanczos3.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos3.mml)0
-rw-r--r--libs/math/doc/equations/lanczos3.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos3.png)bin7494 -> 7494 bytes
-rw-r--r--libs/math/doc/equations/lanczos3.svg2
-rw-r--r--libs/math/doc/equations/lanczos4.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos4.mml)0
-rw-r--r--libs/math/doc/equations/lanczos4.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos4.png)bin7736 -> 7736 bytes
-rw-r--r--libs/math/doc/equations/lanczos4.svg2
-rw-r--r--libs/math/doc/equations/lanczos5.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos5.mml)0
-rw-r--r--libs/math/doc/equations/lanczos5.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos5.png)bin9917 -> 9917 bytes
-rw-r--r--libs/math/doc/equations/lanczos5.svg2
-rw-r--r--libs/math/doc/equations/lanczos6.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos6.mml)0
-rw-r--r--libs/math/doc/equations/lanczos6.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos6.png)bin4329 -> 4329 bytes
-rw-r--r--libs/math/doc/equations/lanczos6.svg2
-rw-r--r--libs/math/doc/equations/lanczos7.mml (renamed from libs/math/doc/sf_and_dist/equations/lanczos7.mml)0
-rw-r--r--libs/math/doc/equations/lanczos7.png (renamed from libs/math/doc/sf_and_dist/equations/lanczos7.png)bin3993 -> 3993 bytes
-rw-r--r--libs/math/doc/equations/lanczos7.svg2
-rw-r--r--libs/math/doc/equations/laplace_pdf.mml (renamed from libs/math/doc/sf_and_dist/equations/laplace_pdf.mml)0
-rw-r--r--libs/math/doc/equations/laplace_pdf.png (renamed from libs/math/doc/sf_and_dist/equations/laplace_pdf.png)bin2589 -> 2589 bytes
-rw-r--r--libs/math/doc/equations/laplace_pdf.svg2
-rw-r--r--libs/math/doc/equations/legendre_0.mml (renamed from libs/math/doc/sf_and_dist/equations/legendre_0.mml)0
-rw-r--r--libs/math/doc/equations/legendre_0.png (renamed from libs/math/doc/sf_and_dist/equations/legendre_0.png)bin6155 -> 6155 bytes
-rw-r--r--libs/math/doc/equations/legendre_0.svg2
-rw-r--r--libs/math/doc/equations/legendre_1.mml (renamed from libs/math/doc/sf_and_dist/equations/legendre_1.mml)0
-rw-r--r--libs/math/doc/equations/legendre_1.png (renamed from libs/math/doc/sf_and_dist/equations/legendre_1.png)bin6935 -> 6935 bytes
-rw-r--r--libs/math/doc/equations/legendre_1.svg2
-rw-r--r--libs/math/doc/equations/legendre_1b.mml (renamed from libs/math/doc/sf_and_dist/equations/legendre_1b.mml)0
-rw-r--r--libs/math/doc/equations/legendre_1b.png (renamed from libs/math/doc/sf_and_dist/equations/legendre_1b.png)bin6371 -> 6371 bytes
-rw-r--r--libs/math/doc/equations/legendre_1b.svg2
-rw-r--r--libs/math/doc/equations/legendre_2.mml118
-rw-r--r--libs/math/doc/equations/legendre_2.pngbin0 -> 8800 bytes
-rw-r--r--libs/math/doc/equations/legendre_2.svg2
-rw-r--r--libs/math/doc/equations/legendre_3.mml117
-rw-r--r--libs/math/doc/equations/legendre_3.pngbin0 -> 5787 bytes
-rw-r--r--libs/math/doc/equations/legendre_3.svg2
-rw-r--r--libs/math/doc/equations/legendre_4.mml (renamed from libs/math/doc/sf_and_dist/equations/legendre_4.mml)0
-rw-r--r--libs/math/doc/equations/legendre_4.png (renamed from libs/math/doc/sf_and_dist/equations/legendre_4.png)bin4399 -> 4399 bytes
-rw-r--r--libs/math/doc/equations/legendre_4.svg2
-rw-r--r--libs/math/doc/equations/legendre_5.mml (renamed from libs/math/doc/sf_and_dist/equations/legendre_5.mml)0
-rw-r--r--libs/math/doc/equations/legendre_5.png (renamed from libs/math/doc/sf_and_dist/equations/legendre_5.png)bin5954 -> 5954 bytes
-rw-r--r--libs/math/doc/equations/legendre_5.svg2
-rw-r--r--libs/math/doc/equations/lgamm1.mml (renamed from libs/math/doc/sf_and_dist/equations/lgamm1.mml)0
-rw-r--r--libs/math/doc/equations/lgamm1.png (renamed from libs/math/doc/sf_and_dist/equations/lgamm1.png)bin2386 -> 2386 bytes
-rw-r--r--libs/math/doc/equations/lgamm1.svg2
-rw-r--r--libs/math/doc/equations/lgamm2.mml (renamed from libs/math/doc/sf_and_dist/equations/lgamm2.mml)0
-rw-r--r--libs/math/doc/equations/lgamm2.png (renamed from libs/math/doc/sf_and_dist/equations/lgamm2.png)bin11223 -> 11223 bytes
-rw-r--r--libs/math/doc/equations/lgamm2.svg2
-rw-r--r--libs/math/doc/equations/lgamm3.mml (renamed from libs/math/doc/sf_and_dist/equations/lgamm3.mml)0
-rw-r--r--libs/math/doc/equations/lgamm3.png (renamed from libs/math/doc/sf_and_dist/equations/lgamm3.png)bin4373 -> 4373 bytes
-rw-r--r--libs/math/doc/equations/lgamm3.svg2
-rw-r--r--libs/math/doc/equations/lgamm4.mml (renamed from libs/math/doc/sf_and_dist/equations/lgamm4.mml)0
-rw-r--r--libs/math/doc/equations/lgamm4.png (renamed from libs/math/doc/sf_and_dist/equations/lgamm4.png)bin5640 -> 5640 bytes
-rw-r--r--libs/math/doc/equations/lgamm4.svg2
-rw-r--r--libs/math/doc/equations/lgamm5.mml171
-rw-r--r--libs/math/doc/equations/lgamm5.pngbin0 -> 12374 bytes
-rw-r--r--libs/math/doc/equations/lgamm5.svg2
-rw-r--r--libs/math/doc/equations/lgamm6.mml180
-rw-r--r--libs/math/doc/equations/lgamm6.pngbin0 -> 12729 bytes
-rw-r--r--libs/math/doc/equations/lgamm6.svg2
-rw-r--r--libs/math/doc/equations/log1pseries.mml (renamed from libs/math/doc/sf_and_dist/equations/log1pseries.mml)0
-rw-r--r--libs/math/doc/equations/log1pseries.png (renamed from libs/math/doc/sf_and_dist/equations/log1pseries.png)bin3795 -> 3795 bytes
-rw-r--r--libs/math/doc/equations/log1pseries.svg2
-rw-r--r--libs/math/doc/equations/lognormal_ref.mml (renamed from libs/math/doc/sf_and_dist/equations/lognormal_ref.mml)0
-rw-r--r--libs/math/doc/equations/lognormal_ref.png (renamed from libs/math/doc/sf_and_dist/equations/lognormal_ref.png)bin3244 -> 3244 bytes
-rw-r--r--libs/math/doc/equations/lognormal_ref.svg2
-rw-r--r--libs/math/doc/equations/mbessel1.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel1.mml)0
-rw-r--r--libs/math/doc/equations/mbessel1.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel1.png)bin3843 -> 3843 bytes
-rw-r--r--libs/math/doc/equations/mbessel1.svg2
-rw-r--r--libs/math/doc/equations/mbessel10.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel10.mml)0
-rw-r--r--libs/math/doc/equations/mbessel10.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel10.png)bin1688 -> 1688 bytes
-rw-r--r--libs/math/doc/equations/mbessel10.svg2
-rw-r--r--libs/math/doc/equations/mbessel11.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel11.mml)0
-rw-r--r--libs/math/doc/equations/mbessel11.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel11.png)bin3865 -> 3865 bytes
-rw-r--r--libs/math/doc/equations/mbessel11.svg2
-rw-r--r--libs/math/doc/equations/mbessel12.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel12.mml)0
-rw-r--r--libs/math/doc/equations/mbessel12.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel12.png)bin6634 -> 6634 bytes
-rw-r--r--libs/math/doc/equations/mbessel12.svg2
-rw-r--r--libs/math/doc/equations/mbessel13.mml162
-rw-r--r--libs/math/doc/equations/mbessel13.pngbin0 -> 6159 bytes
-rw-r--r--libs/math/doc/equations/mbessel13.svg2
-rw-r--r--libs/math/doc/equations/mbessel14.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel14.mml)0
-rw-r--r--libs/math/doc/equations/mbessel14.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel14.png)bin2366 -> 2366 bytes
-rw-r--r--libs/math/doc/equations/mbessel14.svg2
-rw-r--r--libs/math/doc/equations/mbessel15.mml116
-rw-r--r--libs/math/doc/equations/mbessel15.pngbin0 -> 4327 bytes
-rw-r--r--libs/math/doc/equations/mbessel15.svg2
-rw-r--r--libs/math/doc/equations/mbessel16.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel16.mml)0
-rw-r--r--libs/math/doc/equations/mbessel16.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel16.png)bin2195 -> 2195 bytes
-rw-r--r--libs/math/doc/equations/mbessel16.svg2
-rw-r--r--libs/math/doc/equations/mbessel17.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel17.mml)0
-rw-r--r--libs/math/doc/equations/mbessel17.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel17.png)bin4897 -> 4897 bytes
-rw-r--r--libs/math/doc/equations/mbessel17.svg2
-rw-r--r--libs/math/doc/equations/mbessel2.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel2.mml)0
-rw-r--r--libs/math/doc/equations/mbessel2.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel2.png)bin5449 -> 5449 bytes
-rw-r--r--libs/math/doc/equations/mbessel2.svg2
-rw-r--r--libs/math/doc/equations/mbessel3.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel3.mml)0
-rw-r--r--libs/math/doc/equations/mbessel3.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel3.png)bin3657 -> 3657 bytes
-rw-r--r--libs/math/doc/equations/mbessel3.svg2
-rw-r--r--libs/math/doc/equations/mbessel4.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel4.mml)0
-rw-r--r--libs/math/doc/equations/mbessel4.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel4.png)bin2950 -> 2950 bytes
-rw-r--r--libs/math/doc/equations/mbessel4.svg2
-rw-r--r--libs/math/doc/equations/mbessel5.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel5.mml)0
-rw-r--r--libs/math/doc/equations/mbessel5.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel5.png)bin3290 -> 3290 bytes
-rw-r--r--libs/math/doc/equations/mbessel5.svg2
-rw-r--r--libs/math/doc/equations/mbessel6.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel6.mml)0
-rw-r--r--libs/math/doc/equations/mbessel6.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel6.png)bin2567 -> 2567 bytes
-rw-r--r--libs/math/doc/equations/mbessel6.svg2
-rw-r--r--libs/math/doc/equations/mbessel7.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel7.mml)0
-rw-r--r--libs/math/doc/equations/mbessel7.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel7.png)bin2860 -> 2860 bytes
-rw-r--r--libs/math/doc/equations/mbessel7.svg2
-rw-r--r--libs/math/doc/equations/mbessel8.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel8.mml)0
-rw-r--r--libs/math/doc/equations/mbessel8.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel8.png)bin6712 -> 6712 bytes
-rw-r--r--libs/math/doc/equations/mbessel8.svg2
-rw-r--r--libs/math/doc/equations/mbessel9.mml (renamed from libs/math/doc/sf_and_dist/equations/mbessel9.mml)0
-rw-r--r--libs/math/doc/equations/mbessel9.png (renamed from libs/math/doc/sf_and_dist/equations/mbessel9.png)bin3514 -> 3514 bytes
-rw-r--r--libs/math/doc/equations/mbessel9.svg2
-rw-r--r--libs/math/doc/equations/nc_beta_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_beta_ref1.mml)0
-rw-r--r--libs/math/doc/equations/nc_beta_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/nc_beta_ref1.png)bin5188 -> 5188 bytes
-rw-r--r--libs/math/doc/equations/nc_beta_ref1.svg2
-rw-r--r--libs/math/doc/equations/nc_beta_ref2.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_beta_ref2.mml)0
-rw-r--r--libs/math/doc/equations/nc_beta_ref2.png (renamed from libs/math/doc/sf_and_dist/equations/nc_beta_ref2.png)bin5200 -> 5200 bytes
-rw-r--r--libs/math/doc/equations/nc_beta_ref2.svg2
-rw-r--r--libs/math/doc/equations/nc_beta_ref3.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_beta_ref3.mml)0
-rw-r--r--libs/math/doc/equations/nc_beta_ref3.png (renamed from libs/math/doc/sf_and_dist/equations/nc_beta_ref3.png)bin5372 -> 5372 bytes
-rw-r--r--libs/math/doc/equations/nc_beta_ref3.svg2
-rw-r--r--libs/math/doc/equations/nc_beta_ref4.mml130
-rw-r--r--libs/math/doc/equations/nc_beta_ref4.pngbin0 -> 9956 bytes
-rw-r--r--libs/math/doc/equations/nc_beta_ref4.svg2
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.mml)0
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.png)bin2314 -> 2314 bytes
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref1.svg2
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref2.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.mml)0
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref2.png (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.png)bin2662 -> 2662 bytes
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref2.svg2
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref3.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.mml)0
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref3.png (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.png)bin10753 -> 10753 bytes
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref3.svg2
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref4.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.mml)0
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref4.png (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.png)bin9519 -> 9519 bytes
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref4.svg2
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref5.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.mml)0
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref5.png (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.png)bin5881 -> 5881 bytes
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref5.svg2
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref6.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.mml)0
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref6.png (renamed from libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.png)bin6165 -> 6165 bytes
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref6.svg2
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref7.mml86
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref7.pngbin0 -> 6737 bytes
-rw-r--r--libs/math/doc/equations/nc_chi_squ_ref7.svg2
-rw-r--r--libs/math/doc/equations/nc_f_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_f_ref1.mml)0
-rw-r--r--libs/math/doc/equations/nc_f_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/nc_f_ref1.png)bin16235 -> 16235 bytes
-rw-r--r--libs/math/doc/equations/nc_f_ref1.svg2
-rw-r--r--libs/math/doc/equations/nc_f_ref2.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_f_ref2.mml)0
-rw-r--r--libs/math/doc/equations/nc_f_ref2.png (renamed from libs/math/doc/sf_and_dist/equations/nc_f_ref2.png)bin12705 -> 12705 bytes
-rw-r--r--libs/math/doc/equations/nc_f_ref2.svg2
-rw-r--r--libs/math/doc/equations/nc_t_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref1.mml)0
-rw-r--r--libs/math/doc/equations/nc_t_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref1.png)bin17474 -> 17474 bytes
-rw-r--r--libs/math/doc/equations/nc_t_ref1.svg2
-rw-r--r--libs/math/doc/equations/nc_t_ref2.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref2.mml)0
-rw-r--r--libs/math/doc/equations/nc_t_ref2.png (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref2.png)bin13473 -> 13473 bytes
-rw-r--r--libs/math/doc/equations/nc_t_ref2.svg2
-rw-r--r--libs/math/doc/equations/nc_t_ref3.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref3.mml)0
-rw-r--r--libs/math/doc/equations/nc_t_ref3.png (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref3.png)bin5733 -> 5733 bytes
-rw-r--r--libs/math/doc/equations/nc_t_ref3.svg2
-rw-r--r--libs/math/doc/equations/nc_t_ref4.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref4.mml)0
-rw-r--r--libs/math/doc/equations/nc_t_ref4.png (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref4.png)bin9341 -> 9341 bytes
-rw-r--r--libs/math/doc/equations/nc_t_ref4.svg2
-rw-r--r--libs/math/doc/equations/nc_t_ref5.mml (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref5.mml)0
-rw-r--r--libs/math/doc/equations/nc_t_ref5.png (renamed from libs/math/doc/sf_and_dist/equations/nc_t_ref5.png)bin8856 -> 8856 bytes
-rw-r--r--libs/math/doc/equations/nc_t_ref5.svg2
-rw-r--r--libs/math/doc/equations/neg_binomial_ref.mml (renamed from libs/math/doc/sf_and_dist/equations/neg_binomial_ref.mml)0
-rw-r--r--libs/math/doc/equations/neg_binomial_ref.png (renamed from libs/math/doc/sf_and_dist/equations/neg_binomial_ref.png)bin4327 -> 4327 bytes
-rw-r--r--libs/math/doc/equations/neg_binomial_ref.svg2
-rw-r--r--libs/math/doc/equations/normal01_cdf.mml (renamed from libs/math/doc/sf_and_dist/equations/normal01_cdf.mml)0
-rw-r--r--libs/math/doc/equations/normal01_cdf.png (renamed from libs/math/doc/sf_and_dist/equations/normal01_cdf.png)bin4959 -> 4959 bytes
-rw-r--r--libs/math/doc/equations/normal01_cdf.svg (renamed from libs/math/doc/sf_and_dist/equations/normal01_cdf.svg)0
-rw-r--r--libs/math/doc/equations/normal01_pdf.mml (renamed from libs/math/doc/sf_and_dist/equations/normal01_pdf.mml)0
-rw-r--r--libs/math/doc/equations/normal01_pdf.png (renamed from libs/math/doc/sf_and_dist/equations/normal01_pdf.png)bin2641 -> 2641 bytes
-rw-r--r--libs/math/doc/equations/normal01_pdf.svg (renamed from libs/math/doc/sf_and_dist/equations/normal01_pdf.svg)0
-rw-r--r--libs/math/doc/equations/normal_cdf.mml (renamed from libs/math/doc/sf_and_dist/equations/normal_cdf.mml)0
-rw-r--r--libs/math/doc/equations/normal_cdf.png (renamed from libs/math/doc/sf_and_dist/equations/normal_cdf.png)bin4085 -> 4085 bytes
-rw-r--r--libs/math/doc/equations/normal_cdf.svg (renamed from libs/math/doc/sf_and_dist/equations/normal_cdf.svg)0
-rw-r--r--libs/math/doc/equations/normal_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/normal_ref1.mml)0
-rw-r--r--libs/math/doc/equations/normal_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/normal_ref1.png)bin3488 -> 3488 bytes
-rw-r--r--libs/math/doc/equations/normal_ref1.svg2
-rw-r--r--libs/math/doc/equations/owens_t.mml (renamed from libs/math/doc/sf_and_dist/equations/owens_t.mml)0
-rw-r--r--libs/math/doc/equations/owens_t.png (renamed from libs/math/doc/sf_and_dist/equations/owens_t.png)bin8580 -> 8580 bytes
-rw-r--r--libs/math/doc/equations/owens_t.svg (renamed from libs/math/doc/sf_and_dist/equations/owens_t.svg)0
-rw-r--r--libs/math/doc/equations/poisson_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/poisson_ref1.mml)0
-rw-r--r--libs/math/doc/equations/poisson_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/poisson_ref1.png)bin2191 -> 2191 bytes
-rw-r--r--libs/math/doc/equations/poisson_ref1.svg2
-rw-r--r--libs/math/doc/equations/roots1.mml (renamed from libs/math/doc/sf_and_dist/equations/roots1.mml)0
-rw-r--r--libs/math/doc/equations/roots1.png (renamed from libs/math/doc/sf_and_dist/equations/roots1.png)bin2386 -> 2386 bytes
-rw-r--r--libs/math/doc/equations/roots1.svg2
-rw-r--r--libs/math/doc/equations/roots2.mml (renamed from libs/math/doc/sf_and_dist/equations/roots2.mml)0
-rw-r--r--libs/math/doc/equations/roots2.png (renamed from libs/math/doc/sf_and_dist/equations/roots2.png)bin5149 -> 5149 bytes
-rw-r--r--libs/math/doc/equations/roots2.svg2
-rw-r--r--libs/math/doc/equations/roots3.mml (renamed from libs/math/doc/sf_and_dist/equations/roots3.mml)0
-rw-r--r--libs/math/doc/equations/roots3.png (renamed from libs/math/doc/sf_and_dist/equations/roots3.png)bin5317 -> 5317 bytes
-rw-r--r--libs/math/doc/equations/roots3.svg2
-rw-r--r--libs/math/doc/equations/roots4.mml67
-rw-r--r--libs/math/doc/equations/roots4.pngbin0 -> 3864 bytes
-rw-r--r--libs/math/doc/equations/roots4.svg2
-rw-r--r--libs/math/doc/equations/sbessel1.mml (renamed from libs/math/doc/sf_and_dist/equations/sbessel1.mml)0
-rw-r--r--libs/math/doc/equations/sbessel1.png (renamed from libs/math/doc/sf_and_dist/equations/sbessel1.png)bin4402 -> 4402 bytes
-rw-r--r--libs/math/doc/equations/sbessel1.svg2
-rw-r--r--libs/math/doc/equations/sbessel2.mml144
-rw-r--r--libs/math/doc/equations/sbessel2.pngbin0 -> 5026 bytes
-rw-r--r--libs/math/doc/equations/sbessel2.svg2
-rw-r--r--libs/math/doc/equations/sbessel3.mml (renamed from libs/math/doc/sf_and_dist/equations/sbessel3.mml)0
-rw-r--r--libs/math/doc/equations/sbessel3.png (renamed from libs/math/doc/sf_and_dist/equations/sbessel3.png)bin4401 -> 4401 bytes
-rw-r--r--libs/math/doc/equations/sbessel3.svg2
-rw-r--r--libs/math/doc/equations/sbessel4.mml144
-rw-r--r--libs/math/doc/equations/sbessel4.pngbin0 -> 5085 bytes
-rw-r--r--libs/math/doc/equations/sbessel4.svg2
-rw-r--r--libs/math/doc/equations/sbessel5.mml (renamed from libs/math/doc/sf_and_dist/equations/sbessel5.mml)0
-rw-r--r--libs/math/doc/equations/sbessel5.png (renamed from libs/math/doc/sf_and_dist/equations/sbessel5.png)bin6227 -> 6227 bytes
-rw-r--r--libs/math/doc/equations/sbessel5.svg2
-rw-r--r--libs/math/doc/equations/skew_normal_cdf.mml (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_cdf.mml)0
-rw-r--r--libs/math/doc/equations/skew_normal_cdf.png (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_cdf.png)bin4342 -> 4342 bytes
-rw-r--r--libs/math/doc/equations/skew_normal_cdf.svg (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_cdf.svg)0
-rw-r--r--libs/math/doc/equations/skew_normal_kurt_ex.mml (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.mml)0
-rw-r--r--libs/math/doc/equations/skew_normal_kurt_ex.png (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.png)bin4091 -> 4091 bytes
-rw-r--r--libs/math/doc/equations/skew_normal_kurt_ex.svg (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.svg)0
-rw-r--r--libs/math/doc/equations/skew_normal_mean.mml (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_mean.mml)0
-rw-r--r--libs/math/doc/equations/skew_normal_mean.png (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_mean.png)bin4624 -> 4624 bytes
-rw-r--r--libs/math/doc/equations/skew_normal_mean.svg (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_mean.svg)0
-rw-r--r--libs/math/doc/equations/skew_normal_pdf.mml (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_pdf.mml)0
-rw-r--r--libs/math/doc/equations/skew_normal_pdf.png (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_pdf.png)bin6183 -> 6183 bytes
-rw-r--r--libs/math/doc/equations/skew_normal_pdf.svg (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_pdf.svg)0
-rw-r--r--libs/math/doc/equations/skew_normal_pdf0.mml (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.mml)0
-rw-r--r--libs/math/doc/equations/skew_normal_pdf0.png (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.png)bin2224 -> 2224 bytes
-rw-r--r--libs/math/doc/equations/skew_normal_pdf0.svg (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.svg)0
-rw-r--r--libs/math/doc/equations/skew_normal_skewness.mml (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_skewness.mml)0
-rw-r--r--libs/math/doc/equations/skew_normal_skewness.png (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_skewness.png)bin4578 -> 4578 bytes
-rw-r--r--libs/math/doc/equations/skew_normal_skewness.svg (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_skewness.svg)0
-rw-r--r--libs/math/doc/equations/skew_normal_variance.mml (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_variance.mml)0
-rw-r--r--libs/math/doc/equations/skew_normal_variance.png (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_variance.png)bin1881 -> 1881 bytes
-rw-r--r--libs/math/doc/equations/skew_normal_variance.svg (renamed from libs/math/doc/sf_and_dist/equations/skew_normal_variance.svg)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb1.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb1.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb1.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb1.png)bin2902 -> 2902 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb1.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb15.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb15.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb15.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb15.png)bin3071 -> 3071 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb15.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb17.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb17.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb17.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb17.png)bin3052 -> 3052 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb17.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb18.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb18.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb18.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb18.png)bin3097 -> 3097 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb18.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb20.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb20.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb20.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb20.png)bin2891 -> 2891 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb20.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb22.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb22.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb22.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb22.png)bin3169 -> 3169 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb22.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb5.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb5.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb5.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb5.png)bin3558 -> 3558 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb5.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb6.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb6.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb6.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb6.png)bin3425 -> 3425 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb6.svg2
-rw-r--r--libs/math/doc/equations/special_functions_blurb7.mml (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb7.mml)0
-rw-r--r--libs/math/doc/equations/special_functions_blurb7.png (renamed from libs/math/doc/sf_and_dist/equations/special_functions_blurb7.png)bin3364 -> 3364 bytes
-rw-r--r--libs/math/doc/equations/special_functions_blurb7.svg2
-rw-r--r--libs/math/doc/equations/spherical_0.mml (renamed from libs/math/doc/sf_and_dist/equations/spherical_0.mml)0
-rw-r--r--libs/math/doc/equations/spherical_0.png (renamed from libs/math/doc/sf_and_dist/equations/spherical_0.png)bin6547 -> 6547 bytes
-rw-r--r--libs/math/doc/equations/spherical_0.svg2
-rw-r--r--libs/math/doc/equations/spherical_1.mml (renamed from libs/math/doc/sf_and_dist/equations/spherical_1.mml)0
-rw-r--r--libs/math/doc/equations/spherical_1.png (renamed from libs/math/doc/sf_and_dist/equations/spherical_1.png)bin7814 -> 7814 bytes
-rw-r--r--libs/math/doc/equations/spherical_1.svg2
-rw-r--r--libs/math/doc/equations/spherical_2.mml (renamed from libs/math/doc/sf_and_dist/equations/spherical_2.mml)0
-rw-r--r--libs/math/doc/equations/spherical_2.png (renamed from libs/math/doc/sf_and_dist/equations/spherical_2.png)bin7719 -> 7719 bytes
-rw-r--r--libs/math/doc/equations/spherical_2.svg2
-rw-r--r--libs/math/doc/equations/spherical_3.mml (renamed from libs/math/doc/sf_and_dist/equations/spherical_3.mml)0
-rw-r--r--libs/math/doc/equations/spherical_3.png (renamed from libs/math/doc/sf_and_dist/equations/spherical_3.png)bin9239 -> 9239 bytes
-rw-r--r--libs/math/doc/equations/spherical_3.svg2
-rw-r--r--libs/math/doc/equations/students_t_dist.mml (renamed from libs/math/doc/sf_and_dist/equations/students_t_dist.mml)0
-rw-r--r--libs/math/doc/equations/students_t_dist.png (renamed from libs/math/doc/sf_and_dist/equations/students_t_dist.png)bin1498 -> 1498 bytes
-rw-r--r--libs/math/doc/equations/students_t_dist.svg2
-rw-r--r--libs/math/doc/equations/students_t_ref1.mml (renamed from libs/math/doc/sf_and_dist/equations/students_t_ref1.mml)0
-rw-r--r--libs/math/doc/equations/students_t_ref1.png (renamed from libs/math/doc/sf_and_dist/equations/students_t_ref1.png)bin4668 -> 4668 bytes
-rw-r--r--libs/math/doc/equations/students_t_ref1.svg2
-rw-r--r--libs/math/doc/equations/tangent_number_def.mml51
-rw-r--r--libs/math/doc/equations/tangent_number_def.pngbin0 -> 2310 bytes
-rw-r--r--libs/math/doc/equations/tangent_number_def.svg2
-rw-r--r--libs/math/doc/equations/tangent_number_def2.mml65
-rw-r--r--libs/math/doc/equations/tangent_number_def2.pngbin0 -> 2976 bytes
-rw-r--r--libs/math/doc/equations/tangent_number_def2.svg2
-rw-r--r--libs/math/doc/equations/tangent_numbers.mml57
-rw-r--r--libs/math/doc/equations/tangent_numbers.pngbin0 -> 3040 bytes
-rw-r--r--libs/math/doc/equations/tangent_numbers.svg2
-rw-r--r--libs/math/doc/equations/zeta1.mml (renamed from libs/math/doc/sf_and_dist/equations/zeta1.mml)0
-rw-r--r--libs/math/doc/equations/zeta1.png (renamed from libs/math/doc/sf_and_dist/equations/zeta1.png)bin2300 -> 2300 bytes
-rw-r--r--libs/math/doc/equations/zeta1.svg2
-rw-r--r--libs/math/doc/equations/zeta2.mml (renamed from libs/math/doc/sf_and_dist/equations/zeta2.mml)0
-rw-r--r--libs/math/doc/equations/zeta2.png (renamed from libs/math/doc/sf_and_dist/equations/zeta2.png)bin6287 -> 6287 bytes
-rw-r--r--libs/math/doc/equations/zeta2.svg2
-rw-r--r--libs/math/doc/equations/zeta3.mml (renamed from libs/math/doc/sf_and_dist/equations/zeta3.mml)0
-rw-r--r--libs/math/doc/equations/zeta3.png (renamed from libs/math/doc/sf_and_dist/equations/zeta3.png)bin4582 -> 4582 bytes
-rw-r--r--libs/math/doc/equations/zeta3.svg2
-rw-r--r--libs/math/doc/equations/zeta4.mml (renamed from libs/math/doc/sf_and_dist/equations/zeta4.mml)0
-rw-r--r--libs/math/doc/equations/zeta4.png (renamed from libs/math/doc/sf_and_dist/equations/zeta4.png)bin2439 -> 2439 bytes
-rw-r--r--libs/math/doc/equations/zeta4.svg2
-rw-r--r--libs/math/doc/equations/zeta5.mml (renamed from libs/math/doc/sf_and_dist/equations/zeta5.mml)0
-rw-r--r--libs/math/doc/equations/zeta5.png (renamed from libs/math/doc/sf_and_dist/equations/zeta5.png)bin2478 -> 2478 bytes
-rw-r--r--libs/math/doc/equations/zeta5.svg2
-rw-r--r--libs/math/doc/equations/zeta6.mml (renamed from libs/math/doc/sf_and_dist/equations/zeta6.mml)0
-rw-r--r--libs/math/doc/equations/zeta6.png (renamed from libs/math/doc/sf_and_dist/equations/zeta6.png)bin13637 -> 13637 bytes
-rw-r--r--libs/math/doc/equations/zeta6.svg2
-rw-r--r--libs/math/doc/fp_utilities/float_next.qbk207
-rw-r--r--libs/math/doc/fp_utilities/fp_facets.qbk567
-rw-r--r--libs/math/doc/fp_utilities/fpclassify.qbk124
-rw-r--r--libs/math/doc/fp_utilities/rounding_func.qbk (renamed from libs/math/doc/sf_and_dist/rounding_func.qbk)0
-rw-r--r--libs/math/doc/fp_utilities/sign.qbk137
-rw-r--r--libs/math/doc/gcd/Jamfile.v266
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html61
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html105
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html48
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html50
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html74
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html52
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html54
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html49
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html76
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html49
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html62
-rw-r--r--libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html68
-rw-r--r--libs/math/doc/gcd/html/index.html75
-rw-r--r--libs/math/doc/gcd/math-gcd.qbk160
-rw-r--r--libs/math/doc/graphs/Jamfile.v253
-rw-r--r--libs/math/doc/graphs/acosh.png (renamed from libs/math/doc/sf_and_dist/graphs/acosh.png)bin20242 -> 20242 bytes
-rw-r--r--libs/math/doc/graphs/acosh.svg64
-rw-r--r--libs/math/doc/graphs/airy_ai.pngbin0 -> 33690 bytes
-rw-r--r--libs/math/doc/graphs/airy_ai.svg65
-rw-r--r--libs/math/doc/graphs/airy_aip.pngbin0 -> 33021 bytes
-rw-r--r--libs/math/doc/graphs/airy_aip.svg60
-rw-r--r--libs/math/doc/graphs/airy_bi.pngbin0 -> 18018 bytes
-rw-r--r--libs/math/doc/graphs/airy_bi.svg58
-rw-r--r--libs/math/doc/graphs/airy_bip.pngbin0 -> 22406 bytes
-rw-r--r--libs/math/doc/graphs/airy_bip.svg60
-rw-r--r--libs/math/doc/graphs/airy_zeros.pngbin0 -> 39348 bytes
-rw-r--r--libs/math/doc/graphs/airy_zeros.svg75
-rw-r--r--libs/math/doc/graphs/asinh.png (renamed from libs/math/doc/sf_and_dist/graphs/asinh.png)bin17850 -> 17850 bytes
-rw-r--r--libs/math/doc/graphs/asinh.svg61
-rw-r--r--libs/math/doc/graphs/atanh.png (renamed from libs/math/doc/sf_and_dist/graphs/atanh.png)bin18493 -> 18493 bytes
-rw-r--r--libs/math/doc/graphs/atanh.svg65
-rw-r--r--libs/math/doc/graphs/bernoulli_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.png)bin25957 -> 25957 bytes
-rw-r--r--libs/math/doc/graphs/bernoulli_cdf.svg68
-rw-r--r--libs/math/doc/graphs/bernoulli_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.png)bin24206 -> 24206 bytes
-rw-r--r--libs/math/doc/graphs/bernoulli_pdf.svg65
-rw-r--r--libs/math/doc/graphs/bessel_j_zeros.pngbin0 -> 34250 bytes
-rw-r--r--libs/math/doc/graphs/bessel_j_zeros.svg75
-rw-r--r--libs/math/doc/graphs/beta.png (renamed from libs/math/doc/sf_and_dist/graphs/beta.png)bin30614 -> 30614 bytes
-rw-r--r--libs/math/doc/graphs/beta.svg73
-rw-r--r--libs/math/doc/graphs/beta_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/beta_pdf.png)bin65277 -> 65277 bytes
-rw-r--r--libs/math/doc/graphs/beta_pdf.svg79
-rw-r--r--libs/math/doc/graphs/binomial_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/binomial_pdf.png)bin5022 -> 5022 bytes
-rw-r--r--libs/math/doc/graphs/binomial_pdf_1.png (renamed from libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.png)bin28953 -> 28953 bytes
-rw-r--r--libs/math/doc/graphs/binomial_pdf_1.svg67
-rw-r--r--libs/math/doc/graphs/binomial_pdf_2.png (renamed from libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.png)bin27832 -> 27832 bytes
-rw-r--r--libs/math/doc/graphs/binomial_pdf_2.svg66
-rw-r--r--libs/math/doc/graphs/binomial_pdf_3.png (renamed from libs/math/doc/sf_and_dist/graphs/binomial_pdf_3.png)bin5956 -> 5956 bytes
-rw-r--r--libs/math/doc/graphs/binomial_quantile_1.png (renamed from libs/math/doc/sf_and_dist/graphs/binomial_quantile_1.png)bin5170 -> 5170 bytes
-rw-r--r--libs/math/doc/graphs/cauchy_pdf1.png (renamed from libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.png)bin48210 -> 48210 bytes
-rw-r--r--libs/math/doc/graphs/cauchy_pdf1.svg61
-rw-r--r--libs/math/doc/graphs/cauchy_pdf2.png (renamed from libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.png)bin44126 -> 44126 bytes
-rw-r--r--libs/math/doc/graphs/cauchy_pdf2.svg65
-rw-r--r--libs/math/doc/graphs/cbrt.png (renamed from libs/math/doc/sf_and_dist/graphs/cbrt.png)bin16371 -> 16371 bytes
-rw-r--r--libs/math/doc/graphs/cbrt.svg60
-rw-r--r--libs/math/doc/graphs/cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/cdf.png)bin3914 -> 3914 bytes
-rw-r--r--libs/math/doc/graphs/chi_squared_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.png)bin38704 -> 38704 bytes
-rw-r--r--libs/math/doc/graphs/chi_squared_pdf.svg65
-rw-r--r--libs/math/doc/graphs/cyl_bessel_i.png (renamed from libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.png)bin34389 -> 34389 bytes
-rw-r--r--libs/math/doc/graphs/cyl_bessel_i.svg76
-rw-r--r--libs/math/doc/graphs/cyl_bessel_j.png (renamed from libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.png)bin68898 -> 68898 bytes
-rw-r--r--libs/math/doc/graphs/cyl_bessel_j.svg76
-rw-r--r--libs/math/doc/graphs/cyl_bessel_k.png (renamed from libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.png)bin34283 -> 34283 bytes
-rw-r--r--libs/math/doc/graphs/cyl_bessel_k.svg87
-rw-r--r--libs/math/doc/graphs/cyl_neumann.png (renamed from libs/math/doc/sf_and_dist/graphs/cyl_neumann.png)bin40987 -> 40987 bytes
-rw-r--r--libs/math/doc/graphs/cyl_neumann.svg77
-rw-r--r--libs/math/doc/graphs/digamma.png (renamed from libs/math/doc/sf_and_dist/graphs/digamma.png)bin23855 -> 23855 bytes
-rw-r--r--libs/math/doc/graphs/digamma.svg62
-rw-r--r--libs/math/doc/graphs/dist_graphs.cpp705
-rw-r--r--libs/math/doc/graphs/ellint_1.png (renamed from libs/math/doc/sf_and_dist/graphs/ellint_1.png)bin29435 -> 29435 bytes
-rw-r--r--libs/math/doc/graphs/ellint_1.svg70
-rw-r--r--libs/math/doc/graphs/ellint_2.png (renamed from libs/math/doc/sf_and_dist/graphs/ellint_2.png)bin33152 -> 33152 bytes
-rw-r--r--libs/math/doc/graphs/ellint_2.svg71
-rw-r--r--libs/math/doc/graphs/ellint_3.png (renamed from libs/math/doc/sf_and_dist/graphs/ellint_3.png)bin40814 -> 40814 bytes
-rw-r--r--libs/math/doc/graphs/ellint_3.svg74
-rw-r--r--libs/math/doc/graphs/ellint_carlson.png (renamed from libs/math/doc/sf_and_dist/graphs/ellint_carlson.png)bin22890 -> 22890 bytes
-rw-r--r--libs/math/doc/graphs/ellint_carlson.svg70
-rw-r--r--libs/math/doc/graphs/erf.png (renamed from libs/math/doc/sf_and_dist/graphs/erf.png)bin15921 -> 15921 bytes
-rw-r--r--libs/math/doc/graphs/erf.svg61
-rw-r--r--libs/math/doc/graphs/erf_inv.png (renamed from libs/math/doc/sf_and_dist/graphs/erf_inv.png)bin16881 -> 16881 bytes
-rw-r--r--libs/math/doc/graphs/erf_inv.svg59
-rw-r--r--libs/math/doc/graphs/erfc.png (renamed from libs/math/doc/sf_and_dist/graphs/erfc.png)bin16724 -> 16724 bytes
-rw-r--r--libs/math/doc/graphs/erfc.svg61
-rw-r--r--libs/math/doc/graphs/erfc_inv.png (renamed from libs/math/doc/sf_and_dist/graphs/erfc_inv.png)bin18719 -> 18719 bytes
-rw-r--r--libs/math/doc/graphs/erfc_inv.svg60
-rw-r--r--libs/math/doc/graphs/exp_on_r.png (renamed from libs/math/doc/sf_and_dist/graphs/exp_on_r.png)bin3062 -> 3062 bytes
-rw-r--r--libs/math/doc/graphs/expint2.png (renamed from libs/math/doc/sf_and_dist/graphs/expint2.png)bin40029 -> 40029 bytes
-rw-r--r--libs/math/doc/graphs/expint2.svg78
-rw-r--r--libs/math/doc/graphs/expint_i.png (renamed from libs/math/doc/sf_and_dist/graphs/expint_i.png)bin20700 -> 20700 bytes
-rw-r--r--libs/math/doc/graphs/expint_i.svg63
-rw-r--r--libs/math/doc/graphs/expm1.png (renamed from libs/math/doc/sf_and_dist/graphs/expm1.png)bin18542 -> 18542 bytes
-rw-r--r--libs/math/doc/graphs/expm1.svg64
-rw-r--r--libs/math/doc/graphs/exponential_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/exponential_pdf.png)bin35475 -> 35475 bytes
-rw-r--r--libs/math/doc/graphs/exponential_pdf.svg65
-rw-r--r--libs/math/doc/graphs/extreme_value_pdf1.png (renamed from libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.png)bin47238 -> 47238 bytes
-rw-r--r--libs/math/doc/graphs/extreme_value_pdf1.svg62
-rw-r--r--libs/math/doc/graphs/extreme_value_pdf2.png (renamed from libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.png)bin47283 -> 47283 bytes
-rw-r--r--libs/math/doc/graphs/extreme_value_pdf2.svg65
-rw-r--r--libs/math/doc/graphs/fisher_f_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.png)bin51980 -> 51980 bytes
-rw-r--r--libs/math/doc/graphs/fisher_f_pdf.svg71
-rw-r--r--libs/math/doc/graphs/gamma1_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/gamma1_pdf.png)bin39092 -> 39092 bytes
-rw-r--r--libs/math/doc/graphs/gamma1_pdf.svg66
-rw-r--r--libs/math/doc/graphs/gamma2_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/gamma2_pdf.png)bin44969 -> 44969 bytes
-rw-r--r--libs/math/doc/graphs/gamma2_pdf.svg65
-rw-r--r--libs/math/doc/graphs/gamma_p.png (renamed from libs/math/doc/sf_and_dist/graphs/gamma_p.png)bin35639 -> 35639 bytes
-rw-r--r--libs/math/doc/graphs/gamma_p.svg80
-rw-r--r--libs/math/doc/graphs/gamma_q.png (renamed from libs/math/doc/sf_and_dist/graphs/gamma_q.png)bin36654 -> 36654 bytes
-rw-r--r--libs/math/doc/graphs/gamma_q.svg79
-rwxr-xr-xlibs/math/doc/graphs/generate.sh (renamed from libs/math/doc/sf_and_dist/graphs/generate.sh)0
-rw-r--r--libs/math/doc/graphs/geometric_cdf_2.png (renamed from libs/math/doc/sf_and_dist/graphs/geometric_cdf_2.png)bin34637 -> 34637 bytes
-rw-r--r--libs/math/doc/graphs/geometric_cdf_2.svg (renamed from libs/math/doc/sf_and_dist/graphs/geometric_cdf_2.svg)0
-rw-r--r--libs/math/doc/graphs/geometric_cdf_discrete.png (renamed from libs/math/doc/sf_and_dist/graphs/geometric_cdf_discrete.png)bin26586 -> 26586 bytes
-rw-r--r--libs/math/doc/graphs/geometric_cdf_discrete.svg (renamed from libs/math/doc/sf_and_dist/graphs/geometric_cdf_discrete.svg)0
-rw-r--r--libs/math/doc/graphs/geometric_pdf_2.png (renamed from libs/math/doc/sf_and_dist/graphs/geometric_pdf_2.png)bin34843 -> 34843 bytes
-rw-r--r--libs/math/doc/graphs/geometric_pdf_2.svg (renamed from libs/math/doc/sf_and_dist/graphs/geometric_pdf_2.svg)0
-rw-r--r--libs/math/doc/graphs/geometric_pdf_discrete.png (renamed from libs/math/doc/sf_and_dist/graphs/geometric_pdf_discrete.png)bin24411 -> 24411 bytes
-rw-r--r--libs/math/doc/graphs/geometric_pdf_discrete.svg (renamed from libs/math/doc/sf_and_dist/graphs/geometric_pdf_discrete.svg)0
-rw-r--r--libs/math/doc/graphs/hermite.png (renamed from libs/math/doc/sf_and_dist/graphs/hermite.png)bin39453 -> 39453 bytes
-rw-r--r--libs/math/doc/graphs/hermite.svg75
-rw-r--r--libs/math/doc/graphs/hyperbolic.png (renamed from libs/math/doc/sf_and_dist/graphs/hyperbolic.png)bin4244 -> 4244 bytes
-rw-r--r--libs/math/doc/graphs/hyperexponential_pdf.pngbin0 -> 26458 bytes
-rw-r--r--libs/math/doc/graphs/hyperexponential_pdf.svg240
-rw-r--r--libs/math/doc/graphs/hyperexponential_pdf_samemean.pngbin0 -> 18278 bytes
-rw-r--r--libs/math/doc/graphs/hyperexponential_pdf_samemean.svg174
-rw-r--r--libs/math/doc/graphs/hyperexponential_pdf_samerate.pngbin0 -> 24583 bytes
-rw-r--r--libs/math/doc/graphs/hyperexponential_pdf_samerate.svg202
-rw-r--r--libs/math/doc/graphs/hypergeometric_pdf_1.png (renamed from libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_1.png)bin40963 -> 40963 bytes
-rw-r--r--libs/math/doc/graphs/hypergeometric_pdf_1.svg73
-rw-r--r--libs/math/doc/graphs/hypergeometric_pdf_2.png (renamed from libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_2.png)bin39749 -> 39749 bytes
-rw-r--r--libs/math/doc/graphs/hypergeometric_pdf_2.svg71
-rw-r--r--libs/math/doc/graphs/ibeta.png (renamed from libs/math/doc/sf_and_dist/graphs/ibeta.png)bin45748 -> 45748 bytes
-rw-r--r--libs/math/doc/graphs/ibeta.svg89
-rw-r--r--libs/math/doc/graphs/im_exp_on_c.png (renamed from libs/math/doc/sf_and_dist/graphs/im_exp_on_c.png)bin11293 -> 11293 bytes
-rw-r--r--libs/math/doc/graphs/inverse_chi_squared_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_cdf.png)bin50133 -> 50133 bytes
-rw-r--r--libs/math/doc/graphs/inverse_chi_squared_cdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_cdf.svg)0
-rw-r--r--libs/math/doc/graphs/inverse_chi_squared_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_pdf.png)bin39793 -> 39793 bytes
-rw-r--r--libs/math/doc/graphs/inverse_chi_squared_pdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_pdf.svg)0
-rw-r--r--libs/math/doc/graphs/inverse_gamma_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gamma_cdf.png)bin42954 -> 42954 bytes
-rw-r--r--libs/math/doc/graphs/inverse_gamma_cdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gamma_cdf.svg)0
-rw-r--r--libs/math/doc/graphs/inverse_gamma_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gamma_pdf.png)bin34350 -> 34350 bytes
-rw-r--r--libs/math/doc/graphs/inverse_gamma_pdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gamma_pdf.svg)0
-rw-r--r--libs/math/doc/graphs/inverse_gaussian_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gaussian_cdf.png)bin50291 -> 50291 bytes
-rw-r--r--libs/math/doc/graphs/inverse_gaussian_cdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gaussian_cdf.svg)0
-rw-r--r--libs/math/doc/graphs/inverse_gaussian_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gaussian_pdf.png)bin46962 -> 46962 bytes
-rw-r--r--libs/math/doc/graphs/inverse_gaussian_pdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/inverse_gaussian_pdf.svg)0
-rw-r--r--libs/math/doc/graphs/jacobi_cd.pngbin0 -> 66843 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_cd.svg76
-rw-r--r--libs/math/doc/graphs/jacobi_cn.pngbin0 -> 68711 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_cn.svg76
-rw-r--r--libs/math/doc/graphs/jacobi_cs.pngbin0 -> 31706 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_cs.svg76
-rw-r--r--libs/math/doc/graphs/jacobi_dc.pngbin0 -> 41200 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_dc.svg76
-rw-r--r--libs/math/doc/graphs/jacobi_dn.pngbin0 -> 56196 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_dn.svg81
-rw-r--r--libs/math/doc/graphs/jacobi_ds.pngbin0 -> 36276 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_ds.svg81
-rw-r--r--libs/math/doc/graphs/jacobi_nc.pngbin0 -> 37471 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_nc.svg83
-rw-r--r--libs/math/doc/graphs/jacobi_nd.pngbin0 -> 36676 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_nd.svg77
-rw-r--r--libs/math/doc/graphs/jacobi_ns.pngbin0 -> 24030 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_ns.svg75
-rw-r--r--libs/math/doc/graphs/jacobi_sc.pngbin0 -> 36791 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_sc.svg85
-rw-r--r--libs/math/doc/graphs/jacobi_sd.pngbin0 -> 31680 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_sd.svg75
-rw-r--r--libs/math/doc/graphs/jacobi_sn.pngbin0 -> 64184 bytes
-rw-r--r--libs/math/doc/graphs/jacobi_sn.svg76
-rw-r--r--libs/math/doc/graphs/laguerre.png (renamed from libs/math/doc/sf_and_dist/graphs/laguerre.png)bin44750 -> 44750 bytes
-rw-r--r--libs/math/doc/graphs/laguerre.svg78
-rw-r--r--libs/math/doc/graphs/laplace_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/laplace_pdf.png)bin51644 -> 51644 bytes
-rw-r--r--libs/math/doc/graphs/laplace_pdf.svg75
-rw-r--r--libs/math/doc/graphs/legendre_p.png (renamed from libs/math/doc/sf_and_dist/graphs/legendre_p.png)bin52390 -> 52390 bytes
-rw-r--r--libs/math/doc/graphs/legendre_p.svg77
-rw-r--r--libs/math/doc/graphs/legendre_q.png (renamed from libs/math/doc/sf_and_dist/graphs/legendre_q.png)bin61830 -> 61830 bytes
-rw-r--r--libs/math/doc/graphs/legendre_q.svg74
-rw-r--r--libs/math/doc/graphs/lgamma.png (renamed from libs/math/doc/sf_and_dist/graphs/lgamma.png)bin24713 -> 24713 bytes
-rw-r--r--libs/math/doc/graphs/lgamma.svg61
-rw-r--r--libs/math/doc/graphs/log1p.png (renamed from libs/math/doc/sf_and_dist/graphs/log1p.png)bin13555 -> 13555 bytes
-rw-r--r--libs/math/doc/graphs/log1p.svg56
-rw-r--r--libs/math/doc/graphs/logistic_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/logistic_pdf.png)bin50024 -> 50024 bytes
-rw-r--r--libs/math/doc/graphs/logistic_pdf.svg67
-rw-r--r--libs/math/doc/graphs/lognormal_pdf1.png (renamed from libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.png)bin36321 -> 36321 bytes
-rw-r--r--libs/math/doc/graphs/lognormal_pdf1.svg61
-rw-r--r--libs/math/doc/graphs/lognormal_pdf2.png (renamed from libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.png)bin44589 -> 44589 bytes
-rw-r--r--libs/math/doc/graphs/lognormal_pdf2.svg62
-rw-r--r--libs/math/doc/graphs/nc_beta_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.png)bin64589 -> 64589 bytes
-rw-r--r--libs/math/doc/graphs/nc_beta_pdf.svg83
-rw-r--r--libs/math/doc/graphs/nc_f_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/nc_f_pdf.png)bin57250 -> 57250 bytes
-rw-r--r--libs/math/doc/graphs/nc_f_pdf.svg78
-rw-r--r--libs/math/doc/graphs/nc_t_cdf.pngbin0 -> 53615 bytes
-rw-r--r--libs/math/doc/graphs/nc_t_cdf.svg78
-rw-r--r--libs/math/doc/graphs/nc_t_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/nc_t_pdf.png)bin45014 -> 45014 bytes
-rw-r--r--libs/math/doc/graphs/nc_t_pdf.svg71
-rw-r--r--libs/math/doc/graphs/nccs_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/nccs_pdf.png)bin59537 -> 59537 bytes
-rw-r--r--libs/math/doc/graphs/nccs_pdf.svg75
-rw-r--r--libs/math/doc/graphs/negative_binomial_pdf_1.png (renamed from libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png)bin31141 -> 31141 bytes
-rw-r--r--libs/math/doc/graphs/negative_binomial_pdf_1.svg61
-rw-r--r--libs/math/doc/graphs/negative_binomial_pdf_2.png (renamed from libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png)bin37232 -> 37232 bytes
-rw-r--r--libs/math/doc/graphs/negative_binomial_pdf_2.svg68
-rw-r--r--libs/math/doc/graphs/neumann_y_zeros.pngbin0 -> 66543 bytes
-rw-r--r--libs/math/doc/graphs/neumann_y_zeros.svg101
-rw-r--r--libs/math/doc/graphs/normal01_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/normal01_cdf.png)bin32400 -> 32400 bytes
-rw-r--r--libs/math/doc/graphs/normal01_cdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/normal01_cdf.svg)0
-rw-r--r--libs/math/doc/graphs/normal01_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/normal01_pdf.png)bin32475 -> 32475 bytes
-rw-r--r--libs/math/doc/graphs/normal01_pdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/normal01_pdf.svg)0
-rw-r--r--libs/math/doc/graphs/normal_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/normal_cdf.png)bin48182 -> 48182 bytes
-rw-r--r--libs/math/doc/graphs/normal_cdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/normal_cdf.svg)0
-rw-r--r--libs/math/doc/graphs/normal_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/normal_pdf.png)bin52644 -> 52644 bytes
-rw-r--r--libs/math/doc/graphs/normal_pdf.svg78
-rw-r--r--libs/math/doc/graphs/owens_integration_area.png (renamed from libs/math/doc/sf_and_dist/graphs/owens_integration_area.png)bin5924 -> 5924 bytes
-rw-r--r--libs/math/doc/graphs/owens_integration_area.svg (renamed from libs/math/doc/sf_and_dist/graphs/owens_integration_area.svg)0
-rw-r--r--libs/math/doc/graphs/pareto_pdf1.png (renamed from libs/math/doc/sf_and_dist/graphs/pareto_pdf1.png)bin43105 -> 43105 bytes
-rw-r--r--libs/math/doc/graphs/pareto_pdf1.svg65
-rw-r--r--libs/math/doc/graphs/pareto_pdf2.png (renamed from libs/math/doc/sf_and_dist/graphs/pareto_pdf2.png)bin37344 -> 37344 bytes
-rw-r--r--libs/math/doc/graphs/pareto_pdf2.svg64
-rw-r--r--libs/math/doc/graphs/pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/pdf.png)bin4273 -> 4273 bytes
-rw-r--r--libs/math/doc/graphs/plot_owens_3d_xyp.png (renamed from libs/math/doc/sf_and_dist/graphs/plot_owens_3d_xyp.png)bin27597 -> 27597 bytes
-rw-r--r--libs/math/doc/graphs/plot_owens_t.png (renamed from libs/math/doc/sf_and_dist/graphs/plot_owens_t.png)bin20320 -> 20320 bytes
-rw-r--r--libs/math/doc/graphs/poisson_pdf_1.png (renamed from libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.png)bin25630 -> 25630 bytes
-rw-r--r--libs/math/doc/graphs/poisson_pdf_1.svg65
-rw-r--r--libs/math/doc/graphs/powm1.png (renamed from libs/math/doc/sf_and_dist/graphs/powm1.png)bin33301 -> 33301 bytes
-rw-r--r--libs/math/doc/graphs/powm1.svg84
-rw-r--r--libs/math/doc/graphs/prior_posterior_plot.png (renamed from libs/math/doc/sf_and_dist/graphs/prior_posterior_plot.png)bin37418 -> 37418 bytes
-rw-r--r--libs/math/doc/graphs/prior_posterior_plot.svg (renamed from libs/math/doc/sf_and_dist/graphs/prior_posterior_plot.svg)0
-rw-r--r--libs/math/doc/graphs/quantile.png (renamed from libs/math/doc/sf_and_dist/graphs/quantile.png)bin4107 -> 4107 bytes
-rw-r--r--libs/math/doc/graphs/rayleigh_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.png)bin46778 -> 46778 bytes
-rw-r--r--libs/math/doc/graphs/rayleigh_cdf.svg78
-rw-r--r--libs/math/doc/graphs/rayleigh_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.png)bin35215 -> 35215 bytes
-rw-r--r--libs/math/doc/graphs/rayleigh_pdf.svg69
-rw-r--r--libs/math/doc/graphs/remez-2.png (renamed from libs/math/doc/sf_and_dist/graphs/remez-2.png)bin4943 -> 4943 bytes
-rw-r--r--libs/math/doc/graphs/remez-3.png (renamed from libs/math/doc/sf_and_dist/graphs/remez-3.png)bin5890 -> 5890 bytes
-rw-r--r--libs/math/doc/graphs/remez-4.png (renamed from libs/math/doc/sf_and_dist/graphs/remez-4.png)bin5979 -> 5979 bytes
-rw-r--r--libs/math/doc/graphs/remez-5.png (renamed from libs/math/doc/sf_and_dist/graphs/remez-5.png)bin5658 -> 5658 bytes
-rw-r--r--libs/math/doc/graphs/sf_graphs.cpp701
-rw-r--r--libs/math/doc/graphs/sinc_pi.png (renamed from libs/math/doc/sf_and_dist/graphs/sinc_pi.png)bin21943 -> 21943 bytes
-rw-r--r--libs/math/doc/graphs/sinc_pi.svg58
-rw-r--r--libs/math/doc/graphs/sinc_pi_and_sinhc_pi_on_r.png (renamed from libs/math/doc/sf_and_dist/graphs/sinc_pi_and_sinhc_pi_on_r.png)bin3403 -> 3403 bytes
-rw-r--r--libs/math/doc/graphs/sinhc_pi.png (renamed from libs/math/doc/sf_and_dist/graphs/sinhc_pi.png)bin21731 -> 21731 bytes
-rw-r--r--libs/math/doc/graphs/sinhc_pi.svg63
-rw-r--r--libs/math/doc/graphs/skew_normal_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/skew_normal_cdf.png)bin60290 -> 60290 bytes
-rw-r--r--libs/math/doc/graphs/skew_normal_cdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/skew_normal_cdf.svg)0
-rw-r--r--libs/math/doc/graphs/skew_normal_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/skew_normal_pdf.png)bin66683 -> 66683 bytes
-rw-r--r--libs/math/doc/graphs/skew_normal_pdf.svg (renamed from libs/math/doc/sf_and_dist/graphs/skew_normal_pdf.svg)0
-rw-r--r--libs/math/doc/graphs/sph_bessel.png (renamed from libs/math/doc/sf_and_dist/graphs/sph_bessel.png)bin37670 -> 37670 bytes
-rw-r--r--libs/math/doc/graphs/sph_bessel.svg75
-rw-r--r--libs/math/doc/graphs/sph_neumann.png (renamed from libs/math/doc/sf_and_dist/graphs/sph_neumann.png)bin35283 -> 35283 bytes
-rw-r--r--libs/math/doc/graphs/sph_neumann.svg76
-rw-r--r--libs/math/doc/graphs/sqrt1pm1.png (renamed from libs/math/doc/sf_and_dist/graphs/sqrt1pm1.png)bin19435 -> 19435 bytes
-rw-r--r--libs/math/doc/graphs/sqrt1pm1.svg62
-rw-r--r--libs/math/doc/graphs/students_t_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/students_t_pdf.png)bin48429 -> 48429 bytes
-rw-r--r--libs/math/doc/graphs/students_t_pdf.svg68
-rw-r--r--libs/math/doc/graphs/survival.png (renamed from libs/math/doc/sf_and_dist/graphs/survival.png)bin4818 -> 4818 bytes
-rw-r--r--libs/math/doc/graphs/survival_inv.png (renamed from libs/math/doc/sf_and_dist/graphs/survival_inv.png)bin3967 -> 3967 bytes
-rw-r--r--libs/math/doc/graphs/tgamma.png (renamed from libs/math/doc/sf_and_dist/graphs/tgamma.png)bin24933 -> 24933 bytes
-rw-r--r--libs/math/doc/graphs/tgamma.svg69
-rw-r--r--libs/math/doc/graphs/tgamma_delta_ratio.png (renamed from libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.png)bin44612 -> 44612 bytes
-rw-r--r--libs/math/doc/graphs/tgamma_delta_ratio.svg81
-rw-r--r--libs/math/doc/graphs/triangular_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/triangular_cdf.png)bin50305 -> 50305 bytes
-rw-r--r--libs/math/doc/graphs/triangular_cdf.svg78
-rw-r--r--libs/math/doc/graphs/triangular_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/triangular_pdf.png)bin46759 -> 46759 bytes
-rw-r--r--libs/math/doc/graphs/triangular_pdf.svg71
-rw-r--r--libs/math/doc/graphs/trigonometric.png (renamed from libs/math/doc/sf_and_dist/graphs/trigonometric.png)bin7373 -> 7373 bytes
-rw-r--r--libs/math/doc/graphs/uniform_cdf.png (renamed from libs/math/doc/sf_and_dist/graphs/uniform_cdf.png)bin46523 -> 46523 bytes
-rw-r--r--libs/math/doc/graphs/uniform_cdf.svg75
-rw-r--r--libs/math/doc/graphs/uniform_pdf.png (renamed from libs/math/doc/sf_and_dist/graphs/uniform_pdf.png)bin31906 -> 31906 bytes
-rw-r--r--libs/math/doc/graphs/uniform_pdf.svg75
-rw-r--r--libs/math/doc/graphs/weibull_pdf1.png (renamed from libs/math/doc/sf_and_dist/graphs/weibull_pdf1.png)bin44834 -> 44834 bytes
-rw-r--r--libs/math/doc/graphs/weibull_pdf1.svg68
-rw-r--r--libs/math/doc/graphs/weibull_pdf2.png (renamed from libs/math/doc/sf_and_dist/graphs/weibull_pdf2.png)bin42096 -> 42096 bytes
-rw-r--r--libs/math/doc/graphs/weibull_pdf2.svg63
-rw-r--r--libs/math/doc/graphs/zeta1.png (renamed from libs/math/doc/sf_and_dist/graphs/zeta1.png)bin23204 -> 23204 bytes
-rw-r--r--libs/math/doc/graphs/zeta1.svg63
-rw-r--r--libs/math/doc/graphs/zeta2.png (renamed from libs/math/doc/sf_and_dist/graphs/zeta2.png)bin22573 -> 22573 bytes
-rw-r--r--libs/math/doc/graphs/zeta2.svg58
-rw-r--r--libs/math/doc/html/backgrounders.html62
-rw-r--r--libs/math/doc/html/constants.html62
-rw-r--r--libs/math/doc/html/cstdfloat.html68
-rw-r--r--libs/math/doc/html/dist.html219
-rw-r--r--libs/math/doc/html/extern_c.html53
-rw-r--r--libs/math/doc/html/gcd_lcm.html61
-rw-r--r--libs/math/doc/html/index.html476
-rw-r--r--libs/math/doc/html/indexes.html55
-rw-r--r--libs/math/doc/html/indexes/s01.html2528
-rw-r--r--libs/math/doc/html/indexes/s02.html275
-rw-r--r--libs/math/doc/html/indexes/s03.html440
-rw-r--r--libs/math/doc/html/indexes/s04.html349
-rw-r--r--libs/math/doc/html/indexes/s05.html5536
-rw-r--r--libs/math/doc/html/inverse_complex.html65
-rw-r--r--libs/math/doc/html/math.css74
-rw-r--r--libs/math/doc/html/math_toolkit/acknowledgement.html52
-rw-r--r--libs/math/doc/html/math_toolkit/acknowledgements.html52
-rw-r--r--libs/math/doc/html/math_toolkit/acos.html66
-rw-r--r--libs/math/doc/html/math_toolkit/acosh.html66
-rw-r--r--libs/math/doc/html/math_toolkit/airy.html52
-rw-r--r--libs/math/doc/html/math_toolkit/airy/ai.html123
-rw-r--r--libs/math/doc/html/math_toolkit/airy/aip.html119
-rw-r--r--libs/math/doc/html/math_toolkit/airy/bi.html118
-rw-r--r--libs/math/doc/html/math_toolkit/airy/bip.html119
-rw-r--r--libs/math/doc/html/math_toolkit/archetypes.html197
-rw-r--r--libs/math/doc/html/math_toolkit/asin.html66
-rw-r--r--libs/math/doc/html/math_toolkit/asinh.html66
-rw-r--r--libs/math/doc/html/math_toolkit/atan.html66
-rw-r--r--libs/math/doc/html/math_toolkit/atanh.html66
-rw-r--r--libs/math/doc/html/math_toolkit/bessel.html59
-rw-r--r--libs/math/doc/html/math_toolkit/bessel/bessel_derivatives.html153
-rw-r--r--libs/math/doc/html/math_toolkit/bessel/bessel_first.html698
-rw-r--r--libs/math/doc/html/math_toolkit/bessel/bessel_over.html212
-rw-r--r--libs/math/doc/html/math_toolkit/bessel/bessel_root.html764
-rw-r--r--libs/math/doc/html/math_toolkit/bessel/mbessel.html491
-rw-r--r--libs/math/doc/html/math_toolkit/bessel/sph_bessel.html162
-rw-r--r--libs/math/doc/html/math_toolkit/building.html164
-rw-r--r--libs/math/doc/html/math_toolkit/c99.html477
-rw-r--r--libs/math/doc/html/math_toolkit/comp_compilers.html379
-rw-r--r--libs/math/doc/html/math_toolkit/comparisons.html3138
-rw-r--r--libs/math/doc/html/math_toolkit/compile_time.html106
-rw-r--r--libs/math/doc/html/math_toolkit/compilers_overview.html683
-rw-r--r--libs/math/doc/html/math_toolkit/complex_history.html54
-rw-r--r--libs/math/doc/html/math_toolkit/complex_implementation.html63
-rw-r--r--libs/math/doc/html/math_toolkit/concepts.html1370
-rw-r--r--libs/math/doc/html/math_toolkit/config_macros.html383
-rw-r--r--libs/math/doc/html/math_toolkit/constants.html1490
-rw-r--r--libs/math/doc/html/math_toolkit/constants_faq.html483
-rw-r--r--libs/math/doc/html/math_toolkit/constants_intro.html131
-rw-r--r--libs/math/doc/html/math_toolkit/contact.html63
-rw-r--r--libs/math/doc/html/math_toolkit/conventions.html87
-rw-r--r--libs/math/doc/html/math_toolkit/create.html121
-rw-r--r--libs/math/doc/html/math_toolkit/credits.html163
-rw-r--r--libs/math/doc/html/math_toolkit/demo.html53
-rw-r--r--libs/math/doc/html/math_toolkit/directories.html127
-rw-r--r--libs/math/doc/html/math_toolkit/dist_concept.html397
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref.html108
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dist_algorithms.html136
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists.html103
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html356
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/beta_dist.html622
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html908
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html305
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html411
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/exp_dist.html328
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html331
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/f_dist.html434
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html364
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html841
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html1460
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html339
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html471
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html367
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html445
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html360
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html298
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html330
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html413
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html504
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html410
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html415
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html883
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/normal_dist.html325
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/pareto.html350
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html330
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/rayleigh.html347
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html498
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html430
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html423
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html367
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html369
-rw-r--r--libs/math/doc/html/math_toolkit/dist_ref/nmp.html706
-rw-r--r--libs/math/doc/html/math_toolkit/ellint.html57
-rw-r--r--libs/math/doc/html/math_toolkit/ellint/ellint_1.html268
-rw-r--r--libs/math/doc/html/math_toolkit/ellint/ellint_2.html268
-rw-r--r--libs/math/doc/html/math_toolkit/ellint/ellint_3.html321
-rw-r--r--libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html431
-rw-r--r--libs/math/doc/html/math_toolkit/ellint/ellint_intro.html406
-rw-r--r--libs/math/doc/html/math_toolkit/error_handling.html1128
-rw-r--r--libs/math/doc/html/math_toolkit/exact_typdefs.html165
-rw-r--r--libs/math/doc/html/math_toolkit/examples.html140
-rw-r--r--libs/math/doc/html/math_toolkit/exp.html59
-rw-r--r--libs/math/doc/html/math_toolkit/expint.html50
-rw-r--r--libs/math/doc/html/math_toolkit/expint/expint_i.html296
-rw-r--r--libs/math/doc/html/math_toolkit/expint/expint_n.html294
-rw-r--r--libs/math/doc/html/math_toolkit/factorials.html54
-rw-r--r--libs/math/doc/html/math_toolkit/factorials/sf_binomial.html145
-rw-r--r--libs/math/doc/html/math_toolkit/factorials/sf_double_factorial.html161
-rw-r--r--libs/math/doc/html/math_toolkit/factorials/sf_factorial.html193
-rw-r--r--libs/math/doc/html/math_toolkit/factorials/sf_falling_factorial.html110
-rw-r--r--libs/math/doc/html/math_toolkit/factorials/sf_rising_factorial.html114
-rw-r--r--libs/math/doc/html/math_toolkit/fastest_typdefs.html64
-rw-r--r--libs/math/doc/html/math_toolkit/float128.html124
-rw-r--r--libs/math/doc/html/math_toolkit/float128/exp_function.html60
-rw-r--r--libs/math/doc/html/math_toolkit/float128/overloading_template_functions_w.html97
-rw-r--r--libs/math/doc/html/math_toolkit/float128/typeinfo.html68
-rw-r--r--libs/math/doc/html/math_toolkit/fp_facets.html92
-rw-r--r--libs/math/doc/html/math_toolkit/fp_facets/examples.html256
-rw-r--r--libs/math/doc/html/math_toolkit/fp_facets/facets_intro.html380
-rw-r--r--libs/math/doc/html/math_toolkit/fp_facets/portability.html51
-rw-r--r--libs/math/doc/html/math_toolkit/fp_facets/rationale.html68
-rw-r--r--libs/math/doc/html/math_toolkit/fp_facets/reference.html491
-rw-r--r--libs/math/doc/html/math_toolkit/fpclass.html253
-rw-r--r--libs/math/doc/html/math_toolkit/future.html148
-rw-r--r--libs/math/doc/html/math_toolkit/gcd_credits.html52
-rw-r--r--libs/math/doc/html/math_toolkit/gcd_function_object.html76
-rw-r--r--libs/math/doc/html/math_toolkit/gcd_header.html55
-rw-r--r--libs/math/doc/html/math_toolkit/gcd_history.html60
-rw-r--r--libs/math/doc/html/math_toolkit/getting_best.html296
-rw-r--r--libs/math/doc/html/math_toolkit/greatest_typdefs.html95
-rw-r--r--libs/math/doc/html/math_toolkit/hankel.html50
-rw-r--r--libs/math/doc/html/math_toolkit/hankel/cyl_hankel.html162
-rw-r--r--libs/math/doc/html/math_toolkit/hankel/sph_hankel.html124
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision.html110
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision/e_float.html68
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision/float128.html65
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision/use_mpfr.html117
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision/use_multiprecision.html364
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision/use_ntl.html74
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision/using_test.html121
-rw-r--r--libs/math/doc/html/math_toolkit/high_precision/why_high_precision.html137
-rw-r--r--libs/math/doc/html/math_toolkit/hints.html110
-rw-r--r--libs/math/doc/html/math_toolkit/history1.html851
-rw-r--r--libs/math/doc/html/math_toolkit/history2.html851
-rw-r--r--libs/math/doc/html/math_toolkit/internals1.html59
-rw-r--r--libs/math/doc/html/math_toolkit/internals1/cf.html281
-rw-r--r--libs/math/doc/html/math_toolkit/internals1/minima.html123
-rw-r--r--libs/math/doc/html/math_toolkit/internals1/rational.html232
-rw-r--r--libs/math/doc/html/math_toolkit/internals1/roots.html418
-rw-r--r--libs/math/doc/html/math_toolkit/internals1/roots2.html587
-rw-r--r--libs/math/doc/html/math_toolkit/internals1/series_evaluation.html197
-rw-r--r--libs/math/doc/html/math_toolkit/internals1/tuples.html84
-rw-r--r--libs/math/doc/html/math_toolkit/internals2.html55
-rw-r--r--libs/math/doc/html/math_toolkit/internals2/error_test.html237
-rw-r--r--libs/math/doc/html/math_toolkit/internals2/minimax.html283
-rw-r--r--libs/math/doc/html/math_toolkit/internals2/polynomials.html134
-rw-r--r--libs/math/doc/html/math_toolkit/internals2/test_data.html563
-rw-r--r--libs/math/doc/html/math_toolkit/internals_overview.html60
-rw-r--r--libs/math/doc/html/math_toolkit/interp.html82
-rw-r--r--libs/math/doc/html/math_toolkit/intro_pol_overview.html118
-rw-r--r--libs/math/doc/html/math_toolkit/introduction.html52
-rw-r--r--libs/math/doc/html/math_toolkit/inv_hyper.html53
-rw-r--r--libs/math/doc/html/math_toolkit/inv_hyper/acosh.html129
-rw-r--r--libs/math/doc/html/math_toolkit/inv_hyper/asinh.html124
-rw-r--r--libs/math/doc/html/math_toolkit/inv_hyper/atanh.html134
-rw-r--r--libs/math/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html116
-rw-r--r--libs/math/doc/html/math_toolkit/issues.html1255
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi.html76
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jac_over.html123
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_cd.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_cn.html82
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_cs.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_dc.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_dn.html82
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_ds.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_elliptic.html302
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_nc.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_nd.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_ns.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_sc.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_sd.html86
-rw-r--r--libs/math/doc/html/math_toolkit/jacobi/jacobi_sn.html82
-rw-r--r--libs/math/doc/html/math_toolkit/lanczos.html577
-rw-r--r--libs/math/doc/html/math_toolkit/lcm_function_object.html77
-rw-r--r--libs/math/doc/html/math_toolkit/macros.html85
-rw-r--r--libs/math/doc/html/math_toolkit/main_faq.html226
-rw-r--r--libs/math/doc/html/math_toolkit/main_intro.html135
-rw-r--r--libs/math/doc/html/math_toolkit/main_tr1.html617
-rw-r--r--libs/math/doc/html/math_toolkit/mem_typedef.html72
-rw-r--r--libs/math/doc/html/math_toolkit/minimum_typdefs.html62
-rw-r--r--libs/math/doc/html/math_toolkit/namespaces.html97
-rw-r--r--libs/math/doc/html/math_toolkit/navigation.html104
-rw-r--r--libs/math/doc/html/math_toolkit/new_const.html266
-rw-r--r--libs/math/doc/html/math_toolkit/next_float.html83
-rw-r--r--libs/math/doc/html/math_toolkit/next_float/float_advance.html72
-rw-r--r--libs/math/doc/html/math_toolkit/next_float/float_distance.html106
-rw-r--r--libs/math/doc/html/math_toolkit/next_float/float_next.html76
-rw-r--r--libs/math/doc/html/math_toolkit/next_float/float_prior.html76
-rw-r--r--libs/math/doc/html/math_toolkit/next_float/nextafter.html127
-rw-r--r--libs/math/doc/html/math_toolkit/number_series.html52
-rw-r--r--libs/math/doc/html/math_toolkit/number_series/bernoulli_numbers.html373
-rw-r--r--libs/math/doc/html/math_toolkit/number_series/primes.html84
-rw-r--r--libs/math/doc/html/math_toolkit/number_series/tangent_numbers.html138
-rw-r--r--libs/math/doc/html/math_toolkit/oct_create.html84
-rw-r--r--libs/math/doc/html/math_toolkit/oct_header.html49
-rw-r--r--libs/math/doc/html/math_toolkit/oct_history.html111
-rw-r--r--libs/math/doc/html/math_toolkit/oct_mem_fun.html259
-rw-r--r--libs/math/doc/html/math_toolkit/oct_non_mem.html223
-rw-r--r--libs/math/doc/html/math_toolkit/oct_overview.html86
-rw-r--r--libs/math/doc/html/math_toolkit/oct_specialization.html242
-rw-r--r--libs/math/doc/html/math_toolkit/oct_synopsis.html141
-rw-r--r--libs/math/doc/html/math_toolkit/oct_tests.html61
-rw-r--r--libs/math/doc/html/math_toolkit/oct_todo.html57
-rw-r--r--libs/math/doc/html/math_toolkit/oct_trans.html148
-rw-r--r--libs/math/doc/html/math_toolkit/oct_typedefs.html72
-rw-r--r--libs/math/doc/html/math_toolkit/oct_value_ops.html108
-rw-r--r--libs/math/doc/html/math_toolkit/octonion.html114
-rw-r--r--libs/math/doc/html/math_toolkit/overview.html90
-rw-r--r--libs/math/doc/html/math_toolkit/overview_tr1.html617
-rw-r--r--libs/math/doc/html/math_toolkit/owens_t.html226
-rw-r--r--libs/math/doc/html/math_toolkit/perf_over1.html82
-rw-r--r--libs/math/doc/html/math_toolkit/perf_over2.html82
-rw-r--r--libs/math/doc/html/math_toolkit/perf_test_app.html64
-rw-r--r--libs/math/doc/html/math_toolkit/pol_overview.html118
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref.html64
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/assert_undefined.html102
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html252
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/error_handling_policies.html773
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/internal_promotion.html150
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/iteration_pol.html67
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/namespace_pol.html157
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/pol_ref_ref.html258
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/policy_defaults.html258
-rw-r--r--libs/math/doc/html/math_toolkit/pol_ref/precision_pol.html110
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial.html66
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html105
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html174
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html258
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/namespace_policies.html366
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html141
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/policy_usage.html73
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html417
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html454
-rw-r--r--libs/math/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html88
-rw-r--r--libs/math/doc/html/math_toolkit/powers.html58
-rw-r--r--libs/math/doc/html/math_toolkit/powers/cbrt.html97
-rw-r--r--libs/math/doc/html/math_toolkit/powers/cos_pi.html76
-rw-r--r--libs/math/doc/html/math_toolkit/powers/ct_pow.html265
-rw-r--r--libs/math/doc/html/math_toolkit/powers/expm1.html106
-rw-r--r--libs/math/doc/html/math_toolkit/powers/hypot.html91
-rw-r--r--libs/math/doc/html/math_toolkit/powers/log1p.html120
-rw-r--r--libs/math/doc/html/math_toolkit/powers/powm1.html99
-rw-r--r--libs/math/doc/html/math_toolkit/powers/sin_pi.html76
-rw-r--r--libs/math/doc/html/math_toolkit/powers/sqrt1pm1.html102
-rw-r--r--libs/math/doc/html/math_toolkit/quat.html99
-rw-r--r--libs/math/doc/html/math_toolkit/quat_header.html49
-rw-r--r--libs/math/doc/html/math_toolkit/quat_history.html113
-rw-r--r--libs/math/doc/html/math_toolkit/quat_mem_fun.html236
-rw-r--r--libs/math/doc/html/math_toolkit/quat_non_mem.html224
-rw-r--r--libs/math/doc/html/math_toolkit/quat_overview.html96
-rw-r--r--libs/math/doc/html/math_toolkit/quat_synopsis.html128
-rw-r--r--libs/math/doc/html/math_toolkit/quat_tests.html61
-rw-r--r--libs/math/doc/html/math_toolkit/quat_todo.html61
-rw-r--r--libs/math/doc/html/math_toolkit/rationale.html155
-rw-r--r--libs/math/doc/html/math_toolkit/rationale0.html52
-rw-r--r--libs/math/doc/html/math_toolkit/refs.html215
-rw-r--r--libs/math/doc/html/math_toolkit/relative_error.html123
-rw-r--r--libs/math/doc/html/math_toolkit/remez.html538
-rw-r--r--libs/math/doc/html/math_toolkit/result_type.html153
-rw-r--r--libs/math/doc/html/math_toolkit/rounding.html53
-rw-r--r--libs/math/doc/html/math_toolkit/rounding/modf.html83
-rw-r--r--libs/math/doc/html/math_toolkit/rounding/round.html83
-rw-r--r--libs/math/doc/html/math_toolkit/rounding/trunc.html85
-rw-r--r--libs/math/doc/html/math_toolkit/run_time.html64
-rw-r--r--libs/math/doc/html/math_toolkit/sf_beta.html55
-rw-r--r--libs/math/doc/html/math_toolkit/sf_beta/beta_derivative.html102
-rw-r--r--libs/math/doc/html/math_toolkit/sf_beta/beta_function.html327
-rw-r--r--libs/math/doc/html/math_toolkit/sf_beta/ibeta_function.html979
-rw-r--r--libs/math/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html521
-rw-r--r--libs/math/doc/html/math_toolkit/sf_erf.html50
-rw-r--r--libs/math/doc/html/math_toolkit/sf_erf/error_function.html630
-rw-r--r--libs/math/doc/html/math_toolkit/sf_erf/error_inv.html202
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma.html57
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma/digamma.html385
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html107
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma/gamma_ratios.html355
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma/igamma.html1044
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma/igamma_inv.html252
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma/lgamma.html479
-rw-r--r--libs/math/doc/html/math_toolkit/sf_gamma/tgamma.html470
-rw-r--r--libs/math/doc/html/math_toolkit/sf_implementation.html848
-rw-r--r--libs/math/doc/html/math_toolkit/sf_poly.html54
-rw-r--r--libs/math/doc/html/math_toolkit/sf_poly/hermite.html280
-rw-r--r--libs/math/doc/html/math_toolkit/sf_poly/laguerre.html453
-rw-r--r--libs/math/doc/html/math_toolkit/sf_poly/legendre.html708
-rw-r--r--libs/math/doc/html/math_toolkit/sf_poly/sph_harm.html308
-rw-r--r--libs/math/doc/html/math_toolkit/sign_functions.html250
-rw-r--r--libs/math/doc/html/math_toolkit/sinc.html53
-rw-r--r--libs/math/doc/html/math_toolkit/sinc/sinc_overview.html83
-rw-r--r--libs/math/doc/html/math_toolkit/sinc/sinc_pi.html79
-rw-r--r--libs/math/doc/html/math_toolkit/sinc/sinhc_pi.html83
-rw-r--r--libs/math/doc/html/math_toolkit/spec.html192
-rw-r--r--libs/math/doc/html/math_toolkit/special_tut.html51
-rw-r--r--libs/math/doc/html/math_toolkit/special_tut/special_tut_impl.html391
-rw-r--r--libs/math/doc/html/math_toolkit/special_tut/special_tut_test.html525
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut.html155
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/dist_params.html100
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/overview.html59
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/overview/complements.html200
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/overview/generic.html254
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/overview/headers.html78
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/overview/objects.html134
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/overview/parameters.html73
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/overview/summary.html75
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/variates.html76
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg.html129
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg.html61
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html241
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html160
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html274
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html459
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/c_sharp.html58
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg.html55
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html236
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html182
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html297
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html333
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/error_eg.html206
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/f_eg.html329
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg.html55
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html190
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html456
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html209
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html422
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html360
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/nag_library.html116
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html53
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html1287
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html62
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html221
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html207
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html507
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html136
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example.html53
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html518
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg.html60
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html81
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html267
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html179
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html334
-rw-r--r--libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html359
-rw-r--r--libs/math/doc/html/math_toolkit/synopsis.html71
-rw-r--r--libs/math/doc/html/math_toolkit/threads.html52
-rw-r--r--libs/math/doc/html/math_toolkit/tr1_ref.html538
-rw-r--r--libs/math/doc/html/math_toolkit/trans.html144
-rw-r--r--libs/math/doc/html/math_toolkit/tuning.html895
-rw-r--r--libs/math/doc/html/math_toolkit/tutorial.html53
-rw-r--r--libs/math/doc/html/math_toolkit/tutorial/non_templ.html86
-rw-r--r--libs/math/doc/html/math_toolkit/tutorial/templ.html157
-rw-r--r--libs/math/doc/html/math_toolkit/tutorial/user_def.html336
-rw-r--r--libs/math/doc/html/math_toolkit/value_op.html109
-rw-r--r--libs/math/doc/html/math_toolkit/zetas.html47
-rw-r--r--libs/math/doc/html/math_toolkit/zetas/zeta.html312
-rw-r--r--libs/math/doc/html/octonions.html65
-rw-r--r--libs/math/doc/html/overview.html70
-rw-r--r--libs/math/doc/html/perf.html59
-rw-r--r--libs/math/doc/html/policy.html91
-rw-r--r--libs/math/doc/html/quaternions.html66
-rw-r--r--libs/math/doc/html/special.html208
-rw-r--r--libs/math/doc/html/status.html53
-rw-r--r--libs/math/doc/html/toolkit.html76
-rw-r--r--libs/math/doc/html/using_udt.html73
-rw-r--r--libs/math/doc/html/utils.html84
-rw-r--r--libs/math/doc/html4_symbols.qbk225
-rw-r--r--libs/math/doc/index.html8
-rw-r--r--libs/math/doc/index.idx (renamed from libs/math/doc/sf_and_dist/index.idx)0
-rw-r--r--libs/math/doc/internals/fraction.qbk (renamed from libs/math/doc/sf_and_dist/fraction.qbk)0
-rw-r--r--libs/math/doc/internals/internals_overview.qbk21
-rw-r--r--libs/math/doc/internals/minima.qbk (renamed from libs/math/doc/sf_and_dist/minima.qbk)0
-rw-r--r--libs/math/doc/internals/minimax.qbk167
-rw-r--r--libs/math/doc/internals/polynomial.qbk (renamed from libs/math/doc/sf_and_dist/polynomial.qbk)0
-rw-r--r--libs/math/doc/internals/rational.qbk176
-rw-r--r--libs/math/doc/internals/relative_error.qbk139
-rw-r--r--libs/math/doc/internals/roots.qbk273
-rw-r--r--libs/math/doc/internals/roots_without_derivatives.qbk425
-rw-r--r--libs/math/doc/internals/series.qbk (renamed from libs/math/doc/sf_and_dist/series.qbk)0
-rw-r--r--libs/math/doc/internals/test_data.qbk446
-rw-r--r--libs/math/doc/internals/tuple.qbk (renamed from libs/math/doc/sf_and_dist/tuple.qbk)0
-rw-r--r--libs/math/doc/math.qbk820
-rw-r--r--libs/math/doc/octonion/Jamfile.v266
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions.html68
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/acknowledgements.html50
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/header_file.html46
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/history.html109
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/non_mem.html221
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/oct_create.html82
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_functions.html260
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_typedefs.html70
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/octonion_specializations.html242
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/octonion_value_operations.html106
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/octonions_transcendentals.html149
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/overview.html83
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/synopsis.html138
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/template_class_octonion.html112
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/test_program.html58
-rw-r--r--libs/math/doc/octonion/html/boost_octonions/octonions/to_do.html54
-rw-r--r--libs/math/doc/octonion/html/index.html82
-rw-r--r--libs/math/doc/octonion/math-octonion.qbk976
-rw-r--r--libs/math/doc/overview/building.qbk106
-rw-r--r--libs/math/doc/overview/common_overviews.qbk226
-rw-r--r--libs/math/doc/overview/config_macros.qbk61
-rw-r--r--libs/math/doc/overview/contact_info.qbk (renamed from libs/math/doc/sf_and_dist/contact_info.qbk)0
-rw-r--r--libs/math/doc/overview/credits.qbk114
-rw-r--r--libs/math/doc/overview/error_handling.qbk403
-rw-r--r--libs/math/doc/overview/faq.qbk104
-rw-r--r--libs/math/doc/overview/issues.qbk169
-rw-r--r--libs/math/doc/overview/overview.qbk91
-rw-r--r--libs/math/doc/overview/result_type_calc.qbk85
-rw-r--r--libs/math/doc/overview/roadmap.qbk339
-rw-r--r--libs/math/doc/overview/structure.qbk (renamed from libs/math/doc/sf_and_dist/structure.qbk)0
-rw-r--r--libs/math/doc/overview/thread_safety.qbk (renamed from libs/math/doc/sf_and_dist/thread_safety.qbk)0
-rw-r--r--libs/math/doc/overview/tr1.qbk398
-rw-r--r--libs/math/doc/performance/performance.qbk453
-rw-r--r--libs/math/doc/plot_owens_3d_xyp.png (renamed from libs/math/doc/sf_and_dist/plot_owens_3d_xyp.png)bin27597 -> 27597 bytes
-rw-r--r--libs/math/doc/plot_owens_t.png (renamed from libs/math/doc/sf_and_dist/plot_owens_t.png)bin20320 -> 20320 bytes
-rw-r--r--libs/math/doc/policies/policy.qbk897
-rw-r--r--libs/math/doc/policies/policy_tutorial.qbk511
-rw-r--r--libs/math/doc/quaternion/Jamfile.v266
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions.html66
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/acknowledgements.html50
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/create.html118
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/exp.html56
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/header_file.html46
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/history.html109
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_fun.html237
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_typedef.html70
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/non_mem.html220
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/overview.html93
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/quat.html96
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/spec.html191
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/synopsis.html125
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/test_program.html59
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/to_do.html58
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/trans.html144
-rw-r--r--libs/math/doc/quaternion/html/boost_quaternions/quaternions/value_op.html107
-rw-r--r--libs/math/doc/quaternion/html/index.html80
-rw-r--r--libs/math/doc/quaternion/math-quaternion.qbk919
-rw-r--r--libs/math/doc/sf/airy.qbk224
-rw-r--r--libs/math/doc/sf/bessel_ik.qbk203
-rw-r--r--libs/math/doc/sf/bessel_introduction.qbk (renamed from libs/math/doc/sf_and_dist/bessel_introduction.qbk)0
-rw-r--r--libs/math/doc/sf/bessel_jy.qbk583
-rw-r--r--libs/math/doc/sf/bessel_prime.qbk93
-rw-r--r--libs/math/doc/sf/bessel_spherical.qbk89
-rw-r--r--libs/math/doc/sf/beta.qbk (renamed from libs/math/doc/sf_and_dist/beta.qbk)0
-rw-r--r--libs/math/doc/sf/beta_derivative.qbk (renamed from libs/math/doc/sf_and_dist/beta_derivative.qbk)0
-rw-r--r--libs/math/doc/sf/digamma.qbk (renamed from libs/math/doc/sf_and_dist/digamma.qbk)0
-rw-r--r--libs/math/doc/sf/ellint_carlson.qbk (renamed from libs/math/doc/sf_and_dist/ellint_carlson.qbk)0
-rw-r--r--libs/math/doc/sf/ellint_introduction.qbk224
-rw-r--r--libs/math/doc/sf/ellint_legendre.qbk (renamed from libs/math/doc/sf_and_dist/ellint_legendre.qbk)0
-rw-r--r--libs/math/doc/sf/erf.qbk214
-rw-r--r--libs/math/doc/sf/erf_inv.qbk132
-rw-r--r--libs/math/doc/sf/expint.qbk (renamed from libs/math/doc/sf_and_dist/expint.qbk)0
-rw-r--r--libs/math/doc/sf/factorials.qbk374
-rw-r--r--libs/math/doc/sf/gamma_derivatives.qbk (renamed from libs/math/doc/sf_and_dist/gamma_derivatives.qbk)0
-rw-r--r--libs/math/doc/sf/gamma_ratios.qbk (renamed from libs/math/doc/sf_and_dist/gamma_ratios.qbk)0
-rw-r--r--libs/math/doc/sf/hankel.qbk (renamed from libs/math/doc/sf_and_dist/hankel.qbk)0
-rw-r--r--libs/math/doc/sf/hermite.qbk (renamed from libs/math/doc/sf_and_dist/hermite.qbk)0
-rw-r--r--libs/math/doc/sf/ibeta.qbk (renamed from libs/math/doc/sf_and_dist/ibeta.qbk)0
-rw-r--r--libs/math/doc/sf/ibeta_inv.qbk (renamed from libs/math/doc/sf_and_dist/ibeta_inv.qbk)0
-rw-r--r--libs/math/doc/sf/igamma.qbk (renamed from libs/math/doc/sf_and_dist/igamma.qbk)0
-rw-r--r--libs/math/doc/sf/igamma_inv.qbk (renamed from libs/math/doc/sf_and_dist/igamma_inv.qbk)0
-rw-r--r--libs/math/doc/sf/inv_hyper.qbk279
-rw-r--r--libs/math/doc/sf/jacobi_elliptic.qbk551
-rw-r--r--libs/math/doc/sf/laguerre.qbk (renamed from libs/math/doc/sf_and_dist/laguerre.qbk)0
-rw-r--r--libs/math/doc/sf/latin1_symbols.qbk (renamed from libs/math/doc/sf_and_dist/latin1_symbols.qbk)0
-rw-r--r--libs/math/doc/sf/legendre.qbk (renamed from libs/math/doc/sf_and_dist/legendre.qbk)0
-rw-r--r--libs/math/doc/sf/lgamma.qbk218
-rw-r--r--libs/math/doc/sf/license.qbk (renamed from libs/math/doc/sf_and_dist/license.qbk)0
-rw-r--r--libs/math/doc/sf/number_series.qbk270
-rw-r--r--libs/math/doc/sf/owens_t.qbk134
-rw-r--r--libs/math/doc/sf/poisson_optimisation.qbk (renamed from libs/math/doc/sf_and_dist/poisson_optimisation.qbk)0
-rw-r--r--libs/math/doc/sf/pow.qbk157
-rw-r--r--libs/math/doc/sf/powers.qbk336
-rw-r--r--libs/math/doc/sf/sinc.qbk110
-rw-r--r--libs/math/doc/sf/spherical_harmonic.qbk150
-rw-r--r--libs/math/doc/sf/test_html4_symbols.qbk (renamed from libs/math/doc/sf_and_dist/test_html4_symbols.qbk)0
-rw-r--r--libs/math/doc/sf/tgamma.qbk201
-rw-r--r--libs/math/doc/sf/zeta.qbk (renamed from libs/math/doc/sf_and_dist/zeta.qbk)0
-rw-r--r--libs/math/doc/sf_and_dist/Jamfile.v289
-rw-r--r--libs/math/doc/sf_and_dist/background.qbk84
-rw-r--r--libs/math/doc/sf_and_dist/bessel_ik.qbk201
-rw-r--r--libs/math/doc/sf_and_dist/bessel_jy.qbk283
-rw-r--r--libs/math/doc/sf_and_dist/bessel_spherical.qbk87
-rw-r--r--libs/math/doc/sf_and_dist/building.qbk106
-rw-r--r--libs/math/doc/sf_and_dist/common_overviews.qbk223
-rw-r--r--libs/math/doc/sf_and_dist/concepts.qbk470
-rw-r--r--libs/math/doc/sf_and_dist/config_macros.qbk67
-rw-r--r--libs/math/doc/sf_and_dist/constants.qbk710
-rw-r--r--libs/math/doc/sf_and_dist/credits.qbk94
-rw-r--r--libs/math/doc/sf_and_dist/dist_algorithms.qbk78
-rw-r--r--libs/math/doc/sf_and_dist/dist_reference.qbk145
-rw-r--r--libs/math/doc/sf_and_dist/dist_tutorial.qbk467
-rw-r--r--libs/math/doc/sf_and_dist/distributions/bernoulli.qbk118
-rw-r--r--libs/math/doc/sf_and_dist/distributions/beta.qbk280
-rw-r--r--libs/math/doc/sf_and_dist/distributions/binomial.qbk404
-rw-r--r--libs/math/doc/sf_and_dist/distributions/binomial_example.qbk332
-rw-r--r--libs/math/doc/sf_and_dist/distributions/c_sharp.qbk20
-rw-r--r--libs/math/doc/sf_and_dist/distributions/cauchy.qbk154
-rw-r--r--libs/math/doc/sf_and_dist/distributions/chi_squared.qbk161
-rw-r--r--libs/math/doc/sf_and_dist/distributions/chi_squared_examples.qbk500
-rw-r--r--libs/math/doc/sf_and_dist/distributions/distribution_construction.qbk17
-rw-r--r--libs/math/doc/sf_and_dist/distributions/error_handling_example.qbk35
-rw-r--r--libs/math/doc/sf_and_dist/distributions/exponential.qbk108
-rw-r--r--libs/math/doc/sf_and_dist/distributions/extreme_value.qbk119
-rw-r--r--libs/math/doc/sf_and_dist/distributions/f_dist_example.qbk220
-rw-r--r--libs/math/doc/sf_and_dist/distributions/find_location_and_scale.qbk39
-rw-r--r--libs/math/doc/sf_and_dist/distributions/fisher.qbk190
-rw-r--r--libs/math/doc/sf_and_dist/distributions/gamma.qbk139
-rw-r--r--libs/math/doc/sf_and_dist/distributions/geometric.qbk350
-rw-r--r--libs/math/doc/sf_and_dist/distributions/geometric_example.qbk20
-rw-r--r--libs/math/doc/sf_and_dist/distributions/hypergeometric.qbk229
-rw-r--r--libs/math/doc/sf_and_dist/distributions/inverse_chi_squared.qbk176
-rw-r--r--libs/math/doc/sf_and_dist/distributions/inverse_chi_squared_eg.qbk32
-rw-r--r--libs/math/doc/sf_and_dist/distributions/inverse_gamma.qbk129
-rw-r--r--libs/math/doc/sf_and_dist/distributions/inverse_gaussian.qbk171
-rw-r--r--libs/math/doc/sf_and_dist/distributions/laplace.qbk142
-rw-r--r--libs/math/doc/sf_and_dist/distributions/logistic.qbk103
-rw-r--r--libs/math/doc/sf_and_dist/distributions/lognormal.qbk119
-rw-r--r--libs/math/doc/sf_and_dist/distributions/nag_library.qbk60
-rw-r--r--libs/math/doc/sf_and_dist/distributions/nc_beta.qbk213
-rw-r--r--libs/math/doc/sf_and_dist/distributions/nc_chi_squared.qbk280
-rw-r--r--libs/math/doc/sf_and_dist/distributions/nc_chi_squared_example.qbk20
-rw-r--r--libs/math/doc/sf_and_dist/distributions/nc_f.qbk193
-rw-r--r--libs/math/doc/sf_and_dist/distributions/nc_t.qbk195
-rw-r--r--libs/math/doc/sf_and_dist/distributions/negative_binomial.qbk373
-rw-r--r--libs/math/doc/sf_and_dist/distributions/negative_binomial_example.qbk192
-rw-r--r--libs/math/doc/sf_and_dist/distributions/non_members.qbk406
-rw-r--r--libs/math/doc/sf_and_dist/distributions/normal.qbk120
-rw-r--r--libs/math/doc/sf_and_dist/distributions/normal_example.qbk36
-rw-r--r--libs/math/doc/sf_and_dist/distributions/pareto.qbk121
-rw-r--r--libs/math/doc/sf_and_dist/distributions/poisson.qbk103
-rw-r--r--libs/math/doc/sf_and_dist/distributions/rayleigh.qbk119
-rw-r--r--libs/math/doc/sf_and_dist/distributions/skew_normal.qbk193
-rw-r--r--libs/math/doc/sf_and_dist/distributions/students_t.qbk171
-rw-r--r--libs/math/doc/sf_and_dist/distributions/students_t_examples.qbk781
-rw-r--r--libs/math/doc/sf_and_dist/distributions/triangular.qbk168
-rw-r--r--libs/math/doc/sf_and_dist/distributions/uniform.qbk134
-rw-r--r--libs/math/doc/sf_and_dist/distributions/weibull.qbk132
-rw-r--r--libs/math/doc/sf_and_dist/ellint_introduction.qbk224
-rw-r--r--libs/math/doc/sf_and_dist/equations/acosh1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/acosh2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/acosh3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/acosh4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/asinh1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/asinh2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/asinh3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/asinh4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/atanh1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/atanh2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/atanh3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel10.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel11.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel12.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel13.mml140
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel13.pngbin7501 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel13.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel14.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel15.mml1
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel15.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel16.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel8.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel9.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta8.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/binomial_ref1.mml212
-rw-r--r--libs/math/doc/sf_and_dist/equations/binomial_ref1.pngbin11562 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/binomial_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/binomial_ref2.mml98
-rw-r--r--libs/math/doc/sf_and_dist/equations/binomial_ref2.pngbin5541 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/binomial_ref2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/cauchy_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/chf.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/chi_squ_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/chi_squ_tut1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/chi_squ_tut2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/chi_squ_tut3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/derivative1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/derivative2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/digamma1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/digamma2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/digamma3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/dist_tutorial1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/dist_tutorial2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/dist_tutorial3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/dist_tutorial4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint10.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint11.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint12.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint13.mml1
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint13.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint14.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint15.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint16.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint17.mml173
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint17.pngbin13627 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint17.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint18.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint19.mml119
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint19.pngbin10576 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint19.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint20.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint21.mml175
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint21.pngbin16123 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint21.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint22.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint23.mml130
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint23.pngbin9163 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint23.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint24.mml228
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint24.pngbin15116 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint24.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint25.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint26.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint8.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ellint9.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/erf1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/erf2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/error1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/error2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_i_1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_i_2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_i_3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_i_4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_n_1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_n_2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_n_3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_n_4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/expint_n_5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/fisher_pdf.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/fraction1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/fraction2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/fraction3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/fraction4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamm1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamm2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamm3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamm4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamm5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamma_ratio0.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/gamma_ratio1.svg2
-rwxr-xr-xlibs/math/doc/sf_and_dist/equations/generate.sh33
-rw-r--r--libs/math/doc/sf_and_dist/equations/hankel1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hankel2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hankel3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hankel4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hankel5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hazard.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hermite_0.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hermite_1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric5.mml159
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric5.pngbin10835 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric6.mml295
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric6.pngbin23207 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypergeometric6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypot.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/hypot2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta10.mml202
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta10.pngbin11792 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta10.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta11.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta12.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta5.mml185
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta5.pngbin11332 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta6.mml247
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta6.pngbin15389 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta8.mml243
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta8.pngbin16365 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta8.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta9.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/ibeta_inv8.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma10.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma11.mml124
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma11.pngbin11446 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma11.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma11b.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma12.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma13.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma16.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma17.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma18.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma19.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma1f.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma2f.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma8.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/igamma9.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/laguerre_0.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/laguerre_1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/laguerre_2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/laguerre_3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos0.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos0a.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos0b.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lanczos7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/laplace_pdf.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_0.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_1b.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_2.mml103
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_2.pngbin8840 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_3.mml106
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_3.pngbin5823 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/legendre_5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm5.mml157
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm5.pngbin12373 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm6.mml166
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm6.pngbin12500 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/lgamm6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/log1pseries.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/lognormal_ref.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel10.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel11.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel12.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel13.mml1
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel13.pngbin6141 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel13.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel14.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel15.mml1
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel15.pngbin5215 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel15.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel16.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel17.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel8.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/mbessel9.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_beta_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_beta_ref2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_beta_ref3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_beta_ref4.mml119
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_beta_ref4.pngbin10001 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_beta_ref4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.mml86
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.pngbin6684 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_f_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_f_ref2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_t_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_t_ref2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_t_ref3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_t_ref4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/nc_t_ref5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/neg_binomial_ref.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/normal_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/poisson_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/roots1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/roots2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/roots3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/roots4.mml67
-rw-r--r--libs/math/doc/sf_and_dist/equations/roots4.pngbin3874 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/roots4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel2.mml1
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel2.pngbin5493 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel4.mml1
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel4.pngbin5494 -> 0 bytes
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/sbessel5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb15.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb17.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb18.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb20.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb22.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/special_functions_blurb7.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/spherical_0.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/spherical_1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/spherical_2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/spherical_3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/students_t_dist.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/students_t_ref1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/zeta1.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/zeta2.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/zeta3.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/zeta4.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/zeta5.svg2
-rw-r--r--libs/math/doc/sf_and_dist/equations/zeta6.svg2
-rw-r--r--libs/math/doc/sf_and_dist/erf.qbk214
-rw-r--r--libs/math/doc/sf_and_dist/erf_inv.qbk132
-rw-r--r--libs/math/doc/sf_and_dist/error.qbk71
-rw-r--r--libs/math/doc/sf_and_dist/error_handling.qbk398
-rw-r--r--libs/math/doc/sf_and_dist/factorials.qbk372
-rw-r--r--libs/math/doc/sf_and_dist/faq.qbk95
-rw-r--r--libs/math/doc/sf_and_dist/float_next.qbk201
-rw-r--r--libs/math/doc/sf_and_dist/fp_facets.qbk567
-rw-r--r--libs/math/doc/sf_and_dist/fpclassify.qbk124
-rw-r--r--libs/math/doc/sf_and_dist/graphs/acosh.svg64
-rw-r--r--libs/math/doc/sf_and_dist/graphs/asinh.svg61
-rw-r--r--libs/math/doc/sf_and_dist/graphs/atanh.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.svg68
-rw-r--r--libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/beta.svg73
-rw-r--r--libs/math/doc/sf_and_dist/graphs/beta_pdf.svg79
-rw-r--r--libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.svg67
-rw-r--r--libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.svg66
-rw-r--r--libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.svg61
-rw-r--r--libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/cbrt.svg60
-rw-r--r--libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.svg76
-rw-r--r--libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.svg76
-rw-r--r--libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.svg87
-rw-r--r--libs/math/doc/sf_and_dist/graphs/cyl_neumann.svg77
-rw-r--r--libs/math/doc/sf_and_dist/graphs/digamma.svg62
-rw-r--r--libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp645
-rw-r--r--libs/math/doc/sf_and_dist/graphs/ellint_1.svg70
-rw-r--r--libs/math/doc/sf_and_dist/graphs/ellint_2.svg71
-rw-r--r--libs/math/doc/sf_and_dist/graphs/ellint_3.svg74
-rw-r--r--libs/math/doc/sf_and_dist/graphs/ellint_carlson.svg70
-rw-r--r--libs/math/doc/sf_and_dist/graphs/erf.svg61
-rw-r--r--libs/math/doc/sf_and_dist/graphs/erf_inv.svg59
-rw-r--r--libs/math/doc/sf_and_dist/graphs/erfc.svg61
-rw-r--r--libs/math/doc/sf_and_dist/graphs/erfc_inv.svg60
-rw-r--r--libs/math/doc/sf_and_dist/graphs/expint2.svg78
-rw-r--r--libs/math/doc/sf_and_dist/graphs/expint_i.svg63
-rw-r--r--libs/math/doc/sf_and_dist/graphs/expm1.svg64
-rw-r--r--libs/math/doc/sf_and_dist/graphs/exponential_pdf.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.svg62
-rw-r--r--libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.svg71
-rw-r--r--libs/math/doc/sf_and_dist/graphs/gamma1_pdf.svg66
-rw-r--r--libs/math/doc/sf_and_dist/graphs/gamma2_pdf.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/gamma_p.svg80
-rw-r--r--libs/math/doc/sf_and_dist/graphs/gamma_q.svg79
-rw-r--r--libs/math/doc/sf_and_dist/graphs/hermite.svg75
-rw-r--r--libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_1.svg73
-rw-r--r--libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_2.svg71
-rw-r--r--libs/math/doc/sf_and_dist/graphs/ibeta.svg89
-rw-r--r--libs/math/doc/sf_and_dist/graphs/laguerre.svg78
-rw-r--r--libs/math/doc/sf_and_dist/graphs/laplace_pdf.svg75
-rw-r--r--libs/math/doc/sf_and_dist/graphs/legendre_p.svg77
-rw-r--r--libs/math/doc/sf_and_dist/graphs/legendre_q.svg74
-rw-r--r--libs/math/doc/sf_and_dist/graphs/lgamma.svg61
-rw-r--r--libs/math/doc/sf_and_dist/graphs/log1p.svg56
-rw-r--r--libs/math/doc/sf_and_dist/graphs/logistic_pdf.svg67
-rw-r--r--libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.svg61
-rw-r--r--libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.svg62
-rw-r--r--libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.svg83
-rw-r--r--libs/math/doc/sf_and_dist/graphs/nc_f_pdf.svg78
-rw-r--r--libs/math/doc/sf_and_dist/graphs/nc_t_pdf.svg68
-rw-r--r--libs/math/doc/sf_and_dist/graphs/nccs_pdf.svg75
-rw-r--r--libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg61
-rw-r--r--libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg68
-rw-r--r--libs/math/doc/sf_and_dist/graphs/normal_pdf.svg78
-rw-r--r--libs/math/doc/sf_and_dist/graphs/pareto_pdf1.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/pareto_pdf2.svg64
-rw-r--r--libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.svg65
-rw-r--r--libs/math/doc/sf_and_dist/graphs/powm1.svg84
-rw-r--r--libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.svg78
-rw-r--r--libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.svg69
-rw-r--r--libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp573
-rw-r--r--libs/math/doc/sf_and_dist/graphs/sinc_pi.svg58
-rw-r--r--libs/math/doc/sf_and_dist/graphs/sinhc_pi.svg63
-rw-r--r--libs/math/doc/sf_and_dist/graphs/sph_bessel.svg75
-rw-r--r--libs/math/doc/sf_and_dist/graphs/sph_neumann.svg76
-rw-r--r--libs/math/doc/sf_and_dist/graphs/sqrt1pm1.svg62
-rw-r--r--libs/math/doc/sf_and_dist/graphs/students_t_pdf.svg68
-rw-r--r--libs/math/doc/sf_and_dist/graphs/tgamma.svg69
-rw-r--r--libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.svg81
-rw-r--r--libs/math/doc/sf_and_dist/graphs/triangular_cdf.svg78
-rw-r--r--libs/math/doc/sf_and_dist/graphs/triangular_pdf.svg71
-rw-r--r--libs/math/doc/sf_and_dist/graphs/uniform_cdf.svg75
-rw-r--r--libs/math/doc/sf_and_dist/graphs/uniform_pdf.svg75
-rw-r--r--libs/math/doc/sf_and_dist/graphs/weibull_pdf1.svg68
-rw-r--r--libs/math/doc/sf_and_dist/graphs/weibull_pdf2.svg63
-rw-r--r--libs/math/doc/sf_and_dist/graphs/zeta1.svg63
-rw-r--r--libs/math/doc/sf_and_dist/graphs/zeta2.svg58
-rw-r--r--libs/math/doc/sf_and_dist/html/index.html550
-rw-r--r--libs/math/doc/sf_and_dist/html/index/s13.html2299
-rw-r--r--libs/math/doc/sf_and_dist/html/index/s14.html245
-rw-r--r--libs/math/doc/sf_and_dist/html/index/s15.html405
-rw-r--r--libs/math/doc/sf_and_dist/html/index/s16.html303
-rw-r--r--libs/math/doc/sf_and_dist/html/index/s17.html4796
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders.html52
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html770
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html574
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html217
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html121
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html542
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants.html59
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/FAQ.html480
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/constants.html1489
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/intro.html118
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/new_const.html267
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial.html52
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/non_templ.html82
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/templ.html164
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/user_def.html313
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist.html224
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref.html113
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dist_algorithms.html143
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists.html106
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/bernoulli_dist.html357
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/beta_dist.html626
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/binomial_dist.html918
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/cauchy_dist.html308
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/chi_squared_dist.html414
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/exp_dist.html332
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/extreme_dist.html334
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/f_dist.html441
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/gamma_dist.html375
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/geometric_dist.html863
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html342
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html481
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html378
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html451
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/laplace_dist.html364
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/logistic_dist.html300
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/lognormal_dist.html332
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html416
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html514
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html416
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html365
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html908
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/normal_dist.html327
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/pareto.html354
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/poisson_dist.html334
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/rayleigh.html350
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/skew_normal_dist.html504
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/students_t_dist.html422
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/triangular_dist.html428
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/uniform_dist.html371
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/weibull_dist.html371
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/nmp.html675
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/future.html148
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut.html155
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/dist_params.html99
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview.html57
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/complements.html200
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/generic.html256
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/headers.html77
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/objects.html134
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/parameters.html72
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/summary.html73
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/variates.html76
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg.html128
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg.html59
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_conf.html241
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_size_eg.html158
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html328
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html559
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/c_sharp.html57
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg.html53
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_intervals.html235
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html180
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_test.html295
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/dist_construct_eg.html304
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/error_eg.html213
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/f_eg.html330
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg.html53
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html225
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html549
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html240
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/geometric_eg.html512
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html375
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nag_library.html114
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html51
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html1309
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg.html60
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_conf.html241
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html221
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html611
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html142
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example.html51
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html612
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg.html58
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/paired_st.html79
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html268
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_size.html179
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_test.html334
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/two_sample_students_t.html358
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/extern_c.html51
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/c99.html477
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1.html619
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1_ref.html538
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview.html72
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/building.html162
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/compilers_overview.html615
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/config_macros.html413
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/contact.html63
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html84
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/directories.html126
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/error_handling.html1105
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/faq.html208
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/hints.html111
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html489
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/intro.html134
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/namespaces.html95
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html102
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/perf_over.html81
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/pol_overview.html117
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/result_type.html148
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/threads.html50
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html620
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf.html56
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html377
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html3132
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html294
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html81
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html81
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html63
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html901
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy.html89
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_overview.html117
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref.html64
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/assert_undefined.html100
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html266
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html781
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html156
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/iteration_pol.html66
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/namespace_pol.html164
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/pol_ref_ref.html259
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html259
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/precision_pol.html121
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial.html64
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html108
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html180
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/changing_policy_defaults.html276
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/namespace_policies.html416
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_tut_defaults.html140
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_usage.html71
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html430
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/user_def_err_pol.html531
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/what_is_a_policy.html87
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special.html167
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel.html54
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html695
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html213
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html486
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html156
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint.html56
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html268
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html268
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html322
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html442
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html408
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html50
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html301
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html296
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials.html56
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_binomial.html147
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_double_factorial.html156
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_factorial.html199
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_falling_factorial.html112
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_rising_factorial.html116
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel.html50
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html161
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html122
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper.html51
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/acosh.html131
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/asinh.html126
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/atanh.html136
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/inv_hyper_over.html114
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/owens_t.html230
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers.html55
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html98
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html264
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html107
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html88
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html120
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html100
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html103
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta.html53
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_derivative.html103
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_function.html328
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_function.html981
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_inv_function.html533
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf.html49
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html631
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html205
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma.html57
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/digamma.html388
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_derivatives.html108
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_ratios.html357
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma.html1049
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma_inv.html259
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/lgamma.html481
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/tgamma.html468
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly.html52
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html283
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html457
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html711
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html310
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc.html51
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_overview.html81
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_pi.html80
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinhc_pi.html84
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html45
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html313
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/status.html49
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html138
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html488
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html1244
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html73
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1.html59
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html285
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html127
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html236
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html424
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html588
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html200
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/tuples.html86
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2.html53
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html226
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/minimax.html285
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html136
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html549
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals_overview.html58
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/using_udt.html58
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/archetypes.html208
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html1366
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/dist_concept.html398
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/e_float.html58
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_mpfr.html110
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_ntl.html69
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils.html81
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets.html90
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/examples.html269
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/intro.html390
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/portability.html49
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/rationale.html66
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/reference.html490
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/fpclass.html251
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float.html82
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_advance.html75
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_distance.html109
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_next.html77
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_prior.html77
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/nextafter.html110
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding.html51
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/modf.html85
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/round.html85
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/trunc.html87
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/utils/sign_functions.html254
-rw-r--r--libs/math/doc/sf_and_dist/html4_symbols.qbk217
-rw-r--r--libs/math/doc/sf_and_dist/implementation.qbk598
-rw-r--r--libs/math/doc/sf_and_dist/internals_overview.qbk21
-rw-r--r--libs/math/doc/sf_and_dist/inv_hyper.qbk279
-rw-r--r--libs/math/doc/sf_and_dist/issues.qbk155
-rw-r--r--libs/math/doc/sf_and_dist/lanczos.qbk246
-rw-r--r--libs/math/doc/sf_and_dist/lgamma.qbk217
-rw-r--r--libs/math/doc/sf_and_dist/math.qbk535
-rw-r--r--libs/math/doc/sf_and_dist/minimax.qbk167
-rw-r--r--libs/math/doc/sf_and_dist/overview.qbk90
-rw-r--r--libs/math/doc/sf_and_dist/owens_t.qbk134
-rw-r--r--libs/math/doc/sf_and_dist/performance.qbk466
-rw-r--r--libs/math/doc/sf_and_dist/policy.qbk896
-rw-r--r--libs/math/doc/sf_and_dist/policy_tutorial.qbk509
-rw-r--r--libs/math/doc/sf_and_dist/pow.qbk157
-rw-r--r--libs/math/doc/sf_and_dist/powers.qbk282
-rw-r--r--libs/math/doc/sf_and_dist/pp_pi.hpp90
-rw-r--r--libs/math/doc/sf_and_dist/rational.qbk176
-rw-r--r--libs/math/doc/sf_and_dist/references.qbk115
-rw-r--r--libs/math/doc/sf_and_dist/relative_error.qbk134
-rw-r--r--libs/math/doc/sf_and_dist/result_type_calc.qbk85
-rw-r--r--libs/math/doc/sf_and_dist/roadmap.qbk203
-rw-r--r--libs/math/doc/sf_and_dist/roots.qbk277
-rw-r--r--libs/math/doc/sf_and_dist/roots_without_derivatives.qbk425
-rw-r--r--libs/math/doc/sf_and_dist/sign.qbk137
-rw-r--r--libs/math/doc/sf_and_dist/sinc.qbk110
-rw-r--r--libs/math/doc/sf_and_dist/spherical_harmonic.qbk150
-rw-r--r--libs/math/doc/sf_and_dist/test_data.qbk438
-rw-r--r--libs/math/doc/sf_and_dist/tgamma.qbk202
-rw-r--r--libs/math/doc/sf_and_dist/tr1.qbk398
-rw-r--r--libs/math/doc/tr1/c99_ref.qbk (renamed from libs/math/doc/sf_and_dist/c99_ref.qbk)0
-rw-r--r--libs/math/doc/tr1/tr1_ref.qbk (renamed from libs/math/doc/sf_and_dist/tr1_ref.qbk)0
-rw-r--r--libs/math/doc/win32_nmake.mak (renamed from libs/math/doc/sf_and_dist/win32_nmake.mak)0
2534 files changed, 140739 insertions, 121935 deletions
diff --git a/libs/math/doc/Jamfile.v2 b/libs/math/doc/Jamfile.v2
index 175858398b..996013eb46 100644
--- a/libs/math/doc/Jamfile.v2
+++ b/libs/math/doc/Jamfile.v2
@@ -4,6 +4,11 @@
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
using quickbook ;
+using auto-index ;
+import modules ;
+
+path-constant images_location : html ;
+path-constant here : . ;
xml math : math.qbk ;
boostbook standalone
@@ -12,6 +17,7 @@ boostbook standalone
:
# Path for links to Boost:
<xsl:param>boost.root=../../../..
+ <xsl:param>html.stylesheet=math.css
# Some general style settings:
<xsl:param>table.footnote.number.format=1
@@ -21,12 +27,65 @@ boostbook standalone
# Use graphics not text for navigation:
<xsl:param>navig.graphics=1
# How far down we chunk nested sections, basically all of them:
- <xsl:param>chunk.section.depth=1
+ <xsl:param>chunk.section.depth=10
# Don't put the first section on the same page as the TOC:
- <xsl:param>chunk.first.sections=0
+ <xsl:param>chunk.first.sections=1
# How far down sections get TOC's
- <xsl:param>toc.section.depth=1
+ <xsl:param>toc.section.depth=10
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+ # Index on type:
+ <xsl:param>index.on.type=1
+ <xsl:param>boost.noexpand.chapter.toc=1
+
+ #<xsl:param>root.filename="sf_dist_and_tools"
+ #<xsl:param>graphicsize.extension=1
+ #<xsl:param>use.extensions=1
+
+ # PDF Options:
+ # TOC Generation: this is needed for FOP-0.9 and later:
+ <xsl:param>fop1.extensions=0
+ <format>pdf:<xsl:param>xep.extensions=1
+ # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+ <format>pdf:<xsl:param>fop.extensions=0
+ <format>pdf:<xsl:param>fop1.extensions=0
+ # No indent on body text:
+ <format>pdf:<xsl:param>body.start.indent=0pt
+ # Margin size:
+ <format>pdf:<xsl:param>page.margin.inner=0.5in
+ # Margin size:
+ <format>pdf:<xsl:param>page.margin.outer=0.5in
+ # Paper type = A4
+ <format>pdf:<xsl:param>paper.type=A4
+ # Yes, we want graphics for admonishments:
+ <xsl:param>admon.graphics=1
+ # Set this one for PDF generation *only*:
+ # default pnd graphics are awful in PDF form,
+ # better use SVG's instead:
+ <format>pdf:<xsl:param>admon.graphics.extension=".svg"
+ <format>pdf:<xsl:param>use.role.for.mediaobject=1
+ <format>pdf:<xsl:param>preferred.mediaobject.role=print
+ <format>pdf:<xsl:param>img.src.path=$(images_location)/
+ <format>pdf:<xsl:param>draft.mode="no"
+ <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/math/doc/html
+ <auto-index>on <format>pdf:<auto-index-internal>off
+ <format>html:<auto-index-internal>on
+ <auto-index-script>$(here)/index.idx
+ <auto-index-prefix>$(here)/../../..
+ #<auto-index-verbose>on
+ <quickbook-define>enable_index
+ <format>pdf:<xsl:param>index.on.type=1
;
+install pdfinstall : standalone/<format>pdf : <location>. <install-type>PDF <name>math.pdf ;
+explicit pdfinstall ;
+
+
+
+
+
+
diff --git a/libs/math/doc/background/error.qbk b/libs/math/doc/background/error.qbk
new file mode 100644
index 0000000000..a3a79b14cc
--- /dev/null
+++ b/libs/math/doc/background/error.qbk
@@ -0,0 +1,73 @@
+[section:relative_error Relative Error]
+
+Given an actual value /a/ and a found value /v/ the relative error can be
+calculated from:
+
+[equation error2]
+
+However the test programs in the library use the symmetrical form:
+
+[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"
+result, and which is the experimental one. It guarantees to return a value
+at least as large as the relative error.
+
+Special care needs to be taken when one value is zero: we could either take the
+absolute error in this case (but that's cheating as the absolute error is likely
+to be very small), or we could assign a value of either 1 or infinity to the
+relative error in this special case. In the test cases for the special functions
+in this library, everything below a threshold is regarded as "effectively zero",
+otherwise the relative error is assigned the value of 1 if only one of the terms
+is zero. The threshold is currently set at `std::numeric_limits<>::min()`:
+in other words all denormalised numbers are regarded as a zero.
+
+All the test programs calculate /quantized relative error/, whereas the graphs
+in this manual are produced with the /actual error/. The difference is as
+follows: in the test programs, the test data is rounded to the target real type
+under test when the program is compiled,
+so the error observed will then be a whole number of /units in the last place/
+either rounded up from the actual error, or rounded down (possibly to zero).
+In contrast the /true error/ is obtained by extending
+the precision of the calculated value, and then comparing to the actual value:
+in this case the calculated error may be some fraction of /units in the last place/.
+
+Note that throughout this manual and the test programs the relative error is
+usually quoted in units of epsilon. However, remember that /units in the last place/
+more accurately reflect the number of contaminated digits, and that relative
+error can /"wobble"/ by a factor of 2 compared to /units in the last place/.
+In other words: two implementations of the same function, whose
+maximum relative errors differ by a factor of 2, can actually be accurate
+to the same number of binary digits. You have been warned!
+
+[h4:zero_error The Impossibility of Zero Error]
+
+For many of the functions in this library, it is assumed that the error is
+"effectively zero" if the computation can be done with a number of guard
+digits. However it should be remembered that if the result is a
+/transcendental number/
+then as a point of principle we can never be sure that the result is accurate
+to more than 1 ulp. This is an example of what
+[@http://en.wikipedia.org/wiki/William_Kahan] called
+[@http://en.wikipedia.org/wiki/Rounding#The_table-maker.27s_dilemma]:
+consider what happens if the first guard digit is a one, and the remaining guard digits are all zero.
+Do we have a tie or not? Since the only thing we can tell about a transcendental number
+is that its digits have no particular pattern, we can never tell if we have a tie,
+no matter how many guard digits we have. Therefore, we can never be completely sure
+that the result has been rounded in the right direction. Of course, transcendental
+numbers that just happen to be a tie - for however many guard digits we have - are
+extremely rare, and get rarer the more guard digits we have, but even so....
+
+Refer to the classic text
+[@http://docs.sun.com/source/806-3568/ncg_goldberg.html What Every Computer Scientist Should Know About Floating-Point Arithmetic]
+for more information.
+
+[endsect][/section:relative_error Relative Error]
+
+[/
+ Copyright 2006, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/background/implementation.qbk b/libs/math/doc/background/implementation.qbk
new file mode 100644
index 0000000000..ca07b2dd53
--- /dev/null
+++ b/libs/math/doc/background/implementation.qbk
@@ -0,0 +1,650 @@
+[section:sf_implementation Additional Implementation Notes]
+
+The majority of the implementation notes are included with the documentation
+of each function or distribution. The notes here are of a more general nature,
+and reflect more the general implementation philosophy used.
+
+[h4 Implemention philosophy]
+
+"First be right, then be fast."
+
+There will always be potential compromises
+to be made between speed and accuracy.
+It may be possible to find faster methods,
+particularly for certain limited ranges of arguments,
+but for most applications of math functions and distributions,
+we judge that speed is rarely as important as accuracy.
+
+So our priority is accuracy.
+
+To permit evaluation of accuracy of the special functions,
+production of extremely accurate tables of test values
+has received considerable effort.
+
+(It also required much CPU effort -
+there was some danger of molten plastic dripping from the bottom of JM's laptop,
+so instead, PAB's Dual-core desktop was kept 50% busy for *days*
+calculating some tables of test values!)
+
+For a specific RealType, say float or double,
+it may be possible to find approximations for some functions
+that are simpler and thus faster, but less accurate
+(perhaps because there are no refining iterations,
+for example, when calculating inverse functions).
+
+If these prove accurate enough to be "fit for his purpose",
+then a user may substitute his custom specialization.
+
+For example, there are approximations dating back from times
+when computation was a [*lot] more expensive:
+
+H Goldberg and H Levine, Approximate formulas for
+percentage points and normalisation of t and chi squared,
+Ann. Math. Stat., 17(4), 216 - 225 (Dec 1946).
+
+A H Carter, Approximations to percentage points of the z-distribution,
+Biometrika 34(2), 352 - 358 (Dec 1947).
+
+These could still provide sufficient accuracy for some speed-critical applications.
+
+[h4 Accuracy and Representation of Test Values]
+
+In order to be accurate enough for as many as possible real types,
+constant values are given to 50 decimal digits if available
+(though many sources proved only accurate near to 64-bit double precision).
+Values are specified as long double types by appending L,
+unless they are exactly representable, for example integers, or binary fractions like 0.125.
+This avoids the risk of loss of accuracy converting from double, the default type.
+Values are used after static_cast<RealType>(1.2345L)
+to provide the appropriate RealType for spot tests.
+
+Functions that return constants values, like kurtosis for example, are written as
+
+`static_cast<RealType>(-3) / 5;`
+
+to provide the most accurate value
+that the compiler can compute for the real type.
+(The denominator is an integer and so will be promoted exactly).
+
+So tests for one third, *not* exactly representable with radix two floating-point,
+(should) use, for example:
+
+`static_cast<RealType>(1) / 3;`
+
+If a function is very sensitive to changes in input,
+specifying an inexact value as input (such as 0.1) can throw
+the result off by a noticeable amount: 0.1f is "wrong"
+by ~1e-7 for example (because 0.1 has no exact binary representation).
+That is why exact binary values - halves, quarters, and eighths etc -
+are used in test code along with the occasional fraction `a/b` with `b`
+a power of two (in order to ensure that the result is an exactly
+representable binary value).
+
+[h4 Tolerance of Tests]
+
+The tolerances need to be set to the maximum of:
+
+* Some epsilon value.
+* The accuracy of the data (often only near 64-bit double).
+
+Otherwise when long double has more digits than the test data, then no
+amount of tweaking an epsilon based tolerance will work.
+
+A common problem is when tolerances that are suitable for implementations
+like Microsoft VS.NET where double and long double are the same size:
+tests fail on other systems where long double is more accurate than double.
+Check first that the suffix L is present, and then that the tolerance is big enough.
+
+[h4 Handling Unsuitable Arguments]
+
+In
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1665.pdf Errors in Mathematical Special Functions], J. Marraffino & M. Paterno
+it is proposed that signalling a domain error is mandatory
+when the argument would give an mathematically undefined result.
+
+*Guideline 1
+
+[:A mathematical function is said to be defined at a point a = (a1, a2, . . .)
+if the limits as x = (x1, x2, . . .) 'approaches a from all directions agree'.
+The defined value may be any number, or +infinity, or -infinity.]
+
+Put crudely, if the function goes to + infinity
+and then emerges 'round-the-back' with - infinity,
+it is NOT defined.
+
+[:The library function which approximates a mathematical function shall signal a domain error
+whenever evaluated with argument values for which the mathematical function is undefined.]
+
+*Guideline 2
+
+[:The library function which approximates a mathematical function
+shall signal a domain error whenever evaluated with argument values
+for which the mathematical function obtains a non-real value.]
+
+This implementation is believed to follow these proposals and to assist compatibility with
+['ISO/IEC 9899:1999 Programming languages - C]
+and with the
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Draft Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph 5].
+[link math_toolkit.error_handling See also domain_error].
+
+See __policy_ref for details of the error handling policies that should allow
+a user to comply with any of these recommendations, as well as other behaviour.
+
+See [link math_toolkit.error_handling error handling]
+for a detailed explanation of the mechanism, and
+[link math_toolkit.stat_tut.weg.error_eg error_handling example]
+and
+[@../../example/error_handling_example.cpp error_handling_example.cpp]
+
+[caution If you enable throw but do NOT have try & catch block,
+then the program will terminate with an uncaught exception and probably abort.
+Therefore to get the benefit of helpful error messages, enabling *all* exceptions
+*and* using try&catch is recommended for all applications.
+However, for simplicity, this is not done for most examples.]
+
+[h4 Handling of Functions that are Not Mathematically defined]
+
+Functions that are not mathematically defined,
+like the Cauchy mean, fail to compile by default.
+A [link math_toolkit.pol_ref.assert_undefined policy]
+allows control of this.
+
+If the policy is to permit undefined functions, then calling them
+throws a domain error, by default. But the error policy can be set
+to not throw, and to return NaN instead. For example,
+
+`#define BOOST_MATH_DOMAIN_ERROR_POLICY ignore_error`
+
+appears before the first Boost include,
+then if the un-implemented function is called,
+mean(cauchy<>()) will return std::numeric_limits<T>::quiet_NaN().
+
+[warning If `std::numeric_limits<T>::has_quiet_NaN` is false
+(for example, if T is a User-defined type without NaN support),
+then an exception will always be thrown when a domain error occurs.
+Catching exceptions is therefore strongly recommended.]
+
+[h4 Median of distributions]
+
+There are many distributions for which we have been unable to find an analytic formula,
+and this has deterred us from implementing
+[@http://en.wikipedia.org/wiki/Median median functions], the mid-point in a list of values.
+
+However a useful numerical approximation for distribution `dist`
+is available as usual as an accessor non-member function median using `median(dist)`,
+that may be evaluated (in the absence of an analytic formula) by calling
+
+`quantile(dist, 0.5)` (this is the /mathematical/ definition of course).
+
+[@http://www.amstat.org/publications/jse/v13n2/vonhippel.html Mean, Median, and Skew, Paul T von Hippel]
+
+[@http://documents.wolfram.co.jp/teachersedition/MathematicaBook/24.5.html Descriptive Statistics,]
+
+[@http://documents.wolfram.co.jp/v5/Add-onsLinks/StandardPackages/Statistics/DescriptiveStatistics.html and ]
+
+[@http://documents.wolfram.com/v5/TheMathematicaBook/AdvancedMathematicsInMathematica/NumericalOperationsOnData/3.8.1.html
+Mathematica Basic Statistics.] give more detail, in particular for discrete distributions.
+
+
+[h4 Handling of Floating-Point Infinity]
+
+Some functions and distributions are well defined with + or - infinity as
+argument(s), but after some experiments with handling infinite arguments
+as special cases, we concluded that it was generally more useful to forbid this,
+and instead to return the result of __domain_error.
+
+Handling infinity as special cases is additionally complicated
+because, unlike built-in types on most - but not all - platforms,
+not all User-Defined Types are
+specialized to provide `std::numeric_limits<RealType>::infinity()`
+and would return zero rather than any representation of infinity.
+
+The rationale is that non-finiteness may happen because of error
+or overflow in the users code, and it will be more helpful for this
+to be diagnosed promptly rather than just continuing.
+The code also became much more complicated, more error-prone,
+much more work to test, and much less readable.
+
+However in a few cases, for example normal, where we felt it obvious,
+we have permitted argument(s) to be infinity,
+provided infinity is implemented for the `RealType` on that implementation,
+and it is supported and tested by the distribution.
+
+The range for these distributions is set to infinity if supported by the platform,
+(by testing `std::numeric_limits<RealType>::has_infinity`)
+else the maximum value provided for the `RealType` by Boost.Math.
+
+Testing for has_infinity is obviously important for arbitrary precision types
+where infinity makes much less sense than for IEEE754 floating-point.
+
+So far we have not set `support()` function (only range)
+on the grounds that the PDF is uninteresting/zero for infinities.
+
+Users who require special handling of infinity (or other specific value) can,
+of course, always intercept this before calling a distribution or function
+and return their own choice of value, or other behavior.
+This will often be simpler than trying to handle the aftermath of the error policy.
+
+Overflow, underflow, denorm can be handled using __error_policy.
+
+We have also tried to catch boundary cases where the mathematical specification
+would result in divide by zero or overflow and signalling these similarly.
+What happens at (and near), poles can be controlled through __error_policy.
+
+[h4 Scale, Shape and Location]
+
+We considered adding location and scale to the list of functions, for example:
+
+ template <class RealType>
+ inline RealType scale(const triangular_distribution<RealType>& dist)
+ {
+ RealType lower = dist.lower();
+ RealType mode = dist.mode();
+ RealType upper = dist.upper();
+ RealType result; // of checks.
+ if(false == detail::check_triangular(BOOST_CURRENT_FUNCTION, lower, mode, upper, &result))
+ {
+ return result;
+ }
+ return (upper - lower);
+ }
+
+but found that these concepts are not defined (or their definition too contentious)
+for too many distributions to be generally applicable.
+Because they are non-member functions, they can be added if required.
+
+[h4 Notes on Implementation of Specific Functions & Distributions]
+
+* Default parameters for the Triangular Distribution.
+We are uncertain about the best default parameters.
+Some sources suggest that the Standard Triangular Distribution has
+lower = 0, mode = half and upper = 1.
+However as a approximation for the normal distribution,
+the most common usage, lower = -1, mode = 0 and upper = 1 would be more suitable.
+
+[h4 Rational Approximations Used]
+
+Some of the special functions in this library are implemented via
+rational approximations. These are either taken from the literature,
+or devised by John Maddock using
+[link math_toolkit.internals2.minimax our Remez code].
+
+Rational rather than Polynomial approximations are used to ensure
+accuracy: polynomial approximations are often wonderful up to
+a certain level of accuracy, but then quite often fail to provide much greater
+accuracy no matter how many more terms are added.
+
+Our own approximations were devised either for added accuracy
+(to support 128-bit long doubles for example), or because
+literature methods were unavailable or under non-BSL
+compatible license. Our Remez code is known to produce good
+agreement with literature results in fairly simple "toy" cases.
+All approximations were checked
+for convergence and to ensure that
+they were not ill-conditioned (the coefficients can give a
+theoretically good solution, but the resulting rational function
+may be un-computable at fixed precision).
+
+Recomputing using different
+Remez implementations may well produce differing coefficients: the
+problem is well known to be ill conditioned in general, and our Remez implementation
+often found a broad and ill-defined minima for many of these approximations
+(of course for simple "toy" examples like approximating `exp` the minima
+is well defined, and the coeffiecents should agree no matter whose Remez
+implementation is used). This should not in general effect the validity
+of the approximations: there's good literature supporting the idea that
+coefficients can be "in error" without necessarily adversely effecting
+the result. Note that "in error" has a special meaning in this context,
+see [@http://front.math.ucdavis.edu/0101.5042
+"Approximate construction of rational approximations and the effect
+of error autocorrection.", Grigori Litvinov, eprint arXiv:math/0101042].
+Therefore the coefficients still need to be accurately calculated, even if they can
+be in error compared to the "true" minimax solution.
+
+[h4 Representation of Mathematical Constants]
+
+A macro BOOST_DEFINE_MATH_CONSTANT in constants.hpp is used
+to provide high accuracy constants to mathematical functions and distributions,
+since it is important to provide values uniformly for both built-in
+float, double and long double types,
+and for User Defined types in __multiprecision like __cpp_dec_float.
+and others like NTL::quad_float and NTL::RR.
+
+To permit calculations in this Math ToolKit and its tests, (and elsewhere)
+at about 100 decimal digits with NTL::RR type,
+it is obviously necessary to define constants to this accuracy.
+
+However, some compilers do not accept decimal digits strings as long as this.
+So the constant is split into two parts, with the 1st containing at least
+long double precision, and the 2nd zero if not needed or known.
+The 3rd part permits an exponent to be provided if necessary (use zero if none) -
+the other two parameters may only contain decimal digits (and sign and decimal point),
+and may NOT include an exponent like 1.234E99 (nor a trailing F or L).
+The second digit string is only used if T is a User-Defined Type,
+when the constant is converted to a long string literal and lexical_casted to type T.
+(This is necessary because you can't use a numeric constant
+since even a long double might not have enough digits).
+
+For example, pi is defined:
+
+ BOOST_DEFINE_MATH_CONSTANT(pi,
+ 3.141592653589793238462643383279502884197169399375105820974944,
+ 5923078164062862089986280348253421170679821480865132823066470938446095505,
+ 0)
+
+And used thus:
+
+ using namespace boost::math::constants;
+
+ double diameter = 1.;
+ double radius = diameter * pi<double>();
+
+ or boost::math::constants::pi<NTL::RR>()
+
+Note that it is necessary (if inconvenient) to specify the type explicitly.
+
+So you cannot write
+
+ double p = boost::math::constants::pi<>(); // could not deduce template argument for 'T'
+
+Neither can you write:
+
+ double p = boost::math::constants::pi; // Context does not allow for disambiguation of overloaded function
+ double p = boost::math::constants::pi(); // Context does not allow for disambiguation of overloaded function
+
+[h4 Thread safety]
+
+Reporting of error by setting `errno` should be thread-safe already
+(otherwise none of the std lib math functions would be thread safe?).
+If you turn on reporting of errors via exceptions, `errno` gets left unused anyway.
+
+For normal C++ usage, the Boost.Math `static const` constants are now thread-safe so
+for built-in real-number types: `float`, `double` and `long double` are all thread safe.
+
+For User_defined types, for example, __cpp_dec_float,
+the Boost.Math should also be thread-safe,
+(thought we are unsure how to rigorously prove this).
+
+(Thread safety has received attention in the C++11 Standard revision,
+so hopefully all compilers will do the right thing here at some point.)
+
+[h4 Sources of Test Data]
+
+We found a large number of sources of test data.
+We have assumed that these are /"known good"/
+if they agree with the results from our test
+and only consulted other sources for their /'vote'/
+in the case of serious disagreement.
+The accuracy, actual and claimed, vary very widely.
+Only [@http://functions.wolfram.com/ Wolfram Mathematica functions]
+provided a higher accuracy than
+C++ double (64-bit floating-point) and was regarded as
+the most-trusted source by far.
+The __R provided the widest range of distributions,
+but the usual Intel X86 distribution uses 64-but doubles,
+so our use was limited to the 15 to 17 decimal digit accuracy.
+
+A useful index of sources is:
+[@http://www.sal.hut.fi/Teaching/Resources/ProbStat/table.html
+Web-oriented Teaching Resources in Probability and Statistics]
+
+[@http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm Statlet]:
+Is a Javascript application that calculates and plots probability distributions,
+and provides the most complete range of distributions:
+
+[:Bernoulli, Binomial, discrete uniform, geometric, hypergeometric,
+negative binomial, Poisson, beta, Cauchy-Lorentz, chi-sequared, Erlang,
+exponential, extreme value, Fisher, gamma, Laplace, logistic,
+lognormal, normal, Parteo, Student's t, triangular, uniform, and Weibull.]
+
+It calculates pdf, cdf, survivor, log survivor, hazard, tail areas,
+& critical values for 5 tail values.
+
+It is also the only independent source found for the Weibull distribution;
+unfortunately it appears to suffer from very poor accuracy in areas where
+the underlying special function is known to be difficult to implement.
+
+[h4 Testing for Invalid Parameters to Functions and Constructors]
+
+After finding that some 'bad' parameters (like NaN) were not throwing
+a `domain_error` exception as they should, a function
+
+`check_out_of_range` (in `test_out_of_range.hpp`)
+was devised by JM to check
+(using Boost.Test's BOOST_CHECK_THROW macro)
+that bad parameters passed to constructors and functions throw `domain_error` exceptions.
+
+Usage is `check_out_of_range< DistributionType >(list-of-params);`
+Where list-of-params is a list of *valid* parameters from which the distribution can be constructed
+- ie the same number of args are passed to the function,
+as are passed to the distribution constructor.
+
+The values of the parameters are not important, but must be *valid* to pass the contructor checks;
+the default values are suitable, but must be explicitly provided, for example:
+
+ check_out_of_range<extreme_value_distribution<RealType> >(1, 2);
+
+Checks made are:
+
+* Infinity or NaN (if available) passed in place of each of the valid params.
+* Infinity or NaN (if available) as a random variable.
+* Out-of-range random variable passed to pdf and cdf
+(ie outside of "range(DistributionType)").
+* Out-of-range probability passed to quantile function and complement.
+
+but does *not* check finite but out-of-range parameters to the constructor
+because these are specific to each distribution, for example:
+
+ BOOST_CHECK_THROW(pdf(pareto_distribution<RealType>(0, 1), 0), std::domain_error);
+ BOOST_CHECK_THROW(pdf(pareto_distribution<RealType>(1, 0), 0), std::domain_error);
+
+checks `scale` and `shape` parameters are both > 0
+by checking that `domain_error` exception is thrown if either are == 0.
+
+(Use of `check_out_of_range` function may mean that some previous tests are now redundant).
+
+It was also noted that if more than one parameter is bad,
+then only the first detected will be reported by the error message.
+
+[h4 Creating and Managing the Equations]
+
+Equations that fit on a single line can most easily be produced by inline Quickbook code
+using templates for Unicode Greek and Unicode Math symbols.
+All Greek letter and small set of Math symbols is available at
+/boost-path/libs/math/doc/sf_and_dist/html4_symbols.qbk
+
+Where equations need to use more than one line, real Math editors were used.
+
+The primary source for the equations is now
+[@http://www.w3.org/Math/ MathML]: see the
+*.mml files in libs\/math\/doc\/sf_and_dist\/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.
+
+Conversion 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
+]
+
+See also the section on "Using Python to run Inkscape" and
+"Using inkscape to convert scalable vector SVG files to Portable Network graphic PNG".
+
+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 XP system
+JM's font setup is the same as the sample config file provided with SVGMath
+but with:
+
+[pre
+ <!\-\- Double\-struck \-\->
+ <mathvariant name\="double\-struck" family\="Mathematica7, Lucida Sans Unicode"\/>
+]
+
+changed to:
+
+[pre
+ <!\-\- Double\-struck \-\->
+ <mathvariant name\="double\-struck" family\="Lucida Sans Unicode"\/>
+]
+
+Note that unlike the sample config file supplied with SVGMath, this does not
+make use of the [@http://support.wolfram.com/technotes/fonts/windows/latestfonts.html 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 SVGs 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]
+
+Or using Inkscape (File, Export bitmap, Drawing tab, bitmap size (default size, 100 dpi), Filename (default). png)
+
+or Using Cygwin, a command such as:
+
+[pre for file in *.svg; do
+ /cygdrive/c/progra~1/Inkscape/inkscape -d 120 -e $(cygpath -a -w $(basename $file .svg).png) $(cygpath -a -w $file);
+done]
+
+Currently Inkscape seems to generate the better looking png's.
+
+The PDF is generated into \pdf\math.pdf
+using a command from a shell or command window with current directory
+\math_toolkit\libs\math\doc\sf_and_dist, typically:
+
+[pre bjam -a pdf >math_pdf.log]
+
+Note that XEP will have to be configured to *use and embed*
+whatever fonts are used by the SVG equations
+(almost certainly editing the sample xep.xml provided by the XEP installation).
+If you fail to do this you will get XEP warnings in the log file like
+
+[pre \[warning\]could not find any font family matching "Times New Roman"; replaced by Helvetica]
+
+(html is the default so it is generated at libs\math\doc\html\index.html
+using command line >bjam -a > math_toolkit.docs.log).
+
+ <!-- Sample configuration for Windows TrueType fonts. -->
+is provided in the xep.xml downloaded, but the Windows TrueType fonts are commented out.
+
+JM's XEP config file \xep\xep.xml has the following font configuration section added:
+
+[pre
+ <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> -->
+ <!-- actually called l_10646.ttf on Windows 2000 and Vista Sp1 -->
+ <font><font-data ttf="l_10646.ttf"/></font>
+ </font-family>
+]
+
+PAB had to alter his because the Lucida Sans Unicode font had a different name.
+Other changes are very likely to be required if you are not using Windows.
+
+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.
+
+[h4 Producing Graphs]
+
+Graphs were produced in SVG format and then converted to PNG's using the same
+process as the equations.
+
+The programs
+`/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp`
+and `/libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp`
+generate the SVG's directly using the
+[@http://code.google.com/soc/2007/boost/about.html Google Summer of Code 2007]
+project of Jacob Voytko (whose work so far,
+considerably enhanced and now reasonably mature and usable, by Paul A. Bristow,
+is at .\boost-sandbox\SOC\2007\visualization).
+
+[endsect] [/section:sf_implementation Implementation Notes]
+
+[/
+ Copyright 2006, 2007, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/background/lanczos.qbk b/libs/math/doc/background/lanczos.qbk
new file mode 100644
index 0000000000..0fa3bee294
--- /dev/null
+++ b/libs/math/doc/background/lanczos.qbk
@@ -0,0 +1,246 @@
+[section:lanczos The Lanczos Approximation]
+
+[h4 Motivation]
+
+['Why base gamma and gamma-like functions on the Lanczos approximation?]
+
+First of all I should make clear that for the gamma function
+over real numbers (as opposed to complex ones)
+the Lanczos approximation (See [@http://en.wikipedia.org/wiki/Lanczos_approximation Wikipedia or ]
+[@http://mathworld.wolfram.com/LanczosApproximation.html Mathworld])
+appears to offer no clear advantage over more traditional methods such as
+[@http://en.wikipedia.org/wiki/Stirling_approximation Stirling's approximation].
+__pugh carried out an extensive comparison of the various methods available
+and discovered that they were all very similar in terms of complexity
+and relative error. However, the Lanczos approximation does have a couple of
+properties that make it worthy of further consideration:
+
+* The approximation has an easy to compute truncation error that holds for
+all /z > 0/. In practice that means we can use the same approximation for all
+/z > 0/, and be certain that no matter how large or small /z/ is, the truncation
+error will /at worst/ be bounded by some finite value.
+* The approximation has a form that is particularly amenable to analytic
+manipulation, in particular ratios of gamma or gamma-like functions
+are particularly easy to compute without resorting to logarithms.
+
+It is the combination of these two properties that make the approximation
+attractive: Stirling's approximation is highly accurate for large z, and
+has some of the same analytic properties as the Lanczos approximation, but
+can't easily be used across the whole range of z.
+
+As the simplest example, consider the ratio of two gamma functions: one could
+compute the result via lgamma:
+
+ exp(lgamma(a) - lgamma(b));
+
+However, even if lgamma is uniformly accurate to 0.5ulp, the worst case
+relative error in the above can easily be shown to be:
+
+ Erel > a * log(a)/2 + b * log(b)/2
+
+For small /a/ and /b/ that's not a problem, but to put the relationship another
+way: ['each time a and b increase in magnitude by a factor of 10, at least one
+decimal digit of precision will be lost.]
+
+In contrast, by analytically combining like power
+terms in a ratio of Lanczos approximation's, these errors can be virtually eliminated
+for small /a/ and /b/, and kept under control for very large (or very small
+for that matter) /a/ and /b/. Of course, computing large powers is itself a
+notoriously hard problem, but even so, analytic combinations of Lanczos
+approximations can make the difference between obtaining a valid result, or
+simply garbage. Refer to the implementation notes for the __beta function for
+an example of this method in practice. The incomplete
+[link math_toolkit.sf_gamma.igamma gamma_p gamma] and
+[link math_toolkit.sf_beta.ibeta_function beta] functions
+use similar analytic combinations of power terms, to combine gamma and beta
+functions divided by large powers into single (simpler) expressions.
+
+[h4 The Approximation]
+
+The Lanczos Approximation to the Gamma Function is given by:
+
+[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:
+
+[equation lanczos0a]
+
+With individual coefficients defined in closed form by:
+
+[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
+we're multiplying by a series of numbers very close to 1, so roundoff errors
+can accumulate quite rapidly).
+
+The Lanczos approximation is therefore often written in partial fraction form
+with the leading constants absorbed by the coefficients in the sum:
+
+[equation lanczos1]
+
+where:
+
+[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.
+
+[note
+Some authors
+choose to define the sum from k=1 to N, and hence end up with N+1 coefficients.
+This happens to confuse both the following discussion and the code (since C++
+deals with half open array ranges, rather than the closed range of the sum).
+This convention is consistent with __godfrey, but not __pugh, so take care
+when referring to the literature in this field.]
+
+[h4 Computing the Coefficients]
+
+The coefficients C0..CN-1 need to be computed from /N/ and /g/
+at high precision, and then stored as part of the program.
+Calculation of the coefficients is performed via the method of __godfrey;
+let the constants be contained in a column vector P, then:
+
+P = D B C F
+
+where B is an NxN matrix:
+
+[equation lanczos4]
+
+D is an NxN matrix:
+
+[equation lanczos3]
+
+C is an NxN matrix:
+
+[equation lanczos5]
+
+and F is an N element column vector:
+
+[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
+by /F/ as the last step.
+
+[h4 Choosing the Right Parameters]
+
+The trick is to choose
+/N/ and /g/ to give the desired level of accuracy: choosing a small value for
+/g/ leads to a strictly convergent series, but one which converges only slowly.
+Choosing a larger value of /g/ causes the terms in the series to be large
+and\/or divergent for about the first /g-1/ terms, and to then suddenly converge
+with a "crunch".
+
+__pugh has determined the optimal
+value of /g/ for /N/ in the range /1 <= N <= 60/: unfortunately in practice choosing
+these values leads to cancellation errors in the Lanczos sum as the largest
+term in the (alternating) series is approximately 1000 times larger than the result.
+These optimal values appear not to be useful in practice unless the evaluation
+can be done with a number of guard digits /and/ the coefficients are stored
+at higher precision than that desired in the result. These values are best
+reserved for say, computing to float precision with double precision arithmetic.
+
+[table Optimal choices for N and g when computing with guard digits (source: Pugh)
+[[Significand Size] [N] [g][Max Error]]
+[[24] [6] [5.581][9.51e-12]]
+[[53][13][13.144565][9.2213e-23]]
+]
+
+The alternative described by __godfrey is to perform an exhaustive
+search of the /N/ and /g/ parameter space to determine the optimal combination for
+a given /p/ digit floating-point type. Repeating this work found a good
+approximation for double precision arithmetic (close to the one __godfrey found),
+but failed to find really
+good approximations for 80 or 128-bit long doubles. Further it was observed
+that the approximations obtained tended to optimised for the small values
+of z (1 < z < 200) used to test the implementation against the factorials.
+Computing ratios of gamma functions with large arguments were observed to
+suffer from error resulting from the truncation of the Lancozos series.
+
+__pugh identified all the locations where the theoretical error of the
+approximation were at a minimum, but unfortunately has published only the largest
+of these minima. However, he makes the observation that the minima
+coincide closely with the location where the first neglected term (a[sub N]) in the
+Lanczos series S[sub g](z) changes sign. These locations are quite easy to
+locate, albeit with considerable computer time. These "sweet spots" need
+only be computed once, tabulated, and then searched when required for an
+approximation that delivers the required precision for some fixed precision
+type.
+
+Unfortunately, following this path failed to find a really good approximation
+for 128-bit long doubles, and those found for 64 and 80-bit reals required an
+excessive number of terms. There are two competing issues here: high precision
+requires a large value of /g/, but avoiding cancellation errors in the evaluation
+requires a small /g/.
+
+At this point note that the Lanczos sum can be converted into rational form
+(a ratio of two polynomials, obtained from the partial-fraction form using
+polynomial arithmetic),
+and doing so changes the coefficients so that /they are all positive/. That
+means that the sum in rational form can be evaluated without cancellation
+error, albeit with double the number of coefficients for a given N. Repeating
+the search of the "sweet spots", this time evaluating the Lanczos sum in
+rational form, and testing only those "sweet spots" whose theoretical error
+is less than the machine epsilon for the type being tested, yielded good
+approximations for all the types tested. The optimal values found were quite
+close to the best cases reported by __pugh (just slightly larger /N/ and slightly
+smaller /g/ for a given precision than __pugh reports), and even though converting
+to rational form doubles the number of stored coefficients, it should be
+noted that half of them are integers (and therefore require less storage space)
+and the approximations require a smaller /N/ than would otherwise be required,
+so fewer floating point operations may be required overall.
+
+The following table shows the optimal values for /N/ and /g/ when computing
+at fixed precision. These should be taken as work in progress: there are no
+values for 106-bit significand machines (Darwin long doubles & NTL quad_float),
+and further optimisation of the values of /g/ may be possible.
+Errors given in the table
+are estimates of the error due to truncation of the Lanczos infinite series
+to /N/ terms. They are calculated from the sum of the first five neglected
+terms - and are known to be rather pessimistic estimates - although it is noticeable
+that the best combinations of /N/ and /g/ occurred when the estimated truncation error
+almost exactly matches the machine epsilon for the type in question.
+
+[table Optimum value for N and g when computing at fixed precision
+[[Significand Size][Platform/Compiler Used][N][g][Max Truncation Error]]
+[[24][Win32, VC++ 7.1] [6] [1.428456135094165802001953125][9.41e-007]]
+[[53][Win32, VC++ 7.1] [13] [6.024680040776729583740234375][3.23e-016]]
+[[64][Suse Linux 9 IA64, gcc-3.3.3] [17] [12.2252227365970611572265625][2.34e-024]]
+[[116][HP Tru64 Unix 5.1B \/ Alpha, Compaq C++ V7.1-006] [24] [20.3209821879863739013671875][4.75e-035]]
+]
+
+Finally note that the Lanczos approximation can be written as follows
+by removing a factor of exp(g) from the denominator, and then dividing
+all the coefficients by exp(g):
+
+[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
+inexact value: this reduces accuracy in the common case that
+the input is exact, and so isn't used for the gamma function.
+
+[h4 References]
+
+# [#godfrey]Paul Godfrey, [@http://my.fit.edu/~gabdo/gamma.txt "A note on the computation of the convergent
+Lanczos complex Gamma approximation"].
+# [#pugh]Glendon Ralph Pugh,
+[@http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf
+"An Analysis of the Lanczos Gamma Approximation"],
+PhD Thesis November 2004.
+# Viktor T. Toth,
+[@http://www.rskey.org/gamma.htm "Calculators and the Gamma Function"].
+# Mathworld, [@http://mathworld.wolfram.com/LanczosApproximation.html
+The Lanczos Approximation].
+
+[endsect][/section:lanczos The Lanczos Approximation]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/background/references.qbk b/libs/math/doc/background/references.qbk
new file mode 100644
index 0000000000..86f1a5eaf6
--- /dev/null
+++ b/libs/math/doc/background/references.qbk
@@ -0,0 +1,115 @@
+[section:refs References]
+
+[h4 General references]
+
+(Specific detailed sources for individual functions and distributions
+are given at the end of each individual section).
+
+[@http://dlmf.nist.gov/ DLMF (NIST Digital Library of Mathematical Functions)]
+is a replacement for the legendary
+Abramowitz and Stegun's Handbook of Mathematical Functions (often called simply A&S),
+
+M. Abramowitz and I. A. Stegun (Eds.) (1964)
+Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables,
+National Bureau of Standards Applied Mathematics Series,
+U.S. Government Printing Office, Washington, D.C.
+[/ __Abramowitz_Stegun]
+
+NIST Handbook of Mathematical Functions
+Edited by: Frank W. J. Olver, University of Maryland and National Institute of Standards and Technology, Maryland,
+Daniel W. Lozier, National Institute of Standards and Technology, Maryland,
+Ronald F. Boisvert, National Institute of Standards and Technology, Maryland,
+Charles W. Clark, National Institute of Standards and Technology, Maryland and University of Maryland.
+
+ISBN: 978-0521140638 (paperback), 9780521192255 (hardback), July 2010, Cambridge University Press.
+
+[@http://www.itl.nist.gov/div898/handbook/index.htm NIST/SEMATECH e-Handbook of Statistical Methods]
+
+[@http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/DiscreteDistributions.html Mathematica Documentation: DiscreteDistributions]
+The Wolfram Research Documentation Center is a collection of online reference materials about Mathematica, CalculationCenter, and other Wolfram Research products.
+
+[@http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/ContinuousDistributions.html Mathematica Documentation: ContinuousDistributions]
+The Wolfram Research Documentation Center is a collection of online reference materials about Mathematica, CalculationCenter, and other Wolfram Research products.
+
+Statistical Distributions (Wiley Series in Probability & Statistics) (Paperback)
+by N.A.J. Hastings, Brian Peacock, Merran Evans, ISBN: 0471371246, Wiley 2000.
+
+[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications]
+Samuel Kotz & Saralees Nadarajah, ISBN 978-1-86094-224-2 & 1-86094-224-5 Oct 2000,
+Chapter 1.2 discusses the various extreme value distributions.
+
+[@http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf pugh.pdf (application/pdf Object)]
+Pugh Msc Thesis on the Lanczos approximation to the gamma function.
+
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003 N1514, 03-0097, A Proposal to Add Mathematical Special Functions to the C++ Standard Library (version 2), Walter E. Brown]
+
+[h4 Calculators]
+
+We found (and used to create cross-check spot values - as far as their accuracy allowed).
+
+[@http://functions.wolfram.com/ The Wolfram Functions Site]
+The Wolfram Functions Site - Providing
+the mathematical and scientific community with the world's largest
+(and most authorititive) collection of formulas and graphics about mathematical functions.
+
+[@http://www.moshier.net/cephes28.zip 100-decimal digit calculator] provided some spot values.
+
+[@http://www.adsciengineering.com/bpdcalc/ http://www.adsciengineering.com/bpdcalc/] Binomial Probability Distribution Calculator.
+
+
+[h4 Other Libraries]
+
+[@http://www.moshier.net/#Cephes Cephes library] by Shephen Moshier and his book:
+
+Methods and programs for mathematical functions, Stephen L B Moshier, Ellis Horwood (1989) ISBN 0745802893 0470216093 provided inspiration.
+
+[@http://lib.stat.cmu.edu/general/cdflib CDFLIB Library of Fortran Routines for Cumulative Distribution functions.]
+
+[@http://www.csit.fsu.edu/~burkardt/cpp_src/dcdflib/dcdflib.html DCFLIB C++ version].
+
+[@http://www.csit.fsu.edu/~burkardt/f_src/dcdflib/dcdflib.html DCDFLIB C++ version]
+DCDFLIB is a library of C++ routines, using double precision arithmetic, for evaluating cumulative probability density functions.
+
+[@http://www.softintegration.com/docs/package/chnagstat/ http://www.softintegration.com/docs/package/chnagstat/]
+
+[@http://www.nag.com/numeric/numerical_libraries.asp NAG] libraries.
+
+[@http://www.mathcad.com MathCAD]
+
+[@http://www.vni.com/products/imsl/jmsl/v30/api/com/imsl/stat/Cdf.html JMSL Numerical Library] (Java).
+
+John F Hart, Computer Approximations, (1978) ISBN 0 088275 642-7.
+
+William J Cody, Software Manual for the Elementary Functions, Prentice-Hall (1980) ISBN 0138220646.
+
+Nico Temme, Special Functions, An Introduction to the Classical Functions of Mathematical Physics, Wiley, ISBN: 0471-11313-1 (1996) who also gave valueable advice.
+
+[@http://www.cas.lancs.ac.uk/glossary_v1.1/prob.html#probdistn Statistics Glossary], Valerie Easton and John H. McColl.
+
+[__R]
+R Development Core Team (2010). R: A language and environment for
+statistical computing. R Foundation for Statistical Computing,
+Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org.
+
+For use of R, see:
+
+Jim Albert, Bayesian Computation with R, ISBN 978-0-387-71384-7.
+
+[@http://www.quantnet.com/cplusplus-statistical-distributions-boost
+C++ Statistical Distributions in Boost - QuantNetwork forum]
+discusses using Boost.Math in finance.
+
+[@http://www.quantnet.com/boost-and-computational-finance/ Quantnet Boost and computational finance].
+Robert Demming & Daniel J. Duffy, Introduction to the C++ Boost Libraries - Volume I - Foundations
+and Volume II ISBN 978-94-91028-01-4, Advanced Libraries and Applications, ISBN 978-94-91028-02-1
+(to be published in 2011).
+discusses application of Boost.Math, especially in finance.
+
+[endsect] [/section:references References]
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/sf_and_dist/remez.qbk b/libs/math/doc/background/remez.qbk
index 6dd2718d27..6dd2718d27 100644
--- a/libs/math/doc/sf_and_dist/remez.qbk
+++ b/libs/math/doc/background/remez.qbk
diff --git a/libs/math/doc/background/special_tut.qbk b/libs/math/doc/background/special_tut.qbk
new file mode 100644
index 0000000000..00a94f1bff
--- /dev/null
+++ b/libs/math/doc/background/special_tut.qbk
@@ -0,0 +1,508 @@
+[section:special_tut Tutorial: How to Write a New Special Function]
+
+[section:special_tut_impl Implementation]
+
+In this section we'll provide a "recipe" for adding a new special function to this library to make life easier for
+future authors wishing to contribute. We'll assume the function returns a single floating point result, and takes
+two floating point arguments. For the sake of exposistion we'll give the function the name "my_special".
+
+Normally the implementation of such a function is split into two layers - a public user layer, and an internal
+implementation layer that does the actual work. The implementation layer is declared inside a "detail" namespace
+and has a simple signature:
+
+ namespace boost{ namespace math{ namespace detail{
+
+ template <class T, class Policy>
+ T my_special_imp(const T& a, const T&b, const Policy& pol)
+ {
+ /* Implementation goes here */
+ }
+
+ }}} // namespaces
+
+We'll come back to what can go inside the implementation later, but first lets look at the user layer.
+This consists of two overloads of the function, with and without a __Policy argument:
+
+ namespace boost{ namespace math{
+
+ template <class T, class U>
+ typename tools::promote_args<T, U>::type my_special(const T& a, const U& b);
+
+ template <class T, class U, class Policy>
+ typename tools::promote_args<T, U>::type my_special(const T& a, const U& b, const Policy& pol);
+
+ }} // namespaces
+
+Note how each argument has a different template type - this allows for mixed type arguments - the return
+type is computed from a traits class and is the "common type" of all the arguments after any integer
+arguments have been promoted to type `double`.
+
+The implementation of the non-policy overload is trivial:
+
+ namespace boost{ namespace math{
+
+ template <class T, class U>
+ inline typename tools::promote_args<T, U>::type my_special(const T& a, const U& b)
+ {
+ // Simply forward with a default policy:
+ return my_special(a, b, policies::policy<>();
+ }
+
+ }} // namespaces
+
+The implementation of the other overload is somewhat more complex, as there's some meta-programming to do,
+but from a runtime perspective is still a one-line forwarding function. Here it is with comments explaining
+what each line does:
+
+ namespace boost{ namespace math{
+
+ template <class T, class U, class Policy>
+ inline typename tools::promote_args<T, U>::type my_special(const T& a, const U& b, const Policy& pol)
+ {
+ //
+ // We've found some standard library functions to misbehave if any FPU exception flags
+ // are set prior to their call, this code will clear those flags, then reset them
+ // on exit:
+ //
+ BOOST_FPU_EXCEPTION_GUARD
+ //
+ // The type of the result - the common type of T and U after
+ // any integer types have been promoted to double:
+ //
+ typedef typename tools::promote_args<T, U>::type result_type;
+ //
+ // The type used for the calculation. This may be a wider type than
+ // the result in order to ensure full precision:
+ //
+ typedef typename policies::evaluation<result_type, Policy>::type value_type;
+ //
+ // The type of the policy to forward to the actual implementation.
+ // We disable promotion of float and double as that's [possibly]
+ // happened already in the line above. Also reset to the default
+ // any policies we don't use (reduces code bloat if we're called
+ // multiple times with differing policies we don't actually use).
+ // Also normalise the type, again to reduce code bloat in case we're
+ // called multiple times with functionally identical policies that happen
+ // to be different types.
+ //
+ typedef typename policies::normalise<
+ Policy,
+ policies::promote_float<false>,
+ policies::promote_double<false>,
+ policies::discrete_quantile<>,
+ policies::assert_undefined<> >::type forwarding_policy;
+ //
+ // Whew. Now we can make the actual call to the implementation.
+ // Arguments are explicitly cast to the evaluation type, and the result
+ // passed through checked_narrowing_cast which handles things like overflow
+ // according to the policy passed:
+ //
+ return policies::checked_narrowing_cast<result_type, forwarding_policy>(
+ detail::my_special_imp(
+ static_cast<value_type>(a),
+ static_cast<value_type>(x),
+ forwarding_policy()),
+ "boost::math::my_special<%1%>(%1%, %1%)");
+ }
+
+ }} // namespaces
+
+We're now almost there, we just need to flesh out the details of the implementation layer:
+
+ namespace boost{ namespace math{ namespace detail{
+
+ template <class T, class Policy>
+ T my_special_imp(const T& a, const T&b, const Policy& pol)
+ {
+ /* Implementation goes here */
+ }
+
+ }}} // namespaces
+
+The following guidelines indicate what (other than basic arithmetic) can go in the implementation:
+
+* Error conditions (for example bad arguments) should be handled by calling one of the
+[link math_toolkit.error_handling.finding_more_information policy based error handlers].
+* Calls to standard library functions should be made unqualified (this allows argument
+dependent lookup to find standard library functions for user-defined floating point
+types such as those from Boost.Multiprecision). In addition the macro `BOOST_MATH_STD_USING`
+should appear at the start of the function (note no semi-colon afterwards!) so that
+all the math functions in `namespace std` are visible in the current scope.
+* Calls to other special functions should be made as fully qualified calls, and include the
+policy parameter as the last argument, for example `boost::math::tgamma(a, pol)`.
+* Where possible, evaluation of series, continued fractions, polynomials, or root
+finding should use one of the [link toolkit boiler plate functions]. In any case, after
+any iterative method, you should verify that the number of iterations did not exceed the
+maximum specified in the __Policy type, and if it did terminate as a result of exceeding the
+maximum, then the appropriate error handler should be called (see existing code for examples).
+* Numeric constants such as [pi] etc should be obtained via a call to the [link math_toolkit.constants appropriate function],
+for example: `constants::pi<T>()`.
+* Where tables of coefficients are used (for example for rational approximations), care should be taken
+to ensure these are initialized at program startup to ensure thread safety when using user-defined number types.
+See for example the use of `erf_initializer` in boost/math/special_functions/erf.hpp.
+
+Here are some other useful internal functions:
+
+[table
+[[function][Meaning]]
+[[`policies::digits<T, Policy>()`][Returns number of binary digits in T (possible overridden by the policy).]]
+[[`policies::get_max_series_iterations<Policy>()`][Maximum number of iterations for series evaluation.]]
+[[`policies::get_max_root_iterations<Policy>()`][Maximum number of iterations for root finding.]]
+[[`polices::get_epsilon<T, Policy>()`][Epsilon for type T, possibly overridden by the Policy.]]
+[[`tools::digits<T>()`][Returns the number of binary digits in T.]]
+[[`tools::max_value<T>()`][Equivalent to `std::numeric_limits<T>::max()`]]
+[[`tools::min_value<T>()`][Equivalent to `std::numeric_limits<T>::min()`]]
+[[`tools::log_max_value<T>()`][Equivalent to the natural logarithm of `std::numeric_limits<T>::max()`]]
+[[`tools::log_min_value<T>()`][Equivalent to the natural logarithm of `std::numeric_limits<T>::min()`]]
+[[`tools::epsilon<T>()`][Equivalent to `std::numeric_limits<T>::epsilon()`.]]
+[[`tools::root_epsilon<T>()`][Equivalent to the square root of `std::numeric_limits<T>::epsilon()`.]]
+[[`tools::forth_root_epsilon<T>()`][Equivalent to the forth root of `std::numeric_limits<T>::epsilon()`.]]
+]
+
+[endsect]
+
+[section:special_tut_test Testing]
+
+We work under the assumption that untested code doesn't work, so some tests for your new special function are in order,
+we'll divide these up in to 3 main categories:
+
+[h4 Spot Tests]
+
+Spot tests consist of checking that the expected exception is generated when the inputs are in error (or
+otherwise generate undefined values), and checking any special values. We can check for expected exceptions
+with `BOOST_CHECK_THROW`, so for example if it's a domain error for the last parameter to be outside the range
+`[0,1]` then we might have:
+
+ BOOST_CHECK_THROW(my_special(0, -0.1), std::domain_error);
+ BOOST_CHECK_THROW(my_special(0, 1.1), std::domain_error);
+
+When the function has known exact values (typically integer values) we can use `BOOST_CHECK_EQUAL`:
+
+ BOOST_CHECK_EQUAL(my_special(1.0, 0.0), 0);
+ BOOST_CHECK_EQUAL(my_special(1.0, 1.0), 1);
+
+When the function has known values which are not exact (from a floating point perspective) then we can use
+`BOOST_CHECK_CLOSE_FRACTION`:
+
+ // Assumes 4 epsilon is as close as we can get to a true value of 2Pi:
+ BOOST_CHECK_CLOSE_FRACTION(my_special(0.5, 0.5), 2 * constants::pi<double>(), std::numeric_limits<double>::epsilon() * 4);
+
+[h4 Independent Test Values]
+
+If the function is implemented by some other known good source (for example Mathematica or it's online versions
+[@http://functions.wolfram.com functions.wolfram.com] or [@http://www.wolframalpha.com www.wolframalpha.com]
+then it's a good idea to sanity check our implementation by having at least one independendly generated value
+for each code branch our implementation may take. To slot these in nicely with our testing framework it's best to
+tabulate these like this:
+
+ // function values calculated on http://functions.wolfram.com/
+ static const boost::array<boost::array<T, 3>, 10> my_special_data = {{
+ {{ SC_(0), SC_(0), SC_(1) }},
+ {{ SC_(0), SC_(1), SC_(1.26606587775200833559824462521471753760767031135496220680814) }},
+ /* More values here... */
+ }};
+
+We'll see how to use this table and the meaning of the `SC_` macro later. One important point
+is to make sure that the input values have exact binary representations: so choose values such as
+1.5, 1.25, 1.125 etc. This ensures that if `my_special` is unusually sensitive in one area, that
+we don't get apparently large errors just because the inputs are 0.5ulp in error.
+
+[h4 Random Test Values]
+
+We can generate a large number of test values to check both for future regressions, and for
+accumulated rounding or cancellation error in our implementation. Ideally we would use an
+independent implementation for this (for example my_special may be defined in directly terms
+of other special functions but not implemented that way for performance or accuracy reasons).
+Alternatively we may use our own implementation directly, but with any special cases (asymptotic
+expansions etc) disabled. We have a set of [link math_toolkit.internals2.test_data tools]
+to generate test data directly, here's a typical example:
+
+[import ../../example/special_data.cpp]
+[special_data_example]
+
+Typically several sets of data will be generated this way, including random values in some "normal"
+range, extreme values (very large or very small), and values close to any "interesting" behaviour
+of the function (singularities etc).
+
+[h4 The Test File Header]
+
+We split the actual test file into 2 distinct parts: a header that contains the testing code
+as a series of function templates, and the actual .cpp test driver that decides which types
+are tested, and sets the "expected" error rates for those types. It's done this way because:
+
+* We want to test with both built in floating point types, and with multiprecision types.
+However, both compile and runtimes with the latter can be too long for the folks who run
+the tests to realistically cope with, so it makes sense to split the test into (at least)
+2 parts.
+* The definition of the SC_ macro used in our tables of data may differ depending on what type
+we're testing (see below). Again this is largely a matter of managing compile times as large tables
+of user-defined-types can take a crazy amount of time to compile with some compilers.
+
+The test header contains 2 functions:
+
+ template <class Real, class T>
+ void do_test(const T& data, const char* type_name, const char* test_name);
+
+ template <class T>
+ void test(T, const char* type_name);
+
+Before implementing those, we'll include the headers we'll need, and provide a default
+definition for the SC_ macro:
+
+ // A couple of Boost.Test headers in case we need any BOOST_CHECK_* macros:
+ #include <boost/test/unit_test.hpp>
+ #include <boost/test/floating_point_comparison.hpp>
+ // Our function to test:
+ #include <boost/math/special_functions/my_special.hpp>
+ // We need boost::array for our test data, plus a few headers from
+ // libs/math/test that contain our testing machinary:
+ #include <boost/array.hpp>
+ #include "functor.hpp"
+ #include "handle_test_result.hpp"
+ #include "table_type.hpp"
+
+ #ifndef SC_
+ #define SC_(x) static_cast<typename table_type<T>::type>(BOOST_JOIN(x, L))
+ #endif
+
+The easiest function to implement is the "test" function which is what we'll be calling
+from the test-driver program. It simply includes the files containing the tabular
+test data and calls `do_test` function for each table, along with a description of what's
+being tested:
+
+ template <class T>
+ void test(T, const char* type_name)
+ {
+ //
+ // The actual test data is rather verbose, so it's in a separate file
+ //
+ // The contents are as follows, each row of data contains
+ // three items, input value a, input value b and my_special(a, b):
+ //
+ # include "my_special_1.ipp"
+
+ do_test<T>(my_special_1, name, "MySpecial Function: Mathematica Values");
+
+ # include "my_special_2.ipp"
+
+ do_test<T>(my_special_2, name, "MySpecial Function: Random Values");
+
+ # include "my_special_3.ipp"
+
+ do_test<T>(my_special_3, name, "MySpecial Function: Very Small Values");
+ }
+
+The function `do_test` takes each table of data and calculates values for each row
+of data, along with statistics for max and mean error etc, most of this is handled
+by some boilerplate code:
+
+ template <class Real, class T>
+ void do_test(const T& data, const char* type_name, const char* test_name)
+ {
+ // Get the type of each row and each element in the rows:
+ typedef typename T::value_type row_type;
+ typedef Real value_type;
+
+ // Get a pointer to our function, we have to use a workaround here
+ // as some compilers require the template types to be explicitly
+ // specified, while others don't much like it if it is!
+ typedef value_type (*pg)(value_type, value_type);
+ #if defined(BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS)
+ pg funcp = boost::math::my_special<value_type, value_type>;
+ #else
+ pg funcp = boost::math::my_special;
+ #endif
+
+ // Somewhere to hold our results:
+ boost::math::tools::test_result<value_type> result;
+ // And some pretty printing:
+ std::cout << "Testing " << test_name << " with type " << type_name
+ << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
+
+ //
+ // Test my_special against data:
+ //
+ result = boost::math::tools::test_hetero<Real>(
+ /* First argument is the table */
+ data,
+ /* Next comes our function pointer, plus the indexes of it's arguments in the table */
+ bind_func<Real>(funcp, 0, 1),
+ /* Then the index of the result in the table - potentially we can test several
+ related functions this way, each having the same input arguments, and different
+ output values in different indexes in the table */
+ extract_result<Real>(2));
+ //
+ // Finish off with some boilerplate to check the results were within the expected errors,
+ // and pretty print the results:
+ //
+ handle_test_result(result, data[result.worst()], result.worst(), type_name, "boost::math::my_special", test_name);
+ }
+
+Now we just need to write the test driver program, at it's most basic it looks something like this:
+
+ #include <boost/math/special_functions/math_fwd.hpp>
+ #include <boost/math/tools/test.hpp>
+ #include <boost/math/tools/stats.hpp>
+ #include <boost/type_traits.hpp>
+ #include <boost/array.hpp>
+ #include "functor.hpp"
+
+ #include "handle_test_result.hpp"
+ #include "test_my_special.hpp"
+
+ BOOST_AUTO_TEST_CASE( test_main )
+ {
+ //
+ // Test each floating point type, plus real_concept.
+ // We specify the name of each type by hand as typeid(T).name()
+ // often gives an unreadable mangled name.
+ //
+ test(0.1F, "float");
+ test(0.1, "double");
+ //
+ // Testing of long double and real_concept is protected
+ // by some logic to disable these for unsupported
+ // or problem compilers.
+ //
+ #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+ test(0.1L, "long double");
+ #ifndef BOOST_MATH_NO_REAL_CONCEPT_TESTS
+ #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
+ test(boost::math::concepts::real_concept(0.1), "real_concept");
+ #endif
+ #endif
+ #else
+ std::cout << "<note>The long double tests have been disabled on this platform "
+ "either because the long double overloads of the usual math functions are "
+ "not available at all, or because they are too inaccurate for these tests "
+ "to pass.</note>" << std::cout;
+ #endif
+ }
+
+That's almost all there is too it - except that if the above program is run it's very likely that
+all the tests will fail as the default maximum allowable error is 1 epsilon. So we'll
+define a function (don't forget to call it from the start of the `test_main` above) to
+up the limits to something sensible, based both on the function we're calling and on
+the particular tests plus the platform and compiler:
+
+ void expected_results()
+ {
+ //
+ // Define the max and mean errors expected for
+ // various compilers and platforms.
+ //
+ const char* largest_type;
+ #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
+ if(boost::math::policies::digits<double, boost::math::policies::policy<> >() == boost::math::policies::digits<long double, boost::math::policies::policy<> >())
+ {
+ largest_type = "(long\\s+)?double|real_concept";
+ }
+ else
+ {
+ largest_type = "long double|real_concept";
+ }
+ #else
+ largest_type = "(long\\s+)?double";
+ #endif
+ //
+ // We call add_expected_result for each error rate we wish to adjust, these tell
+ // handle_test_result what level of error is acceptable. We can have as many calls
+ // to add_expected_result as we need, each one establishes a rule for acceptable error
+ // with rules set first given preference.
+ //
+ add_expected_result(
+ /* First argument is a regular expression to match against the name of the compiler
+ set in BOOST_COMPILER */
+ ".*",
+ /* Second argument is a regular expression to match against the name of the
+ C++ standard library as set in BOOST_STDLIB */
+ ".*",
+ /* Third argument is a regular expression to match against the name of the
+ platform as set in BOOST_PLATFORM */
+ ".*",
+ /* Forth argument is the name of the type being tested, normally we will
+ only need to up the acceptable error rate for the widest floating
+ point type being tested */
+ largest_real,
+ /* Fifth argument is a regular expression to match against
+ the name of the group of data being tested */
+ "MySpecial Function:.*Small.*",
+ /* Sixth argument is a regular expression to match against the name
+ of the function being tested */
+ "boost::math::my_special",
+ /* Seventh argument is the maximum allowable error expressed in units
+ of machine epsilon passed as a long integer value */
+ 50,
+ /* Eighth argument is the maximum allowable mean error expressed in units
+ of machine epsilon passed as a long integer value */
+ 20);
+ }
+
+[h4 Testing Multiprecision Types]
+
+Testing of multiprecision types is handled by the test drivers in libs/multiprecision/test/math,
+please refer to these for examples. Note that these tests are run only occationally as they take
+a lot of CPU cycles to build and run.
+
+[h4 Improving Compile Times]
+
+As noted above, these test programs can take a while to build as we're instantiating a lot of templates
+for several different types, and our test runners are already stretched to the limit, and probably
+using outdated "spare" hardware. There are two things we can do to speed things up:
+
+* Use a precompiled header.
+* Use separate compilation of our special function templates.
+
+We can make these changes by changing the list of includes from:
+
+ #include <boost/math/special_functions/math_fwd.hpp>
+ #include <boost/math/tools/test.hpp>
+ #include <boost/math/tools/stats.hpp>
+ #include <boost/type_traits.hpp>
+ #include <boost/array.hpp>
+ #include "functor.hpp"
+
+ #include "handle_test_result.hpp"
+
+To just:
+
+ #include <pch_light.hpp>
+
+And changing
+
+ #include <boost/math/special_functions/my_special.hpp>
+
+To:
+
+ #include <boost/math/special_functions/math_fwd.hpp>
+
+The Jamfile target that builds the test program will need the targets
+
+ test_instances//test_instances pch_light
+
+adding to it's list of source dependencies (see the Jamfile for examples).
+
+Finally the project in libs/math/test/test_instances will need modifying
+to instantiate function `my_special`.
+
+These changes should be made last, when `my_special` is stable and the code is in Trunk.
+
+[h4 Concept Checks]
+
+Our concept checks verify that your function's implementation makes no assumptions that aren't
+required by our [link math_toolkit.concepts Real number conceptual requirements]. They also
+check for various common bugs and programming traps that we've fallen into over time. To
+add your function to these tests, edit libs/math/test/compile_test/instantiate.hpp to add
+calls to your function: there are 7 calls to each function, each with a different purpose.
+Search for something like "ibeta" or "gamm_p" and follow their examples.
+
+[endsect]
+
+[endsect]
+
+[/
+ Copyright 2013 John Maddock.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/common_factor.html b/libs/math/doc/common_factor.html
deleted file mode 100644
index d0b6309db3..0000000000
--- a/libs/math/doc/common_factor.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
- <head>
- <meta http-equiv="refresh" content="0; URL=gcd/html/index.html">
- </head>
- <body>
- Automatic redirection failed, please go to
- <a href="gcd/html/index.html">gcd/html/index.html</a>
- <P>Copyright&nbsp;Daryle Walker 2006</P>
- <P>Distributed under the Boost Software License, Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">
- LICENSE_1_0.txt</A> or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</A>).</P>
- </body>
-</html>
-
-
-
-
-
diff --git a/libs/math/doc/complex/Jamfile.v2 b/libs/math/doc/complex/Jamfile.v2
deleted file mode 100644
index 042a039dd4..0000000000
--- a/libs/math/doc/complex/Jamfile.v2
+++ /dev/null
@@ -1,77 +0,0 @@
-
-# Copyright John Maddock 2005. Use, modification, and distribution are
-# subject to the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-using quickbook ;
-
-path-constant images_location : html ;
-
-xml complex-tr1 : complex-tr1.qbk ;
-boostbook standalone
- :
- complex-tr1
- :
- # Path for links to Boost:
- <xsl:param>boost.root=../../../../..
-
- # Some general style settings:
- <xsl:param>table.footnote.number.format=1
- <xsl:param>footnote.number.format=1
-
- # HTML options first:
- # Use graphics not text for navigation:
- <xsl:param>navig.graphics=1
- # How far down we chunk nested sections, basically all of them:
- <xsl:param>chunk.section.depth=10
- # Don't put the first section on the same page as the TOC:
- <xsl:param>chunk.first.sections=1
- # How far down sections get TOC's
- <xsl:param>toc.section.depth=10
- # Max depth in each TOC:
- <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:
- # <xsl:param>fop1.extensions=1
- <format>pdf:<xsl:param>xep.extensions=1
- # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
- <format>pdf:<xsl:param>fop.extensions=0
- <format>pdf:<xsl:param>fop1.extensions=0
- # No indent on body text:
- <format>pdf:<xsl:param>body.start.indent=0pt
- # Margin size:
- <format>pdf:<xsl:param>page.margin.inner=0.5in
- # Margin size:
- <format>pdf:<xsl:param>page.margin.outer=0.5in
- # Paper type = A4
- <format>pdf:<xsl:param>paper.type=A4
- # Yes, we want graphics for admonishments:
- <xsl:param>admon.graphics=1
- # Set this one for PDF generation *only*:
- # default pnd graphics are awful in PDF form,
- # better use SVG's instead:
- <format>pdf:<xsl:param>admon.graphics.extension=".svg"
- <format>pdf:<xsl:param>use.role.for.mediaobject=1
- <format>pdf:<xsl:param>preferred.mediaobject.role=print
- <format>pdf:<xsl:param>img.src.path=$(images_location)/
- <format>pdf:<xsl:param>draft.mode="no"
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/libs/math/doc/complex/complex-tr1.qbk b/libs/math/doc/complex/complex-tr1.qbk
index c454f8a054..86e67b43de 100644
--- a/libs/math/doc/complex/complex-tr1.qbk
+++ b/libs/math/doc/complex/complex-tr1.qbk
@@ -1,51 +1,32 @@
-[article Complex Number TR1 Algorithms
- [quickbook 1.4]
- [copyright 2005 John Maddock]
- [purpose Complex number arithmetic]
- [license
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
- ]
- [authors [Maddock, John]]
- [category math]
- [last-revision $Date: 2006-12-29 11:08:32 +0000 (Fri, 29 Dec 2006) $]
-]
-
-
[def __effects [*Effects: ]]
[def __formula [*Formula: ]]
[def __exm1 '''<code>e<superscript>x</superscript> - 1</code>''']
[def __ex '''<code>e<superscript>x</superscript></code>''']
[def __te '''2&#x03B5;''']
-[template tr1[] [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Technical Report on C++ Library Extensions]]
-
-This manual is also available in
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-printer friendly PDF format].
-[section:inverse_complex Complex Number Inverse Trigonometric Functions]
+[mathpart inverse_complex..Complex Number Functions]
The following complex number algorithms are the inverses of trigonometric functions currently
present in the C++ standard. Equivalents to these functions are part of the C99 standard, and
are part of the [tr1].
-[section:implementation Implementation and Accuracy]
+[section:complex_implementation Implementation and Accuracy]
Although there are deceptively simple formulae available for all of these functions, a naive
implementation that used these formulae would fail catastrophically for some input
values. The Boost versions of these functions have been implemented using the methodology
described in "Implementing the Complex Arcsine and Arccosine Functions Using Exception Handling"
-by T. E. Hull Thomas F. Fairgrieve and Ping Tak Peter Tang, ACM Transactions on Mathematical Software,
+by T. E. Hull Thomas F. Fairgrieve and Ping Tak Peter Tang, ACM Transactions on Mathematical Software,
Vol. 23, No. 3, September 1997. This means that the functions are well defined over the entire
complex number range, and produce accurate values even at the extremes of that range, where as a naive
-formula would cause overflow or underflow to occur during the calculation, even though the result is
-actually a representable value. The maximum theoretical relative error for all of these functions
-is less than 9.5E for every machine-representable point in the complex plane. Please refer to
+formula would cause overflow or underflow to occur during the calculation, even though the result is
+actually a representable value. The maximum theoretical relative error for all of these functions
+is less than 9.5[epsilon] for every machine-representable point in the complex plane. Please refer to
comments in the header files themselves and to the above mentioned paper for more information
on the implementation methodology.
[endsect]
+
[section:asin asin]
[h4 Header:]
@@ -54,12 +35,12 @@ on the implementation methodology.
[h4 Synopsis:]
- template<class T>
+ template<class T>
std::complex<T> asin(const std::complex<T>& z);
-
+
__effects returns the inverse sine of the complex number z.
-__formula [$../../images/asin.png]
+__formula [$../images/asin.png]
[endsect]
@@ -71,12 +52,12 @@ __formula [$../../images/asin.png]
[h4 Synopsis:]
- template<class T>
+ template<class T>
std::complex<T> acos(const std::complex<T>& z);
-
+
__effects returns the inverse cosine of the complex number z.
-__formula [$../../images/acos.png]
+__formula [$../images/acos.png]
[endsect]
@@ -88,12 +69,12 @@ __formula [$../../images/acos.png]
[h4 Synopsis:]
- template<class T>
+ template<class T>
std::complex<T> atan(const std::complex<T>& z);
-
+
__effects returns the inverse tangent of the complex number z.
-__formula [$../../images/atan.png]
+__formula [$../images/atan.png]
[endsect]
@@ -105,12 +86,12 @@ __formula [$../../images/atan.png]
[h4 Synopsis:]
- template<class T>
+ template<class T>
std::complex<T> asinh(const std::complex<T>& z);
-
+
__effects returns the inverse hyperbolic sine of the complex number z.
-__formula [$../../images/asinh.png]
+__formula [$../images/asinh.png]
[endsect]
@@ -122,12 +103,12 @@ __formula [$../../images/asinh.png]
[h4 Synopsis:]
- template<class T>
+ template<class T>
std::complex<T> acosh(const std::complex<T>& z);
-
+
__effects returns the inverse hyperbolic cosine of the complex number z.
-__formula [$../../images/acosh.png]
+__formula [$../images/acosh.png]
[endsect]
@@ -139,16 +120,16 @@ __formula [$../../images/acosh.png]
[h4 Synopsis:]
- template<class T>
+ template<class T>
std::complex<T> atanh(const std::complex<T>& z);
-
+
__effects returns the inverse hyperbolic tangent of the complex number z.
-__formula [$../../images/atanh.png]
+__formula [$../images/atanh.png]
[endsect]
-[section History]
+[section:complex_history History]
* 2005/12/17: Added support for platforms with no meaningful numeric_limits<>::infinity().
* 2005/12/01: Initial version, added as part of the TR1 library.
@@ -156,7 +137,13 @@ __formula [$../../images/atanh.png]
[endsect]
-[endsect]
+[endmathpart]
+[/
+ Copyright 2008, 2009 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex.html
deleted file mode 100644
index fdab991456..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Complex Number Inverse Trigonometric Functions</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../index.html" title="Complex Number TR1 Algorithms">
-<link rel="prev" href="../index.html" title="Complex Number TR1 Algorithms">
-<link rel="next" href="inverse_complex/implementation.html" title="Implementation and Accuracy">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_complex/implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="complex_number_tr1_algorithms.inverse_complex"></a><a class="link" href="inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">Complex
- Number Inverse Trigonometric Functions</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="inverse_complex/implementation.html">Implementation
- and Accuracy</a></span></dt>
-<dt><span class="section"><a href="inverse_complex/asin.html">asin</a></span></dt>
-<dt><span class="section"><a href="inverse_complex/acos.html">acos</a></span></dt>
-<dt><span class="section"><a href="inverse_complex/atan.html">atan</a></span></dt>
-<dt><span class="section"><a href="inverse_complex/asinh.html">asinh</a></span></dt>
-<dt><span class="section"><a href="inverse_complex/acosh.html">acosh</a></span></dt>
-<dt><span class="section"><a href="inverse_complex/atanh.html">atanh</a></span></dt>
-<dt><span class="section"><a href="inverse_complex/history.html">History</a></span></dt>
-</dl></div>
-<p>
- The following complex number algorithms are the inverses of trigonometric functions
- currently present in the C++ standard. Equivalents to these functions are part
- of the C99 standard, and are part of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
- Report on C++ Library Extensions</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_complex/implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acos.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acos.html
deleted file mode 100644
index 38dfd7e6e2..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acos.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>acos</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="asin.html" title="asin">
-<link rel="next" href="atan.html" title="atan">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="asin.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atan.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.acos"></a><a class="link" href="acos.html" title="acos">acos</a>
-</h3></div></div></div>
-<a name="complex_number_tr1_algorithms.inverse_complex.acos.header_"></a><h5>
-<a name="id996888"></a>
- <a class="link" href="acos.html#complex_number_tr1_algorithms.inverse_complex.acos.header_">Header:</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">acos</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<a name="complex_number_tr1_algorithms.inverse_complex.acos.synopsis_"></a><h5>
-<a name="id996955"></a>
- <a class="link" href="acos.html#complex_number_tr1_algorithms.inverse_complex.acos.synopsis_">Synopsis:</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">acos</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- <span class="bold"><strong>Effects: </strong></span> returns the inverse cosine of
- the complex number z.
- </p>
-<p>
- <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../../../images/acos.png" alt="acos"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="asin.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atan.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acosh.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acosh.html
deleted file mode 100644
index 959897a5aa..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/acosh.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>acosh</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="asinh.html" title="asinh">
-<link rel="next" href="atanh.html" title="atanh">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="asinh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.acosh"></a><a class="link" href="acosh.html" title="acosh">acosh</a>
-</h3></div></div></div>
-<a name="complex_number_tr1_algorithms.inverse_complex.acosh.header_"></a><h5>
-<a name="id997539"></a>
- <a class="link" href="acosh.html#complex_number_tr1_algorithms.inverse_complex.acosh.header_">Header:</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<a name="complex_number_tr1_algorithms.inverse_complex.acosh.synopsis_"></a><h5>
-<a name="id997606"></a>
- <a class="link" href="acosh.html#complex_number_tr1_algorithms.inverse_complex.acosh.synopsis_">Synopsis:</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- <span class="bold"><strong>Effects: </strong></span> returns the inverse hyperbolic
- cosine of the complex number z.
- </p>
-<p>
- <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../../../images/acosh.png" alt="acosh"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="asinh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asin.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asin.html
deleted file mode 100644
index 21000eed0a..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asin.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>asin</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="implementation.html" title="Implementation and Accuracy">
-<link rel="next" href="acos.html" title="acos">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="implementation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acos.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.asin"></a><a class="link" href="asin.html" title="asin">asin</a>
-</h3></div></div></div>
-<a name="complex_number_tr1_algorithms.inverse_complex.asin.header_"></a><h5>
-<a name="id996670"></a>
- <a class="link" href="asin.html#complex_number_tr1_algorithms.inverse_complex.asin.header_">Header:</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">asin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<a name="complex_number_tr1_algorithms.inverse_complex.asin.synopsis_"></a><h5>
-<a name="id996738"></a>
- <a class="link" href="asin.html#complex_number_tr1_algorithms.inverse_complex.asin.synopsis_">Synopsis:</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">asin</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- <span class="bold"><strong>Effects: </strong></span> returns the inverse sine of the
- complex number z.
- </p>
-<p>
- <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../../../images/asin.png" alt="asin"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="implementation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acos.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asinh.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asinh.html
deleted file mode 100644
index 97870b727e..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/asinh.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>asinh</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="atan.html" title="atan">
-<link rel="next" href="acosh.html" title="acosh">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="atan.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.asinh"></a><a class="link" href="asinh.html" title="asinh">asinh</a>
-</h3></div></div></div>
-<a name="complex_number_tr1_algorithms.inverse_complex.asinh.header_"></a><h5>
-<a name="id997322"></a>
- <a class="link" href="asinh.html#complex_number_tr1_algorithms.inverse_complex.asinh.header_">Header:</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">asinh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<a name="complex_number_tr1_algorithms.inverse_complex.asinh.synopsis_"></a><h5>
-<a name="id997389"></a>
- <a class="link" href="asinh.html#complex_number_tr1_algorithms.inverse_complex.asinh.synopsis_">Synopsis:</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- <span class="bold"><strong>Effects: </strong></span> returns the inverse hyperbolic
- sine of the complex number z.
- </p>
-<p>
- <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../../../images/asinh.png" alt="asinh"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="atan.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atan.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atan.html
deleted file mode 100644
index ad86c1982d..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atan.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>atan</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="acos.html" title="acos">
-<link rel="next" href="asinh.html" title="asinh">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acos.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.atan"></a><a class="link" href="atan.html" title="atan">atan</a>
-</h3></div></div></div>
-<a name="complex_number_tr1_algorithms.inverse_complex.atan.header_"></a><h5>
-<a name="id997105"></a>
- <a class="link" href="atan.html#complex_number_tr1_algorithms.inverse_complex.atan.header_">Header:</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">atan</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<a name="complex_number_tr1_algorithms.inverse_complex.atan.synopsis_"></a><h5>
-<a name="id997172"></a>
- <a class="link" href="atan.html#complex_number_tr1_algorithms.inverse_complex.atan.synopsis_">Synopsis:</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">atan</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- <span class="bold"><strong>Effects: </strong></span> returns the inverse tangent of
- the complex number z.
- </p>
-<p>
- <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../../../images/atan.png" alt="atan"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acos.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atanh.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atanh.html
deleted file mode 100644
index bbe4704de0..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/atanh.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>atanh</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="acosh.html" title="acosh">
-<link rel="next" href="history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acosh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.atanh"></a><a class="link" href="atanh.html" title="atanh">atanh</a>
-</h3></div></div></div>
-<a name="complex_number_tr1_algorithms.inverse_complex.atanh.header_"></a><h5>
-<a name="id997756"></a>
- <a class="link" href="atanh.html#complex_number_tr1_algorithms.inverse_complex.atanh.header_">Header:</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">atanh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<a name="complex_number_tr1_algorithms.inverse_complex.atanh.synopsis_"></a><h5>
-<a name="id997824"></a>
- <a class="link" href="atanh.html#complex_number_tr1_algorithms.inverse_complex.atanh.synopsis_">Synopsis:</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- <span class="bold"><strong>Effects: </strong></span> returns the inverse hyperbolic
- tangent of the complex number z.
- </p>
-<p>
- <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../../../images/atanh.png" alt="atanh"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acosh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/history.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/history.html
deleted file mode 100644
index a7d75ca8b4..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/history.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>History</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="atanh.html" title="atanh">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="atanh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.history"></a><a class="link" href="history.html" title="History">History</a>
-</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc">
-<li>
- 2005/12/17: Added support for platforms with no meaningful numeric_limits&lt;&gt;::infinity().
- </li>
-<li>
- 2005/12/01: Initial version, added as part of the TR1 library.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="atanh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/implementation.html b/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/implementation.html
deleted file mode 100644
index 3f2e45a55b..0000000000
--- a/libs/math/doc/complex/html/complex_number_tr1_algorithms/inverse_complex/implementation.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Implementation and Accuracy</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
-<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="prev" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-<link rel="next" href="asin.html" title="asin">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="complex_number_tr1_algorithms.inverse_complex.implementation"></a><a class="link" href="implementation.html" title="Implementation and Accuracy">Implementation
- and Accuracy</a>
-</h3></div></div></div>
-<p>
- Although there are deceptively simple formulae available for all of these
- functions, a naive implementation that used these formulae would fail catastrophically
- for some input values. The Boost versions of these functions have been implemented
- using the methodology described in "Implementing the Complex Arcsine
- and Arccosine Functions Using Exception Handling" by T. E. Hull Thomas
- F. Fairgrieve and Ping Tak Peter Tang, ACM Transactions on Mathematical Software,
- Vol. 23, No. 3, September 1997. This means that the functions are well defined
- over the entire complex number range, and produce accurate values even at
- the extremes of that range, where as a naive formula would cause overflow
- or underflow to occur during the calculation, even though the result is actually
- a representable value. The maximum theoretical relative error for all of
- these functions is less than 9.5E for every machine-representable point in
- the complex plane. Please refer to comments in the header files themselves
- and to the above mentioned paper for more information on the implementation
- methodology.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/complex/html/index.html b/libs/math/doc/complex/html/index.html
deleted file mode 100644
index c7065ca594..0000000000
--- a/libs/math/doc/complex/html/index.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Complex Number TR1 Algorithms</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="index.html" title="Complex Number TR1 Algorithms">
-<link rel="next" href="complex_number_tr1_algorithms/inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="complex_number_tr1_algorithms/inverse_complex.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="article" lang="en">
-<div class="titlepage">
-<div>
-<div><h2 class="title">
-<a name="complex_number_tr1_algorithms"></a>Complex Number TR1 Algorithms</h2></div>
-<div><div class="authorgroup"><div class="author"><h3 class="author">
-<span class="firstname">John</span> <span class="surname">Maddock</span>
-</h3></div></div></div>
-<div><p class="copyright">Copyright &#169; 2005 John Maddock</p></div>
-<div><div class="legalnotice">
-<a name="id996589"></a><p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex.html">Complex
- Number Inverse Trigonometric Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/implementation.html">Implementation
- and Accuracy</a></span></dt>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/asin.html">asin</a></span></dt>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/acos.html">acos</a></span></dt>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/atan.html">atan</a></span></dt>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/asinh.html">asinh</a></span></dt>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/acosh.html">acosh</a></span></dt>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/atanh.html">atanh</a></span></dt>
-<dt><span class="section"><a href="complex_number_tr1_algorithms/inverse_complex/history.html">History</a></span></dt>
-</dl></dd>
-</dl>
-</div>
-<p>
- This manual is also available in <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">printer
- friendly PDF format</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 29, 2006 at 11:08:32 +0000</small></p></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="complex_number_tr1_algorithms/inverse_complex.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/libs/math/doc/concepts/concepts.qbk b/libs/math/doc/concepts/concepts.qbk
new file mode 100644
index 0000000000..9bc9031e03
--- /dev/null
+++ b/libs/math/doc/concepts/concepts.qbk
@@ -0,0 +1,637 @@
+[section:high_precision Using Boost.Math with High-Precision Floating-Point Libraries]
+
+The special functions, distributions, constants and tools in this library
+can be used with a number of high-precision libraries, including:
+
+* __multiprecision
+* __e_float
+* __NTL
+* __GMP
+* __MPFR
+* __float128
+
+The last four have some license restrictions;
+only __multiprecision when using the `cpp_float` backend
+can provide an unrestricted [@http://www.boost.org/LICENSE_1_0.txt Boost] license.
+
+At present, the price of a free license is slightly lower speed.
+
+Of course, the main cost of higher precision is very much decreased
+(usually at least hundred-fold) computation speed, and big increases in memory use.
+
+Some libraries offer true
+[@http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic arbitrary precision arithmetic]
+where the precision is limited only by avilable memory and compute time, but most are used
+at some arbitrarily-fixed precision, say 100 decimal digits.
+
+__multiprecision can operate in both ways, but the most popular choice is likely to be about a hundred
+decimal digits, though examples of computing tens of thousands of digits have been demonstrated.
+
+[section:why_high_precision Why use a high-precision library rather than built-in floating-point types?]
+
+For nearly all applications, the built-in floating-point types, `double`
+(and `long double` if this offers higher precision than `double`)
+offer enough precision, typically a dozen decimal digits.
+
+Some reasons why one would want to use a higher precision:
+
+* A much more precise result (many more digits) is just a requirement.
+* The range of the computed value exceeds the range of the type: factorials are the textbook example.
+* Using double is (or may be) too inaccurate.
+* Using long double (or may be) is too inaccurate.
+* Using an extended precision type implemented in software as
+[@http://en.wikipedia.org/wiki/Double-double_(arithmetic)#Double-double_arithmetic double-double]
+([@http://en.wikipedia.org/wiki/Darwin_(operating_system) Darwin]) is sometimes unpredictably inaccurate.
+* Loss of precision or inaccuracy caused by extreme arguments or cancellation error.
+* An accuracy as good as possible for a chosen built-in floating-point type is required.
+* As a reference value, for example, to determine the inaccuracy
+of a value computed with a built-in floating point type,
+(perhaps even using some quick'n'dirty algorithm).
+The accuracy of many functions and distributions in Boost.Math has been measured in this way
+from tables of very high precision (up to 1000 decimal digits).
+
+Many functions and distributions have differences from exact values
+that are only a few least significant bits - computation noise.
+Others, often those for which analytical solutions are not available,
+require approximations and iteration:
+these may lose several decimal digits of precision.
+
+Much larger loss of precision can occur for [@http://en.wikipedia.org/wiki/Boundary_case boundary]
+or [@http://en.wikipedia.org/wiki/Corner_case corner cases],
+often caused by [@http://en.wikipedia.org/wiki/Loss_of_significance cancellation errors].
+
+(Some of the worst and most common examples of
+[@http://en.wikipedia.org/wiki/Loss_of_significance cancellation error or loss of significance]
+can be avoided by using __complements: see __why_complements).
+
+If you require a value which is as accurate as can be represented in the floating-point type,
+and is thus the closest representable value and has an error less than 1/2 a
+[@http://en.wikipedia.org/wiki/Least_significant_bit least significant bit] or
+[@http://en.wikipedia.org/wiki/Unit_in_the_last_place ulp]
+it may be useful to use a higher-precision type,
+for example, `cpp_dec_float_50`, to generate this value.
+Conversion of this value to a built-in floating-point type ('float', `double` or `long double`)
+will not cause any further loss of precision.
+A decimal digit string will also be 'read' precisely by the compiler
+into a built-in floating-point type to the nearest representable value.
+
+[note In contrast, reading a value from an `std::istream` into a built-in floating-point type
+is [*not guaranteed] by the C++ Standard to give the nearest representable value.]
+
+William Kahan coined the term
+[@http://en.wikipedia.org/wiki/Rounding#The_table-maker.27s_dilemma Table-Maker's Dilemma]
+for the problem of correctly rounding functions.
+Using a much higher precision (50 or 100 decimal digits)
+is a practical way of generating (almost always) correctly rounded values.
+
+[endsect] [/section:why_high_precision Why use a high-precision library rather than built-in floating-point types?]
+
+[section:use_multiprecision Using Boost.Multiprecision]
+
+[*All new projects are recommended to use __multiprecision.]
+
+[import ../../example/big_seventh.cpp]
+
+[big_seventh_example_1]
+
+[import ../../example/fft_sines_table.cpp]
+
+[fft_sines_table_example_1]
+
+The table output is:
+
+[fft_sines_table_example_output]
+
+[fft_sines_table_example_check]
+
+
+[/TODO another example needed here]
+
+[/import ../../example/ibeta_mp_example.cpp]
+
+[/ibeta_mp_example_1]
+
+[/The program output is:]
+
+[/ibeta_mp_output_1]
+
+[endsect] [/section:use_multiprecision Using Boost.Multiprecision]
+
+[section:float128 Using with GCC's __float128 datatype]
+
+At present support for GCC's native `__float128` datatype is extremely limited: the numeric constants
+will all work with that type, and that's about it. If you want to use the distributions or special
+functions then you will need to provide your own wrapper header that:
+
+* Provides std::numeric_limits<__float128> support.
+* Provides overloads of the standard library math function for type `__float128`and which forward to the libquadmath equivalents.
+
+Ultimately these facilities should be provided by GCC and libstdc++.
+
+[endsect]
+
+[section:use_mpfr Using With MPFR or GMP - High-Precision Floating-Point Library]
+
+The special functions and tools in this library can be used with
+[@http://www.mpfr.org MPFR] (an arbitrary precision number type based on the __GMP),
+either via the bindings in [@../../../../boost/math/bindings/mpfr.hpp boost/math/bindings/mpfr.hpp],
+or via [@../../../../boost/math/bindings/mpfr.hpp boost/math/bindings/mpreal.hpp].
+
+[*New projects are recommended to use __multiprecision with GMP/MPFR backend instead.]
+
+In order to use these bindings you will need to have installed [@http://www.mpfr.org MPFR]
+plus its dependency the [@http://gmplib.org GMP library]. You will also need one of the
+two supported C++ wrappers for MPFR:
+[@http://math.berkeley.edu/~wilken/code/gmpfrxx/ gmpfrxx (or mpfr_class)],
+or [@http://www.holoborodko.com/pavel/mpfr/ mpfr-C++ (mpreal)].
+
+Unfortunately neither `mpfr_class` nor `mpreal` quite satisfy our conceptual requirements,
+so there is a very thin set of additional interfaces and some helper traits defined in
+[@../../../../boost/math/bindings/mpfr.hpp boost/math/bindings/mpfr.hpp] and
+[@../../../../boost/math/bindings/mpreal.hpp boost/math/bindings/mpreal.hpp]
+that you should use in place of including 'gmpfrxx.h' or 'mpreal.h' directly.
+The classes `mpfr_class` or `mpreal` are
+then usable unchanged once this header is included, so for example `mpfr_class`'s
+performance-enhancing expression templates are preserved and fully supported by this library:
+
+ #include <boost/math/bindings/mpfr.hpp>
+ #include <boost/math/special_functions/gamma.hpp>
+
+ int main()
+ {
+ mpfr_class::set_dprec(500); // 500 bit precision
+ //
+ // Note that the argument to tgamma is
+ // an expression template - that's just fine here.
+ //
+ mpfr_class v = boost::math::tgamma(sqrt(mpfr_class(2)));
+ std::cout << std::setprecision(50) << v << std::endl;
+ }
+
+Alternatively use with `mpreal` would look like:
+
+ #include <boost/math/bindings/mpreal.hpp>
+ #include <boost/math/special_functions/gamma.hpp>
+
+ int main()
+ {
+ mpfr::mpreal::set_precision(500); // 500 bit precision
+ mpfr::mpreal v = boost::math::tgamma(sqrt(mpfr::mpreal(2)));
+ std::cout << std::setprecision(50) << v << std::endl;
+ }
+
+For those functions that are based upon the __lanczos, the bindings
+defines a series of approximations with up to 61 terms and accuracy
+up to approximately 3e-113. This therefore sets the upper limit for accuracy
+to the majority of functions defined this library when used with either `mpfr_class` or `mpreal`.
+
+There is a concept checking test program for mpfr support
+[@../../../../libs/math/test/mpfr_concept_check.cpp here] and
+[@../../../../libs/math/test/mpreal_concept_check.cpp here].
+
+[endsect] [/section:use_mpfr Using With MPFR / GMP - a High-Precision Floating-Point Library]
+
+[section:e_float Using e_float Library]
+
+__multiprecision was a development from the __e_float library by Christopher Kormanyos.
+
+e_float can still be used with Boost.Math library via the header:
+
+ <boost/math/bindings/e_float.hpp>
+
+And the type `boost::math::ef::e_float`:
+this type is a thin wrapper class around ::e_float which provides the necessary
+syntactic sugar to make everything "just work".
+
+There is also a concept checking test program for e_float support
+[@../../../../libs/math/test/e_float_concept_check.cpp here].
+
+[*New projects are recommended to use __multiprecision with `cpp_float` backend instead.]
+
+[endsect] [/section:e_float Using e_float Library]
+
+[section:use_ntl Using NTL Library]
+
+[@http://shoup.net/ntl/doc/RR.txt NTL::RR]
+(an arbitrarily-fixed precision floating-point number type),
+can be used via the bindings in
+[@../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp].
+For details, see [@http://shoup.net/ntl/ NTL: A Library for doing Number Theory by
+Victor Shoup].
+
+[*New projects are recommended to use __multiprecision instead.]
+
+Unfortunately `NTL::RR` doesn't quite satisfy our conceptual requirements,
+so there is a very thin wrapper class `boost::math::ntl::RR` defined in
+[@../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp] that you
+should use in place of `NTL::RR`. The class is intended to be a drop-in
+replacement for the "real" NTL::RR that adds some syntactic sugar to keep
+this library happy, plus some of the standard library functions not implemented
+in NTL.
+
+For those functions that are based upon the __lanczos, the bindings
+defines a series of approximations with up to 61 terms and accuracy
+up to approximately 3e-113. This therefore sets the upper limit for accuracy
+to the majority of functions defined this library when used with `NTL::RR`.
+
+There is a concept checking test program for NTL support
+[@../../../../libs/math/test/ntl_concept_check.cpp here].
+
+
+[endsect] [/section:use_ntl Using With NTL - a High-Precision Floating-Point Library]
+
+[section:using_test Using without expression templates for Boost.Test and others]
+
+As noted in the __multiprecision documentation, certain program constructs will not compile
+when using expression templates. One example that many users may encounter
+is Boost.Test (1.54 and earlier) when using macro BOOST_CHECK_CLOSE and BOOST_CHECK_CLOSE_FRACTION.
+
+If, for example, you wish to use any multiprecision type like `cpp_dec_float_50`
+in place of `double` to give more precision,
+you will need to override the default `boost::multiprecision::et_on` with
+`boost::multiprecision::et_off`.
+
+[import ../../example/test_cpp_float_close_fraction.cpp]
+
+[expression_template_1]
+
+A full example code is at [@../../example/test_cpp_float_close_fraction.cpp test_cpp_float_close_fraction.cpp]
+
+[endsect] [/section:using_test Using without expression templates for Boost.Test and others]
+
+[endsect] [/section:high_precision Using With High-Precision Floating-Point Libraries]
+
+
+[section:concepts Conceptual Requirements for Real Number Types]
+
+The functions, and statistical distributions in this library can be used with
+any type /RealType/ that meets the conceptual requirements given below. All
+the built-in floating-point types will meet these requirements.
+User-defined types that meet the requirements can also be used.
+
+For example, with [link math_toolkit.high_precision.use_ntl a thin wrapper class]
+one of the types provided with [@http://shoup.net/ntl/ NTL (RR)] can be used.
+But now that __multiprecision library is available,
+this has become the reference real number type.
+
+Submissions of binding to other extended precision types would also still be welcome.
+
+The guiding principal behind these requirements is that a /RealType/
+behaves just like a built-in floating-point type.
+
+[h4 Basic Arithmetic Requirements]
+
+These requirements are common to all of the functions in this library.
+
+In the following table /r/ is an object of type `RealType`, /cr/ and
+/cr2/ are objects
+of type `const RealType`, and /ca/ is an object of type `const arithmetic-type`
+(arithmetic types include all the built in integers and floating point types).
+
+[table
+[[Expression][Result Type][Notes]]
+[[`RealType(cr)`][RealType]
+ [RealType is copy constructible.]]
+[[`RealType(ca)`][RealType]
+ [RealType is copy constructible from the arithmetic types.]]
+[[`r = cr`][RealType&][Assignment operator.]]
+[[`r = ca`][RealType&][Assignment operator from the arithmetic types.]]
+[[`r += cr`][RealType&][Adds cr to r.]]
+[[`r += ca`][RealType&][Adds ar to r.]]
+[[`r -= cr`][RealType&][Subtracts cr from r.]]
+[[`r -= ca`][RealType&][Subtracts ca from r.]]
+[[`r *= cr`][RealType&][Multiplies r by cr.]]
+[[`r *= ca`][RealType&][Multiplies r by ca.]]
+[[`r /= cr`][RealType&][Divides r by cr.]]
+[[`r /= ca`][RealType&][Divides r by ca.]]
+[[`-r`][RealType][Unary Negation.]]
+[[`+r`][RealType&][Identity Operation.]]
+[[`cr + cr2`][RealType][Binary Addition]]
+[[`cr + ca`][RealType][Binary Addition]]
+[[`ca + cr`][RealType][Binary Addition]]
+[[`cr - cr2`][RealType][Binary Subtraction]]
+[[`cr - ca`][RealType][Binary Subtraction]]
+[[`ca - cr`][RealType][Binary Subtraction]]
+[[`cr * cr2`][RealType][Binary Multiplication]]
+[[`cr * ca`][RealType][Binary Multiplication]]
+[[`ca * cr`][RealType][Binary Multiplication]]
+[[`cr / cr2`][RealType][Binary Subtraction]]
+[[`cr / ca`][RealType][Binary Subtraction]]
+[[`ca / cr`][RealType][Binary Subtraction]]
+[[`cr == cr2`][bool][Equality Comparison]]
+[[`cr == ca`][bool][Equality Comparison]]
+[[`ca == cr`][bool][Equality Comparison]]
+[[`cr != cr2`][bool][Inequality Comparison]]
+[[`cr != ca`][bool][Inequality Comparison]]
+[[`ca != cr`][bool][Inequality Comparison]]
+[[`cr <= cr2`][bool][Less than equal to.]]
+[[`cr <= ca`][bool][Less than equal to.]]
+[[`ca <= cr`][bool][Less than equal to.]]
+[[`cr >= cr2`][bool][Greater than equal to.]]
+[[`cr >= ca`][bool][Greater than equal to.]]
+[[`ca >= cr`][bool][Greater than equal to.]]
+[[`cr < cr2`][bool][Less than comparison.]]
+[[`cr < ca`][bool][Less than comparison.]]
+[[`ca < cr`][bool][Less than comparison.]]
+[[`cr > cr2`][bool][Greater than comparison.]]
+[[`cr > ca`][bool][Greater than comparison.]]
+[[`ca > cr`][bool][Greater than comparison.]]
+[[`boost::math::tools::digits<RealType>()`][int]
+ [The number of digits in the significand of RealType.]]
+[[`boost::math::tools::max_value<RealType>()`][RealType]
+ [The largest representable number by type RealType.]]
+[[`boost::math::tools::min_value<RealType>()`][RealType]
+ [The smallest representable number by type RealType.]]
+[[`boost::math::tools::log_max_value<RealType>()`][RealType]
+ [The natural logarithm of the largest representable number by type RealType.]]
+[[`boost::math::tools::log_min_value<RealType>()`][RealType]
+ [The natural logarithm of the smallest representable number by type RealType.]]
+[[`boost::math::tools::epsilon<RealType>()`][RealType]
+ [The machine epsilon of RealType.]]
+]
+
+Note that:
+
+# The functions `log_max_value` and `log_min_value` can be
+synthesised from the others, and so no explicit specialisation is required.
+# The function `epsilon` can be synthesised from the others, so no
+explicit specialisation is required provided the precision
+of RealType does not vary at runtime (see the header
+[@../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp]
+for an example where the precision does vary at runtime).
+# The functions `digits`, `max_value` and `min_value`, all get synthesised
+automatically from `std::numeric_limits`. However, if `numeric_limits`
+is not specialised for type RealType, then you will get a compiler error
+when code tries to use these functions, /unless/ you explicitly specialise them.
+For example if the precision of RealType varies at runtime, then
+`numeric_limits` support may not be appropriate, see
+[@../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp] for examples.
+
+[warning
+If `std::numeric_limits<>` is *not specialized*
+for type /RealType/ then the default float precision of 6 decimal digits
+will be used by other Boost programs including:
+
+Boost.Test: giving misleading error messages like
+
+['"difference between {9.79796} and {9.79796} exceeds 5.42101e-19%".]
+
+Boost.LexicalCast and Boost.Serialization when converting the number
+to a string, causing potentially serious loss of accuracy on output.
+
+Although it might seem obvious that RealType should require `std::numeric_limits`
+to be specialized, this is not sensible for
+`NTL::RR` and similar classes where the number of digits is a runtime
+parameter (where as for `numeric_limits` it has to be fixed at compile time).
+]
+
+[h4 Standard Library Support Requirements]
+
+Many (though not all) of the functions in this library make calls
+to standard library functions, the following table summarises the
+requirements. Note that most of the functions in this library
+will only call a small subset of the functions listed here, so if in
+doubt whether a user defined type has enough standard library
+support to be useable the best advise is to try it and see!
+
+In the following table /r/ is an object of type `RealType`,
+/cr1/ and /cr2/ are objects of type `const RealType`, and
+/i/ is an object of type `int`.
+
+[table
+[[Expression][Result Type]]
+[[`fabs(cr1)`][RealType]]
+[[`abs(cr1)`][RealType]]
+[[`ceil(cr1)`][RealType]]
+[[`floor(cr1)`][RealType]]
+[[`exp(cr1)`][RealType]]
+[[`pow(cr1, cr2)`][RealType]]
+[[`sqrt(cr1)`][RealType]]
+[[`log(cr1)`][RealType]]
+[[`frexp(cr1, &i)`][RealType]]
+[[`ldexp(cr1, i)`][RealType]]
+[[`cos(cr1)`][RealType]]
+[[`sin(cr1)`][RealType]]
+[[`asin(cr1)`][RealType]]
+[[`tan(cr1)`][RealType]]
+[[`atan(cr1)`][RealType]]
+[[`fmod(cr1)`][RealType]]
+[[`round(cr1)`][RealType]]
+[[`iround(cr1)`][int]]
+[[`trunc(cr1)`][RealType]]
+[[`itrunc(cr1)`][int]]
+]
+
+Note that the table above lists only those standard library functions known to
+be used (or likely to be used in the near future) by this library.
+The following functions: `acos`, `atan2`, `fmod`, `cosh`, `sinh`, `tanh`, `log10`,
+`lround`, `llround`, `ltrunc`, `lltrunc` and `modf`
+are not currently used, but may be if further special functions are added.
+
+Note that the `round`, `trunc` and `modf` functions are not part of the
+current C++ standard: they are part of the additions added to C99 which will
+likely be in the next C++ standard. There are Boost versions of these provided
+as a backup, and the functions are always called unqualified so that
+argument-dependent-lookup can take place.
+
+In addition, for efficient and accurate results, a __lanczos is highly desirable.
+You may be able to adapt an existing approximation from
+[@../../../../boost/math/special_functions/lanczos.hpp
+boost/math/special_functions/lanczos.hpp] or
+[@../../../../boost/math/bindings/detail/big_lanczos.hpp
+boost/math/bindings/detail/big_lanczos.hpp]:
+in the former case you will need change
+static_cast's to lexical_cast's, and the constants to /strings/
+(in order to ensure the coefficients aren't truncated to long double)
+and then specialise `lanczos_traits` for type T. Otherwise you may have to hack
+[@../../tools/lanczos_generator.cpp
+libs/math/tools/lanczos_generator.cpp] to find a suitable
+approximation for your RealType. The code will still compile if you don't do
+this, but both accuracy and efficiency will be greatly compromised in any
+function that makes use of the gamma\/beta\/erf family of functions.
+
+[endsect] [/section: ]
+
+[section:dist_concept Conceptual Requirements for Distribution Types]
+
+A /DistributionType/ is a type that implements the following conceptual
+requirements, and encapsulates a statistical distribution.
+
+Please note that this documentation should not be used as a substitute
+for the
+[link math_toolkit.dist_ref reference documentation], and
+[link math_toolkit.stat_tut tutorial] of the statistical
+distributions.
+
+In the following table, /d/ is an object of type `DistributionType`,
+/cd/ is an object of type `const DistributionType` and /cr/ is an
+object of a type convertible to `RealType`.
+
+[table
+[[Expression][Result Type][Notes]]
+[[DistributionType::value_type][RealType]
+ [The real-number type /RealType/ upon which the distribution operates.]]
+[[DistributionType::policy_type][RealType]
+ [The __Policy to use when evaluating functions that depend on this distribution.]]
+[[d = cd][Distribution&][Distribution types are assignable.]]
+[[Distribution(cd)][Distribution][Distribution types are copy constructible.]]
+[[pdf(cd, cr)][RealType][Returns the PDF of the distribution.]]
+[[cdf(cd, cr)][RealType][Returns the CDF of the distribution.]]
+[[cdf(complement(cd, cr))][RealType]
+ [Returns the complement of the CDF of the distribution,
+ the same as: `1-cdf(cd, cr)`]]
+[[quantile(cd, cr)][RealType][Returns the quantile (or percentile) of the distribution.]]
+[[quantile(complement(cd, cr))][RealType]
+ [Returns the quantile (or percentile) of the distribution, starting from
+ the complement of the probability, the same as: `quantile(cd, 1-cr)`]]
+[[chf(cd, cr)][RealType][Returns the cumulative hazard function of the distribution.]]
+[[hazard(cd, cr)][RealType][Returns the hazard function of the distribution.]]
+[[kurtosis(cd)][RealType][Returns the kurtosis of the distribution.]]
+[[kurtosis_excess(cd)][RealType][Returns the kurtosis excess of the distribution.]]
+[[mean(cd)][RealType][Returns the mean of the distribution.]]
+[[mode(cd)][RealType][Returns the mode of the distribution.]]
+[[skewness(cd)][RealType][Returns the skewness of the distribution.]]
+[[standard_deviation(cd)][RealType][Returns the standard deviation of the distribution.]]
+[[variance(cd)][RealType][Returns the variance of the distribution.]]
+]
+
+[endsect]
+
+[section:archetypes Conceptual Archetypes for Reals and Distributions]
+
+There are a few concept archetypes available:
+
+* Real concept for floating-point types.
+* distribution Concept for statistical distributions.
+
+[h5 Real concept]
+
+`std_real_concept` is an archetype for theReal types,
+including the built-in float, double, long double.
+
+``#include <boost/concepts/std_real_concept.hpp>``
+
+ namespace boost{
+ namespace math{
+ namespace concepts
+ {
+ class std_real_concept;
+ }
+ }} // namespaces
+
+
+The main purpose in providing this type is to verify
+that standard library functions are found via a using declaration -
+bringing those functions into the current scope -
+and not just because they happen to be in global scope.
+
+In order to ensure that a call to say `pow` can be found
+either via argument dependent lookup, or failing that then
+in the std namespace: all calls to standard library functions
+are unqualified, with the std:: versions found via a `using` declaration
+to make them visible in the current scope. Unfortunately it's all
+to easy to forget the `using` declaration, and call the double version of
+the function that happens to be in the global scope by mistake.
+
+For example if the code calls ::pow rather than std::pow,
+the code will cleanly compile, but truncation of long doubles to
+double will cause a significant loss of precision.
+In contrast a template instantiated with std_real_concept will *only*
+compile if the all the standard library functions used have
+been brought into the current scope with a using declaration.
+
+[h6 Testing the real concept]
+
+There is a test program
+[@../../test/std_real_concept_check.cpp libs/math/test/std_real_concept_check.cpp]
+that instantiates every template in this library with type
+`std_real_concept` to verify its usage of standard library functions.
+
+``#include <boost/math/concepts/real_concept.hpp>``
+
+ namespace boost{
+ namespace math{
+ namespace concepts{
+
+ class real_concept;
+
+ }}} // namespaces
+
+`real_concept` is an archetype for
+[link math_toolkit.concepts user defined real types],
+it declares its standard library functions in its own
+namespace: these will only be found if they are called unqualified
+allowing argument dependent lookup to locate them. In addition
+this type is useable at runtime:
+this allows code that would not otherwise be exercised by the built-in
+floating point types to be tested. There is no std::numeric_limits<>
+support for this type, since numeric_limits is not a conceptual requirement
+for [link math_toolkit.concepts RealType]s.
+
+NTL RR is an example of a type meeting the requirements that this type
+models, but note that use of a thin wrapper class is required: refer to
+[link math_toolkit.high_precision.use_ntl "Using With NTL - a High-Precision Floating-Point Library"].
+
+There is no specific test case for type `real_concept`, instead, since this
+type is usable at runtime, each individual test case as well as testing
+`float`, `double` and `long double`, also tests `real_concept`.
+
+[h6 Distribution Concept]
+
+Distribution Concept models statistical distributions.
+
+``#include <boost/math/concepts/distribution.hpp>``
+
+ namespace boost{
+ namespace math{
+ namespace concepts
+ {
+ template <class RealType>
+ class distribution_archetype;
+
+ template <class Distribution>
+ struct DistributionConcept;
+
+ }}} // namespaces
+
+The class template `distribution_archetype` is a model of the
+[link math_toolkit.dist_concept Distribution concept].
+
+The class template `DistributionConcept` is a
+[@../../../../libs/concept_check/index.html concept checking class]
+for distribution types.
+
+[h6 Testing the distribution concept]
+
+The test program
+[@../../test/compile_test/distribution_concept_check.cpp distribution_concept_check.cpp]
+is responsible for using `DistributionConcept` to verify that all the
+distributions in this library conform to the
+[link math_toolkit.dist_concept Distribution concept].
+
+The class template `DistributionConcept` verifies the existence
+(but not proper function) of the non-member accessors
+required by the [link math_toolkit.dist_concept Distribution concept].
+These are checked by calls like
+
+v = pdf(dist, x); // (Result v is ignored).
+
+And in addition, those that accept two arguments do the right thing when the
+arguments are of different types (the result type is always the same as the
+distribution's value_type). (This is implemented by some additional
+forwarding-functions in derived_accessors.hpp, so that there is no need for
+any code changes. Likewise boilerplate versions of the
+hazard\/chf\/coefficient_of_variation functions are implemented in
+there too.)
+
+[endsect] [/section:archetypes Conceptual Archetypes for Reals and Distributions]
+[/
+ Copyright 2006, 2010, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
+
+
diff --git a/libs/math/doc/constants/constants.qbk b/libs/math/doc/constants/constants.qbk
new file mode 100644
index 0000000000..2acf9d918d
--- /dev/null
+++ b/libs/math/doc/constants/constants.qbk
@@ -0,0 +1,748 @@
+
+
+[mathpart constants..Mathematical Constants]
+
+[section:constants_intro Introduction]
+
+Boost.Math provides a collection of mathematical constants.
+
+[h4 Why use Boost.Math mathematical constants?]
+
+* Readable. For the very many jobs just using built-in like `double`, you can just write expressions like
+``double area = pi * r * r;``
+(If that's all you want, jump direct to [link math_toolkit.tutorial.non_templ use in non-template code]!)
+* Effortless - avoiding a search of reference sources.
+* Usable with both builtin floating point types, and user-defined, possibly extended precision, types such as
+NTL, MPFR/GMP, mp_float: in the latter case the constants are computed to the necessary precision and then cached.
+* Accurate - ensuring that the values are as accurate as possible for the
+chosen floating-point type
+ * No loss of accuracy from repeated rounding of intermediate computations.
+ * Result is computed with higher precision and only rounded once.
+ * Less risk of inaccurate result from functions pow, trig and log at [@http://en.wikipedia.org/wiki/Corner_case corner cases].
+ * Less risk of [@http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html cancellation error].
+* Portable - as possible between different systems using different floating-point precisions:
+see [link math_toolkit.tutorial.templ use in template code].
+* Tested - by comparison with other published sources, or separately computed at long double precision.
+* Faster - can avoid (re-)calculation at runtime.
+ * If the value returned is a builtin type then it's returned by value as a `constexpr` (C++11 feature, if available).
+ * If the value is computed and cached (or constructed from a string representation and cached), then it's returned by constant reference.[br]
+This can be significant if:
+ * Functions pow, trig or log are used.
+ * Inside an inner loop.
+ * Using a high-precision UDT like __multiprecision.
+ * Compiler optimizations possible with built-in types, especially `double`, are not available.
+
+[endsect] [/section:intro Introduction]
+
+[section:tutorial Tutorial]
+
+[section:non_templ Use in non-template code]
+
+When using the math constants at your chosen fixed precision in non-template code,
+you can simply add a `using namespace` declaration, for example,
+`using namespace boost::math::double_constants`,
+to make the constants of the correct precision for your code
+visible in the current scope, and then use each constant ['as a simple variable - sans brackets]:
+
+ #include <boost/math/constants/constants.hpp>
+
+ double area(double r)
+ {
+ using namespace boost::math::double_constants;
+ return pi * r * r;
+ }
+
+Had our function been written as taking a `float` rather than a `double`,
+we could have written instead:
+
+ #include <boost/math/constants/constants.hpp>
+
+ float area(float r)
+ {
+ using namespace boost::math::float_constants;
+ return pi * r * r;
+ }
+
+Likewise, constants that are suitable for use at `long double` precision
+are available in the namespace `boost::math::long_double_constants`.
+
+You can see the full list of available constants at [link math_toolkit.constants].
+
+Some examples of using constants are at [@../../example/constants_eg1.cpp constants_eg1].
+
+[endsect] [/section:non_templ Use in non-template code]
+
+[section:templ Use in template code]
+
+When using the constants inside a function template, we need to ensure that
+we use a constant of the correct precision for our template parameters.
+We can do this by calling the function-template versions, `pi<FPType>()`, of the constants
+like this:
+
+ #include <boost/math/constants/constants.hpp>
+
+ template <class Real>
+ Real area(Real r)
+ {
+ using namespace boost::math::constants;
+ return pi<Real>() * r * r;
+ }
+
+Although this syntax is a little less "cute" than the non-template version,
+the code is no less efficient
+(at least for the built-in types `float`, `double` and `long double`) :
+the function template versions of the constants are simple inline functions that
+return a constant of the correct precision for the type used. In addition, these
+functions are declared `constexp` for those compilers that support this, allowing
+the result to be used in constant-expressions provided the template argument is a literal type.
+
+[tip Keep in mind the difference between the variable version,
+just `pi`, and the template-function version:
+the template-function requires both a <[~floating-point-type]>
+and function call `()` brackets, for example: `pi<double>()`.
+You cannot write `double p = pi<>()`, nor `double p = pi()`.]
+
+[note You can always use [*both] variable and template-function versions
+[*provided calls are fully qualified], for example:
+``
+double my_pi1 = boost::math::constants::pi<double>();
+double my_pi2 = boost::math::double_constants::pi;
+``
+]
+
+[warning It may be tempting to simply define
+``
+using namespace boost::math::double_constants;
+using namespace boost::math::constants;
+``
+but if you do define two namespaces, this will, of course, create ambiguity!
+``
+double my_pi = pi(); // error C2872: 'pi' : ambiguous symbol
+double my_pi2 = pi; // Context does not allow for disambiguation of overloaded function
+``
+Although the mistake above is fairly obvious,
+it is also not too difficult to do this accidentally, or worse, create it in someone elses code.
+
+Therefore is it prudent to avoid this risk by [*localising the scope of such definitions], as shown above.]
+
+[tip Be very careful with the type provided as parameter.
+For example, providing an [*integer] instead of a floating-point type can be disastrous (a C++ feature).
+
+``cout << "Area = " << area(2) << endl; // Area = 12!!!``
+
+You should get a compiler warning
+[pre
+warning : 'return' : conversion from 'double' to 'int', possible loss of data
+] [/pre]
+Failure to heed this warning can lead to very wrong answers!
+
+You can also avoid this by being explicit about the type of `Area`.
+``cout << "Area = " << area<double>(2) << endl; // Area = 12.566371``
+]
+
+[endsect] [/section:templ Use in template code]
+
+[section:user_def Use With User-Defined Types]
+
+The most common example of a high-precision user-defined type will probably be __multiprecision.
+
+The syntax for using the function-call constants with user-defined types is the same
+as it is in the template class, which is to say we use:
+
+ #include <boost/math/constants/constants.hpp>
+
+ boost::math::constants::pi<UserDefinedType>();
+
+For example:
+
+ boost::math::constants::pi<boost::multiprecision::cpp_dec_float_50>();
+
+giving [pi] with a precision of 50 decimal digits.
+
+However, since the precision of the user-defined type may be much greater than that
+of the built-in floating point types, how the value returned is created is as follows:
+
+* If the precision of the type is known at compile time:
+ * If the precision is less than or equal to that of a `float` and the type is constructable from a `float`
+ then our code returns a `float` literal. If the user-defined type is a literal type
+ then the function call that returns the constant will be a `constexp`.
+ * If the precision is less than or equal to that of a `double` and the type is constructable from a `double`
+ then our code returns a `double` literal. If the user-defined type is a literal type
+ then the function call that returns the constant will be a `constexp`.
+ * If the precision is less than or equal to that of a `long double` and the type is constructable from a `long double`
+ then our code returns a `long double` literal. If the user-defined type is a literal type
+ then the function call that returns the constant will be a `constexp`.
+ * If the precision is less than or equal to that of a `__float128` (and the compiler supports such a type)
+ and the type is constructable from a `__float128`
+ then our code returns a `__float128` literal. If the user-defined type is a literal type
+ then the function call that returns the constant will be a `constexp`.
+ * If the precision is less than 100 decimal digits, then the constant will be constructed
+ (just the once, then cached in a thread-safe manner) from a string representation of the constant.
+ In this case the value is returned as a const reference to the cached value.
+ * Otherwise the value is computed (just once, then cached in a thread-safe manner).
+ In this case the value is returned as a const reference to the cached value.
+* If the precision is unknown at compile time then:
+ * If the runtime precision (obtained from a call to `boost::math::tools::digits<T>()`) is
+ less than 100 decimal digits, then the constant is constructed "on the fly" from the string
+ representation of the constant.
+ * Otherwise the value is constructed "on the fly" by calculating then value of the constant
+ using the current default precision of the type. Note that this can make use of the constants
+ rather expensive.
+
+In addition, it is possible to pass a `Policy` type as a second template argument, and use this to control
+the precision:
+
+ #include <boost/math/constants/constants.hpp>
+
+ typedef boost::math::policies::policy<boost::math::policies::digits2<80> > my_policy_type;
+ boost::math::constants::pi<MyType, my_policy_type>();
+
+[note Boost.Math doesn't know how to control the internal precision of `MyType`, the policy
+just controls how the selection process above is carried out, and the calculation precision
+if the result is computed.]
+
+It is also possible to control which method is used to construct the constant by specialising
+the traits class `construction_traits`:
+
+ namespace boost{ namespace math{ namespace constant{
+
+ template <class T, class Policy>
+ struct construction_traits
+ {
+ typedef mpl::int_<N> type;
+ };
+
+ }}} // namespaces
+
+Where ['N] takes one of the following values:
+
+[table
+[[['N]][Meaning]]
+[[0][The precision is unavailable at compile time;
+either construct from a decimal digit string or calculate on the fly depending upon the runtime precision.]]
+[[1][Return a float precision constant.]]
+[[2][Return a double precision constant.]]
+[[3][Return a long double precision constant.]]
+[[4][Construct the result from the string representation, and cache the result.]]
+[[Any other value ['N]][Sets the compile time precision to ['N] bits.]]
+]
+
+[h5 Custom Specializing a constant]
+
+In addition, for user-defined types that need special handling, it's possible to partially-specialize
+the internal structure used by each constant. For example, suppose we're using the C++ wrapper around MPFR
+`mpfr_class`: this has its own representation of Pi which we may well wish to use in place of the above
+mechanism. We can achieve this by specialising the class template `boost::math::constants::detail::constant_pi`:
+
+ namespace boost{ namespace math{ namespace constants{ namespace detail{
+
+ template<>
+ struct constant_pi<mpfr_class>
+ {
+ template<int N>
+ static mpfr_class get(const mpl::int_<N>&)
+ {
+ // The template param N is one of the values in the table above,
+ // we can either handle all cases in one as is the case here,
+ // or overload "get" for the different options.
+ mpfr_class result;
+ mpfr_const_pi(result.get_mpfr_t(), GMP_RNDN);
+ return result;
+ }
+ };
+
+ }}}} // namespaces
+
+[h5 Diagnosing what meta-programmed code is doing]
+
+Finally, since it can be tricky to diagnose what meta-programmed code is doing, there is a
+diagnostic routine that prints information about how this library will handle a specific type,
+it can be used like this:
+
+ #include <boost/math/constants/info.hpp>
+
+ int main()
+ {
+ boost::math::constants::print_info_on_type<MyType>();
+ }
+
+If you wish, you can also pass an optional std::ostream argument to the `print_info_on_type` function.
+Typical output for a user-defined type looks like this:
+
+[pre
+Information on the Implementation and Handling of
+Mathematical Constants for Type class boost::math::concepts::real_concept
+
+Checking for std::numeric_limits<class boost::math::concepts::real_concept> specialisation: no
+boost::math::policies::precision<class boost::math::concepts::real_concept, Policy>
+reports that there is no compile type precision available.
+boost::math::tools::digits<class boost::math::concepts::real_concept>()
+reports that the current runtime precision is
+53 binary digits.
+No compile time precision is available, the construction method
+will be decided at runtime and results will not be cached
+- this may lead to poor runtime performance.
+Current runtime precision indicates that
+the constant will be constructed from a string on each call.
+]
+
+[endsect] [/section:user_def Use With User Defined Types]
+
+[endsect] [/section:tutorial Tutorial]
+
+[section:constants The Mathematical Constants]
+
+This section lists the mathematical constants, their use(s) (and sometimes rationale for their inclusion).
+[table Mathematical Constants
+[[name] [formula] [Value (6 decimals)] [Uses and Rationale]]
+[[[*Rational fractions]] [] [] [] ]
+[[half] [1/2] [0.5] [] ]
+[[third] [1/3] [0.333333] [] ]
+[[two_thirds] [2/3] [0.66667] [] ]
+[[three_quarters] [3/4] [0.75] [] ]
+
+[[[*two and related]] [] [] [] ]
+[[root_two] [[radic]2] [1.41421] [] ]
+[[root_three] [[radic]3] [1.73205] [] ]
+[[half_root_two] [[radic]2 /2] [0.707106] [] ]
+[[ln_two] [ln(2)] [0.693147] [] ]
+[[ln_ten] [ln(10)] [2.30258] [] ]
+[[ln_ln_two] [ln(ln(2))] [-0.366512] [Gumbel distribution median] ]
+[[root_ln_four] [[radic]ln(4)] [1.177410] [] ]
+[[one_div_root_two] [1/[radic]2] [0.707106] [] ]
+
+[[[*[pi] and related]] [] [] [] ]
+[[pi] [pi] [3.14159] [Ubiquitous. Archimedes constant [@http://en.wikipedia.org/wiki/Pi [pi]]]]
+[[half_pi] [[pi]/2] [1.570796] [] ]
+[[third_pi] [[pi]/3] [1.04719] [] ]
+[[sixth_pi] [[pi]/6] [0.523598] [] ]
+[[two_pi] [2[pi]] [6.28318] [Many uses, most simply, circumference of a circle]]
+[[two_thirds_pi] [2/3 [pi]] [2.09439] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a hemi-sphere] = 4/3 [pi] r[cubed]]]
+[[three_quarters_pi] [3/4 [pi]] [2.35619] [ = 3/4 [pi] ]]
+[[four_thirds_pi] [4/3 [pi]] [4.18879] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a sphere] = 4/3 [pi] r[cubed]]]
+[[one_div_two_pi] [1/(2[pi])] [1.59155] [Widely used]]
+[[root_pi] [[radic][pi]][1.77245] [Widely used]]
+[[root_half_pi] [[radic] [pi]/2] [1.25331] [Widely used]]
+[[root_two_pi][[radic] [pi]*2] [2.50662] [Widely used]]
+[[one_div_root_pi] [1/[radic][pi]] [0.564189] [] ]
+[[one_div_root_two_pi] [1/[radic](2[pi])] [0.398942] [] ]
+[[root_one_div_pi] [[radic](1/[pi]] [0.564189] [] ]
+[[pi_minus_three] [[pi]-3] [0.141593] [] ]
+[[four_minus_pi] [4 -[pi]] [0.858407] [] ]
+[[pi_pow_e] [[pi][super e]] [22.4591] [] ]
+
+[[pi_sqr] [[pi][super 2]] [9.86960] [] ]
+[[pi_sqr_div_six] [[pi][super 2]/6] [1.64493] [] ]
+[[pi_cubed] [[pi][super 3]] [31.00627] [] ]
+[[cbrt_pi] [[radic][super 3] [pi]] [1.46459] [] ]
+[[one_div_cbrt_pi] [1/[radic][super 3] [pi]] [0.682784] [] ]
+
+[[[*Euler's e and related]] [] [] [] ]
+[[e] [e] [2.71828] [[@http://en.wikipedia.org/wiki/E_(mathematical_constant) Euler's constant e]] ]
+[[exp_minus_half] [e [super -1/2]] [0.606530] [] ]
+[[e_pow_pi] [e [super [pi]]] [23.14069] [] ]
+[[root_e] [[radic] e] [1.64872] [] ]
+[[log10_e] [log10(e)] [0.434294] [] ]
+[[one_div_log10_e] [1/log10(e)] [2.30258] [] ]
+
+[[[*Trigonometric]] [] [] [] ]
+[[degree] [radians = [pi] / 180] [0.017453] [] ]
+[[radian] [degrees = 180 / [pi]] [57.2957] [] ]
+[[sin_one] [sin(1)] [0.841470] [] ]
+[[cos_one] [cos(1)] [0.54030] [] ]
+[[sinh_one] [sinh(1)] [1.17520] [] ]
+[[cosh_one] [cosh(1)] [1.54308] [] ]
+
+[[[*Phi]] [ Phidias golden ratio] [[@http://en.wikipedia.org/wiki/Golden_ratio Phidias golden ratio]] [] ]
+[[phi] [(1 + [radic]5) /2] [1.61803] [finance] ]
+[[ln_phi] [ln([phi])] [0.48121] [] ]
+[[one_div_ln_phi] [1/ln([phi])] [2.07808] [] ]
+
+[[[*Euler's Gamma]] [] [] [] ]
+[[euler] [euler] [0.577215] [[@http://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni gamma constant]] ]
+[[one_div_euler] [1/euler] [1.73245] [] ]
+[[euler_sqr] [euler[super 2]] [0.333177] [] ]
+
+[[[*Misc]] [] [] [] ]
+[[zeta_two] [[zeta](2)] [1.64493] [[@http://en.wikipedia.org/wiki/Riemann_zeta_function Riemann zeta function]] ]
+[[zeta_three] [[zeta](3)] [1.20205] [[@http://en.wikipedia.org/wiki/Riemann_zeta_function Riemann zeta function]] ]
+[[catalan] [['K]] [0.915965] [[@http://mathworld.wolfram.com/CatalansConstant.html Catalan (or Glaisher) combinatorial constant] ]]
+[[glaisher] [['A]] [1.28242] [[@https://oeis.org/A074962/constant Decimal expansion of Glaisher-Kinkelin constant] ]]
+[[khinchin] [['k]] [2.685452] [[@https://oeis.org/A002210/constant Decimal expansion of Khinchin constant] ]]
+
+[[extreme_value_skewness] [12[radic]6 [zeta](3)/ [pi][super 3]] [1.139547] [Extreme value distribution] ]
+[[rayleigh_skewness] [2[radic][pi]([pi]-3)/(4 - [pi])[super 3/2]] [0.631110] [Rayleigh distribution skewness] ]
+[[rayleigh_kurtosis_excess] [-(6[pi][super 2]-24[pi]+16)/(4-[pi])[super 2]] [0.245089] [[@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution kurtosis excess]] ]
+[[rayleigh_kurtosis] [3+(6[pi][super 2]-24[pi]+16)/(4-[pi])[super 2]] [3.245089] [Rayleigh distribution kurtosis] ]
+
+] [/table]
+
+
+[note Integer values are [*not included] in this list of math constants, however interesting,
+because they can be so easily and exactly constructed, even for UDT, for example: `static_cast<cpp_float>(42)`.]
+
+[tip If you know the approximate value of the constant, you can search for the value to find Boost.Math chosen name in this table.]
+[tip Bernoulli numbers are available at __bernoulli_numbers.]
+[tip Factorials are available at __factorial.]
+
+[endsect] [/section:constants The constants]
+
+[section:new_const Defining New Constants]
+
+The library provides some helper code to assist in defining new constants;
+the process for defining a constant called `my_constant` goes like this:
+
+1. [*Define a function that calculates the value of the constant].
+This should be a template function, and be placed in `boost/math/constants/calculate_constants.hpp`
+if the constant is to be added to this library,
+or else defined at the top of your source file if not.
+
+The function should look like this:
+
+ namespace boost{ namespace math{ namespace constants{ namespace detail{
+
+ template <class Real>
+ template <int N>
+ Real constant_my_constant<Real>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
+ {
+ int required_precision = N ? N : tools::digits<Real>();
+ Real result = /* value computed to required_precision bits */ ;
+ return result;
+ }
+
+ }}}} // namespaces
+
+Then define a placeholder for the constant itself:
+
+ namespace boost{ namespace math{ namespace constants{
+
+ BOOST_DEFINE_MATH_CONSTANT(my_constant, 0.0, "0");
+
+ }}}
+
+
+For example, to calculate [pi]/2, add to `boost/math/constants/calculate_constants.hpp`
+
+ template <class T>
+ template<int N>
+ inline T constant_half_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
+ {
+ BOOST_MATH_STD_USING
+ return pi<T, policies::policy<policies::digits2<N> > >() / static_cast<T>(2);
+ }
+
+Then to `boost/math/constants/constants.hpp` add:
+
+ BOOST_DEFINE_MATH_CONSTANT(half_pi, 0.0, "0"); // Actual values are temporary, we'll replace them later.
+
+[note Previously defined constants like pi and e can be used, but by *not simply calling* `pi<T>()`;
+specifying the precision via the policy
+`pi<T, policies::policy<policies::digits2<N> > >()`
+is essential to ensure full accuracy.]
+
+[warning Newly defined constants can only be used once they are included in
+`boost/math/constants/constants.hpp`. So if you add
+`template <class T, class N> T constant_my_constant{...}`,
+then you cannot define `constant_my_constant`
+until you add the temporary `BOOST_DEFINE_MATH_CONSTANT(my_constant, 0.0, "0")`.
+Failing to do this will result in surprising compile errors:
+``
+ error C2143: syntax error : missing ';' before '<'
+ error C2433: 'constant_root_two_div_pi' : 'inline' not permitted on data declarations
+ error C2888: 'T constant_root_two_div_pi' : symbol cannot be defined within namespace 'detail'
+ error C2988: unrecognizable template declaration/definition
+``
+]
+
+2. [*You will need an arbitrary precision type to use to calculate the value]. This library
+currently supports either `cpp_float`, `NTL::RR` or `mpfr_class` used via the bindings in `boost/math/bindings`.
+The default is to use `NTL::RR` unless you define an alternate macro, for example,
+`USE_MPFR` or `USE_CPP_FLOAT` at the start of your program.
+
+3. It is necessary to link to the Boost.Regex library,
+and probably to your chosen arbitrary precision type library.
+
+4. You need to add `libs\math\include_private` to your compiler's include path as the needed
+header is not installed in the usual places by default (this avoids a cyclic dependency between
+the Math and Multiprecision library's headers).
+
+5. The complete program to generate the constant `half_pi` using function `calculate_half_pi` is then:
+
+ #define USE_CPP_FLOAT // If required.
+ #include <boost/math/constants/generate.hpp>
+
+ int main()
+ {
+ BOOST_CONSTANTS_GENERATE(half_pi);
+ }
+
+The output from the program is a snippet of C++ code
+(actually a macro call) that can be cut and pasted
+into `boost/math/constants/constants.hpp` or else into your own code, for example:
+
+[pre
+ BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00");
+]
+
+This macro BOOST_DEFINE_MATH_CONSTANT inserts a C++ struct code snippet that
+declares the `float`, `double` and `long double` versions of the constant,
+plus a decimal digit string representation correct to 100 decimal
+digits, and all the meta-programming machinery needed to select between them.
+
+The result of an expanded macro for Pi is shown below.
+
+[import ./pp_pi.hpp]
+
+[preprocessed_pi]
+
+
+[endsect] [/section:new_const Defining New Constants]
+
+[section:constants_faq FAQs]
+
+[h4 Why are ['these] Constants Chosen?]
+It is, of course, impossible to please everyone with a list like this.
+
+Some of the criteria we have used are:
+
+* Used in Boost.Math.
+* Commonly used.
+* Expensive to compute.
+* Requested by users.
+* [@http://en.wikipedia.org/wiki/Mathematical_constant Used in science and mathematics.]
+* No integer values (because so cheap to construct).[br]
+(You can easily define your own if found convenient, for example: `FPT one =static_cast<FPT>(42);`).
+
+[h4 How are constants named?]
+* Not macros, so no upper case.
+* All lower case (following C++ standard names).
+* No CamelCase.
+* Underscore as _ delimiter between words.
+* Numbers spelt as words rather than decimal digits (except following pow).
+* Abbreviation conventions:
+ * root for square root.
+ * cbrt for cube root.
+ * pow for pow function using decimal digits like pow23 for n[super 2/3].
+ * div for divided by or operator /.
+ * minus for operator -, plus for operator +.
+ * sqr for squared.
+ * cubed for cubed n[super 3].
+ * words for greek, like [pi], [zeta] and [Gamma].
+ * words like half, third, three_quarters, sixth for fractions. (Digit(s) can get muddled).
+ * log10 for log[sub 10]
+ * ln for log[sub e]
+
+[h4 How are the constants derived?]
+
+The constants have all been calculated using high-precision software working
+with up to 300-bit precision giving about 100 decimal digits.
+(The precision can be arbitrarily chosen and is limited only by compute time).
+
+[h4 How Accurate are the constants?]
+The minimum accuracy chosen (100 decimal digits) exceeds the
+accuracy of reasonably-foreseeable floating-point hardware (256-bit)
+and should meet most high-precision computations.
+
+[h4 How are the constants tested?]
+
+# Comparison using Boost.Test BOOST_CHECK_CLOSE_FRACTION using long double literals,
+with at least 35 decimal digits, enough to be accurate for all long double implementations.
+The tolerance is usually twice `long double epsilon`.
+
+# Comparison with calculation at long double precision.
+This often requires a slightly higher tolerance than two epsilon
+because of computational noise from round-off etc,
+especially when trig and other functions are called.
+
+# Comparison with independent published values,
+for example, using [@http://oeis.org/ The On-Line Encyclopedia of Integer Sequences (OEIS)]
+again using at least 35 decimal digits strings.
+
+# Comparison with independely calculated values using arbitrary precision tools like
+[@http://www.wolfram.com/mathematica/ Mathematica], again using at least 35 decimal digits literal strings.
+
+[warning We have not yet been able to [*check] that
+[*all] constants are accurate at the full arbitrary precision,
+at present 100 decimal digits.
+But certain key values like `e` and `pi` appear to be accurate
+and internal consistencies suggest that others are this accurate too.
+]
+
+[h4 Why is Portability important?]
+
+Code written using math constants is easily portable even when using different
+floating-point types with differing precision.
+
+It is a mistake to expect that results of computations will be [*identical], but
+you can achieve the [*best accuracy possible for the floating-point type in use].
+
+This has no extra cost to the user, but reduces irritating,
+and often confusing and very hard-to-trace effects,
+caused by the intrinsically limited precision of floating-point calculations.
+
+A harmless symptom of this limit is a spurious least-significant digit;
+at worst, slightly inaccurate constants sometimes cause iterating algorithms
+to diverge wildly because internal comparisons just fail.
+
+[h4 What is the Internal Format of the constants, and why?]
+
+See [link math_toolkit.tutorial tutorial] above for normal use,
+but this FAQ explains the internal details used for the constants.
+
+Constants are stored as 100 decimal digit values.
+However, some compilers do not accept decimal digits strings as long as this.
+So the constant is split into two parts, with the first containing at least
+128-bit long double precision (35 decimal digits),
+and for consistency should be in scientific format with a signed exponent.
+
+The second part is the value of the constant expressed as a string literal,
+accurate to at least 100 decimal digits (in practice that means at least 102 digits).
+Again for consistency use scientific format with a signed exponent.
+
+For types with precision greater than a long double,
+then if T is constructible `T `is constructible from a `const char*`
+then it's directly constructed from the string,
+otherwise we fall back on lexical_cast to convert to type `T`.
+(Using a string is necessary because you can't use a numeric constant
+since even a `long double` might not have enough digits).
+
+So, for example, a constant like pi is internally defined as
+
+ BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884e+00, "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00");
+
+In this case the significand is 109 decimal digits, ensuring 100 decimal digits are exact, and exponent is zero.
+
+See [link math_toolkit.new_const defining new constants] to calculate new constants.
+
+A macro definition like this can be pasted into user code where convenient,
+or into `boost/math/constants.hpp` if it is to be added to the Boost.Math library.
+
+[h4 What Floating-point Types could I use?]
+
+Apart from the built-in floating-point types `float`, `double`, `long double`,
+there are several arbitrary precision floating-point classes available,
+but most are not licensed for commercial use.
+
+[h5 Boost.Multiprecision by Christopher Kormanyos]
+
+This work is based on an earlier work called e-float:
+Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations,
+in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011.
+[@http://doi.acm.org/10.1145/1916461.1916469]
+[@https://svn.boost.org/svn/boost/sandbox/e_float/ e_float]
+but is now re-factored and available under the Boost license in the Boost-sandbox at
+[@https://svn.boost.org/svn/boost/sandbox/multiprecision/ multiprecision]
+where it is being refined and prepared for review.
+
+[h5 Boost.cpp_float by John Maddock using Expression Templates]
+
+[@https://svn.boost.org/svn/boost/sandbox/big_number/ Big Number]
+which is a reworking of [@https://svn.boost.org/svn/boost/sandbox/e_float/ e_float]
+by Christopher Kormanyos to use expression templates for faster execution.
+
+[h5 NTL class quad_float]
+
+[@http://shoup.net/ntl/ NTL] by Victor Shoup has fixed and arbitrary high precision fixed and floating-point types.
+However none of these are licenced for commercial use.
+
+ #include <NTL/quad_float.h> // quad precision 106-bit, about 32 decimal digits.
+ using NTL::to_quad_float; // Less precise than arbitrary precision NTL::RR.
+
+NTL class `quad_float`, which gives a form of quadruple precision,
+106-bit significand (but without an extended exponent range.)
+With an IEC559/IEEE 754 compatible processor,
+for example Intel X86 family, with 64-bit double, and 53-bit significand,
+using the significands of [*two] 64-bit doubles,
+if `std::numeric_limits<double>::digits10` is 16,
+then we get about twice the precision,
+so `std::numeric_limits<quad_float>::digits10()` should be 32.
+(the default `std::numeric_limits<RR>::digits10()` should be about 40).
+(which seems to agree with experiments).
+We output constants (including some noisy bits,
+an approximation to `std::numeric_limits<RR>::max_digits10()`)
+by adding 2 extra decimal digits, so using `quad_float::SetOutputPrecision(32 + 2);`
+
+Apple Mac/Darwin uses a similar ['doubledouble] 106-bit for its built-in `long double` type.
+
+[note The precision of all `doubledouble` floating-point types is rather odd and values given are only approximate.]
+
+[*New projects should use __multiprecision.]
+
+[h5 NTL class RR]
+
+Arbitrary precision floating point with NTL class RR,
+default is 150 bit (about 50 decimal digits)
+used here with 300 bit to output 100 decimal digits,
+enough for many practical non-'number-theoretic' C++ applications.
+
+__NTL is [*not licenced for commercial use].
+
+This class is used in Boost.Math and is an option when using big_number projects to calculate new math constants.
+
+[*New projects should use __multiprecision.]
+
+[h5 GMP and MPFR]
+
+[@http://gmplib.org GMP] and [@http://www.mpfr.org/ MPFR] have also been used to compute constants,
+but are licensed under the [@http://www.gnu.org/copyleft/lesser.html Lesser GPL license]
+and are [*not licensed for commercial use].
+
+[h4 What happened to a previous collection of constants proposed for Boost?]
+
+A review concluded that the way in which the constants were presented did not meet many peoples needs.
+None of the methods proposed met many users' essential requirement to allow writing simply `pi` rather than `pi()`.
+Many science and engineering equations look difficult to read when because function call brackets can be confused
+with the many other brackets often needed. All the methods then proposed of avoiding the brackets failed to meet all needs,
+often on grounds of complexity and lack of applicability to various realistic scenarios.
+
+So the simple namespace method, proposed on its own, but rejected at the first review,
+has been added to allow users to have convenient access to float, double and long double values,
+but combined with template struct and functions to allow simultaneous use
+with other non-built-in floating-point types.
+
+
+[h4 Why do the constants (internally) have a struct rather than a simple function?]
+
+A function mechanism was provided by in previous versions of Boost.Math.
+
+The new mechanism is to permit partial specialization. See Custom Specializing a constant above.
+It should also allow use with other packages like [@http://www.ttmath.org/ ttmath Bignum C++ library.]
+
+[h4 Where can I find other high precision constants?]
+
+# Constants with very high precision and good accuracy (>40 decimal digits)
+from Simon Plouffe's web based collection [@http://pi.lacim.uqam.ca/eng/].
+# [@https://oeis.org/ The On-Line Encyclopedia of Integer Sequences (OEIS)]
+# Checks using printed text optically scanned values and converted from:
+D. E. Knuth, Art of Computer Programming, Appendix A, Table 1, Vol 1, ISBN 0 201 89683 4 (1997)
+# M. Abrahamovitz & I. E. Stegun, National Bureau of Standards, Handbook of Mathematical Functions,
+a reference source for formulae now superceded by
+# Frank W. Olver, Daniel W. Lozier, Ronald F. Boisvert, Charles W. Clark, NIST Handbook of Mathemetical Functions, Cambridge University Press, ISBN 978-0-521-14063-8, 2010.
+# John F Hart, Computer Approximations, Kreiger (1978) ISBN 0 88275 642 7.
+# Some values from Cephes Mathematical Library, Stephen L. Moshier
+and CALC100 100 decimal digit Complex Variable Calculator Program, a DOS utility.
+# Xavier Gourdon, Pascal Sebah, 50 decimal digits constants at [@http://numbers.computation.free.fr/Constants/constants.html Number, constants and computation].
+
+[h4 Where are Physical Constants?]
+
+Not here in this Boost.Math collection, because physical constants:
+
+* Are measurements, not truely constants.
+* Are not truly constant and keeping changing as mensuration technology improves.
+* Have a instrinsic uncertainty.
+* Mathematical constants are stored and represented at varying precision, but should never be inaccurate.
+
+Some physical constants may be available in Boost.Units.
+
+[endsect] [/section:FAQ FAQ]
+
+[endmathpart] [/section:constants Mathematical Constants]
+
+[/
+ Copyright 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/constants/pp_pi.hpp b/libs/math/doc/constants/pp_pi.hpp
new file mode 100644
index 0000000000..db66d30c89
--- /dev/null
+++ b/libs/math/doc/constants/pp_pi.hpp
@@ -0,0 +1,99 @@
+//[preprocessed_pi
+
+// Preprocessed pi constant, annotated.
+
+namespace boost
+{
+ namespace math
+ {
+ namespace constants
+ {
+ namespace detail
+ {
+ template <class T> struct constant_pi
+ {
+ private:
+ // Default implementations from string of decimal digits:
+ static inline T get_from_string()
+ {
+ static const T result
+ = detail::convert_from_string<T>("3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00",
+ boost::is_convertible<const char*, T>());
+ return result;
+ }
+ template <int N> static T compute();
+
+ public:
+ // Default implementations from string of decimal digits:
+ static inline T get(const mpl::int_<construct_from_string>&)
+ {
+ constant_initializer<T, & constant_pi<T>::get_from_string >::do_nothing();
+ return get_from_string();
+ }
+ // Float, double and long double versions:
+ static inline T get(const mpl::int_<construct_from_float>)
+ {
+ return 3.141592653589793238462643383279502884e+00F;
+ }
+ static inline T get(const mpl::int_<construct_from_double>&)
+ {
+ return 3.141592653589793238462643383279502884e+00;
+ }
+ static inline T get(const mpl::int_<construct_from_long_double>&)
+ {
+ return 3.141592653589793238462643383279502884e+00L;
+ }
+ // For very high precision that is nonetheless can be calculated at compile time:
+ template <int N> static inline T get(const mpl::int_<N>& n)
+ {
+ constant_initializer2<T, N, & constant_pi<T>::template compute<N> >::do_nothing();
+ return compute<N>();
+ }
+ //For true arbitrary precision, which may well vary at runtime.
+ static inline T get(const mpl::int_<0>&)
+ {
+ return tools::digits<T>() > max_string_digits ? compute<0>() : get(mpl::int_<construct_from_string>());
+ }
+ }; // template <class T> struct constant_pi
+ } // namespace detail
+
+ // The actual forwarding function (including policy to control precision).
+ template <class T, class Policy> inline T pi( )
+ {
+ return detail:: constant_pi<T>::get(typename construction_traits<T, Policy>::type());
+ }
+ // The actual forwarding function (using default policy to control precision).
+ template <class T> inline T pi()
+ {
+ return pi<T, boost::math::policies::policy<> >()
+ }
+ } // namespace constants
+
+ // Namespace specific versions, for the three built-in floats:
+ namespace float_constants
+ {
+ static const float pi = 3.141592653589793238462643383279502884e+00F;
+ }
+ namespace double_constants
+ {
+ static const double pi = 3.141592653589793238462643383279502884e+00;
+ }
+ namespace long_double_constants
+ {
+ static const long double pi = 3.141592653589793238462643383279502884e+00L;
+ }
+ namespace constants{;
+ } // namespace constants
+ } // namespace math
+} // namespace boost
+
+//] [/preprocessed_pi]
+
+/*
+ Copyright 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+
diff --git a/libs/math/doc/cstdfloat/cstdfloat.qbk b/libs/math/doc/cstdfloat/cstdfloat.qbk
new file mode 100644
index 0000000000..4f1a311414
--- /dev/null
+++ b/libs/math/doc/cstdfloat/cstdfloat.qbk
@@ -0,0 +1,447 @@
+[/cstdfloat.qbk Specified-width floating-point typedefs]
+
+[def __IEEE754 [@http://en.wikipedia.org/wiki/IEEE_floating_point IEEE_floating_point]]
+[def __N3626 [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf N3626]]
+[def __N1703 [@http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1703.pdf N1703]]
+
+[import ../../example/cstdfloat_example.cpp]
+[import ../../example/normal_tables.cpp]
+
+[section:overview Overview]
+
+The header `<boost/cstdfloat.hpp>` provides [*optional]
+standardized floating-point `typedef`s having [*specified widths].
+These are useful for writing portable code because they
+should behave identically on all platforms.
+These `typedef`s are the floating-point analog of specified-width integers in `<cstdint>` and `stdint.h`.
+
+The `typedef`s are based on __N3626
+proposed for a new C++14 standard header `<cstdfloat>` and
+__N1703 proposed for a new C language standard header `<stdfloat.h>`.
+
+All `typedef`s are in `namespace boost` (would be in namespace `std` if eventually standardized).
+
+The `typedef`s include `float16_t, float32_t, float64_t, float80_t, float128_t`,
+their corresponding least and fast types,
+and the corresponding maximum-width type.
+The `typedef`s are based on underlying built-in types
+such as `float`, `double`, or `long double`, or based on other compiler-specific
+non-standardized types such as `__float128`.
+The underlying types of these `typedef`s must conform with
+the corresponding specifications of binary16, binary32, binary64,
+and binary128 in __IEEE754 floating-point format.
+
+The 128-bit floating-point type (of great interest in scientific and
+numeric programming) is not required in the Boost header,
+and may not be supplied for all platforms/compilers, because compiler
+support for a 128-bit floating-point type is not mandated by either
+the C standard or the C++ standard.
+
+See [link math_toolkit.examples.je_lambda Jahnke-Emden-Lambda function example]
+for an example using both a CMath function and a Boost.Math function
+to evaluate a moderately interesting function, the
+[@http://mathworld.wolfram.com/LambdaFunction.html Jahnke-Emden-Lambda function]
+and [link math_toolkit.examples.normal_table normal distribution]
+an example of a statistical distribution from Boost.Math
+
+[endsect] [/section:overview Overview]
+
+[section:rationale Rationale]
+
+The implementation of `<boost/cstdfloat.hpp>` is designed to utilize `<float.h>`,
+defined in the 1989 C standard. The preprocessor is used to query certain
+preprocessor definitions in `<float.h>` such as FLT_MAX, DBL_MAX, etc.
+Based on the results of these queries, an attempt is made to automatically
+detect the presence of built-in floating-point types having specified widths.
+An unequivocal test regarding conformance with __IEEE754 (IEC599) based on
+[@ http://en.cppreference.com/w/cpp/types/numeric_limits/is_iec559 `std::numeric_limits<>::is_iec559`]
+is performed with `BOOST_STATIC_ASSERT`.
+
+In addition, this Boost implementation `<boost/cstdfloat.hpp>`
+supports an 80-bit floating-point `typedef` if it can be detected,
+and a 128-bit floating-point `typedef` if it can be detected,
+provided that the underlying types conform with
+[@http://en.wikipedia.org/wiki/Extended_precision IEEE-754 precision extension]
+(if`std::numeric_limits<>::is_iec559` is true for this type).
+
+The header `<boost/cstdfloat.hpp>` makes the standardized floating-point
+`typedef`s safely available in `namespace boost` without placing any names
+in `namespace std`. The intention is to complement rather than compete
+with a potential future C/C++ Standard Library that may contain these `typedef`s.
+Should some future C/C++ standard include `<stdfloat.h>` and `<cstdfloat>`,
+then `<boost/cstdfloat.hpp>` will continue to function, but will become redundant
+and may be safely deprecated.
+
+Because `<boost/cstdfloat.hpp>` is a Boost header, its name conforms to the
+boost header naming conventions, not the C++ Standard Library header
+naming conventions.
+
+[note
+`<boost/cstdfloat.hpp>` [*cannot synthesize or create
+a `typedef` if the underlying type is not provided by the compiler].
+For example, if a compiler does not have an underlying floating-point
+type with 128 bits (highly sought-after in scientific and numeric programming),
+then `float128_t` and its corresponding least and fast types are not
+provided by `<boost/cstdfloat.hpp`>.]
+
+[warning If `<boost/cstdfloat.hpp>` uses a compiler-specific non-standardized type
+([*not] derived from `float, double,` or `long double`) for one or more
+of its floating-point `typedef`s, then there is no guarantee that
+specializations of `numeric_limits<>` will be available for these types.
+Typically, specializations of `numeric_limits<>` will only be available for these
+types if the compiler itself supports corresponding specializations
+for the underlying type(s), exceptions are GCC's `__float128` type and
+Intel's `_Quad` type which are explicitly supported via our own code.]
+
+[warning
+As an implementation artifact, certain C macro names from `<float.h>`
+may possibly be visible to users of `<boost/cstdfloat.hpp>`.
+Don't rely on using these macros; they are not part of any Boost-specified interface.
+Use `std::numeric_limits<>` for floating-point ranges, etc. instead.]
+
+[tip For best results, `<boost/cstdfloat.hpp>` should be `#include`d before
+other headers that define generic code making use of standard library functions
+defined in <cmath>.
+
+This is because `<boost/cstdfloat.hpp>` may define overloads of
+standard library functions where a non-standard type (i.e. other than
+`float`, `double`, or `long double`) is used for one of the specified
+width types. If generic code (for example in another Boost.Math header)
+calls a standard library function, then the correct overload will only be
+found if these overloads are defined prior to the point of use.
+See implementation for more details.
+
+For this reason, making `#include <boost/cstdfloat.hpp>` the [*first
+include] is usually best.
+]
+[endsect] [/section:rationale Rationale]
+
+[section:exact_typdefs Exact-Width Floating-Point `typedef`s]
+
+The `typedef float#_t`, with # replaced by the width, designates a
+floating-point type of exactly # bits. For example `float32_t` denotes
+a single-precision floating-point type with approximately
+7 decimal digits of precision (equivalent to binary32 in __IEEE754).
+
+Floating-point types in C and C++ are specified to be allowed to have
+(optionally) implementation-specific widths and formats.
+However, if a platform supports underlying
+floating-point types (conformant with __IEEE754) with widths of
+16, 32, 64, 80, 128 bits, or any combination thereof,
+then `<boost/cstdfloat.hpp>` does provide the corresponding `typedef`s
+`float16_t, float32_t, float64_t, float80_t, float128_t,`
+their corresponding least and fast types,
+and the corresponding maximum-width type.
+
+[h4 How to tell which widths are supported]
+
+The definition (or not) of a
+[link math_toolkit.macros floating-point constant macro]
+is the way to test if a specific width is available on a platform.
+
+ #if defined(BOOST_FLOAT16_C)
+ // Can use boost::float16_t.
+ #endif
+
+ #if defined(BOOST_FLOAT32_C)
+ // Can use boost::float32_t.
+ #endif
+
+ #if defined(BOOST_FLOAT64_C)
+ // Can use boost::float64_t.
+ #endif
+
+ #if defined(BOOST_FLOAT80_C)
+ // Can use boost::float80_t.
+ #endif
+
+ #if defined(BOOST_FLOAT128_C)
+ // Can use boost::float128_t.
+ #endif
+
+This can be used to write code which will compile and run (albeit differently) on several platforms.
+Without these tests, if a width, say `float128_t` is not supported, then compilation would fail.
+(It is of course, rare for `float64_t` or `float32_t` not to be supported).
+
+The number of bits in just the significand can be determined using:
+
+ std::numeric_limits<boost::floatmax_t>::digits
+
+and from this one can safely infer the total number of bits because the type must be IEEE754 format,
+so, for example, if `std::numeric_limits<boost::floatmax_t>::digits == 113`,
+then `floatmax_t` must be` float128_t`.
+
+The [*total] number of bits using `floatmax_t` can be found thus:
+
+[floatmax_1]
+
+and the number of 'guaranteed' decimal digits using
+
+ std::numeric_limits<boost::floatmax_t>::digits10
+
+and the maximum number of possibly significant decimal digits using
+
+ std::numeric_limits<boost::floatmax_t>::max_digits10
+
+[tip `max_digits10` is not always supported, but can be calculated at compile-time using the Kahan formula.]
+
+[note One could test
+
+ std::is_same<boost::floatmax_t, boost::float128_t>::value == true
+
+but this would fail to compile on a platform where `boost::float128_t` is not defined.
+So use the MACROs BOOST_FLOATnnn_C. ]
+
+[endsect] [/section:exact_typdefs Exact-Width Floating-Point `typedef`s]
+
+[section:minimum_typdefs Minimum-width floating-point `typedef`s]
+
+The `typedef float_least#_t`, with # replaced by the width, designates a
+floating-point type with a [*width of at least # bits], such that no
+floating-point type with lesser size has at least the specified width.
+Thus, `float_least32_t` denotes the smallest floating-point type with
+a width of at least 32 bits.
+
+Minimum-width floating-point types are provided for all existing
+exact-width floating-point types on a given platform.
+
+For example, if a platform supports `float32_t` and `float64_t`,
+then `float_least32_t` and `float_least64_t` will also be supported, etc.
+
+[endsect] [/section:minimum_typdefs Minimum-width floating-point `typedef`s]
+
+[section:fastest_typdefs Fastest floating-point `typedef`s]
+
+The `typedef float_fast#_t`, with # replaced by the width, designates
+the [*fastest] floating-point type with a [*width of at least # bits].
+
+There is no absolute guarantee that these types are the fastest for all purposes.
+In any case, however, they satisfy the precision and width requirements.
+
+Fastest minimum-width floating-point types are provided for all existing
+exact-width floating-point types on a given platform.
+
+For example, if a platform supports `float32_t` and `float64_t`,
+then `float_fast32_t` and `float_fast64_t` will also be supported, etc.
+
+[endsect] [/section:fastest_typdefs Fastest floating-point `typedef`s]
+
+[section:greatest_typdefs Greatest-width floating-point typedef]
+
+The `typedef floatmax_t` designates a floating-point type capable of representing
+any value of any floating-point type in a given platform most precisely.
+
+The greatest-width `typedef` is provided for all platforms, but, of course, the size may vary.
+
+To provide floating-point [*constants] most precisely for a `floatmax_t` type,
+use the macro BOOST_FLOATMAX_C.
+
+For example, replace a constant `123.4567890123456789012345678901234567890` with
+
+ BOOST_FLOATMAX_C(123.4567890123456789012345678901234567890)
+
+If, for example, `floatmax_t` is `float64_t` then the result will be equivalent to a `long double` suffixed with L,
+but if `floatmax_t` is `float128_t` then the result will be equivalent to a `quad type` suffixed with Q
+(assuming, of course, that `float128` is supported).
+
+If we display with `max_digits10`, the maximum possibly significant decimal digits:
+
+[floatmax_widths_1]
+
+then on a 128-bit platform (GCC 4.8.1. with quadmath):
+
+[floatmax_widths_2]
+
+[endsect] [/section:greatest_typdefs Greatest-width floating-point typedef]
+
+[section:macros Floating-Point Constant Macros]
+
+All macros of the type `BOOST_FLOAT16_C, BOOST_FLOAT32_C, BOOST_FLOAT64_C,
+BOOST_FLOAT80_C, BOOST_FLOAT128_C, ` and `BOOST_FLOATMAX_C`
+are always defined after inclusion of `<boost/cstdfloat.hpp>`.
+
+[cstdfloat_constant_2]
+
+[tip Boost.Math provides many constants 'built-in', so always use Boost.Math constants if available, for example:]
+
+[cstdfloat_constant_1]
+
+from [@../../../example/cstdfloat_example.cpp cstdfloat_example.cpp].
+
+[endsect] [/section:macros Floating-Point Constant Macros]
+
+[section:examples Examples]
+
+[h3:je_lambda Jahnke-Emden-Lambda function]
+
+The following code uses `<boost/cstdfloat.hpp>` in combination with
+`<boost/math/special_functions.hpp>` to compute a simplified
+version of the
+[@http://mathworld.wolfram.com/LambdaFunction.html Jahnke-Emden-Lambda function].
+Here, we specify a floating-point type with [*exactly 64 bits] (i.e., `float64_t`).
+If we were to use, for instance, built-in `double`,
+then there would be no guarantee that the code would
+behave identically on all platforms. With `float64_t` from
+`<boost/cstdfloat.hpp>`, however, it is very likely to be identical.
+
+Using `float64_t`, we know that
+this code is as portable as possible and uses a floating-point type
+with approximately 15 decimal digits of precision,
+regardless of the compiler or version or operating system.
+
+[cstdfloat_example_1]
+[cstdfloat_example_2]
+[cstdfloat_example_3]
+
+For details, see [@../../../example/cstdfloat_example.cpp cstdfloat_example.cpp]
+- a extensive example program.
+
+[h3:normal_table Normal distribution table]
+
+This example shows printing tables of a normal distribution's PDF and CDF,
+using `boost::math` implmentation of normal.
+
+A function templated on floating-point type prints a table for a range of z values.
+
+The example shows use of the specified-width typedefs to either use a specific width,
+or to use the maximum available on the platform, perhaps a high as 128-bit.
+
+The number of digits displayed is controlled by the precision of the type,
+so there are no spurious insignificant decimal digits:
+
+ float_32_t 0 0.39894228
+ float_128_t 0 0.398942280401432702863218082711682655
+
+Some sample output for two different platforms is appended to the code at
+[@../../../example/normal_tables.cpp normal_tables.cpp].
+
+[normal_table_1]
+
+[endsect] [/section:examples examples]
+
+[section:float128 Implementation of Float128 type]
+
+Since few compilers implement a true 128-bit floating-point, and language features like the suffix Q,
+and C++ Standard library functions are as-yet missing or incomplete in C++11,
+this Boost.Math implementation wraps `__float128` provided by the GCC compiler or the `_Quad` type
+provided by the Intel compiler.
+
+This is provided to in order to demonstrate, and users to evaluate, the feasibility and benefits of higher-precision floating-point,
+especially to allow use of the full Boost.Math library of functions and distributions at high precision.
+
+(It is also possible to use Boost.Math with Boost.Multiprecision decimal and binary, but since these are entirely software solutions,
+allowing much higher precision or arbitrary precision, they are likely to be slower).
+
+We also provide (we believe full) support for `<limits>, <cmath>`, I/O stream operations in `<iostream>`, and `<complex>`.
+
+As a prototype for a future C++ standard, we place all these in `namespace std`.
+This contravenes the existing C++ standard of course, so selecting any compiler that promises to check conformance will fail.
+
+[tip For GCC, compile with `-std=gnu++11` or `-std=gnu++03` and do not use `-std=stdc++11`or any 'strict' options as
+these turn off full support for `__float128`. These requirements also apply to the Intel compiler on Linux, for
+Intel on Windows you need to compile with `-Qoption,cpp,--extended_float_type -DBOOST_MATH_USE_FLOAT128` in order to
+activate 128-bit floating point support.]
+
+The `__float128` type is provided by the [@http://gcc.gnu.org/onlinedocs/libquadmath/ libquadmath library] on GCC or
+by Intel's FORTRAN library with Intel C++.
+
+A typical invocation of the compiler is
+
+ g++ -O3 -std=gnu++11 test.cpp -I/c/modular-boost -lquadmath -o test.exe
+
+[tip If you are trying to use the develop branch of Boost.Math, then make `-I/c/modular-boost/libs/math/include` the [*first] include directory.]
+
+ g++ -O3 -std=gnu++11 test.cpp -I/c/modular-boost/libs/math/include -I/c/modular-boost -lquadmath -o test.exe
+
+[note So far, the only missing detail that we have noted is in trying to use `<typeinfo>`, for example for
+`std::cout << typeid<__float_128>.name();`. Link fails: undefined reference to `typeinfo for __float128`.
+See [@http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622 GCC Bug 43622 - no C++ typeinfo for __float128].]
+
+[section Overloading template functions with float128_t]
+
+An artifact of providing C++ standard library support for
+quadmath may mandate the inclusion of `<boost/cstdfloat.hpp>`
+[*before] the inclusion of other headers.
+
+Consider a function that calls `fabs(x)` and has previously injected `std::fabs()`
+into local scope via a `using` directive:
+
+ template <class T>
+ bool unsigned_compare(T a, T b)
+ {
+ using std::fabs;
+ return fabs(a) == fabs(b);
+ }
+
+In this function, the correct overload of `fabs` may be found via
+[@http://en.wikipedia.org/wiki/Argument-dependent_name_lookup argument-dependent-lookup (ADL)]
+or by calling one of the `std::fabs` overloads. There is a key difference between them
+however: an overload in the same namespace as T and found via ADL need ['[*not be defined at the
+time the function is declared]]. However, all the types declared in `<boost/cstdfloat.hpp>` are
+fundamental types, so for these types we are relying on finding an overload declared in namespace `std`.
+In that case however, ['[*all such overloads must be declared prior to the definition of function
+`unsigned_compare` otherwise they are not considered]].
+
+In the event that `<boost/cstdfloat.hpp>` has been included [*after] the
+definition of the above function, the correct overload of `fabs`, while present, is simply
+not considered as part of the overload set.
+So the compiler tries to downcast the `float128_t` argument first to
+`long double`, then to `double`, then to `float`;
+the compilation fails because the result is ambiguous.
+However the compiler error message will appear cruelly inscrutable,
+at an apparently irelevant line number and making no mention of `float128`:
+the word ['ambiguous] is the clue to what is wrong.
+
+Provided you `#include <boost/cstdfloat.hpp>` [*before] the inclusion
+of the any header containing generic floating point code (such as other
+Boost.Math headers, then the compiler
+will know about and use the `std::fabs(std::float128_t)`
+that we provide in `#include <boost/cstdfloat.hpp>`.
+
+
+[endsect]
+
+[section:exp_function Exponential function]
+
+There is a bug whe using any quadmath `expq` function on GCC:
+
+[@http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60349 GCC bug #60349]
+
+[@http://sourceforge.net/p/mingw-w64/bugs/368/ mingw-64 bug #368]
+
+To work round this defect, an alternative implementation of 128-bit exp
+is temporarily provided by `boost/cstdfloat.hpp`.
+
+[endsect] [/section:exp_function exp function]
+
+[section:typeinfo `typeinfo`]
+
+It is not yet possible to use `typeinfo` for float_128 on GCC: see
+[@http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622 GCC 43622]
+
+so this fails to link `undefined reference to typeinfo for __float128`
+
+ std::cout << typeid(boost::float128_t).name() << std::endl;
+
+This prevent using the existing tests for Boost.Math distributions,
+(unless a few lines are commented out)
+and if a MACRO BOOST_MATH_INSTRUMENT controlling them is defined
+then some diagnostic displays in Boost.Math will not work.
+
+However this is only used for display purposes and can be commented out until this is fixed.
+
+[endsect] [/section:typeinfo `typeinfo`]
+
+
+[endsect] [/section:float128 Float128 type]
+
+[/ cstdfloat.qbk
+ Copyright 2014 Christopher Kormanyos, John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
+
+
diff --git a/libs/math/doc/cstdfloat/cstdfloat_header.qbk b/libs/math/doc/cstdfloat/cstdfloat_header.qbk
new file mode 100644
index 0000000000..2a4d7e9f4c
--- /dev/null
+++ b/libs/math/doc/cstdfloat/cstdfloat_header.qbk
@@ -0,0 +1,29 @@
+[article Standardized Floating-Point typedefs for C and C++
+ [id float_t]
+ [quickbook 1.6]
+ [copyright 2014 Christopher Kormanyos, John Maddock, Paul A. Bristow]
+ [license
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ [@http://www.boost.org/LICENSE_1_0.txt])
+ ]
+ [authors [Kormanyos, Christopher], [Maddock, John], [Bristow, Paul A.] ]
+ [/last-revision $Date$]
+ [/version 1.8.3]
+]
+
+[def __IEEE754 [@http://en.wikipedia.org/wiki/IEEE_floating_point IEEE_floating_point]]
+[def __N3626 [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf N3626]]
+[def __N1703 [@http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1703.pdf N1703]]
+
+[note A printer-friendly PDF version of this manual is also available.]
+
+[include cstdfloat.qbk]
+
+[/ cstdfloat_header.qbk
+ Copyright 2014 Christopher Kormanyos, John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/cstdfloat/jamfile.v2 b/libs/math/doc/cstdfloat/jamfile.v2
new file mode 100644
index 0000000000..f0be5d8085
--- /dev/null
+++ b/libs/math/doc/cstdfloat/jamfile.v2
@@ -0,0 +1,109 @@
+# Boost.cstdfloat documentation Jamfile.v2
+#
+# Copyright Paul A. Bristow 2014.
+# Use, modification and distribution is subject to
+# the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+# boost-no-inspect
+
+# This builds a standalone version of the cstdfloat docs
+# using the same cstdfloat.qbk called from cstdfloat_header.qbk
+# The full math only uses cstdfloat.qbk.
+
+import modules ;
+
+path-constant images_location : html ;
+path-constant nav_images : html/images ;
+path-constant here : . ;
+using quickbook ;
+
+xml cstdfloat : cstdfloat_header.qbk ;
+
+using boostbook ;
+
+boostbook standalone
+ :
+ cstdfloat
+ :
+
+ # General settings
+ # =================
+ # Path for links to Boost folder, for example: boost_1_55_0 or boost-trunk, relative to folder /doc/html.
+ <xsl:param>boost.root=../../../../..
+ # Path for libraries index:
+ <xsl:param>boost.libraries=../../../../../../libs/libraries.htm
+
+
+ # Or a local custom stylesheet:
+ #<xsl:param>html.stylesheet=boostbook.css
+ <xsl:param>html.stylesheet=boostbook.css
+
+ #<xsl:param>nav.layout=none # No navigation bar (home, prev, next).
+ # Defining creates a runtime error: Global parameter nav.layout already defined.
+ <xsl:param>nav.layout=horizontal # to get a horizontal navigation bar (you probably DO want this).
+
+ # Path for links to Boost logo.
+ #<xsl:param>boost.image=Boost # options are: none (no logo), Boost (for boost.png), or your own logo, for example, inspired_by_boost.png
+ #<xsl:param>boost.image.src=boost.png #
+ #<xsl:param>boost.image.w=180 # Width of logo in pixels. (JM has W = 162, h = 46)
+ #<xsl:param>boost.image.h=90 # Height of logo in pixels.
+
+ # Some general style settings:
+ <xsl:param>table.footnote.number.format=1
+ <xsl:param>footnote.number.format=1
+
+ # HTML options first:
+ # Use graphics not text for navigation:
+ <xsl:param>navig.graphics=1
+ # How far down we chunk nested sections, basically all of them:
+ <xsl:param>chunk.section.depth=10
+ # Don't put the first section on the same page as the TOC:
+ <xsl:param>chunk.first.sections=1
+ # How far down sections get TOC's
+ <xsl:param>toc.section.depth=10
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+ # Index on type:
+ <xsl:param>index.on.type=1
+ <xsl:param>boost.noexpand.chapter.toc=1
+
+ #<xsl:param>root.filename="sf_dist_and_tools"
+ #<xsl:param>graphicsize.extension=1
+ #<xsl:param>use.extensions=1
+
+ # PDF Options:
+ # TOC Generation: this is needed for FOP-0.9 and later:
+ <xsl:param>fop1.extensions=0
+ <format>pdf:<xsl:param>xep.extensions=1
+ # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+ <format>pdf:<xsl:param>fop.extensions=0
+ <format>pdf:<xsl:param>fop1.extensions=0
+ # No indent on body text:
+ <format>pdf:<xsl:param>body.start.indent=0pt
+ # Margin size:
+ <format>pdf:<xsl:param>page.margin.inner=0.5in
+ # Margin size:
+ <format>pdf:<xsl:param>page.margin.outer=0.5in
+ # Paper type = A4
+ <format>pdf:<xsl:param>paper.type=A4
+ # Yes, we want graphics for admonishments:
+ <xsl:param>admon.graphics=1
+ # Set this one for PDF generation *only*:
+ # default pnd graphics are awful in PDF form,
+ # better use SVG's instead:
+ <format>pdf:<xsl:param>admon.graphics.extension=".svg"
+ <format>pdf:<xsl:param>use.role.for.mediaobject=1
+ <format>pdf:<xsl:param>preferred.mediaobject.role=print
+ <format>pdf:<xsl:param>img.src.path=$(images_location)/
+ <format>pdf:<xsl:param>draft.mode="no"
+ <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/math/doc/html
+ <format>pdf:<xsl:param>index.on.type=1
+ ;
+
+
+install pdf-install : standalone : <install-type>PDF <location>. <name>cstdfloat.pdf ;
+
diff --git a/libs/math/doc/distexplorer/distexplorer.qbk b/libs/math/doc/distexplorer/distexplorer.qbk
index 4c35ce5bea..7dbe951bb0 100644
--- a/libs/math/doc/distexplorer/distexplorer.qbk
+++ b/libs/math/doc/distexplorer/distexplorer.qbk
@@ -9,7 +9,7 @@
[authors [Bristow, Paul A.], [Maddock, John]]
[category math]
[purpose mathematics]
- [/last-revision $Date: 2011-01-08 09:33:06 -0800 (Sat, 08 Jan 2011) $]
+ [/last-revision $Date$]
]
A Windows utility to show the properties of statistical distributions
diff --git a/libs/math/doc/distributions/background.qbk b/libs/math/doc/distributions/background.qbk
new file mode 100644
index 0000000000..09cb043bb1
--- /dev/null
+++ b/libs/math/doc/distributions/background.qbk
@@ -0,0 +1,84 @@
+[section:variates Random Variates and Distribution Parameters]
+
+[@http://en.wikipedia.org/wiki/Random_variate Random variates]
+and [@http://en.wikipedia.org/wiki/Parameter distribution parameters]
+are conventionally distinguished (for example in Wikipedia and Wolfram MathWorld
+by placing a semi-colon after the __random_variate (whose value you 'choose'),
+to separate the variate from the parameter(s) that defines the shape of the distribution.
+
+For example, the binomial distribution has two parameters:
+n (the number of trials) and p (the probability of success on one trial).
+It also has the __random_variate /k/: the number of successes observed.
+This means the probability density\/mass function (pdf) is written as ['f(k; n, p)].
+
+Translating this into code the `binomial_distribution` constructor
+therefore has two parameters:
+
+ binomial_distribution(RealType n, RealType p);
+
+While the function `pdf` has one argument specifying the distribution type
+(which includes its parameters, if any),
+and a second argument for the __random_variate. So taking our binomial distribution
+example, we would write:
+
+ pdf(binomial_distribution<RealType>(n, p), k);
+
+[endsect]
+
+[section:dist_params Discrete Probability Distributions]
+
+Note that the [@http://en.wikipedia.org/wiki/Discrete_probability_distribution
+discrete distributions], including the binomial, negative binomial, Poisson & Bernoulli,
+are all mathematically defined as discrete functions:
+only integral values of the __random_variate are envisaged
+and the functions are only defined at these integral values.
+However because the method of calculation often uses continuous functions,
+it is convenient to treat them as if they were continuous functions,
+and permit non-integral values of their parameters.
+
+To enforce a strict mathematical model,
+users may use floor or ceil functions on the __random_variate,
+prior to calling the distribution function, to enforce integral values.
+
+For similar reasons, in continuous distributions, parameters like degrees of freedom
+that might appear to be integral, are treated as real values
+(and are promoted from integer to floating-point if necessary).
+In this case however, that there are a small number of situations where non-integral
+degrees of freedom do have a genuine meaning.
+
+Generally speaking there is no loss of performance from allowing real-values
+parameters: the underlying special functions contain optimizations for
+integer-valued arguments when applicable.
+
+[caution
+The quantile function of a discrete distribution will by
+default return an integer result that has been
+/rounded outwards/. That is to say lower quantiles (where the probability is
+less than 0.5) are rounded downward, and upper quantiles (where the probability
+is greater than 0.5) are rounded upwards. This behaviour
+ensures that if an X% quantile is requested, then /at least/ the requested
+coverage will be present in the central region, and /no more than/
+the requested coverage will be present in the tails.
+
+This behaviour can be changed so that the quantile functions are rounded
+differently, or even return a real-valued result using
+[link math_toolkit.pol_overview Policies]. It is strongly
+recommended that you read the tutorial
+[link math_toolkit.pol_tutorial.understand_dis_quant
+Understanding Quantiles of Discrete Distributions] before
+using the quantile function on a discrete distribution. The
+[link math_toolkit.pol_ref.discrete_quant_ref reference docs]
+describe how to change the rounding policy
+for these distributions.
+]
+
+[endsect]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/distributions/bernoulli.qbk b/libs/math/doc/distributions/bernoulli.qbk
new file mode 100644
index 0000000000..987a2012c0
--- /dev/null
+++ b/libs/math/doc/distributions/bernoulli.qbk
@@ -0,0 +1,118 @@
+[section:bernoulli_dist Bernoulli Distribution]
+
+``#include <boost/math/distributions/bernoulli.hpp>``
+
+ namespace boost{ namespace math{
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class bernoulli_distribution;
+
+ typedef bernoulli_distribution<> bernoulli;
+
+ template <class RealType, class ``__Policy``>
+ class bernoulli_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ bernoulli_distribution(RealType p); // Constructor.
+ // Accessor function.
+ RealType success_fraction() const
+ // Probability of success (as a fraction).
+ };
+ }} // namespaces
+
+The Bernoulli distribution is a discrete distribution of the outcome
+of a single trial with only two results, 0 (failure) or 1 (success),
+with a probability of success p.
+
+The Bernoulli distribution is the simplest building block
+on which other discrete distributions of
+sequences of independent Bernoulli trials can be based.
+
+The Bernoulli is the binomial distribution (k = 1, p) with only one trial.
+
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function pdf]
+f(0) = 1 - p, f(1) = p.
+[@http://en.wikipedia.org/wiki/Cumulative_Distribution_Function Cumulative distribution function]
+D(k) = if (k == 0) 1 - p else 1.
+
+The following graph illustrates how the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function pdf]
+varies with the outcome of the single trial:
+
+[graph bernoulli_pdf]
+
+and the [@http://en.wikipedia.org/wiki/Cumulative_Distribution_Function Cumulative distribution function]
+
+[graph bernoulli_cdf]
+
+[h4 Member Functions]
+
+ bernoulli_distribution(RealType p);
+
+Constructs a [@http://en.wikipedia.org/wiki/bernoulli_distribution
+bernoulli distribution] with success_fraction /p/.
+
+ RealType success_fraction() const
+
+Returns the /success_fraction/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is 0 and 1,
+and the useful supported range is only 0 or 1.
+
+Outside this range, functions are undefined, or may throw domain_error exception
+and make an error message available.
+
+[h4 Accuracy]
+
+The Bernoulli distribution is implemented with simple arithmetic operators
+and so should have errors within an epsilon or two.
+
+[h4 Implementation]
+
+In the following table /p/ is the probability of success and /q = 1-p/.
+/k/ is the random variate, either 0 or 1.
+
+[note The Bernoulli distribution is implemented here as a /strict discrete/ distribution.
+If a generalised version, allowing k to be any real, is required then
+the binomial distribution with a single trial should be used, for example:
+
+`binomial_distribution(1, 0.25)`
+]
+
+[table
+[[Function][Implementation Notes]]
+[[Supported range][{0, 1}]]
+[[pdf][Using the relation: pdf = 1 - p for k = 0, else p ]]
+[[cdf][Using the relation: cdf = 1 - p for k = 0, else 1]]
+[[cdf complement][q = 1 - p]]
+[[quantile][if x <= (1-p) 0 else 1]]
+[[quantile from the complement][if x <= (1-p) 1 else 0]]
+[[mean][p]]
+[[variance][p * (1 - p)]]
+[[mode][if (p < 0.5) 0 else 1]]
+[[skewness][(1 - 2 * p) / sqrt(p * q)]]
+[[kurtosis][6 * p * p - 6 * p +1/ p * q]]
+[[kurtosis excess][kurtosis -3]]
+]
+
+[h4 References]
+* [@http://en.wikipedia.org/wiki/Bernoulli_distribution Wikpedia Bernoulli distribution]
+* [@http://mathworld.wolfram.com/BernoulliDistribution.html Weisstein, Eric W. "Bernoulli Distribution." From MathWorld--A Wolfram Web Resource.]
+
+[endsect][/section:bernoulli_dist bernoulli]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/beta.qbk b/libs/math/doc/distributions/beta.qbk
new file mode 100644
index 0000000000..55d5f5c748
--- /dev/null
+++ b/libs/math/doc/distributions/beta.qbk
@@ -0,0 +1,280 @@
+[section:beta_dist Beta Distribution]
+
+``#include <boost/math/distributions/beta.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class beta_distribution;
+
+ // typedef beta_distribution<double> beta;
+ // Note that this is deliberately NOT provided,
+ // to avoid a clash with the function name beta.
+
+ template <class RealType, class ``__Policy``>
+ class beta_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Constructor from two shape parameters, alpha & beta:
+ beta_distribution(RealType a, RealType b);
+
+ // Parameter accessors:
+ RealType alpha() const;
+ RealType beta() const;
+
+ // Parameter estimators of alpha or beta from mean and variance.
+ static RealType find_alpha(
+ RealType mean, // Expected value of mean.
+ RealType variance); // Expected value of variance.
+
+ static RealType find_beta(
+ RealType mean, // Expected value of mean.
+ RealType variance); // Expected value of variance.
+
+ // Parameter estimators from from
+ // either alpha or beta, and x and probability.
+
+ static RealType find_alpha(
+ RealType beta, // from beta.
+ RealType x, // x.
+ RealType probability); // cdf
+
+ static RealType find_beta(
+ RealType alpha, // alpha.
+ RealType x, // probability x.
+ RealType probability); // probability cdf.
+ };
+
+ }} // namespaces
+
+The class type `beta_distribution` represents a
+[@http://en.wikipedia.org/wiki/Beta_distribution beta ]
+[@http://en.wikipedia.org/wiki/Probability_distribution probability distribution function].
+
+The [@http://mathworld.wolfram.com/BetaDistribution.htm beta distribution ]
+is used as a [@http://en.wikipedia.org/wiki/Prior_distribution prior distribution]
+for binomial proportions in
+[@http://mathworld.wolfram.com/BayesianAnalysis.html Bayesian analysis].
+
+See also:
+[@http://documents.wolfram.com/calculationcenter/v2/Functions/ListsMatrices/Statistics/BetaDistribution.html beta distribution]
+and [@http://en.wikipedia.org/wiki/Bayesian_statistics Bayesian statistics].
+
+How the beta distribution is used for
+[@http://home.uchicago.edu/~grynav/bayes/ABSLec5.ppt
+Bayesian analysis of one parameter models]
+is discussed by Jeff Grynaviski.
+
+The [@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF]
+for the [@http://en.wikipedia.org/wiki/Beta_distribution beta distribution]
+defined on the interval \[0,1\] is given by:
+
+f(x;[alpha],[beta]) = x[super[alpha] - 1] (1 - x)[super[beta] -1] / B([alpha], [beta])
+
+where B([alpha], [beta]) is the
+[@http://en.wikipedia.org/wiki/Beta_function beta function],
+implemented in this library as __beta. Division by the beta function
+ensures that the pdf is normalized to the range zero to unity.
+
+The following graph illustrates examples of the pdf for various values
+of the shape parameters. Note the [alpha] = [beta] = 2 (blue line)
+is dome-shaped, and might be approximated by a symmetrical triangular
+distribution.
+
+[graph beta_pdf]
+
+If [alpha] = [beta] = 1, then it is a __space
+[@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 uniform distribution],
+equal to unity in the entire interval x = 0 to 1.
+If [alpha] __space and [beta] __space are < 1, then the pdf is U-shaped.
+If [alpha] != [beta], then the shape is asymmetric
+and could be approximated by a triangle
+whose apex is away from the centre (where x = half).
+
+[h4 Member Functions]
+
+[h5 Constructor]
+
+ beta_distribution(RealType alpha, RealType beta);
+
+Constructs a beta distribution with shape parameters /alpha/ and /beta/.
+
+Requires alpha,beta > 0,otherwise __domain_error is called. Note that
+technically the beta distribution is defined for alpha,beta >= 0, but
+it's not clear whether any program can actually make use of that latitude
+or how many of the non-member functions can be usefully defined in that case.
+Therefore for now, we regard it as an error if alpha or beta is zero.
+
+For example:
+
+ beta_distribution<> mybeta(2, 5);
+
+Constructs a the beta distribution with alpha=2 and beta=5 (shown in yellow
+in the graph above).
+
+[h5 Parameter Accessors]
+
+ RealType alpha() const;
+
+Returns the parameter /alpha/ from which this distribution was constructed.
+
+ RealType beta() const;
+
+Returns the parameter /beta/ from which this distribution was constructed.
+
+So for example:
+
+ beta_distribution<> mybeta(2, 5);
+ assert(mybeta.alpha() == 2.); // mybeta.alpha() returns 2
+ assert(mybeta.beta() == 5.); // mybeta.beta() returns 5
+
+[h4 Parameter Estimators]
+
+Two pairs of parameter estimators are provided.
+
+One estimates either [alpha] __space or [beta] __space
+from presumed-known mean and variance.
+
+The other pair estimates either [alpha] __space or [beta] __space from
+the cdf and x.
+
+It is also possible to estimate [alpha] __space and [beta] __space from
+'known' mode & quantile. For example, calculators are provided by the
+[@http://www.ausvet.com.au/pprev/content.php?page=PPscript
+Pooled Prevalence Calculator] and
+[@http://www.epi.ucdavis.edu/diagnostictests/betabuster.html Beta Buster]
+but this is not yet implemented here.
+
+ static RealType find_alpha(
+ RealType mean, // Expected value of mean.
+ RealType variance); // Expected value of variance.
+
+Returns the unique value of [alpha][space] that corresponds to a
+beta distribution with mean /mean/ and variance /variance/.
+
+ static RealType find_beta(
+ RealType mean, // Expected value of mean.
+ RealType variance); // Expected value of variance.
+
+Returns the unique value of [beta][space] that corresponds to a
+beta distribution with mean /mean/ and variance /variance/.
+
+ static RealType find_alpha(
+ RealType beta, // from beta.
+ RealType x, // x.
+ RealType probability); // probability cdf
+
+Returns the value of [alpha][space] that gives:
+`cdf(beta_distribution<RealType>(alpha, beta), x) == probability`.
+
+ static RealType find_beta(
+ RealType alpha, // alpha.
+ RealType x, // probability x.
+ RealType probability); // probability cdf.
+
+Returns the value of [beta][space] that gives:
+`cdf(beta_distribution<RealType>(alpha, beta), x) == probability`.
+
+[h4 Non-member Accessor Functions]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The formulae for calculating these are shown in the table below, and at
+[@http://mathworld.wolfram.com/BetaDistribution.html Wolfram Mathworld].
+
+[h4 Applications]
+
+The beta distribution can be used to model events constrained
+to take place within an interval defined by a minimum and maximum value:
+so it is used in project management systems.
+
+It is also widely used in [@http://en.wikipedia.org/wiki/Bayesian_inference Bayesian statistical inference].
+
+[h4 Related distributions]
+
+The beta distribution with both [alpha] __space and [beta] = 1 follows a
+[@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 uniform distribution].
+
+The [@http://en.wikipedia.org/wiki/Triangular_distribution triangular]
+is used when less precise information is available.
+
+The [@http://en.wikipedia.org/wiki/Binomial_distribution binomial distribution]
+is closely related when [alpha] __space and [beta] __space are integers.
+
+With integer values of [alpha] __space and [beta] __space the distribution B(i, j) is
+that of the j-th highest of a sample of i + j + 1 independent random variables
+uniformly distributed between 0 and 1.
+The cumulative probability from 0 to x is thus
+the probability that the j-th highest value is less than x.
+Or it is the probability that that at least i of the random variables are less than x,
+a probability given by summing over the __binomial_distrib
+with its p parameter set to x.
+
+[h4 Accuracy]
+
+This distribution is implemented using the
+[link math_toolkit.sf_beta.beta_function beta functions] __beta and
+[link math_toolkit.sf_beta.ibeta_function incomplete beta functions] __ibeta and __ibetac;
+please refer to these functions for information on accuracy.
+
+[h4 Implementation]
+
+In the following table /a/ and /b/ are the parameters [alpha][space] and [beta],
+/x/ is the random variable, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf]
+ [f(x;[alpha],[beta]) = x[super[alpha] - 1] (1 - x)[super[beta] -1] / B([alpha], [beta])
+
+ Implemented using __ibeta_derivative(a, b, x).]]
+
+[[cdf][Using the incomplete beta function __ibeta(a, b, x)]]
+[[cdf complement][__ibetac(a, b, x)]]
+[[quantile][Using the inverse incomplete beta function __ibeta_inv(a, b, p)]]
+[[quantile from the complement][__ibetac_inv(a, b, q)]]
+[[mean][`a/(a+b)`]]
+[[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][ [equation beta_dist_kurtosis] ]]
+[[kurtosis][`kurtosis + 3`]]
+[[parameter estimation][ ]]
+[[alpha
+
+ from mean and variance][`mean * (( (mean * (1 - mean)) / variance)- 1)`]]
+[[beta
+
+ from mean and variance][`(1 - mean) * (((mean * (1 - mean)) /variance)-1)`]]
+[[The member functions `find_alpha` and `find_beta`
+
+ from cdf and probability x
+
+ and *either* `alpha` or `beta`]
+ [Implemented in terms of the inverse incomplete beta functions
+
+__ibeta_inva, and __ibeta_invb respectively.]]
+[[`find_alpha`][`ibeta_inva(beta, x, probability)`]]
+[[`find_beta`][`ibeta_invb(alpha, x, probability)`]]
+]
+
+[h4 References]
+
+[@http://en.wikipedia.org/wiki/Beta_distribution Wikipedia Beta distribution]
+
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda366h.htm NIST Exploratory Data Analysis]
+
+[@http://mathworld.wolfram.com/BetaDistribution.html Wolfram MathWorld]
+
+[endsect][/section:beta_dist beta]
+
+[/ beta.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/binomial.qbk b/libs/math/doc/distributions/binomial.qbk
new file mode 100644
index 0000000000..53818c66e6
--- /dev/null
+++ b/libs/math/doc/distributions/binomial.qbk
@@ -0,0 +1,404 @@
+[section:binomial_dist Binomial Distribution]
+
+``#include <boost/math/distributions/binomial.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class binomial_distribution;
+
+ typedef binomial_distribution<> binomial;
+
+ template <class RealType, class ``__Policy``>
+ class binomial_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ static const ``['unspecified-type]`` clopper_pearson_exact_interval;
+ static const ``['unspecified-type]`` jeffreys_prior_interval;
+
+ // construct:
+ binomial_distribution(RealType n, RealType p);
+
+ // parameter access::
+ RealType success_fraction() const;
+ RealType trials() const;
+
+ // Bounds on success fraction:
+ static RealType find_lower_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType probability,
+ ``['unspecified-type]`` method = clopper_pearson_exact_interval);
+ static RealType find_upper_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType probability,
+ ``['unspecified-type]`` method = clopper_pearson_exact_interval);
+
+ // estimate min/max number of trials:
+ static RealType find_minimum_number_of_trials(
+ RealType k, // number of events
+ RealType p, // success fraction
+ RealType alpha); // risk level
+
+ static RealType find_maximum_number_of_trials(
+ RealType k, // number of events
+ RealType p, // success fraction
+ RealType alpha); // risk level
+ };
+
+ }} // namespaces
+
+The class type `binomial_distribution` represents a
+[@http://mathworld.wolfram.com/BinomialDistribution.html binomial distribution]:
+it is used when there are exactly two mutually
+exclusive outcomes of a trial. These outcomes are labelled
+"success" and "failure". The
+__binomial_distrib is used to obtain
+the probability of observing k successes in N trials, with the
+probability of success on a single trial denoted by p. The
+binomial distribution assumes that p is fixed for all trials.
+
+[note The random variable for the binomial distribution is the number of successes,
+(the number of trials is a fixed property of the distribution)
+whereas for the negative binomial,
+the random variable is the number of trials, for a fixed number of successes.]
+
+The PDF for the binomial distribution is given by:
+
+[equation binomial_ref2]
+
+The following two graphs illustrate how the PDF changes depending
+upon the distributions parameters, first we'll keep the success
+fraction /p/ fixed at 0.5, and vary the sample size:
+
+[graph binomial_pdf_1]
+
+Alternatively, we can keep the sample size fixed at N=20 and
+vary the success fraction /p/:
+
+[graph binomial_pdf_2]
+
+[discrete_quantile_warning Binomial]
+
+[h4 Member Functions]
+
+[h5 Construct]
+
+ binomial_distribution(RealType n, RealType p);
+
+Constructor: /n/ is the total number of trials, /p/ is the
+probability of success of a single trial.
+
+Requires `0 <= p <= 1`, and `n >= 0`, otherwise calls __domain_error.
+
+[h5 Accessors]
+
+ RealType success_fraction() const;
+
+Returns the parameter /p/ from which this distribution was constructed.
+
+ RealType trials() const;
+
+Returns the parameter /n/ from which this distribution was constructed.
+
+[h5 Lower Bound on the Success Fraction]
+
+ static RealType find_lower_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType alpha,
+ ``['unspecified-type]`` method = clopper_pearson_exact_interval);
+
+Returns a lower bound on the success fraction:
+
+[variablelist
+[[trials][The total number of trials conducted.]]
+[[successes][The number of successes that occurred.]]
+[[alpha][The largest acceptable probability that the true value of
+ the success fraction is [*less than] the value returned.]]
+[[method][An optional parameter that specifies the method to be used
+ to compute the interval (See below).]]
+]
+
+For example, if you observe /k/ successes from /n/ trials the
+best estimate for the success fraction is simply ['k/n], but if you
+want to be 95% sure that the true value is [*greater than] some value,
+['p[sub min]], then:
+
+ p``[sub min]`` = binomial_distribution<RealType>::find_lower_bound_on_p(
+ n, k, 0.05);
+
+[link math_toolkit.stat_tut.weg.binom_eg.binom_conf See worked example.]
+
+There are currently two possible values available for the /method/
+optional parameter: /clopper_pearson_exact_interval/
+or /jeffreys_prior_interval/. These constants are both members of
+class template `binomial_distribution`, so usage is for example:
+
+ p = binomial_distribution<RealType>::find_lower_bound_on_p(
+ n, k, 0.05, binomial_distribution<RealType>::jeffreys_prior_interval);
+
+The default method if this parameter is not specified is the Clopper Pearson
+"exact" interval. This produces an interval that guarantees at least
+`100(1-alpha)%` coverage, but which is known to be overly conservative,
+sometimes producing intervals with much greater than the requested coverage.
+
+The alternative calculation method produces a non-informative
+Jeffreys Prior interval. It produces `100(1-alpha)%` coverage only
+['in the average case], though is typically very close to the requested
+coverage level. It is one of the main methods of calculation recommended
+in the review by Brown, Cai and DasGupta.
+
+Please note that the "textbook" calculation method using
+a normal approximation (the Wald interval) is deliberately
+not provided: it is known to produce consistently poor results,
+even when the sample size is surprisingly large.
+Refer to Brown, Cai and DasGupta for a full explanation. Many other methods
+of calculation are available, and may be more appropriate for specific
+situations. Unfortunately there appears to be no consensus amongst
+statisticians as to which is "best": refer to the discussion at the end of
+Brown, Cai and DasGupta for examples.
+
+The two methods provided here were chosen principally because they
+can be used for both one and two sided intervals.
+See also:
+
+Lawrence D. Brown, T. Tony Cai and Anirban DasGupta (2001),
+Interval Estimation for a Binomial Proportion,
+Statistical Science, Vol. 16, No. 2, 101-133.
+
+T. Tony Cai (2005),
+One-sided confidence intervals in discrete distributions,
+Journal of Statistical Planning and Inference 131, 63-88.
+
+Agresti, A. and Coull, B. A. (1998). Approximate is better than
+"exact" for interval estimation of binomial proportions. Amer.
+Statist. 52 119-126.
+
+Clopper, C. J. and Pearson, E. S. (1934). The use of confidence
+or fiducial limits illustrated in the case of the binomial.
+Biometrika 26 404-413.
+
+[h5 Upper Bound on the Success Fraction]
+
+ static RealType find_upper_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType alpha,
+ ``['unspecified-type]`` method = clopper_pearson_exact_interval);
+
+Returns an upper bound on the success fraction:
+
+[variablelist
+[[trials][The total number of trials conducted.]]
+[[successes][The number of successes that occurred.]]
+[[alpha][The largest acceptable probability that the true value of
+ the success fraction is [*greater than] the value returned.]]
+[[method][An optional parameter that specifies the method to be used
+ to compute the interval. Refer to the documentation for
+ `find_upper_bound_on_p` above for the meaning of the
+ method options.]]
+]
+
+For example, if you observe /k/ successes from /n/ trials the
+best estimate for the success fraction is simply ['k/n], but if you
+want to be 95% sure that the true value is [*less than] some value,
+['p[sub max]], then:
+
+ p``[sub max]`` = binomial_distribution<RealType>::find_upper_bound_on_p(
+ n, k, 0.05);
+
+[link math_toolkit.stat_tut.weg.binom_eg.binom_conf See worked example.]
+
+[note
+In order to obtain a two sided bound on the success fraction, you
+call both `find_lower_bound_on_p` *and* `find_upper_bound_on_p`
+each with the same arguments.
+
+If the desired risk level
+that the true success fraction lies outside the bounds is [alpha],
+then you pass [alpha]/2 to these functions.
+
+So for example a two sided 95% confidence interval would be obtained
+by passing [alpha] = 0.025 to each of the functions.
+
+[link math_toolkit.stat_tut.weg.binom_eg.binom_conf See worked example.]
+]
+
+
+[h5 Estimating the Number of Trials Required for a Certain Number of Successes]
+
+ static RealType find_minimum_number_of_trials(
+ RealType k, // number of events
+ RealType p, // success fraction
+ RealType alpha); // probability threshold
+
+This function estimates the minimum number of trials required to ensure that
+more than k events is observed with a level of risk /alpha/ that k or
+fewer events occur.
+
+[variablelist
+[[k][The number of success observed.]]
+[[p][The probability of success for each trial.]]
+[[alpha][The maximum acceptable probability that k events or fewer will be observed.]]
+]
+
+For example:
+
+ binomial_distribution<RealType>::find_number_of_trials(10, 0.5, 0.05);
+
+Returns the smallest number of trials we must conduct to be 95% sure
+of seeing 10 events that occur with frequency one half.
+
+[h5 Estimating the Maximum Number of Trials to Ensure no more than a Certain Number of Successes]
+
+ static RealType find_maximum_number_of_trials(
+ RealType k, // number of events
+ RealType p, // success fraction
+ RealType alpha); // probability threshold
+
+This function estimates the maximum number of trials we can conduct
+to ensure that k successes or fewer are observed, with a risk /alpha/
+that more than k occur.
+
+[variablelist
+[[k][The number of success observed.]]
+[[p][The probability of success for each trial.]]
+[[alpha][The maximum acceptable probability that more than k events will be observed.]]
+]
+
+For example:
+
+ binomial_distribution<RealType>::find_maximum_number_of_trials(0, 1e-6, 0.05);
+
+Returns the largest number of trials we can conduct and still be 95% certain
+of not observing any events that occur with one in a million frequency.
+This is typically used in failure analysis.
+
+[link math_toolkit.stat_tut.weg.binom_eg.binom_size_eg See Worked Example.]
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain for the random variable /k/ is `0 <= k <= N`, otherwise a
+__domain_error is returned.
+
+It's worth taking a moment to define what these accessors actually mean in
+the context of this distribution:
+
+[table Meaning of the non-member accessors
+[[Function][Meaning]]
+[[__pdf]
+ [The probability of obtaining [*exactly k successes] from n trials
+ with success fraction p. For example:
+
+`pdf(binomial(n, p), k)`]]
+[[__cdf]
+ [The probability of obtaining [*k successes or fewer] from n trials
+ with success fraction p. For example:
+
+`cdf(binomial(n, p), k)`]]
+[[__ccdf]
+ [The probability of obtaining [*more than k successes] from n trials
+ with success fraction p. For example:
+
+`cdf(complement(binomial(n, p), k))`]]
+[[__quantile]
+ [The [*greatest] number of successes that may be observed from n trials
+ with success fraction p, at probability P. Note that the value returned
+ is a real-number, and not an integer. Depending on the use case you may
+ want to take either the floor or ceiling of the result. For example:
+
+`quantile(binomial(n, p), P)`]]
+[[__quantile_c]
+ [The [*smallest] number of successes that may be observed from n trials
+ with success fraction p, at probability P. Note that the value returned
+ is a real-number, and not an integer. Depending on the use case you may
+ want to take either the floor or ceiling of the result. For example:
+
+`quantile(complement(binomial(n, p), P))`]]
+]
+
+[h4 Examples]
+
+Various [link math_toolkit.stat_tut.weg.binom_eg worked examples]
+are available illustrating the use of the binomial distribution.
+
+[h4 Accuracy]
+
+This distribution is implemented using the
+incomplete beta functions __ibeta and __ibetac,
+please refer to these functions for information on accuracy.
+
+[h4 Implementation]
+
+In the following table /p/ is the probability that one trial will
+be successful (the success fraction), /n/ is the number of trials,
+/k/ is the number of successes, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[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:
+
+[equation binomial_ref1]
+
+Which can be evaluated as `ibeta_derivative(k+1, n-k+1, p) / (n+1)`
+
+The function __ibeta_derivative is used here, since it has already
+ been optimised for the lowest possible error - indeed this is really
+ just a thin wrapper around part of the internals of the incomplete
+ beta function.
+
+There are also various special cases: refer to the code for details.
+ ]]
+[[cdf][Using the relation:
+
+``
+p = I[sub 1-p](n - k, k + 1)
+ = 1 - I[sub p](k + 1, n - k)
+ = __ibetac(k + 1, n - k, p)``
+
+There are also various special cases: refer to the code for details.
+]]
+[[cdf complement][Using the relation: q = __ibeta(k + 1, n - k, p)
+
+There are also various special cases: refer to the code for details. ]]
+[[quantile][Since the cdf is non-linear in variate /k/ none of the inverse
+ incomplete beta functions can be used here. Instead the quantile
+ is found numerically using a derivative free method
+ ([link math_toolkit.internals1.roots2 TOMS Algorithm 748]).]]
+[[quantile from the complement][Found numerically as above.]]
+[[mean][ `p * n` ]]
+[[variance][ `p * n * (1-p)` ]]
+[[mode][`floor(p * (n + 1))`]]
+[[skewness][`(1 - 2 * p) / sqrt(n * p * (1 - p))`]]
+[[kurtosis][`3 - (6 / n) + (1 / (n * p * (1 - p)))`]]
+[[kurtosis excess][`(1 - 6 * p * q) / (n * p * q)`]]
+[[parameter estimation][The member functions `find_upper_bound_on_p`
+ `find_lower_bound_on_p` and `find_number_of_trials` are
+ implemented in terms of the inverse incomplete beta functions
+ __ibetac_inv, __ibeta_inv, and __ibetac_invb respectively]]
+]
+
+[h4 References]
+
+* [@http://mathworld.wolfram.com/BinomialDistribution.html Weisstein, Eric W. "Binomial Distribution." From MathWorld--A Wolfram Web Resource].
+* [@http://en.wikipedia.org/wiki/Beta_distribution Wikipedia binomial distribution].
+* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda366i.htm NIST Explorary Data Analysis].
+
+[endsect] [/section:binomial_dist Binomial]
+
+[/ binomial.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/binomial_example.qbk b/libs/math/doc/distributions/binomial_example.qbk
new file mode 100644
index 0000000000..7f03e518b1
--- /dev/null
+++ b/libs/math/doc/distributions/binomial_example.qbk
@@ -0,0 +1,332 @@
+[section:binom_eg Binomial Distribution Examples]
+
+See also the reference documentation for the __binomial_distrib.
+
+[section:binomial_coinflip_example Binomial Coin-Flipping Example]
+
+[import ../../example/binomial_coinflip_example.cpp]
+[binomial_coinflip_example1]
+
+See [@../../example/binomial_coinflip_example.cpp binomial_coinflip_example.cpp]
+for full source code, the program output looks like this:
+
+[binomial_coinflip_example_output]
+
+[endsect] [/section:binomial_coinflip_example Binomial coinflip example]
+
+[section:binomial_quiz_example Binomial Quiz Example]
+
+[import ../../example/binomial_quiz_example.cpp]
+[binomial_quiz_example1]
+[binomial_quiz_example2]
+[discrete_quantile_real]
+
+See [@../../example/binomial_quiz_example.cpp binomial_quiz_example.cpp]
+for full source code and output.
+
+[endsect] [/section:binomial_coinflip_quiz Binomial Coin-Flipping example]
+
+[section:binom_conf Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution]
+
+Imagine you have a process that follows a binomial distribution: for each
+trial conducted, an event either occurs or does it does not, referred
+to as "successes" and "failures". If, by experiment, you want to measure the
+frequency with which successes occur, the best estimate is given simply
+by /k/ \/ /N/, for /k/ successes out of /N/ trials. However our confidence in that
+estimate will be shaped by how many trials were conducted, and how many successes
+were observed. The static member functions
+`binomial_distribution<>::find_lower_bound_on_p` and
+`binomial_distribution<>::find_upper_bound_on_p` allow you to calculate
+the confidence intervals for your estimate of the occurrence frequency.
+
+The sample program [@../../example/binomial_confidence_limits.cpp
+binomial_confidence_limits.cpp] illustrates their use. It begins by defining
+a procedure that will print a table of confidence limits for various degrees
+of certainty:
+
+ #include <iostream>
+ #include <iomanip>
+ #include <boost/math/distributions/binomial.hpp>
+
+ void confidence_limits_on_frequency(unsigned trials, unsigned successes)
+ {
+ //
+ // trials = Total number of trials.
+ // successes = Total number of observed successes.
+ //
+ // Calculate confidence limits for an observed
+ // frequency of occurrence that follows a binomial
+ // distribution.
+ //
+ using namespace std;
+ using namespace boost::math;
+
+ // Print out general info:
+ cout <<
+ "___________________________________________\n"
+ "2-Sided Confidence Limits For Success Ratio\n"
+ "___________________________________________\n\n";
+ cout << setprecision(7);
+ cout << setw(40) << left << "Number of Observations" << "= " << trials << "\n";
+ cout << setw(40) << left << "Number of successes" << "= " << successes << "\n";
+ cout << setw(40) << left << "Sample frequency of occurrence" << "= " << double(successes) / trials << "\n";
+
+The procedure now defines a table of significance levels: these are the
+probabilities that the true occurrence frequency lies outside the calculated
+interval:
+
+ double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
+
+Some pretty printing of the table header follows:
+
+ cout << "\n\n"
+ "_______________________________________________________________________\n"
+ "Confidence Lower CP Upper CP Lower JP Upper JP\n"
+ " Value (%) Limit Limit Limit Limit\n"
+ "_______________________________________________________________________\n";
+
+
+And now for the important part - the intervals themselves - for each
+value of /alpha/, we call `find_lower_bound_on_p` and
+`find_lower_upper_on_p` to obtain lower and upper bounds
+respectively. Note that since we are calculating a two-sided interval,
+we must divide the value of alpha in two.
+
+Please note that calculating two separate /single sided bounds/, each with risk
+level [alpha][space]is not the same thing as calculating a two sided interval.
+Had we calculate two single-sided intervals each with a risk
+that the true value is outside the interval of [alpha], then:
+
+* The risk that it is less than the lower bound is [alpha].
+
+and
+
+* The risk that it is greater than the upper bound is also [alpha].
+
+So the risk it is outside *upper or lower bound*, is *twice* alpha, and the
+probability that it is inside the bounds is therefore not nearly as high as
+one might have thought. This is why [alpha]/2 must be used in
+the calculations below.
+
+In contrast, had we been calculating a
+single-sided interval, for example: ['"Calculate a lower bound so that we are P%
+sure that the true occurrence frequency is greater than some value"]
+then we would *not* have divided by two.
+
+Finally note that `binomial_distribution` provides a choice of two
+methods for the calculation, we print out the results from both
+methods in this example:
+
+ for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
+ {
+ // Confidence value:
+ cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
+ // Calculate Clopper Pearson bounds:
+ double l = binomial_distribution<>::find_lower_bound_on_p(
+ trials, successes, alpha[i]/2);
+ double u = binomial_distribution<>::find_upper_bound_on_p(
+ trials, successes, alpha[i]/2);
+ // Print Clopper Pearson Limits:
+ cout << fixed << setprecision(5) << setw(15) << right << l;
+ cout << fixed << setprecision(5) << setw(15) << right << u;
+ // Calculate Jeffreys Prior Bounds:
+ l = binomial_distribution<>::find_lower_bound_on_p(
+ trials, successes, alpha[i]/2,
+ binomial_distribution<>::jeffreys_prior_interval);
+ u = binomial_distribution<>::find_upper_bound_on_p(
+ trials, successes, alpha[i]/2,
+ binomial_distribution<>::jeffreys_prior_interval);
+ // Print Jeffreys Prior Limits:
+ cout << fixed << setprecision(5) << setw(15) << right << l;
+ cout << fixed << setprecision(5) << setw(15) << right << u << std::endl;
+ }
+ cout << endl;
+ }
+
+And that's all there is to it. Let's see some sample output for a 2 in 10
+success ratio, first for 20 trials:
+
+[pre'''___________________________________________
+2-Sided Confidence Limits For Success Ratio
+___________________________________________
+
+Number of Observations = 20
+Number of successes = 4
+Sample frequency of occurrence = 0.2
+
+
+_______________________________________________________________________
+Confidence Lower CP Upper CP Lower JP Upper JP
+ Value (%) Limit Limit Limit Limit
+_______________________________________________________________________
+ 50.000 0.12840 0.29588 0.14974 0.26916
+ 75.000 0.09775 0.34633 0.11653 0.31861
+ 90.000 0.07135 0.40103 0.08734 0.37274
+ 95.000 0.05733 0.43661 0.07152 0.40823
+ 99.000 0.03576 0.50661 0.04655 0.47859
+ 99.900 0.01905 0.58632 0.02634 0.55960
+ 99.990 0.01042 0.64997 0.01530 0.62495
+ 99.999 0.00577 0.70216 0.00901 0.67897
+''']
+
+As you can see, even at the 95% confidence level the bounds are
+really quite wide (this example is chosen to be easily compared to the one
+in the __handbook
+[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc241.htm
+here]). Note also that the Clopper-Pearson calculation method (CP above)
+produces quite noticeably more pessimistic estimates than the Jeffreys Prior
+method (JP above).
+
+
+Compare that with the program output for
+2000 trials:
+
+[pre'''___________________________________________
+2-Sided Confidence Limits For Success Ratio
+___________________________________________
+
+Number of Observations = 2000
+Number of successes = 400
+Sample frequency of occurrence = 0.2000000
+
+
+_______________________________________________________________________
+Confidence Lower CP Upper CP Lower JP Upper JP
+ Value (%) Limit Limit Limit Limit
+_______________________________________________________________________
+ 50.000 0.19382 0.20638 0.19406 0.20613
+ 75.000 0.18965 0.21072 0.18990 0.21047
+ 90.000 0.18537 0.21528 0.18561 0.21503
+ 95.000 0.18267 0.21821 0.18291 0.21796
+ 99.000 0.17745 0.22400 0.17769 0.22374
+ 99.900 0.17150 0.23079 0.17173 0.23053
+ 99.990 0.16658 0.23657 0.16681 0.23631
+ 99.999 0.16233 0.24169 0.16256 0.24143
+''']
+
+Now even when the confidence level is very high, the limits are really
+quite close to the experimentally calculated value of 0.2. Furthermore
+the difference between the two calculation methods is now really quite small.
+
+[endsect]
+
+[section:binom_size_eg Estimating Sample Sizes for a Binomial Distribution.]
+
+Imagine you have a critical component that you know will fail in 1 in
+N "uses" (for some suitable definition of "use"). You may want to schedule
+routine replacement of the component so that its chance of failure between
+routine replacements is less than P%. If the failures follow a binomial
+distribution (each time the component is "used" it either fails or does not)
+then the static member function `binomial_distibution<>::find_maximum_number_of_trials`
+can be used to estimate the maximum number of "uses" of that component for some
+acceptable risk level /alpha/.
+
+The example program
+[@../../example/binomial_sample_sizes.cpp binomial_sample_sizes.cpp]
+demonstrates its usage. It centres on a routine that prints out
+a table of maximum sample sizes for various probability thresholds:
+
+ void find_max_sample_size(
+ double p, // success ratio.
+ unsigned successes) // Total number of observed successes permitted.
+ {
+
+The routine then declares a table of probability thresholds: these are the
+maximum acceptable probability that /successes/ or fewer events will be
+observed. In our example, /successes/ will be always zero, since we want
+no component failures, but in other situations non-zero values may well
+make sense.
+
+ double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
+
+Much of the rest of the program is pretty-printing, the important part
+is in the calculation of maximum number of permitted trials for each
+value of alpha:
+
+ for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
+ {
+ // Confidence value:
+ cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
+ // calculate trials:
+ double t = binomial::find_maximum_number_of_trials(
+ successes, p, alpha[i]);
+ t = floor(t);
+ // Print Trials:
+ cout << fixed << setprecision(5) << setw(15) << right << t << endl;
+ }
+
+Note that since we're
+calculating the maximum number of trials permitted, we'll err on the safe
+side and take the floor of the result. Had we been calculating the
+/minimum/ number of trials required to observe a certain number of /successes/
+using `find_minimum_number_of_trials` we would have taken the ceiling instead.
+
+We'll finish off by looking at some sample output, firstly for
+a 1 in 1000 chance of component failure with each use:
+
+[pre
+'''________________________
+Maximum Number of Trials
+________________________
+
+Success ratio = 0.001
+Maximum Number of "successes" permitted = 0
+
+
+____________________________
+Confidence Max Number
+ Value (%) Of Trials
+____________________________
+ 50.000 692
+ 75.000 287
+ 90.000 105
+ 95.000 51
+ 99.000 10
+ 99.900 0
+ 99.990 0
+ 99.999 0'''
+]
+
+So 51 "uses" of the component would yield a 95% chance that no
+component failures would be observed.
+
+Compare that with a 1 in 1 million chance of component failure:
+
+[pre'''
+________________________
+Maximum Number of Trials
+________________________
+
+Success ratio = 0.0000010
+Maximum Number of "successes" permitted = 0
+
+
+____________________________
+Confidence Max Number
+ Value (%) Of Trials
+____________________________
+ 50.000 693146
+ 75.000 287681
+ 90.000 105360
+ 95.000 51293
+ 99.000 10050
+ 99.900 1000
+ 99.990 100
+ 99.999 10'''
+]
+
+In this case, even 1000 uses of the component would still yield a
+less than 1 in 1000 chance of observing a component failure
+(i.e. a 99.9% chance of no failure).
+
+[endsect] [/section:binom_size_eg Estimating Sample Sizes for a Binomial Distribution.]
+
+[endsect][/section:binom_eg Binomial Distribution]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/c_sharp.qbk b/libs/math/doc/distributions/c_sharp.qbk
new file mode 100644
index 0000000000..6764f25161
--- /dev/null
+++ b/libs/math/doc/distributions/c_sharp.qbk
@@ -0,0 +1,20 @@
+[section:c_sharp Using the Distributions from Within C#]
+
+The distributions in this library can be used from the C# programming language
+when they are built using Microsoft's Common Language Runtime (CLR) option.
+
+An example of this kind of usage is given in the
+[@../distexplorer/html/index.html Distribution Explorer]
+example. See =boost-root/libs/math/dot_net_example=
+for the source code: the application consists of a C++ .dll that contains the
+actual distributions, and a C# GUI that allows you to explore their properties.
+
+[endsect] [/section:c_sharp]
+
+[/
+ Copyright 2006, 2013 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/cauchy.qbk b/libs/math/doc/distributions/cauchy.qbk
new file mode 100644
index 0000000000..e91ebe2d64
--- /dev/null
+++ b/libs/math/doc/distributions/cauchy.qbk
@@ -0,0 +1,154 @@
+[section:cauchy_dist Cauchy-Lorentz Distribution]
+
+``#include <boost/math/distributions/cauchy.hpp>``
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class cauchy_distribution;
+
+ typedef cauchy_distribution<> cauchy;
+
+ template <class RealType, class ``__Policy``>
+ class cauchy_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ cauchy_distribution(RealType location = 0, RealType scale = 1);
+
+ RealType location()const;
+ RealType scale()const;
+ };
+
+The [@http://en.wikipedia.org/wiki/Cauchy_distribution Cauchy-Lorentz distribution]
+is named after Augustin Cauchy and Hendrik Lorentz.
+It is a [@http://en.wikipedia.org/wiki/Probability_distribution continuous probability distribution]
+with [@http://en.wikipedia.org/wiki/Probability_distribution probability distribution function PDF]
+given by:
+
+[equation cauchy_ref1]
+
+The location parameter x[sub 0][space] is the location of the
+peak of the distribution (the mode of the distribution),
+while the scale parameter [gamma][space] specifies half the width
+of the PDF at half the maximum height. If the location is
+zero, and the scale 1, then the result is a standard Cauchy
+distribution.
+
+The distribution is important in physics as it is the solution
+to the differential equation describing forced resonance,
+while in spectroscopy it is the description of the line shape
+of spectral lines.
+
+The following graph shows how the distributions moves as the
+location parameter changes:
+
+[graph cauchy_pdf1]
+
+While the following graph shows how the shape (scale) parameter alters
+the distribution:
+
+[graph cauchy_pdf2]
+
+[h4 Member Functions]
+
+ cauchy_distribution(RealType location = 0, RealType scale = 1);
+
+Constructs a Cauchy distribution, with location parameter /location/
+and scale parameter /scale/. When these parameters take their default
+values (location = 0, scale = 1)
+then the result is a Standard Cauchy Distribution.
+
+Requires scale > 0, otherwise calls __domain_error.
+
+ RealType location()const;
+
+Returns the location parameter of the distribution.
+
+ RealType scale()const;
+
+Returns the scale parameter of the distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+Note however that the Cauchy distribution does not have a mean,
+standard deviation, etc. See __math_undefined
+[/link math_toolkit.pol_ref.assert_undefined mathematically undefined function]
+to control whether these should fail to compile with a BOOST_STATIC_ASSERTION_FAILURE,
+which is the default.
+
+Alternately, the functions __mean, __sd,
+__variance, __skewness, __kurtosis and __kurtosis_excess will all
+return a __domain_error if called.
+
+The domain of the random variable is \[-[max_value], +[min_value]\].
+
+[h4 Accuracy]
+
+The Cauchy distribution is implemented in terms of the
+standard library `tan` and `atan` functions,
+and as such should have very low error rates.
+
+[h4 Implementation]
+
+[def __x0 x[sub 0 ]]
+
+In the following table __x0 is the location parameter of the distribution,
+[gamma][space] is its scale parameter,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = 1 / ([pi] * [gamma] * (1 + ((x - __x0) / [gamma])[super 2]) ]]
+[[cdf and its complement][
+The cdf is normally given by:
+
+p = 0.5 + atan(x)/[pi]
+
+But that suffers from cancellation error as x -> -[infin].
+So recall that for `x < 0`:
+
+atan(x) = -[pi]/2 - atan(1/x)
+
+Substituting into the above we get:
+
+p = -atan(1/x) ; x < 0
+
+So the procedure is to calculate the cdf for -fabs(x)
+using the above formula. Note that to factor in the location and scale
+parameters you must substitute (x - __x0) / [gamma][space] for x in the above.
+
+This procedure yields the smaller of /p/ and /q/, so the result
+may need subtracting from 1 depending on whether we want the complement
+or not, and whether /x/ is less than __x0 or not.
+]]
+[[quantile][The same procedure is used irrespective of whether we're starting
+ from the probability or its complement. First the argument /p/ is
+ reduced to the range \[-0.5, 0.5\], then the relation
+
+x = __x0 [plusminus] [gamma][space] / tan([pi] * p)
+
+is used to obtain the result. Whether we're adding
+ or subtracting from __x0 is determined by whether we're
+ starting from the complement or not.]]
+[[mode][The location parameter.]]
+]
+
+[h4 References]
+
+* [@http://en.wikipedia.org/wiki/Cauchy_distribution Cauchy-Lorentz distribution]
+* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3663.htm NIST Exploratory Data Analysis]
+* [@http://mathworld.wolfram.com/CauchyDistribution.html Weisstein, Eric W. "Cauchy Distribution." From MathWorld--A Wolfram Web Resource.]
+
+[endsect][/section:cauchy_dist Cauchi]
+
+[/ cauchy.qbk
+ Copyright 2006, 2007 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/chi_squared.qbk b/libs/math/doc/distributions/chi_squared.qbk
new file mode 100644
index 0000000000..77237e04c9
--- /dev/null
+++ b/libs/math/doc/distributions/chi_squared.qbk
@@ -0,0 +1,161 @@
+[section:chi_squared_dist Chi Squared Distribution]
+
+``#include <boost/math/distributions/chi_squared.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class chi_squared_distribution;
+
+ typedef chi_squared_distribution<> chi_squared;
+
+ template <class RealType, class ``__Policy``>
+ class chi_squared_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ // Constructor:
+ chi_squared_distribution(RealType i);
+
+ // Accessor to parameter:
+ RealType degrees_of_freedom()const;
+
+ // Parameter estimation:
+ static RealType find_degrees_of_freedom(
+ RealType difference_from_mean,
+ RealType alpha,
+ RealType beta,
+ RealType sd,
+ RealType hint = 100);
+ };
+
+ }} // namespaces
+
+The Chi-Squared distribution is one of the most widely used distributions
+in statistical tests. If [chi][sub i][space] are [nu][space]
+independent, normally distributed
+random variables with means [mu][sub i][space] and variances [sigma][sub i][super 2],
+then the random variable:
+
+[equation chi_squ_ref1]
+
+is distributed according to the Chi-Squared distribution.
+
+The Chi-Squared distribution is a special case of the gamma distribution
+and has a single parameter [nu][space] that specifies the number of degrees of
+freedom. The following graph illustrates how the distribution changes
+for different values of [nu]:
+
+[graph chi_squared_pdf]
+
+[h4 Member Functions]
+
+ chi_squared_distribution(RealType v);
+
+Constructs a Chi-Squared distribution with /v/ degrees of freedom.
+
+Requires v > 0, otherwise calls __domain_error.
+
+ RealType degrees_of_freedom()const;
+
+Returns the parameter /v/ from which this object was constructed.
+
+ static RealType find_degrees_of_freedom(
+ RealType difference_from_variance,
+ RealType alpha,
+ RealType beta,
+ RealType variance,
+ RealType hint = 100);
+
+Estimates the sample size required to detect a difference from a nominal
+variance in a Chi-Squared test for equal standard deviations.
+
+[variablelist
+[[difference_from_variance][The difference from the assumed nominal variance
+ that is to be detected: Note that the sign of this value is critical, see below.]]
+[[alpha][The maximum acceptable risk of rejecting the null hypothesis when it is
+ in fact true.]]
+[[beta][The maximum acceptable risk of falsely failing to reject the null hypothesis.]]
+[[variance][The nominal variance being tested against.]]
+[[hint][An optional hint on where to start looking for a result: the current sample
+ size would be a good choice.]]
+]
+
+Note that this calculation works with /variances/ and not /standard deviations/.
+
+The sign of the parameter /difference_from_variance/ is important: the Chi
+Squared distribution is asymmetric, and the caller must decide in advance
+whether they are testing for a variance greater than a nominal value (positive
+/difference_from_variance/) or testing for a variance less than a nominal value
+(negative /difference_from_variance/). If the latter, then obviously it is
+a requirement that `variance + difference_from_variance > 0`, since no sample
+can have a negative variance!
+
+This procedure uses the method in Diamond, W. J. (1989).
+Practical Experiment Designs, Van-Nostrand Reinhold, New York.
+
+See also section on Sample sizes required in
+[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc232.htm the NIST Engineering Statistics Handbook, Section 7.2.3.2].
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+(We have followed the usual restriction of the mode to degrees of freedom >= 2,
+but note that the maximum of the pdf is actually zero for degrees of freedom from 2 down to 0,
+and provide an extended definition that would avoid a discontinuity in the mode
+as alternative code in a comment).
+
+The domain of the random variable is \[0, +[infin]\].
+
+[h4 Examples]
+
+Various [link math_toolkit.stat_tut.weg.cs_eg worked examples]
+are available illustrating the use of the Chi Squared Distribution.
+
+[h4 Accuracy]
+
+The Chi-Squared distribution is implemented in terms of the
+[link math_toolkit.sf_gamma.igamma incomplete gamma functions]:
+please refer to the accuracy data for those functions.
+
+[h4 Implementation]
+
+In the following table /v/ is the number of degrees of freedom of the distribution,
+/x/ is the random variate, /p/ is the probability, and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = __gamma_p_derivative(v / 2, x / 2) / 2 ]]
+[[cdf][Using the relation: p = __gamma_p(v / 2, x / 2) ]]
+[[cdf complement][Using the relation: q = __gamma_q(v / 2, x / 2) ]]
+[[quantile][Using the relation: x = 2 * __gamma_p_inv(v / 2, p) ]]
+[[quantile from the complement][Using the relation: x = 2 * __gamma_q_inv(v / 2, p) ]]
+[[mean][v]]
+[[variance][2v]]
+[[mode][v - 2 (if v >= 2)]]
+[[skewness][2 * sqrt(2 / v) == sqrt(8 / v)]]
+[[kurtosis][3 + 12 / v]]
+[[kurtosis excess][12 / v]]
+]
+
+[h4 References]
+
+* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm NIST Exploratory Data Analysis]
+* [@http://en.wikipedia.org/wiki/Chi-square_distribution Chi-square distribution]
+* [@http://mathworld.wolfram.com/Chi-SquaredDistribution.html Weisstein, Eric W. "Chi-Squared Distribution." From MathWorld--A Wolfram Web Resource.]
+
+
+[endsect][/section:chi_squared_dist Chi Squared]
+
+[/ chi_squared.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/chi_squared_examples.qbk b/libs/math/doc/distributions/chi_squared_examples.qbk
new file mode 100644
index 0000000000..8f01585f74
--- /dev/null
+++ b/libs/math/doc/distributions/chi_squared_examples.qbk
@@ -0,0 +1,500 @@
+
+[section:cs_eg Chi Squared Distribution Examples]
+
+[section:chi_sq_intervals Confidence Intervals on the Standard Deviation]
+
+Once you have calculated the standard deviation for your data, a legitimate
+question to ask is "How reliable is the calculated standard deviation?".
+For this situation the Chi Squared distribution can be used to calculate
+confidence intervals for the standard deviation.
+
+The full example code & sample output is in
+[@../../example/chi_square_std_dev_test.cpp chi_square_std_dev_test.cpp].
+
+We'll begin by defining the procedure that will calculate and print out the
+confidence intervals:
+
+ void confidence_limits_on_std_deviation(
+ double Sd, // Sample Standard Deviation
+ unsigned N) // Sample size
+ {
+
+We'll begin by printing out some general information:
+
+ cout <<
+ "________________________________________________\n"
+ "2-Sided Confidence Limits For Standard Deviation\n"
+ "________________________________________________\n\n";
+ cout << setprecision(7);
+ cout << setw(40) << left << "Number of Observations" << "= " << N << "\n";
+ cout << setw(40) << left << "Standard Deviation" << "= " << Sd << "\n";
+
+and then define a table of significance levels for which we'll calculate
+intervals:
+
+ double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
+
+The distribution we'll need to calculate the confidence intervals is a
+Chi Squared distribution, with N-1 degrees of freedom:
+
+ chi_squared dist(N - 1);
+
+For each value of alpha, the formula for the confidence interval is given by:
+
+[equation chi_squ_tut1]
+
+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:
+
+ cout << "\n\n"
+ "_____________________________________________\n"
+ "Confidence Lower Upper\n"
+ " Value (%) Limit Limit\n"
+ "_____________________________________________\n";
+
+and then loop over the values of alpha and calculate the intervals
+for each: remember that the lower critical value is the same as the
+quantile, and the upper critical value is the same as the quantile
+from the complement of the probability:
+
+ for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
+ {
+ // Confidence value:
+ cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
+ // Calculate limits:
+ double lower_limit = sqrt((N - 1) * Sd * Sd / quantile(complement(dist, alpha[i] / 2)));
+ double upper_limit = sqrt((N - 1) * Sd * Sd / quantile(dist, alpha[i] / 2));
+ // Print Limits:
+ cout << fixed << setprecision(5) << setw(15) << right << lower_limit;
+ cout << fixed << setprecision(5) << setw(15) << right << upper_limit << endl;
+ }
+ cout << endl;
+
+To see some example output we'll use the
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm
+gear data] from the __handbook.
+The data represents measurements of gear diameter from a manufacturing
+process.
+
+[pre'''
+________________________________________________
+2-Sided Confidence Limits For Standard Deviation
+________________________________________________
+
+Number of Observations = 100
+Standard Deviation = 0.006278908
+
+
+_____________________________________________
+Confidence Lower Upper
+ Value (%) Limit Limit
+_____________________________________________
+ 50.000 0.00601 0.00662
+ 75.000 0.00582 0.00685
+ 90.000 0.00563 0.00712
+ 95.000 0.00551 0.00729
+ 99.000 0.00530 0.00766
+ 99.900 0.00507 0.00812
+ 99.990 0.00489 0.00855
+ 99.999 0.00474 0.00895
+''']
+
+So at the 95% confidence level we conclude that the standard deviation
+is between 0.00551 and 0.00729.
+
+[h4 Confidence intervals as a function of the number of observations]
+
+Similarly, we can also list the confidence intervals for the standard deviation
+for the common confidence levels 95%, for increasing numbers of observations.
+
+The standard deviation used to compute these values is unity,
+so the limits listed are *multipliers* for any particular standard deviation.
+For example, given a standard deviation of 0.0062789 as in the example
+above; for 100 observations the multiplier is 0.8780
+giving the lower confidence limit of 0.8780 * 0.006728 = 0.00551.
+
+[pre'''
+____________________________________________________
+Confidence level (two-sided) = 0.0500000
+Standard Deviation = 1.0000000
+________________________________________
+Observations Lower Upper
+ Limit Limit
+________________________________________
+ 2 0.4461 31.9102
+ 3 0.5207 6.2847
+ 4 0.5665 3.7285
+ 5 0.5991 2.8736
+ 6 0.6242 2.4526
+ 7 0.6444 2.2021
+ 8 0.6612 2.0353
+ 9 0.6755 1.9158
+ 10 0.6878 1.8256
+ 15 0.7321 1.5771
+ 20 0.7605 1.4606
+ 30 0.7964 1.3443
+ 40 0.8192 1.2840
+ 50 0.8353 1.2461
+ 60 0.8476 1.2197
+ 100 0.8780 1.1617
+ 120 0.8875 1.1454
+ 1000 0.9580 1.0459
+ 10000 0.9863 1.0141
+ 50000 0.9938 1.0062
+ 100000 0.9956 1.0044
+ 1000000 0.9986 1.0014
+''']
+
+With just 2 observations the limits are from *0.445* up to to *31.9*,
+so the standard deviation might be about *half*
+the observed value up to [*30 times] the observed value!
+
+Estimating a standard deviation with just a handful of values leaves a very great uncertainty,
+especially the upper limit.
+Note especially how far the upper limit is skewed from the most likely standard deviation.
+
+Even for 10 observations, normally considered a reasonable number,
+the range is still from 0.69 to 1.8, about a range of 0.7 to 2,
+and is still highly skewed with an upper limit *twice* the median.
+
+When we have 1000 observations, the estimate of the standard deviation is starting to look convincing,
+with a range from 0.95 to 1.05 - now near symmetrical, but still about + or - 5%.
+
+Only when we have 10000 or more repeated observations can we start to be reasonably confident
+(provided we are sure that other factors like drift are not creeping in).
+
+For 10000 observations, the interval is 0.99 to 1.1 - finally a really convincing + or -1% confidence.
+
+[endsect] [/section:chi_sq_intervals Confidence Intervals on the Standard Deviation]
+
+[section:chi_sq_test Chi-Square Test for the Standard Deviation]
+
+We use this test to determine whether the standard deviation of a sample
+differs from a specified value. Typically this occurs in process change
+situations where we wish to compare the standard deviation of a new
+process to an established one.
+
+The code for this example is contained in
+[@../../example/chi_square_std_dev_test.cpp chi_square_std_dev_test.cpp], and
+we'll begin by defining the procedure that will print out the test
+statistics:
+
+ void chi_squared_test(
+ double Sd, // Sample std deviation
+ double D, // True std deviation
+ unsigned N, // Sample size
+ double alpha) // Significance level
+ {
+
+The procedure begins by printing a summary of the input data:
+
+ using namespace std;
+ using namespace boost::math;
+
+ // Print header:
+ cout <<
+ "______________________________________________\n"
+ "Chi Squared test for sample standard deviation\n"
+ "______________________________________________\n\n";
+ cout << setprecision(5);
+ cout << setw(55) << left << "Number of Observations" << "= " << N << "\n";
+ cout << setw(55) << left << "Sample Standard Deviation" << "= " << Sd << "\n";
+ cout << setw(55) << left << "Expected True Standard Deviation" << "= " << D << "\n\n";
+
+The test statistic (T) is simply the ratio of the sample and "true" standard
+deviations squared, multiplied by the number of degrees of freedom (the
+sample size less one):
+
+ double t_stat = (N - 1) * (Sd / D) * (Sd / D);
+ cout << setw(55) << left << "Test Statistic" << "= " << t_stat << "\n";
+
+The distribution we need to use, is a Chi Squared distribution with N-1
+degrees of freedom:
+
+ chi_squared dist(N - 1);
+
+The various hypothesis that can be tested are summarised in the following table:
+
+[table
+[[Hypothesis][Test]]
+[[The null-hypothesis: there is no difference in standard deviation from the specified value]
+ [ Reject if T < [chi][super 2][sub (1-alpha/2; N-1)] or T > [chi][super 2][sub (alpha/2; N-1)] ]]
+[[The alternative hypothesis: there is a difference in standard deviation from the specified value]
+ [ Reject if [chi][super 2][sub (1-alpha/2; N-1)] >= T >= [chi][super 2][sub (alpha/2; N-1)] ]]
+[[The alternative hypothesis: the standard deviation is less than the specified value]
+ [ Reject if [chi][super 2][sub (1-alpha; N-1)] <= T ]]
+[[The alternative hypothesis: the standard deviation is greater than the specified value]
+ [ Reject if [chi][super 2][sub (alpha; N-1)] >= T ]]
+]
+
+Where [chi][super 2][sub (alpha; N-1)] is the upper critical value of the
+Chi Squared distribution, and [chi][super 2][sub (1-alpha; N-1)] is the
+lower critical value.
+
+Recall that the lower critical value is the same
+as the quantile, and the upper critical value is the same as the quantile
+from the complement of the probability, that gives us the following code
+to calculate the critical values:
+
+ double ucv = quantile(complement(dist, alpha));
+ double ucv2 = quantile(complement(dist, alpha / 2));
+ double lcv = quantile(dist, alpha);
+ double lcv2 = quantile(dist, alpha / 2);
+ cout << setw(55) << left << "Upper Critical Value at alpha: " << "= "
+ << setprecision(3) << scientific << ucv << "\n";
+ cout << setw(55) << left << "Upper Critical Value at alpha/2: " << "= "
+ << setprecision(3) << scientific << ucv2 << "\n";
+ cout << setw(55) << left << "Lower Critical Value at alpha: " << "= "
+ << setprecision(3) << scientific << lcv << "\n";
+ cout << setw(55) << left << "Lower Critical Value at alpha/2: " << "= "
+ << setprecision(3) << scientific << lcv2 << "\n\n";
+
+Now that we have the critical values, we can compare these to our test
+statistic, and print out the result of each hypothesis and test:
+
+ cout << setw(55) << left <<
+ "Results for Alternative Hypothesis and alpha" << "= "
+ << setprecision(4) << fixed << alpha << "\n\n";
+ cout << "Alternative Hypothesis Conclusion\n";
+
+ cout << "Standard Deviation != " << setprecision(3) << fixed << D << " ";
+ if((ucv2 < t_stat) || (lcv2 > t_stat))
+ cout << "ACCEPTED\n";
+ else
+ cout << "REJECTED\n";
+
+ cout << "Standard Deviation < " << setprecision(3) << fixed << D << " ";
+ if(lcv > t_stat)
+ cout << "ACCEPTED\n";
+ else
+ cout << "REJECTED\n";
+
+ cout << "Standard Deviation > " << setprecision(3) << fixed << D << " ";
+ if(ucv < t_stat)
+ cout << "ACCEPTED\n";
+ else
+ cout << "REJECTED\n";
+ cout << endl << endl;
+
+To see some example output we'll use the
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm
+gear data] from the __handbook.
+The data represents measurements of gear diameter from a manufacturing
+process. The program output is deliberately designed to mirror
+the DATAPLOT output shown in the
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda358.htm
+NIST Handbook Example].
+
+[pre'''
+______________________________________________
+Chi Squared test for sample standard deviation
+______________________________________________
+
+Number of Observations = 100
+Sample Standard Deviation = 0.00628
+Expected True Standard Deviation = 0.10000
+
+Test Statistic = 0.39030
+CDF of test statistic: = 1.438e-099
+Upper Critical Value at alpha: = 1.232e+002
+Upper Critical Value at alpha/2: = 1.284e+002
+Lower Critical Value at alpha: = 7.705e+001
+Lower Critical Value at alpha/2: = 7.336e+001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion'''
+Standard Deviation != 0.100 ACCEPTED
+Standard Deviation < 0.100 ACCEPTED
+Standard Deviation > 0.100 REJECTED
+]
+
+In this case we are testing whether the sample standard deviation is 0.1,
+and the null-hypothesis is rejected, so we conclude that the standard
+deviation ['is not] 0.1.
+
+For an alternative example, consider the
+[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm
+silicon wafer data] again from the __handbook.
+In this scenario a supplier of 100 ohm.cm silicon wafers claims
+that his fabrication process can produce wafers with sufficient
+consistency so that the standard deviation of resistivity for
+the lot does not exceed 10 ohm.cm. A sample of N = 10 wafers taken
+from the lot has a standard deviation of 13.97 ohm.cm, and the question
+we ask ourselves is "Is the suppliers claim correct?".
+
+The program output now looks like this:
+
+[pre'''
+______________________________________________
+Chi Squared test for sample standard deviation
+______________________________________________
+
+Number of Observations = 10
+Sample Standard Deviation = 13.97000
+Expected True Standard Deviation = 10.00000
+
+Test Statistic = 17.56448
+CDF of test statistic: = 9.594e-001
+Upper Critical Value at alpha: = 1.692e+001
+Upper Critical Value at alpha/2: = 1.902e+001
+Lower Critical Value at alpha: = 3.325e+000
+Lower Critical Value at alpha/2: = 2.700e+000
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion'''
+Standard Deviation != 10.000 REJECTED
+Standard Deviation < 10.000 REJECTED
+Standard Deviation > 10.000 ACCEPTED
+]
+
+In this case, our null-hypothesis is that the standard deviation of
+the sample is less than 10: this hypothesis is rejected in the analysis
+above, and so we reject the manufacturers claim.
+
+[endsect] [/section:chi_sq_test Chi-Square Test for the Standard Deviation]
+
+[section:chi_sq_size Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation]
+
+Suppose we conduct a Chi Squared test for standard deviation and the result
+is borderline, a legitimate question to ask is "How large would the sample size
+have to be in order to produce a definitive result?"
+
+The class template [link math_toolkit.dist_ref.dists.chi_squared_dist
+chi_squared_distribution] has a static method
+`find_degrees_of_freedom` that will calculate this value for
+some acceptable risk of type I failure /alpha/, type II failure
+/beta/, and difference from the standard deviation /diff/. Please
+note that the method used works on variance, and not standard deviation
+as is usual for the Chi Squared Test.
+
+The code for this example is located in
+[@../../example/chi_square_std_dev_test.cpp chi_square_std_dev_test.cpp].
+
+We begin by defining a procedure to print out the sample sizes required
+for various risk levels:
+
+ void chi_squared_sample_sized(
+ double diff, // difference from variance to detect
+ double variance) // true variance
+ {
+
+The procedure begins by printing out the input data:
+
+ using namespace std;
+ using namespace boost::math;
+
+ // Print out general info:
+ cout <<
+ "_____________________________________________________________\n"
+ "Estimated sample sizes required for various confidence levels\n"
+ "_____________________________________________________________\n\n";
+ cout << setprecision(5);
+ cout << setw(40) << left << "True Variance" << "= " << variance << "\n";
+ cout << setw(40) << left << "Difference to detect" << "= " << diff << "\n";
+
+And defines a table of significance levels for which we'll calculate sample sizes:
+
+ double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
+
+For each value of alpha we can calculate two sample sizes: one where the
+sample variance is less than the true value by /diff/ and one
+where it is greater than the true value by /diff/. Thanks to the
+asymmetric nature of the Chi Squared distribution these two values will
+not be the same, the difference in their calculation differs only in the
+sign of /diff/ that's passed to `find_degrees_of_freedom`. Finally
+in this example we'll simply things, and let risk level /beta/ be the
+same as /alpha/:
+
+ cout << "\n\n"
+ "_______________________________________________________________\n"
+ "Confidence Estimated Estimated\n"
+ " Value (%) Sample Size Sample Size\n"
+ " (lower one (upper one\n"
+ " sided test) sided test)\n"
+ "_______________________________________________________________\n";
+ //
+ // Now print out the data for the table rows.
+ //
+ for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
+ {
+ // Confidence value:
+ cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
+ // calculate df for a lower single sided test:
+ double df = chi_squared::find_degrees_of_freedom(
+ -diff, alpha[i], alpha[i], variance);
+ // convert to sample size:
+ double size = ceil(df) + 1;
+ // Print size:
+ cout << fixed << setprecision(0) << setw(16) << right << size;
+ // calculate df for an upper single sided test:
+ df = chi_squared::find_degrees_of_freedom(
+ diff, alpha[i], alpha[i], variance);
+ // convert to sample size:
+ size = ceil(df) + 1;
+ // Print size:
+ cout << fixed << setprecision(0) << setw(16) << right << size << endl;
+ }
+ cout << endl;
+
+For some example output, consider the
+[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm
+silicon wafer data] from the __handbook.
+In this scenario a supplier of 100 ohm.cm silicon wafers claims
+that his fabrication process can produce wafers with sufficient
+consistency so that the standard deviation of resistivity for
+the lot does not exceed 10 ohm.cm. A sample of N = 10 wafers taken
+from the lot has a standard deviation of 13.97 ohm.cm, and the question
+we ask ourselves is "How large would our sample have to be to reliably
+detect this difference?".
+
+To use our procedure above, we have to convert the
+standard deviations to variance (square them),
+after which the program output looks like this:
+
+[pre'''
+_____________________________________________________________
+Estimated sample sizes required for various confidence levels
+_____________________________________________________________
+
+True Variance = 100.00000
+Difference to detect = 95.16090
+
+
+_______________________________________________________________
+Confidence Estimated Estimated
+ Value (%) Sample Size Sample Size
+ (lower one (upper one
+ sided test) sided test)
+_______________________________________________________________
+ 50.000 2 2
+ 75.000 2 10
+ 90.000 4 32
+ 95.000 5 51
+ 99.000 7 99
+ 99.900 11 174
+ 99.990 15 251
+ 99.999 20 330'''
+]
+
+In this case we are interested in a upper single sided test.
+So for example, if the maximum acceptable risk of falsely rejecting
+the null-hypothesis is 0.05 (Type I error), and the maximum acceptable
+risk of failing to reject the null-hypothesis is also 0.05
+(Type II error), we estimate that we would need a sample size of 51.
+
+[endsect] [/section:chi_sq_size Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation]
+
+[endsect] [/section:cs_eg Chi Squared Distribution]
+
+[/
+ Copyright 2006, 2013 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/dist_algorithms.qbk b/libs/math/doc/distributions/dist_algorithms.qbk
new file mode 100644
index 0000000000..a29daeeb8c
--- /dev/null
+++ b/libs/math/doc/distributions/dist_algorithms.qbk
@@ -0,0 +1,78 @@
+[section:dist_algorithms Distribution Algorithms]
+
+[h4 Finding the Location and Scale for Normal and similar distributions]
+
+Two functions aid finding location and scale of random variable z
+to give probability p (given a scale or location).
+Only applies to distributions like normal, lognormal, extreme value, Cauchy, (and symmetrical triangular),
+that have scale and location properties.
+
+These functions are useful to predict the mean and/or standard deviation that will be needed to meet a specified minimum weight or maximum dose.
+
+Complement versions are also provided, both with explicit and implicit (default) policy.
+
+ using boost::math::policies::policy; // May be needed by users defining their own policies.
+ using boost::math::complement; // Will be needed by users who want to use complements.
+
+[h4 find_location function]
+
+``#include <boost/math/distributions/find_location.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class Dist, class ``__Policy``> // explicit error handling policy
+ typename Dist::value_type find_location( // For example, normal mean.
+ typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
+ // For example, a nominal minimum acceptable z, so that p * 100 % are > z
+ typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
+ typename Dist::value_type scale, // scale parameter, for example, normal standard deviation.
+ const ``__Policy``& pol);
+
+ template <class Dist> // with default policy.
+ typename Dist::value_type find_location( // For example, normal mean.
+ typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
+ // For example, a nominal minimum acceptable z, so that p * 100 % are > z
+ typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
+ typename Dist::value_type scale); // scale parameter, for example, normal standard deviation.
+
+ }} // namespaces
+
+[h4 find_scale function]
+
+``#include <boost/math/distributions/find_scale.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class Dist, class ``__Policy``>
+ typename Dist::value_type find_scale( // For example, normal mean.
+ typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
+ // For example, a nominal minimum acceptable weight z, so that p * 100 % are > z
+ typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
+ typename Dist::value_type location, // location parameter, for example, normal distribution mean.
+ const ``__Policy``& pol);
+
+ template <class Dist> // with default policy.
+ typename Dist::value_type find_scale( // For example, normal mean.
+ typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
+ // For example, a nominal minimum acceptable z, so that p * 100 % are > z
+ typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
+ typename Dist::value_type location) // location parameter, for example, normal distribution mean.
+ }} // namespaces
+
+All argument must be finite, otherwise __domain_error is called.
+
+Probability arguments must be [0, 1], otherwise __domain_error is called.
+
+If the choice of arguments would give a negative scale, __domain_error is called, unless the policy is to ignore, when the negative (impossible) value of scale is returned.
+
+[link math_toolkit.stat_tut.weg.find_eg Find Mean and standard deviation examples]
+gives simple examples of use of both find_scale and find_location, and a longer example finding means and standard deviations of normally distributed weights to meet a specification.
+
+[endsect] [/section:dist_algorithms dist_algorithms]
+
+[/ dist_algorithms.qbk
+ Copyright 2007 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/dist_reference.qbk b/libs/math/doc/distributions/dist_reference.qbk
new file mode 100644
index 0000000000..d700d70a09
--- /dev/null
+++ b/libs/math/doc/distributions/dist_reference.qbk
@@ -0,0 +1,146 @@
+[section:dist_ref Statistical Distributions Reference]
+
+[include non_members.qbk]
+
+[section:dists Distributions]
+
+[include bernoulli.qbk]
+[include beta.qbk]
+[include binomial.qbk]
+[include cauchy.qbk]
+[include chi_squared.qbk]
+[include exponential.qbk]
+[include extreme_value.qbk]
+[include fisher.qbk]
+[include gamma.qbk]
+[include geometric.qbk]
+[include hyperexponential.qbk]
+[include hypergeometric.qbk]
+[include inverse_chi_squared.qbk]
+[include inverse_gamma.qbk]
+[include inverse_gaussian.qbk]
+[include laplace.qbk]
+[include logistic.qbk]
+[include lognormal.qbk]
+[include negative_binomial.qbk]
+[include nc_beta.qbk]
+[include nc_chi_squared.qbk]
+[include nc_f.qbk]
+[include nc_t.qbk]
+[include normal.qbk]
+[include pareto.qbk]
+[include poisson.qbk]
+[include rayleigh.qbk]
+[include skew_normal.qbk]
+[include students_t.qbk]
+[include triangular.qbk]
+[include uniform.qbk]
+[include weibull.qbk]
+
+[endsect] [/section:dists Distributions]
+
+[include dist_algorithms.qbk]
+
+[endsect] [/section:dist_ref Statistical Distributions and Functions Reference]
+
+
+[section:future Extras/Future Directions]
+
+[h4 Adding Additional Location and Scale Parameters]
+
+In some modelling applications we require a distribution
+with a specific location and scale:
+often this equates to a specific mean and standard deviation, although for many
+distributions the relationship between these properties and the location and
+scale parameters are non-trivial. See
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm]
+for more information.
+
+The obvious way to handle this is via an adapter template:
+
+ template <class Dist>
+ class scaled_distribution
+ {
+ scaled_distribution(
+ const Dist dist,
+ typename Dist::value_type location,
+ typename Dist::value_type scale = 0);
+ };
+
+Which would then have its own set of overloads for the non-member accessor functions.
+
+[h4 An "any_distribution" class]
+
+It is easy to add a distribution object that virtualises
+the actual type of the distribution, and can therefore hold "any" object
+that conforms to the conceptual requirements of a distribution:
+
+ template <class RealType>
+ class any_distribution
+ {
+ public:
+ template <class Distribution>
+ any_distribution(const Distribution& d);
+ };
+
+ // Get the cdf of the underlying distribution:
+ template <class RealType>
+ RealType cdf(const any_distribution<RealType>& d, RealType x);
+ // etc....
+
+Such a class would facilitate the writing of non-template code that can
+function with any distribution type.
+
+The [@http://sourceforge.net/projects/distexplorer/ Statistical Distribution Explorer]
+utility for Windows is a usage example.
+
+It's not clear yet whether there is a compelling use case though.
+Possibly tests for goodness of fit might
+provide such a use case: this needs more investigation.
+
+[h4 Higher Level Hypothesis Tests]
+
+Higher-level tests roughly corresponding to the
+[@http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/HypothesisTests.html Mathematica Hypothesis Tests]
+package could be added reasonably easily, for example:
+
+ template <class InputIterator>
+ typename std::iterator_traits<InputIterator>::value_type
+ test_equal_mean(
+ InputIterator a,
+ InputIterator b,
+ typename std::iterator_traits<InputIterator>::value_type expected_mean);
+
+Returns the probability that the data in the sequence \[a,b) has the mean
+/expected_mean/.
+
+[h4 Integration With Statistical Accumulators]
+
+[@http://boost-sandbox.sourceforge.net/libs/accumulators/doc/html/index.html
+Eric Niebler's accumulator framework] - also work in progress - provides the means
+to calculate various statistical properties from experimental data. There is an
+opportunity to integrate the statistical tests with this framework at some later date:
+
+ // Define an accumulator, all required statistics to calculate the test
+ // are calculated automatically:
+ accumulator_set<double, features<tag::test_expected_mean> > acc(expected_mean=4);
+ // Pass our data to the accumulator:
+ acc = std::for_each(mydata.begin(), mydata.end(), acc);
+ // Extract the result:
+ double p = probability(acc);
+
+[endsect][/section:future Extras Future Directions]
+
+[/ dist_reference.qbk
+ Copyright 2006, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
+
+
+
+
+
diff --git a/libs/math/doc/distributions/dist_tutorial.qbk b/libs/math/doc/distributions/dist_tutorial.qbk
new file mode 100644
index 0000000000..0d0e0dfd7a
--- /dev/null
+++ b/libs/math/doc/distributions/dist_tutorial.qbk
@@ -0,0 +1,459 @@
+[/ def names all end in distrib to avoid clashes with names of functions]
+
+[def __binomial_distrib [link math_toolkit.dist_ref.dists.binomial_dist Binomial Distribution]]
+[def __chi_squared_distrib [link math_toolkit.dist_ref.dists.chi_squared_dist Chi Squared Distribution]]
+[def __normal_distrib [link math_toolkit.dist_ref.dists.normal_dist Normal Distribution]]
+[def __F_distrib [link math_toolkit.dist_ref.dists.f_dist Fisher F Distribution]]
+[def __students_t_distrib [link math_toolkit.dist_ref.dists.students_t_dist Students t Distribution]]
+
+[def __handbook [@http://www.itl.nist.gov/div898/handbook/
+NIST/SEMATECH e-Handbook of Statistical Methods.]]
+
+[section:stat_tut Statistical Distributions Tutorial]
+This library is centred around statistical distributions, this tutorial
+will give you an overview of what they are, how they can be used, and
+provides a few worked examples of applying the library to statistical tests.
+
+[section:overview Overview of Distributions]
+
+[section:headers Headers and Namespaces]
+
+All the code in this library is inside namespace boost::math.
+
+In order to use a distribution /my_distribution/ you will need to include
+either the header <boost/math/my_distribution.hpp> or
+the "include all the distributions" header: <boost/math/distributions.hpp>.
+
+For example, to use the Students-t distribution include either
+<boost/math/students_t.hpp> or
+<boost/math/distributions.hpp>
+
+You also need to bring distribution names into scope,
+perhaps with a `using namespace boost::math;` declaration,
+
+or specific `using` declarations like `using boost::math::normal;` (*recommended*).
+
+[caution Some math function names are also used in namespace std so including <random> could cause ambiguity!]
+
+[endsect] [/ section:headers Headers and Namespaces]
+
+[section:objects Distributions are Objects]
+
+Each kind of distribution in this library is a class type - an object.
+
+[link policy Policies] provide fine-grained control
+of the behaviour of these classes, allowing the user to customise
+behaviour such as how errors are handled, or how the quantiles
+of discrete distribtions behave.
+
+[tip If you are familiar with statistics libraries using functions,
+and 'Distributions as Objects' seem alien, see
+[link math_toolkit.stat_tut.weg.nag_library the comparison to
+other statistics libraries.]
+] [/tip]
+
+Making distributions class types does two things:
+
+* It encapsulates the kind of distribution in the C++ type system;
+so, for example, Students-t distributions are always a different C++ type from
+Chi-Squared distributions.
+* The distribution objects store any parameters associated with the
+distribution: for example, the Students-t distribution has a
+['degrees of freedom] parameter that controls the shape of the distribution.
+This ['degrees of freedom] parameter has to be provided
+to the Students-t object when it is constructed.
+
+Although the distribution classes in this library are templates, there
+are typedefs on type /double/ that mostly take the usual name of the
+distribution
+(except where there is a clash with a function of the same name: beta and gamma,
+in which case using the default template arguments - `RealType = double` -
+is nearly as convenient).
+Probably 95% of uses are covered by these typedefs:
+
+ // using namespace boost::math; // Avoid potential ambiguity with names in std <random>
+ // Safer to declare specific functions with using statement(s):
+
+ using boost::math::beta_distribution;
+ using boost::math::binomial_distribution;
+ using boost::math::students_t;
+
+ // Construct a students_t distribution with 4 degrees of freedom:
+ students_t d1(4);
+
+ // Construct a double-precision beta distribution
+ // with parameters a = 10, b = 20
+ beta_distribution<> d2(10, 20); // Note: _distribution<> suffix !
+
+If you need to use the distributions with a type other than `double`,
+then you can instantiate the template directly: the names of the
+templates are the same as the `double` typedef but with `_distribution`
+appended, for example: __students_t_distrib or __binomial_distrib:
+
+ // Construct a students_t distribution, of float type,
+ // with 4 degrees of freedom:
+ students_t_distribution<float> d3(4);
+
+ // Construct a binomial distribution, of long double type,
+ // with probability of success 0.3
+ // and 20 trials in total:
+ binomial_distribution<long double> d4(20, 0.3);
+
+The parameters passed to the distributions can be accessed via getter member
+functions:
+
+ d1.degrees_of_freedom(); // returns 4.0
+
+This is all well and good, but not very useful so far. What we often want
+is to be able to calculate the /cumulative distribution functions/ and
+/quantiles/ etc for these distributions.
+
+[endsect] [/section:objects Distributions are Objects]
+
+
+[section:generic Generic operations common to all distributions are non-member functions]
+
+Want to calculate the PDF (Probability Density Function) of a distribution?
+No problem, just use:
+
+ pdf(my_dist, x); // Returns PDF (density) at point x of distribution my_dist.
+
+Or how about the CDF (Cumulative Distribution Function):
+
+ cdf(my_dist, x); // Returns CDF (integral from -infinity to point x)
+ // of distribution my_dist.
+
+And quantiles are just the same:
+
+ quantile(my_dist, p); // Returns the value of the random variable x
+ // such that cdf(my_dist, x) == p.
+
+If you're wondering why these aren't member functions, it's to
+make the library more easily extensible: if you want to add additional
+generic operations - let's say the /n'th moment/ - then all you have to
+do is add the appropriate non-member functions, overloaded for each
+implemented distribution type.
+
+[tip
+
+[*Random numbers that approximate Quantiles of Distributions]
+
+If you want random numbers that are distributed in a specific way,
+for example in a uniform, normal or triangular,
+see [@http://www.boost.org/libs/random/ Boost.Random].
+
+Whilst in principal there's nothing to prevent you from using the
+quantile function to convert a uniformly distributed random
+number to another distribution, in practice there are much more
+efficient algorithms available that are specific to random number generation.
+] [/tip Random numbers that approximate Quantiles of Distributions]
+
+For example, the binomial distribution has two parameters:
+n (the number of trials) and p (the probability of success on any one trial).
+
+The `binomial_distribution` constructor therefore has two parameters:
+
+`binomial_distribution(RealType n, RealType p);`
+
+For this distribution the __random_variate is k: the number of successes observed.
+The probability density\/mass function (pdf) is therefore written as ['f(k; n, p)].
+
+[note
+
+[*Random Variates and Distribution Parameters]
+
+The concept of a __random_variable is closely linked to the term __random_variate:
+a random variate is a particular value (outcome) of a random variable.
+and [@http://en.wikipedia.org/wiki/Parameter distribution parameters]
+are conventionally distinguished (for example in Wikipedia and Wolfram MathWorld)
+by placing a semi-colon or vertical bar)
+/after/ the __random_variable (whose value you 'choose'),
+to separate the variate from the parameter(s) that defines the shape of the distribution.[br]
+For example, the binomial distribution probability distribution function (PDF) is written as
+['f(k| n, p)] = Pr(K = k|n, p) = probability of observing k successes out of n trials.
+K is the __random_variable, k is the __random_variate,
+the parameters are n (trials) and p (probability).
+] [/tip Random Variates and Distribution Parameters]
+
+[note By convention, __random_variate are lower case, usually k is integral, x if real, and
+__random_variable are upper case, K if integral, X if real. But this implementation treats
+all as floating point values `RealType`, so if you really want an integral result,
+you must round: see note on Discrete Probability Distributions below for details.]
+
+As noted above the non-member function `pdf` has one parameter for the distribution object,
+and a second for the random variate. So taking our binomial distribution
+example, we would write:
+
+`pdf(binomial_distribution<RealType>(n, p), k);`
+
+The ranges of __random_variate values that are permitted and are supported can be
+tested by using two functions `range` and `support`.
+
+The distribution (effectively the __random_variate) is said to be 'supported'
+over a range that is
+[@http://en.wikipedia.org/wiki/Probability_distribution
+ "the smallest closed set whose complement has probability zero"].
+MathWorld uses the word 'defined' for this range.
+Non-mathematicians might say it means the 'interesting' smallest range
+of random variate x that has the cdf going from zero to unity.
+Outside are uninteresting zones where the pdf is zero, and the cdf zero or unity.
+
+For most distributions, with probability distribution functions one might describe
+as 'well-behaved', we have decided that it is most useful for the supported range
+to *exclude* random variate values like exact zero *if the end point is discontinuous*.
+For example, the Weibull (scale 1, shape 1) distribution smoothly heads for unity
+as the random variate x declines towards zero.
+But at x = zero, the value of the pdf is suddenly exactly zero, by definition.
+If you are plotting the PDF, or otherwise calculating,
+zero is not the most useful value for the lower limit of supported, as we discovered.
+So for this, and similar distributions,
+we have decided it is most numerically useful to use
+the closest value to zero, min_value, for the limit of the supported range.
+(The `range` remains from zero, so you will still get `pdf(weibull, 0) == 0`).
+(Exponential and gamma distributions have similarly discontinuous functions).
+
+Mathematically, the functions may make sense with an (+ or -) infinite value,
+but except for a few special cases (in the Normal and Cauchy distributions)
+this implementation limits random variates to finite values from the `max`
+to `min` for the `RealType`.
+(See [link math_toolkit.sf_implementation.handling_of_floating_point_infin
+Handling of Floating-Point Infinity] for rationale).
+
+
+[note
+
+[*Discrete Probability Distributions]
+
+Note that the [@http://en.wikipedia.org/wiki/Discrete_probability_distribution
+discrete distributions], including the binomial, negative binomial, Poisson & Bernoulli,
+are all mathematically defined as discrete functions:
+that is to say the functions `cdf` and `pdf` are only defined for integral values
+of the random variate.
+
+However, because the method of calculation often uses continuous functions
+it is convenient to treat them as if they were continuous functions,
+and permit non-integral values of their parameters.
+
+Users wanting to enforce a strict mathematical model may use `floor`
+or `ceil` functions on the random variate prior to calling the distribution
+function.
+
+The quantile functions for these distributions are hard to specify
+in a manner that will satisfy everyone all of the time. The default
+behaviour is to return an integer result, that has been rounded
+/outwards/: that is to say, lower quantiles - where the probablity
+is less than 0.5 are rounded down, while upper quantiles - where
+the probability is greater than 0.5 - are rounded up. This behaviour
+ensures that if an X% quantile is requested, then /at least/ the requested
+coverage will be present in the central region, and /no more than/
+the requested coverage will be present in the tails.
+
+This behaviour can be changed so that the quantile functions are rounded
+differently, or return a real-valued result using
+[link math_toolkit.pol_overview Policies]. It is strongly
+recommended that you read the tutorial
+[link math_toolkit.pol_tutorial.understand_dis_quant
+Understanding Quantiles of Discrete Distributions] before
+using the quantile function on a discrete distribtion. The
+[link math_toolkit.pol_ref.discrete_quant_ref reference docs]
+describe how to change the rounding policy
+for these distributions.
+
+For similar reasons continuous distributions with parameters like
+"degrees of freedom"
+that might appear to be integral, are treated as real values
+(and are promoted from integer to floating-point if necessary).
+In this case however, there are a small number of situations where non-integral
+degrees of freedom do have a genuine meaning.
+]
+
+[endsect] [/ section:generic Generic operations common to all distributions are non-member functions]
+
+[section:complements Complements are supported too - and when to use them]
+
+Often you don't want the value of the CDF, but its complement, which is
+to say `1-p` rather than `p`. It is tempting to calculate the CDF and subtract
+it from `1`, but if `p` is very close to `1` then cancellation error
+will cause you to lose accuracy, perhaps totally.
+
+[link why_complements See below ['"Why and when to use complements?"]]
+
+In this library, whenever you want to receive a complement, just wrap
+all the function arguments in a call to `complement(...)`, for example:
+
+ students_t dist(5);
+ cout << "CDF at t = 1 is " << cdf(dist, 1.0) << endl;
+ cout << "Complement of CDF at t = 1 is " << cdf(complement(dist, 1.0)) << endl;
+
+But wait, now that we have a complement, we have to be able to use it as well.
+Any function that accepts a probability as an argument can also accept a complement
+by wrapping all of its arguments in a call to `complement(...)`, for example:
+
+ students_t dist(5);
+
+ for(double i = 10; i < 1e10; i *= 10)
+ {
+ // Calculate the quantile for a 1 in i chance:
+ double t = quantile(complement(dist, 1/i));
+ // Print it out:
+ cout << "Quantile of students-t with 5 degrees of freedom\n"
+ "for a 1 in " << i << " chance is " << t << endl;
+ }
+
+[tip
+
+[*Critical values are just quantiles]
+
+Some texts talk about quantiles, or percentiles or fractiles,
+others about critical values, the basic rule is:
+
+['Lower critical values] are the same as the quantile.
+
+['Upper critical values] are the same as the quantile from the complement
+of the probability.
+
+For example, suppose we have a Bernoulli process, giving rise to a binomial
+distribution with success ratio 0.1 and 100 trials in total. The
+['lower critical value] for a probability of 0.05 is given by:
+
+`quantile(binomial(100, 0.1), 0.05)`
+
+and the ['upper critical value] is given by:
+
+`quantile(complement(binomial(100, 0.1), 0.05))`
+
+which return 4.82 and 14.63 respectively.
+]
+
+[#why_complements]
+[tip
+
+[*Why bother with complements anyway?]
+
+It's very tempting to dispense with complements, and simply subtract
+the probability from 1 when required. However, consider what happens when
+the probability is very close to 1: let's say the probability expressed at
+float precision is `0.999999940f`, then `1 - 0.999999940f = 5.96046448e-008`,
+but the result is actually accurate to just ['one single bit]: the only
+bit that didn't cancel out!
+
+Or to look at this another way: consider that we want the risk of falsely
+rejecting the null-hypothesis in the Student's t test to be 1 in 1 billion,
+for a sample size of 10,000.
+This gives a probability of 1 - 10[super -9], which is exactly 1 when
+calculated at float precision. In this case calculating the quantile from
+the complement neatly solves the problem, so for example:
+
+`quantile(complement(students_t(10000), 1e-9))`
+
+returns the expected t-statistic `6.00336`, where as:
+
+`quantile(students_t(10000), 1-1e-9f)`
+
+raises an overflow error, since it is the same as:
+
+`quantile(students_t(10000), 1)`
+
+Which has no finite result.
+
+With all distributions, even for more reasonable probability
+(unless the value of p can be represented exactly in the floating-point type)
+the loss of accuracy quickly becomes significant if you simply calculate probability from 1 - p
+(because it will be mostly garbage digits for p ~ 1).
+
+So always avoid, for example, using a probability near to unity like 0.99999
+
+`quantile(my_distribution, 0.99999)`
+
+and instead use
+
+`quantile(complement(my_distribution, 0.00001))`
+
+since 1 - 0.99999 is not exactly equal to 0.00001 when using floating-point arithmetic.
+
+This assumes that the 0.00001 value is either a constant,
+or can be computed by some manner other than subtracting 0.99999 from 1.
+
+] [/ tip *Why bother with complements anyway?]
+
+[endsect] [/ section:complements Complements are supported too - and why]
+
+[section:parameters Parameters can be calculated]
+
+Sometimes it's the parameters that define the distribution that you
+need to find. Suppose, for example, you have conducted a Students-t test
+for equal means and the result is borderline. Maybe your two samples
+differ from each other, or maybe they don't; based on the result
+of the test you can't be sure. A legitimate question to ask then is
+"How many more measurements would I have to take before I would get
+an X% probability that the difference is real?" Parameter finders
+can answer questions like this, and are necessarily different for
+each distribution. They are implemented as static member functions
+of the distributions, for example:
+
+ students_t::find_degrees_of_freedom(
+ 1.3, // difference from true mean to detect
+ 0.05, // maximum risk of falsely rejecting the null-hypothesis.
+ 0.1, // maximum risk of falsely failing to reject the null-hypothesis.
+ 0.13); // sample standard deviation
+
+Returns the number of degrees of freedom required to obtain a 95%
+probability that the observed differences in means is not down to
+chance alone. In the case that a borderline Students-t test result
+was previously obtained, this can be used to estimate how large the sample size
+would have to become before the observed difference was considered
+significant. It assumes, of course, that the sample mean and standard
+deviation are invariant with sample size.
+
+[endsect] [/ section:parameters Parameters can be calculated]
+
+[section:summary Summary]
+
+* Distributions are objects, which are constructed from whatever
+parameters the distribution may have.
+* Member functions allow you to retrieve the parameters of a distribution.
+* Generic non-member functions provide access to the properties that
+are common to all the distributions (PDF, CDF, quantile etc).
+* Complements of probabilities are calculated by wrapping the function's
+arguments in a call to `complement(...)`.
+* Functions that accept a probability can accept a complement of the
+probability as well, by wrapping the function's
+arguments in a call to `complement(...)`.
+* Static member functions allow the parameters of a distribution
+to be found from other information.
+
+Now that you have the basics, the next section looks at some worked examples.
+
+[endsect] [/section:summary Summary]
+[endsect] [/section:overview Overview]
+
+[section:weg Worked Examples]
+[include distribution_construction.qbk]
+[include students_t_examples.qbk]
+[include chi_squared_examples.qbk]
+[include f_dist_example.qbk]
+[include binomial_example.qbk]
+[include geometric_example.qbk]
+[include negative_binomial_example.qbk]
+[include normal_example.qbk]
+[/include inverse_gamma_example.qbk]
+[/include inverse_gaussian_example.qbk]
+[include inverse_chi_squared_eg.qbk]
+[include nc_chi_squared_example.qbk]
+[include error_handling_example.qbk]
+[include find_location_and_scale.qbk]
+[include nag_library.qbk]
+[include c_sharp.qbk]
+[endsect] [/section:weg Worked Examples]
+
+[include background.qbk]
+
+[endsect] [/ section:stat_tut Statistical Distributions Tutorial]
+
+[/ dist_tutorial.qbk
+ Copyright 2006, 2010, 2011 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/distribution_construction.qbk b/libs/math/doc/distributions/distribution_construction.qbk
new file mode 100644
index 0000000000..169af6bb43
--- /dev/null
+++ b/libs/math/doc/distributions/distribution_construction.qbk
@@ -0,0 +1,17 @@
+[section:dist_construct_eg Distribution Construction Examples]
+
+[import ../../example/distribution_construction.cpp]
+[distribution_construction_1]
+[distribution_construction_2]
+
+See [@../../example/distribution_construction.cpp distribution_construction.cpp] for full source code.
+
+[endsect] [/section:dist_construct_eg Distribution Construction Examples]
+
+[/
+ Copyright 2006, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/error_handling_example.qbk b/libs/math/doc/distributions/error_handling_example.qbk
new file mode 100644
index 0000000000..0a68607f11
--- /dev/null
+++ b/libs/math/doc/distributions/error_handling_example.qbk
@@ -0,0 +1,35 @@
+[section:error_eg Error Handling Example]
+
+See [link math_toolkit.error_handling error handling documentation]
+for a detailed explanation of the mechanism of handling errors,
+including the common "bad" arguments to distributions and functions,
+and how to use __policy_section to control it.
+
+But, by default, *exceptions will be raised*, for domain errors,
+pole errors, numeric overflow, and internal evaluation errors.
+To avoid the exceptions from getting thrown and instead get
+an appropriate value returned, usually a NaN (domain errors
+pole errors or internal errors), or infinity (from overflow),
+you need to change the policy.
+
+[import ../../example/error_handling_example.cpp]
+
+[error_handling_example]
+
+[caution If throwing of exceptions is enabled (the default) but
+you do *not* have try & catch block,
+then the program will terminate with an uncaught exception and probably abort.
+
+Therefore to get the benefit of helpful error messages, enabling *all exceptions
+and using try & catch* is recommended for most applications.
+
+However, for simplicity, the is not done for most examples.]
+
+[endsect] [/section:error_eg Error Handling Example]
+[/
+ Copyright 2007 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/exponential.qbk b/libs/math/doc/distributions/exponential.qbk
new file mode 100644
index 0000000000..af83a29709
--- /dev/null
+++ b/libs/math/doc/distributions/exponential.qbk
@@ -0,0 +1,108 @@
+[section:exp_dist Exponential Distribution]
+
+``#include <boost/math/distributions/exponential.hpp>``
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class exponential_distribution;
+
+ typedef exponential_distribution<> exponential;
+
+ template <class RealType, class ``__Policy``>
+ class exponential_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ exponential_distribution(RealType lambda = 1);
+
+ RealType lambda()const;
+ };
+
+
+The [@http://en.wikipedia.org/wiki/Exponential_distribution exponential distribution]
+is a [@http://en.wikipedia.org/wiki/Probability_distribution continuous probability distribution]
+with PDF:
+
+[equation exponential_dist_ref1]
+
+It is often used to model the time between independent
+events that happen at a constant average rate.
+
+The following graph shows how the distribution changes for different
+values of the rate parameter lambda:
+
+[graph exponential_pdf]
+
+[h4 Member Functions]
+
+ exponential_distribution(RealType lambda = 1);
+
+Constructs an
+[@http://en.wikipedia.org/wiki/Exponential_distribution Exponential distribution]
+with parameter /lambda/.
+Lambda is defined as the reciprocal of the scale parameter.
+
+Requires lambda > 0, otherwise calls __domain_error.
+
+ RealType lambda()const;
+
+Accessor function returns the lambda parameter of the distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0, +[infin]\].
+
+[h4 Accuracy]
+
+The exponential distribution is implemented in terms of the
+standard library functions `exp`, `log`, `log1p` and `expm1`
+and as such should have very low error rates.
+
+[h4 Implementation]
+
+In the following table [lambda] is the parameter lambda of the distribution,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = [lambda] * exp(-[lambda] * x) ]]
+[[cdf][Using the relation: p = 1 - exp(-x * [lambda]) = -expm1(-x * [lambda]) ]]
+[[cdf complement][Using the relation: q = exp(-x * [lambda]) ]]
+[[quantile][Using the relation: x = -log(1-p) / [lambda] = -log1p(-p) / [lambda]]]
+[[quantile from the complement][Using the relation: x = -log(q) / [lambda]]]
+[[mean][1/[lambda]]]
+[[standard deviation][1/[lambda]]]
+[[mode][0]]
+[[skewness][2]]
+[[kurtosis][9]]
+[[kurtosis excess][6]]
+]
+
+[h4 references]
+
+* [@http://mathworld.wolfram.com/ExponentialDistribution.html Weisstein, Eric W. "Exponential Distribution." From MathWorld--A Wolfram Web Resource]
+* [@http://documents.wolfram.com/calccenter/Functions/ListsMatrices/Statistics/ExponentialDistribution.html Wolfram Mathematica calculator]
+* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3667.htm NIST Exploratory Data Analysis]
+* [@http://en.wikipedia.org/wiki/Exponential_distribution Wikipedia Exponential distribution]
+
+(See also the reference documentation for the related __extreme_distrib.)
+
+*
+[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications
+Samuel Kotz & Saralees Nadarajah]
+discuss the relationship of the types of extreme value distributions.
+
+[endsect][/section:exp_dist Exponential]
+
+[/ exponential.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/extreme_value.qbk b/libs/math/doc/distributions/extreme_value.qbk
new file mode 100644
index 0000000000..affc509f42
--- /dev/null
+++ b/libs/math/doc/distributions/extreme_value.qbk
@@ -0,0 +1,119 @@
+[section:extreme_dist Extreme Value Distribution]
+
+``#include <boost/math/distributions/extreme.hpp>``
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class extreme_value_distribution;
+
+ typedef extreme_value_distribution<> extreme_value;
+
+ template <class RealType, class ``__Policy``>
+ class extreme_value_distribution
+ {
+ public:
+ typedef RealType value_type;
+
+ extreme_value_distribution(RealType location = 0, RealType scale = 1);
+
+ RealType scale()const;
+ RealType location()const;
+ };
+
+There are various
+[@http://mathworld.wolfram.com/ExtremeValueDistribution.html extreme value distributions]
+: this implementation represents the maximum case,
+and is variously known as a Fisher-Tippett distribution,
+a log-Weibull distribution or a Gumbel distribution.
+
+Extreme value theory is important for assessing risk for highly unusual events,
+such as 100-year floods.
+
+More information can be found on the
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda366g.htm NIST],
+[@http://en.wikipedia.org/wiki/Extreme_value_distribution Wikipedia],
+[@http://mathworld.wolfram.com/ExtremeValueDistribution.html Mathworld],
+and [@http://en.wikipedia.org/wiki/Extreme_value_theory Extreme value theory]
+websites.
+
+The relationship of the types of extreme value distributions, of which this is but one, is
+discussed by
+[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications
+Samuel Kotz & Saralees Nadarajah].
+
+The distribution has a PDF given by:
+
+f(x) = (1/scale) e[super -(x-location)/scale] e[super -e[super -(x-location)/scale]]
+
+Which in the standard case (scale = 1, location = 0) reduces to:
+
+f(x) = e[super -x]e[super -e[super -x]]
+
+The following graph illustrates how the PDF varies with the location parameter:
+
+[graph extreme_value_pdf1]
+
+And this graph illustrates how the PDF varies with the shape parameter:
+
+[graph extreme_value_pdf2]
+
+[h4 Member Functions]
+
+ extreme_value_distribution(RealType location = 0, RealType scale = 1);
+
+Constructs an Extreme Value distribution with the specified location and scale
+parameters.
+
+Requires `scale > 0`, otherwise calls __domain_error.
+
+ RealType location()const;
+
+Returns the location parameter of the distribution.
+
+ RealType scale()const;
+
+Returns the scale parameter of the distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random parameter is \[-[infin], +[infin]\].
+
+[h4 Accuracy]
+
+The extreme value distribution is implemented in terms of the
+standard library `exp` and `log` functions and as such should have very low
+error rates.
+
+[h4 Implementation]
+
+In the following table:
+/a/ is the location parameter, /b/ is the scale parameter,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = exp((a-x)/b) * exp(-exp((a-x)/b)) / b ]]
+[[cdf][Using the relation: p = exp(-exp((a-x)/b)) ]]
+[[cdf complement][Using the relation: q = -expm1(-exp((a-x)/b)) ]]
+[[quantile][Using the relation: a - log(-log(p)) * b]]
+[[quantile from the complement][Using the relation: a - log(-log1p(-q)) * b]]
+[[mean][a + [@http://en.wikipedia.org/wiki/Euler-Mascheroni_constant Euler-Mascheroni-constant] * b]]
+[[standard deviation][pi * b / sqrt(6)]]
+[[mode][The same as the location parameter /a/.]]
+[[skewness][12 * sqrt(6) * zeta(3) / pi[super 3] ]]
+[[kurtosis][27 / 5]]
+[[kurtosis excess][kurtosis - 3 or 12 / 5]]
+]
+
+[endsect][/section:extreme_dist Extreme Value]
+
+[/ extreme_value.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/f_dist_example.qbk b/libs/math/doc/distributions/f_dist_example.qbk
new file mode 100644
index 0000000000..1601199bd8
--- /dev/null
+++ b/libs/math/doc/distributions/f_dist_example.qbk
@@ -0,0 +1,220 @@
+[section:f_eg F Distribution Examples]
+
+Imagine that you want to compare the standard deviations of two
+sample to determine if they differ in any significant way, in this
+situation you use the F distribution and perform an F-test. This
+situation commonly occurs when conducting a process change comparison:
+"is a new process more consistent that the old one?".
+
+In this example we'll be using the data for ceramic strength from
+[@http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm
+http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm].
+The data for this case study were collected by Said Jahanmir of the
+NIST Ceramics Division in 1996 in connection with a NIST/industry
+ceramics consortium for strength optimization of ceramic strength.
+
+The example program is [@../../example/f_test.cpp f_test.cpp],
+program output has been deliberately made as similar as possible
+to the DATAPLOT output in the corresponding
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda359.htm
+NIST EngineeringStatistics Handbook example].
+
+We'll begin by defining the procedure to conduct the test:
+
+ void f_test(
+ double sd1, // Sample 1 std deviation
+ double sd2, // Sample 2 std deviation
+ double N1, // Sample 1 size
+ double N2, // Sample 2 size
+ double alpha) // Significance level
+ {
+
+The procedure begins by printing out a summary of our input data:
+
+ using namespace std;
+ using namespace boost::math;
+
+ // Print header:
+ cout <<
+ "____________________________________\n"
+ "F test for equal standard deviations\n"
+ "____________________________________\n\n";
+ cout << setprecision(5);
+ cout << "Sample 1:\n";
+ cout << setw(55) << left << "Number of Observations" << "= " << N1 << "\n";
+ cout << setw(55) << left << "Sample Standard Deviation" << "= " << sd1 << "\n\n";
+ cout << "Sample 2:\n";
+ cout << setw(55) << left << "Number of Observations" << "= " << N2 << "\n";
+ cout << setw(55) << left << "Sample Standard Deviation" << "= " << sd2 << "\n\n";
+
+The test statistic for an F-test is simply the ratio of the square of
+the two standard deviations:
+
+F = s[sub 1][super 2] / s[sub 2][super 2]
+
+where s[sub 1] is the standard deviation of the first sample and s[sub 2]
+is the standard deviation of the second sample. Or in code:
+
+ double F = (sd1 / sd2);
+ F *= F;
+ cout << setw(55) << left << "Test Statistic" << "= " << F << "\n\n";
+
+At this point a word of caution: the F distribution is asymmetric,
+so we have to be careful how we compute the tests, the following table
+summarises the options available:
+
+[table
+[[Hypothesis][Test]]
+[[The null-hypothesis: there is no difference in standard deviations (two sided test)]
+ [Reject if F <= F[sub (1-alpha/2; N1-1, N2-1)] or F >= F[sub (alpha/2; N1-1, N2-1)] ]]
+[[The alternative hypothesis: there is a difference in means (two sided test)]
+ [Reject if F[sub (1-alpha/2; N1-1, N2-1)] <= F <= F[sub (alpha/2; N1-1, N2-1)] ]]
+[[The alternative hypothesis: Standard deviation of sample 1 is greater
+than that of sample 2]
+ [Reject if F < F[sub (alpha; N1-1, N2-1)] ]]
+[[The alternative hypothesis: Standard deviation of sample 1 is less
+than that of sample 2]
+ [Reject if F > F[sub (1-alpha; N1-1, N2-1)] ]]
+]
+
+Where F[sub (1-alpha; N1-1, N2-1)] is the lower critical value of the F distribution
+with degrees of freedom N1-1 and N2-1, and F[sub (alpha; N1-1, N2-1)] is the upper
+critical value of the F distribution with degrees of freedom N1-1 and N2-1.
+
+The upper and lower critical values can be computed using the quantile function:
+
+F[sub (1-alpha; N1-1, N2-1)] = `quantile(fisher_f(N1-1, N2-1), alpha)`
+
+F[sub (alpha; N1-1, N2-1)] = `quantile(complement(fisher_f(N1-1, N2-1), alpha))`
+
+In our example program we need both upper and lower critical values for alpha
+and for alpha/2:
+
+ double ucv = quantile(complement(dist, alpha));
+ double ucv2 = quantile(complement(dist, alpha / 2));
+ double lcv = quantile(dist, alpha);
+ double lcv2 = quantile(dist, alpha / 2);
+ cout << setw(55) << left << "Upper Critical Value at alpha: " << "= "
+ << setprecision(3) << scientific << ucv << "\n";
+ cout << setw(55) << left << "Upper Critical Value at alpha/2: " << "= "
+ << setprecision(3) << scientific << ucv2 << "\n";
+ cout << setw(55) << left << "Lower Critical Value at alpha: " << "= "
+ << setprecision(3) << scientific << lcv << "\n";
+ cout << setw(55) << left << "Lower Critical Value at alpha/2: " << "= "
+ << setprecision(3) << scientific << lcv2 << "\n\n";
+
+The final step is to perform the comparisons given above, and print
+out whether the hypothesis is rejected or not:
+
+ cout << setw(55) << left <<
+ "Results for Alternative Hypothesis and alpha" << "= "
+ << setprecision(4) << fixed << alpha << "\n\n";
+ cout << "Alternative Hypothesis Conclusion\n";
+
+ cout << "Standard deviations are unequal (two sided test) ";
+ if((ucv2 < F) || (lcv2 > F))
+ cout << "ACCEPTED\n";
+ else
+ cout << "REJECTED\n";
+
+ cout << "Standard deviation 1 is less than standard deviation 2 ";
+ if(lcv > F)
+ cout << "ACCEPTED\n";
+ else
+ cout << "REJECTED\n";
+
+ cout << "Standard deviation 1 is greater than standard deviation 2 ";
+ if(ucv < F)
+ cout << "ACCEPTED\n";
+ else
+ cout << "REJECTED\n";
+ cout << endl << endl;
+
+Using the ceramic strength data as an example we get the following
+output:
+
+[pre
+'''F test for equal standard deviations
+____________________________________
+
+Sample 1:
+Number of Observations = 240
+Sample Standard Deviation = 65.549
+
+Sample 2:
+Number of Observations = 240
+Sample Standard Deviation = 61.854
+
+Test Statistic = 1.123
+
+CDF of test statistic: = 8.148e-001
+Upper Critical Value at alpha: = 1.238e+000
+Upper Critical Value at alpha/2: = 1.289e+000
+Lower Critical Value at alpha: = 8.080e-001
+Lower Critical Value at alpha/2: = 7.756e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard deviations are unequal (two sided test) REJECTED
+Standard deviation 1 is less than standard deviation 2 REJECTED
+Standard deviation 1 is greater than standard deviation 2 REJECTED'''
+]
+
+In this case we are unable to reject the null-hypothesis, and must instead
+reject the alternative hypothesis.
+
+By contrast let's see what happens when we use some different
+[@http://www.itl.nist.gov/div898/handbook/prc/section3/prc32.htm
+sample data]:, once again from the NIST Engineering Statistics Handbook:
+A new procedure to assemble a device is introduced and tested for
+possible improvement in time of assembly. The question being addressed
+is whether the standard deviation of the new assembly process (sample 2) is
+better (i.e., smaller) than the standard deviation for the old assembly
+process (sample 1).
+
+[pre
+'''____________________________________
+F test for equal standard deviations
+____________________________________
+
+Sample 1:
+Number of Observations = 11.00000
+Sample Standard Deviation = 4.90820
+
+Sample 2:
+Number of Observations = 9.00000
+Sample Standard Deviation = 2.58740
+
+Test Statistic = 3.59847
+
+CDF of test statistic: = 9.589e-001
+Upper Critical Value at alpha: = 3.347e+000
+Upper Critical Value at alpha/2: = 4.295e+000
+Lower Critical Value at alpha: = 3.256e-001
+Lower Critical Value at alpha/2: = 2.594e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard deviations are unequal (two sided test) REJECTED
+Standard deviation 1 is less than standard deviation 2 REJECTED
+Standard deviation 1 is greater than standard deviation 2 ACCEPTED'''
+]
+
+In this case we take our null hypothesis as "standard deviation 1 is
+less than or equal to standard deviation 2", since this represents the "no change"
+situation. So we want to compare the upper critical value at /alpha/
+(a one sided test) with the test statistic, and since 3.35 < 3.6 this
+hypothesis must be rejected. We therefore conclude that there is a change
+for the better in our standard deviation.
+
+[endsect][/section:f_eg F Distribution]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/find_location_and_scale.qbk b/libs/math/doc/distributions/find_location_and_scale.qbk
new file mode 100644
index 0000000000..b722aec119
--- /dev/null
+++ b/libs/math/doc/distributions/find_location_and_scale.qbk
@@ -0,0 +1,39 @@
+[section:find_eg Find Location and Scale Examples]
+
+[section:find_location_eg Find Location (Mean) Example]
+[import ../../example/find_location_example.cpp]
+[find_location1]
+[find_location2]
+See [@../../example/find_location_example.cpp find_location_example.cpp]
+for full source code: the program output looks like this:
+[find_location_example_output]
+[endsect] [/section:find_location_eg Find Location (Mean) Example]
+
+[section:find_scale_eg Find Scale (Standard Deviation) Example]
+[import ../../example/find_scale_example.cpp]
+[find_scale1]
+[find_scale2]
+See [@../../example/find_scale_example.cpp find_scale_example.cpp]
+for full source code: the program output looks like this:
+[find_scale_example_output]
+[endsect] [/section:find_scale_eg Scale (Standard Deviation) Example]
+[section:find_mean_and_sd_eg Find mean and standard deviation example]
+
+[import ../../example/find_mean_and_sd_normal.cpp]
+[normal_std]
+[normal_find_location_and_scale_eg]
+See [@../../example/find_mean_and_sd_normal.cpp find_mean_and_sd_normal.cpp]
+for full source code & appended program output.
+[endsect] [/find_mean_and_sd_eg Find mean and standard deviation example]
+
+[endsect] [/section:find_eg Find Location and Scale Examples]
+
+
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/fisher.qbk b/libs/math/doc/distributions/fisher.qbk
new file mode 100644
index 0000000000..f09388d2b2
--- /dev/null
+++ b/libs/math/doc/distributions/fisher.qbk
@@ -0,0 +1,190 @@
+[section:f_dist F Distribution]
+
+``#include <boost/math/distributions/fisher_f.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class fisher_f_distribution;
+
+ typedef fisher_f_distribution<> fisher_f;
+
+ template <class RealType, class ``__Policy``>
+ class fisher_f_distribution
+ {
+ public:
+ typedef RealType value_type;
+
+ // Construct:
+ fisher_f_distribution(const RealType& i, const RealType& j);
+
+ // Accessors:
+ RealType degrees_of_freedom1()const;
+ RealType degrees_of_freedom2()const;
+ };
+
+ }} //namespaces
+
+The F distribution is a continuous distribution that arises when testing
+whether two samples have the same variance. If [chi][super 2][sub m][space] and
+[chi][super 2][sub n][space] are independent variates each distributed as
+Chi-Squared with /m/ and /n/ degrees of freedom, then the test statistic:
+
+F[sub n,m][space] = ([chi][super 2][sub n][space] / n) / ([chi][super 2][sub m][space] / m)
+
+Is distributed over the range \[0, [infin]\] with an F distribution, and
+has the PDF:
+
+[equation fisher_pdf]
+
+The following graph illustrates how the PDF varies depending on the
+two degrees of freedom parameters.
+
+[graph fisher_f_pdf]
+
+
+[h4 Member Functions]
+
+ fisher_f_distribution(const RealType& df1, const RealType& df2);
+
+Constructs an F-distribution with numerator degrees of freedom /df1/
+and denominator degrees of freedom /df2/.
+
+Requires that /df1/ and /df2/ are both greater than zero, otherwise __domain_error
+is called.
+
+ RealType degrees_of_freedom1()const;
+
+Returns the numerator degrees of freedom parameter of the distribution.
+
+ RealType degrees_of_freedom2()const;
+
+Returns the denominator degrees of freedom parameter of the distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0, +[infin]\].
+
+[h4 Examples]
+
+Various [link math_toolkit.stat_tut.weg.f_eg worked examples] are
+available illustrating the use of the F Distribution.
+
+[h4 Accuracy]
+
+The normal distribution is implemented in terms of the
+[link math_toolkit.sf_beta.ibeta_function incomplete beta function]
+and its [link math_toolkit.sf_beta.ibeta_inv_function inverses],
+refer to those functions for accuracy data.
+
+[h4 Implementation]
+
+In the following table /v1/ and /v2/ are the first and second
+degrees of freedom parameters of the distribution,
+/x/ is the random variate, /p/ is the probability, and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][The usual form of the PDF is given by:
+
+[equation fisher_pdf]
+
+However, that form is hard to evaluate directly without incurring problems with
+either accuracy or numeric overflow.
+
+Direct differentiation of the CDF expressed in terms of the incomplete beta function
+
+led to the following two formulas:
+
+f[sub v1,v2](x) = y * __ibeta_derivative(v2 \/ 2, v1 \/ 2, v2 \/ (v2 + v1 * x))
+
+with y = (v2 * v1) \/ ((v2 + v1 * x) * (v2 + v1 * x))
+
+and
+
+f[sub v1,v2](x) = y * __ibeta_derivative(v1 \/ 2, v2 \/ 2, v1 * x \/ (v2 + v1 * x))
+
+with y = (z * v1 - x * v1 * v1) \/ z[super 2]
+
+and z = v2 + v1 * x
+
+The first of these is used for v1 * x > v2, otherwise the second is used.
+
+The aim is to keep the /x/ argument to __ibeta_derivative away from 1 to avoid
+rounding error. ]]
+[[cdf][Using the relations:
+
+p = __ibeta(v1 \/ 2, v2 \/ 2, v1 * x \/ (v2 + v1 * x))
+
+and
+
+p = __ibetac(v2 \/ 2, v1 \/ 2, v2 \/ (v2 + v1 * x))
+
+The first is used for v1 * x > v2, otherwise the second is used.
+
+The aim is to keep the /x/ argument to __ibeta well away from 1 to
+avoid rounding error. ]]
+
+[[cdf complement][Using the relations:
+
+p = __ibetac(v1 \/ 2, v2 \/ 2, v1 * x \/ (v2 + v1 * x))
+
+and
+
+p = __ibeta(v2 \/ 2, v1 \/ 2, v2 \/ (v2 + v1 * x))
+
+The first is used for v1 * x < v2, otherwise the second is used.
+
+The aim is to keep the /x/ argument to __ibeta well away from 1 to
+avoid rounding error. ]]
+[[quantile][Using the relation:
+
+x = v2 * a \/ (v1 * b)
+
+where:
+
+a = __ibeta_inv(v1 \/ 2, v2 \/ 2, p)
+
+and
+
+b = 1 - a
+
+Quantities /a/ and /b/ are both computed by __ibeta_inv without the
+subtraction implied above.]]
+[[quantile
+
+from the complement][Using the relation:
+
+x = v2 * a \/ (v1 * b)
+
+where
+
+a = __ibetac_inv(v1 \/ 2, v2 \/ 2, p)
+
+and
+
+b = 1 - a
+
+Quantities /a/ and /b/ are both computed by __ibetac_inv without the
+subtraction implied above.]]
+[[mean][v2 \/ (v2 - 2)]]
+[[variance][2 * v2[super 2 ] * (v1 + v2 - 2) \/ (v1 * (v2 - 2) * (v2 - 2) * (v2 - 4))]]
+[[mode][v2 * (v1 - 2) \/ (v1 * (v2 + 2))]]
+[[skewness][2 * (v2 + 2 * v1 - 2) * sqrt((2 * v2 - 8) \/ (v1 * (v2 + v1 - 2))) \/ (v2 - 6)]]
+[[kurtosis and kurtosis excess]
+ [Refer to, [@http://mathworld.wolfram.com/F-Distribution.html
+ Weisstein, Eric W. "F-Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+]
+
+[endsect][/section:f_dist F distribution]
+
+[/ fisher.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/gamma.qbk b/libs/math/doc/distributions/gamma.qbk
new file mode 100644
index 0000000000..11b2be3e93
--- /dev/null
+++ b/libs/math/doc/distributions/gamma.qbk
@@ -0,0 +1,139 @@
+[section:gamma_dist Gamma (and Erlang) Distribution]
+
+``#include <boost/math/distributions/gamma.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class gamma_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ gamma_distribution(RealType shape, RealType scale = 1)
+
+ RealType shape()const;
+ RealType scale()const;
+ };
+
+ }} // namespaces
+
+The gamma distribution is a continuous probability distribution.
+When the shape parameter is an integer then it is known as the
+Erlang Distribution. It is also closely related to the Poisson
+and Chi Squared Distributions.
+
+When the shape parameter has an integer value, the distribution is the
+[@http://en.wikipedia.org/wiki/Erlang_distribution Erlang distribution].
+Since this can be produced by ensuring that the shape parameter has an
+integer value > 0, the Erlang distribution is not separately implemented.
+
+[note
+To avoid potential confusion with the gamma functions, this
+distribution does not provide the typedef:
+
+``typedef gamma_distribution<double> gamma;``
+
+Instead if you want a double precision gamma distribution you can write
+
+``boost::math::gamma_distribution<> my_gamma(1, 1);``
+]
+
+For shape parameter /k/ and scale parameter [theta][space] it is defined by the
+probability density function:
+
+[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:
+
+[equation gamma_dist_ref2]
+
+In this form the inverse scale parameter is called a /rate parameter/.
+
+Both forms are in common usage: this library uses the first definition
+throughout. Therefore to construct a Gamma Distribution from a ['rate
+parameter], you should pass the reciprocal of the rate as the scale parameter.
+
+The following two graphs illustrate how the PDF of the gamma distribution
+varies as the parameters vary:
+
+[graph gamma1_pdf]
+
+[graph gamma2_pdf]
+
+The [*Erlang Distribution] is the same as the Gamma, but with the shape parameter
+an integer. It is often expressed using a /rate/ rather than a /scale/ as the
+second parameter (remember that the rate is the reciprocal of the scale).
+
+Internally the functions used to implement the Gamma Distribution are
+already optimised for small-integer arguments, so in general there should
+be no great loss of performance from using a Gamma Distribution rather than
+a dedicated Erlang Distribution.
+
+[h4 Member Functions]
+
+ gamma_distribution(RealType shape, RealType scale = 1);
+
+Constructs a gamma distribution with shape /shape/ and
+scale /scale/.
+
+Requires that the shape and scale parameters are greater than zero, otherwise calls
+__domain_error.
+
+ RealType shape()const;
+
+Returns the /shape/ parameter of this distribution.
+
+ RealType scale()const;
+
+Returns the /scale/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0,+[infin]\].
+
+[h4 Accuracy]
+
+The lognormal distribution is implemented in terms of the
+incomplete gamma functions __gamma_p and __gamma_q and their
+inverses __gamma_p_inv and __gamma_q_inv: refer to the accuracy
+data for those functions for more information.
+
+[h4 Implementation]
+
+In the following table /k/ is the shape parameter of the distribution,
+[theta][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
+and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = __gamma_p_derivative(k, x / [theta]) / [theta] ]]
+[[cdf][Using the relation: p = __gamma_p(k, x / [theta]) ]]
+[[cdf complement][Using the relation: q = __gamma_q(k, x / [theta]) ]]
+[[quantile][Using the relation: x = [theta][space]* __gamma_p_inv(k, p) ]]
+[[quantile from the complement][Using the relation: x = [theta][space]* __gamma_q_inv(k, p) ]]
+[[mean][k[theta] ]]
+[[variance][k[theta][super 2] ]]
+[[mode][(k-1)[theta][space] for ['k>1] otherwise a __domain_error ]]
+[[skewness][2 / sqrt(k) ]]
+[[kurtosis][3 + 6 / k]]
+[[kurtosis excess][6 / k ]]
+]
+
+[endsect][/section:gamma_dist Gamma (and Erlang) Distribution]
+
+
+[/
+ Copyright 2006, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/geometric.qbk b/libs/math/doc/distributions/geometric.qbk
new file mode 100644
index 0000000000..5129b4516f
--- /dev/null
+++ b/libs/math/doc/distributions/geometric.qbk
@@ -0,0 +1,350 @@
+[section:geometric_dist Geometric Distribution]
+
+``#include <boost/math/distributions/geometric.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class geometric_distribution;
+
+ typedef geometric_distribution<> geometric;
+
+ template <class RealType, class ``__Policy``>
+ class geometric_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Constructor from success_fraction:
+ geometric_distribution(RealType p);
+
+ // Parameter accessors:
+ RealType success_fraction() const;
+ RealType successes() const;
+
+ // Bounds on success fraction:
+ static RealType find_lower_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType probability); // alpha
+ static RealType find_upper_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType probability); // alpha
+
+ // Estimate min/max number of trials:
+ static RealType find_minimum_number_of_trials(
+ RealType k, // Number of failures.
+ RealType p, // Success fraction.
+ RealType probability); // Probability threshold alpha.
+ static RealType find_maximum_number_of_trials(
+ RealType k, // Number of failures.
+ RealType p, // Success fraction.
+ RealType probability); // Probability threshold alpha.
+ };
+
+ }} // namespaces
+
+The class type `geometric_distribution` represents a
+[@http://en.wikipedia.org/wiki/geometric_distribution geometric distribution]:
+it is used when there are exactly two mutually exclusive outcomes of a
+[@http://en.wikipedia.org/wiki/Bernoulli_trial Bernoulli trial]:
+these outcomes are labelled "success" and "failure".
+
+For [@http://en.wikipedia.org/wiki/Bernoulli_trial Bernoulli trials]
+each with success fraction /p/, the geometric distribution gives
+the probability of observing /k/ trials (failures, events, occurrences, or arrivals)
+before the first success.
+
+[note For this implementation, the set of trials *includes zero*
+(unlike another definition where the set of trials starts at one, sometimes named /shifted/).]
+The geometric distribution assumes that success_fraction /p/ is fixed for all /k/ trials.
+
+The probability that there are /k/ failures before the first success is
+
+__spaces Pr(Y=/k/) = (1-/p/)[super /k/]/p/
+
+For example, when throwing a 6-face dice the success probability /p/ = 1/6 = 0.1666[recur][space].
+Throwing repeatedly until a /three/ appears,
+the probability distribution of the number of times /not-a-three/ is thrown
+is geometric.
+
+Geometric distribution has the Probability Density Function PDF:
+
+__spaces (1-/p/)[super /k/]/p/
+
+The following graph illustrates how the PDF and CDF vary for three examples
+of the success fraction /p/,
+(when considering the geometric distribution as a continuous function),
+
+[graph geometric_pdf_2]
+
+[graph geometric_cdf_2]
+
+and as discrete.
+
+[graph geometric_pdf_discrete]
+
+[graph geometric_cdf_discrete]
+
+
+[h4 Related Distributions]
+
+The geometric distribution is a special case of
+the __negative_binomial_distrib with successes parameter /r/ = 1,
+so only one first and only success is required : thus by definition
+__spaces `geometric(p) == negative_binomial(1, p)`
+
+ negative_binomial_distribution(RealType r, RealType success_fraction);
+ negative_binomial nb(1, success_fraction);
+ geometric g(success_fraction);
+ ASSERT(pdf(nb, 1) == pdf(g, 1));
+
+This implementation uses real numbers for the computation throughout
+(because it uses the *real-valued* power and exponential functions).
+So to obtain a conventional strictly-discrete geometric distribution
+you must ensure that an integer value is provided for the number of trials
+(random variable) /k/,
+and take integer values (floor or ceil functions) from functions that return
+a number of successes.
+
+[discrete_quantile_warning geometric]
+
+[h4 Member Functions]
+
+[h5 Constructor]
+
+ geometric_distribution(RealType p);
+
+Constructor: /p/ or success_fraction is the probability of success of a single trial.
+
+Requires: `0 <= p <= 1`.
+
+[h5 Accessors]
+
+ RealType success_fraction() const; // successes / trials (0 <= p <= 1)
+
+Returns the success_fraction parameter /p/ from which this distribution was constructed.
+
+ RealType successes() const; // required successes always one,
+ // included for compatibility with negative binomial distribution
+ // with successes r == 1.
+
+Returns unity.
+
+The following functions are equivalent to those provided for the negative binomial,
+with successes = 1, but are provided here for completeness.
+
+The best method of calculation for the following functions is disputed:
+see __binomial_distrib and __negative_binomial_distrib for more discussion.
+
+[h5 Lower Bound on success_fraction Parameter ['p]]
+
+ static RealType find_lower_bound_on_p(
+ RealType failures,
+ RealType probability) // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
+
+Returns a *lower bound* on the success fraction:
+
+[variablelist
+[[failures][The total number of failures before the 1st success.]]
+[[alpha][The largest acceptable probability that the true value of
+ the success fraction is [*less than] the value returned.]]
+]
+
+For example, if you observe /k/ failures from /n/ trials
+the best estimate for the success fraction is simply 1/['n], but if you
+want to be 95% sure that the true value is [*greater than] some value,
+['p[sub min]], then:
+
+ p``[sub min]`` = geometric_distribution<RealType>::
+ find_lower_bound_on_p(failures, 0.05);
+
+[link math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative_binomial confidence interval example.]
+
+This function uses the Clopper-Pearson method of computing the lower bound on the
+success fraction, whilst many texts refer to this method as giving an "exact"
+result in practice it produces an interval that guarantees ['at least] the
+coverage required, and may produce pessimistic estimates for some combinations
+of /failures/ and /successes/. See:
+
+[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
+Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
+Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
+
+[h5 Upper Bound on success_fraction Parameter p]
+
+ static RealType find_upper_bound_on_p(
+ RealType trials,
+ RealType alpha); // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
+
+Returns an *upper bound* on the success fraction:
+
+[variablelist
+[[trials][The total number of trials conducted.]]
+[[alpha][The largest acceptable probability that the true value of
+ the success fraction is [*greater than] the value returned.]]
+]
+
+For example, if you observe /k/ successes from /n/ trials the
+best estimate for the success fraction is simply ['k/n], but if you
+want to be 95% sure that the true value is [*less than] some value,
+['p[sub max]], then:
+
+ p``[sub max]`` = geometric_distribution<RealType>::find_upper_bound_on_p(
+ k, 0.05);
+
+[link math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative binomial confidence interval example.]
+
+This function uses the Clopper-Pearson method of computing the lower bound on the
+success fraction, whilst many texts refer to this method as giving an "exact"
+result in practice it produces an interval that guarantees ['at least] the
+coverage required, and may produce pessimistic estimates for some combinations
+of /failures/ and /successes/. See:
+
+[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
+Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
+Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
+
+[h5 Estimating Number of Trials to Ensure at Least a Certain Number of Failures]
+
+ static RealType find_minimum_number_of_trials(
+ RealType k, // number of failures.
+ RealType p, // success fraction.
+ RealType alpha); // probability threshold (0.05 equivalent to 95%).
+
+This functions estimates the number of trials required to achieve a certain
+probability that [*more than ['k] failures will be observed].
+
+[variablelist
+[[k][The target number of failures to be observed.]]
+[[p][The probability of ['success] for each trial.]]
+[[alpha][The maximum acceptable ['risk] that only ['k] failures or fewer will be observed.]]
+]
+
+For example:
+
+ geometric_distribution<RealType>::find_minimum_number_of_trials(10, 0.5, 0.05);
+
+Returns the smallest number of trials we must conduct to be 95% (1-0.05) sure
+of seeing 10 failures that occur with frequency one half.
+
+[link math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_size_eg Worked Example.]
+
+This function uses numeric inversion of the geometric distribution
+to obtain the result: another interpretation of the result is that it finds
+the number of trials (failures) that will lead to an /alpha/ probability
+of observing /k/ failures or fewer.
+
+[h5 Estimating Number of Trials to Ensure a Maximum Number of Failures or Less]
+
+ static RealType find_maximum_number_of_trials(
+ RealType k, // number of failures.
+ RealType p, // success fraction.
+ RealType alpha); // probability threshold (0.05 equivalent to 95%).
+
+This functions estimates the maximum number of trials we can conduct and achieve
+a certain probability that [*k failures or fewer will be observed].
+
+[variablelist
+[[k][The maximum number of failures to be observed.]]
+[[p][The probability of ['success] for each trial.]]
+[[alpha][The maximum acceptable ['risk] that more than ['k] failures will be observed.]]
+]
+
+For example:
+
+ geometric_distribution<RealType>::find_maximum_number_of_trials(0, 1.0-1.0/1000000, 0.05);
+
+Returns the largest number of trials we can conduct and still be 95% sure
+of seeing no failures that occur with frequency one in one million.
+
+This function uses numeric inversion of the geometric distribution
+to obtain the result: another interpretation of the result, is that it finds
+the number of trials that will lead to an /alpha/ probability
+of observing more than k failures.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+However it's worth taking a moment to define what these actually mean in
+the context of this distribution:
+
+[table Meaning of the non-member accessors.
+[[Function][Meaning]]
+[[__pdf]
+ [The probability of obtaining [*exactly k failures] from /k/ trials
+ with success fraction p. For example:
+
+``pdf(geometric(p), k)``]]
+[[__cdf]
+ [The probability of obtaining [*k failures or fewer] from /k/ trials
+ with success fraction p and success on the last trial. For example:
+
+``cdf(geometric(p), k)``]]
+[[__ccdf]
+ [The probability of obtaining [*more than k failures] from /k/ trials
+ with success fraction p and success on the last trial. For example:
+
+``cdf(complement(geometric(p), k))``]]
+[[__quantile]
+ [The [*greatest] number of failures /k/ expected to be observed from /k/ trials
+ with success fraction /p/, at probability /P/. Note that the value returned
+ is a real-number, and not an integer. Depending on the use case you may
+ want to take either the floor or ceiling of the real result. For example:
+``quantile(geometric(p), P)``]]
+[[__quantile_c]
+ [The [*smallest] number of failures /k/ expected to be observed from /k/ trials
+ with success fraction /p/, at probability /P/. Note that the value returned
+ is a real-number, and not an integer. Depending on the use case you may
+ want to take either the floor or ceiling of the real result. For example:
+ ``quantile(complement(geometric(p), P))``]]
+]
+
+[h4 Accuracy]
+
+This distribution is implemented using the pow and exp functions, so most results
+are accurate within a few epsilon for the RealType.
+For extreme values of `double` /p/, for example 0.9999999999,
+accuracy can fall significantly, for example to 10 decimal digits (from 16).
+
+[h4 Implementation]
+
+In the following table, /p/ is the probability that any one trial will
+be successful (the success fraction), /k/ is the number of failures,
+/p/ is the probability and /q = 1-p/,
+/x/ is the given probability to estimate
+the expected number of failures using the quantile.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][pdf = p * pow(q, k)]]
+[[cdf][cdf = 1 - q[super k=1]]]
+[[cdf complement][exp(log1p(-p) * (k+1))]]
+[[quantile][k = log1p(-x) / log1p(-p) -1]]
+[[quantile from the complement][k = log(x) / log1p(-p) -1]]
+[[mean][(1-p)/p]]
+[[variance][(1-p)/p[sup2]]]
+[[mode][0]]
+[[skewness][(2-p)/[sqrt]q]]
+[[kurtosis][9+p[sup2]/q]]
+[[kurtosis excess][6 +p[sup2]/q]]
+[[parameter estimation member functions][See __negative_binomial_distrib]]
+[[`find_lower_bound_on_p`][See __negative_binomial_distrib]]
+[[`find_upper_bound_on_p`][See __negative_binomial_distrib]]
+[[`find_minimum_number_of_trials`][See __negative_binomial_distrib]]
+[[`find_maximum_number_of_trials`][See __negative_binomial_distrib]]
+]
+
+[endsect][/section:geometric_dist geometric]
+
+[/ geometric.qbk
+ Copyright 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/geometric_example.qbk b/libs/math/doc/distributions/geometric_example.qbk
new file mode 100644
index 0000000000..9405648021
--- /dev/null
+++ b/libs/math/doc/distributions/geometric_example.qbk
@@ -0,0 +1,20 @@
+[section:geometric_eg Geometric Distribution Examples]
+
+[import ../../example/geometric_examples.cpp]
+[geometric_eg1_1]
+[geometric_eg1_2]
+
+See full source C++ of this example at
+[@../../example/geometric_examples.cpp geometric_examples.cpp]
+
+[link math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative_binomial confidence interval example.]
+
+[endsect] [/section:geometric_eg Geometric Distribution Examples]
+
+[/ geometric.qbk
+ Copyright 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/hyperexponential.qbk b/libs/math/doc/distributions/hyperexponential.qbk
new file mode 100644
index 0000000000..1dfdb90765
--- /dev/null
+++ b/libs/math/doc/distributions/hyperexponential.qbk
@@ -0,0 +1,506 @@
+[section:hyperexponential_dist Hyperexponential Distribution]
+
+[import ../../example/hyperexponential_snips.cpp]
+[import ../../example/hyperexponential_more_snips.cpp]
+
+``#include <boost/math/distributions/hyperexponential.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <typename RealType = double,
+ typename ``__Policy`` = ``__policy_class`` >
+ class hyperexponential_distribution;
+
+ typedef hyperexponential_distribution<> hyperexponential;
+
+ template <typename RealType, typename ``__Policy``>
+ class hyperexponential_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ // Constructors:
+ hyperexponential_distribution(); // Default.
+
+ template <typename RateIterT, typename RateIterT2>
+ hyperexponential_distribution( // Default equal probabilities.
+ RateIterT const& rate_first,
+ RateIterT2 const& rate_last); // Rates using Iterators.
+
+ template <typename ProbIterT, typename RateIterT>
+ hyperexponential_distribution(ProbIterT prob_first, ProbIterT prob_last,
+ RateIterT rate_first, RateIterT rate_last); // Iterators.
+
+ template <typename ProbRangeT, typename RateRangeT>
+ hyperexponential_distribution(ProbRangeT const& prob_range,
+ RateRangeT const& rate_range); // Ranges.
+
+ template <typename RateRangeT>
+ hyperexponential_distribution(RateRangeT const& rate_range);
+
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) // C++11 initializer lists supported.
+ hyperexponential_distribution(std::initializer_list<RealType> l1, std::initializer_list<RealType> l2);
+ hyperexponential_distribution(std::initializer_list<RealType> l1);
+ #endif
+
+ // Accessors:
+ std::size_t num_phases() const;
+ std::vector<RealType> probabilities() const;
+ std::vector<RealType> rates() const;
+ };
+
+ }} // namespaces
+
+[note An implementation-defined mechanism is provided to avoid
+ambiguity between constructors accepting ranges, iterators and constants as parameters.
+This should be transparent to the user.
+See below and the header file hyperexponential.hpp for details and explanatory comments.]
+
+The class type `hyperexponential_distribution` represents a [@http://en.wikipedia.org/wiki/Hyperexponential_distribution hyperexponential distribution].
+
+A /k/-phase hyperexponential distribution is a [@http://en.wikipedia.org/wiki/Continuous_probability_distribution continuous probability distribution] obtained as a mixture of /k/ [link math_toolkit.dist_ref.dists.exp_dist Exponential Distribution]s.
+It is also referred to as /mixed exponential distribution/ or parallel /k-phase exponential distribution/.
+
+A /k/-phase hyperexponential distribution is characterized by two parameters, namely a /phase probability vector/ ['[*[alpha]]=([alpha][sub 1],...,[alpha][sub k])] and a /rate vector/ ['[*[lambda]]=([lambda][sub 1],...,[lambda][sub k])].
+
+The [@http://en.wikipedia.org/wiki/Probability_density_function probability density function] for random variate /x/ in a hyperexponential distribution is given by:
+
+[equation hyperexponential_pdf]
+
+The following graph illustrates the PDF of the hyperexponential distribution with five different parameters, namely:
+
+# ['[*[alpha]]=(1.0)] and ['[*[lambda]]=(1.0)] (which degenerates to a simple exponential distribution),
+# ['[*[alpha]]=(0.1, 0.9)] and ['[*[lambda]]=(0.5, 1.5)],
+# ['[*[alpha]]=(0.9, 0.1)] and ['[*[lambda]]=(0.5, 1.5)],
+# ['[*[alpha]]=(0.2, 0.3, 0.5)] and ['[*[lambda]]=(0.5, 1.0, 1.5)],
+# ['[*[alpha]]=(0.5, 0.3, 0.2)] and ['[*[lambda]]=(0.5, 1.0, 1.5)].
+
+[graph hyperexponential_pdf]
+
+Also, the following graph illustrates the PDF of the hyperexponential distribution (solid lines) where only the /phase probability vector/ changes together with the PDF of the two limiting exponential distributions (dashed lines):
+
+# ['[*[alpha]]=(0.1, 0.9)] and ['[*[lambda]]=(0.5, 1.5)],
+# ['[*[alpha]]=(0.6, 0.4)] and ['[*[lambda]]=(0.5, 1.5)],
+# ['[*[alpha]]=(0.9, 0.1)] and ['[*[lambda]]=(0.5, 1.5)],
+# Exponential distribution with parameter ['[lambda]=0.5],
+# Exponential distribution with parameter ['[lambda]=1.5].
+
+As expected, as the first element ['[alpha][sub 1]] of the /phase probability vector/ approaches to /1/ (or, equivalently, ['[alpha][sub 2]] approaches to /0/), the resulting hyperexponential distribution nears the exponential distribution with parameter ['[lambda]=0.5].
+Conversely, as the first element ['[alpha][sub 2]] of the /phase probability vector/ approaches to /1/ (or, equivalently, ['[alpha][sub 1]] approaches to /0/), the resulting hyperexponential distribution nears the exponential distribution with parameter ['[lambda]=1.5].
+
+[graph hyperexponential_pdf_samerate]
+
+Finally, the following graph compares the PDF of the hyperexponential distribution with different number of phases but with the same mean value equal to /2/:
+
+# ['[*[alpha]]=(1.0)] and ['[*[lambda]]=(2.0)] (which degenerates to a simple exponential distribution),
+# ['[*[alpha]]=(0.5, 0.5)] and ['[*[lambda]]=(0.3, 1.5)],
+# ['[*[alpha]]=(1.0/3.0, 1.0/3.0, 1.0/3.0)] and ['[*[lambda]]=(0.2, 1.5, 3.0)],
+
+[graph hyperexponential_pdf_samemean]
+
+As can be noted, even if the three distributions have the same mean value, the two hyperexponential distributions have a /longer/ tail with respect to the one of the exponential distribution.
+Indeed, the hyperexponential distribution has a larger variability than the exponential distribution, thus resulting in a [@http://en.wikipedia.org/wiki/Coefficient_of_variation Coefficient of Variation] greater than /1/ (as opposed to the one of the exponential distribution which is exactly /1/).
+
+[h3 Applications]
+
+A /k/-phase hyperexponential distribution is frequently used in [@http://en.wikipedia.org/wiki/Queueing_theory queueing theory] to model the distribution of the superposition of /k/ independent events, like, for instance, the service time distribution of a queueing station with /k/ servers in parallel where the /i/-th server is chosen with probability ['[alpha][sub i]] and its service time distribution is an exponential distribution with rate ['[lambda][sub i]] (Allen,1990; Papadopolous et al.,1993; Trivedi,2002).
+
+For instance, CPUs service-time distribution in a computing system has often been observed to possess such a distribution (Rosin,1965).
+Also, the arrival of different types of customer to a single queueing station is often modeled as a hyperexponential distribution (Papadopolous et al.,1993).
+Similarly, if a product manufactured in several parallel assemply lines and the outputs are merged, the failure density of the overall product is likely to be hyperexponential (Trivedi,2002).
+
+Finally, since the hyperexponential distribution exhibits a high Coefficient of Variation (CoV), that is a CoV > 1, it is especially suited to fit empirical data with large CoV (Feitelson,2014; Wolski et al.,2013) and to approximate [@http://en.wikipedia.org/wiki/Long_tail long-tail probability distributions] (Feldmann et al.,1998).
+
+[/ Another possible example (work in progress):
+For instance, suppose that at the airport the company Foobar Airlines has a help desk with 3 different windows (servers) such that window A is for regional flights, window B is for international flights and window C is general customer care.
+From previous studies, it has been observed that each window is able to serve requests with the following timings:
+- window W1: 20 minutes, on average,
+- window W2: 30 minutes, on average, and
+- window W3: 10 minutes, on average.
+
+Furthermore, another airline company has a help desk with a single window.
+It has been observed that to the window can arrive three types of customers:
+- customer C1 (e.g., premium customer):
+- customer C2 (e.g., business customer):
+- customer C3 (e.g., regular customer):
+]
+
+[h3 Related distributions]
+
+* When the number of phases /k/ is equal to `1`, the hyperexponential distribution is simply an __exp_distrib.
+* When the /k/ rates are all equal to ['[lambda]], the hyperexponential distribution is simple an __exp_distrib with rate ['[lambda]].
+
+[h3 Examples]
+
+[h4 Lifetime of Appliances]
+
+Suppose a customer is buying an appliance and is choosing at random between an appliance with average lifetime of 10 years and an appliance with average lifetime of 12 years.
+Assuming the lifetime of this appliance follows an exponential distribution, the lifetime distribution of the purchased appliance can be modeled as a hyperexponential distribution with
+phase probability vector ['[*[alpha]]=(1/2,1/2)] and rate vector ['[*[lambda]]=(1/10,1/12)] (Wolfram,2014).
+
+In the rest of this section, we provide an example C++ implementation for computing the average lifetime and the probability that the appliance will work for more than 15 years.
+
+[hyperexponential_snip1]
+
+The resulting output is:
+
+ Average lifetime: 11 years
+ Probability that the appliance will work for more than 15 years: 0.254817
+
+
+[h4 Workloads of Private Cloud Computing Systems]
+
+[@http://en.wikipedia.org/wiki/Cloud_computing Cloud computing] has become a popular metaphor for dynamic and secure self-service access to computational and storage capabilities.
+In (Wolski et al.,2013), the authors analyze and model workloads gathered from enterprise-operated commercial [@http://en.wikipedia.org/wiki/Cloud_computing#Private_cloud private clouds] and show that 3-phase hyperexponential distributions (fitted using the [@http://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm Expectation Maximization algorithm]) capture workload attributes accurately.
+
+In this type of computing system, user requests consist in demanding the provisioning of one or more [@http://en.wikipedia.org/wiki/Virtual_machine Virtual Machines] (VMs).
+In particular, in (Wolski et al.,2013) the workload experienced by each cloud system is a function of four distributions, one for each of the following workload attributes:
+
+* /Request Interarrival Time/: the amount of time until the next request,
+* /VM Lifetime/: the time duration over which a VM is provisioned to a physical machine,
+* /Request Size/: the number of VMs in the request, and
+* /Core Count/: the CPU core count requested for each VM.
+
+The authors assume that all VMs in a request have the same core count, but request sizes and core counts can vary from request to request.
+Moreover, all VMs within a request are assumed to have the same lifetime.
+Given these assumptions, the authors build a statistical model for the request interarrival time and VM lifetime attributes by fitting their respective data to a 3-phase hyperexponential distribution.
+
+In the following table, we show the sample mean and standard deviation (SD), in seconds, of the request interarrival time and of the VM lifetime distributions of the three datasets collected by authors:
+
+[table
+[[Dataset][Mean Request Interarrival Time (SD)][Mean Multi-core VM Lifetime (SD)][Mean Single-core VM Lifetime (SD)]]
+[[DS1][2202.1 (2.2e+04)][257173 (4.6e+05)][28754.4 (1.6e+05)]]
+[[DS2][41285.7 (1.1e+05)][144669.0 (7.9e+05)][599815.0 (1.7e+06)]]
+[[DS3][11238.8 (3.0e+04)][30739.2 (1.6e+05)][44447.8 (2.2e+05)]]
+]
+
+Whereas in the following table we show the hyperexponential distribution parameters resulting from the fit:
+
+[table
+[[Dataset][Request Interarrival Time][Multi-core VM Lifetime][Single-core VM Lifetime]]
+[[DS1][['[*[alpha]]=(0.34561,0.08648,0.56791), [*[lambda]]=(0.008,0.00005,0.02894)]][['[*[alpha]]=(0.24667,0.37948,0.37385), [*[lambda]]=(0.00004,0.000002,0.00059)]][['[*[alpha]]=(0.09325,0.22251,0.68424), [*[lambda]]=(0.000003,0.00109,0.00109)]]]
+[[DS2][['[*[alpha]]=(0.38881,0.18227,0.42892), [*[lambda]]=(0.000006,0.05228,0.00081)]][['[*[alpha]]=(0.42093,0.43960,0.13947), [*[lambda]]=(0.00186,0.00008,0.0000008)]][['[*[alpha]]=(0.44885,0.30675,0.2444), [*[lambda]]=(0.00143,0.00005,0.0000004)]]]
+[[DS3][['[*[alpha]]=(0.39442,0.24644,0.35914), [*[lambda]]=(0.00030,0.00003,0.00257)]][['[*[alpha]]=(0.37621,0.14838,0.47541), [*[lambda]]=(0.00498,0.000005,0.00022)]][['[*[alpha]]=(0.34131,0.12544,0.53325), [*[lambda]]=(0.000297,0.000003,0.00410)]]]
+]
+
+In the rest of this section, we provide an example C++ implementation for computing some statistical properties of the fitted distributions for each of the analyzed dataset.
+
+[hyperexponential_more_snip1]
+
+The resulting output (with floating-point precision set to 2) is:
+
+ ### DS1
+ * Fitted Request Interarrival Time
+ - Mean (SD): 2.2e+03 (8.1e+03) seconds.
+ - 99th Percentile: 4.3e+04 seconds.
+ - Probability that a VM will arrive within 30 minutes: 0.84
+ - Probability that a VM will arrive after 1 hour: 0.092
+ * Fitted Multi-core VM Lifetime
+ - Mean (SD): 2e+05 (3.9e+05) seconds.
+ - 99th Percentile: 1.8e+06 seconds.
+ - Probability that a VM will last for less than 1 month: 1
+ - Probability that a VM will last for more than 3 months: 6.7e-08
+ * Fitted Single-core VM Lifetime
+ - Mean (SD): 3.2e+04 (1.4e+05) seconds.
+ - 99th Percentile: 7.4e+05 seconds.
+ - Probability that a VM will last for less than 1 month: 1
+ - Probability that a VM will last for more than 3 months: 6.9e-12
+ ### DS2
+ * Fitted Request Interarrival Time
+ - Mean (SD): 6.5e+04 (1.3e+05) seconds.
+ - 99th Percentile: 6.1e+05 seconds.
+ - Probability that a VM will arrive within 30 minutes: 0.52
+ - Probability that a VM will arrive after 1 hour: 0.4
+ * Fitted Multi-core VM Lifetime
+ - Mean (SD): 1.8e+05 (6.4e+05) seconds.
+ - 99th Percentile: 3.3e+06 seconds.
+ - Probability that a VM will last for less than 1 month: 0.98
+ - Probability that a VM will last for more than 3 months: 0.00028
+ * Fitted Single-core VM Lifetime
+ - Mean (SD): 6.2e+05 (1.6e+06) seconds.
+ - 99th Percentile: 8e+06 seconds.
+ - Probability that a VM will last for less than 1 month: 0.91
+ - Probability that a VM will last for more than 3 months: 0.011
+ ### DS3
+ * Fitted Request Interarrival Time
+ - Mean (SD): 9.7e+03 (2.2e+04) seconds.
+ - 99th Percentile: 1.1e+05 seconds.
+ - Probability that a VM will arrive within 30 minutes: 0.53
+ - Probability that a VM will arrive after 1 hour: 0.36
+ * Fitted Multi-core VM Lifetime
+ - Mean (SD): 3.2e+04 (1e+05) seconds.
+ - 99th Percentile: 5.4e+05 seconds.
+ - Probability that a VM will last for less than 1 month: 1
+ - Probability that a VM will last for more than 3 months: 1.9e-18
+ * Fitted Single-core VM Lifetime
+ - Mean (SD): 4.3e+04 (1.6e+05) seconds.
+ - 99th Percentile: 8.4e+05 seconds.
+ - Probability that a VM will last for less than 1 month: 1
+ - Probability that a VM will last for more than 3 months: 9.3e-12
+
+[note The above results differ from the ones shown in Tables III, V, and VII of (Wolski et al.,2013).
+We carefully double-checked them with Wolfram Mathematica 10, which confirmed our results.]
+
+
+[h3 Member Functions]
+
+[h4 Default Constructor]
+
+ hyperexponential_distribution();
+
+Constructs a /1/-phase hyperexponential distribution (i.e., an exponential distribution) with rate `1`.
+
+
+[h4 Constructor from Iterators]
+
+ template <typename ProbIterT, typename RateIterT>
+ hyperexponential_distribution(ProbIterT prob_first, ProbIterT prob_last,
+ RateIterT rate_first, RateIterT rate_last);
+
+Constructs a hyperexponential distribution with /phase probability vector/ parameter given
+by the range defined by \[`prob_first`, `prob_last`) iterator pair, and /rate vector/ parameter
+given by the range defined by the \[`rate_first`, `rate_last`) iterator pair.
+
+[h5 Parameters]
+
+* `prob_first`, `prob_last`: the range of non-negative real elements representing the phase probabilities; elements are normalized to sum to unity.
+* `rate_first`, `rate_last`: the range of positive elements representing the rates.
+
+[h5 Type Requirements]
+
+[itemized_list [`ProbIterT`, `RateIterT`: must meet the requirements of the [@http://en.cppreference.com/w/cpp/concept/InputIterator InputIterator] concept.]]
+
+[h5 Example]
+
+[hyperexponential_snip2]
+
+[h4 Construction from Ranges/Containers]
+
+ template <typename ProbRangeT, typename RateRangeT>
+ hyperexponential_distribution(ProbRangeT const& prob_range,
+ RateRangeT const& rate_range);
+
+Constructs a hyperexponential distribution with /phase probability vector/ parameter
+given by the range defined by `prob_range`, and /rate vector/ parameter given by the range defined by `rate_range`.
+
+[note As an implementation detail, this constructor uses Boost's
+[@http://www.boost.org/doc/libs/release/libs/core/doc/html/core/enable_if.html enable_if/disable_if mechanism] to
+disambiguage between this and other 2-argument constructors. Refer to the source code for more details.]
+
+[h5 Parameters]
+
+* `prob_range`: the range of non-negative real elements representing the phase probabilities; elements are normalized to sum to unity.
+* `rate_range`: the range of positive real elements representing the rates.
+
+[h5 Type Requirements]
+
+[itemized_list [`ProbRangeT`, `RateRangeT`: must meet the requirements of the [@http://www.boost.org/doc/libs/release/libs/range/doc/html/range/concepts.html Range] concept:
+that includes native C++ arrays, standard library containers, or a std::pair or iterators.]]
+
+[h5 Examples]
+
+[hyperexponential_snip3]
+
+[h4 Construction with rates-iterators (and all phase probablities equal)]
+
+ template <typename RateIterT, typename RateIterT2>
+ hyperexponential_distribution(RateIterT const& rate_first,
+ RateIterT2 const& rate_last);
+
+Constructs a hyperexponential distribution with /rate vector/ parameter given by the range defined by the
+\[`rate_first`, `rate_last`) iterator pair, and /phase probability vector/ set to the equal phase
+probabilities (i.e., to a vector of the same length `n` of the /rate vector/ and with each element set to `1.0/n`).
+
+[note As an implementation detail, this constructor uses Boost's
+[@http://www.boost.org/doc/libs/release/libs/core/doc/html/core/enable_if.html enable_if/disable_if mechanism] to
+disambiguage between this and other 2-argument constructors. Refer to the source code for more details.]
+
+[h5 Parameters]
+
+* `rate_first`, `rate_last`: the range of positive elements representing the rates.
+
+[h5 Type Requirements]
+
+[itemized_list [`RateIterT`, `RateIterT2`: must meet the requirements of the [@http://en.cppreference.com/w/cpp/concept/InputIterator InputIterator] concept.]]
+
+[h5 Example]
+
+[hyperexponential_snip4]
+
+[h4 Construction from a single range of rates (all phase probabilities will be equal)]
+
+ template <typename RateRangeT>
+ hyperexponential_distribution(RateRangeT const& rate_range);
+
+Constructs a hyperexponential distribution with /rate vector/ parameter given by the range defined by `rate_range`,
+and /phase probability vector/ set to the equal phase probabilities (i.e., to a vector of the same length
+`n` of the /rate vector/ and with each element set to `1.0/n`).
+
+[h5 Parameters]
+
+* `rate_range`: the range of positive real elements representing the rates.
+
+[h5 Type Requirements]
+
+[itemized_list [`RateRangeT`: must meet the requirements of the [@http://www.boost.org/doc/libs/release/libs/range/doc/html/range/concepts.html Range] concept: this includes
+native C++ array, standard library containers, and a `std::pair` of iterators.]]
+
+[h5 Examples]
+
+[hyperexponential_snip5]
+
+[h4 Construction from Initializer lists]
+
+ hyperexponential_distribution(std::initializer_list<RealType> l1, std::initializer_list<RealType> l2);
+
+Constructs a hyperexponential distribution with /phase probability vector/ parameter
+given by the [@http://en.cppreference.com/w/cpp/language/list_initialization brace-init-list] defined by `l1`,
+and /rate vector/ parameter given by the [@http://en.cppreference.com/w/cpp/language/list_initialization brace-init-list]
+defined by `l2`.
+
+[h5 Parameters]
+
+* `l1`: the brace-init-list of non-negative real elements representing the phase probabilities;
+elements are normalized to sum to unity.
+* `l2`: the brace-init-list of positive real elements representing the rates.
+
+The number of elements of the phase probabilities list and the rates list must be the same.
+
+[h5 Example]
+
+[hyperexponential_snip6]
+
+[h4 Construction from a single initializer list (all phase probabilities will be equal)]
+
+ hyperexponential_distribution(std::initializer_list<RealType> l1);
+
+Constructs a hyperexponential distribution with /rate vector/ parameter given by the
+[@http://en.cppreference.com/w/cpp/language/list_initialization brace-init-list] defined by `l1`, and
+/phase probability vector/ set to the equal phase probabilities (i.e., to a vector of the same length
+`n` of the /rate vector/ and with each element set to `1.0/n`).
+
+[h5 Parameters]
+
+* `l1`: the brace-init-list of non-negative real elements representing the phase probabilities; they are normalized to ensure that they sum to unity.
+
+[h5 Example]
+
+[hyperexponential_snip7]
+
+[h4 Accessors]
+
+ std::size_t num_phases() const;
+
+Gets the number of phases of this distribution (the size of both the rate and probability vectors).
+
+[h5 Return Value] An non-negative integer number representing the number of phases of this distribution.
+
+
+ std::vector<RealType> probabilities() const;
+
+Gets the /phase probability vector/ parameter of this distribution.
+
+[note The returned probabilities are the [*normalized] versions of the probability parameter values passed at construction time.]
+
+[h5 Return Value] A vector of non-negative real numbers representing the /phase probability vector/ parameter of this distribution.
+
+
+ std::vector<RealType> rates() const;
+
+Gets the /rate vector/ parameter of this distribution.
+
+[h5 Return Value] A vector of positive real numbers representing the /rate vector/ parameter of this distribution.
+
+[warning The return type of these functions is a vector-by-value. This is deliberate as we wish to hide the actual container
+used internally which may be subject to future changes (for example to facilitate vectorization of the cdf code etc).
+Users should note that some code that might otherwise have been expected to work does not.
+For example, an attempt to output the (normalized) probabilities:
+
+``
+std::copy(he.probabilities().begin(), he.probabilities().end(), std::ostream_iterator<double>(std::cout, " "));
+``
+
+fails at compile or runtime because iterator types are incompatible, but, for example,
+
+``
+std::cout << he.probabilities()[0] << ' ' << he.probabilities()[1] << std::endl;
+``
+
+outputs the expected values.
+
+In general if you want to access a member of the returned container, then assign to a variable first, and then access those
+members:
+
+``
+std::vector<double> t = he.probabilities();
+std::copy(t.begin(), t.end(), std::ostream_iterator<double>(std::cout, " "));
+``
+]
+
+[h3 Non-member Accessor Functions]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all distributions are supported: __usual_accessors.
+
+The formulae for calculating these are shown in the table below.
+
+
+[h3 Accuracy]
+
+The hyperexponential distribution is implemented in terms of the __exp_distrib and as such should have very small errors, usually an
+[@http://en.wikipedia.org/wiki/Machine_epsilon epsilon] or few.
+
+
+[h3 Implementation]
+
+In the following table:
+
+* ['[*[alpha]]=([alpha][sub 1],...,[alpha][sub k])] is the /phase probability vector/ parameter of the /k/-phase hyperexponential distribution,
+* ['[*[lambda]]=([lambda][sub 1],...,[lambda][sub k])] is the /rate vector/ parameter of the /k/-phase hyperexponential distribution,
+* /x/ is the random variate.
+
+[table
+[[Function][Implementation Notes]]
+[[support][['x] [isin] \[0,[infin])]]
+[[pdf][[equation hyperexponential_pdf]]]
+[[cdf][[equation hyperexponential_cdf]]]
+[[cdf complement][[equation hyperexponential_ccdf]]]
+[[quantile][No closed form available. Computed numerically.]]
+[[quantile from the complement][No closed form available. Computed numerically.]]
+[[mean][[equation hyperexponential_mean]]]
+[[variance][[equation hyperexponential_variance]]]
+[[mode][`0`]]
+[[skewness][[equation hyperexponential_skewness]]]
+[[kurtosis][[equation hyperexponential_kurtosis]]]
+[[kurtosis excess][kurtosis `- 3`]]
+]
+
+
+[h3 References]
+
+* A.O. Allen, /Probability, Statistics, and Queuing Theory with Computer Science Applications, Second Edition/, Academic Press, 1990.
+
+* D.G. Feitelson, /Workload Modeling for Computer Systems Performance Evaluation/, Cambridge University Press, 2014
+
+* A. Feldmann and W. Whitt, /Fitting mixtures of exponentials to long-tail distributions to analyze network performance models/, Performance Evaluation 31(3-4):245, doi:10.1016/S0166-5316(97)00003-5, 1998.
+
+* H.T. Papadopolous, C. Heavey and J. Browne, /Queueing Theory in Manufacturing Systems Analysis and Design/, Chapman & Hall/CRC, 1993, p. 35.
+
+* R.F. Rosin, /Determining a computing center environment/, Communications of the ACM 8(7):463-468, 1965.
+
+* K.S. Trivedi, /Probability and Statistics with Reliability, Queueing, and Computer Science Applications/, John Wiley & Sons, Inc., 2002.
+
+* Wikipedia, /Hyperexponential Distribution/, Online: [@http://en.wikipedia.org/wiki/Hyperexponential_distribution], 2014
+
+* R. Wolski and J. Brevik, /Using Parametric Models to Represent Private Cloud Workloads/, IEEE TSC, PrePrint, DOI: [@http://doi.ieeecomputersociety.org/10.1109/TSC.2013.48 10.1109/TSC.2013.48], 2013.
+
+* Wolfram Mathematica, /Hyperexponential Distribution/, Online: [@http://reference.wolfram.com/language/ref/HyperexponentialDistribution.html], 2014.
+
+[endsect][/section:hyperexponential_dist hyperexponential]
+
+[/ hyperexponential.qbk
+ Copyright 2014 Marco Guazzone (marco.guazzone@gmail.com)
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/hypergeometric.qbk b/libs/math/doc/distributions/hypergeometric.qbk
new file mode 100644
index 0000000000..881a1fe25c
--- /dev/null
+++ b/libs/math/doc/distributions/hypergeometric.qbk
@@ -0,0 +1,229 @@
+[section:hypergeometric_dist Hypergeometric Distribution]
+
+``#include <boost/math/distributions/hypergeometric.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class hypergeometric_distribution;
+
+ template <class RealType, class Policy>
+ class hypergeometric_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Construct:
+ hypergeometric_distribution(unsigned r, unsigned n, unsigned N);
+ // Accessors:
+ unsigned total()const;
+ unsigned defective()const;
+ unsigned sample_count()const;
+ };
+
+ typedef hypergeometric_distribution<> hypergeometric;
+
+ }} // namespaces
+
+The hypergeometric distribution describes the number of "events" /k/
+from a sample /n/ drawn from a total population /N/ ['without replacement].
+
+Imagine we have a sample of /N/ objects of which /r/ are "defective"
+and N-r are "not defective"
+(the terms "success\/failure" or "red\/blue" are also used). If we sample /n/
+items /without replacement/ then what is the probability that exactly
+/k/ items in the sample are defective? The answer is given by the pdf of the
+hypergeometric distribution `f(k; r, n, N)`, whilst the probability of
+/k/ defectives or fewer is given by F(k; r, n, N), where F(k) is the
+CDF of the hypergeometric distribution.
+
+[note Unlike almost all of the other distributions in this library,
+the hypergeometric distribution is strictly discrete: it can not be
+extended to real valued arguments of its parameters or random variable.]
+
+The following graph shows how the distribution changes as the proportion
+of "defective" items changes, while keeping the population and sample sizes
+constant:
+
+[graph hypergeometric_pdf_1]
+
+Note that since the distribution is symmetrical in parameters /n/ and /r/, if we
+change the sample size and keep the population and proportion "defective" the same
+then we obtain basically the same graphs:
+
+[graph hypergeometric_pdf_2]
+
+[h4 Member Functions]
+
+ hypergeometric_distribution(unsigned r, unsigned n, unsigned N);
+
+Constructs a hypergeometric distribution with with a population of /N/ objects,
+of which /r/ are defective, and from which /n/ are sampled.
+
+ unsigned total()const;
+
+Returns the total number of objects /N/.
+
+ unsigned defective()const;
+
+Returns the number of objects /r/ in population /N/ which are defective.
+
+ unsigned sample_count()const;
+
+Returns the number of objects /n/ which are sampled from the population /N/.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is the unsigned integers in the range
+\[max(0, n + r - N), min(n, r)\]. A __domain_error is raised if the
+random variable is outside this range, or is not an integral value.
+
+[caution
+The quantile function will by default return an integer result that has been
+/rounded outwards/. That is to say lower quantiles (where the probability is
+less than 0.5) are rounded downward, and upper quantiles (where the probability
+is greater than 0.5) are rounded upwards. This behaviour
+ensures that if an X% quantile is requested, then /at least/ the requested
+coverage will be present in the central region, and /no more than/
+the requested coverage will be present in the tails.
+
+This behaviour can be changed so that the quantile functions are rounded
+differently using
+[link math_toolkit.pol_overview Policies]. It is strongly
+recommended that you read the tutorial
+[link math_toolkit.pol_tutorial.understand_dis_quant
+Understanding Quantiles of Discrete Distributions] before
+using the quantile function on the Hypergeometric distribution. The
+[link math_toolkit.pol_ref.discrete_quant_ref reference docs]
+describe how to change the rounding policy
+for these distributions.
+
+However, note that the implementation method of the quantile function
+always returns an integral value, therefore attempting to use a __Policy
+that requires (or produces) a real valued result will result in a
+compile time error.
+] [/ caution]
+
+
+[h4 Accuracy]
+
+For small N such that
+`N < boost::math::max_factorial<RealType>::value` then table based
+lookup of the results gives an accuracy to a few epsilon.
+`boost::math::max_factorial<RealType>::value` is 170 at double or long double
+precision.
+
+For larger N such that `N < boost::math::prime(boost::math::max_prime)`
+then only basic arithmetic is required for the calculation
+and the accuracy is typically < 20 epsilon. This takes care of N
+up to 104729.
+
+For `N > boost::math::prime(boost::math::max_prime)` then accuracy quickly
+degrades, with 5 or 6 decimal digits being lost for N = 110000.
+
+In general for very large N, the user should expect to loose log[sub 10]N
+decimal digits of precision during the calculation, with the results
+becoming meaningless for N >= 10[super 15].
+
+[h4 Testing]
+
+There are three sets of tests: our implementation is tested against a table of values
+produced by Mathematica's implementation of this distribution. We also sanity check
+our implementation against some spot values computed using the online calculator
+here [@http://stattrek.com/Tables/Hypergeometric.aspx http://stattrek.com/Tables/Hypergeometric.aspx].
+Finally we test accuracy against some high precision test data using
+this implementation and NTL::RR.
+
+[h4 Implementation]
+
+The PDF can be calculated directly using the formula:
+
+[equation hypergeometric1]
+
+However, this can only be used directly when the largest of the factorials
+is guaranteed not to overflow the floating point representation used.
+This formula is used directly when `N < max_factorial<RealType>::value`
+in which case table lookup of the factorials gives a rapid and accurate
+implementation method.
+
+For larger /N/ the method described in
+"An Accurate Computation of the Hypergeometric Distribution Function",
+Trong Wu, ACM Transactions on Mathematical Software, Vol. 19, No. 1,
+March 1993, Pages 33-43 is used. The method relies on the fact that
+there is an easy method for factorising a factorial into the product
+of prime numbers:
+
+[equation hypergeometric2]
+
+Where p[sub i] is the i'th prime number, and e[sub i] is a small
+positive integer or zero, which can be calculated via:
+
+[equation hypergeometric3]
+
+Further we can combine the factorials in the expression for the PDF
+to yield the PDF directly as the product of prime numbers:
+
+[equation hypergeometric4]
+
+With this time the exponents e[sub i] being either positive, negative
+or zero. Indeed such a degree of cancellation occurs in the calculation
+of the e[sub i] that many are zero, and typically most have a magnitude
+or no more than 1 or 2.
+
+Calculation of the product of the primes requires some care to prevent
+numerical overflow, we use a novel recursive method which splits the
+calculation into a series of sub-products, with a new sub-product
+started each time the next multiplication would cause either overflow
+or underflow. The sub-products are stored in a linked list on the
+program stack, and combined in an order that will guarantee no overflow
+or unnecessary-underflow once the last sub-product has been calculated.
+
+This method can be used as long as N is smaller than the largest prime
+number we have stored in our table of primes (currently 104729). The method
+is relatively slow (calculating the exponents requires the most time), but
+requires only a small number of arithmetic operations to
+calculate the result (indeed there is no shorter method involving only basic
+arithmetic once the exponents have been found), the method is therefore
+much more accurate than the alternatives.
+
+For much larger N, we can calculate the PDF from the factorials using
+either lgamma, or by directly combining lanczos approximations to avoid
+calculating via logarithms. We use the latter method, as it is usually
+1 or 2 decimal digits more accurate than computing via logarithms with
+lgamma. However, in this area where N > 104729, the user should expect
+to loose around log[sub 10]N decimal digits during the calculation in
+the worst case.
+
+The CDF and its complement is calculated by directly summing the PDF's.
+We start by deciding whether the CDF, or its complement, is likely to be
+the smaller of the two and then calculate the PDF at /k/ (or /k+1/ if we're
+calculating the complement) and calculate successive PDF values via the
+recurrence relations:
+
+[equation hypergeometric5]
+
+Until we either reach the end of the distributions domain, or the next
+PDF value to be summed would be too small to affect the result.
+
+The quantile is calculated in a similar manner to the CDF: we first guess
+which end of the distribution we're nearer to, and then sum PDFs starting
+from the end of the distribution this time, until we have some value /k/ that
+gives the required CDF.
+
+The median is simply the quantile at 0.5, and the remaining properties are
+calculated via:
+
+[equation hypergeometric6]
+
+[endsect]
+
+[/ hypergeometric.qbk
+ Copyright 2008 John Maddock.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/inverse_chi_squared.qbk b/libs/math/doc/distributions/inverse_chi_squared.qbk
new file mode 100644
index 0000000000..4c1f9f983c
--- /dev/null
+++ b/libs/math/doc/distributions/inverse_chi_squared.qbk
@@ -0,0 +1,176 @@
+[section:inverse_chi_squared_dist Inverse Chi Squared Distribution]
+
+``#include <boost/math/distributions/inverse_chi_squared.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class inverse_chi_squared_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ inverse_chi_squared_distribution(RealType df = 1); // Not explicitly scaled, default 1/df.
+ inverse_chi_squared_distribution(RealType df, RealType scale = 1/df); // Scaled.
+
+ RealType degrees_of_freedom()const; // Default 1.
+ RealType scale()const; // Optional scale [xi] (variance), default 1/degrees_of_freedom.
+ };
+
+ }} // namespace boost // namespace math
+
+The inverse chi squared distribution is a continuous probability distribution
+of the *reciprocal* of a variable distributed according to the chi squared distribution.
+
+The sources below give confusingly different formulae
+using different symbols for the distribution pdf,
+but they are all the same, or related by a change of variable, or choice of scale.
+
+Two constructors are available to implement both the scaled and (implicitly) unscaled versions.
+
+The main version has an explicit scale parameter which implements the
+[@http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution scaled inverse chi_squared distribution].
+
+A second version has an implicit scale = 1/degrees of freedom and gives the 1st definition in the
+[@http://en.wikipedia.org/wiki/Inverse-chi-square_distribution Wikipedia inverse chi_squared distribution].
+The 2nd Wikipedia inverse chi_squared distribution definition can be implemented
+by explicitly specifying a scale = 1.
+
+Both definitions are also available in Wolfram Mathematica and in __R (geoR) with default scale = 1/degrees of freedom.
+
+See
+
+* Inverse chi_squared distribution [@http://en.wikipedia.org/wiki/Inverse-chi-square_distribution]
+* Scaled inverse chi_squared distribution[@http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution]
+* R inverse chi_squared distribution functions [@http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/geoR/html/InvChisquare.html R ]
+* Inverse chi_squared distribution functions [@http://mathworld.wolfram.com/InverseChi-SquaredDistribution.html Weisstein, Eric W. "Inverse Chi-Squared Distribution." From MathWorld--A Wolfram Web Resource.]
+* Inverse chi_squared distribution reference [@http://reference.wolfram.com/mathematica/ref/InverseChiSquareDistribution.html Weisstein, Eric W. "Inverse Chi-Squared Distribution reference." From Wolfram Mathematica.]
+
+The inverse_chi_squared distribution is used in
+[@http://en.wikipedia.org/wiki/Bayesian_statistics Bayesian statistics]:
+the scaled inverse chi-square is conjugate prior for the normal distribution
+with known mean, model parameter [sigma][pow2] (variance).
+
+See [@http://en.wikipedia.org/wiki/Conjugate_prior conjugate priors including a table of distributions and their priors.]
+
+See also __inverse_gamma_distrib and __chi_squared_distrib.
+
+The inverse_chi_squared distribution is a special case of a inverse_gamma distribution
+with [nu] (degrees_of_freedom) shape ([alpha]) and scale ([beta]) where
+
+__spaces [alpha]= [nu] /2 and [beta] = [frac12].
+
+[note This distribution *does* provide the typedef:
+
+``typedef inverse_chi_squared_distribution<double> inverse_chi_squared;``
+
+If you want a `double` precision inverse_chi_squared distribution you can use
+
+``boost::math::inverse_chi_squared_distribution<>``
+
+or you can write `inverse_chi_squared my_invchisqr(2, 3);`]
+
+For degrees of freedom parameter [nu],
+the (*unscaled*) inverse chi_squared distribution is defined by the probability density function (PDF):
+
+__spaces f(x;[nu]) = 2[super -[nu]/2] x[super -[nu]/2-1] e[super -1/2x] / [Gamma]([nu]/2)
+
+and Cumulative Density Function (CDF)
+
+__spaces F(x;[nu]) = [Gamma]([nu]/2, 1/2x) / [Gamma]([nu]/2)
+
+For degrees of freedom parameter [nu] and scale parameter [xi],
+the *scaled* inverse chi_squared distribution is defined by the probability density function (PDF):
+
+__spaces f(x;[nu], [xi]) = ([xi][nu]/2)[super [nu]/2] e[super -[nu][xi]/2x] x[super -1-[nu]/2] / [Gamma]([nu]/2)
+
+and Cumulative Density Function (CDF)
+
+__spaces F(x;[nu], [xi]) = [Gamma]([nu]/2, [nu][xi]/2x) / [Gamma]([nu]/2)
+
+The following graphs illustrate how the PDF and CDF of the inverse chi_squared distribution
+varies for a few values of parameters [nu] and [xi]:
+
+[graph inverse_chi_squared_pdf] [/.png or .svg]
+
+[graph inverse_chi_squared_cdf]
+
+[h4 Member Functions]
+
+ inverse_chi_squared_distribution(RealType df = 1); // Implicitly scaled 1/df.
+ inverse_chi_squared_distribution(RealType df = 1, RealType scale); // Explicitly scaled.
+
+Constructs an inverse chi_squared distribution with [nu] degrees of freedom ['df],
+and scale ['scale] with default value 1\/df.
+
+Requires that the degrees of freedom [nu] parameter is greater than zero, otherwise calls
+__domain_error.
+
+ RealType degrees_of_freedom()const;
+
+Returns the degrees_of_freedom [nu] parameter of this distribution.
+
+ RealType scale()const;
+
+Returns the scale [xi] parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variate is \[0,+[infin]\].
+[note Unlike some definitions, this implementation supports a random variate
+equal to zero as a special case, returning zero for both pdf and cdf.]
+
+[h4 Accuracy]
+
+The inverse gamma distribution is implemented in terms of the
+incomplete gamma functions like the __inverse_gamma_distrib that use
+__gamma_p and __gamma_q and their inverses __gamma_p_inv and __gamma_q_inv:
+refer to the accuracy data for those functions for more information.
+But in general, gamma (and thus inverse gamma) results are often accurate to a few epsilon,
+>14 decimal digits accuracy for 64-bit double.
+unless iteration is involved, as for the estimation of degrees of freedom.
+
+[h4 Implementation]
+
+In the following table [nu] is the degrees of freedom parameter and
+[xi] is the scale parameter of the distribution,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/ its complement.
+Parameters [alpha] for shape and [beta] for scale
+are used for the inverse gamma function: [alpha] = [nu]/2 and [beta] = [nu] * [xi]/2.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = __gamma_p_derivative([alpha], [beta]/ x, [beta]) / x * x ]]
+[[cdf][Using the relation: p = __gamma_q([alpha], [beta] / x) ]]
+[[cdf complement][Using the relation: q = __gamma_p([alpha], [beta] / x) ]]
+[[quantile][Using the relation: x = [beta][space]/ __gamma_q_inv([alpha], p) ]]
+[[quantile from the complement][Using the relation: x = [alpha][space]/ __gamma_p_inv([alpha], q) ]]
+[[mode][[nu] * [xi] / ([nu] + 2) ]]
+[[median][no closed form analytic equation is known, but is evaluated as quantile(0.5)]]
+[[mean][[nu][xi] / ([nu] - 2) for [nu] > 2, else a __domain_error]]
+[[variance][2 [nu][pow2] [xi][pow2] / (([nu] -2)[pow2] ([nu] -4)) for [nu] >4, else a __domain_error]]
+[[skewness][4 [sqrt]2 [sqrt]([nu]-4) /([nu]-6) for [nu] >6, else a __domain_error ]]
+[[kurtosis_excess][12 * (5[nu] - 22) / (([nu] - 6) * ([nu] - 8)) for [nu] >8, else a __domain_error]]
+[[kurtosis][3 + 12 * (5[nu] - 22) / (([nu] - 6) * ([nu]-8)) for [nu] >8, else a __domain_error]]
+] [/table]
+
+[h4 References]
+
+# Bayesian Data Analysis, Andrew Gelman, John B. Carlin, Hal S. Stern, Donald B. Rubin,
+ISBN-13: 978-1584883883, Chapman & Hall; 2 edition (29 July 2003).
+
+# Bayesian Computation with R, Jim Albert, ISBN-13: 978-0387922973, Springer; 2nd ed. edition (10 Jun 2009)
+
+[endsect] [/section:inverse_chi_squared_dist Inverse chi_squared Distribution]
+
+[/
+ Copyright 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+] \ No newline at end of file
diff --git a/libs/math/doc/distributions/inverse_chi_squared_eg.qbk b/libs/math/doc/distributions/inverse_chi_squared_eg.qbk
new file mode 100644
index 0000000000..067c746c8c
--- /dev/null
+++ b/libs/math/doc/distributions/inverse_chi_squared_eg.qbk
@@ -0,0 +1,32 @@
+
+[section:inverse_chi_squared_eg Inverse Chi-Squared Distribution Bayes Example]
+
+[import ../../example/inverse_chi_squared_bayes_eg.cpp]
+[inverse_chi_squared_bayes_eg_1]
+[inverse_chi_squared_bayes_eg_output_1]
+[inverse_chi_squared_bayes_eg_2]
+[inverse_chi_squared_bayes_eg_output_2]
+[inverse_chi_squared_bayes_eg_3]
+[inverse_chi_squared_bayes_eg_output_3]
+[inverse_chi_squared_bayes_eg_4]
+[inverse_chi_squared_bayes_eg_output_4]
+
+[inverse_chi_squared_bayes_eg_5]
+
+A full sample output is:
+[inverse_chi_squared_bayes_eg_output]
+
+(See also the reference documentation for the __inverse_chi_squared_distrib.)
+
+See the full source C++ of this example at
+[@../../example/inverse_chi_squared_bayes_eg.cpp]
+
+[endsect] [/section:inverse_chi_squared_eg Inverse Chi-Squared Distribution Bayes Example]
+
+[/
+ Copyright 2011 Paul A. Bristow and Thomas Mang.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/inverse_gamma.qbk b/libs/math/doc/distributions/inverse_gamma.qbk
new file mode 100644
index 0000000000..0f8afea4d3
--- /dev/null
+++ b/libs/math/doc/distributions/inverse_gamma.qbk
@@ -0,0 +1,129 @@
+[section:inverse_gamma_dist Inverse Gamma Distribution]
+
+``#include <boost/math/distributions/inverse_gamma.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class inverse_gamma_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ inverse_gamma_distribution(RealType shape, RealType scale = 1)
+
+ RealType shape()const;
+ RealType scale()const;
+ };
+
+ }} // namespaces
+
+The inverse_gamma distribution is a continuous probability distribution
+of the reciprocal of a variable distributed according to the gamma distribution.
+
+The inverse_gamma distribution is used in Bayesian statistics.
+
+See [@http://en.wikipedia.org/wiki/Inverse-gamma_distribution inverse gamma distribution].
+
+[@http://rss.acs.unt.edu/Rdoc/library/pscl/html/igamma.html R inverse gamma distribution functions].
+
+[@http://reference.wolfram.com/mathematica/ref/InverseGammaDistribution.html Wolfram inverse gamma distribution].
+
+See also __gamma_distrib.
+
+
+[note
+In spite of potential confusion with the inverse gamma function, this
+distribution *does* provide the typedef:
+
+``typedef inverse_gamma_distribution<double> gamma;``
+
+If you want a `double` precision gamma distribution you can use
+
+``boost::math::inverse_gamma_distribution<>``
+
+or you can write `inverse_gamma my_ig(2, 3);`]
+
+For shape parameter [alpha] and scale parameter [beta], it is defined
+by the probability density function (PDF):
+
+__spaces f(x;[alpha], [beta]) = [beta][super [alpha]] * (1/x) [super [alpha]+1] exp(-[beta]/x) / [Gamma]([alpha])
+
+and cumulative density function (CDF)
+
+__spaces F(x;[alpha], [beta]) = [Gamma]([alpha], [beta]/x) / [Gamma]([alpha])
+
+The following graphs illustrate how the PDF and CDF of the inverse gamma distribution
+varies as the parameters vary:
+
+[graph inverse_gamma_pdf] [/png or svg]
+
+[graph inverse_gamma_cdf]
+
+[h4 Member Functions]
+
+ inverse_gamma_distribution(RealType shape = 1, RealType scale = 1);
+
+Constructs an inverse gamma distribution with shape [alpha] and scale [beta].
+
+Requires that the shape and scale parameters are greater than zero, otherwise calls
+__domain_error.
+
+ RealType shape()const;
+
+Returns the [alpha] shape parameter of this inverse gamma distribution.
+
+ RealType scale()const;
+
+Returns the [beta] scale parameter of this inverse gamma distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variate is \[0,+[infin]\].
+[note Unlike some definitions, this implementation supports a random variate
+equal to zero as a special case, returning zero for pdf and cdf.]
+
+[h4 Accuracy]
+
+The inverse gamma distribution is implemented in terms of the
+incomplete gamma functions __gamma_p and __gamma_q and their
+inverses __gamma_p_inv and __gamma_q_inv: refer to the accuracy
+data for those functions for more information.
+But in general, inverse_gamma results are accurate to a few epsilon,
+>14 decimal digits accuracy for 64-bit double.
+
+[h4 Implementation]
+
+In the following table [alpha] is the shape parameter of the distribution,
+[alpha][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
+and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = __gamma_p_derivative([alpha], [beta]/ x, [beta]) / x * x ]]
+[[cdf][Using the relation: p = __gamma_q([alpha], [beta] / x) ]]
+[[cdf complement][Using the relation: q = __gamma_p([alpha], [beta] / x) ]]
+[[quantile][Using the relation: x = [beta][space]/ __gamma_q_inv([alpha], p) ]]
+[[quantile from the complement][Using the relation: x = [alpha][space]/ __gamma_p_inv([alpha], q) ]]
+[[mode][[beta] / ([alpha] + 1) ]]
+[[median][no analytic equation is known, but is evaluated as quantile(0.5)]]
+[[mean][[beta] / ([alpha] - 1) for [alpha] > 1, else a __domain_error]]
+[[variance][([beta] * [beta]) / (([alpha] - 1) * ([alpha] - 1) * ([alpha] - 2)) for [alpha] >2, else a __domain_error]]
+[[skewness][4 * sqrt ([alpha] -2) / ([alpha] -3) for [alpha] >3, else a __domain_error]]
+[[kurtosis_excess][(30 * [alpha] - 66) / (([alpha]-3)*([alpha] - 4)) for [alpha] >4, else a __domain_error]]
+] [/table]
+
+[endsect][/section:inverse_gamma_dist Inverse Gamma Distribution]
+
+[/
+ Copyright 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/sf_and_dist/distributions/inverse_gamma_example.qbk b/libs/math/doc/distributions/inverse_gamma_example.qbk
index 3feaa26e8e..3feaa26e8e 100644
--- a/libs/math/doc/sf_and_dist/distributions/inverse_gamma_example.qbk
+++ b/libs/math/doc/distributions/inverse_gamma_example.qbk
diff --git a/libs/math/doc/distributions/inverse_gaussian.qbk b/libs/math/doc/distributions/inverse_gaussian.qbk
new file mode 100644
index 0000000000..612801fe6f
--- /dev/null
+++ b/libs/math/doc/distributions/inverse_gaussian.qbk
@@ -0,0 +1,171 @@
+[section:inverse_gaussian_dist Inverse Gaussian (or Inverse Normal) Distribution]
+
+``#include <boost/math/distributions/inverse_gaussian.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class inverse_gaussian_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ inverse_gaussian_distribution(RealType mean = 1, RealType scale = 1);
+
+ RealType mean()const; // mean default 1.
+ RealType scale()const; // Optional scale, default 1 (unscaled).
+ RealType shape()const; // Shape = scale/mean.
+ };
+ typedef inverse_gaussian_distribution<double> inverse_gaussian;
+
+ }} // namespace boost // namespace math
+
+The Inverse Gaussian distribution distribution is a continuous probability distribution.
+
+The distribution is also called 'normal-inverse Gaussian distribution',
+and 'normal Inverse' distribution.
+
+It is also convenient to provide unity as default for both mean and scale.
+This is the Standard form for all distributions.
+The Inverse Gaussian distribution was first studied in relation to Brownian motion.
+In 1956 M.C.K. Tweedie used the name Inverse Gaussian because there is an inverse relationship
+between the time to cover a unit distance and distance covered in unit time.
+The inverse Gaussian is one of family of distributions that have been called the
+[@http://en.wikipedia.org/wiki/Tweedie_distributions Tweedie distributions].
+
+(So ['inverse] in the name may mislead: it does [*not] relate to the inverse of a distribution).
+
+The tails of the distribution decrease more slowly than the normal distribution.
+It is therefore suitable to model phenomena
+where numerically large values are more probable than is the case for the normal distribution.
+For stock market returns and prices, a key characteristic is that it models
+that extremely large variations from typical (crashes) can occur
+even when almost all (normal) variations are small.
+
+Examples are returns from financial assets and turbulent wind speeds.
+
+The normal-inverse Gaussian distributions form
+a subclass of the generalised hyperbolic distributions.
+
+See
+[@http://en.wikipedia.org/wiki/Normal-inverse_Gaussian_distribution distribution].
+[@http://mathworld.wolfram.com/InverseGaussianDistribution.html
+ Weisstein, Eric W. "Inverse Gaussian Distribution." From MathWorld--A Wolfram Web Resource.]
+
+If you want a `double` precision inverse_gaussian distribution you can use
+
+``boost::math::inverse_gaussian_distribution<>``
+
+or, more conveniently, you can write
+
+ using boost::math::inverse_gaussian;
+ inverse_gaussian my_ig(2, 3);
+
+For mean parameters [mu] and scale (also called precision) parameter [lambda],
+and random variate x,
+the inverse_gaussian distribution is defined by the probability density function (PDF):
+
+__spaces f(x;[mu], [lambda]) = [sqrt]([lambda]/2[pi]x[super 3]) e[super -[lambda](x-[mu])[sup2]/2[mu][sup2]x]
+
+and Cumulative Density Function (CDF):
+
+__spaces F(x;[mu], [lambda]) = [Phi]{[sqrt]([lambda]/x) (x/[mu]-1)} + e[super 2[mu]/[lambda]] [Phi]{-[sqrt]([lambda]/[mu]) (1+x/[mu])}
+
+where [Phi] is the standard normal distribution CDF.
+
+The following graphs illustrate how the PDF and CDF of the inverse_gaussian distribution
+varies for a few values of parameters [mu] and [lambda]:
+
+[graph inverse_gaussian_pdf] [/.png or .svg]
+
+[graph inverse_gaussian_cdf]
+
+Tweedie also provided 3 other parameterisations where ([mu] and [lambda])
+are replaced by their ratio [phi] = [lambda]/[mu] and by 1/[mu]:
+these forms may be more suitable for Bayesian applications.
+These can be found on Seshadri, page 2 and are also discussed by Chhikara and Folks on page 105.
+Another related parameterisation, the __wald_distrib (where mean [mu] is unity) is also provided.
+
+[h4 Member Functions]
+
+ inverse_gaussian_distribution(RealType df = 1, RealType scale = 1); // optionally scaled.
+
+Constructs an inverse_gaussian distribution with [mu] mean,
+and scale [lambda], with both default values 1.
+
+Requires that both the mean [mu] parameter and scale [lambda] are greater than zero,
+otherwise calls __domain_error.
+
+ RealType mean()const;
+
+Returns the mean [mu] parameter of this distribution.
+
+ RealType scale()const;
+
+Returns the scale [lambda] parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variate is \[0,+[infin]).
+[note Unlike some definitions, this implementation supports a random variate
+equal to zero as a special case, returning zero for both pdf and cdf.]
+
+[h4 Accuracy]
+
+The inverse_gaussian distribution is implemented in terms of the
+exponential function and standard normal distribution ['N]0,1 [Phi] :
+refer to the accuracy data for those functions for more information.
+But in general, gamma (and thus inverse gamma) results are often accurate to a few epsilon,
+>14 decimal digits accuracy for 64-bit double.
+
+[h4 Implementation]
+
+In the following table [mu] is the mean parameter and
+[lambda] is the scale parameter of the inverse_gaussian distribution,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/ its complement.
+Parameters [mu] for shape and [lambda] for scale
+are used for the inverse gaussian function.
+
+[table
+[[Function] [Implementation Notes] ]
+[[pdf] [ [sqrt]([lambda]/ 2[pi]x[super 3]) e[super -[lambda](x - [mu])[sup2]/ 2[mu][sup2]x]]]
+[[cdf][ [Phi]{[sqrt]([lambda]/x) (x/[mu]-1)} + e[super 2[mu]/[lambda]] [Phi]{-[sqrt]([lambda]/[mu]) (1+x/[mu])} ]]
+[[cdf complement] [using complement of [Phi] above.] ]
+[[quantile][No closed form known. Estimated using a guess refined by Newton-Raphson iteration.]]
+[[quantile from the complement][No closed form known. Estimated using a guess refined by Newton-Raphson iteration.]]
+[[mode][[mu] {[sqrt](1+9[mu][sup2]/4[lambda][sup2])[sup2] - 3[mu]/2[lambda]} ]]
+[[median][No closed form analytic equation is known, but is evaluated as quantile(0.5)]]
+[[mean][[mu]] ]
+[[variance][[mu][cubed]/[lambda]] ]
+[[skewness][3 [sqrt] ([mu]/[lambda])] ]
+[[kurtosis_excess][15[mu]/[lambda]] ]
+[[kurtosis][12[mu]/[lambda]] ]
+] [/table]
+
+[h4 References]
+
+#Wald, A. (1947). Sequential analysis. Wiley, NY.
+#The Inverse Gaussian distribution : theory, methodology, and applications, Raj S. Chhikara, J. Leroy Folks. ISBN 0824779975 (1989).
+#The Inverse Gaussian distribution : statistical theory and applications, Seshadri, V , ISBN - 0387986189 (pbk) (Dewey 519.2) (1998).
+#[@http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.wald.html Numpy and Scipy Documentation].
+#[@http://bm2.genes.nig.ac.jp/RGM2/R_current/library/statmod/man/invgauss.html R statmod invgauss functions].
+#[@http://cran.r-project.org/web/packages/SuppDists/index.html R SuppDists invGauss functions].
+(Note that these R implementations names differ in case).
+#[@http://www.statsci.org/s/invgauss.html StatSci.org invgauss help].
+#[@http://www.statsci.org/s/invgauss.statSci.org invgauss R source].
+#[@http://www.biostat.wustl.edu/archives/html/s-news/2001-12/msg00144.html pwald, qwald].
+#[@http://www.brighton-webs.co.uk/distributions/wald.asp Brighton Webs wald].
+
+[endsect] [/section:inverse_gaussian_dist Inverse Gaussiann Distribution]
+
+[/
+ Copyright 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+] \ No newline at end of file
diff --git a/libs/math/doc/distributions/laplace.qbk b/libs/math/doc/distributions/laplace.qbk
new file mode 100644
index 0000000000..e62cc21c7f
--- /dev/null
+++ b/libs/math/doc/distributions/laplace.qbk
@@ -0,0 +1,141 @@
+[section:laplace_dist Laplace Distribution]
+
+``#include <boost/math/distributions/laplace.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class laplace_distribution;
+
+ typedef laplace_distribution<> laplace;
+
+ template <class RealType, class ``__Policy``>
+ class laplace_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Construct:
+ laplace_distribution(RealType location = 0, RealType scale = 1);
+ // Accessors:
+ RealType location()const;
+ RealType scale()const;
+ };
+
+ }} // namespaces
+
+Laplace distribution is the distribution of differences between two independent variates
+with identical exponential distributions (Abramowitz and Stegun 1972, p. 930).
+It is also called the double exponential distribution.
+
+[/ Wikipedia definition is The difference between two independent identically distributed
+exponential random variables is governed by a Laplace distribution.]
+
+For location parameter [mu][space] and scale parameter [sigma][space], it is defined by the
+probability density function:
+
+[equation laplace_pdf]
+
+The location and scale parameters are equivalent to the mean and
+standard deviation of the normal or Gaussian distribution.
+
+The following graph illustrates the effect of the
+parameters [mu][space] and [sigma][space] on the PDF.
+Note that the domain of the random variable remains
+\[-[infin],+[infin]\] irrespective of the value of the location parameter:
+
+[graph laplace_pdf]
+
+[h4 Member Functions]
+
+ laplace_distribution(RealType location = 0, RealType scale = 1);
+
+Constructs a laplace distribution with location /location/ and
+scale /scale/.
+
+The location parameter is the same as the mean of the random variate.
+
+The scale parameter is proportional to the standard deviation of the random variate.
+
+Requires that the scale parameter is greater than zero, otherwise calls
+__domain_error.
+
+ RealType location()const;
+
+Returns the /location/ parameter of this distribution.
+
+ RealType scale()const;
+
+Returns the /scale/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[-[infin],+[infin]\].
+
+[h4 Accuracy]
+
+The laplace distribution is implemented in terms of the
+standard library log and exp functions and as such should have very small errors.
+
+[h4 Implementation]
+
+In the following table [mu] is the location parameter of the distribution,
+[sigma] is its scale parameter, /x/ is the random variate, /p/ is the probability
+and its complement /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = e[super -abs(x-[mu]) \/ [sigma]] \/ (2 * [sigma]) ]]
+[[cdf][Using the relations:
+
+x < [mu] : p = e[super (x-[mu])/[sigma] ] \/ [sigma]
+
+x >= [mu] : p = 1 - e[super ([mu]-x)/[sigma] ] \/ [sigma]
+]]
+[[cdf complement][Using the relation:
+
+-x < [mu] : q = e[super (-x-[mu])/[sigma] ] \/ [sigma]
+
+-x >= [mu] : q = 1 - e[super ([mu]+x)/[sigma] ] \/ [sigma]
+]]
+[[quantile][Using the relations:
+
+p < 0.5 : x = [mu] + [sigma] * log(2*p)
+
+p >= 0.5 : x = [mu] - [sigma] * log(2-2*p)
+]]
+[[quantile from the complement][Using the relation:
+
+q > 0.5: x = [mu] + [sigma]*log(2-2*q)
+
+q <=0.5: x = [mu] - [sigma]*log( 2*q )
+]]
+[[mean][[mu]]]
+[[variance][2 * [sigma][super 2] ]]
+[[mode][[mu]]]
+[[skewness][0]]
+[[kurtosis][6]]
+[[kurtosis excess][3]]
+]
+
+[h4 References]
+
+* [@http://mathworld.wolfram.com/LaplaceDistribution.html Weisstein, Eric W. "Laplace Distribution."] From MathWorld--A Wolfram Web Resource.
+
+* [@http://en.wikipedia.org/wiki/Laplace_distribution Laplace Distribution]
+
+* M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, 1972, p. 930.
+
+[endsect][/section:laplace_dist laplace]
+
+[/
+ Copyright 2008, 2009 John Maddock, Paul A. Bristow and M.A. (Thijs) van den Berg.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/logistic.qbk b/libs/math/doc/distributions/logistic.qbk
new file mode 100644
index 0000000000..e718483c19
--- /dev/null
+++ b/libs/math/doc/distributions/logistic.qbk
@@ -0,0 +1,103 @@
+[section:logistic_dist Logistic Distribution]
+
+``#include <boost/math/distributions/logistic.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class logistic_distribution;
+
+ template <class RealType, class Policy>
+ class logistic_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Construct:
+ logistic_distribution(RealType location = 0, RealType scale = 1);
+ // Accessors:
+ RealType location()const; // location.
+ RealType scale()const; // scale.
+
+ };
+
+ typedef logistic_distribution<> logistic;
+
+ }} // namespaces
+
+The logistic distribution is a continous probability distribution.
+It has two parameters - location and scale. The cumulative distribution
+function of the logistic distribution appears in logistic regression
+and feedforward neural networks. Among other applications,
+United State Chess Federation and FIDE use it to calculate chess ratings.
+
+The following graph shows how the distribution changes as the
+parameters change:
+
+[graph logistic_pdf]
+
+[h4 Member Functions]
+
+ logistic_distribution(RealType u = 0, RealType s = 1);
+
+Constructs a logistic distribution with location /u/ and scale /s/.
+
+Requires `scale > 0`, otherwise a __domain_error is raised.
+
+ RealType location()const;
+
+Returns the location of this distribution.
+
+ RealType scale()const;
+
+Returns the scale of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[-\[max_value\], +\[min_value\]\].
+However, the pdf and cdf support inputs of +[infin] and -[infin]
+as special cases if RealType permits.
+
+At `p=1` and `p=0`, the quantile function returns the result of
++__overflow_error and -__overflow_error, while the complement
+quantile function returns the result of -__overflow_error and
++__overflow_error respectively.
+
+[h4 Accuracy]
+
+The logistic distribution is implemented in terms of the `std::exp`
+and the `std::log` functions, so its accuracy is related to the
+accurate implementations of those functions on a given platform.
+When calculating the quantile with a non-zero /position/ parameter
+catastrophic cancellation errors can occur:
+in such cases, only a low /absolute error/ can be guarenteed.
+
+[h4 Implementation]
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = e[super -(x-u)/s] / (s*(1+e[super -(x-u)/s])[super 2])]]
+[[cdf][Using the relation: p = 1/(1+e[super -(x-u)/s])]]
+[[cdf complement][Using the relation: q = 1/(1+e[super (x-u)/s])]]
+[[quantile][Using the relation: x = u - s*log(1/p-1)]]
+[[quantile from the complement][Using the relation: x = u + s*log(p/1-p)]]
+[[mean][u]]
+[[mode][The same as the mean.]]
+[[skewness][0]]
+[[kurtosis excess][6/5]]
+[[variance][ ([pi]*s)[super 2] / 3]]
+]
+
+[endsect]
+
+[/ logistic.qbk
+ Copyright 2006, 2007 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/lognormal.qbk b/libs/math/doc/distributions/lognormal.qbk
new file mode 100644
index 0000000000..bd275b92ae
--- /dev/null
+++ b/libs/math/doc/distributions/lognormal.qbk
@@ -0,0 +1,119 @@
+[section:lognormal_dist Log Normal Distribution]
+
+``#include <boost/math/distributions/lognormal.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class lognormal_distribution;
+
+ typedef lognormal_distribution<> lognormal;
+
+ template <class RealType, class ``__Policy``>
+ class lognormal_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Construct:
+ lognormal_distribution(RealType location = 0, RealType scale = 1);
+ // Accessors:
+ RealType location()const;
+ RealType scale()const;
+ };
+
+ }} // namespaces
+
+The lognormal distribution is the distribution that arises
+when the logarithm of the random variable is normally distributed.
+A lognormal distribution results when the variable is the product
+of a large number of independent, identically-distributed variables.
+
+For location and scale parameters /m/ and /s/ it is defined by the
+probability density function:
+
+[equation lognormal_ref]
+
+The location and scale parameters are equivalent to the mean and
+standard deviation of the logarithm of the random variable.
+
+The following graph illustrates the effect of the location
+parameter on the PDF, note that the range of the random
+variable remains \[0,+[infin]\] irrespective of the value of the
+location parameter:
+
+[graph lognormal_pdf1]
+
+The next graph illustrates the effect of the scale parameter on the PDF:
+
+[graph lognormal_pdf2]
+
+[h4 Member Functions]
+
+ lognormal_distribution(RealType location = 0, RealType scale = 1);
+
+Constructs a lognormal distribution with location /location/ and
+scale /scale/.
+
+The location parameter is the same as the mean of the logarithm of the
+random variate.
+
+The scale parameter is the same as the standard deviation of the
+logarithm of the random variate.
+
+Requires that the scale parameter is greater than zero, otherwise calls
+__domain_error.
+
+ RealType location()const;
+
+Returns the /location/ parameter of this distribution.
+
+ RealType scale()const;
+
+Returns the /scale/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0,+[infin]\].
+
+[h4 Accuracy]
+
+The lognormal distribution is implemented in terms of the
+standard library log and exp functions, plus the
+[link math_toolkit.sf_erf.error_function error function],
+and as such should have very low error rates.
+
+[h4 Implementation]
+
+In the following table /m/ is the location parameter of the distribution,
+/s/ is its scale parameter, /x/ is the random variate, /p/ is the probability
+and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = e[super -(ln(x) - m)[super 2 ] \/ 2s[super 2 ] ] \/ (x * s * sqrt(2pi)) ]]
+[[cdf][Using the relation: p = cdf(normal_distribtion<RealType>(m, s), log(x)) ]]
+[[cdf complement][Using the relation: q = cdf(complement(normal_distribtion<RealType>(m, s), log(x))) ]]
+[[quantile][Using the relation: x = exp(quantile(normal_distribtion<RealType>(m, s), p))]]
+[[quantile from the complement][Using the relation: x = exp(quantile(complement(normal_distribtion<RealType>(m, s), q)))]]
+[[mean][e[super m + s[super 2 ] / 2 ] ]]
+[[variance][(e[super s[super 2] ] - 1) * e[super 2m + s[super 2 ] ] ]]
+[[mode][e[super m + s[super 2 ] ] ]]
+[[skewness][sqrt(e[super s[super 2] ] - 1) * (2 + e[super s[super 2] ]) ]]
+[[kurtosis][e[super 4s[super 2] ] + 2e[super 3s[super 2] ] + 3e[super 2s[super 2] ] - 3]]
+[[kurtosis excess][e[super 4s[super 2] ] + 2e[super 3s[super 2] ] + 3e[super 2s[super 2] ] - 6 ]]
+]
+
+[endsect][/section:normal_dist Normal]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/nag_library.qbk b/libs/math/doc/distributions/nag_library.qbk
new file mode 100644
index 0000000000..4f728a1faf
--- /dev/null
+++ b/libs/math/doc/distributions/nag_library.qbk
@@ -0,0 +1,60 @@
+[section:nag_library Comparison with C, R, FORTRAN-style Free Functions]
+
+You are probably familiar with a statistics library that has free functions,
+for example the classic [@http://nag.com/numeric/CL/CLdescription.asp NAG C library]
+and matching [@http://nag.com/numeric/FL/FLdescription.asp NAG FORTRAN Library],
+[@http://office.microsoft.com/en-us/excel/HP052090051033.aspx Microsoft Excel BINOMDIST(number_s,trials,probability_s,cumulative)],
+[@http://www.r-project.org/ R], [@http://www.ptc.com/products/mathcad/mathcad14/mathcad_func_chart.htm MathCAD pbinom]
+and many others.
+
+If so, you may find 'Distributions as Objects' unfamiliar, if not alien.
+
+However, *do not panic*, both definition and usage are not really very different.
+
+A very simple example of generating the same values as the
+[@http://nag.com/numeric/CL/CLdescription.asp NAG C library]
+for the binomial distribution follows.
+(If you find slightly different values, the Boost C++ version, using double or better,
+is very likely to be the more accurate.
+Of course, accuracy is not usually a concern for most applications of this function).
+
+The [@http://www.nag.co.uk/numeric/cl/manual/pdf/G01/g01bjc.pdf NAG function specification] is
+
+ void nag_binomial_dist(Integer n, double p, Integer k,
+ double *plek, double *pgtk, double *peqk, NagError *fail)
+
+and is called
+
+ g01bjc(n, p, k, &plek, &pgtk, &peqk, NAGERR_DEFAULT);
+
+The equivalent using this Boost C++ library is:
+
+ using namespace boost::math; // Using declaration avoids very long names.
+ binomial my_dist(4, 0.5); // c.f. NAG n = 4, p = 0.5
+
+and values can be output thus:
+
+ cout
+ << my_dist.trials() << " " // Echo the NAG input n = 4 trials.
+ << my_dist.success_fraction() << " " // Echo the NAG input p = 0.5
+ << cdf(my_dist, 2) << " " // NAG plek with k = 2
+ << cdf(complement(my_dist, 2)) << " " // NAG pgtk with k = 2
+ << pdf(my_dist, 2) << endl; // NAG peqk with k = 2
+
+`cdf(dist, k)` is equivalent to NAG library `plek`, lower tail probability of <= k
+
+`cdf(complement(dist, k))` is equivalent to NAG library `pgtk`, upper tail probability of > k
+
+`pdf(dist, k)` is equivalent to NAG library `peqk`, point probability of == k
+
+See [@../../example/binomial_example_nag.cpp binomial_example_nag.cpp] for details.
+
+[endsect] [/section:nag_library Comparison with C, R, FORTRAN-style Free Functions]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/nc_beta.qbk b/libs/math/doc/distributions/nc_beta.qbk
new file mode 100644
index 0000000000..30b63ca7df
--- /dev/null
+++ b/libs/math/doc/distributions/nc_beta.qbk
@@ -0,0 +1,213 @@
+[section:nc_beta_dist Noncentral Beta Distribution]
+
+``#include <boost/math/distributions/non_central_beta.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class non_central_beta_distribution;
+
+ typedef non_central_beta_distribution<> non_central_beta;
+
+ template <class RealType, class ``__Policy``>
+ class non_central_beta_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ // Constructor:
+ non_central_beta_distribution(RealType alpha, RealType beta, RealType lambda);
+
+ // Accessor to shape parameters:
+ RealType alpha()const;
+ RealType beta()const;
+
+ // Accessor to non-centrality parameter lambda:
+ RealType non_centrality()const;
+ };
+
+ }} // namespaces
+
+The noncentral beta distribution is a generalization of the __beta_distrib.
+
+It is defined as the ratio
+X = [chi][sub m][super 2]([lambda]) \/ ([chi][sub m][super 2]([lambda])
++ [chi][sub n][super 2])
+where [chi][sub m][super 2]([lambda]) is a noncentral [chi][super 2]
+random variable with /m/ degrees of freedom, and [chi][sub n][super 2]
+is a central [chi][super 2] random variable with /n/ degrees of freedom.
+
+This gives a PDF that can be expressed as a Poisson mixture
+of beta distribution PDFs:
+
+[equation nc_beta_ref1]
+
+where P(i;[lambda]\/2) is the discrete Poisson probablity at /i/, with mean
+[lambda]\/2, and I[sub x][super ']([alpha], [beta]) is the derivative of
+the incomplete beta function. This leads to the usual form of the CDF
+as:
+
+[equation nc_beta_ref2]
+
+The following graph illustrates how the distribution changes
+for different values of [lambda]:
+
+[graph nc_beta_pdf]
+
+[h4 Member Functions]
+
+ non_central_beta_distribution(RealType a, RealType b, RealType lambda);
+
+Constructs a noncentral beta distribution with shape parameters /a/ and /b/
+and non-centrality parameter /lambda/.
+
+Requires a > 0, b > 0 and lambda >= 0, otherwise calls __domain_error.
+
+ RealType alpha()const;
+
+Returns the parameter /a/ from which this object was constructed.
+
+ RealType beta()const;
+
+Returns the parameter /b/ from which this object was constructed.
+
+ RealType non_centrality()const;
+
+Returns the parameter /lambda/ from which this object was constructed.
+
+[h4 Non-member Accessors]
+
+Most of the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+are supported: __cdf, __pdf, __quantile, __mean, __variance, __sd,
+__median, __mode, __hazard, __chf, __range and __support.
+
+Mean and variance are implemented using hypergeometric pfq functions and relations given in
+[@http://reference.wolfram.com/mathematica/ref/NoncentralBetaDistribution.html Wolfram Noncentral Beta Distribution].
+
+However, the following are not currently implemented:
+ __skewness, __kurtosis and __kurtosis_excess.
+
+The domain of the random variable is \[0, 1\].
+
+[h4 Accuracy]
+
+The following table shows the peak errors
+(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
+found on various platforms with various floating point types.
+No comparison to the [@http://www.r-project.org/ R-2.5.1 Math library],
+or to the FORTRAN implementations of AS226 or AS310 are given since these appear
+to only guarantee absolute error: this would causes our test harness
+to assign an /"infinite"/ error to these libraries for some of our
+test values when measuring /relative error/.
+Unless otherwise specified any floating-point type that is narrower
+than the one shown will have __zero_error.
+
+[table Errors In CDF of the Noncentral Beta
+[[Significand Size] [Platform and Compiler] [[alpha], [beta],[lambda] < 200] [[alpha],[beta],[lambda] > 200]]
+[[53] [Win32, Visual C++ 8] [Peak=620 Mean=22] [Peak=8670 Mean=1040]]
+[[64] [RedHat Linux IA32, gcc-4.1.1] [Peak=825 Mean=50] [Peak=2.5x10[super 4] Mean=4000]]
+
+[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=825 Mean=30] [Peak=1.7x10[super 4] Mean=2500]]
+
+[[113] [HPUX IA64, aCC A.06.06] [Peak=420 Mean=50] [Peak=9200 Mean=1200]]
+]
+
+Error rates for the PDF, the complement of the CDF and for the quantile
+functions are broadly similar.
+
+[h4 Tests]
+
+There are two sets of test data used to verify this implementation:
+firstly we can compare with a few sample values generated by the
+[@http://www.r-project.org/ R library].
+Secondly, we have tables of test data, computed with this
+implementation and using interval arithmetic - this data should
+be accurate to at least 50 decimal digits - and is the used for
+our accuracy tests.
+
+[h4 Implementation]
+
+The CDF and its complement are evaluated as follows:
+
+First we determine which of the two values (the CDF or its
+complement) is likely to be the smaller, the crossover point
+is taken to be the mean of the distribution: for this we use the
+approximation due to: R. Chattamvelli and R. Shanmugam,
+"Algorithm AS 310: Computing the Non-Central Beta Distribution Function",
+Applied Statistics, Vol. 46, No. 1. (1997), pp. 146-156.
+
+[equation nc_beta_ref3]
+
+Then either the CDF or its complement is computed using the
+relations:
+
+[equation nc_beta_ref4]
+
+The summation is performed by starting at i = [lambda]/2, and then recursing
+in both directions, using the usual recurrence relations for the Poisson
+PDF and incomplete beta functions. This is the "Method 2" described
+by:
+
+Denise Benton and K. Krishnamoorthy,
+"Computing discrete mixtures of continuous
+distributions: noncentral chisquare, noncentral t
+and the distribution of the square of the sample
+multiple correlation coefficient",
+Computational Statistics & Data Analysis 43 (2003) 249-267.
+
+Specific applications of the above formulae to the noncentral
+beta distribution can be found in:
+
+Russell V. Lenth,
+"Algorithm AS 226: Computing Noncentral Beta Probabilities",
+Applied Statistics, Vol. 36, No. 2. (1987), pp. 241-244.
+
+H. Frick,
+"Algorithm AS R84: A Remark on Algorithm AS 226: Computing Non-Central Beta
+Probabilities", Applied Statistics, Vol. 39, No. 2. (1990), pp. 311-312.
+
+Ming Long Lam,
+"Remark AS R95: A Remark on Algorithm AS 226: Computing Non-Central Beta
+Probabilities", Applied Statistics, Vol. 44, No. 4. (1995), pp. 551-552.
+
+Harry O. Posten,
+"An Effective Algorithm for the Noncentral Beta Distribution Function",
+The American Statistician, Vol. 47, No. 2. (May, 1993), pp. 129-131.
+
+R. Chattamvelli,
+"A Note on the Noncentral Beta Distribution Function",
+The American Statistician, Vol. 49, No. 2. (May, 1995), pp. 231-234.
+
+Of these, the Posten reference provides the most complete overview,
+and includes the modification starting iteration at [lambda]/2.
+
+The main difference between this implementation and the above
+references is the direct computation of the complement when most
+efficient to do so, and the accumulation of the sum to -1 rather
+than subtracting the result from 1 at the end: this can substantially
+reduce the number of iterations required when the result is near 1.
+
+The PDF is computed using the methodology of Benton and Krishnamoorthy
+and the relation:
+
+[equation nc_beta_ref1]
+
+Quantiles are computed using a specially modified version of
+[link math_toolkit.internals1.roots2 bracket_and_solve_root],
+starting the search for the root at the mean of the distribution.
+(A Cornish-Fisher type expansion was also tried, but while this gets
+quite close to the root in many cases, when it is wrong it tends to
+introduce quite pathological behaviour: more investigation in this
+area is probably warranted).
+
+[endsect][/section:nc_beta_dist]
+
+[/ nc_beta.qbk
+ Copyright 2008 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/nc_chi_squared.qbk b/libs/math/doc/distributions/nc_chi_squared.qbk
new file mode 100644
index 0000000000..f2b6017c11
--- /dev/null
+++ b/libs/math/doc/distributions/nc_chi_squared.qbk
@@ -0,0 +1,280 @@
+[section:nc_chi_squared_dist Noncentral Chi-Squared Distribution]
+
+``#include <boost/math/distributions/non_central_chi_squared.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class non_central_chi_squared_distribution;
+
+ typedef non_central_chi_squared_distribution<> non_central_chi_squared;
+
+ template <class RealType, class ``__Policy``>
+ class non_central_chi_squared_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ // Constructor:
+ non_central_chi_squared_distribution(RealType v, RealType lambda);
+
+ // Accessor to degrees of freedom parameter v:
+ RealType degrees_of_freedom()const;
+
+ // Accessor to non centrality parameter lambda:
+ RealType non_centrality()const;
+
+ // Parameter finders:
+ static RealType find_degrees_of_freedom(RealType lambda, RealType x, RealType p);
+ template <class A, class B, class C>
+ static RealType find_degrees_of_freedom(const complemented3_type<A,B,C>& c);
+
+ static RealType find_non_centrality(RealType v, RealType x, RealType p);
+ template <class A, class B, class C>
+ static RealType find_non_centrality(const complemented3_type<A,B,C>& c);
+ };
+
+ }} // namespaces
+
+The noncentral chi-squared distribution is a generalization of the
+__chi_squared_distrib. If X[sub i] are [nu] independent, normally
+distributed random variables with means [mu][sub i] and variances
+[sigma][sub i][super 2], then the random variable
+
+[equation nc_chi_squ_ref1]
+
+is distributed according to the noncentral chi-squared distribution.
+
+The noncentral chi-squared distribution has two parameters:
+[nu] which specifies the number of degrees of freedom
+(i.e. the number of X[sub i]), and [lambda] which is related to the
+mean of the random variables X[sub i] by:
+
+[equation nc_chi_squ_ref2]
+
+(Note that some references define [lambda] as one half of the above sum).
+
+This leads to a PDF of:
+
+[equation nc_chi_squ_ref3]
+
+where ['f(x;k)] is the central chi-squared distribution PDF, and
+['I[sub v](x)] is a modified Bessel function of the first kind.
+
+The following graph illustrates how the distribution changes
+for different values of [lambda]:
+
+[graph nccs_pdf]
+
+[h4 Member Functions]
+
+ non_central_chi_squared_distribution(RealType v, RealType lambda);
+
+Constructs a Chi-Squared distribution with /v/ degrees of freedom
+and non-centrality parameter /lambda/.
+
+Requires v > 0 and lambda >= 0, otherwise calls __domain_error.
+
+ RealType degrees_of_freedom()const;
+
+Returns the parameter /v/ from which this object was constructed.
+
+ RealType non_centrality()const;
+
+Returns the parameter /lambda/ from which this object was constructed.
+
+
+ static RealType find_degrees_of_freedom(RealType lambda, RealType x, RealType p);
+
+This function returns the number of degrees of freedom /v/ such that:
+`cdf(non_central_chi_squared<RealType, Policy>(v, lambda), x) == p`
+
+ template <class A, class B, class C>
+ static RealType find_degrees_of_freedom(const complemented3_type<A,B,C>& c);
+
+When called with argument `boost::math::complement(lambda, x, q)`
+this function returns the number of degrees of freedom /v/ such that:
+
+`cdf(complement(non_central_chi_squared<RealType, Policy>(v, lambda), x)) == q`.
+
+ static RealType find_non_centrality(RealType v, RealType x, RealType p);
+
+This function returns the non centrality parameter /lambda/ such that:
+
+`cdf(non_central_chi_squared<RealType, Policy>(v, lambda), x) == p`
+
+ template <class A, class B, class C>
+ static RealType find_non_centrality(const complemented3_type<A,B,C>& c);
+
+When called with argument `boost::math::complement(v, x, q)`
+this function returns the non centrality parameter /lambda/ such that:
+
+`cdf(complement(non_central_chi_squared<RealType, Policy>(v, lambda), x)) == q`.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0, +[infin]\].
+
+[h4 Examples]
+
+There is a
+[link math_toolkit.stat_tut.weg.nccs_eg worked example]
+for the noncentral chi-squared distribution.
+
+[h4 Accuracy]
+
+The following table shows the peak errors
+(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
+found on various platforms with various floating-point types,
+along with comparisons to the [@http://www.r-project.org/ R-2.5.1 Math library].
+Unless otherwise specified, any floating-point type that is narrower
+than the one shown will have __zero_error.
+
+[table Errors In CDF of the Noncentral Chi-Squared
+[[Significand Size] [Platform and Compiler] [[nu],[lambda] < 200] [[nu],[lambda] > 200]]
+[[53] [Win32, Visual C++ 8] [Peak=50 Mean=9.9
+
+R Peak=685 Mean=109
+] [Peak=9780 Mean=718
+
+R Peak=3x10[super 8] Mean=2x10[super 7] ] ]
+[[64] [RedHat Linux IA32, gcc-4.1.1] [Peak=270 Mean=27] [Peak=7900 Mean=900]]
+
+[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=107 Mean=17] [Peak=5000 Mean=630]]
+
+[[113] [HPUX IA64, aCC A.06.06] [Peak=270 Mean=20] [Peak=4600 Mean=560]]
+]
+
+Error rates for the complement of the CDF and for the quantile
+functions are broadly similar. Special mention should go to
+the `mode` function: there is no closed form for this function,
+so it is evaluated numerically by finding the maxima of the PDF:
+in principal this can not produce an accuracy greater than the
+square root of the machine epsilon.
+
+[h4 Tests]
+
+There are two sets of test data used to verify this implementation:
+firstly we can compare with published data, for example with
+Table 6 of "Self-Validating Computations of Probabilities for
+Selected Central and Noncentral Univariate Probability Functions",
+Morgan C. Wang and William J. Kennedy,
+Journal of the American Statistical Association,
+Vol. 89, No. 427. (Sep., 1994), pp. 878-887.
+Secondly, we have tables of test data, computed with this
+implementation and using interval arithmetic - this data should
+be accurate to at least 50 decimal digits - and is the used for
+our accuracy tests.
+
+[h4 Implementation]
+
+The CDF and its complement are evaluated as follows:
+
+First we determine which of the two values (the CDF or its
+complement) is likely to be the smaller: for this we can use the
+relation due to Temme (see "Asymptotic and Numerical Aspects of the
+Noncentral Chi-Square Distribution", N. M. Temme, Computers Math. Applic.
+Vol 25, No. 5, 55-63, 1993) that:
+
+F([nu],[lambda];[nu]+[lambda]) [asymp] 0.5
+
+and so compute the CDF when the random variable is less than
+[nu]+[lambda], and its complement when the random variable is
+greater than [nu]+[lambda]. If necessary the computed result
+is then subtracted from 1 to give the desired result (the CDF or its
+complement).
+
+For small values of the non centrality parameter, the CDF is computed
+using the method of Ding (see "Algorithm AS 275: Computing the Non-Central
+#2 Distribution Function", Cherng G. Ding, Applied Statistics, Vol. 41,
+No. 2. (1992), pp. 478-482). This uses the following series representation:
+
+[equation nc_chi_squ_ref4]
+
+which requires just one call to __gamma_p_derivative with the subsequent
+terms being computed by recursion as shown above.
+
+For larger values of the non-centrality parameter, Ding's method can take
+an unreasonable number of terms before convergence is achieved. Furthermore,
+the largest term is not the first term, so in extreme cases the first term may
+be zero, leading to a zero result, even though the true value may be non-zero.
+
+Therefore, when the non-centrality parameter is greater than 200, the method due
+to Krishnamoorthy (see "Computing discrete mixtures of continuous distributions:
+noncentral chisquare, noncentral t and the distribution of the
+square of the sample multiple correlation coefficient",
+Denise Benton and K. Krishnamoorthy, Computational Statistics &
+Data Analysis, 43, (2003), 249-267) is used.
+
+This method uses the well known sum:
+
+[equation nc_chi_squ_ref5]
+
+Where P[sub a](x) is the incomplete gamma function.
+
+The method starts at the [lambda]th term, which is where the Poisson weighting
+function achieves its maximum value, although this is not necessarily
+the largest overall term. Subsequent terms are calculated via the normal
+recurrence relations for the incomplete gamma function, and iteration proceeds
+both forwards and backwards until sufficient precision has been achieved. It
+should be noted that recurrence in the forwards direction of P[sub a](x) is
+numerically unstable. However, since we always start /after/ the largest
+term in the series, numeric instability is introduced more slowly than the
+series converges.
+
+Computation of the complement of the CDF uses an extension of Krishnamoorthy's
+method, given that:
+
+[equation nc_chi_squ_ref6]
+
+we can again start at the [lambda]'th term and proceed in both directions from
+there until the required precision is achieved. This time it is backwards
+recursion on the incomplete gamma function Q[sub a](x) which is unstable.
+However, as long as we start well /before/ the largest term, this is not an
+issue in practice.
+
+The PDF is computed directly using the relation:
+
+[equation nc_chi_squ_ref3]
+
+Where ['f(x; v)] is the PDF of the central __chi_squared_distrib and
+['I[sub v](x)] is a modified Bessel function, see __cyl_bessel_i.
+For small values of the
+non-centrality parameter the relation in terms of __cyl_bessel_i
+is used. However, this method fails for large values of the
+non-centrality parameter, so in that case the infinite sum is
+evaluated using the method of Benton and Krishnamoorthy, and
+the usual recurrence relations for successive terms.
+
+The quantile functions are computed by numeric inversion of the CDF.
+
+There is no [@http://en.wikipedia.org/wiki/Closed_form closed form]
+for the mode of the noncentral chi-squared
+distribution: it is computed numerically by finding the maximum
+of the PDF. Likewise, the median is computed numerically via
+the quantile.
+
+The remaining non-member functions use the following formulas:
+
+[equation nc_chi_squ_ref7]
+
+Some analytic properties of noncentral distributions
+(particularly unimodality, and monotonicity of their modes)
+are surveyed and summarized by:
+
+Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.
+
+[endsect] [/section:nc_chi_squared_dist]
+
+[/ nc_chi_squared.qbk
+ Copyright 2008 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/nc_chi_squared_example.qbk b/libs/math/doc/distributions/nc_chi_squared_example.qbk
new file mode 100644
index 0000000000..38f45b010e
--- /dev/null
+++ b/libs/math/doc/distributions/nc_chi_squared_example.qbk
@@ -0,0 +1,20 @@
+[section:nccs_eg Non Central Chi Squared Example]
+
+(See also the reference documentation for the __non_central_chi_squared_distrib.)
+
+[section:nccs_power_eg Tables of the power function of the chi[super 2] test.]
+[/chi super 2 failed to show the chi in pdf why??? (OK in html) so use words.]
+
+[import ../../example/nc_chi_sq_example.cpp]
+[nccs_eg]
+
+[endsect] [/nccs_power_eg Tables of the power function of the chi-squared [chi][super 2] test.]
+
+[endsect] [/section:nccs_eg Non Central Chi Squared Example]
+
+[/
+ Copyright 2006, 2011 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/distributions/nc_f.qbk b/libs/math/doc/distributions/nc_f.qbk
new file mode 100644
index 0000000000..535a5da454
--- /dev/null
+++ b/libs/math/doc/distributions/nc_f.qbk
@@ -0,0 +1,193 @@
+[section:nc_f_dist Noncentral F Distribution]
+
+``#include <boost/math/distributions/non_central_f.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class non_central_f_distribution;
+
+ typedef non_central_f_distribution<> non_central_f;
+
+ template <class RealType, class ``__Policy``>
+ class non_central_f_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ // Constructor:
+ non_central_f_distribution(RealType v1, RealType v2, RealType lambda);
+
+ // Accessor to degrees_of_freedom parameters v1 & v2:
+ RealType degrees_of_freedom1()const;
+ RealType degrees_of_freedom2()const;
+
+ // Accessor to non-centrality parameter lambda:
+ RealType non_centrality()const;
+ };
+
+ }} // namespaces
+
+The noncentral F distribution is a generalization of the __F_distrib.
+It is defined as the ratio
+
+ F = (X/v1) / (Y/v2)
+
+where X is a noncentral [chi][super 2]
+random variable with /v1/ degrees of freedom and non-centrality parameter [lambda],
+and Y is a central [chi][super 2] random variable with /v2/ degrees of freedom.
+
+This gives the following PDF:
+
+[equation nc_f_ref1]
+
+where L[sub a][super b](c) is a generalised Laguerre polynomial and B(a,b) is the
+__beta function, or
+
+[equation nc_f_ref2]
+
+The following graph illustrates how the distribution changes
+for different values of [lambda]:
+
+[graph nc_f_pdf]
+
+[h4 Member Functions]
+
+ non_central_f_distribution(RealType v1, RealType v2, RealType lambda);
+
+Constructs a non-central beta distribution with parameters /v1/ and /v2/
+and non-centrality parameter /lambda/.
+
+Requires v1 > 0, v2 > 0 and lambda >= 0, otherwise calls __domain_error.
+
+ RealType degrees_of_freedom1()const;
+
+Returns the parameter /v1/ from which this object was constructed.
+
+ RealType degrees_of_freedom2()const;
+
+Returns the parameter /v2/ from which this object was constructed.
+
+ RealType non_centrality()const;
+
+Returns the non-centrality parameter /lambda/ from which this object was constructed.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0, +[infin]\].
+
+[h4 Accuracy]
+
+This distribution is implemented in terms of the
+__non_central_beta_distrib: refer to that distribution for accuracy data.
+
+[h4 Tests]
+
+Since this distribution is implemented by adapting another distribution,
+the tests consist of basic sanity checks computed by the
+[@http://www.r-project.org/ R-2.5.1 Math library statistical
+package] and its pbeta and dbeta functions.
+
+[h4 Implementation]
+
+In the following table /v1/ and /v2/ are the first and second
+degrees of freedom parameters of the distribution, [lambda]
+is the non-centrality parameter,
+/x/ is the random variate, /p/ is the probability, and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Implemented in terms of the non-central beta PDF using the relation:
+
+f(x;v1,v2;[lambda]) = (v1\/v2) / ((1+y)*(1+y)) * g(y\/(1+y);v1\/2,v2\/2;[lambda])
+
+where g(x; a, b; [lambda]) is the non central beta PDF, and:
+
+y = x * v1 \/ v2
+]]
+[[cdf][Using the relation:
+
+p = B[sub y](v1\/2, v2\/2; [lambda])
+
+where B[sub x](a, b; [lambda]) is the noncentral beta distribution CDF and
+
+y = x * v1 \/ v2
+
+]]
+
+[[cdf complement][Using the relation:
+
+q = 1 - B[sub y](v1\/2, v2\/2; [lambda])
+
+where 1 - B[sub x](a, b; [lambda]) is the complement of the
+noncentral beta distribution CDF and
+
+y = x * v1 \/ v2
+
+]]
+[[quantile][Using the relation:
+
+x = (bx \/ (1-bx)) * (v1 \/ v2)
+
+where
+
+bx = Q[sub p][super -1](v1\/2, v2\/2; [lambda])
+
+and
+
+Q[sub p][super -1](v1\/2, v2\/2; [lambda])
+
+is the noncentral beta quantile.
+
+]]
+[[quantile
+
+from the complement][
+Using the relation:
+
+x = (bx \/ (1-bx)) * (v1 \/ v2)
+
+where
+
+bx = QC[sub q][super -1](v1\/2, v2\/2; [lambda])
+
+and
+
+QC[sub q][super -1](v1\/2, v2\/2; [lambda])
+
+is the noncentral beta quantile from the complement.]]
+[[mean][v2 * (v1 + l) \/ (v1 * (v2 - 2))]]
+[[mode][By numeric maximalisation of the PDF.]]
+[[variance][Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html
+ Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+[[skewness][Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html
+ Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.],
+ and to the [@http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html
+ Mathematica documentation] ]]
+[[kurtosis and kurtosis excess]
+ [Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html
+ Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.],
+ and to the [@http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html
+ Mathematica documentation] ]]
+]
+
+Some analytic properties of noncentral distributions
+(particularly unimodality, and monotonicity of their modes)
+are surveyed and summarized by:
+
+Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.
+
+[endsect] [/section:nc_f_dist]
+
+[/ nc_f.qbk
+ Copyright 2008 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/nc_t.qbk b/libs/math/doc/distributions/nc_t.qbk
new file mode 100644
index 0000000000..0f9a23d3f0
--- /dev/null
+++ b/libs/math/doc/distributions/nc_t.qbk
@@ -0,0 +1,231 @@
+[section:nc_t_dist Noncentral T Distribution]
+
+``#include <boost/math/distributions/non_central_t.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class non_central_t_distribution;
+
+ typedef non_central_t_distribution<> non_central_t;
+
+ template <class RealType, class ``__Policy``>
+ class non_central_t_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ // Constructor:
+ non_central_t_distribution(RealType v, RealType delta);
+
+ // Accessor to degrees_of_freedom parameter v:
+ RealType degrees_of_freedom()const;
+
+ // Accessor to non-centrality parameter delta:
+ RealType non_centrality()const;
+ };
+
+ }} // namespaces
+
+The noncentral T distribution is a generalization of the __students_t_distrib.
+Let X have a normal distribution with mean [delta] and variance 1, and let
+[nu] S[super 2] have
+a chi-squared distribution with degrees of freedom [nu]. Assume that
+X and S[super 2] are independent. The
+distribution of t[sub [nu]]([delta])=X/S is called a
+noncentral t distribution with degrees of freedom [nu] and noncentrality
+parameter [delta].
+
+This gives the following PDF:
+
+[equation nc_t_ref1]
+
+where [sub 1]F[sub 1](a;b;x) is a confluent hypergeometric function.
+
+The following graph illustrates how the distribution changes
+for different values of [nu] and [delta]:
+
+[graph nc_t_pdf]
+[graph nc_t_cdf]
+
+[h4 Member Functions]
+
+ non_central_t_distribution(RealType v, RealType delta);
+
+Constructs a non-central t distribution with degrees of freedom
+parameter /v/ and non-centrality parameter /delta/.
+
+Requires /v/ > 0 (including positive infinity) and finite /delta/, otherwise calls __domain_error.
+
+ RealType degrees_of_freedom()const;
+
+Returns the parameter /v/ from which this object was constructed.
+
+ RealType non_centrality()const;
+
+Returns the non-centrality parameter /delta/ from which this object was constructed.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[-[infin], +[infin]\].
+
+[h4 Accuracy]
+
+The following table shows the peak errors
+(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
+found on various platforms with various floating-point types.
+Unless otherwise specified, any floating-point type that is narrower
+than the one shown will have __zero_error.
+
+[table Errors In CDF of the Noncentral T Distribution
+[[Significand Size (bits)] [Platform and Compiler] [[nu], [delta] < 600]]
+[[53] [Win32, Visual C++ 8] [Peak=120 Mean=26 ] ]
+[[64] [RedHat Linux IA32, gcc-4.1.1] [Peak=121 Mean=26] ]
+[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=122 Mean=25] ]
+[[113] [HPUX IA64, aCC A.06.06] [Peak=115 Mean=24] ]
+]
+
+[caution The complexity of the current algorithm is dependent upon
+[delta][super 2]: consequently the time taken to evaluate the CDF
+increases rapidly for [delta] > 500, likewise the accuracy decreases
+rapidly for very large [delta].]
+
+Accuracy for the quantile and PDF functions should be broadly similar.
+The /mode/ is determined numerically and cannot
+in principal be more accurate than the square root of
+floating-point type FPT epsilon, accessed using `boost::math::tools::epsilon<FPT>()`.
+For 64-bit `double`, epsilon is about 1e-16, so the fractional accuracy is limited to 1e-8.
+
+[h4 Tests]
+
+There are two sets of tests of this distribution:
+
+Basic sanity checks compare this implementation to the test values given in
+"Computing discrete mixtures of continuous
+distributions: noncentral chisquare, noncentral t
+and the distribution of the square of the sample
+multiple correlation coefficient."
+Denise Benton, K. Krishnamoorthy,
+Computational Statistics & Data Analysis 43 (2003) 249-267.
+
+Accuracy checks use test data computed with this
+implementation and arbitary precision interval arithmetic:
+this test data is believed to be accurate to at least 50
+decimal places.
+
+The cases of large (or infinite) [nu] and/or large [delta] has received special
+treatment to avoid catastrophic loss of accuracy.
+New tests have been added to confirm the improvement achieved.
+
+From Boost 1.52, degrees of freedom [nu] can be +[infin]
+when the normal distribution located at [delta]
+(equivalent to the central Student's t distribution)
+is used in place for accuracy and speed.
+
+[h4 Implementation]
+
+The CDF is computed using a modification of the method
+described in
+"Computing discrete mixtures of continuous
+distributions: noncentral chisquare, noncentral t
+and the distribution of the square of the sample
+multiple correlation coefficient."
+Denise Benton, K. Krishnamoorthy,
+Computational Statistics & Data Analysis 43 (2003) 249-267.
+
+This uses the following formula for the CDF:
+
+[equation nc_t_ref2]
+
+Where I[sub x](a,b) is the incomplete beta function, and
+[Phi](x) is the normal CDF at x.
+
+Iteration starts at the largest of the Poisson weighting terms
+(at i = [delta][super 2] / 2) and then proceeds in both directions
+as per Benton and Krishnamoorthy's paper.
+
+Alternatively, by considering what happens when t = [infin], we have
+x = 1, and therefore I[sub x](a,b) = 1 and:
+
+[equation nc_t_ref3]
+
+From this we can easily show that:
+
+[equation nc_t_ref4]
+
+and therefore we have a means to compute either the probability or its
+complement directly without the risk of cancellation error. The
+crossover criterion for choosing whether to calculate the CDF or
+its complement is the same as for the
+__non_central_beta_distrib.
+
+The PDF can be computed by a very similar method using:
+
+[equation nc_t_ref5]
+
+Where I[sub x][super '](a,b) is the derivative of the incomplete beta function.
+
+For both the PDF and CDF we switch to approximating the distribution by a
+Student's t distribution centred on [delta] when [nu] is very large.
+The crossover location appears to be when [delta]/(4[nu]) < [epsilon],
+this location was estimated by inspection of equation 2.6 in
+"A Comparison of Approximations To Percentiles of the
+Noncentral t-Distribution". H. Sahai and M. M. Ojeda,
+Revista Investigacion Operacional Vol 21, No 2, 2000, page 123.
+
+Equation 2.6 is a Fisher-Cornish expansion by Eeden and Johnson.
+The second term includes the ratio [delta]/(4[nu]),
+so when this term become negligible, this and following terms can be ignored,
+leaving just Student's t distribution centred on [delta].
+
+This was also confirmed by experimental testing.
+
+See also
+
+* "Some Approximations to the Percentage Points of the Noncentral
+t-Distribution". C. van Eeden. International Statistical Review, 29, 4-31.
+
+* "Continuous Univariate Distributions". N.L. Johnson, S. Kotz and
+N. Balkrishnan. 1995. John Wiley and Sons New York.
+
+The quantile is calculated via the usual
+[link math_toolkit.internals1.roots2
+derivative-free root-finding techniques],
+with the initial guess taken as the quantile of a normal approximation
+to the noncentral T.
+
+There is no closed form for the mode, so this is computed via
+functional maximisation of the PDF.
+
+The remaining functions (mean, variance etc) are implemented
+using the formulas given in
+Weisstein, Eric W. "Noncentral Student's t-Distribution."
+From MathWorld--A Wolfram Web Resource.
+[@http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html
+http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html]
+and in the
+[@http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html
+Mathematica documentation].
+
+Some analytic properties of noncentral distributions
+(particularly unimodality, and monotonicity of their modes)
+are surveyed and summarized by:
+
+Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.
+
+
+
+[endsect] [/section:nc_t_dist]
+
+[/ nc_t.qbk
+ Copyright 2008, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/negative_binomial.qbk b/libs/math/doc/distributions/negative_binomial.qbk
new file mode 100644
index 0000000000..0c5a4be1a1
--- /dev/null
+++ b/libs/math/doc/distributions/negative_binomial.qbk
@@ -0,0 +1,373 @@
+[section:negative_binomial_dist Negative Binomial Distribution]
+
+``#include <boost/math/distributions/negative_binomial.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class negative_binomial_distribution;
+
+ typedef negative_binomial_distribution<> negative_binomial;
+
+ template <class RealType, class ``__Policy``>
+ class negative_binomial_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Constructor from successes and success_fraction:
+ negative_binomial_distribution(RealType r, RealType p);
+
+ // Parameter accessors:
+ RealType success_fraction() const;
+ RealType successes() const;
+
+ // Bounds on success fraction:
+ static RealType find_lower_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType probability); // alpha
+ static RealType find_upper_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType probability); // alpha
+
+ // Estimate min/max number of trials:
+ static RealType find_minimum_number_of_trials(
+ RealType k, // Number of failures.
+ RealType p, // Success fraction.
+ RealType probability); // Probability threshold alpha.
+ static RealType find_maximum_number_of_trials(
+ RealType k, // Number of failures.
+ RealType p, // Success fraction.
+ RealType probability); // Probability threshold alpha.
+ };
+
+ }} // namespaces
+
+The class type `negative_binomial_distribution` represents a
+[@http://en.wikipedia.org/wiki/Negative_binomial_distribution negative_binomial distribution]:
+it is used when there are exactly two mutually exclusive outcomes of a
+[@http://en.wikipedia.org/wiki/Bernoulli_trial Bernoulli trial]:
+these outcomes are labelled "success" and "failure".
+
+For k + r Bernoulli trials each with success fraction p, the
+negative_binomial distribution gives the probability of observing
+k failures and r successes with success on the last trial.
+The negative_binomial distribution
+assumes that success_fraction p is fixed for all (k + r) trials.
+
+[note The random variable for the negative binomial distribution is the number of trials,
+(the number of successes is a fixed property of the distribution)
+whereas for the binomial,
+the random variable is the number of successes, for a fixed number of trials.]
+
+It has the PDF:
+
+[equation neg_binomial_ref]
+
+The following graph illustrate how the PDF varies as the success fraction
+/p/ changes:
+
+[graph negative_binomial_pdf_1]
+
+Alternatively, this graph shows how the shape of the PDF varies as
+the number of successes changes:
+
+[graph negative_binomial_pdf_2]
+
+[h4 Related Distributions]
+
+The name negative binomial distribution is reserved by some to the
+case where the successes parameter r is an integer.
+This integer version is also called the
+[@http://mathworld.wolfram.com/PascalDistribution.html Pascal distribution].
+
+This implementation uses real numbers for the computation throughout
+(because it uses the *real-valued* incomplete beta function family of functions).
+This real-valued version is also called the Polya Distribution.
+
+The Poisson distribution is a generalization of the Pascal distribution,
+where the success parameter r is an integer: to obtain the Pascal
+distribution you must ensure that an integer value is provided for r,
+and take integer values (floor or ceiling) from functions that return
+a number of successes.
+
+For large values of r (successes), the negative binomial distribution
+converges to the Poisson distribution.
+
+The geometric distribution is a special case
+where the successes parameter r = 1,
+so only a first and only success is required.
+geometric(p) = negative_binomial(1, p).
+
+The Poisson distribution is a special case for large successes
+
+poisson([lambda]) = lim [sub r [rarr] [infin]] [space] negative_binomial(r, r / ([lambda] + r)))
+
+[discrete_quantile_warning Negative Binomial]
+
+[h4 Member Functions]
+
+[h5 Construct]
+
+ negative_binomial_distribution(RealType r, RealType p);
+
+Constructor: /r/ is the total number of successes, /p/ is the
+probability of success of a single trial.
+
+Requires: `r > 0` and `0 <= p <= 1`.
+
+[h5 Accessors]
+
+ RealType success_fraction() const; // successes / trials (0 <= p <= 1)
+
+Returns the parameter /p/ from which this distribution was constructed.
+
+ RealType successes() const; // required successes (r > 0)
+
+Returns the parameter /r/ from which this distribution was constructed.
+
+The best method of calculation for the following functions is disputed:
+see __binomial_distrib for more discussion.
+
+[h5 Lower Bound on Parameter p]
+
+ static RealType find_lower_bound_on_p(
+ RealType failures,
+ RealType successes,
+ RealType probability) // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
+
+Returns a *lower bound* on the success fraction:
+
+[variablelist
+[[failures][The total number of failures before the ['r]th success.]]
+[[successes][The number of successes required.]]
+[[alpha][The largest acceptable probability that the true value of
+ the success fraction is [*less than] the value returned.]]
+]
+
+For example, if you observe /k/ failures and /r/ successes from /n/ = k + r trials
+the best estimate for the success fraction is simply ['r/n], but if you
+want to be 95% sure that the true value is [*greater than] some value,
+['p[sub min]], then:
+
+ p``[sub min]`` = negative_binomial_distribution<RealType>::find_lower_bound_on_p(
+ failures, successes, 0.05);
+
+[link math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative binomial confidence interval example.]
+
+This function uses the Clopper-Pearson method of computing the lower bound on the
+success fraction, whilst many texts refer to this method as giving an "exact"
+result in practice it produces an interval that guarantees ['at least] the
+coverage required, and may produce pessimistic estimates for some combinations
+of /failures/ and /successes/. See:
+
+[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
+Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
+Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
+
+[h5 Upper Bound on Parameter p]
+
+ static RealType find_upper_bound_on_p(
+ RealType trials,
+ RealType successes,
+ RealType alpha); // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
+
+Returns an *upper bound* on the success fraction:
+
+[variablelist
+[[trials][The total number of trials conducted.]]
+[[successes][The number of successes that occurred.]]
+[[alpha][The largest acceptable probability that the true value of
+ the success fraction is [*greater than] the value returned.]]
+]
+
+For example, if you observe /k/ successes from /n/ trials the
+best estimate for the success fraction is simply ['k/n], but if you
+want to be 95% sure that the true value is [*less than] some value,
+['p[sub max]], then:
+
+ p``[sub max]`` = negative_binomial_distribution<RealType>::find_upper_bound_on_p(
+ r, k, 0.05);
+
+[link math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative binomial confidence interval example.]
+
+This function uses the Clopper-Pearson method of computing the lower bound on the
+success fraction, whilst many texts refer to this method as giving an "exact"
+result in practice it produces an interval that guarantees ['at least] the
+coverage required, and may produce pessimistic estimates for some combinations
+of /failures/ and /successes/. See:
+
+[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
+Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
+Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
+
+[h5 Estimating Number of Trials to Ensure at Least a Certain Number of Failures]
+
+ static RealType find_minimum_number_of_trials(
+ RealType k, // number of failures.
+ RealType p, // success fraction.
+ RealType alpha); // probability threshold (0.05 equivalent to 95%).
+
+This functions estimates the number of trials required to achieve a certain
+probability that [*more than k failures will be observed].
+
+[variablelist
+[[k][The target number of failures to be observed.]]
+[[p][The probability of ['success] for each trial.]]
+[[alpha][The maximum acceptable risk that only k failures or fewer will be observed.]]
+]
+
+For example:
+
+ negative_binomial_distribution<RealType>::find_minimum_number_of_trials(10, 0.5, 0.05);
+
+Returns the smallest number of trials we must conduct to be 95% sure
+of seeing 10 failures that occur with frequency one half.
+
+[link math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_size_eg Worked Example.]
+
+This function uses numeric inversion of the negative binomial distribution
+to obtain the result: another interpretation of the result, is that it finds
+the number of trials (success+failures) that will lead to an /alpha/ probability
+of observing k failures or fewer.
+
+[h5 Estimating Number of Trials to Ensure a Maximum Number of Failures or Less]
+
+ static RealType find_maximum_number_of_trials(
+ RealType k, // number of failures.
+ RealType p, // success fraction.
+ RealType alpha); // probability threshold (0.05 equivalent to 95%).
+
+This functions estimates the maximum number of trials we can conduct and achieve
+a certain probability that [*k failures or fewer will be observed].
+
+[variablelist
+[[k][The maximum number of failures to be observed.]]
+[[p][The probability of ['success] for each trial.]]
+[[alpha][The maximum acceptable ['risk] that more than k failures will be observed.]]
+]
+
+For example:
+
+ negative_binomial_distribution<RealType>::find_maximum_number_of_trials(0, 1.0-1.0/1000000, 0.05);
+
+Returns the largest number of trials we can conduct and still be 95% sure
+of seeing no failures that occur with frequency one in one million.
+
+This function uses numeric inversion of the negative binomial distribution
+to obtain the result: another interpretation of the result, is that it finds
+the number of trials (success+failures) that will lead to an /alpha/ probability
+of observing more than k failures.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+However it's worth taking a moment to define what these actually mean in
+the context of this distribution:
+
+[table Meaning of the non-member accessors.
+[[Function][Meaning]]
+[[__pdf]
+ [The probability of obtaining [*exactly k failures] from k+r trials
+ with success fraction p. For example:
+
+``pdf(negative_binomial(r, p), k)``]]
+[[__cdf]
+ [The probability of obtaining [*k failures or fewer] from k+r trials
+ with success fraction p and success on the last trial. For example:
+
+``cdf(negative_binomial(r, p), k)``]]
+[[__ccdf]
+ [The probability of obtaining [*more than k failures] from k+r trials
+ with success fraction p and success on the last trial. For example:
+
+``cdf(complement(negative_binomial(r, p), k))``]]
+[[__quantile]
+ [The [*greatest] number of failures k expected to be observed from k+r trials
+ with success fraction p, at probability P. Note that the value returned
+ is a real-number, and not an integer. Depending on the use case you may
+ want to take either the floor or ceiling of the real result. For example:
+
+``quantile(negative_binomial(r, p), P)``]]
+[[__quantile_c]
+ [The [*smallest] number of failures k expected to be observed from k+r trials
+ with success fraction p, at probability P. Note that the value returned
+ is a real-number, and not an integer. Depending on the use case you may
+ want to take either the floor or ceiling of the real result. For example:
+ ``quantile(complement(negative_binomial(r, p), P))``]]
+]
+
+[h4 Accuracy]
+
+This distribution is implemented using the
+incomplete beta functions __ibeta and __ibetac:
+please refer to these functions for information on accuracy.
+
+[h4 Implementation]
+
+In the following table, /p/ is the probability that any one trial will
+be successful (the success fraction), /r/ is the number of successes,
+/k/ is the number of failures, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][pdf = exp(lgamma(r + k) - lgamma(r) - lgamma(k+1)) * pow(p, r) * pow((1-p), k)
+
+Implementation is in terms of __ibeta_derivative:
+
+(p/(r + k)) * ibeta_derivative(r, static_cast<RealType>(k+1), p)
+The function __ibeta_derivative is used here, since it has already
+been optimised for the lowest possible error - indeed this is really
+just a thin wrapper around part of the internals of the incomplete
+beta function.
+]]
+[[cdf][Using the relation:
+
+cdf = I[sub p](r, k+1) = ibeta(r, k+1, p)
+
+= ibeta(r, static_cast<RealType>(k+1), p)]]
+[[cdf complement][Using the relation:
+
+1 - cdf = I[sub p](k+1, r)
+
+= ibetac(r, static_cast<RealType>(k+1), p)
+]]
+[[quantile][ibeta_invb(r, p, P) - 1]]
+[[quantile from the complement][ibetac_invb(r, p, Q) -1)]]
+[[mean][ `r(1-p)/p` ]]
+[[variance][ `r (1-p) / p * p` ]]
+[[mode][`floor((r-1) * (1 - p)/p)`]]
+[[skewness][`(2 - p) / sqrt(r * (1 - p))`]]
+[[kurtosis][`6 / r + (p * p) / r * (1 - p )`]]
+[[kurtosis excess][`6 / r + (p * p) / r * (1 - p ) -3`]]
+[[parameter estimation member functions][]]
+[[`find_lower_bound_on_p`][ibeta_inv(successes, failures + 1, alpha)]]
+[[`find_upper_bound_on_p`][ibetac_inv(successes, failures, alpha) plus see comments in code.]]
+[[`find_minimum_number_of_trials`][ibeta_inva(k + 1, p, alpha)]]
+[[`find_maximum_number_of_trials`][ibetac_inva(k + 1, p, alpha)]]
+]
+
+Implementation notes:
+
+* The real concept type (that deliberately lacks the Lanczos approximation),
+was found to take several minutes to evaluate some extreme test values,
+so the test has been disabled for this type.
+
+* Much greater speed, and perhaps greater accuracy,
+might be achieved for extreme values by using a normal approximation.
+This is NOT been tested or implemented.
+
+[endsect][/section:negative_binomial_dist Negative Binomial]
+
+[/ negative_binomial.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/negative_binomial_example.qbk b/libs/math/doc/distributions/negative_binomial_example.qbk
new file mode 100644
index 0000000000..4c992bd57d
--- /dev/null
+++ b/libs/math/doc/distributions/negative_binomial_example.qbk
@@ -0,0 +1,192 @@
+[section:neg_binom_eg Negative Binomial Distribution Examples]
+
+(See also the reference documentation for the __negative_binomial_distrib.)
+
+[section:neg_binom_conf Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution]
+
+Imagine you have a process that follows a negative binomial distribution:
+for each trial conducted, an event either occurs or does it does not, referred
+to as "successes" and "failures". The frequency with which successes occur
+is variously referred to as the
+success fraction, success ratio, success percentage, occurrence frequency, or probability of occurrence.
+
+If, by experiment, you want to measure the
+ the best estimate of success fraction is given simply
+by /k/ \/ /N/, for /k/ successes out of /N/ trials.
+
+However our confidence in that estimate will be shaped by how many trials were conducted,
+and how many successes were observed. The static member functions
+`negative_binomial_distribution<>::find_lower_bound_on_p` and
+`negative_binomial_distribution<>::find_upper_bound_on_p`
+allow you to calculate the confidence intervals for your estimate of the success fraction.
+
+The sample program [@../../example/neg_binom_confidence_limits.cpp
+neg_binom_confidence_limits.cpp] illustrates their use.
+
+[import ../../example/neg_binom_confidence_limits.cpp]
+
+[neg_binomial_confidence_limits]
+Let's see some sample output for a 1 in 10
+success ratio, first for a mere 20 trials:
+
+[pre'''______________________________________________
+2-Sided Confidence Limits For Success Fraction
+______________________________________________
+Number of trials = 20
+Number of successes = 2
+Number of failures = 18
+Observed frequency of occurrence = 0.1
+___________________________________________
+Confidence Lower Upper
+ Value (%) Limit Limit
+___________________________________________
+ 50.000 0.04812 0.13554
+ 75.000 0.03078 0.17727
+ 90.000 0.01807 0.22637
+ 95.000 0.01235 0.26028
+ 99.000 0.00530 0.33111
+ 99.900 0.00164 0.41802
+ 99.990 0.00051 0.49202
+ 99.999 0.00016 0.55574
+''']
+
+As you can see, even at the 95% confidence level the bounds (0.012 to 0.26) are
+really very wide, and very asymmetric about the observed value 0.1.
+
+Compare that with the program output for a mass
+2000 trials:
+
+[pre'''______________________________________________
+2-Sided Confidence Limits For Success Fraction
+______________________________________________
+Number of trials = 2000
+Number of successes = 200
+Number of failures = 1800
+Observed frequency of occurrence = 0.1
+___________________________________________
+Confidence Lower Upper
+ Value (%) Limit Limit
+___________________________________________
+ 50.000 0.09536 0.10445
+ 75.000 0.09228 0.10776
+ 90.000 0.08916 0.11125
+ 95.000 0.08720 0.11352
+ 99.000 0.08344 0.11802
+ 99.900 0.07921 0.12336
+ 99.990 0.07577 0.12795
+ 99.999 0.07282 0.13206
+''']
+
+Now even when the confidence level is very high, the limits (at 99.999%, 0.07 to 0.13) are really
+quite close and nearly symmetric to the observed value of 0.1.
+
+[endsect][/section:neg_binom_conf Calculating Confidence Limits on the Frequency of Occurrence]
+
+[section:neg_binom_size_eg Estimating Sample Sizes for the Negative Binomial.]
+
+Imagine you have an event
+(let's call it a "failure" - though we could equally well call it a success if we felt it was a 'good' event)
+that you know will occur in 1 in N trials. You may want to know how many trials you need to
+conduct to be P% sure of observing at least k such failures.
+If the failure events follow a negative binomial
+distribution (each trial either succeeds or fails)
+then the static member function `negative_binomial_distibution<>::find_minimum_number_of_trials`
+can be used to estimate the minimum number of trials required to be P% sure
+of observing the desired number of failures.
+
+The example program
+[@../../example/neg_binomial_sample_sizes.cpp neg_binomial_sample_sizes.cpp]
+demonstrates its usage.
+
+[import ../../example/neg_binomial_sample_sizes.cpp]
+[neg_binomial_sample_sizes]
+
+[note Since we're calculating the /minimum/ number of trials required,
+we'll err on the safe side and take the ceiling of the result.
+Had we been calculating the
+/maximum/ number of trials permitted to observe less than a certain
+number of /failures/ then we would have taken the floor instead. We
+would also have called `find_minimum_number_of_trials` like this:
+``
+ floor(negative_binomial::find_minimum_number_of_trials(failures, p, alpha[i]))
+``
+which would give us the largest number of trials we could conduct and
+still be P% sure of observing /failures or less/ failure events, when the
+probability of success is /p/.]
+
+We'll finish off by looking at some sample output, firstly suppose
+we wish to observe at least 5 "failures" with a 50/50 (0.5) chance of
+success or failure:
+
+[pre
+'''Target number of failures = 5, Success fraction = 50%
+
+____________________________
+Confidence Min Number
+ Value (%) Of Trials
+____________________________
+ 50.000 11
+ 75.000 14
+ 90.000 17
+ 95.000 18
+ 99.000 22
+ 99.900 27
+ 99.990 31
+ 99.999 36
+'''
+]
+
+So 18 trials or more would yield a 95% chance that at least our 5
+required failures would be observed.
+
+Compare that to what happens if the success ratio is 90%:
+
+[pre'''Target number of failures = 5.000, Success fraction = 90.000%
+
+____________________________
+Confidence Min Number
+ Value (%) Of Trials
+____________________________
+ 50.000 57
+ 75.000 73
+ 90.000 91
+ 95.000 103
+ 99.000 127
+ 99.900 159
+ 99.990 189
+ 99.999 217
+''']
+
+So now 103 trials are required to observe at least 5 failures with
+95% certainty.
+
+[endsect] [/section:neg_binom_size_eg Estimating Sample Sizes.]
+
+[section:negative_binomial_example1 Negative Binomial Sales Quota Example.]
+
+This example program
+[@../../example/negative_binomial_example1.cpp negative_binomial_example1.cpp (full source code)]
+demonstrates a simple use to find the probability of meeting a sales quota.
+
+[import ../../example/negative_binomial_example1.cpp]
+[negative_binomial_eg1_1]
+[negative_binomial_eg1_2]
+
+[endsect] [/section:negative_binomial_example1]
+
+[section:negative_binomial_example2 Negative Binomial Table Printing Example.]
+Example program showing output of a table of values of cdf and pdf for various k failures.
+[import ../../example/negative_binomial_example2.cpp]
+[neg_binomial_example2]
+[neg_binomial_example2_1]
+[endsect] [/section:negative_binomial_example1 Negative Binomial example 2.]
+
+[endsect] [/section:neg_binom_eg Negative Binomial Distribution Examples]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/non_members.qbk b/libs/math/doc/distributions/non_members.qbk
new file mode 100644
index 0000000000..653d24979c
--- /dev/null
+++ b/libs/math/doc/distributions/non_members.qbk
@@ -0,0 +1,406 @@
+[section:nmp Non-Member Properties]
+
+Properties that are common to all distributions are accessed via non-member
+getter functions: non-membership allows more of these functions to be added over time,
+as the need arises. Unfortunately the literature uses many different and
+confusing names to refer to a rather small number of actual concepts; refer
+to the [link math_toolkit.dist_ref.nmp.concept_index concept index] to find the property you
+want by the name you are most familiar with.
+Or use the [link math_toolkit.dist_ref.nmp.function_index function index]
+to go straight to the function you want if you already know its name.
+
+[h4:function_index Function Index]
+
+* __cdf.
+* __ccdf.
+* __chf.
+* __hazard.
+* __kurtosis.
+* __kurtosis_excess
+* __mean.
+* __median.
+* __mode.
+* __pdf.
+* __range.
+* __quantile.
+* __quantile_c.
+* __skewness.
+* __sd.
+* __support.
+* __variance.
+
+[h4:concept_index Conceptual Index]
+
+* __ccdf.
+* __cdf.
+* __chf.
+* [link math_toolkit.dist_ref.nmp.cdf_inv Inverse Cumulative Distribution Function].
+* [link math_toolkit.dist_ref.nmp.survival_inv Inverse Survival Function].
+* __hazard
+* [link math_toolkit.dist_ref.nmp.lower_critical Lower Critical Value].
+* __kurtosis.
+* __kurtosis_excess
+* __mean.
+* __median.
+* __mode.
+* [link math_toolkit.dist_ref.nmp.cdfPQ P].
+* [link math_toolkit.dist_ref.nmp.percent Percent Point Function].
+* __pdf.
+* [link math_toolkit.dist_ref.nmp.pmf Probability Mass Function].
+* __range.
+* [link math_toolkit.dist_ref.nmp.cdfPQ Q].
+* __quantile.
+* [link math_toolkit.dist_ref.nmp.quantile_c Quantile from the complement of the probability].
+* __skewness.
+* __sd
+* [link math_toolkit.dist_ref.nmp.survival Survival Function].
+* [link math_toolkit.dist_ref.nmp.support support].
+* [link math_toolkit.dist_ref.nmp.upper_critical Upper Critical Value].
+* __variance.
+
+[h4:cdf Cumulative Distribution Function]
+
+ template <class RealType, class ``__Policy``>
+ RealType cdf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
+
+The __cdf is the probability that
+the variable takes a value less than or equal to x. It is equivalent
+to the integral from -infinity to x of the __pdf.
+
+This function may return a __domain_error if the random variable is outside
+the defined range for the distribution.
+
+For example, the following graph shows the cdf for the
+normal distribution:
+
+[$../graphs/cdf.png]
+
+[h4:ccdf Complement of the Cumulative Distribution Function]
+
+ template <class Distribution, class RealType>
+ RealType cdf(const ``['Unspecified-Complement-Type]``<Distribution, RealType>& comp);
+
+The complement of the __cdf
+is the probability that
+the variable takes a value greater than x. It is equivalent
+to the integral from x to infinity of the __pdf, or 1 minus the __cdf of x.
+
+This is also known as the survival function.
+
+This function may return a __domain_error if the random variable is outside
+the defined range for the distribution.
+
+In this library, it is obtained by wrapping the arguments to the `cdf`
+function in a call to `complement`, for example:
+
+ // standard normal distribution object:
+ boost::math::normal norm;
+ // print survival function for x=2.0:
+ std::cout << cdf(complement(norm, 2.0)) << std::endl;
+
+For example, the following graph shows the __complement of the cdf for the
+normal distribution:
+
+[$../graphs/survival.png]
+
+See __why_complements for why the complement is useful and when it should be used.
+
+[h4:hazard Hazard Function]
+
+ template <class RealType, class ``__Policy``>
+ RealType hazard(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
+
+Returns the __hazard of /x/ and distibution /dist/.
+
+This function may return a __domain_error if the random variable is outside
+the defined range for the distribution.
+
+[equation hazard]
+
+[caution
+Some authors refer to this as the conditional failure
+density function rather than the hazard function.]
+
+[h4:chf Cumulative Hazard Function]
+
+ template <class RealType, class ``__Policy``>
+ RealType chf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
+
+Returns the __chf of /x/ and distibution /dist/.
+
+This function may return a __domain_error if the random variable is outside
+the defined range for the distribution.
+
+[equation chf]
+
+[caution
+Some authors refer to this as simply the "Hazard Function".]
+
+[h4:mean mean]
+
+ template<class RealType, class ``__Policy``>
+ RealType mean(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the mean of the distribution /dist/.
+
+This function may return a __domain_error if the distribution does not have
+a defined mean (for example the Cauchy distribution).
+
+[h4:median median]
+
+ template<class RealType, class ``__Policy``>
+ RealType median(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the median of the distribution /dist/.
+
+[h4:mode mode]
+
+ template<class RealType, ``__Policy``>
+ RealType mode(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the mode of the distribution /dist/.
+
+This function may return a __domain_error if the distribution does not have
+a defined mode.
+
+[h4:pdf Probability Density Function]
+
+ template <class RealType, class ``__Policy``>
+ RealType pdf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
+
+For a continuous function, the probability density function (pdf) returns
+the probability that the variate has the value x.
+Since for continuous distributions the probability at a single point is actually zero,
+the probability is better expressed as the integral of the pdf between two points:
+see the __cdf.
+
+For a discrete distribution, the pdf is the probability that the
+variate takes the value x.
+
+This function may return a __domain_error if the random variable is outside
+the defined range for the distribution.
+
+For example, for a standard normal distribution the pdf looks like this:
+
+[$../graphs/pdf.png]
+
+[h4:range Range]
+
+ template<class RealType, class ``__Policy``>
+ std::pair<RealType, RealType> range(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the valid range of the random variable over distribution /dist/.
+
+[h4:quantile Quantile]
+
+ template <class RealType, class ``__Policy``>
+ RealType quantile(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& p);
+
+The quantile is best viewed as the inverse of the __cdf, it returns
+a value /x/ such that `cdf(dist, x) == p`.
+
+This is also known as the /percent point function/, or /percentile/, or /fractile/,
+it is also the same as calculating the ['lower critical value] of a distribution.
+
+This function returns a __domain_error if the probability lies outside [0,1].
+The function may return an __overflow_error if there is no finite value
+that has the specified probability.
+
+The following graph shows the quantile function for a standard normal
+distribution:
+
+[$../graphs/quantile.png]
+
+[h4:quantile_c Quantile from the complement of the probability.]
+See also [link math_toolkit.stat_tut.overview.complements complements].
+
+
+ template <class Distribution, class RealType>
+ RealType quantile(const ``['Unspecified-Complement-Type]``<Distribution, RealType>& comp);
+
+This is the inverse of the __ccdf. It is calculated by wrapping
+the arguments in a call to the quantile function in a call to
+/complement/. For example:
+
+ // define a standard normal distribution:
+ boost::math::normal norm;
+ // print the value of x for which the complement
+ // of the probability is 0.05:
+ std::cout << quantile(complement(norm, 0.05)) << std::endl;
+
+The function computes a value /x/ such that
+`cdf(complement(dist, x)) == q` where /q/ is complement of the
+probability.
+
+[link why_complements Why complements?]
+
+This function is also called the inverse survival function, and is the
+same as calculating the ['upper critical value] of a distribution.
+
+This function returns a __domain_error if the probablity lies outside [0,1].
+The function may return an __overflow_error if there is no finite value
+that has the specified probability.
+
+The following graph show the inverse survival function for the normal
+distribution:
+
+[$../graphs/survival_inv.png]
+
+[h4:sd Standard Deviation]
+
+ template <class RealType, class ``__Policy``>
+ RealType standard_deviation(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the standard deviation of distribution /dist/.
+
+This function may return a __domain_error if the distribution does not have
+a defined standard deviation.
+
+[h4:support support]
+
+ template<class RealType, class ``__Policy``>
+ std::pair<RealType, RealType> support(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the supported range of random variable over the distribution /dist/.
+
+The distribution is said to be 'supported' over a range that is
+[@http://en.wikipedia.org/wiki/Probability_distribution
+ "the smallest closed set whose complement has probability zero"].
+Non-mathematicians might say it means the 'interesting' smallest range
+of random variate x that has the cdf going from zero to unity.
+Outside are uninteresting zones where the pdf is zero, and the cdf zero or unity.
+
+[h4:variance Variance]
+
+ template <class RealType, class ``__Policy``>
+ RealType variance(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the variance of the distribution /dist/.
+
+This function may return a __domain_error if the distribution does not have
+a defined variance.
+
+[h4:skewness Skewness]
+
+ template <class RealType, class ``__Policy``>
+ RealType skewness(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the skewness of the distribution /dist/.
+
+This function may return a __domain_error if the distribution does not have
+a defined skewness.
+
+[h4:kurtosis Kurtosis]
+
+ template <class RealType, class ``__Policy``>
+ RealType kurtosis(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the 'proper' kurtosis (normalized fourth moment) of the distribution /dist/.
+
+kertosis = [beta][sub 2][space]= [mu][sub 4][space] / [mu][sub 2][super 2]
+
+Where [mu][sub i][space] is the i'th central moment of the distribution, and
+in particular [mu][sub 2][space] is the variance of the distribution.
+
+The kurtosis is a measure of the "peakedness" of a distribution.
+
+Note that the literature definition of kurtosis is confusing.
+The definition used here is that used by for example
+[@http://mathworld.wolfram.com/Kurtosis.html Wolfram MathWorld]
+(that includes a table of formulae for kurtosis excess for various distributions)
+but NOT the definition of
+[@http://en.wikipedia.org/wiki/Kurtosis kurtosis used by Wikipedia]
+which treats "kurtosis" and "kurtosis excess" as the same quantity.
+
+ kurtosis_excess = 'proper' kurtosis - 3
+
+This subtraction of 3 is convenient so that the ['kurtosis excess]
+of a normal distribution is zero.
+
+This function may return a __domain_error if the distribution does not have
+a defined kurtosis.
+
+'Proper' kurtosis can have a value from zero to + infinity.
+
+[h4:kurtosis_excess Kurtosis excess]
+
+ template <class RealType, ``__Policy``>
+ RealType kurtosis_excess(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
+
+Returns the kurtosis excess of the distribution /dist/.
+
+kurtosis excess = [gamma][sub 2][space]= [mu][sub 4][space] / [mu][sub 2][super 2][space]- 3 = kurtosis - 3
+
+Where [mu][sub i][space] is the i'th central moment of the distribution, and
+in particular [mu][sub 2][space] is the variance of the distribution.
+
+The kurtosis excess is a measure of the "peakedness" of a distribution, and
+is more widely used than the "kurtosis proper". It is defined so that
+the kurtosis excess of a normal distribution is zero.
+
+This function may return a __domain_error if the distribution does not have
+a defined kurtosis excess.
+
+Kurtosis excess can have a value from -2 to + infinity.
+
+ kurtosis = kurtosis_excess +3;
+
+The kurtosis excess of a normal distribution is zero.
+
+[h4:cdfPQ P and Q]
+
+The terms P and Q are sometimes used to refer to the __cdf
+and its [link math_toolkit.dist_ref.nmp.ccdf complement] respectively.
+Lowercase p and q are sometimes used to refer to the values returned
+by these functions.
+
+[h4:percent Percent Point Function or Percentile]
+
+The percent point function, also known as the percentile, is the same as
+the __quantile.
+
+[h4:cdf_inv Inverse CDF Function.]
+
+The inverse of the cumulative distribution function, is the same as the
+__quantile.
+
+[h4:survival_inv Inverse Survival Function.]
+
+The inverse of the survival function, is the same as computing the
+[link math_toolkit.dist_ref.nmp.quantile_c quantile
+from the complement of the probability].
+
+[h4:pmf Probability Mass Function]
+
+The Probability Mass Function is the same as the __pdf.
+
+The term Mass Function is usually applied to discrete distributions,
+while the term __pdf applies to continuous distributions.
+
+[h4:lower_critical Lower Critical Value.]
+
+The lower critical value calculates the value of the random variable
+given the area under the left tail of the distribution.
+It is equivalent to calculating the __quantile.
+
+[h4: upper_critical Upper Critical Value.]
+
+The upper critical value calculates the value of the random variable
+given the area under the right tail of the distribution. It is equivalent to
+calculating the [link math_toolkit.dist_ref.nmp.quantile_c quantile from the complement of the
+probability].
+
+[h4:survival Survival Function]
+
+Refer to the __ccdf.
+
+[endsect][/section:nmp Non-Member Properties]
+
+
+[/ non_members.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/normal.qbk b/libs/math/doc/distributions/normal.qbk
new file mode 100644
index 0000000000..c78cb6f2e0
--- /dev/null
+++ b/libs/math/doc/distributions/normal.qbk
@@ -0,0 +1,120 @@
+[section:normal_dist Normal (Gaussian) Distribution]
+
+``#include <boost/math/distributions/normal.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class normal_distribution;
+
+ typedef normal_distribution<> normal;
+
+ template <class RealType, class ``__Policy``>
+ class normal_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Construct:
+ normal_distribution(RealType mean = 0, RealType sd = 1);
+ // Accessors:
+ RealType mean()const; // location.
+ RealType standard_deviation()const; // scale.
+ // Synonyms, provided to allow generic use of find_location and find_scale.
+ RealType location()const;
+ RealType scale()const;
+ };
+
+ }} // namespaces
+
+The normal distribution is probably the most well known statistical
+distribution: it is also known as the Gaussian Distribution.
+A normal distribution with mean zero and standard deviation one
+is known as the ['Standard Normal Distribution].
+
+Given mean [mu][space]and standard deviation [sigma][space]it has the PDF:
+
+[space] [equation normal_ref1]
+
+The variation the PDF with its parameters is illustrated
+in the following graph:
+
+[graph normal_pdf]
+
+The cumulative distribution function is given by
+
+[space] [equation normal_cdf]
+
+and illustrated by this graph
+
+[graph normal_cdf]
+
+
+[h4 Member Functions]
+
+ normal_distribution(RealType mean = 0, RealType sd = 1);
+
+Constructs a normal distribution with mean /mean/ and
+standard deviation /sd/.
+
+Requires sd > 0, otherwise __domain_error is called.
+
+ RealType mean()const;
+ RealType location()const;
+
+both return the /mean/ of this distribution.
+
+ RealType standard_deviation()const;
+ RealType scale()const;
+
+both return the /standard deviation/ of this distribution.
+(Redundant location and scale function are provided to match other similar distributions,
+allowing the functions find_location and find_scale to be used generically).
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[-[max_value], +[min_value]\].
+However, the pdf of +[infin] and -[infin] = 0 is also supported,
+and cdf at -[infin] = 0, cdf at +[infin] = 1,
+and complement cdf -[infin] = 1 and +[infin] = 0,
+if RealType permits.
+
+[h4 Accuracy]
+
+The normal distribution is implemented in terms of the
+[link math_toolkit.sf_erf.error_function error function],
+and as such should have very low error rates.
+
+[h4 Implementation]
+
+In the following table /m/ is the mean of the distribution,
+and /s/ is its standard deviation.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = e[super -(x-m)[super 2]\/(2s[super 2])] \/ (s * sqrt(2*pi)) ]]
+[[cdf][Using the relation: p = 0.5 * __erfc(-(x-m)/(s*sqrt(2))) ]]
+[[cdf complement][Using the relation: q = 0.5 * __erfc((x-m)/(s*sqrt(2))) ]]
+[[quantile][Using the relation: x = m - s * sqrt(2) * __erfc_inv(2*p)]]
+[[quantile from the complement][Using the relation: x = m + s * sqrt(2) * __erfc_inv(2*p)]]
+[[mean and standard deviation][The same as `dist.mean()` and `dist.standard_deviation()`]]
+[[mode][The same as the mean.]]
+[[median][The same as the mean.]]
+[[skewness][0]]
+[[kurtosis][3]]
+[[kurtosis excess][0]]
+]
+
+[endsect][/section:normal_dist Normal]
+
+[/ normal.qbk
+ Copyright 2006, 2007, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/normal_example.qbk b/libs/math/doc/distributions/normal_example.qbk
new file mode 100644
index 0000000000..c8dc4a0c2d
--- /dev/null
+++ b/libs/math/doc/distributions/normal_example.qbk
@@ -0,0 +1,36 @@
+[section:normal_example Normal Distribution Examples]
+
+(See also the reference documentation for the __normal_distrib.)
+
+[section:normal_misc Some Miscellaneous Examples of the Normal (Gaussian) Distribution]
+
+The sample program [@../../example/normal_misc_examples.cpp
+normal_misc_examples.cpp] illustrates their use.
+
+[import ../../example/normal_misc_examples.cpp]
+
+[h4 Traditional Tables]
+[normal_basic1]
+
+[h4 Standard deviations either side of the Mean]
+[normal_basic2]
+[h4 Some simple examples]
+[h4 Life of light bulbs]
+[normal_bulbs_example1]
+[h4 How many onions?]
+[normal_bulbs_example3]
+[h4 Packing beef]
+[normal_bulbs_example4]
+[h4 Length of bolts]
+[normal_bulbs_example5]
+
+[endsect] [/section:normal_misc Some Miscellaneous Examples of the Normal Distribution]
+[endsect] [/section:normal_example Normal Distribution Examples]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/pareto.qbk b/libs/math/doc/distributions/pareto.qbk
new file mode 100644
index 0000000000..7584d53e9f
--- /dev/null
+++ b/libs/math/doc/distributions/pareto.qbk
@@ -0,0 +1,121 @@
+[section:pareto Pareto Distribution]
+
+
+``#include <boost/math/distributions/pareto.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class pareto_distribution;
+
+ typedef pareto_distribution<> pareto;
+
+ template <class RealType, class ``__Policy``>
+ class pareto_distribution
+ {
+ public:
+ typedef RealType value_type;
+ // Constructor:
+ pareto_distribution(RealType scale = 1, RealType shape = 1)
+ // Accessors:
+ RealType scale()const;
+ RealType shape()const;
+ };
+
+ }} // namespaces
+
+The [@http://en.wikipedia.org/wiki/pareto_distribution Pareto distribution]
+is a continuous distribution with the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function (pdf)]:
+
+f(x; [alpha], [beta]) = [alpha][beta][super [alpha]] / x[super [alpha]+ 1]
+
+For shape parameter [alpha][space] > 0, and scale parameter [beta][space] > 0.
+If x < [beta][space], the pdf is zero.
+
+The [@http://mathworld.wolfram.com/ParetoDistribution.html Pareto distribution]
+often describes the larger compared to the smaller.
+A classic example is that 80% of the wealth is owned by 20% of the population.
+
+The following graph illustrates how the PDF varies with the scale parameter [beta]:
+
+[graph pareto_pdf1]
+
+And this graph illustrates how the PDF varies with the shape parameter [alpha]:
+
+[graph pareto_pdf2]
+
+
+[h4 Related distributions]
+
+
+[h4 Member Functions]
+
+ pareto_distribution(RealType scale = 1, RealType shape = 1);
+
+Constructs a [@http://en.wikipedia.org/wiki/pareto_distribution
+pareto distribution] with shape /shape/ and scale /scale/.
+
+Requires that the /shape/ and /scale/ parameters are both greater than zero,
+otherwise calls __domain_error.
+
+ RealType scale()const;
+
+Returns the /scale/ parameter of this distribution.
+
+ RealType shape()const;
+
+Returns the /shape/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The supported domain of the random variable is \[scale, [infin]\].
+
+[h4 Accuracy]
+
+The Pareto distribution is implemented in terms of the
+standard library `exp` functions plus __expm1
+and so should have very small errors, usually only a few epsilon.
+
+If probability is near to unity (or the complement of a probability near zero) see also __why_complements.
+
+[h4 Implementation]
+
+In the following table [alpha][space] is the shape parameter of the distribution, and
+[beta][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
+and its complement /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf p = [alpha][beta][super [alpha]]/x[super [alpha] +1] ]]
+[[cdf][Using the relation: cdf p = 1 - ([beta][space] / x)[super [alpha]] ]]
+[[cdf complement][Using the relation: q = 1 - p = -([beta][space] / x)[super [alpha]] ]]
+[[quantile][Using the relation: x = [beta] / (1 - p)[super 1/[alpha]] ]]
+[[quantile from the complement][Using the relation: x = [beta] / (q)[super 1/[alpha]] ]]
+[[mean][[alpha][beta] / ([beta] - 1) ]]
+[[variance][[beta][alpha][super 2] / ([beta] - 1)[super 2] ([beta] - 2) ]]
+[[mode][[alpha]]]
+[[skewness][Refer to [@http://mathworld.wolfram.com/ParetoDistribution.html Weisstein, Eric W. "Pareto Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+[[kurtosis][Refer to [@http://mathworld.wolfram.com/ParetoDistribution.html Weisstein, Eric W. "Pareto Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+[[kurtosis excess][Refer to [@http://mathworld.wolfram.com/ParetoDistribution.html Weisstein, Eric W. "pareto Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+]
+
+[h4 References]
+* [@http://en.wikipedia.org/wiki/pareto_distribution Pareto Distribution]
+* [@http://mathworld.wolfram.com/paretoDistribution.html Weisstein, Eric W. "Pareto Distribution." From MathWorld--A Wolfram Web Resource.]
+* Handbook of Statistical Distributions with Applications, K Krishnamoorthy, ISBN 1-58488-635-8, Chapter 23, pp 257 - 267.
+(Note the meaning of a and b is reversed in Wolfram and Krishnamoorthy).
+
+[endsect][/section:pareto pareto]
+
+[/
+ Copyright 2006, 2009 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/poisson.qbk b/libs/math/doc/distributions/poisson.qbk
new file mode 100644
index 0000000000..432862ede2
--- /dev/null
+++ b/libs/math/doc/distributions/poisson.qbk
@@ -0,0 +1,103 @@
+[section:poisson_dist Poisson Distribution]
+
+``#include <boost/math/distributions/poisson.hpp>``
+
+ namespace boost { namespace math {
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class poisson_distribution;
+
+ typedef poisson_distribution<> poisson;
+
+ template <class RealType, class ``__Policy``>
+ class poisson_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ poisson_distribution(RealType mean = 1); // Constructor.
+ RealType mean()const; // Accessor.
+ }
+
+ }} // namespaces boost::math
+
+The [@http://en.wikipedia.org/wiki/Poisson_distribution Poisson distribution]
+is a well-known statistical discrete distribution.
+It expresses the probability of a number of events
+(or failures, arrivals, occurrences ...)
+occurring in a fixed period of time,
+provided these events occur with a known mean rate [lambda][space]
+(events/time), and are independent of the time since the last event.
+
+The distribution was discovered by Sim__eacute on-Denis Poisson (1781 to 1840).
+
+It has the Probability Mass Function:
+
+[equation poisson_ref1]
+
+for k events, with an expected number of events [lambda].
+
+The following graph illustrates how the PDF varies with the parameter [lambda]:
+
+[graph poisson_pdf_1]
+
+[discrete_quantile_warning Poisson]
+
+[h4 Member Functions]
+
+ poisson_distribution(RealType mean = 1);
+
+Constructs a poisson distribution with mean /mean/.
+
+ RealType mean()const;
+
+Returns the /mean/ of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0, [infin]\].
+
+[h4 Accuracy]
+
+The Poisson distribution is implemented in terms of the
+incomplete gamma functions __gamma_p and __gamma_q
+and as such should have low error rates: but refer to the documentation
+of those functions for more information.
+The quantile and its complement use the inverse gamma functions
+and are therefore probably slightly less accurate: this is because the
+inverse gamma functions are implemented using an iterative method with a
+lower tolerance to avoid excessive computation.
+
+[h4 Implementation]
+
+In the following table [lambda][space] is the mean of the distribution,
+/k/ is the random variable, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = e[super -[lambda]] [lambda][super k] \/ k! ]]
+[[cdf][Using the relation: p = [Gamma](k+1, [lambda]) \/ k! = __gamma_q(k+1, [lambda])]]
+[[cdf complement][Using the relation: q = __gamma_p(k+1, [lambda]) ]]
+[[quantile][Using the relation: k = __gamma_q_inva([lambda], p) - 1]]
+[[quantile from the complement][Using the relation: k = __gamma_p_inva([lambda], q) - 1]]
+[[mean][[lambda]]]
+[[mode][ floor ([lambda]) or [floorlr[lambda]] ]]
+[[skewness][1/[radic][lambda]]]
+[[kurtosis][3 + 1/[lambda]]]
+[[kurtosis excess][1/[lambda]]]
+]
+
+[/ poisson.qbk
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+[endsect][/section:poisson_dist Poisson]
+
diff --git a/libs/math/doc/distributions/rayleigh.qbk b/libs/math/doc/distributions/rayleigh.qbk
new file mode 100644
index 0000000000..910c2b7d74
--- /dev/null
+++ b/libs/math/doc/distributions/rayleigh.qbk
@@ -0,0 +1,119 @@
+[section:rayleigh Rayleigh Distribution]
+
+
+``#include <boost/math/distributions/rayleigh.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class rayleigh_distribution;
+
+ typedef rayleigh_distribution<> rayleigh;
+
+ template <class RealType, class ``__Policy``>
+ class rayleigh_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Construct:
+ rayleigh_distribution(RealType sigma = 1)
+ // Accessors:
+ RealType sigma()const;
+ };
+
+ }} // namespaces
+
+The [@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution]
+is a continuous distribution with the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
+
+f(x; sigma) = x * exp(-x[super 2]/2 [sigma][super 2]) / [sigma][super 2]
+
+For sigma parameter [sigma][space] > 0, and x > 0.
+
+The Rayleigh distribution is often used where two orthogonal components
+have an absolute value,
+for example, wind velocity and direction may be combined to yield a wind speed,
+or real and imaginary components may have absolute values that are Rayleigh distributed.
+
+The following graph illustrates how the Probability density Function(pdf) varies with the shape parameter [sigma]:
+
+[graph rayleigh_pdf]
+
+and the Cumulative Distribution Function (cdf)
+
+[graph rayleigh_cdf]
+
+[h4 Related distributions]
+
+The absolute value of two independent normal distributions X and Y, [radic] (X[super 2] + Y[super 2])
+is a Rayleigh distribution.
+
+The [@http://en.wikipedia.org/wiki/Chi_distribution Chi],
+[@http://en.wikipedia.org/wiki/Rice_distribution Rice]
+and [@http://en.wikipedia.org/wiki/Weibull_distribution Weibull] distributions are generalizations of the
+[@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution].
+
+[h4 Member Functions]
+
+ rayleigh_distribution(RealType sigma = 1);
+
+Constructs a [@http://en.wikipedia.org/wiki/Rayleigh_distribution
+Rayleigh distribution] with [sigma] /sigma/.
+
+Requires that the [sigma] parameter is greater than zero,
+otherwise calls __domain_error.
+
+ RealType sigma()const;
+
+Returns the /sigma/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0, max_value\].
+
+[h4 Accuracy]
+
+The Rayleigh distribution is implemented in terms of the
+standard library `sqrt` and `exp` and as such should have very low error rates.
+Some constants such as skewness and kurtosis were calculated using
+NTL RR type with 150-bit accuracy, about 50 decimal digits.
+
+[h4 Implementation]
+
+In the following table [sigma][space] is the sigma parameter of the distribution,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = x * exp(-x[super 2])/2 [sigma][super 2] ]]
+[[cdf][Using the relation: p = 1 - exp(-x[super 2]/2) [sigma][super 2][space] = -__expm1(-x[super 2]/2) [sigma][super 2]]]
+[[cdf complement][Using the relation: q = exp(-x[super 2]/ 2) * [sigma][super 2] ]]
+[[quantile][Using the relation: x = sqrt(-2 * [sigma] [super 2]) * log(1 - p)) = sqrt(-2 * [sigma] [super 2]) * __log1p(-p))]]
+[[quantile from the complement][Using the relation: x = sqrt(-2 * [sigma] [super 2]) * log(q)) ]]
+[[mean][[sigma] * sqrt([pi]/2) ]]
+[[variance][[sigma][super 2] * (4 - [pi]/2) ]]
+[[mode][[sigma] ]]
+[[skewness][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+[[kurtosis][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+[[kurtosis excess][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+]
+
+[h4 References]
+* [@http://en.wikipedia.org/wiki/Rayleigh_distribution ]
+* [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Rayleigh Distribution." From MathWorld--A Wolfram Web Resource.]
+
+[endsect] [/section:Rayleigh Rayleigh]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/skew_normal.qbk b/libs/math/doc/distributions/skew_normal.qbk
new file mode 100644
index 0000000000..9dde567c58
--- /dev/null
+++ b/libs/math/doc/distributions/skew_normal.qbk
@@ -0,0 +1,193 @@
+[section:skew_normal_dist Skew Normal Distribution]
+
+``#include <boost/math/distributions/skew_normal.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class skew_normal_distribution;
+
+ typedef skew_normal_distribution<> normal;
+
+ template <class RealType, class ``__Policy``>
+ class skew_normal_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Constructor:
+ skew_normal_distribution(RealType location = 0, RealType scale = 1, RealType shape = 0);
+ // Accessors:
+ RealType location()const; // mean if normal.
+ RealType scale()const; // width, standard deviation if normal.
+ RealType shape()const; // The distribution is right skewed if shape > 0 and is left skewed if shape < 0.
+ // The distribution is normal if shape is zero.
+ };
+
+ }} // namespaces
+
+The skew normal distribution is a variant of the most well known
+Gaussian statistical distribution.
+
+The skew normal distribution with shape zero resembles the
+[@http://en.wikipedia.org/wiki/Normal_distribution Normal Distribution],
+hence the latter can be regarded as a special case of the more generic skew normal distribution.
+
+If the standard (mean = 0, scale = 1) normal distribution probability density function is
+
+[space][space][equation normal01_pdf]
+
+and the cumulative distribution function
+
+[space][space][equation normal01_cdf]
+
+then the [@http://en.wikipedia.org/wiki/Probability_density_function PDF]
+of the [@http://en.wikipedia.org/wiki/Skew_normal_distribution skew normal distribution]
+with shape parameter [alpha], defined by O'Hagan and Leonhard (1976) is
+
+[space][space][equation skew_normal_pdf0]
+
+Given [@http://en.wikipedia.org/wiki/Location_parameter location] [xi],
+[@http://en.wikipedia.org/wiki/Scale_parameter scale] [omega],
+and [@http://en.wikipedia.org/wiki/Shape_parameter shape] [alpha],
+it can be
+[@http://en.wikipedia.org/wiki/Skew_normal_distribution transformed],
+to the form:
+
+[space][space][equation skew_normal_pdf]
+
+and [@http://en.wikipedia.org/wiki/Cumulative_distribution_function CDF]:
+
+[space][space][equation skew_normal_cdf]
+
+where ['T(h,a)] is Owen's T function, and ['[Phi](x)] is the normal distribution.
+
+The variation the PDF and CDF with its parameters is illustrated
+in the following graphs:
+
+[graph skew_normal_pdf]
+[graph skew_normal_cdf]
+
+[h4 Member Functions]
+
+ skew_normal_distribution(RealType location = 0, RealType scale = 1, RealType shape = 0);
+
+Constructs a skew_normal distribution with location [xi],
+scale [omega] and shape [alpha].
+
+Requires scale > 0, otherwise __domain_error is called.
+
+ RealType location()const;
+
+returns the location [xi] of this distribution,
+
+ RealType scale()const;
+
+returns the scale [omega] of this distribution,
+
+ RealType shape()const;
+
+returns the shape [alpha] of this distribution.
+
+(Location and scale function match other similar distributions,
+allowing the functions `find_location` and `find_scale` to be used generically).
+
+[note While the shape parameter may be chosen arbitrarily (finite),
+the resulting [*skewness] of the distribution is in fact limited to about (-1, 1);
+strictly, the interval is (-0.9952717, 0.9952717).
+
+A parameter [delta] is related to the shape [alpha] by
+[delta] = [alpha] / (1 + [alpha][pow2]),
+and used in the expression for skewness
+[equation skew_normal_skewness]
+] [/note]
+
+[h4 References]
+
+* [@http://azzalini.stat.unipd.it/SN/ Skew-Normal Probability Distribution] for many links and bibliography.
+* [@http://azzalini.stat.unipd.it/SN/Intro/intro.html A very brief introduction to the skew-normal distribution]
+by Adelchi Azzalini (2005-11-2).
+* See a [@http://www.tri.org.au/azzalini.html skew-normal function animation].
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is ['-[max_value], +[min_value]].
+Infinite values are not supported.
+
+There are no [@http://en.wikipedia.org/wiki/Closed-form_expression closed-form expression]
+known for the mode and median, but these are computed for the
+
+* mode - by finding the maximum of the PDF.
+* median - by computing `quantile(1/2)`.
+
+The maximum of the PDF is sought through searching the root of f'(x)=0.
+
+Both involve iterative methods that will have lower accuracy than other estimates.
+
+[h4 Testing]
+
+__R using library(sn) described at
+[@http://azzalini.stat.unipd.it/SN/ Skew-Normal Probability Distribution],
+and at [@http://cran.r-project.org/web/packages/sn/sn.pd R skew-normal(sn) package].
+
+Package sn provides functions related to the skew-normal (SN)
+and the skew-t (ST) probability distributions,
+both for the univariate and for the the multivariate case,
+including regression models.
+
+__Mathematica was also used to generate some more accurate spot test data.
+
+[h4 Accuracy]
+
+The skew_normal distribution with shape = zero is implemented as a special case,
+equivalent to the normal distribution in terms of the
+[link math_toolkit.sf_erf.error_function error function],
+and therefore should have excellent accuracy.
+
+The PDF and mean, variance, skewness and kurtosis are also accurately evaluated using
+[@http://en.wikipedia.org/wiki/Analytical_expression analytical expressions].
+The CDF requires [@http://en.wikipedia.org/wiki/Owen%27s_T_function Owen's T function]
+that is evaluated using a Boost C++ __owens_t implementation of the algorithms of
+M. Patefield and D. Tandy, Journal of Statistical Software, 5(5), 1-25 (2000);
+the complicated accuracy of this function is discussed in detail at __owens_t.
+
+The median and mode are calculated by iterative root finding, and both will be less accurate.
+
+[h4 Implementation]
+
+In the following table, [xi] is the location of the distribution,
+and [omega] is its scale, and [alpha] is its shape.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using:[equation skew_normal_pdf] ]]
+[[cdf][Using: [equation skew_normal_cdf]\n
+where ['T(h,a)] is Owen's T function, and ['[Phi](x)] is the normal distribution. ]]
+[[cdf complement][Using: complement of normal distribution + 2 * Owens_t]]
+[[quantile][Maximum of the pdf is sought through searching the root of f'(x)=0]]
+[[quantile from the complement][-quantile(SN(-location [xi], scale [omega], -shape[alpha]), p)]]
+[[location][location [xi]]]
+[[scale][scale [omega]]]
+[[shape][shape [alpha]]]
+[[median][quantile(1/2)]]
+[[mean][[equation skew_normal_mean]]]
+[[mode][Maximum of the pdf is sought through searching the root of f'(x)=0]]
+[[variance][[equation skew_normal_variance] ]]
+[[skewness][[equation skew_normal_skewness] ]]
+[[kurtosis][kurtosis excess-3]]
+[[kurtosis excess] [ [equation skew_normal_kurt_ex] ]]
+] [/table]
+
+[endsect] [/section:skew_normal_dist skew_Normal]
+
+[/ skew_normal.qbk
+ Copyright 2012 Bejamin Sobotta, John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/students_t.qbk b/libs/math/doc/distributions/students_t.qbk
new file mode 100644
index 0000000000..157ba0fbbe
--- /dev/null
+++ b/libs/math/doc/distributions/students_t.qbk
@@ -0,0 +1,180 @@
+[section:students_t_dist Students t Distribution]
+
+``#include <boost/math/distributions/students_t.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class students_t_distribution;
+
+ typedef students_t_distribution<> students_t;
+
+ template <class RealType, class ``__Policy``>
+ class students_t_distribution
+ {
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ // Construct:
+ students_t_distribution(const RealType& v);
+
+ // Accessor:
+ RealType degrees_of_freedom()const;
+
+ // degrees of freedom estimation:
+ static RealType find_degrees_of_freedom(
+ RealType difference_from_mean,
+ RealType alpha,
+ RealType beta,
+ RealType sd,
+ RealType hint = 100);
+ };
+
+ }} // namespaces
+
+A statistical distribution published by William Gosset in 1908.
+His employer, Guinness Breweries, required him to publish under a
+pseudonym (possibly to hide that they were using statistics),
+so he chose "Student". Given N independent measurements, let
+
+[equation students_t_dist]
+
+where /M/ is the population mean,[' ''' &#x3BC; '''] is the sample mean, and /s/ is the
+sample variance.
+
+Student's t-distribution is defined as the distribution of the random
+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:
+
+[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
+/one/ then this distribution is the same as the Cauchy-distribution.
+As the number of degrees of freedom tends towards infinity, then this
+distribution approaches the normal-distribution. The following graph
+illustrates how the PDF varies with the degrees of freedom [nu]:
+
+[graph students_t_pdf]
+
+[h4 Member Functions]
+
+ students_t_distribution(const RealType& v);
+
+Constructs a Student's t-distribution with /v/ degrees of freedom.
+
+Requires /v/ > 0, otherwise calls __domain_error. Note that
+non-integral degrees of freedom are supported,
+and are meaningful under certain circumstances.
+
+ RealType degrees_of_freedom()const;
+
+Returns the number of degrees of freedom of this distribution.
+
+ static RealType find_degrees_of_freedom(
+ RealType difference_from_mean,
+ RealType alpha,
+ RealType beta,
+ RealType sd,
+ RealType hint = 100);
+
+Returns the number of degrees of freedom required to observe a significant
+result in the Student's t test when the mean differs from the "true"
+mean by /difference_from_mean/.
+
+[variablelist
+[[difference_from_mean][The difference between the true mean and the sample mean
+ that we wish to show is significant.]]
+[[alpha][The maximum acceptable probability of rejecting the null hypothesis
+ when it is in fact true.]]
+[[beta][The maximum acceptable probability of failing to reject the null hypothesis
+ when it is in fact false.]]
+[[sd][The sample standard deviation.]]
+[[hint][A hint for the location to start looking for the result, a good choice for this
+ would be the sample size of a previous borderline Student's t test.]]
+]
+
+[note
+Remember that for a two-sided test, you must divide alpha by two
+before calling this function.]
+
+For more information on this function see the
+[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc222.htm
+NIST Engineering Statistics Handbook].
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[-[infin], +[infin]\].
+
+[h4 Examples]
+
+Various [link math_toolkit.stat_tut.weg.st_eg worked examples] are available illustrating the use of the Student's t
+distribution.
+
+[h4 Accuracy]
+
+The normal distribution is implemented in terms of the
+[link math_toolkit.sf_beta.ibeta_function incomplete beta function]
+and [link math_toolkit.sf_beta.ibeta_inv_function its inverses],
+refer to accuracy data on those functions for more information.
+
+[h4 Implementation]
+
+In the following table /v/ is the degrees of freedom of the distribution,
+/t/ is the random variate, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = (v \/ (v + t[super 2]))[super (1+v)\/2 ] / (sqrt(v) * __beta(v\/2, 0.5)) ]]
+[[cdf][Using the relations:
+
+p = 1 - z /iff t > 0/
+
+p = z /otherwise/
+
+where z is given by:
+
+__ibeta(v \/ 2, 0.5, v \/ (v + t[super 2])) \/ 2 ['iff v < 2t[super 2]]
+
+__ibetac(0.5, v \/ 2, t[super 2 ] / (v + t[super 2]) \/ 2 /otherwise/]]
+[[cdf complement][Using the relation: q = cdf(-t) ]]
+[[quantile][Using the relation: t = sign(p - 0.5) * sqrt(v * y \/ x)
+
+where:
+
+x = __ibeta_inv(v \/ 2, 0.5, 2 * min(p, q))
+
+y = 1 - x
+
+The quantities /x/ and /y/ are both returned by __ibeta_inv
+without the subtraction implied above.]]
+[[quantile from the complement][Using the relation: t = -quantile(q)]]
+[[mode][0]]
+[[mean][0]]
+[[variance][if (v > 2) v \/ (v - 2) else NaN]]
+[[skewness][if (v > 3) 0 else NaN ]]
+[[kurtosis][if (v > 4) 3 * (v - 2) \/ (v - 4) else NaN]]
+[[kurtosis excess][if (v > 4) 6 \/ (df - 4) else NaN]]
+]
+
+If the moment index /k/ is less than /v/, then the moment is undefined.
+Evaluating the moment will throw a __domain_error unless ignored by a policy,
+when it will return `std::numeric_limits<>::quiet_NaN();`
+
+(For simplicity, we have not implemented the return of infinity in some cases
+as suggested by [@http://en.wikipedia.org/wiki/Student%27s_t-distribution Wikipedia Student's t].
+See also [@https://svn.boost.org/trac/boost/ticket/7177].)
+
+[endsect] [/section:students_t_dist Students t]
+
+[/ students_t.qbk
+ Copyright 2006, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/students_t_examples.qbk b/libs/math/doc/distributions/students_t_examples.qbk
new file mode 100644
index 0000000000..483631eceb
--- /dev/null
+++ b/libs/math/doc/distributions/students_t_examples.qbk
@@ -0,0 +1,781 @@
+
+[section:st_eg Student's t Distribution Examples]
+
+[section:tut_mean_intervals Calculating confidence intervals on the mean with the Students-t distribution]
+
+Let's say you have a sample mean, you may wish to know what confidence intervals
+you can place on that mean. Colloquially: "I want an interval that I can be
+P% sure contains the true mean". (On a technical point, note that
+the interval either contains the true mean or it does not: the
+meaning of the confidence level is subtly
+different from this colloquialism. More background information can be found on the
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm NIST site]).
+
+The formula for the interval can be expressed as:
+
+[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
+['t[sub ([alpha]/2,N-1)]] is the upper critical value of the Students-t
+distribution with /N-1/ degrees of freedom.
+
+[note
+The quantity [alpha][space] is the maximum acceptable risk of falsely rejecting
+the null-hypothesis. The smaller the value of [alpha] the greater the
+strength of the test.
+
+The confidence level of the test is defined as 1 - [alpha], and often expressed
+as a percentage. So for example a significance level of 0.05, is equivalent
+to a 95% confidence level. Refer to
+[@http://www.itl.nist.gov/div898/handbook/prc/section1/prc14.htm
+"What are confidence intervals?"] in __handbook for more information.
+] [/ Note]
+
+[note
+The usual assumptions of
+[@http://en.wikipedia.org/wiki/Independent_and_identically-distributed_random_variables independent and identically distributed (i.i.d.)]
+variables and [@http://en.wikipedia.org/wiki/Normal_distribution normal distribution]
+of course apply here, as they do in other examples.
+]
+
+From the formula, it should be clear that:
+
+* The width of the confidence interval decreases as the sample size increases.
+* The width increases as the standard deviation increases.
+* The width increases as the ['confidence level increases] (0.5 towards 0.99999 - stronger).
+* The width increases as the ['significance level decreases] (0.5 towards 0.00000...01 - stronger).
+
+The following example code is taken from the example program
+[@../../example/students_t_single_sample.cpp students_t_single_sample.cpp].
+
+We'll begin by defining a procedure to calculate intervals for
+various confidence levels; the procedure will print these out
+as a table:
+
+ // Needed includes:
+ #include <boost/math/distributions/students_t.hpp>
+ #include <iostream>
+ #include <iomanip>
+ // Bring everything into global namespace for ease of use:
+ using namespace boost::math;
+ using namespace std;
+
+ void confidence_limits_on_mean(
+ double Sm, // Sm = Sample Mean.
+ double Sd, // Sd = Sample Standard Deviation.
+ unsigned Sn) // Sn = Sample Size.
+ {
+ using namespace std;
+ using namespace boost::math;
+
+ // Print out general info:
+ cout <<
+ "__________________________________\n"
+ "2-Sided Confidence Limits For Mean\n"
+ "__________________________________\n\n";
+ cout << setprecision(7);
+ cout << setw(40) << left << "Number of Observations" << "= " << Sn << "\n";
+ cout << setw(40) << left << "Mean" << "= " << Sm << "\n";
+ cout << setw(40) << left << "Standard Deviation" << "= " << Sd << "\n";
+
+We'll define a table of significance/risk levels for which we'll compute intervals:
+
+ double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
+
+Note that these are the complements of the confidence/probability levels: 0.5, 0.75, 0.9 .. 0.99999).
+
+Next we'll declare the distribution object we'll need, note that
+the /degrees of freedom/ parameter is the sample size less one:
+
+ students_t dist(Sn - 1);
+
+Most of what follows in the program is pretty printing, so let's focus
+on the calculation of the interval. First we need the t-statistic,
+computed using the /quantile/ function and our significance level. Note
+that since the significance levels are the complement of the probability,
+we have to wrap the arguments in a call to /complement(...)/:
+
+ double T = quantile(complement(dist, alpha[i] / 2));
+
+Note that alpha was divided by two, since we'll be calculating
+both the upper and lower bounds: had we been interested in a single
+sided interval then we would have omitted this step.
+
+Now to complete the picture, we'll get the (one-sided) width of the
+interval from the t-statistic
+by multiplying by the standard deviation, and dividing by the square
+root of the sample size:
+
+ double w = T * Sd / sqrt(double(Sn));
+
+The two-sided interval is then the sample mean plus and minus this width.
+
+And apart from some more pretty-printing that completes the procedure.
+
+Let's take a look at some sample output, first using the
+[@http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm
+Heat flow data] from the NIST site. The data set was collected
+by Bob Zarr of NIST in January, 1990 from a heat flow meter
+calibration and stability analysis.
+The corresponding dataplot
+output for this test can be found in
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm
+section 3.5.2] of the __handbook.
+
+[pre'''
+ __________________________________
+ 2-Sided Confidence Limits For Mean
+ __________________________________
+
+ Number of Observations = 195
+ Mean = 9.26146
+ Standard Deviation = 0.02278881
+
+
+ ___________________________________________________________________
+ Confidence T Interval Lower Upper
+ Value (%) Value Width Limit Limit
+ ___________________________________________________________________
+ 50.000 0.676 1.103e-003 9.26036 9.26256
+ 75.000 1.154 1.883e-003 9.25958 9.26334
+ 90.000 1.653 2.697e-003 9.25876 9.26416
+ 95.000 1.972 3.219e-003 9.25824 9.26468
+ 99.000 2.601 4.245e-003 9.25721 9.26571
+ 99.900 3.341 5.453e-003 9.25601 9.26691
+ 99.990 3.973 6.484e-003 9.25498 9.26794
+ 99.999 4.537 7.404e-003 9.25406 9.26886
+''']
+
+As you can see the large sample size (195) and small standard deviation (0.023)
+have combined to give very small intervals, indeed we can be
+very confident that the true mean is 9.2.
+
+For comparison the next example data output is taken from
+['P.K.Hou, O. W. Lau & M.C. Wong, Analyst (1983) vol. 108, p 64.
+and from Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55
+J. C. Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.]
+The values result from the determination of mercury by cold-vapour
+atomic absorption.
+
+[pre'''
+ __________________________________
+ 2-Sided Confidence Limits For Mean
+ __________________________________
+
+ Number of Observations = 3
+ Mean = 37.8000000
+ Standard Deviation = 0.9643650
+
+
+ ___________________________________________________________________
+ Confidence T Interval Lower Upper
+ Value (%) Value Width Limit Limit
+ ___________________________________________________________________
+ 50.000 0.816 0.455 37.34539 38.25461
+ 75.000 1.604 0.893 36.90717 38.69283
+ 90.000 2.920 1.626 36.17422 39.42578
+ 95.000 4.303 2.396 35.40438 40.19562
+ 99.000 9.925 5.526 32.27408 43.32592
+ 99.900 31.599 17.594 20.20639 55.39361
+ 99.990 99.992 55.673 -17.87346 93.47346
+ 99.999 316.225 176.067 -138.26683 213.86683
+''']
+
+This time the fact that there are only three measurements leads to
+much wider intervals, indeed such large intervals that it's hard
+to be very confident in the location of the mean.
+
+[endsect]
+
+[section:tut_mean_test Testing a sample mean for difference from a "true" mean]
+
+When calibrating or comparing a scientific instrument or measurement method of some kind,
+we want to be answer the question "Does an observed sample mean differ from the
+"true" mean in any significant way?". If it does, then we have evidence of
+a systematic difference. This question can be answered with a Students-t test:
+more information can be found
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm
+on the NIST site].
+
+Of course, the assignment of "true" to one mean may be quite arbitrary,
+often this is simply a "traditional" method of measurement.
+
+The following example code is taken from the example program
+[@../../example/students_t_single_sample.cpp students_t_single_sample.cpp].
+
+We'll begin by defining a procedure to determine which of the
+possible hypothesis are rejected or not-rejected
+at a given significance level:
+
+[note
+Non-statisticians might say 'not-rejected' means 'accepted',
+(often of the null-hypothesis) implying, wrongly, that there really *IS* no difference,
+but statisticans eschew this to avoid implying that there is positive evidence of 'no difference'.
+'Not-rejected' here means there is *no evidence* of difference, but there still might well be a difference.
+For example, see [@http://en.wikipedia.org/wiki/Argument_from_ignorance argument from ignorance] and
+[@http://www.bmj.com/cgi/content/full/311/7003/485 Absence of evidence does not constitute evidence of absence.]
+] [/ note]
+
+
+ // Needed includes:
+ #include <boost/math/distributions/students_t.hpp>
+ #include <iostream>
+ #include <iomanip>
+ // Bring everything into global namespace for ease of use:
+ using namespace boost::math;
+ using namespace std;
+
+ void single_sample_t_test(double M, double Sm, double Sd, unsigned Sn, double alpha)
+ {
+ //
+ // M = true mean.
+ // Sm = Sample Mean.
+ // Sd = Sample Standard Deviation.
+ // Sn = Sample Size.
+ // alpha = Significance Level.
+
+Most of the procedure is pretty-printing, so let's just focus on the
+calculation, we begin by calculating the t-statistic:
+
+ // Difference in means:
+ double diff = Sm - M;
+ // Degrees of freedom:
+ unsigned v = Sn - 1;
+ // t-statistic:
+ double t_stat = diff * sqrt(double(Sn)) / Sd;
+
+Finally calculate the probability from the t-statistic. If we're interested
+in simply whether there is a difference (either less or greater) or not,
+we don't care about the sign of the t-statistic,
+and we take the complement of the probability for comparison
+to the significance level:
+
+ students_t dist(v);
+ double q = cdf(complement(dist, fabs(t_stat)));
+
+The procedure then prints out the results of the various tests
+that can be done, these
+can be summarised in the following table:
+
+[table
+[[Hypothesis][Test]]
+[[The Null-hypothesis: there is
+*no difference* in means]
+[Reject if complement of CDF for |t| < significance level / 2:
+
+`cdf(complement(dist, fabs(t))) < alpha / 2`]]
+
+[[The Alternative-hypothesis: there
+*is difference* in means]
+[Reject if complement of CDF for |t| > significance level / 2:
+
+`cdf(complement(dist, fabs(t))) > alpha / 2`]]
+
+[[The Alternative-hypothesis: the sample mean *is less* than
+the true mean.]
+[Reject if CDF of t > 1 - significance level:
+
+`cdf(complement(dist, t)) < alpha`]]
+
+[[The Alternative-hypothesis: the sample mean *is greater* than
+the true mean.]
+[Reject if complement of CDF of t < significance level:
+
+`cdf(dist, t) < alpha`]]
+]
+
+[note
+Notice that the comparisons are against `alpha / 2` for a two-sided test
+and against `alpha` for a one-sided test]
+
+Now that we have all the parts in place, let's take a look at some
+sample output, first using the
+[@http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm
+Heat flow data] from the NIST site. The data set was collected
+by Bob Zarr of NIST in January, 1990 from a heat flow meter
+calibration and stability analysis. The corresponding dataplot
+output for this test can be found in
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm
+section 3.5.2] of the __handbook.
+
+[pre
+__________________________________
+Student t test for a single sample
+__________________________________
+
+Number of Observations = 195
+Sample Mean = 9.26146
+Sample Standard Deviation = 0.02279
+Expected True Mean = 5.00000
+
+Sample Mean - Expected Test Mean = 4.26146
+Degrees of Freedom = 194
+T Statistic = 2611.28380
+Probability that difference is due to chance = 0.000e+000
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Mean != 5.000 NOT REJECTED
+Mean < 5.000 REJECTED
+Mean > 5.000 NOT REJECTED
+]
+
+You will note the line that says the probability that the difference is
+due to chance is zero. From a philosophical point of view, of course,
+the probability can never reach zero. However, in this case the calculated
+probability is smaller than the smallest representable double precision number,
+hence the appearance of a zero here. Whatever its "true" value is, we know it
+must be extraordinarily small, so the alternative hypothesis - that there is
+a difference in means - is not rejected.
+
+For comparison the next example data output is taken from
+['P.K.Hou, O. W. Lau & M.C. Wong, Analyst (1983) vol. 108, p 64.
+and from Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55
+J. C. Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.]
+The values result from the determination of mercury by cold-vapour
+atomic absorption.
+
+[pre
+__________________________________
+Student t test for a single sample
+__________________________________
+
+Number of Observations = 3
+Sample Mean = 37.80000
+Sample Standard Deviation = 0.96437
+Expected True Mean = 38.90000
+
+Sample Mean - Expected Test Mean = -1.10000
+Degrees of Freedom = 2
+T Statistic = -1.97566
+Probability that difference is due to chance = 1.869e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Mean != 38.900 REJECTED
+Mean < 38.900 NOT REJECTED
+Mean > 38.900 NOT REJECTED
+]
+
+As you can see the small number of measurements (3) has led to a large uncertainty
+in the location of the true mean. So even though there appears to be a difference
+between the sample mean and the expected true mean, we conclude that there
+is no significant difference, and are unable to reject the null hypothesis.
+However, if we were to lower the bar for acceptance down to alpha = 0.1
+(a 90% confidence level) we see a different output:
+
+[pre
+__________________________________
+Student t test for a single sample
+__________________________________
+
+Number of Observations = 3
+Sample Mean = 37.80000
+Sample Standard Deviation = 0.96437
+Expected True Mean = 38.90000
+
+Sample Mean - Expected Test Mean = -1.10000
+Degrees of Freedom = 2
+T Statistic = -1.97566
+Probability that difference is due to chance = 1.869e-001
+
+Results for Alternative Hypothesis and alpha = 0.1000
+
+Alternative Hypothesis Conclusion
+Mean != 38.900 REJECTED
+Mean < 38.900 NOT REJECTED
+Mean > 38.900 REJECTED
+]
+
+In this case, we really have a borderline result,
+and more data (and/or more accurate data),
+is needed for a more convincing conclusion.
+
+[endsect]
+
+[section:tut_mean_size Estimating how large a sample size would have to become
+in order to give a significant Students-t test result with a single sample test]
+
+Imagine you have conducted a Students-t test on a single sample in order
+to check for systematic errors in your measurements. Imagine that the
+result is borderline. At this point one might go off and collect more data,
+but it might be prudent to first ask the question "How much more?".
+The parameter estimators of the students_t_distribution class
+can provide this information.
+
+This section is based on the example code in
+[@../../example/students_t_single_sample.cpp students_t_single_sample.cpp]
+and we begin by defining a procedure that will print out a table of
+estimated sample sizes for various confidence levels:
+
+ // Needed includes:
+ #include <boost/math/distributions/students_t.hpp>
+ #include <iostream>
+ #include <iomanip>
+ // Bring everything into global namespace for ease of use:
+ using namespace boost::math;
+ using namespace std;
+
+ void single_sample_find_df(
+ double M, // M = true mean.
+ double Sm, // Sm = Sample Mean.
+ double Sd) // Sd = Sample Standard Deviation.
+ {
+
+Next we define a table of significance levels:
+
+ double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
+
+Printing out the table of sample sizes required for various confidence levels
+begins with the table header:
+
+ cout << "\n\n"
+ "_______________________________________________________________\n"
+ "Confidence Estimated Estimated\n"
+ " Value (%) Sample Size Sample Size\n"
+ " (one sided test) (two sided test)\n"
+ "_______________________________________________________________\n";
+
+
+And now the important part: the sample sizes required. Class
+`students_t_distribution` has a static member function
+`find_degrees_of_freedom` that will calculate how large
+a sample size needs to be in order to give a definitive result.
+
+The first argument is the difference between the means that you
+wish to be able to detect, here it's the absolute value of the
+difference between the sample mean, and the true mean.
+
+Then come two probability values: alpha and beta. Alpha is the
+maximum acceptable risk of rejecting the null-hypothesis when it is
+in fact true. Beta is the maximum acceptable risk of failing to reject
+the null-hypothesis when in fact it is false.
+Also note that for a two-sided test, alpha must be divided by 2.
+
+The final parameter of the function is the standard deviation of the sample.
+
+In this example, we assume that alpha and beta are the same, and call
+`find_degrees_of_freedom` twice: once with alpha for a one-sided test,
+and once with alpha/2 for a two-sided test.
+
+ for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
+ {
+ // Confidence value:
+ cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
+ // calculate df for single sided test:
+ double df = students_t::find_degrees_of_freedom(
+ fabs(M - Sm), alpha[i], alpha[i], Sd);
+ // convert to sample size:
+ double size = ceil(df) + 1;
+ // Print size:
+ cout << fixed << setprecision(0) << setw(16) << right << size;
+ // calculate df for two sided test:
+ df = students_t::find_degrees_of_freedom(
+ fabs(M - Sm), alpha[i]/2, alpha[i], Sd);
+ // convert to sample size:
+ size = ceil(df) + 1;
+ // Print size:
+ cout << fixed << setprecision(0) << setw(16) << right << size << endl;
+ }
+ cout << endl;
+ }
+
+Let's now look at some sample output using data taken from
+['P.K.Hou, O. W. Lau & M.C. Wong, Analyst (1983) vol. 108, p 64.
+and from Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55
+J. C. Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.]
+The values result from the determination of mercury by cold-vapour
+atomic absorption.
+
+Only three measurements were made, and the Students-t test above
+gave a borderline result, so this example
+will show us how many samples would need to be collected:
+
+[pre'''
+_____________________________________________________________
+Estimated sample sizes required for various confidence levels
+_____________________________________________________________
+
+True Mean = 38.90000
+Sample Mean = 37.80000
+Sample Standard Deviation = 0.96437
+
+
+_______________________________________________________________
+Confidence Estimated Estimated
+ Value (%) Sample Size Sample Size
+ (one sided test) (two sided test)
+_______________________________________________________________
+ 75.000 3 4
+ 90.000 7 9
+ 95.000 11 13
+ 99.000 20 22
+ 99.900 35 37
+ 99.990 50 53
+ 99.999 66 68
+''']
+
+So in this case, many more measurements would have had to be made,
+for example at the 95% level, 14 measurements in total for a two-sided test.
+
+[endsect]
+[section:two_sample_students_t Comparing the means of two samples with the Students-t test]
+
+Imagine that we have two samples, and we wish to determine whether
+their means are different or not. This situation often arises when
+determining whether a new process or treatment is better than an old one.
+
+In this example, we'll be using the
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3531.htm
+Car Mileage sample data] from the
+[@http://www.itl.nist.gov NIST website]. The data compares
+miles per gallon of US cars with miles per gallon of Japanese cars.
+
+The sample code is in
+[@../../example/students_t_two_samples.cpp students_t_two_samples.cpp].
+
+There are two ways in which this test can be conducted: we can assume
+that the true standard deviations of the two samples are equal or not.
+If the standard deviations are assumed to be equal, then the calculation
+of the t-statistic is greatly simplified, so we'll examine that case first.
+In real life we should verify whether this assumption is valid with a
+Chi-Squared test for equal variances.
+
+We begin by defining a procedure that will conduct our test assuming equal
+variances:
+
+ // Needed headers:
+ #include <boost/math/distributions/students_t.hpp>
+ #include <iostream>
+ #include <iomanip>
+ // Simplify usage:
+ using namespace boost::math;
+ using namespace std;
+
+ void two_samples_t_test_equal_sd(
+ double Sm1, // Sm1 = Sample 1 Mean.
+ double Sd1, // Sd1 = Sample 1 Standard Deviation.
+ unsigned Sn1, // Sn1 = Sample 1 Size.
+ double Sm2, // Sm2 = Sample 2 Mean.
+ double Sd2, // Sd2 = Sample 2 Standard Deviation.
+ unsigned Sn2, // Sn2 = Sample 2 Size.
+ double alpha) // alpha = Significance Level.
+ {
+
+
+Our procedure will begin by calculating the t-statistic, assuming
+equal variances the needed formulae are:
+
+[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
+samples. We can now write the code to calculate the t-statistic:
+
+ // Degrees of freedom:
+ double v = Sn1 + Sn2 - 2;
+ cout << setw(55) << left << "Degrees of Freedom" << "= " << v << "\n";
+ // Pooled variance:
+ double sp = sqrt(((Sn1-1) * Sd1 * Sd1 + (Sn2-1) * Sd2 * Sd2) / v);
+ cout << setw(55) << left << "Pooled Standard Deviation" << "= " << sp << "\n";
+ // t-statistic:
+ double t_stat = (Sm1 - Sm2) / (sp * sqrt(1.0 / Sn1 + 1.0 / Sn2));
+ cout << setw(55) << left << "T Statistic" << "= " << t_stat << "\n";
+
+The next step is to define our distribution object, and calculate the
+complement of the probability:
+
+ students_t dist(v);
+ double q = cdf(complement(dist, fabs(t_stat)));
+ cout << setw(55) << left << "Probability that difference is due to chance" << "= "
+ << setprecision(3) << scientific << 2 * q << "\n\n";
+
+Here we've used the absolute value of the t-statistic, because we initially
+want to know simply whether there is a difference or not (a two-sided test).
+However, we can also test whether the mean of the second sample is greater
+or is less (one-sided test) than that of the first:
+all the possible tests are summed up in the following table:
+
+[table
+[[Hypothesis][Test]]
+[[The Null-hypothesis: there is
+*no difference* in means]
+[Reject if complement of CDF for |t| < significance level / 2:
+
+`cdf(complement(dist, fabs(t))) < alpha / 2`]]
+
+[[The Alternative-hypothesis: there is a
+*difference* in means]
+[Reject if complement of CDF for |t| > significance level / 2:
+
+`cdf(complement(dist, fabs(t))) < alpha / 2`]]
+
+[[The Alternative-hypothesis: Sample 1 Mean is *less* than
+Sample 2 Mean.]
+[Reject if CDF of t > significance level:
+
+`cdf(dist, t) > alpha`]]
+
+[[The Alternative-hypothesis: Sample 1 Mean is *greater* than
+Sample 2 Mean.]
+
+[Reject if complement of CDF of t > significance level:
+
+`cdf(complement(dist, t)) > alpha`]]
+]
+
+[note
+For a two-sided test we must compare against alpha / 2 and not alpha.]
+
+Most of the rest of the sample program is pretty-printing, so we'll
+skip over that, and take a look at the sample output for alpha=0.05
+(a 95% probability level). For comparison the dataplot output
+for the same data is in
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda353.htm
+section 1.3.5.3] of the __handbook.
+
+[pre'''
+ ________________________________________________
+ Student t test for two samples (equal variances)
+ ________________________________________________
+
+ Number of Observations (Sample 1) = 249
+ Sample 1 Mean = 20.145
+ Sample 1 Standard Deviation = 6.4147
+ Number of Observations (Sample 2) = 79
+ Sample 2 Mean = 30.481
+ Sample 2 Standard Deviation = 6.1077
+ Degrees of Freedom = 326
+ Pooled Standard Deviation = 6.3426
+ T Statistic = -12.621
+ Probability that difference is due to chance = 5.273e-030
+
+ Results for Alternative Hypothesis and alpha = 0.0500'''
+
+ Alternative Hypothesis Conclusion
+ Sample 1 Mean != Sample 2 Mean NOT REJECTED
+ Sample 1 Mean < Sample 2 Mean NOT REJECTED
+ Sample 1 Mean > Sample 2 Mean REJECTED
+]
+
+So with a probability that the difference is due to chance of just
+5.273e-030, we can safely conclude that there is indeed a difference.
+
+The tests on the alternative hypothesis show that we must
+also reject the hypothesis that Sample 1 Mean is
+greater than that for Sample 2: in this case Sample 1 represents the
+miles per gallon for Japanese cars, and Sample 2 the miles per gallon for
+US cars, so we conclude that Japanese cars are on average more
+fuel efficient.
+
+Now that we have the simple case out of the way, let's look for a moment
+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:
+
+[equation dist_tutorial2]
+
+And for the combined degrees of freedom we use the
+[@http://en.wikipedia.org/wiki/Welch-Satterthwaite_equation Welch-Satterthwaite]
+approximation:
+
+[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
+integer value.
+
+[note
+Some statistical packages truncate the effective degrees of freedom to
+an integer value: this may be necessary if you are relying on lookup tables,
+but since our code fully supports non-integer degrees of freedom there is no
+need to truncate in this case. Also note that when the degrees of freedom
+is small then the Welch-Satterthwaite approximation may be a significant
+source of error.]
+
+Putting these formulae into code we get:
+
+ // Degrees of freedom:
+ double v = Sd1 * Sd1 / Sn1 + Sd2 * Sd2 / Sn2;
+ v *= v;
+ double t1 = Sd1 * Sd1 / Sn1;
+ t1 *= t1;
+ t1 /= (Sn1 - 1);
+ double t2 = Sd2 * Sd2 / Sn2;
+ t2 *= t2;
+ t2 /= (Sn2 - 1);
+ v /= (t1 + t2);
+ cout << setw(55) << left << "Degrees of Freedom" << "= " << v << "\n";
+ // t-statistic:
+ double t_stat = (Sm1 - Sm2) / sqrt(Sd1 * Sd1 / Sn1 + Sd2 * Sd2 / Sn2);
+ cout << setw(55) << left << "T Statistic" << "= " << t_stat << "\n";
+
+Thereafter the code and the tests are performed the same as before. Using
+are car mileage data again, here's what the output looks like:
+
+[pre'''
+ __________________________________________________
+ Student t test for two samples (unequal variances)
+ __________________________________________________
+
+ Number of Observations (Sample 1) = 249
+ Sample 1 Mean = 20.145
+ Sample 1 Standard Deviation = 6.4147
+ Number of Observations (Sample 2) = 79
+ Sample 2 Mean = 30.481
+ Sample 2 Standard Deviation = 6.1077
+ Degrees of Freedom = 136.87
+ T Statistic = -12.946
+ Probability that difference is due to chance = 1.571e-025
+
+ Results for Alternative Hypothesis and alpha = 0.0500'''
+
+ Alternative Hypothesis Conclusion
+ Sample 1 Mean != Sample 2 Mean NOT REJECTED
+ Sample 1 Mean < Sample 2 Mean NOT REJECTED
+ Sample 1 Mean > Sample 2 Mean REJECTED
+]
+
+This time allowing the variances in the two samples to differ has yielded
+a higher likelihood that the observed difference is down to chance alone
+(1.571e-025 compared to 5.273e-030 when equal variances were assumed).
+However, the conclusion remains the same: US cars are less fuel efficient
+than Japanese models.
+
+[endsect]
+[section:paired_st Comparing two paired samples with the Student's t distribution]
+
+Imagine that we have a before and after reading for each item in the sample:
+for example we might have measured blood pressure before and after administration
+of a new drug. We can't pool the results and compare the means before and after
+the change, because each patient will have a different baseline reading.
+Instead we calculate the difference between before and after measurements
+in each patient, and calculate the mean and standard deviation of the differences.
+To test whether a significant change has taken place, we can then test
+the null-hypothesis that the true mean is zero using the same procedure
+we used in the single sample cases previously discussed.
+
+That means we can:
+
+* [link math_toolkit.stat_tut.weg.st_eg.tut_mean_intervals Calculate confidence intervals of the mean].
+If the endpoints of the interval differ in sign then we are unable to reject
+the null-hypothesis that there is no change.
+* [link math_toolkit.stat_tut.weg.st_eg.tut_mean_test Test whether the true mean is zero]. If the
+result is consistent with a true mean of zero, then we are unable to reject the
+null-hypothesis that there is no change.
+* [link math_toolkit.stat_tut.weg.st_eg.tut_mean_size Calculate how many pairs of readings we would need
+in order to obtain a significant result].
+
+[endsect]
+
+[endsect][/section:st_eg Student's t]
+
+[/
+ Copyright 2006, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/triangular.qbk b/libs/math/doc/distributions/triangular.qbk
new file mode 100644
index 0000000000..0215abb0d6
--- /dev/null
+++ b/libs/math/doc/distributions/triangular.qbk
@@ -0,0 +1,168 @@
+[section:triangular_dist Triangular Distribution]
+
+
+``#include <boost/math/distributions/triangular.hpp>``
+
+ namespace boost{ namespace math{
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class triangular_distribution;
+
+ typedef triangular_distribution<> triangular;
+
+ template <class RealType, class ``__Policy``>
+ class triangular_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+
+ triangular_distribution(RealType lower = -1, RealType mode = 0) RealType upper = 1); // Constructor.
+ : m_lower(lower), m_mode(mode), m_upper(upper) // Default is -1, 0, +1 triangular distribution.
+ // Accessor functions.
+ RealType lower()const;
+ RealType mode()const;
+ RealType upper()const;
+ }; // class triangular_distribution
+
+ }} // namespaces
+
+The [@http://en.wikipedia.org/wiki/Triangular_distribution triangular distribution]
+is a [@http://en.wikipedia.org/wiki/Continuous_distribution continuous]
+[@http://en.wikipedia.org/wiki/Probability_distribution probability distribution]
+with a lower limit a,
+[@http://en.wikipedia.org/wiki/Mode_%28statistics%29 mode c],
+and upper limit b.
+
+The triangular distribution is often used where the distribution is only vaguely known,
+but, like the [@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 uniform distribution],
+upper and limits are 'known', but a 'best guess', the mode or center point, is also added.
+It has been recommended as a
+[@http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf proxy for the beta distribution.]
+The distribution is used in business decision making and project planning.
+
+The [@http://en.wikipedia.org/wiki/Triangular_distribution triangular distribution]
+is a distribution with the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
+
+f(x) =
+
+* 2(x-a)/(b-a) (c-a) for a <= x <= c
+
+* 2(b-x)/(b-a)(b-c) for c < x <= b
+
+Parameter a (lower) can be any finite value.
+Parameter b (upper) can be any finite value > a (lower).
+Parameter c (mode) a <= c <= b. This is the most probable value.
+
+The [@http://en.wikipedia.org/wiki/Random_variate random variate] x must also be finite, and is supported lower <= x <= upper.
+
+The triangular distribution may be appropriate when an assumption of a normal distribution
+is unjustified because uncertainty is caused by rounding and quantization from analog to digital conversion.
+Upper and lower limits are known, and the most probable value lies midway.
+
+The distribution simplifies when the 'best guess' is either the lower or upper limit - a 90 degree angle triangle.
+The default chosen is the 001 triangular distribution which expresses an estimate that the lowest value is the most likely;
+for example, you believe that the next-day quoted delivery date is most likely
+(knowing that a quicker delivery is impossible - the postman only comes once a day),
+and that longer delays are decreasingly likely,
+and delivery is assumed to never take more than your upper limit.
+
+The following graph illustrates how the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF]
+varies with the various parameters:
+
+[graph triangular_pdf]
+
+and cumulative distribution function
+
+[graph triangular_cdf]
+
+[h4 Member Functions]
+
+ triangular_distribution(RealType lower = 0, RealType mode = 0 RealType upper = 1);
+
+Constructs a [@http://en.wikipedia.org/wiki/triangular_distribution triangular distribution]
+with lower /lower/ (a) and upper /upper/ (b).
+
+Requires that the /lower/, /mode/ and /upper/ parameters are all finite,
+otherwise calls __domain_error.
+
+ RealType lower()const;
+
+Returns the /lower/ parameter of this distribution (default -1).
+
+ RealType mode()const;
+
+Returns the /mode/ parameter of this distribution (default 0).
+
+ RealType upper()const;
+
+Returns the /upper/ parameter of this distribution (default+1).
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \lower\ to \upper\,
+and the supported range is lower <= x <= upper.
+
+[h4 Accuracy]
+
+The triangular distribution is implemented with simple arithmetic operators and so should have errors within an epsilon or two,
+except quantiles with arguments nearing the extremes of zero and unity.
+
+[h4 Implementation]
+
+In the following table, a is the /lower/ parameter of the distribution,
+c is the /mode/ parameter,
+b is the /upper/ parameter,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = 0 for x < mode, 2(x-a)\/(b-a)(c-a) else 2*(b-x)\/((b-a)(b-c))]]
+[[cdf][Using the relation: cdf = 0 for x < mode (x-a)[super 2]\/((b-a)(c-a)) else 1 - (b-x)[super 2]\/((b-a)(b-c))]]
+[[cdf complement][Using the relation: q = 1 - p ]]
+[[quantile][let p0 = (c-a)\/(b-a) the point of inflection on the cdf,
+then given probability p and q = 1-p:
+
+x = sqrt((b-a)(c-a)p) + a ; for p < p0
+
+x = c ; for p == p0
+
+x = b - sqrt((b-a)(b-c)q) ; for p > p0
+
+(See [@../../../../boost/math/distributions/triangular.hpp /boost/math/distributions/triangular.hpp] for details.)]]
+[[quantile from the complement][As quantile (See [@../../../../boost/math/distributions/triangular.hpp /boost/math/distributions/triangular.hpp] for details.)]]
+[[mean][(a + b + 3) \/ 3 ]]
+[[variance][(a[super 2]+b[super 2]+c[super 2] - ab - ac - bc)\/18]]
+[[mode][c]]
+[[skewness][(See [@../../../../boost/math/distributions/triangular.hpp /boost/math/distributions/triangular.hpp] for details). ]]
+[[kurtosis][12\/5]]
+[[kurtosis excess][-3\/5]]
+]
+
+Some 'known good' test values were obtained from
+[@http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm Statlet: Calculate and plot probability distributions]
+
+[h4 References]
+
+* [@http://en.wikipedia.org/wiki/Triangular_distribution Wikpedia triangular distribution]
+* [@http://mathworld.wolfram.com/TriangularDistribution.html Weisstein, Eric W. "Triangular Distribution." From MathWorld--A Wolfram Web Resource.]
+* Evans, M.; Hastings, N.; and Peacock, B. "Triangular Distribution." Ch. 40 in Statistical Distributions, 3rd ed. New York: Wiley, pp. 187-188, 2000, ISBN - 0471371246.
+* [@http://www.brighton-webs.co.uk/distributions/triangular.asp Brighton Webs Ltd. BW D-Calc 1.0 Distribution Calculator]
+* [@http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf The Triangular Distribution including its history.]
+* [@http://www.measurement.sk/2002/S1/Wimmer2.pdf Gejza Wimmer, Viktor Witkovsky and Tomas Duby,
+Measurement Science Review, Volume 2, Section 1, 2002, Proper Rounding Of The Measurement Results Under The Assumption Of Triangular Distribution.]
+
+[endsect][/section:triangular_dist triangular]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/uniform.qbk b/libs/math/doc/distributions/uniform.qbk
new file mode 100644
index 0000000000..04e1e7919d
--- /dev/null
+++ b/libs/math/doc/distributions/uniform.qbk
@@ -0,0 +1,134 @@
+[section:uniform_dist Uniform Distribution]
+
+
+``#include <boost/math/distributions/uniform.hpp>``
+
+ namespace boost{ namespace math{
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class uniform_distribution;
+
+ typedef uniform_distribution<> uniform;
+
+ template <class RealType, class ``__Policy``>
+ class uniform_distribution
+ {
+ public:
+ typedef RealType value_type;
+
+ uniform_distribution(RealType lower = 0, RealType upper = 1); // Constructor.
+ : m_lower(lower), m_upper(upper) // Default is standard uniform distribution.
+ // Accessor functions.
+ RealType lower()const;
+ RealType upper()const;
+ }; // class uniform_distribution
+
+ }} // namespaces
+
+The uniform distribution, also known as a rectangular distribution,
+is a probability distribution that has constant probability.
+
+The [@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 continuous uniform distribution]
+is a distribution with the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
+
+f(x) =
+
+* 1 / (upper - lower) for lower < x < upper
+
+* zero for x < lower or x > upper
+
+and in this implementation:
+
+* 1 / (upper - lower) for x = lower or x = upper
+
+The choice of x = lower or x = upper is made because statistical use of this distribution judged is most likely:
+the method of maximum likelihood uses this definition.
+
+There is also a [@http://en.wikipedia.org/wiki/Discrete_uniform_distribution *discrete* uniform distribution].
+
+Parameters lower and upper can be any finite value.
+
+The [@http://en.wikipedia.org/wiki/Random_variate random variate]
+x must also be finite, and is supported lower <= x <= upper.
+
+The lower parameter is also called the
+[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm location parameter],
+[@http://en.wikipedia.org/wiki/Location_parameter that is where the origin of a plot will lie],
+and (upper - lower) is also called the [@http://en.wikipedia.org/wiki/Scale_parameter scale parameter].
+
+The following graph illustrates how the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF]
+varies with the shape parameter:
+
+[graph uniform_pdf]
+
+Likewise for the CDF:
+
+[graph uniform_cdf]
+
+[h4 Member Functions]
+
+ uniform_distribution(RealType lower = 0, RealType upper = 1);
+
+Constructs a [@http://en.wikipedia.org/wiki/uniform_distribution
+uniform distribution] with lower /lower/ (a) and upper /upper/ (b).
+
+Requires that the /lower/ and /upper/ parameters are both finite;
+otherwise if infinity or NaN then calls __domain_error.
+
+ RealType lower()const;
+
+Returns the /lower/ parameter of this distribution.
+
+ RealType upper()const;
+
+Returns the /upper/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions]
+that are generic to all distributions are supported: __usual_accessors.
+
+The domain of the random variable is any finite value,
+but the supported range is only /lower/ <= x <= /upper/.
+
+[h4 Accuracy]
+
+The uniform distribution is implemented with simple arithmetic operators and so should have errors within an epsilon or two.
+
+[h4 Implementation]
+
+In the following table a is the /lower/ parameter of the distribution,
+b is the /upper/ parameter,
+/x/ is the random variate, /p/ is the probability and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = 0 for x < a, 1 / (b - a) for a <= x <= b, 0 for x > b ]]
+[[cdf][Using the relation: cdf = 0 for x < a, (x - a) / (b - a) for a <= x <= b, 1 for x > b]]
+[[cdf complement][Using the relation: q = 1 - p, (b - x) / (b - a) ]]
+[[quantile][Using the relation: x = p * (b - a) + a; ]]
+[[quantile from the complement][x = -q * (b - a) + b ]]
+[[mean][(a + b) / 2 ]]
+[[variance][(b - a) [super 2] / 12 ]]
+[[mode][any value in \[a, b\] but a is chosen. (Would NaN be better?) ]]
+[[skewness][0]]
+[[kurtosis excess][-6/5 = -1.2 exactly. (kurtosis - 3)]]
+[[kurtosis][9/5]]
+]
+
+[h4 References]
+* [@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 Wikpedia continuous uniform distribution]
+* [@http://mathworld.wolfram.com/UniformDistribution.html Weisstein, Weisstein, Eric W. "Uniform Distribution." From MathWorld--A Wolfram Web Resource.]
+* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3662.htm]
+
+[endsect][/section:uniform_dist Uniform]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/distributions/weibull.qbk b/libs/math/doc/distributions/weibull.qbk
new file mode 100644
index 0000000000..0d57776de5
--- /dev/null
+++ b/libs/math/doc/distributions/weibull.qbk
@@ -0,0 +1,132 @@
+[section:weibull_dist Weibull Distribution]
+
+
+``#include <boost/math/distributions/weibull.hpp>``
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double,
+ class ``__Policy`` = ``__policy_class`` >
+ class weibull_distribution;
+
+ typedef weibull_distribution<> weibull;
+
+ template <class RealType, class ``__Policy``>
+ class weibull_distribution
+ {
+ public:
+ typedef RealType value_type;
+ typedef Policy policy_type;
+ // Construct:
+ weibull_distribution(RealType shape, RealType scale = 1)
+ // Accessors:
+ RealType shape()const;
+ RealType scale()const;
+ };
+
+ }} // namespaces
+
+The [@http://en.wikipedia.org/wiki/Weibull_distribution Weibull distribution]
+is a continuous distribution
+with the
+[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
+
+f(x; [alpha], [beta]) = ([alpha]\/[beta]) * (x \/ [beta])[super [alpha] - 1] * e[super -(x\/[beta])[super [alpha]]]
+
+For shape parameter [alpha][space] > 0, and scale parameter [beta][space] > 0, and x > 0.
+
+The Weibull distribution is often used in the field of failure analysis;
+in particular it can mimic distributions where the failure rate varies over time.
+If the failure rate is:
+
+* constant over time, then [alpha][space] = 1, suggests that items are failing from random events.
+* decreases over time, then [alpha][space] < 1, suggesting "infant mortality".
+* increases over time, then [alpha][space] > 1, suggesting "wear out" - more likely to fail as time goes by.
+
+The following graph illustrates how the PDF varies with the shape parameter [alpha]:
+
+[graph weibull_pdf1]
+
+While this graph illustrates how the PDF varies with the scale parameter [beta]:
+
+[graph weibull_pdf2]
+
+[h4 Related distributions]
+
+When [alpha][space] = 3, the
+[@http://en.wikipedia.org/wiki/Weibull_distribution Weibull distribution] appears similar to the
+[@http://en.wikipedia.org/wiki/Normal_distribution normal distribution].
+When [alpha][space] = 1, the Weibull distribution reduces to the
+[@http://en.wikipedia.org/wiki/Exponential_distribution exponential distribution].
+The relationship of the types of extreme value distributions, of which the Weibull is but one, is
+discussed by
+[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications
+Samuel Kotz & Saralees Nadarajah].
+
+
+[h4 Member Functions]
+
+ weibull_distribution(RealType shape, RealType scale = 1);
+
+Constructs a [@http://en.wikipedia.org/wiki/Weibull_distribution
+Weibull distribution] with shape /shape/ and scale /scale/.
+
+Requires that the /shape/ and /scale/ parameters are both greater than zero,
+otherwise calls __domain_error.
+
+ RealType shape()const;
+
+Returns the /shape/ parameter of this distribution.
+
+ RealType scale()const;
+
+Returns the /scale/ parameter of this distribution.
+
+[h4 Non-member Accessors]
+
+All the [link math_toolkit.dist_ref.nmp usual non-member accessor functions] that are generic to all
+distributions are supported: __usual_accessors.
+
+The domain of the random variable is \[0, [infin]\].
+
+[h4 Accuracy]
+
+The Weibull distribution is implemented in terms of the
+standard library `log` and `exp` functions plus __expm1 and __log1p
+and as such should have very low error rates.
+
+[h4 Implementation]
+
+
+In the following table [alpha][space] is the shape parameter of the distribution,
+[beta][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
+and /q = 1-p/.
+
+[table
+[[Function][Implementation Notes]]
+[[pdf][Using the relation: pdf = [alpha][beta][super -[alpha] ]x[super [alpha] - 1] e[super -(x/beta)[super alpha]] ]]
+[[cdf][Using the relation: p = -__expm1(-(x\/[beta])[super [alpha]]) ]]
+[[cdf complement][Using the relation: q = e[super -(x\/[beta])[super [alpha]]] ]]
+[[quantile][Using the relation: x = [beta] * (-__log1p(-p))[super 1\/[alpha]] ]]
+[[quantile from the complement][Using the relation: x = [beta] * (-log(q))[super 1\/[alpha]] ]]
+[[mean][[beta] * [Gamma](1 + 1\/[alpha]) ]]
+[[variance][[beta][super 2]([Gamma](1 + 2\/[alpha]) - [Gamma][super 2](1 + 1\/[alpha])) ]]
+[[mode][[beta](([alpha] - 1) \/ [alpha])[super 1\/[alpha]] ]]
+[[skewness][Refer to [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+[[kurtosis][Refer to [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+[[kurtosis excess][Refer to [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
+]
+
+[h4 References]
+* [@http://en.wikipedia.org/wiki/Weibull_distribution ]
+* [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.]
+* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3668.htm Weibull in NIST Exploratory Data Analysis]
+
+[endsect][/section:weibull Weibull]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/equations/acosh1.mml b/libs/math/doc/equations/acosh1.mml
index 0d420a034b..0d420a034b 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh1.mml
+++ b/libs/math/doc/equations/acosh1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/acosh1.png b/libs/math/doc/equations/acosh1.png
index 71d7627d83..71d7627d83 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh1.png
+++ b/libs/math/doc/equations/acosh1.png
Binary files differ
diff --git a/libs/math/doc/equations/acosh1.svg b/libs/math/doc/equations/acosh1.svg
new file mode 100644
index 0000000000..4d1eba0f1a
--- /dev/null
+++ b/libs/math/doc/equations/acosh1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="131.030691pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 131.030691 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" axis="6.57421875" baseline="2.58984375" bottom="0.0234626745435"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.473317, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(65.807301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/acosh2.mml b/libs/math/doc/equations/acosh2.mml
index 72ceb001a8..72ceb001a8 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh2.mml
+++ b/libs/math/doc/equations/acosh2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/acosh2.png b/libs/math/doc/equations/acosh2.png
index 0f5c76556c..0f5c76556c 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh2.png
+++ b/libs/math/doc/equations/acosh2.png
Binary files differ
diff --git a/libs/math/doc/equations/acosh2.svg b/libs/math/doc/equations/acosh2.svg
new file mode 100644
index 0000000000..cf0c65815c
--- /dev/null
+++ b/libs/math/doc/equations/acosh2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="21.253945pt" width="148.640817pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 148.640817 21.253945"><svg:metadata><svgmath:metrics top="21.2539453125" axis="11.5449609375" baseline="7.5605859375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(56.291676, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(65.625660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(15.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(85.342457, 0.000000)"/><svg:g transform="translate(97.342457, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(104.009778, 0.000000)"/><svg:g transform="translate(116.009778, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(125.067723, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(135.754575, -3.984375)"><svg:g transform="translate(3.443121, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 11.714367 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="12.886242" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/acosh3.mml b/libs/math/doc/equations/acosh3.mml
index bd0d479c50..bd0d479c50 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh3.mml
+++ b/libs/math/doc/equations/acosh3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/acosh3.png b/libs/math/doc/equations/acosh3.png
index c49727d47b..c49727d47b 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh3.png
+++ b/libs/math/doc/equations/acosh3.png
Binary files differ
diff --git a/libs/math/doc/equations/acosh3.svg b/libs/math/doc/equations/acosh3.svg
new file mode 100644
index 0000000000..0edf76f500
--- /dev/null
+++ b/libs/math/doc/equations/acosh3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="234.563254pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 234.563254 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" axis="6.57421875" baseline="2.58984375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.473321, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text></svg:g><svg:g transform="translate(87.807309, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(8.930336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.844578, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(13.190336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.624578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(28.624578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 45.248422 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(68.569093, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.372496, 0.000000)"/><svg:g transform="translate(172.372496, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(179.039817, 0.000000)"/><svg:g transform="translate(191.039817, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(200.636824, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(210.737739, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(219.129012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(228.563254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/acosh4.mml b/libs/math/doc/equations/acosh4.mml
index 22cbd34090..22cbd34090 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh4.mml
+++ b/libs/math/doc/equations/acosh4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/acosh4.png b/libs/math/doc/equations/acosh4.png
index 6f59fd0b78..6f59fd0b78 100644
--- a/libs/math/doc/sf_and_dist/equations/acosh4.png
+++ b/libs/math/doc/equations/acosh4.png
Binary files differ
diff --git a/libs/math/doc/equations/acosh4.svg b/libs/math/doc/equations/acosh4.svg
new file mode 100644
index 0000000000..7e9af177e7
--- /dev/null
+++ b/libs/math/doc/equations/acosh4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.190935pt" width="299.344137pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.325701 299.344137 25.190935"><svg:metadata><svgmath:metrics top="25.1909351504" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(56.771676, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 20.948156 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(78.199832, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="27.677594" transform="scale(0.433564, 1)" text-anchor="middle" y="3.876222" x="4.608428" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(3.454102, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.000000" font-family="Times New Roman" fill="black">12</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(35.111320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(45.131500, -3.984375)"><svg:g transform="translate(1.324102, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.000000" font-family="Times New Roman" fill="black">160</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="19.171875" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(68.885406, -3.984375)"><svg:text font-size="27.677594" transform="scale(0.433564, 1)" text-anchor="middle" y="3.876222" x="4.608428" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(151.081332, 0.000000)"/><svg:g transform="translate(163.081332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(169.748652, 0.000000)"/><svg:g transform="translate(181.748652, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(191.345660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(201.446574, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">x</svg:text></svg:g><svg:g transform="translate(210.113238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(219.547481, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">1</svg:text></svg:g><svg:g transform="translate(225.547481, 0.000000)"/><svg:g transform="translate(240.880817, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(253.753215, 0.000000)"/><svg:g transform="translate(265.753215, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(275.350223, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(285.931137, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 13.413000 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/airy.mml b/libs/math/doc/equations/airy.mml
new file mode 100644
index 0000000000..0b1550e817
--- /dev/null
+++ b/libs/math/doc/equations/airy.mml
@@ -0,0 +1,76 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>airy</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mo>&#x2146;</mo>
+ <mn>2</mn>
+ </msup>
+ <mi>w</mi>
+ </mrow>
+ <mrow>
+ <mo>&#x2146;</mo>
+ <msup>
+ <mi>z</mi>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ <mo>=</mo>
+ <mi>z</mi>
+ <mi>w</mi>
+ <mspace width="1em"/>
+ <mo>;</mo>
+ <mspace width="1em"/>
+ <mi>w</mi>
+ <mo>=</mo>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>,</mo>
+ <mi>B</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>,</mo>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ <msup>
+ <mi>&#x2147;</mi>
+ <mrow>
+ <mo>&#x00B1;</mo>
+ <mfrac>
+ <mrow>
+ <mn>2</mn>
+ <mi>&#x03C0;</mi>
+ <mi>&#x2148;</mi>
+ </mrow>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mrow>
+ </mfenced>
+ </mrow>
+</math>
+</body>
+</html>
diff --git a/libs/math/doc/equations/airy.png b/libs/math/doc/equations/airy.png
new file mode 100644
index 0000000000..7dbdb201ce
--- /dev/null
+++ b/libs/math/doc/equations/airy.png
Binary files differ
diff --git a/libs/math/doc/equations/airy.svg b/libs/math/doc/equations/airy.svg
new file mode 100644
index 0000000000..ca3e246fe8
--- /dev/null
+++ b/libs/math/doc/equations/airy.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.546450pt" width="207.454250pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.665747 207.454250 26.546450"><svg:metadata><svgmath:metrics top="26.5464496395" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -1.382812)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(10.752187, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g></svg:g><svg:g transform="translate(1.389975, 12.724453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(7.825520, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="19.927969" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.847242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(33.948156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(39.010656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(47.014563, 0.000000)"/><svg:g transform="translate(59.014563, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(65.681883, 0.000000)"/><svg:g transform="translate(77.681883, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(89.019125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(99.120039, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text></svg:g><svg:g transform="translate(107.036055, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(110.370039, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(123.424727, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(130.424723, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(138.030192, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(141.364176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(154.418864, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(161.418860, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text></svg:g><svg:g transform="translate(169.334875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(172.668860, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="22.255069" transform="scale(0.539203, 1)" text-anchor="middle" y="1.771123" x="3.705556" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.278051)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.338008" font-family="Times New Roman" fill="black">±</svg:text><svg:g transform="translate(5.092031, 0.000000)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.003906" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(8.257812, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(3.656250, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="11.312500" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(30.789297, -3.984375)"><svg:text font-size="22.255069" transform="scale(0.539203, 1)" text-anchor="middle" y="1.771123" x="3.705556" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/airy_ai.mml b/libs/math/doc/equations/airy_ai.mml
new file mode 100644
index 0000000000..b21be8a29a
--- /dev/null
+++ b/libs/math/doc/equations/airy_ai.mml
@@ -0,0 +1,188 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>airy_ai</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mn>0</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mn>1</mn>
+ <mrow>
+ <msup>
+ <mn>3</mn>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msup>
+ <mi>&#x03C0;</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mi>z</mi>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <msub>
+ <mi>K</mi>
+ <mrow>
+ <mo>&#x00B1;</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>;</mo>
+ </mtd>
+ <mtd>
+ <mi>&#x03B6;</mi>
+ <mo>=</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msqrt>
+ <mi>z</mi>
+ </msqrt>
+ </mrow>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html>
+
diff --git a/libs/math/doc/equations/airy_ai.png b/libs/math/doc/equations/airy_ai.png
new file mode 100644
index 0000000000..5aa88fd2fe
--- /dev/null
+++ b/libs/math/doc/equations/airy_ai.png
Binary files differ
diff --git a/libs/math/doc/equations/airy_ai.svg b/libs/math/doc/equations/airy_ai.svg
new file mode 100644
index 0000000000..afab71f38e
--- /dev/null
+++ b/libs/math/doc/equations/airy_ai.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="89.107614pt" width="213.060977pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -48.538182 213.060977 89.107614"><svg:metadata><svgmath:metrics top="89.1076138977" bottom="0.0" baseline="40.5694319489" axis="44.5538069489"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(6.496745, -33.212166)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text><svg:g transform="translate(7.916016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(11.250000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.338933, -37.196541)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.706511, -37.196541)"><svg:g transform="translate(11.626572, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 17.832078)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.260000, -10.013109)"><svg:g transform="translate(0.390625, -0.813109)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.781250" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.041250, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(15.002754, -2.828906)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.501289, 0.000000)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.513145" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.434245, 7.359804)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text><svg:g transform="translate(7.916016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(11.250000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.338933, 3.375429)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.706511, 7.359804)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(15.931699, -3.984375)"><svg:g transform="translate(10.511766, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.238262 L 3.677534 -1.238262 L 7.487366 5.816983 L 7.408200 6.337046 L 3.447134 -0.998262 L 3.087134 -0.998262 L 7.393834 6.977109 L 9.858445 -9.213633 L 16.596961 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(33.008660, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.338008" font-family="Times New Roman" fill="black">±</svg:text><svg:g transform="translate(5.092031, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(51.997176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(163.831180, 3.375429)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(176.765165, 7.359804)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(9.696617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(20.383469, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.401281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -11.278051)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 34.972294)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text><svg:g transform="translate(7.916016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(11.250000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.338933, 30.987919)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.706511, 34.972294)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.051919" transform="scale(0.629858, 1)" text-anchor="middle" y="4.549018" x="3.172219" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.940409)"><svg:g transform="translate(4.496097, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -3.360200 L 1.720872 -3.360200 L 3.091552 -0.821903 L 3.034862 -0.453552 L 1.557288 -3.189800 L 1.301688 -3.189800 L 3.024180 0.000000 L 4.032240 -6.550000 L 8.554330 -6.550000" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:g transform="translate(2.733102, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.726205" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.894173, 0.000000)"><svg:text font-size="19.051919" transform="scale(0.629858, 1)" text-anchor="middle" y="4.549018" x="3.172219" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(18.890267, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(11.804688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.826820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(38.261062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(55.286746, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(73.638308, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/airy_aip.mml b/libs/math/doc/equations/airy_aip.mml
new file mode 100644
index 0000000000..60f3a1db8b
--- /dev/null
+++ b/libs/math/doc/equations/airy_aip.mml
@@ -0,0 +1,179 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>airy_aip</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mo>&#x2032;</mo>
+ <mfenced>
+ <mrow>
+ <mn>0</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mo>&#x2212;</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mrow>
+ <msup>
+ <mn>3</mn>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mo>&#x2032;</mo>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mi>z</mi>
+ <mrow>
+ <mi>&#x03C0;</mi>
+ <msqrt>
+ <mn>3</mn>
+ </msqrt>
+ </mrow>
+ </mfrac>
+ <msub>
+ <mi>K</mi>
+ <mrow>
+ <mrow>
+ <mo>&#x00B1;</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>;</mo>
+ </mtd>
+ <mtd>
+ <mi>&#x03B6;</mi>
+ <mo>=</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>A</mi>
+ <mi>i</mi>
+ <mo>&#x2032;</mo>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mi>z</mi>
+ <mn>3</mn>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html>
diff --git a/libs/math/doc/equations/airy_aip.png b/libs/math/doc/equations/airy_aip.png
new file mode 100644
index 0000000000..cf0e8f1baf
--- /dev/null
+++ b/libs/math/doc/equations/airy_aip.png
Binary files differ
diff --git a/libs/math/doc/equations/airy_aip.svg b/libs/math/doc/equations/airy_aip.svg
new file mode 100644
index 0000000000..3a66f04952
--- /dev/null
+++ b/libs/math/doc/equations/airy_aip.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="85.692907pt" width="204.146855pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -46.830828 204.146855 85.692907"><svg:metadata><svgmath:metrics top="85.6929065547" bottom="0.0" baseline="38.8620782774" axis="42.8464532774"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(6.496745, -31.504813)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text><svg:g transform="translate(7.916016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.583332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(15.208332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.297265, -35.489188)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.664843, -35.489188)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(8.020183, 0.000000)"><svg:g transform="translate(11.626572, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 17.832078)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.260000, -10.013109)"><svg:g transform="translate(0.390625, -0.813109)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.781250" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.041250, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(15.002754, -2.828906)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.501289, 0.000000)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.513145" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(7.434245, 9.067158)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text><svg:g transform="translate(7.916016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.583332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(15.208332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.297265, 5.082783)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.664843, 9.067158)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(5.833916, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 8.311689)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(4.875370, 0.000000)"><svg:g transform="translate(4.491105, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -3.356040 L 1.719374 -3.356040 L 3.087811 -0.821898 L 3.031119 -0.453549 L 1.555790 -3.185640 L 1.300190 -3.185640 L 3.020436 0.000000 L 4.027248 -6.541679 L 9.214962 -6.541679" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="15.262208" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.848145, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.338008" font-family="Times New Roman" fill="black">±</svg:text><svg:g transform="translate(5.092031, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(34.836661, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(154.917058, 5.082783)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(167.851042, 9.067158)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(9.696617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(20.383469, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.401281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -11.278051)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 33.264940)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.250977" font-family="Times New Roman" font-style="italic" fill="black">A</svg:text><svg:g transform="translate(7.916016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.583332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(15.208332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.297265, 29.280565)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.664843, 33.264940)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(11.804688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.826820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.261062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(55.286746, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(73.638308, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/airy_bi.mml b/libs/math/doc/equations/airy_bi.mml
new file mode 100644
index 0000000000..b3982b38ba
--- /dev/null
+++ b/libs/math/doc/equations/airy_bi.mml
@@ -0,0 +1,195 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>airy_bi</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>B</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mn>0</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mn>1</mn>
+ <mrow>
+ <msup>
+ <mn>3</mn>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>6</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>B</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mi>z</mi>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <mfenced>
+ <mrow>
+ <msub>
+ <mi>I</mi>
+ <mrow>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <msub>
+ <mi>I</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>;</mo>
+ </mtd>
+ <mtd>
+ <mi>&#x03B6;</mi>
+ <mo>=</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>B</mi>
+ <mi>i</mi>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mi>z</mi>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <mfenced>
+ <mrow>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html>
diff --git a/libs/math/doc/equations/airy_bi.png b/libs/math/doc/equations/airy_bi.png
new file mode 100644
index 0000000000..72094f0bc8
--- /dev/null
+++ b/libs/math/doc/equations/airy_bi.png
Binary files differ
diff --git a/libs/math/doc/equations/airy_bi.svg b/libs/math/doc/equations/airy_bi.svg
new file mode 100644
index 0000000000..f52b68cb19
--- /dev/null
+++ b/libs/math/doc/equations/airy_bi.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="89.881832pt" width="210.937124pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -48.925291 210.937124 89.881832"><svg:metadata><svgmath:metrics top="89.881832336" bottom="0.0" baseline="40.956541168" axis="44.940916168"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(6.496745, -33.599276)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.939453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.028386, -37.583651)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.395964, -37.583651)"><svg:g transform="translate(11.626572, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 17.832078)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.260000, -10.013109)"><svg:g transform="translate(0.390625, -0.813109)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">6</svg:text></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.781250" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.041250, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(15.002754, -2.828906)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.501289, 0.000000)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.513145" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.434245, 6.972695)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.939453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.028386, 2.988320)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.395964, 6.972695)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.511766, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.238262 L 3.677534 -1.238262 L 7.487366 5.816983 L 7.408200 6.337046 L 3.447134 -0.998262 L 3.087134 -0.998262 L 7.393834 6.977109 L 9.858445 -9.213633 L 16.596961 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(17.076961, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 3.215551)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.128906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.151039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.585281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(51.935183, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(70.286746, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(161.707327, 2.988320)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(174.641312, 6.972695)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(9.696617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(20.383469, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.401281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -11.278051)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 35.359403)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.939453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.028386, 31.375028)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.395964, 35.359403)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.511766, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.238262 L 3.677534 -1.238262 L 7.487366 5.816983 L 7.408200 6.337046 L 3.447134 -0.998262 L 3.087134 -0.998262 L 7.393834 6.977109 L 9.858445 -9.213633 L 16.596961 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(17.076961, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(17.025684, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.047816, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(43.482058, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(55.286746, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(73.638308, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/airy_bip.mml b/libs/math/doc/equations/airy_bip.mml
new file mode 100644
index 0000000000..00f9768db6
--- /dev/null
+++ b/libs/math/doc/equations/airy_bip.mml
@@ -0,0 +1,195 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>airy_bip</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>B</mi>
+ <mi>i</mi>
+ <mo>&#x2032;</mo>
+ <mfenced>
+ <mrow>
+ <mn>0</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mn>3</mn>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>6</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ <mrow>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>B</mi>
+ <mi>i</mi>
+ <mo>&#x2032;</mo>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mi>z</mi>
+ <msqrt>
+ <mn>3</mn>
+ </msqrt>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <msub>
+ <mi>I</mi>
+ <mrow>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <msub>
+ <mi>I</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>;</mo>
+ </mtd>
+ <mtd>
+ <mi>&#x03B6;</mi>
+ <mo>=</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>B</mi>
+ <mi>i</mi>
+ <mo>&#x2032;</mo>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mi>z</mi>
+ <msqrt>
+ <mn>3</mn>
+ </msqrt>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x03B6;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html>
diff --git a/libs/math/doc/equations/airy_bip.png b/libs/math/doc/equations/airy_bip.png
new file mode 100644
index 0000000000..2f865c815a
--- /dev/null
+++ b/libs/math/doc/equations/airy_bip.png
Binary files differ
diff --git a/libs/math/doc/equations/airy_bip.svg b/libs/math/doc/equations/airy_bip.svg
new file mode 100644
index 0000000000..dd81032a16
--- /dev/null
+++ b/libs/math/doc/equations/airy_bip.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="89.513978pt" width="208.791270pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -48.741364 208.791270 89.513978"><svg:metadata><svgmath:metrics top="89.5139780043" bottom="0.0" baseline="40.7726140021" axis="44.7569890021"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(6.496745, -22.840692)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.272785, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(14.897785, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(44.986718, -26.825067)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.354296, -26.825067)"><svg:g transform="translate(4.715322, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.260000, -10.013109)"><svg:g transform="translate(0.390625, -0.813109)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">6</svg:text></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.781250" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.585938, 11.078493)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, -2.828906)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.501289, 0.000000)"><svg:text font-size="14.597164" transform="scale(0.583675, 1)" text-anchor="middle" y="3.485358" x="2.430485" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="18.471895" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.434245, 10.977693)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.272785, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(14.897785, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(44.986718, 6.993318)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.354296, 10.977693)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(3.396231, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 8.311689)"><svg:g transform="translate(4.491105, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -3.356040 L 1.719374 -3.356040 L 3.087811 -0.821898 L 3.031119 -0.453549 L 1.555790 -3.185640 L 1.300190 -3.185640 L 3.020436 0.000000 L 4.027248 -6.541679 L 9.214962 -6.541679" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="10.386837" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.972775, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 3.215551)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.128906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.151039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.585281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(51.935183, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(70.286746, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(159.561473, 6.993318)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(172.495458, 10.977693)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(9.696617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(20.383469, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.401281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -11.278051)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 35.175476)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.272785, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(14.897785, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(44.986718, 31.191101)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.354296, 35.175476)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(3.396231, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 8.311689)"><svg:g transform="translate(4.491105, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -3.356040 L 1.719374 -3.356040 L 3.087811 -0.821898 L 3.031119 -0.453549 L 1.555790 -3.185640 L 1.300190 -3.185640 L 3.020436 0.000000 L 4.027248 -6.541679 L 9.214962 -6.541679" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="10.386837" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.972775, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(17.025684, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.047816, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(43.482058, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 3.215551)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(55.286746, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(10.359375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(73.638308, -3.984375)"><svg:text font-size="19.702975" transform="scale(0.609045, 1)" text-anchor="middle" y="9.313586" x="3.280622" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh1.mml b/libs/math/doc/equations/asinh1.mml
index 17463c61cb..17463c61cb 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh1.mml
+++ b/libs/math/doc/equations/asinh1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/asinh1.png b/libs/math/doc/equations/asinh1.png
index 69442140ba..69442140ba 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh1.png
+++ b/libs/math/doc/equations/asinh1.png
Binary files differ
diff --git a/libs/math/doc/equations/asinh1.svg b/libs/math/doc/equations/asinh1.svg
new file mode 100644
index 0000000000..96b8b9d5fb
--- /dev/null
+++ b/libs/math/doc/equations/asinh1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="129.038504pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 129.038504 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" axis="6.57421875" baseline="2.58984375" bottom="0.0234626745435"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(54.481129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(63.815114, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh2.mml b/libs/math/doc/equations/asinh2.mml
index c27843dba0..c27843dba0 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh2.mml
+++ b/libs/math/doc/equations/asinh2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/asinh2.png b/libs/math/doc/equations/asinh2.png
index a5ec5ab01b..a5ec5ab01b 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh2.png
+++ b/libs/math/doc/equations/asinh2.png
Binary files differ
diff --git a/libs/math/doc/equations/asinh2.svg b/libs/math/doc/equations/asinh2.svg
new file mode 100644
index 0000000000..5f708472b0
--- /dev/null
+++ b/libs/math/doc/equations/asinh2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.574063pt" width="177.077895pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 177.077895 22.574063"><svg:metadata><svgmath:metrics top="22.5740625" axis="12.865078125" baseline="8.880703125" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(54.299489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(63.633473, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(15.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(86.016934, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(96.037113, -3.984375)"><svg:g transform="translate(5.578242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585937, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="17.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(113.779535, 0.000000)"/><svg:g transform="translate(125.779535, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(132.446856, 0.000000)"/><svg:g transform="translate(144.446856, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(153.504801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(164.191653, -3.984375)"><svg:g transform="translate(3.443121, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 11.714367 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="12.886242" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh3.mml b/libs/math/doc/equations/asinh3.mml
index e5dc329c12..e5dc329c12 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh3.mml
+++ b/libs/math/doc/equations/asinh3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/asinh3.png b/libs/math/doc/equations/asinh3.png
index 3d2d41ae02..3d2d41ae02 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh3.png
+++ b/libs/math/doc/equations/asinh3.png
Binary files differ
diff --git a/libs/math/doc/equations/asinh3.svg b/libs/math/doc/equations/asinh3.svg
new file mode 100644
index 0000000000..bfc3cc1193
--- /dev/null
+++ b/libs/math/doc/equations/asinh3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.714688pt" width="148.172543pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 148.172543 22.714688"><svg:metadata><svgmath:metrics top="22.7146875" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(54.299489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(62.690762, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(72.710942, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(84.453363, 0.000000)"/><svg:g transform="translate(96.453363, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(103.120684, 0.000000)"/><svg:g transform="translate(115.120684, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(124.178629, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(134.759543, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 13.413000 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh4.mml b/libs/math/doc/equations/asinh4.mml
index a6a72d29ce..a6a72d29ce 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh4.mml
+++ b/libs/math/doc/equations/asinh4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/asinh4.png b/libs/math/doc/equations/asinh4.png
index 86c88dd7a4..86c88dd7a4 100644
--- a/libs/math/doc/sf_and_dist/equations/asinh4.png
+++ b/libs/math/doc/equations/asinh4.png
Binary files differ
diff --git a/libs/math/doc/equations/asinh4.svg b/libs/math/doc/equations/asinh4.svg
new file mode 100644
index 0000000000..9376b28452
--- /dev/null
+++ b/libs/math/doc/equations/asinh4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="13.729419pt" width="178.943614pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 178.943614 13.729419"><svg:metadata><svgmath:metrics top="13.7294186359" axis="6.57421875" baseline="2.58984375" bottom="1.7763568394e-015"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.481133, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text></svg:g><svg:g transform="translate(85.815122, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.825520, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="22.666992" font-family="Times New Roman" fill="black">sqrtp1m1</svg:text></svg:g><svg:g transform="translate(67.159508, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(13.980703, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(89.132398, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/atanh1.mml b/libs/math/doc/equations/atanh1.mml
index 0561c1a18c..0561c1a18c 100644
--- a/libs/math/doc/sf_and_dist/equations/atanh1.mml
+++ b/libs/math/doc/equations/atanh1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/atanh1.png b/libs/math/doc/equations/atanh1.png
index 8e51451a03..8e51451a03 100644
--- a/libs/math/doc/sf_and_dist/equations/atanh1.png
+++ b/libs/math/doc/equations/atanh1.png
Binary files differ
diff --git a/libs/math/doc/equations/atanh1.svg b/libs/math/doc/equations/atanh1.svg
new file mode 100644
index 0000000000..ce5f9e64be
--- /dev/null
+++ b/libs/math/doc/equations/atanh1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.238832pt" width="93.481230pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.514223 93.481230 26.238832"><svg:metadata><svgmath:metrics top="26.238832069" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.723317, -3.984375)"><svg:g transform="translate(0.585938, -5.072344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="18.087991" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.878956, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="37.757913" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/atanh2.mml b/libs/math/doc/equations/atanh2.mml
index 735fd86b65..735fd86b65 100644
--- a/libs/math/doc/sf_and_dist/equations/atanh2.mml
+++ b/libs/math/doc/equations/atanh2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/atanh2.png b/libs/math/doc/equations/atanh2.png
index 4b5545e1fb..4b5545e1fb 100644
--- a/libs/math/doc/sf_and_dist/equations/atanh2.png
+++ b/libs/math/doc/equations/atanh2.png
Binary files differ
diff --git a/libs/math/doc/equations/atanh2.svg b/libs/math/doc/equations/atanh2.svg
new file mode 100644
index 0000000000..e672704495
--- /dev/null
+++ b/libs/math/doc/equations/atanh2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.714688pt" width="148.828793pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 148.828793 22.714688"><svg:metadata><svgmath:metrics top="22.7146875" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(54.955739, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(63.347012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(73.367192, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(85.109613, 0.000000)"/><svg:g transform="translate(97.109613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(103.776934, 0.000000)"/><svg:g transform="translate(115.776934, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(124.834879, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(135.415793, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 13.413000 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(1.958721, -6.605977)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/atanh3.mml b/libs/math/doc/equations/atanh3.mml
index 1d839acfd7..1d839acfd7 100644
--- a/libs/math/doc/sf_and_dist/equations/atanh3.mml
+++ b/libs/math/doc/equations/atanh3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/atanh3.png b/libs/math/doc/equations/atanh3.png
index 36e3df0c82..36e3df0c82 100644
--- a/libs/math/doc/sf_and_dist/equations/atanh3.png
+++ b/libs/math/doc/equations/atanh3.png
Binary files differ
diff --git a/libs/math/doc/equations/atanh3.svg b/libs/math/doc/equations/atanh3.svg
new file mode 100644
index 0000000000..e259e4c7ea
--- /dev/null
+++ b/libs/math/doc/equations/atanh3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.242200pt" width="164.531918pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 164.531918 22.242200"><svg:metadata><svgmath:metrics top="22.2422000873" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.723317, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text><svg:g transform="translate(29.333988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.717449, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(57.151695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text></svg:g><svg:g transform="translate(86.485684, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.404300, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="108.808601" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bernoulli_numbers.mml b/libs/math/doc/equations/bernoulli_numbers.mml
new file mode 100644
index 0000000000..e250e076f1
--- /dev/null
+++ b/libs/math/doc/equations/bernoulli_numbers.mml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
+ <mrow>
+ <msub>
+ <mi>B</mi>
+ <mi>j</mi>
+ </msub>
+ <mo>=</mo>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mo>−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mfrac>
+ <mi>j</mi>
+ <mn>2</mn>
+ </mfrac>
+ <mo>−</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <mfrac>
+ <mrow>
+ <mi>j</mi>
+ <msub>
+ <mi>T</mi>
+ <mrow>
+ <mi>j</mi>
+ <mo>/</mo>
+ <mn>2</mn>
+ </mrow>
+ </msub>
+ </mrow>
+ <mfenced>
+ <mrow>
+ <msup>
+ <mn>4</mn>
+ <mi>j</mi>
+ </msup>
+ <mo>−</mo>
+ <msup>
+ <mn>2</mn>
+ <mi>j</mi>
+ </msup>
+ </mrow>
+ </mfenced>
+ </mfrac>
+ </mrow>
+</math> \ No newline at end of file
diff --git a/libs/math/doc/equations/bernoulli_numbers.png b/libs/math/doc/equations/bernoulli_numbers.png
new file mode 100644
index 0000000000..f8de0ef35f
--- /dev/null
+++ b/libs/math/doc/equations/bernoulli_numbers.png
Binary files differ
diff --git a/libs/math/doc/equations/bernoulli_numbers.svg b/libs/math/doc/equations/bernoulli_numbers.svg
new file mode 100644
index 0000000000..dec5eb1d3e
--- /dev/null
+++ b/libs/math/doc/equations/bernoulli_numbers.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="28.808211pt" width="92.361877pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.858857 92.361877 28.808211"><svg:metadata><svgmath:metrics top="28.8082114911" bottom="0.0" baseline="9.94935469253" axis="13.9337296925"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(14.774469, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(24.875383, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.615234, -2.592524)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(5.248047, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.053027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(61.200781, -3.984375)"><svg:g transform="translate(5.973133, -6.930868)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.369209" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(5.533008, 3.604696)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.601562, -2.656250)"><svg:text font-size="8.008593" text-anchor="middle" y="2.654395" x="1.112522" font-family="Times New Roman" fill="black">/</svg:text></svg:g><svg:g transform="translate(5.846158, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.121466)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.580795" transform="scale(0.627357, 1)" text-anchor="middle" y="1.736684" x="2.261255" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(4.260000, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(9.754894, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.453206, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(27.151995, -2.828906)"><svg:text font-size="13.580795" transform="scale(0.627357, 1)" text-anchor="middle" y="1.736684" x="2.261255" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="31.161096" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bernoulli_numbers2.mml b/libs/math/doc/equations/bernoulli_numbers2.mml
new file mode 100644
index 0000000000..81a24cd319
--- /dev/null
+++ b/libs/math/doc/equations/bernoulli_numbers2.mml
@@ -0,0 +1,224 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mrow>
+ <mi>ln</mi>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <msub>
+ <mi>B</mi>
+ <mi>n</mi>
+ </msub>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mtext>=</mtext>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ <mo stretchy="false">+</mo>
+ <mi>n</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mi>ln</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ <mo stretchy="false">−</mo>
+ <mi>n</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mi>ln</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mo stretchy="false">Ï€</mo>
+ <mtext/>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mn>3</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ <mo stretchy="false">−</mo>
+ <mi>n</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mi>ln</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <mi>R</mi>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mi>R</mi>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mtext>=</mtext>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mi>n</mi>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo stretchy="false">−</mo>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mn>12</mn>
+ </mfrac>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo stretchy="false">−</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>30</mn>
+ </mfrac>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo stretchy="false">−</mo>
+ <mfrac>
+ <mn>2</mn>
+ <mn>7</mn>
+ </mfrac>
+ </mrow>
+ <msup>
+ <mi>n</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mn>2</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <msup>
+ <mi>n</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mn>2</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <msup>
+ <mi>n</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mn>2</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/bernoulli_numbers2.png b/libs/math/doc/equations/bernoulli_numbers2.png
new file mode 100644
index 0000000000..e64acf1deb
--- /dev/null
+++ b/libs/math/doc/equations/bernoulli_numbers2.png
Binary files differ
diff --git a/libs/math/doc/equations/bernoulli_numbers2.svg b/libs/math/doc/equations/bernoulli_numbers2.svg
new file mode 100644
index 0000000000..558c6a8e4a
--- /dev/null
+++ b/libs/math/doc/equations/bernoulli_numbers2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.995937pt" width="291.853914pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.482344 291.853914 34.995937"><svg:metadata><svgmath:metrics top="34.9959375" bottom="0.0" baseline="13.51359375" axis="17.49796875"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -6.056484)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(15.861562, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.791641, -6.056484)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.159219, -6.056484)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.696844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(42.030828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.658852, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(26.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(100.820765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(110.154750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(7.329430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.029297" font-family="Times New Roman" fill="black">π</svg:text><svg:g transform="translate(11.391934, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g></svg:g><svg:g transform="translate(20.721367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.384125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.818367, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(179.669961, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(189.003945, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.658852, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(26.093094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g></svg:g><svg:g transform="translate(222.702507, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(7.593984, 14.025234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.791641, 14.025234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.159219, 14.025234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(2.715937, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">12</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.691875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(28.964656, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(2.715937, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">30</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.691875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(28.964656, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 7.240781)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">7</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(24.704656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(43.765730, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(76.726480, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(95.787554, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(128.748304, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(147.809379, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel1.mml b/libs/math/doc/equations/bessel1.mml
index 63b562d20f..63b562d20f 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel1.mml
+++ b/libs/math/doc/equations/bessel1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel1.png b/libs/math/doc/equations/bessel1.png
index 26888c795d..26888c795d 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel1.png
+++ b/libs/math/doc/equations/bessel1.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel1.svg b/libs/math/doc/equations/bessel1.svg
new file mode 100644
index 0000000000..9e86463276
--- /dev/null
+++ b/libs/math/doc/equations/bessel1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="136.954703pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 136.954703 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(46.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(63.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(72.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.005672, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(111.520453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(120.853789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(130.954703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel10.mml b/libs/math/doc/equations/bessel10.mml
index c8f459552d..c8f459552d 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel10.mml
+++ b/libs/math/doc/equations/bessel10.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel10.png b/libs/math/doc/equations/bessel10.png
index 295a60fc36..295a60fc36 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel10.png
+++ b/libs/math/doc/equations/bessel10.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel10.svg b/libs/math/doc/equations/bessel10.svg
new file mode 100644
index 0000000000..9c9ebe5201
--- /dev/null
+++ b/libs/math/doc/equations/bessel10.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="186.572914pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 186.572914 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(16.590469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.978492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.412742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(63.749985, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.455063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(94.209301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(109.930653, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(122.698231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(142.027660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.732739, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(173.518227, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel11.mml b/libs/math/doc/equations/bessel11.mml
index aa8344196d..aa8344196d 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel11.mml
+++ b/libs/math/doc/equations/bessel11.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel11.png b/libs/math/doc/equations/bessel11.png
index 3997443868..3997443868 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel11.png
+++ b/libs/math/doc/equations/bessel11.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel11.svg b/libs/math/doc/equations/bessel11.svg
new file mode 100644
index 0000000000..60069bdeb7
--- /dev/null
+++ b/libs/math/doc/equations/bessel11.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="28.755577pt" width="206.160014pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.330137 206.160014 28.755577"><svg:metadata><svgmath:metrics top="28.7555770005" bottom="0.0" baseline="12.4254402818" axis="16.4098152818"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF1</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(32.678395, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(47.539407, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.226258, -3.984375)"><svg:g transform="translate(0.585938, -4.400449)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(5.118428, 9.544922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.991094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(83.136625, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(93.823477, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(133.926960, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(176.777842, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(188.794123, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(200.810405, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel12.mml b/libs/math/doc/equations/bessel12.mml
index 19e88aa039..19e88aa039 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel12.mml
+++ b/libs/math/doc/equations/bessel12.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel12.png b/libs/math/doc/equations/bessel12.png
index e6dba8ab6f..e6dba8ab6f 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel12.png
+++ b/libs/math/doc/equations/bessel12.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel12.svg b/libs/math/doc/equations/bessel12.svg
new file mode 100644
index 0000000000..2afbc996e0
--- /dev/null
+++ b/libs/math/doc/equations/bessel12.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.679211pt" width="330.189465pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.823980 330.189465 35.679211"><svg:metadata><svgmath:metrics top="35.679210862" bottom="0.670661858308" baseline="13.855230431" axis="17.839605431"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF2</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(32.678395, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(42.669278, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.103520, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(55.437504, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(64.770840, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(75.457692, -3.984375)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(6.972656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(13.420902, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.855144, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(26.189129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.544922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(13.420902, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.855144, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(26.189129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="39.146492" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(118.523457, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(128.624371, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.206807" x="3.581891" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(3.448242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(33.499344, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.206807" x="3.581891" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(168.786473, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(178.806652, -3.984375)"><svg:g transform="translate(1.781250, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(0.585938, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(186.289074, -3.984375)"><svg:text font-size="39.243300" transform="scale(0.305785, 1)" text-anchor="middle" y="9.370104" x="6.534163" font-family="Times New Roman" fill="black">[</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(2.607395, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.957211)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(21.522602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(30.956844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(25.155594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.818351, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="45.757805" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(46.929680, 0.000000)"><svg:g transform="translate(5.607395, -5.040305)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.057270)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(21.522602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(30.956844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(23.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(31.155594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.818351, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="51.757805" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(102.606758, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(114.623039, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(126.639320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:g><svg:g transform="translate(139.904297, 0.000000)"><svg:text font-size="39.243300" transform="scale(0.305785, 1)" text-anchor="middle" y="9.370104" x="6.534163" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bessel13.mml b/libs/math/doc/equations/bessel13.mml
new file mode 100644
index 0000000000..3aed65b903
--- /dev/null
+++ b/libs/math/doc/equations/bessel13.mml
@@ -0,0 +1,140 @@
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>J</mi>
+ <mi>&#x03BC;</mi>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mo>&#x00B1;</mo>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mi>W</mi>
+ <mrow>
+ <mi>q</mi>
+ <mo>+</mo>
+ <mi>&#x03B3;</mi>
+ <mfenced>
+ <mrow>
+ <mi>p</mi>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>f</mi>
+ <mi>&#x03BC;</mi>
+ </msub>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mi>&#x03BC;</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msub>
+ <mi>J</mi>
+ <mi>&#x03BC;</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mi>&#x03BC;</mi>
+ <mi>x</mi>
+ </mfrac>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>f</mi>
+ <mi>&#x03BC;</mi>
+ </msub>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>Y</mi>
+ <mi>&#x03BC;</mi>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>&#x03B3;</mi>
+ <msub>
+ <mi>J</mi>
+ <mi>&#x03BC;</mi>
+ </msub>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>Y</mi>
+ <mrow>
+ <mi>&#x03BC;</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msub>
+ <mi>Y</mi>
+ <mi>&#x03BC;</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mi>&#x03BC;</mi>
+ <mi>x</mi>
+ </mfrac>
+ <mo>&#x2212;</mo>
+ <mi>p</mi>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mi>q</mi>
+ <mi>&#x03B3;</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
+
diff --git a/libs/math/doc/equations/bessel13.png b/libs/math/doc/equations/bessel13.png
new file mode 100644
index 0000000000..ac0c28a2b4
--- /dev/null
+++ b/libs/math/doc/equations/bessel13.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel13.svg b/libs/math/doc/equations/bessel13.svg
new file mode 100644
index 0000000000..5155a0c2bc
--- /dev/null
+++ b/libs/math/doc/equations/bessel13.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="84.569656pt" width="115.795384pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -46.269203 115.795384 84.569656"><svg:metadata><svgmath:metrics top="84.5696561113" bottom="0.0" baseline="38.3004530556" axis="42.2848280556"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.096230, -24.828315)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(31.394824, -28.812690)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.762402, -28.812690)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">±</svg:text><svg:g transform="translate(7.252605, 0.000000)"><svg:text font-size="24.544149" transform="scale(0.488915, 1)" text-anchor="middle" y="5.860395" x="4.086697" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(19.371350, -1.728574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.548613" font-family="Times New Roman" font-style="italic" fill="black">W</svg:text></svg:g><svg:g transform="translate(0.585938, 7.525607)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.678623" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(16.208889, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="10.501396" transform="scale(0.811321, 1)" text-anchor="middle" y="4.194406" x="1.748524" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.093527, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.791839, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.652100" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(5.499727, 1.905352)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(26.566292, -2.828906)"><svg:text font-size="10.501396" transform="scale(0.811321, 1)" text-anchor="middle" y="4.194406" x="1.748524" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="46.784283" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.952252, 0.000000)"><svg:text font-size="24.544149" transform="scale(0.488915, 1)" text-anchor="middle" y="5.860395" x="4.086697" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.948345, -7.199926)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(1.031250, -1.183343)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.394824, -5.167718)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.762402, -1.183343)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(11.698594, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.169603" transform="scale(0.698910, 1)" text-anchor="middle" y="4.801209" x="2.858806" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(0.916670, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.897812" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.150414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.584656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.638719, -3.984375)"><svg:text font-size="17.169603" transform="scale(0.698910, 1)" text-anchor="middle" y="4.801209" x="2.858806" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(9.064980, 16.668942)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(31.394824, 12.684567)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.762402, 16.668942)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 37.745043)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.394824, 33.760668)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.762402, 37.745043)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(12.729844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.827497" transform="scale(0.758174, 1)" text-anchor="middle" y="3.787444" x="2.635340" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(0.916670, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.897812" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.150414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.584656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(28.575539, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.595719, -3.984375)"><svg:g transform="translate(0.585938, -3.421758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(1.037314, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.678623" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(49.195562, -3.984375)"><svg:text font-size="15.827497" transform="scale(0.758174, 1)" text-anchor="middle" y="3.787444" x="2.635340" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel14.mml b/libs/math/doc/equations/bessel14.mml
index 0b62c0f609..0b62c0f609 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel14.mml
+++ b/libs/math/doc/equations/bessel14.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel14.png b/libs/math/doc/equations/bessel14.png
index deefce2d10..deefce2d10 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel14.png
+++ b/libs/math/doc/equations/bessel14.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel14.svg b/libs/math/doc/equations/bessel14.svg
new file mode 100644
index 0000000000..96b066e2a4
--- /dev/null
+++ b/libs/math/doc/equations/bessel14.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.922773pt" width="51.817734pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.438398 51.817734 23.922773"><svg:metadata><svgmath:metrics top="23.9227734375" bottom="0.0" baseline="5.484375" axis="9.46875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(8.061852, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(18.748703, -3.984375)"><svg:g transform="translate(0.585938, -6.121992)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(9.990883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.425125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(13.534516, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.069031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bessel15.mml b/libs/math/doc/equations/bessel15.mml
new file mode 100644
index 0000000000..c2ed527efa
--- /dev/null
+++ b/libs/math/doc/equations/bessel15.mml
@@ -0,0 +1,114 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" >
+ <mtable columnalign="left" class="align">
+ <mtr>
+ <mtd columnalign="right" class="align-odd">
+ <msub>
+ <mrow >
+ <mi >Y</mi>
+ </mrow>
+ <mrow >
+ <mi >&#x03BC;</mi>
+ </mrow>
+ </msub >
+ </mtd>
+ <mtd class="align-even">
+ <mo class="MathClass-rel">=</mo>
+ <mo class="MathClass-bin">&#x2212;</mo>
+ <munderover accentunder="false" accent="false">
+ <mrow >
+ <mo mathsize="big" >&#x2211;</mo>
+ </mrow>
+ <mrow >
+ <mi >k</mi>
+ <mo class="MathClass-rel">=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mrow >
+ <mi >&#x221E;</mi>
+ </mrow>
+ </munderover >
+ <msub>
+ <mrow >
+ <mi >c</mi>
+ </mrow>
+ <mrow >
+ <mi >k</mi>
+ </mrow>
+ </msub >
+ <msub>
+ <mrow >
+ <mi >g</mi>
+ </mrow>
+ <mrow >
+ <mi >k</mi>
+ </mrow>
+ </msub >
+ <mspace width="2em"/>
+ </mtd>
+ <mtd columnalign="right" class="align-label"></mtd>
+ <mtd class="align-label">
+ <mspace width="2em"/>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd columnalign="right" class="align-odd">
+ <msub>
+ <mrow >
+ <mi >Y</mi>
+ </mrow>
+ <mrow >
+ <mi >&#x03BC;</mi>
+ <mo class="MathClass-bin">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub >
+ </mtd>
+ <mtd class="align-even">
+ <mo class="MathClass-rel">=</mo>
+ <mo class="MathClass-bin">&#x2212;</mo>
+ <mfrac>
+ <mrow >
+ <mn>2</mn>
+ </mrow>
+ <mrow >
+ <mi >x</mi>
+ </mrow>
+ </mfrac>
+ <munderover accentunder="false" accent="false">
+ <mrow >
+ <mo mathsize="big" >&#x2211;</mo>
+ </mrow>
+ <mrow >
+ <mi >k</mi>
+ <mo class="MathClass-rel">=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mrow >
+ <mi >&#x221E;</mi>
+ </mrow>
+ </munderover >
+ <msub>
+ <mrow >
+ <mi >c</mi>
+ </mrow>
+ <mrow >
+ <mi >k</mi>
+ </mrow>
+ </msub >
+ <msub>
+ <mrow >
+ <mi >h</mi>
+ </mrow>
+ <mrow >
+ <mi >k</mi>
+ </mrow>
+ </msub >
+ <mspace width="2em"/>
+ </mtd>
+ <mtd columnalign="right" class="align-label"></mtd>
+ <mtd class="align-label">
+ <mspace width="2em"/>
+ </mtd>
+ </mtr>
+ </mtable>
+</math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel15.png b/libs/math/doc/equations/bessel15.png
index fcb118a4d0..fcb118a4d0 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel15.png
+++ b/libs/math/doc/equations/bessel15.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel15.svg b/libs/math/doc/equations/bessel15.svg
new file mode 100644
index 0000000000..a69f57e91e
--- /dev/null
+++ b/libs/math/doc/equations/bessel15.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="67.557891pt" width="161.608560pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -37.763320 161.608560 67.557891"><svg:metadata><svgmath:metrics top="67.557890625" bottom="0.0" baseline="29.7945703125" axis="33.7789453125"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.064980, -15.291094)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(31.394824, -15.291094)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(12.767578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.201820, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="7.268360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(0.649552, 16.492031)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.231446, -10.576289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(36.738541, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(46.237349, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.574219, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(56.984205, 0.000000)"/></svg:g><svg:g transform="translate(128.008560, -15.291094)"/><svg:g transform="translate(137.608560, -15.291094)"/><svg:g transform="translate(0.000000, 21.171445)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.394824, 21.171445)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(12.767578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.787758, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.683701, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(28.805570, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="7.268360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(0.649552, 16.492031)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.231446, -10.576289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(43.342291, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(52.841099, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(63.013736, 0.000000)"/></svg:g><svg:g transform="translate(128.008560, 21.171445)"/><svg:g transform="translate(137.608560, 21.171445)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel16.mml b/libs/math/doc/equations/bessel16.mml
index b324fb23f6..b324fb23f6 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel16.mml
+++ b/libs/math/doc/equations/bessel16.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel16.png b/libs/math/doc/equations/bessel16.png
index eb204a55a0..eb204a55a0 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel16.png
+++ b/libs/math/doc/equations/bessel16.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel16.svg b/libs/math/doc/equations/bessel16.svg
new file mode 100644
index 0000000000..bd5f3644f2
--- /dev/null
+++ b/libs/math/doc/equations/bessel16.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.099590pt" width="68.410617pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.218887 68.410617 27.099590"><svg:metadata><svgmath:metrics top="27.0995902423" bottom="0.0552742346939" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(12.832145, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.518996, -3.984375)"><svg:g transform="translate(3.189127, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.378254" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.483188, -3.984375)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(8.020183, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(23.758698, 0.000000)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(27.754792, -8.318770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel2.mml b/libs/math/doc/equations/bessel2.mml
index 07563a976a..07563a976a 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel2.mml
+++ b/libs/math/doc/equations/bessel2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel2.png b/libs/math/doc/equations/bessel2.png
index 4676a8229e..4676a8229e 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel2.png
+++ b/libs/math/doc/equations/bessel2.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel2.svg b/libs/math/doc/equations/bessel2.svg
new file mode 100644
index 0000000000..85b0732035
--- /dev/null
+++ b/libs/math/doc/equations/bessel2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.696463pt" width="153.677772pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.288407 153.677772 38.696463"><svg:metadata><svgmath:metrics top="38.6964632812" bottom="0.0" baseline="16.4080558594" axis="20.3924308594"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.142262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(37.243176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(17.402344, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.398438, -11.291072)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(62.423195, -3.984375)"><svg:text font-size="28.751642" text-anchor="middle" y="6.865016" x="10.248388" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.629579, 20.292587)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.211474, -14.376845)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(83.505909, -3.984375)"><svg:g transform="translate(17.323272, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.020183, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.037995, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(27.356589, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.352683, -6.783500)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.970695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.404937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.401031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="70.171863" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel3.mml b/libs/math/doc/equations/bessel3.mml
index aaf2b99778..aaf2b99778 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel3.mml
+++ b/libs/math/doc/equations/bessel3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel3.png b/libs/math/doc/equations/bessel3.png
index 40233a31f5..40233a31f5 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel3.png
+++ b/libs/math/doc/equations/bessel3.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel3.svg b/libs/math/doc/equations/bessel3.svg
new file mode 100644
index 0000000000..35f57a2be0
--- /dev/null
+++ b/libs/math/doc/equations/bessel3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.236563pt" width="146.923820pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.711184 146.923820 25.236563"><svg:metadata><svgmath:metrics top="25.2365625" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.173512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(38.860363, -3.984375)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.142262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(46.471692, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.843434, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(78.277676, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(93.836895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.510568, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(17.337242, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="108.063457" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel4.mml b/libs/math/doc/equations/bessel4.mml
index 5236dd3d7f..5236dd3d7f 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel4.mml
+++ b/libs/math/doc/equations/bessel4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel4.png b/libs/math/doc/equations/bessel4.png
index 80c6598558..80c6598558 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel4.png
+++ b/libs/math/doc/equations/bessel4.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel4.svg b/libs/math/doc/equations/bessel4.svg
new file mode 100644
index 0000000000..42d1c27202
--- /dev/null
+++ b/libs/math/doc/equations/bessel4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="128.761816pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 128.761816 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.819219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.207242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.894094, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(59.978078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(70.732317, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(86.453668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(95.887910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(115.707129, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel5.mml b/libs/math/doc/equations/bessel5.mml
index d6356f074f..d6356f074f 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel5.mml
+++ b/libs/math/doc/equations/bessel5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel5.png b/libs/math/doc/equations/bessel5.png
index ee232d5b42..ee232d5b42 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel5.png
+++ b/libs/math/doc/equations/bessel5.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel5.svg b/libs/math/doc/equations/bessel5.svg
new file mode 100644
index 0000000000..0c5d201737
--- /dev/null
+++ b/libs/math/doc/equations/bessel5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="131.855566pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 131.855566 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.850469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.238492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.925344, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(61.009328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(72.794817, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.516168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(97.950410, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(118.800879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel6.mml b/libs/math/doc/equations/bessel6.mml
index 62aedf9e81..62aedf9e81 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel6.mml
+++ b/libs/math/doc/equations/bessel6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel6.png b/libs/math/doc/equations/bessel6.png
index 090b4204b0..090b4204b0 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel6.png
+++ b/libs/math/doc/equations/bessel6.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel6.svg b/libs/math/doc/equations/bessel6.svg
new file mode 100644
index 0000000000..88a05a787b
--- /dev/null
+++ b/libs/math/doc/equations/bessel6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="113.696836pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 113.696836 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(6.972656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.142262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(37.829113, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(44.913098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(55.667336, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(71.388688, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(80.822930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(100.642148, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel7.mml b/libs/math/doc/equations/bessel7.mml
index 484ad82062..484ad82062 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel7.mml
+++ b/libs/math/doc/equations/bessel7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel7.png b/libs/math/doc/equations/bessel7.png
index baba46afdb..baba46afdb 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel7.png
+++ b/libs/math/doc/equations/bessel7.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel7.svg b/libs/math/doc/equations/bessel7.svg
new file mode 100644
index 0000000000..0acb6f9cea
--- /dev/null
+++ b/libs/math/doc/equations/bessel7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="116.790586pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 116.790586 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.173512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(38.860363, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(45.944348, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(57.729836, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(73.451188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(82.885430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(103.735898, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel8.mml b/libs/math/doc/equations/bessel8.mml
index 861350f5f9..861350f5f9 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel8.mml
+++ b/libs/math/doc/equations/bessel8.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel8.png b/libs/math/doc/equations/bessel8.png
index 9f028ff33a..9f028ff33a 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel8.png
+++ b/libs/math/doc/equations/bessel8.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel8.svg b/libs/math/doc/equations/bessel8.svg
new file mode 100644
index 0000000000..ffa660c9db
--- /dev/null
+++ b/libs/math/doc/equations/bessel8.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.233145pt" width="301.764133pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 301.764133 18.233145"><svg:metadata><svgmath:metrics top="18.2331445312" bottom="1.62181640625" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.998047" font-family="Times New Roman" font-style="italic" fill="black">W</svg:text><svg:g transform="translate(14.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(24.760422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(35.514660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(48.569348, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(60.354836, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(76.076188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(85.510430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(97.295918, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.350605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(6.972656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(121.104844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(137.492867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(147.593781, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(159.379270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(172.433957, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(192.253176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(207.974527, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(217.408770, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(228.163008, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(241.217695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(262.068164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(278.456188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(289.143039, -3.984375)"><svg:g transform="translate(3.310547, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.621094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel9.mml b/libs/math/doc/equations/bessel9.mml
index 06aef5b825..06aef5b825 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel9.mml
+++ b/libs/math/doc/equations/bessel9.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel9.png b/libs/math/doc/equations/bessel9.png
index b06d176036..b06d176036 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel9.png
+++ b/libs/math/doc/equations/bessel9.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel9.svg b/libs/math/doc/equations/bessel9.svg
new file mode 100644
index 0000000000..9049ce4372
--- /dev/null
+++ b/libs/math/doc/equations/bessel9.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="185.541664pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 185.541664 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(15.559219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.947242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(45.381492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(64.710922, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(84.416000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(95.170239, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.891590, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(123.659168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(140.996410, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.701489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(172.486977, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bessel_derivatives1.mml b/libs/math/doc/equations/bessel_derivatives1.mml
new file mode 100644
index 0000000000..0e0939417a
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives1.mml
@@ -0,0 +1,442 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mrow>
+ <mi>J</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <msub>
+ <mi>J</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mi>Y</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mi>Y</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <msub>
+ <mi>Y</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mi>I</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mi>I</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <msub>
+ <mi>I</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mi>K</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mi>K</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <msub>
+ <mi>K</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mi>j</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>n</mi>
+ </msub>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mfenced open="(" close=")">
+ <mrow>
+ <mfrac>
+ <mi>n</mi>
+ <mi>x</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <msub>
+ <mi>j</mi>
+ <mi>n</mi>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <msub>
+ <mi>j</mi>
+ <mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mi>y</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>n</mi>
+ </msub>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mfenced open="(" close=")">
+ <mrow>
+ <mfrac>
+ <mi>n</mi>
+ <mi>x</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <msub>
+ <mi>y</mi>
+ <mi>n</mi>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <msub>
+ <mi>y</mi>
+ <mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/bessel_derivatives1.png b/libs/math/doc/equations/bessel_derivatives1.png
new file mode 100644
index 0000000000..39f831bd4f
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives1.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_derivatives1.svg b/libs/math/doc/equations/bessel_derivatives1.svg
new file mode 100644
index 0000000000..28838917bc
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="129.503871pt" width="146.574609pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -68.736310 146.574609 129.503871"><svg:metadata><svgmath:metrics top="129.503870838" bottom="0.0" baseline="60.7675604189" axis="64.7519354189"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(2.091797, -49.710021)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(13.889004, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.297598, -49.710021)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(62.331848, -53.694396)"><svg:g transform="translate(0.585938, -5.141797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(4.950586, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.013086, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(11.632257, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.330569, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(4.950586, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(52.356741, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(29.503771, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="63.267542" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(1.060547, -25.928029)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(14.920254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.297598, -25.928029)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(62.331848, -29.912404)"><svg:g transform="translate(0.585938, -5.141797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.369209" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(5.682773, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.745273, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(11.632257, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.330569, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.369209" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(5.682773, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(53.821116, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(30.235958, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="64.731917" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(3.767578, -2.146037)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(12.213223, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.297598, -2.146037)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(62.331848, -6.130412)"><svg:g transform="translate(0.585938, -5.141797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.684863" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(3.760781, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(15.823281, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(11.632257, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.330569, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.684863" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(3.760781, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(49.977132, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(28.313966, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="60.887932" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(0.000000, 21.635955)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(15.980801, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.297598, 21.635955)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(62.331848, 17.651580)"><svg:g transform="translate(0.585938, -5.141797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(6.435762, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.498262, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(11.632257, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.330569, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(6.435762, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(55.327093, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(6.901699, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(28.349790, 7.357266)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="66.237893" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.900488, 40.948750)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(5.402344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.297598, 40.948750)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(62.331848, 40.948750)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.683701, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(14.595937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(5.402344, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(24.258281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.383461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.817703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(5.402344, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(68.803308, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(16.039160, 60.820295)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.297598, 60.820295)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(62.331848, 60.820295)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.683701, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(14.595937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(25.119609, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.383461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.817703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(70.525965, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bessel_derivatives2.mml b/libs/math/doc/equations/bessel_derivatives2.mml
new file mode 100644
index 0000000000..33efa3a042
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives2.mml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mo stretchy="false">ξ</mo>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">=</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <msub>
+ <mo stretchy="false">ξ</mo>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <msub>
+ <mo stretchy="false">ξ</mo>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/bessel_derivatives2.png b/libs/math/doc/equations/bessel_derivatives2.png
new file mode 100644
index 0000000000..248a1d3aba
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives2.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_derivatives2.svg b/libs/math/doc/equations/bessel_derivatives2.svg
new file mode 100644
index 0000000000..c80743e244
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.012227pt" width="133.273121pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.341641 133.273121 17.012227"><svg:metadata><svgmath:metrics top="17.0122265625" bottom="1.7389453125" baseline="5.6705859375" axis="9.6549609375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.674805" font-family="Times New Roman" fill="black">ξ</svg:text></svg:g><svg:g transform="translate(8.682945, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(15.599293, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(17.050133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(27.736984, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(49.354090, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.674805" font-family="Times New Roman" fill="black">ξ</svg:text><svg:g transform="translate(5.349609, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(18.196172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.383461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.817703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.674805" font-family="Times New Roman" fill="black">ξ</svg:text><svg:g transform="translate(5.349609, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(62.210047, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(79.922937, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bessel_derivatives3.mml b/libs/math/doc/equations/bessel_derivatives3.mml
new file mode 100644
index 0000000000..33efa3a042
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives3.mml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mo stretchy="false">ξ</mo>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">=</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <msub>
+ <mo stretchy="false">ξ</mo>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <msub>
+ <mo stretchy="false">ξ</mo>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/bessel_derivatives3.png b/libs/math/doc/equations/bessel_derivatives3.png
new file mode 100644
index 0000000000..248a1d3aba
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives3.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_derivatives3.svg b/libs/math/doc/equations/bessel_derivatives3.svg
new file mode 100644
index 0000000000..c80743e244
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.012227pt" width="133.273121pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.341641 133.273121 17.012227"><svg:metadata><svgmath:metrics top="17.0122265625" bottom="1.7389453125" baseline="5.6705859375" axis="9.6549609375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.674805" font-family="Times New Roman" fill="black">ξ</svg:text></svg:g><svg:g transform="translate(8.682945, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(15.599293, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(17.050133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(27.736984, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(49.354090, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.674805" font-family="Times New Roman" fill="black">ξ</svg:text><svg:g transform="translate(5.349609, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(18.196172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.383461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.817703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.674805" font-family="Times New Roman" fill="black">ξ</svg:text><svg:g transform="translate(5.349609, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(62.210047, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(79.922937, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bessel_derivatives4.mml b/libs/math/doc/equations/bessel_derivatives4.mml
new file mode 100644
index 0000000000..d899f9fce7
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives4.mml
@@ -0,0 +1,370 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mrow>
+ <mi>J</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mtext>=</mtext>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <msub>
+ <mi>N</mi>
+ <mi>v</mi>
+ </msub>
+ <mi>cos</mi>
+ <msub>
+ <mo stretchy="false">Ï•</mo>
+ <mi>v</mi>
+ </msub>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mi>Y</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mtext>=</mtext>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <msub>
+ <mi>N</mi>
+ <mi>v</mi>
+ </msub>
+ <mi>sin</mi>
+ <msub>
+ <mo stretchy="false">Ï•</mo>
+ <mi>v</mi>
+ </msub>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <msubsup>
+ <mi>N</mi>
+ <mi>v</mi>
+ <mn>2</mn>
+ </msubsup>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">≈</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mfrac>
+ <mn>2</mn>
+ <mrow>
+ <mo stretchy="false">Ï€</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ <mfenced open="{" close="}">
+ <mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">μ</mo>
+ <mo stretchy="false">−</mo>
+ <mn>3</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mn>2x</mn>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>8</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mfrac>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">μ</mo>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">μ</mo>
+ <mo stretchy="false">−</mo>
+ <mn>45</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mrow>
+ <msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mn>2x</mn>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mn>4</mn>
+ </msup>
+ </mrow>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <msub>
+ <mo stretchy="false">Ï•</mo>
+ <mi>v</mi>
+ </msub>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">≈</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mi>x</mi>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>4</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">Ï€</mo>
+ <mo stretchy="false">+</mo>
+ <mfrac>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">μ</mo>
+ <mo stretchy="false">+</mo>
+ <mn>3</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mn>4x</mn>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mfrac>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <mfrac>
+ <mrow>
+ <mrow>
+ <msup>
+ <mo stretchy="false">μ</mo>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy="false">+</mo>
+ <mn>46</mn>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">μ</mo>
+ <mo stretchy="false">−</mo>
+ <mn>63</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mn>6</mn>
+ <msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mn>4x</mn>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mn>3</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <mfrac>
+ <mrow>
+ <mrow>
+ <msup>
+ <mo stretchy="false">μ</mo>
+ <mn>3</mn>
+ </msup>
+ <mo stretchy="false">+</mo>
+ <mn>185</mn>
+ </mrow>
+ <mrow>
+ <msup>
+ <mo stretchy="false">μ</mo>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy="false">−</mo>
+ <mn>2053</mn>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">μ</mo>
+ <mo stretchy="false">+</mo>
+ <mn>1899</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mn>5</mn>
+ <msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mn>4x</mn>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mn>5</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">μ</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <msup>
+ <mn>4v</mn>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/bessel_derivatives4.png b/libs/math/doc/equations/bessel_derivatives4.png
new file mode 100644
index 0000000000..c00be4a27f
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives4.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_derivatives4.svg b/libs/math/doc/equations/bessel_derivatives4.svg
new file mode 100644
index 0000000000..882aa4d5ec
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="106.974443pt" width="344.147191pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -57.471597 344.147191 106.974443"><svg:metadata><svgmath:metrics top="106.974443139" bottom="0.0" baseline="49.5028465695" axis="53.4872215695"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.031250, -45.155190)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(13.889004, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.570387, -45.155190)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.271301, -45.155190)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(9.474609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(13.256191, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(29.252285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.158203" font-family="Times New Roman" fill="black">ϕ</svg:text><svg:g transform="translate(6.316406, 7.792734)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, -27.547768)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(14.920254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.570387, -27.547768)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.271301, -27.547768)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(9.474609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(13.256191, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(27.260098, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.158203" font-family="Times New Roman" fill="black">ϕ</svg:text><svg:g transform="translate(6.316406, 7.792734)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(14.902441, -4.910239)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(9.474609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(9.474609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(38.327871, -4.910239)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(13.252609, 0.000000)"/></svg:g><svg:g transform="translate(61.271301, -4.910239)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(3.822309, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 5.410312)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.150801" font-family="Times New Roman" fill="black">π</svg:text></svg:g><svg:g transform="translate(6.668270, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="11.904618" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.490555, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="24.189774" transform="scale(0.496077, 1)" text-anchor="middle" y="7.418066" x="5.805310" font-family="Times New Roman" fill="black">{</svg:text></svg:g><svg:g transform="translate(5.759766, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(25.290594, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text></svg:g><svg:g transform="translate(8.827852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.526163, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(1.381793, 10.816562)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2x</svg:text></svg:g><svg:g transform="translate(11.357227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.194453, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="20.958038" x1="0.000000" fill="none"/><svg:g transform="translate(24.210640, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(34.230820, 0.000000)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">8</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(66.125163, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(5.203895, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text></svg:g><svg:g transform="translate(8.827852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.526163, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(24.990059, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(27.827285, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(5.203895, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text></svg:g><svg:g transform="translate(8.827852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.526163, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">45</svg:text></svg:g></svg:g><svg:g transform="translate(29.250059, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(21.445996, 10.816562)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2x</svg:text></svg:g><svg:g transform="translate(11.357227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.194453, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="61.086445" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(133.557312, -3.984375)"><svg:text font-size="24.189774" transform="scale(0.496077, 1)" text-anchor="middle" y="7.418066" x="5.805310" font-family="Times New Roman" fill="black">}</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(18.539062, 21.766636)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.158203" font-family="Times New Roman" fill="black">ϕ</svg:text><svg:g transform="translate(6.316406, 7.792734)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(38.327871, 25.751011)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(13.252609, 0.000000)"/></svg:g><svg:g transform="translate(61.271301, 25.751011)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.013016, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(34.630672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.785617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.029297" font-family="Times New Roman" fill="black">π</svg:text><svg:g transform="translate(12.058594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.078773, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text></svg:g><svg:g transform="translate(8.827852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.526163, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(1.251793, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">4x</svg:text></svg:g><svg:g transform="translate(11.357227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="20.958038" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(46.289413, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.309593, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text><svg:g transform="translate(4.567852, -0.981797)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(10.461183, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.159495, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">46</svg:text></svg:g><svg:g transform="translate(28.046163, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text></svg:g><svg:g transform="translate(8.827852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.526163, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">63</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.404874, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">4x</svg:text></svg:g><svg:g transform="translate(11.357227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.194453, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="53.264202" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(112.826396, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(122.846576, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text><svg:g transform="translate(4.567852, -0.981797)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(10.461183, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.159495, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="6.390000" font-family="Times New Roman" fill="black">185</svg:text></svg:g><svg:g transform="translate(29.939495, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text><svg:g transform="translate(4.567852, -0.981797)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(10.461183, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.159495, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="8.520000" font-family="Times New Roman" fill="black">2053</svg:text></svg:g></svg:g><svg:g transform="translate(66.505658, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.283926" font-family="Times New Roman" fill="black">μ</svg:text></svg:g><svg:g transform="translate(8.827852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.526163, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="8.520000" font-family="Times New Roman" fill="black">1899</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.894622, 10.707187)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">5</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">4x</svg:text></svg:g><svg:g transform="translate(11.357227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.194453, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">5</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="100.243697" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(22.203457, 46.913003)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.216797" font-family="Times New Roman" fill="black">μ</svg:text></svg:g><svg:g transform="translate(38.237051, 50.897378)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(61.271301, 50.897378)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.000000" font-family="Times New Roman" fill="black">4v</svg:text><svg:g transform="translate(12.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/bessel_derivatives5.mml b/libs/math/doc/equations/bessel_derivatives5.mml
new file mode 100644
index 0000000000..3e5a64de01
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives5.mml
@@ -0,0 +1,396 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mrow>
+ <mi>J</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ <mrow>
+ <msup>
+ <mn>2</mn>
+ <mi>v</mi>
+ </msup>
+ </mrow>
+ </mfrac>
+ <mrow>
+ <munderover>
+ <mo stretchy="false">∑</mo>
+ <mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo stretchy="false">=</mo>
+ <mn>0</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">∞</mo>
+ </mrow>
+ </munderover>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mfenced open="(" close=")">
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mi>z</mi>
+ <mn>2</mn>
+ </msup>
+ <mn>4</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mfenced>
+ <mi>k</mi>
+ </msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>2k</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ <mi>!</mi>
+ <mo stretchy="false">Γ</mo>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo stretchy="false">+</mo>
+ <mi>k</mi>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <mi>v</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mi>Y</mi>
+ <msub>
+ <mi>'</mi>
+ <mi>v</mi>
+ </msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow/>
+ <mo stretchy="false">=</mo>
+ <mrow/>
+ </mrow>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mo stretchy="false">Γ</mo>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mi>v</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mi>cos</mi>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">Ï€</mo>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">Ï€</mo>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">×</mo>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ <msup>
+ <mn>2</mn>
+ <mi>v</mi>
+ </msup>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">×</mo>
+ <mrow>
+ <munderover>
+ <mo stretchy="false">∑</mo>
+ <mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo stretchy="false">=</mo>
+ <mn>0</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">∞</mo>
+ </mrow>
+ </munderover>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mfenced open="(" close=")">
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mi>z</mi>
+ <mn>2</mn>
+ </msup>
+ <mn>4</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mfenced>
+ <mi>k</mi>
+ </msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>2k</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mrow>
+ <msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mi>k</mi>
+ </msub>
+ <mi>k</mi>
+ <mi>!</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mo stretchy="false">Γ</mo>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>v</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">Ï€</mo>
+ </mfrac>
+ <mo stretchy="false">×</mo>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mn>2</mn>
+ <mi>v</mi>
+ </msup>
+ <mrow>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mrow>
+ <mi>v</mi>
+ <mo stretchy="false">+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">×</mo>
+ <mrow>
+ <munderover>
+ <mo stretchy="false">∑</mo>
+ <mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo stretchy="false">=</mo>
+ <mn>0</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">∞</mo>
+ </mrow>
+ </munderover>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mfenced open="(" close=")">
+ <mrow>
+ <mrow>
+ <mo stretchy="false">−</mo>
+ <mrow>
+ <mfrac>
+ <msup>
+ <mi>z</mi>
+ <mn>2</mn>
+ </msup>
+ <mn>4</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mfenced>
+ <mi>k</mi>
+ </msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mn>2k</mn>
+ <mo stretchy="false">−</mo>
+ <mi>v</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mrow>
+ <msub>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo stretchy="false">−</mo>
+ <mi>v</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mi>k</mi>
+ </msub>
+ <mi>k</mi>
+ <mi>!</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/bessel_derivatives5.png b/libs/math/doc/equations/bessel_derivatives5.png
new file mode 100644
index 0000000000..b24bbc829d
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives5.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_derivatives5.svg b/libs/math/doc/equations/bessel_derivatives5.svg
new file mode 100644
index 0000000000..5451e9003a
--- /dev/null
+++ b/libs/math/doc/equations/bessel_derivatives5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="71.452144pt" width="392.531813pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -39.710447 392.531813 71.452144"><svg:metadata><svgmath:metrics top="71.4521444515" bottom="0.0" baseline="31.7416972258" axis="35.7260722258"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.693359, -8.970957)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(13.889004, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.237051, -8.970957)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(61.271301, -12.955332)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.508984, 8.945469)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="16.828750" x1="0.000000" fill="none"/><svg:g transform="translate(17.414687, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="4.277344" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.554688, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.554688, -4.579453)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="3.036914" font-family="Times New Roman" fill="black">∞</svg:text></svg:g><svg:g transform="translate(22.361602, 0.000000)"><svg:g transform="translate(1.183802, -8.847320)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="22.262041" transform="scale(0.382714, 1)" text-anchor="middle" y="5.315497" x="3.706717" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.694330, 0.000000)"><svg:g transform="translate(0.416016, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.779297" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.103516, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="8.207031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(17.154603, 0.000000)"><svg:text font-size="22.262041" transform="scale(0.382714, 1)" text-anchor="middle" y="5.315497" x="3.706717" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.991830, -5.539826)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.894174, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2k</svg:text></svg:g></svg:g><svg:g transform="translate(23.780374, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.418613" font-family="Times New Roman" font-style="italic" fill="black">!</svg:text></svg:g><svg:g transform="translate(9.359891, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.462813" font-family="Times New Roman" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(16.652185, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.900971, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.599283, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(32.218091, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="52.879378" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 28.504471)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.283203" font-family="Times New Roman" font-style="italic" fill="black">'</svg:text><svg:g transform="translate(3.134766, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(14.920254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.237051, 28.504471)"><svg:g transform="translate(3.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, 0.000000)"/></svg:g><svg:g transform="translate(61.271301, 24.520096)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(8.020183, 0.000000)"><svg:g transform="translate(0.585938, -3.421758)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.462813" font-family="Times New Roman" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(7.292294, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(11.897123, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.026643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.678613" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(33.383869, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(6.148251, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.150801" font-family="Times New Roman" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.653747, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.372558, 2.581406)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.150801" font-family="Times New Roman" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="53.046718" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(64.986175, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">×</svg:text></svg:g><svg:g transform="translate(75.673026, 0.000000)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.508984, 8.945469)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="16.828750" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(96.421050, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">×</svg:text></svg:g><svg:g transform="translate(106.521964, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="4.277344" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.554688, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.554688, -4.579453)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="3.036914" font-family="Times New Roman" fill="black">∞</svg:text></svg:g><svg:g transform="translate(22.361602, 0.000000)"><svg:g transform="translate(0.585938, -8.847320)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="22.262041" transform="scale(0.382714, 1)" text-anchor="middle" y="5.315497" x="3.706717" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.694330, 0.000000)"><svg:g transform="translate(0.416016, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.779297" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.103516, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="8.207031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(17.154603, 0.000000)"><svg:text font-size="22.262041" transform="scale(0.382714, 1)" text-anchor="middle" y="5.315497" x="3.706717" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.991830, -5.539826)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.894174, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2k</svg:text></svg:g></svg:g><svg:g transform="translate(23.780374, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(9.240202, 7.515352)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.307679, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(26.210022, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(30.366018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.418613" font-family="Times New Roman" font-style="italic" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="51.683649" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(183.819816, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(193.839995, 0.000000)"><svg:g transform="translate(0.585938, -3.421758)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.462813" font-family="Times New Roman" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(7.292294, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(6.618809, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(6.809301, 2.581406)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.150801" font-family="Times New Roman" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="17.920204" x1="0.000000" fill="none"/><svg:g transform="translate(21.839477, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">×</svg:text></svg:g><svg:g transform="translate(32.526329, 0.000000)"><svg:g transform="translate(4.508984, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="16.828750" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(53.274352, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">×</svg:text></svg:g><svg:g transform="translate(63.375266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="4.277344" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.554688, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.554688, -4.579453)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="3.036914" font-family="Times New Roman" fill="black">∞</svg:text></svg:g><svg:g transform="translate(22.361602, 0.000000)"><svg:g transform="translate(0.585938, -8.847320)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="22.262041" transform="scale(0.382714, 1)" text-anchor="middle" y="5.315497" x="3.706717" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.694330, 0.000000)"><svg:g transform="translate(0.416016, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.779297" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.103516, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="8.207031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(17.154603, 0.000000)"><svg:text font-size="22.262041" transform="scale(0.382714, 1)" text-anchor="middle" y="5.315497" x="3.706717" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.991830, -5.539826)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.894174, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2k</svg:text><svg:g transform="translate(10.463253, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.161565, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(23.780374, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(9.240202, 7.515352)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.307679, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(26.210022, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(30.366018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.418613" font-family="Times New Roman" font-style="italic" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="51.683649" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.mml b/libs/math/doc/equations/bessel_y0_small_z.mml
index 95668e4255..95668e4255 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.mml
+++ b/libs/math/doc/equations/bessel_y0_small_z.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.png b/libs/math/doc/equations/bessel_y0_small_z.png
index 0d369754db..0d369754db 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.png
+++ b/libs/math/doc/equations/bessel_y0_small_z.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_y0_small_z.svg b/libs/math/doc/equations/bessel_y0_small_z.svg
new file mode 100644
index 0000000000..62fe97a6bc
--- /dev/null
+++ b/libs/math/doc/equations/bessel_y0_small_z.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.438826pt" width="181.867430pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.714216 181.867430 19.438826"><svg:metadata><svgmath:metrics top="19.4388258593" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.318594, 0.000000)"/><svg:g transform="translate(40.651930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.752844, 0.000000)"/><svg:g transform="translate(63.338781, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.483313, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.336586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(43.770828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(52.495437, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(127.974844, 0.000000)"/><svg:g transform="translate(139.974844, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(146.642164, 0.000000)"/><svg:g transform="translate(158.642164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(167.038000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(177.138914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.mml b/libs/math/doc/equations/bessel_y1_small_z.mml
index 36fb43788e..36fb43788e 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.mml
+++ b/libs/math/doc/equations/bessel_y1_small_z.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.png b/libs/math/doc/equations/bessel_y1_small_z.png
index 27003a017b..27003a017b 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.png
+++ b/libs/math/doc/equations/bessel_y1_small_z.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_y1_small_z.svg b/libs/math/doc/equations/bessel_y1_small_z.svg
new file mode 100644
index 0000000000..8647e5577a
--- /dev/null
+++ b/libs/math/doc/equations/bessel_y1_small_z.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.579451pt" width="246.592680pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.714216 246.592680 19.579451"><svg:metadata><svgmath:metrics top="19.5794508593" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.318594, 0.000000)"/><svg:g transform="translate(40.651930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.752844, 0.000000)"/><svg:g transform="translate(63.338781, -3.984375)"><svg:g transform="translate(1.248047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.483313, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(86.817297, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(105.819898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(115.840078, -3.984375)"><svg:g transform="translate(3.310547, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="12.621094" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(131.713773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(141.733953, -3.984375)"><svg:g transform="translate(4.248047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(155.878484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(32.825516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(192.700093, 0.000000)"/><svg:g transform="translate(204.700093, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(211.367414, 0.000000)"/><svg:g transform="translate(223.367414, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(231.763250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(241.864164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.mml b/libs/math/doc/equations/bessel_y2_small_z.mml
index 6e1fae1496..6e1fae1496 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.mml
+++ b/libs/math/doc/equations/bessel_y2_small_z.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.png b/libs/math/doc/equations/bessel_y2_small_z.png
index c14d6b2a5d..c14d6b2a5d 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.png
+++ b/libs/math/doc/equations/bessel_y2_small_z.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_y2_small_z.svg b/libs/math/doc/equations/bessel_y2_small_z.svg
new file mode 100644
index 0000000000..5f78563cd2
--- /dev/null
+++ b/libs/math/doc/equations/bessel_y2_small_z.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.589531pt" width="258.242648pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.708828 258.242648 25.589531"><svg:metadata><svgmath:metrics top="25.58953125" axis="12.865078125" baseline="8.880703125" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"/><svg:g transform="translate(27.597242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(37.698156, 0.000000)"/><svg:g transform="translate(52.364820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(62.385000, -3.984375)"><svg:g transform="translate(2.118047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">8</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.529531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(25.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(35.169266, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(118.361554, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(128.381734, -3.984375)"><svg:g transform="translate(5.440547, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:g transform="translate(0.585937, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="16.881094" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(148.515429, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(158.535609, -3.984375)"><svg:g transform="translate(2.118047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(172.680140, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(188.014125, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(204.350062, 0.000000)"/><svg:g transform="translate(216.350062, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(223.017382, 0.000000)"/><svg:g transform="translate(235.017382, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(243.413218, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(253.514133, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.mml b/libs/math/doc/equations/bessel_yn_small_z.mml
index 6d9aeea77d..6d9aeea77d 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.mml
+++ b/libs/math/doc/equations/bessel_yn_small_z.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.png b/libs/math/doc/equations/bessel_yn_small_z.png
index f07b74e87d..f07b74e87d 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.png
+++ b/libs/math/doc/equations/bessel_yn_small_z.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_yn_small_z.svg b/libs/math/doc/equations/bessel_yn_small_z.svg
new file mode 100644
index 0000000000..2174a1db7f
--- /dev/null
+++ b/libs/math/doc/equations/bessel_yn_small_z.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.780623pt" width="248.610801pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.056013 248.610801 20.780623"><svg:metadata><svgmath:metrics top="20.7806227343" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.318594, 0.000000)"/><svg:g transform="translate(40.651930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.752844, 0.000000)"/><svg:g transform="translate(65.419508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(74.853750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(107.532781, -3.984375)"><svg:g transform="translate(1.781250, -5.748047)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.677312, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.335938, -7.306697)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(141.078230, 0.000000)"/><svg:g transform="translate(153.078230, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(159.745551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(168.141387, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(178.242301, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:g transform="translate(182.970816, 0.000000)"/><svg:g transform="translate(198.304152, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(211.176551, 0.000000)"/><svg:g transform="translate(223.176551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(232.509887, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(242.610801, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.mml b/libs/math/doc/equations/bessel_yv_small_z.mml
index 8ac38b129a..8ac38b129a 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.mml
+++ b/libs/math/doc/equations/bessel_yv_small_z.mml
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.png b/libs/math/doc/equations/bessel_yv_small_z.png
index 3e17e39758..3e17e39758 100644
--- a/libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.png
+++ b/libs/math/doc/equations/bessel_yv_small_z.png
Binary files differ
diff --git a/libs/math/doc/equations/bessel_yv_small_z.svg b/libs/math/doc/equations/bessel_yv_small_z.svg
new file mode 100644
index 0000000000..310a4e2b9e
--- /dev/null
+++ b/libs/math/doc/equations/bessel_yv_small_z.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="43.634210pt" width="430.146818pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.444809 430.146818 43.634210"><svg:metadata><svgmath:metrics top="43.6342104634" axis="21.1737764752" baseline="17.1894014752" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.840176, 0.000000)"/><svg:g transform="translate(40.173512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.274426, 0.000000)"/><svg:g transform="translate(64.941090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(74.961270, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(9.322266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(8.250000, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="22.886719" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(98.433926, -3.984375)"><svg:text font-size="34.672236" text-anchor="middle" y="6.368577" x="12.358756" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(5.748268, 21.073933)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(9.321842, -18.533246)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(123.737375, -3.984375)"><svg:g transform="translate(0.585938, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.582429, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.799125)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.415996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.220977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(5.797299, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(27.423172, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.419266, 3.808334)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(35.575262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(42.762109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="58.352800" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.676113, 0.000000)"/><svg:g transform="translate(197.342777, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(206.777019, 0.000000)"/><svg:g transform="translate(219.362956, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(16.756511, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.149089, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(45.145183, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(29.817709, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="66.022136" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(285.971030, -3.984375)"><svg:text font-size="34.672236" text-anchor="middle" y="6.368577" x="12.358756" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(5.748268, 21.073933)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(9.321842, -18.533246)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(311.274479, -3.984375)"><svg:g transform="translate(0.585938, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.582429, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.799125)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.415996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.220977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(5.797299, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.423172, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.419266, 3.808334)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(35.575262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(42.762109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="58.352800" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(370.213217, 0.000000)"/><svg:g transform="translate(382.213217, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(388.880537, 0.000000)"/><svg:g transform="translate(400.880537, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(409.540045, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∉</svg:text></svg:g><svg:g transform="translate(422.412443, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.867188" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℤ</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta1.mml b/libs/math/doc/equations/beta1.mml
index ca8c9c5d20..ca8c9c5d20 100644
--- a/libs/math/doc/sf_and_dist/equations/beta1.mml
+++ b/libs/math/doc/equations/beta1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta1.png b/libs/math/doc/equations/beta1.png
index 67a26b1b19..67a26b1b19 100644
--- a/libs/math/doc/sf_and_dist/equations/beta1.png
+++ b/libs/math/doc/equations/beta1.png
Binary files differ
diff --git a/libs/math/doc/equations/beta1.svg b/libs/math/doc/equations/beta1.svg
new file mode 100644
index 0000000000..888512b041
--- /dev/null
+++ b/libs/math/doc/equations/beta1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="157.009121pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 157.009121 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.442063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(70.047531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(100.373051, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(111.059903, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.388672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(30.785156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.729820, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="45.949219" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta1.svg.svg b/libs/math/doc/equations/beta1.svg.svg
index 877ea89ca1..877ea89ca1 100644
--- a/libs/math/doc/sf_and_dist/equations/beta1.svg.svg
+++ b/libs/math/doc/equations/beta1.svg.svg
diff --git a/libs/math/doc/sf_and_dist/equations/beta2.mml b/libs/math/doc/equations/beta2.mml
index 553dc79308..553dc79308 100644
--- a/libs/math/doc/sf_and_dist/equations/beta2.mml
+++ b/libs/math/doc/equations/beta2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta2.png b/libs/math/doc/equations/beta2.png
index a5bb3a4e3c..a5bb3a4e3c 100644
--- a/libs/math/doc/sf_and_dist/equations/beta2.png
+++ b/libs/math/doc/equations/beta2.png
Binary files differ
diff --git a/libs/math/doc/equations/beta2.svg b/libs/math/doc/equations/beta2.svg
new file mode 100644
index 0000000000..5a4de96888
--- /dev/null
+++ b/libs/math/doc/equations/beta2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.411665pt" width="360.516323pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.874555 360.516323 26.411665"><svg:metadata><svgmath:metrics top="26.4116646247" bottom="0.0" baseline="8.537109375" axis="12.521484375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.442063, -3.984375)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.636391, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.048812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.216781, 0.000000)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(80.212875, -8.132524)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(162.369918, -3.984375)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.636391, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.048812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.216781, 0.000000)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(80.212875, -7.974438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(247.322792, -3.984375)"><svg:g transform="translate(14.595703, 0.000000)"><svg:g transform="translate(23.810867, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 0.967266 L 4.706719 0.967266 L 10.059857 10.880485 L 9.980927 11.400985 L 4.476319 1.207266 L 4.116319 1.207266 L 9.966797 12.041484 L 13.289063 -9.866953 L 68.850250 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(317.238980, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.052734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text></svg:g><svg:g transform="translate(28.113281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.449219, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(9.322266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.277344" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta3.mml b/libs/math/doc/equations/beta3.mml
index 30b7935c51..30b7935c51 100644
--- a/libs/math/doc/sf_and_dist/equations/beta3.mml
+++ b/libs/math/doc/equations/beta3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta3.png b/libs/math/doc/equations/beta3.png
index d9303c352b..d9303c352b 100644
--- a/libs/math/doc/sf_and_dist/equations/beta3.png
+++ b/libs/math/doc/equations/beta3.png
Binary files differ
diff --git a/libs/math/doc/equations/beta3.svg b/libs/math/doc/equations/beta3.svg
new file mode 100644
index 0000000000..a8a3a68a41
--- /dev/null
+++ b/libs/math/doc/equations/beta3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="32.003289pt" width="419.240804pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.673367 419.240804 32.003289"><svg:metadata><svgmath:metrics top="32.0032892219" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.442063, -3.984375)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.636391, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.048812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.216781, 0.000000)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(80.212875, -7.974438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(13.324980, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.129961, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(171.434898, -3.984375)"><svg:text font-size="33.688163" transform="scale(0.356208, 1)" text-anchor="middle" y="8.043707" x="5.609211" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(55.772125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(59.768219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(55.772125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.289594, 12.724453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(73.873031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(77.869125, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="120.708312" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(125.876281, 0.000000)"><svg:text font-size="33.688163" transform="scale(0.356208, 1)" text-anchor="middle" y="8.043707" x="5.609211" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(129.872375, -10.773250)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(306.047273, -3.984375)"><svg:g transform="translate(14.595703, 0.000000)"><svg:g transform="translate(23.810867, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 0.967266 L 4.706719 0.967266 L 10.059857 10.880485 L 9.980927 11.400985 L 4.476319 1.207266 L 4.116319 1.207266 L 9.966797 12.041484 L 13.289063 -9.866953 L 68.850250 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(375.963460, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.052734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text></svg:g><svg:g transform="translate(28.113281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.449219, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(9.322266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.277344" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta4.mml b/libs/math/doc/equations/beta4.mml
index d3fe984fd8..d3fe984fd8 100644
--- a/libs/math/doc/sf_and_dist/equations/beta4.mml
+++ b/libs/math/doc/equations/beta4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta4.png b/libs/math/doc/equations/beta4.png
index 345e553455..345e553455 100644
--- a/libs/math/doc/sf_and_dist/equations/beta4.png
+++ b/libs/math/doc/equations/beta4.png
Binary files differ
diff --git a/libs/math/doc/equations/beta4.svg b/libs/math/doc/equations/beta4.svg
new file mode 100644
index 0000000000..1b9b960c1f
--- /dev/null
+++ b/libs/math/doc/equations/beta4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.582019pt" width="165.987629pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 165.987629 22.582019"><svg:metadata><svgmath:metrics top="22.5820186627" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.028000, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(13.632484, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.264969" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(98.878910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text></svg:g><svg:g transform="translate(120.894539, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta5.mml b/libs/math/doc/equations/beta5.mml
index bf290a38b7..bf290a38b7 100644
--- a/libs/math/doc/sf_and_dist/equations/beta5.mml
+++ b/libs/math/doc/equations/beta5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta5.png b/libs/math/doc/equations/beta5.png
index 2cf092e7f9..2cf092e7f9 100644
--- a/libs/math/doc/sf_and_dist/equations/beta5.png
+++ b/libs/math/doc/equations/beta5.png
Binary files differ
diff --git a/libs/math/doc/equations/beta5.svg b/libs/math/doc/equations/beta5.svg
new file mode 100644
index 0000000000..26958f9a02
--- /dev/null
+++ b/libs/math/doc/equations/beta5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.582019pt" width="230.282539pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 230.282539 22.582019"><svg:metadata><svgmath:metrics top="22.5820186627" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.028000, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.197906, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.729484, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="83.458968" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(149.072910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text></svg:g><svg:g transform="translate(171.088539, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(35.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(45.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(55.197906, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta6.mml b/libs/math/doc/equations/beta6.mml
index f1a7c27ea4..f1a7c27ea4 100644
--- a/libs/math/doc/sf_and_dist/equations/beta6.mml
+++ b/libs/math/doc/equations/beta6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta6.png b/libs/math/doc/equations/beta6.png
index 615ff0063b..615ff0063b 100644
--- a/libs/math/doc/sf_and_dist/equations/beta6.png
+++ b/libs/math/doc/equations/beta6.png
Binary files differ
diff --git a/libs/math/doc/equations/beta6.svg b/libs/math/doc/equations/beta6.svg
new file mode 100644
index 0000000000..92dfd791a3
--- /dev/null
+++ b/libs/math/doc/equations/beta6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.503906pt" width="303.855481pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -9.914063 303.855481 12.503906"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(11.080078, 0.000000)"/><svg:g transform="translate(23.080078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(32.413414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="6.708984" font-family="Lucida Sans Unicode" fill="black">≫</svg:text></svg:g><svg:g transform="translate(49.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(55.164719, 0.000000)"/><svg:g transform="translate(67.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(73.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(79.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(85.656906, 0.000000)"/><svg:g transform="translate(97.656906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(106.323570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(115.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(125.091149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(135.192063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(141.192063, 0.000000)"/><svg:g transform="translate(153.192063, 0.000000)"/><svg:g transform="translate(165.192063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(168.789719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(174.789719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(180.115891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(189.449227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(196.116547, 0.000000)"/><svg:g transform="translate(208.116547, 0.000000)"/><svg:g transform="translate(220.116547, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(226.116547, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(231.442719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(235.040375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(241.040375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(271.365895, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(281.466809, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(289.863293, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta7.mml b/libs/math/doc/equations/beta7.mml
index 854360c3ce..854360c3ce 100644
--- a/libs/math/doc/sf_and_dist/equations/beta7.mml
+++ b/libs/math/doc/equations/beta7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta7.png b/libs/math/doc/equations/beta7.png
index 63a0706140..63a0706140 100644
--- a/libs/math/doc/sf_and_dist/equations/beta7.png
+++ b/libs/math/doc/equations/beta7.png
Binary files differ
diff --git a/libs/math/doc/equations/beta7.svg b/libs/math/doc/equations/beta7.svg
new file mode 100644
index 0000000000..1ee0c75854
--- /dev/null
+++ b/libs/math/doc/equations/beta7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.781250pt" width="196.177110pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 196.177110 19.781250"><svg:metadata><svgmath:metrics top="19.78125" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.665039" font-family="Times New Roman" fill="black">if</svg:text><svg:g transform="translate(10.548832, 0.000000)"/><svg:g transform="translate(22.548832, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(31.882168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(41.983082, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(47.983082, 0.000000)"/><svg:g transform="translate(59.983082, 0.000000)"/><svg:g transform="translate(73.983086, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.997070" font-family="Times New Roman" fill="black">then:</svg:text></svg:g><svg:g transform="translate(99.977231, 0.000000)"/><svg:g transform="translate(111.977231, 0.000000)"/><svg:g transform="translate(125.977235, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text></svg:g><svg:g transform="translate(147.992864, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(178.318383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(189.005235, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta8.mml b/libs/math/doc/equations/beta8.mml
index 288ef12444..288ef12444 100644
--- a/libs/math/doc/sf_and_dist/equations/beta8.mml
+++ b/libs/math/doc/equations/beta8.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta8.png b/libs/math/doc/equations/beta8.png
index ca8e0fd3b9..ca8e0fd3b9 100644
--- a/libs/math/doc/sf_and_dist/equations/beta8.png
+++ b/libs/math/doc/equations/beta8.png
Binary files differ
diff --git a/libs/math/doc/equations/beta8.svg b/libs/math/doc/equations/beta8.svg
new file mode 100644
index 0000000000..2f78d20f5a
--- /dev/null
+++ b/libs/math/doc/equations/beta8.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="21.507966pt" width="83.166914pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.420075 83.166914 21.507966"><svg:metadata><svgmath:metrics top="21.5079656451" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(6.315117, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.120098, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(13.653633, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(17.913633, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.718613, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(25.252148, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(34.838320, -3.984375)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(0.922852, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.740234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.908203, 0.000000)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.904297, -7.670759)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(59.002617, -3.984375)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(0.922852, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.740234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.908203, 0.000000)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.904297, -5.519958)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.mml b/libs/math/doc/equations/beta_dist_kurtosis.mml
index 42e2a32b10..42e2a32b10 100644
--- a/libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.mml
+++ b/libs/math/doc/equations/beta_dist_kurtosis.mml
diff --git a/libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.png b/libs/math/doc/equations/beta_dist_kurtosis.png
index 0e83cdd38f..0e83cdd38f 100644
--- a/libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.png
+++ b/libs/math/doc/equations/beta_dist_kurtosis.png
Binary files differ
diff --git a/libs/math/doc/equations/beta_dist_kurtosis.svg b/libs/math/doc/equations/beta_dist_kurtosis.svg
new file mode 100644
index 0000000000..2cb783ed57
--- /dev/null
+++ b/libs/math/doc/equations/beta_dist_kurtosis.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.800638pt" width="200.498718pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.275234 200.498718 27.800638"><svg:metadata><svgmath:metrics top="27.8006375873" bottom="0.0" baseline="8.52540321227" axis="12.5097782123"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(6.585938, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(13.225492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.659734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(33.218562, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(15.563148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(24.997391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(34.993484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(74.874804, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(84.309046, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(6.896484, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(95.465531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(9.563148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.997391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.993484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(131.121773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(140.556015, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(146.556015, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(152.854843, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(159.751328, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(9.563148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.997391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.993484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.969422, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(13.195313, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(27.962883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(37.397125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(47.393219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(64.584625, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(27.962883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(37.397125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(47.393219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="193.912781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/binomial_ref1.mml b/libs/math/doc/equations/binomial_ref1.mml
new file mode 100644
index 0000000000..e4798f0b2f
--- /dev/null
+++ b/libs/math/doc/equations/binomial_ref1.mml
@@ -0,0 +1,212 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mtext>f</mtext>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>;</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msub>
+ <mi/>
+ <mi>n</mi>
+ </msub>
+ <msub>
+ <mi>C</mi>
+ <mi>k</mi>
+ </msub>
+ <msup>
+ <mi>p</mi>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>n</mi>
+ <mo>!</mo>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo>!</mo>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ <msup>
+ <mi>p</mi>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ <msup>
+ <mi>p</mi>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>p</mi>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </msup>
+ </mrow>
+ <mrow>
+ <mi>B</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1,</mn>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/binomial_ref1.png b/libs/math/doc/equations/binomial_ref1.png
new file mode 100644
index 0000000000..78130bd4d8
--- /dev/null
+++ b/libs/math/doc/equations/binomial_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/binomial_ref1.svg b/libs/math/doc/equations/binomial_ref1.svg
new file mode 100644
index 0000000000..ee348ae60f
--- /dev/null
+++ b/libs/math/doc/equations/binomial_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="88.000042pt" width="204.034817pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -47.984396 204.034817 88.000042"><svg:metadata><svgmath:metrics top="88.0000423771" bottom="0.0" baseline="40.0156461886" axis="44.0000211886"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -32.717092)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(18.520836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.520832, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(36.841144, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(57.652086, -36.701467)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.019664, -32.717092)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(16.859355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(28.339570, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(36.052086, -12.920373)"/><svg:g transform="translate(57.652086, -16.904748)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.019664, -12.920373)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(13.766928, -1.716094)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.206666, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.102662, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(7.939888, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.568647, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="35.577748" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.163686, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(47.643901, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(36.052086, 11.138438)"/><svg:g transform="translate(57.652086, 7.154063)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.019664, 11.138438)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(21.281555, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(6.049328, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.747639, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.643596, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(34.605100, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.900971, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.599283, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(32.696509, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="71.310711" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.896649, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(83.376864, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(36.052086, 38.638585)"/><svg:g transform="translate(57.652086, 34.654210)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.019664, 34.654210)"><svg:g transform="translate(19.393168, -3.421758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.102539, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(20.889065, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.726292, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(5.399883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(6.049328, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.747639, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(19.137639, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(25.290971, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.989283, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(38.038610, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(44.736922, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(51.834149, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.071258, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="84.029230" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/binomial_ref2.mml b/libs/math/doc/equations/binomial_ref2.mml
new file mode 100644
index 0000000000..fce986c6d0
--- /dev/null
+++ b/libs/math/doc/equations/binomial_ref2.mml
@@ -0,0 +1,98 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mtext>f</mtext>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>;</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msub>
+ <mi/>
+ <mi>n</mi>
+ </msub>
+ <msub>
+ <mi>C</mi>
+ <mi>k</mi>
+ </msub>
+ <msup>
+ <mi>p</mi>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>n</mi>
+ <mo>!</mo>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo>!</mo>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ <msup>
+ <mi>p</mi>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </msup>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/binomial_ref2.png b/libs/math/doc/equations/binomial_ref2.png
new file mode 100644
index 0000000000..78b857352e
--- /dev/null
+++ b/libs/math/doc/equations/binomial_ref2.png
Binary files differ
diff --git a/libs/math/doc/equations/binomial_ref2.svg b/libs/math/doc/equations/binomial_ref2.svg
new file mode 100644
index 0000000000..aed0cd1750
--- /dev/null
+++ b/libs/math/doc/equations/binomial_ref2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.441085pt" width="168.301854pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.204917 168.301854 36.441085"><svg:metadata><svgmath:metrics top="36.441084813" bottom="0.0" baseline="14.2361674065" axis="18.2205424065"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -6.937613)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(18.520836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.520832, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(36.841144, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(57.652086, -10.921988)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.019664, -6.937613)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(16.859355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(28.339570, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(36.052086, 12.859106)"/><svg:g transform="translate(57.652086, 8.874731)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.019664, 12.859106)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(13.766928, -1.716094)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.206666, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.102662, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(7.939888, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.568647, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="35.577748" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.163686, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(47.643901, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/cauchy_ref1.mml b/libs/math/doc/equations/cauchy_ref1.mml
index a8c68ca72c..a8c68ca72c 100644
--- a/libs/math/doc/sf_and_dist/equations/cauchy_ref1.mml
+++ b/libs/math/doc/equations/cauchy_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/cauchy_ref1.png b/libs/math/doc/equations/cauchy_ref1.png
index 8f19e17653..8f19e17653 100644
--- a/libs/math/doc/sf_and_dist/equations/cauchy_ref1.png
+++ b/libs/math/doc/equations/cauchy_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/cauchy_ref1.svg b/libs/math/doc/equations/cauchy_ref1.svg
new file mode 100644
index 0000000000..6bf7cf8afc
--- /dev/null
+++ b/libs/math/doc/equations/cauchy_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.510201pt" width="162.094481pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.257990 162.094481 34.510201"><svg:metadata><svgmath:metrics top="34.5102014903" bottom="0.0" baseline="13.2522116885" axis="17.2365866885"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">0,</svg:text></svg:g></svg:g><svg:g transform="translate(24.506539, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(33.231149, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.442090, 0.000000)"/><svg:g transform="translate(59.775426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(69.876340, 0.000000)"/><svg:g transform="translate(82.462278, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(90.606809, -3.984375)"><svg:text font-size="37.916788" transform="scale(0.316483, 1)" text-anchor="middle" y="9.053374" x="6.313293" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(28.797547, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.806219, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.802312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(42.728976, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.163218, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.323609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(67.491578, 0.000000)"><svg:text font-size="37.916788" transform="scale(0.316483, 1)" text-anchor="middle" y="9.053374" x="6.313293" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chf.mml b/libs/math/doc/equations/chf.mml
index b848bbe9eb..b848bbe9eb 100644
--- a/libs/math/doc/sf_and_dist/equations/chf.mml
+++ b/libs/math/doc/equations/chf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/chf.png b/libs/math/doc/equations/chf.png
index f2c2b0ae9f..f2c2b0ae9f 100644
--- a/libs/math/doc/sf_and_dist/equations/chf.png
+++ b/libs/math/doc/equations/chf.png
Binary files differ
diff --git a/libs/math/doc/equations/chf.svg b/libs/math/doc/equations/chf.svg
new file mode 100644
index 0000000000..8bb1c5c3ae
--- /dev/null
+++ b/libs/math/doc/equations/chf.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.614414pt" width="200.772699pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.929414 200.772699 27.614414"><svg:metadata><svgmath:metrics top="27.6144140625" bottom="0.0" baseline="8.685" axis="12.669375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.661133" font-family="Times New Roman" fill="black">chf</svg:text><svg:g transform="translate(18.541020, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(9.826172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(14.607422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(18.205078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.205074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(34.925777, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.462891, 0.000000)"/><svg:g transform="translate(72.796227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(82.897141, 0.000000)"/><svg:g transform="translate(94.897141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text></svg:g><svg:g transform="translate(104.945969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(118.662766, 0.000000)"/><svg:g transform="translate(133.996102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(144.097016, 0.000000)"/><svg:g transform="translate(156.097016, -3.984375)"><svg:g transform="translate(3.109600, 0.000000)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="2.342197" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(0.000000, 12.669375)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(3.407168, -11.180098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(166.975824, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(172.975824, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(10.652344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(187.624262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(194.116449, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_ref1.mml b/libs/math/doc/equations/chi_squ_ref1.mml
index d10a98cf9f..d10a98cf9f 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_ref1.mml
+++ b/libs/math/doc/equations/chi_squ_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_ref1.png b/libs/math/doc/equations/chi_squ_ref1.png
index a6ae493327..a6ae493327 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_ref1.png
+++ b/libs/math/doc/equations/chi_squ_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/chi_squ_ref1.svg b/libs/math/doc/equations/chi_squ_ref1.svg
new file mode 100644
index 0000000000..b335afe3e9
--- /dev/null
+++ b/libs/math/doc/equations/chi_squ_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.368606pt" width="107.667817pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.354856 107.667817 35.368606"><svg:metadata><svgmath:metrics top="35.3686058967" bottom="0.0" baseline="14.01375" axis="17.998125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"/><svg:g transform="translate(23.999352, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(34.100266, 0.000000)"/><svg:g transform="translate(46.100266, -3.984375)"><svg:text font-size="25.333869" text-anchor="middle" y="5.366421" x="9.030139" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.314084, 17.898281)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.139348, -13.605539)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(64.160544, -3.984375)"><svg:text font-size="23.832438" transform="scale(0.503515, 1)" text-anchor="middle" y="5.690460" x="3.968194" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.531250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(11.783793, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.218035, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(10.693978, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.328125, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="30.083211" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(35.251180, 0.000000)"><svg:text font-size="23.832438" transform="scale(0.503515, 1)" text-anchor="middle" y="5.690460" x="3.968194" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(39.247273, -6.441399)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut1.mml b/libs/math/doc/equations/chi_squ_tut1.mml
index 2c3790831e..2c3790831e 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut1.mml
+++ b/libs/math/doc/equations/chi_squ_tut1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut1.png b/libs/math/doc/equations/chi_squ_tut1.png
index 0d3793d8fc..0d3793d8fc 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut1.png
+++ b/libs/math/doc/equations/chi_squ_tut1.png
Binary files differ
diff --git a/libs/math/doc/equations/chi_squ_tut1.svg b/libs/math/doc/equations/chi_squ_tut1.svg
new file mode 100644
index 0000000000..388ec4d682
--- /dev/null
+++ b/libs/math/doc/equations/chi_squ_tut1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.857374pt" width="224.970908pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.061850 224.970908 38.857374"><svg:metadata><svgmath:metrics top="38.8573743214" bottom="0.0" baseline="17.795524496" axis="21.779899496"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(24.333065, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.567703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.950180, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(13.975020, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.780000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.293242, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="45.780828" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 2.111212 L 7.627927 2.111212 L 17.362310 20.137847 L 17.283664 20.658873 L 7.397527 2.351212 L 7.037527 2.351212 L 17.269818 21.299899 L 23.026425 -16.837475 L 71.420534 -16.837475" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(71.900534, 0.000000)"/><svg:g transform="translate(87.233870, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(97.153143, 0.000000)"/><svg:g transform="translate(109.153143, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g><svg:g transform="translate(115.481268, 0.000000)"/><svg:g transform="translate(130.814604, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(140.733878, 0.000000)"/><svg:g transform="translate(153.213878, -3.984375)"><svg:g transform="translate(24.333065, 0.000000)"><svg:g transform="translate(0.754186, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.567703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.729043, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(23.456016, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.260996, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(35.358223, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="46.117324" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 2.111212 L 7.627927 2.111212 L 17.362310 20.137847 L 17.283664 20.658873 L 7.397527 2.351212 L 7.037527 2.351212 L 17.269818 21.299899 L 23.026425 -16.837475 L 71.757030 -16.837475" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut2.mml b/libs/math/doc/equations/chi_squ_tut2.mml
index 166e6f835e..166e6f835e 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut2.mml
+++ b/libs/math/doc/equations/chi_squ_tut2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut2.png b/libs/math/doc/equations/chi_squ_tut2.png
index 2e058420be..2e058420be 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut2.png
+++ b/libs/math/doc/equations/chi_squ_tut2.png
Binary files differ
diff --git a/libs/math/doc/equations/chi_squ_tut2.svg b/libs/math/doc/equations/chi_squ_tut2.svg
new file mode 100644
index 0000000000..6786e446ba
--- /dev/null
+++ b/libs/math/doc/equations/chi_squ_tut2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.180290pt" width="35.880469pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.124844 35.880469 20.180290"><svg:metadata><svgmath:metrics top="20.180290121" bottom="0.0" baseline="9.05544637099" axis="13.039821371"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(13.975020, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.780000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.293242, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut3.mml b/libs/math/doc/equations/chi_squ_tut3.mml
index 562d7a2530..562d7a2530 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut3.mml
+++ b/libs/math/doc/equations/chi_squ_tut3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut3.png b/libs/math/doc/equations/chi_squ_tut3.png
index 62a3275dd5..62a3275dd5 100644
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut3.png
+++ b/libs/math/doc/equations/chi_squ_tut3.png
Binary files differ
diff --git a/libs/math/doc/equations/chi_squ_tut3.svg b/libs/math/doc/equations/chi_squ_tut3.svg
new file mode 100644
index 0000000000..9077391bb9
--- /dev/null
+++ b/libs/math/doc/equations/chi_squ_tut3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.180290pt" width="44.945449pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.124844 44.945449 20.180290"><svg:metadata><svgmath:metrics top="20.180290121" bottom="0.0" baseline="9.05544637099" axis="13.039821371"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.729043, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(23.456016, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.260996, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(35.358223, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/derivative1.mml b/libs/math/doc/equations/derivative1.mml
index d07677fd45..d07677fd45 100644
--- a/libs/math/doc/sf_and_dist/equations/derivative1.mml
+++ b/libs/math/doc/equations/derivative1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/derivative1.png b/libs/math/doc/equations/derivative1.png
index 486c43d47c..486c43d47c 100644
--- a/libs/math/doc/sf_and_dist/equations/derivative1.png
+++ b/libs/math/doc/equations/derivative1.png
Binary files differ
diff --git a/libs/math/doc/equations/derivative1.svg b/libs/math/doc/equations/derivative1.svg
new file mode 100644
index 0000000000..6581972aff
--- /dev/null
+++ b/libs/math/doc/equations/derivative1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.374831pt" width="289.673606pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 289.673606 25.374831"><svg:metadata><svgmath:metrics top="25.3748311627" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="50.648438" font-family="Times New Roman" fill="black">gamma_p_derivative</svg:text><svg:g transform="translate(103.296879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(130.013672, 0.000000)"/><svg:g transform="translate(145.347008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(155.447922, 0.000000)"/><svg:g transform="translate(168.033860, -3.984375)"><svg:g transform="translate(4.114908, -5.765625)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(7.263020, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.159504" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.779301, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(190.519535, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(217.236328, 0.000000)"/><svg:g transform="translate(232.569664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(242.670578, 0.000000)"/><svg:g transform="translate(255.256516, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(14.195625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(6.014209, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.417090" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/derivative2.mml b/libs/math/doc/equations/derivative2.mml
index 40f0f44d5b..40f0f44d5b 100644
--- a/libs/math/doc/sf_and_dist/equations/derivative2.mml
+++ b/libs/math/doc/equations/derivative2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/derivative2.png b/libs/math/doc/equations/derivative2.png
index d38e271f44..d38e271f44 100644
--- a/libs/math/doc/sf_and_dist/equations/derivative2.png
+++ b/libs/math/doc/equations/derivative2.png
Binary files differ
diff --git a/libs/math/doc/equations/derivative2.svg b/libs/math/doc/equations/derivative2.svg
new file mode 100644
index 0000000000..336059f4b3
--- /dev/null
+++ b/libs/math/doc/equations/derivative2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.958673pt" width="311.517164pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.433295 311.517164 27.958673"><svg:metadata><svgmath:metrics top="27.9586731757" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="38.648438" font-family="Times New Roman" fill="black">ibeta_derivative</svg:text><svg:g transform="translate(79.296879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(119.013668, 0.000000)"/><svg:g transform="translate(134.347004, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(144.447918, 0.000000)"/><svg:g transform="translate(157.033856, -3.984375)"><svg:g transform="translate(4.114908, -5.765625)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(7.263020, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.159504" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(171.779297, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(181.140645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(208.132828, 0.000000)"/><svg:g transform="translate(223.466164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(233.567078, 0.000000)"/><svg:g transform="translate(246.153016, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.817703, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.142683, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(15.383248, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="65.364148" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/digamma1.mml b/libs/math/doc/equations/digamma1.mml
index 13c3ef69f4..13c3ef69f4 100644
--- a/libs/math/doc/sf_and_dist/equations/digamma1.mml
+++ b/libs/math/doc/equations/digamma1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/digamma1.png b/libs/math/doc/equations/digamma1.png
index 295415c271..295415c271 100644
--- a/libs/math/doc/sf_and_dist/equations/digamma1.png
+++ b/libs/math/doc/equations/digamma1.png
Binary files differ
diff --git a/libs/math/doc/equations/digamma1.svg b/libs/math/doc/equations/digamma1.svg
new file mode 100644
index 0000000000..034d066d3c
--- /dev/null
+++ b/libs/math/doc/equations/digamma1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.813068pt" width="176.083813pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.287690 176.083813 27.813068"><svg:metadata><svgmath:metrics top="27.8130677069" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.480469, 0.000000)"/><svg:g transform="translate(36.813805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.914719, 0.000000)"/><svg:g transform="translate(59.500656, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.388672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(73.475266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(82.809250, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(26.109375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(112.914719, 0.000000)"/><svg:g transform="translate(128.248055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(138.348969, 0.000000)"/><svg:g transform="translate(150.934907, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(10.260234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.517812, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.148906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/digamma2.mml b/libs/math/doc/equations/digamma2.mml
index f764615dfb..f764615dfb 100644
--- a/libs/math/doc/sf_and_dist/equations/digamma2.mml
+++ b/libs/math/doc/equations/digamma2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/digamma2.png b/libs/math/doc/equations/digamma2.png
index dd9b64a459..dd9b64a459 100644
--- a/libs/math/doc/sf_and_dist/equations/digamma2.png
+++ b/libs/math/doc/equations/digamma2.png
Binary files differ
diff --git a/libs/math/doc/equations/digamma2.svg b/libs/math/doc/equations/digamma2.svg
new file mode 100644
index 0000000000..b4db806c0f
--- /dev/null
+++ b/libs/math/doc/equations/digamma2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.163672pt" width="168.005992pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.118828 168.005992 37.163672"><svg:metadata><svgmath:metrics top="37.163671875" bottom="0.0" baseline="16.04484375" axis="20.02921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.480469, 0.000000)"/><svg:g transform="translate(36.813805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.914719, 0.000000)"/><svg:g transform="translate(58.914719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(68.248703, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(84.632164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(94.652344, -3.984375)"><svg:g transform="translate(3.448242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(110.801430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(120.235672, -3.984375)"><svg:text font-size="27.729216" text-anchor="middle" y="6.880550" x="9.883949" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.221459, 19.929375)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.847035, -13.207266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(140.589507, -3.984375)"><svg:g transform="translate(5.645508, -4.400449)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.416484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/digamma3.mml b/libs/math/doc/equations/digamma3.mml
index a1ca38026a..a1ca38026a 100644
--- a/libs/math/doc/sf_and_dist/equations/digamma3.mml
+++ b/libs/math/doc/equations/digamma3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/digamma3.png b/libs/math/doc/equations/digamma3.png
index cbf8f6e916..cbf8f6e916 100644
--- a/libs/math/doc/sf_and_dist/equations/digamma3.png
+++ b/libs/math/doc/equations/digamma3.png
Binary files differ
diff --git a/libs/math/doc/equations/digamma3.svg b/libs/math/doc/equations/digamma3.svg
new file mode 100644
index 0000000000..7ab0de08d7
--- /dev/null
+++ b/libs/math/doc/equations/digamma3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="32.628281pt" width="272.605952pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.298516 272.605952 32.628281"><svg:metadata><svgmath:metrics top="32.62828125" bottom="0.0" baseline="12.329765625" axis="16.314140625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.480469, 0.000000)"/><svg:g transform="translate(36.813805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.914719, 0.000000)"/><svg:g transform="translate(59.500656, -3.984375)"><svg:g transform="translate(10.254555, -4.972500)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.749344, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.585938, 12.941250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.066398, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.086578, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.690328" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(106.443586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(115.877828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(125.211812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.066398, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.086578, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(48.840484, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(180.715054, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(190.735234, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(9.603984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.517812, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.492656" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(218.480492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(228.500671, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(10.529766, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.517812, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.418438" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(257.171710, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(266.605952, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial1.mml b/libs/math/doc/equations/dist_tutorial1.mml
index 7145560ead..7145560ead 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial1.mml
+++ b/libs/math/doc/equations/dist_tutorial1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial1.png b/libs/math/doc/equations/dist_tutorial1.png
index b5b4fe3e56..b5b4fe3e56 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial1.png
+++ b/libs/math/doc/equations/dist_tutorial1.png
Binary files differ
diff --git a/libs/math/doc/equations/dist_tutorial1.svg b/libs/math/doc/equations/dist_tutorial1.svg
new file mode 100644
index 0000000000..4c13d7b365
--- /dev/null
+++ b/libs/math/doc/equations/dist_tutorial1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="79.420791pt" width="164.516876pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -43.694771 164.516876 79.420791"><svg:metadata><svgmath:metrics top="79.4207912623" bottom="0.0" baseline="35.7260206312" axis="39.7103956312"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(30.943299, -24.907837)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 0.000000)"/><svg:g transform="translate(18.930992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.031906, 0.000000)"/><svg:g transform="translate(41.617844, -3.984375)"><svg:g transform="translate(10.134847, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.682773" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(12.785550, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.678881, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.377193, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.682773" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(11.365547, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.775146)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(3.394687, 1.905352)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.882813" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(8.618300, -2.828906)"><svg:g transform="translate(10.772227, 0.000000)"><svg:g transform="translate(5.640625, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.224609" font-family="Times New Roman" fill="black">S n</svg:text><svg:g transform="translate(10.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="15.281250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(17.590597, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.704925, 0.000000)"><svg:g transform="translate(5.640625, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.224609" font-family="Times New Roman" fill="black">S n</svg:text><svg:g transform="translate(10.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="15.281250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 1.243678 L 3.603711 1.243678 L 7.797269 9.009525 L 7.741269 9.379155 L 3.440127 1.414078 L 3.184527 1.414078 L 7.731277 9.833985 L 10.308369 -7.176230 L 51.222259 -7.176230" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="61.012434" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.000000, 16.681450)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(9.981445, 0.000000)"/><svg:g transform="translate(25.314781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.415695, 0.000000)"/><svg:g transform="translate(47.895695, -3.984375)"><svg:g transform="translate(17.116876, 0.000000)"><svg:g transform="translate(0.585938, -6.750802)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.524514, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.437065, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(53.135377, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(84.659891, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.705431, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(36.481811, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(43.180123, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="98.850985" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.381446 L 5.659067 -3.381446 L 12.440467 9.176703 L 12.361667 9.697443 L 5.428667 -3.141446 L 5.068667 -3.141446 L 12.347666 10.338184 L 16.463555 -16.861075 L 116.621181 -16.861075" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(28.843493, 37.009400)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"/><svg:g transform="translate(20.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(30.760422, 0.000000)"/><svg:g transform="translate(42.760422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.336914" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(12.673828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(62.360914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(71.795156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.336914" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(12.673828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(91.395648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(100.829890, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial2.mml b/libs/math/doc/equations/dist_tutorial2.mml
index e7e3fef054..e7e3fef054 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial2.mml
+++ b/libs/math/doc/equations/dist_tutorial2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial2.png b/libs/math/doc/equations/dist_tutorial2.png
index 3266332b0c..3266332b0c 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial2.png
+++ b/libs/math/doc/equations/dist_tutorial2.png
Binary files differ
diff --git a/libs/math/doc/equations/dist_tutorial2.svg b/libs/math/doc/equations/dist_tutorial2.svg
new file mode 100644
index 0000000000..a3b2cd49e7
--- /dev/null
+++ b/libs/math/doc/equations/dist_tutorial2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.243672pt" width="101.193230pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.411934 101.193230 40.243672"><svg:metadata><svgmath:metrics top="40.243671875" bottom="0.0" baseline="23.8317382813" axis="27.8161132813"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 0.000000)"/><svg:g transform="translate(18.930992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.031906, 0.000000)"/><svg:g transform="translate(41.617844, -3.984375)"><svg:g transform="translate(3.469428, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.003906" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(16.007813, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(22.934476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(32.368719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.003906" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(16.007813, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 16.997930)"><svg:g transform="translate(16.095223, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(17.443695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(27.463875, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -2.530068 L 5.352571 -2.530068 L 11.674299 9.176836 L 11.595463 9.697510 L 5.122171 -2.290068 L 4.762171 -2.290068 L 11.581427 10.338184 L 15.441902 -15.158320 L 58.403512 -15.158320" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="59.575387" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial3.mml b/libs/math/doc/equations/dist_tutorial3.mml
index 1a5efa232d..1a5efa232d 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial3.mml
+++ b/libs/math/doc/equations/dist_tutorial3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial3.png b/libs/math/doc/equations/dist_tutorial3.png
index 71b661718a..71b661718a 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial3.png
+++ b/libs/math/doc/equations/dist_tutorial3.png
Binary files differ
diff --git a/libs/math/doc/equations/dist_tutorial3.svg b/libs/math/doc/equations/dist_tutorial3.svg
new file mode 100644
index 0000000000..6067e09e94
--- /dev/null
+++ b/libs/math/doc/equations/dist_tutorial3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="75.715647pt" width="123.183795pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.425137 123.183795 75.715647"><svg:metadata><svgmath:metrics top="75.7156473844" bottom="0.0" baseline="40.2905106027" axis="44.2748856027"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"/><svg:g transform="translate(20.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(30.760422, 0.000000)"/><svg:g transform="translate(43.346359, -3.984375)"><svg:g transform="translate(12.379202, -15.803320)"><svg:text font-size="31.379936" transform="scale(0.382410, 1)" text-anchor="middle" y="7.492573" x="5.224882" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(17.443695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(27.463875, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(46.822937, 0.000000)"><svg:text font-size="31.379936" transform="scale(0.382410, 1)" text-anchor="middle" y="7.492573" x="5.224882" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(50.819031, -9.879785)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 31.604758)"><svg:g transform="translate(4.444562, -15.281762)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(8.468750, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(8.468750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.425781, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="13.300781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.970039, 0.000000)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.807266, -9.317136)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.518935)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="32.696389" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(35.948991, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(45.969171, 0.000000)"><svg:g transform="translate(4.444562, -15.281762)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(8.468750, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(8.468750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.425781, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="13.300781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.970039, 0.000000)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.807266, -9.317136)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.518935)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="32.696389" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="79.837435" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial4.mml b/libs/math/doc/equations/dist_tutorial4.mml
index dce751d1b8..dce751d1b8 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial4.mml
+++ b/libs/math/doc/equations/dist_tutorial4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial4.png b/libs/math/doc/equations/dist_tutorial4.png
index 56ed38f4cb..56ed38f4cb 100644
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial4.png
+++ b/libs/math/doc/equations/dist_tutorial4.png
Binary files differ
diff --git a/libs/math/doc/equations/dist_tutorial4.svg b/libs/math/doc/equations/dist_tutorial4.svg
new file mode 100644
index 0000000000..cdd9bafea3
--- /dev/null
+++ b/libs/math/doc/equations/dist_tutorial4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.082790pt" width="74.264258pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.027344 74.264258 20.082790"><svg:metadata><svgmath:metrics top="20.082790121" bottom="0.0" baseline="9.05544637099" axis="13.039821371"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(14.065258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">±</svg:text></svg:g><svg:g transform="translate(23.317859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(13.975020, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.780000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.293242, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(56.631922, -3.984375)"><svg:g transform="translate(6.425543, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 16.460461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.632336" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint1.mml b/libs/math/doc/equations/ellint1.mml
index 386f8de6be..386f8de6be 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint1.mml
+++ b/libs/math/doc/equations/ellint1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint1.png b/libs/math/doc/equations/ellint1.png
index d64bb80c6e..d64bb80c6e 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint1.png
+++ b/libs/math/doc/equations/ellint1.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint1.svg b/libs/math/doc/equations/ellint1.svg
new file mode 100644
index 0000000000..93ef606c1b
--- /dev/null
+++ b/libs/math/doc/equations/ellint1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.043262pt" width="45.726012pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.757988 45.726012 19.043262"><svg:metadata><svgmath:metrics top="19.0432617187" bottom="1.8341015625" baseline="5.2852734375" axis="9.2696484375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="2.342197" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(4.659609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(12.265078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.597652, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(19.374996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.636168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(42.128355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint10.mml b/libs/math/doc/equations/ellint10.mml
index 41a7061fe1..41a7061fe1 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint10.mml
+++ b/libs/math/doc/equations/ellint10.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint10.png b/libs/math/doc/equations/ellint10.png
index b1d1a72609..b1d1a72609 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint10.png
+++ b/libs/math/doc/equations/ellint10.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint10.svg b/libs/math/doc/equations/ellint10.svg
new file mode 100644
index 0000000000..8c9141ac2a
--- /dev/null
+++ b/libs/math/doc/equations/ellint10.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="212.833570pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 212.833570 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g><svg:g transform="translate(14.012109, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.388406, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.075258, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(74.833070, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(86.522453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(63.365875, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(67.361969, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(163.937449, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(24.757156, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(28.753250, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(202.743726, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(209.235914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint11.mml b/libs/math/doc/equations/ellint11.mml
index 1f665796e5..1f665796e5 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint11.mml
+++ b/libs/math/doc/equations/ellint11.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint11.png b/libs/math/doc/equations/ellint11.png
index 429a6c1a7c..429a6c1a7c 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint11.png
+++ b/libs/math/doc/equations/ellint11.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint11.svg b/libs/math/doc/equations/ellint11.svg
new file mode 100644
index 0000000000..0864b1e111
--- /dev/null
+++ b/libs/math/doc/equations/ellint11.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="255.728652pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 255.728652 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g><svg:g transform="translate(12.556055, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(31.050773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(38.050769, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(49.371082, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.256566, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(79.943418, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(87.701230, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(99.390613, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(27.018875, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.014969, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(139.470563, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.369781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(24.757156, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(92.119125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(96.115218, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(245.638808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(252.130996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint12.mml b/libs/math/doc/equations/ellint12.mml
index 07f9929c32..07f9929c32 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint12.mml
+++ b/libs/math/doc/equations/ellint12.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint12.png b/libs/math/doc/equations/ellint12.png
index 41fec8ba60..41fec8ba60 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint12.png
+++ b/libs/math/doc/equations/ellint12.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint12.svg b/libs/math/doc/equations/ellint12.svg
new file mode 100644
index 0000000000..efc69fcd92
--- /dev/null
+++ b/libs/math/doc/equations/ellint12.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="162.625734pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 162.625734 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(13.600254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(22.984371, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.914055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(54.600906, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(62.358719, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(74.048102, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(113.516489, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.954422, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(152.535891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(159.028078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ellint13.mml b/libs/math/doc/equations/ellint13.mml
new file mode 100644
index 0000000000..0c14fb42d9
--- /dev/null
+++ b/libs/math/doc/equations/ellint13.mml
@@ -0,0 +1,149 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" >
+ <mtable columnalign="left" class="align">
+ <mtr>
+ <mtd columnalign="right" class="align-odd">
+ <msub>
+ <mrow >
+ <mi >R</mi>
+ </mrow>
+ <mrow >
+ <mi >F</mi>
+ </mrow>
+ </msub >
+ <mrow >
+ <mo class="MathClass-open">(</mo>
+ <mrow>
+ <mi >x</mi>
+ <mo class="MathClass-punc">,</mo>
+ <mi >y</mi>
+ <mo class="MathClass-punc">,</mo>
+ <mi >z</mi>
+ </mrow>
+ <mo class="MathClass-close">)</mo>
+ </mrow>
+ </mtd>
+ <mtd class="align-even">
+ <mo class="MathClass-rel">=</mo>
+ <mn>2</mn>
+ <msub>
+ <mrow >
+ <mi >R</mi>
+ </mrow>
+ <mrow >
+ <mi >F</mi>
+ </mrow>
+ </msub >
+ <mrow >
+ <mo class="MathClass-open">(</mo>
+ <mrow>
+ <mi >x</mi>
+ <mo class="MathClass-bin">+</mo>
+ <mi >&#x03BB;</mi>
+ <mo class="MathClass-punc">,</mo>
+ <mi >y</mi>
+ <mo class="MathClass-bin">+</mo>
+ <mi >&#x03BB;</mi>
+ <mo class="MathClass-punc">,</mo>
+ <mi >z</mi>
+ <mo class="MathClass-bin">+</mo>
+ <mi >&#x03BB;</mi>
+ </mrow>
+ <mo class="MathClass-close">)</mo>
+ </mrow>
+ <mspace width="2em"/>
+ </mtd>
+ <mtd columnalign="right" class="align-label"></mtd>
+ <mtd class="align-label">
+ <mspace width="2em"/>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd columnalign="right" class="align-odd"></mtd>
+ <mtd class="align-even">
+ <mo class="MathClass-rel">=</mo>
+ <msub>
+ <mrow >
+ <mi >R</mi>
+ </mrow>
+ <mrow >
+ <mi >F</mi>
+ </mrow>
+ </msub >
+ <mfenced separators="" open="(" close=")" >
+ <mrow>
+ <mfrac>
+ <mrow >
+ <mi >x</mi>
+ <mo class="MathClass-bin">+</mo>
+ <mi >&#x03BB;</mi>
+ </mrow>
+ <mrow >
+ <mn>4</mn>
+ </mrow>
+ </mfrac>
+ <mo class="MathClass-punc">,</mo>
+ <mfrac>
+ <mrow >
+ <mi >y</mi>
+ <mo class="MathClass-bin">+</mo>
+ <mi >&#x03BB;</mi>
+ </mrow>
+ <mrow >
+ <mn>4</mn>
+ </mrow>
+ </mfrac>
+ <mo class="MathClass-punc">,</mo>
+ <mfrac>
+ <mrow >
+ <mi >z</mi>
+ <mo class="MathClass-bin">+</mo>
+ <mi >&#x03BB;</mi>
+ </mrow>
+ <mrow >
+ <mn>4</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mspace width="2em"/>
+ </mtd>
+ <mtd columnalign="right" class="align-label"></mtd>
+ <mtd class="align-label">
+ <mspace width="2em"/>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd columnalign="right" class="align-odd">
+ <mi >&#x03BB;</mi>
+ </mtd>
+ <mtd class="align-even">
+ <mo class="MathClass-rel">=</mo>
+ <msqrt>
+ <mrow>
+ <mi >x</mi>
+ <mi >y</mi>
+ </mrow>
+ </msqrt>
+ <mo class="MathClass-bin">+</mo>
+ <msqrt>
+ <mrow>
+ <mi >y</mi>
+ <mi >z</mi>
+ </mrow>
+ </msqrt>
+ <mo class="MathClass-bin">+</mo>
+ <msqrt>
+ <mrow>
+ <mi >z</mi>
+ <mi >x</mi>
+ </mrow>
+ </msqrt>
+ <mspace width="2em"/>
+ </mtd>
+ <mtd columnalign="right" class="align-label"></mtd>
+ <mtd class="align-label">
+ <mspace width="2em"/>
+ </mtd>
+ </mtr>
+ </mtable>
+</math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint13.png b/libs/math/doc/equations/ellint13.png
index 4709f11dc2..4709f11dc2 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint13.png
+++ b/libs/math/doc/equations/ellint13.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint13.svg b/libs/math/doc/equations/ellint13.svg
new file mode 100644
index 0000000000..6af1824a16
--- /dev/null
+++ b/libs/math/doc/equations/ellint13.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="52.505113pt" width="251.023812pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -30.236932 251.023812 52.505113"><svg:metadata><svgmath:metrics top="52.5051130757" bottom="0.0" baseline="22.2681815378" axis="26.2525565378"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -17.908794)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(13.508730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(62.151691, -17.908794)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(16.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(29.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(23.397781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(30.397777, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(39.328113, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(48.762355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(54.334621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(61.334617, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(69.063781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(78.498023, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(88.066382, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(121.672121, 0.000000)"/></svg:g><svg:g transform="translate(217.423812, -17.908794)"/><svg:g transform="translate(227.023812, -17.908794)"/><svg:g transform="translate(52.551691, 3.500598)"/><svg:g transform="translate(62.151691, 3.500598)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, -3.984375)"><svg:text font-size="20.577100" transform="scale(0.583173, 1)" text-anchor="middle" y="4.913184" x="3.426168" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.957804, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.656116, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(6.762150, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.784300" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(18.370237, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.956171, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.340538, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.038850, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(6.953517, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.167034" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(44.709142, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(52.295076, 0.000000)"><svg:g transform="translate(0.585938, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(6.527101, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.314202" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(74.777246, 0.000000)"><svg:text font-size="20.577100" transform="scale(0.583173, 1)" text-anchor="middle" y="4.913184" x="3.426168" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(102.382985, 0.000000)"/></svg:g><svg:g transform="translate(217.423812, 3.500598)"/><svg:g transform="translate(227.023812, 3.500598)"/><svg:g transform="translate(46.979426, 23.662713)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(62.151691, 23.662713)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.580914, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 18.974133 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(32.701711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(42.615953, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 18.312023 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(64.074640, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(73.988883, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 17.772961 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(92.241844, 0.000000)"/></svg:g><svg:g transform="translate(217.423812, 23.662713)"/><svg:g transform="translate(227.023812, 23.662713)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint14.mml b/libs/math/doc/equations/ellint14.mml
index 13ad3d9aee..13ad3d9aee 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint14.mml
+++ b/libs/math/doc/equations/ellint14.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint14.png b/libs/math/doc/equations/ellint14.png
index cc0c2a7706..cc0c2a7706 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint14.png
+++ b/libs/math/doc/equations/ellint14.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint14.svg b/libs/math/doc/equations/ellint14.svg
new file mode 100644
index 0000000000..c582d9ee38
--- /dev/null
+++ b/libs/math/doc/equations/ellint14.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.186294pt" width="512.461905pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.077522 512.461905 54.186294"><svg:metadata><svgmath:metrics top="54.1862936359" bottom="0.0" baseline="23.1087718179" axis="27.0931468179"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(14.699215, -15.953572)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(60.121476, -15.953572)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(30.771492, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(37.410164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(50.918895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(158.946277, 0.000000)"/></svg:g><svg:g transform="translate(478.861905, -15.953572)"/><svg:g transform="translate(488.461905, -15.953572)"/><svg:g transform="translate(15.156246, 3.438850)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(60.121476, 3.438850)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(30.771492, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(37.410164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(50.918895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.612941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(171.633121, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(177.650933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(187.787886, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(206.051793, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(212.690465, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(226.702574, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(334.729956, 0.000000)"/></svg:g><svg:g transform="translate(478.861905, 3.438850)"/><svg:g transform="translate(488.461905, 3.438850)"/><svg:g transform="translate(0.000000, 23.620412)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.678711" font-family="Times New Roman" font-style="italic" fill="black">Π</svg:text><svg:g transform="translate(10.013672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.511711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(60.121476, 23.620412)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(30.771492, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(37.410164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(50.918895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.612941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(171.633121, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(177.650933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(183.650933, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(201.914840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(208.553511, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(221.109566, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(100.035195, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(107.035191, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(115.701855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(125.136097, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(131.136097, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(149.400003, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(160.034769, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(385.140429, 0.000000)"/></svg:g><svg:g transform="translate(478.861905, 23.620412)"/><svg:g transform="translate(488.461905, 23.620412)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint15.mml b/libs/math/doc/equations/ellint15.mml
index f860af1f1b..f860af1f1b 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint15.mml
+++ b/libs/math/doc/equations/ellint15.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint15.png b/libs/math/doc/equations/ellint15.png
index 1501ee1496..1501ee1496 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint15.png
+++ b/libs/math/doc/equations/ellint15.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint15.svg b/libs/math/doc/equations/ellint15.svg
new file mode 100644
index 0000000000..00ce49f778
--- /dev/null
+++ b/libs/math/doc/equations/ellint15.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.186294pt" width="330.114144pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.077522 330.114144 54.186294"><svg:metadata><svgmath:metrics top="54.1862936359" bottom="0.0" baseline="23.1087718179" axis="27.0931468179"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(13.949215, -15.953572)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.482808, -15.953572)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(85.839683, 0.000000)"/></svg:g><svg:g transform="translate(296.514144, -15.953572)"/><svg:g transform="translate(306.114144, -15.953572)"/><svg:g transform="translate(15.156246, 3.438850)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.482808, 3.438850)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.506347, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(98.526527, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.544339, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(114.681293, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(128.693402, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(190.923441, 0.000000)"/></svg:g><svg:g transform="translate(296.514144, 3.438850)"/><svg:g transform="translate(306.114144, 3.438850)"/><svg:g transform="translate(0.000000, 23.620412)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.678711" font-family="Times New Roman" font-style="italic" fill="black">Π</svg:text><svg:g transform="translate(10.013672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.873043, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.482808, 23.620412)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.506347, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(98.526527, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.544339, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(110.544339, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(123.100394, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(54.237851, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(61.237847, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(69.904511, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(79.338753, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(89.334847, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(216.431335, 0.000000)"/></svg:g><svg:g transform="translate(296.514144, 23.620412)"/><svg:g transform="translate(306.114144, 23.620412)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint16.mml b/libs/math/doc/equations/ellint16.mml
index 38516451b1..38516451b1 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint16.mml
+++ b/libs/math/doc/equations/ellint16.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint16.png b/libs/math/doc/equations/ellint16.png
index 6ad10e6a4a..6ad10e6a4a 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint16.png
+++ b/libs/math/doc/equations/ellint16.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint16.svg b/libs/math/doc/equations/ellint16.svg
new file mode 100644
index 0000000000..d05ef26273
--- /dev/null
+++ b/libs/math/doc/equations/ellint16.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="21.253945pt" width="80.577262pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 80.577262 21.253945"><svg:metadata><svgmath:metrics top="21.2539453125" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(13.508730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(18.449215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.449211, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.169914, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.008074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(66.694926, -3.984375)"><svg:g transform="translate(3.941168, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 12.710461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.882336" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ellint17.mml b/libs/math/doc/equations/ellint17.mml
new file mode 100644
index 0000000000..5dfe4776ad
--- /dev/null
+++ b/libs/math/doc/equations/ellint17.mml
@@ -0,0 +1,173 @@
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable>
+ <mtr>
+ <mtd>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>y</mi>
+ <mo>+</mo>
+ <mi>q</mi>
+ </mrow>
+ </mfenced>
+ <msub>
+ <mi>R</mi>
+ <mi>J</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mo>,</mo>
+ <mi>y</mi>
+ <mo>,</mo>
+ <mi>z</mi>
+ <mo>,</mo>
+ <mo>&#x2212;</mo>
+ <mi>q</mi>
+ </mrow>
+ </mfenced>
+ <mspace width="1em"/>
+ <mo>=</mo>
+ <mspace width="1em"/>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>p</mi>
+ <mo>&#x2212;</mo>
+ <mi>y</mi>
+ </mrow>
+ </mfenced>
+ <msub>
+ <mi>R</mi>
+ <mi>J</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mo>,</mo>
+ <mi>y</mi>
+ <mo>,</mo>
+ <mi>z</mi>
+ <mo>,</mo>
+ <mi>p</mi>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mn>3</mn>
+ <msub>
+ <mi>R</mi>
+ <mi>F</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mo>,</mo>
+ <mi>y</mi>
+ <mo>,</mo>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mo>+</mo>
+ <mn>3</mn>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>x</mi>
+ <mi>y</mi>
+ <mi>z</mi>
+ </mrow>
+ <mrow>
+ <mi>x</mi>
+ <mi>z</mi>
+ <mo>+</mo>
+ <mi>p</mi>
+ <mi>q</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ <msub>
+ <mi>R</mi>
+ <mi>C</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mi>z</mi>
+ <mo>+</mo>
+ <mi>p</mi>
+ <mi>q</mi>
+ <mo>,</mo>
+ <mi>p</mi>
+ <mi>q</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>with:</mtext>
+ <mi>q</mi>
+ <mo>></mo>
+ <mn>0</mn>
+ </mtd>
+ <mtd>
+ <mtext>and:</mtext>
+ <mi>p</mi>
+ <mo>=</mo>
+ <mi>y</mi>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ <mo>&#x2212;</mo>
+ <mi>y</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>y</mi>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mfenced>
+ <mrow>
+ <mi>y</mi>
+ <mo>+</mo>
+ <mi>q</mi>
+ </mrow>
+ </mfenced>
+ </mfrac>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/ellint17.png b/libs/math/doc/equations/ellint17.png
new file mode 100644
index 0000000000..b82f3301f9
--- /dev/null
+++ b/libs/math/doc/equations/ellint17.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint17.svg b/libs/math/doc/equations/ellint17.svg
new file mode 100644
index 0000000000..81279ce8df
--- /dev/null
+++ b/libs/math/doc/equations/ellint17.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="62.580762pt" width="326.347745pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.274756 326.347745 62.580762"><svg:metadata><svgmath:metrics top="62.5807622597" bottom="0.0" baseline="27.3060061299" axis="31.2903811299"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -22.946619)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(8.930336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.364578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(28.360672, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.356766, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(44.912820, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(31.050773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(40.717433, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(50.151675, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(60.147769, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(109.056683, 0.000000)"/><svg:g transform="translate(124.390019, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(134.490933, 0.000000)"/></svg:g><svg:g transform="translate(156.090933, -22.946619)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(9.990883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.425125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(29.684891, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.680984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(46.237039, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(31.050773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(38.050769, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(49.371082, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(102.270878, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(111.705121, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(117.705121, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(131.213851, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(67.245467, 2.689641)"/><svg:g transform="translate(174.998444, 2.689641)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(13.434245, -3.984375)"><svg:text font-size="18.682750" transform="scale(0.642304, 1)" text-anchor="middle" y="4.460871" x="3.110751" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(7.388253, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(8.511680, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 6.670840)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.552179, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.250491, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(21.450686, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="26.882561" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(32.050530, 0.000000)"><svg:text font-size="18.682750" transform="scale(0.642304, 1)" text-anchor="middle" y="4.460871" x="3.110751" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.046624, -7.199926)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(54.312900, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g></svg:g><svg:g transform="translate(67.913154, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(13.453773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.888016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(30.212234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(36.212234, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(43.212230, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(50.536449, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(60.532543, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(47.194355, 25.912286)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.333984" font-family="Times New Roman" fill="black">with:</svg:text><svg:g transform="translate(26.667973, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(36.001309, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(46.102223, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(186.906102, 25.912286)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">and:</svg:text><svg:g transform="translate(22.660160, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(33.317715, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(43.418629, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(52.348965, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(62.369145, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.307679, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.340538, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.038850, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.940550, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.642013, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.340538, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.038850, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(20.136077, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="46.257330" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint18.mml b/libs/math/doc/equations/ellint18.mml
index d0092376ef..d0092376ef 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint18.mml
+++ b/libs/math/doc/equations/ellint18.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint18.png b/libs/math/doc/equations/ellint18.png
index f253144b53..f253144b53 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint18.png
+++ b/libs/math/doc/equations/ellint18.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint18.svg b/libs/math/doc/equations/ellint18.svg
new file mode 100644
index 0000000000..63e90f5b8b
--- /dev/null
+++ b/libs/math/doc/equations/ellint18.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="24.804169pt" width="188.318328pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.456513 188.318328 24.804169"><svg:metadata><svgmath:metrics top="24.8041692985" bottom="0.0" baseline="7.34765625" axis="11.33203125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(13.600254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(15.391269, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(24.825512, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(35.085277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.681625, 0.000000)"/><svg:g transform="translate(68.014961, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.115875, 0.000000)"/><svg:g transform="translate(90.115875, -3.984375)"><svg:text font-size="24.928034" transform="scale(0.481386, 1)" text-anchor="middle" y="5.952055" x="4.150615" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.768227, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 8.742188)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.261062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(30.429031, 0.000000)"><svg:text font-size="24.928034" transform="scale(0.481386, 1)" text-anchor="middle" y="5.952055" x="4.150615" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(34.425125, -7.199926)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(129.373031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g></svg:g><svg:g transform="translate(142.973285, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(24.089187, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.089183, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(41.348949, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ellint19.mml b/libs/math/doc/equations/ellint19.mml
new file mode 100644
index 0000000000..a109ab489a
--- /dev/null
+++ b/libs/math/doc/equations/ellint19.mml
@@ -0,0 +1,119 @@
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mo>&#x2212;</mo>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ <mi>&#x03C0;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mi>K</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>sin</mi>
+ <mi>&#x03C6;</mi>
+ <msub>
+ <mi>R</mi>
+ <mi>F</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>cos</mi>
+ <msup>
+ <mi/>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>sin</mi>
+ <msup>
+ <mi/>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/ellint19.png b/libs/math/doc/equations/ellint19.png
new file mode 100644
index 0000000000..b32c44678e
--- /dev/null
+++ b/libs/math/doc/equations/ellint19.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint19.svg b/libs/math/doc/equations/ellint19.svg
new file mode 100644
index 0000000000..8e0728771f
--- /dev/null
+++ b/libs/math/doc/equations/ellint19.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="46.377881pt" width="231.075296pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -27.173316 231.075296 46.377881"><svg:metadata><svgmath:metrics top="46.3778813104" bottom="0.0" baseline="19.2045656552" axis="23.1889406552"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(19.719395, -14.845178)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(14.072917, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(21.072913, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(30.922523, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.552465, -18.829553)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.920043, -14.845178)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(15.748698, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.488277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 1.432178)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(9.305336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.739578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.405594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(33.792312, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(40.792308, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(50.641918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.552465, -2.552197)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.920043, 1.432178)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.488277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.465488, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(47.899730, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(53.899730, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(62.565746, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text></svg:g><svg:g transform="translate(71.630199, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.849609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(27.153641, 20.505347)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.488277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.552465, 16.520972)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.920043, 20.505347)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(20.642578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(34.151309, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.109183, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(76.113090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.373090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.011761, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.011757, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.007851, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint2.mml b/libs/math/doc/equations/ellint2.mml
index 61e7f74776..61e7f74776 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint2.mml
+++ b/libs/math/doc/equations/ellint2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint2.png b/libs/math/doc/equations/ellint2.png
index cc06a06698..cc06a06698 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint2.png
+++ b/libs/math/doc/equations/ellint2.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint2.svg b/libs/math/doc/equations/ellint2.svg
new file mode 100644
index 0000000000..506401bd6b
--- /dev/null
+++ b/libs/math/doc/equations/ellint2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.360018pt" width="122.594531pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 122.594531 29.360018"><svg:metadata><svgmath:metrics top="29.3600181676" bottom="0.0" baseline="10.3533984375" axis="14.3377734375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(39.155598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.256512, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.257303)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(60.171461, -3.984375)"><svg:g transform="translate(24.921496, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.423070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint20.mml b/libs/math/doc/equations/ellint20.mml
index fcbe7fb3e7..fcbe7fb3e7 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint20.mml
+++ b/libs/math/doc/equations/ellint20.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint20.png b/libs/math/doc/equations/ellint20.png
index 53f15bbb2e..53f15bbb2e 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint20.png
+++ b/libs/math/doc/equations/ellint20.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint20.svg b/libs/math/doc/equations/ellint20.svg
new file mode 100644
index 0000000000..e82fcd7378
--- /dev/null
+++ b/libs/math/doc/equations/ellint20.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.661958pt" width="132.106617pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 132.106617 15.661958"><svg:metadata><svgmath:metrics top="15.6619576984" bottom="1.8387890625" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.933594, 0.000000)"/><svg:g transform="translate(38.266930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.367844, 0.000000)"/><svg:g transform="translate(60.367844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(73.876574, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ellint21.mml b/libs/math/doc/equations/ellint21.mml
new file mode 100644
index 0000000000..0797029934
--- /dev/null
+++ b/libs/math/doc/equations/ellint21.mml
@@ -0,0 +1,175 @@
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>E</mi>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mo>&#x2212;</mo>
+ <mi>E</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>E</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ <mi>&#x03C0;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>E</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mi>E</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ <mspace width="1em"/>
+ <mo>;</mo>
+ <mspace width="1em"/>
+ <mi>&#x03C6;</mi>
+ <mo>&#x2209;</mo>
+ <mo>[</mo>
+ <mn>0,</mn>
+ <mfrac>
+ <mi>&#x03C0;</mi>
+ <mn>2</mn>
+ </mfrac>
+ <mo>]</mo>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>E</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>sin</mi>
+ <mi>&#x03C6;</mi>
+ <msub>
+ <mi>R</mi>
+ <mi>F</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <msup>
+ <mi>cos</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <msup>
+ <mi>sin</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>3</mn>
+ </mfrac>
+ </mrow>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>sin</mi>
+ <msup>
+ <mi/>
+ <mn>3</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ <msub>
+ <mi>R</mi>
+ <mi>D</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>cos</mi>
+ <msup>
+ <mi/>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>sin</mi>
+ <msup>
+ <mi/>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/ellint21.png b/libs/math/doc/equations/ellint21.png
new file mode 100644
index 0000000000..678855586c
--- /dev/null
+++ b/libs/math/doc/equations/ellint21.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint21.svg b/libs/math/doc/equations/ellint21.svg
new file mode 100644
index 0000000000..dccb40cd46
--- /dev/null
+++ b/libs/math/doc/equations/ellint21.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.510389pt" width="406.355069pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.739569 406.355069 49.510389"><svg:metadata><svgmath:metrics top="49.5103889047" bottom="0.0" baseline="20.7708194524" axis="24.7551944524"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(19.719395, -16.411432)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(14.072917, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(21.072913, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(30.922523, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.095433, -20.395807)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.463011, -16.411432)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text></svg:g><svg:g transform="translate(15.291667, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.488277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 1.200741)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(9.305336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.739578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.405594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(33.792312, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(40.792308, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(50.641918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.095433, -2.783634)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.463011, 1.200741)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.488277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.008457, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(47.442699, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(53.442699, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(62.108715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text></svg:g><svg:g transform="translate(69.966136, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.849609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.811840, 0.000000)"/><svg:g transform="translate(95.811840, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(102.479160, 0.000000)"/><svg:g transform="translate(114.479160, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(124.451168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∉</svg:text></svg:g><svg:g transform="translate(137.323566, -3.984375)"><svg:text font-size="14.614221" transform="scale(0.821118, 1)" text-anchor="middle" y="4.203220" x="2.433325" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(141.319660, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">0,</svg:text></svg:g><svg:g transform="translate(150.905598, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.723223, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.706445" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(157.197980, -3.984375)"><svg:text font-size="14.614221" transform="scale(0.821118, 1)" text-anchor="middle" y="4.203220" x="2.433325" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(27.153641, 21.282460)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.488277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.095433, 17.298085)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.463011, 21.282460)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(20.642578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(34.151309, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.109183, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.373090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.011761, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.011757, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.007851, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(144.821918, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(154.842097, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(160.859910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(170.973425, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(184.977332, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(189.237332, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(195.876003, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(209.888113, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.109183, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(76.113090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.373090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.011761, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.011757, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.007851, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint22.mml b/libs/math/doc/equations/ellint22.mml
index fcb3704d51..fcb3704d51 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint22.mml
+++ b/libs/math/doc/equations/ellint22.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint22.png b/libs/math/doc/equations/ellint22.png
index 15fd6f9cd4..15fd6f9cd4 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint22.png
+++ b/libs/math/doc/equations/ellint22.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint22.svg b/libs/math/doc/equations/ellint22.svg
new file mode 100644
index 0000000000..c70931c941
--- /dev/null
+++ b/libs/math/doc/equations/ellint22.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.558594pt" width="233.723347pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 233.723347 19.558594"><svg:metadata><svgmath:metrics top="19.55859375" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.726563, 0.000000)"/><svg:g transform="translate(37.059899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.160813, 0.000000)"/><svg:g transform="translate(59.160813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(72.669543, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(133.566250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(143.586429, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(151.344242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(161.481195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(175.493304, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ellint23.mml b/libs/math/doc/equations/ellint23.mml
new file mode 100644
index 0000000000..051ea4b8a7
--- /dev/null
+++ b/libs/math/doc/equations/ellint23.mml
@@ -0,0 +1,130 @@
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mo>&#x220F;</mo>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mn>0</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <msup>
+ <mi>tan</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <mfenced>
+ <mrow>
+ <msqrt>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </msqrt>
+ <mi>tan</mi>
+ <mi>&#x03C6;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>;</mo>
+ <mi>n</mi>
+ <mo>&lt;</mo>
+ <mn>1</mn>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <msup>
+ <mi>tanh</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <mfenced>
+ <mrow>
+ <msqrt>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </msqrt>
+ <mi>tan</mi>
+ <mi>&#x03C6;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>;</mo>
+ <mi>n</mi>
+ <mo>></mo>
+ <mn>1</mn>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>tan</mi>
+ <mi>&#x03C6;</mi>
+ </mtd>
+ <mtd>
+ <mo>;</mo>
+ <mi>n</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/ellint23.png b/libs/math/doc/equations/ellint23.png
new file mode 100644
index 0000000000..7db29ce461
--- /dev/null
+++ b/libs/math/doc/equations/ellint23.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint23.svg b/libs/math/doc/equations/ellint23.svg
new file mode 100644
index 0000000000..81c0153563
--- /dev/null
+++ b/libs/math/doc/equations/ellint23.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="55.231641pt" width="241.181036pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.600195 241.181036 55.231641"><svg:metadata><svgmath:metrics top="55.231640625" bottom="0.0" baseline="23.6314453125" axis="27.6158203125"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -14.177812)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" text-anchor="middle" y="3.981593" x="4.944759" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(11.889521, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(36.634758, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(62.120373, -18.162187)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.487951, -14.177812)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.511766, 0.000000)"><svg:g transform="translate(7.011759, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="18.283518" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.238262 L 3.677534 -1.238262 L 7.487366 5.816983 L 7.408200 6.337046 L 3.447134 -0.998262 L 3.087134 -0.998262 L 7.393834 6.977109 L 9.858445 -9.213633 L 29.448604 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(29.928604, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(53.653741, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 31.086758 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(31.566758, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text></svg:g><svg:g transform="translate(46.226914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(57.341680, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(209.079465, -14.177812)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(6.667320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(16.000656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(26.101570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(40.520373, 8.100117)"/><svg:g transform="translate(62.120373, 4.115742)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.487951, 8.100117)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.511766, 0.000000)"><svg:g transform="translate(7.011759, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="18.283518" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.238262 L 3.677534 -1.238262 L 7.487366 5.816983 L 7.408200 6.337046 L 3.447134 -0.998262 L 3.087134 -0.998262 L 7.393834 6.977109 L 9.858445 -9.213633 L 29.448604 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(29.928604, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">tanh</svg:text><svg:g transform="translate(20.660156, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(59.653741, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 31.086758 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(31.566758, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text></svg:g><svg:g transform="translate(46.226914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(57.341680, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(209.079465, 8.100117)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(6.667320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(16.000656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(26.101570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(40.520373, 25.049414)"/><svg:g transform="translate(62.120373, 21.065039)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.487951, 25.049414)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(209.079465, 25.049414)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(6.667320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(16.000656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(26.101570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ellint24.mml b/libs/math/doc/equations/ellint24.mml
new file mode 100644
index 0000000000..3365793382
--- /dev/null
+++ b/libs/math/doc/equations/ellint24.mml
@@ -0,0 +1,228 @@
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>n</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </msqrt>
+ <mrow>
+ <mo>&#x220F;</mo>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>N</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>N</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </msqrt>
+ <mrow>
+ <mo>&#x220F;</mo>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>,</mo>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>+</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mrow>
+ <msub>
+ <mi>p</mi>
+ <mn>2</mn>
+ </msub>
+ </mrow>
+ </mfrac>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>+</mo>
+ </mtd>
+ <mtd>
+ <msup>
+ <mi>tan</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <msub>
+ <mi>p</mi>
+ <mn>2</mn>
+ </msub>
+ <mn>2</mn>
+ </mfrac>
+ <mfrac>
+ <mrow>
+ <mi>sin</mi>
+ <mrow>
+ <mn>2</mn>
+ <mi>&#x03C6;</mi>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mtext>?</mtext>
+ <mfenced>
+ <mrow>
+ <mi>&#x03C6;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>N</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mfenced>
+ <mrow>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>p</mi>
+ <mn>2</mn>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mi>n</mi>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </msqrt>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/ellint24.png b/libs/math/doc/equations/ellint24.png
new file mode 100644
index 0000000000..a188781c3b
--- /dev/null
+++ b/libs/math/doc/equations/ellint24.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint24.svg b/libs/math/doc/equations/ellint24.svg
new file mode 100644
index 0000000000..75bda0cec0
--- /dev/null
+++ b/libs/math/doc/equations/ellint24.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="117.519380pt" width="297.873700pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -62.744065 297.873700 117.519380"><svg:metadata><svgmath:metrics top="117.519380201" bottom="0.0" baseline="54.7753151005" axis="58.7596901005"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -42.705947)"><svg:g transform="translate(10.285053, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.533936, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.327871" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(32.596746, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -8.026444 L 3.609520 -8.026444 L 7.317375 -1.160047 L 7.238187 -0.640023 L 3.379120 -7.786444 L 3.019120 -7.786444 L 7.223800 0.000000 L 9.631733 -15.812888 L 79.624307 -15.812888" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(80.104307, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" text-anchor="middle" y="3.981593" x="4.944759" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(11.889521, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.488273, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(142.078195, -46.690322)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(158.445774, -42.705947)"><svg:g transform="translate(10.285566, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.567703, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="20.112803" transform="scale(0.596635, 1)" text-anchor="middle" y="3.028995" x="3.348860" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(1.300449, 7.240781)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.327871" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(32.596746, -3.984375)"><svg:text font-size="20.112803" transform="scale(0.596635, 1)" text-anchor="middle" y="3.028995" x="3.348860" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -8.026871 L 3.609674 -8.026871 L 7.317759 -1.160047 L 7.238572 -0.640023 L 3.379274 -7.786871 L 3.019274 -7.786871 L 7.224184 0.000000 L 9.632246 -15.813743 L 83.099429 -15.813743" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(83.579429, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" text-anchor="middle" y="3.981593" x="4.944759" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(11.889521, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(9.474609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(16.474605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(23.113277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(30.113273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(39.962883, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(120.478195, -19.052607)"/><svg:g transform="translate(142.078195, -23.036982)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(158.445774, -19.052607)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.108037, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="10.372070" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.958008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(19.272461, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.488277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(120.478195, 4.493475)"/><svg:g transform="translate(142.078195, 0.509100)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(158.445774, 4.493475)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(23.725137, -3.984375)"><svg:text font-size="20.558817" transform="scale(0.583691, 1)" text-anchor="middle" y="4.908819" x="3.423123" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(3.056035, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="10.372070" x1="0.000000" fill="none"/><svg:g transform="translate(11.543945, 0.000000)"><svg:g transform="translate(0.585938, -3.421758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.971387" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(9.942773, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.249305, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" fill="black">?</svg:text><svg:g transform="translate(5.201585, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(7.550684, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="20.088105" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(36.800020, 0.000000)"><svg:text font-size="20.558817" transform="scale(0.583691, 1)" text-anchor="middle" y="4.908819" x="3.423123" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(123.003586, 31.849968)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(142.078195, 27.865593)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(158.445774, 27.865593)"><svg:g transform="translate(0.585938, -3.414648)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.049328, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.747639, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(23.844866, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(2.533936, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.853968" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(120.893977, 54.851487)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.908203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(142.078195, 50.867112)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(158.445774, 54.851487)"><svg:g transform="translate(8.017057, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.020183, -3.984375)"><svg:g transform="translate(7.011759, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="18.283518" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.889639, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.780180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.214422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(32.210515, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -6.136448 L 2.929121 -6.136448 L 5.616957 -1.158973 L 5.537480 -0.639487 L 2.698721 -5.896448 L 2.338721 -5.896448 L 5.522803 0.000000 L 7.363737 -12.032895 L 71.766626 -12.032895" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint25.mml b/libs/math/doc/equations/ellint25.mml
index eadfab3271..eadfab3271 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint25.mml
+++ b/libs/math/doc/equations/ellint25.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint25.png b/libs/math/doc/equations/ellint25.png
index b8ff9e7016..b8ff9e7016 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint25.png
+++ b/libs/math/doc/equations/ellint25.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint25.svg b/libs/math/doc/equations/ellint25.svg
new file mode 100644
index 0000000000..69548a5077
--- /dev/null
+++ b/libs/math/doc/equations/ellint25.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.004809pt" width="453.984163pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 453.984163 17.004809"><svg:metadata><svgmath:metrics top="17.0048092609" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.964629" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(15.929262, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.511711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.437066, 0.000000)"/><svg:g transform="translate(71.770402, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.871316, 0.000000)"/><svg:g transform="translate(93.871316, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(107.875223, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(114.513895, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(128.022625, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(238.716672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(248.736851, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(256.494664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(270.498570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(274.758570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(281.397242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(293.953296, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(76.136527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">1,1</svg:text></svg:g><svg:g transform="translate(111.701859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(121.136101, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(127.136101, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(141.140007, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(145.400007, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(156.034773, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint26.mml b/libs/math/doc/equations/ellint26.mml
index 194e3fa34b..194e3fa34b 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint26.mml
+++ b/libs/math/doc/equations/ellint26.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint26.png b/libs/math/doc/equations/ellint26.png
index b7aac88239..b7aac88239 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint26.png
+++ b/libs/math/doc/equations/ellint26.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint26.svg b/libs/math/doc/equations/ellint26.svg
new file mode 100644
index 0000000000..2371edb44c
--- /dev/null
+++ b/libs/math/doc/equations/ellint26.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.004809pt" width="270.303081pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 270.303081 17.004809"><svg:metadata><svgmath:metrics top="17.0048092609" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.964629" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(15.929262, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.873043, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(42.798398, 0.000000)"/><svg:g transform="translate(58.131734, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.232649, 0.000000)"/><svg:g transform="translate(80.232649, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(93.741379, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(154.638086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(164.658265, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(172.416078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(184.972133, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">1,1</svg:text></svg:g><svg:g transform="translate(61.904519, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(71.338761, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(81.334855, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint3.mml b/libs/math/doc/equations/ellint3.mml
index a105ea1773..a105ea1773 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint3.mml
+++ b/libs/math/doc/equations/ellint3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint3.png b/libs/math/doc/equations/ellint3.png
index 6d21293e08..6d21293e08 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint3.png
+++ b/libs/math/doc/equations/ellint3.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint3.svg b/libs/math/doc/equations/ellint3.svg
new file mode 100644
index 0000000000..de38f44b0c
--- /dev/null
+++ b/libs/math/doc/equations/ellint3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="135.618399pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 135.618399 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="1.7389453125" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.698566, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.799481, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.257303)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(59.608493, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 62.949828 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(123.038321, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(129.530508, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint4.mml b/libs/math/doc/equations/ellint4.mml
index 38584f4c5d..38584f4c5d 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint4.mml
+++ b/libs/math/doc/equations/ellint4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint4.png b/libs/math/doc/equations/ellint4.png
index 49dd909388..49dd909388 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint4.png
+++ b/libs/math/doc/equations/ellint4.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint4.svg b/libs/math/doc/equations/ellint4.svg
new file mode 100644
index 0000000000..e3a195f84c
--- /dev/null
+++ b/libs/math/doc/equations/ellint4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.440400pt" width="194.218637pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 194.218637 31.440400"><svg:metadata><svgmath:metrics top="31.4403996459" bottom="0.0" baseline="12.4337799157" axis="16.4181549157"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.678711" font-family="Times New Roman" font-style="italic" fill="black">Π</svg:text><svg:g transform="translate(10.013672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.511711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(53.854812, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.955726, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.257303)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(74.870676, -3.984375)"><svg:g transform="translate(53.383941, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(42.364812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(52.448797, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(56.924890, 0.000000)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="119.347961" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint5.mml b/libs/math/doc/equations/ellint5.mml
index ab0ab38aed..ab0ab38aed 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint5.mml
+++ b/libs/math/doc/equations/ellint5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint5.png b/libs/math/doc/equations/ellint5.png
index 2729fca761..2729fca761 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint5.png
+++ b/libs/math/doc/equations/ellint5.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint5.svg b/libs/math/doc/equations/ellint5.svg
new file mode 100644
index 0000000000..e9cece467f
--- /dev/null
+++ b/libs/math/doc/equations/ellint5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="96.548200pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 96.548200 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(9.210289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(22.644539, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(39.981781, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(46.280610, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(56.613942, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(62.349621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(71.559911, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(80.628926, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(90.548200, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint6.mml b/libs/math/doc/equations/ellint6.mml
index 427a6a1c52..427a6a1c52 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint6.mml
+++ b/libs/math/doc/equations/ellint6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint6.png b/libs/math/doc/equations/ellint6.png
index 53b7e47212..53b7e47212 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint6.png
+++ b/libs/math/doc/equations/ellint6.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint6.svg b/libs/math/doc/equations/ellint6.svg
new file mode 100644
index 0000000000..402635aa36
--- /dev/null
+++ b/libs/math/doc/equations/ellint6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.729795pt" width="163.208807pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.205982 163.208807 31.729795"><svg:metadata><svgmath:metrics top="31.7297954359" bottom="0.170415296053" baseline="10.5238137336" axis="14.5081887336"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(26.266930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(36.367844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(44.682297, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.144531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(15.144527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(25.603512, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(77.615238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.716153, -3.984375)"><svg:text font-size="26.848421" text-anchor="middle" y="8.543339" x="3.716566" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(7.393803, 12.669400)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(7.393803, -12.820489)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.003906" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.544922, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="5.089844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(100.785737, -3.984375)"><svg:g transform="translate(24.921496, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.423070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint7.mml b/libs/math/doc/equations/ellint7.mml
index 12026cd78f..12026cd78f 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint7.mml
+++ b/libs/math/doc/equations/ellint7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint7.png b/libs/math/doc/equations/ellint7.png
index 55c7c5ebe3..55c7c5ebe3 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint7.png
+++ b/libs/math/doc/equations/ellint7.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint7.svg b/libs/math/doc/equations/ellint7.svg
new file mode 100644
index 0000000000..29f78b6d3c
--- /dev/null
+++ b/libs/math/doc/equations/ellint7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.270543pt" width="173.276715pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.687110 173.276715 25.270543"><svg:metadata><svgmath:metrics top="25.2705429729" bottom="0.858823383794" baseline="6.58343275879" axis="10.5678077588"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.059898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.160813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text></svg:g><svg:g transform="translate(43.018234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.144531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(15.144527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(25.603512, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.951176, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(86.052090, -3.984375)"><svg:text font-size="20.497701" text-anchor="middle" y="5.285164" x="2.837450" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.644875, 8.729019)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.644875, -10.301617)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.003906" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.544922, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="5.089844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(97.266809, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(18.263906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 62.949828 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(160.696637, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint8.mml b/libs/math/doc/equations/ellint8.mml
index cae7eb2e9d..cae7eb2e9d 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint8.mml
+++ b/libs/math/doc/equations/ellint8.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint8.png b/libs/math/doc/equations/ellint8.png
index e18ab221e1..e18ab221e1 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint8.png
+++ b/libs/math/doc/equations/ellint8.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint8.svg b/libs/math/doc/equations/ellint8.svg
new file mode 100644
index 0000000000..978be26e39
--- /dev/null
+++ b/libs/math/doc/equations/ellint8.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.134718pt" width="262.355389pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.700938 262.355389 34.134718"><svg:metadata><svgmath:metrics top="34.1347181137" bottom="0.0" baseline="12.4337799157" axis="16.4181549157"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.964629" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(15.929262, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.873043, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.131734, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.232649, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" text-anchor="middle" y="5.765801" x="7.520596" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(17.041196, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.585933, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(21.730465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.730461, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(38.603508, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(119.206782, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(129.307696, -3.984375)"><svg:text font-size="29.136617" text-anchor="middle" y="10.129881" x="4.033316" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(8.023951, 14.501744)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(8.023951, -13.315445)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.003906" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.544922, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="5.089844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(143.007428, -3.984375)"><svg:g transform="translate(53.383941, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(42.364812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(52.448797, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(56.924890, 0.000000)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="119.347961" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint9.mml b/libs/math/doc/equations/ellint9.mml
index 117c9322f3..117c9322f3 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint9.mml
+++ b/libs/math/doc/equations/ellint9.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ellint9.png b/libs/math/doc/equations/ellint9.png
index 556b5adf54..556b5adf54 100644
--- a/libs/math/doc/sf_and_dist/equations/ellint9.png
+++ b/libs/math/doc/equations/ellint9.png
Binary files differ
diff --git a/libs/math/doc/equations/ellint9.svg b/libs/math/doc/equations/ellint9.svg
new file mode 100644
index 0000000000..92738a87d8
--- /dev/null
+++ b/libs/math/doc/equations/ellint9.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="202.277164pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 202.277164 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(13.508730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(55.885027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(66.571879, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(74.329691, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(86.019074, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.369781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(24.757156, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(92.119125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(96.115218, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(192.187320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(198.679508, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/erf1.mml b/libs/math/doc/equations/erf1.mml
index 6568f68b92..6568f68b92 100644
--- a/libs/math/doc/sf_and_dist/equations/erf1.mml
+++ b/libs/math/doc/equations/erf1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/erf1.png b/libs/math/doc/equations/erf1.png
index db40494029..db40494029 100644
--- a/libs/math/doc/sf_and_dist/equations/erf1.png
+++ b/libs/math/doc/equations/erf1.png
Binary files differ
diff --git a/libs/math/doc/equations/erf1.svg b/libs/math/doc/equations/erf1.svg
new file mode 100644
index 0000000000..d860f36c1a
--- /dev/null
+++ b/libs/math/doc/equations/erf1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.908954pt" width="116.225343pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.824469 116.225343 36.908954"><svg:metadata><svgmath:metrics top="36.9089537879" bottom="0.0" baseline="12.0844852645" axis="16.0688602645"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.659180" font-family="Times New Roman" fill="black">erf</svg:text><svg:g transform="translate(16.537113, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.591801, 0.000000)"/><svg:g transform="translate(44.925137, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.026051, 0.000000)"/><svg:g transform="translate(67.611989, -3.984375)"><svg:g transform="translate(4.272223, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 13.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.544445" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(82.742371, -3.984375)"><svg:text font-size="24.356821" text-anchor="middle" y="6.288264" x="3.371659" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(1.223820, 15.969017)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(1.556633, -17.174996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(89.450011, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(2.554336, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(106.135500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(112.627687, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/erf2.mml b/libs/math/doc/equations/erf2.mml
index 8b81fe4e97..8b81fe4e97 100644
--- a/libs/math/doc/sf_and_dist/equations/erf2.mml
+++ b/libs/math/doc/equations/erf2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/erf2.png b/libs/math/doc/equations/erf2.png
index 78068a3fad..78068a3fad 100644
--- a/libs/math/doc/sf_and_dist/equations/erf2.png
+++ b/libs/math/doc/equations/erf2.png
Binary files differ
diff --git a/libs/math/doc/equations/erf2.svg b/libs/math/doc/equations/erf2.svg
new file mode 100644
index 0000000000..2183a2f880
--- /dev/null
+++ b/libs/math/doc/equations/erf2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="120.826184pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 120.826184 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0234626745435" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text><svg:g transform="translate(20.644535, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.699223, 0.000000)"/><svg:g transform="translate(49.032559, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.133473, 0.000000)"/><svg:g transform="translate(71.133473, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(79.800137, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(91.234383, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.659180" font-family="Times New Roman" fill="black">erf</svg:text></svg:g><svg:g transform="translate(107.771496, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/error1.mml b/libs/math/doc/equations/error1.mml
index b542450070..b542450070 100644
--- a/libs/math/doc/sf_and_dist/equations/error1.mml
+++ b/libs/math/doc/equations/error1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/error1.png b/libs/math/doc/equations/error1.png
index 4f26c4ac32..4f26c4ac32 100644
--- a/libs/math/doc/sf_and_dist/equations/error1.png
+++ b/libs/math/doc/equations/error1.png
Binary files differ
diff --git a/libs/math/doc/equations/error1.svg b/libs/math/doc/equations/error1.svg
new file mode 100644
index 0000000000..82d601adb4
--- /dev/null
+++ b/libs/math/doc/equations/error1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.101067pt" width="123.470059pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.042474 123.470059 14.101067"><svg:metadata><svgmath:metrics top="14.1010674006" bottom="0.0" baseline="3.05859375" axis="7.04296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">max</svg:text><svg:g transform="translate(20.660156, -3.984375)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="2.579648" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(7.329430, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text><svg:g transform="translate(6.321617, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(9.299477, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.598953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(34.839844, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(40.575524, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(50.908856, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(57.230473, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(9.636391, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.598953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(85.748699, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(98.813809, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="2.579648" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/error2.mml b/libs/math/doc/equations/error2.mml
index 9d13454691..9d13454691 100644
--- a/libs/math/doc/sf_and_dist/equations/error2.mml
+++ b/libs/math/doc/equations/error2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/error2.png b/libs/math/doc/equations/error2.png
index 0f9710a074..0f9710a074 100644
--- a/libs/math/doc/sf_and_dist/equations/error2.png
+++ b/libs/math/doc/equations/error2.png
Binary files differ
diff --git a/libs/math/doc/equations/error2.svg b/libs/math/doc/equations/error2.svg
new file mode 100644
index 0000000000..ae03b39f31
--- /dev/null
+++ b/libs/math/doc/equations/error2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.101067pt" width="37.242188pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.042474 37.242188 14.101067"><svg:metadata><svgmath:metrics top="14.1010674006" bottom="0.0" baseline="3.05859375" axis="7.04296875"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text><svg:g transform="translate(6.321617, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(9.299477, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.598953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(34.839844, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_1.mml b/libs/math/doc/equations/expint_i_1.mml
index f42d338cac..f42d338cac 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_1.mml
+++ b/libs/math/doc/equations/expint_i_1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_1.png b/libs/math/doc/equations/expint_i_1.png
index d7c2a69a75..d7c2a69a75 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_1.png
+++ b/libs/math/doc/equations/expint_i_1.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_i_1.svg b/libs/math/doc/equations/expint_i_1.svg
new file mode 100644
index 0000000000..6121ede243
--- /dev/null
+++ b/libs/math/doc/equations/expint_i_1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.646949pt" width="130.548671pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -25.714722 130.548671 33.646949"><svg:metadata><svgmath:metrics top="33.6469488558" bottom="0.0" baseline="7.93222652054" axis="11.9166015205"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(11.191406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.241539, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(41.009117, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(50.443359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(62.560781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(87.045159, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(97.146074, -3.984375)"><svg:g transform="translate(1.227964, 0.000000)"><svg:text font-size="23.288829" text-anchor="middle" y="4.243446" x="3.223820" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(0.000000, 11.816758)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(1.397813, -17.803160)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(106.601464, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(12.685488, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(19.177676, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(10.174775, 8.355469)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.947207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_2.mml b/libs/math/doc/equations/expint_i_2.mml
index 87a16f1f24..87a16f1f24 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_2.mml
+++ b/libs/math/doc/equations/expint_i_2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_2.png b/libs/math/doc/equations/expint_i_2.png
index 52d776c279..52d776c279 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_2.png
+++ b/libs/math/doc/equations/expint_i_2.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_i_2.svg b/libs/math/doc/equations/expint_i_2.svg
new file mode 100644
index 0000000000..b1868a5f37
--- /dev/null
+++ b/libs/math/doc/equations/expint_i_2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.089160pt" width="133.330460pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.655605 133.330460 35.089160"><svg:metadata><svgmath:metrics top="35.0891601563" bottom="0.0" baseline="13.4335546875" axis="17.4179296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.332031" font-family="Times New Roman" fill="black">Ei</svg:text><svg:g transform="translate(12.664067, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.052090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.153004, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(54.486988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(70.208340, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.642582, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(87.037762, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(96.472004, -3.984375)"><svg:text font-size="25.273598" text-anchor="middle" y="4.641147" x="9.008656" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.389847, 17.318086)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.971742, -13.744043)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(115.075253, -3.984375)"><svg:g transform="translate(4.510035, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(13.087238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.255207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_3.mml b/libs/math/doc/equations/expint_i_3.mml
index 42fce62bb9..42fce62bb9 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_3.mml
+++ b/libs/math/doc/equations/expint_i_3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_3.png b/libs/math/doc/equations/expint_i_3.png
index 3074a9492d..3074a9492d 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_3.png
+++ b/libs/math/doc/equations/expint_i_3.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_i_3.svg b/libs/math/doc/equations/expint_i_3.svg
new file mode 100644
index 0000000000..a296a99e6a
--- /dev/null
+++ b/libs/math/doc/equations/expint_i_3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.432711pt" width="162.766738pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.567476 162.766738 19.432711"><svg:metadata><svgmath:metrics top="19.4327105221" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.332031" font-family="Times New Roman" fill="black">Ei</svg:text><svg:g transform="translate(12.664067, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.052090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.153004, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(54.486988, -3.984375)"><svg:text font-size="21.035575" transform="scale(0.570462, 1)" text-anchor="middle" y="5.022654" x="3.502505" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(2.715937, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.494375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.662344, 0.000000)"><svg:text font-size="21.035575" transform="scale(0.570462, 1)" text-anchor="middle" y="5.022654" x="3.502505" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(76.812090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(86.246332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(30.482000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(120.724426, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(128.329894, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.906426" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(30.440750, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.906426" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_4.mml b/libs/math/doc/equations/expint_i_4.mml
index c2d777b55c..c2d777b55c 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_4.mml
+++ b/libs/math/doc/equations/expint_i_4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_4.png b/libs/math/doc/equations/expint_i_4.png
index ae5c58b560..ae5c58b560 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_i_4.png
+++ b/libs/math/doc/equations/expint_i_4.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_i_4.svg b/libs/math/doc/equations/expint_i_4.svg
new file mode 100644
index 0000000000..9d26331eee
--- /dev/null
+++ b/libs/math/doc/equations/expint_i_4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.534238pt" width="112.195285pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.756895 112.195285 17.534238"><svg:metadata><svgmath:metrics top="17.5342382812" bottom="0.0" baseline="2.77734375" axis="6.76171875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.332031" font-family="Times New Roman" fill="black">Ei</svg:text><svg:g transform="translate(12.664067, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.052090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.153004, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(46.882168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.902348, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(2.514961, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.092422" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(67.580707, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(25.032547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(7.593750, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(40.618484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_1.mml b/libs/math/doc/equations/expint_n_1.mml
index b636c81e61..b636c81e61 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_1.mml
+++ b/libs/math/doc/equations/expint_n_1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_1.png b/libs/math/doc/equations/expint_n_1.png
index a757f89d0e..a757f89d0e 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_1.png
+++ b/libs/math/doc/equations/expint_n_1.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_n_1.svg b/libs/math/doc/equations/expint_n_1.svg
new file mode 100644
index 0000000000..ee5ff28843
--- /dev/null
+++ b/libs/math/doc/equations/expint_n_1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.002155pt" width="80.838902pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.649140 80.838902 30.002155"><svg:metadata><svgmath:metrics top="30.002154878" bottom="0.465026936762" baseline="7.35301521801" axis="11.337390218"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.268469, -3.984375)"><svg:text font-size="25.051643" text-anchor="middle" y="5.465710" x="3.467842" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(6.898988, 9.498601)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(6.898988, -14.737577)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(52.827222, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(8.869453, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(16.749961, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(23.242148, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(10.077012, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="28.011680" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_2.mml b/libs/math/doc/equations/expint_n_2.mml
index 37643d4966..37643d4966 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_2.mml
+++ b/libs/math/doc/equations/expint_n_2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_2.png b/libs/math/doc/equations/expint_n_2.png
index 0776a656f9..0776a656f9 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_2.png
+++ b/libs/math/doc/equations/expint_n_2.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_n_2.svg b/libs/math/doc/equations/expint_n_2.svg
new file mode 100644
index 0000000000..10fdf84fd9
--- /dev/null
+++ b/libs/math/doc/equations/expint_n_2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="41.388386pt" width="261.949663pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.222012 261.949663 41.388386"><svg:metadata><svgmath:metrics top="41.3883858502" bottom="0.0" baseline="17.1663741315" axis="21.1507491315"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.854406, -3.984375)"><svg:g transform="translate(2.390241, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.426426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.594394" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(79.034738, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.422523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(33.856766, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(49.190750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(66.241531, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(151.939027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(161.373269, -3.984375)"><svg:g transform="translate(7.809374, 0.000000)"><svg:text font-size="30.751565" text-anchor="middle" y="5.872941" x="10.961251" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">0,</svg:text></svg:g><svg:g transform="translate(15.367617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(19.540254, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.338008" font-family="Times New Roman" fill="black">≠</svg:text></svg:g><svg:g transform="translate(24.216270, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(28.476270, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(33.281250, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(15.733711, -16.310449)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(199.500457, -3.984375)"><svg:g transform="translate(13.807500, -4.166016)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.599070, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(26.644523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.078765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.074859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(50.070953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(57.281238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.449207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_3.mml b/libs/math/doc/equations/expint_n_3.mml
index a07a53b5c2..a07a53b5c2 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_3.mml
+++ b/libs/math/doc/equations/expint_n_3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_3.png b/libs/math/doc/equations/expint_n_3.png
index 98c4efb635..98c4efb635 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_3.png
+++ b/libs/math/doc/equations/expint_n_3.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_n_3.svg b/libs/math/doc/equations/expint_n_3.svg
new file mode 100644
index 0000000000..d24dfb405b
--- /dev/null
+++ b/libs/math/doc/equations/expint_n_3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="53.408959pt" width="238.938595pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.856738 238.938595 53.408959"><svg:metadata><svgmath:metrics top="53.4089592005" bottom="0.0" baseline="38.5522209192" axis="42.5365959192"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.854406, -3.984375)"><svg:g transform="translate(92.444282, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.048379)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(26.492180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.512359, -3.984375)"><svg:g transform="translate(78.569977, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 12.837667)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(31.661091, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.775418, -2.828906)"><svg:g transform="translate(48.028632, -2.846643)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.731333, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.416016, 12.131808)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(17.845047, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.134541, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(29.728724, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.408843, -2.656250)"><svg:g transform="translate(29.408195, -2.777327)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(18.731333, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.390625, 12.062492)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(17.845047, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.134541, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(29.728724, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.408843, -2.656250)"><svg:g transform="translate(10.813148, -2.777327)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(18.731333, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">8</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(17.845047, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.134541, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(29.728724, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.240442, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="47.021693" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="84.211786" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="121.452661" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="161.399954" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="199.084188" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_4.mml b/libs/math/doc/equations/expint_n_4.mml
index 54bda19e16..54bda19e16 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_4.mml
+++ b/libs/math/doc/equations/expint_n_4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_4.png b/libs/math/doc/equations/expint_n_4.png
index f65927b259..f65927b259 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_4.png
+++ b/libs/math/doc/equations/expint_n_4.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_n_4.svg b/libs/math/doc/equations/expint_n_4.svg
new file mode 100644
index 0000000000..694ae7469f
--- /dev/null
+++ b/libs/math/doc/equations/expint_n_4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="136.995015pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 136.995015 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.8387890625" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.268469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(47.659742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(57.093984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(72.427969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.811430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(98.245672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(106.238508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(115.672750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(123.278218, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_5.mml b/libs/math/doc/equations/expint_n_5.mml
index a888144ab0..a888144ab0 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_5.mml
+++ b/libs/math/doc/equations/expint_n_5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_5.png b/libs/math/doc/equations/expint_n_5.png
index 02d488994b..02d488994b 100644
--- a/libs/math/doc/sf_and_dist/equations/expint_n_5.png
+++ b/libs/math/doc/equations/expint_n_5.png
Binary files differ
diff --git a/libs/math/doc/equations/expint_n_5.svg b/libs/math/doc/equations/expint_n_5.svg
new file mode 100644
index 0000000000..bc1a7efa72
--- /dev/null
+++ b/libs/math/doc/equations/expint_n_5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.581348pt" width="105.842344pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.856738 105.842344 20.581348"><svg:metadata><svgmath:metrics top="20.5813476562" bottom="0.0417142185822" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.854406, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.821445, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="15.367500" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(55.807844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(25.706375, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.723633, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.038406, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.mml b/libs/math/doc/equations/exponential_dist_ref1.mml
index 74578c8327..74578c8327 100644
--- a/libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.mml
+++ b/libs/math/doc/equations/exponential_dist_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.png b/libs/math/doc/equations/exponential_dist_ref1.png
index aa303d207c..aa303d207c 100644
--- a/libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.png
+++ b/libs/math/doc/equations/exponential_dist_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/exponential_dist_ref1.svg b/libs/math/doc/equations/exponential_dist_ref1.svg
new file mode 100644
index 0000000000..e559d1aedf
--- /dev/null
+++ b/libs/math/doc/equations/exponential_dist_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="13.872773pt" width="82.621340pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.282930 82.621340 13.872773"><svg:metadata><svgmath:metrics top="13.8727734375" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.462891, 0.000000)"/><svg:g transform="translate(36.796227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.897141, 0.000000)"/><svg:g transform="translate(58.897141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(64.469406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(8.761289, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fisher_pdf.mml b/libs/math/doc/equations/fisher_pdf.mml
index 05a9a8a1ac..05a9a8a1ac 100644
--- a/libs/math/doc/sf_and_dist/equations/fisher_pdf.mml
+++ b/libs/math/doc/equations/fisher_pdf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/fisher_pdf.png b/libs/math/doc/equations/fisher_pdf.png
index d348548de9..d348548de9 100644
--- a/libs/math/doc/sf_and_dist/equations/fisher_pdf.png
+++ b/libs/math/doc/equations/fisher_pdf.png
Binary files differ
diff --git a/libs/math/doc/equations/fisher_pdf.svg b/libs/math/doc/equations/fisher_pdf.svg
new file mode 100644
index 0000000000..e649c9cccb
--- /dev/null
+++ b/libs/math/doc/equations/fisher_pdf.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="43.134209pt" width="164.427539pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.403779 164.427539 43.134209"><svg:metadata><svgmath:metrics top="43.1342091118" bottom="0.0" baseline="21.7304304383" axis="25.7148054383"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(5.214844, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(6.390000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(17.757715, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.474512, 0.000000)"/><svg:g transform="translate(46.807848, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.908762, 0.000000)"/><svg:g transform="translate(69.494699, -3.984375)"><svg:g transform="translate(24.393891, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(8.666016, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.304688, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.609375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.275391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(26.107422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(5.248047, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.053027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 20.923302)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(11.332680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(26.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(36.487625, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(40.483719, -11.184301)"><svg:g transform="translate(0.416016, -2.576882)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(16.953125, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(8.224609, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="20.449219" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(60.932937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(68.538406, -3.984375)"><svg:text font-size="19.305048" transform="scale(0.621599, 1)" text-anchor="middle" y="4.609457" x="3.214366" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.650937, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.561875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(8.733750, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.532373, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.324746" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(21.226465, 0.000000)"><svg:text font-size="19.305048" transform="scale(0.621599, 1)" text-anchor="middle" y="4.609457" x="3.214366" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="94.932840" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction1.mml b/libs/math/doc/equations/fraction1.mml
index 666587cae5..666587cae5 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction1.mml
+++ b/libs/math/doc/equations/fraction1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/fraction1.png b/libs/math/doc/equations/fraction1.png
index 4ddcbfe33e..4ddcbfe33e 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction1.png
+++ b/libs/math/doc/equations/fraction1.png
Binary files differ
diff --git a/libs/math/doc/equations/fraction1.svg b/libs/math/doc/equations/fraction1.svg
new file mode 100644
index 0000000000..7770ddeb63
--- /dev/null
+++ b/libs/math/doc/equations/fraction1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.601836pt" width="110.256393pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.587715 110.256393 49.601836"><svg:metadata><svgmath:metrics top="49.6018359375" bottom="0.0" baseline="36.0141210937" axis="39.9984960937"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.946844, -3.984375)"><svg:g transform="translate(38.524775, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.946844, -3.984375)"><svg:g transform="translate(27.465415, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.814238)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.267659, -2.828906)"><svg:g transform="translate(18.375648, -4.850566)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.014629)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(9.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.457896, -2.656250)"><svg:g transform="translate(0.390625, -4.687500)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="8.781250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(27.407547, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.919265, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="44.751297" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.190831" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="87.309549" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction2.mml b/libs/math/doc/equations/fraction2.mml
index 4932943b2e..4932943b2e 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction2.mml
+++ b/libs/math/doc/equations/fraction2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/fraction2.png b/libs/math/doc/equations/fraction2.png
index a04dadc4b1..a04dadc4b1 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction2.png
+++ b/libs/math/doc/equations/fraction2.png
Binary files differ
diff --git a/libs/math/doc/equations/fraction2.svg b/libs/math/doc/equations/fraction2.svg
new file mode 100644
index 0000000000..a475abe106
--- /dev/null
+++ b/libs/math/doc/equations/fraction2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.601836pt" width="87.309549pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.587715 87.309549 49.601836"><svg:metadata><svgmath:metrics top="49.6018359375" bottom="0.0" baseline="36.0141210937" axis="39.9984960937"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(38.524775, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.946844, -3.984375)"><svg:g transform="translate(27.465415, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.814238)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.267659, -2.828906)"><svg:g transform="translate(18.375648, -4.850566)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.014629)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(9.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.457896, -2.656250)"><svg:g transform="translate(0.390625, -4.687500)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="8.781250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(27.407547, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.919265, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="44.751297" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.190831" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="87.309549" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction3.mml b/libs/math/doc/equations/fraction3.mml
index cf7169439e..cf7169439e 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction3.mml
+++ b/libs/math/doc/equations/fraction3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/fraction3.png b/libs/math/doc/equations/fraction3.png
index 56550d9ae5..56550d9ae5 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction3.png
+++ b/libs/math/doc/equations/fraction3.png
Binary files differ
diff --git a/libs/math/doc/equations/fraction3.svg b/libs/math/doc/equations/fraction3.svg
new file mode 100644
index 0000000000..fecd64e9cb
--- /dev/null
+++ b/libs/math/doc/equations/fraction3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.997852pt" width="175.003335pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 175.003335 40.997852"><svg:metadata><svgmath:metrics top="40.9978515625" bottom="0.0" baseline="27.3044921875" axis="31.2888671875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="32.162109" font-family="Times New Roman" fill="black">Golden Ratio</svg:text><svg:g transform="translate(66.324223, 0.000000)"/><svg:g transform="translate(81.657559, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(91.758473, 0.000000)"/><svg:g transform="translate(104.344410, -3.984375)"><svg:g transform="translate(32.329462, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.941250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(23.270103, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.970488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(16.180336, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 10.264629)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(9.535372, -1.066406)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(14.289495, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="23.070745" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="36.360672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="50.800206" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="70.658924" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction4.mml b/libs/math/doc/equations/fraction4.mml
index eaed0f225e..eaed0f225e 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction4.mml
+++ b/libs/math/doc/equations/fraction4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/fraction4.png b/libs/math/doc/equations/fraction4.png
index c5300a3f1c..c5300a3f1c 100644
--- a/libs/math/doc/sf_and_dist/equations/fraction4.png
+++ b/libs/math/doc/equations/fraction4.png
Binary files differ
diff --git a/libs/math/doc/equations/fraction4.svg b/libs/math/doc/equations/fraction4.svg
new file mode 100644
index 0000000000..effb531006
--- /dev/null
+++ b/libs/math/doc/equations/fraction4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="59.783320pt" width="149.633101pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -10.746094 149.633101 59.783320"><svg:metadata><svgmath:metrics top="59.7833203125" bottom="0.0" baseline="49.0372265625" axis="53.0216015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.714844, 0.000000)"/><svg:g transform="translate(43.048180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(53.149094, 0.000000)"/><svg:g transform="translate(65.735031, -3.984375)"><svg:g transform="translate(39.417785, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 16.400547)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(28.222488, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.548613)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(21.112409, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.794922" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 13.842754)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">5</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(14.467445, -1.066406)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.794922" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 13.773438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">7</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(7.847872, -1.066406)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.794922" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">9</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(14.289495, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="23.070745" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="36.309891" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="49.599818" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="64.039351" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="83.898070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm1.mml b/libs/math/doc/equations/gamm1.mml
index d2a6842c72..d2a6842c72 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm1.mml
+++ b/libs/math/doc/equations/gamm1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamm1.png b/libs/math/doc/equations/gamm1.png
index fc6a5d58d2..fc6a5d58d2 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm1.png
+++ b/libs/math/doc/equations/gamm1.png
Binary files differ
diff --git a/libs/math/doc/equations/gamm1.svg b/libs/math/doc/equations/gamm1.svg
new file mode 100644
index 0000000000..7dcdc3d21d
--- /dev/null
+++ b/libs/math/doc/equations/gamm1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.310659pt" width="147.134832pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.817768 147.134832 30.310659"><svg:metadata><svgmath:metrics top="30.3106591535" bottom="0.0" baseline="10.4928909607" axis="14.4772659607"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.327148" font-family="Times New Roman" fill="black">tgamma</svg:text><svg:g transform="translate(40.654301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.042324, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.143238, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(75.539723, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(91.927746, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(102.028661, -3.984375)"><svg:g transform="translate(0.551601, 0.000000)"><svg:text font-size="18.049366" text-anchor="middle" y="5.374229" x="2.498533" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(0.906914, 14.377422)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(0.000000, -11.906206)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(108.102489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(124.359500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(137.044989, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(143.537176, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm2.mml b/libs/math/doc/equations/gamm2.mml
index 3ef375944d..3ef375944d 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm2.mml
+++ b/libs/math/doc/equations/gamm2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamm2.png b/libs/math/doc/equations/gamm2.png
index ff34caf026..ff34caf026 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm2.png
+++ b/libs/math/doc/equations/gamm2.png
Binary files differ
diff --git a/libs/math/doc/equations/gamm2.svg b/libs/math/doc/equations/gamm2.svg
new file mode 100644
index 0000000000..1e0c28c3a3
--- /dev/null
+++ b/libs/math/doc/equations/gamm2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="80.270619pt" width="454.349447pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -44.162748 454.349447 80.270619"><svg:metadata><svgmath:metrics top="80.2706194616" axis="40.0922460937" baseline="36.1078710937" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.722008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.822922, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.258561" transform="scale(0.786444, 1)" text-anchor="middle" y="3.281111" x="2.540610" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.828359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(24.489141, -3.984375)"><svg:text font-size="15.258561" transform="scale(0.786444, 1)" text-anchor="middle" y="3.281111" x="2.540610" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(64.308156, -3.984375)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="31.393555" text-anchor="middle" y="7.495824" x="11.190086" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.579597, 21.493574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.153172, -15.132695)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g><svg:g transform="translate(22.966109, 0.000000)"><svg:g transform="translate(6.282246, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.130566)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(4.354629, -6.999707)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="20.392852" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(46.611562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.631741, 0.000000)"><svg:g transform="translate(55.717400, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(24.335930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(33.770172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.436836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.457015, -3.984375)"><svg:g transform="translate(28.012163, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.720488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(10.502785, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.617112, -2.828906)"><svg:g transform="translate(18.733070, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.108379)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.786021, -2.656250)"><svg:g transform="translate(9.924044, -4.781250)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.617620, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line stroke-width="0.390625" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.398870" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="45.016922" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="63.805909" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="117.434799" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(178.648572, 0.000000)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(246.952822, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(253.620142, 0.000000)"/><svg:g transform="translate(265.620142, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(278.435646, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(288.536560, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(294.390076, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(326.336685, 0.000000)"/><svg:g transform="translate(341.670021, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(354.542420, 0.000000)"/><svg:g transform="translate(366.542420, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(380.523939, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(390.624853, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(396.859877, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(406.294119, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(414.960783, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(424.395025, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(430.395025, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(438.915205, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(448.349447, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm3.mml b/libs/math/doc/equations/gamm3.mml
index 9d5178d508..9d5178d508 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm3.mml
+++ b/libs/math/doc/equations/gamm3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamm3.png b/libs/math/doc/equations/gamm3.png
index d09452ee3c..d09452ee3c 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm3.png
+++ b/libs/math/doc/equations/gamm3.png
Binary files differ
diff --git a/libs/math/doc/equations/gamm3.svg b/libs/math/doc/equations/gamm3.svg
new file mode 100644
index 0000000000..953be1c25d
--- /dev/null
+++ b/libs/math/doc/equations/gamm3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.271472pt" width="76.195313pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 76.195313 19.271472"><svg:metadata><svgmath:metrics top="19.2714717877" bottom="0.0" baseline="2.77734375" axis="6.76171875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.784508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.471359, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(17.830727, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="40.723953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm4.mml b/libs/math/doc/equations/gamm4.mml
index 84b5298407..84b5298407 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm4.mml
+++ b/libs/math/doc/equations/gamm4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamm4.png b/libs/math/doc/equations/gamm4.png
index 632255dac3..632255dac3 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm4.png
+++ b/libs/math/doc/equations/gamm4.png
Binary files differ
diff --git a/libs/math/doc/equations/gamm4.svg b/libs/math/doc/equations/gamm4.svg
new file mode 100644
index 0000000000..48cbb11217
--- /dev/null
+++ b/libs/math/doc/equations/gamm4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.857500pt" width="67.009797pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 67.009797 20.857500"><svg:metadata><svgmath:metrics top="20.8575" bottom="0.0" baseline="7.164140625" axis="11.148515625"/></svg:metadata><svg:g transform="translate(0.186211, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.000977" font-family="Times New Roman" fill="black">lim</svg:text></svg:g><svg:g transform="translate(0.000000, 7.064297)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="4.260000" font-family="Times New Roman" fill="black">→</svg:text></svg:g><svg:g transform="translate(12.114375, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(16.374375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.447266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(49.151070, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.837922, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(1.054688, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm5.mml b/libs/math/doc/equations/gamm5.mml
index 1d3a8de959..1d3a8de959 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm5.mml
+++ b/libs/math/doc/equations/gamm5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamm5.png b/libs/math/doc/equations/gamm5.png
index d4151ec42e..d4151ec42e 100644
--- a/libs/math/doc/sf_and_dist/equations/gamm5.png
+++ b/libs/math/doc/equations/gamm5.png
Binary files differ
diff --git a/libs/math/doc/equations/gamm5.svg b/libs/math/doc/equations/gamm5.svg
new file mode 100644
index 0000000000..7893a9b60e
--- /dev/null
+++ b/libs/math/doc/equations/gamm5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.412097pt" width="116.137370pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -10.886719 116.137370 19.412097"><svg:metadata><svgmath:metrics top="19.4120967877" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.218753, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.986331, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(55.006511, -3.984375)"><svg:g transform="translate(27.372070, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.451172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(35.455078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(15.445313, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(54.896484, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="61.130859" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/gamma6.mml b/libs/math/doc/equations/gamma6.mml
new file mode 100644
index 0000000000..f1c8421796
--- /dev/null
+++ b/libs/math/doc/equations/gamma6.mml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mi>ln</mi>
+ <mo stretchy="false">Γ</mo>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">≈</mo>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ <mo stretchy="false">−</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ </mrow>
+ <mi>ln</mi>
+ <mrow>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">−</mo>
+ <mi>z</mi>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mrow>
+ <mi>ln</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mn>2</mn>
+ <mo stretchy="false">Ï€</mo>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">+</mo>
+ <mrow>
+ <munderover>
+ <mo stretchy="false">∑</mo>
+ <mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo stretchy="false">=</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">∞</mo>
+ </mrow>
+ </munderover>
+ <mrow>
+ <mfrac>
+ <msub>
+ <mi>B</mi>
+ <mrow>
+ <mn>2k</mn>
+ </mrow>
+ </msub>
+ <mrow>
+ <mn>2k</mn>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mn>2k</mn>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <msup>
+ <mi>z</mi>
+ <mrow>
+ <mrow>
+ <mn>2k</mn>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/gamma6.png b/libs/math/doc/equations/gamma6.png
new file mode 100644
index 0000000000..8987d6d0b1
--- /dev/null
+++ b/libs/math/doc/equations/gamma6.png
Binary files differ
diff --git a/libs/math/doc/equations/gamma6.svg b/libs/math/doc/equations/gamma6.svg
new file mode 100644
index 0000000000..e0d4cef82a
--- /dev/null
+++ b/libs/math/doc/equations/gamma6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.624805pt" width="266.766260pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.822031 266.766260 23.624805"><svg:metadata><svgmath:metrics top="23.6248046875" bottom="0.0" baseline="8.8027734375" axis="12.7871484375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(12.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.468750" font-family="Times New Roman" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(22.938156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.388023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(26.307297, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.749344, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(27.763250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(81.004797, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(90.338781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(15.721352, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.155594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(32.884758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(42.904937, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(139.261531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(148.595516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(9.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.029297" font-family="Times New Roman" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(22.721359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.384117, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(38.818359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="4.277344" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.554688, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(8.554688, -4.579453)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="3.036914" font-family="Times New Roman" fill="black">∞</svg:text></svg:g><svg:g transform="translate(22.361602, 0.000000)"><svg:g transform="translate(21.772013, -5.196484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(5.399883, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.000000" font-family="Times New Roman" fill="black">2k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.965000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2k</svg:text><svg:g transform="translate(8.569922, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2k</svg:text><svg:g transform="translate(10.463253, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.161565, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(24.258792, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.665940, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.000000" font-family="Times New Roman" fill="black">2k</svg:text><svg:g transform="translate(8.046875, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.558594, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="56.990784" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.mml b/libs/math/doc/equations/gamma_dist_ref1.mml
index f67ba1ffd3..f67ba1ffd3 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.mml
+++ b/libs/math/doc/equations/gamma_dist_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.png b/libs/math/doc/equations/gamma_dist_ref1.png
index 8a010abd19..8a010abd19 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.png
+++ b/libs/math/doc/equations/gamma_dist_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/gamma_dist_ref1.svg b/libs/math/doc/equations/gamma_dist_ref1.svg
new file mode 100644
index 0000000000..634f368ef4
--- /dev/null
+++ b/libs/math/doc/equations/gamma_dist_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.110511pt" width="137.244246pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.645966 137.244246 33.110511"><svg:metadata><svgmath:metrics top="33.1105113115" bottom="0.0" baseline="11.464545138" axis="15.448920138"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.268883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.268879, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(35.352863, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.563805, 0.000000)"/><svg:g transform="translate(61.897141, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.998055, 0.000000)"/><svg:g transform="translate(83.998055, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(103.546219, -3.984375)"><svg:g transform="translate(9.130117, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.426489)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.537109, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.420649)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.964844" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.890625" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.882539)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(10.260527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(18.657012, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.698027" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.mml b/libs/math/doc/equations/gamma_dist_ref2.mml
index d01a24ea1a..d01a24ea1a 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.mml
+++ b/libs/math/doc/equations/gamma_dist_ref2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.png b/libs/math/doc/equations/gamma_dist_ref2.png
index b26b960216..b26b960216 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.png
+++ b/libs/math/doc/equations/gamma_dist_ref2.png
Binary files differ
diff --git a/libs/math/doc/equations/gamma_dist_ref2.svg b/libs/math/doc/equations/gamma_dist_ref2.svg
new file mode 100644
index 0000000000..e4a5957378
--- /dev/null
+++ b/libs/math/doc/equations/gamma_dist_ref2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.325749pt" width="136.708875pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.800371 136.708875 29.325749"><svg:metadata><svgmath:metrics top="29.3257491315" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(36.583332, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.794274, 0.000000)"/><svg:g transform="translate(63.127610, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.228524, 0.000000)"/><svg:g transform="translate(85.228524, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.277148, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(105.076219, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(6.896484, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(11.368652, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.691621" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(9.701484, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(4.472578, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(10.294922, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.632656" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_ratio0.mml b/libs/math/doc/equations/gamma_ratio0.mml
index 2a04b16fdb..2a04b16fdb 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_ratio0.mml
+++ b/libs/math/doc/equations/gamma_ratio0.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_ratio0.png b/libs/math/doc/equations/gamma_ratio0.png
index 137f4f3a54..137f4f3a54 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_ratio0.png
+++ b/libs/math/doc/equations/gamma_ratio0.png
Binary files differ
diff --git a/libs/math/doc/equations/gamma_ratio0.svg b/libs/math/doc/equations/gamma_ratio0.svg
new file mode 100644
index 0000000000..a31e30d63f
--- /dev/null
+++ b/libs/math/doc/equations/gamma_ratio0.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="152.543629pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 152.543629 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="44.481445" font-family="Times New Roman" fill="black">tgamma_ratio(a,b)</svg:text><svg:g transform="translate(90.962895, 0.000000)"/><svg:g transform="translate(106.296231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(116.397145, 0.000000)"/><svg:g transform="translate(128.983082, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.560547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_ratio1.mml b/libs/math/doc/equations/gamma_ratio1.mml
index ba8645667f..ba8645667f 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_ratio1.mml
+++ b/libs/math/doc/equations/gamma_ratio1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_ratio1.png b/libs/math/doc/equations/gamma_ratio1.png
index cf6c5ac568..cf6c5ac568 100644
--- a/libs/math/doc/sf_and_dist/equations/gamma_ratio1.png
+++ b/libs/math/doc/equations/gamma_ratio1.png
Binary files differ
diff --git a/libs/math/doc/equations/gamma_ratio1.svg b/libs/math/doc/equations/gamma_ratio1.svg
new file mode 100644
index 0000000000..e8b0acd780
--- /dev/null
+++ b/libs/math/doc/equations/gamma_ratio1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="236.269535pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 236.269535 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="67.801758" font-family="Times New Roman" fill="black">tgamma_delta_ratio(a,delta)</svg:text><svg:g transform="translate(137.603520, 0.000000)"/><svg:g transform="translate(152.936856, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(163.037770, 0.000000)"/><svg:g transform="translate(175.623707, -3.984375)"><svg:g transform="translate(19.128578, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(24.593094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(29.919266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(33.487625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(37.085281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(47.081375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="60.645828" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/generate.sh b/libs/math/doc/equations/generate.sh
new file mode 100755
index 0000000000..a06e0b020e
--- /dev/null
+++ b/libs/math/doc/equations/generate.sh
@@ -0,0 +1,32 @@
+# Copyright John Maddock 2008.
+# Use, modification and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#
+# Generates SVG and PNG files from the MML masters.
+#
+# Paths to tools come first, change these to match your system:
+#
+math2svg='m:\download\open\SVGMath-0.3.1\math2svg.py'
+python='/cygdrive/c/program files/Python27/python.exe'
+inkscape='/cygdrive/c/Program Files (x86)/Inkscape/inkscape.exe'
+# Image DPI:
+dpi=120
+
+for mmlfile in $*; do
+ svgfile=$(basename $mmlfile .mml).svg
+ pngfile=$(basename $svgfile .svg).png
+ tempfile=temp.mml
+ # strip html wrappers put in by MathCast:
+ cat $mmlfile | tr -d "\r\n" | sed -e 's/.*\(<math[^>]*>.*<\/math>\).*/\1/' -e 's/<semantics>//g' -e 's/<\/semantics>//g' > $tempfile
+
+ echo Generating $svgfile
+ "$python" $math2svg $tempfile > $svgfile
+ echo Generating $pngfile
+ "$inkscape" -d $dpi -e $(cygpath -a -w $pngfile) $(cygpath -a -w $svgfile)
+ rm $tempfile
+done
+
+
+
+
diff --git a/libs/math/doc/sf_and_dist/equations/hankel1.mml b/libs/math/doc/equations/hankel1.mml
index d10ee157f6..d10ee157f6 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel1.mml
+++ b/libs/math/doc/equations/hankel1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hankel1.png b/libs/math/doc/equations/hankel1.png
index 7ec65d9b66..7ec65d9b66 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel1.png
+++ b/libs/math/doc/equations/hankel1.png
Binary files differ
diff --git a/libs/math/doc/equations/hankel1.svg b/libs/math/doc/equations/hankel1.svg
new file mode 100644
index 0000000000..e29216685a
--- /dev/null
+++ b/libs/math/doc/equations/hankel1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.207942pt" width="130.405924pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -9.685559 130.405924 14.207942"><svg:metadata><svgmath:metrics top="14.2079422748" axis="8.5067578125" baseline="4.5223828125" bottom="1.7389453125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.243171, 0.000000)"/><svg:g transform="translate(46.576507, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.677421, 0.000000)"/><svg:g transform="translate(68.677421, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(24.270515, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(24.270515, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(37.919577, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(37.919577, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel2.mml b/libs/math/doc/equations/hankel2.mml
index 1b46c4f6ac..1b46c4f6ac 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel2.mml
+++ b/libs/math/doc/equations/hankel2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hankel2.png b/libs/math/doc/equations/hankel2.png
index 614f7efbda..614f7efbda 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel2.png
+++ b/libs/math/doc/equations/hankel2.png
Binary files differ
diff --git a/libs/math/doc/equations/hankel2.svg b/libs/math/doc/equations/hankel2.svg
new file mode 100644
index 0000000000..70f70ab696
--- /dev/null
+++ b/libs/math/doc/equations/hankel2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.436445pt" width="358.626919pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -9.914063 358.626919 14.436445"><svg:metadata><svgmath:metrics top="14.2211274555" axis="8.5067578125" baseline="4.5223828125" bottom="1.7389453125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.274421, 0.000000)"/><svg:g transform="translate(47.607757, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.708671, 0.000000)"/><svg:g transform="translate(69.708671, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.844082, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(8.844082, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.684258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(33.684258, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(65.426417, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(74.860659, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.501625" transform="scale(0.888782, 1)" text-anchor="middle" y="3.660294" x="2.248073" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(24.270515, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(24.270515, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(40.586241, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(50.020483, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(29.075495, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(29.075495, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(91.936155, -3.984375)"><svg:text font-size="13.501625" transform="scale(0.888782, 1)" text-anchor="middle" y="3.660294" x="2.248073" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(95.932248, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(95.932248, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(119.741174, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(119.741174, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">cot</svg:text><svg:g transform="translate(14.677734, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(298.693317, 0.000000)"/><svg:g transform="translate(310.693317, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(317.360637, 0.000000)"/><svg:g transform="translate(329.360637, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(8.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∉</svg:text></svg:g><svg:g transform="translate(21.531906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.867188" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℤ</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel3.mml b/libs/math/doc/equations/hankel3.mml
index 8b23d8f663..8b23d8f663 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel3.mml
+++ b/libs/math/doc/equations/hankel3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hankel3.png b/libs/math/doc/equations/hankel3.png
index af2605a4be..af2605a4be 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel3.png
+++ b/libs/math/doc/equations/hankel3.png
Binary files differ
diff --git a/libs/math/doc/equations/hankel3.svg b/libs/math/doc/equations/hankel3.svg
new file mode 100644
index 0000000000..a8b4eca20c
--- /dev/null
+++ b/libs/math/doc/equations/hankel3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.235308pt" width="316.627634pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.712925 316.627634 18.235308"><svg:metadata><svgmath:metrics top="18.2353079686" axis="8.5067578125" baseline="4.5223828125" bottom="0.0391315621643"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.274421, 0.000000)"/><svg:g transform="translate(47.607757, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.708671, 0.000000)"/><svg:g transform="translate(69.708671, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(25.208015, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(25.208015, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="20.035360" transform="scale(0.598941, 1)" text-anchor="middle" y="4.182720" x="3.335966" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.506840, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.527019, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.144531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(8.144531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.055336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(40.489578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(80.308589, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(92.449214, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(92.449214, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(157.781253, -3.984375)"><svg:text font-size="20.035360" transform="scale(0.598941, 1)" text-anchor="middle" y="4.182720" x="3.335966" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(256.694033, 0.000000)"/><svg:g transform="translate(268.694033, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(275.361353, 0.000000)"/><svg:g transform="translate(287.361353, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(8.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∈</svg:text></svg:g><svg:g transform="translate(21.531906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.867188" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℤ</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel4.mml b/libs/math/doc/equations/hankel4.mml
index 43bb18bde7..43bb18bde7 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel4.mml
+++ b/libs/math/doc/equations/hankel4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hankel4.png b/libs/math/doc/equations/hankel4.png
index f1ba66f465..f1ba66f465 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel4.png
+++ b/libs/math/doc/equations/hankel4.png
Binary files differ
diff --git a/libs/math/doc/equations/hankel4.svg b/libs/math/doc/equations/hankel4.svg
new file mode 100644
index 0000000000..24c7d98606
--- /dev/null
+++ b/libs/math/doc/equations/hankel4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.579091pt" width="142.473383pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.091328 142.473383 23.579091"><svg:metadata><svgmath:metrics top="23.5790911735" axis="13.4721380485" baseline="9.48776304854" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(6.000000, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.934453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.651250, 0.000000)"/><svg:g transform="translate(44.984586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.085500, 0.000000)"/><svg:g transform="translate(67.565500, -3.984375)"><svg:g transform="translate(12.908203, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -0.438984 L 4.200469 -0.438984 L 8.794429 8.068349 L 8.715400 8.588667 L 3.970069 -0.198984 L 3.610069 -0.198984 L 8.701172 9.228984 L 11.601563 -9.866953 L 21.773438 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(90.404875, -3.984375)"><svg:g transform="translate(3.941168, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 12.710461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.882336" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.873149, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.002578, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(10.048828, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(128.756586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel5.mml b/libs/math/doc/equations/hankel5.mml
index 70935cb0aa..70935cb0aa 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel5.mml
+++ b/libs/math/doc/equations/hankel5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hankel5.png b/libs/math/doc/equations/hankel5.png
index 822dac13e6..822dac13e6 100644
--- a/libs/math/doc/sf_and_dist/equations/hankel5.png
+++ b/libs/math/doc/equations/hankel5.png
Binary files differ
diff --git a/libs/math/doc/equations/hankel5.svg b/libs/math/doc/equations/hankel5.svg
new file mode 100644
index 0000000000..06d05e60b3
--- /dev/null
+++ b/libs/math/doc/equations/hankel5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.579091pt" width="142.473383pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.091328 142.473383 23.579091"><svg:metadata><svgmath:metrics top="23.5790911735" axis="13.4721380485" baseline="9.48776304854" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(6.000000, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.934453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.651250, 0.000000)"/><svg:g transform="translate(44.984586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.085500, 0.000000)"/><svg:g transform="translate(67.565500, -3.984375)"><svg:g transform="translate(12.908203, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -0.438984 L 4.200469 -0.438984 L 8.794429 8.068349 L 8.715400 8.588667 L 3.970069 -0.198984 L 3.610069 -0.198984 L 8.701172 9.228984 L 11.601563 -9.866953 L 21.773438 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(90.404875, -3.984375)"><svg:g transform="translate(3.941168, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 12.710461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.882336" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.873149, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.002578, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(10.048828, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(128.756586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hazard.mml b/libs/math/doc/equations/hazard.mml
index 0b0502cb82..0b0502cb82 100644
--- a/libs/math/doc/sf_and_dist/equations/hazard.mml
+++ b/libs/math/doc/equations/hazard.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hazard.png b/libs/math/doc/equations/hazard.png
index b30dc8e6da..b30dc8e6da 100644
--- a/libs/math/doc/sf_and_dist/equations/hazard.png
+++ b/libs/math/doc/equations/hazard.png
Binary files differ
diff --git a/libs/math/doc/equations/hazard.svg b/libs/math/doc/equations/hazard.svg
new file mode 100644
index 0000000000..6145b431e5
--- /dev/null
+++ b/libs/math/doc/equations/hazard.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019531pt" width="196.422543pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494153 196.422543 25.019531"><svg:metadata><svgmath:metrics top="25.01953125" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="15.987305" font-family="Times New Roman" fill="black">hazard</svg:text><svg:g transform="translate(34.003910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.720707, 0.000000)"/><svg:g transform="translate(63.054043, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.154957, 0.000000)"/><svg:g transform="translate(85.154957, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(91.154957, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(104.871754, 0.000000)"/><svg:g transform="translate(120.205090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(130.306004, 0.000000)"/><svg:g transform="translate(142.891942, -3.984375)"><svg:g transform="translate(10.278971, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.039063" font-family="Times New Roman" fill="black">pdf</svg:text><svg:g transform="translate(19.255863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(20.100910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.661133" font-family="Times New Roman" fill="black">cdf</svg:text></svg:g><svg:g transform="translate(38.641930, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="53.530602" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hermite_0.mml b/libs/math/doc/equations/hermite_0.mml
index abc2439e77..abc2439e77 100644
--- a/libs/math/doc/sf_and_dist/equations/hermite_0.mml
+++ b/libs/math/doc/equations/hermite_0.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hermite_0.png b/libs/math/doc/equations/hermite_0.png
index ccc022ef0d..ccc022ef0d 100644
--- a/libs/math/doc/sf_and_dist/equations/hermite_0.png
+++ b/libs/math/doc/equations/hermite_0.png
Binary files differ
diff --git a/libs/math/doc/equations/hermite_0.svg b/libs/math/doc/equations/hermite_0.svg
new file mode 100644
index 0000000000..00b1f7b115
--- /dev/null
+++ b/libs/math/doc/equations/hermite_0.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="231.354566pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 231.354566 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="18.325195" font-family="Times New Roman" fill="black">hermite</svg:text><svg:g transform="translate(38.650395, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.367191, 0.000000)"/><svg:g transform="translate(67.700527, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(77.801442, 0.000000)"/><svg:g transform="translate(89.801442, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(104.110270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(117.827067, 0.000000)"/><svg:g transform="translate(133.160403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(143.261317, 0.000000)"/><svg:g transform="translate(155.261317, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(180.947750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(194.924332, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.648672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(213.158941, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hermite_1.mml b/libs/math/doc/equations/hermite_1.mml
index 4ef3e8c6ac..4ef3e8c6ac 100644
--- a/libs/math/doc/sf_and_dist/equations/hermite_1.mml
+++ b/libs/math/doc/equations/hermite_1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hermite_1.png b/libs/math/doc/equations/hermite_1.png
index ce44420251..ce44420251 100644
--- a/libs/math/doc/sf_and_dist/equations/hermite_1.png
+++ b/libs/math/doc/equations/hermite_1.png
Binary files differ
diff --git a/libs/math/doc/equations/hermite_1.svg b/libs/math/doc/equations/hermite_1.svg
new file mode 100644
index 0000000000..4f8aa84e62
--- /dev/null
+++ b/libs/math/doc/equations/hermite_1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="175.466602pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 175.466602 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(23.373809, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.090605, 0.000000)"/><svg:g transform="translate(52.423941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.524856, 0.000000)"/><svg:g transform="translate(74.524856, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(80.524856, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(86.249465, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(100.558293, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(116.941754, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(126.375996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(132.375996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(138.375996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(161.749805, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hyperexponential_ccdf.mml b/libs/math/doc/equations/hyperexponential_ccdf.mml
new file mode 100644
index 0000000000..0931a49c20
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_ccdf.mml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msup>
+ <mi>e</mi>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mo>&#x2212;<!-- − --></mo>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ <mi>x</mi>
+ </mrow>
+ </msup>
+</math>
diff --git a/libs/math/doc/equations/hyperexponential_ccdf.png b/libs/math/doc/equations/hyperexponential_ccdf.png
new file mode 100644
index 0000000000..d748afd2bd
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_ccdf.png
Binary files differ
diff --git a/libs/math/doc/equations/hyperexponential_ccdf.svg b/libs/math/doc/equations/hyperexponential_ccdf.svg
new file mode 100644
index 0000000000..ddbcd8ccc2
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_ccdf.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.821348pt" width="44.201165pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.371934 44.201165 33.821348"><svg:metadata><svgmath:metrics top="33.8213476562" axis="16.4337890625" baseline="12.4494140625" bottom="0.0"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.266402" text-anchor="middle" y="4.679927" x="7.580309" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.864255, 16.333945)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(5.502311, -11.471816)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(15.160618, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(23.826575, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -8.133965)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(10.983945, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hyperexponential_cdf.mml b/libs/math/doc/equations/hyperexponential_cdf.mml
new file mode 100644
index 0000000000..5bbd2205e4
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_cdf.mml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mn>1</mn>
+ <mo>&#x2212;<!-- − --></mo>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msup>
+ <mi>e</mi>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mo>&#x2212;<!-- − --></mo>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ <mi>x</mi>
+ </mrow>
+ </msup>
+</math>
diff --git a/libs/math/doc/equations/hyperexponential_cdf.png b/libs/math/doc/equations/hyperexponential_cdf.png
new file mode 100644
index 0000000000..f2f846c6a8
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_cdf.png
Binary files differ
diff --git a/libs/math/doc/equations/hyperexponential_cdf.svg b/libs/math/doc/equations/hyperexponential_cdf.svg
new file mode 100644
index 0000000000..b2ecea5962
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_cdf.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.821348pt" width="62.302071pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.371934 62.302071 33.821348"><svg:metadata><svgmath:metrics top="33.8213476562" axis="16.4337890625" baseline="12.4494140625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, -3.984375)"><svg:text font-size="21.266402" text-anchor="middle" y="4.679927" x="7.580309" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.864255, 16.333945)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(5.502311, -11.471816)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(33.261525, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(41.927482, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -8.133965)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(10.983945, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hyperexponential_kurtosis.mml b/libs/math/doc/equations/hyperexponential_kurtosis.mml
new file mode 100644
index 0000000000..7878b819af
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_kurtosis.mml
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+<mfrac>
+ <mrow>
+ <mn>24</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>4</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mo>&#x2212;<!-- − --></mo>
+ <mn>24</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>3</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mo>+</mo>
+ <mn>3</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.470em" minsize="2.470em">(</mo>
+ </mrow>
+ <mn>2</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.047em" minsize="2.047em">(</mo>
+ </mrow>
+ <mn>2</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>2</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mo>&#x2212;<!-- − --></mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.047em" minsize="2.047em">)</mo>
+ </mrow>
+ <mo>+</mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.470em" minsize="2.470em">)</mo>
+ </mrow>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ <mrow>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.047em" minsize="2.047em">(</mo>
+ </mrow>
+ <mn>2</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>2</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mo>&#x2212;<!-- − --></mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.047em" minsize="2.047em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+</mfrac>
+</math>
diff --git a/libs/math/doc/equations/hyperexponential_kurtosis.png b/libs/math/doc/equations/hyperexponential_kurtosis.png
new file mode 100644
index 0000000000..767db32212
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_kurtosis.png
Binary files differ
diff --git a/libs/math/doc/equations/hyperexponential_kurtosis.svg b/libs/math/doc/equations/hyperexponential_kurtosis.svg
new file mode 100644
index 0000000000..9d71d06541
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_kurtosis.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="62.649654pt" width="474.372777pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.780059 474.372777 62.649654"><svg:metadata><svgmath:metrics top="62.6496542969" axis="30.8539707031" baseline="26.8695957031" bottom="0.0"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -12.995469)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.000000" font-family="Times New Roman" fill="black">24</svg:text><svg:g transform="translate(12.000000, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(15.996094, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(49.586762, -3.984375)"><svg:g transform="translate(1.216680, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(3.956309, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.128184" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(59.300883, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(65.963641, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(75.397883, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.000000" font-family="Times New Roman" fill="black">24</svg:text></svg:g><svg:g transform="translate(87.397883, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(91.393977, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(124.984645, -3.984375)"><svg:g transform="translate(1.216680, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(3.956309, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.128184" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(134.698767, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(138.694860, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(142.690954, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(176.281623, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(184.734259, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(191.397017, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(200.831259, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(206.831259, -3.984375)"><svg:text font-size="29.640000" transform="scale(0.404858, 1)" text-anchor="middle" y="7.077129" x="4.935176" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(210.827353, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(216.827353, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(220.823447, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(226.823447, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(230.819540, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(264.410209, -3.984375)"><svg:g transform="translate(1.216680, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(3.956309, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.128184" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(274.124330, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(280.787088, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(290.221330, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(294.217424, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(327.808092, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(336.260729, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -4.456752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(344.516823, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(351.179580, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(360.613823, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(364.609916, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(398.200585, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(406.653221, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -4.456752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(414.909315, -3.984375)"><svg:text font-size="29.640000" transform="scale(0.404858, 1)" text-anchor="middle" y="7.077129" x="4.935176" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(418.905409, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(422.901503, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(456.492171, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(464.944808, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -4.456752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(169.952007, 19.458111)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(13.992188, -3.984375)"><svg:text font-size="29.224990" text-anchor="middle" y="7.731091" x="10.417111" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(20.834222, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.834222, -7.958385)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(46.844456, -3.984375)"><svg:g transform="translate(1.216680, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(3.956309, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.128184" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(56.558577, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(63.221335, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(72.655577, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(76.651671, -3.984375)"><svg:text font-size="29.224990" text-anchor="middle" y="7.731091" x="10.417111" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(20.834222, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.834222, -7.958385)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(109.503939, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(117.956576, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -4.456752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(126.212670, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -6.774674)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="474.372777" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hyperexponential_mean.mml b/libs/math/doc/equations/hyperexponential_mean.mml
new file mode 100644
index 0000000000..4b3383847f
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_mean.mml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+</math>
diff --git a/libs/math/doc/equations/hyperexponential_mean.png b/libs/math/doc/equations/hyperexponential_mean.png
new file mode 100644
index 0000000000..020243dc85
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_mean.png
Binary files differ
diff --git a/libs/math/doc/equations/hyperexponential_mean.svg b/libs/math/doc/equations/hyperexponential_mean.svg
new file mode 100644
index 0000000000..3ff5ac2a3c
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_mean.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="39.916523pt" width="30.363634pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.021680 30.363634 39.916523"><svg:metadata><svgmath:metrics top="39.9165234375" axis="19.87921875" baseline="15.89484375" bottom="0.0"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="27.970440" text-anchor="middle" y="6.678489" x="9.969932" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.253878, 19.779375)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.891934, -14.121562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(20.525802, 0.000000)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.949219, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.837832" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hyperexponential_pdf.mml b/libs/math/doc/equations/hyperexponential_pdf.mml
new file mode 100644
index 0000000000..b67dad360a
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_pdf.mml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ <msup>
+ <mi>e</mi>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mo>&#x2212;<!-- − --></mo>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ <mi>x</mi>
+ </mrow>
+ </msup>
+</math>
diff --git a/libs/math/doc/equations/hyperexponential_pdf.png b/libs/math/doc/equations/hyperexponential_pdf.png
new file mode 100644
index 0000000000..a3df320294
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_pdf.png
Binary files differ
diff --git a/libs/math/doc/equations/hyperexponential_pdf.svg b/libs/math/doc/equations/hyperexponential_pdf.svg
new file mode 100644
index 0000000000..f15ba79de7
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_pdf.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.821348pt" width="52.140560pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.371934 52.140560 33.821348"><svg:metadata><svgmath:metrics top="33.8213476562" axis="16.4337890625" baseline="12.4494140625" bottom="0.0"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.266402" text-anchor="middle" y="4.679927" x="7.580309" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.864255, 16.333945)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(5.502311, -11.471816)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(15.160618, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(23.826575, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(31.765970, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -8.133965)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(10.983945, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hyperexponential_skewness.mml b/libs/math/doc/equations/hyperexponential_skewness.mml
new file mode 100644
index 0000000000..3a55d36fa5
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_skewness.mml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+<mfrac>
+ <mrow>
+ <mn>6</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>3</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mo>&#x2212;<!-- − --></mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.470em" minsize="2.470em">(</mo>
+ </mrow>
+ <mn>3</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.047em" minsize="2.047em">(</mo>
+ </mrow>
+ <mn>2</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>2</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mo>&#x2212;<!-- − --></mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.047em" minsize="2.047em">)</mo>
+ </mrow>
+ <mo>+</mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.470em" minsize="2.470em">)</mo>
+ </mrow>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.047em" minsize="2.047em">(</mo>
+ </mrow>
+ <mn>2</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>2</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mo>&#x2212;<!-- − --></mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="1.623em" minsize="1.623em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="1.623em" minsize="1.623em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.047em" minsize="2.047em">)</mo>
+ </mrow>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mfrac>
+ <mn>3</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mrow>
+</mfrac>
+</math>
diff --git a/libs/math/doc/equations/hyperexponential_skewness.png b/libs/math/doc/equations/hyperexponential_skewness.png
new file mode 100644
index 0000000000..8ac6463f80
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_skewness.png
Binary files differ
diff --git a/libs/math/doc/equations/hyperexponential_skewness.svg b/libs/math/doc/equations/hyperexponential_skewness.svg
new file mode 100644
index 0000000000..8e16b6288b
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_skewness.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="63.683212pt" width="332.679401pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.780059 332.679401 63.683212"><svg:metadata><svgmath:metrics top="63.6832122673" axis="31.8875286735" baseline="27.9031536735" bottom="0.0"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -12.995469)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(43.586762, -3.984375)"><svg:g transform="translate(1.216680, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(3.956309, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.128184" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(53.300883, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(59.963641, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(69.397883, -3.984375)"><svg:text font-size="29.640000" transform="scale(0.404858, 1)" text-anchor="middle" y="7.077129" x="4.935176" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(73.393977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(79.393977, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(83.390071, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(89.390071, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(93.386164, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(126.976833, -3.984375)"><svg:g transform="translate(1.216680, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(3.956309, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.128184" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(136.690954, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(143.353712, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(152.787954, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(156.784048, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(190.374716, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(198.827353, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -4.456752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(207.083447, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(213.746204, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(223.180447, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(227.176540, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(260.767209, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(269.219846, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -4.456752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(277.475939, -3.984375)"><svg:text font-size="29.640000" transform="scale(0.404858, 1)" text-anchor="middle" y="7.077129" x="4.935176" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(281.472033, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(285.468127, -3.984375)"><svg:text font-size="30.260773" text-anchor="middle" y="7.507548" x="10.786311" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.572622, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.572622, -8.900098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(319.058795, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(327.511432, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(98.008887, 20.491669)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(13.992188, -3.984375)"><svg:text font-size="30.361793" text-anchor="middle" y="7.485746" x="10.822319" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.644638, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.644638, -8.991943)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(47.654872, -3.984375)"><svg:g transform="translate(1.216680, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(3.956309, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.128184" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.368993, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(64.031751, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(73.465993, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(77.462087, -3.984375)"><svg:text font-size="30.361793" text-anchor="middle" y="7.485746" x="10.822319" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(21.644638, 15.280391)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.644638, -8.991943)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(111.124771, -3.984375)"><svg:g transform="translate(0.585938, -4.821484)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.843867, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.866699" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(119.577408, -3.984375)"><svg:text font-size="19.476000" transform="scale(0.616143, 1)" text-anchor="middle" y="4.650275" x="3.242830" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -4.456752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(127.833502, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -7.199926)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="332.679401" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hyperexponential_variance.mml b/libs/math/doc/equations/hyperexponential_variance.mml
new file mode 100644
index 0000000000..6443129ac0
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_variance.mml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mn>2</mn>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.047em" minsize="2.047em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msubsup>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ <mn>2</mn>
+ </msubsup>
+ </mfrac>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.047em" minsize="2.047em">)</mo>
+ </mrow>
+ <mo>&#x2212;<!-- − --></mo>
+ <mrow class="MJX-TeXAtom-OPEN">
+ <mo maxsize="2.047em" minsize="2.047em">(</mo>
+ </mrow>
+ <munderover>
+ <mo>&#x2211;<!-- ∑ --></mo>
+ <mrow class="MJX-TeXAtom-ORD">
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>k</mi>
+ </munderover>
+ <mfrac>
+ <msub>
+ <mi>&#x03B1;<!-- α --></mi>
+ <mi>i</mi>
+ </msub>
+ <msub>
+ <mi>&#x03BB;<!-- λ --></mi>
+ <mi>i</mi>
+ </msub>
+ </mfrac>
+ <msup>
+ <mrow class="MJX-TeXAtom-CLOSE">
+ <mo maxsize="2.047em" minsize="2.047em">)</mo>
+ </mrow>
+ <mn>2</mn>
+ </msup>
+</math>
diff --git a/libs/math/doc/equations/hyperexponential_variance.png b/libs/math/doc/equations/hyperexponential_variance.png
new file mode 100644
index 0000000000..d06f071487
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_variance.png
Binary files differ
diff --git a/libs/math/doc/equations/hyperexponential_variance.svg b/libs/math/doc/equations/hyperexponential_variance.svg
new file mode 100644
index 0000000000..88b2a37782
--- /dev/null
+++ b/libs/math/doc/equations/hyperexponential_variance.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="42.526588pt" width="105.503853pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.838932 105.503853 42.526588"><svg:metadata><svgmath:metrics top="42.5265878906" axis="22.67203125" baseline="18.68765625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="30.841231" text-anchor="middle" y="8.851727" x="10.993212" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(5.277158, 22.572188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(8.915214, -13.938814)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(32.568456, -3.984375)"><svg:g transform="translate(1.169092, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(5.572266, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="11.004141" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(44.158534, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(50.821292, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(60.255534, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(64.251627, -3.984375)"><svg:text font-size="30.841231" text-anchor="middle" y="8.851727" x="10.993212" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(5.277158, 22.572188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(8.915214, -13.938814)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(86.823989, -3.984375)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.949219, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.837832" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(97.247759, -3.984375)"><svg:text font-size="24.564000" transform="scale(0.488520, 1)" text-anchor="middle" y="5.865135" x="4.090002" font-family="Times New Roman" fill="black">)</svg:text><svg:g transform="translate(3.996094, -6.774674)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric1.mml b/libs/math/doc/equations/hypergeometric1.mml
index 91605ca26f..91605ca26f 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric1.mml
+++ b/libs/math/doc/equations/hypergeometric1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric1.png b/libs/math/doc/equations/hypergeometric1.png
index 8d40b1f533..8d40b1f533 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric1.png
+++ b/libs/math/doc/equations/hypergeometric1.png
Binary files differ
diff --git a/libs/math/doc/equations/hypergeometric1.svg b/libs/math/doc/equations/hypergeometric1.svg
new file mode 100644
index 0000000000..584345b93e
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="512.491507pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 512.491507 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" axis="12.5097530377" baseline="8.52537803773" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(62.591140, 0.000000)"/><svg:g transform="translate(77.924476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.025391, 0.000000)"/><svg:g transform="translate(100.611328, -3.984375)"><svg:g transform="translate(37.105135, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.329426, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(21.516273, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(58.417308, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(62.413402, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(30.429031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(98.171859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(10.807941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(14.804035, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(21.990883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(25.986976, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.266918, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(63.263011, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(7.524086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.958328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(26.807937, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.400375, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(99.396468, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.242180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(39.676422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(47.200508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.634750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(66.484359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(171.210253, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="176.378222" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(277.575488, 0.000000)"/><svg:g transform="translate(289.575488, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(296.242808, 0.000000)"/><svg:g transform="translate(308.242808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">max</svg:text></svg:g><svg:g transform="translate(328.902964, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">0,</svg:text><svg:g transform="translate(9.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(21.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(30.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(38.099601, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(47.533844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(56.200508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(65.634750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(75.484359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(411.716753, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(425.151003, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(435.251917, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(444.438769, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(457.873019, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(467.973933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.333984" font-family="Times New Roman" fill="black">min</svg:text></svg:g><svg:g transform="translate(486.641902, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(4.857422, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(11.857418, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(21.853512, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric2.mml b/libs/math/doc/equations/hypergeometric2.mml
index 6af01b75d7..6af01b75d7 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric2.mml
+++ b/libs/math/doc/equations/hypergeometric2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric2.png b/libs/math/doc/equations/hypergeometric2.png
index 3629a13eb0..3629a13eb0 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric2.png
+++ b/libs/math/doc/equations/hypergeometric2.png
Binary files differ
diff --git a/libs/math/doc/equations/hypergeometric2.svg b/libs/math/doc/equations/hypergeometric2.svg
new file mode 100644
index 0000000000..319fc66669
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.879883pt" width="86.888676pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.068594 86.888676 34.879883"><svg:metadata><svgmath:metrics top="34.8798828125" axis="16.7956640625" baseline="12.8112890625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(10.807941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(14.804035, 0.000000)"/><svg:g transform="translate(30.137371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(40.238285, 0.000000)"/><svg:g transform="translate(52.238285, -3.984375)"><svg:g transform="translate(1.533619, 0.000000)"><svg:text font-size="19.298776" text-anchor="middle" y="5.466456" x="7.943783" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(3.761348, 16.695820)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, -12.443047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.422852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(12.227832, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(71.193090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(9.691348, -8.133965)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric3.mml b/libs/math/doc/equations/hypergeometric3.mml
index b814246878..b814246878 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric3.mml
+++ b/libs/math/doc/equations/hypergeometric3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric3.png b/libs/math/doc/equations/hypergeometric3.png
index b9f76aea5e..b9f76aea5e 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric3.png
+++ b/libs/math/doc/equations/hypergeometric3.png
Binary files differ
diff --git a/libs/math/doc/equations/hypergeometric3.svg b/libs/math/doc/equations/hypergeometric3.svg
new file mode 100644
index 0000000000..5b909c5205
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="59.282305pt" width="121.737581pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -36.692539 121.737581 59.282305"><svg:metadata><svgmath:metrics top="59.2823046875" axis="26.574140625" baseline="22.589765625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.693301, 0.000000)"/><svg:g transform="translate(23.026637, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(33.127551, 0.000000)"/><svg:g transform="translate(45.127551, -3.984375)"><svg:text font-size="38.872524" text-anchor="middle" y="9.281574" x="13.855929" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.405607, 24.735352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(3.753556, -22.199570)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(5.200195, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(8.801758, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.338008" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(13.477773, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(74.839413, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.663086" font-family="Times New Roman" fill="black">flοor</svg:text></svg:g><svg:g transform="translate(100.241761, -3.984375)"><svg:text font-size="38.872524" transform="scale(0.308701, 1)" text-anchor="middle" y="9.281574" x="6.472427" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.428574, -1.781250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(0.585938, 13.762852)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.324219, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="12.331758" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(17.499727, 0.000000)"><svg:text font-size="38.872524" transform="scale(0.308701, 1)" text-anchor="middle" y="9.281574" x="6.472427" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric4.mml b/libs/math/doc/equations/hypergeometric4.mml
index 6da4a4373a..6da4a4373a 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric4.mml
+++ b/libs/math/doc/equations/hypergeometric4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric4.png b/libs/math/doc/equations/hypergeometric4.png
index a3e219b927..a3e219b927 100644
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric4.png
+++ b/libs/math/doc/equations/hypergeometric4.png
Binary files differ
diff --git a/libs/math/doc/equations/hypergeometric4.svg b/libs/math/doc/equations/hypergeometric4.svg
new file mode 100644
index 0000000000..f24e225752
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.879883pt" width="134.675781pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.068594 134.675781 34.879883"><svg:metadata><svgmath:metrics top="34.8798828125" axis="16.7956640625" baseline="12.8112890625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(62.591140, 0.000000)"/><svg:g transform="translate(77.924476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.025391, 0.000000)"/><svg:g transform="translate(100.025391, -3.984375)"><svg:g transform="translate(1.533619, 0.000000)"><svg:text font-size="19.298776" text-anchor="middle" y="5.466456" x="7.943783" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(3.761348, 16.695820)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, -12.443047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.422852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(12.227832, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(118.980195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(9.691348, -8.133965)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hypergeometric5.mml b/libs/math/doc/equations/hypergeometric5.mml
new file mode 100644
index 0000000000..4213309bfb
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric5.mml
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>hypergeometric5</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>f</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ <mo>;</mo>
+ <mi>r</mi>
+ <mo>,</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>N</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>r</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>r</mi>
+ <mo>+</mo>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ <mi>f</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>;</mo>
+ <mi>r</mi>
+ <mo>,</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>N</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>f</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ <mo>;</mo>
+ <mi>r</mi>
+ <mo>,</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>N</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>x</mi>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>r</mi>
+ <mo>+</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>r</mi>
+ <mo>&#x2212;</mo>
+ <mi>k</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ <mi>f</mi>
+ <mfenced>
+ <mrow>
+ <mi>k</mi>
+ <mo>;</mo>
+ <mi>r</mi>
+ <mo>,</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>N</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/hypergeometric5.png b/libs/math/doc/equations/hypergeometric5.png
new file mode 100644
index 0000000000..7e51d19c9f
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric5.png
Binary files differ
diff --git a/libs/math/doc/equations/hypergeometric5.svg b/libs/math/doc/equations/hypergeometric5.svg
new file mode 100644
index 0000000000..a41d2c701e
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="42.750433pt" width="256.583435pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -25.359592 256.583435 42.750433"><svg:metadata><svgmath:metrics top="42.7504330021" bottom="0.0" baseline="17.3908415011" axis="21.3752165011"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -8.045030)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(23.954422, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(30.621742, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(35.479164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(42.479160, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(48.479160, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(55.479156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(68.949859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(90.292047, -12.029405)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(106.659625, -8.045030)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(21.096889, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.682093, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(5.342101, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.040413, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.033636, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(6.049328, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.747639, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.682093, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(21.471947, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.170259, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(33.512360, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.210672, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(46.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.958312, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(60.055538, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="86.746732" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(87.332670, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(95.078764, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 16.013780)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(23.954422, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(30.621742, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(35.479164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(42.479160, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(48.479160, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(55.479156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(68.949859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(90.292047, 12.029405)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(106.659625, 16.013780)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(8.661261, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(21.471947, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.170259, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(33.512360, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.210672, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(47.203895, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.900971, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.599283, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(32.696509, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.533736, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(5.342101, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.040413, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.089740, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.788052, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.885279, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="71.428116" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(72.014054, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(79.760148, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/hypergeometric6.mml b/libs/math/doc/equations/hypergeometric6.mml
new file mode 100644
index 0000000000..ad01d0cef0
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric6.mml
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>hypergeometric6</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mtext>mean</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>r</mi>
+ <mi>n</mi>
+ </mrow>
+ <mi>N</mi>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>mode</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mtext>floor</mtext>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>r</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>N</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>variance</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>r</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mi>n</mi>
+ <mi>N</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mi>n</mi>
+ <mi>N</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>r</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>skewness</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>2</mn>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ <msqrt>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </msqrt>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>2</mn>
+ <mi>r</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <msqrt>
+ <mrow>
+ <mi>r</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>r</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </msqrt>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>2</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>kurtosis excess</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>N</mi>
+ <mn>2</mn>
+ </msup>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>r</mi>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>2</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>3</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>r</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>N</mi>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mn>6</mn>
+ <mi>N</mi>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>r</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mn>3</mn>
+ <mi>r</mi>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mi>r</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>N</mi>
+ <mo>+</mo>
+ <mn>6</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <msup>
+ <mi>N</mi>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ <mo>&#x2212;</mo>
+ <mn>6</mn>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/hypergeometric6.png b/libs/math/doc/equations/hypergeometric6.png
new file mode 100644
index 0000000000..8c46a3f6f4
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric6.png
Binary files differ
diff --git a/libs/math/doc/equations/hypergeometric6.svg b/libs/math/doc/equations/hypergeometric6.svg
new file mode 100644
index 0000000000..d53504b330
--- /dev/null
+++ b/libs/math/doc/equations/hypergeometric6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="122.592492pt" width="363.308201pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -65.280621 363.308201 122.592492"><svg:metadata><svgmath:metrics top="122.592491761" bottom="0.0" baseline="57.3118708805" axis="61.2962458805"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(46.335938, -51.847476)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">mean</svg:text></svg:g><svg:g transform="translate(81.922266, -55.831851)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(98.289844, -55.831851)"><svg:g transform="translate(0.585937, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(1.076836, 7.240781)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="8.880645" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(45.662109, -29.744654)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.330078" font-family="Times New Roman" fill="black">mode</svg:text></svg:g><svg:g transform="translate(81.922266, -33.729029)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(98.289844, -29.744654)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.663086" font-family="Times New Roman" fill="black">floor</svg:text><svg:g transform="translate(25.402348, -3.984375)"><svg:text font-size="20.558777" transform="scale(0.583692, 1)" text-anchor="middle" y="4.908810" x="3.423117" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(5.342101, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.040413, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.137639, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.974866, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(13.177111, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="45.932837" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.100806, 0.000000)"><svg:text font-size="20.558777" transform="scale(0.583692, 1)" text-anchor="middle" y="4.908810" x="3.423117" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.687500, -0.350738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="20.317383" font-family="Times New Roman" fill="black">variance</svg:text></svg:g><svg:g transform="translate(81.922266, -4.335113)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(98.289844, -4.335113)"><svg:g transform="translate(0.585938, -5.324395)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, -2.828906)"><svg:text font-size="14.416713" transform="scale(0.590981, 1)" text-anchor="middle" y="3.442272" x="2.400439" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(1.574219, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.432598)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.890625" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.148438" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.817695, 0.000000)"><svg:text font-size="14.416713" transform="scale(0.590981, 1)" text-anchor="middle" y="3.442272" x="2.400439" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(17.103691, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.448937" transform="scale(0.684396, 1)" text-anchor="middle" y="3.866958" x="2.072797" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(1.574219, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.432598)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.890625" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.148438" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(23.669339, -2.828906)"><svg:text font-size="12.448937" transform="scale(0.684396, 1)" text-anchor="middle" y="3.866958" x="2.072797" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.610257, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(21.985451, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="69.223970" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.994141, 24.512729)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="22.664062" font-family="Times New Roman" fill="black">skewness</svg:text></svg:g><svg:g transform="translate(81.922266, 20.528354)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(98.289844, 20.528354)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(19.578616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.675843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.853869, 0.000000)"><svg:g transform="translate(4.501095, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.364364 L 1.722371 -3.364364 L 3.095297 -0.821908 L 3.038609 -0.453554 L 1.558787 -3.193964 L 1.303187 -3.193964 L 3.027928 0.000000 L 4.037237 -6.558329 L 30.218021 -6.558329" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:g transform="translate(60.412690, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(19.578616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(25.864612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.161953, 8.328338)"><svg:g transform="translate(4.501095, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.708770, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.961839, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.364364 L 1.722371 -3.364364 L 3.095297 -0.821908 L 3.038609 -0.453554 L 1.558787 -3.193964 L 1.303187 -3.193964 L 3.027928 0.000000 L 4.037237 -6.558329 L 62.368629 -6.558329" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/><svg:g transform="translate(62.709429, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="90.286404" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(0.000000, 52.696229)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="36.161133" font-family="Times New Roman" fill="black">kurtosis excess</svg:text></svg:g><svg:g transform="translate(81.922266, 48.711854)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(98.289844, 52.696229)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="27.802410" transform="scale(0.431617, 1)" text-anchor="middle" y="6.638368" x="4.629210" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(21.794290, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.726973, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.701839, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(53.954908, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="79.568621" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(84.736590, 0.000000)"><svg:text font-size="27.802410" transform="scale(0.431617, 1)" text-anchor="middle" y="6.638368" x="4.629210" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.732684, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="22.318293" transform="scale(0.537676, 1)" text-anchor="middle" y="6.128786" x="3.716083" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.873373, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(40.571685, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">6</svg:text></svg:g><svg:g transform="translate(44.831685, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(51.558658, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.829651, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="77.172371" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(80.424973, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(90.445153, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(7.708770, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.150608, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">6</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.924290, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="58.575552" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(152.273306, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(161.707549, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text></svg:g></svg:g><svg:g transform="translate(172.289580, -3.984375)"><svg:text font-size="22.318293" transform="scale(0.537676, 1)" text-anchor="middle" y="6.128786" x="3.716083" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypot.mml b/libs/math/doc/equations/hypot.mml
index fea0cc06c5..fea0cc06c5 100644
--- a/libs/math/doc/sf_and_dist/equations/hypot.mml
+++ b/libs/math/doc/equations/hypot.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hypot.png b/libs/math/doc/equations/hypot.png
index 6937b93003..6937b93003 100644
--- a/libs/math/doc/sf_and_dist/equations/hypot.png
+++ b/libs/math/doc/equations/hypot.png
Binary files differ
diff --git a/libs/math/doc/equations/hypot.svg b/libs/math/doc/equations/hypot.svg
new file mode 100644
index 0000000000..a040d632a4
--- /dev/null
+++ b/libs/math/doc/equations/hypot.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.501328pt" width="137.215641pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.911484 137.215641 15.501328"><svg:metadata><svgmath:metrics top="15.501328125" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">hypot</svg:text><svg:g transform="translate(29.351567, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(22.984371, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.332031, 0.000000)"/><svg:g transform="translate(71.665367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.766281, 0.000000)"/><svg:g transform="translate(94.246281, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 42.969359 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypot2.mml b/libs/math/doc/equations/hypot2.mml
index d31f1c5d54..d31f1c5d54 100644
--- a/libs/math/doc/sf_and_dist/equations/hypot2.mml
+++ b/libs/math/doc/equations/hypot2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/hypot2.png b/libs/math/doc/equations/hypot2.png
index 38ae49da25..38ae49da25 100644
--- a/libs/math/doc/sf_and_dist/equations/hypot2.png
+++ b/libs/math/doc/equations/hypot2.png
Binary files differ
diff --git a/libs/math/doc/equations/hypot2.svg b/libs/math/doc/equations/hypot2.svg
new file mode 100644
index 0000000000..0cdd394340
--- /dev/null
+++ b/libs/math/doc/equations/hypot2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.133204pt" width="151.519922pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.625391 151.519922 22.133204"><svg:metadata><svgmath:metrics top="22.1332038802" bottom="0.0407827604726" baseline="5.5078125" axis="9.4921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">hypot</svg:text><svg:g transform="translate(29.351567, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(22.984371, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.332031, 0.000000)"/><svg:g transform="translate(71.665367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.766281, 0.000000)"/><svg:g transform="translate(93.766281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(99.970891, 0.000000)"><svg:g transform="translate(11.281875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, -3.984375)"><svg:text font-size="20.880773" transform="scale(0.574691, 1)" text-anchor="middle" y="4.985692" x="3.476730" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(0.855469, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.435547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.603516, 0.000000)"><svg:text font-size="20.880773" transform="scale(0.574691, 1)" text-anchor="middle" y="4.985692" x="3.476730" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.599609, -5.096720)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -8.312696 L 3.712570 -8.312696 L 7.574936 -1.160166 L 7.495781 -0.640083 L 3.482170 -8.072696 L 3.122170 -8.072696 L 7.481426 0.000000 L 9.975235 -16.385391 L 51.549032 -16.385391" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta1.mml b/libs/math/doc/equations/ibeta1.mml
index fc98174dcc..fc98174dcc 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta1.mml
+++ b/libs/math/doc/equations/ibeta1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta1.png b/libs/math/doc/equations/ibeta1.png
index 9be44f34f7..9be44f34f7 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta1.png
+++ b/libs/math/doc/equations/ibeta1.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta1.svg b/libs/math/doc/equations/ibeta1.svg
new file mode 100644
index 0000000000..7fd152bf18
--- /dev/null
+++ b/libs/math/doc/equations/ibeta1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.957215pt" width="254.569764pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.566571 254.569764 22.957215"><svg:metadata><svgmath:metrics top="22.9572152759" bottom="1.7389453125" baseline="6.39064446831" axis="10.3750194683"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.732418, 0.000000)"/><svg:g transform="translate(77.065754, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.166668, 0.000000)"/><svg:g transform="translate(99.166668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(110.836609, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(137.828793, 0.000000)"/><svg:g transform="translate(153.162129, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(163.263043, 0.000000)"/><svg:g transform="translate(175.263043, -3.984375)"><svg:text font-size="18.223244" text-anchor="middle" y="5.336702" x="2.522602" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.018511, 8.536230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.018511, -8.817254)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(184.541554, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(201.464190, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(25.694656, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.690750, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(244.479921, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(250.972108, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ibeta10.mml b/libs/math/doc/equations/ibeta10.mml
new file mode 100644
index 0000000000..50e864e4ba
--- /dev/null
+++ b/libs/math/doc/equations/ibeta10.mml
@@ -0,0 +1,202 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ <mspace width="1em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mspace width="1em"/>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <msup>
+ <mi>x</mi>
+ <mi>a</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mi>b</mi>
+ </msup>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>j</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>n</mi>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>b</mi>
+ <mo>+</mo>
+ <mi>j</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ <mi>&#x0393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>j</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ <msup>
+ <mi>x</mi>
+ <mrow>
+ <mi>j</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <mspace width="1em"/>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd/>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mspace width="1em"/>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>n</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>x</mi>
+ <mi>a</mi>
+ </msup>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ <mi>b</mi>
+ </msup>
+ </mrow>
+ <mi>a</mi>
+ </mfrac>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>j</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mover>
+ <mi>j</mi>
+ <mo>&#x2212;</mo>
+ </mover>
+ </mrow>
+ </msup>
+ </mrow>
+ <mrow>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mover>
+ <mi>j</mi>
+ <mo>&#x2212;</mo>
+ </mover>
+ </mrow>
+ </msup>
+ </mrow>
+ </mfrac>
+ <msup>
+ <mi>x</mi>
+ <mi>j</mi>
+ </msup>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/ibeta10.png b/libs/math/doc/equations/ibeta10.png
new file mode 100644
index 0000000000..0585e1f835
--- /dev/null
+++ b/libs/math/doc/equations/ibeta10.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta10.svg b/libs/math/doc/equations/ibeta10.svg
new file mode 100644
index 0000000000..977bc873fb
--- /dev/null
+++ b/libs/math/doc/equations/ibeta10.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="59.702795pt" width="313.517248pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -33.835772 313.517248 59.702795"><svg:metadata><svgmath:metrics top="59.7027946261" bottom="0.0" baseline="25.867022313" axis="29.851397313"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -15.162756)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/></svg:g><svg:g transform="translate(57.953531, -19.147131)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.321109, -15.162756)"><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(21.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.121101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(78.555343, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(88.539953, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.817703, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(124.617656, -3.984375)"><svg:text font-size="20.595422" text-anchor="middle" y="4.917559" x="7.341142" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(14.682284, 8.865478)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.682284, -6.939325)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(152.786521, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(31.432282, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.130594, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.227821, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(5.489602, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.895957, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(21.857461, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(19.524534, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="55.198426" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(208.570885, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(227.196139, 0.000000)"/></svg:g><svg:g transform="translate(48.353531, 17.372235)"/><svg:g transform="translate(57.953531, 13.387860)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.321109, 17.372235)"><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(21.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.121101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.141281, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(8.064473, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.753343, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.590569, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.783458, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="35.826917" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.554135, -3.984375)"><svg:text font-size="33.264579" text-anchor="middle" y="7.942568" x="11.857003" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(23.714007, 14.624748)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(23.714007, -10.705881)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(153.179060, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.786096, -5.426562)"><svg:g transform="translate(0.455078, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.109375)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 13.299609)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.786096, -5.426562)"><svg:g transform="translate(0.455078, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.109375)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="28.469690" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.234688, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta11.mml b/libs/math/doc/equations/ibeta11.mml
index c14b6c27c5..c14b6c27c5 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta11.mml
+++ b/libs/math/doc/equations/ibeta11.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta11.png b/libs/math/doc/equations/ibeta11.png
index 113650edd9..113650edd9 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta11.png
+++ b/libs/math/doc/equations/ibeta11.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta11.svg b/libs/math/doc/equations/ibeta11.svg
new file mode 100644
index 0000000000..7efa9e0d1d
--- /dev/null
+++ b/libs/math/doc/equations/ibeta11.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.221747pt" width="308.388541pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.725776 308.388541 51.221747"><svg:metadata><svgmath:metrics top="51.2217465259" bottom="0.0" baseline="22.4959709192" axis="26.4803459192"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(11.669941, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.662125, 0.000000)"/><svg:g transform="translate(53.995461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(64.096375, 0.000000)"/><svg:g transform="translate(76.682313, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(13.632484, 11.979766)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.776687" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.044937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(126.714879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(174.474632, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(184.494812, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.817703, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(20.617094, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="47.234187" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(232.314937, -3.984375)"><svg:text font-size="38.666196" text-anchor="middle" y="9.232309" x="13.782384" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.332062, 24.641557)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.119894, -18.983744)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(260.465643, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -6.750879)"><svg:g transform="translate(0.338027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.496328)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 15.010879)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -6.750879)"><svg:g transform="translate(0.338027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.496328)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.776687" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(298.828268, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta12.mml b/libs/math/doc/equations/ibeta12.mml
index a080245a58..a080245a58 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta12.mml
+++ b/libs/math/doc/equations/ibeta12.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta12.png b/libs/math/doc/equations/ibeta12.png
index 757904be8f..757904be8f 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta12.png
+++ b/libs/math/doc/equations/ibeta12.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta12.svg b/libs/math/doc/equations/ibeta12.svg
new file mode 100644
index 0000000000..e5aed334bb
--- /dev/null
+++ b/libs/math/doc/equations/ibeta12.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.816960pt" width="319.554828pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.969355 319.554828 36.816960"><svg:metadata><svgmath:metrics top="36.816960069" bottom="0.0" baseline="15.8476046002" axis="19.8319796002"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(51.686867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.787781, 0.000000)"/><svg:g transform="translate(73.787781, -3.984375)"><svg:g transform="translate(1.415869, 0.000000)"><svg:text font-size="24.657344" text-anchor="middle" y="7.188197" x="8.788995" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(11.344746, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.149727, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.841377, -11.343809)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(94.783445, -3.984375)"><svg:g transform="translate(16.631182, -1.781250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(10.807941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(8.663410, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(28.905594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(42.898429, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.066398" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(143.435781, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(151.527519, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -6.734220)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(16.736309, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(177.364726, 0.000000)"/><svg:g transform="translate(189.364726, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(196.032047, 0.000000)"/><svg:g transform="translate(208.032047, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(217.242336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(227.343250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(236.009914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(245.444156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(254.444156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(267.252102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(277.353016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(286.019680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(295.453922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(304.120586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(313.554828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta2.mml b/libs/math/doc/equations/ibeta2.mml
index bc4124b556..bc4124b556 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta2.mml
+++ b/libs/math/doc/equations/ibeta2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta2.png b/libs/math/doc/equations/ibeta2.png
index 9fbfacaafa..9fbfacaafa 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta2.png
+++ b/libs/math/doc/equations/ibeta2.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta2.svg b/libs/math/doc/equations/ibeta2.svg
new file mode 100644
index 0000000000..850b55f0c7
--- /dev/null
+++ b/libs/math/doc/equations/ibeta2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="246.417226pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 246.417226 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.685547" font-family="Times New Roman" fill="black">betac</svg:text><svg:g transform="translate(27.341801, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(67.058590, 0.000000)"/><svg:g transform="translate(82.391926, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(92.492840, 0.000000)"/><svg:g transform="translate(104.492840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(113.159504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(122.593746, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(134.263687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.255871, 0.000000)"/><svg:g transform="translate(176.589207, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(186.690121, 0.000000)"/><svg:g transform="translate(198.690121, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(219.425043, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta3.mml b/libs/math/doc/equations/ibeta3.mml
index dc7519b5c9..dc7519b5c9 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta3.mml
+++ b/libs/math/doc/equations/ibeta3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta3.png b/libs/math/doc/equations/ibeta3.png
index 84a3bd8956..84a3bd8956 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta3.png
+++ b/libs/math/doc/equations/ibeta3.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta3.svg b/libs/math/doc/equations/ibeta3.svg
new file mode 100644
index 0000000000..a09e80a848
--- /dev/null
+++ b/libs/math/doc/equations/ibeta3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.278409pt" width="308.628968pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.321354 308.628968 29.278409"><svg:metadata><svgmath:metrics top="29.2784091112" bottom="0.431676824651" baseline="8.95705486238" axis="12.9414298624"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.660156" font-family="Times New Roman" fill="black">ibeta</svg:text><svg:g transform="translate(25.320317, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(65.037105, 0.000000)"/><svg:g transform="translate(80.370441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(90.471356, 0.000000)"/><svg:g transform="translate(102.471356, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(111.832703, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(138.824887, 0.000000)"/><svg:g transform="translate(154.158223, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(164.259137, 0.000000)"/><svg:g transform="translate(176.845074, -3.984375)"><svg:g transform="translate(22.089844, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="50.179688" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(227.610699, -3.984375)"><svg:text font-size="24.438225" text-anchor="middle" y="7.235488" x="3.382928" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(6.730058, 11.102641)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(6.730058, -12.572038)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(238.600757, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(255.523394, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(25.694656, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.690750, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(298.539124, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(305.031312, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta4.mml b/libs/math/doc/equations/ibeta4.mml
index 0c21c5d3c5..0c21c5d3c5 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta4.mml
+++ b/libs/math/doc/equations/ibeta4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta4.png b/libs/math/doc/equations/ibeta4.png
index 7b1371469f..7b1371469f 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta4.png
+++ b/libs/math/doc/equations/ibeta4.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta4.svg b/libs/math/doc/equations/ibeta4.svg
new file mode 100644
index 0000000000..c47df905d8
--- /dev/null
+++ b/libs/math/doc/equations/ibeta4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="245.104726pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 245.104726 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="14.323242" font-family="Times New Roman" fill="black">ibetac</svg:text><svg:g transform="translate(30.646488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(70.363277, 0.000000)"/><svg:g transform="translate(85.696613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(95.797527, 0.000000)"/><svg:g transform="translate(107.797527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(116.464191, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(125.898434, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(135.259781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(162.251965, 0.000000)"/><svg:g transform="translate(177.585301, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(187.686215, 0.000000)"/><svg:g transform="translate(199.686215, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(218.112543, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ibeta5.mml b/libs/math/doc/equations/ibeta5.mml
new file mode 100644
index 0000000000..281dbec5ed
--- /dev/null
+++ b/libs/math/doc/equations/ibeta5.mml
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>ibeta5</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>x</mi>
+ <mi>a</mi>
+ </msup>
+ <msup>
+ <mi>y</mi>
+ <mi>b</mi>
+ </msup>
+ </mrow>
+ <mrow>
+ <mi>a</mi>
+ <mi>B</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mfrac>
+ <msub>
+ <mi>d</mi>
+ <mn>1</mn>
+ </msub>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mfrac>
+ <msub>
+ <mi>d</mi>
+ <mn>2</mn>
+ </msub>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mo>&#x2026;</mo>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>d</mi>
+ <mrow>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>b</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mi>x</mi>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>d</mi>
+ <mrow>
+ <mn>2</mn>
+ <mi>m</mi>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>m</mi>
+ <mfenced>
+ <mrow>
+ <mi>b</mi>
+ <mo>&#x2212;</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mi>x</mi>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/ibeta5.png b/libs/math/doc/equations/ibeta5.png
new file mode 100644
index 0000000000..37bde149bf
--- /dev/null
+++ b/libs/math/doc/equations/ibeta5.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta5.svg b/libs/math/doc/equations/ibeta5.svg
new file mode 100644
index 0000000000..13c0d203d6
--- /dev/null
+++ b/libs/math/doc/equations/ibeta5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="107.923900pt" width="152.867523pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -57.946325 152.867523 107.923900"><svg:metadata><svgmath:metrics top="107.923899705" bottom="0.0" baseline="49.9775748523" axis="53.9619498523"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -20.042350)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.953531, -24.026725)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.321109, -24.026725)"><svg:g transform="translate(6.742264, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(8.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(4.447207, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(9.659883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.229997, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(16.327224, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="29.996208" x1="0.000000" fill="none"/><svg:g transform="translate(30.582146, 0.000000)"><svg:text font-size="65.709903" transform="scale(0.182621, 1)" text-anchor="middle" y="15.689523" x="10.940956" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(23.270103, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 14.740020)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(14.016273, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 14.034160)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(7.371310, -4.687500)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(14.289495, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="23.070745" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="36.360672" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="50.800206" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(55.968174, 0.000000)"><svg:text font-size="65.709903" transform="scale(0.182621, 1)" text-anchor="middle" y="15.689523" x="10.940956" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(10.383492, 24.541703)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(10.412871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.217852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.953531, 20.557328)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.321109, 20.557328)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.957282, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(34.693384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(67.487893, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.997331, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(28.938968, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(38.953384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="72.724240" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(19.448473, 48.600513)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.953531, 44.616138)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.321109, 44.616138)"><svg:g transform="translate(18.502571, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.831839, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(38.953384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(41.790611, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="71.901453" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ibeta6.mml b/libs/math/doc/equations/ibeta6.mml
new file mode 100644
index 0000000000..c7dc94c83c
--- /dev/null
+++ b/libs/math/doc/equations/ibeta6.mml
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>ibeta6</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>x</mi>
+ <mi>a</mi>
+ </msup>
+ <msup>
+ <mi>y</mi>
+ <mi>b</mi>
+ </msup>
+ </mrow>
+ <mrow>
+ <mi>B</mi>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>a</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <msub>
+ <mi>&#x3b1;</mi>
+ <mn>1</mn>
+ </msub>
+ <mrow>
+ <msub>
+ <mi>&#x3b2;</mi>
+ <mn>1</mn>
+ </msub>
+ <mo>+</mo>
+ <mfrac>
+ <msub>
+ <mi>&#x3b1;</mi>
+ <mn>2</mn>
+ </msub>
+ <mrow>
+ <msub>
+ <mi>&#x3b2;</mi>
+ <mn>2</mn>
+ </msub>
+ <mo>+</mo>
+ <mfrac>
+ <msub>
+ <mi>&#x3b1;</mi>
+ <mn>3</mn>
+ </msub>
+ <mrow>
+ <msub>
+ <mi>&#x3b2;</mi>
+ <mn>3</mn>
+ </msub>
+ <mo>+</mo>
+ <mo>&#x2026;</mo>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&#x3b1;</mi>
+ <mn>1</mn>
+ </msub>
+ <mo>=</mo>
+ <mn>1</mn>
+ <mspace width="1.0em"/>
+ <mo>,</mo>
+ <mspace width="1.0em"/>
+ <msub>
+ <mi>&#x3b1;</mi>
+ <mrow>
+ <mi>m</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ <mspace width="1.0em"/>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>b</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mi>m</mi>
+ <mfenced>
+ <mrow>
+ <mi>b</mi>
+ <mo>&#x2212;</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <msup>
+ <mi>x</mi>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ <mrow>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&#x3b2;</mi>
+ <mrow>
+ <mi>m</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>m</mi>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mi>m</mi>
+ <mfenced>
+ <mrow>
+ <mi>b</mi>
+ <mo>&#x2212;</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mi>x</mi>
+ </mrow>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfrac>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>&#x2212;</mo>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ <mi>x</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mi>m</mi>
+ <mfenced>
+ <mrow>
+ <mn>2</mn>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/ibeta6.png b/libs/math/doc/equations/ibeta6.png
new file mode 100644
index 0000000000..dcd225bbe5
--- /dev/null
+++ b/libs/math/doc/equations/ibeta6.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta6.svg b/libs/math/doc/equations/ibeta6.svg
new file mode 100644
index 0000000000..bcf9dacc1d
--- /dev/null
+++ b/libs/math/doc/equations/ibeta6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="112.673206pt" width="313.805240pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -60.320978 313.805240 112.673206"><svg:metadata><svgmath:metrics top="112.673206146" bottom="0.0" baseline="52.352228073" axis="56.336603073"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(29.078111, -22.608821)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(104.109754, -26.593196)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(167.082171, -26.593196)"><svg:g transform="translate(4.612264, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(8.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(4.447207, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(5.399883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.229997, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(16.327224, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="25.736208" x1="0.000000" fill="none"/><svg:g transform="translate(26.322146, 0.000000)"><svg:text font-size="65.288851" transform="scale(0.183799, 1)" text-anchor="middle" y="15.588988" x="10.870849" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(28.079927, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.720488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.691621" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(4.896504, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(10.789835, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.904163, -2.828906)"><svg:g transform="translate(18.678383, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.199219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.108379)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.527344" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(4.597656, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.375432, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.055552, -2.656250)"><svg:g transform="translate(9.734591, -4.781250)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.199219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.527344" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(4.597656, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(10.375432, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.887151, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.668401" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="45.555984" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="64.632022" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(69.799991, 0.000000)"><svg:text font-size="65.288851" transform="scale(0.183799, 1)" text-anchor="middle" y="15.588988" x="10.870849" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 25.076708)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(13.892164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.993078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(29.993078, 0.000000)"/><svg:g transform="translate(41.993078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.993074, 0.000000)"/><svg:g transform="translate(60.993074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(10.957852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(82.509754, 0.000000)"/></svg:g><svg:g transform="translate(104.109754, 21.092333)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(153.150760, 21.092333)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(20.897846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.596158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(34.693384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(37.530611, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(33.749489, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(40.447801, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(47.545028, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(87.912865, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(94.065736, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(118.744704, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.095220, 10.816562)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(38.953384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(41.790611, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="127.981051" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.197709, 52.428400)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(6.896484, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(10.957852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(104.109754, 48.444025)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(120.477332, 52.428400)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(11.332680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.352859, -3.984375)"><svg:g transform="translate(1.195861, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.831839, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="37.288033" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(61.893494, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(71.913673, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(24.678968, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.637740, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(41.595544, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(48.293856, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(54.447187, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(61.145499, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(67.298370, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.753343, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(92.726166, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.649039, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="121.414235" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta7.mml b/libs/math/doc/equations/ibeta7.mml
index edde649636..edde649636 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta7.mml
+++ b/libs/math/doc/equations/ibeta7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta7.png b/libs/math/doc/equations/ibeta7.png
index 3cccef2fa2..3cccef2fa2 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta7.png
+++ b/libs/math/doc/equations/ibeta7.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta7.svg b/libs/math/doc/equations/ibeta7.svg
new file mode 100644
index 0000000000..4bdc191df9
--- /dev/null
+++ b/libs/math/doc/equations/ibeta7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="39.008732pt" width="180.291033pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.319213 180.291033 39.008732"><svg:metadata><svgmath:metrics top="39.0087317694" bottom="0.0" baseline="15.6895186627" axis="19.6738936627"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(51.686867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.787781, 0.000000)"/><svg:g transform="translate(74.373719, -3.984375)"><svg:g transform="translate(12.892459, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.769527" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(110.729184, -3.984375)"><svg:text font-size="29.758584" text-anchor="middle" y="6.087246" x="10.607308" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.944817, 19.574050)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.570394, -15.407651)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(132.529736, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g><svg:g transform="translate(36.604812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.169389, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(39.426426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="47.761297" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/ibeta8.mml b/libs/math/doc/equations/ibeta8.mml
new file mode 100644
index 0000000000..dbf25cc701
--- /dev/null
+++ b/libs/math/doc/equations/ibeta8.mml
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>ibeta8</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>,</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>&#x2248;</mo>
+ </mtd>
+ <mtd>
+ <mi>M</mi>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>n</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mi>&#x221e;</mi>
+ </munderover>
+ <msub>
+ <mi>p</mi>
+ <mi>n</mi>
+ </msub>
+ <msub>
+ <mi>J</mi>
+ <mi>n</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>b</mi>
+ <mo>,</mo>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ <mspace width="1.0em"/>
+ <mo>;</mo>
+ <mspace width="1.0em"/>
+ <mi>a</mi>
+ <mo>&gt;</mo>
+ <mi>b</mi>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>M</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>H</mi>
+ <mfenced>
+ <mrow>
+ <mi>b</mi>
+ <mo>,</mo>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ <mi>&#x393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>b</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>&#x393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ </mrow>
+ </mfenced>
+ <msup>
+ <mi>T</mi>
+ <mi>b</mi>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>H</mi>
+ <mfenced>
+ <mrow>
+ <mi>c</mi>
+ <mo>,</mo>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mi>e</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>u</mi>
+ </mrow>
+ </msup>
+ <msup>
+ <mi>u</mi>
+ <mi>c</mi>
+ </msup>
+ </mrow>
+ <mrow>
+ <mi>&#x393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>T</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mi>b</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ <mn>2</mn>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>u</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mo>&#x2212;</mo>
+ <mi>T</mi>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>p</mi>
+ <mn>0</mn>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mn>1</mn>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>p</mi>
+ <mi>n</mi>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>b</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mn>2</mn>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ <mo>+</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mi>n</mi>
+ </mfrac>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>m</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </munderover>
+ <mfrac>
+ <mfenced>
+ <mrow>
+ <mi>m</mi>
+ <mi>b</mi>
+ <mo>&#x2212;</mo>
+ <mi>n</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mn>2</mn>
+ <mi>m</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ <msub>
+ <mi>p</mi>
+ <mrow>
+ <mi>n</mi>
+ <mo>&#x2212;</mo>
+ <mi>m</mi>
+ </mrow>
+ </msub>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/ibeta8.png b/libs/math/doc/equations/ibeta8.png
new file mode 100644
index 0000000000..26d3667850
--- /dev/null
+++ b/libs/math/doc/equations/ibeta8.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta8.svg b/libs/math/doc/equations/ibeta8.svg
new file mode 100644
index 0000000000..a1a4f8d8f1
--- /dev/null
+++ b/libs/math/doc/equations/ibeta8.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="148.951076pt" width="204.010005pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -78.459913 204.010005 148.951076"><svg:metadata><svgmath:metrics top="148.95107554" bottom="0.0" baseline="70.4911627702" axis="74.4755377702"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.013652, -64.801710)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.058004, -68.786085)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(62.334762, -64.801710)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.390625" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text><svg:g transform="translate(11.478516, -3.984375)"><svg:text font-size="15.375596" text-anchor="middle" y="6.313157" x="5.480559" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(10.961118, 10.873477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.961118, -1.762266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(35.764614, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(47.348833, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(58.581489, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(85.573673, 0.000000)"/><svg:g transform="translate(97.573673, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(104.240993, 0.000000)"/><svg:g transform="translate(116.240993, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(125.574329, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(135.675243, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(24.888668, -39.115390)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.390625" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text></svg:g><svg:g transform="translate(45.967183, -43.099765)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.334762, -43.099765)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.301084" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(7.134668, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.229997, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(16.327224, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(26.299118, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(32.260622, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.394814, 10.965000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.895957, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.369209" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(5.533008, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="56.218594" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(0.000000, -11.915760)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.326168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(22.322262, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.967183, -15.900135)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.334762, -15.900135)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -3.810703)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(12.293301, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(4.260000, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.690000, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="21.275957" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(28.574215, 10.412434)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g><svg:g transform="translate(45.967183, 6.428059)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.334762, 10.412434)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.011759, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="18.283518" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(30.367183, 27.496275)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(45.967183, 23.511900)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.334762, 27.496275)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g><svg:g transform="translate(15.227214, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(24.561198, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.782965, 43.539219)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(45.967183, 39.554844)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.334762, 43.539219)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(24.782965, 67.486592)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(45.967183, 63.502217)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.334762, 67.486592)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(4.607884, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.413331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(24.208870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(27.992762, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="32.001864" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(35.254465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(45.274645, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.292457, -3.984375)"><svg:text font-size="20.873030" text-anchor="middle" y="5.126700" x="7.440094" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(14.880187, 10.873477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.957852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.880187, -4.929952)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(81.976434, -3.984375)"><svg:g transform="translate(2.477884, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(12.306203, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.004514, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(12.306203, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.004514, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.885633, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="33.894735" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(116.457106, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta9.mml b/libs/math/doc/equations/ibeta9.mml
index 43efb4ba0b..43efb4ba0b 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta9.mml
+++ b/libs/math/doc/equations/ibeta9.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta9.png b/libs/math/doc/equations/ibeta9.png
index 384e97c913..384e97c913 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta9.png
+++ b/libs/math/doc/equations/ibeta9.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta9.svg b/libs/math/doc/equations/ibeta9.svg
new file mode 100644
index 0000000000..82f39ce805
--- /dev/null
+++ b/libs/math/doc/equations/ibeta9.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="265.476421pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 265.476421 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(11.232656, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.558176, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(51.659090, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(4.482422, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.964844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(20.132813, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(24.128906, -5.313982)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(84.893934, -3.984375)"><svg:g transform="translate(1.277344, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.313793" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(151.127000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(161.227914, -3.984375)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(16.768230, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(8.832357, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.664714" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(28.832683, 0.000000)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.828777, -5.678044)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(203.162628, -3.984375)"><svg:g transform="translate(1.277344, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.313793" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv1.mml b/libs/math/doc/equations/ibeta_inv1.mml
index c21f6d1ea4..c21f6d1ea4 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv1.mml
+++ b/libs/math/doc/equations/ibeta_inv1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv1.png b/libs/math/doc/equations/ibeta_inv1.png
index cb6a5b18ba..cb6a5b18ba 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv1.png
+++ b/libs/math/doc/equations/ibeta_inv1.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv1.svg b/libs/math/doc/equations/ibeta_inv1.svg
new file mode 100644
index 0000000000..abc7b86ba5
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.596400pt" width="454.584042pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.289940 454.584042 30.596400"><svg:metadata><svgmath:metrics top="30.5963995368" bottom="0.0" baseline="11.3064592005" axis="15.2908342005"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.361855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.354039, 0.000000)"/><svg:g transform="translate(56.687375, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(66.606648, 0.000000)"/><svg:g transform="translate(78.606648, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(142.019402, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(152.039582, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(177.898300, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(241.311054, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(251.331234, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.360906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(28.360906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(34.360906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(43.027570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(52.461812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(61.128476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(70.562718, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">5</svg:text></svg:g><svg:g transform="translate(76.562718, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(85.229382, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(94.663624, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:g transform="translate(104.659718, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.737297, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(42.353094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="141.920781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(393.837952, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv2.mml b/libs/math/doc/equations/ibeta_inv2.mml
index 0408ace8ba..0408ace8ba 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv2.mml
+++ b/libs/math/doc/equations/ibeta_inv2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv2.png b/libs/math/doc/equations/ibeta_inv2.png
index 48264349df..48264349df 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv2.png
+++ b/libs/math/doc/equations/ibeta_inv2.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv2.svg b/libs/math/doc/equations/ibeta_inv2.svg
new file mode 100644
index 0000000000..8d92aa73de
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.641055pt" width="145.513461pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -10.118672 145.513461 14.641055"><svg:metadata><svgmath:metrics top="14.6410546875" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(41.993480, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(55.350922, 0.000000)"/><svg:g transform="translate(67.350922, 0.000000)"/><svg:g transform="translate(79.350922, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(86.018242, 0.000000)"/><svg:g transform="translate(98.018242, 0.000000)"/><svg:g transform="translate(110.018242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(120.248062, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(130.828977, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.684484 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv3.mml b/libs/math/doc/equations/ibeta_inv3.mml
index 639a456e2a..639a456e2a 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv3.mml
+++ b/libs/math/doc/equations/ibeta_inv3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv3.png b/libs/math/doc/equations/ibeta_inv3.png
index 2c620f1752..2c620f1752 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv3.png
+++ b/libs/math/doc/equations/ibeta_inv3.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv3.svg b/libs/math/doc/equations/ibeta_inv3.svg
new file mode 100644
index 0000000000..c4a5a6730d
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.115234pt" width="173.970727pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.027344 173.970727 17.115234"><svg:metadata><svgmath:metrics top="17.115234375" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(48.353531, 0.000000)"/><svg:g transform="translate(60.353531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(67.020852, 0.000000)"/><svg:g transform="translate(79.020852, 0.000000)"/><svg:g transform="translate(91.020852, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.2</svg:text></svg:g><svg:g transform="translate(109.354188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(119.859399, -3.984375)"><svg:g transform="translate(9.636391, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(149.051453, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(158.970727, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.8</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv4.mml b/libs/math/doc/equations/ibeta_inv4.mml
index 5593683881..5593683881 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv4.mml
+++ b/libs/math/doc/equations/ibeta_inv4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv4.png b/libs/math/doc/equations/ibeta_inv4.png
index 2cb9b7b22f..2cb9b7b22f 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv4.png
+++ b/libs/math/doc/equations/ibeta_inv4.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv4.svg b/libs/math/doc/equations/ibeta_inv4.svg
new file mode 100644
index 0000000000..dae1fd68d1
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.201552pt" width="139.352738pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.679169 139.352738 20.201552"><svg:metadata><svgmath:metrics top="20.201552111" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.361855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.354039, 0.000000)"/><svg:g transform="translate(56.687375, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(66.606648, 0.000000)"/><svg:g transform="translate(78.606648, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv5.mml b/libs/math/doc/equations/ibeta_inv5.mml
index 2833b1fd25..2833b1fd25 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv5.mml
+++ b/libs/math/doc/equations/ibeta_inv5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv5.png b/libs/math/doc/equations/ibeta_inv5.png
index cbb03a92b3..cbb03a92b3 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv5.png
+++ b/libs/math/doc/equations/ibeta_inv5.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv5.svg b/libs/math/doc/equations/ibeta_inv5.svg
new file mode 100644
index 0000000000..4f908c5442
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="309.109336pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 309.109336 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="0.0" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 0.000000)"/><svg:g transform="translate(22.657555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(32.758469, 0.000000)"/><svg:g transform="translate(44.758469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(53.425133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(62.859375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(68.859375, 0.000000)"/><svg:g transform="translate(84.192711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(94.293625, 0.000000)"/><svg:g transform="translate(106.293625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(115.654973, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(142.647156, 0.000000)"/><svg:g transform="translate(157.980492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(168.081406, 0.000000)"/><svg:g transform="translate(180.081406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(188.748070, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(198.182313, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(207.926395, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(234.918578, 0.000000)"/><svg:g transform="translate(246.918578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(253.585898, 0.000000)"/><svg:g transform="translate(265.585898, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(275.182906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(285.283820, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(293.950484, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(303.384727, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv6.mml b/libs/math/doc/equations/ibeta_inv6.mml
index edc01bf1b2..edc01bf1b2 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv6.mml
+++ b/libs/math/doc/equations/ibeta_inv6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv6.png b/libs/math/doc/equations/ibeta_inv6.png
index 95d77fc372..95d77fc372 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv6.png
+++ b/libs/math/doc/equations/ibeta_inv6.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv6.svg b/libs/math/doc/equations/ibeta_inv6.svg
new file mode 100644
index 0000000000..d4119d27a8
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.221083pt" width="199.827348pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.698701 199.827348 22.221083"><svg:metadata><svgmath:metrics top="22.221083361" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 0.000000)"/><svg:g transform="translate(21.597008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.697922, 0.000000)"/><svg:g transform="translate(43.697922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(52.364586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(61.798828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(76.160684, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(103.152867, 0.000000)"/><svg:g transform="translate(118.486203, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(128.405477, 0.000000)"/><svg:g transform="translate(140.405477, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(19.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(50.593746, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(54.589840, -11.426489)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.420649)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv7.mml b/libs/math/doc/equations/ibeta_inv7.mml
index 8a2512beda..8a2512beda 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv7.mml
+++ b/libs/math/doc/equations/ibeta_inv7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv7.png b/libs/math/doc/equations/ibeta_inv7.png
index 868a50677d..868a50677d 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv7.png
+++ b/libs/math/doc/equations/ibeta_inv7.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv7.svg b/libs/math/doc/equations/ibeta_inv7.svg
new file mode 100644
index 0000000000..6ecfa88300
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.926161pt" width="229.495785pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.679169 229.495785 25.926161"><svg:metadata><svgmath:metrics top="25.926161486" bottom="0.0" baseline="10.2469921875" axis="14.2313671875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"/><svg:g transform="translate(25.317945, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.418859, 0.000000)"/><svg:g transform="translate(48.004797, -3.984375)"><svg:g transform="translate(9.636391, -6.121992)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="29.665086" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(78.255820, 0.000000)"/><svg:g transform="translate(90.255820, 0.000000)"/><svg:g transform="translate(102.255820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(108.923141, 0.000000)"/><svg:g transform="translate(120.923141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(131.315445, 0.000000)"/><svg:g transform="translate(146.648781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(156.749696, 0.000000)"/><svg:g transform="translate(168.749696, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv8.mml b/libs/math/doc/equations/ibeta_inv8.mml
index 77c50d6eb2..77c50d6eb2 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv8.mml
+++ b/libs/math/doc/equations/ibeta_inv8.mml
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv8.png b/libs/math/doc/equations/ibeta_inv8.png
index 6ffc2f0472..6ffc2f0472 100644
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv8.png
+++ b/libs/math/doc/equations/ibeta_inv8.png
Binary files differ
diff --git a/libs/math/doc/equations/ibeta_inv8.svg b/libs/math/doc/equations/ibeta_inv8.svg
new file mode 100644
index 0000000000..ea845d8ba9
--- /dev/null
+++ b/libs/math/doc/equations/ibeta_inv8.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.288544pt" width="107.931602pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.698701 107.931602 20.288544"><svg:metadata><svgmath:metrics top="20.2885442985" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 0.000000)"/><svg:g transform="translate(21.597008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.697922, 0.000000)"/><svg:g transform="translate(43.697922, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.771311" transform="scale(0.715508, 1)" text-anchor="middle" y="2.954629" x="2.792489" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -6.734220)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(9.659883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(6.390000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(13.487227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(55.405555, -3.984375)"><svg:text font-size="16.771311" transform="scale(0.715508, 1)" text-anchor="middle" y="2.954629" x="2.792489" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(59.401648, -11.426489)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.420649)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma1.mml b/libs/math/doc/equations/igamma1.mml
index 14851a4b9f..14851a4b9f 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma1.mml
+++ b/libs/math/doc/equations/igamma1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma1.png b/libs/math/doc/equations/igamma1.png
index cbfef0e5f6..cbfef0e5f6 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma1.png
+++ b/libs/math/doc/equations/igamma1.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma1.svg b/libs/math/doc/equations/igamma1.svg
new file mode 100644
index 0000000000..74a50a12e3
--- /dev/null
+++ b/libs/math/doc/equations/igamma1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="28.118257pt" width="221.800449pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.817768 221.800449 28.118257"><svg:metadata><svgmath:metrics top="28.1182568097" bottom="0.0" baseline="8.30048861691" axis="12.2848636169"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.327148" font-family="Times New Roman" fill="black">tgamma</svg:text><svg:g transform="translate(40.654301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(66.708984, 0.000000)"/><svg:g transform="translate(82.042320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(92.143235, 0.000000)"/><svg:g transform="translate(104.143235, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(112.539719, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(138.594402, 0.000000)"/><svg:g transform="translate(153.927738, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(164.028653, 0.000000)"/><svg:g transform="translate(176.028653, -3.984375)"><svg:g transform="translate(0.551601, 0.000000)"><svg:text font-size="18.049366" text-anchor="middle" y="5.374229" x="2.498533" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(1.239727, 12.284864)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.000000, -11.906206)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(182.102481, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(199.025117, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(211.710606, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(218.202793, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma10.mml b/libs/math/doc/equations/igamma10.mml
index 39dda6d30e..39dda6d30e 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma10.mml
+++ b/libs/math/doc/equations/igamma10.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma10.png b/libs/math/doc/equations/igamma10.png
index d5d4ac76d6..d5d4ac76d6 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma10.png
+++ b/libs/math/doc/equations/igamma10.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma10.svg b/libs/math/doc/equations/igamma10.svg
new file mode 100644
index 0000000000..10ef06239b
--- /dev/null
+++ b/libs/math/doc/equations/igamma10.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.069616pt" width="145.720909pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.222012 145.720909 40.069616"><svg:metadata><svgmath:metrics top="40.069616319" bottom="0.0" baseline="15.8476046002" axis="19.8319796002"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.445308, 0.000000)"/><svg:g transform="translate(46.778644, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.879559, 0.000000)"/><svg:g transform="translate(68.879559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(78.864168, -3.984375)"><svg:text font-size="30.751565" text-anchor="middle" y="5.872941" x="10.961251" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.342443, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.924337, -16.310449)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(101.372608, -3.984375)"><svg:g transform="translate(4.425992, -4.166016)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.599070, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.973953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.970047, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(39.180332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="44.348301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/igamma11.mml b/libs/math/doc/equations/igamma11.mml
new file mode 100644
index 0000000000..00c9bf8da9
--- /dev/null
+++ b/libs/math/doc/equations/igamma11.mml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>igamma11</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>&#x393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>,</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mtext>tgamma1pm1</mtext>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mtext>powm1</mtext>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mo>,</mo>
+ <mi>a</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mi>a</mi>
+ </mfrac>
+ <mo>+</mo>
+ <msup>
+ <mi>x</mi>
+ <mi>a</mi>
+ </msup>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>k</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>&#x221e;</mi>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mi>k</mi>
+ </msup>
+ <msup>
+ <mi>x</mi>
+ <mi>k</mi>
+ </msup>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ <mi>k</mi>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>tgamma1pm1</mtext>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>&#x393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>a</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>powm1</mtext>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mo>,</mo>
+ <mi>a</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msup>
+ <mi>x</mi>
+ <mi>a</mi>
+ </msup>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/igamma11.png b/libs/math/doc/equations/igamma11.png
new file mode 100644
index 0000000000..eddf7b94bd
--- /dev/null
+++ b/libs/math/doc/equations/igamma11.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma11.svg b/libs/math/doc/equations/igamma11.svg
new file mode 100644
index 0000000000..51d6421303
--- /dev/null
+++ b/libs/math/doc/equations/igamma11.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="58.183070pt" width="308.942500pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -33.075910 308.942500 58.183070"><svg:metadata><svgmath:metrics top="58.1830700566" bottom="0.0" baseline="25.1071600283" axis="29.0915350283"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(46.867196, -10.978215)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(91.580473, -14.962590)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(107.948051, -10.978215)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="23.425840" font-family="Times New Roman" fill="black">tgamma1pm1</svg:text><svg:g transform="translate(48.271683, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.099467, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(68.217782, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="12.809121" font-family="Times New Roman" fill="black">powm1</svg:text></svg:g><svg:g transform="translate(95.226906, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.034470, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(16.131696, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(55.553852, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="115.367704" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(118.620305, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(128.054547, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(138.039157, -3.984375)"><svg:text font-size="24.343878" text-anchor="middle" y="4.091908" x="8.677261" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(17.354523, 10.587765)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.354523, -10.201758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(169.200594, -3.984375)"><svg:g transform="translate(2.355964, -3.421758)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(12.375541, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(15.212767, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(19.115111, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.682093, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(27.784754, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="31.793856" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.000000, 9.435969)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="32.994141" font-family="Times New Roman" fill="black">tgamma1pm1</svg:text><svg:g transform="translate(67.988285, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(91.580473, 5.451594)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(107.948051, 9.435969)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.156242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(52.590484, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.222660, 26.525129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="18.041016" font-family="Times New Roman" fill="black">powm1</svg:text><svg:g transform="translate(38.041020, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(91.580473, 22.540754)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(107.948051, 26.525129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085515, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma11b.mml b/libs/math/doc/equations/igamma11b.mml
index 369538b9c5..369538b9c5 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma11b.mml
+++ b/libs/math/doc/equations/igamma11b.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma11b.png b/libs/math/doc/equations/igamma11b.png
index 464be57c1e..464be57c1e 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma11b.png
+++ b/libs/math/doc/equations/igamma11b.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma11b.svg b/libs/math/doc/equations/igamma11b.svg
new file mode 100644
index 0000000000..447ef00bb4
--- /dev/null
+++ b/libs/math/doc/equations/igamma11b.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.993764pt" width="475.202659pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.679311 475.202659 25.993764"><svg:metadata><svgmath:metrics top="25.9937641132" bottom="0.0" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="16.666992" font-family="Times New Roman" fill="black">gp1m1</svg:text><svg:g transform="translate(35.333988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(48.388676, 0.000000)"/><svg:g transform="translate(63.722012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.822926, 0.000000)"/><svg:g transform="translate(86.302926, 0.000000)"><svg:g transform="translate(8.826281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(14.892250, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(9.240883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.675125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.847000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -6.266367 L 2.975892 -6.266367 L 5.733834 -1.159068 L 5.654382 -0.639534 L 2.745492 -6.026367 L 2.385492 -6.026367 L 5.639730 0.000000 L 7.519641 -12.292734 L 63.666765 -12.292734" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(150.449691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(61.174469, -10.001948)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(71.431601, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(80.865843, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(86.865843, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(93.528601, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(102.962843, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(106.958937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text></svg:g><svg:g transform="translate(114.019484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(129.740835, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(139.175077, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(145.175077, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(149.171171, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(61.174469, -10.001948)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(217.936108, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(375.048558, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(384.482800, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(388.958894, 0.000000)"><svg:g transform="translate(8.826281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(14.892250, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(9.240883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.675125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.847000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -6.266367 L 2.975892 -6.266367 L 5.733834 -1.159068 L 5.654382 -0.639534 L 2.745492 -6.026367 L 2.385492 -6.026367 L 5.639730 0.000000 L 7.519641 -12.292734 L 63.666765 -12.292734" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(455.772323, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(465.206565, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(471.206565, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma12.mml b/libs/math/doc/equations/igamma12.mml
index 058caaf6d3..058caaf6d3 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma12.mml
+++ b/libs/math/doc/equations/igamma12.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma12.png b/libs/math/doc/equations/igamma12.png
index 653bb9cf2a..653bb9cf2a 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma12.png
+++ b/libs/math/doc/equations/igamma12.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma12.svg b/libs/math/doc/equations/igamma12.svg
new file mode 100644
index 0000000000..4b8e4b75b0
--- /dev/null
+++ b/libs/math/doc/equations/igamma12.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.595222pt" width="239.920687pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.069844 239.920687 26.595222"><svg:metadata><svgmath:metrics top="26.5952217877" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(1.481719, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.352109" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(25.938047, 0.000000)"/><svg:g transform="translate(41.271383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(51.372297, 0.000000)"/><svg:g transform="translate(63.372297, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.869453, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(81.827922, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(23.611648, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(58.115875, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(62.111969, -9.902104)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(148.679891, -3.984375)"><svg:g transform="translate(13.695703, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.810867, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.761250 L 4.436719 -3.761250 L 9.384955 5.402151 L 9.305976 5.922560 L 4.206319 -3.521250 L 3.846319 -3.521250 L 9.291797 6.562969 L 12.389062 -13.845469 L 67.950250 -13.845469" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(217.696078, -3.984375)"><svg:g transform="translate(8.112305, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="22.224609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma13.mml b/libs/math/doc/equations/igamma13.mml
index 4f3b51f146..4f3b51f146 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma13.mml
+++ b/libs/math/doc/equations/igamma13.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma13.png b/libs/math/doc/equations/igamma13.png
index dc6baf3c04..dc6baf3c04 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma13.png
+++ b/libs/math/doc/equations/igamma13.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma13.svg b/libs/math/doc/equations/igamma13.svg
new file mode 100644
index 0000000000..ae792a7832
--- /dev/null
+++ b/libs/math/doc/equations/igamma13.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.397701pt" width="409.714947pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.083247 409.714947 29.397701"><svg:metadata><svgmath:metrics top="29.3977005925" bottom="0.0" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.869453, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(18.455625, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(23.611648, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(58.115875, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(62.111969, -9.902104)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(84.827594, 0.000000)"/><svg:g transform="translate(100.160930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(110.261844, 0.000000)"/><svg:g transform="translate(122.261844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -10.081958)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="17.767452" transform="scale(0.479529, 1)" text-anchor="middle" y="4.164197" x="2.958350" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(5.680003, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="15.147129" font-family="Times New Roman" fill="black">log1pmx</svg:text></svg:g><svg:g transform="translate(37.394263, -2.828906)"><svg:text font-size="17.595585" transform="scale(0.484212, 1)" text-anchor="middle" y="4.201290" x="2.929734" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -2.592524)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.328125, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(12.328125, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.839844, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(21.222656, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.734375, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(4.580078, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(12.894531, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.406250, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="36.566406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(40.235664, 0.000000)"><svg:text font-size="17.595585" transform="scale(0.484212, 1)" text-anchor="middle" y="4.201290" x="2.929734" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(80.467154, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(85.688150, -2.828906)"><svg:g transform="translate(0.416016, -2.592524)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text><svg:g transform="translate(10.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(14.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(21.558594, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.732422, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(12.894531, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.406250, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="28.871094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(117.812486, -2.828906)"><svg:text font-size="17.767452" transform="scale(0.479529, 1)" text-anchor="middle" y="4.164197" x="2.958350" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(248.237728, 0.000000)"/><svg:g transform="translate(260.237728, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(266.905049, 0.000000)"/><svg:g transform="translate(280.905053, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="21.333984" font-family="Times New Roman" fill="black">log1pmx</svg:text></svg:g><svg:g transform="translate(325.573025, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(341.961049, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(352.061963, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(361.395947, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(395.218205, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(404.652447, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma16.mml b/libs/math/doc/equations/igamma16.mml
index 3ba06dfd61..3ba06dfd61 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma16.mml
+++ b/libs/math/doc/equations/igamma16.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma16.png b/libs/math/doc/equations/igamma16.png
index 2408c51f6f..2408c51f6f 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma16.png
+++ b/libs/math/doc/equations/igamma16.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma16.svg b/libs/math/doc/equations/igamma16.svg
new file mode 100644
index 0000000000..77a2a0e955
--- /dev/null
+++ b/libs/math/doc/equations/igamma16.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.801016pt" width="256.446750pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.240430 256.446750 23.801016"><svg:metadata><svgmath:metrics top="23.801015625" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.457027, 0.000000)"/><svg:g transform="translate(49.790363, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.891277, 0.000000)"/><svg:g transform="translate(72.477215, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(82.235031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text></svg:g><svg:g transform="translate(102.879567, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.948156 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(19.904250, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(129.446574, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(139.466754, -3.984375)"><svg:g transform="translate(5.983043, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(12.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 25.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.544445" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(166.597137, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g><svg:g transform="translate(174.390106, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.568355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(200.954555, 0.000000)"/><svg:g transform="translate(212.954555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(219.621875, 0.000000)"/><svg:g transform="translate(231.621875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(240.527477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(250.446750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma17.mml b/libs/math/doc/equations/igamma17.mml
index 8309cced35..8309cced35 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma17.mml
+++ b/libs/math/doc/equations/igamma17.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma17.png b/libs/math/doc/equations/igamma17.png
index 17e2aff32f..17e2aff32f 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma17.png
+++ b/libs/math/doc/equations/igamma17.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma17.svg b/libs/math/doc/equations/igamma17.svg
new file mode 100644
index 0000000000..f1676bcfc6
--- /dev/null
+++ b/libs/math/doc/equations/igamma17.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.801016pt" width="257.554172pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.240430 257.554172 23.801016"><svg:metadata><svgmath:metrics top="23.801015625" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.382808, 0.000000)"/><svg:g transform="translate(50.716144, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.817059, 0.000000)"/><svg:g transform="translate(73.402996, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(83.160813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text></svg:g><svg:g transform="translate(103.805348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.948156 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(19.904250, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(130.372356, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(140.392535, -3.984375)"><svg:g transform="translate(5.983043, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(12.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 25.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.544445" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(167.522918, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g><svg:g transform="translate(175.315887, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.568355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(201.880336, 0.000000)"/><svg:g transform="translate(213.880336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(220.547656, 0.000000)"/><svg:g transform="translate(232.547656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(241.453258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(251.554172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma18.mml b/libs/math/doc/equations/igamma18.mml
index 929f54f655..929f54f655 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma18.mml
+++ b/libs/math/doc/equations/igamma18.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma18.png b/libs/math/doc/equations/igamma18.png
index cb17585995..cb17585995 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma18.png
+++ b/libs/math/doc/equations/igamma18.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma18.svg b/libs/math/doc/equations/igamma18.svg
new file mode 100644
index 0000000000..83fe5d579d
--- /dev/null
+++ b/libs/math/doc/equations/igamma18.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.085938pt" width="318.445300pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.027344 318.445300 14.085938"><svg:metadata><svgmath:metrics top="14.0859375" bottom="0.0" baseline="3.05859375" axis="7.04296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(8.905602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(19.592453, -3.984375)"><svg:g transform="translate(0.723633, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(27.350266, 0.000000)"/><svg:g transform="translate(39.350266, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(46.350262, 0.000000)"/><svg:g transform="translate(58.350262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(67.947270, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.048184, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(84.048184, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(8.238930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.673172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(26.339836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.774078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(45.108062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(54.676422, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(146.054035, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(158.821613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(168.255855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(174.255855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(28.425125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.421867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(53.856109, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(64.180328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(242.432277, 0.000000)"/><svg:g transform="translate(254.432277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(261.099597, 0.000000)"/><svg:g transform="translate(273.099597, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g><svg:g transform="translate(282.761058, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(293.447910, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(9.498695, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.997391" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma19.mml b/libs/math/doc/equations/igamma19.mml
index 433cfdb87d..433cfdb87d 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma19.mml
+++ b/libs/math/doc/equations/igamma19.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma19.png b/libs/math/doc/equations/igamma19.png
index ffee42dedd..ffee42dedd 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma19.png
+++ b/libs/math/doc/equations/igamma19.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma19.svg b/libs/math/doc/equations/igamma19.svg
new file mode 100644
index 0000000000..86edf9ef7f
--- /dev/null
+++ b/libs/math/doc/equations/igamma19.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="43.894277pt" width="279.565602pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.122637 279.565602 43.894277"><svg:metadata><svgmath:metrics top="43.8942773437" bottom="0.0" baseline="19.771640625" axis="23.756015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(7.792969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.568355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.357418, 0.000000)"/><svg:g transform="translate(49.690754, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.791668, 0.000000)"/><svg:g transform="translate(71.791668, -3.984375)"><svg:text font-size="32.441633" text-anchor="middle" y="9.432226" x="11.563668" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.944859, 23.656172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.200182, -14.497090)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(94.919004, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="32.441633" transform="scale(0.369895, 1)" text-anchor="middle" y="9.432226" x="5.401659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.631436, 0.000000)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.031055" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 16.333945)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(2.587617, -7.420312)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.827344" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text></svg:g></svg:g><svg:g transform="translate(13.324980, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.443359, -5.703809)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.028340, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.346934, -3.984375)"><svg:text font-size="32.441633" transform="scale(0.369895, 1)" text-anchor="middle" y="9.432226" x="5.401659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(138.262031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(153.239648, 0.000000)"/><svg:g transform="translate(165.239648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(171.906969, 0.000000)"/><svg:g transform="translate(183.906969, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(192.302805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(204.403723, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sign</svg:text></svg:g><svg:g transform="translate(226.407633, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(8.238930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.673172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.669266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(258.552992, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 21.012609 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma1f.mml b/libs/math/doc/equations/igamma1f.mml
index 860a586ce9..860a586ce9 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma1f.mml
+++ b/libs/math/doc/equations/igamma1f.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma1f.png b/libs/math/doc/equations/igamma1f.png
index 982cf3b923..982cf3b923 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma1f.png
+++ b/libs/math/doc/equations/igamma1f.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma1f.svg b/libs/math/doc/equations/igamma1f.svg
new file mode 100644
index 0000000000..87ae3ae0d5
--- /dev/null
+++ b/libs/math/doc/equations/igamma1f.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.091270pt" width="184.476250pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.020879 184.476250 35.091270"><svg:metadata><svgmath:metrics top="35.0912695312" bottom="0.0" baseline="13.070390625" axis="17.054765625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.382808, 0.000000)"/><svg:g transform="translate(50.716144, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.817059, 0.000000)"/><svg:g transform="translate(72.817059, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(87.012684, -3.984375)"><svg:text font-size="22.837057" text-anchor="middle" y="4.961924" x="8.140162" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.477672, 16.954922)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(1.477672, -12.278848)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(103.878945, -3.984375)"><svg:g transform="translate(1.258346, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.501301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(116.966183, 0.000000)"/><svg:g transform="translate(128.966183, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(135.633504, 0.000000)"/><svg:g transform="translate(147.633504, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(156.966840, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∈</svg:text></svg:g><svg:g transform="translate(169.839238, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.916016" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℕ</svg:text><svg:g transform="translate(9.832031, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma2.mml b/libs/math/doc/equations/igamma2.mml
index 03afa3117d..03afa3117d 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma2.mml
+++ b/libs/math/doc/equations/igamma2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma2.png b/libs/math/doc/equations/igamma2.png
index b32a9e3355..b32a9e3355 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma2.png
+++ b/libs/math/doc/equations/igamma2.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma2.svg b/libs/math/doc/equations/igamma2.svg
new file mode 100644
index 0000000000..1c2b976e63
--- /dev/null
+++ b/libs/math/doc/equations/igamma2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.493706pt" width="250.427716pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.000815 250.427716 30.493706"><svg:metadata><svgmath:metrics top="30.4937060285" bottom="0.0" baseline="10.4928909607" axis="14.4772659607"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="35.988281" font-family="Times New Roman" fill="black">tgamma_lower</svg:text><svg:g transform="translate(74.052738, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(100.107422, 0.000000)"/><svg:g transform="translate(115.440758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(125.541672, 0.000000)"/><svg:g transform="translate(137.541672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(142.270188, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(168.324871, 0.000000)"/><svg:g transform="translate(183.658207, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(193.759121, 0.000000)"/><svg:g transform="translate(205.759121, -3.984375)"><svg:text font-size="18.049366" text-anchor="middle" y="5.374229" x="2.498533" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(0.355313, 14.377422)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(0.688126, -12.351342)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(210.729748, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(227.652384, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(240.337873, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(246.830060, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma2f.mml b/libs/math/doc/equations/igamma2f.mml
index ca8da88730..ca8da88730 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma2f.mml
+++ b/libs/math/doc/equations/igamma2f.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma2f.png b/libs/math/doc/equations/igamma2f.png
index a3a9944120..a3a9944120 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma2f.png
+++ b/libs/math/doc/equations/igamma2f.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma2f.svg b/libs/math/doc/equations/igamma2f.svg
new file mode 100644
index 0000000000..80f927aff8
--- /dev/null
+++ b/libs/math/doc/equations/igamma2f.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="41.189457pt" width="398.822501pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.679746 398.822501 41.189457"><svg:metadata><svgmath:metrics top="41.1894574257" bottom="0.0" baseline="19.5097113319" axis="23.4940863319"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.382808, 0.000000)"/><svg:g transform="translate(50.716144, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.817059, 0.000000)"/><svg:g transform="translate(74.817063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text></svg:g><svg:g transform="translate(95.461598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.409094 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(19.365188, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(121.489543, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(131.509723, -3.984375)"><svg:g transform="translate(3.036715, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 19.097180 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.269055" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(152.364715, -3.984375)"><svg:text font-size="29.919618" text-anchor="middle" y="9.872684" x="10.664708" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.002217, 23.394243)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.481143, -12.278848)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(174.280068, -3.984375)"><svg:g transform="translate(37.623812, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.957055)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.030180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="6.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g><svg:g transform="translate(51.363516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="85.232234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(260.098239, 0.000000)"/><svg:g transform="translate(272.098239, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(278.765560, 0.000000)"/><svg:g transform="translate(290.765560, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(300.098896, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(310.199810, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(316.200458, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(326.220638, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(333.978450, 0.000000)"/><svg:g transform="translate(345.978450, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(352.645771, 0.000000)"/><svg:g transform="translate(364.645771, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(371.313091, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∈</svg:text></svg:g><svg:g transform="translate(384.185490, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.916016" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℕ</svg:text><svg:g transform="translate(9.832031, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma3.mml b/libs/math/doc/equations/igamma3.mml
index 6824ac5b6d..6824ac5b6d 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma3.mml
+++ b/libs/math/doc/equations/igamma3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma3.png b/libs/math/doc/equations/igamma3.png
index dda32ae2e8..dda32ae2e8 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma3.png
+++ b/libs/math/doc/equations/igamma3.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma3.svg b/libs/math/doc/equations/igamma3.svg
new file mode 100644
index 0000000000..6cf729441b
--- /dev/null
+++ b/libs/math/doc/equations/igamma3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.749490pt" width="331.202169pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -27.235366 331.202169 37.749490"><svg:metadata><svgmath:metrics top="37.7494904583" bottom="0.0" baseline="10.5141247246" axis="14.4984997246"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="23.660156" font-family="Times New Roman" fill="black">gamma_q</svg:text><svg:g transform="translate(49.320316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.375000, 0.000000)"/><svg:g transform="translate(90.708336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(100.809250, 0.000000)"/><svg:g transform="translate(112.809250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text></svg:g><svg:g transform="translate(121.475266, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(147.529949, 0.000000)"/><svg:g transform="translate(162.863285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(172.964199, 0.000000)"/><svg:g transform="translate(185.550137, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(6.617185, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.623043" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(221.759117, 0.000000)"/><svg:g transform="translate(237.092453, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(247.193367, 0.000000)"/><svg:g transform="translate(259.779305, -3.984375)"><svg:g transform="translate(8.780273, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.560547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(283.925789, -3.984375)"><svg:text font-size="27.518769" text-anchor="middle" y="6.570644" x="3.809361" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(1.992018, 14.498500)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.752291, -19.323803)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(291.504200, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(308.426837, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(321.112325, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(327.604513, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma4.mml b/libs/math/doc/equations/igamma4.mml
index 11a32394c1..11a32394c1 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma4.mml
+++ b/libs/math/doc/equations/igamma4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma4.png b/libs/math/doc/equations/igamma4.png
index e593a2a359..e593a2a359 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma4.png
+++ b/libs/math/doc/equations/igamma4.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma4.svg b/libs/math/doc/equations/igamma4.svg
new file mode 100644
index 0000000000..d5f54d1ac5
--- /dev/null
+++ b/libs/math/doc/equations/igamma4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.151187pt" width="326.615526pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -27.447457 326.615526 40.151187"><svg:metadata><svgmath:metrics top="40.1511871266" bottom="0.0" baseline="12.7037296925" axis="16.6881046925"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="23.660156" font-family="Times New Roman" fill="black">gamma_p</svg:text><svg:g transform="translate(49.320316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.375000, 0.000000)"/><svg:g transform="translate(90.708336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(100.809250, 0.000000)"/><svg:g transform="translate(112.809250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(120.549485, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(146.604168, 0.000000)"/><svg:g transform="translate(161.937504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(172.038418, 0.000000)"/><svg:g transform="translate(184.624356, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.783201, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.955074" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(217.165367, 0.000000)"/><svg:g transform="translate(232.498703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(242.599617, 0.000000)"/><svg:g transform="translate(255.185555, -3.984375)"><svg:g transform="translate(8.780273, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.560547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(279.332039, -3.984375)"><svg:text font-size="27.544576" text-anchor="middle" y="6.565074" x="3.812933" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(1.662759, 16.588261)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(1.995571, -19.797985)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(286.917557, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(303.840194, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(316.525682, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(323.017870, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma5.mml b/libs/math/doc/equations/igamma5.mml
index 6075fe0421..6075fe0421 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma5.mml
+++ b/libs/math/doc/equations/igamma5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma5.png b/libs/math/doc/equations/igamma5.png
index 30d59924f5..30d59924f5 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma5.png
+++ b/libs/math/doc/equations/igamma5.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma5.svg b/libs/math/doc/equations/igamma5.svg
new file mode 100644
index 0000000000..2c51fb503f
--- /dev/null
+++ b/libs/math/doc/equations/igamma5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="125.374992pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 125.374992 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0234626745435" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.049472, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(47.483715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(55.223949, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(81.940742, 0.000000)"/><svg:g transform="translate(97.274078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(107.374992, 0.000000)"/><svg:g transform="translate(119.374992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma6.mml b/libs/math/doc/equations/igamma6.mml
index b617ec1607..b617ec1607 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma6.mml
+++ b/libs/math/doc/equations/igamma6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma6.png b/libs/math/doc/equations/igamma6.png
index 14ebd66c68..14ebd66c68 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma6.png
+++ b/libs/math/doc/equations/igamma6.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma6.svg b/libs/math/doc/equations/igamma6.svg
new file mode 100644
index 0000000000..84c2845b46
--- /dev/null
+++ b/libs/math/doc/equations/igamma6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="137.158195pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 137.158195 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.117832, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(46.552074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(51.280590, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(77.335273, 0.000000)"/><svg:g transform="translate(92.668609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(102.769523, 0.000000)"/><svg:g transform="translate(114.769523, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(123.166008, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma7.mml b/libs/math/doc/equations/igamma7.mml
index e58ec27278..e58ec27278 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma7.mml
+++ b/libs/math/doc/equations/igamma7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma7.png b/libs/math/doc/equations/igamma7.png
index 0e871e9df3..0e871e9df3 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma7.png
+++ b/libs/math/doc/equations/igamma7.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma7.svg b/libs/math/doc/equations/igamma7.svg
new file mode 100644
index 0000000000..b833b36460
--- /dev/null
+++ b/libs/math/doc/equations/igamma7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.042969pt" width="243.720043pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 243.720043 25.042969"><svg:metadata><svgmath:metrics top="25.04296875" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.720699, 0.000000)"/><svg:g transform="translate(50.054035, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.154949, 0.000000)"/><svg:g transform="translate(72.740887, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(6.617185, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.623043" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(108.949867, 0.000000)"/><svg:g transform="translate(120.949867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(127.949863, 0.000000)"/><svg:g transform="translate(139.949863, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(147.690097, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(173.744781, 0.000000)"/><svg:g transform="translate(189.078117, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(199.179031, 0.000000)"/><svg:g transform="translate(211.764969, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.783201, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.955074" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma8.mml b/libs/math/doc/equations/igamma8.mml
index b3084311be..b3084311be 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma8.mml
+++ b/libs/math/doc/equations/igamma8.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma8.png b/libs/math/doc/equations/igamma8.png
index 37658356a6..37658356a6 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma8.png
+++ b/libs/math/doc/equations/igamma8.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma8.svg b/libs/math/doc/equations/igamma8.svg
new file mode 100644
index 0000000000..be6b0b2613
--- /dev/null
+++ b/libs/math/doc/equations/igamma8.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.891862pt" width="288.463548pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.282819 288.463548 38.891862"><svg:metadata><svgmath:metrics top="38.8918624127" bottom="0.0" baseline="17.6090429688" axis="21.5934179688"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.445308, 0.000000)"/><svg:g transform="translate(46.778644, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.879559, 0.000000)"/><svg:g transform="translate(68.879559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(78.864168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(93.059793, -3.984375)"><svg:text font-size="29.456162" text-anchor="middle" y="7.913953" x="10.499511" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.880702, 21.493574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.462597, -13.371257)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(114.644752, -3.984375)"><svg:g transform="translate(18.625320, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(26.644523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.078765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.074859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="59.639312" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(174.870002, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(184.854612, 0.000000)"/><svg:g transform="translate(200.187948, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(210.288862, 0.000000)"/><svg:g transform="translate(222.288862, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(232.273471, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(246.469096, -3.984375)"><svg:text font-size="29.456162" text-anchor="middle" y="7.913953" x="10.499511" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.880702, 21.493574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.462597, -13.371257)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(268.054056, -3.984375)"><svg:g transform="translate(5.212441, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.130566)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(4.362949, -6.999707)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.409492" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma9.mml b/libs/math/doc/equations/igamma9.mml
index 9f4f708690..9f4f708690 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma9.mml
+++ b/libs/math/doc/equations/igamma9.mml
diff --git a/libs/math/doc/sf_and_dist/equations/igamma9.png b/libs/math/doc/equations/igamma9.png
index f129d66236..f129d66236 100644
--- a/libs/math/doc/sf_and_dist/equations/igamma9.png
+++ b/libs/math/doc/equations/igamma9.png
Binary files differ
diff --git a/libs/math/doc/equations/igamma9.svg b/libs/math/doc/equations/igamma9.svg
new file mode 100644
index 0000000000..9f5cd0e0a2
--- /dev/null
+++ b/libs/math/doc/equations/igamma9.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="42.214609pt" width="395.578110pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.856738 395.578110 42.214609"><svg:metadata><svgmath:metrics top="42.214609375" axis="31.3422460937" baseline="27.3578710937" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.113277, 0.000000)"/><svg:g transform="translate(50.446613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.547527, 0.000000)"/><svg:g transform="translate(73.133465, -3.984375)"><svg:g transform="translate(42.741186, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 14.639160)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(26.492180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.926422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(44.593086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(54.613265, -3.984375)"><svg:g transform="translate(22.857561, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.962676)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(10.055675, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.170003, -2.828906)"><svg:g transform="translate(9.560763, -4.999004)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.769531)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(3.902344, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.414063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.416016, 6.690410)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.769531)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(3.902344, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.414063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.191838, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(26.703557, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="35.535589" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="53.877466" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="109.662606" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(183.382009, 0.000000)"/><svg:g transform="translate(195.382009, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(202.049329, 0.000000)"/><svg:g transform="translate(214.049329, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(227.538661, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(237.639575, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(243.493091, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(275.439700, 0.000000)"/><svg:g transform="translate(287.439700, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(294.107021, 0.000000)"/><svg:g transform="translate(306.107021, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(319.596353, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(329.697267, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(338.088540, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(347.522782, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(356.189446, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(365.623689, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(371.623689, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(380.143868, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(389.578110, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/jacobi1.mml b/libs/math/doc/equations/jacobi1.mml
new file mode 100644
index 0000000000..9683446c29
--- /dev/null
+++ b/libs/math/doc/equations/jacobi1.mml
@@ -0,0 +1,51 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>jacobi1</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mi>u</mi>
+ <mspace width="1em"/>
+ <mo>=</mo>
+ <mspace width="1em"/>
+ <munderover>
+ <mo>&#x222B;</mo>
+ <mrow>
+ <mn>0</mn>
+ </mrow>
+ <mi>&#x03C6;</mi>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <mi>d</mi>
+ <mi>&#x03C6;</mi>
+ </mrow>
+ <mrow>
+ <msqrt>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <msup>
+ <mi>sin</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ </mrow>
+ </mfenced>
+ </msqrt>
+ </mrow>
+ </mfrac>
+ </mrow>
+</math>
+</body>
+</html>
diff --git a/libs/math/doc/equations/jacobi1.png b/libs/math/doc/equations/jacobi1.png
new file mode 100644
index 0000000000..f844e7e47e
--- /dev/null
+++ b/libs/math/doc/equations/jacobi1.png
Binary files differ
diff --git a/libs/math/doc/equations/jacobi1.svg b/libs/math/doc/equations/jacobi1.svg
new file mode 100644
index 0000000000..2041faffb6
--- /dev/null
+++ b/libs/math/doc/equations/jacobi1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="46.429344pt" width="123.736635pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -30.260724 123.736635 46.429344"><svg:metadata><svgmath:metrics top="46.4293441795" bottom="0.0" baseline="16.1686202674" axis="20.1529952674"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 0.000000)"/><svg:g transform="translate(21.333336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.434250, 0.000000)"/><svg:g transform="translate(43.434250, -3.984375)"><svg:text font-size="31.827545" text-anchor="middle" y="9.569880" x="4.405815" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(2.252504, 20.053152)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(2.025775, -22.511408)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(52.785195, -3.984375)"><svg:g transform="translate(28.910290, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.872505)"><svg:g transform="translate(8.017057, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.214422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.478328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(57.113094, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.136448 L 2.929121 -6.136448 L 5.616957 -1.158973 L 5.537480 -0.639487 L 2.698721 -5.896448 L 2.338721 -5.896448 L 5.522803 0.000000 L 7.363737 -12.032895 L 69.779565 -12.032895" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="70.951440" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/jacobi2.mml b/libs/math/doc/equations/jacobi2.mml
new file mode 100644
index 0000000000..5819c74caf
--- /dev/null
+++ b/libs/math/doc/equations/jacobi2.mml
@@ -0,0 +1,92 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>jacobi2</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>s</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>sin</mi>
+ <mi>&#x03C6;</mi>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>c</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>cos</mi>
+ <mi>&#x03C6;</mi>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>d</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <msup>
+ <mi>sin</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&#x03C6;</mi>
+ </mrow>
+ </mfenced>
+ </msqrt>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html>
diff --git a/libs/math/doc/equations/jacobi2.png b/libs/math/doc/equations/jacobi2.png
new file mode 100644
index 0000000000..84d96aae70
--- /dev/null
+++ b/libs/math/doc/equations/jacobi2.png
Binary files differ
diff --git a/libs/math/doc/equations/jacobi2.svg b/libs/math/doc/equations/jacobi2.svg
new file mode 100644
index 0000000000..d3c1d4bca4
--- /dev/null
+++ b/libs/math/doc/equations/jacobi2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="47.394014pt" width="135.085030pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -27.681382 135.085030 47.394014"><svg:metadata><svgmath:metrics top="47.3940141229" bottom="0.0" baseline="19.7126320615" axis="23.6970070615"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.710938, -15.353244)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.781250, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, -19.337619)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, -15.353244)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(1.166016, 0.924112)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(11.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, -3.060263)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, 0.924112)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 21.130601)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.492188, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, 17.146226)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, 21.130601)"><svg:g transform="translate(8.017057, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.214422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.478328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(57.113094, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.136448 L 2.929121 -6.136448 L 5.616957 -1.158973 L 5.537480 -0.639487 L 2.698721 -5.896448 L 2.338721 -5.896448 L 5.522803 0.000000 L 7.363737 -12.032895 L 69.779565 -12.032895" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/jacobi3.mml b/libs/math/doc/equations/jacobi3.mml
new file mode 100644
index 0000000000..7acd615b7e
--- /dev/null
+++ b/libs/math/doc/equations/jacobi3.mml
@@ -0,0 +1,135 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>jacobi3</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>&#x03BC;</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mn>1</mn>
+ <mrow>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ </mrow>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>&#x03BD;</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>u</mi>
+ <mi>k</mi>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>s</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mi>s</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03BD;</mi>
+ <mo>,</mo>
+ <mi>&#x03BC;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mi>k</mi>
+ </mfrac>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>c</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>d</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03BD;</mi>
+ <mo>,</mo>
+ <mi>&#x03BC;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>d</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>c</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>&#x03BD;</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html>
+
diff --git a/libs/math/doc/equations/jacobi3.png b/libs/math/doc/equations/jacobi3.png
new file mode 100644
index 0000000000..460175ae56
--- /dev/null
+++ b/libs/math/doc/equations/jacobi3.png
Binary files differ
diff --git a/libs/math/doc/equations/jacobi3.svg b/libs/math/doc/equations/jacobi3.svg
new file mode 100644
index 0000000000..67c50beed1
--- /dev/null
+++ b/libs/math/doc/equations/jacobi3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="87.036493pt" width="104.772258pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -47.502622 104.772258 87.036493"><svg:metadata><svgmath:metrics top="87.036493312" bottom="0.0" baseline="39.533871656" axis="43.518246656"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(32.681637, -32.176606)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(48.937887, -36.160981)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, -36.160981)"><svg:g transform="translate(2.533936, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.327871" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(34.011715, -11.545356)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(48.937887, -15.529731)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, -11.545356)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(1.710938, 7.309301)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.781250, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, 3.324926)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, 3.324926)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(3.394687, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.654687, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(8.751579, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(16.314743, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.911268, 7.515352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.978532" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(1.166016, 24.651072)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(11.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, 20.666697)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, 24.651072)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.492188, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.326168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(22.978512, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 40.951866)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.492188, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, 36.967491)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.305465, 40.951866)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(11.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.326168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.175777, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/jacobi4.mml b/libs/math/doc/equations/jacobi4.mml
new file mode 100644
index 0000000000..fee4e4d297
--- /dev/null
+++ b/libs/math/doc/equations/jacobi4.mml
@@ -0,0 +1,170 @@
+<?xml version='1.0'?>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
+ 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
+ [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head><title>jacobi4</title>
+<!-- MathML created with MathCast Equation Editor version 0.89 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>s</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>&#x2248;</mo>
+ </mtd>
+ <mtd>
+ <mi>sin</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>4</mn>
+ </mfrac>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>&#x2212;</mo>
+ <mi>sin</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ <mi>cos</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ <mi>cos</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>c</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>&#x2248;</mo>
+ </mtd>
+ <mtd>
+ <mi>cos</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>4</mn>
+ </mfrac>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>&#x2212;</mo>
+ <mi>sin</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ <mi>cos</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ <mi>sin</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>d</mi>
+ <mi>n</mi>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ <mo>,</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>&#x2248;</mo>
+ </mtd>
+ <mtd>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>sin</mi>
+ <msup>
+ <mi/>
+ <mn>2</mn>
+ </msup>
+ <mfenced>
+ <mrow>
+ <mi>u</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+</body>
+</html>
+
diff --git a/libs/math/doc/equations/jacobi4.png b/libs/math/doc/equations/jacobi4.png
new file mode 100644
index 0000000000..f950a69c31
--- /dev/null
+++ b/libs/math/doc/equations/jacobi4.png
Binary files differ
diff --git a/libs/math/doc/equations/jacobi4.svg b/libs/math/doc/equations/jacobi4.svg
new file mode 100644
index 0000000000..4752cfb8a5
--- /dev/null
+++ b/libs/math/doc/equations/jacobi4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.877969pt" width="236.003839pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.423359 236.003839 54.877969"><svg:metadata><svgmath:metrics top="54.87796875" bottom="0.0" baseline="23.454609375" axis="27.438984375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.710938, -16.097344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.781250, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, -20.081719)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(65.123824, -16.097344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.662758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(40.682937, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(46.700750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(56.814265, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(32.104812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.097000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(62.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(80.081375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(140.891734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(156.887828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.166016, 3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(11.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(65.123824, 3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.654945, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(42.675125, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(48.692937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(58.806453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(32.104812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.097000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(62.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(80.081375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(142.883922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(156.887828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 24.066094)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.492188, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.849605, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(48.937887, 20.081719)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(65.123824, 24.066094)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(24.704656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(34.818172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(48.822078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(53.082078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_0.mml b/libs/math/doc/equations/laguerre_0.mml
index f3b4dbaab2..f3b4dbaab2 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_0.mml
+++ b/libs/math/doc/equations/laguerre_0.mml
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_0.png b/libs/math/doc/equations/laguerre_0.png
index d3d674a2a2..d3d674a2a2 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_0.png
+++ b/libs/math/doc/equations/laguerre_0.png
Binary files differ
diff --git a/libs/math/doc/equations/laguerre_0.svg b/libs/math/doc/equations/laguerre_0.svg
new file mode 100644
index 0000000000..e074219574
--- /dev/null
+++ b/libs/math/doc/equations/laguerre_0.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.286426pt" width="232.593473pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.398438 232.593473 22.286426"><svg:metadata><svgmath:metrics top="22.2864257812" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.652344" font-family="Times New Roman" fill="black">laguerre</svg:text><svg:g transform="translate(41.304691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.021484, 0.000000)"/><svg:g transform="translate(83.354820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(93.455735, 0.000000)"/><svg:g transform="translate(105.455735, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(116.776281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(130.493078, 0.000000)"/><svg:g transform="translate(145.826414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(155.927328, 0.000000)"/><svg:g transform="translate(168.513266, -3.984375)"><svg:g transform="translate(1.555328, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.501301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.186442, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.648672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(200.421051, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(28.176328, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_1.mml b/libs/math/doc/equations/laguerre_1.mml
index 830db0603c..830db0603c 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_1.mml
+++ b/libs/math/doc/equations/laguerre_1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_1.png b/libs/math/doc/equations/laguerre_1.png
index 3a0f723394..3a0f723394 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_1.png
+++ b/libs/math/doc/equations/laguerre_1.png
Binary files differ
diff --git a/libs/math/doc/equations/laguerre_1.svg b/libs/math/doc/equations/laguerre_1.svg
new file mode 100644
index 0000000000..3e6212b645
--- /dev/null
+++ b/libs/math/doc/equations/laguerre_1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.286426pt" width="269.774128pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.398438 269.774128 22.286426"><svg:metadata><svgmath:metrics top="22.2864257812" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.652344" font-family="Times New Roman" fill="black">laguerre</svg:text><svg:g transform="translate(41.304691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(21.666012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.666008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(38.386711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.687496, 0.000000)"/><svg:g transform="translate(99.020832, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(109.121746, 0.000000)"/><svg:g transform="translate(121.121746, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(134.335164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(148.051961, 0.000000)"/><svg:g transform="translate(163.385297, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(173.486211, 0.000000)"/><svg:g transform="translate(185.486211, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(213.651453, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="19.541543" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(233.778933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(256.057331, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_2.mml b/libs/math/doc/equations/laguerre_2.mml
index 13dccc1bba..13dccc1bba 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_2.mml
+++ b/libs/math/doc/equations/laguerre_2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_2.png b/libs/math/doc/equations/laguerre_2.png
index 21da6e4b1b..21da6e4b1b 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_2.png
+++ b/libs/math/doc/equations/laguerre_2.png
Binary files differ
diff --git a/libs/math/doc/equations/laguerre_2.svg b/libs/math/doc/equations/laguerre_2.svg
new file mode 100644
index 0000000000..d8f45761e0
--- /dev/null
+++ b/libs/math/doc/equations/laguerre_2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.253965pt" width="206.453570pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.728587 206.453570 25.253965"><svg:metadata><svgmath:metrics top="25.2539648438" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.385527, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.102324, 0.000000)"/><svg:g transform="translate(49.435660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.536574, 0.000000)"/><svg:g transform="translate(72.122512, -3.984375)"><svg:g transform="translate(0.585938, -4.400449)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(32.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(42.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(51.922515, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.918609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(67.239156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.622617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(93.056859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(99.056859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(119.442386, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.118982, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="134.331058" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_3.mml b/libs/math/doc/equations/laguerre_3.mml
index c4a35e0543..c4a35e0543 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_3.mml
+++ b/libs/math/doc/equations/laguerre_3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_3.png b/libs/math/doc/equations/laguerre_3.png
index 585904929a..585904929a 100644
--- a/libs/math/doc/sf_and_dist/equations/laguerre_3.png
+++ b/libs/math/doc/equations/laguerre_3.png
Binary files differ
diff --git a/libs/math/doc/equations/laguerre_3.svg b/libs/math/doc/equations/laguerre_3.svg
new file mode 100644
index 0000000000..a414bb78a2
--- /dev/null
+++ b/libs/math/doc/equations/laguerre_3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.699219pt" width="244.817785pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 244.817785 19.699219"><svg:metadata><svgmath:metrics top="19.69921875" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(20.385527, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.102324, 0.000000)"/><svg:g transform="translate(49.435660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.536574, 0.000000)"/><svg:g transform="translate(72.122512, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(11.332680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(26.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(35.433586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(44.867828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(53.534492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(62.968734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.882156, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="69.865218" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(142.573668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(155.787086, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(172.170547, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(182.190726, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(11.332680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(1.918945, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.938797" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(210.715460, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(231.100988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0.mml b/libs/math/doc/equations/lanczos0.mml
index b35220cf95..b35220cf95 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos0.mml
+++ b/libs/math/doc/equations/lanczos0.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0.png b/libs/math/doc/equations/lanczos0.png
index 232174dba5..232174dba5 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos0.png
+++ b/libs/math/doc/equations/lanczos0.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos0.svg b/libs/math/doc/equations/lanczos0.svg
new file mode 100644
index 0000000000..1d6615cde4
--- /dev/null
+++ b/libs/math/doc/equations/lanczos0.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.197333pt" width="245.451531pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.674950 245.451531 17.197333"><svg:metadata><svgmath:metrics top="17.1973331557" bottom="0.0" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(39.552078, 0.000000)"/><svg:g transform="translate(54.885414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(64.986328, 0.000000)"/><svg:g transform="translate(77.466328, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 21.071203 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(99.017531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(54.834625, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(58.830719, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(176.897605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(13.067051, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.872031, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(31.359258, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(221.225242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text><svg:g transform="translate(6.503906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(232.396844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0a.mml b/libs/math/doc/equations/lanczos0a.mml
index 6ba9b4c0eb..6ba9b4c0eb 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos0a.mml
+++ b/libs/math/doc/equations/lanczos0a.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0a.png b/libs/math/doc/equations/lanczos0a.png
index 522b16671c..522b16671c 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos0a.png
+++ b/libs/math/doc/equations/lanczos0a.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos0a.svg b/libs/math/doc/equations/lanczos0a.svg
new file mode 100644
index 0000000000..c2c872d785
--- /dev/null
+++ b/libs/math/doc/equations/lanczos0a.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="253.907960pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 253.907960 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text><svg:g transform="translate(6.503906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(11.171602, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.226289, 0.000000)"/><svg:g transform="translate(39.559625, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.660539, 0.000000)"/><svg:g transform="translate(61.660539, -3.984375)"><svg:text font-size="27.518769" transform="scale(0.436066, 1)" text-anchor="middle" y="6.570644" x="4.581983" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(66.242570, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(74.000383, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(86.927047, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(96.361289, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(107.207227, -3.984375)"><svg:g transform="translate(9.636391, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.335281" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(134.795109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(144.229351, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(155.075289, -3.984375)"><svg:g transform="translate(13.632484, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.155594, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.483062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(221.810953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(234.578531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="6.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g><svg:g transform="translate(249.911867, -3.984375)"><svg:text font-size="27.518769" transform="scale(0.436066, 1)" text-anchor="middle" y="6.570644" x="4.581983" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0b.mml b/libs/math/doc/equations/lanczos0b.mml
index 8a1d2617f5..8a1d2617f5 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos0b.mml
+++ b/libs/math/doc/equations/lanczos0b.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0b.png b/libs/math/doc/equations/lanczos0b.png
index ea09e8a9fd..ea09e8a9fd 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos0b.png
+++ b/libs/math/doc/equations/lanczos0b.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos0b.svg b/libs/math/doc/equations/lanczos0b.svg
new file mode 100644
index 0000000000..aeea964baa
--- /dev/null
+++ b/libs/math/doc/equations/lanczos0b.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="50.230437pt" width="286.452343pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.997586 286.452343 50.230437"><svg:metadata><svgmath:metrics top="50.230437114" bottom="0.0" baseline="21.2328515625" axis="25.2172265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(10.172637, 0.000000)"/><svg:g transform="translate(25.505973, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.606887, 0.000000)"/><svg:g transform="translate(47.606887, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(73.685956, -3.984375)"><svg:g transform="translate(12.057422, 0.000000)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -2.536641 L 3.945234 -2.536641 L 8.156466 5.261936 L 8.077376 5.782140 L 3.714834 -2.296641 L 3.354834 -2.296641 L 8.063086 6.422344 L 10.750781 -11.255625 L 20.922656 -11.255625" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(95.088613, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(105.082480, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(110.959433, -3.984375)"><svg:text font-size="37.401985" text-anchor="middle" y="8.242033" x="13.331762" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(6.881440, 23.378438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(11.245444, -19.097468)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(137.622957, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(163.470991, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(26.046867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.481109, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.477203, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(50.806629, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(4.270506, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(27.376297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.705723, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(36.701816, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(43.437492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="55.974597" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(220.031526, -3.984375)"><svg:text font-size="35.887605" transform="scale(0.334377, 1)" text-anchor="middle" y="8.568867" x="5.975426" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(19.020945, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(0.585938, 12.941250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.069008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.503250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.744133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.764312, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.368062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(48.536031, 0.000000)"><svg:text font-size="35.887605" transform="scale(0.334377, 1)" text-anchor="middle" y="8.568867" x="5.975426" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(52.532125, -8.589866)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.056660, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos1.mml b/libs/math/doc/equations/lanczos1.mml
index 68d1b3e64b..68d1b3e64b 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos1.mml
+++ b/libs/math/doc/equations/lanczos1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos1.png b/libs/math/doc/equations/lanczos1.png
index 5fa2c0910d..5fa2c0910d 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos1.png
+++ b/libs/math/doc/equations/lanczos1.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos1.svg b/libs/math/doc/equations/lanczos1.svg
new file mode 100644
index 0000000000..760e414347
--- /dev/null
+++ b/libs/math/doc/equations/lanczos1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.563066pt" width="143.226160pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.298672 143.226160 29.563066"><svg:metadata><svgmath:metrics top="29.5630664063" bottom="0.0" baseline="10.2643945313" axis="14.2487695313"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.784508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.471359, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(54.834625, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(58.830719, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(22.601873, 14.108145)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(13.067051, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.872031, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="79.051949" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.109246, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(126.837488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(139.892176, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos2.mml b/libs/math/doc/equations/lanczos2.mml
index 3a1aa14826..3a1aa14826 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos2.mml
+++ b/libs/math/doc/equations/lanczos2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos2.png b/libs/math/doc/equations/lanczos2.png
index 28f28af6b4..28f28af6b4 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos2.png
+++ b/libs/math/doc/equations/lanczos2.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos2.svg b/libs/math/doc/equations/lanczos2.svg
new file mode 100644
index 0000000000..66f9221b15
--- /dev/null
+++ b/libs/math/doc/equations/lanczos2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.126875pt" width="123.650182pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.716758 123.650182 37.126875"><svg:metadata><svgmath:metrics top="37.126875" bottom="0.0" baseline="13.4101171875" axis="17.3944921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(11.728242, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.116266, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(38.217180, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(53.587203, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(63.021445, -3.984375)"><svg:text font-size="24.870097" text-anchor="middle" y="4.704794" x="8.864829" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.246021, 17.294648)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.968853, -13.974727)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(81.337042, -3.984375)"><svg:g transform="translate(13.571404, -4.412168)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.707023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.141265, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="42.313140" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos3.mml b/libs/math/doc/equations/lanczos3.mml
index 1f29a2667f..1f29a2667f 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos3.mml
+++ b/libs/math/doc/equations/lanczos3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos3.png b/libs/math/doc/equations/lanczos3.png
index dcaf1f66c9..dcaf1f66c9 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos3.png
+++ b/libs/math/doc/equations/lanczos3.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos3.svg b/libs/math/doc/equations/lanczos3.svg
new file mode 100644
index 0000000000..7583266b7c
--- /dev/null
+++ b/libs/math/doc/equations/lanczos3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="68.702161pt" width="173.283862pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -38.372313 173.283862 68.702161"><svg:metadata><svgmath:metrics top="68.7021612022" bottom="0.0" baseline="30.3298482185" axis="34.3142232185"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.690430" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text><svg:g transform="translate(9.023438, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(18.559566, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(28.660481, -3.984375)"><svg:text font-size="75.483920" transform="scale(0.158974, 1)" text-anchor="middle" y="18.023260" x="18.115404" font-family="Times New Roman" fill="black">{</svg:text></svg:g><svg:g transform="translate(34.420246, -3.984375)"><svg:g transform="translate(27.230246, -25.982192)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(70.520452, -25.982192)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(104.267585, -25.982192)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≠</svg:text></svg:g><svg:g transform="translate(16.586594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(27.230246, -9.693129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(70.520452, -9.693129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(94.459639, -9.693129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(25.503914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.604828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(23.513123, 6.595933)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(70.520452, 6.595933)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(94.459639, 6.595933)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(25.503914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.604828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 26.857114)"><svg:g transform="translate(0.585938, -6.380078)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text><svg:g transform="translate(6.406641, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.222656, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(6.734375, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(12.734375, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(14.957031, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.468750, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(29.875391, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(34.135391, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(8.520460, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.218772, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.315999, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(22.620859, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.260460, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.958772, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="60.460491" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(70.060491, 30.841489)"/><svg:g transform="translate(91.660491, 30.841489)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">o</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(9.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(15.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(20.923828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(25.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(33.761719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(37.095703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(41.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos4.mml b/libs/math/doc/equations/lanczos4.mml
index 856aefc6d3..856aefc6d3 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos4.mml
+++ b/libs/math/doc/equations/lanczos4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos4.png b/libs/math/doc/equations/lanczos4.png
index a07127fcad..a07127fcad 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos4.png
+++ b/libs/math/doc/equations/lanczos4.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos4.svg b/libs/math/doc/equations/lanczos4.svg
new file mode 100644
index 0000000000..08c6bc14ed
--- /dev/null
+++ b/libs/math/doc/equations/lanczos4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="44.934365pt" width="303.981070pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.475664 303.981070 44.934365"><svg:metadata><svgmath:metrics top="44.9343651819" bottom="0.0" baseline="18.4587011719" axis="22.4430761719"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(4.497129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(19.271598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.372512, -3.984375)"><svg:text font-size="49.369946" transform="scale(0.243063, 1)" text-anchor="middle" y="11.788039" x="11.848305" font-family="Times New Roman" fill="black">{</svg:text></svg:g><svg:g transform="translate(35.132277, -3.984375)"><svg:g transform="translate(14.066713, -14.111045)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(44.193386, -14.111045)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(77.550870, -14.111045)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 6.013389)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.000000, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.442019, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.467773" font-family="Times New Roman" font-style="italic" fill="black">X</svg:text></svg:g></svg:g><svg:g transform="translate(44.193386, 6.013389)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(77.550870, 6.013389)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(122.136550, 6.013389)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.735680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≥</svg:text></svg:g><svg:g transform="translate(18.654953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(14.066713, 22.302451)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(43.733425, 22.302451)"/><svg:g transform="translate(65.333425, 22.302451)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">o</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(9.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(15.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(20.923828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(25.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(33.761719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(37.095703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(41.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(179.257765, 0.000000)"/><svg:g transform="translate(191.257765, 0.000000)"/><svg:g transform="translate(203.257765, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(209.925085, 0.000000)"/><svg:g transform="translate(221.925085, 0.000000)"/><svg:g transform="translate(233.925085, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.467773" font-family="Times New Roman" font-style="italic" fill="black">X</svg:text></svg:g><svg:g transform="translate(246.949828, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(257.050742, -3.984375)"><svg:text font-size="28.910849" transform="scale(0.415069, 1)" text-anchor="middle" y="6.903030" x="4.813769" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -5.033203)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(23.503898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(32.938140, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.050453, 10.552734)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.069008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.503250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.934234, 0.000000)"><svg:text font-size="28.910849" transform="scale(0.415069, 1)" text-anchor="middle" y="6.903030" x="4.813769" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos5.mml b/libs/math/doc/equations/lanczos5.mml
index 737c168a4f..737c168a4f 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos5.mml
+++ b/libs/math/doc/equations/lanczos5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos5.png b/libs/math/doc/equations/lanczos5.png
index 6fe3f5a5e1..6fe3f5a5e1 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos5.png
+++ b/libs/math/doc/equations/lanczos5.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos5.svg b/libs/math/doc/equations/lanczos5.svg
new file mode 100644
index 0000000000..65c587d0e9
--- /dev/null
+++ b/libs/math/doc/equations/lanczos5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="48.772155pt" width="306.016857pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.396618 306.016857 48.772155"><svg:metadata><svgmath:metrics top="48.772154857" bottom="0.0" baseline="20.3755371094" axis="24.3599121094"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(4.497129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(20.109488, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(30.210402, -3.984375)"><svg:text font-size="53.586574" transform="scale(0.223937, 1)" text-anchor="middle" y="12.794841" x="12.860254" font-family="Times New Roman" fill="black">{</svg:text></svg:g><svg:g transform="translate(35.970168, -3.984375)"><svg:g transform="translate(12.757025, -17.002646)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(41.005886, -13.018271)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(64.945073, -13.018271)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(25.503914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.604828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(12.472963, 4.053838)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(41.005886, 4.053838)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(74.662198, 4.053838)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.735680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(18.836594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 24.178271)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.000000, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.442019, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text></svg:g></svg:g><svg:g transform="translate(40.545925, 24.178271)"/><svg:g transform="translate(62.145925, 24.178271)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">o</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(9.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(15.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(20.923828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(25.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(33.761719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(37.095703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(41.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(145.319218, 0.000000)"/><svg:g transform="translate(157.319218, 0.000000)"/><svg:g transform="translate(169.319218, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(175.986538, 0.000000)"/><svg:g transform="translate(187.986538, 0.000000)"/><svg:g transform="translate(199.986538, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text></svg:g><svg:g transform="translate(209.823781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(219.924695, -3.984375)"><svg:text font-size="27.235231" text-anchor="middle" y="6.502943" x="9.707870" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.089062, 19.603242)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.524306, -13.787344)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(19.415741, 0.000000)"><svg:text font-size="24.296455" transform="scale(0.493899, 1)" text-anchor="middle" y="5.801253" x="4.045455" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(1.271484, -2.935547)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 10.904297)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.873047, 0.000000)"><svg:text font-size="24.296455" transform="scale(0.493899, 1)" text-anchor="middle" y="5.801253" x="4.045455" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(39.284881, 0.000000)"><svg:text font-size="27.235231" transform="scale(0.440606, 1)" text-anchor="middle" y="6.502943" x="4.534772" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(16.469070, -4.048828)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(0.000000, 9.791016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(26.046867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.481109, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.811187, 0.000000)"><svg:text font-size="27.235231" transform="scale(0.440606, 1)" text-anchor="middle" y="6.502943" x="4.534772" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos6.mml b/libs/math/doc/equations/lanczos6.mml
index 8273fc4114..8273fc4114 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos6.mml
+++ b/libs/math/doc/equations/lanczos6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos6.png b/libs/math/doc/equations/lanczos6.png
index b932bc1f99..b932bc1f99 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos6.png
+++ b/libs/math/doc/equations/lanczos6.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos6.svg b/libs/math/doc/equations/lanczos6.svg
new file mode 100644
index 0000000000..842cd3de65
--- /dev/null
+++ b/libs/math/doc/equations/lanczos6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.988822pt" width="131.153476pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.658901 131.153476 31.988822"><svg:metadata><svgmath:metrics top="31.9888224817" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(14.014918, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(24.701770, -3.984375)"><svg:g transform="translate(25.587576, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(13.330078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(18.659504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(22.655598, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(11.839805, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.644785, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(8.663410, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(6.627129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.432109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(30.355520, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(24.675773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(34.110015, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(53.106109, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(57.102203, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="106.451707" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos7.mml b/libs/math/doc/equations/lanczos7.mml
index 8300e9871a..8300e9871a 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos7.mml
+++ b/libs/math/doc/equations/lanczos7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos7.png b/libs/math/doc/equations/lanczos7.png
index 0e92665b08..0e92665b08 100644
--- a/libs/math/doc/sf_and_dist/equations/lanczos7.png
+++ b/libs/math/doc/equations/lanczos7.png
Binary files differ
diff --git a/libs/math/doc/equations/lanczos7.svg b/libs/math/doc/equations/lanczos7.svg
new file mode 100644
index 0000000000..dd877839e6
--- /dev/null
+++ b/libs/math/doc/equations/lanczos7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.965874pt" width="149.137742pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.651421 149.137742 25.965874"><svg:metadata><svgmath:metrics top="25.9658738084" bottom="0.0528413668099" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.784508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(34.885422, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(61.174469, -7.909389)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(115.109246, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(4.667695, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(6.797695, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(132.749070, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(145.803758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laplace_pdf.mml b/libs/math/doc/equations/laplace_pdf.mml
index 6ba8cc8d21..6ba8cc8d21 100644
--- a/libs/math/doc/sf_and_dist/equations/laplace_pdf.mml
+++ b/libs/math/doc/equations/laplace_pdf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/laplace_pdf.png b/libs/math/doc/equations/laplace_pdf.png
index b299820f8c..b299820f8c 100644
--- a/libs/math/doc/sf_and_dist/equations/laplace_pdf.png
+++ b/libs/math/doc/equations/laplace_pdf.png
Binary files differ
diff --git a/libs/math/doc/equations/laplace_pdf.svg b/libs/math/doc/equations/laplace_pdf.svg
new file mode 100644
index 0000000000..10cb5d098c
--- /dev/null
+++ b/libs/math/doc/equations/laplace_pdf.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.333475pt" width="127.037410pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.468240 127.037410 23.333475"><svg:metadata><svgmath:metrics top="23.3334745651" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(19.048180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.048176, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(36.372394, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.583336, 0.000000)"/><svg:g transform="translate(62.916672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.017586, 0.000000)"/><svg:g transform="translate(85.603524, -3.984375)"><svg:g transform="translate(3.750000, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="13.500000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(99.689461, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -9.313208)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -2.592524)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="0.801641" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(1.601563, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.417969, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.929688, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(14.367188, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="0.801641" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(6.291016, 4.307368)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.972656" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" x2="16.800781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_0.mml b/libs/math/doc/equations/legendre_0.mml
index d45a3a4bf2..d45a3a4bf2 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_0.mml
+++ b/libs/math/doc/equations/legendre_0.mml
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_0.png b/libs/math/doc/equations/legendre_0.png
index 0ded841149..0ded841149 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_0.png
+++ b/libs/math/doc/equations/legendre_0.png
Binary files differ
diff --git a/libs/math/doc/equations/legendre_0.svg b/libs/math/doc/equations/legendre_0.svg
new file mode 100644
index 0000000000..5b2e572a6b
--- /dev/null
+++ b/libs/math/doc/equations/legendre_0.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.097768pt" width="327.715778pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.035541 327.715778 26.097768"><svg:metadata><svgmath:metrics top="26.0977675215" bottom="0.0" baseline="9.0622265625" axis="13.0466015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_p</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(20.289058, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(79.593750, 0.000000)"/><svg:g transform="translate(94.927086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(105.028000, 0.000000)"/><svg:g transform="translate(117.028000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(127.301770, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(141.018567, 0.000000)"/><svg:g transform="translate(156.351903, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(166.452817, 0.000000)"/><svg:g transform="translate(179.038754, -3.984375)"><svg:g transform="translate(6.301598, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.882539)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(8.533535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(13.435227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.603195" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(198.813824, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.882539)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="15.922207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(215.321969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(32.081609, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.077703, -6.565630)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(253.933207, 0.000000)"/><svg:g transform="translate(265.933207, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(272.600528, 0.000000)"/><svg:g transform="translate(287.933863, -3.984375)"><svg:text font-size="28.673942" transform="scale(0.418498, 1)" text-anchor="middle" y="6.858182" x="2.870194" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(293.669543, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(302.727489, -3.984375)"><svg:text font-size="28.673942" transform="scale(0.418498, 1)" text-anchor="middle" y="6.858182" x="2.870194" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(311.796504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(321.715778, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_1.mml b/libs/math/doc/equations/legendre_1.mml
index 8f6208cf90..8f6208cf90 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_1.mml
+++ b/libs/math/doc/equations/legendre_1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_1.png b/libs/math/doc/equations/legendre_1.png
index 1e5374a497..1e5374a497 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_1.png
+++ b/libs/math/doc/equations/legendre_1.png
Binary files differ
diff --git a/libs/math/doc/equations/legendre_1.svg b/libs/math/doc/equations/legendre_1.svg
new file mode 100644
index 0000000000..02c4b39053
--- /dev/null
+++ b/libs/math/doc/equations/legendre_1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.104727pt" width="306.397984pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.216738 306.397984 25.104727"><svg:metadata><svgmath:metrics top="25.1047265625" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_p</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.234371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.234367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.955070, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.259762, 0.000000)"/><svg:g transform="translate(110.593098, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(120.694012, 0.000000)"/><svg:g transform="translate(132.694012, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(146.587117, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.303914, 0.000000)"/><svg:g transform="translate(175.637250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(185.738164, 0.000000)"/><svg:g transform="translate(197.738164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(225.317468, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.081609, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.077703, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.304688, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.609375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(268.590484, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(12.645059, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(22.918828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(9.718916, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.807500" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_1b.mml b/libs/math/doc/equations/legendre_1b.mml
index 2df54f7ebd..2df54f7ebd 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_1b.mml
+++ b/libs/math/doc/equations/legendre_1b.mml
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_1b.png b/libs/math/doc/equations/legendre_1b.png
index 030aaa59e2..030aaa59e2 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_1b.png
+++ b/libs/math/doc/equations/legendre_1b.png
Binary files differ
diff --git a/libs/math/doc/equations/legendre_1b.svg b/libs/math/doc/equations/legendre_1b.svg
new file mode 100644
index 0000000000..bce46ba26d
--- /dev/null
+++ b/libs/math/doc/equations/legendre_1b.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.104727pt" width="278.818680pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.216738 278.818680 25.104727"><svg:metadata><svgmath:metrics top="25.1047265625" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_p</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.234371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.234367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.955070, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.259762, 0.000000)"/><svg:g transform="translate(110.593098, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(120.694012, 0.000000)"/><svg:g transform="translate(132.694012, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(146.587117, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.303914, 0.000000)"/><svg:g transform="translate(175.637250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(185.738164, 0.000000)"/><svg:g transform="translate(197.738164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.081609, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.077703, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.304688, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.609375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(241.011180, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(12.645059, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(22.918828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(9.718916, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.807500" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/legendre_2.mml b/libs/math/doc/equations/legendre_2.mml
new file mode 100644
index 0000000000..fe85a1053e
--- /dev/null
+++ b/libs/math/doc/equations/legendre_2.mml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>legendre_2</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center center center left">
+ <mtr>
+ <mtd>
+ <mtext>legendre_q</mtext>
+ <mfenced>
+ <mrow>
+ <mn>0,</mn>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msub>
+ <mi>Q</mi>
+ <mn>0</mn>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mi>x</mi>
+ </mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>legendre_q</mtext>
+ <mfenced>
+ <mrow>
+ <mn>1,</mn>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msub>
+ <mi>Q</mi>
+ <mn>1</mn>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mi>x</mi>
+ <mn>2</mn>
+ </mfrac>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mi>x</mi>
+ </mrow>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/legendre_2.png b/libs/math/doc/equations/legendre_2.png
new file mode 100644
index 0000000000..7065f272ee
--- /dev/null
+++ b/libs/math/doc/equations/legendre_2.png
Binary files differ
diff --git a/libs/math/doc/equations/legendre_2.svg b/libs/math/doc/equations/legendre_2.svg
new file mode 100644
index 0000000000..f1b66d1b5b
--- /dev/null
+++ b/libs/math/doc/equations/legendre_2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.028289pt" width="217.308120pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.998520 217.308120 36.028289"><svg:metadata><svgmath:metrics top="36.028289138" bottom="0.0" baseline="14.029769569" axis="18.014144569"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -6.556641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_q</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">0,</svg:text><svg:g transform="translate(9.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(18.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(87.625395, -10.541016)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(103.992973, -6.556641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.926016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(140.235785, -10.541016)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(156.603363, -6.556641)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(15.351797, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="18.087991" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 14.141098)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_q</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text><svg:g transform="translate(9.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(18.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(87.625395, 10.156723)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(103.992973, 14.141098)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.873047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.926016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(140.235785, 10.156723)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(156.603363, 14.141098)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.683701, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(15.351797, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="18.087991" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.270514, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.704757, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/legendre_3.mml b/libs/math/doc/equations/legendre_3.mml
new file mode 100644
index 0000000000..fc96fb2c12
--- /dev/null
+++ b/libs/math/doc/equations/legendre_3.mml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>legendre_3</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msubsup>
+ <mi>P</mi>
+ <mrow>
+ <mi>l</mi>
+ </mrow>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>m</mi>
+ </mrow>
+ </msubsup>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mi>m</mi>
+ </msup>
+ <mfrac>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>l</mi>
+ <mo>&#x2212;</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mo>!</mo>
+ </mrow>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mi>l</mi>
+ <mo>+</mo>
+ <mi>m</mi>
+ </mrow>
+ </mfenced>
+ <mo>!</mo>
+ </mrow>
+ </mfrac>
+ <msubsup>
+ <mi>P</mi>
+ <mrow>
+ <mi>l</mi>
+ </mrow>
+ <mi>m</mi>
+ </msubsup>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msubsup>
+ <mi>P</mi>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>l</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ <mi>m</mi>
+ </msubsup>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msubsup>
+ <mi>P</mi>
+ <mrow>
+ <mi>l</mi>
+ </mrow>
+ <mi>m</mi>
+ </msubsup>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/legendre_3.png b/libs/math/doc/equations/legendre_3.png
new file mode 100644
index 0000000000..0f2a196ad2
--- /dev/null
+++ b/libs/math/doc/equations/legendre_3.png
Binary files differ
diff --git a/libs/math/doc/equations/legendre_3.svg b/libs/math/doc/equations/legendre_3.svg
new file mode 100644
index 0000000000..87c5c9181f
--- /dev/null
+++ b/libs/math/doc/equations/legendre_3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.304845pt" width="148.097457pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.136798 148.097457 36.304845"><svg:metadata><svgmath:metrics top="36.3048454073" bottom="0.0" baseline="14.1680477037" axis="18.1524227037"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(5.445645, -4.822236)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(18.698086, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(47.460527, -8.806611)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.828105, -4.822236)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(28.165241, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(4.426867, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.125179, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(20.115276, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.899168, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(4.426867, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.125179, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(20.115276, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.899168, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.908270" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(56.659449, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(70.552554, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 15.193497)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.338516, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.143496, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(24.143730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(47.460527, 11.209122)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.828105, 15.193497)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(13.893105, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_4.mml b/libs/math/doc/equations/legendre_4.mml
index 23a5fc2946..23a5fc2946 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_4.mml
+++ b/libs/math/doc/equations/legendre_4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_4.png b/libs/math/doc/equations/legendre_4.png
index 80888b6a60..80888b6a60 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_4.png
+++ b/libs/math/doc/equations/legendre_4.png
Binary files differ
diff --git a/libs/math/doc/equations/legendre_4.svg b/libs/math/doc/equations/legendre_4.svg
new file mode 100644
index 0000000000..a108b7fe0c
--- /dev/null
+++ b/libs/math/doc/equations/legendre_4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.412051pt" width="186.349051pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.886673 186.349051 25.412051"><svg:metadata><svgmath:metrics top="25.4120507812" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.338750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.055547, 0.000000)"/><svg:g transform="translate(48.388883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.489797, 0.000000)"/><svg:g transform="translate(71.075735, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(12.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.665359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.661453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(41.386062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(51.659832, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.043293, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(77.477535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(81.045894, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(100.384644, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.805932, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(25.665359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="115.273316" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_5.mml b/libs/math/doc/equations/legendre_5.mml
index a37b8ec418..a37b8ec418 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_5.mml
+++ b/libs/math/doc/equations/legendre_5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_5.png b/libs/math/doc/equations/legendre_5.png
index 3901fb4600..3901fb4600 100644
--- a/libs/math/doc/sf_and_dist/equations/legendre_5.png
+++ b/libs/math/doc/equations/legendre_5.png
Binary files differ
diff --git a/libs/math/doc/equations/legendre_5.svg b/libs/math/doc/equations/legendre_5.svg
new file mode 100644
index 0000000000..f09c13c90e
--- /dev/null
+++ b/libs/math/doc/equations/legendre_5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.355398pt" width="236.828402pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.830020 236.828402 26.355398"><svg:metadata><svgmath:metrics top="26.355397569" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.338750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.055547, 0.000000)"/><svg:g transform="translate(48.388883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.489797, 0.000000)"/><svg:g transform="translate(71.075735, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(12.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.665359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.661453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(41.386062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(55.279168, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(71.662629, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(81.096871, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.001945, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.436187, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.432281, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(131.525246, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(150.863996, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(57.662146, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.001945, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.436187, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.432281, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="165.752667" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm1.mml b/libs/math/doc/equations/lgamm1.mml
index 54ccb67669..54ccb67669 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm1.mml
+++ b/libs/math/doc/equations/lgamm1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm1.png b/libs/math/doc/equations/lgamm1.png
index d2270014f6..d2270014f6 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm1.png
+++ b/libs/math/doc/equations/lgamm1.png
Binary files differ
diff --git a/libs/math/doc/equations/lgamm1.svg b/libs/math/doc/equations/lgamm1.svg
new file mode 100644
index 0000000000..cd9930f1cf
--- /dev/null
+++ b/libs/math/doc/equations/lgamm1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="112.733090pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 112.733090 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.327148" font-family="Times New Roman" fill="black">lgamma</svg:text><svg:g transform="translate(40.654301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.042324, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.143238, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(79.810559, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(85.546239, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(93.942723, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.330747, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm2.mml b/libs/math/doc/equations/lgamm2.mml
index db351144b1..db351144b1 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm2.mml
+++ b/libs/math/doc/equations/lgamm2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm2.png b/libs/math/doc/equations/lgamm2.png
index a7c14e41fa..a7c14e41fa 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm2.png
+++ b/libs/math/doc/equations/lgamm2.png
Binary files differ
diff --git a/libs/math/doc/equations/lgamm2.svg b/libs/math/doc/equations/lgamm2.svg
new file mode 100644
index 0000000000..825605451b
--- /dev/null
+++ b/libs/math/doc/equations/lgamm2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="80.270619pt" width="485.956792pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -44.162748 485.956792 80.270619"><svg:metadata><svgmath:metrics top="80.2706194616" bottom="0.0" baseline="36.1078710937" axis="40.0922460937"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.248711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(70.349625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(75.412125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(84.746110, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.564453, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(98.973321, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(108.407563, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(114.642586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(124.076828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(133.410813, -3.984375)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="26.352911" text-anchor="middle" y="6.292272" x="9.393372" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.263372, 19.044062)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(6.356457, -12.841270)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g><svg:g transform="translate(19.372681, 0.000000)"><svg:g transform="translate(1.458867, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 11.979766)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.746094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(33.371376, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(43.391555, 0.000000)"><svg:g transform="translate(38.363564, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.749344, -3.984375)"><svg:g transform="translate(28.012163, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.720488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(10.502785, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.617112, -2.828906)"><svg:g transform="translate(18.733070, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.108379)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.786021, -2.656250)"><svg:g transform="translate(9.924044, -4.781250)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.617620, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="27.398870" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="45.016922" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.805909" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="82.727127" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(130.700714, 0.000000)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(268.107621, 0.000000)"/><svg:g transform="translate(280.107621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(286.774941, 0.000000)"/><svg:g transform="translate(298.774941, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(311.607086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(324.374664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(333.808906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.707023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.141265, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.137359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(382.942359, 0.000000)"/><svg:g transform="translate(398.275695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(411.148093, 0.000000)"/><svg:g transform="translate(423.148093, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(437.146253, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(447.247167, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(454.976331, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(464.410574, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(472.954191, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(482.388433, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm3.mml b/libs/math/doc/equations/lgamm3.mml
index 644b2c39ff..644b2c39ff 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm3.mml
+++ b/libs/math/doc/equations/lgamm3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm3.png b/libs/math/doc/equations/lgamm3.png
index 6b64e7dd70..6b64e7dd70 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm3.png
+++ b/libs/math/doc/equations/lgamm3.png
Binary files differ
diff --git a/libs/math/doc/equations/lgamm3.svg b/libs/math/doc/equations/lgamm3.svg
new file mode 100644
index 0000000000..13172bad6c
--- /dev/null
+++ b/libs/math/doc/equations/lgamm3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="220.309902pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 220.309902 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.954433, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(51.019542, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(67.682957, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(77.783871, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(87.117855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(10.382813, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(104.163425, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(113.597667, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(122.931652, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.447266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(155.041675, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(164.475917, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(173.809902, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(19.066406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(15.445313, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.503906, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm4.mml b/libs/math/doc/equations/lgamm4.mml
index a3dc8701a2..a3dc8701a2 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm4.mml
+++ b/libs/math/doc/equations/lgamm4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm4.png b/libs/math/doc/equations/lgamm4.png
index 966a4d575c..966a4d575c 100644
--- a/libs/math/doc/sf_and_dist/equations/lgamm4.png
+++ b/libs/math/doc/equations/lgamm4.png
Binary files differ
diff --git a/libs/math/doc/equations/lgamm4.svg b/libs/math/doc/equations/lgamm4.svg
new file mode 100644
index 0000000000..611f6d71a4
--- /dev/null
+++ b/libs/math/doc/equations/lgamm4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="24.624077pt" width="241.135262pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.309624 241.135262 24.624077"><svg:metadata><svgmath:metrics top="24.6240769334" bottom="0.0528413668099" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.248711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(70.349625, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(36.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.505219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(119.839203, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(183.680336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(193.114578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(202.448562, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(5.911582, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(17.639824, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(34.690605, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/lgamm5.mml b/libs/math/doc/equations/lgamm5.mml
new file mode 100644
index 0000000000..507b836d48
--- /dev/null
+++ b/libs/math/doc/equations/lgamm5.mml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>lgamm5</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mo>|</mo>
+ <mi>&#x393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>|</mo>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ <mo>+</mo>
+ <mi>g</mi>
+ <mo>+</mo>
+ <mn>0.5</mn>
+ </mrow>
+ <mi>e</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ </mrow>
+ <mrow>
+ <mi>g</mi>
+ <mo>+</mo>
+ <mn>0.5</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>k</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ <msub>
+ <mi>d</mi>
+ <mi>k</mi>
+ </msub>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ <mfenced>
+ <mrow>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ <mo>+</mo>
+ <mi>k</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>z</mi>
+ <mspace width="1.0em"/>
+ <mo>&#x2227;</mo>
+ <mspace width="1.0em"/>
+ <msub>
+ <mi>d</mi>
+ <mi>k</mi>
+ </msub>
+ <mo>=</mo>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>g</mi>
+ <mo>+</mo>
+ <mn>0.5</mn>
+ </mrow>
+ <mi>e</mi>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mi>C</mi>
+ <mi>k</mi>
+ </msub>
+ </mrow>
+ <msup>
+ <mi>e</mi>
+ <mi>g</mi>
+ </msup>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/lgamm5.png b/libs/math/doc/equations/lgamm5.png
new file mode 100644
index 0000000000..f6f0a58ba5
--- /dev/null
+++ b/libs/math/doc/equations/lgamm5.png
Binary files differ
diff --git a/libs/math/doc/equations/lgamm5.svg b/libs/math/doc/equations/lgamm5.svg
new file mode 100644
index 0000000000..7d4968663f
--- /dev/null
+++ b/libs/math/doc/equations/lgamm5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="52.411671pt" width="356.981088pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -30.190211 356.981088 52.411671"><svg:metadata><svgmath:metrics top="52.4116712217" bottom="0.0" baseline="22.2214606108" axis="26.2058356108"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -9.646862)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(66.515375, -13.631237)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(82.882953, -9.646862)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(9.716801, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(14.779301, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(24.113285, -3.984375)"><svg:text font-size="20.256799" transform="scale(0.592394, 1)" text-anchor="middle" y="4.836706" x="3.372836" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(12.386635, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.084947, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(25.645974, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(32.344286, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(20.192289, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="44.166161" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(49.334129, 0.000000)"><svg:text font-size="20.256799" transform="scale(0.592394, 1)" text-anchor="middle" y="4.836706" x="3.372836" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(80.110172, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(90.130352, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(96.148165, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(105.482149, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(7.293955, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="25.081214" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(48.350089, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.494995, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(169.929237, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(179.263222, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="27.469077" transform="scale(0.436855, 1)" text-anchor="middle" y="6.498169" x="4.573709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, -3.984375)"><svg:text font-size="22.604759" text-anchor="middle" y="4.467245" x="8.057360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(16.114721, 10.587765)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(16.114721, -6.790117)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(50.593518, -3.984375)"><svg:g transform="translate(8.329085, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(10.493304, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.257229, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(12.386635, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.084947, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.498172, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="35.663270" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(90.838819, -3.984375)"><svg:text font-size="27.469077" transform="scale(0.436855, 1)" text-anchor="middle" y="6.498169" x="4.573709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.136074, 19.177360)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(9.716801, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(66.515375, 15.192985)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(82.882953, 19.177360)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(23.163406, 0.000000)"/><svg:g transform="translate(38.496742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(51.369141, 0.000000)"/><svg:g transform="translate(63.369141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(77.350660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.931574, -3.984375)"><svg:g transform="translate(9.841582, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(10.649816, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="25.081214" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -2.672490 L 3.476479 -2.672490 L 6.984862 3.824516 L 6.905629 4.344455 L 3.246079 -2.432490 L 2.886079 -2.432490 L 6.891196 4.984395 L 9.188262 -10.089375 L 35.576116 -10.089375" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(123.987690, -3.984375)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(5.994785, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(1.452305, 10.561328)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="11.069004" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.236973, 0.000000)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/lgamm6.mml b/libs/math/doc/equations/lgamm6.mml
new file mode 100644
index 0000000000..0de0d227e9
--- /dev/null
+++ b/libs/math/doc/equations/lgamm6.mml
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>lgamm6</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mo>|</mo>
+ <mi>&#x393;</mi>
+ <mfenced>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mfenced>
+ <mo>|</mo>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mrow>
+ <mfrac>
+ <mn>3</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ </mrow>
+ <mrow>
+ <mi>g</mi>
+ <mo>+</mo>
+ <mn>1.5</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>z</mi>
+ <mo>+</mo>
+ <mi>g</mi>
+ <mo>&#x2212;</mo>
+ <mn>0.5</mn>
+ </mrow>
+ <mi>e</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mo>+</mo>
+ <mi>ln</mi>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>+</mo>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>k</mi>
+ <mo>=</mo>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mi>N</mi>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </munderover>
+ <mfrac>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>d</mi>
+ <mi>k</mi>
+ </msub>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ </mrow>
+ <mrow>
+ <mi>z</mi>
+ <mo>+</mo>
+ <mi>k</mi>
+ <mi>z</mi>
+ <mo>+</mo>
+ <msup>
+ <mi>k</mi>
+ <mn>2</mn>
+ </msup>
+ <mo>&#x2212;</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>&#x394;</mtext>
+ <mi>z</mi>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>z</mi>
+ <mo>&#x2212;</mo>
+ <mn>2</mn>
+ <mspace width="1.0em"/>
+ <mo>&#x2227;</mo>
+ <mspace width="1.0em"/>
+ <msub>
+ <mi>d</mi>
+ <mi>k</mi>
+ </msub>
+ <mo>=</mo>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>g</mi>
+ <mo>+</mo>
+ <mn>1.5</mn>
+ </mrow>
+ <mi>e</mi>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mn>1.5</mn>
+ </mrow>
+ </msup>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mi>C</mi>
+ <mi>k</mi>
+ </msub>
+ </mrow>
+ <msup>
+ <mi>e</mi>
+ <mi>g</mi>
+ </msup>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/lgamm6.png b/libs/math/doc/equations/lgamm6.png
new file mode 100644
index 0000000000..a5c25efe2f
--- /dev/null
+++ b/libs/math/doc/equations/lgamm6.png
Binary files differ
diff --git a/libs/math/doc/equations/lgamm6.svg b/libs/math/doc/equations/lgamm6.svg
new file mode 100644
index 0000000000..0f52e88825
--- /dev/null
+++ b/libs/math/doc/equations/lgamm6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="53.980579pt" width="367.772011pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -30.974665 367.772011 53.980579"><svg:metadata><svgmath:metrics top="53.9805790984" bottom="0.0" baseline="23.0059145492" axis="26.9902895492"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -10.429629)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(66.515375, -14.414004)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(82.882953, -10.429629)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(15.351797, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(7.293955, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">1.5</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="25.081214" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(48.350089, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(70.364643, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(81.798889, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text></svg:g><svg:g transform="translate(91.515690, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(96.578190, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(105.912175, -3.984375)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(18.747045, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.445357, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(16.742825, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="37.267232" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(42.435201, 0.000000)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(155.010133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(164.444375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(173.778360, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="29.196563" transform="scale(0.411007, 1)" text-anchor="middle" y="7.695937" x="4.861342" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, -3.984375)"><svg:text font-size="24.332245" text-anchor="middle" y="5.665014" x="8.673115" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(17.346229, 12.158359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.346229, -6.790117)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.825026, -3.984375)"><svg:g transform="translate(12.502065, -5.290234)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(15.210114, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text></svg:g><svg:g transform="translate(22.109043, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816562)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(16.342014, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(21.829721, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(28.528033, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(38.577360, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(45.275672, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="50.707547" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(107.114605, -3.984375)"><svg:text font-size="29.196563" transform="scale(0.411007, 1)" text-anchor="middle" y="7.695937" x="4.861342" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.136074, 19.961814)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(9.716801, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(66.515375, 15.977439)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(82.882953, 19.961814)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(23.163406, 0.000000)"/><svg:g transform="translate(38.496742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(51.369141, 0.000000)"/><svg:g transform="translate(63.369141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(77.350660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.451574, -3.984375)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">1.5</svg:text></svg:g></svg:g><svg:g transform="translate(10.649816, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="25.081214" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(30.249182, 0.000000)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(34.245276, -4.799951)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">1.5</svg:text></svg:g></svg:g><svg:g transform="translate(132.346851, -3.984375)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(5.994785, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(1.452305, 10.561328)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="11.069004" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.236973, 0.000000)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/log1pseries.mml b/libs/math/doc/equations/log1pseries.mml
index 470260de88..470260de88 100644
--- a/libs/math/doc/sf_and_dist/equations/log1pseries.mml
+++ b/libs/math/doc/equations/log1pseries.mml
diff --git a/libs/math/doc/sf_and_dist/equations/log1pseries.png b/libs/math/doc/equations/log1pseries.png
index 3605213504..3605213504 100644
--- a/libs/math/doc/sf_and_dist/equations/log1pseries.png
+++ b/libs/math/doc/equations/log1pseries.png
Binary files differ
diff --git a/libs/math/doc/equations/log1pseries.svg b/libs/math/doc/equations/log1pseries.svg
new file mode 100644
index 0000000000..d9bde2883c
--- /dev/null
+++ b/libs/math/doc/equations/log1pseries.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.632129pt" width="150.883026pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.222012 150.883026 37.632129"><svg:metadata><svgmath:metrics top="37.6321289063" axis="17.3944921875" baseline="13.4101171875" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.151687, 0.000000)"/><svg:g transform="translate(62.485023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(72.585938, 0.000000)"/><svg:g transform="translate(84.585938, -3.984375)"><svg:text font-size="28.070591" text-anchor="middle" y="4.014062" x="10.005630" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.395142, 17.294648)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.968716, -16.310449)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(105.183136, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(34.647409, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.923187, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="45.699890" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lognormal_ref.mml b/libs/math/doc/equations/lognormal_ref.mml
index 845bebc11f..845bebc11f 100644
--- a/libs/math/doc/sf_and_dist/equations/lognormal_ref.mml
+++ b/libs/math/doc/equations/lognormal_ref.mml
diff --git a/libs/math/doc/sf_and_dist/equations/lognormal_ref.png b/libs/math/doc/equations/lognormal_ref.png
index ad0114b146..ad0114b146 100644
--- a/libs/math/doc/sf_and_dist/equations/lognormal_ref.png
+++ b/libs/math/doc/equations/lognormal_ref.png
Binary files differ
diff --git a/libs/math/doc/equations/lognormal_ref.svg b/libs/math/doc/equations/lognormal_ref.svg
new file mode 100644
index 0000000000..5e038d0f84
--- /dev/null
+++ b/libs/math/doc/equations/lognormal_ref.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.978020pt" width="131.394246pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.417434 131.394246 33.978020"><svg:metadata><svgmath:metrics top="33.978019703" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(20.931645, 0.000000)"/><svg:g transform="translate(36.264981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.365895, 0.000000)"/><svg:g transform="translate(58.951832, -3.984375)"><svg:g transform="translate(12.765152, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(10.985859, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 19.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.530305" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(91.068074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -14.856176)"><svg:g transform="translate(0.416016, -2.576882)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.511719, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.111328" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(6.222656, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(10.039063, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(14.550781, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(22.992188, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(25.656250, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.906250, 9.850337)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.630859" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(3.187500, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="35.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel1.mml b/libs/math/doc/equations/mbessel1.mml
index d7f732a06d..d7f732a06d 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel1.mml
+++ b/libs/math/doc/equations/mbessel1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel1.png b/libs/math/doc/equations/mbessel1.png
index 868946334c..868946334c 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel1.png
+++ b/libs/math/doc/equations/mbessel1.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel1.svg b/libs/math/doc/equations/mbessel1.svg
new file mode 100644
index 0000000000..681a30ded9
--- /dev/null
+++ b/libs/math/doc/equations/mbessel1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="136.954703pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 136.954703 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(46.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(63.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(72.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.005672, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(111.520453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(120.853789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(130.954703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel10.mml b/libs/math/doc/equations/mbessel10.mml
index 50c699c16e..50c699c16e 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel10.mml
+++ b/libs/math/doc/equations/mbessel10.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel10.png b/libs/math/doc/equations/mbessel10.png
index f752f3e521..f752f3e521 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel10.png
+++ b/libs/math/doc/equations/mbessel10.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel10.svg b/libs/math/doc/equations/mbessel10.svg
new file mode 100644
index 0000000000..b97d70cf79
--- /dev/null
+++ b/libs/math/doc/equations/mbessel10.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="70.040676pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 70.040676 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(17.651016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.039039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.139953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(56.985988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel11.mml b/libs/math/doc/equations/mbessel11.mml
index 29f969d78f..29f969d78f 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel11.mml
+++ b/libs/math/doc/equations/mbessel11.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel11.png b/libs/math/doc/equations/mbessel11.png
index 13d0c49df5..13d0c49df5 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel11.png
+++ b/libs/math/doc/equations/mbessel11.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel11.svg b/libs/math/doc/equations/mbessel11.svg
new file mode 100644
index 0000000000..52ec4f77bf
--- /dev/null
+++ b/libs/math/doc/equations/mbessel11.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="28.755577pt" width="204.484233pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.330137 204.484233 28.755577"><svg:metadata><svgmath:metrics top="28.7555770005" bottom="0.0" baseline="12.4254402818" axis="16.4098152818"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF1</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(32.678395, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(47.539407, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.226258, -3.984375)"><svg:g transform="translate(0.585938, -4.400449)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(5.118428, 9.544922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="19.315312" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(81.460844, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(92.147696, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(132.251179, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(175.102061, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(187.118342, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(199.134623, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel12.mml b/libs/math/doc/equations/mbessel12.mml
index 293bf15547..293bf15547 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel12.mml
+++ b/libs/math/doc/equations/mbessel12.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel12.png b/libs/math/doc/equations/mbessel12.png
index 936a21b5ea..936a21b5ea 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel12.png
+++ b/libs/math/doc/equations/mbessel12.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel12.svg b/libs/math/doc/equations/mbessel12.svg
new file mode 100644
index 0000000000..7425522a32
--- /dev/null
+++ b/libs/math/doc/equations/mbessel12.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.349358pt" width="239.281488pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.823980 239.281488 30.349358"><svg:metadata><svgmath:metrics top="30.3493584687" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF2</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(33.264332, -3.984375)"><svg:g transform="translate(0.585938, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.494375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(47.677981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.364832, -3.984375)"><svg:g transform="translate(21.211910, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(40.484367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.423820" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(107.960528, -3.984375)"><svg:g transform="translate(3.940402, -5.040305)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.687078, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.057270)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(40.484367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.423820" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(157.556223, -3.984375)"><svg:g transform="translate(3.940402, -4.972500)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.687078, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">5</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.957211)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(40.484367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.423820" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(209.899316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(221.915598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(233.931879, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/mbessel13.mml b/libs/math/doc/equations/mbessel13.mml
new file mode 100644
index 0000000000..49591a8621
--- /dev/null
+++ b/libs/math/doc/equations/mbessel13.mml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>mbessel13</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mrow>
+ <mi>K</mi>
+ </mrow>
+ <mrow>
+ <mi>&#x3bc;</mi>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mi>&#x3c0;</mi>
+ </mrow>
+ </msqrt>
+ <msup>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mn>2</mn>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mi>&#x3bc;</mi>
+ </mrow>
+ </msup>
+ <msup>
+ <mrow>
+ <mi>e</mi>
+ </mrow>
+ <mrow>
+ <mo>&#x2212;</mo>
+ <mi>x</mi>
+ </mrow>
+ </msup>
+ <msub>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ <mrow>
+ <mn>0</mn>
+ </mrow>
+ </msub>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mrow>
+ <msub>
+ <mrow>
+ <mi>K</mi>
+ </mrow>
+ <mrow>
+ <mi>&#x3bc;</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mrow>
+ <mi>K</mi>
+ </mrow>
+ <mrow>
+ <mi>&#x3bc;</mi>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfrac>
+ <mfenced>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ <mo>+</mo>
+ <mi>&#x3bc;</mi>
+ <mo>+</mo>
+ <mi>x</mi>
+ <mo>+</mo>
+ <mfenced>
+ <mrow>
+ <msup>
+ <mrow>
+ <mi>&#x3bc;</mi>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </msup>
+ <mo>&#x2212;</mo>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>4</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ </mrow>
+ <mrow>
+ <msub>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ <mrow>
+ <mn>0</mn>
+ </mrow>
+ </msub>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/mbessel13.png b/libs/math/doc/equations/mbessel13.png
new file mode 100644
index 0000000000..97aacb6950
--- /dev/null
+++ b/libs/math/doc/equations/mbessel13.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel13.svg b/libs/math/doc/equations/mbessel13.svg
new file mode 100644
index 0000000000..a0f6af23a5
--- /dev/null
+++ b/libs/math/doc/equations/mbessel13.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="39.985137pt" width="172.284757pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.976943 172.284757 39.985137"><svg:metadata><svgmath:metrics top="39.9851367187" bottom="0.0" baseline="16.0081933594" axis="19.9925683594"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.064980, -9.576592)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(32.455371, -13.560967)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.822949, -9.576592)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 13.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(13.852570, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(15.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.716797, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(38.295305, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(52.490930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 15.170049)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.455371, 11.185674)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.822949, 15.170049)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -5.231523)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(6.435762, 1.905352)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(3.990332, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="12.045137" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.631074, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.270161" transform="scale(0.622724, 1)" text-anchor="middle" y="4.648002" x="3.208557" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(27.441633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.875875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(45.267148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(54.701390, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(6.656250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(13.582914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(23.603094, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(33.617000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(92.900421, -3.984375)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 5.264707)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="8.766250" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(106.834640, -3.984375)"><svg:text font-size="19.270161" transform="scale(0.622724, 1)" text-anchor="middle" y="4.648002" x="3.208557" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel14.mml b/libs/math/doc/equations/mbessel14.mml
index 9e17dd4805..9e17dd4805 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel14.mml
+++ b/libs/math/doc/equations/mbessel14.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel14.png b/libs/math/doc/equations/mbessel14.png
index eaef95a4e1..eaef95a4e1 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel14.png
+++ b/libs/math/doc/equations/mbessel14.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel14.svg b/libs/math/doc/equations/mbessel14.svg
new file mode 100644
index 0000000000..3650caf964
--- /dev/null
+++ b/libs/math/doc/equations/mbessel14.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.380341pt" width="86.544824pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.456513 86.544824 23.380341"><svg:metadata><svgmath:metrics top="23.3803411735" bottom="0.0" baseline="5.923828125" axis="9.908203125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.655836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.342688, -3.984375)"><svg:g transform="translate(9.888344, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.776687" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(49.705313, -3.984375)"><svg:text font-size="21.667025" transform="scale(0.553837, 1)" text-anchor="middle" y="5.173425" x="3.607644" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(3.448242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(18.064453, 0.000000)"><svg:text font-size="21.667025" transform="scale(0.553837, 1)" text-anchor="middle" y="5.173425" x="3.607644" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.060547, -4.371020)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.946934, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/mbessel15.mml b/libs/math/doc/equations/mbessel15.mml
new file mode 100644
index 0000000000..4607cbac12
--- /dev/null
+++ b/libs/math/doc/equations/mbessel15.mml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>mbessel15</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mrow>
+ <mi>K</mi>
+ </mrow>
+ <mrow>
+ <mi>&#x3bc;</mi>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <munderover>
+ <mrow>
+ <mtext> &#x2211;</mtext>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mrow>
+ <mi>&#x221e;</mi>
+ </mrow>
+ </munderover>
+ <msub>
+ <mrow>
+ <mi>c</mi>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ </mrow>
+ </msub>
+ <msub>
+ <mrow>
+ <mi>f</mi>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ </mrow>
+ </msub>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mrow>
+ <mi>K</mi>
+ </mrow>
+ <mrow>
+ <mi>&#x3bc;</mi>
+ <mo>+</mo>
+ <mn>1</mn>
+ </mrow>
+ </msub>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfrac>
+ <munderover>
+ <mrow>
+ <mo>&#x2211;</mo>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mrow>
+ <mi>&#x221e;</mi>
+ </mrow>
+ </munderover>
+ <msub>
+ <mrow>
+ <mi>c</mi>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ </mrow>
+ </msub>
+ <msub>
+ <mrow>
+ <mi>h</mi>
+ </mrow>
+ <mrow>
+ <mi>k</mi>
+ </mrow>
+ </msub>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/mbessel15.png b/libs/math/doc/equations/mbessel15.png
new file mode 100644
index 0000000000..082fdff066
--- /dev/null
+++ b/libs/math/doc/equations/mbessel15.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel15.svg b/libs/math/doc/equations/mbessel15.svg
new file mode 100644
index 0000000000..2bc5376c03
--- /dev/null
+++ b/libs/math/doc/equations/mbessel15.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.537891pt" width="87.699902pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.253320 87.699902 54.537891"><svg:metadata><svgmath:metrics top="54.537890625" bottom="0.0" baseline="23.2845703125" axis="27.2689453125"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.064980, -13.714805)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(32.455371, -17.699180)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.822949, -13.714805)"><svg:g transform="translate(2.333145, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.277344" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 9.812227)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(3.573574, -9.626953)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g><svg:g transform="translate(13.220977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.703145, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 17.356875)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.455371, 13.372500)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.822949, 17.356875)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.683701, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, -3.984375)"><svg:g transform="translate(1.455623, 0.000000)"><svg:text font-size="14.461869" text-anchor="middle" y="3.453054" x="5.154865" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 13.796602)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(3.573574, -7.880859)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(19.238789, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(28.720957, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel16.mml b/libs/math/doc/equations/mbessel16.mml
index b068e197c6..b068e197c6 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel16.mml
+++ b/libs/math/doc/equations/mbessel16.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel16.png b/libs/math/doc/equations/mbessel16.png
index 86715f313e..86715f313e 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel16.png
+++ b/libs/math/doc/equations/mbessel16.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel16.svg b/libs/math/doc/equations/mbessel16.svg
new file mode 100644
index 0000000000..fcf6d3d566
--- /dev/null
+++ b/libs/math/doc/equations/mbessel16.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.099590pt" width="60.976371pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.218887 60.976371 27.099590"><svg:metadata><svgmath:metrics top="27.0995902423" bottom="0.0552742346939" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(12.832145, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.518996, -3.984375)"><svg:g transform="translate(3.189127, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.378254" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.483188, -3.984375)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.324453, 0.000000)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.320547, -8.318770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel17.mml b/libs/math/doc/equations/mbessel17.mml
index 641de0438b..641de0438b 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel17.mml
+++ b/libs/math/doc/equations/mbessel17.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel17.png b/libs/math/doc/equations/mbessel17.png
index 36f7e605c8..36f7e605c8 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel17.png
+++ b/libs/math/doc/equations/mbessel17.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel17.svg b/libs/math/doc/equations/mbessel17.svg
new file mode 100644
index 0000000000..9475b81c98
--- /dev/null
+++ b/libs/math/doc/equations/mbessel17.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.692309pt" width="183.355106pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.844705 183.355106 35.692309"><svg:metadata><svgmath:metrics top="35.6923093658" axis="19.8319796002" baseline="15.8476046002" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.795254, 0.000000)"/><svg:g transform="translate(38.128590, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.229504, 0.000000)"/><svg:g transform="translate(60.229504, -3.984375)"><svg:text font-size="25.936998" text-anchor="middle" y="6.912022" x="9.245121" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.634633, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(6.208207, -11.933142)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(79.305684, -3.984375)"><svg:g transform="translate(32.062494, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(25.947258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.381500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.377594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.770172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(64.957019, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="70.124988" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(150.016609, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.723633, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.335938, -5.155896)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.415996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.220977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g></svg:svg>
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel2.mml b/libs/math/doc/equations/mbessel2.mml
index 64e8118331..64e8118331 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel2.mml
+++ b/libs/math/doc/equations/mbessel2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel2.png b/libs/math/doc/equations/mbessel2.png
index 1bcb82f295..1bcb82f295 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel2.png
+++ b/libs/math/doc/equations/mbessel2.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel2.svg b/libs/math/doc/equations/mbessel2.svg
new file mode 100644
index 0000000000..e73e575d76
--- /dev/null
+++ b/libs/math/doc/equations/mbessel2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.696463pt" width="152.001990pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.288407 152.001990 38.696463"><svg:metadata><svgmath:metrics top="38.6964632812" bottom="0.0" baseline="16.4080558594" axis="20.3924308594"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.466481, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.567395, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(17.402344, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.398438, -11.291072)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(60.747414, -3.984375)"><svg:text font-size="28.751642" text-anchor="middle" y="6.865016" x="10.248388" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.629579, 20.292587)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.211474, -14.376845)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(81.830127, -3.984375)"><svg:g transform="translate(21.040394, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.922344, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.918438, -6.783500)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.970695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.404937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.401031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="70.171863" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel3.mml b/libs/math/doc/equations/mbessel3.mml
index 824afc8e81..824afc8e81 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel3.mml
+++ b/libs/math/doc/equations/mbessel3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel3.png b/libs/math/doc/equations/mbessel3.png
index 84d818e88d..84d818e88d 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel3.png
+++ b/libs/math/doc/equations/mbessel3.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel3.svg b/libs/math/doc/equations/mbessel3.svg
new file mode 100644
index 0000000000..6c654969d3
--- /dev/null
+++ b/libs/math/doc/equations/mbessel3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.236563pt" width="123.011711pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.711184 123.011711 25.236563"><svg:metadata><svgmath:metrics top="25.2365625" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(12.846035, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.234059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.920910, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.398778, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(60.667660, -3.984375)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(13.883437, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.604789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(39.039031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(48.117488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.650865, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(17.337242, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.344051" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel4.mml b/libs/math/doc/equations/mbessel4.mml
index f9572d0d9c..f9572d0d9c 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel4.mml
+++ b/libs/math/doc/equations/mbessel4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel4.png b/libs/math/doc/equations/mbessel4.png
index 0ff901ed42..0ff901ed42 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel4.png
+++ b/libs/math/doc/equations/mbessel4.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel4.svg b/libs/math/doc/equations/mbessel4.svg
new file mode 100644
index 0000000000..f17df11dff
--- /dev/null
+++ b/libs/math/doc/equations/mbessel4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="135.835379pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 135.835379 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.143437, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.531461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.299039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(57.319219, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(70.403203, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(79.481660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.203012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(104.637254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(122.780691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel5.mml b/libs/math/doc/equations/mbessel5.mml
index 1e69fdc390..1e69fdc390 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel5.mml
+++ b/libs/math/doc/equations/mbessel5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel5.png b/libs/math/doc/equations/mbessel5.png
index 7b4385fa05..7b4385fa05 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel5.png
+++ b/libs/math/doc/equations/mbessel5.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel5.svg b/libs/math/doc/equations/mbessel5.svg
new file mode 100644
index 0000000000..5227fd73ec
--- /dev/null
+++ b/libs/math/doc/equations/mbessel5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="135.037207pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 135.037207 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.911016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.299039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.985891, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(62.069875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(74.915910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(90.637262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(100.071504, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(121.982520, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel6.mml b/libs/math/doc/equations/mbessel6.mml
index 5409d2aada..5409d2aada 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel6.mml
+++ b/libs/math/doc/equations/mbessel6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel6.png b/libs/math/doc/equations/mbessel6.png
index 87b1b5c40a..87b1b5c40a 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel6.png
+++ b/libs/math/doc/equations/mbessel6.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel6.svg b/libs/math/doc/equations/mbessel6.svg
new file mode 100644
index 0000000000..76b904e191
--- /dev/null
+++ b/libs/math/doc/equations/mbessel6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="108.669492pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 108.669492 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.466481, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(36.153332, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(43.237317, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(52.315774, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.037125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(77.471367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(95.614805, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel7.mml b/libs/math/doc/equations/mbessel7.mml
index 3633bb68d0..3633bb68d0 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel7.mml
+++ b/libs/math/doc/equations/mbessel7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel7.png b/libs/math/doc/equations/mbessel7.png
index 565133e606..565133e606 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel7.png
+++ b/libs/math/doc/equations/mbessel7.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel7.svg b/libs/math/doc/equations/mbessel7.svg
new file mode 100644
index 0000000000..32d449d18f
--- /dev/null
+++ b/libs/math/doc/equations/mbessel7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="119.972227pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 119.972227 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.064453, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(12.846035, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.234059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.920910, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(47.004895, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(59.850930, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.572281, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(85.006523, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(106.917539, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel8.mml b/libs/math/doc/equations/mbessel8.mml
index d68f06ffd4..d68f06ffd4 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel8.mml
+++ b/libs/math/doc/equations/mbessel8.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel8.png b/libs/math/doc/equations/mbessel8.png
index 8331d213f1..8331d213f1 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel8.png
+++ b/libs/math/doc/equations/mbessel8.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel8.svg b/libs/math/doc/equations/mbessel8.svg
new file mode 100644
index 0000000000..d53d54194f
--- /dev/null
+++ b/libs/math/doc/equations/mbessel8.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.233145pt" width="326.047976pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 326.047976 18.233145"><svg:metadata><svgmath:metrics top="18.2331445312" bottom="0.241951436208" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.998047" font-family="Times New Roman" font-style="italic" fill="black">W</svg:text><svg:g transform="translate(14.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(24.760422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(33.838879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.893567, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.064453, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(59.739602, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.460953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.895195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(97.741230, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.795918, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(119.874375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(136.262398, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(149.029977, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(158.464219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.133145, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(44.044160, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.765512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(69.199754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(82.045789, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.100476, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(113.243914, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(130.294695, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(296.088344, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(308.855922, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(318.876101, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(1.054688, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel9.mml b/libs/math/doc/equations/mbessel9.mml
index 8f95395cfb..8f95395cfb 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel9.mml
+++ b/libs/math/doc/equations/mbessel9.mml
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel9.png b/libs/math/doc/equations/mbessel9.png
index 409f8da8a3..409f8da8a3 100644
--- a/libs/math/doc/sf_and_dist/equations/mbessel9.png
+++ b/libs/math/doc/equations/mbessel9.png
Binary files differ
diff --git a/libs/math/doc/equations/mbessel9.svg b/libs/math/doc/equations/mbessel9.svg
new file mode 100644
index 0000000000..b1a444fdcd
--- /dev/null
+++ b/libs/math/doc/equations/mbessel9.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.215742pt" width="149.613274pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 149.613274 18.215742"><svg:metadata><svgmath:metrics top="18.2157421875" bottom="1.6044140625" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(13.883437, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.271461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(40.372375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(49.450832, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(65.172184, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(75.192363, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(86.670231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(104.007473, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(123.712551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(136.558586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.mml b/libs/math/doc/equations/nc_beta_ref1.mml
index ccca17cd74..ccca17cd74 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.mml
+++ b/libs/math/doc/equations/nc_beta_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.png b/libs/math/doc/equations/nc_beta_ref1.png
index ee40561fb2..ee40561fb2 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.png
+++ b/libs/math/doc/equations/nc_beta_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_beta_ref1.svg b/libs/math/doc/equations/nc_beta_ref1.svg
new file mode 100644
index 0000000000..1c79e475c7
--- /dev/null
+++ b/libs/math/doc/equations/nc_beta_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.663770pt" width="200.515974pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.775020 200.515974 31.663770"><svg:metadata><svgmath:metrics top="31.6637695313" bottom="0.0" baseline="12.88875" axis="16.873125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.565106, 0.000000)"/><svg:g transform="translate(75.898442, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(85.999356, 0.000000)"/><svg:g transform="translate(97.999356, -3.984375)"><svg:text font-size="21.679914" text-anchor="middle" y="5.030019" x="7.727704" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.011649, 16.773281)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.690790, -10.863457)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(113.454763, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(121.194997, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.799805, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(22.341148, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(147.532240, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(156.893587, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.mml b/libs/math/doc/equations/nc_beta_ref2.mml
index f69b7aba4c..f69b7aba4c 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.mml
+++ b/libs/math/doc/equations/nc_beta_ref2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.png b/libs/math/doc/equations/nc_beta_ref2.png
index f02356a872..f02356a872 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.png
+++ b/libs/math/doc/equations/nc_beta_ref2.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_beta_ref2.svg b/libs/math/doc/equations/nc_beta_ref2.svg
new file mode 100644
index 0000000000..23641a94e1
--- /dev/null
+++ b/libs/math/doc/equations/nc_beta_ref2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.663770pt" width="201.084333pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.775020 201.084333 31.663770"><svg:metadata><svgmath:metrics top="31.6637695313" bottom="0.0" baseline="12.88875" axis="16.873125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.133465, 0.000000)"/><svg:g transform="translate(76.466801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(86.567715, 0.000000)"/><svg:g transform="translate(98.567715, -3.984375)"><svg:text font-size="21.679914" text-anchor="middle" y="5.030019" x="7.727704" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.011649, 16.773281)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.690790, -10.863457)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(114.023122, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(121.763357, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.799805, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(22.341148, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(148.100599, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(157.461947, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.mml b/libs/math/doc/equations/nc_beta_ref3.mml
index e99e7896e4..e99e7896e4 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.mml
+++ b/libs/math/doc/equations/nc_beta_ref3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.png b/libs/math/doc/equations/nc_beta_ref3.png
index 32e0c09b53..32e0c09b53 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.png
+++ b/libs/math/doc/equations/nc_beta_ref3.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_beta_ref3.svg b/libs/math/doc/equations/nc_beta_ref3.svg
new file mode 100644
index 0000000000..cc58fc5d2e
--- /dev/null
+++ b/libs/math/doc/equations/nc_beta_ref3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.430989pt" width="247.467023pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.509271 247.467023 25.430989"><svg:metadata><svgmath:metrics top="25.4309892756" bottom="0.0" baseline="8.92171875" axis="12.90609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.467773" font-family="Times New Roman" font-style="italic" fill="black">X</svg:text></svg:g><svg:g transform="translate(13.687500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.541016, 0.000000)"/><svg:g transform="translate(40.874352, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">≃</svg:text></svg:g><svg:g transform="translate(53.746750, 0.000000)"/><svg:g transform="translate(65.746750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(74.413414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(83.847656, -3.984375)"><svg:text font-size="27.493018" transform="scale(0.436474, 1)" text-anchor="middle" y="6.564495" x="4.577695" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.359375, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.615234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.783203, 0.000000)"><svg:text font-size="27.493018" transform="scale(0.436474, 1)" text-anchor="middle" y="6.564495" x="4.577695" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(102.626953, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="25.196391" transform="scale(0.476259, 1)" text-anchor="middle" y="7.468201" x="4.195298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(7.151484, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="19.875234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(43.144109, -3.984375)"><svg:text font-size="25.196391" transform="scale(0.476259, 1)" text-anchor="middle" y="7.468201" x="4.195298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(149.767156, 0.000000)"/><svg:g transform="translate(161.767156, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(168.434476, 0.000000)"/><svg:g transform="translate(180.434476, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(192.211172, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(202.312086, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(211.277578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(220.711820, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(230.274969, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(240.295148, -3.984375)"><svg:g transform="translate(0.799805, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/nc_beta_ref4.mml b/libs/math/doc/equations/nc_beta_ref4.mml
new file mode 100644
index 0000000000..9a5453e63d
--- /dev/null
+++ b/libs/math/doc/equations/nc_beta_ref4.mml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>nc_beta_ref4</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mo>;</mo>
+ <mi>&#x3b1;</mi>
+ <mo>,</mo>
+ <mi>&#x3b2;</mi>
+ <mo>;</mo>
+ <mi>&#x3bb;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mi>&#x221e;</mi>
+ </munderover>
+ <mi>P</mi>
+ <mfenced>
+ <mrow>
+ <mi>i</mi>
+ <mo>;</mo>
+ <mfrac>
+ <mi>&#x3bb;</mi>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x3b1;</mi>
+ <mo>+</mo>
+ <mi>i</mi>
+ <mo>,</mo>
+ <mi>&#x3b2;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <mi>F</mi>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ <mo>;</mo>
+ <mi>&#x3b1;</mi>
+ <mo>,</mo>
+ <mi>&#x3b2;</mi>
+ <mo>;</mo>
+ <mi>&#x3bb;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <munderover>
+ <mo>&#x2211;</mo>
+ <mrow>
+ <mi>i</mi>
+ <mo>=</mo>
+ <mn>0</mn>
+ </mrow>
+ <mi>&#x221e;</mi>
+ </munderover>
+ <mi>P</mi>
+ <mfenced>
+ <mrow>
+ <mi>i</mi>
+ <mo>;</mo>
+ <mfrac>
+ <mi>&#x3bb;</mi>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </mfenced>
+ <mfenced>
+ <mrow>
+ <mn>1</mn>
+ <mo>&#x2212;</mo>
+ <msub>
+ <mi>I</mi>
+ <mi>x</mi>
+ </msub>
+ <mfenced>
+ <mrow>
+ <mi>&#x3b1;</mi>
+ <mo>+</mo>
+ <mi>i</mi>
+ <mo>,</mo>
+ <mi>&#x3b2;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/nc_beta_ref4.png b/libs/math/doc/equations/nc_beta_ref4.png
new file mode 100644
index 0000000000..771aebd04d
--- /dev/null
+++ b/libs/math/doc/equations/nc_beta_ref4.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_beta_ref4.svg b/libs/math/doc/equations/nc_beta_ref4.svg
new file mode 100644
index 0000000000..689a737944
--- /dev/null
+++ b/libs/math/doc/equations/nc_beta_ref4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="42.878438pt" width="240.650493pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -25.423594 240.650493 42.878438"><svg:metadata><svgmath:metrics top="42.8784375" bottom="0.0" baseline="17.45484375" axis="21.43921875"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(18.100906, -8.547773)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(88.834371, -12.532148)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(105.201949, -8.547773)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.677508" text-anchor="middle" y="4.691592" x="6.301065" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(12.602130, 9.748711)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(12.602130, -4.979883)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(24.034239, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(31.774474, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(20.601149, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.371716, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(65.733063, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 15.575039)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(26.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(88.834371, 11.590664)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(105.201949, 15.575039)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.677508" text-anchor="middle" y="4.691592" x="6.301065" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(12.602130, 9.748711)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(12.602130, -4.979883)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(24.034239, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(31.774474, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(20.601149, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.371716, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.462254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(75.080734, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.mml b/libs/math/doc/equations/nc_chi_squ_ref1.mml
index 94e21f3713..94e21f3713 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.mml
+++ b/libs/math/doc/equations/nc_chi_squ_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.png b/libs/math/doc/equations/nc_chi_squ_ref1.png
index 3476b5985c..3476b5985c 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.png
+++ b/libs/math/doc/equations/nc_chi_squ_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_chi_squ_ref1.svg b/libs/math/doc/equations/nc_chi_squ_ref1.svg
new file mode 100644
index 0000000000..2be1c0b8e8
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.743550pt" width="42.733199pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.435193 42.733199 38.743550"><svg:metadata><svgmath:metrics top="38.7435503239" bottom="0.0" baseline="15.3083571932" axis="19.2927321932"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="26.680296" text-anchor="middle" y="6.370442" x="9.510066" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.794012, 19.192888)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.423748, -13.535076)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(19.020133, 0.000000)"><svg:text font-size="23.677766" transform="scale(0.506805, 1)" text-anchor="middle" y="5.653529" x="3.942441" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.531250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.796875, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.328125, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.289004" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.456973, 0.000000)"><svg:text font-size="23.677766" transform="scale(0.506805, 1)" text-anchor="middle" y="5.653529" x="3.942441" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.453066, -6.370935)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.mml b/libs/math/doc/equations/nc_chi_squ_ref2.mml
index 31b15af0d8..31b15af0d8 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.mml
+++ b/libs/math/doc/equations/nc_chi_squ_ref2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.png b/libs/math/doc/equations/nc_chi_squ_ref2.png
index f52f706cd4..f52f706cd4 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.png
+++ b/libs/math/doc/equations/nc_chi_squ_ref2.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_chi_squ_ref2.svg b/libs/math/doc/equations/nc_chi_squ_ref2.svg
new file mode 100644
index 0000000000..5da2c58bb1
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.237855pt" width="84.465344pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.364730 84.465344 37.237855"><svg:metadata><svgmath:metrics top="37.2378545834" bottom="0.0" baseline="13.873125" axis="17.8575"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 0.000000)"/><svg:g transform="translate(20.905602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.006516, 0.000000)"/><svg:g transform="translate(43.006516, -3.984375)"><svg:text font-size="25.024192" text-anchor="middle" y="5.292630" x="8.919756" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.203701, 17.757656)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.833438, -13.464612)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(60.846028, -3.984375)"><svg:text font-size="23.523093" transform="scale(0.510137, 1)" text-anchor="middle" y="5.616598" x="3.916687" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.531250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(6.656250, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.750000, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.328125, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.195254" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.363223, 0.000000)"><svg:text font-size="23.523093" transform="scale(0.510137, 1)" text-anchor="middle" y="5.616598" x="3.916687" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.359316, -6.300472)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.mml b/libs/math/doc/equations/nc_chi_squ_ref3.mml
index 36134848a4..36134848a4 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.mml
+++ b/libs/math/doc/equations/nc_chi_squ_ref3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.png b/libs/math/doc/equations/nc_chi_squ_ref3.png
index 032bc084a0..032bc084a0 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.png
+++ b/libs/math/doc/equations/nc_chi_squ_ref3.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_chi_squ_ref3.svg b/libs/math/doc/equations/nc_chi_squ_ref3.svg
new file mode 100644
index 0000000000..db53746e3b
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="48.662140pt" width="381.035320pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.754315 381.035320 48.662140"><svg:metadata><svgmath:metrics top="48.662140142" bottom="0.0" baseline="16.9078254493" axis="20.8922004493"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.028644, 0.000000)"/><svg:g transform="translate(61.361981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.462895, 0.000000)"/><svg:g transform="translate(83.462895, -3.984375)"><svg:text font-size="40.376296" text-anchor="middle" y="5.014035" x="14.391941" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.675887, 20.792357)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(11.355027, -23.842752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(112.832715, -3.984375)"><svg:g transform="translate(0.585938, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.351827)"><svg:text font-size="14.227164" transform="scale(0.598854, 1)" text-anchor="middle" y="3.397013" x="2.368878" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(13.306270, 0.000000)"><svg:text font-size="14.227164" transform="scale(0.598854, 1)" text-anchor="middle" y="3.397013" x="2.368878" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.469668, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.506799)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.470600, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="39.604609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(153.023262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(160.769356, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(20.384766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(29.819008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(35.819008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(43.149086, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(207.914535, 0.000000)"/><svg:g transform="translate(223.247871, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(233.348785, 0.000000)"/><svg:g transform="translate(245.934723, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(253.692535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -12.745488)"><svg:text font-size="17.904911" transform="scale(0.475847, 1)" text-anchor="middle" y="4.275147" x="2.981238" font-family="Times New Roman" fill="black">[</svg:text><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.058223, 0.000000)"><svg:g transform="translate(0.416016, -2.576882)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.328125, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(14.707031, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(7.101563, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="18.203125" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.677363, 0.000000)"><svg:text font-size="17.904911" transform="scale(0.475847, 1)" text-anchor="middle" y="4.275147" x="2.981238" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(288.533297, -3.984375)"><svg:text font-size="22.002148" transform="scale(0.545401, 1)" text-anchor="middle" y="5.253443" x="3.663444" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.662109, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.064453, 0.000000)"><svg:text font-size="22.002148" transform="scale(0.545401, 1)" text-anchor="middle" y="5.253443" x="3.663444" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.060547, -7.199926)"><svg:text font-size="13.797518" transform="scale(0.617502, 1)" text-anchor="middle" y="3.294427" x="2.297341" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(5.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.469043, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(18.970332, 0.000000)"><svg:text font-size="13.797518" transform="scale(0.617502, 1)" text-anchor="middle" y="3.294427" x="2.297341" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(326.401403, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 6.300379)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="14.063898" transform="scale(0.605806, 1)" text-anchor="middle" y="3.236937" x="2.341694" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.457031, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(5.248047, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.053027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.566270, -2.828906)"><svg:text font-size="14.063898" transform="scale(0.605806, 1)" text-anchor="middle" y="3.236937" x="2.341694" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(352.101774, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 19.981359 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(24.937453, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.mml b/libs/math/doc/equations/nc_chi_squ_ref4.mml
index 0fa08664cf..0fa08664cf 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.mml
+++ b/libs/math/doc/equations/nc_chi_squ_ref4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.png b/libs/math/doc/equations/nc_chi_squ_ref4.png
index 87602be862..87602be862 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.png
+++ b/libs/math/doc/equations/nc_chi_squ_ref4.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_chi_squ_ref4.svg b/libs/math/doc/equations/nc_chi_squ_ref4.svg
new file mode 100644
index 0000000000..377a8331b9
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="72.010093pt" width="204.431395pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -39.989421 204.431395 72.010093"><svg:metadata><svgmath:metrics top="72.0100925495" bottom="0.0" baseline="32.0206712747" axis="36.0050462747"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(43.174950, -26.331218)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.022785, 0.000000)"/><svg:g transform="translate(61.356121, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.457035, 0.000000)"/><svg:g transform="translate(83.457035, -3.984375)"><svg:text font-size="14.138475" text-anchor="middle" y="5.455388" x="5.039593" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(10.079186, 9.748711)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.079186, -1.762266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(104.968331, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(112.116710, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 2.551975)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.374586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(22.475500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(36.068836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.169750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(61.548949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(68.548945, 0.000000)"/><svg:g transform="translate(80.548945, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(91.030660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(101.131575, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(120.011598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(129.445840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(137.812969, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(144.812965, 0.000000)"/><svg:g transform="translate(156.812965, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(168.513430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(178.614344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(196.632391, -3.984375)"><svg:g transform="translate(1.921348, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.799004" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(20.824972, 27.071066)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(11.190992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(21.877844, -3.984375)"><svg:g transform="translate(13.531769, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.205289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.436047" transform="scale(0.685105, 1)" text-anchor="middle" y="3.858021" x="2.070650" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.640625, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.141378, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.839690, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.352932, -2.828906)"><svg:text font-size="12.436047" transform="scale(0.685105, 1)" text-anchor="middle" y="3.858021" x="2.070650" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.323538" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(53.787319, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.683701, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -7.199926)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(73.215288, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.507813, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(88.594487, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(95.594483, 0.000000)"/><svg:g transform="translate(107.594483, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(116.892604, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(126.993519, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(142.609222, -3.984375)"><svg:g transform="translate(8.053878, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(16.633225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.172229" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.mml b/libs/math/doc/equations/nc_chi_squ_ref5.mml
index dbc52e4025..dbc52e4025 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.mml
+++ b/libs/math/doc/equations/nc_chi_squ_ref5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.png b/libs/math/doc/equations/nc_chi_squ_ref5.png
index 2d74d3b865..2d74d3b865 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.png
+++ b/libs/math/doc/equations/nc_chi_squ_ref5.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_chi_squ_ref5.svg b/libs/math/doc/equations/nc_chi_squ_ref5.svg
new file mode 100644
index 0000000000..ef7695ea34
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="46.447456pt" width="189.533486pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.572896 189.533486 46.447456"><svg:metadata><svgmath:metrics top="46.4474558307" bottom="0.0" baseline="14.8745599235" axis="18.8589349235"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.022785, 0.000000)"/><svg:g transform="translate(61.356121, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.457035, 0.000000)"/><svg:g transform="translate(83.457035, -3.984375)"><svg:text font-size="37.940381" text-anchor="middle" y="3.506489" x="13.523671" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.807616, 18.759091)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.486757, -23.661333)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(111.090315, -3.984375)"><svg:g transform="translate(0.585938, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(15.379199, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.506799)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.425365, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.514141" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(145.190393, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 1.438208)"><svg:g transform="translate(0.507813, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(157.762658, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(27.774734, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.mml b/libs/math/doc/equations/nc_chi_squ_ref6.mml
index 3f6eec1461..3f6eec1461 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.mml
+++ b/libs/math/doc/equations/nc_chi_squ_ref6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.png b/libs/math/doc/equations/nc_chi_squ_ref6.png
index 111b5dcd9f..111b5dcd9f 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.png
+++ b/libs/math/doc/equations/nc_chi_squ_ref6.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_chi_squ_ref6.svg b/libs/math/doc/equations/nc_chi_squ_ref6.svg
new file mode 100644
index 0000000000..e82cf9c819
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="46.447456pt" width="208.560174pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.572896 208.560174 46.447456"><svg:metadata><svgmath:metrics top="46.4474558307" bottom="0.0" baseline="14.8745599235" axis="18.8589349235"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(25.841141, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(64.123691, 0.000000)"/><svg:g transform="translate(79.457027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(89.557941, 0.000000)"/><svg:g transform="translate(101.557941, -3.984375)"><svg:text font-size="37.940381" text-anchor="middle" y="3.506489" x="13.523671" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.807616, 18.759091)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.486757, -23.661333)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(129.191221, -3.984375)"><svg:g transform="translate(0.585938, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(15.379199, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.506799)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.425365, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.514141" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(163.291299, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 1.438208)"><svg:g transform="translate(0.507813, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(176.789346, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(27.774734, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/nc_chi_squ_ref7.mml b/libs/math/doc/equations/nc_chi_squ_ref7.mml
new file mode 100644
index 0000000000..a30520047d
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref7.mml
@@ -0,0 +1,86 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mtext>mean</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mi>&#x03BD;</mi>
+ <mo>+</mo>
+ <mi>&#x03BB;</mi>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>variance</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mn>2</mn>
+ <mfenced>
+ <mrow>
+ <mi>&#x03BD;</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>&#x03BB;</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mtext>skewness</mtext>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mn>2</mn>
+ <mrow>
+ <mfrac>
+ <mn>3</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ <mfenced>
+ <mrow>
+ <mi>&#x03BD;</mi>
+ <mo>+</mo>
+ <mn>3</mn>
+ <mi>&#x03BB;</mi>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mi>&#x03BD;</mi>
+ <mo>+</mo>
+ <mn>2</mn>
+ <mi>&#x03BB;</mi>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mfrac>
+ <mn>3</mn>
+ <mn>2</mn>
+ </mfrac>
+ </mrow>
+ </msup>
+ </mfrac>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/nc_chi_squ_ref7.png b/libs/math/doc/equations/nc_chi_squ_ref7.png
new file mode 100644
index 0000000000..64ef33ee89
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref7.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_chi_squ_ref7.svg b/libs/math/doc/equations/nc_chi_squ_ref7.svg
new file mode 100644
index 0000000000..bf243b88b0
--- /dev/null
+++ b/libs/math/doc/equations/nc_chi_squ_ref7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="69.449030pt" width="114.287234pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -38.708890 114.287234 69.449030"><svg:metadata><svgmath:metrics top="69.4490302331" bottom="0.0" baseline="30.7401401166" axis="34.7245151166"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(19.341797, -26.392484)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">mean</svg:text></svg:g><svg:g transform="translate(54.928125, -30.376859)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.295703, -26.392484)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(4.693359, -12.517471)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="20.317383" font-family="Times New Roman" fill="black">variance</svg:text></svg:g><svg:g transform="translate(54.928125, -16.501846)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.295703, -12.517471)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(23.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(32.995437, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 19.054681)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="22.664062" font-family="Times New Roman" fill="black">skewness</svg:text></svg:g><svg:g transform="translate(54.928125, 15.070306)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.295703, 15.070306)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -9.919359)"><svg:g transform="translate(0.390625, -0.906859)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.781250" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.041250, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(16.633225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(23.426761, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.715938, 17.832078)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(16.633225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(23.426761, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(26.263987, -9.919359)"><svg:g transform="translate(0.390625, -0.906859)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.390625" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.781250" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="36.477112" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_f_ref1.mml b/libs/math/doc/equations/nc_f_ref1.mml
index 1fd749e849..1fd749e849 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_f_ref1.mml
+++ b/libs/math/doc/equations/nc_f_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_f_ref1.png b/libs/math/doc/equations/nc_f_ref1.png
index 114f31d597..114f31d597 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_f_ref1.png
+++ b/libs/math/doc/equations/nc_f_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_f_ref1.svg b/libs/math/doc/equations/nc_f_ref1.svg
new file mode 100644
index 0000000000..bcffa33e5b
--- /dev/null
+++ b/libs/math/doc/equations/nc_f_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.514327pt" width="465.285611pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -36.028260 465.285611 49.514327"><svg:metadata><svgmath:metrics top="49.5143274951" bottom="0.0" baseline="13.486067023" axis="17.470442023"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.978102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.978098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(38.564270, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(45.231590, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(54.799949, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(66.542137, 0.000000)"/><svg:g transform="translate(81.875473, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(91.976387, 0.000000)"/><svg:g transform="translate(103.976387, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -16.668685)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.469043, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.690039, 0.000000)"><svg:g transform="translate(9.253906, -6.190197)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.714844, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(11.265625, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.746094, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 6.432359)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.613281, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(26.093750, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.421875, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="38.917969" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(163.910567, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.586172, -11.184301)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(181.879551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.586172, -11.184301)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(199.848535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(223.436953, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.273250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(40.993953, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(44.990047, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -6.190197)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(22.277344, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(10.886719, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="25.773438" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(300.007371, -3.984375)"><svg:g transform="translate(0.585938, -12.837372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(20.186016, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.578594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(40.975078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(24.704656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.286922, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.258094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 4.965551)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.060547, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(108.182449, -3.984375)"><svg:text font-size="27.889842" transform="scale(0.430264, 1)" text-anchor="middle" y="6.659244" x="4.643768" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(8.020183, 0.000000)"><svg:g transform="translate(11.761622, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(11.737891, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.527264)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.198625" transform="scale(0.698439, 1)" text-anchor="middle" y="5.371195" x="2.031119" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(24.154807, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(31.056507, -2.828906)"><svg:text font-size="12.198625" transform="scale(0.698439, 1)" text-anchor="middle" y="5.371195" x="2.031119" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="39.325608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(51.927822, 0.000000)"><svg:text font-size="27.889842" transform="scale(0.430264, 1)" text-anchor="middle" y="6.659244" x="4.643768" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.021442, 12.958308)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(15.603984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(23.189918, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(29.207730, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(43.375933, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(54.977496, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(63.373980, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.269344, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(49.865281, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="165.278240" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_f_ref2.mml b/libs/math/doc/equations/nc_f_ref2.mml
index 684242a9b8..684242a9b8 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_f_ref2.mml
+++ b/libs/math/doc/equations/nc_f_ref2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_f_ref2.png b/libs/math/doc/equations/nc_f_ref2.png
index 2face37db7..2face37db7 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_f_ref2.png
+++ b/libs/math/doc/equations/nc_f_ref2.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_f_ref2.svg b/libs/math/doc/equations/nc_f_ref2.svg
new file mode 100644
index 0000000000..74a4926cf8
--- /dev/null
+++ b/libs/math/doc/equations/nc_f_ref2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.118116pt" width="369.999409pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.572896 369.999409 54.118116"><svg:metadata><svgmath:metrics top="54.1181164781" bottom="0.0" baseline="22.545220571" axis="26.529595571"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.978102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.978098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(38.564270, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(45.231590, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(54.799949, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(66.542137, 0.000000)"/><svg:g transform="translate(81.875473, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(91.976387, 0.000000)"/><svg:g transform="translate(103.976387, -3.984375)"><svg:text font-size="46.203406" text-anchor="middle" y="9.235735" x="16.468988" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(9.850179, 26.429752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(13.432074, -23.661333)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(137.500300, -3.984375)"><svg:g transform="translate(16.028330, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(15.379199, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.007580)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 14.415865)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.345865" transform="scale(0.620288, 1)" text-anchor="middle" y="4.600648" x="3.221162" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(1.281729, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="8.953457" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.125332, -3.984375)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.346729, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="8.953457" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(22.331391, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.765633, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(42.224617, -3.984375)"><svg:text font-size="19.345865" transform="scale(0.620288, 1)" text-anchor="middle" y="4.600648" x="3.221162" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(53.826180, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(61.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="66.204433" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(204.290671, -3.984375)"><svg:text font-size="21.125285" transform="scale(0.568040, 1)" text-anchor="middle" y="5.044074" x="3.517442" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.758047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.926016, 0.000000)"><svg:text font-size="21.125285" transform="scale(0.568040, 1)" text-anchor="middle" y="5.044074" x="3.517442" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.922109, -4.371020)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(21.029687, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(248.079694, -3.984375)"><svg:text font-size="25.172546" transform="scale(0.476710, 1)" text-anchor="middle" y="6.010437" x="4.191327" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(14.291781, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 8.742188)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.273250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.169734" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(43.337703, 0.000000)"><svg:text font-size="25.172546" transform="scale(0.476710, 1)" text-anchor="middle" y="6.010437" x="4.191327" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(47.333797, -4.371020)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="17.071417" transform="scale(0.499080, 1)" text-anchor="middle" y="2.587853" x="2.842458" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(8.222656, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="20.445313" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(20.861328, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.666309, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(33.092187, -2.828906)"><svg:text font-size="17.071417" transform="scale(0.499080, 1)" text-anchor="middle" y="2.587853" x="2.842458" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(331.342905, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(17.776445, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.581426, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(30.094668, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref1.mml b/libs/math/doc/equations/nc_t_ref1.mml
index 8f76a0bcba..8f76a0bcba 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref1.mml
+++ b/libs/math/doc/equations/nc_t_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref1.png b/libs/math/doc/equations/nc_t_ref1.png
index e3d49ceca9..e3d49ceca9 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref1.png
+++ b/libs/math/doc/equations/nc_t_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_t_ref1.svg b/libs/math/doc/equations/nc_t_ref1.svg
new file mode 100644
index 0000000000..60904c8cc2
--- /dev/null
+++ b/libs/math/doc/equations/nc_t_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.339789pt" width="440.750623pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.223276 440.750623 51.339789"><svg:metadata><svgmath:metrics top="51.3397887877" bottom="0.0" baseline="22.1165130485" axis="26.1008880485"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(24.385422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(33.959641, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.701828, 0.000000)"/><svg:g transform="translate(61.035164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.136078, 0.000000)"/><svg:g transform="translate(83.722016, -3.984375)"><svg:g transform="translate(33.622469, -1.763672)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.158203, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(16.817707, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 22.727997)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.686230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.781582, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(23.658535, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.407781, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.403875, -11.184301)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(63.894441, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(72.290926, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="88.058738" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(172.366692, -3.984375)"><svg:text font-size="55.401145" transform="scale(0.216602, 1)" text-anchor="middle" y="13.228106" x="9.224507" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -10.258711)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(13.458820, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(19.036945, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(29.021555, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(41.596008, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(24.118719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(31.371976, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(37.389789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(44.643047, -3.984375)"><svg:g transform="translate(7.998751, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.980234" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.960469, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.960469, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 10.828438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.753343, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="32.022444" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(81.833460, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.390937, 12.957055)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.407781, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.403875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(43.800359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.423172, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.019109, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="128.597436" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(131.850038, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(141.870217, 0.000000)"><svg:g transform="translate(0.585938, -10.258711)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(16.834453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.110906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(45.364164, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.381977, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(58.635234, -3.984375)"><svg:g transform="translate(7.759542, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.980234" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.960469, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.960469, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 10.828438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.274925, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.544026" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(95.347229, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.851548, 13.857773)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 36.073226 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(36.553226, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(44.949711, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="117.349651" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(264.387837, 0.000000)"><svg:text font-size="55.401145" transform="scale(0.216602, 1)" text-anchor="middle" y="13.228106" x="9.224507" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref2.mml b/libs/math/doc/equations/nc_t_ref2.mml
index 0b499f18ec..0b499f18ec 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref2.mml
+++ b/libs/math/doc/equations/nc_t_ref2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref2.png b/libs/math/doc/equations/nc_t_ref2.png
index 8c168e400c..8c168e400c 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref2.png
+++ b/libs/math/doc/equations/nc_t_ref2.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_t_ref2.svg b/libs/math/doc/equations/nc_t_ref2.svg
new file mode 100644
index 0000000000..3514ef07b0
--- /dev/null
+++ b/libs/math/doc/equations/nc_t_ref2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="63.011842pt" width="308.955406pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.490296 308.955406 63.011842"><svg:metadata><svgmath:metrics top="63.0118415808" bottom="0.0" baseline="27.5215457904" axis="31.5059207904"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -18.564554)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.264977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(15.591148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(22.258469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(31.832688, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.569016, 0.000000)"/><svg:g transform="translate(58.902352, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(69.003266, 0.000000)"/><svg:g transform="translate(81.003266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.567383" font-family="Times New Roman" font-style="italic" fill="black">Φ</svg:text></svg:g><svg:g transform="translate(90.138031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(17.008464, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(113.809253, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(123.829433, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(129.847245, -3.984375)"><svg:text font-size="18.930870" text-anchor="middle" y="5.510701" x="6.747820" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(13.495640, 10.838320)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(13.495640, -5.029805)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(154.774995, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.930870" transform="scale(0.633885, 1)" text-anchor="middle" y="5.510701" x="3.152064" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.107363, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.468711, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(22.038641, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(29.624574, -3.984375)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(39.638480, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(65.769949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(75.790129, -3.984375)"><svg:g transform="translate(3.213184, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.980234" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 8.311689)"><svg:g transform="translate(4.491105, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -3.356040 L 1.719374 -3.356040 L 3.087811 -0.821898 L 3.031119 -0.453549 L 1.555790 -3.185640 L 1.300190 -3.185640 L 3.020436 0.000000 L 4.027248 -6.541679 L 9.214962 -6.541679" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.386837" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(86.762903, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(97.796048, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(107.157396, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(25.020828, -3.984375)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(35.034734, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(150.184317, -3.984375)"><svg:text font-size="18.930870" transform="scale(0.633885, 1)" text-anchor="middle" y="5.510701" x="3.152064" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.502804, 20.698837)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(13.440699, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.541613, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(43.225500, -3.984375)"><svg:g transform="translate(0.585938, -11.769574)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.220039, 0.000000)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(15.057266, -6.102528)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(6.150388, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.313795, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.451797" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(62.263234, 0.000000)"/><svg:g transform="translate(74.263234, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(81.263230, 0.000000)"/><svg:g transform="translate(93.263230, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(107.629711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(117.730625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(137.414512, -3.984375)"><svg:g transform="translate(6.075372, -11.769574)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.220039, 0.000000)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(15.057266, -6.102528)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 11.078393)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="14.494049" transform="scale(0.587827, 1)" text-anchor="middle" y="3.413862" x="2.413316" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.260460, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.374788, -2.828906)"><svg:g transform="translate(0.416016, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(19.460061, -2.828906)"><svg:text font-size="14.494049" transform="scale(0.587827, 1)" text-anchor="middle" y="3.413862" x="2.413316" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="29.430667" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(167.431116, 0.000000)"/><svg:g transform="translate(179.431116, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(186.431112, 0.000000)"/><svg:g transform="translate(198.431112, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(207.489058, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(218.175909, -3.984375)"><svg:g transform="translate(9.609777, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(2.554336, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.828438)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(2.554336, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(21.764788, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.773889" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref3.mml b/libs/math/doc/equations/nc_t_ref3.mml
index e2c9157a3d..e2c9157a3d 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref3.mml
+++ b/libs/math/doc/equations/nc_t_ref3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref3.png b/libs/math/doc/equations/nc_t_ref3.png
index e808d5b2f8..e808d5b2f8 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref3.png
+++ b/libs/math/doc/equations/nc_t_ref3.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_t_ref3.svg b/libs/math/doc/equations/nc_t_ref3.svg
new file mode 100644
index 0000000000..4ceaf8e178
--- /dev/null
+++ b/libs/math/doc/equations/nc_t_ref3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.558340pt" width="205.475645pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.845332 205.475645 33.558340"><svg:metadata><svgmath:metrics top="33.5583398438" bottom="0.0" baseline="14.7130078125" axis="18.6973828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.277344" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text><svg:g transform="translate(8.554688, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(15.222008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(20.548180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(27.215500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(36.789719, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(51.859383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.960297, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(71.293633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.394547, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.567383" font-family="Times New Roman" font-style="italic" fill="black">Φ</svg:text></svg:g><svg:g transform="translate(90.529313, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(17.008464, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(114.200535, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(124.220714, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(131.978527, -3.984375)"><svg:text font-size="23.763738" text-anchor="middle" y="6.404545" x="8.470473" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.754418, 18.597539)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.433559, -10.933770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(148.919473, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.774027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.794207, -3.984375)"><svg:g transform="translate(4.286285, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 11.053242)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.150695" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(37.530840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(52.560078, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref4.mml b/libs/math/doc/equations/nc_t_ref4.mml
index a4dce5dc85..a4dce5dc85 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref4.mml
+++ b/libs/math/doc/equations/nc_t_ref4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref4.png b/libs/math/doc/equations/nc_t_ref4.png
index 4606f0e64d..4606f0e64d 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref4.png
+++ b/libs/math/doc/equations/nc_t_ref4.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_t_ref4.svg b/libs/math/doc/equations/nc_t_ref4.svg
new file mode 100644
index 0000000000..c8da7c575e
--- /dev/null
+++ b/libs/math/doc/equations/nc_t_ref4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.890176pt" width="408.030453pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.845332 408.030453 34.890176"><svg:metadata><svgmath:metrics top="34.8901757813" bottom="0.0" baseline="16.04484375" axis="20.02921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(25.841141, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.264977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(15.591148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(22.258469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(31.832688, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.669922, 0.000000)"/><svg:g transform="translate(77.003258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.104172, 0.000000)"/><svg:g transform="translate(99.690110, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(107.447922, -3.984375)"><svg:text font-size="25.228614" text-anchor="middle" y="7.420231" x="8.992621" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.276567, 19.929375)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.955707, -10.933770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(125.433165, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.107363, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(19.851445, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(14.757808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(43.118480, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.632683, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.652863, -3.984375)"><svg:g transform="translate(4.286285, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 11.053242)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.150695" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(94.389496, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(105.422640, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(115.166722, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(14.757808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(20.758457, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(30.192699, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(40.774730, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(163.933640, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(293.362898, 0.000000)"/><svg:g transform="translate(305.362898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(312.030219, 0.000000)"/><svg:g transform="translate(324.030219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(333.627227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(343.728141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(352.394805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(361.829047, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(370.886992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(381.573844, -3.984375)"><svg:g transform="translate(10.565219, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.456609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref5.mml b/libs/math/doc/equations/nc_t_ref5.mml
index a2a60b7aaa..a2a60b7aaa 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref5.mml
+++ b/libs/math/doc/equations/nc_t_ref5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref5.png b/libs/math/doc/equations/nc_t_ref5.png
index cc4b137f0c..cc4b137f0c 100644
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref5.png
+++ b/libs/math/doc/equations/nc_t_ref5.png
Binary files differ
diff --git a/libs/math/doc/equations/nc_t_ref5.svg b/libs/math/doc/equations/nc_t_ref5.svg
new file mode 100644
index 0000000000..27160be60f
--- /dev/null
+++ b/libs/math/doc/equations/nc_t_ref5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.890176pt" width="325.331855pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.845332 325.331855 34.890176"><svg:metadata><svgmath:metrics top="34.8901757813" bottom="0.0" baseline="16.04484375" axis="20.02921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.264977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(15.591148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(22.258469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(31.832688, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.574875, 0.000000)"/><svg:g transform="translate(58.908211, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(69.009125, 0.000000)"/><svg:g transform="translate(81.595063, -3.984375)"><svg:g transform="translate(26.538758, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(27.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(33.013250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(43.537570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.971812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.001343" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(144.182344, -3.984375)"><svg:text font-size="25.228614" text-anchor="middle" y="7.420231" x="8.992621" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.276567, 19.929375)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.955707, -10.933770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(162.167586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.107363, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(19.468711, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.778641, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.364574, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(43.118480, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.249949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.270129, -3.984375)"><svg:g transform="translate(4.286285, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 11.053242)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.150695" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(94.006761, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(105.039906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(114.401254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(25.020828, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(36.774734, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(159.168175, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/neg_binomial_ref.mml b/libs/math/doc/equations/neg_binomial_ref.mml
index d29f5e814c..d29f5e814c 100644
--- a/libs/math/doc/sf_and_dist/equations/neg_binomial_ref.mml
+++ b/libs/math/doc/equations/neg_binomial_ref.mml
diff --git a/libs/math/doc/sf_and_dist/equations/neg_binomial_ref.png b/libs/math/doc/equations/neg_binomial_ref.png
index e04f8d6bdf..e04f8d6bdf 100644
--- a/libs/math/doc/sf_and_dist/equations/neg_binomial_ref.png
+++ b/libs/math/doc/equations/neg_binomial_ref.png
Binary files differ
diff --git a/libs/math/doc/equations/neg_binomial_ref.svg b/libs/math/doc/equations/neg_binomial_ref.svg
new file mode 100644
index 0000000000..e619c3b81c
--- /dev/null
+++ b/libs/math/doc/equations/neg_binomial_ref.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="174.765566pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 174.765566 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.544273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(35.698566, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.440754, 0.000000)"/><svg:g transform="translate(62.774090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(72.875004, 0.000000)"/><svg:g transform="translate(85.460942, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(7.500648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.934891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(26.807937, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(3.971678, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(8.830078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="40.372391" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(126.419270, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(137.175617, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/normal01_cdf.mml b/libs/math/doc/equations/normal01_cdf.mml
index 67951f0264..67951f0264 100644
--- a/libs/math/doc/sf_and_dist/equations/normal01_cdf.mml
+++ b/libs/math/doc/equations/normal01_cdf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/normal01_cdf.png b/libs/math/doc/equations/normal01_cdf.png
index 6dda9c7a74..6dda9c7a74 100644
--- a/libs/math/doc/sf_and_dist/equations/normal01_cdf.png
+++ b/libs/math/doc/equations/normal01_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/normal01_cdf.svg b/libs/math/doc/equations/normal01_cdf.svg
index 42910865a1..42910865a1 100644
--- a/libs/math/doc/sf_and_dist/equations/normal01_cdf.svg
+++ b/libs/math/doc/equations/normal01_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/equations/normal01_pdf.mml b/libs/math/doc/equations/normal01_pdf.mml
index eb145176e7..eb145176e7 100644
--- a/libs/math/doc/sf_and_dist/equations/normal01_pdf.mml
+++ b/libs/math/doc/equations/normal01_pdf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/normal01_pdf.png b/libs/math/doc/equations/normal01_pdf.png
index 0b7e762c4e..0b7e762c4e 100644
--- a/libs/math/doc/sf_and_dist/equations/normal01_pdf.png
+++ b/libs/math/doc/equations/normal01_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/normal01_pdf.svg b/libs/math/doc/equations/normal01_pdf.svg
index 1907d0cfc2..1907d0cfc2 100644
--- a/libs/math/doc/sf_and_dist/equations/normal01_pdf.svg
+++ b/libs/math/doc/equations/normal01_pdf.svg
diff --git a/libs/math/doc/sf_and_dist/equations/normal_cdf.mml b/libs/math/doc/equations/normal_cdf.mml
index 506d948137..506d948137 100644
--- a/libs/math/doc/sf_and_dist/equations/normal_cdf.mml
+++ b/libs/math/doc/equations/normal_cdf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/normal_cdf.png b/libs/math/doc/equations/normal_cdf.png
index 280573726a..280573726a 100644
--- a/libs/math/doc/sf_and_dist/equations/normal_cdf.png
+++ b/libs/math/doc/equations/normal_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/normal_cdf.svg b/libs/math/doc/equations/normal_cdf.svg
index 494f760ede..494f760ede 100644
--- a/libs/math/doc/sf_and_dist/equations/normal_cdf.svg
+++ b/libs/math/doc/equations/normal_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/equations/normal_ref1.mml b/libs/math/doc/equations/normal_ref1.mml
index bc4de02a5a..bc4de02a5a 100644
--- a/libs/math/doc/sf_and_dist/equations/normal_ref1.mml
+++ b/libs/math/doc/equations/normal_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/normal_ref1.png b/libs/math/doc/equations/normal_ref1.png
index d40fc2ce2a..d40fc2ce2a 100644
--- a/libs/math/doc/sf_and_dist/equations/normal_ref1.png
+++ b/libs/math/doc/equations/normal_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/normal_ref1.svg b/libs/math/doc/equations/normal_ref1.svg
new file mode 100644
index 0000000000..a3a664abb8
--- /dev/null
+++ b/libs/math/doc/equations/normal_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.993661pt" width="147.014981pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.433076 147.014981 33.993661"><svg:metadata><svgmath:metrics top="33.993661486" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(19.048180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.048176, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(36.372394, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.583336, 0.000000)"/><svg:g transform="translate(62.916672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.017586, 0.000000)"/><svg:g transform="translate(85.603524, -3.984375)"><svg:g transform="translate(10.676285, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.808125, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 19.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.352570" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(113.542031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -14.856176)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -2.592524)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.328125, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(15.429688, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(18.093750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(5.353516, 9.850337)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.972656" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(4.218750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="22.925781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/owens_t.mml b/libs/math/doc/equations/owens_t.mml
index 7ad848c565..7ad848c565 100644
--- a/libs/math/doc/sf_and_dist/equations/owens_t.mml
+++ b/libs/math/doc/equations/owens_t.mml
diff --git a/libs/math/doc/sf_and_dist/equations/owens_t.png b/libs/math/doc/equations/owens_t.png
index 980988da7f..980988da7f 100644
--- a/libs/math/doc/sf_and_dist/equations/owens_t.png
+++ b/libs/math/doc/equations/owens_t.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/owens_t.svg b/libs/math/doc/equations/owens_t.svg
index c1c51cec2f..c1c51cec2f 100644
--- a/libs/math/doc/sf_and_dist/equations/owens_t.svg
+++ b/libs/math/doc/equations/owens_t.svg
diff --git a/libs/math/doc/sf_and_dist/equations/poisson_ref1.mml b/libs/math/doc/equations/poisson_ref1.mml
index 3bd7d0910b..3bd7d0910b 100644
--- a/libs/math/doc/sf_and_dist/equations/poisson_ref1.mml
+++ b/libs/math/doc/equations/poisson_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/poisson_ref1.png b/libs/math/doc/equations/poisson_ref1.png
index df88fa55ba..df88fa55ba 100644
--- a/libs/math/doc/sf_and_dist/equations/poisson_ref1.png
+++ b/libs/math/doc/equations/poisson_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/poisson_ref1.svg b/libs/math/doc/equations/poisson_ref1.svg
new file mode 100644
index 0000000000..4864adc025
--- /dev/null
+++ b/libs/math/doc/equations/poisson_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.118867pt" width="96.348000pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.007539 96.348000 23.118867"><svg:metadata><svgmath:metrics top="23.1188671875" bottom="0.0" baseline="6.111328125" axis="10.095703125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.544273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.112633, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.323574, 0.000000)"/><svg:g transform="translate(48.656910, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.757824, 0.000000)"/><svg:g transform="translate(71.343762, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(14.087461, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(6.898930, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.004238" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/roots1.mml b/libs/math/doc/equations/roots1.mml
index b40b3b32a9..b40b3b32a9 100644
--- a/libs/math/doc/sf_and_dist/equations/roots1.mml
+++ b/libs/math/doc/equations/roots1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/roots1.png b/libs/math/doc/equations/roots1.png
index d459a5d898..d459a5d898 100644
--- a/libs/math/doc/sf_and_dist/equations/roots1.png
+++ b/libs/math/doc/equations/roots1.png
Binary files differ
diff --git a/libs/math/doc/equations/roots1.svg b/libs/math/doc/equations/roots1.svg
new file mode 100644
index 0000000000..5195ecdc13
--- /dev/null
+++ b/libs/math/doc/equations/roots1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.066431pt" width="110.682336pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 110.682336 25.066431"><svg:metadata><svgmath:metrics top="25.0664314245" bottom="0.0" baseline="8.54884071227" axis="12.5332157123"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.516562, 0.000000)"/><svg:g transform="translate(36.849899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.950813, 0.000000)"/><svg:g transform="translate(58.950813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(74.069059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.089238, -3.984375)"><svg:g transform="translate(2.565103, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.593098" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/roots2.mml b/libs/math/doc/equations/roots2.mml
index 75244af974..75244af974 100644
--- a/libs/math/doc/sf_and_dist/equations/roots2.mml
+++ b/libs/math/doc/equations/roots2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/roots2.png b/libs/math/doc/equations/roots2.png
index 46b226be2a..46b226be2a 100644
--- a/libs/math/doc/sf_and_dist/equations/roots2.png
+++ b/libs/math/doc/equations/roots2.png
Binary files differ
diff --git a/libs/math/doc/equations/roots2.svg b/libs/math/doc/equations/roots2.svg
new file mode 100644
index 0000000000..030edfa201
--- /dev/null
+++ b/libs/math/doc/equations/roots2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.847513pt" width="195.625930pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 195.625930 27.847513"><svg:metadata><svgmath:metrics top="27.8475125873" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.516562, 0.000000)"/><svg:g transform="translate(36.849899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.950813, 0.000000)"/><svg:g transform="translate(58.950813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(74.069059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.089238, -3.984375)"><svg:g transform="translate(29.326289, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(13.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.462891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(36.542316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(39.167316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(29.417316, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.413410, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.340074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(55.774316, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(63.520410, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(77.237207, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(88.316637, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.499023" font-family="Times New Roman" fill="black">″</svg:text></svg:g><svg:g transform="translate(96.648020, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="111.536691" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/roots3.mml b/libs/math/doc/equations/roots3.mml
index 67dff5e986..67dff5e986 100644
--- a/libs/math/doc/sf_and_dist/equations/roots3.mml
+++ b/libs/math/doc/equations/roots3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/roots3.png b/libs/math/doc/equations/roots3.png
index 562279c166..562279c166 100644
--- a/libs/math/doc/sf_and_dist/equations/roots3.png
+++ b/libs/math/doc/equations/roots3.png
Binary files differ
diff --git a/libs/math/doc/equations/roots3.svg b/libs/math/doc/equations/roots3.svg
new file mode 100644
index 0000000000..b58d8ddbec
--- /dev/null
+++ b/libs/math/doc/equations/roots3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.628594pt" width="191.969680pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.298672 191.969680 30.628594"><svg:metadata><svgmath:metrics top="30.62859375" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.516562, 0.000000)"/><svg:g transform="translate(36.849899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.950813, 0.000000)"/><svg:g transform="translate(58.950813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(74.069059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.089238, -3.984375)"><svg:g transform="translate(2.565103, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.593098" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(113.934937, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(123.955117, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(11.079430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.499023" font-family="Times New Roman" fill="black">″</svg:text></svg:g><svg:g transform="translate(19.410813, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.127609, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.458984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.455078, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.170576, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(29.417316, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.413410, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="68.014563" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/roots4.mml b/libs/math/doc/equations/roots4.mml
new file mode 100644
index 0000000000..553d34ba6b
--- /dev/null
+++ b/libs/math/doc/equations/roots4.mml
@@ -0,0 +1,67 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <mi>f</mi>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msup>
+ <mi>x</mi>
+ <mn>3</mn>
+ </msup>
+ <mo>&#x2212;</mo>
+ <mi>a</mi>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>f</mi>
+ <mo>&#x2032;</mo>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mn>3</mn>
+ <msup>
+ <mi>x</mi>
+ <mn>2</mn>
+ </msup>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>f</mi>
+ <mo>&#x2033;</mo>
+ <mfenced>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ </mfenced>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <mn>6</mn>
+ <mi>x</mi>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math>
+
diff --git a/libs/math/doc/equations/roots4.png b/libs/math/doc/equations/roots4.png
new file mode 100644
index 0000000000..f8b2bbf190
--- /dev/null
+++ b/libs/math/doc/equations/roots4.png
Binary files differ
diff --git a/libs/math/doc/equations/roots4.svg b/libs/math/doc/equations/roots4.svg
new file mode 100644
index 0000000000..9edeb812a1
--- /dev/null
+++ b/libs/math/doc/equations/roots4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.097356pt" width="87.180703pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.533053 87.180703 49.097356"><svg:metadata><svgmath:metrics top="49.0973563373" bottom="0.0" baseline="20.5643031686" axis="24.5486781686"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(11.664719, -13.423834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.727609, -17.408209)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.095188, -13.423834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085515, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(7.706387, 5.658041)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.727609, 1.673666)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.095188, 5.658041)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 21.958834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(11.079430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.499023" font-family="Times New Roman" fill="black">″</svg:text></svg:g><svg:g transform="translate(19.410813, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.727609, 17.974459)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.095188, 21.958834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel1.mml b/libs/math/doc/equations/sbessel1.mml
index 6550608eac..6550608eac 100644
--- a/libs/math/doc/sf_and_dist/equations/sbessel1.mml
+++ b/libs/math/doc/equations/sbessel1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel1.png b/libs/math/doc/equations/sbessel1.png
index 0c3f0661e7..0c3f0661e7 100644
--- a/libs/math/doc/sf_and_dist/equations/sbessel1.png
+++ b/libs/math/doc/equations/sbessel1.png
Binary files differ
diff --git a/libs/math/doc/equations/sbessel1.svg b/libs/math/doc/equations/sbessel1.svg
new file mode 100644
index 0000000000..c754ed2a6b
--- /dev/null
+++ b/libs/math/doc/equations/sbessel1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="171.461625pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 171.461625 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(46.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(52.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(69.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(78.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(27.423406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(63.512594, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(146.027375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(155.360711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(165.461625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/sbessel2.mml b/libs/math/doc/equations/sbessel2.mml
new file mode 100644
index 0000000000..b4be92d1a9
--- /dev/null
+++ b/libs/math/doc/equations/sbessel2.mml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>sbessel2</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mrow>
+ <mi>j</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>&#x3c0;</mi>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ <mi>z</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <msub>
+ <mrow>
+ <mi>J</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mrow>
+ <mi>y</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>&#x3c0;</mi>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ <mi>z</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <msub>
+ <mrow>
+ <mi>Y</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/sbessel2.png b/libs/math/doc/equations/sbessel2.png
new file mode 100644
index 0000000000..98c1245ecc
--- /dev/null
+++ b/libs/math/doc/equations/sbessel2.png
Binary files differ
diff --git a/libs/math/doc/equations/sbessel2.svg b/libs/math/doc/equations/sbessel2.svg
new file mode 100644
index 0000000000..769a031ae3
--- /dev/null
+++ b/libs/math/doc/equations/sbessel2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.218729pt" width="105.528988pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.593740 105.528988 51.218729"><svg:metadata><svgmath:metrics top="51.2187292221" bottom="0.0" baseline="21.624989611" axis="25.609364611"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.861328, -12.171357)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(5.402344, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.662344, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.178359, -16.155732)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.545938, -12.171357)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.026250" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(20.611430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(41.897113, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 16.121602)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.523672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.178359, 12.137227)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.545938, 16.121602)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.026250" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(20.611430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(42.928363, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel3.mml b/libs/math/doc/equations/sbessel3.mml
index 27960dd227..27960dd227 100644
--- a/libs/math/doc/sf_and_dist/equations/sbessel3.mml
+++ b/libs/math/doc/equations/sbessel3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel3.png b/libs/math/doc/equations/sbessel3.png
index 11deb07f99..11deb07f99 100644
--- a/libs/math/doc/sf_and_dist/equations/sbessel3.png
+++ b/libs/math/doc/equations/sbessel3.png
Binary files differ
diff --git a/libs/math/doc/equations/sbessel3.svg b/libs/math/doc/equations/sbessel3.svg
new file mode 100644
index 0000000000..fead3edeb8
--- /dev/null
+++ b/libs/math/doc/equations/sbessel3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="171.461625pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 171.461625 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(46.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(52.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(69.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(78.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(27.423406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(63.512594, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(146.027375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(155.360711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(165.461625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/sbessel4.mml b/libs/math/doc/equations/sbessel4.mml
new file mode 100644
index 0000000000..cede826cca
--- /dev/null
+++ b/libs/math/doc/equations/sbessel4.mml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>sbessel4</title>
+<!-- MathML created with MathCast Equation Editor version 0.92 -->
+</head>
+<body>
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
+ <mrow>
+ <mtable columnalign="right center left">
+ <mtr>
+ <mtd>
+ <msub>
+ <mrow>
+ <mi>i</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>&#x3c0;</mi>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ <mi>z</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <msub>
+ <mrow>
+ <mi>I</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mrow>
+ <mi>k</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ <mtd>
+ <mo>=</mo>
+ </mtd>
+ <mtd>
+ <msqrt>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <mi>&#x3c0;</mi>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ <mi>z</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msqrt>
+ <msub>
+ <mrow>
+ <mi>K</mi>
+ </mrow>
+ <mrow>
+ <mi>n</mi>
+ <mo>+</mo>
+ <mfrac>
+ <mrow>
+ <mn>1</mn>
+ </mrow>
+ <mrow>
+ <mn>2</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </msub>
+ <mrow>
+ <mfenced>
+ <mrow>
+ <mrow>
+ <mi>z</mi>
+ </mrow>
+ </mrow>
+ </mfenced>
+ </mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+ </mrow>
+</math></body>
+</html> \ No newline at end of file
diff --git a/libs/math/doc/equations/sbessel4.png b/libs/math/doc/equations/sbessel4.png
new file mode 100644
index 0000000000..ed6653690e
--- /dev/null
+++ b/libs/math/doc/equations/sbessel4.png
Binary files differ
diff --git a/libs/math/doc/equations/sbessel4.svg b/libs/math/doc/equations/sbessel4.svg
new file mode 100644
index 0000000000..821540f8c1
--- /dev/null
+++ b/libs/math/doc/equations/sbessel4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.218729pt" width="106.179379pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.593740 106.179379 51.218729"><svg:metadata><svgmath:metrics top="51.2187292221" bottom="0.0" baseline="21.624989611" axis="25.609364611"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(2.519531, -12.171357)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.593984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.768203, -16.155732)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.135781, -12.171357)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.026250" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(20.611430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(40.221332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 16.121602)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.113516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.768203, 12.137227)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.135781, 16.121602)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="9.026250" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(20.611430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(43.988910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel5.mml b/libs/math/doc/equations/sbessel5.mml
index bd5e097ccf..bd5e097ccf 100644
--- a/libs/math/doc/sf_and_dist/equations/sbessel5.mml
+++ b/libs/math/doc/equations/sbessel5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel5.png b/libs/math/doc/equations/sbessel5.png
index b6a614eb44..b6a614eb44 100644
--- a/libs/math/doc/sf_and_dist/equations/sbessel5.png
+++ b/libs/math/doc/equations/sbessel5.png
Binary files differ
diff --git a/libs/math/doc/equations/sbessel5.svg b/libs/math/doc/equations/sbessel5.svg
new file mode 100644
index 0000000000..6656379f74
--- /dev/null
+++ b/libs/math/doc/equations/sbessel5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.696463pt" width="169.039361pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.288407 169.039361 38.696463"><svg:metadata><svgmath:metrics top="38.6964632812" bottom="0.0" baseline="16.4080558594" axis="20.3924308594"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(5.402344, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.183926, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.571949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(36.152863, -3.984375)"><svg:g transform="translate(12.908203, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -0.438984 L 4.200469 -0.438984 L 8.794429 8.068349 L 8.715400 8.588667 L 3.970069 -0.198984 L 3.610069 -0.198984 L 8.701172 9.228984 L 11.601563 -9.866953 L 21.773438 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(58.406301, -3.984375)"><svg:text font-size="28.751642" text-anchor="middle" y="6.865016" x="10.248388" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.629579, 20.292587)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.211474, -14.376845)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(79.489014, -3.984375)"><svg:g transform="translate(15.928862, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.599070, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.799125)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.432637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.237617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.957055)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(26.644523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.078765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(44.745429, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(54.765609, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(64.779515, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="89.550347" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_cdf.mml b/libs/math/doc/equations/skew_normal_cdf.mml
index c3306690bf..c3306690bf 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_cdf.mml
+++ b/libs/math/doc/equations/skew_normal_cdf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_cdf.png b/libs/math/doc/equations/skew_normal_cdf.png
index 0578921e8b..0578921e8b 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_cdf.png
+++ b/libs/math/doc/equations/skew_normal_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_cdf.svg b/libs/math/doc/equations/skew_normal_cdf.svg
index 85aade5340..85aade5340 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_cdf.svg
+++ b/libs/math/doc/equations/skew_normal_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.mml b/libs/math/doc/equations/skew_normal_kurt_ex.mml
index c7871801ef..c7871801ef 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.mml
+++ b/libs/math/doc/equations/skew_normal_kurt_ex.mml
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.png b/libs/math/doc/equations/skew_normal_kurt_ex.png
index fbe5909b55..fbe5909b55 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.png
+++ b/libs/math/doc/equations/skew_normal_kurt_ex.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.svg b/libs/math/doc/equations/skew_normal_kurt_ex.svg
index cf5a749a1a..cf5a749a1a 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_kurt_ex.svg
+++ b/libs/math/doc/equations/skew_normal_kurt_ex.svg
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_mean.mml b/libs/math/doc/equations/skew_normal_mean.mml
index c2bbb9a776..c2bbb9a776 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_mean.mml
+++ b/libs/math/doc/equations/skew_normal_mean.mml
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_mean.png b/libs/math/doc/equations/skew_normal_mean.png
index 9141e79219..9141e79219 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_mean.png
+++ b/libs/math/doc/equations/skew_normal_mean.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_mean.svg b/libs/math/doc/equations/skew_normal_mean.svg
index 44d437f911..44d437f911 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_mean.svg
+++ b/libs/math/doc/equations/skew_normal_mean.svg
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf.mml b/libs/math/doc/equations/skew_normal_pdf.mml
index e1bab6d910..e1bab6d910 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf.mml
+++ b/libs/math/doc/equations/skew_normal_pdf.mml
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf.png b/libs/math/doc/equations/skew_normal_pdf.png
index ae399030ad..ae399030ad 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf.png
+++ b/libs/math/doc/equations/skew_normal_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf.svg b/libs/math/doc/equations/skew_normal_pdf.svg
index 01d2d54514..01d2d54514 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf.svg
+++ b/libs/math/doc/equations/skew_normal_pdf.svg
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.mml b/libs/math/doc/equations/skew_normal_pdf0.mml
index c1c9dd917f..c1c9dd917f 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.mml
+++ b/libs/math/doc/equations/skew_normal_pdf0.mml
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.png b/libs/math/doc/equations/skew_normal_pdf0.png
index 3cb5d7929f..3cb5d7929f 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.png
+++ b/libs/math/doc/equations/skew_normal_pdf0.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.svg b/libs/math/doc/equations/skew_normal_pdf0.svg
index 64141ea401..64141ea401 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_pdf0.svg
+++ b/libs/math/doc/equations/skew_normal_pdf0.svg
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_skewness.mml b/libs/math/doc/equations/skew_normal_skewness.mml
index accdb93213..accdb93213 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_skewness.mml
+++ b/libs/math/doc/equations/skew_normal_skewness.mml
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_skewness.png b/libs/math/doc/equations/skew_normal_skewness.png
index f942af3646..f942af3646 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_skewness.png
+++ b/libs/math/doc/equations/skew_normal_skewness.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_skewness.svg b/libs/math/doc/equations/skew_normal_skewness.svg
index 9d533486a5..9d533486a5 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_skewness.svg
+++ b/libs/math/doc/equations/skew_normal_skewness.svg
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_variance.mml b/libs/math/doc/equations/skew_normal_variance.mml
index a9eedebbf9..a9eedebbf9 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_variance.mml
+++ b/libs/math/doc/equations/skew_normal_variance.mml
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_variance.png b/libs/math/doc/equations/skew_normal_variance.png
index 4531751b7c..4531751b7c 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_variance.png
+++ b/libs/math/doc/equations/skew_normal_variance.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/skew_normal_variance.svg b/libs/math/doc/equations/skew_normal_variance.svg
index a09a91c5a0..a09a91c5a0 100644
--- a/libs/math/doc/sf_and_dist/equations/skew_normal_variance.svg
+++ b/libs/math/doc/equations/skew_normal_variance.svg
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb1.mml b/libs/math/doc/equations/special_functions_blurb1.mml
index 3457bc2ce0..3457bc2ce0 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb1.mml
+++ b/libs/math/doc/equations/special_functions_blurb1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb1.png b/libs/math/doc/equations/special_functions_blurb1.png
index 17a559525d..17a559525d 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb1.png
+++ b/libs/math/doc/equations/special_functions_blurb1.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb1.svg b/libs/math/doc/equations/special_functions_blurb1.svg
new file mode 100644
index 0000000000..1765ac230f
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="32.715820pt" width="99.844785pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.645430 99.844785 32.715820"><svg:metadata><svgmath:metrics top="32.7158203125" bottom="0.0" baseline="13.070390625" axis="17.054765625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text><svg:g transform="translate(19.326176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.042973, 0.000000)"/><svg:g transform="translate(48.376309, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.477223, 0.000000)"/><svg:g transform="translate(70.477223, -3.984375)"><svg:text font-size="22.837057" text-anchor="middle" y="4.961924" x="8.140162" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.477672, 16.954922)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.103248, -11.733867)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(87.343484, -3.984375)"><svg:g transform="translate(1.258346, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.501301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb15.mml b/libs/math/doc/equations/special_functions_blurb15.mml
index 569690eb56..569690eb56 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb15.mml
+++ b/libs/math/doc/equations/special_functions_blurb15.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb15.png b/libs/math/doc/equations/special_functions_blurb15.png
index b61467bcfa..b61467bcfa 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb15.png
+++ b/libs/math/doc/equations/special_functions_blurb15.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb15.svg b/libs/math/doc/equations/special_functions_blurb15.svg
new file mode 100644
index 0000000000..9e86924ad3
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb15.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.238832pt" width="123.481230pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.514223 123.481230 26.238832"><svg:metadata><svgmath:metrics top="26.238832069" bottom="0.0" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.703129, 0.000000)"/><svg:g transform="translate(57.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.137379, 0.000000)"/><svg:g transform="translate(79.723317, -3.984375)"><svg:g transform="translate(0.585938, -5.072344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.087991" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(18.878956, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.757913" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb17.mml b/libs/math/doc/equations/special_functions_blurb17.mml
index d8910bc294..d8910bc294 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb17.mml
+++ b/libs/math/doc/equations/special_functions_blurb17.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb17.png b/libs/math/doc/equations/special_functions_blurb17.png
index 939e7878e8..939e7878e8 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb17.png
+++ b/libs/math/doc/equations/special_functions_blurb17.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb17.svg b/libs/math/doc/equations/special_functions_blurb17.svg
new file mode 100644
index 0000000000..bb959cb361
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb17.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="159.038504pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 159.038504 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.046879, 0.000000)"/><svg:g transform="translate(56.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(66.481129, 0.000000)"/><svg:g transform="translate(78.481129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(93.815114, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb18.mml b/libs/math/doc/equations/special_functions_blurb18.mml
index 31b8862a27..31b8862a27 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb18.mml
+++ b/libs/math/doc/equations/special_functions_blurb18.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb18.png b/libs/math/doc/equations/special_functions_blurb18.png
index 7fbb4a8168..7fbb4a8168 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb18.png
+++ b/libs/math/doc/equations/special_functions_blurb18.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb18.svg b/libs/math/doc/equations/special_functions_blurb18.svg
new file mode 100644
index 0000000000..7a3be4ea3d
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb18.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="161.030691pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 161.030691 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.039067, 0.000000)"/><svg:g transform="translate(58.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.473317, 0.000000)"/><svg:g transform="translate(80.473317, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(95.807301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb20.mml b/libs/math/doc/equations/special_functions_blurb20.mml
index ff27b549f8..ff27b549f8 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb20.mml
+++ b/libs/math/doc/equations/special_functions_blurb20.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb20.png b/libs/math/doc/equations/special_functions_blurb20.png
index 0759e01535..0759e01535 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb20.png
+++ b/libs/math/doc/equations/special_functions_blurb20.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb20.svg b/libs/math/doc/equations/special_functions_blurb20.svg
new file mode 100644
index 0000000000..4d42d61ead
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb20.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.262322pt" width="109.437824pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.718299 109.437824 27.262322"><svg:metadata><svgmath:metrics top="27.2623223936" bottom="0.0" baseline="8.5440234375" axis="12.5283984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.665039" font-family="Times New Roman" fill="black">sinc</svg:text><svg:g transform="translate(19.330078, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(23.590078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.306875, 0.000000)"/><svg:g transform="translate(52.640211, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.741125, 0.000000)"/><svg:g transform="translate(75.327063, -3.984375)"><svg:g transform="translate(0.585938, -4.161207)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -3.984375)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.938887, 0.000000)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.169922, 7.064004)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.110762" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb22.mml b/libs/math/doc/equations/special_functions_blurb22.mml
index f5c4c91af9..f5c4c91af9 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb22.mml
+++ b/libs/math/doc/equations/special_functions_blurb22.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb22.png b/libs/math/doc/equations/special_functions_blurb22.png
index 86f30bb182..86f30bb182 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb22.png
+++ b/libs/math/doc/equations/special_functions_blurb22.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb22.svg b/libs/math/doc/equations/special_functions_blurb22.svg
new file mode 100644
index 0000000000..b4965c395d
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb22.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.262322pt" width="121.437824pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.718299 121.437824 27.262322"><svg:metadata><svgmath:metrics top="27.2623223936" bottom="0.0" baseline="8.5440234375" axis="12.5283984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">sinhc</svg:text><svg:g transform="translate(25.330078, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(29.590078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.306875, 0.000000)"/><svg:g transform="translate(58.640211, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.741125, 0.000000)"/><svg:g transform="translate(81.327063, -3.984375)"><svg:g transform="translate(0.585938, -4.161207)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sinh</svg:text><svg:g transform="translate(20.003906, -3.984375)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.938887, 0.000000)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.169922, 7.064004)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="40.110762" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb5.mml b/libs/math/doc/equations/special_functions_blurb5.mml
index b0f83628a7..b0f83628a7 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb5.mml
+++ b/libs/math/doc/equations/special_functions_blurb5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb5.png b/libs/math/doc/equations/special_functions_blurb5.png
index 8cb6f6a0cd..8cb6f6a0cd 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb5.png
+++ b/libs/math/doc/equations/special_functions_blurb5.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb5.svg b/libs/math/doc/equations/special_functions_blurb5.svg
new file mode 100644
index 0000000000..e747912619
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.218763pt" width="158.526046pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494153 158.526046 22.218763"><svg:metadata><svgmath:metrics top="22.2187625873" bottom="0.0" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.998047" font-family="Times New Roman" fill="black">cosh</svg:text><svg:g transform="translate(23.996098, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.712895, 0.000000)"/><svg:g transform="translate(53.046231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.147145, 0.000000)"/><svg:g transform="translate(75.733082, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text><svg:g transform="translate(17.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.709633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(43.143875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text></svg:g><svg:g transform="translate(60.470047, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.396482, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="82.792964" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb6.mml b/libs/math/doc/equations/special_functions_blurb6.mml
index b643f1ef19..b643f1ef19 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb6.mml
+++ b/libs/math/doc/equations/special_functions_blurb6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb6.png b/libs/math/doc/equations/special_functions_blurb6.png
index 1968c72c40..1968c72c40 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb6.png
+++ b/libs/math/doc/equations/special_functions_blurb6.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb6.svg b/libs/math/doc/equations/special_functions_blurb6.svg
new file mode 100644
index 0000000000..e9a5c93196
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.218763pt" width="156.533859pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494153 156.533859 22.218763"><svg:metadata><svgmath:metrics top="22.2187625873" bottom="0.0" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sinh</svg:text><svg:g transform="translate(22.003910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.720707, 0.000000)"/><svg:g transform="translate(51.054043, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.154957, 0.000000)"/><svg:g transform="translate(73.740895, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text><svg:g transform="translate(17.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.709633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(43.143875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text></svg:g><svg:g transform="translate(60.470047, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.396482, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="82.792964" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb7.mml b/libs/math/doc/equations/special_functions_blurb7.mml
index c6972d777f..c6972d777f 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb7.mml
+++ b/libs/math/doc/equations/special_functions_blurb7.mml
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb7.png b/libs/math/doc/equations/special_functions_blurb7.png
index 477abb11b1..477abb11b1 100644
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb7.png
+++ b/libs/math/doc/equations/special_functions_blurb7.png
Binary files differ
diff --git a/libs/math/doc/equations/special_functions_blurb7.svg b/libs/math/doc/equations/special_functions_blurb7.svg
new file mode 100644
index 0000000000..76b035e6cd
--- /dev/null
+++ b/libs/math/doc/equations/special_functions_blurb7.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="113.281914pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 113.281914 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">tanh</svg:text><svg:g transform="translate(22.660160, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.376957, 0.000000)"/><svg:g transform="translate(51.710293, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.811207, 0.000000)"/><svg:g transform="translate(74.397145, -3.984375)"><svg:g transform="translate(1.582031, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sinh</svg:text><svg:g transform="translate(22.003910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.998047" font-family="Times New Roman" fill="black">cosh</svg:text><svg:g transform="translate(23.996098, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.884770" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_0.mml b/libs/math/doc/equations/spherical_0.mml
index 72c54cecd8..72c54cecd8 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_0.mml
+++ b/libs/math/doc/equations/spherical_0.mml
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_0.png b/libs/math/doc/equations/spherical_0.png
index 7457fea1e8..7457fea1e8 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_0.png
+++ b/libs/math/doc/equations/spherical_0.png
Binary files differ
diff --git a/libs/math/doc/equations/spherical_0.svg b/libs/math/doc/equations/spherical_0.svg
new file mode 100644
index 0000000000..471f5622cc
--- /dev/null
+++ b/libs/math/doc/equations/spherical_0.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="234.912715pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 234.912715 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(14.156777, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(23.722652, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.875523, 0.000000)"/><svg:g transform="translate(57.208859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.309773, 0.000000)"/><svg:g transform="translate(79.789773, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.443031, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(32.444656, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="41.260410" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 92.114035 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(172.383809, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(186.276914, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(216.353086, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.734238)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(8.520000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_1.mml b/libs/math/doc/equations/spherical_1.mml
index ed28067c29..ed28067c29 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_1.mml
+++ b/libs/math/doc/equations/spherical_1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_1.png b/libs/math/doc/equations/spherical_1.png
index d1e361ce64..d1e361ce64 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_1.png
+++ b/libs/math/doc/equations/spherical_1.png
Binary files differ
diff --git a/libs/math/doc/equations/spherical_1.svg b/libs/math/doc/equations/spherical_1.svg
new file mode 100644
index 0000000000..0627b8a9c6
--- /dev/null
+++ b/libs/math/doc/equations/spherical_1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="276.968321pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 276.968321 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.665039" font-family="Times New Roman" fill="black">Re</svg:text><svg:g transform="translate(13.330078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(14.156777, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(23.722652, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.871617, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(63.197789, 0.000000)"/><svg:g transform="translate(78.531125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.632039, 0.000000)"/><svg:g transform="translate(101.112039, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.443031, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(32.444656, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="41.260410" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 92.114035 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(193.706074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(207.599180, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(237.675352, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(253.671446, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(19.300781, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_2.mml b/libs/math/doc/equations/spherical_2.mml
index 4ce0d25e6f..4ce0d25e6f 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_2.mml
+++ b/libs/math/doc/equations/spherical_2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_2.png b/libs/math/doc/equations/spherical_2.png
index 68f6a8456f..68f6a8456f 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_2.png
+++ b/libs/math/doc/equations/spherical_2.png
Binary files differ
diff --git a/libs/math/doc/equations/spherical_2.svg b/libs/math/doc/equations/spherical_2.svg
new file mode 100644
index 0000000000..2fbbe1ba98
--- /dev/null
+++ b/libs/math/doc/equations/spherical_2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="274.976133pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 274.976133 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.665039" font-family="Times New Roman" fill="black">Im</svg:text><svg:g transform="translate(13.330078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(14.156777, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(23.722652, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.871617, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(63.197789, 0.000000)"/><svg:g transform="translate(78.531125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.632039, 0.000000)"/><svg:g transform="translate(101.112039, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.443031, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(32.444656, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="41.260410" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 92.114035 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(193.706074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(207.599180, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(237.675352, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(251.679258, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(19.300781, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_3.mml b/libs/math/doc/equations/spherical_3.mml
index afa61c5eb4..afa61c5eb4 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_3.mml
+++ b/libs/math/doc/equations/spherical_3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_3.png b/libs/math/doc/equations/spherical_3.png
index dff074cce4..dff074cce4 100644
--- a/libs/math/doc/sf_and_dist/equations/spherical_3.png
+++ b/libs/math/doc/equations/spherical_3.png
Binary files differ
diff --git a/libs/math/doc/equations/spherical_3.svg b/libs/math/doc/equations/spherical_3.svg
new file mode 100644
index 0000000000..baa1700245
--- /dev/null
+++ b/libs/math/doc/equations/spherical_3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="382.157652pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 382.157652 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="31.989258" font-family="Times New Roman" fill="black">sph_legendre</svg:text><svg:g transform="translate(65.978520, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.234371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.234367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(36.318351, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(106.292965, 0.000000)"/><svg:g transform="translate(121.626301, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(131.727215, 0.000000)"/><svg:g transform="translate(143.727215, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(157.883992, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(23.083980, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(184.964066, 0.000000)"/><svg:g transform="translate(200.297402, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(210.398316, 0.000000)"/><svg:g transform="translate(222.398316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(250.457620, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(12.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(8.227211, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="28.841141" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.013016, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(28.331375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.660801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(28.331375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.660801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.828769" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 87.250754 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(338.188375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(352.081480, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/students_t_dist.mml b/libs/math/doc/equations/students_t_dist.mml
index c318843e2b..c318843e2b 100644
--- a/libs/math/doc/sf_and_dist/equations/students_t_dist.mml
+++ b/libs/math/doc/equations/students_t_dist.mml
diff --git a/libs/math/doc/sf_and_dist/equations/students_t_dist.png b/libs/math/doc/equations/students_t_dist.png
index 6d356096ba..6d356096ba 100644
--- a/libs/math/doc/sf_and_dist/equations/students_t_dist.png
+++ b/libs/math/doc/equations/students_t_dist.png
Binary files differ
diff --git a/libs/math/doc/equations/students_t_dist.svg b/libs/math/doc/equations/students_t_dist.svg
new file mode 100644
index 0000000000..bfc8e213d9
--- /dev/null
+++ b/libs/math/doc/equations/students_t_dist.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.859579pt" width="73.025391pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.119141 73.025391 27.859579"><svg:metadata><svgmath:metrics top="27.8595785156" bottom="0.0" baseline="11.7404378906" axis="15.7248128906"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 0.000000)"/><svg:g transform="translate(18.930992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.031906, 0.000000)"/><svg:g transform="translate(41.617844, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(9.322914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.757156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.390625" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text></svg:g></svg:g><svg:g transform="translate(9.274372, 7.064004)"><svg:g transform="translate(4.732057, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(0.585938, 8.320009)"><svg:g transform="translate(4.496097, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.360200 L 1.720872 -3.360200 L 3.091552 -0.821903 L 3.034862 -0.453552 L 1.557288 -3.189800 L 1.301688 -3.189800 L 3.024180 0.000000 L 4.032240 -6.550000 L 11.686927 -6.550000" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.858802" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.407547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/students_t_ref1.mml b/libs/math/doc/equations/students_t_ref1.mml
index d72b745abb..d72b745abb 100644
--- a/libs/math/doc/sf_and_dist/equations/students_t_ref1.mml
+++ b/libs/math/doc/equations/students_t_ref1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/students_t_ref1.png b/libs/math/doc/equations/students_t_ref1.png
index 55a9244e4d..55a9244e4d 100644
--- a/libs/math/doc/sf_and_dist/equations/students_t_ref1.png
+++ b/libs/math/doc/equations/students_t_ref1.png
Binary files differ
diff --git a/libs/math/doc/equations/students_t_ref1.svg b/libs/math/doc/equations/students_t_ref1.svg
new file mode 100644
index 0000000000..2a38216e86
--- /dev/null
+++ b/libs/math/doc/equations/students_t_ref1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="39.020572pt" width="151.690719pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.482184 151.690719 39.020572"><svg:metadata><svgmath:metrics top="39.0205716045" bottom="0.0" baseline="18.5383880485" axis="22.5227630485"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(20.931645, 0.000000)"/><svg:g transform="translate(36.264981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.365895, 0.000000)"/><svg:g transform="translate(58.951832, -3.984375)"><svg:g transform="translate(28.686620, -5.040305)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.772550, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.805100" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(22.973069, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 19.149872)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 18.698742 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(19.178742, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(27.575227, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(42.171164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.727383, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.236348" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(32.505223, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.501316, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(4.447266, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="12.894531" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="92.738887" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/tangent_number_def.mml b/libs/math/doc/equations/tangent_number_def.mml
new file mode 100644
index 0000000000..d9294647e4
--- /dev/null
+++ b/libs/math/doc/equations/tangent_number_def.mml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mrow>
+ <msub>
+ <mi>T</mi>
+ <mi>n</mi>
+ </msub>
+ <mo stretchy="false">=</mo>
+ <mfrac>
+ <mrow>
+ <msup>
+ <mn>2</mn>
+ <mrow>
+ <mn>2n</mn>
+ </mrow>
+ </msup>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <msup>
+ <mn>2</mn>
+ <mrow>
+ <mn>2n</mn>
+ </mrow>
+ </msup>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mfenced open="&#x2223;" close="&#x2223;">
+ <mrow>
+ <msub>
+ <mi>B</mi>
+ <mrow>
+ <mn>2n</mn>
+ </mrow>
+ </msub>
+ </mrow>
+ </mfenced>
+ </mrow>
+ <mrow>
+ <mn>2n</mn>
+ </mrow>
+ </mfrac>
+ </mrow>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/tangent_number_def.png b/libs/math/doc/equations/tangent_number_def.png
new file mode 100644
index 0000000000..94a20d9810
--- /dev/null
+++ b/libs/math/doc/equations/tangent_number_def.png
Binary files differ
diff --git a/libs/math/doc/equations/tangent_number_def.svg b/libs/math/doc/equations/tangent_number_def.svg
new file mode 100644
index 0000000000..0a3bad4162
--- /dev/null
+++ b/libs/math/doc/equations/tangent_number_def.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.771758pt" width="97.156055pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.249375 97.156055 22.771758"><svg:metadata><svgmath:metrics top="22.7717578125" bottom="1.1494921875" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(7.792969, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(15.386305, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(26.073156, -3.984375)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.000000" font-family="Times New Roman" fill="black">2n</svg:text></svg:g><svg:g transform="translate(12.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.000000" font-family="Times New Roman" fill="black">2n</svg:text></svg:g><svg:g transform="translate(14.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(20.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.948870, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.412765, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.462813" x="1.591260" font-family="Lucida Sans Unicode" fill="black">∣</svg:text></svg:g><svg:g transform="translate(5.549188, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(5.399883, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.000000" font-family="Times New Roman" fill="black">2n</svg:text></svg:g></svg:g><svg:g transform="translate(21.315739, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.462813" x="1.591260" font-family="Lucida Sans Unicode" fill="black">∣</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.281450, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2n</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="71.082899" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/tangent_number_def2.mml b/libs/math/doc/equations/tangent_number_def2.mml
new file mode 100644
index 0000000000..8dee812165
--- /dev/null
+++ b/libs/math/doc/equations/tangent_number_def2.mml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mi>tan</mi>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mi>x</mi>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mo stretchy="false">=</mo>
+ <mrow>
+ <munderover>
+ <mo stretchy="false">∑</mo>
+ <mrow>
+ <mrow>
+ <mi>k</mi>
+ <mo stretchy="false">=</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ <mrow>
+ <mo stretchy="false">∞</mo>
+ </mrow>
+ </munderover>
+ <mrow>
+ <mfrac>
+ <mrow>
+ <msub>
+ <mi>T</mi>
+ <mi>k</mi>
+ </msub>
+ </mrow>
+ <mrow>
+ <mrow>
+ <mo stretchy="false">(</mo>
+ <mrow>
+ <mrow>
+ <mn>2k</mn>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">)</mo>
+ </mrow>
+ <mi>!</mi>
+ </mrow>
+ </mfrac>
+ <msup>
+ <mi>x</mi>
+ <mrow>
+ <mrow>
+ <mn>2k</mn>
+ <mo stretchy="false">−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mrow>
+ </msup>
+ </mrow>
+ </mrow>
+ </mrow>
+ </mrow>
+</math>
diff --git a/libs/math/doc/equations/tangent_number_def2.png b/libs/math/doc/equations/tangent_number_def2.png
new file mode 100644
index 0000000000..da3fb02e6a
--- /dev/null
+++ b/libs/math/doc/equations/tangent_number_def2.png
Binary files differ
diff --git a/libs/math/doc/equations/tangent_number_def2.svg b/libs/math/doc/equations/tangent_number_def2.svg
new file mode 100644
index 0000000000..b4d2e399d2
--- /dev/null
+++ b/libs/math/doc/equations/tangent_number_def2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.586367pt" width="119.223374pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.915781 119.223374 20.586367"><svg:metadata><svgmath:metrics top="20.5863671875" bottom="0.3174609375" baseline="5.6705859375" axis="9.6549609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(17.050133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(27.151047, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="4.277344" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.554688, 7.816172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(8.554688, -4.579453)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="3.036914" font-family="Times New Roman" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(22.361602, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.834884, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.369209" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(5.533008, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.515352)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2k</svg:text><svg:g transform="translate(10.463253, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.161565, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(24.258792, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(27.096018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.418613" font-family="Times New Roman" font-style="italic" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="31.105120" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.691057, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.260000" font-family="Times New Roman" fill="black">2k</svg:text><svg:g transform="translate(8.569922, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.374902, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/equations/tangent_numbers.mml b/libs/math/doc/equations/tangent_numbers.mml
new file mode 100644
index 0000000000..5d5d8e2444
--- /dev/null
+++ b/libs/math/doc/equations/tangent_numbers.mml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
+ <mrow>
+ <msub>
+ <mi>T</mi>
+ <mi>j</mi>
+ </msub>
+ <mo>=</mo>
+ <msup>
+ <mfenced>
+ <mrow>
+ <mo>−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mrow>
+ <mi>j</mi>
+ <mo>−</mo>
+ <mn>1</mn>
+ </mrow>
+ </msup>
+ <msup>
+ <mn>2</mn>
+ <mrow>
+ <mn>2</mn>
+ <mi>j</mi>
+ </mrow>
+ </msup>
+ <mfenced>
+ <mrow>
+ <msup>
+ <mn>2</mn>
+ <mrow>
+ <mn>2</mn>
+ <mi>n</mi>
+ </mrow>
+ </msup>
+ <mo>−</mo>
+ <mn>1</mn>
+ </mrow>
+ </mfenced>
+ <mfrac>
+ <msub>
+ <mi>B</mi>
+ <mrow>
+ <mn>2</mn>
+ <mi>n</mi>
+ </mrow>
+ </msub>
+ <mrow>
+ <mn>2</mn>
+ <mi>n</mi>
+ </mrow>
+ </mfrac>
+ </mrow>
+</math> \ No newline at end of file
diff --git a/libs/math/doc/equations/tangent_numbers.png b/libs/math/doc/equations/tangent_numbers.png
new file mode 100644
index 0000000000..c71692cde6
--- /dev/null
+++ b/libs/math/doc/equations/tangent_numbers.png
Binary files differ
diff --git a/libs/math/doc/equations/tangent_numbers.svg b/libs/math/doc/equations/tangent_numbers.svg
new file mode 100644
index 0000000000..e48bad973b
--- /dev/null
+++ b/libs/math/doc/equations/tangent_numbers.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.289727pt" width="129.256413pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.767344 129.256413 19.289727"><svg:metadata><svgmath:metrics top="19.2897265625" bottom="0.0" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(7.792969, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(14.961969, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(25.062883, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(59.389960, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(73.485624, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(17.186664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(26.620906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(36.617000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(114.684655, -3.984375)"><svg:g transform="translate(0.585938, -5.141797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(5.399883, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(3.025879, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="14.571758" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta1.mml b/libs/math/doc/equations/zeta1.mml
index d2504662f1..d2504662f1 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta1.mml
+++ b/libs/math/doc/equations/zeta1.mml
diff --git a/libs/math/doc/sf_and_dist/equations/zeta1.png b/libs/math/doc/equations/zeta1.png
index d2d8ffeb5e..d2d8ffeb5e 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta1.png
+++ b/libs/math/doc/equations/zeta1.png
Binary files differ
diff --git a/libs/math/doc/equations/zeta1.svg b/libs/math/doc/equations/zeta1.svg
new file mode 100644
index 0000000000..2e80157039
--- /dev/null
+++ b/libs/math/doc/equations/zeta1.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.233965pt" width="84.139631pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.482051 84.139631 33.233965"><svg:metadata><svgmath:metrics top="33.2339648438" axis="18.7362890625" baseline="14.7519140625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(19.136719, 0.000000)"/><svg:g transform="translate(34.470055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.570969, 0.000000)"/><svg:g transform="translate(56.570969, -3.984375)"><svg:text font-size="23.233083" text-anchor="middle" y="6.399891" x="8.281323" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.670835, 18.636445)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(5.244409, -10.570488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(73.719553, -3.984375)"><svg:g transform="translate(2.210039, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.273438)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="10.420078" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta2.mml b/libs/math/doc/equations/zeta2.mml
index f1432a9d32..f1432a9d32 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta2.mml
+++ b/libs/math/doc/equations/zeta2.mml
diff --git a/libs/math/doc/sf_and_dist/equations/zeta2.png b/libs/math/doc/equations/zeta2.png
index f06979ffea..f06979ffea 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta2.png
+++ b/libs/math/doc/equations/zeta2.png
Binary files differ
diff --git a/libs/math/doc/equations/zeta2.svg b/libs/math/doc/equations/zeta2.svg
new file mode 100644
index 0000000000..bf5fc046c9
--- /dev/null
+++ b/libs/math/doc/equations/zeta2.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.927090pt" width="232.045174pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.864785 232.045174 34.927090"><svg:metadata><svgmath:metrics top="34.9270898437" axis="20.0466796875" baseline="16.0623046875" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(19.136719, 0.000000)"/><svg:g transform="translate(34.470055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.570969, 0.000000)"/><svg:g transform="translate(57.156906, -3.984375)"><svg:g transform="translate(15.866225, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="37.732449" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(95.475293, -3.984375)"><svg:text font-size="24.674372" text-anchor="middle" y="7.399223" x="8.795064" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.132574, 19.788750)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.758150, -10.570488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(113.651359, -3.984375)"><svg:g transform="translate(7.248428, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="20.496855" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(134.734152, -3.984375)"><svg:text font-size="24.674372" text-anchor="middle" y="7.399223" x="8.795064" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.184576, 19.946836)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(6.665064, -11.115469)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(152.324280, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(177.906709, -3.984375)"><svg:text font-size="21.209452" transform="scale(0.565785, 1)" text-anchor="middle" y="5.064171" x="3.531457" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -4.338867)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.073242, 9.500977)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(9.996094, 0.000000)"><svg:text font-size="21.209452" transform="scale(0.565785, 1)" text-anchor="middle" y="5.064171" x="3.531457" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(191.898896, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.946609, -5.920618)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta3.mml b/libs/math/doc/equations/zeta3.mml
index 3f54d6aaae..3f54d6aaae 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta3.mml
+++ b/libs/math/doc/equations/zeta3.mml
diff --git a/libs/math/doc/sf_and_dist/equations/zeta3.png b/libs/math/doc/equations/zeta3.png
index ab1648f31d..ab1648f31d 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta3.png
+++ b/libs/math/doc/equations/zeta3.png
Binary files differ
diff --git a/libs/math/doc/equations/zeta3.svg b/libs/math/doc/equations/zeta3.svg
new file mode 100644
index 0000000000..e7e71543bf
--- /dev/null
+++ b/libs/math/doc/equations/zeta3.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.579602pt" width="203.165808pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.854993 203.165808 19.579602"><svg:metadata><svgmath:metrics top="19.5796019066" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(26.878250, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.237625, 0.000000)"/><svg:g transform="translate(52.570961, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.671875, 0.000000)"/><svg:g transform="translate(74.671875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(80.671875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(94.675781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.972656, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(9.027016, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="24.054031" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(35.608719, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(134.280594, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(24.582480, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(162.859168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(171.255652, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(184.029090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(190.392371, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta4.mml b/libs/math/doc/equations/zeta4.mml
index 834edd01d9..834edd01d9 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta4.mml
+++ b/libs/math/doc/equations/zeta4.mml
diff --git a/libs/math/doc/sf_and_dist/equations/zeta4.png b/libs/math/doc/equations/zeta4.png
index 26280b1447..26280b1447 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta4.png
+++ b/libs/math/doc/equations/zeta4.png
Binary files differ
diff --git a/libs/math/doc/equations/zeta4.svg b/libs/math/doc/equations/zeta4.svg
new file mode 100644
index 0000000000..2b6ce6eca6
--- /dev/null
+++ b/libs/math/doc/equations/zeta4.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.359362pt" width="108.981109pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 108.981109 22.359362"><svg:metadata><svgmath:metrics top="22.3593624127" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.434570" font-family="Times New Roman" font-style="italic" fill="black">ς</svg:text><svg:g transform="translate(5.109375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.216148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.903000, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(11.110023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.544266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(28.149734, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(26.878250, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.690742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(71.124984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(27.097976, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="77.078109" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta5.mml b/libs/math/doc/equations/zeta5.mml
index 5f9d52cd62..5f9d52cd62 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta5.mml
+++ b/libs/math/doc/equations/zeta5.mml
diff --git a/libs/math/doc/sf_and_dist/equations/zeta5.png b/libs/math/doc/equations/zeta5.png
index 8667993f95..8667993f95 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta5.png
+++ b/libs/math/doc/equations/zeta5.png
Binary files differ
diff --git a/libs/math/doc/equations/zeta5.svg b/libs/math/doc/equations/zeta5.svg
new file mode 100644
index 0000000000..8dd13f008f
--- /dev/null
+++ b/libs/math/doc/equations/zeta5.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.558594pt" width="127.082015pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 127.082015 19.558594"><svg:metadata><svgmath:metrics top="19.55859375" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.434570" font-family="Times New Roman" font-style="italic" fill="black">ς</svg:text><svg:g transform="translate(5.109375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.216148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.317063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(42.427086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(51.861328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(59.466797, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(7.447914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.882156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.878250, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(93.007804, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(103.027984, -3.984375)"><svg:g transform="translate(9.027016, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(7.447914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.882156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="24.054031" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta6.mml b/libs/math/doc/equations/zeta6.mml
index 7164686890..7164686890 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta6.mml
+++ b/libs/math/doc/equations/zeta6.mml
diff --git a/libs/math/doc/sf_and_dist/equations/zeta6.png b/libs/math/doc/equations/zeta6.png
index 662608ee38..662608ee38 100644
--- a/libs/math/doc/sf_and_dist/equations/zeta6.png
+++ b/libs/math/doc/equations/zeta6.png
Binary files differ
diff --git a/libs/math/doc/equations/zeta6.svg b/libs/math/doc/equations/zeta6.svg
new file mode 100644
index 0000000000..03dc8c8060
--- /dev/null
+++ b/libs/math/doc/equations/zeta6.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.347624pt" width="580.964075pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.596934 580.964075 54.347624"><svg:metadata><svgmath:metrics top="54.3476241315" axis="28.7350655377" baseline="24.7506905377" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(19.136719, 0.000000)"/><svg:g transform="translate(34.470055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.570969, 0.000000)"/><svg:g transform="translate(57.156906, -3.984375)"><svg:g transform="translate(20.665821, -1.599609)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.739184)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.041250, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(40.556668, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="54.765887" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(112.508730, -3.984375)"><svg:text font-size="42.104326" text-anchor="middle" y="10.745011" x="15.007889" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.557567, 26.896276)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(6.215399, -19.854902)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.520000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.324980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(143.110447, -3.984375)"><svg:g transform="translate(13.450082, -6.121992)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 11.285169)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.069008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.503250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.499344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.495437, -5.920618)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="36.062000" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(179.758384, 0.000000)"/><svg:g transform="translate(194.425048, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(203.859290, 0.000000)"/><svg:g transform="translate(215.859290, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(220.587806, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(233.361244, 0.000000)"/><svg:g transform="translate(245.361244, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(252.028564, 0.000000)"/><svg:g transform="translate(264.028564, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(276.523736, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(286.624650, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(311.886747, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="7.010535" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="24.638010" text-anchor="middle" y="7.192370" x="8.782103" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.171615, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(2.331781, -13.036055)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(18.150144, -3.984375)"><svg:g transform="translate(19.150713, -1.763672)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.186848, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.182941, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.462883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="49.630851" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.033597, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(80.467839, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.686230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(94.723932, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="7.010535" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(410.606773, 0.000000)"/><svg:g transform="translate(425.940109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(438.812508, 0.000000)"/><svg:g transform="translate(454.145844, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="4.214544" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(459.881523, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(468.870039, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(484.976812, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="4.214544" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(494.045828, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(507.480078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(518.166930, -3.984375)"><svg:g transform="translate(28.398572, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.739184)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">8</svg:text><svg:g transform="translate(6.000000, -5.686230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(13.593336, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="1.509941" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(19.329016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(27.995680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.429922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(59.222926, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="1.509941" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="62.797145" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/fp_utilities/float_next.qbk b/libs/math/doc/fp_utilities/float_next.qbk
new file mode 100644
index 0000000000..20300282af
--- /dev/null
+++ b/libs/math/doc/fp_utilities/float_next.qbk
@@ -0,0 +1,207 @@
+[section:next_float Floating-Point Representation Distance (ULP),
+ and Finding Adjacent Floating-Point Values]
+
+[@http://en.wikipedia.org/wiki/Unit_in_the_last_place Unit of Least Precision or Unit in the Last Place]
+is the gap between two different, but as close as possible, floating-point numbers.
+
+Most decimal values, for example 0.1, cannot be exactly represented as floating-point values,
+but will be stored as the
+[@http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding
+closest representable floating-point].
+
+Functions are provided for finding adjacent greater and lesser floating-point values,
+and estimating the number of gaps between any two floating-point values.
+
+The floating-point type FPT must have has a fixed number of bits in the representation.
+The number of bits may set at runtime, but must be the same for all numbers.
+For example, __NTL_quad_float type (fixed 128-bit representation)
+or __NTL_RR type (arbitrary but fixed decimal digits, default 150)
+but *not* a type that extends the representation to provide an exact representation
+for any number, for example [@http://keithbriggs.info/xrc.html XRC eXact Real in C].
+
+[section:nextafter Finding the Next Representable Value in a Specific Direction (nextafter)]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/next.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class FPT>
+ FPT nextafter(FPT val, FPT direction);
+
+ }} // namespaces
+
+[h4 Description - nextafter]
+
+This is an implementation of the `nextafter` function included in the C99 standard.
+(It is also effectively an implementation of the C99 'nexttoward' legacy function
+which differs only having a long double direction,
+and can generally serve in its place if required).
+
+[note The C99 functions must use suffixes f and l to distinguish float and long double versions.
+C++ uses the template mechanism instead.]
+
+Returns the next representable value after /x/ in the direction of /y/. If
+`x == y` then returns /x/. If /x/ is non-finite then returns the result of
+a __domain_error. If there is no such value in the direction of /y/ then
+returns an __overflow_error.
+
+[warning The template parameter FTP must be a floating-point type.
+An integer type, for example, will produce an unhelpful error message.]
+
+[tip Nearly always, you just want the next or prior representable value,
+so instead use `float_next` or `float_prior` below.]
+
+[h4 Examples - nextafter]
+
+The two representations using a 32-bit float either side of unity are:
+``
+The nearest (exact) representation of 1.F is 1.00000000
+nextafter(1.F, 999) is 1.00000012
+nextafter(1/f, -999) is 0.99999994
+
+The nearest (not exact) representation of 0.1F is 0.100000001
+nextafter(0.1F, 10) is 0.100000009
+nextafter(0.1F, 10) is 0.099999994
+``
+
+[endsect]
+
+[section:float_next Finding the Next Greater Representable Value (float_next)]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/next.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class FPT>
+ FPT float_next(FPT val);
+
+ }} // namespaces
+
+[h4 Description - float_next]
+
+Returns the next representable value which is greater than /x/.
+If /x/ is non-finite then returns the result of
+a __domain_error. If there is no such value greater than /x/ then
+returns an __overflow_error.
+
+Has the same effect as
+
+ nextafter(val, (std::numeric_limits<FPT>::max)());
+
+[endsect] [/section:float_next Finding the Next Greater Representable Value (float_prior)]
+
+[section:float_prior Finding the Next Smaller Representable Value (float_prior)]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/next.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class FPT>
+ FPT float_prior(FPT val);
+
+ }} // namespaces
+
+
+[h4 Description - float_prior]
+
+Returns the next representable value which is less than /x/.
+If /x/ is non-finite then returns the result of
+a __domain_error. If there is no such value less than /x/ then
+returns an __overflow_error.
+
+Has the same effect as
+
+ nextafter(val, -(std::numeric_limits<FPT>::max)()); // Note most negative value -max.
+
+[endsect] [/section:float_prior Finding the Next Smaller Representable Value (float_prior)]
+
+[section:float_distance Calculating the Representation Distance
+ Between Two Floating Point Values (ULP) float_distance]
+
+Function float_distance finds the number of gaps/bits/ULP between any two floating-point values.
+If the significands of floating-point numbers are viewed as integers,
+then their difference is the number of ULP/gaps/bits different.
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/next.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class FPT>
+ FPT float_distance(FPT a, FPT b);
+
+ }} // namespaces
+
+[h4 Description - float_distance]
+
+Returns the distance between /a/ and /b/: the result is always
+a signed integer value (stored in floating-point type FPT)
+representing the number of distinct representations between /a/ and /b/.
+
+Note that
+
+* `float_distance(a, a)` always returns 0.
+* `float_distance(float_next(a), a)` always returns -1.
+* `float_distance(float_prior(a), a)` always returns 1.
+
+The function `float_distance` is equivalent to calculating the number
+of ULP (Units in the Last Place) between /a/ and /b/ except that it
+returns a signed value indicating whether `a > b` or not.
+
+If the distance is too great then it may not be able
+to be represented as an exact integer by type FPT,
+but in practice this is unlikely to be a issue.
+
+[endsect] [/section:float_distance Calculating the Representation Distance
+ Between Two Floating Point Values (ULP) float_distance]
+
+[section:float_advance Advancing a Floating Point Value by a Specific
+Representation Distance (ULP) float_advance]
+
+Function float_advance advances a floating point number by a specified number
+of ULP.
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/next.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class FPT>
+ FPT float_advance(FPT val, int distance);
+
+ }} // namespaces
+
+[h4 Description - float_advance]
+
+Returns a floating point number /r/ such that `float_distance(val, r) == distance`.
+
+[endsect] [/section:float_advance]
+
+[endsect] [/ section:next_float Floating-Point Representation Distance (ULP),
+ and Finding Adjacent Floating-Point Values]
+
+[/
+ Copyright 2008 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/fp_utilities/fp_facets.qbk b/libs/math/doc/fp_utilities/fp_facets.qbk
new file mode 100644
index 0000000000..f23f7bacc0
--- /dev/null
+++ b/libs/math/doc/fp_utilities/fp_facets.qbk
@@ -0,0 +1,567 @@
+[section:fp_facets Facets for Floating-Point Infinities and NaNs]
+
+[import ../../example/nonfinite_facet_sstream.cpp]
+
+[h4 Synopsis]
+
+ namespace boost{ namespace math
+ {
+ // Values for flags.
+ const int legacy;
+ const int signed_zero;
+ const int trap_infinity;
+ const int trap_nan;
+
+ template<
+ class CharType,
+ class OutputIterator = std::ostreambuf_iterator<CharType>
+ >
+ class nonfinite_num_put : public std::num_put<CharType, OutputIterator>
+ {
+ public:
+ explicit nonfinite_num_put(int flags = 0);
+ };
+
+ template<
+ class CharType,
+ class InputIterator = std::istreambuf_iterator<CharType>
+ >
+ class nonfinite_num_get : public std::num_get<CharType, InputIterator>
+ {
+ public:
+ explicit nonfinite_num_get(int flags = 0); // legacy, sign_zero ...
+ };
+ }} // namespace boost namespace math
+
+To use these facets
+
+ #include <boost\math\special_functions\nonfinite_num_facets.hpp>
+
+
+[section:facets_intro Introduction]
+
+[h5 The Problem]
+
+The C++98 standard does not specify how ['infinity] and ['NaN] are represented in text streams.
+As a result, different platforms use different string representations.
+This can cause undefined behavior when text files are moved between different platforms.
+Some platforms cannot even input parse their own output!
+So 'route-tripping' or loopback of output to input is not possible.
+For instance, the following test fails with MSVC:
+
+ stringstream ss;
+ double inf = numeric_limits<double>::infinity();
+ double r;
+ ss << inf; // Write out.
+ ss >> r; // Read back in.
+
+ cout << "infinity output was " << inf << endl; // 1.#INF
+ cout << "infinity input was " << r << endl; // 1
+
+ assert(inf == y); // Fails!
+
+[h5 The Solution]
+
+The facets `nonfinite_num_put` and `nonfinite_num_get`
+format and parse all floating-point numbers,
+including `infinity` and `NaN`, in a consistent and portable manner.
+
+The following test succeeds with MSVC.
+
+[nonfinite_facets_sstream_1]
+
+[tip To add two facets, `nonfinite_num_put` and `nonfinite_num_get`,
+you may have to add one at a time, using a temporary locale.
+
+Or you can create a new locale in one step
+
+`std::locale new_locale(std::locale(std::locale(std::locale(), new boost::math::nonfinite_num_put<char>), new boost::math::nonfinite_num_get<char>));`
+
+and, for example, use it to imbue an input and output stringstream.
+]
+
+[tip To just change an input or output stream, you can concisely write
+`cout.imbue (std::locale(std::locale(), new boost::math::nonfinite_num_put<char>));`
+or
+`cin.imbue (std::locale(std::locale(), new boost::math::nonfinite_num_get<char>));`
+]
+
+[nonfinite_facets_sstream_2]
+
+[h4 C++0X standard for output of infinity and NaN]
+
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf C++0X (final) draft standard]
+does not explicitly specify the representation (and input) of nonfinite values,
+leaving it implementation-defined.
+So without some specific action, input and output of nonfinite values is not portable.
+
+[h4 C99 standard for output of infinity and NaN]
+
+The [@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99 standard]
+[*does] specify how infinity and NaN
+are formatted by printf and similar output functions,
+and parsed by scanf and similar input functions.
+
+The following string representations are used:
+
+[table C99 Representation of Infinity and NaN
+[[number] [string]]
+[[Positive infinity]["inf" or "infinity"]]
+[[Positive NaN]["nan" or "nan(...)"]]
+[[Negative infinity]["-inf" or "-infinity"]]
+[[Negative NaN]["-nan" or "-nan(...)"]]
+]
+
+So following C99 provides a sensible 'standard' way
+of handling input and output of nonfinites in C++,
+and this implementation follows most of these formats.
+
+[h5 Signaling NaNs]
+A particular type of NaN is the signaling NaN.
+The usual mechanism of signaling is by raising a floating-point exception.
+Signaling NaNs are defined by
+[@http://en.wikipedia.org/wiki/IEEE_floating-point_standard IEEE 754-2008].
+
+Floating-point values with layout ['s]111 1111 1['a]xx xxxx xxxx xxxx xxxx xxxx
+where ['s] is the sign, ['x] is the payload, and bit ['a] determines the type of NaN.
+
+If bit ['a] = 1, it is a quiet NaN.
+
+If bit ['a] is zero and the payload ['x] is nonzero, then it is a signaling NaN.
+
+Although there has been theoretical interest in the ability of a signaling NaN
+to raise an exception, for example to prevent use of an uninitialised variable,
+in practice there appears to be no useful application of signaling NaNs for
+most current processors.
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf C++0X 18.3.2.2]
+still specifies a (implementation-defined) representation for signaling NaN,
+and `static constexpr bool has_signaling_NaN`
+a method of checking if a floating-point type has a representation for signaling NaN.
+
+But in practice, most platforms treat signaling NaNs in the same as quiet NaNs.
+So, for example, they are represented by "nan" on output in
+[@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99] format,
+and output as `1.#QNAN` by Microsoft compilers.
+
+[note The C99 standard does not distinguish
+between the quiet NaN and signaling NaN values.
+A quiet NaN propagates through almost every arithmetic operation
+without raising a floating-point exception;
+a signaling NaN generally raises a floating-point exception
+when occurring as an arithmetic operand.
+
+C99 specification does not define the behavior of signaling NaNs.
+NaNs created by IEC 60559 operations are always quiet.
+Therefore this implementation follows C99, and treats the signaling NaN bit
+as just a part of the NaN payload field.
+So this implementation does not distinguish between the two classes of NaN.]
+
+[note An implementation may give zero and non-numeric values (such as infinities and NaNs)
+a sign or may leave them unsigned. Wherever such values are unsigned,
+any requirement in the C99 Standard to retrieve the sign shall produce an unspecified sign,
+and any requirement to set the sign shall be ignored.
+
+This might apply to user-defined types, but in practice built-in floating-point
+types `float`, `double` and `long double` have well-behaved signs.]
+
+The numbers can be of type `float`, `double` and `long double`.
+An optional + sign can be used with positive numbers (controlled by ios manipulator `showpos`).
+The function `printf` and similar C++ functions use standard formatting flags
+to put all lower or all upper case
+(controlled by `std::ios` manipulator `uppercase` and `lowercase`).
+
+The function `scanf` and similar input functions are case-insensitive.
+
+The dots in `nan(...)` stand for an arbitrary string.
+The meaning of that string is implementation dependent.
+It can be used to convey extra information about the NaN, from the 'payload'.
+A particular value of the payload might be used to indicate a ['missing value], for example.
+
+This library uses the string representations specified by the C99 standard.
+
+An example of an implementation that optionally includes the NaN payload information is at
+[@http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/fprints.htm AIX NaN fprintf].
+That implementation specifies for Binary Floating Point NANs:
+
+* A NaN ordinal sequence is a left-parenthesis character '(',
+followed by a digit sequence representing
+an integer n, where 1 <= n <= INT_MAX-1,
+followed by a right-parenthesis character ')'.
+
+* The integer value, n, is determined by the fraction bits of the NaN argument value as follows:
+
+* For a signalling NaN value, NaN fraction bits are reversed (left to right)
+to produce bits (right to left) of an even integer value, 2*n.
+Then formatted output functions produce a (signalling) NaN ordinal sequence
+corresponding to the integer value n.
+
+* For a quiet NaN value, NaN fraction bits are reversed (left to right)
+to produce bits (right to left) of an odd integer value, 2*n-1.
+Then formatted output functions produce a (quiet) NaN ordinal sequence
+corresponding to the integer value n.
+
+[warning This implementation does not (yet) provide output of, or access to, the NaN payload.]
+
+[endsect] [/section:intro Introduction]
+
+[section:reference Reference]
+
+[h5 The Facet `nonfinite_num_put`]
+
+ template<
+ class CharType, class OutputIterator = std::ostreambuf_iterator<CharType>
+ >
+ class nonfinite_num_put;
+
+The `class nonfinite_num_put<CharType, OutputIterator>`
+is derived from `std::num_put<CharType, OutputIterator>`.
+Thus it is a facet that formats numbers.
+The first template argument is the character type of the formatted strings,
+usually `char` or `wchar_t`.
+The second template argument is the type of iterator used to write the strings.
+It is required to be an output iterator.
+Usually the default `std::ostreambuf_iterator` is used.
+The public interface of the class consists of a single constructor only:
+
+ nonfinite_num_put(int flags = 0);
+
+The flags argument (effectively optional because a default of ` no_flags` is provided)
+is discussed below.
+The class template `nonfinite_num_put` is defined in the
+header `boost/math/nonfinite_num_facets.hpp`
+and lives in the namespace `boost::math`.
+
+Unlike the C++ Standard facet `std::num_put`, the facet `nonfinite_num_put`
+formats `infinity` and `NaN` in a consistent and portable manner.
+It uses the following string representations:
+
+[table
+[[Number][String]]
+[[Positive infinity][inf]]
+[[Positive NaN][nan]]
+[[Negative infinity][-inf]]
+[[Negative NaN][-nan]]
+]
+
+The numbers can be of type `float`, `double` and `long double`.
+The strings can be in all lower case or all upper case.
+An optional + sign can be used with positive numbers.
+This can be controlled with the `uppercase`, `lowercase`, `showpos` and `noshowpos` manipulators.
+Formatting of integers, boolean values and finite floating-point numbers is simply delegated to the normal `std::num_put`.
+
+
+[h5 Facet `nonfinite_num_get`]
+
+ template<class CharType, class InputIterator = std::istreambuf_iterator<CharType> > class nonfinite_num_get;
+
+The class `nonfinite_num_get<CharType, InputIterator>` is derived from `std::num_get<CharType, IntputIterator>`.
+Thus it is a facet that parses strings that represent numbers.
+The first template argument is the character type of the strings,
+usually `char` or `wchar_t`.
+The second template argument is the type of iterator used to read the strings.
+It is required to be an input iterator. Usually the default is used.
+The public interface of the class consists of a single constructor only:
+
+ nonfinite_num_get(int flags = 0);
+
+The flags argument is discussed below.
+The `class template nonfinite_num_get` is defined
+in the header `boost/math/nonfinite_num_facets.hpp`
+and lives in the `namespace boost::math`.
+
+Unlike the facet `std::num_get`, the facet `nonfinite_num_get` parses strings
+that represent `infinity` and `NaN` in a consistent and portable manner.
+It recognizes precisely the string representations specified by the C99 standard:
+
+[table
+[[Number][String]]
+[[Positive infinity][inf, infinity]]
+[[Positive NaN][nan, nan(...)]]
+[[Negative infinity][-inf, -infinity]]
+[[Negative NaN][-nan, -nan(...)]]
+]
+
+The numbers can be of type `float`, `double` and `long double`.
+The facet is case-insensitive. An optional + sign can be used with positive numbers.
+The dots in nan(...) stand for an arbitrary string usually containing the ['NaN payload].
+Parsing of strings that represent integers, boolean values
+and finite floating-point numbers is delegated to `std::num_get`.
+
+When the facet parses a string that represents `infinity` on a platform that lacks infinity,
+then the fail bit of the stream is set.
+
+When the facet parses a string that represents `NaN` on a platform that lacks NaN,
+then the fail bit of the stream is set.
+
+[h4 Flags]
+
+The constructors for `nonfinite_num_put` and `nonfinite_num_get`
+take an optional bit flags argument.
+There are four different bit flags:
+
+* legacy
+* signed_zero
+* trap_infinity
+* trap_nan
+
+The flags can be combined with the OR `operator|`.
+
+The flags are defined in the header `boost/math/nonfinite_num_facets.hpp`
+and live in the `namespace boost::math`.
+
+[h5 legacy]
+
+The legacy flag has no effect with the output facet `nonfinite_num_put`.
+
+If the legacy flag is used with the `nonfinite_num_get` input facet,
+then the facet will recognize all the following string representations of `infinity` and `NaN`:
+
+[table
+[[Number][String]]
+[[Positive infinity][inf, infinity, one#inf]]
+[[Positive NaN][nan, nan(...), nanq, nans, qnan, snan, one#ind, one#qnan, one#snan]]
+[[Negative infinity][-inf, -infinity, -one#inf]]
+[[Negative NaN][-nan, -nan(...), -nanq, -nans, -qnan, -snan, -one#ind, - one#qnan, -one#snan]]
+]
+
+* The numbers can be of type `float`, `double` and `long double`.
+* The facet is case-insensitive.
+* An optional `+` sign can be used with the positive values.
+* The dots in `nan(...)` stand for an arbitrary string.
+* `one` stands for any string that `std::num_get` parses as the number `1`,
+typically "1.#INF", "1.QNAN" but also "000001.#INF"...
+
+The list includes a number of non-standard string representations of infinity and NaN
+that are used by various existing implementations of the C++ standard library,
+and also string representations used by other programming languages.
+
+[h5 signed_zero]
+
+If the `signed_zero` flag is used with `nonfinite_num_put`,
+then the facet will always distinguish between positive and negative zero.
+It will format positive zero as "0" or "+0" and negative zero as "-0".
+The string representation of positive zero can be controlled
+with the `showpos` and `noshowpos` manipulators.
+
+The `signed_zero flag` has no effect with the input facet `nonfinite_num_get`.
+The input facet `nonfinite_num_get` always parses "0" and "+0"
+as positive zero and "-0" as negative zero,
+as do most implementations of `std::num_get`.
+
+[note If the `signed_zero` flag is not set (the default), then a negative zero value
+will be displayed on output in whatever way the platform normally handles it.
+For most platforms, this it will format positive zero as "0" or "+0" and negative zero as "-0".
+But setting the `signed_zero` flag may be more portable.]
+
+[tip A negative zero value can be portably produced using the changesign function
+`(changesign)(static_cast<ValType>(0))` where `ValType` is `float`, `double` or `long double`,
+ or a User-Defined floating-point type (UDT) provided that this UDT has a sign
+and that the changesign function is implemented.]
+
+[h5 trap_infinity]
+
+If the `trap_infinity` flag is used with `nonfinite_num_put`,
+then the facet will throw an exception of type `std::ios_base::failure`
+when an attempt is made to format positive or negative infinity.
+If the facet is called from a stream insertion operator,
+then the stream will catch that exception and set either its `fail bit` or its `bad bit`.
+Which bit is set is platform dependent.
+
+If the `trap_infinity` flag is used with `nonfinite_num_get`,
+then the facet will set the `fail bit` of the stream when an attempt is made
+to parse a string that represents positive or negative infinity.
+
+
+(See Design Rationale below for a discussion of this inconsistency.)
+
+[h5 trap_nan]
+
+Same as `trap_infinity`, but positive and negative NaN are trapped instead.
+
+[endsect] [/section:reference Reference]
+
+
+[section:examples Examples]
+
+[h5 Simple example with std::stringstreams]
+
+[nonfinite_facets_sstream_1]
+[nonfinite_facets_sstream_2]
+
+[h5 Use with lexical_cast]
+
+[note From Boost 1.48, lexical_cast no longer uses stringstreams internally,
+and is now able to handle infinities and NaNs natively on most platforms.]
+
+Without using a new locale that contains the nonfinite facets,
+previous versions of `lexical_cast` using stringstream were not portable
+(and often failed) if nonfinite values are found.
+
+[nonfinite_facets_sstream_1]
+
+Although other examples imbue individual streams with the new locale,
+for the streams constructed inside lexical_cast,
+it was necesary to assign to a global locale.
+
+ locale::global(new_locale);
+
+`lexical_cast` then works as expected, even with infinity and NaNs.
+
+ double x = boost::lexical_cast<double>("inf");
+ assert(x == std::numeric:limits<double>::infinity());
+
+ string s = boost::lexical_cast<string>(numeric_limits<double>::infinity());
+ assert(s == "inf");
+
+[warning If you use stringstream inside your functions,
+you may still need to use a global locale to handle nonfinites correctly.
+Or you need to imbue your stringstream with suitable get and put facets.]
+
+[warning You should be aware that the C++ specification does not explicitly require
+that input from decimal digits strings converts with rounding to the
+nearest representable floating-point binary value.
+(In contrast, decimal digits read by the compiler,
+for example by an assignment like `double d = 1.234567890123456789`,
+are guaranteed to assign the nearest representable value to double d).
+This implies that, no matter how many decimal digits you provide,
+there is a potential uncertainty of 1 least significant bit in the resulting binary value.]
+
+See [@http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding
+for more information on ['nearest representable] and ['rounding]].
+
+Most iostream libraries do in fact achieve the desirable
+['nearest representable floating-point binary value] for all values of input.
+However one popular STL library does not quite achieve this for 64-bit doubles. See
+[@http://connect.microsoft.com/VisualStudio/feedback/details/98770/decimal-digit-string-input-to-double-may-be-1-bit-wrong
+Decimal digit string input to double may be 1 bit wrong] for the bizarre full details.
+
+If you are expecting to 'round-trip' `lexical_cast` or `serialization`,
+for example archiving and loading,
+and want to be [*absolutely certain that you will
+always get an exactly identical double value binary pattern],
+you should use the suggested 'workaround' below that is believed to work on all platforms.
+
+You should output using all potentially significant decimal digits,
+by setting stream precision to `std::numeric_limits<double>::max_digits10`,
+(or for the appropriate floating-point type, if not double)
+and crucially, [*require `scientific` format], not `fixed` or automatic (default), for example:
+
+ double output_value = any value;
+ std::stringstream s;
+ s << setprecison(std::numeric_limits<double>::max_digits10) << scientific << output_value;
+ s >> input_value;
+
+
+[h4 Use with serialization archives]
+
+It is vital that the same locale is used
+when an archive is saved and when it is loaded.
+Otherwise, loading the archive may fail.
+By default, archives are saved and loaded with a classic C locale
+with a `boost::archive::codecvt_null` facet added.
+Normally you do not have to worry about that.
+
+The constructors for the archive classes, as a side-effect,
+imbue the stream with such a locale.
+However, if you want to use the
+facets `nonfinite_num_put` and `nonfinite_num_get` with archives,
+then you have to manage the locale manually.
+That is done by calling the archive constructor with the flag
+`boost::archive::no_codecvt`, thereby ensuring that the archive constructor
+will [*not imbue the stream with a new locale].
+
+The following code shows how to use `nonfinite_num_put` with a `text_oarchive`.
+
+ locale default_locale(locale::classic(), new boost::archive::codecvt_null<char>);
+ locale my_locale(default_locale, new nonfinite_num_put<char>);
+
+ ofstream ofs("test.txt");
+ ofs.imbue(my_locale);
+
+ boost::archive::text_oarchive oa(ofs, no_codecvt);
+
+ double x = numeric_limits<double>::infinity();
+ oa & x;
+
+The same method works with `nonfinite_num_get` and `text_iarchive`.
+
+If you use the `nonfinite_num_put` with `trap_infinity`
+and/or `trap_nan` flag with a serialization archive,
+then you must set the exception mask of the stream.
+Serialization archives do not check the stream state.
+
+
+[h5 Other examples]
+
+[@../../example/nonfinite_facet_simple.cpp nonfinite_facet_simple.cpp]
+give some more simple demonstrations of the difference between using classic C locale
+and constructing a C99 infinty and NaN compliant locale for input and output.
+
+See [@../../example/nonfinite_facet_sstream.cpp nonfinite_facet_sstream.cpp]
+for this example of use with `std::stringstream`s.
+
+For an example of how to enforce the MSVC 'legacy'
+"1.#INF" and "1.#QNAN" representations of infinity and NaNs,
+for input and output,
+see [@../../example/nonfinite_legacy.cpp nonfinite_legacy.cpp].
+
+Treatment of signaling NaN is demonstrated at
+[@../../example/nonfinite_signaling_NaN.cpp]
+
+Example [@../../example/nonfinite_loopback_ok.cpp] shows loopback works OK.
+
+Example [@../../example/nonfinite_num_facet.cpp] shows output and re-input
+of various finite and nonfinite values.
+
+A simple example of trapping nonfinite output is at
+[@../../example/nonfinite_num_facet_trap.cpp nonfinite_num_facet_trap.cpp].
+
+A very basic example of using Boost.Archive is at
+[@../../example/nonfinite_serialization_archives.cpp].
+
+A full demonstration of serialization by Francois Mauger is at
+[@../../example/nonfinite_num_facet_serialization.cpp]
+
+[endsect] [/section:examples Examples]
+
+[section:portability Portability]
+
+This library uses the floating-point number classification and sign-bit from Boost.Math library,
+and should work on all platforms where that library works.
+See the portability information for that library.
+
+[endsect] [/section:portability Portability]
+
+[section:rationale Design Rationale]
+
+* The flags are implemented as a const data member of the facet.
+Facets are reference counted, and locales can share facets.
+Therefore changing the flags of a facet would have effects that are hard to predict.
+An alternative design would be to implement the flags
+using `std::ios_base::xalloc` and `std::ios_base::iword`.
+Then one could safely modify the flags, and one could define manipulators that do so.
+However, for that to work with dynamically linked libraries,
+a `.cpp` file would have to be added to the library.
+It was judged be more desirable to have a headers only library,
+than to have mutable flags and manipulators.
+
+* The facet `nonfinite_num_put` throws an exception when
+the `trap_infinity` or `trap_nan` flag is set
+and an attempt is made to format infinity or NaN.
+It would be better if the facet set the fail bit of the stream.
+However, facets derived from `std::num_put` do not have access to the stream state.
+
+[endsect] [/section:rationale Design Rationale]
+
+[endsect] [/section:fp_facets Facets for Floating-Point Infinities and NaNs]
+
+[/
+ Copyright Johan Rade and Paul A. Bristow 2011.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
+
+
diff --git a/libs/math/doc/fp_utilities/fpclassify.qbk b/libs/math/doc/fp_utilities/fpclassify.qbk
new file mode 100644
index 0000000000..dc5d5c19a5
--- /dev/null
+++ b/libs/math/doc/fp_utilities/fpclassify.qbk
@@ -0,0 +1,124 @@
+[section:fpclass Floating-Point Classification: Infinities and NaNs]
+
+[h4 Synopsis]
+
+ #define FP_ZERO /* implementation specific value */
+ #define FP_NORMAL /* implementation specific value */
+ #define FP_INFINITE /* implementation specific value */
+ #define FP_NAN /* implementation specific value */
+ #define FP_SUBNORMAL /* implementation specific value */
+
+ template <class T>
+ int fpclassify(T t);
+
+ template <class T>
+ bool isfinite(T z); // Neither infinity nor NaN.
+
+ template <class T>
+ bool isinf(T t); // Infinity (+ or -).
+
+ template <class T>
+ bool isnan(T t); // NaN.
+
+ template <class T>
+ bool isnormal(T t); // isfinite and not denormalised.
+
+ #include <boost\math\special_functions\fpclassify.hpp>
+
+to use these functions.
+
+[h4 Description]
+
+These functions provide the same functionality as the macros with the same
+name in C99, indeed if the C99 macros are available, then these functions
+are implemented in terms of them, otherwise they rely on std::numeric_limits<>
+to function.
+
+Note that the definition of these functions
+['does not suppress the definition of these names as macros by math.h]
+on those platforms that already provide
+these as macros. That mean that the following have differing meanings:
+
+ using namespace boost::math;
+
+ // This might call a global macro if defined,
+ // but might not work if the type of z is unsupported
+ // by the std lib macro:
+ isnan(z);
+ //
+ // This calls the Boost version
+ // (found via the "using namespace boost::math" declaration)
+ // it works for any type that has numeric_limits support for type z:
+ (isnan)(z);
+ //
+ // As above but with explicit namespace qualification.
+ (boost::math::isnan)(z);
+ //
+ // This will cause a compiler error if isnan is a native macro:
+ boost::math::isnan(z);
+ // So always use instead:
+ (boost::math::isnan)(z);
+ //
+ // You can also add a using statement,
+ // globally to a .cpp file, or to a local function in a .hpp file.
+ using boost::math::isnan;
+ // so you can write the shorter and less cluttered
+ (isnan)(z)
+ // But, as above, if isnan is a native macro, this causes a compiler error,
+ // because the macro always 'gets' the name first, unless enclosed in () brackets.
+
+Detailed descriptions for each of these functions follows:
+
+ template <class T>
+ int fpclassify(T t);
+
+Returns an integer value that classifies the value /t/:
+
+[table
+[[fpclassify value] [class of t.]]
+[[FP_ZERO] [If /t/ is zero.]]
+[[FP_NORMAL] [If /t/ is a non-zero, non-denormalised finite value.]]
+[[FP_INFINITE] [If /t/ is plus or minus infinity.]]
+[[FP_NAN] [If /t/ is a NaN.]]
+[[FP_SUBNORMAL] [If /t/ is a denormalised number.]]
+]
+
+ template <class T>
+ bool isfinite(T z);
+
+Returns true only if /z/ is not an infinity or a NaN.
+
+ template <class T>
+ bool isinf(T t);
+
+Returns true only if /z/ is plus or minus infinity.
+
+ template <class T>
+ bool isnan(T t);
+
+Returns true only if /z/ is a [@http://en.wikipedia.org/wiki/NaN NaN].
+
+ template <class T>
+ bool isnormal(T t);
+
+Returns true only if /z/ is a normal number (not zero, infinite, NaN, or denormalised).
+
+[h5 Floating-point format]
+
+If you wish to find details of the floating-point format for any particular processor,
+there is a program
+
+[@../../example/inspect_fp.cpp inspect_fp.cpp]
+
+by Johan Rade which can be used to print out the processor type,
+endianness, and detailed bit layout of a selection of floating-point values,
+including infinity and NaNs.
+
+[endsect] [/section:fpclass Floating Point Classification: Infinities and NaNs]
+
+[/
+ Copyright 2006, 2008, 2011 John Maddock, Johan Rade and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/rounding_func.qbk b/libs/math/doc/fp_utilities/rounding_func.qbk
index 8663e550fe..8663e550fe 100644
--- a/libs/math/doc/sf_and_dist/rounding_func.qbk
+++ b/libs/math/doc/fp_utilities/rounding_func.qbk
diff --git a/libs/math/doc/fp_utilities/sign.qbk b/libs/math/doc/fp_utilities/sign.qbk
new file mode 100644
index 0000000000..970b48042e
--- /dev/null
+++ b/libs/math/doc/fp_utilities/sign.qbk
@@ -0,0 +1,137 @@
+[section:sign_functions Sign Manipulation Functions]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/sign.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template<class T>
+ int signbit(T x);
+
+ template <class T>
+ int sign (const T& z);
+
+ template <class T, class U>
+ T copysign (const T& x, const U& y);
+
+ template <class T>
+ ``__sf_result`` changesign (const T& z);
+
+ }} // namespaces
+
+[h4 Description]
+
+ template<class T>
+ int signbit(T x);
+
+Returns a non-zero value if the sign bit is set in variable /x/, otherwise `0`.
+
+[important The return value from this function is zero or /not-zero/ and [*not] zero or one.]
+
+ template <class T>
+ int sign (const T& z);
+
+Returns `1` if /x/ `> 0`, `-1` if /x/ `< 0`, and `0` if /x/ is zero.
+
+ template <class T, class U>
+ ``__sf_result`` copysign (const T& x, const U& y);
+
+Sets the sign of /x/ to be the same as the sign of /y/.
+
+See [@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99 7.12.11.1 The copysign functions]
+for more detail.
+
+ template <class T>
+ T changesign (const T& z);
+
+Returns a floating point number with a binary representation
+where the signbit is the opposite of the sign bit in /x/,
+and where the other bits are the same as in /x/.
+
+This function is widely available, but not specified in any standards.
+
+Rationale: Not specified by TR1, but `changesign(x)`
+is both easier to read and more efficient than
+
+ copysign(x, signbit(x) ? 1.0 : -1.0);
+
+For finite values, this function has the same effect as simple negation,
+the assignment z = -z, but for nonfinite values,
+[@http://en.wikipedia.org/wiki/Infinity#Computing infinities]
+and [@http://en.wikipedia.org/wiki/NaN NaNs],
+the `changesign(x)` function may be the only portable way
+to ensure that the sign bit is changed.
+
+[h5 Sign bits]
+One of the bits in the binary representation of a floating-point number gives the sign,
+and the remaining bits give the absolute value.
+That bit is known as the sign bit.
+The sign bit is set = 1 for negative numbers, and is not set = 0 for positive numbers.
+(This is true for all binary representations of floating point numbers
+that are used by modern microprocessors.)
+
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf C++ TR1]
+specifies `copysign` functions and function templates for accessing the sign bit.
+
+For user-defined types (UDT), the sign may be stored in some other way.
+They may also not provide infinity or NaNs.
+To use these functions with a UDT,
+it may be necessary to explicitly specialize then for UDT type T.
+
+[h5 Examples]
+
+ signbit(3.5) is zero (or false)
+ signbit(-7.1) is 1 (or true)
+ copysign(4.2, 7.9) is 4.2
+ copysign(3.5 -1.4) is -3.5
+ copysign(-4.2, 1.0) is 4.2
+ copysign(-8.6, -3.3) is -8.6
+ changesign(6.9) is -6.9
+ changesign(-1.8) is 1.8
+
+[h5 Portability]
+
+The library supports the following binary floating-point formats:
+
+* IEEE 754 single precision
+* IEEE 754 double precision
+* IEEE 754 extended double precision with 15 exponent bits
+* Intel extended double precision
+* PowerPC extended double precision
+* Motorola 68K extended double precision
+
+The library does not support the VAX floating-point formats.
+(These are available on VMS, but the default on VMS is the IEEE 754 floating-point format.)
+
+The main portability issues are:
+
+* Unsupported floating point formats
+* The library depends on the header boost/detail/endian.hpp
+* Code such as `#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)`
+is used to determine the processor type.
+
+The library has passed all tests on the following platforms:
+
+* Win32 / MSVC 7.1 / 10.0 / x86
+* Win32 / Intel C++ 7.1, 8.1, 9.1 / x86
+* Mac OS X / GCC 3.3, 4.0 / ppc
+* Linux / Intel C++ 9.1 / x86, ia64
+* Linux / GCC 3.3 / x86, x64, ia64, ppc, hppa, mips, m68k
+* Linux / GCC 3.4 / x64
+* HP-UX / aCC, GCC 4.1 / ia64
+* HP-UX / aCC / hppa
+* Tru64 / Compaq C++ 7.1 / alpha
+* VMS / HP C++ 7.1 / alpha (in IEEE floating point mode)
+* VMS / HP C++ 7.2 / ia64 (in IEEE floating point mode)
+
+[endsect][/section:sign_functions Sign Manipulation Functions]
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow 2011.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/gcd/Jamfile.v2 b/libs/math/doc/gcd/Jamfile.v2
deleted file mode 100644
index 2ccad73cf6..0000000000
--- a/libs/math/doc/gcd/Jamfile.v2
+++ /dev/null
@@ -1,66 +0,0 @@
-
-# Copyright John Maddock 2005. Use, modification, and distribution are
-# subject to the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-using quickbook ;
-
-path-constant images_location : html ;
-
-xml math-gcd : math-gcd.qbk ;
-boostbook standalone
- :
- math-gcd
- :
- # Path for links to Boost:
- <xsl:param>boost.root=../../../../..
-
- # Some general style settings:
- <xsl:param>table.footnote.number.format=1
- <xsl:param>footnote.number.format=1
-
- # HTML options first:
- # Use graphics not text for navigation:
- <xsl:param>navig.graphics=1
- # How far down we chunk nested sections, basically all of them:
- <xsl:param>chunk.section.depth=10
- # Don't put the first section on the same page as the TOC:
- <xsl:param>chunk.first.sections=1
- # How far down sections get TOC's
- <xsl:param>toc.section.depth=10
- # Max depth in each TOC:
- <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:
- # <xsl:param>fop1.extensions=1
- <format>pdf:<xsl:param>xep.extensions=1
- # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
- <format>pdf:<xsl:param>fop.extensions=0
- <format>pdf:<xsl:param>fop1.extensions=0
- # No indent on body text:
- <format>pdf:<xsl:param>body.start.indent=0pt
- # Margin size:
- <format>pdf:<xsl:param>page.margin.inner=0.5in
- # Margin size:
- <format>pdf:<xsl:param>page.margin.outer=0.5in
- # Paper type = A4
- <format>pdf:<xsl:param>paper.type=A4
- # Yes, we want graphics for admonishments:
- <xsl:param>admon.graphics=1
- # Set this one for PDF generation *only*:
- # default pnd graphics are awful in PDF form,
- # better use SVG's instead:
- <format>pdf:<xsl:param>admon.graphics.extension=".svg"
- <format>pdf:<xsl:param>use.role.for.mediaobject=1
- <format>pdf:<xsl:param>preferred.mediaobject.role=print
- <format>pdf:<xsl:param>img.src.path=$(images_location)/
- <format>pdf:<xsl:param>draft.mode="no"
- <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/math/doc/gcd/html
- ;
-
-
-
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html
deleted file mode 100644
index 0ac357fb92..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Greatest Common Divisor and Least Common Multiple</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../index.html" title="GCD and LCM">
-<link rel="up" href="../index.html" title="GCD and LCM">
-<link rel="prev" href="../index.html" title="GCD and LCM">
-<link rel="next" href="gcd_lcm/introduction.html" title="Introduction">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_lcm/introduction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="gcd_and_lcm.gcd_lcm"></a><a class="link" href="gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">Greatest Common Divisor and Least
- Common Multiple</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="gcd_lcm/introduction.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/synopsis.html">Synopsis</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/gcd_function_object.html">GCD Function
- Object</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/lcm_function_object.html">LCM Function
- Object</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/run_time.html">Run-time GCD &amp; LCM
- Determination</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/compile_time.html">Compile time GCD and
- LCM determination</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/header.html">Header &lt;boost/math/common_factor.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/demo.html">Demonstration Program</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/rationale.html">Rationale</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/history.html">History</a></span></dt>
-<dt><span class="section"><a href="gcd_lcm/credits.html">Credits</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_lcm/introduction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html
deleted file mode 100644
index 5a4bffce21..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Compile time GCD and LCM determination</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="run_time.html" title="Run-time GCD &amp; LCM Determination">
-<link rel="next" href="header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="run_time.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.compile_time"></a><a class="link" href="compile_time.html" title="Compile time GCD and LCM determination">Compile time GCD and
- LCM determination</a>
-</h3></div></div></div>
-<p>
- <span class="bold"><strong>Header: </strong></span> <a href="../../../../../../../boost/math/common_factor_ct.hpp" target="_top">&lt;boost/math/common_factor_ct.hpp&gt;</a>
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">static_gcd_type</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_gcd</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special">&lt;</span><span class="identifier">static_gcd_type</span><span class="special">,</span> <span class="identifier">implementation_defined</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_lcm</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special">&lt;</span><span class="identifier">static_gcd_type</span><span class="special">,</span> <span class="identifier">implementation_defined</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="special">};</span>
-</pre>
-<p>
- The type <code class="computeroutput"><span class="identifier">static_gcd_type</span></code>
- is the widest unsigned-integer-type that is supported for use in integral-constant-expressions
- by the compiler. Usually this the same type as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span></code>,
- but may fall back to being <code class="computeroutput"><span class="keyword">unsigned</span>
- <span class="keyword">long</span></code> for some older compilers.
- </p>
-<p>
- The boost::math::static_gcd and boost::math::static_lcm class templates take
- two value-based template parameters of the <span class="emphasis"><em>static_gcd_type</em></span>
- type and inherit from the type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span></code>. Inherited from the base class,
- they have a member <span class="emphasis"><em>value</em></span> that is the greatest common
- factor or least common multiple, respectively, of the template arguments.
- A compile-time error will occur if the least common multiple is beyond the
- range of <code class="computeroutput"><span class="identifier">static_gcd_type</span></code>.
- </p>
-<a name="gcd_and_lcm.gcd_lcm.compile_time.example"></a><h4>
-<a name="id981562"></a>
- <a class="link" href="compile_time.html#gcd_and_lcm.gcd_lcm.compile_time.example">Example</a>
- </h4>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">common_factor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span>
-
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The GCD and LCM of 6 and 15 are "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", respectively."</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The GCD and LCM of 8 and 9 are "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_gcd</span><span class="special">&lt;</span><span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">&gt;::</span><span class="identifier">value</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_lcm</span><span class="special">&lt;</span><span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">&gt;::</span><span class="identifier">value</span>
- <span class="special">&lt;&lt;</span> <span class="string">", respectively."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="keyword">int</span> <span class="identifier">a</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span> <span class="special">},</span> <span class="identifier">b</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span> <span class="special">},</span> <span class="identifier">c</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">transform</span><span class="special">(</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">a</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd_evaluator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;()</span> <span class="special">);</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">c</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">" "</span><span class="special">)</span> <span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="run_time.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html
deleted file mode 100644
index e4054e5c37..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Credits</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.credits"></a><a class="link" href="credits.html" title="Credits">Credits</a>
-</h3></div></div></div>
-<p>
- The author of the Boost compilation of GCD and LCM computations is Daryle
- Walker. The code was prompted by existing code hiding in the implementations
- of Paul Moore's rational library and Steve Cleary's pool library. The code
- had updates by Helmut Zeisel.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html
deleted file mode 100644
index 65cf1855a2..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Demonstration Program</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">
-<link rel="next" href="rationale.html" title="Rationale">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="header.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.demo"></a><a class="link" href="demo.html" title="Demonstration Program">Demonstration Program</a>
-</h3></div></div></div>
-<p>
- The program <a href="../../../../../../../libs/math/test/common_factor_test.cpp" target="_top">common_factor_test.cpp</a>
- is a demonstration of the results from instantiating various examples of
- the run-time GCD and LCM function templates and the compile-time GCD and
- LCM class templates. (The run-time GCD and LCM class templates are tested
- indirectly through the run-time function templates.)
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="header.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html
deleted file mode 100644
index e683bd11be..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>GCD Function Object</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="synopsis.html" title="Synopsis">
-<link rel="next" href="lcm_function_object.html" title="LCM Function Object">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lcm_function_object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.gcd_function_object"></a><a class="link" href="gcd_function_object.html" title="GCD Function Object">GCD Function
- Object</a>
-</h3></div></div></div>
-<p>
- <span class="bold"><strong>Header: </strong></span> <a href="../../../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd_evaluator</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// Types
-</span> <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">result_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">first_argument_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">second_argument_type</span><span class="special">;</span>
-
- <span class="comment">// Function object interface
-</span> <span class="identifier">result_type</span> <span class="keyword">operator</span> <span class="special">()(</span> <span class="identifier">first_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">second_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The boost::math::gcd_evaluator class template defines a function object class
- to return the greatest common divisor of two integers. The template is parameterized
- by a single type, called IntegerType here. This type should be a numeric
- type that represents integers. The result of the function object is always
- nonnegative, even if either of the operator arguments is negative.
- </p>
-<p>
- This function object class template is used in the corresponding version
- of the GCD function template. If a numeric type wants to customize evaluations
- of its greatest common divisors, then the type should specialize on the gcd_evaluator
- class template.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lcm_function_object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html
deleted file mode 100644
index 72aa3019b4..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Header &lt;boost/math/common_factor.hpp&gt;</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="compile_time.html" title="Compile time GCD and LCM determination">
-<link rel="next" href="demo.html" title="Demonstration Program">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="compile_time.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="demo.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.header"></a><a class="link" href="header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">Header &lt;boost/math/common_factor.hpp&gt;</a>
-</h3></div></div></div>
-<p>
- This header simply includes the headers <a href="../../../../../../../boost/math/common_factor_ct.hpp" target="_top">&lt;boost/math/common_factor_ct.hpp&gt;</a>
- and <a href="../../../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>.
- </p>
-<p>
- Note this is a legacy header: it used to contain the actual implementation,
- but the compile-time and run-time facilities were moved to separate headers
- (since they were independent of each other).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="compile_time.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="demo.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html
deleted file mode 100644
index 1176af3e4f..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>History</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="rationale.html" title="Rationale">
-<link rel="next" href="credits.html" title="Credits">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rationale.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.history"></a><a class="link" href="history.html" title="History">History</a>
-</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc">
-<li>
- 17 Dec 2005: Converted documentation to Quickbook Format.
- </li>
-<li>
- 2 Jul 2002: Compile-time and run-time items separated to new headers.
- </li>
-<li>
- 7 Nov 2001: Initial version
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rationale.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html
deleted file mode 100644
index 33429c94a2..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Introduction</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="next" href="synopsis.html" title="Synopsis">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
-</h3></div></div></div>
-<p>
- The class and function templates in &lt;boost/math/common_factor.hpp&gt;
- provide run-time and compile-time evaluation of the greatest common divisor
- (GCD) or least common multiple (LCM) of two integers. These facilities are
- useful for many numeric-oriented generic programming problems.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html
deleted file mode 100644
index bae89db029..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>LCM Function Object</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="gcd_function_object.html" title="GCD Function Object">
-<link rel="next" href="run_time.html" title="Run-time GCD &amp; LCM Determination">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="gcd_function_object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run_time.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.lcm_function_object"></a><a class="link" href="lcm_function_object.html" title="LCM Function Object">LCM Function
- Object</a>
-</h3></div></div></div>
-<p>
- <span class="bold"><strong>Header: </strong></span> <a href="../../../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm_evaluator</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// Types
-</span> <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">result_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">first_argument_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">second_argument_type</span><span class="special">;</span>
-
- <span class="comment">// Function object interface
-</span> <span class="identifier">result_type</span> <span class="keyword">operator</span> <span class="special">()(</span> <span class="identifier">first_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">second_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The boost::math::lcm_evaluator class template defines a function object class
- to return the least common multiple of two integers. The template is parameterized
- by a single type, called IntegerType here. This type should be a numeric
- type that represents integers. The result of the function object is always
- nonnegative, even if either of the operator arguments is negative. If the
- least common multiple is beyond the range of the integer type, the results
- are undefined.
- </p>
-<p>
- This function object class template is used in the corresponding version
- of the LCM function template. If a numeric type wants to customize evaluations
- of its least common multiples, then the type should specialize on the lcm_evaluator
- class template.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="gcd_function_object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run_time.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html
deleted file mode 100644
index dec9b96426..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Rationale</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="demo.html" title="Demonstration Program">
-<link rel="next" href="history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="demo.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
-</h3></div></div></div>
-<p>
- The greatest common divisor and least common multiple functions are greatly
- used in some numeric contexts, including some of the other Boost libraries.
- Centralizing these functions to one header improves code factoring and eases
- maintainence.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="demo.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html
deleted file mode 100644
index 37e6d16f8d..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Run-time GCD &amp; LCM Determination</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="lcm_function_object.html" title="LCM Function Object">
-<link rel="next" href="compile_time.html" title="Compile time GCD and LCM determination">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lcm_function_object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compile_time.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.run_time"></a><a class="link" href="run_time.html" title="Run-time GCD &amp; LCM Determination">Run-time GCD &amp; LCM
- Determination</a>
-</h3></div></div></div>
-<p>
- <span class="bold"><strong>Header: </strong></span> <a href="../../../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
-<span class="identifier">IntegerType</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
-<span class="identifier">IntegerType</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
-</pre>
-<p>
- The boost::math::gcd function template returns the greatest common (nonnegative)
- divisor of the two integers passed to it. The boost::math::lcm function template
- returns the least common (nonnegative) multiple of the two integers passed
- to it. The function templates are parameterized on the function arguments'
- IntegerType, which is also the return type. Internally, these function templates
- use an object of the corresponding version of the gcd_evaluator and lcm_evaluator
- class templates, respectively.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lcm_function_object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compile_time.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html b/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html
deleted file mode 100644
index 35817d62d4..0000000000
--- a/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Synopsis</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="GCD and LCM">
-<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-<link rel="prev" href="introduction.html" title="Introduction">
-<link rel="next" href="gcd_function_object.html" title="GCD Function Object">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="introduction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_function_object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="gcd_and_lcm.gcd_lcm.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
-<span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">math</span>
-<span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">gcd_evaluator</span><span class="special">;</span>
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">lcm_evaluator</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
- <span class="identifier">IntegerType</span> <span class="identifier">gcd</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
- <span class="identifier">IntegerType</span> <span class="identifier">lcm</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
-
-<span class="keyword">typedef</span> <span class="emphasis"><em>see-below</em></span> <span class="identifier">static_gcd_type</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
- <span class="keyword">struct</span> <span class="identifier">static_gcd</span><span class="special">;</span>
-<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
- <span class="keyword">struct</span> <span class="identifier">static_lcm</span><span class="special">;</span>
-
-<span class="special">}</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2002 Daryle Walker<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="introduction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_function_object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/html/index.html b/libs/math/doc/gcd/html/index.html
deleted file mode 100644
index e2f005fa68..0000000000
--- a/libs/math/doc/gcd/html/index.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>GCD and LCM</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="index.html" title="GCD and LCM">
-<link rel="next" href="gcd_and_lcm/gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="gcd_and_lcm/gcd_lcm.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="article" lang="en">
-<div class="titlepage">
-<div>
-<div><h2 class="title">
-<a name="gcd_and_lcm"></a>GCD and LCM</h2></div>
-<div><div class="authorgroup"><div class="author"><h3 class="author">
-<span class="firstname">Daryle</span> <span class="surname">Walker</span>
-</h3></div></div></div>
-<div><p class="copyright">Copyright &#169; 2001 -2002 Daryle Walker</p></div>
-<div><div class="legalnotice">
-<a name="id974019"></a><p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm.html">Greatest Common Divisor and Least
- Common Multiple</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/introduction.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/synopsis.html">Synopsis</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/gcd_function_object.html">GCD Function
- Object</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/lcm_function_object.html">LCM Function
- Object</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/run_time.html">Run-time GCD &amp; LCM
- Determination</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/compile_time.html">Compile time GCD and
- LCM determination</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/header.html">Header &lt;boost/math/common_factor.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/demo.html">Demonstration Program</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/rationale.html">Rationale</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/history.html">History</a></span></dt>
-<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/credits.html">Credits</a></span></dt>
-</dl></dd>
-</dl>
-</div>
-<p>
- This manual is also available in <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">printer
- friendly PDF format</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 29, 2006 at 11:08:32 +0000</small></p></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="gcd_and_lcm/gcd_lcm.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/libs/math/doc/gcd/math-gcd.qbk b/libs/math/doc/gcd/math-gcd.qbk
index a1b6c0820e..4d3edd6b25 100644
--- a/libs/math/doc/gcd/math-gcd.qbk
+++ b/libs/math/doc/gcd/math-gcd.qbk
@@ -1,29 +1,12 @@
-[article GCD and LCM
- [quickbook 1.3]
- [copyright 2001-2002 Daryle Walker]
- [license
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
- ]
- [authors [Walker, Daryle]]
- [category math]
- [last-revision $Date: 2006-12-29 11:08:32 +0000 (Fri, 29 Dec 2006) $]
-]
-
-This manual is also available in
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-printer friendly PDF format].
-
-[section:gcd_lcm Greatest Common Divisor and Least Common Multiple]
+[mathpart gcd_lcm Integer Utilities (Greatest Common Divisor and Least Common Multiple)]
[section Introduction]
-The class and function templates in <boost/math/common_factor.hpp>
-provide run-time and compile-time evaluation of the greatest common divisor
-(GCD) or least common multiple (LCM) of two integers.
-These facilities are useful for many numeric-oriented generic
+The class and function templates in <boost/math/common_factor.hpp>
+provide run-time and compile-time evaluation of the greatest common divisor
+(GCD) or least common multiple (LCM) of two integers.
+These facilities are useful for many numeric-oriented generic
programming problems.
[endsect]
@@ -44,7 +27,7 @@ programming problems.
IntegerType gcd( IntegerType const &a, IntegerType const &b );
template < typename IntegerType >
IntegerType lcm( IntegerType const &a, IntegerType const &b );
-
+
typedef ``['see-below]`` static_gcd_type;
template < static_gcd_type Value1, static_gcd_type Value2 >
@@ -54,12 +37,12 @@ programming problems.
}
}
-
+
[endsect]
[section GCD Function Object]
-[*Header: ] [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
+[*Header: ] [@../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
template < typename IntegerType >
class boost::math::gcd_evaluator
@@ -75,23 +58,23 @@ programming problems.
second_argument_type const &b ) const;
};
-The boost::math::gcd_evaluator class template defines a function object
-class to return the greatest common divisor of two integers.
-The template is parameterized by a single type, called IntegerType here.
-This type should be a numeric type that represents integers.
-The result of the function object is always nonnegative, even if either of
+The boost::math::gcd_evaluator class template defines a function object
+class to return the greatest common divisor of two integers.
+The template is parameterized by a single type, called IntegerType here.
+This type should be a numeric type that represents integers.
+The result of the function object is always nonnegative, even if either of
the operator arguments is negative.
-This function object class template is used in the corresponding version of
-the GCD function template. If a numeric type wants to customize evaluations
-of its greatest common divisors, then the type should specialize on the
+This function object class template is used in the corresponding version of
+the GCD function template. If a numeric type wants to customize evaluations
+of its greatest common divisors, then the type should specialize on the
gcd_evaluator class template.
[endsect]
[section LCM Function Object]
-[*Header: ] [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
+[*Header: ] [@../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
template < typename IntegerType >
class boost::math::lcm_evaluator
@@ -107,24 +90,24 @@ gcd_evaluator class template.
second_argument_type const &b ) const;
};
-The boost::math::lcm_evaluator class template defines a function object
-class to return the least common multiple of two integers. The template
-is parameterized by a single type, called IntegerType here. This type
-should be a numeric type that represents integers. The result of the
-function object is always nonnegative, even if either of the operator
-arguments is negative. If the least common multiple is beyond the range
+The boost::math::lcm_evaluator class template defines a function object
+class to return the least common multiple of two integers. The template
+is parameterized by a single type, called IntegerType here. This type
+should be a numeric type that represents integers. The result of the
+function object is always nonnegative, even if either of the operator
+arguments is negative. If the least common multiple is beyond the range
of the integer type, the results are undefined.
-This function object class template is used in the corresponding version
-of the LCM function template. If a numeric type wants to customize
-evaluations of its least common multiples, then the type should
+This function object class template is used in the corresponding version
+of the LCM function template. If a numeric type wants to customize
+evaluations of its least common multiples, then the type should
specialize on the lcm_evaluator class template.
[endsect]
[section:run_time Run-time GCD & LCM Determination]
-[*Header: ] [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
+[*Header: ] [@../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
template < typename IntegerType >
IntegerType boost::math::gcd( IntegerType const &a, IntegerType const &b );
@@ -132,20 +115,20 @@ specialize on the lcm_evaluator class template.
template < typename IntegerType >
IntegerType boost::math::lcm( IntegerType const &a, IntegerType const &b );
-The boost::math::gcd function template returns the greatest common
-(nonnegative) divisor of the two integers passed to it.
-The boost::math::lcm function template returns the least common
-(nonnegative) multiple of the two integers passed to it.
-The function templates are parameterized on the function arguments'
-IntegerType, which is also the return type. Internally, these function
-templates use an object of the corresponding version of the
+The boost::math::gcd function template returns the greatest common
+(nonnegative) divisor of the two integers passed to it.
+The boost::math::lcm function template returns the least common
+(nonnegative) multiple of the two integers passed to it.
+The function templates are parameterized on the function arguments'
+IntegerType, which is also the return type. Internally, these function
+templates use an object of the corresponding version of the
gcd_evaluator and lcm_evaluator class templates, respectively.
[endsect]
[section:compile_time Compile time GCD and LCM determination]
-[*Header: ] [@../../../../../boost/math/common_factor_ct.hpp <boost/math/common_factor_ct.hpp>]
+[*Header: ] [@../../../../boost/math/common_factor_ct.hpp <boost/math/common_factor_ct.hpp>]
typedef ``['unspecified]`` static_gcd_type;
@@ -158,19 +141,19 @@ gcd_evaluator and lcm_evaluator class templates, respectively.
struct boost::math::static_lcm : public mpl::integral_c<static_gcd_type, implementation_defined>
{
};
-
-The type `static_gcd_type` is the widest unsigned-integer-type that is supported
+
+The type `static_gcd_type` is the widest unsigned-integer-type that is supported
for use in integral-constant-expressions by the compiler. Usually this
the same type as `boost::uintmax_t`, but may fall back to being `unsigned long`
for some older compilers.
-The boost::math::static_gcd and boost::math::static_lcm class templates
-take two value-based template parameters of the ['static_gcd_type] type
-and inherit from the type `boost::mpl::integral_c`.
-Inherited from the base class, they have a member /value/
-that is the greatest common factor or least
-common multiple, respectively, of the template arguments.
-A compile-time error will occur if the least common multiple
+The boost::math::static_gcd and boost::math::static_lcm class templates
+take two value-based template parameters of the ['static_gcd_type] type
+and inherit from the type `boost::mpl::integral_c`.
+Inherited from the base class, they have a member /value/
+that is the greatest common factor or least
+common multiple, respectively, of the template arguments.
+A compile-time error will occur if the least common multiple
is beyond the range of `static_gcd_type`.
[h3 Example]
@@ -178,7 +161,7 @@ is beyond the range of `static_gcd_type`.
#include <boost/math/common_factor.hpp>
#include <algorithm>
#include <iterator>
-
+ #include <iostream>
int main()
{
@@ -203,53 +186,62 @@ is beyond the range of `static_gcd_type`.
[endsect]
-[section:header Header <boost/math/common_factor.hpp>]
+[section:gcd_header Header <boost/math/common_factor.hpp>]
+
+This header simply includes the headers
+[@../../../../boost/math/common_factor_ct.hpp <boost/math/common_factor_ct.hpp>]
+and [@../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>].
-This header simply includes the headers
-[@../../../../../boost/math/common_factor_ct.hpp <boost/math/common_factor_ct.hpp>]
-and [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>].
-
-Note this is a legacy header: it used to contain the actual implementation,
-but the compile-time and run-time facilities
+Note this is a legacy header: it used to contain the actual implementation,
+but the compile-time and run-time facilities
were moved to separate headers (since they were independent of each other).
[endsect]
[section:demo Demonstration Program]
-The program [@../../../../../libs/math/test/common_factor_test.cpp common_factor_test.cpp] is a demonstration of the results from
-instantiating various examples of the run-time GCD and LCM function
-templates and the compile-time GCD and LCM class templates.
-(The run-time GCD and LCM class templates are tested indirectly through
+The program [@../../../../libs/math/test/common_factor_test.cpp common_factor_test.cpp] is a demonstration of the results from
+instantiating various examples of the run-time GCD and LCM function
+templates and the compile-time GCD and LCM class templates.
+(The run-time GCD and LCM class templates are tested indirectly through
the run-time function templates.)
[endsect]
[section Rationale]
-The greatest common divisor and least common multiple functions are
-greatly used in some numeric contexts, including some of the other
-Boost libraries. Centralizing these functions to one header improves
+The greatest common divisor and least common multiple functions are
+greatly used in some numeric contexts, including some of the other
+Boost libraries. Centralizing these functions to one header improves
code factoring and eases maintainence.
[endsect]
-[section History]
+[section:gcd_history History]
+* 13 May 2013 Moved into main Boost.Math Quickbook documentation.
* 17 Dec 2005: Converted documentation to Quickbook Format.
-* 2 Jul 2002: Compile-time and run-time items separated to new headers.
-* 7 Nov 2001: Initial version
+* 2 Jul 2002: Compile-time and run-time items separated to new headers.
+* 7 Nov 2001: Initial version
[endsect]
-[section Credits]
+[section:gcd_credits Credits]
-The author of the Boost compilation of GCD and LCM computations is
-Daryle Walker. The code was prompted by existing code hiding in the
-implementations of Paul Moore's rational library and Steve Cleary's
+The author of the Boost compilation of GCD and LCM computations is
+Daryle Walker. The code was prompted by existing code hiding in the
+implementations of Paul Moore's rational library and Steve Cleary's
pool library. The code had updates by Helmut Zeisel.
[endsect]
-[endsect]
+[endmathpart]
+
+[/
+Copyright 2005, 2013 Daryle Walker.
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/graphs/Jamfile.v2 b/libs/math/doc/graphs/Jamfile.v2
new file mode 100644
index 0000000000..25da9f22c2
--- /dev/null
+++ b/libs/math/doc/graphs/Jamfile.v2
@@ -0,0 +1,53 @@
+# Copyright John Maddock 2008. Use, modification, and distribution are
+# subject to the Boost Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import os ;
+import common ;
+import modules ;
+import regex ;
+
+inkscape_global = [ modules.peek : INKSCAPE ] ;
+
+if $(inkscape_global)
+{
+ inkscape = $(inkscape_global) ;
+
+ ECHO "Using the INKSCAPE environment variable to set inkscape to: " $(inkscape) ;
+}
+else if [ os.name ] = NT
+{
+
+ inkscape_reg = [ W32_GETREG "HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\svgfile\\shell\\Inkscape\\command" ] ;
+ inkscape_parts = [ regex.split $(inkscape_reg) "\"%1" ] ;
+ inkscape = $(inkscape_parts[1]) ;
+
+ ECHO "Using the Windows registry to set the Inkscape path to: " $(inkscape) ;
+ ECHO "If that's not correct, try setting the INKSCAPE environment " ;
+ ECHO "variable to the correct path and executable file name." ;
+}
+else
+{
+ inkscape = "inkscape" ;
+ ECHO "No inkscape path specified, defaulting to \"inkscape\"." ;
+ ECHO "If that's not correct, try setting the INKSCAPE environment " ;
+ ECHO "variable to the correct path and executable file name." ;
+}
+
+#make inkscape.check : : @inkscape-rule ;
+actions inkscape-rule
+{
+ $(inkscape) --version > inkscape.version
+}
+
+
+actions svg2png
+{
+ $(inkscape) -d 120 -e $(<) $(>)
+}
+for local source in [ glob *.svg ]
+{
+ path-constant p : $(source:B).png ;
+ make $(p) : $(source) : @svg2png ;
+}
+
diff --git a/libs/math/doc/sf_and_dist/graphs/acosh.png b/libs/math/doc/graphs/acosh.png
index d648879434..d648879434 100644
--- a/libs/math/doc/sf_and_dist/graphs/acosh.png
+++ b/libs/math/doc/graphs/acosh.png
Binary files differ
diff --git a/libs/math/doc/graphs/acosh.svg b/libs/math/doc/graphs/acosh.svg
new file mode 100644
index 0000000000..d186aea3eb
--- /dev/null
+++ b/libs/math/doc/graphs/acosh.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,333.2 L84.2,333.2 M82.2,307.4 L84.2,307.4 M82.2,294.5 L84.2,294.5 M82.2,281.7 L84.2,281.7 M82.2,255.9 L84.2,255.9 M82.2,243.1 L84.2,243.1 M82.2,230.2 L84.2,230.2 M82.2,204.4 L84.2,204.4 M82.2,191.6 L84.2,191.6 M82.2,178.7 L84.2,178.7 M82.2,153 L84.2,153 M82.2,140.1 L84.2,140.1 M82.2,127.2 L84.2,127.2 M82.2,101.5 L84.2,101.5 M82.2,88.6 L84.2,88.6 M82.2,75.72 L84.2,75.72 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M97.54,341 L97.54,343 M110.9,341 L110.9,343 M124.2,341 L124.2,343 M150.9,341 L150.9,343 M164.2,341 L164.2,343 M177.6,341 L177.6,343 M204.2,341 L204.2,343 M217.6,341 L217.6,343 M230.9,341 L230.9,343 M257.6,341 L257.6,343 M270.9,341 L270.9,343 M284.3,341 L284.3,343 M311,341 L311,343 M324.3,341 L324.3,343 M337.6,341 L337.6,343 M364.3,341 L364.3,343 M377.7,341 L377.7,343 M391,341 L391,343 M417.7,341 L417.7,343 M431,341 L431,343 M444.3,341 L444.3,343 M471,341 L471,343 M484.4,341 L484.4,343 M497.7,341 L497.7,343 M524.4,341 L524.4,343 M537.7,341 L537.7,343 M551.1,341 L551.1,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,320.3 L84.2,320.3 M79.2,268.8 L84.2,268.8 M79.2,217.3 L84.2,217.3 M79.2,165.8 L84.2,165.8 M79.2,114.3 L84.2,114.3 M79.2,62.85 L84.2,62.85 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M137.6,341 L137.6,346 M190.9,341 L190.9,346 M244.3,341 L244.3,346 M297.6,341 L297.6,346 M351,341 L351,346 M404.3,341 L404.3,346 M457.7,341 L457.7,346 M511,341 L511,346 M564.4,341 L564.4,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="137.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="190.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="244.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="297.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="351" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
+<text x="404.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text>
+<text x="457.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">8</text>
+<text x="511" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">9</text>
+<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="322.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="271.2" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="219.7" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="168.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="116.7" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
+<text x="73.2" y="65.25" text-anchor="end" font-size="12" font-family="Verdana">3</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">acosh(z)</text></g>
+<g id="xLabel">
+<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,371.8 L86.6,341 L89,328.4 L91.4,318.9 L93.8,310.9 L96.2,303.9 L98.61,297.7 L101,292 L103.4,286.8 L105.8,282 L108.2,277.4 L110.6,273.1 L113,269.1 L115.4,265.2 L117.8,261.5 L120.2,258 L122.6,254.6 L125,251.4 L127.4,248.3 L129.8,245.2 L132.2,242.3 L134.6,239.5 L137,236.8 L139.4,234.1 L141.8,231.5 L144.2,229 L146.6,226.6 L149,224.2 L151.4,221.9 L153.8,219.6 L156.2,217.4 L158.6,215.3 L161,213.2 L163.4,211.1 L165.8,209.1 L168.2,207.1 L170.6,205.2 L173,203.3 L175.4,201.4 L177.8,199.6 L180.2,197.8 L182.6,196.1 L185,194.3 L187.4,192.7 L189.8,191 L192.2,189.4 L194.6,187.7 L197,186.2 L199.4,184.6 L201.8,183.1 L204.2,181.6 L206.6,180.1 L209.1,178.6 L211.5,177.2 L213.9,175.7 L216.3,174.3 L218.7,173 L221.1,171.6 L223.5,170.2 L225.9,168.9 L228.3,167.6 L230.7,166.3 L233.1,165 L235.5,163.8 L237.9,162.5 L240.3,161.3 L242.7,160.1 L245.1,158.9 L247.5,157.7 L249.9,156.5 L252.3,155.4 L254.7,154.2 L257.1,153.1 L259.5,152 L261.9,150.9 L264.3,149.8 L266.7,148.7 L269.1,147.6 L271.5,146.6 L273.9,145.5 L276.3,144.5 L278.7,143.5 L281.1,142.4 L283.5,141.4 L285.9,140.4 L288.3,139.5 L290.7,138.5 L293.1,137.5 L295.5,136.6 L297.9,135.6 L300.3,134.7 L302.7,133.7 L305.1,132.8 L307.5,131.9 L309.9,131 L312.3,130.1 L314.7,129.2 L317.1,128.3 L319.5,127.4 L321.9,126.6 L324.3,125.7 L326.7,124.9 L329.1,124 L331.5,123.2 L333.9,122.3 L336.3,121.5 L338.7,120.7 L341.1,119.9 L343.5,119.1 L345.9,118.3 L348.3,117.5 L350.7,116.7 L353.1,115.9 L355.5,115.1 L357.9,114.4 L360.3,113.6 L362.7,112.9 L365.1,112.1 L367.5,111.4 L369.9,110.6 L372.3,109.9 L374.7,109.2 L377.1,108.4 L379.5,107.7 L381.9,107 L384.3,106.3 L386.7,105.6 L389.1,104.9 L391.5,104.2 L393.9,103.5 L396.3,102.8 L398.7,102.1 L401.1,101.4 L403.5,100.8 L405.9,100.1 L408.3,99.44 L410.7,98.78 L413.1,98.13 L415.5,97.47 L417.9,96.83 L420.3,96.18 L422.7,95.55 L425.1,94.91 L427.5,94.28 L429.9,93.65 L432.3,93.03 L434.7,92.41 L437.1,91.79 L439.5,91.18 L441.9,90.57 L444.3,89.97 L446.7,89.37 L449.1,88.77 L451.5,88.18 L454,87.59 L456.4,87 L458.8,86.41 L461.2,85.83 L463.6,85.26 L466,84.68 L468.4,84.11 L470.8,83.54 L473.2,82.98 L475.6,82.42 L478,81.86 L480.4,81.3 L482.8,80.75 L485.2,80.2 L487.6,79.65 L490,79.11 L492.4,78.57 L494.8,78.03 L497.2,77.5 L499.6,76.97 L502,76.44 L504.4,75.91 L506.8,75.38 L509.2,74.86 L511.6,74.34 L514,73.83 L516.4,73.31 L518.8,72.8 L521.2,72.3 L523.6,71.79 L526,71.29 L528.4,70.78 L530.8,70.29 L533.2,69.79 L535.6,69.3 L538,68.8 L540.4,68.32 L542.8,67.83 L545.2,67.34 L547.6,66.86 L550,66.38 L552.4,65.9 L554.8,65.43 L557.2,64.96 L559.6,64.48 L562,64.02 L564.4,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">acosh</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/airy_ai.png b/libs/math/doc/graphs/airy_ai.png
new file mode 100644
index 0000000000..e7334d2783
--- /dev/null
+++ b/libs/math/doc/graphs/airy_ai.png
Binary files differ
diff --git a/libs/math/doc/graphs/airy_ai.svg b/libs/math/doc/graphs/airy_ai.svg
new file mode 100644
index 0000000000..e618cba038
--- /dev/null
+++ b/libs/math/doc/graphs/airy_ai.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="328.6" y1="58" x2="328.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="219.5" x2="574" y2="219.5"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,212.2 L92.6,212.2 M90.6,204.9 L92.6,204.9 M90.6,197.6 L92.6,197.6 M90.6,183.1 L92.6,183.1 M90.6,175.8 L92.6,175.8 M90.6,168.5 L92.6,168.5 M90.6,154 L92.6,154 M90.6,146.7 L92.6,146.7 M90.6,139.4 L92.6,139.4 M90.6,124.9 L92.6,124.9 M90.6,117.6 L92.6,117.6 M90.6,110.3 L92.6,110.3 M90.6,95.74 L92.6,95.74 M90.6,88.46 L92.6,88.46 M90.6,81.18 L92.6,81.18 M90.6,66.62 L92.6,66.62 M90.6,59.35 L92.6,59.35 M90.6,219.5 L92.6,219.5 M90.6,226.7 L92.6,226.7 M90.6,234 L92.6,234 M90.6,241.3 L92.6,241.3 M90.6,248.6 L92.6,248.6 M90.6,255.9 L92.6,255.9 M90.6,263.1 L92.6,263.1 M90.6,270.4 L92.6,270.4 M90.6,277.7 L92.6,277.7 M90.6,277.7 L92.6,277.7 M90.6,285 L92.6,285 M90.6,292.3 L92.6,292.3 M90.6,299.5 L92.6,299.5 M90.6,306.8 L92.6,306.8 M90.6,314.1 L92.6,314.1 M90.6,321.4 L92.6,321.4 M90.6,328.6 L92.6,328.6 M90.6,335.9 L92.6,335.9 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M358.1,341 L358.1,343 M387.6,341 L387.6,343 M417.1,341 L417.1,343 M476.1,341 L476.1,343 M505.6,341 L505.6,343 M535.1,341 L535.1,343 M299.1,341 L299.1,343 M269.6,341 L269.6,343 M240.1,341 L240.1,343 M181.1,341 L181.1,343 M151.6,341 L151.6,343 M122.1,341 L122.1,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,219.5 L92.6,219.5 M87.6,190.4 L92.6,190.4 M87.6,161.2 L92.6,161.2 M87.6,132.1 L92.6,132.1 M87.6,103 L92.6,103 M87.6,73.9 L92.6,73.9 M87.6,219.5 L92.6,219.5 M87.6,248.6 L92.6,248.6 M87.6,277.7 L92.6,277.7 M87.6,306.8 L92.6,306.8 M87.6,335.9 L92.6,335.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M328.6,341 L328.6,346 M446.6,341 L446.6,346 M564.6,341 L564.6,346 M328.6,341 L328.6,346 M210.6,341 L210.6,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="446.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="210.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="221.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="192.8" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="163.6" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="81.6" y="134.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="81.6" y="105.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="81.6" y="76.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="221.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="251" text-anchor="end" font-size="12" font-family="Verdana">-0.1</text>
+<text x="81.6" y="280.1" text-anchor="end" font-size="12" font-family="Verdana">-0.2</text>
+<text x="81.6" y="309.2" text-anchor="end" font-size="12" font-family="Verdana">-0.3</text>
+<text x="81.6" y="338.3" text-anchor="end" font-size="12" font-family="Verdana">-0.4</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">airy_ai(z)</text></g>
+<g id="xLabel">
+<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,270.8 L94.96,206.3 L97.32,151.5 L99.68,146.5 L102,194.6 L104.4,260.7 L106.8,297.5 L109.1,279.2 L111.5,219.1 L113.8,159.2 L116.2,140.5 L118.6,175.4 L120.9,239.9 L123.3,290.9 L125.6,295.1 L128,250.1 L130.4,185.4 L132.7,142.2 L135.1,147.6 L137.4,197.6 L139.8,261.1 L142.2,299.5 L144.5,289.9 L146.9,238.6 L149.2,176 L151.6,138.5 L154,147.2 L156.3,196.6 L158.7,258.9 L161,299.6 L163.4,296.9 L165.8,252.8 L168.1,191.1 L170.5,144 L172.8,135.6 L175.2,169.5 L177.6,228.4 L179.9,283 L182.3,306.9 L184.6,289.2 L187,238.8 L189.4,179.4 L191.7,138.1 L194.1,133.1 L196.4,166 L198.8,222 L201.2,277 L203.5,308.1 L205.9,303 L208.2,264.2 L210.6,207.8 L212.9,155.7 L215.3,127.9 L217.7,134 L220,171.4 L222.4,225.9 L224.7,278.3 L227.1,310.6 L229.5,312.5 L231.8,284 L234.2,234.8 L236.5,180.8 L238.9,138.5 L241.3,120.1 L243.6,130.4 L246,165.8 L248.3,215.9 L250.7,267.1 L253.1,306 L255.4,323.2 L257.8,315.3 L260.1,284.8 L262.5,239.4 L264.9,189.5 L267.2,145.9 L269.6,117.4 L271.9,108.8 L274.3,121.2 L276.7,151.4 L279,193.5 L281.4,239.9 L283.7,283.2 L286.1,316.9 L288.5,336.9 L290.8,341 L293.2,329.8 L295.5,305.4 L297.9,271.4 L300.3,232.1 L302.6,191.5 L305,153.3 L307.3,120.3 L309.7,94.32 L312.1,76.32 L314.4,66.28 L316.8,63.55 L319.1,67.04 L321.5,75.4 L323.9,87.23 L326.2,101.2 L328.6,116.1 L330.9,131.1 L333.3,145.3 L335.7,158.4 L338,170 L340.4,180.1 L342.7,188.6 L345.1,195.6 L347.5,201.3 L349.8,205.8 L352.2,209.3 L354.5,212 L356.9,214.1 L359.3,215.6 L361.6,216.7 L364,217.5 L366.3,218.1 L368.7,218.6 L371.1,218.8 L373.4,219.1 L375.8,219.2 L378.1,219.3 L380.5,219.3 L382.9,219.4 L385.2,219.4 L387.6,219.4 L389.9,219.4 L392.3,219.5 L394.7,219.5 L397,219.5 L399.4,219.5 L401.7,219.5 L404.1,219.5 L406.5,219.5 L408.8,219.5 L411.2,219.5 L413.5,219.5 L415.9,219.5 L418.3,219.5 L420.6,219.5 L423,219.5 L425.3,219.5 L427.7,219.5 L430.1,219.5 L432.4,219.5 L434.8,219.5 L437.1,219.5 L439.5,219.5 L441.9,219.5 L444.2,219.5 L446.6,219.5 L448.9,219.5 L451.3,219.5 L453.6,219.5 L456,219.5 L458.4,219.5 L460.7,219.5 L463.1,219.5 L465.4,219.5 L467.8,219.5 L470.2,219.5 L472.5,219.5 L474.9,219.5 L477.2,219.5 L479.6,219.5 L482,219.5 L484.3,219.5 L486.7,219.5 L489,219.5 L491.4,219.5 L493.8,219.5 L496.1,219.5 L498.5,219.5 L500.8,219.5 L503.2,219.5 L505.6,219.5 L507.9,219.5 L510.3,219.5 L512.6,219.5 L515,219.5 L517.4,219.5 L519.7,219.5 L522.1,219.5 L524.4,219.5 L526.8,219.5 L529.2,219.5 L531.5,219.5 L533.9,219.5 L536.2,219.5 L538.6,219.5 L541,219.5 L543.3,219.5 L545.7,219.5 L548,219.5 L550.4,219.5 L552.8,219.5 L555.1,219.5 L557.5,219.5 L559.8,219.5 L562.2,219.5 L564.6,219.5 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Ai</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/airy_aip.png b/libs/math/doc/graphs/airy_aip.png
new file mode 100644
index 0000000000..a7e6eb3e87
--- /dev/null
+++ b/libs/math/doc/graphs/airy_aip.png
Binary files differ
diff --git a/libs/math/doc/graphs/airy_aip.svg b/libs/math/doc/graphs/airy_aip.svg
new file mode 100644
index 0000000000..711358c89f
--- /dev/null
+++ b/libs/math/doc/graphs/airy_aip.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="328.6" y1="58" x2="328.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="205.6" x2="574" y2="205.6"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,190.4 L92.6,190.4 M90.6,175.3 L92.6,175.3 M90.6,160.2 L92.6,160.2 M90.6,129.9 L92.6,129.9 M90.6,114.8 L92.6,114.8 M90.6,99.68 L92.6,99.68 M90.6,69.43 L92.6,69.43 M90.6,205.6 L92.6,205.6 M90.6,220.7 L92.6,220.7 M90.6,235.8 L92.6,235.8 M90.6,251 L92.6,251 M90.6,266.1 L92.6,266.1 M90.6,281.2 L92.6,281.2 M90.6,296.3 L92.6,296.3 M90.6,311.5 L92.6,311.5 M90.6,326.6 L92.6,326.6 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M358.1,341 L358.1,343 M387.6,341 L387.6,343 M417.1,341 L417.1,343 M476.1,341 L476.1,343 M505.6,341 L505.6,343 M535.1,341 L535.1,343 M299.1,341 L299.1,343 M269.6,341 L269.6,343 M240.1,341 L240.1,343 M181.1,341 L181.1,343 M151.6,341 L151.6,343 M122.1,341 L122.1,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,205.6 L92.6,205.6 M87.6,145.1 L92.6,145.1 M87.6,84.56 L92.6,84.56 M87.6,205.6 L92.6,205.6 M87.6,266.1 L92.6,266.1 M87.6,326.6 L92.6,326.6 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M328.6,341 L328.6,346 M446.6,341 L446.6,346 M564.6,341 L564.6,346 M328.6,341 L328.6,346 M210.6,341 L210.6,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="446.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="210.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="208" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="147.5" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="86.96" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="208" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="268.5" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text>
+<text x="81.6" y="329" text-anchor="end" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">airy_ai_prime(z)</text></g>
+<g id="xLabel">
+<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,97.52 L94.96,63.55 L97.32,134.7 L99.68,257 L102,341 L104.4,327.2 L106.8,227.2 L109.1,112.9 L111.5,64.16 L113.8,113.3 L116.2,224.8 L118.6,322.3 L120.9,340.9 L123.3,270 L125.6,157.7 L128,77.46 L130.4,79.93 L132.7,161.8 L135.1,270.1 L137.4,337.4 L139.8,323.5 L142.2,238.6 L144.5,135 L146.9,74.08 L149.2,90.35 L151.6,172.6 L154,272.6 L156.3,333.8 L158.7,323.4 L161,248.9 L163.4,152 L165.8,84.73 L168.1,81.66 L170.5,142.6 L172.8,234.8 L175.2,311 L177.6,334.1 L179.9,294.2 L182.3,212.4 L184.6,128.6 L187,81.76 L189.4,92.31 L191.7,153.7 L194.1,237.1 L196.4,305.4 L198.8,329.9 L201.2,301.7 L203.5,234.3 L205.9,156.4 L208.2,99.44 L210.6,85.01 L212.9,117 L215.3,181.7 L217.7,254 L220,307.3 L222.4,323.6 L224.7,298.8 L227.1,243 L229.5,176 L231.8,120.1 L234.2,92.36 L236.5,100.1 L238.9,139.4 L241.3,197.1 L243.6,255.7 L246,298.9 L248.3,315.7 L250.7,303.2 L253.1,266.3 L255.4,215.4 L257.8,163.7 L260.1,123.4 L262.5,102.7 L264.9,105 L267.2,128.1 L269.6,166 L271.9,210 L274.3,251.5 L276.7,283.1 L279,300.2 L281.4,301.3 L283.7,287.5 L286.1,262.4 L288.5,230.8 L290.8,197.7 L293.2,167.5 L295.5,143.6 L297.9,127.9 L300.3,121.1 L302.6,122.5 L305,130.8 L307.3,143.9 L309.7,159.8 L312.1,176.6 L314.4,192.6 L316.8,206.8 L319.1,218.4 L321.5,227 L323.9,232.8 L326.2,236 L328.6,236.9 L330.9,236.1 L333.3,234.1 L335.7,231.3 L338,228.1 L340.4,224.8 L342.7,221.6 L345.1,218.7 L347.5,216.1 L349.8,213.9 L352.2,212 L354.5,210.5 L356.9,209.3 L359.3,208.3 L361.6,207.6 L364,207 L366.3,206.6 L368.7,206.3 L371.1,206.1 L373.4,205.9 L375.8,205.8 L378.1,205.7 L380.5,205.7 L382.9,205.6 L385.2,205.6 L387.6,205.6 L389.9,205.6 L392.3,205.6 L394.7,205.6 L397,205.6 L399.4,205.6 L401.7,205.6 L404.1,205.6 L406.5,205.6 L408.8,205.6 L411.2,205.6 L413.5,205.6 L415.9,205.6 L418.3,205.6 L420.6,205.6 L423,205.6 L425.3,205.6 L427.7,205.6 L430.1,205.6 L432.4,205.6 L434.8,205.6 L437.1,205.6 L439.5,205.6 L441.9,205.6 L444.2,205.6 L446.6,205.6 L448.9,205.6 L451.3,205.6 L453.6,205.6 L456,205.6 L458.4,205.6 L460.7,205.6 L463.1,205.6 L465.4,205.6 L467.8,205.6 L470.2,205.6 L472.5,205.6 L474.9,205.6 L477.2,205.6 L479.6,205.6 L482,205.6 L484.3,205.6 L486.7,205.6 L489,205.6 L491.4,205.6 L493.8,205.6 L496.1,205.6 L498.5,205.6 L500.8,205.6 L503.2,205.6 L505.6,205.6 L507.9,205.6 L510.3,205.6 L512.6,205.6 L515,205.6 L517.4,205.6 L519.7,205.6 L522.1,205.6 L524.4,205.6 L526.8,205.6 L529.2,205.6 L531.5,205.6 L533.9,205.6 L536.2,205.6 L538.6,205.6 L541,205.6 L543.3,205.6 L545.7,205.6 L548,205.6 L550.4,205.6 L552.8,205.6 L555.1,205.6 L557.5,205.6 L559.8,205.6 L562.2,205.6 L564.6,205.6 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Ai'</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/airy_bi.png b/libs/math/doc/graphs/airy_bi.png
new file mode 100644
index 0000000000..969774c15f
--- /dev/null
+++ b/libs/math/doc/graphs/airy_bi.png
Binary files differ
diff --git a/libs/math/doc/graphs/airy_bi.svg b/libs/math/doc/graphs/airy_bi.svg
new file mode 100644
index 0000000000..73f07d4e5d
--- /dev/null
+++ b/libs/math/doc/graphs/airy_bi.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="500.5" y1="58" x2="500.5" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="332.3" x2="574" y2="332.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,308.4 L75.8,308.4 M73.8,284.4 L75.8,284.4 M73.8,260.5 L75.8,260.5 M73.8,212.6 L75.8,212.6 M73.8,188.7 L75.8,188.7 M73.8,164.8 L75.8,164.8 M73.8,116.9 L75.8,116.9 M73.8,92.98 L75.8,92.98 M73.8,69.05 L75.8,69.05 M73.8,332.3 L75.8,332.3 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M527.1,341 L527.1,343 M553.6,341 L553.6,343 M474,341 L474,343 M447.4,341 L447.4,343 M420.9,341 L420.9,343 M367.8,341 L367.8,343 M341.3,341 L341.3,343 M314.7,341 L314.7,343 M261.6,341 L261.6,343 M235.1,341 L235.1,343 M208.5,341 L208.5,343 M155.4,341 L155.4,343 M128.9,341 L128.9,343 M102.3,341 L102.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,332.3 L75.8,332.3 M70.8,236.6 L75.8,236.6 M70.8,140.8 L75.8,140.8 M70.8,332.3 L75.8,332.3 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M500.5,341 L500.5,346 M500.5,341 L500.5,346 M394.3,341 L394.3,346 M288.2,341 L288.2,346 M182,341 L182,346 M75.8,341 L75.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="500.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="500.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="394.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="288.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
+<text x="182" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-15</text>
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="334.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="239" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="143.2" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="334.7" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">airy_bi(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,336.1 L78.24,337.3 L80.68,337.2 L83.13,335.8 L85.57,333.6 L88.01,331 L90.45,328.7 L92.9,327.4 L95.34,327.2 L97.78,328.3 L100.2,330.4 L102.7,333 L105.1,335.4 L107.5,337 L110,337.5 L112.4,336.8 L114.9,335 L117.3,332.6 L119.8,330.1 L122.2,328.1 L124.6,327.1 L127.1,327.3 L129.5,328.6 L132,330.8 L134.4,333.3 L136.9,335.6 L139.3,337.1 L141.7,337.6 L144.2,336.9 L146.6,335.2 L149.1,332.9 L151.5,330.4 L153.9,328.4 L156.4,327.1 L158.8,327 L161.3,327.9 L163.7,329.8 L166.2,332.2 L168.6,334.6 L171,336.5 L173.5,337.6 L175.9,337.6 L178.4,336.6 L180.8,334.7 L183.3,332.4 L185.7,330 L188.1,328.1 L190.6,326.9 L193,326.8 L195.5,327.8 L197.9,329.5 L200.3,331.8 L202.8,334.2 L205.2,336.2 L207.7,337.5 L210.1,337.9 L212.6,337.3 L215,335.8 L217.4,333.6 L219.9,331.3 L222.3,329.1 L224.8,327.5 L227.2,326.7 L229.7,326.8 L232.1,327.8 L234.5,329.6 L237,331.8 L239.4,334.1 L241.9,336.1 L244.3,337.5 L246.8,338.1 L249.2,337.8 L251.6,336.6 L254.1,334.8 L256.5,332.5 L259,330.3 L261.4,328.4 L263.8,327 L266.3,326.4 L268.7,326.6 L271.2,327.7 L273.6,329.4 L276.1,331.5 L278.5,333.7 L280.9,335.8 L283.4,337.3 L285.8,338.2 L288.3,338.3 L290.7,337.6 L293.2,336.2 L295.6,334.4 L298,332.2 L300.5,330.1 L302.9,328.2 L305.4,326.9 L307.8,326.1 L310.2,326.2 L312.7,326.9 L315.1,328.2 L317.6,330.1 L320,332.1 L322.5,334.2 L324.9,336.1 L327.3,337.6 L329.8,338.5 L332.2,338.7 L334.7,338.3 L337.1,337.3 L339.6,335.7 L342,333.8 L344.4,331.8 L346.9,329.8 L349.3,328.1 L351.8,326.7 L354.2,325.9 L356.6,325.6 L359.1,325.9 L361.5,326.8 L364,328.2 L366.4,329.9 L368.9,331.8 L371.3,333.7 L373.7,335.6 L376.2,337.1 L378.6,338.3 L381.1,339.1 L383.5,339.3 L386,339.1 L388.4,338.3 L390.8,337.2 L393.3,335.7 L395.7,333.9 L398.2,332.1 L400.6,330.3 L403,328.6 L405.5,327.1 L407.9,326 L410.4,325.2 L412.8,324.7 L415.3,324.8 L417.7,325.2 L420.1,325.9 L422.6,327 L425,328.3 L427.5,329.9 L429.9,331.5 L432.4,333.2 L434.8,334.8 L437.2,336.3 L439.7,337.7 L442.1,338.9 L444.6,339.8 L447,340.5 L449.4,340.9 L451.9,341 L454.3,340.9 L456.8,340.5 L459.2,339.9 L461.7,339.1 L464.1,338.1 L466.5,337 L469,335.8 L471.4,334.5 L473.9,333.2 L476.3,331.9 L478.8,330.6 L481.2,329.3 L483.6,328 L486.1,326.8 L488.5,325.6 L491,324.5 L493.4,323.5 L495.9,322.4 L498.3,321.4 L500.7,320.4 L503.2,319.4 L505.6,318.4 L508.1,317.4 L510.5,316.2 L512.9,315 L515.4,313.7 L517.8,312.1 L520.3,310.4 L522.7,308.3 L525.2,306 L527.6,303.2 L530,300 L532.5,296.1 L534.9,291.6 L537.4,286.1 L539.8,279.6 L542.3,271.8 L544.7,262.4 L547.1,251.1 L549.6,237.5 L552,220.9 L554.5,200.7 L556.9,176.1 L559.3,146 L561.8,109.1 L564.2,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bi</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/airy_bip.png b/libs/math/doc/graphs/airy_bip.png
new file mode 100644
index 0000000000..3c029e5825
--- /dev/null
+++ b/libs/math/doc/graphs/airy_bip.png
Binary files differ
diff --git a/libs/math/doc/graphs/airy_bip.svg b/libs/math/doc/graphs/airy_bip.svg
new file mode 100644
index 0000000000..cea96e6174
--- /dev/null
+++ b/libs/math/doc/graphs/airy_bip.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="500.5" y1="58" x2="500.5" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="327.6" x2="574" y2="327.6"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,313.2 L75.8,313.2 M73.8,298.8 L75.8,298.8 M73.8,284.4 L75.8,284.4 M73.8,255.6 L75.8,255.6 M73.8,241.2 L75.8,241.2 M73.8,226.8 L75.8,226.8 M73.8,198 L75.8,198 M73.8,183.6 L75.8,183.6 M73.8,169.2 L75.8,169.2 M73.8,140.4 L75.8,140.4 M73.8,126 L75.8,126 M73.8,111.6 L75.8,111.6 M73.8,82.81 L75.8,82.81 M73.8,68.41 L75.8,68.41 M73.8,327.6 L75.8,327.6 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M527.1,341 L527.1,343 M553.6,341 L553.6,343 M474,341 L474,343 M447.4,341 L447.4,343 M420.9,341 L420.9,343 M367.8,341 L367.8,343 M341.3,341 L341.3,343 M314.7,341 L314.7,343 M261.6,341 L261.6,343 M235.1,341 L235.1,343 M208.5,341 L208.5,343 M155.4,341 L155.4,343 M128.9,341 L128.9,343 M102.3,341 L102.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,327.6 L75.8,327.6 M70.8,270 L75.8,270 M70.8,212.4 L75.8,212.4 M70.8,154.8 L75.8,154.8 M70.8,97.21 L75.8,97.21 M70.8,327.6 L75.8,327.6 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M500.5,341 L500.5,346 M500.5,341 L500.5,346 M394.3,341 L394.3,346 M288.2,341 L288.2,346 M182,341 L182,346 M75.8,341 L75.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="500.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="500.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="394.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="288.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
+<text x="182" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-15</text>
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="330" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="272.4" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="157.2" text-anchor="end" font-size="12" font-family="Verdana">15</text>
+<text x="64.8" y="99.61" text-anchor="end" font-size="12" font-family="Verdana">20</text>
+<text x="64.8" y="330" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">airy_bi_prime(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,336.7 L78.24,330.5 L80.68,323.5 L83.13,317.7 L85.57,314.4 L88.01,314.4 L90.45,317.7 L92.9,323.5 L95.34,330.3 L97.78,336.3 L100.2,340.2 L102.7,341 L105.1,338.5 L107.5,333.4 L110,327 L112.4,320.7 L114.9,316.1 L117.3,314.2 L119.8,315.5 L122.2,319.5 L124.6,325.4 L127.1,331.7 L129.5,337.1 L132,340.3 L134.4,340.6 L136.9,338 L139.3,333.1 L141.7,327.1 L144.2,321.1 L146.6,316.7 L149.1,314.6 L151.5,315.3 L153.9,318.6 L156.4,323.8 L158.8,329.8 L161.3,335.2 L163.7,339.1 L166.2,340.5 L168.6,339.3 L171,335.8 L173.5,330.6 L175.9,324.9 L178.4,319.7 L180.8,316.1 L183.3,314.8 L185.7,316 L188.1,319.4 L190.6,324.3 L193,329.8 L195.5,334.9 L197.9,338.5 L200.3,340.1 L202.8,339.4 L205.2,336.6 L207.7,332.1 L210.1,326.9 L212.6,321.8 L215,317.8 L217.4,315.6 L219.9,315.4 L222.3,317.3 L224.8,321 L227.2,325.7 L229.7,330.7 L232.1,335.2 L234.5,338.4 L237,339.7 L239.4,339.2 L241.9,336.7 L244.3,332.9 L246.8,328.2 L249.2,323.5 L251.6,319.5 L254.1,316.7 L256.5,315.6 L259,316.3 L261.4,318.7 L263.8,322.3 L266.3,326.7 L268.7,331.1 L271.2,335 L273.6,337.8 L276.1,339.2 L278.5,339 L280.9,337.2 L283.4,334.1 L285.8,330.2 L288.3,326 L290.7,322.1 L293.2,318.9 L295.6,316.8 L298,316.2 L300.5,316.9 L302.9,319 L305.4,322 L307.8,325.7 L310.2,329.6 L312.7,333.2 L315.1,336.1 L317.6,338 L320,338.7 L322.5,338.2 L324.9,336.5 L327.3,333.9 L329.8,330.6 L332.2,327.1 L334.7,323.7 L337.1,320.7 L339.6,318.5 L342,317.2 L344.4,316.9 L346.9,317.7 L349.3,319.3 L351.8,321.7 L354.2,324.6 L356.6,327.8 L359.1,330.8 L361.5,333.5 L364,335.7 L366.4,337.2 L368.9,337.8 L371.3,337.6 L373.7,336.6 L376.2,335 L378.6,332.8 L381.1,330.2 L383.5,327.5 L386,324.9 L388.4,322.5 L390.8,320.5 L393.3,319.1 L395.7,318.2 L398.2,318 L400.6,318.3 L403,319.2 L405.5,320.6 L407.9,322.4 L410.4,324.4 L412.8,326.5 L415.3,328.7 L417.7,330.7 L420.1,332.5 L422.6,334 L425,335.2 L427.5,335.9 L429.9,336.3 L432.4,336.3 L434.8,335.9 L437.2,335.2 L439.7,334.3 L442.1,333.1 L444.6,331.8 L447,330.4 L449.4,328.9 L451.9,327.5 L454.3,326.2 L456.8,325 L459.2,323.9 L461.7,322.9 L464.1,322.2 L466.5,321.6 L469,321.1 L471.4,320.8 L473.9,320.7 L476.3,320.7 L478.8,320.7 L481.2,320.9 L483.6,321.1 L486.1,321.4 L488.5,321.6 L491,321.9 L493.4,322.1 L495.9,322.3 L498.3,322.4 L500.7,322.4 L503.2,322.4 L505.6,322.2 L508.1,321.9 L510.5,321.5 L512.9,320.9 L515.4,320.1 L517.8,319 L520.3,317.8 L522.7,316.2 L525.2,314.3 L527.6,312 L530,309.1 L532.5,305.7 L534.9,301.5 L537.4,296.5 L539.8,290.4 L542.3,282.9 L544.7,273.8 L547.1,262.7 L549.6,249 L552,232.1 L554.5,211.3 L556.9,185.5 L559.3,153.5 L561.8,113.5 L564.2,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bi'</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/airy_zeros.png b/libs/math/doc/graphs/airy_zeros.png
new file mode 100644
index 0000000000..4fa17c5982
--- /dev/null
+++ b/libs/math/doc/graphs/airy_zeros.png
Binary files differ
diff --git a/libs/math/doc/graphs/airy_zeros.svg b/libs/math/doc/graphs/airy_zeros.svg
new file mode 100644
index 0000000000..625a917a4a
--- /dev/null
+++ b/libs/math/doc/graphs/airy_zeros.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="500" height ="300" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright Paul A. Bristow 2013 -->
+<meta name="copyright" content="Paul A. Bristow" />
+<meta name="date" content="2013" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="242.7" height="181"/></clipPath>
+<g id="imageBackground" stroke="rgb(255,255,0)" fill="rgb(248,248,255)" stroke-width="2"><rect x="0" y="0" width="500" height="300"/></g>
+<g id="plotBackground" stroke="rgb(0,128,0)" fill="rgb(255,255,255)" stroke-width="1"><rect x="92.6" y="58" width="244.7" height="183"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="296.5" y1="58" x2="296.5" y2="246"/><line x1="92.6" y1="58" x2="92.6" y2="241"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="180" x2="337.3" y2="180"/><line x1="87.6" y1="241" x2="337.3" y2="241"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,175.1 L92.6,175.1 M90.6,170.2 L92.6,170.2 M90.6,165.4 L92.6,165.4 M90.6,160.5 L92.6,160.5 M90.6,150.7 L92.6,150.7 M90.6,145.8 L92.6,145.8 M90.6,141 L92.6,141 M90.6,136.1 L92.6,136.1 M90.6,126.3 L92.6,126.3 M90.6,121.4 L92.6,121.4 M90.6,116.6 L92.6,116.6 M90.6,111.7 L92.6,111.7 M90.6,101.9 L92.6,101.9 M90.6,97.04 L92.6,97.04 M90.6,92.16 L92.6,92.16 M90.6,87.28 L92.6,87.28 M90.6,77.52 L92.6,77.52 M90.6,72.64 L92.6,72.64 M90.6,67.76 L92.6,67.76 M90.6,62.88 L92.6,62.88 M90.6,180 L92.6,180 M90.6,184.9 L92.6,184.9 M90.6,189.8 L92.6,189.8 M90.6,194.6 L92.6,194.6 M90.6,199.5 L92.6,199.5 M90.6,204.4 L92.6,204.4 M90.6,209.3 L92.6,209.3 M90.6,214.2 L92.6,214.2 M90.6,219 L92.6,219 M90.6,223.9 L92.6,223.9 M90.6,228.8 L92.6,228.8 M90.6,228.8 L92.6,228.8 M90.6,233.7 L92.6,233.7 M90.6,238.6 L92.6,238.6 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M316.9,241 L316.9,243 M337.3,241 L337.3,243 M276.1,241 L276.1,243 M255.7,241 L255.7,243 M235.3,241 L235.3,243 M214.9,241 L214.9,243 M174.2,241 L174.2,243 M153.8,241 L153.8,243 M133.4,241 L133.4,243 M113,241 L113,243 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,180 L92.6,180 M87.6,155.6 L92.6,155.6 M87.6,131.2 L92.6,131.2 M87.6,106.8 L92.6,106.8 M87.6,82.4 L92.6,82.4 M87.6,58 L92.6,58 M87.6,180 L92.6,180 M87.6,204.4 L92.6,204.4 M87.6,228.8 L92.6,228.8 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M296.5,241 L296.5,246 M296.5,241 L296.5,246 M194.6,241 L194.6,246 M92.6,241 L92.6,246 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="296.5" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
+<text x="296.5" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
+<text x="194.6" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">-5</text>
+<text x="92.6" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">-10</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="182.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.0</text>
+<text x="81.6" y="158" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.2</text>
+<text x="81.6" y="133.6" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.4</text>
+<text x="81.6" y="109.2" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.6</text>
+<text x="81.6" y="84.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.8</text>
+<text x="81.6" y="60.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">1.0</text>
+<text x="81.6" y="182.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.0</text>
+<text x="81.6" y="206.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-0.2</text>
+<text x="81.6" y="231.2" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-0.4</text></g>
+<g id="yLabel">
+<text x="42.9" y="149.5" text-anchor="middle" transform = "rotate(-90 42.9 149.5 )" font-size="14" font-family="Lucida Sans Unicode">Ai(x), Bi(x)</text></g>
+<g id="xLabel">
+<text x="214.9" y="276.7" text-anchor="middle" font-size="14" font-family="Lucida Sans Unicode">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(255,0,0)"><path d="M94.64,163.4 S96.27,155.1 96.68,153.3 S98.31,147 98.72,145.8 S100.3,142.1 100.8,141.6 S102.4,140.8 102.8,141.1 S104.4,143.2 104.8,144.2 S106.5,149.1 106.9,150.7 S108.5,157.8 108.9,159.8 S110.5,168.6 111,170.9 S112.6,180.4 113,182.7 S114.6,192.1 115,194.3 S116.7,202.8 117.1,204.7 S118.7,211.5 119.1,212.8 S120.7,217.5 121.1,218.2 S122.8,220.2 123.2,220.3 S124.8,219.6 125.2,219 S126.9,215.6 127.3,214.4 S128.9,208.7 129.3,207 S130.9,199.5 131.3,197.4 S133,188.7 133.4,186.4 S135,177.2 135.4,174.9 S137.1,165.9 137.5,163.8 S139.1,155.7 139.5,153.9 S141.1,147.4 141.5,146.1 S143.2,141.5 143.6,140.7 S145.2,138.5 145.6,138.4 S147.2,138.6 147.7,139 S149.3,141.7 149.7,142.7 S151.3,147.5 151.7,149 S153.4,155.7 153.8,157.5 S155.4,165.5 155.8,167.6 S157.4,176.3 157.8,178.5 S159.5,187.4 159.9,189.6 S161.5,198 161.9,200 S163.6,207.4 164,209 S165.6,215 166,216.3 S167.6,220.4 168,221.2 S169.7,223.3 170.1,223.5 S171.7,223.5 172.1,223.1 S173.8,221 174.2,220.2 S175.8,216.1 176.2,214.8 S177.8,209 178.2,207.4 S179.9,200.3 180.3,198.4 S181.9,190.4 182.3,188.3 S183.9,179.9 184.4,177.8 S186,169.5 186.4,167.4 S188,159.6 188.4,157.7 S190.1,150.7 190.5,149.2 S192.1,143.4 192.5,142.2 S194.1,138 194.5,137.2 S196.2,134.7 196.6,134.3 S198.2,133.5 198.6,133.6 S200.3,134.7 200.7,135.2 S202.3,137.9 202.7,138.8 S204.3,143.1 204.7,144.4 S206.4,149.9 206.8,151.5 S208.4,158.1 208.8,159.9 S210.5,167.2 210.9,169.1 S212.5,176.9 212.9,178.8 S214.5,186.7 214.9,188.6 S216.6,196.2 217,198 S218.6,205.1 219,206.7 S220.6,213 221.1,214.4 S222.7,219.7 223.1,220.8 S224.7,225 225.1,225.8 S226.8,228.7 227.2,229.2 S228.8,230.7 229.2,230.9 S230.8,231.1 231.3,230.9 S232.9,229.8 233.3,229.3 S234.9,227 235.3,226.2 S237,222.7 237.4,221.7 S239,217.2 239.4,216 S241,210.7 241.4,209.3 S243.1,203.3 243.5,201.8 S245.1,195.4 245.5,193.7 S247.2,187 247.6,185.3 S249.2,178.4 249.6,176.7 S251.2,169.9 251.6,168.3 S253.3,161.7 253.7,160.1 S255.3,153.8 255.7,152.3 S257.4,146.4 257.8,145 S259.4,139.7 259.8,138.4 S261.4,133.7 261.8,132.6 S263.5,128.5 263.9,127.6 S265.5,124.1 265.9,123.4 S267.5,120.6 268,120 S269.6,117.9 270,117.5 S271.6,116.1 272,115.8 S273.7,115 274.1,114.9 S275.7,114.6 276.1,114.7 S277.7,115 278.1,115.1 S279.8,115.9 280.2,116.1 S281.8,117.3 282.2,117.7 S283.9,119.2 284.3,119.6 S285.9,121.5 286.3,122 S287.9,124 288.3,124.6 S290,126.8 290.4,127.4 S292,129.8 292.4,130.4 S294.1,132.9 294.5,133.5 S296.1,136.1 296.5,136.7 S298.1,139.2 298.5,139.8 S300.2,142.3 300.6,142.9 S302.2,145.4 302.6,146 S304.2,148.3 304.7,148.9 S306.3,151.2 306.7,151.7 S308.3,153.9 308.7,154.4 S310.4,156.4 310.8,156.9 S312.4,158.8 312.8,159.3 S314.4,161 314.9,161.5 S316.5,163.1 316.9,163.5 S318.5,165 318.9,165.4 S320.6,166.7 321,167.1 S322.6,168.3 323,168.6 S324.6,169.7 325,170 S326.7,171 327.1,171.2 S328.7,172.2 329.1,172.4 S330.8,173.2 331.2,173.4 S332.8,174.1 333.2,174.3 S334.8,174.9 335.2,175 S336.9,175.6 337.3,175.7 S339.3,176.4 339.3,176.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,255)"><path d="M94.64,215.1 S96.27,209.9 96.68,208.3 S98.31,200.8 98.72,198.8 S100.3,189.8 100.8,187.4 S102.4,177.8 102.8,175.4 S104.4,166 104.8,163.8 S106.5,155.5 106.9,153.7 S108.5,147.2 108.9,146 S110.5,142 111,141.4 S112.6,140.2 113,140.4 S114.6,142 115,142.8 S116.7,147.1 117.1,148.6 S118.7,155.1 119.1,157 S120.7,165.3 121.1,167.5 S122.8,176.7 123.2,179.1 S124.8,188.4 125.2,190.7 S126.9,199.4 127.3,201.4 S128.9,208.8 129.3,210.4 S130.9,215.9 131.3,216.9 S133,220 133.4,220.4 S135,221 135.4,220.7 S137.1,218.7 137.5,217.9 S139.1,213.5 139.5,212 S141.1,205.6 141.5,203.8 S143.2,195.8 143.6,193.7 S145.2,184.9 145.6,182.6 S147.2,173.5 147.7,171.4 S149.3,162.7 149.7,160.7 S151.3,153.1 151.7,151.4 S153.4,145.4 153.8,144.2 S155.4,140.1 155.8,139.4 S157.4,137.5 157.8,137.4 S159.5,137.9 159.9,138.3 S161.5,141 161.9,142 S163.6,146.7 164,148.2 S165.6,154.6 166,156.4 S167.6,164.1 168,166.1 S169.7,174.6 170.1,176.7 S171.7,185.4 172.1,187.5 S173.8,195.9 174.2,197.9 S175.8,205.5 176.2,207.2 S177.8,213.5 178.2,214.9 S179.9,219.7 180.3,220.6 S181.9,223.5 182.3,223.9 S183.9,224.9 184.4,224.9 S186,223.9 186.4,223.3 S188,220.5 188.4,219.5 S190.1,214.9 190.5,213.6 S192.1,207.5 192.5,205.9 S194.1,198.8 194.5,196.9 S196.2,189 196.6,187 S198.2,178.9 198.6,176.9 S200.3,168.8 200.7,166.8 S202.3,159.2 202.7,157.4 S204.3,150.6 204.7,149 S206.4,143.3 206.8,142 S208.4,137.6 208.8,136.7 S210.5,133.7 210.9,133.2 S212.5,131.8 212.9,131.7 S214.5,131.9 214.9,132.1 S216.6,133.9 217,134.5 S218.6,137.7 219,138.6 S220.6,143.1 221.1,144.3 S222.7,149.8 223.1,151.3 S224.7,157.7 225.1,159.4 S226.8,166.4 227.2,168.2 S228.8,175.5 229.2,177.3 S230.8,184.7 231.3,186.6 S232.9,193.9 233.3,195.6 S234.9,202.6 235.3,204.2 S237,210.6 237.4,212 S239,217.7 239.4,219 S241,223.7 241.4,224.8 S243.1,228.6 243.5,229.4 S245.1,232.2 245.5,232.8 S247.2,234.5 247.6,234.8 S249.2,235.5 249.6,235.5 S251.2,235.2 251.6,234.9 S253.3,233.6 253.7,233.2 S255.3,231 255.7,230.3 S257.4,227.3 257.8,226.4 S259.4,222.7 259.8,221.7 S261.4,217.3 261.8,216.1 S263.5,211.3 263.9,210 S265.5,204.8 265.9,203.4 S267.5,197.9 268,196.4 S269.6,190.7 270,189.2 S271.6,183.4 272,181.9 S273.7,176.1 274.1,174.6 S275.7,168.8 276.1,167.3 S277.7,161.6 278.1,160.2 S279.8,154.6 280.2,153.2 S281.8,147.7 282.2,146.4 S283.9,141.2 284.3,139.9 S285.9,134.8 286.3,133.6 S287.9,128.7 288.3,127.5 S290,122.8 290.4,121.7 S292,117.1 292.4,116 S294.1,111.6 294.5,110.5 S296.1,106.1 296.5,105 S298.1,100.6 298.5,99.5 S300.2,95.06 300.6,93.93 S302.2,89.37 302.6,88.2 S304.2,83.43 304.7,82.18 S306.3,77.11 306.7,75.78 S308.3,70.3 308.7,68.85 S310.4,62.86 310.8,61.25 S312.4,54.61 312.8,52.82 S314.4,45.39 314.9,43.38 S316.5,34.98 316.9,32.69 S318.5,23.14 318.9,20.54 S320.6,9.613 321,6.622 S322.6,-5.932 323,-9.379 S324.6,-23.86 325,-27.85 S326.7,-44.61 327.1,-49.23 S328.7,-68.69 329.1,-74.06 S330.8,-96.7 331.2,-103 S332.8,-129.4 333.2,-136.7 S334.8,-167.6 335.2,-176.1 S336.9,-212.3 337.3,-222.4 S339.3,-282.1 339.3,-276.7 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"><g stroke="rgb(0,0,0)" fill="rgb(255,0,0)"><circle cx="112.5" cy="180" r="4"/><circle cx="134.5" cy="180" r="4"/><circle cx="158.1" cy="180" r="4"/><circle cx="183.9" cy="180" r="4"/><circle cx="213.1" cy="180" r="4"/><circle cx="248.8" cy="180" r="4"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(0,0,255)"><circle cx="123.3" cy="180" r="4"/><circle cx="146.1" cy="180" r="4"/><circle cx="170.7" cy="180" r="4"/><circle cx="198" cy="180" r="4"/><circle cx="229.8" cy="180" r="4"/><circle cx="272.6" cy="180" r="4"/></g>
+</g>
+<g id="legendBackground" stroke="rgb(255,255,0)" fill="rgb(255,255,224)" stroke-width="1"><rect x="351.3" y="58" width="122.7" height="126"/><rect x="351.3" y="58" width="122.7" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(255,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="365.3" y1="86" x2="379.3" y2="86"/></g>
+<g stroke="rgb(0,0,255)" fill="rgb(255,255,255)" stroke-width="1"><line x1="365.3" y1="114" x2="379.3" y2="114"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(255,0,0)" stroke-width="2"><circle cx="365.3" cy="142" r="4"/><line x1="386.3" y1="142" x2="400.3" y2="142"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(0,0,255)" stroke-width="2"><circle cx="365.3" cy="170" r="4"/><line x1="386.3" y1="170" x2="400.3" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="386.3" y="86" font-size="14" font-family="Lucida Sans Unicode">Ai(x)</text>
+<text x="386.3" y="114" font-size="14" font-family="Lucida Sans Unicode">Bi(x)</text>
+<text x="407.3" y="142" font-size="14" font-family="Lucida Sans Unicode">Ai zeros</text>
+<text x="407.3" y="170" font-size="14" font-family="Lucida Sans Unicode">Bi zeros</text></g>
+<g id="title" fill="rgb(0,0,0)">
+<text x="250" y="40" text-anchor="middle" font-size="20" font-family="Lucida Sans Unicode">Zeros of Airy(x)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/asinh.png b/libs/math/doc/graphs/asinh.png
index 2cdcfde571..2cdcfde571 100644
--- a/libs/math/doc/sf_and_dist/graphs/asinh.png
+++ b/libs/math/doc/graphs/asinh.png
Binary files differ
diff --git a/libs/math/doc/graphs/asinh.svg b/libs/math/doc/graphs/asinh.svg
new file mode 100644
index 0000000000..8cf3273a56
--- /dev/null
+++ b/libs/math/doc/graphs/asinh.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,190.7 L75.8,190.7 M73.8,179.1 L75.8,179.1 M73.8,167.6 L75.8,167.6 M73.8,144.4 L75.8,144.4 M73.8,132.9 L75.8,132.9 M73.8,121.3 L75.8,121.3 M73.8,98.17 L75.8,98.17 M73.8,86.6 L75.8,86.6 M73.8,75.03 L75.8,75.03 M73.8,202.3 L75.8,202.3 M73.8,213.8 L75.8,213.8 M73.8,225.4 L75.8,225.4 M73.8,237 L75.8,237 M73.8,248.5 L75.8,248.5 M73.8,260.1 L75.8,260.1 M73.8,271.7 L75.8,271.7 M73.8,283.2 L75.8,283.2 M73.8,294.8 L75.8,294.8 M73.8,306.4 L75.8,306.4 M73.8,317.9 L75.8,317.9 M73.8,329.5 L75.8,329.5 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.9,341 L136.9,343 M106.3,341 L106.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,156 L75.8,156 M70.8,109.7 L75.8,109.7 M70.8,63.47 L75.8,63.47 M70.8,202.3 L75.8,202.3 M70.8,248.5 L75.8,248.5 M70.8,294.8 L75.8,294.8 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 M320,341 L320,346 M197.9,341 L197.9,346 M75.8,341 L75.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="158.4" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="64.8" y="112.1" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="64.8" y="65.87" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="250.9" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
+<text x="64.8" y="297.2" text-anchor="end" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">asinh(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,340.5 L80.68,340.1 L83.13,339.6 L85.57,339.1 L88.01,338.6 L90.45,338.2 L92.9,337.7 L95.34,337.2 L97.78,336.7 L100.2,336.2 L102.7,335.6 L105.1,335.1 L107.5,334.6 L110,334.1 L112.4,333.5 L114.9,333 L117.3,332.4 L119.8,331.9 L122.2,331.3 L124.6,330.7 L127.1,330.2 L129.5,329.6 L132,329 L134.4,328.4 L136.9,327.8 L139.3,327.2 L141.7,326.5 L144.2,325.9 L146.6,325.3 L149.1,324.6 L151.5,324 L153.9,323.3 L156.4,322.6 L158.8,321.9 L161.3,321.2 L163.7,320.5 L166.2,319.8 L168.6,319.1 L171,318.3 L173.5,317.6 L175.9,316.8 L178.4,316 L180.8,315.2 L183.3,314.4 L185.7,313.6 L188.1,312.8 L190.6,311.9 L193,311.1 L195.5,310.2 L197.9,309.3 L200.3,308.4 L202.8,307.4 L205.2,306.5 L207.7,305.5 L210.1,304.5 L212.6,303.5 L215,302.4 L217.4,301.4 L219.9,300.3 L222.3,299.2 L224.8,298.1 L227.2,296.9 L229.7,295.7 L232.1,294.5 L234.5,293.2 L237,291.9 L239.4,290.6 L241.9,289.3 L244.3,287.9 L246.8,286.4 L249.2,284.9 L251.6,283.4 L254.1,281.8 L256.5,280.2 L259,278.5 L261.4,276.7 L263.8,274.9 L266.3,273.1 L268.7,271.1 L271.2,269.1 L273.6,267 L276.1,264.8 L278.5,262.5 L280.9,260.1 L283.4,257.6 L285.8,254.9 L288.3,252.2 L290.7,249.3 L293.2,246.2 L295.6,243.1 L298,239.7 L300.5,236.2 L302.9,232.5 L305.4,228.6 L307.8,224.5 L310.2,220.3 L312.7,216 L315.1,211.5 L317.6,206.9 L320,202.3 L322.5,197.7 L324.9,193.1 L327.3,188.6 L329.8,184.2 L332.2,180 L334.7,176 L337.1,172.1 L339.6,168.4 L342,164.8 L344.4,161.5 L346.9,158.3 L349.3,155.3 L351.8,152.4 L354.2,149.6 L356.6,147 L359.1,144.5 L361.5,142.1 L364,139.8 L366.4,137.6 L368.9,135.5 L371.3,133.4 L373.7,131.5 L376.2,129.6 L378.6,127.8 L381.1,126.1 L383.5,124.4 L386,122.7 L388.4,121.2 L390.8,119.6 L393.3,118.1 L395.7,116.7 L398.2,115.3 L400.6,113.9 L403,112.6 L405.5,111.3 L407.9,110.1 L410.4,108.8 L412.8,107.7 L415.3,106.5 L417.7,105.4 L420.1,104.2 L422.6,103.2 L425,102.1 L427.5,101.1 L429.9,100 L432.4,99.06 L434.8,98.08 L437.2,97.13 L439.7,96.2 L442.1,95.28 L444.6,94.38 L447,93.5 L449.4,92.63 L451.9,91.78 L454.3,90.95 L456.8,90.13 L459.2,89.32 L461.7,88.53 L464.1,87.75 L466.5,86.98 L469,86.23 L471.4,85.48 L473.9,84.75 L476.3,84.03 L478.8,83.32 L481.2,82.63 L483.6,81.94 L486.1,81.26 L488.5,80.59 L491,79.93 L493.4,79.28 L495.9,78.64 L498.3,78.01 L500.7,77.39 L503.2,76.77 L505.6,76.16 L508.1,75.56 L510.5,74.97 L512.9,74.39 L515.4,73.81 L517.8,73.24 L520.3,72.68 L522.7,72.12 L525.2,71.57 L527.6,71.02 L530,70.49 L532.5,69.96 L534.9,69.43 L537.4,68.91 L539.8,68.4 L542.3,67.89 L544.7,67.39 L547.1,66.89 L549.6,66.4 L552,65.91 L554.5,65.43 L556.9,64.95 L559.3,64.48 L561.8,64.01 L564.2,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">asinh</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/atanh.png b/libs/math/doc/graphs/atanh.png
index 188ae3e36d..188ae3e36d 100644
--- a/libs/math/doc/sf_and_dist/graphs/atanh.png
+++ b/libs/math/doc/graphs/atanh.png
Binary files differ
diff --git a/libs/math/doc/graphs/atanh.svg b/libs/math/doc/graphs/atanh.svg
new file mode 100644
index 0000000000..1392570250
--- /dev/null
+++ b/libs/math/doc/graphs/atanh.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,195.3 L75.8,195.3 M73.8,188.4 L75.8,188.4 M73.8,181.5 L75.8,181.5 M73.8,167.6 L75.8,167.6 M73.8,160.7 L75.8,160.7 M73.8,153.7 L75.8,153.7 M73.8,139.8 L75.8,139.8 M73.8,132.9 L75.8,132.9 M73.8,126 L75.8,126 M73.8,112.1 L75.8,112.1 M73.8,105.2 L75.8,105.2 M73.8,98.23 L75.8,98.23 M73.8,84.36 L75.8,84.36 M73.8,77.42 L75.8,77.42 M73.8,70.49 L75.8,70.49 M73.8,202.3 L75.8,202.3 M73.8,209.2 L75.8,209.2 M73.8,216.1 L75.8,216.1 M73.8,223.1 L75.8,223.1 M73.8,230 L75.8,230 M73.8,237 L75.8,237 M73.8,243.9 L75.8,243.9 M73.8,250.8 L75.8,250.8 M73.8,257.8 L75.8,257.8 M73.8,264.7 L75.8,264.7 M73.8,271.6 L75.8,271.6 M73.8,278.6 L75.8,278.6 M73.8,285.5 L75.8,285.5 M73.8,292.4 L75.8,292.4 M73.8,299.4 L75.8,299.4 M73.8,306.3 L75.8,306.3 M73.8,313.3 L75.8,313.3 M73.8,320.2 L75.8,320.2 M73.8,327.1 L75.8,327.1 M73.8,334.1 L75.8,334.1 M73.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.8,341 L136.8,343 M106.3,341 L106.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,174.5 L75.8,174.5 M70.8,146.8 L75.8,146.8 M70.8,119 L75.8,119 M70.8,91.29 L75.8,91.29 M70.8,63.55 L75.8,63.55 M70.8,202.3 L75.8,202.3 M70.8,230 L75.8,230 M70.8,257.8 L75.8,257.8 M70.8,285.5 L75.8,285.5 M70.8,313.3 L75.8,313.3 M70.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.3,341 L564.3,346 M320,341 L320,346 M197.9,341 L197.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="564.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="64.8" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="64.8" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="64.8" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
+<text x="64.8" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
+<text x="64.8" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">-3</text>
+<text x="64.8" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">-4</text>
+<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">atanh(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,275.6 L80.68,266 L83.13,260.3 L85.57,256.2 L88.01,253.1 L90.45,250.5 L92.9,248.3 L95.34,246.3 L97.78,244.6 L100.2,243.1 L102.7,241.7 L105.1,240.4 L107.5,239.3 L110,238.2 L112.4,237.1 L114.9,236.1 L117.3,235.2 L119.8,234.4 L122.2,233.5 L124.6,232.8 L127.1,232 L129.5,231.3 L132,230.6 L134.4,229.9 L136.9,229.3 L139.3,228.6 L141.7,228 L144.2,227.5 L146.6,226.9 L149.1,226.3 L151.5,225.8 L153.9,225.3 L156.4,224.8 L158.8,224.3 L161.3,223.8 L163.7,223.3 L166.2,222.8 L168.6,222.4 L171,221.9 L173.5,221.5 L175.9,221.1 L178.4,220.7 L180.8,220.2 L183.3,219.8 L185.7,219.4 L188.1,219 L190.6,218.6 L193,218.3 L195.5,217.9 L197.9,217.5 L200.3,217.1 L202.8,216.8 L205.2,216.4 L207.7,216.1 L210.1,215.7 L212.6,215.4 L215,215 L217.4,214.7 L219.9,214.4 L222.3,214 L224.8,213.7 L227.2,213.4 L229.7,213.1 L232.1,212.7 L234.5,212.4 L237,212.1 L239.4,211.8 L241.9,211.5 L244.3,211.2 L246.8,210.9 L249.2,210.6 L251.6,210.3 L254.1,210 L256.5,209.7 L259,209.4 L261.4,209.1 L263.8,208.8 L266.3,208.5 L268.7,208.2 L271.2,207.9 L273.6,207.6 L276.1,207.3 L278.5,207 L280.9,206.8 L283.4,206.5 L285.8,206.2 L288.3,205.9 L290.7,205.6 L293.2,205.3 L295.6,205.1 L298,204.8 L300.5,204.5 L302.9,204.2 L305.4,203.9 L307.8,203.7 L310.2,203.4 L312.7,203.1 L315.1,202.8 L317.6,202.6 L320,202.3 L322.5,202 L324.9,201.7 L327.3,201.4 L329.8,201.2 L332.2,200.9 L334.7,200.6 L337.1,200.3 L339.6,200.1 L342,199.8 L344.4,199.5 L346.9,199.2 L349.3,198.9 L351.8,198.6 L354.2,198.4 L356.6,198.1 L359.1,197.8 L361.5,197.5 L364,197.2 L366.4,196.9 L368.9,196.7 L371.3,196.4 L373.7,196.1 L376.2,195.8 L378.6,195.5 L381.1,195.2 L383.5,194.9 L386,194.6 L388.4,194.3 L390.8,194 L393.3,193.7 L395.7,193.4 L398.2,193.1 L400.6,192.8 L403,192.5 L405.5,192.1 L407.9,191.8 L410.4,191.5 L412.8,191.2 L415.3,190.9 L417.7,190.5 L420.1,190.2 L422.6,189.9 L425,189.5 L427.5,189.2 L429.9,188.8 L432.4,188.5 L434.8,188.1 L437.2,187.8 L439.7,187.4 L442.1,187 L444.6,186.7 L447,186.3 L449.4,185.9 L451.9,185.5 L454.3,185.1 L456.8,184.7 L459.2,184.3 L461.7,183.9 L464.1,183.5 L466.5,183 L469,182.6 L471.4,182.2 L473.9,181.7 L476.3,181.2 L478.8,180.8 L481.2,180.3 L483.6,179.8 L486.1,179.3 L488.5,178.8 L491,178.2 L493.4,177.7 L495.9,177.1 L498.3,176.5 L500.7,175.9 L503.2,175.3 L505.6,174.6 L508.1,174 L510.5,173.3 L512.9,172.6 L515.4,171.8 L517.8,171 L520.3,170.2 L522.7,169.3 L525.2,168.4 L527.6,167.4 L530,166.4 L532.5,165.3 L534.9,164.1 L537.4,162.8 L539.8,161.4 L542.3,159.9 L544.7,158.2 L547.1,156.3 L549.6,154.1 L552,151.5 L554.5,148.3 L556.9,144.3 L559.3,138.6 L561.8,129 L564.2,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">atanh</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.png b/libs/math/doc/graphs/bernoulli_cdf.png
index 456fb4c85a..456fb4c85a 100644
--- a/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.png
+++ b/libs/math/doc/graphs/bernoulli_cdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/bernoulli_cdf.svg b/libs/math/doc/graphs/bernoulli_cdf.svg
new file mode 100644
index 0000000000..9b1e84ed9f
--- /dev/null
+++ b/libs/math/doc/graphs/bernoulli_cdf.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="212.9" y1="58" x2="212.9" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M212.9,341 L212.9,346 M470.3,341 L470.3,346 M212.9,341 L212.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="470.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M116.4,341 L116.4,341 L116.4,148 L180.7,148 L180.7,341 L373.8,341 L373.8,83.73 L438.1,83.73 L438.1,341 L438.1,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M180.7,341 L180.7,341 L180.7,212.4 L245.1,212.4 L245.1,341 L438.1,341 L438.1,83.73 L502.4,83.73 L502.4,341 L502.4,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M245.1,341 L245.1,341 L245.1,276.7 L309.4,276.7 L309.4,341 L502.4,341 L502.4,83.73 L566.8,83.73 L566.8,341 L566.8,341 Z" fill="rgb(0,100,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="105"/><rect x="613" y="58" width="111" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="650.5" y="88" font-size="15" font-family="Verdana">p=0.25</text>
+<text x="650.5" y="118" font-size="15" font-family="Verdana">p=0.5</text>
+<text x="650.5" y="148" font-size="15" font-family="Verdana">p=0.75</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bernoulli Distribution CDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.png b/libs/math/doc/graphs/bernoulli_pdf.png
index 7b43340f9f..7b43340f9f 100644
--- a/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.png
+++ b/libs/math/doc/graphs/bernoulli_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/bernoulli_pdf.svg b/libs/math/doc/graphs/bernoulli_pdf.svg
new file mode 100644
index 0000000000..d6f1d3f5e9
--- /dev/null
+++ b/libs/math/doc/graphs/bernoulli_pdf.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="212.9" y1="58" x2="212.9" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.3 L84.2,327.3 M82.2,320.4 L84.2,320.4 M82.2,313.6 L84.2,313.6 M82.2,299.8 L84.2,299.8 M82.2,293 L84.2,293 M82.2,286.1 L84.2,286.1 M82.2,279.3 L84.2,279.3 M82.2,265.5 L84.2,265.5 M82.2,258.7 L84.2,258.7 M82.2,251.8 L84.2,251.8 M82.2,245 L84.2,245 M82.2,231.2 L84.2,231.2 M82.2,224.4 L84.2,224.4 M82.2,217.5 L84.2,217.5 M82.2,210.6 L84.2,210.6 M82.2,196.9 L84.2,196.9 M82.2,190.1 L84.2,190.1 M82.2,183.2 L84.2,183.2 M82.2,176.3 L84.2,176.3 M82.2,162.6 L84.2,162.6 M82.2,155.8 L84.2,155.8 M82.2,148.9 L84.2,148.9 M82.2,142 L84.2,142 M82.2,128.3 L84.2,128.3 M82.2,121.5 L84.2,121.5 M82.2,114.6 L84.2,114.6 M82.2,107.7 L84.2,107.7 M82.2,94.02 L84.2,94.02 M82.2,87.16 L84.2,87.16 M82.2,80.3 L84.2,80.3 M82.2,73.44 L84.2,73.44 M82.2,59.72 L84.2,59.72 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306.7 L84.2,306.7 M79.2,272.4 L84.2,272.4 M79.2,238.1 L84.2,238.1 M79.2,203.8 L84.2,203.8 M79.2,169.5 L84.2,169.5 M79.2,135.2 L84.2,135.2 M79.2,100.9 L84.2,100.9 M79.2,66.58 L84.2,66.58 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M212.9,341 L212.9,346 M470.3,341 L470.3,346 M212.9,341 L212.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="470.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="309.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="274.8" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="206.2" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="171.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="103.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="68.98" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M116.4,341 L116.4,341 L116.4,83.73 L180.7,83.73 L180.7,341 L373.8,341 L373.8,255.2 L438.1,255.2 L438.1,341 L438.1,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M180.7,341 L180.7,341 L180.7,169.5 L245.1,169.5 L245.1,341 L438.1,341 L438.1,169.5 L502.4,169.5 L502.4,341 L502.4,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M245.1,341 L245.1,341 L245.1,255.2 L309.4,255.2 L309.4,341 L502.4,341 L502.4,83.73 L566.8,83.73 L566.8,341 L566.8,341 Z" fill="rgb(0,100,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="105"/><rect x="613" y="58" width="111" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="650.5" y="88" font-size="15" font-family="Verdana">p=0.25</text>
+<text x="650.5" y="118" font-size="15" font-family="Verdana">p=0.5</text>
+<text x="650.5" y="148" font-size="15" font-family="Verdana">p=0.75</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bernoulli Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/bessel_j_zeros.png b/libs/math/doc/graphs/bessel_j_zeros.png
new file mode 100644
index 0000000000..17b5a847e4
--- /dev/null
+++ b/libs/math/doc/graphs/bessel_j_zeros.png
Binary files differ
diff --git a/libs/math/doc/graphs/bessel_j_zeros.svg b/libs/math/doc/graphs/bessel_j_zeros.svg
new file mode 100644
index 0000000000..b5ca9b1224
--- /dev/null
+++ b/libs/math/doc/graphs/bessel_j_zeros.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="500" height ="300" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright Paul A. Bristow 2013 -->
+<meta name="copyright" content="Paul A. Bristow" />
+<meta name="date" content="2013" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="254.2" height="181"/></clipPath>
+<g id="imageBackground" stroke="rgb(255,255,0)" fill="rgb(248,248,255)" stroke-width="2"><rect x="0" y="0" width="500" height="300"/></g>
+<g id="plotBackground" stroke="rgb(0,128,0)" fill="rgb(255,255,255)" stroke-width="1"><rect x="92.6" y="58" width="256.2" height="183"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="220.7" y1="58" x2="220.7" y2="246"/><line x1="92.6" y1="58" x2="92.6" y2="241"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="180" x2="348.8" y2="180"/><line x1="87.6" y1="241" x2="348.8" y2="241"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,175.1 L92.6,175.1 M90.6,170.2 L92.6,170.2 M90.6,165.4 L92.6,165.4 M90.6,160.5 L92.6,160.5 M90.6,150.7 L92.6,150.7 M90.6,145.8 L92.6,145.8 M90.6,141 L92.6,141 M90.6,136.1 L92.6,136.1 M90.6,126.3 L92.6,126.3 M90.6,121.4 L92.6,121.4 M90.6,116.6 L92.6,116.6 M90.6,111.7 L92.6,111.7 M90.6,101.9 L92.6,101.9 M90.6,97.04 L92.6,97.04 M90.6,92.16 L92.6,92.16 M90.6,87.28 L92.6,87.28 M90.6,77.52 L92.6,77.52 M90.6,72.64 L92.6,72.64 M90.6,67.76 L92.6,67.76 M90.6,62.88 L92.6,62.88 M90.6,180 L92.6,180 M90.6,184.9 L92.6,184.9 M90.6,189.8 L92.6,189.8 M90.6,194.6 L92.6,194.6 M90.6,199.5 L92.6,199.5 M90.6,204.4 L92.6,204.4 M90.6,209.3 L92.6,209.3 M90.6,214.2 L92.6,214.2 M90.6,219 L92.6,219 M90.6,223.9 L92.6,223.9 M90.6,228.8 L92.6,228.8 M90.6,228.8 L92.6,228.8 M90.6,233.7 L92.6,233.7 M90.6,238.6 L92.6,238.6 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M227.1,241 L227.1,243 M233.5,241 L233.5,243 M239.9,241 L239.9,243 M246.3,241 L246.3,243 M259.1,241 L259.1,243 M265.5,241 L265.5,243 M271.9,241 L271.9,243 M278.3,241 L278.3,243 M291.2,241 L291.2,243 M297.6,241 L297.6,243 M304,241 L304,243 M310.4,241 L310.4,243 M323.2,241 L323.2,243 M329.6,241 L329.6,243 M336,241 L336,243 M342.4,241 L342.4,243 M214.3,241 L214.3,243 M207.9,241 L207.9,243 M201.5,241 L201.5,243 M195.1,241 L195.1,243 M182.3,241 L182.3,243 M175.9,241 L175.9,243 M169.5,241 L169.5,243 M163.1,241 L163.1,243 M150.2,241 L150.2,243 M143.8,241 L143.8,243 M137.4,241 L137.4,243 M131,241 L131,243 M118.2,241 L118.2,243 M111.8,241 L111.8,243 M105.4,241 L105.4,243 M99,241 L99,243 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,180 L92.6,180 M87.6,155.6 L92.6,155.6 M87.6,131.2 L92.6,131.2 M87.6,106.8 L92.6,106.8 M87.6,82.4 L92.6,82.4 M87.6,58 L92.6,58 M87.6,180 L92.6,180 M87.6,204.4 L92.6,204.4 M87.6,228.8 L92.6,228.8 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M220.7,241 L220.7,246 M252.7,241 L252.7,246 M284.8,241 L284.8,246 M316.8,241 L316.8,246 M348.8,241 L348.8,246 M220.7,241 L220.7,246 M188.7,241 L188.7,246 M156.7,241 L156.7,246 M124.6,241 L124.6,246 M92.6,241 L92.6,246 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="220.7" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
+<text x="252.7" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">5</text>
+<text x="284.8" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">10</text>
+<text x="316.8" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">15</text>
+<text x="348.8" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">20</text>
+<text x="220.7" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">0</text>
+<text x="188.7" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">-5</text>
+<text x="156.7" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">-10</text>
+<text x="124.6" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">-15</text>
+<text x="92.6" y="261.6" text-anchor="middle" font-size="12" font-family="Lucida Sans Unicode">-20</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="182.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.0</text>
+<text x="81.6" y="158" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.2</text>
+<text x="81.6" y="133.6" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.4</text>
+<text x="81.6" y="109.2" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.6</text>
+<text x="81.6" y="84.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.8</text>
+<text x="81.6" y="60.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">1.0</text>
+<text x="81.6" y="182.4" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">0.0</text>
+<text x="81.6" y="206.8" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-0.2</text>
+<text x="81.6" y="231.2" text-anchor="end" font-size="12" font-family="Lucida Sans Unicode">-0.4</text></g>
+<g id="yLabel">
+<text x="42.9" y="149.5" text-anchor="middle" transform = "rotate(-90 42.9 149.5 )" font-size="14" font-family="Lucida Sans Unicode">J&#x2080;(x)</text></g>
+<g id="xLabel">
+<text x="220.7" y="276.7" text-anchor="middle" font-size="14" font-family="Lucida Sans Unicode">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,255)"><path d="M93.24,158.9 S93.75,158.5 93.88,158.4 S94.39,158.1 94.52,158.1 S95.03,158 95.16,158 S95.67,158.1 95.8,158.2 S96.31,158.4 96.44,158.5 S96.96,159 97.08,159.1 S97.6,159.7 97.72,159.9 S98.24,160.7 98.36,160.9 S98.88,161.9 99.01,162.1 S99.52,163.2 99.65,163.5 S100.2,164.7 100.3,165 S100.8,166.4 100.9,166.8 S101.4,168.2 101.6,168.6 S102.1,170.2 102.2,170.6 S102.7,172.2 102.8,172.7 S103.4,174.4 103.5,174.8 S104,176.6 104.1,177.1 S104.6,178.9 104.8,179.3 S105.3,181.2 105.4,181.6 S105.9,183.5 106.1,183.9 S106.6,185.7 106.7,186.2 S107.2,188 107.3,188.4 S107.8,190.1 108,190.5 S108.5,192.2 108.6,192.6 S109.1,194.1 109.3,194.5 S109.8,196 109.9,196.3 S110.4,197.6 110.5,198 S111,199.2 111.2,199.4 S111.7,200.5 111.8,200.7 S112.3,201.6 112.5,201.8 S113,202.5 113.1,202.7 S113.6,203.2 113.7,203.3 S114.2,203.7 114.4,203.8 S114.9,203.9 115,204 S115.5,203.9 115.7,203.9 S116.2,203.7 116.3,203.6 S116.8,203.2 116.9,203.1 S117.5,202.5 117.6,202.3 S118.1,201.6 118.2,201.3 S118.7,200.4 118.9,200.1 S119.4,199 119.5,198.7 S120,197.4 120.1,197.1 S120.7,195.7 120.8,195.3 S121.3,193.7 121.4,193.3 S121.9,191.7 122.1,191.2 S122.6,189.4 122.7,189 S123.2,187.1 123.3,186.6 S123.9,184.7 124,184.2 S124.5,182.2 124.6,181.7 S125.1,179.7 125.3,179.2 S125.8,177.2 125.9,176.7 S126.4,174.7 126.5,174.2 S127.1,172.2 127.2,171.7 S127.7,169.8 127.8,169.3 S128.3,167.5 128.5,167 S129,165.2 129.1,164.8 S129.6,163.1 129.7,162.8 S130.3,161.2 130.4,160.9 S130.9,159.5 131,159.1 S131.5,157.9 131.7,157.6 S132.2,156.5 132.3,156.3 S132.8,155.4 133,155.2 S133.5,154.5 133.6,154.4 S134.1,153.9 134.2,153.8 S134.7,153.5 134.9,153.4 S135.4,153.4 135.5,153.4 S136,153.5 136.2,153.6 S136.7,153.9 136.8,154 S137.3,154.6 137.4,154.8 S137.9,155.5 138.1,155.7 S138.6,156.7 138.7,157 S139.2,158.1 139.4,158.5 S139.9,159.8 140,160.2 S140.5,161.7 140.6,162.1 S141.1,163.8 141.3,164.2 S141.8,166 141.9,166.5 S142.4,168.4 142.6,168.9 S143.1,171 143.2,171.5 S143.7,173.6 143.8,174.2 S144.4,176.4 144.5,176.9 S145,179.2 145.1,179.8 S145.6,182 145.8,182.6 S146.3,184.9 146.4,185.4 S146.9,187.7 147,188.3 S147.6,190.5 147.7,191 S148.2,193.2 148.3,193.7 S148.8,195.7 149,196.2 S149.5,198.2 149.6,198.6 S150.1,200.5 150.2,200.9 S150.8,202.6 150.9,202.9 S151.4,204.4 151.5,204.8 S152,206.1 152.2,206.4 S152.7,207.5 152.8,207.8 S153.3,208.7 153.4,208.9 S154,209.6 154.1,209.7 S154.6,210.1 154.7,210.2 S155.2,210.4 155.4,210.5 S155.9,210.4 156,210.4 S156.5,210.1 156.7,210 S157.2,209.5 157.3,209.3 S157.8,208.6 157.9,208.3 S158.4,207.3 158.6,207.1 S159.1,205.8 159.2,205.5 S159.7,204.1 159.9,203.7 S160.4,202 160.5,201.6 S161,199.7 161.1,199.2 S161.6,197.2 161.8,196.7 S162.3,194.5 162.4,193.9 S162.9,191.6 163.1,191 S163.6,188.6 163.7,188 S164.2,185.4 164.3,184.8 S164.8,182.2 165,181.5 S165.5,178.9 165.6,178.2 S166.1,175.5 166.3,174.9 S166.8,172.2 166.9,171.6 S167.4,168.9 167.5,168.3 S168.1,165.7 168.2,165.1 S168.7,162.6 168.8,162 S169.3,159.6 169.5,159.1 S170,156.8 170.1,156.3 S170.6,154.2 170.7,153.7 S171.3,151.8 171.4,151.4 S171.9,149.7 172,149.3 S172.5,147.8 172.7,147.5 S173.2,146.3 173.3,146 S173.8,145 173.9,144.8 S174.5,144.1 174.6,144 S175.1,143.6 175.2,143.5 S175.7,143.4 175.9,143.4 S176.4,143.5 176.5,143.6 S177,144.1 177.1,144.2 S177.7,145 177.8,145.2 S178.3,146.3 178.4,146.6 S178.9,147.9 179.1,148.3 S179.6,149.9 179.7,150.3 S180.2,152.2 180.3,152.7 S180.9,154.8 181,155.4 S181.5,157.7 181.6,158.4 S182.1,160.9 182.3,161.6 S182.8,164.4 182.9,165.1 S183.4,168.1 183.6,168.8 S184.1,171.9 184.2,172.7 S184.7,175.9 184.8,176.7 S185.3,180 185.5,180.8 S186,184.2 186.1,185 S186.6,188.4 186.8,189.2 S187.3,192.6 187.4,193.5 S187.9,196.8 188,197.6 S188.5,200.9 188.7,201.7 S189.2,204.8 189.3,205.6 S189.8,208.6 190,209.3 S190.5,212.2 190.6,212.9 S191.1,215.5 191.2,216.1 S191.7,218.5 191.9,219.1 S192.4,221.3 192.5,221.8 S193,223.6 193.2,224 S193.7,225.6 193.8,225.9 S194.3,227.2 194.4,227.4 S195,228.3 195.1,228.5 S195.6,229 195.7,229 S196.2,229.1 196.4,229.1 S196.9,228.8 197,228.7 S197.5,228 197.6,227.8 S198.2,226.7 198.3,226.4 S198.8,224.9 198.9,224.4 S199.4,222.5 199.6,222 S200.1,219.7 200.2,219.1 S200.7,216.4 200.8,215.6 S201.4,212.6 201.5,211.7 S202,208.3 202.1,207.4 S202.6,203.6 202.8,202.6 S203.3,198.5 203.4,197.4 S203.9,193 204,191.8 S204.6,187.1 204.7,185.9 S205.2,181 205.3,179.7 S205.8,174.5 206,173.2 S206.5,167.9 206.6,166.5 S207.1,161.1 207.2,159.7 S207.8,154.1 207.9,152.7 S208.4,147 208.5,145.6 S209,139.9 209.2,138.5 S209.7,132.9 209.8,131.4 S210.3,125.8 210.5,124.4 S211,118.9 211.1,117.6 S211.6,112.2 211.7,110.8 S212.2,105.6 212.4,104.3 S212.9,99.34 213,98.12 S213.5,93.35 213.7,92.21 S214.2,87.72 214.3,86.65 S214.8,82.47 214.9,81.48 S215.4,77.65 215.6,76.75 S216.1,73.3 216.2,72.49 S216.7,69.43 216.9,68.74 S217.4,66.1 217.5,65.51 S218,63.31 218.1,62.83 S218.7,61.09 218.8,60.73 S219.3,59.46 219.4,59.22 S219.9,58.43 220.1,58.3 S220.6,58 220.7,58 S221.2,58.18 221.3,58.3 S221.9,58.97 222,59.22 S222.5,60.37 222.6,60.73 S223.1,62.35 223.3,62.83 S223.8,64.92 223.9,65.51 S224.4,68.04 224.5,68.74 S225.1,71.69 225.2,72.49 S225.7,75.85 225.8,76.75 S226.3,80.49 226.5,81.48 S227,85.57 227.1,86.65 S227.6,91.06 227.7,92.21 S228.3,96.91 228.4,98.12 S228.9,103.1 229,104.3 S229.5,109.5 229.7,110.8 S230.2,116.2 230.3,117.6 S230.8,123.1 230.9,124.4 S231.5,130 231.6,131.4 S232.1,137.1 232.2,138.5 S232.7,144.2 232.9,145.6 S233.4,151.3 233.5,152.7 S234,158.3 234.2,159.7 S234.7,165.2 234.8,166.5 S235.3,171.9 235.4,173.2 S235.9,178.4 236.1,179.7 S236.6,184.7 236.7,185.9 S237.2,190.7 237.4,191.8 S237.9,196.3 238,197.4 S238.5,201.6 238.6,202.6 S239.1,206.5 239.3,207.4 S239.8,210.9 239.9,211.7 S240.4,214.9 240.6,215.6 S241.1,218.4 241.2,219.1 S241.7,221.5 241.8,222 S242.3,224 242.5,224.4 S243,226 243.1,226.4 S243.6,227.6 243.8,227.8 S244.3,228.6 244.4,228.7 S244.9,229.1 245,229.1 S245.6,229.1 245.7,229 S246.2,228.6 246.3,228.5 S246.8,227.7 247,227.4 S247.5,226.3 247.6,225.9 S248.1,224.5 248.2,224 S248.8,222.2 248.9,221.8 S249.4,219.7 249.5,219.1 S250,216.8 250.2,216.1 S250.7,213.5 250.8,212.9 S251.3,210.1 251.4,209.3 S252,206.4 252.1,205.6 S252.6,202.5 252.7,201.7 S253.2,198.4 253.4,197.6 S253.9,194.3 254,193.5 S254.5,190.1 254.6,189.2 S255.2,185.9 255.3,185 S255.8,181.7 255.9,180.8 S256.4,177.5 256.6,176.7 S257.1,173.5 257.2,172.7 S257.7,169.6 257.8,168.8 S258.4,165.8 258.5,165.1 S259,162.3 259.1,161.6 S259.6,159 259.8,158.4 S260.3,156 260.4,155.4 S260.9,153.2 261.1,152.7 S261.6,150.8 261.7,150.3 S262.2,148.6 262.3,148.3 S262.8,146.9 263,146.6 S263.5,145.5 263.6,145.2 S264.1,144.4 264.3,144.2 S264.8,143.7 264.9,143.6 S265.4,143.4 265.5,143.4 S266,143.5 266.2,143.5 S266.7,143.9 266.8,144 S267.3,144.6 267.5,144.8 S268,145.7 268.1,146 S268.6,147.2 268.7,147.5 S269.2,148.9 269.4,149.3 S269.9,150.9 270,151.4 S270.5,153.2 270.7,153.7 S271.2,155.8 271.3,156.3 S271.8,158.5 271.9,159.1 S272.5,161.4 272.6,162 S273.1,164.5 273.2,165.1 S273.7,167.6 273.9,168.3 S274.4,170.9 274.5,171.6 S275,174.2 275.1,174.9 S275.7,177.6 275.8,178.2 S276.3,180.9 276.4,181.5 S276.9,184.1 277.1,184.8 S277.6,187.3 277.7,188 S278.2,190.4 278.3,191 S278.9,193.4 279,193.9 S279.5,196.2 279.6,196.7 S280.1,198.7 280.3,199.2 S280.8,201.1 280.9,201.6 S281.4,203.3 281.5,203.7 S282.1,205.2 282.2,205.5 S282.7,206.8 282.8,207.1 S283.3,208.1 283.5,208.3 S284,209.2 284.1,209.3 S284.6,209.9 284.8,210 S285.3,210.3 285.4,210.4 S285.9,210.5 286,210.5 S286.5,210.3 286.7,210.2 S287.2,209.8 287.3,209.7 S287.8,209.1 288,208.9 S288.5,208 288.6,207.8 S289.1,206.7 289.2,206.4 S289.7,205.1 289.9,204.8 S290.4,203.3 290.5,202.9 S291,201.3 291.2,200.9 S291.7,199.1 291.8,198.6 S292.3,196.7 292.4,196.2 S292.9,194.2 293.1,193.7 S293.6,191.5 293.7,191 S294.2,188.8 294.4,188.3 S294.9,186 295,185.4 S295.5,183.2 295.6,182.6 S296.2,180.3 296.3,179.8 S296.8,177.5 296.9,176.9 S297.4,174.7 297.6,174.2 S298.1,172 298.2,171.5 S298.7,169.4 298.8,168.9 S299.4,167 299.5,166.5 S300,164.6 300.1,164.2 S300.6,162.5 300.8,162.1 S301.3,160.5 301.4,160.2 S301.9,158.8 302,158.5 S302.6,157.2 302.7,157 S303.2,156 303.3,155.7 S303.8,154.9 304,154.8 S304.5,154.1 304.6,154 S305.1,153.6 305.2,153.6 S305.8,153.4 305.9,153.4 S306.4,153.4 306.5,153.4 S307,153.7 307.2,153.8 S307.7,154.2 307.8,154.4 S308.3,155 308.4,155.2 S309,156.1 309.1,156.3 S309.6,157.3 309.7,157.6 S310.2,158.8 310.4,159.1 S310.9,160.5 311,160.9 S311.5,162.4 311.7,162.8 S312.2,164.4 312.3,164.8 S312.8,166.6 312.9,167 S313.4,168.8 313.6,169.3 S314.1,171.2 314.2,171.7 S314.7,173.7 314.9,174.2 S315.4,176.2 315.5,176.7 S316,178.7 316.1,179.2 S316.6,181.2 316.8,181.7 S317.3,183.7 317.4,184.2 S317.9,186.2 318.1,186.6 S318.6,188.5 318.7,189 S319.2,190.8 319.3,191.2 S319.8,192.9 320,193.3 S320.5,194.9 320.6,195.3 S321.1,196.7 321.3,197.1 S321.8,198.4 321.9,198.7 S322.4,199.9 322.5,200.1 S323.1,201.1 323.2,201.3 S323.7,202.2 323.8,202.3 S324.3,203 324.5,203.1 S325,203.5 325.1,203.6 S325.6,203.9 325.7,203.9 S326.3,204 326.4,204 S326.9,203.8 327,203.8 S327.5,203.5 327.7,203.3 S328.2,202.8 328.3,202.7 S328.8,202 328.9,201.8 S329.5,201 329.6,200.7 S330.1,199.7 330.2,199.4 S330.7,198.3 330.9,198 S331.4,196.7 331.5,196.3 S332,194.9 332.1,194.5 S332.7,193 332.8,192.6 S333.3,191 333.4,190.5 S333.9,188.8 334.1,188.4 S334.6,186.6 334.7,186.2 S335.2,184.4 335.3,183.9 S335.9,182.1 336,181.6 S336.5,179.8 336.6,179.3 S337.1,177.5 337.3,177.1 S337.8,175.3 337.9,174.8 S338.4,173.1 338.6,172.7 S339.1,171 339.2,170.6 S339.7,169 339.8,168.6 S340.3,167.1 340.5,166.8 S341,165.4 341.1,165 S341.6,163.8 341.8,163.5 S342.3,162.4 342.4,162.1 S342.9,161.1 343,160.9 S343.5,160.1 343.7,159.9 S344.2,159.3 344.3,159.1 S344.8,158.6 345,158.5 S345.5,158.2 345.6,158.2 S346.1,158 346.2,158 S346.8,158.1 346.9,158.1 S347.4,158.3 347.5,158.4 S348,158.8 348.2,158.9 S348.8,159.7 348.8,159.6 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"><g stroke="rgb(0,0,0)" fill="rgb(255,0,0)"><circle cx="105" cy="180" r="4"/><circle cx="125.1" cy="180" r="4"/><circle cx="145.2" cy="180" r="4"/><circle cx="165.3" cy="180" r="4"/><circle cx="185.3" cy="180" r="4"/><circle cx="205.3" cy="180" r="4"/><circle cx="236.1" cy="180" r="4"/><circle cx="256.1" cy="180" r="4"/><circle cx="276.1" cy="180" r="4"/><circle cx="296.2" cy="180" r="4"/><circle cx="316.3" cy="180" r="4"/><circle cx="336.4" cy="180" r="4"/></g>
+</g>
+<g id="legendBackground" stroke="rgb(255,255,0)" fill="rgb(255,255,224)" stroke-width="1"><rect x="362.8" y="58" width="111.2" height="70"/><rect x="362.8" y="58" width="111.2" height="70"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,0)" fill="rgb(255,0,0)" stroke-width="2"><circle cx="376.8" cy="86" r="4"/><line x1="397.8" y1="86" x2="411.8" y2="86"/></g>
+<g stroke="rgb(0,0,255)" fill="rgb(255,255,255)" stroke-width="2"><line x1="376.8" y1="114" x2="390.8" y2="114"/></g>
+</g>
+<g id="legendText">
+<text x="418.8" y="86" font-size="14" font-family="Lucida Sans Unicode">zeros</text>
+<text x="397.8" y="114" font-size="14" font-family="Lucida Sans Unicode">J&#x2080;(x)</text></g>
+<g id="title" fill="rgb(0,0,0)">
+<text x="250" y="40" text-anchor="middle" font-size="20" font-family="Lucida Sans Unicode">Zeros of Bessel J&#x2080;(x)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/beta.png b/libs/math/doc/graphs/beta.png
index 87b84deba8..87b84deba8 100644
--- a/libs/math/doc/sf_and_dist/graphs/beta.png
+++ b/libs/math/doc/graphs/beta.png
Binary files differ
diff --git a/libs/math/doc/graphs/beta.svg b/libs/math/doc/graphs/beta.svg
new file mode 100644
index 0000000000..bc48101bfc
--- /dev/null
+++ b/libs/math/doc/graphs/beta.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="359.5" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="361.5" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="217.9" x2="437.3" y2="217.9"/><line x1="70.8" y1="341" x2="437.3" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,201.1 L75.8,201.1 M73.8,184.4 L75.8,184.4 M73.8,167.6 L75.8,167.6 M73.8,134.1 L75.8,134.1 M73.8,117.3 L75.8,117.3 M73.8,100.6 L75.8,100.6 M73.8,67.07 L75.8,67.07 M73.8,217.9 L75.8,217.9 M73.8,234.7 L75.8,234.7 M73.8,251.4 L75.8,251.4 M73.8,268.2 L75.8,268.2 M73.8,284.9 L75.8,284.9 M73.8,301.7 L75.8,301.7 M73.8,318.4 L75.8,318.4 M73.8,335.2 L75.8,335.2 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M93.52,341 L93.52,343 M111.2,341 L111.2,343 M129,341 L129,343 M164.4,341 L164.4,343 M182.1,341 L182.1,343 M199.8,341 L199.8,343 M235.3,341 L235.3,343 M253,341 L253,343 M270.7,341 L270.7,343 M306.2,341 L306.2,343 M323.9,341 L323.9,343 M341.6,341 L341.6,343 M377,341 L377,343 M394.8,341 L394.8,343 M412.5,341 L412.5,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,217.9 L75.8,217.9 M70.8,150.9 L75.8,150.9 M70.8,83.83 L75.8,83.83 M70.8,217.9 L75.8,217.9 M70.8,284.9 L75.8,284.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.8,341 L75.8,346 M146.7,341 L146.7,346 M217.6,341 L217.6,346 M288.4,341 L288.4,346 M359.3,341 L359.3,346 M430.2,341 L430.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="146.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="217.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="288.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="359.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="430.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="220.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="153.3" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="86.23" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="220.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="287.3" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">log(beta(a, z))</text></g>
+<g id="xLabel">
+<text x="256.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L77.57,168 L79.34,176.9 L81.12,181.9 L82.89,185.4 L84.66,188 L86.43,190.1 L88.2,191.8 L89.98,193.3 L91.75,194.6 L93.52,195.7 L95.29,196.7 L97.06,197.6 L98.84,198.4 L100.6,199.1 L102.4,199.8 L104.2,200.4 L105.9,201 L107.7,201.6 L109.5,202.1 L111.2,202.6 L113,203 L114.8,203.4 L116.6,203.8 L118.3,204.2 L120.1,204.6 L121.9,204.9 L123.6,205.3 L125.4,205.6 L127.2,205.9 L129,206.2 L130.7,206.5 L132.5,206.7 L134.3,207 L136,207.3 L137.8,207.5 L139.6,207.7 L141.4,208 L143.1,208.2 L144.9,208.4 L146.7,208.6 L148.5,208.8 L150.2,209 L152,209.2 L153.8,209.4 L155.5,209.6 L157.3,209.7 L159.1,209.9 L160.9,210.1 L162.6,210.3 L164.4,210.4 L166.2,210.6 L167.9,210.7 L169.7,210.9 L171.5,211 L173.3,211.2 L175,211.3 L176.8,211.4 L178.6,211.6 L180.3,211.7 L182.1,211.8 L183.9,212 L185.7,212.1 L187.4,212.2 L189.2,212.3 L191,212.5 L192.7,212.6 L194.5,212.7 L196.3,212.8 L198.1,212.9 L199.8,213 L201.6,213.1 L203.4,213.2 L205.2,213.4 L206.9,213.5 L208.7,213.6 L210.5,213.7 L212.2,213.8 L214,213.9 L215.8,213.9 L217.6,214 L219.3,214.1 L221.1,214.2 L222.9,214.3 L224.6,214.4 L226.4,214.5 L228.2,214.6 L230,214.7 L231.7,214.8 L233.5,214.8 L235.3,214.9 L237,215 L238.8,215.1 L240.6,215.2 L242.4,215.2 L244.1,215.3 L245.9,215.4 L247.7,215.5 L249.5,215.6 L251.2,215.6 L253,215.7 L254.8,215.8 L256.5,215.8 L258.3,215.9 L260.1,216 L261.9,216.1 L263.6,216.1 L265.4,216.2 L267.2,216.3 L268.9,216.3 L270.7,216.4 L272.5,216.5 L274.3,216.5 L276,216.6 L277.8,216.7 L279.6,216.7 L281.3,216.8 L283.1,216.8 L284.9,216.9 L286.7,217 L288.4,217 L290.2,217.1 L292,217.2 L293.8,217.2 L295.5,217.3 L297.3,217.3 L299.1,217.4 L300.8,217.4 L302.6,217.5 L304.4,217.6 L306.2,217.6 L307.9,217.7 L309.7,217.7 L311.5,217.8 L313.2,217.8 L315,217.9 L316.8,217.9 L318.6,218 L320.3,218 L322.1,218.1 L323.9,218.1 L325.6,218.2 L327.4,218.2 L329.2,218.3 L331,218.3 L332.7,218.4 L334.5,218.4 L336.3,218.5 L338.1,218.5 L339.8,218.6 L341.6,218.6 L343.4,218.7 L345.1,218.7 L346.9,218.8 L348.7,218.8 L350.5,218.9 L352.2,218.9 L354,219 L355.8,219 L357.5,219.1 L359.3,219.1 L361.1,219.1 L362.9,219.2 L364.6,219.2 L366.4,219.3 L368.2,219.3 L369.9,219.4 L371.7,219.4 L373.5,219.4 L375.3,219.5 L377,219.5 L378.8,219.6 L380.6,219.6 L382.3,219.7 L384.1,219.7 L385.9,219.7 L387.7,219.8 L389.4,219.8 L391.2,219.9 L393,219.9 L394.8,219.9 L396.5,220 L398.3,220 L400.1,220.1 L401.8,220.1 L403.6,220.1 L405.4,220.2 L407.2,220.2 L408.9,220.2 L410.7,220.3 L412.5,220.3 L414.2,220.4 L416,220.4 L417.8,220.4 L419.6,220.5 L421.3,220.5 L423.1,220.5 L424.9,220.6 L426.6,220.6 L428.4,220.6 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M75.8,63.55 L77.57,168.4 L79.34,177.7 L81.12,183.2 L82.89,187 L84.66,190 L86.43,192.5 L88.2,194.5 L89.98,196.3 L91.75,197.9 L93.52,199.3 L95.29,200.6 L97.06,201.8 L98.84,202.8 L100.6,203.8 L102.4,204.7 L104.2,205.6 L105.9,206.4 L107.7,207.2 L109.5,207.9 L111.2,208.6 L113,209.3 L114.8,209.9 L116.6,210.5 L118.3,211.1 L120.1,211.6 L121.9,212.1 L123.6,212.6 L125.4,213.1 L127.2,213.6 L129,214 L130.7,214.5 L132.5,214.9 L134.3,215.3 L136,215.7 L137.8,216.1 L139.6,216.5 L141.4,216.9 L143.1,217.2 L144.9,217.6 L146.7,217.9 L148.5,218.2 L150.2,218.6 L152,218.9 L153.8,219.2 L155.5,219.5 L157.3,219.8 L159.1,220.1 L160.9,220.3 L162.6,220.6 L164.4,220.9 L166.2,221.2 L167.9,221.4 L169.7,221.7 L171.5,221.9 L173.3,222.2 L175,222.4 L176.8,222.6 L178.6,222.9 L180.3,223.1 L182.1,223.3 L183.9,223.6 L185.7,223.8 L187.4,224 L189.2,224.2 L191,224.4 L192.7,224.6 L194.5,224.8 L196.3,225 L198.1,225.2 L199.8,225.4 L201.6,225.6 L203.4,225.8 L205.2,226 L206.9,226.1 L208.7,226.3 L210.5,226.5 L212.2,226.7 L214,226.9 L215.8,227 L217.6,227.2 L219.3,227.4 L221.1,227.5 L222.9,227.7 L224.6,227.8 L226.4,228 L228.2,228.2 L230,228.3 L231.7,228.5 L233.5,228.6 L235.3,228.8 L237,228.9 L238.8,229.1 L240.6,229.2 L242.4,229.4 L244.1,229.5 L245.9,229.6 L247.7,229.8 L249.5,229.9 L251.2,230 L253,230.2 L254.8,230.3 L256.5,230.4 L258.3,230.6 L260.1,230.7 L261.9,230.8 L263.6,231 L265.4,231.1 L267.2,231.2 L268.9,231.3 L270.7,231.5 L272.5,231.6 L274.3,231.7 L276,231.8 L277.8,231.9 L279.6,232.1 L281.3,232.2 L283.1,232.3 L284.9,232.4 L286.7,232.5 L288.4,232.6 L290.2,232.7 L292,232.8 L293.8,233 L295.5,233.1 L297.3,233.2 L299.1,233.3 L300.8,233.4 L302.6,233.5 L304.4,233.6 L306.2,233.7 L307.9,233.8 L309.7,233.9 L311.5,234 L313.2,234.1 L315,234.2 L316.8,234.3 L318.6,234.4 L320.3,234.5 L322.1,234.6 L323.9,234.7 L325.6,234.8 L327.4,234.9 L329.2,235 L331,235.1 L332.7,235.2 L334.5,235.3 L336.3,235.3 L338.1,235.4 L339.8,235.5 L341.6,235.6 L343.4,235.7 L345.1,235.8 L346.9,235.9 L348.7,236 L350.5,236.1 L352.2,236.1 L354,236.2 L355.8,236.3 L357.5,236.4 L359.3,236.5 L361.1,236.6 L362.9,236.7 L364.6,236.7 L366.4,236.8 L368.2,236.9 L369.9,237 L371.7,237.1 L373.5,237.1 L375.3,237.2 L377,237.3 L378.8,237.4 L380.6,237.5 L382.3,237.5 L384.1,237.6 L385.9,237.7 L387.7,237.8 L389.4,237.8 L391.2,237.9 L393,238 L394.8,238.1 L396.5,238.1 L398.3,238.2 L400.1,238.3 L401.8,238.4 L403.6,238.4 L405.4,238.5 L407.2,238.6 L408.9,238.6 L410.7,238.7 L412.5,238.8 L414.2,238.9 L416,238.9 L417.8,239 L419.6,239.1 L421.3,239.1 L423.1,239.2 L424.9,239.3 L426.6,239.3 L428.4,239.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M75.8,63.55 L77.57,169.1 L79.34,179.1 L81.12,185.2 L82.89,189.7 L84.66,193.4 L86.43,196.5 L88.2,199.2 L89.98,201.6 L91.75,203.8 L93.52,205.8 L95.29,207.6 L97.06,209.4 L98.84,211 L100.6,212.6 L102.4,214.1 L104.2,215.5 L105.9,216.9 L107.7,218.2 L109.5,219.5 L111.2,220.7 L113,221.9 L114.8,223 L116.6,224.1 L118.3,225.2 L120.1,226.2 L121.9,227.3 L123.6,228.3 L125.4,229.2 L127.2,230.2 L129,231.1 L130.7,232 L132.5,232.9 L134.3,233.8 L136,234.6 L137.8,235.5 L139.6,236.3 L141.4,237.1 L143.1,237.9 L144.9,238.7 L146.7,239.5 L148.5,240.2 L150.2,241 L152,241.7 L153.8,242.4 L155.5,243.2 L157.3,243.9 L159.1,244.6 L160.9,245.2 L162.6,245.9 L164.4,246.6 L166.2,247.2 L167.9,247.9 L169.7,248.5 L171.5,249.2 L173.3,249.8 L175,250.4 L176.8,251 L178.6,251.6 L180.3,252.2 L182.1,252.8 L183.9,253.4 L185.7,254 L187.4,254.6 L189.2,255.1 L191,255.7 L192.7,256.2 L194.5,256.8 L196.3,257.3 L198.1,257.9 L199.8,258.4 L201.6,258.9 L203.4,259.5 L205.2,260 L206.9,260.5 L208.7,261 L210.5,261.5 L212.2,262 L214,262.5 L215.8,263 L217.6,263.5 L219.3,264 L221.1,264.5 L222.9,264.9 L224.6,265.4 L226.4,265.9 L228.2,266.3 L230,266.8 L231.7,267.3 L233.5,267.7 L235.3,268.2 L237,268.6 L238.8,269.1 L240.6,269.5 L242.4,269.9 L244.1,270.4 L245.9,270.8 L247.7,271.2 L249.5,271.6 L251.2,272.1 L253,272.5 L254.8,272.9 L256.5,273.3 L258.3,273.7 L260.1,274.1 L261.9,274.5 L263.6,274.9 L265.4,275.3 L267.2,275.7 L268.9,276.1 L270.7,276.5 L272.5,276.9 L274.3,277.3 L276,277.7 L277.8,278.1 L279.6,278.4 L281.3,278.8 L283.1,279.2 L284.9,279.6 L286.7,279.9 L288.4,280.3 L290.2,280.7 L292,281 L293.8,281.4 L295.5,281.7 L297.3,282.1 L299.1,282.5 L300.8,282.8 L302.6,283.2 L304.4,283.5 L306.2,283.9 L307.9,284.2 L309.7,284.5 L311.5,284.9 L313.2,285.2 L315,285.6 L316.8,285.9 L318.6,286.2 L320.3,286.6 L322.1,286.9 L323.9,287.2 L325.6,287.5 L327.4,287.9 L329.2,288.2 L331,288.5 L332.7,288.8 L334.5,289.1 L336.3,289.5 L338.1,289.8 L339.8,290.1 L341.6,290.4 L343.4,290.7 L345.1,291 L346.9,291.3 L348.7,291.6 L350.5,291.9 L352.2,292.2 L354,292.5 L355.8,292.8 L357.5,293.1 L359.3,293.4 L361.1,293.7 L362.9,294 L364.6,294.3 L366.4,294.6 L368.2,294.9 L369.9,295.2 L371.7,295.5 L373.5,295.8 L375.3,296.1 L377,296.3 L378.8,296.6 L380.6,296.9 L382.3,297.2 L384.1,297.5 L385.9,297.7 L387.7,298 L389.4,298.3 L391.2,298.6 L393,298.8 L394.8,299.1 L396.5,299.4 L398.3,299.7 L400.1,299.9 L401.8,300.2 L403.6,300.5 L405.4,300.7 L407.2,301 L408.9,301.2 L410.7,301.5 L412.5,301.8 L414.2,302 L416,302.3 L417.8,302.5 L419.6,302.8 L421.3,303.1 L423.1,303.3 L424.9,303.6 L426.6,303.8 L428.4,304.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M75.8,63.55 L77.57,169.4 L79.34,179.6 L81.12,186 L82.89,190.7 L84.66,194.6 L86.43,197.9 L88.2,200.9 L89.98,203.5 L91.75,206 L93.52,208.2 L95.29,210.3 L97.06,212.3 L98.84,214.2 L100.6,216 L102.4,217.7 L104.2,219.4 L105.9,221 L107.7,222.5 L109.5,224 L111.2,225.5 L113,226.9 L114.8,228.3 L116.6,229.6 L118.3,230.9 L120.1,232.2 L121.9,233.4 L123.6,234.7 L125.4,235.9 L127.2,237 L129,238.2 L130.7,239.3 L132.5,240.5 L134.3,241.5 L136,242.6 L137.8,243.7 L139.6,244.7 L141.4,245.8 L143.1,246.8 L144.9,247.8 L146.7,248.8 L148.5,249.7 L150.2,250.7 L152,251.7 L153.8,252.6 L155.5,253.5 L157.3,254.4 L159.1,255.3 L160.9,256.2 L162.6,257.1 L164.4,258 L166.2,258.9 L167.9,259.7 L169.7,260.6 L171.5,261.4 L173.3,262.3 L175,263.1 L176.8,263.9 L178.6,264.7 L180.3,265.5 L182.1,266.3 L183.9,267.1 L185.7,267.9 L187.4,268.7 L189.2,269.4 L191,270.2 L192.7,270.9 L194.5,271.7 L196.3,272.4 L198.1,273.2 L199.8,273.9 L201.6,274.6 L203.4,275.3 L205.2,276.1 L206.9,276.8 L208.7,277.5 L210.5,278.2 L212.2,278.9 L214,279.6 L215.8,280.2 L217.6,280.9 L219.3,281.6 L221.1,282.3 L222.9,282.9 L224.6,283.6 L226.4,284.2 L228.2,284.9 L230,285.5 L231.7,286.2 L233.5,286.8 L235.3,287.5 L237,288.1 L238.8,288.7 L240.6,289.4 L242.4,290 L244.1,290.6 L245.9,291.2 L247.7,291.8 L249.5,292.4 L251.2,293 L253,293.6 L254.8,294.2 L256.5,294.8 L258.3,295.4 L260.1,296 L261.9,296.6 L263.6,297.1 L265.4,297.7 L267.2,298.3 L268.9,298.9 L270.7,299.4 L272.5,300 L274.3,300.6 L276,301.1 L277.8,301.7 L279.6,302.2 L281.3,302.8 L283.1,303.3 L284.9,303.9 L286.7,304.4 L288.4,304.9 L290.2,305.5 L292,306 L293.8,306.5 L295.5,307.1 L297.3,307.6 L299.1,308.1 L300.8,308.6 L302.6,309.2 L304.4,309.7 L306.2,310.2 L307.9,310.7 L309.7,311.2 L311.5,311.7 L313.2,312.2 L315,312.7 L316.8,313.2 L318.6,313.7 L320.3,314.2 L322.1,314.7 L323.9,315.2 L325.6,315.7 L327.4,316.2 L329.2,316.7 L331,317.1 L332.7,317.6 L334.5,318.1 L336.3,318.6 L338.1,319 L339.8,319.5 L341.6,320 L343.4,320.5 L345.1,320.9 L346.9,321.4 L348.7,321.9 L350.5,322.3 L352.2,322.8 L354,323.2 L355.8,323.7 L357.5,324.1 L359.3,324.6 L361.1,325 L362.9,325.5 L364.6,325.9 L366.4,326.4 L368.2,326.8 L369.9,327.3 L371.7,327.7 L373.5,328.2 L375.3,328.6 L377,329 L378.8,329.5 L380.6,329.9 L382.3,330.3 L384.1,330.8 L385.9,331.2 L387.7,331.6 L389.4,332 L391.2,332.5 L393,332.9 L394.8,333.3 L396.5,333.7 L398.3,334.1 L400.1,334.5 L401.8,335 L403.6,335.4 L405.4,335.8 L407.2,336.2 L408.9,336.6 L410.7,337 L412.5,337.4 L414.2,337.8 L416,338.2 L417.8,338.6 L419.6,339 L421.3,339.4 L423.1,339.8 L424.9,340.2 L426.6,340.6 L428.4,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="126"/><rect x="451.3" y="58" width="122.7" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="486.3" y="86" font-size="14" font-family="Verdana">a = 0.5</text>
+<text x="486.3" y="114" font-size="14" font-family="Verdana">a = 1.0</text>
+<text x="486.3" y="142" font-size="14" font-family="Verdana">a = 5.0</text>
+<text x="486.3" y="170" font-size="14" font-family="Verdana">a = 10.0</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">beta</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/beta_pdf.png b/libs/math/doc/graphs/beta_pdf.png
index d3220638c9..d3220638c9 100644
--- a/libs/math/doc/sf_and_dist/graphs/beta_pdf.png
+++ b/libs/math/doc/graphs/beta_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/beta_pdf.svg b/libs/math/doc/graphs/beta_pdf.svg
new file mode 100644
index 0000000000..03dd08d4b0
--- /dev/null
+++ b/libs/math/doc/graphs/beta_pdf.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="410.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="412.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="497" y2="341"/><line x1="79.2" y1="341" x2="497" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,332.1 L84.2,332.1 M82.2,323.1 L84.2,323.1 M82.2,314.2 L84.2,314.2 M82.2,305.3 L84.2,305.3 M82.2,287.4 L84.2,287.4 M82.2,278.5 L84.2,278.5 M82.2,269.6 L84.2,269.6 M82.2,260.6 L84.2,260.6 M82.2,242.8 L84.2,242.8 M82.2,233.8 L84.2,233.8 M82.2,224.9 L84.2,224.9 M82.2,216 L84.2,216 M82.2,198.1 L84.2,198.1 M82.2,189.2 L84.2,189.2 M82.2,180.3 L84.2,180.3 M82.2,171.3 L84.2,171.3 M82.2,153.5 L84.2,153.5 M82.2,144.6 L84.2,144.6 M82.2,135.6 L84.2,135.6 M82.2,126.7 L84.2,126.7 M82.2,108.8 L84.2,108.8 M82.2,99.91 L84.2,99.91 M82.2,90.98 L84.2,90.98 M82.2,82.05 L84.2,82.05 M82.2,64.19 L84.2,64.19 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M92.46,341 L92.46,343 M100.7,341 L100.7,343 M109,341 L109,343 M117.2,341 L117.2,343 M133.7,341 L133.7,343 M142,341 L142,343 M150.3,341 L150.3,343 M158.5,341 L158.5,343 M175,341 L175,343 M183.3,341 L183.3,343 M191.5,341 L191.5,343 M199.8,341 L199.8,343 M216.3,341 L216.3,343 M224.6,341 L224.6,343 M232.8,341 L232.8,343 M241.1,341 L241.1,343 M257.6,341 L257.6,343 M265.8,341 L265.8,343 M274.1,341 L274.1,343 M282.4,341 L282.4,343 M298.9,341 L298.9,343 M307.1,341 L307.1,343 M315.4,341 L315.4,343 M323.6,341 L323.6,343 M340.2,341 L340.2,343 M348.4,341 L348.4,343 M356.7,341 L356.7,343 M364.9,341 L364.9,343 M381.4,341 L381.4,343 M389.7,341 L389.7,343 M398,341 L398,343 M406.2,341 L406.2,343 M422.7,341 L422.7,343 M431,341 L431,343 M439.2,341 L439.2,343 M447.5,341 L447.5,343 M464,341 L464,343 M472.3,341 L472.3,343 M480.5,341 L480.5,343 M488.8,341 L488.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,296.4 L84.2,296.4 M79.2,251.7 L84.2,251.7 M79.2,207.1 L84.2,207.1 M79.2,162.4 L84.2,162.4 M79.2,117.8 L84.2,117.8 M79.2,73.12 L84.2,73.12 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M125.5,341 L125.5,346 M166.8,341 L166.8,346 M208.1,341 L208.1,346 M249.3,341 L249.3,346 M290.6,341 L290.6,346 M331.9,341 L331.9,346 M373.2,341 L373.2,346 M414.5,341 L414.5,346 M455.8,341 L455.8,346 M497,341 L497,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="125.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.1</text>
+<text x="166.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.2</text>
+<text x="208.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.3</text>
+<text x="249.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.4</text>
+<text x="290.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="331.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.6</text>
+<text x="373.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.7</text>
+<text x="414.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.8</text>
+<text x="455.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.9</text>
+<text x="497" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="298.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="254.1" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="209.5" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="164.8" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="120.2" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
+<text x="73.2" y="75.52" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="290.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M86.26,-61.97 L88.33,55.34 L90.39,107.2 L92.46,138 L94.52,158.9 L96.59,174.4 L98.65,186.3 L100.7,196 L102.8,203.9 L104.8,210.6 L106.9,216.3 L109,221.3 L111,225.7 L113.1,229.6 L115.2,233.1 L117.2,236.2 L119.3,239.1 L121.4,241.7 L123.4,244.1 L125.5,246.3 L127.5,248.3 L129.6,250.2 L131.7,251.9 L133.7,253.5 L135.8,255.1 L137.9,256.5 L139.9,257.8 L142,259.1 L144.1,260.3 L146.1,261.4 L148.2,262.5 L150.3,263.5 L152.3,264.4 L154.4,265.3 L156.4,266.2 L158.5,267 L160.6,267.8 L162.6,268.5 L164.7,269.3 L166.8,269.9 L168.8,270.6 L170.9,271.2 L173,271.8 L175,272.4 L177.1,272.9 L179.2,273.5 L181.2,274 L183.3,274.4 L185.3,274.9 L187.4,275.4 L189.5,275.8 L191.5,276.2 L193.6,276.6 L195.7,277 L197.7,277.3 L199.8,277.7 L201.9,278 L203.9,278.4 L206,278.7 L208.1,279 L210.1,279.3 L212.2,279.5 L214.2,279.8 L216.3,280.1 L218.4,280.3 L220.4,280.6 L222.5,280.8 L224.6,281 L226.6,281.2 L228.7,281.4 L230.8,281.6 L232.8,281.8 L234.9,282 L237,282.1 L239,282.3 L241.1,282.4 L243.1,282.6 L245.2,282.7 L247.3,282.9 L249.3,283 L251.4,283.1 L253.5,283.2 L255.5,283.3 L257.6,283.4 L259.7,283.5 L261.7,283.6 L263.8,283.7 L265.8,283.7 L267.9,283.8 L270,283.9 L272,283.9 L274.1,284 L276.2,284 L278.2,284.1 L280.3,284.1 L282.4,284.1 L284.4,284.1 L286.5,284.1 L288.6,284.2 L290.6,284.2 L292.7,284.2 L294.7,284.1 L296.8,284.1 L298.9,284.1 L300.9,284.1 L303,284.1 L305.1,284 L307.1,284 L309.2,283.9 L311.3,283.9 L313.3,283.8 L315.4,283.7 L317.5,283.7 L319.5,283.6 L321.6,283.5 L323.6,283.4 L325.7,283.3 L327.8,283.2 L329.8,283.1 L331.9,283 L334,282.9 L336,282.7 L338.1,282.6 L340.2,282.4 L342.2,282.3 L344.3,282.1 L346.4,282 L348.4,281.8 L350.5,281.6 L352.5,281.4 L354.6,281.2 L356.7,281 L358.7,280.8 L360.8,280.6 L362.9,280.3 L364.9,280.1 L367,279.8 L369.1,279.5 L371.1,279.3 L373.2,279 L375.3,278.7 L377.3,278.4 L379.4,278 L381.4,277.7 L383.5,277.3 L385.6,277 L387.6,276.6 L389.7,276.2 L391.8,275.8 L393.8,275.4 L395.9,274.9 L398,274.4 L400,274 L402.1,273.5 L404.2,272.9 L406.2,272.4 L408.3,271.8 L410.3,271.2 L412.4,270.6 L414.5,269.9 L416.5,269.3 L418.6,268.5 L420.7,267.8 L422.7,267 L424.8,266.2 L426.9,265.3 L428.9,264.4 L431,263.5 L433,262.5 L435.1,261.4 L437.2,260.3 L439.2,259.1 L441.3,257.8 L443.4,256.5 L445.4,255.1 L447.5,253.5 L449.6,251.9 L451.6,250.2 L453.7,248.3 L455.8,246.3 L457.8,244.1 L459.9,241.7 L461.9,239.1 L464,236.2 L466.1,233.1 L468.1,229.6 L470.2,225.7 L472.3,221.3 L474.3,216.3 L476.4,210.6 L478.5,203.9 L480.5,196 L482.6,186.3 L484.7,174.4 L486.7,158.9 L488.8,138 L490.8,107.2 L492.9,55.34 L495,-61.97 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.26,341 L88.33,341 L90.39,341 L92.46,341 L94.52,341 L96.59,341 L98.65,341 L100.7,341 L102.8,341 L104.8,341 L106.9,341 L109,341 L111,341 L113.1,341 L115.2,341 L117.2,341 L119.3,341 L121.4,341 L123.4,341 L125.5,341 L127.5,340.9 L129.6,340.9 L131.7,340.9 L133.7,340.9 L135.8,340.9 L137.9,340.9 L139.9,340.9 L142,340.8 L144.1,340.8 L146.1,340.8 L148.2,340.7 L150.3,340.7 L152.3,340.7 L154.4,340.6 L156.4,340.6 L158.5,340.5 L160.6,340.5 L162.6,340.4 L164.7,340.4 L166.8,340.3 L168.8,340.2 L170.9,340.1 L173,340 L175,340 L177.1,339.9 L179.2,339.8 L181.2,339.6 L183.3,339.5 L185.3,339.4 L187.4,339.3 L189.5,339.1 L191.5,339 L193.6,338.8 L195.7,338.6 L197.7,338.4 L199.8,338.3 L201.9,338.1 L203.9,337.8 L206,337.6 L208.1,337.4 L210.1,337.1 L212.2,336.9 L214.2,336.6 L216.3,336.3 L218.4,336 L220.4,335.7 L222.5,335.4 L224.6,335 L226.6,334.7 L228.7,334.3 L230.8,333.9 L232.8,333.5 L234.9,333.1 L237,332.6 L239,332.2 L241.1,331.7 L243.1,331.2 L245.2,330.7 L247.3,330.1 L249.3,329.6 L251.4,329 L253.5,328.4 L255.5,327.8 L257.6,327.1 L259.7,326.4 L261.7,325.7 L263.8,325 L265.8,324.3 L267.9,323.5 L270,322.7 L272,321.9 L274.1,321 L276.2,320.1 L278.2,319.2 L280.3,318.3 L282.4,317.3 L284.4,316.3 L286.5,315.3 L288.6,314.2 L290.6,313.1 L292.7,312 L294.7,310.8 L296.8,309.6 L298.9,308.4 L300.9,307.1 L303,305.8 L305.1,304.4 L307.1,303 L309.2,301.6 L311.3,300.1 L313.3,298.6 L315.4,297.1 L317.5,295.5 L319.5,293.9 L321.6,292.2 L323.6,290.5 L325.7,288.7 L327.8,286.9 L329.8,285 L331.9,283.1 L334,281.2 L336,279.2 L338.1,277.1 L340.2,275 L342.2,272.9 L344.3,270.7 L346.4,268.4 L348.4,266.1 L350.5,263.7 L352.5,261.3 L354.6,258.8 L356.7,256.3 L358.7,253.7 L360.8,251 L362.9,248.3 L364.9,245.5 L367,242.7 L369.1,239.8 L371.1,236.8 L373.2,233.8 L375.3,230.7 L377.3,227.5 L379.4,224.3 L381.4,221 L383.5,217.6 L385.6,214.2 L387.6,210.7 L389.7,207.1 L391.8,203.5 L393.8,199.7 L395.9,195.9 L398,192 L400,188.1 L402.1,184.1 L404.2,179.9 L406.2,175.7 L408.3,171.5 L410.3,167.1 L412.4,162.7 L414.5,158.1 L416.5,153.5 L418.6,148.8 L420.7,144 L422.7,139.1 L424.8,134.2 L426.9,129.1 L428.9,124 L431,118.7 L433,113.4 L435.1,107.9 L437.2,102.4 L439.2,96.78 L441.3,91.05 L443.4,85.22 L445.4,79.29 L447.5,73.26 L449.6,67.12 L451.6,60.88 L453.7,54.53 L455.8,48.07 L457.8,41.51 L459.9,34.83 L461.9,28.05 L464,21.15 L466.1,14.14 L468.1,7.019 L470.2,-0.2218 L472.3,-7.579 L474.3,-15.06 L476.4,-22.65 L478.5,-30.37 L480.5,-38.21 L482.6,-46.17 L484.7,-54.25 L486.7,-62.47 L488.8,-70.81 L490.8,-79.28 L492.9,-87.88 L495,-96.61 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,73.12 L86.26,75.79 L88.33,78.45 L90.39,81.1 L92.46,83.73 L94.52,86.35 L96.59,88.95 L98.65,91.54 L100.7,94.12 L102.8,96.69 L104.8,99.24 L106.9,101.8 L109,104.3 L111,106.8 L113.1,109.3 L115.2,111.8 L117.2,114.3 L119.3,116.7 L121.4,119.2 L123.4,121.6 L125.5,124 L127.5,126.4 L129.6,128.8 L131.7,131.2 L133.7,133.6 L135.8,135.9 L137.9,138.2 L139.9,140.6 L142,142.9 L144.1,145.2 L146.1,147.5 L148.2,149.7 L150.3,152 L152.3,154.2 L154.4,156.5 L156.4,158.7 L158.5,160.9 L160.6,163.1 L162.6,165.2 L164.7,167.4 L166.8,169.6 L168.8,171.7 L170.9,173.8 L173,175.9 L175,178 L177.1,180.1 L179.2,182.2 L181.2,184.2 L183.3,186.3 L185.3,188.3 L187.4,190.3 L189.5,192.3 L191.5,194.3 L193.6,196.3 L195.7,198.2 L197.7,200.2 L199.8,202.1 L201.9,204.1 L203.9,206 L206,207.9 L208.1,209.7 L210.1,211.6 L212.2,213.5 L214.2,215.3 L216.3,217.1 L218.4,218.9 L220.4,220.7 L222.5,222.5 L224.6,224.3 L226.6,226.1 L228.7,227.8 L230.8,229.6 L232.8,231.3 L234.9,233 L237,234.7 L239,236.4 L241.1,238 L243.1,239.7 L245.2,241.3 L247.3,242.9 L249.3,244.6 L251.4,246.2 L253.5,247.8 L255.5,249.3 L257.6,250.9 L259.7,252.4 L261.7,254 L263.8,255.5 L265.8,257 L267.9,258.5 L270,260 L272,261.4 L274.1,262.9 L276.2,264.3 L278.2,265.8 L280.3,267.2 L282.4,268.6 L284.4,270 L286.5,271.3 L288.6,272.7 L290.6,274 L292.7,275.4 L294.7,276.7 L296.8,278 L298.9,279.3 L300.9,280.6 L303,281.8 L305.1,283.1 L307.1,284.3 L309.2,285.5 L311.3,286.8 L313.3,288 L315.4,289.1 L317.5,290.3 L319.5,291.5 L321.6,292.6 L323.6,293.7 L325.7,294.9 L327.8,296 L329.8,297.1 L331.9,298.1 L334,299.2 L336,300.3 L338.1,301.3 L340.2,302.3 L342.2,303.3 L344.3,304.3 L346.4,305.3 L348.4,306.3 L350.5,307.2 L352.5,308.2 L354.6,309.1 L356.7,310 L358.7,310.9 L360.8,311.8 L362.9,312.7 L364.9,313.6 L367,314.4 L369.1,315.3 L371.1,316.1 L373.2,316.9 L375.3,317.7 L377.3,318.5 L379.4,319.2 L381.4,320 L383.5,320.7 L385.6,321.5 L387.6,322.2 L389.7,322.9 L391.8,323.6 L393.8,324.3 L395.9,324.9 L398,325.6 L400,326.2 L402.1,326.8 L404.2,327.4 L406.2,328 L408.3,328.6 L410.3,329.2 L412.4,329.7 L414.5,330.3 L416.5,330.8 L418.6,331.3 L420.7,331.8 L422.7,332.3 L424.8,332.8 L426.9,333.3 L428.9,333.7 L431,334.1 L433,334.6 L435.1,335 L437.2,335.4 L439.2,335.7 L441.3,336.1 L443.4,336.5 L445.4,336.8 L447.5,337.1 L449.6,337.5 L451.6,337.8 L453.7,338 L455.8,338.3 L457.8,338.6 L459.9,338.8 L461.9,339.1 L464,339.3 L466.1,339.5 L468.1,339.7 L470.2,339.9 L472.3,340 L474.3,340.2 L476.4,340.3 L478.5,340.5 L480.5,340.6 L482.6,340.7 L484.7,340.8 L486.7,340.8 L488.8,340.9 L490.8,340.9 L492.9,341 L495,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.26,338.3 L88.33,335.7 L90.39,333.1 L92.46,330.5 L94.52,327.9 L96.59,325.4 L98.65,322.9 L100.7,320.4 L102.8,318 L104.8,315.6 L106.9,313.2 L109,310.8 L111,308.4 L113.1,306.1 L115.2,303.8 L117.2,301.6 L119.3,299.3 L121.4,297.1 L123.4,294.9 L125.5,292.8 L127.5,290.7 L129.6,288.5 L131.7,286.5 L133.7,284.4 L135.8,282.4 L137.9,280.4 L139.9,278.4 L142,276.5 L144.1,274.6 L146.1,272.7 L148.2,270.8 L150.3,269 L152.3,267.2 L154.4,265.4 L156.4,263.6 L158.5,261.9 L160.6,260.2 L162.6,258.5 L164.7,256.9 L166.8,255.3 L168.8,253.7 L170.9,252.1 L173,250.6 L175,249.1 L177.1,247.6 L179.2,246.1 L181.2,244.7 L183.3,243.3 L185.3,241.9 L187.4,240.5 L189.5,239.2 L191.5,237.9 L193.6,236.6 L195.7,235.4 L197.7,234.2 L199.8,233 L201.9,231.8 L203.9,230.7 L206,229.6 L208.1,228.5 L210.1,227.4 L212.2,226.4 L214.2,225.4 L216.3,224.4 L218.4,223.5 L220.4,222.5 L222.5,221.6 L224.6,220.8 L226.6,219.9 L228.7,219.1 L230.8,218.3 L232.8,217.6 L234.9,216.8 L237,216.1 L239,215.4 L241.1,214.8 L243.1,214.1 L245.2,213.5 L247.3,213 L249.3,212.4 L251.4,211.9 L253.5,211.4 L255.5,210.9 L257.6,210.5 L259.7,210.1 L261.7,209.7 L263.8,209.3 L265.8,209 L267.9,208.7 L270,208.4 L272,208.1 L274.1,207.9 L276.2,207.7 L278.2,207.5 L280.3,207.4 L282.4,207.3 L284.4,207.2 L286.5,207.1 L288.6,207.1 L290.6,207.1 L292.7,207.1 L294.7,207.1 L296.8,207.2 L298.9,207.3 L300.9,207.4 L303,207.5 L305.1,207.7 L307.1,207.9 L309.2,208.1 L311.3,208.4 L313.3,208.7 L315.4,209 L317.5,209.3 L319.5,209.7 L321.6,210.1 L323.6,210.5 L325.7,210.9 L327.8,211.4 L329.8,211.9 L331.9,212.4 L334,213 L336,213.5 L338.1,214.1 L340.2,214.8 L342.2,215.4 L344.3,216.1 L346.4,216.8 L348.4,217.6 L350.5,218.3 L352.5,219.1 L354.6,219.9 L356.7,220.8 L358.7,221.6 L360.8,222.5 L362.9,223.5 L364.9,224.4 L367,225.4 L369.1,226.4 L371.1,227.4 L373.2,228.5 L375.3,229.6 L377.3,230.7 L379.4,231.8 L381.4,233 L383.5,234.2 L385.6,235.4 L387.6,236.6 L389.7,237.9 L391.8,239.2 L393.8,240.5 L395.9,241.9 L398,243.3 L400,244.7 L402.1,246.1 L404.2,247.6 L406.2,249.1 L408.3,250.6 L410.3,252.1 L412.4,253.7 L414.5,255.3 L416.5,256.9 L418.6,258.5 L420.7,260.2 L422.7,261.9 L424.8,263.6 L426.9,265.4 L428.9,267.2 L431,269 L433,270.8 L435.1,272.7 L437.2,274.6 L439.2,276.5 L441.3,278.4 L443.4,280.4 L445.4,282.4 L447.5,284.4 L449.6,286.5 L451.6,288.5 L453.7,290.7 L455.8,292.8 L457.8,294.9 L459.9,297.1 L461.9,299.3 L464,301.6 L466.1,303.8 L468.1,306.1 L470.2,308.4 L472.3,310.8 L474.3,313.2 L476.4,315.6 L478.5,318 L480.5,320.4 L482.6,322.9 L484.7,325.4 L486.7,327.9 L488.8,330.5 L490.8,333.1 L492.9,335.7 L495,338.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.26,327.9 L88.33,315.3 L90.39,303.2 L92.46,291.6 L94.52,280.5 L96.59,269.9 L98.65,259.7 L100.7,250 L102.8,240.7 L104.8,231.9 L106.9,223.5 L109,215.5 L111,207.9 L113.1,200.7 L115.2,193.9 L117.2,187.5 L119.3,181.4 L121.4,175.7 L123.4,170.3 L125.5,165.2 L127.5,160.5 L129.6,156.1 L131.7,152 L133.7,148.2 L135.8,144.7 L137.9,141.5 L139.9,138.5 L142,135.9 L144.1,133.4 L146.1,131.2 L148.2,129.3 L150.3,127.6 L152.3,126.1 L154.4,124.9 L156.4,123.8 L158.5,123 L160.6,122.4 L162.6,121.9 L164.7,121.6 L166.8,121.6 L168.8,121.6 L170.9,121.9 L173,122.3 L175,122.9 L177.1,123.6 L179.2,124.4 L181.2,125.4 L183.3,126.5 L185.3,127.7 L187.4,129.1 L189.5,130.6 L191.5,132.1 L193.6,133.8 L195.7,135.6 L197.7,137.5 L199.8,139.4 L201.9,141.5 L203.9,143.6 L206,145.8 L208.1,148 L210.1,150.4 L212.2,152.8 L214.2,155.2 L216.3,157.7 L218.4,160.3 L220.4,162.9 L222.5,165.5 L224.6,168.2 L226.6,170.9 L228.7,173.6 L230.8,176.4 L232.8,179.2 L234.9,182 L237,184.9 L239,187.7 L241.1,190.6 L243.1,193.5 L245.2,196.3 L247.3,199.2 L249.3,202.1 L251.4,205 L253.5,207.9 L255.5,210.8 L257.6,213.7 L259.7,216.5 L261.7,219.4 L263.8,222.3 L265.8,225.1 L267.9,227.9 L270,230.7 L272,233.5 L274.1,236.2 L276.2,239 L278.2,241.7 L280.3,244.3 L282.4,247 L284.4,249.6 L286.5,252.2 L288.6,254.8 L290.6,257.3 L292.7,259.8 L294.7,262.2 L296.8,264.7 L298.9,267.1 L300.9,269.4 L303,271.7 L305.1,274 L307.1,276.2 L309.2,278.4 L311.3,280.6 L313.3,282.7 L315.4,284.8 L317.5,286.8 L319.5,288.8 L321.6,290.7 L323.6,292.7 L325.7,294.5 L327.8,296.3 L329.8,298.1 L331.9,299.9 L334,301.5 L336,303.2 L338.1,304.8 L340.2,306.4 L342.2,307.9 L344.3,309.4 L346.4,310.8 L348.4,312.2 L350.5,313.6 L352.5,314.9 L354.6,316.1 L356.7,317.4 L358.7,318.6 L360.8,319.7 L362.9,320.8 L364.9,321.9 L367,322.9 L369.1,323.9 L371.1,324.9 L373.2,325.8 L375.3,326.7 L377.3,327.5 L379.4,328.4 L381.4,329.1 L383.5,329.9 L385.6,330.6 L387.6,331.3 L389.7,331.9 L391.8,332.6 L393.8,333.2 L395.9,333.7 L398,334.2 L400,334.8 L402.1,335.2 L404.2,335.7 L406.2,336.1 L408.3,336.5 L410.3,336.9 L412.4,337.2 L414.5,337.6 L416.5,337.9 L418.6,338.2 L420.7,338.4 L422.7,338.7 L424.8,338.9 L426.9,339.1 L428.9,339.3 L431,339.5 L433,339.7 L435.1,339.8 L437.2,340 L439.2,340.1 L441.3,340.2 L443.4,340.3 L445.4,340.4 L447.5,340.5 L449.6,340.6 L451.6,340.7 L453.7,340.7 L455.8,340.8 L457.8,340.8 L459.9,340.8 L461.9,340.9 L464,340.9 L466.1,340.9 L468.1,340.9 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="limitPoints" stroke="rgb(119,136,153)" fill="rgb(250,235,215)"><polygon points=" 79.2,48 89.2,48 84.2,58"/></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="511" y="58" width="213" height="165"/><rect x="511" y="58" width="213" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="88" x2="541" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="118" x2="541" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="148" x2="541" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="178" x2="541" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="208" x2="541" y2="208"/></g>
+</g>
+<g id="legendText">
+<text x="548.5" y="88" font-size="15" font-family="Verdana">alpha=0.5, beta=0.5</text>
+<text x="548.5" y="118" font-size="15" font-family="Verdana">alpha=5, beta=1</text>
+<text x="548.5" y="148" font-size="15" font-family="Verdana">alpha=1, beta=3</text>
+<text x="548.5" y="178" font-size="15" font-family="Verdana">alpha=2, beta=2</text>
+<text x="548.5" y="208" font-size="15" font-family="Verdana">alpha=2, beta=5</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Beta Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/binomial_pdf.png b/libs/math/doc/graphs/binomial_pdf.png
index 4d136c9850..4d136c9850 100644
--- a/libs/math/doc/sf_and_dist/graphs/binomial_pdf.png
+++ b/libs/math/doc/graphs/binomial_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.png b/libs/math/doc/graphs/binomial_pdf_1.png
index ce946aa6fc..ce946aa6fc 100644
--- a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.png
+++ b/libs/math/doc/graphs/binomial_pdf_1.png
Binary files differ
diff --git a/libs/math/doc/graphs/binomial_pdf_1.svg b/libs/math/doc/graphs/binomial_pdf_1.svg
new file mode 100644
index 0000000000..23bbe5000e
--- /dev/null
+++ b/libs/math/doc/graphs/binomial_pdf_1.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="473" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="475" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="97.26" y1="58" x2="97.26" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="567.6" y2="341"/><line x1="87.6" y1="341" x2="567.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,332.8 L92.6,332.8 M90.6,324.5 L92.6,324.5 M90.6,316.3 L92.6,316.3 M90.6,308.1 L92.6,308.1 M90.6,291.6 L92.6,291.6 M90.6,283.4 L92.6,283.4 M90.6,275.1 L92.6,275.1 M90.6,266.9 L92.6,266.9 M90.6,250.4 L92.6,250.4 M90.6,242.2 L92.6,242.2 M90.6,234 L92.6,234 M90.6,225.7 L92.6,225.7 M90.6,209.3 L92.6,209.3 M90.6,201 L92.6,201 M90.6,192.8 L92.6,192.8 M90.6,184.6 L92.6,184.6 M90.6,168.1 L92.6,168.1 M90.6,159.9 L92.6,159.9 M90.6,151.6 L92.6,151.6 M90.6,143.4 L92.6,143.4 M90.6,126.9 L92.6,126.9 M90.6,118.7 L92.6,118.7 M90.6,110.5 L92.6,110.5 M90.6,102.3 L92.6,102.3 M90.6,85.79 L92.6,85.79 M90.6,77.55 L92.6,77.55 M90.6,69.32 L92.6,69.32 M90.6,61.09 L92.6,61.09 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,299.8 L92.6,299.8 M87.6,258.7 L92.6,258.7 M87.6,217.5 L92.6,217.5 M87.6,176.3 L92.6,176.3 M87.6,135.2 L92.6,135.2 M87.6,94.02 L92.6,94.02 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M97.26,341 L97.26,346 M190.4,341 L190.4,346 M283.5,341 L283.5,346 M376.7,341 L376.7,346 M469.8,341 L469.8,346 M562.9,341 L562.9,346 M97.26,341 L97.26,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="97.26" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="190.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="283.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="376.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
+<text x="469.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">40</text>
+<text x="562.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
+<text x="97.26" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="302.2" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="261.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="219.9" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
+<text x="81.6" y="178.7" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="81.6" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.25</text>
+<text x="81.6" y="96.42" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="330.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.76,341 L93.76,341 L93.76,315.3 L96.09,315.3 L96.09,341 L103.1,341 L103.1,212.4 L105.4,212.4 L105.4,341 L112.4,341 L112.4,83.73 L114.7,83.73 L114.7,341 L121.7,341 L121.7,83.73 L124,83.73 L124,341 L131,341 L131,212.4 L133.3,212.4 L133.3,341 L140.3,341 L140.3,315.3 L142.7,315.3 L142.7,341 L149.6,341 L149.6,341 L152,341 L152,341 L159,341 L159,341 L161.3,341 L161.3,341 L168.3,341 L168.3,341 L170.6,341 L170.6,341 L177.6,341 L177.6,341 L179.9,341 L179.9,341 L186.9,341 L186.9,341 L189.2,341 L189.2,341 L196.2,341 L196.2,341 L198.5,341 L198.5,341 L205.5,341 L205.5,341 L207.9,341 L207.9,341 L214.8,341 L214.8,341 L217.2,341 L217.2,341 L224.2,341 L224.2,341 L226.5,341 L226.5,341 L233.5,341 L233.5,341 L235.8,341 L235.8,341 L242.8,341 L242.8,341 L245.1,341 L245.1,341 L252.1,341 L252.1,341 L254.4,341 L254.4,341 L261.4,341 L261.4,341 L263.7,341 L263.7,341 L270.7,341 L270.7,341 L273.1,341 L273.1,341 L280,341 L280,341 L282.4,341 L282.4,341 L289.4,341 L289.4,341 L291.7,341 L291.7,341 L298.7,341 L298.7,341 L301,341 L301,341 L308,341 L308,341 L310.3,341 L310.3,341 L317.3,341 L317.3,341 L319.6,341 L319.6,341 L326.6,341 L326.6,341 L328.9,341 L328.9,341 L335.9,341 L335.9,341 L338.2,341 L338.2,341 L345.2,341 L345.2,341 L347.6,341 L347.6,341 L354.5,341 L354.5,341 L356.9,341 L356.9,341 L363.9,341 L363.9,341 L366.2,341 L366.2,341 L373.2,341 L373.2,341 L375.5,341 L375.5,341 L382.5,341 L382.5,341 L384.8,341 L384.8,341 L391.8,341 L391.8,341 L394.1,341 L394.1,341 L401.1,341 L401.1,341 L403.4,341 L403.4,341 L410.4,341 L410.4,341 L412.8,341 L412.8,341 L419.7,341 L419.7,341 L422.1,341 L422.1,341 L429.1,341 L429.1,341 L431.4,341 L431.4,341 L438.4,341 L438.4,341 L440.7,341 L440.7,341 L447.7,341 L447.7,341 L450,341 L450,341 L457,341 L457,341 L459.3,341 L459.3,341 L466.3,341 L466.3,341 L468.6,341 L468.6,341 L475.6,341 L475.6,341 L478,341 L478,341 L484.9,341 L484.9,341 L487.3,341 L487.3,341 L494.3,341 L494.3,341 L496.6,341 L496.6,341 L503.6,341 L503.6,341 L505.9,341 L505.9,341 L512.9,341 L512.9,341 L515.2,341 L515.2,341 L522.2,341 L522.2,341 L524.5,341 L524.5,341 L531.5,341 L531.5,341 L533.8,341 L533.8,341 L540.8,341 L540.8,341 L543.2,341 L543.2,341 L550.1,341 L550.1,341 L552.5,341 L552.5,341 L559.5,341 L559.5,341 L561.8,341 L561.8,341 L561.8,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M96.09,341 L96.09,341 L96.09,341 L98.42,341 L98.42,341 L105.4,341 L105.4,341 L107.7,341 L107.7,341 L114.7,341 L114.7,340.9 L117,340.9 L117,341 L124,341 L124,340.1 L126.4,340.1 L126.4,341 L133.3,341 L133.3,337.2 L135.7,337.2 L135.7,341 L142.7,341 L142.7,328.8 L145,328.8 L145,341 L152,341 L152,310.6 L154.3,310.6 L154.3,341 L161.3,341 L161.3,280.1 L163.6,280.1 L163.6,341 L170.6,341 L170.6,242.1 L172.9,242.1 L172.9,341 L179.9,341 L179.9,209.1 L182.2,209.1 L182.2,341 L189.2,341 L189.2,195.9 L191.6,195.9 L191.6,341 L198.5,341 L198.5,209.1 L200.9,209.1 L200.9,341 L207.9,341 L207.9,242.1 L210.2,242.1 L210.2,341 L217.2,341 L217.2,280.1 L219.5,280.1 L219.5,341 L226.5,341 L226.5,310.6 L228.8,310.6 L228.8,341 L235.8,341 L235.8,328.8 L238.1,328.8 L238.1,341 L245.1,341 L245.1,337.2 L247.4,337.2 L247.4,341 L254.4,341 L254.4,340.1 L256.8,340.1 L256.8,341 L263.7,341 L263.7,340.9 L266.1,340.9 L266.1,341 L273.1,341 L273.1,341 L275.4,341 L275.4,341 L282.4,341 L282.4,341 L284.7,341 L284.7,341 L291.7,341 L291.7,341 L294,341 L294,341 L301,341 L301,341 L303.3,341 L303.3,341 L310.3,341 L310.3,341 L312.6,341 L312.6,341 L319.6,341 L319.6,341 L322,341 L322,341 L328.9,341 L328.9,341 L331.3,341 L331.3,341 L338.2,341 L338.2,341 L340.6,341 L340.6,341 L347.6,341 L347.6,341 L349.9,341 L349.9,341 L356.9,341 L356.9,341 L359.2,341 L359.2,341 L366.2,341 L366.2,341 L368.5,341 L368.5,341 L375.5,341 L375.5,341 L377.8,341 L377.8,341 L384.8,341 L384.8,341 L387.1,341 L387.1,341 L394.1,341 L394.1,341 L396.5,341 L396.5,341 L403.4,341 L403.4,341 L405.8,341 L405.8,341 L412.8,341 L412.8,341 L415.1,341 L415.1,341 L422.1,341 L422.1,341 L424.4,341 L424.4,341 L431.4,341 L431.4,341 L433.7,341 L433.7,341 L440.7,341 L440.7,341 L443,341 L443,341 L450,341 L450,341 L452.3,341 L452.3,341 L459.3,341 L459.3,341 L461.7,341 L461.7,341 L468.6,341 L468.6,341 L471,341 L471,341 L478,341 L478,341 L480.3,341 L480.3,341 L487.3,341 L487.3,341 L489.6,341 L489.6,341 L496.6,341 L496.6,341 L498.9,341 L498.9,341 L505.9,341 L505.9,341 L508.2,341 L508.2,341 L515.2,341 L515.2,341 L517.5,341 L517.5,341 L524.5,341 L524.5,341 L526.9,341 L526.9,341 L533.8,341 L533.8,341 L536.2,341 L536.2,341 L543.2,341 L543.2,341 L545.5,341 L545.5,341 L552.5,341 L552.5,341 L554.8,341 L554.8,341 L561.8,341 L561.8,341 L564.1,341 L564.1,341 L564.1,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M98.42,341 L98.42,341 L98.42,341 L100.7,341 L100.7,341 L107.7,341 L107.7,341 L110.1,341 L110.1,341 L117,341 L117,341 L119.4,341 L119.4,341 L126.4,341 L126.4,341 L128.7,341 L128.7,341 L135.7,341 L135.7,341 L138,341 L138,341 L145,341 L145,341 L147.3,341 L147.3,341 L154.3,341 L154.3,341 L156.6,341 L156.6,341 L163.6,341 L163.6,341 L165.9,341 L165.9,341 L172.9,341 L172.9,341 L175.3,341 L175.3,341 L182.2,341 L182.2,341 L184.6,341 L184.6,341 L191.6,341 L191.6,341 L193.9,341 L193.9,341 L200.9,341 L200.9,341 L203.2,341 L203.2,341 L210.2,341 L210.2,340.9 L212.5,340.9 L212.5,341 L219.5,341 L219.5,340.7 L221.8,340.7 L221.8,341 L228.8,341 L228.8,340.3 L231.1,340.3 L231.1,341 L238.1,341 L238.1,339.4 L240.5,339.4 L240.5,341 L247.4,341 L247.4,337.4 L249.8,337.4 L249.8,341 L256.8,341 L256.8,333.8 L259.1,333.8 L259.1,341 L266.1,341 L266.1,327.8 L268.4,327.8 L268.4,341 L275.4,341 L275.4,318.8 L277.7,318.8 L277.7,341 L284.7,341 L284.7,306.5 L287,306.5 L287,341 L294,341 L294,291.8 L296.3,291.8 L296.3,341 L303.3,341 L303.3,276.1 L305.7,276.1 L305.7,341 L312.6,341 L312.6,262 L315,262 L315,341 L322,341 L322,252.1 L324.3,252.1 L324.3,341 L331.3,341 L331.3,248.6 L333.6,248.6 L333.6,341 L340.6,341 L340.6,252.1 L342.9,252.1 L342.9,341 L349.9,341 L349.9,262 L352.2,262 L352.2,341 L359.2,341 L359.2,276.1 L361.5,276.1 L361.5,341 L368.5,341 L368.5,291.8 L370.8,291.8 L370.8,341 L377.8,341 L377.8,306.5 L380.2,306.5 L380.2,341 L387.1,341 L387.1,318.8 L389.5,318.8 L389.5,341 L396.5,341 L396.5,327.8 L398.8,327.8 L398.8,341 L405.8,341 L405.8,333.8 L408.1,333.8 L408.1,341 L415.1,341 L415.1,337.4 L417.4,337.4 L417.4,341 L424.4,341 L424.4,339.4 L426.7,339.4 L426.7,341 L433.7,341 L433.7,340.3 L436,340.3 L436,341 L443,341 L443,340.7 L445.4,340.7 L445.4,341 L452.3,341 L452.3,340.9 L454.7,340.9 L454.7,341 L461.7,341 L461.7,341 L464,341 L464,341 L471,341 L471,341 L473.3,341 L473.3,341 L480.3,341 L480.3,341 L482.6,341 L482.6,341 L489.6,341 L489.6,341 L491.9,341 L491.9,341 L498.9,341 L498.9,341 L501.2,341 L501.2,341 L508.2,341 L508.2,341 L510.6,341 L510.6,341 L517.5,341 L517.5,341 L519.9,341 L519.9,341 L526.9,341 L526.9,341 L529.2,341 L529.2,341 L536.2,341 L536.2,341 L538.5,341 L538.5,341 L545.5,341 L545.5,341 L547.8,341 L547.8,341 L554.8,341 L554.8,341 L557.1,341 L557.1,341 L564.1,341 L564.1,341 L566.4,341 L566.4,341 L566.4,341 Z" fill="rgb(0,100,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="105"/><rect x="581.6" y="58" width="142.4" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="619.1" y="88" font-size="15" font-family="Verdana">n=5 p=0.5</text>
+<text x="619.1" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
+<text x="619.1" y="148" font-size="15" font-family="Verdana">n=50 p=0.5</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Binomial Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.png b/libs/math/doc/graphs/binomial_pdf_2.png
index 28da392759..28da392759 100644
--- a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.png
+++ b/libs/math/doc/graphs/binomial_pdf_2.png
Binary files differ
diff --git a/libs/math/doc/graphs/binomial_pdf_2.svg b/libs/math/doc/graphs/binomial_pdf_2.svg
new file mode 100644
index 0000000000..aa4dc9b877
--- /dev/null
+++ b/libs/math/doc/graphs/binomial_pdf_2.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="473" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="475" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="103.9" y1="58" x2="103.9" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="567.6" y2="341"/><line x1="87.6" y1="341" x2="567.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,332 L92.6,332 M90.6,323 L92.6,323 M90.6,313.9 L92.6,313.9 M90.6,304.9 L92.6,304.9 M90.6,286.9 L92.6,286.9 M90.6,277.9 L92.6,277.9 M90.6,268.8 L92.6,268.8 M90.6,259.8 L92.6,259.8 M90.6,241.8 L92.6,241.8 M90.6,232.7 L92.6,232.7 M90.6,223.7 L92.6,223.7 M90.6,214.7 L92.6,214.7 M90.6,196.7 L92.6,196.7 M90.6,187.6 L92.6,187.6 M90.6,178.6 L92.6,178.6 M90.6,169.6 L92.6,169.6 M90.6,151.6 L92.6,151.6 M90.6,142.5 L92.6,142.5 M90.6,133.5 L92.6,133.5 M90.6,124.5 L92.6,124.5 M90.6,106.4 L92.6,106.4 M90.6,97.42 L92.6,97.42 M90.6,88.4 L92.6,88.4 M90.6,79.38 L92.6,79.38 M90.6,61.34 L92.6,61.34 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,295.9 L92.6,295.9 M87.6,250.8 L92.6,250.8 M87.6,205.7 L92.6,205.7 M87.6,160.6 L92.6,160.6 M87.6,115.5 L92.6,115.5 M87.6,70.36 L92.6,70.36 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M103.9,341 L103.9,346 M217,341 L217,346 M330.1,341 L330.1,346 M443.2,341 L443.2,346 M556.3,341 L556.3,346 M103.9,341 L103.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="103.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="217" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="330.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="443.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="556.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="103.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="298.3" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="253.2" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="208.1" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
+<text x="81.6" y="163" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="81.6" y="117.9" text-anchor="end" font-size="12" font-family="Verdana">0.25</text>
+<text x="81.6" y="72.76" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="330.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M95.43,341 L95.43,341 L95.43,231.3 L101.1,231.3 L101.1,341 L118,341 L118,97.27 L123.7,97.27 L123.7,341 L140.7,341 L140.7,83.73 L146.3,83.73 L146.3,341 L163.3,341 L163.3,169.5 L168.9,169.5 L168.9,341 L185.9,341 L185.9,260 L191.6,260 L191.6,341 L208.5,341 L208.5,312.2 L214.2,312.2 L214.2,341 L231.1,341 L231.1,333 L236.8,333 L236.8,341 L253.8,341 L253.8,339.2 L259.4,339.2 L259.4,341 L276.4,341 L276.4,340.7 L282,340.7 L282,341 L299,341 L299,341 L304.7,341 L304.7,341 L321.6,341 L321.6,341 L327.3,341 L327.3,341 L344.2,341 L344.2,341 L349.9,341 L349.9,341 L366.9,341 L366.9,341 L372.5,341 L372.5,341 L389.5,341 L389.5,341 L395.1,341 L395.1,341 L412.1,341 L412.1,341 L417.7,341 L417.7,341 L434.7,341 L434.7,341 L440.4,341 L440.4,341 L457.3,341 L457.3,341 L463,341 L463,341 L480,341 L480,341 L485.6,341 L485.6,341 L502.6,341 L502.6,341 L508.2,341 L508.2,341 L525.2,341 L525.2,341 L530.8,341 L530.8,341 L547.8,341 L547.8,341 L553.5,341 L553.5,341 L553.5,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M101.1,341 L101.1,341 L101.1,341 L106.7,341 L106.7,341 L123.7,341 L123.7,341 L129.4,341 L129.4,341 L146.3,341 L146.3,340.8 L152,340.8 L152,341 L168.9,341 L168.9,340 L174.6,340 L174.6,341 L191.6,341 L191.6,336.8 L197.2,336.8 L197.2,341 L214.2,341 L214.2,327.7 L219.8,327.7 L219.8,341 L236.8,341 L236.8,307.7 L242.5,307.7 L242.5,341 L259.4,341 L259.4,274.3 L265.1,274.3 L265.1,341 L282,341 L282,232.6 L287.7,232.6 L287.7,341 L304.7,341 L304.7,196.5 L310.3,196.5 L310.3,341 L327.3,341 L327.3,182 L332.9,182 L332.9,341 L349.9,341 L349.9,196.5 L355.5,196.5 L355.5,341 L372.5,341 L372.5,232.6 L378.2,232.6 L378.2,341 L395.1,341 L395.1,274.3 L400.8,274.3 L400.8,341 L417.7,341 L417.7,307.7 L423.4,307.7 L423.4,341 L440.4,341 L440.4,327.7 L446,327.7 L446,341 L463,341 L463,336.8 L468.6,336.8 L468.6,341 L485.6,341 L485.6,340 L491.3,340 L491.3,341 L508.2,341 L508.2,340.8 L513.9,340.8 L513.9,341 L530.8,341 L530.8,341 L536.5,341 L536.5,341 L553.5,341 L553.5,341 L559.1,341 L559.1,341 L559.1,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M106.7,341 L106.7,341 L106.7,341 L112.4,341 L112.4,341 L129.4,341 L129.4,341 L135,341 L135,341 L152,341 L152,341 L157.6,341 L157.6,341 L174.6,341 L174.6,341 L180.2,341 L180.2,341 L197.2,341 L197.2,341 L202.9,341 L202.9,341 L219.8,341 L219.8,341 L225.5,341 L225.5,341 L242.5,341 L242.5,341 L248.1,341 L248.1,341 L265.1,341 L265.1,341 L270.7,341 L270.7,341 L287.7,341 L287.7,341 L293.3,341 L293.3,341 L310.3,341 L310.3,341 L316,341 L316,341 L332.9,341 L332.9,341 L338.6,341 L338.6,341 L355.5,341 L355.5,341 L361.2,341 L361.2,341 L378.2,341 L378.2,340.7 L383.8,340.7 L383.8,341 L400.8,341 L400.8,339.2 L406.4,339.2 L406.4,341 L423.4,341 L423.4,333 L429.1,333 L429.1,341 L446,341 L446,312.2 L451.7,312.2 L451.7,341 L468.6,341 L468.6,260 L474.3,260 L474.3,341 L491.3,341 L491.3,169.5 L496.9,169.5 L496.9,341 L513.9,341 L513.9,83.73 L519.5,83.73 L519.5,341 L536.5,341 L536.5,97.27 L542.2,97.27 L542.2,341 L559.1,341 L559.1,231.3 L564.8,231.3 L564.8,341 L564.8,341 Z" fill="rgb(0,100,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="105"/><rect x="581.6" y="58" width="142.4" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="619.1" y="88" font-size="15" font-family="Verdana">n=20 p=0.1</text>
+<text x="619.1" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
+<text x="619.1" y="148" font-size="15" font-family="Verdana">n=20 p=0.9</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Binomial Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_3.png b/libs/math/doc/graphs/binomial_pdf_3.png
index 338c526448..338c526448 100644
--- a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_3.png
+++ b/libs/math/doc/graphs/binomial_pdf_3.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/binomial_quantile_1.png b/libs/math/doc/graphs/binomial_quantile_1.png
index 54dfd71340..54dfd71340 100644
--- a/libs/math/doc/sf_and_dist/graphs/binomial_quantile_1.png
+++ b/libs/math/doc/graphs/binomial_quantile_1.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.png b/libs/math/doc/graphs/cauchy_pdf1.png
index 04e3e98f86..04e3e98f86 100644
--- a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.png
+++ b/libs/math/doc/graphs/cauchy_pdf1.png
Binary files differ
diff --git a/libs/math/doc/graphs/cauchy_pdf1.svg b/libs/math/doc/graphs/cauchy_pdf1.svg
new file mode 100644
index 0000000000..e581a4e74f
--- /dev/null
+++ b/libs/math/doc/graphs/cauchy_pdf1.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="457.9" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="459.9" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="314.1" y1="58" x2="314.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="544.1" y2="341"/><line x1="79.2" y1="341" x2="544.1" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,324.8 L84.2,324.8 M82.2,308.7 L84.2,308.7 M82.2,292.5 L84.2,292.5 M82.2,276.3 L84.2,276.3 M82.2,244 L84.2,244 M82.2,227.8 L84.2,227.8 M82.2,211.7 L84.2,211.7 M82.2,195.5 L84.2,195.5 M82.2,163.2 L84.2,163.2 M82.2,147 L84.2,147 M82.2,130.9 L84.2,130.9 M82.2,114.7 L84.2,114.7 M82.2,82.36 L84.2,82.36 M82.2,66.2 L84.2,66.2 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M338.7,341 L338.7,343 M363.3,341 L363.3,343 M387.8,341 L387.8,343 M412.4,341 L412.4,343 M461.6,341 L461.6,343 M486.1,341 L486.1,343 M510.7,341 L510.7,343 M535.3,341 L535.3,343 M289.6,341 L289.6,343 M265,341 L265,343 M240.4,341 L240.4,343 M215.9,341 L215.9,343 M166.7,341 L166.7,343 M142.2,341 L142.2,343 M117.6,341 L117.6,343 M93.02,341 L93.02,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,260.2 L84.2,260.2 M79.2,179.4 L84.2,179.4 M79.2,98.53 L84.2,98.53 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M314.1,341 L314.1,346 M437,341 L437,346 M314.1,341 L314.1,346 M191.3,341 L191.3,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="314.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="437" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="314.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="191.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="262.6" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="181.8" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="100.9" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="314.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,328.1 L86.5,327.6 L88.8,327 L91.1,326.4 L93.4,325.8 L95.7,325.1 L98,324.3 L100.3,323.5 L102.6,322.7 L104.9,321.8 L107.2,320.8 L109.5,319.7 L111.8,318.6 L114.1,317.3 L116.4,316 L118.7,314.6 L121,313 L123.3,311.3 L125.6,309.4 L127.9,307.4 L130.2,305.2 L132.5,302.8 L134.8,300.1 L137.1,297.2 L139.4,293.9 L141.7,290.3 L144,286.4 L146.3,281.9 L148.6,277 L150.9,271.6 L153.2,265.5 L155.5,258.7 L157.8,251.1 L160.1,242.6 L162.4,233.1 L164.7,222.6 L167,211 L169.3,198.3 L171.6,184.5 L173.9,169.8 L176.2,154.4 L178.5,138.8 L180.8,123.6 L183.1,109.6 L185.4,97.85 L187.7,89.2 L190,84.47 L192.3,84.13 L194.6,88.22 L196.9,96.33 L199.2,107.7 L201.5,121.4 L203.8,136.5 L206.1,152 L208.4,167.5 L210.7,182.4 L213,196.3 L215.3,209.2 L217.6,221 L219.9,231.6 L222.2,241.2 L224.5,249.8 L226.8,257.6 L229.1,264.5 L231.4,270.7 L233.7,276.3 L236,281.2 L238.3,285.7 L240.6,289.8 L242.9,293.4 L245.2,296.7 L247.5,299.7 L249.8,302.4 L252.1,304.8 L254.4,307.1 L256.7,309.1 L259,311 L261.3,312.8 L263.6,314.3 L265.9,315.8 L268.2,317.1 L270.5,318.4 L272.8,319.5 L275.1,320.6 L277.3,321.6 L279.6,322.5 L281.9,323.4 L284.2,324.2 L286.5,325 L288.8,325.7 L291.1,326.3 L293.4,326.9 L295.7,327.5 L298,328.1 L300.3,328.6 L302.6,329.1 L304.9,329.5 L307.2,329.9 L309.5,330.4 L311.8,330.7 L314.1,331.1 L316.4,331.5 L318.7,331.8 L321,332.1 L323.3,332.4 L325.6,332.7 L327.9,332.9 L330.2,333.2 L332.5,333.4 L334.8,333.7 L337.1,333.9 L339.4,334.1 L341.7,334.3 L344,334.5 L346.3,334.7 L348.6,334.9 L350.9,335 L353.2,335.2 L355.5,335.4 L357.8,335.5 L360.1,335.7 L362.4,335.8 L364.7,335.9 L367,336.1 L369.3,336.2 L371.6,336.3 L373.9,336.4 L376.2,336.5 L378.5,336.6 L380.8,336.7 L383.1,336.8 L385.4,336.9 L387.7,337 L390,337.1 L392.3,337.2 L394.6,337.3 L396.9,337.4 L399.2,337.5 L401.5,337.5 L403.8,337.6 L406.1,337.7 L408.4,337.7 L410.7,337.8 L413,337.9 L415.3,337.9 L417.6,338 L419.9,338.1 L422.2,338.1 L424.5,338.2 L426.8,338.2 L429.1,338.3 L431.4,338.3 L433.7,338.4 L436,338.4 L438.3,338.5 L440.6,338.5 L442.9,338.6 L445.2,338.6 L447.5,338.7 L449.8,338.7 L452.1,338.7 L454.4,338.8 L456.7,338.8 L459,338.9 L461.3,338.9 L463.6,338.9 L465.9,339 L468.2,339 L470.5,339 L472.8,339.1 L475.1,339.1 L477.4,339.1 L479.7,339.1 L482,339.2 L484.3,339.2 L486.6,339.2 L488.9,339.3 L491.2,339.3 L493.5,339.3 L495.8,339.3 L498.1,339.4 L500.4,339.4 L502.7,339.4 L505,339.4 L507.3,339.5 L509.6,339.5 L511.9,339.5 L514.2,339.5 L516.5,339.5 L518.8,339.6 L521.1,339.6 L523.4,339.6 L525.7,339.6 L528,339.6 L530.3,339.7 L532.6,339.7 L534.9,339.7 L537.2,339.7 L539.5,339.7 L541.8,339.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,338.1 L86.5,338 L88.8,338 L91.1,337.9 L93.4,337.9 L95.7,337.8 L98,337.7 L100.3,337.6 L102.6,337.6 L104.9,337.5 L107.2,337.4 L109.5,337.3 L111.8,337.3 L114.1,337.2 L116.4,337.1 L118.7,337 L121,336.9 L123.3,336.8 L125.6,336.7 L127.9,336.6 L130.2,336.5 L132.5,336.4 L134.8,336.3 L137.1,336.1 L139.4,336 L141.7,335.9 L144,335.7 L146.3,335.6 L148.6,335.5 L150.9,335.3 L153.2,335.1 L155.5,335 L157.8,334.8 L160.1,334.6 L162.4,334.4 L164.7,334.2 L167,334 L169.3,333.8 L171.6,333.6 L173.9,333.3 L176.2,333.1 L178.5,332.8 L180.8,332.6 L183.1,332.3 L185.4,332 L187.7,331.6 L190,331.3 L192.3,331 L194.6,330.6 L196.9,330.2 L199.2,329.8 L201.5,329.3 L203.8,328.9 L206.1,328.4 L208.4,327.8 L210.7,327.3 L213,326.7 L215.3,326 L217.6,325.4 L219.9,324.6 L222.2,323.9 L224.5,323 L226.8,322.1 L229.1,321.2 L231.4,320.2 L233.7,319.1 L236,317.9 L238.3,316.6 L240.6,315.2 L242.9,313.7 L245.2,312 L247.5,310.2 L249.8,308.3 L252.1,306.2 L254.4,303.8 L256.7,301.3 L259,298.4 L261.3,295.3 L263.6,291.9 L265.9,288.1 L268.2,283.9 L270.5,279.2 L272.8,274 L275.1,268.1 L277.3,261.7 L279.6,254.4 L281.9,246.3 L284.2,237.3 L286.5,227.2 L288.8,216.1 L291.1,203.9 L293.4,190.5 L295.7,176.1 L298,161 L300.3,145.4 L302.6,130 L304.9,115.4 L307.2,102.5 L309.5,92.44 L311.8,85.96 L314.1,83.73 L316.4,85.96 L318.7,92.43 L321,102.5 L323.3,115.3 L325.6,129.9 L327.9,145.4 L330.2,161 L332.5,176.1 L334.8,190.5 L337.1,203.8 L339.4,216.1 L341.7,227.2 L344,237.3 L346.3,246.3 L348.6,254.4 L350.9,261.6 L353.2,268.1 L355.5,274 L357.8,279.2 L360.1,283.9 L362.4,288.1 L364.7,291.9 L367,295.3 L369.3,298.4 L371.6,301.3 L373.9,303.8 L376.2,306.2 L378.5,308.3 L380.8,310.2 L383.1,312 L385.4,313.7 L387.7,315.2 L390,316.6 L392.3,317.9 L394.6,319.1 L396.9,320.2 L399.2,321.2 L401.5,322.1 L403.8,323 L406.1,323.9 L408.4,324.6 L410.7,325.4 L413,326 L415.3,326.7 L417.6,327.3 L419.9,327.8 L422.2,328.4 L424.5,328.9 L426.8,329.3 L429.1,329.8 L431.4,330.2 L433.7,330.6 L436,331 L438.3,331.3 L440.6,331.6 L442.9,332 L445.2,332.3 L447.5,332.6 L449.8,332.8 L452.1,333.1 L454.4,333.3 L456.7,333.6 L459,333.8 L461.3,334 L463.6,334.2 L465.9,334.4 L468.2,334.6 L470.5,334.8 L472.8,335 L475.1,335.1 L477.4,335.3 L479.7,335.5 L482,335.6 L484.3,335.7 L486.6,335.9 L488.9,336 L491.2,336.1 L493.5,336.3 L495.8,336.4 L498.1,336.5 L500.4,336.6 L502.7,336.7 L505,336.8 L507.3,336.9 L509.6,337 L511.9,337.1 L514.2,337.2 L516.5,337.3 L518.8,337.3 L521.1,337.4 L523.4,337.5 L525.7,337.6 L528,337.6 L530.3,337.7 L532.6,337.8 L534.9,337.9 L537.2,337.9 L539.5,338 L541.8,338 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,339.8 L86.5,339.7 L88.8,339.7 L91.1,339.7 L93.4,339.7 L95.7,339.7 L98,339.7 L100.3,339.6 L102.6,339.6 L104.9,339.6 L107.2,339.6 L109.5,339.6 L111.8,339.5 L114.1,339.5 L116.4,339.5 L118.7,339.5 L121,339.5 L123.3,339.4 L125.6,339.4 L127.9,339.4 L130.2,339.4 L132.5,339.3 L134.8,339.3 L137.1,339.3 L139.4,339.3 L141.7,339.2 L144,339.2 L146.3,339.2 L148.6,339.1 L150.9,339.1 L153.2,339.1 L155.5,339.1 L157.8,339 L160.1,339 L162.4,339 L164.7,338.9 L167,338.9 L169.3,338.9 L171.6,338.8 L173.9,338.8 L176.2,338.7 L178.5,338.7 L180.8,338.7 L183.1,338.6 L185.4,338.6 L187.7,338.5 L190,338.5 L192.3,338.4 L194.6,338.4 L196.9,338.3 L199.2,338.3 L201.5,338.2 L203.8,338.2 L206.1,338.1 L208.4,338.1 L210.7,338 L213,337.9 L215.3,337.9 L217.6,337.8 L219.9,337.7 L222.2,337.7 L224.5,337.6 L226.8,337.5 L229.1,337.5 L231.4,337.4 L233.7,337.3 L236,337.2 L238.3,337.1 L240.6,337 L242.9,336.9 L245.2,336.8 L247.5,336.7 L249.8,336.6 L252.1,336.5 L254.4,336.4 L256.7,336.3 L259,336.2 L261.3,336.1 L263.6,335.9 L265.9,335.8 L268.2,335.7 L270.5,335.5 L272.8,335.4 L275.1,335.2 L277.3,335 L279.6,334.9 L281.9,334.7 L284.2,334.5 L286.5,334.3 L288.8,334.1 L291.1,333.9 L293.4,333.7 L295.7,333.4 L298,333.2 L300.3,332.9 L302.6,332.7 L304.9,332.4 L307.2,332.1 L309.5,331.8 L311.8,331.5 L314.1,331.1 L316.4,330.7 L318.7,330.4 L321,329.9 L323.3,329.5 L325.6,329.1 L327.9,328.6 L330.2,328.1 L332.5,327.5 L334.8,326.9 L337.1,326.3 L339.4,325.7 L341.7,325 L344,324.2 L346.3,323.4 L348.6,322.5 L350.9,321.6 L353.2,320.6 L355.5,319.5 L357.8,318.4 L360.1,317.1 L362.4,315.8 L364.7,314.3 L367,312.8 L369.3,311 L371.6,309.1 L373.9,307.1 L376.2,304.8 L378.5,302.4 L380.8,299.7 L383.1,296.7 L385.4,293.4 L387.7,289.8 L390,285.7 L392.3,281.2 L394.6,276.3 L396.9,270.7 L399.2,264.5 L401.5,257.6 L403.8,249.9 L406.1,241.2 L408.4,231.6 L410.7,221 L413,209.2 L415.3,196.3 L417.6,182.4 L419.9,167.5 L422.2,152.1 L424.5,136.5 L426.8,121.4 L429.1,107.7 L431.4,96.34 L433.7,88.23 L436,84.14 L438.3,84.47 L440.6,89.19 L442.9,97.84 L445.2,109.6 L447.5,123.6 L449.8,138.8 L452.1,154.4 L454.4,169.8 L456.7,184.5 L459,198.3 L461.3,211 L463.6,222.6 L465.9,233.1 L468.2,242.6 L470.5,251.1 L472.8,258.7 L475.1,265.5 L477.4,271.6 L479.7,277 L482,281.9 L484.3,286.3 L486.6,290.3 L488.9,293.9 L491.2,297.2 L493.5,300.1 L495.8,302.8 L498.1,305.2 L500.4,307.4 L502.7,309.4 L505,311.3 L507.3,313 L509.6,314.6 L511.9,316 L514.2,317.3 L516.5,318.6 L518.8,319.7 L521.1,320.8 L523.4,321.8 L525.7,322.7 L528,323.5 L530.3,324.3 L532.6,325.1 L534.9,325.8 L537.2,326.4 L539.5,327 L541.8,327.6 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="558.1" y="58" width="165.9" height="105"/><rect x="558.1" y="58" width="165.9" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="573.1" y1="88" x2="588.1" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="573.1" y1="118" x2="588.1" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="573.1" y1="148" x2="588.1" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="595.6" y="88" font-size="15" font-family="Verdana">location = -5</text>
+<text x="595.6" y="118" font-size="15" font-family="Verdana">location = 0</text>
+<text x="595.6" y="148" font-size="15" font-family="Verdana">location = 5</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Cauchy Distribution PDF (scale = 1)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.png b/libs/math/doc/graphs/cauchy_pdf2.png
index 9412695d23..9412695d23 100644
--- a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.png
+++ b/libs/math/doc/graphs/cauchy_pdf2.png
Binary files differ
diff --git a/libs/math/doc/graphs/cauchy_pdf2.svg b/libs/math/doc/graphs/cauchy_pdf2.svg
new file mode 100644
index 0000000000..d0f3c21d1f
--- /dev/null
+++ b/libs/math/doc/graphs/cauchy_pdf2.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="322" y1="58" x2="322" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,332.9 L84.2,332.9 M82.2,324.8 L84.2,324.8 M82.2,316.8 L84.2,316.8 M82.2,308.7 L84.2,308.7 M82.2,292.5 L84.2,292.5 M82.2,284.4 L84.2,284.4 M82.2,276.3 L84.2,276.3 M82.2,268.3 L84.2,268.3 M82.2,252.1 L84.2,252.1 M82.2,244 L84.2,244 M82.2,235.9 L84.2,235.9 M82.2,227.8 L84.2,227.8 M82.2,211.7 L84.2,211.7 M82.2,203.6 L84.2,203.6 M82.2,195.5 L84.2,195.5 M82.2,187.4 L84.2,187.4 M82.2,171.3 L84.2,171.3 M82.2,163.2 L84.2,163.2 M82.2,155.1 L84.2,155.1 M82.2,147 L84.2,147 M82.2,130.9 L84.2,130.9 M82.2,122.8 L84.2,122.8 M82.2,114.7 L84.2,114.7 M82.2,106.6 L84.2,106.6 M82.2,90.44 L84.2,90.44 M82.2,82.36 L84.2,82.36 M82.2,74.28 L84.2,74.28 M82.2,66.2 L84.2,66.2 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M349.3,341 L349.3,343 M376.5,341 L376.5,343 M403.8,341 L403.8,343 M431.1,341 L431.1,343 M485.6,341 L485.6,343 M512.9,341 L512.9,343 M540.2,341 L540.2,343 M294.7,341 L294.7,343 M267.4,341 L267.4,343 M240.2,341 L240.2,343 M212.9,341 L212.9,343 M158.3,341 L158.3,343 M131.1,341 L131.1,343 M103.8,341 L103.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,300.6 L84.2,300.6 M79.2,260.2 L84.2,260.2 M79.2,219.8 L84.2,219.8 M79.2,179.4 L84.2,179.4 M79.2,138.9 L84.2,138.9 M79.2,98.53 L84.2,98.53 M79.2,58.11 L84.2,58.11 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M322,341 L322,346 M458.4,341 L458.4,346 M322,341 L322,346 M185.6,341 L185.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="458.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="185.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="303" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="262.6" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="222.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="181.8" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="141.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="100.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="60.51" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,340.2 L86.58,340.1 L88.96,340.1 L91.33,340.1 L93.71,340.1 L96.09,340.1 L98.47,340 L100.8,340 L103.2,340 L105.6,340 L108,340 L110.4,339.9 L112.7,339.9 L115.1,339.9 L117.5,339.9 L119.9,339.8 L122.2,339.8 L124.6,339.8 L127,339.7 L129.4,339.7 L131.8,339.7 L134.1,339.7 L136.5,339.6 L138.9,339.6 L141.3,339.5 L143.6,339.5 L146,339.5 L148.4,339.4 L150.8,339.4 L153.2,339.3 L155.5,339.3 L157.9,339.2 L160.3,339.2 L162.7,339.1 L165,339.1 L167.4,339 L169.8,339 L172.2,338.9 L174.6,338.8 L176.9,338.7 L179.3,338.7 L181.7,338.6 L184.1,338.5 L186.4,338.4 L188.8,338.3 L191.2,338.2 L193.6,338.1 L196,338 L198.3,337.9 L200.7,337.8 L203.1,337.7 L205.5,337.5 L207.8,337.4 L210.2,337.2 L212.6,337.1 L215,336.9 L217.4,336.7 L219.7,336.5 L222.1,336.3 L224.5,336.1 L226.9,335.8 L229.2,335.6 L231.6,335.3 L234,335 L236.4,334.6 L238.8,334.3 L241.1,333.9 L243.5,333.5 L245.9,333 L248.3,332.5 L250.6,331.9 L253,331.3 L255.4,330.6 L257.8,329.9 L260.2,329.1 L262.5,328.1 L264.9,327.1 L267.3,325.9 L269.7,324.6 L272,323.1 L274.4,321.5 L276.8,319.5 L279.2,317.3 L281.6,314.7 L283.9,311.7 L286.3,308.2 L288.7,304 L291.1,299.1 L293.4,293.2 L295.8,286 L298.2,277.3 L300.6,266.7 L303,253.7 L305.3,237.7 L307.7,218.2 L310.1,194.9 L312.5,168 L314.8,139.1 L317.2,111.7 L319.6,91.35 L322,83.73 L324.4,91.29 L326.7,111.6 L329.1,138.9 L331.5,167.9 L333.9,194.8 L336.2,218.1 L338.6,237.6 L341,253.6 L343.4,266.7 L345.8,277.3 L348.1,286 L350.5,293.1 L352.9,299.1 L355.3,304 L357.6,308.2 L360,311.7 L362.4,314.7 L364.8,317.3 L367.2,319.5 L369.5,321.4 L371.9,323.1 L374.3,324.6 L376.7,325.9 L379,327.1 L381.4,328.1 L383.8,329.1 L386.2,329.9 L388.6,330.6 L390.9,331.3 L393.3,331.9 L395.7,332.5 L398.1,333 L400.4,333.5 L402.8,333.9 L405.2,334.3 L407.6,334.6 L410,335 L412.3,335.3 L414.7,335.6 L417.1,335.8 L419.5,336.1 L421.8,336.3 L424.2,336.5 L426.6,336.7 L429,336.9 L431.4,337.1 L433.7,337.2 L436.1,337.4 L438.5,337.5 L440.9,337.7 L443.2,337.8 L445.6,337.9 L448,338 L450.4,338.1 L452.8,338.2 L455.1,338.3 L457.5,338.4 L459.9,338.5 L462.3,338.6 L464.6,338.7 L467,338.7 L469.4,338.8 L471.8,338.9 L474.2,339 L476.5,339 L478.9,339.1 L481.3,339.1 L483.7,339.2 L486,339.2 L488.4,339.3 L490.8,339.3 L493.2,339.4 L495.6,339.4 L497.9,339.5 L500.3,339.5 L502.7,339.5 L505.1,339.6 L507.4,339.6 L509.8,339.7 L512.2,339.7 L514.6,339.7 L517,339.7 L519.3,339.8 L521.7,339.8 L524.1,339.8 L526.5,339.9 L528.8,339.9 L531.2,339.9 L533.6,339.9 L536,340 L538.4,340 L540.7,340 L543.1,340 L545.5,340 L547.9,340.1 L550.2,340.1 L552.6,340.1 L555,340.1 L557.4,340.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,339.3 L86.58,339.3 L88.96,339.3 L91.33,339.2 L93.71,339.2 L96.09,339.2 L98.47,339.1 L100.8,339.1 L103.2,339 L105.6,339 L108,338.9 L110.4,338.9 L112.7,338.9 L115.1,338.8 L117.5,338.8 L119.9,338.7 L122.2,338.6 L124.6,338.6 L127,338.5 L129.4,338.5 L131.8,338.4 L134.1,338.3 L136.5,338.3 L138.9,338.2 L141.3,338.1 L143.6,338.1 L146,338 L148.4,337.9 L150.8,337.8 L153.2,337.7 L155.5,337.6 L157.9,337.5 L160.3,337.4 L162.7,337.3 L165,337.2 L167.4,337.1 L169.8,337 L172.2,336.9 L174.6,336.7 L176.9,336.6 L179.3,336.5 L181.7,336.3 L184.1,336.2 L186.4,336 L188.8,335.8 L191.2,335.6 L193.6,335.4 L196,335.2 L198.3,335 L200.7,334.8 L203.1,334.6 L205.5,334.3 L207.8,334.1 L210.2,333.8 L212.6,333.5 L215,333.2 L217.4,332.8 L219.7,332.5 L222.1,332.1 L224.5,331.7 L226.9,331.2 L229.2,330.8 L231.6,330.3 L234,329.7 L236.4,329.1 L238.8,328.5 L241.1,327.9 L243.5,327.1 L245.9,326.4 L248.3,325.5 L250.6,324.6 L253,323.6 L255.4,322.5 L257.8,321.3 L260.2,320 L262.5,318.6 L264.9,317.1 L267.3,315.4 L269.7,313.5 L272,311.4 L274.4,309.2 L276.8,306.6 L279.2,303.9 L281.6,300.8 L283.9,297.3 L286.3,293.5 L288.7,289.3 L291.1,284.7 L293.4,279.6 L295.8,274 L298.2,267.9 L300.6,261.4 L303,254.5 L305.3,247.3 L307.7,240 L310.1,232.9 L312.5,226.3 L314.8,220.6 L317.2,216.2 L319.6,213.3 L322,212.4 L324.4,213.3 L326.7,216.2 L329.1,220.6 L331.5,226.3 L333.9,232.9 L336.2,240 L338.6,247.3 L341,254.4 L343.4,261.4 L345.8,267.9 L348.1,274 L350.5,279.6 L352.9,284.7 L355.3,289.3 L357.6,293.5 L360,297.3 L362.4,300.7 L364.8,303.8 L367.2,306.6 L369.5,309.2 L371.9,311.4 L374.3,313.5 L376.7,315.4 L379,317.1 L381.4,318.6 L383.8,320 L386.2,321.3 L388.6,322.5 L390.9,323.6 L393.3,324.6 L395.7,325.5 L398.1,326.4 L400.4,327.1 L402.8,327.9 L405.2,328.5 L407.6,329.1 L410,329.7 L412.3,330.3 L414.7,330.8 L417.1,331.2 L419.5,331.7 L421.8,332.1 L424.2,332.5 L426.6,332.8 L429,333.2 L431.4,333.5 L433.7,333.8 L436.1,334.1 L438.5,334.3 L440.9,334.6 L443.2,334.8 L445.6,335 L448,335.2 L450.4,335.4 L452.8,335.6 L455.1,335.8 L457.5,336 L459.9,336.2 L462.3,336.3 L464.6,336.5 L467,336.6 L469.4,336.7 L471.8,336.9 L474.2,337 L476.5,337.1 L478.9,337.2 L481.3,337.3 L483.7,337.4 L486,337.5 L488.4,337.6 L490.8,337.7 L493.2,337.8 L495.6,337.9 L497.9,338 L500.3,338.1 L502.7,338.1 L505.1,338.2 L507.4,338.3 L509.8,338.3 L512.2,338.4 L514.6,338.5 L517,338.5 L519.3,338.6 L521.7,338.6 L524.1,338.7 L526.5,338.8 L528.8,338.8 L531.2,338.9 L533.6,338.9 L536,338.9 L538.4,339 L540.7,339 L543.1,339.1 L545.5,339.1 L547.9,339.2 L550.2,339.2 L552.6,339.2 L555,339.3 L557.4,339.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.58,337.7 L88.96,337.7 L91.33,337.6 L93.71,337.5 L96.09,337.5 L98.47,337.4 L100.8,337.3 L103.2,337.2 L105.6,337.2 L108,337.1 L110.4,337 L112.7,336.9 L115.1,336.8 L117.5,336.7 L119.9,336.6 L122.2,336.5 L124.6,336.4 L127,336.3 L129.4,336.2 L131.8,336.1 L134.1,336 L136.5,335.9 L138.9,335.8 L141.3,335.6 L143.6,335.5 L146,335.4 L148.4,335.2 L150.8,335.1 L153.2,334.9 L155.5,334.8 L157.9,334.6 L160.3,334.4 L162.7,334.3 L165,334.1 L167.4,333.9 L169.8,333.7 L172.2,333.5 L174.6,333.3 L176.9,333 L179.3,332.8 L181.7,332.6 L184.1,332.3 L186.4,332 L188.8,331.8 L191.2,331.5 L193.6,331.2 L196,330.9 L198.3,330.5 L200.7,330.2 L203.1,329.8 L205.5,329.4 L207.8,329 L210.2,328.6 L212.6,328.2 L215,327.7 L217.4,327.3 L219.7,326.8 L222.1,326.2 L224.5,325.7 L226.9,325.1 L229.2,324.5 L231.6,323.8 L234,323.1 L236.4,322.4 L238.8,321.7 L241.1,320.9 L243.5,320 L245.9,319.2 L248.3,318.2 L250.6,317.3 L253,316.2 L255.4,315.2 L257.8,314 L260.2,312.8 L262.5,311.6 L264.9,310.3 L267.3,308.9 L269.7,307.5 L272,306 L274.4,304.5 L276.8,302.9 L279.2,301.2 L281.6,299.5 L283.9,297.7 L286.3,295.9 L288.7,294.1 L291.1,292.3 L293.4,290.5 L295.8,288.7 L298.2,287 L300.6,285.3 L303,283.7 L305.3,282.2 L307.7,280.8 L310.1,279.6 L312.5,278.6 L314.8,277.8 L317.2,277.2 L319.6,276.8 L322,276.7 L324.4,276.8 L326.7,277.2 L329.1,277.8 L331.5,278.6 L333.9,279.6 L336.2,280.8 L338.6,282.2 L341,283.7 L343.4,285.3 L345.8,286.9 L348.1,288.7 L350.5,290.5 L352.9,292.3 L355.3,294.1 L357.6,295.9 L360,297.7 L362.4,299.5 L364.8,301.2 L367.2,302.8 L369.5,304.5 L371.9,306 L374.3,307.5 L376.7,308.9 L379,310.3 L381.4,311.6 L383.8,312.8 L386.2,314 L388.6,315.2 L390.9,316.2 L393.3,317.3 L395.7,318.2 L398.1,319.2 L400.4,320 L402.8,320.9 L405.2,321.7 L407.6,322.4 L410,323.1 L412.3,323.8 L414.7,324.5 L417.1,325.1 L419.5,325.7 L421.8,326.2 L424.2,326.7 L426.6,327.3 L429,327.7 L431.4,328.2 L433.7,328.6 L436.1,329 L438.5,329.4 L440.9,329.8 L443.2,330.2 L445.6,330.5 L448,330.9 L450.4,331.2 L452.8,331.5 L455.1,331.8 L457.5,332 L459.9,332.3 L462.3,332.6 L464.6,332.8 L467,333 L469.4,333.3 L471.8,333.5 L474.2,333.7 L476.5,333.9 L478.9,334.1 L481.3,334.3 L483.7,334.4 L486,334.6 L488.4,334.8 L490.8,334.9 L493.2,335.1 L495.6,335.2 L497.9,335.4 L500.3,335.5 L502.7,335.6 L505.1,335.8 L507.4,335.9 L509.8,336 L512.2,336.1 L514.6,336.2 L517,336.3 L519.3,336.4 L521.7,336.5 L524.1,336.6 L526.5,336.7 L528.8,336.8 L531.2,336.9 L533.6,337 L536,337.1 L538.4,337.2 L540.7,337.2 L543.1,337.3 L545.5,337.4 L547.9,337.5 L550.2,337.5 L552.6,337.6 L555,337.7 L557.4,337.7 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">scale = 0.5</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">scale = 1</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">scale = 2</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Cauchy Distribution PDF (location = 0)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cbrt.png b/libs/math/doc/graphs/cbrt.png
index d2a3b6cf8f..d2a3b6cf8f 100644
--- a/libs/math/doc/sf_and_dist/graphs/cbrt.png
+++ b/libs/math/doc/graphs/cbrt.png
Binary files differ
diff --git a/libs/math/doc/graphs/cbrt.svg b/libs/math/doc/graphs/cbrt.svg
new file mode 100644
index 0000000000..eb929185b9
--- /dev/null
+++ b/libs/math/doc/graphs/cbrt.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,186.2 L75.8,186.2 M73.8,170.1 L75.8,170.1 M73.8,154 L75.8,154 M73.8,121.8 L75.8,121.8 M73.8,105.7 L75.8,105.7 M73.8,89.59 L75.8,89.59 M73.8,202.3 L75.8,202.3 M73.8,218.4 L75.8,218.4 M73.8,234.5 L75.8,234.5 M73.8,250.6 L75.8,250.6 M73.8,266.7 L75.8,266.7 M73.8,282.8 L75.8,282.8 M73.8,298.9 L75.8,298.9 M73.8,315 L75.8,315 M73.8,331.1 L75.8,331.1 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.9,341 L136.9,343 M106.3,341 L106.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,137.9 L75.8,137.9 M70.8,73.49 L75.8,73.49 M70.8,202.3 L75.8,202.3 M70.8,266.7 L75.8,266.7 M70.8,331.1 L75.8,331.1 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 M320,341 L320,346 M197.9,341 L197.9,346 M75.8,341 L75.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="140.3" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="64.8" y="75.89" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="269.1" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
+<text x="64.8" y="333.5" text-anchor="end" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cbrt(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,340.5 L80.68,340.1 L83.13,339.6 L85.57,339.1 L88.01,338.6 L90.45,338.2 L92.9,337.7 L95.34,337.2 L97.78,336.7 L100.2,336.2 L102.7,335.7 L105.1,335.2 L107.5,334.7 L110,334.2 L112.4,333.7 L114.9,333.2 L117.3,332.6 L119.8,332.1 L122.2,331.6 L124.6,331.1 L127.1,330.5 L129.5,330 L132,329.4 L134.4,328.9 L136.9,328.3 L139.3,327.8 L141.7,327.2 L144.2,326.6 L146.6,326 L149.1,325.4 L151.5,324.9 L153.9,324.3 L156.4,323.7 L158.8,323.1 L161.3,322.4 L163.7,321.8 L166.2,321.2 L168.6,320.6 L171,319.9 L173.5,319.3 L175.9,318.6 L178.4,318 L180.8,317.3 L183.3,316.6 L185.7,315.9 L188.1,315.2 L190.6,314.5 L193,313.8 L195.5,313.1 L197.9,312.4 L200.3,311.6 L202.8,310.9 L205.2,310.1 L207.7,309.4 L210.1,308.6 L212.6,307.8 L215,307 L217.4,306.2 L219.9,305.3 L222.3,304.5 L224.8,303.6 L227.2,302.8 L229.7,301.9 L232.1,301 L234.5,300 L237,299.1 L239.4,298.1 L241.9,297.2 L244.3,296.2 L246.8,295.1 L249.2,294.1 L251.6,293 L254.1,291.9 L256.5,290.8 L259,289.7 L261.4,288.5 L263.8,287.3 L266.3,286 L268.7,284.7 L271.2,283.4 L273.6,282 L276.1,280.6 L278.5,279.1 L280.9,277.6 L283.4,276 L285.8,274.3 L288.3,272.6 L290.7,270.7 L293.2,268.7 L295.6,266.7 L298,264.4 L300.5,262 L302.9,259.4 L305.4,256.6 L307.8,253.4 L310.2,249.7 L312.7,245.4 L315.1,239.9 L317.6,232.2 L320,202.3 L322.5,172.4 L324.9,164.6 L327.3,159.2 L329.8,154.8 L332.2,151.2 L334.7,148 L337.1,145.1 L339.6,142.5 L342,140.1 L344.4,137.9 L346.9,135.8 L349.3,133.8 L351.8,132 L354.2,130.2 L356.6,128.6 L359.1,127 L361.5,125.4 L364,123.9 L366.4,122.5 L368.9,121.1 L371.3,119.8 L373.7,118.5 L376.2,117.3 L378.6,116.1 L381.1,114.9 L383.5,113.7 L386,112.6 L388.4,111.5 L390.8,110.5 L393.3,109.4 L395.7,108.4 L398.2,107.4 L400.6,106.4 L403,105.5 L405.5,104.5 L407.9,103.6 L410.4,102.7 L412.8,101.8 L415.3,100.9 L417.7,100.1 L420.1,99.22 L422.6,98.38 L425,97.57 L427.5,96.76 L429.9,95.97 L432.4,95.19 L434.8,94.42 L437.2,93.66 L439.7,92.91 L442.1,92.17 L444.6,91.44 L447,90.72 L449.4,90.01 L451.9,89.31 L454.3,88.61 L456.8,87.93 L459.2,87.25 L461.7,86.58 L464.1,85.92 L466.5,85.27 L469,84.62 L471.4,83.98 L473.9,83.35 L476.3,82.72 L478.8,82.11 L481.2,81.49 L483.6,80.88 L486.1,80.28 L488.5,79.69 L491,79.1 L493.4,78.52 L495.9,77.94 L498.3,77.36 L500.7,76.8 L503.2,76.23 L505.6,75.68 L508.1,75.12 L510.5,74.58 L512.9,74.03 L515.4,73.49 L517.8,72.96 L520.3,72.43 L522.7,71.9 L525.2,71.38 L527.6,70.86 L530,70.35 L532.5,69.84 L534.9,69.34 L537.4,68.83 L539.8,68.34 L542.3,67.84 L544.7,67.35 L547.1,66.86 L549.6,66.38 L552,65.9 L554.5,65.42 L556.9,64.95 L559.3,64.48 L561.8,64.01 L564.2,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">cbrt</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cdf.png b/libs/math/doc/graphs/cdf.png
index dfd7814ccb..dfd7814ccb 100644
--- a/libs/math/doc/sf_and_dist/graphs/cdf.png
+++ b/libs/math/doc/graphs/cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.png b/libs/math/doc/graphs/chi_squared_pdf.png
index ec5272bf0d..ec5272bf0d 100644
--- a/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.png
+++ b/libs/math/doc/graphs/chi_squared_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/chi_squared_pdf.svg b/libs/math/doc/graphs/chi_squared_pdf.svg
new file mode 100644
index 0000000000..d56438dc67
--- /dev/null
+++ b/libs/math/doc/graphs/chi_squared_pdf.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="528.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="530.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="614.6" y2="341"/><line x1="79.2" y1="341" x2="614.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,330.1 L84.2,330.1 M82.2,319.1 L84.2,319.1 M82.2,308.2 L84.2,308.2 M82.2,297.3 L84.2,297.3 M82.2,275.4 L84.2,275.4 M82.2,264.5 L84.2,264.5 M82.2,253.6 L84.2,253.6 M82.2,242.7 L84.2,242.7 M82.2,220.8 L84.2,220.8 M82.2,209.9 L84.2,209.9 M82.2,199 L84.2,199 M82.2,188 L84.2,188 M82.2,166.2 L84.2,166.2 M82.2,155.2 L84.2,155.2 M82.2,144.3 L84.2,144.3 M82.2,133.4 L84.2,133.4 M82.2,111.5 L84.2,111.5 M82.2,100.6 L84.2,100.6 M82.2,89.69 L84.2,89.69 M82.2,78.76 L84.2,78.76 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M108.2,341 L108.2,343 M132.2,341 L132.2,343 M156.1,341 L156.1,343 M180.1,341 L180.1,343 M228.1,341 L228.1,343 M252,341 L252,343 M276,341 L276,343 M300,341 L300,343 M347.9,341 L347.9,343 M371.9,341 L371.9,343 M395.9,341 L395.9,343 M419.9,341 L419.9,343 M467.8,341 L467.8,343 M491.8,341 L491.8,343 M515.8,341 L515.8,343 M539.8,341 L539.8,343 M587.7,341 L587.7,343 M611.7,341 L611.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,286.4 L84.2,286.4 M79.2,231.7 L84.2,231.7 M79.2,177.1 L84.2,177.1 M79.2,122.5 L84.2,122.5 M79.2,67.84 L84.2,67.84 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M204.1,341 L204.1,346 M324,341 L324,346 M443.9,341 L443.9,346 M563.7,341 L563.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="204.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="324" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="443.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="563.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="288.8" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="234.1" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="179.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="124.9" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="70.24" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="349.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,67.84 L86.85,82.53 L89.5,96.44 L92.16,109.6 L94.81,122 L97.46,133.8 L100.1,145 L102.8,155.5 L105.4,165.5 L108.1,174.9 L110.7,183.9 L113.4,192.3 L116,200.3 L118.7,207.9 L121.3,215.1 L124,221.8 L126.6,228.3 L129.3,234.3 L131.9,240.1 L134.6,245.5 L137.2,250.6 L139.9,255.5 L142.5,260.1 L145.2,264.4 L147.9,268.6 L150.5,272.5 L153.2,276.1 L155.8,279.6 L158.5,282.9 L161.1,286.1 L163.8,289 L166.4,291.8 L169.1,294.5 L171.7,297 L174.4,299.3 L177,301.6 L179.7,303.7 L182.3,305.7 L185,307.6 L187.6,309.4 L190.3,311.1 L192.9,312.7 L195.6,314.2 L198.2,315.7 L200.9,317 L203.5,318.3 L206.2,319.5 L208.9,320.7 L211.5,321.8 L214.2,322.8 L216.8,323.8 L219.5,324.7 L222.1,325.6 L224.8,326.4 L227.4,327.2 L230.1,328 L232.7,328.7 L235.4,329.3 L238,330 L240.7,330.5 L243.3,331.1 L246,331.6 L248.6,332.1 L251.3,332.6 L253.9,333.1 L256.6,333.5 L259.2,333.9 L261.9,334.3 L264.5,334.6 L267.2,335 L269.9,335.3 L272.5,335.6 L275.2,335.9 L277.8,336.2 L280.5,336.4 L283.1,336.7 L285.8,336.9 L288.4,337.1 L291.1,337.3 L293.7,337.5 L296.4,337.7 L299,337.9 L301.7,338.1 L304.3,338.2 L307,338.4 L309.6,338.5 L312.3,338.7 L314.9,338.8 L317.6,338.9 L320.2,339 L322.9,339.1 L325.6,339.2 L328.2,339.3 L330.9,339.4 L333.5,339.5 L336.2,339.6 L338.8,339.6 L341.5,339.7 L344.1,339.8 L346.8,339.9 L349.4,339.9 L352.1,340 L354.7,340 L357.4,340.1 L360,340.1 L362.7,340.2 L365.3,340.2 L368,340.3 L370.6,340.3 L373.3,340.3 L375.9,340.4 L378.6,340.4 L381.2,340.4 L383.9,340.5 L386.6,340.5 L389.2,340.5 L391.9,340.6 L394.5,340.6 L397.2,340.6 L399.8,340.6 L402.5,340.6 L405.1,340.7 L407.8,340.7 L410.4,340.7 L413.1,340.7 L415.7,340.7 L418.4,340.7 L421,340.8 L423.7,340.8 L426.3,340.8 L429,340.8 L431.6,340.8 L434.3,340.8 L436.9,340.8 L439.6,340.8 L442.2,340.8 L444.9,340.9 L447.6,340.9 L450.2,340.9 L452.9,340.9 L455.5,340.9 L458.2,340.9 L460.8,340.9 L463.5,340.9 L466.1,340.9 L468.8,340.9 L471.4,340.9 L474.1,340.9 L476.7,340.9 L479.4,340.9 L482,340.9 L484.7,340.9 L487.3,340.9 L490,340.9 L492.6,340.9 L495.3,340.9 L497.9,341 L500.6,341 L503.2,341 L505.9,341 L508.6,341 L511.2,341 L513.9,341 L516.5,341 L519.2,341 L521.8,341 L524.5,341 L527.1,341 L529.8,341 L532.4,341 L535.1,341 L537.7,341 L540.4,341 L543,341 L545.7,341 L548.3,341 L551,341 L553.6,341 L556.3,341 L558.9,341 L561.6,341 L564.2,341 L566.9,341 L569.6,341 L572.2,341 L574.9,341 L577.5,341 L580.2,341 L582.8,341 L585.5,341 L588.1,341 L590.8,341 L593.4,341 L596.1,341 L598.7,341 L601.4,341 L604,341 L606.7,341 L609.3,341 L612,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.85,338.5 L89.5,334.2 L92.16,329.2 L94.81,323.9 L97.46,318.3 L100.1,312.8 L102.8,307.4 L105.4,302.1 L108.1,297.1 L110.7,292.4 L113.4,287.9 L116,283.8 L118.7,280 L121.3,276.5 L124,273.3 L126.6,270.4 L129.3,267.8 L131.9,265.6 L134.6,263.6 L137.2,261.9 L139.9,260.5 L142.5,259.3 L145.2,258.4 L147.9,257.7 L150.5,257.2 L153.2,256.9 L155.8,256.8 L158.5,256.8 L161.1,257.1 L163.8,257.4 L166.4,257.9 L169.1,258.6 L171.7,259.3 L174.4,260.2 L177,261.1 L179.7,262.2 L182.3,263.3 L185,264.5 L187.6,265.7 L190.3,267 L192.9,268.3 L195.6,269.7 L198.2,271.1 L200.9,272.6 L203.5,274 L206.2,275.5 L208.9,277 L211.5,278.5 L214.2,280 L216.8,281.5 L219.5,283 L222.1,284.5 L224.8,286 L227.4,287.5 L230.1,288.9 L232.7,290.4 L235.4,291.8 L238,293.3 L240.7,294.6 L243.3,296 L246,297.4 L248.6,298.7 L251.3,300 L253.9,301.3 L256.6,302.5 L259.2,303.8 L261.9,305 L264.5,306.1 L267.2,307.3 L269.9,308.4 L272.5,309.5 L275.2,310.6 L277.8,311.6 L280.5,312.6 L283.1,313.6 L285.8,314.5 L288.4,315.5 L291.1,316.4 L293.7,317.2 L296.4,318.1 L299,318.9 L301.7,319.7 L304.3,320.5 L307,321.2 L309.6,322 L312.3,322.7 L314.9,323.4 L317.6,324 L320.2,324.7 L322.9,325.3 L325.6,325.9 L328.2,326.5 L330.9,327 L333.5,327.5 L336.2,328.1 L338.8,328.6 L341.5,329.1 L344.1,329.5 L346.8,330 L349.4,330.4 L352.1,330.8 L354.7,331.2 L357.4,331.6 L360,332 L362.7,332.4 L365.3,332.7 L368,333 L370.6,333.4 L373.3,333.7 L375.9,334 L378.6,334.3 L381.2,334.5 L383.9,334.8 L386.6,335.1 L389.2,335.3 L391.9,335.5 L394.5,335.8 L397.2,336 L399.8,336.2 L402.5,336.4 L405.1,336.6 L407.8,336.8 L410.4,337 L413.1,337.1 L415.7,337.3 L418.4,337.4 L421,337.6 L423.7,337.7 L426.3,337.9 L429,338 L431.6,338.1 L434.3,338.3 L436.9,338.4 L439.6,338.5 L442.2,338.6 L444.9,338.7 L447.6,338.8 L450.2,338.9 L452.9,339 L455.5,339.1 L458.2,339.2 L460.8,339.2 L463.5,339.3 L466.1,339.4 L468.8,339.5 L471.4,339.5 L474.1,339.6 L476.7,339.7 L479.4,339.7 L482,339.8 L484.7,339.8 L487.3,339.9 L490,339.9 L492.6,340 L495.3,340 L497.9,340.1 L500.6,340.1 L503.2,340.1 L505.9,340.2 L508.6,340.2 L511.2,340.3 L513.9,340.3 L516.5,340.3 L519.2,340.4 L521.8,340.4 L524.5,340.4 L527.1,340.4 L529.8,340.5 L532.4,340.5 L535.1,340.5 L537.7,340.5 L540.4,340.6 L543,340.6 L545.7,340.6 L548.3,340.6 L551,340.6 L553.6,340.6 L556.3,340.7 L558.9,340.7 L561.6,340.7 L564.2,340.7 L566.9,340.7 L569.6,340.7 L572.2,340.7 L574.9,340.8 L577.5,340.8 L580.2,340.8 L582.8,340.8 L585.5,340.8 L588.1,340.8 L590.8,340.8 L593.4,340.8 L596.1,340.8 L598.7,340.8 L601.4,340.8 L604,340.9 L606.7,340.9 L609.3,340.9 L612,340.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.85,341 L89.5,341 L92.16,341 L94.81,341 L97.46,340.9 L100.1,340.9 L102.8,340.8 L105.4,340.7 L108.1,340.6 L110.7,340.4 L113.4,340.2 L116,339.9 L118.7,339.5 L121.3,339.1 L124,338.6 L126.6,338.1 L129.3,337.5 L131.9,336.9 L134.6,336.1 L137.2,335.4 L139.9,334.5 L142.5,333.6 L145.2,332.6 L147.9,331.6 L150.5,330.6 L153.2,329.4 L155.8,328.3 L158.5,327.1 L161.1,325.9 L163.8,324.6 L166.4,323.3 L169.1,322 L171.7,320.6 L174.4,319.3 L177,317.9 L179.7,316.6 L182.3,315.2 L185,313.9 L187.6,312.5 L190.3,311.2 L192.9,309.8 L195.6,308.5 L198.2,307.2 L200.9,306 L203.5,304.8 L206.2,303.5 L208.9,302.4 L211.5,301.2 L214.2,300.2 L216.8,299.1 L219.5,298.1 L222.1,297.1 L224.8,296.2 L227.4,295.3 L230.1,294.5 L232.7,293.7 L235.4,292.9 L238,292.3 L240.7,291.6 L243.3,291 L246,290.5 L248.6,290 L251.3,289.5 L253.9,289.1 L256.6,288.8 L259.2,288.5 L261.9,288.2 L264.5,288 L267.2,287.9 L269.9,287.7 L272.5,287.7 L275.2,287.6 L277.8,287.6 L280.5,287.7 L283.1,287.8 L285.8,287.9 L288.4,288.1 L291.1,288.3 L293.7,288.5 L296.4,288.7 L299,289 L301.7,289.4 L304.3,289.7 L307,290.1 L309.6,290.5 L312.3,290.9 L314.9,291.4 L317.6,291.8 L320.2,292.3 L322.9,292.9 L325.6,293.4 L328.2,293.9 L330.9,294.5 L333.5,295.1 L336.2,295.7 L338.8,296.3 L341.5,296.9 L344.1,297.5 L346.8,298.2 L349.4,298.8 L352.1,299.4 L354.7,300.1 L357.4,300.8 L360,301.4 L362.7,302.1 L365.3,302.8 L368,303.4 L370.6,304.1 L373.3,304.8 L375.9,305.5 L378.6,306.1 L381.2,306.8 L383.9,307.5 L386.6,308.1 L389.2,308.8 L391.9,309.5 L394.5,310.1 L397.2,310.8 L399.8,311.4 L402.5,312 L405.1,312.7 L407.8,313.3 L410.4,313.9 L413.1,314.5 L415.7,315.1 L418.4,315.7 L421,316.3 L423.7,316.9 L426.3,317.5 L429,318.1 L431.6,318.6 L434.3,319.2 L436.9,319.7 L439.6,320.2 L442.2,320.8 L444.9,321.3 L447.6,321.8 L450.2,322.3 L452.9,322.8 L455.5,323.3 L458.2,323.7 L460.8,324.2 L463.5,324.6 L466.1,325.1 L468.8,325.5 L471.4,325.9 L474.1,326.4 L476.7,326.8 L479.4,327.2 L482,327.5 L484.7,327.9 L487.3,328.3 L490,328.7 L492.6,329 L495.3,329.4 L497.9,329.7 L500.6,330 L503.2,330.4 L505.9,330.7 L508.6,331 L511.2,331.3 L513.9,331.6 L516.5,331.9 L519.2,332.1 L521.8,332.4 L524.5,332.7 L527.1,332.9 L529.8,333.2 L532.4,333.4 L535.1,333.7 L537.7,333.9 L540.4,334.1 L543,334.3 L545.7,334.5 L548.3,334.7 L551,334.9 L553.6,335.1 L556.3,335.3 L558.9,335.5 L561.6,335.7 L564.2,335.9 L566.9,336 L569.6,336.2 L572.2,336.4 L574.9,336.5 L577.5,336.7 L580.2,336.8 L582.8,336.9 L585.5,337.1 L588.1,337.2 L590.8,337.3 L593.4,337.5 L596.1,337.6 L598.7,337.7 L601.4,337.8 L604,337.9 L606.7,338 L609.3,338.1 L612,338.2 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="628.6" y="58" width="95.36" height="105"/><rect x="628.6" y="58" width="95.36" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="88" x2="658.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="118" x2="658.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="148" x2="658.6" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="666.1" y="88" font-size="15" font-family="Verdana">v=2</text>
+<text x="666.1" y="118" font-size="15" font-family="Verdana">v=5</text>
+<text x="666.1" y="148" font-size="15" font-family="Verdana">v=10</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Chi Squared Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.png b/libs/math/doc/graphs/cyl_bessel_i.png
index b7f49b5e30..b7f49b5e30 100644
--- a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.png
+++ b/libs/math/doc/graphs/cyl_bessel_i.png
Binary files differ
diff --git a/libs/math/doc/graphs/cyl_bessel_i.svg b/libs/math/doc/graphs/cyl_bessel_i.svg
new file mode 100644
index 0000000000..0dc157a0be
--- /dev/null
+++ b/libs/math/doc/graphs/cyl_bessel_i.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="202.3" x2="453" y2="202.3"/><line x1="79.2" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,184.9 L84.2,184.9 M82.2,167.6 L84.2,167.6 M82.2,150.3 L84.2,150.3 M82.2,115.6 L84.2,115.6 M82.2,98.23 L84.2,98.23 M82.2,80.89 L84.2,80.89 M82.2,202.3 L84.2,202.3 M82.2,219.6 L84.2,219.6 M82.2,237 L84.2,237 M82.2,254.3 L84.2,254.3 M82.2,271.6 L84.2,271.6 M82.2,289 L84.2,289 M82.2,306.3 L84.2,306.3 M82.2,323.7 L84.2,323.7 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M287.7,341 L287.7,343 M310.5,341 L310.5,343 M333.2,341 L333.2,343 M378.7,341 L378.7,343 M401.4,341 L401.4,343 M424.2,341 L424.2,343 M242.2,341 L242.2,343 M219.5,341 L219.5,343 M196.7,341 L196.7,343 M151.2,341 L151.2,343 M128.5,341 L128.5,343 M105.8,341 L105.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,202.3 L84.2,202.3 M79.2,132.9 L84.2,132.9 M79.2,63.55 L84.2,63.55 M79.2,202.3 L84.2,202.3 M79.2,271.6 L84.2,271.6 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M355.9,341 L355.9,346 M446.9,341 L446.9,346 M265,341 L265,346 M174,341 L174,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="355.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="446.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="174" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">20</text>
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="274" text-anchor="end" font-size="12" font-family="Verdana">-10</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_bessel_i(v, x)</text></g>
+<g id="xLabel">
+<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M180.3,63.55 L181.2,69.14 L182,74.5 L182.9,79.63 L183.7,84.55 L184.5,89.27 L185.4,93.78 L186.2,98.12 L187.1,102.3 L187.9,106.2 L188.8,110.1 L189.6,113.7 L190.5,117.2 L191.3,120.6 L192.2,123.8 L193,126.9 L193.9,129.8 L194.7,132.7 L195.6,135.4 L196.4,138 L197.2,140.5 L198.1,142.9 L198.9,145.2 L199.8,147.4 L200.6,149.5 L201.5,151.6 L202.3,153.5 L203.2,155.4 L204,157.1 L204.9,158.9 L205.7,160.5 L206.6,162.1 L207.4,163.6 L208.2,165 L209.1,166.4 L209.9,167.8 L210.8,169 L211.6,170.3 L212.5,171.4 L213.3,172.6 L214.2,173.6 L215,174.7 L215.9,175.7 L216.7,176.6 L217.6,177.5 L218.4,178.4 L219.3,179.2 L220.1,180 L220.9,180.8 L221.8,181.6 L222.6,182.3 L223.5,182.9 L224.3,183.6 L225.2,184.2 L226,184.8 L226.9,185.4 L227.7,185.9 L228.6,186.5 L229.4,187 L230.3,187.4 L231.1,187.9 L232,188.3 L232.8,188.8 L233.6,189.2 L234.5,189.6 L235.3,189.9 L236.2,190.3 L237,190.6 L237.9,190.9 L238.7,191.2 L239.6,191.5 L240.4,191.8 L241.3,192.1 L242.1,192.3 L243,192.6 L243.8,192.8 L244.6,193 L245.5,193.2 L246.3,193.4 L247.2,193.6 L248,193.8 L248.9,193.9 L249.7,194.1 L250.6,194.2 L251.4,194.3 L252.3,194.5 L253.1,194.6 L254,194.7 L254.8,194.8 L255.7,194.9 L256.5,195 L257.3,195 L258.2,195.1 L259,195.2 L259.9,195.2 L260.7,195.2 L261.6,195.3 L262.4,195.3 L263.3,195.3 L264.1,195.3 L265,195.3 L265.8,195.3 L266.7,195.3 L267.5,195.3 L268.4,195.3 L269.2,195.2 L270,195.2 L270.9,195.2 L271.7,195.1 L272.6,195 L273.4,195 L274.3,194.9 L275.1,194.8 L276,194.7 L276.8,194.6 L277.7,194.5 L278.5,194.3 L279.4,194.2 L280.2,194.1 L281,193.9 L281.9,193.8 L282.7,193.6 L283.6,193.4 L284.4,193.2 L285.3,193 L286.1,192.8 L287,192.6 L287.8,192.3 L288.7,192.1 L289.5,191.8 L290.4,191.5 L291.2,191.2 L292.1,190.9 L292.9,190.6 L293.7,190.3 L294.6,189.9 L295.4,189.6 L296.3,189.2 L297.1,188.8 L298,188.3 L298.8,187.9 L299.7,187.4 L300.5,187 L301.4,186.5 L302.2,185.9 L303.1,185.4 L303.9,184.8 L304.8,184.2 L305.6,183.6 L306.4,182.9 L307.3,182.3 L308.1,181.6 L309,180.8 L309.8,180 L310.7,179.2 L311.5,178.4 L312.4,177.5 L313.2,176.6 L314.1,175.7 L314.9,174.7 L315.8,173.6 L316.6,172.6 L317.4,171.4 L318.3,170.3 L319.1,169 L320,167.8 L320.8,166.4 L321.7,165 L322.5,163.6 L323.4,162.1 L324.2,160.5 L325.1,158.9 L325.9,157.1 L326.8,155.4 L327.6,153.5 L328.5,151.6 L329.3,149.5 L330.1,147.4 L331,145.2 L331.8,142.9 L332.7,140.5 L333.5,138 L334.4,135.4 L335.2,132.7 L336.1,129.8 L336.9,126.9 L337.8,123.8 L338.6,120.6 L339.5,117.2 L340.3,113.7 L341.2,110.1 L342,106.2 L342.8,102.3 L343.7,98.12 L344.5,93.78 L345.4,89.27 L346.2,84.55 L347.1,79.63 L347.9,74.5 L348.8,69.14 L349.6,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M171.5,63.55 L172.5,70.41 L173.4,76.94 L174.3,83.15 L175.3,89.06 L176.2,94.69 L177.1,100 L178.1,105.1 L179,110 L179.9,114.6 L180.9,118.9 L181.8,123.1 L182.8,127.1 L183.7,130.8 L184.6,134.4 L185.6,137.8 L186.5,141.1 L187.4,144.2 L188.4,147.1 L189.3,149.9 L190.2,152.6 L191.2,155.1 L192.1,157.5 L193,159.8 L194,162 L194.9,164 L195.8,166 L196.8,167.9 L197.7,169.6 L198.6,171.3 L199.6,172.9 L200.5,174.5 L201.4,175.9 L202.4,177.3 L203.3,178.6 L204.2,179.9 L205.2,181.1 L206.1,182.2 L207,183.3 L208,184.3 L208.9,185.3 L209.8,186.2 L210.8,187.1 L211.7,187.9 L212.6,188.7 L213.6,189.5 L214.5,190.2 L215.5,190.9 L216.4,191.5 L217.3,192.1 L218.3,192.7 L219.2,193.3 L220.1,193.8 L221.1,194.3 L222,194.8 L222.9,195.2 L223.9,195.6 L224.8,196 L225.7,196.4 L226.7,196.8 L227.6,197.1 L228.5,197.5 L229.5,197.8 L230.4,198.1 L231.3,198.4 L232.3,198.6 L233.2,198.9 L234.1,199.1 L235.1,199.4 L236,199.6 L236.9,199.8 L237.9,200 L238.8,200.2 L239.7,200.3 L240.7,200.5 L241.6,200.6 L242.5,200.8 L243.5,200.9 L244.4,201 L245.3,201.2 L246.3,201.3 L247.2,201.4 L248.1,201.5 L249.1,201.6 L250,201.7 L251,201.7 L251.9,201.8 L252.8,201.9 L253.8,201.9 L254.7,202 L255.6,202 L256.6,202.1 L257.5,202.1 L258.4,202.2 L259.4,202.2 L260.3,202.2 L261.2,202.2 L262.2,202.3 L263.1,202.3 L264,202.3 L265,202.3 L265.9,202.3 L266.8,202.3 L267.8,202.3 L268.7,202.2 L269.6,202.2 L270.6,202.2 L271.5,202.2 L272.4,202.1 L273.4,202.1 L274.3,202 L275.2,202 L276.2,201.9 L277.1,201.9 L278,201.8 L279,201.7 L279.9,201.7 L280.8,201.6 L281.8,201.5 L282.7,201.4 L283.6,201.3 L284.6,201.2 L285.5,201 L286.5,200.9 L287.4,200.8 L288.3,200.6 L289.3,200.5 L290.2,200.3 L291.1,200.2 L292.1,200 L293,199.8 L293.9,199.6 L294.9,199.4 L295.8,199.1 L296.7,198.9 L297.7,198.6 L298.6,198.4 L299.5,198.1 L300.5,197.8 L301.4,197.5 L302.3,197.1 L303.3,196.8 L304.2,196.4 L305.1,196 L306.1,195.6 L307,195.2 L307.9,194.8 L308.9,194.3 L309.8,193.8 L310.7,193.3 L311.7,192.7 L312.6,192.1 L313.5,191.5 L314.5,190.9 L315.4,190.2 L316.3,189.5 L317.3,188.7 L318.2,187.9 L319.2,187.1 L320.1,186.2 L321,185.3 L322,184.3 L322.9,183.3 L323.8,182.2 L324.8,181.1 L325.7,179.9 L326.6,178.6 L327.6,177.3 L328.5,175.9 L329.4,174.5 L330.4,172.9 L331.3,171.3 L332.2,169.6 L333.2,167.9 L334.1,166 L335,164 L336,162 L336.9,159.8 L337.8,157.5 L338.8,155.1 L339.7,152.6 L340.6,149.9 L341.6,147.1 L342.5,144.2 L343.4,141.1 L344.4,137.8 L345.3,134.4 L346.2,130.8 L347.2,127.1 L348.1,123.1 L349,118.9 L350,114.6 L350.9,110 L351.8,105.1 L352.8,100 L353.7,94.69 L354.7,89.06 L355.6,83.15 L356.5,76.94 L357.5,70.41 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M142.1,341 L143.4,330.2 L144.6,320.2 L145.8,311 L147,302.4 L148.3,294.5 L149.5,287.2 L150.7,280.4 L152,274.2 L153.2,268.4 L154.4,263.1 L155.6,258.2 L156.9,253.6 L158.1,249.4 L159.3,245.5 L160.6,242 L161.8,238.7 L163,235.6 L164.2,232.8 L165.5,230.3 L166.7,227.9 L167.9,225.7 L169.1,223.7 L170.4,221.9 L171.6,220.2 L172.8,218.6 L174.1,217.2 L175.3,215.8 L176.5,214.6 L177.7,213.5 L179,212.5 L180.2,211.6 L181.4,210.7 L182.7,209.9 L183.9,209.2 L185.1,208.6 L186.3,208 L187.6,207.4 L188.8,206.9 L190,206.5 L191.3,206.1 L192.5,205.7 L193.7,205.3 L194.9,205 L196.2,204.7 L197.4,204.5 L198.6,204.3 L199.9,204 L201.1,203.9 L202.3,203.7 L203.5,203.5 L204.8,203.4 L206,203.3 L207.2,203.1 L208.5,203 L209.7,203 L210.9,202.9 L212.1,202.8 L213.4,202.7 L214.6,202.7 L215.8,202.6 L217.1,202.6 L218.3,202.5 L219.5,202.5 L220.7,202.5 L222,202.4 L223.2,202.4 L224.4,202.4 L225.7,202.4 L226.9,202.4 L228.1,202.3 L229.3,202.3 L230.6,202.3 L231.8,202.3 L233,202.3 L234.3,202.3 L235.5,202.3 L236.7,202.3 L237.9,202.3 L239.2,202.3 L240.4,202.3 L241.6,202.3 L242.9,202.3 L244.1,202.3 L245.3,202.3 L246.5,202.3 L247.8,202.3 L249,202.3 L250.2,202.3 L251.5,202.3 L252.7,202.3 L253.9,202.3 L255.1,202.3 L256.4,202.3 L257.6,202.3 L258.8,202.3 L260.1,202.3 L261.3,202.3 L262.5,202.3 L263.7,202.3 L265,202.3 L266.2,202.3 L267.4,202.3 L268.6,202.3 L269.9,202.3 L271.1,202.3 L272.3,202.3 L273.6,202.3 L274.8,202.3 L276,202.3 L277.2,202.3 L278.5,202.3 L279.7,202.3 L280.9,202.3 L282.2,202.3 L283.4,202.3 L284.6,202.3 L285.8,202.3 L287.1,202.3 L288.3,202.3 L289.5,202.3 L290.8,202.3 L292,202.3 L293.2,202.3 L294.4,202.3 L295.7,202.2 L296.9,202.2 L298.1,202.2 L299.4,202.2 L300.6,202.2 L301.8,202.2 L303,202.2 L304.3,202.2 L305.5,202.2 L306.7,202.1 L308,202.1 L309.2,202.1 L310.4,202 L311.6,202 L312.9,202 L314.1,201.9 L315.3,201.9 L316.6,201.8 L317.8,201.7 L319,201.7 L320.2,201.6 L321.5,201.5 L322.7,201.4 L323.9,201.3 L325.2,201.2 L326.4,201 L327.6,200.9 L328.8,200.7 L330.1,200.5 L331.3,200.3 L332.5,200.1 L333.8,199.8 L335,199.5 L336.2,199.2 L337.4,198.9 L338.7,198.5 L339.9,198.1 L341.1,197.6 L342.4,197.1 L343.6,196.6 L344.8,196 L346,195.3 L347.3,194.6 L348.5,193.8 L349.7,193 L351,192 L352.2,191 L353.4,189.9 L354.6,188.7 L355.9,187.4 L357.1,186 L358.3,184.4 L359.6,182.7 L360.8,180.8 L362,178.8 L363.2,176.6 L364.5,174.3 L365.7,171.7 L366.9,168.9 L368.1,165.9 L369.4,162.6 L370.6,159 L371.8,155.1 L373.1,150.9 L374.3,146.4 L375.5,141.5 L376.7,136.1 L378,130.4 L379.2,124.1 L380.4,117.4 L381.7,110 L382.9,102.1 L384.1,93.58 L385.3,84.34 L386.6,74.35 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M119.5,341 L120.9,327.3 L122.4,314.9 L123.8,303.7 L125.3,293.6 L126.8,284.4 L128.2,276.2 L129.7,268.7 L131.1,261.9 L132.6,255.8 L134,250.3 L135.5,245.3 L136.9,240.9 L138.4,236.8 L139.9,233.2 L141.3,229.9 L142.8,227 L144.2,224.4 L145.7,222 L147.1,219.8 L148.6,217.9 L150,216.2 L151.5,214.7 L152.9,213.3 L154.4,212.1 L155.9,211 L157.3,210 L158.8,209.1 L160.2,208.3 L161.7,207.6 L163.1,207 L164.6,206.4 L166,205.9 L167.5,205.5 L168.9,205.1 L170.4,204.7 L171.9,204.4 L173.3,204.2 L174.8,203.9 L176.2,203.7 L177.7,203.5 L179.1,203.4 L180.6,203.2 L182,203.1 L183.5,203 L184.9,202.9 L186.4,202.8 L187.9,202.7 L189.3,202.7 L190.8,202.6 L192.2,202.6 L193.7,202.5 L195.1,202.5 L196.6,202.4 L198,202.4 L199.5,202.4 L201,202.4 L202.4,202.4 L203.9,202.3 L205.3,202.3 L206.8,202.3 L208.2,202.3 L209.7,202.3 L211.1,202.3 L212.6,202.3 L214,202.3 L215.5,202.3 L217,202.3 L218.4,202.3 L219.9,202.3 L221.3,202.3 L222.8,202.3 L224.2,202.3 L225.7,202.3 L227.1,202.3 L228.6,202.3 L230,202.3 L231.5,202.3 L233,202.3 L234.4,202.3 L235.9,202.3 L237.3,202.3 L238.8,202.3 L240.2,202.3 L241.7,202.3 L243.1,202.3 L244.6,202.3 L246.1,202.3 L247.5,202.3 L249,202.3 L250.4,202.3 L251.9,202.3 L253.3,202.3 L254.8,202.3 L256.2,202.3 L257.7,202.3 L259.1,202.3 L260.6,202.3 L262.1,202.3 L263.5,202.3 L265,202.3 L266.4,202.3 L267.9,202.3 L269.3,202.3 L270.8,202.3 L272.2,202.3 L273.7,202.3 L275.1,202.3 L276.6,202.3 L278.1,202.3 L279.5,202.3 L281,202.3 L282.4,202.3 L283.9,202.3 L285.3,202.3 L286.8,202.3 L288.2,202.3 L289.7,202.3 L291.2,202.3 L292.6,202.3 L294.1,202.3 L295.5,202.3 L297,202.3 L298.4,202.3 L299.9,202.3 L301.3,202.3 L302.8,202.3 L304.2,202.3 L305.7,202.3 L307.2,202.3 L308.6,202.3 L310.1,202.3 L311.5,202.3 L313,202.3 L314.4,202.3 L315.9,202.3 L317.3,202.3 L318.8,202.2 L320.2,202.2 L321.7,202.2 L323.2,202.2 L324.6,202.2 L326.1,202.2 L327.5,202.2 L329,202.2 L330.4,202.1 L331.9,202.1 L333.3,202.1 L334.8,202.1 L336.3,202 L337.7,202 L339.2,201.9 L340.6,201.9 L342.1,201.8 L343.5,201.7 L345,201.7 L346.4,201.6 L347.9,201.5 L349.3,201.3 L350.8,201.2 L352.3,201 L353.7,200.8 L355.2,200.6 L356.6,200.4 L358.1,200.1 L359.5,199.8 L361,199.5 L362.4,199.1 L363.9,198.6 L365.3,198.1 L366.8,197.6 L368.3,197 L369.7,196.3 L371.2,195.5 L372.6,194.6 L374.1,193.6 L375.5,192.5 L377,191.3 L378.4,189.9 L379.9,188.3 L381.4,186.6 L382.8,184.7 L384.3,182.6 L385.7,180.2 L387.2,177.6 L388.6,174.6 L390.1,171.3 L391.5,167.7 L393,163.7 L394.4,159.2 L395.9,154.2 L397.4,148.7 L398.8,142.6 L400.3,135.9 L401.7,128.4 L403.2,120.1 L404.6,110.9 L406.1,100.8 L407.5,89.6 L409,77.22 L410.4,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,63.55 L86.01,81.54 L87.82,97.28 L89.62,111 L91.43,123 L93.24,133.5 L95.05,142.7 L96.85,150.6 L98.66,157.6 L100.5,163.6 L102.3,168.9 L104.1,173.5 L105.9,177.4 L107.7,180.9 L109.5,183.8 L111.3,186.4 L113.1,188.7 L114.9,190.6 L116.7,192.3 L118.5,193.7 L120.4,195 L122.2,196 L124,196.9 L125.8,197.7 L127.6,198.4 L129.4,199 L131.2,199.5 L133,199.9 L134.8,200.3 L136.6,200.6 L138.4,200.9 L140.2,201.1 L142,201.3 L143.9,201.4 L145.7,201.6 L147.5,201.7 L149.3,201.8 L151.1,201.9 L152.9,201.9 L154.7,202 L156.5,202 L158.3,202.1 L160.1,202.1 L161.9,202.1 L163.7,202.2 L165.5,202.2 L167.4,202.2 L169.2,202.2 L171,202.2 L172.8,202.2 L174.6,202.2 L176.4,202.3 L178.2,202.3 L180,202.3 L181.8,202.3 L183.6,202.3 L185.4,202.3 L187.2,202.3 L189,202.3 L190.9,202.3 L192.7,202.3 L194.5,202.3 L196.3,202.3 L198.1,202.3 L199.9,202.3 L201.7,202.3 L203.5,202.3 L205.3,202.3 L207.1,202.3 L208.9,202.3 L210.7,202.3 L212.5,202.3 L214.4,202.3 L216.2,202.3 L218,202.3 L219.8,202.3 L221.6,202.3 L223.4,202.3 L225.2,202.3 L227,202.3 L228.8,202.3 L230.6,202.3 L232.4,202.3 L234.2,202.3 L236,202.3 L237.8,202.3 L239.7,202.3 L241.5,202.3 L243.3,202.3 L245.1,202.3 L246.9,202.3 L248.7,202.3 L250.5,202.3 L252.3,202.3 L254.1,202.3 L255.9,202.3 L257.7,202.3 L259.5,202.3 L261.3,202.3 L263.2,202.3 L265,202.3 L266.8,202.3 L268.6,202.3 L270.4,202.3 L272.2,202.3 L274,202.3 L275.8,202.3 L277.6,202.3 L279.4,202.3 L281.2,202.3 L283,202.3 L284.8,202.3 L286.7,202.3 L288.5,202.3 L290.3,202.3 L292.1,202.3 L293.9,202.3 L295.7,202.3 L297.5,202.3 L299.3,202.3 L301.1,202.3 L302.9,202.3 L304.7,202.3 L306.5,202.3 L308.3,202.3 L310.2,202.3 L312,202.3 L313.8,202.3 L315.6,202.3 L317.4,202.3 L319.2,202.3 L321,202.3 L322.8,202.3 L324.6,202.3 L326.4,202.3 L328.2,202.3 L330,202.3 L331.8,202.3 L333.7,202.3 L335.5,202.3 L337.3,202.3 L339.1,202.3 L340.9,202.3 L342.7,202.3 L344.5,202.3 L346.3,202.3 L348.1,202.3 L349.9,202.3 L351.7,202.3 L353.5,202.3 L355.3,202.2 L357.2,202.2 L359,202.2 L360.8,202.2 L362.6,202.2 L364.4,202.2 L366.2,202.2 L368,202.1 L369.8,202.1 L371.6,202.1 L373.4,202 L375.2,202 L377,201.9 L378.8,201.9 L380.7,201.8 L382.5,201.7 L384.3,201.6 L386.1,201.4 L387.9,201.3 L389.7,201.1 L391.5,200.9 L393.3,200.6 L395.1,200.3 L396.9,199.9 L398.7,199.5 L400.5,199 L402.3,198.4 L404.2,197.7 L406,196.9 L407.8,196 L409.6,195 L411.4,193.7 L413.2,192.3 L415,190.6 L416.8,188.7 L418.6,186.4 L420.4,183.8 L422.2,180.9 L424,177.4 L425.8,173.5 L427.7,168.9 L429.5,163.6 L431.3,157.6 L433.1,150.6 L434.9,142.7 L436.7,133.5 L438.5,123 L440.3,111 L442.1,97.28 L443.9,81.54 L445.7,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel I</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.png b/libs/math/doc/graphs/cyl_bessel_j.png
index 37c770010a..37c770010a 100644
--- a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.png
+++ b/libs/math/doc/graphs/cyl_bessel_j.png
Binary files differ
diff --git a/libs/math/doc/graphs/cyl_bessel_j.svg b/libs/math/doc/graphs/cyl_bessel_j.svg
new file mode 100644
index 0000000000..bc57389892
--- /dev/null
+++ b/libs/math/doc/graphs/cyl_bessel_j.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="366.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="368.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="273.1" y1="58" x2="273.1" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="239" x2="460.8" y2="239"/><line x1="87.6" y1="341" x2="460.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,217.1 L92.6,217.1 M90.6,195.1 L92.6,195.1 M90.6,173.2 L92.6,173.2 M90.6,129.3 L92.6,129.3 M90.6,107.4 L92.6,107.4 M90.6,85.48 L92.6,85.48 M90.6,239 L92.6,239 M90.6,260.9 L92.6,260.9 M90.6,282.8 L92.6,282.8 M90.6,304.8 L92.6,304.8 M90.6,326.7 L92.6,326.7 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M295.7,341 L295.7,343 M318.2,341 L318.2,343 M340.8,341 L340.8,343 M385.9,341 L385.9,343 M408.5,341 L408.5,343 M431,341 L431,343 M250.5,341 L250.5,343 M228,341 L228,343 M205.4,341 L205.4,343 M160.3,341 L160.3,343 M137.7,341 L137.7,343 M115.2,341 L115.2,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,239 L92.6,239 M87.6,151.3 L92.6,151.3 M87.6,63.55 L92.6,63.55 M87.6,239 L92.6,239 M87.6,326.7 L92.6,326.7 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M273.1,341 L273.1,346 M363.3,341 L363.3,346 M453.6,341 L453.6,346 M273.1,341 L273.1,346 M182.8,341 L182.8,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="363.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="453.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="182.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="241.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="153.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="241.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="329.1" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_bessel_j(v, x)</text></g>
+<g id="xLabel">
+<text x="276.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,209.7 L94.4,207.9 L96.21,207.4 L98.01,208.1 L99.82,210.1 L101.6,213.3 L103.4,217.5 L105.2,222.6 L107,228.4 L108.8,234.8 L110.6,241.3 L112.5,247.9 L114.3,254.1 L116.1,259.9 L117.9,264.8 L119.7,268.8 L121.5,271.6 L123.3,273.2 L125.1,273.4 L126.9,272.2 L128.7,269.7 L130.5,265.9 L132.3,261 L134.1,255.1 L135.9,248.5 L137.7,241.5 L139.5,234.2 L141.3,227.1 L143.1,220.3 L144.9,214.2 L146.7,209 L148.6,204.9 L150.4,202.1 L152.2,200.8 L154,201 L155.8,202.7 L157.6,205.9 L159.4,210.5 L161.2,216.3 L163,223.1 L164.8,230.6 L166.6,238.6 L168.4,246.8 L170.2,254.8 L172,262.3 L173.8,269 L175.6,274.6 L177.4,278.9 L179.2,281.7 L181,282.8 L182.8,282.1 L184.6,279.7 L186.5,275.6 L188.3,270 L190.1,263 L191.9,254.8 L193.7,245.9 L195.5,236.4 L197.3,226.8 L199.1,217.5 L200.9,208.9 L202.7,201.2 L204.5,194.8 L206.3,190.1 L208.1,187.2 L209.9,186.3 L211.7,187.6 L213.5,190.9 L215.3,196.3 L217.1,203.6 L218.9,212.6 L220.7,222.9 L222.6,234.3 L224.4,246.2 L226.2,258.3 L228,270.1 L229.8,281.2 L231.6,290.9 L233.4,299 L235.2,305 L237,308.7 L238.8,309.6 L240.6,307.7 L242.4,302.9 L244.2,295.2 L246,284.6 L247.8,271.4 L249.6,256 L251.4,238.5 L253.2,219.6 L255,199.7 L256.8,179.3 L258.7,159.1 L260.5,139.5 L262.3,121.2 L264.1,104.7 L265.9,90.52 L267.7,78.99 L269.5,70.5 L271.3,65.3 L273.1,63.55 L274.9,65.3 L276.7,70.5 L278.5,78.99 L280.3,90.52 L282.1,104.7 L283.9,121.2 L285.7,139.5 L287.5,159.1 L289.3,179.3 L291.1,199.7 L292.9,219.6 L294.7,238.5 L296.6,256 L298.4,271.4 L300.2,284.6 L302,295.2 L303.8,302.9 L305.6,307.7 L307.4,309.6 L309.2,308.7 L311,305 L312.8,299 L314.6,290.9 L316.4,281.2 L318.2,270.1 L320,258.3 L321.8,246.2 L323.6,234.3 L325.4,222.9 L327.2,212.6 L329,203.6 L330.8,196.3 L332.7,190.9 L334.5,187.6 L336.3,186.3 L338.1,187.2 L339.9,190.1 L341.7,194.8 L343.5,201.2 L345.3,208.9 L347.1,217.5 L348.9,226.8 L350.7,236.4 L352.5,245.9 L354.3,254.8 L356.1,263 L357.9,270 L359.7,275.6 L361.5,279.7 L363.3,282.1 L365.1,282.8 L366.9,281.7 L368.7,278.9 L370.6,274.6 L372.4,269 L374.2,262.3 L376,254.8 L377.8,246.8 L379.6,238.6 L381.4,230.6 L383.2,223.1 L385,216.3 L386.8,210.5 L388.6,205.9 L390.4,202.7 L392.2,201 L394,200.8 L395.8,202.1 L397.6,204.9 L399.4,209 L401.2,214.2 L403,220.3 L404.8,227.1 L406.7,234.2 L408.5,241.5 L410.3,248.5 L412.1,255.1 L413.9,261 L415.7,265.9 L417.5,269.7 L419.3,272.2 L421.1,273.4 L422.9,273.2 L424.7,271.6 L426.5,268.8 L428.3,264.8 L430.1,259.9 L431.9,254.1 L433.7,247.9 L435.5,241.3 L437.3,234.8 L439.1,228.4 L440.9,222.6 L442.8,217.5 L444.6,213.3 L446.4,210.1 L448.2,208.1 L450,207.4 L451.8,207.9 L453.6,209.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,250.7 L94.4,244.7 L96.21,238.5 L98.01,232.2 L99.82,226.1 L101.6,220.4 L103.4,215.5 L105.2,211.4 L107,208.4 L108.8,206.6 L110.6,206 L112.5,206.8 L114.3,208.8 L116.1,212.1 L117.9,216.5 L119.7,221.8 L121.5,227.9 L123.3,234.6 L125.1,241.4 L126.9,248.3 L128.7,254.8 L130.5,260.9 L132.3,266.1 L134.1,270.3 L135.9,273.3 L137.7,275 L139.5,275.2 L141.3,274 L143.1,271.4 L144.9,267.5 L146.7,262.4 L148.6,256.2 L150.4,249.3 L152.2,241.9 L154,234.2 L155.8,226.6 L157.6,219.4 L159.4,212.9 L161.2,207.3 L163,202.8 L164.8,199.8 L166.6,198.2 L168.4,198.3 L170.2,200 L172,203.2 L173.8,208 L175.6,214 L177.4,221.2 L179.2,229.3 L181,237.8 L182.8,246.6 L184.6,255.3 L186.5,263.5 L188.3,270.8 L190.1,277.1 L191.9,282 L193.7,285.3 L195.5,286.8 L197.3,286.5 L199.1,284.2 L200.9,280.1 L202.7,274.3 L204.5,266.9 L206.3,258.2 L208.1,248.5 L209.9,238.2 L211.7,227.5 L213.5,217.1 L215.3,207.1 L217.1,198.1 L218.9,190.4 L220.7,184.4 L222.6,180.3 L224.4,178.4 L226.2,178.8 L228,181.5 L229.8,186.6 L231.6,194 L233.4,203.4 L235.2,214.7 L237,227.4 L238.8,241.2 L240.6,255.7 L242.4,270.4 L244.2,284.8 L246,298.5 L247.8,310.9 L249.6,321.6 L251.4,330.2 L253.2,336.5 L255,340.2 L256.8,341 L258.7,339 L260.5,334.1 L262.3,326.4 L264.1,316.2 L265.9,303.7 L267.7,289.3 L269.5,273.4 L271.3,256.4 L273.1,239 L274.9,221.5 L276.7,204.6 L278.5,188.7 L280.3,174.3 L282.1,161.8 L283.9,151.6 L285.7,143.9 L287.5,139 L289.3,137 L291.1,137.8 L292.9,141.4 L294.7,147.7 L296.6,156.4 L298.4,167.1 L300.2,179.5 L302,193.1 L303.8,207.5 L305.6,222.2 L307.4,236.7 L309.2,250.6 L311,263.3 L312.8,274.6 L314.6,284 L316.4,291.3 L318.2,296.5 L320,299.2 L321.8,299.6 L323.6,297.6 L325.4,293.5 L327.2,287.5 L329,279.8 L330.8,270.8 L332.7,260.9 L334.5,250.4 L336.3,239.8 L338.1,229.5 L339.9,219.8 L341.7,211.1 L343.5,203.7 L345.3,197.8 L347.1,193.7 L348.9,191.5 L350.7,191.1 L352.5,192.7 L354.3,195.9 L356.1,200.8 L357.9,207.1 L359.7,214.5 L361.5,222.7 L363.3,231.4 L365.1,240.1 L366.9,248.7 L368.7,256.7 L370.6,263.9 L372.4,270 L374.2,274.7 L376,278 L377.8,279.7 L379.6,279.7 L381.4,278.2 L383.2,275.1 L385,270.7 L386.8,265.1 L388.6,258.5 L390.4,251.3 L392.2,243.7 L394,236.1 L395.8,228.6 L397.6,221.7 L399.4,215.6 L401.2,210.5 L403,206.5 L404.8,203.9 L406.7,202.7 L408.5,203 L410.3,204.7 L412.1,207.7 L413.9,211.9 L415.7,217.1 L417.5,223.1 L419.3,229.7 L421.1,236.5 L422.9,243.4 L424.7,250 L426.5,256.1 L428.3,261.5 L430.1,265.9 L431.9,269.1 L433.7,271.2 L435.5,272 L437.3,271.4 L439.1,269.6 L440.9,266.6 L442.8,262.5 L444.6,257.5 L446.4,251.9 L448.2,245.8 L450,239.5 L451.8,233.2 L453.6,227.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,267.1 L94.4,269.5 L96.21,270.6 L98.01,270.5 L99.82,269.2 L101.6,266.7 L103.4,263 L105.2,258.3 L107,252.9 L108.8,246.8 L110.6,240.3 L112.5,233.7 L114.3,227.3 L116.1,221.2 L117.9,215.8 L119.7,211.2 L121.5,207.7 L123.3,205.3 L125.1,204.3 L126.9,204.6 L128.7,206.3 L130.5,209.3 L132.3,213.5 L134.1,218.8 L135.9,224.9 L137.7,231.7 L139.5,238.8 L141.3,246.1 L143.1,253.2 L144.9,259.8 L146.7,265.7 L148.6,270.6 L150.4,274.3 L152.2,276.7 L154,277.7 L155.8,277.2 L157.6,275.1 L159.4,271.7 L161.2,266.8 L163,260.8 L164.8,253.9 L166.6,246.2 L168.4,238.2 L170.2,230 L172,222 L173.8,214.6 L175.6,208 L177.4,202.4 L179.2,198.2 L181,195.4 L182.8,194.3 L184.6,194.9 L186.5,197.2 L188.3,201.2 L190.1,206.7 L191.9,213.6 L193.7,221.6 L195.5,230.4 L197.3,239.8 L199.1,249.4 L200.9,258.8 L202.7,267.7 L204.5,275.8 L206.3,282.7 L208.1,288.1 L209.9,291.9 L211.7,293.8 L213.5,293.7 L215.3,291.6 L217.1,287.6 L218.9,281.6 L220.7,273.9 L222.6,264.7 L224.4,254.2 L226.2,242.8 L228,230.8 L229.8,218.6 L231.6,206.6 L233.4,195.1 L235.2,184.5 L237,175.1 L238.8,167.2 L240.6,160.9 L242.4,156.6 L244.2,154.2 L246,153.7 L247.8,155.2 L249.6,158.5 L251.4,163.4 L253.2,169.7 L255,177.1 L256.8,185.3 L258.7,193.9 L260.5,202.6 L262.3,211 L264.1,218.8 L265.9,225.7 L267.7,231.3 L269.5,235.5 L271.3,238.1 L273.1,239 L274.9,238.1 L276.7,235.5 L278.5,231.3 L280.3,225.7 L282.1,218.8 L283.9,211 L285.7,202.6 L287.5,193.9 L289.3,185.3 L291.1,177.1 L292.9,169.7 L294.7,163.4 L296.6,158.5 L298.4,155.2 L300.2,153.7 L302,154.2 L303.8,156.6 L305.6,160.9 L307.4,167.2 L309.2,175.1 L311,184.5 L312.8,195.1 L314.6,206.6 L316.4,218.6 L318.2,230.8 L320,242.8 L321.8,254.2 L323.6,264.7 L325.4,273.9 L327.2,281.6 L329,287.6 L330.8,291.6 L332.7,293.7 L334.5,293.8 L336.3,291.9 L338.1,288.1 L339.9,282.7 L341.7,275.8 L343.5,267.7 L345.3,258.8 L347.1,249.4 L348.9,239.8 L350.7,230.4 L352.5,221.6 L354.3,213.6 L356.1,206.7 L357.9,201.2 L359.7,197.2 L361.5,194.9 L363.3,194.3 L365.1,195.4 L366.9,198.2 L368.7,202.4 L370.6,208 L372.4,214.6 L374.2,222 L376,230 L377.8,238.2 L379.6,246.2 L381.4,253.9 L383.2,260.8 L385,266.8 L386.8,271.7 L388.6,275.1 L390.4,277.2 L392.2,277.7 L394,276.7 L395.8,274.3 L397.6,270.6 L399.4,265.7 L401.2,259.8 L403,253.2 L404.8,246.1 L406.7,238.8 L408.5,231.7 L410.3,224.9 L412.1,218.8 L413.9,213.5 L415.7,209.3 L417.5,206.3 L419.3,204.6 L421.1,204.3 L422.9,205.3 L424.7,207.7 L426.5,211.2 L428.3,215.8 L430.1,221.2 L431.9,227.3 L433.7,233.7 L435.5,240.3 L437.3,246.8 L439.1,252.9 L440.9,258.3 L442.8,263 L444.6,266.7 L446.4,269.2 L448.2,270.5 L450,270.6 L451.8,269.5 L453.6,267.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,221.6 L94.4,227.1 L96.21,233 L98.01,239.3 L99.82,245.6 L101.6,251.7 L103.4,257.4 L105.2,262.4 L107,266.6 L108.8,269.7 L110.6,271.7 L112.5,272.4 L114.3,271.8 L116.1,269.9 L117.9,266.9 L119.7,262.7 L121.5,257.5 L123.3,251.5 L125.1,245 L126.9,238.2 L128.7,231.3 L130.5,224.6 L132.3,218.4 L134.1,212.9 L135.9,208.4 L137.7,204.9 L139.5,202.8 L141.3,202 L143.1,202.6 L144.9,204.6 L146.7,208 L148.6,212.6 L150.4,218.2 L152.2,224.8 L154,232 L155.8,239.6 L157.6,247.2 L159.4,254.7 L161.2,261.7 L163,268 L164.8,273.2 L166.6,277.3 L168.4,280 L170.2,281.2 L172,280.8 L173.8,278.9 L175.6,275.4 L177.4,270.5 L179.2,264.4 L181,257.2 L182.8,249.2 L184.6,240.7 L186.5,231.9 L188.3,223.2 L190.1,214.9 L191.9,207.2 L193.7,200.6 L195.5,195.1 L197.3,191.1 L199.1,188.6 L200.9,187.9 L202.7,188.9 L204.5,191.7 L206.3,196.1 L208.1,202.2 L209.9,209.6 L211.7,218.2 L213.5,227.7 L215.3,237.9 L217.1,248.5 L218.9,259.1 L220.7,269.5 L222.6,279.3 L224.4,288.3 L226.2,296.3 L228,303 L229.8,308.3 L231.6,312.2 L233.4,314.4 L235.2,315.2 L237,314.4 L238.8,312.3 L240.6,308.9 L242.4,304.5 L244.2,299.2 L246,293.2 L247.8,286.8 L249.6,280.3 L251.4,273.7 L253.2,267.5 L255,261.6 L256.8,256.3 L258.7,251.7 L260.5,247.8 L262.3,244.7 L264.1,242.4 L265.9,240.8 L267.7,239.8 L269.5,239.2 L271.3,239 L273.1,239 L274.9,239 L276.7,238.8 L278.5,238.2 L280.3,237.2 L282.1,235.6 L283.9,233.2 L285.7,230.1 L287.5,226.3 L289.3,221.6 L291.1,216.4 L292.9,210.5 L294.7,204.2 L296.6,197.7 L298.4,191.1 L300.2,184.8 L302,178.8 L303.8,173.5 L305.6,169 L307.4,165.6 L309.2,163.5 L311,162.8 L312.8,163.5 L314.6,165.8 L316.4,169.6 L318.2,175 L320,181.7 L321.8,189.7 L323.6,198.7 L325.4,208.5 L327.2,218.8 L329,229.5 L330.8,240 L332.7,250.2 L334.5,259.8 L336.3,268.4 L338.1,275.8 L339.9,281.8 L341.7,286.3 L343.5,289 L345.3,290.1 L347.1,289.3 L348.9,286.9 L350.7,282.9 L352.5,277.4 L354.3,270.7 L356.1,263.1 L357.9,254.8 L359.7,246.1 L361.5,237.3 L363.3,228.7 L365.1,220.7 L366.9,213.5 L368.7,207.4 L370.6,202.5 L372.4,199.1 L374.2,197.2 L376,196.8 L377.8,198 L379.6,200.7 L381.4,204.7 L383.2,210 L385,216.3 L386.8,223.3 L388.6,230.7 L390.4,238.4 L392.2,246 L394,253.2 L395.8,259.7 L397.6,265.4 L399.4,270 L401.2,273.4 L403,275.4 L404.8,276 L406.7,275.2 L408.5,273 L410.3,269.6 L412.1,265 L413.9,259.5 L415.7,253.3 L417.5,246.7 L419.3,239.8 L421.1,233 L422.9,226.4 L424.7,220.5 L426.5,215.3 L428.3,211.1 L430.1,208 L431.9,206.2 L433.7,205.6 L435.5,206.3 L437.3,208.3 L439.1,211.4 L440.9,215.6 L442.8,220.6 L444.6,226.3 L446.4,232.4 L448.2,238.7 L450,244.9 L451.8,250.9 L453.6,256.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,216.1 L94.4,212.1 L96.21,209.2 L98.01,207.3 L99.82,206.7 L101.6,207.3 L103.4,209.1 L105.2,212.1 L107,216.1 L108.8,221.1 L110.6,226.8 L112.5,233 L114.3,239.5 L116.1,246.1 L117.9,252.5 L119.7,258.4 L121.5,263.7 L123.3,268.1 L125.1,271.5 L126.9,273.6 L128.7,274.5 L130.5,274.1 L132.3,272.4 L134.1,269.3 L135.9,265.1 L137.7,259.9 L139.5,253.8 L141.3,247.1 L143.1,240 L144.9,232.7 L146.7,225.6 L148.6,218.9 L150.4,212.8 L152.2,207.6 L154,203.4 L155.8,200.5 L157.6,199 L159.4,198.8 L161.2,200.1 L163,202.9 L164.8,207 L166.6,212.3 L168.4,218.6 L170.2,225.8 L172,233.5 L173.8,241.6 L175.6,249.8 L177.4,257.7 L179.2,265.1 L181,271.8 L182.8,277.5 L184.6,282 L186.5,285.2 L188.3,286.8 L190.1,287 L191.9,285.6 L193.7,282.6 L195.5,278.2 L197.3,272.4 L199.1,265.4 L200.9,257.5 L202.7,248.8 L204.5,239.5 L206.3,230 L208.1,220.5 L209.9,211.3 L211.7,202.5 L213.5,194.5 L215.3,187.3 L217.1,181.2 L218.9,176.2 L220.7,172.5 L222.6,170.1 L224.4,169 L226.2,169.1 L228,170.3 L229.8,172.7 L231.6,175.9 L233.4,180 L235.2,184.6 L237,189.7 L238.8,195 L240.6,200.4 L242.4,205.8 L244.2,211 L246,215.8 L247.8,220.3 L249.6,224.2 L251.4,227.7 L253.2,230.6 L255,233 L256.8,234.9 L258.7,236.4 L260.5,237.4 L262.3,238.1 L264.1,238.5 L265.9,238.8 L267.7,238.9 L269.5,239 L271.3,239 L273.1,239 L274.9,239 L276.7,239 L278.5,238.9 L280.3,238.8 L282.1,238.5 L283.9,238.1 L285.7,237.4 L287.5,236.4 L289.3,234.9 L291.1,233 L292.9,230.6 L294.7,227.7 L296.6,224.2 L298.4,220.3 L300.2,215.8 L302,211 L303.8,205.8 L305.6,200.4 L307.4,195 L309.2,189.7 L311,184.6 L312.8,180 L314.6,175.9 L316.4,172.7 L318.2,170.3 L320,169.1 L321.8,169 L323.6,170.1 L325.4,172.5 L327.2,176.2 L329,181.2 L330.8,187.3 L332.7,194.5 L334.5,202.5 L336.3,211.3 L338.1,220.5 L339.9,230 L341.7,239.5 L343.5,248.8 L345.3,257.5 L347.1,265.4 L348.9,272.4 L350.7,278.2 L352.5,282.6 L354.3,285.6 L356.1,287 L357.9,286.8 L359.7,285.2 L361.5,282 L363.3,277.5 L365.1,271.8 L366.9,265.1 L368.7,257.7 L370.6,249.8 L372.4,241.6 L374.2,233.5 L376,225.8 L377.8,218.6 L379.6,212.3 L381.4,207 L383.2,202.9 L385,200.1 L386.8,198.8 L388.6,199 L390.4,200.5 L392.2,203.4 L394,207.6 L395.8,212.8 L397.6,218.9 L399.4,225.6 L401.2,232.7 L403,240 L404.8,247.1 L406.7,253.8 L408.5,259.9 L410.3,265.1 L412.1,269.3 L413.9,272.4 L415.7,274.1 L417.5,274.5 L419.3,273.6 L421.1,271.5 L422.9,268.1 L424.7,263.7 L426.5,258.4 L428.3,252.5 L430.1,246.1 L431.9,239.5 L433.7,233 L435.5,226.8 L437.3,221.1 L439.1,216.1 L440.9,212.1 L442.8,209.1 L444.6,207.3 L446.4,206.7 L448.2,207.3 L450,209.2 L451.8,212.1 L453.6,216.1 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="509.8" y="86" font-size="14" font-family="Verdana">v = 0</text>
+<text x="509.8" y="114" font-size="14" font-family="Verdana">v = 1</text>
+<text x="509.8" y="142" font-size="14" font-family="Verdana">v = 2</text>
+<text x="509.8" y="170" font-size="14" font-family="Verdana">v = 3</text>
+<text x="509.8" y="198" font-size="14" font-family="Verdana">v = 4</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel J</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.png b/libs/math/doc/graphs/cyl_bessel_k.png
index 687767321d..687767321d 100644
--- a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.png
+++ b/libs/math/doc/graphs/cyl_bessel_k.png
Binary files differ
diff --git a/libs/math/doc/graphs/cyl_bessel_k.svg b/libs/math/doc/graphs/cyl_bessel_k.svg
new file mode 100644
index 0000000000..ab3d2d14af
--- /dev/null
+++ b/libs/math/doc/graphs/cyl_bessel_k.svg
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="375.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="377.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,334.1 L75.8,334.1 M73.8,327.1 L75.8,327.1 M73.8,320.2 L75.8,320.2 M73.8,306.3 L75.8,306.3 M73.8,299.4 L75.8,299.4 M73.8,292.4 L75.8,292.4 M73.8,278.6 L75.8,278.6 M73.8,271.6 L75.8,271.6 M73.8,264.7 L75.8,264.7 M73.8,250.8 L75.8,250.8 M73.8,243.9 L75.8,243.9 M73.8,237 L75.8,237 M73.8,223.1 L75.8,223.1 M73.8,216.1 L75.8,216.1 M73.8,209.2 L75.8,209.2 M73.8,195.3 L75.8,195.3 M73.8,188.4 L75.8,188.4 M73.8,181.5 L75.8,181.5 M73.8,167.6 L75.8,167.6 M73.8,160.7 L75.8,160.7 M73.8,153.7 L75.8,153.7 M73.8,139.8 L75.8,139.8 M73.8,132.9 L75.8,132.9 M73.8,126 L75.8,126 M73.8,112.1 L75.8,112.1 M73.8,105.2 L75.8,105.2 M73.8,98.23 L75.8,98.23 M73.8,84.36 L75.8,84.36 M73.8,77.42 L75.8,77.42 M73.8,70.49 L75.8,70.49 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M85.04,341 L85.04,343 M94.29,341 L94.29,343 M103.5,341 L103.5,343 M122,341 L122,343 M131.3,341 L131.3,343 M140.5,341 L140.5,343 M159,341 L159,343 M168.2,341 L168.2,343 M177.5,341 L177.5,343 M196,341 L196,343 M205.2,341 L205.2,343 M214.5,341 L214.5,343 M232.9,341 L232.9,343 M242.2,341 L242.2,343 M251.4,341 L251.4,343 M269.9,341 L269.9,343 M279.2,341 L279.2,343 M288.4,341 L288.4,343 M306.9,341 L306.9,343 M316.1,341 L316.1,343 M325.4,341 L325.4,343 M343.9,341 L343.9,343 M353.1,341 L353.1,343 M362.4,341 L362.4,343 M380.9,341 L380.9,343 M390.1,341 L390.1,343 M399.3,341 L399.3,343 M417.8,341 L417.8,343 M427.1,341 L427.1,343 M436.3,341 L436.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,341 L75.8,341 M70.8,313.3 L75.8,313.3 M70.8,285.5 L75.8,285.5 M70.8,257.8 L75.8,257.8 M70.8,230 L75.8,230 M70.8,202.3 L75.8,202.3 M70.8,174.5 L75.8,174.5 M70.8,146.8 L75.8,146.8 M70.8,119 L75.8,119 M70.8,91.29 L75.8,91.29 M70.8,63.55 L75.8,63.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.8,341 L75.8,346 M112.8,341 L112.8,346 M149.8,341 L149.8,346 M186.7,341 L186.7,346 M223.7,341 L223.7,346 M260.7,341 L260.7,346 M297.7,341 L297.7,346 M334.6,341 L334.6,346 M371.6,341 L371.6,346 M408.6,341 L408.6,346 M445.6,341 L445.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="112.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="149.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="186.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="223.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="260.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="297.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
+<text x="334.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text>
+<text x="371.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">8</text>
+<text x="408.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">9</text>
+<text x="445.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="64.8" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="64.8" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="64.8" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">6</text>
+<text x="64.8" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">7</text>
+<text x="64.8" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">8</text>
+<text x="64.8" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">9</text>
+<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">10</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_bessel_k(v, x)</text></g>
+<g id="xLabel">
+<text x="264.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L77.65,254.6 L79.5,273.7 L81.35,284.7 L83.2,292.4 L85.04,298.2 L86.89,302.9 L88.74,306.8 L90.59,310.1 L92.44,312.9 L94.29,315.4 L96.14,317.5 L97.99,319.4 L99.83,321.1 L101.7,322.7 L103.5,324.1 L105.4,325.3 L107.2,326.5 L109.1,327.5 L110.9,328.4 L112.8,329.3 L114.6,330.1 L116.5,330.9 L118.3,331.5 L120.2,332.2 L122,332.7 L123.9,333.3 L125.7,333.8 L127.6,334.2 L129.4,334.7 L131.3,335.1 L133.1,335.4 L135,335.8 L136.8,336.1 L138.7,336.4 L140.5,336.7 L142.4,337 L144.2,337.2 L146.1,337.4 L147.9,337.6 L149.8,337.8 L151.6,338 L153.5,338.2 L155.3,338.4 L157.1,338.5 L159,338.7 L160.8,338.8 L162.7,338.9 L164.5,339.1 L166.4,339.2 L168.2,339.3 L170.1,339.4 L171.9,339.5 L173.8,339.6 L175.6,339.6 L177.5,339.7 L179.3,339.8 L181.2,339.9 L183,339.9 L184.9,340 L186.7,340 L188.6,340.1 L190.4,340.1 L192.3,340.2 L194.1,340.2 L196,340.3 L197.8,340.3 L199.7,340.4 L201.5,340.4 L203.4,340.4 L205.2,340.5 L207.1,340.5 L208.9,340.5 L210.8,340.5 L212.6,340.6 L214.5,340.6 L216.3,340.6 L218.2,340.6 L220,340.7 L221.9,340.7 L223.7,340.7 L225.6,340.7 L227.4,340.7 L229.3,340.7 L231.1,340.8 L233,340.8 L234.8,340.8 L236.6,340.8 L238.5,340.8 L240.3,340.8 L242.2,340.8 L244,340.8 L245.9,340.8 L247.7,340.9 L249.6,340.9 L251.4,340.9 L253.3,340.9 L255.1,340.9 L257,340.9 L258.8,340.9 L260.7,340.9 L262.5,340.9 L264.4,340.9 L266.2,340.9 L268.1,340.9 L269.9,340.9 L271.8,340.9 L273.6,340.9 L275.5,340.9 L277.3,340.9 L279.2,340.9 L281,340.9 L282.9,340.9 L284.7,341 L286.6,341 L288.4,341 L290.3,341 L292.1,341 L294,341 L295.8,341 L297.7,341 L299.5,341 L301.4,341 L303.2,341 L305.1,341 L306.9,341 L308.8,341 L310.6,341 L312.4,341 L314.3,341 L316.1,341 L318,341 L319.8,341 L321.7,341 L323.5,341 L325.4,341 L327.2,341 L329.1,341 L330.9,341 L332.8,341 L334.6,341 L336.5,341 L338.3,341 L340.2,341 L342,341 L343.9,341 L345.7,341 L347.6,341 L349.4,341 L351.3,341 L353.1,341 L355,341 L356.8,341 L358.7,341 L360.5,341 L362.4,341 L364.2,341 L366.1,341 L367.9,341 L369.8,341 L371.6,341 L373.5,341 L375.3,341 L377.2,341 L379,341 L380.9,341 L382.7,341 L384.6,341 L386.4,341 L388.3,341 L390.1,341 L391.9,341 L393.8,341 L395.6,341 L397.5,341 L399.3,341 L401.2,341 L403,341 L404.9,341 L406.7,341 L408.6,341 L410.4,341 L412.3,341 L414.1,341 L416,341 L417.8,341 L419.7,341 L421.5,341 L423.4,341 L425.2,341 L427.1,341 L428.9,341 L430.8,341 L432.6,341 L434.5,341 L436.3,341 L438.2,341 L440,341 L441.9,341 L443.7,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M91.97,63.55 L93.74,117.7 L95.5,158 L97.27,188.6 L99.04,212.5 L100.8,231.5 L102.6,246.8 L104.3,259.3 L106.1,269.6 L107.9,278.2 L109.6,285.5 L111.4,291.8 L113.2,297.1 L115,301.7 L116.7,305.7 L118.5,309.2 L120.3,312.2 L122,314.9 L123.8,317.3 L125.6,319.4 L127.3,321.3 L129.1,323 L130.9,324.5 L132.6,325.8 L134.4,327.1 L136.2,328.2 L137.9,329.2 L139.7,330.1 L141.5,330.9 L143.2,331.7 L145,332.4 L146.8,333 L148.5,333.6 L150.3,334.1 L152.1,334.6 L153.8,335.1 L155.6,335.5 L157.4,335.9 L159.2,336.2 L160.9,336.5 L162.7,336.8 L164.5,337.1 L166.2,337.4 L168,337.6 L169.8,337.8 L171.5,338 L173.3,338.2 L175.1,338.4 L176.8,338.6 L178.6,338.7 L180.4,338.9 L182.1,339 L183.9,339.1 L185.7,339.2 L187.4,339.3 L189.2,339.4 L191,339.5 L192.7,339.6 L194.5,339.7 L196.3,339.8 L198,339.9 L199.8,339.9 L201.6,340 L203.4,340 L205.1,340.1 L206.9,340.2 L208.7,340.2 L210.4,340.2 L212.2,340.3 L214,340.3 L215.7,340.4 L217.5,340.4 L219.3,340.4 L221,340.5 L222.8,340.5 L224.6,340.5 L226.3,340.6 L228.1,340.6 L229.9,340.6 L231.6,340.6 L233.4,340.6 L235.2,340.7 L236.9,340.7 L238.7,340.7 L240.5,340.7 L242.2,340.7 L244,340.8 L245.8,340.8 L247.6,340.8 L249.3,340.8 L251.1,340.8 L252.9,340.8 L254.6,340.8 L256.4,340.8 L258.2,340.8 L259.9,340.8 L261.7,340.9 L263.5,340.9 L265.2,340.9 L267,340.9 L268.8,340.9 L270.5,340.9 L272.3,340.9 L274.1,340.9 L275.8,340.9 L277.6,340.9 L279.4,340.9 L281.1,340.9 L282.9,340.9 L284.7,340.9 L286.4,340.9 L288.2,340.9 L290,340.9 L291.8,340.9 L293.5,340.9 L295.3,341 L297.1,341 L298.8,341 L300.6,341 L302.4,341 L304.1,341 L305.9,341 L307.7,341 L309.4,341 L311.2,341 L313,341 L314.7,341 L316.5,341 L318.3,341 L320,341 L321.8,341 L323.6,341 L325.3,341 L327.1,341 L328.9,341 L330.6,341 L332.4,341 L334.2,341 L335.9,341 L337.7,341 L339.5,341 L341.3,341 L343,341 L344.8,341 L346.6,341 L348.3,341 L350.1,341 L351.9,341 L353.6,341 L355.4,341 L357.2,341 L358.9,341 L360.7,341 L362.5,341 L364.2,341 L366,341 L367.8,341 L369.5,341 L371.3,341 L373.1,341 L374.8,341 L376.6,341 L378.4,341 L380.1,341 L381.9,341 L383.7,341 L385.5,341 L387.2,341 L389,341 L390.8,341 L392.5,341 L394.3,341 L396.1,341 L397.8,341 L399.6,341 L401.4,341 L403.1,341 L404.9,341 L406.7,341 L408.4,341 L410.2,341 L412,341 L413.7,341 L415.5,341 L417.3,341 L419,341 L420.8,341 L422.6,341 L424.3,341 L426.1,341 L427.9,341 L429.7,341 L431.4,341 L433.2,341 L435,341 L436.7,341 L438.5,341 L440.3,341 L442,341 L443.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M149,63.55 L150.4,92.37 L151.9,117.8 L153.4,140.3 L154.9,160.2 L156.4,177.8 L157.9,193.6 L159.3,207.6 L160.8,220.1 L162.3,231.3 L163.8,241.3 L165.3,250.3 L166.8,258.4 L168.2,265.6 L169.7,272.2 L171.2,278.1 L172.7,283.4 L174.2,288.3 L175.7,292.7 L177.1,296.6 L178.6,300.2 L180.1,303.5 L181.6,306.5 L183.1,309.2 L184.6,311.7 L186,314 L187.5,316.1 L189,318 L190.5,319.7 L192,321.3 L193.5,322.8 L194.9,324.1 L196.4,325.3 L197.9,326.5 L199.4,327.5 L200.9,328.5 L202.4,329.4 L203.8,330.2 L205.3,330.9 L206.8,331.6 L208.3,332.3 L209.8,332.9 L211.2,333.4 L212.7,333.9 L214.2,334.4 L215.7,334.8 L217.2,335.2 L218.7,335.6 L220.1,336 L221.6,336.3 L223.1,336.6 L224.6,336.9 L226.1,337.1 L227.6,337.4 L229,337.6 L230.5,337.8 L232,338 L233.5,338.2 L235,338.4 L236.5,338.5 L237.9,338.7 L239.4,338.8 L240.9,339 L242.4,339.1 L243.9,339.2 L245.4,339.3 L246.8,339.4 L248.3,339.5 L249.8,339.6 L251.3,339.7 L252.8,339.8 L254.3,339.8 L255.7,339.9 L257.2,340 L258.7,340 L260.2,340.1 L261.7,340.1 L263.2,340.2 L264.6,340.2 L266.1,340.3 L267.6,340.3 L269.1,340.3 L270.6,340.4 L272.1,340.4 L273.5,340.5 L275,340.5 L276.5,340.5 L278,340.5 L279.5,340.6 L281,340.6 L282.4,340.6 L283.9,340.6 L285.4,340.7 L286.9,340.7 L288.4,340.7 L289.8,340.7 L291.3,340.7 L292.8,340.7 L294.3,340.7 L295.8,340.8 L297.3,340.8 L298.7,340.8 L300.2,340.8 L301.7,340.8 L303.2,340.8 L304.7,340.8 L306.2,340.8 L307.6,340.8 L309.1,340.9 L310.6,340.9 L312.1,340.9 L313.6,340.9 L315.1,340.9 L316.5,340.9 L318,340.9 L319.5,340.9 L321,340.9 L322.5,340.9 L324,340.9 L325.4,340.9 L326.9,340.9 L328.4,340.9 L329.9,340.9 L331.4,340.9 L332.9,340.9 L334.3,340.9 L335.8,340.9 L337.3,340.9 L338.8,340.9 L340.3,341 L341.8,341 L343.2,341 L344.7,341 L346.2,341 L347.7,341 L349.2,341 L350.7,341 L352.1,341 L353.6,341 L355.1,341 L356.6,341 L358.1,341 L359.6,341 L361,341 L362.5,341 L364,341 L365.5,341 L367,341 L368.4,341 L369.9,341 L371.4,341 L372.9,341 L374.4,341 L375.9,341 L377.3,341 L378.8,341 L380.3,341 L381.8,341 L383.3,341 L384.8,341 L386.2,341 L387.7,341 L389.2,341 L390.7,341 L392.2,341 L393.7,341 L395.1,341 L396.6,341 L398.1,341 L399.6,341 L401.1,341 L402.6,341 L404,341 L405.5,341 L407,341 L408.5,341 L410,341 L411.5,341 L412.9,341 L414.4,341 L415.9,341 L417.4,341 L418.9,341 L420.4,341 L421.8,341 L423.3,341 L424.8,341 L426.3,341 L427.8,341 L429.3,341 L430.7,341 L432.2,341 L433.7,341 L435.2,341 L436.7,341 L438.1,341 L439.6,341 L441.1,341 L442.6,341 L444.1,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M192.4,63.55 L193.6,85.91 L194.9,106.3 L196.2,124.9 L197.4,141.9 L198.7,157.4 L200,171.6 L201.2,184.6 L202.5,196.6 L203.8,207.5 L205,217.5 L206.3,226.7 L207.5,235.2 L208.8,242.9 L210.1,250.1 L211.3,256.7 L212.6,262.7 L213.9,268.3 L215.1,273.5 L216.4,278.2 L217.7,282.6 L218.9,286.7 L220.2,290.4 L221.5,293.9 L222.7,297.1 L224,300.1 L225.3,302.9 L226.5,305.4 L227.8,307.8 L229.1,310 L230.3,312 L231.6,313.9 L232.9,315.7 L234.1,317.3 L235.4,318.9 L236.7,320.3 L237.9,321.6 L239.2,322.8 L240.5,324 L241.7,325 L243,326 L244.3,327 L245.5,327.8 L246.8,328.6 L248.1,329.4 L249.3,330.1 L250.6,330.8 L251.9,331.4 L253.1,332 L254.4,332.5 L255.7,333 L256.9,333.5 L258.2,333.9 L259.5,334.3 L260.7,334.7 L262,335.1 L263.3,335.4 L264.5,335.8 L265.8,336.1 L267.1,336.3 L268.3,336.6 L269.6,336.9 L270.9,337.1 L272.1,337.3 L273.4,337.5 L274.6,337.7 L275.9,337.9 L277.2,338.1 L278.4,338.2 L279.7,338.4 L281,338.5 L282.2,338.7 L283.5,338.8 L284.8,338.9 L286,339 L287.3,339.1 L288.6,339.2 L289.8,339.3 L291.1,339.4 L292.4,339.5 L293.6,339.6 L294.9,339.7 L296.2,339.7 L297.4,339.8 L298.7,339.9 L300,339.9 L301.2,340 L302.5,340 L303.8,340.1 L305,340.1 L306.3,340.2 L307.6,340.2 L308.8,340.3 L310.1,340.3 L311.4,340.3 L312.6,340.4 L313.9,340.4 L315.2,340.4 L316.4,340.5 L317.7,340.5 L319,340.5 L320.2,340.5 L321.5,340.6 L322.8,340.6 L324,340.6 L325.3,340.6 L326.6,340.6 L327.8,340.7 L329.1,340.7 L330.4,340.7 L331.6,340.7 L332.9,340.7 L334.2,340.7 L335.4,340.7 L336.7,340.8 L338,340.8 L339.2,340.8 L340.5,340.8 L341.7,340.8 L343,340.8 L344.3,340.8 L345.5,340.8 L346.8,340.8 L348.1,340.8 L349.3,340.9 L350.6,340.9 L351.9,340.9 L353.1,340.9 L354.4,340.9 L355.7,340.9 L356.9,340.9 L358.2,340.9 L359.5,340.9 L360.7,340.9 L362,340.9 L363.3,340.9 L364.5,340.9 L365.8,340.9 L367.1,340.9 L368.3,340.9 L369.6,340.9 L370.9,340.9 L372.1,340.9 L373.4,340.9 L374.7,340.9 L375.9,340.9 L377.2,340.9 L378.5,341 L379.7,341 L381,341 L382.3,341 L383.5,341 L384.8,341 L386.1,341 L387.3,341 L388.6,341 L389.9,341 L391.1,341 L392.4,341 L393.7,341 L394.9,341 L396.2,341 L397.5,341 L398.7,341 L400,341 L401.3,341 L402.5,341 L403.8,341 L405.1,341 L406.3,341 L407.6,341 L408.8,341 L410.1,341 L411.4,341 L412.6,341 L413.9,341 L415.2,341 L416.4,341 L417.7,341 L419,341 L420.2,341 L421.5,341 L422.8,341 L424,341 L425.3,341 L426.6,341 L427.8,341 L429.1,341 L430.4,341 L431.6,341 L432.9,341 L434.2,341 L435.4,341 L436.7,341 L438,341 L439.2,341 L440.5,341 L441.8,341 L443,341 L444.3,341 L445.6,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M260.3,63.55 L261.2,78.8 L262.1,93.16 L263.1,106.7 L264,119.4 L264.9,131.4 L265.8,142.7 L266.8,153.4 L267.7,163.4 L268.6,172.9 L269.5,181.8 L270.5,190.3 L271.4,198.2 L272.3,205.7 L273.3,212.8 L274.2,219.5 L275.1,225.8 L276,231.8 L277,237.5 L277.9,242.8 L278.8,247.8 L279.7,252.6 L280.7,257.1 L281.6,261.4 L282.5,265.4 L283.4,269.2 L284.4,272.8 L285.3,276.3 L286.2,279.5 L287.1,282.6 L288.1,285.5 L289,288.2 L289.9,290.8 L290.9,293.3 L291.8,295.6 L292.7,297.9 L293.6,300 L294.6,302 L295.5,303.9 L296.4,305.7 L297.3,307.4 L298.3,309 L299.2,310.5 L300.1,312 L301,313.3 L302,314.7 L302.9,315.9 L303.8,317.1 L304.7,318.2 L305.7,319.3 L306.6,320.3 L307.5,321.3 L308.5,322.2 L309.4,323.1 L310.3,323.9 L311.2,324.7 L312.2,325.4 L313.1,326.2 L314,326.8 L314.9,327.5 L315.9,328.1 L316.8,328.7 L317.7,329.2 L318.6,329.8 L319.6,330.3 L320.5,330.8 L321.4,331.2 L322.4,331.7 L323.3,332.1 L324.2,332.5 L325.1,332.9 L326.1,333.2 L327,333.6 L327.9,333.9 L328.8,334.2 L329.8,334.5 L330.7,334.8 L331.6,335.1 L332.5,335.3 L333.5,335.6 L334.4,335.8 L335.3,336 L336.2,336.2 L337.2,336.4 L338.1,336.6 L339,336.8 L340,337 L340.9,337.2 L341.8,337.3 L342.7,337.5 L343.7,337.6 L344.6,337.8 L345.5,337.9 L346.4,338.1 L347.4,338.2 L348.3,338.3 L349.2,338.4 L350.1,338.5 L351.1,338.6 L352,338.7 L352.9,338.8 L353.8,338.9 L354.8,339 L355.7,339.1 L356.6,339.2 L357.6,339.2 L358.5,339.3 L359.4,339.4 L360.3,339.4 L361.3,339.5 L362.2,339.6 L363.1,339.6 L364,339.7 L365,339.7 L365.9,339.8 L366.8,339.8 L367.7,339.9 L368.7,339.9 L369.6,340 L370.5,340 L371.5,340 L372.4,340.1 L373.3,340.1 L374.2,340.2 L375.2,340.2 L376.1,340.2 L377,340.3 L377.9,340.3 L378.9,340.3 L379.8,340.3 L380.7,340.4 L381.6,340.4 L382.6,340.4 L383.5,340.4 L384.4,340.5 L385.3,340.5 L386.3,340.5 L387.2,340.5 L388.1,340.5 L389.1,340.6 L390,340.6 L390.9,340.6 L391.8,340.6 L392.8,340.6 L393.7,340.6 L394.6,340.6 L395.5,340.7 L396.5,340.7 L397.4,340.7 L398.3,340.7 L399.2,340.7 L400.2,340.7 L401.1,340.7 L402,340.7 L402.9,340.8 L403.9,340.8 L404.8,340.8 L405.7,340.8 L406.7,340.8 L407.6,340.8 L408.5,340.8 L409.4,340.8 L410.4,340.8 L411.3,340.8 L412.2,340.8 L413.1,340.8 L414.1,340.8 L415,340.8 L415.9,340.9 L416.8,340.9 L417.8,340.9 L418.7,340.9 L419.6,340.9 L420.6,340.9 L421.5,340.9 L422.4,340.9 L423.3,340.9 L424.3,340.9 L425.2,340.9 L426.1,340.9 L427,340.9 L428,340.9 L428.9,340.9 L429.8,340.9 L430.7,340.9 L431.7,340.9 L432.6,340.9 L433.5,340.9 L434.4,340.9 L435.4,340.9 L436.3,340.9 L437.2,340.9 L438.2,340.9 L439.1,340.9 L440,340.9 L440.9,340.9 L441.9,340.9 L442.8,341 L443.7,341 L444.6,341 L445.6,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel K</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_neumann.png b/libs/math/doc/graphs/cyl_neumann.png
index d3733da4ba..d3733da4ba 100644
--- a/libs/math/doc/sf_and_dist/graphs/cyl_neumann.png
+++ b/libs/math/doc/graphs/cyl_neumann.png
Binary files differ
diff --git a/libs/math/doc/graphs/cyl_neumann.svg b/libs/math/doc/graphs/cyl_neumann.svg
new file mode 100644
index 0000000000..7c03350d97
--- /dev/null
+++ b/libs/math/doc/graphs/cyl_neumann.svg
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="383" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="385" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="89.72" x2="460.8" y2="89.72"/><line x1="70.8" y1="341" x2="460.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,77.16 L75.8,77.16 M73.8,64.59 L75.8,64.59 M73.8,89.72 L75.8,89.72 M73.8,102.3 L75.8,102.3 M73.8,114.8 L75.8,114.8 M73.8,127.4 L75.8,127.4 M73.8,140 L75.8,140 M73.8,152.5 L75.8,152.5 M73.8,165.1 L75.8,165.1 M73.8,177.7 L75.8,177.7 M73.8,190.2 L75.8,190.2 M73.8,202.8 L75.8,202.8 M73.8,215.4 L75.8,215.4 M73.8,227.9 L75.8,227.9 M73.8,240.5 L75.8,240.5 M73.8,253.1 L75.8,253.1 M73.8,265.6 L75.8,265.6 M73.8,278.2 L75.8,278.2 M73.8,290.7 L75.8,290.7 M73.8,303.3 L75.8,303.3 M73.8,315.9 L75.8,315.9 M73.8,328.4 L75.8,328.4 M73.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M99.38,341 L99.38,343 M123,341 L123,343 M146.6,341 L146.6,343 M193.7,341 L193.7,343 M217.3,341 L217.3,343 M240.9,341 L240.9,343 M288.1,341 L288.1,343 M311.7,341 L311.7,343 M335.3,341 L335.3,343 M382.5,341 L382.5,343 M406.1,341 L406.1,343 M429.7,341 L429.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,89.72 L75.8,89.72 M70.8,89.72 L75.8,89.72 M70.8,140 L75.8,140 M70.8,190.2 L75.8,190.2 M70.8,240.5 L75.8,240.5 M70.8,290.7 L75.8,290.7 M70.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.79,341 L75.79,346 M170.2,341 L170.2,346 M264.5,341 L264.5,346 M358.9,341 L358.9,346 M453.3,341 L453.3,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="75.79" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="170.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="264.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="358.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="453.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="92.12" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="92.12" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="142.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
+<text x="64.8" y="192.6" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
+<text x="64.8" y="242.9" text-anchor="end" font-size="12" font-family="Verdana">-3</text>
+<text x="64.8" y="293.1" text-anchor="end" font-size="12" font-family="Verdana">-4</text>
+<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_neumann(v, x)</text></g>
+<g id="xLabel">
+<text x="268.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L77.69,166.7 L79.57,144 L81.46,130.2 L83.35,120.1 L85.24,112 L87.12,105.2 L89.01,99.28 L90.9,94.06 L92.79,89.42 L94.67,85.27 L96.56,81.56 L98.45,78.25 L100.3,75.31 L102.2,72.73 L104.1,70.49 L106,68.59 L107.9,67 L109.8,65.72 L111.7,64.75 L113.5,64.07 L115.4,63.67 L117.3,63.55 L119.2,63.69 L121.1,64.07 L123,64.69 L124.9,65.54 L126.8,66.58 L128.6,67.82 L130.5,69.23 L132.4,70.79 L134.3,72.48 L136.2,74.3 L138.1,76.21 L140,78.19 L141.9,80.23 L143.7,82.31 L145.6,84.4 L147.5,86.49 L149.4,88.55 L151.3,90.58 L153.2,92.55 L155.1,94.44 L157,96.24 L158.8,97.94 L160.7,99.51 L162.6,101 L164.5,102.3 L166.4,103.4 L168.3,104.4 L170.2,105.2 L172,105.9 L173.9,106.4 L175.8,106.7 L177.7,106.8 L179.6,106.8 L181.5,106.6 L183.4,106.2 L185.3,105.7 L187.1,105 L189,104.2 L190.9,103.3 L192.8,102.2 L194.7,101 L196.6,99.77 L198.5,98.42 L200.4,97.02 L202.2,95.56 L204.1,94.06 L206,92.54 L207.9,91.02 L209.8,89.51 L211.7,88.02 L213.6,86.56 L215.5,85.16 L217.3,83.82 L219.2,82.56 L221.1,81.39 L223,80.31 L224.9,79.34 L226.8,78.49 L228.7,77.75 L230.6,77.15 L232.4,76.68 L234.3,76.34 L236.2,76.14 L238.1,76.08 L240,76.15 L241.9,76.36 L243.8,76.7 L245.7,77.16 L247.5,77.75 L249.4,78.44 L251.3,79.24 L253.2,80.14 L255.1,81.12 L257,82.18 L258.9,83.3 L260.8,84.47 L262.6,85.68 L264.5,86.93 L266.4,88.18 L268.3,89.44 L270.2,90.69 L272.1,91.92 L274,93.12 L275.8,94.27 L277.7,95.36 L279.6,96.39 L281.5,97.34 L283.4,98.21 L285.3,98.98 L287.2,99.66 L289.1,100.2 L290.9,100.7 L292.8,101 L294.7,101.3 L296.6,101.4 L298.5,101.4 L300.4,101.3 L302.3,101 L304.2,100.7 L306,100.3 L307.9,99.7 L309.8,99.06 L311.7,98.32 L313.6,97.51 L315.5,96.63 L317.4,95.69 L319.3,94.69 L321.1,93.65 L323,92.58 L324.9,91.49 L326.8,90.39 L328.7,89.29 L330.6,88.21 L332.5,87.15 L334.4,86.12 L336.2,85.13 L338.1,84.2 L340,83.33 L341.9,82.53 L343.8,81.8 L345.7,81.16 L347.6,80.61 L349.5,80.16 L351.3,79.8 L353.2,79.54 L355.1,79.39 L357,79.34 L358.9,79.4 L360.8,79.55 L362.7,79.81 L364.6,80.16 L366.4,80.61 L368.3,81.15 L370.2,81.76 L372.1,82.46 L374,83.22 L375.9,84.04 L377.8,84.91 L379.6,85.82 L381.5,86.77 L383.4,87.74 L385.3,88.72 L387.2,89.71 L389.1,90.7 L391,91.66 L392.9,92.61 L394.7,93.51 L396.6,94.38 L398.5,95.19 L400.4,95.94 L402.3,96.63 L404.2,97.25 L406.1,97.78 L408,98.24 L409.8,98.6 L411.7,98.88 L413.6,99.06 L415.5,99.15 L417.4,99.14 L419.3,99.04 L421.2,98.85 L423.1,98.57 L424.9,98.2 L426.8,97.75 L428.7,97.22 L430.6,96.62 L432.5,95.95 L434.4,95.23 L436.3,94.45 L438.2,93.63 L440,92.78 L441.9,91.9 L443.8,91 L445.7,90.1 L447.6,89.19 L449.5,88.3 L451.4,87.42 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M78.25,341 L80.12,236.7 L82,195.9 L83.87,174.1 L85.75,160.4 L87.62,150.7 L89.5,143.4 L91.37,137.4 L93.25,132.4 L95.12,127.9 L97,123.9 L98.87,120.1 L100.7,116.5 L102.6,113.1 L104.5,109.7 L106.4,106.5 L108.2,103.4 L110.1,100.4 L112,97.44 L113.9,94.6 L115.7,91.85 L117.6,89.22 L119.5,86.7 L121.4,84.31 L123.2,82.07 L125.1,79.97 L127,78.03 L128.9,76.26 L130.7,74.67 L132.6,73.25 L134.5,72.03 L136.4,71 L138.2,70.16 L140.1,69.52 L142,69.08 L143.9,68.83 L145.7,68.78 L147.6,68.92 L149.5,69.25 L151.4,69.75 L153.2,70.42 L155.1,71.26 L157,72.24 L158.9,73.37 L160.7,74.61 L162.6,75.98 L164.5,77.44 L166.4,78.98 L168.2,80.6 L170.1,82.26 L172,83.96 L173.9,85.69 L175.7,87.42 L177.6,89.14 L179.5,90.83 L181.4,92.48 L183.2,94.08 L185.1,95.61 L187,97.06 L188.9,98.41 L190.7,99.66 L192.6,100.8 L194.5,101.8 L196.4,102.7 L198.2,103.4 L200.1,104 L202,104.5 L203.9,104.8 L205.7,104.9 L207.6,104.9 L209.5,104.8 L211.4,104.5 L213.2,104.1 L215.1,103.6 L217,102.9 L218.9,102.1 L220.7,101.2 L222.6,100.2 L224.5,99.09 L226.4,97.92 L228.2,96.69 L230.1,95.41 L232,94.09 L233.9,92.74 L235.7,91.37 L237.6,90.01 L239.5,88.66 L241.4,87.34 L243.2,86.05 L245.1,84.81 L247,83.64 L248.9,82.54 L250.7,81.51 L252.6,80.58 L254.5,79.75 L256.4,79.02 L258.2,78.41 L260.1,77.91 L262,77.53 L263.9,77.27 L265.7,77.13 L267.6,77.12 L269.5,77.23 L271.4,77.47 L273.2,77.82 L275.1,78.28 L277,78.85 L278.9,79.51 L280.7,80.28 L282.6,81.12 L284.5,82.05 L286.4,83.04 L288.2,84.08 L290.1,85.18 L292,86.3 L293.9,87.45 L295.8,88.61 L297.6,89.78 L299.5,90.93 L301.4,92.06 L303.3,93.16 L305.1,94.22 L307,95.22 L308.9,96.17 L310.8,97.04 L312.6,97.83 L314.5,98.54 L316.4,99.16 L318.3,99.68 L320.1,100.1 L322,100.4 L323.9,100.6 L325.8,100.7 L327.6,100.7 L329.5,100.6 L331.4,100.4 L333.3,100 L335.1,99.62 L337,99.11 L338.9,98.5 L340.8,97.82 L342.6,97.06 L344.5,96.23 L346.4,95.35 L348.3,94.41 L350.1,93.44 L352,92.44 L353.9,91.41 L355.8,90.38 L357.6,89.35 L359.5,88.33 L361.4,87.33 L363.3,86.36 L365.1,85.43 L367,84.54 L368.9,83.72 L370.8,82.95 L372.6,82.26 L374.5,81.65 L376.4,81.11 L378.3,80.67 L380.1,80.32 L382,80.06 L383.9,79.9 L385.8,79.83 L387.6,79.86 L389.5,79.99 L391.4,80.22 L393.3,80.53 L395.1,80.93 L397,81.42 L398.9,81.99 L400.8,82.62 L402.6,83.33 L404.5,84.09 L406.4,84.9 L408.3,85.76 L410.1,86.65 L412,87.57 L413.9,88.5 L415.8,89.43 L417.6,90.37 L419.5,91.29 L421.4,92.2 L423.3,93.07 L425.1,93.91 L427,94.7 L428.9,95.44 L430.8,96.12 L432.6,96.73 L434.5,97.27 L436.4,97.73 L438.3,98.12 L440.1,98.41 L442,98.63 L443.9,98.75 L445.8,98.78 L447.6,98.73 L449.5,98.58 L451.4,98.35 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M85.67,341 L87.51,273.8 L89.34,232.1 L91.18,204.5 L93.02,185.3 L94.86,171.4 L96.7,160.9 L98.53,152.8 L100.4,146.4 L102.2,141.1 L104,136.7 L105.9,132.9 L107.7,129.5 L109.6,126.5 L111.4,123.8 L113.2,121.2 L115.1,118.7 L116.9,116.3 L118.8,114 L120.6,111.8 L122.4,109.5 L124.3,107.3 L126.1,105.2 L127.9,103 L129.8,100.8 L131.6,98.7 L133.5,96.59 L135.3,94.51 L137.1,92.46 L139,90.46 L140.8,88.52 L142.6,86.63 L144.5,84.82 L146.3,83.09 L148.2,81.44 L150,79.89 L151.8,78.45 L153.7,77.12 L155.5,75.92 L157.3,74.84 L159.2,73.9 L161,73.09 L162.9,72.43 L164.7,71.91 L166.5,71.54 L168.4,71.32 L170.2,71.24 L172,71.32 L173.9,71.54 L175.7,71.9 L177.6,72.39 L179.4,73.02 L181.2,73.78 L183.1,74.65 L184.9,75.63 L186.8,76.71 L188.6,77.88 L190.4,79.13 L192.3,80.45 L194.1,81.83 L195.9,83.25 L197.8,84.7 L199.6,86.18 L201.5,87.67 L203.3,89.15 L205.1,90.61 L207,92.05 L208.8,93.45 L210.6,94.79 L212.5,96.07 L214.3,97.28 L216.2,98.41 L218,99.45 L219.8,100.4 L221.7,101.2 L223.5,101.9 L225.3,102.6 L227.2,103 L229,103.4 L230.9,103.6 L232.7,103.7 L234.5,103.7 L236.4,103.6 L238.2,103.3 L240.1,103 L241.9,102.5 L243.7,101.9 L245.6,101.2 L247.4,100.4 L249.2,99.47 L251.1,98.5 L252.9,97.47 L254.8,96.38 L256.6,95.24 L258.4,94.06 L260.3,92.85 L262.1,91.63 L263.9,90.4 L265.8,89.18 L267.6,87.97 L269.5,86.79 L271.3,85.65 L273.1,84.56 L275,83.53 L276.8,82.56 L278.6,81.66 L280.5,80.85 L282.3,80.12 L284.2,79.49 L286,78.95 L287.8,78.52 L289.7,78.2 L291.5,77.98 L293.4,77.88 L295.2,77.88 L297,77.99 L298.9,78.21 L300.7,78.53 L302.5,78.95 L304.4,79.47 L306.2,80.07 L308.1,80.76 L309.9,81.53 L311.7,82.37 L313.6,83.26 L315.4,84.22 L317.2,85.21 L319.1,86.24 L320.9,87.29 L322.8,88.36 L324.6,89.43 L326.4,90.49 L328.3,91.54 L330.1,92.57 L331.9,93.56 L333.8,94.51 L335.6,95.41 L337.5,96.25 L339.3,97.03 L341.1,97.73 L343,98.35 L344.8,98.89 L346.7,99.34 L348.5,99.7 L350.3,99.96 L352.2,100.1 L354,100.2 L355.8,100.2 L357.7,100 L359.5,99.82 L361.4,99.51 L363.2,99.11 L365,98.62 L366.9,98.05 L368.7,97.41 L370.5,96.71 L372.4,95.94 L374.2,95.12 L376.1,94.25 L377.9,93.35 L379.7,92.42 L381.6,91.47 L383.4,90.51 L385.2,89.55 L387.1,88.59 L388.9,87.65 L390.8,86.74 L392.6,85.86 L394.4,85.02 L396.3,84.22 L398.1,83.49 L400,82.82 L401.8,82.21 L403.6,81.68 L405.5,81.22 L407.3,80.85 L409.1,80.57 L411,80.37 L412.8,80.25 L414.7,80.23 L416.5,80.3 L418.3,80.45 L420.2,80.69 L422,81.01 L423.8,81.41 L425.7,81.89 L427.5,82.44 L429.4,83.05 L431.2,83.72 L433,84.45 L434.9,85.22 L436.7,86.03 L438.5,86.87 L440.4,87.73 L442.2,88.6 L444.1,89.49 L445.9,90.37 L447.7,91.24 L449.6,92.09 L451.4,92.91 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M95.76,341 L97.55,290 L99.33,253.1 L101.1,225.8 L102.9,205 L104.7,189 L106.5,176.5 L108.3,166.4 L110.1,158.3 L111.8,151.7 L113.6,146.1 L115.4,141.5 L117.2,137.5 L119,134 L120.8,131 L122.6,128.3 L124.4,125.8 L126.1,123.6 L127.9,121.5 L129.7,119.6 L131.5,117.7 L133.3,115.9 L135.1,114.1 L136.9,112.4 L138.7,110.7 L140.4,109 L142.2,107.4 L144,105.7 L145.8,104 L147.6,102.3 L149.4,100.7 L151.2,98.98 L153,97.3 L154.7,95.63 L156.5,93.98 L158.3,92.34 L160.1,90.72 L161.9,89.13 L163.7,87.58 L165.5,86.07 L167.3,84.62 L169,83.21 L170.8,81.87 L172.6,80.6 L174.4,79.41 L176.2,78.3 L178,77.28 L179.8,76.35 L181.6,75.52 L183.3,74.8 L185.1,74.18 L186.9,73.67 L188.7,73.28 L190.5,73.01 L192.3,72.85 L194.1,72.81 L195.9,72.88 L197.6,73.07 L199.4,73.38 L201.2,73.79 L203,74.31 L204.8,74.93 L206.6,75.66 L208.4,76.47 L210.2,77.37 L211.9,78.35 L213.7,79.4 L215.5,80.51 L217.3,81.67 L219.1,82.89 L220.9,84.13 L222.7,85.41 L224.5,86.7 L226.2,88 L228,89.3 L229.8,90.58 L231.6,91.85 L233.4,93.08 L235.2,94.28 L237,95.42 L238.8,96.51 L240.5,97.53 L242.3,98.48 L244.1,99.35 L245.9,100.1 L247.7,100.8 L249.5,101.4 L251.3,101.9 L253.1,102.3 L254.8,102.6 L256.6,102.8 L258.4,102.9 L260.2,102.9 L262,102.7 L263.8,102.5 L265.6,102.1 L267.4,101.7 L269.1,101.2 L270.9,100.6 L272.7,99.85 L274.5,99.08 L276.3,98.23 L278.1,97.32 L279.9,96.35 L281.7,95.34 L283.4,94.29 L285.2,93.21 L287,92.12 L288.8,91.01 L290.6,89.9 L292.4,88.8 L294.2,87.71 L296,86.65 L297.7,85.63 L299.5,84.64 L301.3,83.71 L303.1,82.84 L304.9,82.03 L306.7,81.29 L308.5,80.62 L310.3,80.04 L312,79.55 L313.8,79.14 L315.6,78.82 L317.4,78.61 L319.2,78.48 L321,78.45 L322.8,78.52 L324.6,78.68 L326.3,78.93 L328.1,79.28 L329.9,79.71 L331.7,80.22 L333.5,80.81 L335.3,81.47 L337.1,82.19 L338.9,82.98 L340.6,83.81 L342.4,84.7 L344.2,85.62 L346,86.56 L347.8,87.53 L349.6,88.51 L351.4,89.5 L353.2,90.48 L354.9,91.45 L356.7,92.39 L358.5,93.31 L360.3,94.19 L362.1,95.03 L363.9,95.82 L365.7,96.55 L367.5,97.21 L369.2,97.81 L371,98.33 L372.8,98.78 L374.6,99.15 L376.4,99.43 L378.2,99.63 L380,99.74 L381.8,99.76 L383.5,99.7 L385.3,99.55 L387.1,99.32 L388.9,99.01 L390.7,98.61 L392.5,98.15 L394.3,97.61 L396.1,97.01 L397.8,96.34 L399.6,95.63 L401.4,94.86 L403.2,94.06 L405,93.22 L406.8,92.36 L408.6,91.48 L410.4,90.59 L412.1,89.69 L413.9,88.8 L415.7,87.92 L417.5,87.07 L419.3,86.24 L421.1,85.44 L422.9,84.69 L424.7,83.99 L426.4,83.33 L428.2,82.74 L430,82.21 L431.8,81.75 L433.6,81.36 L435.4,81.05 L437.2,80.81 L439,80.65 L440.7,80.57 L442.5,80.57 L444.3,80.66 L446.1,80.82 L447.9,81.05 L449.7,81.36 L451.5,81.75 L453.3,82.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M107.4,341 L109.1,299.1 L110.8,266.5 L112.6,240.7 L114.3,220.1 L116,203.5 L117.8,190 L119.5,178.8 L121.2,169.6 L123,161.8 L124.7,155.3 L126.4,149.7 L128.1,145 L129.9,140.9 L131.6,137.3 L133.3,134.2 L135.1,131.4 L136.8,128.9 L138.5,126.7 L140.2,124.6 L142,122.7 L143.7,121 L145.4,119.3 L147.2,117.8 L148.9,116.3 L150.6,114.8 L152.4,113.4 L154.1,112 L155.8,110.7 L157.5,109.3 L159.3,108 L161,106.6 L162.7,105.3 L164.5,103.9 L166.2,102.5 L167.9,101.2 L169.6,99.79 L171.4,98.4 L173.1,97.02 L174.8,95.64 L176.6,94.25 L178.3,92.88 L180,91.52 L181.8,90.17 L183.5,88.84 L185.2,87.54 L186.9,86.27 L188.7,85.03 L190.4,83.83 L192.1,82.68 L193.9,81.58 L195.6,80.54 L197.3,79.56 L199,78.64 L200.8,77.79 L202.5,77.02 L204.2,76.33 L206,75.72 L207.7,75.19 L209.4,74.75 L211.1,74.41 L212.9,74.15 L214.6,73.99 L216.3,73.93 L218.1,73.96 L219.8,74.08 L221.5,74.29 L223.3,74.6 L225,75 L226.7,75.48 L228.4,76.05 L230.2,76.7 L231.9,77.42 L233.6,78.21 L235.4,79.07 L237.1,79.99 L238.8,80.96 L240.5,81.98 L242.3,83.04 L244,84.13 L245.7,85.25 L247.5,86.39 L249.2,87.54 L250.9,88.69 L252.7,89.84 L254.4,90.98 L256.1,92.09 L257.8,93.18 L259.6,94.24 L261.3,95.25 L263,96.22 L264.8,97.13 L266.5,97.98 L268.2,98.76 L269.9,99.48 L271.7,100.1 L273.4,100.7 L275.1,101.2 L276.9,101.5 L278.6,101.8 L280.3,102.1 L282,102.2 L283.8,102.2 L285.5,102.1 L287.2,102 L289,101.8 L290.7,101.4 L292.4,101 L294.2,100.5 L295.9,99.98 L297.6,99.34 L299.3,98.64 L301.1,97.88 L302.8,97.06 L304.5,96.2 L306.3,95.29 L308,94.35 L309.7,93.38 L311.4,92.39 L313.2,91.39 L314.9,90.38 L316.6,89.38 L318.4,88.39 L320.1,87.41 L321.8,86.45 L323.6,85.53 L325.3,84.65 L327,83.81 L328.7,83.02 L330.5,82.29 L332.2,81.62 L333.9,81.01 L335.7,80.48 L337.4,80.02 L339.1,79.64 L340.8,79.34 L342.6,79.12 L344.3,78.98 L346,78.93 L347.8,78.96 L349.5,79.07 L351.2,79.26 L353,79.54 L354.7,79.89 L356.4,80.32 L358.1,80.81 L359.9,81.37 L361.6,82 L363.3,82.68 L365.1,83.41 L366.8,84.18 L368.5,85 L370.2,85.84 L372,86.72 L373.7,87.61 L375.4,88.51 L377.2,89.41 L378.9,90.32 L380.6,91.21 L382.3,92.08 L384.1,92.94 L385.8,93.76 L387.5,94.55 L389.3,95.29 L391,95.99 L392.7,96.63 L394.5,97.22 L396.2,97.74 L397.9,98.19 L399.6,98.58 L401.4,98.9 L403.1,99.14 L404.8,99.3 L406.6,99.39 L408.3,99.4 L410,99.33 L411.7,99.19 L413.5,98.97 L415.2,98.68 L416.9,98.33 L418.7,97.9 L420.4,97.41 L422.1,96.86 L423.9,96.26 L425.6,95.61 L427.3,94.92 L429,94.18 L430.8,93.42 L432.5,92.63 L434.2,91.82 L436,91 L437.7,90.17 L439.4,89.34 L441.1,88.52 L442.9,87.71 L444.6,86.92 L446.3,86.16 L448.1,85.43 L449.8,84.73 L451.5,84.09 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="509.8" y="86" font-size="14" font-family="Verdana">v = 0</text>
+<text x="509.8" y="114" font-size="14" font-family="Verdana">v = 1</text>
+<text x="509.8" y="142" font-size="14" font-family="Verdana">v = 2</text>
+<text x="509.8" y="170" font-size="14" font-family="Verdana">v = 3</text>
+<text x="509.8" y="198" font-size="14" font-family="Verdana">v = 4</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel Y</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/digamma.png b/libs/math/doc/graphs/digamma.png
index ec3885091e..ec3885091e 100644
--- a/libs/math/doc/sf_and_dist/graphs/digamma.png
+++ b/libs/math/doc/graphs/digamma.png
Binary files differ
diff --git a/libs/math/doc/graphs/digamma.svg b/libs/math/doc/graphs/digamma.svg
new file mode 100644
index 0000000000..0dcc6e52a2
--- /dev/null
+++ b/libs/math/doc/graphs/digamma.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="219.3" y1="58" x2="219.3" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="199.9" x2="574" y2="199.9"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,182.3 L84.2,182.3 M82.2,164.7 L84.2,164.7 M82.2,147 L84.2,147 M82.2,111.8 L84.2,111.8 M82.2,94.13 L84.2,94.13 M82.2,76.49 L84.2,76.49 M82.2,199.9 L84.2,199.9 M82.2,217.6 L84.2,217.6 M82.2,235.2 L84.2,235.2 M82.2,252.8 L84.2,252.8 M82.2,270.5 L84.2,270.5 M82.2,288.1 L84.2,288.1 M82.2,305.7 L84.2,305.7 M82.2,323.4 L84.2,323.4 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M262.4,341 L262.4,343 M305.6,341 L305.6,343 M348.7,341 L348.7,343 M435,341 L435,343 M478.1,341 L478.1,343 M521.3,341 L521.3,343 M176.2,341 L176.2,343 M133,341 L133,343 M89.89,341 L89.89,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,199.9 L84.2,199.9 M79.2,129.4 L84.2,129.4 M79.2,58.86 L84.2,58.86 M79.2,199.9 L84.2,199.9 M79.2,270.5 L84.2,270.5 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M219.3,341 L219.3,346 M391.9,341 L391.9,346 M564.4,341 L564.4,346 M219.3,341 L219.3,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="219.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="391.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="219.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="202.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="131.8" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="73.2" y="61.26" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="73.2" y="202.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="272.9" text-anchor="end" font-size="12" font-family="Verdana">-5</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">digamma(z)</text></g>
+<g id="xLabel">
+<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M222.9,341 L224.6,296.6 L226.3,273.3 L228,258.9 L229.7,249 L231.4,241.6 L233.2,235.9 L234.9,231.4 L236.6,227.6 L238.3,224.4 L240,221.7 L241.7,219.3 L243.4,217.2 L245.1,215.3 L246.8,213.6 L248.5,212.1 L250.2,210.7 L251.9,209.4 L253.6,208.2 L255.3,207.1 L257.1,206 L258.8,205.1 L260.5,204.1 L262.2,203.3 L263.9,202.4 L265.6,201.7 L267.3,200.9 L269,200.2 L270.7,199.6 L272.4,198.9 L274.1,198.3 L275.8,197.7 L277.5,197.1 L279.3,196.6 L281,196 L282.7,195.5 L284.4,195 L286.1,194.6 L287.8,194.1 L289.5,193.7 L291.2,193.2 L292.9,192.8 L294.6,192.4 L296.3,192 L298,191.6 L299.7,191.2 L301.4,190.9 L303.2,190.5 L304.9,190.2 L306.6,189.8 L308.3,189.5 L310,189.2 L311.7,188.8 L313.4,188.5 L315.1,188.2 L316.8,187.9 L318.5,187.6 L320.2,187.3 L321.9,187.1 L323.6,186.8 L325.4,186.5 L327.1,186.2 L328.8,186 L330.5,185.7 L332.2,185.5 L333.9,185.2 L335.6,185 L337.3,184.7 L339,184.5 L340.7,184.3 L342.4,184.1 L344.1,183.8 L345.8,183.6 L347.5,183.4 L349.3,183.2 L351,183 L352.7,182.8 L354.4,182.6 L356.1,182.4 L357.8,182.2 L359.5,182 L361.2,181.8 L362.9,181.6 L364.6,181.4 L366.3,181.2 L368,181 L369.7,180.8 L371.5,180.7 L373.2,180.5 L374.9,180.3 L376.6,180.1 L378.3,180 L380,179.8 L381.7,179.6 L383.4,179.5 L385.1,179.3 L386.8,179.1 L388.5,179 L390.2,178.8 L391.9,178.7 L393.7,178.5 L395.4,178.4 L397.1,178.2 L398.8,178.1 L400.5,177.9 L402.2,177.8 L403.9,177.6 L405.6,177.5 L407.3,177.3 L409,177.2 L410.7,177.1 L412.4,176.9 L414.1,176.8 L415.8,176.7 L417.6,176.5 L419.3,176.4 L421,176.3 L422.7,176.1 L424.4,176 L426.1,175.9 L427.8,175.8 L429.5,175.6 L431.2,175.5 L432.9,175.4 L434.6,175.3 L436.3,175.1 L438,175 L439.8,174.9 L441.5,174.8 L443.2,174.7 L444.9,174.6 L446.6,174.4 L448.3,174.3 L450,174.2 L451.7,174.1 L453.4,174 L455.1,173.9 L456.8,173.8 L458.5,173.7 L460.2,173.5 L461.9,173.4 L463.7,173.3 L465.4,173.2 L467.1,173.1 L468.8,173 L470.5,172.9 L472.2,172.8 L473.9,172.7 L475.6,172.6 L477.3,172.5 L479,172.4 L480.7,172.3 L482.4,172.2 L484.1,172.1 L485.9,172 L487.6,171.9 L489.3,171.8 L491,171.7 L492.7,171.6 L494.4,171.5 L496.1,171.5 L497.8,171.4 L499.5,171.3 L501.2,171.2 L502.9,171.1 L504.6,171 L506.3,170.9 L508.1,170.8 L509.8,170.7 L511.5,170.6 L513.2,170.6 L514.9,170.5 L516.6,170.4 L518.3,170.3 L520,170.2 L521.7,170.1 L523.4,170 L525.1,170 L526.8,169.9 L528.5,169.8 L530.2,169.7 L532,169.6 L533.7,169.6 L535.4,169.5 L537.1,169.4 L538.8,169.3 L540.5,169.2 L542.2,169.2 L543.9,169.1 L545.6,169 L547.3,168.9 L549,168.8 L550.7,168.8 L552.4,168.7 L554.2,168.6 L555.9,168.5 L557.6,168.5 L559.3,168.4 L561,168.3 L562.7,168.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M188,341 L188.2,334.6 L188.3,328.7 L188.5,323.2 L188.6,318.1 L188.7,313.4 L188.9,309 L189,304.9 L189.2,301 L189.3,297.3 L189.4,293.9 L189.6,290.7 L189.7,287.6 L189.9,284.7 L190,282 L190.1,279.3 L190.3,276.8 L190.4,274.5 L190.6,272.2 L190.7,270 L190.8,268 L191,266 L191.1,264.1 L191.3,262.2 L191.4,260.5 L191.5,258.8 L191.7,257.1 L191.8,255.6 L192,254 L192.1,252.6 L192.2,251.1 L192.4,249.8 L192.5,248.4 L192.7,247.1 L192.8,245.9 L192.9,244.7 L193.1,243.5 L193.2,242.4 L193.4,241.2 L193.5,240.1 L193.6,239.1 L193.8,238.1 L193.9,237.1 L194.1,236.1 L194.2,235.1 L194.3,234.2 L194.5,233.3 L194.6,232.4 L194.8,231.5 L194.9,230.6 L195,229.8 L195.2,229 L195.3,228.2 L195.5,227.4 L195.6,226.6 L195.7,225.8 L195.9,225.1 L196,224.3 L196.2,223.6 L196.3,222.9 L196.4,222.2 L196.6,221.5 L196.7,220.8 L196.9,220.2 L197,219.5 L197.1,218.8 L197.3,218.2 L197.4,217.6 L197.6,216.9 L197.7,216.3 L197.9,215.7 L198,215.1 L198.1,214.5 L198.3,213.9 L198.4,213.3 L198.6,212.7 L198.7,212.2 L198.8,211.6 L199,211 L199.1,210.5 L199.3,209.9 L199.4,209.4 L199.5,208.8 L199.7,208.3 L199.8,207.7 L200,207.2 L200.1,206.7 L200.2,206.1 L200.4,205.6 L200.5,205.1 L200.7,204.5 L200.8,204 L200.9,203.5 L201.1,203 L201.2,202.5 L201.4,201.9 L201.5,201.4 L201.6,200.9 L201.8,200.4 L201.9,199.9 L202.1,199.4 L202.2,198.9 L202.3,198.4 L202.5,197.8 L202.6,197.3 L202.8,196.8 L202.9,196.3 L203,195.8 L203.2,195.3 L203.3,194.7 L203.5,194.2 L203.6,193.7 L203.7,193.2 L203.9,192.7 L204,192.1 L204.2,191.6 L204.3,191.1 L204.4,190.5 L204.6,190 L204.7,189.5 L204.9,188.9 L205,188.4 L205.1,187.8 L205.3,187.3 L205.4,186.7 L205.6,186.1 L205.7,185.5 L205.8,185 L206,184.4 L206.1,183.8 L206.3,183.2 L206.4,182.6 L206.6,182 L206.7,181.4 L206.8,180.8 L207,180.1 L207.1,179.5 L207.3,178.8 L207.4,178.2 L207.5,177.5 L207.7,176.8 L207.8,176.1 L208,175.4 L208.1,174.7 L208.2,174 L208.4,173.3 L208.5,172.5 L208.7,171.8 L208.8,171 L208.9,170.2 L209.1,169.4 L209.2,168.6 L209.4,167.7 L209.5,166.9 L209.6,166 L209.8,165.1 L209.9,164.2 L210.1,163.3 L210.2,162.3 L210.3,161.3 L210.5,160.3 L210.6,159.3 L210.8,158.2 L210.9,157.1 L211,156 L211.2,154.8 L211.3,153.6 L211.5,152.4 L211.6,151.1 L211.7,149.8 L211.9,148.4 L212,147 L212.2,145.6 L212.3,144.1 L212.4,142.5 L212.6,140.9 L212.7,139.3 L212.9,137.5 L213,135.7 L213.1,133.8 L213.3,131.9 L213.4,129.8 L213.6,127.6 L213.7,125.4 L213.8,123 L214,120.6 L214.1,118 L214.3,115.2 L214.4,112.3 L214.5,109.3 L214.7,106.1 L214.8,102.6 L215,98.99 L215.1,95.12 L215.2,90.99 L215.4,86.57 L215.5,81.84 L215.7,76.74 L215.8,71.25 L216,65.31 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M153.4,341 L153.5,334 L153.7,327.6 L153.8,321.6 L153.9,316.2 L154.1,311.1 L154.2,306.3 L154.3,301.9 L154.5,297.7 L154.6,293.8 L154.8,290.2 L154.9,286.7 L155,283.5 L155.2,280.4 L155.3,277.5 L155.5,274.7 L155.6,272 L155.7,269.5 L155.9,267.1 L156,264.8 L156.2,262.7 L156.3,260.6 L156.4,258.5 L156.6,256.6 L156.7,254.8 L156.9,253 L157,251.3 L157.1,249.6 L157.3,248 L157.4,246.5 L157.6,245 L157.7,243.5 L157.8,242.1 L158,240.8 L158.1,239.5 L158.3,238.2 L158.4,237 L158.5,235.8 L158.7,234.6 L158.8,233.5 L159,232.4 L159.1,231.3 L159.2,230.2 L159.4,229.2 L159.5,228.2 L159.7,227.2 L159.8,226.3 L159.9,225.3 L160.1,224.4 L160.2,223.5 L160.4,222.6 L160.5,221.8 L160.6,220.9 L160.8,220.1 L160.9,219.3 L161,218.5 L161.2,217.7 L161.3,216.9 L161.5,216.2 L161.6,215.4 L161.7,214.7 L161.9,214 L162,213.3 L162.2,212.6 L162.3,211.9 L162.4,211.2 L162.6,210.5 L162.7,209.9 L162.9,209.2 L163,208.5 L163.1,207.9 L163.3,207.3 L163.4,206.6 L163.6,206 L163.7,205.4 L163.8,204.8 L164,204.2 L164.1,203.6 L164.3,203 L164.4,202.4 L164.5,201.8 L164.7,201.3 L164.8,200.7 L165,200.1 L165.1,199.5 L165.2,199 L165.4,198.4 L165.5,197.9 L165.7,197.3 L165.8,196.8 L165.9,196.2 L166.1,195.7 L166.2,195.1 L166.4,194.6 L166.5,194 L166.6,193.5 L166.8,193 L166.9,192.4 L167.1,191.9 L167.2,191.3 L167.3,190.8 L167.5,190.3 L167.6,189.7 L167.8,189.2 L167.9,188.7 L168,188.1 L168.2,187.6 L168.3,187.1 L168.4,186.5 L168.6,186 L168.7,185.4 L168.9,184.9 L169,184.4 L169.1,183.8 L169.3,183.3 L169.4,182.7 L169.6,182.2 L169.7,181.6 L169.8,181 L170,180.5 L170.1,179.9 L170.3,179.4 L170.4,178.8 L170.5,178.2 L170.7,177.6 L170.8,177 L171,176.4 L171.1,175.9 L171.2,175.3 L171.4,174.6 L171.5,174 L171.7,173.4 L171.8,172.8 L171.9,172.2 L172.1,171.5 L172.2,170.9 L172.4,170.2 L172.5,169.6 L172.6,168.9 L172.8,168.2 L172.9,167.5 L173.1,166.8 L173.2,166.1 L173.3,165.4 L173.5,164.7 L173.6,163.9 L173.8,163.2 L173.9,162.4 L174,161.6 L174.2,160.8 L174.3,160 L174.5,159.2 L174.6,158.4 L174.7,157.5 L174.9,156.6 L175,155.8 L175.1,154.8 L175.3,153.9 L175.4,153 L175.6,152 L175.7,151 L175.8,150 L176,148.9 L176.1,147.9 L176.3,146.8 L176.4,145.6 L176.5,144.5 L176.7,143.3 L176.8,142 L177,140.8 L177.1,139.5 L177.2,138.1 L177.4,136.7 L177.5,135.3 L177.7,133.8 L177.8,132.3 L177.9,130.7 L178.1,129.1 L178.2,127.3 L178.4,125.6 L178.5,123.7 L178.6,121.8 L178.8,119.8 L178.9,117.7 L179.1,115.5 L179.2,113.2 L179.3,110.9 L179.5,108.4 L179.6,105.7 L179.8,103 L179.9,100 L180,96.97 L180.2,93.72 L180.3,90.27 L180.5,86.62 L180.6,82.73 L180.7,78.59 L180.9,74.17 L181,69.43 L181.2,64.34 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M118.8,341 L118.9,333.6 L119.1,326.8 L119.2,320.6 L119.3,314.8 L119.5,309.5 L119.6,304.5 L119.7,299.9 L119.9,295.6 L120,291.5 L120.2,287.7 L120.3,284.1 L120.4,280.7 L120.6,277.5 L120.7,274.5 L120.9,271.6 L121,268.9 L121.1,266.3 L121.3,263.8 L121.4,261.5 L121.6,259.2 L121.7,257 L121.8,255 L122,253 L122.1,251.1 L122.3,249.2 L122.4,247.5 L122.5,245.8 L122.7,244.1 L122.8,242.5 L122.9,241 L123.1,239.5 L123.2,238.1 L123.4,236.7 L123.5,235.4 L123.6,234.1 L123.8,232.8 L123.9,231.6 L124.1,230.4 L124.2,229.2 L124.3,228.1 L124.5,227 L124.6,225.9 L124.8,224.8 L124.9,223.8 L125,222.8 L125.2,221.8 L125.3,220.9 L125.5,219.9 L125.6,219 L125.7,218.1 L125.9,217.3 L126,216.4 L126.1,215.5 L126.3,214.7 L126.4,213.9 L126.6,213.1 L126.7,212.3 L126.8,211.5 L127,210.8 L127.1,210 L127.3,209.3 L127.4,208.6 L127.5,207.8 L127.7,207.1 L127.8,206.4 L128,205.8 L128.1,205.1 L128.2,204.4 L128.4,203.7 L128.5,203.1 L128.7,202.4 L128.8,201.8 L128.9,201.2 L129.1,200.5 L129.2,199.9 L129.4,199.3 L129.5,198.7 L129.6,198.1 L129.8,197.5 L129.9,196.9 L130,196.3 L130.2,195.7 L130.3,195.2 L130.5,194.6 L130.6,194 L130.7,193.4 L130.9,192.9 L131,192.3 L131.2,191.7 L131.3,191.2 L131.4,190.6 L131.6,190.1 L131.7,189.5 L131.9,189 L132,188.4 L132.1,187.9 L132.3,187.3 L132.4,186.8 L132.6,186.2 L132.7,185.7 L132.8,185.1 L133,184.6 L133.1,184.1 L133.2,183.5 L133.4,183 L133.5,182.4 L133.7,181.9 L133.8,181.3 L133.9,180.8 L134.1,180.3 L134.2,179.7 L134.4,179.2 L134.5,178.6 L134.6,178 L134.8,177.5 L134.9,176.9 L135.1,176.4 L135.2,175.8 L135.3,175.2 L135.5,174.7 L135.6,174.1 L135.8,173.5 L135.9,172.9 L136,172.4 L136.2,171.8 L136.3,171.2 L136.4,170.6 L136.6,170 L136.7,169.4 L136.9,168.8 L137,168.1 L137.1,167.5 L137.3,166.9 L137.4,166.2 L137.6,165.6 L137.7,164.9 L137.8,164.3 L138,163.6 L138.1,162.9 L138.3,162.2 L138.4,161.6 L138.5,160.8 L138.7,160.1 L138.8,159.4 L139,158.7 L139.1,157.9 L139.2,157.2 L139.4,156.4 L139.5,155.6 L139.7,154.8 L139.8,154 L139.9,153.2 L140.1,152.3 L140.2,151.4 L140.3,150.6 L140.5,149.7 L140.6,148.8 L140.8,147.8 L140.9,146.9 L141,145.9 L141.2,144.9 L141.3,143.9 L141.5,142.8 L141.6,141.7 L141.7,140.6 L141.9,139.5 L142,138.3 L142.2,137.1 L142.3,135.9 L142.4,134.6 L142.6,133.3 L142.7,132 L142.9,130.6 L143,129.2 L143.1,127.7 L143.3,126.1 L143.4,124.6 L143.5,122.9 L143.7,121.2 L143.8,119.4 L144,117.6 L144.1,115.7 L144.2,113.7 L144.4,111.6 L144.5,109.4 L144.7,107.2 L144.8,104.8 L144.9,102.3 L145.1,99.7 L145.2,96.96 L145.4,94.07 L145.5,91.03 L145.6,87.81 L145.8,84.41 L145.9,80.8 L146.1,76.97 L146.2,72.88 L146.3,68.53 L146.5,63.86 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L84.34,333.3 L84.48,326.3 L84.62,319.8 L84.76,313.9 L84.89,308.3 L85.03,303.2 L85.17,298.4 L85.31,294 L85.45,289.8 L85.59,285.9 L85.73,282.2 L85.87,278.7 L86.01,275.4 L86.14,272.3 L86.28,269.4 L86.42,266.6 L86.56,263.9 L86.7,261.4 L86.84,259 L86.98,256.6 L87.12,254.4 L87.26,252.3 L87.39,250.3 L87.53,248.3 L87.67,246.5 L87.81,244.7 L87.95,242.9 L88.09,241.3 L88.23,239.7 L88.37,238.1 L88.51,236.6 L88.64,235.1 L88.78,233.7 L88.92,232.4 L89.06,231 L89.2,229.7 L89.34,228.5 L89.48,227.3 L89.62,226.1 L89.76,224.9 L89.89,223.8 L90.03,222.7 L90.17,221.7 L90.31,220.6 L90.45,219.6 L90.59,218.6 L90.73,217.6 L90.87,216.7 L91,215.7 L91.14,214.8 L91.28,213.9 L91.42,213.1 L91.56,212.2 L91.7,211.4 L91.84,210.5 L91.98,209.7 L92.12,208.9 L92.25,208.2 L92.39,207.4 L92.53,206.6 L92.67,205.9 L92.81,205.1 L92.95,204.4 L93.09,203.7 L93.23,203 L93.37,202.3 L93.5,201.6 L93.64,200.9 L93.78,200.3 L93.92,199.6 L94.06,199 L94.2,198.3 L94.34,197.7 L94.48,197 L94.62,196.4 L94.75,195.8 L94.89,195.2 L95.03,194.6 L95.17,194 L95.31,193.4 L95.45,192.8 L95.59,192.2 L95.73,191.6 L95.87,191 L96,190.4 L96.14,189.8 L96.28,189.3 L96.42,188.7 L96.56,188.1 L96.7,187.6 L96.84,187 L96.98,186.5 L97.12,185.9 L97.25,185.3 L97.39,184.8 L97.53,184.2 L97.67,183.7 L97.81,183.1 L97.95,182.6 L98.09,182 L98.23,181.5 L98.37,181 L98.5,180.4 L98.64,179.9 L98.78,179.3 L98.92,178.8 L99.06,178.2 L99.2,177.7 L99.34,177.1 L99.48,176.6 L99.62,176 L99.75,175.5 L99.89,174.9 L100,174.4 L100.2,173.8 L100.3,173.2 L100.4,172.7 L100.6,172.1 L100.7,171.5 L100.9,171 L101,170.4 L101.1,169.8 L101.3,169.2 L101.4,168.7 L101.6,168.1 L101.7,167.5 L101.8,166.9 L102,166.3 L102.1,165.7 L102.3,165.1 L102.4,164.4 L102.5,163.8 L102.7,163.2 L102.8,162.5 L102.9,161.9 L103.1,161.3 L103.2,160.6 L103.4,159.9 L103.5,159.3 L103.6,158.6 L103.8,157.9 L103.9,157.2 L104.1,156.5 L104.2,155.7 L104.3,155 L104.5,154.3 L104.6,153.5 L104.8,152.7 L104.9,152 L105,151.2 L105.2,150.4 L105.3,149.5 L105.4,148.7 L105.6,147.9 L105.7,147 L105.9,146.1 L106,145.2 L106.1,144.3 L106.3,143.3 L106.4,142.4 L106.6,141.4 L106.7,140.4 L106.8,139.3 L107,138.3 L107.1,137.2 L107.3,136.1 L107.4,134.9 L107.5,133.8 L107.7,132.6 L107.8,131.3 L107.9,130 L108.1,128.7 L108.2,127.4 L108.4,126 L108.5,124.5 L108.6,123 L108.8,121.5 L108.9,119.9 L109.1,118.2 L109.2,116.5 L109.3,114.8 L109.5,112.9 L109.6,111 L109.8,109 L109.9,106.9 L110,104.7 L110.2,102.4 L110.3,100 L110.4,97.53 L110.6,94.91 L110.7,92.15 L110.9,89.24 L111,86.18 L111.1,82.95 L111.3,79.52 L111.4,75.89 L111.6,72.04 L111.7,67.93 L111.8,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">digamma</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/dist_graphs.cpp b/libs/math/doc/graphs/dist_graphs.cpp
new file mode 100644
index 0000000000..07f2f73167
--- /dev/null
+++ b/libs/math/doc/graphs/dist_graphs.cpp
@@ -0,0 +1,705 @@
+/*! \file dist_graphs.cpp
+ \brief Produces Scalable Vector Graphic (.svg) files for all distributions.
+ \details These files can be viewed using most browsers,
+ though MS Internet Explorer requires a plugin from Adobe.
+ These file can be converted to .png using Inkscape
+ (see www.inkscape.org) Export Bit option which by default produces
+ a Portable Network Graphic file with that same filename but .png suffix instead of .svg.
+ Using Python, generate.sh does this conversion automatically for all .svg files in a folder.
+
+ \author John Maddock and Paul A. Bristow
+ */
+// Copyright John Maddock 2008.
+// Copyright Paul A. Bristow 2008, 2009, 2012
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4180) // qualifier applied to function type has no meaning; ignored
+# pragma warning (disable : 4503) // decorated name length exceeded, name was truncated
+# pragma warning (disable : 4512) // assignment operator could not be generated
+# pragma warning (disable : 4224) // nonstandard extension used : formal parameter 'function_ptr' was previously defined as a type
+# pragma warning (disable : 4127) // conditional expression is constant
+#endif
+
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
+
+#include <boost/math/distributions.hpp>
+#include <boost/math/tools/roots.hpp>
+#include <boost/svg_plot/svg_2d_plot.hpp>
+
+#include <list>
+#include <map>
+#include <string>
+
+template <class Dist>
+struct is_discrete_distribution
+ : public boost::mpl::false_{};
+
+template<class T, class P>
+struct is_discrete_distribution<boost::math::bernoulli_distribution<T,P> >
+ : public boost::mpl::true_{};
+template<class T, class P>
+struct is_discrete_distribution<boost::math::binomial_distribution<T,P> >
+ : public boost::mpl::true_{};
+template<class T, class P>
+struct is_discrete_distribution<boost::math::negative_binomial_distribution<T,P> >
+ : public boost::mpl::true_{};
+template<class T, class P>
+struct is_discrete_distribution<boost::math::poisson_distribution<T,P> >
+ : public boost::mpl::true_{};
+template<class T, class P>
+struct is_discrete_distribution<boost::math::hypergeometric_distribution<T,P> >
+ : public boost::mpl::true_{};
+
+
+template <class Dist>
+struct value_finder
+{
+ value_finder(Dist const& d, typename Dist::value_type v)
+ : m_dist(d), m_value(v) {}
+
+ inline typename Dist::value_type operator()(const typename Dist::value_type& x)
+ {
+ return pdf(m_dist, x) - m_value;
+ }
+
+private:
+ Dist m_dist;
+ typename Dist::value_type m_value;
+};
+
+template <class Dist>
+class distribution_plotter
+{
+public:
+ distribution_plotter() : m_pdf(true), m_min_x(0), m_max_x(0), m_min_y(0), m_max_y(0) {}
+ distribution_plotter(bool pdf) : m_pdf(pdf), m_min_x(0), m_max_x(0), m_min_y(0), m_max_y(0) {}
+
+ void add(const Dist& d, const std::string& name)
+ {
+ //
+ // Add to our list for later:
+ //
+ m_distributions.push_back(std::make_pair(name, d));
+ //
+ // Get the extent:
+ //
+ double a, b;
+ std::tr1::tie(a, b) = support(d);
+ //
+ // PDF maximimum is at the mode:
+ //
+ double mod;
+ try
+ {
+ mod = mode(d);
+ }
+ catch(const std::domain_error& )
+ {
+ mod = a;
+ }
+ if((mod <= a) && !is_discrete_distribution<Dist>::value)
+ {
+ if((a != 0) && (fabs(a) > 1e-2))
+ mod = a * (1 + 1e-2);
+ else
+ mod = 1e-2;
+ }
+ double peek_y = pdf(d, mod);
+ double min_y = peek_y / 20;
+ //
+ // If the extent is "infinite" then find out how large it
+ // has to be for the PDF to decay to min_y:
+ //
+ if(a <= -(std::numeric_limits<double>::max)())
+ {
+ boost::uintmax_t max_iter = 500;
+ double guess = mod;
+ if((pdf(d, 0) > min_y) || (guess == 0))
+ guess = -1e-3;
+ a = boost::math::tools::bracket_and_solve_root(
+ value_finder<Dist>(d, min_y),
+ guess,
+ 8.0,
+ true,
+ boost::math::tools::eps_tolerance<double>(10),
+ max_iter).first;
+ }
+ if(b >= (std::numeric_limits<double>::max)())
+ {
+ boost::uintmax_t max_iter = 500;
+ double guess = mod;
+ if(a <= 0)
+ if((pdf(d, 0) > min_y) || (guess == 0))
+ guess = 1e-3;
+ b = boost::math::tools::bracket_and_solve_root(
+ value_finder<Dist>(d, min_y),
+ guess,
+ 8.0,
+ false,
+ boost::math::tools::eps_tolerance<double>(10),
+ max_iter).first;
+ }
+ //
+ // Recalculate peek_y and location of mod so that
+ // it's not too close to one end of the graph:
+ // otherwise we may be shooting off to infinity.
+ //
+ if(!is_discrete_distribution<Dist>::value)
+ {
+ if(mod <= a + (b-a)/50)
+ {
+ mod = a + (b-a)/50;
+ }
+ if(mod >= b - (b-a)/50)
+ {
+ mod = b - (b-a)/50;
+ }
+ peek_y = pdf(d, mod);
+ }
+ //
+ // Now set our limits:
+ //
+ if(peek_y > m_max_y)
+ m_max_y = peek_y;
+ if(m_max_x == m_min_x)
+ {
+ m_max_x = b;
+ m_min_x = a;
+ }
+ else
+ {
+ if(a < m_min_x)
+ m_min_x = a;
+ if(b > m_max_x)
+ m_max_x = b;
+ }
+ }
+
+ void plot(const std::string& title, const std::string& file)
+ {
+ using namespace boost::svg;
+
+ static const svg_color colors[5] =
+ {
+ darkblue,
+ darkred,
+ darkgreen,
+ darkorange,
+ chartreuse
+ };
+
+ if(m_pdf == false)
+ {
+ m_min_y = 0;
+ m_max_y = 1;
+ }
+
+ svg_2d_plot plot;
+ plot.image_x_size(750);
+ plot.image_y_size(400);
+ plot.coord_precision(4); // Avoids any visible steps.
+ plot.title_font_size(20);
+ plot.legend_title_font_size(15);
+ plot.title(title);
+ if((m_distributions.size() == 1) && (m_distributions.begin()->first == ""))
+ plot.legend_on(false);
+ else
+ plot.legend_on(true);
+ plot.title_on(true);
+ //plot.x_major_labels_on(true).y_major_labels_on(true);
+ //double x_delta = (m_max_x - m_min_x) / 10;
+ double y_delta = (m_max_y - m_min_y) / 10;
+ if(is_discrete_distribution<Dist>::value)
+ plot.x_range(m_min_x - 0.5, m_max_x + 0.5)
+ .y_range(m_min_y, m_max_y + y_delta);
+ else
+ plot.x_range(m_min_x, m_max_x)
+ .y_range(m_min_y, m_max_y + y_delta);
+ plot.x_label_on(true).x_label("Random Variable");
+ plot.y_label_on(true).y_label("Probability");
+ plot.plot_border_color(lightslategray)
+ .background_border_color(lightslategray)
+ .legend_border_color(lightslategray)
+ .legend_background_color(white);
+ //
+ // Work out axis tick intervals:
+ //
+ double l = std::floor(std::log10((m_max_x - m_min_x) / 10) + 0.5);
+ double interval = std::pow(10.0, (int)l);
+ if(((m_max_x - m_min_x) / interval) > 10)
+ interval *= 5;
+ if(is_discrete_distribution<Dist>::value)
+ {
+ interval = interval > 1 ? std::floor(interval) : 1;
+ plot.x_num_minor_ticks(0);
+ }
+ plot.x_major_interval(interval);
+ l = std::floor(std::log10((m_max_y - m_min_y) / 10) + 0.5);
+ interval = std::pow(10.0, (int)l);
+ if(((m_max_y - m_min_y) / interval) > 10)
+ interval *= 5;
+ plot.y_major_interval(interval);
+
+ int color_index = 0;
+
+ if(!is_discrete_distribution<Dist>::value)
+ {
+ //
+ // Continuous distribution:
+ //
+ for(std::list<std::pair<std::string, Dist> >::const_iterator i = m_distributions.begin();
+ i != m_distributions.end(); ++i)
+ {
+ double x = m_min_x;
+ double interval = (m_max_x - m_min_x) / 200;
+ std::map<double, double> data;
+ while(x <= m_max_x)
+ {
+ data[x] = m_pdf ? pdf(i->second, x) : cdf(i->second, x);
+ x += interval;
+ }
+ plot.plot(data, i->first)
+ .line_on(true)
+ .line_color(colors[color_index])
+ .line_width(1.)
+ .shape(none);
+ //.bezier_on(true) // Bezier can't cope with badly behaved like uniform & triangular.
+ ++color_index;
+ color_index = color_index % (sizeof(colors)/sizeof(colors[0]));
+ }
+ }
+ else
+ {
+ //
+ // Discrete distribution:
+ //
+ double x_width = 0.75 / m_distributions.size();
+ double x_off = -0.5 * 0.75;
+ for(std::list<std::pair<std::string, Dist> >::const_iterator i = m_distributions.begin();
+ i != m_distributions.end(); ++i)
+ {
+ double x = ceil(m_min_x);
+ double interval = 1;
+ std::map<double, double> data;
+ while(x <= m_max_x)
+ {
+ double p;
+ try{
+ p = m_pdf ? pdf(i->second, x) : cdf(i->second, x);
+ }
+ catch(const std::domain_error&)
+ {
+ p = 0;
+ }
+ data[x + x_off] = 0;
+ data[x + x_off + 0.00001] = p;
+ data[x + x_off + x_width] = p;
+ data[x + x_off + x_width + 0.00001] = 0;
+ x += interval;
+ }
+ x_off += x_width;
+ svg_2d_plot_series& s = plot.plot(data, i->first);
+ s.line_on(true)
+ .line_color(colors[color_index])
+ .line_width(1.)
+ .shape(none)
+ .area_fill(colors[color_index]);
+ ++color_index;
+ color_index = color_index % (sizeof(colors)/sizeof(colors[0]));
+ }
+ }
+ plot.write(file);
+ }
+
+private:
+ bool m_pdf;
+ std::list<std::pair<std::string, Dist> > m_distributions;
+ double m_min_x, m_max_x, m_min_y, m_max_y;
+};
+
+int main()
+{
+ distribution_plotter<boost::math::gamma_distribution<> >
+ gamma_plotter;
+ gamma_plotter.add(boost::math::gamma_distribution<>(0.75), "shape = 0.75");
+ gamma_plotter.add(boost::math::gamma_distribution<>(1), "shape = 1");
+ gamma_plotter.add(boost::math::gamma_distribution<>(3), "shape = 3");
+ gamma_plotter.plot("Gamma Distribution PDF With Scale = 1", "gamma1_pdf.svg");
+
+ distribution_plotter<boost::math::gamma_distribution<> >
+ gamma_plotter2;
+ gamma_plotter2.add(boost::math::gamma_distribution<>(2, 0.5), "scale = 0.5");
+ gamma_plotter2.add(boost::math::gamma_distribution<>(2, 1), "scale = 1");
+ gamma_plotter2.add(boost::math::gamma_distribution<>(2, 2), "scale = 2");
+ gamma_plotter2.plot("Gamma Distribution PDF With Shape = 2", "gamma2_pdf.svg");
+
+ distribution_plotter<boost::math::normal>
+ normal_plotter;
+ normal_plotter.add(boost::math::normal(0, 1), "&#x3BC; = 0, &#x3C3; = 1");
+ normal_plotter.add(boost::math::normal(0, 0.5), "&#x3BC; = 0, &#x3C3; = 0.5");
+ normal_plotter.add(boost::math::normal(0, 2), "&#x3BC; = 0, &#x3C3; = 2");
+ normal_plotter.add(boost::math::normal(-1, 1), "&#x3BC; = -1, &#x3C3; = 1");
+ normal_plotter.add(boost::math::normal(1, 1), "&#x3BC; = 1, &#x3C3; = 1");
+ normal_plotter.plot("Normal Distribution PDF", "normal_pdf.svg");
+
+ distribution_plotter<boost::math::laplace>
+ laplace_plotter;
+ laplace_plotter.add(boost::math::laplace(0, 1), "&#x3BC; = 0, &#x3C3; = 1");
+ laplace_plotter.add(boost::math::laplace(0, 0.5), "&#x3BC; = 0, &#x3C3; = 0.5");
+ laplace_plotter.add(boost::math::laplace(0, 2), "&#x3BC; = 0, &#x3C3; = 2");
+ laplace_plotter.add(boost::math::laplace(-1, 1), "&#x3BC; = -1, &#x3C3; = 1");
+ laplace_plotter.add(boost::math::laplace(1, 1), "&#x3BC; = 1, &#x3C3; = 1");
+ laplace_plotter.plot("Laplace Distribution PDF", "laplace_pdf.svg");
+
+ distribution_plotter<boost::math::non_central_chi_squared>
+ nc_cs_plotter;
+ nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 0), "v=20, &#x3BB;=0");
+ nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 1), "v=20, &#x3BB;=1");
+ nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 5), "v=20, &#x3BB;=5");
+ nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 10), "v=20, &#x3BB;=10");
+ nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 20), "v=20, &#x3BB;=20");
+ nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 100), "v=20, &#x3BB;=100");
+ nc_cs_plotter.plot("Non Central Chi Squared PDF", "nccs_pdf.svg");
+
+ distribution_plotter<boost::math::non_central_beta>
+ nc_beta_plotter;
+ nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 0), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=0");
+ nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 1), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=1");
+ nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 5), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=5");
+ nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 10), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=10");
+ nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 40), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=40");
+ nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 100), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=100");
+ nc_beta_plotter.plot("Non Central Beta PDF", "nc_beta_pdf.svg");
+
+ distribution_plotter<boost::math::non_central_f>
+ nc_f_plotter;
+ nc_f_plotter.add(boost::math::non_central_f(10, 20, 0), "v1=10, v2=20, &#x3BB;=0");
+ nc_f_plotter.add(boost::math::non_central_f(10, 20, 1), "v1=10, v2=20, &#x3BB;=1");
+ nc_f_plotter.add(boost::math::non_central_f(10, 20, 5), "v1=10, v2=20, &#x3BB;=5");
+ nc_f_plotter.add(boost::math::non_central_f(10, 20, 10), "v1=10, v2=20, &#x3BB;=10");
+ nc_f_plotter.add(boost::math::non_central_f(10, 20, 40), "v1=10, v2=20, &#x3BB;=40");
+ nc_f_plotter.add(boost::math::non_central_f(10, 20, 100), "v1=10, v2=20, &#x3BB;=100");
+ nc_f_plotter.plot("Non Central F PDF", "nc_f_pdf.svg");
+
+ distribution_plotter<boost::math::non_central_t>
+ nc_t_plotter;
+ nc_t_plotter.add(boost::math::non_central_t(10, -10), "v=10, &#x3B4;=-10");
+ nc_t_plotter.add(boost::math::non_central_t(10, -5), "v=10, &#x3B4;=-5");
+ nc_t_plotter.add(boost::math::non_central_t(10, 0), "v=10, &#x3B4;=0");
+ nc_t_plotter.add(boost::math::non_central_t(10, 5), "v=10, &#x3B4;=5");
+ nc_t_plotter.add(boost::math::non_central_t(10, 10), "v=10, &#x3B4;=10");
+ nc_t_plotter.add(boost::math::non_central_t(std::numeric_limits<double>::infinity(), 15), "v=inf, &#x3B4;=15");
+ nc_t_plotter.plot("Non Central T PDF", "nc_t_pdf.svg");
+
+ distribution_plotter<boost::math::non_central_t>
+ nc_t_CDF_plotter(false);
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, -10), "v=10, &#x3B4;=-10");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, -5), "v=10, &#x3B4;=-5");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 0), "v=10, &#x3B4;=0");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 5), "v=10, &#x3B4;=5");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(10, 10), "v=10, &#x3B4;=10");
+ nc_t_CDF_plotter.add(boost::math::non_central_t(std::numeric_limits<double>::infinity(), 15), "v=inf, &#x3B4;=15");
+ nc_t_CDF_plotter.plot("Non Central T CDF", "nc_t_cdf.svg");
+
+ distribution_plotter<boost::math::beta_distribution<> >
+ beta_plotter;
+ beta_plotter.add(boost::math::beta_distribution<>(0.5, 0.5), "alpha=0.5, beta=0.5");
+ beta_plotter.add(boost::math::beta_distribution<>(5, 1), "alpha=5, beta=1");
+ beta_plotter.add(boost::math::beta_distribution<>(1, 3), "alpha=1, beta=3");
+ beta_plotter.add(boost::math::beta_distribution<>(2, 2), "alpha=2, beta=2");
+ beta_plotter.add(boost::math::beta_distribution<>(2, 5), "alpha=2, beta=5");
+ beta_plotter.plot("Beta Distribution PDF", "beta_pdf.svg");
+
+ distribution_plotter<boost::math::cauchy_distribution<> >
+ cauchy_plotter;
+ cauchy_plotter.add(boost::math::cauchy_distribution<>(-5, 1), "location = -5");
+ cauchy_plotter.add(boost::math::cauchy_distribution<>(0, 1), "location = 0");
+ cauchy_plotter.add(boost::math::cauchy_distribution<>(5, 1), "location = 5");
+ cauchy_plotter.plot("Cauchy Distribution PDF (scale = 1)", "cauchy_pdf1.svg");
+
+ distribution_plotter<boost::math::cauchy_distribution<> >
+ cauchy_plotter2;
+ cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 0.5), "scale = 0.5");
+ cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 1), "scale = 1");
+ cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 2), "scale = 2");
+ cauchy_plotter2.plot("Cauchy Distribution PDF (location = 0)", "cauchy_pdf2.svg");
+
+ distribution_plotter<boost::math::chi_squared_distribution<> >
+ chi_squared_plotter;
+ //chi_squared_plotter.add(boost::math::chi_squared_distribution<>(1), "v=1");
+ chi_squared_plotter.add(boost::math::chi_squared_distribution<>(2), "v=2");
+ chi_squared_plotter.add(boost::math::chi_squared_distribution<>(5), "v=5");
+ chi_squared_plotter.add(boost::math::chi_squared_distribution<>(10), "v=10");
+ chi_squared_plotter.plot("Chi Squared Distribution PDF", "chi_squared_pdf.svg");
+
+ distribution_plotter<boost::math::exponential_distribution<> >
+ exponential_plotter;
+ exponential_plotter.add(boost::math::exponential_distribution<>(0.5), "&#x3BB;=0.5");
+ exponential_plotter.add(boost::math::exponential_distribution<>(1), "&#x3BB;=1");
+ exponential_plotter.add(boost::math::exponential_distribution<>(2), "&#x3BB;=2");
+ exponential_plotter.plot("Exponential Distribution PDF", "exponential_pdf.svg");
+
+ distribution_plotter<boost::math::extreme_value_distribution<> >
+ extreme_value_plotter;
+ extreme_value_plotter.add(boost::math::extreme_value_distribution<>(-5), "location=-5");
+ extreme_value_plotter.add(boost::math::extreme_value_distribution<>(0), "location=0");
+ extreme_value_plotter.add(boost::math::extreme_value_distribution<>(5), "location=5");
+ extreme_value_plotter.plot("Extreme Value Distribution PDF (shape=1)", "extreme_value_pdf1.svg");
+
+ distribution_plotter<boost::math::extreme_value_distribution<> >
+ extreme_value_plotter2;
+ extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 0.5), "shape=0.5");
+ extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 1), "shape=1");
+ extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 2), "shape=2");
+ extreme_value_plotter2.plot("Extreme Value Distribution PDF (location=0)", "extreme_value_pdf2.svg");
+
+ distribution_plotter<boost::math::fisher_f_distribution<> >
+ fisher_f_plotter;
+ fisher_f_plotter.add(boost::math::fisher_f_distribution<>(4, 4), "n=4, m=4");
+ fisher_f_plotter.add(boost::math::fisher_f_distribution<>(10, 4), "n=10, m=4");
+ fisher_f_plotter.add(boost::math::fisher_f_distribution<>(10, 10), "n=10, m=10");
+ fisher_f_plotter.add(boost::math::fisher_f_distribution<>(4, 10), "n=4, m=10");
+ fisher_f_plotter.plot("F Distribution PDF", "fisher_f_pdf.svg");
+
+ distribution_plotter<boost::math::lognormal_distribution<> >
+ lognormal_plotter;
+ lognormal_plotter.add(boost::math::lognormal_distribution<>(-1), "location=-1");
+ lognormal_plotter.add(boost::math::lognormal_distribution<>(0), "location=0");
+ lognormal_plotter.add(boost::math::lognormal_distribution<>(1), "location=1");
+ lognormal_plotter.plot("Lognormal Distribution PDF (scale=1)", "lognormal_pdf1.svg");
+
+ distribution_plotter<boost::math::lognormal_distribution<> >
+ lognormal_plotter2;
+ lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 0.5), "scale=0.5");
+ lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 1), "scale=1");
+ lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 2), "scale=2");
+ lognormal_plotter2.plot("Lognormal Distribution PDF (location=0)", "lognormal_pdf2.svg");
+
+ distribution_plotter<boost::math::pareto_distribution<> >
+ pareto_plotter; // Rely on 2nd parameter shape = 1 default.
+ pareto_plotter.add(boost::math::pareto_distribution<>(1), "scale=1");
+ pareto_plotter.add(boost::math::pareto_distribution<>(2), "scale=2");
+ pareto_plotter.add(boost::math::pareto_distribution<>(3), "scale=3");
+ pareto_plotter.plot("Pareto Distribution PDF (shape=1)", "pareto_pdf1.svg");
+
+ distribution_plotter<boost::math::pareto_distribution<> >
+ pareto_plotter2;
+ pareto_plotter2.add(boost::math::pareto_distribution<>(1, 0.5), "shape=0.5");
+ pareto_plotter2.add(boost::math::pareto_distribution<>(1, 1), "shape=1");
+ pareto_plotter2.add(boost::math::pareto_distribution<>(1, 2), "shape=2");
+ pareto_plotter2.plot("Pareto Distribution PDF (scale=1)", "pareto_pdf2.svg");
+
+ distribution_plotter<boost::math::rayleigh_distribution<> >
+ rayleigh_plotter;
+ rayleigh_plotter.add(boost::math::rayleigh_distribution<>(0.5), "&#x3C3;=0.5");
+ rayleigh_plotter.add(boost::math::rayleigh_distribution<>(1), "&#x3C3;=1");
+ rayleigh_plotter.add(boost::math::rayleigh_distribution<>(2), "&#x3C3;=2");
+ rayleigh_plotter.add(boost::math::rayleigh_distribution<>(4), "&#x3C3;=4");
+ rayleigh_plotter.add(boost::math::rayleigh_distribution<>(10), "&#x3C3;=10");
+ rayleigh_plotter.plot("Rayleigh Distribution PDF", "rayleigh_pdf.svg");
+
+ distribution_plotter<boost::math::rayleigh_distribution<> >
+ rayleigh_cdf_plotter(false);
+ rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(0.5), "&#x3C3;=0.5");
+ rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(1), "&#x3C3;=1");
+ rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(2), "&#x3C3;=2");
+ rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(4), "&#x3C3;=4");
+ rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(10), "&#x3C3;=10");
+ rayleigh_cdf_plotter.plot("Rayleigh Distribution CDF", "rayleigh_cdf.svg");
+
+ distribution_plotter<boost::math::skew_normal_distribution<> >
+ skew_normal_plotter;
+ skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,0), "{0,1,0}");
+ skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,1), "{0,1,1}");
+ skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,4), "{0,1,4}");
+ skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,20), "{0,1,20}");
+ skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,-2), "{0,1,-2}");
+ skew_normal_plotter.add(boost::math::skew_normal_distribution<>(-2,0.5,-1), "{-2,0.5,-1}");
+ skew_normal_plotter.plot("Skew Normal Distribution PDF", "skew_normal_pdf.svg");
+
+ distribution_plotter<boost::math::skew_normal_distribution<> >
+ skew_normal_cdf_plotter(false);
+ skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,0), "{0,1,0}");
+ skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,1), "{0,1,1}");
+ skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,4), "{0,1,4}");
+ skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,20), "{0,1,20}");
+ skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,-2), "{0,1,-2}");
+ skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(-2,0.5,-1), "{-2,0.5,-1}");
+ skew_normal_cdf_plotter.plot("Skew Normal Distribution CDF", "skew_normal_cdf.svg");
+
+ distribution_plotter<boost::math::triangular_distribution<> >
+ triangular_plotter;
+ triangular_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}");
+ triangular_plotter.add(boost::math::triangular_distribution<>(0,1,1), "{0,1,1}");
+ triangular_plotter.add(boost::math::triangular_distribution<>(0,1,3), "{0,1,3}");
+ triangular_plotter.add(boost::math::triangular_distribution<>(0,0.5,1), "{0,0.5,1}");
+ triangular_plotter.add(boost::math::triangular_distribution<>(-2,0,3), "{-2,0,3}");
+ triangular_plotter.plot("Triangular Distribution PDF", "triangular_pdf.svg");
+
+ distribution_plotter<boost::math::triangular_distribution<> >
+ triangular_cdf_plotter(false);
+ triangular_cdf_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}");
+ triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,1,1), "{0,1,1}");
+ triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,1,3), "{0,1,3}");
+ triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,0.5,1), "{0,0.5,1}");
+ triangular_cdf_plotter.add(boost::math::triangular_distribution<>(-2,0,3), "{-2,0,3}");
+ triangular_cdf_plotter.plot("Triangular Distribution CDF", "triangular_cdf.svg");
+
+ distribution_plotter<boost::math::students_t_distribution<> >
+ students_t_plotter;
+ students_t_plotter.add(boost::math::students_t_distribution<>(1), "v=1");
+ students_t_plotter.add(boost::math::students_t_distribution<>(5), "v=5");
+ students_t_plotter.add(boost::math::students_t_distribution<>(30), "v=30");
+ students_t_plotter.plot("Students T Distribution PDF", "students_t_pdf.svg");
+
+ distribution_plotter<boost::math::weibull_distribution<> >
+ weibull_plotter;
+ weibull_plotter.add(boost::math::weibull_distribution<>(0.75), "shape=0.75");
+ weibull_plotter.add(boost::math::weibull_distribution<>(1), "shape=1");
+ weibull_plotter.add(boost::math::weibull_distribution<>(5), "shape=5");
+ weibull_plotter.add(boost::math::weibull_distribution<>(10), "shape=10");
+ weibull_plotter.plot("Weibull Distribution PDF (scale=1)", "weibull_pdf1.svg");
+
+ distribution_plotter<boost::math::weibull_distribution<> >
+ weibull_plotter2;
+ weibull_plotter2.add(boost::math::weibull_distribution<>(3, 0.5), "scale=0.5");
+ weibull_plotter2.add(boost::math::weibull_distribution<>(3, 1), "scale=1");
+ weibull_plotter2.add(boost::math::weibull_distribution<>(3, 2), "scale=2");
+ weibull_plotter2.plot("Weibull Distribution PDF (shape=3)", "weibull_pdf2.svg");
+
+ distribution_plotter<boost::math::uniform_distribution<> >
+ uniform_plotter;
+ uniform_plotter.add(boost::math::uniform_distribution<>(0, 1), "{0,1}");
+ uniform_plotter.add(boost::math::uniform_distribution<>(0, 3), "{0,3}");
+ uniform_plotter.add(boost::math::uniform_distribution<>(-2, 3), "{-2,3}");
+ uniform_plotter.add(boost::math::uniform_distribution<>(-1, 1), "{-1,1}");
+ uniform_plotter.plot("Uniform Distribution PDF", "uniform_pdf.svg");
+
+ distribution_plotter<boost::math::uniform_distribution<> >
+ uniform_cdf_plotter(false);
+ uniform_cdf_plotter.add(boost::math::uniform_distribution<>(0, 1), "{0,1}");
+ uniform_cdf_plotter.add(boost::math::uniform_distribution<>(0, 3), "{0,3}");
+ uniform_cdf_plotter.add(boost::math::uniform_distribution<>(-2, 3), "{-2,3}");
+ uniform_cdf_plotter.add(boost::math::uniform_distribution<>(-1, 1), "{-1,1}");
+ uniform_cdf_plotter.plot("Uniform Distribution CDF", "uniform_cdf.svg");
+
+ distribution_plotter<boost::math::bernoulli_distribution<> >
+ bernoulli_plotter;
+ bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.25), "p=0.25");
+ bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.5), "p=0.5");
+ bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.75), "p=0.75");
+ bernoulli_plotter.plot("Bernoulli Distribution PDF", "bernoulli_pdf.svg");
+
+ distribution_plotter<boost::math::bernoulli_distribution<> >
+ bernoulli_cdf_plotter(false);
+ bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.25), "p=0.25");
+ bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.5), "p=0.5");
+ bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.75), "p=0.75");
+ bernoulli_cdf_plotter.plot("Bernoulli Distribution CDF", "bernoulli_cdf.svg");
+
+ distribution_plotter<boost::math::binomial_distribution<> >
+ binomial_plotter;
+ binomial_plotter.add(boost::math::binomial_distribution<>(5, 0.5), "n=5 p=0.5");
+ binomial_plotter.add(boost::math::binomial_distribution<>(20, 0.5), "n=20 p=0.5");
+ binomial_plotter.add(boost::math::binomial_distribution<>(50, 0.5), "n=50 p=0.5");
+ binomial_plotter.plot("Binomial Distribution PDF", "binomial_pdf_1.svg");
+
+ distribution_plotter<boost::math::binomial_distribution<> >
+ binomial_plotter2;
+ binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.1), "n=20 p=0.1");
+ binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.5), "n=20 p=0.5");
+ binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.9), "n=20 p=0.9");
+ binomial_plotter2.plot("Binomial Distribution PDF", "binomial_pdf_2.svg");
+
+ distribution_plotter<boost::math::negative_binomial_distribution<> >
+ negative_binomial_plotter;
+ negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.25), "n=20 p=0.25");
+ negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.5), "n=20 p=0.5");
+ negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.75), "n=20 p=0.75");
+ negative_binomial_plotter.plot("Negative Binomial Distribution PDF", "negative_binomial_pdf_1.svg");
+
+ distribution_plotter<boost::math::negative_binomial_distribution<> >
+ negative_binomial_plotter2;
+ negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(10, 0.5), "n=10 p=0.5");
+ negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(20, 0.5), "n=20 p=0.5");
+ negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(70, 0.5), "n=70 p=0.5");
+ negative_binomial_plotter2.plot("Negative Binomial Distribution PDF", "negative_binomial_pdf_2.svg");
+
+ distribution_plotter<boost::math::poisson_distribution<> >
+ poisson_plotter;
+ poisson_plotter.add(boost::math::poisson_distribution<>(5), "&#x3BB;=5");
+ poisson_plotter.add(boost::math::poisson_distribution<>(10), "&#x3BB;=10");
+ poisson_plotter.add(boost::math::poisson_distribution<>(20), "&#x3BB;=20");
+ poisson_plotter.plot("Poisson Distribution PDF", "poisson_pdf_1.svg");
+
+ distribution_plotter<boost::math::hypergeometric_distribution<> >
+ hypergeometric_plotter;
+ hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 50, 500), "N=500, r=50, n=30");
+ hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 100, 500), "N=500, r=100, n=30");
+ hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 250, 500), "N=500, r=250, n=30");
+ hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 400, 500), "N=500, r=400, n=30");
+ hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 450, 500), "N=500, r=450, n=30");
+ hypergeometric_plotter.plot("Hypergeometric Distribution PDF", "hypergeometric_pdf_1.svg");
+
+ distribution_plotter<boost::math::hypergeometric_distribution<> >
+ hypergeometric_plotter2;
+ hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(50, 50, 500), "N=500, r=50, n=50");
+ hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(100, 50, 500), "N=500, r=50, n=100");
+ hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(250, 50, 500), "N=500, r=50, n=250");
+ hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(400, 50, 500), "N=500, r=50, n=400");
+ hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(450, 50, 500), "N=500, r=50, n=450");
+ hypergeometric_plotter2.plot("Hypergeometric Distribution PDF", "hypergeometric_pdf_2.svg");
+
+ distribution_plotter<boost::math::hyperexponential_distribution<> >
+ hyperexponential_plotter;
+ {
+ const double probs1_1[] = {1.0};
+ const double rates1_1[] = {1.0};
+ hyperexponential_plotter.add(boost::math::hyperexponential_distribution<>(probs1_1,rates1_1), "&#x3B1=(1.0), &#x3BB=(1.0)");
+ const double probs2_1[] = {0.1,0.9};
+ const double rates2_1[] = {0.5,1.5};
+ hyperexponential_plotter.add(boost::math::hyperexponential_distribution<>(probs2_1,rates2_1), "&#x3B1=(0.1,0.9), &#x3BB=(0.5,1.5)");
+ const double probs2_2[] = {0.9,0.1};
+ const double rates2_2[] = {0.5,1.5};
+ hyperexponential_plotter.add(boost::math::hyperexponential_distribution<>(probs2_2,rates2_2), "&#x3B1=(0.9,0.1), &#x3BB=(0.5,1.5)");
+ const double probs3_1[] = {0.2,0.3,0.5};
+ const double rates3_1[] = {0.5,1.0,1.5};
+ hyperexponential_plotter.add(boost::math::hyperexponential_distribution<>(probs3_1,rates3_1), "&#x3B1=(0.2,0.3,0.5), &#x3BB=(0.5,1.0,1.5)");
+ const double probs3_2[] = {0.5,0.3,0.2};
+ const double rates3_2[] = {0.5,1.0,1.5};
+ hyperexponential_plotter.add(boost::math::hyperexponential_distribution<>(probs3_1,rates3_1), "&#x3B1=(0.5,0.3,0.2), &#x3BB=(0.5,1.0,1.5)");
+ }
+ hyperexponential_plotter.plot("Hyperexponential Distribution PDF", "hyperexponential_pdf.svg");
+
+ distribution_plotter<boost::math::hyperexponential_distribution<> >
+ hyperexponential_plotter2;
+ {
+ const double rates[] = {0.5,1.5};
+ const double probs1[] = {0.1,0.9};
+ hyperexponential_plotter2.add(boost::math::hyperexponential_distribution<>(probs1,rates), "&#x3B1=(0.1,0.9), &#x3BB=(0.5,1.5)");
+ const double probs2[] = {0.6,0.4};
+ hyperexponential_plotter2.add(boost::math::hyperexponential_distribution<>(probs2,rates), "&#x3B1=(0.6,0.4), &#x3BB=(0.5,1.5)");
+ const double probs3[] = {0.9,0.1};
+ hyperexponential_plotter2.add(boost::math::hyperexponential_distribution<>(probs3,rates), "&#x3B1=(0.9,0.1), &#x3BB=(0.5,1.5)");
+ }
+ hyperexponential_plotter2.plot("Hyperexponential Distribution PDF (Different Probabilities, Same Rates)", "hyperexponential_pdf_samerate.svg");
+
+ distribution_plotter<boost::math::hyperexponential_distribution<> >
+ hyperexponential_plotter3;
+ {
+ const double probs1[] = {1.0};
+ const double rates1[] = {2.0};
+ hyperexponential_plotter3.add(boost::math::hyperexponential_distribution<>(probs1,rates1), "&#x3B1=(1.0), &#x3BB=(2.0)");
+ const double probs2[] = {0.5,0.5};
+ const double rates2[] = {0.3,1.5};
+ hyperexponential_plotter3.add(boost::math::hyperexponential_distribution<>(probs2_1,rates2_1), "&#x3B1=(0.5,0.5), &#x3BB=(0.3,1.5)");
+ const double probs3[] = {1.0/3.0,1.0/3.0,1.0/3.0};
+ const double rates3[] = {0.2,1.5,3.0};
+ hyperexponential_plotter3.add(boost::math::hyperexponential_distribution<>(probs2_2,rates2_2), "&#x3B1=(1.0/3.0,1.0/3.0,1.0/3.0), &#x3BB=(0.2,1.5,3.0)");
+ }
+ hyperexponential_plotter3.plot("Hyperexponential Distribution PDF (Different Number of Phases, Same Mean)", "hyperexponential_pdf_samemean.svg");
+
+} // int main()
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_1.png b/libs/math/doc/graphs/ellint_1.png
index 84baedf485..84baedf485 100644
--- a/libs/math/doc/sf_and_dist/graphs/ellint_1.png
+++ b/libs/math/doc/graphs/ellint_1.png
Binary files differ
diff --git a/libs/math/doc/graphs/ellint_1.svg b/libs/math/doc/graphs/ellint_1.svg
new file mode 100644
index 0000000000..960b6d4315
--- /dev/null
+++ b/libs/math/doc/graphs/ellint_1.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,321.5 L84.2,321.5 M82.2,302 L84.2,302 M82.2,282.6 L84.2,282.6 M82.2,243.6 L84.2,243.6 M82.2,224.1 L84.2,224.1 M82.2,204.7 L84.2,204.7 M82.2,165.7 L84.2,165.7 M82.2,146.2 L84.2,146.2 M82.2,126.7 L84.2,126.7 M82.2,87.79 L84.2,87.79 M82.2,68.31 L84.2,68.31 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M290.1,341 L290.1,343 M315.2,341 L315.2,343 M340.3,341 L340.3,343 M390.5,341 L390.5,343 M415.6,341 L415.6,343 M440.7,341 L440.7,343 M239.9,341 L239.9,343 M214.8,341 L214.8,343 M189.6,341 L189.6,343 M139.4,341 L139.4,343 M114.3,341 L114.3,343 M89.22,341 L89.22,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,263.1 L84.2,263.1 M79.2,185.2 L84.2,185.2 M79.2,107.3 L84.2,107.3 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M365.4,341 L365.4,346 M265,341 L265,346 M164.5,341 L164.5,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="365.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="164.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="265.5" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="187.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="109.7" text-anchor="end" font-size="12" font-family="Verdana">2</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ellint_1(k, phi)</text></g>
+<g id="xLabel">
+<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,338.3 L86.01,338.3 L87.82,338.4 L89.62,338.4 L91.43,338.5 L93.24,338.5 L95.05,338.6 L96.85,338.7 L98.66,338.7 L100.5,338.8 L102.3,338.8 L104.1,338.9 L105.9,338.9 L107.7,339 L109.5,339 L111.3,339.1 L113.1,339.1 L114.9,339.2 L116.7,339.2 L118.5,339.3 L120.4,339.3 L122.2,339.3 L124,339.4 L125.8,339.4 L127.6,339.5 L129.4,339.5 L131.2,339.6 L133,339.6 L134.8,339.6 L136.6,339.7 L138.4,339.7 L140.2,339.8 L142,339.8 L143.9,339.8 L145.7,339.9 L147.5,339.9 L149.3,339.9 L151.1,340 L152.9,340 L154.7,340 L156.5,340.1 L158.3,340.1 L160.1,340.1 L161.9,340.2 L163.7,340.2 L165.5,340.2 L167.4,340.3 L169.2,340.3 L171,340.3 L172.8,340.3 L174.6,340.4 L176.4,340.4 L178.2,340.4 L180,340.4 L181.8,340.5 L183.6,340.5 L185.4,340.5 L187.2,340.5 L189,340.6 L190.9,340.6 L192.7,340.6 L194.5,340.6 L196.3,340.6 L198.1,340.7 L199.9,340.7 L201.7,340.7 L203.5,340.7 L205.3,340.7 L207.1,340.7 L208.9,340.8 L210.7,340.8 L212.5,340.8 L214.4,340.8 L216.2,340.8 L218,340.8 L219.8,340.8 L221.6,340.9 L223.4,340.9 L225.2,340.9 L227,340.9 L228.8,340.9 L230.6,340.9 L232.4,340.9 L234.2,340.9 L236,340.9 L237.9,340.9 L239.7,341 L241.5,341 L243.3,341 L245.1,341 L246.9,341 L248.7,341 L250.5,341 L252.3,341 L254.1,341 L255.9,341 L257.7,341 L259.5,341 L261.3,341 L263.2,341 L265,341 L266.8,341 L268.6,341 L270.4,341 L272.2,341 L274,341 L275.8,341 L277.6,341 L279.4,341 L281.2,341 L283,341 L284.8,341 L286.7,341 L288.5,341 L290.3,341 L292.1,340.9 L293.9,340.9 L295.7,340.9 L297.5,340.9 L299.3,340.9 L301.1,340.9 L302.9,340.9 L304.7,340.9 L306.5,340.9 L308.3,340.9 L310.2,340.8 L312,340.8 L313.8,340.8 L315.6,340.8 L317.4,340.8 L319.2,340.8 L321,340.8 L322.8,340.7 L324.6,340.7 L326.4,340.7 L328.2,340.7 L330,340.7 L331.8,340.7 L333.7,340.6 L335.5,340.6 L337.3,340.6 L339.1,340.6 L340.9,340.6 L342.7,340.5 L344.5,340.5 L346.3,340.5 L348.1,340.5 L349.9,340.4 L351.7,340.4 L353.5,340.4 L355.3,340.4 L357.2,340.3 L359,340.3 L360.8,340.3 L362.6,340.3 L364.4,340.2 L366.2,340.2 L368,340.2 L369.8,340.1 L371.6,340.1 L373.4,340.1 L375.2,340 L377,340 L378.8,340 L380.7,339.9 L382.5,339.9 L384.3,339.9 L386.1,339.8 L387.9,339.8 L389.7,339.8 L391.5,339.7 L393.3,339.7 L395.1,339.6 L396.9,339.6 L398.7,339.6 L400.5,339.5 L402.3,339.5 L404.2,339.4 L406,339.4 L407.8,339.3 L409.6,339.3 L411.4,339.3 L413.2,339.2 L415,339.2 L416.8,339.1 L418.6,339.1 L420.4,339 L422.2,339 L424,338.9 L425.8,338.9 L427.7,338.8 L429.5,338.8 L431.3,338.7 L433.1,338.7 L434.9,338.6 L436.7,338.5 L438.5,338.5 L440.3,338.4 L442.1,338.4 L443.9,338.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,292.3 L86.01,292.5 L87.82,292.8 L89.62,293 L91.43,293.2 L93.24,293.4 L95.05,293.7 L96.85,293.9 L98.66,294.1 L100.5,294.3 L102.3,294.5 L104.1,294.7 L105.9,294.9 L107.7,295.1 L109.5,295.3 L111.3,295.4 L113.1,295.6 L114.9,295.8 L116.7,296 L118.5,296.1 L120.4,296.3 L122.2,296.5 L124,296.6 L125.8,296.8 L127.6,296.9 L129.4,297.1 L131.2,297.2 L133,297.4 L134.8,297.5 L136.6,297.6 L138.4,297.8 L140.2,297.9 L142,298 L143.9,298.2 L145.7,298.3 L147.5,298.4 L149.3,298.5 L151.1,298.7 L152.9,298.8 L154.7,298.9 L156.5,299 L158.3,299.1 L160.1,299.2 L161.9,299.3 L163.7,299.4 L165.5,299.5 L167.4,299.6 L169.2,299.7 L171,299.8 L172.8,299.9 L174.6,300 L176.4,300.1 L178.2,300.1 L180,300.2 L181.8,300.3 L183.6,300.4 L185.4,300.5 L187.2,300.5 L189,300.6 L190.9,300.7 L192.7,300.7 L194.5,300.8 L196.3,300.9 L198.1,300.9 L199.9,301 L201.7,301.1 L203.5,301.1 L205.3,301.2 L207.1,301.2 L208.9,301.3 L210.7,301.3 L212.5,301.4 L214.4,301.4 L216.2,301.5 L218,301.5 L219.8,301.5 L221.6,301.6 L223.4,301.6 L225.2,301.7 L227,301.7 L228.8,301.7 L230.6,301.8 L232.4,301.8 L234.2,301.8 L236,301.8 L237.9,301.9 L239.7,301.9 L241.5,301.9 L243.3,301.9 L245.1,301.9 L246.9,302 L248.7,302 L250.5,302 L252.3,302 L254.1,302 L255.9,302 L257.7,302 L259.5,302 L261.3,302 L263.2,302 L265,302 L266.8,302 L268.6,302 L270.4,302 L272.2,302 L274,302 L275.8,302 L277.6,302 L279.4,302 L281.2,302 L283,302 L284.8,301.9 L286.7,301.9 L288.5,301.9 L290.3,301.9 L292.1,301.9 L293.9,301.8 L295.7,301.8 L297.5,301.8 L299.3,301.8 L301.1,301.7 L302.9,301.7 L304.7,301.7 L306.5,301.6 L308.3,301.6 L310.2,301.5 L312,301.5 L313.8,301.5 L315.6,301.4 L317.4,301.4 L319.2,301.3 L321,301.3 L322.8,301.2 L324.6,301.2 L326.4,301.1 L328.2,301.1 L330,301 L331.8,300.9 L333.7,300.9 L335.5,300.8 L337.3,300.7 L339.1,300.7 L340.9,300.6 L342.7,300.5 L344.5,300.5 L346.3,300.4 L348.1,300.3 L349.9,300.2 L351.7,300.1 L353.5,300.1 L355.3,300 L357.2,299.9 L359,299.8 L360.8,299.7 L362.6,299.6 L364.4,299.5 L366.2,299.4 L368,299.3 L369.8,299.2 L371.6,299.1 L373.4,299 L375.2,298.9 L377,298.8 L378.8,298.7 L380.7,298.5 L382.5,298.4 L384.3,298.3 L386.1,298.2 L387.9,298 L389.7,297.9 L391.5,297.8 L393.3,297.6 L395.1,297.5 L396.9,297.4 L398.7,297.2 L400.5,297.1 L402.3,296.9 L404.2,296.8 L406,296.6 L407.8,296.5 L409.6,296.3 L411.4,296.1 L413.2,296 L415,295.8 L416.8,295.6 L418.6,295.4 L420.4,295.3 L422.2,295.1 L424,294.9 L425.8,294.7 L427.7,294.5 L429.5,294.3 L431.3,294.1 L433.1,293.9 L434.9,293.7 L436.7,293.4 L438.5,293.2 L440.3,293 L442.1,292.8 L443.9,292.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,171.3 L86.01,173.3 L87.82,175.2 L89.62,177 L91.43,178.8 L93.24,180.4 L95.05,182 L96.85,183.5 L98.66,184.9 L100.5,186.3 L102.3,187.6 L104.1,188.9 L105.9,190.1 L107.7,191.2 L109.5,192.4 L111.3,193.4 L113.1,194.5 L114.9,195.5 L116.7,196.5 L118.5,197.4 L120.4,198.3 L122.2,199.2 L124,200 L125.8,200.9 L127.6,201.7 L129.4,202.4 L131.2,203.2 L133,203.9 L134.8,204.6 L136.6,205.3 L138.4,205.9 L140.2,206.6 L142,207.2 L143.9,207.8 L145.7,208.4 L147.5,209 L149.3,209.5 L151.1,210.1 L152.9,210.6 L154.7,211.1 L156.5,211.6 L158.3,212.1 L160.1,212.5 L161.9,213 L163.7,213.4 L165.5,213.9 L167.4,214.3 L169.2,214.7 L171,215.1 L172.8,215.5 L174.6,215.8 L176.4,216.2 L178.2,216.6 L180,216.9 L181.8,217.2 L183.6,217.6 L185.4,217.9 L187.2,218.2 L189,218.5 L190.9,218.7 L192.7,219 L194.5,219.3 L196.3,219.6 L198.1,219.8 L199.9,220 L201.7,220.3 L203.5,220.5 L205.3,220.7 L207.1,220.9 L208.9,221.1 L210.7,221.3 L212.5,221.5 L214.4,221.7 L216.2,221.9 L218,222.1 L219.8,222.2 L221.6,222.4 L223.4,222.5 L225.2,222.7 L227,222.8 L228.8,222.9 L230.6,223 L232.4,223.1 L234.2,223.3 L236,223.4 L237.9,223.5 L239.7,223.5 L241.5,223.6 L243.3,223.7 L245.1,223.8 L246.9,223.8 L248.7,223.9 L250.5,223.9 L252.3,224 L254.1,224 L255.9,224.1 L257.7,224.1 L259.5,224.1 L261.3,224.1 L263.2,224.1 L265,224.1 L266.8,224.1 L268.6,224.1 L270.4,224.1 L272.2,224.1 L274,224.1 L275.8,224 L277.6,224 L279.4,223.9 L281.2,223.9 L283,223.8 L284.8,223.8 L286.7,223.7 L288.5,223.6 L290.3,223.5 L292.1,223.5 L293.9,223.4 L295.7,223.3 L297.5,223.1 L299.3,223 L301.1,222.9 L302.9,222.8 L304.7,222.7 L306.5,222.5 L308.3,222.4 L310.2,222.2 L312,222.1 L313.8,221.9 L315.6,221.7 L317.4,221.5 L319.2,221.3 L321,221.1 L322.8,220.9 L324.6,220.7 L326.4,220.5 L328.2,220.3 L330,220 L331.8,219.8 L333.7,219.6 L335.5,219.3 L337.3,219 L339.1,218.7 L340.9,218.5 L342.7,218.2 L344.5,217.9 L346.3,217.6 L348.1,217.2 L349.9,216.9 L351.7,216.6 L353.5,216.2 L355.3,215.8 L357.2,215.5 L359,215.1 L360.8,214.7 L362.6,214.3 L364.4,213.9 L366.2,213.4 L368,213 L369.8,212.5 L371.6,212.1 L373.4,211.6 L375.2,211.1 L377,210.6 L378.8,210.1 L380.7,209.5 L382.5,209 L384.3,208.4 L386.1,207.8 L387.9,207.2 L389.7,206.6 L391.5,205.9 L393.3,205.3 L395.1,204.6 L396.9,203.9 L398.7,203.2 L400.5,202.4 L402.3,201.7 L404.2,200.9 L406,200 L407.8,199.2 L409.6,198.3 L411.4,197.4 L413.2,196.5 L415,195.5 L416.8,194.5 L418.6,193.4 L420.4,192.4 L422.2,191.2 L424,190.1 L425.8,188.9 L427.7,187.6 L429.5,186.3 L431.3,184.9 L433.1,183.5 L434.9,182 L436.7,180.4 L438.5,178.8 L440.3,177 L442.1,175.2 L443.9,173.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,63.55 L86.01,69.32 L87.82,74.58 L89.62,79.4 L91.43,83.85 L93.24,87.97 L95.05,91.81 L96.85,95.39 L98.66,98.75 L100.5,101.9 L102.3,104.9 L104.1,107.7 L105.9,110.4 L107.7,112.9 L109.5,115.3 L111.3,117.6 L113.1,119.7 L114.9,121.8 L116.7,123.8 L118.5,125.7 L120.4,127.5 L122.2,129.3 L124,130.9 L125.8,132.6 L127.6,134.1 L129.4,135.6 L131.2,137 L133,138.4 L134.8,139.7 L136.6,141 L138.4,142.3 L140.2,143.5 L142,144.6 L143.9,145.7 L145.7,146.8 L147.5,147.9 L149.3,148.9 L151.1,149.9 L152.9,150.8 L154.7,151.7 L156.5,152.6 L158.3,153.5 L160.1,154.3 L161.9,155.1 L163.7,155.9 L165.5,156.7 L167.4,157.4 L169.2,158.1 L171,158.8 L172.8,159.5 L174.6,160.1 L176.4,160.7 L178.2,161.3 L180,161.9 L181.8,162.5 L183.6,163.1 L185.4,163.6 L187.2,164.1 L189,164.6 L190.9,165.1 L192.7,165.6 L194.5,166 L196.3,166.5 L198.1,166.9 L199.9,167.3 L201.7,167.7 L203.5,168.1 L205.3,168.5 L207.1,168.8 L208.9,169.2 L210.7,169.5 L212.5,169.8 L214.4,170.1 L216.2,170.4 L218,170.7 L219.8,171 L221.6,171.2 L223.4,171.5 L225.2,171.7 L227,171.9 L228.8,172.1 L230.6,172.3 L232.4,172.5 L234.2,172.7 L236,172.9 L237.9,173 L239.7,173.2 L241.5,173.3 L243.3,173.4 L245.1,173.5 L246.9,173.6 L248.7,173.7 L250.5,173.8 L252.3,173.9 L254.1,174 L255.9,174 L257.7,174.1 L259.5,174.1 L261.3,174.1 L263.2,174.1 L265,174.1 L266.8,174.1 L268.6,174.1 L270.4,174.1 L272.2,174.1 L274,174 L275.8,174 L277.6,173.9 L279.4,173.8 L281.2,173.7 L283,173.6 L284.8,173.5 L286.7,173.4 L288.5,173.3 L290.3,173.2 L292.1,173 L293.9,172.9 L295.7,172.7 L297.5,172.5 L299.3,172.3 L301.1,172.1 L302.9,171.9 L304.7,171.7 L306.5,171.5 L308.3,171.2 L310.2,171 L312,170.7 L313.8,170.4 L315.6,170.1 L317.4,169.8 L319.2,169.5 L321,169.2 L322.8,168.8 L324.6,168.5 L326.4,168.1 L328.2,167.7 L330,167.3 L331.8,166.9 L333.7,166.5 L335.5,166 L337.3,165.6 L339.1,165.1 L340.9,164.6 L342.7,164.1 L344.5,163.6 L346.3,163.1 L348.1,162.5 L349.9,161.9 L351.7,161.3 L353.5,160.7 L355.3,160.1 L357.2,159.5 L359,158.8 L360.8,158.1 L362.6,157.4 L364.4,156.7 L366.2,155.9 L368,155.1 L369.8,154.3 L371.6,153.5 L373.4,152.6 L375.2,151.7 L377,150.8 L378.8,149.9 L380.7,148.9 L382.5,147.9 L384.3,146.8 L386.1,145.7 L387.9,144.6 L389.7,143.5 L391.5,142.3 L393.3,141 L395.1,139.7 L396.9,138.4 L398.7,137 L400.5,135.6 L402.3,134.1 L404.2,132.6 L406,130.9 L407.8,129.3 L409.6,127.5 L411.4,125.7 L413.2,123.8 L415,121.8 L416.8,119.7 L418.6,117.6 L420.4,115.3 L422.2,112.9 L424,110.4 L425.8,107.7 L427.7,104.9 L429.5,101.9 L431.3,98.75 L433.1,95.39 L434.9,91.81 L436.7,87.97 L438.5,83.85 L440.3,79.4 L442.1,74.58 L443.9,69.32 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="126"/><rect x="467" y="58" width="107" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">&#x3C6;=0.5</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">&#x3C6;=0.75</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">&#x3C6;=1.25</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">&#x3C6;=&#x3C0;/2</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Of the First Kind</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_2.png b/libs/math/doc/graphs/ellint_2.png
index c044278990..c044278990 100644
--- a/libs/math/doc/sf_and_dist/graphs/ellint_2.png
+++ b/libs/math/doc/graphs/ellint_2.png
Binary files differ
diff --git a/libs/math/doc/graphs/ellint_2.svg b/libs/math/doc/graphs/ellint_2.svg
new file mode 100644
index 0000000000..f2959e4749
--- /dev/null
+++ b/libs/math/doc/graphs/ellint_2.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,304 L84.2,304 M82.2,272.2 L84.2,272.2 M82.2,240.4 L84.2,240.4 M82.2,176.9 L84.2,176.9 M82.2,145.1 L84.2,145.1 M82.2,113.3 L84.2,113.3 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 M242.4,341 L242.4,343 M219.8,341 L219.8,343 M197.2,341 L197.2,343 M152,341 L152,343 M129.4,341 L129.4,343 M106.8,341 L106.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,335.8 L84.2,335.8 M79.2,208.7 L84.2,208.7 M79.2,81.55 L84.2,81.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M265,341 L265,346 M174.6,341 L174.6,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="338.2" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="211.1" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="83.95" text-anchor="end" font-size="12" font-family="Verdana">1.5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ellint_2(k, phi)</text></g>
+<g id="xLabel">
+<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.01,340.9 L87.82,340.8 L89.62,340.7 L91.43,340.6 L93.24,340.5 L95.05,340.4 L96.85,340.3 L98.66,340.2 L100.5,340.1 L102.3,340 L104.1,339.9 L105.9,339.8 L107.7,339.7 L109.5,339.6 L111.3,339.5 L113.1,339.4 L114.9,339.3 L116.7,339.2 L118.5,339.2 L120.4,339.1 L122.2,339 L124,338.9 L125.8,338.8 L127.6,338.7 L129.4,338.7 L131.2,338.6 L133,338.5 L134.8,338.4 L136.6,338.4 L138.4,338.3 L140.2,338.2 L142,338.1 L143.9,338.1 L145.7,338 L147.5,337.9 L149.3,337.9 L151.1,337.8 L152.9,337.7 L154.7,337.7 L156.5,337.6 L158.3,337.5 L160.1,337.5 L161.9,337.4 L163.7,337.4 L165.5,337.3 L167.4,337.3 L169.2,337.2 L171,337.1 L172.8,337.1 L174.6,337 L176.4,337 L178.2,336.9 L180,336.9 L181.8,336.8 L183.6,336.8 L185.4,336.8 L187.2,336.7 L189,336.7 L190.9,336.6 L192.7,336.6 L194.5,336.5 L196.3,336.5 L198.1,336.5 L199.9,336.4 L201.7,336.4 L203.5,336.4 L205.3,336.3 L207.1,336.3 L208.9,336.3 L210.7,336.2 L212.5,336.2 L214.4,336.2 L216.2,336.1 L218,336.1 L219.8,336.1 L221.6,336.1 L223.4,336 L225.2,336 L227,336 L228.8,336 L230.6,336 L232.4,335.9 L234.2,335.9 L236,335.9 L237.9,335.9 L239.7,335.9 L241.5,335.9 L243.3,335.8 L245.1,335.8 L246.9,335.8 L248.7,335.8 L250.5,335.8 L252.3,335.8 L254.1,335.8 L255.9,335.8 L257.7,335.8 L259.5,335.8 L261.3,335.8 L263.2,335.8 L265,335.8 L266.8,335.8 L268.6,335.8 L270.4,335.8 L272.2,335.8 L274,335.8 L275.8,335.8 L277.6,335.8 L279.4,335.8 L281.2,335.8 L283,335.8 L284.8,335.8 L286.7,335.8 L288.5,335.9 L290.3,335.9 L292.1,335.9 L293.9,335.9 L295.7,335.9 L297.5,335.9 L299.3,336 L301.1,336 L302.9,336 L304.7,336 L306.5,336 L308.3,336.1 L310.2,336.1 L312,336.1 L313.8,336.1 L315.6,336.2 L317.4,336.2 L319.2,336.2 L321,336.3 L322.8,336.3 L324.6,336.3 L326.4,336.4 L328.2,336.4 L330,336.4 L331.8,336.5 L333.7,336.5 L335.5,336.5 L337.3,336.6 L339.1,336.6 L340.9,336.7 L342.7,336.7 L344.5,336.8 L346.3,336.8 L348.1,336.8 L349.9,336.9 L351.7,336.9 L353.5,337 L355.3,337 L357.2,337.1 L359,337.1 L360.8,337.2 L362.6,337.3 L364.4,337.3 L366.2,337.4 L368,337.4 L369.8,337.5 L371.6,337.5 L373.4,337.6 L375.2,337.7 L377,337.7 L378.8,337.8 L380.7,337.9 L382.5,337.9 L384.3,338 L386.1,338.1 L387.9,338.1 L389.7,338.2 L391.5,338.3 L393.3,338.4 L395.1,338.4 L396.9,338.5 L398.7,338.6 L400.5,338.7 L402.3,338.7 L404.2,338.8 L406,338.9 L407.8,339 L409.6,339.1 L411.4,339.2 L413.2,339.2 L415,339.3 L416.8,339.4 L418.6,339.5 L420.4,339.6 L422.2,339.7 L424,339.8 L425.8,339.9 L427.7,340 L429.5,340.1 L431.3,340.2 L433.1,340.3 L434.9,340.4 L436.7,340.5 L438.5,340.6 L440.3,340.7 L442.1,340.8 L443.9,340.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,289.6 L86.01,289.2 L87.82,288.8 L89.62,288.5 L91.43,288.1 L93.24,287.7 L95.05,287.4 L96.85,287 L98.66,286.7 L100.5,286.4 L102.3,286 L104.1,285.7 L105.9,285.4 L107.7,285.1 L109.5,284.8 L111.3,284.4 L113.1,284.1 L114.9,283.8 L116.7,283.5 L118.5,283.3 L120.4,283 L122.2,282.7 L124,282.4 L125.8,282.1 L127.6,281.9 L129.4,281.6 L131.2,281.3 L133,281.1 L134.8,280.8 L136.6,280.6 L138.4,280.3 L140.2,280.1 L142,279.9 L143.9,279.6 L145.7,279.4 L147.5,279.2 L149.3,279 L151.1,278.7 L152.9,278.5 L154.7,278.3 L156.5,278.1 L158.3,277.9 L160.1,277.7 L161.9,277.5 L163.7,277.3 L165.5,277.2 L167.4,277 L169.2,276.8 L171,276.6 L172.8,276.4 L174.6,276.3 L176.4,276.1 L178.2,276 L180,275.8 L181.8,275.6 L183.6,275.5 L185.4,275.4 L187.2,275.2 L189,275.1 L190.9,274.9 L192.7,274.8 L194.5,274.7 L196.3,274.5 L198.1,274.4 L199.9,274.3 L201.7,274.2 L203.5,274.1 L205.3,274 L207.1,273.9 L208.9,273.8 L210.7,273.7 L212.5,273.6 L214.4,273.5 L216.2,273.4 L218,273.3 L219.8,273.2 L221.6,273.1 L223.4,273.1 L225.2,273 L227,272.9 L228.8,272.9 L230.6,272.8 L232.4,272.7 L234.2,272.7 L236,272.6 L237.9,272.6 L239.7,272.5 L241.5,272.5 L243.3,272.4 L245.1,272.4 L246.9,272.4 L248.7,272.3 L250.5,272.3 L252.3,272.3 L254.1,272.3 L255.9,272.3 L257.7,272.2 L259.5,272.2 L261.3,272.2 L263.2,272.2 L265,272.2 L266.8,272.2 L268.6,272.2 L270.4,272.2 L272.2,272.2 L274,272.3 L275.8,272.3 L277.6,272.3 L279.4,272.3 L281.2,272.3 L283,272.4 L284.8,272.4 L286.7,272.4 L288.5,272.5 L290.3,272.5 L292.1,272.6 L293.9,272.6 L295.7,272.7 L297.5,272.7 L299.3,272.8 L301.1,272.9 L302.9,272.9 L304.7,273 L306.5,273.1 L308.3,273.1 L310.2,273.2 L312,273.3 L313.8,273.4 L315.6,273.5 L317.4,273.6 L319.2,273.7 L321,273.8 L322.8,273.9 L324.6,274 L326.4,274.1 L328.2,274.2 L330,274.3 L331.8,274.4 L333.7,274.5 L335.5,274.7 L337.3,274.8 L339.1,274.9 L340.9,275.1 L342.7,275.2 L344.5,275.4 L346.3,275.5 L348.1,275.6 L349.9,275.8 L351.7,276 L353.5,276.1 L355.3,276.3 L357.2,276.4 L359,276.6 L360.8,276.8 L362.6,277 L364.4,277.2 L366.2,277.3 L368,277.5 L369.8,277.7 L371.6,277.9 L373.4,278.1 L375.2,278.3 L377,278.5 L378.8,278.7 L380.7,279 L382.5,279.2 L384.3,279.4 L386.1,279.6 L387.9,279.9 L389.7,280.1 L391.5,280.3 L393.3,280.6 L395.1,280.8 L396.9,281.1 L398.7,281.3 L400.5,281.6 L402.3,281.9 L404.2,282.1 L406,282.4 L407.8,282.7 L409.6,283 L411.4,283.3 L413.2,283.5 L415,283.8 L416.8,284.1 L418.6,284.4 L420.4,284.8 L422.2,285.1 L424,285.4 L425.8,285.7 L427.7,286 L429.5,286.4 L431.3,286.7 L433.1,287 L434.9,287.4 L436.7,287.7 L438.5,288.1 L440.3,288.5 L442.1,288.8 L443.9,289.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,221.6 L86.01,219.5 L87.82,217.4 L89.62,215.4 L91.43,213.4 L93.24,211.5 L95.05,209.7 L96.85,208 L98.66,206.3 L100.5,204.6 L102.3,203 L104.1,201.4 L105.9,199.8 L107.7,198.3 L109.5,196.9 L111.3,195.4 L113.1,194 L114.9,192.7 L116.7,191.3 L118.5,190 L120.4,188.8 L122.2,187.5 L124,186.3 L125.8,185.1 L127.6,183.9 L129.4,182.8 L131.2,181.7 L133,180.6 L134.8,179.5 L136.6,178.4 L138.4,177.4 L140.2,176.4 L142,175.4 L143.9,174.4 L145.7,173.5 L147.5,172.6 L149.3,171.7 L151.1,170.8 L152.9,169.9 L154.7,169.1 L156.5,168.2 L158.3,167.4 L160.1,166.6 L161.9,165.8 L163.7,165.1 L165.5,164.3 L167.4,163.6 L169.2,162.9 L171,162.2 L172.8,161.5 L174.6,160.8 L176.4,160.2 L178.2,159.6 L180,158.9 L181.8,158.3 L183.6,157.7 L185.4,157.2 L187.2,156.6 L189,156.1 L190.9,155.5 L192.7,155 L194.5,154.5 L196.3,154 L198.1,153.6 L199.9,153.1 L201.7,152.6 L203.5,152.2 L205.3,151.8 L207.1,151.4 L208.9,151 L210.7,150.6 L212.5,150.3 L214.4,149.9 L216.2,149.6 L218,149.2 L219.8,148.9 L221.6,148.6 L223.4,148.3 L225.2,148 L227,147.8 L228.8,147.5 L230.6,147.3 L232.4,147.1 L234.2,146.9 L236,146.7 L237.9,146.5 L239.7,146.3 L241.5,146.1 L243.3,146 L245.1,145.8 L246.9,145.7 L248.7,145.6 L250.5,145.5 L252.3,145.4 L254.1,145.3 L255.9,145.3 L257.7,145.2 L259.5,145.2 L261.3,145.1 L263.2,145.1 L265,145.1 L266.8,145.1 L268.6,145.1 L270.4,145.2 L272.2,145.2 L274,145.3 L275.8,145.3 L277.6,145.4 L279.4,145.5 L281.2,145.6 L283,145.7 L284.8,145.8 L286.7,146 L288.5,146.1 L290.3,146.3 L292.1,146.5 L293.9,146.7 L295.7,146.9 L297.5,147.1 L299.3,147.3 L301.1,147.5 L302.9,147.8 L304.7,148 L306.5,148.3 L308.3,148.6 L310.2,148.9 L312,149.2 L313.8,149.6 L315.6,149.9 L317.4,150.3 L319.2,150.6 L321,151 L322.8,151.4 L324.6,151.8 L326.4,152.2 L328.2,152.6 L330,153.1 L331.8,153.6 L333.7,154 L335.5,154.5 L337.3,155 L339.1,155.5 L340.9,156.1 L342.7,156.6 L344.5,157.2 L346.3,157.7 L348.1,158.3 L349.9,158.9 L351.7,159.6 L353.5,160.2 L355.3,160.8 L357.2,161.5 L359,162.2 L360.8,162.9 L362.6,163.6 L364.4,164.3 L366.2,165.1 L368,165.8 L369.8,166.6 L371.6,167.4 L373.4,168.2 L375.2,169.1 L377,169.9 L378.8,170.8 L380.7,171.7 L382.5,172.6 L384.3,173.5 L386.1,174.4 L387.9,175.4 L389.7,176.4 L391.5,177.4 L393.3,178.4 L395.1,179.5 L396.9,180.6 L398.7,181.7 L400.5,182.8 L402.3,183.9 L404.2,185.1 L406,186.3 L407.8,187.5 L409.6,188.8 L411.4,190 L413.2,191.3 L415,192.7 L416.8,194 L418.6,195.4 L420.4,196.9 L422.2,198.3 L424,199.8 L425.8,201.4 L427.7,203 L429.5,204.6 L431.3,206.3 L433.1,208 L434.9,209.7 L436.7,211.5 L438.5,213.4 L440.3,215.4 L442.1,217.4 L443.9,219.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,208.7 L86.01,201.4 L87.82,195.9 L89.62,191.1 L91.43,186.7 L93.24,182.5 L95.05,178.7 L96.85,175 L98.66,171.5 L100.5,168.2 L102.3,165 L104.1,161.9 L105.9,159 L107.7,156.1 L109.5,153.3 L111.3,150.7 L113.1,148.1 L114.9,145.5 L116.7,143.1 L118.5,140.7 L120.4,138.4 L122.2,136.1 L124,134 L125.8,131.8 L127.6,129.7 L129.4,127.7 L131.2,125.7 L133,123.8 L134.8,121.9 L136.6,120 L138.4,118.2 L140.2,116.5 L142,114.8 L143.9,113.1 L145.7,111.4 L147.5,109.8 L149.3,108.3 L151.1,106.8 L152.9,105.3 L154.7,103.8 L156.5,102.4 L158.3,101 L160.1,99.62 L161.9,98.29 L163.7,96.99 L165.5,95.72 L167.4,94.48 L169.2,93.27 L171,92.09 L172.8,90.94 L174.6,89.82 L176.4,88.72 L178.2,87.65 L180,86.61 L181.8,85.6 L183.6,84.61 L185.4,83.64 L187.2,82.7 L189,81.79 L190.9,80.9 L192.7,80.04 L194.5,79.2 L196.3,78.38 L198.1,77.59 L199.9,76.82 L201.7,76.07 L203.5,75.35 L205.3,74.65 L207.1,73.98 L208.9,73.32 L210.7,72.69 L212.5,72.08 L214.4,71.49 L216.2,70.93 L218,70.39 L219.8,69.86 L221.6,69.36 L223.4,68.88 L225.2,68.43 L227,67.99 L228.8,67.57 L230.6,67.18 L232.4,66.8 L234.2,66.45 L236,66.12 L237.9,65.8 L239.7,65.51 L241.5,65.24 L243.3,64.99 L245.1,64.76 L246.9,64.55 L248.7,64.36 L250.5,64.19 L252.3,64.04 L254.1,63.91 L255.9,63.8 L257.7,63.71 L259.5,63.64 L261.3,63.59 L263.2,63.56 L265,63.55 L266.8,63.56 L268.6,63.59 L270.4,63.64 L272.2,63.71 L274,63.8 L275.8,63.91 L277.6,64.04 L279.4,64.19 L281.2,64.36 L283,64.55 L284.8,64.76 L286.7,64.99 L288.5,65.24 L290.3,65.51 L292.1,65.8 L293.9,66.12 L295.7,66.45 L297.5,66.8 L299.3,67.18 L301.1,67.57 L302.9,67.99 L304.7,68.43 L306.5,68.88 L308.3,69.36 L310.2,69.86 L312,70.39 L313.8,70.93 L315.6,71.49 L317.4,72.08 L319.2,72.69 L321,73.32 L322.8,73.98 L324.6,74.65 L326.4,75.35 L328.2,76.07 L330,76.82 L331.8,77.59 L333.7,78.38 L335.5,79.2 L337.3,80.04 L339.1,80.9 L340.9,81.79 L342.7,82.7 L344.5,83.64 L346.3,84.61 L348.1,85.6 L349.9,86.61 L351.7,87.65 L353.5,88.72 L355.3,89.82 L357.2,90.94 L359,92.09 L360.8,93.27 L362.6,94.48 L364.4,95.72 L366.2,96.99 L368,98.29 L369.8,99.62 L371.6,101 L373.4,102.4 L375.2,103.8 L377,105.3 L378.8,106.8 L380.7,108.3 L382.5,109.8 L384.3,111.4 L386.1,113.1 L387.9,114.8 L389.7,116.5 L391.5,118.2 L393.3,120 L395.1,121.9 L396.9,123.8 L398.7,125.7 L400.5,127.7 L402.3,129.7 L404.2,131.8 L406,134 L407.8,136.1 L409.6,138.4 L411.4,140.7 L413.2,143.1 L415,145.5 L416.8,148.1 L418.6,150.7 L420.4,153.3 L422.2,156.1 L424,159 L425.8,161.9 L427.7,165 L429.5,168.2 L431.3,171.5 L433.1,175 L434.9,178.7 L436.7,182.5 L438.5,186.7 L440.3,191.1 L442.1,195.9 L443.9,201.4 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="126"/><rect x="467" y="58" width="107" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">&#x3C6;=0.5</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">&#x3C6;=0.75</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">&#x3C6;=1.25</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">&#x3C6;=&#x3C0;/2</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Of the Second Kind</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_3.png b/libs/math/doc/graphs/ellint_3.png
index cfa63b5335..cfa63b5335 100644
--- a/libs/math/doc/sf_and_dist/graphs/ellint_3.png
+++ b/libs/math/doc/graphs/ellint_3.png
Binary files differ
diff --git a/libs/math/doc/graphs/ellint_3.svg b/libs/math/doc/graphs/ellint_3.svg
new file mode 100644
index 0000000000..c8546bbb8b
--- /dev/null
+++ b/libs/math/doc/graphs/ellint_3.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="319.7" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="321.7" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="241.9" y1="58" x2="241.9" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="405.9" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328.4 L84.2,328.4 M82.2,303.2 L84.2,303.2 M82.2,290.6 L84.2,290.6 M82.2,277.9 L84.2,277.9 M82.2,252.7 L84.2,252.7 M82.2,240.1 L84.2,240.1 M82.2,227.5 L84.2,227.5 M82.2,202.3 L84.2,202.3 M82.2,189.7 L84.2,189.7 M82.2,177.1 L84.2,177.1 M82.2,151.8 L84.2,151.8 M82.2,139.2 L84.2,139.2 M82.2,126.6 L84.2,126.6 M82.2,101.4 L84.2,101.4 M82.2,88.77 L84.2,88.77 M82.2,76.16 L84.2,76.16 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M261.6,341 L261.6,343 M281.3,341 L281.3,343 M301,341 L301,343 M340.5,341 L340.5,343 M360.2,341 L360.2,343 M379.9,341 L379.9,343 M222.2,341 L222.2,343 M202.5,341 L202.5,343 M182.8,341 L182.8,343 M143.3,341 L143.3,343 M123.6,341 L123.6,343 M103.9,341 L103.9,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,315.8 L84.2,315.8 M79.2,265.3 L84.2,265.3 M79.2,214.9 L84.2,214.9 M79.2,164.4 L84.2,164.4 M79.2,114 L84.2,114 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M241.9,341 L241.9,346 M320.8,341 L320.8,346 M399.6,341 L399.6,346 M241.9,341 L241.9,346 M163.1,341 L163.1,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="241.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="320.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="399.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="241.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="163.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="318.2" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="267.7" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="217.3" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
+<text x="73.2" y="166.8" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="73.2" y="116.4" text-anchor="end" font-size="12" font-family="Verdana">3.5</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">4</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ellint_3(k, n, phi)</text></g>
+<g id="xLabel">
+<text x="245.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,283.3 L85.78,287 L87.35,290.1 L88.93,292.9 L90.51,295.5 L92.09,297.8 L93.66,299.9 L95.24,301.8 L96.82,303.6 L98.39,305.2 L99.97,306.8 L101.5,308.2 L103.1,309.6 L104.7,310.9 L106.3,312.1 L107.9,313.3 L109.4,314.4 L111,315.4 L112.6,316.4 L114.2,317.3 L115.7,318.3 L117.3,319.1 L118.9,320 L120.5,320.7 L122,321.5 L123.6,322.2 L125.2,322.9 L126.8,323.6 L128.4,324.3 L129.9,324.9 L131.5,325.5 L133.1,326.1 L134.7,326.7 L136.2,327.2 L137.8,327.7 L139.4,328.3 L141,328.7 L142.6,329.2 L144.1,329.7 L145.7,330.1 L147.3,330.6 L148.9,331 L150.4,331.4 L152,331.8 L153.6,332.2 L155.2,332.5 L156.7,332.9 L158.3,333.2 L159.9,333.6 L161.5,333.9 L163.1,334.2 L164.6,334.5 L166.2,334.8 L167.8,335.1 L169.4,335.4 L170.9,335.6 L172.5,335.9 L174.1,336.1 L175.7,336.4 L177.2,336.6 L178.8,336.9 L180.4,337.1 L182,337.3 L183.6,337.5 L185.1,337.7 L186.7,337.9 L188.3,338.1 L189.9,338.2 L191.4,338.4 L193,338.6 L194.6,338.7 L196.2,338.9 L197.7,339 L199.3,339.2 L200.9,339.3 L202.5,339.5 L204.1,339.6 L205.6,339.7 L207.2,339.8 L208.8,339.9 L210.4,340 L211.9,340.1 L213.5,340.2 L215.1,340.3 L216.7,340.4 L218.3,340.5 L219.8,340.5 L221.4,340.6 L223,340.7 L224.6,340.7 L226.1,340.8 L227.7,340.8 L229.3,340.8 L230.9,340.9 L232.4,340.9 L234,340.9 L235.6,341 L237.2,341 L238.8,341 L240.3,341 L241.9,341 L243.5,341 L245.1,341 L246.6,341 L248.2,341 L249.8,340.9 L251.4,340.9 L252.9,340.9 L254.5,340.8 L256.1,340.8 L257.7,340.8 L259.3,340.7 L260.8,340.7 L262.4,340.6 L264,340.5 L265.6,340.5 L267.1,340.4 L268.7,340.3 L270.3,340.2 L271.9,340.1 L273.4,340 L275,339.9 L276.6,339.8 L278.2,339.7 L279.8,339.6 L281.3,339.5 L282.9,339.3 L284.5,339.2 L286.1,339 L287.6,338.9 L289.2,338.7 L290.8,338.6 L292.4,338.4 L293.9,338.2 L295.5,338.1 L297.1,337.9 L298.7,337.7 L300.3,337.5 L301.8,337.3 L303.4,337.1 L305,336.9 L306.6,336.6 L308.1,336.4 L309.7,336.1 L311.3,335.9 L312.9,335.6 L314.5,335.4 L316,335.1 L317.6,334.8 L319.2,334.5 L320.8,334.2 L322.3,333.9 L323.9,333.6 L325.5,333.2 L327.1,332.9 L328.6,332.5 L330.2,332.2 L331.8,331.8 L333.4,331.4 L335,331 L336.5,330.6 L338.1,330.1 L339.7,329.7 L341.3,329.2 L342.8,328.7 L344.4,328.3 L346,327.7 L347.6,327.2 L349.1,326.7 L350.7,326.1 L352.3,325.5 L353.9,324.9 L355.5,324.3 L357,323.6 L358.6,322.9 L360.2,322.2 L361.8,321.5 L363.3,320.7 L364.9,320 L366.5,319.1 L368.1,318.3 L369.6,317.3 L371.2,316.4 L372.8,315.4 L374.4,314.4 L376,313.3 L377.5,312.1 L379.1,310.9 L380.7,309.6 L382.3,308.2 L383.8,306.8 L385.4,305.2 L387,303.6 L388.6,301.8 L390.1,299.9 L391.7,297.8 L393.3,295.5 L394.9,292.9 L396.5,290.1 L398,287 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,215.5 L85.78,221.5 L87.35,226.7 L88.93,231.2 L90.51,235.3 L92.09,239 L93.66,242.4 L95.24,245.5 L96.82,248.3 L98.39,250.9 L99.97,253.4 L101.5,255.7 L103.1,257.9 L104.7,259.9 L106.3,261.8 L107.9,263.6 L109.4,265.3 L111,266.9 L112.6,268.5 L114.2,269.9 L115.7,271.3 L117.3,272.7 L118.9,274 L120.5,275.2 L122,276.4 L123.6,277.5 L125.2,278.6 L126.8,279.6 L128.4,280.6 L129.9,281.6 L131.5,282.5 L133.1,283.4 L134.7,284.2 L136.2,285.1 L137.8,285.9 L139.4,286.6 L141,287.4 L142.6,288.1 L144.1,288.8 L145.7,289.5 L147.3,290.1 L148.9,290.7 L150.4,291.4 L152,291.9 L153.6,292.5 L155.2,293.1 L156.7,293.6 L158.3,294.1 L159.9,294.6 L161.5,295.1 L163.1,295.6 L164.6,296 L166.2,296.5 L167.8,296.9 L169.4,297.3 L170.9,297.7 L172.5,298.1 L174.1,298.5 L175.7,298.8 L177.2,299.2 L178.8,299.5 L180.4,299.9 L182,300.2 L183.6,300.5 L185.1,300.8 L186.7,301.1 L188.3,301.3 L189.9,301.6 L191.4,301.9 L193,302.1 L194.6,302.3 L196.2,302.6 L197.7,302.8 L199.3,303 L200.9,303.2 L202.5,303.4 L204.1,303.6 L205.6,303.7 L207.2,303.9 L208.8,304.1 L210.4,304.2 L211.9,304.4 L213.5,304.5 L215.1,304.6 L216.7,304.8 L218.3,304.9 L219.8,305 L221.4,305.1 L223,305.2 L224.6,305.2 L226.1,305.3 L227.7,305.4 L229.3,305.4 L230.9,305.5 L232.4,305.5 L234,305.6 L235.6,305.6 L237.2,305.6 L238.8,305.7 L240.3,305.7 L241.9,305.7 L243.5,305.7 L245.1,305.7 L246.6,305.6 L248.2,305.6 L249.8,305.6 L251.4,305.5 L252.9,305.5 L254.5,305.4 L256.1,305.4 L257.7,305.3 L259.3,305.2 L260.8,305.2 L262.4,305.1 L264,305 L265.6,304.9 L267.1,304.8 L268.7,304.6 L270.3,304.5 L271.9,304.4 L273.4,304.2 L275,304.1 L276.6,303.9 L278.2,303.7 L279.8,303.6 L281.3,303.4 L282.9,303.2 L284.5,303 L286.1,302.8 L287.6,302.6 L289.2,302.3 L290.8,302.1 L292.4,301.9 L293.9,301.6 L295.5,301.3 L297.1,301.1 L298.7,300.8 L300.3,300.5 L301.8,300.2 L303.4,299.9 L305,299.5 L306.6,299.2 L308.1,298.8 L309.7,298.5 L311.3,298.1 L312.9,297.7 L314.5,297.3 L316,296.9 L317.6,296.5 L319.2,296 L320.8,295.6 L322.3,295.1 L323.9,294.6 L325.5,294.1 L327.1,293.6 L328.6,293.1 L330.2,292.5 L331.8,291.9 L333.4,291.4 L335,290.7 L336.5,290.1 L338.1,289.5 L339.7,288.8 L341.3,288.1 L342.8,287.4 L344.4,286.6 L346,285.9 L347.6,285.1 L349.1,284.2 L350.7,283.4 L352.3,282.5 L353.9,281.6 L355.5,280.6 L357,279.6 L358.6,278.6 L360.2,277.5 L361.8,276.4 L363.3,275.2 L364.9,274 L366.5,272.7 L368.1,271.3 L369.6,269.9 L371.2,268.5 L372.8,266.9 L374.4,265.3 L376,263.6 L377.5,261.8 L379.1,259.9 L380.7,257.9 L382.3,255.7 L383.8,253.4 L385.4,250.9 L387,248.3 L388.6,245.5 L390.1,242.4 L391.7,239 L393.3,235.3 L394.9,231.2 L396.5,226.7 L398,221.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M86.09,63.55 L87.65,102 L89.21,125.4 L90.77,142.1 L92.32,155 L93.88,165.5 L95.44,174.2 L97,181.8 L98.56,188.3 L100.1,194.1 L101.7,199.3 L103.2,204 L104.8,208.3 L106.3,212.2 L107.9,215.8 L109.5,219.1 L111,222.2 L112.6,225.1 L114.1,227.8 L115.7,230.3 L117.3,232.7 L118.8,235 L120.4,237.1 L121.9,239.1 L123.5,241 L125,242.8 L126.6,244.6 L128.2,246.2 L129.7,247.8 L131.3,249.3 L132.8,250.7 L134.4,252.1 L136,253.4 L137.5,254.7 L139.1,255.9 L140.6,257 L142.2,258.1 L143.7,259.2 L145.3,260.3 L146.9,261.2 L148.4,262.2 L150,263.1 L151.5,264 L153.1,264.9 L154.7,265.7 L156.2,266.5 L157.8,267.3 L159.3,268 L160.9,268.7 L162.4,269.4 L164,270.1 L165.6,270.8 L167.1,271.4 L168.7,272 L170.2,272.6 L171.8,273.1 L173.3,273.7 L174.9,274.2 L176.5,274.7 L178,275.2 L179.6,275.7 L181.1,276.1 L182.7,276.6 L184.3,277 L185.8,277.4 L187.4,277.8 L188.9,278.2 L190.5,278.6 L192,278.9 L193.6,279.3 L195.2,279.6 L196.7,279.9 L198.3,280.2 L199.8,280.5 L201.4,280.8 L203,281 L204.5,281.3 L206.1,281.5 L207.6,281.7 L209.2,282 L210.7,282.2 L212.3,282.4 L213.9,282.5 L215.4,282.7 L217,282.9 L218.5,283 L220.1,283.2 L221.7,283.3 L223.2,283.4 L224.8,283.5 L226.3,283.6 L227.9,283.7 L229.4,283.8 L231,283.9 L232.6,283.9 L234.1,284 L235.7,284 L237.2,284.1 L238.8,284.1 L240.3,284.1 L241.9,284.1 L243.5,284.1 L245,284.1 L246.6,284.1 L248.1,284 L249.7,284 L251.3,283.9 L252.8,283.9 L254.4,283.8 L255.9,283.7 L257.5,283.6 L259,283.5 L260.6,283.4 L262.2,283.3 L263.7,283.2 L265.3,283 L266.8,282.9 L268.4,282.7 L270,282.5 L271.5,282.4 L273.1,282.2 L274.6,282 L276.2,281.7 L277.7,281.5 L279.3,281.3 L280.9,281 L282.4,280.8 L284,280.5 L285.5,280.2 L287.1,279.9 L288.6,279.6 L290.2,279.3 L291.8,278.9 L293.3,278.6 L294.9,278.2 L296.4,277.8 L298,277.4 L299.6,277 L301.1,276.6 L302.7,276.1 L304.2,275.7 L305.8,275.2 L307.3,274.7 L308.9,274.2 L310.5,273.7 L312,273.1 L313.6,272.6 L315.1,272 L316.7,271.4 L318.3,270.8 L319.8,270.1 L321.4,269.4 L322.9,268.7 L324.5,268 L326,267.3 L327.6,266.5 L329.2,265.7 L330.7,264.9 L332.3,264 L333.8,263.1 L335.4,262.2 L337,261.2 L338.5,260.3 L340.1,259.2 L341.6,258.1 L343.2,257 L344.7,255.9 L346.3,254.7 L347.9,253.4 L349.4,252.1 L351,250.7 L352.5,249.3 L354.1,247.8 L355.6,246.2 L357.2,244.6 L358.8,242.8 L360.3,241 L361.9,239.1 L363.4,237.1 L365,235 L366.6,232.7 L368.1,230.3 L369.7,227.8 L371.2,225.1 L372.8,222.2 L374.3,219.1 L375.9,215.8 L377.5,212.2 L379,208.3 L380.6,204 L382.1,199.3 L383.7,194.1 L385.3,188.3 L386.8,181.8 L388.4,174.2 L389.9,165.5 L391.5,155 L393,142.1 L394.6,125.4 L396.2,102 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M127.4,63.55 L128.5,66.3 L129.7,68.95 L130.8,71.51 L132,73.98 L133.1,76.37 L134.3,78.67 L135.4,80.91 L136.6,83.07 L137.7,85.16 L138.8,87.19 L140,89.15 L141.1,91.06 L142.3,92.9 L143.4,94.7 L144.6,96.43 L145.7,98.12 L146.9,99.76 L148,101.4 L149.1,102.9 L150.3,104.4 L151.4,105.9 L152.6,107.3 L153.7,108.7 L154.9,110 L156,111.3 L157.2,112.6 L158.3,113.9 L159.5,115.1 L160.6,116.2 L161.7,117.4 L162.9,118.5 L164,119.6 L165.2,120.7 L166.3,121.7 L167.5,122.7 L168.6,123.7 L169.8,124.6 L170.9,125.5 L172.1,126.4 L173.2,127.3 L174.3,128.2 L175.5,129 L176.6,129.8 L177.8,130.6 L178.9,131.4 L180.1,132.1 L181.2,132.9 L182.4,133.6 L183.5,134.3 L184.6,135 L185.8,135.6 L186.9,136.2 L188.1,136.9 L189.2,137.5 L190.4,138.1 L191.5,138.6 L192.7,139.2 L193.8,139.7 L195,140.2 L196.1,140.7 L197.2,141.2 L198.4,141.7 L199.5,142.2 L200.7,142.6 L201.8,143 L203,143.5 L204.1,143.9 L205.3,144.2 L206.4,144.6 L207.6,145 L208.7,145.3 L209.8,145.7 L211,146 L212.1,146.3 L213.3,146.6 L214.4,146.9 L215.6,147.2 L216.7,147.4 L217.9,147.7 L219,147.9 L220.1,148.1 L221.3,148.3 L222.4,148.5 L223.6,148.7 L224.7,148.9 L225.9,149.1 L227,149.2 L228.2,149.3 L229.3,149.5 L230.5,149.6 L231.6,149.7 L232.7,149.8 L233.9,149.9 L235,150 L236.2,150 L237.3,150.1 L238.5,150.1 L239.6,150.1 L240.8,150.1 L241.9,150.2 L243.1,150.1 L244.2,150.1 L245.3,150.1 L246.5,150.1 L247.6,150 L248.8,150 L249.9,149.9 L251.1,149.8 L252.2,149.7 L253.4,149.6 L254.5,149.5 L255.6,149.3 L256.8,149.2 L257.9,149.1 L259.1,148.9 L260.2,148.7 L261.4,148.5 L262.5,148.3 L263.7,148.1 L264.8,147.9 L266,147.7 L267.1,147.4 L268.2,147.2 L269.4,146.9 L270.5,146.6 L271.7,146.3 L272.8,146 L274,145.7 L275.1,145.3 L276.3,145 L277.4,144.6 L278.6,144.2 L279.7,143.9 L280.8,143.5 L282,143 L283.1,142.6 L284.3,142.2 L285.4,141.7 L286.6,141.2 L287.7,140.7 L288.9,140.2 L290,139.7 L291.1,139.2 L292.3,138.6 L293.4,138.1 L294.6,137.5 L295.7,136.9 L296.9,136.2 L298,135.6 L299.2,135 L300.3,134.3 L301.5,133.6 L302.6,132.9 L303.7,132.1 L304.9,131.4 L306,130.6 L307.2,129.8 L308.3,129 L309.5,128.2 L310.6,127.3 L311.8,126.4 L312.9,125.5 L314.1,124.6 L315.2,123.7 L316.3,122.7 L317.5,121.7 L318.6,120.7 L319.8,119.6 L320.9,118.5 L322.1,117.4 L323.2,116.2 L324.4,115.1 L325.5,113.9 L326.6,112.6 L327.8,111.3 L328.9,110 L330.1,108.7 L331.2,107.3 L332.4,105.9 L333.5,104.4 L334.7,102.9 L335.8,101.4 L337,99.76 L338.1,98.12 L339.2,96.43 L340.4,94.7 L341.5,92.9 L342.7,91.06 L343.8,89.15 L345,87.19 L346.1,85.16 L347.3,83.07 L348.4,80.91 L349.6,78.67 L350.7,76.37 L351.8,73.98 L353,71.51 L354.1,68.95 L355.3,66.3 L356.4,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="419.9" y="58" width="154.1" height="126"/><rect x="419.9" y="58" width="154.1" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="86" x2="447.9" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="114" x2="447.9" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="142" x2="447.9" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="170" x2="447.9" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="454.9" y="86" font-size="14" font-family="Verdana">n=0 &#x3C6;=1.25</text>
+<text x="454.9" y="114" font-size="14" font-family="Verdana">n=0.5 &#x3C6;=1.25</text>
+<text x="454.9" y="142" font-size="14" font-family="Verdana">n=0.25 &#x3C6;=&#x3C0;/2</text>
+<text x="454.9" y="170" font-size="14" font-family="Verdana">n=0.75 &#x3C6;=&#x3C0;/2</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Of the Third Kind</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_carlson.png b/libs/math/doc/graphs/ellint_carlson.png
index 095c55efaa..095c55efaa 100644
--- a/libs/math/doc/sf_and_dist/graphs/ellint_carlson.png
+++ b/libs/math/doc/graphs/ellint_carlson.png
Binary files differ
diff --git a/libs/math/doc/graphs/ellint_carlson.svg b/libs/math/doc/graphs/ellint_carlson.svg
new file mode 100644
index 0000000000..257fdc8d11
--- /dev/null
+++ b/libs/math/doc/graphs/ellint_carlson.svg
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="48.8" y="59" width="434.5" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="47.8" y="58" width="436.5" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="47.8" y1="58" x2="47.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="47.8" y1="341" x2="484.3" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M45.8,337.5 L47.8,337.5 M45.8,330.5 L47.8,330.5 M45.8,323.5 L47.8,323.5 M45.8,309.4 L47.8,309.4 M45.8,302.4 L47.8,302.4 M45.8,295.4 L47.8,295.4 M45.8,281.3 L47.8,281.3 M45.8,274.3 L47.8,274.3 M45.8,267.3 L47.8,267.3 M45.8,253.2 L47.8,253.2 M45.8,246.2 L47.8,246.2 M45.8,239.2 L47.8,239.2 M45.8,225.1 L47.8,225.1 M45.8,218.1 L47.8,218.1 M45.8,211.1 L47.8,211.1 M45.8,197 L47.8,197 M45.8,190 L47.8,190 M45.8,183 L47.8,183 M45.8,168.9 L47.8,168.9 M45.8,161.9 L47.8,161.9 M45.8,154.9 L47.8,154.9 M45.8,140.8 L47.8,140.8 M45.8,133.8 L47.8,133.8 M45.8,126.8 L47.8,126.8 M45.8,112.7 L47.8,112.7 M45.8,105.7 L47.8,105.7 M45.8,98.67 L47.8,98.67 M45.8,84.62 L47.8,84.62 M45.8,77.6 L47.8,77.6 M45.8,70.57 L47.8,70.57 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.54,341 L73.54,343 M100.4,341 L100.4,343 M127.2,341 L127.2,343 M180.8,341 L180.8,343 M207.6,341 L207.6,343 M234.4,341 L234.4,343 M288.1,341 L288.1,343 M314.9,341 L314.9,343 M341.7,341 L341.7,343 M395.3,341 L395.3,343 M422.1,341 L422.1,343 M448.9,341 L448.9,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M42.8,316.4 L47.8,316.4 M42.8,288.3 L47.8,288.3 M42.8,260.2 L47.8,260.2 M42.8,232.1 L47.8,232.1 M42.8,204 L47.8,204 M42.8,175.9 L47.8,175.9 M42.8,147.8 L47.8,147.8 M42.8,119.7 L47.8,119.7 M42.8,91.65 L47.8,91.65 M42.8,63.55 L47.8,63.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M154,341 L154,346 M261.2,341 L261.2,346 M368.5,341 L368.5,346 M475.8,341 L475.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="154" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="261.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="368.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="475.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text></g>
+<g id="yTicksValues">
+<text x="36.8" y="318.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="36.8" y="290.7" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="36.8" y="262.6" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="36.8" y="234.5" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="36.8" y="206.4" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="36.8" y="178.3" text-anchor="end" font-size="12" font-family="Verdana">6</text>
+<text x="36.8" y="150.2" text-anchor="end" font-size="12" font-family="Verdana">7</text>
+<text x="36.8" y="122.1" text-anchor="end" font-size="12" font-family="Verdana">8</text>
+<text x="36.8" y="94.05" text-anchor="end" font-size="12" font-family="Verdana">9</text>
+<text x="36.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">10</text></g>
+<g id="yLabel">
+<text x="14.9" y="199.5" text-anchor="middle" transform = "rotate(-90 14.9 199.5 )" font-size="14" font-family="Verdana"></text></g>
+<g id="xLabel">
+<text x="266.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M69.84,63.55 L71.87,96.88 L73.89,124.1 L75.92,146.7 L77.95,165.7 L79.98,181.8 L82.01,195.6 L84.04,207.6 L86.07,218.1 L88.1,227.3 L90.13,235.4 L92.16,242.6 L94.19,249.1 L96.22,254.9 L98.25,260.1 L100.3,264.9 L102.3,269.2 L104.3,273.2 L106.4,276.8 L108.4,280.1 L110.4,283.1 L112.5,286 L114.5,288.6 L116.5,291 L118.5,293.3 L120.6,295.4 L122.6,297.3 L124.6,299.1 L126.7,300.9 L128.7,302.5 L130.7,304 L132.8,305.4 L134.8,306.8 L136.8,308 L138.8,309.2 L140.9,310.4 L142.9,311.4 L144.9,312.5 L147,313.4 L149,314.4 L151,315.2 L153.1,316.1 L155.1,316.9 L157.1,317.6 L159.1,318.3 L161.2,319 L163.2,319.7 L165.2,320.3 L167.3,320.9 L169.3,321.5 L171.3,322.1 L173.3,322.6 L175.4,323.1 L177.4,323.6 L179.4,324.1 L181.5,324.6 L183.5,325 L185.5,325.4 L187.6,325.9 L189.6,326.3 L191.6,326.6 L193.6,327 L195.7,327.4 L197.7,327.7 L199.7,328 L201.8,328.4 L203.8,328.7 L205.8,329 L207.9,329.3 L209.9,329.6 L211.9,329.8 L213.9,330.1 L216,330.4 L218,330.6 L220,330.9 L222.1,331.1 L224.1,331.3 L226.1,331.5 L228.1,331.8 L230.2,332 L232.2,332.2 L234.2,332.4 L236.3,332.6 L238.3,332.8 L240.3,332.9 L242.4,333.1 L244.4,333.3 L246.4,333.5 L248.4,333.6 L250.5,333.8 L252.5,334 L254.5,334.1 L256.6,334.3 L258.6,334.4 L260.6,334.6 L262.7,334.7 L264.7,334.8 L266.7,335 L268.7,335.1 L270.8,335.2 L272.8,335.4 L274.8,335.5 L276.9,335.6 L278.9,335.7 L280.9,335.8 L282.9,335.9 L285,336 L287,336.2 L289,336.3 L291.1,336.4 L293.1,336.5 L295.1,336.6 L297.2,336.7 L299.2,336.8 L301.2,336.8 L303.2,336.9 L305.3,337 L307.3,337.1 L309.3,337.2 L311.4,337.3 L313.4,337.4 L315.4,337.5 L317.4,337.5 L319.5,337.6 L321.5,337.7 L323.5,337.8 L325.6,337.8 L327.6,337.9 L329.6,338 L331.7,338 L333.7,338.1 L335.7,338.2 L337.7,338.3 L339.8,338.3 L341.8,338.4 L343.8,338.4 L345.9,338.5 L347.9,338.6 L349.9,338.6 L352,338.7 L354,338.7 L356,338.8 L358,338.9 L360.1,338.9 L362.1,339 L364.1,339 L366.2,339.1 L368.2,339.1 L370.2,339.2 L372.2,339.2 L374.3,339.3 L376.3,339.3 L378.3,339.4 L380.4,339.4 L382.4,339.5 L384.4,339.5 L386.5,339.6 L388.5,339.6 L390.5,339.6 L392.5,339.7 L394.6,339.7 L396.6,339.8 L398.6,339.8 L400.7,339.8 L402.7,339.9 L404.7,339.9 L406.8,340 L408.8,340 L410.8,340 L412.8,340.1 L414.9,340.1 L416.9,340.2 L418.9,340.2 L421,340.2 L423,340.3 L425,340.3 L427,340.3 L429.1,340.4 L431.1,340.4 L433.1,340.4 L435.2,340.5 L437.2,340.5 L439.2,340.5 L441.3,340.6 L443.3,340.6 L445.3,340.6 L447.3,340.6 L449.4,340.7 L451.4,340.7 L453.4,340.7 L455.5,340.8 L457.5,340.8 L459.5,340.8 L461.6,340.8 L463.6,340.9 L465.6,340.9 L467.6,340.9 L469.7,340.9 L471.7,341 L473.7,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M47.8,63.55 L49.94,182.2 L52.08,218.7 L54.22,238.2 L56.36,250.8 L58.5,259.7 L60.64,266.5 L62.78,271.9 L64.92,276.3 L67.06,280 L69.2,283.1 L71.34,285.9 L73.48,288.3 L75.62,290.4 L77.76,292.3 L79.9,294 L82.04,295.6 L84.18,297 L86.32,298.3 L88.46,299.5 L90.6,300.6 L92.74,301.6 L94.88,302.6 L97.02,303.5 L99.16,304.3 L101.3,305.1 L103.4,305.9 L105.6,306.6 L107.7,307.3 L109.9,307.9 L112,308.5 L114.1,309.1 L116.3,309.6 L118.4,310.2 L120.6,310.7 L122.7,311.1 L124.8,311.6 L127,312.1 L129.1,312.5 L131.3,312.9 L133.4,313.3 L135.5,313.7 L137.7,314 L139.8,314.4 L142,314.7 L144.1,315 L146.2,315.4 L148.4,315.7 L150.5,316 L152.7,316.3 L154.8,316.5 L156.9,316.8 L159.1,317.1 L161.2,317.3 L163.3,317.6 L165.5,317.8 L167.6,318.1 L169.8,318.3 L171.9,318.5 L174,318.7 L176.2,319 L178.3,319.2 L180.5,319.4 L182.6,319.6 L184.7,319.8 L186.9,320 L189,320.1 L191.2,320.3 L193.3,320.5 L195.4,320.7 L197.6,320.8 L199.7,321 L201.9,321.2 L204,321.3 L206.1,321.5 L208.3,321.6 L210.4,321.8 L212.6,321.9 L214.7,322.1 L216.8,322.2 L219,322.4 L221.1,322.5 L223.3,322.6 L225.4,322.8 L227.5,322.9 L229.7,323 L231.8,323.1 L234,323.3 L236.1,323.4 L238.2,323.5 L240.4,323.6 L242.5,323.7 L244.7,323.9 L246.8,324 L248.9,324.1 L251.1,324.2 L253.2,324.3 L255.4,324.4 L257.5,324.5 L259.6,324.6 L261.8,324.7 L263.9,324.8 L266.1,324.9 L268.2,325 L270.3,325.1 L272.5,325.2 L274.6,325.3 L276.8,325.4 L278.9,325.4 L281,325.5 L283.2,325.6 L285.3,325.7 L287.5,325.8 L289.6,325.9 L291.7,325.9 L293.9,326 L296,326.1 L298.2,326.2 L300.3,326.3 L302.4,326.3 L304.6,326.4 L306.7,326.5 L308.9,326.6 L311,326.6 L313.1,326.7 L315.3,326.8 L317.4,326.8 L319.6,326.9 L321.7,327 L323.8,327.1 L326,327.1 L328.1,327.2 L330.3,327.3 L332.4,327.3 L334.5,327.4 L336.7,327.4 L338.8,327.5 L341,327.6 L343.1,327.6 L345.2,327.7 L347.4,327.8 L349.5,327.8 L351.7,327.9 L353.8,327.9 L355.9,328 L358.1,328 L360.2,328.1 L362.4,328.2 L364.5,328.2 L366.6,328.3 L368.8,328.3 L370.9,328.4 L373.1,328.4 L375.2,328.5 L377.3,328.5 L379.5,328.6 L381.6,328.6 L383.7,328.7 L385.9,328.7 L388,328.8 L390.2,328.8 L392.3,328.9 L394.4,328.9 L396.6,329 L398.7,329 L400.9,329.1 L403,329.1 L405.1,329.2 L407.3,329.2 L409.4,329.3 L411.6,329.3 L413.7,329.3 L415.8,329.4 L418,329.4 L420.1,329.5 L422.3,329.5 L424.4,329.6 L426.5,329.6 L428.7,329.6 L430.8,329.7 L433,329.7 L435.1,329.8 L437.2,329.8 L439.4,329.9 L441.5,329.9 L443.7,329.9 L445.8,330 L447.9,330 L450.1,330 L452.2,330.1 L454.4,330.1 L456.5,330.2 L458.6,330.2 L460.8,330.2 L462.9,330.3 L465.1,330.3 L467.2,330.3 L469.3,330.4 L471.5,330.4 L473.6,330.5 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="498.3" y="58" width="75.68" height="70"/><rect x="498.3" y="58" width="75.68" height="70"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="86" x2="526.3" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="114" x2="526.3" y2="114"/></g>
+</g>
+<g id="legendText">
+<text x="533.3" y="86" font-size="14" font-family="Verdana">RJ</text>
+<text x="533.3" y="114" font-size="14" font-family="Verdana">RF</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Integrals</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erf.png b/libs/math/doc/graphs/erf.png
index d4dcf9e8ed..d4dcf9e8ed 100644
--- a/libs/math/doc/sf_and_dist/graphs/erf.png
+++ b/libs/math/doc/graphs/erf.png
Binary files differ
diff --git a/libs/math/doc/graphs/erf.svg b/libs/math/doc/graphs/erf.svg
new file mode 100644
index 0000000000..0e887dd95c
--- /dev/null
+++ b/libs/math/doc/graphs/erf.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="328.6" y1="58" x2="328.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="574" y2="202.3"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,184.9 L92.6,184.9 M90.6,167.6 L92.6,167.6 M90.6,150.3 L92.6,150.3 M90.6,115.6 L92.6,115.6 M90.6,98.23 L92.6,98.23 M90.6,80.89 L92.6,80.89 M90.6,202.3 L92.6,202.3 M90.6,219.6 L92.6,219.6 M90.6,237 L92.6,237 M90.6,254.3 L92.6,254.3 M90.6,271.6 L92.6,271.6 M90.6,289 L92.6,289 M90.6,306.3 L92.6,306.3 M90.6,323.7 L92.6,323.7 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M348.2,341 L348.2,343 M367.9,341 L367.9,343 M387.6,341 L387.6,343 M426.9,341 L426.9,343 M446.6,341 L446.6,343 M466.2,341 L466.2,343 M505.6,341 L505.6,343 M525.2,341 L525.2,343 M544.9,341 L544.9,343 M308.9,341 L308.9,343 M289.3,341 L289.3,343 M269.6,341 L269.6,343 M230.3,341 L230.3,343 M210.6,341 L210.6,343 M190.9,341 L190.9,343 M151.6,341 L151.6,343 M131.9,341 L131.9,343 M112.3,341 L112.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,132.9 L92.6,132.9 M87.6,63.55 L92.6,63.55 M87.6,202.3 L92.6,202.3 M87.6,271.6 L92.6,271.6 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M328.6,341 L328.6,346 M407.2,341 L407.2,346 M485.9,341 L485.9,346 M564.6,341 L564.6,346 M328.6,341 L328.6,346 M249.9,341 L249.9,346 M171.3,341 L171.3,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="407.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="485.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="249.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="274" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erf(z)</text></g>
+<g id="xLabel">
+<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.96,341 L97.32,341 L99.68,341 L102,341 L104.4,341 L106.8,341 L109.1,341 L111.5,341 L113.8,341 L116.2,341 L118.6,341 L120.9,341 L123.3,341 L125.6,341 L128,341 L130.4,341 L132.7,340.9 L135.1,340.9 L137.4,340.9 L139.8,340.9 L142.2,340.9 L144.5,340.9 L146.9,340.9 L149.2,340.8 L151.6,340.8 L154,340.8 L156.3,340.7 L158.7,340.7 L161,340.6 L163.4,340.6 L165.8,340.5 L168.1,340.5 L170.5,340.4 L172.8,340.3 L175.2,340.2 L177.6,340.1 L179.9,340 L182.3,339.8 L184.6,339.7 L187,339.5 L189.4,339.3 L191.7,339.1 L194.1,338.8 L196.4,338.6 L198.8,338.3 L201.2,338 L203.5,337.6 L205.9,337.2 L208.2,336.8 L210.6,336.3 L212.9,335.8 L215.3,335.2 L217.7,334.6 L220,333.9 L222.4,333.2 L224.7,332.4 L227.1,331.6 L229.5,330.6 L231.8,329.6 L234.2,328.6 L236.5,327.4 L238.9,326.2 L241.3,324.8 L243.6,323.4 L246,321.9 L248.3,320.3 L250.7,318.6 L253.1,316.8 L255.4,314.9 L257.8,312.8 L260.1,310.7 L262.5,308.4 L264.9,306 L267.2,303.5 L269.6,300.9 L271.9,298.2 L274.3,295.3 L276.7,292.4 L279,289.3 L281.4,286 L283.7,282.7 L286.1,279.3 L288.5,275.7 L290.8,272 L293.2,268.2 L295.5,264.4 L297.9,260.4 L300.3,256.3 L302.6,252.1 L305,247.9 L307.3,243.5 L309.7,239.1 L312.1,234.7 L314.4,230.2 L316.8,225.6 L319.1,221 L321.5,216.3 L323.9,211.7 L326.2,207 L328.6,202.3 L330.9,197.6 L333.3,192.9 L335.7,188.2 L338,183.6 L340.4,179 L342.7,174.4 L345.1,169.9 L347.5,165.4 L349.8,161 L352.2,156.7 L354.5,152.4 L356.9,148.3 L359.3,144.2 L361.6,140.2 L364,136.3 L366.3,132.5 L368.7,128.9 L371.1,125.3 L373.4,121.8 L375.8,118.5 L378.1,115.3 L380.5,112.2 L382.9,109.2 L385.2,106.4 L387.6,103.6 L389.9,101 L392.3,98.51 L394.7,96.13 L397,93.87 L399.4,91.72 L401.7,89.69 L404.1,87.76 L406.5,85.95 L408.8,84.24 L411.2,82.63 L413.5,81.12 L415.9,79.7 L418.3,78.38 L420.6,77.14 L423,75.99 L425.3,74.91 L427.7,73.92 L430.1,72.99 L432.4,72.14 L434.8,71.35 L437.1,70.62 L439.5,69.95 L441.9,69.33 L444.2,68.77 L446.6,68.25 L448.9,67.77 L451.3,67.34 L453.6,66.95 L456,66.59 L458.4,66.27 L460.7,65.97 L463.1,65.71 L465.4,65.47 L467.8,65.25 L470.2,65.06 L472.5,64.89 L474.9,64.73 L477.2,64.59 L479.6,64.46 L482,64.35 L484.3,64.25 L486.7,64.17 L489,64.09 L491.4,64.02 L493.8,63.96 L496.1,63.91 L498.5,63.86 L500.8,63.82 L503.2,63.78 L505.6,63.75 L507.9,63.72 L510.3,63.7 L512.6,63.68 L515,63.66 L517.4,63.64 L519.7,63.63 L522.1,63.62 L524.4,63.61 L526.8,63.6 L529.2,63.59 L531.5,63.58 L533.9,63.58 L536.2,63.57 L538.6,63.57 L541,63.56 L543.3,63.56 L545.7,63.56 L548,63.56 L550.4,63.56 L552.8,63.55 L555.1,63.55 L557.5,63.55 L559.8,63.55 L562.2,63.55 L564.6,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erf</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erf_inv.png b/libs/math/doc/graphs/erf_inv.png
index 0a41719073..0a41719073 100644
--- a/libs/math/doc/sf_and_dist/graphs/erf_inv.png
+++ b/libs/math/doc/graphs/erf_inv.png
Binary files differ
diff --git a/libs/math/doc/graphs/erf_inv.svg b/libs/math/doc/graphs/erf_inv.svg
new file mode 100644
index 0000000000..c0683c1010
--- /dev/null
+++ b/libs/math/doc/graphs/erf_inv.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="168.3" x2="574" y2="168.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,154 L75.8,154 M73.8,139.6 L75.8,139.6 M73.8,125.2 L75.8,125.2 M73.8,96.4 L75.8,96.4 M73.8,82.01 L75.8,82.01 M73.8,67.63 L75.8,67.63 M73.8,168.3 L75.8,168.3 M73.8,182.7 L75.8,182.7 M73.8,197.1 L75.8,197.1 M73.8,211.5 L75.8,211.5 M73.8,225.9 L75.8,225.9 M73.8,240.3 L75.8,240.3 M73.8,254.7 L75.8,254.7 M73.8,269.1 L75.8,269.1 M73.8,283.4 L75.8,283.4 M73.8,297.8 L75.8,297.8 M73.8,312.2 L75.8,312.2 M73.8,326.6 L75.8,326.6 M73.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.8,341 L136.8,343 M106.3,341 L106.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,168.3 L75.8,168.3 M70.8,110.8 L75.8,110.8 M70.8,168.3 L75.8,168.3 M70.8,225.9 L75.8,225.9 M70.8,283.4 L75.8,283.4 M70.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 M320,341 L320,346 M197.9,341 L197.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="170.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="113.2" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="64.8" y="170.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="228.3" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
+<text x="64.8" y="285.8" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
+<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-3</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erf_inv(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,273.1 L80.68,263 L83.13,256.6 L85.57,251.9 L88.01,248.1 L90.45,244.9 L92.9,242.1 L95.34,239.6 L97.78,237.3 L100.2,235.3 L102.7,233.4 L105.1,231.6 L107.5,230 L110,228.4 L112.4,226.9 L114.9,225.5 L117.3,224.2 L119.8,222.9 L122.2,221.7 L124.6,220.5 L127.1,219.4 L129.5,218.3 L132,217.2 L134.4,216.2 L136.9,215.2 L139.3,214.2 L141.7,213.2 L144.2,212.3 L146.6,211.4 L149.1,210.5 L151.5,209.7 L153.9,208.8 L156.4,208 L158.8,207.2 L161.3,206.4 L163.7,205.6 L166.2,204.8 L168.6,204.1 L171,203.3 L173.5,202.6 L175.9,201.9 L178.4,201.2 L180.8,200.5 L183.3,199.8 L185.7,199.1 L188.1,198.4 L190.6,197.7 L193,197.1 L195.5,196.4 L197.9,195.8 L200.4,195.2 L202.8,194.5 L205.2,193.9 L207.7,193.3 L210.1,192.7 L212.6,192.1 L215,191.5 L217.4,190.9 L219.9,190.3 L222.3,189.7 L224.8,189.1 L227.2,188.5 L229.7,187.9 L232.1,187.4 L234.5,186.8 L237,186.2 L239.4,185.7 L241.9,185.1 L244.3,184.6 L246.8,184 L249.2,183.5 L251.6,182.9 L254.1,182.4 L256.5,181.8 L259,181.3 L261.4,180.8 L263.8,180.2 L266.3,179.7 L268.7,179.2 L271.2,178.7 L273.6,178.1 L276.1,177.6 L278.5,177.1 L280.9,176.6 L283.4,176 L285.8,175.5 L288.3,175 L290.7,174.5 L293.2,174 L295.6,173.5 L298,172.9 L300.5,172.4 L302.9,171.9 L305.4,171.4 L307.8,170.9 L310.2,170.4 L312.7,169.9 L315.1,169.4 L317.6,168.9 L320,168.3 L322.5,167.8 L324.9,167.3 L327.3,166.8 L329.8,166.3 L332.2,165.8 L334.7,165.3 L337.1,164.8 L339.6,164.3 L342,163.7 L344.4,163.2 L346.9,162.7 L349.3,162.2 L351.8,161.7 L354.2,161.2 L356.6,160.6 L359.1,160.1 L361.5,159.6 L364,159.1 L366.4,158.6 L368.9,158 L371.3,157.5 L373.7,157 L376.2,156.4 L378.6,155.9 L381.1,155.4 L383.5,154.8 L386,154.3 L388.4,153.8 L390.8,153.2 L393.3,152.7 L395.7,152.1 L398.2,151.6 L400.6,151 L403,150.4 L405.5,149.9 L407.9,149.3 L410.4,148.7 L412.8,148.2 L415.3,147.6 L417.7,147 L420.1,146.4 L422.6,145.8 L425,145.2 L427.5,144.6 L429.9,144 L432.4,143.4 L434.8,142.8 L437.2,142.2 L439.7,141.5 L442.1,140.9 L444.6,140.3 L447,139.6 L449.5,138.9 L451.9,138.3 L454.3,137.6 L456.8,136.9 L459.2,136.2 L461.7,135.5 L464.1,134.8 L466.5,134.1 L469,133.4 L471.4,132.6 L473.9,131.9 L476.3,131.1 L478.8,130.3 L481.2,129.5 L483.6,128.7 L486.1,127.9 L488.5,127 L491,126.2 L493.4,125.3 L495.9,124.4 L498.3,123.5 L500.7,122.5 L503.2,121.5 L505.6,120.5 L508.1,119.5 L510.5,118.4 L512.9,117.3 L515.4,116.2 L517.8,115 L520.3,113.8 L522.7,112.5 L525.2,111.2 L527.6,109.8 L530,108.3 L532.5,106.7 L534.9,105.1 L537.4,103.3 L539.8,101.4 L542.3,99.35 L544.7,97.1 L547.1,94.61 L549.6,91.81 L552,88.59 L554.5,84.77 L556.9,80.04 L559.3,73.69 L561.8,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erf_inv</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erfc.png b/libs/math/doc/graphs/erfc.png
index 07e462e511..07e462e511 100644
--- a/libs/math/doc/sf_and_dist/graphs/erfc.png
+++ b/libs/math/doc/graphs/erfc.png
Binary files differ
diff --git a/libs/math/doc/graphs/erfc.svg b/libs/math/doc/graphs/erfc.svg
new file mode 100644
index 0000000000..324b598ddf
--- /dev/null
+++ b/libs/math/doc/graphs/erfc.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="324.3" y1="58" x2="324.3" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,323.7 L84.2,323.7 M82.2,306.3 L84.2,306.3 M82.2,289 L84.2,289 M82.2,254.3 L84.2,254.3 M82.2,237 L84.2,237 M82.2,219.6 L84.2,219.6 M82.2,184.9 L84.2,184.9 M82.2,167.6 L84.2,167.6 M82.2,150.3 L84.2,150.3 M82.2,115.6 L84.2,115.6 M82.2,98.23 L84.2,98.23 M82.2,80.89 L84.2,80.89 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M344.3,341 L344.3,343 M364.3,341 L364.3,343 M384.3,341 L384.3,343 M424.3,341 L424.3,343 M444.3,341 L444.3,343 M464.4,341 L464.4,343 M504.4,341 L504.4,343 M524.4,341 L524.4,343 M544.4,341 L544.4,343 M304.3,341 L304.3,343 M284.3,341 L284.3,343 M264.3,341 L264.3,343 M224.3,341 L224.3,343 M204.2,341 L204.2,343 M184.2,341 L184.2,343 M144.2,341 L144.2,343 M124.2,341 L124.2,343 M104.2,341 L104.2,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,271.6 L84.2,271.6 M79.2,202.3 L84.2,202.3 M79.2,132.9 L84.2,132.9 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M324.3,341 L324.3,346 M404.3,341 L404.3,346 M484.4,341 L484.4,346 M564.4,341 L564.4,346 M324.3,341 L324.3,346 M244.3,341 L244.3,346 M164.2,341 L164.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="404.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="484.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="244.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="164.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="274" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">2</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erfc(z)</text></g>
+<g id="xLabel">
+<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,63.55 L86.6,63.55 L89,63.55 L91.4,63.55 L93.8,63.55 L96.2,63.55 L98.61,63.56 L101,63.56 L103.4,63.56 L105.8,63.56 L108.2,63.56 L110.6,63.57 L113,63.57 L115.4,63.58 L117.8,63.58 L120.2,63.59 L122.6,63.6 L125,63.61 L127.4,63.62 L129.8,63.63 L132.2,63.64 L134.6,63.66 L137,63.68 L139.4,63.7 L141.8,63.72 L144.2,63.75 L146.6,63.78 L149,63.82 L151.4,63.86 L153.8,63.91 L156.2,63.96 L158.6,64.02 L161,64.09 L163.4,64.17 L165.8,64.25 L168.2,64.35 L170.6,64.46 L173,64.59 L175.4,64.73 L177.8,64.89 L180.2,65.06 L182.6,65.25 L185,65.47 L187.4,65.71 L189.8,65.97 L192.2,66.27 L194.6,66.59 L197,66.95 L199.4,67.34 L201.8,67.77 L204.2,68.25 L206.6,68.77 L209.1,69.33 L211.5,69.95 L213.9,70.62 L216.3,71.35 L218.7,72.14 L221.1,72.99 L223.5,73.92 L225.9,74.91 L228.3,75.99 L230.7,77.14 L233.1,78.38 L235.5,79.7 L237.9,81.12 L240.3,82.63 L242.7,84.24 L245.1,85.95 L247.5,87.76 L249.9,89.69 L252.3,91.72 L254.7,93.87 L257.1,96.13 L259.5,98.51 L261.9,101 L264.3,103.6 L266.7,106.4 L269.1,109.2 L271.5,112.2 L273.9,115.3 L276.3,118.5 L278.7,121.8 L281.1,125.3 L283.5,128.9 L285.9,132.5 L288.3,136.3 L290.7,140.2 L293.1,144.2 L295.5,148.3 L297.9,152.4 L300.3,156.7 L302.7,161 L305.1,165.4 L307.5,169.9 L309.9,174.4 L312.3,179 L314.7,183.6 L317.1,188.2 L319.5,192.9 L321.9,197.6 L324.3,202.3 L326.7,207 L329.1,211.7 L331.5,216.3 L333.9,221 L336.3,225.6 L338.7,230.2 L341.1,234.7 L343.5,239.1 L345.9,243.5 L348.3,247.9 L350.7,252.1 L353.1,256.3 L355.5,260.4 L357.9,264.4 L360.3,268.2 L362.7,272 L365.1,275.7 L367.5,279.3 L369.9,282.7 L372.3,286 L374.7,289.3 L377.1,292.4 L379.5,295.3 L381.9,298.2 L384.3,300.9 L386.7,303.5 L389.1,306 L391.5,308.4 L393.9,310.7 L396.3,312.8 L398.7,314.9 L401.1,316.8 L403.5,318.6 L405.9,320.3 L408.3,321.9 L410.7,323.4 L413.1,324.8 L415.5,326.2 L417.9,327.4 L420.3,328.6 L422.7,329.6 L425.1,330.6 L427.5,331.6 L429.9,332.4 L432.3,333.2 L434.7,333.9 L437.1,334.6 L439.5,335.2 L441.9,335.8 L444.3,336.3 L446.7,336.8 L449.1,337.2 L451.5,337.6 L454,338 L456.4,338.3 L458.8,338.6 L461.2,338.8 L463.6,339.1 L466,339.3 L468.4,339.5 L470.8,339.7 L473.2,339.8 L475.6,340 L478,340.1 L480.4,340.2 L482.8,340.3 L485.2,340.4 L487.6,340.5 L490,340.5 L492.4,340.6 L494.8,340.6 L497.2,340.7 L499.6,340.7 L502,340.8 L504.4,340.8 L506.8,340.8 L509.2,340.9 L511.6,340.9 L514,340.9 L516.4,340.9 L518.8,340.9 L521.2,340.9 L523.6,340.9 L526,341 L528.4,341 L530.8,341 L533.2,341 L535.6,341 L538,341 L540.4,341 L542.8,341 L545.2,341 L547.6,341 L550,341 L552.4,341 L554.8,341 L557.2,341 L559.6,341 L562,341 L564.4,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erfc</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erfc_inv.png b/libs/math/doc/graphs/erfc_inv.png
index 09d59bf71c..09d59bf71c 100644
--- a/libs/math/doc/sf_and_dist/graphs/erfc_inv.png
+++ b/libs/math/doc/graphs/erfc_inv.png
Binary files differ
diff --git a/libs/math/doc/graphs/erfc_inv.svg b/libs/math/doc/graphs/erfc_inv.svg
new file mode 100644
index 0000000000..b7dc755aad
--- /dev/null
+++ b/libs/math/doc/graphs/erfc_inv.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,190.7 L75.8,190.7 M73.8,179.2 L75.8,179.2 M73.8,167.6 L75.8,167.6 M73.8,144.5 L75.8,144.5 M73.8,132.9 L75.8,132.9 M73.8,121.4 L75.8,121.4 M73.8,98.23 L75.8,98.23 M73.8,86.67 L75.8,86.67 M73.8,75.11 L75.8,75.11 M73.8,202.3 L75.8,202.3 M73.8,213.8 L75.8,213.8 M73.8,225.4 L75.8,225.4 M73.8,237 L75.8,237 M73.8,248.5 L75.8,248.5 M73.8,260.1 L75.8,260.1 M73.8,271.6 L75.8,271.6 M73.8,283.2 L75.8,283.2 M73.8,294.8 L75.8,294.8 M73.8,306.3 L75.8,306.3 M73.8,317.9 L75.8,317.9 M73.8,329.4 L75.8,329.4 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.3,341 L106.3,343 M136.8,341 L136.8,343 M167.4,341 L167.4,343 M228.4,341 L228.4,343 M259,341 L259,343 M289.5,341 L289.5,343 M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,156 L75.8,156 M70.8,109.8 L75.8,109.8 M70.8,63.55 L75.8,63.55 M70.8,202.3 L75.8,202.3 M70.8,248.5 L75.8,248.5 M70.8,294.8 L75.8,294.8 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.79,341 L75.79,346 M197.9,341 L197.9,346 M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="75.79" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
+<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="158.4" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="64.8" y="112.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="250.9" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
+<text x="64.8" y="297.2" text-anchor="end" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erfc_inv(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L78.24,118.1 L80.68,126.2 L83.13,131.3 L85.57,135.1 L88.01,138.2 L90.45,140.8 L92.9,143 L95.34,145 L97.78,146.8 L100.2,148.5 L102.7,150 L105.1,151.4 L107.5,152.8 L110,154 L112.4,155.2 L114.9,156.3 L117.3,157.4 L119.8,158.4 L122.2,159.4 L124.6,160.4 L127.1,161.3 L129.5,162.2 L132,163 L134.4,163.9 L136.9,164.7 L139.3,165.4 L141.7,166.2 L144.2,167 L146.6,167.7 L149.1,168.4 L151.5,169.1 L153.9,169.8 L156.4,170.4 L158.8,171.1 L161.3,171.7 L163.7,172.3 L166.2,173 L168.6,173.6 L171,174.2 L173.5,174.8 L175.9,175.3 L178.4,175.9 L180.8,176.5 L183.3,177 L185.7,177.6 L188.1,178.1 L190.6,178.7 L193,179.2 L195.5,179.7 L197.9,180.2 L200.4,180.7 L202.8,181.2 L205.2,181.7 L207.7,182.2 L210.1,182.7 L212.6,183.2 L215,183.7 L217.4,184.2 L219.9,184.7 L222.3,185.1 L224.8,185.6 L227.2,186.1 L229.7,186.5 L232.1,187 L234.5,187.4 L237,187.9 L239.4,188.3 L241.9,188.8 L244.3,189.2 L246.8,189.7 L249.2,190.1 L251.6,190.6 L254.1,191 L256.5,191.4 L259,191.9 L261.4,192.3 L263.8,192.7 L266.3,193.1 L268.7,193.6 L271.2,194 L273.6,194.4 L276.1,194.8 L278.5,195.3 L280.9,195.7 L283.4,196.1 L285.8,196.5 L288.3,196.9 L290.7,197.3 L293.2,197.8 L295.6,198.2 L298,198.6 L300.5,199 L302.9,199.4 L305.4,199.8 L307.8,200.2 L310.2,200.6 L312.7,201 L315.1,201.5 L317.6,201.9 L320,202.3 L322.5,202.7 L324.9,203.1 L327.3,203.5 L329.8,203.9 L332.2,204.3 L334.7,204.7 L337.1,205.1 L339.6,205.6 L342,206 L344.4,206.4 L346.9,206.8 L349.3,207.2 L351.8,207.6 L354.2,208 L356.6,208.5 L359.1,208.9 L361.5,209.3 L364,209.7 L366.4,210.1 L368.9,210.6 L371.3,211 L373.7,211.4 L376.2,211.8 L378.6,212.3 L381.1,212.7 L383.5,213.1 L386,213.6 L388.4,214 L390.8,214.4 L393.3,214.9 L395.7,215.3 L398.2,215.8 L400.6,216.2 L403,216.7 L405.5,217.1 L407.9,217.6 L410.4,218 L412.8,218.5 L415.3,219 L417.7,219.4 L420.1,219.9 L422.6,220.4 L425,220.8 L427.5,221.3 L429.9,221.8 L432.4,222.3 L434.8,222.8 L437.2,223.3 L439.7,223.8 L442.1,224.3 L444.6,224.8 L447,225.4 L449.4,225.9 L451.9,226.4 L454.3,227 L456.8,227.5 L459.2,228.1 L461.7,228.6 L464.1,229.2 L466.5,229.8 L469,230.4 L471.4,231 L473.9,231.6 L476.3,232.2 L478.8,232.8 L481.2,233.5 L483.6,234.1 L486.1,234.8 L488.5,235.5 L491,236.2 L493.4,236.9 L495.9,237.6 L498.3,238.3 L500.7,239.1 L503.2,239.9 L505.6,240.7 L508.1,241.5 L510.5,242.4 L512.9,243.3 L515.4,244.2 L517.8,245.1 L520.3,246.1 L522.7,247.1 L525.2,248.2 L527.6,249.3 L530,250.5 L532.5,251.8 L534.9,253.1 L537.4,254.5 L539.8,256.1 L542.3,257.7 L544.7,259.5 L547.1,261.5 L549.6,263.8 L552,266.4 L554.5,269.4 L556.9,273.2 L559.3,278.3 L561.8,286.5 L564.2,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erfc_inv</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/exp_on_r.png b/libs/math/doc/graphs/exp_on_r.png
index 819de7c682..819de7c682 100644
--- a/libs/math/doc/sf_and_dist/graphs/exp_on_r.png
+++ b/libs/math/doc/graphs/exp_on_r.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/expint2.png b/libs/math/doc/graphs/expint2.png
index aa1f601336..aa1f601336 100644
--- a/libs/math/doc/sf_and_dist/graphs/expint2.png
+++ b/libs/math/doc/graphs/expint2.png
Binary files differ
diff --git a/libs/math/doc/graphs/expint2.svg b/libs/math/doc/graphs/expint2.svg
new file mode 100644
index 0000000000..2687fc73c2
--- /dev/null
+++ b/libs/math/doc/graphs/expint2.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334 L84.2,334 M82.2,326.9 L84.2,326.9 M82.2,312.6 L84.2,312.6 M82.2,305.5 L84.2,305.5 M82.2,298.4 L84.2,298.4 M82.2,284.2 L84.2,284.2 M82.2,277 L84.2,277 M82.2,269.9 L84.2,269.9 M82.2,255.7 L84.2,255.7 M82.2,248.6 L84.2,248.6 M82.2,241.5 L84.2,241.5 M82.2,227.2 L84.2,227.2 M82.2,220.1 L84.2,220.1 M82.2,213 L84.2,213 M82.2,198.8 L84.2,198.8 M82.2,191.6 L84.2,191.6 M82.2,184.5 L84.2,184.5 M82.2,170.3 L84.2,170.3 M82.2,163.2 L84.2,163.2 M82.2,156.1 L84.2,156.1 M82.2,141.8 L84.2,141.8 M82.2,134.7 L84.2,134.7 M82.2,127.6 L84.2,127.6 M82.2,113.4 L84.2,113.4 M82.2,106.2 L84.2,106.2 M82.2,99.13 L84.2,99.13 M82.2,84.9 L84.2,84.9 M82.2,77.78 L84.2,77.78 M82.2,70.67 L84.2,70.67 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.8,341 L106.8,343 M129.4,341 L129.4,343 M152,341 L152,343 M197.2,341 L197.2,343 M219.8,341 L219.8,343 M242.4,341 L242.4,343 M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,319.7 L84.2,319.7 M79.2,291.3 L84.2,291.3 M79.2,262.8 L84.2,262.8 M79.2,234.3 L84.2,234.3 M79.2,205.9 L84.2,205.9 M79.2,177.4 L84.2,177.4 M79.2,148.9 L84.2,148.9 M79.2,120.5 L84.2,120.5 M79.2,92.02 L84.2,92.02 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M174.6,341 L174.6,346 M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
+<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="322.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="293.7" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="265.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="236.7" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="208.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="179.8" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="151.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="122.9" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="94.42" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">expint(n, z)</text></g>
+<g id="xLabel">
+<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M132.1,63.55 L133.6,70.56 L135.2,77.3 L136.8,83.78 L138.3,90.01 L139.9,96.01 L141.5,101.8 L143,107.4 L144.6,112.8 L146.2,118 L147.7,123 L149.3,127.8 L150.9,132.6 L152.4,137.1 L154,141.5 L155.6,145.8 L157.1,150 L158.7,154 L160.3,157.9 L161.9,161.7 L163.4,165.4 L165,169 L166.6,172.4 L168.1,175.8 L169.7,179.1 L171.3,182.3 L172.8,185.5 L174.4,188.5 L176,191.5 L177.5,194.4 L179.1,197.2 L180.7,199.9 L182.2,202.6 L183.8,205.2 L185.4,207.8 L186.9,210.3 L188.5,212.7 L190.1,215.1 L191.7,217.4 L193.2,219.7 L194.8,221.9 L196.4,224.1 L197.9,226.2 L199.5,228.2 L201.1,230.3 L202.6,232.2 L204.2,234.2 L205.8,236.1 L207.3,237.9 L208.9,239.7 L210.5,241.5 L212,243.3 L213.6,245 L215.2,246.6 L216.7,248.3 L218.3,249.9 L219.9,251.4 L221.5,253 L223,254.5 L224.6,256 L226.2,257.4 L227.7,258.8 L229.3,260.2 L230.9,261.6 L232.4,262.9 L234,264.2 L235.6,265.5 L237.1,266.8 L238.7,268 L240.3,269.3 L241.8,270.4 L243.4,271.6 L245,272.8 L246.5,273.9 L248.1,275 L249.7,276.1 L251.3,277.2 L252.8,278.2 L254.4,279.3 L256,280.3 L257.5,281.3 L259.1,282.2 L260.7,283.2 L262.2,284.2 L263.8,285.1 L265.4,286 L266.9,286.9 L268.5,287.8 L270.1,288.6 L271.6,289.5 L273.2,290.3 L274.8,291.1 L276.3,292 L277.9,292.8 L279.5,293.5 L281.1,294.3 L282.6,295.1 L284.2,295.8 L285.8,296.5 L287.3,297.3 L288.9,298 L290.5,298.7 L292,299.4 L293.6,300 L295.2,300.7 L296.7,301.3 L298.3,302 L299.9,302.6 L301.4,303.2 L303,303.9 L304.6,304.5 L306.1,305.1 L307.7,305.6 L309.3,306.2 L310.8,306.8 L312.4,307.3 L314,307.9 L315.6,308.4 L317.1,309 L318.7,309.5 L320.3,310 L321.8,310.5 L323.4,311 L325,311.5 L326.5,312 L328.1,312.5 L329.7,312.9 L331.2,313.4 L332.8,313.9 L334.4,314.3 L335.9,314.8 L337.5,315.2 L339.1,315.6 L340.6,316 L342.2,316.5 L343.8,316.9 L345.4,317.3 L346.9,317.7 L348.5,318.1 L350.1,318.5 L351.6,318.9 L353.2,319.2 L354.8,319.6 L356.3,320 L357.9,320.3 L359.5,320.7 L361,321 L362.6,321.4 L364.2,321.7 L365.7,322.1 L367.3,322.4 L368.9,322.7 L370.4,323 L372,323.4 L373.6,323.7 L375.2,324 L376.7,324.3 L378.3,324.6 L379.9,324.9 L381.4,325.2 L383,325.5 L384.6,325.7 L386.1,326 L387.7,326.3 L389.3,326.6 L390.8,326.8 L392.4,327.1 L394,327.4 L395.5,327.6 L397.1,327.9 L398.7,328.1 L400.2,328.4 L401.8,328.6 L403.4,328.9 L405,329.1 L406.5,329.3 L408.1,329.6 L409.7,329.8 L411.2,330 L412.8,330.2 L414.4,330.5 L415.9,330.7 L417.5,330.9 L419.1,331.1 L420.6,331.3 L422.2,331.5 L423.8,331.7 L425.3,331.9 L426.9,332.1 L428.5,332.3 L430,332.5 L431.6,332.7 L433.2,332.9 L434.8,333.1 L436.3,333.2 L437.9,333.4 L439.5,333.6 L441,333.8 L442.6,334 L444.2,334.1 L445.7,334.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,63.55 L86.01,77.88 L87.82,88.28 L89.62,97.23 L91.43,105.2 L93.24,112.6 L95.05,119.3 L96.85,125.7 L98.66,131.6 L100.5,137.2 L102.3,142.5 L104.1,147.6 L105.9,152.4 L107.7,157 L109.5,161.5 L111.3,165.7 L113.1,169.8 L114.9,173.8 L116.7,177.6 L118.5,181.2 L120.4,184.8 L122.2,188.2 L124,191.5 L125.8,194.7 L127.6,197.8 L129.4,200.8 L131.2,203.8 L133,206.6 L134.8,209.4 L136.6,212.1 L138.4,214.7 L140.2,217.2 L142,219.7 L143.9,222.1 L145.7,224.5 L147.5,226.7 L149.3,229 L151.1,231.2 L152.9,233.3 L154.7,235.3 L156.5,237.4 L158.3,239.3 L160.1,241.3 L161.9,243.2 L163.7,245 L165.5,246.8 L167.4,248.6 L169.2,250.3 L171,252 L172.8,253.6 L174.6,255.2 L176.4,256.8 L178.2,258.3 L180,259.9 L181.8,261.3 L183.6,262.8 L185.4,264.2 L187.2,265.6 L189,267 L190.9,268.3 L192.7,269.6 L194.5,270.9 L196.3,272.1 L198.1,273.4 L199.9,274.6 L201.7,275.7 L203.5,276.9 L205.3,278 L207.1,279.2 L208.9,280.3 L210.7,281.3 L212.5,282.4 L214.4,283.4 L216.2,284.4 L218,285.4 L219.8,286.4 L221.6,287.4 L223.4,288.3 L225.2,289.2 L227,290.1 L228.8,291 L230.6,291.9 L232.4,292.8 L234.2,293.6 L236,294.4 L237.9,295.3 L239.7,296.1 L241.5,296.9 L243.3,297.6 L245.1,298.4 L246.9,299.1 L248.7,299.9 L250.5,300.6 L252.3,301.3 L254.1,302 L255.9,302.7 L257.7,303.4 L259.5,304 L261.3,304.7 L263.2,305.3 L265,305.9 L266.8,306.6 L268.6,307.2 L270.4,307.8 L272.2,308.4 L274,308.9 L275.8,309.5 L277.6,310.1 L279.4,310.6 L281.2,311.2 L283,311.7 L284.8,312.2 L286.7,312.7 L288.5,313.2 L290.3,313.7 L292.1,314.2 L293.9,314.7 L295.7,315.2 L297.5,315.7 L299.3,316.1 L301.1,316.6 L302.9,317 L304.7,317.5 L306.5,317.9 L308.3,318.3 L310.2,318.8 L312,319.2 L313.8,319.6 L315.6,320 L317.4,320.4 L319.2,320.8 L321,321.1 L322.8,321.5 L324.6,321.9 L326.4,322.3 L328.2,322.6 L330,323 L331.8,323.3 L333.7,323.7 L335.5,324 L337.3,324.3 L339.1,324.7 L340.9,325 L342.7,325.3 L344.5,325.6 L346.3,325.9 L348.1,326.2 L349.9,326.5 L351.7,326.8 L353.5,327.1 L355.3,327.4 L357.2,327.7 L359,328 L360.8,328.2 L362.6,328.5 L364.4,328.8 L366.2,329 L368,329.3 L369.8,329.5 L371.6,329.8 L373.4,330 L375.2,330.3 L377,330.5 L378.8,330.8 L380.7,331 L382.5,331.2 L384.3,331.5 L386.1,331.7 L387.9,331.9 L389.7,332.1 L391.5,332.3 L393.3,332.5 L395.1,332.8 L396.9,333 L398.7,333.2 L400.5,333.4 L402.3,333.6 L404.2,333.7 L406,333.9 L407.8,334.1 L409.6,334.3 L411.4,334.5 L413.2,334.7 L415,334.9 L416.8,335 L418.6,335.2 L420.4,335.4 L422.2,335.5 L424,335.7 L425.8,335.9 L427.7,336 L429.5,336.2 L431.3,336.3 L433.1,336.5 L434.9,336.7 L436.7,336.8 L438.5,337 L440.3,337.1 L442.1,337.2 L443.9,337.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,205.9 L86.01,208.6 L87.82,211.3 L89.62,213.9 L91.43,216.3 L93.24,218.7 L95.05,221 L96.85,223.3 L98.66,225.5 L100.5,227.6 L102.3,229.7 L104.1,231.7 L105.9,233.7 L107.7,235.7 L109.5,237.5 L111.3,239.4 L113.1,241.2 L114.9,243 L116.7,244.7 L118.5,246.4 L120.4,248 L122.2,249.6 L124,251.2 L125.8,252.8 L127.6,254.3 L129.4,255.8 L131.2,257.2 L133,258.7 L134.8,260.1 L136.6,261.5 L138.4,262.8 L140.2,264.1 L142,265.4 L143.9,266.7 L145.7,267.9 L147.5,269.2 L149.3,270.4 L151.1,271.6 L152.9,272.7 L154.7,273.9 L156.5,275 L158.3,276.1 L160.1,277.1 L161.9,278.2 L163.7,279.2 L165.5,280.3 L167.4,281.3 L169.2,282.3 L171,283.2 L172.8,284.2 L174.6,285.1 L176.4,286 L178.2,287 L180,287.8 L181.8,288.7 L183.6,289.6 L185.4,290.4 L187.2,291.3 L189,292.1 L190.9,292.9 L192.7,293.7 L194.5,294.5 L196.3,295.2 L198.1,296 L199.9,296.7 L201.7,297.5 L203.5,298.2 L205.3,298.9 L207.1,299.6 L208.9,300.3 L210.7,300.9 L212.5,301.6 L214.4,302.3 L216.2,302.9 L218,303.5 L219.8,304.2 L221.6,304.8 L223.4,305.4 L225.2,306 L227,306.5 L228.8,307.1 L230.6,307.7 L232.4,308.3 L234.2,308.8 L236,309.3 L237.9,309.9 L239.7,310.4 L241.5,310.9 L243.3,311.4 L245.1,311.9 L246.9,312.4 L248.7,312.9 L250.5,313.4 L252.3,313.9 L254.1,314.3 L255.9,314.8 L257.7,315.2 L259.5,315.7 L261.3,316.1 L263.2,316.6 L265,317 L266.8,317.4 L268.6,317.8 L270.4,318.2 L272.2,318.6 L274,319 L275.8,319.4 L277.6,319.8 L279.4,320.2 L281.2,320.5 L283,320.9 L284.8,321.3 L286.7,321.6 L288.5,322 L290.3,322.3 L292.1,322.7 L293.9,323 L295.7,323.3 L297.5,323.7 L299.3,324 L301.1,324.3 L302.9,324.6 L304.7,324.9 L306.5,325.2 L308.3,325.5 L310.2,325.8 L312,326.1 L313.8,326.4 L315.6,326.7 L317.4,327 L319.2,327.3 L321,327.5 L322.8,327.8 L324.6,328.1 L326.4,328.3 L328.2,328.6 L330,328.8 L331.8,329.1 L333.7,329.3 L335.5,329.6 L337.3,329.8 L339.1,330.1 L340.9,330.3 L342.7,330.5 L344.5,330.8 L346.3,331 L348.1,331.2 L349.9,331.4 L351.7,331.6 L353.5,331.8 L355.3,332.1 L357.2,332.3 L359,332.5 L360.8,332.7 L362.6,332.9 L364.4,333.1 L366.2,333.3 L368,333.4 L369.8,333.6 L371.6,333.8 L373.4,334 L375.2,334.2 L377,334.4 L378.8,334.5 L380.7,334.7 L382.5,334.9 L384.3,335 L386.1,335.2 L387.9,335.4 L389.7,335.5 L391.5,335.7 L393.3,335.9 L395.1,336 L396.9,336.2 L398.7,336.3 L400.5,336.5 L402.3,336.6 L404.2,336.8 L406,336.9 L407.8,337 L409.6,337.2 L411.4,337.3 L413.2,337.5 L415,337.6 L416.8,337.7 L418.6,337.9 L420.4,338 L422.2,338.1 L424,338.2 L425.8,338.4 L427.7,338.5 L429.5,338.6 L431.3,338.7 L433.1,338.8 L434.9,339 L436.7,339.1 L438.5,339.2 L440.3,339.3 L442.1,339.4 L443.9,339.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,253.3 L86.01,254.7 L87.82,256.1 L89.62,257.5 L91.43,258.8 L93.24,260.1 L95.05,261.4 L96.85,262.7 L98.66,263.9 L100.5,265.1 L102.3,266.3 L104.1,267.5 L105.9,268.6 L107.7,269.8 L109.5,270.9 L111.3,272 L113.1,273.1 L114.9,274.1 L116.7,275.2 L118.5,276.2 L120.4,277.2 L122.2,278.2 L124,279.2 L125.8,280.1 L127.6,281.1 L129.4,282 L131.2,282.9 L133,283.8 L134.8,284.7 L136.6,285.6 L138.4,286.5 L140.2,287.3 L142,288.1 L143.9,289 L145.7,289.8 L147.5,290.6 L149.3,291.3 L151.1,292.1 L152.9,292.9 L154.7,293.6 L156.5,294.4 L158.3,295.1 L160.1,295.8 L161.9,296.5 L163.7,297.2 L165.5,297.9 L167.4,298.6 L169.2,299.2 L171,299.9 L172.8,300.5 L174.6,301.2 L176.4,301.8 L178.2,302.4 L180,303 L181.8,303.6 L183.6,304.2 L185.4,304.8 L187.2,305.4 L189,305.9 L190.9,306.5 L192.7,307 L194.5,307.6 L196.3,308.1 L198.1,308.6 L199.9,309.2 L201.7,309.7 L203.5,310.2 L205.3,310.7 L207.1,311.2 L208.9,311.6 L210.7,312.1 L212.5,312.6 L214.4,313.1 L216.2,313.5 L218,314 L219.8,314.4 L221.6,314.8 L223.4,315.3 L225.2,315.7 L227,316.1 L228.8,316.5 L230.6,316.9 L232.4,317.3 L234.2,317.7 L236,318.1 L237.9,318.5 L239.7,318.9 L241.5,319.3 L243.3,319.6 L245.1,320 L246.9,320.4 L248.7,320.7 L250.5,321.1 L252.3,321.4 L254.1,321.8 L255.9,322.1 L257.7,322.4 L259.5,322.8 L261.3,323.1 L263.2,323.4 L265,323.7 L266.8,324 L268.6,324.3 L270.4,324.6 L272.2,324.9 L274,325.2 L275.8,325.5 L277.6,325.8 L279.4,326.1 L281.2,326.4 L283,326.6 L284.8,326.9 L286.7,327.2 L288.5,327.4 L290.3,327.7 L292.1,328 L293.9,328.2 L295.7,328.5 L297.5,328.7 L299.3,328.9 L301.1,329.2 L302.9,329.4 L304.7,329.7 L306.5,329.9 L308.3,330.1 L310.2,330.3 L312,330.6 L313.8,330.8 L315.6,331 L317.4,331.2 L319.2,331.4 L321,331.6 L322.8,331.8 L324.6,332 L326.4,332.2 L328.2,332.4 L330,332.6 L331.8,332.8 L333.7,333 L335.5,333.2 L337.3,333.4 L339.1,333.6 L340.9,333.8 L342.7,333.9 L344.5,334.1 L346.3,334.3 L348.1,334.4 L349.9,334.6 L351.7,334.8 L353.5,335 L355.3,335.1 L357.2,335.3 L359,335.4 L360.8,335.6 L362.6,335.7 L364.4,335.9 L366.2,336 L368,336.2 L369.8,336.3 L371.6,336.5 L373.4,336.6 L375.2,336.8 L377,336.9 L378.8,337 L380.7,337.2 L382.5,337.3 L384.3,337.4 L386.1,337.6 L387.9,337.7 L389.7,337.8 L391.5,338 L393.3,338.1 L395.1,338.2 L396.9,338.3 L398.7,338.5 L400.5,338.6 L402.3,338.7 L404.2,338.8 L406,338.9 L407.8,339 L409.6,339.1 L411.4,339.2 L413.2,339.4 L415,339.5 L416.8,339.6 L418.6,339.7 L420.4,339.8 L422.2,339.9 L424,340 L425.8,340.1 L427.7,340.2 L429.5,340.3 L431.3,340.4 L433.1,340.5 L434.9,340.6 L436.7,340.6 L438.5,340.7 L440.3,340.8 L442.1,340.9 L443.9,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="126"/><rect x="467" y="58" width="107" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">n = 1 </text>
+<text x="502" y="114" font-size="14" font-family="Verdana">n = 2 </text>
+<text x="502" y="142" font-size="14" font-family="Verdana">n = 3 </text>
+<text x="502" y="170" font-size="14" font-family="Verdana">n = 4 </text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Exponential Integral En</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/expint_i.png b/libs/math/doc/graphs/expint_i.png
index ca949a157d..ca949a157d 100644
--- a/libs/math/doc/sf_and_dist/graphs/expint_i.png
+++ b/libs/math/doc/graphs/expint_i.png
Binary files differ
diff --git a/libs/math/doc/graphs/expint_i.svg b/libs/math/doc/graphs/expint_i.svg
new file mode 100644
index 0000000000..6ac73ab48f
--- /dev/null
+++ b/libs/math/doc/graphs/expint_i.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="290" y1="58" x2="290" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="202.3" x2="574" y2="202.3"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,184.6 L84.2,184.6 M82.2,166.9 L84.2,166.9 M82.2,149.3 L84.2,149.3 M82.2,113.9 L84.2,113.9 M82.2,96.27 L84.2,96.27 M82.2,78.61 L84.2,78.61 M82.2,202.3 L84.2,202.3 M82.2,219.9 L84.2,219.9 M82.2,237.6 L84.2,237.6 M82.2,255.3 L84.2,255.3 M82.2,272.9 L84.2,272.9 M82.2,290.6 L84.2,290.6 M82.2,308.3 L84.2,308.3 M82.2,325.9 L84.2,325.9 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M307.1,341 L307.1,343 M324.3,341 L324.3,343 M341.4,341 L341.4,343 M375.7,341 L375.7,343 M392.9,341 L392.9,343 M410,341 L410,343 M444.3,341 L444.3,343 M461.5,341 L461.5,343 M478.6,341 L478.6,343 M512.9,341 L512.9,343 M530.1,341 L530.1,343 M547.2,341 L547.2,343 M272.8,341 L272.8,343 M255.7,341 L255.7,343 M238.5,341 L238.5,343 M204.2,341 L204.2,343 M187.1,341 L187.1,343 M169.9,341 L169.9,343 M135.6,341 L135.6,343 M118.5,341 L118.5,343 M101.3,341 L101.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,202.3 L84.2,202.3 M79.2,131.6 L84.2,131.6 M79.2,60.94 L84.2,60.94 M79.2,202.3 L84.2,202.3 M79.2,272.9 L84.2,272.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M290,341 L290,346 M358.6,341 L358.6,346 M427.2,341 L427.2,346 M495.8,341 L495.8,346 M564.4,341 L564.4,346 M290,341 L290,346 M221.4,341 L221.4,346 M152.8,341 L152.8,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="290" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="358.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="427.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="495.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="290" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="221.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="152.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="134" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="73.2" y="63.34" text-anchor="end" font-size="12" font-family="Verdana">20</text>
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="275.3" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">expint(z)</text></g>
+<g id="xLabel">
+<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M290,341 L291.4,225.7 L292.7,220.7 L294.1,217.6 L295.5,215.5 L296.9,213.7 L298.2,212.3 L299.6,211.1 L301,210 L302.3,209 L303.7,208.1 L305.1,207.3 L306.5,206.5 L307.8,205.8 L309.2,205.1 L310.6,204.4 L312,203.8 L313.3,203.2 L314.7,202.6 L316.1,202.1 L317.4,201.5 L318.8,201 L320.2,200.5 L321.6,200 L322.9,199.5 L324.3,199.1 L325.7,198.6 L327,198.2 L328.4,197.7 L329.8,197.3 L331.2,196.8 L332.5,196.4 L333.9,196 L335.3,195.6 L336.6,195.2 L338,194.7 L339.4,194.3 L340.8,193.9 L342.1,193.5 L343.5,193.1 L344.9,192.8 L346.2,192.4 L347.6,192 L349,191.6 L350.4,191.2 L351.7,190.8 L353.1,190.4 L354.5,190 L355.9,189.7 L357.2,189.3 L358.6,188.9 L360,188.5 L361.3,188.1 L362.7,187.7 L364.1,187.3 L365.5,187 L366.8,186.6 L368.2,186.2 L369.6,185.8 L370.9,185.4 L372.3,185 L373.7,184.6 L375.1,184.2 L376.4,183.8 L377.8,183.4 L379.2,183 L380.5,182.6 L381.9,182.2 L383.3,181.8 L384.7,181.4 L386,181 L387.4,180.6 L388.8,180.2 L390.2,179.8 L391.5,179.4 L392.9,178.9 L394.3,178.5 L395.6,178.1 L397,177.7 L398.4,177.2 L399.8,176.8 L401.1,176.4 L402.5,175.9 L403.9,175.5 L405.2,175 L406.6,174.6 L408,174.1 L409.4,173.6 L410.7,173.2 L412.1,172.7 L413.5,172.2 L414.8,171.8 L416.2,171.3 L417.6,170.8 L419,170.3 L420.3,169.8 L421.7,169.3 L423.1,168.8 L424.5,168.3 L425.8,167.8 L427.2,167.3 L428.6,166.7 L429.9,166.2 L431.3,165.7 L432.7,165.1 L434.1,164.6 L435.4,164 L436.8,163.5 L438.2,162.9 L439.5,162.3 L440.9,161.8 L442.3,161.2 L443.7,160.6 L445,160 L446.4,159.4 L447.8,158.8 L449.1,158.2 L450.5,157.5 L451.9,156.9 L453.3,156.3 L454.6,155.6 L456,155 L457.4,154.3 L458.8,153.6 L460.1,153 L461.5,152.3 L462.9,151.6 L464.2,150.9 L465.6,150.2 L467,149.5 L468.4,148.7 L469.7,148 L471.1,147.3 L472.5,146.5 L473.8,145.7 L475.2,145 L476.6,144.2 L478,143.4 L479.3,142.6 L480.7,141.8 L482.1,140.9 L483.4,140.1 L484.8,139.3 L486.2,138.4 L487.6,137.5 L488.9,136.7 L490.3,135.8 L491.7,134.9 L493.1,133.9 L494.4,133 L495.8,132.1 L497.2,131.1 L498.5,130.2 L499.9,129.2 L501.3,128.2 L502.7,127.2 L504,126.2 L505.4,125.1 L506.8,124.1 L508.1,123 L509.5,121.9 L510.9,120.9 L512.3,119.7 L513.6,118.6 L515,117.5 L516.4,116.3 L517.7,115.2 L519.1,114 L520.5,112.8 L521.9,111.6 L523.2,110.3 L524.6,109.1 L526,107.8 L527.4,106.5 L528.7,105.2 L530.1,103.9 L531.5,102.5 L532.8,101.2 L534.2,99.77 L535.6,98.36 L537,96.94 L538.3,95.49 L539.7,94.02 L541.1,92.53 L542.4,91.02 L543.8,89.49 L545.2,87.93 L546.6,86.35 L547.9,84.75 L549.3,83.12 L550.7,81.47 L552,79.8 L553.4,78.1 L554.8,76.37 L556.2,74.62 L557.5,72.84 L558.9,71.04 L560.3,69.21 L561.7,67.35 L563,65.46 L564.4,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,202.4 L85.23,202.4 L86.26,202.4 L87.29,202.4 L88.32,202.4 L89.34,202.4 L90.37,202.4 L91.4,202.4 L92.43,202.4 L93.46,202.4 L94.49,202.4 L95.52,202.4 L96.55,202.4 L97.58,202.4 L98.61,202.4 L99.63,202.4 L100.7,202.4 L101.7,202.4 L102.7,202.4 L103.8,202.4 L104.8,202.4 L105.8,202.4 L106.8,202.4 L107.9,202.4 L108.9,202.4 L109.9,202.4 L111,202.4 L112,202.4 L113,202.4 L114,202.4 L115.1,202.4 L116.1,202.4 L117.1,202.4 L118.2,202.4 L119.2,202.5 L120.2,202.5 L121.2,202.5 L122.3,202.5 L123.3,202.5 L124.3,202.5 L125.4,202.5 L126.4,202.5 L127.4,202.5 L128.4,202.5 L129.5,202.5 L130.5,202.5 L131.5,202.5 L132.6,202.5 L133.6,202.5 L134.6,202.5 L135.6,202.5 L136.7,202.5 L137.7,202.5 L138.7,202.5 L139.8,202.5 L140.8,202.5 L141.8,202.6 L142.9,202.6 L143.9,202.6 L144.9,202.6 L145.9,202.6 L147,202.6 L148,202.6 L149,202.6 L150.1,202.6 L151.1,202.6 L152.1,202.6 L153.1,202.6 L154.2,202.6 L155.2,202.6 L156.2,202.6 L157.3,202.7 L158.3,202.7 L159.3,202.7 L160.3,202.7 L161.4,202.7 L162.4,202.7 L163.4,202.7 L164.5,202.7 L165.5,202.7 L166.5,202.7 L167.5,202.7 L168.6,202.8 L169.6,202.8 L170.6,202.8 L171.7,202.8 L172.7,202.8 L173.7,202.8 L174.8,202.8 L175.8,202.8 L176.8,202.8 L177.8,202.9 L178.9,202.9 L179.9,202.9 L180.9,202.9 L182,202.9 L183,202.9 L184,202.9 L185,203 L186.1,203 L187.1,203 L188.1,203 L189.2,203 L190.2,203 L191.2,203 L192.2,203.1 L193.3,203.1 L194.3,203.1 L195.3,203.1 L196.4,203.1 L197.4,203.2 L198.4,203.2 L199.4,203.2 L200.5,203.2 L201.5,203.2 L202.5,203.3 L203.6,203.3 L204.6,203.3 L205.6,203.3 L206.6,203.4 L207.7,203.4 L208.7,203.4 L209.7,203.4 L210.8,203.5 L211.8,203.5 L212.8,203.5 L213.9,203.6 L214.9,203.6 L215.9,203.6 L216.9,203.7 L218,203.7 L219,203.7 L220,203.8 L221.1,203.8 L222.1,203.9 L223.1,203.9 L224.1,203.9 L225.2,204 L226.2,204 L227.2,204.1 L228.3,204.1 L229.3,204.2 L230.3,204.2 L231.3,204.3 L232.4,204.3 L233.4,204.4 L234.4,204.4 L235.5,204.5 L236.5,204.6 L237.5,204.6 L238.5,204.7 L239.6,204.7 L240.6,204.8 L241.6,204.9 L242.7,205 L243.7,205 L244.7,205.1 L245.8,205.2 L246.8,205.3 L247.8,205.4 L248.8,205.5 L249.9,205.6 L250.9,205.7 L251.9,205.8 L253,205.9 L254,206 L255,206.1 L256,206.3 L257.1,206.4 L258.1,206.5 L259.1,206.7 L260.2,206.8 L261.2,207 L262.2,207.2 L263.2,207.4 L264.3,207.5 L265.3,207.7 L266.3,208 L267.4,208.2 L268.4,208.4 L269.4,208.7 L270.4,208.9 L271.5,209.2 L272.5,209.5 L273.5,209.9 L274.6,210.2 L275.6,210.6 L276.6,211.1 L277.7,211.5 L278.7,212 L279.7,212.6 L280.7,213.3 L281.8,214 L282.8,214.8 L283.8,215.8 L284.9,217 L285.9,218.5 L286.9,220.4 L287.9,223.2 L289,228 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Exponential Integral Ei</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/expm1.png b/libs/math/doc/graphs/expm1.png
index 374bea4695..374bea4695 100644
--- a/libs/math/doc/sf_and_dist/graphs/expm1.png
+++ b/libs/math/doc/graphs/expm1.png
Binary files differ
diff --git a/libs/math/doc/graphs/expm1.svg b/libs/math/doc/graphs/expm1.svg
new file mode 100644
index 0000000000..d7bf6eeb5e
--- /dev/null
+++ b/libs/math/doc/graphs/expm1.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="68.4" y="59" width="504.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="506.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="398.5" y1="58" x2="398.5" y2="346"/><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="62.4" y1="304" x2="574" y2="304"/><line x1="62.4" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,294.6 L67.4,294.6 M65.4,285.2 L67.4,285.2 M65.4,275.8 L67.4,275.8 M65.4,257 L67.4,257 M65.4,247.6 L67.4,247.6 M65.4,238.2 L67.4,238.2 M65.4,219.4 L67.4,219.4 M65.4,209.9 L67.4,209.9 M65.4,200.5 L67.4,200.5 M65.4,181.7 L67.4,181.7 M65.4,172.3 L67.4,172.3 M65.4,162.9 L67.4,162.9 M65.4,144.1 L67.4,144.1 M65.4,134.7 L67.4,134.7 M65.4,125.2 L67.4,125.2 M65.4,106.4 L67.4,106.4 M65.4,97.02 L67.4,97.02 M65.4,87.6 L67.4,87.6 M65.4,68.78 L67.4,68.78 M65.4,59.37 L67.4,59.37 M65.4,304 L67.4,304 M65.4,313.5 L67.4,313.5 M65.4,322.9 L67.4,322.9 M65.4,332.3 L67.4,332.3 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M419.2,341 L419.2,343 M439.9,341 L439.9,343 M460.6,341 L460.6,343 M502,341 L502,343 M522.7,341 L522.7,343 M543.4,341 L543.4,343 M377.8,341 L377.8,343 M357.1,341 L357.1,343 M336.4,341 L336.4,343 M295,341 L295,343 M274.3,341 L274.3,343 M253.7,341 L253.7,343 M212.3,341 L212.3,343 M191.6,341 L191.6,343 M170.9,341 L170.9,343 M129.5,341 L129.5,343 M108.8,341 L108.8,343 M88.09,341 L88.09,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,304 L67.4,304 M62.4,266.4 L67.4,266.4 M62.4,228.8 L67.4,228.8 M62.4,191.1 L67.4,191.1 M62.4,153.5 L67.4,153.5 M62.4,115.8 L67.4,115.8 M62.4,78.19 L67.4,78.19 M62.4,304 L67.4,304 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M398.5,341 L398.5,346 M481.3,341 L481.3,346 M564.1,341 L564.1,346 M398.5,341 L398.5,346 M315.7,341 L315.7,346 M233,341 L233,346 M150.2,341 L150.2,346 M67.4,341 L67.4,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="398.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="481.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="564.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="398.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="315.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="233" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="150.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
+<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text></g>
+<g id="yTicksValues">
+<text x="56.4" y="306.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="56.4" y="268.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="56.4" y="231.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="56.4" y="193.5" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="56.4" y="155.9" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="56.4" y="118.2" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="56.4" y="80.59" text-anchor="end" font-size="12" font-family="Verdana">6</text>
+<text x="56.4" y="306.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">expm1(z)</text></g>
+<g id="xLabel">
+<text x="320.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,341 L69.88,341 L72.37,341 L74.85,340.9 L77.33,340.9 L79.82,340.9 L82.3,340.9 L84.78,340.8 L87.27,340.8 L89.75,340.8 L92.23,340.8 L94.72,340.7 L97.2,340.7 L99.68,340.7 L102.2,340.6 L104.6,340.6 L107.1,340.6 L109.6,340.5 L112.1,340.5 L114.6,340.5 L117.1,340.4 L119.5,340.4 L122,340.4 L124.5,340.3 L127,340.3 L129.5,340.2 L132,340.2 L134.4,340.1 L136.9,340.1 L139.4,340 L141.9,340 L144.4,339.9 L146.9,339.9 L149.3,339.8 L151.8,339.8 L154.3,339.7 L156.8,339.7 L159.3,339.6 L161.8,339.5 L164.2,339.5 L166.7,339.4 L169.2,339.3 L171.7,339.3 L174.2,339.2 L176.7,339.1 L179.1,339 L181.6,338.9 L184.1,338.9 L186.6,338.8 L189.1,338.7 L191.6,338.6 L194,338.5 L196.5,338.4 L199,338.3 L201.5,338.2 L204,338.1 L206.5,338 L208.9,337.9 L211.4,337.8 L213.9,337.6 L216.4,337.5 L218.9,337.4 L221.4,337.3 L223.8,337.1 L226.3,337 L228.8,336.8 L231.3,336.7 L233.8,336.5 L236.3,336.4 L238.7,336.2 L241.2,336.1 L243.7,335.9 L246.2,335.7 L248.7,335.5 L251.2,335.3 L253.6,335.1 L256.1,334.9 L258.6,334.7 L261.1,334.5 L263.6,334.3 L266.1,334.1 L268.5,333.9 L271,333.6 L273.5,333.4 L276,333.1 L278.5,332.9 L281,332.6 L283.4,332.3 L285.9,332 L288.4,331.7 L290.9,331.4 L293.4,331.1 L295.9,330.8 L298.3,330.5 L300.8,330.1 L303.3,329.8 L305.8,329.4 L308.3,329 L310.8,328.6 L313.2,328.3 L315.7,327.8 L318.2,327.4 L320.7,327 L323.2,326.5 L325.7,326.1 L328.1,325.6 L330.6,325.1 L333.1,324.6 L335.6,324.1 L338.1,323.5 L340.6,323 L343,322.4 L345.5,321.8 L348,321.2 L350.5,320.6 L353,320 L355.5,319.3 L357.9,318.6 L360.4,317.9 L362.9,317.2 L365.4,316.5 L367.9,315.7 L370.4,314.9 L372.8,314.1 L375.3,313.2 L377.8,312.4 L380.3,311.5 L382.8,310.6 L385.3,309.6 L387.7,308.6 L390.2,307.6 L392.7,306.6 L395.2,305.5 L397.7,304.4 L400.2,303.3 L402.6,302.1 L405.1,300.9 L407.6,299.7 L410.1,298.4 L412.6,297.1 L415.1,295.7 L417.5,294.3 L420,292.9 L422.5,291.4 L425,289.9 L427.5,288.3 L430,286.6 L432.4,285 L434.9,283.2 L437.4,281.5 L439.9,279.6 L442.4,277.7 L444.9,275.8 L447.3,273.8 L449.8,271.7 L452.3,269.6 L454.8,267.4 L457.3,265.1 L459.8,262.8 L462.2,260.4 L464.7,257.9 L467.2,255.4 L469.7,252.7 L472.2,250 L474.7,247.2 L477.1,244.4 L479.6,241.4 L482.1,238.3 L484.6,235.2 L487.1,231.9 L489.6,228.6 L492,225.2 L494.5,221.6 L497,218 L499.5,214.2 L502,210.3 L504.5,206.3 L506.9,202.2 L509.4,197.9 L511.9,193.6 L514.4,189 L516.9,184.4 L519.4,179.6 L521.8,174.7 L524.3,169.6 L526.8,164.3 L529.3,158.9 L531.8,153.4 L534.3,147.6 L536.7,141.7 L539.2,135.6 L541.7,129.4 L544.2,122.9 L546.7,116.2 L549.2,109.4 L551.6,102.3 L554.1,95 L556.6,87.49 L559.1,79.75 L561.6,71.77 L564.1,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">expm1</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/exponential_pdf.png b/libs/math/doc/graphs/exponential_pdf.png
index 54a44f47c5..54a44f47c5 100644
--- a/libs/math/doc/sf_and_dist/graphs/exponential_pdf.png
+++ b/libs/math/doc/graphs/exponential_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/exponential_pdf.svg b/libs/math/doc/graphs/exponential_pdf.svg
new file mode 100644
index 0000000000..1e57f0cc2c
--- /dev/null
+++ b/libs/math/doc/graphs/exponential_pdf.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="520.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="522.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="606.8" y2="341"/><line x1="79.2" y1="341" x2="606.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,327.3 L84.2,327.3 M82.2,313.7 L84.2,313.7 M82.2,300 L84.2,300 M82.2,286.3 L84.2,286.3 M82.2,259 L84.2,259 M82.2,245.4 L84.2,245.4 M82.2,231.7 L84.2,231.7 M82.2,218 L84.2,218 M82.2,190.7 L84.2,190.7 M82.2,177 L84.2,177 M82.2,163.4 L84.2,163.4 M82.2,149.7 L84.2,149.7 M82.2,122.4 L84.2,122.4 M82.2,108.7 L84.2,108.7 M82.2,95.06 L84.2,95.06 M82.2,81.4 L84.2,81.4 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M101.6,341 L101.6,343 M119,341 L119,343 M136.4,341 L136.4,343 M153.9,341 L153.9,343 M188.7,341 L188.7,343 M206.1,341 L206.1,343 M223.5,341 L223.5,343 M240.9,341 L240.9,343 M275.8,341 L275.8,343 M293.2,341 L293.2,343 M310.6,341 L310.6,343 M328,341 L328,343 M362.9,341 L362.9,343 M380.3,341 L380.3,343 M397.7,341 L397.7,343 M415.1,341 L415.1,343 M449.9,341 L449.9,343 M467.3,341 L467.3,343 M484.8,341 L484.8,343 M502.2,341 L502.2,343 M537,341 L537,343 M554.4,341 L554.4,343 M571.8,341 L571.8,343 M589.3,341 L589.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,272.7 L84.2,272.7 M79.2,204.4 L84.2,204.4 M79.2,136 L84.2,136 M79.2,67.73 L84.2,67.73 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M171.3,341 L171.3,346 M258.4,341 L258.4,346 M345.4,341 L345.4,346 M432.5,341 L432.5,346 M519.6,341 L519.6,346 M606.7,341 L606.7,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="258.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="345.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="432.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="519.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="606.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="275.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="206.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="138.4" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="70.13" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="345.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,272.7 L86.81,273.7 L89.43,274.7 L92.04,275.7 L94.65,276.7 L97.27,277.6 L99.88,278.6 L102.5,279.5 L105.1,280.4 L107.7,281.3 L110.3,282.2 L112.9,283.1 L115.6,283.9 L118.2,284.8 L120.8,285.6 L123.4,286.5 L126,287.3 L128.6,288.1 L131.2,288.9 L133.8,289.6 L136.5,290.4 L139.1,291.1 L141.7,291.9 L144.3,292.6 L146.9,293.3 L149.5,294.1 L152.1,294.7 L154.8,295.4 L157.4,296.1 L160,296.8 L162.6,297.4 L165.2,298.1 L167.8,298.7 L170.4,299.4 L173,300 L175.7,300.6 L178.3,301.2 L180.9,301.8 L183.5,302.4 L186.1,302.9 L188.7,303.5 L191.3,304.1 L193.9,304.6 L196.6,305.2 L199.2,305.7 L201.8,306.2 L204.4,306.7 L207,307.2 L209.6,307.8 L212.2,308.2 L214.8,308.7 L217.5,309.2 L220.1,309.7 L222.7,310.2 L225.3,310.6 L227.9,311.1 L230.5,311.5 L233.1,312 L235.8,312.4 L238.4,312.8 L241,313.2 L243.6,313.6 L246.2,314.1 L248.8,314.5 L251.4,314.8 L254,315.2 L256.7,315.6 L259.3,316 L261.9,316.4 L264.5,316.7 L267.1,317.1 L269.7,317.5 L272.3,317.8 L274.9,318.2 L277.6,318.5 L280.2,318.8 L282.8,319.2 L285.4,319.5 L288,319.8 L290.6,320.1 L293.2,320.4 L295.9,320.7 L298.5,321 L301.1,321.3 L303.7,321.6 L306.3,321.9 L308.9,322.2 L311.5,322.5 L314.1,322.8 L316.8,323 L319.4,323.3 L322,323.6 L324.6,323.8 L327.2,324.1 L329.8,324.3 L332.4,324.6 L335,324.8 L337.7,325.1 L340.3,325.3 L342.9,325.5 L345.5,325.8 L348.1,326 L350.7,326.2 L353.3,326.4 L356,326.6 L358.6,326.9 L361.2,327.1 L363.8,327.3 L366.4,327.5 L369,327.7 L371.6,327.9 L374.2,328.1 L376.9,328.3 L379.5,328.5 L382.1,328.6 L384.7,328.8 L387.3,329 L389.9,329.2 L392.5,329.4 L395.1,329.5 L397.8,329.7 L400.4,329.9 L403,330 L405.6,330.2 L408.2,330.4 L410.8,330.5 L413.4,330.7 L416.1,330.8 L418.7,331 L421.3,331.1 L423.9,331.3 L426.5,331.4 L429.1,331.6 L431.7,331.7 L434.3,331.9 L437,332 L439.6,332.1 L442.2,332.3 L444.8,332.4 L447.4,332.5 L450,332.6 L452.6,332.8 L455.2,332.9 L457.9,333 L460.5,333.1 L463.1,333.2 L465.7,333.4 L468.3,333.5 L470.9,333.6 L473.5,333.7 L476.2,333.8 L478.8,333.9 L481.4,334 L484,334.1 L486.6,334.2 L489.2,334.3 L491.8,334.4 L494.4,334.5 L497.1,334.6 L499.7,334.7 L502.3,334.8 L504.9,334.9 L507.5,335 L510.1,335.1 L512.7,335.2 L515.3,335.3 L518,335.3 L520.6,335.4 L523.2,335.5 L525.8,335.6 L528.4,335.7 L531,335.7 L533.6,335.8 L536.2,335.9 L538.9,336 L541.5,336.1 L544.1,336.1 L546.7,336.2 L549.3,336.3 L551.9,336.3 L554.5,336.4 L557.2,336.5 L559.8,336.5 L562.4,336.6 L565,336.7 L567.6,336.7 L570.2,336.8 L572.8,336.9 L575.4,336.9 L578.1,337 L580.7,337.1 L583.3,337.1 L585.9,337.2 L588.5,337.2 L591.1,337.3 L593.7,337.3 L596.3,337.4 L599,337.4 L601.6,337.5 L604.2,337.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,204.4 L86.81,208.4 L89.43,212.3 L92.04,216.1 L94.65,219.8 L97.27,223.4 L99.88,226.9 L102.5,230.3 L105.1,233.5 L107.7,236.7 L110.3,239.8 L112.9,242.8 L115.6,245.7 L118.2,248.5 L120.8,251.2 L123.4,253.9 L126,256.5 L128.6,259 L131.2,261.4 L133.8,263.7 L136.5,266 L139.1,268.2 L141.7,270.4 L144.3,272.5 L146.9,274.5 L149.5,276.5 L152.1,278.4 L154.8,280.2 L157.4,282 L160,283.8 L162.6,285.5 L165.2,287.1 L167.8,288.7 L170.4,290.2 L173,291.7 L175.7,293.2 L178.3,294.6 L180.9,296 L183.5,297.3 L186.1,298.6 L188.7,299.9 L191.3,301.1 L193.9,302.3 L196.6,303.4 L199.2,304.5 L201.8,305.6 L204.4,306.6 L207,307.7 L209.6,308.6 L212.2,309.6 L214.8,310.5 L217.5,311.4 L220.1,312.3 L222.7,313.1 L225.3,314 L227.9,314.8 L230.5,315.5 L233.1,316.3 L235.8,317 L238.4,317.7 L241,318.4 L243.6,319.1 L246.2,319.7 L248.8,320.4 L251.4,321 L254,321.6 L256.7,322.1 L259.3,322.7 L261.9,323.2 L264.5,323.8 L267.1,324.3 L269.7,324.8 L272.3,325.3 L274.9,325.7 L277.6,326.2 L280.2,326.6 L282.8,327 L285.4,327.4 L288,327.8 L290.6,328.2 L293.2,328.6 L295.9,329 L298.5,329.3 L301.1,329.7 L303.7,330 L306.3,330.3 L308.9,330.7 L311.5,331 L314.1,331.3 L316.8,331.5 L319.4,331.8 L322,332.1 L324.6,332.4 L327.2,332.6 L329.8,332.9 L332.4,333.1 L335,333.3 L337.7,333.6 L340.3,333.8 L342.9,334 L345.5,334.2 L348.1,334.4 L350.7,334.6 L353.3,334.8 L356,335 L358.6,335.1 L361.2,335.3 L363.8,335.5 L366.4,335.7 L369,335.8 L371.6,336 L374.2,336.1 L376.9,336.3 L379.5,336.4 L382.1,336.5 L384.7,336.7 L387.3,336.8 L389.9,336.9 L392.5,337 L395.1,337.2 L397.8,337.3 L400.4,337.4 L403,337.5 L405.6,337.6 L408.2,337.7 L410.8,337.8 L413.4,337.9 L416.1,338 L418.7,338.1 L421.3,338.2 L423.9,338.2 L426.5,338.3 L429.1,338.4 L431.7,338.5 L434.3,338.5 L437,338.6 L439.6,338.7 L442.2,338.8 L444.8,338.8 L447.4,338.9 L450,339 L452.6,339 L455.2,339.1 L457.9,339.1 L460.5,339.2 L463.1,339.2 L465.7,339.3 L468.3,339.3 L470.9,339.4 L473.5,339.4 L476.2,339.5 L478.8,339.5 L481.4,339.6 L484,339.6 L486.6,339.7 L489.2,339.7 L491.8,339.7 L494.4,339.8 L497.1,339.8 L499.7,339.8 L502.3,339.9 L504.9,339.9 L507.5,339.9 L510.1,340 L512.7,340 L515.3,340 L518,340.1 L520.6,340.1 L523.2,340.1 L525.8,340.1 L528.4,340.2 L531,340.2 L533.6,340.2 L536.2,340.2 L538.9,340.3 L541.5,340.3 L544.1,340.3 L546.7,340.3 L549.3,340.3 L551.9,340.4 L554.5,340.4 L557.2,340.4 L559.8,340.4 L562.4,340.4 L565,340.5 L567.6,340.5 L570.2,340.5 L572.8,340.5 L575.4,340.5 L578.1,340.5 L580.7,340.5 L583.3,340.6 L585.9,340.6 L588.5,340.6 L591.1,340.6 L593.7,340.6 L596.3,340.6 L599,340.6 L601.6,340.6 L604.2,340.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,67.73 L86.81,83.65 L89.43,98.64 L92.04,112.8 L94.65,126.1 L97.27,138.6 L99.88,150.4 L102.5,161.5 L105.1,171.9 L107.7,181.8 L110.3,191 L112.9,199.8 L115.6,208 L118.2,215.8 L120.8,223.1 L123.4,229.9 L126,236.4 L128.6,242.5 L131.2,248.2 L133.8,253.6 L136.5,258.7 L139.1,263.5 L141.7,268 L144.3,272.3 L146.9,276.3 L149.5,280 L152.1,283.6 L154.8,286.9 L157.4,290.1 L160,293.1 L162.6,295.8 L165.2,298.5 L167.8,301 L170.4,303.3 L173,305.5 L175.7,307.6 L178.3,309.5 L180.9,311.3 L183.5,313.1 L186.1,314.7 L188.7,316.2 L191.3,317.7 L193.9,319 L196.6,320.3 L199.2,321.5 L201.8,322.6 L204.4,323.7 L207,324.7 L209.6,325.7 L212.2,326.6 L214.8,327.4 L217.5,328.2 L220.1,328.9 L222.7,329.6 L225.3,330.3 L227.9,330.9 L230.5,331.5 L233.1,332.1 L235.8,332.6 L238.4,333.1 L241,333.5 L243.6,334 L246.2,334.4 L248.8,334.8 L251.4,335.1 L254,335.5 L256.7,335.8 L259.3,336.1 L261.9,336.4 L264.5,336.7 L267.1,336.9 L269.7,337.1 L272.3,337.4 L274.9,337.6 L277.6,337.8 L280.2,338 L282.8,338.1 L285.4,338.3 L288,338.5 L290.6,338.6 L293.2,338.8 L295.9,338.9 L298.5,339 L301.1,339.1 L303.7,339.2 L306.3,339.3 L308.9,339.4 L311.5,339.5 L314.1,339.6 L316.8,339.7 L319.4,339.8 L322,339.8 L324.6,339.9 L327.2,340 L329.8,340 L332.4,340.1 L335,340.1 L337.7,340.2 L340.3,340.2 L342.9,340.3 L345.5,340.3 L348.1,340.4 L350.7,340.4 L353.3,340.4 L356,340.5 L358.6,340.5 L361.2,340.5 L363.8,340.6 L366.4,340.6 L369,340.6 L371.6,340.6 L374.2,340.7 L376.9,340.7 L379.5,340.7 L382.1,340.7 L384.7,340.7 L387.3,340.7 L389.9,340.8 L392.5,340.8 L395.1,340.8 L397.8,340.8 L400.4,340.8 L403,340.8 L405.6,340.8 L408.2,340.8 L410.8,340.8 L413.4,340.9 L416.1,340.9 L418.7,340.9 L421.3,340.9 L423.9,340.9 L426.5,340.9 L429.1,340.9 L431.7,340.9 L434.3,340.9 L437,340.9 L439.6,340.9 L442.2,340.9 L444.8,340.9 L447.4,340.9 L450,340.9 L452.6,340.9 L455.2,340.9 L457.9,340.9 L460.5,341 L463.1,341 L465.7,341 L468.3,341 L470.9,341 L473.5,341 L476.2,341 L478.8,341 L481.4,341 L484,341 L486.6,341 L489.2,341 L491.8,341 L494.4,341 L497.1,341 L499.7,341 L502.3,341 L504.9,341 L507.5,341 L510.1,341 L512.7,341 L515.3,341 L518,341 L520.6,341 L523.2,341 L525.8,341 L528.4,341 L531,341 L533.6,341 L536.2,341 L538.9,341 L541.5,341 L544.1,341 L546.7,341 L549.3,341 L551.9,341 L554.5,341 L557.2,341 L559.8,341 L562.4,341 L565,341 L567.6,341 L570.2,341 L572.8,341 L575.4,341 L578.1,341 L580.7,341 L583.3,341 L585.9,341 L588.5,341 L591.1,341 L593.7,341 L596.3,341 L599,341 L601.6,341 L604.2,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="620.8" y="58" width="103.2" height="105"/><rect x="620.8" y="58" width="103.2" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="635.8" y1="88" x2="650.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="635.8" y1="118" x2="650.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="635.8" y1="148" x2="650.8" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="658.3" y="88" font-size="15" font-family="Verdana">&#x3BB;=0.5</text>
+<text x="658.3" y="118" font-size="15" font-family="Verdana">&#x3BB;=1</text>
+<text x="658.3" y="148" font-size="15" font-family="Verdana">&#x3BB;=2</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Exponential Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.png b/libs/math/doc/graphs/extreme_value_pdf1.png
index b583b09eb0..b583b09eb0 100644
--- a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.png
+++ b/libs/math/doc/graphs/extreme_value_pdf1.png
Binary files differ
diff --git a/libs/math/doc/graphs/extreme_value_pdf1.svg b/libs/math/doc/graphs/extreme_value_pdf1.svg
new file mode 100644
index 0000000000..3640c8c996
--- /dev/null
+++ b/libs/math/doc/graphs/extreme_value_pdf1.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="288.3" y1="58" x2="288.3" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,327 L84.2,327 M82.2,313 L84.2,313 M82.2,299 L84.2,299 M82.2,285.1 L84.2,285.1 M82.2,257.1 L84.2,257.1 M82.2,243.1 L84.2,243.1 M82.2,229.1 L84.2,229.1 M82.2,215.1 L84.2,215.1 M82.2,187.1 L84.2,187.1 M82.2,173.2 L84.2,173.2 M82.2,159.2 L84.2,159.2 M82.2,145.2 L84.2,145.2 M82.2,117.2 L84.2,117.2 M82.2,103.2 L84.2,103.2 M82.2,89.24 L84.2,89.24 M82.2,75.25 L84.2,75.25 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M318.6,341 L318.6,343 M348.8,341 L348.8,343 M379.1,341 L379.1,343 M409.3,341 L409.3,343 M469.8,341 L469.8,343 M500.1,341 L500.1,343 M530.3,341 L530.3,343 M258.1,341 L258.1,343 M227.8,341 L227.8,343 M197.6,341 L197.6,343 M167.3,341 L167.3,343 M106.8,341 L106.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,271.1 L84.2,271.1 M79.2,201.1 L84.2,201.1 M79.2,131.2 L84.2,131.2 M79.2,61.26 L84.2,61.26 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M288.3,341 L288.3,346 M439.6,341 L439.6,346 M288.3,341 L288.3,346 M137.1,341 L137.1,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="288.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="439.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="288.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="137.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="273.5" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="203.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="133.6" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="63.66" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,328.1 L86.58,322.6 L88.96,315.7 L91.33,307 L93.71,296.8 L96.09,284.9 L98.47,271.4 L100.8,256.7 L103.2,240.9 L105.6,224.3 L108,207.4 L110.4,190.5 L112.7,173.9 L115.1,158.1 L117.5,143.3 L119.9,129.9 L122.2,117.9 L124.6,107.7 L127,99.26 L129.4,92.67 L131.8,87.93 L134.1,84.99 L136.5,83.77 L138.9,84.18 L141.3,86.07 L143.6,89.3 L146,93.73 L148.4,99.2 L150.8,105.5 L153.2,112.6 L155.5,120.3 L157.9,128.4 L160.3,136.9 L162.7,145.6 L165,154.4 L167.4,163.3 L169.8,172.1 L172.2,180.8 L174.6,189.3 L176.9,197.7 L179.3,205.8 L181.7,213.7 L184.1,221.3 L186.4,228.5 L188.8,235.5 L191.2,242.1 L193.6,248.4 L196,254.4 L198.3,260.1 L200.7,265.5 L203.1,270.5 L205.5,275.3 L207.8,279.8 L210.2,284 L212.6,287.9 L215,291.7 L217.4,295.1 L219.7,298.4 L222.1,301.4 L224.5,304.2 L226.9,306.9 L229.2,309.3 L231.6,311.6 L234,313.7 L236.4,315.7 L238.8,317.6 L241.1,319.3 L243.5,320.9 L245.9,322.4 L248.3,323.7 L250.6,325 L253,326.2 L255.4,327.3 L257.8,328.3 L260.2,329.2 L262.5,330.1 L264.9,330.9 L267.3,331.7 L269.7,332.4 L272,333 L274.4,333.6 L276.8,334.2 L279.2,334.7 L281.6,335.2 L283.9,335.6 L286.3,336 L288.7,336.4 L291.1,336.7 L293.4,337 L295.8,337.3 L298.2,337.6 L300.6,337.9 L303,338.1 L305.3,338.3 L307.7,338.5 L310.1,338.7 L312.5,338.9 L314.8,339 L317.2,339.2 L319.6,339.3 L322,339.5 L324.4,339.6 L326.7,339.7 L329.1,339.8 L331.5,339.9 L333.9,340 L336.2,340 L338.6,340.1 L341,340.2 L343.4,340.2 L345.8,340.3 L348.1,340.3 L350.5,340.4 L352.9,340.4 L355.3,340.5 L357.6,340.5 L360,340.6 L362.4,340.6 L364.8,340.6 L367.2,340.7 L369.5,340.7 L371.9,340.7 L374.3,340.7 L376.7,340.7 L379,340.8 L381.4,340.8 L383.8,340.8 L386.2,340.8 L388.6,340.8 L390.9,340.8 L393.3,340.9 L395.7,340.9 L398.1,340.9 L400.4,340.9 L402.8,340.9 L405.2,340.9 L407.6,340.9 L410,340.9 L412.3,340.9 L414.7,340.9 L417.1,340.9 L419.5,340.9 L421.8,340.9 L424.2,340.9 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,340.9 L217.4,340.8 L219.7,340.6 L222.1,340.2 L224.5,339.5 L226.9,338.4 L229.2,336.7 L231.6,334.3 L234,330.8 L236.4,326.2 L238.8,320.1 L241.1,312.5 L243.5,303.2 L245.9,292.3 L248.3,279.8 L250.6,265.8 L253,250.6 L255.4,234.4 L257.8,217.7 L260.2,200.7 L262.5,183.9 L264.9,167.6 L267.3,152.2 L269.7,137.9 L272,125 L274.4,113.7 L276.8,104.2 L279.2,96.46 L281.6,90.59 L283.9,86.56 L286.3,84.31 L288.7,83.75 L291.1,84.75 L293.4,87.18 L295.8,90.9 L298.2,95.76 L300.6,101.6 L303,108.2 L305.3,115.6 L307.7,123.4 L310.1,131.7 L312.5,140.3 L314.8,149 L317.2,157.9 L319.6,166.7 L322,175.5 L324.4,184.2 L326.7,192.6 L329.1,200.9 L331.5,208.9 L333.9,216.7 L336.2,224.1 L338.6,231.3 L341,238.1 L343.4,244.6 L345.8,250.8 L348.1,256.7 L350.5,262.2 L352.9,267.5 L355.3,272.4 L357.6,277.1 L360,281.5 L362.4,285.6 L364.8,289.4 L367.2,293 L369.5,296.4 L371.9,299.6 L374.3,302.5 L376.7,305.3 L379,307.8 L381.4,310.2 L383.8,312.5 L386.2,314.5 L388.6,316.5 L390.9,318.3 L393.3,319.9 L395.7,321.5 L398.1,322.9 L400.4,324.2 L402.8,325.5 L405.2,326.6 L407.6,327.7 L410,328.7 L412.3,329.6 L414.7,330.4 L417.1,331.2 L419.5,332 L421.8,332.6 L424.2,333.3 L426.6,333.8 L429,334.4 L431.4,334.9 L433.7,335.3 L436.1,335.8 L438.5,336.1 L440.9,336.5 L443.2,336.9 L445.6,337.2 L448,337.5 L450.4,337.7 L452.8,338 L455.1,338.2 L457.5,338.4 L459.9,338.6 L462.3,338.8 L464.6,338.9 L467,339.1 L469.4,339.2 L471.8,339.4 L474.2,339.5 L476.5,339.6 L478.9,339.7 L481.3,339.8 L483.7,339.9 L486,340 L488.4,340.1 L490.8,340.1 L493.2,340.2 L495.6,340.3 L497.9,340.3 L500.3,340.4 L502.7,340.4 L505.1,340.5 L507.4,340.5 L509.8,340.5 L512.2,340.6 L514.6,340.6 L517,340.6 L519.3,340.7 L521.7,340.7 L524.1,340.7 L526.5,340.7 L528.8,340.8 L531.2,340.8 L533.6,340.8 L536,340.8 L538.4,340.8 L540.7,340.8 L543.1,340.8 L545.5,340.9 L547.9,340.9 L550.2,340.9 L552.6,340.9 L555,340.9 L557.4,340.9 L559.8,340.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,340.9 L367.2,340.9 L369.5,340.7 L371.9,340.4 L374.3,339.9 L376.7,339.1 L379,337.8 L381.4,335.9 L383.8,333.1 L386.2,329.2 L388.6,324 L390.9,317.3 L393.3,309.1 L395.7,299.1 L398.1,287.6 L400.4,274.5 L402.8,260 L405.2,244.4 L407.6,227.9 L410,211.1 L412.3,194.1 L414.7,177.5 L417.1,161.4 L419.5,146.4 L421.8,132.7 L424.2,120.4 L426.6,109.8 L429,100.9 L431.4,93.94 L433.7,88.8 L436.1,85.48 L438.5,83.9 L440.9,83.96 L443.2,85.54 L445.6,88.5 L448,92.68 L450.4,97.93 L452.8,104.1 L455.1,111 L457.5,118.6 L459.9,126.6 L462.3,135 L464.6,143.7 L467,152.5 L469.4,161.3 L471.8,170.2 L474.2,178.9 L476.5,187.5 L478.9,195.9 L481.3,204.1 L483.7,212 L486,219.6 L488.4,227 L490.8,234 L493.2,240.7 L495.6,247.1 L497.9,253.1 L500.3,258.9 L502.7,264.3 L505.1,269.5 L507.4,274.3 L509.8,278.8 L512.2,283.1 L514.6,287.1 L517,290.9 L519.3,294.4 L521.7,297.7 L524.1,300.8 L526.5,303.6 L528.8,306.3 L531.2,308.8 L533.6,311.1 L536,313.3 L538.4,315.3 L540.7,317.2 L543.1,318.9 L545.5,320.5 L547.9,322 L550.2,323.4 L552.6,324.7 L555,325.9 L557.4,327.1 L559.8,328.1 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">location=-5</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">location=0</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">location=5</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Extreme Value Distribution PDF (shape=1)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.png b/libs/math/doc/graphs/extreme_value_pdf2.png
index e1a8d929f6..e1a8d929f6 100644
--- a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.png
+++ b/libs/math/doc/graphs/extreme_value_pdf2.png
Binary files differ
diff --git a/libs/math/doc/graphs/extreme_value_pdf2.svg b/libs/math/doc/graphs/extreme_value_pdf2.svg
new file mode 100644
index 0000000000..6439c8c261
--- /dev/null
+++ b/libs/math/doc/graphs/extreme_value_pdf2.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="234.2" y1="58" x2="234.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334 L84.2,334 M82.2,327 L84.2,327 M82.2,320 L84.2,320 M82.2,313 L84.2,313 M82.2,299 L84.2,299 M82.2,292 L84.2,292 M82.2,285.1 L84.2,285.1 M82.2,278.1 L84.2,278.1 M82.2,264.1 L84.2,264.1 M82.2,257.1 L84.2,257.1 M82.2,250.1 L84.2,250.1 M82.2,243.1 L84.2,243.1 M82.2,229.1 L84.2,229.1 M82.2,222.1 L84.2,222.1 M82.2,215.1 L84.2,215.1 M82.2,208.1 L84.2,208.1 M82.2,194.1 L84.2,194.1 M82.2,187.1 L84.2,187.1 M82.2,180.2 L84.2,180.2 M82.2,173.2 L84.2,173.2 M82.2,159.2 L84.2,159.2 M82.2,152.2 L84.2,152.2 M82.2,145.2 L84.2,145.2 M82.2,138.2 L84.2,138.2 M82.2,124.2 L84.2,124.2 M82.2,117.2 L84.2,117.2 M82.2,110.2 L84.2,110.2 M82.2,103.2 L84.2,103.2 M82.2,89.24 L84.2,89.24 M82.2,82.24 L84.2,82.24 M82.2,75.25 L84.2,75.25 M82.2,68.26 L84.2,68.26 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M277.1,341 L277.1,343 M320.1,341 L320.1,343 M363,341 L363,343 M405.9,341 L405.9,343 M491.7,341 L491.7,343 M534.6,341 L534.6,343 M191.3,341 L191.3,343 M148.4,341 L148.4,343 M105.5,341 L105.5,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306 L84.2,306 M79.2,271.1 L84.2,271.1 M79.2,236.1 L84.2,236.1 M79.2,201.1 L84.2,201.1 M79.2,166.2 L84.2,166.2 M79.2,131.2 L84.2,131.2 M79.2,96.23 L84.2,96.23 M79.2,61.26 L84.2,61.26 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M234.2,341 L234.2,346 M448.8,341 L448.8,346 M234.2,341 L234.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="234.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="448.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="234.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="308.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="273.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="238.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="203.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="168.6" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="133.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="98.63" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="63.66" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,340.9 L184.9,340.7 L187.4,340.1 L189.8,339 L192.3,336.8 L194.7,332.9 L197.2,326.8 L199.6,317.7 L202.1,305.2 L204.6,289.3 L207,270 L209.5,248 L211.9,224.1 L214.4,199.4 L216.8,175.1 L219.3,152.3 L221.7,131.9 L224.2,114.7 L226.7,101.2 L229.1,91.53 L231.6,85.77 L234,83.74 L236.5,85.1 L238.9,89.44 L241.4,96.29 L243.9,105.2 L246.3,115.7 L248.8,127.3 L251.2,139.6 L253.7,152.4 L256.1,165.3 L258.6,178.1 L261,190.5 L263.5,202.6 L266,214.1 L268.4,225 L270.9,235.3 L273.3,244.8 L275.8,253.7 L278.2,261.9 L280.7,269.5 L283.2,276.4 L285.6,282.8 L288.1,288.6 L290.5,293.8 L293,298.6 L295.4,302.9 L297.9,306.8 L300.3,310.3 L302.8,313.5 L305.3,316.4 L307.7,319 L310.2,321.3 L312.6,323.4 L315.1,325.2 L317.5,326.9 L320,328.4 L322.5,329.7 L324.9,330.9 L327.4,332 L329.8,333 L332.3,333.8 L334.7,334.6 L337.2,335.3 L339.6,335.9 L342.1,336.4 L344.6,336.9 L347,337.4 L349.5,337.8 L351.9,338.1 L354.4,338.4 L356.8,338.7 L359.3,338.9 L361.8,339.2 L364.2,339.4 L366.7,339.5 L369.1,339.7 L371.6,339.8 L374,340 L376.5,340.1 L378.9,340.2 L381.4,340.3 L383.9,340.3 L386.3,340.4 L388.8,340.5 L391.2,340.5 L393.7,340.6 L396.1,340.6 L398.6,340.7 L401,340.7 L403.5,340.7 L406,340.8 L408.4,340.8 L410.9,340.8 L413.3,340.8 L415.8,340.9 L418.2,340.9 L420.7,340.9 L423.2,340.9 L425.6,340.9 L428.1,340.9 L430.5,340.9 L433,340.9 L435.4,340.9 L437.9,340.9 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,340.9 L133.3,340.9 L135.8,340.8 L138.2,340.7 L140.7,340.6 L143.1,340.3 L145.6,340 L148.1,339.5 L150.5,338.8 L153,338 L155.4,336.9 L157.9,335.5 L160.3,333.7 L162.8,331.6 L165.3,329.1 L167.7,326.2 L170.2,322.8 L172.6,319 L175.1,314.8 L177.5,310.1 L180,305.1 L182.4,299.7 L184.9,294 L187.4,288.1 L189.8,282 L192.3,275.9 L194.7,269.7 L197.2,263.6 L199.6,257.6 L202.1,251.8 L204.6,246.2 L207,241 L209.5,236.1 L211.9,231.6 L214.4,227.5 L216.8,224 L219.3,220.9 L221.7,218.2 L224.2,216.1 L226.7,214.5 L229.1,213.3 L231.6,212.6 L234,212.4 L236.5,212.5 L238.9,213.1 L241.4,214.1 L243.9,215.3 L246.3,216.9 L248.8,218.8 L251.2,220.9 L253.7,223.3 L256.1,225.8 L258.6,228.6 L261,231.4 L263.5,234.4 L266,237.4 L268.4,240.6 L270.9,243.7 L273.3,247 L275.8,250.2 L278.2,253.4 L280.7,256.6 L283.2,259.8 L285.6,262.9 L288.1,266 L290.5,269.1 L293,272 L295.4,274.9 L297.9,277.8 L300.3,280.5 L302.8,283.2 L305.3,285.8 L307.7,288.3 L310.2,290.8 L312.6,293.1 L315.1,295.4 L317.5,297.5 L320,299.6 L322.5,301.6 L324.9,303.6 L327.4,305.4 L329.8,307.2 L332.3,308.9 L334.7,310.5 L337.2,312 L339.6,313.5 L342.1,314.9 L344.6,316.2 L347,317.5 L349.5,318.7 L351.9,319.9 L354.4,321 L356.8,322 L359.3,323 L361.8,324 L364.2,324.9 L366.7,325.7 L369.1,326.6 L371.6,327.3 L374,328.1 L376.5,328.8 L378.9,329.4 L381.4,330 L383.9,330.6 L386.3,331.2 L388.8,331.7 L391.2,332.2 L393.7,332.7 L396.1,333.1 L398.6,333.6 L401,334 L403.5,334.4 L406,334.7 L408.4,335.1 L410.9,335.4 L413.3,335.7 L415.8,336 L418.2,336.3 L420.7,336.5 L423.2,336.8 L425.6,337 L428.1,337.2 L430.5,337.4 L433,337.6 L435.4,337.8 L437.9,338 L440.3,338.2 L442.8,338.3 L445.3,338.5 L447.7,338.6 L450.2,338.7 L452.6,338.9 L455.1,339 L457.5,339.1 L460,339.2 L462.5,339.3 L464.9,339.4 L467.4,339.5 L469.8,339.6 L472.3,339.6 L474.7,339.7 L477.2,339.8 L479.6,339.9 L482.1,339.9 L484.6,340 L487,340 L489.5,340.1 L491.9,340.1 L494.4,340.2 L496.8,340.2 L499.3,340.3 L501.8,340.3 L504.2,340.4 L506.7,340.4 L509.1,340.4 L511.6,340.5 L514,340.5 L516.5,340.5 L518.9,340.5 L521.4,340.6 L523.9,340.6 L526.3,340.6 L528.8,340.6 L531.2,340.7 L533.7,340.7 L536.1,340.7 L538.6,340.7 L541.1,340.7 L543.5,340.7 L546,340.8 L548.4,340.8 L550.9,340.8 L553.3,340.8 L555.8,340.8 L558.2,340.8 L560.7,340.8 L563.2,340.8 L565.6,340.8 L568.1,340.9 L570.5,340.9 L573,340.9 L575.4,340.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.66,337.3 L89.11,336.8 L91.57,336.3 L94.02,335.7 L96.48,335 L98.94,334.3 L101.4,333.5 L103.8,332.7 L106.3,331.8 L108.8,330.9 L111.2,329.9 L113.7,328.9 L116.1,327.8 L118.6,326.7 L121,325.5 L123.5,324.2 L126,322.9 L128.4,321.6 L130.9,320.2 L133.3,318.8 L135.8,317.4 L138.2,315.9 L140.7,314.4 L143.1,312.9 L145.6,311.4 L148.1,309.9 L150.5,308.3 L153,306.8 L155.4,305.2 L157.9,303.7 L160.3,302.2 L162.8,300.7 L165.3,299.2 L167.7,297.7 L170.2,296.3 L172.6,294.9 L175.1,293.5 L177.5,292.2 L180,290.9 L182.4,289.6 L184.9,288.4 L187.4,287.3 L189.8,286.2 L192.3,285.2 L194.7,284.2 L197.2,283.3 L199.6,282.4 L202.1,281.6 L204.6,280.9 L207,280.2 L209.5,279.6 L211.9,279 L214.4,278.5 L216.8,278.1 L219.3,277.7 L221.7,277.4 L224.2,277.1 L226.7,276.9 L229.1,276.8 L231.6,276.7 L234,276.7 L236.5,276.7 L238.9,276.8 L241.4,276.9 L243.9,277.1 L246.3,277.3 L248.8,277.5 L251.2,277.9 L253.7,278.2 L256.1,278.6 L258.6,279 L261,279.5 L263.5,279.9 L266,280.5 L268.4,281 L270.9,281.6 L273.3,282.2 L275.8,282.8 L278.2,283.5 L280.7,284.1 L283.2,284.8 L285.6,285.5 L288.1,286.3 L290.5,287 L293,287.8 L295.4,288.5 L297.9,289.3 L300.3,290.1 L302.8,290.8 L305.3,291.6 L307.7,292.4 L310.2,293.2 L312.6,294 L315.1,294.8 L317.5,295.7 L320,296.5 L322.5,297.3 L324.9,298.1 L327.4,298.9 L329.8,299.7 L332.3,300.5 L334.7,301.2 L337.2,302 L339.6,302.8 L342.1,303.6 L344.6,304.3 L347,305.1 L349.5,305.8 L351.9,306.6 L354.4,307.3 L356.8,308 L359.3,308.7 L361.8,309.4 L364.2,310.1 L366.7,310.8 L369.1,311.5 L371.6,312.2 L374,312.8 L376.5,313.5 L378.9,314.1 L381.4,314.7 L383.9,315.3 L386.3,315.9 L388.8,316.5 L391.2,317.1 L393.7,317.7 L396.1,318.2 L398.6,318.8 L401,319.3 L403.5,319.8 L406,320.4 L408.4,320.9 L410.9,321.4 L413.3,321.8 L415.8,322.3 L418.2,322.8 L420.7,323.2 L423.2,323.7 L425.6,324.1 L428.1,324.5 L430.5,325 L433,325.4 L435.4,325.8 L437.9,326.2 L440.3,326.5 L442.8,326.9 L445.3,327.3 L447.7,327.6 L450.2,328 L452.6,328.3 L455.1,328.6 L457.5,329 L460,329.3 L462.5,329.6 L464.9,329.9 L467.4,330.2 L469.8,330.5 L472.3,330.7 L474.7,331 L477.2,331.3 L479.6,331.5 L482.1,331.8 L484.6,332 L487,332.3 L489.5,332.5 L491.9,332.7 L494.4,333 L496.8,333.2 L499.3,333.4 L501.8,333.6 L504.2,333.8 L506.7,334 L509.1,334.2 L511.6,334.4 L514,334.5 L516.5,334.7 L518.9,334.9 L521.4,335.1 L523.9,335.2 L526.3,335.4 L528.8,335.5 L531.2,335.7 L533.7,335.8 L536.1,336 L538.6,336.1 L541.1,336.2 L543.5,336.4 L546,336.5 L548.4,336.6 L550.9,336.7 L553.3,336.9 L555.8,337 L558.2,337.1 L560.7,337.2 L563.2,337.3 L565.6,337.4 L568.1,337.5 L570.5,337.6 L573,337.7 L575.4,337.8 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="626.9" y="88" font-size="15" font-family="Verdana">shape=0.5</text>
+<text x="626.9" y="118" font-size="15" font-family="Verdana">shape=1</text>
+<text x="626.9" y="148" font-size="15" font-family="Verdana">shape=2</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Extreme Value Distribution PDF (location=0)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.png b/libs/math/doc/graphs/fisher_f_pdf.png
index 2c9f561226..2c9f561226 100644
--- a/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.png
+++ b/libs/math/doc/graphs/fisher_f_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/fisher_f_pdf.svg b/libs/math/doc/graphs/fisher_f_pdf.svg
new file mode 100644
index 0000000000..6d48fe6cbe
--- /dev/null
+++ b/libs/math/doc/graphs/fisher_f_pdf.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="481.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="483.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="567.6" y2="341"/><line x1="79.2" y1="341" x2="567.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.2 L84.2,334.2 M82.2,327.3 L84.2,327.3 M82.2,320.5 L84.2,320.5 M82.2,313.6 L84.2,313.6 M82.2,300 L84.2,300 M82.2,293.1 L84.2,293.1 M82.2,286.3 L84.2,286.3 M82.2,279.5 L84.2,279.5 M82.2,265.8 L84.2,265.8 M82.2,258.9 L84.2,258.9 M82.2,252.1 L84.2,252.1 M82.2,245.3 L84.2,245.3 M82.2,231.6 L84.2,231.6 M82.2,224.8 L84.2,224.8 M82.2,217.9 L84.2,217.9 M82.2,211.1 L84.2,211.1 M82.2,197.4 L84.2,197.4 M82.2,190.6 L84.2,190.6 M82.2,183.7 L84.2,183.7 M82.2,176.9 L84.2,176.9 M82.2,163.2 L84.2,163.2 M82.2,156.4 L84.2,156.4 M82.2,149.5 L84.2,149.5 M82.2,142.7 L84.2,142.7 M82.2,129 L84.2,129 M82.2,122.2 L84.2,122.2 M82.2,115.3 L84.2,115.3 M82.2,108.5 L84.2,108.5 M82.2,94.83 L84.2,94.83 M82.2,87.99 L84.2,87.99 M82.2,81.15 L84.2,81.15 M82.2,74.31 L84.2,74.31 M82.2,60.64 L84.2,60.64 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.4,341 L106.4,343 M128.5,341 L128.5,343 M150.7,341 L150.7,343 M172.8,341 L172.8,343 M217.1,341 L217.1,343 M239.3,341 L239.3,343 M261.5,341 L261.5,343 M283.6,341 L283.6,343 M327.9,341 L327.9,343 M350.1,341 L350.1,343 M372.3,341 L372.3,343 M394.4,341 L394.4,343 M438.7,341 L438.7,343 M460.9,341 L460.9,343 M483,341 L483,343 M505.2,341 L505.2,343 M549.5,341 L549.5,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306.8 L84.2,306.8 M79.2,272.6 L84.2,272.6 M79.2,238.4 L84.2,238.4 M79.2,204.2 L84.2,204.2 M79.2,170 L84.2,170 M79.2,135.9 L84.2,135.9 M79.2,101.7 L84.2,101.7 M79.2,67.48 L84.2,67.48 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M195,341 L195,346 M305.8,341 L305.8,346 M416.6,341 L416.6,346 M527.4,341 L527.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="195" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="305.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="416.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="527.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="309.2" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="275" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="240.8" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="206.6" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="172.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="138.3" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="104.1" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="69.88" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="325.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.62,299.9 L89.03,265.5 L91.45,236.8 L93.87,212.9 L96.28,193.1 L98.7,176.8 L101.1,163.6 L103.5,152.9 L106,144.4 L108.4,137.8 L110.8,132.8 L113.2,129.1 L115.6,126.7 L118,125.2 L120.5,124.7 L122.9,124.8 L125.3,125.6 L127.7,126.9 L130.1,128.6 L132.5,130.7 L135,133.1 L137.4,135.8 L139.8,138.6 L142.2,141.7 L144.6,144.8 L147,148.1 L149.5,151.5 L151.9,154.9 L154.3,158.3 L156.7,161.8 L159.1,165.3 L161.5,168.8 L164,172.2 L166.4,175.7 L168.8,179.1 L171.2,182.4 L173.6,185.8 L176,189 L178.5,192.3 L180.9,195.4 L183.3,198.5 L185.7,201.6 L188.1,204.6 L190.5,207.5 L193,210.4 L195.4,213.2 L197.8,216 L200.2,218.7 L202.6,221.3 L205.1,223.9 L207.5,226.4 L209.9,228.9 L212.3,231.3 L214.7,233.6 L217.1,235.9 L219.6,238.1 L222,240.3 L224.4,242.4 L226.8,244.5 L229.2,246.5 L231.6,248.5 L234.1,250.4 L236.5,252.3 L238.9,254.1 L241.3,255.9 L243.7,257.6 L246.1,259.3 L248.6,261 L251,262.6 L253.4,264.2 L255.8,265.7 L258.2,267.2 L260.6,268.7 L263.1,270.1 L265.5,271.5 L267.9,272.9 L270.3,274.2 L272.7,275.5 L275.1,276.7 L277.6,278 L280,279.2 L282.4,280.3 L284.8,281.5 L287.2,282.6 L289.6,283.7 L292.1,284.8 L294.5,285.8 L296.9,286.8 L299.3,287.8 L301.7,288.8 L304.1,289.7 L306.6,290.6 L309,291.5 L311.4,292.4 L313.8,293.3 L316.2,294.1 L318.6,295 L321.1,295.8 L323.5,296.6 L325.9,297.3 L328.3,298.1 L330.7,298.8 L333.2,299.5 L335.6,300.2 L338,300.9 L340.4,301.6 L342.8,302.3 L345.2,302.9 L347.7,303.5 L350.1,304.2 L352.5,304.8 L354.9,305.3 L357.3,305.9 L359.7,306.5 L362.2,307 L364.6,307.6 L367,308.1 L369.4,308.6 L371.8,309.2 L374.2,309.7 L376.7,310.1 L379.1,310.6 L381.5,311.1 L383.9,311.6 L386.3,312 L388.7,312.4 L391.2,312.9 L393.6,313.3 L396,313.7 L398.4,314.1 L400.8,314.5 L403.2,314.9 L405.7,315.3 L408.1,315.7 L410.5,316.1 L412.9,316.4 L415.3,316.8 L417.7,317.1 L420.2,317.5 L422.6,317.8 L425,318.1 L427.4,318.5 L429.8,318.8 L432.2,319.1 L434.7,319.4 L437.1,319.7 L439.5,320 L441.9,320.3 L444.3,320.6 L446.7,320.9 L449.2,321.1 L451.6,321.4 L454,321.7 L456.4,321.9 L458.8,322.2 L461.3,322.4 L463.7,322.7 L466.1,322.9 L468.5,323.2 L470.9,323.4 L473.3,323.6 L475.8,323.8 L478.2,324.1 L480.6,324.3 L483,324.5 L485.4,324.7 L487.8,324.9 L490.3,325.1 L492.7,325.3 L495.1,325.5 L497.5,325.7 L499.9,325.9 L502.3,326.1 L504.8,326.3 L507.2,326.5 L509.6,326.6 L512,326.8 L514.4,327 L516.8,327.2 L519.3,327.3 L521.7,327.5 L524.1,327.7 L526.5,327.8 L528.9,328 L531.3,328.1 L533.8,328.3 L536.2,328.4 L538.6,328.6 L541,328.7 L543.4,328.9 L545.8,329 L548.3,329.1 L550.7,329.3 L553.1,329.4 L555.5,329.5 L557.9,329.7 L560.3,329.8 L562.8,329.9 L565.2,330.1 L567.6,330.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.62,340.8 L89.03,339.2 L91.45,334.6 L93.87,326.4 L96.28,314.8 L98.7,300.5 L101.1,284.4 L103.5,267.3 L106,250.1 L108.4,233.2 L110.8,217.2 L113.2,202.3 L115.6,188.8 L118,176.7 L120.5,166.1 L122.9,156.9 L125.3,149.1 L127.7,142.6 L130.1,137.3 L132.5,133.1 L135,130 L137.4,127.8 L139.8,126.5 L142.2,125.8 L144.6,125.9 L147,126.5 L149.5,127.6 L151.9,129.1 L154.3,131 L156.7,133.3 L159.1,135.8 L161.5,138.5 L164,141.5 L166.4,144.6 L168.8,147.8 L171.2,151.1 L173.6,154.5 L176,158 L178.5,161.5 L180.9,165 L183.3,168.5 L185.7,172 L188.1,175.5 L190.5,179 L193,182.5 L195.4,185.9 L197.8,189.2 L200.2,192.6 L202.6,195.8 L205.1,199 L207.5,202.2 L209.9,205.3 L212.3,208.3 L214.7,211.3 L217.1,214.2 L219.6,217.1 L222,219.8 L224.4,222.6 L226.8,225.2 L229.2,227.8 L231.6,230.4 L234.1,232.8 L236.5,235.3 L238.9,237.6 L241.3,239.9 L243.7,242.2 L246.1,244.3 L248.6,246.5 L251,248.6 L253.4,250.6 L255.8,252.6 L258.2,254.5 L260.6,256.3 L263.1,258.2 L265.5,260 L267.9,261.7 L270.3,263.4 L272.7,265 L275.1,266.6 L277.6,268.2 L280,269.7 L282.4,271.2 L284.8,272.6 L287.2,274 L289.6,275.4 L292.1,276.8 L294.5,278.1 L296.9,279.3 L299.3,280.6 L301.7,281.8 L304.1,283 L306.6,284.1 L309,285.2 L311.4,286.3 L313.8,287.4 L316.2,288.4 L318.6,289.5 L321.1,290.4 L323.5,291.4 L325.9,292.4 L328.3,293.3 L330.7,294.2 L333.2,295.1 L335.6,295.9 L338,296.7 L340.4,297.6 L342.8,298.4 L345.2,299.1 L347.7,299.9 L350.1,300.6 L352.5,301.4 L354.9,302.1 L357.3,302.8 L359.7,303.4 L362.2,304.1 L364.6,304.7 L367,305.4 L369.4,306 L371.8,306.6 L374.2,307.2 L376.7,307.8 L379.1,308.3 L381.5,308.9 L383.9,309.4 L386.3,310 L388.7,310.5 L391.2,311 L393.6,311.5 L396,312 L398.4,312.4 L400.8,312.9 L403.2,313.4 L405.7,313.8 L408.1,314.2 L410.5,314.7 L412.9,315.1 L415.3,315.5 L417.7,315.9 L420.2,316.3 L422.6,316.7 L425,317 L427.4,317.4 L429.8,317.8 L432.2,318.1 L434.7,318.5 L437.1,318.8 L439.5,319.1 L441.9,319.5 L444.3,319.8 L446.7,320.1 L449.2,320.4 L451.6,320.7 L454,321 L456.4,321.3 L458.8,321.6 L461.3,321.9 L463.7,322.1 L466.1,322.4 L468.5,322.7 L470.9,322.9 L473.3,323.2 L475.8,323.4 L478.2,323.7 L480.6,323.9 L483,324.2 L485.4,324.4 L487.8,324.6 L490.3,324.9 L492.7,325.1 L495.1,325.3 L497.5,325.5 L499.9,325.7 L502.3,325.9 L504.8,326.1 L507.2,326.3 L509.6,326.5 L512,326.7 L514.4,326.9 L516.8,327.1 L519.3,327.3 L521.7,327.4 L524.1,327.6 L526.5,327.8 L528.9,328 L531.3,328.1 L533.8,328.3 L536.2,328.4 L538.6,328.6 L541,328.8 L543.4,328.9 L545.8,329.1 L548.3,329.2 L550.7,329.4 L553.1,329.5 L555.5,329.6 L557.9,329.8 L560.3,329.9 L562.8,330 L565.2,330.2 L567.6,330.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.62,341 L89.03,340.5 L91.45,338.9 L93.87,335.6 L96.28,330.2 L98.7,322.5 L101.1,312.7 L103.5,301 L106,287.7 L108.4,273.2 L110.8,257.9 L113.2,242.1 L115.6,226.2 L118,210.6 L120.5,195.4 L122.9,180.8 L125.3,167.1 L127.7,154.4 L130.1,142.7 L132.5,132.1 L135,122.6 L137.4,114.2 L139.8,107 L142.2,100.8 L144.6,95.7 L147,91.57 L149.5,88.37 L151.9,86.06 L154.3,84.57 L156.7,83.83 L159.1,83.79 L161.5,84.38 L164,85.55 L166.4,87.24 L168.8,89.4 L171.2,91.97 L173.6,94.9 L176,98.16 L178.5,101.7 L180.9,105.5 L183.3,109.5 L185.7,113.6 L188.1,117.9 L190.5,122.3 L193,126.8 L195.4,131.4 L197.8,136 L200.2,140.7 L202.6,145.3 L205.1,150 L207.5,154.6 L209.9,159.2 L212.3,163.8 L214.7,168.3 L217.1,172.8 L219.6,177.2 L222,181.6 L224.4,185.9 L226.8,190.1 L229.2,194.2 L231.6,198.2 L234.1,202.2 L236.5,206.1 L238.9,209.8 L241.3,213.5 L243.7,217.2 L246.1,220.7 L248.6,224.1 L251,227.5 L253.4,230.7 L255.8,233.9 L258.2,237 L260.6,240 L263.1,242.9 L265.5,245.8 L267.9,248.5 L270.3,251.2 L272.7,253.8 L275.1,256.4 L277.6,258.8 L280,261.2 L282.4,263.5 L284.8,265.8 L287.2,267.9 L289.6,270.1 L292.1,272.1 L294.5,274.1 L296.9,276 L299.3,277.9 L301.7,279.7 L304.1,281.5 L306.6,283.2 L309,284.8 L311.4,286.4 L313.8,288 L316.2,289.5 L318.6,291 L321.1,292.4 L323.5,293.8 L325.9,295.1 L328.3,296.4 L330.7,297.6 L333.2,298.9 L335.6,300 L338,301.2 L340.4,302.3 L342.8,303.3 L345.2,304.4 L347.7,305.4 L350.1,306.4 L352.5,307.3 L354.9,308.2 L357.3,309.1 L359.7,310 L362.2,310.8 L364.6,311.7 L367,312.4 L369.4,313.2 L371.8,313.9 L374.2,314.7 L376.7,315.4 L379.1,316 L381.5,316.7 L383.9,317.3 L386.3,318 L388.7,318.6 L391.2,319.2 L393.6,319.7 L396,320.3 L398.4,320.8 L400.8,321.3 L403.2,321.8 L405.7,322.3 L408.1,322.8 L410.5,323.3 L412.9,323.7 L415.3,324.1 L417.7,324.6 L420.2,325 L422.6,325.4 L425,325.8 L427.4,326.1 L429.8,326.5 L432.2,326.9 L434.7,327.2 L437.1,327.6 L439.5,327.9 L441.9,328.2 L444.3,328.5 L446.7,328.8 L449.2,329.1 L451.6,329.4 L454,329.7 L456.4,329.9 L458.8,330.2 L461.3,330.5 L463.7,330.7 L466.1,330.9 L468.5,331.2 L470.9,331.4 L473.3,331.6 L475.8,331.9 L478.2,332.1 L480.6,332.3 L483,332.5 L485.4,332.7 L487.8,332.9 L490.3,333 L492.7,333.2 L495.1,333.4 L497.5,333.6 L499.9,333.7 L502.3,333.9 L504.8,334.1 L507.2,334.2 L509.6,334.4 L512,334.5 L514.4,334.6 L516.8,334.8 L519.3,334.9 L521.7,335.1 L524.1,335.2 L526.5,335.3 L528.9,335.4 L531.3,335.6 L533.8,335.7 L536.2,335.8 L538.6,335.9 L541,336 L543.4,336.1 L545.8,336.2 L548.3,336.3 L550.7,336.4 L553.1,336.5 L555.5,336.6 L557.9,336.7 L560.3,336.8 L562.8,336.9 L565.2,337 L567.6,337 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.62,307.3 L89.03,277.6 L91.45,251.4 L93.87,228.4 L96.28,208.2 L98.7,190.7 L101.1,175.5 L103.5,162.4 L106,151.2 L108.4,141.7 L110.8,133.7 L113.2,127 L115.6,121.6 L118,117.3 L120.5,114 L122.9,111.5 L125.3,109.9 L127.7,108.9 L130.1,108.6 L132.5,108.8 L135,109.5 L137.4,110.6 L139.8,112.1 L142.2,114 L144.6,116.1 L147,118.5 L149.5,121.2 L151.9,124 L154.3,127 L156.7,130.1 L159.1,133.3 L161.5,136.6 L164,140 L166.4,143.5 L168.8,147 L171.2,150.6 L173.6,154.2 L176,157.7 L178.5,161.3 L180.9,164.9 L183.3,168.5 L185.7,172 L188.1,175.5 L190.5,179 L193,182.5 L195.4,185.9 L197.8,189.2 L200.2,192.6 L202.6,195.8 L205.1,199.1 L207.5,202.2 L209.9,205.3 L212.3,208.4 L214.7,211.4 L217.1,214.4 L219.6,217.3 L222,220.1 L224.4,222.9 L226.8,225.6 L229.2,228.3 L231.6,230.9 L234.1,233.4 L236.5,236 L238.9,238.4 L241.3,240.8 L243.7,243.1 L246.1,245.4 L248.6,247.6 L251,249.8 L253.4,252 L255.8,254 L258.2,256.1 L260.6,258 L263.1,260 L265.5,261.9 L267.9,263.7 L270.3,265.5 L272.7,267.3 L275.1,269 L277.6,270.7 L280,272.3 L282.4,273.9 L284.8,275.4 L287.2,276.9 L289.6,278.4 L292.1,279.9 L294.5,281.3 L296.9,282.6 L299.3,284 L301.7,285.3 L304.1,286.5 L306.6,287.8 L309,289 L311.4,290.2 L313.8,291.3 L316.2,292.4 L318.6,293.5 L321.1,294.6 L323.5,295.7 L325.9,296.7 L328.3,297.7 L330.7,298.6 L333.2,299.6 L335.6,300.5 L338,301.4 L340.4,302.3 L342.8,303.1 L345.2,303.9 L347.7,304.8 L350.1,305.5 L352.5,306.3 L354.9,307.1 L357.3,307.8 L359.7,308.5 L362.2,309.2 L364.6,309.9 L367,310.6 L369.4,311.2 L371.8,311.9 L374.2,312.5 L376.7,313.1 L379.1,313.7 L381.5,314.3 L383.9,314.8 L386.3,315.4 L388.7,315.9 L391.2,316.4 L393.6,317 L396,317.5 L398.4,317.9 L400.8,318.4 L403.2,318.9 L405.7,319.3 L408.1,319.8 L410.5,320.2 L412.9,320.6 L415.3,321.1 L417.7,321.5 L420.2,321.9 L422.6,322.2 L425,322.6 L427.4,323 L429.8,323.3 L432.2,323.7 L434.7,324 L437.1,324.4 L439.5,324.7 L441.9,325 L444.3,325.3 L446.7,325.7 L449.2,326 L451.6,326.2 L454,326.5 L456.4,326.8 L458.8,327.1 L461.3,327.4 L463.7,327.6 L466.1,327.9 L468.5,328.1 L470.9,328.4 L473.3,328.6 L475.8,328.8 L478.2,329.1 L480.6,329.3 L483,329.5 L485.4,329.7 L487.8,329.9 L490.3,330.2 L492.7,330.4 L495.1,330.6 L497.5,330.7 L499.9,330.9 L502.3,331.1 L504.8,331.3 L507.2,331.5 L509.6,331.7 L512,331.8 L514.4,332 L516.8,332.2 L519.3,332.3 L521.7,332.5 L524.1,332.6 L526.5,332.8 L528.9,332.9 L531.3,333.1 L533.8,333.2 L536.2,333.3 L538.6,333.5 L541,333.6 L543.4,333.7 L545.8,333.9 L548.3,334 L550.7,334.1 L553.1,334.2 L555.5,334.4 L557.9,334.5 L560.3,334.6 L562.8,334.7 L565.2,334.8 L567.6,334.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="135"/><rect x="581.6" y="58" width="142.4" height="135"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="178" x2="611.6" y2="178"/></g>
+</g>
+<g id="legendText">
+<text x="619.1" y="88" font-size="15" font-family="Verdana">n=4, m=4</text>
+<text x="619.1" y="118" font-size="15" font-family="Verdana">n=10, m=4</text>
+<text x="619.1" y="148" font-size="15" font-family="Verdana">n=10, m=10</text>
+<text x="619.1" y="178" font-size="15" font-family="Verdana">n=4, m=10</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">F Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.png b/libs/math/doc/graphs/gamma1_pdf.png
index 942587aead..942587aead 100644
--- a/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.png
+++ b/libs/math/doc/graphs/gamma1_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/gamma1_pdf.svg b/libs/math/doc/graphs/gamma1_pdf.svg
new file mode 100644
index 0000000000..ff1b03ea05
--- /dev/null
+++ b/libs/math/doc/graphs/gamma1_pdf.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="465.7" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="467.7" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="551.9" y2="341"/><line x1="79.2" y1="341" x2="551.9" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,326.9 L84.2,326.9 M82.2,312.9 L84.2,312.9 M82.2,298.8 L84.2,298.8 M82.2,284.8 L84.2,284.8 M82.2,256.7 L84.2,256.7 M82.2,242.6 L84.2,242.6 M82.2,228.6 L84.2,228.6 M82.2,214.5 L84.2,214.5 M82.2,186.4 L84.2,186.4 M82.2,172.4 L84.2,172.4 M82.2,158.3 L84.2,158.3 M82.2,144.3 L84.2,144.3 M82.2,116.2 L84.2,116.2 M82.2,102.1 L84.2,102.1 M82.2,88.1 L84.2,88.1 M82.2,74.05 L84.2,74.05 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M96.37,341 L96.37,343 M108.5,341 L108.5,343 M120.7,341 L120.7,343 M132.9,341 L132.9,343 M157.2,341 L157.2,343 M169.4,341 L169.4,343 M181.5,341 L181.5,343 M193.7,341 L193.7,343 M218,341 L218,343 M230.2,341 L230.2,343 M242.4,341 L242.4,343 M254.5,341 L254.5,343 M278.9,341 L278.9,343 M291,341 L291,343 M303.2,341 L303.2,343 M315.4,341 L315.4,343 M339.7,341 L339.7,343 M351.9,341 L351.9,343 M364,341 L364,343 M376.2,341 L376.2,343 M400.5,341 L400.5,343 M412.7,341 L412.7,343 M424.8,341 L424.8,343 M437,341 L437,343 M461.3,341 L461.3,343 M473.5,341 L473.5,343 M485.7,341 L485.7,343 M497.8,341 L497.8,343 M522.2,341 L522.2,343 M534.3,341 L534.3,343 M546.5,341 L546.5,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,270.7 L84.2,270.7 M79.2,200.5 L84.2,200.5 M79.2,130.2 L84.2,130.2 M79.2,60 L84.2,60 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M145,341 L145,346 M205.9,341 L205.9,346 M266.7,341 L266.7,346 M327.5,341 L327.5,346 M388.3,341 L388.3,346 M449.2,341 L449.2,346 M510,341 L510,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="145" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="205.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="266.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="327.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="388.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="449.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
+<text x="510" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="273.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="202.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="132.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="62.4" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="318.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,-9.388e+078 L86.54,91.83 L88.88,139.4 L91.22,165.7 L93.55,184 L95.89,198.1 L98.23,209.6 L100.6,219.4 L102.9,227.8 L105.2,235.2 L107.6,241.9 L109.9,247.9 L112.3,253.3 L114.6,258.3 L116.9,262.9 L119.3,267.1 L121.6,271 L124,274.7 L126.3,278.1 L128.6,281.3 L131,284.2 L133.3,287 L135.6,289.7 L138,292.2 L140.3,294.5 L142.7,296.7 L145,298.8 L147.3,300.8 L149.7,302.6 L152,304.4 L154.4,306.1 L156.7,307.7 L159,309.2 L161.4,310.6 L163.7,312 L166.1,313.3 L168.4,314.5 L170.7,315.7 L173.1,316.8 L175.4,317.9 L177.7,318.9 L180.1,319.8 L182.4,320.8 L184.8,321.6 L187.1,322.5 L189.4,323.3 L191.8,324 L194.1,324.8 L196.5,325.5 L198.8,326.1 L201.1,326.8 L203.5,327.4 L205.8,327.9 L208.1,328.5 L210.5,329 L212.8,329.5 L215.2,330 L217.5,330.5 L219.8,330.9 L222.2,331.3 L224.5,331.7 L226.9,332.1 L229.2,332.5 L231.5,332.8 L233.9,333.2 L236.2,333.5 L238.5,333.8 L240.9,334.1 L243.2,334.4 L245.6,334.7 L247.9,334.9 L250.2,335.2 L252.6,335.4 L254.9,335.6 L257.3,335.9 L259.6,336.1 L261.9,336.3 L264.3,336.5 L266.6,336.7 L268.9,336.8 L271.3,337 L273.6,337.2 L276,337.3 L278.3,337.5 L280.6,337.6 L283,337.8 L285.3,337.9 L287.7,338 L290,338.1 L292.3,338.2 L294.7,338.4 L297,338.5 L299.4,338.6 L301.7,338.7 L304,338.8 L306.4,338.8 L308.7,338.9 L311,339 L313.4,339.1 L315.7,339.2 L318.1,339.2 L320.4,339.3 L322.7,339.4 L325.1,339.5 L327.4,339.5 L329.8,339.6 L332.1,339.6 L334.4,339.7 L336.8,339.7 L339.1,339.8 L341.4,339.8 L343.8,339.9 L346.1,339.9 L348.5,340 L350.8,340 L353.1,340 L355.5,340.1 L357.8,340.1 L360.2,340.2 L362.5,340.2 L364.8,340.2 L367.2,340.3 L369.5,340.3 L371.8,340.3 L374.2,340.3 L376.5,340.4 L378.9,340.4 L381.2,340.4 L383.5,340.4 L385.9,340.5 L388.2,340.5 L390.6,340.5 L392.9,340.5 L395.2,340.5 L397.6,340.6 L399.9,340.6 L402.2,340.6 L404.6,340.6 L406.9,340.6 L409.3,340.6 L411.6,340.7 L413.9,340.7 L416.3,340.7 L418.6,340.7 L421,340.7 L423.3,340.7 L425.6,340.7 L428,340.7 L430.3,340.7 L432.7,340.8 L435,340.8 L437.3,340.8 L439.7,340.8 L442,340.8 L444.3,340.8 L446.7,340.8 L449,340.8 L451.4,340.8 L453.7,340.8 L456,340.8 L458.4,340.8 L460.7,340.9 L463.1,340.9 L465.4,340.9 L467.7,340.9 L470.1,340.9 L472.4,340.9 L474.7,340.9 L477.1,340.9 L479.4,340.9 L481.8,340.9 L484.1,340.9 L486.4,340.9 L488.8,340.9 L491.1,340.9 L493.5,340.9 L495.8,340.9 L498.1,340.9 L500.5,340.9 L502.8,340.9 L505.1,340.9 L507.5,340.9 L509.8,340.9 L512.2,340.9 L514.5,340.9 L516.8,340.9 L519.2,340.9 L521.5,340.9 L523.9,340.9 L526.2,341 L528.5,341 L530.9,341 L533.2,341 L535.5,341 L537.9,341 L540.2,341 L542.6,341 L544.9,341 L547.2,341 L549.6,341 L551.9,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,200.5 L86.54,205.8 L88.88,210.9 L91.22,215.8 L93.55,220.5 L95.89,225.1 L98.23,229.4 L100.6,233.6 L102.9,237.7 L105.2,241.6 L107.6,245.3 L109.9,249 L112.3,252.4 L114.6,255.8 L116.9,259 L119.3,262.1 L121.6,265 L124,267.9 L126.3,270.7 L128.6,273.3 L131,275.9 L133.3,278.3 L135.6,280.7 L138,283 L140.3,285.2 L142.7,287.3 L145,289.3 L147.3,291.2 L149.7,293.1 L152,294.9 L154.4,296.7 L156.7,298.3 L159,299.9 L161.4,301.5 L163.7,303 L166.1,304.4 L168.4,305.8 L170.7,307.1 L173.1,308.4 L175.4,309.6 L177.7,310.8 L180.1,312 L182.4,313 L184.8,314.1 L187.1,315.1 L189.4,316.1 L191.8,317 L194.1,317.9 L196.5,318.8 L198.8,319.6 L201.1,320.4 L203.5,321.2 L205.8,322 L208.1,322.7 L210.5,323.4 L212.8,324 L215.2,324.7 L217.5,325.3 L219.8,325.9 L222.2,326.5 L224.5,327 L226.9,327.5 L229.2,328 L231.5,328.5 L233.9,329 L236.2,329.5 L238.5,329.9 L240.9,330.3 L243.2,330.7 L245.6,331.1 L247.9,331.5 L250.2,331.8 L252.6,332.2 L254.9,332.5 L257.3,332.8 L259.6,333.1 L261.9,333.4 L264.3,333.7 L266.6,334 L268.9,334.3 L271.3,334.5 L273.6,334.8 L276,335 L278.3,335.2 L280.6,335.4 L283,335.6 L285.3,335.9 L287.7,336 L290,336.2 L292.3,336.4 L294.7,336.6 L297,336.8 L299.4,336.9 L301.7,337.1 L304,337.2 L306.4,337.4 L308.7,337.5 L311,337.6 L313.4,337.8 L315.7,337.9 L318.1,338 L320.4,338.1 L322.7,338.2 L325.1,338.3 L327.4,338.4 L329.8,338.5 L332.1,338.6 L334.4,338.7 L336.8,338.8 L339.1,338.9 L341.4,339 L343.8,339 L346.1,339.1 L348.5,339.2 L350.8,339.2 L353.1,339.3 L355.5,339.4 L357.8,339.4 L360.2,339.5 L362.5,339.6 L364.8,339.6 L367.2,339.7 L369.5,339.7 L371.8,339.8 L374.2,339.8 L376.5,339.9 L378.9,339.9 L381.2,339.9 L383.5,340 L385.9,340 L388.2,340.1 L390.6,340.1 L392.9,340.1 L395.2,340.2 L397.6,340.2 L399.9,340.2 L402.2,340.2 L404.6,340.3 L406.9,340.3 L409.3,340.3 L411.6,340.4 L413.9,340.4 L416.3,340.4 L418.6,340.4 L421,340.4 L423.3,340.5 L425.6,340.5 L428,340.5 L430.3,340.5 L432.7,340.5 L435,340.6 L437.3,340.6 L439.7,340.6 L442,340.6 L444.3,340.6 L446.7,340.6 L449,340.7 L451.4,340.7 L453.7,340.7 L456,340.7 L458.4,340.7 L460.7,340.7 L463.1,340.7 L465.4,340.7 L467.7,340.7 L470.1,340.8 L472.4,340.8 L474.7,340.8 L477.1,340.8 L479.4,340.8 L481.8,340.8 L484.1,340.8 L486.4,340.8 L488.8,340.8 L491.1,340.8 L493.5,340.8 L495.8,340.8 L498.1,340.8 L500.5,340.9 L502.8,340.9 L505.1,340.9 L507.5,340.9 L509.8,340.9 L512.2,340.9 L514.5,340.9 L516.8,340.9 L519.2,340.9 L521.5,340.9 L523.9,340.9 L526.2,340.9 L528.5,340.9 L530.9,340.9 L533.2,340.9 L535.5,340.9 L537.9,340.9 L540.2,340.9 L542.6,340.9 L544.9,340.9 L547.2,340.9 L549.6,340.9 L551.9,340.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.54,340.9 L88.88,340.6 L91.22,340.2 L93.55,339.6 L95.89,338.9 L98.23,338 L100.6,337.1 L102.9,336.1 L105.2,335 L107.6,333.9 L109.9,332.8 L112.3,331.6 L114.6,330.4 L116.9,329.1 L119.3,327.9 L121.6,326.6 L124,325.4 L126.3,324.2 L128.6,322.9 L131,321.7 L133.3,320.6 L135.6,319.4 L138,318.3 L140.3,317.2 L142.7,316.2 L145,315.2 L147.3,314.2 L149.7,313.3 L152,312.4 L154.4,311.5 L156.7,310.7 L159,309.9 L161.4,309.2 L163.7,308.5 L166.1,307.9 L168.4,307.3 L170.7,306.7 L173.1,306.2 L175.4,305.7 L177.7,305.3 L180.1,304.9 L182.4,304.6 L184.8,304.2 L187.1,304 L189.4,303.7 L191.8,303.5 L194.1,303.3 L196.5,303.2 L198.8,303.1 L201.1,303 L203.5,303 L205.8,303 L208.1,303 L210.5,303 L212.8,303.1 L215.2,303.2 L217.5,303.3 L219.8,303.4 L222.2,303.6 L224.5,303.8 L226.9,304 L229.2,304.2 L231.5,304.4 L233.9,304.7 L236.2,305 L238.5,305.2 L240.9,305.5 L243.2,305.8 L245.6,306.2 L247.9,306.5 L250.2,306.8 L252.6,307.2 L254.9,307.6 L257.3,307.9 L259.6,308.3 L261.9,308.7 L264.3,309.1 L266.6,309.5 L268.9,309.9 L271.3,310.3 L273.6,310.7 L276,311.2 L278.3,311.6 L280.6,312 L283,312.4 L285.3,312.9 L287.7,313.3 L290,313.7 L292.3,314.1 L294.7,314.6 L297,315 L299.4,315.4 L301.7,315.9 L304,316.3 L306.4,316.7 L308.7,317.1 L311,317.5 L313.4,318 L315.7,318.4 L318.1,318.8 L320.4,319.2 L322.7,319.6 L325.1,320 L327.4,320.4 L329.8,320.8 L332.1,321.2 L334.4,321.6 L336.8,321.9 L339.1,322.3 L341.4,322.7 L343.8,323.1 L346.1,323.4 L348.5,323.8 L350.8,324.1 L353.1,324.5 L355.5,324.8 L357.8,325.2 L360.2,325.5 L362.5,325.8 L364.8,326.2 L367.2,326.5 L369.5,326.8 L371.8,327.1 L374.2,327.4 L376.5,327.7 L378.9,328 L381.2,328.3 L383.5,328.6 L385.9,328.9 L388.2,329.2 L390.6,329.4 L392.9,329.7 L395.2,329.9 L397.6,330.2 L399.9,330.5 L402.2,330.7 L404.6,330.9 L406.9,331.2 L409.3,331.4 L411.6,331.6 L413.9,331.9 L416.3,332.1 L418.6,332.3 L421,332.5 L423.3,332.7 L425.6,332.9 L428,333.1 L430.3,333.3 L432.7,333.5 L435,333.7 L437.3,333.9 L439.7,334 L442,334.2 L444.3,334.4 L446.7,334.6 L449,334.7 L451.4,334.9 L453.7,335 L456,335.2 L458.4,335.3 L460.7,335.5 L463.1,335.6 L465.4,335.8 L467.7,335.9 L470.1,336 L472.4,336.2 L474.7,336.3 L477.1,336.4 L479.4,336.5 L481.8,336.6 L484.1,336.8 L486.4,336.9 L488.8,337 L491.1,337.1 L493.5,337.2 L495.8,337.3 L498.1,337.4 L500.5,337.5 L502.8,337.6 L505.1,337.7 L507.5,337.8 L509.8,337.9 L512.2,337.9 L514.5,338 L516.8,338.1 L519.2,338.2 L521.5,338.3 L523.9,338.3 L526.2,338.4 L528.5,338.5 L530.9,338.5 L533.2,338.6 L535.5,338.7 L537.9,338.7 L540.2,338.8 L542.6,338.9 L544.9,338.9 L547.2,339 L549.6,339 L551.9,339.1 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="565.9" y="58" width="158.1" height="105"/><rect x="565.9" y="58" width="158.1" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="580.9" y1="88" x2="595.9" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="580.9" y1="118" x2="595.9" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="580.9" y1="148" x2="595.9" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="603.4" y="88" font-size="15" font-family="Verdana">shape = 0.75</text>
+<text x="603.4" y="118" font-size="15" font-family="Verdana">shape = 1</text>
+<text x="603.4" y="148" font-size="15" font-family="Verdana">shape = 3</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Gamma Distribution PDF With Scale = 1</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.png b/libs/math/doc/graphs/gamma2_pdf.png
index c548511e24..c548511e24 100644
--- a/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.png
+++ b/libs/math/doc/graphs/gamma2_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/gamma2_pdf.svg b/libs/math/doc/graphs/gamma2_pdf.svg
new file mode 100644
index 0000000000..1b35e9de3a
--- /dev/null
+++ b/libs/math/doc/graphs/gamma2_pdf.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334 L84.2,334 M82.2,327 L84.2,327 M82.2,320 L84.2,320 M82.2,313 L84.2,313 M82.2,299 L84.2,299 M82.2,292 L84.2,292 M82.2,285.1 L84.2,285.1 M82.2,278.1 L84.2,278.1 M82.2,264.1 L84.2,264.1 M82.2,257.1 L84.2,257.1 M82.2,250.1 L84.2,250.1 M82.2,243.1 L84.2,243.1 M82.2,229.1 L84.2,229.1 M82.2,222.1 L84.2,222.1 M82.2,215.1 L84.2,215.1 M82.2,208.1 L84.2,208.1 M82.2,194.1 L84.2,194.1 M82.2,187.1 L84.2,187.1 M82.2,180.2 L84.2,180.2 M82.2,173.2 L84.2,173.2 M82.2,159.2 L84.2,159.2 M82.2,152.2 L84.2,152.2 M82.2,145.2 L84.2,145.2 M82.2,138.2 L84.2,138.2 M82.2,124.2 L84.2,124.2 M82.2,117.2 L84.2,117.2 M82.2,110.2 L84.2,110.2 M82.2,103.2 L84.2,103.2 M82.2,89.24 L84.2,89.24 M82.2,82.24 L84.2,82.24 M82.2,75.25 L84.2,75.25 M82.2,68.26 L84.2,68.26 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M125.6,341 L125.6,343 M167,341 L167,343 M208.4,341 L208.4,343 M249.8,341 L249.8,343 M332.6,341 L332.6,343 M374,341 L374,343 M415.4,341 L415.4,343 M456.8,341 L456.8,343 M539.6,341 L539.6,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306 L84.2,306 M79.2,271.1 L84.2,271.1 M79.2,236.1 L84.2,236.1 M79.2,201.1 L84.2,201.1 M79.2,166.2 L84.2,166.2 M79.2,131.2 L84.2,131.2 M79.2,96.23 L84.2,96.23 M79.2,61.26 L84.2,61.26 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M291.2,341 L291.2,346 M498.2,341 L498.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="291.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="498.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="308.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="273.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="238.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="203.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="168.6" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="133.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="98.63" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="63.66" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.58,269.4 L88.96,213.3 L91.33,170.3 L93.71,138 L96.09,114.8 L98.47,99.06 L100.8,89.36 L103.2,84.62 L105.6,83.87 L108,86.3 L110.4,91.23 L112.7,98.09 L115.1,106.4 L117.5,115.8 L119.9,125.9 L122.2,136.4 L124.6,147.2 L127,158.1 L129.4,168.9 L131.8,179.5 L134.1,189.8 L136.5,199.8 L138.9,209.4 L141.3,218.6 L143.6,227.3 L146,235.6 L148.4,243.4 L150.8,250.8 L153.2,257.7 L155.5,264.2 L157.9,270.2 L160.3,275.9 L162.7,281.1 L165,286 L167.4,290.5 L169.8,294.7 L172.2,298.6 L174.6,302.2 L176.9,305.5 L179.3,308.5 L181.7,311.3 L184.1,313.9 L186.4,316.3 L188.8,318.4 L191.2,320.4 L193.6,322.3 L196,323.9 L198.3,325.5 L200.7,326.9 L203.1,328.1 L205.5,329.3 L207.8,330.4 L210.2,331.3 L212.6,332.2 L215,333 L217.4,333.8 L219.7,334.4 L222.1,335 L224.5,335.6 L226.9,336.1 L229.2,336.6 L231.6,337 L234,337.4 L236.4,337.7 L238.8,338 L241.1,338.3 L243.5,338.6 L245.9,338.8 L248.3,339 L250.6,339.2 L253,339.4 L255.4,339.5 L257.8,339.7 L260.2,339.8 L262.5,339.9 L264.9,340 L267.3,340.1 L269.7,340.2 L272,340.3 L274.4,340.3 L276.8,340.4 L279.2,340.5 L281.6,340.5 L283.9,340.6 L286.3,340.6 L288.7,340.6 L291.1,340.7 L293.4,340.7 L295.8,340.7 L298.2,340.8 L300.6,340.8 L303,340.8 L305.3,340.8 L307.7,340.8 L310.1,340.9 L312.5,340.9 L314.8,340.9 L317.2,340.9 L319.6,340.9 L322,340.9 L324.4,340.9 L326.7,340.9 L329.1,340.9 L331.5,340.9 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,322 L88.96,305.2 L91.33,290.3 L93.71,277.2 L96.09,265.7 L98.47,255.6 L100.8,247 L103.2,239.5 L105.6,233.2 L108,227.9 L110.4,223.6 L112.7,220 L115.1,217.3 L117.5,215.2 L119.9,213.7 L122.2,212.8 L124.6,212.4 L127,212.4 L129.4,212.9 L131.8,213.7 L134.1,214.7 L136.5,216.1 L138.9,217.7 L141.3,219.5 L143.6,221.5 L146,223.7 L148.4,226 L150.8,228.4 L153.2,230.9 L155.5,233.4 L157.9,236.1 L160.3,238.7 L162.7,241.4 L165,244.1 L167.4,246.8 L169.8,249.5 L172.2,252.3 L174.6,254.9 L176.9,257.6 L179.3,260.2 L181.7,262.8 L184.1,265.4 L186.4,267.9 L188.8,270.4 L191.2,272.8 L193.6,275.2 L196,277.5 L198.3,279.8 L200.7,282 L203.1,284.2 L205.5,286.3 L207.8,288.3 L210.2,290.3 L212.6,292.2 L215,294.1 L217.4,295.9 L219.7,297.7 L222.1,299.4 L224.5,301 L226.9,302.6 L229.2,304.1 L231.6,305.6 L234,307.1 L236.4,308.4 L238.8,309.8 L241.1,311.1 L243.5,312.3 L245.9,313.5 L248.3,314.7 L250.6,315.8 L253,316.8 L255.4,317.9 L257.8,318.9 L260.2,319.8 L262.5,320.7 L264.9,321.6 L267.3,322.4 L269.7,323.2 L272,324 L274.4,324.8 L276.8,325.5 L279.2,326.2 L281.6,326.8 L283.9,327.4 L286.3,328.1 L288.7,328.6 L291.1,329.2 L293.4,329.7 L295.8,330.2 L298.2,330.7 L300.6,331.2 L303,331.6 L305.3,332.1 L307.7,332.5 L310.1,332.9 L312.5,333.2 L314.8,333.6 L317.2,333.9 L319.6,334.3 L322,334.6 L324.4,334.9 L326.7,335.1 L329.1,335.4 L331.5,335.7 L333.9,335.9 L336.2,336.2 L338.6,336.4 L341,336.6 L343.4,336.8 L345.8,337 L348.1,337.2 L350.5,337.4 L352.9,337.6 L355.3,337.7 L357.6,337.9 L360,338 L362.4,338.2 L364.8,338.3 L367.2,338.4 L369.5,338.6 L371.9,338.7 L374.3,338.8 L376.7,338.9 L379,339 L381.4,339.1 L383.8,339.2 L386.2,339.3 L388.6,339.4 L390.9,339.4 L393.3,339.5 L395.7,339.6 L398.1,339.6 L400.4,339.7 L402.8,339.8 L405.2,339.8 L407.6,339.9 L410,339.9 L412.3,340 L414.7,340 L417.1,340.1 L419.5,340.1 L421.8,340.2 L424.2,340.2 L426.6,340.3 L429,340.3 L431.4,340.3 L433.7,340.4 L436.1,340.4 L438.5,340.4 L440.9,340.5 L443.2,340.5 L445.6,340.5 L448,340.5 L450.4,340.6 L452.8,340.6 L455.1,340.6 L457.5,340.6 L459.9,340.6 L462.3,340.7 L464.6,340.7 L467,340.7 L469.4,340.7 L471.8,340.7 L474.2,340.7 L476.5,340.7 L478.9,340.8 L481.3,340.8 L483.7,340.8 L486,340.8 L488.4,340.8 L490.8,340.8 L493.2,340.8 L495.6,340.8 L497.9,340.8 L500.3,340.8 L502.7,340.9 L505.1,340.9 L507.4,340.9 L509.8,340.9 L512.2,340.9 L514.6,340.9 L517,340.9 L519.3,340.9 L521.7,340.9 L524.1,340.9 L526.5,340.9 L528.8,340.9 L531.2,340.9 L533.6,340.9 L536,340.9 L538.4,340.9 L540.7,340.9 L543.1,340.9 L545.5,340.9 L547.9,340.9 L550.2,340.9 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,336.1 L88.96,331.5 L91.33,327.2 L93.71,323.1 L96.09,319.3 L98.47,315.6 L100.8,312.3 L103.2,309.1 L105.6,306.1 L108,303.3 L110.4,300.7 L112.7,298.3 L115.1,296.1 L117.5,294 L119.9,292 L122.2,290.3 L124.6,288.6 L127,287.1 L129.4,285.7 L131.8,284.5 L134.1,283.3 L136.5,282.3 L138.9,281.3 L141.3,280.5 L143.6,279.8 L146,279.1 L148.4,278.6 L150.8,278.1 L153.2,277.7 L155.5,277.4 L157.9,277.1 L160.3,276.9 L162.7,276.8 L165,276.7 L167.4,276.7 L169.8,276.7 L172.2,276.8 L174.6,276.9 L176.9,277.1 L179.3,277.3 L181.7,277.6 L184.1,277.9 L186.4,278.2 L188.8,278.6 L191.2,278.9 L193.6,279.4 L196,279.8 L198.3,280.3 L200.7,280.8 L203.1,281.3 L205.5,281.8 L207.8,282.4 L210.2,282.9 L212.6,283.5 L215,284.1 L217.4,284.7 L219.7,285.3 L222.1,285.9 L224.5,286.6 L226.9,287.2 L229.2,287.9 L231.6,288.5 L234,289.2 L236.4,289.9 L238.8,290.5 L241.1,291.2 L243.5,291.9 L245.9,292.6 L248.3,293.2 L250.6,293.9 L253,294.6 L255.4,295.3 L257.8,296 L260.2,296.6 L262.5,297.3 L264.9,298 L267.3,298.6 L269.7,299.3 L272,300 L274.4,300.6 L276.8,301.3 L279.2,301.9 L281.6,302.6 L283.9,303.2 L286.3,303.8 L288.7,304.5 L291.1,305.1 L293.4,305.7 L295.8,306.3 L298.2,306.9 L300.6,307.5 L303,308.1 L305.3,308.7 L307.7,309.3 L310.1,309.8 L312.5,310.4 L314.8,311 L317.2,311.5 L319.6,312 L322,312.6 L324.4,313.1 L326.7,313.6 L329.1,314.1 L331.5,314.6 L333.9,315.1 L336.2,315.6 L338.6,316.1 L341,316.6 L343.4,317.1 L345.8,317.5 L348.1,318 L350.5,318.4 L352.9,318.9 L355.3,319.3 L357.6,319.8 L360,320.2 L362.4,320.6 L364.8,321 L367.2,321.4 L369.5,321.8 L371.9,322.2 L374.3,322.6 L376.7,322.9 L379,323.3 L381.4,323.7 L383.8,324 L386.2,324.4 L388.6,324.7 L390.9,325.1 L393.3,325.4 L395.7,325.7 L398.1,326 L400.4,326.3 L402.8,326.7 L405.2,327 L407.6,327.3 L410,327.5 L412.3,327.8 L414.7,328.1 L417.1,328.4 L419.5,328.7 L421.8,328.9 L424.2,329.2 L426.6,329.4 L429,329.7 L431.4,329.9 L433.7,330.2 L436.1,330.4 L438.5,330.6 L440.9,330.9 L443.2,331.1 L445.6,331.3 L448,331.5 L450.4,331.7 L452.8,331.9 L455.1,332.1 L457.5,332.3 L459.9,332.5 L462.3,332.7 L464.6,332.9 L467,333.1 L469.4,333.2 L471.8,333.4 L474.2,333.6 L476.5,333.7 L478.9,333.9 L481.3,334.1 L483.7,334.2 L486,334.4 L488.4,334.5 L490.8,334.7 L493.2,334.8 L495.6,335 L497.9,335.1 L500.3,335.2 L502.7,335.4 L505.1,335.5 L507.4,335.6 L509.8,335.7 L512.2,335.9 L514.6,336 L517,336.1 L519.3,336.2 L521.7,336.3 L524.1,336.4 L526.5,336.5 L528.8,336.6 L531.2,336.7 L533.6,336.8 L536,336.9 L538.4,337 L540.7,337.1 L543.1,337.2 L545.5,337.3 L547.9,337.4 L550.2,337.5 L552.6,337.5 L555,337.6 L557.4,337.7 L559.8,337.8 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">scale = 0.5</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">scale = 1</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">scale = 2</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Gamma Distribution PDF With Shape = 2</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma_p.png b/libs/math/doc/graphs/gamma_p.png
index 8548cf552f..8548cf552f 100644
--- a/libs/math/doc/sf_and_dist/graphs/gamma_p.png
+++ b/libs/math/doc/graphs/gamma_p.png
Binary files differ
diff --git a/libs/math/doc/graphs/gamma_p.svg b/libs/math/doc/graphs/gamma_p.svg
new file mode 100644
index 0000000000..d7fec32e2f
--- /dev/null
+++ b/libs/math/doc/graphs/gamma_p.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="351.1" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="353.1" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="437.3" y2="341"/><line x1="79.2" y1="341" x2="437.3" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.1 L84.2,327.1 M82.2,320.2 L84.2,320.2 M82.2,306.3 L84.2,306.3 M82.2,299.4 L84.2,299.4 M82.2,292.4 L84.2,292.4 M82.2,278.6 L84.2,278.6 M82.2,271.6 L84.2,271.6 M82.2,264.7 L84.2,264.7 M82.2,250.8 L84.2,250.8 M82.2,243.9 L84.2,243.9 M82.2,237 L84.2,237 M82.2,223.1 L84.2,223.1 M82.2,216.1 L84.2,216.1 M82.2,209.2 L84.2,209.2 M82.2,195.3 L84.2,195.3 M82.2,188.4 L84.2,188.4 M82.2,181.5 L84.2,181.5 M82.2,167.6 L84.2,167.6 M82.2,160.7 L84.2,160.7 M82.2,153.7 L84.2,153.7 M82.2,139.8 L84.2,139.8 M82.2,132.9 L84.2,132.9 M82.2,126 L84.2,126 M82.2,112.1 L84.2,112.1 M82.2,105.2 L84.2,105.2 M82.2,98.23 L84.2,98.23 M82.2,84.36 L84.2,84.36 M82.2,77.42 L84.2,77.42 M82.2,70.49 L84.2,70.49 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M105.8,341 L105.8,343 M127.5,341 L127.5,343 M149.1,341 L149.1,343 M192.4,341 L192.4,343 M214,341 L214,343 M235.6,341 L235.6,343 M278.9,341 L278.9,343 M300.5,341 L300.5,343 M322.2,341 L322.2,343 M365.5,341 L365.5,343 M387.1,341 L387.1,343 M408.7,341 L408.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,313.3 L84.2,313.3 M79.2,285.5 L84.2,285.5 M79.2,257.8 L84.2,257.8 M79.2,230 L84.2,230 M79.2,202.3 L84.2,202.3 M79.2,174.5 L84.2,174.5 M79.2,146.8 L84.2,146.8 M79.2,119 L84.2,119 M79.2,91.29 L84.2,91.29 M79.2,63.55 L84.2,63.55 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M170.7,341 L170.7,346 M257.3,341 L257.3,346 M343.8,341 L343.8,346 M430.4,341 L430.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="170.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="257.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="343.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="430.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">gamma_p(a, z)</text></g>
+<g id="xLabel">
+<text x="260.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L85.93,245.2 L87.66,209.8 L89.39,185.2 L91.12,166.5 L92.85,151.6 L94.58,139.4 L96.32,129.2 L98.05,120.7 L99.78,113.4 L101.5,107.2 L103.2,101.8 L105,97.21 L106.7,93.2 L108.4,89.7 L110.2,86.65 L111.9,83.98 L113.6,81.64 L115.4,79.58 L117.1,77.77 L118.8,76.17 L120.5,74.76 L122.3,73.52 L124,72.42 L125.7,71.45 L127.5,70.58 L129.2,69.82 L130.9,69.14 L132.7,68.53 L134.4,68 L136.1,67.52 L137.9,67.09 L139.6,66.72 L141.3,66.38 L143,66.08 L144.8,65.81 L146.5,65.57 L148.2,65.36 L150,65.17 L151.7,65 L153.4,64.85 L155.2,64.71 L156.9,64.59 L158.6,64.48 L160.4,64.38 L162.1,64.3 L163.8,64.22 L165.5,64.15 L167.3,64.09 L169,64.03 L170.7,63.98 L172.5,63.94 L174.2,63.9 L175.9,63.86 L177.7,63.83 L179.4,63.8 L181.1,63.78 L182.9,63.75 L184.6,63.73 L186.3,63.71 L188,63.7 L189.8,63.68 L191.5,63.67 L193.2,63.66 L195,63.65 L196.7,63.64 L198.4,63.63 L200.2,63.62 L201.9,63.61 L203.6,63.61 L205.4,63.6 L207.1,63.59 L208.8,63.59 L210.5,63.59 L212.3,63.58 L214,63.58 L215.7,63.58 L217.5,63.57 L219.2,63.57 L220.9,63.57 L222.7,63.57 L224.4,63.56 L226.1,63.56 L227.9,63.56 L229.6,63.56 L231.3,63.56 L233,63.56 L234.8,63.56 L236.5,63.56 L238.2,63.56 L240,63.56 L241.7,63.55 L243.4,63.55 L245.2,63.55 L246.9,63.55 L248.6,63.55 L250.4,63.55 L252.1,63.55 L253.8,63.55 L255.5,63.55 L257.3,63.55 L259,63.55 L260.7,63.55 L262.5,63.55 L264.2,63.55 L265.9,63.55 L267.7,63.55 L269.4,63.55 L271.1,63.55 L272.9,63.55 L274.6,63.55 L276.3,63.55 L278,63.55 L279.8,63.55 L281.5,63.55 L283.2,63.55 L285,63.55 L286.7,63.55 L288.4,63.55 L290.2,63.55 L291.9,63.55 L293.6,63.55 L295.4,63.55 L297.1,63.55 L298.8,63.55 L300.5,63.55 L302.3,63.55 L304,63.55 L305.7,63.55 L307.5,63.55 L309.2,63.55 L310.9,63.55 L312.7,63.55 L314.4,63.55 L316.1,63.55 L317.9,63.55 L319.6,63.55 L321.3,63.55 L323,63.55 L324.8,63.55 L326.5,63.55 L328.2,63.55 L330,63.55 L331.7,63.55 L333.4,63.55 L335.2,63.55 L336.9,63.55 L338.6,63.55 L340.4,63.55 L342.1,63.55 L343.8,63.55 L345.5,63.55 L347.3,63.55 L349,63.55 L350.7,63.55 L352.5,63.55 L354.2,63.55 L355.9,63.55 L357.7,63.55 L359.4,63.55 L361.1,63.55 L362.9,63.55 L364.6,63.55 L366.3,63.55 L368,63.55 L369.8,63.55 L371.5,63.55 L373.2,63.55 L375,63.55 L376.7,63.55 L378.4,63.55 L380.2,63.55 L381.9,63.55 L383.6,63.55 L385.4,63.55 L387.1,63.55 L388.8,63.55 L390.5,63.55 L392.3,63.55 L394,63.55 L395.7,63.55 L397.5,63.55 L399.2,63.55 L400.9,63.55 L402.7,63.55 L404.4,63.55 L406.1,63.55 L407.9,63.55 L409.6,63.55 L411.3,63.55 L413,63.55 L414.8,63.55 L416.5,63.55 L418.2,63.55 L420,63.55 L421.7,63.55 L423.4,63.55 L425.2,63.55 L426.9,63.55 L428.6,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L85.93,314.6 L87.66,290.7 L89.39,269.1 L91.12,249.5 L92.85,231.8 L94.58,215.8 L96.32,201.3 L98.05,188.2 L99.78,176.4 L101.5,165.6 L103.2,155.9 L105,147.1 L106.7,139.2 L108.4,132 L110.2,125.5 L111.9,119.6 L113.6,114.2 L115.4,109.4 L117.1,105 L118.8,101.1 L120.5,97.52 L122.3,94.29 L124,91.37 L125.7,88.72 L127.5,86.32 L129.2,84.16 L130.9,82.2 L132.7,80.42 L134.4,78.82 L136.1,77.36 L137.9,76.05 L139.6,74.86 L141.3,73.78 L143,72.81 L144.8,71.93 L146.5,71.13 L148.2,70.41 L150,69.76 L151.7,69.17 L153.4,68.63 L155.2,68.15 L156.9,67.71 L158.6,67.31 L160.4,66.96 L162.1,66.63 L163.8,66.34 L165.5,66.07 L167.3,65.83 L169,65.62 L170.7,65.42 L172.5,65.24 L174.2,65.08 L175.9,64.93 L177.7,64.8 L179.4,64.68 L181.1,64.57 L182.9,64.48 L184.6,64.39 L186.3,64.31 L188,64.24 L189.8,64.17 L191.5,64.11 L193.2,64.06 L195,64.01 L196.7,63.97 L198.4,63.93 L200.2,63.89 L201.9,63.86 L203.6,63.83 L205.4,63.8 L207.1,63.78 L208.8,63.76 L210.5,63.74 L212.3,63.72 L214,63.7 L215.7,63.69 L217.5,63.67 L219.2,63.66 L220.9,63.65 L222.7,63.64 L224.4,63.63 L226.1,63.63 L227.9,63.62 L229.6,63.61 L231.3,63.61 L233,63.6 L234.8,63.6 L236.5,63.59 L238.2,63.59 L240,63.58 L241.7,63.58 L243.4,63.58 L245.2,63.57 L246.9,63.57 L248.6,63.57 L250.4,63.57 L252.1,63.57 L253.8,63.56 L255.5,63.56 L257.3,63.56 L259,63.56 L260.7,63.56 L262.5,63.56 L264.2,63.56 L265.9,63.56 L267.7,63.56 L269.4,63.56 L271.1,63.55 L272.9,63.55 L274.6,63.55 L276.3,63.55 L278,63.55 L279.8,63.55 L281.5,63.55 L283.2,63.55 L285,63.55 L286.7,63.55 L288.4,63.55 L290.2,63.55 L291.9,63.55 L293.6,63.55 L295.4,63.55 L297.1,63.55 L298.8,63.55 L300.5,63.55 L302.3,63.55 L304,63.55 L305.7,63.55 L307.5,63.55 L309.2,63.55 L310.9,63.55 L312.7,63.55 L314.4,63.55 L316.1,63.55 L317.9,63.55 L319.6,63.55 L321.3,63.55 L323,63.55 L324.8,63.55 L326.5,63.55 L328.2,63.55 L330,63.55 L331.7,63.55 L333.4,63.55 L335.2,63.55 L336.9,63.55 L338.6,63.55 L340.4,63.55 L342.1,63.55 L343.8,63.55 L345.5,63.55 L347.3,63.55 L349,63.55 L350.7,63.55 L352.5,63.55 L354.2,63.55 L355.9,63.55 L357.7,63.55 L359.4,63.55 L361.1,63.55 L362.9,63.55 L364.6,63.55 L366.3,63.55 L368,63.55 L369.8,63.55 L371.5,63.55 L373.2,63.55 L375,63.55 L376.7,63.55 L378.4,63.55 L380.2,63.55 L381.9,63.55 L383.6,63.55 L385.4,63.55 L387.1,63.55 L388.8,63.55 L390.5,63.55 L392.3,63.55 L394,63.55 L395.7,63.55 L397.5,63.55 L399.2,63.55 L400.9,63.55 L402.7,63.55 L404.4,63.55 L406.1,63.55 L407.9,63.55 L409.6,63.55 L411.3,63.55 L413,63.55 L414.8,63.55 L416.5,63.55 L418.2,63.55 L420,63.55 L421.7,63.55 L423.4,63.55 L425.2,63.55 L426.9,63.55 L428.6,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L85.93,341 L87.66,341 L89.39,341 L91.12,341 L92.85,341 L94.58,340.9 L96.32,340.8 L98.05,340.6 L99.78,340.3 L101.5,340 L103.2,339.5 L105,338.9 L106.7,338 L108.4,337 L110.2,335.8 L111.9,334.4 L113.6,332.8 L115.4,330.9 L117.1,328.8 L118.8,326.4 L120.5,323.8 L122.3,320.9 L124,317.8 L125.7,314.4 L127.5,310.8 L129.2,307 L130.9,303 L132.7,298.7 L134.4,294.3 L136.1,289.7 L137.9,285 L139.6,280.1 L141.3,275.1 L143,270 L144.8,264.8 L146.5,259.6 L148.2,254.2 L150,248.8 L151.7,243.4 L153.4,238 L155.2,232.6 L156.9,227.2 L158.6,221.8 L160.4,216.5 L162.1,211.2 L163.8,205.9 L165.5,200.8 L167.3,195.7 L169,190.7 L170.7,185.8 L172.5,180.9 L174.2,176.2 L175.9,171.6 L177.7,167.1 L179.4,162.7 L181.1,158.5 L182.9,154.3 L184.6,150.3 L186.3,146.4 L188,142.6 L189.8,139 L191.5,135.5 L193.2,132.1 L195,128.8 L196.7,125.6 L198.4,122.6 L200.2,119.6 L201.9,116.8 L203.6,114.1 L205.4,111.5 L207.1,109.1 L208.8,106.7 L210.5,104.4 L212.3,102.3 L214,100.2 L215.7,98.21 L217.5,96.33 L219.2,94.53 L220.9,92.82 L222.7,91.19 L224.4,89.64 L226.1,88.17 L227.9,86.77 L229.6,85.44 L231.3,84.18 L233,82.99 L234.8,81.85 L236.5,80.78 L238.2,79.76 L240,78.8 L241.7,77.89 L243.4,77.03 L245.2,76.21 L246.9,75.45 L248.6,74.72 L250.4,74.04 L252.1,73.39 L253.8,72.78 L255.5,72.21 L257.3,71.67 L259,71.16 L260.7,70.68 L262.5,70.23 L264.2,69.8 L265.9,69.4 L267.7,69.03 L269.4,68.67 L271.1,68.34 L272.9,68.03 L274.6,67.74 L276.3,67.47 L278,67.21 L279.8,66.97 L281.5,66.74 L283.2,66.53 L285,66.33 L286.7,66.15 L288.4,65.97 L290.2,65.81 L291.9,65.66 L293.6,65.52 L295.4,65.38 L297.1,65.26 L298.8,65.14 L300.5,65.03 L302.3,64.93 L304,64.84 L305.7,64.75 L307.5,64.66 L309.2,64.59 L310.9,64.51 L312.7,64.45 L314.4,64.38 L316.1,64.33 L317.9,64.27 L319.6,64.22 L321.3,64.17 L323,64.13 L324.8,64.09 L326.5,64.05 L328.2,64.01 L330,63.98 L331.7,63.95 L333.4,63.92 L335.2,63.89 L336.9,63.87 L338.6,63.85 L340.4,63.83 L342.1,63.81 L343.8,63.79 L345.5,63.77 L347.3,63.75 L349,63.74 L350.7,63.72 L352.5,63.71 L354.2,63.7 L355.9,63.69 L357.7,63.68 L359.4,63.67 L361.1,63.66 L362.9,63.65 L364.6,63.64 L366.3,63.64 L368,63.63 L369.8,63.62 L371.5,63.62 L373.2,63.61 L375,63.61 L376.7,63.6 L378.4,63.6 L380.2,63.6 L381.9,63.59 L383.6,63.59 L385.4,63.59 L387.1,63.58 L388.8,63.58 L390.5,63.58 L392.3,63.58 L394,63.57 L395.7,63.57 L397.5,63.57 L399.2,63.57 L400.9,63.57 L402.7,63.57 L404.4,63.56 L406.1,63.56 L407.9,63.56 L409.6,63.56 L411.3,63.56 L413,63.56 L414.8,63.56 L416.5,63.56 L418.2,63.56 L420,63.56 L421.7,63.56 L423.4,63.56 L425.2,63.56 L426.9,63.55 L428.6,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L85.93,341 L87.66,341 L89.39,341 L91.12,341 L92.85,341 L94.58,341 L96.32,341 L98.05,341 L99.78,341 L101.5,341 L103.2,341 L105,341 L106.7,341 L108.4,341 L110.2,341 L111.9,341 L113.6,341 L115.4,341 L117.1,341 L118.8,341 L120.5,341 L122.3,341 L124,341 L125.7,340.9 L127.5,340.9 L129.2,340.9 L130.9,340.9 L132.7,340.8 L134.4,340.8 L136.1,340.7 L137.9,340.6 L139.6,340.5 L141.3,340.4 L143,340.2 L144.8,340.1 L146.5,339.9 L148.2,339.7 L150,339.4 L151.7,339.1 L153.4,338.7 L155.2,338.4 L156.9,337.9 L158.6,337.4 L160.4,336.9 L162.1,336.3 L163.8,335.6 L165.5,334.8 L167.3,334 L169,333.1 L170.7,332.2 L172.5,331.1 L174.2,330 L175.9,328.8 L177.7,327.5 L179.4,326.1 L181.1,324.6 L182.9,323 L184.6,321.3 L186.3,319.6 L188,317.7 L189.8,315.8 L191.5,313.7 L193.2,311.6 L195,309.3 L196.7,307 L198.4,304.6 L200.2,302 L201.9,299.4 L203.6,296.7 L205.4,294 L207.1,291.1 L208.8,288.2 L210.5,285.2 L212.3,282.1 L214,279 L215.7,275.8 L217.5,272.5 L219.2,269.2 L220.9,265.8 L222.7,262.4 L224.4,258.9 L226.1,255.4 L227.9,251.9 L229.6,248.3 L231.3,244.7 L233,241.1 L234.8,237.5 L236.5,233.8 L238.2,230.2 L240,226.5 L241.7,222.9 L243.4,219.2 L245.2,215.6 L246.9,211.9 L248.6,208.3 L250.4,204.7 L252.1,201.2 L253.8,197.6 L255.5,194.1 L257.3,190.6 L259,187.1 L260.7,183.7 L262.5,180.4 L264.2,177 L265.9,173.7 L267.7,170.5 L269.4,167.3 L271.1,164.2 L272.9,161.1 L274.6,158 L276.3,155 L278,152.1 L279.8,149.2 L281.5,146.4 L283.2,143.7 L285,141 L286.7,138.3 L288.4,135.8 L290.2,133.3 L291.9,130.8 L293.6,128.4 L295.4,126.1 L297.1,123.8 L298.8,121.6 L300.5,119.4 L302.3,117.3 L304,115.3 L305.7,113.3 L307.5,111.4 L309.2,109.6 L310.9,107.7 L312.7,106 L314.4,104.3 L316.1,102.7 L317.9,101.1 L319.6,99.54 L321.3,98.06 L323,96.62 L324.8,95.24 L326.5,93.9 L328.2,92.61 L330,91.37 L331.7,90.17 L333.4,89.01 L335.2,87.9 L336.9,86.83 L338.6,85.79 L340.4,84.8 L342.1,83.85 L343.8,82.93 L345.5,82.05 L347.3,81.2 L349,80.39 L350.7,79.61 L352.5,78.86 L354.2,78.14 L355.9,77.46 L357.7,76.8 L359.4,76.17 L361.1,75.56 L362.9,74.98 L364.6,74.43 L366.3,73.9 L368,73.39 L369.8,72.91 L371.5,72.45 L373.2,72.01 L375,71.58 L376.7,71.18 L378.4,70.8 L380.2,70.43 L381.9,70.08 L383.6,69.75 L385.4,69.43 L387.1,69.13 L388.8,68.84 L390.5,68.56 L392.3,68.3 L394,68.05 L395.7,67.82 L397.5,67.59 L399.2,67.38 L400.9,67.17 L402.7,66.98 L404.4,66.8 L406.1,66.62 L407.9,66.46 L409.6,66.3 L411.3,66.15 L413,66.01 L414.8,65.87 L416.5,65.74 L418.2,65.62 L420,65.51 L421.7,65.4 L423.4,65.3 L425.2,65.2 L426.9,65.11 L428.6,65.02 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="126"/><rect x="451.3" y="58" width="122.7" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="486.3" y="86" font-size="14" font-family="Verdana">a = 0.5</text>
+<text x="486.3" y="114" font-size="14" font-family="Verdana">a = 1.0</text>
+<text x="486.3" y="142" font-size="14" font-family="Verdana">a = 5.0</text>
+<text x="486.3" y="170" font-size="14" font-family="Verdana">a = 10.0</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">gamma_p</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma_q.png b/libs/math/doc/graphs/gamma_q.png
index c6d6033a02..c6d6033a02 100644
--- a/libs/math/doc/sf_and_dist/graphs/gamma_q.png
+++ b/libs/math/doc/graphs/gamma_q.png
Binary files differ
diff --git a/libs/math/doc/graphs/gamma_q.svg b/libs/math/doc/graphs/gamma_q.svg
new file mode 100644
index 0000000000..4ca354127c
--- /dev/null
+++ b/libs/math/doc/graphs/gamma_q.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="351.1" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="353.1" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="437.3" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.1 L84.2,327.1 M82.2,320.2 L84.2,320.2 M82.2,306.3 L84.2,306.3 M82.2,299.4 L84.2,299.4 M82.2,292.4 L84.2,292.4 M82.2,278.6 L84.2,278.6 M82.2,271.6 L84.2,271.6 M82.2,264.7 L84.2,264.7 M82.2,250.8 L84.2,250.8 M82.2,243.9 L84.2,243.9 M82.2,237 L84.2,237 M82.2,223.1 L84.2,223.1 M82.2,216.1 L84.2,216.1 M82.2,209.2 L84.2,209.2 M82.2,195.3 L84.2,195.3 M82.2,188.4 L84.2,188.4 M82.2,181.5 L84.2,181.5 M82.2,167.6 L84.2,167.6 M82.2,160.7 L84.2,160.7 M82.2,153.7 L84.2,153.7 M82.2,139.8 L84.2,139.8 M82.2,132.9 L84.2,132.9 M82.2,126 L84.2,126 M82.2,112.1 L84.2,112.1 M82.2,105.2 L84.2,105.2 M82.2,98.23 L84.2,98.23 M82.2,84.36 L84.2,84.36 M82.2,77.42 L84.2,77.42 M82.2,70.49 L84.2,70.49 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M105.8,341 L105.8,343 M127.5,341 L127.5,343 M149.1,341 L149.1,343 M192.4,341 L192.4,343 M214,341 L214,343 M235.6,341 L235.6,343 M278.9,341 L278.9,343 M300.5,341 L300.5,343 M322.2,341 L322.2,343 M365.5,341 L365.5,343 M387.1,341 L387.1,343 M408.7,341 L408.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,313.3 L84.2,313.3 M79.2,285.5 L84.2,285.5 M79.2,257.8 L84.2,257.8 M79.2,230 L84.2,230 M79.2,202.3 L84.2,202.3 M79.2,174.5 L84.2,174.5 M79.2,146.8 L84.2,146.8 M79.2,119 L84.2,119 M79.2,91.29 L84.2,91.29 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M170.7,341 L170.7,346 M257.3,341 L257.3,346 M343.8,341 L343.8,346 M430.4,341 L430.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="170.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="257.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="343.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="430.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">gamma_q(a, z)</text></g>
+<g id="xLabel">
+<text x="260.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,63.55 L85.93,159.3 L87.66,194.8 L89.39,219.3 L91.12,238 L92.85,253 L94.58,265.2 L96.32,275.3 L98.05,283.9 L99.78,291.1 L101.5,297.4 L103.2,302.7 L105,307.3 L106.7,311.4 L108.4,314.8 L110.2,317.9 L111.9,320.6 L113.6,322.9 L115.4,325 L117.1,326.8 L118.8,328.4 L120.5,329.8 L122.3,331 L124,332.1 L125.7,333.1 L127.5,334 L129.2,334.7 L130.9,335.4 L132.7,336 L134.4,336.6 L136.1,337 L137.9,337.5 L139.6,337.8 L141.3,338.2 L143,338.5 L144.8,338.7 L146.5,339 L148.2,339.2 L150,339.4 L151.7,339.6 L153.4,339.7 L155.2,339.8 L156.9,340 L158.6,340.1 L160.4,340.2 L162.1,340.3 L163.8,340.3 L165.5,340.4 L167.3,340.5 L169,340.5 L170.7,340.6 L172.5,340.6 L174.2,340.7 L175.9,340.7 L177.7,340.7 L179.4,340.7 L181.1,340.8 L182.9,340.8 L184.6,340.8 L186.3,340.8 L188,340.9 L189.8,340.9 L191.5,340.9 L193.2,340.9 L195,340.9 L196.7,340.9 L198.4,340.9 L200.2,340.9 L201.9,340.9 L203.6,340.9 L205.4,340.9 L207.1,341 L208.8,341 L210.5,341 L212.3,341 L214,341 L215.7,341 L217.5,341 L219.2,341 L220.9,341 L222.7,341 L224.4,341 L226.1,341 L227.9,341 L229.6,341 L231.3,341 L233,341 L234.8,341 L236.5,341 L238.2,341 L240,341 L241.7,341 L243.4,341 L245.2,341 L246.9,341 L248.6,341 L250.4,341 L252.1,341 L253.8,341 L255.5,341 L257.3,341 L259,341 L260.7,341 L262.5,341 L264.2,341 L265.9,341 L267.7,341 L269.4,341 L271.1,341 L272.9,341 L274.6,341 L276.3,341 L278,341 L279.8,341 L281.5,341 L283.2,341 L285,341 L286.7,341 L288.4,341 L290.2,341 L291.9,341 L293.6,341 L295.4,341 L297.1,341 L298.8,341 L300.5,341 L302.3,341 L304,341 L305.7,341 L307.5,341 L309.2,341 L310.9,341 L312.7,341 L314.4,341 L316.1,341 L317.9,341 L319.6,341 L321.3,341 L323,341 L324.8,341 L326.5,341 L328.2,341 L330,341 L331.7,341 L333.4,341 L335.2,341 L336.9,341 L338.6,341 L340.4,341 L342.1,341 L343.8,341 L345.5,341 L347.3,341 L349,341 L350.7,341 L352.5,341 L354.2,341 L355.9,341 L357.7,341 L359.4,341 L361.1,341 L362.9,341 L364.6,341 L366.3,341 L368,341 L369.8,341 L371.5,341 L373.2,341 L375,341 L376.7,341 L378.4,341 L380.2,341 L381.9,341 L383.6,341 L385.4,341 L387.1,341 L388.8,341 L390.5,341 L392.3,341 L394,341 L395.7,341 L397.5,341 L399.2,341 L400.9,341 L402.7,341 L404.4,341 L406.1,341 L407.9,341 L409.6,341 L411.3,341 L413,341 L414.8,341 L416.5,341 L418.2,341 L420,341 L421.7,341 L423.4,341 L425.2,341 L426.9,341 L428.6,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,63.55 L85.93,89.95 L87.66,113.8 L89.39,135.5 L91.12,155 L92.85,172.7 L94.58,188.7 L96.32,203.2 L98.05,216.3 L99.78,228.2 L101.5,238.9 L103.2,248.6 L105,257.4 L106.7,265.4 L108.4,272.6 L110.2,279.1 L111.9,285 L113.6,290.3 L115.4,295.1 L117.1,299.5 L118.8,303.5 L120.5,307 L122.3,310.3 L124,313.2 L125.7,315.8 L127.5,318.2 L129.2,320.4 L130.9,322.4 L132.7,324.1 L134.4,325.7 L136.1,327.2 L137.9,328.5 L139.6,329.7 L141.3,330.8 L143,331.7 L144.8,332.6 L146.5,333.4 L148.2,334.1 L150,334.8 L151.7,335.4 L153.4,335.9 L155.2,336.4 L156.9,336.8 L158.6,337.2 L160.4,337.6 L162.1,337.9 L163.8,338.2 L165.5,338.5 L167.3,338.7 L169,338.9 L170.7,339.1 L172.5,339.3 L174.2,339.5 L175.9,339.6 L177.7,339.7 L179.4,339.9 L181.1,340 L182.9,340.1 L184.6,340.2 L186.3,340.2 L188,340.3 L189.8,340.4 L191.5,340.4 L193.2,340.5 L195,340.5 L196.7,340.6 L198.4,340.6 L200.2,340.7 L201.9,340.7 L203.6,340.7 L205.4,340.7 L207.1,340.8 L208.8,340.8 L210.5,340.8 L212.3,340.8 L214,340.8 L215.7,340.9 L217.5,340.9 L219.2,340.9 L220.9,340.9 L222.7,340.9 L224.4,340.9 L226.1,340.9 L227.9,340.9 L229.6,340.9 L231.3,340.9 L233,340.9 L234.8,341 L236.5,341 L238.2,341 L240,341 L241.7,341 L243.4,341 L245.2,341 L246.9,341 L248.6,341 L250.4,341 L252.1,341 L253.8,341 L255.5,341 L257.3,341 L259,341 L260.7,341 L262.5,341 L264.2,341 L265.9,341 L267.7,341 L269.4,341 L271.1,341 L272.9,341 L274.6,341 L276.3,341 L278,341 L279.8,341 L281.5,341 L283.2,341 L285,341 L286.7,341 L288.4,341 L290.2,341 L291.9,341 L293.6,341 L295.4,341 L297.1,341 L298.8,341 L300.5,341 L302.3,341 L304,341 L305.7,341 L307.5,341 L309.2,341 L310.9,341 L312.7,341 L314.4,341 L316.1,341 L317.9,341 L319.6,341 L321.3,341 L323,341 L324.8,341 L326.5,341 L328.2,341 L330,341 L331.7,341 L333.4,341 L335.2,341 L336.9,341 L338.6,341 L340.4,341 L342.1,341 L343.8,341 L345.5,341 L347.3,341 L349,341 L350.7,341 L352.5,341 L354.2,341 L355.9,341 L357.7,341 L359.4,341 L361.1,341 L362.9,341 L364.6,341 L366.3,341 L368,341 L369.8,341 L371.5,341 L373.2,341 L375,341 L376.7,341 L378.4,341 L380.2,341 L381.9,341 L383.6,341 L385.4,341 L387.1,341 L388.8,341 L390.5,341 L392.3,341 L394,341 L395.7,341 L397.5,341 L399.2,341 L400.9,341 L402.7,341 L404.4,341 L406.1,341 L407.9,341 L409.6,341 L411.3,341 L413,341 L414.8,341 L416.5,341 L418.2,341 L420,341 L421.7,341 L423.4,341 L425.2,341 L426.9,341 L428.6,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,63.55 L85.93,63.55 L87.66,63.55 L89.39,63.55 L91.12,63.57 L92.85,63.6 L94.58,63.66 L96.32,63.77 L98.05,63.94 L99.78,64.2 L101.5,64.56 L103.2,65.06 L105,65.7 L106.7,66.51 L108.4,67.5 L110.2,68.7 L111.9,70.12 L113.6,71.77 L115.4,73.65 L117.1,75.78 L118.8,78.16 L120.5,80.79 L122.3,83.66 L124,86.79 L125.7,90.15 L127.5,93.74 L129.2,97.56 L130.9,101.6 L132.7,105.8 L134.4,110.2 L136.1,114.8 L137.9,119.5 L139.6,124.4 L141.3,129.4 L143,134.5 L144.8,139.7 L146.5,145 L148.2,150.3 L150,155.7 L151.7,161.1 L153.4,166.5 L155.2,171.9 L156.9,177.4 L158.6,182.7 L160.4,188.1 L162.1,193.4 L163.8,198.6 L165.5,203.8 L167.3,208.9 L169,213.9 L170.7,218.8 L172.5,223.6 L174.2,228.3 L175.9,232.9 L177.7,237.4 L179.4,241.8 L181.1,246.1 L182.9,250.2 L184.6,254.2 L186.3,258.1 L188,261.9 L189.8,265.6 L191.5,269.1 L193.2,272.5 L195,275.8 L196.7,278.9 L198.4,282 L200.2,284.9 L201.9,287.7 L203.6,290.4 L205.4,293 L207.1,295.5 L208.8,297.9 L210.5,300.1 L212.3,302.3 L214,304.4 L215.7,306.3 L217.5,308.2 L219.2,310 L220.9,311.7 L222.7,313.4 L224.4,314.9 L226.1,316.4 L227.9,317.8 L229.6,319.1 L231.3,320.4 L233,321.6 L234.8,322.7 L236.5,323.8 L238.2,324.8 L240,325.8 L241.7,326.7 L243.4,327.5 L245.2,328.3 L246.9,329.1 L248.6,329.8 L250.4,330.5 L252.1,331.2 L253.8,331.8 L255.5,332.3 L257.3,332.9 L259,333.4 L260.7,333.9 L262.5,334.3 L264.2,334.7 L265.9,335.1 L267.7,335.5 L269.4,335.9 L271.1,336.2 L272.9,336.5 L274.6,336.8 L276.3,337.1 L278,337.3 L279.8,337.6 L281.5,337.8 L283.2,338 L285,338.2 L286.7,338.4 L288.4,338.6 L290.2,338.7 L291.9,338.9 L293.6,339 L295.4,339.2 L297.1,339.3 L298.8,339.4 L300.5,339.5 L302.3,339.6 L304,339.7 L305.7,339.8 L307.5,339.9 L309.2,340 L310.9,340 L312.7,340.1 L314.4,340.2 L316.1,340.2 L317.9,340.3 L319.6,340.3 L321.3,340.4 L323,340.4 L324.8,340.5 L326.5,340.5 L328.2,340.5 L330,340.6 L331.7,340.6 L333.4,340.6 L335.2,340.7 L336.9,340.7 L338.6,340.7 L340.4,340.7 L342.1,340.7 L343.8,340.8 L345.5,340.8 L347.3,340.8 L349,340.8 L350.7,340.8 L352.5,340.8 L354.2,340.8 L355.9,340.9 L357.7,340.9 L359.4,340.9 L361.1,340.9 L362.9,340.9 L364.6,340.9 L366.3,340.9 L368,340.9 L369.8,340.9 L371.5,340.9 L373.2,340.9 L375,340.9 L376.7,340.9 L378.4,340.9 L380.2,341 L381.9,341 L383.6,341 L385.4,341 L387.1,341 L388.8,341 L390.5,341 L392.3,341 L394,341 L395.7,341 L397.5,341 L399.2,341 L400.9,341 L402.7,341 L404.4,341 L406.1,341 L407.9,341 L409.6,341 L411.3,341 L413,341 L414.8,341 L416.5,341 L418.2,341 L420,341 L421.7,341 L423.4,341 L425.2,341 L426.9,341 L428.6,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,63.55 L85.93,63.55 L87.66,63.55 L89.39,63.55 L91.12,63.55 L92.85,63.55 L94.58,63.55 L96.32,63.55 L98.05,63.55 L99.78,63.55 L101.5,63.55 L103.2,63.55 L105,63.55 L106.7,63.55 L108.4,63.55 L110.2,63.55 L111.9,63.55 L113.6,63.55 L115.4,63.55 L117.1,63.56 L118.8,63.56 L120.5,63.57 L122.3,63.58 L124,63.59 L125.7,63.6 L127.5,63.63 L129.2,63.65 L130.9,63.69 L132.7,63.73 L134.4,63.79 L136.1,63.85 L137.9,63.94 L139.6,64.04 L141.3,64.16 L143,64.3 L144.8,64.47 L146.5,64.67 L148.2,64.89 L150,65.16 L151.7,65.46 L153.4,65.81 L155.2,66.2 L156.9,66.64 L158.6,67.13 L160.4,67.68 L162.1,68.29 L163.8,68.97 L165.5,69.71 L167.3,70.52 L169,71.41 L170.7,72.38 L172.5,73.43 L174.2,74.56 L175.9,75.77 L177.7,77.08 L179.4,78.47 L181.1,79.95 L182.9,81.53 L184.6,83.2 L186.3,84.97 L188,86.83 L189.8,88.79 L191.5,90.84 L193.2,92.99 L195,95.23 L196.7,97.57 L198.4,100 L200.2,102.5 L201.9,105.1 L203.6,107.8 L205.4,110.6 L207.1,113.4 L208.8,116.4 L210.5,119.4 L212.3,122.4 L214,125.6 L215.7,128.8 L217.5,132.1 L219.2,135.4 L220.9,138.8 L222.7,142.2 L224.4,145.6 L226.1,149.1 L227.9,152.7 L229.6,156.2 L231.3,159.8 L233,163.4 L234.8,167.1 L236.5,170.7 L238.2,174.4 L240,178 L241.7,181.7 L243.4,185.3 L245.2,189 L246.9,192.6 L248.6,196.2 L250.4,199.8 L252.1,203.4 L253.8,206.9 L255.5,210.5 L257.3,213.9 L259,217.4 L260.7,220.8 L262.5,224.2 L264.2,227.5 L265.9,230.8 L267.7,234.1 L269.4,237.3 L271.1,240.4 L272.9,243.5 L274.6,246.5 L276.3,249.5 L278,252.4 L279.8,255.3 L281.5,258.1 L283.2,260.9 L285,263.6 L286.7,266.2 L288.4,268.8 L290.2,271.3 L291.9,273.7 L293.6,276.1 L295.4,278.5 L297.1,280.7 L298.8,283 L300.5,285.1 L302.3,287.2 L304,289.2 L305.7,291.2 L307.5,293.1 L309.2,295 L310.9,296.8 L312.7,298.5 L314.4,300.2 L316.1,301.9 L317.9,303.5 L319.6,305 L321.3,306.5 L323,307.9 L324.8,309.3 L326.5,310.6 L328.2,311.9 L330,313.2 L331.7,314.4 L333.4,315.5 L335.2,316.7 L336.9,317.7 L338.6,318.8 L340.4,319.7 L342.1,320.7 L343.8,321.6 L345.5,322.5 L347.3,323.3 L349,324.2 L350.7,324.9 L352.5,325.7 L354.2,326.4 L355.9,327.1 L357.7,327.8 L359.4,328.4 L361.1,329 L362.9,329.6 L364.6,330.1 L366.3,330.6 L368,331.2 L369.8,331.6 L371.5,332.1 L373.2,332.5 L375,333 L376.7,333.4 L378.4,333.8 L380.2,334.1 L381.9,334.5 L383.6,334.8 L385.4,335.1 L387.1,335.4 L388.8,335.7 L390.5,336 L392.3,336.2 L394,336.5 L395.7,336.7 L397.5,337 L399.2,337.2 L400.9,337.4 L402.7,337.6 L404.4,337.8 L406.1,337.9 L407.9,338.1 L409.6,338.3 L411.3,338.4 L413,338.5 L414.8,338.7 L416.5,338.8 L418.2,338.9 L420,339 L421.7,339.2 L423.4,339.3 L425.2,339.4 L426.9,339.4 L428.6,339.5 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="126"/><rect x="451.3" y="58" width="122.7" height="126"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
+</g>
+<g id="legendText">
+<text x="486.3" y="86" font-size="14" font-family="Verdana">a = 0.5</text>
+<text x="486.3" y="114" font-size="14" font-family="Verdana">a = 1.0</text>
+<text x="486.3" y="142" font-size="14" font-family="Verdana">a = 5.0</text>
+<text x="486.3" y="170" font-size="14" font-family="Verdana">a = 10.0</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">gamma_q</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/generate.sh b/libs/math/doc/graphs/generate.sh
index bff99777e9..bff99777e9 100755
--- a/libs/math/doc/sf_and_dist/graphs/generate.sh
+++ b/libs/math/doc/graphs/generate.sh
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_2.png b/libs/math/doc/graphs/geometric_cdf_2.png
index 2f62859f1b..2f62859f1b 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_2.png
+++ b/libs/math/doc/graphs/geometric_cdf_2.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_2.svg b/libs/math/doc/graphs/geometric_cdf_2.svg
index 234b77fb73..234b77fb73 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_2.svg
+++ b/libs/math/doc/graphs/geometric_cdf_2.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_discrete.png b/libs/math/doc/graphs/geometric_cdf_discrete.png
index 31c53a9cc2..31c53a9cc2 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_discrete.png
+++ b/libs/math/doc/graphs/geometric_cdf_discrete.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_discrete.svg b/libs/math/doc/graphs/geometric_cdf_discrete.svg
index 150e7ee672..150e7ee672 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_cdf_discrete.svg
+++ b/libs/math/doc/graphs/geometric_cdf_discrete.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_2.png b/libs/math/doc/graphs/geometric_pdf_2.png
index 3b537a05e3..3b537a05e3 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_2.png
+++ b/libs/math/doc/graphs/geometric_pdf_2.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_2.svg b/libs/math/doc/graphs/geometric_pdf_2.svg
index 837ff052fc..837ff052fc 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_2.svg
+++ b/libs/math/doc/graphs/geometric_pdf_2.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_discrete.png b/libs/math/doc/graphs/geometric_pdf_discrete.png
index 24661f4bf5..24661f4bf5 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_discrete.png
+++ b/libs/math/doc/graphs/geometric_pdf_discrete.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_discrete.svg b/libs/math/doc/graphs/geometric_pdf_discrete.svg
index 9320c62fd1..9320c62fd1 100644
--- a/libs/math/doc/sf_and_dist/graphs/geometric_pdf_discrete.svg
+++ b/libs/math/doc/graphs/geometric_pdf_discrete.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/hermite.png b/libs/math/doc/graphs/hermite.png
index 9c3323e241..9c3323e241 100644
--- a/libs/math/doc/sf_and_dist/graphs/hermite.png
+++ b/libs/math/doc/graphs/hermite.png
Binary files differ
diff --git a/libs/math/doc/graphs/hermite.svg b/libs/math/doc/graphs/hermite.svg
new file mode 100644
index 0000000000..78767575f2
--- /dev/null
+++ b/libs/math/doc/graphs/hermite.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="374.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="376.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="268.8" y1="58" x2="268.8" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="200.6" x2="460.8" y2="200.6"/><line x1="79.2" y1="341" x2="460.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,186.5 L84.2,186.5 M82.2,172.5 L84.2,172.5 M82.2,158.5 L84.2,158.5 M82.2,130.5 L84.2,130.5 M82.2,116.5 L84.2,116.5 M82.2,102.5 L84.2,102.5 M82.2,74.43 L84.2,74.43 M82.2,60.42 L84.2,60.42 M82.2,200.6 L84.2,200.6 M82.2,214.6 L84.2,214.6 M82.2,228.6 L84.2,228.6 M82.2,242.6 L84.2,242.6 M82.2,256.6 L84.2,256.6 M82.2,270.6 L84.2,270.6 M82.2,284.6 L84.2,284.6 M82.2,298.6 L84.2,298.6 M82.2,312.7 L84.2,312.7 M82.2,326.7 L84.2,326.7 M82.2,340.7 L84.2,340.7 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M294.4,341 L294.4,343 M320.1,341 L320.1,343 M345.7,341 L345.7,343 M397,341 L397,343 M422.6,341 L422.6,343 M448.3,341 L448.3,343 M243.2,341 L243.2,343 M217.5,341 L217.5,343 M191.9,341 L191.9,343 M140.6,341 L140.6,343 M115,341 L115,343 M89.33,341 L89.33,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,200.6 L84.2,200.6 M79.2,144.5 L84.2,144.5 M79.2,88.45 L84.2,88.45 M79.2,200.6 L84.2,200.6 M79.2,256.6 L84.2,256.6 M79.2,312.7 L84.2,312.7 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M268.8,341 L268.8,346 M371.4,341 L371.4,346 M268.8,341 L268.8,346 M166.2,341 L166.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="268.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="371.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="268.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="166.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="203" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="146.9" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="73.2" y="90.85" text-anchor="end" font-size="12" font-family="Verdana">20</text>
+<text x="73.2" y="203" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="259" text-anchor="end" font-size="12" font-family="Verdana">-10</text>
+<text x="73.2" y="315.1" text-anchor="end" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">hermite(n, x)</text></g>
+<g id="xLabel">
+<text x="272.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,194.9 L86.05,194.9 L87.89,194.9 L89.74,194.9 L91.58,194.9 L93.43,194.9 L95.28,194.9 L97.12,194.9 L98.97,194.9 L100.8,194.9 L102.7,194.9 L104.5,194.9 L106.4,194.9 L108.2,194.9 L110,194.9 L111.9,194.9 L113.7,194.9 L115.6,194.9 L117.4,194.9 L119.3,194.9 L121.1,194.9 L123,194.9 L124.8,194.9 L126.7,194.9 L128.5,194.9 L130.4,194.9 L132.2,194.9 L134,194.9 L135.9,194.9 L137.7,194.9 L139.6,194.9 L141.4,194.9 L143.3,194.9 L145.1,194.9 L147,194.9 L148.8,194.9 L150.7,194.9 L152.5,194.9 L154.4,194.9 L156.2,194.9 L158,194.9 L159.9,194.9 L161.7,194.9 L163.6,194.9 L165.4,194.9 L167.3,194.9 L169.1,194.9 L171,194.9 L172.8,194.9 L174.7,194.9 L176.5,194.9 L178.4,194.9 L180.2,194.9 L182,194.9 L183.9,194.9 L185.7,194.9 L187.6,194.9 L189.4,194.9 L191.3,194.9 L193.1,194.9 L195,194.9 L196.8,194.9 L198.7,194.9 L200.5,194.9 L202.3,194.9 L204.2,194.9 L206,194.9 L207.9,194.9 L209.7,194.9 L211.6,194.9 L213.4,194.9 L215.3,194.9 L217.1,194.9 L219,194.9 L220.8,194.9 L222.7,194.9 L224.5,194.9 L226.3,194.9 L228.2,194.9 L230,194.9 L231.9,194.9 L233.7,194.9 L235.6,194.9 L237.4,194.9 L239.3,194.9 L241.1,194.9 L243,194.9 L244.8,194.9 L246.7,194.9 L248.5,194.9 L250.3,194.9 L252.2,194.9 L254,194.9 L255.9,194.9 L257.7,194.9 L259.6,194.9 L261.4,194.9 L263.3,194.9 L265.1,194.9 L267,194.9 L268.8,194.9 L270.7,194.9 L272.5,194.9 L274.3,194.9 L276.2,194.9 L278,194.9 L279.9,194.9 L281.7,194.9 L283.6,194.9 L285.4,194.9 L287.3,194.9 L289.1,194.9 L291,194.9 L292.8,194.9 L294.7,194.9 L296.5,194.9 L298.3,194.9 L300.2,194.9 L302,194.9 L303.9,194.9 L305.7,194.9 L307.6,194.9 L309.4,194.9 L311.3,194.9 L313.1,194.9 L315,194.9 L316.8,194.9 L318.7,194.9 L320.5,194.9 L322.3,194.9 L324.2,194.9 L326,194.9 L327.9,194.9 L329.7,194.9 L331.6,194.9 L333.4,194.9 L335.3,194.9 L337.1,194.9 L339,194.9 L340.8,194.9 L342.7,194.9 L344.5,194.9 L346.3,194.9 L348.2,194.9 L350,194.9 L351.9,194.9 L353.7,194.9 L355.6,194.9 L357.4,194.9 L359.3,194.9 L361.1,194.9 L363,194.9 L364.8,194.9 L366.7,194.9 L368.5,194.9 L370.3,194.9 L372.2,194.9 L374,194.9 L375.9,194.9 L377.7,194.9 L379.6,194.9 L381.4,194.9 L383.3,194.9 L385.1,194.9 L387,194.9 L388.8,194.9 L390.6,194.9 L392.5,194.9 L394.3,194.9 L396.2,194.9 L398,194.9 L399.9,194.9 L401.7,194.9 L403.6,194.9 L405.4,194.9 L407.3,194.9 L409.1,194.9 L411,194.9 L412.8,194.9 L414.6,194.9 L416.5,194.9 L418.3,194.9 L420.2,194.9 L422,194.9 L423.9,194.9 L425.7,194.9 L427.6,194.9 L429.4,194.9 L431.3,194.9 L433.1,194.9 L435,194.9 L436.8,194.9 L438.6,194.9 L440.5,194.9 L442.3,194.9 L444.2,194.9 L446,194.9 L447.9,194.9 L449.7,194.9 L451.6,194.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,220.7 L86.05,220.5 L87.89,220.3 L89.74,220.1 L91.58,219.9 L93.43,219.7 L95.28,219.5 L97.12,219.3 L98.97,219.1 L100.8,218.9 L102.7,218.7 L104.5,218.5 L106.4,218.3 L108.2,218.1 L110,217.9 L111.9,217.7 L113.7,217.5 L115.6,217.3 L117.4,217.1 L119.3,216.9 L121.1,216.7 L123,216.5 L124.8,216.3 L126.7,216.1 L128.5,215.9 L130.4,215.7 L132.2,215.5 L134,215.3 L135.9,215.1 L137.7,214.9 L139.6,214.7 L141.4,214.5 L143.3,214.3 L145.1,214.1 L147,213.9 L148.8,213.7 L150.7,213.5 L152.5,213.3 L154.4,213.1 L156.2,212.9 L158,212.7 L159.9,212.5 L161.7,212.3 L163.6,212.1 L165.4,211.9 L167.3,211.7 L169.1,211.4 L171,211.2 L172.8,211 L174.7,210.8 L176.5,210.6 L178.4,210.4 L180.2,210.2 L182,210 L183.9,209.8 L185.7,209.6 L187.6,209.4 L189.4,209.2 L191.3,209 L193.1,208.8 L195,208.6 L196.8,208.4 L198.7,208.2 L200.5,208 L202.3,207.8 L204.2,207.6 L206,207.4 L207.9,207.2 L209.7,207 L211.6,206.8 L213.4,206.6 L215.3,206.4 L217.1,206.2 L219,206 L220.8,205.8 L222.7,205.6 L224.5,205.4 L226.3,205.2 L228.2,205 L230,204.8 L231.9,204.6 L233.7,204.4 L235.6,204.2 L237.4,204 L239.3,203.8 L241.1,203.6 L243,203.4 L244.8,203.2 L246.7,203 L248.5,202.8 L250.3,202.6 L252.2,202.4 L254,202.2 L255.9,202 L257.7,201.8 L259.6,201.6 L261.4,201.4 L263.3,201.2 L265.1,201 L267,200.8 L268.8,200.6 L270.7,200.4 L272.5,200.1 L274.3,199.9 L276.2,199.7 L278,199.5 L279.9,199.3 L281.7,199.1 L283.6,198.9 L285.4,198.7 L287.3,198.5 L289.1,198.3 L291,198.1 L292.8,197.9 L294.7,197.7 L296.5,197.5 L298.3,197.3 L300.2,197.1 L302,196.9 L303.9,196.7 L305.7,196.5 L307.6,196.3 L309.4,196.1 L311.3,195.9 L313.1,195.7 L315,195.5 L316.8,195.3 L318.7,195.1 L320.5,194.9 L322.3,194.7 L324.2,194.5 L326,194.3 L327.9,194.1 L329.7,193.9 L331.6,193.7 L333.4,193.5 L335.3,193.3 L337.1,193.1 L339,192.9 L340.8,192.7 L342.7,192.5 L344.5,192.3 L346.3,192.1 L348.2,191.9 L350,191.7 L351.9,191.5 L353.7,191.3 L355.6,191.1 L357.4,190.9 L359.3,190.7 L361.1,190.5 L363,190.3 L364.8,190.1 L366.7,189.9 L368.5,189.7 L370.3,189.5 L372.2,189.3 L374,189.1 L375.9,188.8 L377.7,188.6 L379.6,188.4 L381.4,188.2 L383.3,188 L385.1,187.8 L387,187.6 L388.8,187.4 L390.6,187.2 L392.5,187 L394.3,186.8 L396.2,186.6 L398,186.4 L399.9,186.2 L401.7,186 L403.6,185.8 L405.4,185.6 L407.3,185.4 L409.1,185.2 L411,185 L412.8,184.8 L414.6,184.6 L416.5,184.4 L418.3,184.2 L420.2,184 L422,183.8 L423.9,183.6 L425.7,183.4 L427.6,183.2 L429.4,183 L431.3,182.8 L433.1,182.6 L435,182.4 L436.8,182.2 L438.6,182 L440.5,181.8 L442.3,181.6 L444.2,181.4 L446,181.2 L447.9,181 L449.7,180.8 L451.6,180.6 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,139.1 L86.05,140.6 L87.89,142 L89.74,143.4 L91.58,144.8 L93.43,146.2 L95.28,147.6 L97.12,148.9 L98.97,150.3 L100.8,151.6 L102.7,152.9 L104.5,154.2 L106.4,155.5 L108.2,156.8 L110,158 L111.9,159.3 L113.7,160.5 L115.6,161.7 L117.4,162.9 L119.3,164.1 L121.1,165.3 L123,166.4 L124.8,167.6 L126.7,168.7 L128.5,169.8 L130.4,170.9 L132.2,172 L134,173.1 L135.9,174.1 L137.7,175.1 L139.6,176.2 L141.4,177.2 L143.3,178.2 L145.1,179.2 L147,180.1 L148.8,181.1 L150.7,182 L152.5,182.9 L154.4,183.8 L156.2,184.7 L158,185.6 L159.9,186.5 L161.7,187.3 L163.6,188.2 L165.4,189 L167.3,189.8 L169.1,190.6 L171,191.4 L172.8,192.1 L174.7,192.9 L176.5,193.6 L178.4,194.3 L180.2,195 L182,195.7 L183.9,196.4 L185.7,197.1 L187.6,197.7 L189.4,198.3 L191.3,198.9 L193.1,199.6 L195,200.1 L196.8,200.7 L198.7,201.3 L200.5,201.8 L202.3,202.3 L204.2,202.9 L206,203.4 L207.9,203.9 L209.7,204.3 L211.6,204.8 L213.4,205.2 L215.3,205.7 L217.1,206.1 L219,206.5 L220.8,206.9 L222.7,207.2 L224.5,207.6 L226.3,207.9 L228.2,208.2 L230,208.6 L231.9,208.9 L233.7,209.1 L235.6,209.4 L237.4,209.7 L239.3,209.9 L241.1,210.1 L243,210.3 L244.8,210.5 L246.7,210.7 L248.5,210.9 L250.3,211 L252.2,211.2 L254,211.3 L255.9,211.4 L257.7,211.5 L259.6,211.6 L261.4,211.6 L263.3,211.7 L265.1,211.7 L267,211.8 L268.8,211.8 L270.7,211.8 L272.5,211.7 L274.3,211.7 L276.2,211.6 L278,211.6 L279.9,211.5 L281.7,211.4 L283.6,211.3 L285.4,211.2 L287.3,211 L289.1,210.9 L291,210.7 L292.8,210.5 L294.7,210.3 L296.5,210.1 L298.3,209.9 L300.2,209.7 L302,209.4 L303.9,209.1 L305.7,208.9 L307.6,208.6 L309.4,208.2 L311.3,207.9 L313.1,207.6 L315,207.2 L316.8,206.9 L318.7,206.5 L320.5,206.1 L322.3,205.7 L324.2,205.2 L326,204.8 L327.9,204.3 L329.7,203.9 L331.6,203.4 L333.4,202.9 L335.3,202.3 L337.1,201.8 L339,201.3 L340.8,200.7 L342.7,200.1 L344.5,199.6 L346.3,198.9 L348.2,198.3 L350,197.7 L351.9,197.1 L353.7,196.4 L355.6,195.7 L357.4,195 L359.3,194.3 L361.1,193.6 L363,192.9 L364.8,192.1 L366.7,191.4 L368.5,190.6 L370.3,189.8 L372.2,189 L374,188.2 L375.9,187.3 L377.7,186.5 L379.6,185.6 L381.4,184.7 L383.3,183.8 L385.1,182.9 L387,182 L388.8,181.1 L390.6,180.1 L392.5,179.2 L394.3,178.2 L396.2,177.2 L398,176.2 L399.9,175.1 L401.7,174.1 L403.6,173.1 L405.4,172 L407.3,170.9 L409.1,169.8 L411,168.7 L412.8,167.6 L414.6,166.4 L416.5,165.3 L418.3,164.1 L420.2,162.9 L422,161.7 L423.9,160.5 L425.7,159.3 L427.6,158 L429.4,156.8 L431.3,155.5 L433.1,154.2 L435,152.9 L436.8,151.6 L438.6,150.3 L440.5,148.9 L442.3,147.6 L444.2,146.2 L446,144.8 L447.9,143.4 L449.7,142 L451.6,140.6 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.05,334.4 L87.89,328 L89.74,321.8 L91.58,315.7 L93.43,309.8 L95.28,304 L97.12,298.3 L98.97,292.8 L100.8,287.4 L102.7,282.2 L104.5,277.2 L106.4,272.2 L108.2,267.4 L110,262.8 L111.9,258.2 L113.7,253.9 L115.6,249.6 L117.4,245.5 L119.3,241.5 L121.1,237.6 L123,233.8 L124.8,230.2 L126.7,226.7 L128.5,223.3 L130.4,220.1 L132.2,216.9 L134,213.9 L135.9,211 L137.7,208.2 L139.6,205.5 L141.4,202.9 L143.3,200.5 L145.1,198.1 L147,195.8 L148.8,193.7 L150.7,191.6 L152.5,189.7 L154.4,187.8 L156.2,186.1 L158,184.4 L159.9,182.8 L161.7,181.4 L163.6,180 L165.4,178.7 L167.3,177.5 L169.1,176.4 L171,175.3 L172.8,174.4 L174.7,173.5 L176.5,172.7 L178.4,172 L180.2,171.4 L182,170.8 L183.9,170.3 L185.7,169.9 L187.6,169.6 L189.4,169.3 L191.3,169.1 L193.1,168.9 L195,168.9 L196.8,168.8 L198.7,168.9 L200.5,169 L202.3,169.2 L204.2,169.4 L206,169.7 L207.9,170 L209.7,170.4 L211.6,170.8 L213.4,171.3 L215.3,171.8 L217.1,172.4 L219,173 L220.8,173.7 L222.7,174.4 L224.5,175.1 L226.3,175.9 L228.2,176.7 L230,177.5 L231.9,178.4 L233.7,179.3 L235.6,180.3 L237.4,181.3 L239.3,182.3 L241.1,183.3 L243,184.3 L244.8,185.4 L246.7,186.5 L248.5,187.6 L250.3,188.7 L252.2,189.8 L254,191 L255.9,192.2 L257.7,193.3 L259.6,194.5 L261.4,195.7 L263.3,196.9 L265.1,198.1 L267,199.3 L268.8,200.6 L270.7,201.8 L272.5,203 L274.3,204.2 L276.2,205.4 L278,206.6 L279.9,207.8 L281.7,208.9 L283.6,210.1 L285.4,211.3 L287.3,212.4 L289.1,213.5 L291,214.6 L292.8,215.7 L294.7,216.8 L296.5,217.8 L298.3,218.9 L300.2,219.9 L302,220.8 L303.9,221.8 L305.7,222.7 L307.6,223.6 L309.4,224.4 L311.3,225.2 L313.1,226 L315,226.7 L316.8,227.4 L318.7,228.1 L320.5,228.7 L322.3,229.3 L324.2,229.8 L326,230.3 L327.9,230.7 L329.7,231.1 L331.6,231.4 L333.4,231.7 L335.3,231.9 L337.1,232.1 L339,232.2 L340.8,232.3 L342.7,232.2 L344.5,232.2 L346.3,232 L348.2,231.8 L350,231.5 L351.9,231.2 L353.7,230.8 L355.6,230.3 L357.4,229.7 L359.3,229.1 L361.1,228.4 L363,227.6 L364.8,226.7 L366.7,225.8 L368.5,224.8 L370.3,223.6 L372.2,222.4 L374,221.1 L375.9,219.8 L377.7,218.3 L379.6,216.7 L381.4,215 L383.3,213.3 L385.1,211.4 L387,209.5 L388.8,207.4 L390.6,205.3 L392.5,203 L394.3,200.7 L396.2,198.2 L398,195.6 L399.9,192.9 L401.7,190.1 L403.6,187.2 L405.4,184.2 L407.3,181 L409.1,177.8 L411,174.4 L412.8,170.9 L414.6,167.3 L416.5,163.5 L418.3,159.6 L420.2,155.6 L422,151.5 L423.9,147.3 L425.7,142.9 L427.6,138.3 L429.4,133.7 L431.3,128.9 L433.1,123.9 L435,118.9 L436.8,113.7 L438.6,108.3 L440.5,102.8 L442.3,97.15 L444.2,91.35 L446,85.41 L447.9,79.31 L449.7,73.06 L451.6,66.66 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,63.55 L86.05,83.3 L87.89,102.1 L89.74,120 L91.58,137 L93.43,153.2 L95.28,168.5 L97.12,183 L98.97,196.7 L100.8,209.6 L102.7,221.7 L104.5,233.1 L106.4,243.8 L108.2,253.7 L110,263 L111.9,271.7 L113.7,279.7 L115.6,287 L117.4,293.8 L119.3,300 L121.1,305.6 L123,310.6 L124.8,315.2 L126.7,319.2 L128.5,322.7 L130.4,325.8 L132.2,328.3 L134,330.5 L135.9,332.2 L137.7,333.5 L139.6,334.4 L141.4,334.9 L143.3,335.1 L145.1,334.9 L147,334.4 L148.8,333.5 L150.7,332.4 L152.5,331 L154.4,329.3 L156.2,327.3 L158,325.1 L159.9,322.7 L161.7,320 L163.6,317.1 L165.4,314.1 L167.3,310.8 L169.1,307.4 L171,303.9 L172.8,300.2 L174.7,296.3 L176.5,292.4 L178.4,288.3 L180.2,284.2 L182,279.9 L183.9,275.6 L185.7,271.2 L187.6,266.8 L189.4,262.3 L191.3,257.8 L193.1,253.2 L195,248.7 L196.8,244.1 L198.7,239.5 L200.5,235 L202.3,230.5 L204.2,225.9 L206,221.5 L207.9,217.1 L209.7,212.7 L211.6,208.4 L213.4,204.1 L215.3,199.9 L217.1,195.8 L219,191.8 L220.8,187.9 L222.7,184.1 L224.5,180.4 L226.3,176.8 L228.2,173.3 L230,169.9 L231.9,166.7 L233.7,163.5 L235.6,160.5 L237.4,157.7 L239.3,155 L241.1,152.4 L243,150 L244.8,147.8 L246.7,145.6 L248.5,143.7 L250.3,141.9 L252.2,140.3 L254,138.8 L255.9,137.5 L257.7,136.4 L259.6,135.5 L261.4,134.7 L263.3,134.1 L265.1,133.6 L267,133.4 L268.8,133.3 L270.7,133.4 L272.5,133.6 L274.3,134.1 L276.2,134.7 L278,135.5 L279.9,136.4 L281.7,137.5 L283.6,138.8 L285.4,140.3 L287.3,141.9 L289.1,143.7 L291,145.6 L292.8,147.8 L294.7,150 L296.5,152.4 L298.3,155 L300.2,157.7 L302,160.5 L303.9,163.5 L305.7,166.7 L307.6,169.9 L309.4,173.3 L311.3,176.8 L313.1,180.4 L315,184.1 L316.8,187.9 L318.7,191.8 L320.5,195.8 L322.3,199.9 L324.2,204.1 L326,208.4 L327.9,212.7 L329.7,217.1 L331.6,221.5 L333.4,225.9 L335.3,230.5 L337.1,235 L339,239.5 L340.8,244.1 L342.7,248.7 L344.5,253.2 L346.3,257.8 L348.2,262.3 L350,266.8 L351.9,271.2 L353.7,275.6 L355.6,279.9 L357.4,284.2 L359.3,288.3 L361.1,292.4 L363,296.3 L364.8,300.2 L366.7,303.9 L368.5,307.4 L370.3,310.8 L372.2,314.1 L374,317.1 L375.9,320 L377.7,322.7 L379.6,325.1 L381.4,327.3 L383.3,329.3 L385.1,331 L387,332.4 L388.8,333.5 L390.6,334.4 L392.5,334.9 L394.3,335.1 L396.2,334.9 L398,334.4 L399.9,333.5 L401.7,332.2 L403.6,330.5 L405.4,328.3 L407.3,325.8 L409.1,322.7 L411,319.2 L412.8,315.2 L414.6,310.6 L416.5,305.6 L418.3,300 L420.2,293.8 L422,287 L423.9,279.7 L425.7,271.7 L427.6,263 L429.4,253.7 L431.3,243.8 L433.1,233.1 L435,221.7 L436.8,209.6 L438.6,196.7 L440.5,183 L442.3,168.5 L444.2,153.2 L446,137 L447.9,120 L449.7,102.1 L451.6,83.3 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="509.8" y="86" font-size="14" font-family="Verdana">n = 0</text>
+<text x="509.8" y="114" font-size="14" font-family="Verdana">n = 1</text>
+<text x="509.8" y="142" font-size="14" font-family="Verdana">n = 2</text>
+<text x="509.8" y="170" font-size="14" font-family="Verdana">n = 3</text>
+<text x="509.8" y="198" font-size="14" font-family="Verdana">n = 4</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Hermite Polynomials</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/hyperbolic.png b/libs/math/doc/graphs/hyperbolic.png
index 48ad0bf91e..48ad0bf91e 100644
--- a/libs/math/doc/sf_and_dist/graphs/hyperbolic.png
+++ b/libs/math/doc/graphs/hyperbolic.png
Binary files differ
diff --git a/libs/math/doc/graphs/hyperexponential_pdf.png b/libs/math/doc/graphs/hyperexponential_pdf.png
new file mode 100644
index 0000000000..374e8897fc
--- /dev/null
+++ b/libs/math/doc/graphs/hyperexponential_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/hyperexponential_pdf.svg b/libs/math/doc/graphs/hyperexponential_pdf.svg
new file mode 100644
index 0000000000..12bd789700
--- /dev/null
+++ b/libs/math/doc/graphs/hyperexponential_pdf.svg
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="414pt" height="432pt" viewBox="0 0 414 432" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.328125 0 L 0.328125 -6.671875 L 2.984375 -6.671875 L 2.984375 0 Z M 0.671875 -0.328125 L 2.65625 -0.328125 L 2.65625 -6.328125 L 0.671875 -6.328125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.765625 0 L 0.765625 -0.75 L 2.515625 -0.75 L 2.515625 -6.046875 L 0.96875 -4.9375 L 0.96875 -5.765625 L 2.59375 -6.875 L 3.40625 -6.875 L 3.40625 -0.75 L 5.078125 -0.75 L 5.078125 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 0.5 0 L 0.5 -0.625 C 0.664062 -1 0.867188 -1.332031 1.109375 -1.625 C 1.347656 -1.914062 1.597656 -2.179688 1.859375 -2.421875 C 2.128906 -2.660156 2.390625 -2.878906 2.640625 -3.078125 C 2.898438 -3.273438 3.132812 -3.472656 3.34375 -3.671875 C 3.550781 -3.878906 3.71875 -4.09375 3.84375 -4.3125 C 3.976562 -4.539062 4.046875 -4.789062 4.046875 -5.0625 C 4.046875 -5.257812 4.015625 -5.429688 3.953125 -5.578125 C 3.898438 -5.734375 3.816406 -5.859375 3.703125 -5.953125 C 3.597656 -6.054688 3.46875 -6.132812 3.3125 -6.1875 C 3.15625 -6.238281 2.984375 -6.265625 2.796875 -6.265625 C 2.617188 -6.265625 2.453125 -6.238281 2.296875 -6.1875 C 2.140625 -6.132812 2 -6.0625 1.875 -5.96875 C 1.757812 -5.875 1.660156 -5.753906 1.578125 -5.609375 C 1.503906 -5.460938 1.457031 -5.289062 1.4375 -5.09375 L 0.546875 -5.1875 C 0.578125 -5.425781 0.644531 -5.65625 0.75 -5.875 C 0.851562 -6.09375 1 -6.285156 1.1875 -6.453125 C 1.375 -6.617188 1.597656 -6.75 1.859375 -6.84375 C 2.128906 -6.9375 2.441406 -6.984375 2.796875 -6.984375 C 3.140625 -6.984375 3.441406 -6.941406 3.703125 -6.859375 C 3.972656 -6.773438 4.195312 -6.65625 4.375 -6.5 C 4.5625 -6.34375 4.703125 -6.144531 4.796875 -5.90625 C 4.898438 -5.675781 4.953125 -5.40625 4.953125 -5.09375 C 4.953125 -4.863281 4.910156 -4.644531 4.828125 -4.4375 C 4.742188 -4.226562 4.628906 -4.03125 4.484375 -3.84375 C 4.347656 -3.65625 4.1875 -3.472656 4 -3.296875 C 3.820312 -3.117188 3.632812 -2.945312 3.4375 -2.78125 C 3.238281 -2.613281 3.039062 -2.445312 2.84375 -2.28125 C 2.644531 -2.113281 2.453125 -1.945312 2.265625 -1.78125 C 2.085938 -1.613281 1.929688 -1.445312 1.796875 -1.28125 C 1.660156 -1.113281 1.550781 -0.9375 1.46875 -0.75 L 5.0625 -0.75 L 5.0625 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 5.125 -1.90625 C 5.125 -1.582031 5.070312 -1.296875 4.96875 -1.046875 C 4.863281 -0.804688 4.710938 -0.597656 4.515625 -0.421875 C 4.316406 -0.253906 4.070312 -0.125 3.78125 -0.03125 C 3.488281 0.0507812 3.15625 0.09375 2.78125 0.09375 C 2.363281 0.09375 2.007812 0.0390625 1.71875 -0.0625 C 1.425781 -0.164062 1.179688 -0.304688 0.984375 -0.484375 C 0.796875 -0.660156 0.65625 -0.859375 0.5625 -1.078125 C 0.46875 -1.296875 0.40625 -1.523438 0.375 -1.765625 L 1.296875 -1.84375 C 1.316406 -1.664062 1.359375 -1.5 1.421875 -1.34375 C 1.492188 -1.195312 1.59375 -1.070312 1.71875 -0.96875 C 1.84375 -0.863281 1.988281 -0.78125 2.15625 -0.71875 C 2.332031 -0.65625 2.539062 -0.625 2.78125 -0.625 C 3.226562 -0.625 3.578125 -0.734375 3.828125 -0.953125 C 4.078125 -1.171875 4.203125 -1.492188 4.203125 -1.921875 C 4.203125 -2.179688 4.144531 -2.390625 4.03125 -2.546875 C 3.925781 -2.703125 3.789062 -2.820312 3.625 -2.90625 C 3.457031 -2.988281 3.273438 -3.046875 3.078125 -3.078125 C 2.878906 -3.109375 2.695312 -3.125 2.53125 -3.125 L 2.03125 -3.125 L 2.03125 -3.875 L 2.515625 -3.875 C 2.679688 -3.875 2.851562 -3.890625 3.03125 -3.921875 C 3.207031 -3.960938 3.367188 -4.023438 3.515625 -4.109375 C 3.660156 -4.203125 3.78125 -4.328125 3.875 -4.484375 C 3.976562 -4.640625 4.03125 -4.832031 4.03125 -5.0625 C 4.03125 -5.4375 3.921875 -5.726562 3.703125 -5.9375 C 3.484375 -6.15625 3.160156 -6.265625 2.734375 -6.265625 C 2.347656 -6.265625 2.035156 -6.164062 1.796875 -5.96875 C 1.554688 -5.769531 1.414062 -5.488281 1.375 -5.125 L 0.5 -5.1875 C 0.53125 -5.488281 0.609375 -5.75 0.734375 -5.96875 C 0.867188 -6.195312 1.035156 -6.382812 1.234375 -6.53125 C 1.441406 -6.6875 1.671875 -6.800781 1.921875 -6.875 C 2.179688 -6.945312 2.457031 -6.984375 2.75 -6.984375 C 3.132812 -6.984375 3.460938 -6.929688 3.734375 -6.828125 C 4.015625 -6.734375 4.242188 -6.601562 4.421875 -6.4375 C 4.597656 -6.28125 4.726562 -6.085938 4.8125 -5.859375 C 4.894531 -5.640625 4.9375 -5.40625 4.9375 -5.15625 C 4.9375 -4.957031 4.90625 -4.769531 4.84375 -4.59375 C 4.789062 -4.414062 4.707031 -4.253906 4.59375 -4.109375 C 4.476562 -3.972656 4.328125 -3.851562 4.140625 -3.75 C 3.960938 -3.65625 3.742188 -3.582031 3.484375 -3.53125 L 3.484375 -3.515625 C 3.765625 -3.484375 4.003906 -3.414062 4.203125 -3.3125 C 4.410156 -3.21875 4.582031 -3.097656 4.71875 -2.953125 C 4.851562 -2.816406 4.953125 -2.65625 5.015625 -2.46875 C 5.085938 -2.289062 5.125 -2.101562 5.125 -1.90625 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.296875 -1.5625 L 4.296875 0 L 3.46875 0 L 3.46875 -1.5625 L 0.234375 -1.5625 L 0.234375 -2.234375 L 3.375 -6.875 L 4.296875 -6.875 L 4.296875 -2.25 L 5.265625 -2.25 L 5.265625 -1.5625 Z M 3.46875 -5.890625 C 3.46875 -5.867188 3.453125 -5.832031 3.421875 -5.78125 C 3.398438 -5.738281 3.367188 -5.6875 3.328125 -5.625 C 3.296875 -5.570312 3.265625 -5.515625 3.234375 -5.453125 C 3.203125 -5.390625 3.171875 -5.34375 3.140625 -5.3125 L 1.375 -2.703125 C 1.363281 -2.679688 1.34375 -2.648438 1.3125 -2.609375 C 1.28125 -2.566406 1.25 -2.519531 1.21875 -2.46875 C 1.1875 -2.425781 1.148438 -2.382812 1.109375 -2.34375 C 1.078125 -2.300781 1.054688 -2.269531 1.046875 -2.25 L 3.46875 -2.25 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 5.171875 -3.4375 C 5.171875 -2.78125 5.109375 -2.222656 4.984375 -1.765625 C 4.859375 -1.316406 4.6875 -0.953125 4.46875 -0.671875 C 4.25 -0.398438 3.992188 -0.203125 3.703125 -0.078125 C 3.410156 0.0351562 3.097656 0.09375 2.765625 0.09375 C 2.429688 0.09375 2.117188 0.0351562 1.828125 -0.078125 C 1.535156 -0.203125 1.28125 -0.398438 1.0625 -0.671875 C 0.851562 -0.953125 0.6875 -1.316406 0.5625 -1.765625 C 0.445312 -2.222656 0.390625 -2.78125 0.390625 -3.4375 C 0.390625 -4.132812 0.445312 -4.707031 0.5625 -5.15625 C 0.6875 -5.613281 0.859375 -5.976562 1.078125 -6.25 C 1.296875 -6.519531 1.550781 -6.707031 1.84375 -6.8125 C 2.132812 -6.925781 2.453125 -6.984375 2.796875 -6.984375 C 3.128906 -6.984375 3.4375 -6.925781 3.71875 -6.8125 C 4.007812 -6.707031 4.257812 -6.519531 4.46875 -6.25 C 4.6875 -5.976562 4.859375 -5.613281 4.984375 -5.15625 C 5.109375 -4.707031 5.171875 -4.132812 5.171875 -3.4375 Z M 4.28125 -3.4375 C 4.28125 -3.988281 4.242188 -4.445312 4.171875 -4.8125 C 4.109375 -5.175781 4.015625 -5.460938 3.890625 -5.671875 C 3.765625 -5.890625 3.609375 -6.039062 3.421875 -6.125 C 3.242188 -6.21875 3.035156 -6.265625 2.796875 -6.265625 C 2.546875 -6.265625 2.328125 -6.21875 2.140625 -6.125 C 1.953125 -6.039062 1.789062 -5.890625 1.65625 -5.671875 C 1.53125 -5.453125 1.4375 -5.160156 1.375 -4.796875 C 1.3125 -4.441406 1.28125 -3.988281 1.28125 -3.4375 C 1.28125 -2.914062 1.3125 -2.472656 1.375 -2.109375 C 1.445312 -1.742188 1.546875 -1.453125 1.671875 -1.234375 C 1.796875 -1.015625 1.953125 -0.859375 2.140625 -0.765625 C 2.328125 -0.671875 2.539062 -0.625 2.78125 -0.625 C 3.007812 -0.625 3.21875 -0.671875 3.40625 -0.765625 C 3.59375 -0.859375 3.75 -1.015625 3.875 -1.234375 C 4 -1.453125 4.097656 -1.742188 4.171875 -2.109375 C 4.242188 -2.472656 4.28125 -2.914062 4.28125 -3.4375 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.90625 0 L 0.90625 -1.0625 L 1.859375 -1.0625 L 1.859375 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 5.125 -2.25 C 5.125 -1.90625 5.070312 -1.585938 4.96875 -1.296875 C 4.875 -1.015625 4.734375 -0.769531 4.546875 -0.5625 C 4.359375 -0.351562 4.125 -0.191406 3.84375 -0.078125 C 3.570312 0.0351562 3.257812 0.09375 2.90625 0.09375 C 2.5 0.09375 2.144531 0.0195312 1.84375 -0.125 C 1.550781 -0.28125 1.304688 -0.5 1.109375 -0.78125 C 0.910156 -1.070312 0.757812 -1.425781 0.65625 -1.84375 C 0.5625 -2.269531 0.515625 -2.75 0.515625 -3.28125 C 0.515625 -3.894531 0.566406 -4.429688 0.671875 -4.890625 C 0.785156 -5.359375 0.945312 -5.742188 1.15625 -6.046875 C 1.375 -6.359375 1.632812 -6.59375 1.9375 -6.75 C 2.238281 -6.90625 2.582031 -6.984375 2.96875 -6.984375 C 3.207031 -6.984375 3.425781 -6.957031 3.625 -6.90625 C 3.832031 -6.863281 4.019531 -6.785156 4.1875 -6.671875 C 4.351562 -6.566406 4.5 -6.421875 4.625 -6.234375 C 4.75 -6.054688 4.851562 -5.835938 4.9375 -5.578125 L 4.09375 -5.4375 C 4 -5.726562 3.851562 -5.9375 3.65625 -6.0625 C 3.457031 -6.195312 3.222656 -6.265625 2.953125 -6.265625 C 2.710938 -6.265625 2.492188 -6.207031 2.296875 -6.09375 C 2.109375 -5.976562 1.945312 -5.804688 1.8125 -5.578125 C 1.675781 -5.359375 1.566406 -5.078125 1.484375 -4.734375 C 1.410156 -4.390625 1.375 -3.992188 1.375 -3.546875 C 1.539062 -3.835938 1.765625 -4.0625 2.046875 -4.21875 C 2.335938 -4.375 2.671875 -4.453125 3.046875 -4.453125 C 3.359375 -4.453125 3.640625 -4.398438 3.890625 -4.296875 C 4.148438 -4.191406 4.367188 -4.046875 4.546875 -3.859375 C 4.734375 -3.671875 4.875 -3.441406 4.96875 -3.171875 C 5.070312 -2.898438 5.125 -2.59375 5.125 -2.25 Z M 4.234375 -2.21875 C 4.234375 -2.445312 4.203125 -2.65625 4.140625 -2.84375 C 4.078125 -3.039062 3.988281 -3.207031 3.875 -3.34375 C 3.757812 -3.476562 3.613281 -3.582031 3.4375 -3.65625 C 3.269531 -3.726562 3.070312 -3.765625 2.84375 -3.765625 C 2.6875 -3.765625 2.523438 -3.738281 2.359375 -3.6875 C 2.191406 -3.644531 2.039062 -3.570312 1.90625 -3.46875 C 1.78125 -3.363281 1.675781 -3.222656 1.59375 -3.046875 C 1.507812 -2.878906 1.46875 -2.671875 1.46875 -2.421875 C 1.46875 -2.171875 1.5 -1.929688 1.5625 -1.703125 C 1.632812 -1.484375 1.726562 -1.289062 1.84375 -1.125 C 1.96875 -0.96875 2.113281 -0.84375 2.28125 -0.75 C 2.457031 -0.65625 2.65625 -0.609375 2.875 -0.609375 C 3.082031 -0.609375 3.269531 -0.644531 3.4375 -0.71875 C 3.601562 -0.789062 3.742188 -0.894531 3.859375 -1.03125 C 3.984375 -1.175781 4.078125 -1.347656 4.140625 -1.546875 C 4.203125 -1.742188 4.234375 -1.96875 4.234375 -2.21875 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 5.125 -1.921875 C 5.125 -1.628906 5.078125 -1.359375 4.984375 -1.109375 C 4.890625 -0.867188 4.75 -0.65625 4.5625 -0.46875 C 4.375 -0.289062 4.128906 -0.148438 3.828125 -0.046875 C 3.535156 0.046875 3.1875 0.09375 2.78125 0.09375 C 2.375 0.09375 2.023438 0.046875 1.734375 -0.046875 C 1.441406 -0.148438 1.195312 -0.289062 1 -0.46875 C 0.8125 -0.644531 0.671875 -0.851562 0.578125 -1.09375 C 0.484375 -1.34375 0.4375 -1.613281 0.4375 -1.90625 C 0.4375 -2.15625 0.472656 -2.378906 0.546875 -2.578125 C 0.628906 -2.773438 0.734375 -2.941406 0.859375 -3.078125 C 0.984375 -3.222656 1.128906 -3.335938 1.296875 -3.421875 C 1.460938 -3.515625 1.632812 -3.570312 1.8125 -3.59375 L 1.8125 -3.625 C 1.613281 -3.664062 1.4375 -3.734375 1.28125 -3.828125 C 1.132812 -3.929688 1.007812 -4.054688 0.90625 -4.203125 C 0.800781 -4.347656 0.722656 -4.503906 0.671875 -4.671875 C 0.617188 -4.847656 0.59375 -5.03125 0.59375 -5.21875 C 0.59375 -5.457031 0.640625 -5.679688 0.734375 -5.890625 C 0.828125 -6.109375 0.960938 -6.296875 1.140625 -6.453125 C 1.328125 -6.617188 1.554688 -6.75 1.828125 -6.84375 C 2.097656 -6.9375 2.410156 -6.984375 2.765625 -6.984375 C 3.140625 -6.984375 3.460938 -6.9375 3.734375 -6.84375 C 4.015625 -6.75 4.242188 -6.617188 4.421875 -6.453125 C 4.597656 -6.296875 4.726562 -6.109375 4.8125 -5.890625 C 4.90625 -5.679688 4.953125 -5.453125 4.953125 -5.203125 C 4.953125 -5.015625 4.925781 -4.832031 4.875 -4.65625 C 4.820312 -4.488281 4.742188 -4.332031 4.640625 -4.1875 C 4.535156 -4.050781 4.40625 -3.929688 4.25 -3.828125 C 4.101562 -3.734375 3.929688 -3.664062 3.734375 -3.625 L 3.734375 -3.609375 C 3.929688 -3.578125 4.113281 -3.515625 4.28125 -3.421875 C 4.457031 -3.335938 4.601562 -3.222656 4.71875 -3.078125 C 4.84375 -2.941406 4.941406 -2.773438 5.015625 -2.578125 C 5.085938 -2.390625 5.125 -2.171875 5.125 -1.921875 Z M 4.046875 -5.15625 C 4.046875 -5.332031 4.019531 -5.488281 3.96875 -5.625 C 3.925781 -5.769531 3.851562 -5.894531 3.75 -6 C 3.65625 -6.101562 3.523438 -6.179688 3.359375 -6.234375 C 3.203125 -6.296875 3.003906 -6.328125 2.765625 -6.328125 C 2.535156 -6.328125 2.335938 -6.296875 2.171875 -6.234375 C 2.015625 -6.179688 1.882812 -6.101562 1.78125 -6 C 1.675781 -5.894531 1.601562 -5.769531 1.5625 -5.625 C 1.519531 -5.488281 1.5 -5.332031 1.5 -5.15625 C 1.5 -5.019531 1.515625 -4.878906 1.546875 -4.734375 C 1.585938 -4.597656 1.65625 -4.46875 1.75 -4.34375 C 1.84375 -4.226562 1.972656 -4.132812 2.140625 -4.0625 C 2.304688 -3.988281 2.519531 -3.953125 2.78125 -3.953125 C 3.050781 -3.953125 3.269531 -3.988281 3.4375 -4.0625 C 3.601562 -4.132812 3.726562 -4.226562 3.8125 -4.34375 C 3.90625 -4.46875 3.96875 -4.597656 4 -4.734375 C 4.03125 -4.878906 4.046875 -5.019531 4.046875 -5.15625 Z M 4.21875 -2 C 4.21875 -2.164062 4.191406 -2.328125 4.140625 -2.484375 C 4.097656 -2.640625 4.019531 -2.773438 3.90625 -2.890625 C 3.800781 -3.015625 3.65625 -3.113281 3.46875 -3.1875 C 3.28125 -3.257812 3.046875 -3.296875 2.765625 -3.296875 C 2.503906 -3.296875 2.285156 -3.257812 2.109375 -3.1875 C 1.929688 -3.113281 1.785156 -3.015625 1.671875 -2.890625 C 1.554688 -2.765625 1.472656 -2.625 1.421875 -2.46875 C 1.367188 -2.3125 1.34375 -2.148438 1.34375 -1.984375 C 1.34375 -1.773438 1.367188 -1.582031 1.421875 -1.40625 C 1.472656 -1.226562 1.554688 -1.078125 1.671875 -0.953125 C 1.785156 -0.828125 1.929688 -0.726562 2.109375 -0.65625 C 2.296875 -0.59375 2.523438 -0.5625 2.796875 -0.5625 C 3.054688 -0.5625 3.273438 -0.59375 3.453125 -0.65625 C 3.640625 -0.726562 3.789062 -0.828125 3.90625 -0.953125 C 4.019531 -1.078125 4.097656 -1.226562 4.140625 -1.40625 C 4.191406 -1.582031 4.21875 -1.78125 4.21875 -2 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0.40625 1.421875 L 0.40625 -5.640625 L 4.40625 -5.640625 L 4.40625 1.421875 Z M 0.84375 0.96875 L 3.953125 0.96875 L 3.953125 -5.1875 L 0.84375 -5.1875 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 0.515625 -0.671875 L 1.8125 -0.671875 L 2.6875 -5.15625 L 1.21875 -4.875 L 1.359375 -5.546875 L 2.8125 -5.828125 L 3.609375 -5.828125 L 2.59375 -0.671875 L 3.875 -0.671875 L 3.75 0 L 0.390625 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 3.6875 -2.8125 L 1.171875 -0.65625 L 3.953125 -0.65625 L 3.8125 0 L 0.03125 0 L 0.15625 -0.671875 L 2.796875 -2.921875 C 3.148438 -3.222656 3.398438 -3.488281 3.546875 -3.71875 C 3.691406 -3.957031 3.765625 -4.195312 3.765625 -4.4375 C 3.765625 -4.6875 3.675781 -4.890625 3.5 -5.046875 C 3.320312 -5.210938 3.085938 -5.296875 2.796875 -5.296875 C 2.554688 -5.296875 2.285156 -5.25 1.984375 -5.15625 C 1.679688 -5.070312 1.359375 -4.941406 1.015625 -4.765625 L 1.15625 -5.546875 C 1.476562 -5.679688 1.785156 -5.78125 2.078125 -5.84375 C 2.367188 -5.90625 2.640625 -5.9375 2.890625 -5.9375 C 3.398438 -5.9375 3.8125 -5.800781 4.125 -5.53125 C 4.4375 -5.257812 4.59375 -4.90625 4.59375 -4.46875 C 4.59375 -4.164062 4.519531 -3.878906 4.375 -3.609375 C 4.226562 -3.347656 4 -3.082031 3.6875 -2.8125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 1.265625 -5.6875 C 1.554688 -5.769531 1.832031 -5.832031 2.09375 -5.875 C 2.363281 -5.914062 2.628906 -5.9375 2.890625 -5.9375 C 3.410156 -5.9375 3.820312 -5.820312 4.125 -5.59375 C 4.425781 -5.363281 4.578125 -5.054688 4.578125 -4.671875 C 4.578125 -4.296875 4.457031 -3.972656 4.21875 -3.703125 C 3.976562 -3.429688 3.648438 -3.242188 3.234375 -3.140625 C 3.554688 -3.046875 3.796875 -2.898438 3.953125 -2.703125 C 4.109375 -2.503906 4.1875 -2.242188 4.1875 -1.921875 C 4.1875 -1.609375 4.109375 -1.316406 3.953125 -1.046875 C 3.804688 -0.773438 3.59375 -0.539062 3.3125 -0.34375 C 3.101562 -0.1875 2.847656 -0.0703125 2.546875 0 C 2.253906 0.0703125 1.910156 0.109375 1.515625 0.109375 C 1.273438 0.109375 1.03125 0.0820312 0.78125 0.03125 C 0.53125 -0.0078125 0.273438 -0.078125 0.015625 -0.171875 L 0.15625 -0.921875 C 0.40625 -0.785156 0.65625 -0.679688 0.90625 -0.609375 C 1.15625 -0.546875 1.410156 -0.515625 1.671875 -0.515625 C 2.179688 -0.515625 2.59375 -0.644531 2.90625 -0.90625 C 3.226562 -1.175781 3.390625 -1.523438 3.390625 -1.953125 C 3.390625 -2.222656 3.285156 -2.429688 3.078125 -2.578125 C 2.878906 -2.722656 2.59375 -2.796875 2.21875 -2.796875 L 1.53125 -2.796875 L 1.65625 -3.4375 L 2.375 -3.4375 C 2.8125 -3.4375 3.148438 -3.535156 3.390625 -3.734375 C 3.640625 -3.929688 3.765625 -4.195312 3.765625 -4.53125 C 3.765625 -4.78125 3.671875 -4.972656 3.484375 -5.109375 C 3.304688 -5.242188 3.054688 -5.3125 2.734375 -5.3125 C 2.484375 -5.3125 2.222656 -5.28125 1.953125 -5.21875 C 1.691406 -5.164062 1.421875 -5.085938 1.140625 -4.984375 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 3.4375 -5.828125 L 4.4375 -5.828125 L 3.6875 -2.03125 L 4.515625 -2.03125 L 4.390625 -1.375 L 3.5625 -1.375 L 3.296875 0 L 2.515625 0 L 2.78125 -1.375 L 0.140625 -1.375 L 0.296875 -2.140625 Z M 3.515625 -5.140625 L 0.90625 -2.03125 L 2.90625 -2.03125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M 4.65625 -5.828125 L 4.53125 -5.171875 L 2.109375 -5.171875 L 1.828125 -3.734375 C 1.953125 -3.773438 2.078125 -3.800781 2.203125 -3.8125 C 2.328125 -3.832031 2.453125 -3.84375 2.578125 -3.84375 C 3.117188 -3.84375 3.546875 -3.695312 3.859375 -3.40625 C 4.171875 -3.125 4.328125 -2.734375 4.328125 -2.234375 C 4.328125 -1.890625 4.242188 -1.554688 4.078125 -1.234375 C 3.921875 -0.921875 3.695312 -0.644531 3.40625 -0.40625 C 3.195312 -0.238281 2.941406 -0.109375 2.640625 -0.015625 C 2.335938 0.0664062 2.007812 0.109375 1.65625 0.109375 C 1.414062 0.109375 1.171875 0.0859375 0.921875 0.046875 C 0.679688 0.00390625 0.425781 -0.0546875 0.15625 -0.140625 L 0.3125 -0.875 C 0.550781 -0.757812 0.789062 -0.671875 1.03125 -0.609375 C 1.269531 -0.546875 1.507812 -0.515625 1.75 -0.515625 C 2.257812 -0.515625 2.679688 -0.664062 3.015625 -0.96875 C 3.347656 -1.28125 3.515625 -1.664062 3.515625 -2.125 C 3.515625 -2.457031 3.40625 -2.71875 3.1875 -2.90625 C 2.96875 -3.09375 2.664062 -3.1875 2.28125 -3.1875 C 2.070312 -3.1875 1.851562 -3.160156 1.625 -3.109375 C 1.40625 -3.066406 1.179688 -3 0.953125 -2.90625 L 1.515625 -5.828125 Z "/>
+</symbol>
+</g>
+<clipPath id="clip1">
+ <path d="M 12 126 L 359 126 L 359 413 L 12 413 Z "/>
+</clipPath>
+<clipPath id="clip2">
+ <path d="M 12 15 L 359 15 L 359 415 L 12 415 Z "/>
+</clipPath>
+<clipPath id="clip3">
+ <path d="M 12 236 L 359 236 L 359 401 L 12 401 Z "/>
+</clipPath>
+<clipPath id="clip4">
+ <path d="M 12 84 L 359 84 L 359 412 L 12 412 Z "/>
+</clipPath>
+<clipPath id="clip5">
+ <path d="M 12 167 L 359 167 L 359 407 L 12 407 Z "/>
+</clipPath>
+<clipPath id="clip6">
+ <path d="M 374 159 L 394 159 L 394 162 L 374 162 Z "/>
+</clipPath>
+<clipPath id="clip7">
+ <path d="M 374 187 L 394 187 L 394 190 L 374 190 Z "/>
+</clipPath>
+<clipPath id="clip8">
+ <path d="M 374 215 L 394 215 L 394 218 L 374 218 Z "/>
+</clipPath>
+<clipPath id="clip9">
+ <path d="M 374 243 L 394 243 L 394 246 L 374 246 Z "/>
+</clipPath>
+<clipPath id="clip10">
+ <path d="M 374 271 L 394 271 L 394 274 L 374 274 Z "/>
+</clipPath>
+</defs>
+<g id="surface4">
+<g clip-path="url(#clip1)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(36.84082%,50.67749%,70.979309%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 133.570312 L 19.203125 134.25 L 19.40625 134.925781 L 19.816406 136.269531 L 20.632812 138.945312 L 22.265625 144.214844 L 25.527344 154.445312 L 32.605469 175.296875 L 39.214844 193.230469 L 45.691406 209.476562 L 52.71875 225.730469 L 59.277344 239.707031 L 66.386719 253.660156 L 73.363281 266.246094 L 79.871094 277.070312 L 86.929688 287.890625 L 93.519531 297.195312 L 99.980469 305.625 L 106.988281 314.0625 L 113.527344 321.320312 L 120.617188 328.566406 L 127.574219 335.105469 L 134.066406 340.730469 L 141.105469 346.351562 L 147.675781 351.1875 L 154.792969 356.015625 L 161.785156 360.367188 L 168.304688 364.113281 L 175.375 367.851562 L 181.972656 371.070312 L 188.445312 373.984375 L 195.464844 376.902344 L 202.015625 379.410156 L 209.117188 381.914062 L 216.089844 384.171875 L 222.589844 386.113281 L 229.640625 388.054688 L 236.222656 389.726562 L 242.675781 391.242188 L 249.675781 392.753906 L 256.210938 394.058594 L 263.289062 395.359375 L 269.902344 396.480469 L 276.386719 397.492188 L 283.417969 398.507812 L 289.980469 399.378906 L 297.09375 400.25 L 304.074219 401.035156 L 310.589844 401.710938 L 317.652344 402.386719 L 324.246094 402.96875 L 330.710938 403.492188 L 337.722656 404.019531 L 344.265625 404.472656 L 344.378906 404.480469 L 344.496094 404.488281 L 344.722656 404.503906 L 345.179688 404.53125 L 346.09375 404.59375 L 347.917969 404.710938 L 348.03125 404.71875 L 348.148438 404.722656 L 348.375 404.738281 L 348.832031 404.765625 L 349.746094 404.824219 L 349.972656 404.839844 L 350.203125 404.851562 L 350.660156 404.882812 L 350.773438 404.886719 L 351.113281 404.910156 L 351.230469 404.917969 L 351.34375 404.921875 L 351.570312 404.9375 "/>
+</g>
+<g clip-path="url(#clip2)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(88.070679%,61.103821%,14.204407%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 23 L 19.101562 23.695312 L 19.40625 25.769531 L 19.816406 28.519531 L 20.632812 33.960938 L 22.265625 44.609375 L 25.527344 64.992188 L 32.605469 105.308594 L 39.214844 138.613281 L 45.691406 167.667969 L 52.71875 195.609375 L 59.277344 218.710938 L 66.386719 240.878906 L 73.363281 260.082031 L 79.871094 275.972656 L 86.929688 291.25 L 93.519531 303.886719 L 99.980469 314.925781 L 106.988281 325.558594 L 113.527344 334.363281 L 120.617188 342.832031 L 127.574219 350.179688 L 134.066406 356.269531 L 141.105469 362.136719 L 147.675781 367.003906 L 154.792969 371.683594 L 161.785156 375.753906 L 168.304688 379.128906 L 175.375 382.386719 L 181.972656 385.089844 L 188.445312 387.460938 L 195.464844 389.753906 L 202.015625 391.664062 L 209.117188 393.507812 L 216.089844 395.117188 L 222.589844 396.457031 L 229.640625 397.757812 L 236.222656 398.84375 L 242.675781 399.800781 L 249.675781 400.734375 L 256.210938 401.511719 L 263.289062 402.269531 L 269.902344 402.90625 L 276.386719 403.46875 L 283.417969 404.019531 L 289.980469 404.480469 L 297.09375 404.933594 L 304.074219 405.332031 L 310.589844 405.667969 L 317.652344 406 L 324.246094 406.28125 L 330.710938 406.53125 L 337.722656 406.78125 L 344.265625 406.988281 L 344.378906 406.992188 L 344.496094 406.996094 L 344.722656 407.003906 L 345.179688 407.019531 L 346.09375 407.046875 L 347.917969 407.101562 L 348.03125 407.101562 L 348.148438 407.105469 L 348.375 407.113281 L 348.832031 407.125 L 349.746094 407.152344 L 349.972656 407.160156 L 350.203125 407.164062 L 350.660156 407.179688 L 350.773438 407.183594 L 350.886719 407.183594 L 351.113281 407.191406 L 351.230469 407.195312 L 351.457031 407.203125 L 351.570312 407.203125 "/>
+</g>
+<g clip-path="url(#clip3)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(56.016541%,69.155884%,19.488525%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 244.144531 L 19.203125 244.449219 L 19.40625 244.75 L 19.816406 245.359375 L 20.632812 246.5625 L 22.265625 248.933594 L 25.527344 253.539062 L 32.605469 262.941406 L 39.214844 271.050781 L 45.691406 278.4375 L 52.71875 285.871094 L 59.277344 292.316406 L 66.386719 298.816406 L 73.363281 304.746094 L 79.871094 309.914062 L 86.929688 315.148438 L 93.519531 319.726562 L 99.980469 323.941406 L 106.988281 328.242188 L 113.527344 332.011719 L 120.617188 335.855469 L 127.574219 339.40625 L 134.066406 342.527344 L 141.105469 345.730469 L 147.675781 348.554688 L 154.792969 351.449219 L 161.785156 354.136719 L 168.304688 356.511719 L 175.375 358.960938 L 181.972656 361.125 L 188.445312 363.148438 L 195.464844 365.238281 L 202.015625 367.09375 L 209.117188 369.003906 L 216.089844 370.792969 L 222.589844 372.382812 L 229.640625 374.023438 L 236.222656 375.488281 L 242.675781 376.863281 L 249.675781 378.285156 L 256.210938 379.554688 L 263.289062 380.867188 L 269.902344 382.039062 L 276.386719 383.140625 L 283.417969 384.285156 L 289.980469 385.304688 L 297.09375 386.363281 L 304.074219 387.359375 L 310.589844 388.246094 L 317.652344 389.167969 L 324.246094 389.988281 L 330.710938 390.765625 L 337.722656 391.570312 L 344.265625 392.292969 L 344.378906 392.304688 L 344.496094 392.316406 L 344.722656 392.339844 L 345.179688 392.390625 L 346.09375 392.488281 L 347.917969 392.679688 L 348.03125 392.695312 L 348.148438 392.707031 L 348.375 392.730469 L 348.832031 392.777344 L 349.746094 392.875 L 349.972656 392.898438 L 350.203125 392.921875 L 350.660156 392.96875 L 351.113281 393.015625 L 351.230469 393.027344 L 351.570312 393.0625 "/>
+</g>
+<g clip-path="url(#clip4)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(92.251587%,38.562012%,20.918274%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 92.105469 L 19.203125 93.105469 L 19.40625 94.101562 L 19.816406 96.082031 L 20.632812 100.003906 L 22.265625 107.691406 L 25.527344 122.46875 L 32.605469 151.917969 L 39.214844 176.519531 L 45.691406 198.210938 L 52.71875 219.3125 L 59.277344 236.972656 L 66.386719 254.128906 L 73.363281 269.191406 L 79.871094 281.816406 L 86.929688 294.125 L 93.519531 304.453125 L 99.980469 313.601562 L 106.988281 322.546875 L 113.527344 330.070312 L 120.617188 337.417969 L 127.574219 343.90625 L 134.066406 349.375 L 141.105469 354.738281 L 147.675781 359.261719 L 154.792969 363.695312 L 161.785156 367.625 L 168.304688 370.949219 L 175.375 374.21875 L 181.972656 376.988281 L 188.445312 379.46875 L 195.464844 381.914062 L 202.015625 383.996094 L 209.117188 386.046875 L 216.089844 387.878906 L 222.589844 389.441406 L 229.640625 390.992188 L 236.222656 392.3125 L 242.675781 393.503906 L 249.675781 394.691406 L 256.210938 395.707031 L 263.289062 396.71875 L 269.902344 397.585938 L 276.386719 398.375 L 283.417969 399.160156 L 289.980469 399.835938 L 297.09375 400.511719 L 304.074219 401.121094 L 310.589844 401.652344 L 317.652344 402.179688 L 324.246094 402.640625 L 330.710938 403.058594 L 337.722656 403.480469 L 344.265625 403.847656 L 344.378906 403.851562 L 344.496094 403.859375 L 344.722656 403.871094 L 345.179688 403.894531 L 346.09375 403.945312 L 347.917969 404.039062 L 348.03125 404.046875 L 348.148438 404.050781 L 348.375 404.0625 L 349.746094 404.132812 L 349.859375 404.140625 L 349.972656 404.144531 L 350.203125 404.15625 L 350.660156 404.179688 L 350.773438 404.1875 L 350.886719 404.191406 L 351.113281 404.203125 L 351.230469 404.210938 L 351.457031 404.21875 L 351.570312 404.226562 "/>
+</g>
+<g clip-path="url(#clip5)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(52.84729%,47.061157%,70.133972%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 175.035156 L 19.203125 175.628906 L 19.40625 176.21875 L 19.816406 177.394531 L 20.632812 179.730469 L 22.265625 184.3125 L 25.527344 193.171875 L 32.605469 211.03125 L 39.214844 226.183594 L 45.691406 239.75 L 52.71875 253.160156 L 59.277344 264.574219 L 66.386719 275.855469 L 73.363281 285.9375 L 79.871094 294.542969 L 86.929688 303.089844 L 93.519531 310.394531 L 99.980469 316.984375 L 106.988281 323.550781 L 113.527344 329.1875 L 120.617188 334.800781 L 127.574219 339.867188 L 134.066406 344.222656 L 141.105469 348.582031 L 147.675781 352.34375 L 154.792969 356.109375 L 161.785156 359.519531 L 168.304688 362.46875 L 175.375 365.433594 L 181.972656 368.003906 L 188.445312 370.351562 L 195.464844 372.722656 L 202.015625 374.78125 L 209.117188 376.859375 L 216.089844 378.757812 L 222.589844 380.414062 L 229.640625 382.089844 L 236.222656 383.554688 L 242.675781 384.902344 L 249.675781 386.273438 L 256.210938 387.472656 L 263.289062 388.695312 L 269.902344 389.761719 L 276.386719 390.75 L 283.417969 391.757812 L 289.980469 392.644531 L 297.09375 393.546875 L 304.074219 394.382812 L 310.589844 395.117188 L 317.652344 395.867188 L 324.246094 396.53125 L 330.710938 397.144531 L 337.722656 397.777344 L 344.265625 398.335938 L 344.378906 398.34375 L 344.496094 398.351562 L 344.722656 398.371094 L 345.179688 398.410156 L 346.09375 398.484375 L 347.917969 398.632812 L 348.03125 398.640625 L 348.148438 398.652344 L 348.375 398.667969 L 348.832031 398.707031 L 349.746094 398.777344 L 349.859375 398.789062 L 349.972656 398.796875 L 350.203125 398.816406 L 350.660156 398.851562 L 350.773438 398.859375 L 350.886719 398.871094 L 351.113281 398.886719 L 351.230469 398.894531 L 351.34375 398.90625 L 351.570312 398.921875 "/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 410 L 19 406 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 35.628906 410 L 35.628906 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 52.257812 410 L 52.257812 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 68.886719 410 L 68.886719 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 85.515625 410 L 85.515625 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 102.144531 410 L 102.144531 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="99.142859" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 118.769531 410 L 118.769531 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 135.398438 410 L 135.398438 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 152.027344 410 L 152.027344 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 168.65625 410 L 168.65625 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 185.285156 410 L 185.285156 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-2" x="182.285718" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 201.914062 410 L 201.914062 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 218.542969 410 L 218.542969 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 235.171875 410 L 235.171875 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 251.800781 410 L 251.800781 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 268.429688 410 L 268.429688 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-3" x="265.428577" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 285.058594 410 L 285.058594 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 301.6875 410 L 301.6875 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 318.3125 410 L 318.3125 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 334.941406 410 L 334.941406 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 351.570312 410 L 351.570312 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="347.821435" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 12.070312 410 L 358.5 410 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 423.820312 L 21.398438 423.820312 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 410 L 23 410 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 396.179688 L 21.398438 396.179688 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 382.355469 L 21.398438 382.355469 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 368.535156 L 21.398438 368.535156 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 354.714844 L 23 354.714844 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-5" x="1" y="358.714279"/>
+ <use xlink:href="#glyph0-6" x="7" y="358.714279"/>
+ <use xlink:href="#glyph0-2" x="10" y="358.714279"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 340.894531 L 21.398438 340.894531 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 327.070312 L 21.398438 327.070312 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 313.25 L 21.398438 313.25 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 299.429688 L 23 299.429688 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-5" x="0.000000000000003553" y="303.428558"/>
+ <use xlink:href="#glyph0-6" x="6" y="303.428558"/>
+ <use xlink:href="#glyph0-4" x="9" y="303.428558"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 285.605469 L 21.398438 285.605469 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 271.785156 L 21.398438 271.785156 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 257.964844 L 21.398438 257.964844 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 244.144531 L 23 244.144531 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-5" x="1" y="248.142837"/>
+ <use xlink:href="#glyph0-6" x="7" y="248.142837"/>
+ <use xlink:href="#glyph0-7" x="10" y="248.142837"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 230.320312 L 21.398438 230.320312 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 216.5 L 21.398438 216.5 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 202.679688 L 21.398438 202.679688 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 188.855469 L 23 188.855469 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-5" x="1" y="192.857116"/>
+ <use xlink:href="#glyph0-6" x="7" y="192.857116"/>
+ <use xlink:href="#glyph0-8" x="10" y="192.857116"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 175.035156 L 21.398438 175.035156 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 161.214844 L 21.398438 161.214844 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 147.394531 L 21.398438 147.394531 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 133.570312 L 23 133.570312 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="1" y="137.571396"/>
+ <use xlink:href="#glyph0-6" x="7" y="137.571396"/>
+ <use xlink:href="#glyph0-5" x="10" y="137.571396"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 119.75 L 21.398438 119.75 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 105.929688 L 21.398438 105.929688 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 92.105469 L 21.398438 92.105469 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 78.285156 L 23 78.285156 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="1" y="82.285675"/>
+ <use xlink:href="#glyph0-6" x="7" y="82.285675"/>
+ <use xlink:href="#glyph0-2" x="10" y="82.285675"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 64.464844 L 21.398438 64.464844 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 50.644531 L 21.398438 50.644531 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 36.820312 L 21.398438 36.820312 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 23 L 23 23 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="0.000000000000003553" y="26.999954"/>
+ <use xlink:href="#glyph0-6" x="6" y="26.999954"/>
+ <use xlink:href="#glyph0-4" x="9" y="26.999954"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 9.179688 L 21.398438 9.179688 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 19 431.5 L 19 1.5 "/>
+<g clip-path="url(#clip6)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(36.84082%,50.67749%,70.979309%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 374.800781 160.5 L 392.199219 160.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 170 L 412 170 L 412 152 L 401 152 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-1" x="404" y="165"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 152 L 412 152 L 412 170 L 401 170 L 401 169 L 411 169 L 411 153 L 402 153 L 402 169 L 401 169 Z "/>
+<g clip-path="url(#clip7)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(88.070679%,61.103821%,14.204407%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 374.800781 188.5 L 392.199219 188.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 198 L 413 198 L 413 180 L 401 180 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-2" x="403.75" y="193"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 180 L 413 180 L 413 198 L 401 198 L 401 197 L 412 197 L 412 181 L 402 181 L 402 197 L 401 197 Z "/>
+<g clip-path="url(#clip8)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(56.016541%,69.155884%,19.488525%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 374.800781 216.5 L 392.199219 216.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 226 L 413 226 L 413 208 L 401 208 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-3" x="403.75" y="221"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 208 L 413 208 L 413 226 L 401 226 L 401 225 L 412 225 L 412 209 L 402 209 L 402 225 L 401 225 Z "/>
+<g clip-path="url(#clip9)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(92.251587%,38.562012%,20.918274%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 374.800781 244.5 L 392.199219 244.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 254 L 413 254 L 413 236 L 401 236 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-4" x="403.75" y="249"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 236 L 413 236 L 413 254 L 401 254 L 401 253 L 412 253 L 412 237 L 402 237 L 402 253 L 401 253 Z "/>
+<g clip-path="url(#clip10)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(52.84729%,47.061157%,70.133972%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 374.800781 272.5 L 392.199219 272.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 282 L 413 282 L 413 264 L 401 264 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-5" x="403.75" y="277"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401 264 L 413 264 L 413 282 L 401 282 L 401 281 L 412 281 L 412 265 L 402 265 L 402 281 L 401 281 Z "/>
+</g>
+</svg>
diff --git a/libs/math/doc/graphs/hyperexponential_pdf_samemean.png b/libs/math/doc/graphs/hyperexponential_pdf_samemean.png
new file mode 100644
index 0000000000..0c7b244fc3
--- /dev/null
+++ b/libs/math/doc/graphs/hyperexponential_pdf_samemean.png
Binary files differ
diff --git a/libs/math/doc/graphs/hyperexponential_pdf_samemean.svg b/libs/math/doc/graphs/hyperexponential_pdf_samemean.svg
new file mode 100644
index 0000000000..36274da9b1
--- /dev/null
+++ b/libs/math/doc/graphs/hyperexponential_pdf_samemean.svg
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="434pt" height="432pt" viewBox="0 0 434 432" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.328125 0 L 0.328125 -6.671875 L 2.984375 -6.671875 L 2.984375 0 Z M 0.671875 -0.328125 L 2.65625 -0.328125 L 2.65625 -6.328125 L 0.671875 -6.328125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.765625 0 L 0.765625 -0.75 L 2.515625 -0.75 L 2.515625 -6.046875 L 0.96875 -4.9375 L 0.96875 -5.765625 L 2.59375 -6.875 L 3.40625 -6.875 L 3.40625 -0.75 L 5.078125 -0.75 L 5.078125 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 0.5 0 L 0.5 -0.625 C 0.664062 -1 0.867188 -1.332031 1.109375 -1.625 C 1.347656 -1.914062 1.597656 -2.179688 1.859375 -2.421875 C 2.128906 -2.660156 2.390625 -2.878906 2.640625 -3.078125 C 2.898438 -3.273438 3.132812 -3.472656 3.34375 -3.671875 C 3.550781 -3.878906 3.71875 -4.09375 3.84375 -4.3125 C 3.976562 -4.539062 4.046875 -4.789062 4.046875 -5.0625 C 4.046875 -5.257812 4.015625 -5.429688 3.953125 -5.578125 C 3.898438 -5.734375 3.816406 -5.859375 3.703125 -5.953125 C 3.597656 -6.054688 3.46875 -6.132812 3.3125 -6.1875 C 3.15625 -6.238281 2.984375 -6.265625 2.796875 -6.265625 C 2.617188 -6.265625 2.453125 -6.238281 2.296875 -6.1875 C 2.140625 -6.132812 2 -6.0625 1.875 -5.96875 C 1.757812 -5.875 1.660156 -5.753906 1.578125 -5.609375 C 1.503906 -5.460938 1.457031 -5.289062 1.4375 -5.09375 L 0.546875 -5.1875 C 0.578125 -5.425781 0.644531 -5.65625 0.75 -5.875 C 0.851562 -6.09375 1 -6.285156 1.1875 -6.453125 C 1.375 -6.617188 1.597656 -6.75 1.859375 -6.84375 C 2.128906 -6.9375 2.441406 -6.984375 2.796875 -6.984375 C 3.140625 -6.984375 3.441406 -6.941406 3.703125 -6.859375 C 3.972656 -6.773438 4.195312 -6.65625 4.375 -6.5 C 4.5625 -6.34375 4.703125 -6.144531 4.796875 -5.90625 C 4.898438 -5.675781 4.953125 -5.40625 4.953125 -5.09375 C 4.953125 -4.863281 4.910156 -4.644531 4.828125 -4.4375 C 4.742188 -4.226562 4.628906 -4.03125 4.484375 -3.84375 C 4.347656 -3.65625 4.1875 -3.472656 4 -3.296875 C 3.820312 -3.117188 3.632812 -2.945312 3.4375 -2.78125 C 3.238281 -2.613281 3.039062 -2.445312 2.84375 -2.28125 C 2.644531 -2.113281 2.453125 -1.945312 2.265625 -1.78125 C 2.085938 -1.613281 1.929688 -1.445312 1.796875 -1.28125 C 1.660156 -1.113281 1.550781 -0.9375 1.46875 -0.75 L 5.0625 -0.75 L 5.0625 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 5.125 -1.90625 C 5.125 -1.582031 5.070312 -1.296875 4.96875 -1.046875 C 4.863281 -0.804688 4.710938 -0.597656 4.515625 -0.421875 C 4.316406 -0.253906 4.070312 -0.125 3.78125 -0.03125 C 3.488281 0.0507812 3.15625 0.09375 2.78125 0.09375 C 2.363281 0.09375 2.007812 0.0390625 1.71875 -0.0625 C 1.425781 -0.164062 1.179688 -0.304688 0.984375 -0.484375 C 0.796875 -0.660156 0.65625 -0.859375 0.5625 -1.078125 C 0.46875 -1.296875 0.40625 -1.523438 0.375 -1.765625 L 1.296875 -1.84375 C 1.316406 -1.664062 1.359375 -1.5 1.421875 -1.34375 C 1.492188 -1.195312 1.59375 -1.070312 1.71875 -0.96875 C 1.84375 -0.863281 1.988281 -0.78125 2.15625 -0.71875 C 2.332031 -0.65625 2.539062 -0.625 2.78125 -0.625 C 3.226562 -0.625 3.578125 -0.734375 3.828125 -0.953125 C 4.078125 -1.171875 4.203125 -1.492188 4.203125 -1.921875 C 4.203125 -2.179688 4.144531 -2.390625 4.03125 -2.546875 C 3.925781 -2.703125 3.789062 -2.820312 3.625 -2.90625 C 3.457031 -2.988281 3.273438 -3.046875 3.078125 -3.078125 C 2.878906 -3.109375 2.695312 -3.125 2.53125 -3.125 L 2.03125 -3.125 L 2.03125 -3.875 L 2.515625 -3.875 C 2.679688 -3.875 2.851562 -3.890625 3.03125 -3.921875 C 3.207031 -3.960938 3.367188 -4.023438 3.515625 -4.109375 C 3.660156 -4.203125 3.78125 -4.328125 3.875 -4.484375 C 3.976562 -4.640625 4.03125 -4.832031 4.03125 -5.0625 C 4.03125 -5.4375 3.921875 -5.726562 3.703125 -5.9375 C 3.484375 -6.15625 3.160156 -6.265625 2.734375 -6.265625 C 2.347656 -6.265625 2.035156 -6.164062 1.796875 -5.96875 C 1.554688 -5.769531 1.414062 -5.488281 1.375 -5.125 L 0.5 -5.1875 C 0.53125 -5.488281 0.609375 -5.75 0.734375 -5.96875 C 0.867188 -6.195312 1.035156 -6.382812 1.234375 -6.53125 C 1.441406 -6.6875 1.671875 -6.800781 1.921875 -6.875 C 2.179688 -6.945312 2.457031 -6.984375 2.75 -6.984375 C 3.132812 -6.984375 3.460938 -6.929688 3.734375 -6.828125 C 4.015625 -6.734375 4.242188 -6.601562 4.421875 -6.4375 C 4.597656 -6.28125 4.726562 -6.085938 4.8125 -5.859375 C 4.894531 -5.640625 4.9375 -5.40625 4.9375 -5.15625 C 4.9375 -4.957031 4.90625 -4.769531 4.84375 -4.59375 C 4.789062 -4.414062 4.707031 -4.253906 4.59375 -4.109375 C 4.476562 -3.972656 4.328125 -3.851562 4.140625 -3.75 C 3.960938 -3.65625 3.742188 -3.582031 3.484375 -3.53125 L 3.484375 -3.515625 C 3.765625 -3.484375 4.003906 -3.414062 4.203125 -3.3125 C 4.410156 -3.21875 4.582031 -3.097656 4.71875 -2.953125 C 4.851562 -2.816406 4.953125 -2.65625 5.015625 -2.46875 C 5.085938 -2.289062 5.125 -2.101562 5.125 -1.90625 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.296875 -1.5625 L 4.296875 0 L 3.46875 0 L 3.46875 -1.5625 L 0.234375 -1.5625 L 0.234375 -2.234375 L 3.375 -6.875 L 4.296875 -6.875 L 4.296875 -2.25 L 5.265625 -2.25 L 5.265625 -1.5625 Z M 3.46875 -5.890625 C 3.46875 -5.867188 3.453125 -5.832031 3.421875 -5.78125 C 3.398438 -5.738281 3.367188 -5.6875 3.328125 -5.625 C 3.296875 -5.570312 3.265625 -5.515625 3.234375 -5.453125 C 3.203125 -5.390625 3.171875 -5.34375 3.140625 -5.3125 L 1.375 -2.703125 C 1.363281 -2.679688 1.34375 -2.648438 1.3125 -2.609375 C 1.28125 -2.566406 1.25 -2.519531 1.21875 -2.46875 C 1.1875 -2.425781 1.148438 -2.382812 1.109375 -2.34375 C 1.078125 -2.300781 1.054688 -2.269531 1.046875 -2.25 L 3.46875 -2.25 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 5.171875 -3.4375 C 5.171875 -2.78125 5.109375 -2.222656 4.984375 -1.765625 C 4.859375 -1.316406 4.6875 -0.953125 4.46875 -0.671875 C 4.25 -0.398438 3.992188 -0.203125 3.703125 -0.078125 C 3.410156 0.0351562 3.097656 0.09375 2.765625 0.09375 C 2.429688 0.09375 2.117188 0.0351562 1.828125 -0.078125 C 1.535156 -0.203125 1.28125 -0.398438 1.0625 -0.671875 C 0.851562 -0.953125 0.6875 -1.316406 0.5625 -1.765625 C 0.445312 -2.222656 0.390625 -2.78125 0.390625 -3.4375 C 0.390625 -4.132812 0.445312 -4.707031 0.5625 -5.15625 C 0.6875 -5.613281 0.859375 -5.976562 1.078125 -6.25 C 1.296875 -6.519531 1.550781 -6.707031 1.84375 -6.8125 C 2.132812 -6.925781 2.453125 -6.984375 2.796875 -6.984375 C 3.128906 -6.984375 3.4375 -6.925781 3.71875 -6.8125 C 4.007812 -6.707031 4.257812 -6.519531 4.46875 -6.25 C 4.6875 -5.976562 4.859375 -5.613281 4.984375 -5.15625 C 5.109375 -4.707031 5.171875 -4.132812 5.171875 -3.4375 Z M 4.28125 -3.4375 C 4.28125 -3.988281 4.242188 -4.445312 4.171875 -4.8125 C 4.109375 -5.175781 4.015625 -5.460938 3.890625 -5.671875 C 3.765625 -5.890625 3.609375 -6.039062 3.421875 -6.125 C 3.242188 -6.21875 3.035156 -6.265625 2.796875 -6.265625 C 2.546875 -6.265625 2.328125 -6.21875 2.140625 -6.125 C 1.953125 -6.039062 1.789062 -5.890625 1.65625 -5.671875 C 1.53125 -5.453125 1.4375 -5.160156 1.375 -4.796875 C 1.3125 -4.441406 1.28125 -3.988281 1.28125 -3.4375 C 1.28125 -2.914062 1.3125 -2.472656 1.375 -2.109375 C 1.445312 -1.742188 1.546875 -1.453125 1.671875 -1.234375 C 1.796875 -1.015625 1.953125 -0.859375 2.140625 -0.765625 C 2.328125 -0.671875 2.539062 -0.625 2.78125 -0.625 C 3.007812 -0.625 3.21875 -0.671875 3.40625 -0.765625 C 3.59375 -0.859375 3.75 -1.015625 3.875 -1.234375 C 4 -1.453125 4.097656 -1.742188 4.171875 -2.109375 C 4.242188 -2.472656 4.28125 -2.914062 4.28125 -3.4375 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.90625 0 L 0.90625 -1.0625 L 1.859375 -1.0625 L 1.859375 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 5.140625 -2.234375 C 5.140625 -1.890625 5.085938 -1.570312 4.984375 -1.28125 C 4.878906 -1 4.722656 -0.753906 4.515625 -0.546875 C 4.316406 -0.347656 4.0625 -0.191406 3.75 -0.078125 C 3.445312 0.0351562 3.097656 0.09375 2.703125 0.09375 C 2.335938 0.09375 2.019531 0.0507812 1.75 -0.03125 C 1.488281 -0.113281 1.265625 -0.226562 1.078125 -0.375 C 0.890625 -0.519531 0.738281 -0.691406 0.625 -0.890625 C 0.519531 -1.097656 0.445312 -1.3125 0.40625 -1.53125 L 1.296875 -1.640625 C 1.328125 -1.515625 1.375 -1.390625 1.4375 -1.265625 C 1.5 -1.140625 1.585938 -1.03125 1.703125 -0.9375 C 1.816406 -0.84375 1.957031 -0.765625 2.125 -0.703125 C 2.289062 -0.648438 2.488281 -0.625 2.71875 -0.625 C 2.945312 -0.625 3.15625 -0.65625 3.34375 -0.71875 C 3.53125 -0.789062 3.6875 -0.894531 3.8125 -1.03125 C 3.945312 -1.164062 4.050781 -1.332031 4.125 -1.53125 C 4.195312 -1.738281 4.234375 -1.96875 4.234375 -2.21875 C 4.234375 -2.4375 4.195312 -2.632812 4.125 -2.8125 C 4.0625 -2.988281 3.960938 -3.140625 3.828125 -3.265625 C 3.703125 -3.390625 3.546875 -3.488281 3.359375 -3.5625 C 3.179688 -3.632812 2.972656 -3.671875 2.734375 -3.671875 C 2.585938 -3.671875 2.453125 -3.65625 2.328125 -3.625 C 2.210938 -3.601562 2.097656 -3.566406 1.984375 -3.515625 C 1.878906 -3.472656 1.785156 -3.421875 1.703125 -3.359375 C 1.617188 -3.304688 1.535156 -3.242188 1.453125 -3.171875 L 0.59375 -3.171875 L 0.828125 -6.875 L 4.734375 -6.875 L 4.734375 -6.140625 L 1.625 -6.140625 L 1.5 -3.953125 C 1.65625 -4.066406 1.847656 -4.164062 2.078125 -4.25 C 2.316406 -4.34375 2.597656 -4.390625 2.921875 -4.390625 C 3.265625 -4.390625 3.570312 -4.335938 3.84375 -4.234375 C 4.113281 -4.128906 4.34375 -3.976562 4.53125 -3.78125 C 4.726562 -3.59375 4.878906 -3.367188 4.984375 -3.109375 C 5.085938 -2.847656 5.140625 -2.554688 5.140625 -2.234375 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0.40625 1.421875 L 0.40625 -5.640625 L 4.40625 -5.640625 L 4.40625 1.421875 Z M 0.84375 0.96875 L 3.953125 0.96875 L 3.953125 -5.1875 L 0.84375 -5.1875 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 0.515625 -0.671875 L 1.8125 -0.671875 L 2.6875 -5.15625 L 1.21875 -4.875 L 1.359375 -5.546875 L 2.8125 -5.828125 L 3.609375 -5.828125 L 2.59375 -0.671875 L 3.875 -0.671875 L 3.75 0 L 0.390625 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 3.6875 -2.8125 L 1.171875 -0.65625 L 3.953125 -0.65625 L 3.8125 0 L 0.03125 0 L 0.15625 -0.671875 L 2.796875 -2.921875 C 3.148438 -3.222656 3.398438 -3.488281 3.546875 -3.71875 C 3.691406 -3.957031 3.765625 -4.195312 3.765625 -4.4375 C 3.765625 -4.6875 3.675781 -4.890625 3.5 -5.046875 C 3.320312 -5.210938 3.085938 -5.296875 2.796875 -5.296875 C 2.554688 -5.296875 2.285156 -5.25 1.984375 -5.15625 C 1.679688 -5.070312 1.359375 -4.941406 1.015625 -4.765625 L 1.15625 -5.546875 C 1.476562 -5.679688 1.785156 -5.78125 2.078125 -5.84375 C 2.367188 -5.90625 2.640625 -5.9375 2.890625 -5.9375 C 3.398438 -5.9375 3.8125 -5.800781 4.125 -5.53125 C 4.4375 -5.257812 4.59375 -4.90625 4.59375 -4.46875 C 4.59375 -4.164062 4.519531 -3.878906 4.375 -3.609375 C 4.226562 -3.347656 4 -3.082031 3.6875 -2.8125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 1.265625 -5.6875 C 1.554688 -5.769531 1.832031 -5.832031 2.09375 -5.875 C 2.363281 -5.914062 2.628906 -5.9375 2.890625 -5.9375 C 3.410156 -5.9375 3.820312 -5.820312 4.125 -5.59375 C 4.425781 -5.363281 4.578125 -5.054688 4.578125 -4.671875 C 4.578125 -4.296875 4.457031 -3.972656 4.21875 -3.703125 C 3.976562 -3.429688 3.648438 -3.242188 3.234375 -3.140625 C 3.554688 -3.046875 3.796875 -2.898438 3.953125 -2.703125 C 4.109375 -2.503906 4.1875 -2.242188 4.1875 -1.921875 C 4.1875 -1.609375 4.109375 -1.316406 3.953125 -1.046875 C 3.804688 -0.773438 3.59375 -0.539062 3.3125 -0.34375 C 3.101562 -0.1875 2.847656 -0.0703125 2.546875 0 C 2.253906 0.0703125 1.910156 0.109375 1.515625 0.109375 C 1.273438 0.109375 1.03125 0.0820312 0.78125 0.03125 C 0.53125 -0.0078125 0.273438 -0.078125 0.015625 -0.171875 L 0.15625 -0.921875 C 0.40625 -0.785156 0.65625 -0.679688 0.90625 -0.609375 C 1.15625 -0.546875 1.410156 -0.515625 1.671875 -0.515625 C 2.179688 -0.515625 2.59375 -0.644531 2.90625 -0.90625 C 3.226562 -1.175781 3.390625 -1.523438 3.390625 -1.953125 C 3.390625 -2.222656 3.285156 -2.429688 3.078125 -2.578125 C 2.878906 -2.722656 2.59375 -2.796875 2.21875 -2.796875 L 1.53125 -2.796875 L 1.65625 -3.4375 L 2.375 -3.4375 C 2.8125 -3.4375 3.148438 -3.535156 3.390625 -3.734375 C 3.640625 -3.929688 3.765625 -4.195312 3.765625 -4.53125 C 3.765625 -4.78125 3.671875 -4.972656 3.484375 -5.109375 C 3.304688 -5.242188 3.054688 -5.3125 2.734375 -5.3125 C 2.484375 -5.3125 2.222656 -5.28125 1.953125 -5.21875 C 1.691406 -5.164062 1.421875 -5.085938 1.140625 -4.984375 Z "/>
+</symbol>
+</g>
+<clipPath id="clip1">
+ <path d="M 11 15 L 359 15 L 359 418 L 11 418 Z "/>
+</clipPath>
+<clipPath id="clip2">
+ <path d="M 11 226 L 359 226 L 359 411 L 11 411 Z "/>
+</clipPath>
+<clipPath id="clip3">
+ <path d="M 11 97 L 359 97 L 359 414 L 11 414 Z "/>
+</clipPath>
+<clipPath id="clip4">
+ <path d="M 374 187 L 414 187 L 414 190 L 374 190 Z "/>
+</clipPath>
+<clipPath id="clip5">
+ <path d="M 374 215 L 414 215 L 414 218 L 374 218 Z "/>
+</clipPath>
+<clipPath id="clip6">
+ <path d="M 374 243 L 414 243 L 414 246 L 374 246 Z "/>
+</clipPath>
+</defs>
+<g id="surface60">
+<g clip-path="url(#clip1)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(36.84082%,50.67749%,70.979309%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:3.25;" d="M 18 23 L 18.101562 23.949219 L 18.203125 24.894531 L 18.410156 26.78125 L 18.820312 30.523438 L 19.636719 37.898438 L 21.273438 52.222656 L 24.546875 79.238281 L 31.644531 131.015625 L 38.273438 172.015625 L 44.769531 206.359375 L 51.816406 238.03125 L 58.394531 263.128906 L 65.523438 286.210938 L 72.523438 305.339844 L 79.050781 320.507812 L 86.128906 334.480469 L 92.738281 345.550781 L 99.21875 354.828125 L 106.246094 363.386719 L 112.804688 370.171875 L 119.914062 376.414062 L 126.894531 381.59375 L 133.402344 385.699219 L 140.464844 389.484375 L 147.054688 392.484375 L 154.195312 395.238281 L 161.203125 397.523438 L 167.742188 399.335938 L 174.835938 401.003906 L 181.453125 402.324219 L 187.945312 403.429688 L 194.984375 404.453125 L 201.554688 405.261719 L 208.679688 406.003906 L 215.667969 406.621094 L 222.191406 407.109375 L 229.261719 407.5625 L 235.863281 407.917969 L 242.335938 408.21875 L 249.355469 408.492188 L 255.90625 408.714844 L 263.011719 408.914062 L 269.640625 409.074219 L 276.144531 409.207031 L 283.195312 409.332031 L 289.777344 409.429688 L 296.914062 409.519531 L 303.914062 409.59375 L 310.449219 409.652344 L 317.53125 409.707031 L 324.144531 409.75 L 330.628906 409.785156 L 337.660156 409.820312 L 344.222656 409.84375 L 344.339844 409.84375 L 344.453125 409.847656 L 345.140625 409.847656 L 346.054688 409.851562 L 347.886719 409.859375 L 348.34375 409.859375 L 348.804688 409.863281 L 349.949219 409.863281 L 350.175781 409.867188 L 351.207031 409.867188 L 351.320312 409.871094 L 351.550781 409.871094 "/>
+</g>
+<g clip-path="url(#clip2)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(88.070679%,61.103821%,14.204407%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 235.851562 L 18.203125 236.40625 L 18.410156 236.957031 L 18.820312 238.054688 L 19.636719 240.230469 L 21.273438 244.488281 L 24.546875 252.648438 L 31.644531 268.828125 L 38.273438 282.238281 L 44.769531 293.976562 L 51.816406 305.3125 L 58.394531 314.730469 L 65.523438 323.808594 L 72.523438 331.71875 L 79.050781 338.304688 L 86.128906 344.675781 L 92.738281 349.984375 L 99.21875 354.65625 L 106.246094 359.199219 L 112.804688 362.992188 L 119.914062 366.679688 L 126.894531 369.917969 L 133.402344 372.632812 L 140.464844 375.285156 L 147.054688 377.515625 L 154.195312 379.691406 L 161.203125 381.621094 L 167.742188 383.25 L 174.835938 384.851562 L 181.453125 386.210938 L 187.945312 387.425781 L 194.984375 388.632812 L 201.554688 389.660156 L 208.679688 390.683594 L 215.667969 391.601562 L 222.191406 392.390625 L 229.261719 393.179688 L 235.863281 393.863281 L 242.335938 394.484375 L 249.355469 395.113281 L 255.90625 395.65625 L 263.011719 396.210938 L 269.640625 396.691406 L 276.144531 397.136719 L 283.195312 397.589844 L 289.777344 397.988281 L 296.914062 398.398438 L 303.914062 398.777344 L 310.449219 399.109375 L 317.53125 399.457031 L 324.144531 399.761719 L 330.628906 400.050781 L 337.660156 400.347656 L 344.222656 400.613281 L 344.339844 400.617188 L 344.453125 400.621094 L 344.683594 400.632812 L 345.140625 400.648438 L 346.054688 400.6875 L 347.886719 400.757812 L 348.003906 400.761719 L 348.34375 400.773438 L 348.804688 400.792969 L 349.71875 400.828125 L 349.832031 400.832031 L 349.949219 400.835938 L 350.175781 400.847656 L 350.636719 400.863281 L 350.863281 400.871094 L 351.09375 400.878906 L 351.207031 400.886719 L 351.320312 400.890625 L 351.4375 400.894531 L 351.550781 400.898438 "/>
+</g>
+<g clip-path="url(#clip3)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(56.016541%,69.155884%,19.488525%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 106.851562 L 18.101562 107.742188 L 18.203125 108.628906 L 18.410156 110.398438 L 18.820312 113.902344 L 19.636719 120.773438 L 21.273438 133.980469 L 24.546875 158.40625 L 24.65625 159.191406 L 24.769531 159.972656 L 24.992188 161.527344 L 25.433594 164.597656 L 26.320312 170.617188 L 28.097656 182.160156 L 31.644531 203.386719 L 31.75 203.96875 L 31.851562 204.554688 L 32.058594 205.710938 L 32.472656 208.007812 L 33.300781 212.511719 L 34.957031 221.175781 L 38.273438 237.214844 L 38.476562 238.144531 L 38.679688 239.070312 L 39.085938 240.898438 L 39.898438 244.496094 L 41.519531 251.417969 L 44.769531 264.265625 L 44.878906 264.679688 L 44.992188 265.09375 L 45.210938 265.914062 L 45.652344 267.535156 L 46.53125 270.71875 L 48.292969 276.835938 L 51.816406 288.128906 L 51.921875 288.441406 L 52.023438 288.753906 L 52.230469 289.371094 L 52.640625 290.597656 L 53.460938 293.003906 L 55.105469 297.644531 L 58.394531 306.269531 L 58.507812 306.546875 L 58.617188 306.824219 L 58.839844 307.375 L 59.289062 308.46875 L 60.179688 310.605469 L 61.960938 314.71875 L 65.523438 322.332031 L 65.632812 322.554688 L 65.742188 322.773438 L 65.960938 323.214844 L 66.398438 324.085938 L 67.273438 325.792969 L 69.023438 329.082031 L 72.523438 335.183594 L 72.625 335.351562 L 72.726562 335.523438 L 72.929688 335.855469 L 73.339844 336.523438 L 74.15625 337.832031 L 75.789062 340.355469 L 79.050781 345.078125 L 79.160156 345.230469 L 79.273438 345.382812 L 79.492188 345.683594 L 79.9375 346.285156 L 80.820312 347.460938 L 82.589844 349.734375 L 86.128906 353.960938 L 86.234375 354.078125 L 86.335938 354.195312 L 86.957031 354.886719 L 87.78125 355.796875 L 89.433594 357.554688 L 92.738281 360.84375 L 99.21875 366.519531 L 106.246094 371.691406 L 112.804688 375.753906 L 119.914062 379.480469 L 126.894531 382.574219 L 133.402344 385.039062 L 140.464844 387.332031 L 147.054688 389.175781 L 154.195312 390.902344 L 161.203125 392.371094 L 167.742188 393.5625 L 174.835938 394.699219 L 181.453125 395.628906 L 187.945312 396.441406 L 194.984375 397.222656 L 201.554688 397.871094 L 208.679688 398.5 L 215.667969 399.050781 L 222.191406 399.511719 L 229.261719 399.96875 L 235.863281 400.351562 L 242.335938 400.695312 L 249.355469 401.039062 L 255.90625 401.332031 L 263.011719 401.625 L 269.640625 401.875 L 276.144531 402.105469 L 283.195312 402.335938 L 289.777344 402.539062 L 296.914062 402.742188 L 303.914062 402.929688 L 310.449219 403.09375 L 317.53125 403.265625 L 324.144531 403.414062 L 330.628906 403.554688 L 337.660156 403.699219 L 344.222656 403.824219 L 344.339844 403.828125 L 344.453125 403.832031 L 344.683594 403.835938 L 346.054688 403.859375 L 347.886719 403.894531 L 348.003906 403.898438 L 348.117188 403.898438 L 348.34375 403.902344 L 348.804688 403.910156 L 349.71875 403.929688 L 349.832031 403.929688 L 349.949219 403.933594 L 350.175781 403.9375 L 350.636719 403.945312 L 350.75 403.949219 L 350.863281 403.949219 L 351.09375 403.953125 L 351.207031 403.957031 L 351.320312 403.957031 L 351.4375 403.960938 L 351.550781 403.960938 "/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 410 L 18 406 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 34.675781 410 L 34.675781 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 51.355469 410 L 51.355469 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 68.03125 410 L 68.03125 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 84.710938 410 L 84.710938 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 101.386719 410 L 101.386719 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="98.387757" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 118.066406 410 L 118.066406 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 134.742188 410 L 134.742188 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 151.421875 410 L 151.421875 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 168.097656 410 L 168.097656 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 184.777344 410 L 184.777344 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-2" x="181.775514" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 201.453125 410 L 201.453125 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 218.128906 410 L 218.128906 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 234.808594 410 L 234.808594 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 251.484375 410 L 251.484375 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 268.164062 410 L 268.164062 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-3" x="265.16327" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 284.839844 410 L 284.839844 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 301.519531 410 L 301.519531 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 318.195312 410 L 318.195312 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 334.875 410 L 334.875 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 351.550781 410 L 351.550781 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="347.801027" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 11.050781 410 L 358.5 410 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 429.351562 L 20.398438 429.351562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 410 L 22 410 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 390.648438 L 20.398438 390.648438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 371.300781 L 20.398438 371.300781 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 351.949219 L 20.398438 351.949219 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 332.601562 L 20.398438 332.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 313.25 L 22 313.25 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-5" x="0.000000000000003553" y="317.249984"/>
+ <use xlink:href="#glyph0-6" x="6" y="317.249984"/>
+ <use xlink:href="#glyph0-7" x="9" y="317.249984"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 293.898438 L 20.398438 293.898438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 274.550781 L 20.398438 274.550781 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 255.199219 L 20.398438 255.199219 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 235.851562 L 20.398438 235.851562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 216.5 L 22 216.5 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="0.000000000000003553" y="220.499968"/>
+ <use xlink:href="#glyph0-6" x="6" y="220.499968"/>
+ <use xlink:href="#glyph0-5" x="9" y="220.499968"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 197.148438 L 20.398438 197.148438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 177.800781 L 20.398438 177.800781 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 158.449219 L 20.398438 158.449219 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 139.101562 L 20.398438 139.101562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 119.75 L 22 119.75 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="0.000000000000003553" y="123.749953"/>
+ <use xlink:href="#glyph0-6" x="6" y="123.749953"/>
+ <use xlink:href="#glyph0-7" x="9" y="123.749953"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 100.398438 L 20.398438 100.398438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 81.050781 L 20.398438 81.050781 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 61.699219 L 20.398438 61.699219 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 42.351562 L 20.398438 42.351562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 23 L 22 23 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-2" x="0.000000000000003553" y="26.999937"/>
+ <use xlink:href="#glyph0-6" x="6" y="26.999937"/>
+ <use xlink:href="#glyph0-5" x="9" y="26.999937"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 3.648438 L 20.398438 3.648438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 431.5 L 18 1.5 "/>
+<g clip-path="url(#clip4)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(36.84082%,50.67749%,70.979309%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:3.25;" d="M 374.800781 188.5 L 412.199219 188.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 198 L 432 198 L 432 180 L 421 180 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-1" x="424" y="193"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 180 L 432 180 L 432 198 L 421 198 L 421 197 L 431 197 L 431 181 L 422 181 L 422 197 L 421 197 Z "/>
+<g clip-path="url(#clip5)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(88.070679%,61.103821%,14.204407%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 375 216.5 L 412 216.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 226 L 433 226 L 433 208 L 421 208 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-2" x="423.75" y="221"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 208 L 433 208 L 433 226 L 421 226 L 421 225 L 432 225 L 432 209 L 422 209 L 422 225 L 421 225 Z "/>
+<g clip-path="url(#clip6)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(56.016541%,69.155884%,19.488525%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 375 244.5 L 412 244.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 254 L 433 254 L 433 236 L 421 236 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-3" x="423.75" y="249"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 236 L 433 236 L 433 254 L 421 254 L 421 253 L 432 253 L 432 237 L 422 237 L 422 253 L 421 253 Z "/>
+</g>
+</svg>
diff --git a/libs/math/doc/graphs/hyperexponential_pdf_samerate.png b/libs/math/doc/graphs/hyperexponential_pdf_samerate.png
new file mode 100644
index 0000000000..2de8d33451
--- /dev/null
+++ b/libs/math/doc/graphs/hyperexponential_pdf_samerate.png
Binary files differ
diff --git a/libs/math/doc/graphs/hyperexponential_pdf_samerate.svg b/libs/math/doc/graphs/hyperexponential_pdf_samerate.svg
new file mode 100644
index 0000000000..9d54666cff
--- /dev/null
+++ b/libs/math/doc/graphs/hyperexponential_pdf_samerate.svg
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="434pt" height="432pt" viewBox="0 0 434 432" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 0.328125 0 L 0.328125 -6.671875 L 2.984375 -6.671875 L 2.984375 0 Z M 0.671875 -0.328125 L 2.65625 -0.328125 L 2.65625 -6.328125 L 0.671875 -6.328125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.765625 0 L 0.765625 -0.75 L 2.515625 -0.75 L 2.515625 -6.046875 L 0.96875 -4.9375 L 0.96875 -5.765625 L 2.59375 -6.875 L 3.40625 -6.875 L 3.40625 -0.75 L 5.078125 -0.75 L 5.078125 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 0.5 0 L 0.5 -0.625 C 0.664062 -1 0.867188 -1.332031 1.109375 -1.625 C 1.347656 -1.914062 1.597656 -2.179688 1.859375 -2.421875 C 2.128906 -2.660156 2.390625 -2.878906 2.640625 -3.078125 C 2.898438 -3.273438 3.132812 -3.472656 3.34375 -3.671875 C 3.550781 -3.878906 3.71875 -4.09375 3.84375 -4.3125 C 3.976562 -4.539062 4.046875 -4.789062 4.046875 -5.0625 C 4.046875 -5.257812 4.015625 -5.429688 3.953125 -5.578125 C 3.898438 -5.734375 3.816406 -5.859375 3.703125 -5.953125 C 3.597656 -6.054688 3.46875 -6.132812 3.3125 -6.1875 C 3.15625 -6.238281 2.984375 -6.265625 2.796875 -6.265625 C 2.617188 -6.265625 2.453125 -6.238281 2.296875 -6.1875 C 2.140625 -6.132812 2 -6.0625 1.875 -5.96875 C 1.757812 -5.875 1.660156 -5.753906 1.578125 -5.609375 C 1.503906 -5.460938 1.457031 -5.289062 1.4375 -5.09375 L 0.546875 -5.1875 C 0.578125 -5.425781 0.644531 -5.65625 0.75 -5.875 C 0.851562 -6.09375 1 -6.285156 1.1875 -6.453125 C 1.375 -6.617188 1.597656 -6.75 1.859375 -6.84375 C 2.128906 -6.9375 2.441406 -6.984375 2.796875 -6.984375 C 3.140625 -6.984375 3.441406 -6.941406 3.703125 -6.859375 C 3.972656 -6.773438 4.195312 -6.65625 4.375 -6.5 C 4.5625 -6.34375 4.703125 -6.144531 4.796875 -5.90625 C 4.898438 -5.675781 4.953125 -5.40625 4.953125 -5.09375 C 4.953125 -4.863281 4.910156 -4.644531 4.828125 -4.4375 C 4.742188 -4.226562 4.628906 -4.03125 4.484375 -3.84375 C 4.347656 -3.65625 4.1875 -3.472656 4 -3.296875 C 3.820312 -3.117188 3.632812 -2.945312 3.4375 -2.78125 C 3.238281 -2.613281 3.039062 -2.445312 2.84375 -2.28125 C 2.644531 -2.113281 2.453125 -1.945312 2.265625 -1.78125 C 2.085938 -1.613281 1.929688 -1.445312 1.796875 -1.28125 C 1.660156 -1.113281 1.550781 -0.9375 1.46875 -0.75 L 5.0625 -0.75 L 5.0625 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 5.125 -1.90625 C 5.125 -1.582031 5.070312 -1.296875 4.96875 -1.046875 C 4.863281 -0.804688 4.710938 -0.597656 4.515625 -0.421875 C 4.316406 -0.253906 4.070312 -0.125 3.78125 -0.03125 C 3.488281 0.0507812 3.15625 0.09375 2.78125 0.09375 C 2.363281 0.09375 2.007812 0.0390625 1.71875 -0.0625 C 1.425781 -0.164062 1.179688 -0.304688 0.984375 -0.484375 C 0.796875 -0.660156 0.65625 -0.859375 0.5625 -1.078125 C 0.46875 -1.296875 0.40625 -1.523438 0.375 -1.765625 L 1.296875 -1.84375 C 1.316406 -1.664062 1.359375 -1.5 1.421875 -1.34375 C 1.492188 -1.195312 1.59375 -1.070312 1.71875 -0.96875 C 1.84375 -0.863281 1.988281 -0.78125 2.15625 -0.71875 C 2.332031 -0.65625 2.539062 -0.625 2.78125 -0.625 C 3.226562 -0.625 3.578125 -0.734375 3.828125 -0.953125 C 4.078125 -1.171875 4.203125 -1.492188 4.203125 -1.921875 C 4.203125 -2.179688 4.144531 -2.390625 4.03125 -2.546875 C 3.925781 -2.703125 3.789062 -2.820312 3.625 -2.90625 C 3.457031 -2.988281 3.273438 -3.046875 3.078125 -3.078125 C 2.878906 -3.109375 2.695312 -3.125 2.53125 -3.125 L 2.03125 -3.125 L 2.03125 -3.875 L 2.515625 -3.875 C 2.679688 -3.875 2.851562 -3.890625 3.03125 -3.921875 C 3.207031 -3.960938 3.367188 -4.023438 3.515625 -4.109375 C 3.660156 -4.203125 3.78125 -4.328125 3.875 -4.484375 C 3.976562 -4.640625 4.03125 -4.832031 4.03125 -5.0625 C 4.03125 -5.4375 3.921875 -5.726562 3.703125 -5.9375 C 3.484375 -6.15625 3.160156 -6.265625 2.734375 -6.265625 C 2.347656 -6.265625 2.035156 -6.164062 1.796875 -5.96875 C 1.554688 -5.769531 1.414062 -5.488281 1.375 -5.125 L 0.5 -5.1875 C 0.53125 -5.488281 0.609375 -5.75 0.734375 -5.96875 C 0.867188 -6.195312 1.035156 -6.382812 1.234375 -6.53125 C 1.441406 -6.6875 1.671875 -6.800781 1.921875 -6.875 C 2.179688 -6.945312 2.457031 -6.984375 2.75 -6.984375 C 3.132812 -6.984375 3.460938 -6.929688 3.734375 -6.828125 C 4.015625 -6.734375 4.242188 -6.601562 4.421875 -6.4375 C 4.597656 -6.28125 4.726562 -6.085938 4.8125 -5.859375 C 4.894531 -5.640625 4.9375 -5.40625 4.9375 -5.15625 C 4.9375 -4.957031 4.90625 -4.769531 4.84375 -4.59375 C 4.789062 -4.414062 4.707031 -4.253906 4.59375 -4.109375 C 4.476562 -3.972656 4.328125 -3.851562 4.140625 -3.75 C 3.960938 -3.65625 3.742188 -3.582031 3.484375 -3.53125 L 3.484375 -3.515625 C 3.765625 -3.484375 4.003906 -3.414062 4.203125 -3.3125 C 4.410156 -3.21875 4.582031 -3.097656 4.71875 -2.953125 C 4.851562 -2.816406 4.953125 -2.65625 5.015625 -2.46875 C 5.085938 -2.289062 5.125 -2.101562 5.125 -1.90625 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.296875 -1.5625 L 4.296875 0 L 3.46875 0 L 3.46875 -1.5625 L 0.234375 -1.5625 L 0.234375 -2.234375 L 3.375 -6.875 L 4.296875 -6.875 L 4.296875 -2.25 L 5.265625 -2.25 L 5.265625 -1.5625 Z M 3.46875 -5.890625 C 3.46875 -5.867188 3.453125 -5.832031 3.421875 -5.78125 C 3.398438 -5.738281 3.367188 -5.6875 3.328125 -5.625 C 3.296875 -5.570312 3.265625 -5.515625 3.234375 -5.453125 C 3.203125 -5.390625 3.171875 -5.34375 3.140625 -5.3125 L 1.375 -2.703125 C 1.363281 -2.679688 1.34375 -2.648438 1.3125 -2.609375 C 1.28125 -2.566406 1.25 -2.519531 1.21875 -2.46875 C 1.1875 -2.425781 1.148438 -2.382812 1.109375 -2.34375 C 1.078125 -2.300781 1.054688 -2.269531 1.046875 -2.25 L 3.46875 -2.25 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 5.171875 -3.4375 C 5.171875 -2.78125 5.109375 -2.222656 4.984375 -1.765625 C 4.859375 -1.316406 4.6875 -0.953125 4.46875 -0.671875 C 4.25 -0.398438 3.992188 -0.203125 3.703125 -0.078125 C 3.410156 0.0351562 3.097656 0.09375 2.765625 0.09375 C 2.429688 0.09375 2.117188 0.0351562 1.828125 -0.078125 C 1.535156 -0.203125 1.28125 -0.398438 1.0625 -0.671875 C 0.851562 -0.953125 0.6875 -1.316406 0.5625 -1.765625 C 0.445312 -2.222656 0.390625 -2.78125 0.390625 -3.4375 C 0.390625 -4.132812 0.445312 -4.707031 0.5625 -5.15625 C 0.6875 -5.613281 0.859375 -5.976562 1.078125 -6.25 C 1.296875 -6.519531 1.550781 -6.707031 1.84375 -6.8125 C 2.132812 -6.925781 2.453125 -6.984375 2.796875 -6.984375 C 3.128906 -6.984375 3.4375 -6.925781 3.71875 -6.8125 C 4.007812 -6.707031 4.257812 -6.519531 4.46875 -6.25 C 4.6875 -5.976562 4.859375 -5.613281 4.984375 -5.15625 C 5.109375 -4.707031 5.171875 -4.132812 5.171875 -3.4375 Z M 4.28125 -3.4375 C 4.28125 -3.988281 4.242188 -4.445312 4.171875 -4.8125 C 4.109375 -5.175781 4.015625 -5.460938 3.890625 -5.671875 C 3.765625 -5.890625 3.609375 -6.039062 3.421875 -6.125 C 3.242188 -6.21875 3.035156 -6.265625 2.796875 -6.265625 C 2.546875 -6.265625 2.328125 -6.21875 2.140625 -6.125 C 1.953125 -6.039062 1.789062 -5.890625 1.65625 -5.671875 C 1.53125 -5.453125 1.4375 -5.160156 1.375 -4.796875 C 1.3125 -4.441406 1.28125 -3.988281 1.28125 -3.4375 C 1.28125 -2.914062 1.3125 -2.472656 1.375 -2.109375 C 1.445312 -1.742188 1.546875 -1.453125 1.671875 -1.234375 C 1.796875 -1.015625 1.953125 -0.859375 2.140625 -0.765625 C 2.328125 -0.671875 2.539062 -0.625 2.78125 -0.625 C 3.007812 -0.625 3.21875 -0.671875 3.40625 -0.765625 C 3.59375 -0.859375 3.75 -1.015625 3.875 -1.234375 C 4 -1.453125 4.097656 -1.742188 4.171875 -2.109375 C 4.242188 -2.472656 4.28125 -2.914062 4.28125 -3.4375 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.90625 0 L 0.90625 -1.0625 L 1.859375 -1.0625 L 1.859375 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 5.140625 -2.234375 C 5.140625 -1.890625 5.085938 -1.570312 4.984375 -1.28125 C 4.878906 -1 4.722656 -0.753906 4.515625 -0.546875 C 4.316406 -0.347656 4.0625 -0.191406 3.75 -0.078125 C 3.445312 0.0351562 3.097656 0.09375 2.703125 0.09375 C 2.335938 0.09375 2.019531 0.0507812 1.75 -0.03125 C 1.488281 -0.113281 1.265625 -0.226562 1.078125 -0.375 C 0.890625 -0.519531 0.738281 -0.691406 0.625 -0.890625 C 0.519531 -1.097656 0.445312 -1.3125 0.40625 -1.53125 L 1.296875 -1.640625 C 1.328125 -1.515625 1.375 -1.390625 1.4375 -1.265625 C 1.5 -1.140625 1.585938 -1.03125 1.703125 -0.9375 C 1.816406 -0.84375 1.957031 -0.765625 2.125 -0.703125 C 2.289062 -0.648438 2.488281 -0.625 2.71875 -0.625 C 2.945312 -0.625 3.15625 -0.65625 3.34375 -0.71875 C 3.53125 -0.789062 3.6875 -0.894531 3.8125 -1.03125 C 3.945312 -1.164062 4.050781 -1.332031 4.125 -1.53125 C 4.195312 -1.738281 4.234375 -1.96875 4.234375 -2.21875 C 4.234375 -2.4375 4.195312 -2.632812 4.125 -2.8125 C 4.0625 -2.988281 3.960938 -3.140625 3.828125 -3.265625 C 3.703125 -3.390625 3.546875 -3.488281 3.359375 -3.5625 C 3.179688 -3.632812 2.972656 -3.671875 2.734375 -3.671875 C 2.585938 -3.671875 2.453125 -3.65625 2.328125 -3.625 C 2.210938 -3.601562 2.097656 -3.566406 1.984375 -3.515625 C 1.878906 -3.472656 1.785156 -3.421875 1.703125 -3.359375 C 1.617188 -3.304688 1.535156 -3.242188 1.453125 -3.171875 L 0.59375 -3.171875 L 0.828125 -6.875 L 4.734375 -6.875 L 4.734375 -6.140625 L 1.625 -6.140625 L 1.5 -3.953125 C 1.65625 -4.066406 1.847656 -4.164062 2.078125 -4.25 C 2.316406 -4.34375 2.597656 -4.390625 2.921875 -4.390625 C 3.265625 -4.390625 3.570312 -4.335938 3.84375 -4.234375 C 4.113281 -4.128906 4.34375 -3.976562 4.53125 -3.78125 C 4.726562 -3.59375 4.878906 -3.367188 4.984375 -3.109375 C 5.085938 -2.847656 5.140625 -2.554688 5.140625 -2.234375 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0.40625 1.421875 L 0.40625 -5.640625 L 4.40625 -5.640625 L 4.40625 1.421875 Z M 0.84375 0.96875 L 3.953125 0.96875 L 3.953125 -5.1875 L 0.84375 -5.1875 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 0.515625 -0.671875 L 1.8125 -0.671875 L 2.6875 -5.15625 L 1.21875 -4.875 L 1.359375 -5.546875 L 2.8125 -5.828125 L 3.609375 -5.828125 L 2.59375 -0.671875 L 3.875 -0.671875 L 3.75 0 L 0.390625 0 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 3.6875 -2.8125 L 1.171875 -0.65625 L 3.953125 -0.65625 L 3.8125 0 L 0.03125 0 L 0.15625 -0.671875 L 2.796875 -2.921875 C 3.148438 -3.222656 3.398438 -3.488281 3.546875 -3.71875 C 3.691406 -3.957031 3.765625 -4.195312 3.765625 -4.4375 C 3.765625 -4.6875 3.675781 -4.890625 3.5 -5.046875 C 3.320312 -5.210938 3.085938 -5.296875 2.796875 -5.296875 C 2.554688 -5.296875 2.285156 -5.25 1.984375 -5.15625 C 1.679688 -5.070312 1.359375 -4.941406 1.015625 -4.765625 L 1.15625 -5.546875 C 1.476562 -5.679688 1.785156 -5.78125 2.078125 -5.84375 C 2.367188 -5.90625 2.640625 -5.9375 2.890625 -5.9375 C 3.398438 -5.9375 3.8125 -5.800781 4.125 -5.53125 C 4.4375 -5.257812 4.59375 -4.90625 4.59375 -4.46875 C 4.59375 -4.164062 4.519531 -3.878906 4.375 -3.609375 C 4.226562 -3.347656 4 -3.082031 3.6875 -2.8125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 1.265625 -5.6875 C 1.554688 -5.769531 1.832031 -5.832031 2.09375 -5.875 C 2.363281 -5.914062 2.628906 -5.9375 2.890625 -5.9375 C 3.410156 -5.9375 3.820312 -5.820312 4.125 -5.59375 C 4.425781 -5.363281 4.578125 -5.054688 4.578125 -4.671875 C 4.578125 -4.296875 4.457031 -3.972656 4.21875 -3.703125 C 3.976562 -3.429688 3.648438 -3.242188 3.234375 -3.140625 C 3.554688 -3.046875 3.796875 -2.898438 3.953125 -2.703125 C 4.109375 -2.503906 4.1875 -2.242188 4.1875 -1.921875 C 4.1875 -1.609375 4.109375 -1.316406 3.953125 -1.046875 C 3.804688 -0.773438 3.59375 -0.539062 3.3125 -0.34375 C 3.101562 -0.1875 2.847656 -0.0703125 2.546875 0 C 2.253906 0.0703125 1.910156 0.109375 1.515625 0.109375 C 1.273438 0.109375 1.03125 0.0820312 0.78125 0.03125 C 0.53125 -0.0078125 0.273438 -0.078125 0.015625 -0.171875 L 0.15625 -0.921875 C 0.40625 -0.785156 0.65625 -0.679688 0.90625 -0.609375 C 1.15625 -0.546875 1.410156 -0.515625 1.671875 -0.515625 C 2.179688 -0.515625 2.59375 -0.644531 2.90625 -0.90625 C 3.226562 -1.175781 3.390625 -1.523438 3.390625 -1.953125 C 3.390625 -2.222656 3.285156 -2.429688 3.078125 -2.578125 C 2.878906 -2.722656 2.59375 -2.796875 2.21875 -2.796875 L 1.53125 -2.796875 L 1.65625 -3.4375 L 2.375 -3.4375 C 2.8125 -3.4375 3.148438 -3.535156 3.390625 -3.734375 C 3.640625 -3.929688 3.765625 -4.195312 3.765625 -4.53125 C 3.765625 -4.78125 3.671875 -4.972656 3.484375 -5.109375 C 3.304688 -5.242188 3.054688 -5.3125 2.734375 -5.3125 C 2.484375 -5.3125 2.222656 -5.28125 1.953125 -5.21875 C 1.691406 -5.164062 1.421875 -5.085938 1.140625 -4.984375 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 3.4375 -5.828125 L 4.4375 -5.828125 L 3.6875 -2.03125 L 4.515625 -2.03125 L 4.390625 -1.375 L 3.5625 -1.375 L 3.296875 0 L 2.515625 0 L 2.78125 -1.375 L 0.140625 -1.375 L 0.296875 -2.140625 Z M 3.515625 -5.140625 L 0.90625 -2.03125 L 2.90625 -2.03125 Z "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M 4.65625 -5.828125 L 4.53125 -5.171875 L 2.109375 -5.171875 L 1.828125 -3.734375 C 1.953125 -3.773438 2.078125 -3.800781 2.203125 -3.8125 C 2.328125 -3.832031 2.453125 -3.84375 2.578125 -3.84375 C 3.117188 -3.84375 3.546875 -3.695312 3.859375 -3.40625 C 4.171875 -3.125 4.328125 -2.734375 4.328125 -2.234375 C 4.328125 -1.890625 4.242188 -1.554688 4.078125 -1.234375 C 3.921875 -0.921875 3.695312 -0.644531 3.40625 -0.40625 C 3.195312 -0.238281 2.941406 -0.109375 2.640625 -0.015625 C 2.335938 0.0664062 2.007812 0.109375 1.65625 0.109375 C 1.414062 0.109375 1.171875 0.0859375 0.921875 0.046875 C 0.679688 0.00390625 0.425781 -0.0546875 0.15625 -0.140625 L 0.3125 -0.875 C 0.550781 -0.757812 0.789062 -0.671875 1.03125 -0.609375 C 1.269531 -0.546875 1.507812 -0.515625 1.75 -0.515625 C 2.257812 -0.515625 2.679688 -0.664062 3.015625 -0.96875 C 3.347656 -1.28125 3.515625 -1.664062 3.515625 -2.125 C 3.515625 -2.457031 3.40625 -2.71875 3.1875 -2.90625 C 2.96875 -3.09375 2.664062 -3.1875 2.28125 -3.1875 C 2.070312 -3.1875 1.851562 -3.160156 1.625 -3.109375 C 1.40625 -3.066406 1.179688 -3 0.953125 -2.90625 L 1.515625 -5.828125 Z "/>
+</symbol>
+</g>
+<clipPath id="clip1">
+ <path d="M 11 39 L 359 39 L 359 417 L 11 417 Z "/>
+</clipPath>
+<clipPath id="clip2">
+ <path d="M 11 168 L 359 168 L 359 409 L 11 409 Z "/>
+</clipPath>
+<clipPath id="clip3">
+ <path d="M 11 246 L 359 246 L 359 404 L 11 404 Z "/>
+</clipPath>
+<clipPath id="clip4">
+ <path d="M 11 15 L 359 15 L 359 417 L 11 417 Z "/>
+</clipPath>
+<clipPath id="clip5">
+ <path d="M 11 273 L 359 273 L 359 400 L 11 400 Z "/>
+</clipPath>
+<clipPath id="clip6">
+ <path d="M 374 159 L 414 159 L 414 162 L 374 162 Z "/>
+</clipPath>
+<clipPath id="clip7">
+ <path d="M 374 187 L 414 187 L 414 190 L 374 190 Z "/>
+</clipPath>
+<clipPath id="clip8">
+ <path d="M 374 215 L 414 215 L 414 218 L 374 218 Z "/>
+</clipPath>
+<clipPath id="clip9">
+ <path d="M 374 243 L 414 243 L 414 246 L 374 246 Z "/>
+</clipPath>
+<clipPath id="clip10">
+ <path d="M 374 271 L 414 271 L 414 274 L 374 274 Z "/>
+</clipPath>
+</defs>
+<g id="surface46">
+<g clip-path="url(#clip1)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(36.84082%,50.67749%,70.979309%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 48.800781 L 18.101562 49.449219 L 18.203125 50.09375 L 18.410156 51.386719 L 18.820312 53.953125 L 19.636719 59.03125 L 21.273438 68.96875 L 24.546875 87.992188 L 31.644531 125.621094 L 38.273438 156.707031 L 44.769531 183.824219 L 51.816406 209.902344 L 58.394531 231.464844 L 65.523438 252.15625 L 72.523438 270.078125 L 79.050781 284.90625 L 86.128906 299.167969 L 92.738281 310.960938 L 99.21875 321.261719 L 106.246094 331.1875 L 112.804688 339.40625 L 119.914062 347.308594 L 126.894531 354.167969 L 133.402344 359.851562 L 140.464844 365.328125 L 147.054688 369.871094 L 154.195312 374.238281 L 161.203125 378.035156 L 167.742188 381.1875 L 174.835938 384.226562 L 181.453125 386.75 L 187.945312 388.964844 L 194.984375 391.105469 L 201.554688 392.886719 L 208.679688 394.605469 L 215.667969 396.109375 L 222.191406 397.363281 L 229.261719 398.574219 L 235.863281 399.589844 L 242.335938 400.480469 L 249.355469 401.351562 L 255.90625 402.078125 L 263.011719 402.785156 L 269.640625 403.378906 L 276.144531 403.90625 L 283.195312 404.417969 L 289.777344 404.847656 L 296.914062 405.269531 L 303.914062 405.644531 L 310.449219 405.957031 L 317.53125 406.265625 L 324.144531 406.527344 L 330.628906 406.761719 L 337.660156 406.992188 L 344.222656 407.191406 L 344.339844 407.195312 L 344.453125 407.199219 L 344.683594 407.203125 L 345.140625 407.21875 L 346.054688 407.242188 L 347.886719 407.292969 L 348.003906 407.296875 L 348.117188 407.300781 L 348.34375 407.304688 L 348.804688 407.316406 L 349.71875 407.34375 L 349.832031 407.34375 L 349.949219 407.347656 L 350.175781 407.355469 L 350.636719 407.367188 L 350.75 407.371094 L 350.863281 407.371094 L 351.09375 407.378906 L 351.320312 407.386719 L 351.4375 407.386719 L 351.550781 407.390625 "/>
+</g>
+<g clip-path="url(#clip2)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(88.070679%,61.103821%,14.204407%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 177.800781 L 18.203125 178.464844 L 18.410156 179.125 L 18.820312 180.441406 L 19.636719 183.046875 L 21.273438 188.15625 L 24.546875 197.976562 L 31.644531 217.574219 L 38.273438 233.960938 L 44.769531 248.4375 L 51.816406 262.554688 L 58.394531 274.402344 L 65.523438 285.949219 L 72.523438 296.132812 L 79.050781 304.707031 L 86.128906 313.109375 L 92.738281 320.199219 L 99.21875 326.523438 L 106.246094 332.753906 L 112.804688 338.035156 L 119.914062 343.238281 L 126.894531 347.882812 L 133.402344 351.835938 L 140.464844 355.757812 L 147.054688 359.109375 L 154.195312 362.4375 L 161.203125 365.425781 L 167.742188 367.996094 L 174.835938 370.5625 L 181.453125 372.773438 L 187.945312 374.78125 L 194.984375 376.804688 L 201.554688 378.554688 L 208.679688 380.3125 L 215.667969 381.917969 L 222.191406 383.316406 L 229.261719 384.730469 L 235.863281 385.964844 L 242.335938 387.101562 L 249.355469 388.257812 L 255.90625 389.269531 L 263.011719 390.300781 L 269.640625 391.207031 L 276.144531 392.046875 L 283.195312 392.90625 L 289.777344 393.664062 L 296.914062 394.4375 L 303.914062 395.15625 L 310.449219 395.792969 L 317.53125 396.445312 L 324.144531 397.027344 L 330.628906 397.566406 L 337.660156 398.121094 L 344.222656 398.617188 L 344.339844 398.625 L 344.453125 398.632812 L 344.683594 398.652344 L 345.140625 398.683594 L 346.054688 398.75 L 347.886719 398.882812 L 348.003906 398.890625 L 348.34375 398.914062 L 348.804688 398.949219 L 349.71875 399.011719 L 349.832031 399.019531 L 349.949219 399.027344 L 350.175781 399.046875 L 350.636719 399.078125 L 350.863281 399.09375 L 351.09375 399.109375 L 351.320312 399.125 L 351.4375 399.132812 L 351.550781 399.140625 "/>
+</g>
+<g clip-path="url(#clip3)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(56.016541%,69.155884%,19.488525%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 255.199219 L 18.101562 255.34375 L 18.203125 255.484375 L 18.410156 255.769531 L 18.820312 256.332031 L 19.636719 257.457031 L 21.273438 259.667969 L 24.546875 263.96875 L 31.644531 272.742188 L 38.273438 280.3125 L 44.769531 287.207031 L 51.816406 294.144531 L 58.394531 300.164062 L 65.523438 306.226562 L 72.523438 311.761719 L 79.050781 316.585938 L 86.128906 321.472656 L 92.738281 325.746094 L 99.21875 329.679688 L 106.246094 333.691406 L 112.804688 337.210938 L 119.914062 340.796875 L 126.894531 344.109375 L 133.402344 347.027344 L 140.464844 350.015625 L 147.054688 352.652344 L 154.195312 355.351562 L 161.203125 357.859375 L 167.742188 360.078125 L 174.835938 362.363281 L 181.453125 364.386719 L 187.945312 366.273438 L 194.984375 368.222656 L 201.554688 369.953125 L 208.679688 371.738281 L 215.667969 373.40625 L 222.191406 374.890625 L 229.261719 376.421875 L 235.863281 377.789062 L 242.335938 379.070312 L 249.355469 380.398438 L 255.90625 381.582031 L 263.011719 382.808594 L 269.640625 383.90625 L 276.144531 384.933594 L 283.195312 386 L 289.777344 386.953125 L 296.914062 387.941406 L 303.914062 388.867188 L 310.449219 389.695312 L 317.53125 390.554688 L 324.144531 391.324219 L 330.628906 392.046875 L 337.660156 392.800781 L 344.222656 393.472656 L 344.339844 393.484375 L 344.453125 393.496094 L 344.683594 393.519531 L 345.140625 393.5625 L 346.054688 393.65625 L 347.886719 393.835938 L 348.003906 393.847656 L 348.34375 393.882812 L 348.804688 393.925781 L 349.71875 394.015625 L 349.832031 394.027344 L 349.949219 394.039062 L 350.175781 394.058594 L 350.636719 394.105469 L 350.75 394.113281 L 350.863281 394.125 L 351.09375 394.148438 L 351.207031 394.160156 L 351.320312 394.167969 L 351.4375 394.179688 L 351.550781 394.191406 "/>
+</g>
+<g clip-path="url(#clip4)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(92.251587%,38.562012%,20.918274%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:3.25;" d="M 18 23 L 18.203125 24.421875 L 18.410156 25.839844 L 18.820312 28.65625 L 19.636719 34.226562 L 21.273438 45.128906 L 24.546875 65.996094 L 31.644531 107.230469 L 38.273438 141.257812 L 44.769531 170.902344 L 51.816406 199.371094 L 58.394531 222.875 L 65.523438 245.394531 L 72.523438 264.867188 L 79.050781 280.949219 L 86.128906 296.378906 L 92.738281 309.113281 L 99.21875 320.210938 L 106.246094 330.875 L 112.804688 339.679688 L 119.914062 348.121094 L 126.894531 355.421875 L 133.402344 361.453125 L 140.464844 367.242188 L 147.054688 372.023438 L 154.195312 376.601562 L 161.203125 380.558594 L 167.742188 383.824219 L 174.835938 386.960938 L 181.453125 389.546875 L 187.945312 391.800781 L 194.984375 393.964844 L 201.554688 395.753906 L 208.679688 397.464844 L 215.667969 398.945312 L 222.191406 400.171875 L 229.261719 401.34375 L 235.863281 402.3125 L 242.335938 403.160156 L 249.355469 403.96875 L 255.90625 404.640625 L 263.011719 405.285156 L 269.640625 405.8125 L 276.144531 406.277344 L 283.195312 406.71875 L 289.777344 407.085938 L 296.914062 407.4375 L 303.914062 407.738281 L 310.449219 407.992188 L 317.53125 408.230469 L 324.144531 408.429688 L 330.628906 408.601562 L 337.660156 408.769531 L 344.222656 408.90625 L 344.339844 408.90625 L 344.453125 408.910156 L 344.683594 408.914062 L 345.140625 408.921875 L 346.054688 408.941406 L 347.886719 408.976562 L 348.003906 408.976562 L 348.117188 408.980469 L 348.34375 408.984375 L 348.804688 408.992188 L 349.71875 409.007812 L 349.832031 409.011719 L 349.949219 409.011719 L 350.175781 409.015625 L 350.636719 409.023438 L 350.75 409.027344 L 350.863281 409.027344 L 351.09375 409.03125 L 351.207031 409.035156 L 351.320312 409.035156 L 351.4375 409.039062 L 351.550781 409.039062 "/>
+</g>
+<g clip-path="url(#clip5)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(52.84729%,47.061157%,70.133972%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:3.25;" d="M 18 281 L 18.203125 281.15625 L 18.410156 281.316406 L 18.820312 281.632812 L 19.636719 282.261719 L 21.273438 283.507812 L 24.546875 285.964844 L 31.644531 291.132812 L 38.273438 295.765625 L 44.769531 300.128906 L 51.816406 304.675781 L 58.394531 308.75 L 65.523438 312.988281 L 72.523438 316.972656 L 79.050781 320.542969 L 86.128906 324.261719 L 92.738281 327.59375 L 99.21875 330.734375 L 106.246094 334.003906 L 112.804688 336.933594 L 119.914062 339.984375 L 126.894531 342.855469 L 133.402344 345.425781 L 140.464844 348.101562 L 147.054688 350.5 L 154.195312 352.992188 L 161.203125 355.339844 L 167.742188 357.441406 L 174.835938 359.628906 L 181.453125 361.589844 L 187.945312 363.4375 L 194.984375 365.363281 L 201.554688 367.085938 L 208.679688 368.878906 L 215.667969 370.566406 L 222.191406 372.082031 L 229.261719 373.65625 L 235.863281 375.066406 L 242.335938 376.394531 L 249.355469 377.78125 L 255.90625 379.019531 L 263.011719 380.3125 L 269.640625 381.46875 L 276.144531 382.5625 L 283.195312 383.699219 L 289.777344 384.714844 L 296.914062 385.773438 L 303.914062 386.769531 L 310.449219 387.664062 L 317.53125 388.589844 L 324.144531 389.421875 L 330.628906 390.207031 L 337.660156 391.027344 L 344.222656 391.757812 L 344.339844 391.769531 L 344.453125 391.78125 L 344.683594 391.808594 L 345.140625 391.859375 L 346.054688 391.957031 L 347.886719 392.152344 L 348.003906 392.167969 L 348.34375 392.203125 L 348.804688 392.25 L 349.71875 392.347656 L 349.832031 392.359375 L 349.949219 392.375 L 350.175781 392.398438 L 350.636719 392.445312 L 350.863281 392.46875 L 351.09375 392.492188 L 351.207031 392.503906 L 351.320312 392.519531 L 351.4375 392.53125 L 351.550781 392.542969 "/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 410 L 18 406 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 34.675781 410 L 34.675781 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 51.355469 410 L 51.355469 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 68.03125 410 L 68.03125 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 84.710938 410 L 84.710938 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 101.386719 410 L 101.386719 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="98.387757" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 118.066406 410 L 118.066406 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 134.742188 410 L 134.742188 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 151.421875 410 L 151.421875 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 168.097656 410 L 168.097656 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 184.777344 410 L 184.777344 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-2" x="181.775514" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 201.453125 410 L 201.453125 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 218.128906 410 L 218.128906 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 234.808594 410 L 234.808594 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 251.484375 410 L 251.484375 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 268.164062 410 L 268.164062 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-3" x="265.16327" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 284.839844 410 L 284.839844 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 301.519531 410 L 301.519531 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 318.195312 410 L 318.195312 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 334.875 410 L 334.875 407.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 351.550781 410 L 351.550781 406 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-4" x="347.801027" y="424"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 11.050781 410 L 358.5 410 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 410 L 22 410 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 384.199219 L 20.398438 384.199219 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 358.398438 L 20.398438 358.398438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 332.601562 L 20.398438 332.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 306.800781 L 20.398438 306.800781 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 281 L 22 281 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-5" x="0.000000000000003553" y="284.999984"/>
+ <use xlink:href="#glyph0-6" x="6" y="284.999984"/>
+ <use xlink:href="#glyph0-7" x="9" y="284.999984"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 255.199219 L 20.398438 255.199219 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 229.398438 L 20.398438 229.398438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 203.601562 L 20.398438 203.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 177.800781 L 20.398438 177.800781 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 152 L 22 152 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="0.000000000000003553" y="155.999968"/>
+ <use xlink:href="#glyph0-6" x="6" y="155.999968"/>
+ <use xlink:href="#glyph0-5" x="9" y="155.999968"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 126.199219 L 20.398438 126.199219 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 100.398438 L 20.398438 100.398438 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 74.601562 L 20.398438 74.601562 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 48.800781 L 20.398438 48.800781 "/>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 23 L 22 23 "/>
+<g style="fill:rgb(39.99939%,39.99939%,39.99939%);fill-opacity:1;">
+ <use xlink:href="#glyph0-1" x="0.000000000000003553" y="26.999953"/>
+ <use xlink:href="#glyph0-6" x="6" y="26.999953"/>
+ <use xlink:href="#glyph0-7" x="9" y="26.999953"/>
+</g>
+<path style="fill:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(39.99939%,39.99939%,39.99939%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 18 431.5 L 18 1.5 "/>
+<g clip-path="url(#clip6)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(36.84082%,50.67749%,70.979309%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 375 160.5 L 412 160.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 170 L 432 170 L 432 152 L 421 152 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-1" x="424" y="165"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 152 L 432 152 L 432 170 L 421 170 L 421 169 L 431 169 L 431 153 L 422 153 L 422 169 L 421 169 Z "/>
+<g clip-path="url(#clip7)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(88.070679%,61.103821%,14.204407%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 375 188.5 L 412 188.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 198 L 433 198 L 433 180 L 421 180 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-2" x="423.75" y="193"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 180 L 433 180 L 433 198 L 421 198 L 421 197 L 432 197 L 432 181 L 422 181 L 422 197 L 421 197 Z "/>
+<g clip-path="url(#clip8)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(56.016541%,69.155884%,19.488525%);stroke-opacity:1;stroke-miterlimit:3.25;" d="M 375 216.5 L 412 216.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 226 L 433 226 L 433 208 L 421 208 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-3" x="423.75" y="221"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 208 L 433 208 L 433 226 L 421 226 L 421 225 L 432 225 L 432 209 L 422 209 L 422 225 L 421 225 Z "/>
+<g clip-path="url(#clip9)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(92.251587%,38.562012%,20.918274%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:3.25;" d="M 374.800781 244.5 L 412.199219 244.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 254 L 433 254 L 433 236 L 421 236 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-4" x="423.75" y="249"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 236 L 433 236 L 433 254 L 421 254 L 421 253 L 432 253 L 432 237 L 422 237 L 422 253 L 421 253 Z "/>
+<g clip-path="url(#clip10)" clip-rule="nonzero">
+<path style="fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(52.84729%,47.061157%,70.133972%);stroke-opacity:1;stroke-dasharray:4,4;stroke-miterlimit:3.25;" d="M 374.800781 272.5 L 412.199219 272.5 "/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(99.998474%,97.247314%,79.766846%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(99.998474%,97.247314%,79.766846%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 282 L 433 282 L 433 264 L 421 264 Z "/>
+<g style="fill:rgb(49.320984%,49.320984%,49.320984%);fill-opacity:1;">
+ <use xlink:href="#glyph1-5" x="423.75" y="277"/>
+</g>
+<path style="fill-rule:nonzero;fill:rgb(79.18396%,79.18396%,79.18396%);fill-opacity:1;stroke-width:0.03;stroke-linecap:square;stroke-linejoin:miter;stroke:rgb(79.18396%,79.18396%,79.18396%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421 264 L 433 264 L 433 282 L 421 282 L 421 281 L 432 281 L 432 265 L 422 265 L 422 281 L 421 281 Z "/>
+</g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_1.png b/libs/math/doc/graphs/hypergeometric_pdf_1.png
index ad8f3f83b9..ad8f3f83b9 100644
--- a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_1.png
+++ b/libs/math/doc/graphs/hypergeometric_pdf_1.png
Binary files differ
diff --git a/libs/math/doc/graphs/hypergeometric_pdf_1.svg b/libs/math/doc/graphs/hypergeometric_pdf_1.svg
new file mode 100644
index 0000000000..304127740e
--- /dev/null
+++ b/libs/math/doc/graphs/hypergeometric_pdf_1.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="410.3" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="412.3" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="99.25" y1="58" x2="99.25" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="504.9" y2="341"/><line x1="87.6" y1="341" x2="504.9" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,330.4 L92.6,330.4 M90.6,319.9 L92.6,319.9 M90.6,309.3 L92.6,309.3 M90.6,298.7 L92.6,298.7 M90.6,277.6 L92.6,277.6 M90.6,267 L92.6,267 M90.6,256.5 L92.6,256.5 M90.6,245.9 L92.6,245.9 M90.6,224.8 L92.6,224.8 M90.6,214.2 L92.6,214.2 M90.6,203.6 L92.6,203.6 M90.6,193.1 L92.6,193.1 M90.6,171.9 L92.6,171.9 M90.6,161.4 L92.6,161.4 M90.6,150.8 L92.6,150.8 M90.6,140.2 L92.6,140.2 M90.6,119.1 L92.6,119.1 M90.6,108.5 L92.6,108.5 M90.6,97.97 L92.6,97.97 M90.6,87.4 L92.6,87.4 M90.6,66.27 L92.6,66.27 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,288.2 L92.6,288.2 M87.6,235.3 L92.6,235.3 M87.6,182.5 L92.6,182.5 M87.6,129.7 L92.6,129.7 M87.6,76.84 L92.6,76.84 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M99.25,341 L99.25,346 M165.7,341 L165.7,346 M232.2,341 L232.2,346 M298.7,341 L298.7,346 M365.2,341 L365.2,346 M431.7,341 L431.7,346 M498.2,341 L498.2,346 M99.25,341 L99.25,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="99.25" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="165.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="232.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="298.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="365.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="431.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">25</text>
+<text x="498.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
+<text x="99.25" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="290.6" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="237.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="184.9" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
+<text x="81.6" y="132.1" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="81.6" y="79.24" text-anchor="end" font-size="12" font-family="Verdana">0.25</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="298.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M94.26,341 L94.26,341 L94.26,300.5 L96.26,300.5 L96.26,341 L107.6,341 L107.6,196.7 L109.6,196.7 L109.6,341 L120.9,341 L120.9,98.08 L122.9,98.08 L122.9,341 L134.2,341 L134.2,83.73 L136.2,83.73 L136.2,341 L147.5,341 L147.5,148.5 L149.5,148.5 L149.5,341 L160.8,341 L160.8,232.7 L162.8,232.7 L162.8,341 L174.1,341 L174.1,293.3 L176.1,293.3 L176.1,341 L187.4,341 L187.4,324.2 L189.4,324.2 L189.4,341 L200.7,341 L200.7,336.1 L202.7,336.1 L202.7,341 L214,341 L214,339.8 L216,339.8 L216,341 L227.3,341 L227.3,340.8 L229.3,340.8 L229.3,341 L240.6,341 L240.6,341 L242.6,341 L242.6,341 L253.9,341 L253.9,341 L255.8,341 L255.8,341 L267.2,341 L267.2,341 L269.1,341 L269.1,341 L280.5,341 L280.5,341 L282.4,341 L282.4,341 L293.8,341 L293.8,341 L295.7,341 L295.7,341 L307.1,341 L307.1,341 L309,341 L309,341 L320.4,341 L320.4,341 L322.3,341 L322.3,341 L333.7,341 L333.7,341 L335.6,341 L335.6,341 L347,341 L347,341 L348.9,341 L348.9,341 L360.2,341 L360.2,341 L362.2,341 L362.2,341 L373.5,341 L373.5,341 L375.5,341 L375.5,341 L386.8,341 L386.8,341 L388.8,341 L388.8,341 L400.1,341 L400.1,341 L402.1,341 L402.1,341 L413.4,341 L413.4,341 L415.4,341 L415.4,341 L426.7,341 L426.7,341 L428.7,341 L428.7,341 L440,341 L440,341 L442,341 L442,341 L453.3,341 L453.3,341 L455.3,341 L455.3,341 L466.6,341 L466.6,341 L468.6,341 L468.6,341 L479.9,341 L479.9,341 L481.9,341 L481.9,341 L493.2,341 L493.2,341 L495.2,341 L495.2,341 L495.2,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M96.26,341 L96.26,341 L96.26,340 L98.25,340 L98.25,341 L109.6,341 L109.6,332.6 L111.6,332.6 L111.6,341 L122.9,341 L122.9,308.5 L124.9,308.5 L124.9,341 L136.2,341 L136.2,261.3 L138.2,261.3 L138.2,341 L149.5,341 L149.5,201.4 L151.4,201.4 L151.4,341 L162.8,341 L162.8,155.2 L164.7,155.2 L164.7,341 L176.1,341 L176.1,145.4 L178,145.4 L178,341 L189.4,341 L189.4,173.8 L191.3,173.8 L191.3,341 L202.7,341 L202.7,222.7 L204.6,222.7 L204.6,341 L216,341 L216,270.8 L217.9,270.8 L217.9,341 L229.3,341 L229.3,305.7 L231.2,305.7 L231.2,341 L242.6,341 L242.6,325.8 L244.5,325.8 L244.5,341 L255.8,341 L255.8,335.4 L257.8,335.4 L257.8,341 L269.1,341 L269.1,339.2 L271.1,339.2 L271.1,341 L282.4,341 L282.4,340.5 L284.4,340.5 L284.4,341 L295.7,341 L295.7,340.9 L297.7,340.9 L297.7,341 L309,341 L309,341 L311,341 L311,341 L322.3,341 L322.3,341 L324.3,341 L324.3,341 L335.6,341 L335.6,341 L337.6,341 L337.6,341 L348.9,341 L348.9,341 L350.9,341 L350.9,341 L362.2,341 L362.2,341 L364.2,341 L364.2,341 L375.5,341 L375.5,341 L377.5,341 L377.5,341 L388.8,341 L388.8,341 L390.8,341 L390.8,341 L402.1,341 L402.1,341 L404.1,341 L404.1,341 L415.4,341 L415.4,341 L417.4,341 L417.4,341 L428.7,341 L428.7,341 L430.7,341 L430.7,341 L442,341 L442,341 L444,341 L444,341 L455.3,341 L455.3,341 L457.3,341 L457.3,341 L468.6,341 L468.6,341 L470.6,341 L470.6,341 L481.9,341 L481.9,341 L483.9,341 L483.9,341 L495.2,341 L495.2,341 L497.2,341 L497.2,341 L497.2,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M98.25,341 L98.25,341 L98.25,341 L100.2,341 L100.2,341 L111.6,341 L111.6,341 L113.5,341 L113.5,341 L124.9,341 L124.9,341 L126.8,341 L126.8,341 L138.2,341 L138.2,341 L140.1,341 L140.1,341 L151.4,341 L151.4,341 L153.4,341 L153.4,341 L164.7,341 L164.7,340.9 L166.7,340.9 L166.7,341 L178,341 L178,340.6 L180,340.6 L180,341 L191.3,341 L191.3,339.4 L193.3,339.4 L193.3,341 L204.6,341 L204.6,336.2 L206.6,336.2 L206.6,341 L217.9,341 L217.9,328.5 L219.9,328.5 L219.9,341 L231.2,341 L231.2,313.6 L233.2,313.6 L233.2,341 L244.5,341 L244.5,289.2 L246.5,289.2 L246.5,341 L257.8,341 L257.8,256.5 L259.8,256.5 L259.8,341 L271.1,341 L271.1,221.5 L273.1,221.5 L273.1,341 L284.4,341 L284.4,194 L286.4,194 L286.4,341 L297.7,341 L297.7,183.6 L299.7,183.6 L299.7,341 L311,341 L311,194 L313,194 L313,341 L324.3,341 L324.3,221.5 L326.3,221.5 L326.3,341 L337.6,341 L337.6,256.5 L339.6,256.5 L339.6,341 L350.9,341 L350.9,289.2 L352.9,289.2 L352.9,341 L364.2,341 L364.2,313.6 L366.2,313.6 L366.2,341 L377.5,341 L377.5,328.5 L379.5,328.5 L379.5,341 L390.8,341 L390.8,336.2 L392.8,336.2 L392.8,341 L404.1,341 L404.1,339.4 L406.1,339.4 L406.1,341 L417.4,341 L417.4,340.6 L419.4,340.6 L419.4,341 L430.7,341 L430.7,340.9 L432.7,340.9 L432.7,341 L444,341 L444,341 L446,341 L446,341 L457.3,341 L457.3,341 L459.3,341 L459.3,341 L470.6,341 L470.6,341 L472.6,341 L472.6,341 L483.9,341 L483.9,341 L485.9,341 L485.9,341 L497.2,341 L497.2,341 L499.2,341 L499.2,341 L499.2,341 Z" fill="rgb(0,100,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" fill="rgb(255,140,0)" stroke-width="1"><path d="M100.2,341 L100.2,341 L100.2,341 L102.2,341 L102.2,341 L113.5,341 L113.5,341 L115.5,341 L115.5,341 L126.8,341 L126.8,341 L128.8,341 L128.8,341 L140.1,341 L140.1,341 L142.1,341 L142.1,341 L153.4,341 L153.4,341 L155.4,341 L155.4,341 L166.7,341 L166.7,341 L168.7,341 L168.7,341 L180,341 L180,341 L182,341 L182,341 L193.3,341 L193.3,341 L195.3,341 L195.3,341 L206.6,341 L206.6,341 L208.6,341 L208.6,341 L219.9,341 L219.9,341 L221.9,341 L221.9,341 L233.2,341 L233.2,341 L235.2,341 L235.2,341 L246.5,341 L246.5,341 L248.5,341 L248.5,341 L259.8,341 L259.8,341 L261.8,341 L261.8,341 L273.1,341 L273.1,341 L275.1,341 L275.1,341 L286.4,341 L286.4,341 L288.4,341 L288.4,341 L299.7,341 L299.7,340.9 L301.7,340.9 L301.7,341 L313,341 L313,340.5 L315,340.5 L315,341 L326.3,341 L326.3,339.2 L328.3,339.2 L328.3,341 L339.6,341 L339.6,335.4 L341.6,335.4 L341.6,341 L352.9,341 L352.9,325.8 L354.9,325.8 L354.9,341 L366.2,341 L366.2,305.7 L368.2,305.7 L368.2,341 L379.5,341 L379.5,270.8 L381.5,270.8 L381.5,341 L392.8,341 L392.8,222.7 L394.8,222.7 L394.8,341 L406.1,341 L406.1,173.8 L408.1,173.8 L408.1,341 L419.4,341 L419.4,145.4 L421.4,145.4 L421.4,341 L432.7,341 L432.7,155.2 L434.7,155.2 L434.7,341 L446,341 L446,201.4 L448,201.4 L448,341 L459.3,341 L459.3,261.3 L461.3,261.3 L461.3,341 L472.6,341 L472.6,308.5 L474.6,308.5 L474.6,341 L485.9,341 L485.9,332.6 L487.9,332.6 L487.9,341 L499.2,341 L499.2,340 L501.2,340 L501.2,341 L501.2,341 Z" fill="rgb(255,140,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" fill="rgb(127,255,0)" stroke-width="1"><path d="M102.2,341 L102.2,341 L102.2,341 L104.2,341 L104.2,341 L115.5,341 L115.5,341 L117.5,341 L117.5,341 L128.8,341 L128.8,341 L130.8,341 L130.8,341 L142.1,341 L142.1,341 L144.1,341 L144.1,341 L155.4,341 L155.4,341 L157.4,341 L157.4,341 L168.7,341 L168.7,341 L170.7,341 L170.7,341 L182,341 L182,341 L184,341 L184,341 L195.3,341 L195.3,341 L197.3,341 L197.3,341 L208.6,341 L208.6,341 L210.6,341 L210.6,341 L221.9,341 L221.9,341 L223.9,341 L223.9,341 L235.2,341 L235.2,341 L237.2,341 L237.2,341 L248.5,341 L248.5,341 L250.5,341 L250.5,341 L261.8,341 L261.8,341 L263.8,341 L263.8,341 L275.1,341 L275.1,341 L277.1,341 L277.1,341 L288.4,341 L288.4,341 L290.4,341 L290.4,341 L301.7,341 L301.7,341 L303.7,341 L303.7,341 L315,341 L315,341 L317,341 L317,341 L328.3,341 L328.3,341 L330.3,341 L330.3,341 L341.6,341 L341.6,341 L343.6,341 L343.6,341 L354.9,341 L354.9,341 L356.9,341 L356.9,341 L368.2,341 L368.2,340.8 L370.2,340.8 L370.2,341 L381.5,341 L381.5,339.8 L383.5,339.8 L383.5,341 L394.8,341 L394.8,336.1 L396.8,336.1 L396.8,341 L408.1,341 L408.1,324.2 L410.1,324.2 L410.1,341 L421.4,341 L421.4,293.3 L423.4,293.3 L423.4,341 L434.7,341 L434.7,232.7 L436.7,232.7 L436.7,341 L448,341 L448,148.5 L450,148.5 L450,341 L461.3,341 L461.3,83.73 L463.3,83.73 L463.3,341 L474.6,341 L474.6,98.08 L476.6,98.08 L476.6,341 L487.9,341 L487.9,196.7 L489.9,196.7 L489.9,341 L501.2,341 L501.2,300.5 L503.2,300.5 L503.2,341 L503.2,341 Z" fill="rgb(127,255,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="518.9" y="58" width="205.1" height="165"/><rect x="518.9" y="58" width="205.1" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="88" x2="548.9" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="118" x2="548.9" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="148" x2="548.9" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="178" x2="548.9" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="208" x2="548.9" y2="208"/></g>
+</g>
+<g id="legendText">
+<text x="556.4" y="88" font-size="15" font-family="Verdana">N=500, r=50, n=30</text>
+<text x="556.4" y="118" font-size="15" font-family="Verdana">N=500, r=100, n=30</text>
+<text x="556.4" y="148" font-size="15" font-family="Verdana">N=500, r=250, n=30</text>
+<text x="556.4" y="178" font-size="15" font-family="Verdana">N=500, r=400, n=30</text>
+<text x="556.4" y="208" font-size="15" font-family="Verdana">N=500, r=450, n=30</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Hypergeometric Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_2.png b/libs/math/doc/graphs/hypergeometric_pdf_2.png
index 8c7019db3d..8c7019db3d 100644
--- a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_2.png
+++ b/libs/math/doc/graphs/hypergeometric_pdf_2.png
Binary files differ
diff --git a/libs/math/doc/graphs/hypergeometric_pdf_2.svg b/libs/math/doc/graphs/hypergeometric_pdf_2.svg
new file mode 100644
index 0000000000..465f4db10c
--- /dev/null
+++ b/libs/math/doc/graphs/hypergeometric_pdf_2.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="410.3" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="412.3" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="96.64" y1="58" x2="96.64" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="504.9" y2="341"/><line x1="87.6" y1="341" x2="504.9" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,327.8 L92.6,327.8 M90.6,314.6 L92.6,314.6 M90.6,301.4 L92.6,301.4 M90.6,288.2 L92.6,288.2 M90.6,261.8 L92.6,261.8 M90.6,248.6 L92.6,248.6 M90.6,235.4 L92.6,235.4 M90.6,222.2 L92.6,222.2 M90.6,195.8 L92.6,195.8 M90.6,182.6 L92.6,182.6 M90.6,169.4 L92.6,169.4 M90.6,156.2 L92.6,156.2 M90.6,129.8 L92.6,129.8 M90.6,116.6 L92.6,116.6 M90.6,103.4 L92.6,103.4 M90.6,90.18 L92.6,90.18 M90.6,63.78 L92.6,63.78 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,275 L92.6,275 M87.6,209 L92.6,209 M87.6,143 L92.6,143 M87.6,76.98 L92.6,76.98 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M96.64,341 L96.64,346 M177.5,341 L177.5,346 M258.3,341 L258.3,346 M339.2,341 L339.2,346 M420,341 L420,346 M500.8,341 L500.8,346 M96.64,341 L96.64,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="96.64" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="177.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="258.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="339.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
+<text x="420" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">40</text>
+<text x="500.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
+<text x="96.64" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="277.4" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="211.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="145.4" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
+<text x="81.6" y="79.38" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="298.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.61,341 L93.61,341 L93.61,335.9 L94.82,335.9 L94.82,341 L101.7,341 L101.7,309.4 L102.9,309.4 L102.9,341 L109.8,341 L109.8,246.5 L111,246.5 L111,341 L117.9,341 L117.9,160.9 L119.1,160.9 L119.1,341 L125.9,341 L125.9,94.79 L127.2,94.79 L127.2,341 L134,341 L134,83.73 L135.2,83.73 L135.2,341 L142.1,341 L142.1,127.1 L143.3,127.1 L143.3,341 L150.2,341 L150.2,195.7 L151.4,195.7 L151.4,341 L158.3,341 L158.3,258.7 L159.5,258.7 L159.5,341 L166.4,341 L166.4,301.5 L167.6,301.5 L167.6,341 L174.4,341 L174.4,324.8 L175.7,324.8 L175.7,341 L182.5,341 L182.5,335.3 L183.7,335.3 L183.7,341 L190.6,341 L190.6,339.2 L191.8,339.2 L191.8,341 L198.7,341 L198.7,340.5 L199.9,340.5 L199.9,341 L206.8,341 L206.8,340.9 L208,340.9 L208,341 L214.9,341 L214.9,341 L216.1,341 L216.1,341 L223,341 L223,341 L224.2,341 L224.2,341 L231,341 L231,341 L232.2,341 L232.2,341 L239.1,341 L239.1,341 L240.3,341 L240.3,341 L247.2,341 L247.2,341 L248.4,341 L248.4,341 L255.3,341 L255.3,341 L256.5,341 L256.5,341 L263.4,341 L263.4,341 L264.6,341 L264.6,341 L271.5,341 L271.5,341 L272.7,341 L272.7,341 L279.5,341 L279.5,341 L280.8,341 L280.8,341 L287.6,341 L287.6,341 L288.8,341 L288.8,341 L295.7,341 L295.7,341 L296.9,341 L296.9,341 L303.8,341 L303.8,341 L305,341 L305,341 L311.9,341 L311.9,341 L313.1,341 L313.1,341 L320,341 L320,341 L321.2,341 L321.2,341 L328,341 L328,341 L329.3,341 L329.3,341 L336.1,341 L336.1,341 L337.3,341 L337.3,341 L344.2,341 L344.2,341 L345.4,341 L345.4,341 L352.3,341 L352.3,341 L353.5,341 L353.5,341 L360.4,341 L360.4,341 L361.6,341 L361.6,341 L368.5,341 L368.5,341 L369.7,341 L369.7,341 L376.5,341 L376.5,341 L377.8,341 L377.8,341 L384.6,341 L384.6,341 L385.8,341 L385.8,341 L392.7,341 L392.7,341 L393.9,341 L393.9,341 L400.8,341 L400.8,341 L402,341 L402,341 L408.9,341 L408.9,341 L410.1,341 L410.1,341 L417,341 L417,341 L418.2,341 L418.2,341 L425.1,341 L425.1,341 L426.3,341 L426.3,341 L433.1,341 L433.1,341 L434.3,341 L434.3,341 L441.2,341 L441.2,341 L442.4,341 L442.4,341 L449.3,341 L449.3,341 L450.5,341 L450.5,341 L457.4,341 L457.4,341 L458.6,341 L458.6,341 L465.5,341 L465.5,341 L466.7,341 L466.7,341 L473.6,341 L473.6,341 L474.8,341 L474.8,341 L481.6,341 L481.6,341 L482.9,341 L482.9,341 L489.7,341 L489.7,341 L490.9,341 L490.9,341 L497.8,341 L497.8,341 L499,341 L499,341 L499,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M94.82,341 L94.82,341 L94.82,341 L96.04,341 L96.04,341 L102.9,341 L102.9,340.9 L104.1,340.9 L104.1,341 L111,341 L111,340 L112.2,340 L112.2,341 L119.1,341 L119.1,336.8 L120.3,336.8 L120.3,341 L127.2,341 L127.2,327.4 L128.4,327.4 L128.4,341 L135.2,341 L135.2,307.1 L136.5,307.1 L136.5,341 L143.3,341 L143.3,273.1 L144.5,273.1 L144.5,341 L151.4,341 L151.4,228.6 L152.6,228.6 L152.6,341 L159.5,341 L159.5,184 L160.7,184 L160.7,341 L167.6,341 L167.6,153.3 L168.8,153.3 L168.8,341 L175.7,341 L175.7,146.5 L176.9,146.5 L176.9,341 L183.7,341 L183.7,164.6 L185,164.6 L185,341 L191.8,341 L191.8,200.1 L193,200.1 L193,341 L199.9,341 L199.9,241.1 L201.1,241.1 L201.1,341 L208,341 L208,277.9 L209.2,277.9 L209.2,341 L216.1,341 L216.1,305.3 L217.3,305.3 L217.3,341 L224.2,341 L224.2,322.9 L225.4,322.9 L225.4,341 L232.2,341 L232.2,332.7 L233.5,332.7 L233.5,341 L240.3,341 L240.3,337.6 L241.5,337.6 L241.5,341 L248.4,341 L248.4,339.7 L249.6,339.7 L249.6,341 L256.5,341 L256.5,340.6 L257.7,340.6 L257.7,341 L264.6,341 L264.6,340.9 L265.8,340.9 L265.8,341 L272.7,341 L272.7,341 L273.9,341 L273.9,341 L280.8,341 L280.8,341 L282,341 L282,341 L288.8,341 L288.8,341 L290,341 L290,341 L296.9,341 L296.9,341 L298.1,341 L298.1,341 L305,341 L305,341 L306.2,341 L306.2,341 L313.1,341 L313.1,341 L314.3,341 L314.3,341 L321.2,341 L321.2,341 L322.4,341 L322.4,341 L329.3,341 L329.3,341 L330.5,341 L330.5,341 L337.3,341 L337.3,341 L338.6,341 L338.6,341 L345.4,341 L345.4,341 L346.6,341 L346.6,341 L353.5,341 L353.5,341 L354.7,341 L354.7,341 L361.6,341 L361.6,341 L362.8,341 L362.8,341 L369.7,341 L369.7,341 L370.9,341 L370.9,341 L377.8,341 L377.8,341 L379,341 L379,341 L385.8,341 L385.8,341 L387.1,341 L387.1,341 L393.9,341 L393.9,341 L395.1,341 L395.1,341 L402,341 L402,341 L403.2,341 L403.2,341 L410.1,341 L410.1,341 L411.3,341 L411.3,341 L418.2,341 L418.2,341 L419.4,341 L419.4,341 L426.3,341 L426.3,341 L427.5,341 L427.5,341 L434.3,341 L434.3,341 L435.6,341 L435.6,341 L442.4,341 L442.4,341 L443.6,341 L443.6,341 L450.5,341 L450.5,341 L451.7,341 L451.7,341 L458.6,341 L458.6,341 L459.8,341 L459.8,341 L466.7,341 L466.7,341 L467.9,341 L467.9,341 L474.8,341 L474.8,341 L476,341 L476,341 L482.9,341 L482.9,341 L484.1,341 L484.1,341 L490.9,341 L490.9,341 L492.1,341 L492.1,341 L499,341 L499,341 L500.2,341 L500.2,341 L500.2,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M96.04,341 L96.04,341 L96.04,341 L97.25,341 L97.25,341 L104.1,341 L104.1,341 L105.3,341 L105.3,341 L112.2,341 L112.2,341 L113.4,341 L113.4,341 L120.3,341 L120.3,341 L121.5,341 L121.5,341 L128.4,341 L128.4,341 L129.6,341 L129.6,341 L136.5,341 L136.5,341 L137.7,341 L137.7,341 L144.5,341 L144.5,341 L145.8,341 L145.8,341 L152.6,341 L152.6,341 L153.8,341 L153.8,341 L160.7,341 L160.7,341 L161.9,341 L161.9,341 L168.8,341 L168.8,341 L170,341 L170,341 L176.9,341 L176.9,341 L178.1,341 L178.1,341 L185,341 L185,341 L186.2,341 L186.2,341 L193,341 L193,340.9 L194.3,340.9 L194.3,341 L201.1,341 L201.1,340.8 L202.3,340.8 L202.3,341 L209.2,341 L209.2,340.3 L210.4,340.3 L210.4,341 L217.3,341 L217.3,339.2 L218.5,339.2 L218.5,341 L225.4,341 L225.4,336.8 L226.6,336.8 L226.6,341 L233.5,341 L233.5,331.8 L234.7,331.8 L234.7,341 L241.5,341 L241.5,323 L242.8,323 L242.8,341 L249.6,341 L249.6,309 L250.8,309 L250.8,341 L257.7,341 L257.7,288.9 L258.9,288.9 L258.9,341 L265.8,341 L265.8,263.5 L267,263.5 L267,341 L273.9,341 L273.9,235.6 L275.1,235.6 L275.1,341 L282,341 L282,209.8 L283.2,209.8 L283.2,341 L290,341 L290,191.5 L291.3,191.5 L291.3,341 L298.1,341 L298.1,184.8 L299.3,184.8 L299.3,341 L306.2,341 L306.2,191.5 L307.4,191.5 L307.4,341 L314.3,341 L314.3,209.8 L315.5,209.8 L315.5,341 L322.4,341 L322.4,235.6 L323.6,235.6 L323.6,341 L330.5,341 L330.5,263.5 L331.7,263.5 L331.7,341 L338.6,341 L338.6,288.9 L339.8,288.9 L339.8,341 L346.6,341 L346.6,309 L347.8,309 L347.8,341 L354.7,341 L354.7,323 L355.9,323 L355.9,341 L362.8,341 L362.8,331.8 L364,331.8 L364,341 L370.9,341 L370.9,336.8 L372.1,336.8 L372.1,341 L379,341 L379,339.2 L380.2,339.2 L380.2,341 L387.1,341 L387.1,340.3 L388.3,340.3 L388.3,341 L395.1,341 L395.1,340.8 L396.4,340.8 L396.4,341 L403.2,341 L403.2,340.9 L404.4,340.9 L404.4,341 L411.3,341 L411.3,341 L412.5,341 L412.5,341 L419.4,341 L419.4,341 L420.6,341 L420.6,341 L427.5,341 L427.5,341 L428.7,341 L428.7,341 L435.6,341 L435.6,341 L436.8,341 L436.8,341 L443.6,341 L443.6,341 L444.9,341 L444.9,341 L451.7,341 L451.7,341 L452.9,341 L452.9,341 L459.8,341 L459.8,341 L461,341 L461,341 L467.9,341 L467.9,341 L469.1,341 L469.1,341 L476,341 L476,341 L477.2,341 L477.2,341 L484.1,341 L484.1,341 L485.3,341 L485.3,341 L492.1,341 L492.1,341 L493.4,341 L493.4,341 L500.2,341 L500.2,341 L501.4,341 L501.4,341 L501.4,341 Z" fill="rgb(0,100,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" fill="rgb(255,140,0)" stroke-width="1"><path d="M97.25,341 L97.25,341 L97.25,341 L98.46,341 L98.46,341 L105.3,341 L105.3,341 L106.5,341 L106.5,341 L113.4,341 L113.4,341 L114.6,341 L114.6,341 L121.5,341 L121.5,341 L122.7,341 L122.7,341 L129.6,341 L129.6,341 L130.8,341 L130.8,341 L137.7,341 L137.7,341 L138.9,341 L138.9,341 L145.8,341 L145.8,341 L147,341 L147,341 L153.8,341 L153.8,341 L155,341 L155,341 L161.9,341 L161.9,341 L163.1,341 L163.1,341 L170,341 L170,341 L171.2,341 L171.2,341 L178.1,341 L178.1,341 L179.3,341 L179.3,341 L186.2,341 L186.2,341 L187.4,341 L187.4,341 L194.3,341 L194.3,341 L195.5,341 L195.5,341 L202.3,341 L202.3,341 L203.6,341 L203.6,341 L210.4,341 L210.4,341 L211.6,341 L211.6,341 L218.5,341 L218.5,341 L219.7,341 L219.7,341 L226.6,341 L226.6,341 L227.8,341 L227.8,341 L234.7,341 L234.7,341 L235.9,341 L235.9,341 L242.8,341 L242.8,341 L244,341 L244,341 L250.8,341 L250.8,341 L252.1,341 L252.1,341 L258.9,341 L258.9,341 L260.1,341 L260.1,341 L267,341 L267,341 L268.2,341 L268.2,341 L275.1,341 L275.1,341 L276.3,341 L276.3,341 L283.2,341 L283.2,341 L284.4,341 L284.4,341 L291.3,341 L291.3,341 L292.5,341 L292.5,341 L299.3,341 L299.3,341 L300.6,341 L300.6,341 L307.4,341 L307.4,341 L308.6,341 L308.6,341 L315.5,341 L315.5,341 L316.7,341 L316.7,341 L323.6,341 L323.6,341 L324.8,341 L324.8,341 L331.7,341 L331.7,340.9 L332.9,340.9 L332.9,341 L339.8,341 L339.8,340.6 L341,340.6 L341,341 L347.8,341 L347.8,339.7 L349.1,339.7 L349.1,341 L355.9,341 L355.9,337.6 L357.1,337.6 L357.1,341 L364,341 L364,332.7 L365.2,332.7 L365.2,341 L372.1,341 L372.1,322.9 L373.3,322.9 L373.3,341 L380.2,341 L380.2,305.3 L381.4,305.3 L381.4,341 L388.3,341 L388.3,277.9 L389.5,277.9 L389.5,341 L396.4,341 L396.4,241.1 L397.6,241.1 L397.6,341 L404.4,341 L404.4,200.1 L405.6,200.1 L405.6,341 L412.5,341 L412.5,164.6 L413.7,164.6 L413.7,341 L420.6,341 L420.6,146.5 L421.8,146.5 L421.8,341 L428.7,341 L428.7,153.3 L429.9,153.3 L429.9,341 L436.8,341 L436.8,184 L438,184 L438,341 L444.9,341 L444.9,228.6 L446.1,228.6 L446.1,341 L452.9,341 L452.9,273.1 L454.2,273.1 L454.2,341 L461,341 L461,307.1 L462.2,307.1 L462.2,341 L469.1,341 L469.1,327.4 L470.3,327.4 L470.3,341 L477.2,341 L477.2,336.8 L478.4,336.8 L478.4,341 L485.3,341 L485.3,340 L486.5,340 L486.5,341 L493.4,341 L493.4,340.9 L494.6,340.9 L494.6,341 L501.4,341 L501.4,341 L502.7,341 L502.7,341 L502.7,341 Z" fill="rgb(255,140,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" fill="rgb(127,255,0)" stroke-width="1"><path d="M98.46,341 L98.46,341 L98.46,341 L99.67,341 L99.67,341 L106.5,341 L106.5,341 L107.8,341 L107.8,341 L114.6,341 L114.6,341 L115.8,341 L115.8,341 L122.7,341 L122.7,341 L123.9,341 L123.9,341 L130.8,341 L130.8,341 L132,341 L132,341 L138.9,341 L138.9,341 L140.1,341 L140.1,341 L147,341 L147,341 L148.2,341 L148.2,341 L155,341 L155,341 L156.3,341 L156.3,341 L163.1,341 L163.1,341 L164.3,341 L164.3,341 L171.2,341 L171.2,341 L172.4,341 L172.4,341 L179.3,341 L179.3,341 L180.5,341 L180.5,341 L187.4,341 L187.4,341 L188.6,341 L188.6,341 L195.5,341 L195.5,341 L196.7,341 L196.7,341 L203.6,341 L203.6,341 L204.8,341 L204.8,341 L211.6,341 L211.6,341 L212.8,341 L212.8,341 L219.7,341 L219.7,341 L220.9,341 L220.9,341 L227.8,341 L227.8,341 L229,341 L229,341 L235.9,341 L235.9,341 L237.1,341 L237.1,341 L244,341 L244,341 L245.2,341 L245.2,341 L252.1,341 L252.1,341 L253.3,341 L253.3,341 L260.1,341 L260.1,341 L261.4,341 L261.4,341 L268.2,341 L268.2,341 L269.4,341 L269.4,341 L276.3,341 L276.3,341 L277.5,341 L277.5,341 L284.4,341 L284.4,341 L285.6,341 L285.6,341 L292.5,341 L292.5,341 L293.7,341 L293.7,341 L300.6,341 L300.6,341 L301.8,341 L301.8,341 L308.6,341 L308.6,341 L309.9,341 L309.9,341 L316.7,341 L316.7,341 L317.9,341 L317.9,341 L324.8,341 L324.8,341 L326,341 L326,341 L332.9,341 L332.9,341 L334.1,341 L334.1,341 L341,341 L341,341 L342.2,341 L342.2,341 L349.1,341 L349.1,341 L350.3,341 L350.3,341 L357.1,341 L357.1,341 L358.4,341 L358.4,341 L365.2,341 L365.2,341 L366.4,341 L366.4,341 L373.3,341 L373.3,341 L374.5,341 L374.5,341 L381.4,341 L381.4,341 L382.6,341 L382.6,341 L389.5,341 L389.5,340.9 L390.7,340.9 L390.7,341 L397.6,341 L397.6,340.5 L398.8,340.5 L398.8,341 L405.6,341 L405.6,339.2 L406.9,339.2 L406.9,341 L413.7,341 L413.7,335.3 L414.9,335.3 L414.9,341 L421.8,341 L421.8,324.8 L423,324.8 L423,341 L429.9,341 L429.9,301.5 L431.1,301.5 L431.1,341 L438,341 L438,258.7 L439.2,258.7 L439.2,341 L446.1,341 L446.1,195.7 L447.3,195.7 L447.3,341 L454.2,341 L454.2,127.1 L455.4,127.1 L455.4,341 L462.2,341 L462.2,83.73 L463.4,83.73 L463.4,341 L470.3,341 L470.3,94.79 L471.5,94.79 L471.5,341 L478.4,341 L478.4,160.9 L479.6,160.9 L479.6,341 L486.5,341 L486.5,246.5 L487.7,246.5 L487.7,341 L494.6,341 L494.6,309.4 L495.8,309.4 L495.8,341 L502.7,341 L502.7,335.9 L503.9,335.9 L503.9,341 L503.9,341 Z" fill="rgb(127,255,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="518.9" y="58" width="205.1" height="165"/><rect x="518.9" y="58" width="205.1" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="88" x2="548.9" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="118" x2="548.9" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="148" x2="548.9" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="178" x2="548.9" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="208" x2="548.9" y2="208"/></g>
+</g>
+<g id="legendText">
+<text x="556.4" y="88" font-size="15" font-family="Verdana">N=500, r=50, n=50</text>
+<text x="556.4" y="118" font-size="15" font-family="Verdana">N=500, r=50, n=100</text>
+<text x="556.4" y="148" font-size="15" font-family="Verdana">N=500, r=50, n=250</text>
+<text x="556.4" y="178" font-size="15" font-family="Verdana">N=500, r=50, n=400</text>
+<text x="556.4" y="208" font-size="15" font-family="Verdana">N=500, r=50, n=450</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Hypergeometric Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ibeta.png b/libs/math/doc/graphs/ibeta.png
index 1d20b8421c..1d20b8421c 100644
--- a/libs/math/doc/sf_and_dist/graphs/ibeta.png
+++ b/libs/math/doc/graphs/ibeta.png
Binary files differ
diff --git a/libs/math/doc/graphs/ibeta.svg b/libs/math/doc/graphs/ibeta.svg
new file mode 100644
index 0000000000..9f6c0bce6c
--- /dev/null
+++ b/libs/math/doc/graphs/ibeta.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="319.7" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="321.7" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="405.9" y2="341"/><line x1="79.2" y1="341" x2="405.9" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.1 L84.2,327.1 M82.2,320.2 L84.2,320.2 M82.2,306.3 L84.2,306.3 M82.2,299.4 L84.2,299.4 M82.2,292.4 L84.2,292.4 M82.2,278.6 L84.2,278.6 M82.2,271.6 L84.2,271.6 M82.2,264.7 L84.2,264.7 M82.2,250.8 L84.2,250.8 M82.2,243.9 L84.2,243.9 M82.2,237 L84.2,237 M82.2,223.1 L84.2,223.1 M82.2,216.1 L84.2,216.1 M82.2,209.2 L84.2,209.2 M82.2,195.3 L84.2,195.3 M82.2,188.4 L84.2,188.4 M82.2,181.5 L84.2,181.5 M82.2,167.6 L84.2,167.6 M82.2,160.7 L84.2,160.7 M82.2,153.7 L84.2,153.7 M82.2,139.8 L84.2,139.8 M82.2,132.9 L84.2,132.9 M82.2,126 L84.2,126 M82.2,112.1 L84.2,112.1 M82.2,105.2 L84.2,105.2 M82.2,98.23 L84.2,98.23 M82.2,84.36 L84.2,84.36 M82.2,77.42 L84.2,77.42 M82.2,70.49 L84.2,70.49 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M92.09,341 L92.09,343 M99.97,341 L99.97,343 M107.9,341 L107.9,343 M123.6,341 L123.6,343 M131.5,341 L131.5,343 M139.4,341 L139.4,343 M155.2,341 L155.2,343 M163.1,341 L163.1,343 M170.9,341 L170.9,343 M186.7,341 L186.7,343 M194.6,341 L194.6,343 M202.5,341 L202.5,343 M218.3,341 L218.3,343 M226.1,341 L226.1,343 M234,341 L234,343 M249.8,341 L249.8,343 M257.7,341 L257.7,343 M265.6,341 L265.6,343 M281.3,341 L281.3,343 M289.2,341 L289.2,343 M297.1,341 L297.1,343 M312.9,341 L312.9,343 M320.8,341 L320.8,343 M328.6,341 L328.6,343 M344.4,341 L344.4,343 M352.3,341 L352.3,343 M360.2,341 L360.2,343 M376,341 L376,343 M383.8,341 L383.8,343 M391.7,341 L391.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,313.3 L84.2,313.3 M79.2,285.5 L84.2,285.5 M79.2,257.8 L84.2,257.8 M79.2,230 L84.2,230 M79.2,202.3 L84.2,202.3 M79.2,174.5 L84.2,174.5 M79.2,146.8 L84.2,146.8 M79.2,119 L84.2,119 M79.2,91.29 L84.2,91.29 M79.2,63.55 L84.2,63.55 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M115.7,341 L115.7,346 M147.3,341 L147.3,346 M178.8,341 L178.8,346 M210.4,341 L210.4,346 M241.9,341 L241.9,346 M273.4,341 L273.4,346 M305,341 L305,346 M336.5,341 L336.5,346 M368.1,341 L368.1,346 M399.6,341 L399.6,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="115.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.1</text>
+<text x="147.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.2</text>
+<text x="178.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.3</text>
+<text x="210.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.4</text>
+<text x="241.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="273.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.6</text>
+<text x="305" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.7</text>
+<text x="336.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.8</text>
+<text x="368.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.9</text>
+<text x="399.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ibeta(a, b, z)</text></g>
+<g id="xLabel">
+<text x="245.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L85.78,341 L87.35,341 L88.93,341 L90.51,341 L92.09,341 L93.66,341 L95.24,341 L96.82,341 L98.39,341 L99.97,341 L101.5,341 L103.1,341 L104.7,341 L106.3,341 L107.9,341 L109.4,341 L111,341 L112.6,341 L114.2,341 L115.7,341 L117.3,341 L118.9,341 L120.5,341 L122,341 L123.6,341 L125.2,341 L126.8,341 L128.4,341 L129.9,341 L131.5,341 L133.1,341 L134.7,341 L136.2,341 L137.8,341 L139.4,341 L141,341 L142.6,341 L144.1,341 L145.7,341 L147.3,341 L148.9,341 L150.4,341 L152,341 L153.6,341 L155.2,341 L156.7,341 L158.3,341 L159.9,341 L161.5,341 L163.1,341 L164.6,341 L166.2,341 L167.8,341 L169.4,341 L170.9,341 L172.5,341 L174.1,341 L175.7,341 L177.2,341 L178.8,341 L180.4,341 L182,341 L183.6,341 L185.1,341 L186.7,341 L188.3,341 L189.9,341 L191.4,341 L193,341 L194.6,341 L196.2,341 L197.7,341 L199.3,341 L200.9,341 L202.5,341 L204.1,341 L205.6,340.9 L207.2,340.9 L208.8,340.9 L210.4,340.9 L211.9,340.9 L213.5,340.9 L215.1,340.9 L216.7,340.9 L218.3,340.9 L219.8,340.9 L221.4,340.8 L223,340.8 L224.6,340.8 L226.1,340.8 L227.7,340.8 L229.3,340.7 L230.9,340.7 L232.4,340.7 L234,340.7 L235.6,340.6 L237.2,340.6 L238.8,340.5 L240.3,340.5 L241.9,340.5 L243.5,340.4 L245.1,340.4 L246.6,340.3 L248.2,340.2 L249.8,340.2 L251.4,340.1 L252.9,340 L254.5,339.9 L256.1,339.8 L257.7,339.7 L259.3,339.6 L260.8,339.5 L262.4,339.4 L264,339.2 L265.6,339.1 L267.1,338.9 L268.7,338.8 L270.3,338.6 L271.9,338.4 L273.4,338.2 L275,338 L276.6,337.8 L278.2,337.5 L279.8,337.2 L281.3,337 L282.9,336.7 L284.5,336.3 L286.1,336 L287.6,335.6 L289.2,335.3 L290.8,334.8 L292.4,334.4 L293.9,333.9 L295.5,333.5 L297.1,332.9 L298.7,332.4 L300.3,331.8 L301.8,331.2 L303.4,330.5 L305,329.8 L306.6,329.1 L308.1,328.3 L309.7,327.4 L311.3,326.6 L312.9,325.6 L314.5,324.7 L316,323.6 L317.6,322.5 L319.2,321.4 L320.8,320.2 L322.3,318.9 L323.9,317.5 L325.5,316.1 L327.1,314.6 L328.6,313 L330.2,311.3 L331.8,309.6 L333.4,307.7 L335,305.8 L336.5,303.8 L338.1,301.6 L339.7,299.4 L341.3,297 L342.8,294.5 L344.4,291.9 L346,289.1 L347.6,286.3 L349.1,283.2 L350.7,280.1 L352.3,276.7 L353.9,273.3 L355.5,269.6 L357,265.8 L358.6,261.8 L360.2,257.6 L361.8,253.2 L363.3,248.6 L364.9,243.8 L366.5,238.8 L368.1,233.5 L369.6,228 L371.2,222.3 L372.8,216.3 L374.4,210 L376,203.4 L377.5,196.6 L379.1,189.5 L380.7,182 L382.3,174.2 L383.8,166.1 L385.4,157.7 L387,148.9 L388.6,139.7 L390.1,130.1 L391.7,120.1 L393.3,109.7 L394.9,98.83 L396.5,87.54 L398,75.79 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L85.78,341 L87.35,341 L88.93,341 L90.51,341 L92.09,341 L93.66,341 L95.24,341 L96.82,341 L98.39,341 L99.97,341 L101.5,341 L103.1,341 L104.7,341 L106.3,341 L107.9,341 L109.4,341 L111,341 L112.6,341 L114.2,341 L115.7,341 L117.3,341 L118.9,341 L120.5,341 L122,341 L123.6,341 L125.2,341 L126.8,341 L128.4,341 L129.9,341 L131.5,341 L133.1,341 L134.7,341 L136.2,341 L137.8,341 L139.4,341 L141,341 L142.6,341 L144.1,341 L145.7,341 L147.3,341 L148.9,341 L150.4,341 L152,341 L153.6,341 L155.2,340.9 L156.7,340.9 L158.3,340.9 L159.9,340.9 L161.5,340.9 L163.1,340.9 L164.6,340.9 L166.2,340.9 L167.8,340.8 L169.4,340.8 L170.9,340.8 L172.5,340.8 L174.1,340.7 L175.7,340.7 L177.2,340.7 L178.8,340.6 L180.4,340.6 L182,340.6 L183.6,340.5 L185.1,340.5 L186.7,340.4 L188.3,340.3 L189.9,340.3 L191.4,340.2 L193,340.1 L194.6,340 L196.2,339.9 L197.7,339.8 L199.3,339.7 L200.9,339.6 L202.5,339.4 L204.1,339.3 L205.6,339.2 L207.2,339 L208.8,338.8 L210.4,338.6 L211.9,338.4 L213.5,338.2 L215.1,338 L216.7,337.8 L218.3,337.5 L219.8,337.2 L221.4,336.9 L223,336.6 L224.6,336.3 L226.1,336 L227.7,335.6 L229.3,335.2 L230.9,334.8 L232.4,334.4 L234,333.9 L235.6,333.4 L237.2,332.9 L238.8,332.4 L240.3,331.8 L241.9,331.2 L243.5,330.6 L245.1,330 L246.6,329.3 L248.2,328.6 L249.8,327.8 L251.4,327 L252.9,326.2 L254.5,325.3 L256.1,324.4 L257.7,323.5 L259.3,322.5 L260.8,321.4 L262.4,320.4 L264,319.3 L265.6,318.1 L267.1,316.9 L268.7,315.6 L270.3,314.3 L271.9,312.9 L273.4,311.5 L275,310 L276.6,308.5 L278.2,306.9 L279.8,305.2 L281.3,303.5 L282.9,301.8 L284.5,299.9 L286.1,298 L287.6,296.1 L289.2,294.1 L290.8,292 L292.4,289.8 L293.9,287.6 L295.5,285.3 L297.1,283 L298.7,280.6 L300.3,278.1 L301.8,275.5 L303.4,272.9 L305,270.2 L306.6,267.4 L308.1,264.5 L309.7,261.6 L311.3,258.6 L312.9,255.6 L314.5,252.4 L316,249.2 L317.6,245.9 L319.2,242.6 L320.8,239.2 L322.3,235.7 L323.9,232.1 L325.5,228.5 L327.1,224.8 L328.6,221 L330.2,217.2 L331.8,213.3 L333.4,209.4 L335,205.4 L336.5,201.4 L338.1,197.3 L339.7,193.1 L341.3,188.9 L342.8,184.7 L344.4,180.4 L346,176.1 L347.6,171.8 L349.1,167.4 L350.7,163.1 L352.3,158.7 L353.9,154.3 L355.5,149.9 L357,145.5 L358.6,141.1 L360.2,136.7 L361.8,132.4 L363.3,128.1 L364.9,123.8 L366.5,119.6 L368.1,115.4 L369.6,111.3 L371.2,107.3 L372.8,103.4 L374.4,99.55 L376,95.84 L377.5,92.26 L379.1,88.81 L380.7,85.51 L382.3,82.38 L383.8,79.43 L385.4,76.68 L387,74.13 L388.6,71.82 L390.1,69.75 L391.7,67.94 L393.3,66.42 L394.9,65.19 L396.5,64.3 L398,63.74 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L85.78,341 L87.35,341 L88.93,341 L90.51,341 L92.09,341 L93.66,341 L95.24,341 L96.82,341 L98.39,341 L99.97,341 L101.5,341 L103.1,341 L104.7,341 L106.3,341 L107.9,340.9 L109.4,340.9 L111,340.9 L112.6,340.8 L114.2,340.8 L115.7,340.8 L117.3,340.7 L118.9,340.6 L120.5,340.5 L122,340.4 L123.6,340.3 L125.2,340.2 L126.8,340 L128.4,339.9 L129.9,339.7 L131.5,339.4 L133.1,339.2 L134.7,338.9 L136.2,338.6 L137.8,338.3 L139.4,337.9 L141,337.5 L142.6,337.1 L144.1,336.6 L145.7,336.1 L147.3,335.6 L148.9,335 L150.4,334.3 L152,333.6 L153.6,332.9 L155.2,332.1 L156.7,331.3 L158.3,330.4 L159.9,329.5 L161.5,328.5 L163.1,327.4 L164.6,326.3 L166.2,325.1 L167.8,323.9 L169.4,322.6 L170.9,321.3 L172.5,319.9 L174.1,318.4 L175.7,316.9 L177.2,315.3 L178.8,313.6 L180.4,311.9 L182,310.1 L183.6,308.2 L185.1,306.3 L186.7,304.3 L188.3,302.2 L189.9,300.1 L191.4,297.9 L193,295.7 L194.6,293.4 L196.2,291 L197.7,288.6 L199.3,286.1 L200.9,283.5 L202.5,280.9 L204.1,278.2 L205.6,275.5 L207.2,272.7 L208.8,269.9 L210.4,267 L211.9,264.1 L213.5,261.1 L215.1,258.1 L216.7,255.1 L218.3,252 L219.8,248.8 L221.4,245.7 L223,242.5 L224.6,239.2 L226.1,236 L227.7,232.7 L229.3,229.4 L230.9,226 L232.4,222.7 L234,219.3 L235.6,215.9 L237.2,212.5 L238.8,209.1 L240.3,205.7 L241.9,202.3 L243.5,198.9 L245.1,195.5 L246.6,192 L248.2,188.6 L249.8,185.3 L251.4,181.9 L252.9,178.5 L254.5,175.2 L256.1,171.9 L257.7,168.6 L259.3,165.3 L260.8,162.1 L262.4,158.9 L264,155.7 L265.6,152.6 L267.1,149.5 L268.7,146.4 L270.3,143.4 L271.9,140.4 L273.4,137.5 L275,134.6 L276.6,131.8 L278.2,129 L279.8,126.3 L281.3,123.6 L282.9,121 L284.5,118.5 L286.1,116 L287.6,113.6 L289.2,111.2 L290.8,108.9 L292.4,106.6 L293.9,104.5 L295.5,102.3 L297.1,100.3 L298.7,98.28 L300.3,96.35 L301.8,94.49 L303.4,92.7 L305,90.96 L306.6,89.3 L308.1,87.69 L309.7,86.15 L311.3,84.68 L312.9,83.27 L314.5,81.92 L316,80.63 L317.6,79.4 L319.2,78.23 L320.8,77.12 L322.3,76.07 L323.9,75.08 L325.5,74.14 L327.1,73.25 L328.6,72.42 L330.2,71.63 L331.8,70.9 L333.4,70.22 L335,69.58 L336.5,68.98 L338.1,68.43 L339.7,67.92 L341.3,67.45 L342.8,67.02 L344.4,66.62 L346,66.26 L347.6,65.93 L349.1,65.63 L350.7,65.35 L352.3,65.11 L353.9,64.89 L355.5,64.7 L357,64.52 L358.6,64.37 L360.2,64.24 L361.8,64.12 L363.3,64.02 L364.9,63.93 L366.5,63.86 L368.1,63.8 L369.6,63.74 L371.2,63.7 L372.8,63.66 L374.4,63.64 L376,63.61 L377.5,63.6 L379.1,63.58 L380.7,63.57 L382.3,63.56 L383.8,63.56 L385.4,63.55 L387,63.55 L388.6,63.55 L390.1,63.55 L391.7,63.55 L393.3,63.55 L394.9,63.55 L396.5,63.55 L398,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L85.78,340.8 L87.35,340.3 L88.93,339.4 L90.51,338.1 L92.09,336.6 L93.66,334.8 L95.24,332.7 L96.82,330.4 L98.39,327.9 L99.97,325.1 L101.5,322.2 L103.1,319 L104.7,315.7 L106.3,312.3 L107.9,308.7 L109.4,305 L111,301.2 L112.6,297.3 L114.2,293.2 L115.7,289.1 L117.3,285 L118.9,280.8 L120.5,276.5 L122,272.2 L123.6,267.8 L125.2,263.5 L126.8,259.1 L128.4,254.7 L129.9,250.3 L131.5,245.9 L133.1,241.5 L134.7,237.1 L136.2,232.8 L137.8,228.4 L139.4,224.1 L141,219.9 L142.6,215.6 L144.1,211.4 L145.7,207.3 L147.3,203.2 L148.9,199.1 L150.4,195.2 L152,191.2 L153.6,187.3 L155.2,183.5 L156.7,179.8 L158.3,176.1 L159.9,172.4 L161.5,168.9 L163.1,165.4 L164.6,162 L166.2,158.6 L167.8,155.3 L169.4,152.1 L170.9,149 L172.5,145.9 L174.1,142.9 L175.7,140 L177.2,137.2 L178.8,134.4 L180.4,131.7 L182,129 L183.6,126.5 L185.1,124 L186.7,121.6 L188.3,119.2 L189.9,116.9 L191.4,114.7 L193,112.6 L194.6,110.5 L196.2,108.5 L197.7,106.5 L199.3,104.6 L200.9,102.8 L202.5,101 L204.1,99.31 L205.6,97.66 L207.2,96.07 L208.8,94.54 L210.4,93.06 L211.9,91.64 L213.5,90.27 L215.1,88.95 L216.7,87.69 L218.3,86.47 L219.8,85.3 L221.4,84.18 L223,83.1 L224.6,82.07 L226.1,81.08 L227.7,80.13 L229.3,79.23 L230.9,78.36 L232.4,77.53 L234,76.74 L235.6,75.99 L237.2,75.27 L238.8,74.58 L240.3,73.93 L241.9,73.3 L243.5,72.71 L245.1,72.15 L246.6,71.61 L248.2,71.11 L249.8,70.63 L251.4,70.17 L252.9,69.74 L254.5,69.33 L256.1,68.94 L257.7,68.58 L259.3,68.23 L260.8,67.91 L262.4,67.6 L264,67.31 L265.6,67.04 L267.1,66.79 L268.7,66.55 L270.3,66.32 L271.9,66.11 L273.4,65.91 L275,65.73 L276.6,65.56 L278.2,65.39 L279.8,65.24 L281.3,65.1 L282.9,64.97 L284.5,64.85 L286.1,64.74 L287.6,64.64 L289.2,64.54 L290.8,64.45 L292.4,64.37 L293.9,64.29 L295.5,64.22 L297.1,64.16 L298.7,64.1 L300.3,64.04 L301.8,63.99 L303.4,63.95 L305,63.91 L306.6,63.87 L308.1,63.83 L309.7,63.8 L311.3,63.78 L312.9,63.75 L314.5,63.73 L316,63.71 L317.6,63.69 L319.2,63.67 L320.8,63.65 L322.3,63.64 L323.9,63.63 L325.5,63.62 L327.1,63.61 L328.6,63.6 L330.2,63.59 L331.8,63.59 L333.4,63.58 L335,63.58 L336.5,63.57 L338.1,63.57 L339.7,63.57 L341.3,63.56 L342.8,63.56 L344.4,63.56 L346,63.56 L347.6,63.56 L349.1,63.55 L350.7,63.55 L352.3,63.55 L353.9,63.55 L355.5,63.55 L357,63.55 L358.6,63.55 L360.2,63.55 L361.8,63.55 L363.3,63.55 L364.9,63.55 L366.5,63.55 L368.1,63.55 L369.6,63.55 L371.2,63.55 L372.8,63.55 L374.4,63.55 L376,63.55 L377.5,63.55 L379.1,63.55 L380.7,63.55 L382.3,63.55 L383.8,63.55 L385.4,63.55 L387,63.55 L388.6,63.55 L390.1,63.55 L391.7,63.55 L393.3,63.55 L394.9,63.55 L396.5,63.55 L398,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L85.78,328.8 L87.35,317 L88.93,305.7 L90.51,294.9 L92.09,284.5 L93.66,274.5 L95.24,264.9 L96.82,255.7 L98.39,246.9 L99.97,238.4 L101.5,230.3 L103.1,222.5 L104.7,215.1 L106.3,207.9 L107.9,201.1 L109.4,194.6 L111,188.3 L112.6,182.3 L114.2,176.5 L115.7,171 L117.3,165.8 L118.9,160.8 L120.5,155.9 L122,151.4 L123.6,147 L125.2,142.8 L126.8,138.8 L128.4,134.9 L129.9,131.3 L131.5,127.8 L133.1,124.5 L134.7,121.3 L136.2,118.3 L137.8,115.4 L139.4,112.7 L141,110.1 L142.6,107.6 L144.1,105.2 L145.7,102.9 L147.3,100.8 L148.9,98.74 L150.4,96.8 L152,94.96 L153.6,93.2 L155.2,91.53 L156.7,89.95 L158.3,88.45 L159.9,87.02 L161.5,85.67 L163.1,84.38 L164.6,83.16 L166.2,82.01 L167.8,80.92 L169.4,79.88 L170.9,78.9 L172.5,77.98 L174.1,77.1 L175.7,76.27 L177.2,75.49 L178.8,74.75 L180.4,74.05 L182,73.39 L183.6,72.76 L185.1,72.17 L186.7,71.62 L188.3,71.1 L189.9,70.61 L191.4,70.14 L193,69.71 L194.6,69.3 L196.2,68.91 L197.7,68.55 L199.3,68.21 L200.9,67.89 L202.5,67.59 L204.1,67.3 L205.6,67.04 L207.2,66.79 L208.8,66.56 L210.4,66.35 L211.9,66.14 L213.5,65.95 L215.1,65.78 L216.7,65.61 L218.3,65.46 L219.8,65.31 L221.4,65.18 L223,65.05 L224.6,64.94 L226.1,64.83 L227.7,64.73 L229.3,64.63 L230.9,64.55 L232.4,64.46 L234,64.39 L235.6,64.32 L237.2,64.26 L238.8,64.2 L240.3,64.14 L241.9,64.09 L243.5,64.04 L245.1,64 L246.6,63.96 L248.2,63.92 L249.8,63.89 L251.4,63.86 L252.9,63.83 L254.5,63.8 L256.1,63.78 L257.7,63.76 L259.3,63.74 L260.8,63.72 L262.4,63.7 L264,63.69 L265.6,63.67 L267.1,63.66 L268.7,63.65 L270.3,63.64 L271.9,63.63 L273.4,63.62 L275,63.61 L276.6,63.61 L278.2,63.6 L279.8,63.59 L281.3,63.59 L282.9,63.59 L284.5,63.58 L286.1,63.58 L287.6,63.57 L289.2,63.57 L290.8,63.57 L292.4,63.57 L293.9,63.56 L295.5,63.56 L297.1,63.56 L298.7,63.56 L300.3,63.56 L301.8,63.56 L303.4,63.56 L305,63.55 L306.6,63.55 L308.1,63.55 L309.7,63.55 L311.3,63.55 L312.9,63.55 L314.5,63.55 L316,63.55 L317.6,63.55 L319.2,63.55 L320.8,63.55 L322.3,63.55 L323.9,63.55 L325.5,63.55 L327.1,63.55 L328.6,63.55 L330.2,63.55 L331.8,63.55 L333.4,63.55 L335,63.55 L336.5,63.55 L338.1,63.55 L339.7,63.55 L341.3,63.55 L342.8,63.55 L344.4,63.55 L346,63.55 L347.6,63.55 L349.1,63.55 L350.7,63.55 L352.3,63.55 L353.9,63.55 L355.5,63.55 L357,63.55 L358.6,63.55 L360.2,63.55 L361.8,63.55 L363.3,63.55 L364.9,63.55 L366.5,63.55 L368.1,63.55 L369.6,63.55 L371.2,63.55 L372.8,63.55 L374.4,63.55 L376,63.55 L377.5,63.55 L379.1,63.55 L380.7,63.55 L382.3,63.55 L383.8,63.55 L385.4,63.55 L387,63.55 L388.6,63.55 L390.1,63.55 L391.7,63.55 L393.3,63.55 L394.9,63.55 L396.5,63.55 L398,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="419.9" y="58" width="154.1" height="154"/><rect x="419.9" y="58" width="154.1" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="86" x2="447.9" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="114" x2="447.9" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="142" x2="447.9" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="170" x2="447.9" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="198" x2="447.9" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="454.9" y="86" font-size="14" font-family="Verdana">a = 9, b = 1</text>
+<text x="454.9" y="114" font-size="14" font-family="Verdana">a = 7, b = 2</text>
+<text x="454.9" y="142" font-size="14" font-family="Verdana">a = 5, b = 5</text>
+<text x="454.9" y="170" font-size="14" font-family="Verdana">a = 2, b = 7</text>
+<text x="454.9" y="198" font-size="14" font-family="Verdana">a = 1, b = 9</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">ibeta</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/im_exp_on_c.png b/libs/math/doc/graphs/im_exp_on_c.png
index 68fb3d963d..68fb3d963d 100644
--- a/libs/math/doc/sf_and_dist/graphs/im_exp_on_c.png
+++ b/libs/math/doc/graphs/im_exp_on_c.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_cdf.png b/libs/math/doc/graphs/inverse_chi_squared_cdf.png
index 4592e5b194..4592e5b194 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_cdf.png
+++ b/libs/math/doc/graphs/inverse_chi_squared_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_cdf.svg b/libs/math/doc/graphs/inverse_chi_squared_cdf.svg
index 33f61de6f8..33f61de6f8 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_cdf.svg
+++ b/libs/math/doc/graphs/inverse_chi_squared_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_pdf.png b/libs/math/doc/graphs/inverse_chi_squared_pdf.png
index 776eacc0a9..776eacc0a9 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_pdf.png
+++ b/libs/math/doc/graphs/inverse_chi_squared_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_pdf.svg b/libs/math/doc/graphs/inverse_chi_squared_pdf.svg
index ce7b56ba4f..ce7b56ba4f 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_chi_squared_pdf.svg
+++ b/libs/math/doc/graphs/inverse_chi_squared_pdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_cdf.png b/libs/math/doc/graphs/inverse_gamma_cdf.png
index d3fdf7ec76..d3fdf7ec76 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_cdf.png
+++ b/libs/math/doc/graphs/inverse_gamma_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_cdf.svg b/libs/math/doc/graphs/inverse_gamma_cdf.svg
index 89af2890cb..89af2890cb 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_cdf.svg
+++ b/libs/math/doc/graphs/inverse_gamma_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_pdf.png b/libs/math/doc/graphs/inverse_gamma_pdf.png
index ff2451ad4e..ff2451ad4e 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_pdf.png
+++ b/libs/math/doc/graphs/inverse_gamma_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_pdf.svg b/libs/math/doc/graphs/inverse_gamma_pdf.svg
index 30deecfa67..30deecfa67 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gamma_pdf.svg
+++ b/libs/math/doc/graphs/inverse_gamma_pdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_cdf.png b/libs/math/doc/graphs/inverse_gaussian_cdf.png
index 74dc4126c5..74dc4126c5 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_cdf.png
+++ b/libs/math/doc/graphs/inverse_gaussian_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_cdf.svg b/libs/math/doc/graphs/inverse_gaussian_cdf.svg
index bbf0949b19..bbf0949b19 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_cdf.svg
+++ b/libs/math/doc/graphs/inverse_gaussian_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_pdf.png b/libs/math/doc/graphs/inverse_gaussian_pdf.png
index e286b530b5..e286b530b5 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_pdf.png
+++ b/libs/math/doc/graphs/inverse_gaussian_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_pdf.svg b/libs/math/doc/graphs/inverse_gaussian_pdf.svg
index 0b176df44c..0b176df44c 100644
--- a/libs/math/doc/sf_and_dist/graphs/inverse_gaussian_pdf.svg
+++ b/libs/math/doc/graphs/inverse_gaussian_pdf.svg
diff --git a/libs/math/doc/graphs/jacobi_cd.png b/libs/math/doc/graphs/jacobi_cd.png
new file mode 100644
index 0000000000..4d37b50a3f
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_cd.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_cd.svg b/libs/math/doc/graphs/jacobi_cd.svg
new file mode 100644
index 0000000000..b259795af2
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_cd.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="358.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="360.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="269.2" y1="58" x2="269.2" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="453" y2="202.3"/><line x1="87.6" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,184.9 L92.6,184.9 M90.6,167.6 L92.6,167.6 M90.6,150.3 L92.6,150.3 M90.6,115.6 L92.6,115.6 M90.6,98.23 L92.6,98.23 M90.6,80.89 L92.6,80.89 M90.6,202.3 L92.6,202.3 M90.6,219.6 L92.6,219.6 M90.6,237 L92.6,237 M90.6,254.3 L92.6,254.3 M90.6,271.6 L92.6,271.6 M90.6,289 L92.6,289 M90.6,306.3 L92.6,306.3 M90.6,323.7 L92.6,323.7 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M291.3,341 L291.3,343 M313.4,341 L313.4,343 M335.5,341 L335.5,343 M379.7,341 L379.7,343 M401.7,341 L401.7,343 M423.8,341 L423.8,343 M247.2,341 L247.2,343 M225.1,341 L225.1,343 M203,341 L203,343 M158.8,341 L158.8,343 M136.8,341 L136.8,343 M114.7,341 L114.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,132.9 L92.6,132.9 M87.6,63.55 L92.6,63.55 M87.6,202.3 L92.6,202.3 M87.6,271.6 L92.6,271.6 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M269.2,341 L269.2,346 M357.6,341 L357.6,346 M445.9,341 L445.9,346 M269.2,341 L269.2,346 M180.9,341 L180.9,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="357.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="445.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="180.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="274" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_cd(k, u)</text></g>
+<g id="xLabel">
+<text x="272.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,318.7 L94.37,325.6 L96.13,331.4 L97.9,335.8 L99.67,338.9 L101.4,340.6 L103.2,341 L105,339.9 L106.7,337.5 L108.5,333.8 L110.3,328.7 L112,322.3 L113.8,314.8 L115.6,306.1 L117.3,296.4 L119.1,285.8 L120.9,274.3 L122.6,262.1 L124.4,249.3 L126.2,236.1 L127.9,222.5 L129.7,208.7 L131.5,194.8 L133.2,181 L135,167.4 L136.8,154.2 L138.5,141.4 L140.3,129.3 L142.1,117.9 L143.8,107.3 L145.6,97.69 L147.4,89.11 L149.1,81.67 L150.9,75.43 L152.7,70.45 L154.4,66.8 L156.2,64.49 L158,63.57 L159.7,64.03 L161.5,65.87 L163.3,69.07 L165,73.61 L166.8,79.43 L168.6,86.48 L170.3,94.68 L172.1,104 L173.9,114.2 L175.6,125.4 L177.4,137.3 L179.2,149.8 L180.9,162.9 L182.7,176.4 L184.5,190.1 L186.2,204 L188,217.8 L189.8,231.5 L191.5,244.9 L193.3,257.9 L195.1,270.3 L196.8,282 L198.6,293 L200.4,303 L202.1,312 L203.9,319.9 L205.7,326.7 L207.4,332.2 L209.2,336.4 L211,339.3 L212.7,340.8 L214.5,340.9 L216.3,339.6 L218,337 L219.8,333 L221.6,327.7 L223.3,321.1 L225.1,313.4 L226.9,304.6 L228.6,294.7 L230.4,283.9 L232.2,272.3 L233.9,260 L235.7,247.1 L237.5,233.8 L239.2,220.2 L241,206.3 L242.7,192.5 L244.5,178.7 L246.3,165.2 L248,152 L249.8,139.3 L251.6,127.3 L253.3,116 L255.1,105.6 L256.9,96.17 L258.6,87.78 L260.4,80.53 L262.2,74.5 L263.9,69.75 L265.7,66.31 L267.5,64.24 L269.2,63.55 L271,64.24 L272.8,66.31 L274.5,69.75 L276.3,74.5 L278.1,80.53 L279.8,87.78 L281.6,96.17 L283.4,105.6 L285.1,116 L286.9,127.3 L288.7,139.3 L290.4,152 L292.2,165.2 L294,178.7 L295.7,192.5 L297.5,206.3 L299.3,220.2 L301,233.8 L302.8,247.1 L304.6,260 L306.3,272.3 L308.1,283.9 L309.9,294.7 L311.6,304.6 L313.4,313.4 L315.2,321.1 L316.9,327.7 L318.7,333 L320.5,337 L322.2,339.6 L324,340.9 L325.8,340.8 L327.5,339.3 L329.3,336.4 L331.1,332.2 L332.8,326.7 L334.6,319.9 L336.4,312 L338.1,303 L339.9,293 L341.7,282 L343.4,270.3 L345.2,257.9 L347,244.9 L348.7,231.5 L350.5,217.8 L352.3,204 L354,190.1 L355.8,176.4 L357.6,162.9 L359.3,149.8 L361.1,137.3 L362.9,125.4 L364.6,114.2 L366.4,104 L368.2,94.68 L369.9,86.48 L371.7,79.43 L373.5,73.61 L375.2,69.07 L377,65.87 L378.8,64.03 L380.5,63.57 L382.3,64.49 L384.1,66.8 L385.8,70.45 L387.6,75.43 L389.4,81.67 L391.1,89.11 L392.9,97.69 L394.7,107.3 L396.4,117.9 L398.2,129.3 L400,141.4 L401.7,154.2 L403.5,167.4 L405.3,181 L407,194.8 L408.8,208.7 L410.6,222.5 L412.3,236.1 L414.1,249.3 L415.9,262.1 L417.6,274.3 L419.4,285.8 L421.2,296.4 L422.9,306.1 L424.7,314.8 L426.5,322.3 L428.2,328.7 L430,333.8 L431.8,337.5 L433.5,339.9 L435.3,341 L437.1,340.6 L438.8,338.9 L440.6,335.8 L442.4,331.4 L444.1,325.6 L445.9,318.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,340.3 L94.37,338.6 L96.13,335.8 L97.9,332 L99.67,327.2 L101.4,321.3 L103.2,314.3 L105,306.3 L106.7,297.3 L108.5,287.3 L110.3,276.4 L112,264.7 L113.8,252.3 L115.6,239.3 L117.3,225.9 L119.1,212.1 L120.9,198.3 L122.6,184.5 L124.4,170.9 L126.2,157.7 L127.9,145 L129.7,133 L131.5,121.8 L133.2,111.4 L135,102 L136.8,93.54 L138.5,86.13 L140.3,79.76 L142.1,74.45 L143.8,70.19 L145.6,66.99 L147.4,64.83 L149.1,63.72 L150.9,63.65 L152.7,64.61 L154.4,66.62 L156.2,69.68 L158,73.79 L159.7,78.96 L161.5,85.18 L163.3,92.44 L165,100.7 L166.8,110 L168.6,120.3 L170.3,131.4 L172.1,143.3 L173.9,155.9 L175.6,169 L177.4,182.6 L179.2,196.3 L180.9,210.2 L182.7,224 L184.5,237.5 L186.2,250.5 L188,263 L189.8,274.8 L191.5,285.8 L193.3,295.9 L195.1,305.1 L196.8,313.2 L198.6,320.3 L200.4,326.4 L202.1,331.4 L203.9,335.4 L205.7,338.3 L207.4,340.1 L209.2,341 L211,340.7 L212.7,339.5 L214.5,337.2 L216.3,333.8 L218,329.4 L219.8,323.9 L221.6,317.4 L223.3,309.9 L225.1,301.3 L226.9,291.7 L228.6,281.2 L230.4,269.9 L232.2,257.8 L233.9,245 L235.7,231.7 L237.5,218.1 L239.2,204.3 L241,190.4 L242.7,176.7 L244.5,163.3 L246.3,150.4 L248,138.1 L249.8,126.5 L251.6,115.7 L253.3,105.9 L255.1,97.04 L256.9,89.19 L258.6,82.37 L260.4,76.61 L262.2,71.9 L263.9,68.24 L265.7,65.63 L267.5,64.07 L269.2,63.55 L271,64.07 L272.8,65.63 L274.5,68.24 L276.3,71.9 L278.1,76.61 L279.8,82.37 L281.6,89.19 L283.4,97.04 L285.1,105.9 L286.9,115.7 L288.7,126.5 L290.4,138.1 L292.2,150.4 L294,163.3 L295.7,176.7 L297.5,190.4 L299.3,204.3 L301,218.1 L302.8,231.7 L304.6,245 L306.3,257.8 L308.1,269.9 L309.9,281.2 L311.6,291.7 L313.4,301.3 L315.2,309.9 L316.9,317.4 L318.7,323.9 L320.5,329.4 L322.2,333.8 L324,337.2 L325.8,339.5 L327.5,340.7 L329.3,341 L331.1,340.1 L332.8,338.3 L334.6,335.4 L336.4,331.4 L338.1,326.4 L339.9,320.3 L341.7,313.2 L343.4,305.1 L345.2,295.9 L347,285.8 L348.7,274.8 L350.5,263 L352.3,250.5 L354,237.5 L355.8,224 L357.6,210.2 L359.3,196.3 L361.1,182.6 L362.9,169 L364.6,155.9 L366.4,143.3 L368.2,131.4 L369.9,120.3 L371.7,110 L373.5,100.7 L375.2,92.44 L377,85.18 L378.8,78.96 L380.5,73.79 L382.3,69.68 L384.1,66.62 L385.8,64.61 L387.6,63.65 L389.4,63.72 L391.1,64.83 L392.9,66.99 L394.7,70.19 L396.4,74.45 L398.2,79.76 L400,86.13 L401.7,93.54 L403.5,102 L405.3,111.4 L407,121.8 L408.8,133 L410.6,145 L412.3,157.7 L414.1,170.9 L415.9,184.5 L417.6,198.3 L419.4,212.1 L421.2,225.9 L422.9,239.3 L424.7,252.3 L426.5,264.7 L428.2,276.4 L430,287.3 L431.8,297.3 L433.5,306.3 L435.3,314.3 L437.1,321.3 L438.8,327.2 L440.6,332 L442.4,335.8 L444.1,338.6 L445.9,340.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,261 L94.37,248.7 L96.13,235.7 L97.9,222.3 L99.67,208.5 L101.4,194.7 L103.2,180.9 L105,167.5 L106.7,154.6 L108.5,142.4 L110.3,131 L112,120.4 L113.8,110.9 L115.6,102.3 L117.3,94.69 L119.1,88.03 L120.9,82.29 L122.6,77.42 L124.4,73.35 L126.2,70.05 L127.9,67.47 L129.7,65.56 L131.5,64.29 L133.2,63.64 L135,63.61 L136.8,64.18 L138.5,65.37 L140.3,67.2 L142.1,69.7 L143.8,72.92 L145.6,76.88 L147.4,81.66 L149.1,87.29 L150.9,93.83 L152.7,101.3 L154.4,109.8 L156.2,119.2 L158,129.6 L159.7,140.9 L161.5,153.1 L163.3,165.9 L165,179.3 L166.8,193 L168.6,206.8 L170.3,220.6 L172.1,234.1 L173.9,247.2 L175.6,259.6 L177.4,271.2 L179.2,281.9 L180.9,291.7 L182.7,300.5 L184.5,308.3 L186.2,315.1 L188,321.1 L189.8,326.1 L191.5,330.4 L193.3,333.8 L195.1,336.6 L196.8,338.6 L198.6,340 L200.4,340.8 L202.1,341 L203.9,340.6 L205.7,339.5 L207.4,337.8 L209.2,335.5 L211,332.4 L212.7,328.6 L214.5,324 L216.3,318.6 L218,312.2 L219.8,305 L221.6,296.7 L223.3,287.5 L225.1,277.3 L226.9,266.2 L228.6,254.2 L230.4,241.5 L232.2,228.3 L233.9,214.6 L235.7,200.8 L237.5,186.9 L239.2,173.3 L241,160.2 L242.7,147.7 L244.5,135.9 L246.3,124.9 L248,115 L249.8,105.9 L251.6,97.91 L253.3,90.84 L255.1,84.71 L256.9,79.46 L258.6,75.04 L260.4,71.41 L262.2,68.52 L263.9,66.32 L265.7,64.77 L267.5,63.85 L269.2,63.55 L271,63.85 L272.8,64.77 L274.5,66.32 L276.3,68.52 L278.1,71.41 L279.8,75.04 L281.6,79.46 L283.4,84.71 L285.1,90.84 L286.9,97.91 L288.7,105.9 L290.4,115 L292.2,124.9 L294,135.9 L295.7,147.7 L297.5,160.2 L299.3,173.3 L301,186.9 L302.8,200.8 L304.6,214.6 L306.3,228.3 L308.1,241.5 L309.9,254.2 L311.6,266.2 L313.4,277.3 L315.2,287.5 L316.9,296.7 L318.7,305 L320.5,312.2 L322.2,318.6 L324,324 L325.8,328.6 L327.5,332.4 L329.3,335.5 L331.1,337.8 L332.8,339.5 L334.6,340.6 L336.4,341 L338.1,340.8 L339.9,340 L341.7,338.6 L343.4,336.6 L345.2,333.8 L347,330.4 L348.7,326.1 L350.5,321.1 L352.3,315.1 L354,308.3 L355.8,300.5 L357.6,291.7 L359.3,281.9 L361.1,271.2 L362.9,259.6 L364.6,247.2 L366.4,234.1 L368.2,220.6 L369.9,206.8 L371.7,193 L373.5,179.3 L375.2,165.9 L377,153.1 L378.8,140.9 L380.5,129.6 L382.3,119.2 L384.1,109.8 L385.8,101.3 L387.6,93.83 L389.4,87.29 L391.1,81.66 L392.9,76.88 L394.7,72.92 L396.4,69.7 L398.2,67.2 L400,65.37 L401.7,64.18 L403.5,63.61 L405.3,63.64 L407,64.29 L408.8,65.56 L410.6,67.47 L412.3,70.05 L414.1,73.35 L415.9,77.42 L417.6,82.29 L419.4,88.03 L421.2,94.69 L422.9,102.3 L424.7,110.9 L426.5,120.4 L428.2,131 L430,142.4 L431.8,154.6 L433.5,167.5 L435.3,180.9 L437.1,194.7 L438.8,208.5 L440.6,222.3 L442.4,235.7 L444.1,248.7 L445.9,261 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,64.46 L94.37,65.07 L96.13,65.87 L97.9,66.89 L99.67,68.15 L101.4,69.7 L103.2,71.59 L105,73.88 L106.7,76.62 L108.5,79.89 L110.3,83.77 L112,88.35 L113.8,93.7 L115.6,99.92 L117.3,107.1 L119.1,115.2 L120.9,124.4 L122.6,134.7 L124.4,145.9 L126.2,158 L127.9,170.9 L129.7,184.3 L131.5,198.1 L133.2,212 L135,225.7 L136.8,238.9 L138.5,251.5 L140.3,263.3 L142.1,274.1 L143.8,283.9 L145.6,292.7 L147.4,300.5 L149.1,307.2 L150.9,313.1 L152.7,318.1 L154.4,322.4 L156.2,326 L158,329.1 L159.7,331.6 L161.5,333.8 L163.3,335.5 L165,336.9 L166.8,338.1 L168.6,339 L170.3,339.7 L172.1,340.3 L173.9,340.7 L175.6,340.9 L177.4,341 L179.2,341 L180.9,340.8 L182.7,340.5 L184.5,340 L186.2,339.3 L188,338.5 L189.8,337.4 L191.5,336.1 L193.3,334.5 L195.1,332.5 L196.8,330.2 L198.6,327.3 L200.4,323.9 L202.1,319.9 L203.9,315.2 L205.7,309.7 L207.4,303.3 L209.2,295.9 L211,287.6 L212.7,278.1 L214.5,267.7 L216.3,256.3 L218,244 L219.8,231 L221.6,217.5 L223.3,203.7 L225.1,189.8 L226.9,176.2 L228.6,163.1 L230.4,150.6 L232.2,139 L233.9,128.4 L235.7,118.8 L237.5,110.2 L239.2,102.7 L241,96.08 L242.7,90.39 L244.5,85.51 L246.3,81.36 L248,77.86 L249.8,74.91 L251.6,72.45 L253.3,70.41 L255.1,68.73 L256.9,67.36 L258.6,66.25 L260.4,65.37 L262.2,64.68 L263.9,64.17 L265.7,63.82 L267.5,63.62 L269.2,63.55 L271,63.62 L272.8,63.82 L274.5,64.17 L276.3,64.68 L278.1,65.37 L279.8,66.25 L281.6,67.36 L283.4,68.73 L285.1,70.41 L286.9,72.45 L288.7,74.91 L290.4,77.86 L292.2,81.36 L294,85.51 L295.7,90.39 L297.5,96.08 L299.3,102.7 L301,110.2 L302.8,118.8 L304.6,128.4 L306.3,139 L308.1,150.6 L309.9,163.1 L311.6,176.2 L313.4,189.8 L315.2,203.7 L316.9,217.5 L318.7,231 L320.5,244 L322.2,256.3 L324,267.7 L325.8,278.1 L327.5,287.6 L329.3,295.9 L331.1,303.3 L332.8,309.7 L334.6,315.2 L336.4,319.9 L338.1,323.9 L339.9,327.3 L341.7,330.2 L343.4,332.5 L345.2,334.5 L347,336.1 L348.7,337.4 L350.5,338.5 L352.3,339.3 L354,340 L355.8,340.5 L357.6,340.8 L359.3,341 L361.1,341 L362.9,340.9 L364.6,340.7 L366.4,340.3 L368.2,339.7 L369.9,339 L371.7,338.1 L373.5,336.9 L375.2,335.5 L377,333.8 L378.8,331.6 L380.5,329.1 L382.3,326 L384.1,322.4 L385.8,318.1 L387.6,313.1 L389.4,307.2 L391.1,300.5 L392.9,292.7 L394.7,283.9 L396.4,274.1 L398.2,263.3 L400,251.5 L401.7,238.9 L403.5,225.7 L405.3,212 L407,198.1 L408.8,184.3 L410.6,170.9 L412.3,158 L414.1,145.9 L415.9,134.7 L417.6,124.4 L419.4,115.2 L421.2,107.1 L422.9,99.92 L424.7,93.7 L426.5,88.35 L428.2,83.77 L430,79.89 L431.8,76.62 L433.5,73.88 L435.3,71.59 L437.1,69.7 L438.8,68.15 L440.6,66.89 L442.4,65.87 L444.1,65.07 L445.9,64.46 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,63.55 L94.37,63.55 L96.13,63.55 L97.9,63.55 L99.67,63.55 L101.4,63.55 L103.2,63.55 L105,63.55 L106.7,63.55 L108.5,63.55 L110.3,63.55 L112,63.55 L113.8,63.55 L115.6,63.55 L117.3,63.55 L119.1,63.55 L120.9,63.55 L122.6,63.55 L124.4,63.55 L126.2,63.55 L127.9,63.55 L129.7,63.55 L131.5,63.55 L133.2,63.55 L135,63.55 L136.8,63.55 L138.5,63.55 L140.3,63.55 L142.1,63.55 L143.8,63.55 L145.6,63.55 L147.4,63.55 L149.1,63.55 L150.9,63.55 L152.7,63.55 L154.4,63.55 L156.2,63.55 L158,63.55 L159.7,63.55 L161.5,63.55 L163.3,63.55 L165,63.55 L166.8,63.55 L168.6,63.55 L170.3,63.55 L172.1,63.55 L173.9,63.55 L175.6,63.55 L177.4,63.55 L179.2,63.55 L180.9,63.55 L182.7,63.55 L184.5,63.55 L186.2,63.55 L188,63.55 L189.8,63.55 L191.5,63.55 L193.3,63.55 L195.1,63.55 L196.8,63.55 L198.6,63.55 L200.4,63.55 L202.1,63.55 L203.9,63.55 L205.7,63.55 L207.4,63.55 L209.2,63.55 L211,63.55 L212.7,63.55 L214.5,63.55 L216.3,63.55 L218,63.55 L219.8,63.55 L221.6,63.55 L223.3,63.55 L225.1,63.55 L226.9,63.55 L228.6,63.55 L230.4,63.55 L232.2,63.55 L233.9,63.55 L235.7,63.55 L237.5,63.55 L239.2,63.55 L241,63.55 L242.7,63.55 L244.5,63.55 L246.3,63.55 L248,63.55 L249.8,63.55 L251.6,63.55 L253.3,63.55 L255.1,63.55 L256.9,63.55 L258.6,63.55 L260.4,63.55 L262.2,63.55 L263.9,63.55 L265.7,63.55 L267.5,63.55 L269.2,63.55 L271,63.55 L272.8,63.55 L274.5,63.55 L276.3,63.55 L278.1,63.55 L279.8,63.55 L281.6,63.55 L283.4,63.55 L285.1,63.55 L286.9,63.55 L288.7,63.55 L290.4,63.55 L292.2,63.55 L294,63.55 L295.7,63.55 L297.5,63.55 L299.3,63.55 L301,63.55 L302.8,63.55 L304.6,63.55 L306.3,63.55 L308.1,63.55 L309.9,63.55 L311.6,63.55 L313.4,63.55 L315.2,63.55 L316.9,63.55 L318.7,63.55 L320.5,63.55 L322.2,63.55 L324,63.55 L325.8,63.55 L327.5,63.55 L329.3,63.55 L331.1,63.55 L332.8,63.55 L334.6,63.55 L336.4,63.55 L338.1,63.55 L339.9,63.55 L341.7,63.55 L343.4,63.55 L345.2,63.55 L347,63.55 L348.7,63.55 L350.5,63.55 L352.3,63.55 L354,63.55 L355.8,63.55 L357.6,63.55 L359.3,63.55 L361.1,63.55 L362.9,63.55 L364.6,63.55 L366.4,63.55 L368.2,63.55 L369.9,63.55 L371.7,63.55 L373.5,63.55 L375.2,63.55 L377,63.55 L378.8,63.55 L380.5,63.55 L382.3,63.55 L384.1,63.55 L385.8,63.55 L387.6,63.55 L389.4,63.55 L391.1,63.55 L392.9,63.55 L394.7,63.55 L396.4,63.55 L398.2,63.55 L400,63.55 L401.7,63.55 L403.5,63.55 L405.3,63.55 L407,63.55 L408.8,63.55 L410.6,63.55 L412.3,63.55 L414.1,63.55 L415.9,63.55 L417.6,63.55 L419.4,63.55 L421.2,63.55 L422.9,63.55 L424.7,63.55 L426.5,63.55 L428.2,63.55 L430,63.55 L431.8,63.55 L433.5,63.55 L435.3,63.55 L437.1,63.55 L438.8,63.55 L440.6,63.55 L442.4,63.55 L444.1,63.55 L445.9,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic cd</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_cn.png b/libs/math/doc/graphs/jacobi_cn.png
new file mode 100644
index 0000000000..a5ba5fa1d0
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_cn.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_cn.svg b/libs/math/doc/graphs/jacobi_cn.svg
new file mode 100644
index 0000000000..889f0d815a
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_cn.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="358.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="360.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="269.2" y1="58" x2="269.2" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="453" y2="202.3"/><line x1="87.6" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,184.9 L92.6,184.9 M90.6,167.6 L92.6,167.6 M90.6,150.3 L92.6,150.3 M90.6,115.6 L92.6,115.6 M90.6,98.23 L92.6,98.23 M90.6,80.89 L92.6,80.89 M90.6,202.3 L92.6,202.3 M90.6,219.6 L92.6,219.6 M90.6,237 L92.6,237 M90.6,254.3 L92.6,254.3 M90.6,271.7 L92.6,271.7 M90.6,289 L92.6,289 M90.6,306.3 L92.6,306.3 M90.6,323.7 L92.6,323.7 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M291.3,341 L291.3,343 M313.4,341 L313.4,343 M335.5,341 L335.5,343 M379.7,341 L379.7,343 M401.7,341 L401.7,343 M423.8,341 L423.8,343 M247.2,341 L247.2,343 M225.1,341 L225.1,343 M203,341 L203,343 M158.8,341 L158.8,343 M136.8,341 L136.8,343 M114.7,341 L114.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,132.9 L92.6,132.9 M87.6,63.55 L92.6,63.55 M87.6,202.3 L92.6,202.3 M87.6,271.7 L92.6,271.7 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M269.2,341 L269.2,346 M357.6,341 L357.6,346 M445.9,341 L445.9,346 M269.2,341 L269.2,346 M180.9,341 L180.9,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="357.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="445.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="180.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="274.1" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_cn(k, u)</text></g>
+<g id="xLabel">
+<text x="272.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,318.7 L94.37,325.7 L96.13,331.4 L97.9,335.8 L99.67,338.9 L101.4,340.6 L103.2,341 L105,339.9 L106.7,337.5 L108.5,333.8 L110.3,328.7 L112,322.4 L113.8,314.8 L115.6,306.2 L117.3,296.5 L119.1,285.8 L120.9,274.3 L122.6,262.1 L124.4,249.3 L126.2,236.1 L127.9,222.5 L129.7,208.7 L131.5,194.8 L133.2,181 L135,167.4 L136.8,154.2 L138.5,141.4 L140.3,129.3 L142.1,117.9 L143.8,107.3 L145.6,97.69 L147.4,89.12 L149.1,81.67 L150.9,75.43 L152.7,70.45 L154.4,66.8 L156.2,64.49 L158,63.57 L159.7,64.03 L161.5,65.87 L163.3,69.07 L165,73.61 L166.8,79.43 L168.6,86.48 L170.3,94.69 L172.1,104 L173.9,114.2 L175.6,125.4 L177.4,137.3 L179.2,149.8 L180.9,162.9 L182.7,176.4 L184.5,190.1 L186.2,204 L188,217.8 L189.8,231.5 L191.5,244.9 L193.3,257.9 L195.1,270.3 L196.8,282 L198.6,293 L200.4,303 L202.1,312 L203.9,320 L205.7,326.7 L207.4,332.2 L209.2,336.4 L211,339.3 L212.7,340.8 L214.5,340.9 L216.3,339.6 L218,337 L219.8,333 L221.6,327.7 L223.3,321.2 L225.1,313.4 L226.9,304.6 L228.6,294.7 L230.4,283.9 L232.2,272.3 L233.9,260 L235.7,247.1 L237.5,233.8 L239.2,220.2 L241,206.3 L242.7,192.5 L244.5,178.7 L246.3,165.2 L248,152 L249.8,139.4 L251.6,127.3 L253.3,116 L255.1,105.6 L256.9,96.17 L258.6,87.78 L260.4,80.53 L262.2,74.5 L263.9,69.75 L265.7,66.31 L267.5,64.24 L269.2,63.55 L271,64.24 L272.8,66.31 L274.5,69.75 L276.3,74.5 L278.1,80.53 L279.8,87.78 L281.6,96.17 L283.4,105.6 L285.1,116 L286.9,127.3 L288.7,139.4 L290.4,152 L292.2,165.2 L294,178.7 L295.7,192.5 L297.5,206.3 L299.3,220.2 L301,233.8 L302.8,247.1 L304.6,260 L306.3,272.3 L308.1,283.9 L309.9,294.7 L311.6,304.6 L313.4,313.4 L315.2,321.2 L316.9,327.7 L318.7,333 L320.5,337 L322.2,339.6 L324,340.9 L325.8,340.8 L327.5,339.3 L329.3,336.4 L331.1,332.2 L332.8,326.7 L334.6,320 L336.4,312 L338.1,303 L339.9,293 L341.7,282 L343.4,270.3 L345.2,257.9 L347,244.9 L348.7,231.5 L350.5,217.8 L352.3,204 L354,190.1 L355.8,176.4 L357.6,162.9 L359.3,149.8 L361.1,137.3 L362.9,125.4 L364.6,114.2 L366.4,104 L368.2,94.69 L369.9,86.48 L371.7,79.43 L373.5,73.61 L375.2,69.07 L377,65.87 L378.8,64.03 L380.5,63.57 L382.3,64.49 L384.1,66.8 L385.8,70.45 L387.6,75.43 L389.4,81.67 L391.1,89.12 L392.9,97.69 L394.7,107.3 L396.4,117.9 L398.2,129.3 L400,141.4 L401.7,154.2 L403.5,167.4 L405.3,181 L407,194.8 L408.8,208.7 L410.6,222.5 L412.3,236.1 L414.1,249.3 L415.9,262.1 L417.6,274.3 L419.4,285.8 L421.2,296.5 L422.9,306.2 L424.7,314.8 L426.5,322.4 L428.2,328.7 L430,333.8 L431.8,337.5 L433.5,339.9 L435.3,341 L437.1,340.6 L438.8,338.9 L440.6,335.8 L442.4,331.4 L444.1,325.7 L445.9,318.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,340.1 L94.37,337.9 L96.13,334.3 L97.9,329.4 L99.67,323.4 L101.4,316.4 L103.2,308.3 L105,299.5 L106.7,289.9 L108.5,279.7 L110.3,268.9 L112,257.8 L113.8,246.4 L115.6,234.7 L117.3,222.8 L119.1,210.8 L120.9,198.8 L122.6,186.8 L124.4,174.9 L126.2,163.2 L127.9,151.6 L129.7,140.3 L131.5,129.4 L133.2,119 L135,109.1 L136.8,99.92 L138.5,91.52 L140.3,84.03 L142.1,77.55 L143.8,72.21 L145.6,68.08 L147.4,65.25 L149.1,63.77 L150.9,63.68 L152.7,64.96 L154.4,67.61 L156.2,71.55 L158,76.74 L159.7,83.06 L161.5,90.42 L163.3,98.7 L165,107.8 L166.8,117.6 L168.6,127.9 L170.3,138.8 L172.1,150 L173.9,161.5 L175.6,173.3 L177.4,185.2 L179.2,197.2 L180.9,209.2 L182.7,221.1 L184.5,233 L186.2,244.7 L188,256.2 L189.8,267.4 L191.5,278.2 L193.3,288.5 L195.1,298.2 L196.8,307.1 L198.6,315.3 L200.4,322.5 L202.1,328.7 L203.9,333.7 L205.7,337.4 L207.4,339.9 L209.2,341 L211,340.7 L212.7,339 L214.5,336 L216.3,331.7 L218,326.2 L219.8,319.5 L221.6,311.9 L223.3,303.4 L225.1,294.1 L226.9,284.1 L228.6,273.6 L230.4,262.6 L232.2,251.3 L233.9,239.7 L235.7,227.9 L237.5,216 L239.2,204 L241,192 L242.7,180 L244.5,168.2 L246.3,156.5 L248,145.1 L249.8,134.1 L251.6,123.4 L253.3,113.3 L255.1,103.8 L256.9,95.03 L258.6,87.13 L260.4,80.21 L262.2,74.36 L263.9,69.7 L265.7,66.31 L267.5,64.24 L269.2,63.55 L271,64.24 L272.8,66.31 L274.5,69.7 L276.3,74.36 L278.1,80.21 L279.8,87.13 L281.6,95.03 L283.4,103.8 L285.1,113.3 L286.9,123.4 L288.7,134.1 L290.4,145.1 L292.2,156.5 L294,168.2 L295.7,180 L297.5,192 L299.3,204 L301,216 L302.8,227.9 L304.6,239.7 L306.3,251.3 L308.1,262.6 L309.9,273.6 L311.6,284.1 L313.4,294.1 L315.2,303.4 L316.9,311.9 L318.7,319.5 L320.5,326.2 L322.2,331.7 L324,336 L325.8,339 L327.5,340.7 L329.3,341 L331.1,339.9 L332.8,337.4 L334.6,333.7 L336.4,328.7 L338.1,322.5 L339.9,315.3 L341.7,307.1 L343.4,298.2 L345.2,288.5 L347,278.2 L348.7,267.4 L350.5,256.2 L352.3,244.7 L354,233 L355.8,221.1 L357.6,209.2 L359.3,197.2 L361.1,185.2 L362.9,173.3 L364.6,161.5 L366.4,150 L368.2,138.8 L369.9,127.9 L371.7,117.6 L373.5,107.8 L375.2,98.7 L377,90.42 L378.8,83.06 L380.5,76.74 L382.3,71.55 L384.1,67.61 L385.8,64.96 L387.6,63.68 L389.4,63.77 L391.1,65.25 L392.9,68.08 L394.7,72.21 L396.4,77.55 L398.2,84.03 L400,91.52 L401.7,99.92 L403.5,109.1 L405.3,119 L407,129.4 L408.8,140.3 L410.6,151.6 L412.3,163.2 L414.1,174.9 L415.9,186.8 L417.6,198.8 L419.4,210.8 L421.2,222.8 L422.9,234.7 L424.7,246.4 L426.5,257.8 L428.2,268.9 L430,279.7 L431.8,289.9 L433.5,299.5 L435.3,308.3 L437.1,316.4 L438.8,323.4 L440.6,329.4 L442.4,334.3 L444.1,337.9 L445.9,340.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,243.3 L94.37,234 L96.13,224.8 L97.9,215.6 L99.67,206.4 L101.4,197.2 L103.2,188.1 L105,178.9 L106.7,169.6 L108.5,160.4 L110.3,151.2 L112,141.9 L113.8,132.7 L115.6,123.7 L117.3,114.8 L119.1,106.2 L120.9,98.01 L122.6,90.34 L124.4,83.36 L126.2,77.21 L127.9,72.05 L129.7,68.02 L131.5,65.23 L133.2,63.77 L135,63.68 L136.8,64.98 L138.5,67.61 L140.3,71.5 L142.1,76.53 L143.8,82.57 L145.6,89.46 L147.4,97.05 L149.1,105.2 L150.9,113.7 L152.7,122.6 L154.4,131.6 L156.2,140.8 L158,150 L159.7,159.3 L161.5,168.5 L163.3,177.8 L165,187 L166.8,196.1 L168.6,205.3 L170.3,214.5 L172.1,223.7 L173.9,232.9 L175.6,242.1 L177.4,251.4 L179.2,260.6 L180.9,269.8 L182.7,278.9 L184.5,287.8 L186.2,296.5 L188,304.8 L189.8,312.6 L191.5,319.7 L193.3,326.1 L195.1,331.5 L196.8,335.8 L198.6,338.8 L200.4,340.6 L202.1,341 L203.9,340 L205.7,337.7 L207.4,334 L209.2,329.2 L211,323.4 L212.7,316.7 L214.5,309.2 L216.3,301.2 L218,292.7 L219.8,284 L221.6,274.9 L223.3,265.8 L225.1,256.6 L226.9,247.3 L228.6,238.1 L230.4,228.9 L232.2,219.6 L233.9,210.5 L235.7,201.3 L237.5,192.1 L239.2,182.9 L241,173.7 L242.7,164.5 L244.5,155.2 L246.3,146 L248,136.8 L249.8,127.6 L251.6,118.7 L253.3,109.9 L255.1,101.6 L256.9,93.64 L258.6,86.34 L260.4,79.8 L262.2,74.19 L263.9,69.64 L265.7,66.29 L267.5,64.24 L269.2,63.55 L271,64.24 L272.8,66.29 L274.5,69.64 L276.3,74.19 L278.1,79.8 L279.8,86.34 L281.6,93.64 L283.4,101.6 L285.1,109.9 L286.9,118.7 L288.7,127.6 L290.4,136.8 L292.2,146 L294,155.2 L295.7,164.5 L297.5,173.7 L299.3,182.9 L301,192.1 L302.8,201.3 L304.6,210.5 L306.3,219.6 L308.1,228.9 L309.9,238.1 L311.6,247.3 L313.4,256.6 L315.2,265.8 L316.9,274.9 L318.7,284 L320.5,292.7 L322.2,301.2 L324,309.2 L325.8,316.7 L327.5,323.4 L329.3,329.2 L331.1,334 L332.8,337.7 L334.6,340 L336.4,341 L338.1,340.6 L339.9,338.8 L341.7,335.8 L343.4,331.5 L345.2,326.1 L347,319.7 L348.7,312.6 L350.5,304.8 L352.3,296.5 L354,287.8 L355.8,278.9 L357.6,269.8 L359.3,260.6 L361.1,251.4 L362.9,242.1 L364.6,232.9 L366.4,223.7 L368.2,214.5 L369.9,205.3 L371.7,196.1 L373.5,187 L375.2,177.8 L377,168.5 L378.8,159.3 L380.5,150 L382.3,140.8 L384.1,131.6 L385.8,122.6 L387.6,113.7 L389.4,105.2 L391.1,97.05 L392.9,89.46 L394.7,82.57 L396.4,76.53 L398.2,71.5 L400,67.61 L401.7,64.98 L403.5,63.68 L405.3,63.77 L407,65.23 L408.8,68.02 L410.6,72.05 L412.3,77.21 L414.1,83.36 L415.9,90.34 L417.6,98.01 L419.4,106.2 L421.2,114.8 L422.9,123.7 L424.7,132.7 L426.5,141.9 L428.2,151.2 L430,160.4 L431.8,169.6 L433.5,178.9 L435.3,188.1 L437.1,197.2 L438.8,206.4 L440.6,215.6 L442.4,224.8 L444.1,234 L445.9,243.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,72.12 L94.37,77.13 L96.13,82.97 L97.9,89.45 L99.67,96.36 L101.4,103.5 L103.2,110.8 L105,118.1 L106.7,125.3 L108.5,132.2 L110.3,139 L112,145.4 L113.8,151.6 L115.6,157.5 L117.3,163.1 L119.1,168.4 L120.9,173.6 L122.6,178.5 L124.4,183.2 L126.2,187.8 L127.9,192.3 L129.7,196.6 L131.5,201 L133.2,205.3 L135,209.7 L136.8,214.1 L138.5,218.6 L140.3,223.3 L142.1,228 L143.8,233 L145.6,238.2 L147.4,243.7 L149.1,249.4 L150.9,255.4 L152.7,261.7 L154.4,268.3 L156.2,275.1 L158,282.2 L159.7,289.4 L161.5,296.7 L163.3,303.9 L165,311 L166.8,317.8 L168.6,324 L170.3,329.6 L172.1,334.2 L173.9,337.7 L175.6,340 L177.4,341 L179.2,340.6 L180.9,338.8 L182.7,335.7 L184.5,331.5 L186.2,326.3 L188,320.4 L189.8,313.8 L191.5,306.8 L193.3,299.6 L195.1,292.3 L196.8,285 L198.6,277.9 L200.4,271 L202.1,264.3 L203.9,257.9 L205.7,251.8 L207.4,246 L209.2,240.4 L211,235.1 L212.7,230 L214.5,225.1 L216.3,220.4 L218,215.9 L219.8,211.4 L221.6,207.1 L223.3,202.7 L225.1,198.4 L226.9,194 L228.6,189.6 L230.4,185 L232.2,180.4 L233.9,175.5 L235.7,170.5 L237.5,165.3 L239.2,159.8 L241,154 L242.7,147.9 L244.5,141.6 L246.3,134.9 L248,128.1 L249.8,121 L251.6,113.7 L253.3,106.4 L255.1,99.21 L256.9,92.17 L258.6,85.49 L260.4,79.37 L262.2,74.01 L263.9,69.58 L265.7,66.28 L267.5,64.24 L269.2,63.55 L271,64.24 L272.8,66.28 L274.5,69.58 L276.3,74.01 L278.1,79.37 L279.8,85.49 L281.6,92.17 L283.4,99.21 L285.1,106.4 L286.9,113.7 L288.7,121 L290.4,128.1 L292.2,134.9 L294,141.6 L295.7,147.9 L297.5,154 L299.3,159.8 L301,165.3 L302.8,170.5 L304.6,175.5 L306.3,180.4 L308.1,185 L309.9,189.6 L311.6,194 L313.4,198.4 L315.2,202.7 L316.9,207.1 L318.7,211.4 L320.5,215.9 L322.2,220.4 L324,225.1 L325.8,230 L327.5,235.1 L329.3,240.4 L331.1,246 L332.8,251.8 L334.6,257.9 L336.4,264.3 L338.1,271 L339.9,277.9 L341.7,285 L343.4,292.3 L345.2,299.6 L347,306.8 L348.7,313.8 L350.5,320.4 L352.3,326.3 L354,331.5 L355.8,335.7 L357.6,338.8 L359.3,340.6 L361.1,341 L362.9,340 L364.6,337.7 L366.4,334.2 L368.2,329.6 L369.9,324 L371.7,317.8 L373.5,311 L375.2,303.9 L377,296.7 L378.8,289.4 L380.5,282.2 L382.3,275.1 L384.1,268.3 L385.8,261.7 L387.6,255.4 L389.4,249.4 L391.1,243.7 L392.9,238.2 L394.7,233 L396.4,228 L398.2,223.3 L400,218.6 L401.7,214.1 L403.5,209.7 L405.3,205.3 L407,201 L408.8,196.6 L410.6,192.3 L412.3,187.8 L414.1,183.2 L415.9,178.5 L417.6,173.6 L419.4,168.4 L421.2,163.1 L422.9,157.5 L424.7,151.6 L426.5,145.4 L428.2,139 L430,132.2 L431.8,125.3 L433.5,118.1 L435.3,110.8 L437.1,103.5 L438.8,96.36 L440.6,89.45 L442.4,82.97 L444.1,77.13 L445.9,72.12 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,202.3 L94.37,202.3 L96.13,202.3 L97.9,202.3 L99.67,202.3 L101.4,202.3 L103.2,202.3 L105,202.3 L106.7,202.3 L108.5,202.3 L110.3,202.3 L112,202.3 L113.8,202.2 L115.6,202.2 L117.3,202.2 L119.1,202.2 L120.9,202.2 L122.6,202.2 L124.4,202.2 L126.2,202.2 L127.9,202.2 L129.7,202.2 L131.5,202.2 L133.2,202.2 L135,202.1 L136.8,202.1 L138.5,202.1 L140.3,202.1 L142.1,202.1 L143.8,202.1 L145.6,202 L147.4,202 L149.1,202 L150.9,201.9 L152.7,201.9 L154.4,201.9 L156.2,201.8 L158,201.8 L159.7,201.7 L161.5,201.7 L163.3,201.6 L165,201.5 L166.8,201.4 L168.6,201.4 L170.3,201.3 L172.1,201.2 L173.9,201 L175.6,200.9 L177.4,200.8 L179.2,200.6 L180.9,200.4 L182.7,200.2 L184.5,200 L186.2,199.8 L188,199.5 L189.8,199.2 L191.5,198.9 L193.3,198.5 L195.1,198.1 L196.8,197.7 L198.6,197.2 L200.4,196.7 L202.1,196.1 L203.9,195.4 L205.7,194.7 L207.4,193.9 L209.2,193 L211,192.1 L212.7,191 L214.5,189.8 L216.3,188.5 L218,187.1 L219.8,185.5 L221.6,183.7 L223.3,181.8 L225.1,179.7 L226.9,177.3 L228.6,174.7 L230.4,171.9 L232.2,168.8 L233.9,165.4 L235.7,161.7 L237.5,157.6 L239.2,153.2 L241,148.5 L242.7,143.3 L244.5,137.8 L246.3,131.9 L248,125.7 L249.8,119.1 L251.6,112.4 L253.3,105.5 L255.1,98.55 L256.9,91.75 L258.6,85.25 L260.4,79.25 L262.2,73.95 L263.9,69.57 L265.7,66.28 L267.5,64.24 L269.2,63.55 L271,64.24 L272.8,66.28 L274.5,69.57 L276.3,73.95 L278.1,79.25 L279.8,85.25 L281.6,91.75 L283.4,98.55 L285.1,105.5 L286.9,112.4 L288.7,119.1 L290.4,125.7 L292.2,131.9 L294,137.8 L295.7,143.3 L297.5,148.5 L299.3,153.2 L301,157.6 L302.8,161.7 L304.6,165.4 L306.3,168.8 L308.1,171.9 L309.9,174.7 L311.6,177.3 L313.4,179.7 L315.2,181.8 L316.9,183.7 L318.7,185.5 L320.5,187.1 L322.2,188.5 L324,189.8 L325.8,191 L327.5,192.1 L329.3,193 L331.1,193.9 L332.8,194.7 L334.6,195.4 L336.4,196.1 L338.1,196.7 L339.9,197.2 L341.7,197.7 L343.4,198.1 L345.2,198.5 L347,198.9 L348.7,199.2 L350.5,199.5 L352.3,199.8 L354,200 L355.8,200.2 L357.6,200.4 L359.3,200.6 L361.1,200.8 L362.9,200.9 L364.6,201 L366.4,201.2 L368.2,201.3 L369.9,201.4 L371.7,201.4 L373.5,201.5 L375.2,201.6 L377,201.7 L378.8,201.7 L380.5,201.8 L382.3,201.8 L384.1,201.9 L385.8,201.9 L387.6,201.9 L389.4,202 L391.1,202 L392.9,202 L394.7,202.1 L396.4,202.1 L398.2,202.1 L400,202.1 L401.7,202.1 L403.5,202.1 L405.3,202.2 L407,202.2 L408.8,202.2 L410.6,202.2 L412.3,202.2 L414.1,202.2 L415.9,202.2 L417.6,202.2 L419.4,202.2 L421.2,202.2 L422.9,202.2 L424.7,202.2 L426.5,202.3 L428.2,202.3 L430,202.3 L431.8,202.3 L433.5,202.3 L435.3,202.3 L437.1,202.3 L438.8,202.3 L440.6,202.3 L442.4,202.3 L444.1,202.3 L445.9,202.3 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic cn</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_cs.png b/libs/math/doc/graphs/jacobi_cs.png
new file mode 100644
index 0000000000..ac542bf045
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_cs.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_cs.svg b/libs/math/doc/graphs/jacobi_cs.svg
new file mode 100644
index 0000000000..bdb1be9c1d
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_cs.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="375.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="377.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="226.5" x2="453" y2="226.5"/><line x1="70.8" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,206.1 L75.8,206.1 M73.8,185.7 L75.8,185.7 M73.8,165.3 L75.8,165.3 M73.8,124.5 L75.8,124.5 M73.8,104.1 L75.8,104.1 M73.8,83.68 L75.8,83.68 M73.8,226.5 L75.8,226.5 M73.8,246.9 L75.8,246.9 M73.8,267.3 L75.8,267.3 M73.8,287.7 L75.8,287.7 M73.8,308.1 L75.8,308.1 M73.8,328.5 L75.8,328.5 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M78.99,341 L78.99,343 M94.93,341 L94.93,343 M110.9,341 L110.9,343 M142.7,341 L142.7,343 M158.7,341 L158.7,343 M174.6,341 L174.6,343 M206.5,341 L206.5,343 M222.4,341 L222.4,343 M238.4,341 L238.4,343 M270.2,341 L270.2,343 M286.2,341 L286.2,343 M302.1,341 L302.1,343 M334,341 L334,343 M349.9,341 L349.9,343 M365.9,341 L365.9,343 M397.8,341 L397.8,343 M413.7,341 L413.7,343 M429.6,341 L429.6,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,226.5 L75.8,226.5 M70.8,144.9 L75.8,144.9 M70.8,63.28 L75.8,63.28 M70.8,226.5 L75.8,226.5 M70.8,308.1 L75.8,308.1 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M126.8,341 L126.8,346 M190.6,341 L190.6,346 M254.3,341 L254.3,346 M318.1,341 L318.1,346 M381.8,341 L381.8,346 M445.6,341 L445.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="126.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="190.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="254.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
+<text x="318.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="381.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2.5</text>
+<text x="445.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="228.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="147.3" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="65.68" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="228.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="310.5" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_cs(k, u)</text></g>
+<g id="xLabel">
+<text x="264.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.82 L77.65,84.57 L79.5,100.7 L81.35,113.5 L83.2,124.1 L85.04,132.8 L86.89,140.2 L88.74,146.6 L90.59,152.1 L92.44,156.9 L94.29,161.2 L96.14,165 L97.99,168.4 L99.83,171.5 L101.7,174.3 L103.5,176.8 L105.4,179.2 L107.2,181.3 L109.1,183.3 L110.9,185.1 L112.8,186.8 L114.6,188.4 L116.5,189.8 L118.3,191.2 L120.2,192.5 L122,193.8 L123.9,194.9 L125.7,196 L127.6,197 L129.4,198 L131.3,199 L133.1,199.8 L135,200.7 L136.8,201.5 L138.7,202.3 L140.5,203 L142.4,203.7 L144.2,204.4 L146.1,205.1 L147.9,205.7 L149.8,206.3 L151.6,206.9 L153.5,207.5 L155.3,208 L157.1,208.5 L159,209.1 L160.8,209.6 L162.7,210 L164.5,210.5 L166.4,211 L168.2,211.4 L170.1,211.9 L171.9,212.3 L173.8,212.7 L175.6,213.1 L177.5,213.5 L179.3,213.9 L181.2,214.2 L183,214.6 L184.9,215 L186.7,215.3 L188.6,215.7 L190.4,216 L192.3,216.3 L194.1,216.7 L196,217 L197.8,217.3 L199.7,217.6 L201.5,217.9 L203.4,218.2 L205.2,218.5 L207.1,218.8 L208.9,219.1 L210.8,219.4 L212.6,219.6 L214.5,219.9 L216.3,220.2 L218.2,220.5 L220,220.7 L221.9,221 L223.7,221.3 L225.6,221.5 L227.4,221.8 L229.3,222 L231.1,222.3 L232.9,222.5 L234.8,222.8 L236.6,223 L238.5,223.3 L240.3,223.5 L242.2,223.8 L244,224 L245.9,224.3 L247.7,224.5 L249.6,224.7 L251.4,225 L253.3,225.2 L255.1,225.4 L257,225.7 L258.8,225.9 L260.7,226.2 L262.5,226.4 L264.4,226.6 L266.2,226.9 L268.1,227.1 L269.9,227.3 L271.8,227.6 L273.6,227.8 L275.5,228.1 L277.3,228.3 L279.2,228.5 L281,228.8 L282.9,229 L284.7,229.3 L286.6,229.5 L288.4,229.7 L290.3,230 L292.1,230.2 L294,230.5 L295.8,230.7 L297.7,231 L299.5,231.3 L301.4,231.5 L303.2,231.8 L305.1,232 L306.9,232.3 L308.8,232.6 L310.6,232.8 L312.4,233.1 L314.3,233.4 L316.1,233.7 L318,234 L319.8,234.2 L321.7,234.5 L323.5,234.8 L325.4,235.1 L327.2,235.4 L329.1,235.7 L330.9,236.1 L332.8,236.4 L334.6,236.7 L336.5,237 L338.3,237.4 L340.2,237.7 L342,238.1 L343.9,238.4 L345.7,238.8 L347.6,239.2 L349.4,239.6 L351.3,240 L353.1,240.4 L355,240.8 L356.8,241.2 L358.7,241.6 L360.5,242.1 L362.4,242.5 L364.2,243 L366.1,243.5 L367.9,244 L369.8,244.5 L371.6,245 L373.5,245.6 L375.3,246.2 L377.2,246.8 L379,247.4 L380.9,248 L382.7,248.7 L384.6,249.4 L386.4,250.1 L388.3,250.8 L390.1,251.6 L391.9,252.4 L393.8,253.3 L395.6,254.2 L397.5,255.1 L399.3,256.1 L401.2,257.1 L403,258.2 L404.9,259.4 L406.7,260.6 L408.6,261.9 L410.4,263.3 L412.3,264.8 L414.1,266.4 L416,268.1 L417.8,270 L419.7,272 L421.5,274.1 L423.4,276.5 L425.2,279.1 L427.1,281.9 L428.9,285 L430.8,288.5 L432.6,292.3 L434.5,296.7 L436.3,301.6 L438.2,307.2 L440,313.7 L441.9,321.2 L443.7,330.2 L445.6,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M75.8,63.75 L77.65,84.49 L79.5,100.6 L81.35,113.4 L83.2,123.9 L85.04,132.7 L86.89,140.1 L88.74,146.5 L90.59,152 L92.44,156.8 L94.29,161 L96.14,164.8 L97.99,168.2 L99.83,171.3 L101.7,174.1 L103.5,176.6 L105.4,178.9 L107.2,181.1 L109.1,183 L110.9,184.8 L112.8,186.5 L114.6,188.1 L116.5,189.6 L118.3,190.9 L120.2,192.2 L122,193.4 L123.9,194.6 L125.7,195.7 L127.6,196.7 L129.4,197.7 L131.3,198.6 L133.1,199.5 L135,200.3 L136.8,201.1 L138.7,201.9 L140.5,202.6 L142.4,203.3 L144.2,204 L146.1,204.6 L147.9,205.2 L149.8,205.8 L151.6,206.4 L153.5,206.9 L155.3,207.5 L157.1,208 L159,208.5 L160.8,209 L162.7,209.5 L164.5,209.9 L166.4,210.4 L168.2,210.8 L170.1,211.2 L171.9,211.6 L173.8,212 L175.6,212.4 L177.5,212.8 L179.3,213.2 L181.2,213.5 L183,213.9 L184.9,214.2 L186.7,214.5 L188.6,214.9 L190.4,215.2 L192.3,215.5 L194.1,215.8 L196,216.1 L197.8,216.4 L199.7,216.7 L201.5,217 L203.4,217.3 L205.2,217.6 L207.1,217.8 L208.9,218.1 L210.8,218.4 L212.6,218.6 L214.5,218.9 L216.3,219.2 L218.2,219.4 L220,219.7 L221.9,219.9 L223.7,220.1 L225.6,220.4 L227.4,220.6 L229.3,220.9 L231.1,221.1 L232.9,221.3 L234.8,221.5 L236.6,221.8 L238.5,222 L240.3,222.2 L242.2,222.4 L244,222.7 L245.9,222.9 L247.7,223.1 L249.6,223.3 L251.4,223.5 L253.3,223.7 L255.1,223.9 L257,224.1 L258.8,224.4 L260.7,224.6 L262.5,224.8 L264.4,225 L266.2,225.2 L268.1,225.4 L269.9,225.6 L271.8,225.8 L273.6,226 L275.5,226.2 L277.3,226.4 L279.2,226.6 L281,226.8 L282.9,227 L284.7,227.2 L286.6,227.4 L288.4,227.7 L290.3,227.9 L292.1,228.1 L294,228.3 L295.8,228.5 L297.7,228.7 L299.5,228.9 L301.4,229.1 L303.2,229.3 L305.1,229.5 L306.9,229.8 L308.8,230 L310.6,230.2 L312.4,230.4 L314.3,230.6 L316.1,230.8 L318,231.1 L319.8,231.3 L321.7,231.5 L323.5,231.7 L325.4,232 L327.2,232.2 L329.1,232.4 L330.9,232.7 L332.8,232.9 L334.6,233.2 L336.5,233.4 L338.3,233.7 L340.2,233.9 L342,234.2 L343.9,234.4 L345.7,234.7 L347.6,235 L349.4,235.2 L351.3,235.5 L353.1,235.8 L355,236.1 L356.8,236.4 L358.7,236.7 L360.5,237 L362.4,237.3 L364.2,237.6 L366.1,237.9 L367.9,238.2 L369.8,238.5 L371.6,238.9 L373.5,239.2 L375.3,239.6 L377.2,239.9 L379,240.3 L380.9,240.7 L382.7,241.1 L384.6,241.5 L386.4,241.9 L388.3,242.3 L390.1,242.8 L391.9,243.2 L393.8,243.7 L395.6,244.1 L397.5,244.6 L399.3,245.1 L401.2,245.7 L403,246.2 L404.9,246.8 L406.7,247.3 L408.6,247.9 L410.4,248.6 L412.3,249.2 L414.1,249.9 L416,250.6 L417.8,251.4 L419.7,252.1 L421.5,252.9 L423.4,253.8 L425.2,254.7 L427.1,255.6 L428.9,256.6 L430.8,257.6 L432.6,258.7 L434.5,259.9 L436.3,261.1 L438.2,262.4 L440,263.8 L441.9,265.3 L443.7,266.9 L445.6,268.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M75.8,63.67 L77.65,84.39 L79.5,100.5 L81.35,113.3 L83.2,123.8 L85.04,132.6 L86.89,139.9 L88.74,146.3 L90.59,151.8 L92.44,156.6 L94.29,160.8 L96.14,164.6 L97.99,168 L99.83,171.1 L101.7,173.8 L103.5,176.3 L105.4,178.6 L107.2,180.7 L109.1,182.7 L110.9,184.5 L112.8,186.2 L114.6,187.7 L116.5,189.2 L118.3,190.5 L120.2,191.8 L122,193 L123.9,194.2 L125.7,195.2 L127.6,196.2 L129.4,197.2 L131.3,198.1 L133.1,199 L135,199.8 L136.8,200.6 L138.7,201.3 L140.5,202 L142.4,202.7 L144.2,203.4 L146.1,204 L147.9,204.6 L149.8,205.2 L151.6,205.7 L153.5,206.3 L155.3,206.8 L157.1,207.3 L159,207.8 L160.8,208.2 L162.7,208.7 L164.5,209.1 L166.4,209.6 L168.2,210 L170.1,210.4 L171.9,210.8 L173.8,211.2 L175.6,211.5 L177.5,211.9 L179.3,212.2 L181.2,212.6 L183,212.9 L184.9,213.2 L186.7,213.5 L188.6,213.8 L190.4,214.1 L192.3,214.4 L194.1,214.7 L196,215 L197.8,215.3 L199.7,215.6 L201.5,215.8 L203.4,216.1 L205.2,216.3 L207.1,216.6 L208.9,216.8 L210.8,217.1 L212.6,217.3 L214.5,217.6 L216.3,217.8 L218.2,218 L220,218.2 L221.9,218.5 L223.7,218.7 L225.6,218.9 L227.4,219.1 L229.3,219.3 L231.1,219.5 L232.9,219.7 L234.8,219.9 L236.6,220.1 L238.5,220.3 L240.3,220.5 L242.2,220.7 L244,220.9 L245.9,221 L247.7,221.2 L249.6,221.4 L251.4,221.6 L253.3,221.8 L255.1,222 L257,222.1 L258.8,222.3 L260.7,222.5 L262.5,222.6 L264.4,222.8 L266.2,223 L268.1,223.2 L269.9,223.3 L271.8,223.5 L273.6,223.6 L275.5,223.8 L277.3,224 L279.2,224.1 L281,224.3 L282.9,224.5 L284.7,224.6 L286.6,224.8 L288.4,224.9 L290.3,225.1 L292.1,225.3 L294,225.4 L295.8,225.6 L297.7,225.7 L299.5,225.9 L301.4,226 L303.2,226.2 L305.1,226.4 L306.9,226.5 L308.8,226.7 L310.6,226.8 L312.4,227 L314.3,227.1 L316.1,227.3 L318,227.5 L319.8,227.6 L321.7,227.8 L323.5,227.9 L325.4,228.1 L327.2,228.2 L329.1,228.4 L330.9,228.6 L332.8,228.7 L334.6,228.9 L336.5,229.1 L338.3,229.2 L340.2,229.4 L342,229.5 L343.9,229.7 L345.7,229.9 L347.6,230 L349.4,230.2 L351.3,230.4 L353.1,230.6 L355,230.7 L356.8,230.9 L358.7,231.1 L360.5,231.3 L362.4,231.4 L364.2,231.6 L366.1,231.8 L367.9,232 L369.8,232.2 L371.6,232.4 L373.5,232.5 L375.3,232.7 L377.2,232.9 L379,233.1 L380.9,233.3 L382.7,233.5 L384.6,233.7 L386.4,233.9 L388.3,234.2 L390.1,234.4 L391.9,234.6 L393.8,234.8 L395.6,235 L397.5,235.3 L399.3,235.5 L401.2,235.7 L403,236 L404.9,236.2 L406.7,236.5 L408.6,236.7 L410.4,237 L412.3,237.2 L414.1,237.5 L416,237.8 L417.8,238 L419.7,238.3 L421.5,238.6 L423.4,238.9 L425.2,239.2 L427.1,239.5 L428.9,239.8 L430.8,240.2 L432.6,240.5 L434.5,240.8 L436.3,241.2 L438.2,241.6 L440,241.9 L441.9,242.3 L443.7,242.7 L445.6,243.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M75.8,63.58 L77.65,84.29 L79.5,100.4 L81.35,113.2 L83.2,123.7 L85.04,132.4 L86.89,139.8 L88.74,146.1 L90.59,151.6 L92.44,156.4 L94.29,160.6 L96.14,164.4 L97.99,167.7 L99.83,170.8 L101.7,173.5 L103.5,176 L105.4,178.3 L107.2,180.4 L109.1,182.4 L110.9,184.1 L112.8,185.8 L114.6,187.3 L116.5,188.8 L118.3,190.1 L120.2,191.4 L122,192.6 L123.9,193.7 L125.7,194.7 L127.6,195.7 L129.4,196.7 L131.3,197.6 L133.1,198.4 L135,199.2 L136.8,200 L138.7,200.7 L140.5,201.4 L142.4,202.1 L144.2,202.7 L146.1,203.3 L147.9,203.9 L149.8,204.5 L151.6,205 L153.5,205.5 L155.3,206 L157.1,206.5 L159,207 L160.8,207.4 L162.7,207.8 L164.5,208.3 L166.4,208.7 L168.2,209.1 L170.1,209.4 L171.9,209.8 L173.8,210.2 L175.6,210.5 L177.5,210.8 L179.3,211.2 L181.2,211.5 L183,211.8 L184.9,212.1 L186.7,212.4 L188.6,212.7 L190.4,212.9 L192.3,213.2 L194.1,213.5 L196,213.7 L197.8,214 L199.7,214.2 L201.5,214.5 L203.4,214.7 L205.2,214.9 L207.1,215.1 L208.9,215.4 L210.8,215.6 L212.6,215.8 L214.5,216 L216.3,216.2 L218.2,216.4 L220,216.6 L221.9,216.8 L223.7,216.9 L225.6,217.1 L227.4,217.3 L229.3,217.5 L231.1,217.6 L232.9,217.8 L234.8,218 L236.6,218.1 L238.5,218.3 L240.3,218.5 L242.2,218.6 L244,218.8 L245.9,218.9 L247.7,219 L249.6,219.2 L251.4,219.3 L253.3,219.5 L255.1,219.6 L257,219.7 L258.8,219.9 L260.7,220 L262.5,220.1 L264.4,220.3 L266.2,220.4 L268.1,220.5 L269.9,220.6 L271.8,220.7 L273.6,220.9 L275.5,221 L277.3,221.1 L279.2,221.2 L281,221.3 L282.9,221.4 L284.7,221.5 L286.6,221.6 L288.4,221.7 L290.3,221.8 L292.1,222 L294,222.1 L295.8,222.2 L297.7,222.3 L299.5,222.4 L301.4,222.5 L303.2,222.5 L305.1,222.6 L306.9,222.7 L308.8,222.8 L310.6,222.9 L312.4,223 L314.3,223.1 L316.1,223.2 L318,223.3 L319.8,223.4 L321.7,223.5 L323.5,223.6 L325.4,223.6 L327.2,223.7 L329.1,223.8 L330.9,223.9 L332.8,224 L334.6,224.1 L336.5,224.1 L338.3,224.2 L340.2,224.3 L342,224.4 L343.9,224.5 L345.7,224.5 L347.6,224.6 L349.4,224.7 L351.3,224.8 L353.1,224.9 L355,224.9 L356.8,225 L358.7,225.1 L360.5,225.2 L362.4,225.2 L364.2,225.3 L366.1,225.4 L367.9,225.5 L369.8,225.6 L371.6,225.6 L373.5,225.7 L375.3,225.8 L377.2,225.9 L379,225.9 L380.9,226 L382.7,226.1 L384.6,226.1 L386.4,226.2 L388.3,226.3 L390.1,226.4 L391.9,226.4 L393.8,226.5 L395.6,226.6 L397.5,226.7 L399.3,226.7 L401.2,226.8 L403,226.9 L404.9,227 L406.7,227 L408.6,227.1 L410.4,227.2 L412.3,227.3 L414.1,227.3 L416,227.4 L417.8,227.5 L419.7,227.6 L421.5,227.6 L423.4,227.7 L425.2,227.8 L427.1,227.9 L428.9,227.9 L430.8,228 L432.6,228.1 L434.5,228.2 L436.3,228.3 L438.2,228.3 L440,228.4 L441.9,228.5 L443.7,228.6 L445.6,228.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M75.8,63.55 L77.65,84.26 L79.5,100.3 L81.35,113.1 L83.2,123.6 L85.04,132.3 L86.89,139.7 L88.74,146 L90.59,151.5 L92.44,156.3 L94.29,160.5 L96.14,164.3 L97.99,167.7 L99.83,170.7 L101.7,173.4 L103.5,175.9 L105.4,178.2 L107.2,180.3 L109.1,182.3 L110.9,184 L112.8,185.7 L114.6,187.2 L116.5,188.7 L118.3,190 L120.2,191.3 L122,192.4 L123.9,193.5 L125.7,194.6 L127.6,195.6 L129.4,196.5 L131.3,197.4 L133.1,198.2 L135,199 L136.8,199.8 L138.7,200.5 L140.5,201.2 L142.4,201.9 L144.2,202.5 L146.1,203.1 L147.9,203.7 L149.8,204.2 L151.6,204.8 L153.5,205.3 L155.3,205.8 L157.1,206.3 L159,206.7 L160.8,207.2 L162.7,207.6 L164.5,208 L166.4,208.4 L168.2,208.8 L170.1,209.2 L171.9,209.5 L173.8,209.9 L175.6,210.2 L177.5,210.5 L179.3,210.9 L181.2,211.2 L183,211.5 L184.9,211.8 L186.7,212 L188.6,212.3 L190.4,212.6 L192.3,212.9 L194.1,213.1 L196,213.4 L197.8,213.6 L199.7,213.8 L201.5,214.1 L203.4,214.3 L205.2,214.5 L207.1,214.7 L208.9,214.9 L210.8,215.1 L212.6,215.3 L214.5,215.5 L216.3,215.7 L218.2,215.9 L220,216.1 L221.9,216.3 L223.7,216.4 L225.6,216.6 L227.4,216.8 L229.3,216.9 L231.1,217.1 L232.9,217.2 L234.8,217.4 L236.6,217.5 L238.5,217.7 L240.3,217.8 L242.2,218 L244,218.1 L245.9,218.2 L247.7,218.4 L249.6,218.5 L251.4,218.6 L253.3,218.8 L255.1,218.9 L257,219 L258.8,219.1 L260.7,219.2 L262.5,219.4 L264.4,219.5 L266.2,219.6 L268.1,219.7 L269.9,219.8 L271.8,219.9 L273.6,220 L275.5,220.1 L277.3,220.2 L279.2,220.3 L281,220.4 L282.9,220.5 L284.7,220.6 L286.6,220.7 L288.4,220.8 L290.3,220.8 L292.1,220.9 L294,221 L295.8,221.1 L297.7,221.2 L299.5,221.3 L301.4,221.3 L303.2,221.4 L305.1,221.5 L306.9,221.6 L308.8,221.6 L310.6,221.7 L312.4,221.8 L314.3,221.9 L316.1,221.9 L318,222 L319.8,222.1 L321.7,222.1 L323.5,222.2 L325.4,222.3 L327.2,222.3 L329.1,222.4 L330.9,222.4 L332.8,222.5 L334.6,222.6 L336.5,222.6 L338.3,222.7 L340.2,222.7 L342,222.8 L343.9,222.8 L345.7,222.9 L347.6,223 L349.4,223 L351.3,223.1 L353.1,223.1 L355,223.2 L356.8,223.2 L358.7,223.3 L360.5,223.3 L362.4,223.3 L364.2,223.4 L366.1,223.4 L367.9,223.5 L369.8,223.5 L371.6,223.6 L373.5,223.6 L375.3,223.7 L377.2,223.7 L379,223.7 L380.9,223.8 L382.7,223.8 L384.6,223.9 L386.4,223.9 L388.3,223.9 L390.1,224 L391.9,224 L393.8,224 L395.6,224.1 L397.5,224.1 L399.3,224.1 L401.2,224.2 L403,224.2 L404.9,224.3 L406.7,224.3 L408.6,224.3 L410.4,224.3 L412.3,224.4 L414.1,224.4 L416,224.4 L417.8,224.5 L419.7,224.5 L421.5,224.5 L423.4,224.6 L425.2,224.6 L427.1,224.6 L428.9,224.6 L430.8,224.7 L432.6,224.7 L434.5,224.7 L436.3,224.7 L438.2,224.8 L440,224.8 L441.9,224.8 L443.7,224.8 L445.6,224.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic cs</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_dc.png b/libs/math/doc/graphs/jacobi_dc.png
new file mode 100644
index 0000000000..45f9e15cc3
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_dc.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_dc.svg b/libs/math/doc/graphs/jacobi_dc.svg
new file mode 100644
index 0000000000..3a45fc48c5
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_dc.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="358.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="360.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="269.2" y1="58" x2="269.2" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="195.7" x2="453" y2="195.7"/><line x1="87.6" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,177.5 L92.6,177.5 M90.6,159.4 L92.6,159.4 M90.6,141.2 L92.6,141.2 M90.6,104.9 L92.6,104.9 M90.6,86.77 L92.6,86.77 M90.6,68.63 L92.6,68.63 M90.6,195.7 L92.6,195.7 M90.6,213.8 L92.6,213.8 M90.6,231.9 L92.6,231.9 M90.6,250.1 L92.6,250.1 M90.6,268.2 L92.6,268.2 M90.6,286.4 L92.6,286.4 M90.6,304.5 L92.6,304.5 M90.6,322.7 L92.6,322.7 M90.6,340.8 L92.6,340.8 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M291.3,341 L291.3,343 M313.4,341 L313.4,343 M335.5,341 L335.5,343 M379.7,341 L379.7,343 M401.7,341 L401.7,343 M423.8,341 L423.8,343 M247.2,341 L247.2,343 M225.1,341 L225.1,343 M203,341 L203,343 M158.8,341 L158.8,343 M136.8,341 L136.8,343 M114.7,341 L114.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,195.7 L92.6,195.7 M87.6,123.1 L92.6,123.1 M87.6,195.7 L92.6,195.7 M87.6,268.2 L92.6,268.2 M87.6,340.8 L92.6,340.8 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M269.2,341 L269.2,346 M357.6,341 L357.6,346 M445.9,341 L445.9,346 M269.2,341 L269.2,346 M180.9,341 L180.9,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="357.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="445.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="180.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="198.1" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="125.5" text-anchor="end" font-size="12" font-family="Verdana">50</text>
+<text x="81.6" y="198.1" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="270.6" text-anchor="end" font-size="12" font-family="Verdana">-50</text>
+<text x="81.6" y="343.2" text-anchor="end" font-size="12" font-family="Verdana">-100</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_dc(k, u)</text></g>
+<g id="xLabel">
+<text x="272.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,197.4 L94.37,197.3 L96.13,197.2 L97.9,197.2 L99.67,197.1 L101.4,197.1 L103.2,197.1 L105,197.1 L106.7,197.1 L108.5,197.2 L110.3,197.2 L112,197.3 L113.8,197.4 L115.6,197.6 L117.3,197.8 L119.1,198.1 L120.9,198.5 L122.6,199 L124.4,199.9 L126.2,201.6 L127.9,205.6 L129.7,227.2 L131.5,168.7 L133.2,186.2 L135,189.9 L136.8,191.5 L138.5,192.3 L140.3,192.9 L142.1,193.3 L143.8,193.5 L145.6,193.7 L147.4,193.9 L149.1,194 L150.9,194.1 L152.7,194.1 L154.4,194.2 L156.2,194.2 L158,194.2 L159.7,194.2 L161.5,194.2 L163.3,194.1 L165,194.1 L166.8,194 L168.6,193.9 L170.3,193.8 L172.1,193.6 L173.9,193.4 L175.6,193 L177.4,192.6 L179.2,191.8 L180.9,190.5 L182.7,187.9 L184.5,179.1 L186.2,312.8 L188,208.6 L189.8,202.5 L191.5,200.4 L193.3,199.3 L195.1,198.6 L196.8,198.2 L198.6,197.9 L200.4,197.7 L202.1,197.5 L203.9,197.4 L205.7,197.3 L207.4,197.2 L209.2,197.2 L211,197.1 L212.7,197.1 L214.5,197.1 L216.3,197.1 L218,197.2 L219.8,197.2 L221.6,197.3 L223.3,197.3 L225.1,197.5 L226.9,197.6 L228.6,197.8 L230.4,198.1 L232.2,198.5 L233.9,199.1 L235.7,200.1 L237.5,202 L239.2,206.9 L241,245.4 L242.7,175.1 L244.5,187.1 L246.3,190.2 L248,191.6 L249.8,192.5 L251.6,193 L253.3,193.3 L255.1,193.6 L256.9,193.8 L258.6,193.9 L260.4,194 L262.2,194.1 L263.9,194.1 L265.7,194.2 L267.5,194.2 L269.2,194.2 L271,194.2 L272.8,194.2 L274.5,194.1 L276.3,194.1 L278.1,194 L279.8,193.9 L281.6,193.8 L283.4,193.6 L285.1,193.3 L286.9,193 L288.7,192.5 L290.4,191.6 L292.2,190.2 L294,187.1 L295.7,175.1 L297.5,245.4 L299.3,206.9 L301,202 L302.8,200.1 L304.6,199.1 L306.3,198.5 L308.1,198.1 L309.9,197.8 L311.6,197.6 L313.4,197.5 L315.2,197.3 L316.9,197.3 L318.7,197.2 L320.5,197.2 L322.2,197.1 L324,197.1 L325.8,197.1 L327.5,197.1 L329.3,197.2 L331.1,197.2 L332.8,197.3 L334.6,197.4 L336.4,197.5 L338.1,197.7 L339.9,197.9 L341.7,198.2 L343.4,198.6 L345.2,199.3 L347,200.4 L348.7,202.5 L350.5,208.6 L352.3,312.8 L354,179.1 L355.8,187.9 L357.6,190.5 L359.3,191.8 L361.1,192.6 L362.9,193 L364.6,193.4 L366.4,193.6 L368.2,193.8 L369.9,193.9 L371.7,194 L373.5,194.1 L375.2,194.1 L377,194.2 L378.8,194.2 L380.5,194.2 L382.3,194.2 L384.1,194.2 L385.8,194.1 L387.6,194.1 L389.4,194 L391.1,193.9 L392.9,193.7 L394.7,193.5 L396.4,193.3 L398.2,192.9 L400,192.3 L401.7,191.5 L403.5,189.9 L405.3,186.2 L407,168.7 L408.8,227.2 L410.6,205.6 L412.3,201.6 L414.1,199.9 L415.9,199 L417.6,198.5 L419.4,198.1 L421.2,197.8 L422.9,197.6 L424.7,197.4 L426.5,197.3 L428.2,197.2 L430,197.2 L431.8,197.1 L433.5,197.1 L435.3,197.1 L437.1,197.1 L438.8,197.1 L440.6,197.2 L442.4,197.2 L444.1,197.3 L445.9,197.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,197.1 L94.37,197.1 L96.13,197.2 L97.9,197.2 L99.67,197.3 L101.4,197.3 L103.2,197.5 L105,197.6 L106.7,197.8 L108.5,198 L110.3,198.4 L112,198.9 L113.8,199.7 L115.6,201.1 L117.3,204.2 L119.1,216.1 L120.9,145.2 L122.6,184.3 L124.4,189.2 L126.2,191.1 L127.9,192.1 L129.7,192.7 L131.5,193.2 L133.2,193.4 L135,193.6 L136.8,193.8 L138.5,193.9 L140.3,194 L142.1,194.1 L143.8,194.1 L145.6,194.2 L147.4,194.2 L149.1,194.2 L150.9,194.2 L152.7,194.2 L154.4,194.2 L156.2,194.1 L158,194.1 L159.7,194 L161.5,193.9 L163.3,193.8 L165,193.7 L166.8,193.5 L168.6,193.2 L170.3,192.8 L172.1,192.2 L173.9,191.3 L175.6,189.6 L177.4,185.4 L179.2,161.7 L180.9,221 L182.7,204.9 L184.5,201.4 L186.2,199.8 L188,199 L189.8,198.4 L191.5,198.1 L193.3,197.8 L195.1,197.6 L196.8,197.5 L198.6,197.4 L200.4,197.3 L202.1,197.2 L203.9,197.2 L205.7,197.1 L207.4,197.1 L209.2,197.1 L211,197.1 L212.7,197.1 L214.5,197.1 L216.3,197.2 L218,197.2 L219.8,197.3 L221.6,197.4 L223.3,197.5 L225.1,197.7 L226.9,197.9 L228.6,198.2 L230.4,198.6 L232.2,199.3 L233.9,200.4 L235.7,202.5 L237.5,208.4 L239.2,297.5 L241,178.7 L242.7,187.8 L244.5,190.5 L246.3,191.8 L248,192.5 L249.8,193 L251.6,193.3 L253.3,193.6 L255.1,193.7 L256.9,193.9 L258.6,194 L260.4,194.1 L262.2,194.1 L263.9,194.2 L265.7,194.2 L267.5,194.2 L269.2,194.2 L271,194.2 L272.8,194.2 L274.5,194.2 L276.3,194.1 L278.1,194.1 L279.8,194 L281.6,193.9 L283.4,193.7 L285.1,193.6 L286.9,193.3 L288.7,193 L290.4,192.5 L292.2,191.8 L294,190.5 L295.7,187.8 L297.5,178.7 L299.3,297.5 L301,208.4 L302.8,202.5 L304.6,200.4 L306.3,199.3 L308.1,198.6 L309.9,198.2 L311.6,197.9 L313.4,197.7 L315.2,197.5 L316.9,197.4 L318.7,197.3 L320.5,197.2 L322.2,197.2 L324,197.1 L325.8,197.1 L327.5,197.1 L329.3,197.1 L331.1,197.1 L332.8,197.1 L334.6,197.2 L336.4,197.2 L338.1,197.3 L339.9,197.4 L341.7,197.5 L343.4,197.6 L345.2,197.8 L347,198.1 L348.7,198.4 L350.5,199 L352.3,199.8 L354,201.4 L355.8,204.9 L357.6,221 L359.3,161.7 L361.1,185.4 L362.9,189.6 L364.6,191.3 L366.4,192.2 L368.2,192.8 L369.9,193.2 L371.7,193.5 L373.5,193.7 L375.2,193.8 L377,193.9 L378.8,194 L380.5,194.1 L382.3,194.1 L384.1,194.2 L385.8,194.2 L387.6,194.2 L389.4,194.2 L391.1,194.2 L392.9,194.2 L394.7,194.1 L396.4,194.1 L398.2,194 L400,193.9 L401.7,193.8 L403.5,193.6 L405.3,193.4 L407,193.2 L408.8,192.7 L410.6,192.1 L412.3,191.1 L414.1,189.2 L415.9,184.3 L417.6,145.2 L419.4,216.1 L421.2,204.2 L422.9,201.1 L424.7,199.7 L426.5,198.9 L428.2,198.4 L430,198 L431.8,197.8 L433.5,197.6 L435.3,197.5 L437.1,197.3 L438.8,197.3 L440.6,197.2 L442.4,197.2 L444.1,197.1 L445.9,197.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,199.1 L94.37,200 L96.13,201.7 L97.9,205.7 L99.67,227.9 L101.4,169.2 L103.2,186.2 L105,189.9 L106.7,191.4 L108.5,192.3 L110.3,192.8 L112,193.2 L113.8,193.5 L115.6,193.6 L117.3,193.8 L119.1,193.9 L120.9,194 L122.6,194 L124.4,194.1 L126.2,194.1 L127.9,194.2 L129.7,194.2 L131.5,194.2 L133.2,194.2 L135,194.2 L136.8,194.2 L138.5,194.2 L140.3,194.2 L142.1,194.1 L143.8,194.1 L145.6,194 L147.4,194 L149.1,193.9 L150.9,193.8 L152.7,193.7 L154.4,193.5 L156.2,193.2 L158,192.9 L159.7,192.4 L161.5,191.6 L163.3,190.1 L165,186.9 L166.8,174 L168.6,239.7 L170.3,206.6 L172.1,202 L173.9,200.1 L175.6,199.2 L177.4,198.6 L179.2,198.2 L180.9,197.9 L182.7,197.7 L184.5,197.6 L186.2,197.4 L188,197.4 L189.8,197.3 L191.5,197.2 L193.3,197.2 L195.1,197.2 L196.8,197.1 L198.6,197.1 L200.4,197.1 L202.1,197.1 L203.9,197.1 L205.7,197.1 L207.4,197.1 L209.2,197.2 L211,197.2 L212.7,197.2 L214.5,197.3 L216.3,197.4 L218,197.5 L219.8,197.6 L221.6,197.8 L223.3,198 L225.1,198.3 L226.9,198.8 L228.6,199.5 L230.4,200.8 L232.2,203.4 L233.9,212 L235.7,63.55 L237.5,182.5 L239.2,188.7 L241,190.9 L242.7,192 L244.5,192.6 L246.3,193.1 L248,193.3 L249.8,193.6 L251.6,193.7 L253.3,193.8 L255.1,193.9 L256.9,194 L258.6,194.1 L260.4,194.1 L262.2,194.1 L263.9,194.2 L265.7,194.2 L267.5,194.2 L269.2,194.2 L271,194.2 L272.8,194.2 L274.5,194.2 L276.3,194.1 L278.1,194.1 L279.8,194.1 L281.6,194 L283.4,193.9 L285.1,193.8 L286.9,193.7 L288.7,193.6 L290.4,193.3 L292.2,193.1 L294,192.6 L295.7,192 L297.5,190.9 L299.3,188.7 L301,182.5 L302.8,63.55 L304.6,212 L306.3,203.4 L308.1,200.8 L309.9,199.5 L311.6,198.8 L313.4,198.3 L315.2,198 L316.9,197.8 L318.7,197.6 L320.5,197.5 L322.2,197.4 L324,197.3 L325.8,197.2 L327.5,197.2 L329.3,197.2 L331.1,197.1 L332.8,197.1 L334.6,197.1 L336.4,197.1 L338.1,197.1 L339.9,197.1 L341.7,197.1 L343.4,197.2 L345.2,197.2 L347,197.2 L348.7,197.3 L350.5,197.4 L352.3,197.4 L354,197.6 L355.8,197.7 L357.6,197.9 L359.3,198.2 L361.1,198.6 L362.9,199.2 L364.6,200.1 L366.4,202 L368.2,206.6 L369.9,239.7 L371.7,174 L373.5,186.9 L375.2,190.1 L377,191.6 L378.8,192.4 L380.5,192.9 L382.3,193.2 L384.1,193.5 L385.8,193.7 L387.6,193.8 L389.4,193.9 L391.1,194 L392.9,194 L394.7,194.1 L396.4,194.1 L398.2,194.2 L400,194.2 L401.7,194.2 L403.5,194.2 L405.3,194.2 L407,194.2 L408.8,194.2 L410.6,194.2 L412.3,194.1 L414.1,194.1 L415.9,194 L417.6,194 L419.4,193.9 L421.2,193.8 L422.9,193.6 L424.7,193.5 L426.5,193.2 L428.2,192.8 L430,192.3 L431.8,191.4 L433.5,189.9 L435.3,186.2 L437.1,169.2 L438.8,227.9 L440.6,205.7 L442.4,201.7 L444.1,200 L445.9,199.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,194.2 L94.37,194.2 L96.13,194.2 L97.9,194.2 L99.67,194.2 L101.4,194.1 L103.2,194.1 L105,194.1 L106.7,194.1 L108.5,194 L110.3,194 L112,193.9 L113.8,193.8 L115.6,193.7 L117.3,193.5 L119.1,193.3 L120.9,193.1 L122.6,192.7 L124.4,192.1 L126.2,191.1 L127.9,189.2 L129.7,184.4 L131.5,147.2 L133.2,216.4 L135,204.3 L136.8,201.2 L138.5,199.7 L140.3,199 L142.1,198.5 L143.8,198.1 L145.6,197.9 L147.4,197.7 L149.1,197.6 L150.9,197.5 L152.7,197.4 L154.4,197.3 L156.2,197.3 L158,197.2 L159.7,197.2 L161.5,197.2 L163.3,197.2 L165,197.2 L166.8,197.1 L168.6,197.1 L170.3,197.1 L172.1,197.1 L173.9,197.1 L175.6,197.1 L177.4,197.1 L179.2,197.1 L180.9,197.1 L182.7,197.1 L184.5,197.1 L186.2,197.1 L188,197.1 L189.8,197.1 L191.5,197.2 L193.3,197.2 L195.1,197.2 L196.8,197.2 L198.6,197.3 L200.4,197.3 L202.1,197.4 L203.9,197.4 L205.7,197.5 L207.4,197.6 L209.2,197.8 L211,198 L212.7,198.3 L214.5,198.7 L216.3,199.4 L218,200.5 L219.8,202.7 L221.6,208.9 L223.3,341 L225.1,179.5 L226.9,187.9 L228.6,190.5 L230.4,191.8 L232.2,192.5 L233.9,192.9 L235.7,193.2 L237.5,193.5 L239.2,193.6 L241,193.8 L242.7,193.9 L244.5,193.9 L246.3,194 L248,194 L249.8,194.1 L251.6,194.1 L253.3,194.1 L255.1,194.1 L256.9,194.2 L258.6,194.2 L260.4,194.2 L262.2,194.2 L263.9,194.2 L265.7,194.2 L267.5,194.2 L269.2,194.2 L271,194.2 L272.8,194.2 L274.5,194.2 L276.3,194.2 L278.1,194.2 L279.8,194.2 L281.6,194.2 L283.4,194.1 L285.1,194.1 L286.9,194.1 L288.7,194.1 L290.4,194 L292.2,194 L294,193.9 L295.7,193.9 L297.5,193.8 L299.3,193.6 L301,193.5 L302.8,193.2 L304.6,192.9 L306.3,192.5 L308.1,191.8 L309.9,190.5 L311.6,187.9 L313.4,179.5 L315.2,341 L316.9,208.9 L318.7,202.7 L320.5,200.5 L322.2,199.4 L324,198.7 L325.8,198.3 L327.5,198 L329.3,197.8 L331.1,197.6 L332.8,197.5 L334.6,197.4 L336.4,197.4 L338.1,197.3 L339.9,197.3 L341.7,197.2 L343.4,197.2 L345.2,197.2 L347,197.2 L348.7,197.1 L350.5,197.1 L352.3,197.1 L354,197.1 L355.8,197.1 L357.6,197.1 L359.3,197.1 L361.1,197.1 L362.9,197.1 L364.6,197.1 L366.4,197.1 L368.2,197.1 L369.9,197.1 L371.7,197.1 L373.5,197.2 L375.2,197.2 L377,197.2 L378.8,197.2 L380.5,197.2 L382.3,197.3 L384.1,197.3 L385.8,197.4 L387.6,197.5 L389.4,197.6 L391.1,197.7 L392.9,197.9 L394.7,198.1 L396.4,198.5 L398.2,199 L400,199.7 L401.7,201.2 L403.5,204.3 L405.3,216.4 L407,147.2 L408.8,184.4 L410.6,189.2 L412.3,191.1 L414.1,192.1 L415.9,192.7 L417.6,193.1 L419.4,193.3 L421.2,193.5 L422.9,193.7 L424.7,193.8 L426.5,193.9 L428.2,194 L430,194 L431.8,194.1 L433.5,194.1 L435.3,194.1 L437.1,194.1 L438.8,194.2 L440.6,194.2 L442.4,194.2 L444.1,194.2 L445.9,194.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,194.2 L94.37,194.2 L96.13,194.2 L97.9,194.2 L99.67,194.2 L101.4,194.2 L103.2,194.2 L105,194.2 L106.7,194.2 L108.5,194.2 L110.3,194.2 L112,194.2 L113.8,194.2 L115.6,194.2 L117.3,194.2 L119.1,194.2 L120.9,194.2 L122.6,194.2 L124.4,194.2 L126.2,194.2 L127.9,194.2 L129.7,194.2 L131.5,194.2 L133.2,194.2 L135,194.2 L136.8,194.2 L138.5,194.2 L140.3,194.2 L142.1,194.2 L143.8,194.2 L145.6,194.2 L147.4,194.2 L149.1,194.2 L150.9,194.2 L152.7,194.2 L154.4,194.2 L156.2,194.2 L158,194.2 L159.7,194.2 L161.5,194.2 L163.3,194.2 L165,194.2 L166.8,194.2 L168.6,194.2 L170.3,194.2 L172.1,194.2 L173.9,194.2 L175.6,194.2 L177.4,194.2 L179.2,194.2 L180.9,194.2 L182.7,194.2 L184.5,194.2 L186.2,194.2 L188,194.2 L189.8,194.2 L191.5,194.2 L193.3,194.2 L195.1,194.2 L196.8,194.2 L198.6,194.2 L200.4,194.2 L202.1,194.2 L203.9,194.2 L205.7,194.2 L207.4,194.2 L209.2,194.2 L211,194.2 L212.7,194.2 L214.5,194.2 L216.3,194.2 L218,194.2 L219.8,194.2 L221.6,194.2 L223.3,194.2 L225.1,194.2 L226.9,194.2 L228.6,194.2 L230.4,194.2 L232.2,194.2 L233.9,194.2 L235.7,194.2 L237.5,194.2 L239.2,194.2 L241,194.2 L242.7,194.2 L244.5,194.2 L246.3,194.2 L248,194.2 L249.8,194.2 L251.6,194.2 L253.3,194.2 L255.1,194.2 L256.9,194.2 L258.6,194.2 L260.4,194.2 L262.2,194.2 L263.9,194.2 L265.7,194.2 L267.5,194.2 L269.2,194.2 L271,194.2 L272.8,194.2 L274.5,194.2 L276.3,194.2 L278.1,194.2 L279.8,194.2 L281.6,194.2 L283.4,194.2 L285.1,194.2 L286.9,194.2 L288.7,194.2 L290.4,194.2 L292.2,194.2 L294,194.2 L295.7,194.2 L297.5,194.2 L299.3,194.2 L301,194.2 L302.8,194.2 L304.6,194.2 L306.3,194.2 L308.1,194.2 L309.9,194.2 L311.6,194.2 L313.4,194.2 L315.2,194.2 L316.9,194.2 L318.7,194.2 L320.5,194.2 L322.2,194.2 L324,194.2 L325.8,194.2 L327.5,194.2 L329.3,194.2 L331.1,194.2 L332.8,194.2 L334.6,194.2 L336.4,194.2 L338.1,194.2 L339.9,194.2 L341.7,194.2 L343.4,194.2 L345.2,194.2 L347,194.2 L348.7,194.2 L350.5,194.2 L352.3,194.2 L354,194.2 L355.8,194.2 L357.6,194.2 L359.3,194.2 L361.1,194.2 L362.9,194.2 L364.6,194.2 L366.4,194.2 L368.2,194.2 L369.9,194.2 L371.7,194.2 L373.5,194.2 L375.2,194.2 L377,194.2 L378.8,194.2 L380.5,194.2 L382.3,194.2 L384.1,194.2 L385.8,194.2 L387.6,194.2 L389.4,194.2 L391.1,194.2 L392.9,194.2 L394.7,194.2 L396.4,194.2 L398.2,194.2 L400,194.2 L401.7,194.2 L403.5,194.2 L405.3,194.2 L407,194.2 L408.8,194.2 L410.6,194.2 L412.3,194.2 L414.1,194.2 L415.9,194.2 L417.6,194.2 L419.4,194.2 L421.2,194.2 L422.9,194.2 L424.7,194.2 L426.5,194.2 L428.2,194.2 L430,194.2 L431.8,194.2 L433.5,194.2 L435.3,194.2 L437.1,194.2 L438.8,194.2 L440.6,194.2 L442.4,194.2 L444.1,194.2 L445.9,194.2 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic dc</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_dn.png b/libs/math/doc/graphs/jacobi_dn.png
new file mode 100644
index 0000000000..b3eb7bfcb6
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_dn.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_dn.svg b/libs/math/doc/graphs/jacobi_dn.svg
new file mode 100644
index 0000000000..5e141e7339
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_dn.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.2 L84.2,327.2 M82.2,320.2 L84.2,320.2 M82.2,306.3 L84.2,306.3 M82.2,299.4 L84.2,299.4 M82.2,292.5 L84.2,292.5 M82.2,278.6 L84.2,278.6 M82.2,271.7 L84.2,271.7 M82.2,264.7 L84.2,264.7 M82.2,250.8 L84.2,250.8 M82.2,243.9 L84.2,243.9 M82.2,237 L84.2,237 M82.2,223.1 L84.2,223.1 M82.2,216.2 L84.2,216.2 M82.2,209.2 L84.2,209.2 M82.2,195.4 L84.2,195.4 M82.2,188.4 L84.2,188.4 M82.2,181.5 L84.2,181.5 M82.2,167.6 L84.2,167.6 M82.2,160.7 L84.2,160.7 M82.2,153.7 L84.2,153.7 M82.2,139.9 L84.2,139.9 M82.2,132.9 L84.2,132.9 M82.2,126 L84.2,126 M82.2,112.1 L84.2,112.1 M82.2,105.2 L84.2,105.2 M82.2,98.23 L84.2,98.23 M82.2,84.36 L84.2,84.36 M82.2,77.42 L84.2,77.42 M82.2,70.49 L84.2,70.49 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 M242.4,341 L242.4,343 M219.8,341 L219.8,343 M197.2,341 L197.2,343 M152,341 L152,343 M129.4,341 L129.4,343 M106.8,341 L106.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,313.3 L84.2,313.3 M79.2,285.5 L84.2,285.5 M79.2,257.8 L84.2,257.8 M79.2,230 L84.2,230 M79.2,202.3 L84.2,202.3 M79.2,174.5 L84.2,174.5 M79.2,146.8 L84.2,146.8 M79.2,119 L84.2,119 M79.2,91.3 L84.2,91.3 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M265,341 L265,346 M174.6,341 L174.6,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="93.7" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_dn(k, u)</text></g>
+<g id="xLabel">
+<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,63.55 L86.01,63.55 L87.82,63.55 L89.62,63.55 L91.43,63.55 L93.24,63.55 L95.05,63.55 L96.85,63.55 L98.66,63.55 L100.5,63.55 L102.3,63.55 L104.1,63.55 L105.9,63.55 L107.7,63.55 L109.5,63.55 L111.3,63.55 L113.1,63.55 L114.9,63.55 L116.7,63.55 L118.5,63.55 L120.4,63.55 L122.2,63.55 L124,63.55 L125.8,63.55 L127.6,63.55 L129.4,63.55 L131.2,63.55 L133,63.55 L134.8,63.55 L136.6,63.55 L138.4,63.55 L140.2,63.55 L142,63.55 L143.9,63.55 L145.7,63.55 L147.5,63.55 L149.3,63.55 L151.1,63.55 L152.9,63.55 L154.7,63.55 L156.5,63.55 L158.3,63.55 L160.1,63.55 L161.9,63.55 L163.7,63.55 L165.5,63.55 L167.4,63.55 L169.2,63.55 L171,63.55 L172.8,63.55 L174.6,63.55 L176.4,63.55 L178.2,63.55 L180,63.55 L181.8,63.55 L183.6,63.55 L185.4,63.55 L187.2,63.55 L189,63.55 L190.9,63.55 L192.7,63.55 L194.5,63.55 L196.3,63.55 L198.1,63.55 L199.9,63.55 L201.7,63.55 L203.5,63.55 L205.3,63.55 L207.1,63.55 L208.9,63.55 L210.7,63.55 L212.5,63.55 L214.4,63.55 L216.2,63.55 L218,63.55 L219.8,63.55 L221.6,63.55 L223.4,63.55 L225.2,63.55 L227,63.55 L228.8,63.55 L230.6,63.55 L232.4,63.55 L234.2,63.55 L236,63.55 L237.8,63.55 L239.7,63.55 L241.5,63.55 L243.3,63.55 L245.1,63.55 L246.9,63.55 L248.7,63.55 L250.5,63.55 L252.3,63.55 L254.1,63.55 L255.9,63.55 L257.7,63.55 L259.5,63.55 L261.3,63.55 L263.2,63.55 L265,63.55 L266.8,63.55 L268.6,63.55 L270.4,63.55 L272.2,63.55 L274,63.55 L275.8,63.55 L277.6,63.55 L279.4,63.55 L281.2,63.55 L283,63.55 L284.8,63.55 L286.7,63.55 L288.5,63.55 L290.3,63.55 L292.1,63.55 L293.9,63.55 L295.7,63.55 L297.5,63.55 L299.3,63.55 L301.1,63.55 L302.9,63.55 L304.7,63.55 L306.5,63.55 L308.3,63.55 L310.2,63.55 L312,63.55 L313.8,63.55 L315.6,63.55 L317.4,63.55 L319.2,63.55 L321,63.55 L322.8,63.55 L324.6,63.55 L326.4,63.55 L328.2,63.55 L330,63.55 L331.8,63.55 L333.7,63.55 L335.5,63.55 L337.3,63.55 L339.1,63.55 L340.9,63.55 L342.7,63.55 L344.5,63.55 L346.3,63.55 L348.1,63.55 L349.9,63.55 L351.7,63.55 L353.5,63.55 L355.3,63.55 L357.2,63.55 L359,63.55 L360.8,63.55 L362.6,63.55 L364.4,63.55 L366.2,63.55 L368,63.55 L369.8,63.55 L371.6,63.55 L373.4,63.55 L375.2,63.55 L377,63.55 L378.8,63.55 L380.7,63.55 L382.5,63.55 L384.3,63.55 L386.1,63.55 L387.9,63.55 L389.7,63.55 L391.5,63.55 L393.3,63.55 L395.1,63.55 L396.9,63.55 L398.7,63.55 L400.5,63.55 L402.3,63.55 L404.2,63.55 L406,63.55 L407.8,63.55 L409.6,63.55 L411.4,63.55 L413.2,63.55 L415,63.55 L416.8,63.55 L418.6,63.55 L420.4,63.55 L422.2,63.55 L424,63.55 L425.8,63.55 L427.7,63.55 L429.5,63.55 L431.3,63.55 L433.1,63.55 L434.9,63.55 L436.7,63.55 L438.5,63.55 L440.3,63.55 L442.1,63.55 L443.9,63.55 L445.7,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,64 L86.01,65.12 L87.82,66.86 L89.62,69.16 L91.43,71.92 L93.24,75.02 L95.05,78.37 L96.85,81.82 L98.66,85.26 L100.5,88.58 L102.3,91.65 L104.1,94.39 L105.9,96.71 L107.7,98.55 L109.5,99.85 L111.3,100.6 L113.1,100.7 L114.9,100.2 L116.7,99.17 L118.5,97.56 L120.4,95.43 L122.2,92.86 L124,89.92 L125.8,86.69 L127.6,83.29 L129.4,79.83 L131.2,76.42 L133,73.2 L134.8,70.28 L136.6,67.78 L138.4,65.79 L140.2,64.4 L142,63.66 L143.9,63.61 L145.7,64.25 L147.5,65.55 L149.3,67.46 L151.1,69.9 L152.9,72.77 L154.7,75.96 L156.5,79.35 L158.3,82.81 L160.1,86.23 L161.9,89.48 L163.7,92.47 L165.5,95.1 L167.4,97.29 L169.2,98.98 L171,100.1 L172.8,100.7 L174.6,100.6 L176.4,99.99 L178.2,98.77 L180,97 L181.8,94.74 L183.6,92.06 L185.4,89.02 L187.2,85.74 L189,82.31 L190.9,78.85 L192.7,75.48 L194.5,72.33 L196.3,69.52 L198.1,67.15 L199.9,65.33 L201.7,64.12 L203.5,63.58 L205.3,63.73 L207.1,64.56 L208.9,66.04 L210.7,68.11 L212.5,70.68 L214.4,73.65 L216.2,76.91 L218,80.33 L219.8,83.79 L221.6,87.17 L223.4,90.36 L225.2,93.26 L227,95.77 L228.8,97.82 L230.6,99.36 L232.4,100.3 L234.2,100.7 L236,100.5 L237.8,99.7 L239.7,98.32 L241.5,96.41 L243.3,94.02 L245.1,91.22 L246.9,88.11 L248.7,84.77 L250.5,81.32 L252.3,77.87 L254.1,74.56 L255.9,71.49 L257.7,68.79 L259.5,66.57 L261.3,64.92 L263.2,63.89 L265,63.55 L266.8,63.89 L268.6,64.92 L270.4,66.57 L272.2,68.79 L274,71.49 L275.8,74.56 L277.6,77.87 L279.4,81.32 L281.2,84.77 L283,88.11 L284.8,91.22 L286.7,94.02 L288.5,96.41 L290.3,98.32 L292.1,99.7 L293.9,100.5 L295.7,100.7 L297.5,100.3 L299.3,99.36 L301.1,97.82 L302.9,95.77 L304.7,93.26 L306.5,90.36 L308.3,87.17 L310.2,83.79 L312,80.33 L313.8,76.91 L315.6,73.65 L317.4,70.68 L319.2,68.11 L321,66.04 L322.8,64.56 L324.6,63.73 L326.4,63.58 L328.2,64.12 L330,65.33 L331.8,67.15 L333.7,69.52 L335.5,72.33 L337.3,75.48 L339.1,78.85 L340.9,82.31 L342.7,85.74 L344.5,89.02 L346.3,92.06 L348.1,94.74 L349.9,97 L351.7,98.77 L353.5,99.99 L355.3,100.6 L357.2,100.7 L359,100.1 L360.8,98.98 L362.6,97.29 L364.4,95.1 L366.2,92.47 L368,89.48 L369.8,86.23 L371.6,82.81 L373.4,79.35 L375.2,75.96 L377,72.77 L378.8,69.9 L380.7,67.46 L382.5,65.55 L384.3,64.25 L386.1,63.61 L387.9,63.66 L389.7,64.4 L391.5,65.79 L393.3,67.78 L395.1,70.28 L396.9,73.2 L398.7,76.42 L400.5,79.83 L402.3,83.29 L404.2,86.69 L406,89.92 L407.8,92.86 L409.6,95.43 L411.4,97.56 L413.2,99.17 L415,100.2 L416.8,100.7 L418.6,100.6 L420.4,99.85 L422.2,98.55 L424,96.71 L425.8,94.39 L427.7,91.65 L429.5,88.58 L431.3,85.26 L433.1,81.82 L434.9,78.37 L436.7,75.02 L438.5,71.92 L440.3,69.16 L442.1,66.86 L443.9,65.12 L445.7,64 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,147.5 L86.01,151.4 L87.82,154.4 L89.62,156.4 L91.43,157.4 L93.24,157.3 L95.05,156.3 L96.85,154.2 L98.66,151.1 L100.5,147 L102.3,142.1 L104.1,136.4 L105.9,129.9 L107.7,122.9 L109.5,115.4 L111.3,107.7 L113.1,99.88 L114.9,92.27 L116.7,85.08 L118.5,78.57 L120.4,72.98 L122.2,68.54 L124,65.43 L125.8,63.79 L127.6,63.7 L129.4,65.15 L131.2,68.09 L133,72.38 L134.8,77.84 L136.6,84.25 L138.4,91.37 L140.2,98.94 L142,106.7 L143.9,114.5 L145.7,122 L147.5,129.1 L149.3,135.6 L151.1,141.5 L152.9,146.5 L154.7,150.6 L156.5,153.8 L158.3,156.1 L160.1,157.3 L161.9,157.4 L163.7,156.6 L165.5,154.7 L167.4,151.8 L169.2,148 L171,143.3 L172.8,137.7 L174.6,131.4 L176.4,124.5 L178.2,117.1 L180,109.4 L181.8,101.6 L183.6,93.91 L185.4,86.61 L187.2,79.93 L189,74.12 L190.9,69.41 L192.7,65.99 L194.5,64.02 L196.3,63.59 L198.1,64.7 L199.9,67.32 L201.7,71.33 L203.5,76.55 L205.3,82.78 L207.1,89.76 L208.9,97.25 L210.7,105 L212.5,112.8 L214.4,120.4 L216.2,127.6 L218,134.2 L219.8,140.2 L221.6,145.5 L223.4,149.8 L225.2,153.2 L227,155.7 L228.8,157.1 L230.6,157.5 L232.4,156.9 L234.2,155.2 L236,152.5 L237.8,148.9 L239.7,144.4 L241.5,139 L243.3,132.8 L245.1,126 L246.9,118.7 L248.7,111.1 L250.5,103.3 L252.3,95.57 L254.1,88.17 L255.9,81.33 L257.7,75.31 L259.5,70.34 L261.3,66.62 L263.2,64.33 L265,63.55 L266.8,64.33 L268.6,66.62 L270.4,70.34 L272.2,75.31 L274,81.33 L275.8,88.17 L277.6,95.57 L279.4,103.3 L281.2,111.1 L283,118.7 L284.8,126 L286.7,132.8 L288.5,139 L290.3,144.4 L292.1,148.9 L293.9,152.5 L295.7,155.2 L297.5,156.9 L299.3,157.5 L301.1,157.1 L302.9,155.7 L304.7,153.2 L306.5,149.8 L308.3,145.5 L310.2,140.2 L312,134.2 L313.8,127.6 L315.6,120.4 L317.4,112.8 L319.2,105 L321,97.25 L322.8,89.76 L324.6,82.78 L326.4,76.55 L328.2,71.33 L330,67.32 L331.8,64.7 L333.7,63.59 L335.5,64.02 L337.3,65.99 L339.1,69.41 L340.9,74.12 L342.7,79.93 L344.5,86.61 L346.3,93.91 L348.1,101.6 L349.9,109.4 L351.7,117.1 L353.5,124.5 L355.3,131.4 L357.2,137.7 L359,143.3 L360.8,148 L362.6,151.8 L364.4,154.7 L366.2,156.6 L368,157.4 L369.8,157.3 L371.6,156.1 L373.4,153.8 L375.2,150.6 L377,146.5 L378.8,141.5 L380.7,135.6 L382.5,129.1 L384.3,122 L386.1,114.5 L387.9,106.7 L389.7,98.94 L391.5,91.37 L393.3,84.25 L395.1,77.84 L396.9,72.38 L398.7,68.09 L400.5,65.15 L402.3,63.7 L404.2,63.79 L406,65.43 L407.8,68.54 L409.6,72.98 L411.4,78.57 L413.2,85.08 L415,92.27 L416.8,99.88 L418.6,107.7 L420.4,115.4 L422.2,122.9 L424,129.9 L425.8,136.4 L427.7,142.1 L429.5,147 L431.3,151.1 L433.1,154.2 L434.9,156.3 L436.7,157.3 L438.5,157.4 L440.3,156.4 L442.1,154.4 L443.9,151.4 L445.7,147.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,78.96 L86.01,87.93 L87.82,98.33 L89.62,109.8 L91.43,121.9 L93.24,134.4 L95.05,146.9 L96.85,159.1 L98.66,171 L100.5,182.2 L102.3,192.8 L104.1,202.5 L105.9,211.5 L107.7,219.6 L109.5,226.8 L111.3,233.1 L113.1,238.6 L114.9,243.3 L116.7,247.1 L118.5,250.1 L120.4,252.3 L122.2,253.7 L124,254.3 L125.8,254.2 L127.6,253.3 L129.4,251.5 L131.2,249 L133,245.7 L134.8,241.5 L136.6,236.5 L138.4,230.7 L140.2,224 L142,216.4 L143.9,208 L145.7,198.7 L147.5,188.6 L149.3,177.8 L151.1,166.3 L152.9,154.2 L154.7,141.9 L156.5,129.4 L158.3,117 L160.1,105.1 L161.9,94.02 L163.7,84.14 L165.5,75.85 L167.4,69.49 L169.2,65.34 L171,63.6 L172.8,64.35 L174.6,67.55 L176.4,73.06 L178.2,80.62 L180,89.91 L181.8,100.5 L183.6,112.2 L185.4,124.4 L187.2,136.9 L189,149.3 L190.9,161.5 L192.7,173.3 L194.5,184.4 L196.3,194.8 L198.1,204.4 L199.9,213.1 L201.7,221.1 L203.5,228.1 L205.3,234.3 L207.1,239.6 L208.9,244.1 L210.7,247.8 L212.5,250.6 L214.4,252.7 L216.2,253.9 L218,254.4 L219.8,254.1 L221.6,253 L223.4,251.1 L225.2,248.4 L227,244.9 L228.8,240.6 L230.6,235.4 L232.4,229.4 L234.2,222.5 L236,214.8 L237.8,206.2 L239.7,196.8 L241.5,186.5 L243.3,175.5 L245.1,163.9 L246.9,151.8 L248.7,139.4 L250.5,126.9 L252.3,114.6 L254.1,102.8 L255.9,91.93 L257.7,82.35 L259.5,74.42 L261.3,68.48 L263.2,64.8 L265,63.55 L266.8,64.8 L268.6,68.48 L270.4,74.42 L272.2,82.35 L274,91.93 L275.8,102.8 L277.6,114.6 L279.4,126.9 L281.2,139.4 L283,151.8 L284.8,163.9 L286.7,175.5 L288.5,186.5 L290.3,196.8 L292.1,206.2 L293.9,214.8 L295.7,222.5 L297.5,229.4 L299.3,235.4 L301.1,240.6 L302.9,244.9 L304.7,248.4 L306.5,251.1 L308.3,253 L310.2,254.1 L312,254.4 L313.8,253.9 L315.6,252.7 L317.4,250.6 L319.2,247.8 L321,244.1 L322.8,239.6 L324.6,234.3 L326.4,228.1 L328.2,221.1 L330,213.1 L331.8,204.4 L333.7,194.8 L335.5,184.4 L337.3,173.3 L339.1,161.5 L340.9,149.3 L342.7,136.9 L344.5,124.4 L346.3,112.2 L348.1,100.5 L349.9,89.91 L351.7,80.62 L353.5,73.06 L355.3,67.55 L357.2,64.35 L359,63.6 L360.8,65.34 L362.6,69.49 L364.4,75.85 L366.2,84.14 L368,94.02 L369.8,105.1 L371.6,117 L373.4,129.4 L375.2,141.9 L377,154.2 L378.8,166.3 L380.7,177.8 L382.5,188.6 L384.3,198.7 L386.1,208 L387.9,216.4 L389.7,224 L391.5,230.7 L393.3,236.5 L395.1,241.5 L396.9,245.7 L398.7,249 L400.5,251.5 L402.3,253.3 L404.2,254.2 L406,254.3 L407.8,253.7 L409.6,252.3 L411.4,250.1 L413.2,247.1 L415,243.3 L416.8,238.6 L418.6,233.1 L420.4,226.8 L422.2,219.6 L424,211.5 L425.8,202.5 L427.7,192.8 L429.5,182.2 L431.3,171 L433.1,159.1 L434.9,146.9 L436.7,134.4 L438.5,121.9 L440.3,109.8 L442.1,98.33 L443.9,87.93 L445.7,78.96 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.01,341 L87.82,341 L89.62,341 L91.43,341 L93.24,341 L95.05,341 L96.85,341 L98.66,341 L100.5,341 L102.3,341 L104.1,340.9 L105.9,340.9 L107.7,340.9 L109.5,340.9 L111.3,340.9 L113.1,340.9 L114.9,340.9 L116.7,340.9 L118.5,340.9 L120.4,340.8 L122.2,340.8 L124,340.8 L125.8,340.8 L127.6,340.7 L129.4,340.7 L131.2,340.7 L133,340.7 L134.8,340.6 L136.6,340.6 L138.4,340.5 L140.2,340.5 L142,340.4 L143.9,340.3 L145.7,340.3 L147.5,340.2 L149.3,340.1 L151.1,340 L152.9,339.9 L154.7,339.8 L156.5,339.6 L158.3,339.5 L160.1,339.3 L161.9,339.2 L163.7,339 L165.5,338.8 L167.4,338.5 L169.2,338.3 L171,338 L172.8,337.6 L174.6,337.3 L176.4,336.9 L178.2,336.5 L180,336 L181.8,335.4 L183.6,334.9 L185.4,334.2 L187.2,333.5 L189,332.7 L190.9,331.8 L192.7,330.9 L194.5,329.8 L196.3,328.6 L198.1,327.3 L199.9,325.9 L201.7,324.3 L203.5,322.5 L205.3,320.6 L207.1,318.4 L208.9,316.1 L210.7,313.5 L212.5,310.6 L214.4,307.4 L216.2,303.9 L218,300 L219.8,295.8 L221.6,291.1 L223.4,285.9 L225.2,280.3 L227,274.1 L228.8,267.3 L230.6,259.8 L232.4,251.7 L234.2,242.9 L236,233.4 L237.8,223.1 L239.7,212 L241.5,200.2 L243.3,187.8 L245.1,174.7 L246.9,161.2 L248.7,147.4 L250.5,133.6 L252.3,120 L254.1,107 L255.9,94.95 L257.7,84.36 L259.5,75.58 L261.3,69.01 L263.2,64.93 L265,63.55 L266.8,64.93 L268.6,69.01 L270.4,75.58 L272.2,84.36 L274,94.95 L275.8,107 L277.6,120 L279.4,133.6 L281.2,147.4 L283,161.2 L284.8,174.7 L286.7,187.8 L288.5,200.2 L290.3,212 L292.1,223.1 L293.9,233.4 L295.7,242.9 L297.5,251.7 L299.3,259.8 L301.1,267.3 L302.9,274.1 L304.7,280.3 L306.5,285.9 L308.3,291.1 L310.2,295.8 L312,300 L313.8,303.9 L315.6,307.4 L317.4,310.6 L319.2,313.5 L321,316.1 L322.8,318.4 L324.6,320.6 L326.4,322.5 L328.2,324.3 L330,325.9 L331.8,327.3 L333.7,328.6 L335.5,329.8 L337.3,330.9 L339.1,331.8 L340.9,332.7 L342.7,333.5 L344.5,334.2 L346.3,334.9 L348.1,335.4 L349.9,336 L351.7,336.5 L353.5,336.9 L355.3,337.3 L357.2,337.6 L359,338 L360.8,338.3 L362.6,338.5 L364.4,338.8 L366.2,339 L368,339.2 L369.8,339.3 L371.6,339.5 L373.4,339.6 L375.2,339.8 L377,339.9 L378.8,340 L380.7,340.1 L382.5,340.2 L384.3,340.3 L386.1,340.3 L387.9,340.4 L389.7,340.5 L391.5,340.5 L393.3,340.6 L395.1,340.6 L396.9,340.7 L398.7,340.7 L400.5,340.7 L402.3,340.7 L404.2,340.8 L406,340.8 L407.8,340.8 L409.6,340.8 L411.4,340.9 L413.2,340.9 L415,340.9 L416.8,340.9 L418.6,340.9 L420.4,340.9 L422.2,340.9 L424,340.9 L425.8,340.9 L427.7,341 L429.5,341 L431.3,341 L433.1,341 L434.9,341 L436.7,341 L438.5,341 L440.3,341 L442.1,341 L443.9,341 L445.7,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic dn</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_ds.png b/libs/math/doc/graphs/jacobi_ds.png
new file mode 100644
index 0000000000..d0996cbd70
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_ds.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_ds.svg b/libs/math/doc/graphs/jacobi_ds.svg
new file mode 100644
index 0000000000..97bac8b91c
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_ds.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="375.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="377.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,336.8 L75.8,336.8 M73.8,329.8 L75.8,329.8 M73.8,322.8 L75.8,322.8 M73.8,308.8 L75.8,308.8 M73.8,301.8 L75.8,301.8 M73.8,294.8 L75.8,294.8 M73.8,280.8 L75.8,280.8 M73.8,273.8 L75.8,273.8 M73.8,266.9 L75.8,266.9 M73.8,252.9 L75.8,252.9 M73.8,245.9 L75.8,245.9 M73.8,238.9 L75.8,238.9 M73.8,224.9 L75.8,224.9 M73.8,217.9 L75.8,217.9 M73.8,210.9 L75.8,210.9 M73.8,196.9 L75.8,196.9 M73.8,189.9 L75.8,189.9 M73.8,182.9 L75.8,182.9 M73.8,168.9 L75.8,168.9 M73.8,161.9 L75.8,161.9 M73.8,154.9 L75.8,154.9 M73.8,141 L75.8,141 M73.8,134 L75.8,134 M73.8,127 L75.8,127 M73.8,113 L75.8,113 M73.8,106 L75.8,106 M73.8,98.99 L75.8,98.99 M73.8,85 L75.8,85 M73.8,78 L75.8,78 M73.8,71.01 L75.8,71.01 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M78.99,341 L78.99,343 M94.93,341 L94.93,343 M110.9,341 L110.9,343 M142.7,341 L142.7,343 M158.7,341 L158.7,343 M174.6,341 L174.6,343 M206.5,341 L206.5,343 M222.4,341 L222.4,343 M238.4,341 L238.4,343 M270.2,341 L270.2,343 M286.2,341 L286.2,343 M302.1,341 L302.1,343 M334,341 L334,343 M349.9,341 L349.9,343 M365.9,341 L365.9,343 M397.8,341 L397.8,343 M413.7,341 L413.7,343 M429.6,341 L429.6,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,315.8 L75.8,315.8 M70.8,287.8 L75.8,287.8 M70.8,259.9 L75.8,259.9 M70.8,231.9 L75.8,231.9 M70.8,203.9 L75.8,203.9 M70.8,175.9 L75.8,175.9 M70.8,147.9 L75.8,147.9 M70.8,120 L75.8,120 M70.8,91.99 L75.8,91.99 M70.8,64.02 L75.8,64.02 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M126.8,341 L126.8,346 M190.6,341 L190.6,346 M254.3,341 L254.3,346 M318.1,341 L318.1,346 M381.8,341 L381.8,346 M445.6,341 L445.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="126.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="190.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="254.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
+<text x="318.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="381.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2.5</text>
+<text x="445.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="318.2" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="64.8" y="290.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="64.8" y="262.3" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="64.8" y="234.3" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="64.8" y="206.3" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="178.3" text-anchor="end" font-size="12" font-family="Verdana">6</text>
+<text x="64.8" y="150.3" text-anchor="end" font-size="12" font-family="Verdana">7</text>
+<text x="64.8" y="122.4" text-anchor="end" font-size="12" font-family="Verdana">8</text>
+<text x="64.8" y="94.39" text-anchor="end" font-size="12" font-family="Verdana">9</text>
+<text x="64.8" y="66.42" text-anchor="end" font-size="12" font-family="Verdana">10</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_ds(k, u)</text></g>
+<g id="xLabel">
+<text x="264.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L77.65,98.91 L79.5,126.3 L81.35,148.2 L83.2,166 L85.04,180.8 L86.89,193.3 L88.74,204 L90.59,213.3 L92.44,221.3 L94.29,228.4 L96.14,234.8 L97.99,240.4 L99.83,245.5 L101.7,250 L103.5,254.2 L105.4,258 L107.2,261.4 L109.1,264.6 L110.9,267.5 L112.8,270.2 L114.6,272.7 L116.5,275 L118.3,277.2 L120.2,279.2 L122,281.1 L123.9,282.9 L125.7,284.5 L127.6,286.1 L129.4,287.5 L131.3,288.9 L133.1,290.2 L135,291.5 L136.8,292.6 L138.7,293.7 L140.5,294.8 L142.4,295.8 L144.2,296.7 L146.1,297.6 L147.9,298.5 L149.8,299.3 L151.6,300.1 L153.5,300.8 L155.3,301.5 L157.1,302.2 L159,302.9 L160.8,303.5 L162.7,304.1 L164.5,304.6 L166.4,305.2 L168.2,305.7 L170.1,306.2 L171.9,306.7 L173.8,307.1 L175.6,307.6 L177.5,308 L179.3,308.4 L181.2,308.8 L183,309.2 L184.9,309.5 L186.7,309.9 L188.6,310.2 L190.4,310.5 L192.3,310.8 L194.1,311.1 L196,311.4 L197.8,311.7 L199.7,311.9 L201.5,312.2 L203.4,312.4 L205.2,312.6 L207.1,312.9 L208.9,313.1 L210.8,313.3 L212.6,313.4 L214.5,313.6 L216.3,313.8 L218.2,314 L220,314.1 L221.9,314.3 L223.7,314.4 L225.6,314.5 L227.4,314.7 L229.3,314.8 L231.1,314.9 L232.9,315 L234.8,315.1 L236.6,315.2 L238.5,315.3 L240.3,315.4 L242.2,315.4 L244,315.5 L245.9,315.6 L247.7,315.6 L249.6,315.7 L251.4,315.7 L253.3,315.7 L255.1,315.8 L257,315.8 L258.8,315.8 L260.7,315.8 L262.5,315.8 L264.4,315.8 L266.2,315.8 L268.1,315.8 L269.9,315.8 L271.8,315.8 L273.6,315.7 L275.5,315.7 L277.3,315.6 L279.2,315.6 L281,315.5 L282.9,315.5 L284.7,315.4 L286.6,315.3 L288.4,315.3 L290.3,315.2 L292.1,315.1 L294,315 L295.8,314.9 L297.7,314.8 L299.5,314.7 L301.4,314.5 L303.2,314.4 L305.1,314.2 L306.9,314.1 L308.8,313.9 L310.6,313.8 L312.4,313.6 L314.3,313.4 L316.1,313.2 L318,313 L319.8,312.8 L321.7,312.6 L323.5,312.4 L325.4,312.1 L327.2,311.9 L329.1,311.6 L330.9,311.4 L332.8,311.1 L334.6,310.8 L336.5,310.5 L338.3,310.2 L340.2,309.8 L342,309.5 L343.9,309.1 L345.7,308.7 L347.6,308.4 L349.4,308 L351.3,307.5 L353.1,307.1 L355,306.6 L356.8,306.1 L358.7,305.6 L360.5,305.1 L362.4,304.6 L364.2,304 L366.1,303.4 L367.9,302.8 L369.8,302.1 L371.6,301.4 L373.5,300.7 L375.3,300 L377.2,299.2 L379,298.4 L380.9,297.5 L382.7,296.6 L384.6,295.6 L386.4,294.6 L388.3,293.6 L390.1,292.5 L391.9,291.3 L393.8,290.1 L395.6,288.7 L397.5,287.3 L399.3,285.9 L401.2,284.3 L403,282.6 L404.9,280.8 L406.7,278.9 L408.6,276.9 L410.4,274.7 L412.3,272.4 L414.1,269.9 L416,267.1 L417.8,264.2 L419.7,261 L421.5,257.5 L423.4,253.7 L425.2,249.5 L427.1,244.8 L428.9,239.7 L430.8,234 L432.6,227.6 L434.5,220.3 L436.3,212.1 L438.2,202.7 L440,191.8 L441.9,179 L443.7,163.8 L445.6,145.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M75.8,63.78 L77.65,99.18 L79.5,126.6 L81.35,148.5 L83.2,166.3 L85.04,181.2 L86.89,193.7 L88.74,204.5 L90.59,213.8 L92.44,221.9 L94.29,229 L96.14,235.4 L97.99,241 L99.83,246.1 L101.7,250.7 L103.5,254.9 L105.4,258.7 L107.2,262.2 L109.1,265.4 L110.9,268.4 L112.8,271.1 L114.6,273.6 L116.5,276 L118.3,278.2 L120.2,280.2 L122,282.2 L123.9,284 L125.7,285.6 L127.6,287.2 L129.4,288.7 L131.3,290.1 L133.1,291.5 L135,292.8 L136.8,294 L138.7,295.1 L140.5,296.2 L142.4,297.2 L144.2,298.2 L146.1,299.1 L147.9,300 L149.8,300.9 L151.6,301.7 L153.5,302.4 L155.3,303.2 L157.1,303.9 L159,304.6 L160.8,305.2 L162.7,305.8 L164.5,306.4 L166.4,307 L168.2,307.6 L170.1,308.1 L171.9,308.6 L173.8,309.1 L175.6,309.6 L177.5,310 L179.3,310.5 L181.2,310.9 L183,311.3 L184.9,311.7 L186.7,312.1 L188.6,312.4 L190.4,312.8 L192.3,313.1 L194.1,313.4 L196,313.7 L197.8,314 L199.7,314.3 L201.5,314.6 L203.4,314.9 L205.2,315.1 L207.1,315.4 L208.9,315.6 L210.8,315.8 L212.6,316.1 L214.5,316.3 L216.3,316.5 L218.2,316.7 L220,316.9 L221.9,317.1 L223.7,317.2 L225.6,317.4 L227.4,317.6 L229.3,317.7 L231.1,317.8 L232.9,318 L234.8,318.1 L236.6,318.2 L238.5,318.4 L240.3,318.5 L242.2,318.6 L244,318.7 L245.9,318.8 L247.7,318.9 L249.6,319 L251.4,319 L253.3,319.1 L255.1,319.2 L257,319.2 L258.8,319.3 L260.7,319.3 L262.5,319.4 L264.4,319.4 L266.2,319.5 L268.1,319.5 L269.9,319.5 L271.8,319.5 L273.6,319.5 L275.5,319.6 L277.3,319.6 L279.2,319.6 L281,319.6 L282.9,319.5 L284.7,319.5 L286.6,319.5 L288.4,319.5 L290.3,319.5 L292.1,319.4 L294,319.4 L295.8,319.3 L297.7,319.3 L299.5,319.2 L301.4,319.2 L303.2,319.1 L305.1,319 L306.9,318.9 L308.8,318.8 L310.6,318.8 L312.4,318.7 L314.3,318.6 L316.1,318.4 L318,318.3 L319.8,318.2 L321.7,318.1 L323.5,317.9 L325.4,317.8 L327.2,317.7 L329.1,317.5 L330.9,317.3 L332.8,317.2 L334.6,317 L336.5,316.8 L338.3,316.6 L340.2,316.4 L342,316.2 L343.9,316 L345.7,315.8 L347.6,315.6 L349.4,315.3 L351.3,315.1 L353.1,314.8 L355,314.5 L356.8,314.2 L358.7,314 L360.5,313.7 L362.4,313.3 L364.2,313 L366.1,312.7 L367.9,312.3 L369.8,312 L371.6,311.6 L373.5,311.2 L375.3,310.8 L377.2,310.4 L379,309.9 L380.9,309.5 L382.7,309 L384.6,308.5 L386.4,308 L388.3,307.4 L390.1,306.9 L391.9,306.3 L393.8,305.7 L395.6,305 L397.5,304.4 L399.3,303.7 L401.2,303 L403,302.2 L404.9,301.4 L406.7,300.6 L408.6,299.8 L410.4,298.9 L412.3,297.9 L414.1,296.9 L416,295.9 L417.8,294.8 L419.7,293.6 L421.5,292.4 L423.4,291.1 L425.2,289.8 L427.1,288.3 L428.9,286.8 L430.8,285.2 L432.6,283.5 L434.5,281.6 L436.3,279.7 L438.2,277.6 L440,275.4 L441.9,273 L443.7,270.4 L445.6,267.6 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M75.8,64.07 L77.65,99.51 L79.5,127 L81.35,148.9 L83.2,166.8 L85.04,181.7 L86.89,194.3 L88.74,205.1 L90.59,214.4 L92.44,222.5 L94.29,229.7 L96.14,236.1 L97.99,241.8 L99.83,247 L101.7,251.6 L103.5,255.8 L105.4,259.7 L107.2,263.2 L109.1,266.5 L110.9,269.5 L112.8,272.2 L114.6,274.8 L116.5,277.2 L118.3,279.4 L120.2,281.5 L122,283.5 L123.9,285.3 L125.7,287.1 L127.6,288.7 L129.4,290.2 L131.3,291.7 L133.1,293.1 L135,294.4 L136.8,295.6 L138.7,296.8 L140.5,297.9 L142.4,299 L144.2,300 L146.1,301 L147.9,301.9 L149.8,302.8 L151.6,303.7 L153.5,304.5 L155.3,305.3 L157.1,306 L159,306.8 L160.8,307.4 L162.7,308.1 L164.5,308.8 L166.4,309.4 L168.2,310 L170.1,310.5 L171.9,311.1 L173.8,311.6 L175.6,312.1 L177.5,312.6 L179.3,313.1 L181.2,313.6 L183,314 L184.9,314.5 L186.7,314.9 L188.6,315.3 L190.4,315.7 L192.3,316.1 L194.1,316.4 L196,316.8 L197.8,317.1 L199.7,317.5 L201.5,317.8 L203.4,318.1 L205.2,318.4 L207.1,318.7 L208.9,319 L210.8,319.2 L212.6,319.5 L214.5,319.8 L216.3,320 L218.2,320.3 L220,320.5 L221.9,320.7 L223.7,320.9 L225.6,321.1 L227.4,321.4 L229.3,321.6 L231.1,321.7 L232.9,321.9 L234.8,322.1 L236.6,322.3 L238.5,322.5 L240.3,322.6 L242.2,322.8 L244,322.9 L245.9,323.1 L247.7,323.2 L249.6,323.3 L251.4,323.5 L253.3,323.6 L255.1,323.7 L257,323.8 L258.8,323.9 L260.7,324 L262.5,324.1 L264.4,324.2 L266.2,324.3 L268.1,324.4 L269.9,324.5 L271.8,324.6 L273.6,324.7 L275.5,324.7 L277.3,324.8 L279.2,324.9 L281,324.9 L282.9,325 L284.7,325 L286.6,325.1 L288.4,325.1 L290.3,325.1 L292.1,325.2 L294,325.2 L295.8,325.2 L297.7,325.2 L299.5,325.3 L301.4,325.3 L303.2,325.3 L305.1,325.3 L306.9,325.3 L308.8,325.3 L310.6,325.3 L312.4,325.3 L314.3,325.3 L316.1,325.2 L318,325.2 L319.8,325.2 L321.7,325.2 L323.5,325.1 L325.4,325.1 L327.2,325 L329.1,325 L330.9,325 L332.8,324.9 L334.6,324.8 L336.5,324.8 L338.3,324.7 L340.2,324.6 L342,324.6 L343.9,324.5 L345.7,324.4 L347.6,324.3 L349.4,324.2 L351.3,324.1 L353.1,324 L355,323.9 L356.8,323.8 L358.7,323.7 L360.5,323.6 L362.4,323.4 L364.2,323.3 L366.1,323.2 L367.9,323 L369.8,322.9 L371.6,322.7 L373.5,322.6 L375.3,322.4 L377.2,322.2 L379,322.1 L380.9,321.9 L382.7,321.7 L384.6,321.5 L386.4,321.3 L388.3,321.1 L390.1,320.9 L391.9,320.7 L393.8,320.4 L395.6,320.2 L397.5,320 L399.3,319.7 L401.2,319.5 L403,319.2 L404.9,318.9 L406.7,318.6 L408.6,318.3 L410.4,318 L412.3,317.7 L414.1,317.4 L416,317.1 L417.8,316.7 L419.7,316.3 L421.5,316 L423.4,315.6 L425.2,315.2 L427.1,314.8 L428.9,314.4 L430.8,313.9 L432.6,313.5 L434.5,313 L436.3,312.5 L438.2,312 L440,311.5 L441.9,311 L443.7,310.4 L445.6,309.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M75.8,64.39 L77.65,99.88 L79.5,127.4 L81.35,149.4 L83.2,167.3 L85.04,182.2 L86.89,194.9 L88.74,205.7 L90.59,215.1 L92.44,223.3 L94.29,230.5 L96.14,236.9 L97.99,242.7 L99.83,247.9 L101.7,252.6 L103.5,256.8 L105.4,260.7 L107.2,264.3 L109.1,267.6 L110.9,270.7 L112.8,273.5 L114.6,276.1 L116.5,278.5 L118.3,280.8 L120.2,283 L122,285 L123.9,286.9 L125.7,288.6 L127.6,290.3 L129.4,291.9 L131.3,293.4 L133.1,294.8 L135,296.2 L136.8,297.5 L138.7,298.7 L140.5,299.9 L142.4,301 L144.2,302.1 L146.1,303.1 L147.9,304.1 L149.8,305 L151.6,305.9 L153.5,306.8 L155.3,307.6 L157.1,308.4 L159,309.2 L160.8,309.9 L162.7,310.7 L164.5,311.3 L166.4,312 L168.2,312.7 L170.1,313.3 L171.9,313.9 L173.8,314.5 L175.6,315 L177.5,315.6 L179.3,316.1 L181.2,316.6 L183,317.1 L184.9,317.6 L186.7,318.1 L188.6,318.5 L190.4,319 L192.3,319.4 L194.1,319.8 L196,320.2 L197.8,320.6 L199.7,321 L201.5,321.4 L203.4,321.8 L205.2,322.1 L207.1,322.5 L208.9,322.8 L210.8,323.1 L212.6,323.5 L214.5,323.8 L216.3,324.1 L218.2,324.4 L220,324.7 L221.9,325 L223.7,325.2 L225.6,325.5 L227.4,325.8 L229.3,326 L231.1,326.3 L232.9,326.5 L234.8,326.8 L236.6,327 L238.5,327.2 L240.3,327.5 L242.2,327.7 L244,327.9 L245.9,328.1 L247.7,328.3 L249.6,328.5 L251.4,328.7 L253.3,328.9 L255.1,329.1 L257,329.3 L258.8,329.5 L260.7,329.6 L262.5,329.8 L264.4,330 L266.2,330.1 L268.1,330.3 L269.9,330.5 L271.8,330.6 L273.6,330.8 L275.5,330.9 L277.3,331.1 L279.2,331.2 L281,331.3 L282.9,331.5 L284.7,331.6 L286.6,331.7 L288.4,331.8 L290.3,332 L292.1,332.1 L294,332.2 L295.8,332.3 L297.7,332.4 L299.5,332.5 L301.4,332.6 L303.2,332.7 L305.1,332.8 L306.9,332.9 L308.8,333 L310.6,333.1 L312.4,333.2 L314.3,333.3 L316.1,333.4 L318,333.5 L319.8,333.5 L321.7,333.6 L323.5,333.7 L325.4,333.8 L327.2,333.8 L329.1,333.9 L330.9,334 L332.8,334 L334.6,334.1 L336.5,334.2 L338.3,334.2 L340.2,334.3 L342,334.3 L343.9,334.4 L345.7,334.4 L347.6,334.5 L349.4,334.5 L351.3,334.6 L353.1,334.6 L355,334.7 L356.8,334.7 L358.7,334.7 L360.5,334.8 L362.4,334.8 L364.2,334.8 L366.1,334.9 L367.9,334.9 L369.8,334.9 L371.6,334.9 L373.5,335 L375.3,335 L377.2,335 L379,335 L380.9,335 L382.7,335 L384.6,335 L386.4,335 L388.3,335 L390.1,335.1 L391.9,335.1 L393.8,335.1 L395.6,335.1 L397.5,335.1 L399.3,335 L401.2,335 L403,335 L404.9,335 L406.7,335 L408.6,335 L410.4,335 L412.3,335 L414.1,334.9 L416,334.9 L417.8,334.9 L419.7,334.9 L421.5,334.8 L423.4,334.8 L425.2,334.8 L427.1,334.7 L428.9,334.7 L430.8,334.7 L432.6,334.6 L434.5,334.6 L436.3,334.6 L438.2,334.5 L440,334.5 L441.9,334.4 L443.7,334.4 L445.6,334.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M75.8,64.48 L77.65,99.98 L79.5,127.5 L81.35,149.5 L83.2,167.5 L85.04,182.4 L86.89,195 L88.74,205.9 L90.59,215.3 L92.44,223.5 L94.29,230.7 L96.14,237.2 L97.99,243 L99.83,248.1 L101.7,252.9 L103.5,257.1 L105.4,261.1 L107.2,264.6 L109.1,268 L110.9,271 L112.8,273.8 L114.6,276.5 L116.5,278.9 L118.3,281.2 L120.2,283.4 L122,285.4 L123.9,287.3 L125.7,289.1 L127.6,290.8 L129.4,292.4 L131.3,293.9 L133.1,295.4 L135,296.7 L136.8,298 L138.7,299.3 L140.5,300.5 L142.4,301.6 L144.2,302.7 L146.1,303.7 L147.9,304.7 L149.8,305.7 L151.6,306.6 L153.5,307.5 L155.3,308.3 L157.1,309.1 L159,309.9 L160.8,310.7 L162.7,311.4 L164.5,312.1 L166.4,312.8 L168.2,313.4 L170.1,314.1 L171.9,314.7 L173.8,315.3 L175.6,315.9 L177.5,316.4 L179.3,317 L181.2,317.5 L183,318 L184.9,318.5 L186.7,319 L188.6,319.5 L190.4,320 L192.3,320.4 L194.1,320.8 L196,321.3 L197.8,321.7 L199.7,322.1 L201.5,322.5 L203.4,322.9 L205.2,323.2 L207.1,323.6 L208.9,324 L210.8,324.3 L212.6,324.6 L214.5,325 L216.3,325.3 L218.2,325.6 L220,325.9 L221.9,326.2 L223.7,326.5 L225.6,326.8 L227.4,327.1 L229.3,327.4 L231.1,327.7 L232.9,327.9 L234.8,328.2 L236.6,328.4 L238.5,328.7 L240.3,328.9 L242.2,329.2 L244,329.4 L245.9,329.7 L247.7,329.9 L249.6,330.1 L251.4,330.3 L253.3,330.5 L255.1,330.7 L257,331 L258.8,331.2 L260.7,331.4 L262.5,331.6 L264.4,331.7 L266.2,331.9 L268.1,332.1 L269.9,332.3 L271.8,332.5 L273.6,332.7 L275.5,332.8 L277.3,333 L279.2,333.2 L281,333.3 L282.9,333.5 L284.7,333.6 L286.6,333.8 L288.4,334 L290.3,334.1 L292.1,334.2 L294,334.4 L295.8,334.5 L297.7,334.7 L299.5,334.8 L301.4,334.9 L303.2,335.1 L305.1,335.2 L306.9,335.3 L308.8,335.5 L310.6,335.6 L312.4,335.7 L314.3,335.8 L316.1,336 L318,336.1 L319.8,336.2 L321.7,336.3 L323.5,336.4 L325.4,336.5 L327.2,336.6 L329.1,336.7 L330.9,336.8 L332.8,336.9 L334.6,337 L336.5,337.1 L338.3,337.2 L340.2,337.3 L342,337.4 L343.9,337.5 L345.7,337.6 L347.6,337.7 L349.4,337.8 L351.3,337.9 L353.1,338 L355,338.1 L356.8,338.1 L358.7,338.2 L360.5,338.3 L362.4,338.4 L364.2,338.5 L366.1,338.6 L367.9,338.6 L369.8,338.7 L371.6,338.8 L373.5,338.9 L375.3,338.9 L377.2,339 L379,339.1 L380.9,339.1 L382.7,339.2 L384.6,339.3 L386.4,339.3 L388.3,339.4 L390.1,339.5 L391.9,339.5 L393.8,339.6 L395.6,339.6 L397.5,339.7 L399.3,339.8 L401.2,339.8 L403,339.9 L404.9,339.9 L406.7,340 L408.6,340.1 L410.4,340.1 L412.3,340.2 L414.1,340.2 L416,340.3 L417.8,340.3 L419.7,340.4 L421.5,340.4 L423.4,340.5 L425.2,340.5 L427.1,340.6 L428.9,340.6 L430.8,340.7 L432.6,340.7 L434.5,340.7 L436.3,340.8 L438.2,340.8 L440,340.9 L441.9,340.9 L443.7,341 L445.6,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic ds</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_nc.png b/libs/math/doc/graphs/jacobi_nc.png
new file mode 100644
index 0000000000..775184bfb3
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_nc.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_nc.svg b/libs/math/doc/graphs/jacobi_nc.svg
new file mode 100644
index 0000000000..ab1dbdaa44
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_nc.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="358.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="360.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="269.2" y1="58" x2="269.2" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="146.9" x2="453" y2="146.9"/><line x1="87.6" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,131.7 L92.6,131.7 M90.6,116.6 L92.6,116.6 M90.6,101.4 L92.6,101.4 M90.6,71.16 L92.6,71.16 M90.6,146.9 L92.6,146.9 M90.6,162 L92.6,162 M90.6,177.1 L92.6,177.1 M90.6,192.3 L92.6,192.3 M90.6,207.4 L92.6,207.4 M90.6,222.5 L92.6,222.5 M90.6,237.7 L92.6,237.7 M90.6,252.8 L92.6,252.8 M90.6,268 L92.6,268 M90.6,283.1 L92.6,283.1 M90.6,298.2 L92.6,298.2 M90.6,313.4 L92.6,313.4 M90.6,328.5 L92.6,328.5 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M278.1,341 L278.1,343 M286.9,341 L286.9,343 M295.7,341 L295.7,343 M313.4,341 L313.4,343 M322.2,341 L322.2,343 M331.1,341 L331.1,343 M348.7,341 L348.7,343 M357.6,341 L357.6,343 M366.4,341 L366.4,343 M384.1,341 L384.1,343 M392.9,341 L392.9,343 M401.7,341 L401.7,343 M419.4,341 L419.4,343 M428.2,341 L428.2,343 M437.1,341 L437.1,343 M260.4,341 L260.4,343 M251.6,341 L251.6,343 M242.8,341 L242.8,343 M225.1,341 L225.1,343 M216.3,341 L216.3,343 M207.4,341 L207.4,343 M189.8,341 L189.8,343 M180.9,341 L180.9,343 M172.1,341 L172.1,343 M154.4,341 L154.4,343 M145.6,341 L145.6,343 M136.8,341 L136.8,343 M119.1,341 L119.1,343 M110.3,341 L110.3,343 M101.4,341 L101.4,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,146.9 L92.6,146.9 M87.6,86.3 L92.6,86.3 M87.6,146.9 L92.6,146.9 M87.6,207.4 L92.6,207.4 M87.6,268 L92.6,268 M87.6,328.5 L92.6,328.5 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M269.2,341 L269.2,346 M304.6,341 L304.6,346 M339.9,341 L339.9,346 M375.2,341 L375.2,346 M410.6,341 L410.6,346 M445.9,341 L445.9,346 M269.2,341 L269.2,346 M233.9,341 L233.9,346 M198.6,341 L198.6,346 M163.3,341 L163.3,346 M127.9,341 L127.9,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="304.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="339.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="375.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="410.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="445.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="233.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="198.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="163.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
+<text x="127.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="149.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="88.7" text-anchor="end" font-size="12" font-family="Verdana">100</text>
+<text x="81.6" y="149.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="209.8" text-anchor="end" font-size="12" font-family="Verdana">-100</text>
+<text x="81.6" y="270.4" text-anchor="end" font-size="12" font-family="Verdana">-200</text>
+<text x="81.6" y="330.9" text-anchor="end" font-size="12" font-family="Verdana">-300</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_nc(k, u)</text></g>
+<g id="xLabel">
+<text x="272.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,144.7 L94.37,144.3 L96.13,143.6 L97.9,142.4 L99.67,139.9 L101.4,130.7 L103.2,195.7 L105,156.6 L106.7,152.3 L108.5,150.6 L110.3,149.7 L112,149.2 L113.8,148.8 L115.6,148.6 L117.3,148.4 L119.1,148.2 L120.9,148.1 L122.6,148 L124.4,147.9 L126.2,147.8 L127.9,147.8 L129.7,147.7 L131.5,147.7 L133.2,147.7 L135,147.6 L136.8,147.6 L138.5,147.6 L140.3,147.5 L142.1,147.5 L143.8,147.5 L145.6,147.5 L147.4,147.5 L149.1,147.5 L150.9,147.5 L152.7,147.5 L154.4,147.5 L156.2,147.5 L158,147.5 L159.7,147.5 L161.5,147.5 L163.3,147.5 L165,147.5 L166.8,147.5 L168.6,147.5 L170.3,147.5 L172.1,147.5 L173.9,147.5 L175.6,147.5 L177.4,147.6 L179.2,147.6 L180.9,147.6 L182.7,147.6 L184.5,147.7 L186.2,147.7 L188,147.8 L189.8,147.8 L191.5,147.9 L193.3,148 L195.1,148.1 L196.8,148.2 L198.6,148.3 L200.4,148.5 L202.1,148.7 L203.9,149.1 L205.7,149.5 L207.4,150.3 L209.2,151.6 L211,154.5 L212.7,167.6 L214.5,117.7 L216.3,138.3 L218,141.8 L219.8,143.3 L221.6,144.1 L223.3,144.6 L225.1,144.9 L226.9,145.2 L228.6,145.4 L230.4,145.5 L232.2,145.6 L233.9,145.7 L235.7,145.8 L237.5,145.9 L239.2,145.9 L241,146 L242.7,146 L244.5,146.1 L246.3,146.1 L248,146.1 L249.8,146.1 L251.6,146.2 L253.3,146.2 L255.1,146.2 L256.9,146.2 L258.6,146.2 L260.4,146.2 L262.2,146.2 L263.9,146.2 L265.7,146.2 L267.5,146.2 L269.2,146.2 L271,146.2 L272.8,146.2 L274.5,146.2 L276.3,146.2 L278.1,146.2 L279.8,146.2 L281.6,146.2 L283.4,146.2 L285.1,146.2 L286.9,146.2 L288.7,146.1 L290.4,146.1 L292.2,146.1 L294,146.1 L295.7,146 L297.5,146 L299.3,145.9 L301,145.9 L302.8,145.8 L304.6,145.7 L306.3,145.6 L308.1,145.5 L309.9,145.4 L311.6,145.2 L313.4,144.9 L315.2,144.6 L316.9,144.1 L318.7,143.3 L320.5,141.8 L322.2,138.3 L324,117.7 L325.8,167.6 L327.5,154.5 L329.3,151.6 L331.1,150.3 L332.8,149.5 L334.6,149.1 L336.4,148.7 L338.1,148.5 L339.9,148.3 L341.7,148.2 L343.4,148.1 L345.2,148 L347,147.9 L348.7,147.8 L350.5,147.8 L352.3,147.7 L354,147.7 L355.8,147.6 L357.6,147.6 L359.3,147.6 L361.1,147.6 L362.9,147.5 L364.6,147.5 L366.4,147.5 L368.2,147.5 L369.9,147.5 L371.7,147.5 L373.5,147.5 L375.2,147.5 L377,147.5 L378.8,147.5 L380.5,147.5 L382.3,147.5 L384.1,147.5 L385.8,147.5 L387.6,147.5 L389.4,147.5 L391.1,147.5 L392.9,147.5 L394.7,147.5 L396.4,147.5 L398.2,147.5 L400,147.6 L401.7,147.6 L403.5,147.6 L405.3,147.7 L407,147.7 L408.8,147.7 L410.6,147.8 L412.3,147.8 L414.1,147.9 L415.9,148 L417.6,148.1 L419.4,148.2 L421.2,148.4 L422.9,148.6 L424.7,148.8 L426.5,149.2 L428.2,149.7 L430,150.6 L431.8,152.3 L433.5,156.6 L435.3,195.7 L437.1,130.7 L438.8,139.9 L440.6,142.4 L442.4,143.6 L444.1,144.3 L445.9,144.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,159.1 L94.37,153.4 L96.13,151.3 L97.9,150.2 L99.67,149.6 L101.4,149.1 L103.2,148.8 L105,148.6 L106.7,148.4 L108.5,148.3 L110.3,148.1 L112,148 L113.8,148 L115.6,147.9 L117.3,147.8 L119.1,147.8 L120.9,147.7 L122.6,147.7 L124.4,147.7 L126.2,147.6 L127.9,147.6 L129.7,147.6 L131.5,147.6 L133.2,147.5 L135,147.5 L136.8,147.5 L138.5,147.5 L140.3,147.5 L142.1,147.5 L143.8,147.5 L145.6,147.5 L147.4,147.5 L149.1,147.5 L150.9,147.5 L152.7,147.5 L154.4,147.5 L156.2,147.5 L158,147.5 L159.7,147.5 L161.5,147.5 L163.3,147.5 L165,147.5 L166.8,147.5 L168.6,147.5 L170.3,147.6 L172.1,147.6 L173.9,147.6 L175.6,147.7 L177.4,147.7 L179.2,147.7 L180.9,147.8 L182.7,147.8 L184.5,147.9 L186.2,148 L188,148 L189.8,148.1 L191.5,148.2 L193.3,148.4 L195.1,148.6 L196.8,148.8 L198.6,149.1 L200.4,149.5 L202.1,150.1 L203.9,151.1 L205.7,153 L207.4,157.7 L209.2,195.9 L211,127.3 L212.7,138.7 L214.5,141.7 L216.3,143.1 L218,143.9 L219.8,144.4 L221.6,144.8 L223.3,145 L225.1,145.2 L226.9,145.4 L228.6,145.5 L230.4,145.6 L232.2,145.7 L233.9,145.8 L235.7,145.9 L237.5,145.9 L239.2,146 L241,146 L242.7,146 L244.5,146.1 L246.3,146.1 L248,146.1 L249.8,146.1 L251.6,146.2 L253.3,146.2 L255.1,146.2 L256.9,146.2 L258.6,146.2 L260.4,146.2 L262.2,146.2 L263.9,146.2 L265.7,146.2 L267.5,146.2 L269.2,146.2 L271,146.2 L272.8,146.2 L274.5,146.2 L276.3,146.2 L278.1,146.2 L279.8,146.2 L281.6,146.2 L283.4,146.2 L285.1,146.2 L286.9,146.2 L288.7,146.1 L290.4,146.1 L292.2,146.1 L294,146.1 L295.7,146 L297.5,146 L299.3,146 L301,145.9 L302.8,145.9 L304.6,145.8 L306.3,145.7 L308.1,145.6 L309.9,145.5 L311.6,145.4 L313.4,145.2 L315.2,145 L316.9,144.8 L318.7,144.4 L320.5,143.9 L322.2,143.1 L324,141.7 L325.8,138.7 L327.5,127.3 L329.3,195.9 L331.1,157.7 L332.8,153 L334.6,151.1 L336.4,150.1 L338.1,149.5 L339.9,149.1 L341.7,148.8 L343.4,148.6 L345.2,148.4 L347,148.2 L348.7,148.1 L350.5,148 L352.3,148 L354,147.9 L355.8,147.8 L357.6,147.8 L359.3,147.7 L361.1,147.7 L362.9,147.7 L364.6,147.6 L366.4,147.6 L368.2,147.6 L369.9,147.5 L371.7,147.5 L373.5,147.5 L375.2,147.5 L377,147.5 L378.8,147.5 L380.5,147.5 L382.3,147.5 L384.1,147.5 L385.8,147.5 L387.6,147.5 L389.4,147.5 L391.1,147.5 L392.9,147.5 L394.7,147.5 L396.4,147.5 L398.2,147.5 L400,147.5 L401.7,147.5 L403.5,147.5 L405.3,147.5 L407,147.6 L408.8,147.6 L410.6,147.6 L412.3,147.6 L414.1,147.7 L415.9,147.7 L417.6,147.7 L419.4,147.8 L421.2,147.8 L422.9,147.9 L424.7,148 L426.5,148 L428.2,148.1 L430,148.3 L431.8,148.4 L433.5,148.6 L435.3,148.8 L437.1,149.1 L438.8,149.6 L440.6,150.2 L442.4,151.3 L444.1,153.4 L445.9,159.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,148.1 L94.37,148 L96.13,148 L97.9,147.9 L99.67,147.8 L101.4,147.8 L103.2,147.7 L105,147.7 L106.7,147.7 L108.5,147.6 L110.3,147.6 L112,147.6 L113.8,147.6 L115.6,147.5 L117.3,147.5 L119.1,147.5 L120.9,147.5 L122.6,147.5 L124.4,147.5 L126.2,147.5 L127.9,147.5 L129.7,147.5 L131.5,147.5 L133.2,147.5 L135,147.5 L136.8,147.5 L138.5,147.5 L140.3,147.5 L142.1,147.5 L143.8,147.5 L145.6,147.5 L147.4,147.5 L149.1,147.5 L150.9,147.5 L152.7,147.5 L154.4,147.6 L156.2,147.6 L158,147.6 L159.7,147.6 L161.5,147.7 L163.3,147.7 L165,147.7 L166.8,147.8 L168.6,147.8 L170.3,147.9 L172.1,147.9 L173.9,148 L175.6,148.1 L177.4,148.2 L179.2,148.3 L180.9,148.4 L182.7,148.5 L184.5,148.7 L186.2,148.9 L188,149.2 L189.8,149.5 L191.5,150 L193.3,150.7 L195.1,151.7 L196.8,153.4 L198.6,157.1 L200.4,170.3 L202.1,63.55 L203.9,131.8 L205.7,138.6 L207.4,141.2 L209.2,142.5 L211,143.4 L212.7,143.9 L214.5,144.3 L216.3,144.6 L218,144.9 L219.8,145.1 L221.6,145.2 L223.3,145.4 L225.1,145.5 L226.9,145.6 L228.6,145.7 L230.4,145.7 L232.2,145.8 L233.9,145.8 L235.7,145.9 L237.5,145.9 L239.2,146 L241,146 L242.7,146.1 L244.5,146.1 L246.3,146.1 L248,146.1 L249.8,146.1 L251.6,146.2 L253.3,146.2 L255.1,146.2 L256.9,146.2 L258.6,146.2 L260.4,146.2 L262.2,146.2 L263.9,146.2 L265.7,146.2 L267.5,146.2 L269.2,146.2 L271,146.2 L272.8,146.2 L274.5,146.2 L276.3,146.2 L278.1,146.2 L279.8,146.2 L281.6,146.2 L283.4,146.2 L285.1,146.2 L286.9,146.2 L288.7,146.1 L290.4,146.1 L292.2,146.1 L294,146.1 L295.7,146.1 L297.5,146 L299.3,146 L301,145.9 L302.8,145.9 L304.6,145.8 L306.3,145.8 L308.1,145.7 L309.9,145.7 L311.6,145.6 L313.4,145.5 L315.2,145.4 L316.9,145.2 L318.7,145.1 L320.5,144.9 L322.2,144.6 L324,144.3 L325.8,143.9 L327.5,143.4 L329.3,142.5 L331.1,141.2 L332.8,138.6 L334.6,131.8 L336.4,63.55 L338.1,170.3 L339.9,157.1 L341.7,153.4 L343.4,151.7 L345.2,150.7 L347,150 L348.7,149.5 L350.5,149.2 L352.3,148.9 L354,148.7 L355.8,148.5 L357.6,148.4 L359.3,148.3 L361.1,148.2 L362.9,148.1 L364.6,148 L366.4,147.9 L368.2,147.9 L369.9,147.8 L371.7,147.8 L373.5,147.7 L375.2,147.7 L377,147.7 L378.8,147.6 L380.5,147.6 L382.3,147.6 L384.1,147.6 L385.8,147.5 L387.6,147.5 L389.4,147.5 L391.1,147.5 L392.9,147.5 L394.7,147.5 L396.4,147.5 L398.2,147.5 L400,147.5 L401.7,147.5 L403.5,147.5 L405.3,147.5 L407,147.5 L408.8,147.5 L410.6,147.5 L412.3,147.5 L414.1,147.5 L415.9,147.5 L417.6,147.5 L419.4,147.5 L421.2,147.5 L422.9,147.5 L424.7,147.6 L426.5,147.6 L428.2,147.6 L430,147.6 L431.8,147.7 L433.5,147.7 L435.3,147.7 L437.1,147.8 L438.8,147.8 L440.6,147.9 L442.4,148 L444.1,148 L445.9,148.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,147.5 L94.37,147.5 L96.13,147.5 L97.9,147.5 L99.67,147.5 L101.4,147.5 L103.2,147.5 L105,147.5 L106.7,147.6 L108.5,147.6 L110.3,147.6 L112,147.6 L113.8,147.7 L115.6,147.7 L117.3,147.7 L119.1,147.8 L120.9,147.8 L122.6,147.8 L124.4,147.9 L126.2,147.9 L127.9,148 L129.7,148 L131.5,148.1 L133.2,148.1 L135,148.2 L136.8,148.3 L138.5,148.4 L140.3,148.5 L142.1,148.6 L143.8,148.7 L145.6,148.8 L147.4,148.9 L149.1,149.1 L150.9,149.2 L152.7,149.4 L154.4,149.6 L156.2,149.9 L158,150.2 L159.7,150.5 L161.5,151 L163.3,151.5 L165,152.1 L166.8,153 L168.6,154.2 L170.3,156 L172.1,158.9 L173.9,164.5 L175.6,179.2 L177.4,341 L179.2,98.4 L180.9,125.3 L182.7,133 L184.5,136.7 L186.2,138.8 L188,140.2 L189.8,141.2 L191.5,142 L193.3,142.6 L195.1,143 L196.8,143.4 L198.6,143.7 L200.4,144 L202.1,144.2 L203.9,144.4 L205.7,144.6 L207.4,144.7 L209.2,144.9 L211,145 L212.7,145.1 L214.5,145.2 L216.3,145.3 L218,145.4 L219.8,145.5 L221.6,145.5 L223.3,145.6 L225.1,145.7 L226.9,145.7 L228.6,145.8 L230.4,145.8 L232.2,145.9 L233.9,145.9 L235.7,145.9 L237.5,146 L239.2,146 L241,146 L242.7,146.1 L244.5,146.1 L246.3,146.1 L248,146.1 L249.8,146.2 L251.6,146.2 L253.3,146.2 L255.1,146.2 L256.9,146.2 L258.6,146.2 L260.4,146.2 L262.2,146.2 L263.9,146.2 L265.7,146.2 L267.5,146.2 L269.2,146.2 L271,146.2 L272.8,146.2 L274.5,146.2 L276.3,146.2 L278.1,146.2 L279.8,146.2 L281.6,146.2 L283.4,146.2 L285.1,146.2 L286.9,146.2 L288.7,146.2 L290.4,146.1 L292.2,146.1 L294,146.1 L295.7,146.1 L297.5,146 L299.3,146 L301,146 L302.8,145.9 L304.6,145.9 L306.3,145.9 L308.1,145.8 L309.9,145.8 L311.6,145.7 L313.4,145.7 L315.2,145.6 L316.9,145.5 L318.7,145.5 L320.5,145.4 L322.2,145.3 L324,145.2 L325.8,145.1 L327.5,145 L329.3,144.9 L331.1,144.7 L332.8,144.6 L334.6,144.4 L336.4,144.2 L338.1,144 L339.9,143.7 L341.7,143.4 L343.4,143 L345.2,142.6 L347,142 L348.7,141.2 L350.5,140.2 L352.3,138.8 L354,136.7 L355.8,133 L357.6,125.3 L359.3,98.4 L361.1,341 L362.9,179.2 L364.6,164.5 L366.4,158.9 L368.2,156 L369.9,154.2 L371.7,153 L373.5,152.1 L375.2,151.5 L377,151 L378.8,150.5 L380.5,150.2 L382.3,149.9 L384.1,149.6 L385.8,149.4 L387.6,149.2 L389.4,149.1 L391.1,148.9 L392.9,148.8 L394.7,148.7 L396.4,148.6 L398.2,148.5 L400,148.4 L401.7,148.3 L403.5,148.2 L405.3,148.1 L407,148.1 L408.8,148 L410.6,148 L412.3,147.9 L414.1,147.9 L415.9,147.8 L417.6,147.8 L419.4,147.8 L421.2,147.7 L422.9,147.7 L424.7,147.7 L426.5,147.6 L428.2,147.6 L430,147.6 L431.8,147.6 L433.5,147.5 L435.3,147.5 L437.1,147.5 L438.8,147.5 L440.6,147.5 L442.4,147.5 L444.1,147.5 L445.9,147.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,101.9 L94.37,104.1 L96.13,106.2 L97.9,108.2 L99.67,110.1 L101.4,111.9 L103.2,113.6 L105,115.2 L106.7,116.7 L108.5,118.2 L110.3,119.6 L112,120.9 L113.8,122.2 L115.6,123.4 L117.3,124.5 L119.1,125.6 L120.9,126.7 L122.6,127.6 L124.4,128.6 L126.2,129.5 L127.9,130.3 L129.7,131.1 L131.5,131.9 L133.2,132.6 L135,133.3 L136.8,134 L138.5,134.6 L140.3,135.2 L142.1,135.8 L143.8,136.3 L145.6,136.8 L147.4,137.3 L149.1,137.8 L150.9,138.2 L152.7,138.6 L154.4,139 L156.2,139.4 L158,139.8 L159.7,140.1 L161.5,140.4 L163.3,140.8 L165,141.1 L166.8,141.3 L168.6,141.6 L170.3,141.9 L172.1,142.1 L173.9,142.3 L175.6,142.5 L177.4,142.8 L179.2,143 L180.9,143.1 L182.7,143.3 L184.5,143.5 L186.2,143.7 L188,143.8 L189.8,143.9 L191.5,144.1 L193.3,144.2 L195.1,144.3 L196.8,144.5 L198.6,144.6 L200.4,144.7 L202.1,144.8 L203.9,144.9 L205.7,145 L207.4,145.1 L209.2,145.1 L211,145.2 L212.7,145.3 L214.5,145.4 L216.3,145.4 L218,145.5 L219.8,145.6 L221.6,145.6 L223.3,145.7 L225.1,145.7 L226.9,145.8 L228.6,145.8 L230.4,145.8 L232.2,145.9 L233.9,145.9 L235.7,146 L237.5,146 L239.2,146 L241,146 L242.7,146.1 L244.5,146.1 L246.3,146.1 L248,146.1 L249.8,146.2 L251.6,146.2 L253.3,146.2 L255.1,146.2 L256.9,146.2 L258.6,146.2 L260.4,146.2 L262.2,146.2 L263.9,146.2 L265.7,146.2 L267.5,146.2 L269.2,146.2 L271,146.2 L272.8,146.2 L274.5,146.2 L276.3,146.2 L278.1,146.2 L279.8,146.2 L281.6,146.2 L283.4,146.2 L285.1,146.2 L286.9,146.2 L288.7,146.2 L290.4,146.1 L292.2,146.1 L294,146.1 L295.7,146.1 L297.5,146 L299.3,146 L301,146 L302.8,146 L304.6,145.9 L306.3,145.9 L308.1,145.8 L309.9,145.8 L311.6,145.8 L313.4,145.7 L315.2,145.7 L316.9,145.6 L318.7,145.6 L320.5,145.5 L322.2,145.4 L324,145.4 L325.8,145.3 L327.5,145.2 L329.3,145.1 L331.1,145.1 L332.8,145 L334.6,144.9 L336.4,144.8 L338.1,144.7 L339.9,144.6 L341.7,144.5 L343.4,144.3 L345.2,144.2 L347,144.1 L348.7,143.9 L350.5,143.8 L352.3,143.7 L354,143.5 L355.8,143.3 L357.6,143.1 L359.3,143 L361.1,142.8 L362.9,142.5 L364.6,142.3 L366.4,142.1 L368.2,141.9 L369.9,141.6 L371.7,141.3 L373.5,141.1 L375.2,140.8 L377,140.4 L378.8,140.1 L380.5,139.8 L382.3,139.4 L384.1,139 L385.8,138.6 L387.6,138.2 L389.4,137.8 L391.1,137.3 L392.9,136.8 L394.7,136.3 L396.4,135.8 L398.2,135.2 L400,134.6 L401.7,134 L403.5,133.3 L405.3,132.6 L407,131.9 L408.8,131.1 L410.6,130.3 L412.3,129.5 L414.1,128.6 L415.9,127.6 L417.6,126.7 L419.4,125.6 L421.2,124.5 L422.9,123.4 L424.7,122.2 L426.5,120.9 L428.2,119.6 L430,118.2 L431.8,116.7 L433.5,115.2 L435.3,113.6 L437.1,111.9 L438.8,110.1 L440.6,108.2 L442.4,106.2 L444.1,104.1 L445.9,101.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic nc</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_nd.png b/libs/math/doc/graphs/jacobi_nd.png
new file mode 100644
index 0000000000..dd0712b9fb
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_nd.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_nd.svg b/libs/math/doc/graphs/jacobi_nd.svg
new file mode 100644
index 0000000000..e18fa5bf0e
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_nd.svg
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328.4 L84.2,328.4 M82.2,315.9 L84.2,315.9 M82.2,303.3 L84.2,303.3 M82.2,278.2 L84.2,278.2 M82.2,265.7 L84.2,265.7 M82.2,253.1 L84.2,253.1 M82.2,228 L84.2,228 M82.2,215.4 L84.2,215.4 M82.2,202.9 L84.2,202.9 M82.2,177.8 L84.2,177.8 M82.2,165.2 L84.2,165.2 M82.2,152.7 L84.2,152.7 M82.2,127.6 L84.2,127.6 M82.2,115 L84.2,115 M82.2,102.4 L84.2,102.4 M82.2,77.33 L84.2,77.33 M82.2,64.77 L84.2,64.77 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 M242.4,341 L242.4,343 M219.8,341 L219.8,343 M197.2,341 L197.2,343 M152,341 L152,343 M129.4,341 L129.4,343 M106.8,341 L106.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,290.8 L84.2,290.8 M79.2,240.6 L84.2,240.6 M79.2,190.3 L84.2,190.3 M79.2,140.1 L84.2,140.1 M79.2,89.89 L84.2,89.89 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M265,341 L265,346 M174.6,341 L174.6,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="293.2" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="243" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="192.7" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
+<text x="73.2" y="142.5" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="73.2" y="92.29" text-anchor="end" font-size="12" font-family="Verdana">3.5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_nd(k, u)</text></g>
+<g id="xLabel">
+<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.01,341 L87.82,341 L89.62,341 L91.43,341 L93.24,341 L95.05,341 L96.85,341 L98.66,341 L100.5,341 L102.3,341 L104.1,341 L105.9,341 L107.7,341 L109.5,341 L111.3,341 L113.1,341 L114.9,341 L116.7,341 L118.5,341 L120.4,341 L122.2,341 L124,341 L125.8,341 L127.6,341 L129.4,341 L131.2,341 L133,341 L134.8,341 L136.6,341 L138.4,341 L140.2,341 L142,341 L143.9,341 L145.7,341 L147.5,341 L149.3,341 L151.1,341 L152.9,341 L154.7,341 L156.5,341 L158.3,341 L160.1,341 L161.9,341 L163.7,341 L165.5,341 L167.4,341 L169.2,341 L171,341 L172.8,341 L174.6,341 L176.4,341 L178.2,341 L180,341 L181.8,341 L183.6,341 L185.4,341 L187.2,341 L189,341 L190.9,341 L192.7,341 L194.5,341 L196.3,341 L198.1,341 L199.9,341 L201.7,341 L203.5,341 L205.3,341 L207.1,341 L208.9,341 L210.7,341 L212.5,341 L214.4,341 L216.2,341 L218,341 L219.8,341 L221.6,341 L223.4,341 L225.2,341 L227,341 L228.8,341 L230.6,341 L232.4,341 L234.2,341 L236,341 L237.9,341 L239.7,341 L241.5,341 L243.3,341 L245.1,341 L246.9,341 L248.7,341 L250.5,341 L252.3,341 L254.1,341 L255.9,341 L257.7,341 L259.5,341 L261.3,341 L263.2,341 L265,341 L266.8,341 L268.6,341 L270.4,341 L272.2,341 L274,341 L275.8,341 L277.6,341 L279.4,341 L281.2,341 L283,341 L284.8,341 L286.7,341 L288.5,341 L290.3,341 L292.1,341 L293.9,341 L295.7,341 L297.5,341 L299.3,341 L301.1,341 L302.9,341 L304.7,341 L306.5,341 L308.3,341 L310.2,341 L312,341 L313.8,341 L315.6,341 L317.4,341 L319.2,341 L321,341 L322.8,341 L324.6,341 L326.4,341 L328.2,341 L330,341 L331.8,341 L333.7,341 L335.5,341 L337.3,341 L339.1,341 L340.9,341 L342.7,341 L344.5,341 L346.3,341 L348.1,341 L349.9,341 L351.7,341 L353.5,341 L355.3,341 L357.2,341 L359,341 L360.8,341 L362.6,341 L364.4,341 L366.2,341 L368,341 L369.8,341 L371.6,341 L373.4,341 L375.2,341 L377,341 L378.8,341 L380.7,341 L382.5,341 L384.3,341 L386.1,341 L387.9,341 L389.7,341 L391.5,341 L393.3,341 L395.1,341 L396.9,341 L398.7,341 L400.5,341 L402.3,341 L404.2,341 L406,341 L407.8,341 L409.6,341 L411.4,341 L413.2,341 L415,341 L416.8,341 L418.6,341 L420.4,341 L422.2,341 L424,341 L425.8,341 L427.7,341 L429.5,341 L431.3,341 L433.1,341 L434.9,341 L436.7,341 L438.5,341 L440.3,341 L442.1,341 L443.9,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,326.8 L86.01,326.7 L87.82,326.5 L89.62,326.4 L91.43,326.2 L93.24,326.1 L95.05,326 L96.85,325.9 L98.66,325.8 L100.5,325.7 L102.3,325.6 L104.1,325.6 L105.9,325.5 L107.7,325.5 L109.5,325.5 L111.3,325.5 L113.1,325.5 L114.9,325.5 L116.7,325.5 L118.5,325.5 L120.4,325.6 L122.2,325.6 L124,325.7 L125.8,325.8 L127.6,325.9 L129.4,326 L131.2,326.1 L133,326.2 L134.8,326.3 L136.6,326.5 L138.4,326.6 L140.2,326.8 L142,326.9 L143.9,327.1 L145.7,327.3 L147.5,327.5 L149.3,327.7 L151.1,327.9 L152.9,328.1 L154.7,328.4 L156.5,328.6 L158.3,328.9 L160.1,329.1 L161.9,329.4 L163.7,329.6 L165.5,329.9 L167.4,330.1 L169.2,330.4 L171,330.7 L172.8,331 L174.6,331.2 L176.4,331.5 L178.2,331.8 L180,332.1 L181.8,332.4 L183.6,332.7 L185.4,333 L187.2,333.3 L189,333.6 L190.9,333.8 L192.7,334.1 L194.5,334.4 L196.3,334.7 L198.1,335 L199.9,335.3 L201.7,335.5 L203.5,335.8 L205.3,336.1 L207.1,336.3 L208.9,336.6 L210.7,336.9 L212.5,337.1 L214.4,337.3 L216.2,337.6 L218,337.8 L219.8,338 L221.6,338.3 L223.4,338.5 L225.2,338.7 L227,338.9 L228.8,339.1 L230.6,339.2 L232.4,339.4 L234.2,339.6 L236,339.7 L237.9,339.9 L239.7,340 L241.5,340.2 L243.3,340.3 L245.1,340.4 L246.9,340.5 L248.7,340.6 L250.5,340.7 L252.3,340.8 L254.1,340.8 L255.9,340.9 L257.7,340.9 L259.5,341 L261.3,341 L263.2,341 L265,341 L266.8,341 L268.6,341 L270.4,341 L272.2,340.9 L274,340.9 L275.8,340.8 L277.6,340.8 L279.4,340.7 L281.2,340.6 L283,340.5 L284.8,340.4 L286.7,340.3 L288.5,340.2 L290.3,340 L292.1,339.9 L293.9,339.7 L295.7,339.6 L297.5,339.4 L299.3,339.2 L301.1,339.1 L302.9,338.9 L304.7,338.7 L306.5,338.5 L308.3,338.3 L310.2,338 L312,337.8 L313.8,337.6 L315.6,337.3 L317.4,337.1 L319.2,336.9 L321,336.6 L322.8,336.3 L324.6,336.1 L326.4,335.8 L328.2,335.5 L330,335.3 L331.8,335 L333.7,334.7 L335.5,334.4 L337.3,334.1 L339.1,333.8 L340.9,333.6 L342.7,333.3 L344.5,333 L346.3,332.7 L348.1,332.4 L349.9,332.1 L351.7,331.8 L353.5,331.5 L355.3,331.2 L357.2,331 L359,330.7 L360.8,330.4 L362.6,330.1 L364.4,329.9 L366.2,329.6 L368,329.4 L369.8,329.1 L371.6,328.9 L373.4,328.6 L375.2,328.4 L377,328.1 L378.8,327.9 L380.7,327.7 L382.5,327.5 L384.3,327.3 L386.1,327.1 L387.9,326.9 L389.7,326.8 L391.5,326.6 L393.3,326.5 L395.1,326.3 L396.9,326.2 L398.7,326.1 L400.5,326 L402.3,325.9 L404.2,325.8 L406,325.7 L407.8,325.6 L409.6,325.6 L411.4,325.5 L413.2,325.5 L415,325.5 L416.8,325.5 L418.6,325.5 L420.4,325.5 L422.2,325.5 L424,325.5 L425.8,325.6 L427.7,325.6 L429.5,325.7 L431.3,325.8 L433.1,325.9 L434.9,326 L436.7,326.1 L438.5,326.2 L440.3,326.4 L442.1,326.5 L443.9,326.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,289.9 L86.01,289.8 L87.82,289.7 L89.62,289.6 L91.43,289.6 L93.24,289.6 L95.05,289.6 L96.85,289.7 L98.66,289.8 L100.5,289.9 L102.3,290.1 L104.1,290.3 L105.9,290.6 L107.7,290.8 L109.5,291.1 L111.3,291.5 L113.1,291.8 L114.9,292.2 L116.7,292.6 L118.5,293.1 L120.4,293.6 L122.2,294.1 L124,294.6 L125.8,295.2 L127.6,295.8 L129.4,296.4 L131.2,297 L133,297.6 L134.8,298.3 L136.6,299 L138.4,299.7 L140.2,300.4 L142,301.2 L143.9,301.9 L145.7,302.7 L147.5,303.5 L149.3,304.3 L151.1,305.1 L152.9,305.9 L154.7,306.7 L156.5,307.6 L158.3,308.4 L160.1,309.3 L161.9,310.1 L163.7,311 L165.5,311.8 L167.4,312.7 L169.2,313.5 L171,314.4 L172.8,315.2 L174.6,316.1 L176.4,316.9 L178.2,317.8 L180,318.6 L181.8,319.4 L183.6,320.2 L185.4,321 L187.2,321.9 L189,322.6 L190.9,323.4 L192.7,324.2 L194.5,325 L196.3,325.7 L198.1,326.5 L199.9,327.2 L201.7,327.9 L203.5,328.6 L205.3,329.3 L207.1,329.9 L208.9,330.6 L210.7,331.2 L212.5,331.8 L214.4,332.4 L216.2,333 L218,333.6 L219.8,334.1 L221.6,334.6 L223.4,335.2 L225.2,335.6 L227,336.1 L228.8,336.6 L230.6,337 L232.4,337.4 L234.2,337.8 L236,338.1 L237.9,338.5 L239.7,338.8 L241.5,339.1 L243.3,339.4 L245.1,339.6 L246.9,339.9 L248.7,340.1 L250.5,340.3 L252.3,340.4 L254.1,340.6 L255.9,340.7 L257.7,340.8 L259.5,340.9 L261.3,341 L263.2,341 L265,341 L266.8,341 L268.6,341 L270.4,340.9 L272.2,340.8 L274,340.7 L275.8,340.6 L277.6,340.4 L279.4,340.3 L281.2,340.1 L283,339.9 L284.8,339.6 L286.7,339.4 L288.5,339.1 L290.3,338.8 L292.1,338.5 L293.9,338.1 L295.7,337.8 L297.5,337.4 L299.3,337 L301.1,336.6 L302.9,336.1 L304.7,335.6 L306.5,335.2 L308.3,334.6 L310.2,334.1 L312,333.6 L313.8,333 L315.6,332.4 L317.4,331.8 L319.2,331.2 L321,330.6 L322.8,329.9 L324.6,329.3 L326.4,328.6 L328.2,327.9 L330,327.2 L331.8,326.5 L333.7,325.7 L335.5,325 L337.3,324.2 L339.1,323.4 L340.9,322.6 L342.7,321.9 L344.5,321 L346.3,320.2 L348.1,319.4 L349.9,318.6 L351.7,317.8 L353.5,316.9 L355.3,316.1 L357.2,315.2 L359,314.4 L360.8,313.5 L362.6,312.7 L364.4,311.8 L366.2,311 L368,310.1 L369.8,309.3 L371.6,308.4 L373.4,307.6 L375.2,306.7 L377,305.9 L378.8,305.1 L380.7,304.3 L382.5,303.5 L384.3,302.7 L386.1,301.9 L387.9,301.2 L389.7,300.4 L391.5,299.7 L393.3,299 L395.1,298.3 L396.9,297.6 L398.7,297 L400.5,296.4 L402.3,295.8 L404.2,295.2 L406,294.6 L407.8,294.1 L409.6,293.6 L411.4,293.1 L413.2,292.6 L415,292.2 L416.8,291.8 L418.6,291.5 L420.4,291.1 L422.2,290.8 L424,290.6 L425.8,290.3 L427.7,290.1 L429.5,289.9 L431.3,289.8 L433.1,289.7 L434.9,289.6 L436.7,289.6 L438.5,289.6 L440.3,289.6 L442.1,289.7 L443.9,289.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,164 L86.01,166.6 L87.82,169.3 L89.62,172 L91.43,174.7 L93.24,177.5 L95.05,180.3 L96.85,183.1 L98.66,186 L100.5,188.8 L102.3,191.7 L104.1,194.6 L105.9,197.5 L107.7,200.4 L109.5,203.3 L111.3,206.2 L113.1,209.1 L114.9,212 L116.7,214.9 L118.5,217.8 L120.4,220.6 L122.2,223.5 L124,226.3 L125.8,229.2 L127.6,232 L129.4,234.7 L131.2,237.5 L133,240.2 L134.8,242.9 L136.6,245.6 L138.4,248.3 L140.2,250.9 L142,253.5 L143.9,256 L145.7,258.6 L147.5,261.1 L149.3,263.5 L151.1,266 L152.9,268.4 L154.7,270.7 L156.5,273 L158.3,275.3 L160.1,277.6 L161.9,279.8 L163.7,282 L165.5,284.1 L167.4,286.2 L169.2,288.2 L171,290.2 L172.8,292.2 L174.6,294.2 L176.4,296.1 L178.2,297.9 L180,299.7 L181.8,301.5 L183.6,303.2 L185.4,304.9 L187.2,306.6 L189,308.2 L190.9,309.8 L192.7,311.3 L194.5,312.8 L196.3,314.3 L198.1,315.7 L199.9,317 L201.7,318.4 L203.5,319.7 L205.3,320.9 L207.1,322.1 L208.9,323.3 L210.7,324.4 L212.5,325.5 L214.4,326.6 L216.2,327.6 L218,328.6 L219.8,329.6 L221.6,330.5 L223.4,331.3 L225.2,332.2 L227,332.9 L228.8,333.7 L230.6,334.4 L232.4,335.1 L234.2,335.7 L236,336.3 L237.9,336.9 L239.7,337.4 L241.5,337.9 L243.3,338.4 L245.1,338.8 L246.9,339.2 L248.7,339.5 L250.5,339.8 L252.3,340.1 L254.1,340.3 L255.9,340.5 L257.7,340.7 L259.5,340.8 L261.3,340.9 L263.2,341 L265,341 L266.8,341 L268.6,340.9 L270.4,340.8 L272.2,340.7 L274,340.5 L275.8,340.3 L277.6,340.1 L279.4,339.8 L281.2,339.5 L283,339.2 L284.8,338.8 L286.7,338.4 L288.5,337.9 L290.3,337.4 L292.1,336.9 L293.9,336.3 L295.7,335.7 L297.5,335.1 L299.3,334.4 L301.1,333.7 L302.9,332.9 L304.7,332.2 L306.5,331.3 L308.3,330.5 L310.2,329.6 L312,328.6 L313.8,327.6 L315.6,326.6 L317.4,325.5 L319.2,324.4 L321,323.3 L322.8,322.1 L324.6,320.9 L326.4,319.7 L328.2,318.4 L330,317 L331.8,315.7 L333.7,314.3 L335.5,312.8 L337.3,311.3 L339.1,309.8 L340.9,308.2 L342.7,306.6 L344.5,304.9 L346.3,303.2 L348.1,301.5 L349.9,299.7 L351.7,297.9 L353.5,296.1 L355.3,294.2 L357.2,292.2 L359,290.2 L360.8,288.2 L362.6,286.2 L364.4,284.1 L366.2,282 L368,279.8 L369.8,277.6 L371.6,275.3 L373.4,273 L375.2,270.7 L377,268.4 L378.8,266 L380.7,263.5 L382.5,261.1 L384.3,258.6 L386.1,256 L387.9,253.5 L389.7,250.9 L391.5,248.3 L393.3,245.6 L395.1,242.9 L396.9,240.2 L398.7,237.5 L400.5,234.7 L402.3,232 L404.2,229.2 L406,226.3 L407.8,223.5 L409.6,220.6 L411.4,217.8 L413.2,214.9 L415,212 L416.8,209.1 L418.6,206.2 L420.4,203.3 L422.2,200.4 L424,197.5 L425.8,194.6 L427.7,191.7 L429.5,188.8 L431.3,186 L433.1,183.1 L434.9,180.3 L436.7,177.5 L438.5,174.7 L440.3,172 L442.1,169.3 L443.9,166.6 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,63.55 L86.01,70.76 L87.82,77.82 L89.62,84.74 L91.43,91.51 L93.24,98.15 L95.05,104.6 L96.85,111 L98.66,117.2 L100.5,123.3 L102.3,129.3 L104.1,135.2 L105.9,140.9 L107.7,146.5 L109.5,152 L111.3,157.4 L113.1,162.6 L114.9,167.8 L116.7,172.8 L118.5,177.7 L120.4,182.6 L122.2,187.3 L124,191.9 L125.8,196.4 L127.6,200.8 L129.4,205.2 L131.2,209.4 L133,213.5 L134.8,217.6 L136.6,221.5 L138.4,225.4 L140.2,229.2 L142,232.9 L143.9,236.5 L145.7,240 L147.5,243.5 L149.3,246.8 L151.1,250.1 L152.9,253.4 L154.7,256.5 L156.5,259.6 L158.3,262.6 L160.1,265.5 L161.9,268.3 L163.7,271.1 L165.5,273.9 L167.4,276.5 L169.2,279.1 L171,281.6 L172.8,284.1 L174.6,286.4 L176.4,288.8 L178.2,291 L180,293.3 L181.8,295.4 L183.6,297.5 L185.4,299.5 L187.2,301.5 L189,303.4 L190.9,305.3 L192.7,307.1 L194.5,308.9 L196.3,310.6 L198.1,312.2 L199.9,313.8 L201.7,315.4 L203.5,316.9 L205.3,318.3 L207.1,319.7 L208.9,321.1 L210.7,322.4 L212.5,323.6 L214.4,324.8 L216.2,326 L218,327.1 L219.8,328.2 L221.6,329.2 L223.4,330.2 L225.2,331.1 L227,332 L228.8,332.9 L230.6,333.7 L232.4,334.4 L234.2,335.1 L236,335.8 L237.9,336.4 L239.7,337 L241.5,337.6 L243.3,338.1 L245.1,338.6 L246.9,339 L248.7,339.4 L250.5,339.7 L252.3,340 L254.1,340.3 L255.9,340.5 L257.7,340.7 L259.5,340.8 L261.3,340.9 L263.2,341 L265,341 L266.8,341 L268.6,340.9 L270.4,340.8 L272.2,340.7 L274,340.5 L275.8,340.3 L277.6,340 L279.4,339.7 L281.2,339.4 L283,339 L284.8,338.6 L286.7,338.1 L288.5,337.6 L290.3,337 L292.1,336.4 L293.9,335.8 L295.7,335.1 L297.5,334.4 L299.3,333.7 L301.1,332.9 L302.9,332 L304.7,331.1 L306.5,330.2 L308.3,329.2 L310.2,328.2 L312,327.1 L313.8,326 L315.6,324.8 L317.4,323.6 L319.2,322.4 L321,321.1 L322.8,319.7 L324.6,318.3 L326.4,316.9 L328.2,315.4 L330,313.8 L331.8,312.2 L333.7,310.6 L335.5,308.9 L337.3,307.1 L339.1,305.3 L340.9,303.4 L342.7,301.5 L344.5,299.5 L346.3,297.5 L348.1,295.4 L349.9,293.3 L351.7,291 L353.5,288.8 L355.3,286.4 L357.2,284.1 L359,281.6 L360.8,279.1 L362.6,276.5 L364.4,273.9 L366.2,271.1 L368,268.3 L369.8,265.5 L371.6,262.6 L373.4,259.6 L375.2,256.5 L377,253.4 L378.8,250.1 L380.7,246.8 L382.5,243.5 L384.3,240 L386.1,236.5 L387.9,232.9 L389.7,229.2 L391.5,225.4 L393.3,221.5 L395.1,217.6 L396.9,213.5 L398.7,209.4 L400.5,205.2 L402.3,200.8 L404.2,196.4 L406,191.9 L407.8,187.3 L409.6,182.6 L411.4,177.7 L413.2,172.8 L415,167.8 L416.8,162.6 L418.6,157.4 L420.4,152 L422.2,146.5 L424,140.9 L425.8,135.2 L427.7,129.3 L429.5,123.3 L431.3,117.2 L433.1,111 L434.9,104.6 L436.7,98.15 L438.5,91.51 L440.3,84.74 L442.1,77.82 L443.9,70.76 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic nd</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_ns.png b/libs/math/doc/graphs/jacobi_ns.png
new file mode 100644
index 0000000000..9d2b99318b
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_ns.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_ns.svg b/libs/math/doc/graphs/jacobi_ns.svg
new file mode 100644
index 0000000000..cc514bcd0b
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_ns.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="110.4" y="59" width="341.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="109.4" y="58" width="343.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="109.4" y1="58" x2="109.4" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="104.4" y1="70.88" x2="453" y2="70.88"/><line x1="104.4" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M107.4,70.88 L109.4,70.88 M107.4,84.64 L109.4,84.64 M107.4,98.39 L109.4,98.39 M107.4,112.1 L109.4,112.1 M107.4,125.9 L109.4,125.9 M107.4,139.7 L109.4,139.7 M107.4,153.4 L109.4,153.4 M107.4,167.2 L109.4,167.2 M107.4,180.9 L109.4,180.9 M107.4,194.7 L109.4,194.7 M107.4,208.4 L109.4,208.4 M107.4,222.2 L109.4,222.2 M107.4,235.9 L109.4,235.9 M107.4,249.7 L109.4,249.7 M107.4,263.4 L109.4,263.4 M107.4,277.2 L109.4,277.2 M107.4,290.9 L109.4,290.9 M107.4,304.7 L109.4,304.7 M107.4,318.5 L109.4,318.5 M107.4,332.2 L109.4,332.2 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M122.4,341 L122.4,343 M143.9,341 L143.9,343 M165.5,341 L165.5,343 M208.7,341 L208.7,343 M230.3,341 L230.3,343 M251.9,341 L251.9,343 M295.1,341 L295.1,343 M316.7,341 L316.7,343 M338.3,341 L338.3,343 M381.4,341 L381.4,343 M403,341 L403,343 M424.6,341 L424.6,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M104.4,70.88 L109.4,70.88 M104.4,70.88 L109.4,70.88 M104.4,125.9 L109.4,125.9 M104.4,180.9 L109.4,180.9 M104.4,235.9 L109.4,235.9 M104.4,290.9 L109.4,290.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M187.1,341 L187.1,346 M273.5,341 L273.5,346 M359.9,341 L359.9,346 M446.2,341 L446.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="187.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="273.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="359.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="446.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text></g>
+<g id="yTicksValues">
+<text x="98.4" y="73.28" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="98.4" y="73.28" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="98.4" y="128.3" text-anchor="end" font-size="12" font-family="Verdana">-500</text>
+<text x="98.4" y="183.3" text-anchor="end" font-size="12" font-family="Verdana">-1e3</text>
+<text x="98.4" y="238.3" text-anchor="end" font-size="12" font-family="Verdana">-1.5e3</text>
+<text x="98.4" y="293.3" text-anchor="end" font-size="12" font-family="Verdana">-2e3</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_ns(k, u)</text></g>
+<g id="xLabel">
+<text x="281.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M109.4,69.78 L111.1,69.96 L112.8,70.09 L114.5,70.19 L116.1,70.26 L117.8,70.32 L119.5,70.37 L121.2,70.41 L122.9,70.45 L124.6,70.48 L126.2,70.51 L127.9,70.53 L129.6,70.55 L131.3,70.57 L133,70.58 L134.7,70.6 L136.3,70.61 L138,70.62 L139.7,70.63 L141.4,70.64 L143.1,70.65 L144.8,70.66 L146.5,70.67 L148.1,70.67 L149.8,70.68 L151.5,70.69 L153.2,70.69 L154.9,70.7 L156.6,70.7 L158.2,70.71 L159.9,70.71 L161.6,70.71 L163.3,70.72 L165,70.72 L166.7,70.73 L168.3,70.73 L170,70.73 L171.7,70.73 L173.4,70.74 L175.1,70.74 L176.8,70.74 L178.4,70.74 L180.1,70.75 L181.8,70.75 L183.5,70.75 L185.2,70.75 L186.9,70.75 L188.6,70.75 L190.2,70.76 L191.9,70.76 L193.6,70.76 L195.3,70.76 L197,70.76 L198.7,70.76 L200.3,70.76 L202,70.77 L203.7,70.77 L205.4,70.77 L207.1,70.77 L208.8,70.77 L210.4,70.77 L212.1,70.77 L213.8,70.77 L215.5,70.77 L217.2,70.77 L218.9,70.77 L220.6,70.77 L222.2,70.77 L223.9,70.77 L225.6,70.77 L227.3,70.77 L229,70.77 L230.7,70.77 L232.3,70.77 L234,70.77 L235.7,70.77 L237.4,70.77 L239.1,70.77 L240.8,70.77 L242.4,70.77 L244.1,70.77 L245.8,70.77 L247.5,70.77 L249.2,70.77 L250.9,70.77 L252.6,70.77 L254.2,70.77 L255.9,70.77 L257.6,70.77 L259.3,70.77 L261,70.77 L262.7,70.77 L264.3,70.77 L266,70.77 L267.7,70.77 L269.4,70.77 L271.1,70.76 L272.8,70.76 L274.4,70.76 L276.1,70.76 L277.8,70.76 L279.5,70.76 L281.2,70.76 L282.9,70.76 L284.5,70.75 L286.2,70.75 L287.9,70.75 L289.6,70.75 L291.3,70.75 L293,70.75 L294.7,70.74 L296.3,70.74 L298,70.74 L299.7,70.74 L301.4,70.73 L303.1,70.73 L304.8,70.73 L306.4,70.72 L308.1,70.72 L309.8,70.72 L311.5,70.71 L313.2,70.71 L314.9,70.71 L316.5,70.7 L318.2,70.7 L319.9,70.69 L321.6,70.69 L323.3,70.68 L325,70.67 L326.7,70.67 L328.3,70.66 L330,70.65 L331.7,70.64 L333.4,70.63 L335.1,70.62 L336.8,70.61 L338.4,70.59 L340.1,70.58 L341.8,70.56 L343.5,70.55 L345.2,70.53 L346.9,70.5 L348.5,70.48 L350.2,70.44 L351.9,70.41 L353.6,70.37 L355.3,70.32 L357,70.25 L358.6,70.17 L360.3,70.07 L362,69.94 L363.7,69.75 L365.4,69.46 L367.1,68.99 L368.8,68.03 L370.4,65.12 L372.1,341 L373.8,76.41 L375.5,73.68 L377.2,72.75 L378.9,72.29 L380.5,72.01 L382.2,71.82 L383.9,71.69 L385.6,71.59 L387.3,71.51 L389,71.45 L390.6,71.4 L392.3,71.36 L394,71.32 L395.7,71.29 L397.4,71.27 L399.1,71.24 L400.8,71.22 L402.4,71.2 L404.1,71.19 L405.8,71.17 L407.5,71.16 L409.2,71.15 L410.9,71.14 L412.5,71.13 L414.2,71.12 L415.9,71.11 L417.6,71.1 L419.3,71.1 L421,71.09 L422.6,71.08 L424.3,71.08 L426,71.07 L427.7,71.07 L429.4,71.06 L431.1,71.06 L432.8,71.05 L434.4,71.05 L436.1,71.05 L437.8,71.04 L439.5,71.04 L441.2,71.04 L442.9,71.03 L444.5,71.03 L446.2,71.03 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M109.4,69.78 L111.1,69.96 L112.8,70.09 L114.5,70.19 L116.1,70.26 L117.8,70.32 L119.5,70.37 L121.2,70.41 L122.9,70.45 L124.6,70.48 L126.2,70.5 L127.9,70.53 L129.6,70.55 L131.3,70.57 L133,70.58 L134.7,70.6 L136.3,70.61 L138,70.62 L139.7,70.63 L141.4,70.64 L143.1,70.65 L144.8,70.66 L146.5,70.66 L148.1,70.67 L149.8,70.68 L151.5,70.68 L153.2,70.69 L154.9,70.69 L156.6,70.7 L158.2,70.7 L159.9,70.71 L161.6,70.71 L163.3,70.72 L165,70.72 L166.7,70.72 L168.3,70.73 L170,70.73 L171.7,70.73 L173.4,70.73 L175.1,70.74 L176.8,70.74 L178.4,70.74 L180.1,70.74 L181.8,70.74 L183.5,70.75 L185.2,70.75 L186.9,70.75 L188.6,70.75 L190.2,70.75 L191.9,70.75 L193.6,70.76 L195.3,70.76 L197,70.76 L198.7,70.76 L200.3,70.76 L202,70.76 L203.7,70.76 L205.4,70.76 L207.1,70.77 L208.8,70.77 L210.4,70.77 L212.1,70.77 L213.8,70.77 L215.5,70.77 L217.2,70.77 L218.9,70.77 L220.6,70.77 L222.2,70.77 L223.9,70.77 L225.6,70.77 L227.3,70.77 L229,70.77 L230.7,70.77 L232.3,70.77 L234,70.77 L235.7,70.77 L237.4,70.77 L239.1,70.77 L240.8,70.77 L242.4,70.77 L244.1,70.77 L245.8,70.77 L247.5,70.77 L249.2,70.77 L250.9,70.77 L252.6,70.77 L254.2,70.77 L255.9,70.77 L257.6,70.77 L259.3,70.77 L261,70.77 L262.7,70.77 L264.3,70.77 L266,70.77 L267.7,70.77 L269.4,70.77 L271.1,70.77 L272.8,70.77 L274.4,70.77 L276.1,70.77 L277.8,70.77 L279.5,70.77 L281.2,70.77 L282.9,70.77 L284.5,70.77 L286.2,70.76 L287.9,70.76 L289.6,70.76 L291.3,70.76 L293,70.76 L294.7,70.76 L296.3,70.76 L298,70.76 L299.7,70.76 L301.4,70.75 L303.1,70.75 L304.8,70.75 L306.4,70.75 L308.1,70.75 L309.8,70.75 L311.5,70.74 L313.2,70.74 L314.9,70.74 L316.5,70.74 L318.2,70.74 L319.9,70.73 L321.6,70.73 L323.3,70.73 L325,70.72 L326.7,70.72 L328.3,70.72 L330,70.71 L331.7,70.71 L333.4,70.71 L335.1,70.7 L336.8,70.7 L338.4,70.69 L340.1,70.69 L341.8,70.68 L343.5,70.68 L345.2,70.67 L346.9,70.66 L348.5,70.65 L350.2,70.65 L351.9,70.64 L353.6,70.63 L355.3,70.62 L357,70.6 L358.6,70.59 L360.3,70.58 L362,70.56 L363.7,70.54 L365.4,70.52 L367.1,70.5 L368.8,70.47 L370.4,70.44 L372.1,70.4 L373.8,70.36 L375.5,70.3 L377.2,70.24 L378.9,70.15 L380.5,70.05 L382.2,69.9 L383.9,69.7 L385.6,69.39 L387.3,68.85 L389,67.69 L390.6,63.55 L392.3,95.34 L394,75.47 L395.7,73.41 L397.4,72.63 L399.1,72.22 L400.8,71.97 L402.4,71.79 L404.1,71.67 L405.8,71.57 L407.5,71.5 L409.2,71.44 L410.9,71.39 L412.5,71.35 L414.2,71.32 L415.9,71.29 L417.6,71.26 L419.3,71.24 L421,71.22 L422.6,71.2 L424.3,71.19 L426,71.17 L427.7,71.16 L429.4,71.15 L431.1,71.14 L432.8,71.13 L434.4,71.12 L436.1,71.11 L437.8,71.1 L439.5,71.1 L441.2,71.09 L442.9,71.08 L444.5,71.08 L446.2,71.07 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M109.4,69.78 L111.1,69.96 L112.8,70.09 L114.5,70.19 L116.1,70.26 L117.8,70.32 L119.5,70.37 L121.2,70.41 L122.9,70.45 L124.6,70.48 L126.2,70.5 L127.9,70.53 L129.6,70.55 L131.3,70.56 L133,70.58 L134.7,70.59 L136.3,70.61 L138,70.62 L139.7,70.63 L141.4,70.64 L143.1,70.65 L144.8,70.65 L146.5,70.66 L148.1,70.67 L149.8,70.67 L151.5,70.68 L153.2,70.69 L154.9,70.69 L156.6,70.7 L158.2,70.7 L159.9,70.7 L161.6,70.71 L163.3,70.71 L165,70.72 L166.7,70.72 L168.3,70.72 L170,70.72 L171.7,70.73 L173.4,70.73 L175.1,70.73 L176.8,70.73 L178.4,70.74 L180.1,70.74 L181.8,70.74 L183.5,70.74 L185.2,70.74 L186.9,70.75 L188.6,70.75 L190.2,70.75 L191.9,70.75 L193.6,70.75 L195.3,70.75 L197,70.75 L198.7,70.76 L200.3,70.76 L202,70.76 L203.7,70.76 L205.4,70.76 L207.1,70.76 L208.8,70.76 L210.4,70.76 L212.1,70.76 L213.8,70.76 L215.5,70.77 L217.2,70.77 L218.9,70.77 L220.6,70.77 L222.2,70.77 L223.9,70.77 L225.6,70.77 L227.3,70.77 L229,70.77 L230.7,70.77 L232.3,70.77 L234,70.77 L235.7,70.77 L237.4,70.77 L239.1,70.77 L240.8,70.77 L242.4,70.77 L244.1,70.77 L245.8,70.77 L247.5,70.77 L249.2,70.77 L250.9,70.77 L252.6,70.77 L254.2,70.77 L255.9,70.77 L257.6,70.77 L259.3,70.77 L261,70.77 L262.7,70.77 L264.3,70.77 L266,70.77 L267.7,70.77 L269.4,70.77 L271.1,70.77 L272.8,70.77 L274.4,70.77 L276.1,70.77 L277.8,70.77 L279.5,70.77 L281.2,70.77 L282.9,70.77 L284.5,70.77 L286.2,70.77 L287.9,70.77 L289.6,70.77 L291.3,70.77 L293,70.77 L294.7,70.77 L296.3,70.77 L298,70.77 L299.7,70.77 L301.4,70.77 L303.1,70.77 L304.8,70.77 L306.4,70.77 L308.1,70.77 L309.8,70.77 L311.5,70.77 L313.2,70.77 L314.9,70.77 L316.5,70.76 L318.2,70.76 L319.9,70.76 L321.6,70.76 L323.3,70.76 L325,70.76 L326.7,70.76 L328.3,70.76 L330,70.76 L331.7,70.76 L333.4,70.76 L335.1,70.75 L336.8,70.75 L338.4,70.75 L340.1,70.75 L341.8,70.75 L343.5,70.75 L345.2,70.75 L346.9,70.74 L348.5,70.74 L350.2,70.74 L351.9,70.74 L353.6,70.74 L355.3,70.73 L357,70.73 L358.6,70.73 L360.3,70.73 L362,70.72 L363.7,70.72 L365.4,70.72 L367.1,70.71 L368.8,70.71 L370.4,70.71 L372.1,70.7 L373.8,70.7 L375.5,70.69 L377.2,70.69 L378.9,70.68 L380.5,70.68 L382.2,70.67 L383.9,70.67 L385.6,70.66 L387.3,70.65 L389,70.64 L390.6,70.63 L392.3,70.62 L394,70.61 L395.7,70.6 L397.4,70.59 L399.1,70.57 L400.8,70.56 L402.4,70.54 L404.1,70.52 L405.8,70.5 L407.5,70.47 L409.2,70.44 L410.9,70.4 L412.5,70.36 L414.2,70.31 L415.9,70.24 L417.6,70.16 L419.3,70.06 L421,69.92 L422.6,69.72 L424.3,69.42 L426,68.92 L427.7,67.87 L429.4,64.4 L431.1,114.5 L432.8,75.88 L434.4,73.54 L436.1,72.69 L437.8,72.25 L439.5,71.99 L441.2,71.81 L442.9,71.68 L444.5,71.58 L446.2,71.51 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M109.4,69.78 L111.1,69.96 L112.8,70.09 L114.5,70.18 L116.1,70.26 L117.8,70.32 L119.5,70.37 L121.2,70.41 L122.9,70.45 L124.6,70.48 L126.2,70.5 L127.9,70.52 L129.6,70.54 L131.3,70.56 L133,70.58 L134.7,70.59 L136.3,70.6 L138,70.61 L139.7,70.62 L141.4,70.63 L143.1,70.64 L144.8,70.65 L146.5,70.66 L148.1,70.67 L149.8,70.67 L151.5,70.68 L153.2,70.68 L154.9,70.69 L156.6,70.69 L158.2,70.7 L159.9,70.7 L161.6,70.7 L163.3,70.71 L165,70.71 L166.7,70.71 L168.3,70.72 L170,70.72 L171.7,70.72 L173.4,70.73 L175.1,70.73 L176.8,70.73 L178.4,70.73 L180.1,70.73 L181.8,70.74 L183.5,70.74 L185.2,70.74 L186.9,70.74 L188.6,70.74 L190.2,70.74 L191.9,70.75 L193.6,70.75 L195.3,70.75 L197,70.75 L198.7,70.75 L200.3,70.75 L202,70.75 L203.7,70.75 L205.4,70.75 L207.1,70.76 L208.8,70.76 L210.4,70.76 L212.1,70.76 L213.8,70.76 L215.5,70.76 L217.2,70.76 L218.9,70.76 L220.6,70.76 L222.2,70.76 L223.9,70.76 L225.6,70.76 L227.3,70.76 L229,70.76 L230.7,70.76 L232.3,70.77 L234,70.77 L235.7,70.77 L237.4,70.77 L239.1,70.77 L240.8,70.77 L242.4,70.77 L244.1,70.77 L245.8,70.77 L247.5,70.77 L249.2,70.77 L250.9,70.77 L252.6,70.77 L254.2,70.77 L255.9,70.77 L257.6,70.77 L259.3,70.77 L261,70.77 L262.7,70.77 L264.3,70.77 L266,70.77 L267.7,70.77 L269.4,70.77 L271.1,70.77 L272.8,70.77 L274.4,70.77 L276.1,70.77 L277.8,70.77 L279.5,70.77 L281.2,70.77 L282.9,70.77 L284.5,70.77 L286.2,70.77 L287.9,70.77 L289.6,70.77 L291.3,70.77 L293,70.77 L294.7,70.77 L296.3,70.77 L298,70.77 L299.7,70.77 L301.4,70.77 L303.1,70.77 L304.8,70.77 L306.4,70.77 L308.1,70.77 L309.8,70.77 L311.5,70.77 L313.2,70.77 L314.9,70.77 L316.5,70.77 L318.2,70.77 L319.9,70.77 L321.6,70.77 L323.3,70.77 L325,70.77 L326.7,70.77 L328.3,70.77 L330,70.77 L331.7,70.77 L333.4,70.77 L335.1,70.77 L336.8,70.77 L338.4,70.77 L340.1,70.77 L341.8,70.77 L343.5,70.77 L345.2,70.77 L346.9,70.77 L348.5,70.77 L350.2,70.77 L351.9,70.77 L353.6,70.77 L355.3,70.77 L357,70.77 L358.6,70.77 L360.3,70.77 L362,70.77 L363.7,70.77 L365.4,70.77 L367.1,70.77 L368.8,70.77 L370.4,70.77 L372.1,70.77 L373.8,70.77 L375.5,70.77 L377.2,70.77 L378.9,70.77 L380.5,70.77 L382.2,70.77 L383.9,70.77 L385.6,70.77 L387.3,70.77 L389,70.77 L390.6,70.77 L392.3,70.77 L394,70.77 L395.7,70.77 L397.4,70.77 L399.1,70.77 L400.8,70.77 L402.4,70.77 L404.1,70.77 L405.8,70.77 L407.5,70.77 L409.2,70.77 L410.9,70.77 L412.5,70.77 L414.2,70.77 L415.9,70.77 L417.6,70.77 L419.3,70.76 L421,70.76 L422.6,70.76 L424.3,70.76 L426,70.76 L427.7,70.76 L429.4,70.76 L431.1,70.76 L432.8,70.76 L434.4,70.76 L436.1,70.76 L437.8,70.76 L439.5,70.76 L441.2,70.76 L442.9,70.76 L444.5,70.75 L446.2,70.75 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M109.4,69.78 L111.1,69.96 L112.8,70.09 L114.5,70.18 L116.1,70.26 L117.8,70.32 L119.5,70.37 L121.2,70.41 L122.9,70.45 L124.6,70.47 L126.2,70.5 L127.9,70.52 L129.6,70.54 L131.3,70.56 L133,70.58 L134.7,70.59 L136.3,70.6 L138,70.61 L139.7,70.62 L141.4,70.63 L143.1,70.64 L144.8,70.65 L146.5,70.66 L148.1,70.66 L149.8,70.67 L151.5,70.68 L153.2,70.68 L154.9,70.69 L156.6,70.69 L158.2,70.7 L159.9,70.7 L161.6,70.7 L163.3,70.71 L165,70.71 L166.7,70.71 L168.3,70.72 L170,70.72 L171.7,70.72 L173.4,70.72 L175.1,70.73 L176.8,70.73 L178.4,70.73 L180.1,70.73 L181.8,70.73 L183.5,70.74 L185.2,70.74 L186.9,70.74 L188.6,70.74 L190.2,70.74 L191.9,70.74 L193.6,70.75 L195.3,70.75 L197,70.75 L198.7,70.75 L200.3,70.75 L202,70.75 L203.7,70.75 L205.4,70.75 L207.1,70.75 L208.8,70.75 L210.4,70.76 L212.1,70.76 L213.8,70.76 L215.5,70.76 L217.2,70.76 L218.9,70.76 L220.6,70.76 L222.2,70.76 L223.9,70.76 L225.6,70.76 L227.3,70.76 L229,70.76 L230.7,70.76 L232.3,70.76 L234,70.76 L235.7,70.76 L237.4,70.76 L239.1,70.77 L240.8,70.77 L242.4,70.77 L244.1,70.77 L245.8,70.77 L247.5,70.77 L249.2,70.77 L250.9,70.77 L252.6,70.77 L254.2,70.77 L255.9,70.77 L257.6,70.77 L259.3,70.77 L261,70.77 L262.7,70.77 L264.3,70.77 L266,70.77 L267.7,70.77 L269.4,70.77 L271.1,70.77 L272.8,70.77 L274.4,70.77 L276.1,70.77 L277.8,70.77 L279.5,70.77 L281.2,70.77 L282.9,70.77 L284.5,70.77 L286.2,70.77 L287.9,70.77 L289.6,70.77 L291.3,70.77 L293,70.77 L294.7,70.77 L296.3,70.77 L298,70.77 L299.7,70.77 L301.4,70.77 L303.1,70.77 L304.8,70.77 L306.4,70.77 L308.1,70.77 L309.8,70.77 L311.5,70.77 L313.2,70.77 L314.9,70.77 L316.5,70.77 L318.2,70.77 L319.9,70.77 L321.6,70.77 L323.3,70.77 L325,70.77 L326.7,70.77 L328.3,70.77 L330,70.77 L331.7,70.77 L333.4,70.77 L335.1,70.77 L336.8,70.77 L338.4,70.77 L340.1,70.77 L341.8,70.77 L343.5,70.77 L345.2,70.77 L346.9,70.77 L348.5,70.77 L350.2,70.77 L351.9,70.77 L353.6,70.77 L355.3,70.77 L357,70.77 L358.6,70.77 L360.3,70.77 L362,70.77 L363.7,70.77 L365.4,70.77 L367.1,70.77 L368.8,70.77 L370.4,70.77 L372.1,70.77 L373.8,70.77 L375.5,70.77 L377.2,70.77 L378.9,70.77 L380.5,70.77 L382.2,70.77 L383.9,70.77 L385.6,70.77 L387.3,70.77 L389,70.77 L390.6,70.77 L392.3,70.77 L394,70.77 L395.7,70.77 L397.4,70.77 L399.1,70.77 L400.8,70.77 L402.4,70.77 L404.1,70.77 L405.8,70.77 L407.5,70.77 L409.2,70.77 L410.9,70.77 L412.5,70.77 L414.2,70.77 L415.9,70.77 L417.6,70.77 L419.3,70.77 L421,70.77 L422.6,70.77 L424.3,70.77 L426,70.77 L427.7,70.77 L429.4,70.77 L431.1,70.77 L432.8,70.77 L434.4,70.77 L436.1,70.77 L437.8,70.77 L439.5,70.77 L441.2,70.77 L442.9,70.77 L444.5,70.77 L446.2,70.77 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic ns</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_sc.png b/libs/math/doc/graphs/jacobi_sc.png
new file mode 100644
index 0000000000..29c1a7f264
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_sc.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_sc.svg b/libs/math/doc/graphs/jacobi_sc.svg
new file mode 100644
index 0000000000..8d2b72f59d
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_sc.svg
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="358.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="360.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="269.2" y1="58" x2="269.2" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="453" y2="202.3"/><line x1="87.6" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,191.5 L92.6,191.5 M90.6,180.6 L92.6,180.6 M90.6,169.8 L92.6,169.8 M90.6,148.2 L92.6,148.2 M90.6,137.4 L92.6,137.4 M90.6,126.6 L92.6,126.6 M90.6,104.9 L92.6,104.9 M90.6,94.1 L92.6,94.1 M90.6,83.28 L92.6,83.28 M90.6,61.65 L92.6,61.65 M90.6,202.3 L92.6,202.3 M90.6,213.1 L92.6,213.1 M90.6,223.9 L92.6,223.9 M90.6,234.7 L92.6,234.7 M90.6,245.5 L92.6,245.5 M90.6,256.4 L92.6,256.4 M90.6,267.2 L92.6,267.2 M90.6,278 L92.6,278 M90.6,288.8 L92.6,288.8 M90.6,299.6 L92.6,299.6 M90.6,310.4 L92.6,310.4 M90.6,321.3 L92.6,321.3 M90.6,332.1 L92.6,332.1 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M278.1,341 L278.1,343 M286.9,341 L286.9,343 M295.7,341 L295.7,343 M313.4,341 L313.4,343 M322.2,341 L322.2,343 M331.1,341 L331.1,343 M348.7,341 L348.7,343 M357.6,341 L357.6,343 M366.4,341 L366.4,343 M384.1,341 L384.1,343 M392.9,341 L392.9,343 M401.7,341 L401.7,343 M419.4,341 L419.4,343 M428.2,341 L428.2,343 M437.1,341 L437.1,343 M260.4,341 L260.4,343 M251.6,341 L251.6,343 M242.8,341 L242.8,343 M225.1,341 L225.1,343 M216.3,341 L216.3,343 M207.4,341 L207.4,343 M189.8,341 L189.8,343 M180.9,341 L180.9,343 M172.1,341 L172.1,343 M154.4,341 L154.4,343 M145.6,341 L145.6,343 M136.8,341 L136.8,343 M119.1,341 L119.1,343 M110.3,341 L110.3,343 M101.4,341 L101.4,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,159 L92.6,159 M87.6,115.7 L92.6,115.7 M87.6,72.47 L92.6,72.47 M87.6,202.3 L92.6,202.3 M87.6,245.5 L92.6,245.5 M87.6,288.8 L92.6,288.8 M87.6,332.1 L92.6,332.1 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M269.2,341 L269.2,346 M304.6,341 L304.6,346 M339.9,341 L339.9,346 M375.2,341 L375.2,346 M410.6,341 L410.6,346 M445.9,341 L445.9,346 M269.2,341 L269.2,346 M233.9,341 L233.9,346 M198.6,341 L198.6,346 M163.3,341 L163.3,346 M127.9,341 L127.9,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="304.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="339.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="375.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="410.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="445.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="233.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="198.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="163.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
+<text x="127.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="161.4" text-anchor="end" font-size="12" font-family="Verdana">100</text>
+<text x="81.6" y="118.1" text-anchor="end" font-size="12" font-family="Verdana">200</text>
+<text x="81.6" y="74.87" text-anchor="end" font-size="12" font-family="Verdana">300</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="247.9" text-anchor="end" font-size="12" font-family="Verdana">-100</text>
+<text x="81.6" y="291.2" text-anchor="end" font-size="12" font-family="Verdana">-200</text>
+<text x="81.6" y="334.5" text-anchor="end" font-size="12" font-family="Verdana">-300</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_sc(k, u)</text></g>
+<g id="xLabel">
+<text x="272.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,200.8 L94.37,200.5 L96.13,200 L97.9,199.2 L99.67,197.3 L101.4,190.8 L103.2,237.2 L105,209.2 L106.7,206.1 L108.5,204.9 L110.3,204.3 L112,203.9 L113.8,203.6 L115.6,203.4 L117.3,203.3 L119.1,203.1 L120.9,203 L122.6,203 L124.4,202.9 L126.2,202.8 L127.9,202.8 L129.7,202.7 L131.5,202.7 L133.2,202.6 L135,202.6 L136.8,202.6 L138.5,202.5 L140.3,202.5 L142.1,202.5 L143.8,202.5 L145.6,202.4 L147.4,202.4 L149.1,202.4 L150.9,202.4 L152.7,202.3 L154.4,202.3 L156.2,202.3 L158,202.3 L159.7,202.3 L161.5,202.2 L163.3,202.2 L165,202.2 L166.8,202.2 L168.6,202.1 L170.3,202.1 L172.1,202.1 L173.9,202.1 L175.6,202 L177.4,202 L179.2,202 L180.9,202 L182.7,201.9 L184.5,201.9 L186.2,201.8 L188,201.8 L189.8,201.7 L191.5,201.7 L193.3,201.6 L195.1,201.5 L196.8,201.4 L198.6,201.3 L200.4,201.2 L202.1,201 L203.9,200.8 L205.7,200.4 L207.4,199.9 L209.2,198.9 L211,196.8 L212.7,187.5 L214.5,223.1 L216.3,208.4 L218,205.8 L219.8,204.8 L221.6,204.2 L223.3,203.8 L225.1,203.6 L226.9,203.4 L228.6,203.2 L230.4,203.1 L232.2,203 L233.9,202.9 L235.7,202.9 L237.5,202.8 L239.2,202.8 L241,202.7 L242.7,202.7 L244.5,202.6 L246.3,202.6 L248,202.6 L249.8,202.5 L251.6,202.5 L253.3,202.5 L255.1,202.5 L256.9,202.4 L258.6,202.4 L260.4,202.4 L262.2,202.4 L263.9,202.3 L265.7,202.3 L267.5,202.3 L269.2,202.3 L271,202.3 L272.8,202.2 L274.5,202.2 L276.3,202.2 L278.1,202.2 L279.8,202.1 L281.6,202.1 L283.4,202.1 L285.1,202.1 L286.9,202 L288.7,202 L290.4,202 L292.2,201.9 L294,201.9 L295.7,201.9 L297.5,201.8 L299.3,201.8 L301,201.7 L302.8,201.7 L304.6,201.6 L306.3,201.5 L308.1,201.4 L309.9,201.3 L311.6,201.2 L313.4,201 L315.2,200.7 L316.9,200.3 L318.7,199.8 L320.5,198.7 L322.2,196.2 L324,181.5 L325.8,217.1 L327.5,207.7 L329.3,205.6 L331.1,204.7 L332.8,204.1 L334.6,203.8 L336.4,203.5 L338.1,203.4 L339.9,203.2 L341.7,203.1 L343.4,203 L345.2,202.9 L347,202.9 L348.7,202.8 L350.5,202.8 L352.3,202.7 L354,202.7 L355.8,202.6 L357.6,202.6 L359.3,202.6 L361.1,202.5 L362.9,202.5 L364.6,202.5 L366.4,202.5 L368.2,202.4 L369.9,202.4 L371.7,202.4 L373.5,202.4 L375.2,202.3 L377,202.3 L378.8,202.3 L380.5,202.3 L382.3,202.2 L384.1,202.2 L385.8,202.2 L387.6,202.2 L389.4,202.2 L391.1,202.1 L392.9,202.1 L394.7,202.1 L396.4,202.1 L398.2,202 L400,202 L401.7,202 L403.5,201.9 L405.3,201.9 L407,201.9 L408.8,201.8 L410.6,201.8 L412.3,201.7 L414.1,201.7 L415.9,201.6 L417.6,201.5 L419.4,201.4 L421.2,201.3 L422.9,201.1 L424.7,200.9 L426.5,200.7 L428.2,200.3 L430,199.6 L431.8,198.4 L433.5,195.3 L435.3,167.4 L437.1,213.8 L438.8,207.2 L440.6,205.4 L442.4,204.6 L444.1,204.1 L445.9,203.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,211 L94.37,206.9 L96.13,205.4 L97.9,204.7 L99.67,204.2 L101.4,203.9 L103.2,203.6 L105,203.4 L106.7,203.3 L108.5,203.2 L110.3,203.1 L112,203 L113.8,202.9 L115.6,202.9 L117.3,202.8 L119.1,202.8 L120.9,202.7 L122.6,202.7 L124.4,202.6 L126.2,202.6 L127.9,202.6 L129.7,202.6 L131.5,202.5 L133.2,202.5 L135,202.5 L136.8,202.4 L138.5,202.4 L140.3,202.4 L142.1,202.4 L143.8,202.4 L145.6,202.3 L147.4,202.3 L149.1,202.3 L150.9,202.3 L152.7,202.2 L154.4,202.2 L156.2,202.2 L158,202.2 L159.7,202.2 L161.5,202.1 L163.3,202.1 L165,202.1 L166.8,202.1 L168.6,202 L170.3,202 L172.1,202 L173.9,201.9 L175.6,201.9 L177.4,201.9 L179.2,201.8 L180.9,201.8 L182.7,201.7 L184.5,201.7 L186.2,201.6 L188,201.6 L189.8,201.5 L191.5,201.4 L193.3,201.3 L195.1,201.1 L196.8,201 L198.6,200.7 L200.4,200.4 L202.1,200 L203.9,199.3 L205.7,197.9 L207.4,194.5 L209.2,167.2 L211,216.2 L212.7,208.1 L214.5,205.9 L216.3,204.9 L218,204.4 L219.8,204 L221.6,203.7 L223.3,203.5 L225.1,203.4 L226.9,203.2 L228.6,203.1 L230.4,203 L232.2,203 L233.9,202.9 L235.7,202.8 L237.5,202.8 L239.2,202.7 L241,202.7 L242.7,202.7 L244.5,202.6 L246.3,202.6 L248,202.6 L249.8,202.5 L251.6,202.5 L253.3,202.5 L255.1,202.5 L256.9,202.4 L258.6,202.4 L260.4,202.4 L262.2,202.4 L263.9,202.3 L265.7,202.3 L267.5,202.3 L269.2,202.3 L271,202.3 L272.8,202.2 L274.5,202.2 L276.3,202.2 L278.1,202.2 L279.8,202.1 L281.6,202.1 L283.4,202.1 L285.1,202.1 L286.9,202 L288.7,202 L290.4,202 L292.2,202 L294,201.9 L295.7,201.9 L297.5,201.8 L299.3,201.8 L301,201.8 L302.8,201.7 L304.6,201.6 L306.3,201.6 L308.1,201.5 L309.9,201.4 L311.6,201.3 L313.4,201.2 L315.2,201 L316.9,200.8 L318.7,200.6 L320.5,200.2 L322.2,199.6 L324,198.6 L325.8,196.5 L327.5,188.3 L329.3,237.3 L331.1,210 L332.8,206.6 L334.6,205.3 L336.4,204.6 L338.1,204.1 L339.9,203.8 L341.7,203.6 L343.4,203.4 L345.2,203.3 L347,203.2 L348.7,203.1 L350.5,203 L352.3,202.9 L354,202.9 L355.8,202.8 L357.6,202.8 L359.3,202.7 L361.1,202.7 L362.9,202.6 L364.6,202.6 L366.4,202.6 L368.2,202.5 L369.9,202.5 L371.7,202.5 L373.5,202.5 L375.2,202.4 L377,202.4 L378.8,202.4 L380.5,202.4 L382.3,202.3 L384.1,202.3 L385.8,202.3 L387.6,202.3 L389.4,202.3 L391.1,202.2 L392.9,202.2 L394.7,202.2 L396.4,202.2 L398.2,202.2 L400,202.1 L401.7,202.1 L403.5,202.1 L405.3,202.1 L407,202 L408.8,202 L410.6,202 L412.3,201.9 L414.1,201.9 L415.9,201.9 L417.6,201.8 L419.4,201.8 L421.2,201.7 L422.9,201.7 L424.7,201.6 L426.5,201.5 L428.2,201.5 L430,201.4 L431.8,201.2 L433.5,201.1 L435.3,200.9 L437.1,200.7 L438.8,200.4 L440.6,199.9 L442.4,199.1 L444.1,197.6 L445.9,193.6 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,203.1 L94.37,203 L96.13,202.9 L97.9,202.9 L99.67,202.8 L101.4,202.8 L103.2,202.7 L105,202.7 L106.7,202.7 L108.5,202.6 L110.3,202.6 L112,202.6 L113.8,202.5 L115.6,202.5 L117.3,202.5 L119.1,202.5 L120.9,202.4 L122.6,202.4 L124.4,202.4 L126.2,202.4 L127.9,202.4 L129.7,202.3 L131.5,202.3 L133.2,202.3 L135,202.3 L136.8,202.2 L138.5,202.2 L140.3,202.2 L142.1,202.2 L143.8,202.2 L145.6,202.1 L147.4,202.1 L149.1,202.1 L150.9,202.1 L152.7,202 L154.4,202 L156.2,202 L158,201.9 L159.7,201.9 L161.5,201.9 L163.3,201.8 L165,201.8 L166.8,201.8 L168.6,201.7 L170.3,201.7 L172.1,201.6 L173.9,201.6 L175.6,201.5 L177.4,201.4 L179.2,201.4 L180.9,201.3 L182.7,201.1 L184.5,201 L186.2,200.9 L188,200.7 L189.8,200.4 L191.5,200.1 L193.3,199.6 L195.1,198.8 L196.8,197.6 L198.6,194.9 L200.4,185.5 L202.1,261.8 L203.9,213 L205.7,208.2 L207.4,206.3 L209.2,205.3 L211,204.7 L212.7,204.3 L214.5,204 L216.3,203.8 L218,203.6 L219.8,203.5 L221.6,203.4 L223.3,203.2 L225.1,203.2 L226.9,203.1 L228.6,203 L230.4,203 L232.2,202.9 L233.9,202.8 L235.7,202.8 L237.5,202.8 L239.2,202.7 L241,202.7 L242.7,202.7 L244.5,202.6 L246.3,202.6 L248,202.6 L249.8,202.5 L251.6,202.5 L253.3,202.5 L255.1,202.5 L256.9,202.4 L258.6,202.4 L260.4,202.4 L262.2,202.4 L263.9,202.3 L265.7,202.3 L267.5,202.3 L269.2,202.3 L271,202.3 L272.8,202.2 L274.5,202.2 L276.3,202.2 L278.1,202.2 L279.8,202.1 L281.6,202.1 L283.4,202.1 L285.1,202.1 L286.9,202 L288.7,202 L290.4,202 L292.2,202 L294,201.9 L295.7,201.9 L297.5,201.9 L299.3,201.8 L301,201.8 L302.8,201.7 L304.6,201.7 L306.3,201.7 L308.1,201.6 L309.9,201.5 L311.6,201.5 L313.4,201.4 L315.2,201.3 L316.9,201.2 L318.7,201.1 L320.5,200.9 L322.2,200.7 L324,200.5 L325.8,200.2 L327.5,199.8 L329.3,199.2 L331.1,198.2 L332.8,196.4 L334.6,191.6 L336.4,142.8 L338.1,219 L339.9,209.6 L341.7,207 L343.4,205.7 L345.2,205 L347,204.5 L348.7,204.2 L350.5,203.9 L352.3,203.7 L354,203.5 L355.8,203.4 L357.6,203.3 L359.3,203.2 L361.1,203.1 L362.9,203 L364.6,203 L366.4,202.9 L368.2,202.9 L369.9,202.8 L371.7,202.8 L373.5,202.7 L375.2,202.7 L377,202.7 L378.8,202.6 L380.5,202.6 L382.3,202.6 L384.1,202.5 L385.8,202.5 L387.6,202.5 L389.4,202.5 L391.1,202.4 L392.9,202.4 L394.7,202.4 L396.4,202.4 L398.2,202.3 L400,202.3 L401.7,202.3 L403.5,202.3 L405.3,202.3 L407,202.2 L408.8,202.2 L410.6,202.2 L412.3,202.2 L414.1,202.2 L415.9,202.1 L417.6,202.1 L419.4,202.1 L421.2,202.1 L422.9,202 L424.7,202 L426.5,202 L428.2,201.9 L430,201.9 L431.8,201.9 L433.5,201.8 L435.3,201.8 L437.1,201.8 L438.8,201.7 L440.6,201.7 L442.4,201.6 L444.1,201.6 L445.9,201.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,202.2 L94.37,202.2 L96.13,202.2 L97.9,202.1 L99.67,202.1 L101.4,202.1 L103.2,202.1 L105,202 L106.7,202 L108.5,202 L110.3,202 L112,201.9 L113.8,201.9 L115.6,201.9 L117.3,201.8 L119.1,201.8 L120.9,201.8 L122.6,201.7 L124.4,201.7 L126.2,201.7 L127.9,201.6 L129.7,201.6 L131.5,201.5 L133.2,201.5 L135,201.4 L136.8,201.3 L138.5,201.3 L140.3,201.2 L142.1,201.1 L143.8,201.1 L145.6,201 L147.4,200.9 L149.1,200.8 L150.9,200.6 L152.7,200.5 L154.4,200.3 L156.2,200.2 L158,199.9 L159.7,199.7 L161.5,199.4 L163.3,199 L165,198.5 L166.8,197.9 L168.6,197 L170.3,195.7 L172.1,193.7 L173.9,189.7 L175.6,179.2 L177.4,63.55 L179.2,236.9 L180.9,217.6 L182.7,212.1 L184.5,209.5 L186.2,208 L188,207 L189.8,206.3 L191.5,205.7 L193.3,205.3 L195.1,205 L196.8,204.7 L198.6,204.5 L200.4,204.3 L202.1,204.1 L203.9,204 L205.7,203.8 L207.4,203.7 L209.2,203.6 L211,203.5 L212.7,203.4 L214.5,203.4 L216.3,203.3 L218,203.2 L219.8,203.2 L221.6,203.1 L223.3,203.1 L225.1,203 L226.9,203 L228.6,202.9 L230.4,202.9 L232.2,202.8 L233.9,202.8 L235.7,202.8 L237.5,202.7 L239.2,202.7 L241,202.7 L242.7,202.6 L244.5,202.6 L246.3,202.6 L248,202.6 L249.8,202.5 L251.6,202.5 L253.3,202.5 L255.1,202.5 L256.9,202.4 L258.6,202.4 L260.4,202.4 L262.2,202.4 L263.9,202.3 L265.7,202.3 L267.5,202.3 L269.2,202.3 L271,202.3 L272.8,202.2 L274.5,202.2 L276.3,202.2 L278.1,202.2 L279.8,202.1 L281.6,202.1 L283.4,202.1 L285.1,202.1 L286.9,202 L288.7,202 L290.4,202 L292.2,202 L294,201.9 L295.7,201.9 L297.5,201.9 L299.3,201.9 L301,201.8 L302.8,201.8 L304.6,201.8 L306.3,201.7 L308.1,201.7 L309.9,201.6 L311.6,201.6 L313.4,201.5 L315.2,201.5 L316.9,201.4 L318.7,201.4 L320.5,201.3 L322.2,201.3 L324,201.2 L325.8,201.1 L327.5,201 L329.3,200.9 L331.1,200.8 L332.8,200.7 L334.6,200.6 L336.4,200.4 L338.1,200.3 L339.9,200.1 L341.7,199.8 L343.4,199.6 L345.2,199.2 L347,198.8 L348.7,198.3 L350.5,197.6 L352.3,196.6 L354,195 L355.8,192.4 L357.6,186.9 L359.3,167.7 L361.1,341 L362.9,225.4 L364.6,214.8 L366.4,210.9 L368.2,208.8 L369.9,207.5 L371.7,206.7 L373.5,206 L375.2,205.6 L377,205.2 L378.8,204.9 L380.5,204.6 L382.3,204.4 L384.1,204.2 L385.8,204.1 L387.6,203.9 L389.4,203.8 L391.1,203.7 L392.9,203.6 L394.7,203.5 L396.4,203.4 L398.2,203.3 L400,203.3 L401.7,203.2 L403.5,203.1 L405.3,203.1 L407,203 L408.8,203 L410.6,202.9 L412.3,202.9 L414.1,202.9 L415.9,202.8 L417.6,202.8 L419.4,202.7 L421.2,202.7 L422.9,202.7 L424.7,202.7 L426.5,202.6 L428.2,202.6 L430,202.6 L431.8,202.5 L433.5,202.5 L435.3,202.5 L437.1,202.5 L438.8,202.4 L440.6,202.4 L442.4,202.4 L444.1,202.4 L445.9,202.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,234.4 L94.37,232.8 L96.13,231.3 L97.9,229.9 L99.67,228.6 L101.4,227.3 L103.2,226.1 L105,224.9 L106.7,223.8 L108.5,222.7 L110.3,221.7 L112,220.8 L113.8,219.9 L115.6,219 L117.3,218.2 L119.1,217.4 L120.9,216.7 L122.6,216 L124.4,215.3 L126.2,214.7 L127.9,214.1 L129.7,213.5 L131.5,213 L133.2,212.4 L135,211.9 L136.8,211.5 L138.5,211 L140.3,210.6 L142.1,210.2 L143.8,209.8 L145.6,209.4 L147.4,209.1 L149.1,208.7 L150.9,208.4 L152.7,208.1 L154.4,207.8 L156.2,207.6 L158,207.3 L159.7,207.1 L161.5,206.8 L163.3,206.6 L165,206.4 L166.8,206.2 L168.6,206 L170.3,205.8 L172.1,205.6 L173.9,205.5 L175.6,205.3 L177.4,205.2 L179.2,205 L180.9,204.9 L182.7,204.8 L184.5,204.6 L186.2,204.5 L188,204.4 L189.8,204.3 L191.5,204.2 L193.3,204.1 L195.1,204 L196.8,203.9 L198.6,203.8 L200.4,203.8 L202.1,203.7 L203.9,203.6 L205.7,203.5 L207.4,203.5 L209.2,203.4 L211,203.4 L212.7,203.3 L214.5,203.2 L216.3,203.2 L218,203.1 L219.8,203.1 L221.6,203.1 L223.3,203 L225.1,203 L226.9,202.9 L228.6,202.9 L230.4,202.9 L232.2,202.8 L233.9,202.8 L235.7,202.8 L237.5,202.7 L239.2,202.7 L241,202.7 L242.7,202.6 L244.5,202.6 L246.3,202.6 L248,202.5 L249.8,202.5 L251.6,202.5 L253.3,202.5 L255.1,202.5 L256.9,202.4 L258.6,202.4 L260.4,202.4 L262.2,202.4 L263.9,202.3 L265.7,202.3 L267.5,202.3 L269.2,202.3 L271,202.3 L272.8,202.2 L274.5,202.2 L276.3,202.2 L278.1,202.2 L279.8,202.1 L281.6,202.1 L283.4,202.1 L285.1,202.1 L286.9,202 L288.7,202 L290.4,202 L292.2,202 L294,201.9 L295.7,201.9 L297.5,201.9 L299.3,201.9 L301,201.8 L302.8,201.8 L304.6,201.8 L306.3,201.7 L308.1,201.7 L309.9,201.7 L311.6,201.6 L313.4,201.6 L315.2,201.5 L316.9,201.5 L318.7,201.5 L320.5,201.4 L322.2,201.4 L324,201.3 L325.8,201.2 L327.5,201.2 L329.3,201.1 L331.1,201.1 L332.8,201 L334.6,200.9 L336.4,200.9 L338.1,200.8 L339.9,200.7 L341.7,200.6 L343.4,200.5 L345.2,200.4 L347,200.3 L348.7,200.2 L350.5,200.1 L352.3,200 L354,199.9 L355.8,199.8 L357.6,199.7 L359.3,199.5 L361.1,199.4 L362.9,199.2 L364.6,199.1 L366.4,198.9 L368.2,198.7 L369.9,198.5 L371.7,198.4 L373.5,198.2 L375.2,197.9 L377,197.7 L378.8,197.5 L380.5,197.2 L382.3,197 L384.1,196.7 L385.8,196.4 L387.6,196.1 L389.4,195.8 L391.1,195.5 L392.9,195.1 L394.7,194.7 L396.4,194.4 L398.2,194 L400,193.5 L401.7,193.1 L403.5,192.6 L405.3,192.1 L407,191.6 L408.8,191 L410.6,190.5 L412.3,189.9 L414.1,189.2 L415.9,188.6 L417.6,187.9 L419.4,187.1 L421.2,186.3 L422.9,185.5 L424.7,184.7 L426.5,183.8 L428.2,182.8 L430,181.8 L431.8,180.8 L433.5,179.7 L435.3,178.5 L437.1,177.3 L438.8,176 L440.6,174.6 L442.4,173.2 L444.1,171.7 L445.9,170.2 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic sc</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_sd.png b/libs/math/doc/graphs/jacobi_sd.png
new file mode 100644
index 0000000000..c3c7943631
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_sd.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_sd.svg b/libs/math/doc/graphs/jacobi_sd.svg
new file mode 100644
index 0000000000..311ba70113
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_sd.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="375.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="377.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="260.7" y1="58" x2="260.7" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="453" y2="202.3"/><line x1="70.8" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,173.6 L75.8,173.6 M73.8,145 L75.8,145 M73.8,116.3 L75.8,116.3 M73.8,58.97 L75.8,58.97 M73.8,202.3 L75.8,202.3 M73.8,230.9 L75.8,230.9 M73.8,259.6 L75.8,259.6 M73.8,288.3 L75.8,288.3 M73.8,316.9 L75.8,316.9 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M279.2,341 L279.2,343 M297.7,341 L297.7,343 M316.1,341 L316.1,343 M353.1,341 L353.1,343 M371.6,341 L371.6,343 M390.1,341 L390.1,343 M427.1,341 L427.1,343 M445.6,341 L445.6,343 M242.2,341 L242.2,343 M223.7,341 L223.7,343 M205.2,341 L205.2,343 M168.2,341 L168.2,343 M149.8,341 L149.8,343 M131.3,341 L131.3,343 M94.29,341 L94.29,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,87.63 L75.8,87.63 M70.8,202.3 L75.8,202.3 M70.8,316.9 L75.8,316.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M260.7,341 L260.7,346 M334.6,341 L334.6,346 M408.6,341 L408.6,346 M260.7,341 L260.7,346 M186.7,341 L186.7,346 M112.8,341 L112.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="260.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="334.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="408.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="260.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="186.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="112.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="90.03" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="319.3" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_sd(k, u)</text></g>
+<g id="xLabel">
+<text x="264.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,216 L77.65,216.5 L79.5,216.9 L81.35,217.3 L83.2,217.8 L85.04,218.2 L86.89,218.6 L88.74,219 L90.59,219.4 L92.44,219.7 L94.29,220.1 L96.14,220.5 L97.99,220.8 L99.83,221.1 L101.7,221.5 L103.5,221.8 L105.4,222.1 L107.2,222.4 L109.1,222.6 L110.9,222.9 L112.8,223.1 L114.6,223.4 L116.5,223.6 L118.3,223.8 L120.2,224 L122,224.2 L123.9,224.3 L125.7,224.5 L127.6,224.6 L129.4,224.7 L131.3,224.8 L133.1,224.9 L135,225 L136.8,225.1 L138.7,225.1 L140.5,225.2 L142.4,225.2 L144.2,225.2 L146.1,225.2 L147.9,225.2 L149.8,225.1 L151.6,225.1 L153.5,225 L155.3,225 L157.1,224.9 L159,224.8 L160.8,224.6 L162.7,224.5 L164.5,224.4 L166.4,224.2 L168.2,224 L170.1,223.8 L171.9,223.6 L173.8,223.4 L175.6,223.2 L177.5,223 L179.3,222.7 L181.2,222.4 L183,222.2 L184.9,221.9 L186.7,221.6 L188.6,221.3 L190.4,220.9 L192.3,220.6 L194.1,220.2 L196,219.9 L197.8,219.5 L199.7,219.1 L201.5,218.7 L203.4,218.3 L205.2,217.9 L207.1,217.5 L208.9,217 L210.8,216.6 L212.6,216.2 L214.5,215.7 L216.3,215.2 L218.2,214.7 L220,214.3 L221.9,213.8 L223.7,213.3 L225.6,212.8 L227.4,212.2 L229.3,211.7 L231.1,211.2 L232.9,210.7 L234.8,210.1 L236.6,209.6 L238.5,209.1 L240.3,208.5 L242.2,207.9 L244,207.4 L245.9,206.8 L247.7,206.3 L249.6,205.7 L251.4,205.1 L253.3,204.6 L255.1,204 L257,203.4 L258.8,202.8 L260.7,202.3 L262.5,201.7 L264.4,201.1 L266.2,200.6 L268.1,200 L269.9,199.4 L271.8,198.8 L273.6,198.3 L275.5,197.7 L277.3,197.2 L279.2,196.6 L281,196 L282.9,195.5 L284.7,195 L286.6,194.4 L288.4,193.9 L290.3,193.3 L292.1,192.8 L294,192.3 L295.8,191.8 L297.7,191.3 L299.5,190.8 L301.4,190.3 L303.2,189.8 L305.1,189.3 L306.9,188.9 L308.8,188.4 L310.6,187.9 L312.4,187.5 L314.3,187.1 L316.1,186.6 L318,186.2 L319.8,185.8 L321.7,185.4 L323.5,185 L325.4,184.7 L327.2,184.3 L329.1,184 L330.9,183.6 L332.8,183.3 L334.6,183 L336.5,182.7 L338.3,182.4 L340.2,182.1 L342,181.8 L343.9,181.6 L345.7,181.3 L347.6,181.1 L349.4,180.9 L351.3,180.7 L353.1,180.5 L355,180.3 L356.8,180.2 L358.7,180 L360.5,179.9 L362.4,179.8 L364.2,179.7 L366.1,179.6 L367.9,179.5 L369.8,179.5 L371.6,179.4 L373.5,179.4 L375.3,179.4 L377.2,179.3 L379,179.4 L380.9,179.4 L382.7,179.4 L384.6,179.5 L386.4,179.5 L388.3,179.6 L390.1,179.7 L391.9,179.8 L393.8,179.9 L395.6,180.1 L397.5,180.2 L399.3,180.4 L401.2,180.6 L403,180.8 L404.9,181 L406.7,181.2 L408.6,181.4 L410.4,181.7 L412.3,181.9 L414.1,182.2 L416,182.5 L417.8,182.8 L419.7,183.1 L421.5,183.4 L423.4,183.7 L425.2,184.1 L427.1,184.4 L428.9,184.8 L430.8,185.2 L432.6,185.6 L434.5,186 L436.3,186.4 L438.2,186.8 L440,187.2 L441.9,187.7 L443.7,188.1 L445.6,188.6 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M75.8,220.8 L77.65,221.3 L79.5,221.7 L81.35,222.1 L83.2,222.5 L85.04,222.9 L86.89,223.3 L88.74,223.7 L90.59,224 L92.44,224.4 L94.29,224.7 L96.14,225.1 L97.99,225.4 L99.83,225.7 L101.7,226 L103.5,226.3 L105.4,226.5 L107.2,226.8 L109.1,227 L110.9,227.3 L112.8,227.5 L114.6,227.7 L116.5,227.8 L118.3,228 L120.2,228.1 L122,228.3 L123.9,228.4 L125.7,228.5 L127.6,228.6 L129.4,228.6 L131.3,228.7 L133.1,228.7 L135,228.7 L136.8,228.7 L138.7,228.7 L140.5,228.7 L142.4,228.7 L144.2,228.6 L146.1,228.5 L147.9,228.4 L149.8,228.3 L151.6,228.2 L153.5,228 L155.3,227.9 L157.1,227.7 L159,227.5 L160.8,227.3 L162.7,227.1 L164.5,226.8 L166.4,226.6 L168.2,226.3 L170.1,226 L171.9,225.7 L173.8,225.4 L175.6,225.1 L177.5,224.8 L179.3,224.5 L181.2,224.1 L183,223.7 L184.9,223.4 L186.7,223 L188.6,222.6 L190.4,222.2 L192.3,221.7 L194.1,221.3 L196,220.9 L197.8,220.4 L199.7,220 L201.5,219.5 L203.4,219.1 L205.2,218.6 L207.1,218.1 L208.9,217.6 L210.8,217.1 L212.6,216.6 L214.5,216.1 L216.3,215.6 L218.2,215.1 L220,214.5 L221.9,214 L223.7,213.5 L225.6,213 L227.4,212.4 L229.3,211.9 L231.1,211.3 L232.9,210.8 L234.8,210.2 L236.6,209.7 L238.5,209.1 L240.3,208.5 L242.2,208 L244,207.4 L245.9,206.8 L247.7,206.3 L249.6,205.7 L251.4,205.1 L253.3,204.6 L255.1,204 L257,203.4 L258.8,202.8 L260.7,202.3 L262.5,201.7 L264.4,201.1 L266.2,200.6 L268.1,200 L269.9,199.4 L271.8,198.8 L273.6,198.3 L275.5,197.7 L277.3,197.1 L279.2,196.6 L281,196 L282.9,195.4 L284.7,194.9 L286.6,194.3 L288.4,193.8 L290.3,193.2 L292.1,192.7 L294,192.1 L295.8,191.6 L297.7,191.1 L299.5,190.5 L301.4,190 L303.2,189.5 L305.1,189 L306.9,188.4 L308.8,187.9 L310.6,187.4 L312.4,186.9 L314.3,186.4 L316.1,186 L318,185.5 L319.8,185 L321.7,184.6 L323.5,184.1 L325.4,183.7 L327.2,183.2 L329.1,182.8 L330.9,182.4 L332.8,182 L334.6,181.6 L336.5,181.2 L338.3,180.8 L340.2,180.5 L342,180.1 L343.9,179.8 L345.7,179.4 L347.6,179.1 L349.4,178.8 L351.3,178.5 L353.1,178.2 L355,178 L356.8,177.7 L358.7,177.5 L360.5,177.3 L362.4,177.1 L364.2,176.9 L366.1,176.7 L367.9,176.5 L369.8,176.4 L371.6,176.3 L373.5,176.1 L375.3,176 L377.2,176 L379,175.9 L380.9,175.8 L382.7,175.8 L384.6,175.8 L386.4,175.8 L388.3,175.8 L390.1,175.9 L391.9,175.9 L393.8,176 L395.6,176.1 L397.5,176.2 L399.3,176.3 L401.2,176.4 L403,176.5 L404.9,176.7 L406.7,176.9 L408.6,177.1 L410.4,177.3 L412.3,177.5 L414.1,177.8 L416,178 L417.8,178.3 L419.7,178.6 L421.5,178.8 L423.4,179.2 L425.2,179.5 L427.1,179.8 L428.9,180.1 L430.8,180.5 L432.6,180.9 L434.5,181.2 L436.3,181.6 L438.2,182 L440,182.4 L441.9,182.9 L443.7,183.3 L445.6,183.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M75.8,231.4 L77.65,231.9 L79.5,232.3 L81.35,232.7 L83.2,233 L85.04,233.4 L86.89,233.8 L88.74,234.1 L90.59,234.4 L92.44,234.7 L94.29,235 L96.14,235.3 L97.99,235.5 L99.83,235.8 L101.7,236 L103.5,236.2 L105.4,236.3 L107.2,236.5 L109.1,236.6 L110.9,236.7 L112.8,236.8 L114.6,236.9 L116.5,236.9 L118.3,236.9 L120.2,236.9 L122,236.9 L123.9,236.9 L125.7,236.8 L127.6,236.7 L129.4,236.6 L131.3,236.5 L133.1,236.3 L135,236.2 L136.8,236 L138.7,235.8 L140.5,235.6 L142.4,235.3 L144.2,235 L146.1,234.8 L147.9,234.5 L149.8,234.1 L151.6,233.8 L153.5,233.5 L155.3,233.1 L157.1,232.7 L159,232.3 L160.8,231.9 L162.7,231.5 L164.5,231.1 L166.4,230.6 L168.2,230.2 L170.1,229.7 L171.9,229.2 L173.8,228.7 L175.6,228.2 L177.5,227.7 L179.3,227.2 L181.2,226.7 L183,226.2 L184.9,225.6 L186.7,225.1 L188.6,224.6 L190.4,224 L192.3,223.5 L194.1,222.9 L196,222.4 L197.8,221.8 L199.7,221.2 L201.5,220.7 L203.4,220.1 L205.2,219.5 L207.1,219 L208.9,218.4 L210.8,217.8 L212.6,217.2 L214.5,216.7 L216.3,216.1 L218.2,215.5 L220,214.9 L221.9,214.4 L223.7,213.8 L225.6,213.2 L227.4,212.6 L229.3,212 L231.1,211.5 L232.9,210.9 L234.8,210.3 L236.6,209.7 L238.5,209.2 L240.3,208.6 L242.2,208 L244,207.4 L245.9,206.9 L247.7,206.3 L249.6,205.7 L251.4,205.1 L253.3,204.6 L255.1,204 L257,203.4 L258.8,202.8 L260.7,202.3 L262.5,201.7 L264.4,201.1 L266.2,200.6 L268.1,200 L269.9,199.4 L271.8,198.8 L273.6,198.3 L275.5,197.7 L277.3,197.1 L279.2,196.5 L281,196 L282.9,195.4 L284.7,194.8 L286.6,194.2 L288.4,193.7 L290.3,193.1 L292.1,192.5 L294,191.9 L295.8,191.3 L297.7,190.8 L299.5,190.2 L301.4,189.6 L303.2,189 L305.1,188.5 L306.9,187.9 L308.8,187.3 L310.6,186.7 L312.4,186.2 L314.3,185.6 L316.1,185 L318,184.4 L319.8,183.9 L321.7,183.3 L323.5,182.7 L325.4,182.2 L327.2,181.6 L329.1,181.1 L330.9,180.5 L332.8,180 L334.6,179.4 L336.5,178.9 L338.3,178.4 L340.2,177.8 L342,177.3 L343.9,176.8 L345.7,176.3 L347.6,175.8 L349.4,175.3 L351.3,174.9 L353.1,174.4 L355,173.9 L356.8,173.5 L358.7,173.1 L360.5,172.6 L362.4,172.2 L364.2,171.8 L366.1,171.5 L367.9,171.1 L369.8,170.7 L371.6,170.4 L373.5,170.1 L375.3,169.8 L377.2,169.5 L379,169.2 L380.9,169 L382.7,168.8 L384.6,168.6 L386.4,168.4 L388.3,168.2 L390.1,168.1 L391.9,167.9 L393.8,167.8 L395.6,167.7 L397.5,167.7 L399.3,167.6 L401.2,167.6 L403,167.6 L404.9,167.6 L406.7,167.7 L408.6,167.7 L410.4,167.8 L412.3,167.9 L414.1,168.1 L416,168.2 L417.8,168.4 L419.7,168.6 L421.5,168.8 L423.4,169 L425.2,169.3 L427.1,169.5 L428.9,169.8 L430.8,170.1 L432.6,170.4 L434.5,170.8 L436.3,171.1 L438.2,171.5 L440,171.9 L441.9,172.3 L443.7,172.7 L445.6,173.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M75.8,275.4 L77.65,275.2 L79.5,275 L81.35,274.7 L83.2,274.4 L85.04,274 L86.89,273.6 L88.74,273.2 L90.59,272.7 L92.44,272.2 L94.29,271.6 L96.14,271.1 L97.99,270.4 L99.83,269.8 L101.7,269.1 L103.5,268.4 L105.4,267.6 L107.2,266.9 L109.1,266.1 L110.9,265.3 L112.8,264.4 L114.6,263.6 L116.5,262.7 L118.3,261.8 L120.2,260.9 L122,260 L123.9,259.1 L125.7,258.2 L127.6,257.2 L129.4,256.3 L131.3,255.3 L133.1,254.3 L135,253.4 L136.8,252.4 L138.7,251.5 L140.5,250.5 L142.4,249.5 L144.2,248.6 L146.1,247.6 L147.9,246.6 L149.8,245.7 L151.6,244.7 L153.5,243.8 L155.3,242.9 L157.1,241.9 L159,241 L160.8,240.1 L162.7,239.2 L164.5,238.3 L166.4,237.4 L168.2,236.5 L170.1,235.6 L171.9,234.8 L173.8,233.9 L175.6,233 L177.5,232.2 L179.3,231.4 L181.2,230.6 L183,229.8 L184.9,229 L186.7,228.2 L188.6,227.4 L190.4,226.6 L192.3,225.8 L194.1,225.1 L196,224.3 L197.8,223.6 L199.7,222.9 L201.5,222.2 L203.4,221.4 L205.2,220.7 L207.1,220.1 L208.9,219.4 L210.8,218.7 L212.6,218 L214.5,217.3 L216.3,216.7 L218.2,216 L220,215.4 L221.9,214.8 L223.7,214.1 L225.6,213.5 L227.4,212.9 L229.3,212.3 L231.1,211.6 L232.9,211 L234.8,210.4 L236.6,209.8 L238.5,209.2 L240.3,208.6 L242.2,208.1 L244,207.5 L245.9,206.9 L247.7,206.3 L249.6,205.7 L251.4,205.1 L253.3,204.6 L255.1,204 L257,203.4 L258.8,202.8 L260.7,202.3 L262.5,201.7 L264.4,201.1 L266.2,200.6 L268.1,200 L269.9,199.4 L271.8,198.8 L273.6,198.2 L275.5,197.7 L277.3,197.1 L279.2,196.5 L281,195.9 L282.9,195.3 L284.7,194.7 L286.6,194.1 L288.4,193.5 L290.3,192.9 L292.1,192.3 L294,191.7 L295.8,191.1 L297.7,190.4 L299.5,189.8 L301.4,189.2 L303.2,188.5 L305.1,187.9 L306.9,187.2 L308.8,186.5 L310.6,185.9 L312.4,185.2 L314.3,184.5 L316.1,183.8 L318,183.1 L319.8,182.4 L321.7,181.7 L323.5,180.9 L325.4,180.2 L327.2,179.5 L329.1,178.7 L330.9,177.9 L332.8,177.2 L334.6,176.4 L336.5,175.6 L338.3,174.8 L340.2,174 L342,173.2 L343.9,172.3 L345.7,171.5 L347.6,170.7 L349.4,169.8 L351.3,168.9 L353.1,168.1 L355,167.2 L356.8,166.3 L358.7,165.4 L360.5,164.5 L362.4,163.5 L364.2,162.6 L366.1,161.7 L367.9,160.8 L369.8,159.8 L371.6,158.9 L373.5,157.9 L375.3,157 L377.2,156 L379,155 L380.9,154.1 L382.7,153.1 L384.6,152.1 L386.4,151.2 L388.3,150.2 L390.1,149.2 L391.9,148.3 L393.8,147.3 L395.6,146.4 L397.5,145.5 L399.3,144.5 L401.2,143.6 L403,142.7 L404.9,141.8 L406.7,141 L408.6,140.1 L410.4,139.3 L412.3,138.5 L414.1,137.7 L416,136.9 L417.8,136.2 L419.7,135.5 L421.5,134.8 L423.4,134.1 L425.2,133.5 L427.1,132.9 L428.9,132.4 L430.8,131.8 L432.6,131.4 L434.5,130.9 L436.3,130.5 L438.2,130.2 L440,129.8 L441.9,129.6 L443.7,129.3 L445.6,129.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M75.8,341 L77.65,337.5 L79.5,334.1 L81.35,330.8 L83.2,327.6 L85.04,324.5 L86.89,321.4 L88.74,318.4 L90.59,315.5 L92.44,312.6 L94.29,309.8 L96.14,307.1 L97.99,304.5 L99.83,301.9 L101.7,299.4 L103.5,296.9 L105.4,294.5 L107.2,292.1 L109.1,289.9 L110.9,287.6 L112.8,285.4 L114.6,283.3 L116.5,281.2 L118.3,279.2 L120.2,277.2 L122,275.3 L123.9,273.4 L125.7,271.5 L127.6,269.7 L129.4,268 L131.3,266.3 L133.1,264.6 L135,262.9 L136.8,261.3 L138.7,259.8 L140.5,258.2 L142.4,256.7 L144.2,255.3 L146.1,253.9 L147.9,252.5 L149.8,251.1 L151.6,249.8 L153.5,248.5 L155.3,247.2 L157.1,245.9 L159,244.7 L160.8,243.5 L162.7,242.4 L164.5,241.2 L166.4,240.1 L168.2,239 L170.1,237.9 L171.9,236.9 L173.8,235.9 L175.6,234.9 L177.5,233.9 L179.3,232.9 L181.2,232 L183,231 L184.9,230.1 L186.7,229.2 L188.6,228.3 L190.4,227.5 L192.3,226.6 L194.1,225.8 L196,225 L197.8,224.2 L199.7,223.4 L201.5,222.6 L203.4,221.9 L205.2,221.1 L207.1,220.4 L208.9,219.7 L210.8,219 L212.6,218.3 L214.5,217.6 L216.3,216.9 L218.2,216.2 L220,215.5 L221.9,214.9 L223.7,214.2 L225.6,213.6 L227.4,212.9 L229.3,212.3 L231.1,211.7 L232.9,211.1 L234.8,210.5 L236.6,209.9 L238.5,209.3 L240.3,208.7 L242.2,208.1 L244,207.5 L245.9,206.9 L247.7,206.3 L249.6,205.7 L251.4,205.1 L253.3,204.6 L255.1,204 L257,203.4 L258.8,202.8 L260.7,202.3 L262.5,201.7 L264.4,201.1 L266.2,200.6 L268.1,200 L269.9,199.4 L271.8,198.8 L273.6,198.2 L275.5,197.7 L277.3,197.1 L279.2,196.5 L281,195.9 L282.9,195.3 L284.7,194.7 L286.6,194.1 L288.4,193.5 L290.3,192.9 L292.1,192.2 L294,191.6 L295.8,191 L297.7,190.3 L299.5,189.7 L301.4,189 L303.2,188.4 L305.1,187.7 L306.9,187 L308.8,186.3 L310.6,185.6 L312.4,184.9 L314.3,184.2 L316.1,183.4 L318,182.7 L319.8,181.9 L321.7,181.1 L323.5,180.4 L325.4,179.6 L327.2,178.7 L329.1,177.9 L330.9,177.1 L332.8,176.2 L334.6,175.3 L336.5,174.4 L338.3,173.5 L340.2,172.6 L342,171.6 L343.9,170.7 L345.7,169.7 L347.6,168.7 L349.4,167.7 L351.3,166.6 L353.1,165.5 L355,164.4 L356.8,163.3 L358.7,162.2 L360.5,161 L362.4,159.8 L364.2,158.6 L366.1,157.4 L367.9,156.1 L369.8,154.8 L371.6,153.5 L373.5,152.1 L375.3,150.7 L377.2,149.3 L379,147.8 L380.9,146.3 L382.7,144.8 L384.6,143.2 L386.4,141.6 L388.3,140 L390.1,138.3 L391.9,136.6 L393.8,134.8 L395.6,133 L397.5,131.2 L399.3,129.3 L401.2,127.3 L403,125.4 L404.9,123.3 L406.7,121.2 L408.6,119.1 L410.4,116.9 L412.3,114.7 L414.1,112.4 L416,110.1 L417.8,107.7 L419.7,105.2 L421.5,102.7 L423.4,100.1 L425.2,97.43 L427.1,94.71 L428.9,91.93 L430.8,89.07 L432.6,86.15 L434.5,83.16 L436.3,80.09 L438.2,76.94 L440,73.71 L441.9,70.41 L443.7,67.02 L445.6,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic sd</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/jacobi_sn.png b/libs/math/doc/graphs/jacobi_sn.png
new file mode 100644
index 0000000000..297f85846b
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_sn.png
Binary files differ
diff --git a/libs/math/doc/graphs/jacobi_sn.svg b/libs/math/doc/graphs/jacobi_sn.svg
new file mode 100644
index 0000000000..8174a6c7b5
--- /dev/null
+++ b/libs/math/doc/graphs/jacobi_sn.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="358.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="360.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="269.2" y1="58" x2="269.2" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="453" y2="202.3"/><line x1="87.6" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,184.9 L92.6,184.9 M90.6,167.6 L92.6,167.6 M90.6,150.3 L92.6,150.3 M90.6,115.6 L92.6,115.6 M90.6,98.23 L92.6,98.23 M90.6,80.89 L92.6,80.89 M90.6,202.3 L92.6,202.3 M90.6,219.6 L92.6,219.6 M90.6,237 L92.6,237 M90.6,254.3 L92.6,254.3 M90.6,271.6 L92.6,271.6 M90.6,289 L92.6,289 M90.6,306.3 L92.6,306.3 M90.6,323.7 L92.6,323.7 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M291.3,341 L291.3,343 M313.4,341 L313.4,343 M335.5,341 L335.5,343 M379.7,341 L379.7,343 M401.7,341 L401.7,343 M423.8,341 L423.8,343 M247.2,341 L247.2,343 M225.1,341 L225.1,343 M203,341 L203,343 M158.8,341 L158.8,343 M136.8,341 L136.8,343 M114.7,341 L114.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,132.9 L92.6,132.9 M87.6,63.55 L92.6,63.55 M87.6,202.3 L92.6,202.3 M87.6,271.6 L92.6,271.6 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M269.2,341 L269.2,346 M357.6,341 L357.6,346 M445.9,341 L445.9,346 M269.2,341 L269.2,346 M180.9,341 L180.9,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="357.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="445.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="269.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="180.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="274" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">jacobi_sn(k, u)</text></g>
+<g id="xLabel">
+<text x="272.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,126.8 L94.37,138.8 L96.13,151.4 L97.9,164.6 L99.67,178.1 L101.4,191.8 L103.2,205.7 L105,219.5 L106.7,233.2 L108.5,246.5 L110.3,259.4 L112,271.8 L113.8,283.4 L115.6,294.2 L117.3,304.2 L119.1,313 L120.9,320.8 L122.6,327.4 L124.4,332.8 L126.2,336.8 L127.9,339.5 L129.7,340.9 L131.5,340.8 L133.2,339.4 L135,336.5 L136.8,332.4 L138.5,326.9 L140.3,320.3 L142.1,312.4 L143.8,303.4 L145.6,293.4 L147.4,282.5 L149.1,270.8 L150.9,258.4 L152.7,245.5 L154.4,232.1 L156.2,218.4 L158,204.6 L159.7,190.7 L161.5,177 L163.3,163.5 L165,150.4 L166.8,137.8 L168.6,125.9 L170.3,114.7 L172.1,104.4 L173.9,95.07 L175.6,86.82 L177.4,79.72 L179.2,73.84 L180.9,69.25 L182.7,65.98 L184.5,64.08 L186.2,63.56 L188,64.42 L189.8,66.67 L191.5,70.26 L193.3,75.18 L195.1,81.36 L196.8,88.76 L198.6,97.29 L200.4,106.9 L202.1,117.4 L203.9,128.8 L205.7,140.9 L207.4,153.6 L209.2,166.8 L211,180.4 L212.7,194.2 L214.5,208 L216.3,221.9 L218,235.5 L219.8,248.7 L221.6,261.6 L223.3,273.8 L225.1,285.3 L226.9,296 L228.6,305.7 L230.4,314.4 L232.2,322 L233.9,328.4 L235.7,333.6 L237.5,337.4 L239.2,339.8 L241,340.9 L242.7,340.7 L244.5,339 L246.3,335.9 L248,331.6 L249.8,325.9 L251.6,319 L253.3,310.9 L255.1,301.8 L256.9,291.6 L258.6,280.6 L260.4,268.8 L262.2,256.3 L263.9,243.3 L265.7,229.8 L267.5,216.1 L269.2,202.3 L271,188.4 L272.8,174.7 L274.5,161.3 L276.3,148.3 L278.1,135.8 L279.8,123.9 L281.6,112.9 L283.4,102.8 L285.1,93.61 L286.9,85.54 L288.7,78.64 L290.4,72.98 L292.2,68.6 L294,65.57 L295.7,63.9 L297.5,63.61 L299.3,64.71 L301,67.18 L302.8,71 L304.6,76.13 L306.3,82.53 L308.1,90.12 L309.9,98.83 L311.6,108.6 L313.4,119.3 L315.2,130.8 L316.9,143 L318.7,155.8 L320.5,169.1 L322.2,182.7 L324,196.5 L325.8,210.4 L327.5,224.2 L329.3,237.7 L331.1,250.9 L332.8,263.7 L334.6,275.8 L336.4,287.2 L338.1,297.7 L339.9,307.3 L341.7,315.8 L343.4,323.2 L345.2,329.4 L347,334.3 L348.7,337.9 L350.5,340.1 L352.3,341 L354,340.5 L355.8,338.6 L357.6,335.3 L359.3,330.7 L361.1,324.8 L362.9,317.7 L364.6,309.5 L366.4,300.2 L368.2,289.8 L369.9,278.7 L371.7,266.7 L373.5,254.1 L375.2,241 L377,227.5 L378.8,213.8 L380.5,199.9 L382.3,186.1 L384.1,172.4 L385.8,159.1 L387.6,146.1 L389.4,133.7 L391.1,122 L392.9,111.1 L394.7,101.1 L396.4,92.17 L398.2,84.3 L400,77.6 L401.7,72.15 L403.5,68 L405.3,65.19 L407,63.75 L408.8,63.7 L410.6,65.03 L412.3,67.73 L414.1,71.77 L415.9,77.12 L417.6,83.72 L419.4,91.5 L421.2,100.4 L422.9,110.3 L424.7,121.1 L426.5,132.8 L428.2,145.1 L430,158 L431.8,171.4 L433.5,185 L435.3,198.8 L437.1,212.7 L438.8,226.5 L440.6,240 L442.4,253.1 L444.1,265.7 L445.9,277.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,218.1 L94.37,231.7 L96.13,245 L97.9,257.8 L99.67,269.9 L101.4,281.2 L103.2,291.7 L105,301.3 L106.7,309.9 L108.5,317.4 L110.3,323.9 L112,329.4 L113.8,333.8 L115.6,337.2 L117.3,339.5 L119.1,340.7 L120.9,341 L122.6,340.1 L124.4,338.3 L126.2,335.4 L127.9,331.4 L129.7,326.4 L131.5,320.3 L133.2,313.2 L135,305.1 L136.8,295.9 L138.5,285.8 L140.3,274.8 L142.1,263 L143.8,250.5 L145.6,237.4 L147.4,223.9 L149.1,210.2 L150.9,196.3 L152.7,182.5 L154.4,169 L156.2,155.8 L158,143.2 L159.7,131.3 L161.5,120.2 L163.3,110 L165,100.7 L166.8,92.42 L168.6,85.16 L170.3,78.94 L172.1,73.78 L173.9,69.67 L175.6,66.62 L177.4,64.61 L179.2,63.64 L180.9,63.72 L182.7,64.84 L184.5,67 L186.2,70.2 L188,74.46 L189.8,79.78 L191.5,86.15 L193.3,93.56 L195.1,102 L196.8,111.4 L198.6,121.8 L200.4,133 L202.1,145 L203.9,157.7 L205.7,170.9 L207.4,184.5 L209.2,198.3 L211,212.2 L212.7,225.9 L214.5,239.4 L216.3,252.4 L218,264.8 L219.8,276.5 L221.6,287.3 L223.3,297.3 L225.1,306.3 L226.9,314.3 L228.6,321.3 L230.4,327.2 L232.2,332 L233.9,335.9 L235.7,338.6 L237.5,340.3 L239.2,341 L241,340.6 L242.7,339.2 L244.5,336.7 L246.3,333.2 L248,328.7 L249.8,323.1 L251.6,316.4 L253.3,308.7 L255.1,300 L256.9,290.3 L258.6,279.6 L260.4,268.2 L262.2,256 L263.9,243.1 L265.7,229.8 L267.5,216.1 L269.2,202.3 L271,188.4 L272.8,174.8 L274.5,161.4 L276.3,148.6 L278.1,136.4 L279.8,124.9 L281.6,114.3 L283.4,104.6 L285.1,95.86 L286.9,88.15 L288.7,81.49 L290.4,75.87 L292.2,71.31 L294,67.8 L295.7,65.35 L297.5,63.93 L299.3,63.56 L301,64.23 L302.8,65.94 L304.6,68.7 L306.3,72.5 L308.1,77.36 L309.9,83.28 L311.6,90.25 L313.4,98.24 L315.2,107.2 L316.9,117.2 L318.7,128.1 L320.5,139.8 L322.2,152.2 L324,165.2 L325.8,178.6 L327.5,192.4 L329.3,206.2 L331.1,220 L332.8,233.6 L334.6,246.8 L336.4,259.5 L338.1,271.5 L339.9,282.8 L341.7,293.1 L343.4,302.6 L345.2,311 L347,318.4 L348.7,324.8 L350.5,330.1 L352.3,334.3 L354,337.6 L355.8,339.7 L357.6,340.8 L359.3,340.9 L361.1,339.9 L362.9,337.9 L364.6,334.9 L366.4,330.8 L368.2,325.6 L369.9,319.4 L371.7,312.1 L373.5,303.8 L375.2,294.6 L377,284.3 L378.8,273.2 L380.5,261.3 L382.3,248.7 L384.1,235.6 L385.8,222 L387.6,208.2 L389.4,194.4 L391.1,180.6 L392.9,167.1 L394.7,154 L396.4,141.5 L398.2,129.7 L400,118.7 L401.7,108.6 L403.5,99.49 L405.3,91.34 L407,84.23 L408.8,78.16 L410.6,73.14 L412.3,69.18 L414.1,66.27 L415.9,64.41 L417.6,63.59 L419.4,63.81 L421.2,65.08 L422.9,67.38 L424.7,70.74 L426.5,75.14 L428.2,80.61 L430,87.12 L431.8,94.68 L433.5,103.3 L435.3,112.8 L437.1,123.3 L438.8,134.7 L440.6,146.8 L442.4,159.5 L444.1,172.8 L445.9,186.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,334.8 L94.37,337.3 L96.13,339.2 L97.9,340.4 L99.67,340.9 L101.4,340.9 L103.2,340.3 L105,339 L106.7,337.1 L108.5,334.5 L110.3,331.2 L112,327.2 L113.8,322.3 L115.6,316.6 L117.3,309.9 L119.1,302.3 L120.9,293.8 L122.6,284.2 L124.4,273.7 L126.2,262.3 L127.9,250.1 L129.7,237.2 L131.5,223.8 L133.2,210 L135,196.2 L136.8,182.4 L138.5,168.9 L140.3,156 L142.1,143.7 L143.8,132.2 L145.6,121.5 L147.4,111.9 L149.1,103.2 L150.9,95.48 L152.7,88.72 L154.4,82.88 L156.2,77.91 L158,73.76 L159.7,70.38 L161.5,67.72 L163.3,65.74 L165,64.4 L166.8,63.69 L168.6,63.58 L170.3,64.09 L172.1,65.21 L173.9,66.97 L175.6,69.4 L177.4,72.53 L179.2,76.41 L180.9,81.09 L182.7,86.63 L184.5,93.07 L186.2,100.5 L188,108.8 L189.8,118.1 L191.5,128.4 L193.3,139.7 L195.1,151.7 L196.8,164.5 L198.6,177.8 L200.4,191.5 L202.1,205.3 L203.9,219.1 L205.7,232.7 L207.4,245.8 L209.2,258.2 L211,269.9 L212.7,280.7 L214.5,290.6 L216.3,299.5 L218,307.5 L219.8,314.4 L221.6,320.5 L223.3,325.6 L225.1,329.9 L226.9,333.5 L228.6,336.3 L230.4,338.4 L232.2,339.9 L233.9,340.8 L235.7,341 L237.5,340.6 L239.2,339.6 L241,338 L242.7,335.7 L244.5,332.8 L246.3,329.1 L248,324.6 L249.8,319.2 L251.6,313 L253.3,305.8 L255.1,297.7 L256.9,288.5 L258.6,278.4 L260.4,267.4 L262.2,255.6 L263.9,242.9 L265.7,229.7 L267.5,216.1 L269.2,202.3 L271,188.4 L272.8,174.8 L274.5,161.6 L276.3,149 L278.1,137.1 L279.8,126.1 L281.6,116 L283.4,106.9 L285.1,98.75 L286.9,91.57 L288.7,85.34 L290.4,79.99 L292.2,75.49 L294,71.78 L295.7,68.8 L297.5,66.53 L299.3,64.91 L301,63.92 L302.8,63.55 L304.6,63.79 L306.3,64.64 L308.1,66.12 L309.9,68.24 L311.6,71.06 L313.4,74.61 L315.2,78.93 L316.9,84.09 L318.7,90.13 L320.5,97.09 L322.2,105 L324,113.9 L325.8,123.8 L327.5,134.6 L329.3,146.3 L331.1,158.8 L332.8,171.9 L334.6,185.4 L336.4,199.2 L338.1,213.1 L339.9,226.8 L341.7,240.1 L343.4,252.8 L345.2,264.9 L347,276.1 L348.7,286.4 L350.5,295.7 L352.3,304.1 L354,311.5 L355.8,317.9 L357.6,323.5 L359.3,328.1 L361.1,332 L362.9,335.2 L364.6,337.6 L366.4,339.3 L368.2,340.5 L369.9,341 L371.7,340.9 L373.5,340.1 L375.2,338.8 L377,336.8 L378.8,334.2 L380.5,330.8 L382.3,326.6 L384.1,321.7 L385.8,315.8 L387.6,309.1 L389.4,301.4 L391.1,292.7 L392.9,283 L394.7,272.4 L396.4,260.9 L398.2,248.6 L400,235.6 L401.7,222.1 L403.5,208.4 L405.3,194.5 L407,180.8 L408.8,167.4 L410.6,154.5 L412.3,142.2 L414.1,130.8 L415.9,120.3 L417.6,110.8 L419.4,102.2 L421.2,94.61 L422.9,87.97 L424.7,82.24 L426.5,77.37 L428.2,73.31 L430,70.02 L431.8,67.44 L433.5,65.54 L435.3,64.28 L437.1,63.64 L438.8,63.61 L440.6,64.19 L442.4,65.39 L444.1,67.23 L445.9,69.74 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,154.3 L94.37,142.4 L96.13,131.5 L97.9,121.6 L99.67,112.7 L101.4,104.8 L103.2,97.96 L105,92.01 L106.7,86.89 L108.5,82.54 L110.3,78.85 L112,75.74 L113.8,73.14 L115.6,70.98 L117.3,69.2 L119.1,67.74 L120.9,66.56 L122.6,65.61 L124.4,64.87 L126.2,64.31 L127.9,63.91 L129.7,63.66 L131.5,63.56 L133.2,63.58 L135,63.75 L136.8,64.05 L138.5,64.51 L140.3,65.14 L142.1,65.96 L143.8,67 L145.6,68.29 L147.4,69.87 L149.1,71.8 L150.9,74.13 L152.7,76.92 L154.4,80.25 L156.2,84.2 L158,88.85 L159.7,94.28 L161.5,100.6 L163.3,107.9 L165,116.1 L166.8,125.4 L168.6,135.7 L170.3,147.1 L172.1,159.3 L173.9,172.2 L175.6,185.7 L177.4,199.5 L179.2,213.4 L180.9,227 L182.7,240.2 L184.5,252.7 L186.2,264.4 L188,275.1 L189.8,284.8 L191.5,293.5 L193.3,301.2 L195.1,307.9 L196.8,313.6 L198.6,318.6 L200.4,322.8 L202.1,326.4 L203.9,329.4 L205.7,331.9 L207.4,333.9 L209.2,335.7 L211,337.1 L212.7,338.2 L214.5,339.1 L216.3,339.8 L218,340.3 L219.8,340.7 L221.6,340.9 L223.3,341 L225.1,340.9 L226.9,340.8 L228.6,340.4 L230.4,339.9 L232.2,339.3 L233.9,338.4 L235.7,337.3 L237.5,336 L239.2,334.3 L241,332.3 L242.7,329.9 L244.5,327 L246.3,323.6 L248,319.5 L249.8,314.7 L251.6,309.1 L253.3,302.6 L255.1,295.1 L256.9,286.7 L258.6,277.1 L260.4,266.6 L262.2,255.1 L263.9,242.7 L265.7,229.7 L267.5,216.1 L269.2,202.3 L271,188.4 L272.8,174.9 L274.5,161.8 L276.3,149.4 L278.1,137.9 L279.8,127.4 L281.6,117.9 L283.4,109.4 L285.1,102 L286.9,95.47 L288.7,89.87 L290.4,85.07 L292.2,80.99 L294,77.54 L295.7,74.65 L297.5,72.23 L299.3,70.23 L301,68.58 L302.8,67.24 L304.6,66.15 L306.3,65.29 L308.1,64.62 L309.9,64.13 L311.6,63.8 L313.4,63.6 L315.2,63.55 L316.9,63.63 L318.7,63.85 L320.5,64.22 L322.2,64.74 L324,65.44 L325.8,66.35 L327.5,67.48 L329.3,68.89 L331.1,70.6 L332.8,72.68 L334.6,75.18 L336.4,78.18 L338.1,81.75 L339.9,85.96 L341.7,90.92 L343.4,96.7 L345.2,103.4 L347,111 L348.7,119.7 L350.5,129.4 L352.3,140.2 L354,151.8 L355.8,164.4 L357.6,177.6 L359.3,191.2 L361.1,205 L362.9,218.8 L364.6,232.3 L366.4,245.3 L368.2,257.5 L369.9,268.8 L371.7,279.1 L373.5,288.4 L375.2,296.7 L377,304 L378.8,310.3 L380.5,315.7 L382.3,320.4 L384.1,324.3 L385.8,327.6 L387.6,330.4 L389.4,332.7 L391.1,334.7 L392.9,336.3 L394.7,337.5 L396.4,338.6 L398.2,339.4 L400,340 L401.7,340.5 L403.5,340.8 L405.3,341 L407,341 L408.8,340.9 L410.6,340.6 L412.3,340.2 L414.1,339.7 L415.9,338.9 L417.6,338 L419.4,336.8 L421.2,335.3 L422.9,333.6 L424.7,331.4 L426.5,328.8 L428.2,325.7 L430,322 L431.8,317.7 L433.5,312.5 L435.3,306.6 L437.1,299.7 L438.8,291.9 L440.6,283 L442.4,273.1 L444.1,262.1 L445.9,250.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,341 L94.37,341 L96.13,341 L97.9,341 L99.67,341 L101.4,341 L103.2,341 L105,341 L106.7,341 L108.5,341 L110.3,341 L112,341 L113.8,341 L115.6,341 L117.3,341 L119.1,341 L120.9,341 L122.6,341 L124.4,341 L126.2,341 L127.9,341 L129.7,341 L131.5,341 L133.2,341 L135,341 L136.8,341 L138.5,341 L140.3,341 L142.1,341 L143.8,341 L145.6,341 L147.4,341 L149.1,341 L150.9,341 L152.7,341 L154.4,341 L156.2,341 L158,341 L159.7,341 L161.5,341 L163.3,341 L165,341 L166.8,341 L168.6,341 L170.3,341 L172.1,341 L173.9,341 L175.6,341 L177.4,341 L179.2,341 L180.9,341 L182.7,341 L184.5,341 L186.2,341 L188,341 L189.8,341 L191.5,341 L193.3,340.9 L195.1,340.9 L196.8,340.9 L198.6,340.9 L200.4,340.9 L202.1,340.9 L203.9,340.8 L205.7,340.8 L207.4,340.7 L209.2,340.7 L211,340.6 L212.7,340.5 L214.5,340.4 L216.3,340.3 L218,340.2 L219.8,340 L221.6,339.8 L223.3,339.5 L225.1,339.1 L226.9,338.7 L228.6,338.2 L230.4,337.6 L232.2,336.9 L233.9,336 L235.7,334.9 L237.5,333.6 L239.2,332 L241,330.1 L242.7,327.8 L244.5,325.1 L246.3,321.8 L248,317.9 L249.8,313.3 L251.6,307.9 L253.3,301.6 L255.1,294.4 L256.9,286.1 L258.6,276.8 L260.4,266.4 L262.2,255 L263.9,242.7 L265.7,229.7 L267.5,216.1 L269.2,202.3 L271,188.4 L272.8,174.9 L274.5,161.9 L276.3,149.6 L278.1,138.2 L279.8,127.8 L281.6,118.4 L283.4,110.2 L285.1,102.9 L286.9,96.62 L288.7,91.22 L290.4,86.63 L292.2,82.73 L294,79.45 L295.7,76.71 L297.5,74.42 L299.3,72.51 L301,70.93 L302.8,69.62 L304.6,68.54 L306.3,67.65 L308.1,66.91 L309.9,66.31 L311.6,65.81 L313.4,65.41 L315.2,65.07 L316.9,64.8 L318.7,64.57 L320.5,64.39 L322.2,64.24 L324,64.11 L325.8,64.01 L327.5,63.93 L329.3,63.86 L331.1,63.8 L332.8,63.76 L334.6,63.72 L336.4,63.69 L338.1,63.66 L339.9,63.64 L341.7,63.63 L343.4,63.61 L345.2,63.6 L347,63.59 L348.7,63.58 L350.5,63.58 L352.3,63.57 L354,63.57 L355.8,63.56 L357.6,63.56 L359.3,63.56 L361.1,63.56 L362.9,63.56 L364.6,63.55 L366.4,63.55 L368.2,63.55 L369.9,63.55 L371.7,63.55 L373.5,63.55 L375.2,63.55 L377,63.55 L378.8,63.55 L380.5,63.55 L382.3,63.55 L384.1,63.55 L385.8,63.55 L387.6,63.55 L389.4,63.55 L391.1,63.55 L392.9,63.55 L394.7,63.55 L396.4,63.55 L398.2,63.55 L400,63.55 L401.7,63.55 L403.5,63.55 L405.3,63.55 L407,63.55 L408.8,63.55 L410.6,63.55 L412.3,63.55 L414.1,63.55 L415.9,63.55 L417.6,63.55 L419.4,63.55 L421.2,63.55 L422.9,63.55 L424.7,63.55 L426.5,63.55 L428.2,63.55 L430,63.55 L431.8,63.55 L433.5,63.55 L435.3,63.55 L437.1,63.55 L438.8,63.55 L440.6,63.55 L442.4,63.55 L444.1,63.55 L445.9,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">k=0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">k=0.5</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">k=0.75</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">k=0.95</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">k=1</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Jacobi Elliptic sn</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/laguerre.png b/libs/math/doc/graphs/laguerre.png
index 961ed734fe..961ed734fe 100644
--- a/libs/math/doc/sf_and_dist/graphs/laguerre.png
+++ b/libs/math/doc/graphs/laguerre.png
Binary files differ
diff --git a/libs/math/doc/graphs/laguerre.svg b/libs/math/doc/graphs/laguerre.svg
new file mode 100644
index 0000000000..a3a3e97e1d
--- /dev/null
+++ b/libs/math/doc/graphs/laguerre.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="374.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="376.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="204.5" y1="58" x2="204.5" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="238.2" x2="460.8" y2="238.2"/><line x1="79.2" y1="341" x2="460.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,216.4 L84.2,216.4 M82.2,194.6 L84.2,194.6 M82.2,172.7 L84.2,172.7 M82.2,129.1 L84.2,129.1 M82.2,107.2 L84.2,107.2 M82.2,85.39 L84.2,85.39 M82.2,238.2 L84.2,238.2 M82.2,260.1 L84.2,260.1 M82.2,281.9 L84.2,281.9 M82.2,303.8 L84.2,303.8 M82.2,325.6 L84.2,325.6 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M234.5,341 L234.5,343 M264.6,341 L264.6,343 M294.6,341 L294.6,343 M354.8,341 L354.8,343 M384.8,341 L384.8,343 M414.9,341 L414.9,343 M174.4,341 L174.4,343 M144.3,341 L144.3,343 M114.3,341 L114.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,238.2 L84.2,238.2 M79.2,150.9 L84.2,150.9 M79.2,63.55 L84.2,63.55 M79.2,238.2 L84.2,238.2 M79.2,325.6 L84.2,325.6 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M204.5,341 L204.5,346 M324.7,341 L324.7,346 M445,341 L445,346 M204.5,341 L204.5,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="204.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="324.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="445" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="204.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="240.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="153.3" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">20</text>
+<text x="73.2" y="240.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="328" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">laguerre(n, x)</text></g>
+<g id="xLabel">
+<text x="272.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,229.5 L86,229.5 L87.81,229.5 L89.61,229.5 L91.42,229.5 L93.22,229.5 L95.02,229.5 L96.83,229.5 L98.63,229.5 L100.4,229.5 L102.2,229.5 L104,229.5 L105.8,229.5 L107.6,229.5 L109.5,229.5 L111.3,229.5 L113.1,229.5 L114.9,229.5 L116.7,229.5 L118.5,229.5 L120.3,229.5 L122.1,229.5 L123.9,229.5 L125.7,229.5 L127.5,229.5 L129.3,229.5 L131.1,229.5 L132.9,229.5 L134.7,229.5 L136.5,229.5 L138.3,229.5 L140.1,229.5 L141.9,229.5 L143.7,229.5 L145.5,229.5 L147.3,229.5 L149.1,229.5 L150.9,229.5 L152.7,229.5 L154.5,229.5 L156.4,229.5 L158.2,229.5 L160,229.5 L161.8,229.5 L163.6,229.5 L165.4,229.5 L167.2,229.5 L169,229.5 L170.8,229.5 L172.6,229.5 L174.4,229.5 L176.2,229.5 L178,229.5 L179.8,229.5 L181.6,229.5 L183.4,229.5 L185.2,229.5 L187,229.5 L188.8,229.5 L190.6,229.5 L192.4,229.5 L194.2,229.5 L196,229.5 L197.8,229.5 L199.6,229.5 L201.4,229.5 L203.3,229.5 L205.1,229.5 L206.9,229.5 L208.7,229.5 L210.5,229.5 L212.3,229.5 L214.1,229.5 L215.9,229.5 L217.7,229.5 L219.5,229.5 L221.3,229.5 L223.1,229.5 L224.9,229.5 L226.7,229.5 L228.5,229.5 L230.3,229.5 L232.1,229.5 L233.9,229.5 L235.7,229.5 L237.5,229.5 L239.3,229.5 L241.1,229.5 L242.9,229.5 L244.7,229.5 L246.5,229.5 L248.3,229.5 L250.2,229.5 L252,229.5 L253.8,229.5 L255.6,229.5 L257.4,229.5 L259.2,229.5 L261,229.5 L262.8,229.5 L264.6,229.5 L266.4,229.5 L268.2,229.5 L270,229.5 L271.8,229.5 L273.6,229.5 L275.4,229.5 L277.2,229.5 L279,229.5 L280.8,229.5 L282.6,229.5 L284.4,229.5 L286.2,229.5 L288,229.5 L289.8,229.5 L291.6,229.5 L293.4,229.5 L295.2,229.5 L297,229.5 L298.9,229.5 L300.7,229.5 L302.5,229.5 L304.3,229.5 L306.1,229.5 L307.9,229.5 L309.7,229.5 L311.5,229.5 L313.3,229.5 L315.1,229.5 L316.9,229.5 L318.7,229.5 L320.5,229.5 L322.3,229.5 L324.1,229.5 L325.9,229.5 L327.7,229.5 L329.5,229.5 L331.3,229.5 L333.1,229.5 L334.9,229.5 L336.7,229.5 L338.5,229.5 L340.3,229.5 L342.1,229.5 L343.9,229.5 L345.8,229.5 L347.6,229.5 L349.4,229.5 L351.2,229.5 L353,229.5 L354.8,229.5 L356.6,229.5 L358.4,229.5 L360.2,229.5 L362,229.5 L363.8,229.5 L365.6,229.5 L367.4,229.5 L369.2,229.5 L371,229.5 L372.8,229.5 L374.6,229.5 L376.4,229.5 L378.2,229.5 L380,229.5 L381.8,229.5 L383.6,229.5 L385.4,229.5 L387.2,229.5 L389,229.5 L390.8,229.5 L392.7,229.5 L394.5,229.5 L396.3,229.5 L398.1,229.5 L399.9,229.5 L401.7,229.5 L403.5,229.5 L405.3,229.5 L407.1,229.5 L408.9,229.5 L410.7,229.5 L412.5,229.5 L414.3,229.5 L416.1,229.5 L417.9,229.5 L419.7,229.5 L421.5,229.5 L423.3,229.5 L425.1,229.5 L426.9,229.5 L428.7,229.5 L430.5,229.5 L432.3,229.5 L434.1,229.5 L435.9,229.5 L437.7,229.5 L439.6,229.5 L441.4,229.5 L443.2,229.5 L445,229.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,185.8 L86,186.5 L87.81,187.1 L89.61,187.8 L91.42,188.5 L93.22,189.1 L95.02,189.8 L96.83,190.4 L98.63,191.1 L100.4,191.7 L102.2,192.4 L104,193 L105.8,193.7 L107.6,194.3 L109.5,195 L111.3,195.7 L113.1,196.3 L114.9,197 L116.7,197.6 L118.5,198.3 L120.3,198.9 L122.1,199.6 L123.9,200.2 L125.7,200.9 L127.5,201.6 L129.3,202.2 L131.1,202.9 L132.9,203.5 L134.7,204.2 L136.5,204.8 L138.3,205.5 L140.1,206.1 L141.9,206.8 L143.7,207.5 L145.5,208.1 L147.3,208.8 L149.1,209.4 L150.9,210.1 L152.7,210.7 L154.5,211.4 L156.4,212 L158.2,212.7 L160,213.3 L161.8,214 L163.6,214.7 L165.4,215.3 L167.2,216 L169,216.6 L170.8,217.3 L172.6,217.9 L174.4,218.6 L176.2,219.2 L178,219.9 L179.8,220.6 L181.6,221.2 L183.4,221.9 L185.2,222.5 L187,223.2 L188.8,223.8 L190.6,224.5 L192.4,225.1 L194.2,225.8 L196,226.4 L197.8,227.1 L199.6,227.8 L201.4,228.4 L203.3,229.1 L205.1,229.7 L206.9,230.4 L208.7,231 L210.5,231.7 L212.3,232.3 L214.1,233 L215.9,233.7 L217.7,234.3 L219.5,235 L221.3,235.6 L223.1,236.3 L224.9,236.9 L226.7,237.6 L228.5,238.2 L230.3,238.9 L232.1,239.6 L233.9,240.2 L235.7,240.9 L237.5,241.5 L239.3,242.2 L241.1,242.8 L242.9,243.5 L244.7,244.1 L246.5,244.8 L248.3,245.4 L250.2,246.1 L252,246.8 L253.8,247.4 L255.6,248.1 L257.4,248.7 L259.2,249.4 L261,250 L262.8,250.7 L264.6,251.3 L266.4,252 L268.2,252.7 L270,253.3 L271.8,254 L273.6,254.6 L275.4,255.3 L277.2,255.9 L279,256.6 L280.8,257.2 L282.6,257.9 L284.4,258.5 L286.2,259.2 L288,259.9 L289.8,260.5 L291.6,261.2 L293.4,261.8 L295.2,262.5 L297,263.1 L298.9,263.8 L300.7,264.4 L302.5,265.1 L304.3,265.8 L306.1,266.4 L307.9,267.1 L309.7,267.7 L311.5,268.4 L313.3,269 L315.1,269.7 L316.9,270.3 L318.7,271 L320.5,271.7 L322.3,272.3 L324.1,273 L325.9,273.6 L327.7,274.3 L329.5,274.9 L331.3,275.6 L333.1,276.2 L334.9,276.9 L336.7,277.5 L338.5,278.2 L340.3,278.9 L342.1,279.5 L343.9,280.2 L345.8,280.8 L347.6,281.5 L349.4,282.1 L351.2,282.8 L353,283.4 L354.8,284.1 L356.6,284.8 L358.4,285.4 L360.2,286.1 L362,286.7 L363.8,287.4 L365.6,288 L367.4,288.7 L369.2,289.3 L371,290 L372.8,290.6 L374.6,291.3 L376.4,292 L378.2,292.6 L380,293.3 L381.8,293.9 L383.6,294.6 L385.4,295.2 L387.2,295.9 L389,296.5 L390.8,297.2 L392.7,297.9 L394.5,298.5 L396.3,299.2 L398.1,299.8 L399.9,300.5 L401.7,301.1 L403.5,301.8 L405.3,302.4 L407.1,303.1 L408.9,303.8 L410.7,304.4 L412.5,305.1 L414.3,305.7 L416.1,306.4 L417.9,307 L419.7,307.7 L421.5,308.3 L423.3,309 L425.1,309.6 L426.9,310.3 L428.7,311 L430.5,311.6 L432.3,312.3 L434.1,312.9 L435.9,313.6 L437.7,314.2 L439.6,314.9 L441.4,315.5 L443.2,316.2 L445,316.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M96.69,63.55 L98.25,67.2 L99.81,70.81 L101.4,74.39 L102.9,77.93 L104.5,81.43 L106,84.9 L107.6,88.33 L109.2,91.72 L110.7,95.08 L112.3,98.4 L113.8,101.7 L115.4,104.9 L117,108.1 L118.5,111.3 L120.1,114.4 L121.6,117.5 L123.2,120.6 L124.7,123.6 L126.3,126.6 L127.9,129.6 L129.4,132.5 L131,135.4 L132.5,138.2 L134.1,141 L135.7,143.8 L137.2,146.5 L138.8,149.2 L140.3,151.9 L141.9,154.5 L143.4,157.1 L145,159.6 L146.6,162.2 L148.1,164.6 L149.7,167.1 L151.2,169.5 L152.8,171.8 L154.4,174.2 L155.9,176.5 L157.5,178.7 L159,180.9 L160.6,183.1 L162.2,185.3 L163.7,187.4 L165.3,189.5 L166.8,191.5 L168.4,193.5 L169.9,195.5 L171.5,197.4 L173.1,199.3 L174.6,201.1 L176.2,202.9 L177.7,204.7 L179.3,206.5 L180.9,208.2 L182.4,209.8 L184,211.5 L185.5,213.1 L187.1,214.6 L188.7,216.1 L190.2,217.6 L191.8,219.1 L193.3,220.5 L194.9,221.9 L196.4,223.2 L198,224.5 L199.6,225.8 L201.1,227 L202.7,228.2 L204.2,229.3 L205.8,230.5 L207.4,231.5 L208.9,232.6 L210.5,233.6 L212,234.6 L213.6,235.5 L215.1,236.4 L216.7,237.3 L218.3,238.1 L219.8,238.9 L221.4,239.6 L222.9,240.4 L224.5,241 L226.1,241.7 L227.6,242.3 L229.2,242.8 L230.7,243.4 L232.3,243.9 L233.9,244.3 L235.4,244.8 L237,245.1 L238.5,245.5 L240.1,245.8 L241.6,246.1 L243.2,246.3 L244.8,246.5 L246.3,246.7 L247.9,246.8 L249.4,246.9 L251,247 L252.6,247 L254.1,247 L255.7,246.9 L257.2,246.8 L258.8,246.7 L260.3,246.5 L261.9,246.3 L263.5,246.1 L265,245.8 L266.6,245.5 L268.1,245.1 L269.7,244.8 L271.3,244.3 L272.8,243.9 L274.4,243.4 L275.9,242.8 L277.5,242.3 L279.1,241.7 L280.6,241 L282.2,240.4 L283.7,239.6 L285.3,238.9 L286.8,238.1 L288.4,237.3 L290,236.4 L291.5,235.5 L293.1,234.6 L294.6,233.6 L296.2,232.6 L297.8,231.5 L299.3,230.5 L300.9,229.3 L302.4,228.2 L304,227 L305.6,225.8 L307.1,224.5 L308.7,223.2 L310.2,221.9 L311.8,220.5 L313.3,219.1 L314.9,217.6 L316.5,216.1 L318,214.6 L319.6,213.1 L321.1,211.5 L322.7,209.8 L324.3,208.2 L325.8,206.5 L327.4,204.7 L328.9,202.9 L330.5,201.1 L332,199.3 L333.6,197.4 L335.2,195.5 L336.7,193.5 L338.3,191.5 L339.8,189.5 L341.4,187.4 L343,185.3 L344.5,183.1 L346.1,180.9 L347.6,178.7 L349.2,176.5 L350.8,174.2 L352.3,171.8 L353.9,169.5 L355.4,167.1 L357,164.6 L358.5,162.2 L360.1,159.6 L361.7,157.1 L363.2,154.5 L364.8,151.9 L366.3,149.2 L367.9,146.5 L369.5,143.8 L371,141 L372.6,138.2 L374.1,135.4 L375.7,132.5 L377.2,129.6 L378.8,126.6 L380.4,123.6 L381.9,120.6 L383.5,117.5 L385,114.4 L386.6,111.3 L388.2,108.1 L389.7,104.9 L391.3,101.7 L392.8,98.4 L394.4,95.08 L396,91.72 L397.5,88.33 L399.1,84.9 L400.6,81.43 L402.2,77.93 L403.7,74.39 L405.3,70.81 L406.9,67.2 L408.4,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M145.2,63.55 L146.4,69.62 L147.7,75.57 L149,81.38 L150.2,87.07 L151.5,92.63 L152.7,98.07 L154,103.4 L155.2,108.6 L156.5,113.7 L157.8,118.6 L159,123.4 L160.3,128.2 L161.5,132.8 L162.8,137.2 L164.1,141.6 L165.3,145.9 L166.6,150 L167.8,154.1 L169.1,158 L170.3,161.8 L171.6,165.6 L172.9,169.2 L174.1,172.7 L175.4,176.1 L176.6,179.4 L177.9,182.6 L179.2,185.8 L180.4,188.8 L181.7,191.7 L182.9,194.5 L184.2,197.3 L185.4,199.9 L186.7,202.5 L188,204.9 L189.2,207.3 L190.5,209.6 L191.7,211.8 L193,213.9 L194.3,215.9 L195.5,217.9 L196.8,219.8 L198,221.5 L199.3,223.3 L200.5,224.9 L201.8,226.5 L203.1,227.9 L204.3,229.4 L205.6,230.7 L206.8,232 L208.1,233.2 L209.4,234.3 L210.6,235.4 L211.9,236.4 L213.1,237.3 L214.4,238.2 L215.6,239 L216.9,239.8 L218.2,240.5 L219.4,241.1 L220.7,241.7 L221.9,242.2 L223.2,242.7 L224.5,243.1 L225.7,243.4 L227,243.8 L228.2,244 L229.5,244.2 L230.8,244.4 L232,244.5 L233.3,244.6 L234.5,244.6 L235.8,244.6 L237,244.6 L238.3,244.5 L239.6,244.4 L240.8,244.2 L242.1,244 L243.3,243.8 L244.6,243.5 L245.9,243.2 L247.1,242.9 L248.4,242.5 L249.6,242.1 L250.9,241.7 L252.1,241.3 L253.4,240.8 L254.7,240.4 L255.9,239.8 L257.2,239.3 L258.4,238.8 L259.7,238.2 L261,237.6 L262.2,237 L263.5,236.4 L264.7,235.8 L266,235.2 L267.2,234.5 L268.5,233.9 L269.8,233.2 L271,232.5 L272.3,231.9 L273.5,231.2 L274.8,230.5 L276.1,229.8 L277.3,229.1 L278.6,228.4 L279.8,227.8 L281.1,227.1 L282.3,226.4 L283.6,225.7 L284.9,225.1 L286.1,224.4 L287.4,223.8 L288.6,223.1 L289.9,222.5 L291.2,221.9 L292.4,221.3 L293.7,220.7 L294.9,220.2 L296.2,219.6 L297.4,219.1 L298.7,218.6 L300,218.1 L301.2,217.7 L302.5,217.2 L303.7,216.8 L305,216.4 L306.3,216.1 L307.5,215.8 L308.8,215.5 L310,215.2 L311.3,215 L312.5,214.8 L313.8,214.6 L315.1,214.5 L316.3,214.4 L317.6,214.4 L318.8,214.4 L320.1,214.4 L321.4,214.5 L322.6,214.6 L323.9,214.8 L325.1,215 L326.4,215.3 L327.6,215.6 L328.9,216 L330.2,216.4 L331.4,216.9 L332.7,217.4 L333.9,218 L335.2,218.6 L336.5,219.3 L337.7,220.1 L339,220.9 L340.2,221.8 L341.5,222.7 L342.7,223.8 L344,224.8 L345.3,226 L346.5,227.2 L347.8,228.5 L349,229.8 L350.3,231.2 L351.6,232.7 L352.8,234.3 L354.1,236 L355.3,237.7 L356.6,239.5 L357.8,241.4 L359.1,243.3 L360.4,245.4 L361.6,247.5 L362.9,249.7 L364.1,252 L365.4,254.4 L366.7,256.9 L367.9,259.4 L369.2,262.1 L370.4,264.8 L371.7,267.7 L373,270.6 L374.2,273.6 L375.5,276.8 L376.7,280 L378,283.3 L379.2,286.7 L380.5,290.3 L381.8,293.9 L383,297.6 L384.3,301.5 L385.5,305.4 L386.8,309.5 L388.1,313.6 L389.3,317.9 L390.6,322.3 L391.8,326.8 L393.1,331.4 L394.3,336.2 L395.6,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M163.7,63.55 L165.1,74.23 L166.6,84.48 L168,94.3 L169.5,103.7 L170.9,112.7 L172.4,121.3 L173.8,129.5 L175.3,137.3 L176.7,144.8 L178.2,151.9 L179.6,158.6 L181.1,165 L182.5,171.1 L184,176.9 L185.4,182.4 L186.9,187.5 L188.3,192.4 L189.8,197 L191.2,201.3 L192.6,205.3 L194.1,209.1 L195.5,212.7 L197,216 L198.4,219 L199.9,221.9 L201.3,224.5 L202.8,227 L204.2,229.2 L205.7,231.2 L207.1,233.1 L208.6,234.8 L210,236.3 L211.5,237.6 L212.9,238.8 L214.4,239.9 L215.8,240.8 L217.3,241.5 L218.7,242.2 L220.2,242.7 L221.6,243.1 L223.1,243.4 L224.5,243.6 L226,243.7 L227.4,243.7 L228.9,243.7 L230.3,243.5 L231.8,243.3 L233.2,243 L234.7,242.7 L236.1,242.3 L237.6,241.8 L239,241.3 L240.5,240.8 L241.9,240.2 L243.4,239.6 L244.8,239 L246.3,238.3 L247.7,237.7 L249.1,237 L250.6,236.3 L252,235.6 L253.5,234.9 L254.9,234.2 L256.4,233.5 L257.8,232.8 L259.3,232.1 L260.7,231.5 L262.2,230.8 L263.6,230.2 L265.1,229.6 L266.5,229.1 L268,228.6 L269.4,228.1 L270.9,227.6 L272.3,227.2 L273.8,226.8 L275.2,226.5 L276.7,226.2 L278.1,226 L279.6,225.8 L281,225.7 L282.5,225.6 L283.9,225.5 L285.4,225.6 L286.8,225.7 L288.3,225.8 L289.7,226 L291.2,226.3 L292.6,226.6 L294.1,227 L295.5,227.4 L297,227.9 L298.4,228.5 L299.9,229.1 L301.3,229.8 L302.8,230.6 L304.2,231.4 L305.6,232.3 L307.1,233.2 L308.5,234.3 L310,235.3 L311.4,236.5 L312.9,237.7 L314.3,238.9 L315.8,240.2 L317.2,241.6 L318.7,243 L320.1,244.5 L321.6,246 L323,247.6 L324.5,249.3 L325.9,250.9 L327.4,252.7 L328.8,254.4 L330.3,256.3 L331.7,258.1 L333.2,260 L334.6,261.9 L336.1,263.9 L337.5,265.9 L339,267.9 L340.4,269.9 L341.9,272 L343.3,274 L344.8,276.1 L346.2,278.2 L347.7,280.3 L349.1,282.4 L350.6,284.5 L352,286.6 L353.5,288.7 L354.9,290.8 L356.4,292.9 L357.8,294.9 L359.3,296.9 L360.7,298.9 L362.1,300.8 L363.6,302.7 L365,304.6 L366.5,306.4 L367.9,308.2 L369.4,309.9 L370.8,311.5 L372.3,313 L373.7,314.5 L375.2,315.9 L376.6,317.2 L378.1,318.4 L379.5,319.5 L381,320.5 L382.4,321.4 L383.9,322.2 L385.3,322.9 L386.8,323.4 L388.2,323.7 L389.7,324 L391.1,324 L392.6,324 L394,323.7 L395.5,323.3 L396.9,322.6 L398.4,321.8 L399.8,320.8 L401.3,319.6 L402.7,318.2 L404.2,316.6 L405.6,314.7 L407.1,312.6 L408.5,310.2 L410,307.6 L411.4,304.7 L412.9,301.6 L414.3,298.1 L415.7,294.4 L417.2,290.4 L418.6,286 L420.1,281.4 L421.5,276.4 L423,271.1 L424.4,265.4 L425.9,259.4 L427.3,253 L428.8,246.3 L430.2,239.1 L431.7,231.6 L433.1,223.6 L434.6,215.3 L436,206.5 L437.5,197.2 L438.9,187.6 L440.4,177.4 L441.8,166.8 L443.3,155.7 L444.7,144.1 L446.2,132 L447.6,119.4 L449.1,106.3 L450.5,92.58 L452,78.35 L453.4,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M173.4,63.55 L174.6,75.83 L175.9,87.5 L177.1,98.59 L178.3,109.1 L179.5,119.1 L180.8,128.5 L182,137.4 L183.2,145.9 L184.5,153.8 L185.7,161.3 L186.9,168.3 L188.2,174.9 L189.4,181.2 L190.6,187 L191.9,192.4 L193.1,197.5 L194.3,202.2 L195.5,206.6 L196.8,210.6 L198,214.4 L199.2,217.8 L200.5,221 L201.7,223.9 L202.9,226.6 L204.2,229 L205.4,231.1 L206.6,233.1 L207.9,234.8 L209.1,236.4 L210.3,237.8 L211.5,238.9 L212.8,240 L214,240.8 L215.2,241.5 L216.5,242.1 L217.7,242.6 L218.9,242.9 L220.2,243.1 L221.4,243.3 L222.6,243.3 L223.9,243.2 L225.1,243.1 L226.3,242.9 L227.5,242.6 L228.8,242.2 L230,241.8 L231.2,241.4 L232.5,240.9 L233.7,240.4 L234.9,239.9 L236.2,239.3 L237.4,238.7 L238.6,238.2 L239.9,237.6 L241.1,237 L242.3,236.3 L243.5,235.8 L244.8,235.2 L246,234.6 L247.2,234 L248.5,233.5 L249.7,233 L250.9,232.5 L252.2,232 L253.4,231.5 L254.6,231.1 L255.9,230.8 L257.1,230.4 L258.3,230.1 L259.5,229.9 L260.8,229.6 L262,229.5 L263.2,229.3 L264.5,229.2 L265.7,229.2 L266.9,229.2 L268.2,229.2 L269.4,229.3 L270.6,229.5 L271.9,229.7 L273.1,229.9 L274.3,230.2 L275.5,230.5 L276.8,230.9 L278,231.3 L279.2,231.8 L280.5,232.3 L281.7,232.8 L282.9,233.4 L284.2,234 L285.4,234.7 L286.6,235.4 L287.9,236.2 L289.1,237 L290.3,237.8 L291.5,238.7 L292.8,239.5 L294,240.5 L295.2,241.4 L296.5,242.4 L297.7,243.4 L298.9,244.4 L300.2,245.4 L301.4,246.4 L302.6,247.5 L303.9,248.6 L305.1,249.6 L306.3,250.7 L307.5,251.8 L308.8,252.9 L310,254 L311.2,255.1 L312.5,256.2 L313.7,257.2 L314.9,258.3 L316.2,259.3 L317.4,260.3 L318.6,261.3 L319.9,262.3 L321.1,263.3 L322.3,264.2 L323.5,265.1 L324.8,265.9 L326,266.8 L327.2,267.5 L328.5,268.3 L329.7,269 L330.9,269.6 L332.2,270.2 L333.4,270.7 L334.6,271.2 L335.9,271.6 L337.1,271.9 L338.3,272.2 L339.5,272.4 L340.8,272.5 L342,272.6 L343.2,272.6 L344.5,272.5 L345.7,272.3 L346.9,272 L348.2,271.6 L349.4,271.2 L350.6,270.6 L351.9,270 L353.1,269.3 L354.3,268.4 L355.5,267.5 L356.8,266.5 L358,265.3 L359.2,264.1 L360.5,262.7 L361.7,261.3 L362.9,259.7 L364.2,258 L365.4,256.2 L366.6,254.2 L367.9,252.2 L369.1,250 L370.3,247.8 L371.5,245.3 L372.8,242.8 L374,240.2 L375.2,237.4 L376.5,234.5 L377.7,231.5 L378.9,228.4 L380.2,225.1 L381.4,221.7 L382.6,218.2 L383.9,214.6 L385.1,210.8 L386.3,207 L387.5,203 L388.8,198.8 L390,194.6 L391.2,190.3 L392.5,185.8 L393.7,181.2 L394.9,176.5 L396.2,171.7 L397.4,166.8 L398.6,161.8 L399.9,156.7 L401.1,151.5 L402.3,146.1 L403.5,140.7 L404.8,135.2 L406,129.6 L407.2,124 L408.5,118.2 L409.7,112.4 L410.9,106.5 L412.2,100.5 L413.4,94.48 L414.6,88.38 L415.9,82.24 L417.1,76.05 L418.3,69.82 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="182"/><rect x="474.8" y="58" width="99.2" height="182"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="226" x2="502.8" y2="226"/></g>
+</g>
+<g id="legendText">
+<text x="509.8" y="86" font-size="14" font-family="Verdana">n = 0</text>
+<text x="509.8" y="114" font-size="14" font-family="Verdana">n = 1</text>
+<text x="509.8" y="142" font-size="14" font-family="Verdana">n = 2</text>
+<text x="509.8" y="170" font-size="14" font-family="Verdana">n = 3</text>
+<text x="509.8" y="198" font-size="14" font-family="Verdana">n = 4</text>
+<text x="509.8" y="226" font-size="14" font-family="Verdana">n = 5</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Laguerre Polynomials</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/laplace_pdf.png b/libs/math/doc/graphs/laplace_pdf.png
index 8133fe2dd7..8133fe2dd7 100644
--- a/libs/math/doc/sf_and_dist/graphs/laplace_pdf.png
+++ b/libs/math/doc/graphs/laplace_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/laplace_pdf.svg b/libs/math/doc/graphs/laplace_pdf.svg
new file mode 100644
index 0000000000..0703fee74f
--- /dev/null
+++ b/libs/math/doc/graphs/laplace_pdf.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="450" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="452" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="310.4" y1="58" x2="310.4" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="536.2" y2="341"/><line x1="79.2" y1="341" x2="536.2" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M348.1,341 L348.1,343 M385.9,341 L385.9,343 M423.6,341 L423.6,343 M461.3,341 L461.3,343 M272.6,341 L272.6,343 M234.9,341 L234.9,343 M197.1,341 L197.1,343 M159.4,341 L159.4,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M310.4,341 L310.4,346 M499.1,341 L499.1,346 M310.4,341 L310.4,346 M121.6,341 L121.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="310.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="499.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="310.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="121.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="310.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,340.7 L86.46,340.7 L88.72,340.6 L90.98,340.6 L93.24,340.6 L95.5,340.6 L97.76,340.5 L100,340.5 L102.3,340.5 L104.5,340.4 L106.8,340.4 L109.1,340.4 L111.3,340.3 L113.6,340.3 L115.8,340.3 L118.1,340.2 L120.4,340.2 L122.6,340.1 L124.9,340.1 L127.1,340 L129.4,339.9 L131.7,339.9 L133.9,339.8 L136.2,339.7 L138.4,339.6 L140.7,339.6 L143,339.5 L145.2,339.4 L147.5,339.3 L149.7,339.2 L152,339.1 L154.3,338.9 L156.5,338.8 L158.8,338.7 L161,338.5 L163.3,338.4 L165.6,338.2 L167.8,338.1 L170.1,337.9 L172.3,337.7 L174.6,337.5 L176.9,337.3 L179.1,337 L181.4,336.8 L183.6,336.5 L185.9,336.2 L188.2,335.9 L190.4,335.6 L192.7,335.3 L194.9,335 L197.2,334.6 L199.5,334.2 L201.7,333.8 L204,333.3 L206.3,332.8 L208.5,332.3 L210.8,331.8 L213,331.2 L215.3,330.6 L217.6,330 L219.8,329.3 L222.1,328.6 L224.3,327.8 L226.6,327 L228.9,326.2 L231.1,325.2 L233.4,324.3 L235.6,323.2 L237.9,322.1 L240.2,321 L242.4,319.7 L244.7,318.4 L246.9,317 L249.2,315.6 L251.5,314 L253.7,312.3 L256,310.5 L258.2,308.7 L260.5,306.7 L262.8,304.6 L265,302.3 L267.3,299.9 L269.5,297.4 L271.8,294.7 L274.1,291.8 L276.3,288.8 L278.6,285.6 L280.8,282.2 L283.1,278.5 L285.4,274.7 L287.6,270.6 L289.9,266.2 L292.1,261.6 L294.4,256.7 L296.7,251.5 L298.9,246 L301.2,240.1 L303.4,233.9 L305.7,227.3 L308,220.3 L310.2,212.8 L312.5,219.4 L314.7,226.5 L317,233.1 L319.3,239.4 L321.5,245.3 L323.8,250.9 L326,256.1 L328.3,261 L330.6,265.7 L332.8,270.1 L335.1,274.2 L337.3,278.1 L339.6,281.7 L341.9,285.2 L344.1,288.4 L346.4,291.5 L348.6,294.3 L350.9,297.1 L353.2,299.6 L355.4,302 L357.7,304.3 L359.9,306.4 L362.2,308.4 L364.5,310.3 L366.7,312.1 L369,313.8 L371.2,315.4 L373.5,316.9 L375.8,318.3 L378,319.6 L380.3,320.8 L382.5,322 L384.8,323.1 L387.1,324.1 L389.3,325.1 L391.6,326 L393.8,326.9 L396.1,327.7 L398.4,328.5 L400.6,329.2 L402.9,329.9 L405.1,330.6 L407.4,331.2 L409.7,331.7 L411.9,332.3 L414.2,332.8 L416.4,333.3 L418.7,333.7 L421,334.1 L423.2,334.5 L425.5,334.9 L427.8,335.3 L430,335.6 L432.3,335.9 L434.5,336.2 L436.8,336.5 L439.1,336.7 L441.3,337 L443.6,337.2 L445.8,337.4 L448.1,337.7 L450.4,337.8 L452.6,338 L454.9,338.2 L457.1,338.4 L459.4,338.5 L461.7,338.7 L463.9,338.8 L466.2,338.9 L468.4,339 L470.7,339.2 L473,339.3 L475.2,339.4 L477.5,339.5 L479.7,339.6 L482,339.6 L484.3,339.7 L486.5,339.8 L488.8,339.9 L491,339.9 L493.3,340 L495.6,340 L497.8,340.1 L500.1,340.2 L502.3,340.2 L504.6,340.3 L506.9,340.3 L509.1,340.3 L511.4,340.4 L513.6,340.4 L515.9,340.4 L518.2,340.5 L520.4,340.5 L522.7,340.5 L524.9,340.6 L527.2,340.6 L529.5,340.6 L531.7,340.6 L534,340.7 L536.2,340.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,341 L131.7,341 L133.9,341 L136.2,341 L138.4,341 L140.7,341 L143,341 L145.2,341 L147.5,341 L149.7,340.9 L152,340.9 L154.3,340.9 L156.5,340.9 L158.8,340.9 L161,340.9 L163.3,340.9 L165.6,340.9 L167.8,340.9 L170.1,340.8 L172.3,340.8 L174.6,340.8 L176.9,340.8 L179.1,340.8 L181.4,340.7 L183.6,340.7 L185.9,340.6 L188.2,340.6 L190.4,340.6 L192.7,340.5 L194.9,340.4 L197.2,340.4 L199.5,340.3 L201.7,340.2 L204,340.1 L206.3,340 L208.5,339.8 L210.8,339.7 L213,339.5 L215.3,339.3 L217.6,339.1 L219.8,338.9 L222.1,338.6 L224.3,338.3 L226.6,338 L228.9,337.6 L231.1,337.1 L233.4,336.6 L235.6,336.1 L237.9,335.5 L240.2,334.8 L242.4,334 L244.7,333.1 L246.9,332.1 L249.2,330.9 L251.5,329.7 L253.7,328.2 L256,326.6 L258.2,324.7 L260.5,322.7 L262.8,320.3 L265,317.7 L267.3,314.8 L269.5,311.4 L271.8,307.7 L274.1,303.4 L276.3,298.6 L278.6,293.2 L280.8,287.2 L283.1,280.3 L285.4,272.6 L287.6,263.9 L289.9,254.1 L292.1,243 L294.4,230.6 L296.7,216.5 L298.9,200.7 L301.2,182.8 L303.4,162.7 L305.7,140 L308,114.4 L310.2,85.61 L312.5,111.1 L314.7,137 L317,160 L319.3,180.5 L321.5,198.6 L323.8,214.7 L326,228.9 L328.3,241.6 L330.6,252.8 L332.8,262.7 L335.1,271.6 L337.3,279.4 L339.6,286.4 L341.9,292.5 L344.1,298 L346.4,302.9 L348.6,307.2 L350.9,311 L353.2,314.4 L355.4,317.4 L357.7,320 L359.9,322.4 L362.2,324.5 L364.5,326.4 L366.7,328 L369,329.5 L371.2,330.8 L373.5,331.9 L375.8,333 L378,333.9 L380.3,334.7 L382.5,335.4 L384.8,336 L387.1,336.6 L389.3,337.1 L391.6,337.5 L393.8,337.9 L396.1,338.3 L398.4,338.6 L400.6,338.8 L402.9,339.1 L405.1,339.3 L407.4,339.5 L409.7,339.7 L411.9,339.8 L414.2,340 L416.4,340.1 L418.7,340.2 L421,340.3 L423.2,340.3 L425.5,340.4 L427.8,340.5 L430,340.5 L432.3,340.6 L434.5,340.6 L436.8,340.7 L439.1,340.7 L441.3,340.8 L443.6,340.8 L445.8,340.8 L448.1,340.8 L450.4,340.8 L452.6,340.9 L454.9,340.9 L457.1,340.9 L459.4,340.9 L461.7,340.9 L463.9,340.9 L466.2,340.9 L468.4,340.9 L470.7,340.9 L473,341 L475.2,341 L477.5,341 L479.7,341 L482,341 L484.3,341 L486.5,341 L488.8,341 L491,341 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.46,337.7 L88.72,337.6 L90.98,337.5 L93.24,337.4 L95.5,337.3 L97.76,337.2 L100,337 L102.3,336.9 L104.5,336.8 L106.8,336.7 L109.1,336.5 L111.3,336.4 L113.6,336.3 L115.8,336.1 L118.1,336 L120.4,335.8 L122.6,335.7 L124.9,335.5 L127.1,335.3 L129.4,335.1 L131.7,335 L133.9,334.8 L136.2,334.6 L138.4,334.4 L140.7,334.2 L143,334 L145.2,333.8 L147.5,333.6 L149.7,333.3 L152,333.1 L154.3,332.9 L156.5,332.6 L158.8,332.4 L161,332.1 L163.3,331.8 L165.6,331.6 L167.8,331.3 L170.1,331 L172.3,330.7 L174.6,330.3 L176.9,330 L179.1,329.7 L181.4,329.3 L183.6,329 L185.9,328.6 L188.2,328.3 L190.4,327.9 L192.7,327.5 L194.9,327.1 L197.2,326.6 L199.5,326.2 L201.7,325.7 L204,325.3 L206.3,324.8 L208.5,324.3 L210.8,323.8 L213,323.3 L215.3,322.7 L217.6,322.2 L219.8,321.6 L222.1,321 L224.3,320.4 L226.6,319.8 L228.9,319.2 L231.1,318.5 L233.4,317.8 L235.6,317.1 L237.9,316.4 L240.2,315.6 L242.4,314.9 L244.7,314.1 L246.9,313.2 L249.2,312.4 L251.5,311.5 L253.7,310.6 L256,309.7 L258.2,308.8 L260.5,307.8 L262.8,306.8 L265,305.7 L267.3,304.7 L269.5,303.5 L271.8,302.4 L274.1,301.2 L276.3,300 L278.6,298.8 L280.8,297.5 L283.1,296.2 L285.4,294.8 L287.6,293.4 L289.9,292 L292.1,290.5 L294.4,288.9 L296.7,287.4 L298.9,285.7 L301.2,284 L303.4,282.3 L305.7,280.5 L308,278.7 L310.2,276.8 L312.5,278.5 L314.7,280.3 L317,282.1 L319.3,283.8 L321.5,285.5 L323.8,287.2 L326,288.7 L328.3,290.3 L330.6,291.8 L332.8,293.2 L335.1,294.6 L337.3,296 L339.6,297.3 L341.9,298.6 L344.1,299.9 L346.4,301.1 L348.6,302.3 L350.9,303.4 L353.2,304.5 L355.4,305.6 L357.7,306.6 L359.9,307.7 L362.2,308.6 L364.5,309.6 L366.7,310.5 L369,311.4 L371.2,312.3 L373.5,313.1 L375.8,314 L378,314.8 L380.3,315.5 L382.5,316.3 L384.8,317 L387.1,317.7 L389.3,318.4 L391.6,319.1 L393.8,319.7 L396.1,320.3 L398.4,321 L400.6,321.5 L402.9,322.1 L405.1,322.7 L407.4,323.2 L409.7,323.7 L411.9,324.2 L414.2,324.7 L416.4,325.2 L418.7,325.7 L421,326.1 L423.2,326.6 L425.5,327 L427.8,327.4 L430,327.8 L432.3,328.2 L434.5,328.6 L436.8,328.9 L439.1,329.3 L441.3,329.6 L443.6,330 L445.8,330.3 L448.1,330.6 L450.4,330.9 L452.6,331.2 L454.9,331.5 L457.1,331.8 L459.4,332.1 L461.7,332.3 L463.9,332.6 L466.2,332.8 L468.4,333.1 L470.7,333.3 L473,333.5 L475.2,333.8 L477.5,334 L479.7,334.2 L482,334.4 L484.3,334.6 L486.5,334.8 L488.8,334.9 L491,335.1 L493.3,335.3 L495.6,335.5 L497.8,335.6 L500.1,335.8 L502.3,335.9 L504.6,336.1 L506.9,336.2 L509.1,336.4 L511.4,336.5 L513.6,336.6 L515.9,336.8 L518.2,336.9 L520.4,337 L522.7,337.1 L524.9,337.3 L527.2,337.4 L529.5,337.5 L531.7,337.6 L534,337.7 L536.2,337.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,340.1 L86.46,340.1 L88.72,340 L90.98,340 L93.24,339.9 L95.5,339.8 L97.76,339.7 L100,339.7 L102.3,339.6 L104.5,339.5 L106.8,339.4 L109.1,339.3 L111.3,339.2 L113.6,339.1 L115.8,339 L118.1,338.9 L120.4,338.7 L122.6,338.6 L124.9,338.4 L127.1,338.3 L129.4,338.1 L131.7,337.9 L133.9,337.7 L136.2,337.5 L138.4,337.3 L140.7,337.1 L143,336.9 L145.2,336.6 L147.5,336.3 L149.7,336 L152,335.7 L154.3,335.4 L156.5,335.1 L158.8,334.7 L161,334.3 L163.3,333.9 L165.6,333.5 L167.8,333 L170.1,332.5 L172.3,332 L174.6,331.4 L176.9,330.8 L179.1,330.2 L181.4,329.5 L183.6,328.8 L185.9,328.1 L188.2,327.3 L190.4,326.4 L192.7,325.5 L194.9,324.6 L197.2,323.5 L199.5,322.5 L201.7,321.3 L204,320.1 L206.3,318.8 L208.5,317.5 L210.8,316 L213,314.5 L215.3,312.8 L217.6,311.1 L219.8,309.2 L222.1,307.3 L224.3,305.2 L226.6,303 L228.9,300.6 L231.1,298.2 L233.4,295.5 L235.6,292.7 L237.9,289.7 L240.2,286.6 L242.4,283.2 L244.7,279.6 L246.9,275.8 L249.2,271.8 L251.5,267.6 L253.7,263 L256,258.2 L258.2,253.1 L260.5,247.7 L262.8,241.9 L265,235.8 L267.3,229.3 L269.5,222.4 L271.8,215.1 L274.1,217.2 L276.3,224.4 L278.6,231.2 L280.8,237.6 L283.1,243.6 L285.4,249.2 L287.6,254.6 L289.9,259.6 L292.1,264.3 L294.4,268.8 L296.7,273 L298.9,276.9 L301.2,280.6 L303.4,284.2 L305.7,287.5 L308,290.6 L310.2,293.5 L312.5,296.3 L314.7,298.9 L317,301.3 L319.3,303.6 L321.5,305.8 L323.8,307.8 L326,309.8 L328.3,311.6 L330.6,313.3 L332.8,314.9 L335.1,316.4 L337.3,317.8 L339.6,319.2 L341.9,320.5 L344.1,321.7 L346.4,322.8 L348.6,323.8 L350.9,324.8 L353.2,325.8 L355.4,326.7 L357.7,327.5 L359.9,328.3 L362.2,329 L364.5,329.7 L366.7,330.4 L369,331 L371.2,331.6 L373.5,332.1 L375.8,332.6 L378,333.1 L380.3,333.6 L382.5,334 L384.8,334.4 L387.1,334.8 L389.3,335.2 L391.6,335.5 L393.8,335.8 L396.1,336.1 L398.4,336.4 L400.6,336.7 L402.9,336.9 L405.1,337.2 L407.4,337.4 L409.7,337.6 L411.9,337.8 L414.2,338 L416.4,338.2 L418.7,338.3 L421,338.5 L423.2,338.6 L425.5,338.8 L427.8,338.9 L430,339 L432.3,339.1 L434.5,339.2 L436.8,339.3 L439.1,339.4 L441.3,339.5 L443.6,339.6 L445.8,339.7 L448.1,339.8 L450.4,339.8 L452.6,339.9 L454.9,340 L457.1,340 L459.4,340.1 L461.7,340.1 L463.9,340.2 L466.2,340.2 L468.4,340.3 L470.7,340.3 L473,340.4 L475.2,340.4 L477.5,340.4 L479.7,340.5 L482,340.5 L484.3,340.5 L486.5,340.6 L488.8,340.6 L491,340.6 L493.3,340.6 L495.6,340.6 L497.8,340.7 L500.1,340.7 L502.3,340.7 L504.6,340.7 L506.9,340.7 L509.1,340.8 L511.4,340.8 L513.6,340.8 L515.9,340.8 L518.2,340.8 L520.4,340.8 L522.7,340.8 L524.9,340.8 L527.2,340.8 L529.5,340.9 L531.7,340.9 L534,340.9 L536.2,340.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,340.9 L86.46,340.9 L88.72,340.9 L90.98,340.9 L93.24,340.8 L95.5,340.8 L97.76,340.8 L100,340.8 L102.3,340.8 L104.5,340.8 L106.8,340.8 L109.1,340.8 L111.3,340.8 L113.6,340.7 L115.8,340.7 L118.1,340.7 L120.4,340.7 L122.6,340.7 L124.9,340.7 L127.1,340.6 L129.4,340.6 L131.7,340.6 L133.9,340.6 L136.2,340.5 L138.4,340.5 L140.7,340.5 L143,340.4 L145.2,340.4 L147.5,340.4 L149.7,340.3 L152,340.3 L154.3,340.2 L156.5,340.2 L158.8,340.1 L161,340.1 L163.3,340 L165.6,340 L167.8,339.9 L170.1,339.8 L172.3,339.8 L174.6,339.7 L176.9,339.6 L179.1,339.5 L181.4,339.4 L183.6,339.4 L185.9,339.2 L188.2,339.1 L190.4,339 L192.7,338.9 L194.9,338.8 L197.2,338.6 L199.5,338.5 L201.7,338.3 L204,338.2 L206.3,338 L208.5,337.8 L210.8,337.6 L213,337.4 L215.3,337.2 L217.6,337 L219.8,336.7 L222.1,336.4 L224.3,336.2 L226.6,335.9 L228.9,335.5 L231.1,335.2 L233.4,334.8 L235.6,334.5 L237.9,334.1 L240.2,333.6 L242.4,333.2 L244.7,332.7 L246.9,332.2 L249.2,331.6 L251.5,331.1 L253.7,330.4 L256,329.8 L258.2,329.1 L260.5,328.4 L262.8,327.6 L265,326.8 L267.3,325.9 L269.5,325 L271.8,324 L274.1,322.9 L276.3,321.8 L278.6,320.6 L280.8,319.4 L283.1,318 L285.4,316.6 L287.6,315.1 L289.9,313.5 L292.1,311.8 L294.4,310 L296.7,308.1 L298.9,306 L301.2,303.9 L303.4,301.6 L305.7,299.2 L308,296.6 L310.2,293.9 L312.5,290.9 L314.7,287.9 L317,284.6 L319.3,281.1 L321.5,277.4 L323.8,273.5 L326,269.3 L328.3,264.9 L330.6,260.2 L332.8,255.2 L335.1,249.9 L337.3,244.3 L339.6,238.3 L341.9,232 L344.1,225.2 L346.4,218.1 L348.6,214.2 L350.9,221.6 L353.2,228.5 L355.4,235 L357.7,241.2 L359.9,247 L362.2,252.5 L364.5,257.6 L366.7,262.5 L369,267 L371.2,271.3 L373.5,275.4 L375.8,279.2 L378,282.8 L380.3,286.2 L382.5,289.3 L384.8,292.3 L387.1,295.2 L389.3,297.8 L391.6,300.3 L393.8,302.7 L396.1,304.9 L398.4,307 L400.6,309 L402.9,310.9 L405.1,312.6 L407.4,314.3 L409.7,315.8 L411.9,317.3 L414.2,318.7 L416.4,320 L418.7,321.2 L421,322.3 L423.2,323.4 L425.5,324.4 L427.8,325.4 L430,326.3 L432.3,327.2 L434.5,328 L436.8,328.7 L439.1,329.4 L441.3,330.1 L443.6,330.7 L445.8,331.3 L448.1,331.9 L450.4,332.4 L452.6,332.9 L454.9,333.4 L457.1,333.8 L459.4,334.3 L461.7,334.6 L463.9,335 L466.2,335.4 L468.4,335.7 L470.7,336 L473,336.3 L475.2,336.6 L477.5,336.8 L479.7,337.1 L482,337.3 L484.3,337.5 L486.5,337.7 L488.8,337.9 L491,338.1 L493.3,338.3 L495.6,338.4 L497.8,338.6 L500.1,338.7 L502.3,338.8 L504.6,339 L506.9,339.1 L509.1,339.2 L511.4,339.3 L513.6,339.4 L515.9,339.5 L518.2,339.6 L520.4,339.7 L522.7,339.7 L524.9,339.8 L527.2,339.9 L529.5,339.9 L531.7,340 L534,340.1 L536.2,340.1 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="550.2" y="58" width="173.8" height="165"/><rect x="550.2" y="58" width="173.8" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="88" x2="580.2" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="118" x2="580.2" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="148" x2="580.2" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="178" x2="580.2" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="208" x2="580.2" y2="208"/></g>
+</g>
+<g id="legendText">
+<text x="587.7" y="88" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 1</text>
+<text x="587.7" y="118" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 0.5</text>
+<text x="587.7" y="148" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 2</text>
+<text x="587.7" y="178" font-size="15" font-family="Verdana">&#x3BC; = -1, &#x3C3; = 1</text>
+<text x="587.7" y="208" font-size="15" font-family="Verdana">&#x3BC; = 1, &#x3C3; = 1</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Laplace Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/legendre_p.png b/libs/math/doc/graphs/legendre_p.png
index 283bc33050..283bc33050 100644
--- a/libs/math/doc/sf_and_dist/graphs/legendre_p.png
+++ b/libs/math/doc/graphs/legendre_p.png
Binary files differ
diff --git a/libs/math/doc/graphs/legendre_p.svg b/libs/math/doc/graphs/legendre_p.svg
new file mode 100644
index 0000000000..bdcbfbae6a
--- /dev/null
+++ b/libs/math/doc/graphs/legendre_p.svg
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="366.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="368.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="273.1" y1="58" x2="273.1" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="460.8" y2="202.3"/><line x1="87.6" y1="341" x2="460.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,184.9 L92.6,184.9 M90.6,167.6 L92.6,167.6 M90.6,150.3 L92.6,150.3 M90.6,115.6 L92.6,115.6 M90.6,98.23 L92.6,98.23 M90.6,80.89 L92.6,80.89 M90.6,202.3 L92.6,202.3 M90.6,219.6 L92.6,219.6 M90.6,237 L92.6,237 M90.6,254.3 L92.6,254.3 M90.6,271.6 L92.6,271.6 M90.6,289 L92.6,289 M90.6,306.3 L92.6,306.3 M90.6,323.7 L92.6,323.7 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M295.7,341 L295.7,343 M318.2,341 L318.2,343 M340.8,341 L340.8,343 M385.9,341 L385.9,343 M408.5,341 L408.5,343 M431,341 L431,343 M250.5,341 L250.5,343 M228,341 L228,343 M205.4,341 L205.4,343 M160.3,341 L160.3,343 M137.7,341 L137.7,343 M115.2,341 L115.2,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,132.9 L92.6,132.9 M87.6,63.55 L92.6,63.55 M87.6,202.3 L92.6,202.3 M87.6,271.6 L92.6,271.6 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M273.1,341 L273.1,346 M363.3,341 L363.3,346 M453.6,341 L453.6,346 M273.1,341 L273.1,346 M182.8,341 L182.8,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="363.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="453.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="182.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="274" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">legendre_p(l, x)</text></g>
+<g id="xLabel">
+<text x="276.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.4,339.6 L96.21,338.2 L98.01,336.8 L99.82,335.5 L101.6,334.1 L103.4,332.7 L105.2,331.3 L107,329.9 L108.8,328.5 L110.6,327.1 L112.5,325.7 L114.3,324.4 L116.1,323 L117.9,321.6 L119.7,320.2 L121.5,318.8 L123.3,317.4 L125.1,316 L126.9,314.6 L128.7,313.3 L130.5,311.9 L132.3,310.5 L134.1,309.1 L135.9,307.7 L137.7,306.3 L139.5,304.9 L141.3,303.5 L143.1,302.2 L144.9,300.8 L146.7,299.4 L148.6,298 L150.4,296.6 L152.2,295.2 L154,293.8 L155.8,292.4 L157.6,291.1 L159.4,289.7 L161.2,288.3 L163,286.9 L164.8,285.5 L166.6,284.1 L168.4,282.7 L170.2,281.3 L172,280 L173.8,278.6 L175.6,277.2 L177.4,275.8 L179.2,274.4 L181,273 L182.8,271.6 L184.7,270.2 L186.5,268.9 L188.3,267.5 L190.1,266.1 L191.9,264.7 L193.7,263.3 L195.5,261.9 L197.3,260.5 L199.1,259.2 L200.9,257.8 L202.7,256.4 L204.5,255 L206.3,253.6 L208.1,252.2 L209.9,250.8 L211.7,249.4 L213.5,248.1 L215.3,246.7 L217.1,245.3 L218.9,243.9 L220.7,242.5 L222.6,241.1 L224.4,239.7 L226.2,238.3 L228,237 L229.8,235.6 L231.6,234.2 L233.4,232.8 L235.2,231.4 L237,230 L238.8,228.6 L240.6,227.2 L242.4,225.9 L244.2,224.5 L246,223.1 L247.8,221.7 L249.6,220.3 L251.4,218.9 L253.2,217.5 L255,216.1 L256.8,214.8 L258.7,213.4 L260.5,212 L262.3,210.6 L264.1,209.2 L265.9,207.8 L267.7,206.4 L269.5,205 L271.3,203.7 L273.1,202.3 L274.9,200.9 L276.7,199.5 L278.5,198.1 L280.3,196.7 L282.1,195.3 L283.9,194 L285.7,192.6 L287.5,191.2 L289.3,189.8 L291.1,188.4 L292.9,187 L294.7,185.6 L296.6,184.2 L298.4,182.9 L300.2,181.5 L302,180.1 L303.8,178.7 L305.6,177.3 L307.4,175.9 L309.2,174.5 L311,173.1 L312.8,171.8 L314.6,170.4 L316.4,169 L318.2,167.6 L320,166.2 L321.8,164.8 L323.6,163.4 L325.4,162 L327.2,160.7 L329,159.3 L330.8,157.9 L332.7,156.5 L334.5,155.1 L336.3,153.7 L338.1,152.3 L339.9,150.9 L341.7,149.6 L343.5,148.2 L345.3,146.8 L347.1,145.4 L348.9,144 L350.7,142.6 L352.5,141.2 L354.3,139.8 L356.1,138.5 L357.9,137.1 L359.7,135.7 L361.5,134.3 L363.3,132.9 L365.1,131.5 L366.9,130.1 L368.8,128.7 L370.6,127.4 L372.4,126 L374.2,124.6 L376,123.2 L377.8,121.8 L379.6,120.4 L381.4,119 L383.2,117.7 L385,116.3 L386.8,114.9 L388.6,113.5 L390.4,112.1 L392.2,110.7 L394,109.3 L395.8,107.9 L397.6,106.6 L399.4,105.2 L401.2,103.8 L403,102.4 L404.8,101 L406.7,99.62 L408.5,98.23 L410.3,96.84 L412.1,95.46 L413.9,94.07 L415.7,92.68 L417.5,91.29 L419.3,89.91 L421.1,88.52 L422.9,87.13 L424.7,85.75 L426.5,84.36 L428.3,82.97 L430.1,81.58 L431.9,80.2 L433.7,78.81 L435.5,77.42 L437.3,76.03 L439.1,74.65 L440.9,73.26 L442.8,71.87 L444.6,70.49 L446.4,69.1 L448.2,67.71 L450,66.32 L451.8,64.94 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,63.55 L94.4,67.69 L96.21,71.79 L98.01,75.85 L99.82,79.86 L101.6,83.84 L103.4,87.77 L105.2,91.66 L107,95.51 L108.8,99.32 L110.6,103.1 L112.5,106.8 L114.3,110.5 L116.1,114.1 L117.9,117.7 L119.7,121.3 L121.5,124.8 L123.3,128.3 L125.1,131.7 L126.9,135.1 L128.7,138.5 L130.5,141.8 L132.3,145 L134.1,148.3 L135.9,151.4 L137.7,154.6 L139.5,157.7 L141.3,160.7 L143.1,163.8 L144.9,166.7 L146.7,169.7 L148.6,172.6 L150.4,175.4 L152.2,178.2 L154,181 L155.8,183.7 L157.6,186.4 L159.4,189 L161.2,191.6 L163,194.2 L164.8,196.7 L166.6,199.2 L168.4,201.6 L170.2,204 L172,206.4 L173.8,208.7 L175.6,211 L177.4,213.2 L179.2,215.4 L181,217.5 L182.8,219.6 L184.7,221.7 L186.5,223.7 L188.3,225.7 L190.1,227.6 L191.9,229.5 L193.7,231.4 L195.5,233.2 L197.3,234.9 L199.1,236.7 L200.9,238.3 L202.7,240 L204.5,241.6 L206.3,243.1 L208.1,244.7 L209.9,246.1 L211.7,247.6 L213.5,249 L215.3,250.3 L217.1,251.6 L218.9,252.9 L220.7,254.1 L222.6,255.3 L224.4,256.5 L226.2,257.6 L228,258.6 L229.8,259.7 L231.6,260.6 L233.4,261.6 L235.2,262.5 L237,263.3 L238.8,264.1 L240.6,264.9 L242.4,265.6 L244.2,266.3 L246,267 L247.8,267.6 L249.6,268.1 L251.4,268.6 L253.2,269.1 L255,269.6 L256.8,270 L258.7,270.3 L260.5,270.6 L262.3,270.9 L264.1,271.1 L265.9,271.3 L267.7,271.4 L269.5,271.6 L271.3,271.6 L273.1,271.6 L274.9,271.6 L276.7,271.6 L278.5,271.4 L280.3,271.3 L282.1,271.1 L283.9,270.9 L285.7,270.6 L287.5,270.3 L289.3,270 L291.1,269.6 L292.9,269.1 L294.7,268.6 L296.6,268.1 L298.4,267.6 L300.2,267 L302,266.3 L303.8,265.6 L305.6,264.9 L307.4,264.1 L309.2,263.3 L311,262.5 L312.8,261.6 L314.6,260.6 L316.4,259.7 L318.2,258.6 L320,257.6 L321.8,256.5 L323.6,255.3 L325.4,254.1 L327.2,252.9 L329,251.6 L330.8,250.3 L332.7,249 L334.5,247.6 L336.3,246.1 L338.1,244.7 L339.9,243.1 L341.7,241.6 L343.5,240 L345.3,238.3 L347.1,236.7 L348.9,234.9 L350.7,233.2 L352.5,231.4 L354.3,229.5 L356.1,227.6 L357.9,225.7 L359.7,223.7 L361.5,221.7 L363.3,219.6 L365.1,217.5 L366.9,215.4 L368.8,213.2 L370.6,211 L372.4,208.7 L374.2,206.4 L376,204 L377.8,201.6 L379.6,199.2 L381.4,196.7 L383.2,194.2 L385,191.6 L386.8,189 L388.6,186.4 L390.4,183.7 L392.2,181 L394,178.2 L395.8,175.4 L397.6,172.6 L399.4,169.7 L401.2,166.7 L403,163.8 L404.8,160.7 L406.7,157.7 L408.5,154.6 L410.3,151.4 L412.1,148.3 L413.9,145 L415.7,141.8 L417.5,138.5 L419.3,135.1 L421.1,131.7 L422.9,128.3 L424.7,124.8 L426.5,121.3 L428.3,117.7 L430.1,114.1 L431.9,110.5 L433.7,106.8 L435.5,103.1 L437.3,99.32 L439.1,95.51 L440.9,91.66 L442.8,87.77 L444.6,83.84 L446.4,79.86 L448.2,75.85 L450,71.79 L451.8,67.69 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,341 L94.4,332.8 L96.21,324.8 L98.01,317 L99.82,309.3 L101.6,301.9 L103.4,294.7 L105.2,287.7 L107,280.9 L108.8,274.3 L110.6,267.8 L112.5,261.6 L114.3,255.5 L116.1,249.6 L117.9,243.9 L119.7,238.4 L121.5,233 L123.3,227.9 L125.1,222.9 L126.9,218 L128.7,213.4 L130.5,208.9 L132.3,204.5 L134.1,200.4 L135.9,196.4 L137.7,192.5 L139.5,188.8 L141.3,185.3 L143.1,181.9 L144.9,178.7 L146.7,175.6 L148.6,172.6 L150.4,169.8 L152.2,167.2 L154,164.6 L155.8,162.3 L157.6,160 L159.4,157.9 L161.2,155.9 L163,154.1 L164.8,152.3 L166.6,150.7 L168.4,149.3 L170.2,147.9 L172,146.7 L173.8,145.5 L175.6,144.5 L177.4,143.6 L179.2,142.8 L181,142.2 L182.8,141.6 L184.7,141.1 L186.5,140.7 L188.3,140.5 L190.1,140.3 L191.9,140.2 L193.7,140.3 L195.5,140.4 L197.3,140.6 L199.1,140.9 L200.9,141.2 L202.7,141.7 L204.5,142.2 L206.3,142.8 L208.1,143.5 L209.9,144.3 L211.7,145.2 L213.5,146.1 L215.3,147.1 L217.1,148.1 L218.9,149.2 L220.7,150.4 L222.6,151.6 L224.4,152.9 L226.2,154.3 L228,155.7 L229.8,157.1 L231.6,158.6 L233.4,160.2 L235.2,161.8 L237,163.4 L238.8,165.1 L240.6,166.8 L242.4,168.6 L244.2,170.4 L246,172.2 L247.8,174.1 L249.6,176 L251.4,177.9 L253.2,179.8 L255,181.8 L256.8,183.8 L258.7,185.8 L260.5,187.8 L262.3,189.9 L264.1,191.9 L265.9,194 L267.7,196 L269.5,198.1 L271.3,200.2 L273.1,202.3 L274.9,204.4 L276.7,206.4 L278.5,208.5 L280.3,210.6 L282.1,212.6 L283.9,214.7 L285.7,216.7 L287.5,218.7 L289.3,220.7 L291.1,222.7 L292.9,224.7 L294.7,226.6 L296.6,228.6 L298.4,230.5 L300.2,232.3 L302,234.1 L303.8,235.9 L305.6,237.7 L307.4,239.4 L309.2,241.1 L311,242.8 L312.8,244.4 L314.6,245.9 L316.4,247.4 L318.2,248.9 L320,250.3 L321.8,251.6 L323.6,252.9 L325.4,254.2 L327.2,255.3 L329,256.4 L330.8,257.5 L332.7,258.5 L334.5,259.4 L336.3,260.2 L338.1,261 L339.9,261.7 L341.7,262.3 L343.5,262.9 L345.3,263.3 L347.1,263.7 L348.9,264 L350.7,264.2 L352.5,264.3 L354.3,264.3 L356.1,264.2 L357.9,264.1 L359.7,263.8 L361.5,263.4 L363.3,263 L365.1,262.4 L366.9,261.7 L368.8,260.9 L370.6,260 L372.4,259 L374.2,257.9 L376,256.7 L377.8,255.3 L379.6,253.8 L381.4,252.2 L383.2,250.5 L385,248.6 L386.8,246.7 L388.6,244.5 L390.4,242.3 L392.2,239.9 L394,237.4 L395.8,234.7 L397.6,231.9 L399.4,229 L401.2,225.9 L403,222.7 L404.8,219.3 L406.7,215.7 L408.5,212 L410.3,208.2 L412.1,204.2 L413.9,200 L415.7,195.7 L417.5,191.2 L419.3,186.5 L421.1,181.7 L422.9,176.7 L424.7,171.5 L426.5,166.2 L428.3,160.6 L430.1,154.9 L431.9,149 L433.7,143 L435.5,136.7 L437.3,130.3 L439.1,123.7 L440.9,116.8 L442.8,109.8 L444.6,102.6 L446.4,95.2 L448.2,87.59 L450,79.78 L451.8,71.77 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,63.55 L94.4,77.11 L96.21,90.06 L98.01,102.4 L99.82,114.2 L101.6,125.4 L103.4,136.1 L105.2,146.2 L107,155.8 L108.8,164.8 L110.6,173.4 L112.5,181.5 L114.3,189.1 L116.1,196.3 L117.9,203 L119.7,209.3 L121.5,215.2 L123.3,220.6 L125.1,225.6 L126.9,230.3 L128.7,234.6 L130.5,238.5 L132.3,242.1 L134.1,245.3 L135.9,248.2 L137.7,250.8 L139.5,253.1 L141.3,255.1 L143.1,256.8 L144.9,258.3 L146.7,259.4 L148.6,260.4 L150.4,261 L152.2,261.5 L154,261.7 L155.8,261.7 L157.6,261.5 L159.4,261.1 L161.2,260.5 L163,259.8 L164.8,258.9 L166.6,257.8 L168.4,256.6 L170.2,255.2 L172,253.7 L173.8,252.1 L175.6,250.3 L177.4,248.5 L179.2,246.5 L181,244.5 L182.8,242.4 L184.7,240.2 L186.5,237.9 L188.3,235.6 L190.1,233.2 L191.9,230.7 L193.7,228.2 L195.5,225.7 L197.3,223.1 L199.1,220.6 L200.9,218 L202.7,215.3 L204.5,212.7 L206.3,210.1 L208.1,207.5 L209.9,204.9 L211.7,202.3 L213.5,199.7 L215.3,197.2 L217.1,194.6 L218.9,192.2 L220.7,189.7 L222.6,187.3 L224.4,185 L226.2,182.6 L228,180.4 L229.8,178.2 L231.6,176.1 L233.4,174 L235.2,172 L237,170.1 L238.8,168.2 L240.6,166.5 L242.4,164.8 L244.2,163.2 L246,161.7 L247.8,160.2 L249.6,158.9 L251.4,157.6 L253.2,156.5 L255,155.4 L256.8,154.4 L258.7,153.6 L260.5,152.8 L262.3,152.1 L264.1,151.5 L265.9,151.1 L267.7,150.7 L269.5,150.5 L271.3,150.3 L273.1,150.3 L274.9,150.3 L276.7,150.5 L278.5,150.7 L280.3,151.1 L282.1,151.5 L283.9,152.1 L285.7,152.8 L287.5,153.6 L289.3,154.4 L291.1,155.4 L292.9,156.5 L294.7,157.6 L296.6,158.9 L298.4,160.2 L300.2,161.7 L302,163.2 L303.8,164.8 L305.6,166.5 L307.4,168.2 L309.2,170.1 L311,172 L312.8,174 L314.6,176.1 L316.4,178.2 L318.2,180.4 L320,182.6 L321.8,185 L323.6,187.3 L325.4,189.7 L327.2,192.2 L329,194.6 L330.8,197.2 L332.7,199.7 L334.5,202.3 L336.3,204.9 L338.1,207.5 L339.9,210.1 L341.7,212.7 L343.5,215.3 L345.3,218 L347.1,220.6 L348.9,223.1 L350.7,225.7 L352.5,228.2 L354.3,230.7 L356.1,233.2 L357.9,235.6 L359.7,237.9 L361.5,240.2 L363.3,242.4 L365.1,244.5 L366.9,246.5 L368.8,248.5 L370.6,250.3 L372.4,252.1 L374.2,253.7 L376,255.2 L377.8,256.6 L379.6,257.8 L381.4,258.9 L383.2,259.8 L385,260.5 L386.8,261.1 L388.6,261.5 L390.4,261.7 L392.2,261.7 L394,261.5 L395.8,261 L397.6,260.4 L399.4,259.4 L401.2,258.3 L403,256.8 L404.8,255.1 L406.7,253.1 L408.5,250.8 L410.3,248.2 L412.1,245.3 L413.9,242.1 L415.7,238.5 L417.5,234.6 L419.3,230.3 L421.1,225.6 L422.9,220.6 L424.7,215.2 L426.5,209.3 L428.3,203 L430.1,196.3 L431.9,189.1 L433.7,181.5 L435.5,173.4 L437.3,164.8 L439.1,155.8 L440.9,146.2 L442.8,136.1 L444.6,125.4 L446.4,114.2 L448.2,102.4 L450,90.06 L451.8,77.11 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,341 L94.4,320.9 L96.21,302.2 L98.01,284.9 L99.82,268.8 L101.6,254 L103.4,240.3 L105.2,227.8 L107,216.4 L108.8,206 L110.6,196.6 L112.5,188.1 L114.3,180.5 L116.1,173.8 L117.9,167.8 L119.7,162.6 L121.5,158.2 L123.3,154.4 L125.1,151.3 L126.9,148.8 L128.7,146.9 L130.5,145.4 L132.3,144.5 L134.1,144.1 L135.9,144.1 L137.7,144.5 L139.5,145.3 L141.3,146.4 L143.1,147.9 L144.9,149.6 L146.7,151.6 L148.6,153.9 L150.4,156.3 L152.2,159 L154,161.8 L155.8,164.8 L157.6,167.8 L159.4,171 L161.2,174.3 L163,177.7 L164.8,181.1 L166.6,184.5 L168.4,188 L170.2,191.5 L172,194.9 L173.8,198.4 L175.6,201.8 L177.4,205.1 L179.2,208.4 L181,211.6 L182.8,214.7 L184.7,217.8 L186.5,220.7 L188.3,223.6 L190.1,226.3 L191.9,228.9 L193.7,231.3 L195.5,233.7 L197.3,235.9 L199.1,237.9 L200.9,239.8 L202.7,241.6 L204.5,243.2 L206.3,244.6 L208.1,245.9 L209.9,247 L211.7,248 L213.5,248.8 L215.3,249.4 L217.1,249.9 L218.9,250.2 L220.7,250.3 L222.6,250.3 L224.4,250.2 L226.2,249.9 L228,249.4 L229.8,248.8 L231.6,248 L233.4,247.1 L235.2,246.1 L237,244.9 L238.8,243.6 L240.6,242.2 L242.4,240.7 L244.2,239 L246,237.3 L247.8,235.4 L249.6,233.5 L251.4,231.4 L253.2,229.3 L255,227.1 L256.8,224.8 L258.7,222.5 L260.5,220.1 L262.3,217.6 L264.1,215.1 L265.9,212.6 L267.7,210 L269.5,207.5 L271.3,204.9 L273.1,202.3 L274.9,199.7 L276.7,197.1 L278.5,194.5 L280.3,191.9 L282.1,189.4 L283.9,186.9 L285.7,184.5 L287.5,182.1 L289.3,179.7 L291.1,177.5 L292.9,175.3 L294.7,173.1 L296.6,171.1 L298.4,169.1 L300.2,167.3 L302,165.5 L303.8,163.9 L305.6,162.3 L307.4,160.9 L309.2,159.6 L311,158.4 L312.8,157.4 L314.6,156.5 L316.4,155.8 L318.2,155.1 L320,154.7 L321.8,154.4 L323.6,154.2 L325.4,154.2 L327.2,154.4 L329,154.7 L330.8,155.1 L332.7,155.8 L334.5,156.6 L336.3,157.5 L338.1,158.7 L339.9,159.9 L341.7,161.4 L343.5,163 L345.3,164.7 L347.1,166.6 L348.9,168.7 L350.7,170.9 L352.5,173.2 L354.3,175.7 L356.1,178.3 L357.9,181 L359.7,183.8 L361.5,186.8 L363.3,189.8 L365.1,192.9 L366.9,196.2 L368.8,199.4 L370.6,202.8 L372.4,206.2 L374.2,209.6 L376,213.1 L377.8,216.5 L379.6,220 L381.4,223.4 L383.2,226.9 L385,230.2 L386.8,233.5 L388.6,236.7 L390.4,239.8 L392.2,242.8 L394,245.6 L395.8,248.2 L397.6,250.7 L399.4,252.9 L401.2,254.9 L403,256.7 L404.8,258.1 L406.7,259.3 L408.5,260 L410.3,260.4 L412.1,260.4 L413.9,260 L415.7,259.1 L417.5,257.7 L419.3,255.8 L421.1,253.2 L422.9,250.1 L424.7,246.4 L426.5,241.9 L428.3,236.7 L430.1,230.8 L431.9,224.1 L433.7,216.5 L435.5,208 L437.3,198.6 L439.1,188.2 L440.9,176.7 L442.8,164.2 L444.6,150.6 L446.4,135.7 L448.2,119.7 L450,102.3 L451.8,83.64 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="509.8" y="86" font-size="14" font-family="Verdana">l = 1</text>
+<text x="509.8" y="114" font-size="14" font-family="Verdana">l = 2</text>
+<text x="509.8" y="142" font-size="14" font-family="Verdana">l = 3</text>
+<text x="509.8" y="170" font-size="14" font-family="Verdana">l = 4</text>
+<text x="509.8" y="198" font-size="14" font-family="Verdana">l = 5</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Legendre Polynomials</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/legendre_q.png b/libs/math/doc/graphs/legendre_q.png
index ba0d8e2706..ba0d8e2706 100644
--- a/libs/math/doc/sf_and_dist/graphs/legendre_q.png
+++ b/libs/math/doc/graphs/legendre_q.png
Binary files differ
diff --git a/libs/math/doc/graphs/legendre_q.svg b/libs/math/doc/graphs/legendre_q.svg
new file mode 100644
index 0000000000..5b4f122d9d
--- /dev/null
+++ b/libs/math/doc/graphs/legendre_q.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="366.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="368.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="273.1" y1="58" x2="273.1" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="193" x2="460.8" y2="193"/><line x1="87.6" y1="341" x2="460.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,174.5 L92.6,174.5 M90.6,156 L92.6,156 M90.6,137.5 L92.6,137.5 M90.6,100.5 L92.6,100.5 M90.6,81.97 L92.6,81.97 M90.6,63.47 L92.6,63.47 M90.6,193 L92.6,193 M90.6,211.5 L92.6,211.5 M90.6,230 L92.6,230 M90.6,248.5 L92.6,248.5 M90.6,267 L92.6,267 M90.6,285.5 L92.6,285.5 M90.6,304 L92.6,304 M90.6,322.5 L92.6,322.5 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M296.8,341 L296.8,343 M320.6,341 L320.6,343 M344.3,341 L344.3,343 M391.8,341 L391.8,343 M415.6,341 L415.6,343 M439.3,341 L439.3,343 M249.3,341 L249.3,343 M225.6,341 L225.6,343 M201.8,341 L201.8,343 M154.3,341 L154.3,343 M130.6,341 L130.6,343 M106.8,341 L106.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,193 L92.6,193 M87.6,119 L92.6,119 M87.6,193 L92.6,193 M87.6,267 L92.6,267 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M273.1,341 L273.1,346 M368.1,341 L368.1,346 M273.1,341 L273.1,346 M178.1,341 L178.1,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="368.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="178.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="195.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="195.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="269.4" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">legendre_q(l, x)</text></g>
+<g id="xLabel">
+<text x="276.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,83.42 L94.4,98.44 L96.21,111.4 L98.01,122.9 L99.82,133.2 L101.6,142.6 L103.4,151.1 L105.2,159 L107,166.4 L108.8,173.3 L110.6,179.7 L112.5,185.8 L114.3,191.6 L116.1,197 L117.9,202.2 L119.7,207.2 L121.5,211.9 L123.3,216.4 L125.1,220.8 L126.9,224.9 L128.7,228.9 L130.5,232.8 L132.3,236.5 L134.1,240.1 L135.9,243.6 L137.7,246.9 L139.5,250.1 L141.3,253.3 L143.1,256.3 L144.9,259.2 L146.7,262.1 L148.6,264.8 L150.4,267.5 L152.2,270.1 L154,272.7 L155.8,275.1 L157.6,277.5 L159.4,279.8 L161.2,282.1 L163,284.2 L164.8,286.4 L166.6,288.4 L168.4,290.4 L170.2,292.4 L172,294.3 L173.8,296.2 L175.6,298 L177.4,299.7 L179.2,301.4 L181,303.1 L182.8,304.7 L184.6,306.3 L186.5,307.8 L188.3,309.3 L190.1,310.7 L191.9,312.1 L193.7,313.5 L195.5,314.8 L197.3,316 L199.1,317.3 L200.9,318.5 L202.7,319.7 L204.5,320.8 L206.3,321.9 L208.1,323 L209.9,324 L211.7,325 L213.5,325.9 L215.3,326.9 L217.1,327.8 L218.9,328.6 L220.7,329.5 L222.6,330.3 L224.4,331 L226.2,331.8 L228,332.5 L229.8,333.2 L231.6,333.8 L233.4,334.4 L235.2,335 L237,335.6 L238.8,336.1 L240.6,336.6 L242.4,337.1 L244.2,337.6 L246,338 L247.8,338.4 L249.6,338.7 L251.4,339.1 L253.2,339.4 L255,339.7 L256.8,339.9 L258.7,340.1 L260.5,340.3 L262.3,340.5 L264.1,340.7 L265.9,340.8 L267.7,340.9 L269.5,340.9 L271.3,341 L273.1,341 L274.9,341 L276.7,340.9 L278.5,340.9 L280.3,340.8 L282.1,340.7 L283.9,340.5 L285.7,340.3 L287.5,340.1 L289.3,339.9 L291.1,339.7 L292.9,339.4 L294.7,339.1 L296.6,338.7 L298.4,338.4 L300.2,338 L302,337.6 L303.8,337.1 L305.6,336.6 L307.4,336.1 L309.2,335.6 L311,335 L312.8,334.4 L314.6,333.8 L316.4,333.2 L318.2,332.5 L320,331.8 L321.8,331 L323.6,330.3 L325.4,329.5 L327.2,328.6 L329,327.8 L330.8,326.9 L332.7,325.9 L334.5,325 L336.3,324 L338.1,323 L339.9,321.9 L341.7,320.8 L343.5,319.7 L345.3,318.5 L347.1,317.3 L348.9,316 L350.7,314.8 L352.5,313.5 L354.3,312.1 L356.1,310.7 L357.9,309.3 L359.7,307.8 L361.5,306.3 L363.3,304.7 L365.1,303.1 L366.9,301.4 L368.7,299.7 L370.6,298 L372.4,296.2 L374.2,294.3 L376,292.4 L377.8,290.4 L379.6,288.4 L381.4,286.4 L383.2,284.2 L385,282.1 L386.8,279.8 L388.6,277.5 L390.4,275.1 L392.2,272.7 L394,270.1 L395.8,267.5 L397.6,264.8 L399.4,262.1 L401.2,259.2 L403,256.3 L404.8,253.3 L406.7,250.1 L408.5,246.9 L410.3,243.6 L412.1,240.1 L413.9,236.5 L415.7,232.8 L417.5,228.9 L419.3,224.9 L421.1,220.8 L422.9,216.4 L424.7,211.9 L426.5,207.2 L428.3,202.2 L430.1,197 L431.9,191.6 L433.7,185.8 L435.5,179.7 L437.3,173.3 L439.1,166.4 L440.9,159 L442.8,151.1 L444.6,142.6 L446.4,133.2 L448.2,122.9 L450,111.4 L451.8,98.44 L453.6,83.42 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,213.5 L94.4,197.4 L96.21,183.6 L98.01,171.5 L99.82,160.8 L101.6,151.3 L103.4,142.7 L105.2,135 L107,128 L108.8,121.5 L110.6,115.7 L112.5,110.3 L114.3,105.4 L116.1,100.9 L117.9,96.74 L119.7,92.94 L121.5,89.46 L123.3,86.27 L125.1,83.35 L126.9,80.69 L128.7,78.27 L130.5,76.08 L132.3,74.1 L134.1,72.32 L135.9,70.73 L137.7,69.32 L139.5,68.09 L141.3,67.02 L143.1,66.1 L144.9,65.34 L146.7,64.72 L148.6,64.23 L150.4,63.88 L152.2,63.65 L154,63.55 L155.8,63.56 L157.6,63.68 L159.4,63.91 L161.2,64.25 L163,64.68 L164.8,65.21 L166.6,65.84 L168.4,66.55 L170.2,67.36 L172,68.24 L173.8,69.21 L175.6,70.25 L177.4,71.37 L179.2,72.57 L181,73.83 L182.8,75.17 L184.6,76.57 L186.5,78.03 L188.3,79.56 L190.1,81.15 L191.9,82.79 L193.7,84.49 L195.5,86.25 L197.3,88.06 L199.1,89.92 L200.9,91.83 L202.7,93.79 L204.5,95.79 L206.3,97.84 L208.1,99.93 L209.9,102.1 L211.7,104.2 L213.5,106.4 L215.3,108.7 L217.1,111 L218.9,113.3 L220.7,115.6 L222.6,118 L224.4,120.4 L226.2,122.9 L228,125.4 L229.8,127.9 L231.6,130.4 L233.4,132.9 L235.2,135.5 L237,138.1 L238.8,140.7 L240.6,143.4 L242.4,146 L244.2,148.7 L246,151.4 L247.8,154.1 L249.6,156.8 L251.4,159.5 L253.2,162.3 L255,165 L256.8,167.8 L258.7,170.6 L260.5,173.4 L262.3,176.1 L264.1,178.9 L265.9,181.7 L267.7,184.5 L269.5,187.4 L271.3,190.2 L273.1,193 L274.9,195.8 L276.7,198.6 L278.5,201.4 L280.3,204.2 L282.1,207 L283.9,209.8 L285.7,212.6 L287.5,215.4 L289.3,218.2 L291.1,220.9 L292.9,223.7 L294.7,226.4 L296.6,229.2 L298.4,231.9 L300.2,234.6 L302,237.3 L303.8,240 L305.6,242.6 L307.4,245.2 L309.2,247.9 L311,250.5 L312.8,253 L314.6,255.6 L316.4,258.1 L318.2,260.6 L320,263.1 L321.8,265.5 L323.6,267.9 L325.4,270.3 L327.2,272.7 L329,275 L330.8,277.3 L332.7,279.5 L334.5,281.7 L336.3,283.9 L338.1,286 L339.9,288.1 L341.7,290.2 L343.5,292.2 L345.3,294.1 L347.1,296 L348.9,297.9 L350.7,299.7 L352.5,301.5 L354.3,303.2 L356.1,304.8 L357.9,306.4 L359.7,307.9 L361.5,309.4 L363.3,310.8 L365.1,312.1 L366.9,313.4 L368.7,314.6 L370.6,315.7 L372.4,316.8 L374.2,317.7 L376,318.6 L377.8,319.4 L379.6,320.1 L381.4,320.7 L383.2,321.3 L385,321.7 L386.8,322.1 L388.6,322.3 L390.4,322.4 L392.2,322.4 L394,322.3 L395.8,322.1 L397.6,321.7 L399.4,321.2 L401.2,320.6 L403,319.9 L404.8,318.9 L406.7,317.9 L408.5,316.6 L410.3,315.2 L412.1,313.6 L413.9,311.9 L415.7,309.9 L417.5,307.7 L419.3,305.3 L421.1,302.6 L422.9,299.7 L424.7,296.5 L426.5,293 L428.3,289.2 L430.1,285.1 L431.9,280.6 L433.7,275.7 L435.5,270.3 L437.3,264.4 L439.1,258 L440.9,251 L442.8,243.2 L444.6,234.7 L446.4,225.1 L448.2,214.5 L450,202.4 L451.8,188.6 L453.6,172.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,233.5 L94.4,249.1 L96.21,261.9 L98.01,272.7 L99.82,281.7 L101.6,289.3 L103.4,295.7 L105.2,301 L107,305.4 L108.8,309.1 L110.6,312 L112.5,314.3 L114.3,316 L116.1,317.2 L117.9,317.9 L119.7,318.2 L121.5,318.1 L123.3,317.6 L125.1,316.8 L126.9,315.7 L128.7,314.3 L130.5,312.7 L132.3,310.8 L134.1,308.7 L135.9,306.4 L137.7,303.9 L139.5,301.2 L141.3,298.4 L143.1,295.4 L144.9,292.3 L146.7,289.1 L148.6,285.7 L150.4,282.3 L152.2,278.7 L154,275.1 L155.8,271.4 L157.6,267.7 L159.4,263.8 L161.2,260 L163,256.1 L164.8,252.1 L166.6,248.1 L168.4,244.1 L170.2,240.1 L172,236 L173.8,232 L175.6,227.9 L177.4,223.9 L179.2,219.8 L181,215.8 L182.8,211.8 L184.6,207.8 L186.5,203.8 L188.3,199.9 L190.1,196 L191.9,192.1 L193.7,188.2 L195.5,184.5 L197.3,180.7 L199.1,177 L200.9,173.4 L202.7,169.8 L204.5,166.2 L206.3,162.8 L208.1,159.4 L209.9,156 L211.7,152.8 L213.5,149.6 L215.3,146.4 L217.1,143.4 L218.9,140.4 L220.7,137.5 L222.6,134.7 L224.4,132 L226.2,129.3 L228,126.7 L229.8,124.3 L231.6,121.9 L233.4,119.6 L235.2,117.4 L237,115.3 L238.8,113.3 L240.6,111.4 L242.4,109.5 L244.2,107.8 L246,106.2 L247.8,104.7 L249.6,103.3 L251.4,101.9 L253.2,100.7 L255,99.62 L256.8,98.62 L258.7,97.71 L260.5,96.92 L262.3,96.22 L264.1,95.64 L265.9,95.16 L267.7,94.78 L269.5,94.52 L271.3,94.36 L273.1,94.3 L274.9,94.36 L276.7,94.52 L278.5,94.78 L280.3,95.16 L282.1,95.64 L283.9,96.22 L285.7,96.92 L287.5,97.71 L289.3,98.62 L291.1,99.62 L292.9,100.7 L294.7,101.9 L296.6,103.3 L298.4,104.7 L300.2,106.2 L302,107.8 L303.8,109.5 L305.6,111.4 L307.4,113.3 L309.2,115.3 L311,117.4 L312.8,119.6 L314.6,121.9 L316.4,124.3 L318.2,126.7 L320,129.3 L321.8,132 L323.6,134.7 L325.4,137.5 L327.2,140.4 L329,143.4 L330.8,146.4 L332.7,149.6 L334.5,152.8 L336.3,156 L338.1,159.4 L339.9,162.8 L341.7,166.2 L343.5,169.8 L345.3,173.4 L347.1,177 L348.9,180.7 L350.7,184.5 L352.5,188.2 L354.3,192.1 L356.1,196 L357.9,199.9 L359.7,203.8 L361.5,207.8 L363.3,211.8 L365.1,215.8 L366.9,219.8 L368.7,223.9 L370.6,227.9 L372.4,232 L374.2,236 L376,240.1 L377.8,244.1 L379.6,248.1 L381.4,252.1 L383.2,256.1 L385,260 L386.8,263.8 L388.6,267.7 L390.4,271.4 L392.2,275.1 L394,278.7 L395.8,282.3 L397.6,285.7 L399.4,289.1 L401.2,292.3 L403,295.4 L404.8,298.4 L406.7,301.2 L408.5,303.9 L410.3,306.4 L412.1,308.7 L413.9,310.8 L415.7,312.7 L417.5,314.3 L419.3,315.7 L421.1,316.8 L422.9,317.6 L424.7,318.1 L426.5,318.2 L428.3,317.9 L430.1,317.2 L431.9,316 L433.7,314.3 L435.5,312 L437.3,309.1 L439.1,305.4 L440.9,301 L442.8,295.7 L444.6,289.3 L446.4,281.7 L448.2,272.7 L450,261.9 L451.8,249.1 L453.6,233.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,110.2 L94.4,97.34 L96.21,87.68 L98.01,80.56 L99.82,75.5 L101.6,72.14 L103.4,70.19 L105.2,69.46 L107,69.76 L108.8,70.94 L110.6,72.9 L112.5,75.53 L114.3,78.73 L116.1,82.44 L117.9,86.58 L119.7,91.1 L121.5,95.94 L123.3,101.1 L125.1,106.4 L126.9,111.9 L128.7,117.6 L130.5,123.5 L132.3,129.4 L134.1,135.4 L135.9,141.4 L137.7,147.4 L139.5,153.5 L141.3,159.5 L143.1,165.5 L144.9,171.5 L146.7,177.4 L148.6,183.1 L150.4,188.9 L152.2,194.4 L154,199.9 L155.8,205.3 L157.6,210.5 L159.4,215.6 L161.2,220.5 L163,225.2 L164.8,229.8 L166.6,234.3 L168.4,238.5 L170.2,242.6 L172,246.5 L173.8,250.2 L175.6,253.7 L177.4,257 L179.2,260.1 L181,263 L182.8,265.7 L184.6,268.2 L186.5,270.5 L188.3,272.7 L190.1,274.6 L191.9,276.3 L193.7,277.8 L195.5,279.1 L197.3,280.2 L199.1,281.2 L200.9,281.9 L202.7,282.4 L204.5,282.8 L206.3,282.9 L208.1,282.9 L209.9,282.7 L211.7,282.3 L213.5,281.7 L215.3,281 L217.1,280.1 L218.9,279 L220.7,277.7 L222.6,276.3 L224.4,274.8 L226.2,273.1 L228,271.2 L229.8,269.2 L231.6,267.1 L233.4,264.9 L235.2,262.5 L237,260 L238.8,257.4 L240.6,254.6 L242.4,251.8 L244.2,248.9 L246,245.8 L247.8,242.7 L249.6,239.5 L251.4,236.2 L253.2,232.9 L255,229.5 L256.8,226 L258.7,222.5 L260.5,218.9 L262.3,215.3 L264.1,211.6 L265.9,207.9 L267.7,204.2 L269.5,200.5 L271.3,196.7 L273.1,193 L274.9,189.2 L276.7,185.5 L278.5,181.8 L280.3,178 L282.1,174.4 L283.9,170.7 L285.7,167.1 L287.5,163.5 L289.3,160 L291.1,156.5 L292.9,153.1 L294.7,149.7 L296.6,146.5 L298.4,143.3 L300.2,140.1 L302,137.1 L303.8,134.2 L305.6,131.3 L307.4,128.6 L309.2,126 L311,123.5 L312.8,121.1 L314.6,118.9 L316.4,116.7 L318.2,114.7 L320,112.9 L321.8,111.2 L323.6,109.6 L325.4,108.2 L327.2,107 L329,105.9 L330.8,105 L332.7,104.3 L334.5,103.7 L336.3,103.3 L338.1,103.1 L339.9,103 L341.7,103.2 L343.5,103.5 L345.3,104.1 L347.1,104.8 L348.9,105.7 L350.7,106.8 L352.5,108.2 L354.3,109.7 L356.1,111.4 L357.9,113.3 L359.7,115.4 L361.5,117.7 L363.3,120.2 L365.1,123 L366.9,125.9 L368.7,129 L370.6,132.3 L372.4,135.8 L374.2,139.5 L376,143.4 L377.8,147.5 L379.6,151.7 L381.4,156.1 L383.2,160.7 L385,165.5 L386.8,170.4 L388.6,175.5 L390.4,180.7 L392.2,186 L394,191.5 L395.8,197.1 L397.6,202.8 L399.4,208.6 L401.2,214.5 L403,220.4 L404.8,226.4 L406.7,232.5 L408.5,238.5 L410.3,244.6 L412.1,250.6 L413.9,256.6 L415.7,262.5 L417.5,268.3 L419.3,274 L421.1,279.6 L422.9,284.9 L424.7,290 L426.5,294.9 L428.3,299.4 L430.1,303.5 L431.9,307.2 L433.7,310.4 L435.5,313.1 L437.3,315 L439.1,316.2 L440.9,316.5 L442.8,315.8 L444.6,313.8 L446.4,310.5 L448.2,305.4 L450,298.3 L451.8,288.6 L453.6,275.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,302.1 L94.4,310 L96.21,314.3 L98.01,315.7 L99.82,314.9 L101.6,312.3 L103.4,308.2 L105.2,303 L107,296.9 L108.8,290 L110.6,282.6 L112.5,274.7 L114.3,266.5 L116.1,258.1 L117.9,249.5 L119.7,240.9 L121.5,232.3 L123.3,223.8 L125.1,215.3 L126.9,207.1 L128.7,199 L130.5,191.1 L132.3,183.6 L134.1,176.3 L135.9,169.3 L137.7,162.7 L139.5,156.4 L141.3,150.4 L143.1,144.8 L144.9,139.6 L146.7,134.8 L148.6,130.4 L150.4,126.3 L152.2,122.7 L154,119.4 L155.8,116.6 L157.6,114.1 L159.4,112 L161.2,110.2 L163,108.9 L164.8,107.9 L166.6,107.2 L168.4,106.9 L170.2,107 L172,107.3 L173.8,108 L175.6,109 L177.4,110.3 L179.2,111.8 L181,113.7 L182.8,115.8 L184.6,118.1 L186.5,120.6 L188.3,123.4 L190.1,126.4 L191.9,129.6 L193.7,132.9 L195.5,136.5 L197.3,140.1 L199.1,143.9 L200.9,147.9 L202.7,151.9 L204.5,156 L206.3,160.2 L208.1,164.5 L209.9,168.9 L211.7,173.2 L213.5,177.7 L215.3,182.1 L217.1,186.5 L218.9,190.9 L220.7,195.3 L222.6,199.7 L224.4,204 L226.2,208.3 L228,212.5 L229.8,216.7 L231.6,220.7 L233.4,224.7 L235.2,228.5 L237,232.2 L238.8,235.8 L240.6,239.3 L242.4,242.6 L244.2,245.8 L246,248.8 L247.8,251.7 L249.6,254.4 L251.4,256.9 L253.2,259.3 L255,261.4 L256.8,263.4 L258.7,265.2 L260.5,266.7 L262.3,268.1 L264.1,269.3 L265.9,270.2 L267.7,271 L269.5,271.5 L271.3,271.8 L273.1,271.9 L274.9,271.8 L276.7,271.5 L278.5,271 L280.3,270.2 L282.1,269.3 L283.9,268.1 L285.7,266.7 L287.5,265.2 L289.3,263.4 L291.1,261.4 L292.9,259.3 L294.7,256.9 L296.6,254.4 L298.4,251.7 L300.2,248.8 L302,245.8 L303.8,242.6 L305.6,239.3 L307.4,235.8 L309.2,232.2 L311,228.5 L312.8,224.7 L314.6,220.7 L316.4,216.7 L318.2,212.5 L320,208.3 L321.8,204 L323.6,199.7 L325.4,195.3 L327.2,190.9 L329,186.5 L330.8,182.1 L332.7,177.7 L334.5,173.2 L336.3,168.9 L338.1,164.5 L339.9,160.2 L341.7,156 L343.5,151.9 L345.3,147.9 L347.1,143.9 L348.9,140.1 L350.7,136.5 L352.5,132.9 L354.3,129.6 L356.1,126.4 L357.9,123.4 L359.7,120.6 L361.5,118.1 L363.3,115.8 L365.1,113.7 L366.9,111.8 L368.7,110.3 L370.6,109 L372.4,108 L374.2,107.3 L376,107 L377.8,106.9 L379.6,107.2 L381.4,107.9 L383.2,108.9 L385,110.2 L386.8,112 L388.6,114.1 L390.4,116.6 L392.2,119.4 L394,122.7 L395.8,126.3 L397.6,130.4 L399.4,134.8 L401.2,139.6 L403,144.8 L404.8,150.4 L406.7,156.4 L408.5,162.7 L410.3,169.3 L412.1,176.3 L413.9,183.6 L415.7,191.1 L417.5,199 L419.3,207.1 L421.1,215.3 L422.9,223.8 L424.7,232.3 L426.5,240.9 L428.3,249.5 L430.1,258.1 L431.9,266.5 L433.7,274.7 L435.5,282.6 L437.3,290 L439.1,296.9 L440.9,303 L442.8,308.2 L444.6,312.3 L446.4,314.9 L448.2,315.7 L450,314.3 L451.8,310 L453.6,302.1 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="509.8" y="86" font-size="14" font-family="Verdana">l = 1</text>
+<text x="509.8" y="114" font-size="14" font-family="Verdana">l = 2</text>
+<text x="509.8" y="142" font-size="14" font-family="Verdana">l = 3</text>
+<text x="509.8" y="170" font-size="14" font-family="Verdana">l = 4</text>
+<text x="509.8" y="198" font-size="14" font-family="Verdana">l = 5</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Legendre Polynomials of the Second Kind</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/lgamma.png b/libs/math/doc/graphs/lgamma.png
index d0ed45ee5e..d0ed45ee5e 100644
--- a/libs/math/doc/sf_and_dist/graphs/lgamma.png
+++ b/libs/math/doc/graphs/lgamma.png
Binary files differ
diff --git a/libs/math/doc/graphs/lgamma.svg b/libs/math/doc/graphs/lgamma.svg
new file mode 100644
index 0000000000..6ee0710eb7
--- /dev/null
+++ b/libs/math/doc/graphs/lgamma.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="238.6" y1="58" x2="238.6" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="289.2" x2="574" y2="289.2"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,267.1 L75.8,267.1 M73.8,245.1 L75.8,245.1 M73.8,223.1 L75.8,223.1 M73.8,179 L75.8,179 M73.8,157 L75.8,157 M73.8,135 L75.8,135 M73.8,90.9 L75.8,90.9 M73.8,68.87 L75.8,68.87 M73.8,289.2 L75.8,289.2 M73.8,311.2 L75.8,311.2 M73.8,333.2 L75.8,333.2 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M279.3,341 L279.3,343 M320,341 L320,343 M360.7,341 L360.7,343 M442.1,341 L442.1,343 M482.8,341 L482.8,343 M523.5,341 L523.5,343 M197.9,341 L197.9,343 M157.2,341 L157.2,343 M116.5,341 L116.5,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,289.2 L75.8,289.2 M70.8,201 L75.8,201 M70.8,112.9 L75.8,112.9 M70.8,289.2 L75.8,289.2 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M238.6,341 L238.6,346 M401.4,341 L401.4,346 M564.2,341 L564.2,346 M238.6,341 L238.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="238.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="401.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="238.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="291.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="203.4" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="115.3" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="291.6" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">lgamma(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M238.6,63.55 L240.2,236.8 L241.9,249.5 L243.5,256.9 L245.1,262.3 L246.8,266.5 L248.4,269.8 L250,272.7 L251.6,275.1 L253.3,277.2 L254.9,279.1 L256.5,280.7 L258.1,282.1 L259.8,283.4 L261.4,284.6 L263,285.6 L264.7,286.5 L266.3,287.3 L267.9,288 L269.5,288.6 L271.2,289.2 L272.8,289.6 L274.4,290 L276.1,290.4 L277.7,290.7 L279.3,290.9 L280.9,291.1 L282.6,291.2 L284.2,291.3 L285.8,291.3 L287.5,291.3 L289.1,291.2 L290.7,291.1 L292.3,291 L294,290.8 L295.6,290.6 L297.2,290.4 L298.9,290.1 L300.5,289.8 L302.1,289.5 L303.7,289.2 L305.4,288.8 L307,288.4 L308.6,287.9 L310.2,287.5 L311.9,287 L313.5,286.4 L315.1,285.9 L316.8,285.3 L318.4,284.8 L320,284.1 L321.6,283.5 L323.3,282.9 L324.9,282.2 L326.5,281.5 L328.2,280.8 L329.8,280.1 L331.4,279.3 L333,278.5 L334.7,277.7 L336.3,276.9 L337.9,276.1 L339.6,275.3 L341.2,274.4 L342.8,273.6 L344.4,272.7 L346.1,271.8 L347.7,270.8 L349.3,269.9 L350.9,269 L352.6,268 L354.2,267 L355.8,266 L357.5,265 L359.1,264 L360.7,263 L362.3,261.9 L364,260.8 L365.6,259.8 L367.2,258.7 L368.9,257.6 L370.5,256.5 L372.1,255.3 L373.7,254.2 L375.4,253.1 L377,251.9 L378.6,250.7 L380.3,249.5 L381.9,248.3 L383.5,247.1 L385.1,245.9 L386.8,244.7 L388.4,243.4 L390,242.2 L391.7,240.9 L393.3,239.7 L394.9,238.4 L396.5,237.1 L398.2,235.8 L399.8,234.5 L401.4,233.2 L403,231.8 L404.7,230.5 L406.3,229.1 L407.9,227.8 L409.6,226.4 L411.2,225 L412.8,223.6 L414.4,222.2 L416.1,220.8 L417.7,219.4 L419.3,218 L421,216.6 L422.6,215.1 L424.2,213.7 L425.8,212.2 L427.5,210.7 L429.1,209.3 L430.7,207.8 L432.4,206.3 L434,204.8 L435.6,203.3 L437.2,201.8 L438.9,200.2 L440.5,198.7 L442.1,197.2 L443.8,195.6 L445.4,194.1 L447,192.5 L448.6,190.9 L450.3,189.4 L451.9,187.8 L453.5,186.2 L455.1,184.6 L456.8,183 L458.4,181.4 L460,179.8 L461.7,178.1 L463.3,176.5 L464.9,174.9 L466.5,173.2 L468.2,171.6 L469.8,169.9 L471.4,168.2 L473.1,166.6 L474.7,164.9 L476.3,163.2 L477.9,161.5 L479.6,159.8 L481.2,158.1 L482.8,156.4 L484.5,154.7 L486.1,152.9 L487.7,151.2 L489.3,149.5 L491,147.7 L492.6,146 L494.2,144.2 L495.9,142.5 L497.5,140.7 L499.1,138.9 L500.7,137.1 L502.4,135.4 L504,133.6 L505.6,131.8 L507.2,130 L508.9,128.2 L510.5,126.3 L512.1,124.5 L513.8,122.7 L515.4,120.9 L517,119 L518.6,117.2 L520.3,115.3 L521.9,113.5 L523.5,111.6 L525.2,109.8 L526.8,107.9 L528.4,106 L530,104.2 L531.7,102.3 L533.3,100.4 L534.9,98.49 L536.6,96.59 L538.2,94.69 L539.8,92.78 L541.4,90.86 L543.1,88.94 L544.7,87.02 L546.3,85.09 L548,83.15 L549.6,81.22 L551.2,79.27 L552.8,77.32 L554.5,75.37 L556.1,73.41 L557.7,71.45 L559.3,69.48 L561,67.51 L562.6,65.53 L564.2,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M206,63.55 L206.2,195.8 L206.4,207.9 L206.5,215 L206.7,220.1 L206.9,224 L207,227.1 L207.2,229.8 L207.4,232.1 L207.5,234.1 L207.7,235.9 L207.8,237.6 L208,239 L208.2,240.4 L208.3,241.7 L208.5,242.8 L208.7,243.9 L208.8,244.9 L209,245.9 L209.1,246.8 L209.3,247.6 L209.5,248.4 L209.6,249.2 L209.8,249.9 L210,250.6 L210.1,251.2 L210.3,251.8 L210.4,252.4 L210.6,253 L210.8,253.6 L210.9,254.1 L211.1,254.6 L211.3,255.1 L211.4,255.5 L211.6,256 L211.7,256.4 L211.9,256.8 L212.1,257.2 L212.2,257.6 L212.4,258 L212.6,258.4 L212.7,258.7 L212.9,259.1 L213,259.4 L213.2,259.7 L213.4,260 L213.5,260.3 L213.7,260.6 L213.9,260.9 L214,261.1 L214.2,261.4 L214.4,261.6 L214.5,261.9 L214.7,262.1 L214.8,262.3 L215,262.6 L215.2,262.8 L215.3,263 L215.5,263.2 L215.7,263.4 L215.8,263.6 L216,263.7 L216.1,263.9 L216.3,264.1 L216.5,264.2 L216.6,264.4 L216.8,264.6 L217,264.7 L217.1,264.8 L217.3,265 L217.4,265.1 L217.6,265.2 L217.8,265.3 L217.9,265.5 L218.1,265.6 L218.3,265.7 L218.4,265.8 L218.6,265.9 L218.7,266 L218.9,266 L219.1,266.1 L219.2,266.2 L219.4,266.3 L219.6,266.3 L219.7,266.4 L219.9,266.5 L220.1,266.5 L220.2,266.6 L220.4,266.6 L220.5,266.7 L220.7,266.7 L220.9,266.7 L221,266.8 L221.2,266.8 L221.4,266.8 L221.5,266.8 L221.7,266.8 L221.8,266.8 L222,266.9 L222.2,266.9 L222.3,266.9 L222.5,266.9 L222.7,266.8 L222.8,266.8 L223,266.8 L223.1,266.8 L223.3,266.8 L223.5,266.7 L223.6,266.7 L223.8,266.7 L224,266.6 L224.1,266.6 L224.3,266.5 L224.4,266.5 L224.6,266.4 L224.8,266.4 L224.9,266.3 L225.1,266.2 L225.3,266.2 L225.4,266.1 L225.6,266 L225.7,265.9 L225.9,265.8 L226.1,265.7 L226.2,265.6 L226.4,265.5 L226.6,265.4 L226.7,265.3 L226.9,265.2 L227.1,265 L227.2,264.9 L227.4,264.8 L227.5,264.6 L227.7,264.5 L227.9,264.4 L228,264.2 L228.2,264 L228.4,263.9 L228.5,263.7 L228.7,263.5 L228.8,263.3 L229,263.2 L229.2,263 L229.3,262.8 L229.5,262.5 L229.7,262.3 L229.8,262.1 L230,261.9 L230.1,261.6 L230.3,261.4 L230.5,261.1 L230.6,260.9 L230.8,260.6 L231,260.3 L231.1,260.1 L231.3,259.8 L231.4,259.4 L231.6,259.1 L231.8,258.8 L231.9,258.5 L232.1,258.1 L232.3,257.8 L232.4,257.4 L232.6,257 L232.7,256.6 L232.9,256.2 L233.1,255.7 L233.2,255.3 L233.4,254.8 L233.6,254.3 L233.7,253.8 L233.9,253.3 L234.1,252.8 L234.2,252.2 L234.4,251.6 L234.5,251 L234.7,250.4 L234.9,249.7 L235,249 L235.2,248.2 L235.4,247.4 L235.5,246.6 L235.7,245.7 L235.8,244.7 L236,243.7 L236.2,242.7 L236.3,241.5 L236.5,240.3 L236.7,238.9 L236.8,237.4 L237,235.8 L237.1,234 L237.3,232 L237.5,229.7 L237.6,227 L237.8,223.9 L238,220 L238.1,215 L238.3,207.9 L238.4,195.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M173.5,63.55 L173.6,207.9 L173.8,220.1 L174,227.1 L174.1,232.1 L174.3,235.9 L174.5,239.1 L174.6,241.7 L174.8,244 L175,245.9 L175.1,247.7 L175.3,249.3 L175.4,250.7 L175.6,252 L175.8,253.2 L175.9,254.4 L176.1,255.4 L176.3,256.4 L176.4,257.3 L176.6,258.1 L176.7,258.9 L176.9,259.7 L177.1,260.4 L177.2,261.1 L177.4,261.7 L177.6,262.3 L177.7,262.9 L177.9,263.4 L178,263.9 L178.2,264.4 L178.4,264.9 L178.5,265.4 L178.7,265.8 L178.9,266.2 L179,266.6 L179.2,267 L179.3,267.4 L179.5,267.7 L179.7,268.1 L179.8,268.4 L180,268.7 L180.2,269 L180.3,269.3 L180.5,269.6 L180.6,269.9 L180.8,270.1 L181,270.4 L181.1,270.6 L181.3,270.8 L181.5,271 L181.6,271.3 L181.8,271.5 L182,271.6 L182.1,271.8 L182.3,272 L182.4,272.2 L182.6,272.3 L182.8,272.5 L182.9,272.6 L183.1,272.8 L183.3,272.9 L183.4,273 L183.6,273.2 L183.7,273.3 L183.9,273.4 L184.1,273.5 L184.2,273.6 L184.4,273.7 L184.6,273.8 L184.7,273.8 L184.9,273.9 L185,274 L185.2,274.1 L185.4,274.1 L185.5,274.2 L185.7,274.2 L185.9,274.3 L186,274.3 L186.2,274.3 L186.3,274.4 L186.5,274.4 L186.7,274.4 L186.8,274.4 L187,274.5 L187.2,274.5 L187.3,274.5 L187.5,274.5 L187.7,274.5 L187.8,274.4 L188,274.4 L188.1,274.4 L188.3,274.4 L188.5,274.4 L188.6,274.3 L188.8,274.3 L189,274.3 L189.1,274.2 L189.3,274.2 L189.4,274.1 L189.6,274.1 L189.8,274 L189.9,273.9 L190.1,273.9 L190.3,273.8 L190.4,273.7 L190.6,273.6 L190.7,273.6 L190.9,273.5 L191.1,273.4 L191.2,273.3 L191.4,273.2 L191.6,273.1 L191.7,273 L191.9,272.8 L192,272.7 L192.2,272.6 L192.4,272.5 L192.5,272.3 L192.7,272.2 L192.9,272.1 L193,271.9 L193.2,271.8 L193.3,271.6 L193.5,271.5 L193.7,271.3 L193.8,271.1 L194,271 L194.2,270.8 L194.3,270.6 L194.5,270.4 L194.7,270.2 L194.8,270 L195,269.8 L195.1,269.6 L195.3,269.4 L195.5,269.2 L195.6,268.9 L195.8,268.7 L196,268.5 L196.1,268.2 L196.3,268 L196.4,267.7 L196.6,267.4 L196.8,267.2 L196.9,266.9 L197.1,266.6 L197.3,266.3 L197.4,266 L197.6,265.7 L197.7,265.4 L197.9,265.1 L198.1,264.7 L198.2,264.4 L198.4,264.1 L198.6,263.7 L198.7,263.3 L198.9,263 L199,262.6 L199.2,262.2 L199.4,261.8 L199.5,261.3 L199.7,260.9 L199.9,260.4 L200,260 L200.2,259.5 L200.3,259 L200.5,258.5 L200.7,258 L200.8,257.4 L201,256.9 L201.2,256.3 L201.3,255.7 L201.5,255.1 L201.7,254.4 L201.8,253.8 L202,253.1 L202.1,252.3 L202.3,251.6 L202.5,250.8 L202.6,250 L202.8,249.1 L203,248.2 L203.1,247.2 L203.3,246.2 L203.4,245.1 L203.6,243.9 L203.8,242.7 L203.9,241.4 L204.1,239.9 L204.3,238.4 L204.4,236.7 L204.6,234.8 L204.7,232.7 L204.9,230.3 L205.1,227.6 L205.2,224.3 L205.4,220.4 L205.6,215.3 L205.7,208.1 L205.9,195.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M140.9,63.55 L141.1,227.3 L141.2,239.4 L141.4,246.4 L141.6,251.3 L141.7,255.2 L141.9,258.3 L142.1,260.8 L142.2,263.1 L142.4,265 L142.6,266.8 L142.7,268.3 L142.9,269.7 L143,271 L143.2,272.2 L143.4,273.3 L143.5,274.3 L143.7,275.2 L143.9,276.1 L144,276.9 L144.2,277.7 L144.3,278.4 L144.5,279.1 L144.7,279.7 L144.8,280.3 L145,280.9 L145.2,281.5 L145.3,282 L145.5,282.5 L145.6,282.9 L145.8,283.4 L146,283.8 L146.1,284.2 L146.3,284.6 L146.5,285 L146.6,285.3 L146.8,285.7 L146.9,286 L147.1,286.3 L147.3,286.6 L147.4,286.9 L147.6,287.1 L147.8,287.4 L147.9,287.6 L148.1,287.9 L148.3,288.1 L148.4,288.3 L148.6,288.5 L148.7,288.7 L148.9,288.9 L149.1,289.1 L149.2,289.2 L149.4,289.4 L149.6,289.6 L149.7,289.7 L149.9,289.8 L150,290 L150.2,290.1 L150.4,290.2 L150.5,290.3 L150.7,290.4 L150.9,290.5 L151,290.6 L151.2,290.7 L151.3,290.8 L151.5,290.8 L151.7,290.9 L151.8,291 L152,291 L152.2,291.1 L152.3,291.1 L152.5,291.1 L152.6,291.2 L152.8,291.2 L153,291.2 L153.1,291.2 L153.3,291.2 L153.5,291.2 L153.6,291.2 L153.8,291.2 L153.9,291.2 L154.1,291.2 L154.3,291.2 L154.4,291.2 L154.6,291.2 L154.8,291.1 L154.9,291.1 L155.1,291.1 L155.3,291 L155.4,291 L155.6,290.9 L155.7,290.9 L155.9,290.8 L156.1,290.7 L156.2,290.7 L156.4,290.6 L156.6,290.5 L156.7,290.4 L156.9,290.3 L157,290.2 L157.2,290.2 L157.4,290.1 L157.5,289.9 L157.7,289.8 L157.9,289.7 L158,289.6 L158.2,289.5 L158.3,289.4 L158.5,289.2 L158.7,289.1 L158.8,289 L159,288.8 L159.2,288.7 L159.3,288.5 L159.5,288.4 L159.6,288.2 L159.8,288.1 L160,287.9 L160.1,287.7 L160.3,287.5 L160.5,287.4 L160.6,287.2 L160.8,287 L160.9,286.8 L161.1,286.6 L161.3,286.4 L161.4,286.2 L161.6,285.9 L161.8,285.7 L161.9,285.5 L162.1,285.3 L162.3,285 L162.4,284.8 L162.6,284.5 L162.7,284.3 L162.9,284 L163.1,283.8 L163.2,283.5 L163.4,283.2 L163.6,282.9 L163.7,282.6 L163.9,282.4 L164,282 L164.2,281.7 L164.4,281.4 L164.5,281.1 L164.7,280.8 L164.9,280.4 L165,280.1 L165.2,279.7 L165.3,279.4 L165.5,279 L165.7,278.6 L165.8,278.2 L166,277.8 L166.2,277.4 L166.3,277 L166.5,276.6 L166.6,276.1 L166.8,275.7 L167,275.2 L167.1,274.7 L167.3,274.3 L167.5,273.8 L167.6,273.2 L167.8,272.7 L168,272.2 L168.1,271.6 L168.3,271 L168.4,270.4 L168.6,269.8 L168.8,269.2 L168.9,268.5 L169.1,267.8 L169.3,267.1 L169.4,266.4 L169.6,265.6 L169.7,264.8 L169.9,264 L170.1,263.1 L170.2,262.2 L170.4,261.2 L170.6,260.2 L170.7,259.1 L170.9,258 L171,256.8 L171.2,255.5 L171.4,254.2 L171.5,252.7 L171.7,251.1 L171.9,249.3 L172,247.4 L172.2,245.3 L172.3,242.8 L172.5,240 L172.7,236.8 L172.8,232.7 L173,227.6 L173.2,220.4 L173.3,208.1 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M108.4,63.55 L108.5,251.7 L108.7,263.7 L108.9,270.8 L109,275.7 L109.2,279.5 L109.3,282.5 L109.5,285.1 L109.7,287.3 L109.8,289.3 L110,291 L110.2,292.5 L110.3,293.9 L110.5,295.2 L110.6,296.3 L110.8,297.4 L111,298.4 L111.1,299.3 L111.3,300.1 L111.5,300.9 L111.6,301.7 L111.8,302.4 L111.9,303 L112.1,303.6 L112.3,304.2 L112.4,304.8 L112.6,305.3 L112.8,305.8 L112.9,306.3 L113.1,306.7 L113.2,307.1 L113.4,307.5 L113.6,307.9 L113.7,308.3 L113.9,308.6 L114.1,309 L114.2,309.3 L114.4,309.6 L114.5,309.9 L114.7,310.1 L114.9,310.4 L115,310.6 L115.2,310.9 L115.4,311.1 L115.5,311.3 L115.7,311.5 L115.9,311.7 L116,311.9 L116.2,312.1 L116.3,312.2 L116.5,312.4 L116.7,312.5 L116.8,312.7 L117,312.8 L117.2,312.9 L117.3,313 L117.5,313.1 L117.6,313.2 L117.8,313.3 L118,313.4 L118.1,313.5 L118.3,313.5 L118.5,313.6 L118.6,313.7 L118.8,313.7 L118.9,313.8 L119.1,313.8 L119.3,313.8 L119.4,313.9 L119.6,313.9 L119.8,313.9 L119.9,313.9 L120.1,313.9 L120.2,313.9 L120.4,313.9 L120.6,313.9 L120.7,313.9 L120.9,313.9 L121.1,313.9 L121.2,313.8 L121.4,313.8 L121.5,313.8 L121.7,313.7 L121.9,313.7 L122,313.6 L122.2,313.6 L122.4,313.5 L122.5,313.5 L122.7,313.4 L122.9,313.3 L123,313.2 L123.2,313.2 L123.3,313.1 L123.5,313 L123.7,312.9 L123.8,312.8 L124,312.7 L124.2,312.6 L124.3,312.5 L124.5,312.3 L124.6,312.2 L124.8,312.1 L125,312 L125.1,311.8 L125.3,311.7 L125.5,311.6 L125.6,311.4 L125.8,311.3 L125.9,311.1 L126.1,311 L126.3,310.8 L126.4,310.6 L126.6,310.5 L126.8,310.3 L126.9,310.1 L127.1,309.9 L127.2,309.7 L127.4,309.5 L127.6,309.3 L127.7,309.1 L127.9,308.9 L128.1,308.7 L128.2,308.5 L128.4,308.3 L128.6,308 L128.7,307.8 L128.9,307.6 L129,307.3 L129.2,307.1 L129.4,306.8 L129.5,306.6 L129.7,306.3 L129.9,306 L130,305.8 L130.2,305.5 L130.3,305.2 L130.5,304.9 L130.7,304.6 L130.8,304.3 L131,304 L131.2,303.7 L131.3,303.4 L131.5,303 L131.6,302.7 L131.8,302.4 L132,302 L132.1,301.6 L132.3,301.3 L132.5,300.9 L132.6,300.5 L132.8,300.1 L132.9,299.7 L133.1,299.3 L133.3,298.9 L133.4,298.5 L133.6,298.1 L133.8,297.6 L133.9,297.2 L134.1,296.7 L134.2,296.2 L134.4,295.7 L134.6,295.2 L134.7,294.7 L134.9,294.2 L135.1,293.6 L135.2,293.1 L135.4,292.5 L135.6,291.9 L135.7,291.3 L135.9,290.7 L136,290 L136.2,289.4 L136.4,288.7 L136.5,287.9 L136.7,287.2 L136.9,286.4 L137,285.6 L137.2,284.8 L137.3,283.9 L137.5,283 L137.7,282.1 L137.8,281.1 L138,280.1 L138.2,279 L138.3,277.8 L138.5,276.6 L138.6,275.3 L138.8,273.9 L139,272.4 L139.1,270.8 L139.3,269 L139.5,267 L139.6,264.9 L139.8,262.4 L139.9,259.6 L140.1,256.3 L140.3,252.2 L140.4,247 L140.6,239.8 L140.8,227.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L75.96,280 L76.13,292.1 L76.29,299.1 L76.45,304 L76.61,307.8 L76.78,310.8 L76.94,313.4 L77.1,315.6 L77.27,317.5 L77.43,319.2 L77.59,320.7 L77.75,322 L77.92,323.3 L78.08,324.4 L78.24,325.5 L78.4,326.4 L78.57,327.3 L78.73,328.2 L78.89,328.9 L79.06,329.7 L79.22,330.4 L79.38,331 L79.54,331.6 L79.71,332.2 L79.87,332.7 L80.03,333.2 L80.2,333.7 L80.36,334.1 L80.52,334.6 L80.68,335 L80.85,335.4 L81.01,335.7 L81.17,336.1 L81.34,336.4 L81.5,336.7 L81.66,337 L81.82,337.3 L81.99,337.5 L82.15,337.8 L82.31,338 L82.48,338.3 L82.64,338.5 L82.8,338.7 L82.96,338.9 L83.13,339.1 L83.29,339.2 L83.45,339.4 L83.61,339.6 L83.78,339.7 L83.94,339.8 L84.1,340 L84.27,340.1 L84.43,340.2 L84.59,340.3 L84.75,340.4 L84.92,340.5 L85.08,340.6 L85.24,340.6 L85.41,340.7 L85.57,340.7 L85.73,340.8 L85.89,340.8 L86.06,340.9 L86.22,340.9 L86.38,340.9 L86.55,341 L86.71,341 L86.87,341 L87.03,341 L87.2,341 L87.36,341 L87.52,341 L87.69,341 L87.85,340.9 L88.01,340.9 L88.17,340.9 L88.34,340.8 L88.5,340.8 L88.66,340.8 L88.82,340.7 L88.99,340.7 L89.15,340.6 L89.31,340.5 L89.48,340.5 L89.64,340.4 L89.8,340.3 L89.96,340.2 L90.13,340.1 L90.29,340 L90.45,339.9 L90.62,339.8 L90.78,339.7 L90.94,339.6 L91.1,339.5 L91.27,339.4 L91.43,339.3 L91.59,339.1 L91.76,339 L91.92,338.9 L92.08,338.7 L92.24,338.6 L92.41,338.4 L92.57,338.3 L92.73,338.1 L92.9,338 L93.06,337.8 L93.22,337.6 L93.38,337.5 L93.55,337.3 L93.71,337.1 L93.87,336.9 L94.03,336.7 L94.2,336.5 L94.36,336.3 L94.52,336.1 L94.69,335.9 L94.85,335.7 L95.01,335.5 L95.17,335.3 L95.34,335 L95.5,334.8 L95.66,334.6 L95.83,334.3 L95.99,334.1 L96.15,333.8 L96.31,333.6 L96.48,333.3 L96.64,333 L96.8,332.8 L96.97,332.5 L97.13,332.2 L97.29,331.9 L97.45,331.6 L97.62,331.3 L97.78,331 L97.94,330.7 L98.11,330.4 L98.27,330.1 L98.43,329.7 L98.59,329.4 L98.76,329 L98.92,328.7 L99.08,328.3 L99.24,328 L99.41,327.6 L99.57,327.2 L99.73,326.8 L99.9,326.5 L100.1,326.1 L100.2,325.6 L100.4,325.2 L100.5,324.8 L100.7,324.4 L100.9,323.9 L101,323.5 L101.2,323 L101.4,322.5 L101.5,322 L101.7,321.5 L101.8,321 L102,320.5 L102.2,320 L102.3,319.4 L102.5,318.8 L102.7,318.3 L102.8,317.7 L103,317 L103.2,316.4 L103.3,315.8 L103.5,315.1 L103.6,314.4 L103.8,313.7 L104,313 L104.1,312.2 L104.3,311.4 L104.5,310.6 L104.6,309.7 L104.8,308.9 L104.9,307.9 L105.1,307 L105.3,306 L105.4,304.9 L105.6,303.8 L105.8,302.6 L105.9,301.4 L106.1,300 L106.2,298.6 L106.4,297.1 L106.6,295.4 L106.7,293.6 L106.9,291.7 L107.1,289.5 L107.2,287 L107.4,284.1 L107.5,280.8 L107.7,276.7 L107.9,271.5 L108,264.3 L108.2,251.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">lgamma</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/log1p.png b/libs/math/doc/graphs/log1p.png
index cc3f6f6699..cc3f6f6699 100644
--- a/libs/math/doc/sf_and_dist/graphs/log1p.png
+++ b/libs/math/doc/graphs/log1p.png
Binary files differ
diff --git a/libs/math/doc/graphs/log1p.svg b/libs/math/doc/graphs/log1p.svg
new file mode 100644
index 0000000000..ade246560e
--- /dev/null
+++ b/libs/math/doc/graphs/log1p.svg
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="127.9" y1="58" x2="127.9" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="117.2" x2="574" y2="117.2"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,89.24 L84.2,89.24 M82.2,61.26 L84.2,61.26 M82.2,117.2 L84.2,117.2 M82.2,145.2 L84.2,145.2 M82.2,173.2 L84.2,173.2 M82.2,201.1 L84.2,201.1 M82.2,229.1 L84.2,229.1 M82.2,257.1 L84.2,257.1 M82.2,285.1 L84.2,285.1 M82.2,313 L84.2,313 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M182.4,341 L182.4,343 M237,341 L237,343 M291.6,341 L291.6,343 M400.7,341 L400.7,343 M455.3,341 L455.3,343 M509.8,341 L509.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,117.2 L84.2,117.2 M79.2,117.2 L84.2,117.2 M79.2,229.1 L84.2,229.1 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M127.9,341 L127.9,346 M346.1,341 L346.1,346 M564.4,341 L564.4,346 M127.9,341 L127.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="127.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="346.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="127.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="119.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="119.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="231.5" text-anchor="end" font-size="12" font-family="Verdana">-5</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">log1p(z)</text></g>
+<g id="xLabel">
+<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.6,182.1 L89,166.6 L91.4,157.5 L93.8,151.1 L96.2,146.1 L98.61,142 L101,138.6 L103.4,135.6 L105.8,132.9 L108.2,130.6 L110.6,128.5 L113,126.5 L115.4,124.7 L117.8,123.1 L120.2,121.5 L122.6,120.1 L125,118.7 L127.4,117.4 L129.8,116.2 L132.2,115.1 L134.6,114 L137,112.9 L139.4,111.9 L141.8,111 L144.2,110.1 L146.6,109.2 L149,108.4 L151.4,107.5 L153.8,106.8 L156.2,106 L158.6,105.3 L161,104.6 L163.4,103.9 L165.8,103.2 L168.2,102.6 L170.6,101.9 L173,101.3 L175.4,100.7 L177.8,100.1 L180.2,99.57 L182.6,99.01 L185,98.47 L187.4,97.95 L189.8,97.43 L192.2,96.93 L194.6,96.44 L197,95.96 L199.4,95.49 L201.8,95.02 L204.2,94.57 L206.6,94.13 L209.1,93.69 L211.5,93.27 L213.9,92.85 L216.3,92.44 L218.7,92.04 L221.1,91.64 L223.5,91.25 L225.9,90.87 L228.3,90.49 L230.7,90.12 L233.1,89.76 L235.5,89.4 L237.9,89.05 L240.3,88.7 L242.7,88.36 L245.1,88.02 L247.5,87.69 L249.9,87.36 L252.3,87.04 L254.7,86.73 L257.1,86.41 L259.5,86.1 L261.9,85.8 L264.3,85.5 L266.7,85.2 L269.1,84.91 L271.5,84.62 L273.9,84.34 L276.3,84.05 L278.7,83.78 L281.1,83.5 L283.5,83.23 L285.9,82.96 L288.3,82.7 L290.7,82.44 L293.1,82.18 L295.5,81.92 L297.9,81.67 L300.3,81.42 L302.7,81.17 L305.1,80.93 L307.5,80.68 L309.9,80.45 L312.3,80.21 L314.7,79.97 L317.1,79.74 L319.5,79.51 L321.9,79.29 L324.3,79.06 L326.7,78.84 L329.1,78.62 L331.5,78.4 L333.9,78.18 L336.3,77.97 L338.7,77.76 L341.1,77.55 L343.5,77.34 L345.9,77.13 L348.3,76.93 L350.7,76.73 L353.1,76.52 L355.5,76.33 L357.9,76.13 L360.3,75.93 L362.7,75.74 L365.1,75.55 L367.5,75.36 L369.9,75.17 L372.3,74.98 L374.7,74.79 L377.1,74.61 L379.5,74.43 L381.9,74.25 L384.3,74.07 L386.7,73.89 L389.1,73.71 L391.5,73.54 L393.9,73.36 L396.3,73.19 L398.7,73.02 L401.1,72.85 L403.5,72.68 L405.9,72.51 L408.3,72.34 L410.7,72.18 L413.1,72.02 L415.5,71.85 L417.9,71.69 L420.3,71.53 L422.7,71.37 L425.1,71.21 L427.5,71.06 L429.9,70.9 L432.3,70.75 L434.7,70.59 L437.1,70.44 L439.5,70.29 L441.9,70.14 L444.3,69.99 L446.7,69.84 L449.1,69.69 L451.6,69.54 L454,69.4 L456.4,69.25 L458.8,69.11 L461.2,68.97 L463.6,68.82 L466,68.68 L468.4,68.54 L470.8,68.4 L473.2,68.26 L475.6,68.13 L478,67.99 L480.4,67.85 L482.8,67.72 L485.2,67.58 L487.6,67.45 L490,67.32 L492.4,67.19 L494.8,67.05 L497.2,66.92 L499.6,66.79 L502,66.67 L504.4,66.54 L506.8,66.41 L509.2,66.28 L511.6,66.16 L514,66.03 L516.4,65.91 L518.8,65.78 L521.2,65.66 L523.6,65.54 L526,65.41 L528.4,65.29 L530.8,65.17 L533.2,65.05 L535.6,64.93 L538,64.81 L540.4,64.7 L542.8,64.58 L545.2,64.46 L547.6,64.35 L550,64.23 L552.4,64.12 L554.8,64 L557.2,63.89 L559.6,63.77 L562,63.66 L564.4,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">log1p</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/logistic_pdf.png b/libs/math/doc/graphs/logistic_pdf.png
index 7a1346bd5a..7a1346bd5a 100644
--- a/libs/math/doc/sf_and_dist/graphs/logistic_pdf.png
+++ b/libs/math/doc/graphs/logistic_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/logistic_pdf.svg b/libs/math/doc/graphs/logistic_pdf.svg
new file mode 100644
index 0000000000..9f40980d2e
--- /dev/null
+++ b/libs/math/doc/graphs/logistic_pdf.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="71.2" y="63" width="423.2" height="271.4"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="70.2" y="62" width="425.2" height="273.4"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="282.8" y1="62" x2="282.8" y2="340.4"/><line x1="70.2" y1="62" x2="70.2" y2="335.4"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="65.2" y1="335.4" x2="495.4" y2="335.4"/><line x1="65.2" y1="335.4" x2="495.4" y2="335.4"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.2,325.5 L70.2,325.5 M68.2,315.5 L70.2,315.5 M68.2,305.6 L70.2,305.6 M68.2,295.6 L70.2,295.6 M68.2,275.7 L70.2,275.7 M68.2,265.8 L70.2,265.8 M68.2,255.9 L70.2,255.9 M68.2,245.9 L70.2,245.9 M68.2,226 L70.2,226 M68.2,216.1 L70.2,216.1 M68.2,206.2 L70.2,206.2 M68.2,196.2 L70.2,196.2 M68.2,176.3 L70.2,176.3 M68.2,166.4 L70.2,166.4 M68.2,156.4 L70.2,156.4 M68.2,146.5 L70.2,146.5 M68.2,126.6 L70.2,126.6 M68.2,116.7 L70.2,116.7 M68.2,106.7 L70.2,106.7 M68.2,96.8 L70.2,96.8 M68.2,76.91 L70.2,76.91 M68.2,66.97 L70.2,66.97 M68.2,335.4 L70.2,335.4 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M299,335.4 L299,337.4 M315.3,335.4 L315.3,337.4 M331.6,335.4 L331.6,337.4 M347.8,335.4 L347.8,337.4 M380.4,335.4 L380.4,337.4 M396.6,335.4 L396.6,337.4 M412.9,335.4 L412.9,337.4 M429.2,335.4 L429.2,337.4 M461.7,335.4 L461.7,337.4 M478,335.4 L478,337.4 M494.2,335.4 L494.2,337.4 M266.5,335.4 L266.5,337.4 M250.3,335.4 L250.3,337.4 M234,335.4 L234,337.4 M217.7,335.4 L217.7,337.4 M185.2,335.4 L185.2,337.4 M168.9,335.4 L168.9,337.4 M152.7,335.4 L152.7,337.4 M136.4,335.4 L136.4,337.4 M103.9,335.4 L103.9,337.4 M87.6,335.4 L87.6,337.4 M71.33,335.4 L71.33,337.4 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M65.2,335.4 L70.2,335.4 M65.2,285.7 L70.2,285.7 M65.2,236 L70.2,236 M65.2,186.3 L70.2,186.3 M65.2,136.6 L70.2,136.6 M65.2,86.85 L70.2,86.85 M65.2,335.4 L70.2,335.4 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M282.8,335.4 L282.8,340.4 M364.1,335.4 L364.1,340.4 M445.4,335.4 L445.4,340.4 M282.8,335.4 L282.8,340.4 M201.5,335.4 L201.5,340.4 M120.1,335.4 L120.1,340.4 " fill="none"/></g>
+<g id="plotLabels">
+<text x="282.8" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
+<text x="364.1" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">5</text>
+<text x="445.4" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">10</text>
+<text x="282.8" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
+<text x="201.5" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">-5</text>
+<text x="120.1" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">-10</text>
+<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="59.2" y="288.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="59.2" y="238.4" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="59.2" y="188.7" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="59.2" y="139" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="59.2" y="89.25" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="30.2" y="198.7" text-anchor="middle" transform = "rotate(-90 30.2 198.7 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="282.8" y="388" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M70.2,335.4 L72.33,335.4 L74.45,335.4 L76.58,335.4 L78.7,335.4 L80.83,335.4 L82.95,335.4 L85.08,335.4 L87.21,335.4 L89.33,335.4 L91.46,335.4 L93.58,335.4 L95.71,335.4 L97.84,335.4 L99.96,335.4 L102.1,335.4 L104.2,335.4 L106.3,335.4 L108.5,335.4 L110.6,335.4 L112.7,335.4 L114.8,335.4 L117,335.4 L119.1,335.4 L121.2,335.4 L123.3,335.4 L125.5,335.4 L127.6,335.4 L129.7,335.4 L131.8,335.4 L134,335.3 L136.1,335.3 L138.2,335.3 L140.4,335.3 L142.5,335.3 L144.6,335.3 L146.7,335.3 L148.9,335.3 L151,335.2 L153.1,335.2 L155.2,335.2 L157.4,335.2 L159.5,335.1 L161.6,335.1 L163.7,335.1 L165.9,335 L168,335 L170.1,334.9 L172.2,334.8 L174.4,334.8 L176.5,334.7 L178.6,334.6 L180.7,334.5 L182.9,334.3 L185,334.2 L187.1,334 L189.2,333.8 L191.4,333.6 L193.5,333.4 L195.6,333.1 L197.7,332.8 L199.9,332.4 L202,332 L204.1,331.5 L206.3,331 L208.4,330.4 L210.5,329.7 L212.6,328.9 L214.8,328 L216.9,327 L219,325.9 L221.1,324.7 L223.3,323.2 L225.4,321.6 L227.5,319.8 L229.6,317.8 L231.8,315.6 L233.9,313.1 L236,310.3 L238.1,307.2 L240.3,303.8 L242.4,300.1 L244.5,296 L246.6,291.5 L248.8,286.8 L250.9,281.6 L253,276.2 L255.1,270.4 L257.3,264.5 L259.4,258.3 L261.5,252.1 L263.6,245.8 L265.8,239.7 L267.9,233.9 L270,228.4 L272.2,223.5 L274.3,219.2 L276.4,215.8 L278.5,213.2 L280.7,211.7 L282.8,211.1 L284.9,211.7 L287,213.2 L289.2,215.8 L291.3,219.2 L293.4,223.5 L295.5,228.4 L297.7,233.9 L299.8,239.7 L301.9,245.8 L304,252.1 L306.2,258.3 L308.3,264.5 L310.4,270.4 L312.5,276.2 L314.7,281.6 L316.8,286.7 L318.9,291.5 L321,296 L323.2,300.1 L325.3,303.8 L327.4,307.2 L329.5,310.3 L331.7,313.1 L333.8,315.6 L335.9,317.8 L338.1,319.8 L340.2,321.6 L342.3,323.2 L344.4,324.7 L346.6,325.9 L348.7,327 L350.8,328 L352.9,328.9 L355.1,329.7 L357.2,330.4 L359.3,331 L361.4,331.5 L363.6,332 L365.7,332.4 L367.8,332.8 L369.9,333.1 L372.1,333.4 L374.2,333.6 L376.3,333.8 L378.4,334 L380.6,334.2 L382.7,334.3 L384.8,334.5 L386.9,334.6 L389.1,334.7 L391.2,334.8 L393.3,334.8 L395.4,334.9 L397.6,335 L399.7,335 L401.8,335.1 L404,335.1 L406.1,335.1 L408.2,335.2 L410.3,335.2 L412.5,335.2 L414.6,335.2 L416.7,335.3 L418.8,335.3 L421,335.3 L423.1,335.3 L425.2,335.3 L427.3,335.3 L429.5,335.3 L431.6,335.3 L433.7,335.4 L435.8,335.4 L438,335.4 L440.1,335.4 L442.2,335.4 L444.3,335.4 L446.5,335.4 L448.6,335.4 L450.7,335.4 L452.8,335.4 L455,335.4 L457.1,335.4 L459.2,335.4 L461.3,335.4 L463.5,335.4 L465.6,335.4 L467.7,335.4 L469.9,335.4 L472,335.4 L474.1,335.4 L476.2,335.4 L478.4,335.4 L480.5,335.4 L482.6,335.4 L484.7,335.4 L486.9,335.4 L489,335.4 L491.1,335.4 L493.2,335.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M70.2,333.3 L72.33,333.2 L74.45,333.1 L76.58,333 L78.7,332.9 L80.83,332.8 L82.95,332.7 L85.08,332.6 L87.21,332.5 L89.33,332.4 L91.46,332.2 L93.58,332.1 L95.71,332 L97.84,331.8 L99.96,331.7 L102.1,331.5 L104.2,331.3 L106.3,331.2 L108.5,331 L110.6,330.8 L112.7,330.6 L114.8,330.4 L117,330.2 L119.1,330 L121.2,329.8 L123.3,329.5 L125.5,329.3 L127.6,329.1 L129.7,328.8 L131.8,328.5 L134,328.2 L136.1,328 L138.2,327.7 L140.4,327.3 L142.5,327 L144.6,326.7 L146.7,326.4 L148.9,326 L151,325.6 L153.1,325.3 L155.2,324.9 L157.4,324.5 L159.5,324 L161.6,323.6 L163.7,323.2 L165.9,322.7 L168,322.3 L170.1,321.8 L172.2,321.3 L174.4,320.8 L176.5,320.3 L178.6,319.7 L180.7,319.2 L182.9,318.6 L185,318.1 L187.1,317.5 L189.2,316.9 L191.4,316.3 L193.5,315.7 L195.6,315 L197.7,314.4 L199.9,313.7 L202,313.1 L204.1,312.4 L206.3,311.8 L208.4,311.1 L210.5,310.4 L212.6,309.7 L214.8,309 L216.9,308.3 L219,307.6 L221.1,306.9 L223.3,306.2 L225.4,305.5 L227.5,304.9 L229.6,304.2 L231.8,303.5 L233.9,302.9 L236,302.2 L238.1,301.6 L240.3,300.9 L242.4,300.3 L244.5,299.7 L246.6,299.2 L248.8,298.6 L250.9,298.1 L253,297.6 L255.1,297.1 L257.3,296.7 L259.4,296.3 L261.5,295.9 L263.6,295.5 L265.8,295.2 L267.9,294.9 L270,294.7 L272.2,294.5 L274.3,294.3 L276.4,294.2 L278.5,294.1 L280.7,294 L282.8,294 L284.9,294 L287,294.1 L289.2,294.2 L291.3,294.3 L293.4,294.5 L295.5,294.7 L297.7,294.9 L299.8,295.2 L301.9,295.5 L304,295.9 L306.2,296.3 L308.3,296.7 L310.4,297.1 L312.5,297.6 L314.7,298.1 L316.8,298.6 L318.9,299.2 L321,299.7 L323.2,300.3 L325.3,300.9 L327.4,301.6 L329.5,302.2 L331.7,302.9 L333.8,303.5 L335.9,304.2 L338.1,304.9 L340.2,305.5 L342.3,306.2 L344.4,306.9 L346.6,307.6 L348.7,308.3 L350.8,309 L352.9,309.7 L355.1,310.4 L357.2,311.1 L359.3,311.8 L361.4,312.4 L363.6,313.1 L365.7,313.7 L367.8,314.4 L369.9,315 L372.1,315.7 L374.2,316.3 L376.3,316.9 L378.4,317.5 L380.6,318.1 L382.7,318.6 L384.8,319.2 L386.9,319.7 L389.1,320.3 L391.2,320.8 L393.3,321.3 L395.4,321.8 L397.6,322.3 L399.7,322.7 L401.8,323.2 L404,323.6 L406.1,324 L408.2,324.5 L410.3,324.9 L412.5,325.3 L414.6,325.6 L416.7,326 L418.8,326.4 L421,326.7 L423.1,327 L425.2,327.3 L427.3,327.7 L429.5,328 L431.6,328.2 L433.7,328.5 L435.8,328.8 L438,329.1 L440.1,329.3 L442.2,329.5 L444.3,329.8 L446.5,330 L448.6,330.2 L450.7,330.4 L452.8,330.6 L455,330.8 L457.1,331 L459.2,331.2 L461.3,331.3 L463.5,331.5 L465.6,331.7 L467.7,331.8 L469.9,332 L472,332.1 L474.1,332.2 L476.2,332.4 L478.4,332.5 L480.5,332.6 L482.6,332.7 L484.7,332.8 L486.9,332.9 L489,333 L491.1,333.1 L493.2,333.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M70.2,335.4 L72.33,335.4 L74.45,335.4 L76.58,335.4 L78.7,335.4 L80.83,335.4 L82.95,335.4 L85.08,335.4 L87.21,335.4 L89.33,335.4 L91.46,335.4 L93.58,335.4 L95.71,335.4 L97.84,335.4 L99.96,335.4 L102.1,335.4 L104.2,335.4 L106.3,335.4 L108.5,335.4 L110.6,335.4 L112.7,335.4 L114.8,335.4 L117,335.4 L119.1,335.4 L121.2,335.4 L123.3,335.4 L125.5,335.4 L127.6,335.4 L129.7,335.4 L131.8,335.4 L134,335.4 L136.1,335.4 L138.2,335.4 L140.4,335.4 L142.5,335.4 L144.6,335.4 L146.7,335.4 L148.9,335.4 L151,335.4 L153.1,335.4 L155.2,335.4 L157.4,335.4 L159.5,335.4 L161.6,335.4 L163.7,335.4 L165.9,335.4 L168,335.4 L170.1,335.4 L172.2,335.4 L174.4,335.4 L176.5,335.4 L178.6,335.4 L180.7,335.4 L182.9,335.4 L185,335.4 L187.1,335.4 L189.2,335.4 L191.4,335.4 L193.5,335.4 L195.6,335.4 L197.7,335.4 L199.9,335.4 L202,335.4 L204.1,335.3 L206.3,335.3 L208.4,335.3 L210.5,335.3 L212.6,335.2 L214.8,335.2 L216.9,335.1 L219,335 L221.1,334.9 L223.3,334.7 L225.4,334.5 L227.5,334.3 L229.6,334 L231.8,333.5 L233.9,333 L236,332.3 L238.1,331.3 L240.3,330.1 L242.4,328.6 L244.5,326.6 L246.6,324 L248.8,320.7 L250.9,316.5 L253,311.1 L255.1,304.3 L257.3,295.7 L259.4,285.2 L261.5,272.2 L263.6,256.5 L265.8,238.1 L267.9,217 L270,193.5 L272.2,168.8 L274.3,144.1 L276.4,121.5 L278.5,103.1 L280.7,91.06 L282.8,86.85 L284.9,91.05 L287,103.1 L289.2,121.5 L291.3,144.1 L293.4,168.7 L295.5,193.5 L297.7,216.9 L299.8,238.1 L301.9,256.5 L304,272.2 L306.2,285.2 L308.3,295.7 L310.4,304.3 L312.5,311.1 L314.7,316.4 L316.8,320.7 L318.9,324 L321,326.6 L323.2,328.6 L325.3,330.1 L327.4,331.3 L329.5,332.3 L331.7,333 L333.8,333.5 L335.9,334 L338.1,334.3 L340.2,334.5 L342.3,334.7 L344.4,334.9 L346.6,335 L348.7,335.1 L350.8,335.2 L352.9,335.2 L355.1,335.3 L357.2,335.3 L359.3,335.3 L361.4,335.3 L363.6,335.4 L365.7,335.4 L367.8,335.4 L369.9,335.4 L372.1,335.4 L374.2,335.4 L376.3,335.4 L378.4,335.4 L380.6,335.4 L382.7,335.4 L384.8,335.4 L386.9,335.4 L389.1,335.4 L391.2,335.4 L393.3,335.4 L395.4,335.4 L397.6,335.4 L399.7,335.4 L401.8,335.4 L404,335.4 L406.1,335.4 L408.2,335.4 L410.3,335.4 L412.5,335.4 L414.6,335.4 L416.7,335.4 L418.8,335.4 L421,335.4 L423.1,335.4 L425.2,335.4 L427.3,335.4 L429.5,335.4 L431.6,335.4 L433.7,335.4 L435.8,335.4 L438,335.4 L440.1,335.4 L442.2,335.4 L444.3,335.4 L446.5,335.4 L448.6,335.4 L450.7,335.4 L452.8,335.4 L455,335.4 L457.1,335.4 L459.2,335.4 L461.3,335.4 L463.5,335.4 L465.6,335.4 L467.7,335.4 L469.9,335.4 L472,335.4 L474.1,335.4 L476.2,335.4 L478.4,335.4 L480.5,335.4 L482.6,335.4 L484.7,335.4 L486.9,335.4 L489,335.4 L491.1,335.4 L493.2,335.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M70.2,335.4 L72.33,335.4 L74.45,335.4 L76.58,335.4 L78.7,335.4 L80.83,335.4 L82.95,335.4 L85.08,335.4 L87.21,335.4 L89.33,335.4 L91.46,335.4 L93.58,335.4 L95.71,335.4 L97.84,335.4 L99.96,335.4 L102.1,335.4 L104.2,335.4 L106.3,335.4 L108.5,335.4 L110.6,335.4 L112.7,335.4 L114.8,335.4 L117,335.4 L119.1,335.4 L121.2,335.4 L123.3,335.4 L125.5,335.4 L127.6,335.4 L129.7,335.4 L131.8,335.4 L134,335.4 L136.1,335.4 L138.2,335.4 L140.4,335.4 L142.5,335.4 L144.6,335.4 L146.7,335.4 L148.9,335.4 L151,335.4 L153.1,335.4 L155.2,335.4 L157.4,335.4 L159.5,335.4 L161.6,335.4 L163.7,335.4 L165.9,335.4 L168,335.4 L170.1,335.4 L172.2,335.4 L174.4,335.4 L176.5,335.4 L178.6,335.4 L180.7,335.4 L182.9,335.4 L185,335.4 L187.1,335.4 L189.2,335.4 L191.4,335.4 L193.5,335.4 L195.6,335.4 L197.7,335.4 L199.9,335.4 L202,335.4 L204.1,335.4 L206.3,335.4 L208.4,335.4 L210.5,335.4 L212.6,335.4 L214.8,335.3 L216.9,335.3 L219,335.3 L221.1,335.3 L223.3,335.3 L225.4,335.3 L227.5,335.3 L229.6,335.3 L231.8,335.3 L233.9,335.2 L236,335.2 L238.1,335.2 L240.3,335.2 L242.4,335.1 L244.5,335.1 L246.6,335 L248.8,335 L250.9,334.9 L253,334.9 L255.1,334.8 L257.3,334.7 L259.4,334.6 L261.5,334.5 L263.6,334.4 L265.8,334.2 L267.9,334.1 L270,333.9 L272.2,333.7 L274.3,333.4 L276.4,333.2 L278.5,332.8 L280.7,332.5 L282.8,332.1 L284.9,331.6 L287,331.1 L289.2,330.5 L291.3,329.9 L293.4,329.1 L295.5,328.3 L297.7,327.3 L299.8,326.2 L301.9,325 L304,323.6 L306.2,322.1 L308.3,320.3 L310.4,318.4 L312.5,316.2 L314.7,313.7 L316.8,311 L318.9,308 L321,304.7 L323.2,301 L325.3,297.1 L327.4,292.7 L329.5,288 L331.7,283 L333.8,277.6 L335.9,271.9 L338.1,266 L340.2,259.9 L342.3,253.7 L344.4,247.4 L346.6,241.3 L348.7,235.4 L350.8,229.8 L352.9,224.7 L355.1,220.3 L357.2,216.6 L359.3,213.8 L361.4,212 L363.6,211.2 L365.7,211.4 L367.8,212.7 L369.9,215 L372.1,218.3 L374.2,222.3 L376.3,227.1 L378.4,232.4 L380.6,238.2 L382.7,244.3 L384.8,250.5 L386.9,256.7 L389.1,262.9 L391.2,268.9 L393.3,274.7 L395.4,280.2 L397.6,285.5 L399.7,290.3 L401.8,294.9 L404,299 L406.1,302.9 L408.2,306.3 L410.3,309.5 L412.5,312.4 L414.6,315 L416.7,317.3 L418.8,319.3 L421,321.2 L423.1,322.8 L425.2,324.3 L427.3,325.6 L429.5,326.8 L431.6,327.8 L433.7,328.7 L435.8,329.5 L438,330.2 L440.1,330.8 L442.2,331.4 L444.3,331.9 L446.5,332.3 L448.6,332.7 L450.7,333 L452.8,333.3 L455,333.6 L457.1,333.8 L459.2,334 L461.3,334.1 L463.5,334.3 L465.6,334.4 L467.7,334.6 L469.9,334.7 L472,334.7 L474.1,334.8 L476.2,334.9 L478.4,335 L480.5,335 L482.6,335.1 L484.7,335.1 L486.9,335.1 L489,335.2 L491.1,335.2 L493.2,335.2 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="509.4" y="62" width="228.6" height="135"/><rect x="509.4" y="62" width="228.6" height="135"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" stroke-width="1"><line x1="524.4" y1="92" x2="539.4" y2="92"/></g>
+<g stroke="rgb(139,0,0)" stroke-width="1"><line x1="524.4" y1="122" x2="539.4" y2="122"/></g>
+<g stroke="rgb(0,100,0)" stroke-width="1"><line x1="524.4" y1="152" x2="539.4" y2="152"/></g>
+<g stroke="rgb(255,140,0)" stroke-width="1"><line x1="524.4" y1="182" x2="539.4" y2="182"/></g>
+</g>
+<g id="legendText">
+<text x="546.9" y="92" font-size="15" font-family="Verdana">location=0, scale=1</text>
+<text x="546.9" y="122" font-size="15" font-family="Verdana">location=0, scale=3</text>
+<text x="546.9" y="152" font-size="15" font-family="Verdana">location=0, scale=0.5</text>
+<text x="546.9" y="182" font-size="15" font-family="Verdana">location=5, scale=1</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Logistic Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.png b/libs/math/doc/graphs/lognormal_pdf1.png
index 5492cb7261..5492cb7261 100644
--- a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.png
+++ b/libs/math/doc/graphs/lognormal_pdf1.png
Binary files differ
diff --git a/libs/math/doc/graphs/lognormal_pdf1.svg b/libs/math/doc/graphs/lognormal_pdf1.svg
new file mode 100644
index 0000000000..1a8bf0cf4f
--- /dev/null
+++ b/libs/math/doc/graphs/lognormal_pdf1.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,326.6 L84.2,326.6 M82.2,312.2 L84.2,312.2 M82.2,297.8 L84.2,297.8 M82.2,283.4 L84.2,283.4 M82.2,254.7 L84.2,254.7 M82.2,240.3 L84.2,240.3 M82.2,225.9 L84.2,225.9 M82.2,211.5 L84.2,211.5 M82.2,182.7 L84.2,182.7 M82.2,168.3 L84.2,168.3 M82.2,153.9 L84.2,153.9 M82.2,139.5 L84.2,139.5 M82.2,110.8 L84.2,110.8 M82.2,96.38 L84.2,96.38 M82.2,81.99 L84.2,81.99 M82.2,67.6 L84.2,67.6 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M125.3,341 L125.3,343 M166.5,341 L166.5,343 M207.6,341 L207.6,343 M248.8,341 L248.8,343 M331.1,341 L331.1,343 M372.2,341 L372.2,343 M413.4,341 L413.4,343 M454.5,341 L454.5,343 M536.8,341 L536.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,269.1 L84.2,269.1 M79.2,197.1 L84.2,197.1 M79.2,125.2 L84.2,125.2 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M289.9,341 L289.9,346 M495.7,341 L495.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="289.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="495.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="271.5" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="199.5" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="127.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.58,161.9 L88.96,86.91 L91.33,91.5 L93.71,118.1 L96.09,148 L98.47,175.7 L100.8,199.7 L103.2,220 L105.6,237 L108,251.3 L110.4,263.2 L112.7,273.3 L115.1,281.8 L117.5,289 L119.9,295.1 L122.2,300.4 L124.6,304.9 L127,308.8 L129.4,312.2 L131.8,315.2 L134.1,317.8 L136.5,320.1 L138.9,322.1 L141.3,323.8 L143.6,325.4 L146,326.8 L148.4,328 L150.8,329.2 L153.2,330.2 L155.5,331 L157.9,331.8 L160.3,332.6 L162.7,333.2 L165,333.8 L167.4,334.4 L169.8,334.8 L172.2,335.3 L174.6,335.7 L176.9,336.1 L179.3,336.4 L181.7,336.7 L184.1,337 L186.4,337.3 L188.8,337.5 L191.2,337.7 L193.6,337.9 L196,338.1 L198.3,338.3 L200.7,338.5 L203.1,338.6 L205.5,338.8 L207.8,338.9 L210.2,339 L212.6,339.1 L215,339.2 L217.4,339.3 L219.7,339.4 L222.1,339.5 L224.5,339.6 L226.9,339.7 L229.2,339.7 L231.6,339.8 L234,339.9 L236.4,339.9 L238.8,340 L241.1,340 L243.5,340.1 L245.9,340.1 L248.3,340.2 L250.6,340.2 L253,340.2 L255.4,340.3 L257.8,340.3 L260.2,340.3 L262.5,340.4 L264.9,340.4 L267.3,340.4 L269.7,340.4 L272,340.5 L274.4,340.5 L276.8,340.5 L279.2,340.5 L281.6,340.6 L283.9,340.6 L286.3,340.6 L288.7,340.6 L291.1,340.6 L293.4,340.6 L295.8,340.7 L298.2,340.7 L300.6,340.7 L303,340.7 L305.3,340.7 L307.7,340.7 L310.1,340.7 L312.5,340.7 L314.8,340.7 L317.2,340.8 L319.6,340.8 L322,340.8 L324.4,340.8 L326.7,340.8 L329.1,340.8 L331.5,340.8 L333.9,340.8 L336.2,340.8 L338.6,340.8 L341,340.8 L343.4,340.8 L345.8,340.8 L348.1,340.8 L350.5,340.9 L352.9,340.9 L355.3,340.9 L357.6,340.9 L360,340.9 L362.4,340.9 L364.8,340.9 L367.2,340.9 L369.5,340.9 L371.9,340.9 L374.3,340.9 L376.7,340.9 L379,340.9 L381.4,340.9 L383.8,340.9 L386.2,340.9 L388.6,340.9 L390.9,340.9 L393.3,340.9 L395.7,340.9 L398.1,340.9 L400.4,340.9 L402.8,340.9 L405.2,340.9 L407.6,340.9 L410,340.9 L412.3,340.9 L414.7,340.9 L417.1,340.9 L419.5,340.9 L421.8,340.9 L424.2,340.9 L426.6,340.9 L429,340.9 L431.4,340.9 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,323.9 L88.96,292.6 L91.33,269.7 L93.71,256 L96.09,249.1 L98.47,246.5 L100.8,246.8 L103.2,248.8 L105.6,251.9 L108,255.5 L110.4,259.5 L112.7,263.6 L115.1,267.6 L117.5,271.6 L119.9,275.4 L122.2,279.1 L124.6,282.6 L127,285.9 L129.4,288.9 L131.8,291.8 L134.1,294.6 L136.5,297.1 L138.9,299.5 L141.3,301.8 L143.6,303.9 L146,305.8 L148.4,307.7 L150.8,309.4 L153.2,311 L155.5,312.5 L157.9,314 L160.3,315.3 L162.7,316.6 L165,317.7 L167.4,318.9 L169.8,319.9 L172.2,320.9 L174.6,321.8 L176.9,322.7 L179.3,323.5 L181.7,324.3 L184.1,325 L186.4,325.7 L188.8,326.4 L191.2,327 L193.6,327.6 L196,328.2 L198.3,328.7 L200.7,329.2 L203.1,329.7 L205.5,330.1 L207.8,330.6 L210.2,331 L212.6,331.4 L215,331.7 L217.4,332.1 L219.7,332.4 L222.1,332.8 L224.5,333.1 L226.9,333.4 L229.2,333.6 L231.6,333.9 L234,334.2 L236.4,334.4 L238.8,334.6 L241.1,334.9 L243.5,335.1 L245.9,335.3 L248.3,335.5 L250.6,335.7 L253,335.8 L255.4,336 L257.8,336.2 L260.2,336.3 L262.5,336.5 L264.9,336.6 L267.3,336.8 L269.7,336.9 L272,337 L274.4,337.2 L276.8,337.3 L279.2,337.4 L281.6,337.5 L283.9,337.6 L286.3,337.7 L288.7,337.8 L291.1,337.9 L293.4,338 L295.8,338.1 L298.2,338.2 L300.6,338.2 L303,338.3 L305.3,338.4 L307.7,338.5 L310.1,338.5 L312.5,338.6 L314.8,338.7 L317.2,338.7 L319.6,338.8 L322,338.9 L324.4,338.9 L326.7,339 L329.1,339 L331.5,339.1 L333.9,339.1 L336.2,339.2 L338.6,339.2 L341,339.3 L343.4,339.3 L345.8,339.4 L348.1,339.4 L350.5,339.4 L352.9,339.5 L355.3,339.5 L357.6,339.6 L360,339.6 L362.4,339.6 L364.8,339.7 L367.2,339.7 L369.5,339.7 L371.9,339.8 L374.3,339.8 L376.7,339.8 L379,339.8 L381.4,339.9 L383.8,339.9 L386.2,339.9 L388.6,340 L390.9,340 L393.3,340 L395.7,340 L398.1,340 L400.4,340.1 L402.8,340.1 L405.2,340.1 L407.6,340.1 L410,340.1 L412.3,340.2 L414.7,340.2 L417.1,340.2 L419.5,340.2 L421.8,340.2 L424.2,340.3 L426.6,340.3 L429,340.3 L431.4,340.3 L433.7,340.3 L436.1,340.3 L438.5,340.3 L440.9,340.4 L443.2,340.4 L445.6,340.4 L448,340.4 L450.4,340.4 L452.8,340.4 L455.1,340.4 L457.5,340.4 L459.9,340.5 L462.3,340.5 L464.6,340.5 L467,340.5 L469.4,340.5 L471.8,340.5 L474.2,340.5 L476.5,340.5 L478.9,340.5 L481.3,340.5 L483.7,340.6 L486,340.6 L488.4,340.6 L490.8,340.6 L493.2,340.6 L495.6,340.6 L497.9,340.6 L500.3,340.6 L502.7,340.6 L505.1,340.6 L507.4,340.6 L509.8,340.6 L512.2,340.6 L514.6,340.7 L517,340.7 L519.3,340.7 L521.7,340.7 L524.1,340.7 L526.5,340.7 L528.8,340.7 L531.2,340.7 L533.6,340.7 L536,340.7 L538.4,340.7 L540.7,340.7 L543.1,340.7 L545.5,340.7 L547.9,340.7 L550.2,340.7 L552.6,340.7 L555,340.7 L557.4,340.7 L559.8,340.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,340.4 L88.96,337.6 L91.33,333.5 L93.71,329.1 L96.09,324.9 L98.47,321.1 L100.8,317.9 L103.2,315.1 L105.6,312.9 L108,311 L110.4,309.6 L112.7,308.4 L115.1,307.6 L117.5,307 L119.9,306.5 L122.2,306.3 L124.6,306.2 L127,306.2 L129.4,306.3 L131.8,306.5 L134.1,306.8 L136.5,307.2 L138.9,307.6 L141.3,308 L143.6,308.5 L146,309 L148.4,309.5 L150.8,310 L153.2,310.5 L155.5,311.1 L157.9,311.6 L160.3,312.2 L162.7,312.7 L165,313.3 L167.4,313.8 L169.8,314.4 L172.2,314.9 L174.6,315.4 L176.9,316 L179.3,316.5 L181.7,317 L184.1,317.5 L186.4,318 L188.8,318.5 L191.2,318.9 L193.6,319.4 L196,319.9 L198.3,320.3 L200.7,320.7 L203.1,321.2 L205.5,321.6 L207.8,322 L210.2,322.4 L212.6,322.8 L215,323.2 L217.4,323.5 L219.7,323.9 L222.1,324.2 L224.5,324.6 L226.9,324.9 L229.2,325.3 L231.6,325.6 L234,325.9 L236.4,326.2 L238.8,326.5 L241.1,326.8 L243.5,327.1 L245.9,327.4 L248.3,327.6 L250.6,327.9 L253,328.1 L255.4,328.4 L257.8,328.6 L260.2,328.9 L262.5,329.1 L264.9,329.4 L267.3,329.6 L269.7,329.8 L272,330 L274.4,330.2 L276.8,330.4 L279.2,330.6 L281.6,330.8 L283.9,331 L286.3,331.2 L288.7,331.4 L291.1,331.5 L293.4,331.7 L295.8,331.9 L298.2,332.1 L300.6,332.2 L303,332.4 L305.3,332.5 L307.7,332.7 L310.1,332.8 L312.5,333 L314.8,333.1 L317.2,333.3 L319.6,333.4 L322,333.5 L324.4,333.7 L326.7,333.8 L329.1,333.9 L331.5,334 L333.9,334.1 L336.2,334.3 L338.6,334.4 L341,334.5 L343.4,334.6 L345.8,334.7 L348.1,334.8 L350.5,334.9 L352.9,335 L355.3,335.1 L357.6,335.2 L360,335.3 L362.4,335.4 L364.8,335.5 L367.2,335.6 L369.5,335.7 L371.9,335.7 L374.3,335.8 L376.7,335.9 L379,336 L381.4,336.1 L383.8,336.1 L386.2,336.2 L388.6,336.3 L390.9,336.4 L393.3,336.4 L395.7,336.5 L398.1,336.6 L400.4,336.6 L402.8,336.7 L405.2,336.8 L407.6,336.8 L410,336.9 L412.3,337 L414.7,337 L417.1,337.1 L419.5,337.1 L421.8,337.2 L424.2,337.3 L426.6,337.3 L429,337.4 L431.4,337.4 L433.7,337.5 L436.1,337.5 L438.5,337.6 L440.9,337.6 L443.2,337.7 L445.6,337.7 L448,337.8 L450.4,337.8 L452.8,337.9 L455.1,337.9 L457.5,337.9 L459.9,338 L462.3,338 L464.6,338.1 L467,338.1 L469.4,338.1 L471.8,338.2 L474.2,338.2 L476.5,338.3 L478.9,338.3 L481.3,338.3 L483.7,338.4 L486,338.4 L488.4,338.4 L490.8,338.5 L493.2,338.5 L495.6,338.5 L497.9,338.6 L500.3,338.6 L502.7,338.6 L505.1,338.7 L507.4,338.7 L509.8,338.7 L512.2,338.8 L514.6,338.8 L517,338.8 L519.3,338.8 L521.7,338.9 L524.1,338.9 L526.5,338.9 L528.8,339 L531.2,339 L533.6,339 L536,339 L538.4,339.1 L540.7,339.1 L543.1,339.1 L545.5,339.1 L547.9,339.1 L550.2,339.2 L552.6,339.2 L555,339.2 L557.4,339.2 L559.8,339.3 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">location=-1</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">location=0</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">location=1</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Lognormal Distribution PDF (scale=1)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.png b/libs/math/doc/graphs/lognormal_pdf2.png
index dc867d9d2b..dc867d9d2b 100644
--- a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.png
+++ b/libs/math/doc/graphs/lognormal_pdf2.png
Binary files differ
diff --git a/libs/math/doc/graphs/lognormal_pdf2.svg b/libs/math/doc/graphs/lognormal_pdf2.svg
new file mode 100644
index 0000000000..af584e80b0
--- /dev/null
+++ b/libs/math/doc/graphs/lognormal_pdf2.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,321.3 L84.2,321.3 M82.2,301.6 L84.2,301.6 M82.2,281.9 L84.2,281.9 M82.2,262.2 L84.2,262.2 M82.2,222.8 L84.2,222.8 M82.2,203.1 L84.2,203.1 M82.2,183.4 L84.2,183.4 M82.2,163.7 L84.2,163.7 M82.2,124.3 L84.2,124.3 M82.2,104.6 L84.2,104.6 M82.2,84.92 L84.2,84.92 M82.2,65.22 L84.2,65.22 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M107.3,341 L107.3,343 M130.4,341 L130.4,343 M153.5,341 L153.5,343 M176.6,341 L176.6,343 M222.8,341 L222.8,343 M245.9,341 L245.9,343 M269.1,341 L269.1,343 M292.2,341 L292.2,343 M338.4,341 L338.4,343 M361.5,341 L361.5,343 M384.6,341 L384.6,343 M407.7,341 L407.7,343 M453.9,341 L453.9,343 M477,341 L477,343 M500.1,341 L500.1,343 M523.2,341 L523.2,343 M569.4,341 L569.4,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,242.5 L84.2,242.5 M79.2,144 L84.2,144 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M199.7,341 L199.7,346 M315.3,341 L315.3,346 M430.8,341 L430.8,346 M546.3,341 L546.3,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="199.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="315.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="430.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="546.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="244.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="146.4" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,340.9 L98.94,340.7 L101.4,340.3 L103.8,339.3 L106.3,337.5 L108.8,334.9 L111.2,331.1 L113.7,326.3 L116.1,320.2 L118.6,313 L121,304.8 L123.5,295.9 L126,286.2 L128.4,276.1 L130.9,265.8 L133.3,255.4 L135.8,245.1 L138.2,235.1 L140.7,225.5 L143.1,216.5 L145.6,208 L148.1,200.2 L150.5,193.2 L153,186.9 L155.4,181.3 L157.9,176.6 L160.3,172.6 L162.8,169.3 L165.3,166.7 L167.7,164.9 L170.2,163.6 L172.6,163 L175.1,162.9 L177.5,163.4 L180,164.3 L182.4,165.6 L184.9,167.4 L187.4,169.4 L189.8,171.8 L192.3,174.5 L194.7,177.4 L197.2,180.4 L199.6,183.7 L202.1,187.1 L204.6,190.6 L207,194.2 L209.5,197.9 L211.9,201.7 L214.4,205.4 L216.8,209.2 L219.3,213 L221.7,216.8 L224.2,220.5 L226.7,224.2 L229.1,227.9 L231.6,231.5 L234,235.1 L236.5,238.6 L238.9,242.1 L241.4,245.4 L243.9,248.7 L246.3,251.9 L248.8,255.1 L251.2,258.1 L253.7,261.1 L256.1,264 L258.6,266.8 L261,269.5 L263.5,272.2 L266,274.7 L268.4,277.2 L270.9,279.6 L273.3,281.9 L275.8,284.2 L278.2,286.3 L280.7,288.4 L283.2,290.4 L285.6,292.4 L288.1,294.3 L290.5,296.1 L293,297.8 L295.4,299.5 L297.9,301.1 L300.3,302.7 L302.8,304.2 L305.3,305.6 L307.7,307 L310.2,308.3 L312.6,309.6 L315.1,310.8 L317.5,312 L320,313.2 L322.5,314.3 L324.9,315.3 L327.4,316.3 L329.8,317.3 L332.3,318.2 L334.7,319.1 L337.2,320 L339.6,320.8 L342.1,321.6 L344.6,322.4 L347,323.1 L349.5,323.8 L351.9,324.5 L354.4,325.1 L356.8,325.8 L359.3,326.3 L361.8,326.9 L364.2,327.5 L366.7,328 L369.1,328.5 L371.6,329 L374,329.5 L376.5,329.9 L378.9,330.3 L381.4,330.8 L383.9,331.1 L386.3,331.5 L388.8,331.9 L391.2,332.2 L393.7,332.6 L396.1,332.9 L398.6,333.2 L401,333.5 L403.5,333.8 L406,334.1 L408.4,334.3 L410.9,334.6 L413.3,334.8 L415.8,335.1 L418.2,335.3 L420.7,335.5 L423.2,335.7 L425.6,335.9 L428.1,336.1 L430.5,336.3 L433,336.5 L435.4,336.6 L437.9,336.8 L440.3,337 L442.8,337.1 L445.3,337.3 L447.7,337.4 L450.2,337.5 L452.6,337.7 L455.1,337.8 L457.5,337.9 L460,338 L462.5,338.1 L464.9,338.2 L467.4,338.3 L469.8,338.4 L472.3,338.5 L474.7,338.6 L477.2,338.7 L479.6,338.8 L482.1,338.9 L484.6,338.9 L487,339 L489.5,339.1 L491.9,339.1 L494.4,339.2 L496.8,339.3 L499.3,339.3 L501.8,339.4 L504.2,339.5 L506.7,339.5 L509.1,339.6 L511.6,339.6 L514,339.7 L516.5,339.7 L518.9,339.8 L521.4,339.8 L523.9,339.8 L526.3,339.9 L528.8,339.9 L531.2,340 L533.7,340 L536.1,340 L538.6,340.1 L541.1,340.1 L543.5,340.1 L546,340.2 L548.4,340.2 L550.9,340.2 L553.3,340.2 L555.8,340.3 L558.2,340.3 L560.7,340.3 L563.2,340.3 L565.6,340.4 L568.1,340.4 L570.5,340.4 L573,340.4 L575.4,340.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,338.8 L89.11,328.4 L91.57,313.1 L94.02,296.7 L96.48,281.1 L98.94,267.1 L101.4,255 L103.8,244.8 L106.3,236.4 L108.8,229.5 L111.2,224.1 L113.7,219.8 L116.1,216.6 L118.6,214.3 L121,212.8 L123.5,211.8 L126,211.5 L128.4,211.5 L130.9,212 L133.3,212.8 L135.8,213.8 L138.2,215.1 L140.7,216.6 L143.1,218.2 L145.6,219.9 L148.1,221.7 L150.5,223.6 L153,225.6 L155.4,227.6 L157.9,229.6 L160.3,231.7 L162.8,233.7 L165.3,235.8 L167.7,237.9 L170.2,239.9 L172.6,241.9 L175.1,243.9 L177.5,245.9 L180,247.9 L182.4,249.8 L184.9,251.7 L187.4,253.6 L189.8,255.4 L192.3,257.2 L194.7,258.9 L197.2,260.7 L199.6,262.4 L202.1,264 L204.6,265.6 L207,267.2 L209.5,268.8 L211.9,270.3 L214.4,271.7 L216.8,273.2 L219.3,274.6 L221.7,276 L224.2,277.3 L226.7,278.7 L229.1,279.9 L231.6,281.2 L234,282.4 L236.5,283.6 L238.9,284.8 L241.4,285.9 L243.9,287 L246.3,288.1 L248.8,289.2 L251.2,290.2 L253.7,291.2 L256.1,292.2 L258.6,293.2 L261,294.1 L263.5,295 L266,295.9 L268.4,296.8 L270.9,297.6 L273.3,298.5 L275.8,299.3 L278.2,300.1 L280.7,300.9 L283.2,301.6 L285.6,302.4 L288.1,303.1 L290.5,303.8 L293,304.5 L295.4,305.2 L297.9,305.8 L300.3,306.5 L302.8,307.1 L305.3,307.7 L307.7,308.3 L310.2,308.9 L312.6,309.5 L315.1,310.1 L317.5,310.6 L320,311.1 L322.5,311.7 L324.9,312.2 L327.4,312.7 L329.8,313.2 L332.3,313.7 L334.7,314.1 L337.2,314.6 L339.6,315.1 L342.1,315.5 L344.6,315.9 L347,316.4 L349.5,316.8 L351.9,317.2 L354.4,317.6 L356.8,318 L359.3,318.3 L361.8,318.7 L364.2,319.1 L366.7,319.4 L369.1,319.8 L371.6,320.1 L374,320.5 L376.5,320.8 L378.9,321.1 L381.4,321.4 L383.9,321.8 L386.3,322.1 L388.8,322.4 L391.2,322.7 L393.7,322.9 L396.1,323.2 L398.6,323.5 L401,323.8 L403.5,324 L406,324.3 L408.4,324.6 L410.9,324.8 L413.3,325.1 L415.8,325.3 L418.2,325.5 L420.7,325.8 L423.2,326 L425.6,326.2 L428.1,326.4 L430.5,326.6 L433,326.9 L435.4,327.1 L437.9,327.3 L440.3,327.5 L442.8,327.7 L445.3,327.9 L447.7,328.1 L450.2,328.2 L452.6,328.4 L455.1,328.6 L457.5,328.8 L460,328.9 L462.5,329.1 L464.9,329.3 L467.4,329.5 L469.8,329.6 L472.3,329.8 L474.7,329.9 L477.2,330.1 L479.6,330.2 L482.1,330.4 L484.6,330.5 L487,330.7 L489.5,330.8 L491.9,330.9 L494.4,331.1 L496.8,331.2 L499.3,331.3 L501.8,331.5 L504.2,331.6 L506.7,331.7 L509.1,331.8 L511.6,332 L514,332.1 L516.5,332.2 L518.9,332.3 L521.4,332.4 L523.9,332.5 L526.3,332.7 L528.8,332.8 L531.2,332.9 L533.7,333 L536.1,333.1 L538.6,333.2 L541.1,333.3 L543.5,333.4 L546,333.5 L548.4,333.6 L550.9,333.7 L553.3,333.7 L555.8,333.8 L558.2,333.9 L560.7,334 L563.2,334.1 L565.6,334.2 L568.1,334.3 L570.5,334.4 L573,334.4 L575.4,334.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,51.47 L89.11,75.3 L91.57,102 L94.02,124.8 L96.48,143.7 L98.94,159.7 L101.4,173.3 L103.8,184.9 L106.3,195.1 L108.8,204 L111.2,212 L113.7,219 L116.1,225.4 L118.6,231.1 L121,236.3 L123.5,241.1 L126,245.5 L128.4,249.5 L130.9,253.2 L133.3,256.7 L135.8,259.9 L138.2,262.8 L140.7,265.6 L143.1,268.2 L145.6,270.7 L148.1,273 L150.5,275.1 L153,277.2 L155.4,279.1 L157.9,280.9 L160.3,282.7 L162.8,284.3 L165.3,285.9 L167.7,287.4 L170.2,288.8 L172.6,290.1 L175.1,291.4 L177.5,292.6 L180,293.8 L182.4,294.9 L184.9,296 L187.4,297.1 L189.8,298.1 L192.3,299 L194.7,299.9 L197.2,300.8 L199.6,301.7 L202.1,302.5 L204.6,303.3 L207,304.1 L209.5,304.8 L211.9,305.5 L214.4,306.2 L216.8,306.9 L219.3,307.5 L221.7,308.1 L224.2,308.7 L226.7,309.3 L229.1,309.9 L231.6,310.4 L234,311 L236.5,311.5 L238.9,312 L241.4,312.5 L243.9,312.9 L246.3,313.4 L248.8,313.8 L251.2,314.3 L253.7,314.7 L256.1,315.1 L258.6,315.5 L261,315.9 L263.5,316.3 L266,316.7 L268.4,317 L270.9,317.4 L273.3,317.7 L275.8,318.1 L278.2,318.4 L280.7,318.7 L283.2,319 L285.6,319.3 L288.1,319.6 L290.5,319.9 L293,320.2 L295.4,320.5 L297.9,320.7 L300.3,321 L302.8,321.3 L305.3,321.5 L307.7,321.8 L310.2,322 L312.6,322.2 L315.1,322.5 L317.5,322.7 L320,322.9 L322.5,323.2 L324.9,323.4 L327.4,323.6 L329.8,323.8 L332.3,324 L334.7,324.2 L337.2,324.4 L339.6,324.6 L342.1,324.8 L344.6,324.9 L347,325.1 L349.5,325.3 L351.9,325.5 L354.4,325.6 L356.8,325.8 L359.3,326 L361.8,326.1 L364.2,326.3 L366.7,326.5 L369.1,326.6 L371.6,326.8 L374,326.9 L376.5,327.1 L378.9,327.2 L381.4,327.3 L383.9,327.5 L386.3,327.6 L388.8,327.7 L391.2,327.9 L393.7,328 L396.1,328.1 L398.6,328.3 L401,328.4 L403.5,328.5 L406,328.6 L408.4,328.7 L410.9,328.9 L413.3,329 L415.8,329.1 L418.2,329.2 L420.7,329.3 L423.2,329.4 L425.6,329.5 L428.1,329.6 L430.5,329.7 L433,329.8 L435.4,329.9 L437.9,330 L440.3,330.1 L442.8,330.2 L445.3,330.3 L447.7,330.4 L450.2,330.5 L452.6,330.6 L455.1,330.7 L457.5,330.8 L460,330.8 L462.5,330.9 L464.9,331 L467.4,331.1 L469.8,331.2 L472.3,331.3 L474.7,331.3 L477.2,331.4 L479.6,331.5 L482.1,331.6 L484.6,331.7 L487,331.7 L489.5,331.8 L491.9,331.9 L494.4,331.9 L496.8,332 L499.3,332.1 L501.8,332.2 L504.2,332.2 L506.7,332.3 L509.1,332.4 L511.6,332.4 L514,332.5 L516.5,332.6 L518.9,332.6 L521.4,332.7 L523.9,332.7 L526.3,332.8 L528.8,332.9 L531.2,332.9 L533.7,333 L536.1,333 L538.6,333.1 L541.1,333.2 L543.5,333.2 L546,333.3 L548.4,333.3 L550.9,333.4 L553.3,333.4 L555.8,333.5 L558.2,333.5 L560.7,333.6 L563.2,333.6 L565.6,333.7 L568.1,333.7 L570.5,333.8 L573,333.8 L575.4,333.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="626.9" y="88" font-size="15" font-family="Verdana">scale=0.5</text>
+<text x="626.9" y="118" font-size="15" font-family="Verdana">scale=1</text>
+<text x="626.9" y="148" font-size="15" font-family="Verdana">scale=2</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Lognormal Distribution PDF (location=0)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.png b/libs/math/doc/graphs/nc_beta_pdf.png
index 05cbae461a..05cbae461a 100644
--- a/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.png
+++ b/libs/math/doc/graphs/nc_beta_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/nc_beta_pdf.svg b/libs/math/doc/graphs/nc_beta_pdf.svg
new file mode 100644
index 0000000000..7abb2dd732
--- /dev/null
+++ b/libs/math/doc/graphs/nc_beta_pdf.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="68.4" y="59" width="443.3" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="445.3" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="58" x2="67.4" y2="346"/><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="62.4" y1="341" x2="512.7" y2="341"/><line x1="62.4" y1="341" x2="512.7" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,334.6 L67.4,334.6 M65.4,328.3 L67.4,328.3 M65.4,321.9 L67.4,321.9 M65.4,315.6 L67.4,315.6 M65.4,302.9 L67.4,302.9 M65.4,296.5 L67.4,296.5 M65.4,290.1 L67.4,290.1 M65.4,283.8 L67.4,283.8 M65.4,271.1 L67.4,271.1 M65.4,264.7 L67.4,264.7 M65.4,258.4 L67.4,258.4 M65.4,252 L67.4,252 M65.4,239.3 L67.4,239.3 M65.4,232.9 L67.4,232.9 M65.4,226.6 L67.4,226.6 M65.4,220.2 L67.4,220.2 M65.4,207.5 L67.4,207.5 M65.4,201.2 L67.4,201.2 M65.4,194.8 L67.4,194.8 M65.4,188.4 L67.4,188.4 M65.4,175.7 L67.4,175.7 M65.4,169.4 L67.4,169.4 M65.4,163 L67.4,163 M65.4,156.7 L67.4,156.7 M65.4,143.9 L67.4,143.9 M65.4,137.6 L67.4,137.6 M65.4,131.2 L67.4,131.2 M65.4,124.9 L67.4,124.9 M65.4,112.2 L67.4,112.2 M65.4,105.8 L67.4,105.8 M65.4,99.45 L67.4,99.45 M65.4,93.09 L67.4,93.09 M65.4,80.38 L67.4,80.38 M65.4,74.02 L67.4,74.02 M65.4,67.66 L67.4,67.66 M65.4,61.31 L67.4,61.31 M65.4,341 L67.4,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M76.31,341 L76.31,343 M85.21,341 L85.21,343 M94.12,341 L94.12,343 M103,341 L103,343 M120.8,341 L120.8,343 M129.7,341 L129.7,343 M138.7,341 L138.7,343 M147.6,341 L147.6,343 M165.4,341 L165.4,343 M174.3,341 L174.3,343 M183.2,341 L183.2,343 M192.1,341 L192.1,343 M209.9,341 L209.9,343 M218.8,341 L218.8,343 M227.7,341 L227.7,343 M236.6,341 L236.6,343 M254.4,341 L254.4,343 M263.3,341 L263.3,343 M272.2,341 L272.2,343 M281.2,341 L281.2,343 M299,341 L299,343 M307.9,341 L307.9,343 M316.8,341 L316.8,343 M325.7,341 L325.7,343 M343.5,341 L343.5,343 M352.4,341 L352.4,343 M361.3,341 L361.3,343 M370.2,341 L370.2,343 M388,341 L388,343 M396.9,341 L396.9,343 M405.8,341 L405.8,343 M414.7,341 L414.7,343 M432.6,341 L432.6,343 M441.5,341 L441.5,343 M450.4,341 L450.4,343 M459.3,341 L459.3,343 M477.1,341 L477.1,343 M486,341 L486,343 M494.9,341 L494.9,343 M503.8,341 L503.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,341 L67.4,341 M62.4,309.2 L67.4,309.2 M62.4,277.4 L67.4,277.4 M62.4,245.6 L67.4,245.6 M62.4,213.9 L67.4,213.9 M62.4,182.1 L67.4,182.1 M62.4,150.3 L67.4,150.3 M62.4,118.5 L67.4,118.5 M62.4,86.73 L67.4,86.73 M62.4,341 L67.4,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M67.4,341 L67.4,346 M111.9,341 L111.9,346 M156.5,341 L156.5,346 M201,341 L201,346 M245.5,341 L245.5,346 M290.1,341 L290.1,346 M334.6,341 L334.6,346 M379.1,341 L379.1,346 M423.7,341 L423.7,346 M468.2,341 L468.2,346 M512.7,341 L512.7,346 M67.4,341 L67.4,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="111.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.1</text>
+<text x="156.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.2</text>
+<text x="201" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.3</text>
+<text x="245.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.4</text>
+<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="334.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.6</text>
+<text x="379.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.7</text>
+<text x="423.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.8</text>
+<text x="468.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.9</text>
+<text x="512.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="56.4" y="311.6" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="56.4" y="279.8" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="56.4" y="248" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="56.4" y="216.3" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="56.4" y="184.5" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="56.4" y="152.7" text-anchor="end" font-size="12" font-family="Verdana">6</text>
+<text x="56.4" y="120.9" text-anchor="end" font-size="12" font-family="Verdana">7</text>
+<text x="56.4" y="89.13" text-anchor="end" font-size="12" font-family="Verdana">8</text>
+<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="290.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,340.9 L109.7,340.9 L111.9,340.9 L114.2,340.8 L116.4,340.7 L118.6,340.6 L120.8,340.5 L123.1,340.3 L125.3,340.1 L127.5,339.8 L129.7,339.4 L132,339 L134.2,338.5 L136.4,338 L138.7,337.3 L140.9,336.5 L143.1,335.6 L145.3,334.5 L147.6,333.3 L149.8,332 L152,330.5 L154.2,328.8 L156.5,327 L158.7,324.9 L160.9,322.7 L163.1,320.4 L165.4,317.8 L167.6,315 L169.8,312.1 L172.1,309 L174.3,305.7 L176.5,302.2 L178.7,298.6 L181,294.9 L183.2,291 L185.4,287.1 L187.6,283 L189.9,278.8 L192.1,274.7 L194.3,270.4 L196.5,266.2 L198.8,262 L201,257.8 L203.2,253.7 L205.4,249.6 L207.7,245.7 L209.9,241.9 L212.1,238.2 L214.4,234.7 L216.6,231.4 L218.8,228.4 L221,225.5 L223.3,222.9 L225.5,220.6 L227.7,218.5 L229.9,216.8 L232.2,215.3 L234.4,214.1 L236.6,213.3 L238.8,212.7 L241.1,212.5 L243.3,212.6 L245.5,212.9 L247.8,213.6 L250,214.6 L252.2,215.9 L254.4,217.4 L256.7,219.2 L258.9,221.3 L261.1,223.6 L263.3,226.1 L265.6,228.8 L267.8,231.7 L270,234.7 L272.2,237.9 L274.5,241.3 L276.7,244.7 L278.9,248.3 L281.2,251.9 L283.4,255.6 L285.6,259.3 L287.8,263 L290.1,266.7 L292.3,270.4 L294.5,274.1 L296.7,277.7 L299,281.3 L301.2,284.8 L303.4,288.2 L305.6,291.5 L307.9,294.8 L310.1,297.9 L312.3,300.9 L314.6,303.8 L316.8,306.6 L319,309.2 L321.2,311.7 L323.5,314.1 L325.7,316.4 L327.9,318.5 L330.1,320.5 L332.4,322.4 L334.6,324.1 L336.8,325.8 L339,327.3 L341.3,328.7 L343.5,330 L345.7,331.1 L348,332.2 L350.2,333.2 L352.4,334.1 L354.6,334.9 L356.9,335.7 L359.1,336.3 L361.3,336.9 L363.5,337.4 L365.8,337.9 L368,338.3 L370.2,338.7 L372.4,339 L374.7,339.3 L376.9,339.6 L379.1,339.8 L381.4,340 L383.6,340.1 L385.8,340.3 L388,340.4 L390.3,340.5 L392.5,340.6 L394.7,340.7 L396.9,340.7 L399.2,340.8 L401.4,340.8 L403.6,340.9 L405.8,340.9 L408.1,340.9 L410.3,340.9 L412.5,340.9 L414.7,341 L417,341 L419.2,341 L421.4,341 L423.7,341 L425.9,341 L428.1,341 L430.3,341 L432.6,341 L434.8,341 L437,341 L439.2,341 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,340.9 L111.9,340.9 L114.2,340.9 L116.4,340.8 L118.6,340.7 L120.8,340.6 L123.1,340.5 L125.3,340.3 L127.5,340.1 L129.7,339.9 L132,339.6 L134.2,339.2 L136.4,338.8 L138.7,338.2 L140.9,337.6 L143.1,336.9 L145.3,336.1 L147.6,335.2 L149.8,334.1 L152,332.9 L154.2,331.6 L156.5,330.1 L158.7,328.4 L160.9,326.6 L163.1,324.6 L165.4,322.5 L167.6,320.2 L169.8,317.7 L172.1,315 L174.3,312.2 L176.5,309.1 L178.7,306 L181,302.6 L183.2,299.2 L185.4,295.6 L187.6,291.8 L189.9,288 L192.1,284.1 L194.3,280.1 L196.5,276 L198.8,271.9 L201,267.8 L203.2,263.7 L205.4,259.7 L207.7,255.6 L209.9,251.7 L212.1,247.8 L214.4,244.1 L216.6,240.5 L218.8,237 L221,233.7 L223.3,230.6 L225.5,227.8 L227.7,225.1 L229.9,222.7 L232.2,220.6 L234.4,218.7 L236.6,217.2 L238.8,215.9 L241.1,214.9 L243.3,214.2 L245.5,213.8 L247.8,213.7 L250,213.9 L252.2,214.4 L254.4,215.2 L256.7,216.3 L258.9,217.6 L261.1,219.2 L263.3,221.1 L265.6,223.2 L267.8,225.6 L270,228.1 L272.2,230.9 L274.5,233.8 L276.7,236.9 L278.9,240.1 L281.2,243.4 L283.4,246.9 L285.6,250.4 L287.8,254 L290.1,257.6 L292.3,261.3 L294.5,265 L296.7,268.7 L299,272.4 L301.2,276 L303.4,279.6 L305.6,283.1 L307.9,286.6 L310.1,290 L312.3,293.2 L314.6,296.4 L316.8,299.5 L319,302.4 L321.2,305.3 L323.5,308 L325.7,310.6 L327.9,313.1 L330.1,315.4 L332.4,317.6 L334.6,319.7 L336.8,321.6 L339,323.4 L341.3,325.1 L343.5,326.7 L345.7,328.1 L348,329.5 L350.2,330.7 L352.4,331.8 L354.6,332.9 L356.9,333.8 L359.1,334.7 L361.3,335.4 L363.5,336.1 L365.8,336.8 L368,337.3 L370.2,337.8 L372.4,338.3 L374.7,338.6 L376.9,339 L379.1,339.3 L381.4,339.5 L383.6,339.8 L385.8,340 L388,340.1 L390.3,340.3 L392.5,340.4 L394.7,340.5 L396.9,340.6 L399.2,340.7 L401.4,340.7 L403.6,340.8 L405.8,340.8 L408.1,340.9 L410.3,340.9 L412.5,340.9 L414.7,340.9 L417,340.9 L419.2,341 L421.4,341 L423.7,341 L425.9,341 L428.1,341 L430.3,341 L432.6,341 L434.8,341 L437,341 L439.2,341 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,340.9 L120.8,340.9 L123.1,340.9 L125.3,340.8 L127.5,340.8 L129.7,340.7 L132,340.6 L134.2,340.5 L136.4,340.4 L138.7,340.2 L140.9,340 L143.1,339.7 L145.3,339.5 L147.6,339.1 L149.8,338.7 L152,338.3 L154.2,337.7 L156.5,337.1 L158.7,336.4 L160.9,335.7 L163.1,334.8 L165.4,333.8 L167.6,332.7 L169.8,331.5 L172.1,330.2 L174.3,328.7 L176.5,327.1 L178.7,325.4 L181,323.5 L183.2,321.4 L185.4,319.3 L187.6,316.9 L189.9,314.5 L192.1,311.9 L194.3,309.1 L196.5,306.2 L198.8,303.2 L201,300 L203.2,296.7 L205.4,293.3 L207.7,289.8 L209.9,286.2 L212.1,282.6 L214.4,278.8 L216.6,275.1 L218.8,271.3 L221,267.4 L223.3,263.6 L225.5,259.8 L227.7,256.1 L229.9,252.4 L232.2,248.8 L234.4,245.2 L236.6,241.8 L238.8,238.6 L241.1,235.5 L243.3,232.5 L245.5,229.8 L247.8,227.2 L250,224.9 L252.2,222.8 L254.4,221 L256.7,219.4 L258.9,218 L261.1,217 L263.3,216.2 L265.6,215.7 L267.8,215.5 L270,215.6 L272.2,216 L274.5,216.6 L276.7,217.6 L278.9,218.8 L281.2,220.3 L283.4,222 L285.6,224 L287.8,226.2 L290.1,228.6 L292.3,231.3 L294.5,234.1 L296.7,237.1 L299,240.2 L301.2,243.5 L303.4,246.9 L305.6,250.4 L307.9,254 L310.1,257.7 L312.3,261.4 L314.6,265.1 L316.8,268.8 L319,272.5 L321.2,276.2 L323.5,279.9 L325.7,283.5 L327.9,287 L330.1,290.5 L332.4,293.8 L334.6,297.1 L336.8,300.3 L339,303.3 L341.3,306.2 L343.5,309 L345.7,311.6 L348,314.1 L350.2,316.5 L352.4,318.8 L354.6,320.9 L356.9,322.8 L359.1,324.6 L361.3,326.3 L363.5,327.9 L365.8,329.3 L368,330.7 L370.2,331.9 L372.4,333 L374.7,334 L376.9,334.9 L379.1,335.7 L381.4,336.4 L383.6,337 L385.8,337.6 L388,338.1 L390.3,338.5 L392.5,338.9 L394.7,339.2 L396.9,339.5 L399.2,339.8 L401.4,340 L403.6,340.2 L405.8,340.3 L408.1,340.5 L410.3,340.6 L412.5,340.6 L414.7,340.7 L417,340.8 L419.2,340.8 L421.4,340.9 L423.7,340.9 L425.9,340.9 L428.1,340.9 L430.3,341 L432.6,341 L434.8,341 L437,341 L439.2,341 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,341 L120.8,341 L123.1,341 L125.3,341 L127.5,341 L129.7,340.9 L132,340.9 L134.2,340.9 L136.4,340.9 L138.7,340.8 L140.9,340.8 L143.1,340.7 L145.3,340.7 L147.6,340.6 L149.8,340.5 L152,340.3 L154.2,340.2 L156.5,340 L158.7,339.8 L160.9,339.5 L163.1,339.3 L165.4,338.9 L167.6,338.6 L169.8,338.1 L172.1,337.6 L174.3,337.1 L176.5,336.4 L178.7,335.7 L181,335 L183.2,334.1 L185.4,333.1 L187.6,332 L189.9,330.9 L192.1,329.6 L194.3,328.2 L196.5,326.6 L198.8,325 L201,323.2 L203.2,321.3 L205.4,319.3 L207.7,317.1 L209.9,314.8 L212.1,312.3 L214.4,309.7 L216.6,307 L218.8,304.1 L221,301.1 L223.3,298 L225.5,294.8 L227.7,291.4 L229.9,288 L232.2,284.5 L234.4,280.9 L236.6,277.2 L238.8,273.5 L241.1,269.8 L243.3,266 L245.5,262.2 L247.8,258.5 L250,254.8 L252.2,251.1 L254.4,247.5 L256.7,244 L258.9,240.6 L261.1,237.3 L263.3,234.2 L265.6,231.2 L267.8,228.4 L270,225.8 L272.2,223.4 L274.5,221.3 L276.7,219.4 L278.9,217.8 L281.2,216.4 L283.4,215.3 L285.6,214.5 L287.8,214 L290.1,213.8 L292.3,213.9 L294.5,214.3 L296.7,215 L299,216 L301.2,217.3 L303.4,218.9 L305.6,220.7 L307.9,222.9 L310.1,225.2 L312.3,227.8 L314.6,230.7 L316.8,233.7 L319,236.9 L321.2,240.3 L323.5,243.8 L325.7,247.5 L327.9,251.3 L330.1,255.1 L332.4,259 L334.6,263 L336.8,267 L339,270.9 L341.3,274.9 L343.5,278.8 L345.7,282.7 L348,286.5 L350.2,290.2 L352.4,293.9 L354.6,297.4 L356.9,300.7 L359.1,304 L361.3,307.1 L363.5,310 L365.8,312.8 L368,315.5 L370.2,318 L372.4,320.3 L374.7,322.5 L376.9,324.5 L379.1,326.3 L381.4,328 L383.6,329.6 L385.8,331 L388,332.3 L390.3,333.4 L392.5,334.5 L394.7,335.4 L396.9,336.2 L399.2,336.9 L401.4,337.6 L403.6,338.1 L405.8,338.6 L408.1,339 L410.3,339.4 L412.5,339.7 L414.7,339.9 L417,340.1 L419.2,340.3 L421.4,340.5 L423.7,340.6 L425.9,340.7 L428.1,340.7 L430.3,340.8 L432.6,340.9 L434.8,340.9 L437,340.9 L439.2,340.9 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,341 L120.8,341 L123.1,341 L125.3,341 L127.5,341 L129.7,341 L132,341 L134.2,341 L136.4,341 L138.7,341 L140.9,341 L143.1,341 L145.3,341 L147.6,341 L149.8,341 L152,341 L154.2,341 L156.5,341 L158.7,341 L160.9,341 L163.1,341 L165.4,341 L167.6,341 L169.8,341 L172.1,341 L174.3,341 L176.5,341 L178.7,341 L181,341 L183.2,341 L185.4,341 L187.6,341 L189.9,341 L192.1,341 L194.3,341 L196.5,341 L198.8,341 L201,341 L203.2,341 L205.4,341 L207.7,340.9 L209.9,340.9 L212.1,340.9 L214.4,340.9 L216.6,340.9 L218.8,340.8 L221,340.8 L223.3,340.8 L225.5,340.7 L227.7,340.7 L229.9,340.6 L232.2,340.5 L234.4,340.4 L236.6,340.3 L238.8,340.2 L241.1,340 L243.3,339.8 L245.5,339.6 L247.8,339.4 L250,339.1 L252.2,338.8 L254.4,338.4 L256.7,338 L258.9,337.6 L261.1,337 L263.3,336.4 L265.6,335.7 L267.8,335 L270,334.1 L272.2,333.1 L274.5,332.1 L276.7,330.9 L278.9,329.5 L281.2,328.1 L283.4,326.4 L285.6,324.6 L287.8,322.7 L290.1,320.6 L292.3,318.2 L294.5,315.7 L296.7,313 L299,310 L301.2,306.9 L303.4,303.5 L305.6,299.9 L307.9,296 L310.1,292 L312.3,287.7 L314.6,283.2 L316.8,278.4 L319,273.5 L321.2,268.4 L323.5,263.2 L325.7,257.8 L327.9,252.3 L330.1,246.7 L332.4,241 L334.6,235.3 L336.8,229.6 L339,224 L341.3,218.5 L343.5,213.2 L345.7,208 L348,203.1 L350.2,198.5 L352.4,194.2 L354.6,190.4 L356.9,187 L359.1,184 L361.3,181.6 L363.5,179.8 L365.8,178.5 L368,177.9 L370.2,178 L372.4,178.7 L374.7,180.1 L376.9,182.2 L379.1,184.9 L381.4,188.3 L383.6,192.3 L385.8,196.9 L388,202.1 L390.3,207.7 L392.5,213.8 L394.7,220.2 L396.9,227 L399.2,234 L401.4,241.2 L403.6,248.5 L405.8,255.7 L408.1,263 L410.3,270.1 L412.5,277 L414.7,283.7 L417,290.1 L419.2,296.1 L421.4,301.7 L423.7,307 L425.9,311.8 L428.1,316.2 L430.3,320.1 L432.6,323.6 L434.8,326.7 L437,329.4 L439.2,331.6 L441.5,333.6 L443.7,335.2 L445.9,336.5 L448.1,337.6 L450.4,338.5 L452.6,339.2 L454.8,339.7 L457.1,340.1 L459.3,340.4 L461.5,340.6 L463.7,340.7 L466,340.8 L468.2,340.9 L470.4,340.9 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,341 L120.8,341 L123.1,341 L125.3,341 L127.5,341 L129.7,341 L132,341 L134.2,341 L136.4,341 L138.7,341 L140.9,341 L143.1,341 L145.3,341 L147.6,341 L149.8,341 L152,341 L154.2,341 L156.5,341 L158.7,341 L160.9,341 L163.1,341 L165.4,341 L167.6,341 L169.8,341 L172.1,341 L174.3,341 L176.5,341 L178.7,341 L181,341 L183.2,341 L185.4,341 L187.6,341 L189.9,341 L192.1,341 L194.3,341 L196.5,341 L198.8,341 L201,341 L203.2,341 L205.4,341 L207.7,341 L209.9,341 L212.1,341 L214.4,341 L216.6,341 L218.8,341 L221,341 L223.3,341 L225.5,341 L227.7,341 L229.9,341 L232.2,341 L234.4,341 L236.6,341 L238.8,341 L241.1,341 L243.3,341 L245.5,341 L247.8,341 L250,341 L252.2,341 L254.4,341 L256.7,341 L258.9,341 L261.1,341 L263.3,341 L265.6,341 L267.8,341 L270,341 L272.2,341 L274.5,341 L276.7,341 L278.9,341 L281.2,341 L283.4,341 L285.6,341 L287.8,341 L290.1,341 L292.3,341 L294.5,341 L296.7,341 L299,341 L301.2,341 L303.4,341 L305.6,341 L307.9,341 L310.1,340.9 L312.3,340.9 L314.6,340.9 L316.8,340.9 L319,340.8 L321.2,340.8 L323.5,340.7 L325.7,340.7 L327.9,340.6 L330.1,340.5 L332.4,340.3 L334.6,340.1 L336.8,339.9 L339,339.6 L341.3,339.3 L343.5,338.9 L345.7,338.4 L348,337.8 L350.2,337.1 L352.4,336.2 L354.6,335.1 L356.9,333.9 L359.1,332.4 L361.3,330.6 L363.5,328.6 L365.8,326.1 L368,323.3 L370.2,320 L372.4,316.2 L374.7,311.9 L376.9,306.9 L379.1,301.3 L381.4,294.9 L383.6,287.9 L385.8,280 L388,271.3 L390.3,261.8 L392.5,251.4 L394.7,240.3 L396.9,228.5 L399.2,216 L401.4,202.9 L403.6,189.5 L405.8,175.8 L408.1,162.1 L410.3,148.7 L412.5,135.7 L414.7,123.5 L417,112.4 L419.2,102.7 L421.4,94.67 L423.7,88.68 L425.9,84.96 L428.1,83.73 L430.3,85.15 L432.6,89.3 L434.8,96.2 L437,105.8 L439.2,117.8 L441.5,132 L443.7,148.2 L445.9,165.7 L448.1,184.2 L450.4,203.1 L452.6,222 L454.8,240.3 L457.1,257.6 L459.3,273.5 L461.5,287.7 L463.7,300 L466,310.4 L468.2,318.9 L470.4,325.6 L472.6,330.7 L474.9,334.4 L477.1,336.9 L479.3,338.7 L481.5,339.7 L483.8,340.4 L486,340.7 L488.2,340.9 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="526.7" y="58" width="197.3" height="195"/><rect x="526.7" y="58" width="197.3" height="195"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="88" x2="556.7" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="118" x2="556.7" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="148" x2="556.7" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="178" x2="556.7" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="208" x2="556.7" y2="208"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="238" x2="556.7" y2="238"/></g>
+</g>
+<g id="legendText">
+<text x="564.2" y="88" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=0</text>
+<text x="564.2" y="118" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=1</text>
+<text x="564.2" y="148" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=5</text>
+<text x="564.2" y="178" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=10</text>
+<text x="564.2" y="208" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=40</text>
+<text x="564.2" y="238" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=100</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central Beta PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.png b/libs/math/doc/graphs/nc_f_pdf.png
index f303420f21..f303420f21 100644
--- a/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.png
+++ b/libs/math/doc/graphs/nc_f_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/nc_f_pdf.svg b/libs/math/doc/graphs/nc_f_pdf.svg
new file mode 100644
index 0000000000..f60be41c45
--- /dev/null
+++ b/libs/math/doc/graphs/nc_f_pdf.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="410.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="412.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="497" y2="341"/><line x1="79.2" y1="341" x2="497" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.8 L84.2,334.8 M82.2,328.7 L84.2,328.7 M82.2,322.5 L84.2,322.5 M82.2,316.3 L84.2,316.3 M82.2,304 L84.2,304 M82.2,297.9 L84.2,297.9 M82.2,291.7 L84.2,291.7 M82.2,285.5 L84.2,285.5 M82.2,273.2 L84.2,273.2 M82.2,267 L84.2,267 M82.2,260.9 L84.2,260.9 M82.2,254.7 L84.2,254.7 M82.2,242.4 L84.2,242.4 M82.2,236.2 L84.2,236.2 M82.2,230.1 L84.2,230.1 M82.2,223.9 L84.2,223.9 M82.2,211.6 L84.2,211.6 M82.2,205.4 L84.2,205.4 M82.2,199.2 L84.2,199.2 M82.2,193.1 L84.2,193.1 M82.2,180.7 L84.2,180.7 M82.2,174.6 L84.2,174.6 M82.2,168.4 L84.2,168.4 M82.2,162.3 L84.2,162.3 M82.2,149.9 L84.2,149.9 M82.2,143.8 L84.2,143.8 M82.2,137.6 L84.2,137.6 M82.2,131.4 L84.2,131.4 M82.2,119.1 L84.2,119.1 M82.2,112.9 L84.2,112.9 M82.2,106.8 L84.2,106.8 M82.2,100.6 L84.2,100.6 M82.2,88.3 L84.2,88.3 M82.2,82.13 L84.2,82.13 M82.2,75.97 L84.2,75.97 M82.2,69.8 L84.2,69.8 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M100.9,341 L100.9,343 M117.5,341 L117.5,343 M134.2,341 L134.2,343 M150.8,341 L150.8,343 M184.1,341 L184.1,343 M200.8,341 L200.8,343 M217.5,341 L217.5,343 M234.1,341 L234.1,343 M267.4,341 L267.4,343 M284.1,341 L284.1,343 M300.8,341 L300.8,343 M317.4,341 L317.4,343 M350.7,341 L350.7,343 M367.4,341 L367.4,343 M384,341 L384,343 M400.7,341 L400.7,343 M434,341 L434,343 M450.7,341 L450.7,343 M467.3,341 L467.3,343 M484,341 L484,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,310.2 L84.2,310.2 M79.2,279.4 L84.2,279.4 M79.2,248.5 L84.2,248.5 M79.2,217.7 L84.2,217.7 M79.2,186.9 L84.2,186.9 M79.2,156.1 L84.2,156.1 M79.2,125.3 L84.2,125.3 M79.2,94.46 L84.2,94.46 M79.2,63.64 L84.2,63.64 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M167.5,341 L167.5,346 M250.8,341 L250.8,346 M334.1,341 L334.1,346 M417.4,341 L417.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="167.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="250.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="334.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="417.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="312.6" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="281.8" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="250.9" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="220.1" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="189.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="158.5" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="127.7" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="96.86" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="66.04" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="290.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.26,331.8 L88.33,277.9 L90.39,198.3 L92.46,130.9 L94.52,93 L96.59,83.91 L98.65,95.48 L100.7,119 L102.8,147.5 L104.8,176.7 L106.9,204 L109,228.3 L111,249 L113.1,266.4 L115.2,280.8 L117.2,292.5 L119.3,301.9 L121.4,309.6 L123.4,315.7 L125.5,320.6 L127.5,324.5 L129.6,327.7 L131.7,330.2 L133.7,332.2 L135.8,333.9 L137.9,335.2 L139.9,336.2 L142,337.1 L144.1,337.8 L146.1,338.4 L148.2,338.8 L150.3,339.2 L152.3,339.5 L154.4,339.7 L156.4,340 L158.5,340.1 L160.6,340.3 L162.6,340.4 L164.7,340.5 L166.8,340.6 L168.8,340.6 L170.9,340.7 L173,340.7 L175,340.8 L177.1,340.8 L179.2,340.8 L181.2,340.9 L183.3,340.9 L185.3,340.9 L187.4,340.9 L189.5,340.9 L191.5,340.9 L193.6,340.9 L195.7,340.9 L197.7,341 L199.8,341 L201.9,341 L203.9,341 L206,341 L208.1,341 L210.1,341 L212.2,341 L214.2,341 L216.3,341 L218.4,341 L220.4,341 L222.5,341 L224.6,341 L226.6,341 L228.7,341 L230.8,341 L232.8,341 L234.9,341 L237,341 L239,341 L241.1,341 L243.1,341 L245.2,341 L247.3,341 L249.3,341 L251.4,341 L253.5,341 L255.5,341 L257.6,341 L259.7,341 L261.7,341 L263.8,341 L265.8,341 L267.9,341 L270,341 L272,341 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.26,334.9 L88.33,295.9 L90.39,231.8 L92.46,170.1 L94.52,127.9 L96.59,108.9 L98.65,109.1 L100.7,122.4 L102.8,143.2 L104.8,167.1 L106.9,191.3 L109,214 L111,234.5 L113.1,252.4 L115.2,267.7 L117.2,280.6 L119.3,291.4 L121.4,300.2 L123.4,307.6 L125.5,313.6 L127.5,318.5 L129.6,322.5 L131.7,325.8 L133.7,328.5 L135.8,330.7 L137.9,332.5 L139.9,333.9 L142,335.1 L144.1,336.1 L146.1,336.9 L148.2,337.6 L150.3,338.2 L152.3,338.6 L154.4,339 L156.4,339.3 L158.5,339.6 L160.6,339.8 L162.6,340 L164.7,340.1 L166.8,340.3 L168.8,340.4 L170.9,340.5 L173,340.5 L175,340.6 L177.1,340.7 L179.2,340.7 L181.2,340.7 L183.3,340.8 L185.3,340.8 L187.4,340.8 L189.5,340.9 L191.5,340.9 L193.6,340.9 L195.7,340.9 L197.7,340.9 L199.8,340.9 L201.9,340.9 L203.9,340.9 L206,341 L208.1,341 L210.1,341 L212.2,341 L214.2,341 L216.3,341 L218.4,341 L220.4,341 L222.5,341 L224.6,341 L226.6,341 L228.7,341 L230.8,341 L232.8,341 L234.9,341 L237,341 L239,341 L241.1,341 L243.1,341 L245.2,341 L247.3,341 L249.3,341 L251.4,341 L253.5,341 L255.5,341 L257.6,341 L259.7,341 L261.7,341 L263.8,341 L265.8,341 L267.9,341 L270,341 L272,341 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.26,339.8 L88.33,329.6 L90.39,305.4 L92.46,271.8 L94.52,236.5 L96.59,206 L98.65,183.7 L100.7,170.8 L102.8,166.4 L104.8,168.9 L106.9,176.5 L109,187.4 L111,200.2 L113.1,213.8 L115.2,227.4 L117.2,240.5 L119.3,252.7 L121.4,263.9 L123.4,273.9 L125.5,282.9 L127.5,290.8 L129.6,297.7 L131.7,303.7 L133.7,308.9 L135.8,313.4 L137.9,317.3 L139.9,320.6 L142,323.5 L144.1,325.9 L146.1,328 L148.2,329.8 L150.3,331.4 L152.3,332.7 L154.4,333.8 L156.4,334.8 L158.5,335.6 L160.6,336.4 L162.6,337 L164.7,337.5 L166.8,338 L168.8,338.4 L170.9,338.7 L173,339 L175,339.2 L177.1,339.5 L179.2,339.7 L181.2,339.8 L183.3,340 L185.3,340.1 L187.4,340.2 L189.5,340.3 L191.5,340.4 L193.6,340.4 L195.7,340.5 L197.7,340.6 L199.8,340.6 L201.9,340.7 L203.9,340.7 L206,340.7 L208.1,340.8 L210.1,340.8 L212.2,340.8 L214.2,340.8 L216.3,340.8 L218.4,340.9 L220.4,340.9 L222.5,340.9 L224.6,340.9 L226.6,340.9 L228.7,340.9 L230.8,340.9 L232.8,340.9 L234.9,340.9 L237,340.9 L239,341 L241.1,341 L243.1,341 L245.2,341 L247.3,341 L249.3,341 L251.4,341 L253.5,341 L255.5,341 L257.6,341 L259.7,341 L261.7,341 L263.8,341 L265.8,341 L267.9,341 L270,341 L272,341 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.26,340.9 L88.33,339 L90.39,333 L92.46,321.3 L94.52,304.5 L96.59,284.6 L98.65,264.1 L100.7,245.2 L102.8,229.3 L104.8,217.4 L106.9,209.7 L109,205.9 L111,205.7 L113.1,208.2 L115.2,213 L117.2,219.5 L119.3,226.9 L121.4,235 L123.4,243.3 L125.5,251.6 L127.5,259.7 L129.6,267.4 L131.7,274.7 L133.7,281.5 L135.8,287.7 L137.9,293.3 L139.9,298.5 L142,303.2 L144.1,307.4 L146.1,311.1 L148.2,314.5 L150.3,317.5 L152.3,320.1 L154.4,322.5 L156.4,324.6 L158.5,326.4 L160.6,328.1 L162.6,329.6 L164.7,330.8 L166.8,332 L168.8,333 L170.9,333.9 L173,334.7 L175,335.4 L177.1,336 L179.2,336.5 L181.2,337 L183.3,337.5 L185.3,337.8 L187.4,338.2 L189.5,338.5 L191.5,338.7 L193.6,339 L195.7,339.2 L197.7,339.4 L199.8,339.5 L201.9,339.7 L203.9,339.8 L206,339.9 L208.1,340 L210.1,340.1 L212.2,340.2 L214.2,340.3 L216.3,340.4 L218.4,340.4 L220.4,340.5 L222.5,340.5 L224.6,340.6 L226.6,340.6 L228.7,340.7 L230.8,340.7 L232.8,340.7 L234.9,340.7 L237,340.8 L239,340.8 L241.1,340.8 L243.1,340.8 L245.2,340.8 L247.3,340.9 L249.3,340.9 L251.4,340.9 L253.5,340.9 L255.5,340.9 L257.6,340.9 L259.7,340.9 L261.7,340.9 L263.8,340.9 L265.8,340.9 L267.9,340.9 L270,340.9 L272,340.9 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.26,341 L88.33,341 L90.39,341 L92.46,341 L94.52,341 L96.59,341 L98.65,340.9 L100.7,340.7 L102.8,340.4 L104.8,339.8 L106.9,339 L109,337.8 L111,336.2 L113.1,334.1 L115.2,331.5 L117.2,328.6 L119.3,325.2 L121.4,321.5 L123.4,317.5 L125.5,313.4 L127.5,309.2 L129.6,305 L131.7,301 L133.7,297.1 L135.8,293.5 L137.9,290.2 L139.9,287.3 L142,284.7 L144.1,282.6 L146.1,280.8 L148.2,279.5 L150.3,278.5 L152.3,277.9 L154.4,277.7 L156.4,277.8 L158.5,278.1 L160.6,278.8 L162.6,279.7 L164.7,280.7 L166.8,282 L168.8,283.4 L170.9,285 L173,286.6 L175,288.3 L177.1,290.1 L179.2,291.9 L181.2,293.8 L183.3,295.7 L185.3,297.5 L187.4,299.3 L189.5,301.2 L191.5,303 L193.6,304.7 L195.7,306.4 L197.7,308.1 L199.8,309.7 L201.9,311.2 L203.9,312.7 L206,314.2 L208.1,315.6 L210.1,316.9 L212.2,318.2 L214.2,319.4 L216.3,320.5 L218.4,321.6 L220.4,322.7 L222.5,323.7 L224.6,324.6 L226.6,325.5 L228.7,326.4 L230.8,327.2 L232.8,328 L234.9,328.7 L237,329.4 L239,330.1 L241.1,330.7 L243.1,331.3 L245.2,331.8 L247.3,332.3 L249.3,332.8 L251.4,333.3 L253.5,333.7 L255.5,334.1 L257.6,334.5 L259.7,334.9 L261.7,335.2 L263.8,335.6 L265.8,335.9 L267.9,336.1 L270,336.4 L272,336.7 L274.1,336.9 L276.2,337.1 L278.2,337.4 L280.3,337.6 L282.4,337.8 L284.4,337.9 L286.5,338.1 L288.6,338.3 L290.6,338.4 L292.7,338.6 L294.7,338.7 L296.8,338.8 L298.9,338.9 L300.9,339.1 L303,339.2 L305.1,339.3 L307.1,339.3 L309.2,339.4 L311.3,339.5 L313.3,339.6 L315.4,339.7 L317.5,339.7 L319.5,339.8 L321.6,339.9 L323.6,339.9 L325.7,340 L327.8,340 L329.8,340.1 L331.9,340.1 L334,340.2 L336,340.2 L338.1,340.3 L340.2,340.3 L342.2,340.3 L344.3,340.4 L346.4,340.4 L348.4,340.4 L350.5,340.5 L352.5,340.5 L354.6,340.5 L356.7,340.5 L358.7,340.6 L360.8,340.6 L362.9,340.6 L364.9,340.6 L367,340.6 L369.1,340.7 L371.1,340.7 L373.2,340.7 L375.3,340.7 L377.3,340.7 L379.4,340.7 L381.4,340.7 L383.5,340.8 L385.6,340.8 L387.6,340.8 L389.7,340.8 L391.8,340.8 L393.8,340.8 L395.9,340.8 L398,340.8 L400,340.8 L402.1,340.8 L404.2,340.9 L406.2,340.9 L408.3,340.9 L410.3,340.9 L412.4,340.9 L414.5,340.9 L416.5,340.9 L418.6,340.9 L420.7,340.9 L422.7,340.9 L424.8,340.9 L426.9,340.9 L428.9,340.9 L431,340.9 L433,340.9 L435.1,340.9 L437.2,340.9 L439.2,340.9 L441.3,340.9 L443.4,340.9 L445.4,340.9 L447.5,340.9 L449.6,340.9 L451.6,340.9 L453.7,340.9 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.26,341 L88.33,341 L90.39,341 L92.46,341 L94.52,341 L96.59,341 L98.65,341 L100.7,341 L102.8,341 L104.8,341 L106.9,341 L109,341 L111,341 L113.1,341 L115.2,341 L117.2,341 L119.3,341 L121.4,341 L123.4,341 L125.5,341 L127.5,341 L129.6,341 L131.7,340.9 L133.7,340.9 L135.8,340.9 L137.9,340.8 L139.9,340.7 L142,340.6 L144.1,340.5 L146.1,340.3 L148.2,340.1 L150.3,339.9 L152.3,339.6 L154.4,339.3 L156.4,338.9 L158.5,338.4 L160.6,337.9 L162.6,337.4 L164.7,336.7 L166.8,336.1 L168.8,335.3 L170.9,334.5 L173,333.7 L175,332.8 L177.1,331.9 L179.2,330.9 L181.2,329.9 L183.3,328.9 L185.3,327.9 L187.4,326.8 L189.5,325.7 L191.5,324.7 L193.6,323.6 L195.7,322.6 L197.7,321.5 L199.8,320.5 L201.9,319.5 L203.9,318.5 L206,317.6 L208.1,316.7 L210.1,315.9 L212.2,315.1 L214.2,314.3 L216.3,313.6 L218.4,312.9 L220.4,312.3 L222.5,311.7 L224.6,311.2 L226.6,310.8 L228.7,310.3 L230.8,310 L232.8,309.7 L234.9,309.4 L237,309.2 L239,309.1 L241.1,309 L243.1,308.9 L245.2,308.9 L247.3,308.9 L249.3,308.9 L251.4,309 L253.5,309.2 L255.5,309.3 L257.6,309.5 L259.7,309.8 L261.7,310 L263.8,310.3 L265.8,310.6 L267.9,310.9 L270,311.3 L272,311.6 L274.1,312 L276.2,312.4 L278.2,312.8 L280.3,313.3 L282.4,313.7 L284.4,314.2 L286.5,314.6 L288.6,315.1 L290.6,315.5 L292.7,316 L294.7,316.5 L296.8,317 L298.9,317.4 L300.9,317.9 L303,318.4 L305.1,318.9 L307.1,319.4 L309.2,319.8 L311.3,320.3 L313.3,320.8 L315.4,321.2 L317.5,321.7 L319.5,322.2 L321.6,322.6 L323.6,323 L325.7,323.5 L327.8,323.9 L329.8,324.3 L331.9,324.8 L334,325.2 L336,325.6 L338.1,326 L340.2,326.4 L342.2,326.7 L344.3,327.1 L346.4,327.5 L348.4,327.8 L350.5,328.2 L352.5,328.5 L354.6,328.9 L356.7,329.2 L358.7,329.5 L360.8,329.9 L362.9,330.2 L364.9,330.5 L367,330.8 L369.1,331 L371.1,331.3 L373.2,331.6 L375.3,331.9 L377.3,332.1 L379.4,332.4 L381.4,332.6 L383.5,332.9 L385.6,333.1 L387.6,333.3 L389.7,333.5 L391.8,333.7 L393.8,334 L395.9,334.2 L398,334.4 L400,334.6 L402.1,334.7 L404.2,334.9 L406.2,335.1 L408.3,335.3 L410.3,335.4 L412.4,335.6 L414.5,335.8 L416.5,335.9 L418.6,336.1 L420.7,336.2 L422.7,336.3 L424.8,336.5 L426.9,336.6 L428.9,336.7 L431,336.9 L433,337 L435.1,337.1 L437.2,337.2 L439.2,337.3 L441.3,337.4 L443.4,337.5 L445.4,337.6 L447.5,337.7 L449.6,337.8 L451.6,337.9 L453.7,338 L455.8,338.1 L457.8,338.2 L459.9,338.3 L461.9,338.4 L464,338.4 L466.1,338.5 L468.1,338.6 L470.2,338.6 L472.3,338.7 L474.3,338.8 L476.4,338.8 L478.5,338.9 L480.5,339 L482.6,339 L484.7,339.1 L486.7,339.1 L488.8,339.2 L490.8,339.2 L492.9,339.3 L495,339.3 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="511" y="58" width="213" height="195"/><rect x="511" y="58" width="213" height="195"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="88" x2="541" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="118" x2="541" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="148" x2="541" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="178" x2="541" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="208" x2="541" y2="208"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="238" x2="541" y2="238"/></g>
+</g>
+<g id="legendText">
+<text x="548.5" y="88" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=0</text>
+<text x="548.5" y="118" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=1</text>
+<text x="548.5" y="148" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=5</text>
+<text x="548.5" y="178" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=10</text>
+<text x="548.5" y="208" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=40</text>
+<text x="548.5" y="238" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=100</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central F PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/nc_t_cdf.png b/libs/math/doc/graphs/nc_t_cdf.png
new file mode 100644
index 0000000000..689165e086
--- /dev/null
+++ b/libs/math/doc/graphs/nc_t_cdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/nc_t_cdf.svg b/libs/math/doc/graphs/nc_t_cdf.svg
new file mode 100644
index 0000000000..e6f47a65b1
--- /dev/null
+++ b/libs/math/doc/graphs/nc_t_cdf.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="322" y1="58" x2="322" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M347.7,341 L347.7,343 M373.4,341 L373.4,343 M399.1,341 L399.1,343 M424.8,341 L424.8,343 M476.2,341 L476.2,343 M501.9,341 L501.9,343 M527.6,341 L527.6,343 M553.3,341 L553.3,343 M296.3,341 L296.3,343 M270.6,341 L270.6,343 M244.9,341 L244.9,343 M219.2,341 L219.2,343 M167.8,341 L167.8,343 M142.1,341 L142.1,343 M116.4,341 L116.4,343 M90.7,341 L90.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M322,341 L322,346 M450.5,341 L450.5,346 M322,341 L322,346 M193.5,341 L193.5,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="450.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="193.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,335.7 L86.58,335.3 L88.96,334.8 L91.33,334.4 L93.71,333.8 L96.09,333.3 L98.47,332.7 L100.8,332.1 L103.2,331.4 L105.6,330.6 L108,329.8 L110.4,328.9 L112.7,328 L115.1,327 L117.5,325.8 L119.9,324.7 L122.2,323.4 L124.6,322 L127,320.5 L129.4,318.9 L131.8,317.1 L134.1,315.3 L136.5,313.2 L138.9,311.1 L141.3,308.7 L143.6,306.2 L146,303.5 L148.4,300.7 L150.8,297.6 L153.2,294.3 L155.5,290.7 L157.9,287 L160.3,282.9 L162.7,278.7 L165,274.1 L167.4,269.3 L169.8,264.2 L172.2,258.8 L174.6,253.2 L176.9,247.2 L179.3,241 L181.7,234.5 L184.1,227.8 L186.4,220.8 L188.8,213.6 L191.2,206.2 L193.6,198.7 L196,191 L198.3,183.2 L200.7,175.4 L203.1,167.6 L205.5,159.9 L207.8,152.3 L210.2,145 L212.6,137.8 L215,131 L217.4,124.6 L219.7,118.6 L222.1,113.1 L224.5,108 L226.9,103.5 L229.2,99.59 L231.6,96.18 L234,93.3 L236.4,90.92 L238.8,88.99 L241.1,87.47 L243.5,86.32 L245.9,85.46 L248.3,84.84 L250.6,84.42 L253,84.14 L255.4,83.96 L257.8,83.85 L260.2,83.79 L262.5,83.76 L264.9,83.74 L267.3,83.73 L269.7,83.73 L272,83.73 L274.4,83.73 L276.8,83.73 L279.2,83.73 L281.6,83.73 L283.9,83.73 L286.3,83.73 L288.7,83.73 L291.1,83.73 L293.4,83.73 L295.8,83.73 L298.2,83.73 L300.6,83.73 L303,83.73 L305.3,83.73 L307.7,83.73 L310.1,83.73 L312.5,83.73 L314.8,83.73 L317.2,83.73 L319.6,83.73 L322,83.73 L324.4,83.73 L326.7,83.73 L329.1,83.73 L331.5,83.73 L333.9,83.73 L336.2,83.73 L338.6,83.73 L341,83.73 L343.4,83.73 L345.8,83.73 L348.1,83.73 L350.5,83.73 L352.9,83.73 L355.3,83.73 L357.6,83.73 L360,83.73 L362.4,83.73 L364.8,83.73 L367.2,83.73 L369.5,83.73 L371.9,83.73 L374.3,83.73 L376.7,83.73 L379,83.73 L381.4,83.73 L383.8,83.73 L386.2,83.73 L388.6,83.73 L390.9,83.73 L393.3,83.73 L395.7,83.73 L398.1,83.73 L400.4,83.73 L402.8,83.73 L405.2,83.73 L407.6,83.73 L410,83.73 L412.3,83.73 L414.7,83.73 L417.1,83.73 L419.5,83.73 L421.8,83.73 L424.2,83.73 L426.6,83.73 L429,83.73 L431.4,83.73 L433.7,83.73 L436.1,83.73 L438.5,83.73 L440.9,83.73 L443.2,83.73 L445.6,83.73 L448,83.73 L450.4,83.73 L452.8,83.73 L455.1,83.73 L457.5,83.73 L459.9,83.73 L462.3,83.73 L464.6,83.73 L467,83.73 L469.4,83.73 L471.8,83.73 L474.2,83.73 L476.5,83.73 L478.9,83.73 L481.3,83.73 L483.7,83.73 L486,83.73 L488.4,83.73 L490.8,83.73 L493.2,83.73 L495.6,83.73 L497.9,83.73 L500.3,83.73 L502.7,83.73 L505.1,83.73 L507.4,83.73 L509.8,83.73 L512.2,83.73 L514.6,83.73 L517,83.73 L519.3,83.73 L521.7,83.73 L524.1,83.73 L526.5,83.73 L528.8,83.73 L531.2,83.73 L533.6,83.73 L536,83.73 L538.4,83.73 L540.7,83.73 L543.1,83.73 L545.5,83.73 L547.9,83.73 L550.2,83.73 L552.6,83.73 L555,83.73 L557.4,83.73 L559.8,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,340.9 L98.47,340.9 L100.8,340.9 L103.2,340.9 L105.6,340.9 L108,340.9 L110.4,340.9 L112.7,340.9 L115.1,340.9 L117.5,340.9 L119.9,340.9 L122.2,340.8 L124.6,340.8 L127,340.8 L129.4,340.8 L131.8,340.8 L134.1,340.7 L136.5,340.7 L138.9,340.7 L141.3,340.6 L143.6,340.6 L146,340.6 L148.4,340.5 L150.8,340.4 L153.2,340.4 L155.5,340.3 L157.9,340.2 L160.3,340.1 L162.7,340 L165,339.9 L167.4,339.7 L169.8,339.6 L172.2,339.4 L174.6,339.2 L176.9,338.9 L179.3,338.7 L181.7,338.4 L184.1,338 L186.4,337.6 L188.8,337.1 L191.2,336.6 L193.6,336 L196,335.3 L198.3,334.5 L200.7,333.6 L203.1,332.6 L205.5,331.4 L207.8,330.1 L210.2,328.5 L212.6,326.8 L215,324.8 L217.4,322.5 L219.7,319.9 L222.1,316.9 L224.5,313.5 L226.9,309.7 L229.2,305.4 L231.6,300.6 L234,295.1 L236.4,289 L238.8,282.3 L241.1,274.8 L243.5,266.5 L245.9,257.5 L248.3,247.7 L250.6,237.2 L253,226 L255.4,214.2 L257.8,202 L260.2,189.5 L262.5,176.8 L264.9,164.3 L267.3,152.1 L269.7,140.5 L272,129.7 L274.4,120.1 L276.8,111.6 L279.2,104.4 L281.6,98.53 L283.9,93.93 L286.3,90.47 L288.7,87.99 L291.1,86.3 L293.4,85.21 L295.8,84.54 L298.2,84.15 L300.6,83.93 L303,83.82 L305.3,83.77 L307.7,83.75 L310.1,83.74 L312.5,83.73 L314.8,83.73 L317.2,83.73 L319.6,83.73 L322,83.73 L324.4,83.73 L326.7,83.73 L329.1,83.73 L331.5,83.73 L333.9,83.73 L336.2,83.73 L338.6,83.73 L341,83.73 L343.4,83.73 L345.8,83.73 L348.1,83.73 L350.5,83.73 L352.9,83.73 L355.3,83.73 L357.6,83.73 L360,83.73 L362.4,83.73 L364.8,83.73 L367.2,83.73 L369.5,83.73 L371.9,83.73 L374.3,83.73 L376.7,83.73 L379,83.73 L381.4,83.73 L383.8,83.73 L386.2,83.73 L388.6,83.73 L390.9,83.73 L393.3,83.73 L395.7,83.73 L398.1,83.73 L400.4,83.73 L402.8,83.73 L405.2,83.73 L407.6,83.73 L410,83.73 L412.3,83.73 L414.7,83.73 L417.1,83.73 L419.5,83.73 L421.8,83.73 L424.2,83.73 L426.6,83.73 L429,83.73 L431.4,83.73 L433.7,83.73 L436.1,83.73 L438.5,83.73 L440.9,83.73 L443.2,83.73 L445.6,83.73 L448,83.73 L450.4,83.73 L452.8,83.73 L455.1,83.73 L457.5,83.73 L459.9,83.73 L462.3,83.73 L464.6,83.73 L467,83.73 L469.4,83.73 L471.8,83.73 L474.2,83.73 L476.5,83.73 L478.9,83.73 L481.3,83.73 L483.7,83.73 L486,83.73 L488.4,83.73 L490.8,83.73 L493.2,83.73 L495.6,83.73 L497.9,83.73 L500.3,83.73 L502.7,83.73 L505.1,83.73 L507.4,83.73 L509.8,83.73 L512.2,83.73 L514.6,83.73 L517,83.73 L519.3,83.73 L521.7,83.73 L524.1,83.73 L526.5,83.73 L528.8,83.73 L531.2,83.73 L533.6,83.73 L536,83.73 L538.4,83.73 L540.7,83.73 L543.1,83.73 L545.5,83.73 L547.9,83.73 L550.2,83.73 L552.6,83.73 L555,83.73 L557.4,83.73 L559.8,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,340.9 L257.8,340.9 L260.2,340.9 L262.5,340.9 L264.9,340.8 L267.3,340.8 L269.7,340.7 L272,340.6 L274.4,340.5 L276.8,340.3 L279.2,340 L281.6,339.7 L283.9,339.2 L286.3,338.5 L288.7,337.5 L291.1,336.2 L293.4,334.5 L295.8,332.1 L298.2,328.9 L300.6,324.7 L303,319.2 L305.3,312.1 L307.7,303.3 L310.1,292.6 L312.5,279.7 L314.8,265 L317.2,248.5 L319.6,230.8 L322,212.4 L324.4,194 L326.7,176.2 L329.1,159.8 L331.5,145 L333.9,132.2 L336.2,121.4 L338.6,112.6 L341,105.5 L343.4,100 L345.8,95.81 L348.1,92.62 L350.5,90.24 L352.9,88.48 L355.3,87.19 L357.6,86.25 L360,85.56 L362.4,85.07 L364.8,84.71 L367.2,84.44 L369.5,84.25 L371.9,84.12 L374.3,84.02 L376.7,83.94 L379,83.89 L381.4,83.85 L383.8,83.82 L386.2,83.8 L388.6,83.78 L390.9,83.77 L393.3,83.76 L395.7,83.75 L398.1,83.75 L400.4,83.74 L402.8,83.74 L405.2,83.74 L407.6,83.73 L410,83.73 L412.3,83.73 L414.7,83.73 L417.1,83.73 L419.5,83.73 L421.8,83.73 L424.2,83.73 L426.6,83.73 L429,83.73 L431.4,83.73 L433.7,83.73 L436.1,83.73 L438.5,83.73 L440.9,83.73 L443.2,83.73 L445.6,83.73 L448,83.73 L450.4,83.73 L452.8,83.73 L455.1,83.73 L457.5,83.73 L459.9,83.73 L462.3,83.73 L464.6,83.73 L467,83.73 L469.4,83.73 L471.8,83.73 L474.2,83.73 L476.5,83.73 L478.9,83.73 L481.3,83.73 L483.7,83.73 L486,83.73 L488.4,83.73 L490.8,83.73 L493.2,83.73 L495.6,83.73 L497.9,83.73 L500.3,83.73 L502.7,83.73 L505.1,83.73 L507.4,83.73 L509.8,83.73 L512.2,83.73 L514.6,83.73 L517,83.73 L519.3,83.73 L521.7,83.73 L524.1,83.73 L526.5,83.73 L528.8,83.73 L531.2,83.73 L533.6,83.73 L536,83.73 L538.4,83.73 L540.7,83.73 L543.1,83.73 L545.5,83.73 L547.9,83.73 L550.2,83.73 L552.6,83.73 L555,83.73 L557.4,83.73 L559.8,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,340.9 L343.4,340.8 L345.8,340.6 L348.1,340.2 L350.5,339.5 L352.9,338.4 L355.3,336.7 L357.6,334.3 L360,330.8 L362.4,326.2 L364.8,320.3 L367.2,313.2 L369.5,304.7 L371.9,295 L374.3,284.2 L376.7,272.7 L379,260.5 L381.4,247.9 L383.8,235.3 L386.2,222.7 L388.6,210.5 L390.9,198.7 L393.3,187.5 L395.7,177 L398.1,167.2 L400.4,158.2 L402.8,150 L405.2,142.5 L407.6,135.7 L410,129.6 L412.3,124.2 L414.7,119.3 L417.1,115 L419.5,111.2 L421.8,107.8 L424.2,104.9 L426.6,102.3 L429,99.98 L431.4,97.97 L433.7,96.21 L436.1,94.67 L438.5,93.32 L440.9,92.14 L443.2,91.11 L445.6,90.21 L448,89.42 L450.4,88.73 L452.8,88.12 L455.1,87.6 L457.5,87.14 L459.9,86.73 L462.3,86.38 L464.6,86.07 L467,85.79 L469.4,85.56 L471.8,85.35 L474.2,85.16 L476.5,85 L478.9,84.86 L481.3,84.73 L483.7,84.62 L486,84.52 L488.4,84.43 L490.8,84.36 L493.2,84.29 L495.6,84.23 L497.9,84.18 L500.3,84.13 L502.7,84.09 L505.1,84.05 L507.4,84.02 L509.8,83.99 L512.2,83.96 L514.6,83.94 L517,83.92 L519.3,83.9 L521.7,83.88 L524.1,83.87 L526.5,83.85 L528.8,83.84 L531.2,83.83 L533.6,83.82 L536,83.81 L538.4,83.8 L540.7,83.8 L543.1,83.79 L545.5,83.79 L547.9,83.78 L550.2,83.78 L552.6,83.77 L555,83.77 L557.4,83.76 L559.8,83.76 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,340.9 L386.2,340.9 L388.6,340.8 L390.9,340.6 L393.3,340.3 L395.7,339.9 L398.1,339.3 L400.4,338.4 L402.8,337.3 L405.2,335.7 L407.6,333.8 L410,331.4 L412.3,328.5 L414.7,325.1 L417.1,321.2 L419.5,316.7 L421.8,311.7 L424.2,306.1 L426.6,300.1 L429,293.7 L431.4,286.9 L433.7,279.8 L436.1,272.4 L438.5,264.8 L440.9,257.1 L443.2,249.3 L445.6,241.5 L448,233.7 L450.4,226.1 L452.8,218.5 L455.1,211.1 L457.5,203.9 L459.9,196.9 L462.3,190.2 L464.6,183.7 L467,177.5 L469.4,171.5 L471.8,165.9 L474.2,160.5 L476.5,155.4 L478.9,150.6 L481.3,146.1 L483.7,141.8 L486,137.8 L488.4,134 L490.8,130.5 L493.2,127.2 L495.6,124.1 L497.9,121.2 L500.3,118.5 L502.7,116 L505.1,113.7 L507.4,111.5 L509.8,109.5 L512.2,107.6 L514.6,105.9 L517,104.2 L519.3,102.7 L521.7,101.4 L524.1,100.1 L526.5,98.88 L528.8,97.78 L531.2,96.75 L533.6,95.81 L536,94.93 L538.4,94.12 L540.7,93.37 L543.1,92.67 L545.5,92.03 L547.9,91.43 L550.2,90.88 L552.6,90.37 L555,89.9 L557.4,89.46 L559.8,89.05 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,340.9 L471.8,340.9 L474.2,340.8 L476.5,340.6 L478.9,340.3 L481.3,339.8 L483.7,339 L486,337.7 L488.4,335.8 L490.8,332.9 L493.2,328.9 L495.6,323.5 L497.9,316.4 L500.3,307.3 L502.7,296.1 L505.1,282.8 L507.4,267.5 L509.8,250.5 L512.2,232.3 L514.6,213.4 L517,194.5 L519.3,176.2 L521.7,159.1 L524.1,143.6 L526.5,130.1 L528.8,118.6 L531.2,109.3 L533.6,101.9 L536,96.32 L538.4,92.19 L540.7,89.24 L543.1,87.21 L545.5,85.86 L547.9,85 L550.2,84.46 L552.6,84.14 L555,83.95 L557.4,83.84 L559.8,83.79 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="195"/><rect x="573.8" y="58" width="150.2" height="195"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="178" x2="603.8" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="208" x2="603.8" y2="208"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="238" x2="603.8" y2="238"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">v=10, &#x3B4;=-10</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">v=10, &#x3B4;=-5</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">v=10, &#x3B4;=0</text>
+<text x="611.3" y="178" font-size="15" font-family="Verdana">v=10, &#x3B4;=5</text>
+<text x="611.3" y="208" font-size="15" font-family="Verdana">v=10, &#x3B4;=10</text>
+<text x="611.3" y="238" font-size="15" font-family="Verdana">v=inf, &#x3B4;=15</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central T CDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.png b/libs/math/doc/graphs/nc_t_pdf.png
index 33ba441266..33ba441266 100644
--- a/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.png
+++ b/libs/math/doc/graphs/nc_t_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/nc_t_pdf.svg b/libs/math/doc/graphs/nc_t_pdf.svg
new file mode 100644
index 0000000000..da5cc07468
--- /dev/null
+++ b/libs/math/doc/graphs/nc_t_pdf.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="322" y1="58" x2="322" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328.1 L84.2,328.1 M82.2,315.2 L84.2,315.2 M82.2,302.3 L84.2,302.3 M82.2,289.4 L84.2,289.4 M82.2,263.6 L84.2,263.6 M82.2,250.7 L84.2,250.7 M82.2,237.8 L84.2,237.8 M82.2,224.9 L84.2,224.9 M82.2,199.1 L84.2,199.1 M82.2,186.2 L84.2,186.2 M82.2,173.3 L84.2,173.3 M82.2,160.4 L84.2,160.4 M82.2,134.6 L84.2,134.6 M82.2,121.7 L84.2,121.7 M82.2,108.8 L84.2,108.8 M82.2,95.94 L84.2,95.94 M82.2,70.15 L84.2,70.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M347.7,341 L347.7,343 M373.4,341 L373.4,343 M399.1,341 L399.1,343 M424.8,341 L424.8,343 M476.2,341 L476.2,343 M501.9,341 L501.9,343 M527.6,341 L527.6,343 M553.3,341 L553.3,343 M296.3,341 L296.3,343 M270.6,341 L270.6,343 M244.9,341 L244.9,343 M219.2,341 L219.2,343 M167.8,341 L167.8,343 M142.1,341 L142.1,343 M116.4,341 L116.4,343 M90.7,341 L90.7,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,276.5 L84.2,276.5 M79.2,212 L84.2,212 M79.2,147.5 L84.2,147.5 M79.2,83.05 L84.2,83.05 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M322,341 L322,346 M450.5,341 L450.5,346 M322,341 L322,346 M193.5,341 L193.5,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="450.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="193.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="278.9" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="214.4" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="149.9" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="85.45" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,335.7 L86.58,335.3 L88.96,334.8 L91.33,334.3 L93.71,333.8 L96.09,333.2 L98.47,332.6 L100.8,331.9 L103.2,331.2 L105.6,330.4 L108,329.6 L110.4,328.7 L112.7,327.7 L115.1,326.6 L117.5,325.5 L119.9,324.2 L122.2,322.9 L124.6,321.5 L127,319.9 L129.4,318.3 L131.8,316.6 L134.1,314.7 L136.5,312.7 L138.9,310.5 L141.3,308.2 L143.6,305.8 L146,303.3 L148.4,300.6 L150.8,297.7 L153.2,294.7 L155.5,291.5 L157.9,288.3 L160.3,284.8 L162.7,281.3 L165,277.7 L167.4,273.9 L169.8,270.1 L172.2,266.3 L174.6,262.5 L176.9,258.7 L179.3,255 L181.7,251.4 L184.1,248 L186.4,244.9 L188.8,242.1 L191.2,239.6 L193.6,237.7 L196,236.3 L198.3,235.5 L200.7,235.3 L203.1,235.9 L205.5,237.3 L207.8,239.5 L210.2,242.6 L212.6,246.5 L215,251.2 L217.4,256.7 L219.7,262.8 L222.1,269.4 L224.5,276.5 L226.9,283.8 L229.2,291.2 L231.6,298.4 L234,305.4 L236.4,311.9 L238.8,317.8 L241.1,323 L243.5,327.5 L245.9,331.1 L248.3,334.1 L250.6,336.3 L253,338 L255.4,339.1 L257.8,339.9 L260.2,340.4 L262.5,340.7 L264.9,340.8 L267.3,340.9 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,340.9 L93.71,340.9 L96.09,340.9 L98.47,340.9 L100.8,340.9 L103.2,340.9 L105.6,340.9 L108,340.9 L110.4,340.9 L112.7,340.9 L115.1,340.8 L117.5,340.8 L119.9,340.8 L122.2,340.8 L124.6,340.8 L127,340.7 L129.4,340.7 L131.8,340.7 L134.1,340.6 L136.5,340.6 L138.9,340.5 L141.3,340.5 L143.6,340.4 L146,340.3 L148.4,340.2 L150.8,340.1 L153.2,340 L155.5,339.9 L157.9,339.8 L160.3,339.6 L162.7,339.4 L165,339.2 L167.4,338.9 L169.8,338.7 L172.2,338.3 L174.6,338 L176.9,337.5 L179.3,337.1 L181.7,336.5 L184.1,335.9 L186.4,335.2 L188.8,334.3 L191.2,333.4 L193.6,332.3 L196,331 L198.3,329.6 L200.7,327.9 L203.1,326.1 L205.5,323.9 L207.8,321.5 L210.2,318.7 L212.6,315.5 L215,312 L217.4,307.9 L219.7,303.3 L222.1,298.2 L224.5,292.5 L226.9,286.1 L229.2,279.1 L231.6,271.4 L234,263 L236.4,254 L238.8,244.5 L241.1,234.4 L243.5,224.1 L245.9,213.7 L248.3,203.5 L250.6,193.9 L253,185.2 L255.4,178 L257.8,172.7 L260.2,169.8 L262.5,169.8 L264.9,172.9 L267.3,179.5 L269.7,189.3 L272,202.2 L274.4,217.6 L276.8,234.8 L279.2,252.7 L281.6,270.3 L283.9,286.8 L286.3,301.2 L288.7,313.2 L291.1,322.5 L293.4,329.4 L295.8,334.1 L298.2,337.1 L300.6,338.9 L303,340 L305.3,340.5 L307.7,340.8 L310.1,340.9 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,340.9 L248.3,340.9 L250.6,340.9 L253,340.9 L255.4,340.8 L257.8,340.7 L260.2,340.7 L262.5,340.5 L264.9,340.4 L267.3,340.1 L269.7,339.8 L272,339.4 L274.4,338.8 L276.8,338 L279.2,336.9 L281.6,335.3 L283.9,333.1 L286.3,330.2 L288.7,326.1 L291.1,320.6 L293.4,313.3 L295.8,303.7 L298.2,291.3 L300.6,275.7 L303,256.6 L305.3,234.1 L307.7,208.6 L310.1,181.3 L312.5,153.9 L314.8,128.7 L317.2,108.2 L319.6,94.74 L322,90.07 L324.4,94.74 L326.7,108.2 L329.1,128.7 L331.5,153.9 L333.9,181.3 L336.2,208.6 L338.6,234.1 L341,256.6 L343.4,275.7 L345.8,291.3 L348.1,303.7 L350.5,313.3 L352.9,320.6 L355.3,326.1 L357.6,330.2 L360,333.1 L362.4,335.3 L364.8,336.9 L367.2,338 L369.5,338.8 L371.9,339.4 L374.3,339.8 L376.7,340.1 L379,340.4 L381.4,340.5 L383.8,340.7 L386.2,340.7 L388.6,340.8 L390.9,340.9 L393.3,340.9 L395.7,340.9 L398.1,340.9 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,340.9 L336.2,340.8 L338.6,340.5 L341,340 L343.4,338.9 L345.8,337.1 L348.1,334.1 L350.5,329.4 L352.9,322.5 L355.3,313.2 L357.6,301.2 L360,286.8 L362.4,270.3 L364.8,252.7 L367.2,234.8 L369.5,217.6 L371.9,202.2 L374.3,189.3 L376.7,179.5 L379,172.9 L381.4,169.8 L383.8,169.8 L386.2,172.7 L388.6,178 L390.9,185.2 L393.3,193.9 L395.7,203.5 L398.1,213.7 L400.4,224.1 L402.8,234.4 L405.2,244.5 L407.6,254 L410,263 L412.3,271.4 L414.7,279.1 L417.1,286.1 L419.5,292.5 L421.8,298.2 L424.2,303.3 L426.6,307.9 L429,312 L431.4,315.5 L433.7,318.7 L436.1,321.5 L438.5,323.9 L440.9,326.1 L443.2,327.9 L445.6,329.6 L448,331 L450.4,332.3 L452.8,333.4 L455.1,334.3 L457.5,335.2 L459.9,335.9 L462.3,336.5 L464.6,337.1 L467,337.5 L469.4,338 L471.8,338.3 L474.2,338.7 L476.5,338.9 L478.9,339.2 L481.3,339.4 L483.7,339.6 L486,339.8 L488.4,339.9 L490.8,340 L493.2,340.1 L495.6,340.2 L497.9,340.3 L500.3,340.4 L502.7,340.5 L505.1,340.5 L507.4,340.6 L509.8,340.6 L512.2,340.7 L514.6,340.7 L517,340.7 L519.3,340.8 L521.7,340.8 L524.1,340.8 L526.5,340.8 L528.8,340.8 L531.2,340.9 L533.6,340.9 L536,340.9 L538.4,340.9 L540.7,340.9 L543.1,340.9 L545.5,340.9 L547.9,340.9 L550.2,340.9 L552.6,340.9 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,340.9 L379,340.8 L381.4,340.7 L383.8,340.4 L386.2,339.9 L388.6,339.1 L390.9,338 L393.3,336.3 L395.7,334.1 L398.1,331.1 L400.4,327.5 L402.8,323 L405.2,317.8 L407.6,311.9 L410,305.4 L412.3,298.4 L414.7,291.2 L417.1,283.8 L419.5,276.5 L421.8,269.4 L424.2,262.8 L426.6,256.7 L429,251.2 L431.4,246.5 L433.7,242.6 L436.1,239.5 L438.5,237.3 L440.9,235.9 L443.2,235.3 L445.6,235.5 L448,236.3 L450.4,237.7 L452.8,239.6 L455.1,242.1 L457.5,244.9 L459.9,248 L462.3,251.4 L464.6,255 L467,258.7 L469.4,262.5 L471.8,266.3 L474.2,270.1 L476.5,273.9 L478.9,277.7 L481.3,281.3 L483.7,284.8 L486,288.3 L488.4,291.5 L490.8,294.7 L493.2,297.7 L495.6,300.6 L497.9,303.3 L500.3,305.8 L502.7,308.2 L505.1,310.5 L507.4,312.7 L509.8,314.7 L512.2,316.6 L514.6,318.3 L517,319.9 L519.3,321.5 L521.7,322.9 L524.1,324.2 L526.5,325.5 L528.8,326.6 L531.2,327.7 L533.6,328.7 L536,329.6 L538.4,330.4 L540.7,331.2 L543.1,331.9 L545.5,332.6 L547.9,333.2 L550.2,333.8 L552.6,334.3 L555,334.8 L557.4,335.3 L559.8,335.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,340.9 L464.6,340.9 L467,340.7 L469.4,340.5 L471.8,340 L474.2,339.2 L476.5,337.9 L478.9,335.7 L481.3,332.3 L483.7,327.1 L486,319.6 L488.4,309.3 L490.8,295.5 L493.2,277.8 L495.6,256.3 L497.9,231.3 L500.3,203.7 L502.7,174.9 L505.1,146.9 L507.4,121.8 L509.8,101.7 L512.2,88.6 L514.6,83.74 L517,87.62 L519.3,99.84 L521.7,119.2 L524.1,143.9 L526.5,171.7 L528.8,200.5 L531.2,228.3 L533.6,253.7 L536,275.6 L538.4,293.7 L540.7,307.9 L543.1,318.6 L545.5,326.4 L547.9,331.8 L550.2,335.4 L552.6,337.7 L555,339.1 L557.4,340 L559.8,340.4 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="195"/><rect x="573.8" y="58" width="150.2" height="195"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="178" x2="603.8" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="208" x2="603.8" y2="208"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="238" x2="603.8" y2="238"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">v=10, &#x3B4;=-10</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">v=10, &#x3B4;=-5</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">v=10, &#x3B4;=0</text>
+<text x="611.3" y="178" font-size="15" font-family="Verdana">v=10, &#x3B4;=5</text>
+<text x="611.3" y="208" font-size="15" font-family="Verdana">v=10, &#x3B4;=10</text>
+<text x="611.3" y="238" font-size="15" font-family="Verdana">v=inf, &#x3B4;=15</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central T PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nccs_pdf.png b/libs/math/doc/graphs/nccs_pdf.png
index 63789734a0..63789734a0 100644
--- a/libs/math/doc/sf_and_dist/graphs/nccs_pdf.png
+++ b/libs/math/doc/graphs/nccs_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/nccs_pdf.svg b/libs/math/doc/graphs/nccs_pdf.svg
new file mode 100644
index 0000000000..cab35fe356
--- /dev/null
+++ b/libs/math/doc/graphs/nccs_pdf.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="465.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="467.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="92.6" y1="58" x2="92.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="559.8" y2="341"/><line x1="87.6" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,333.2 L92.6,333.2 M90.6,325.4 L92.6,325.4 M90.6,317.6 L92.6,317.6 M90.6,309.8 L92.6,309.8 M90.6,294.1 L92.6,294.1 M90.6,286.3 L92.6,286.3 M90.6,278.5 L92.6,278.5 M90.6,270.7 L92.6,270.7 M90.6,255.1 L92.6,255.1 M90.6,247.3 L92.6,247.3 M90.6,239.5 L92.6,239.5 M90.6,231.7 L92.6,231.7 M90.6,216 L92.6,216 M90.6,208.2 L92.6,208.2 M90.6,200.4 L92.6,200.4 M90.6,192.6 L92.6,192.6 M90.6,177 L92.6,177 M90.6,169.2 L92.6,169.2 M90.6,161.4 L92.6,161.4 M90.6,153.5 L92.6,153.5 M90.6,137.9 L92.6,137.9 M90.6,130.1 L92.6,130.1 M90.6,122.3 L92.6,122.3 M90.6,114.5 L92.6,114.5 M90.6,98.87 L92.6,98.87 M90.6,91.06 L92.6,91.06 M90.6,83.25 L92.6,83.25 M90.6,75.44 L92.6,75.44 M90.6,59.82 L92.6,59.82 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M119.5,341 L119.5,343 M146.3,341 L146.3,343 M173.2,341 L173.2,343 M200,341 L200,343 M253.8,341 L253.8,343 M280.6,341 L280.6,343 M307.5,341 L307.5,343 M334.3,341 L334.3,343 M388.1,341 L388.1,343 M414.9,341 L414.9,343 M441.8,341 L441.8,343 M468.6,341 L468.6,343 M522.4,341 L522.4,343 M549.2,341 L549.2,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,301.9 L92.6,301.9 M87.6,262.9 L92.6,262.9 M87.6,223.8 L92.6,223.8 M87.6,184.8 L92.6,184.8 M87.6,145.7 L92.6,145.7 M87.6,106.7 L92.6,106.7 M87.6,67.63 L92.6,67.63 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M92.6,341 L92.6,346 M226.9,341 L226.9,346 M361.2,341 L361.2,346 M495.5,341 L495.5,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="226.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
+<text x="361.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">100</text>
+<text x="495.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">150</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="304.3" text-anchor="end" font-size="12" font-family="Verdana">0.01</text>
+<text x="81.6" y="265.3" text-anchor="end" font-size="12" font-family="Verdana">0.02</text>
+<text x="81.6" y="226.2" text-anchor="end" font-size="12" font-family="Verdana">0.03</text>
+<text x="81.6" y="187.2" text-anchor="end" font-size="12" font-family="Verdana">0.04</text>
+<text x="81.6" y="148.1" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="109.1" text-anchor="end" font-size="12" font-family="Verdana">0.06</text>
+<text x="81.6" y="70.03" text-anchor="end" font-size="12" font-family="Verdana">0.07</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="326.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,340.9 L104.3,340.3 L106.6,338.8 L109,335.3 L111.3,328.6 L113.6,317.9 L116,302.3 L118.3,282 L120.6,257.4 L123,229.8 L125.3,200.7 L127.6,172 L130,145.4 L132.3,122.5 L134.6,104.4 L137,91.85 L139.3,85.07 L141.7,83.97 L144,88.08 L146.3,96.72 L148.7,109 L151,124.2 L153.3,141.2 L155.7,159.3 L158,177.8 L160.3,196.1 L162.7,213.8 L165,230.4 L167.3,245.7 L169.7,259.6 L172,272.1 L174.4,283.1 L176.7,292.7 L179,301 L181.4,308 L183.7,314 L186,319.1 L188.4,323.3 L190.7,326.8 L193,329.6 L195.4,331.9 L197.7,333.8 L200,335.3 L202.4,336.5 L204.7,337.5 L207.1,338.3 L209.4,338.9 L211.7,339.4 L214.1,339.7 L216.4,340 L218.7,340.3 L221.1,340.4 L223.4,340.6 L225.7,340.7 L228.1,340.8 L230.4,340.8 L232.7,340.9 L235.1,340.9 L237.4,340.9 L239.8,340.9 L242.1,341 L244.4,341 L246.8,341 L249.1,341 L251.4,341 L253.8,341 L256.1,341 L258.4,341 L260.8,341 L263.1,341 L265.4,341 L267.8,341 L270.1,341 L272.5,341 L274.8,341 L277.1,341 L279.5,341 L281.8,341 L284.1,341 L286.5,341 L288.8,341 L291.1,341 L293.5,341 L295.8,341 L298.2,341 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,340.9 L104.3,340.6 L106.6,339.5 L109,336.9 L111.3,332.1 L113.6,324 L116,311.9 L118.3,295.7 L120.6,275.4 L123,251.8 L125.3,226.1 L127.6,199.7 L130,173.9 L132.3,150.4 L134.6,130.2 L137,114.3 L139.3,103.2 L141.7,97.11 L144,95.95 L146.3,99.33 L148.7,106.7 L151,117.4 L153.3,130.6 L155.7,145.7 L158,162 L160.3,178.7 L162.7,195.5 L165,211.8 L167.3,227.4 L169.7,242 L172,255.4 L174.4,267.6 L176.7,278.5 L179,288.2 L181.4,296.6 L183.7,304 L186,310.3 L188.4,315.6 L190.7,320.2 L193,324 L195.4,327.2 L197.7,329.8 L200,332 L202.4,333.8 L204.7,335.3 L207.1,336.4 L209.4,337.4 L211.7,338.1 L214.1,338.8 L216.4,339.2 L218.7,339.6 L221.1,339.9 L223.4,340.2 L225.7,340.4 L228.1,340.5 L230.4,340.6 L232.7,340.7 L235.1,340.8 L237.4,340.8 L239.8,340.9 L242.1,340.9 L244.4,340.9 L246.8,340.9 L249.1,341 L251.4,341 L253.8,341 L256.1,341 L258.4,341 L260.8,341 L263.1,341 L265.4,341 L267.8,341 L270.1,341 L272.5,341 L274.8,341 L277.1,341 L279.5,341 L281.8,341 L284.1,341 L286.5,341 L288.8,341 L291.1,341 L293.5,341 L295.8,341 L298.2,341 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,340.9 L106.6,340.7 L109,340 L111.3,338.7 L113.6,336.1 L116,332 L118.3,325.9 L120.6,317.4 L123,306.3 L125.3,292.8 L127.6,277.1 L130,259.6 L132.3,241.1 L134.6,222.1 L137,203.5 L139.3,185.9 L141.7,170.2 L144,156.8 L146.3,146.1 L148.7,138.3 L151,133.7 L153.3,132 L155.7,133.3 L158,137.2 L160.3,143.4 L162.7,151.6 L165,161.3 L167.3,172.2 L169.7,183.9 L172,196 L174.4,208.3 L176.7,220.5 L179,232.4 L181.4,243.8 L183.7,254.6 L186,264.7 L188.4,274 L190.7,282.5 L193,290.2 L195.4,297.1 L197.7,303.3 L200,308.7 L202.4,313.5 L204.7,317.7 L207.1,321.3 L209.4,324.5 L211.7,327.2 L214.1,329.5 L216.4,331.4 L218.7,333.1 L221.1,334.4 L223.4,335.6 L225.7,336.6 L228.1,337.4 L230.4,338.1 L232.7,338.6 L235.1,339.1 L237.4,339.4 L239.8,339.7 L242.1,340 L244.4,340.2 L246.8,340.3 L249.1,340.5 L251.4,340.6 L253.8,340.7 L256.1,340.7 L258.4,340.8 L260.8,340.8 L263.1,340.9 L265.4,340.9 L267.8,340.9 L270.1,340.9 L272.5,341 L274.8,341 L277.1,341 L279.5,341 L281.8,341 L284.1,341 L286.5,341 L288.8,341 L291.1,341 L293.5,341 L295.8,341 L298.2,341 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,341 L106.6,340.9 L109,340.8 L111.3,340.6 L113.6,340 L116,339.1 L118.3,337.5 L120.6,335 L123,331.5 L125.3,326.6 L127.6,320.3 L130,312.6 L132.3,303.3 L134.6,292.6 L137,280.7 L139.3,267.8 L141.7,254.3 L144,240.6 L146.3,227 L148.7,213.9 L151,201.7 L153.3,190.7 L155.7,181.3 L158,173.5 L160.3,167.6 L162.7,163.6 L165,161.6 L167.3,161.4 L169.7,163 L172,166.2 L174.4,170.9 L176.7,176.8 L179,183.8 L181.4,191.6 L183.7,200.1 L186,209 L188.4,218.1 L190.7,227.4 L193,236.5 L195.4,245.5 L197.7,254.2 L200,262.5 L202.4,270.3 L204.7,277.7 L207.1,284.6 L209.4,291 L211.7,296.8 L214.1,302.1 L216.4,307 L218.7,311.3 L221.1,315.2 L223.4,318.6 L225.7,321.7 L228.1,324.4 L230.4,326.8 L232.7,328.8 L235.1,330.6 L237.4,332.2 L239.8,333.5 L242.1,334.7 L244.4,335.7 L246.8,336.6 L249.1,337.3 L251.4,337.9 L253.8,338.4 L256.1,338.8 L258.4,339.2 L260.8,339.5 L263.1,339.8 L265.4,340 L267.8,340.2 L270.1,340.3 L272.5,340.4 L274.8,340.5 L277.1,340.6 L279.5,340.7 L281.8,340.8 L284.1,340.8 L286.5,340.8 L288.8,340.9 L291.1,340.9 L293.5,340.9 L295.8,340.9 L298.2,340.9 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,341 L106.6,341 L109,341 L111.3,341 L113.6,341 L116,340.9 L118.3,340.8 L120.6,340.7 L123,340.4 L125.3,340 L127.6,339.4 L130,338.5 L132.3,337.3 L134.6,335.6 L137,333.4 L139.3,330.6 L141.7,327.2 L144,323.1 L146.3,318.2 L148.7,312.7 L151,306.4 L153.3,299.5 L155.7,291.9 L158,283.9 L160.3,275.6 L162.7,267 L165,258.3 L167.3,249.7 L169.7,241.2 L172,233.2 L174.4,225.7 L176.7,218.8 L179,212.7 L181.4,207.4 L183.7,203.1 L186,199.7 L188.4,197.3 L190.7,195.9 L193,195.5 L195.4,196.1 L197.7,197.6 L200,199.9 L202.4,203 L204.7,206.8 L207.1,211.2 L209.4,216.1 L211.7,221.4 L214.1,227.1 L216.4,233 L218.7,239 L221.1,245.2 L223.4,251.3 L225.7,257.5 L228.1,263.5 L230.4,269.3 L232.7,275 L235.1,280.4 L237.4,285.6 L239.8,290.6 L242.1,295.2 L244.4,299.5 L246.8,303.6 L249.1,307.4 L251.4,310.9 L253.8,314.1 L256.1,317 L258.4,319.7 L260.8,322.1 L263.1,324.3 L265.4,326.3 L267.8,328 L270.1,329.6 L272.5,331 L274.8,332.3 L277.1,333.4 L279.5,334.4 L281.8,335.3 L284.1,336.1 L286.5,336.7 L288.8,337.3 L291.1,337.8 L293.5,338.3 L295.8,338.7 L298.2,339 L300.5,339.3 L302.8,339.6 L305.2,339.8 L307.5,340 L309.8,340.1 L312.2,340.3 L314.5,340.4 L316.8,340.5 L319.2,340.6 L321.5,340.6 L323.8,340.7 L326.2,340.7 L328.5,340.8 L330.9,340.8 L333.2,340.8 L335.5,340.9 L337.9,340.9 L340.2,340.9 L342.5,340.9 L344.9,340.9 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,341 L106.6,341 L109,341 L111.3,341 L113.6,341 L116,341 L118.3,341 L120.6,341 L123,341 L125.3,341 L127.6,341 L130,341 L132.3,341 L134.6,341 L137,341 L139.3,341 L141.7,341 L144,341 L146.3,341 L148.7,341 L151,341 L153.3,341 L155.7,341 L158,341 L160.3,341 L162.7,341 L165,341 L167.3,341 L169.7,341 L172,341 L174.4,341 L176.7,341 L179,341 L181.4,341 L183.7,341 L186,341 L188.4,341 L190.7,341 L193,341 L195.4,341 L197.7,341 L200,341 L202.4,341 L204.7,341 L207.1,341 L209.4,341 L211.7,341 L214.1,341 L216.4,341 L218.7,341 L221.1,341 L223.4,341 L225.7,341 L228.1,341 L230.4,341 L232.7,340.9 L235.1,340.9 L237.4,340.9 L239.8,340.9 L242.1,340.9 L244.4,340.8 L246.8,340.8 L249.1,340.7 L251.4,340.7 L253.8,340.6 L256.1,340.5 L258.4,340.4 L260.8,340.3 L263.1,340.1 L265.4,340 L267.8,339.8 L270.1,339.6 L272.5,339.3 L274.8,339.1 L277.1,338.8 L279.5,338.4 L281.8,338 L284.1,337.6 L286.5,337.1 L288.8,336.6 L291.1,336 L293.5,335.3 L295.8,334.6 L298.2,333.8 L300.5,333 L302.8,332.1 L305.2,331.1 L307.5,330 L309.8,328.9 L312.2,327.7 L314.5,326.4 L316.8,325 L319.2,323.6 L321.5,322.1 L323.8,320.5 L326.2,318.8 L328.5,317.1 L330.9,315.3 L333.2,313.5 L335.5,311.6 L337.9,309.6 L340.2,307.6 L342.5,305.6 L344.9,303.6 L347.2,301.5 L349.5,299.4 L351.9,297.3 L354.2,295.2 L356.5,293.1 L358.9,291.1 L361.2,289.1 L363.6,287.1 L365.9,285.1 L368.2,283.2 L370.6,281.4 L372.9,279.7 L375.2,278 L377.6,276.4 L379.9,274.9 L382.2,273.5 L384.6,272.3 L386.9,271.1 L389.2,270 L391.6,269.1 L393.9,268.3 L396.3,267.6 L398.6,267.1 L400.9,266.7 L403.3,266.4 L405.6,266.3 L407.9,266.2 L410.3,266.3 L412.6,266.6 L414.9,267 L417.3,267.4 L419.6,268 L421.9,268.8 L424.3,269.6 L426.6,270.5 L429,271.5 L431.3,272.7 L433.6,273.9 L436,275.2 L438.3,276.5 L440.6,277.9 L443,279.4 L445.3,281 L447.6,282.6 L450,284.2 L452.3,285.8 L454.6,287.5 L457,289.2 L459.3,291 L461.7,292.7 L464,294.4 L466.3,296.1 L468.7,297.9 L471,299.6 L473.3,301.3 L475.7,303 L478,304.6 L480.3,306.2 L482.7,307.8 L485,309.4 L487.4,310.9 L489.7,312.4 L492,313.8 L494.4,315.2 L496.7,316.6 L499,317.9 L501.4,319.2 L503.7,320.4 L506,321.6 L508.4,322.7 L510.7,323.8 L513,324.8 L515.4,325.8 L517.7,326.8 L520.1,327.7 L522.4,328.5 L524.7,329.3 L527.1,330.1 L529.4,330.9 L531.7,331.5 L534.1,332.2 L536.4,332.8 L538.7,333.4 L541.1,334 L543.4,334.5 L545.7,334.9 L548.1,335.4 L550.4,335.8 L552.8,336.2 L555.1,336.6 L557.4,336.9 L559.8,337.3 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="195"/><rect x="573.8" y="58" width="150.2" height="195"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="178" x2="603.8" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="208" x2="603.8" y2="208"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="238" x2="603.8" y2="238"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">v=20, &#x3BB;=0</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">v=20, &#x3BB;=1</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">v=20, &#x3BB;=5</text>
+<text x="611.3" y="178" font-size="15" font-family="Verdana">v=20, &#x3BB;=10</text>
+<text x="611.3" y="208" font-size="15" font-family="Verdana">v=20, &#x3BB;=20</text>
+<text x="611.3" y="238" font-size="15" font-family="Verdana">v=20, &#x3BB;=100</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central Chi Squared PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png b/libs/math/doc/graphs/negative_binomial_pdf_1.png
index 34dc54245a..34dc54245a 100644
--- a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.png
+++ b/libs/math/doc/graphs/negative_binomial_pdf_1.png
Binary files differ
diff --git a/libs/math/doc/graphs/negative_binomial_pdf_1.svg b/libs/math/doc/graphs/negative_binomial_pdf_1.svg
new file mode 100644
index 0000000000..d525da9755
--- /dev/null
+++ b/libs/math/doc/graphs/negative_binomial_pdf_1.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="465.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="467.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="94.9" y1="58" x2="94.9" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="559.8" y2="341"/><line x1="87.6" y1="341" x2="559.8" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,322.2 L92.6,322.2 M90.6,303.5 L92.6,303.5 M90.6,284.7 L92.6,284.7 M90.6,265.9 L92.6,265.9 M90.6,228.4 L92.6,228.4 M90.6,209.7 L92.6,209.7 M90.6,190.9 L92.6,190.9 M90.6,172.1 L92.6,172.1 M90.6,134.6 L92.6,134.6 M90.6,115.8 L92.6,115.8 M90.6,97.08 L92.6,97.08 M90.6,78.31 L92.6,78.31 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,247.2 L92.6,247.2 M87.6,153.4 L92.6,153.4 M87.6,59.55 L92.6,59.55 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M94.9,341 L94.9,346 M324.6,341 L324.6,346 M554.3,341 L554.3,346 M94.9,341 L94.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="94.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="324.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
+<text x="554.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">100</text>
+<text x="94.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="249.6" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="155.8" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="61.95" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="326.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.17,341 L93.17,341 L93.17,341 L94.32,341 L94.32,341 L97.77,341 L97.77,341 L98.92,341 L98.92,341 L102.4,341 L102.4,341 L103.5,341 L103.5,341 L107,341 L107,341 L108.1,341 L108.1,341 L111.5,341 L111.5,341 L112.7,341 L112.7,341 L116.1,341 L116.1,341 L117.3,341 L117.3,341 L120.7,341 L120.7,341 L121.9,341 L121.9,341 L125.3,341 L125.3,341 L126.5,341 L126.5,341 L129.9,341 L129.9,341 L131.1,341 L131.1,341 L134.5,341 L134.5,341 L135.7,341 L135.7,341 L139.1,341 L139.1,341 L140.3,341 L140.3,341 L143.7,341 L143.7,341 L144.9,341 L144.9,341 L148.3,341 L148.3,341 L149.4,341 L149.4,341 L152.9,341 L152.9,341 L154,341 L154,341 L157.5,341 L157.5,341 L158.6,341 L158.6,341 L162.1,341 L162.1,341 L163.2,341 L163.2,341 L166.7,341 L166.7,340.9 L167.8,340.9 L167.8,341 L171.3,341 L171.3,340.9 L172.4,340.9 L172.4,341 L175.9,341 L175.9,340.8 L177,340.8 L177,341 L180.5,341 L180.5,340.7 L181.6,340.7 L181.6,341 L185,341 L185,340.6 L186.2,340.6 L186.2,341 L189.6,341 L189.6,340.5 L190.8,340.5 L190.8,341 L194.2,341 L194.2,340.3 L195.4,340.3 L195.4,341 L198.8,341 L198.8,340 L200,340 L200,341 L203.4,341 L203.4,339.6 L204.6,339.6 L204.6,341 L208,341 L208,339.2 L209.2,339.2 L209.2,341 L212.6,341 L212.6,338.7 L213.8,338.7 L213.8,341 L217.2,341 L217.2,338 L218.4,338 L218.4,341 L221.8,341 L221.8,337.2 L222.9,337.2 L222.9,341 L226.4,341 L226.4,336.3 L227.5,336.3 L227.5,341 L231,341 L231,335.3 L232.1,335.3 L232.1,341 L235.6,341 L235.6,334.1 L236.7,334.1 L236.7,341 L240.2,341 L240.2,332.7 L241.3,332.7 L241.3,341 L244.8,341 L244.8,331.2 L245.9,331.2 L245.9,341 L249.4,341 L249.4,329.5 L250.5,329.5 L250.5,341 L254,341 L254,327.7 L255.1,327.7 L255.1,341 L258.5,341 L258.5,325.8 L259.7,325.8 L259.7,341 L263.1,341 L263.1,323.7 L264.3,323.7 L264.3,341 L267.7,341 L267.7,321.6 L268.9,321.6 L268.9,341 L272.3,341 L272.3,319.3 L273.5,319.3 L273.5,341 L276.9,341 L276.9,317 L278.1,317 L278.1,341 L281.5,341 L281.5,314.7 L282.7,314.7 L282.7,341 L286.1,341 L286.1,312.3 L287.3,312.3 L287.3,341 L290.7,341 L290.7,310 L291.8,310 L291.8,341 L295.3,341 L295.3,307.7 L296.4,307.7 L296.4,341 L299.9,341 L299.9,305.5 L301,305.5 L301,341 L304.5,341 L304.5,303.4 L305.6,303.4 L305.6,341 L309.1,341 L309.1,301.4 L310.2,301.4 L310.2,341 L313.7,341 L313.7,299.5 L314.8,299.5 L314.8,341 L318.3,341 L318.3,297.8 L319.4,297.8 L319.4,341 L322.9,341 L322.9,296.3 L324,296.3 L324,341 L327.4,341 L327.4,295 L328.6,295 L328.6,341 L332,341 L332,293.9 L333.2,293.9 L333.2,341 L336.6,341 L336.6,293 L337.8,293 L337.8,341 L341.2,341 L341.2,292.3 L342.4,292.3 L342.4,341 L345.8,341 L345.8,291.9 L347,291.9 L347,341 L350.4,341 L350.4,291.7 L351.6,291.7 L351.6,341 L355,341 L355,291.7 L356.2,291.7 L356.2,341 L359.6,341 L359.6,291.9 L360.8,291.9 L360.8,341 L364.2,341 L364.2,292.3 L365.3,292.3 L365.3,341 L368.8,341 L368.8,292.9 L369.9,292.9 L369.9,341 L373.4,341 L373.4,293.7 L374.5,293.7 L374.5,341 L378,341 L378,294.6 L379.1,294.6 L379.1,341 L382.6,341 L382.6,295.7 L383.7,295.7 L383.7,341 L387.2,341 L387.2,297 L388.3,297 L388.3,341 L391.8,341 L391.8,298.3 L392.9,298.3 L392.9,341 L396.4,341 L396.4,299.8 L397.5,299.8 L397.5,341 L400.9,341 L400.9,301.3 L402.1,301.3 L402.1,341 L405.5,341 L405.5,302.9 L406.7,302.9 L406.7,341 L410.1,341 L410.1,304.6 L411.3,304.6 L411.3,341 L414.7,341 L414.7,306.3 L415.9,306.3 L415.9,341 L419.3,341 L419.3,308 L420.5,308 L420.5,341 L423.9,341 L423.9,309.7 L425.1,309.7 L425.1,341 L428.5,341 L428.5,311.4 L429.7,311.4 L429.7,341 L433.1,341 L433.1,313.1 L434.2,313.1 L434.2,341 L437.7,341 L437.7,314.8 L438.8,314.8 L438.8,341 L442.3,341 L442.3,316.4 L443.4,316.4 L443.4,341 L446.9,341 L446.9,318 L448,318 L448,341 L451.5,341 L451.5,319.6 L452.6,319.6 L452.6,341 L456.1,341 L456.1,321.1 L457.2,321.1 L457.2,341 L460.7,341 L460.7,322.5 L461.8,322.5 L461.8,341 L465.3,341 L465.3,323.9 L466.4,323.9 L466.4,341 L469.9,341 L469.9,325.2 L471,325.2 L471,341 L474.4,341 L474.4,326.4 L475.6,326.4 L475.6,341 L479,341 L479,327.6 L480.2,327.6 L480.2,341 L483.6,341 L483.6,328.7 L484.8,328.7 L484.8,341 L488.2,341 L488.2,329.7 L489.4,329.7 L489.4,341 L492.8,341 L492.8,330.7 L494,330.7 L494,341 L497.4,341 L497.4,331.6 L498.6,331.6 L498.6,341 L502,341 L502,332.5 L503.2,332.5 L503.2,341 L506.6,341 L506.6,333.2 L507.7,333.2 L507.7,341 L511.2,341 L511.2,334 L512.3,334 L512.3,341 L515.8,341 L515.8,334.6 L516.9,334.6 L516.9,341 L520.4,341 L520.4,335.2 L521.5,335.2 L521.5,341 L525,341 L525,335.8 L526.1,335.8 L526.1,341 L529.6,341 L529.6,336.3 L530.7,336.3 L530.7,341 L534.2,341 L534.2,336.8 L535.3,336.8 L535.3,341 L538.8,341 L538.8,337.2 L539.9,337.2 L539.9,341 L543.3,341 L543.3,337.6 L544.5,337.6 L544.5,341 L547.9,341 L547.9,338 L549.1,338 L549.1,341 L552.5,341 L552.5,338.3 L553.7,338.3 L553.7,341 L553.7,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M94.32,341 L94.32,341 L94.32,341 L95.47,341 L95.47,341 L98.92,341 L98.92,341 L100.1,341 L100.1,341 L103.5,341 L103.5,340.9 L104.7,340.9 L104.7,341 L108.1,341 L108.1,340.7 L109.3,340.7 L109.3,341 L112.7,341 L112.7,340 L113.8,340 L113.8,341 L117.3,341 L117.3,338.6 L118.4,338.6 L118.4,341 L121.9,341 L121.9,336 L123,336 L123,341 L126.5,341 L126.5,331.8 L127.6,331.8 L127.6,341 L131.1,341 L131.1,325.5 L132.2,325.5 L132.2,341 L135.7,341 L135.7,316.9 L136.8,316.9 L136.8,341 L140.3,341 L140.3,306 L141.4,306 L141.4,341 L144.9,341 L144.9,293.3 L146,293.3 L146,341 L149.4,341 L149.4,279.3 L150.6,279.3 L150.6,341 L154,341 L154,265.1 L155.2,265.1 L155.2,341 L158.6,341 L158.6,251.6 L159.8,251.6 L159.8,341 L163.2,341 L163.2,239.6 L164.4,239.6 L164.4,341 L167.8,341 L167.8,230.1 L169,230.1 L169,341 L172.4,341 L172.4,223.6 L173.6,223.6 L173.6,341 L177,341 L177,220.4 L178.2,220.4 L178.2,341 L181.6,341 L181.6,220.4 L182.7,220.4 L182.7,341 L186.2,341 L186.2,223.4 L187.3,223.4 L187.3,341 L190.8,341 L190.8,229 L191.9,229 L191.9,341 L195.4,341 L195.4,236.6 L196.5,236.6 L196.5,341 L200,341 L200,245.7 L201.1,245.7 L201.1,341 L204.6,341 L204.6,255.6 L205.7,255.6 L205.7,341 L209.2,341 L209.2,265.9 L210.3,265.9 L210.3,341 L213.8,341 L213.8,276 L214.9,276 L214.9,341 L218.4,341 L218.4,285.6 L219.5,285.6 L219.5,341 L222.9,341 L222.9,294.5 L224.1,294.5 L224.1,341 L227.5,341 L227.5,302.5 L228.7,302.5 L228.7,341 L232.1,341 L232.1,309.6 L233.3,309.6 L233.3,341 L236.7,341 L236.7,315.7 L237.9,315.7 L237.9,341 L241.3,341 L241.3,320.8 L242.5,320.8 L242.5,341 L245.9,341 L245.9,325.1 L247.1,325.1 L247.1,341 L250.5,341 L250.5,328.6 L251.7,328.6 L251.7,341 L255.1,341 L255.1,331.4 L256.2,331.4 L256.2,341 L259.7,341 L259.7,333.7 L260.8,333.7 L260.8,341 L264.3,341 L264.3,335.5 L265.4,335.5 L265.4,341 L268.9,341 L268.9,336.9 L270,336.9 L270,341 L273.5,341 L273.5,337.9 L274.6,337.9 L274.6,341 L278.1,341 L278.1,338.7 L279.2,338.7 L279.2,341 L282.7,341 L282.7,339.3 L283.8,339.3 L283.8,341 L287.3,341 L287.3,339.8 L288.4,339.8 L288.4,341 L291.8,341 L291.8,340.1 L293,340.1 L293,341 L296.4,341 L296.4,340.4 L297.6,340.4 L297.6,341 L301,341 L301,340.6 L302.2,340.6 L302.2,341 L305.6,341 L305.6,340.7 L306.8,340.7 L306.8,341 L310.2,341 L310.2,340.8 L311.4,340.8 L311.4,341 L314.8,341 L314.8,340.8 L316,340.8 L316,341 L319.4,341 L319.4,340.9 L320.6,340.9 L320.6,341 L324,341 L324,340.9 L325.2,340.9 L325.2,341 L328.6,341 L328.6,340.9 L329.7,340.9 L329.7,341 L333.2,341 L333.2,341 L334.3,341 L334.3,341 L337.8,341 L337.8,341 L338.9,341 L338.9,341 L342.4,341 L342.4,341 L343.5,341 L343.5,341 L347,341 L347,341 L348.1,341 L348.1,341 L351.6,341 L351.6,341 L352.7,341 L352.7,341 L356.2,341 L356.2,341 L357.3,341 L357.3,341 L360.8,341 L360.8,341 L361.9,341 L361.9,341 L365.3,341 L365.3,341 L366.5,341 L366.5,341 L369.9,341 L369.9,341 L371.1,341 L371.1,341 L374.5,341 L374.5,341 L375.7,341 L375.7,341 L379.1,341 L379.1,341 L380.3,341 L380.3,341 L383.7,341 L383.7,341 L384.9,341 L384.9,341 L388.3,341 L388.3,341 L389.5,341 L389.5,341 L392.9,341 L392.9,341 L394.1,341 L394.1,341 L397.5,341 L397.5,341 L398.6,341 L398.6,341 L402.1,341 L402.1,341 L403.2,341 L403.2,341 L406.7,341 L406.7,341 L407.8,341 L407.8,341 L411.3,341 L411.3,341 L412.4,341 L412.4,341 L415.9,341 L415.9,341 L417,341 L417,341 L420.5,341 L420.5,341 L421.6,341 L421.6,341 L425.1,341 L425.1,341 L426.2,341 L426.2,341 L429.7,341 L429.7,341 L430.8,341 L430.8,341 L434.2,341 L434.2,341 L435.4,341 L435.4,341 L438.8,341 L438.8,341 L440,341 L440,341 L443.4,341 L443.4,341 L444.6,341 L444.6,341 L448,341 L448,341 L449.2,341 L449.2,341 L452.6,341 L452.6,341 L453.8,341 L453.8,341 L457.2,341 L457.2,341 L458.4,341 L458.4,341 L461.8,341 L461.8,341 L463,341 L463,341 L466.4,341 L466.4,341 L467.6,341 L467.6,341 L471,341 L471,341 L472.1,341 L472.1,341 L475.6,341 L475.6,341 L476.7,341 L476.7,341 L480.2,341 L480.2,341 L481.3,341 L481.3,341 L484.8,341 L484.8,341 L485.9,341 L485.9,341 L489.4,341 L489.4,341 L490.5,341 L490.5,341 L494,341 L494,341 L495.1,341 L495.1,341 L498.6,341 L498.6,341 L499.7,341 L499.7,341 L503.2,341 L503.2,341 L504.3,341 L504.3,341 L507.7,341 L507.7,341 L508.9,341 L508.9,341 L512.3,341 L512.3,341 L513.5,341 L513.5,341 L516.9,341 L516.9,341 L518.1,341 L518.1,341 L521.5,341 L521.5,341 L522.7,341 L522.7,341 L526.1,341 L526.1,341 L527.3,341 L527.3,341 L530.7,341 L530.7,341 L531.9,341 L531.9,341 L535.3,341 L535.3,341 L536.5,341 L536.5,341 L539.9,341 L539.9,341 L541.1,341 L541.1,341 L544.5,341 L544.5,341 L545.6,341 L545.6,341 L549.1,341 L549.1,341 L550.2,341 L550.2,341 L553.7,341 L553.7,341 L554.8,341 L554.8,341 L554.8,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M95.47,341 L95.47,341 L95.47,335 L96.62,335 L96.62,341 L100.1,341 L100.1,311.2 L101.2,311.2 L101.2,341 L104.7,341 L104.7,262.9 L105.8,262.9 L105.8,341 L109.3,341 L109.3,197.8 L110.4,197.8 L110.4,341 L113.8,341 L113.8,135.2 L115,135.2 L115,341 L118.4,341 L118.4,94.02 L119.6,94.02 L119.6,341 L123,341 L123,83.73 L124.2,83.73 L124.2,341 L127.6,341 L127.6,102.1 L128.8,102.1 L128.8,341 L132.2,341 L132.2,139.4 L133.4,139.4 L133.4,341 L136.8,341 L136.8,184.2 L138,184.2 L138,341 L141.4,341 L141.4,227.3 L142.6,227.3 L142.6,341 L146,341 L146,263.5 L147.1,263.5 L147.1,341 L150.6,341 L150.6,290.9 L151.7,290.9 L151.7,341 L155.2,341 L155.2,310.2 L156.3,310.2 L156.3,341 L159.8,341 L159.8,322.8 L160.9,322.8 L160.9,341 L164.4,341 L164.4,330.7 L165.5,330.7 L165.5,341 L169,341 L169,335.4 L170.1,335.4 L170.1,341 L173.6,341 L173.6,338 L174.7,338 L174.7,341 L178.2,341 L178.2,339.5 L179.3,339.5 L179.3,341 L182.7,341 L182.7,340.2 L183.9,340.2 L183.9,341 L187.3,341 L187.3,340.6 L188.5,340.6 L188.5,341 L191.9,341 L191.9,340.8 L193.1,340.8 L193.1,341 L196.5,341 L196.5,340.9 L197.7,340.9 L197.7,341 L201.1,341 L201.1,341 L202.3,341 L202.3,341 L205.7,341 L205.7,341 L206.9,341 L206.9,341 L210.3,341 L210.3,341 L211.5,341 L211.5,341 L214.9,341 L214.9,341 L216.1,341 L216.1,341 L219.5,341 L219.5,341 L220.6,341 L220.6,341 L224.1,341 L224.1,341 L225.2,341 L225.2,341 L228.7,341 L228.7,341 L229.8,341 L229.8,341 L233.3,341 L233.3,341 L234.4,341 L234.4,341 L237.9,341 L237.9,341 L239,341 L239,341 L242.5,341 L242.5,341 L243.6,341 L243.6,341 L247.1,341 L247.1,341 L248.2,341 L248.2,341 L251.7,341 L251.7,341 L252.8,341 L252.8,341 L256.2,341 L256.2,341 L257.4,341 L257.4,341 L260.8,341 L260.8,341 L262,341 L262,341 L265.4,341 L265.4,341 L266.6,341 L266.6,341 L270,341 L270,341 L271.2,341 L271.2,341 L274.6,341 L274.6,341 L275.8,341 L275.8,341 L279.2,341 L279.2,341 L280.4,341 L280.4,341 L283.8,341 L283.8,341 L285,341 L285,341 L288.4,341 L288.4,341 L289.6,341 L289.6,341 L293,341 L293,341 L294.1,341 L294.1,341 L297.6,341 L297.6,341 L298.7,341 L298.7,341 L302.2,341 L302.2,341 L303.3,341 L303.3,341 L306.8,341 L306.8,341 L307.9,341 L307.9,341 L311.4,341 L311.4,341 L312.5,341 L312.5,341 L316,341 L316,341 L317.1,341 L317.1,341 L320.6,341 L320.6,341 L321.7,341 L321.7,341 L325.2,341 L325.2,341 L326.3,341 L326.3,341 L329.7,341 L329.7,341 L330.9,341 L330.9,341 L334.3,341 L334.3,341 L335.5,341 L335.5,341 L338.9,341 L338.9,341 L340.1,341 L340.1,341 L343.5,341 L343.5,341 L344.7,341 L344.7,341 L348.1,341 L348.1,341 L349.3,341 L349.3,341 L352.7,341 L352.7,341 L353.9,341 L353.9,341 L357.3,341 L357.3,341 L358.5,341 L358.5,341 L361.9,341 L361.9,341 L363,341 L363,341 L366.5,341 L366.5,341 L367.6,341 L367.6,341 L371.1,341 L371.1,341 L372.2,341 L372.2,341 L375.7,341 L375.7,341 L376.8,341 L376.8,341 L380.3,341 L380.3,341 L381.4,341 L381.4,341 L384.9,341 L384.9,341 L386,341 L386,341 L389.5,341 L389.5,341 L390.6,341 L390.6,341 L394.1,341 L394.1,341 L395.2,341 L395.2,341 L398.6,341 L398.6,341 L399.8,341 L399.8,341 L403.2,341 L403.2,341 L404.4,341 L404.4,341 L407.8,341 L407.8,341 L409,341 L409,341 L412.4,341 L412.4,341 L413.6,341 L413.6,341 L417,341 L417,341 L418.2,341 L418.2,341 L421.6,341 L421.6,341 L422.8,341 L422.8,341 L426.2,341 L426.2,341 L427.4,341 L427.4,341 L430.8,341 L430.8,341 L432,341 L432,341 L435.4,341 L435.4,341 L436.5,341 L436.5,341 L440,341 L440,341 L441.1,341 L441.1,341 L444.6,341 L444.6,341 L445.7,341 L445.7,341 L449.2,341 L449.2,341 L450.3,341 L450.3,341 L453.8,341 L453.8,341 L454.9,341 L454.9,341 L458.4,341 L458.4,341 L459.5,341 L459.5,341 L463,341 L463,341 L464.1,341 L464.1,341 L467.6,341 L467.6,341 L468.7,341 L468.7,341 L472.1,341 L472.1,341 L473.3,341 L473.3,341 L476.7,341 L476.7,341 L477.9,341 L477.9,341 L481.3,341 L481.3,341 L482.5,341 L482.5,341 L485.9,341 L485.9,341 L487.1,341 L487.1,341 L490.5,341 L490.5,341 L491.7,341 L491.7,341 L495.1,341 L495.1,341 L496.3,341 L496.3,341 L499.7,341 L499.7,341 L500.9,341 L500.9,341 L504.3,341 L504.3,341 L505.5,341 L505.5,341 L508.9,341 L508.9,341 L510,341 L510,341 L513.5,341 L513.5,341 L514.6,341 L514.6,341 L518.1,341 L518.1,341 L519.2,341 L519.2,341 L522.7,341 L522.7,341 L523.8,341 L523.8,341 L527.3,341 L527.3,341 L528.4,341 L528.4,341 L531.9,341 L531.9,341 L533,341 L533,341 L536.5,341 L536.5,341 L537.6,341 L537.6,341 L541.1,341 L541.1,341 L542.2,341 L542.2,341 L545.6,341 L545.6,341 L546.8,341 L546.8,341 L550.2,341 L550.2,341 L551.4,341 L551.4,341 L554.8,341 L554.8,341 L556,341 L556,341 L556,341 Z" fill="rgb(0,100,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="611.3" y="88" font-size="15" font-family="Verdana">n=20 p=0.25</text>
+<text x="611.3" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
+<text x="611.3" y="148" font-size="15" font-family="Verdana">n=20 p=0.75</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Negative Binomial Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png b/libs/math/doc/graphs/negative_binomial_pdf_2.png
index 71fec60e3f..71fec60e3f 100644
--- a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.png
+++ b/libs/math/doc/graphs/negative_binomial_pdf_2.png
Binary files differ
diff --git a/libs/math/doc/graphs/negative_binomial_pdf_2.svg b/libs/math/doc/graphs/negative_binomial_pdf_2.svg
new file mode 100644
index 0000000000..26fe4d3dc0
--- /dev/null
+++ b/libs/math/doc/graphs/negative_binomial_pdf_2.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="473" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="475" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="94.95" y1="58" x2="94.95" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="567.6" y2="341"/><line x1="87.6" y1="341" x2="567.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,335.5 L92.6,335.5 M90.6,329.9 L92.6,329.9 M90.6,324.4 L92.6,324.4 M90.6,318.8 L92.6,318.8 M90.6,307.7 L92.6,307.7 M90.6,302.2 L92.6,302.2 M90.6,296.6 L92.6,296.6 M90.6,291.1 L92.6,291.1 M90.6,280 L92.6,280 M90.6,274.4 L92.6,274.4 M90.6,268.9 L92.6,268.9 M90.6,263.3 L92.6,263.3 M90.6,252.2 L92.6,252.2 M90.6,246.7 L92.6,246.7 M90.6,241.1 L92.6,241.1 M90.6,235.6 L92.6,235.6 M90.6,224.5 L92.6,224.5 M90.6,218.9 L92.6,218.9 M90.6,213.4 L92.6,213.4 M90.6,207.8 L92.6,207.8 M90.6,196.7 L92.6,196.7 M90.6,191.2 L92.6,191.2 M90.6,185.6 L92.6,185.6 M90.6,180.1 L92.6,180.1 M90.6,169 L92.6,169 M90.6,163.4 L92.6,163.4 M90.6,157.9 L92.6,157.9 M90.6,152.3 L92.6,152.3 M90.6,141.3 L92.6,141.3 M90.6,135.7 L92.6,135.7 M90.6,130.2 L92.6,130.2 M90.6,124.6 L92.6,124.6 M90.6,113.5 L92.6,113.5 M90.6,108 L92.6,108 M90.6,102.4 L92.6,102.4 M90.6,96.86 L92.6,96.86 M90.6,85.77 L92.6,85.77 M90.6,80.22 L92.6,80.22 M90.6,74.67 L92.6,74.67 M90.6,69.12 L92.6,69.12 M90.6,58.02 L92.6,58.02 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,313.3 L92.6,313.3 M87.6,285.5 L92.6,285.5 M87.6,257.8 L92.6,257.8 M87.6,230 L92.6,230 M87.6,202.3 L92.6,202.3 M87.6,174.5 L92.6,174.5 M87.6,146.8 L92.6,146.8 M87.6,119.1 L92.6,119.1 M87.6,91.32 L92.6,91.32 M87.6,63.57 L92.6,63.57 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M94.95,341 L94.95,346 M329.5,341 L329.5,346 M564.1,341 L564.1,346 M94.95,341 L94.95,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="94.95" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="329.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
+<text x="564.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">100</text>
+<text x="94.95" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.01</text>
+<text x="81.6" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.02</text>
+<text x="81.6" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.03</text>
+<text x="81.6" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.04</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.06</text>
+<text x="81.6" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.07</text>
+<text x="81.6" y="121.5" text-anchor="end" font-size="12" font-family="Verdana">0.08</text>
+<text x="81.6" y="93.72" text-anchor="end" font-size="12" font-family="Verdana">0.09</text>
+<text x="81.6" y="65.97" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="330.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.19,341 L93.19,341 L93.19,338.3 L94.36,338.3 L94.36,341 L97.88,341 L97.88,327.5 L99.05,327.5 L99.05,341 L102.6,341 L102.6,303.7 L103.7,303.7 L103.7,341 L107.3,341 L107.3,266.5 L108.4,266.5 L108.4,341 L112,341 L112,219.9 L113.1,219.9 L113.1,341 L116.6,341 L116.6,171.5 L117.8,171.5 L117.8,341 L121.3,341 L121.3,129.1 L122.5,129.1 L122.5,341 L126,341 L126,98.86 L127.2,98.86 L127.2,341 L130.7,341 L130.7,83.73 L131.9,83.73 L131.9,341 L135.4,341 L135.4,83.73 L136.6,83.73 L136.6,341 L140.1,341 L140.1,96.59 L141.3,96.59 L141.3,341 L144.8,341 L144.8,118.8 L146,118.8 L146,341 L149.5,341 L149.5,146.6 L150.7,146.6 L150.7,341 L154.2,341 L154.2,176.5 L155.4,176.5 L155.4,341 L158.9,341 L158.9,205.9 L160,205.9 L160,341 L163.6,341 L163.6,232.9 L164.7,232.9 L164.7,341 L168.3,341 L168.3,256.5 L169.4,256.5 L169.4,341 L172.9,341 L172.9,276.4 L174.1,276.4 L174.1,341 L177.6,341 L177.6,292.6 L178.8,292.6 L178.8,341 L182.3,341 L182.3,305.3 L183.5,305.3 L183.5,341 L187,341 L187,315.1 L188.2,315.1 L188.2,341 L191.7,341 L191.7,322.5 L192.9,322.5 L192.9,341 L196.4,341 L196.4,328 L197.6,328 L197.6,341 L201.1,341 L201.1,331.9 L202.3,331.9 L202.3,341 L205.8,341 L205.8,334.8 L207,334.8 L207,341 L210.5,341 L210.5,336.8 L211.7,336.8 L211.7,341 L215.2,341 L215.2,338.1 L216.3,338.1 L216.3,341 L219.9,341 L219.9,339.1 L221,339.1 L221,341 L224.6,341 L224.6,339.7 L225.7,339.7 L225.7,341 L229.3,341 L229.3,340.2 L230.4,340.2 L230.4,341 L233.9,341 L233.9,340.5 L235.1,340.5 L235.1,341 L238.6,341 L238.6,340.7 L239.8,340.7 L239.8,341 L243.3,341 L243.3,340.8 L244.5,340.8 L244.5,341 L248,341 L248,340.9 L249.2,340.9 L249.2,341 L252.7,341 L252.7,340.9 L253.9,340.9 L253.9,341 L257.4,341 L257.4,340.9 L258.6,340.9 L258.6,341 L262.1,341 L262.1,341 L263.3,341 L263.3,341 L266.8,341 L266.8,341 L268,341 L268,341 L271.5,341 L271.5,341 L272.7,341 L272.7,341 L276.2,341 L276.2,341 L277.3,341 L277.3,341 L280.9,341 L280.9,341 L282,341 L282,341 L285.6,341 L285.6,341 L286.7,341 L286.7,341 L290.2,341 L290.2,341 L291.4,341 L291.4,341 L294.9,341 L294.9,341 L296.1,341 L296.1,341 L299.6,341 L299.6,341 L300.8,341 L300.8,341 L304.3,341 L304.3,341 L305.5,341 L305.5,341 L309,341 L309,341 L310.2,341 L310.2,341 L313.7,341 L313.7,341 L314.9,341 L314.9,341 L318.4,341 L318.4,341 L319.6,341 L319.6,341 L323.1,341 L323.1,341 L324.3,341 L324.3,341 L327.8,341 L327.8,341 L329,341 L329,341 L332.5,341 L332.5,341 L333.6,341 L333.6,341 L337.2,341 L337.2,341 L338.3,341 L338.3,341 L341.9,341 L341.9,341 L343,341 L343,341 L346.6,341 L346.6,341 L347.7,341 L347.7,341 L351.2,341 L351.2,341 L352.4,341 L352.4,341 L355.9,341 L355.9,341 L357.1,341 L357.1,341 L360.6,341 L360.6,341 L361.8,341 L361.8,341 L365.3,341 L365.3,341 L366.5,341 L366.5,341 L370,341 L370,341 L371.2,341 L371.2,341 L374.7,341 L374.7,341 L375.9,341 L375.9,341 L379.4,341 L379.4,341 L380.6,341 L380.6,341 L384.1,341 L384.1,341 L385.3,341 L385.3,341 L388.8,341 L388.8,341 L390,341 L390,341 L393.5,341 L393.5,341 L394.6,341 L394.6,341 L398.2,341 L398.2,341 L399.3,341 L399.3,341 L402.9,341 L402.9,341 L404,341 L404,341 L407.5,341 L407.5,341 L408.7,341 L408.7,341 L412.2,341 L412.2,341 L413.4,341 L413.4,341 L416.9,341 L416.9,341 L418.1,341 L418.1,341 L421.6,341 L421.6,341 L422.8,341 L422.8,341 L426.3,341 L426.3,341 L427.5,341 L427.5,341 L431,341 L431,341 L432.2,341 L432.2,341 L435.7,341 L435.7,341 L436.9,341 L436.9,341 L440.4,341 L440.4,341 L441.6,341 L441.6,341 L445.1,341 L445.1,341 L446.3,341 L446.3,341 L449.8,341 L449.8,341 L450.9,341 L450.9,341 L454.5,341 L454.5,341 L455.6,341 L455.6,341 L459.2,341 L459.2,341 L460.3,341 L460.3,341 L463.8,341 L463.8,341 L465,341 L465,341 L468.5,341 L468.5,341 L469.7,341 L469.7,341 L473.2,341 L473.2,341 L474.4,341 L474.4,341 L477.9,341 L477.9,341 L479.1,341 L479.1,341 L482.6,341 L482.6,341 L483.8,341 L483.8,341 L487.3,341 L487.3,341 L488.5,341 L488.5,341 L492,341 L492,341 L493.2,341 L493.2,341 L496.7,341 L496.7,341 L497.9,341 L497.9,341 L501.4,341 L501.4,341 L502.6,341 L502.6,341 L506.1,341 L506.1,341 L507.2,341 L507.2,341 L510.8,341 L510.8,341 L511.9,341 L511.9,341 L515.5,341 L515.5,341 L516.6,341 L516.6,341 L520.2,341 L520.2,341 L521.3,341 L521.3,341 L524.8,341 L524.8,341 L526,341 L526,341 L529.5,341 L529.5,341 L530.7,341 L530.7,341 L534.2,341 L534.2,341 L535.4,341 L535.4,341 L538.9,341 L538.9,341 L540.1,341 L540.1,341 L543.6,341 L543.6,341 L544.8,341 L544.8,341 L548.3,341 L548.3,341 L549.5,341 L549.5,341 L553,341 L553,341 L554.2,341 L554.2,341 L557.7,341 L557.7,341 L558.9,341 L558.9,341 L562.4,341 L562.4,341 L563.6,341 L563.6,341 L563.6,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M94.36,341 L94.36,341 L94.36,341 L95.53,341 L95.53,341 L99.05,341 L99.05,341 L100.2,341 L100.2,341 L103.7,341 L103.7,340.9 L104.9,340.9 L104.9,341 L108.4,341 L108.4,340.5 L109.6,340.5 L109.6,341 L113.1,341 L113.1,339.5 L114.3,339.5 L114.3,341 L117.8,341 L117.8,337.5 L119,337.5 L119,341 L122.5,341 L122.5,333.7 L123.7,333.7 L123.7,341 L127.2,341 L127.2,327.4 L128.4,327.4 L128.4,341 L131.9,341 L131.9,318.1 L133.1,318.1 L133.1,341 L136.6,341 L136.6,305.3 L137.8,305.3 L137.8,341 L141.3,341 L141.3,289.2 L142.5,289.2 L142.5,341 L146,341 L146,270.4 L147.1,270.4 L147.1,341 L150.7,341 L150.7,249.8 L151.8,249.8 L151.8,341 L155.4,341 L155.4,228.8 L156.5,228.8 L156.5,341 L160,341 L160,208.8 L161.2,208.8 L161.2,341 L164.7,341 L164.7,191.1 L165.9,191.1 L165.9,341 L169.4,341 L169.4,177.1 L170.6,177.1 L170.6,341 L174.1,341 L174.1,167.5 L175.3,167.5 L175.3,341 L178.8,341 L178.8,162.6 L180,162.6 L180,341 L183.5,341 L183.5,162.6 L184.7,162.6 L184.7,341 L188.2,341 L188.2,167.1 L189.4,167.1 L189.4,341 L192.9,341 L192.9,175.4 L194.1,175.4 L194.1,341 L197.6,341 L197.6,186.7 L198.8,186.7 L198.8,341 L202.3,341 L202.3,200.1 L203.4,200.1 L203.4,341 L207,341 L207,214.8 L208.1,214.8 L208.1,341 L211.7,341 L211.7,229.9 L212.8,229.9 L212.8,341 L216.3,341 L216.3,244.9 L217.5,244.9 L217.5,341 L221,341 L221,259.1 L222.2,259.1 L222.2,341 L225.7,341 L225.7,272.3 L226.9,272.3 L226.9,341 L230.4,341 L230.4,284.1 L231.6,284.1 L231.6,341 L235.1,341 L235.1,294.5 L236.3,294.5 L236.3,341 L239.8,341 L239.8,303.5 L241,303.5 L241,341 L244.5,341 L244.5,311.1 L245.7,311.1 L245.7,341 L249.2,341 L249.2,317.5 L250.4,317.5 L250.4,341 L253.9,341 L253.9,322.7 L255.1,322.7 L255.1,341 L258.6,341 L258.6,326.9 L259.7,326.9 L259.7,341 L263.3,341 L263.3,330.2 L264.4,330.2 L264.4,341 L268,341 L268,332.8 L269.1,332.8 L269.1,341 L272.7,341 L272.7,334.9 L273.8,334.9 L273.8,341 L277.3,341 L277.3,336.4 L278.5,336.4 L278.5,341 L282,341 L282,337.6 L283.2,337.6 L283.2,341 L286.7,341 L286.7,338.5 L287.9,338.5 L287.9,341 L291.4,341 L291.4,339.2 L292.6,339.2 L292.6,341 L296.1,341 L296.1,339.7 L297.3,339.7 L297.3,341 L300.8,341 L300.8,340.1 L302,340.1 L302,341 L305.5,341 L305.5,340.3 L306.7,340.3 L306.7,341 L310.2,341 L310.2,340.5 L311.4,340.5 L311.4,341 L314.9,341 L314.9,340.7 L316.1,340.7 L316.1,341 L319.6,341 L319.6,340.8 L320.7,340.8 L320.7,341 L324.3,341 L324.3,340.8 L325.4,340.8 L325.4,341 L329,341 L329,340.9 L330.1,340.9 L330.1,341 L333.6,341 L333.6,340.9 L334.8,340.9 L334.8,341 L338.3,341 L338.3,340.9 L339.5,340.9 L339.5,341 L343,341 L343,341 L344.2,341 L344.2,341 L347.7,341 L347.7,341 L348.9,341 L348.9,341 L352.4,341 L352.4,341 L353.6,341 L353.6,341 L357.1,341 L357.1,341 L358.3,341 L358.3,341 L361.8,341 L361.8,341 L363,341 L363,341 L366.5,341 L366.5,341 L367.7,341 L367.7,341 L371.2,341 L371.2,341 L372.4,341 L372.4,341 L375.9,341 L375.9,341 L377,341 L377,341 L380.6,341 L380.6,341 L381.7,341 L381.7,341 L385.3,341 L385.3,341 L386.4,341 L386.4,341 L390,341 L390,341 L391.1,341 L391.1,341 L394.6,341 L394.6,341 L395.8,341 L395.8,341 L399.3,341 L399.3,341 L400.5,341 L400.5,341 L404,341 L404,341 L405.2,341 L405.2,341 L408.7,341 L408.7,341 L409.9,341 L409.9,341 L413.4,341 L413.4,341 L414.6,341 L414.6,341 L418.1,341 L418.1,341 L419.3,341 L419.3,341 L422.8,341 L422.8,341 L424,341 L424,341 L427.5,341 L427.5,341 L428.7,341 L428.7,341 L432.2,341 L432.2,341 L433.4,341 L433.4,341 L436.9,341 L436.9,341 L438,341 L438,341 L441.6,341 L441.6,341 L442.7,341 L442.7,341 L446.3,341 L446.3,341 L447.4,341 L447.4,341 L450.9,341 L450.9,341 L452.1,341 L452.1,341 L455.6,341 L455.6,341 L456.8,341 L456.8,341 L460.3,341 L460.3,341 L461.5,341 L461.5,341 L465,341 L465,341 L466.2,341 L466.2,341 L469.7,341 L469.7,341 L470.9,341 L470.9,341 L474.4,341 L474.4,341 L475.6,341 L475.6,341 L479.1,341 L479.1,341 L480.3,341 L480.3,341 L483.8,341 L483.8,341 L485,341 L485,341 L488.5,341 L488.5,341 L489.7,341 L489.7,341 L493.2,341 L493.2,341 L494.3,341 L494.3,341 L497.9,341 L497.9,341 L499,341 L499,341 L502.6,341 L502.6,341 L503.7,341 L503.7,341 L507.2,341 L507.2,341 L508.4,341 L508.4,341 L511.9,341 L511.9,341 L513.1,341 L513.1,341 L516.6,341 L516.6,341 L517.8,341 L517.8,341 L521.3,341 L521.3,341 L522.5,341 L522.5,341 L526,341 L526,341 L527.2,341 L527.2,341 L530.7,341 L530.7,341 L531.9,341 L531.9,341 L535.4,341 L535.4,341 L536.6,341 L536.6,341 L540.1,341 L540.1,341 L541.3,341 L541.3,341 L544.8,341 L544.8,341 L546,341 L546,341 L549.5,341 L549.5,341 L550.6,341 L550.6,341 L554.2,341 L554.2,341 L555.3,341 L555.3,341 L558.9,341 L558.9,341 L560,341 L560,341 L563.6,341 L563.6,341 L564.7,341 L564.7,341 L564.7,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M95.53,341 L95.53,341 L95.53,341 L96.71,341 L96.71,341 L100.2,341 L100.2,341 L101.4,341 L101.4,341 L104.9,341 L104.9,341 L106.1,341 L106.1,341 L109.6,341 L109.6,341 L110.8,341 L110.8,341 L114.3,341 L114.3,341 L115.5,341 L115.5,341 L119,341 L119,341 L120.2,341 L120.2,341 L123.7,341 L123.7,341 L124.9,341 L124.9,341 L128.4,341 L128.4,341 L129.5,341 L129.5,341 L133.1,341 L133.1,341 L134.2,341 L134.2,341 L137.8,341 L137.8,341 L138.9,341 L138.9,341 L142.5,341 L142.5,341 L143.6,341 L143.6,341 L147.1,341 L147.1,341 L148.3,341 L148.3,341 L151.8,341 L151.8,341 L153,341 L153,341 L156.5,341 L156.5,341 L157.7,341 L157.7,341 L161.2,341 L161.2,341 L162.4,341 L162.4,341 L165.9,341 L165.9,341 L167.1,341 L167.1,341 L170.6,341 L170.6,341 L171.8,341 L171.8,341 L175.3,341 L175.3,341 L176.5,341 L176.5,341 L180,341 L180,341 L181.2,341 L181.2,341 L184.7,341 L184.7,341 L185.9,341 L185.9,341 L189.4,341 L189.4,341 L190.5,341 L190.5,341 L194.1,341 L194.1,341 L195.2,341 L195.2,341 L198.8,341 L198.8,341 L199.9,341 L199.9,341 L203.4,341 L203.4,341 L204.6,341 L204.6,341 L208.1,341 L208.1,341 L209.3,341 L209.3,341 L212.8,341 L212.8,341 L214,341 L214,341 L217.5,341 L217.5,341 L218.7,341 L218.7,341 L222.2,341 L222.2,341 L223.4,341 L223.4,341 L226.9,341 L226.9,341 L228.1,341 L228.1,341 L231.6,341 L231.6,341 L232.8,341 L232.8,341 L236.3,341 L236.3,341 L237.5,341 L237.5,341 L241,341 L241,340.9 L242.2,340.9 L242.2,341 L245.7,341 L245.7,340.9 L246.8,340.9 L246.8,341 L250.4,341 L250.4,340.8 L251.5,340.8 L251.5,341 L255.1,341 L255.1,340.7 L256.2,340.7 L256.2,341 L259.7,341 L259.7,340.6 L260.9,340.6 L260.9,341 L264.4,341 L264.4,340.4 L265.6,340.4 L265.6,341 L269.1,341 L269.1,340.2 L270.3,340.2 L270.3,341 L273.8,341 L273.8,339.8 L275,339.8 L275,341 L278.5,341 L278.5,339.4 L279.7,339.4 L279.7,341 L283.2,341 L283.2,338.8 L284.4,338.8 L284.4,341 L287.9,341 L287.9,338 L289.1,338 L289.1,341 L292.6,341 L292.6,337.1 L293.8,337.1 L293.8,341 L297.3,341 L297.3,335.9 L298.5,335.9 L298.5,341 L302,341 L302,334.4 L303.1,334.4 L303.2,341 L306.7,341 L306.7,332.7 L307.8,332.7 L307.8,341 L311.4,341 L311.4,330.6 L312.5,330.6 L312.5,341 L316.1,341 L316.1,328.2 L317.2,328.2 L317.2,341 L320.7,341 L320.7,325.4 L321.9,325.4 L321.9,341 L325.4,341 L325.4,322.2 L326.6,322.2 L326.6,341 L330.1,341 L330.1,318.6 L331.3,318.6 L331.3,341 L334.8,341 L334.8,314.7 L336,314.7 L336,341 L339.5,341 L339.5,310.4 L340.7,310.4 L340.7,341 L344.2,341 L344.2,305.8 L345.4,305.8 L345.4,341 L348.9,341 L348.9,300.9 L350.1,300.9 L350.1,341 L353.6,341 L353.6,295.8 L354.8,295.8 L354.8,341 L358.3,341 L358.3,290.5 L359.5,290.5 L359.5,341 L363,341 L363,285.2 L364.1,285.2 L364.1,341 L367.7,341 L367.7,279.9 L368.8,279.9 L368.8,341 L372.4,341 L372.4,274.8 L373.5,274.8 L373.5,341 L377,341 L377,269.8 L378.2,269.8 L378.2,341 L381.7,341 L381.7,265.1 L382.9,265.1 L382.9,341 L386.4,341 L386.4,260.8 L387.6,260.8 L387.6,341 L391.1,341 L391.1,257 L392.3,257 L392.3,341 L395.8,341 L395.8,253.7 L397,253.7 L397,341 L400.5,341 L400.5,251.1 L401.7,251.1 L401.7,341 L405.2,341 L405.2,249 L406.4,249 L406.4,341 L409.9,341 L409.9,247.6 L411.1,247.6 L411.1,341 L414.6,341 L414.6,247 L415.8,247 L415.8,341 L419.3,341 L419.3,247 L420.4,247 L420.4,341 L424,341 L424,247.6 L425.1,247.6 L425.1,341 L428.7,341 L428.7,248.9 L429.8,248.9 L429.8,341 L433.4,341 L433.4,250.9 L434.5,250.9 L434.5,341 L438,341 L438,253.3 L439.2,253.3 L439.2,341 L442.7,341 L442.7,256.3 L443.9,256.3 L443.9,341 L447.4,341 L447.4,259.7 L448.6,259.7 L448.6,341 L452.1,341 L452.1,263.4 L453.3,263.4 L453.3,341 L456.8,341 L456.8,267.5 L458,267.5 L458,341 L461.5,341 L461.5,271.7 L462.7,271.7 L462.7,341 L466.2,341 L466.2,276.1 L467.4,276.1 L467.4,341 L470.9,341 L470.9,280.5 L472.1,280.5 L472.1,341 L475.6,341 L475.6,285 L476.8,285 L476.8,341 L480.3,341 L480.3,289.5 L481.4,289.5 L481.4,341 L485,341 L485,293.8 L486.1,293.8 L486.1,341 L489.7,341 L489.7,298 L490.8,298 L490.8,341 L494.3,341 L494.3,302.1 L495.5,302.1 L495.5,341 L499,341 L499,305.9 L500.2,305.9 L500.2,341 L503.7,341 L503.7,309.5 L504.9,309.5 L504.9,341 L508.4,341 L508.4,312.9 L509.6,312.9 L509.6,341 L513.1,341 L513.1,316.1 L514.3,316.1 L514.3,341 L517.8,341 L517.8,319 L519,319 L519,341 L522.5,341 L522.5,321.7 L523.7,321.7 L523.7,341 L527.2,341 L527.2,324.1 L528.4,324.1 L528.4,341 L531.9,341 L531.9,326.3 L533.1,326.3 L533.1,341 L536.6,341 L536.6,328.2 L537.7,328.2 L537.7,341 L541.3,341 L541.3,330 L542.4,330 L542.4,341 L546,341 L546,331.5 L547.1,331.5 L547.1,341 L550.6,341 L550.6,332.9 L551.8,332.9 L551.8,341 L555.3,341 L555.3,334.1 L556.5,334.1 L556.5,341 L560,341 L560,335.1 L561.2,335.1 L561.2,341 L564.7,341 L564.7,336 L565.9,336 L565.9,341 L565.9,341 Z" fill="rgb(0,100,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="105"/><rect x="581.6" y="58" width="142.4" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="619.1" y="88" font-size="15" font-family="Verdana">n=10 p=0.5</text>
+<text x="619.1" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
+<text x="619.1" y="148" font-size="15" font-family="Verdana">n=70 p=0.5</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Negative Binomial Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/graphs/neumann_y_zeros.png b/libs/math/doc/graphs/neumann_y_zeros.png
new file mode 100644
index 0000000000..73dc9752bc
--- /dev/null
+++ b/libs/math/doc/graphs/neumann_y_zeros.png
Binary files differ
diff --git a/libs/math/doc/graphs/neumann_y_zeros.svg b/libs/math/doc/graphs/neumann_y_zeros.svg
new file mode 100644
index 0000000000..e65e3857bb
--- /dev/null
+++ b/libs/math/doc/graphs/neumann_y_zeros.svg
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="500" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright Paul A. Bristow 2013 -->
+<meta name="copyright" content="Paul A. Bristow" />
+<meta name="date" content="2013" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="54" width="242.7" height="286"/></clipPath>
+<g id="imageBackground" stroke="rgb(255,255,0)" fill="rgb(248,248,255)" stroke-width="2"><rect x="0" y="0" width="500" height="400"/></g>
+<g id="plotBackground" stroke="rgb(0,128,0)" fill="rgb(255,255,255)" stroke-width="1"><rect x="92.6" y="53" width="244.7" height="288"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="92.6" y1="53" x2="92.6" y2="346"/><line x1="92.6" y1="53" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="161" x2="337.3" y2="161"/><line x1="87.6" y1="341" x2="337.3" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,153.8 L92.6,153.8 M90.6,146.6 L92.6,146.6 M90.6,139.4 L92.6,139.4 M90.6,132.2 L92.6,132.2 M90.6,117.8 L92.6,117.8 M90.6,110.6 L92.6,110.6 M90.6,103.4 L92.6,103.4 M90.6,96.2 L92.6,96.2 M90.6,81.8 L92.6,81.8 M90.6,74.6 L92.6,74.6 M90.6,67.4 L92.6,67.4 M90.6,60.2 L92.6,60.2 M90.6,161 L92.6,161 M90.6,168.2 L92.6,168.2 M90.6,175.4 L92.6,175.4 M90.6,182.6 L92.6,182.6 M90.6,189.8 L92.6,189.8 M90.6,197 L92.6,197 M90.6,204.2 L92.6,204.2 M90.6,211.4 L92.6,211.4 M90.6,218.6 L92.6,218.6 M90.6,225.8 L92.6,225.8 M90.6,233 L92.6,233 M90.6,233 L92.6,233 M90.6,240.2 L92.6,240.2 M90.6,247.4 L92.6,247.4 M90.6,254.6 L92.6,254.6 M90.6,261.8 L92.6,261.8 M90.6,269 L92.6,269 M90.6,276.2 L92.6,276.2 M90.6,283.4 L92.6,283.4 M90.6,290.6 L92.6,290.6 M90.6,297.8 L92.6,297.8 M90.6,305 L92.6,305 M90.6,312.2 L92.6,312.2 M90.6,319.4 L92.6,319.4 M90.6,326.6 L92.6,326.6 M90.6,333.8 L92.6,333.8 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M104.8,341 L104.8,343 M117.1,341 L117.1,343 M129.3,341 L129.3,343 M141.5,341 L141.5,343 M166,341 L166,343 M178.2,341 L178.2,343 M190.5,341 L190.5,343 M202.7,341 L202.7,343 M227.2,341 L227.2,343 M239.4,341 L239.4,343 M251.6,341 L251.6,343 M263.9,341 L263.9,343 M288.3,341 L288.3,343 M300.6,341 L300.6,343 M312.8,341 L312.8,343 M325,341 L325,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,161 L92.6,161 M87.6,125 L92.6,125 M87.6,89 L92.6,89 M87.6,161 L92.6,161 M87.6,197 L92.6,197 M87.6,233 L92.6,233 M87.6,269 L92.6,269 M87.6,305 L92.6,305 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M92.6,341 L92.6,346 M153.8,341 L153.8,346 M214.9,341 L214.9,346 M276.1,341 L276.1,346 M337.3,341 L337.3,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="153.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="214.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="276.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="337.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="163.4" text-anchor="end" font-size="12" font-family="Verdana">0.0</text>
+<text x="81.6" y="127.4" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="81.6" y="91.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="81.6" y="163.4" text-anchor="end" font-size="12" font-family="Verdana">0.0</text>
+<text x="81.6" y="199.4" text-anchor="end" font-size="12" font-family="Verdana">-0.2</text>
+<text x="81.6" y="235.4" text-anchor="end" font-size="12" font-family="Verdana">-0.4</text>
+<text x="81.6" y="271.4" text-anchor="end" font-size="12" font-family="Verdana">-0.6</text>
+<text x="81.6" y="307.4" text-anchor="end" font-size="12" font-family="Verdana">-0.8</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-1.0</text></g>
+<g id="yLabel">
+<text x="42.9" y="197" text-anchor="middle" transform = "rotate(-90 42.9 197 )" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">a</tspan>(x)</text></g>
+<g id="xLabel">
+<text x="214.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(255,0,0)"><path d="M93.82,437.2 S94.8,368.7 95.05,355.6 S96.03,314.9 96.27,306.3 S97.25,276.6 97.49,270.1 S98.47,246.4 98.72,241 S99.7,221.1 99.94,216.5 S100.9,199.3 101.2,195.3 S102.1,180.2 102.4,176.6 S103.4,163.1 103.6,160 S104.6,147.9 104.8,145.1 S105.8,134.3 106.1,131.8 S107,122.2 107.3,119.9 S108.3,111.4 108.5,109.4 S109.5,101.9 109.7,100.2 S110.7,93.64 111,92.16 S111.9,86.58 112.2,85.32 S113.2,80.66 113.4,79.64 S114.4,75.87 114.6,75.06 S115.6,72.17 115.8,71.57 S116.8,69.52 117.1,69.13 S118,67.89 118.3,67.71 S119.3,67.25 119.5,67.26 S120.5,67.56 120.7,67.75 S121.7,68.77 122,69.13 S122.9,70.82 123.2,71.35 S124.2,73.68 124.4,74.36 S125.4,77.29 125.6,78.11 S126.6,81.59 126.9,82.54 S127.8,86.51 128.1,87.58 S129.1,92 129.3,93.17 S130.3,97.99 130.5,99.24 S131.5,104.4 131.7,105.7 S132.7,111.2 133,112.6 S134,118.2 134.2,119.7 S135.2,125.5 135.4,127 S136.4,132.9 136.6,134.4 S137.6,140.4 137.9,141.9 S138.8,147.9 139.1,149.4 S140.1,155.3 140.3,156.8 S141.3,162.6 141.5,164 S142.5,169.7 142.8,171.1 S143.7,176.6 144,177.9 S145,183.1 145.2,184.3 S146.2,189.2 146.4,190.4 S147.4,195 147.7,196 S148.6,200.2 148.9,201.2 S149.9,205 150.1,205.9 S151.1,209.2 151.3,210 S152.3,212.9 152.5,213.6 S153.5,216 153.8,216.5 S154.7,218.5 155,218.9 S156,220.3 156.2,220.6 S157.2,221.6 157.4,221.7 S158.4,222.2 158.7,222.2 S159.6,222.2 159.9,222.1 S160.9,221.6 161.1,221.4 S162.1,220.4 162.3,220.1 S163.3,218.6 163.6,218.2 S164.5,216.3 164.8,215.8 S165.8,213.5 166,212.9 S167,210.2 167.2,209.5 S168.2,206.5 168.5,205.7 S169.4,202.4 169.7,201.5 S170.7,197.9 170.9,197 S171.9,193.2 172.1,192.2 S173.1,188.2 173.3,187.1 S174.3,183 174.6,181.9 S175.5,177.6 175.8,176.6 S176.8,172.2 177,171.1 S178,166.8 178.2,165.7 S179.2,161.3 179.5,160.2 S180.4,156 180.7,154.9 S181.7,150.7 181.9,149.7 S182.9,145.7 183.1,144.7 S184.1,140.8 184.4,139.9 S185.3,136.2 185.6,135.4 S186.6,132 186.8,131.2 S187.8,128 188,127.3 S189,124.5 189.2,123.8 S190.2,121.3 190.5,120.8 S191.5,118.6 191.7,118.1 S192.7,116.4 192.9,116 S193.9,114.6 194.1,114.3 S195.1,113.3 195.4,113.1 S196.3,112.5 196.6,112.4 S197.6,112.1 197.8,112.1 S198.8,112.3 199,112.4 S200,112.9 200.3,113.1 S201.2,114.1 201.5,114.4 S202.5,115.6 202.7,116 S203.7,117.6 203.9,118.1 S204.9,120.1 205.2,120.6 S206.1,122.8 206.4,123.5 S207.4,126 207.6,126.7 S208.6,129.5 208.8,130.2 S209.8,133.2 210,134 S211,137.2 211.3,138 S212.2,141.3 212.5,142.2 S213.5,145.7 213.7,146.5 S214.7,150.1 214.9,151 S215.9,154.6 216.2,155.5 S217.1,159.1 217.4,160 S218.4,163.6 218.6,164.5 S219.6,168 219.8,168.9 S220.8,172.3 221.1,173.2 S222,176.5 222.3,177.3 S223.3,180.4 223.5,181.2 S224.5,184.2 224.7,184.9 S225.7,187.6 226,188.3 S226.9,190.8 227.2,191.4 S228.2,193.6 228.4,194.2 S229.4,196.1 229.6,196.6 S230.6,198.3 230.8,198.6 S231.8,200 232.1,200.3 S233,201.3 233.3,201.5 S234.3,202.3 234.5,202.4 S235.5,202.8 235.7,202.8 S236.7,202.8 237,202.8 S237.9,202.5 238.2,202.4 S239.2,201.7 239.4,201.5 S240.4,200.6 240.6,200.3 S241.6,199.1 241.9,198.7 S242.8,197.2 243.1,196.7 S244.1,194.9 244.3,194.4 S245.3,192.4 245.5,191.8 S246.5,189.5 246.7,188.9 S247.7,186.4 248,185.7 S249,183.1 249.2,182.4 S250.2,179.5 250.4,178.8 S251.4,175.8 251.6,175.1 S252.6,172 252.9,171.2 S253.8,168.1 254.1,167.3 S255.1,164.2 255.3,163.4 S256.3,160.3 256.5,159.5 S257.5,156.4 257.8,155.6 S258.7,152.5 259,151.8 S260,148.8 260.2,148.1 S261.2,145.3 261.4,144.6 S262.4,141.9 262.7,141.2 S263.6,138.7 263.9,138.1 S264.9,135.8 265.1,135.2 S266.1,133.1 266.3,132.6 S267.3,130.8 267.5,130.3 S268.5,128.7 268.8,128.4 S269.7,127 270,126.7 S271,125.7 271.2,125.5 S272.2,124.7 272.4,124.5 S273.4,124.1 273.7,124 S274.6,123.8 274.9,123.8 S275.9,123.9 276.1,124 S277.1,124.4 277.3,124.6 S278.3,125.3 278.6,125.5 S279.5,126.5 279.8,126.8 S280.8,128 281,128.4 S282,129.9 282.2,130.3 S283.2,132 283.5,132.5 S284.4,134.5 284.7,135 S285.7,137.1 285.9,137.7 S286.9,140 287.1,140.6 S288.1,143.1 288.3,143.8 S289.3,146.4 289.6,147 S290.5,149.7 290.8,150.4 S291.8,153.2 292,153.9 S293,156.7 293.2,157.4 S294.2,160.3 294.5,161 S295.4,163.8 295.7,164.5 S296.7,167.3 296.9,168 S297.9,170.7 298.1,171.3 S299.1,173.9 299.4,174.6 S300.3,177.1 300.6,177.7 S301.6,180 301.8,180.6 S302.8,182.8 303,183.3 S304,185.3 304.2,185.8 S305.2,187.5 305.5,188 S306.5,189.5 306.7,189.9 S307.7,191.2 307.9,191.5 S308.9,192.6 309.1,192.8 S310.1,193.6 310.4,193.8 S311.3,194.3 311.6,194.4 S312.6,194.7 312.8,194.8 S313.8,194.8 314,194.7 S315,194.5 315.3,194.4 S316.2,193.9 316.5,193.7 S317.5,192.9 317.7,192.7 S318.7,191.7 318.9,191.4 S319.9,190.1 320.2,189.7 S321.1,188.3 321.4,187.8 S322.4,186.1 322.6,185.7 S323.6,183.8 323.8,183.3 S324.8,181.3 325,180.7 S326,178.5 326.3,177.9 S327.2,175.6 327.5,175 S328.5,172.6 328.7,171.9 S329.7,169.4 329.9,168.8 S330.9,166.2 331.2,165.6 S332.1,163 332.4,162.3 S333.4,159.7 333.6,159.1 S334.6,156.5 334.8,155.9 S335.8,153.4 336.1,152.8 S337.3,149.4 337.3,149.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,128,0)"><path d="M93.82,1324 S94.8,834.3 95.05,759.3 S96.03,601.5 96.27,573.8 S97.25,496.3 97.49,481.6 S98.47,435.2 98.72,425.9 S99.7,394.5 99.94,387.9 S100.9,364.7 101.2,359.6 S102.1,341.2 102.4,337.1 S103.4,321.7 103.6,318.2 S104.6,304.8 104.8,301.6 S105.8,289.5 106.1,286.7 S107,275.5 107.3,272.8 S108.3,262.3 108.5,259.7 S109.5,249.7 109.7,247.2 S110.7,237.6 111,235.2 S111.9,225.9 112.2,223.6 S113.2,214.5 113.4,212.3 S114.4,203.4 114.6,201.3 S115.6,192.7 115.8,190.6 S116.8,182.3 117.1,180.3 S118,172.3 118.3,170.3 S119.3,162.6 119.5,160.7 S120.5,153.4 120.7,151.6 S121.7,144.6 122,142.9 S122.9,136.3 123.2,134.7 S124.2,128.6 124.4,127.1 S125.4,121.4 125.6,120 S126.6,114.8 126.9,113.6 S127.8,108.8 128.1,107.7 S129.1,103.5 129.3,102.6 S130.3,98.9 130.5,98.07 S131.5,94.96 131.7,94.27 S132.7,91.73 133,91.19 S134,89.22 134.2,88.82 S135.2,87.42 135.4,87.17 S136.4,86.35 136.6,86.23 S137.6,85.98 137.9,86 S138.8,86.3 139.1,86.46 S140.1,87.3 140.3,87.59 S141.3,88.96 141.5,89.37 S142.5,91.23 142.8,91.77 S143.7,94.11 144,94.76 S145,97.53 145.2,98.29 S146.2,101.5 146.4,102.3 S147.4,105.9 147.7,106.8 S148.6,110.7 148.9,111.7 S149.9,115.9 150.1,117 S151.1,121.4 151.3,122.6 S152.3,127.2 152.5,128.4 S153.5,133.2 153.8,134.4 S154.7,139.3 155,140.5 S156,145.5 156.2,146.7 S157.2,151.7 157.4,153 S158.4,157.9 158.7,159.2 S159.6,164.1 159.9,165.3 S160.9,170.1 161.1,171.2 S162.1,175.8 162.3,177 S163.3,181.4 163.6,182.5 S164.5,186.6 164.8,187.7 S165.8,191.6 166,192.5 S167,196.1 167.2,197 S168.2,200.2 168.5,201 S169.4,203.9 169.7,204.6 S170.7,207.1 170.9,207.7 S171.9,209.9 172.1,210.3 S173.1,212.1 173.3,212.4 S174.3,213.7 174.6,214 S175.5,214.9 175.8,215 S176.8,215.5 177,215.5 S178,215.5 178.2,215.5 S179.2,215.1 179.5,214.9 S180.4,214.1 180.7,213.8 S181.7,212.6 181.9,212.2 S182.9,210.6 183.1,210.2 S184.1,208.2 184.4,207.6 S185.3,205.3 185.6,204.7 S186.6,202.1 186.8,201.4 S187.8,198.5 188,197.7 S189,194.5 189.2,193.7 S190.2,190.3 190.5,189.5 S191.5,185.9 191.7,185 S192.7,181.2 192.9,180.3 S193.9,176.5 194.1,175.5 S195.1,171.6 195.4,170.6 S196.3,166.7 196.6,165.7 S197.6,161.8 197.8,160.8 S198.8,156.9 199,156 S200,152.1 200.3,151.2 S201.2,147.5 201.5,146.6 S202.5,143.1 202.7,142.2 S203.7,138.9 203.9,138.1 S204.9,134.9 205.2,134.2 S206.1,131.3 206.4,130.6 S207.4,127.9 207.6,127.3 S208.6,125 208.8,124.4 S209.8,122.4 210,121.9 S211,120.2 211.3,119.8 S212.2,118.5 212.5,118.2 S213.5,117.2 213.7,117 S214.7,116.3 214.9,116.2 S215.9,115.9 216.2,115.8 S217.1,115.9 217.4,116 S218.4,116.4 218.6,116.5 S219.6,117.3 219.8,117.5 S220.8,118.6 221.1,118.9 S222,120.3 222.3,120.7 S223.3,122.5 223.5,122.9 S224.5,124.9 224.7,125.5 S225.7,127.8 226,128.4 S226.9,130.9 227.2,131.5 S228.2,134.3 228.4,135 S229.4,137.9 229.6,138.6 S230.6,141.7 230.8,142.5 S231.8,145.7 232.1,146.5 S233,149.7 233.3,150.6 S234.3,153.9 234.5,154.7 S235.5,158.1 235.7,158.9 S236.7,162.3 237,163.1 S237.9,166.4 238.2,167.2 S239.2,170.5 239.4,171.3 S240.4,174.4 240.6,175.2 S241.6,178.2 241.9,178.9 S242.8,181.7 243.1,182.4 S244.1,185.1 244.3,185.7 S245.3,188.1 245.5,188.7 S246.5,190.9 246.7,191.4 S247.7,193.3 248,193.8 S249,195.5 249.2,195.8 S250.2,197.2 250.4,197.5 S251.4,198.6 251.6,198.8 S252.6,199.6 252.9,199.7 S253.8,200.2 254.1,200.3 S255.1,200.4 255.3,200.4 S256.3,200.2 256.5,200.2 S257.5,199.7 257.8,199.5 S258.7,198.7 259,198.5 S260,197.4 260.2,197.1 S261.2,195.8 261.4,195.4 S262.4,193.8 262.7,193.4 S263.6,191.5 263.9,191 S264.9,188.9 265.1,188.4 S266.1,186.1 266.3,185.5 S267.3,183 267.5,182.4 S268.5,179.7 268.8,179 S269.7,176.3 270,175.6 S271,172.7 271.2,172 S272.2,169.1 272.4,168.3 S273.4,165.4 273.7,164.6 S274.6,161.6 274.9,160.9 S275.9,157.9 276.1,157.2 S277.1,154.3 277.3,153.6 S278.3,150.7 278.6,150 S279.5,147.3 279.8,146.6 S280.8,144 281,143.4 S282,140.9 282.2,140.3 S283.2,138.1 283.5,137.5 S284.4,135.4 284.7,134.9 S285.7,133.1 285.9,132.7 S286.9,131 287.1,130.7 S288.1,129.3 288.3,129 S289.3,127.8 289.6,127.6 S290.5,126.8 290.8,126.6 S291.8,126 292,125.9 S293,125.6 293.2,125.6 S294.2,125.6 294.5,125.6 S295.4,125.9 295.7,126 S296.7,126.6 296.9,126.8 S297.9,127.6 298.1,127.8 S299.1,128.9 299.4,129.2 S300.3,130.5 300.6,130.9 S301.6,132.5 301.8,132.9 S302.8,134.7 303,135.1 S304,137.1 304.2,137.6 S305.2,139.8 305.5,140.4 S306.5,142.7 306.7,143.3 S307.7,145.7 307.9,146.3 S308.9,148.9 309.1,149.5 S310.1,152.1 310.4,152.8 S311.3,155.5 311.6,156.2 S312.6,158.9 312.8,159.5 S313.8,162.2 314,162.9 S315,165.6 315.3,166.2 S316.2,168.9 316.5,169.5 S317.5,172.1 317.7,172.7 S318.7,175.1 318.9,175.7 S319.9,178 320.2,178.6 S321.1,180.8 321.4,181.3 S322.4,183.3 322.6,183.7 S323.6,185.5 323.8,186 S324.8,187.6 325,187.9 S326,189.3 326.3,189.6 S327.2,190.8 327.5,191 S328.5,191.9 328.7,192.1 S329.7,192.7 329.9,192.9 S330.9,193.3 331.2,193.3 S332.1,193.5 332.4,193.5 S333.4,193.3 333.6,193.3 S334.6,192.9 334.8,192.7 S335.8,192.1 336.1,191.9 S337.3,190.7 337.3,190.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,255)"><path d="M93.82,2.314e+004 S94.8,7986 95.05,5949 S96.03,3197 96.27,2767 S97.25,1817 97.49,1655 S98.47,1220 98.72,1140 S99.7,906.3 99.94,861.7 S100.9,721.7 101.2,694.1 S102.1,603.8 102.4,585.5 S103.4,524 103.6,511.3 S104.6,467.4 104.8,458.1 S105.8,425.6 106.1,418.7 S107,393.8 107.3,388.4 S108.3,368.8 108.5,364.5 S109.5,348.6 109.7,345 S110.7,331.8 111,328.8 S111.9,317.5 112.2,314.9 S113.2,305 113.4,302.7 S114.4,293.8 114.6,291.7 S115.6,283.5 115.8,281.6 S116.8,274 117.1,272.1 S118,264.9 118.3,263.2 S119.3,256.2 119.5,254.5 S120.5,247.7 120.7,246.1 S121.7,239.4 122,237.8 S122.9,231.3 123.2,229.6 S124.2,223.2 124.4,221.6 S125.4,215.1 125.6,213.5 S126.6,207.2 126.9,205.6 S127.8,199.3 128.1,197.7 S129.1,191.4 129.3,189.9 S130.3,183.7 130.5,182.2 S131.5,176.1 131.7,174.6 S132.7,168.6 133,167.1 S134,161.3 134.2,159.9 S135.2,154.2 135.4,152.8 S136.4,147.4 136.6,146 S137.6,140.8 137.9,139.6 S138.8,134.6 139.1,133.4 S140.1,128.7 140.3,127.6 S141.3,123.2 141.5,122.1 S142.5,118.1 142.8,117.1 S143.7,113.4 144,112.6 S145,109.3 145.2,108.5 S146.2,105.6 146.4,104.9 S147.4,102.4 147.7,101.9 S148.6,99.8 148.9,99.35 S149.9,97.72 150.1,97.38 S151.1,96.19 151.3,95.97 S152.3,95.23 152.5,95.11 S153.5,94.82 153.8,94.82 S154.7,94.98 155,95.08 S156,95.68 156.2,95.89 S157.2,96.92 157.4,97.24 S158.4,98.67 158.7,99.09 S159.6,100.9 159.9,101.4 S160.9,103.7 161.1,104.3 S162.1,106.8 162.3,107.5 S163.3,110.4 163.6,111.2 S164.5,114.4 164.8,115.2 S165.8,118.7 166,119.6 S167,123.3 167.2,124.3 S168.2,128.2 168.5,129.2 S169.4,133.3 169.7,134.3 S170.7,138.5 170.9,139.6 S171.9,143.9 172.1,145 S173.1,149.4 173.3,150.4 S174.3,154.8 174.6,155.9 S175.5,160.3 175.8,161.3 S176.8,165.6 177,166.7 S178,170.9 178.2,171.9 S179.2,176 179.5,176.9 S180.4,180.8 180.7,181.8 S181.7,185.4 181.9,186.3 S182.9,189.8 183.1,190.6 S184.1,193.8 184.4,194.6 S185.3,197.5 185.6,198.1 S186.6,200.7 186.8,201.3 S187.8,203.6 188,204.1 S189,206 189.2,206.5 S190.2,208 190.5,208.3 S191.5,209.5 191.7,209.8 S192.7,210.6 192.9,210.7 S193.9,211.2 194.1,211.2 S195.1,211.3 195.4,211.2 S196.3,210.9 196.6,210.7 S197.6,210 197.8,209.8 S198.8,208.8 199,208.4 S200,207 200.3,206.6 S201.2,204.9 201.5,204.4 S202.5,202.4 202.7,201.8 S203.7,199.5 203.9,198.9 S204.9,196.3 205.2,195.6 S206.1,192.7 206.4,192 S207.4,189 207.6,188.2 S208.6,184.9 208.8,184.1 S209.8,180.8 210,179.9 S211,176.4 211.3,175.5 S212.2,172 212.5,171.1 S213.5,167.5 213.7,166.6 S214.7,163 214.9,162.1 S215.9,158.5 216.2,157.6 S217.1,154 217.4,153.2 S218.4,149.7 218.6,148.9 S219.6,145.6 219.8,144.8 S220.8,141.6 221.1,140.8 S222,137.8 222.3,137.1 S223.3,134.4 223.5,133.7 S224.5,131.1 224.7,130.5 S225.7,128.3 226,127.7 S226.9,125.7 227.2,125.2 S228.2,123.5 228.4,123.1 S229.4,121.7 229.6,121.4 S230.6,120.3 230.8,120.1 S231.8,119.3 232.1,119.2 S233,118.7 233.3,118.6 S234.3,118.5 234.5,118.5 S235.5,118.8 235.7,118.9 S236.7,119.4 237,119.6 S237.9,120.4 238.2,120.7 S239.2,121.8 239.4,122.2 S240.4,123.6 240.6,124 S241.6,125.7 241.9,126.2 S242.8,128.2 243.1,128.7 S244.1,131 244.3,131.5 S245.3,134 245.5,134.6 S246.5,137.2 246.7,137.9 S247.7,140.7 248,141.4 S249,144.3 249.2,145.1 S250.2,148.1 250.4,148.9 S251.4,152 251.6,152.7 S252.6,155.9 252.9,156.7 S253.8,159.8 254.1,160.6 S255.1,163.7 255.3,164.5 S256.3,167.6 256.5,168.4 S257.5,171.4 257.8,172.1 S258.7,175 259,175.7 S260,178.5 260.2,179.2 S261.2,181.8 261.4,182.4 S262.4,184.9 262.7,185.4 S263.6,187.7 263.9,188.2 S264.9,190.2 265.1,190.6 S266.1,192.4 266.3,192.8 S267.3,194.3 267.5,194.6 S268.5,195.9 268.8,196.1 S269.7,197.1 270,197.3 S271,197.9 271.2,198 S272.2,198.4 272.4,198.5 S273.4,198.5 273.7,198.5 S274.6,198.3 274.9,198.2 S275.9,197.7 276.1,197.5 S277.1,196.7 277.3,196.4 S278.3,195.4 278.6,195.1 S279.5,193.7 279.8,193.4 S280.8,191.8 281,191.3 S282,189.5 282.2,189.1 S283.2,187 283.5,186.5 S284.4,184.3 284.7,183.7 S285.7,181.3 285.9,180.7 S286.9,178.2 287.1,177.6 S288.1,174.9 288.3,174.2 S289.3,171.5 289.6,170.8 S290.5,168 290.8,167.3 S291.8,164.5 292,163.8 S293,161 293.2,160.3 S294.2,157.4 294.5,156.7 S295.4,154 295.7,153.3 S296.7,150.6 296.9,149.9 S297.9,147.4 298.1,146.7 S299.1,144.3 299.4,143.7 S300.3,141.3 300.6,140.8 S301.6,138.6 301.8,138.1 S302.8,136.2 303,135.7 S304,134 304.2,133.5 S305.2,132 305.5,131.7 S306.5,130.4 306.7,130.1 S307.7,129.1 307.9,128.8 S308.9,128.1 309.1,127.9 S310.1,127.4 310.4,127.3 S311.3,127 311.6,127 S312.6,127 312.8,127.1 S313.8,127.4 314,127.5 S315,128 315.3,128.2 S316.2,129 316.5,129.2 S317.5,130.3 317.7,130.6 S318.7,131.9 318.9,132.2 S319.9,133.7 320.2,134.1 S321.1,135.9 321.4,136.3 S322.4,138.2 322.6,138.7 S323.6,140.8 323.8,141.3 S324.8,143.5 325,144.1 S326,146.5 326.3,147.1 S327.2,149.5 327.5,150.1 S328.5,152.6 328.7,153.3 S329.7,155.8 329.9,156.5 S330.9,159.1 331.2,159.7 S332.1,162.3 332.4,163 S333.4,165.5 333.6,166.2 S334.6,168.7 334.8,169.3 S335.8,171.8 336.1,172.3 S337.3,175.5 337.3,175.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,0,255)"><path d="M93.82,-1002 S94.8,-512.3 95.05,-437.3 S96.03,-279.5 96.27,-251.8 S97.25,-174.3 97.49,-159.6 S98.47,-113.2 98.72,-103.9 S99.7,-72.5 99.94,-65.87 S100.9,-42.67 101.2,-37.58 S102.1,-19.21 102.4,-15.07 S103.4,0.2925 103.6,3.837 S104.6,17.23 104.8,20.38 S105.8,32.46 106.1,35.34 S107,46.5 107.3,49.2 S108.3,59.71 108.5,62.27 S109.5,72.3 109.7,74.75 S110.7,84.42 111,86.78 S111.9,96.14 112.2,98.44 S113.2,107.5 113.4,109.7 S114.4,118.6 114.6,120.7 S115.6,129.3 115.8,131.4 S116.8,139.7 117.1,141.7 S118,149.7 118.3,151.7 S119.3,159.4 119.5,161.3 S120.5,168.6 120.7,170.4 S121.7,177.4 122,179.1 S122.9,185.7 123.2,187.3 S124.2,193.4 124.4,194.9 S125.4,200.6 125.6,202 S126.6,207.2 126.9,208.4 S127.8,213.2 128.1,214.3 S129.1,218.5 129.3,219.4 S130.3,223.1 130.5,223.9 S131.5,227 131.7,227.7 S132.7,230.3 133,230.8 S134,232.8 134.2,233.2 S135.2,234.6 135.4,234.8 S136.4,235.7 136.6,235.8 S137.6,236 137.9,236 S138.8,235.7 139.1,235.5 S140.1,234.7 140.3,234.4 S141.3,233 141.5,232.6 S142.5,230.8 142.8,230.2 S143.7,227.9 144,227.2 S145,224.5 145.2,223.7 S146.2,220.5 146.4,219.7 S147.4,216.1 147.7,215.2 S148.6,211.3 148.9,210.3 S149.9,206.1 150.1,205 S151.1,200.6 151.3,199.4 S152.3,194.8 152.5,193.6 S153.5,188.8 153.8,187.6 S154.7,182.7 155,181.5 S156,176.5 156.2,175.3 S157.2,170.3 157.4,169 S158.4,164.1 158.7,162.8 S159.6,157.9 159.9,156.7 S160.9,151.9 161.1,150.8 S162.1,146.2 162.3,145 S163.3,140.6 163.6,139.5 S164.5,135.4 164.8,134.3 S165.8,130.4 166,129.5 S167,125.9 167.2,125 S168.2,121.8 168.5,121 S169.4,118.1 169.7,117.4 S170.7,114.9 170.9,114.3 S171.9,112.1 172.1,111.7 S173.1,109.9 173.3,109.6 S174.3,108.3 174.6,108 S175.5,107.1 175.8,107 S176.8,106.5 177,106.5 S178,106.5 178.2,106.5 S179.2,106.9 179.5,107.1 S180.4,107.9 180.7,108.2 S181.7,109.4 181.9,109.8 S182.9,111.4 183.1,111.8 S184.1,113.8 184.4,114.4 S185.3,116.7 185.6,117.3 S186.6,119.9 186.8,120.6 S187.8,123.5 188,124.3 S189,127.5 189.2,128.3 S190.2,131.7 190.5,132.5 S191.5,136.1 191.7,137 S192.7,140.8 192.9,141.7 S193.9,145.5 194.1,146.5 S195.1,150.4 195.4,151.4 S196.3,155.3 196.6,156.3 S197.6,160.2 197.8,161.2 S198.8,165.1 199,166 S200,169.9 200.3,170.8 S201.2,174.5 201.5,175.4 S202.5,178.9 202.7,179.8 S203.7,183.1 203.9,183.9 S204.9,187.1 205.2,187.8 S206.1,190.7 206.4,191.4 S207.4,194.1 207.6,194.7 S208.6,197 208.8,197.6 S209.8,199.6 210,200.1 S211,201.8 211.3,202.2 S212.2,203.5 212.5,203.8 S213.5,204.8 213.7,205 S214.7,205.7 214.9,205.8 S215.9,206.1 216.2,206.2 S217.1,206.1 217.4,206 S218.4,205.6 218.6,205.5 S219.6,204.7 219.8,204.5 S220.8,203.4 221.1,203.1 S222,201.7 222.3,201.3 S223.3,199.5 223.5,199.1 S224.5,197.1 224.7,196.5 S225.7,194.2 226,193.6 S226.9,191.1 227.2,190.5 S228.2,187.7 228.4,187 S229.4,184.1 229.6,183.4 S230.6,180.3 230.8,179.5 S231.8,176.3 232.1,175.5 S233,172.3 233.3,171.4 S234.3,168.1 234.5,167.3 S235.5,163.9 235.7,163.1 S236.7,159.7 237,158.9 S237.9,155.6 238.2,154.8 S239.2,151.5 239.4,150.7 S240.4,147.6 240.6,146.8 S241.6,143.8 241.9,143.1 S242.8,140.3 243.1,139.6 S244.1,136.9 244.3,136.3 S245.3,133.9 245.5,133.3 S246.5,131.1 246.7,130.6 S247.7,128.7 248,128.2 S249,126.5 249.2,126.2 S250.2,124.8 250.4,124.5 S251.4,123.4 251.6,123.2 S252.6,122.4 252.9,122.3 S253.8,121.8 254.1,121.7 S255.1,121.6 255.3,121.6 S256.3,121.8 256.5,121.8 S257.5,122.3 257.8,122.5 S258.7,123.3 259,123.5 S260,124.6 260.2,124.9 S261.2,126.2 261.4,126.6 S262.4,128.2 262.7,128.6 S263.6,130.5 263.9,131 S264.9,133.1 265.1,133.6 S266.1,135.9 266.3,136.5 S267.3,139 267.5,139.6 S268.5,142.3 268.8,143 S269.7,145.7 270,146.4 S271,149.3 271.2,150 S272.2,152.9 272.4,153.7 S273.4,156.6 273.7,157.4 S274.6,160.4 274.9,161.1 S275.9,164.1 276.1,164.8 S277.1,167.7 277.3,168.4 S278.3,171.3 278.6,172 S279.5,174.7 279.8,175.4 S280.8,178 281,178.6 S282,181.1 282.2,181.7 S283.2,183.9 283.5,184.5 S284.4,186.6 284.7,187.1 S285.7,188.9 285.9,189.3 S286.9,191 287.1,191.3 S288.1,192.7 288.3,193 S289.3,194.2 289.6,194.4 S290.5,195.2 290.8,195.4 S291.8,196 292,196.1 S293,196.4 293.2,196.4 S294.2,196.4 294.5,196.4 S295.4,196.1 295.7,196 S296.7,195.4 296.9,195.2 S297.9,194.4 298.1,194.2 S299.1,193.1 299.4,192.8 S300.3,191.5 300.6,191.1 S301.6,189.5 301.8,189.1 S302.8,187.3 303,186.9 S304,184.9 304.2,184.4 S305.2,182.2 305.5,181.6 S306.5,179.3 306.7,178.7 S307.7,176.3 307.9,175.7 S308.9,173.1 309.1,172.5 S310.1,169.9 310.4,169.2 S311.3,166.5 311.6,165.8 S312.6,163.1 312.8,162.5 S313.8,159.8 314,159.1 S315,156.4 315.3,155.8 S316.2,153.1 316.5,152.5 S317.5,149.9 317.7,149.3 S318.7,146.9 318.9,146.3 S319.9,144 320.2,143.4 S321.1,141.2 321.4,140.7 S322.4,138.7 322.6,138.3 S323.6,136.5 323.8,136 S324.8,134.4 325,134.1 S326,132.7 326.3,132.4 S327.2,131.2 327.5,131 S328.5,130.1 328.7,129.9 S329.7,129.3 329.9,129.1 S330.9,128.7 331.2,128.7 S332.1,128.5 332.4,128.5 S333.4,128.7 333.6,128.7 S334.6,129.1 334.8,129.3 S335.8,129.9 336.1,130.1 S337.3,131.3 337.3,131.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,255,0)"><path d="M93.82,-9.177e+005 S94.8,-2.034e+005 95.05,-1.15e+005 S96.03,-4.423e+004 96.27,-3.418e+004 S97.25,-1.713e+004 97.49,-1.446e+004 S98.47,-8427 98.72,-7410 S99.7,-4756 99.94,-4283 S100.9,-2936 101.2,-2687 S102.1,-1930 102.4,-1786 S103.4,-1328 103.6,-1239 S104.6,-945.7 104.8,-886.9 S105.8,-690.5 106.1,-650.3 S107,-513.6 107.3,-485.2 S108.3,-387 108.5,-366.3 S109.5,-294 109.7,-278.6 S110.7,-224 111,-212.2 S111.9,-170.3 112.2,-161.1 S113.2,-128.3 113.4,-121.1 S114.4,-94.9 114.6,-89.12 S115.6,-67.97 115.8,-63.26 S116.8,-45.9 117.1,-42 S118,-27.55 118.3,-24.27 S119.3,-12.06 119.5,-9.264 S120.5,1.223 120.7,3.64 S121.7,12.78 122,14.91 S122.9,23.01 123.2,24.91 S124.2,32.2 124.4,33.93 S125.4,40.59 125.6,42.19 S126.6,48.38 126.9,49.88 S127.8,55.71 128.1,57.13 S129.1,62.7 129.3,64.06 S130.3,69.44 130.5,70.77 S131.5,76.02 131.7,77.32 S132.7,82.48 133,83.76 S134,88.87 134.2,90.15 S135.2,95.23 135.4,96.5 S136.4,101.6 136.6,102.8 S137.6,107.9 137.9,109.2 S138.8,114.3 139.1,115.5 S140.1,120.6 140.3,121.9 S141.3,127 141.5,128.2 S142.5,133.3 142.8,134.6 S143.7,139.6 144,140.9 S145,145.9 145.2,147.1 S146.2,152.1 146.4,153.3 S147.4,158.2 147.7,159.4 S148.6,164.2 148.9,165.3 S149.9,170 150.1,171.1 S151.1,175.6 151.3,176.8 S152.3,181.1 152.5,182.2 S153.5,186.3 153.8,187.3 S154.7,191.3 155,192.2 S156,195.9 156.2,196.8 S157.2,200.3 157.4,201.1 S158.4,204.3 158.7,205 S159.6,207.9 159.9,208.6 S160.9,211.2 161.1,211.7 S162.1,214 162.3,214.5 S163.3,216.4 163.6,216.8 S164.5,218.3 164.8,218.7 S165.8,219.8 166,220.1 S167,220.9 167.2,221 S168.2,221.5 168.5,221.5 S169.4,221.6 169.7,221.5 S170.7,221.2 170.9,221.1 S171.9,220.4 172.1,220.2 S173.1,219.1 173.3,218.8 S174.3,217.4 174.6,217 S175.5,215.3 175.8,214.8 S176.8,212.8 177,212.2 S178,209.9 178.2,209.3 S179.2,206.6 179.5,205.9 S180.4,203 180.7,202.3 S181.7,199.2 181.9,198.3 S182.9,195 183.1,194.2 S184.1,190.6 184.4,189.7 S185.3,186.1 185.6,185.2 S186.6,181.4 186.8,180.4 S187.8,176.6 188,175.6 S189,171.7 189.2,170.7 S190.2,166.8 190.5,165.8 S191.5,161.9 191.7,160.9 S192.7,157 192.9,156 S193.9,152.2 194.1,151.3 S195.1,147.6 195.4,146.7 S196.3,143.2 196.6,142.3 S197.6,138.9 197.8,138.1 S198.8,134.9 199,134.1 S200,131.2 200.3,130.5 S201.2,127.7 201.5,127.1 S202.5,124.7 202.7,124.1 S203.7,121.9 203.9,121.4 S204.9,119.5 205.2,119.1 S206.1,117.6 206.4,117.2 S207.4,116 207.6,115.8 S208.6,114.9 208.8,114.7 S209.8,114.1 210,114.1 S211,113.8 211.3,113.8 S212.2,114 212.5,114.1 S213.5,114.5 213.7,114.7 S214.7,115.5 214.9,115.8 S215.9,116.9 216.2,117.2 S217.1,118.6 217.4,119 S218.4,120.8 218.6,121.2 S219.6,123.2 219.8,123.8 S220.8,126 221.1,126.6 S222,129.1 222.3,129.8 S223.3,132.4 223.5,133.1 S224.5,136 224.7,136.8 S225.7,139.8 226,140.6 S226.9,143.7 227.2,144.5 S228.2,147.8 228.4,148.6 S229.4,151.9 229.6,152.8 S230.6,156.1 230.8,157 S231.8,160.3 232.1,161.1 S233,164.5 233.3,165.3 S234.3,168.6 234.5,169.4 S235.5,172.6 235.7,173.3 S236.7,176.4 237,177.2 S237.9,180.1 238.2,180.8 S239.2,183.6 239.4,184.2 S240.4,186.8 240.6,187.4 S241.6,189.7 241.9,190.3 S242.8,192.4 243.1,192.9 S244.1,194.8 244.3,195.2 S245.3,196.8 245.5,197.1 S246.5,198.4 246.7,198.7 S247.7,199.7 248,200 S249,200.7 249.2,200.8 S250.2,201.2 250.4,201.3 S251.4,201.4 251.6,201.4 S252.6,201.2 252.9,201.1 S253.8,200.6 254.1,200.4 S255.1,199.6 255.3,199.4 S256.3,198.3 256.5,198 S257.5,196.6 257.8,196.2 S258.7,194.6 259,194.2 S260,192.3 260.2,191.8 S261.2,189.7 261.4,189.2 S262.4,186.9 262.7,186.3 S263.6,183.9 263.9,183.2 S264.9,180.6 265.1,179.9 S266.1,177.2 266.3,176.5 S267.3,173.7 267.5,172.9 S268.5,170 268.8,169.3 S269.7,166.3 270,165.6 S271,162.6 271.2,161.9 S272.2,158.9 272.4,158.2 S273.4,155.2 273.7,154.5 S274.6,151.6 274.9,150.9 S275.9,148.2 276.1,147.5 S277.1,144.8 277.3,144.2 S278.3,141.7 278.6,141.1 S279.5,138.7 279.8,138.2 S280.8,136 281,135.5 S282,133.6 282.2,133.1 S283.2,131.4 283.5,131 S284.4,129.5 284.7,129.2 S285.7,127.9 285.9,127.7 S286.9,126.7 287.1,126.5 S288.1,125.8 288.3,125.7 S289.3,125.2 289.6,125.2 S290.5,125 290.8,125 S291.8,125.2 292,125.2 S293,125.6 293.2,125.8 S294.2,126.5 294.5,126.7 S295.4,127.6 295.7,127.9 S296.7,129.1 296.9,129.4 S297.9,130.8 298.1,131.2 S299.1,132.9 299.4,133.3 S300.3,135.2 300.6,135.7 S301.6,137.7 301.8,138.2 S302.8,140.4 303,141 S304,143.4 304.2,144 S305.2,146.5 305.5,147.1 S306.5,149.7 306.7,150.3 S307.7,153 307.9,153.6 S308.9,156.3 309.1,157 S310.1,159.7 310.4,160.4 S311.3,163.1 311.6,163.7 S312.6,166.4 312.8,167.1 S313.8,169.7 314,170.3 S315,172.8 315.3,173.5 S316.2,175.9 316.5,176.5 S317.5,178.7 317.7,179.3 S318.7,181.4 318.9,181.9 S319.9,183.9 320.2,184.4 S321.1,186.1 321.4,186.5 S322.4,188.1 322.6,188.5 S323.6,189.8 323.8,190.1 S324.8,191.2 325,191.5 S326,192.3 326.3,192.5 S327.2,193.2 327.5,193.3 S328.5,193.6 328.7,193.7 S329.7,193.8 329.9,193.8 S330.9,193.7 331.2,193.6 S332.1,193.2 332.4,193 S333.4,192.4 333.6,192.2 S334.6,191.3 334.8,191.1 S335.8,190 336.1,189.6 S337.3,187.8 337.3,187.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"><g stroke="rgb(0,0,0)" fill="rgb(255,0,0)"><circle cx="103.5" cy="161" r="4"/><circle cx="141" cy="161" r="4"/><circle cx="179.3" cy="161" r="4"/><circle cx="217.7" cy="161" r="4"/><circle cx="256.1" cy="161" r="4"/><circle cx="294.5" cy="161" r="4"/><circle cx="332.9" cy="161" r="4"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(0,128,0)"><circle cx="119.5" cy="161" r="4"/><circle cx="159" cy="161" r="4"/><circle cx="197.8" cy="161" r="4"/><circle cx="236.3" cy="161" r="4"/><circle cx="274.9" cy="161" r="4"/><circle cx="313.3" cy="161" r="4"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(0,0,255)"><circle cx="134" cy="161" r="4"/><circle cx="175.7" cy="161" r="4"/><circle cx="215.2" cy="161" r="4"/><circle cx="254.2" cy="161" r="4"/><circle cx="293" cy="161" r="4"/><circle cx="331.6" cy="161" r="4"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(255,0,255)"><rect x="118" y="159.5" width="3" height="3"/><rect x="157.5" y="159.5" width="3" height="3"/><rect x="196.3" y="159.5" width="3" height="3"/><rect x="234.8" y="159.5" width="3" height="3"/><rect x="273.4" y="159.5" width="3" height="3"/><rect x="311.8" y="159.5" width="3" height="3"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(255,255,0)">
+<text x="148" y="160" text-anchor="middle" font-size="5" font-family="Lucida Sans Unicode">&#x25CA;</text>
+<text x="191.7" y="160" text-anchor="middle" font-size="5" font-family="Lucida Sans Unicode">&#x25CA;</text>
+<text x="232" y="160" text-anchor="middle" font-size="5" font-family="Lucida Sans Unicode">&#x25CA;</text>
+<text x="271.5" y="160" text-anchor="middle" font-size="5" font-family="Lucida Sans Unicode">&#x25CA;</text>
+<text x="310.6" y="160" text-anchor="middle" font-size="5" font-family="Lucida Sans Unicode">&#x25CA;</text></g>
+</g>
+<g id="legendBackground" stroke="rgb(255,255,0)" fill="rgb(255,255,224)" stroke-width="1"><rect x="351.3" y="53" width="122.7" height="294"/><rect x="351.3" y="53" width="122.7" height="294"/></g>
+<g id="legendPoints"><g stroke="rgb(255,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="365.3" y1="81" x2="379.3" y2="81"/></g>
+<g stroke="rgb(0,128,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="365.3" y1="109" x2="379.3" y2="109"/></g>
+<g stroke="rgb(0,0,255)" fill="rgb(255,255,255)" stroke-width="1"><line x1="365.3" y1="137" x2="379.3" y2="137"/></g>
+<g stroke="rgb(255,0,255)" fill="rgb(255,255,255)" stroke-width="1"><line x1="365.3" y1="165" x2="379.3" y2="165"/></g>
+<g stroke="rgb(255,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="365.3" y1="193" x2="379.3" y2="193"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(255,0,0)" stroke-width="2"><circle cx="365.3" cy="221" r="4"/><line x1="386.3" y1="221" x2="400.3" y2="221"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(0,128,0)" stroke-width="2"><circle cx="365.3" cy="249" r="4"/><line x1="386.3" y1="249" x2="400.3" y2="249"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(0,0,255)" stroke-width="2"><circle cx="365.3" cy="277" r="4"/><line x1="386.3" y1="277" x2="400.3" y2="277"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(255,0,255)" stroke-width="2"><rect x="363.8" y="303.5" width="3" height="3"/><line x1="386.3" y1="305" x2="400.3" y2="305"/></g>
+<g stroke="rgb(0,0,0)" fill="rgb(255,255,0)" stroke-width="2">
+<text x="365.3" y="332" text-anchor="middle" font-size="5" font-family="Lucida Sans Unicode">&#x25CA;</text><line x1="386.3" y1="333" x2="400.3" y2="333"/></g>
+</g>
+<g id="legendText">
+<text x="386.3" y="81" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">0</tspan>(x)</text>
+<text x="386.3" y="109" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">1</tspan>(x)</text>
+<text x="386.3" y="137" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">2</tspan>(x)</text>
+<text x="386.3" y="165" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">-1</tspan>(x)</text>
+<text x="386.3" y="193" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">-2</tspan>(x)</text>
+<text x="407.3" y="221" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">0</tspan> zero</text>
+<text x="407.3" y="249" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">1</tspan> zero</text>
+<text x="407.3" y="277" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">2</tspan> zero</text>
+<text x="407.3" y="305" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">-1</tspan> zero</text>
+<text x="407.3" y="333" font-size="14" font-family="Verdana">Y<tspan baseline-shift="sub" font-size="10">-2</tspan> zero</text></g>
+<g id="title" fill="rgb(0,0,0)">
+<text x="250" y="36" text-anchor="middle" font-size="18" font-family="Verdana">Zeros of Neumann Y<tspan baseline-shift="sub" font-size="12">a</tspan>(x)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/normal01_cdf.png b/libs/math/doc/graphs/normal01_cdf.png
index a1b61cdb2d..a1b61cdb2d 100644
--- a/libs/math/doc/sf_and_dist/graphs/normal01_cdf.png
+++ b/libs/math/doc/graphs/normal01_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/normal01_cdf.svg b/libs/math/doc/graphs/normal01_cdf.svg
index 24ceec5c2a..24ceec5c2a 100644
--- a/libs/math/doc/sf_and_dist/graphs/normal01_cdf.svg
+++ b/libs/math/doc/graphs/normal01_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/normal01_pdf.png b/libs/math/doc/graphs/normal01_pdf.png
index 887953951f..887953951f 100644
--- a/libs/math/doc/sf_and_dist/graphs/normal01_pdf.png
+++ b/libs/math/doc/graphs/normal01_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/normal01_pdf.svg b/libs/math/doc/graphs/normal01_pdf.svg
index cf2588bfc2..cf2588bfc2 100644
--- a/libs/math/doc/sf_and_dist/graphs/normal01_pdf.svg
+++ b/libs/math/doc/graphs/normal01_pdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/normal_cdf.png b/libs/math/doc/graphs/normal_cdf.png
index 2d58a99939..2d58a99939 100644
--- a/libs/math/doc/sf_and_dist/graphs/normal_cdf.png
+++ b/libs/math/doc/graphs/normal_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/normal_cdf.svg b/libs/math/doc/graphs/normal_cdf.svg
index 981dfb5dc6..981dfb5dc6 100644
--- a/libs/math/doc/sf_and_dist/graphs/normal_cdf.svg
+++ b/libs/math/doc/graphs/normal_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/normal_pdf.png b/libs/math/doc/graphs/normal_pdf.png
index 02603bbcbf..02603bbcbf 100644
--- a/libs/math/doc/sf_and_dist/graphs/normal_pdf.png
+++ b/libs/math/doc/graphs/normal_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/normal_pdf.svg b/libs/math/doc/graphs/normal_pdf.svg
new file mode 100644
index 0000000000..a329ffb763
--- /dev/null
+++ b/libs/math/doc/graphs/normal_pdf.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="450" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="452" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="310.2" y1="58" x2="310.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="536.2" y2="341"/><line x1="79.2" y1="341" x2="536.2" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.6 L84.2,334.6 M82.2,328.1 L84.2,328.1 M82.2,321.7 L84.2,321.7 M82.2,315.2 L84.2,315.2 M82.2,302.3 L84.2,302.3 M82.2,295.9 L84.2,295.9 M82.2,289.4 L84.2,289.4 M82.2,283 L84.2,283 M82.2,270.1 L84.2,270.1 M82.2,263.6 L84.2,263.6 M82.2,257.2 L84.2,257.2 M82.2,250.7 L84.2,250.7 M82.2,237.8 L84.2,237.8 M82.2,231.4 L84.2,231.4 M82.2,224.9 L84.2,224.9 M82.2,218.5 L84.2,218.5 M82.2,205.6 L84.2,205.6 M82.2,199.1 L84.2,199.1 M82.2,192.7 L84.2,192.7 M82.2,186.2 L84.2,186.2 M82.2,173.3 L84.2,173.3 M82.2,166.9 L84.2,166.9 M82.2,160.4 L84.2,160.4 M82.2,154 L84.2,154 M82.2,141.1 L84.2,141.1 M82.2,134.6 L84.2,134.6 M82.2,128.2 L84.2,128.2 M82.2,121.7 L84.2,121.7 M82.2,108.8 L84.2,108.8 M82.2,102.4 L84.2,102.4 M82.2,95.94 L84.2,95.94 M82.2,89.49 L84.2,89.49 M82.2,76.6 L84.2,76.6 M82.2,70.15 L84.2,70.15 M82.2,63.7 L84.2,63.7 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M319.5,341 L319.5,343 M328.7,341 L328.7,343 M337.9,341 L337.9,343 M347.2,341 L347.2,343 M365.6,341 L365.6,343 M374.9,341 L374.9,343 M384.1,341 L384.1,343 M393.3,341 L393.3,343 M411.8,341 L411.8,343 M421,341 L421,343 M430.3,341 L430.3,343 M439.5,341 L439.5,343 M458,341 L458,343 M467.2,341 L467.2,343 M476.4,341 L476.4,343 M485.7,341 L485.7,343 M504.1,341 L504.1,343 M513.4,341 L513.4,343 M522.6,341 L522.6,343 M531.8,341 L531.8,343 M301,341 L301,343 M291.8,341 L291.8,343 M282.5,341 L282.5,343 M273.3,341 L273.3,343 M254.8,341 L254.8,343 M245.6,341 L245.6,343 M236.4,341 L236.4,343 M227.1,341 L227.1,343 M208.7,341 L208.7,343 M199.4,341 L199.4,343 M190.2,341 L190.2,343 M181,341 L181,343 M162.5,341 L162.5,343 M153.2,341 L153.2,343 M144,341 L144,343 M134.8,341 L134.8,343 M116.3,341 L116.3,343 M107.1,341 L107.1,343 M97.85,341 L97.85,343 M88.61,341 L88.61,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,308.8 L84.2,308.8 M79.2,276.5 L84.2,276.5 M79.2,244.3 L84.2,244.3 M79.2,212 L84.2,212 M79.2,179.8 L84.2,179.8 M79.2,147.5 L84.2,147.5 M79.2,115.3 L84.2,115.3 M79.2,83.05 L84.2,83.05 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M310.2,341 L310.2,346 M356.4,341 L356.4,346 M402.6,341 L402.6,346 M448.7,341 L448.7,346 M494.9,341 L494.9,346 M310.2,341 L310.2,346 M264.1,341 L264.1,346 M217.9,341 L217.9,346 M171.7,341 L171.7,346 M125.5,341 L125.5,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="310.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="356.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="402.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="448.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="494.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="310.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="264.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="217.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="171.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
+<text x="125.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="311.2" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="278.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="246.7" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="214.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="182.2" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="149.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="117.7" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="85.45" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="310.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,340.9 L131.7,340.9 L133.9,340.9 L136.2,340.9 L138.4,340.9 L140.7,340.8 L143,340.8 L145.2,340.8 L147.5,340.7 L149.7,340.7 L152,340.6 L154.3,340.6 L156.5,340.5 L158.8,340.4 L161,340.3 L163.3,340.2 L165.6,340.1 L167.8,339.9 L170.1,339.7 L172.3,339.5 L174.6,339.3 L176.9,339 L179.1,338.7 L181.4,338.4 L183.6,338 L185.9,337.6 L188.2,337.1 L190.4,336.6 L192.7,336 L194.9,335.3 L197.2,334.6 L199.5,333.8 L201.7,332.9 L204,331.9 L206.3,330.8 L208.5,329.6 L210.8,328.4 L213,327 L215.3,325.5 L217.6,323.8 L219.8,322.1 L222.1,320.2 L224.3,318.2 L226.6,316.1 L228.9,313.8 L231.1,311.4 L233.4,308.8 L235.6,306.1 L237.9,303.3 L240.2,300.3 L242.4,297.3 L244.7,294 L246.9,290.7 L249.2,287.3 L251.5,283.8 L253.7,280.2 L256,276.5 L258.2,272.8 L260.5,269 L262.8,265.2 L265,261.4 L267.3,257.5 L269.5,253.8 L271.8,250 L274.1,246.4 L276.3,242.8 L278.6,239.3 L280.8,235.9 L283.1,232.8 L285.4,229.7 L287.6,226.9 L289.9,224.3 L292.1,221.9 L294.4,219.7 L296.7,217.8 L298.9,216.2 L301.2,214.8 L303.4,213.7 L305.7,213 L308,212.5 L310.2,212.4 L312.5,212.5 L314.7,213 L317,213.7 L319.3,214.8 L321.5,216.2 L323.8,217.8 L326,219.7 L328.3,221.9 L330.6,224.3 L332.8,226.9 L335.1,229.7 L337.3,232.7 L339.6,235.9 L341.9,239.3 L344.1,242.8 L346.4,246.3 L348.6,250 L350.9,253.7 L353.2,257.5 L355.4,261.3 L357.7,265.2 L359.9,269 L362.2,272.8 L364.5,276.5 L366.7,280.2 L369,283.8 L371.2,287.3 L373.5,290.7 L375.8,294 L378,297.2 L380.3,300.3 L382.5,303.3 L384.8,306.1 L387.1,308.8 L389.3,311.4 L391.6,313.8 L393.8,316.1 L396.1,318.2 L398.4,320.2 L400.6,322.1 L402.9,323.8 L405.1,325.5 L407.4,327 L409.7,328.4 L411.9,329.6 L414.2,330.8 L416.4,331.9 L418.7,332.9 L421,333.8 L423.2,334.6 L425.5,335.3 L427.8,336 L430,336.6 L432.3,337.1 L434.5,337.6 L436.8,338 L439.1,338.4 L441.3,338.7 L443.6,339 L445.8,339.3 L448.1,339.5 L450.4,339.7 L452.6,339.9 L454.9,340 L457.1,340.2 L459.4,340.3 L461.7,340.4 L463.9,340.5 L466.2,340.6 L468.4,340.6 L470.7,340.7 L473,340.7 L475.2,340.8 L477.5,340.8 L479.7,340.8 L482,340.9 L484.3,340.9 L486.5,340.9 L488.8,340.9 L491,340.9 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,341 L131.7,341 L133.9,341 L136.2,341 L138.4,341 L140.7,341 L143,341 L145.2,341 L147.5,341 L149.7,341 L152,341 L154.3,341 L156.5,341 L158.8,341 L161,341 L163.3,341 L165.6,341 L167.8,341 L170.1,341 L172.3,341 L174.6,341 L176.9,341 L179.1,341 L181.4,341 L183.6,341 L185.9,341 L188.2,341 L190.4,341 L192.7,341 L194.9,341 L197.2,341 L199.5,341 L201.7,341 L204,341 L206.3,341 L208.5,341 L210.8,341 L213,341 L215.3,340.9 L217.6,340.9 L219.8,340.9 L222.1,340.8 L224.3,340.7 L226.6,340.6 L228.9,340.5 L231.1,340.3 L233.4,340 L235.6,339.6 L237.9,339.1 L240.2,338.4 L242.4,337.6 L244.7,336.4 L246.9,335 L249.2,333.2 L251.5,330.9 L253.7,328.1 L256,324.7 L258.2,320.6 L260.5,315.7 L262.8,309.9 L265,303.2 L267.3,295.4 L269.5,286.6 L271.8,276.6 L274.1,265.6 L276.3,253.5 L278.6,240.5 L280.8,226.6 L283.1,212 L285.4,197 L287.6,181.7 L289.9,166.5 L292.1,151.7 L294.4,137.6 L296.7,124.5 L298.9,112.8 L301.2,102.7 L303.4,94.6 L305.7,88.62 L308,84.96 L310.2,83.73 L312.5,84.95 L314.7,88.61 L317,94.58 L319.3,102.7 L321.5,112.8 L323.8,124.5 L326,137.6 L328.3,151.7 L330.6,166.5 L332.8,181.7 L335.1,196.9 L337.3,212 L339.6,226.5 L341.9,240.4 L344.1,253.5 L346.4,265.6 L348.6,276.6 L350.9,286.5 L353.2,295.4 L355.4,303.2 L357.7,309.9 L359.9,315.7 L362.2,320.6 L364.5,324.7 L366.7,328.1 L369,330.9 L371.2,333.2 L373.5,335 L375.8,336.4 L378,337.6 L380.3,338.4 L382.5,339.1 L384.8,339.6 L387.1,340 L389.3,340.3 L391.6,340.5 L393.8,340.6 L396.1,340.7 L398.4,340.8 L400.6,340.9 L402.9,340.9 L405.1,340.9 L407.4,341 L409.7,341 L411.9,341 L414.2,341 L416.4,341 L418.7,341 L421,341 L423.2,341 L425.5,341 L427.8,341 L430,341 L432.3,341 L434.5,341 L436.8,341 L439.1,341 L441.3,341 L443.6,341 L445.8,341 L448.1,341 L450.4,341 L452.6,341 L454.9,341 L457.1,341 L459.4,341 L461.7,341 L463.9,341 L466.2,341 L468.4,341 L470.7,341 L473,341 L475.2,341 L477.5,341 L479.7,341 L482,341 L484.3,341 L486.5,341 L488.8,341 L491,341 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.46,337.6 L88.72,337.4 L90.98,337.2 L93.24,336.9 L95.5,336.7 L97.76,336.4 L100,336.2 L102.3,335.9 L104.5,335.6 L106.8,335.3 L109.1,335 L111.3,334.7 L113.6,334.3 L115.8,334 L118.1,333.6 L120.4,333.2 L122.6,332.8 L124.9,332.4 L127.1,332 L129.4,331.5 L131.7,331.1 L133.9,330.6 L136.2,330.1 L138.4,329.6 L140.7,329.1 L143,328.5 L145.2,328 L147.5,327.4 L149.7,326.8 L152,326.2 L154.3,325.6 L156.5,324.9 L158.8,324.2 L161,323.6 L163.3,322.9 L165.6,322.1 L167.8,321.4 L170.1,320.7 L172.3,319.9 L174.6,319.1 L176.9,318.3 L179.1,317.5 L181.4,316.7 L183.6,315.9 L185.9,315 L188.2,314.2 L190.4,313.3 L192.7,312.4 L194.9,311.5 L197.2,310.6 L199.5,309.7 L201.7,308.7 L204,307.8 L206.3,306.9 L208.5,305.9 L210.8,305 L213,304 L215.3,303.1 L217.6,302.1 L219.8,301.2 L222.1,300.2 L224.3,299.3 L226.6,298.3 L228.9,297.4 L231.1,296.4 L233.4,295.5 L235.6,294.6 L237.9,293.7 L240.2,292.8 L242.4,291.9 L244.7,291 L246.9,290.1 L249.2,289.3 L251.5,288.5 L253.7,287.7 L256,286.9 L258.2,286.1 L260.5,285.4 L262.8,284.6 L265,283.9 L267.3,283.3 L269.5,282.6 L271.8,282 L274.1,281.4 L276.3,280.9 L278.6,280.4 L280.8,279.9 L283.1,279.4 L285.4,279 L287.6,278.6 L289.9,278.2 L292.1,277.9 L294.4,277.6 L296.7,277.4 L298.9,277.2 L301.2,277 L303.4,276.9 L305.7,276.8 L308,276.7 L310.2,276.7 L312.5,276.7 L314.7,276.8 L317,276.9 L319.3,277 L321.5,277.2 L323.8,277.4 L326,277.6 L328.3,277.9 L330.6,278.2 L332.8,278.6 L335.1,279 L337.3,279.4 L339.6,279.9 L341.9,280.3 L344.1,280.9 L346.4,281.4 L348.6,282 L350.9,282.6 L353.2,283.3 L355.4,283.9 L357.7,284.6 L359.9,285.4 L362.2,286.1 L364.5,286.9 L366.7,287.7 L369,288.5 L371.2,289.3 L373.5,290.1 L375.8,291 L378,291.9 L380.3,292.8 L382.5,293.7 L384.8,294.6 L387.1,295.5 L389.3,296.4 L391.6,297.4 L393.8,298.3 L396.1,299.3 L398.4,300.2 L400.6,301.2 L402.9,302.1 L405.1,303.1 L407.4,304 L409.7,305 L411.9,305.9 L414.2,306.9 L416.4,307.8 L418.7,308.7 L421,309.7 L423.2,310.6 L425.5,311.5 L427.8,312.4 L430,313.3 L432.3,314.1 L434.5,315 L436.8,315.9 L439.1,316.7 L441.3,317.5 L443.6,318.3 L445.8,319.1 L448.1,319.9 L450.4,320.7 L452.6,321.4 L454.9,322.1 L457.1,322.9 L459.4,323.6 L461.7,324.2 L463.9,324.9 L466.2,325.6 L468.4,326.2 L470.7,326.8 L473,327.4 L475.2,328 L477.5,328.5 L479.7,329.1 L482,329.6 L484.3,330.1 L486.5,330.6 L488.8,331.1 L491,331.5 L493.3,332 L495.6,332.4 L497.8,332.8 L500.1,333.2 L502.3,333.6 L504.6,334 L506.9,334.3 L509.1,334.7 L511.4,335 L513.6,335.3 L515.9,335.6 L518.2,335.9 L520.4,336.2 L522.7,336.4 L524.9,336.7 L527.2,336.9 L529.5,337.2 L531.7,337.4 L534,337.6 L536.2,337.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,340.9 L86.46,340.9 L88.72,340.9 L90.98,340.9 L93.24,340.9 L95.5,340.8 L97.76,340.8 L100,340.8 L102.3,340.7 L104.5,340.7 L106.8,340.6 L109.1,340.5 L111.3,340.5 L113.6,340.4 L115.8,340.3 L118.1,340.1 L120.4,340 L122.6,339.8 L124.9,339.6 L127.1,339.4 L129.4,339.2 L131.7,338.9 L133.9,338.6 L136.2,338.2 L138.4,337.8 L140.7,337.4 L143,336.9 L145.2,336.3 L147.5,335.7 L149.7,335 L152,334.2 L154.3,333.4 L156.5,332.5 L158.8,331.4 L161,330.3 L163.3,329.1 L165.6,327.8 L167.8,326.3 L170.1,324.8 L172.3,323.1 L174.6,321.3 L176.9,319.4 L179.1,317.3 L181.4,315.1 L183.6,312.8 L185.9,310.3 L188.2,307.7 L190.4,304.9 L192.7,302 L194.9,299 L197.2,295.9 L199.5,292.6 L201.7,289.3 L204,285.8 L206.3,282.3 L208.5,278.6 L210.8,274.9 L213,271.2 L215.3,267.4 L217.6,263.5 L219.8,259.7 L222.1,255.9 L224.3,252.2 L226.6,248.4 L228.9,244.8 L231.1,241.3 L233.4,237.8 L235.6,234.6 L237.9,231.4 L240.2,228.5 L242.4,225.7 L244.7,223.2 L246.9,220.9 L249.2,218.9 L251.5,217.1 L253.7,215.5 L256,214.3 L258.2,213.4 L260.5,212.7 L262.8,212.4 L265,212.4 L267.3,212.7 L269.5,213.3 L271.8,214.2 L274.1,215.3 L276.3,216.8 L278.6,218.6 L280.8,220.6 L283.1,222.9 L285.4,225.4 L287.6,228.1 L289.9,231 L292.1,234.1 L294.4,237.4 L296.7,240.8 L298.9,244.3 L301.2,247.9 L303.4,251.6 L305.7,255.4 L308,259.2 L310.2,263 L312.5,266.8 L314.7,270.6 L317,274.4 L319.3,278.1 L321.5,281.7 L323.8,285.3 L326,288.8 L328.3,292.2 L330.6,295.4 L332.8,298.6 L335.1,301.6 L337.3,304.5 L339.6,307.3 L341.9,309.9 L344.1,312.4 L346.4,314.8 L348.6,317 L350.9,319.1 L353.2,321 L355.4,322.8 L357.7,324.5 L359.9,326.1 L362.2,327.6 L364.5,328.9 L366.7,330.1 L369,331.3 L371.2,332.3 L373.5,333.3 L375.8,334.1 L378,334.9 L380.3,335.6 L382.5,336.2 L384.8,336.8 L387.1,337.3 L389.3,337.8 L391.6,338.2 L393.8,338.5 L396.1,338.8 L398.4,339.1 L400.6,339.4 L402.9,339.6 L405.1,339.8 L407.4,340 L409.7,340.1 L411.9,340.2 L414.2,340.3 L416.4,340.4 L418.7,340.5 L421,340.6 L423.2,340.7 L425.5,340.7 L427.8,340.8 L430,340.8 L432.3,340.8 L434.5,340.9 L436.8,340.9 L439.1,340.9 L441.3,340.9 L443.6,340.9 L445.8,340.9 L448.1,341 L450.4,341 L452.6,341 L454.9,341 L457.1,341 L459.4,341 L461.7,341 L463.9,341 L466.2,341 L468.4,341 L470.7,341 L473,341 L475.2,341 L477.5,341 L479.7,341 L482,341 L484.3,341 L486.5,341 L488.8,341 L491,341 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,341 L131.7,341 L133.9,341 L136.2,341 L138.4,341 L140.7,341 L143,341 L145.2,341 L147.5,341 L149.7,341 L152,341 L154.3,341 L156.5,341 L158.8,341 L161,341 L163.3,341 L165.6,341 L167.8,341 L170.1,341 L172.3,341 L174.6,340.9 L176.9,340.9 L179.1,340.9 L181.4,340.9 L183.6,340.9 L185.9,340.9 L188.2,340.8 L190.4,340.8 L192.7,340.8 L194.9,340.7 L197.2,340.7 L199.5,340.6 L201.7,340.5 L204,340.4 L206.3,340.3 L208.5,340.2 L210.8,340.1 L213,340 L215.3,339.8 L217.6,339.6 L219.8,339.4 L222.1,339.1 L224.3,338.8 L226.6,338.5 L228.9,338.2 L231.1,337.8 L233.4,337.3 L235.6,336.8 L237.9,336.2 L240.2,335.6 L242.4,334.9 L244.7,334.1 L246.9,333.3 L249.2,332.3 L251.5,331.3 L253.7,330.2 L256,328.9 L258.2,327.6 L260.5,326.1 L262.8,324.5 L265,322.9 L267.3,321 L269.5,319.1 L271.8,317 L274.1,314.8 L276.3,312.4 L278.6,309.9 L280.8,307.3 L283.1,304.5 L285.4,301.6 L287.6,298.6 L289.9,295.4 L292.1,292.2 L294.4,288.8 L296.7,285.3 L298.9,281.7 L301.2,278.1 L303.4,274.4 L305.7,270.6 L308,266.8 L310.2,263 L312.5,259.2 L314.7,255.4 L317,251.6 L319.3,247.9 L321.5,244.3 L323.8,240.8 L326,237.4 L328.3,234.1 L330.6,231 L332.8,228.1 L335.1,225.4 L337.3,222.9 L339.6,220.6 L341.9,218.6 L344.1,216.8 L346.4,215.4 L348.6,214.2 L350.9,213.3 L353.2,212.7 L355.4,212.4 L357.7,212.4 L359.9,212.7 L362.2,213.4 L364.5,214.3 L366.7,215.5 L369,217.1 L371.2,218.9 L373.5,220.9 L375.8,223.2 L378,225.7 L380.3,228.5 L382.5,231.4 L384.8,234.6 L387.1,237.8 L389.3,241.3 L391.6,244.8 L393.8,248.4 L396.1,252.1 L398.4,255.9 L400.6,259.7 L402.9,263.5 L405.1,267.3 L407.4,271.1 L409.7,274.9 L411.9,278.6 L414.2,282.2 L416.4,285.8 L418.7,289.3 L421,292.6 L423.2,295.9 L425.5,299 L427.8,302 L430,304.9 L432.3,307.7 L434.5,310.3 L436.8,312.8 L439.1,315.1 L441.3,317.3 L443.6,319.4 L445.8,321.3 L448.1,323.1 L450.4,324.8 L452.6,326.3 L454.9,327.8 L457.1,329.1 L459.4,330.3 L461.7,331.4 L463.9,332.5 L466.2,333.4 L468.4,334.2 L470.7,335 L473,335.7 L475.2,336.3 L477.5,336.9 L479.7,337.4 L482,337.8 L484.3,338.2 L486.5,338.6 L488.8,338.9 L491,339.2 L493.3,339.4 L495.6,339.6 L497.8,339.8 L500.1,340 L502.3,340.1 L504.6,340.3 L506.9,340.4 L509.1,340.5 L511.4,340.5 L513.6,340.6 L515.9,340.7 L518.2,340.7 L520.4,340.8 L522.7,340.8 L524.9,340.8 L527.2,340.9 L529.5,340.9 L531.7,340.9 L534,340.9 L536.2,340.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="550.2" y="58" width="173.8" height="165"/><rect x="550.2" y="58" width="173.8" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="88" x2="580.2" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="118" x2="580.2" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="148" x2="580.2" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="178" x2="580.2" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="208" x2="580.2" y2="208"/></g>
+</g>
+<g id="legendText">
+<text x="587.7" y="88" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 1</text>
+<text x="587.7" y="118" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 0.5</text>
+<text x="587.7" y="148" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 2</text>
+<text x="587.7" y="178" font-size="15" font-family="Verdana">&#x3BC; = -1, &#x3C3; = 1</text>
+<text x="587.7" y="208" font-size="15" font-family="Verdana">&#x3BC; = 1, &#x3C3; = 1</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Normal Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/owens_integration_area.png b/libs/math/doc/graphs/owens_integration_area.png
index 8ad21cb4a5..8ad21cb4a5 100644
--- a/libs/math/doc/sf_and_dist/graphs/owens_integration_area.png
+++ b/libs/math/doc/graphs/owens_integration_area.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/owens_integration_area.svg b/libs/math/doc/graphs/owens_integration_area.svg
index d0aef8a894..d0aef8a894 100644
--- a/libs/math/doc/sf_and_dist/graphs/owens_integration_area.svg
+++ b/libs/math/doc/graphs/owens_integration_area.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.png b/libs/math/doc/graphs/pareto_pdf1.png
index 686a9681f3..686a9681f3 100644
--- a/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.png
+++ b/libs/math/doc/graphs/pareto_pdf1.png
Binary files differ
diff --git a/libs/math/doc/graphs/pareto_pdf1.svg b/libs/math/doc/graphs/pareto_pdf1.svg
new file mode 100644
index 0000000000..718d211770
--- /dev/null
+++ b/libs/math/doc/graphs/pareto_pdf1.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="504.9" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="506.9" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="591.1" y2="341"/><line x1="79.2" y1="341" x2="591.1" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.1 L84.2,335.1 M82.2,329.2 L84.2,329.2 M82.2,323.3 L84.2,323.3 M82.2,317.4 L84.2,317.4 M82.2,305.6 L84.2,305.6 M82.2,299.7 L84.2,299.7 M82.2,293.8 L84.2,293.8 M82.2,287.9 L84.2,287.9 M82.2,276.2 L84.2,276.2 M82.2,270.3 L84.2,270.3 M82.2,264.4 L84.2,264.4 M82.2,258.5 L84.2,258.5 M82.2,246.7 L84.2,246.7 M82.2,240.8 L84.2,240.8 M82.2,234.9 L84.2,234.9 M82.2,229 L84.2,229 M82.2,217.2 L84.2,217.2 M82.2,211.3 L84.2,211.3 M82.2,205.4 L84.2,205.4 M82.2,199.5 L84.2,199.5 M82.2,187.7 L84.2,187.7 M82.2,181.8 L84.2,181.8 M82.2,175.9 L84.2,175.9 M82.2,170.1 L84.2,170.1 M82.2,158.3 L84.2,158.3 M82.2,152.4 L84.2,152.4 M82.2,146.5 L84.2,146.5 M82.2,140.6 L84.2,140.6 M82.2,128.8 L84.2,128.8 M82.2,122.9 L84.2,122.9 M82.2,117 L84.2,117 M82.2,111.1 L84.2,111.1 M82.2,99.32 L84.2,99.32 M82.2,93.42 L84.2,93.42 M82.2,87.53 L84.2,87.53 M82.2,81.63 L84.2,81.63 M82.2,69.84 L84.2,69.84 M82.2,63.95 L84.2,63.95 M82.2,58.05 L84.2,58.05 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M84.2,341 L84.2,343 M124.6,341 L124.6,343 M165,341 L165,343 M205.4,341 L205.4,343 M286.2,341 L286.2,343 M326.5,341 L326.5,343 M366.9,341 L366.9,343 M407.3,341 L407.3,343 M488.1,341 L488.1,343 M528.5,341 L528.5,343 M568.9,341 L568.9,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,311.5 L84.2,311.5 M79.2,282.1 L84.2,282.1 M79.2,252.6 L84.2,252.6 M79.2,223.1 L84.2,223.1 M79.2,193.6 L84.2,193.6 M79.2,164.2 L84.2,164.2 M79.2,134.7 L84.2,134.7 M79.2,105.2 L84.2,105.2 M79.2,75.74 L84.2,75.74 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M245.8,341 L245.8,346 M447.7,341 L447.7,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="245.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="447.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="313.9" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="284.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="255" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="225.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="196" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="166.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="137.1" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="107.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="78.14" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="337.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,46.26 L86.73,80.04 L89.27,108.3 L91.8,132.3 L94.34,152.7 L96.87,170.2 L99.41,185.4 L101.9,198.7 L104.5,210.4 L107,220.6 L109.5,229.7 L112.1,237.8 L114.6,245.1 L117.1,251.6 L119.7,257.5 L122.2,262.8 L124.8,267.6 L127.3,272 L129.8,276 L132.4,279.7 L134.9,283 L137.4,286.1 L140,289 L142.5,291.6 L145,294.1 L147.6,296.3 L150.1,298.4 L152.6,300.4 L155.2,302.2 L157.7,303.9 L160.2,305.5 L162.8,307 L165.3,308.4 L167.8,309.7 L170.4,311 L172.9,312.2 L175.4,313.3 L178,314.3 L180.5,315.3 L183,316.2 L185.6,317.1 L188.1,317.9 L190.7,318.7 L193.2,319.5 L195.7,320.2 L198.3,320.8 L200.8,321.5 L203.3,322.1 L205.9,322.7 L208.4,323.2 L210.9,323.8 L213.5,324.3 L216,324.8 L218.5,325.2 L221.1,325.7 L223.6,326.1 L226.1,326.5 L228.7,326.9 L231.2,327.3 L233.7,327.7 L236.3,328 L238.8,328.4 L241.3,328.7 L243.9,329 L246.4,329.3 L248.9,329.6 L251.5,329.9 L254,330.1 L256.6,330.4 L259.1,330.6 L261.6,330.9 L264.2,331.1 L266.7,331.3 L269.2,331.5 L271.8,331.7 L274.3,331.9 L276.8,332.1 L279.4,332.3 L281.9,332.5 L284.4,332.7 L287,332.9 L289.5,333 L292,333.2 L294.6,333.4 L297.1,333.5 L299.6,333.7 L302.2,333.8 L304.7,333.9 L307.2,334.1 L309.8,334.2 L312.3,334.3 L314.8,334.5 L317.4,334.6 L319.9,334.7 L322.5,334.8 L325,334.9 L327.5,335 L330.1,335.1 L332.6,335.2 L335.1,335.3 L337.7,335.4 L340.2,335.5 L342.7,335.6 L345.3,335.7 L347.8,335.8 L350.3,335.9 L352.9,336 L355.4,336 L357.9,336.1 L360.5,336.2 L363,336.3 L365.5,336.4 L368.1,336.4 L370.6,336.5 L373.1,336.6 L375.7,336.6 L378.2,336.7 L380.7,336.8 L383.3,336.8 L385.8,336.9 L388.4,336.9 L390.9,337 L393.4,337.1 L396,337.1 L398.5,337.2 L401,337.2 L403.6,337.3 L406.1,337.3 L408.6,337.4 L411.2,337.4 L413.7,337.5 L416.2,337.5 L418.8,337.6 L421.3,337.6 L423.8,337.7 L426.4,337.7 L428.9,337.8 L431.4,337.8 L434,337.8 L436.5,337.9 L439,337.9 L441.6,338 L444.1,338 L446.6,338 L449.2,338.1 L451.7,338.1 L454.3,338.1 L456.8,338.2 L459.3,338.2 L461.9,338.2 L464.4,338.3 L466.9,338.3 L469.5,338.3 L472,338.4 L474.5,338.4 L477.1,338.4 L479.6,338.5 L482.1,338.5 L484.7,338.5 L487.2,338.6 L489.7,338.6 L492.3,338.6 L494.8,338.6 L497.3,338.7 L499.9,338.7 L502.4,338.7 L504.9,338.7 L507.5,338.8 L510,338.8 L512.5,338.8 L515.1,338.8 L517.6,338.9 L520.2,338.9 L522.7,338.9 L525.2,338.9 L527.8,338.9 L530.3,339 L532.8,339 L535.4,339 L537.9,339 L540.4,339.1 L543,339.1 L545.5,339.1 L548,339.1 L550.6,339.1 L553.1,339.1 L555.6,339.2 L558.2,339.2 L560.7,339.2 L563.2,339.2 L565.8,339.2 L568.3,339.3 L570.8,339.3 L573.4,339.3 L575.9,339.3 L578.4,339.3 L581,339.3 L583.5,339.3 L586.1,339.4 L588.6,339.4 L591.1,339.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.73,341 L89.27,341 L91.8,341 L94.34,341 L96.87,341 L99.41,341 L101.9,341 L104.5,341 L107,341 L109.5,341 L112.1,341 L114.6,341 L117.1,341 L119.7,341 L122.2,341 L124.8,194.2 L127.3,203 L129.8,211 L132.4,218.4 L134.9,225.1 L137.4,231.3 L140,237 L142.5,242.3 L145,247.1 L147.6,251.7 L150.1,255.9 L152.6,259.8 L155.2,263.5 L157.7,266.9 L160.2,270.1 L162.8,273 L165.3,275.9 L167.8,278.5 L170.4,281 L172.9,283.3 L175.4,285.5 L178,287.6 L180.5,289.5 L183,291.4 L185.6,293.2 L188.1,294.8 L190.7,296.4 L193.2,297.9 L195.7,299.3 L198.3,300.7 L200.8,302 L203.3,303.2 L205.9,304.4 L208.4,305.5 L210.9,306.6 L213.5,307.6 L216,308.6 L218.5,309.5 L221.1,310.4 L223.6,311.3 L226.1,312.1 L228.7,312.9 L231.2,313.6 L233.7,314.3 L236.3,315 L238.8,315.7 L241.3,316.4 L243.9,317 L246.4,317.6 L248.9,318.1 L251.5,318.7 L254,319.2 L256.6,319.8 L259.1,320.2 L261.6,320.7 L264.2,321.2 L266.7,321.6 L269.2,322.1 L271.8,322.5 L274.3,322.9 L276.8,323.3 L279.4,323.7 L281.9,324 L284.4,324.4 L287,324.7 L289.5,325.1 L292,325.4 L294.6,325.7 L297.1,326 L299.6,326.3 L302.2,326.6 L304.7,326.9 L307.2,327.1 L309.8,327.4 L312.3,327.7 L314.8,327.9 L317.4,328.2 L319.9,328.4 L322.5,328.6 L325,328.8 L327.5,329.1 L330.1,329.3 L332.6,329.5 L335.1,329.7 L337.7,329.9 L340.2,330.1 L342.7,330.2 L345.3,330.4 L347.8,330.6 L350.3,330.8 L352.9,330.9 L355.4,331.1 L357.9,331.3 L360.5,331.4 L363,331.6 L365.5,331.7 L368.1,331.9 L370.6,332 L373.1,332.1 L375.7,332.3 L378.2,332.4 L380.7,332.5 L383.3,332.7 L385.8,332.8 L388.4,332.9 L390.9,333 L393.4,333.1 L396,333.2 L398.5,333.4 L401,333.5 L403.6,333.6 L406.1,333.7 L408.6,333.8 L411.2,333.9 L413.7,334 L416.2,334.1 L418.8,334.2 L421.3,334.3 L423.8,334.3 L426.4,334.4 L428.9,334.5 L431.4,334.6 L434,334.7 L436.5,334.8 L439,334.8 L441.6,334.9 L444.1,335 L446.6,335.1 L449.2,335.1 L451.7,335.2 L454.3,335.3 L456.8,335.4 L459.3,335.4 L461.9,335.5 L464.4,335.6 L466.9,335.6 L469.5,335.7 L472,335.8 L474.5,335.8 L477.1,335.9 L479.6,335.9 L482.1,336 L484.7,336.1 L487.2,336.1 L489.7,336.2 L492.3,336.2 L494.8,336.3 L497.3,336.3 L499.9,336.4 L502.4,336.4 L504.9,336.5 L507.5,336.5 L510,336.6 L512.5,336.6 L515.1,336.7 L517.6,336.7 L520.2,336.8 L522.7,336.8 L525.2,336.9 L527.8,336.9 L530.3,336.9 L532.8,337 L535.4,337 L537.9,337.1 L540.4,337.1 L543,337.1 L545.5,337.2 L548,337.2 L550.6,337.3 L553.1,337.3 L555.6,337.3 L558.2,337.4 L560.7,337.4 L563.2,337.4 L565.8,337.5 L568.3,337.5 L570.8,337.5 L573.4,337.6 L575.9,337.6 L578.4,337.6 L581,337.7 L583.5,337.7 L586.1,337.7 L588.6,337.8 L591.1,337.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.73,341 L89.27,341 L91.8,341 L94.34,341 L96.87,341 L99.41,341 L101.9,341 L104.5,341 L107,341 L109.5,341 L112.1,341 L114.6,341 L117.1,341 L119.7,341 L122.2,341 L124.8,341 L127.3,341 L129.8,341 L132.4,341 L134.9,341 L137.4,341 L140,341 L142.5,341 L145,341 L147.6,341 L150.1,341 L152.6,341 L155.2,341 L157.7,341 L160.2,341 L162.8,341 L165.3,243.3 L167.8,247.2 L170.4,251 L172.9,254.5 L175.4,257.8 L178,260.9 L180.5,263.8 L183,266.6 L185.6,269.2 L188.1,271.7 L190.7,274.1 L193.2,276.4 L195.7,278.5 L198.3,280.5 L200.8,282.5 L203.3,284.3 L205.9,286.1 L208.4,287.7 L210.9,289.4 L213.5,290.9 L216,292.3 L218.5,293.7 L221.1,295.1 L223.6,296.4 L226.1,297.6 L228.7,298.8 L231.2,299.9 L233.7,301 L236.3,302.1 L238.8,303.1 L241.3,304 L243.9,305 L246.4,305.9 L248.9,306.7 L251.5,307.6 L254,308.4 L256.6,309.1 L259.1,309.9 L261.6,310.6 L264.2,311.3 L266.7,312 L269.2,312.6 L271.8,313.2 L274.3,313.8 L276.8,314.4 L279.4,315 L281.9,315.6 L284.4,316.1 L287,316.6 L289.5,317.1 L292,317.6 L294.6,318.1 L297.1,318.5 L299.6,319 L302.2,319.4 L304.7,319.8 L307.2,320.2 L309.8,320.6 L312.3,321 L314.8,321.4 L317.4,321.7 L319.9,322.1 L322.5,322.4 L325,322.8 L327.5,323.1 L330.1,323.4 L332.6,323.7 L335.1,324 L337.7,324.3 L340.2,324.6 L342.7,324.9 L345.3,325.1 L347.8,325.4 L350.3,325.6 L352.9,325.9 L355.4,326.1 L357.9,326.4 L360.5,326.6 L363,326.8 L365.5,327.1 L368.1,327.3 L370.6,327.5 L373.1,327.7 L375.7,327.9 L378.2,328.1 L380.7,328.3 L383.3,328.5 L385.8,328.7 L388.4,328.8 L390.9,329 L393.4,329.2 L396,329.4 L398.5,329.5 L401,329.7 L403.6,329.9 L406.1,330 L408.6,330.2 L411.2,330.3 L413.7,330.5 L416.2,330.6 L418.8,330.7 L421.3,330.9 L423.8,331 L426.4,331.1 L428.9,331.3 L431.4,331.4 L434,331.5 L436.5,331.6 L439,331.8 L441.6,331.9 L444.1,332 L446.6,332.1 L449.2,332.2 L451.7,332.3 L454.3,332.4 L456.8,332.5 L459.3,332.6 L461.9,332.7 L464.4,332.8 L466.9,332.9 L469.5,333 L472,333.1 L474.5,333.2 L477.1,333.3 L479.6,333.4 L482.1,333.5 L484.7,333.6 L487.2,333.7 L489.7,333.7 L492.3,333.8 L494.8,333.9 L497.3,334 L499.9,334.1 L502.4,334.1 L504.9,334.2 L507.5,334.3 L510,334.4 L512.5,334.4 L515.1,334.5 L517.6,334.6 L520.2,334.6 L522.7,334.7 L525.2,334.8 L527.8,334.8 L530.3,334.9 L532.8,335 L535.4,335 L537.9,335.1 L540.4,335.2 L543,335.2 L545.5,335.3 L548,335.3 L550.6,335.4 L553.1,335.4 L555.6,335.5 L558.2,335.5 L560.7,335.6 L563.2,335.7 L565.8,335.7 L568.3,335.8 L570.8,335.8 L573.4,335.9 L575.9,335.9 L578.4,336 L581,336 L583.5,336 L586.1,336.1 L588.6,336.1 L591.1,336.2 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="605.1" y="58" width="118.9" height="105"/><rect x="605.1" y="58" width="118.9" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="620.1" y1="88" x2="635.1" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="620.1" y1="118" x2="635.1" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="620.1" y1="148" x2="635.1" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="642.6" y="88" font-size="15" font-family="Verdana">scale=1</text>
+<text x="642.6" y="118" font-size="15" font-family="Verdana">scale=2</text>
+<text x="642.6" y="148" font-size="15" font-family="Verdana">scale=3</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Pareto Distribution PDF (shape=1)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.png b/libs/math/doc/graphs/pareto_pdf2.png
index ee263d7cc5..ee263d7cc5 100644
--- a/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.png
+++ b/libs/math/doc/graphs/pareto_pdf2.png
Binary files differ
diff --git a/libs/math/doc/graphs/pareto_pdf2.svg b/libs/math/doc/graphs/pareto_pdf2.svg
new file mode 100644
index 0000000000..4120c9eedf
--- /dev/null
+++ b/libs/math/doc/graphs/pareto_pdf2.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,326.7 L84.2,326.7 M82.2,312.5 L84.2,312.5 M82.2,298.2 L84.2,298.2 M82.2,284 L84.2,284 M82.2,255.5 L84.2,255.5 M82.2,241.2 L84.2,241.2 M82.2,227 L84.2,227 M82.2,212.7 L84.2,212.7 M82.2,184.2 L84.2,184.2 M82.2,169.9 L84.2,169.9 M82.2,155.7 L84.2,155.7 M82.2,141.4 L84.2,141.4 M82.2,112.9 L84.2,112.9 M82.2,98.66 L84.2,98.66 M82.2,84.41 L84.2,84.41 M82.2,70.15 L84.2,70.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M99.48,341 L99.48,343 M114.8,341 L114.8,343 M130,341 L130,343 M145.3,341 L145.3,343 M175.9,341 L175.9,343 M191.1,341 L191.1,343 M206.4,341 L206.4,343 M221.7,341 L221.7,343 M252.3,341 L252.3,343 M267.5,341 L267.5,343 M282.8,341 L282.8,343 M298.1,341 L298.1,343 M328.7,341 L328.7,343 M343.9,341 L343.9,343 M359.2,341 L359.2,343 M374.5,341 L374.5,343 M405,341 L405,343 M420.3,341 L420.3,343 M435.6,341 L435.6,343 M450.9,341 L450.9,343 M481.4,341 L481.4,343 M496.7,341 L496.7,343 M512,341 L512,343 M527.3,341 L527.3,343 M557.8,341 L557.8,343 M573.1,341 L573.1,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,269.7 L84.2,269.7 M79.2,198.4 L84.2,198.4 M79.2,127.2 L84.2,127.2 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M160.6,341 L160.6,346 M237,341 L237,346 M313.4,341 L313.4,346 M389.8,341 L389.8,346 M466.2,341 L466.2,346 M542.5,341 L542.5,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="160.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="237" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="313.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="389.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="466.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
+<text x="542.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="272.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="200.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="129.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,269.7 L86.66,273 L89.11,276.1 L91.57,278.9 L94.02,281.6 L96.48,284 L98.94,286.3 L101.4,288.4 L103.8,290.4 L106.3,292.3 L108.8,294.1 L111.2,295.7 L113.7,297.3 L116.1,298.8 L118.6,300.2 L121,301.5 L123.5,302.8 L126,303.9 L128.4,305.1 L130.9,306.1 L133.3,307.2 L135.8,308.1 L138.2,309.1 L140.7,309.9 L143.1,310.8 L145.6,311.6 L148.1,312.3 L150.5,313.1 L153,313.8 L155.4,314.5 L157.9,315.1 L160.3,315.7 L162.8,316.3 L165.3,316.9 L167.7,317.5 L170.2,318 L172.6,318.5 L175.1,319 L177.5,319.5 L180,319.9 L182.4,320.4 L184.9,320.8 L187.4,321.2 L189.8,321.6 L192.3,322 L194.7,322.4 L197.2,322.7 L199.6,323.1 L202.1,323.4 L204.6,323.8 L207,324.1 L209.5,324.4 L211.9,324.7 L214.4,325 L216.8,325.3 L219.3,325.5 L221.7,325.8 L224.2,326.1 L226.7,326.3 L229.1,326.5 L231.6,326.8 L234,327 L236.5,327.2 L238.9,327.5 L241.4,327.7 L243.9,327.9 L246.3,328.1 L248.8,328.3 L251.2,328.5 L253.7,328.7 L256.1,328.8 L258.6,329 L261,329.2 L263.5,329.4 L266,329.5 L268.4,329.7 L270.9,329.8 L273.3,330 L275.8,330.2 L278.2,330.3 L280.7,330.4 L283.2,330.6 L285.6,330.7 L288.1,330.9 L290.5,331 L293,331.1 L295.4,331.2 L297.9,331.4 L300.3,331.5 L302.8,331.6 L305.3,331.7 L307.7,331.8 L310.2,331.9 L312.6,332.1 L315.1,332.2 L317.5,332.3 L320,332.4 L322.5,332.5 L324.9,332.6 L327.4,332.7 L329.8,332.8 L332.3,332.9 L334.7,332.9 L337.2,333 L339.6,333.1 L342.1,333.2 L344.6,333.3 L347,333.4 L349.5,333.5 L351.9,333.5 L354.4,333.6 L356.8,333.7 L359.3,333.8 L361.8,333.9 L364.2,333.9 L366.7,334 L369.1,334.1 L371.6,334.1 L374,334.2 L376.5,334.3 L378.9,334.3 L381.4,334.4 L383.9,334.5 L386.3,334.5 L388.8,334.6 L391.2,334.7 L393.7,334.7 L396.1,334.8 L398.6,334.8 L401,334.9 L403.5,335 L406,335 L408.4,335.1 L410.9,335.1 L413.3,335.2 L415.8,335.2 L418.2,335.3 L420.7,335.3 L423.2,335.4 L425.6,335.4 L428.1,335.5 L430.5,335.5 L433,335.6 L435.4,335.6 L437.9,335.7 L440.3,335.7 L442.8,335.8 L445.3,335.8 L447.7,335.8 L450.2,335.9 L452.6,335.9 L455.1,336 L457.5,336 L460,336.1 L462.5,336.1 L464.9,336.1 L467.4,336.2 L469.8,336.2 L472.3,336.2 L474.7,336.3 L477.2,336.3 L479.6,336.4 L482.1,336.4 L484.6,336.4 L487,336.5 L489.5,336.5 L491.9,336.5 L494.4,336.6 L496.8,336.6 L499.3,336.6 L501.8,336.7 L504.2,336.7 L506.7,336.7 L509.1,336.8 L511.6,336.8 L514,336.8 L516.5,336.9 L518.9,336.9 L521.4,336.9 L523.9,336.9 L526.3,337 L528.8,337 L531.2,337 L533.7,337.1 L536.1,337.1 L538.6,337.1 L541.1,337.1 L543.5,337.2 L546,337.2 L548.4,337.2 L550.9,337.2 L553.3,337.3 L555.8,337.3 L558.2,337.3 L560.7,337.3 L563.2,337.4 L565.6,337.4 L568.1,337.4 L570.5,337.4 L573,337.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,198.4 L86.66,207.2 L89.11,215.2 L91.57,222.4 L94.02,229.1 L96.48,235.2 L98.94,240.8 L101.4,246 L103.8,250.8 L106.3,255.3 L108.8,259.4 L111.2,263.2 L113.7,266.8 L116.1,270.1 L118.6,273.2 L121,276.1 L123.5,278.8 L126,281.4 L128.4,283.8 L130.9,286.1 L133.3,288.2 L135.8,290.2 L138.2,292.1 L140.7,293.9 L143.1,295.6 L145.6,297.2 L148.1,298.7 L150.5,300.2 L153,301.5 L155.4,302.8 L157.9,304.1 L160.3,305.2 L162.8,306.4 L165.3,307.4 L167.7,308.5 L170.2,309.4 L172.6,310.4 L175.1,311.3 L177.5,312.1 L180,312.9 L182.4,313.7 L184.9,314.5 L187.4,315.2 L189.8,315.9 L192.3,316.6 L194.7,317.2 L197.2,317.8 L199.6,318.4 L202.1,319 L204.6,319.5 L207,320 L209.5,320.5 L211.9,321 L214.4,321.5 L216.8,322 L219.3,322.4 L221.7,322.8 L224.2,323.2 L226.7,323.6 L229.1,324 L231.6,324.4 L234,324.7 L236.5,325.1 L238.9,325.4 L241.4,325.8 L243.9,326.1 L246.3,326.4 L248.8,326.7 L251.2,327 L253.7,327.2 L256.1,327.5 L258.6,327.8 L261,328 L263.5,328.3 L266,328.5 L268.4,328.8 L270.9,329 L273.3,329.2 L275.8,329.4 L278.2,329.6 L280.7,329.8 L283.2,330 L285.6,330.2 L288.1,330.4 L290.5,330.6 L293,330.8 L295.4,330.9 L297.9,331.1 L300.3,331.3 L302.8,331.4 L305.3,331.6 L307.7,331.8 L310.2,331.9 L312.6,332 L315.1,332.2 L317.5,332.3 L320,332.5 L322.5,332.6 L324.9,332.7 L327.4,332.9 L329.8,333 L332.3,333.1 L334.7,333.2 L337.2,333.3 L339.6,333.4 L342.1,333.6 L344.6,333.7 L347,333.8 L349.5,333.9 L351.9,334 L354.4,334.1 L356.8,334.2 L359.3,334.3 L361.8,334.4 L364.2,334.5 L366.7,334.5 L369.1,334.6 L371.6,334.7 L374,334.8 L376.5,334.9 L378.9,335 L381.4,335 L383.9,335.1 L386.3,335.2 L388.8,335.3 L391.2,335.3 L393.7,335.4 L396.1,335.5 L398.6,335.6 L401,335.6 L403.5,335.7 L406,335.8 L408.4,335.8 L410.9,335.9 L413.3,335.9 L415.8,336 L418.2,336.1 L420.7,336.1 L423.2,336.2 L425.6,336.2 L428.1,336.3 L430.5,336.3 L433,336.4 L435.4,336.5 L437.9,336.5 L440.3,336.6 L442.8,336.6 L445.3,336.7 L447.7,336.7 L450.2,336.7 L452.6,336.8 L455.1,336.8 L457.5,336.9 L460,336.9 L462.5,337 L464.9,337 L467.4,337.1 L469.8,337.1 L472.3,337.1 L474.7,337.2 L477.2,337.2 L479.6,337.3 L482.1,337.3 L484.6,337.3 L487,337.4 L489.5,337.4 L491.9,337.5 L494.4,337.5 L496.8,337.5 L499.3,337.6 L501.8,337.6 L504.2,337.6 L506.7,337.7 L509.1,337.7 L511.6,337.7 L514,337.8 L516.5,337.8 L518.9,337.8 L521.4,337.8 L523.9,337.9 L526.3,337.9 L528.8,337.9 L531.2,338 L533.7,338 L536.1,338 L538.6,338 L541.1,338.1 L543.5,338.1 L546,338.1 L548.4,338.2 L550.9,338.2 L553.3,338.2 L555.8,338.2 L558.2,338.3 L560.7,338.3 L563.2,338.3 L565.6,338.3 L568.1,338.3 L570.5,338.4 L573,338.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,55.9 L86.66,81.72 L89.11,104.5 L91.57,124.7 L94.02,142.7 L96.48,158.7 L98.94,173.1 L101.4,185.9 L103.8,197.5 L106.3,208 L108.8,217.5 L111.2,226.1 L113.7,233.9 L116.1,241 L118.6,247.5 L121,253.5 L123.5,258.9 L126,263.9 L128.4,268.5 L130.9,272.8 L133.3,276.7 L135.8,280.4 L138.2,283.7 L140.7,286.8 L143.1,289.7 L145.6,292.4 L148.1,294.9 L150.5,297.3 L153,299.5 L155.4,301.5 L157.9,303.4 L160.3,305.2 L162.8,306.9 L165.3,308.4 L167.7,309.9 L170.2,311.3 L172.6,312.6 L175.1,313.8 L177.5,315 L180,316.1 L182.4,317.1 L184.9,318.1 L187.4,319 L189.8,319.9 L192.3,320.8 L194.7,321.5 L197.2,322.3 L199.6,323 L202.1,323.7 L204.6,324.3 L207,324.9 L209.5,325.5 L211.9,326.1 L214.4,326.6 L216.8,327.1 L219.3,327.6 L221.7,328 L224.2,328.5 L226.7,328.9 L229.1,329.3 L231.6,329.7 L234,330 L236.5,330.4 L238.9,330.7 L241.4,331 L243.9,331.3 L246.3,331.6 L248.8,331.9 L251.2,332.2 L253.7,332.4 L256.1,332.7 L258.6,332.9 L261,333.2 L263.5,333.4 L266,333.6 L268.4,333.8 L270.9,334 L273.3,334.2 L275.8,334.4 L278.2,334.6 L280.7,334.7 L283.2,334.9 L285.6,335.1 L288.1,335.2 L290.5,335.4 L293,335.5 L295.4,335.7 L297.9,335.8 L300.3,335.9 L302.8,336 L305.3,336.2 L307.7,336.3 L310.2,336.4 L312.6,336.5 L315.1,336.6 L317.5,336.7 L320,336.8 L322.5,336.9 L324.9,337 L327.4,337.1 L329.8,337.2 L332.3,337.3 L334.7,337.4 L337.2,337.4 L339.6,337.5 L342.1,337.6 L344.6,337.7 L347,337.7 L349.5,337.8 L351.9,337.9 L354.4,337.9 L356.8,338 L359.3,338.1 L361.8,338.1 L364.2,338.2 L366.7,338.2 L369.1,338.3 L371.6,338.4 L374,338.4 L376.5,338.5 L378.9,338.5 L381.4,338.6 L383.9,338.6 L386.3,338.7 L388.8,338.7 L391.2,338.7 L393.7,338.8 L396.1,338.8 L398.6,338.9 L401,338.9 L403.5,338.9 L406,339 L408.4,339 L410.9,339.1 L413.3,339.1 L415.8,339.1 L418.2,339.2 L420.7,339.2 L423.2,339.2 L425.6,339.3 L428.1,339.3 L430.5,339.3 L433,339.3 L435.4,339.4 L437.9,339.4 L440.3,339.4 L442.8,339.5 L445.3,339.5 L447.7,339.5 L450.2,339.5 L452.6,339.6 L455.1,339.6 L457.5,339.6 L460,339.6 L462.5,339.6 L464.9,339.7 L467.4,339.7 L469.8,339.7 L472.3,339.7 L474.7,339.8 L477.2,339.8 L479.6,339.8 L482.1,339.8 L484.6,339.8 L487,339.8 L489.5,339.9 L491.9,339.9 L494.4,339.9 L496.8,339.9 L499.3,339.9 L501.8,339.9 L504.2,340 L506.7,340 L509.1,340 L511.6,340 L514,340 L516.5,340 L518.9,340 L521.4,340.1 L523.9,340.1 L526.3,340.1 L528.8,340.1 L531.2,340.1 L533.7,340.1 L536.1,340.1 L538.6,340.2 L541.1,340.2 L543.5,340.2 L546,340.2 L548.4,340.2 L550.9,340.2 L553.3,340.2 L555.8,340.2 L558.2,340.2 L560.7,340.2 L563.2,340.3 L565.6,340.3 L568.1,340.3 L570.5,340.3 L573,340.3 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="626.9" y="88" font-size="15" font-family="Verdana">shape=0.5</text>
+<text x="626.9" y="118" font-size="15" font-family="Verdana">shape=1</text>
+<text x="626.9" y="148" font-size="15" font-family="Verdana">shape=2</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Pareto Distribution PDF (scale=1)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/pdf.png b/libs/math/doc/graphs/pdf.png
index d3e92bb389..d3e92bb389 100644
--- a/libs/math/doc/sf_and_dist/graphs/pdf.png
+++ b/libs/math/doc/graphs/pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/plot_owens_3d_xyp.png b/libs/math/doc/graphs/plot_owens_3d_xyp.png
index 73d7a03b39..73d7a03b39 100644
--- a/libs/math/doc/sf_and_dist/graphs/plot_owens_3d_xyp.png
+++ b/libs/math/doc/graphs/plot_owens_3d_xyp.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/plot_owens_t.png b/libs/math/doc/graphs/plot_owens_t.png
index 678a22b4ea..678a22b4ea 100644
--- a/libs/math/doc/sf_and_dist/graphs/plot_owens_t.png
+++ b/libs/math/doc/graphs/plot_owens_t.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.png b/libs/math/doc/graphs/poisson_pdf_1.png
index 04fe96f677..04fe96f677 100644
--- a/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.png
+++ b/libs/math/doc/graphs/poisson_pdf_1.png
Binary files differ
diff --git a/libs/math/doc/graphs/poisson_pdf_1.svg b/libs/math/doc/graphs/poisson_pdf_1.svg
new file mode 100644
index 0000000000..7c3d55280e
--- /dev/null
+++ b/libs/math/doc/graphs/poisson_pdf_1.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="520" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="522" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="100.7" y1="58" x2="100.7" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="614.6" y2="341"/><line x1="87.6" y1="341" x2="614.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,326.3 L92.6,326.3 M90.6,311.7 L92.6,311.7 M90.6,297 L92.6,297 M90.6,282.4 L92.6,282.4 M90.6,253 L92.6,253 M90.6,238.4 L92.6,238.4 M90.6,223.7 L92.6,223.7 M90.6,209 L92.6,209 M90.6,179.7 L92.6,179.7 M90.6,165.1 L92.6,165.1 M90.6,150.4 L92.6,150.4 M90.6,135.7 L92.6,135.7 M90.6,106.4 L92.6,106.4 M90.6,91.74 L92.6,91.74 M90.6,77.08 L92.6,77.08 M90.6,62.42 L92.6,62.42 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,267.7 L92.6,267.7 M87.6,194.4 L92.6,194.4 M87.6,121.1 L92.6,121.1 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M100.7,341 L100.7,346 M181.2,341 L181.2,346 M261.7,341 L261.7,346 M342.2,341 L342.2,346 M422.7,341 L422.7,346 M503.2,341 L503.2,346 M583.8,341 L583.8,346 M100.7,341 L100.7,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="100.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="181.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="261.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="342.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="422.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="503.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">25</text>
+<text x="583.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
+<text x="100.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="270.1" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
+<text x="81.6" y="196.8" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="81.6" y="123.5" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="353.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M94.61,341 L94.61,341 L94.61,331.1 L98.64,331.1 L98.64,341 L110.7,341 L110.7,291.6 L114.7,291.6 L114.7,341 L126.8,341 L126.8,217.5 L130.8,217.5 L130.8,341 L142.9,341 L142.9,135.2 L147,135.2 L147,341 L159,341 L159,83.73 L163.1,83.73 L163.1,341 L175.1,341 L175.1,83.73 L179.2,83.73 L179.2,341 L191.2,341 L191.2,126.6 L195.3,126.6 L195.3,341 L207.3,341 L207.3,187.9 L211.4,187.9 L211.4,341 L223.4,341 L223.4,245.3 L227.5,245.3 L227.5,341 L239.5,341 L239.5,287.8 L243.6,287.8 L243.6,341 L255.7,341 L255.7,314.4 L259.7,314.4 L259.7,341 L271.8,341 L271.8,328.9 L275.8,328.9 L275.8,341 L287.9,341 L287.9,336 L291.9,336 L291.9,341 L304,341 L304,339.1 L308,339.1 L308,341 L320.1,341 L320.1,340.3 L324.1,340.3 L324.1,341 L336.2,341 L336.2,340.8 L340.2,340.8 L340.2,341 L352.3,341 L352.3,340.9 L356.3,340.9 L356.3,341 L368.4,341 L368.4,341 L372.4,341 L372.4,341 L384.5,341 L384.5,341 L388.5,341 L388.5,341 L400.6,341 L400.6,341 L404.6,341 L404.6,341 L416.7,341 L416.7,341 L420.7,341 L420.7,341 L432.8,341 L432.8,341 L436.8,341 L436.8,341 L448.9,341 L448.9,341 L452.9,341 L452.9,341 L465,341 L465,341 L469,341 L469,341 L481.1,341 L481.1,341 L485.1,341 L485.1,341 L497.2,341 L497.2,341 L501.2,341 L501.2,341 L513.3,341 L513.3,341 L517.3,341 L517.3,341 L529.4,341 L529.4,341 L533.4,341 L533.4,341 L545.5,341 L545.5,341 L549.5,341 L549.5,341 L561.6,341 L561.6,341 L565.7,341 L565.7,341 L577.7,341 L577.7,341 L581.8,341 L581.8,341 L593.8,341 L593.8,341 L597.9,341 L597.9,341 L597.9,341 Z" fill="rgb(0,0,139)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M98.64,341 L98.64,341 L98.64,340.9 L102.7,340.9 L102.7,341 L114.7,341 L114.7,340.3 L118.8,340.3 L118.8,341 L130.8,341 L130.8,337.7 L134.9,337.7 L134.9,341 L147,341 L147,329.9 L151,329.9 L151,341 L163.1,341 L163.1,313.3 L167.1,313.3 L167.1,341 L179.2,341 L179.2,285.5 L183.2,285.5 L183.2,341 L195.3,341 L195.3,248.5 L199.3,248.5 L199.3,341 L211.4,341 L211.4,208.9 L215.4,208.9 L215.4,341 L227.5,341 L227.5,175.9 L231.5,175.9 L231.5,341 L243.6,341 L243.6,157.6 L247.6,157.6 L247.6,341 L259.7,341 L259.7,157.6 L263.7,157.6 L263.7,341 L275.8,341 L275.8,174.2 L279.8,174.2 L279.8,341 L291.9,341 L291.9,202 L295.9,202 L295.9,341 L308,341 L308,234.1 L312,234.1 L312,341 L324.1,341 L324.1,264.6 L328.1,264.6 L328.1,341 L340.2,341 L340.2,290.1 L344.2,290.1 L344.2,341 L356.3,341 L356.3,309.2 L360.3,309.2 L360.3,341 L372.4,341 L372.4,322.3 L376.4,322.3 L376.4,341 L388.5,341 L388.5,330.6 L392.5,330.6 L392.5,341 L404.6,341 L404.6,335.5 L408.6,335.5 L408.6,341 L420.7,341 L420.7,338.3 L424.7,338.3 L424.7,341 L436.8,341 L436.8,339.7 L440.8,339.7 L440.8,341 L452.9,341 L452.9,340.4 L457,340.4 L457,341 L469,341 L469,340.7 L473.1,340.7 L473.1,341 L485.1,341 L485.1,340.9 L489.2,340.9 L489.2,341 L501.2,341 L501.2,341 L505.3,341 L505.3,341 L517.3,341 L517.3,341 L521.4,341 L521.4,341 L533.4,341 L533.4,341 L537.5,341 L537.5,341 L549.5,341 L549.5,341 L553.6,341 L553.6,341 L565.7,341 L565.7,341 L569.7,341 L569.7,341 L581.8,341 L581.8,341 L585.8,341 L585.8,341 L597.9,341 L597.9,341 L601.9,341 L601.9,341 L601.9,341 Z" fill="rgb(139,0,0)"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M102.7,341 L102.7,341 L102.7,341 L106.7,341 L106.7,341 L118.8,341 L118.8,341 L122.8,341 L122.8,341 L134.9,341 L134.9,341 L138.9,341 L138.9,341 L151,341 L151,341 L155,341 L155,341 L167.1,341 L167.1,341 L171.1,341 L171.1,341 L183.2,341 L183.2,340.9 L187.2,340.9 L187.2,341 L199.3,341 L199.3,340.7 L203.3,340.7 L203.3,341 L215.4,341 L215.4,340.2 L219.4,340.2 L219.4,341 L231.5,341 L231.5,339.1 L235.5,339.1 L235.5,341 L247.6,341 L247.6,336.7 L251.6,336.7 L251.6,341 L263.7,341 L263.7,332.5 L267.7,332.5 L267.7,341 L279.8,341 L279.8,325.5 L283.8,325.5 L283.8,341 L295.9,341 L295.9,315.2 L299.9,315.2 L299.9,341 L312,341 L312,301.2 L316,301.2 L316,341 L328.1,341 L328.1,284.2 L332.1,284.2 L332.1,341 L344.2,341 L344.2,265.3 L348.2,265.3 L348.2,341 L360.3,341 L360.3,246.3 L364.4,246.3 L364.4,341 L376.4,341 L376.4,229.6 L380.5,229.6 L380.5,341 L392.5,341 L392.5,217.3 L396.6,217.3 L396.6,341 L408.6,341 L408.6,210.7 L412.7,210.7 L412.7,341 L424.7,341 L424.7,210.7 L428.8,210.7 L428.8,341 L440.8,341 L440.8,217 L444.9,217 L444.9,341 L457,341 L457,228.2 L461,228.2 L461,341 L473.1,341 L473.1,242.9 L477.1,242.9 L477.1,341 L489.2,341 L489.2,259.3 L493.2,259.3 L493.2,341 L505.3,341 L505.3,275.6 L509.3,275.6 L509.3,341 L521.4,341 L521.4,290.7 L525.4,290.7 L525.4,341 L537.5,341 L537.5,303.7 L541.5,303.7 L541.5,341 L553.6,341 L553.6,314.4 L557.6,314.4 L557.6,341 L569.7,341 L569.7,322.6 L573.7,322.6 L573.7,341 L585.8,341 L585.8,328.8 L589.8,328.8 L589.8,341 L601.9,341 L601.9,333.1 L605.9,333.1 L605.9,341 L605.9,341 Z" fill="rgb(0,100,0)"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="628.6" y="58" width="95.36" height="105"/><rect x="628.6" y="58" width="95.36" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="88" x2="658.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="118" x2="658.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="148" x2="658.6" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="666.1" y="88" font-size="15" font-family="Verdana">&#x3BB;=5</text>
+<text x="666.1" y="118" font-size="15" font-family="Verdana">&#x3BB;=10</text>
+<text x="666.1" y="148" font-size="15" font-family="Verdana">&#x3BB;=20</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Poisson Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/powm1.png b/libs/math/doc/graphs/powm1.png
index 000e298c30..000e298c30 100644
--- a/libs/math/doc/sf_and_dist/graphs/powm1.png
+++ b/libs/math/doc/graphs/powm1.png
Binary files differ
diff --git a/libs/math/doc/graphs/powm1.svg b/libs/math/doc/graphs/powm1.svg
new file mode 100644
index 0000000000..baffc621be
--- /dev/null
+++ b/libs/math/doc/graphs/powm1.svg
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="359.5" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="361.5" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="253" y1="58" x2="253" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="315.8" x2="437.3" y2="315.8"/><line x1="70.8" y1="341" x2="437.3" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,284.2 L75.8,284.2 M73.8,252.7 L75.8,252.7 M73.8,221.2 L75.8,221.2 M73.8,158.1 L75.8,158.1 M73.8,126.6 L75.8,126.6 M73.8,95.08 L75.8,95.08 M73.8,315.8 L75.8,315.8 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M261.9,341 L261.9,343 M270.7,341 L270.7,343 M279.6,341 L279.6,343 M297.3,341 L297.3,343 M306.2,341 L306.2,343 M315,341 L315,343 M332.7,341 L332.7,343 M341.6,341 L341.6,343 M350.5,341 L350.5,343 M368.2,341 L368.2,343 M377,341 L377,343 M385.9,341 L385.9,343 M403.6,341 L403.6,343 M412.5,341 L412.5,343 M421.3,341 L421.3,343 M244.1,341 L244.1,343 M235.3,341 L235.3,343 M226.4,341 L226.4,343 M208.7,341 L208.7,343 M199.8,341 L199.8,343 M191,341 L191,343 M173.3,341 L173.3,343 M164.4,341 L164.4,343 M155.5,341 L155.5,343 M137.8,341 L137.8,343 M129,341 L129,343 M120.1,341 L120.1,343 M102.4,341 L102.4,343 M93.52,341 L93.52,343 M84.66,341 L84.66,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,315.8 L75.8,315.8 M70.8,189.7 L75.8,189.7 M70.8,63.55 L75.8,63.55 M70.8,315.8 L75.8,315.8 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M253,341 L253,346 M288.4,341 L288.4,346 M323.9,341 L323.9,346 M359.3,341 L359.3,346 M394.8,341 L394.8,346 M430.2,341 L430.2,346 M253,341 L253,346 M217.6,341 L217.6,346 M182.1,341 L182.1,346 M146.7,341 L146.7,346 M111.2,341 L111.2,346 M75.8,341 L75.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="253" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="288.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="323.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="359.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="394.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="430.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="253" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="217.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="182.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="146.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
+<text x="111.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text>
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="318.2" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="192.1" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="318.2" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">powm1(a, z)</text></g>
+<g id="xLabel">
+<text x="256.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M243.8,63.55 L244.7,123.2 L245.6,170.1 L246.6,206.9 L247.5,235.7 L248.4,258.4 L249.4,276.1 L250.3,290.1 L251.2,301 L252.2,309.6 L253.1,316.4 L254,321.7 L255,325.8 L255.9,329.1 L256.8,331.7 L257.8,333.7 L258.7,335.2 L259.6,336.5 L260.5,337.5 L261.5,338.2 L262.4,338.8 L263.3,339.3 L264.3,339.7 L265.2,339.9 L266.1,340.2 L267.1,340.3 L268,340.5 L268.9,340.6 L269.9,340.7 L270.8,340.8 L271.7,340.8 L272.7,340.8 L273.6,340.9 L274.5,340.9 L275.5,340.9 L276.4,340.9 L277.3,341 L278.3,341 L279.2,341 L280.1,341 L281.1,341 L282,341 L282.9,341 L283.9,341 L284.8,341 L285.7,341 L286.6,341 L287.6,341 L288.5,341 L289.4,341 L290.4,341 L291.3,341 L292.2,341 L293.2,341 L294.1,341 L295,341 L296,341 L296.9,341 L297.8,341 L298.8,341 L299.7,341 L300.6,341 L301.6,341 L302.5,341 L303.4,341 L304.4,341 L305.3,341 L306.2,341 L307.2,341 L308.1,341 L309,341 L309.9,341 L310.9,341 L311.8,341 L312.7,341 L313.7,341 L314.6,341 L315.5,341 L316.5,341 L317.4,341 L318.3,341 L319.3,341 L320.2,341 L321.1,341 L322.1,341 L323,341 L323.9,341 L324.9,341 L325.8,341 L326.7,341 L327.7,341 L328.6,341 L329.5,341 L330.5,341 L331.4,341 L332.3,341 L333.3,341 L334.2,341 L335.1,341 L336,341 L337,341 L337.9,341 L338.8,341 L339.8,341 L340.7,341 L341.6,341 L342.6,341 L343.5,341 L344.4,341 L345.4,341 L346.3,341 L347.2,341 L348.2,341 L349.1,341 L350,341 L351,341 L351.9,341 L352.8,341 L353.8,341 L354.7,341 L355.6,341 L356.6,341 L357.5,341 L358.4,341 L359.4,341 L360.3,341 L361.2,341 L362.1,341 L363.1,341 L364,341 L364.9,341 L365.9,341 L366.8,341 L367.7,341 L368.7,341 L369.6,341 L370.5,341 L371.5,341 L372.4,341 L373.3,341 L374.3,341 L375.2,341 L376.1,341 L377.1,341 L378,341 L378.9,341 L379.9,341 L380.8,341 L381.7,341 L382.7,341 L383.6,341 L384.5,341 L385.5,341 L386.4,341 L387.3,341 L388.2,341 L389.2,341 L390.1,341 L391,341 L392,341 L392.9,341 L393.8,341 L394.8,341 L395.7,341 L396.6,341 L397.6,341 L398.5,341 L399.4,341 L400.4,341 L401.3,341 L402.2,341 L403.2,341 L404.1,341 L405,341 L406,341 L406.9,341 L407.8,341 L408.8,341 L409.7,341 L410.6,341 L411.5,341 L412.5,341 L413.4,341 L414.3,341 L415.3,341 L416.2,341 L417.1,341 L418.1,341 L419,341 L419.9,341 L420.9,341 L421.8,341 L422.7,341 L423.7,341 L424.6,341 L425.5,341 L426.5,341 L427.4,341 L428.3,341 L429.3,341 L430.2,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M240.7,63.55 L241.6,110.3 L242.6,149.2 L243.5,181.6 L244.5,208.5 L245.4,230.8 L246.4,249.4 L247.3,264.8 L248.3,277.7 L249.2,288.4 L250.2,297.2 L251.1,304.6 L252.1,310.8 L253,315.9 L254,320.1 L254.9,323.6 L255.9,326.5 L256.8,329 L257.7,331 L258.7,332.7 L259.6,334.1 L260.6,335.3 L261.5,336.2 L262.5,337 L263.4,337.7 L264.4,338.3 L265.3,338.7 L266.3,339.1 L267.2,339.4 L268.2,339.7 L269.1,339.9 L270.1,340.1 L271,340.2 L272,340.4 L272.9,340.5 L273.9,340.6 L274.8,340.6 L275.8,340.7 L276.7,340.8 L277.6,340.8 L278.6,340.8 L279.5,340.9 L280.5,340.9 L281.4,340.9 L282.4,340.9 L283.3,340.9 L284.3,340.9 L285.2,341 L286.2,341 L287.1,341 L288.1,341 L289,341 L290,341 L290.9,341 L291.9,341 L292.8,341 L293.8,341 L294.7,341 L295.6,341 L296.6,341 L297.5,341 L298.5,341 L299.4,341 L300.4,341 L301.3,341 L302.3,341 L303.2,341 L304.2,341 L305.1,341 L306.1,341 L307,341 L308,341 L308.9,341 L309.9,341 L310.8,341 L311.8,341 L312.7,341 L313.7,341 L314.6,341 L315.5,341 L316.5,341 L317.4,341 L318.4,341 L319.3,341 L320.3,341 L321.2,341 L322.2,341 L323.1,341 L324.1,341 L325,341 L326,341 L326.9,341 L327.9,341 L328.8,341 L329.8,341 L330.7,341 L331.7,341 L332.6,341 L333.5,341 L334.5,341 L335.4,341 L336.4,341 L337.3,341 L338.3,341 L339.2,341 L340.2,341 L341.1,341 L342.1,341 L343,341 L344,341 L344.9,341 L345.9,341 L346.8,341 L347.8,341 L348.7,341 L349.7,341 L350.6,341 L351.6,341 L352.5,341 L353.4,341 L354.4,341 L355.3,341 L356.3,341 L357.2,341 L358.2,341 L359.1,341 L360.1,341 L361,341 L362,341 L362.9,341 L363.9,341 L364.8,341 L365.8,341 L366.7,341 L367.7,341 L368.6,341 L369.6,341 L370.5,341 L371.4,341 L372.4,341 L373.3,341 L374.3,341 L375.2,341 L376.2,341 L377.1,341 L378.1,341 L379,341 L380,341 L380.9,341 L381.9,341 L382.8,341 L383.8,341 L384.7,341 L385.7,341 L386.6,341 L387.6,341 L388.5,341 L389.5,341 L390.4,341 L391.3,341 L392.3,341 L393.2,341 L394.2,341 L395.1,341 L396.1,341 L397,341 L398,341 L398.9,341 L399.9,341 L400.8,341 L401.8,341 L402.7,341 L403.7,341 L404.6,341 L405.6,341 L406.5,341 L407.5,341 L408.4,341 L409.3,341 L410.3,341 L411.2,341 L412.2,341 L413.1,341 L414.1,341 L415,341 L416,341 L416.9,341 L417.9,341 L418.8,341 L419.8,341 L420.7,341 L421.7,341 L422.6,341 L423.6,341 L424.5,341 L425.5,341 L426.4,341 L427.3,341 L428.3,341 L429.2,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M234.5,63.55 L235.5,96.67 L236.5,125.8 L237.5,151.5 L238.5,174.1 L239.4,194.1 L240.4,211.6 L241.4,227 L242.4,240.6 L243.3,252.6 L244.3,263.2 L245.3,272.5 L246.3,280.6 L247.3,287.9 L248.2,294.2 L249.2,299.8 L250.2,304.7 L251.2,309 L252.2,312.9 L253.1,316.2 L254.1,319.2 L255.1,321.8 L256.1,324.1 L257,326.1 L258,327.9 L259,329.4 L260,330.8 L261,332 L261.9,333.1 L262.9,334 L263.9,334.9 L264.9,335.6 L265.8,336.3 L266.8,336.8 L267.8,337.3 L268.8,337.8 L269.8,338.1 L270.7,338.5 L271.7,338.8 L272.7,339 L273.7,339.3 L274.7,339.5 L275.6,339.7 L276.6,339.8 L277.6,340 L278.6,340.1 L279.5,340.2 L280.5,340.3 L281.5,340.4 L282.5,340.5 L283.5,340.5 L284.4,340.6 L285.4,340.6 L286.4,340.7 L287.4,340.7 L288.3,340.7 L289.3,340.8 L290.3,340.8 L291.3,340.8 L292.3,340.8 L293.2,340.9 L294.2,340.9 L295.2,340.9 L296.2,340.9 L297.2,340.9 L298.1,340.9 L299.1,340.9 L300.1,340.9 L301.1,341 L302,341 L303,341 L304,341 L305,341 L306,341 L306.9,341 L307.9,341 L308.9,341 L309.9,341 L310.8,341 L311.8,341 L312.8,341 L313.8,341 L314.8,341 L315.7,341 L316.7,341 L317.7,341 L318.7,341 L319.7,341 L320.6,341 L321.6,341 L322.6,341 L323.6,341 L324.5,341 L325.5,341 L326.5,341 L327.5,341 L328.5,341 L329.4,341 L330.4,341 L331.4,341 L332.4,341 L333.3,341 L334.3,341 L335.3,341 L336.3,341 L337.3,341 L338.2,341 L339.2,341 L340.2,341 L341.2,341 L342.2,341 L343.1,341 L344.1,341 L345.1,341 L346.1,341 L347,341 L348,341 L349,341 L350,341 L351,341 L351.9,341 L352.9,341 L353.9,341 L354.9,341 L355.8,341 L356.8,341 L357.8,341 L358.8,341 L359.8,341 L360.7,341 L361.7,341 L362.7,341 L363.7,341 L364.6,341 L365.6,341 L366.6,341 L367.6,341 L368.6,341 L369.5,341 L370.5,341 L371.5,341 L372.5,341 L373.5,341 L374.4,341 L375.4,341 L376.4,341 L377.4,341 L378.3,341 L379.3,341 L380.3,341 L381.3,341 L382.3,341 L383.2,341 L384.2,341 L385.2,341 L386.2,341 L387.1,341 L388.1,341 L389.1,341 L390.1,341 L391.1,341 L392,341 L393,341 L394,341 L395,341 L396,341 L396.9,341 L397.9,341 L398.9,341 L399.9,341 L400.8,341 L401.8,341 L402.8,341 L403.8,341 L404.8,341 L405.7,341 L406.7,341 L407.7,341 L408.7,341 L409.6,341 L410.6,341 L411.6,341 L412.6,341 L413.6,341 L414.5,341 L415.5,341 L416.5,341 L417.5,341 L418.5,341 L419.4,341 L420.4,341 L421.4,341 L422.4,341 L423.3,341 L424.3,341 L425.3,341 L426.3,341 L427.3,341 L428.2,341 L429.2,341 L430.2,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M216.1,63.55 L217.2,82.19 L218.2,99.58 L219.3,115.8 L220.4,130.9 L221.4,145 L222.5,158.2 L223.6,170.5 L224.7,182 L225.7,192.6 L226.8,202.6 L227.9,211.9 L228.9,220.6 L230,228.7 L231.1,236.2 L232.1,243.3 L233.2,249.8 L234.3,256 L235.4,261.7 L236.4,267 L237.5,272 L238.6,276.6 L239.6,280.9 L240.7,285 L241.8,288.7 L242.9,292.2 L243.9,295.5 L245,298.6 L246.1,301.4 L247.1,304.1 L248.2,306.6 L249.3,308.9 L250.3,311 L251.4,313.1 L252.5,314.9 L253.6,316.7 L254.6,318.3 L255.7,319.8 L256.8,321.3 L257.8,322.6 L258.9,323.8 L260,325 L261.1,326.1 L262.1,327.1 L263.2,328 L264.3,328.9 L265.3,329.7 L266.4,330.4 L267.5,331.2 L268.5,331.8 L269.6,332.4 L270.7,333 L271.8,333.5 L272.8,334 L273.9,334.5 L275,334.9 L276,335.4 L277.1,335.7 L278.2,336.1 L279.3,336.4 L280.3,336.7 L281.4,337 L282.5,337.3 L283.5,337.5 L284.6,337.8 L285.7,338 L286.7,338.2 L287.8,338.4 L288.9,338.6 L290,338.7 L291,338.9 L292.1,339 L293.2,339.1 L294.2,339.3 L295.3,339.4 L296.4,339.5 L297.4,339.6 L298.5,339.7 L299.6,339.8 L300.7,339.9 L301.7,339.9 L302.8,340 L303.9,340.1 L304.9,340.1 L306,340.2 L307.1,340.2 L308.2,340.3 L309.2,340.3 L310.3,340.4 L311.4,340.4 L312.4,340.5 L313.5,340.5 L314.6,340.5 L315.6,340.6 L316.7,340.6 L317.8,340.6 L318.9,340.7 L319.9,340.7 L321,340.7 L322.1,340.7 L323.1,340.7 L324.2,340.8 L325.3,340.8 L326.4,340.8 L327.4,340.8 L328.5,340.8 L329.6,340.8 L330.6,340.8 L331.7,340.8 L332.8,340.9 L333.8,340.9 L334.9,340.9 L336,340.9 L337.1,340.9 L338.1,340.9 L339.2,340.9 L340.3,340.9 L341.3,340.9 L342.4,340.9 L343.5,340.9 L344.6,340.9 L345.6,340.9 L346.7,340.9 L347.8,340.9 L348.8,341 L349.9,341 L351,341 L352,341 L353.1,341 L354.2,341 L355.3,341 L356.3,341 L357.4,341 L358.5,341 L359.5,341 L360.6,341 L361.7,341 L362.7,341 L363.8,341 L364.9,341 L366,341 L367,341 L368.1,341 L369.2,341 L370.2,341 L371.3,341 L372.4,341 L373.5,341 L374.5,341 L375.6,341 L376.7,341 L377.7,341 L378.8,341 L379.9,341 L380.9,341 L382,341 L383.1,341 L384.2,341 L385.2,341 L386.3,341 L387.4,341 L388.4,341 L389.5,341 L390.6,341 L391.7,341 L392.7,341 L393.8,341 L394.9,341 L395.9,341 L397,341 L398.1,341 L399.1,341 L400.2,341 L401.3,341 L402.4,341 L403.4,341 L404.5,341 L405.6,341 L406.6,341 L407.7,341 L408.8,341 L409.9,341 L410.9,341 L412,341 L413.1,341 L414.1,341 L415.2,341 L416.3,341 L417.3,341 L418.4,341 L419.5,341 L420.6,341 L421.6,341 L422.7,341 L423.8,341 L424.8,341 L425.9,341 L427,341 L428.1,341 L429.1,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M75.8,234.7 L77.57,236.2 L79.34,237.7 L81.12,239.2 L82.89,240.7 L84.66,242.1 L86.43,243.5 L88.2,244.9 L89.98,246.3 L91.75,247.6 L93.52,249 L95.29,250.3 L97.06,251.6 L98.84,252.8 L100.6,254.1 L102.4,255.3 L104.2,256.6 L105.9,257.8 L107.7,259 L109.5,260.1 L111.2,261.3 L113,262.4 L114.8,263.5 L116.6,264.7 L118.3,265.7 L120.1,266.8 L121.9,267.9 L123.6,268.9 L125.4,269.9 L127.2,271 L129,272 L130.7,272.9 L132.5,273.9 L134.3,274.9 L136,275.8 L137.8,276.8 L139.6,277.7 L141.4,278.6 L143.1,279.5 L144.9,280.3 L146.7,281.2 L148.5,282.1 L150.2,282.9 L152,283.7 L153.8,284.6 L155.5,285.4 L157.3,286.2 L159.1,286.9 L160.9,287.7 L162.6,288.5 L164.4,289.2 L166.2,290 L167.9,290.7 L169.7,291.4 L171.5,292.1 L173.3,292.8 L175,293.5 L176.8,294.2 L178.6,294.9 L180.3,295.5 L182.1,296.2 L183.9,296.8 L185.7,297.4 L187.4,298.1 L189.2,298.7 L191,299.3 L192.7,299.9 L194.5,300.5 L196.3,301 L198.1,301.6 L199.8,302.2 L201.6,302.7 L203.4,303.3 L205.2,303.8 L206.9,304.3 L208.7,304.9 L210.5,305.4 L212.2,305.9 L214,306.4 L215.8,306.9 L217.6,307.4 L219.3,307.8 L221.1,308.3 L222.9,308.8 L224.6,309.2 L226.4,309.7 L228.2,310.2 L230,310.6 L231.7,311 L233.5,311.5 L235.3,311.9 L237,312.3 L238.8,312.7 L240.6,313.1 L242.4,313.5 L244.1,313.9 L245.9,314.3 L247.7,314.7 L249.5,315 L251.2,315.4 L253,315.8 L254.8,316.1 L256.5,316.5 L258.3,316.8 L260.1,317.2 L261.9,317.5 L263.6,317.9 L265.4,318.2 L267.2,318.5 L268.9,318.8 L270.7,319.2 L272.5,319.5 L274.3,319.8 L276,320.1 L277.8,320.4 L279.6,320.7 L281.3,321 L283.1,321.2 L284.9,321.5 L286.7,321.8 L288.4,322.1 L290.2,322.4 L292,322.6 L293.8,322.9 L295.5,323.1 L297.3,323.4 L299.1,323.6 L300.8,323.9 L302.6,324.1 L304.4,324.4 L306.2,324.6 L307.9,324.9 L309.7,325.1 L311.5,325.3 L313.2,325.5 L315,325.8 L316.8,326 L318.6,326.2 L320.3,326.4 L322.1,326.6 L323.9,326.8 L325.6,327 L327.4,327.2 L329.2,327.4 L331,327.6 L332.7,327.8 L334.5,328 L336.3,328.2 L338.1,328.4 L339.8,328.5 L341.6,328.7 L343.4,328.9 L345.1,329.1 L346.9,329.2 L348.7,329.4 L350.5,329.6 L352.2,329.7 L354,329.9 L355.8,330 L357.5,330.2 L359.3,330.4 L361.1,330.5 L362.9,330.7 L364.6,330.8 L366.4,331 L368.2,331.1 L369.9,331.2 L371.7,331.4 L373.5,331.5 L375.3,331.7 L377,331.8 L378.8,331.9 L380.6,332 L382.3,332.2 L384.1,332.3 L385.9,332.4 L387.7,332.5 L389.4,332.7 L391.2,332.8 L393,332.9 L394.8,333 L396.5,333.1 L398.3,333.2 L400.1,333.4 L401.8,333.5 L403.6,333.6 L405.4,333.7 L407.2,333.8 L408.9,333.9 L410.7,334 L412.5,334.1 L414.2,334.2 L416,334.3 L417.8,334.4 L419.6,334.5 L421.3,334.6 L423.1,334.7 L424.9,334.8 L426.6,334.8 L428.4,334.9 L430.2,335 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,332.7 L77.57,332.6 L79.34,332.5 L81.12,332.5 L82.89,332.4 L84.66,332.3 L86.43,332.2 L88.2,332.1 L89.98,332 L91.75,331.9 L93.52,331.8 L95.29,331.7 L97.06,331.6 L98.84,331.4 L100.6,331.3 L102.4,331.2 L104.2,331.1 L105.9,331 L107.7,330.9 L109.5,330.8 L111.2,330.7 L113,330.6 L114.8,330.4 L116.6,330.3 L118.3,330.2 L120.1,330.1 L121.9,330 L123.6,329.8 L125.4,329.7 L127.2,329.6 L129,329.4 L130.7,329.3 L132.5,329.2 L134.3,329.1 L136,328.9 L137.8,328.8 L139.6,328.6 L141.4,328.5 L143.1,328.4 L144.9,328.2 L146.7,328.1 L148.5,327.9 L150.2,327.8 L152,327.6 L153.8,327.5 L155.5,327.3 L157.3,327.2 L159.1,327 L160.9,326.9 L162.6,326.7 L164.4,326.6 L166.2,326.4 L167.9,326.2 L169.7,326.1 L171.5,325.9 L173.3,325.7 L175,325.6 L176.8,325.4 L178.6,325.2 L180.3,325 L182.1,324.9 L183.9,324.7 L185.7,324.5 L187.4,324.3 L189.2,324.1 L191,323.9 L192.7,323.7 L194.5,323.5 L196.3,323.4 L198.1,323.2 L199.8,323 L201.6,322.7 L203.4,322.5 L205.2,322.3 L206.9,322.1 L208.7,321.9 L210.5,321.7 L212.2,321.5 L214,321.3 L215.8,321 L217.6,320.8 L219.3,320.6 L221.1,320.4 L222.9,320.1 L224.6,319.9 L226.4,319.7 L228.2,319.4 L230,319.2 L231.7,318.9 L233.5,318.7 L235.3,318.4 L237,318.2 L238.8,317.9 L240.6,317.7 L242.4,317.4 L244.1,317.1 L245.9,316.9 L247.7,316.6 L249.5,316.3 L251.2,316.1 L253,315.8 L254.8,315.5 L256.5,315.2 L258.3,314.9 L260.1,314.6 L261.9,314.3 L263.6,314 L265.4,313.7 L267.2,313.4 L268.9,313.1 L270.7,312.8 L272.5,312.5 L274.3,312.2 L276,311.8 L277.8,311.5 L279.6,311.2 L281.3,310.8 L283.1,310.5 L284.9,310.2 L286.7,309.8 L288.4,309.5 L290.2,309.1 L292,308.8 L293.8,308.4 L295.5,308 L297.3,307.7 L299.1,307.3 L300.8,306.9 L302.6,306.5 L304.4,306.1 L306.2,305.8 L307.9,305.4 L309.7,305 L311.5,304.6 L313.2,304.1 L315,303.7 L316.8,303.3 L318.6,302.9 L320.3,302.5 L322.1,302 L323.9,301.6 L325.6,301.1 L327.4,300.7 L329.2,300.2 L331,299.8 L332.7,299.3 L334.5,298.9 L336.3,298.4 L338.1,297.9 L339.8,297.4 L341.6,296.9 L343.4,296.4 L345.1,295.9 L346.9,295.4 L348.7,294.9 L350.5,294.4 L352.2,293.9 L354,293.4 L355.8,292.8 L357.5,292.3 L359.3,291.7 L361.1,291.2 L362.9,290.6 L364.6,290.1 L366.4,289.5 L368.2,288.9 L369.9,288.3 L371.7,287.7 L373.5,287.1 L375.3,286.5 L377,285.9 L378.8,285.3 L380.6,284.7 L382.3,284 L384.1,283.4 L385.9,282.8 L387.7,282.1 L389.4,281.4 L391.2,280.8 L393,280.1 L394.8,279.4 L396.5,278.7 L398.3,278 L400.1,277.3 L401.8,276.6 L403.6,275.9 L405.4,275.2 L407.2,274.4 L408.9,273.7 L410.7,272.9 L412.5,272.2 L414.2,271.4 L416,270.6 L417.8,269.8 L419.6,269 L421.3,268.2 L423.1,267.4 L424.9,266.6 L426.6,265.7 L428.4,264.9 L430.2,264 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="182"/><rect x="451.3" y="58" width="122.7" height="182"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="198" x2="479.3" y2="198"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="226" x2="479.3" y2="226"/></g>
+</g>
+<g id="legendText">
+<text x="486.3" y="86" font-size="14" font-family="Verdana">a=0.0001</text>
+<text x="486.3" y="114" font-size="14" font-family="Verdana">a=0.001</text>
+<text x="486.3" y="142" font-size="14" font-family="Verdana">a=0.01</text>
+<text x="486.3" y="170" font-size="14" font-family="Verdana">a=0.1</text>
+<text x="486.3" y="198" font-size="14" font-family="Verdana">a=0.75</text>
+<text x="486.3" y="226" font-size="14" font-family="Verdana">a=1.25</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">powm1</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/prior_posterior_plot.png b/libs/math/doc/graphs/prior_posterior_plot.png
index 7e64a89569..7e64a89569 100644
--- a/libs/math/doc/sf_and_dist/graphs/prior_posterior_plot.png
+++ b/libs/math/doc/graphs/prior_posterior_plot.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/prior_posterior_plot.svg b/libs/math/doc/graphs/prior_posterior_plot.svg
index bebe711c2b..bebe711c2b 100644
--- a/libs/math/doc/sf_and_dist/graphs/prior_posterior_plot.svg
+++ b/libs/math/doc/graphs/prior_posterior_plot.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/quantile.png b/libs/math/doc/graphs/quantile.png
index 0ecc897ea3..0ecc897ea3 100644
--- a/libs/math/doc/sf_and_dist/graphs/quantile.png
+++ b/libs/math/doc/graphs/quantile.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.png b/libs/math/doc/graphs/rayleigh_cdf.png
index 3278d0b05c..3278d0b05c 100644
--- a/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.png
+++ b/libs/math/doc/graphs/rayleigh_cdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/rayleigh_cdf.svg b/libs/math/doc/graphs/rayleigh_cdf.svg
new file mode 100644
index 0000000000..7625bbabd5
--- /dev/null
+++ b/libs/math/doc/graphs/rayleigh_cdf.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="71.2" y="63" width="548.6" height="271.4"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="70.2" y="62" width="550.6" height="273.4"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.2" y1="62" x2="70.2" y2="340.4"/><line x1="70.2" y1="62" x2="70.2" y2="335.4"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.2,330.4 L70.2,330.4 M68.2,325.5 L70.2,325.5 M68.2,320.5 L70.2,320.5 M68.2,315.5 L70.2,315.5 M68.2,305.6 L70.2,305.6 M68.2,300.6 L70.2,300.6 M68.2,295.6 L70.2,295.6 M68.2,290.7 L70.2,290.7 M68.2,280.7 L70.2,280.7 M68.2,275.7 L70.2,275.7 M68.2,270.8 L70.2,270.8 M68.2,265.8 L70.2,265.8 M68.2,255.9 L70.2,255.9 M68.2,250.9 L70.2,250.9 M68.2,245.9 L70.2,245.9 M68.2,241 L70.2,241 M68.2,231 L70.2,231 M68.2,226 L70.2,226 M68.2,221.1 L70.2,221.1 M68.2,216.1 L70.2,216.1 M68.2,206.2 L70.2,206.2 M68.2,201.2 L70.2,201.2 M68.2,196.2 L70.2,196.2 M68.2,191.2 L70.2,191.2 M68.2,181.3 L70.2,181.3 M68.2,176.3 L70.2,176.3 M68.2,171.4 L70.2,171.4 M68.2,166.4 L70.2,166.4 M68.2,156.4 L70.2,156.4 M68.2,151.5 L70.2,151.5 M68.2,146.5 L70.2,146.5 M68.2,141.5 L70.2,141.5 M68.2,131.6 L70.2,131.6 M68.2,126.6 L70.2,126.6 M68.2,121.7 L70.2,121.7 M68.2,116.7 L70.2,116.7 M68.2,106.7 L70.2,106.7 M68.2,101.8 L70.2,101.8 M68.2,96.8 L70.2,96.8 M68.2,91.83 L70.2,91.83 M68.2,81.88 L70.2,81.88 M68.2,76.91 L70.2,76.91 M68.2,71.94 L70.2,71.94 M68.2,66.97 L70.2,66.97 M68.2,335.4 L70.2,335.4 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M88.34,335.4 L88.34,337.4 M106.5,335.4 L106.5,337.4 M124.6,335.4 L124.6,337.4 M142.8,335.4 L142.8,337.4 M179,335.4 L179,337.4 M197.2,335.4 L197.2,337.4 M215.3,335.4 L215.3,337.4 M233.5,335.4 L233.5,337.4 M269.8,335.4 L269.8,337.4 M287.9,335.4 L287.9,337.4 M306,335.4 L306,337.4 M324.2,335.4 L324.2,337.4 M360.5,335.4 L360.5,337.4 M378.6,335.4 L378.6,337.4 M396.7,335.4 L396.7,337.4 M414.9,335.4 L414.9,337.4 M451.2,335.4 L451.2,337.4 M469.3,335.4 L469.3,337.4 M487.4,335.4 L487.4,337.4 M505.6,335.4 L505.6,337.4 M541.9,335.4 L541.9,337.4 M560,335.4 L560,337.4 M578.1,335.4 L578.1,337.4 M596.3,335.4 L596.3,337.4 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M65.2,335.4 L70.2,335.4 M65.2,310.5 L70.2,310.5 M65.2,285.7 L70.2,285.7 M65.2,260.8 L70.2,260.8 M65.2,236 L70.2,236 M65.2,211.1 L70.2,211.1 M65.2,186.3 L70.2,186.3 M65.2,161.4 L70.2,161.4 M65.2,136.6 L70.2,136.6 M65.2,111.7 L70.2,111.7 M65.2,86.85 L70.2,86.85 M65.2,62 L70.2,62 M65.2,335.4 L70.2,335.4 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.2,335.4 L70.2,340.4 M160.9,335.4 L160.9,340.4 M251.6,335.4 L251.6,340.4 M342.3,335.4 L342.3,340.4 M433,335.4 L433,340.4 M523.7,335.4 L523.7,340.4 M614.4,335.4 L614.4,340.4 M70.2,335.4 L70.2,340.4 " fill="none"/></g>
+<g id="plotLabels">
+<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
+<text x="160.9" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">5</text>
+<text x="251.6" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">10</text>
+<text x="342.3" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">15</text>
+<text x="433" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">20</text>
+<text x="523.7" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">25</text>
+<text x="614.4" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">30</text>
+<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
+<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="59.2" y="312.9" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="59.2" y="288.1" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="59.2" y="263.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="59.2" y="238.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="59.2" y="213.5" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="59.2" y="188.7" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="59.2" y="163.8" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="59.2" y="139" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="59.2" y="114.1" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="59.2" y="89.25" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="59.2" y="64.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
+<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="30.2" y="198.7" text-anchor="middle" transform = "rotate(-90 30.2 198.7 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="345.5" y="388" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M70.2,335.4 L72.95,324.2 L75.71,293.6 L78.46,251.1 L81.21,205.8 L83.97,165.4 L86.72,134.2 L89.47,112.9 L92.22,99.89 L94.98,92.81 L97.73,89.34 L100.5,87.8 L103.2,87.18 L106,86.96 L108.7,86.88 L111.5,86.86 L114.2,86.86 L117,86.85 L119.8,86.85 L122.5,86.85 L125.3,86.85 L128,86.85 L130.8,86.85 L133.5,86.85 L136.3,86.85 L139,86.85 L141.8,86.85 L144.5,86.85 L147.3,86.85 L150,86.85 L152.8,86.85 L155.5,86.85 L158.3,86.85 L161,86.85 L163.8,86.85 L166.6,86.85 L169.3,86.85 L172.1,86.85 L174.8,86.85 L177.6,86.85 L180.3,86.85 L183.1,86.85 L185.8,86.85 L188.6,86.85 L191.3,86.85 L194.1,86.85 L196.8,86.85 L199.6,86.85 L202.3,86.85 L205.1,86.85 L207.8,86.85 L210.6,86.85 L213.4,86.85 L216.1,86.85 L218.9,86.85 L221.6,86.85 L224.4,86.85 L227.1,86.85 L229.9,86.85 L232.6,86.85 L235.4,86.85 L238.1,86.85 L240.9,86.85 L243.6,86.85 L246.4,86.85 L249.1,86.85 L251.9,86.85 L254.7,86.85 L257.4,86.85 L260.2,86.85 L262.9,86.85 L265.7,86.85 L268.4,86.85 L271.2,86.85 L273.9,86.85 L276.7,86.85 L279.4,86.85 L282.2,86.85 L284.9,86.85 L287.7,86.85 L290.4,86.85 L293.2,86.85 L295.9,86.85 L298.7,86.85 L301.5,86.85 L304.2,86.85 L307,86.85 L309.7,86.85 L312.5,86.85 L315.2,86.85 L318,86.85 L320.7,86.85 L323.5,86.85 L326.2,86.85 L329,86.85 L331.7,86.85 L334.5,86.85 L337.2,86.85 L340,86.85 L342.7,86.85 L345.5,86.85 L348.3,86.85 L351,86.85 L353.8,86.85 L356.5,86.85 L359.3,86.85 L362,86.85 L364.8,86.85 L367.5,86.85 L370.3,86.85 L373,86.85 L375.8,86.85 L378.5,86.85 L381.3,86.85 L384,86.85 L386.8,86.85 L389.5,86.85 L392.3,86.85 L395.1,86.85 L397.8,86.85 L400.6,86.85 L403.3,86.85 L406.1,86.85 L408.8,86.85 L411.6,86.85 L414.3,86.85 L417.1,86.85 L419.8,86.85 L422.6,86.85 L425.3,86.85 L428.1,86.85 L430.8,86.85 L433.6,86.85 L436.3,86.85 L439.1,86.85 L441.9,86.85 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,332.6 L75.71,324.2 L78.46,310.9 L81.21,293.6 L83.97,273.2 L86.72,251.1 L89.47,228.2 L92.22,205.8 L94.98,184.7 L97.73,165.4 L100.5,148.6 L103.2,134.2 L106,122.4 L108.7,112.9 L111.5,105.5 L114.2,99.89 L117,95.77 L119.8,92.81 L122.5,90.75 L125.3,89.34 L128,88.4 L130.8,87.8 L133.5,87.42 L136.3,87.18 L139,87.04 L141.8,86.96 L144.5,86.91 L147.3,86.88 L150,86.87 L152.8,86.86 L155.5,86.86 L158.3,86.86 L161,86.86 L163.8,86.85 L166.6,86.85 L169.3,86.85 L172.1,86.85 L174.8,86.85 L177.6,86.85 L180.3,86.85 L183.1,86.85 L185.8,86.85 L188.6,86.85 L191.3,86.85 L194.1,86.85 L196.8,86.85 L199.6,86.85 L202.3,86.85 L205.1,86.85 L207.8,86.85 L210.6,86.85 L213.4,86.85 L216.1,86.85 L218.9,86.85 L221.6,86.85 L224.4,86.85 L227.1,86.85 L229.9,86.85 L232.6,86.85 L235.4,86.85 L238.1,86.85 L240.9,86.85 L243.6,86.85 L246.4,86.85 L249.1,86.85 L251.9,86.85 L254.7,86.85 L257.4,86.85 L260.2,86.85 L262.9,86.85 L265.7,86.85 L268.4,86.85 L271.2,86.85 L273.9,86.85 L276.7,86.85 L279.4,86.85 L282.2,86.85 L284.9,86.85 L287.7,86.85 L290.4,86.85 L293.2,86.85 L295.9,86.85 L298.7,86.85 L301.5,86.85 L304.2,86.85 L307,86.85 L309.7,86.85 L312.5,86.85 L315.2,86.85 L318,86.85 L320.7,86.85 L323.5,86.85 L326.2,86.85 L329,86.85 L331.7,86.85 L334.5,86.85 L337.2,86.85 L340,86.85 L342.7,86.85 L345.5,86.85 L348.3,86.85 L351,86.85 L353.8,86.85 L356.5,86.85 L359.3,86.85 L362,86.85 L364.8,86.85 L367.5,86.85 L370.3,86.85 L373,86.85 L375.8,86.85 L378.5,86.85 L381.3,86.85 L384,86.85 L386.8,86.85 L389.5,86.85 L392.3,86.85 L395.1,86.85 L397.8,86.85 L400.6,86.85 L403.3,86.85 L406.1,86.85 L408.8,86.85 L411.6,86.85 L414.3,86.85 L417.1,86.85 L419.8,86.85 L422.6,86.85 L425.3,86.85 L428.1,86.85 L430.8,86.85 L433.6,86.85 L436.3,86.85 L439.1,86.85 L441.9,86.85 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,334.7 L75.71,332.6 L78.46,329 L81.21,324.2 L83.97,318.1 L86.72,310.9 L89.47,302.7 L92.22,293.6 L94.98,283.7 L97.73,273.2 L100.5,262.3 L103.2,251.1 L106,239.7 L108.7,228.2 L111.5,216.9 L114.2,205.8 L117,195 L119.8,184.7 L122.5,174.8 L125.3,165.4 L128,156.7 L130.8,148.6 L133.5,141.1 L136.3,134.2 L139,128 L141.8,122.4 L144.5,117.3 L147.3,112.9 L150,108.9 L152.8,105.5 L155.5,102.5 L158.3,99.89 L161,97.67 L163.8,95.77 L166.6,94.16 L169.3,92.81 L172.1,91.68 L174.8,90.75 L177.6,89.97 L180.3,89.34 L183.1,88.82 L185.8,88.4 L188.6,88.07 L191.3,87.8 L194.1,87.59 L196.8,87.42 L199.6,87.28 L202.3,87.18 L205.1,87.1 L207.8,87.04 L210.6,86.99 L213.4,86.96 L216.1,86.93 L218.9,86.91 L221.6,86.9 L224.4,86.88 L227.1,86.88 L229.9,86.87 L232.6,86.87 L235.4,86.86 L238.1,86.86 L240.9,86.86 L243.6,86.86 L246.4,86.86 L249.1,86.86 L251.9,86.86 L254.7,86.86 L257.4,86.85 L260.2,86.85 L262.9,86.85 L265.7,86.85 L268.4,86.85 L271.2,86.85 L273.9,86.85 L276.7,86.85 L279.4,86.85 L282.2,86.85 L284.9,86.85 L287.7,86.85 L290.4,86.85 L293.2,86.85 L295.9,86.85 L298.7,86.85 L301.5,86.85 L304.2,86.85 L307,86.85 L309.7,86.85 L312.5,86.85 L315.2,86.85 L318,86.85 L320.7,86.85 L323.5,86.85 L326.2,86.85 L329,86.85 L331.7,86.85 L334.5,86.85 L337.2,86.85 L340,86.85 L342.7,86.85 L345.5,86.85 L348.3,86.85 L351,86.85 L353.8,86.85 L356.5,86.85 L359.3,86.85 L362,86.85 L364.8,86.85 L367.5,86.85 L370.3,86.85 L373,86.85 L375.8,86.85 L378.5,86.85 L381.3,86.85 L384,86.85 L386.8,86.85 L389.5,86.85 L392.3,86.85 L395.1,86.85 L397.8,86.85 L400.6,86.85 L403.3,86.85 L406.1,86.85 L408.8,86.85 L411.6,86.85 L414.3,86.85 L417.1,86.85 L419.8,86.85 L422.6,86.85 L425.3,86.85 L428.1,86.85 L430.8,86.85 L433.6,86.85 L436.3,86.85 L439.1,86.85 L441.9,86.85 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,335.2 L75.71,334.7 L78.46,333.8 L81.21,332.6 L83.97,331 L86.72,329 L89.47,326.8 L92.22,324.2 L94.98,321.3 L97.73,318.1 L100.5,314.7 L103.2,310.9 L106,306.9 L108.7,302.7 L111.5,298.2 L114.2,293.6 L117,288.7 L119.8,283.7 L122.5,278.5 L125.3,273.2 L128,267.8 L130.8,262.3 L133.5,256.7 L136.3,251.1 L139,245.4 L141.8,239.7 L144.5,233.9 L147.3,228.2 L150,222.5 L152.8,216.9 L155.5,211.3 L158.3,205.8 L161,200.4 L163.8,195 L166.6,189.8 L169.3,184.7 L172.1,179.6 L174.8,174.8 L177.6,170 L180.3,165.4 L183.1,161 L185.8,156.7 L188.6,152.5 L191.3,148.6 L194.1,144.7 L196.8,141.1 L199.6,137.6 L202.3,134.2 L205.1,131 L207.8,128 L210.6,125.1 L213.4,122.4 L216.1,119.8 L218.9,117.3 L221.6,115 L224.4,112.9 L227.1,110.8 L229.9,108.9 L232.6,107.2 L235.4,105.5 L238.1,103.9 L240.9,102.5 L243.6,101.1 L246.4,99.89 L249.1,98.74 L251.9,97.67 L254.7,96.68 L257.4,95.77 L260.2,94.93 L262.9,94.16 L265.7,93.46 L268.4,92.81 L271.2,92.22 L273.9,91.68 L276.7,91.19 L279.4,90.75 L282.2,90.34 L284.9,89.97 L287.7,89.64 L290.4,89.34 L293.2,89.07 L295.9,88.82 L298.7,88.6 L301.5,88.4 L304.2,88.23 L307,88.07 L309.7,87.93 L312.5,87.8 L315.2,87.69 L318,87.59 L320.7,87.5 L323.5,87.42 L326.2,87.35 L329,87.28 L331.7,87.23 L334.5,87.18 L337.2,87.14 L340,87.1 L342.7,87.07 L345.5,87.04 L348.3,87.02 L351,86.99 L353.8,86.97 L356.5,86.96 L359.3,86.94 L362,86.93 L364.8,86.92 L367.5,86.91 L370.3,86.9 L373,86.9 L375.8,86.89 L378.5,86.88 L381.3,86.88 L384,86.88 L386.8,86.87 L389.5,86.87 L392.3,86.87 L395.1,86.87 L397.8,86.86 L400.6,86.86 L403.3,86.86 L406.1,86.86 L408.8,86.86 L411.6,86.86 L414.3,86.86 L417.1,86.86 L419.8,86.86 L422.6,86.86 L425.3,86.86 L428.1,86.86 L430.8,86.86 L433.6,86.86 L436.3,86.86 L439.1,86.86 L441.9,86.86 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,335.4 L75.71,335.3 L78.46,335.1 L81.21,334.9 L83.97,334.7 L86.72,334.4 L89.47,334 L92.22,333.6 L94.98,333.1 L97.73,332.6 L100.5,332 L103.2,331.3 L106,330.6 L108.7,329.9 L111.5,329 L114.2,328.2 L117,327.3 L119.8,326.3 L122.5,325.3 L125.3,324.2 L128,323.1 L130.8,321.9 L133.5,320.7 L136.3,319.4 L139,318.1 L141.8,316.8 L144.5,315.4 L147.3,313.9 L150,312.5 L152.8,310.9 L155.5,309.4 L158.3,307.8 L161,306.1 L163.8,304.4 L166.6,302.7 L169.3,300.9 L172.1,299.2 L174.8,297.3 L177.6,295.5 L180.3,293.6 L183.1,291.7 L185.8,289.7 L188.6,287.7 L191.3,285.7 L194.1,283.7 L196.8,281.7 L199.6,279.6 L202.3,277.5 L205.1,275.4 L207.8,273.2 L210.6,271.1 L213.4,268.9 L216.1,266.7 L218.9,264.5 L221.6,262.3 L224.4,260.1 L227.1,257.8 L229.9,255.6 L232.6,253.3 L235.4,251.1 L238.1,248.8 L240.9,246.5 L243.6,244.2 L246.4,241.9 L249.1,239.7 L251.9,237.4 L254.7,235.1 L257.4,232.8 L260.2,230.5 L262.9,228.2 L265.7,225.9 L268.4,223.7 L271.2,221.4 L273.9,219.2 L276.7,216.9 L279.4,214.7 L282.2,212.4 L284.9,210.2 L287.7,208 L290.4,205.8 L293.2,203.6 L295.9,201.4 L298.7,199.3 L301.5,197.1 L304.2,195 L307,192.9 L309.7,190.8 L312.5,188.7 L315.2,186.7 L318,184.7 L320.7,182.6 L323.5,180.6 L326.2,178.7 L329,176.7 L331.7,174.8 L334.5,172.9 L337.2,171 L340,169.1 L342.7,167.3 L345.5,165.4 L348.3,163.6 L351,161.9 L353.8,160.1 L356.5,158.4 L359.3,156.7 L362,155 L364.8,153.4 L367.5,151.7 L370.3,150.1 L373,148.6 L375.8,147 L378.5,145.5 L381.3,144 L384,142.5 L386.8,141.1 L389.5,139.6 L392.3,138.2 L395.1,136.9 L397.8,135.5 L400.6,134.2 L403.3,132.9 L406.1,131.6 L408.8,130.4 L411.6,129.2 L414.3,128 L417.1,126.8 L419.8,125.7 L422.6,124.5 L425.3,123.4 L428.1,122.4 L430.8,121.3 L433.6,120.3 L436.3,119.3 L439.1,118.3 L441.9,117.3 L444.6,116.4 L447.4,115.5 L450.1,114.6 L452.9,113.7 L455.6,112.9 L458.4,112 L461.1,111.2 L463.9,110.4 L466.6,109.7 L469.4,108.9 L472.1,108.2 L474.9,107.5 L477.6,106.8 L480.4,106.1 L483.2,105.5 L485.9,104.8 L488.7,104.2 L491.4,103.6 L494.2,103.1 L496.9,102.5 L499.7,101.9 L502.4,101.4 L505.2,100.9 L507.9,100.4 L510.7,99.89 L513.4,99.42 L516.2,98.96 L518.9,98.52 L521.7,98.08 L524.4,97.67 L527.2,97.26 L530,96.87 L532.7,96.49 L535.5,96.13 L538.2,95.77 L541,95.43 L543.7,95.09 L546.5,94.77 L549.2,94.46 L552,94.16 L554.7,93.87 L557.5,93.59 L560.2,93.32 L563,93.06 L565.7,92.81 L568.5,92.57 L571.2,92.34 L574,92.11 L576.8,91.89 L579.5,91.68 L582.3,91.48 L585,91.29 L587.8,91.1 L590.5,90.92 L593.3,90.75 L596,90.58 L598.8,90.42 L601.5,90.26 L604.3,90.11 L607,89.97 L609.8,89.83 L612.5,89.7 L615.3,89.58 L618,89.45 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="634.8" y="62" width="103.2" height="165"/><rect x="634.8" y="62" width="103.2" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" stroke-width="1"><line x1="649.8" y1="92" x2="664.8" y2="92"/></g>
+<g stroke="rgb(139,0,0)" stroke-width="1"><line x1="649.8" y1="122" x2="664.8" y2="122"/></g>
+<g stroke="rgb(0,100,0)" stroke-width="1"><line x1="649.8" y1="152" x2="664.8" y2="152"/></g>
+<g stroke="rgb(255,140,0)" stroke-width="1"><line x1="649.8" y1="182" x2="664.8" y2="182"/></g>
+<g stroke="rgb(127,255,0)" stroke-width="1"><line x1="649.8" y1="212" x2="664.8" y2="212"/></g>
+</g>
+<g id="legendText">
+<text x="672.3" y="92" font-size="15" font-family="Verdana">&#x3C3;=0.5</text>
+<text x="672.3" y="122" font-size="15" font-family="Verdana">&#x3C3;=1</text>
+<text x="672.3" y="152" font-size="15" font-family="Verdana">&#x3C3;=2</text>
+<text x="672.3" y="182" font-size="15" font-family="Verdana">&#x3C3;=4</text>
+<text x="672.3" y="212" font-size="15" font-family="Verdana">&#x3C3;=10</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Rayleigh Distribution CDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.png b/libs/math/doc/graphs/rayleigh_pdf.png
index 2b0274892c..2b0274892c 100644
--- a/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.png
+++ b/libs/math/doc/graphs/rayleigh_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/rayleigh_pdf.svg b/libs/math/doc/graphs/rayleigh_pdf.svg
new file mode 100644
index 0000000000..40ff938823
--- /dev/null
+++ b/libs/math/doc/graphs/rayleigh_pdf.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="71.2" y="63" width="548.6" height="271.4"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="70.2" y="62" width="550.6" height="273.4"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.2" y1="62" x2="70.2" y2="340.4"/><line x1="70.2" y1="62" x2="70.2" y2="335.4"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.2,314.9 L70.2,314.9 M68.2,294.4 L70.2,294.4 M68.2,273.9 L70.2,273.9 M68.2,253.4 L70.2,253.4 M68.2,212.5 L70.2,212.5 M68.2,192 L70.2,192 M68.2,171.5 L70.2,171.5 M68.2,151 L70.2,151 M68.2,110 L70.2,110 M68.2,89.53 L70.2,89.53 M68.2,69.04 L70.2,69.04 M68.2,335.4 L70.2,335.4 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M88.34,335.4 L88.34,337.4 M106.5,335.4 L106.5,337.4 M124.6,335.4 L124.6,337.4 M142.8,335.4 L142.8,337.4 M179,335.4 L179,337.4 M197.2,335.4 L197.2,337.4 M215.3,335.4 L215.3,337.4 M233.5,335.4 L233.5,337.4 M269.8,335.4 L269.8,337.4 M287.9,335.4 L287.9,337.4 M306,335.4 L306,337.4 M324.2,335.4 L324.2,337.4 M360.5,335.4 L360.5,337.4 M378.6,335.4 L378.6,337.4 M396.7,335.4 L396.7,337.4 M414.9,335.4 L414.9,337.4 M451.2,335.4 L451.2,337.4 M469.3,335.4 L469.3,337.4 M487.4,335.4 L487.4,337.4 M505.6,335.4 L505.6,337.4 M541.9,335.4 L541.9,337.4 M560,335.4 L560,337.4 M578.1,335.4 L578.1,337.4 M596.3,335.4 L596.3,337.4 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M65.2,335.4 L70.2,335.4 M65.2,233 L70.2,233 M65.2,130.5 L70.2,130.5 M65.2,335.4 L70.2,335.4 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.2,335.4 L70.2,340.4 M160.9,335.4 L160.9,340.4 M251.6,335.4 L251.6,340.4 M342.3,335.4 L342.3,340.4 M433,335.4 L433,340.4 M523.7,335.4 L523.7,340.4 M614.4,335.4 L614.4,340.4 M70.2,335.4 L70.2,340.4 " fill="none"/></g>
+<g id="plotLabels">
+<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
+<text x="160.9" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">5</text>
+<text x="251.6" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">10</text>
+<text x="342.3" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">15</text>
+<text x="433" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">20</text>
+<text x="523.7" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">25</text>
+<text x="614.4" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">30</text>
+<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
+<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="59.2" y="235.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="59.2" y="132.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="30.2" y="198.7" text-anchor="middle" transform = "rotate(-90 30.2 198.7 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="345.5" y="388" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M70.2,335.4 L72.95,216.6 L75.71,128.5 L78.46,88.9 L81.21,97.31 L83.97,138.8 L86.72,193.2 L89.47,244.3 L92.22,283.2 L94.98,308.6 L97.73,323 L100.5,330.2 L103.2,333.4 L106,334.7 L108.7,335.2 L111.5,335.3 L114.2,335.4 L117,335.4 L119.8,335.4 L122.5,335.4 L125.3,335.4 L128,335.4 L130.8,335.4 L133.5,335.4 L136.3,335.4 L139,335.4 L141.8,335.4 L144.5,335.4 L147.3,335.4 L150,335.4 L152.8,335.4 L155.5,335.4 L158.3,335.4 L161,335.4 L163.8,335.4 L166.6,335.4 L169.3,335.4 L172.1,335.4 L174.8,335.4 L177.6,335.4 L180.3,335.4 L183.1,335.4 L185.8,335.4 L188.6,335.4 L191.3,335.4 L194.1,335.4 L196.8,335.4 L199.6,335.4 L202.3,335.4 L205.1,335.4 L207.8,335.4 L210.6,335.4 L213.4,335.4 L216.1,335.4 L218.9,335.4 L221.6,335.4 L224.4,335.4 L227.1,335.4 L229.9,335.4 L232.6,335.4 L235.4,335.4 L238.1,335.4 L240.9,335.4 L243.6,335.4 L246.4,335.4 L249.1,335.4 L251.9,335.4 L254.7,335.4 L257.4,335.4 L260.2,335.4 L262.9,335.4 L265.7,335.4 L268.4,335.4 L271.2,335.4 L273.9,335.4 L276.7,335.4 L279.4,335.4 L282.2,335.4 L284.9,335.4 L287.7,335.4 L290.4,335.4 L293.2,335.4 L295.9,335.4 L298.7,335.4 L301.5,335.4 L304.2,335.4 L307,335.4 L309.7,335.4 L312.5,335.4 L315.2,335.4 L318,335.4 L320.7,335.4 L323.5,335.4 L326.2,335.4 L329,335.4 L331.7,335.4 L334.5,335.4 L337.2,335.4 L340,335.4 L342.7,335.4 L345.5,335.4 L348.3,335.4 L351,335.4 L353.8,335.4 L356.5,335.4 L359.3,335.4 L362,335.4 L364.8,335.4 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,304.7 L75.71,276 L78.46,251.3 L81.21,232 L83.97,218.8 L86.72,212.1 L89.47,211.6 L92.22,216.4 L94.98,225.3 L97.73,237.1 L100.5,250.5 L103.2,264.3 L106,277.7 L108.7,289.8 L111.5,300.4 L114.2,309.3 L117,316.4 L119.8,322 L122.5,326.2 L125.3,329.2 L128,331.3 L130.8,332.8 L133.5,333.8 L136.3,334.4 L139,334.8 L141.8,335.1 L144.5,335.2 L147.3,335.3 L150,335.3 L152.8,335.4 L155.5,335.4 L158.3,335.4 L161,335.4 L163.8,335.4 L166.6,335.4 L169.3,335.4 L172.1,335.4 L174.8,335.4 L177.6,335.4 L180.3,335.4 L183.1,335.4 L185.8,335.4 L188.6,335.4 L191.3,335.4 L194.1,335.4 L196.8,335.4 L199.6,335.4 L202.3,335.4 L205.1,335.4 L207.8,335.4 L210.6,335.4 L213.4,335.4 L216.1,335.4 L218.9,335.4 L221.6,335.4 L224.4,335.4 L227.1,335.4 L229.9,335.4 L232.6,335.4 L235.4,335.4 L238.1,335.4 L240.9,335.4 L243.6,335.4 L246.4,335.4 L249.1,335.4 L251.9,335.4 L254.7,335.4 L257.4,335.4 L260.2,335.4 L262.9,335.4 L265.7,335.4 L268.4,335.4 L271.2,335.4 L273.9,335.4 L276.7,335.4 L279.4,335.4 L282.2,335.4 L284.9,335.4 L287.7,335.4 L290.4,335.4 L293.2,335.4 L295.9,335.4 L298.7,335.4 L301.5,335.4 L304.2,335.4 L307,335.4 L309.7,335.4 L312.5,335.4 L315.2,335.4 L318,335.4 L320.7,335.4 L323.5,335.4 L326.2,335.4 L329,335.4 L331.7,335.4 L334.5,335.4 L337.2,335.4 L340,335.4 L342.7,335.4 L345.5,335.4 L348.3,335.4 L351,335.4 L353.8,335.4 L356.5,335.4 L359.3,335.4 L362,335.4 L364.8,335.4 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,327.6 L75.71,320 L78.46,312.7 L81.21,305.7 L83.97,299.2 L86.72,293.4 L89.47,288.1 L92.22,283.7 L94.98,280 L97.73,277.1 L100.5,275 L103.2,273.8 L106,273.3 L108.7,273.5 L111.5,274.4 L114.2,275.9 L117,277.9 L119.8,280.3 L122.5,283.2 L125.3,286.2 L128,289.5 L130.8,292.9 L133.5,296.4 L136.3,299.9 L139,303.3 L141.8,306.5 L144.5,309.7 L147.3,312.6 L150,315.4 L152.8,317.9 L155.5,320.2 L158.3,322.4 L161,324.2 L163.8,325.9 L166.6,327.4 L169.3,328.7 L172.1,329.8 L174.8,330.8 L177.6,331.6 L180.3,332.3 L183.1,332.9 L185.8,333.4 L188.6,333.8 L191.3,334.1 L194.1,334.4 L196.8,334.6 L199.6,334.8 L202.3,334.9 L205.1,335 L207.8,335.1 L210.6,335.2 L213.4,335.2 L216.1,335.3 L218.9,335.3 L221.6,335.3 L224.4,335.3 L227.1,335.4 L229.9,335.4 L232.6,335.4 L235.4,335.4 L238.1,335.4 L240.9,335.4 L243.6,335.4 L246.4,335.4 L249.1,335.4 L251.9,335.4 L254.7,335.4 L257.4,335.4 L260.2,335.4 L262.9,335.4 L265.7,335.4 L268.4,335.4 L271.2,335.4 L273.9,335.4 L276.7,335.4 L279.4,335.4 L282.2,335.4 L284.9,335.4 L287.7,335.4 L290.4,335.4 L293.2,335.4 L295.9,335.4 L298.7,335.4 L301.5,335.4 L304.2,335.4 L307,335.4 L309.7,335.4 L312.5,335.4 L315.2,335.4 L318,335.4 L320.7,335.4 L323.5,335.4 L326.2,335.4 L329,335.4 L331.7,335.4 L334.5,335.4 L337.2,335.4 L340,335.4 L342.7,335.4 L345.5,335.4 L348.3,335.4 L351,335.4 L353.8,335.4 L356.5,335.4 L359.3,335.4 L362,335.4 L364.8,335.4 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,333.5 L75.71,331.5 L78.46,329.6 L81.21,327.7 L83.97,325.9 L86.72,324 L89.47,322.3 L92.22,320.6 L94.98,318.9 L97.73,317.3 L100.5,315.8 L103.2,314.4 L106,313 L108.7,311.8 L111.5,310.6 L114.2,309.5 L117,308.6 L119.8,307.7 L122.5,306.9 L125.3,306.3 L128,305.7 L130.8,305.2 L133.5,304.9 L136.3,304.6 L139,304.4 L141.8,304.3 L144.5,304.4 L147.3,304.4 L150,304.6 L152.8,304.9 L155.5,305.2 L158.3,305.6 L161,306.1 L163.8,306.6 L166.6,307.2 L169.3,307.9 L172.1,308.6 L174.8,309.3 L177.6,310 L180.3,310.8 L183.1,311.6 L185.8,312.5 L188.6,313.3 L191.3,314.2 L194.1,315 L196.8,315.9 L199.6,316.8 L202.3,317.6 L205.1,318.5 L207.8,319.3 L210.6,320.2 L213.4,321 L216.1,321.8 L218.9,322.5 L221.6,323.3 L224.4,324 L227.1,324.7 L229.9,325.4 L232.6,326 L235.4,326.7 L238.1,327.3 L240.9,327.8 L243.6,328.4 L246.4,328.9 L249.1,329.4 L251.9,329.8 L254.7,330.3 L257.4,330.7 L260.2,331 L262.9,331.4 L265.7,331.7 L268.4,332 L271.2,332.3 L273.9,332.6 L276.7,332.9 L279.4,333.1 L282.2,333.3 L284.9,333.5 L287.7,333.7 L290.4,333.8 L293.2,334 L295.9,334.1 L298.7,334.3 L301.5,334.4 L304.2,334.5 L307,334.6 L309.7,334.7 L312.5,334.8 L315.2,334.8 L318,334.9 L320.7,334.9 L323.5,335 L326.2,335 L329,335.1 L331.7,335.1 L334.5,335.2 L337.2,335.2 L340,335.2 L342.7,335.2 L345.5,335.3 L348.3,335.3 L351,335.3 L353.8,335.3 L356.5,335.3 L359.3,335.3 L362,335.3 L364.8,335.3 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,335.1 L75.71,334.8 L78.46,334.5 L81.21,334.2 L83.97,333.8 L86.72,333.5 L89.47,333.2 L92.22,332.9 L94.98,332.6 L97.73,332.3 L100.5,332 L103.2,331.7 L106,331.4 L108.7,331.1 L111.5,330.9 L114.2,330.6 L117,330.3 L119.8,330 L122.5,329.7 L125.3,329.5 L128,329.2 L130.8,328.9 L133.5,328.7 L136.3,328.4 L139,328.2 L141.8,327.9 L144.5,327.7 L147.3,327.4 L150,327.2 L152.8,327 L155.5,326.8 L158.3,326.6 L161,326.3 L163.8,326.1 L166.6,325.9 L169.3,325.8 L172.1,325.6 L174.8,325.4 L177.6,325.2 L180.3,325.1 L183.1,324.9 L185.8,324.7 L188.6,324.6 L191.3,324.5 L194.1,324.3 L196.8,324.2 L199.6,324.1 L202.3,324 L205.1,323.8 L207.8,323.7 L210.6,323.6 L213.4,323.6 L216.1,323.5 L218.9,323.4 L221.6,323.3 L224.4,323.3 L227.1,323.2 L229.9,323.2 L232.6,323.1 L235.4,323.1 L238.1,323 L240.9,323 L243.6,323 L246.4,323 L249.1,323 L251.9,323 L254.7,323 L257.4,323 L260.2,323 L262.9,323 L265.7,323 L268.4,323.1 L271.2,323.1 L273.9,323.2 L276.7,323.2 L279.4,323.2 L282.2,323.3 L284.9,323.4 L287.7,323.4 L290.4,323.5 L293.2,323.6 L295.9,323.6 L298.7,323.7 L301.5,323.8 L304.2,323.9 L307,324 L309.7,324.1 L312.5,324.2 L315.2,324.3 L318,324.4 L320.7,324.5 L323.5,324.6 L326.2,324.7 L329,324.8 L331.7,325 L334.5,325.1 L337.2,325.2 L340,325.3 L342.7,325.4 L345.5,325.6 L348.3,325.7 L351,325.8 L353.8,326 L356.5,326.1 L359.3,326.2 L362,326.4 L364.8,326.5 L367.5,326.6 L370.3,326.8 L373,326.9 L375.8,327 L378.5,327.2 L381.3,327.3 L384,327.5 L386.8,327.6 L389.5,327.7 L392.3,327.9 L395.1,328 L397.8,328.2 L400.6,328.3 L403.3,328.4 L406.1,328.6 L408.8,328.7 L411.6,328.8 L414.3,329 L417.1,329.1 L419.8,329.2 L422.6,329.4 L425.3,329.5 L428.1,329.6 L430.8,329.8 L433.6,329.9 L436.3,330 L439.1,330.1 L441.9,330.3 L444.6,330.4 L447.4,330.5 L450.1,330.6 L452.9,330.7 L455.6,330.8 L458.4,331 L461.1,331.1 L463.9,331.2 L466.6,331.3 L469.4,331.4 L472.1,331.5 L474.9,331.6 L477.6,331.7 L480.4,331.8 L483.2,331.9 L485.9,332 L488.7,332.1 L491.4,332.2 L494.2,332.3 L496.9,332.4 L499.7,332.5 L502.4,332.5 L505.2,332.6 L507.9,332.7 L510.7,332.8 L513.4,332.9 L516.2,332.9 L518.9,333 L521.7,333.1 L524.4,333.2 L527.2,333.2 L530,333.3 L532.7,333.4 L535.5,333.4 L538.2,333.5 L541,333.6 L543.7,333.6 L546.5,333.7 L549.2,333.7 L552,333.8 L554.7,333.9 L557.5,333.9 L560.2,334 L563,334 L565.7,334.1 L568.5,334.1 L571.2,334.2 L574,334.2 L576.8,334.2 L579.5,334.3 L582.3,334.3 L585,334.4 L587.8,334.4 L590.5,334.4 L593.3,334.5 L596,334.5 L598.8,334.5 L601.5,334.6 L604.3,334.6 L607,334.6 L609.8,334.7 L612.5,334.7 L615.3,334.7 L618,334.8 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="634.8" y="62" width="103.2" height="165"/><rect x="634.8" y="62" width="103.2" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" stroke-width="1"><line x1="649.8" y1="92" x2="664.8" y2="92"/></g>
+<g stroke="rgb(139,0,0)" stroke-width="1"><line x1="649.8" y1="122" x2="664.8" y2="122"/></g>
+<g stroke="rgb(0,100,0)" stroke-width="1"><line x1="649.8" y1="152" x2="664.8" y2="152"/></g>
+<g stroke="rgb(255,140,0)" stroke-width="1"><line x1="649.8" y1="182" x2="664.8" y2="182"/></g>
+<g stroke="rgb(127,255,0)" stroke-width="1"><line x1="649.8" y1="212" x2="664.8" y2="212"/></g>
+</g>
+<g id="legendText">
+<text x="672.3" y="92" font-size="15" font-family="Verdana">&#x3C3;=0.5</text>
+<text x="672.3" y="122" font-size="15" font-family="Verdana">&#x3C3;=1</text>
+<text x="672.3" y="152" font-size="15" font-family="Verdana">&#x3C3;=2</text>
+<text x="672.3" y="182" font-size="15" font-family="Verdana">&#x3C3;=4</text>
+<text x="672.3" y="212" font-size="15" font-family="Verdana">&#x3C3;=10</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Rayleigh Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/remez-2.png b/libs/math/doc/graphs/remez-2.png
index e9bfbd9108..e9bfbd9108 100644
--- a/libs/math/doc/sf_and_dist/graphs/remez-2.png
+++ b/libs/math/doc/graphs/remez-2.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/remez-3.png b/libs/math/doc/graphs/remez-3.png
index 6493527d56..6493527d56 100644
--- a/libs/math/doc/sf_and_dist/graphs/remez-3.png
+++ b/libs/math/doc/graphs/remez-3.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/remez-4.png b/libs/math/doc/graphs/remez-4.png
index 6733bac9b9..6733bac9b9 100644
--- a/libs/math/doc/sf_and_dist/graphs/remez-4.png
+++ b/libs/math/doc/graphs/remez-4.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/remez-5.png b/libs/math/doc/graphs/remez-5.png
index 80727614f8..80727614f8 100644
--- a/libs/math/doc/sf_and_dist/graphs/remez-5.png
+++ b/libs/math/doc/graphs/remez-5.png
Binary files differ
diff --git a/libs/math/doc/graphs/sf_graphs.cpp b/libs/math/doc/graphs/sf_graphs.cpp
new file mode 100644
index 0000000000..9bae8db8e7
--- /dev/null
+++ b/libs/math/doc/graphs/sf_graphs.cpp
@@ -0,0 +1,701 @@
+// (C) Copyright John Maddock 2008.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef _MSC_VER
+# pragma warning (disable : 4127) // conditional expression is constant
+# pragma warning (disable : 4180) // qualifier applied to function type has no meaning; ignored
+# pragma warning (disable : 4503) // decorated name length exceeded, name was truncated
+# pragma warning (disable : 4512) // assignment operator could not be generated
+# pragma warning (disable : 4224) // nonstandard extension used : formal parameter 'function_ptr' was previously defined as a type
+#endif
+
+#include <boost/math/special_functions.hpp>
+#include <boost/math/tools/roots.hpp>
+#include <boost/function.hpp>
+#include <boost/bind.hpp>
+
+#include <list>
+#include <map>
+#include <string>
+#include <boost/svg_plot/svg_2d_plot.hpp>
+#include <boost/svg_plot/show_2d_settings.hpp>
+
+class function_arity1_plotter
+{
+public:
+ function_arity1_plotter() : m_min_x(0), m_max_x(0), m_min_y(0), m_max_y(0), m_has_legend(false) {}
+
+ void add(boost::function<double(double)> f, double a, double b, const std::string& name)
+ {
+ if(name.size())
+ m_has_legend = true;
+ //
+ // Now set our x-axis limits:
+ //
+ if(m_max_x == m_min_x)
+ {
+ m_max_x = b;
+ m_min_x = a;
+ }
+ else
+ {
+ if(a < m_min_x)
+ m_min_x = a;
+ if(b > m_max_x)
+ m_max_x = b;
+ }
+ m_points.push_back(std::pair<std::string, std::map<double,double> >(name, std::map<double,double>()));
+ std::map<double,double>& points = m_points.rbegin()->second;
+ double interval = (b - a) / 200;
+ for(double x = a; x <= b; x += interval)
+ {
+ //
+ // Evaluate the function, set the Y axis limits
+ // if needed and then store the pair of points:
+ //
+ double y = f(x);
+ if((m_min_y == m_max_y) && (m_min_y == 0))
+ m_min_y = m_max_y = y;
+ if(m_min_y > y)
+ m_min_y = y;
+ if(m_max_y < y)
+ m_max_y = y;
+ points[x] = y;
+ }
+ }
+
+ void add(const std::map<double, double>& m, const std::string& name)
+ {
+ if(name.size())
+ m_has_legend = true;
+ m_points.push_back(std::pair<std::string, std::map<double,double> >(name, m));
+ std::map<double, double>::const_iterator i = m.begin();
+
+ while(i != m.end())
+ {
+ if((m_min_x == m_min_y) && (m_min_y == 0))
+ {
+ m_min_x = m_max_x = i->first;
+ }
+ if(i->first < m_min_x)
+ {
+ m_min_x = i->first;
+ }
+ if(i->first > m_max_x)
+ {
+ m_max_x = i->first;
+ }
+
+ if((m_min_y == m_max_y) && (m_min_y == 0))
+ {
+ m_min_y = m_max_y = i->second;
+ }
+ if(i->second < m_min_y)
+ {
+ m_min_y = i->second;
+ }
+ if(i->second > m_max_y)
+ {
+ m_max_y = i->second;
+ }
+
+ ++i;
+ }
+ }
+
+ void plot(const std::string& title, const std::string& file,
+ const std::string& x_lable = std::string(),
+ const std::string& y_lable = std::string())
+ {
+ using namespace boost::svg;
+
+ static const svg_color colors[5] =
+ {
+ darkblue,
+ darkred,
+ darkgreen,
+ darkorange,
+ chartreuse
+ };
+
+ svg_2d_plot plot;
+ plot.image_x_size(600);
+ plot.image_y_size(400);
+ plot.copyright_holder("John Maddock").copyright_date("2008").boost_license_on(true);
+ plot.coord_precision(4); // Could be 3 for smaller plots?
+ plot.title(title).title_font_size(20).title_on(true);
+ plot.legend_on(m_has_legend);
+
+ double x_delta = (m_max_x - m_min_x) / 50;
+ double y_delta = (m_max_y - m_min_y) / 50;
+ plot.x_range(m_min_x, m_max_x + x_delta)
+ .y_range(m_min_y, m_max_y + y_delta);
+ plot.x_label_on(true).x_label(x_lable);
+ plot.y_label_on(true).y_label(y_lable);
+ plot.y_major_grid_on(false).x_major_grid_on(false);
+ plot.x_num_minor_ticks(3);
+ plot.y_num_minor_ticks(3);
+ //
+ // Work out axis tick intervals:
+ //
+ double l = std::floor(std::log10((m_max_x - m_min_x) / 10) + 0.5);
+ double interval = std::pow(10.0, (int)l);
+ if(((m_max_x - m_min_x) / interval) > 10)
+ interval *= 5;
+ plot.x_major_interval(interval);
+ l = std::floor(std::log10((m_max_y - m_min_y) / 10) + 0.5);
+ interval = std::pow(10.0, (int)l);
+ if(((m_max_y - m_min_y) / interval) > 10)
+ interval *= 5;
+ plot.y_major_interval(interval);
+ plot.plot_window_on(true);
+ plot.plot_border_color(lightslategray)
+ .background_border_color(lightslategray)
+ .legend_border_color(lightslategray)
+ .legend_background_color(white);
+
+ int color_index = 0;
+
+ for(std::list<std::pair<std::string, std::map<double,double> > >::const_iterator i = m_points.begin();
+ i != m_points.end(); ++i)
+ {
+ plot.plot(i->second, i->first)
+ .line_on(true)
+ .line_color(colors[color_index])
+ .line_width(1.)
+ .shape(none);
+ if(i->first.size())
+ ++color_index;
+ color_index = color_index % (sizeof(colors)/sizeof(colors[0]));
+ }
+ plot.write(file);
+ }
+
+ void clear()
+ {
+ m_points.clear();
+ m_min_x = m_min_y = m_max_x = m_max_y = 0;
+ m_has_legend = false;
+ }
+
+private:
+ std::list<std::pair<std::string, std::map<double, double> > > m_points;
+ double m_min_x, m_max_x, m_min_y, m_max_y;
+ bool m_has_legend;
+};
+
+template <class F>
+struct location_finder
+{
+ location_finder(F _f, double t, double x0) : f(_f), target(t), x_off(x0){}
+
+ double operator()(double x)
+ {
+ try
+ {
+ return f(x + x_off) - target;
+ }
+ catch(const std::overflow_error&)
+ {
+ return boost::math::tools::max_value<double>();
+ }
+ catch(const std::domain_error&)
+ {
+ if(x + x_off == x_off)
+ return f(x_off + boost::math::tools::epsilon<double>() * x_off);
+ throw;
+ }
+ }
+
+private:
+ F f;
+ double target;
+ double x_off;
+};
+
+template <class F>
+double find_end_point(F f, double x0, double target, bool rising, double x_off = 0)
+{
+ boost::math::tools::eps_tolerance<double> tol(50);
+ boost::uintmax_t max_iter = 1000;
+ return boost::math::tools::bracket_and_solve_root(
+ location_finder<F>(f, target, x_off),
+ x0,
+ double(1.5),
+ rising,
+ tol,
+ max_iter).first;
+}
+
+double sqrt1pm1(double x)
+{
+ return boost::math::sqrt1pm1(x);
+}
+
+double lbeta(double a, double b)
+{
+ return std::log(boost::math::beta(a, b));
+}
+
+int main()
+{
+ function_arity1_plotter plot;
+ double (*f)(double);
+ double (*f2)(double, double);
+ double (*f2u)(unsigned, double);
+ double (*f2i)(int, double);
+ double (*f3)(double, double, double);
+ double (*f4)(double, double, double, double);
+
+ f = boost::math::zeta;
+ plot.add(f, 1 + find_end_point(f, 0.1, 40.0, false, 1.0), 10, "");
+ plot.add(f, -20, 1 + find_end_point(f, -0.1, -40.0, false, 1.0), "");
+ plot.plot("Zeta Function Over [-20,10]", "zeta1.svg", "z", "zeta(z)");
+
+ plot.clear();
+ plot.add(f, -14, 0, "");
+ plot.plot("Zeta Function Over [-14,0]", "zeta2.svg", "z", "zeta(z)");
+
+ f = boost::math::tgamma;
+ double max_val = f(6);
+ plot.clear();
+ plot.add(f, find_end_point(f, 0.1, max_val, false), 6, "");
+ plot.add(f, -1 + find_end_point(f, 0.1, -max_val, true, -1), find_end_point(f, -0.1, -max_val, false), "");
+ plot.add(f, -2 + find_end_point(f, 0.1, max_val, false, -2), -1 + find_end_point(f, -0.1, max_val, true, -1), "");
+ plot.add(f, -3 + find_end_point(f, 0.1, -max_val, true, -3), -2 + find_end_point(f, -0.1, -max_val, false, -2), "");
+ plot.add(f, -4 + find_end_point(f, 0.1, max_val, false, -4), -3 + find_end_point(f, -0.1, max_val, true, -3), "");
+ plot.plot("tgamma", "tgamma.svg", "z", "tgamma(z)");
+
+ f = boost::math::lgamma;
+ max_val = f(10);
+ plot.clear();
+ plot.add(f, find_end_point(f, 0.1, max_val, false), 10, "");
+ plot.add(f, -1 + find_end_point(f, 0.1, max_val, false, -1), find_end_point(f, -0.1, max_val, true), "");
+ plot.add(f, -2 + find_end_point(f, 0.1, max_val, false, -2), -1 + find_end_point(f, -0.1, max_val, true, -1), "");
+ plot.add(f, -3 + find_end_point(f, 0.1, max_val, false, -3), -2 + find_end_point(f, -0.1, max_val, true, -2), "");
+ plot.add(f, -4 + find_end_point(f, 0.1, max_val, false, -4), -3 + find_end_point(f, -0.1, max_val, true, -3), "");
+ plot.add(f, -5 + find_end_point(f, 0.1, max_val, false, -5), -4 + find_end_point(f, -0.1, max_val, true, -4), "");
+ plot.plot("lgamma", "lgamma.svg", "z", "lgamma(z)");
+
+ f = boost::math::digamma;
+ max_val = 10;
+ plot.clear();
+ plot.add(f, find_end_point(f, 0.1, -max_val, true), 10, "");
+ plot.add(f, -1 + find_end_point(f, 0.1, -max_val, true, -1), find_end_point(f, -0.1, max_val, true), "");
+ plot.add(f, -2 + find_end_point(f, 0.1, -max_val, true, -2), -1 + find_end_point(f, -0.1, max_val, true, -1), "");
+ plot.add(f, -3 + find_end_point(f, 0.1, -max_val, true, -3), -2 + find_end_point(f, -0.1, max_val, true, -2), "");
+ plot.add(f, -4 + find_end_point(f, 0.1, -max_val, true, -4), -3 + find_end_point(f, -0.1, max_val, true, -3), "");
+ plot.plot("digamma", "digamma.svg", "z", "digamma(z)");
+
+ f = boost::math::erf;
+ plot.clear();
+ plot.add(f, -3, 3, "");
+ plot.plot("erf", "erf.svg", "z", "erf(z)");
+ f = boost::math::erfc;
+ plot.clear();
+ plot.add(f, -3, 3, "");
+ plot.plot("erfc", "erfc.svg", "z", "erfc(z)");
+
+ f = boost::math::erf_inv;
+ plot.clear();
+ plot.add(f, -1 + find_end_point(f, 0.1, -3, true, -1), 1 + find_end_point(f, -0.1, 3, true, 1), "");
+ plot.plot("erf_inv", "erf_inv.svg", "z", "erf_inv(z)");
+ f = boost::math::erfc_inv;
+ plot.clear();
+ plot.add(f, find_end_point(f, 0.1, 3, false), 2 + find_end_point(f, -0.1, -3, false, 2), "");
+ plot.plot("erfc_inv", "erfc_inv.svg", "z", "erfc_inv(z)");
+
+ f = boost::math::log1p;
+ plot.clear();
+ plot.add(f, -1 + find_end_point(f, 0.1, -10, true, -1), 10, "");
+ plot.plot("log1p", "log1p.svg", "z", "log1p(z)");
+
+ f = boost::math::expm1;
+ plot.clear();
+ plot.add(f, -4, 2, "");
+ plot.plot("expm1", "expm1.svg", "z", "expm1(z)");
+
+ f = boost::math::cbrt;
+ plot.clear();
+ plot.add(f, -10, 10, "");
+ plot.plot("cbrt", "cbrt.svg", "z", "cbrt(z)");
+
+ f = sqrt1pm1;
+ plot.clear();
+ plot.add(f, -1 + find_end_point(f, 0.1, -10, true, -1), 5, "");
+ plot.plot("sqrt1pm1", "sqrt1pm1.svg", "z", "sqrt1pm1(z)");
+
+ f2 = boost::math::powm1;
+ plot.clear();
+ plot.add(boost::bind(f2, 0.0001, _1), find_end_point(boost::bind(f2, 0.0001, _1), -1, 10, false), 5, "a=0.0001");
+ plot.add(boost::bind(f2, 0.001, _1), find_end_point(boost::bind(f2, 0.001, _1), -1, 10, false), 5, "a=0.001");
+ plot.add(boost::bind(f2, 0.01, _1), find_end_point(boost::bind(f2, 0.01, _1), -1, 10, false), 5, "a=0.01");
+ plot.add(boost::bind(f2, 0.1, _1), find_end_point(boost::bind(f2, 0.1, _1), -1, 10, false), 5, "a=0.1");
+ plot.add(boost::bind(f2, 0.75, _1), -5, 5, "a=0.75");
+ plot.add(boost::bind(f2, 1.25, _1), -5, 5, "a=1.25");
+ plot.plot("powm1", "powm1.svg", "z", "powm1(a, z)");
+
+ f = boost::math::sinc_pi;
+ plot.clear();
+ plot.add(f, -10, 10, "");
+ plot.plot("sinc_pi", "sinc_pi.svg", "z", "sinc_pi(z)");
+
+ f = boost::math::sinhc_pi;
+ plot.clear();
+ plot.add(f, -5, 5, "");
+ plot.plot("sinhc_pi", "sinhc_pi.svg", "z", "sinhc_pi(z)");
+
+ f = boost::math::acosh;
+ plot.clear();
+ plot.add(f, 1, 10, "");
+ plot.plot("acosh", "acosh.svg", "z", "acosh(z)");
+
+ f = boost::math::asinh;
+ plot.clear();
+ plot.add(f, -10, 10, "");
+ plot.plot("asinh", "asinh.svg", "z", "asinh(z)");
+
+ f = boost::math::atanh;
+ plot.clear();
+ plot.add(f, -1 + find_end_point(f, 0.1, -5, true, -1), 1 + find_end_point(f, -0.1, 5, true, 1), "");
+ plot.plot("atanh", "atanh.svg", "z", "atanh(z)");
+
+ f2 = boost::math::tgamma_delta_ratio;
+ plot.clear();
+ plot.add(boost::bind(f2, _1, -0.5), 1, 40, "delta = -0.5");
+ plot.add(boost::bind(f2, _1, -0.2), 1, 40, "delta = -0.2");
+ plot.add(boost::bind(f2, _1, -0.1), 1, 40, "delta = -0.1");
+ plot.add(boost::bind(f2, _1, 0.1), 1, 40, "delta = 0.1");
+ plot.add(boost::bind(f2, _1, 0.2), 1, 40, "delta = 0.2");
+ plot.add(boost::bind(f2, _1, 0.5), 1, 40, "delta = 0.5");
+ plot.add(boost::bind(f2, _1, 1.0), 1, 40, "delta = 1.0");
+ plot.plot("tgamma_delta_ratio", "tgamma_delta_ratio.svg", "z", "tgamma_delta_ratio(delta, z)");
+
+ f2 = boost::math::gamma_p;
+ plot.clear();
+ plot.add(boost::bind(f2, 0.5, _1), 0, 20, "a = 0.5");
+ plot.add(boost::bind(f2, 1.0, _1), 0, 20, "a = 1.0");
+ plot.add(boost::bind(f2, 5.0, _1), 0, 20, "a = 5.0");
+ plot.add(boost::bind(f2, 10.0, _1), 0, 20, "a = 10.0");
+ plot.plot("gamma_p", "gamma_p.svg", "z", "gamma_p(a, z)");
+
+ f2 = boost::math::gamma_q;
+ plot.clear();
+ plot.add(boost::bind(f2, 0.5, _1), 0, 20, "a = 0.5");
+ plot.add(boost::bind(f2, 1.0, _1), 0, 20, "a = 1.0");
+ plot.add(boost::bind(f2, 5.0, _1), 0, 20, "a = 5.0");
+ plot.add(boost::bind(f2, 10.0, _1), 0, 20, "a = 10.0");
+ plot.plot("gamma_q", "gamma_q.svg", "z", "gamma_q(a, z)");
+
+ f2 = lbeta;
+ plot.clear();
+ plot.add(boost::bind(f2, 0.5, _1), 0.00001, 5, "a = 0.5");
+ plot.add(boost::bind(f2, 1.0, _1), 0.00001, 5, "a = 1.0");
+ plot.add(boost::bind(f2, 5.0, _1), 0.00001, 5, "a = 5.0");
+ plot.add(boost::bind(f2, 10.0, _1), 0.00001, 5, "a = 10.0");
+ plot.plot("beta", "beta.svg", "z", "log(beta(a, z))");
+
+ f = boost::math::expint;
+ max_val = f(4);
+ plot.clear();
+ plot.add(f, find_end_point(f, 0.1, -max_val, true), 4, "");
+ plot.add(f, -3, find_end_point(f, -0.1, -max_val, false), "");
+ plot.plot("Exponential Integral Ei", "expint_i.svg", "z", "expint(z)");
+
+ f2u = boost::math::expint;
+ max_val = 1;
+ plot.clear();
+ plot.add(boost::bind(f2u, 1, _1), find_end_point(boost::bind(f2u, 1, _1), 0.1, max_val, false), 2, "n = 1 ");
+ plot.add(boost::bind(f2u, 2, _1), find_end_point(boost::bind(f2u, 2, _1), 0.1, max_val, false), 2, "n = 2 ");
+ plot.add(boost::bind(f2u, 3, _1), 0, 2, "n = 3 ");
+ plot.add(boost::bind(f2u, 4, _1), 0, 2, "n = 4 ");
+ plot.plot("Exponential Integral En", "expint2.svg", "z", "expint(n, z)");
+
+ f3 = boost::math::ibeta;
+ plot.clear();
+ plot.add(boost::bind(f3, 9, 1, _1), 0, 1, "a = 9, b = 1");
+ plot.add(boost::bind(f3, 7, 2, _1), 0, 1, "a = 7, b = 2");
+ plot.add(boost::bind(f3, 5, 5, _1), 0, 1, "a = 5, b = 5");
+ plot.add(boost::bind(f3, 2, 7, _1), 0, 1, "a = 2, b = 7");
+ plot.add(boost::bind(f3, 1, 9, _1), 0, 1, "a = 1, b = 9");
+ plot.plot("ibeta", "ibeta.svg", "z", "ibeta(a, b, z)");
+
+ f2i = boost::math::legendre_p;
+ plot.clear();
+ plot.add(boost::bind(f2i, 1, _1), -1, 1, "l = 1");
+ plot.add(boost::bind(f2i, 2, _1), -1, 1, "l = 2");
+ plot.add(boost::bind(f2i, 3, _1), -1, 1, "l = 3");
+ plot.add(boost::bind(f2i, 4, _1), -1, 1, "l = 4");
+ plot.add(boost::bind(f2i, 5, _1), -1, 1, "l = 5");
+ plot.plot("Legendre Polynomials", "legendre_p.svg", "x", "legendre_p(l, x)");
+
+ f2u = boost::math::legendre_q;
+ plot.clear();
+ plot.add(boost::bind(f2u, 1, _1), -0.95, 0.95, "l = 1");
+ plot.add(boost::bind(f2u, 2, _1), -0.95, 0.95, "l = 2");
+ plot.add(boost::bind(f2u, 3, _1), -0.95, 0.95, "l = 3");
+ plot.add(boost::bind(f2u, 4, _1), -0.95, 0.95, "l = 4");
+ plot.add(boost::bind(f2u, 5, _1), -0.95, 0.95, "l = 5");
+ plot.plot("Legendre Polynomials of the Second Kind", "legendre_q.svg", "x", "legendre_q(l, x)");
+
+ f2u = boost::math::laguerre;
+ plot.clear();
+ plot.add(boost::bind(f2u, 0, _1), -5, 10, "n = 0");
+ plot.add(boost::bind(f2u, 1, _1), -5, 10, "n = 1");
+ plot.add(boost::bind(f2u, 2, _1),
+ find_end_point(boost::bind(f2u, 2, _1), -2, 20, false),
+ find_end_point(boost::bind(f2u, 2, _1), 4, 20, true),
+ "n = 2");
+ plot.add(boost::bind(f2u, 3, _1),
+ find_end_point(boost::bind(f2u, 3, _1), -2, 20, false),
+ 8 + find_end_point(boost::bind(f2u, 3, _1), 1, 20, false, 8),
+ "n = 3");
+ plot.add(boost::bind(f2u, 4, _1),
+ find_end_point(boost::bind(f2u, 4, _1), -2, 20, false),
+ 8 + find_end_point(boost::bind(f2u, 4, _1), 1, 20, true, 8),
+ "n = 4");
+ plot.add(boost::bind(f2u, 5, _1),
+ find_end_point(boost::bind(f2u, 5, _1), -2, 20, false),
+ 8 + find_end_point(boost::bind(f2u, 5, _1), 1, 20, true, 8),
+ "n = 5");
+ plot.plot("Laguerre Polynomials", "laguerre.svg", "x", "laguerre(n, x)");
+
+ f2u = boost::math::hermite;
+ plot.clear();
+ plot.add(boost::bind(f2u, 0, _1), -1.8, 1.8, "n = 0");
+ plot.add(boost::bind(f2u, 1, _1), -1.8, 1.8, "n = 1");
+ plot.add(boost::bind(f2u, 2, _1), -1.8, 1.8, "n = 2");
+ plot.add(boost::bind(f2u, 3, _1), -1.8, 1.8, "n = 3");
+ plot.add(boost::bind(f2u, 4, _1), -1.8, 1.8, "n = 4");
+ plot.plot("Hermite Polynomials", "hermite.svg", "x", "hermite(n, x)");
+
+ f2 = boost::math::cyl_bessel_j;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -20, 20, "v = 0");
+ plot.add(boost::bind(f2, 1, _1), -20, 20, "v = 1");
+ plot.add(boost::bind(f2, 2, _1), -20, 20, "v = 2");
+ plot.add(boost::bind(f2, 3, _1), -20, 20, "v = 3");
+ plot.add(boost::bind(f2, 4, _1), -20, 20, "v = 4");
+ plot.plot("Bessel J", "cyl_bessel_j.svg", "x", "cyl_bessel_j(v, x)");
+
+ f2 = boost::math::cyl_neumann;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), find_end_point(boost::bind(f2, 0, _1), 0.1, -5, true), 20, "v = 0");
+ plot.add(boost::bind(f2, 1, _1), find_end_point(boost::bind(f2, 1, _1), 0.1, -5, true), 20, "v = 1");
+ plot.add(boost::bind(f2, 2, _1), find_end_point(boost::bind(f2, 2, _1), 0.1, -5, true), 20, "v = 2");
+ plot.add(boost::bind(f2, 3, _1), find_end_point(boost::bind(f2, 3, _1), 0.1, -5, true), 20, "v = 3");
+ plot.add(boost::bind(f2, 4, _1), find_end_point(boost::bind(f2, 4, _1), 0.1, -5, true), 20, "v = 4");
+ plot.plot("Bessel Y", "cyl_neumann.svg", "x", "cyl_neumann(v, x)");
+
+ f2 = boost::math::cyl_bessel_i;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), find_end_point(boost::bind(f2, 0, _1), -0.1, 20, false), find_end_point(boost::bind(f2, 0, _1), 0.1, 20, true), "v = 0");
+ plot.add(boost::bind(f2, 2, _1), find_end_point(boost::bind(f2, 2, _1), -0.1, 20, false), find_end_point(boost::bind(f2, 2, _1), 0.1, 20, true), "v = 2");
+ plot.add(boost::bind(f2, 5, _1), find_end_point(boost::bind(f2, 5, _1), -0.1, -20, true), find_end_point(boost::bind(f2, 5, _1), 0.1, 20, true), "v = 5");
+ plot.add(boost::bind(f2, 7, _1), find_end_point(boost::bind(f2, 7, _1), -0.1, -20, true), find_end_point(boost::bind(f2, 7, _1), 0.1, 20, true), "v = 7");
+ plot.add(boost::bind(f2, 10, _1), find_end_point(boost::bind(f2, 10, _1), -0.1, 20, false), find_end_point(boost::bind(f2, 10, _1), 0.1, 20, true), "v = 10");
+ plot.plot("Bessel I", "cyl_bessel_i.svg", "x", "cyl_bessel_i(v, x)");
+
+ f2 = boost::math::cyl_bessel_k;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), find_end_point(boost::bind(f2, 0, _1), 0.1, 10, false), 10, "v = 0");
+ plot.add(boost::bind(f2, 2, _1), find_end_point(boost::bind(f2, 2, _1), 0.1, 10, false), 10, "v = 2");
+ plot.add(boost::bind(f2, 5, _1), find_end_point(boost::bind(f2, 5, _1), 0.1, 10, false), 10, "v = 5");
+ plot.add(boost::bind(f2, 7, _1), find_end_point(boost::bind(f2, 7, _1), 0.1, 10, false), 10, "v = 7");
+ plot.add(boost::bind(f2, 10, _1), find_end_point(boost::bind(f2, 10, _1), 0.1, 10, false), 10, "v = 10");
+ plot.plot("Bessel K", "cyl_bessel_k.svg", "x", "cyl_bessel_k(v, x)");
+
+ f2u = boost::math::sph_bessel;
+ plot.clear();
+ plot.add(boost::bind(f2u, 0, _1), 0, 20, "v = 0");
+ plot.add(boost::bind(f2u, 2, _1), 0, 20, "v = 2");
+ plot.add(boost::bind(f2u, 5, _1), 0, 20, "v = 5");
+ plot.add(boost::bind(f2u, 7, _1), 0, 20, "v = 7");
+ plot.add(boost::bind(f2u, 10, _1), 0, 20, "v = 10");
+ plot.plot("Bessel j", "sph_bessel.svg", "x", "sph_bessel(v, x)");
+
+ f2u = boost::math::sph_neumann;
+ plot.clear();
+ plot.add(boost::bind(f2u, 0, _1), find_end_point(boost::bind(f2u, 0, _1), 0.1, -5, true), 20, "v = 0");
+ plot.add(boost::bind(f2u, 2, _1), find_end_point(boost::bind(f2u, 2, _1), 0.1, -5, true), 20, "v = 2");
+ plot.add(boost::bind(f2u, 5, _1), find_end_point(boost::bind(f2u, 5, _1), 0.1, -5, true), 20, "v = 5");
+ plot.add(boost::bind(f2u, 7, _1), find_end_point(boost::bind(f2u, 7, _1), 0.1, -5, true), 20, "v = 7");
+ plot.add(boost::bind(f2u, 10, _1), find_end_point(boost::bind(f2u, 10, _1), 0.1, -5, true), 20, "v = 10");
+ plot.plot("Bessel y", "sph_neumann.svg", "x", "sph_neumann(v, x)");
+
+ f4 = boost::math::ellint_rj;
+ plot.clear();
+ plot.add(boost::bind(f4, _1, _1, _1, _1), find_end_point(boost::bind(f4, _1, _1, _1, _1), 0.1, 10, false), 4, "RJ");
+ f3 = boost::math::ellint_rf;
+ plot.add(boost::bind(f3, _1, _1, _1), find_end_point(boost::bind(f3, _1, _1, _1), 0.1, 10, false), 4, "RF");
+ plot.plot("Elliptic Integrals", "ellint_carlson.svg", "x", "");
+
+ f2 = boost::math::ellint_1;
+ plot.clear();
+ plot.add(boost::bind(f2, _1, 0.5), -0.9, 0.9, "&#x3C6;=0.5");
+ plot.add(boost::bind(f2, _1, 0.75), -0.9, 0.9, "&#x3C6;=0.75");
+ plot.add(boost::bind(f2, _1, 1.25), -0.9, 0.9, "&#x3C6;=1.25");
+ plot.add(boost::bind(f2, _1, boost::math::constants::pi<double>() / 2), -0.9, 0.9, "&#x3C6;=&#x3C0;/2");
+ plot.plot("Elliptic Of the First Kind", "ellint_1.svg", "k", "ellint_1(k, phi)");
+
+ f2 = boost::math::ellint_2;
+ plot.clear();
+ plot.add(boost::bind(f2, _1, 0.5), -1, 1, "&#x3C6;=0.5");
+ plot.add(boost::bind(f2, _1, 0.75), -1, 1, "&#x3C6;=0.75");
+ plot.add(boost::bind(f2, _1, 1.25), -1, 1, "&#x3C6;=1.25");
+ plot.add(boost::bind(f2, _1, boost::math::constants::pi<double>() / 2), -1, 1, "&#x3C6;=&#x3C0;/2");
+ plot.plot("Elliptic Of the Second Kind", "ellint_2.svg", "k", "ellint_2(k, phi)");
+
+ f3 = boost::math::ellint_3;
+ plot.clear();
+ plot.add(boost::bind(f3, _1, 0, 1.25), -1, 1, "n=0 &#x3C6;=1.25");
+ plot.add(boost::bind(f3, _1, 0.5, 1.25), -1, 1, "n=0.5 &#x3C6;=1.25");
+ plot.add(boost::bind(f3, _1, 0.25, boost::math::constants::pi<double>() / 2),
+ find_end_point(
+ boost::bind(f3, _1, 0.25, boost::math::constants::pi<double>() / 2),
+ 0.5, 4, false, -1) - 1,
+ find_end_point(
+ boost::bind(f3, _1, 0.25, boost::math::constants::pi<double>() / 2),
+ -0.5, 4, true, 1) + 1, "n=0.25 &#x3C6;=&#x3C0;/2");
+ plot.add(boost::bind(f3, _1, 0.75, boost::math::constants::pi<double>() / 2),
+ find_end_point(
+ boost::bind(f3, _1, 0.75, boost::math::constants::pi<double>() / 2),
+ 0.5, 4, false, -1) - 1,
+ find_end_point(
+ boost::bind(f3, _1, 0.75, boost::math::constants::pi<double>() / 2),
+ -0.5, 4, true, 1) + 1, "n=0.75 &#x3C6;=&#x3C0;/2");
+ plot.plot("Elliptic Of the Third Kind", "ellint_3.svg", "k", "ellint_3(k, n, phi)");
+
+ f2 = boost::math::jacobi_sn;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -10, 10, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -10, 10, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -10, 10, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -10, 10, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -10, 10, "k=1");
+ plot.plot("Jacobi Elliptic sn", "jacobi_sn.svg", "k", "jacobi_sn(k, u)");
+
+ f2 = boost::math::jacobi_cn;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -10, 10, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -10, 10, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -10, 10, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -10, 10, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -10, 10, "k=1");
+ plot.plot("Jacobi Elliptic cn", "jacobi_cn.svg", "k", "jacobi_cn(k, u)");
+
+ f2 = boost::math::jacobi_dn;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -10, 10, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -10, 10, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -10, 10, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -10, 10, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -10, 10, "k=1");
+ plot.plot("Jacobi Elliptic dn", "jacobi_dn.svg", "k", "jacobi_dn(k, u)");
+
+ f2 = boost::math::jacobi_cd;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -10, 10, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -10, 10, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -10, 10, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -10, 10, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -10, 10, "k=1");
+ plot.plot("Jacobi Elliptic cd", "jacobi_cd.svg", "k", "jacobi_cd(k, u)");
+
+ f2 = boost::math::jacobi_cs;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), 0.1, 3, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), 0.1, 3, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), 0.1, 3, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), 0.1, 3, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), 0.1, 3, "k=1");
+ plot.plot("Jacobi Elliptic cs", "jacobi_cs.svg", "k", "jacobi_cs(k, u)");
+
+ f2 = boost::math::jacobi_dc;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -10, 10, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -10, 10, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -10, 10, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -10, 10, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -10, 10, "k=1");
+ plot.plot("Jacobi Elliptic dc", "jacobi_dc.svg", "k", "jacobi_dc(k, u)");
+
+ f2 = boost::math::jacobi_ds;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), 0.1, 3, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), 0.1, 3, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), 0.1, 3, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), 0.1, 3, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), 0.1, 3, "k=1");
+ plot.plot("Jacobi Elliptic ds", "jacobi_ds.svg", "k", "jacobi_ds(k, u)");
+
+ f2 = boost::math::jacobi_nc;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -5, 5, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -5, 5, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -5, 5, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -5, 5, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -5, 5, "k=1");
+ plot.plot("Jacobi Elliptic nc", "jacobi_nc.svg", "k", "jacobi_nc(k, u)");
+
+ f2 = boost::math::jacobi_ns;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), 0.1, 4, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), 0.1, 4, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), 0.1, 4, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), 0.1, 4, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), 0.1, 4, "k=1");
+ plot.plot("Jacobi Elliptic ns", "jacobi_ns.svg", "k", "jacobi_ns(k, u)");
+
+ f2 = boost::math::jacobi_nd;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -2, 2, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -2, 2, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -2, 2, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -2, 2, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -2, 2, "k=1");
+ plot.plot("Jacobi Elliptic nd", "jacobi_nd.svg", "k", "jacobi_nd(k, u)");
+
+ f2 = boost::math::jacobi_sc;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -5, 5, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -5, 5, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -5, 5, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -5, 5, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -5, 5, "k=1");
+ plot.plot("Jacobi Elliptic sc", "jacobi_sc.svg", "k", "jacobi_sc(k, u)");
+
+ f2 = boost::math::jacobi_sd;
+ plot.clear();
+ plot.add(boost::bind(f2, 0, _1), -2.5, 2.5, "k=0");
+ plot.add(boost::bind(f2, 0.5, _1), -2.5, 2.5, "k=0.5");
+ plot.add(boost::bind(f2, 0.75, _1), -2.5, 2.5, "k=0.75");
+ plot.add(boost::bind(f2, 0.95, _1), -2.5, 2.5, "k=0.95");
+ plot.add(boost::bind(f2, 1, _1), -2.5, 2.5, "k=1");
+ plot.plot("Jacobi Elliptic sd", "jacobi_sd.svg", "k", "jacobi_sd(k, u)");
+
+ f = boost::math::airy_ai;
+ plot.clear();
+ plot.add(f, -20, 20, "");
+ plot.plot("Ai", "airy_ai.svg", "z", "airy_ai(z)");
+
+ f = boost::math::airy_bi;
+ plot.clear();
+ plot.add(f, -20, 3, "");
+ plot.plot("Bi", "airy_bi.svg", "z", "airy_bi(z)");
+
+ f = boost::math::airy_ai_prime;
+ plot.clear();
+ plot.add(f, -20, 20, "");
+ plot.plot("Ai'", "airy_aip.svg", "z", "airy_ai_prime(z)");
+
+ f = boost::math::airy_bi_prime;
+ plot.clear();
+ plot.add(f, -20, 3, "");
+ plot.plot("Bi'", "airy_bip.svg", "z", "airy_bi_prime(z)");
+
+ return 0;
+}
+
diff --git a/libs/math/doc/sf_and_dist/graphs/sinc_pi.png b/libs/math/doc/graphs/sinc_pi.png
index 65007e46f1..65007e46f1 100644
--- a/libs/math/doc/sf_and_dist/graphs/sinc_pi.png
+++ b/libs/math/doc/graphs/sinc_pi.png
Binary files differ
diff --git a/libs/math/doc/graphs/sinc_pi.svg b/libs/math/doc/graphs/sinc_pi.svg
new file mode 100644
index 0000000000..f70f7f95b1
--- /dev/null
+++ b/libs/math/doc/graphs/sinc_pi.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="324.3" y1="58" x2="324.3" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="291.5" x2="574" y2="291.5"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,263 L84.2,263 M82.2,234.5 L84.2,234.5 M82.2,206 L84.2,206 M82.2,149 L84.2,149 M82.2,120.5 L84.2,120.5 M82.2,92.04 L84.2,92.04 M82.2,291.5 L84.2,291.5 M82.2,320 L84.2,320 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M354.3,341 L354.3,343 M384.3,341 L384.3,343 M414.3,341 L414.3,343 M474.4,341 L474.4,343 M504.4,341 L504.4,343 M534.4,341 L534.4,343 M294.3,341 L294.3,343 M264.3,341 L264.3,343 M234.3,341 L234.3,343 M174.2,341 L174.2,343 M144.2,341 L144.2,343 M114.2,341 L114.2,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,291.5 L84.2,291.5 M79.2,177.5 L84.2,177.5 M79.2,63.55 L84.2,63.55 M79.2,291.5 L84.2,291.5 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M324.3,341 L324.3,346 M444.3,341 L444.3,346 M564.4,341 L564.4,346 M324.3,341 L324.3,346 M204.2,341 L204.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="444.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="204.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="179.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sinc_pi(z)</text></g>
+<g id="xLabel">
+<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,303.9 L86.6,302 L89,300 L91.4,297.9 L93.8,295.6 L96.2,293.3 L98.61,290.9 L101,288.4 L103.4,286 L105.8,283.5 L108.2,281 L110.6,278.7 L113,276.3 L115.4,274.1 L117.8,272 L120.2,270.1 L122.6,268.3 L125,266.7 L127.4,265.3 L129.8,264.2 L132.2,263.3 L134.6,262.7 L137,262.3 L139.4,262.2 L141.8,262.5 L144.2,263 L146.6,263.8 L149,264.9 L151.4,266.4 L153.8,268.1 L156.2,270.1 L158.6,272.4 L161,274.9 L163.4,277.7 L165.8,280.7 L168.2,283.9 L170.6,287.3 L173,290.9 L175.4,294.5 L177.8,298.3 L180.2,302.1 L182.6,305.9 L185,309.7 L187.4,313.5 L189.8,317.2 L192.2,320.7 L194.6,324.1 L197,327.3 L199.4,330.2 L201.8,332.9 L204.2,335.2 L206.6,337.2 L209.1,338.8 L211.5,340 L213.9,340.7 L216.3,341 L218.7,340.8 L221.1,340.1 L223.5,338.8 L225.9,337 L228.3,334.6 L230.7,331.7 L233.1,328.2 L235.5,324.1 L237.9,319.5 L240.3,314.3 L242.7,308.6 L245.1,302.4 L247.5,295.6 L249.9,288.4 L252.3,280.8 L254.7,272.7 L257.1,264.2 L259.5,255.4 L261.9,246.3 L264.3,236.9 L266.7,227.3 L269.1,217.6 L271.5,207.7 L273.9,197.8 L276.3,187.9 L278.7,178 L281.1,168.2 L283.5,158.5 L285.9,149.1 L288.3,139.9 L290.7,131 L293.1,122.5 L295.5,114.4 L297.9,106.8 L300.3,99.68 L302.7,93.1 L305.1,87.1 L307.5,81.71 L309.9,76.98 L312.3,72.93 L314.7,69.58 L317.1,66.95 L319.5,65.07 L321.9,63.93 L324.3,63.55 L326.7,63.93 L329.1,65.07 L331.5,66.95 L333.9,69.58 L336.3,72.93 L338.7,76.98 L341.1,81.71 L343.5,87.1 L345.9,93.1 L348.3,99.68 L350.7,106.8 L353.1,114.4 L355.5,122.5 L357.9,131 L360.3,139.9 L362.7,149.1 L365.1,158.5 L367.5,168.2 L369.9,178 L372.3,187.9 L374.7,197.8 L377.1,207.7 L379.5,217.6 L381.9,227.3 L384.3,236.9 L386.7,246.3 L389.1,255.4 L391.5,264.2 L393.9,272.7 L396.3,280.8 L398.7,288.4 L401.1,295.6 L403.5,302.4 L405.9,308.6 L408.3,314.3 L410.7,319.5 L413.1,324.1 L415.5,328.2 L417.9,331.7 L420.3,334.6 L422.7,337 L425.1,338.8 L427.5,340.1 L429.9,340.8 L432.3,341 L434.7,340.7 L437.1,340 L439.5,338.8 L441.9,337.2 L444.3,335.2 L446.7,332.9 L449.1,330.2 L451.5,327.3 L454,324.1 L456.4,320.7 L458.8,317.2 L461.2,313.5 L463.6,309.7 L466,305.9 L468.4,302.1 L470.8,298.3 L473.2,294.5 L475.6,290.9 L478,287.3 L480.4,283.9 L482.8,280.7 L485.2,277.7 L487.6,274.9 L490,272.4 L492.4,270.1 L494.8,268.1 L497.2,266.4 L499.6,264.9 L502,263.8 L504.4,263 L506.8,262.5 L509.2,262.2 L511.6,262.3 L514,262.7 L516.4,263.3 L518.8,264.2 L521.2,265.3 L523.6,266.7 L526,268.3 L528.4,270.1 L530.8,272 L533.2,274.1 L535.6,276.3 L538,278.7 L540.4,281 L542.8,283.5 L545.2,286 L547.6,288.4 L550,290.9 L552.4,293.3 L554.8,295.6 L557.2,297.9 L559.6,300 L562,302 L564.4,303.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">sinc_pi</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sinc_pi_and_sinhc_pi_on_r.png b/libs/math/doc/graphs/sinc_pi_and_sinhc_pi_on_r.png
index fd6fae54d7..fd6fae54d7 100644
--- a/libs/math/doc/sf_and_dist/graphs/sinc_pi_and_sinhc_pi_on_r.png
+++ b/libs/math/doc/graphs/sinc_pi_and_sinhc_pi_on_r.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/sinhc_pi.png b/libs/math/doc/graphs/sinhc_pi.png
index 25a580c24e..25a580c24e 100644
--- a/libs/math/doc/sf_and_dist/graphs/sinhc_pi.png
+++ b/libs/math/doc/graphs/sinhc_pi.png
Binary files differ
diff --git a/libs/math/doc/graphs/sinhc_pi.svg b/libs/math/doc/graphs/sinhc_pi.svg
new file mode 100644
index 0000000000..26fdcf6acb
--- /dev/null
+++ b/libs/math/doc/graphs/sinhc_pi.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="341"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,336 L75.8,336 M73.8,310.9 L75.8,310.9 M73.8,285.9 L75.8,285.9 M73.8,235.8 L75.8,235.8 M73.8,210.7 L75.8,210.7 M73.8,185.6 L75.8,185.6 M73.8,135.5 L75.8,135.5 M73.8,110.5 L75.8,110.5 M73.8,85.41 L75.8,85.41 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M332.2,341 L332.2,343 M344.4,341 L344.4,343 M356.6,341 L356.6,343 M381.1,341 L381.1,343 M393.3,341 L393.3,343 M405.5,341 L405.5,343 M429.9,341 L429.9,343 M442.1,341 L442.1,343 M454.3,341 L454.3,343 M478.8,341 L478.8,343 M491,341 L491,343 M503.2,341 L503.2,343 M527.6,341 L527.6,343 M539.8,341 L539.8,343 M552,341 L552,343 M307.8,341 L307.8,343 M295.6,341 L295.6,343 M283.4,341 L283.4,343 M259,341 L259,343 M246.8,341 L246.8,343 M234.5,341 L234.5,343 M210.1,341 L210.1,343 M197.9,341 L197.9,343 M185.7,341 L185.7,343 M161.3,341 L161.3,343 M149.1,341 L149.1,343 M136.9,341 L136.9,343 M112.4,341 L112.4,343 M100.2,341 L100.2,343 M88.01,341 L88.01,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,260.8 L75.8,260.8 M70.8,160.6 L75.8,160.6 M70.8,60.35 L75.8,60.35 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M368.9,341 L368.9,346 M417.7,341 L417.7,346 M466.5,341 L466.5,346 M515.4,341 L515.4,346 M564.2,341 L564.2,346 M320,341 L320,346 M271.2,341 L271.2,346 M222.3,341 L222.3,346 M173.5,341 L173.5,346 M124.6,341 L124.6,346 M75.8,341 L75.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="368.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="417.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="466.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="515.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="271.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="222.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="173.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
+<text x="124.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text>
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="263.2" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="64.8" y="163" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="62.75" text-anchor="end" font-size="12" font-family="Verdana">15</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sinhc_pi(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L78.24,75.2 L80.68,86.37 L83.13,97.07 L85.57,107.3 L88.01,117.2 L90.45,126.6 L92.9,135.6 L95.34,144.3 L97.78,152.6 L100.2,160.6 L102.7,168.2 L105.1,175.5 L107.5,182.6 L110,189.3 L112.4,195.7 L114.9,201.9 L117.3,207.9 L119.8,213.6 L122.2,219 L124.6,224.3 L127.1,229.3 L129.5,234.1 L132,238.8 L134.4,243.2 L136.9,247.5 L139.3,251.5 L141.7,255.5 L144.2,259.2 L146.6,262.8 L149.1,266.3 L151.5,269.6 L153.9,272.8 L156.4,275.9 L158.8,278.8 L161.3,281.6 L163.7,284.3 L166.2,286.9 L168.6,289.4 L171,291.8 L173.5,294.1 L175.9,296.3 L178.4,298.4 L180.8,300.5 L183.3,302.4 L185.7,304.3 L188.1,306.1 L190.6,307.8 L193,309.4 L195.5,311 L197.9,312.5 L200.3,314 L202.8,315.4 L205.2,316.7 L207.7,318 L210.1,319.3 L212.6,320.4 L215,321.6 L217.4,322.7 L219.9,323.7 L222.3,324.7 L224.8,325.6 L227.2,326.6 L229.7,327.4 L232.1,328.3 L234.5,329.1 L237,329.8 L239.4,330.6 L241.9,331.3 L244.3,332 L246.8,332.6 L249.2,333.2 L251.6,333.8 L254.1,334.3 L256.5,334.9 L259,335.4 L261.4,335.8 L263.8,336.3 L266.3,336.7 L268.7,337.1 L271.2,337.5 L273.6,337.8 L276.1,338.2 L278.5,338.5 L280.9,338.8 L283.4,339.1 L285.8,339.3 L288.3,339.6 L290.7,339.8 L293.2,340 L295.6,340.2 L298,340.3 L300.5,340.5 L302.9,340.6 L305.4,340.7 L307.8,340.8 L310.2,340.9 L312.7,340.9 L315.1,341 L317.6,341 L320,341 L322.5,341 L324.9,341 L327.3,340.9 L329.8,340.9 L332.2,340.8 L334.7,340.7 L337.1,340.6 L339.6,340.5 L342,340.3 L344.4,340.2 L346.9,340 L349.3,339.8 L351.8,339.6 L354.2,339.3 L356.6,339.1 L359.1,338.8 L361.5,338.5 L364,338.2 L366.4,337.8 L368.9,337.5 L371.3,337.1 L373.7,336.7 L376.2,336.3 L378.6,335.8 L381.1,335.4 L383.5,334.9 L386,334.3 L388.4,333.8 L390.8,333.2 L393.3,332.6 L395.7,332 L398.2,331.3 L400.6,330.6 L403,329.8 L405.5,329.1 L407.9,328.3 L410.4,327.4 L412.8,326.6 L415.3,325.6 L417.7,324.7 L420.1,323.7 L422.6,322.7 L425,321.6 L427.5,320.4 L429.9,319.3 L432.4,318 L434.8,316.7 L437.2,315.4 L439.7,314 L442.1,312.5 L444.6,311 L447,309.4 L449.4,307.8 L451.9,306.1 L454.3,304.3 L456.8,302.4 L459.2,300.5 L461.7,298.4 L464.1,296.3 L466.5,294.1 L469,291.8 L471.4,289.4 L473.9,286.9 L476.3,284.3 L478.8,281.6 L481.2,278.8 L483.6,275.9 L486.1,272.8 L488.5,269.6 L491,266.3 L493.4,262.8 L495.9,259.2 L498.3,255.5 L500.7,251.5 L503.2,247.5 L505.6,243.2 L508.1,238.8 L510.5,234.1 L512.9,229.3 L515.4,224.3 L517.8,219 L520.3,213.6 L522.7,207.9 L525.2,201.9 L527.6,195.7 L530,189.3 L532.5,182.6 L534.9,175.5 L537.4,168.2 L539.8,160.6 L542.3,152.6 L544.7,144.3 L547.1,135.6 L549.6,126.6 L552,117.2 L554.5,107.3 L556.9,97.07 L559.3,86.37 L561.8,75.2 L564.2,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">sinhc_pi</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/skew_normal_cdf.png b/libs/math/doc/graphs/skew_normal_cdf.png
index 73d28d8cbf..73d28d8cbf 100644
--- a/libs/math/doc/sf_and_dist/graphs/skew_normal_cdf.png
+++ b/libs/math/doc/graphs/skew_normal_cdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/skew_normal_cdf.svg b/libs/math/doc/graphs/skew_normal_cdf.svg
index ceb9bc8699..ceb9bc8699 100644
--- a/libs/math/doc/sf_and_dist/graphs/skew_normal_cdf.svg
+++ b/libs/math/doc/graphs/skew_normal_cdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/skew_normal_pdf.png b/libs/math/doc/graphs/skew_normal_pdf.png
index 09256c776f..09256c776f 100644
--- a/libs/math/doc/sf_and_dist/graphs/skew_normal_pdf.png
+++ b/libs/math/doc/graphs/skew_normal_pdf.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/skew_normal_pdf.svg b/libs/math/doc/graphs/skew_normal_pdf.svg
index 71f0056a2b..71f0056a2b 100644
--- a/libs/math/doc/sf_and_dist/graphs/skew_normal_pdf.svg
+++ b/libs/math/doc/graphs/skew_normal_pdf.svg
diff --git a/libs/math/doc/sf_and_dist/graphs/sph_bessel.png b/libs/math/doc/graphs/sph_bessel.png
index c4749540f2..c4749540f2 100644
--- a/libs/math/doc/sf_and_dist/graphs/sph_bessel.png
+++ b/libs/math/doc/graphs/sph_bessel.png
Binary files differ
diff --git a/libs/math/doc/graphs/sph_bessel.svg b/libs/math/doc/graphs/sph_bessel.svg
new file mode 100644
index 0000000000..f57eac38b1
--- /dev/null
+++ b/libs/math/doc/graphs/sph_bessel.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="291.5" x2="453" y2="291.5"/><line x1="79.2" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,263 L84.2,263 M82.2,234.5 L84.2,234.5 M82.2,206 L84.2,206 M82.2,149 L84.2,149 M82.2,120.5 L84.2,120.5 M82.2,92.04 L84.2,92.04 M82.2,291.5 L84.2,291.5 M82.2,320 L84.2,320 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.8,341 L106.8,343 M129.4,341 L129.4,343 M152,341 L152,343 M197.2,341 L197.2,343 M219.8,341 L219.8,343 M242.4,341 L242.4,343 M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,291.5 L84.2,291.5 M79.2,177.5 L84.2,177.5 M79.2,63.55 L84.2,63.55 M79.2,291.5 L84.2,291.5 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M174.6,341 L174.6,346 M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="179.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sph_bessel(v, x)</text></g>
+<g id="xLabel">
+<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,63.55 L86.01,63.93 L87.82,65.07 L89.62,66.95 L91.43,69.58 L93.24,72.93 L95.05,76.98 L96.85,81.71 L98.66,87.1 L100.5,93.1 L102.3,99.68 L104.1,106.8 L105.9,114.4 L107.7,122.5 L109.5,131 L111.3,139.9 L113.1,149.1 L114.9,158.5 L116.7,168.2 L118.5,178 L120.4,187.9 L122.2,197.8 L124,207.7 L125.8,217.6 L127.6,227.3 L129.4,236.9 L131.2,246.3 L133,255.4 L134.8,264.2 L136.6,272.7 L138.4,280.8 L140.2,288.4 L142,295.6 L143.9,302.4 L145.7,308.6 L147.5,314.3 L149.3,319.5 L151.1,324.1 L152.9,328.2 L154.7,331.7 L156.5,334.6 L158.3,337 L160.1,338.8 L161.9,340.1 L163.7,340.8 L165.5,341 L167.4,340.7 L169.2,340 L171,338.8 L172.8,337.2 L174.6,335.2 L176.4,332.9 L178.2,330.2 L180,327.3 L181.8,324.1 L183.6,320.7 L185.4,317.2 L187.2,313.5 L189,309.7 L190.9,305.9 L192.7,302.1 L194.5,298.3 L196.3,294.5 L198.1,290.9 L199.9,287.3 L201.7,283.9 L203.5,280.7 L205.3,277.7 L207.1,274.9 L208.9,272.4 L210.7,270.1 L212.5,268.1 L214.4,266.4 L216.2,264.9 L218,263.8 L219.8,263 L221.6,262.5 L223.4,262.2 L225.2,262.3 L227,262.7 L228.8,263.3 L230.6,264.2 L232.4,265.3 L234.2,266.7 L236,268.3 L237.8,270.1 L239.7,272 L241.5,274.1 L243.3,276.3 L245.1,278.7 L246.9,281 L248.7,283.5 L250.5,286 L252.3,288.4 L254.1,290.9 L255.9,293.3 L257.7,295.6 L259.5,297.9 L261.3,300 L263.2,302 L265,303.9 L266.8,305.6 L268.6,307.1 L270.4,308.5 L272.2,309.6 L274,310.6 L275.8,311.3 L277.6,311.9 L279.4,312.2 L281.2,312.3 L283,312.2 L284.8,311.9 L286.7,311.4 L288.5,310.7 L290.3,309.9 L292.1,308.8 L293.9,307.7 L295.7,306.3 L297.5,304.9 L299.3,303.3 L301.1,301.7 L302.9,300 L304.7,298.2 L306.5,296.4 L308.3,294.5 L310.2,292.7 L312,290.9 L313.8,289.1 L315.6,287.4 L317.4,285.7 L319.2,284.1 L321,282.6 L322.8,281.3 L324.6,280 L326.4,278.9 L328.2,277.9 L330,277.1 L331.8,276.4 L333.7,275.9 L335.5,275.5 L337.3,275.4 L339.1,275.3 L340.9,275.5 L342.7,275.8 L344.5,276.2 L346.3,276.8 L348.1,277.5 L349.9,278.4 L351.7,279.3 L353.5,280.4 L355.3,281.6 L357.2,282.9 L359,284.2 L360.8,285.6 L362.6,287 L364.4,288.4 L366.2,289.9 L368,291.4 L369.8,292.8 L371.6,294.2 L373.4,295.6 L375.2,296.9 L377,298.1 L378.8,299.3 L380.7,300.4 L382.5,301.3 L384.3,302.2 L386.1,302.9 L387.9,303.5 L389.7,304 L391.5,304.4 L393.3,304.6 L395.1,304.7 L396.9,304.7 L398.7,304.5 L400.5,304.2 L402.3,303.8 L404.2,303.2 L406,302.6 L407.8,301.8 L409.6,301 L411.4,300.1 L413.2,299.1 L415,298 L416.8,296.9 L418.6,295.7 L420.4,294.5 L422.2,293.3 L424,292.1 L425.8,290.9 L427.7,289.7 L429.5,288.5 L431.3,287.4 L433.1,286.3 L434.9,285.3 L436.7,284.4 L438.5,283.6 L440.3,282.8 L442.1,282.1 L443.9,281.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.3 L87.82,290.9 L89.62,290.1 L91.43,289.1 L93.24,287.8 L95.05,286.2 L96.85,284.3 L98.66,282.2 L100.5,279.9 L102.3,277.3 L104.1,274.6 L105.9,271.8 L107.7,268.8 L109.5,265.7 L111.3,262.5 L113.1,259.2 L114.9,255.9 L116.7,252.7 L118.5,249.4 L120.4,246.3 L122.2,243.2 L124,240.2 L125.8,237.4 L127.6,234.7 L129.4,232.2 L131.2,229.9 L133,227.9 L134.8,226.1 L136.6,224.6 L138.4,223.4 L140.2,222.5 L142,221.9 L143.9,221.6 L145.7,221.6 L147.5,222 L149.3,222.6 L151.1,223.6 L152.9,225 L154.7,226.6 L156.5,228.5 L158.3,230.7 L160.1,233.2 L161.9,236 L163.7,239 L165.5,242.2 L167.4,245.6 L169.2,249.2 L171,252.9 L172.8,256.8 L174.6,260.8 L176.4,264.8 L178.2,268.9 L180,273 L181.8,277.1 L183.6,281.2 L185.4,285.2 L187.2,289.1 L189,292.9 L190.9,296.5 L192.7,300 L194.5,303.3 L196.3,306.4 L198.1,309.3 L199.9,311.9 L201.7,314.3 L203.5,316.4 L205.3,318.3 L207.1,319.8 L208.9,321.1 L210.7,322.1 L212.5,322.8 L214.4,323.2 L216.2,323.3 L218,323.1 L219.8,322.7 L221.6,322 L223.4,321 L225.2,319.8 L227,318.4 L228.8,316.8 L230.6,315 L232.4,313 L234.2,310.9 L236,308.7 L237.8,306.3 L239.7,303.9 L241.5,301.4 L243.3,298.9 L245.1,296.4 L246.9,293.8 L248.7,291.4 L250.5,288.9 L252.3,286.6 L254.1,284.3 L255.9,282.2 L257.7,280.2 L259.5,278.3 L261.3,276.6 L263.2,275.1 L265,273.7 L266.8,272.6 L268.6,271.6 L270.4,270.8 L272.2,270.3 L274,270 L275.8,269.8 L277.6,269.9 L279.4,270.2 L281.2,270.6 L283,271.3 L284.8,272.1 L286.7,273.1 L288.5,274.3 L290.3,275.6 L292.1,277 L293.9,278.6 L295.7,280.2 L297.5,281.9 L299.3,283.7 L301.1,285.5 L302.9,287.4 L304.7,289.2 L306.5,291.1 L308.3,292.9 L310.2,294.7 L312,296.4 L313.8,298 L315.6,299.6 L317.4,301.1 L319.2,302.4 L321,303.6 L322.8,304.7 L324.6,305.6 L326.4,306.4 L328.2,307.1 L330,307.5 L331.8,307.9 L333.7,308 L335.5,308 L337.3,307.8 L339.1,307.5 L340.9,307.1 L342.7,306.4 L344.5,305.7 L346.3,304.8 L348.1,303.8 L349.9,302.7 L351.7,301.5 L353.5,300.3 L355.3,298.9 L357.2,297.5 L359,296.1 L360.8,294.6 L362.6,293.2 L364.4,291.7 L366.2,290.2 L368,288.8 L369.8,287.4 L371.6,286.1 L373.4,284.9 L375.2,283.7 L377,282.6 L378.8,281.6 L380.7,280.8 L382.5,280 L384.3,279.4 L386.1,278.8 L387.9,278.5 L389.7,278.2 L391.5,278.1 L393.3,278.1 L395.1,278.2 L396.9,278.5 L398.7,278.9 L400.5,279.4 L402.3,280 L404.2,280.7 L406,281.6 L407.8,282.5 L409.6,283.5 L411.4,284.5 L413.2,285.6 L415,286.8 L416.8,288 L418.6,289.2 L420.4,290.4 L422.2,291.6 L424,292.8 L425.8,294 L427.7,295.1 L429.5,296.2 L431.3,297.3 L433.1,298.2 L434.9,299.1 L436.7,299.9 L438.5,300.7 L440.3,301.3 L442.1,301.8 L443.9,302.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.5 L87.82,291.5 L89.62,291.5 L91.43,291.5 L93.24,291.5 L95.05,291.5 L96.85,291.5 L98.66,291.5 L100.5,291.5 L102.3,291.5 L104.1,291.5 L105.9,291.4 L107.7,291.4 L109.5,291.4 L111.3,291.3 L113.1,291.3 L114.9,291.2 L116.7,291.1 L118.5,291 L120.4,290.9 L122.2,290.7 L124,290.5 L125.8,290.3 L127.6,290.1 L129.4,289.8 L131.2,289.5 L133,289.1 L134.8,288.7 L136.6,288.3 L138.4,287.7 L140.2,287.2 L142,286.6 L143.9,285.9 L145.7,285.2 L147.5,284.4 L149.3,283.6 L151.1,282.7 L152.9,281.7 L154.7,280.7 L156.5,279.7 L158.3,278.6 L160.1,277.4 L161.9,276.2 L163.7,275 L165.5,273.8 L167.4,272.5 L169.2,271.2 L171,269.8 L172.8,268.5 L174.6,267.1 L176.4,265.8 L178.2,264.5 L180,263.2 L181.8,261.9 L183.6,260.7 L185.4,259.5 L187.2,258.3 L189,257.3 L190.9,256.3 L192.7,255.4 L194.5,254.5 L196.3,253.8 L198.1,253.2 L199.9,252.7 L201.7,252.3 L203.5,252 L205.3,251.9 L207.1,251.8 L208.9,252 L210.7,252.2 L212.5,252.7 L214.4,253.2 L216.2,253.9 L218,254.7 L219.8,255.7 L221.6,256.9 L223.4,258.1 L225.2,259.5 L227,261 L228.8,262.6 L230.6,264.4 L232.4,266.2 L234.2,268.2 L236,270.2 L237.8,272.3 L239.7,274.4 L241.5,276.6 L243.3,278.9 L245.1,281.2 L246.9,283.4 L248.7,285.7 L250.5,288 L252.3,290.2 L254.1,292.5 L255.9,294.6 L257.7,296.7 L259.5,298.7 L261.3,300.6 L263.2,302.4 L265,304.1 L266.8,305.7 L268.6,307.2 L270.4,308.5 L272.2,309.7 L274,310.7 L275.8,311.5 L277.6,312.2 L279.4,312.8 L281.2,313.1 L283,313.3 L284.8,313.4 L286.7,313.2 L288.5,313 L290.3,312.5 L292.1,311.9 L293.9,311.2 L295.7,310.3 L297.5,309.2 L299.3,308.1 L301.1,306.9 L302.9,305.5 L304.7,304.1 L306.5,302.6 L308.3,301 L310.2,299.4 L312,297.7 L313.8,296 L315.6,294.3 L317.4,292.6 L319.2,290.9 L321,289.3 L322.8,287.7 L324.6,286.1 L326.4,284.6 L328.2,283.2 L330,281.9 L331.8,280.7 L333.7,279.6 L335.5,278.6 L337.3,277.7 L339.1,277 L340.9,276.4 L342.7,275.9 L344.5,275.6 L346.3,275.4 L348.1,275.3 L349.9,275.4 L351.7,275.6 L353.5,276 L355.3,276.4 L357.2,277.1 L359,277.8 L360.8,278.6 L362.6,279.5 L364.4,280.6 L366.2,281.7 L368,282.8 L369.8,284.1 L371.6,285.3 L373.4,286.7 L375.2,288 L377,289.4 L378.8,290.7 L380.7,292.1 L382.5,293.4 L384.3,294.7 L386.1,296 L387.9,297.2 L389.7,298.3 L391.5,299.4 L393.3,300.4 L395.1,301.2 L396.9,302 L398.7,302.7 L400.5,303.3 L402.3,303.8 L404.2,304.1 L406,304.3 L407.8,304.5 L409.6,304.5 L411.4,304.3 L413.2,304.1 L415,303.8 L416.8,303.3 L418.6,302.7 L420.4,302.1 L422.2,301.4 L424,300.5 L425.8,299.6 L427.7,298.7 L429.5,297.7 L431.3,296.6 L433.1,295.5 L434.9,294.4 L436.7,293.2 L438.5,292.1 L440.3,291 L442.1,289.8 L443.9,288.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.5 L87.82,291.5 L89.62,291.5 L91.43,291.5 L93.24,291.5 L95.05,291.5 L96.85,291.5 L98.66,291.5 L100.5,291.5 L102.3,291.5 L104.1,291.5 L105.9,291.5 L107.7,291.5 L109.5,291.5 L111.3,291.5 L113.1,291.5 L114.9,291.5 L116.7,291.5 L118.5,291.5 L120.4,291.5 L122.2,291.5 L124,291.5 L125.8,291.5 L127.6,291.4 L129.4,291.4 L131.2,291.4 L133,291.4 L134.8,291.4 L136.6,291.3 L138.4,291.3 L140.2,291.3 L142,291.2 L143.9,291.1 L145.7,291.1 L147.5,291 L149.3,290.9 L151.1,290.8 L152.9,290.7 L154.7,290.5 L156.5,290.3 L158.3,290.2 L160.1,290 L161.9,289.7 L163.7,289.5 L165.5,289.2 L167.4,288.9 L169.2,288.6 L171,288.2 L172.8,287.8 L174.6,287.4 L176.4,286.9 L178.2,286.5 L180,285.9 L181.8,285.4 L183.6,284.8 L185.4,284.1 L187.2,283.5 L189,282.8 L190.9,282.1 L192.7,281.3 L194.5,280.5 L196.3,279.7 L198.1,278.8 L199.9,278 L201.7,277.1 L203.5,276.1 L205.3,275.2 L207.1,274.3 L208.9,273.3 L210.7,272.4 L212.5,271.4 L214.4,270.4 L216.2,269.5 L218,268.6 L219.8,267.7 L221.6,266.8 L223.4,265.9 L225.2,265.1 L227,264.3 L228.8,263.6 L230.6,262.9 L232.4,262.3 L234.2,261.8 L236,261.3 L237.8,260.9 L239.7,260.5 L241.5,260.3 L243.3,260.1 L245.1,260 L246.9,260 L248.7,260.2 L250.5,260.4 L252.3,260.7 L254.1,261.1 L255.9,261.6 L257.7,262.2 L259.5,262.9 L261.3,263.7 L263.2,264.6 L265,265.6 L266.8,266.7 L268.6,267.9 L270.4,269.2 L272.2,270.6 L274,272 L275.8,273.5 L277.6,275 L279.4,276.6 L281.2,278.3 L283,280 L284.8,281.7 L286.7,283.5 L288.5,285.2 L290.3,287 L292.1,288.8 L293.9,290.5 L295.7,292.2 L297.5,293.9 L299.3,295.6 L301.1,297.1 L302.9,298.7 L304.7,300.1 L306.5,301.5 L308.3,302.8 L310.2,304 L312,305.1 L313.8,306.2 L315.6,307 L317.4,307.8 L319.2,308.5 L321,309 L322.8,309.4 L324.6,309.7 L326.4,309.9 L328.2,309.9 L330,309.8 L331.8,309.6 L333.7,309.2 L335.5,308.8 L337.3,308.2 L339.1,307.5 L340.9,306.7 L342.7,305.8 L344.5,304.8 L346.3,303.7 L348.1,302.6 L349.9,301.4 L351.7,300.1 L353.5,298.8 L355.3,297.5 L357.2,296.1 L359,294.7 L360.8,293.3 L362.6,291.9 L364.4,290.5 L366.2,289.2 L368,287.9 L369.8,286.6 L371.6,285.4 L373.4,284.2 L375.2,283.1 L377,282.1 L378.8,281.2 L380.7,280.4 L382.5,279.6 L384.3,279 L386.1,278.5 L387.9,278.1 L389.7,277.8 L391.5,277.6 L393.3,277.5 L395.1,277.5 L396.9,277.7 L398.7,277.9 L400.5,278.3 L402.3,278.8 L404.2,279.3 L406,280 L407.8,280.7 L409.6,281.6 L411.4,282.5 L413.2,283.4 L415,284.4 L416.8,285.5 L418.6,286.6 L420.4,287.7 L422.2,288.9 L424,290.1 L425.8,291.2 L427.7,292.4 L429.5,293.5 L431.3,294.6 L433.1,295.7 L434.9,296.7 L436.7,297.7 L438.5,298.6 L440.3,299.4 L442.1,300.1 L443.9,300.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.5 L87.82,291.5 L89.62,291.5 L91.43,291.5 L93.24,291.5 L95.05,291.5 L96.85,291.5 L98.66,291.5 L100.5,291.5 L102.3,291.5 L104.1,291.5 L105.9,291.5 L107.7,291.5 L109.5,291.5 L111.3,291.5 L113.1,291.5 L114.9,291.5 L116.7,291.5 L118.5,291.5 L120.4,291.5 L122.2,291.5 L124,291.5 L125.8,291.5 L127.6,291.5 L129.4,291.5 L131.2,291.5 L133,291.5 L134.8,291.5 L136.6,291.5 L138.4,291.5 L140.2,291.5 L142,291.5 L143.9,291.5 L145.7,291.5 L147.5,291.5 L149.3,291.5 L151.1,291.5 L152.9,291.5 L154.7,291.5 L156.5,291.5 L158.3,291.5 L160.1,291.5 L161.9,291.5 L163.7,291.5 L165.5,291.4 L167.4,291.4 L169.2,291.4 L171,291.4 L172.8,291.4 L174.6,291.4 L176.4,291.4 L178.2,291.4 L180,291.3 L181.8,291.3 L183.6,291.3 L185.4,291.2 L187.2,291.2 L189,291.1 L190.9,291.1 L192.7,291 L194.5,291 L196.3,290.9 L198.1,290.8 L199.9,290.7 L201.7,290.6 L203.5,290.5 L205.3,290.4 L207.1,290.3 L208.9,290.1 L210.7,290 L212.5,289.8 L214.4,289.6 L216.2,289.4 L218,289.2 L219.8,288.9 L221.6,288.7 L223.4,288.4 L225.2,288.1 L227,287.8 L228.8,287.4 L230.6,287.1 L232.4,286.7 L234.2,286.3 L236,285.9 L237.8,285.5 L239.7,285 L241.5,284.5 L243.3,284 L245.1,283.5 L246.9,283 L248.7,282.4 L250.5,281.8 L252.3,281.2 L254.1,280.6 L255.9,280 L257.7,279.4 L259.5,278.7 L261.3,278.1 L263.2,277.4 L265,276.8 L266.8,276.1 L268.6,275.4 L270.4,274.8 L272.2,274.1 L274,273.5 L275.8,272.9 L277.6,272.2 L279.4,271.7 L281.2,271.1 L283,270.5 L284.8,270 L286.7,269.5 L288.5,269.1 L290.3,268.7 L292.1,268.3 L293.9,268 L295.7,267.7 L297.5,267.5 L299.3,267.3 L301.1,267.2 L302.9,267.1 L304.7,267.1 L306.5,267.2 L308.3,267.3 L310.2,267.5 L312,267.8 L313.8,268.1 L315.6,268.5 L317.4,269 L319.2,269.5 L321,270.1 L322.8,270.8 L324.6,271.6 L326.4,272.4 L328.2,273.2 L330,274.1 L331.8,275.1 L333.7,276.2 L335.5,277.2 L337.3,278.4 L339.1,279.5 L340.9,280.7 L342.7,282 L344.5,283.2 L346.3,284.5 L348.1,285.8 L349.9,287.1 L351.7,288.4 L353.5,289.8 L355.3,291.1 L357.2,292.3 L359,293.6 L360.8,294.8 L362.6,296 L364.4,297.2 L366.2,298.3 L368,299.4 L369.8,300.4 L371.6,301.3 L373.4,302.2 L375.2,303 L377,303.8 L378.8,304.4 L380.7,305 L382.5,305.5 L384.3,305.9 L386.1,306.2 L387.9,306.4 L389.7,306.5 L391.5,306.5 L393.3,306.5 L395.1,306.3 L396.9,306 L398.7,305.7 L400.5,305.3 L402.3,304.8 L404.2,304.2 L406,303.5 L407.8,302.8 L409.6,302 L411.4,301.1 L413.2,300.2 L415,299.3 L416.8,298.3 L418.6,297.2 L420.4,296.2 L422.2,295.1 L424,294 L425.8,292.9 L427.7,291.8 L429.5,290.7 L431.3,289.6 L433.1,288.6 L434.9,287.5 L436.7,286.6 L438.5,285.6 L440.3,284.7 L442.1,283.9 L443.9,283.1 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel j</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sph_neumann.png b/libs/math/doc/graphs/sph_neumann.png
index 8865198ee0..8865198ee0 100644
--- a/libs/math/doc/sf_and_dist/graphs/sph_neumann.png
+++ b/libs/math/doc/graphs/sph_neumann.png
Binary files differ
diff --git a/libs/math/doc/graphs/sph_neumann.svg b/libs/math/doc/graphs/sph_neumann.svg
new file mode 100644
index 0000000000..9180b2a20e
--- /dev/null
+++ b/libs/math/doc/graphs/sph_neumann.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="375.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="377.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="81.04" x2="453" y2="81.04"/><line x1="70.8" y1="341" x2="453" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,68.04 L75.8,68.04 M73.8,81.04 L75.8,81.04 M73.8,94.04 L75.8,94.04 M73.8,107 L75.8,107 M73.8,120 L75.8,120 M73.8,133 L75.8,133 M73.8,146 L75.8,146 M73.8,159 L75.8,159 M73.8,172 L75.8,172 M73.8,185 L75.8,185 M73.8,198 L75.8,198 M73.8,211 L75.8,211 M73.8,224 L75.8,224 M73.8,237 L75.8,237 M73.8,250 L75.8,250 M73.8,263 L75.8,263 M73.8,276 L75.8,276 M73.8,289 L75.8,289 M73.8,302 L75.8,302 M73.8,315 L75.8,315 M73.8,328 L75.8,328 M73.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M95.48,341 L95.48,343 M118.8,341 L118.8,343 M142.2,341 L142.2,343 M188.8,341 L188.8,343 M212.2,341 L212.2,343 M235.5,341 L235.5,343 M282.2,341 L282.2,343 M305.5,341 L305.5,343 M328.9,341 L328.9,343 M375.5,341 L375.5,343 M398.9,341 L398.9,343 M422.2,341 L422.2,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,81.04 L75.8,81.04 M70.8,81.04 L75.8,81.04 M70.8,133 L75.8,133 M70.8,185 L75.8,185 M70.8,237 L75.8,237 M70.8,289 L75.8,289 M70.8,341 L75.8,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M165.5,341 L165.5,346 M258.9,341 L258.9,346 M352.2,341 L352.2,346 M445.6,341 L445.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="165.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="258.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="352.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
+<text x="445.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="83.44" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="83.44" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="135.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
+<text x="64.8" y="187.4" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
+<text x="64.8" y="239.4" text-anchor="end" font-size="12" font-family="Verdana">-3</text>
+<text x="64.8" y="291.4" text-anchor="end" font-size="12" font-family="Verdana">-4</text>
+<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sph_neumann(v, x)</text></g>
+<g id="xLabel">
+<text x="264.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L77.65,249.6 L79.5,202.8 L81.35,173.9 L83.2,153.9 L85.04,139 L86.89,127.3 L88.74,117.9 L90.59,110 L92.44,103.3 L94.29,97.47 L96.14,92.43 L97.99,88 L99.83,84.1 L101.7,80.66 L103.5,77.62 L105.4,74.96 L107.2,72.63 L109.1,70.62 L110.9,68.89 L112.8,67.44 L114.6,66.24 L116.5,65.27 L118.3,64.54 L120.2,64.01 L122,63.69 L123.9,63.55 L125.7,63.59 L127.6,63.79 L129.4,64.14 L131.3,64.63 L133.1,65.24 L135,65.97 L136.8,66.8 L138.7,67.72 L140.5,68.72 L142.4,69.78 L144.2,70.9 L146.1,72.05 L147.9,73.24 L149.8,74.44 L151.6,75.65 L153.5,76.86 L155.3,78.06 L157.1,79.23 L159,80.36 L160.8,81.46 L162.7,82.51 L164.5,83.5 L166.4,84.43 L168.2,85.29 L170.1,86.08 L171.9,86.79 L173.8,87.42 L175.6,87.96 L177.5,88.42 L179.3,88.8 L181.2,89.08 L183,89.28 L184.9,89.39 L186.7,89.42 L188.6,89.37 L190.4,89.23 L192.3,89.03 L194.1,88.75 L196,88.4 L197.8,88 L199.7,87.54 L201.5,87.03 L203.4,86.47 L205.2,85.88 L207.1,85.26 L208.9,84.62 L210.8,83.95 L212.6,83.28 L214.5,82.6 L216.3,81.93 L218.2,81.26 L220,80.61 L221.9,79.98 L223.7,79.37 L225.6,78.79 L227.4,78.25 L229.3,77.75 L231.1,77.29 L232.9,76.88 L234.8,76.52 L236.6,76.21 L238.5,75.96 L240.3,75.76 L242.2,75.61 L244,75.52 L245.9,75.49 L247.7,75.51 L249.6,75.58 L251.4,75.71 L253.3,75.88 L255.1,76.1 L257,76.37 L258.8,76.67 L260.7,77.01 L262.5,77.39 L264.4,77.79 L266.2,78.21 L268.1,78.66 L269.9,79.12 L271.8,79.59 L273.6,80.06 L275.5,80.54 L277.3,81.01 L279.2,81.47 L281,81.92 L282.9,82.36 L284.7,82.77 L286.6,83.16 L288.4,83.53 L290.3,83.86 L292.1,84.16 L294,84.42 L295.8,84.65 L297.7,84.84 L299.5,84.99 L301.4,85.1 L303.2,85.16 L305.1,85.19 L306.9,85.17 L308.8,85.12 L310.6,85.02 L312.4,84.89 L314.3,84.73 L316.1,84.53 L318,84.29 L319.8,84.03 L321.7,83.75 L323.5,83.44 L325.4,83.12 L327.2,82.78 L329.1,82.42 L330.9,82.06 L332.8,81.7 L334.6,81.33 L336.5,80.96 L338.3,80.6 L340.2,80.25 L342,79.91 L343.9,79.59 L345.7,79.29 L347.6,79.01 L349.4,78.75 L351.3,78.51 L353.1,78.31 L355,78.13 L356.8,77.98 L358.7,77.87 L360.5,77.79 L362.4,77.74 L364.2,77.72 L366.1,77.74 L367.9,77.79 L369.8,77.86 L371.6,77.97 L373.5,78.11 L375.3,78.27 L377.2,78.46 L379,78.68 L380.9,78.91 L382.7,79.16 L384.6,79.42 L386.4,79.7 L388.3,79.99 L390.1,80.28 L391.9,80.58 L393.8,80.88 L395.6,81.18 L397.5,81.47 L399.3,81.76 L401.2,82.04 L403,82.3 L404.9,82.55 L406.7,82.78 L408.6,82.99 L410.4,83.17 L412.3,83.34 L414.1,83.48 L416,83.6 L417.8,83.69 L419.7,83.75 L421.5,83.79 L423.4,83.8 L425.2,83.78 L427.1,83.74 L428.9,83.67 L430.8,83.57 L432.6,83.45 L434.5,83.31 L436.3,83.15 L438.2,82.97 L440,82.77 L441.9,82.56 L443.7,82.33 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M88.65,341 L90.43,278.7 L92.22,236.3 L94,206.3 L95.79,184.5 L97.57,168.1 L99.36,155.6 L101.1,145.8 L102.9,138 L104.7,131.6 L106.5,126.3 L108.3,121.8 L110.1,118 L111.8,114.7 L113.6,111.7 L115.4,109.1 L117.2,106.7 L119,104.4 L120.8,102.4 L122.6,100.4 L124.3,98.58 L126.1,96.83 L127.9,95.14 L129.7,93.53 L131.5,91.97 L133.3,90.46 L135,89 L136.8,87.58 L138.6,86.22 L140.4,84.9 L142.2,83.63 L144,82.41 L145.8,81.24 L147.5,80.12 L149.3,79.06 L151.1,78.07 L152.9,77.13 L154.7,76.26 L156.5,75.45 L158.2,74.71 L160,74.05 L161.8,73.45 L163.6,72.93 L165.4,72.48 L167.2,72.11 L169,71.82 L170.7,71.59 L172.5,71.45 L174.3,71.37 L176.1,71.37 L177.9,71.44 L179.7,71.58 L181.4,71.78 L183.2,72.04 L185,72.36 L186.8,72.74 L188.6,73.17 L190.4,73.64 L192.2,74.16 L193.9,74.71 L195.7,75.3 L197.5,75.92 L199.3,76.56 L201.1,77.21 L202.9,77.88 L204.6,78.56 L206.4,79.23 L208.2,79.91 L210,80.57 L211.8,81.22 L213.6,81.86 L215.4,82.47 L217.1,83.06 L218.9,83.61 L220.7,84.13 L222.5,84.61 L224.3,85.05 L226.1,85.45 L227.8,85.81 L229.6,86.11 L231.4,86.37 L233.2,86.58 L235,86.73 L236.8,86.84 L238.6,86.89 L240.3,86.9 L242.1,86.85 L243.9,86.76 L245.7,86.63 L247.5,86.44 L249.3,86.22 L251,85.96 L252.8,85.66 L254.6,85.32 L256.4,84.96 L258.2,84.57 L260,84.16 L261.8,83.73 L263.5,83.29 L265.3,82.83 L267.1,82.37 L268.9,81.9 L270.7,81.43 L272.5,80.97 L274.2,80.52 L276,80.08 L277.8,79.66 L279.6,79.26 L281.4,78.87 L283.2,78.52 L285,78.19 L286.7,77.89 L288.5,77.62 L290.3,77.39 L292.1,77.19 L293.9,77.03 L295.7,76.91 L297.4,76.82 L299.2,76.77 L301,76.76 L302.8,76.79 L304.6,76.85 L306.4,76.95 L308.2,77.09 L309.9,77.25 L311.7,77.45 L313.5,77.67 L315.3,77.92 L317.1,78.2 L318.9,78.49 L320.6,78.81 L322.4,79.13 L324.2,79.47 L326,79.82 L327.8,80.18 L329.6,80.54 L331.4,80.89 L333.1,81.25 L334.9,81.59 L336.7,81.93 L338.5,82.26 L340.3,82.57 L342.1,82.86 L343.8,83.13 L345.6,83.38 L347.4,83.61 L349.2,83.81 L351,83.98 L352.8,84.13 L354.6,84.25 L356.3,84.33 L358.1,84.39 L359.9,84.42 L361.7,84.41 L363.5,84.38 L365.3,84.32 L367,84.22 L368.8,84.11 L370.6,83.96 L372.4,83.79 L374.2,83.6 L376,83.39 L377.8,83.16 L379.5,82.92 L381.3,82.66 L383.1,82.39 L384.9,82.11 L386.7,81.82 L388.5,81.53 L390.2,81.24 L392,80.95 L393.8,80.66 L395.6,80.39 L397.4,80.11 L399.2,79.86 L401,79.61 L402.7,79.38 L404.5,79.17 L406.3,78.97 L408.1,78.8 L409.9,78.65 L411.7,78.52 L413.4,78.41 L415.2,78.33 L417,78.28 L418.8,78.25 L420.6,78.24 L422.4,78.26 L424.1,78.31 L425.9,78.37 L427.7,78.46 L429.5,78.58 L431.3,78.71 L433.1,78.87 L434.9,79.04 L436.6,79.23 L438.4,79.43 L440.2,79.64 L442,79.87 L443.8,80.1 L445.6,80.34 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M119.8,341 L121.5,299.9 L123.1,266.7 L124.7,239.7 L126.4,217.7 L128,199.5 L129.6,184.4 L131.2,171.8 L132.9,161.3 L134.5,152.3 L136.1,144.8 L137.8,138.3 L139.4,132.7 L141,128 L142.6,123.8 L144.3,120.2 L145.9,117.1 L147.5,114.3 L149.2,111.9 L150.8,109.8 L152.4,107.8 L154,106.1 L155.7,104.6 L157.3,103.2 L158.9,101.9 L160.6,100.7 L162.2,99.65 L163.8,98.66 L165.4,97.73 L167.1,96.85 L168.7,96.03 L170.3,95.25 L172,94.5 L173.6,93.78 L175.2,93.08 L176.8,92.41 L178.5,91.75 L180.1,91.11 L181.7,90.48 L183.4,89.85 L185,89.24 L186.6,88.63 L188.2,88.02 L189.9,87.43 L191.5,86.83 L193.1,86.24 L194.8,85.66 L196.4,85.08 L198,84.5 L199.6,83.93 L201.3,83.37 L202.9,82.82 L204.5,82.27 L206.2,81.73 L207.8,81.21 L209.4,80.69 L211,80.19 L212.7,79.71 L214.3,79.23 L215.9,78.78 L217.6,78.35 L219.2,77.93 L220.8,77.54 L222.4,77.17 L224.1,76.82 L225.7,76.5 L227.3,76.2 L229,75.93 L230.6,75.69 L232.2,75.47 L233.8,75.29 L235.5,75.13 L237.1,75 L238.7,74.91 L240.4,74.85 L242,74.81 L243.6,74.81 L245.2,74.84 L246.9,74.89 L248.5,74.98 L250.1,75.09 L251.8,75.24 L253.4,75.41 L255,75.6 L256.6,75.82 L258.3,76.07 L259.9,76.33 L261.5,76.62 L263.2,76.93 L264.8,77.25 L266.4,77.58 L268,77.93 L269.7,78.3 L271.3,78.67 L272.9,79.04 L274.6,79.43 L276.2,79.81 L277.8,80.2 L279.4,80.59 L281.1,80.97 L282.7,81.34 L284.3,81.71 L286,82.07 L287.6,82.42 L289.2,82.76 L290.8,83.07 L292.5,83.38 L294.1,83.66 L295.7,83.93 L297.4,84.17 L299,84.39 L300.6,84.59 L302.2,84.76 L303.9,84.91 L305.5,85.04 L307.1,85.13 L308.8,85.2 L310.4,85.25 L312,85.27 L313.6,85.26 L315.3,85.22 L316.9,85.16 L318.5,85.08 L320.2,84.97 L321.8,84.83 L323.4,84.68 L325,84.5 L326.7,84.31 L328.3,84.09 L329.9,83.86 L331.6,83.62 L333.2,83.36 L334.8,83.09 L336.4,82.81 L338.1,82.52 L339.7,82.23 L341.3,81.93 L343,81.63 L344.6,81.33 L346.2,81.03 L347.8,80.73 L349.5,80.44 L351.1,80.16 L352.7,79.89 L354.4,79.62 L356,79.37 L357.6,79.14 L359.2,78.91 L360.9,78.71 L362.5,78.52 L364.1,78.35 L365.8,78.2 L367.4,78.08 L369,77.97 L370.6,77.88 L372.3,77.82 L373.9,77.78 L375.5,77.76 L377.2,77.76 L378.8,77.79 L380.4,77.83 L382,77.9 L383.7,77.99 L385.3,78.1 L386.9,78.22 L388.6,78.37 L390.2,78.53 L391.8,78.7 L393.4,78.89 L395.1,79.1 L396.7,79.31 L398.3,79.53 L400,79.77 L401.6,80 L403.2,80.25 L404.8,80.49 L406.5,80.74 L408.1,80.99 L409.7,81.23 L411.4,81.47 L413,81.71 L414.6,81.94 L416.2,82.16 L417.9,82.37 L419.5,82.57 L421.1,82.76 L422.8,82.93 L424.4,83.09 L426,83.23 L427.7,83.36 L429.3,83.47 L430.9,83.56 L432.5,83.63 L434.2,83.69 L435.8,83.72 L437.4,83.74 L439.1,83.74 L440.7,83.72 L442.3,83.68 L443.9,83.62 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M144.3,341 L145.8,307.7 L147.3,279.4 L148.8,255.4 L150.3,234.9 L151.8,217.3 L153.4,202.2 L154.9,189.2 L156.4,177.9 L157.9,168.1 L159.4,159.6 L160.9,152.1 L162.4,145.6 L163.9,139.8 L165.4,134.7 L166.9,130.3 L168.4,126.3 L169.9,122.8 L171.4,119.6 L172.9,116.8 L174.4,114.3 L175.9,112.1 L177.5,110.1 L179,108.3 L180.5,106.6 L182,105.1 L183.5,103.8 L185,102.5 L186.5,101.4 L188,100.4 L189.5,99.4 L191,98.53 L192.5,97.71 L194,96.95 L195.5,96.25 L197,95.58 L198.5,94.96 L200,94.37 L201.6,93.82 L203.1,93.29 L204.6,92.78 L206.1,92.29 L207.6,91.82 L209.1,91.36 L210.6,90.92 L212.1,90.49 L213.6,90.06 L215.1,89.65 L216.6,89.24 L218.1,88.83 L219.6,88.43 L221.1,88.03 L222.6,87.64 L224.1,87.24 L225.7,86.85 L227.2,86.46 L228.7,86.07 L230.2,85.68 L231.7,85.3 L233.2,84.91 L234.7,84.52 L236.2,84.14 L237.7,83.75 L239.2,83.37 L240.7,82.99 L242.2,82.62 L243.7,82.25 L245.2,81.88 L246.7,81.51 L248.2,81.15 L249.8,80.8 L251.3,80.45 L252.8,80.11 L254.3,79.78 L255.8,79.46 L257.3,79.14 L258.8,78.84 L260.3,78.55 L261.8,78.27 L263.3,78 L264.8,77.75 L266.3,77.51 L267.8,77.28 L269.3,77.07 L270.8,76.88 L272.3,76.7 L273.9,76.54 L275.4,76.39 L276.9,76.27 L278.4,76.16 L279.9,76.07 L281.4,76 L282.9,75.95 L284.4,75.92 L285.9,75.91 L287.4,75.92 L288.9,75.94 L290.4,75.99 L291.9,76.05 L293.4,76.13 L294.9,76.23 L296.4,76.35 L298,76.48 L299.5,76.63 L301,76.8 L302.5,76.98 L304,77.18 L305.5,77.39 L307,77.61 L308.5,77.84 L310,78.08 L311.5,78.34 L313,78.6 L314.5,78.87 L316,79.14 L317.5,79.42 L319,79.7 L320.5,79.99 L322.1,80.28 L323.6,80.56 L325.1,80.85 L326.6,81.13 L328.1,81.41 L329.6,81.68 L331.1,81.95 L332.6,82.21 L334.1,82.46 L335.6,82.71 L337.1,82.94 L338.6,83.16 L340.1,83.37 L341.6,83.56 L343.1,83.74 L344.6,83.91 L346.2,84.06 L347.7,84.19 L349.2,84.31 L350.7,84.41 L352.2,84.5 L353.7,84.56 L355.2,84.61 L356.7,84.64 L358.2,84.65 L359.7,84.65 L361.2,84.62 L362.7,84.58 L364.2,84.52 L365.7,84.45 L367.2,84.35 L368.7,84.25 L370.3,84.12 L371.8,83.99 L373.3,83.84 L374.8,83.67 L376.3,83.5 L377.8,83.31 L379.3,83.12 L380.8,82.91 L382.3,82.7 L383.8,82.48 L385.3,82.26 L386.8,82.03 L388.3,81.8 L389.8,81.57 L391.3,81.33 L392.8,81.1 L394.4,80.87 L395.9,80.64 L397.4,80.42 L398.9,80.2 L400.4,79.99 L401.9,79.78 L403.4,79.59 L404.9,79.4 L406.4,79.22 L407.9,79.06 L409.4,78.91 L410.9,78.77 L412.4,78.64 L413.9,78.53 L415.4,78.43 L416.9,78.35 L418.5,78.28 L420,78.23 L421.5,78.19 L423,78.17 L424.5,78.17 L426,78.18 L427.5,78.2 L429,78.25 L430.5,78.3 L432,78.37 L433.5,78.46 L435,78.56 L436.5,78.67 L438,78.79 L439.5,78.93 L441,79.08 L442.6,79.23 L444.1,79.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M184.1,341 L185.4,315.8 L186.7,293.5 L188,273.6 L189.3,255.9 L190.6,240.2 L191.9,226.1 L193.2,213.5 L194.5,202.2 L195.9,192.1 L197.2,183 L198.5,174.8 L199.8,167.4 L201.1,160.7 L202.4,154.6 L203.7,149.2 L205,144.2 L206.3,139.7 L207.6,135.6 L208.9,131.9 L210.2,128.5 L211.5,125.4 L212.9,122.6 L214.2,120 L215.5,117.6 L216.8,115.4 L218.1,113.4 L219.4,111.6 L220.7,109.9 L222,108.4 L223.3,106.9 L224.6,105.6 L225.9,104.4 L227.2,103.2 L228.5,102.2 L229.8,101.2 L231.2,100.3 L232.5,99.46 L233.8,98.67 L235.1,97.94 L236.4,97.26 L237.7,96.62 L239,96.02 L240.3,95.45 L241.6,94.92 L242.9,94.43 L244.2,93.96 L245.5,93.51 L246.8,93.09 L248.2,92.69 L249.5,92.31 L250.8,91.95 L252.1,91.6 L253.4,91.27 L254.7,90.95 L256,90.64 L257.3,90.34 L258.6,90.06 L259.9,89.78 L261.2,89.51 L262.5,89.24 L263.8,88.98 L265.1,88.73 L266.5,88.48 L267.8,88.24 L269.1,87.99 L270.4,87.76 L271.7,87.52 L273,87.28 L274.3,87.05 L275.6,86.82 L276.9,86.59 L278.2,86.36 L279.5,86.13 L280.8,85.9 L282.1,85.67 L283.5,85.44 L284.8,85.21 L286.1,84.98 L287.4,84.75 L288.7,84.52 L290,84.29 L291.3,84.05 L292.6,83.82 L293.9,83.59 L295.2,83.36 L296.5,83.13 L297.8,82.89 L299.1,82.66 L300.4,82.43 L301.8,82.2 L303.1,81.97 L304.4,81.75 L305.7,81.52 L307,81.3 L308.3,81.08 L309.6,80.86 L310.9,80.64 L312.2,80.43 L313.5,80.22 L314.8,80.01 L316.1,79.81 L317.4,79.61 L318.7,79.41 L320.1,79.22 L321.4,79.04 L322.7,78.86 L324,78.69 L325.3,78.52 L326.6,78.37 L327.9,78.21 L329.2,78.07 L330.5,77.93 L331.8,77.8 L333.1,77.68 L334.4,77.57 L335.7,77.46 L337.1,77.37 L338.4,77.28 L339.7,77.2 L341,77.14 L342.3,77.08 L343.6,77.03 L344.9,76.99 L346.2,76.96 L347.5,76.94 L348.8,76.93 L350.1,76.94 L351.4,76.95 L352.7,76.97 L354,77 L355.4,77.04 L356.7,77.09 L358,77.15 L359.3,77.22 L360.6,77.3 L361.9,77.39 L363.2,77.49 L364.5,77.6 L365.8,77.71 L367.1,77.83 L368.4,77.96 L369.7,78.1 L371,78.25 L372.4,78.4 L373.7,78.55 L375,78.72 L376.3,78.88 L377.6,79.06 L378.9,79.23 L380.2,79.41 L381.5,79.6 L382.8,79.78 L384.1,79.97 L385.4,80.16 L386.7,80.35 L388,80.55 L389.3,80.74 L390.7,80.93 L392,81.12 L393.3,81.31 L394.6,81.49 L395.9,81.67 L397.2,81.85 L398.5,82.03 L399.8,82.2 L401.1,82.36 L402.4,82.53 L403.7,82.68 L405,82.83 L406.3,82.97 L407.7,83.1 L409,83.23 L410.3,83.35 L411.6,83.46 L412.9,83.56 L414.2,83.65 L415.5,83.73 L416.8,83.8 L418.1,83.87 L419.4,83.92 L420.7,83.96 L422,84 L423.3,84.02 L424.6,84.03 L426,84.04 L427.3,84.03 L428.6,84.01 L429.9,83.98 L431.2,83.95 L432.5,83.9 L433.8,83.84 L435.1,83.78 L436.4,83.7 L437.7,83.62 L439,83.53 L440.3,83.43 L441.6,83.32 L442.9,83.2 L444.3,83.08 L445.6,82.95 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
+</g>
+<g id="legendText">
+<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
+<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
+<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
+<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
+<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel y</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.png b/libs/math/doc/graphs/sqrt1pm1.png
index 5773f7c880..5773f7c880 100644
--- a/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.png
+++ b/libs/math/doc/graphs/sqrt1pm1.png
Binary files differ
diff --git a/libs/math/doc/graphs/sqrt1pm1.svg b/libs/math/doc/graphs/sqrt1pm1.svg
new file mode 100644
index 0000000000..5c23d15d0e
--- /dev/null
+++ b/libs/math/doc/graphs/sqrt1pm1.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="171.3" y1="58" x2="171.3" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="227.7" x2="574" y2="227.7"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,213.6 L92.6,213.6 M90.6,199.4 L92.6,199.4 M90.6,185.3 L92.6,185.3 M90.6,156.9 L92.6,156.9 M90.6,142.8 L92.6,142.8 M90.6,128.6 L92.6,128.6 M90.6,100.3 L92.6,100.3 M90.6,86.15 L92.6,86.15 M90.6,71.99 L92.6,71.99 M90.6,227.7 L92.6,227.7 M90.6,241.9 L92.6,241.9 M90.6,256 L92.6,256 M90.6,270.2 L92.6,270.2 M90.6,284.4 L92.6,284.4 M90.6,298.5 L92.6,298.5 M90.6,312.7 L92.6,312.7 M90.6,326.8 L92.6,326.8 M90.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M190.9,341 L190.9,343 M210.6,341 L210.6,343 M230.3,341 L230.3,343 M269.6,341 L269.6,343 M289.3,341 L289.3,343 M308.9,341 L308.9,343 M348.2,341 L348.2,343 M367.9,341 L367.9,343 M387.6,341 L387.6,343 M426.9,341 L426.9,343 M446.6,341 L446.6,343 M466.2,341 L466.2,343 M505.6,341 L505.6,343 M525.2,341 L525.2,343 M544.9,341 L544.9,343 M151.6,341 L151.6,343 M131.9,341 L131.9,343 M112.3,341 L112.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,227.7 L92.6,227.7 M87.6,171.1 L92.6,171.1 M87.6,114.5 L92.6,114.5 M87.6,227.7 L92.6,227.7 M87.6,284.4 L92.6,284.4 M87.6,341 L92.6,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M171.3,341 L171.3,346 M249.9,341 L249.9,346 M328.6,341 L328.6,346 M407.2,341 L407.2,346 M485.9,341 L485.9,346 M564.6,341 L564.6,346 M171.3,341 L171.3,346 M92.6,341 L92.6,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="249.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="407.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="485.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="230.1" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="173.5" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="81.6" y="116.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="81.6" y="230.1" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="286.8" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text>
+<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sqrt1pm1(z)</text></g>
+<g id="xLabel">
+<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.96,321.4 L97.32,313.3 L99.68,307 L102,301.8 L104.4,297.1 L106.8,292.9 L109.1,289.1 L111.5,285.5 L113.8,282.1 L116.2,279 L118.6,275.9 L120.9,273 L123.3,270.3 L125.6,267.6 L128,265 L130.4,262.5 L132.7,260.1 L135.1,257.8 L137.4,255.5 L139.8,253.3 L142.2,251.1 L144.5,249 L146.9,246.9 L149.2,244.9 L151.6,242.9 L154,241 L156.3,239.1 L158.7,237.2 L161,235.3 L163.4,233.5 L165.8,231.8 L168.1,230 L170.5,228.3 L172.8,226.6 L175.2,224.9 L177.6,223.3 L179.9,221.7 L182.3,220.1 L184.6,218.5 L187,216.9 L189.4,215.4 L191.7,213.9 L194.1,212.4 L196.4,210.9 L198.8,209.4 L201.2,207.9 L203.5,206.5 L205.9,205.1 L208.2,203.7 L210.6,202.3 L213,200.9 L215.3,199.5 L217.7,198.2 L220,196.8 L222.4,195.5 L224.7,194.2 L227.1,192.9 L229.5,191.6 L231.8,190.3 L234.2,189 L236.5,187.8 L238.9,186.5 L241.3,185.3 L243.6,184.1 L246,182.8 L248.3,181.6 L250.7,180.4 L253.1,179.2 L255.4,178 L257.8,176.9 L260.1,175.7 L262.5,174.5 L264.9,173.4 L267.2,172.2 L269.6,171.1 L271.9,170 L274.3,168.8 L276.7,167.7 L279,166.6 L281.4,165.5 L283.7,164.4 L286.1,163.3 L288.5,162.3 L290.8,161.2 L293.2,160.1 L295.5,159.1 L297.9,158 L300.3,157 L302.6,155.9 L305,154.9 L307.3,153.8 L309.7,152.8 L312.1,151.8 L314.4,150.8 L316.8,149.8 L319.1,148.8 L321.5,147.8 L323.9,146.8 L326.2,145.8 L328.6,144.8 L330.9,143.8 L333.3,142.9 L335.7,141.9 L338,140.9 L340.4,140 L342.7,139 L345.1,138.1 L347.5,137.1 L349.8,136.2 L352.2,135.2 L354.5,134.3 L356.9,133.4 L359.3,132.4 L361.6,131.5 L364,130.6 L366.3,129.7 L368.7,128.8 L371.1,127.9 L373.4,127 L375.8,126.1 L378.1,125.2 L380.5,124.3 L382.9,123.4 L385.2,122.5 L387.6,121.7 L389.9,120.8 L392.3,119.9 L394.7,119 L397,118.2 L399.4,117.3 L401.7,116.5 L404.1,115.6 L406.5,114.7 L408.8,113.9 L411.2,113.1 L413.5,112.2 L415.9,111.4 L418.3,110.5 L420.6,109.7 L423,108.9 L425.3,108 L427.7,107.2 L430.1,106.4 L432.4,105.6 L434.8,104.8 L437.1,103.9 L439.5,103.1 L441.9,102.3 L444.2,101.5 L446.6,100.7 L448.9,99.92 L451.3,99.12 L453.6,98.33 L456,97.54 L458.4,96.75 L460.7,95.96 L463.1,95.18 L465.4,94.4 L467.8,93.62 L470.2,92.84 L472.5,92.07 L474.9,91.29 L477.2,90.52 L479.6,89.76 L482,88.99 L484.3,88.23 L486.7,87.47 L489,86.71 L491.4,85.96 L493.8,85.2 L496.1,84.45 L498.5,83.7 L500.8,82.96 L503.2,82.21 L505.6,81.47 L507.9,80.73 L510.3,79.99 L512.6,79.25 L515,78.52 L517.4,77.79 L519.7,77.06 L522.1,76.33 L524.4,75.6 L526.8,74.88 L529.2,74.16 L531.5,73.44 L533.9,72.72 L536.2,72 L538.6,71.29 L541,70.57 L543.3,69.86 L545.7,69.15 L548,68.45 L550.4,67.74 L552.8,67.04 L555.1,66.34 L557.5,65.64 L559.8,64.94 L562.2,64.24 L564.6,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">sqrt1pm1</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/students_t_pdf.png b/libs/math/doc/graphs/students_t_pdf.png
index 6329529a9f..6329529a9f 100644
--- a/libs/math/doc/sf_and_dist/graphs/students_t_pdf.png
+++ b/libs/math/doc/graphs/students_t_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/students_t_pdf.svg b/libs/math/doc/graphs/students_t_pdf.svg
new file mode 100644
index 0000000000..fb032aeb56
--- /dev/null
+++ b/libs/math/doc/graphs/students_t_pdf.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="528.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="530.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="349.4" y1="58" x2="349.4" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="614.6" y2="341"/><line x1="79.2" y1="341" x2="614.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328 L84.2,328 M82.2,315 L84.2,315 M82.2,302 L84.2,302 M82.2,289 L84.2,289 M82.2,263 L84.2,263 M82.2,250 L84.2,250 M82.2,237 L84.2,237 M82.2,223.9 L84.2,223.9 M82.2,197.9 L84.2,197.9 M82.2,184.9 L84.2,184.9 M82.2,171.9 L84.2,171.9 M82.2,158.9 L84.2,158.9 M82.2,132.9 L84.2,132.9 M82.2,119.9 L84.2,119.9 M82.2,106.9 L84.2,106.9 M82.2,93.89 L84.2,93.89 M82.2,67.88 L84.2,67.88 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M361.6,341 L361.6,343 M373.8,341 L373.8,343 M385.9,341 L385.9,343 M398.1,341 L398.1,343 M422.4,341 L422.4,343 M434.6,341 L434.6,343 M446.8,341 L446.8,343 M458.9,341 L458.9,343 M483.3,341 L483.3,343 M495.5,341 L495.5,343 M507.6,341 L507.6,343 M519.8,341 L519.8,343 M544.1,341 L544.1,343 M556.3,341 L556.3,343 M568.5,341 L568.5,343 M580.6,341 L580.6,343 M605,341 L605,343 M337.3,341 L337.3,343 M325.1,341 L325.1,343 M312.9,341 L312.9,343 M300.7,341 L300.7,343 M276.4,341 L276.4,343 M264.2,341 L264.2,343 M252.1,341 L252.1,343 M239.9,341 L239.9,343 M215.6,341 L215.6,343 M203.4,341 L203.4,343 M191.2,341 L191.2,343 M179.1,341 L179.1,343 M154.7,341 L154.7,343 M142.5,341 L142.5,343 M130.4,341 L130.4,343 M118.2,341 L118.2,343 M93.87,341 L93.87,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,276 L84.2,276 M79.2,210.9 L84.2,210.9 M79.2,145.9 L84.2,145.9 M79.2,80.89 L84.2,80.89 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M349.4,341 L349.4,346 M410.3,341 L410.3,346 M471.1,341 L471.1,346 M532,341 L532,346 M592.8,341 L592.8,346 M349.4,341 L349.4,346 M288.6,341 L288.6,346 M227.7,341 L227.7,346 M166.9,341 L166.9,346 M106,341 L106,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="349.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="410.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="471.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="532" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="592.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="349.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="288.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="227.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="166.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
+<text x="106" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="278.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="213.3" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="148.3" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="83.29" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="349.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,330.7 L86.85,330.5 L89.5,330.2 L92.16,330 L94.81,329.8 L97.46,329.6 L100.1,329.4 L102.8,329.1 L105.4,328.9 L108.1,328.6 L110.7,328.4 L113.4,328.1 L116,327.8 L118.7,327.5 L121.3,327.2 L124,326.9 L126.6,326.6 L129.3,326.3 L131.9,326 L134.6,325.6 L137.2,325.3 L139.9,324.9 L142.5,324.5 L145.2,324.1 L147.9,323.7 L150.5,323.3 L153.2,322.9 L155.8,322.4 L158.5,321.9 L161.1,321.4 L163.8,320.9 L166.4,320.4 L169.1,319.8 L171.7,319.3 L174.4,318.7 L177,318.1 L179.7,317.4 L182.3,316.8 L185,316.1 L187.6,315.4 L190.3,314.6 L192.9,313.8 L195.6,313 L198.2,312.1 L200.9,311.3 L203.5,310.3 L206.2,309.4 L208.9,308.3 L211.5,307.3 L214.2,306.2 L216.8,305 L219.5,303.8 L222.1,302.5 L224.8,301.2 L227.4,299.8 L230.1,298.3 L232.7,296.8 L235.4,295.1 L238,293.4 L240.7,291.6 L243.3,289.8 L246,287.8 L248.6,285.7 L251.3,283.5 L253.9,281.2 L256.6,278.8 L259.2,276.2 L261.9,273.6 L264.5,270.7 L267.2,267.8 L269.9,264.6 L272.5,261.3 L275.2,257.9 L277.8,254.2 L280.5,250.4 L283.1,246.4 L285.8,242.2 L288.4,237.8 L291.1,233.2 L293.7,228.4 L296.4,223.4 L299,218.2 L301.7,212.9 L304.3,207.4 L307,201.8 L309.6,196 L312.3,190.2 L314.9,184.3 L317.6,178.5 L320.2,172.7 L322.9,167.1 L325.6,161.6 L328.2,156.5 L330.9,151.6 L333.5,147.3 L336.2,143.4 L338.8,140.1 L341.5,137.5 L344.1,135.6 L346.8,134.4 L349.4,134 L352.1,134.4 L354.7,135.6 L357.4,137.5 L360,140.1 L362.7,143.4 L365.3,147.3 L368,151.6 L370.6,156.4 L373.3,161.6 L375.9,167 L378.6,172.7 L381.2,178.5 L383.9,184.3 L386.6,190.2 L389.2,196 L391.9,201.7 L394.5,207.4 L397.2,212.9 L399.8,218.2 L402.5,223.4 L405.1,228.4 L407.8,233.2 L410.4,237.8 L413.1,242.2 L415.7,246.4 L418.4,250.4 L421,254.2 L423.7,257.9 L426.3,261.3 L429,264.6 L431.6,267.7 L434.3,270.7 L436.9,273.6 L439.6,276.2 L442.2,278.8 L444.9,281.2 L447.6,283.5 L450.2,285.7 L452.9,287.8 L455.5,289.8 L458.2,291.6 L460.8,293.4 L463.5,295.1 L466.1,296.8 L468.8,298.3 L471.4,299.8 L474.1,301.2 L476.7,302.5 L479.4,303.8 L482,305 L484.7,306.2 L487.3,307.3 L490,308.3 L492.6,309.4 L495.3,310.3 L497.9,311.3 L500.6,312.1 L503.2,313 L505.9,313.8 L508.6,314.6 L511.2,315.3 L513.9,316.1 L516.5,316.8 L519.2,317.4 L521.8,318.1 L524.5,318.7 L527.1,319.3 L529.8,319.8 L532.4,320.4 L535.1,320.9 L537.7,321.4 L540.4,321.9 L543,322.4 L545.7,322.8 L548.3,323.3 L551,323.7 L553.6,324.1 L556.3,324.5 L558.9,324.9 L561.6,325.3 L564.2,325.6 L566.9,326 L569.6,326.3 L572.2,326.6 L574.9,326.9 L577.5,327.2 L580.2,327.5 L582.8,327.8 L585.5,328.1 L588.1,328.4 L590.8,328.6 L593.4,328.9 L596.1,329.1 L598.7,329.4 L601.4,329.6 L604,329.8 L606.7,330 L609.3,330.2 L612,330.5 L614.6,330.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,338.8 L86.85,338.7 L89.5,338.5 L92.16,338.4 L94.81,338.3 L97.46,338.2 L100.1,338 L102.8,337.9 L105.4,337.7 L108.1,337.5 L110.7,337.4 L113.4,337.2 L116,337 L118.7,336.8 L121.3,336.5 L124,336.3 L126.6,336.1 L129.3,335.8 L131.9,335.5 L134.6,335.2 L137.2,334.9 L139.9,334.6 L142.5,334.2 L145.2,333.8 L147.9,333.4 L150.5,333 L153.2,332.6 L155.8,332.1 L158.5,331.6 L161.1,331 L163.8,330.5 L166.4,329.9 L169.1,329.2 L171.7,328.5 L174.4,327.8 L177,327 L179.7,326.2 L182.3,325.4 L185,324.4 L187.6,323.5 L190.3,322.4 L192.9,321.3 L195.6,320.1 L198.2,318.9 L200.9,317.6 L203.5,316.1 L206.2,314.7 L208.9,313.1 L211.5,311.4 L214.2,309.6 L216.8,307.7 L219.5,305.7 L222.1,303.6 L224.8,301.3 L227.4,299 L230.1,296.5 L232.7,293.8 L235.4,291 L238,288 L240.7,284.9 L243.3,281.6 L246,278.2 L248.6,274.6 L251.3,270.7 L253.9,266.8 L256.6,262.6 L259.2,258.2 L261.9,253.7 L264.5,248.9 L267.2,244 L269.9,238.9 L272.5,233.6 L275.2,228.1 L277.8,222.5 L280.5,216.7 L283.1,210.8 L285.8,204.7 L288.4,198.5 L291.1,192.3 L293.7,185.9 L296.4,179.5 L299,173.2 L301.7,166.8 L304.3,160.4 L307,154.2 L309.6,148 L312.3,142 L314.9,136.2 L317.6,130.6 L320.2,125.3 L322.9,120.3 L325.6,115.6 L328.2,111.3 L330.9,107.4 L333.5,104 L336.2,101.1 L338.8,98.6 L341.5,96.67 L344.1,95.27 L346.8,94.43 L349.4,94.15 L352.1,94.43 L354.7,95.27 L357.4,96.66 L360,98.59 L362.7,101 L365.3,104 L368,107.4 L370.6,111.3 L373.3,115.6 L375.9,120.3 L378.6,125.3 L381.2,130.6 L383.9,136.2 L386.6,142 L389.2,148 L391.9,154.1 L394.5,160.4 L397.2,166.7 L399.8,173.1 L402.5,179.5 L405.1,185.9 L407.8,192.2 L410.4,198.5 L413.1,204.7 L415.7,210.7 L418.4,216.7 L421,222.5 L423.7,228.1 L426.3,233.6 L429,238.9 L431.6,244 L434.3,248.9 L436.9,253.6 L439.6,258.2 L442.2,262.6 L444.9,266.7 L447.6,270.7 L450.2,274.5 L452.9,278.2 L455.5,281.6 L458.2,284.9 L460.8,288 L463.5,291 L466.1,293.8 L468.8,296.4 L471.4,299 L474.1,301.3 L476.7,303.6 L479.4,305.7 L482,307.7 L484.7,309.6 L487.3,311.4 L490,313.1 L492.6,314.6 L495.3,316.1 L497.9,317.5 L500.6,318.9 L503.2,320.1 L505.9,321.3 L508.6,322.4 L511.2,323.5 L513.9,324.4 L516.5,325.4 L519.2,326.2 L521.8,327 L524.5,327.8 L527.1,328.5 L529.8,329.2 L532.4,329.9 L535.1,330.5 L537.7,331 L540.4,331.6 L543,332.1 L545.7,332.6 L548.3,333 L551,333.4 L553.6,333.8 L556.3,334.2 L558.9,334.6 L561.6,334.9 L564.2,335.2 L566.9,335.5 L569.6,335.8 L572.2,336.1 L574.9,336.3 L577.5,336.5 L580.2,336.8 L582.8,337 L585.5,337.2 L588.1,337.4 L590.8,337.5 L593.4,337.7 L596.1,337.9 L598.7,338 L601.4,338.2 L604,338.3 L606.7,338.4 L609.3,338.5 L612,338.7 L614.6,338.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,340.9 L86.85,340.9 L89.5,340.8 L92.16,340.8 L94.81,340.8 L97.46,340.8 L100.1,340.7 L102.8,340.7 L105.4,340.7 L108.1,340.6 L110.7,340.6 L113.4,340.5 L116,340.5 L118.7,340.4 L121.3,340.3 L124,340.3 L126.6,340.2 L129.3,340.1 L131.9,339.9 L134.6,339.8 L137.2,339.7 L139.9,339.5 L142.5,339.4 L145.2,339.2 L147.9,339 L150.5,338.7 L153.2,338.5 L155.8,338.2 L158.5,337.8 L161.1,337.5 L163.8,337.1 L166.4,336.7 L169.1,336.2 L171.7,335.7 L174.4,335.1 L177,334.5 L179.7,333.8 L182.3,333 L185,332.2 L187.6,331.3 L190.3,330.3 L192.9,329.3 L195.6,328.1 L198.2,326.9 L200.9,325.5 L203.5,324 L206.2,322.4 L208.9,320.7 L211.5,318.8 L214.2,316.8 L216.8,314.6 L219.5,312.3 L222.1,309.9 L224.8,307.2 L227.4,304.4 L230.1,301.4 L232.7,298.2 L235.4,294.8 L238,291.2 L240.7,287.4 L243.3,283.4 L246,279.2 L248.6,274.7 L251.3,270.1 L253.9,265.3 L256.6,260.2 L259.2,255 L261.9,249.5 L264.5,243.9 L267.2,238 L269.9,232.1 L272.5,225.9 L275.2,219.6 L277.8,213.2 L280.5,206.7 L283.1,200.1 L285.8,193.4 L288.4,186.6 L291.1,179.9 L293.7,173.1 L296.4,166.4 L299,159.8 L301.7,153.2 L304.3,146.8 L307,140.5 L309.6,134.4 L312.3,128.5 L314.9,122.9 L317.6,117.5 L320.2,112.4 L322.9,107.7 L325.6,103.4 L328.2,99.37 L330.9,95.8 L333.5,92.66 L336.2,89.96 L338.8,87.74 L341.5,85.99 L344.1,84.74 L346.8,83.98 L349.4,83.73 L352.1,83.98 L354.7,84.73 L357.4,85.99 L360,87.73 L362.7,89.96 L365.3,92.65 L368,95.79 L370.6,99.36 L373.3,103.3 L375.9,107.7 L378.6,112.4 L381.2,117.5 L383.9,122.9 L386.6,128.5 L389.2,134.4 L391.9,140.5 L394.5,146.8 L397.2,153.2 L399.8,159.8 L402.5,166.4 L405.1,173.1 L407.8,179.9 L410.4,186.6 L413.1,193.4 L415.7,200 L418.4,206.7 L421,213.2 L423.7,219.6 L426.3,225.9 L429,232 L431.6,238 L434.3,243.8 L436.9,249.5 L439.6,254.9 L442.2,260.2 L444.9,265.2 L447.6,270.1 L450.2,274.7 L452.9,279.1 L455.5,283.4 L458.2,287.4 L460.8,291.2 L463.5,294.8 L466.1,298.2 L468.8,301.4 L471.4,304.4 L474.1,307.2 L476.7,309.8 L479.4,312.3 L482,314.6 L484.7,316.8 L487.3,318.8 L490,320.7 L492.6,322.4 L495.3,324 L497.9,325.5 L500.6,326.8 L503.2,328.1 L505.9,329.3 L508.6,330.3 L511.2,331.3 L513.9,332.2 L516.5,333 L519.2,333.8 L521.8,334.5 L524.5,335.1 L527.1,335.7 L529.8,336.2 L532.4,336.7 L535.1,337.1 L537.7,337.5 L540.4,337.8 L543,338.2 L545.7,338.5 L548.3,338.7 L551,338.9 L553.6,339.2 L556.3,339.4 L558.9,339.5 L561.6,339.7 L564.2,339.8 L566.9,339.9 L569.6,340.1 L572.2,340.2 L574.9,340.3 L577.5,340.3 L580.2,340.4 L582.8,340.5 L585.5,340.5 L588.1,340.6 L590.8,340.6 L593.4,340.7 L596.1,340.7 L598.7,340.7 L601.4,340.8 L604,340.8 L606.7,340.8 L609.3,340.8 L612,340.9 L614.6,340.9 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="628.6" y="58" width="95.36" height="105"/><rect x="628.6" y="58" width="95.36" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="88" x2="658.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="118" x2="658.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="148" x2="658.6" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="666.1" y="88" font-size="15" font-family="Verdana">v=1</text>
+<text x="666.1" y="118" font-size="15" font-family="Verdana">v=5</text>
+<text x="666.1" y="148" font-size="15" font-family="Verdana">v=30</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Students T Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/survival.png b/libs/math/doc/graphs/survival.png
index be20ae786d..be20ae786d 100644
--- a/libs/math/doc/sf_and_dist/graphs/survival.png
+++ b/libs/math/doc/graphs/survival.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/survival_inv.png b/libs/math/doc/graphs/survival_inv.png
index 85f4f941d0..85f4f941d0 100644
--- a/libs/math/doc/sf_and_dist/graphs/survival_inv.png
+++ b/libs/math/doc/graphs/survival_inv.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/tgamma.png b/libs/math/doc/graphs/tgamma.png
index e3d950764e..e3d950764e 100644
--- a/libs/math/doc/sf_and_dist/graphs/tgamma.png
+++ b/libs/math/doc/graphs/tgamma.png
Binary files differ
diff --git a/libs/math/doc/graphs/tgamma.svg b/libs/math/doc/graphs/tgamma.svg
new file mode 100644
index 0000000000..e9c6e80d88
--- /dev/null
+++ b/libs/math/doc/graphs/tgamma.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="281.4" y1="58" x2="281.4" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="574" y2="202.3"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,187.8 L92.6,187.8 M90.6,173.4 L92.6,173.4 M90.6,158.9 L92.6,158.9 M90.6,130 L92.6,130 M90.6,115.6 L92.6,115.6 M90.6,101.1 L92.6,101.1 M90.6,72.22 L92.6,72.22 M90.6,202.3 L92.6,202.3 M90.6,216.7 L92.6,216.7 M90.6,231.2 L92.6,231.2 M90.6,245.6 L92.6,245.6 M90.6,260.1 L92.6,260.1 M90.6,274.5 L92.6,274.5 M90.6,289 L92.6,289 M90.6,303.4 L92.6,303.4 M90.6,317.9 L92.6,317.9 M90.6,332.3 L92.6,332.3 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M293.2,341 L293.2,343 M305,341 L305,343 M316.8,341 L316.8,343 M340.4,341 L340.4,343 M352.2,341 L352.2,343 M364,341 L364,343 M387.6,341 L387.6,343 M399.4,341 L399.4,343 M411.2,341 L411.2,343 M434.8,341 L434.8,343 M446.6,341 L446.6,343 M458.4,341 L458.4,343 M482,341 L482,343 M493.8,341 L493.8,343 M505.6,341 L505.6,343 M529.2,341 L529.2,343 M541,341 L541,343 M552.8,341 L552.8,343 M269.6,341 L269.6,343 M257.8,341 L257.8,343 M246,341 L246,343 M222.4,341 L222.4,343 M210.6,341 L210.6,343 M198.8,341 L198.8,343 M175.2,341 L175.2,343 M163.4,341 L163.4,343 M151.6,341 L151.6,343 M128,341 L128,343 M116.2,341 L116.2,343 M104.4,341 L104.4,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,144.5 L92.6,144.5 M87.6,86.67 L92.6,86.67 M87.6,202.3 L92.6,202.3 M87.6,260.1 L92.6,260.1 M87.6,317.9 L92.6,317.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M281.4,341 L281.4,346 M328.6,341 L328.6,346 M375.8,341 L375.8,346 M423,341 L423,346 M470.2,341 L470.2,346 M517.4,341 L517.4,346 M564.6,341 L564.6,346 M281.4,341 L281.4,346 M234.2,341 L234.2,346 M187,341 L187,346 M139.8,341 L139.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="281.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="375.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="423" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="470.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
+<text x="517.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
+<text x="281.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="234.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="187" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
+<text x="139.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="146.9" text-anchor="end" font-size="12" font-family="Verdana">50</text>
+<text x="81.6" y="89.07" text-anchor="end" font-size="12" font-family="Verdana">100</text>
+<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="262.5" text-anchor="end" font-size="12" font-family="Verdana">-50</text>
+<text x="81.6" y="320.3" text-anchor="end" font-size="12" font-family="Verdana">-100</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">tgamma(z)</text></g>
+<g id="xLabel">
+<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M281.8,63.55 L283.2,172.7 L284.6,185.9 L286,191.1 L287.4,193.8 L288.8,195.5 L290.2,196.6 L291.7,197.4 L293.1,198 L294.5,198.5 L295.9,198.9 L297.3,199.2 L298.7,199.5 L300.1,199.7 L301.6,199.9 L303,200 L304.4,200.2 L305.8,200.3 L307.2,200.4 L308.6,200.5 L310,200.6 L311.5,200.6 L312.9,200.7 L314.3,200.8 L315.7,200.8 L317.1,200.9 L318.5,200.9 L319.9,201 L321.4,201 L322.8,201 L324.2,201 L325.6,201.1 L327,201.1 L328.4,201.1 L329.8,201.1 L331.3,201.2 L332.7,201.2 L334.1,201.2 L335.5,201.2 L336.9,201.2 L338.3,201.2 L339.7,201.2 L341.2,201.2 L342.6,201.2 L344,201.2 L345.4,201.2 L346.8,201.2 L348.2,201.2 L349.6,201.3 L351.1,201.3 L352.5,201.2 L353.9,201.2 L355.3,201.2 L356.7,201.2 L358.1,201.2 L359.5,201.2 L360.9,201.2 L362.4,201.2 L363.8,201.2 L365.2,201.2 L366.6,201.2 L368,201.2 L369.4,201.2 L370.8,201.2 L372.3,201.2 L373.7,201.1 L375.1,201.1 L376.5,201.1 L377.9,201.1 L379.3,201.1 L380.7,201.1 L382.2,201 L383.6,201 L385,201 L386.4,201 L387.8,201 L389.2,200.9 L390.6,200.9 L392.1,200.9 L393.5,200.9 L394.9,200.8 L396.3,200.8 L397.7,200.8 L399.1,200.7 L400.5,200.7 L402,200.7 L403.4,200.6 L404.8,200.6 L406.2,200.6 L407.6,200.5 L409,200.5 L410.4,200.4 L411.9,200.4 L413.3,200.3 L414.7,200.3 L416.1,200.2 L417.5,200.2 L418.9,200.1 L420.3,200.1 L421.7,200 L423.2,200 L424.6,199.9 L426,199.8 L427.4,199.7 L428.8,199.7 L430.2,199.6 L431.6,199.5 L433.1,199.4 L434.5,199.3 L435.9,199.3 L437.3,199.2 L438.7,199.1 L440.1,199 L441.5,198.9 L443,198.7 L444.4,198.6 L445.8,198.5 L447.2,198.4 L448.6,198.2 L450,198.1 L451.4,198 L452.9,197.8 L454.3,197.7 L455.7,197.5 L457.1,197.3 L458.5,197.1 L459.9,197 L461.3,196.8 L462.8,196.6 L464.2,196.3 L465.6,196.1 L467,195.9 L468.4,195.7 L469.8,195.4 L471.2,195.1 L472.7,194.9 L474.1,194.6 L475.5,194.3 L476.9,194 L478.3,193.6 L479.7,193.3 L481.1,192.9 L482.6,192.5 L484,192.1 L485.4,191.7 L486.8,191.3 L488.2,190.8 L489.6,190.4 L491,189.9 L492.4,189.3 L493.9,188.8 L495.3,188.2 L496.7,187.6 L498.1,187 L499.5,186.3 L500.9,185.6 L502.3,184.9 L503.8,184.1 L505.2,183.3 L506.6,182.5 L508,181.6 L509.4,180.7 L510.8,179.7 L512.2,178.7 L513.7,177.6 L515.1,176.5 L516.5,175.3 L517.9,174 L519.3,172.7 L520.7,171.4 L522.1,169.9 L523.6,168.4 L525,166.8 L526.4,165.1 L527.8,163.4 L529.2,161.5 L530.6,159.5 L532,157.5 L533.5,155.3 L534.9,153 L536.3,150.6 L537.7,148.1 L539.1,145.5 L540.5,142.7 L541.9,139.7 L543.4,136.6 L544.8,133.3 L546.2,129.9 L547.6,126.2 L549,122.4 L550.4,118.4 L551.8,114.1 L553.2,109.6 L554.7,104.9 L556.1,99.89 L557.5,94.61 L558.9,89.05 L560.3,83.18 L561.7,76.99 L563.1,70.45 L564.6,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M234.6,341 L234.8,289.8 L235,266.3 L235.3,252.8 L235.5,244.1 L235.7,237.9 L236,233.4 L236.2,229.9 L236.4,227.1 L236.7,224.8 L236.9,223 L237.1,221.4 L237.4,220 L237.6,218.9 L237.8,217.9 L238.1,217 L238.3,216.2 L238.5,215.5 L238.7,214.9 L239,214.3 L239.2,213.8 L239.4,213.3 L239.7,212.9 L239.9,212.5 L240.1,212.1 L240.4,211.8 L240.6,211.5 L240.8,211.2 L241.1,210.9 L241.3,210.7 L241.5,210.5 L241.8,210.2 L242,210 L242.2,209.8 L242.5,209.7 L242.7,209.5 L242.9,209.3 L243.2,209.2 L243.4,209 L243.6,208.9 L243.9,208.8 L244.1,208.7 L244.3,208.5 L244.5,208.4 L244.8,208.3 L245,208.2 L245.2,208.1 L245.5,208 L245.7,208 L245.9,207.9 L246.2,207.8 L246.4,207.7 L246.6,207.7 L246.9,207.6 L247.1,207.5 L247.3,207.5 L247.6,207.4 L247.8,207.3 L248,207.3 L248.3,207.2 L248.5,207.2 L248.7,207.1 L249,207.1 L249.2,207 L249.4,207 L249.7,207 L249.9,206.9 L250.1,206.9 L250.4,206.9 L250.6,206.8 L250.8,206.8 L251,206.8 L251.3,206.7 L251.5,206.7 L251.7,206.7 L252,206.6 L252.2,206.6 L252.4,206.6 L252.7,206.6 L252.9,206.6 L253.1,206.5 L253.4,206.5 L253.6,206.5 L253.8,206.5 L254.1,206.5 L254.3,206.5 L254.5,206.5 L254.8,206.4 L255,206.4 L255.2,206.4 L255.5,206.4 L255.7,206.4 L255.9,206.4 L256.2,206.4 L256.4,206.4 L256.6,206.4 L256.8,206.4 L257.1,206.4 L257.3,206.4 L257.5,206.4 L257.8,206.4 L258,206.4 L258.2,206.4 L258.5,206.4 L258.7,206.4 L258.9,206.4 L259.2,206.4 L259.4,206.4 L259.6,206.4 L259.9,206.4 L260.1,206.4 L260.3,206.4 L260.6,206.4 L260.8,206.5 L261,206.5 L261.3,206.5 L261.5,206.5 L261.7,206.5 L262,206.5 L262.2,206.6 L262.4,206.6 L262.6,206.6 L262.9,206.6 L263.1,206.6 L263.3,206.7 L263.6,206.7 L263.8,206.7 L264,206.7 L264.3,206.8 L264.5,206.8 L264.7,206.8 L265,206.9 L265.2,206.9 L265.4,206.9 L265.7,207 L265.9,207 L266.1,207.1 L266.4,207.1 L266.6,207.1 L266.8,207.2 L267.1,207.2 L267.3,207.3 L267.5,207.3 L267.8,207.4 L268,207.5 L268.2,207.5 L268.4,207.6 L268.7,207.7 L268.9,207.7 L269.1,207.8 L269.4,207.9 L269.6,208 L269.8,208 L270.1,208.1 L270.3,208.2 L270.5,208.3 L270.8,208.4 L271,208.5 L271.2,208.6 L271.5,208.7 L271.7,208.9 L271.9,209 L272.2,209.1 L272.4,209.3 L272.6,209.4 L272.9,209.6 L273.1,209.8 L273.3,210 L273.6,210.1 L273.8,210.3 L274,210.6 L274.3,210.8 L274.5,211.1 L274.7,211.3 L274.9,211.6 L275.2,211.9 L275.4,212.3 L275.6,212.6 L275.9,213 L276.1,213.4 L276.3,213.9 L276.6,214.4 L276.8,215 L277,215.6 L277.3,216.3 L277.5,217.1 L277.7,218 L278,219 L278.2,220.2 L278.4,221.5 L278.7,223.1 L278.9,225 L279.1,227.2 L279.4,230 L279.6,233.5 L279.8,238.1 L280.1,244.2 L280.3,253 L280.5,266.5 L280.7,289.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M187.2,63.55 L187.4,138.4 L187.6,160.6 L187.9,171.3 L188.1,177.6 L188.3,181.7 L188.6,184.6 L188.8,186.8 L189,188.5 L189.3,189.8 L189.5,190.9 L189.7,191.8 L190,192.6 L190.2,193.2 L190.4,193.8 L190.7,194.3 L190.9,194.7 L191.1,195.1 L191.4,195.4 L191.6,195.7 L191.8,196 L192.1,196.3 L192.3,196.5 L192.5,196.7 L192.8,196.9 L193,197.1 L193.2,197.2 L193.5,197.4 L193.7,197.5 L193.9,197.6 L194.2,197.8 L194.4,197.9 L194.6,198 L194.9,198.1 L195.1,198.2 L195.3,198.2 L195.6,198.3 L195.8,198.4 L196,198.5 L196.3,198.5 L196.5,198.6 L196.7,198.7 L197,198.7 L197.2,198.8 L197.4,198.8 L197.7,198.9 L197.9,198.9 L198.1,199 L198.4,199 L198.6,199.1 L198.8,199.1 L199.1,199.1 L199.3,199.2 L199.5,199.2 L199.8,199.2 L200,199.2 L200.2,199.3 L200.5,199.3 L200.7,199.3 L200.9,199.3 L201.2,199.4 L201.4,199.4 L201.6,199.4 L201.9,199.4 L202.1,199.4 L202.3,199.5 L202.6,199.5 L202.8,199.5 L203,199.5 L203.3,199.5 L203.5,199.5 L203.7,199.5 L204,199.6 L204.2,199.6 L204.4,199.6 L204.7,199.6 L204.9,199.6 L205.1,199.6 L205.4,199.6 L205.6,199.6 L205.8,199.6 L206.1,199.6 L206.3,199.6 L206.5,199.6 L206.8,199.6 L207,199.6 L207.2,199.6 L207.5,199.6 L207.7,199.6 L207.9,199.6 L208.2,199.6 L208.4,199.6 L208.6,199.6 L208.8,199.6 L209.1,199.6 L209.3,199.6 L209.5,199.6 L209.8,199.6 L210,199.6 L210.2,199.6 L210.5,199.5 L210.7,199.5 L210.9,199.5 L211.2,199.5 L211.4,199.5 L211.6,199.5 L211.9,199.5 L212.1,199.5 L212.3,199.5 L212.6,199.4 L212.8,199.4 L213,199.4 L213.3,199.4 L213.5,199.4 L213.7,199.3 L214,199.3 L214.2,199.3 L214.4,199.3 L214.7,199.3 L214.9,199.2 L215.1,199.2 L215.4,199.2 L215.6,199.2 L215.8,199.1 L216.1,199.1 L216.3,199.1 L216.5,199.1 L216.8,199 L217,199 L217.2,199 L217.5,198.9 L217.7,198.9 L217.9,198.8 L218.2,198.8 L218.4,198.8 L218.6,198.7 L218.9,198.7 L219.1,198.6 L219.3,198.6 L219.6,198.5 L219.8,198.5 L220,198.4 L220.3,198.4 L220.5,198.3 L220.7,198.2 L221,198.2 L221.2,198.1 L221.4,198.1 L221.7,198 L221.9,197.9 L222.1,197.8 L222.4,197.7 L222.6,197.7 L222.8,197.6 L223.1,197.5 L223.3,197.4 L223.5,197.3 L223.8,197.2 L224,197.1 L224.2,196.9 L224.5,196.8 L224.7,196.7 L224.9,196.6 L225.2,196.4 L225.4,196.3 L225.6,196.1 L225.9,195.9 L226.1,195.7 L226.3,195.5 L226.6,195.3 L226.8,195.1 L227,194.9 L227.3,194.6 L227.5,194.4 L227.7,194.1 L228,193.8 L228.2,193.4 L228.4,193.1 L228.7,192.7 L228.9,192.3 L229.1,191.8 L229.4,191.3 L229.6,190.7 L229.8,190.1 L230.1,189.4 L230.3,188.6 L230.5,187.7 L230.8,186.7 L231,185.5 L231.2,184.2 L231.5,182.6 L231.7,180.8 L231.9,178.5 L232.2,175.7 L232.4,172.2 L232.6,167.7 L232.9,161.5 L233.1,152.7 L233.3,139.1 L233.6,115.4 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M139.8,341 L140.1,232.8 L140.3,219.5 L140.6,214.3 L140.8,211.6 L141,209.9 L141.3,208.7 L141.5,207.9 L141.7,207.2 L142,206.7 L142.2,206.3 L142.4,206 L142.7,205.7 L142.9,205.5 L143.1,205.3 L143.4,205.1 L143.6,204.9 L143.8,204.8 L144.1,204.7 L144.3,204.6 L144.5,204.5 L144.8,204.4 L145,204.3 L145.2,204.2 L145.5,204.2 L145.7,204.1 L145.9,204.1 L146.2,204 L146.4,204 L146.7,203.9 L146.9,203.9 L147.1,203.8 L147.4,203.8 L147.6,203.8 L147.8,203.7 L148.1,203.7 L148.3,203.7 L148.5,203.7 L148.8,203.6 L149,203.6 L149.2,203.6 L149.5,203.6 L149.7,203.6 L149.9,203.5 L150.2,203.5 L150.4,203.5 L150.6,203.5 L150.9,203.5 L151.1,203.5 L151.3,203.4 L151.6,203.4 L151.8,203.4 L152.1,203.4 L152.3,203.4 L152.5,203.4 L152.8,203.4 L153,203.4 L153.2,203.4 L153.5,203.4 L153.7,203.4 L153.9,203.4 L154.2,203.3 L154.4,203.3 L154.6,203.3 L154.9,203.3 L155.1,203.3 L155.3,203.3 L155.6,203.3 L155.8,203.3 L156,203.3 L156.3,203.3 L156.5,203.3 L156.7,203.3 L157,203.3 L157.2,203.3 L157.4,203.3 L157.7,203.3 L157.9,203.3 L158.2,203.3 L158.4,203.3 L158.6,203.3 L158.9,203.3 L159.1,203.3 L159.3,203.3 L159.6,203.3 L159.8,203.3 L160,203.3 L160.3,203.3 L160.5,203.3 L160.7,203.3 L161,203.3 L161.2,203.3 L161.4,203.3 L161.7,203.3 L161.9,203.3 L162.1,203.3 L162.4,203.3 L162.6,203.3 L162.8,203.4 L163.1,203.4 L163.3,203.4 L163.5,203.4 L163.8,203.4 L164,203.4 L164.3,203.4 L164.5,203.4 L164.7,203.4 L165,203.4 L165.2,203.4 L165.4,203.4 L165.7,203.4 L165.9,203.4 L166.1,203.5 L166.4,203.5 L166.6,203.5 L166.8,203.5 L167.1,203.5 L167.3,203.5 L167.5,203.5 L167.8,203.5 L168,203.6 L168.2,203.6 L168.5,203.6 L168.7,203.6 L168.9,203.6 L169.2,203.6 L169.4,203.6 L169.7,203.7 L169.9,203.7 L170.1,203.7 L170.4,203.7 L170.6,203.7 L170.8,203.7 L171.1,203.8 L171.3,203.8 L171.5,203.8 L171.8,203.8 L172,203.9 L172.2,203.9 L172.5,203.9 L172.7,203.9 L172.9,204 L173.2,204 L173.4,204 L173.6,204.1 L173.9,204.1 L174.1,204.1 L174.3,204.2 L174.6,204.2 L174.8,204.2 L175,204.3 L175.3,204.3 L175.5,204.4 L175.8,204.4 L176,204.4 L176.2,204.5 L176.5,204.5 L176.7,204.6 L176.9,204.7 L177.2,204.7 L177.4,204.8 L177.6,204.9 L177.9,204.9 L178.1,205 L178.3,205.1 L178.6,205.2 L178.8,205.2 L179,205.3 L179.3,205.4 L179.5,205.5 L179.7,205.7 L180,205.8 L180.2,205.9 L180.4,206.1 L180.7,206.2 L180.9,206.4 L181.2,206.5 L181.4,206.7 L181.6,206.9 L181.9,207.2 L182.1,207.4 L182.3,207.7 L182.6,208 L182.8,208.3 L183,208.7 L183.3,209.2 L183.5,209.7 L183.7,210.2 L184,210.9 L184.2,211.6 L184.4,212.5 L184.7,213.6 L184.9,214.9 L185.1,216.6 L185.4,218.8 L185.6,221.7 L185.8,225.8 L186.1,232.1 L186.3,242.8 L186.5,265.1 L186.8,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,63.55 L92.84,193.2 L93.07,197.5 L93.31,199.1 L93.54,199.8 L93.78,200.3 L94.01,200.6 L94.25,200.8 L94.48,201 L94.72,201.1 L94.96,201.2 L95.19,201.3 L95.43,201.4 L95.66,201.5 L95.9,201.5 L96.13,201.6 L96.37,201.6 L96.6,201.6 L96.84,201.7 L97.08,201.7 L97.31,201.7 L97.55,201.7 L97.78,201.7 L98.02,201.8 L98.25,201.8 L98.49,201.8 L98.73,201.8 L98.96,201.8 L99.2,201.8 L99.43,201.8 L99.67,201.9 L99.9,201.9 L100.1,201.9 L100.4,201.9 L100.6,201.9 L100.8,201.9 L101.1,201.9 L101.3,201.9 L101.6,201.9 L101.8,201.9 L102,201.9 L102.3,201.9 L102.5,201.9 L102.7,201.9 L103,201.9 L103.2,201.9 L103.4,202 L103.7,202 L103.9,202 L104.1,202 L104.4,202 L104.6,202 L104.9,202 L105.1,202 L105.3,202 L105.6,202 L105.8,202 L106,202 L106.3,202 L106.5,202 L106.7,202 L107,202 L107.2,202 L107.4,202 L107.7,202 L107.9,202 L108.1,202 L108.4,202 L108.6,202 L108.9,202 L109.1,202 L109.3,202 L109.6,202 L109.8,202 L110,202 L110.3,202 L110.5,202 L110.7,202 L111,202 L111.2,202 L111.4,202 L111.7,202 L111.9,202 L112.2,202 L112.4,202 L112.6,202 L112.9,202 L113.1,202 L113.3,202 L113.6,202 L113.8,202 L114,202 L114.3,202 L114.5,202 L114.7,202 L115,202 L115.2,202 L115.5,202 L115.7,202 L115.9,202 L116.2,202 L116.4,202 L116.6,202 L116.9,202 L117.1,202 L117.3,202 L117.6,201.9 L117.8,201.9 L118,201.9 L118.3,201.9 L118.5,201.9 L118.7,201.9 L119,201.9 L119.2,201.9 L119.5,201.9 L119.7,201.9 L119.9,201.9 L120.2,201.9 L120.4,201.9 L120.6,201.9 L120.9,201.9 L121.1,201.9 L121.3,201.9 L121.6,201.9 L121.8,201.9 L122,201.9 L122.3,201.9 L122.5,201.9 L122.8,201.9 L123,201.9 L123.2,201.8 L123.5,201.8 L123.7,201.8 L123.9,201.8 L124.2,201.8 L124.4,201.8 L124.6,201.8 L124.9,201.8 L125.1,201.8 L125.3,201.8 L125.6,201.8 L125.8,201.8 L126.1,201.8 L126.3,201.7 L126.5,201.7 L126.8,201.7 L127,201.7 L127.2,201.7 L127.5,201.7 L127.7,201.7 L127.9,201.7 L128.2,201.6 L128.4,201.6 L128.6,201.6 L128.9,201.6 L129.1,201.6 L129.4,201.6 L129.6,201.5 L129.8,201.5 L130.1,201.5 L130.3,201.5 L130.5,201.5 L130.8,201.4 L131,201.4 L131.2,201.4 L131.5,201.4 L131.7,201.3 L131.9,201.3 L132.2,201.3 L132.4,201.2 L132.6,201.2 L132.9,201.1 L133.1,201.1 L133.4,201 L133.6,201 L133.8,200.9 L134.1,200.9 L134.3,200.8 L134.5,200.7 L134.8,200.7 L135,200.6 L135.2,200.5 L135.5,200.4 L135.7,200.2 L135.9,200.1 L136.2,200 L136.4,199.8 L136.7,199.6 L136.9,199.3 L137.1,199.1 L137.4,198.7 L137.6,198.3 L137.8,197.8 L138.1,197.2 L138.3,196.4 L138.5,195.2 L138.8,193.5 L139,190.7 L139.2,185.6 L139.5,172.3 L139.7,63.55 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">tgamma</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.png b/libs/math/doc/graphs/tgamma_delta_ratio.png
index 4e86a437ae..4e86a437ae 100644
--- a/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.png
+++ b/libs/math/doc/graphs/tgamma_delta_ratio.png
Binary files differ
diff --git a/libs/math/doc/graphs/tgamma_delta_ratio.svg b/libs/math/doc/graphs/tgamma_delta_ratio.svg
new file mode 100644
index 0000000000..6ef44b6f90
--- /dev/null
+++ b/libs/math/doc/graphs/tgamma_delta_ratio.svg
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="68.4" y="59" width="336.5" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="338.5" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="341" x2="405.9" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,331 L67.4,331 M65.4,319.8 L67.4,319.8 M65.4,308.7 L67.4,308.7 M65.4,286.4 L67.4,286.4 M65.4,275.3 L67.4,275.3 M65.4,264.1 L67.4,264.1 M65.4,241.8 L67.4,241.8 M65.4,230.7 L67.4,230.7 M65.4,219.5 L67.4,219.5 M65.4,197.3 L67.4,197.3 M65.4,186.1 L67.4,186.1 M65.4,175 L67.4,175 M65.4,152.7 L67.4,152.7 M65.4,141.5 L67.4,141.5 M65.4,130.4 L67.4,130.4 M65.4,108.1 L67.4,108.1 M65.4,96.96 L67.4,96.96 M65.4,85.81 L67.4,85.81 M65.4,63.53 L67.4,63.53 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M80.16,341 L80.16,343 M101.4,341 L101.4,343 M122.7,341 L122.7,343 M165.3,341 L165.3,343 M186.5,341 L186.5,343 M207.8,341 L207.8,343 M250.4,341 L250.4,343 M271.6,341 L271.6,343 M292.9,341 L292.9,343 M335.5,341 L335.5,343 M356.7,341 L356.7,343 M378,341 L378,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,297.5 L67.4,297.5 M62.4,253 L67.4,253 M62.4,208.4 L67.4,208.4 M62.4,163.8 L67.4,163.8 M62.4,119.2 L67.4,119.2 M62.4,74.67 L67.4,74.67 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M144,341 L144,346 M229.1,341 L229.1,346 M314.2,341 L314.2,346 M399.3,341 L399.3,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="144" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="229.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
+<text x="314.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
+<text x="399.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">40</text></g>
+<g id="yTicksValues">
+<text x="56.4" y="299.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="56.4" y="255.4" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="56.4" y="210.8" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="56.4" y="166.2" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="56.4" y="121.6" text-anchor="end" font-size="12" font-family="Verdana">5</text>
+<text x="56.4" y="77.07" text-anchor="end" font-size="12" font-family="Verdana">6</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">tgamma_delta_ratio(delta, z)</text></g>
+<g id="xLabel">
+<text x="236.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,317 L69.06,310.7 L70.72,305.4 L72.38,300.6 L74.04,296.3 L75.7,292.3 L77.36,288.6 L79.02,285.1 L80.68,281.9 L82.33,278.8 L83.99,275.8 L85.65,273 L87.31,270.2 L88.97,267.6 L90.63,265 L92.29,262.6 L93.95,260.2 L95.61,257.9 L97.27,255.6 L98.93,253.4 L100.6,251.2 L102.2,249.1 L103.9,247.1 L105.6,245.1 L107.2,243.1 L108.9,241.1 L110.5,239.3 L112.2,237.4 L113.9,235.6 L115.5,233.8 L117.2,232 L118.8,230.2 L120.5,228.5 L122.2,226.8 L123.8,225.2 L125.5,223.5 L127.1,221.9 L128.8,220.3 L130.5,218.7 L132.1,217.2 L133.8,215.6 L135.4,214.1 L137.1,212.6 L138.8,211.1 L140.4,209.6 L142.1,208.2 L143.7,206.7 L145.4,205.3 L147.1,203.9 L148.7,202.5 L150.4,201.1 L152,199.8 L153.7,198.4 L155.3,197.1 L157,195.7 L158.7,194.4 L160.3,193.1 L162,191.8 L163.6,190.5 L165.3,189.3 L167,188 L168.6,186.8 L170.3,185.5 L171.9,184.3 L173.6,183.1 L175.3,181.9 L176.9,180.6 L178.6,179.5 L180.2,178.3 L181.9,177.1 L183.6,175.9 L185.2,174.8 L186.9,173.6 L188.5,172.5 L190.2,171.3 L191.9,170.2 L193.5,169.1 L195.2,168 L196.8,166.8 L198.5,165.7 L200.2,164.6 L201.8,163.6 L203.5,162.5 L205.1,161.4 L206.8,160.3 L208.5,159.3 L210.1,158.2 L211.8,157.2 L213.4,156.1 L215.1,155.1 L216.7,154 L218.4,153 L220.1,152 L221.7,151 L223.4,150 L225,149 L226.7,148 L228.4,147 L230,146 L231.7,145 L233.3,144 L235,143 L236.7,142.1 L238.3,141.1 L240,140.1 L241.6,139.2 L243.3,138.2 L245,137.3 L246.6,136.3 L248.3,135.4 L249.9,134.5 L251.6,133.5 L253.3,132.6 L254.9,131.7 L256.6,130.8 L258.2,129.9 L259.9,128.9 L261.6,128 L263.2,127.1 L264.9,126.2 L266.5,125.3 L268.2,124.4 L269.8,123.6 L271.5,122.7 L273.2,121.8 L274.8,120.9 L276.5,120 L278.1,119.2 L279.8,118.3 L281.5,117.4 L283.1,116.6 L284.8,115.7 L286.4,114.9 L288.1,114 L289.8,113.2 L291.4,112.3 L293.1,111.5 L294.7,110.6 L296.4,109.8 L298.1,109 L299.7,108.1 L301.4,107.3 L303,106.5 L304.7,105.7 L306.4,104.9 L308,104 L309.7,103.2 L311.3,102.4 L313,101.6 L314.7,100.8 L316.3,100 L318,99.21 L319.6,98.42 L321.3,97.62 L322.9,96.83 L324.6,96.04 L326.3,95.26 L327.9,94.47 L329.6,93.69 L331.2,92.91 L332.9,92.14 L334.6,91.36 L336.2,90.59 L337.9,89.82 L339.5,89.06 L341.2,88.29 L342.9,87.53 L344.5,86.77 L346.2,86.01 L347.8,85.26 L349.5,84.5 L351.2,83.75 L352.8,83 L354.5,82.26 L356.1,81.51 L357.8,80.77 L359.5,80.03 L361.1,79.29 L362.8,78.56 L364.4,77.82 L366.1,77.09 L367.8,76.36 L369.4,75.63 L371.1,74.91 L372.7,74.18 L374.4,73.46 L376.1,72.74 L377.7,72.02 L379.4,71.31 L381,70.59 L382.7,69.88 L384.3,69.17 L386,68.46 L387.7,67.75 L389.3,67.05 L391,66.34 L392.6,65.64 L394.3,64.94 L396,64.25 L397.6,63.55 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,303.8 L69.06,301.3 L70.72,299.1 L72.38,297.4 L74.04,295.8 L75.7,294.4 L77.36,293.2 L79.02,292.1 L80.68,291 L82.33,290.1 L83.99,289.2 L85.65,288.3 L87.31,287.5 L88.97,286.8 L90.63,286.1 L92.29,285.4 L93.95,284.8 L95.61,284.1 L97.27,283.5 L98.93,283 L100.6,282.4 L102.2,281.9 L103.9,281.4 L105.6,280.9 L107.2,280.4 L108.9,279.9 L110.5,279.5 L112.2,279 L113.9,278.6 L115.5,278.2 L117.2,277.8 L118.8,277.4 L120.5,277 L122.2,276.6 L123.8,276.3 L125.5,275.9 L127.1,275.6 L128.8,275.2 L130.5,274.9 L132.1,274.5 L133.8,274.2 L135.4,273.9 L137.1,273.6 L138.8,273.3 L140.4,273 L142.1,272.7 L143.7,272.4 L145.4,272.1 L147.1,271.8 L148.7,271.5 L150.4,271.3 L152,271 L153.7,270.7 L155.3,270.5 L157,270.2 L158.7,269.9 L160.3,269.7 L162,269.4 L163.6,269.2 L165.3,269 L167,268.7 L168.6,268.5 L170.3,268.3 L171.9,268 L173.6,267.8 L175.3,267.6 L176.9,267.4 L178.6,267.1 L180.2,266.9 L181.9,266.7 L183.6,266.5 L185.2,266.3 L186.9,266.1 L188.5,265.9 L190.2,265.7 L191.9,265.5 L193.5,265.3 L195.2,265.1 L196.8,264.9 L198.5,264.7 L200.2,264.5 L201.8,264.3 L203.5,264.1 L205.1,263.9 L206.8,263.8 L208.5,263.6 L210.1,263.4 L211.8,263.2 L213.4,263.1 L215.1,262.9 L216.7,262.7 L218.4,262.5 L220.1,262.4 L221.7,262.2 L223.4,262 L225,261.9 L226.7,261.7 L228.4,261.5 L230,261.4 L231.7,261.2 L233.3,261 L235,260.9 L236.7,260.7 L238.3,260.6 L240,260.4 L241.6,260.3 L243.3,260.1 L245,260 L246.6,259.8 L248.3,259.7 L249.9,259.5 L251.6,259.4 L253.3,259.2 L254.9,259.1 L256.6,258.9 L258.2,258.8 L259.9,258.7 L261.6,258.5 L263.2,258.4 L264.9,258.2 L266.5,258.1 L268.2,258 L269.8,257.8 L271.5,257.7 L273.2,257.6 L274.8,257.4 L276.5,257.3 L278.1,257.2 L279.8,257 L281.5,256.9 L283.1,256.8 L284.8,256.6 L286.4,256.5 L288.1,256.4 L289.8,256.2 L291.4,256.1 L293.1,256 L294.7,255.9 L296.4,255.8 L298.1,255.6 L299.7,255.5 L301.4,255.4 L303,255.3 L304.7,255.1 L306.4,255 L308,254.9 L309.7,254.8 L311.3,254.7 L313,254.6 L314.7,254.4 L316.3,254.3 L318,254.2 L319.6,254.1 L321.3,254 L322.9,253.9 L324.6,253.7 L326.3,253.6 L327.9,253.5 L329.6,253.4 L331.2,253.3 L332.9,253.2 L334.6,253.1 L336.2,253 L337.9,252.9 L339.5,252.8 L341.2,252.7 L342.9,252.5 L344.5,252.4 L346.2,252.3 L347.8,252.2 L349.5,252.1 L351.2,252 L352.8,251.9 L354.5,251.8 L356.1,251.7 L357.8,251.6 L359.5,251.5 L361.1,251.4 L362.8,251.3 L364.4,251.2 L366.1,251.1 L367.8,251 L369.4,250.9 L371.1,250.8 L372.7,250.7 L374.4,250.6 L376.1,250.5 L377.7,250.4 L379.4,250.3 L381,250.2 L382.7,250.1 L384.3,250 L386,249.9 L387.7,249.8 L389.3,249.7 L391,249.6 L392.6,249.6 L394.3,249.5 L396,249.4 L397.6,249.3 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M67.4,300.4 L69.06,299.1 L70.72,298.1 L72.38,297.2 L74.04,296.5 L75.7,295.9 L77.36,295.3 L79.02,294.8 L80.68,294.3 L82.33,293.8 L83.99,293.4 L85.65,293.1 L87.31,292.7 L88.97,292.4 L90.63,292.1 L92.29,291.8 L93.95,291.5 L95.61,291.2 L97.27,291 L98.93,290.7 L100.6,290.5 L102.2,290.2 L103.9,290 L105.6,289.8 L107.2,289.6 L108.9,289.4 L110.5,289.2 L112.2,289 L113.9,288.9 L115.5,288.7 L117.2,288.5 L118.8,288.4 L120.5,288.2 L122.2,288.1 L123.8,287.9 L125.5,287.8 L127.1,287.6 L128.8,287.5 L130.5,287.3 L132.1,287.2 L133.8,287.1 L135.4,286.9 L137.1,286.8 L138.8,286.7 L140.4,286.6 L142.1,286.5 L143.7,286.3 L145.4,286.2 L147.1,286.1 L148.7,286 L150.4,285.9 L152,285.8 L153.7,285.7 L155.3,285.6 L157,285.5 L158.7,285.4 L160.3,285.3 L162,285.2 L163.6,285.1 L165.3,285 L167,284.9 L168.6,284.8 L170.3,284.7 L171.9,284.6 L173.6,284.5 L175.3,284.5 L176.9,284.4 L178.6,284.3 L180.2,284.2 L181.9,284.1 L183.6,284 L185.2,284 L186.9,283.9 L188.5,283.8 L190.2,283.7 L191.9,283.7 L193.5,283.6 L195.2,283.5 L196.8,283.4 L198.5,283.4 L200.2,283.3 L201.8,283.2 L203.5,283.1 L205.1,283.1 L206.8,283 L208.5,282.9 L210.1,282.9 L211.8,282.8 L213.4,282.7 L215.1,282.7 L216.7,282.6 L218.4,282.5 L220.1,282.5 L221.7,282.4 L223.4,282.4 L225,282.3 L226.7,282.2 L228.4,282.2 L230,282.1 L231.7,282 L233.3,282 L235,281.9 L236.7,281.9 L238.3,281.8 L240,281.8 L241.6,281.7 L243.3,281.6 L245,281.6 L246.6,281.5 L248.3,281.5 L249.9,281.4 L251.6,281.4 L253.3,281.3 L254.9,281.3 L256.6,281.2 L258.2,281.2 L259.9,281.1 L261.6,281.1 L263.2,281 L264.9,281 L266.5,280.9 L268.2,280.9 L269.8,280.8 L271.5,280.8 L273.2,280.7 L274.8,280.7 L276.5,280.6 L278.1,280.6 L279.8,280.5 L281.5,280.5 L283.1,280.4 L284.8,280.4 L286.4,280.3 L288.1,280.3 L289.8,280.2 L291.4,280.2 L293.1,280.1 L294.7,280.1 L296.4,280.1 L298.1,280 L299.7,280 L301.4,279.9 L303,279.9 L304.7,279.8 L306.4,279.8 L308,279.8 L309.7,279.7 L311.3,279.7 L313,279.6 L314.7,279.6 L316.3,279.5 L318,279.5 L319.6,279.5 L321.3,279.4 L322.9,279.4 L324.6,279.3 L326.3,279.3 L327.9,279.3 L329.6,279.2 L331.2,279.2 L332.9,279.2 L334.6,279.1 L336.2,279.1 L337.9,279 L339.5,279 L341.2,279 L342.9,278.9 L344.5,278.9 L346.2,278.8 L347.8,278.8 L349.5,278.8 L351.2,278.7 L352.8,278.7 L354.5,278.7 L356.1,278.6 L357.8,278.6 L359.5,278.6 L361.1,278.5 L362.8,278.5 L364.4,278.4 L366.1,278.4 L367.8,278.4 L369.4,278.3 L371.1,278.3 L372.7,278.3 L374.4,278.2 L376.1,278.2 L377.7,278.2 L379.4,278.1 L381,278.1 L382.7,278.1 L384.3,278 L386,278 L387.7,278 L389.3,277.9 L391,277.9 L392.6,277.9 L394.3,277.8 L396,277.8 L397.6,277.8 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M67.4,295.3 L69.06,296.5 L70.72,297.4 L72.38,298.2 L74.04,298.9 L75.7,299.5 L77.36,300 L79.02,300.4 L80.68,300.8 L82.33,301.1 L83.99,301.5 L85.65,301.8 L87.31,302.1 L88.97,302.3 L90.63,302.6 L92.29,302.8 L93.95,303 L95.61,303.2 L97.27,303.4 L98.93,303.6 L100.6,303.7 L102.2,303.9 L103.9,304.1 L105.6,304.2 L107.2,304.3 L108.9,304.5 L110.5,304.6 L112.2,304.7 L113.9,304.9 L115.5,305 L117.2,305.1 L118.8,305.2 L120.5,305.3 L122.2,305.4 L123.8,305.5 L125.5,305.6 L127.1,305.7 L128.8,305.8 L130.5,305.9 L132.1,306 L133.8,306.1 L135.4,306.2 L137.1,306.2 L138.8,306.3 L140.4,306.4 L142.1,306.5 L143.7,306.5 L145.4,306.6 L147.1,306.7 L148.7,306.8 L150.4,306.8 L152,306.9 L153.7,306.9 L155.3,307 L157,307.1 L158.7,307.1 L160.3,307.2 L162,307.3 L163.6,307.3 L165.3,307.4 L167,307.4 L168.6,307.5 L170.3,307.5 L171.9,307.6 L173.6,307.6 L175.3,307.7 L176.9,307.7 L178.6,307.8 L180.2,307.8 L181.9,307.9 L183.6,307.9 L185.2,308 L186.9,308 L188.5,308.1 L190.2,308.1 L191.9,308.2 L193.5,308.2 L195.2,308.2 L196.8,308.3 L198.5,308.3 L200.2,308.4 L201.8,308.4 L203.5,308.5 L205.1,308.5 L206.8,308.5 L208.5,308.6 L210.1,308.6 L211.8,308.6 L213.4,308.7 L215.1,308.7 L216.7,308.8 L218.4,308.8 L220.1,308.8 L221.7,308.9 L223.4,308.9 L225,308.9 L226.7,309 L228.4,309 L230,309 L231.7,309.1 L233.3,309.1 L235,309.1 L236.7,309.2 L238.3,309.2 L240,309.2 L241.6,309.2 L243.3,309.3 L245,309.3 L246.6,309.3 L248.3,309.4 L249.9,309.4 L251.6,309.4 L253.3,309.5 L254.9,309.5 L256.6,309.5 L258.2,309.5 L259.9,309.6 L261.6,309.6 L263.2,309.6 L264.9,309.6 L266.5,309.7 L268.2,309.7 L269.8,309.7 L271.5,309.8 L273.2,309.8 L274.8,309.8 L276.5,309.8 L278.1,309.9 L279.8,309.9 L281.5,309.9 L283.1,309.9 L284.8,310 L286.4,310 L288.1,310 L289.8,310 L291.4,310 L293.1,310.1 L294.7,310.1 L296.4,310.1 L298.1,310.1 L299.7,310.2 L301.4,310.2 L303,310.2 L304.7,310.2 L306.4,310.2 L308,310.3 L309.7,310.3 L311.3,310.3 L313,310.3 L314.7,310.4 L316.3,310.4 L318,310.4 L319.6,310.4 L321.3,310.4 L322.9,310.5 L324.6,310.5 L326.3,310.5 L327.9,310.5 L329.6,310.5 L331.2,310.6 L332.9,310.6 L334.6,310.6 L336.2,310.6 L337.9,310.6 L339.5,310.7 L341.2,310.7 L342.9,310.7 L344.5,310.7 L346.2,310.7 L347.8,310.7 L349.5,310.8 L351.2,310.8 L352.8,310.8 L354.5,310.8 L356.1,310.8 L357.8,310.9 L359.5,310.9 L361.1,310.9 L362.8,310.9 L364.4,310.9 L366.1,310.9 L367.8,311 L369.4,311 L371.1,311 L372.7,311 L374.4,311 L376.1,311 L377.7,311.1 L379.4,311.1 L381,311.1 L382.7,311.1 L384.3,311.1 L386,311.1 L387.7,311.2 L389.3,311.2 L391,311.2 L392.6,311.2 L394.3,311.2 L396,311.2 L397.6,311.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M67.4,293.6 L69.06,295.9 L70.72,297.8 L72.38,299.3 L74.04,300.5 L75.7,301.5 L77.36,302.5 L79.02,303.3 L80.68,304 L82.33,304.6 L83.99,305.2 L85.65,305.7 L87.31,306.2 L88.97,306.7 L90.63,307.1 L92.29,307.5 L93.95,307.9 L95.61,308.2 L97.27,308.5 L98.93,308.8 L100.6,309.1 L102.2,309.4 L103.9,309.7 L105.6,309.9 L107.2,310.2 L108.9,310.4 L110.5,310.6 L112.2,310.8 L113.9,311 L115.5,311.2 L117.2,311.4 L118.8,311.6 L120.5,311.8 L122.2,312 L123.8,312.1 L125.5,312.3 L127.1,312.4 L128.8,312.6 L130.5,312.7 L132.1,312.9 L133.8,313 L135.4,313.1 L137.1,313.3 L138.8,313.4 L140.4,313.5 L142.1,313.6 L143.7,313.7 L145.4,313.9 L147.1,314 L148.7,314.1 L150.4,314.2 L152,314.3 L153.7,314.4 L155.3,314.5 L157,314.6 L158.7,314.7 L160.3,314.8 L162,314.9 L163.6,315 L165.3,315.1 L167,315.1 L168.6,315.2 L170.3,315.3 L171.9,315.4 L173.6,315.5 L175.3,315.5 L176.9,315.6 L178.6,315.7 L180.2,315.8 L181.9,315.8 L183.6,315.9 L185.2,316 L186.9,316.1 L188.5,316.1 L190.2,316.2 L191.9,316.3 L193.5,316.3 L195.2,316.4 L196.8,316.5 L198.5,316.5 L200.2,316.6 L201.8,316.6 L203.5,316.7 L205.1,316.8 L206.8,316.8 L208.5,316.9 L210.1,316.9 L211.8,317 L213.4,317 L215.1,317.1 L216.7,317.2 L218.4,317.2 L220.1,317.3 L221.7,317.3 L223.4,317.4 L225,317.4 L226.7,317.5 L228.4,317.5 L230,317.6 L231.7,317.6 L233.3,317.7 L235,317.7 L236.7,317.8 L238.3,317.8 L240,317.8 L241.6,317.9 L243.3,317.9 L245,318 L246.6,318 L248.3,318.1 L249.9,318.1 L251.6,318.2 L253.3,318.2 L254.9,318.2 L256.6,318.3 L258.2,318.3 L259.9,318.4 L261.6,318.4 L263.2,318.4 L264.9,318.5 L266.5,318.5 L268.2,318.6 L269.8,318.6 L271.5,318.6 L273.2,318.7 L274.8,318.7 L276.5,318.7 L278.1,318.8 L279.8,318.8 L281.5,318.8 L283.1,318.9 L284.8,318.9 L286.4,318.9 L288.1,319 L289.8,319 L291.4,319 L293.1,319.1 L294.7,319.1 L296.4,319.1 L298.1,319.2 L299.7,319.2 L301.4,319.2 L303,319.3 L304.7,319.3 L306.4,319.3 L308,319.4 L309.7,319.4 L311.3,319.4 L313,319.5 L314.7,319.5 L316.3,319.5 L318,319.5 L319.6,319.6 L321.3,319.6 L322.9,319.6 L324.6,319.7 L326.3,319.7 L327.9,319.7 L329.6,319.7 L331.2,319.8 L332.9,319.8 L334.6,319.8 L336.2,319.9 L337.9,319.9 L339.5,319.9 L341.2,319.9 L342.9,320 L344.5,320 L346.2,320 L347.8,320 L349.5,320.1 L351.2,320.1 L352.8,320.1 L354.5,320.1 L356.1,320.2 L357.8,320.2 L359.5,320.2 L361.1,320.2 L362.8,320.3 L364.4,320.3 L366.1,320.3 L367.8,320.3 L369.4,320.4 L371.1,320.4 L372.7,320.4 L374.4,320.4 L376.1,320.5 L377.7,320.5 L379.4,320.5 L381,320.5 L382.7,320.5 L384.3,320.6 L386,320.6 L387.7,320.6 L389.3,320.6 L391,320.7 L392.6,320.7 L394.3,320.7 L396,320.7 L397.6,320.7 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,291.8 L69.06,297 L70.72,300.8 L72.38,303.9 L74.04,306.3 L75.7,308.4 L77.36,310.1 L79.02,311.6 L80.68,312.9 L82.33,314 L83.99,315 L85.65,316 L87.31,316.8 L88.97,317.6 L90.63,318.3 L92.29,318.9 L93.95,319.5 L95.61,320 L97.27,320.5 L98.93,321 L100.6,321.5 L102.2,321.9 L103.9,322.3 L105.6,322.6 L107.2,323 L108.9,323.3 L110.5,323.7 L112.2,324 L113.9,324.2 L115.5,324.5 L117.2,324.8 L118.8,325 L120.5,325.3 L122.2,325.5 L123.8,325.7 L125.5,325.9 L127.1,326.1 L128.8,326.3 L130.5,326.5 L132.1,326.7 L133.8,326.9 L135.4,327 L137.1,327.2 L138.8,327.4 L140.4,327.5 L142.1,327.7 L143.7,327.8 L145.4,328 L147.1,328.1 L148.7,328.2 L150.4,328.4 L152,328.5 L153.7,328.6 L155.3,328.7 L157,328.8 L158.7,329 L160.3,329.1 L162,329.2 L163.6,329.3 L165.3,329.4 L167,329.5 L168.6,329.6 L170.3,329.7 L171.9,329.8 L173.6,329.9 L175.3,330 L176.9,330 L178.6,330.1 L180.2,330.2 L181.9,330.3 L183.6,330.4 L185.2,330.5 L186.9,330.5 L188.5,330.6 L190.2,330.7 L191.9,330.8 L193.5,330.8 L195.2,330.9 L196.8,331 L198.5,331 L200.2,331.1 L201.8,331.2 L203.5,331.2 L205.1,331.3 L206.8,331.4 L208.5,331.4 L210.1,331.5 L211.8,331.5 L213.4,331.6 L215.1,331.6 L216.7,331.7 L218.4,331.8 L220.1,331.8 L221.7,331.9 L223.4,331.9 L225,332 L226.7,332 L228.4,332.1 L230,332.1 L231.7,332.2 L233.3,332.2 L235,332.3 L236.7,332.3 L238.3,332.4 L240,332.4 L241.6,332.4 L243.3,332.5 L245,332.5 L246.6,332.6 L248.3,332.6 L249.9,332.7 L251.6,332.7 L253.3,332.7 L254.9,332.8 L256.6,332.8 L258.2,332.9 L259.9,332.9 L261.6,332.9 L263.2,333 L264.9,333 L266.5,333 L268.2,333.1 L269.8,333.1 L271.5,333.2 L273.2,333.2 L274.8,333.2 L276.5,333.3 L278.1,333.3 L279.8,333.3 L281.5,333.4 L283.1,333.4 L284.8,333.4 L286.4,333.5 L288.1,333.5 L289.8,333.5 L291.4,333.6 L293.1,333.6 L294.7,333.6 L296.4,333.6 L298.1,333.7 L299.7,333.7 L301.4,333.7 L303,333.8 L304.7,333.8 L306.4,333.8 L308,333.8 L309.7,333.9 L311.3,333.9 L313,333.9 L314.7,334 L316.3,334 L318,334 L319.6,334 L321.3,334.1 L322.9,334.1 L324.6,334.1 L326.3,334.1 L327.9,334.2 L329.6,334.2 L331.2,334.2 L332.9,334.2 L334.6,334.3 L336.2,334.3 L337.9,334.3 L339.5,334.3 L341.2,334.4 L342.9,334.4 L344.5,334.4 L346.2,334.4 L347.8,334.4 L349.5,334.5 L351.2,334.5 L352.8,334.5 L354.5,334.5 L356.1,334.6 L357.8,334.6 L359.5,334.6 L361.1,334.6 L362.8,334.6 L364.4,334.7 L366.1,334.7 L367.8,334.7 L369.4,334.7 L371.1,334.7 L372.7,334.8 L374.4,334.8 L376.1,334.8 L377.7,334.8 L379.4,334.8 L381,334.9 L382.7,334.9 L384.3,334.9 L386,334.9 L387.7,334.9 L389.3,334.9 L391,335 L392.6,335 L394.3,335 L396,335 L397.6,335 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,297.5 L69.06,304.8 L70.72,310.1 L72.38,314 L74.04,317.1 L75.7,319.6 L77.36,321.6 L79.02,323.3 L80.68,324.7 L82.33,325.9 L83.99,327 L85.65,327.9 L87.31,328.8 L88.97,329.5 L90.63,330.2 L92.29,330.8 L93.95,331.3 L95.61,331.8 L97.27,332.2 L98.93,332.6 L100.6,333 L102.2,333.4 L103.9,333.7 L105.6,334 L107.2,334.3 L108.9,334.5 L110.5,334.8 L112.2,335 L113.9,335.2 L115.5,335.4 L117.2,335.6 L118.8,335.8 L120.5,336 L122.2,336.1 L123.8,336.3 L125.5,336.4 L127.1,336.6 L128.8,336.7 L130.5,336.8 L132.1,336.9 L133.8,337.1 L135.4,337.2 L137.1,337.3 L138.8,337.4 L140.4,337.5 L142.1,337.6 L143.7,337.6 L145.4,337.7 L147.1,337.8 L148.7,337.9 L150.4,338 L152,338 L153.7,338.1 L155.3,338.2 L157,338.3 L158.7,338.3 L160.3,338.4 L162,338.4 L163.6,338.5 L165.3,338.6 L167,338.6 L168.6,338.7 L170.3,338.7 L171.9,338.8 L173.6,338.8 L175.3,338.9 L176.9,338.9 L178.6,339 L180.2,339 L181.9,339 L183.6,339.1 L185.2,339.1 L186.9,339.2 L188.5,339.2 L190.2,339.2 L191.9,339.3 L193.5,339.3 L195.2,339.3 L196.8,339.4 L198.5,339.4 L200.2,339.4 L201.8,339.5 L203.5,339.5 L205.1,339.5 L206.8,339.6 L208.5,339.6 L210.1,339.6 L211.8,339.6 L213.4,339.7 L215.1,339.7 L216.7,339.7 L218.4,339.7 L220.1,339.8 L221.7,339.8 L223.4,339.8 L225,339.8 L226.7,339.9 L228.4,339.9 L230,339.9 L231.7,339.9 L233.3,339.9 L235,340 L236.7,340 L238.3,340 L240,340 L241.6,340 L243.3,340.1 L245,340.1 L246.6,340.1 L248.3,340.1 L249.9,340.1 L251.6,340.2 L253.3,340.2 L254.9,340.2 L256.6,340.2 L258.2,340.2 L259.9,340.2 L261.6,340.2 L263.2,340.3 L264.9,340.3 L266.5,340.3 L268.2,340.3 L269.8,340.3 L271.5,340.3 L273.2,340.3 L274.8,340.4 L276.5,340.4 L278.1,340.4 L279.8,340.4 L281.5,340.4 L283.1,340.4 L284.8,340.4 L286.4,340.5 L288.1,340.5 L289.8,340.5 L291.4,340.5 L293.1,340.5 L294.7,340.5 L296.4,340.5 L298.1,340.5 L299.7,340.5 L301.4,340.6 L303,340.6 L304.7,340.6 L306.4,340.6 L308,340.6 L309.7,340.6 L311.3,340.6 L313,340.6 L314.7,340.6 L316.3,340.6 L318,340.7 L319.6,340.7 L321.3,340.7 L322.9,340.7 L324.6,340.7 L326.3,340.7 L327.9,340.7 L329.6,340.7 L331.2,340.7 L332.9,340.7 L334.6,340.7 L336.2,340.8 L337.9,340.8 L339.5,340.8 L341.2,340.8 L342.9,340.8 L344.5,340.8 L346.2,340.8 L347.8,340.8 L349.5,340.8 L351.2,340.8 L352.8,340.8 L354.5,340.8 L356.1,340.8 L357.8,340.9 L359.5,340.9 L361.1,340.9 L362.8,340.9 L364.4,340.9 L366.1,340.9 L367.8,340.9 L369.4,340.9 L371.1,340.9 L372.7,340.9 L374.4,340.9 L376.1,340.9 L377.7,340.9 L379.4,340.9 L381,340.9 L382.7,340.9 L384.3,341 L386,341 L387.7,341 L389.3,341 L391,341 L392.6,341 L394.3,341 L396,341 L397.6,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="419.9" y="58" width="154.1" height="210"/><rect x="419.9" y="58" width="154.1" height="210"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="86" x2="447.9" y2="86"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="114" x2="447.9" y2="114"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="142" x2="447.9" y2="142"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="170" x2="447.9" y2="170"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="198" x2="447.9" y2="198"/></g>
+<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="226" x2="447.9" y2="226"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="254" x2="447.9" y2="254"/></g>
+</g>
+<g id="legendText">
+<text x="454.9" y="86" font-size="14" font-family="Verdana">delta = -0.5</text>
+<text x="454.9" y="114" font-size="14" font-family="Verdana">delta = -0.2</text>
+<text x="454.9" y="142" font-size="14" font-family="Verdana">delta = -0.1</text>
+<text x="454.9" y="170" font-size="14" font-family="Verdana">delta = 0.1</text>
+<text x="454.9" y="198" font-size="14" font-family="Verdana">delta = 0.2</text>
+<text x="454.9" y="226" font-size="14" font-family="Verdana">delta = 0.5</text>
+<text x="454.9" y="254" font-size="14" font-family="Verdana">delta = 1.0</text></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">tgamma_delta_ratio</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/triangular_cdf.png b/libs/math/doc/graphs/triangular_cdf.png
index 6eaf9f513a..6eaf9f513a 100644
--- a/libs/math/doc/sf_and_dist/graphs/triangular_cdf.png
+++ b/libs/math/doc/graphs/triangular_cdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/triangular_cdf.svg b/libs/math/doc/graphs/triangular_cdf.svg
new file mode 100644
index 0000000000..e27a1084eb
--- /dev/null
+++ b/libs/math/doc/graphs/triangular_cdf.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="280.7" y1="58" x2="280.7" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M300.3,341 L300.3,343 M320,341 L320,343 M339.6,341 L339.6,343 M359.3,341 L359.3,343 M398.6,341 L398.6,343 M418.2,341 L418.2,343 M437.9,341 L437.9,343 M457.5,341 L457.5,343 M496.8,341 L496.8,343 M516.5,341 L516.5,343 M536.1,341 L536.1,343 M555.8,341 L555.8,343 M261,341 L261,343 M241.4,341 L241.4,343 M221.7,341 L221.7,343 M202.1,341 L202.1,343 M162.8,341 L162.8,343 M143.1,341 L143.1,343 M123.5,341 L123.5,343 M103.8,341 L103.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M280.7,341 L280.7,346 M378.9,341 L378.9,346 M477.2,341 L477.2,346 M575.4,341 L575.4,346 M280.7,341 L280.7,346 M182.4,341 L182.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="378.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="477.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="575.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="182.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,340.9 L187.4,340.7 L189.8,340.3 L192.3,339.7 L194.7,339 L197.2,338.1 L199.6,337.1 L202.1,335.9 L204.6,334.5 L207,333 L209.5,331.3 L211.9,329.4 L214.4,327.4 L216.8,325.2 L219.3,322.9 L221.7,320.4 L224.2,317.8 L226.7,315 L229.1,312 L231.6,308.8 L234,305.5 L236.5,302.1 L238.9,298.5 L241.4,294.7 L243.9,290.8 L246.3,286.7 L248.8,282.4 L251.2,278 L253.7,273.4 L256.1,268.6 L258.6,263.7 L261,258.7 L263.5,253.4 L266,248.1 L268.4,242.5 L270.9,236.8 L273.3,230.9 L275.8,224.9 L278.2,218.7 L280.7,212.4 L283.2,206 L285.6,199.8 L288.1,193.8 L290.5,187.9 L293,182.2 L295.4,176.7 L297.9,171.3 L300.3,166.1 L302.8,161 L305.3,156.1 L307.7,151.3 L310.2,146.8 L312.6,142.3 L315.1,138.1 L317.5,134 L320,130 L322.5,126.3 L324.9,122.6 L327.4,119.2 L329.8,115.9 L332.3,112.8 L334.7,109.8 L337.2,107 L339.6,104.3 L342.1,101.8 L344.6,99.49 L347,97.31 L349.5,95.3 L351.9,93.46 L354.4,91.77 L356.8,90.24 L359.3,88.87 L361.8,87.67 L364.2,86.62 L366.7,85.74 L369.1,85.01 L371.6,84.45 L374,84.05 L376.5,83.81 L378.9,83.73 L381.4,83.73 L383.9,83.73 L386.3,83.73 L388.8,83.73 L391.2,83.73 L393.7,83.73 L396.1,83.73 L398.6,83.73 L401,83.73 L403.5,83.73 L406,83.73 L408.4,83.73 L410.9,83.73 L413.3,83.73 L415.8,83.73 L418.2,83.73 L420.7,83.73 L423.2,83.73 L425.6,83.73 L428.1,83.73 L430.5,83.73 L433,83.73 L435.4,83.73 L437.9,83.73 L440.3,83.73 L442.8,83.73 L445.3,83.73 L447.7,83.73 L450.2,83.73 L452.6,83.73 L455.1,83.73 L457.5,83.73 L460,83.73 L462.5,83.73 L464.9,83.73 L467.4,83.73 L469.8,83.73 L472.3,83.73 L474.7,83.73 L477.2,83.73 L479.6,83.73 L482.1,83.73 L484.6,83.73 L487,83.73 L489.5,83.73 L491.9,83.73 L494.4,83.73 L496.8,83.73 L499.3,83.73 L501.8,83.73 L504.2,83.73 L506.7,83.73 L509.1,83.73 L511.6,83.73 L514,83.73 L516.5,83.73 L518.9,83.73 L521.4,83.73 L523.9,83.73 L526.3,83.73 L528.8,83.73 L531.2,83.73 L533.7,83.73 L536.1,83.73 L538.6,83.73 L541.1,83.73 L543.5,83.73 L546,83.73 L548.4,83.73 L550.9,83.73 L553.3,83.73 L555.8,83.73 L558.2,83.73 L560.7,83.73 L563.2,83.73 L565.6,83.73 L568.1,83.73 L570.5,83.73 L573,83.73 L575.4,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,340.8 L285.6,340.4 L288.1,339.6 L290.5,338.4 L293,337 L295.4,335.2 L297.9,333.1 L300.3,330.7 L302.8,328 L305.3,324.9 L307.7,321.5 L310.2,317.8 L312.6,313.8 L315.1,309.5 L317.5,304.8 L320,299.8 L322.5,294.5 L324.9,288.9 L327.4,283 L329.8,276.7 L332.3,270.1 L334.7,263.2 L337.2,255.9 L339.6,248.4 L342.1,240.5 L344.6,232.3 L347,223.8 L349.5,214.9 L351.9,205.8 L354.4,196.3 L356.8,186.5 L359.3,176.3 L361.8,165.9 L364.2,155.1 L366.7,144 L369.1,132.6 L371.6,120.9 L374,108.8 L376.5,96.43 L378.9,83.73 L381.4,83.73 L383.9,83.73 L386.3,83.73 L388.8,83.73 L391.2,83.73 L393.7,83.73 L396.1,83.73 L398.6,83.73 L401,83.73 L403.5,83.73 L406,83.73 L408.4,83.73 L410.9,83.73 L413.3,83.73 L415.8,83.73 L418.2,83.73 L420.7,83.73 L423.2,83.73 L425.6,83.73 L428.1,83.73 L430.5,83.73 L433,83.73 L435.4,83.73 L437.9,83.73 L440.3,83.73 L442.8,83.73 L445.3,83.73 L447.7,83.73 L450.2,83.73 L452.6,83.73 L455.1,83.73 L457.5,83.73 L460,83.73 L462.5,83.73 L464.9,83.73 L467.4,83.73 L469.8,83.73 L472.3,83.73 L474.7,83.73 L477.2,83.73 L479.6,83.73 L482.1,83.73 L484.6,83.73 L487,83.73 L489.5,83.73 L491.9,83.73 L494.4,83.73 L496.8,83.73 L499.3,83.73 L501.8,83.73 L504.2,83.73 L506.7,83.73 L509.1,83.73 L511.6,83.73 L514,83.73 L516.5,83.73 L518.9,83.73 L521.4,83.73 L523.9,83.73 L526.3,83.73 L528.8,83.73 L531.2,83.73 L533.7,83.73 L536.1,83.73 L538.6,83.73 L541.1,83.73 L543.5,83.73 L546,83.73 L548.4,83.73 L550.9,83.73 L553.3,83.73 L555.8,83.73 L558.2,83.73 L560.7,83.73 L563.2,83.73 L565.6,83.73 L568.1,83.73 L570.5,83.73 L573,83.73 L575.4,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,340.9 L285.6,340.8 L288.1,340.5 L290.5,340.1 L293,339.7 L295.4,339.1 L297.9,338.4 L300.3,337.6 L302.8,336.7 L305.3,335.6 L307.7,334.5 L310.2,333.3 L312.6,331.9 L315.1,330.5 L317.5,328.9 L320,327.3 L322.5,325.5 L324.9,323.6 L327.4,321.7 L329.8,319.6 L332.3,317.4 L334.7,315.1 L337.2,312.6 L339.6,310.1 L342.1,307.5 L344.6,304.8 L347,301.9 L349.5,299 L351.9,295.9 L354.4,292.8 L356.8,289.5 L359.3,286.1 L361.8,282.6 L364.2,279 L366.7,275.3 L369.1,271.5 L371.6,267.6 L374,263.6 L376.5,259.5 L378.9,255.2 L381.4,251 L383.9,246.8 L386.3,242.6 L388.8,238.5 L391.2,234.5 L393.7,230.5 L396.1,226.5 L398.6,222.7 L401,218.8 L403.5,215 L406,211.3 L408.4,207.6 L410.9,204 L413.3,200.5 L415.8,197 L418.2,193.5 L420.7,190.1 L423.2,186.7 L425.6,183.4 L428.1,180.2 L430.5,177 L433,173.9 L435.4,170.8 L437.9,167.8 L440.3,164.8 L442.8,161.9 L445.3,159 L447.7,156.2 L450.2,153.4 L452.6,150.7 L455.1,148.1 L457.5,145.5 L460,142.9 L462.5,140.4 L464.9,138 L467.4,135.6 L469.8,133.3 L472.3,131 L474.7,128.8 L477.2,126.6 L479.6,124.5 L482.1,122.4 L484.6,120.4 L487,118.5 L489.5,116.6 L491.9,114.7 L494.4,112.9 L496.8,111.2 L499.3,109.5 L501.8,107.8 L504.2,106.3 L506.7,104.7 L509.1,103.3 L511.6,101.8 L514,100.5 L516.5,99.16 L518.9,97.9 L521.4,96.7 L523.9,95.55 L526.3,94.45 L528.8,93.4 L531.2,92.41 L533.7,91.47 L536.1,90.59 L538.6,89.76 L541.1,88.98 L543.5,88.26 L546,87.59 L548.4,86.97 L550.9,86.41 L553.3,85.9 L555.8,85.44 L558.2,85.04 L560.7,84.69 L563.2,84.4 L565.6,84.16 L568.1,83.97 L570.5,83.83 L573,83.75 L575.4,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,340.7 L285.6,339.7 L288.1,338.1 L290.5,335.9 L293,333 L295.4,329.4 L297.9,325.2 L300.3,320.4 L302.8,315 L305.3,308.8 L307.7,302.1 L310.2,294.7 L312.6,286.7 L315.1,278 L317.5,268.6 L320,258.7 L322.5,248.1 L324.9,236.8 L327.4,224.9 L329.8,212.4 L332.3,199.8 L334.7,187.9 L337.2,176.7 L339.6,166.1 L342.1,156.1 L344.6,146.8 L347,138.1 L349.5,130 L351.9,122.6 L354.4,115.9 L356.8,109.8 L359.3,104.3 L361.8,99.49 L364.2,95.3 L366.7,91.77 L369.1,88.87 L371.6,86.62 L374,85.01 L376.5,84.05 L378.9,83.73 L381.4,83.73 L383.9,83.73 L386.3,83.73 L388.8,83.73 L391.2,83.73 L393.7,83.73 L396.1,83.73 L398.6,83.73 L401,83.73 L403.5,83.73 L406,83.73 L408.4,83.73 L410.9,83.73 L413.3,83.73 L415.8,83.73 L418.2,83.73 L420.7,83.73 L423.2,83.73 L425.6,83.73 L428.1,83.73 L430.5,83.73 L433,83.73 L435.4,83.73 L437.9,83.73 L440.3,83.73 L442.8,83.73 L445.3,83.73 L447.7,83.73 L450.2,83.73 L452.6,83.73 L455.1,83.73 L457.5,83.73 L460,83.73 L462.5,83.73 L464.9,83.73 L467.4,83.73 L469.8,83.73 L472.3,83.73 L474.7,83.73 L477.2,83.73 L479.6,83.73 L482.1,83.73 L484.6,83.73 L487,83.73 L489.5,83.73 L491.9,83.73 L494.4,83.73 L496.8,83.73 L499.3,83.73 L501.8,83.73 L504.2,83.73 L506.7,83.73 L509.1,83.73 L511.6,83.73 L514,83.73 L516.5,83.73 L518.9,83.73 L521.4,83.73 L523.9,83.73 L526.3,83.73 L528.8,83.73 L531.2,83.73 L533.7,83.73 L536.1,83.73 L538.6,83.73 L541.1,83.73 L543.5,83.73 L546,83.73 L548.4,83.73 L550.9,83.73 L553.3,83.73 L555.8,83.73 L558.2,83.73 L560.7,83.73 L563.2,83.73 L565.6,83.73 L568.1,83.73 L570.5,83.73 L573,83.73 L575.4,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,340.9 L91.57,340.9 L94.02,340.7 L96.48,340.6 L98.94,340.4 L101.4,340.2 L103.8,340 L106.3,339.7 L108.8,339.4 L111.2,339.1 L113.7,338.7 L116.1,338.3 L118.6,337.8 L121,337.4 L123.5,336.9 L126,336.4 L128.4,335.8 L130.9,335.2 L133.3,334.6 L135.8,333.9 L138.2,333.2 L140.7,332.5 L143.1,331.7 L145.6,331 L148.1,330.1 L150.5,329.3 L153,328.4 L155.4,327.5 L157.9,326.5 L160.3,325.5 L162.8,324.5 L165.3,323.5 L167.7,322.4 L170.2,321.3 L172.6,320.2 L175.1,319 L177.5,317.8 L180,316.5 L182.4,315.3 L184.9,314 L187.4,312.6 L189.8,311.3 L192.3,309.9 L194.7,308.4 L197.2,307 L199.6,305.5 L202.1,304 L204.6,302.4 L207,300.8 L209.5,299.2 L211.9,297.5 L214.4,295.8 L216.8,294.1 L219.3,292.4 L221.7,290.6 L224.2,288.8 L226.7,286.9 L229.1,285 L231.6,283.1 L234,281.2 L236.5,279.2 L238.9,277.2 L241.4,275.1 L243.9,273.1 L246.3,271 L248.8,268.8 L251.2,266.6 L253.7,264.4 L256.1,262.2 L258.6,259.9 L261,257.6 L263.5,255.3 L266,252.9 L268.4,250.6 L270.9,248.1 L273.3,245.7 L275.8,243.2 L278.2,240.6 L280.7,238.1 L283.2,235.5 L285.6,233 L288.1,230.5 L290.5,228 L293,225.5 L295.4,223 L297.9,220.6 L300.3,218.2 L302.8,215.8 L305.3,213.4 L307.7,211.1 L310.2,208.8 L312.6,206.5 L315.1,204.2 L317.5,201.9 L320,199.7 L322.5,197.5 L324.9,195.3 L327.4,193.1 L329.8,190.9 L332.3,188.8 L334.7,186.7 L337.2,184.6 L339.6,182.5 L342.1,180.5 L344.6,178.4 L347,176.4 L349.5,174.5 L351.9,172.5 L354.4,170.6 L356.8,168.6 L359.3,166.7 L361.8,164.9 L364.2,163 L366.7,161.2 L369.1,159.4 L371.6,157.6 L374,155.8 L376.5,154.1 L378.9,152.3 L381.4,150.6 L383.9,148.9 L386.3,147.3 L388.8,145.6 L391.2,144 L393.7,142.4 L396.1,140.9 L398.6,139.3 L401,137.8 L403.5,136.3 L406,134.8 L408.4,133.3 L410.9,131.8 L413.3,130.4 L415.8,129 L418.2,127.6 L420.7,126.3 L423.2,124.9 L425.6,123.6 L428.1,122.3 L430.5,121 L433,119.8 L435.4,118.6 L437.9,117.3 L440.3,116.2 L442.8,115 L445.3,113.8 L447.7,112.7 L450.2,111.6 L452.6,110.5 L455.1,109.5 L457.5,108.4 L460,107.4 L462.5,106.4 L464.9,105.4 L467.4,104.5 L469.8,103.5 L472.3,102.6 L474.7,101.7 L477.2,100.9 L479.6,100 L482.1,99.21 L484.6,98.4 L487,97.62 L489.5,96.86 L491.9,96.12 L494.4,95.4 L496.8,94.7 L499.3,94.03 L501.8,93.38 L504.2,92.74 L506.7,92.13 L509.1,91.54 L511.6,90.97 L514,90.43 L516.5,89.9 L518.9,89.4 L521.4,88.92 L523.9,88.45 L526.3,88.02 L528.8,87.6 L531.2,87.2 L533.7,86.83 L536.1,86.47 L538.6,86.14 L541.1,85.83 L543.5,85.54 L546,85.27 L548.4,85.02 L550.9,84.8 L553.3,84.6 L555.8,84.41 L558.2,84.25 L560.7,84.11 L563.2,84 L565.6,83.9 L568.1,83.82 L570.5,83.77 L573,83.74 L575.4,83.73 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="165"/><rect x="589.4" y="58" width="134.6" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="178" x2="619.4" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="208" x2="619.4" y2="208"/></g>
+</g>
+<g id="legendText">
+<text x="626.9" y="88" font-size="15" font-family="Verdana">{-1,0,1}</text>
+<text x="626.9" y="118" font-size="15" font-family="Verdana">{0,1,1}</text>
+<text x="626.9" y="148" font-size="15" font-family="Verdana">{0,1,3}</text>
+<text x="626.9" y="178" font-size="15" font-family="Verdana">{0,0.5,1}</text>
+<text x="626.9" y="208" font-size="15" font-family="Verdana">{-2,0,3}</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Triangular Distribution CDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/triangular_pdf.png b/libs/math/doc/graphs/triangular_pdf.png
index 745801d644..745801d644 100644
--- a/libs/math/doc/sf_and_dist/graphs/triangular_pdf.png
+++ b/libs/math/doc/graphs/triangular_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/triangular_pdf.svg b/libs/math/doc/graphs/triangular_pdf.svg
new file mode 100644
index 0000000000..86c00cfc7a
--- /dev/null
+++ b/libs/math/doc/graphs/triangular_pdf.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="280.7" y1="58" x2="280.7" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328.1 L84.2,328.1 M82.2,315.3 L84.2,315.3 M82.2,302.4 L84.2,302.4 M82.2,289.5 L84.2,289.5 M82.2,263.8 L84.2,263.8 M82.2,251 L84.2,251 M82.2,238.1 L84.2,238.1 M82.2,225.2 L84.2,225.2 M82.2,199.5 L84.2,199.5 M82.2,186.6 L84.2,186.6 M82.2,173.8 L84.2,173.8 M82.2,160.9 L84.2,160.9 M82.2,135.2 L84.2,135.2 M82.2,122.3 L84.2,122.3 M82.2,109.5 L84.2,109.5 M82.2,96.59 L84.2,96.59 M82.2,70.86 L84.2,70.86 M82.2,58 L84.2,58 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M300.3,341 L300.3,343 M320,341 L320,343 M339.6,341 L339.6,343 M359.3,341 L359.3,343 M398.6,341 L398.6,343 M418.2,341 L418.2,343 M437.9,341 L437.9,343 M457.5,341 L457.5,343 M496.8,341 L496.8,343 M516.5,341 L516.5,343 M536.1,341 L536.1,343 M555.8,341 L555.8,343 M261,341 L261,343 M241.4,341 L241.4,343 M221.7,341 L221.7,343 M202.1,341 L202.1,343 M162.8,341 L162.8,343 M143.1,341 L143.1,343 M123.5,341 L123.5,343 M103.8,341 L103.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,276.7 L84.2,276.7 M79.2,212.4 L84.2,212.4 M79.2,148 L84.2,148 M79.2,83.73 L84.2,83.73 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M280.7,341 L280.7,346 M378.9,341 L378.9,346 M477.2,341 L477.2,346 M575.4,341 L575.4,346 M280.7,341 L280.7,346 M182.4,341 L182.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="378.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="477.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="575.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="182.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="279.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="150.4" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,337.8 L187.4,334.6 L189.8,331.4 L192.3,328.1 L194.7,324.9 L197.2,321.7 L199.6,318.5 L202.1,315.3 L204.6,312.1 L207,308.8 L209.5,305.6 L211.9,302.4 L214.4,299.2 L216.8,296 L219.3,292.8 L221.7,289.5 L224.2,286.3 L226.7,283.1 L229.1,279.9 L231.6,276.7 L234,273.5 L236.5,270.3 L238.9,267 L241.4,263.8 L243.9,260.6 L246.3,257.4 L248.8,254.2 L251.2,251 L253.7,247.7 L256.1,244.5 L258.6,241.3 L261,238.1 L263.5,234.9 L266,231.7 L268.4,228.4 L270.9,225.2 L273.3,222 L275.8,218.8 L278.2,215.6 L280.7,212.4 L283.2,215.6 L285.6,218.8 L288.1,222 L290.5,225.2 L293,228.4 L295.4,231.7 L297.9,234.9 L300.3,238.1 L302.8,241.3 L305.3,244.5 L307.7,247.7 L310.2,251 L312.6,254.2 L315.1,257.4 L317.5,260.6 L320,263.8 L322.5,267 L324.9,270.2 L327.4,273.5 L329.8,276.7 L332.3,279.9 L334.7,283.1 L337.2,286.3 L339.6,289.5 L342.1,292.8 L344.6,296 L347,299.2 L349.5,302.4 L351.9,305.6 L354.4,308.8 L356.8,312.1 L359.3,315.3 L361.8,318.5 L364.2,321.7 L366.7,324.9 L369.1,328.1 L371.6,331.4 L374,334.6 L376.5,337.8 L378.9,341 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,334.6 L285.6,328.1 L288.1,321.7 L290.5,315.3 L293,308.8 L295.4,302.4 L297.9,296 L300.3,289.5 L302.8,283.1 L305.3,276.7 L307.7,270.3 L310.2,263.8 L312.6,257.4 L315.1,251 L317.5,244.5 L320,238.1 L322.5,231.7 L324.9,225.2 L327.4,218.8 L329.8,212.4 L332.3,205.9 L334.7,199.5 L337.2,193.1 L339.6,186.6 L342.1,180.2 L344.6,173.8 L347,167.3 L349.5,160.9 L351.9,154.5 L354.4,148 L356.8,141.6 L359.3,135.2 L361.8,128.8 L364.2,122.3 L366.7,115.9 L369.1,109.5 L371.6,103 L374,96.59 L376.5,90.16 L378.9,83.73 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,338.9 L285.6,336.7 L288.1,334.6 L290.5,332.4 L293,330.3 L295.4,328.1 L297.9,326 L300.3,323.8 L302.8,321.7 L305.3,319.6 L307.7,317.4 L310.2,315.3 L312.6,313.1 L315.1,311 L317.5,308.8 L320,306.7 L322.5,304.6 L324.9,302.4 L327.4,300.3 L329.8,298.1 L332.3,296 L334.7,293.8 L337.2,291.7 L339.6,289.5 L342.1,287.4 L344.6,285.3 L347,283.1 L349.5,281 L351.9,278.8 L354.4,276.7 L356.8,274.5 L359.3,272.4 L361.8,270.3 L364.2,268.1 L366.7,266 L369.1,263.8 L371.6,261.7 L374,259.5 L376.5,257.4 L378.9,255.2 L381.4,256.3 L383.9,257.4 L386.3,258.5 L388.8,259.5 L391.2,260.6 L393.7,261.7 L396.1,262.7 L398.6,263.8 L401,264.9 L403.5,266 L406,267 L408.4,268.1 L410.9,269.2 L413.3,270.2 L415.8,271.3 L418.2,272.4 L420.7,273.5 L423.2,274.5 L425.6,275.6 L428.1,276.7 L430.5,277.8 L433,278.8 L435.4,279.9 L437.9,281 L440.3,282 L442.8,283.1 L445.3,284.2 L447.7,285.3 L450.2,286.3 L452.6,287.4 L455.1,288.5 L457.5,289.5 L460,290.6 L462.5,291.7 L464.9,292.8 L467.4,293.8 L469.8,294.9 L472.3,296 L474.7,297 L477.2,298.1 L479.6,299.2 L482.1,300.3 L484.6,301.3 L487,302.4 L489.5,303.5 L491.9,304.6 L494.4,305.6 L496.8,306.7 L499.3,307.8 L501.8,308.8 L504.2,309.9 L506.7,311 L509.1,312.1 L511.6,313.1 L514,314.2 L516.5,315.3 L518.9,316.3 L521.4,317.4 L523.9,318.5 L526.3,319.6 L528.8,320.6 L531.2,321.7 L533.7,322.8 L536.1,323.8 L538.6,324.9 L541.1,326 L543.5,327.1 L546,328.1 L548.4,329.2 L550.9,330.3 L553.3,331.4 L555.8,332.4 L558.2,333.5 L560.7,334.6 L563.2,335.6 L565.6,336.7 L568.1,337.8 L570.5,338.9 L573,339.9 L575.4,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,328.1 L285.6,315.3 L288.1,302.4 L290.5,289.5 L293,276.7 L295.4,263.8 L297.9,251 L300.3,238.1 L302.8,225.2 L305.3,212.4 L307.7,199.5 L310.2,186.6 L312.6,173.8 L315.1,160.9 L317.5,148 L320,135.2 L322.5,122.3 L324.9,109.5 L327.4,96.59 L329.8,83.73 L332.3,96.59 L334.7,109.5 L337.2,122.3 L339.6,135.2 L342.1,148 L344.6,160.9 L347,173.8 L349.5,186.6 L351.9,199.5 L354.4,212.4 L356.8,225.2 L359.3,238.1 L361.8,251 L364.2,263.8 L366.7,276.7 L369.1,289.5 L371.6,302.4 L374,315.3 L376.5,328.1 L378.9,341 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.66,340.4 L89.11,339.7 L91.57,339.1 L94.02,338.4 L96.48,337.8 L98.94,337.1 L101.4,336.5 L103.8,335.9 L106.3,335.2 L108.8,334.6 L111.2,333.9 L113.7,333.3 L116.1,332.6 L118.6,332 L121,331.4 L123.5,330.7 L126,330.1 L128.4,329.4 L130.9,328.8 L133.3,328.1 L135.8,327.5 L138.2,326.9 L140.7,326.2 L143.1,325.6 L145.6,324.9 L148.1,324.3 L150.5,323.6 L153,323 L155.4,322.3 L157.9,321.7 L160.3,321.1 L162.8,320.4 L165.3,319.8 L167.7,319.1 L170.2,318.5 L172.6,317.8 L175.1,317.2 L177.5,316.6 L180,315.9 L182.4,315.3 L184.9,314.6 L187.4,314 L189.8,313.3 L192.3,312.7 L194.7,312.1 L197.2,311.4 L199.6,310.8 L202.1,310.1 L204.6,309.5 L207,308.8 L209.5,308.2 L211.9,307.6 L214.4,306.9 L216.8,306.3 L219.3,305.6 L221.7,305 L224.2,304.3 L226.7,303.7 L229.1,303.1 L231.6,302.4 L234,301.8 L236.5,301.1 L238.9,300.5 L241.4,299.8 L243.9,299.2 L246.3,298.6 L248.8,297.9 L251.2,297.3 L253.7,296.6 L256.1,296 L258.6,295.3 L261,294.7 L263.5,294 L266,293.4 L268.4,292.8 L270.9,292.1 L273.3,291.5 L275.8,290.8 L278.2,290.2 L280.7,289.5 L283.2,290 L285.6,290.4 L288.1,290.8 L290.5,291.3 L293,291.7 L295.4,292.1 L297.9,292.5 L300.3,293 L302.8,293.4 L305.3,293.8 L307.7,294.3 L310.2,294.7 L312.6,295.1 L315.1,295.5 L317.5,296 L320,296.4 L322.5,296.8 L324.9,297.3 L327.4,297.7 L329.8,298.1 L332.3,298.5 L334.7,299 L337.2,299.4 L339.6,299.8 L342.1,300.3 L344.6,300.7 L347,301.1 L349.5,301.6 L351.9,302 L354.4,302.4 L356.8,302.8 L359.3,303.3 L361.8,303.7 L364.2,304.1 L366.7,304.6 L369.1,305 L371.6,305.4 L374,305.8 L376.5,306.3 L378.9,306.7 L381.4,307.1 L383.9,307.6 L386.3,308 L388.8,308.4 L391.2,308.8 L393.7,309.3 L396.1,309.7 L398.6,310.1 L401,310.6 L403.5,311 L406,311.4 L408.4,311.8 L410.9,312.3 L413.3,312.7 L415.8,313.1 L418.2,313.6 L420.7,314 L423.2,314.4 L425.6,314.8 L428.1,315.3 L430.5,315.7 L433,316.1 L435.4,316.6 L437.9,317 L440.3,317.4 L442.8,317.8 L445.3,318.3 L447.7,318.7 L450.2,319.1 L452.6,319.6 L455.1,320 L457.5,320.4 L460,320.8 L462.5,321.3 L464.9,321.7 L467.4,322.1 L469.8,322.6 L472.3,323 L474.7,323.4 L477.2,323.8 L479.6,324.3 L482.1,324.7 L484.6,325.1 L487,325.6 L489.5,326 L491.9,326.4 L494.4,326.8 L496.8,327.3 L499.3,327.7 L501.8,328.1 L504.2,328.6 L506.7,329 L509.1,329.4 L511.6,329.9 L514,330.3 L516.5,330.7 L518.9,331.1 L521.4,331.6 L523.9,332 L526.3,332.4 L528.8,332.9 L531.2,333.3 L533.7,333.7 L536.1,334.1 L538.6,334.6 L541.1,335 L543.5,335.4 L546,335.9 L548.4,336.3 L550.9,336.7 L553.3,337.1 L555.8,337.6 L558.2,338 L560.7,338.4 L563.2,338.9 L565.6,339.3 L568.1,339.7 L570.5,340.1 L573,340.6 L575.4,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="165"/><rect x="589.4" y="58" width="134.6" height="165"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="178" x2="619.4" y2="178"/></g>
+<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="208" x2="619.4" y2="208"/></g>
+</g>
+<g id="legendText">
+<text x="626.9" y="88" font-size="15" font-family="Verdana">{-1,0,1}</text>
+<text x="626.9" y="118" font-size="15" font-family="Verdana">{0,1,1}</text>
+<text x="626.9" y="148" font-size="15" font-family="Verdana">{0,1,3}</text>
+<text x="626.9" y="178" font-size="15" font-family="Verdana">{0,0.5,1}</text>
+<text x="626.9" y="208" font-size="15" font-family="Verdana">{-2,0,3}</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Triangular Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/trigonometric.png b/libs/math/doc/graphs/trigonometric.png
index 41e0cb3f47..41e0cb3f47 100644
--- a/libs/math/doc/sf_and_dist/graphs/trigonometric.png
+++ b/libs/math/doc/graphs/trigonometric.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/graphs/uniform_cdf.png b/libs/math/doc/graphs/uniform_cdf.png
index c42429a78f..c42429a78f 100644
--- a/libs/math/doc/sf_and_dist/graphs/uniform_cdf.png
+++ b/libs/math/doc/graphs/uniform_cdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/uniform_cdf.svg b/libs/math/doc/graphs/uniform_cdf.svg
new file mode 100644
index 0000000000..8a57381dc2
--- /dev/null
+++ b/libs/math/doc/graphs/uniform_cdf.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="290.1" y1="58" x2="290.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M310.7,341 L310.7,343 M331.3,341 L331.3,343 M351.9,341 L351.9,343 M372.5,341 L372.5,343 M413.6,341 L413.6,343 M434.2,341 L434.2,343 M454.8,341 L454.8,343 M475.4,341 L475.4,343 M516.6,341 L516.6,343 M537.2,341 L537.2,343 M557.8,341 L557.8,343 M578.4,341 L578.4,343 M269.5,341 L269.5,343 M248.9,341 L248.9,343 M228.3,341 L228.3,343 M207.7,341 L207.7,343 M166.6,341 L166.6,343 M146,341 L146,343 M125.4,341 L125.4,343 M104.8,341 L104.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M290.1,341 L290.1,346 M393.1,341 L393.1,346 M496,341 L496,346 M599,341 L599,346 M290.1,341 L290.1,346 M187.2,341 L187.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="393.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="496" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="599" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="187.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,334.6 L295.3,328.1 L297.8,321.7 L300.4,315.3 L303,308.8 L305.5,302.4 L308.1,296 L310.7,289.5 L313.3,283.1 L315.8,276.7 L318.4,270.3 L321,263.8 L323.6,257.4 L326.1,251 L328.7,244.5 L331.3,238.1 L333.9,231.7 L336.4,225.2 L339,218.8 L341.6,212.4 L344.2,205.9 L346.7,199.5 L349.3,193.1 L351.9,186.6 L354.4,180.2 L357,173.8 L359.6,167.3 L362.2,160.9 L364.7,154.5 L367.3,148 L369.9,141.6 L372.5,135.2 L375,128.8 L377.6,122.3 L380.2,115.9 L382.8,109.5 L385.3,103 L387.9,96.59 L390.5,90.16 L393.1,83.73 L395.6,83.73 L398.2,83.73 L400.8,83.73 L403.4,83.73 L405.9,83.73 L408.5,83.73 L411.1,83.73 L413.6,83.73 L416.2,83.73 L418.8,83.73 L421.4,83.73 L423.9,83.73 L426.5,83.73 L429.1,83.73 L431.7,83.73 L434.2,83.73 L436.8,83.73 L439.4,83.73 L442,83.73 L444.5,83.73 L447.1,83.73 L449.7,83.73 L452.3,83.73 L454.8,83.73 L457.4,83.73 L460,83.73 L462.5,83.73 L465.1,83.73 L467.7,83.73 L470.3,83.73 L472.8,83.73 L475.4,83.73 L478,83.73 L480.6,83.73 L483.1,83.73 L485.7,83.73 L488.3,83.73 L490.9,83.73 L493.4,83.73 L496,83.73 L498.6,83.73 L501.2,83.73 L503.7,83.73 L506.3,83.73 L508.9,83.73 L511.5,83.73 L514,83.73 L516.6,83.73 L519.2,83.73 L521.7,83.73 L524.3,83.73 L526.9,83.73 L529.5,83.73 L532,83.73 L534.6,83.73 L537.2,83.73 L539.8,83.73 L542.3,83.73 L544.9,83.73 L547.5,83.73 L550.1,83.73 L552.6,83.73 L555.2,83.73 L557.8,83.73 L560.4,83.73 L562.9,83.73 L565.5,83.73 L568.1,83.73 L570.6,83.73 L573.2,83.73 L575.8,83.73 L578.4,83.73 L580.9,83.73 L583.5,83.73 L586.1,83.73 L588.7,83.73 L591.2,83.73 L593.8,83.73 L596.4,83.73 L599,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,338.9 L295.3,336.7 L297.8,334.6 L300.4,332.4 L303,330.3 L305.5,328.1 L308.1,326 L310.7,323.8 L313.3,321.7 L315.8,319.6 L318.4,317.4 L321,315.3 L323.6,313.1 L326.1,311 L328.7,308.8 L331.3,306.7 L333.9,304.6 L336.4,302.4 L339,300.3 L341.6,298.1 L344.2,296 L346.7,293.8 L349.3,291.7 L351.9,289.5 L354.4,287.4 L357,285.3 L359.6,283.1 L362.2,281 L364.7,278.8 L367.3,276.7 L369.9,274.5 L372.5,272.4 L375,270.3 L377.6,268.1 L380.2,266 L382.8,263.8 L385.3,261.7 L387.9,259.5 L390.5,257.4 L393.1,255.2 L395.6,253.1 L398.2,251 L400.8,248.8 L403.4,246.7 L405.9,244.5 L408.5,242.4 L411.1,240.2 L413.6,238.1 L416.2,235.9 L418.8,233.8 L421.4,231.7 L423.9,229.5 L426.5,227.4 L429.1,225.2 L431.7,223.1 L434.2,220.9 L436.8,218.8 L439.4,216.7 L442,214.5 L444.5,212.4 L447.1,210.2 L449.7,208.1 L452.3,205.9 L454.8,203.8 L457.4,201.6 L460,199.5 L462.5,197.4 L465.1,195.2 L467.7,193.1 L470.3,190.9 L472.8,188.8 L475.4,186.6 L478,184.5 L480.6,182.3 L483.1,180.2 L485.7,178.1 L488.3,175.9 L490.9,173.8 L493.4,171.6 L496,169.5 L498.6,167.3 L501.2,165.2 L503.7,163.1 L506.3,160.9 L508.9,158.8 L511.5,156.6 L514,154.5 L516.6,152.3 L519.2,150.2 L521.7,148 L524.3,145.9 L526.9,143.8 L529.5,141.6 L532,139.5 L534.6,137.3 L537.2,135.2 L539.8,133 L542.3,130.9 L544.9,128.8 L547.5,126.6 L550.1,124.5 L552.6,122.3 L555.2,120.2 L557.8,118 L560.4,115.9 L562.9,113.7 L565.5,111.6 L568.1,109.5 L570.6,107.3 L573.2,105.2 L575.8,103 L578.4,100.9 L580.9,98.73 L583.5,96.59 L586.1,94.45 L588.7,92.3 L591.2,90.16 L593.8,88.02 L596.4,85.87 L599,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.77,339.7 L89.35,338.4 L91.92,337.1 L94.5,335.9 L97.07,334.6 L99.64,333.3 L102.2,332 L104.8,330.7 L107.4,329.4 L109.9,328.1 L112.5,326.9 L115.1,325.6 L117.7,324.3 L120.2,323 L122.8,321.7 L125.4,320.4 L128,319.1 L130.5,317.8 L133.1,316.6 L135.7,315.3 L138.2,314 L140.8,312.7 L143.4,311.4 L146,310.1 L148.5,308.8 L151.1,307.6 L153.7,306.3 L156.3,305 L158.8,303.7 L161.4,302.4 L164,301.1 L166.6,299.8 L169.1,298.6 L171.7,297.3 L174.3,296 L176.9,294.7 L179.4,293.4 L182,292.1 L184.6,290.8 L187.2,289.5 L189.7,288.3 L192.3,287 L194.9,285.7 L197.4,284.4 L200,283.1 L202.6,281.8 L205.2,280.5 L207.7,279.3 L210.3,278 L212.9,276.7 L215.5,275.4 L218,274.1 L220.6,272.8 L223.2,271.5 L225.8,270.3 L228.3,269 L230.9,267.7 L233.5,266.4 L236.1,265.1 L238.6,263.8 L241.2,262.5 L243.8,261.2 L246.3,260 L248.9,258.7 L251.5,257.4 L254.1,256.1 L256.6,254.8 L259.2,253.5 L261.8,252.2 L264.4,251 L266.9,249.7 L269.5,248.4 L272.1,247.1 L274.7,245.8 L277.2,244.5 L279.8,243.2 L282.4,242 L285,240.7 L287.5,239.4 L290.1,238.1 L292.7,236.8 L295.3,235.5 L297.8,234.2 L300.4,232.9 L303,231.7 L305.5,230.4 L308.1,229.1 L310.7,227.8 L313.3,226.5 L315.8,225.2 L318.4,223.9 L321,222.7 L323.6,221.4 L326.1,220.1 L328.7,218.8 L331.3,217.5 L333.9,216.2 L336.4,214.9 L339,213.7 L341.6,212.4 L344.2,211.1 L346.7,209.8 L349.3,208.5 L351.9,207.2 L354.4,205.9 L357,204.6 L359.6,203.4 L362.2,202.1 L364.7,200.8 L367.3,199.5 L369.9,198.2 L372.5,196.9 L375,195.6 L377.6,194.4 L380.2,193.1 L382.8,191.8 L385.3,190.5 L387.9,189.2 L390.5,187.9 L393.1,186.6 L395.6,185.4 L398.2,184.1 L400.8,182.8 L403.4,181.5 L405.9,180.2 L408.5,178.9 L411.1,177.6 L413.6,176.3 L416.2,175.1 L418.8,173.8 L421.4,172.5 L423.9,171.2 L426.5,169.9 L429.1,168.6 L431.7,167.3 L434.2,166.1 L436.8,164.8 L439.4,163.5 L442,162.2 L444.5,160.9 L447.1,159.6 L449.7,158.3 L452.3,157.1 L454.8,155.8 L457.4,154.5 L460,153.2 L462.5,151.9 L465.1,150.6 L467.7,149.3 L470.3,148 L472.8,146.8 L475.4,145.5 L478,144.2 L480.6,142.9 L483.1,141.6 L485.7,140.3 L488.3,139 L490.9,137.8 L493.4,136.5 L496,135.2 L498.6,133.9 L501.2,132.6 L503.7,131.3 L506.3,130 L508.9,128.8 L511.5,127.5 L514,126.2 L516.6,124.9 L519.2,123.6 L521.7,122.3 L524.3,121 L526.9,119.7 L529.5,118.5 L532,117.2 L534.6,115.9 L537.2,114.6 L539.8,113.3 L542.3,112 L544.9,110.7 L547.5,109.5 L550.1,108.2 L552.6,106.9 L555.2,105.6 L557.8,104.3 L560.4,103 L562.9,101.7 L565.5,100.5 L568.1,99.16 L570.6,97.88 L573.2,96.59 L575.8,95.3 L578.4,94.02 L580.9,92.73 L583.5,91.45 L586.1,90.16 L588.7,88.87 L591.2,87.59 L593.8,86.3 L596.4,85.01 L599,83.73 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,337.8 L192.3,334.6 L194.9,331.4 L197.4,328.1 L200,324.9 L202.6,321.7 L205.2,318.5 L207.7,315.3 L210.3,312.1 L212.9,308.8 L215.5,305.6 L218,302.4 L220.6,299.2 L223.2,296 L225.8,292.8 L228.3,289.5 L230.9,286.3 L233.5,283.1 L236.1,279.9 L238.6,276.7 L241.2,273.5 L243.8,270.3 L246.3,267 L248.9,263.8 L251.5,260.6 L254.1,257.4 L256.6,254.2 L259.2,251 L261.8,247.7 L264.4,244.5 L266.9,241.3 L269.5,238.1 L272.1,234.9 L274.7,231.7 L277.2,228.4 L279.8,225.2 L282.4,222 L285,218.8 L287.5,215.6 L290.1,212.4 L292.7,209.1 L295.3,205.9 L297.8,202.7 L300.4,199.5 L303,196.3 L305.5,193.1 L308.1,189.9 L310.7,186.6 L313.3,183.4 L315.8,180.2 L318.4,177 L321,173.8 L323.6,170.6 L326.1,167.3 L328.7,164.1 L331.3,160.9 L333.9,157.7 L336.4,154.5 L339,151.3 L341.6,148 L344.2,144.8 L346.7,141.6 L349.3,138.4 L351.9,135.2 L354.4,132 L357,128.8 L359.6,125.5 L362.2,122.3 L364.7,119.1 L367.3,115.9 L369.9,112.7 L372.5,109.5 L375,106.2 L377.6,103 L380.2,99.81 L382.8,96.59 L385.3,93.38 L387.9,90.16 L390.5,86.94 L393.1,83.73 L395.6,83.73 L398.2,83.73 L400.8,83.73 L403.4,83.73 L405.9,83.73 L408.5,83.73 L411.1,83.73 L413.6,83.73 L416.2,83.73 L418.8,83.73 L421.4,83.73 L423.9,83.73 L426.5,83.73 L429.1,83.73 L431.7,83.73 L434.2,83.73 L436.8,83.73 L439.4,83.73 L442,83.73 L444.5,83.73 L447.1,83.73 L449.7,83.73 L452.3,83.73 L454.8,83.73 L457.4,83.73 L460,83.73 L462.5,83.73 L465.1,83.73 L467.7,83.73 L470.3,83.73 L472.8,83.73 L475.4,83.73 L478,83.73 L480.6,83.73 L483.1,83.73 L485.7,83.73 L488.3,83.73 L490.9,83.73 L493.4,83.73 L496,83.73 L498.6,83.73 L501.2,83.73 L503.7,83.73 L506.3,83.73 L508.9,83.73 L511.5,83.73 L514,83.73 L516.6,83.73 L519.2,83.73 L521.7,83.73 L524.3,83.73 L526.9,83.73 L529.5,83.73 L532,83.73 L534.6,83.73 L537.2,83.73 L539.8,83.73 L542.3,83.73 L544.9,83.73 L547.5,83.73 L550.1,83.73 L552.6,83.73 L555.2,83.73 L557.8,83.73 L560.4,83.73 L562.9,83.73 L565.5,83.73 L568.1,83.73 L570.6,83.73 L573.2,83.73 L575.8,83.73 L578.4,83.73 L580.9,83.73 L583.5,83.73 L586.1,83.73 L588.7,83.73 L591.2,83.73 L593.8,83.73 L596.4,83.73 L599,83.73 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="135"/><rect x="613" y="58" width="111" height="135"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="178" x2="643" y2="178"/></g>
+</g>
+<g id="legendText">
+<text x="650.5" y="88" font-size="15" font-family="Verdana">{0,1}</text>
+<text x="650.5" y="118" font-size="15" font-family="Verdana">{0,3}</text>
+<text x="650.5" y="148" font-size="15" font-family="Verdana">{-2,3}</text>
+<text x="650.5" y="178" font-size="15" font-family="Verdana">{-1,1}</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Uniform Distribution CDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/uniform_pdf.png b/libs/math/doc/graphs/uniform_pdf.png
index d831518fbd..d831518fbd 100644
--- a/libs/math/doc/sf_and_dist/graphs/uniform_pdf.png
+++ b/libs/math/doc/graphs/uniform_pdf.png
Binary files differ
diff --git a/libs/math/doc/graphs/uniform_pdf.svg b/libs/math/doc/graphs/uniform_pdf.svg
new file mode 100644
index 0000000000..f391a7dc82
--- /dev/null
+++ b/libs/math/doc/graphs/uniform_pdf.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="290.1" y1="58" x2="290.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M310.7,341 L310.7,343 M331.3,341 L331.3,343 M351.9,341 L351.9,343 M372.5,341 L372.5,343 M413.6,341 L413.6,343 M434.2,341 L434.2,343 M454.8,341 L454.8,343 M475.4,341 L475.4,343 M516.6,341 L516.6,343 M537.2,341 L537.2,343 M557.8,341 L557.8,343 M578.4,341 L578.4,343 M269.5,341 L269.5,343 M248.9,341 L248.9,343 M228.3,341 L228.3,343 M207.7,341 L207.7,343 M166.6,341 L166.6,343 M146,341 L146,343 M125.4,341 L125.4,343 M104.8,341 L104.8,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M290.1,341 L290.1,346 M393.1,341 L393.1,346 M496,341 L496,346 M599,341 L599,346 M290.1,341 L290.1,346 M187.2,341 L187.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="393.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="496" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="599" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
+<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="187.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
+<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
+<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
+<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
+<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
+<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
+<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
+<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
+<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,83.73 L295.3,83.73 L297.8,83.73 L300.4,83.73 L303,83.73 L305.5,83.73 L308.1,83.73 L310.7,83.73 L313.3,83.73 L315.8,83.73 L318.4,83.73 L321,83.73 L323.6,83.73 L326.1,83.73 L328.7,83.73 L331.3,83.73 L333.9,83.73 L336.4,83.73 L339,83.73 L341.6,83.73 L344.2,83.73 L346.7,83.73 L349.3,83.73 L351.9,83.73 L354.4,83.73 L357,83.73 L359.6,83.73 L362.2,83.73 L364.7,83.73 L367.3,83.73 L369.9,83.73 L372.5,83.73 L375,83.73 L377.6,83.73 L380.2,83.73 L382.8,83.73 L385.3,83.73 L387.9,83.73 L390.5,83.73 L393.1,83.73 L395.6,341 L398.2,341 L400.8,341 L403.4,341 L405.9,341 L408.5,341 L411.1,341 L413.6,341 L416.2,341 L418.8,341 L421.4,341 L423.9,341 L426.5,341 L429.1,341 L431.7,341 L434.2,341 L436.8,341 L439.4,341 L442,341 L444.5,341 L447.1,341 L449.7,341 L452.3,341 L454.8,341 L457.4,341 L460,341 L462.5,341 L465.1,341 L467.7,341 L470.3,341 L472.8,341 L475.4,341 L478,341 L480.6,341 L483.1,341 L485.7,341 L488.3,341 L490.9,341 L493.4,341 L496,341 L498.6,341 L501.2,341 L503.7,341 L506.3,341 L508.9,341 L511.5,341 L514,341 L516.6,341 L519.2,341 L521.7,341 L524.3,341 L526.9,341 L529.5,341 L532,341 L534.6,341 L537.2,341 L539.8,341 L542.3,341 L544.9,341 L547.5,341 L550.1,341 L552.6,341 L555.2,341 L557.8,341 L560.4,341 L562.9,341 L565.5,341 L568.1,341 L570.6,341 L573.2,341 L575.8,341 L578.4,341 L580.9,341 L583.5,341 L586.1,341 L588.7,341 L591.2,341 L593.8,341 L596.4,341 L599,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,255.2 L295.3,255.2 L297.8,255.2 L300.4,255.2 L303,255.2 L305.5,255.2 L308.1,255.2 L310.7,255.2 L313.3,255.2 L315.8,255.2 L318.4,255.2 L321,255.2 L323.6,255.2 L326.1,255.2 L328.7,255.2 L331.3,255.2 L333.9,255.2 L336.4,255.2 L339,255.2 L341.6,255.2 L344.2,255.2 L346.7,255.2 L349.3,255.2 L351.9,255.2 L354.4,255.2 L357,255.2 L359.6,255.2 L362.2,255.2 L364.7,255.2 L367.3,255.2 L369.9,255.2 L372.5,255.2 L375,255.2 L377.6,255.2 L380.2,255.2 L382.8,255.2 L385.3,255.2 L387.9,255.2 L390.5,255.2 L393.1,255.2 L395.6,255.2 L398.2,255.2 L400.8,255.2 L403.4,255.2 L405.9,255.2 L408.5,255.2 L411.1,255.2 L413.6,255.2 L416.2,255.2 L418.8,255.2 L421.4,255.2 L423.9,255.2 L426.5,255.2 L429.1,255.2 L431.7,255.2 L434.2,255.2 L436.8,255.2 L439.4,255.2 L442,255.2 L444.5,255.2 L447.1,255.2 L449.7,255.2 L452.3,255.2 L454.8,255.2 L457.4,255.2 L460,255.2 L462.5,255.2 L465.1,255.2 L467.7,255.2 L470.3,255.2 L472.8,255.2 L475.4,255.2 L478,255.2 L480.6,255.2 L483.1,255.2 L485.7,255.2 L488.3,255.2 L490.9,255.2 L493.4,255.2 L496,255.2 L498.6,255.2 L501.2,255.2 L503.7,255.2 L506.3,255.2 L508.9,255.2 L511.5,255.2 L514,255.2 L516.6,255.2 L519.2,255.2 L521.7,255.2 L524.3,255.2 L526.9,255.2 L529.5,255.2 L532,255.2 L534.6,255.2 L537.2,255.2 L539.8,255.2 L542.3,255.2 L544.9,255.2 L547.5,255.2 L550.1,255.2 L552.6,255.2 L555.2,255.2 L557.8,255.2 L560.4,255.2 L562.9,255.2 L565.5,255.2 L568.1,255.2 L570.6,255.2 L573.2,255.2 L575.8,255.2 L578.4,255.2 L580.9,255.2 L583.5,255.2 L586.1,255.2 L588.7,255.2 L591.2,255.2 L593.8,255.2 L596.4,255.2 L599,255.2 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,289.5 L86.77,289.5 L89.35,289.5 L91.92,289.5 L94.5,289.5 L97.07,289.5 L99.64,289.5 L102.2,289.5 L104.8,289.5 L107.4,289.5 L109.9,289.5 L112.5,289.5 L115.1,289.5 L117.7,289.5 L120.2,289.5 L122.8,289.5 L125.4,289.5 L128,289.5 L130.5,289.5 L133.1,289.5 L135.7,289.5 L138.2,289.5 L140.8,289.5 L143.4,289.5 L146,289.5 L148.5,289.5 L151.1,289.5 L153.7,289.5 L156.3,289.5 L158.8,289.5 L161.4,289.5 L164,289.5 L166.6,289.5 L169.1,289.5 L171.7,289.5 L174.3,289.5 L176.9,289.5 L179.4,289.5 L182,289.5 L184.6,289.5 L187.2,289.5 L189.7,289.5 L192.3,289.5 L194.9,289.5 L197.4,289.5 L200,289.5 L202.6,289.5 L205.2,289.5 L207.7,289.5 L210.3,289.5 L212.9,289.5 L215.5,289.5 L218,289.5 L220.6,289.5 L223.2,289.5 L225.8,289.5 L228.3,289.5 L230.9,289.5 L233.5,289.5 L236.1,289.5 L238.6,289.5 L241.2,289.5 L243.8,289.5 L246.3,289.5 L248.9,289.5 L251.5,289.5 L254.1,289.5 L256.6,289.5 L259.2,289.5 L261.8,289.5 L264.4,289.5 L266.9,289.5 L269.5,289.5 L272.1,289.5 L274.7,289.5 L277.2,289.5 L279.8,289.5 L282.4,289.5 L285,289.5 L287.5,289.5 L290.1,289.5 L292.7,289.5 L295.3,289.5 L297.8,289.5 L300.4,289.5 L303,289.5 L305.5,289.5 L308.1,289.5 L310.7,289.5 L313.3,289.5 L315.8,289.5 L318.4,289.5 L321,289.5 L323.6,289.5 L326.1,289.5 L328.7,289.5 L331.3,289.5 L333.9,289.5 L336.4,289.5 L339,289.5 L341.6,289.5 L344.2,289.5 L346.7,289.5 L349.3,289.5 L351.9,289.5 L354.4,289.5 L357,289.5 L359.6,289.5 L362.2,289.5 L364.7,289.5 L367.3,289.5 L369.9,289.5 L372.5,289.5 L375,289.5 L377.6,289.5 L380.2,289.5 L382.8,289.5 L385.3,289.5 L387.9,289.5 L390.5,289.5 L393.1,289.5 L395.6,289.5 L398.2,289.5 L400.8,289.5 L403.4,289.5 L405.9,289.5 L408.5,289.5 L411.1,289.5 L413.6,289.5 L416.2,289.5 L418.8,289.5 L421.4,289.5 L423.9,289.5 L426.5,289.5 L429.1,289.5 L431.7,289.5 L434.2,289.5 L436.8,289.5 L439.4,289.5 L442,289.5 L444.5,289.5 L447.1,289.5 L449.7,289.5 L452.3,289.5 L454.8,289.5 L457.4,289.5 L460,289.5 L462.5,289.5 L465.1,289.5 L467.7,289.5 L470.3,289.5 L472.8,289.5 L475.4,289.5 L478,289.5 L480.6,289.5 L483.1,289.5 L485.7,289.5 L488.3,289.5 L490.9,289.5 L493.4,289.5 L496,289.5 L498.6,289.5 L501.2,289.5 L503.7,289.5 L506.3,289.5 L508.9,289.5 L511.5,289.5 L514,289.5 L516.6,289.5 L519.2,289.5 L521.7,289.5 L524.3,289.5 L526.9,289.5 L529.5,289.5 L532,289.5 L534.6,289.5 L537.2,289.5 L539.8,289.5 L542.3,289.5 L544.9,289.5 L547.5,289.5 L550.1,289.5 L552.6,289.5 L555.2,289.5 L557.8,289.5 L560.4,289.5 L562.9,289.5 L565.5,289.5 L568.1,289.5 L570.6,289.5 L573.2,289.5 L575.8,289.5 L578.4,289.5 L580.9,289.5 L583.5,289.5 L586.1,289.5 L588.7,289.5 L591.2,289.5 L593.8,289.5 L596.4,289.5 L599,289.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,212.4 L192.3,212.4 L194.9,212.4 L197.4,212.4 L200,212.4 L202.6,212.4 L205.2,212.4 L207.7,212.4 L210.3,212.4 L212.9,212.4 L215.5,212.4 L218,212.4 L220.6,212.4 L223.2,212.4 L225.8,212.4 L228.3,212.4 L230.9,212.4 L233.5,212.4 L236.1,212.4 L238.6,212.4 L241.2,212.4 L243.8,212.4 L246.3,212.4 L248.9,212.4 L251.5,212.4 L254.1,212.4 L256.6,212.4 L259.2,212.4 L261.8,212.4 L264.4,212.4 L266.9,212.4 L269.5,212.4 L272.1,212.4 L274.7,212.4 L277.2,212.4 L279.8,212.4 L282.4,212.4 L285,212.4 L287.5,212.4 L290.1,212.4 L292.7,212.4 L295.3,212.4 L297.8,212.4 L300.4,212.4 L303,212.4 L305.5,212.4 L308.1,212.4 L310.7,212.4 L313.3,212.4 L315.8,212.4 L318.4,212.4 L321,212.4 L323.6,212.4 L326.1,212.4 L328.7,212.4 L331.3,212.4 L333.9,212.4 L336.4,212.4 L339,212.4 L341.6,212.4 L344.2,212.4 L346.7,212.4 L349.3,212.4 L351.9,212.4 L354.4,212.4 L357,212.4 L359.6,212.4 L362.2,212.4 L364.7,212.4 L367.3,212.4 L369.9,212.4 L372.5,212.4 L375,212.4 L377.6,212.4 L380.2,212.4 L382.8,212.4 L385.3,212.4 L387.9,212.4 L390.5,212.4 L393.1,212.4 L395.6,341 L398.2,341 L400.8,341 L403.4,341 L405.9,341 L408.5,341 L411.1,341 L413.6,341 L416.2,341 L418.8,341 L421.4,341 L423.9,341 L426.5,341 L429.1,341 L431.7,341 L434.2,341 L436.8,341 L439.4,341 L442,341 L444.5,341 L447.1,341 L449.7,341 L452.3,341 L454.8,341 L457.4,341 L460,341 L462.5,341 L465.1,341 L467.7,341 L470.3,341 L472.8,341 L475.4,341 L478,341 L480.6,341 L483.1,341 L485.7,341 L488.3,341 L490.9,341 L493.4,341 L496,341 L498.6,341 L501.2,341 L503.7,341 L506.3,341 L508.9,341 L511.5,341 L514,341 L516.6,341 L519.2,341 L521.7,341 L524.3,341 L526.9,341 L529.5,341 L532,341 L534.6,341 L537.2,341 L539.8,341 L542.3,341 L544.9,341 L547.5,341 L550.1,341 L552.6,341 L555.2,341 L557.8,341 L560.4,341 L562.9,341 L565.5,341 L568.1,341 L570.6,341 L573.2,341 L575.8,341 L578.4,341 L580.9,341 L583.5,341 L586.1,341 L588.7,341 L591.2,341 L593.8,341 L596.4,341 L599,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="135"/><rect x="613" y="58" width="111" height="135"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="178" x2="643" y2="178"/></g>
+</g>
+<g id="legendText">
+<text x="650.5" y="88" font-size="15" font-family="Verdana">{0,1}</text>
+<text x="650.5" y="118" font-size="15" font-family="Verdana">{0,3}</text>
+<text x="650.5" y="148" font-size="15" font-family="Verdana">{-2,3}</text>
+<text x="650.5" y="178" font-size="15" font-family="Verdana">{-1,1}</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Uniform Distribution PDF</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.png b/libs/math/doc/graphs/weibull_pdf1.png
index 3add45fbe4..3add45fbe4 100644
--- a/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.png
+++ b/libs/math/doc/graphs/weibull_pdf1.png
Binary files differ
diff --git a/libs/math/doc/graphs/weibull_pdf1.svg b/libs/math/doc/graphs/weibull_pdf1.svg
new file mode 100644
index 0000000000..cd79afeefc
--- /dev/null
+++ b/libs/math/doc/graphs/weibull_pdf1.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="68.4" y="59" width="498.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="500.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="58" x2="67.4" y2="346"/><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="62.4" y1="341" x2="567.6" y2="341"/><line x1="62.4" y1="341" x2="567.6" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,327.1 L67.4,327.1 M65.4,313.2 L67.4,313.2 M65.4,299.3 L67.4,299.3 M65.4,285.3 L67.4,285.3 M65.4,257.5 L67.4,257.5 M65.4,243.6 L67.4,243.6 M65.4,229.7 L67.4,229.7 M65.4,215.8 L67.4,215.8 M65.4,187.9 L67.4,187.9 M65.4,174 L67.4,174 M65.4,160.1 L67.4,160.1 M65.4,146.2 L67.4,146.2 M65.4,118.4 L67.4,118.4 M65.4,104.5 L67.4,104.5 M65.4,90.54 L67.4,90.54 M65.4,76.62 L67.4,76.62 M65.4,341 L67.4,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M84.05,341 L84.05,343 M100.7,341 L100.7,343 M117.4,341 L117.4,343 M134,341 L134,343 M167.3,341 L167.3,343 M184,341 L184,343 M200.6,341 L200.6,343 M217.3,341 L217.3,343 M250.6,341 L250.6,343 M267.2,341 L267.2,343 M283.9,341 L283.9,343 M300.5,341 L300.5,343 M333.8,341 L333.8,343 M350.5,341 L350.5,343 M367.1,341 L367.1,343 M383.8,341 L383.8,343 M417.1,341 L417.1,343 M433.7,341 L433.7,343 M450.4,341 L450.4,343 M467,341 L467,343 M500.3,341 L500.3,343 M517,341 L517,343 M533.6,341 L533.6,343 M550.3,341 L550.3,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,341 L67.4,341 M62.4,271.4 L67.4,271.4 M62.4,201.9 L67.4,201.9 M62.4,132.3 L67.4,132.3 M62.4,62.71 L67.4,62.71 M62.4,341 L67.4,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M67.4,341 L67.4,346 M150.7,341 L150.7,346 M233.9,341 L233.9,346 M317.2,341 L317.2,346 M400.4,341 L400.4,346 M483.7,341 L483.7,346 M566.9,341 L566.9,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="150.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
+<text x="233.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="317.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
+<text x="400.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="483.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2.5</text>
+<text x="566.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text></g>
+<g id="yTicksValues">
+<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="56.4" y="273.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="56.4" y="204.3" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="56.4" y="134.7" text-anchor="end" font-size="12" font-family="Verdana">3</text>
+<text x="56.4" y="65.11" text-anchor="end" font-size="12" font-family="Verdana">4</text>
+<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="317.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,-4.272e+078 L69.9,198.2 L72.4,224.4 L74.9,238.3 L77.4,247.6 L79.91,254.6 L82.41,260.2 L84.91,264.8 L87.41,268.7 L89.91,272.1 L92.41,275.2 L94.91,277.8 L97.41,280.3 L99.91,282.5 L102.4,284.5 L104.9,286.4 L107.4,288.1 L109.9,289.7 L112.4,291.3 L114.9,292.7 L117.4,294 L119.9,295.3 L122.4,296.5 L124.9,297.6 L127.4,298.7 L129.9,299.7 L132.4,300.7 L134.9,301.7 L137.4,302.6 L139.9,303.4 L142.4,304.3 L144.9,305.1 L147.4,305.8 L149.9,306.6 L152.4,307.3 L154.9,307.9 L157.4,308.6 L159.9,309.2 L162.4,309.9 L164.9,310.5 L167.4,311 L169.9,311.6 L172.4,312.2 L174.9,312.7 L177.4,313.2 L179.9,313.7 L182.4,314.2 L184.9,314.6 L187.4,315.1 L189.9,315.5 L192.5,316 L195,316.4 L197.5,316.8 L200,317.2 L202.5,317.6 L205,318 L207.5,318.4 L210,318.7 L212.5,319.1 L215,319.4 L217.5,319.8 L220,320.1 L222.5,320.4 L225,320.7 L227.5,321 L230,321.3 L232.5,321.6 L235,321.9 L237.5,322.2 L240,322.5 L242.5,322.8 L245,323 L247.5,323.3 L250,323.5 L252.5,323.8 L255,324 L257.5,324.3 L260,324.5 L262.5,324.7 L265,325 L267.5,325.2 L270,325.4 L272.5,325.6 L275,325.8 L277.5,326 L280,326.2 L282.5,326.4 L285,326.6 L287.5,326.8 L290,327 L292.5,327.2 L295,327.4 L297.5,327.5 L300,327.7 L302.5,327.9 L305,328.1 L307.5,328.2 L310,328.4 L312.5,328.6 L315,328.7 L317.5,328.9 L320,329 L322.5,329.2 L325,329.3 L327.5,329.5 L330,329.6 L332.5,329.7 L335,329.9 L337.5,330 L340,330.2 L342.5,330.3 L345,330.4 L347.5,330.5 L350,330.7 L352.5,330.8 L355,330.9 L357.5,331 L360,331.2 L362.5,331.3 L365,331.4 L367.5,331.5 L370,331.6 L372.5,331.7 L375,331.8 L377.5,331.9 L380,332 L382.5,332.1 L385,332.2 L387.5,332.3 L390,332.4 L392.5,332.5 L395,332.6 L397.5,332.7 L400,332.8 L402.5,332.9 L405,333 L407.5,333.1 L410,333.2 L412.5,333.3 L415,333.4 L417.5,333.4 L420,333.5 L422.5,333.6 L425,333.7 L427.5,333.8 L430,333.8 L432.5,333.9 L435,334 L437.5,334.1 L440,334.2 L442.5,334.2 L445.1,334.3 L447.6,334.4 L450.1,334.4 L452.6,334.5 L455.1,334.6 L457.6,334.7 L460.1,334.7 L462.6,334.8 L465.1,334.9 L467.6,334.9 L470.1,335 L472.6,335 L475.1,335.1 L477.6,335.2 L480.1,335.2 L482.6,335.3 L485.1,335.4 L487.6,335.4 L490.1,335.5 L492.6,335.5 L495.1,335.6 L497.6,335.6 L500.1,335.7 L502.6,335.7 L505.1,335.8 L507.6,335.9 L510.1,335.9 L512.6,336 L515.1,336 L517.6,336.1 L520.1,336.1 L522.6,336.2 L525.1,336.2 L527.6,336.3 L530.1,336.3 L532.6,336.3 L535.1,336.4 L537.6,336.4 L540.1,336.5 L542.6,336.5 L545.1,336.6 L547.6,336.6 L550.1,336.7 L552.6,336.7 L555.1,336.7 L557.6,336.8 L560.1,336.8 L562.6,336.9 L565.1,336.9 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,271.4 L69.9,272.5 L72.4,273.5 L74.9,274.5 L77.4,275.5 L79.91,276.5 L82.41,277.4 L84.91,278.4 L87.41,279.3 L89.91,280.2 L92.41,281.1 L94.91,282 L97.41,282.9 L99.91,283.8 L102.4,284.6 L104.9,285.5 L107.4,286.3 L109.9,287.1 L112.4,287.9 L114.9,288.7 L117.4,289.5 L119.9,290.2 L122.4,291 L124.9,291.7 L127.4,292.5 L129.9,293.2 L132.4,293.9 L134.9,294.6 L137.4,295.3 L139.9,296 L142.4,296.7 L144.9,297.3 L147.4,298 L149.9,298.6 L152.4,299.2 L154.9,299.9 L157.4,300.5 L159.9,301.1 L162.4,301.7 L164.9,302.3 L167.4,302.8 L169.9,303.4 L172.4,304 L174.9,304.5 L177.4,305.1 L179.9,305.6 L182.4,306.1 L184.9,306.7 L187.4,307.2 L189.9,307.7 L192.5,308.2 L195,308.7 L197.5,309.1 L200,309.6 L202.5,310.1 L205,310.5 L207.5,311 L210,311.4 L212.5,311.9 L215,312.3 L217.5,312.7 L220,313.2 L222.5,313.6 L225,314 L227.5,314.4 L230,314.8 L232.5,315.2 L235,315.6 L237.5,315.9 L240,316.3 L242.5,316.7 L245,317.1 L247.5,317.4 L250,317.8 L252.5,318.1 L255,318.4 L257.5,318.8 L260,319.1 L262.5,319.4 L265,319.8 L267.5,320.1 L270,320.4 L272.5,320.7 L275,321 L277.5,321.3 L280,321.6 L282.5,321.9 L285,322.2 L287.5,322.4 L290,322.7 L292.5,323 L295,323.3 L297.5,323.5 L300,323.8 L302.5,324 L305,324.3 L307.5,324.5 L310,324.8 L312.5,325 L315,325.3 L317.5,325.5 L320,325.7 L322.5,326 L325,326.2 L327.5,326.4 L330,326.6 L332.5,326.8 L335,327.1 L337.5,327.3 L340,327.5 L342.5,327.7 L345,327.9 L347.5,328.1 L350,328.3 L352.5,328.4 L355,328.6 L357.5,328.8 L360,329 L362.5,329.2 L365,329.4 L367.5,329.5 L370,329.7 L372.5,329.9 L375,330 L377.5,330.2 L380,330.4 L382.5,330.5 L385,330.7 L387.5,330.8 L390,331 L392.5,331.1 L395,331.3 L397.5,331.4 L400,331.6 L402.5,331.7 L405,331.8 L407.5,332 L410,332.1 L412.5,332.2 L415,332.4 L417.5,332.5 L420,332.6 L422.5,332.8 L425,332.9 L427.5,333 L430,333.1 L432.5,333.2 L435,333.4 L437.5,333.5 L440,333.6 L442.5,333.7 L445.1,333.8 L447.6,333.9 L450.1,334 L452.6,334.1 L455.1,334.2 L457.6,334.3 L460.1,334.4 L462.6,334.5 L465.1,334.6 L467.6,334.7 L470.1,334.8 L472.6,334.9 L475.1,335 L477.6,335.1 L480.1,335.2 L482.6,335.3 L485.1,335.3 L487.6,335.4 L490.1,335.5 L492.6,335.6 L495.1,335.7 L497.6,335.7 L500.1,335.8 L502.6,335.9 L505.1,336 L507.6,336.1 L510.1,336.1 L512.6,336.2 L515.1,336.3 L517.6,336.3 L520.1,336.4 L522.6,336.5 L525.1,336.5 L527.6,336.6 L530.1,336.7 L532.6,336.7 L535.1,336.8 L537.6,336.9 L540.1,336.9 L542.6,337 L545.1,337.1 L547.6,337.1 L550.1,337.2 L552.6,337.2 L555.1,337.3 L557.6,337.3 L560.1,337.4 L562.6,337.4 L565.1,337.5 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M67.4,341 L69.9,341 L72.4,341 L74.9,341 L77.4,341 L79.91,341 L82.41,341 L84.91,341 L87.41,340.9 L89.91,340.9 L92.41,340.8 L94.91,340.7 L97.41,340.6 L99.91,340.5 L102.4,340.3 L104.9,340.1 L107.4,339.8 L109.9,339.5 L112.4,339.1 L114.9,338.7 L117.4,338.2 L119.9,337.6 L122.4,336.9 L124.9,336.1 L127.4,335.2 L129.9,334.1 L132.4,333 L134.9,331.7 L137.4,330.3 L139.9,328.7 L142.4,326.9 L144.9,325 L147.4,322.9 L149.9,320.6 L152.4,318.1 L154.9,315.5 L157.4,312.6 L159.9,309.5 L162.4,306.3 L164.9,302.8 L167.4,299.1 L169.9,295.2 L172.4,291.1 L174.9,286.9 L177.4,282.5 L179.9,278 L182.4,273.3 L184.9,268.5 L187.4,263.7 L189.9,258.8 L192.5,253.9 L195,249 L197.5,244.2 L200,239.5 L202.5,235 L205,230.7 L207.5,226.7 L210,223 L212.5,219.7 L215,216.8 L217.5,214.4 L220,212.5 L222.5,211.1 L225,210.4 L227.5,210.3 L230,210.8 L232.5,212 L235,213.9 L237.5,216.4 L240,219.6 L242.5,223.4 L245,227.7 L247.5,232.6 L250,237.9 L252.5,243.7 L255,249.7 L257.5,256 L260,262.4 L262.5,268.9 L265,275.4 L267.5,281.8 L270,288 L272.5,294 L275,299.6 L277.5,305 L280,309.9 L282.5,314.4 L285,318.5 L287.5,322.2 L290,325.4 L292.5,328.3 L295,330.7 L297.5,332.8 L300,334.5 L302.5,335.9 L305,337.1 L307.5,338 L310,338.8 L312.5,339.4 L315,339.8 L317.5,340.2 L320,340.4 L322.5,340.6 L325,340.7 L327.5,340.8 L330,340.9 L332.5,340.9 L335,340.9 L337.5,341 L340,341 L342.5,341 L345,341 L347.5,341 L350,341 L352.5,341 L355,341 L357.5,341 L360,341 L362.5,341 L365,341 L367.5,341 L370,341 L372.5,341 L375,341 L377.5,341 L380,341 L382.5,341 L385,341 L387.5,341 L390,341 L392.5,341 L395,341 L397.5,341 L400,341 L402.5,341 L405,341 L407.5,341 L410,341 L412.5,341 L415,341 L417.5,341 L420,341 L422.5,341 L425,341 L427.5,341 L430,341 L432.5,341 L435,341 L437.5,341 L440,341 L442.5,341 L445.1,341 L447.6,341 L450.1,341 L452.6,341 L455.1,341 L457.6,341 L460.1,341 L462.6,341 L465.1,341 L467.6,341 L470.1,341 L472.6,341 L475.1,341 L477.6,341 L480.1,341 L482.6,341 L485.1,341 L487.6,341 L490.1,341 L492.6,341 L495.1,341 L497.6,341 L500.1,341 L502.6,341 L505.1,341 L507.6,341 L510.1,341 L512.6,341 L515.1,341 L517.6,341 L520.1,341 L522.6,341 L525.1,341 L527.6,341 L530.1,341 L532.6,341 L535.1,341 L537.6,341 L540.1,341 L542.6,341 L545.1,341 L547.6,341 L550.1,341 L552.6,341 L555.1,341 L557.6,341 L560.1,341 L562.6,341 L565.1,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M67.4,341 L69.9,341 L72.4,341 L74.9,341 L77.4,341 L79.91,341 L82.41,341 L84.91,341 L87.41,341 L89.91,341 L92.41,341 L94.91,341 L97.41,341 L99.91,341 L102.4,341 L104.9,341 L107.4,341 L109.9,341 L112.4,341 L114.9,341 L117.4,341 L119.9,341 L122.4,341 L124.9,341 L127.4,340.9 L129.9,340.9 L132.4,340.9 L134.9,340.8 L137.4,340.7 L139.9,340.6 L142.4,340.5 L144.9,340.3 L147.4,340 L149.9,339.7 L152.4,339.4 L154.9,338.9 L157.4,338.3 L159.9,337.5 L162.4,336.5 L164.9,335.4 L167.4,333.9 L169.9,332.2 L172.4,330.1 L174.9,327.6 L177.4,324.5 L179.9,320.9 L182.4,316.7 L184.9,311.6 L187.4,305.8 L189.9,298.9 L192.5,291.1 L195,282.1 L197.5,271.9 L200,260.4 L202.5,247.6 L205,233.5 L207.5,218.2 L210,201.9 L212.5,184.7 L215,167.1 L217.5,149.4 L220,132.4 L222.5,116.6 L225,103 L227.5,92.42 L230,85.73 L232.5,83.77 L235,87.18 L237.5,96.34 L240,111.2 L242.5,131.4 L245,155.8 L247.5,183.1 L250,211.7 L252.5,239.6 L255,265.3 L257.5,287.5 L260,305.4 L262.5,318.8 L265,328.2 L267.5,334.2 L270,337.7 L272.5,339.5 L275,340.4 L277.5,340.8 L280,340.9 L282.5,341 L285,341 L287.5,341 L290,341 L292.5,341 L295,341 L297.5,341 L300,341 L302.5,341 L305,341 L307.5,341 L310,341 L312.5,341 L315,341 L317.5,341 L320,341 L322.5,341 L325,341 L327.5,341 L330,341 L332.5,341 L335,341 L337.5,341 L340,341 L342.5,341 L345,341 L347.5,341 L350,341 L352.5,341 L355,341 L357.5,341 L360,341 L362.5,341 L365,341 L367.5,341 L370,341 L372.5,341 L375,341 L377.5,341 L380,341 L382.5,341 L385,341 L387.5,341 L390,341 L392.5,341 L395,341 L397.5,341 L400,341 L402.5,341 L405,341 L407.5,341 L410,341 L412.5,341 L415,341 L417.5,341 L420,341 L422.5,341 L425,341 L427.5,341 L430,341 L432.5,341 L435,341 L437.5,341 L440,341 L442.5,341 L445.1,341 L447.6,341 L450.1,341 L452.6,341 L455.1,341 L457.6,341 L460.1,341 L462.6,341 L465.1,341 L467.6,341 L470.1,341 L472.6,341 L475.1,341 L477.6,341 L480.1,341 L482.6,341 L485.1,341 L487.6,341 L490.1,341 L492.6,341 L495.1,341 L497.6,341 L500.1,341 L502.6,341 L505.1,341 L507.6,341 L510.1,341 L512.6,341 L515.1,341 L517.6,341 L520.1,341 L522.6,341 L525.1,341 L527.6,341 L530.1,341 L532.6,341 L535.1,341 L537.6,341 L540.1,341 L542.6,341 L545.1,341 L547.6,341 L550.1,341 L552.6,341 L555.1,341 L557.6,341 L560.1,341 L562.6,341 L565.1,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="135"/><rect x="581.6" y="58" width="142.4" height="135"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
+<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="178" x2="611.6" y2="178"/></g>
+</g>
+<g id="legendText">
+<text x="619.1" y="88" font-size="15" font-family="Verdana">shape=0.75</text>
+<text x="619.1" y="118" font-size="15" font-family="Verdana">shape=1</text>
+<text x="619.1" y="148" font-size="15" font-family="Verdana">shape=5</text>
+<text x="619.1" y="178" font-size="15" font-family="Verdana">shape=10</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Weibull Distribution PDF (scale=1)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.png b/libs/math/doc/graphs/weibull_pdf2.png
index ab2479ae69..ab2479ae69 100644
--- a/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.png
+++ b/libs/math/doc/graphs/weibull_pdf2.png
Binary files differ
diff --git a/libs/math/doc/graphs/weibull_pdf2.svg b/libs/math/doc/graphs/weibull_pdf2.svg
new file mode 100644
index 0000000000..b92b0f0459
--- /dev/null
+++ b/libs/math/doc/graphs/weibull_pdf2.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="750" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,330.1 L84.2,330.1 M82.2,319.1 L84.2,319.1 M82.2,308.2 L84.2,308.2 M82.2,297.2 L84.2,297.2 M82.2,275.3 L84.2,275.3 M82.2,264.4 L84.2,264.4 M82.2,253.4 L84.2,253.4 M82.2,242.5 L84.2,242.5 M82.2,220.6 L84.2,220.6 M82.2,209.7 L84.2,209.7 M82.2,198.7 L84.2,198.7 M82.2,187.8 L84.2,187.8 M82.2,165.9 L84.2,165.9 M82.2,155 L84.2,155 M82.2,144 L84.2,144 M82.2,133.1 L84.2,133.1 M82.2,111.2 L84.2,111.2 M82.2,100.2 L84.2,100.2 M82.2,89.29 L84.2,89.29 M82.2,78.35 L84.2,78.35 M82.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M112.9,341 L112.9,343 M141.6,341 L141.6,343 M170.4,341 L170.4,343 M199.1,341 L199.1,343 M256.5,341 L256.5,343 M285.3,341 L285.3,343 M314,341 L314,343 M342.7,341 L342.7,343 M400.2,341 L400.2,343 M428.9,341 L428.9,343 M457.6,341 L457.6,343 M486.3,341 L486.3,343 M543.8,341 L543.8,343 M572.5,341 L572.5,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,286.3 L84.2,286.3 M79.2,231.6 L84.2,231.6 M79.2,176.8 L84.2,176.8 M79.2,122.1 L84.2,122.1 M79.2,67.41 L84.2,67.41 M79.2,341 L84.2,341 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M227.8,341 L227.8,346 M371.4,341 L371.4,346 M515,341 L515,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="227.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
+<text x="371.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
+<text x="515" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text></g>
+<g id="yTicksValues">
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="73.2" y="288.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
+<text x="73.2" y="234" text-anchor="end" font-size="12" font-family="Verdana">1</text>
+<text x="73.2" y="179.2" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
+<text x="73.2" y="124.5" text-anchor="end" font-size="12" font-family="Verdana">2</text>
+<text x="73.2" y="69.81" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
+<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
+<g id="xLabel">
+<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,340.2 L89.11,337.9 L91.57,334.1 L94.02,328.7 L96.48,321.9 L98.94,313.6 L101.4,303.9 L103.8,292.8 L106.3,280.6 L108.8,267.2 L111.2,252.9 L113.7,237.8 L116.1,222.1 L118.6,206.1 L121,190 L123.5,174.1 L126,158.6 L128.4,143.9 L130.9,130.2 L133.3,117.9 L135.8,107.1 L138.2,98.18 L140.7,91.26 L143.1,86.52 L145.6,84.07 L148.1,83.98 L150.5,86.24 L153,90.8 L155.4,97.55 L157.9,106.3 L160.3,116.9 L162.8,129 L165.3,142.4 L167.7,156.8 L170.2,171.8 L172.6,187.1 L175.1,202.5 L177.5,217.6 L180,232.2 L182.4,246.1 L184.9,259.1 L187.4,271.1 L189.8,282 L192.3,291.8 L194.7,300.4 L197.2,307.9 L199.6,314.4 L202.1,319.8 L204.6,324.4 L207,328.1 L209.5,331.1 L211.9,333.5 L214.4,335.4 L216.8,336.9 L219.3,338 L221.7,338.9 L224.2,339.5 L226.7,339.9 L229.1,340.3 L231.6,340.5 L234,340.7 L236.5,340.8 L238.9,340.9 L241.4,340.9 L243.9,340.9 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,341 L285.6,341 L288.1,341 L290.5,341 L293,341 L295.4,341 L297.9,341 L300.3,341 L302.8,341 L305.3,341 L307.7,341 L310.2,341 L312.6,341 L315.1,341 L317.5,341 L320,341 L322.5,341 L324.9,341 L327.4,341 L329.8,341 L332.3,341 L334.7,341 L337.2,341 L339.6,341 L342.1,341 L344.6,341 L347,341 L349.5,341 L351.9,341 L354.4,341 L356.8,341 L359.3,341 L361.8,341 L364.2,341 L366.7,341 L369.1,341 L371.6,341 L374,341 L376.5,341 L378.9,341 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,340.9 L89.11,340.6 L91.57,340.1 L94.02,339.5 L96.48,338.6 L98.94,337.5 L101.4,336.3 L103.8,334.9 L106.3,333.2 L108.8,331.4 L111.2,329.5 L113.7,327.3 L116.1,324.9 L118.6,322.4 L121,319.8 L123.5,316.9 L126,313.9 L128.4,310.8 L130.9,307.5 L133.3,304.1 L135.8,300.6 L138.2,296.9 L140.7,293.2 L143.1,289.4 L145.6,285.5 L148.1,281.5 L150.5,277.6 L153,273.5 L155.4,269.5 L157.9,265.5 L160.3,261.5 L162.8,257.5 L165.3,253.6 L167.7,249.8 L170.2,246.1 L172.6,242.5 L175.1,239 L177.5,235.6 L180,232.4 L182.4,229.4 L184.9,226.6 L187.4,224.1 L189.8,221.7 L192.3,219.6 L194.7,217.7 L197.2,216.1 L199.6,214.8 L202.1,213.8 L204.6,213 L207,212.5 L209.5,212.4 L211.9,212.5 L214.4,212.9 L216.8,213.6 L219.3,214.6 L221.7,215.9 L224.2,217.5 L226.7,219.3 L229.1,221.3 L231.6,223.7 L234,226.2 L236.5,228.9 L238.9,231.9 L241.4,235 L243.9,238.3 L246.3,241.7 L248.8,245.2 L251.2,248.9 L253.7,252.6 L256.1,256.4 L258.6,260.2 L261,264.1 L263.5,267.9 L266,271.7 L268.4,275.5 L270.9,279.3 L273.3,283 L275.8,286.6 L278.2,290.1 L280.7,293.5 L283.2,296.9 L285.6,300.1 L288.1,303.1 L290.5,306.1 L293,308.9 L295.4,311.5 L297.9,314 L300.3,316.4 L302.8,318.6 L305.3,320.7 L307.7,322.7 L310.2,324.5 L312.6,326.1 L315.1,327.7 L317.5,329.1 L320,330.4 L322.5,331.6 L324.9,332.7 L327.4,333.7 L329.8,334.5 L332.3,335.3 L334.7,336.1 L337.2,336.7 L339.6,337.3 L342.1,337.8 L344.6,338.2 L347,338.6 L349.5,338.9 L351.9,339.2 L354.4,339.5 L356.8,339.7 L359.3,339.9 L361.8,340.1 L364.2,340.2 L366.7,340.4 L369.1,340.5 L371.6,340.6 L374,340.6 L376.5,340.7 L378.9,340.8 L381.4,340.8 L383.9,340.8 L386.3,340.9 L388.8,340.9 L391.2,340.9 L393.7,340.9 L396.1,340.9 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,340.9 L94.02,340.8 L96.48,340.7 L98.94,340.6 L101.4,340.4 L103.8,340.2 L106.3,340 L108.8,339.8 L111.2,339.5 L113.7,339.3 L116.1,339 L118.6,338.7 L121,338.3 L123.5,337.9 L126,337.5 L128.4,337.1 L130.9,336.7 L133.3,336.2 L135.8,335.7 L138.2,335.2 L140.7,334.7 L143.1,334.1 L145.6,333.6 L148.1,333 L150.5,332.4 L153,331.7 L155.4,331.1 L157.9,330.4 L160.3,329.7 L162.8,329 L165.3,328.2 L167.7,327.5 L170.2,326.7 L172.6,325.9 L175.1,325.1 L177.5,324.3 L180,323.4 L182.4,322.5 L184.9,321.7 L187.4,320.8 L189.8,319.9 L192.3,319 L194.7,318 L197.2,317.1 L199.6,316.2 L202.1,315.2 L204.6,314.2 L207,313.2 L209.5,312.3 L211.9,311.3 L214.4,310.3 L216.8,309.3 L219.3,308.3 L221.7,307.3 L224.2,306.3 L226.7,305.3 L229.1,304.3 L231.6,303.2 L234,302.2 L236.5,301.2 L238.9,300.3 L241.4,299.3 L243.9,298.3 L246.3,297.3 L248.8,296.4 L251.2,295.4 L253.7,294.5 L256.1,293.5 L258.6,292.6 L261,291.7 L263.5,290.8 L266,290 L268.4,289.1 L270.9,288.3 L273.3,287.5 L275.8,286.7 L278.2,286 L280.7,285.2 L283.2,284.5 L285.6,283.8 L288.1,283.2 L290.5,282.5 L293,281.9 L295.4,281.4 L297.9,280.8 L300.3,280.3 L302.8,279.8 L305.3,279.4 L307.7,278.9 L310.2,278.6 L312.6,278.2 L315.1,277.9 L317.5,277.6 L320,277.4 L322.5,277.2 L324.9,277 L327.4,276.9 L329.8,276.8 L332.3,276.7 L334.7,276.7 L337.2,276.7 L339.6,276.7 L342.1,276.8 L344.6,277 L347,277.1 L349.5,277.3 L351.9,277.5 L354.4,277.8 L356.8,278.1 L359.3,278.5 L361.8,278.8 L364.2,279.2 L366.7,279.7 L369.1,280.1 L371.6,280.6 L374,281.2 L376.5,281.7 L378.9,282.3 L381.4,283 L383.9,283.6 L386.3,284.3 L388.8,285 L391.2,285.7 L393.7,286.4 L396.1,287.2 L398.6,288 L401,288.8 L403.5,289.6 L406,290.5 L408.4,291.4 L410.9,292.2 L413.3,293.1 L415.8,294 L418.2,294.9 L420.7,295.9 L423.2,296.8 L425.6,297.7 L428.1,298.7 L430.5,299.6 L433,300.6 L435.4,301.6 L437.9,302.5 L440.3,303.5 L442.8,304.5 L445.3,305.4 L447.7,306.4 L450.2,307.3 L452.6,308.3 L455.1,309.2 L457.5,310.1 L460,311.1 L462.5,312 L464.9,312.9 L467.4,313.8 L469.8,314.7 L472.3,315.6 L474.7,316.4 L477.2,317.3 L479.6,318.1 L482.1,318.9 L484.6,319.7 L487,320.5 L489.5,321.3 L491.9,322.1 L494.4,322.8 L496.8,323.5 L499.3,324.2 L501.8,324.9 L504.2,325.6 L506.7,326.3 L509.1,326.9 L511.6,327.5 L514,328.1 L516.5,328.7 L518.9,329.3 L521.4,329.8 L523.9,330.3 L526.3,330.9 L528.8,331.4 L531.2,331.8 L533.7,332.3 L536.1,332.7 L538.6,333.2 L541.1,333.6 L543.5,334 L546,334.3 L548.4,334.7 L550.9,335.1 L553.3,335.4 L555.8,335.7 L558.2,336 L560.7,336.3 L563.2,336.6 L565.6,336.8 L568.1,337.1 L570.5,337.3 L573,337.6 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
+<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
+<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
+<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
+</g>
+<g id="legendText">
+<text x="626.9" y="88" font-size="15" font-family="Verdana">scale=0.5</text>
+<text x="626.9" y="118" font-size="15" font-family="Verdana">scale=1</text>
+<text x="626.9" y="148" font-size="15" font-family="Verdana">scale=2</text></g>
+<g id="title">
+<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Weibull Distribution PDF (shape=3)</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/zeta1.png b/libs/math/doc/graphs/zeta1.png
index a9985eaefa..a9985eaefa 100644
--- a/libs/math/doc/sf_and_dist/graphs/zeta1.png
+++ b/libs/math/doc/graphs/zeta1.png
Binary files differ
diff --git a/libs/math/doc/graphs/zeta1.svg b/libs/math/doc/graphs/zeta1.svg
new file mode 100644
index 0000000000..6790f4f68b
--- /dev/null
+++ b/libs/math/doc/graphs/zeta1.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="401.4" y1="58" x2="401.4" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="298.9" x2="574" y2="298.9"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,284.2 L75.8,284.2 M73.8,269.5 L75.8,269.5 M73.8,254.8 L75.8,254.8 M73.8,225.4 L75.8,225.4 M73.8,210.7 L75.8,210.7 M73.8,195.9 L75.8,195.9 M73.8,166.5 L75.8,166.5 M73.8,151.8 L75.8,151.8 M73.8,137.1 L75.8,137.1 M73.8,107.7 L75.8,107.7 M73.8,92.97 L75.8,92.97 M73.8,78.26 L75.8,78.26 M73.8,298.9 L75.8,298.9 M73.8,313.6 L75.8,313.6 M73.8,328.3 L75.8,328.3 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M421.8,341 L421.8,343 M442.1,341 L442.1,343 M462.5,341 L462.5,343 M503.2,341 L503.2,343 M523.5,341 L523.5,343 M543.9,341 L543.9,343 M381.1,341 L381.1,343 M360.7,341 L360.7,343 M340.4,341 L340.4,343 M299.7,341 L299.7,343 M279.3,341 L279.3,343 M259,341 L259,343 M218.3,341 L218.3,343 M197.9,341 L197.9,343 M177.6,341 L177.6,343 M136.9,341 L136.9,343 M116.5,341 L116.5,343 M96.15,341 L96.15,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,298.9 L75.8,298.9 M70.8,240.1 L75.8,240.1 M70.8,181.2 L75.8,181.2 M70.8,122.4 L75.8,122.4 M70.8,63.55 L75.8,63.55 M70.8,298.9 L75.8,298.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M401.4,341 L401.4,346 M482.8,341 L482.8,346 M564.2,341 L564.2,346 M401.4,341 L401.4,346 M320,341 L320,346 M238.6,341 L238.6,346 M157.2,341 L157.2,346 M75.8,341 L75.8,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="401.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="482.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
+<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
+<text x="401.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="238.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
+<text x="157.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-15</text>
+<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
+<g id="yTicksValues">
+<text x="64.8" y="301.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="64.8" y="242.5" text-anchor="end" font-size="12" font-family="Verdana">10</text>
+<text x="64.8" y="183.6" text-anchor="end" font-size="12" font-family="Verdana">20</text>
+<text x="64.8" y="124.8" text-anchor="end" font-size="12" font-family="Verdana">30</text>
+<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">40</text>
+<text x="64.8" y="301.3" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">zeta(z)</text></g>
+<g id="xLabel">
+<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M418.1,63.55 L418.8,211.7 L419.6,244.4 L420.3,258.7 L421,266.7 L421.8,271.8 L422.5,275.4 L423.2,278 L424,280 L424.7,281.6 L425.4,282.9 L426.2,284 L426.9,284.8 L427.6,285.6 L428.3,286.2 L429.1,286.8 L429.8,287.3 L430.5,287.7 L431.3,288.1 L432,288.5 L432.7,288.8 L433.5,289 L434.2,289.3 L434.9,289.5 L435.6,289.7 L436.4,289.9 L437.1,290.1 L437.8,290.3 L438.6,290.4 L439.3,290.6 L440,290.7 L440.8,290.8 L441.5,290.9 L442.2,291 L443,291.1 L443.7,291.2 L444.4,291.3 L445.1,291.4 L445.9,291.5 L446.6,291.5 L447.3,291.6 L448.1,291.7 L448.8,291.7 L449.5,291.8 L450.3,291.8 L451,291.9 L451.7,291.9 L452.5,292 L453.2,292 L453.9,292.1 L454.6,292.1 L455.4,292.1 L456.1,292.2 L456.8,292.2 L457.6,292.2 L458.3,292.3 L459,292.3 L459.8,292.3 L460.5,292.4 L461.2,292.4 L461.9,292.4 L462.7,292.4 L463.4,292.5 L464.1,292.5 L464.9,292.5 L465.6,292.5 L466.3,292.5 L467.1,292.6 L467.8,292.6 L468.5,292.6 L469.3,292.6 L470,292.6 L470.7,292.6 L471.4,292.6 L472.2,292.7 L472.9,292.7 L473.6,292.7 L474.4,292.7 L475.1,292.7 L475.8,292.7 L476.6,292.7 L477.3,292.7 L478,292.8 L478.8,292.8 L479.5,292.8 L480.2,292.8 L480.9,292.8 L481.7,292.8 L482.4,292.8 L483.1,292.8 L483.9,292.8 L484.6,292.8 L485.3,292.8 L486.1,292.8 L486.8,292.8 L487.5,292.9 L488.3,292.9 L489,292.9 L489.7,292.9 L490.4,292.9 L491.2,292.9 L491.9,292.9 L492.6,292.9 L493.4,292.9 L494.1,292.9 L494.8,292.9 L495.6,292.9 L496.3,292.9 L497,292.9 L497.7,292.9 L498.5,292.9 L499.2,292.9 L499.9,292.9 L500.7,292.9 L501.4,292.9 L502.1,292.9 L502.9,292.9 L503.6,292.9 L504.3,292.9 L505.1,292.9 L505.8,293 L506.5,293 L507.2,293 L508,293 L508.7,293 L509.4,293 L510.2,293 L510.9,293 L511.6,293 L512.4,293 L513.1,293 L513.8,293 L514.6,293 L515.3,293 L516,293 L516.7,293 L517.5,293 L518.2,293 L518.9,293 L519.7,293 L520.4,293 L521.1,293 L521.9,293 L522.6,293 L523.3,293 L524,293 L524.8,293 L525.5,293 L526.2,293 L527,293 L527.7,293 L528.4,293 L529.2,293 L529.9,293 L530.6,293 L531.4,293 L532.1,293 L532.8,293 L533.5,293 L534.3,293 L535,293 L535.7,293 L536.5,293 L537.2,293 L537.9,293 L538.7,293 L539.4,293 L540.1,293 L540.9,293 L541.6,293 L542.3,293 L543,293 L543.8,293 L544.5,293 L545.2,293 L546,293 L546.7,293 L547.4,293 L548.2,293 L548.9,293 L549.6,293 L550.4,293 L551.1,293 L551.8,293 L552.5,293 L553.3,293 L554,293 L554.7,293 L555.5,293 L556.2,293 L556.9,293 L557.7,293 L558.4,293 L559.1,293 L559.8,293 L560.6,293 L561.3,293 L562,293 L562.8,293 L563.5,293 " fill="none"/></g>
+<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,298.9 L77.51,227.1 L79.22,173.7 L80.92,136.5 L82.63,113.4 L84.34,102.1 L86.05,100.4 L87.75,106.3 L89.46,117.9 L91.17,133.7 L92.88,152 L94.58,171.8 L96.29,192 L98,211.8 L99.71,230.6 L101.4,247.9 L103.1,263.5 L104.8,277.1 L106.5,288.7 L108.2,298.3 L110,306 L111.7,311.9 L113.4,316.1 L115.1,318.9 L116.8,320.4 L118.5,320.9 L120.2,320.6 L121.9,319.5 L123.6,318 L125.3,316.1 L127,314 L128.7,311.8 L130.4,309.5 L132.1,307.4 L133.9,305.3 L135.6,303.4 L137.3,301.8 L139,300.3 L140.7,299.1 L142.4,298.1 L144.1,297.3 L145.8,296.6 L147.5,296.2 L149.2,296 L150.9,295.9 L152.6,295.9 L154.3,296 L156.1,296.1 L157.8,296.4 L159.5,296.7 L161.2,297 L162.9,297.3 L164.6,297.6 L166.3,297.9 L168,298.2 L169.7,298.4 L171.4,298.7 L173.1,298.9 L174.8,299 L176.5,299.2 L178.3,299.3 L180,299.4 L181.7,299.4 L183.4,299.5 L185.1,299.5 L186.8,299.5 L188.5,299.4 L190.2,299.4 L191.9,299.3 L193.6,299.3 L195.3,299.2 L197,299.2 L198.7,299.1 L200.4,299.1 L202.2,299 L203.9,299 L205.6,298.9 L207.3,298.9 L209,298.9 L210.7,298.8 L212.4,298.8 L214.1,298.8 L215.8,298.8 L217.5,298.8 L219.2,298.8 L220.9,298.8 L222.6,298.8 L224.4,298.8 L226.1,298.8 L227.8,298.8 L229.5,298.8 L231.2,298.9 L232.9,298.9 L234.6,298.9 L236.3,298.9 L238,298.9 L239.7,298.9 L241.4,298.9 L243.1,298.9 L244.8,298.9 L246.6,299 L248.3,299 L250,299 L251.7,299 L253.4,299 L255.1,299 L256.8,299 L258.5,298.9 L260.2,298.9 L261.9,298.9 L263.6,298.9 L265.3,298.9 L267,298.9 L268.7,298.9 L270.5,298.9 L272.2,298.9 L273.9,298.9 L275.6,298.9 L277.3,298.9 L279,298.9 L280.7,298.9 L282.4,298.9 L284.1,298.9 L285.8,298.9 L287.5,298.9 L289.2,298.9 L290.9,298.9 L292.7,298.9 L294.4,298.9 L296.1,298.9 L297.8,298.9 L299.5,298.9 L301.2,298.9 L302.9,298.9 L304.6,298.9 L306.3,298.9 L308,298.9 L309.7,298.9 L311.4,298.9 L313.1,298.9 L314.9,298.9 L316.6,298.9 L318.3,298.9 L320,298.9 L321.7,298.9 L323.4,298.9 L325.1,298.9 L326.8,298.9 L328.5,298.9 L330.2,298.9 L331.9,298.9 L333.6,298.9 L335.3,298.9 L337,298.9 L338.8,298.9 L340.5,298.9 L342.2,298.9 L343.9,298.9 L345.6,298.9 L347.3,298.9 L349,298.9 L350.7,298.9 L352.4,298.9 L354.1,298.9 L355.8,298.9 L357.5,298.9 L359.2,298.9 L361,298.9 L362.7,298.9 L364.4,298.9 L366.1,298.9 L367.8,298.9 L369.5,298.9 L371.2,298.9 L372.9,299 L374.6,299 L376.3,299 L378,299.1 L379.7,299.1 L381.4,299.2 L383.2,299.3 L384.9,299.4 L386.6,299.5 L388.3,299.6 L390,299.8 L391.7,299.9 L393.4,300.1 L395.1,300.4 L396.8,300.7 L398.5,301 L400.2,301.5 L401.9,302 L403.6,302.7 L405.3,303.6 L407.1,304.8 L408.8,306.5 L410.5,309 L412.2,313 L413.9,320.7 L415.6,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Zeta Function Over [-20,10]</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/zeta2.png b/libs/math/doc/graphs/zeta2.png
index 475fbcdcd9..475fbcdcd9 100644
--- a/libs/math/doc/sf_and_dist/graphs/zeta2.png
+++ b/libs/math/doc/graphs/zeta2.png
Binary files differ
diff --git a/libs/math/doc/graphs/zeta2.svg b/libs/math/doc/graphs/zeta2.svg
new file mode 100644
index 0000000000..bc60e1f995
--- /dev/null
+++ b/libs/math/doc/graphs/zeta2.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="600" height ="400" version="1.1"
+xmlns:svg ="http://www.w3.org/2000/svg"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:cc="http://web.resource.org/cc/"
+xmlns:dc="http://purl.org/dc/elements/1.1/"
+xmlns ="http://www.w3.org/2000/svg"
+>
+<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
+<!-- Use, modification and distribution of Boost.Plot subject to the -->
+<!-- Boost Software License, Version 1.0.-->
+<!-- (See accompanying file LICENSE_1_0.txt -->
+<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<!-- SVG Plot Copyright John Maddock 2008 -->
+<meta name="copyright" content="John Maddock" />
+<meta name="date" content="2008" />
+<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
+<!-- are subject to the Boost Software License, Version 1.0. -->
+<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
+
+<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
+<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
+<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
+<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
+<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
+<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="564.6" y1="58" x2="564.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
+<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="77.16" x2="574" y2="77.16"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
+<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,62.17 L92.6,62.17 M90.6,77.16 L92.6,77.16 M90.6,92.14 L92.6,92.14 M90.6,107.1 L92.6,107.1 M90.6,122.1 L92.6,122.1 M90.6,137.1 L92.6,137.1 M90.6,152.1 L92.6,152.1 M90.6,167 L92.6,167 M90.6,182 L92.6,182 M90.6,197 L92.6,197 M90.6,197 L92.6,197 M90.6,212 L92.6,212 M90.6,227 L92.6,227 M90.6,242 L92.6,242 M90.6,256.9 L92.6,256.9 M90.6,271.9 L92.6,271.9 M90.6,286.9 L92.6,286.9 M90.6,301.9 L92.6,301.9 M90.6,316.9 L92.6,316.9 M90.6,331.8 L92.6,331.8 " fill="none"/></g>
+<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M522.4,341 L522.4,343 M480.3,341 L480.3,343 M438.1,341 L438.1,343 M353.9,341 L353.9,343 M311.7,341 L311.7,343 M269.6,341 L269.6,343 M185.3,341 L185.3,343 M143.2,341 L143.2,343 M101,341 L101,343 " fill="none"/></g>
+<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,77.16 L92.6,77.16 M87.6,77.16 L92.6,77.16 M87.6,137.1 L92.6,137.1 M87.6,197 L92.6,197 M87.6,256.9 L92.6,256.9 M87.6,316.9 L92.6,316.9 " fill="none"/></g>
+<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M564.6,341 L564.6,346 M564.6,341 L564.6,346 M396,341 L396,346 M227.4,341 L227.4,346 " fill="none"/></g>
+<g id="xTicksValues">
+<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
+<text x="396" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
+<text x="227.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
+<g id="yTicksValues">
+<text x="81.6" y="79.56" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="79.56" text-anchor="end" font-size="12" font-family="Verdana">0</text>
+<text x="81.6" y="139.5" text-anchor="end" font-size="12" font-family="Verdana">-0.1</text>
+<text x="81.6" y="199.4" text-anchor="end" font-size="12" font-family="Verdana">-0.2</text>
+<text x="81.6" y="259.3" text-anchor="end" font-size="12" font-family="Verdana">-0.3</text>
+<text x="81.6" y="319.3" text-anchor="end" font-size="12" font-family="Verdana">-0.4</text></g>
+<g id="yLabel">
+<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">zeta(z)</text></g>
+<g id="xLabel">
+<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
+<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,77.16 L94.96,88.67 L97.32,98.76 L99.68,107.4 L102,114.7 L104.4,120.7 L106.8,125.4 L109.1,129 L111.5,131.4 L113.8,132.8 L116.2,133.3 L118.6,133 L120.9,131.9 L123.3,130.1 L125.6,127.8 L128,125.1 L130.4,121.9 L132.7,118.5 L135.1,114.8 L137.4,111 L139.8,107.1 L142.2,103.2 L144.5,99.25 L146.9,95.42 L149.2,91.71 L151.6,88.15 L154,84.79 L156.3,81.63 L158.7,78.71 L161,76.04 L163.4,73.63 L165.8,71.48 L168.1,69.6 L170.5,67.99 L172.8,66.65 L175.2,65.56 L177.6,64.72 L179.9,64.11 L182.3,63.73 L184.6,63.55 L187,63.56 L189.4,63.76 L191.7,64.1 L194.1,64.59 L196.4,65.2 L198.8,65.92 L201.2,66.72 L203.5,67.59 L205.9,68.52 L208.2,69.49 L210.6,70.48 L213,71.47 L215.3,72.47 L217.7,73.45 L220,74.41 L222.4,75.33 L224.7,76.21 L227.1,77.04 L229.5,77.81 L231.8,78.53 L234.2,79.17 L236.5,79.75 L238.9,80.26 L241.3,80.7 L243.6,81.06 L246,81.36 L248.3,81.58 L250.7,81.74 L253.1,81.83 L255.4,81.86 L257.8,81.83 L260.1,81.75 L262.5,81.61 L264.9,81.43 L267.2,81.21 L269.6,80.95 L271.9,80.66 L274.3,80.34 L276.7,80 L279,79.65 L281.4,79.28 L283.7,78.9 L286.1,78.52 L288.5,78.15 L290.8,77.77 L293.2,77.41 L295.5,77.06 L297.9,76.72 L300.3,76.4 L302.6,76.11 L305,75.83 L307.3,75.58 L309.7,75.36 L312.1,75.17 L314.4,75.01 L316.8,74.87 L319.1,74.77 L321.5,74.7 L323.9,74.65 L326.2,74.64 L328.6,74.66 L330.9,74.7 L333.3,74.77 L335.7,74.87 L338,74.99 L340.4,75.14 L342.7,75.3 L345.1,75.48 L347.5,75.68 L349.8,75.89 L352.2,76.12 L354.5,76.35 L356.9,76.59 L359.3,76.84 L361.6,77.08 L364,77.33 L366.3,77.58 L368.7,77.82 L371.1,78.05 L373.4,78.27 L375.8,78.48 L378.1,78.68 L380.5,78.86 L382.9,79.02 L385.2,79.16 L387.6,79.29 L389.9,79.39 L392.3,79.46 L394.7,79.52 L397,79.54 L399.4,79.54 L401.7,79.51 L404.1,79.46 L406.5,79.37 L408.8,79.26 L411.2,79.12 L413.5,78.96 L415.9,78.77 L418.3,78.55 L420.6,78.3 L423,78.04 L425.3,77.75 L427.7,77.44 L430.1,77.11 L432.4,76.76 L434.8,76.4 L437.1,76.03 L439.5,75.65 L441.9,75.27 L444.2,74.88 L446.6,74.49 L448.9,74.11 L451.3,73.74 L453.7,73.38 L456,73.05 L458.4,72.73 L460.7,72.44 L463.1,72.19 L465.4,71.98 L467.8,71.82 L470.2,71.71 L472.5,71.67 L474.9,71.69 L477.2,71.79 L479.6,71.98 L482,72.26 L484.3,72.66 L486.7,73.17 L489,73.8 L491.4,74.58 L493.8,75.52 L496.1,76.63 L498.5,77.92 L500.8,79.41 L503.2,81.13 L505.6,83.09 L507.9,85.31 L510.3,87.83 L512.6,90.66 L515,93.83 L517.4,97.39 L519.7,101.4 L522.1,105.8 L524.4,110.7 L526.8,116.2 L529.2,122.3 L531.5,129.1 L533.9,136.7 L536.2,145 L538.6,154.4 L541,164.8 L543.3,176.4 L545.7,189.4 L548,203.9 L550.4,220.2 L552.8,238.6 L555.1,259.4 L557.5,283.1 L559.8,310 L562.2,341 " fill="none"/></g>
+</g>
+<g id="plotPoints" clip-path="url(#plot_window)"></g>
+<g id="title">
+<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Zeta Function Over [-14,0]</text></g>
+<g id="plotXValues"></g>
+<g id="plotYValues"></g>
+</svg>
diff --git a/libs/math/doc/html/backgrounders.html b/libs/math/doc/html/backgrounders.html
new file mode 100644
index 0000000000..0e382e4c57
--- /dev/null
+++ b/libs/math/doc/html/backgrounders.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;16.&#160;Backgrounders</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/perf_test_app.html" title="The Performance Test Application">
+<link rel="next" href="math_toolkit/sf_implementation.html" title="Additional Implementation Notes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/perf_test_app.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/sf_implementation.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="backgrounders"></a>Chapter&#160;16.&#160;Backgrounders</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/sf_implementation.html">Additional Implementation
+ Notes</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/special_tut.html">Tutorial: How to Write a New
+ Special Function</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/special_tut/special_tut_impl.html">Implementation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/special_tut/special_tut_test.html">Testing</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/relative_error.html">Relative Error</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/lanczos.html">The Lanczos Approximation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/remez.html">The Remez Method</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/refs.html">References</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/perf_test_app.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/sf_implementation.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/constants.html b/libs/math/doc/html/constants.html
new file mode 100644
index 0000000000..ed325b398b
--- /dev/null
+++ b/libs/math/doc/html/constants.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;4.&#160;Mathematical Constants</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/float128/typeinfo.html" title="typeinfo">
+<link rel="next" href="math_toolkit/constants_intro.html" title="Introduction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/float128/typeinfo.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/constants_intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="constants"></a>Chapter&#160;4.&#160;Mathematical Constants</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/constants_intro.html">Introduction</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/tutorial.html">Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/tutorial/non_templ.html">Use in non-template
+ code</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/tutorial/templ.html">Use in template code</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/tutorial/user_def.html">Use With User-Defined
+ Types</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/constants.html">The Mathematical Constants</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/new_const.html">Defining New Constants</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/constants_faq.html">FAQs</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/float128/typeinfo.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/constants_intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/cstdfloat.html b/libs/math/doc/html/cstdfloat.html
new file mode 100644
index 0000000000..4130a79c90
--- /dev/null
+++ b/libs/math/doc/html/cstdfloat.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;3.&#160;Specified-width floating-point typedefs</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance">
+<link rel="next" href="math_toolkit/overview.html" title="Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/next_float/float_advance.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="cstdfloat"></a>Chapter&#160;3.&#160;Specified-width floating-point typedefs</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/overview.html">Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/rationale.html">Rationale</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/exact_typdefs.html">Exact-Width Floating-Point
+ <code class="computeroutput"><span class="keyword">typedef</span></code>s</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/minimum_typdefs.html">Minimum-width floating-point
+ <code class="computeroutput"><span class="keyword">typedef</span></code>s</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/fastest_typdefs.html">Fastest floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>s</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/greatest_typdefs.html">Greatest-width floating-point
+ typedef</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/macros.html">Floating-Point Constant Macros</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/examples.html">Examples</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/float128.html">Implementation of Float128 type</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/float128/overloading_template_functions_w.html">Overloading
+ template functions with float128_t</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/float128/exp_function.html">Exponential function</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/float128/typeinfo.html"><code class="computeroutput"><span class="identifier">typeinfo</span></code></a></span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/next_float/float_advance.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/dist.html b/libs/math/doc/html/dist.html
new file mode 100644
index 0000000000..954ff7403c
--- /dev/null
+++ b/libs/math/doc/html/dist.html
@@ -0,0 +1,219 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;5.&#160;Statistical Distributions and Functions</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/constants_faq.html" title="FAQs">
+<link rel="next" href="math_toolkit/stat_tut.html" title="Statistical Distributions Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/constants_faq.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/stat_tut.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="dist"></a>Chapter&#160;5.&#160;Statistical Distributions and Functions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/stat_tut.html">Statistical Distributions Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/overview.html">Overview of Distributions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/overview/headers.html">Headers and
+ Namespaces</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/overview/objects.html">Distributions
+ are Objects</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/overview/generic.html">Generic operations
+ common to all distributions are non-member functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/overview/complements.html">Complements
+ are supported too - and when to use them</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/overview/parameters.html">Parameters
+ can be calculated</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/overview/summary.html">Summary</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg.html">Worked Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/dist_construct_eg.html">Distribution
+ Construction Examples</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/st_eg.html">Student's t Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html">Calculating
+ confidence intervals on the mean with the Students-t distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html">Testing
+ a sample mean for difference from a "true" mean</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html">Estimating
+ how large a sample size would have to become in order to give a significant
+ Students-t test result with a single sample test</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html">Comparing
+ the means of two samples with the Students-t test</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/st_eg/paired_st.html">Comparing
+ two paired samples with the Student's t distribution</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/cs_eg.html">Chi Squared Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html">Confidence
+ Intervals on the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html">Chi-Square
+ Test for the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html">Estimating
+ the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/f_eg.html">F Distribution Examples</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/binom_eg.html">Binomial Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html">Binomial
+ Coin-Flipping Example</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html">Binomial
+ Quiz Example</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/binom_eg/binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html">Estimating
+ Sample Sizes for a Binomial Distribution.</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/geometric_eg.html">Geometric Distribution
+ Examples</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/neg_binom_eg.html">Negative Binomial
+ Distribution Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for the Negative Binomial
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html">Estimating
+ Sample Sizes for the Negative Binomial.</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html">Negative
+ Binomial Sales Quota Example.</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html">Negative
+ Binomial Table Printing Example.</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/normal_example.html">Normal Distribution
+ Examples</a></span></dt>
+<dd><dl><dt><span class="section"><a href="math_toolkit/stat_tut/weg/normal_example/normal_misc.html">Some
+ Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html">Inverse
+ Chi-Squared Distribution Bayes Example</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/nccs_eg.html">Non Central Chi
+ Squared Example</a></span></dt>
+<dd><dl><dt><span class="section"><a href="math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html">Tables
+ of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/error_eg.html">Error Handling
+ Example</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/find_eg.html">Find Location and
+ Scale Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/find_eg/find_location_eg.html">Find
+ Location (Mean) Example</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html">Find
+ Scale (Standard Deviation) Example</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html">Find
+ mean and standard deviation example</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/nag_library.html">Comparison with
+ C, R, FORTRAN-style Free Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/weg/c_sharp.html">Using the Distributions
+ from Within C#</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/stat_tut/variates.html">Random Variates and Distribution
+ Parameters</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/stat_tut/dist_params.html">Discrete Probability
+ Distributions</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/dist_ref.html">Statistical Distributions Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/dist_ref/nmp.html">Non-Member Properties</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists.html">Distributions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/bernoulli_dist.html">Bernoulli
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/beta_dist.html">Beta Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/binomial_dist.html">Binomial
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/cauchy_dist.html">Cauchy-Lorentz
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/chi_squared_dist.html">Chi Squared
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/exp_dist.html">Exponential Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/extreme_dist.html">Extreme Value
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/f_dist.html">F Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/gamma_dist.html">Gamma (and
+ Erlang) Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/geometric_dist.html">Geometric
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/hyperexponential_dist.html">Hyperexponential
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/hypergeometric_dist.html">Hypergeometric
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html">Inverse
+ Chi Squared Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/inverse_gamma_dist.html">Inverse
+ Gamma Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/inverse_gaussian_dist.html">Inverse
+ Gaussian (or Inverse Normal) Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/laplace_dist.html">Laplace Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/logistic_dist.html">Logistic
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/lognormal_dist.html">Log Normal
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/negative_binomial_dist.html">Negative
+ Binomial Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/nc_beta_dist.html">Noncentral
+ Beta Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/nc_chi_squared_dist.html">Noncentral
+ Chi-Squared Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/nc_f_dist.html">Noncentral F
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/nc_t_dist.html">Noncentral T
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/normal_dist.html">Normal (Gaussian)
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/pareto.html">Pareto Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/poisson_dist.html">Poisson Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/rayleigh.html">Rayleigh Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/skew_normal_dist.html">Skew
+ Normal Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/students_t_dist.html">Students
+ t Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/triangular_dist.html">Triangular
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/uniform_dist.html">Uniform Distribution</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dists/weibull_dist.html">Weibull Distribution</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/dist_ref/dist_algorithms.html">Distribution Algorithms</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/future.html">Extras/Future Directions</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/constants_faq.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/stat_tut.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/extern_c.html b/libs/math/doc/html/extern_c.html
new file mode 100644
index 0000000000..fd35bb2aef
--- /dev/null
+++ b/libs/math/doc/html/extern_c.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;7.&#160;TR1 and C99 external "C" Functions</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/owens_t.html" title="Owen's T function">
+<link rel="next" href="math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/owens_t.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/main_tr1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="extern_c"></a>Chapter&#160;7.&#160;TR1 and C99 external "C" Functions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/main_tr1.html">C99 and TR1 C Functions Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/c99.html">C99 C Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/tr1_ref.html">TR1 C Functions Quick Reference</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/owens_t.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/main_tr1.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/gcd_lcm.html b/libs/math/doc/html/gcd_lcm.html
new file mode 100644
index 0000000000..1c67f06b76
--- /dev/null
+++ b/libs/math/doc/html/gcd_lcm.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/oct_todo.html" title="To Do">
+<link rel="next" href="math_toolkit/introduction.html" title="Introduction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/oct_todo.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="gcd_lcm"></a>Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/introduction.html">Introduction</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/synopsis.html">Synopsis</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/gcd_function_object.html">GCD Function Object</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/lcm_function_object.html">LCM Function Object</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/run_time.html">Run-time GCD &amp; LCM Determination</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/compile_time.html">Compile time GCD and LCM determination</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/gcd_header.html">Header &lt;boost/math/common_factor.hpp&gt;</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/demo.html">Demonstration Program</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/rationale0.html">Rationale</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/gcd_history.html">History</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/gcd_credits.html">Credits</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/oct_todo.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/index.html b/libs/math/doc/html/index.html
index 88eacc6746..42ed0f6be6 100644
--- a/libs/math/doc/html/index.html
+++ b/libs/math/doc/html/index.html
@@ -1,10 +1,11 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Boost.Math</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="index.html" title="Boost.Math">
+<title>Math Toolkit 2.1.0</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="next" href="overview.html" title="Chapter&#160;1.&#160;Overview">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -16,15 +17,18 @@
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
-<div class="spirit-nav"></div>
-<div class="article" lang="en">
+<div class="spirit-nav"><a accesskey="n" href="overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="book">
<div class="titlepage">
<div>
-<div><h2 class="title">
-<a name="boost_math"></a>Boost.Math</h2></div>
+<div><h1 class="title">
+<a name="math_toolkit"></a>Math Toolkit 2.1.0</h1></div>
<div><div class="authorgroup">
<div class="author"><h3 class="author">
-<span class="firstname">John</span> <span class="surname">Maddock</span>
+<span class="firstname">Nikhar</span> <span class="surname">Agrawal</span>
+</h3></div>
+<div class="author"><h3 class="author">
+<span class="firstname">Anton</span> <span class="surname">Bikineev</span>
</h3></div>
<div class="author"><h3 class="author">
<span class="firstname">Paul A.</span> <span class="surname">Bristow</span>
@@ -33,29 +37,46 @@
<span class="firstname">Hubert</span> <span class="surname">Holin</span>
</h3></div>
<div class="author"><h3 class="author">
-<span class="firstname">Daryle</span> <span class="surname">Walker</span>
+<span class="firstname">Marco</span> <span class="surname">Guazzone</span>
</h3></div>
<div class="author"><h3 class="author">
-<span class="firstname">Xiaogang</span> <span class="surname">Zhang</span>
+<span class="firstname">Christopher</span> <span class="surname">Kormanyos</span>
</h3></div>
<div class="author"><h3 class="author">
<span class="firstname">Bruno</span> <span class="surname">Lalande</span>
</h3></div>
<div class="author"><h3 class="author">
+<span class="firstname">John</span> <span class="surname">Maddock</span>
+</h3></div>
+<div class="author"><h3 class="author">
<span class="firstname">Johan</span> <span class="surname">R&#229;de</span>
</h3></div>
<div class="author"><h3 class="author">
+<span class="firstname">Benjamin</span> <span class="surname">Sobotta</span>
+</h3></div>
+<div class="author"><h3 class="author">
<span class="firstname">Gautam</span> <span class="surname">Sewani</span>
</h3></div>
<div class="author"><h3 class="author">
<span class="firstname">Thijs</span> <span class="surname">van den Berg</span>
</h3></div>
+<div class="author"><h3 class="author">
+<span class="firstname">Daryle</span> <span class="surname">Walker</span>
+</h3></div>
+<div class="author"><h3 class="author">
+<span class="firstname">Xiaogang</span> <span class="surname">Zhang</span>
+</h3></div>
</div></div>
-<div><p class="copyright">Copyright &#169; 2006 , 2007, 2008, 2009, 2010 John Maddock, Paul A. Bristow,
- Hubert Holin, Daryle Walker, Xiaogang Zhang, Bruno Lalande, Johan R&#229;de,
- Gautam Sewani and Thijs van den Berg</p></div>
+<div><p class="releaseinfo">
+This manual is also available in <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">printer
+ friendly PDF format</a>, and as a CD ISBN 0-9504833-2-X 978-0-9504833-2-0,
+ Classification 519.2-dc22. </p></div>
+<div><p class="copyright">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang</p></div>
<div><div class="legalnotice">
-<a name="id889386"></a><p>
+<a name="math_toolkit.legal"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
@@ -63,408 +84,37 @@
</div>
<hr>
</div>
-<p>
- The following libraries are present in Boost.Math:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Library
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Complex Number Inverse Trigonometric Functions
- </p>
- <p>
- <a href="../complex/html/index.html" target="_top">HTML Docs</a>
- </p>
- <p>
- <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
- Docs</a>
- </p>
- </td>
-<td>
- <p>
- These complex number algorithms are the inverses of trigonometric functions
- currently present in the C++ standard. Equivalents to these functions
- are part of the C99 standard, and are part of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
- Report on C++ Library Extensions</a>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Greatest Common Divisor and Least Common Multiple
- </p>
- <p>
- <a href="../gcd/html/index.html" target="_top">HTML Docs</a>
- </p>
- <p>
- <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
- Docs</a>
- </p>
- </td>
-<td>
- <p>
- The class and function templates in &lt;boost/math/common_factor.hpp&gt;
- provide run-time and compile-time evaluation of the greatest common
- divisor (GCD) or least common multiple (LCM) of two integers. These
- facilities are useful for many numeric-oriented generic programming
- problems.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Octonions
- </p>
- <p>
- <a href="../octonion/html/index.html" target="_top">HTML Docs</a>
- </p>
- <p>
- <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
- Docs</a>
- </p>
- </td>
-<td>
- <p>
- Octonions, like <a href="../quaternion/html/index.html" target="_top">quaternions</a>,
- are a relative of complex numbers.
- </p>
- <p>
- Octonions see some use in theoretical physics.
- </p>
- <p>
- In practical terms, an octonion is simply an octuple of real numbers
- (&#945;,&#946;,&#947;,&#948;,&#949;,&#950;,&#951;,&#952;), which we can write in the form <span class="emphasis"><em><code class="literal">o = &#945; + &#946;i + &#947;j + &#948;k + &#949;e' + &#950;i' + &#951;j' + &#952;k'</code></em></span>,
- where <span class="emphasis"><em><code class="literal">i</code></em></span>, <span class="emphasis"><em><code class="literal">j</code></em></span>
- and <span class="emphasis"><em><code class="literal">k</code></em></span> are the same objects
- as for quaternions, and <span class="emphasis"><em><code class="literal">e'</code></em></span>,
- <span class="emphasis"><em><code class="literal">i'</code></em></span>, <span class="emphasis"><em><code class="literal">j'</code></em></span>
- and <span class="emphasis"><em><code class="literal">k'</code></em></span> are distinct objects
- which play essentially the same kind of role as <span class="emphasis"><em><code class="literal">i</code></em></span>
- (or <span class="emphasis"><em><code class="literal">j</code></em></span> or <span class="emphasis"><em><code class="literal">k</code></em></span>).
- </p>
- <p>
- Addition and a multiplication is defined on the set of octonions, which
- generalize their quaternionic counterparts. The main novelty this time
- is that <span class="bold"><strong>the multiplication is not only not commutative,
- is now not even associative</strong></span> (i.e. there are quaternions
- <span class="emphasis"><em><code class="literal">x</code></em></span>, <span class="emphasis"><em><code class="literal">y</code></em></span>
- and <span class="emphasis"><em><code class="literal">z</code></em></span> such that <span class="emphasis"><em><code class="literal">x(yz)
- &#8800; (xy)z</code></em></span>). A way of remembering things is by using
- the following multiplication table:
- </p>
- <p>
- <span class="inlinemediaobject"><img src="../../octonion/graphics/octonion_blurb17.jpeg" alt="octonion_blurb17"></span>
- </p>
- <p>
- Octonions (and their kin) are described in far more details in this
- other <a href="../../quaternion/TQE.pdf" target="_top">document</a> (with
- <a href="../../quaternion/TQE_EA.pdf" target="_top">errata and addenda</a>).
- </p>
- <p>
- Some traditional constructs, such as the exponential, carry over without
- too much change into the realms of octonions, but other, such as taking
- a square root, do not (the fact that the exponential has a closed form
- is a result of the author, but the fact that the exponential exists
- at all for octonions is known since quite a long time ago).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Special Functions
- </p>
- <p>
- <a href="../sf_and_dist/html/index.html" target="_top">HTML Docs</a>
- </p>
- <p>
- <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
- Docs</a>
- </p>
- </td>
-<td>
- <p>
- Provides a number of high quality special functions, initially these
- were concentrated on functions used in statistical applications along
- with those in the Technical Report on C++ Library Extensions.
- </p>
- <p>
- The function families currently implemented are the gamma, beta &amp;
- erf functions along with the incomplete gamma and beta functions (four
- variants of each) and all the possible inverses of these, plus digamma,
- various factorial functions, Bessel functions, elliptic integrals,
- sinus cardinals (along with their hyperbolic variants), inverse hyperbolic
- functions, Legrendre/Laguerre/Hermite polynomials and various special
- power and logarithmic functions.
- </p>
- <p>
- All the implementations are fully generic and support the use of arbitrary
- "real-number" types, although they are optimised for use
- with types with known-about significand (or mantissa) sizes: typically
- float, double or long double.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Statistical Distributions
- </p>
- <p>
- <a href="../sf_and_dist/html/index.html" target="_top">HTML Docs</a>
- </p>
- <p>
- <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
- Docs</a>
- </p>
- </td>
-<td>
- <p>
- Provides a reasonably comprehensive set of statistical distributions,
- upon which higher level statistical tests can be built.
- </p>
- <p>
- The initial focus is on the central univariate distributions. Both
- continuous (like normal &amp; Fisher) and discrete (like binomial &amp;
- Poisson) distributions are provided.
- </p>
- <p>
- A comprehensive tutorial is provided, along with a series of worked
- examples illustrating how the library is used to conduct statistical
- tests.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Quaternions
- </p>
- <p>
- <a href="../quaternion/html/index.html" target="_top">HTML Docs</a>
- </p>
- <p>
- <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">PDF
- Docs</a>
- </p>
- </td>
-<td>
- <p>
- Quaternions are a relative of complex numbers.
- </p>
- <p>
- Quaternions are in fact part of a small hierarchy of structures built
- upon the real numbers, which comprise only the set of real numbers
- (traditionally named <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span>),
- the set of complex numbers (traditionally named <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>), the set of quaternions (traditionally
- named <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span>) and
- the set of octonions (traditionally named <span class="emphasis"><em><span class="bold"><strong>O</strong></span></em></span>),
- which possess interesting mathematical properties (chief among which
- is the fact that they are <span class="emphasis"><em>division algebras</em></span>,
- <span class="emphasis"><em>i.e.</em></span> where the following property is true: if
- <span class="emphasis"><em><code class="literal">y</code></em></span> is an element of that algebra
- and is <span class="bold"><strong>not equal to zero</strong></span>, then <span class="emphasis"><em><code class="literal">yx
- = yx'</code></em></span>, where <span class="emphasis"><em><code class="literal">x</code></em></span>
- and <span class="emphasis"><em><code class="literal">x'</code></em></span> denote elements of that
- algebra, implies that <span class="emphasis"><em><code class="literal">x = x'</code></em></span>).
- Each member of the hierarchy is a super-set of the former.
- </p>
- <p>
- One of the most important aspects of quaternions is that they provide
- an efficient way to parameterize rotations in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>
- (the usual three-dimensional space) and <span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span>.
- </p>
- <p>
- In practical terms, a quaternion is simply a quadruple of real numbers
- (&#945;,&#946;,&#947;,&#948;), which we can write in the form <span class="emphasis"><em><code class="literal">q = &#945; + &#946;i + &#947;j + &#948;k</code></em></span>,
- where <span class="emphasis"><em><code class="literal">i</code></em></span> is the same object
- as for complex numbers, and <span class="emphasis"><em><code class="literal">j</code></em></span>
- and <span class="emphasis"><em><code class="literal">k</code></em></span> are distinct objects
- which play essentially the same kind of role as <span class="emphasis"><em><code class="literal">i</code></em></span>.
- </p>
- <p>
- An addition and a multiplication is defined on the set of quaternions,
- which generalize their real and complex counterparts. The main novelty
- here is that <span class="bold"><strong>the multiplication is not commutative</strong></span>
- (i.e. there are quaternions <span class="emphasis"><em><code class="literal">x</code></em></span>
- and <span class="emphasis"><em><code class="literal">y</code></em></span> such that <span class="emphasis"><em><code class="literal">xy
- &#8800; yx</code></em></span>). A good mnemotechnical way of remembering
- things is by using the formula <span class="emphasis"><em><code class="literal">i*i = j*j = k*k =
- -1</code></em></span>.
- </p>
- <p>
- Quaternions (and their kin) are described in far more details in this
- other <a href="../../quaternion/TQE.pdf" target="_top">document</a> (with
- <a href="../../quaternion/TQE_EA.pdf" target="_top">errata and addenda</a>).
- </p>
- <p>
- Some traditional constructs, such as the exponential, carry over without
- too much change into the realms of quaternions, but other, such as
- taking a square root, do not.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The following Boost libraries are also mathematically oriented:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Library
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a href="../../../integer/index.html" target="_top">Integer</a>
- </p>
- </td>
-<td>
- <p>
- Headers to ease dealing with integral types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a href="../../../numeric/interval/doc/interval.htm" target="_top">Interval</a>
- </p>
- </td>
-<td>
- <p>
- As implied by its name, this library is intended to help manipulating
- mathematical intervals. It consists of a single header &lt;boost/numeric/interval.hpp&gt;
- and principally a type which can be used as interval&lt;T&gt;.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a href="../../../multi_array/doc/index.html" target="_top">Multi Array</a>
- </p>
- </td>
-<td>
- <p>
- Boost.MultiArray provides a generic N-dimensional array concept definition
- and common implementations of that interface.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a href="../../../numeric/conversion/index.html" target="_top">Numeric.Conversion</a>
- </p>
- </td>
-<td>
- <p>
- The Boost Numeric Conversion library is a collection of tools to describe
- and perform conversions between values of different numeric types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a href="../../../utility/operators.htm" target="_top">Operators</a>
- </p>
- </td>
-<td>
- <p>
- The header &lt;boost/operators.hpp&gt; supplies several sets of class
- templates (in namespace boost). These templates define operators at
- namespace scope in terms of a minimal number of fundamental operators
- provided by the class.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a href="../../../random/index.html" target="_top">Random</a>
- </p>
- </td>
-<td>
- <p>
- Random numbers are useful in a variety of applications. The Boost Random
- Number Library (Boost.Random for short) provides a vast variety of
- generators and distributions to produce random numbers having useful
- properties, such as uniform distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a href="../../../rational/index.html" target="_top">Rational</a>
- </p>
- </td>
-<td>
- <p>
- The header rational.hpp provides an implementation of rational numbers.
- The implementation is template-based, in a similar manner to the standard
- complex number class.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a href="../../../numeric/ublas/doc/index.htm" target="_top">uBLAS</a>
- </p>
- </td>
-<td>
- <p>
- uBLAS is a C++ template class library that provides BLAS level 1, 2,
- 3 functionality for dense, packed and sparse matrices. The design and
- implementation unify mathematical notation via operator overloading
- and efficient code generation via expression templates.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="chapter"><a href="overview.html">1. Overview</a></span></dt>
+<dt><span class="chapter"><a href="utils.html">2. Floating Point Utilities</a></span></dt>
+<dt><span class="chapter"><a href="cstdfloat.html">3. Specified-width floating-point typedefs</a></span></dt>
+<dt><span class="chapter"><a href="constants.html">4. Mathematical Constants</a></span></dt>
+<dt><span class="chapter"><a href="dist.html">5. Statistical Distributions and Functions</a></span></dt>
+<dt><span class="chapter"><a href="special.html">6. Special Functions</a></span></dt>
+<dt><span class="chapter"><a href="extern_c.html">7. TR1 and C99 external "C" Functions</a></span></dt>
+<dt><span class="chapter"><a href="inverse_complex.html">8. Complex Number Functions</a></span></dt>
+<dt><span class="chapter"><a href="quaternions.html">9. Quaternions</a></span></dt>
+<dt><span class="chapter"><a href="octonions.html">10. Octonions</a></span></dt>
+<dt><span class="chapter"><a href="gcd_lcm.html">11. Integer Utilities (Greatest Common Divisor and Least Common Multiple)</a></span></dt>
+<dt><span class="chapter"><a href="toolkit.html">12. Internals (Series, Rationals and Continued Fractions, Root Finding, Function
+ Minimization, Testing and Development Tools)</a></span></dt>
+<dt><span class="chapter"><a href="using_udt.html">13. Use with User-Defined Floating-Point Types - Boost.Multiprecision and
+ others</a></span></dt>
+<dt><span class="chapter"><a href="policy.html">14. Policies: Controlling Precision, Error Handling etc</a></span></dt>
+<dt><span class="chapter"><a href="perf.html">15. Performance</a></span></dt>
+<dt><span class="chapter"><a href="backgrounders.html">16. Backgrounders</a></span></dt>
+<dt><span class="chapter"><a href="status.html">17. Library Status</a></span></dt>
+<dt><span class="chapter"><a href="indexes.html">18. Indexes</a></span></dt>
+</dl>
+</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: January 01, 2011 at 17:16:10 +0000</small></p></td>
+<td align="left"><p><small>Last revised: October 30, 2014 at 11:29:37 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
-<div class="spirit-nav"></div>
+<div class="spirit-nav"><a accesskey="n" href="overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
</body>
</html>
diff --git a/libs/math/doc/html/indexes.html b/libs/math/doc/html/indexes.html
new file mode 100644
index 0000000000..cd62fdc8a8
--- /dev/null
+++ b/libs/math/doc/html/indexes.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;18.&#160;Indexes</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/credits.html" title="Credits and Acknowledgements">
+<link rel="next" href="indexes/s01.html" title="Function Index">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/credits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="indexes/s01.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="indexes"></a>Chapter&#160;18.&#160;Indexes</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="indexes/s01.html">Function Index</a></span></dt>
+<dt><span class="section"><a href="indexes/s02.html">Class Index</a></span></dt>
+<dt><span class="section"><a href="indexes/s03.html">Typedef Index</a></span></dt>
+<dt><span class="section"><a href="indexes/s04.html">Macro Index</a></span></dt>
+<dt><span class="section"><a href="indexes/s05.html">Index</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/credits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="indexes/s01.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/indexes/s01.html b/libs/math/doc/html/indexes/s01.html
new file mode 100644
index 0000000000..66a6067a90
--- /dev/null
+++ b/libs/math/doc/html/indexes/s01.html
@@ -0,0 +1,2528 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function Index</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../indexes.html" title="Chapter&#160;18.&#160;Indexes">
+<link rel="prev" href="../indexes.html" title="Chapter&#160;18.&#160;Indexes">
+<link rel="next" href="s02.html" title="Class Index">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../indexes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s02.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="idm1503608992"></a>Function Index</h2></div></div></div>
+<p><a class="link" href="s01.html#idx_id_0">A</a> <a class="link" href="s01.html#idx_id_1">B</a> <a class="link" href="s01.html#idx_id_2">C</a> <a class="link" href="s01.html#idx_id_3">D</a> <a class="link" href="s01.html#idx_id_4">E</a> <a class="link" href="s01.html#idx_id_5">F</a> <a class="link" href="s01.html#idx_id_6">G</a> <a class="link" href="s01.html#idx_id_7">H</a> <a class="link" href="s01.html#idx_id_8">I</a> <a class="link" href="s01.html#idx_id_9">J</a> <a class="link" href="s01.html#idx_id_10">K</a> <a class="link" href="s01.html#idx_id_11">L</a> <a class="link" href="s01.html#idx_id_12">M</a> <a class="link" href="s01.html#idx_id_13">N</a> <a class="link" href="s01.html#idx_id_14">O</a> <a class="link" href="s01.html#idx_id_15">P</a> <a class="link" href="s01.html#idx_id_16">Q</a> <a class="link" href="s01.html#idx_id_17">R</a> <a class="link" href="s01.html#idx_id_18">S</a> <a class="link" href="s01.html#idx_id_19">T</a> <a class="link" href="s01.html#idx_id_20">U</a> <a class="link" href="s01.html#idx_id_21">V</a> <a class="link" href="s01.html#idx_id_23">Z</a></p>
+<div class="variablelist"><dl class="variablelist">
+<dt>
+<a name="idx_id_0"></a><span class="term">A</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">acosh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/inv_hyper/acosh.html" title="acosh"><span class="index-entry-level-1">acosh</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">acoshf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">acoshl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_ai</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/ai.html" title="Airy Ai Function"><span class="index-entry-level-1">Airy Ai Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_ai_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/aip.html" title="Airy Ai' Function"><span class="index-entry-level-1">Airy Ai' Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_bi</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/bi.html" title="Airy Bi Function"><span class="index-entry-level-1">Airy Bi Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_bi_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/bip.html" title="Airy Bi' Function"><span class="index-entry-level-1">Airy Bi' Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_bi_zero</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">asinh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/inv_hyper/asinh.html" title="asinh"><span class="index-entry-level-1">asinh</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">asinhf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">asinhl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_laguerre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_laguerref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_laguerrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_legendre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_legendref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_legendrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">atanh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/inv_hyper/atanh.html" title="atanh"><span class="index-entry-level-1">atanh</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">atanhf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">atanhl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_1"></a><span class="term">B</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bernoulli_b2n</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/bernoulli_numbers.html" title="Bernoulli Numbers"><span class="index-entry-level-1">Bernoulli Numbers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Beta</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_beta_a_b_" title="Table&#160;6.10.&#160;Errors In the Function beta(a, b, x)"><span class="index-entry-level-1">Errors In the Function beta(a, b, x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">betac</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_betac_a_b" title="Table&#160;6.11.&#160;Errors In the Function betac(a,b,x)"><span class="index-entry-level-1">Errors In the Function betac(a,b,x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">betaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">betal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">binomial_coefficient</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT128_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">brent_find_minima</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_2"></a><span class="term">C</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">c</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">called</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cbrt</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/cbrt.html" title="cbrt"><span class="index-entry-level-1">cbrt</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cbrtf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cbrtl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cdf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example"><span class="index-entry-level-1">Binomial Coin-Flipping Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies"><span class="index-entry-level-1">Discrete Quantile Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/future.html" title="Extras/Future Directions"><span class="index-entry-level-1">Extras/Future Directions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">changesign</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">checked_narrowing_cast</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/error_handling.html" title="Error Handling"><span class="index-entry-level-1">Error Handling</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">chf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_1f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_1l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_3</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_3f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_3l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conf_hyperg</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conf_hypergf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conf_hypergl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conj</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">continued_fraction_a</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">continued_fraction_b</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">copysign</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">copysignf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">copysignl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/cos_pi.html" title="cos_pi"><span class="index-entry-level-0">cos_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cylindrical</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">Octonion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cylindrospherical</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_i</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_if</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_il</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_i_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_j</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_jf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_jl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_j_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_j_zero</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Finding Zeros of Bessel Functions of the First and Second Kinds</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_k</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_kf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_kl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_k_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumann</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumannf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumannl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumann_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumann_zero</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Finding Zeros of Bessel Functions of the First and Second Kinds</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_3"></a><span class="term">D</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-0">digamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_double_factorial.html" title="Double Factorial"><span class="index-entry-level-0">double_factorial</span></a></p></li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_4"></a><span class="term">E</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the First Kind - Legendre Form</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_1f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_1l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Second Kind - Legendre Form</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_3</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Third Kind - Legendre Form</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_3f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_3l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rj</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">epsilon</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html#math_toolkit.sf_erf.error_function.errors_in_the_function_erf_z" title="Table&#160;6.12.&#160;Errors In the Function erf(z)"><span class="index-entry-level-1">Errors In the Function erf(z)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html#math_toolkit.sf_erf.error_function.errors_in_the_function_erfc_z" title="Table&#160;6.13.&#160;Errors In the Function erfc(z)"><span class="index-entry-level-1">Errors In the Function erfc(z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfcf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfcl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfc_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erff</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erf_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_even_polynomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_odd_polynomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_polynomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_rational</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exp2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exp2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exp2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_n.html#math_toolkit.expint.expint_n.errors_in_the_function_expint_n_" title="Table&#160;6.31.&#160;Errors In the Function expint(n, z)"><span class="index-entry-level-1">Errors In the Function expint(n, z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html#math_toolkit.expint.expint_i.errors_in_the_function_expint_z" title="Table&#160;6.32.&#160;Errors In the Function expint(z)"><span class="index-entry-level-1">Errors In the Function expint(z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_n.html" title="Exponential Integral En"><span class="index-entry-level-1">Exponential Integral En</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expm1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/expm1.html" title="expm1"><span class="index-entry-level-1">expm1</span></a></strong></span></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expm1f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expm1l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">e_float</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/e_float.html" title="Using e_float Library"><span class="index-entry-level-1">Using e_float Library</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_5"></a><span class="term">F</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-0">factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_falling_factorial.html" title="Falling Factorial"><span class="index-entry-level-0">falling_factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fdim</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fdimf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fdiml</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_degrees_of_freedom</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_location</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_lower_bound_on_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_non_centrality</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_scale</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_upper_bound_on_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_advance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_distance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_next.html" title="Finding the Next Greater Representable Value (float_next)"><span class="index-entry-level-1">Finding the Next Greater Representable Value (float_next)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_prior</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)"><span class="index-entry-level-1">Finding the Next Smaller Representable Value (float_prior)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmax</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmaxf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmaxl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmin</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fminf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fminl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fpclassify</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_6"></a><span class="term">G</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_p_a" title="Table&#160;6.3.&#160;Errors In the Function gamma_p(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_p(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p_derivative</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function"><span class="index-entry-level-1">Derivative of the Incomplete Gamma Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_q</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_q_a" title="Table&#160;6.4.&#160;Errors In the Function gamma_q(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_q(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_q_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_q_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gcd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">get</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">Use With User-Defined Types</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">get_from_string</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_7"></a><span class="term">H</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">halley_iterate</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hazard</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermite</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermitef</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermitel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermite_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hyperg</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypergf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypergl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypot</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/hypot.html" title="hypot"><span class="index-entry-level-1">hypot</span></a></strong></span></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypotf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypotl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_8"></a><span class="term">I</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b" title="Table&#160;6.8.&#160;Errors In the Function ibeta(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibeta(a,b,x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_" title="Table&#160;6.9.&#160;Errors In the Function ibetac(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibetac(a,b,x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac_invb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_derivative</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function"><span class="index-entry-level-1">Derivative of the Incomplete Beta Function</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_invb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ilogb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ilogbf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ilogbl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">infinity</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">iround</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isfinite</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isinf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isnan</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isnormal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">itrunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_9"></a><span class="term">J</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_cd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cd.html" title="Jacobi Elliptic Function cd"><span class="index-entry-level-1">Jacobi Elliptic Function cd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_cn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cn.html" title="Jacobi Elliptic Function cn"><span class="index-entry-level-1">Jacobi Elliptic Function cn</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_cs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cs.html" title="Jacobi Elliptic Function cs"><span class="index-entry-level-1">Jacobi Elliptic Function cs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_dc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_dc.html" title="Jacobi Elliptic Function dc"><span class="index-entry-level-1">Jacobi Elliptic Function dc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_dn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_dn.html" title="Jacobi Elliptic Function dn"><span class="index-entry-level-1">Jacobi Elliptic Function dn</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_ds</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_ds.html" title="Jacobi Elliptic Function ds"><span class="index-entry-level-1">Jacobi Elliptic Function ds</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_elliptic</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN"><span class="index-entry-level-1">Jacobi Elliptic SN, CN and DN</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_nc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_nc.html" title="Jacobi Elliptic Function nc"><span class="index-entry-level-1">Jacobi Elliptic Function nc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_nd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_nd.html" title="Jacobi Elliptic Function nd"><span class="index-entry-level-1">Jacobi Elliptic Function nd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_ns</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_ns.html" title="Jacobi Elliptic Function ns"><span class="index-entry-level-1">Jacobi Elliptic Function ns</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_sc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sc.html" title="Jacobi Elliptic Function sc"><span class="index-entry-level-1">Jacobi Elliptic Function sc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_sd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sd.html" title="Jacobi Elliptic Function sd"><span class="index-entry-level-1">Jacobi Elliptic Function sd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_sn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sn.html" title="Jacobi Elliptic Function sn"><span class="index-entry-level-1">Jacobi Elliptic Function sn</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_10"></a><span class="term">K</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kahan_sum_series</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kurtosis</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kurtosis_excess</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_11"></a><span class="term">L</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">l1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerre_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lcm</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ldexp</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre_q</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lgamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lgammaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lgammal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llrint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llrintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llrintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llround</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llroundf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llroundl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lltrunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">location</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1pf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1pl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logbf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logbl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lrint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lrintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lrintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lround</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lroundf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lroundl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ltrunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_12"></a><span class="term">M</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">make_policy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">mean</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Examples"><span class="index-entry-level-1">Distribution Construction Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">median</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">mode</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">msg</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">multipolar</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">Octonion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_13"></a><span class="term">N</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nan</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/facets_intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/reference.html" title="Reference"><span class="index-entry-level-1">Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nanf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nanl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nearbyint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nearbyintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nearbyintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">newton_raphson_iterate</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nextafter</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)"><span class="index-entry-level-1">Finding the Next Representable Value in a Specific Direction (nextafter)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nextafterf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nextafterl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nexttoward</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nexttowardf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nexttowardl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">norm</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_14"></a><span class="term">O</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">octonion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_mem_fun.html" title="Octonion Member Functions"><span class="index-entry-level-1">Octonion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">Octonion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">Template Class octonion</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">owens_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/owens_t.html" title="Owen's T function"><span class="index-entry-level-1">Owen's T function</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_15"></a><span class="term">P</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">pdf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/powm1.html" title="powm1"><span class="index-entry-level-0">powm1</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/primes.html" title="Prime Numbers"><span class="index-entry-level-1">Prime Numbers</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_16"></a><span class="term">Q</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">quantile</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">Conceptual Requirements for Distribution Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">quaternion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_mem_fun.html" title="Quaternion Member Functions"><span class="index-entry-level-1">Quaternion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">Quaternion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">Template Class quaternion</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_17"></a><span class="term">R</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">r</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">range</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compilers_overview.html" title="Compilers"><span class="index-entry-level-1">Compilers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remainder</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remainderf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remainderl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remquo</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remquof</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remquol</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">riemann_zeta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">riemann_zetaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">riemann_zetal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_rising_factorial.html" title="Rising Factorial"><span class="index-entry-level-0">rising_factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">round</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">roundf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">roundl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_18"></a><span class="term">S</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbln</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalblnf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalblnl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbnf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbnl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scale</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">schroeder_iterate</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">semipolar</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">shape</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sign</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">signbit</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sinc/sinc_pi.html" title="sinc_pi"><span class="index-entry-level-0">sinc_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sinc/sinhc_pi.html" title="sinhc_pi"><span class="index-entry-level-0">sinhc_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/sin_pi.html" title="sin_pi"><span class="index-entry-level-0">sin_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">size</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">skewness</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">Octonion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical_harmonic</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical_harmonic_i</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical_harmonic_r</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_bessel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_besself</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_bessell</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_bessel_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_legendre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_legendref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_legendrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumann</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumannf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumannl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumann_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/sqrt1pm1.html" title="sqrt1pm1"><span class="index-entry-level-0">sqrt1pm1</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">standard_deviation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sum_series</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sup</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_19"></a><span class="term">T</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tangent_t2n</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/tangent_numbers.html" title="Tangent Numbers"><span class="index-entry-level-1">Tangent Numbers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">test</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">Relative Error and Testing</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions"><span class="index-entry-level-1">Changing the Policy on an Ad Hoc Basis for the Special Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_a_" title="Table&#160;6.6.&#160;Errors In the Function tgamma(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma1pm1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgammaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgammal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma_delta_ratio</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_de" title="Table&#160;6.1.&#160;Errors In the Function tgamma_delta_ratio(a, delta)"><span class="index-entry-level-1">Errors In the Function tgamma_delta_ratio(a, delta)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma_lower</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_lo" title="Table&#160;6.5.&#160;Errors In the Function tgamma_lower(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma_lower(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma_ratio</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ra" title="Table&#160;6.2.&#160;Errors In the Function tgamma_ratio(a, b)"><span class="index-entry-level-1">Errors In the Function tgamma_ratio(a, b)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">trunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">truncf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">truncl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_20"></a><span class="term">U</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">unchecked_bernoulli_b2n</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/bernoulli_numbers.html" title="Bernoulli Numbers"><span class="index-entry-level-1">Bernoulli Numbers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">unreal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_mem_fun.html" title="Octonion Member Functions"><span class="index-entry-level-1">Octonion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">Octonion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_mem_fun.html" title="Quaternion Member Functions"><span class="index-entry-level-1">Quaternion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">Quaternion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">Template Class octonion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">Template Class quaternion</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_denorm_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_domain_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_evaluation_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_indeterminate_result_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_overflow_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_pole_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_rounding_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_underflow_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_21"></a><span class="term">V</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">value</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">variance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation"><span class="index-entry-level-1">Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_23"></a><span class="term">Z</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">zeta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html#math_toolkit.zetas.zeta.errors_in_the_function_zeta_z" title="Table&#160;6.30.&#160;Errors In the Function zeta(z)"><span class="index-entry-level-1">Errors In the Function zeta(z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">Riemann Zeta Function</span></a></p></li>
+</ul></div>
+</li></ul></div></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../indexes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s02.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/indexes/s02.html b/libs/math/doc/html/indexes/s02.html
new file mode 100644
index 0000000000..a4b032dacb
--- /dev/null
+++ b/libs/math/doc/html/indexes/s02.html
@@ -0,0 +1,275 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class Index</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../indexes.html" title="Chapter&#160;18.&#160;Indexes">
+<link rel="prev" href="s01.html" title="Function Index">
+<link rel="next" href="s03.html" title="Typedef Index">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s01.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s03.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="idm1501976736"></a>Class Index</h2></div></div></div>
+<p><a class="link" href="s02.html#idx_id_25">B</a> <a class="link" href="s02.html#idx_id_26">C</a> <a class="link" href="s02.html#idx_id_27">D</a> <a class="link" href="s02.html#idx_id_28">E</a> <a class="link" href="s02.html#idx_id_29">F</a> <a class="link" href="s02.html#idx_id_30">G</a> <a class="link" href="s02.html#idx_id_31">H</a> <a class="link" href="s02.html#idx_id_32">I</a> <a class="link" href="s02.html#idx_id_35">L</a> <a class="link" href="s02.html#idx_id_36">M</a> <a class="link" href="s02.html#idx_id_37">N</a> <a class="link" href="s02.html#idx_id_38">O</a> <a class="link" href="s02.html#idx_id_39">P</a> <a class="link" href="s02.html#idx_id_40">Q</a> <a class="link" href="s02.html#idx_id_41">R</a> <a class="link" href="s02.html#idx_id_42">S</a> <a class="link" href="s02.html#idx_id_43">T</a> <a class="link" href="s02.html#idx_id_44">U</a> <a class="link" href="s02.html#idx_id_46">W</a></p>
+<div class="variablelist"><dl class="variablelist">
+<dt>
+<a name="idx_id_25"></a><span class="term">B</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-0">bernoulli_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-0">beta_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-0">binomial_distribution</span></a></p></li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_26"></a><span class="term">C</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cauchy_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-0">chi_squared_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">construction_traits</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">Use With User-Defined Types</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_27"></a><span class="term">D</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">default_policy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_28"></a><span class="term">E</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">eps_tolerance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">equal_ceil</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">equal_floor</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">equal_nearest_integer</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-0">exponential_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-0">extreme_value_distribution</span></a></p></li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_29"></a><span class="term">F</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fisher_f_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_30"></a><span class="term">G</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gcd_evaluator</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gcd_function_object.html" title="GCD Function Object"><span class="index-entry-level-1">GCD Function Object</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-0">geometric_distribution</span></a></p></li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_31"></a><span class="term">H</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-0">hyperexponential_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-0">hypergeometric_distribution</span></a></p></li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_32"></a><span class="term">I</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-0">inverse_chi_squared_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-0">inverse_gamma_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inverse_gaussian_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_35"></a><span class="term">L</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-0">laplace_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lcm_evaluator</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lcm_function_object.html" title="LCM Function Object"><span class="index-entry-level-1">LCM Function Object</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1p_series</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-0">logistic_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lognormal_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_36"></a><span class="term">M</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">max_factorial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_37"></a><span class="term">N</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-0">negative_binomial_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nonfinite_num_get</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nonfinite_num_put</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_beta_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_chi_squared_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_f_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_t_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">normalise</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">normal_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_38"></a><span class="term">O</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">octonion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_non_mem.html" title="Octonion Non-Member Operators"><span class="index-entry-level-1">Octonion Non-Member Operators</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">Octonion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">Template Class octonion</span></a></p></li>
+</ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_39"></a><span class="term">P</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-0">pareto_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-0">poisson_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">promote_args</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_40"></a><span class="term">Q</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">quaternion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_non_mem.html" title="Quaternion Non-Member Operators"><span class="index-entry-level-1">Quaternion Non-Member Operators</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">Quaternion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">Template Class quaternion</span></a></p></li>
+</ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_41"></a><span class="term">R</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-0">rayleigh_distribution</span></a></p></li></ul></div></dd>
+<dt>
+<a name="idx_id_42"></a><span class="term">S</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-0">skew_normal_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-0">students_t_distribution</span></a></p></li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_43"></a><span class="term">T</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">triangular_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></strong></span></p></li>
+</ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_44"></a><span class="term">U</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-0">uniform_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">upper_incomplete_gamma_fract</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_46"></a><span class="term">W</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-0">weibull_distribution</span></a></p></li></ul></div></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s01.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s03.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/indexes/s03.html b/libs/math/doc/html/indexes/s03.html
new file mode 100644
index 0000000000..ef3f5ee865
--- /dev/null
+++ b/libs/math/doc/html/indexes/s03.html
@@ -0,0 +1,440 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Typedef Index</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../indexes.html" title="Chapter&#160;18.&#160;Indexes">
+<link rel="prev" href="s02.html" title="Class Index">
+<link rel="next" href="s04.html" title="Macro Index">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s02.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s04.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="idm1501665056"></a>Typedef Index</h2></div></div></div>
+<p><a class="link" href="s03.html#idx_id_48">A</a> <a class="link" href="s03.html#idx_id_49">B</a> <a class="link" href="s03.html#idx_id_50">C</a> <a class="link" href="s03.html#idx_id_51">D</a> <a class="link" href="s03.html#idx_id_52">E</a> <a class="link" href="s03.html#idx_id_53">F</a> <a class="link" href="s03.html#idx_id_54">G</a> <a class="link" href="s03.html#idx_id_55">H</a> <a class="link" href="s03.html#idx_id_56">I</a> <a class="link" href="s03.html#idx_id_59">L</a> <a class="link" href="s03.html#idx_id_61">N</a> <a class="link" href="s03.html#idx_id_62">O</a> <a class="link" href="s03.html#idx_id_63">P</a> <a class="link" href="s03.html#idx_id_65">R</a> <a class="link" href="s03.html#idx_id_66">S</a> <a class="link" href="s03.html#idx_id_67">T</a> <a class="link" href="s03.html#idx_id_68">U</a> <a class="link" href="s03.html#idx_id_69">V</a> <a class="link" href="s03.html#idx_id_70">W</a></p>
+<div class="variablelist"><dl class="variablelist">
+<dt>
+<a name="idx_id_48"></a><span class="term">A</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assert_undefined_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_49"></a><span class="term">B</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bernoulli</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">binomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_50"></a><span class="term">C</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cauchy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">chi_squared</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_51"></a><span class="term">D</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">denorm_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">discrete_quantile_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">domain_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">double_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_52"></a><span class="term">E</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluation_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exponential</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">extreme_value</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_53"></a><span class="term">F</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fisher_f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">Setting Policies for Distributions on an Ad Hoc Basis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Finding Zeros of Bessel Functions of the First and Second Kinds</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">forwarding_policy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_54"></a><span class="term">G</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">geometric</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_55"></a><span class="term">H</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hyperexponential</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">Hyperexponential Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypergeometric</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_56"></a><span class="term">I</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">indeterminate_result_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inverse_chi_squared</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inverse_gaussian</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_59"></a><span class="term">L</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laplace</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logistic</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lognormal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_61"></a><span class="term">N</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">negative_binomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Examples"><span class="index-entry-level-1">Distribution Construction Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_chi_squared</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">normal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_62"></a><span class="term">O</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">overflow_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_63"></a><span class="term">P</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">pareto</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">poisson</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">pole_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">policy_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">Hyperexponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">precision_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">promote_double_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">promote_float_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_65"></a><span class="term">R</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rayleigh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rounding_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_66"></a><span class="term">S</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">second_argument_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gcd_function_object.html" title="GCD Function Object"><span class="index-entry-level-1">GCD Function Object</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lcm_function_object.html" title="LCM Function Object"><span class="index-entry-level-1">LCM Function Object</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">students_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/namespaces.html" title="Namespaces"><span class="index-entry-level-1">Namespaces</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_67"></a><span class="term">T</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">triangular</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_68"></a><span class="term">U</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">underflow_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">uniform</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_69"></a><span class="term">V</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">value_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">Hyperexponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_typedefs.html" title="Octonion Member Typedefs"><span class="index-entry-level-1">Octonion Member Typedefs</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">Octonion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/mem_typedef.html" title="Quaternion Member Typedefs"><span class="index-entry-level-1">Quaternion Member Typedefs</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">Quaternion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">Template Class octonion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">Template Class quaternion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li></ul></div></dd>
+<dt>
+<a name="idx_id_70"></a><span class="term">W</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">weibull</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li></ul></div>
+</li></ul></div></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s02.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s04.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/indexes/s04.html b/libs/math/doc/html/indexes/s04.html
new file mode 100644
index 0000000000..5f971ea771
--- /dev/null
+++ b/libs/math/doc/html/indexes/s04.html
@@ -0,0 +1,349 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Macro Index</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../indexes.html" title="Chapter&#160;18.&#160;Indexes">
+<link rel="prev" href="s03.html" title="Typedef Index">
+<link rel="next" href="s05.html" title="Index">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s03.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s05.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="idm1501290272"></a>Macro Index</h2></div></div></div>
+<p><a class="link" href="s04.html#idx_id_73">B</a> <a class="link" href="s04.html#idx_id_77">F</a></p>
+<div class="variablelist"><dl class="variablelist">
+<dt>
+<a name="idx_id_73"></a><span class="term">B</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_DEFINE_MATH_CONSTANT</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_faq.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT128_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT16_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT32_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT64_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT80_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOATMAX_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FPU_EXCEPTION_GUARD</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_HAS_LOG1P</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">Mathematically Undefined Function Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_CONTROL_FP</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DENORM_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DIGITS10_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">Binomial Quiz Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DOMAIN_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_EVALUATION_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_CODE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_FPU</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_VARIABLE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INT_TABLE_TYPE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INT_VALUE_SUFFIX</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_MAX_POLY_ORDER</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compilers_overview.html#math_toolkit.compilers_overview.supported_tested_compilers" title="Table&#160;1.9.&#160;Supported/Tested Compilers"><span class="index-entry-level-1">Supported/Tested Compilers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_POLE_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_POLY_METHOD</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_FLOAT_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_RATIONAL_METHOD</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_ROUNDING_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_SMALL_CONSTANT</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_STD_USING</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_UNDERFLOW_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_USE_C99</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_USE_FLOAT128</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_77"></a><span class="term">F</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_INFINITE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_NAN</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_NORMAL</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_SUBNORMAL</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_ZERO</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s03.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s05.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/indexes/s05.html b/libs/math/doc/html/indexes/s05.html
new file mode 100644
index 0000000000..bea2fdf7c6
--- /dev/null
+++ b/libs/math/doc/html/indexes/s05.html
@@ -0,0 +1,5536 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Index</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../indexes.html" title="Chapter&#160;18.&#160;Indexes">
+<link rel="prev" href="s04.html" title="Macro Index">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s04.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="idm1501145632"></a>Index</h2></div></div></div>
+<p><a class="link" href="s05.html#idx_id_96">A</a> <a class="link" href="s05.html#idx_id_97">B</a> <a class="link" href="s05.html#idx_id_98">C</a> <a class="link" href="s05.html#idx_id_99">D</a> <a class="link" href="s05.html#idx_id_100">E</a> <a class="link" href="s05.html#idx_id_101">F</a> <a class="link" href="s05.html#idx_id_102">G</a> <a class="link" href="s05.html#idx_id_103">H</a> <a class="link" href="s05.html#idx_id_104">I</a> <a class="link" href="s05.html#idx_id_105">J</a> <a class="link" href="s05.html#idx_id_106">K</a> <a class="link" href="s05.html#idx_id_107">L</a> <a class="link" href="s05.html#idx_id_108">M</a> <a class="link" href="s05.html#idx_id_109">N</a> <a class="link" href="s05.html#idx_id_110">O</a> <a class="link" href="s05.html#idx_id_111">P</a> <a class="link" href="s05.html#idx_id_112">Q</a> <a class="link" href="s05.html#idx_id_113">R</a> <a class="link" href="s05.html#idx_id_114">S</a> <a class="link" href="s05.html#idx_id_115">T</a> <a class="link" href="s05.html#idx_id_116">U</a> <a class="link" href="s05.html#idx_id_117">V</a> <a class="link" href="s05.html#idx_id_118">W</a> <a class="link" href="s05.html#idx_id_119">Z</a></p>
+<div class="variablelist"><dl class="variablelist">
+<dt>
+<a name="idx_id_96"></a><span class="term">A</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">acosh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/inv_hyper/acosh.html" title="acosh"><span class="index-entry-level-1">acosh</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">acoshf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">acoshl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">float_advance</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">float_distance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Airy Ai Function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/ai.html" title="Airy Ai Function"><span class="index-entry-level-1">airy_ai</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Airy Ai' Function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/aip.html" title="Airy Ai' Function"><span class="index-entry-level-1">airy_ai_prime</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Airy Bi Function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/bi.html" title="Airy Bi Function"><span class="index-entry-level-1">airy_bi</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Airy Bi' Function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/bip.html" title="Airy Bi' Function"><span class="index-entry-level-1">airy_bi_prime</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_ai</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/ai.html" title="Airy Ai Function"><span class="index-entry-level-1">Airy Ai Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_ai_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/aip.html" title="Airy Ai' Function"><span class="index-entry-level-1">Airy Ai' Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_bi</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/bi.html" title="Airy Bi Function"><span class="index-entry-level-1">Airy Bi Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_bi_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/bip.html" title="Airy Bi' Function"><span class="index-entry-level-1">Airy Bi' Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">airy_bi_zero</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">asinh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/inv_hyper/asinh.html" title="asinh"><span class="index-entry-level-1">asinh</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">asinhf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">asinhl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assert_undefined_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_laguerre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_laguerref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_laguerrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_legendre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_legendref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">assoc_legendrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">atanh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/inv_hyper/atanh.html" title="atanh"><span class="index-entry-level-1">atanh</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">atanhf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">atanhl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_97"></a><span class="term">B</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bernoulli</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Bernoulli Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">bernoulli</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">bernoulli_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">skewness</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Bernoulli Numbers</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/bernoulli_numbers.html" title="Bernoulli Numbers"><span class="index-entry-level-1">bernoulli_b2n</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/bernoulli_numbers.html" title="Bernoulli Numbers"><span class="index-entry-level-1">unchecked_bernoulli_b2n</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">bernoulli_b2n</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/bernoulli_numbers.html" title="Bernoulli Numbers"><span class="index-entry-level-1">Bernoulli Numbers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-0">bernoulli_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Bessel Functions of the First and Second Kinds</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">beta</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Beta</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_beta_a_b_" title="Table&#160;6.10.&#160;Errors In the Function beta(a, b, x)"><span class="index-entry-level-1">Errors In the Function beta(a, b, x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Beta Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">beta_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">find_beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibetac</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibetac_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_inva</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_invb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">betac</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_betac_a_b" title="Table&#160;6.11.&#160;Errors In the Function betac(a,b,x)"><span class="index-entry-level-1">Errors In the Function betac(a,b,x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">betaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">betal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-0">beta_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">binomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Binomial Coefficients</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">binomial_coefficient</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Binomial Coin-Flipping Example</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example"><span class="index-entry-level-1">cdf</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Binomial Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">binomial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">binomial_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">find_lower_bound_on_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">find_upper_bound_on_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Binomial Quiz Example</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">constants</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">binomial_coefficient</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-0">binomial_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Boost.Math Macros</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_FPU_EXCEPTION_GUARD</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_CONTROL_FP</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_INSTRUMENT_CODE</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_INSTRUMENT_FPU</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_INSTRUMENT_VARIABLE</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_SMALL_CONSTANT</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_STD_USING</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_USE_C99</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_USE_FLOAT128</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">constants</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Boost.Math Tuning</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_INT_TABLE_TYPE</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_INT_VALUE_SUFFIX</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_MAX_POLY_ORDER</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_POLY_METHOD</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_RATIONAL_METHOD</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">constants</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_DEFINE_MATH_CONSTANT</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_faq.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT128_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT16_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT32_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT64_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOAT80_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FLOATMAX_C</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_FPU_EXCEPTION_GUARD</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_HAS_LOG1P</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">Mathematically Undefined Function Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_CONTROL_FP</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DENORM_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DIGITS10_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">Binomial Quiz Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_DOMAIN_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_EVALUATION_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_CODE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_FPU</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_VARIABLE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INT_TABLE_TYPE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_INT_VALUE_SUFFIX</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_MAX_POLY_ORDER</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compilers_overview.html#math_toolkit.compilers_overview.supported_tested_compilers" title="Table&#160;1.9.&#160;Supported/Tested Compilers"><span class="index-entry-level-1">Supported/Tested Compilers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_POLE_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_POLY_METHOD</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_FLOAT_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_RATIONAL_METHOD</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_ROUNDING_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_SMALL_CONSTANT</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_STD_USING</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_UNDERFLOW_ERROR_POLICY</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_USE_C99</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">BOOST_MATH_USE_FLOAT128</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">brent_find_minima</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_98"></a><span class="term">C</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">c</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">C99 and C++ TR1 C-style Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">acosh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">acoshf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">acoshl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">asinh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">asinhf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">asinhl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_laguerre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_laguerref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_laguerrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">atanh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">atanhf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">atanhl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">betaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">betal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cbrt</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cbrtf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cbrtl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_3</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_3f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_3l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">conf_hyperg</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">conf_hypergf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">conf_hypergl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">copysign</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">copysignf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">copysignl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_if</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_il</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_jf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_jl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_kf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_kl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_neumannf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_neumannl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">double_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_3</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_3f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_3l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfcf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfcl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erff</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">exp2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">exp2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">exp2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expm1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expm1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expm1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fdim</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fdimf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fdiml</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">float_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmax</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmaxf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmaxl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmin</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fminf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fminl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hermite</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hermitef</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hermitel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hyperg</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypergf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypergl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypot</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypotf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypotl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ilogb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ilogbf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ilogbl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">laguerre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">laguerref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">laguerrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lgammaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lgammal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llrint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llrintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llrintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llroundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llroundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log1p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log1pf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log1pl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">logb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">logbf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">logbl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lrint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lrintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lrintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lroundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lroundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nan</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nanf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nanl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nearbyint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nearbyintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nearbyintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nextafter</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nextafterf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nextafterl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nexttoward</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nexttowardf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nexttowardl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remainder</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remainderf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remainderl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remquo</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remquof</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remquol</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">riemann_zeta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">riemann_zetaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">riemann_zetal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">rint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">rintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">rintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">round</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">roundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">roundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbln</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalblnf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalblnl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbn</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbnf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbnl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_besself</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_bessell</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_neumannf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_neumannl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">tgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">tgammaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">tgammal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">trunc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">truncf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">truncl</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">C99 and TR1 C Functions Overview</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">acosh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">acoshf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">acoshl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">asinh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">asinhf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">asinhl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_laguerre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_laguerref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_laguerrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">atanh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">atanhf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">atanhl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">betaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">betal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cbrt</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cbrtf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cbrtl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_3</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_3f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_3l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">conf_hyperg</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">conf_hypergf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">conf_hypergl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">copysign</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">copysignf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">copysignl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_if</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_il</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_jf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_jl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_kf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_kl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_neumannf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_neumannl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">double_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_3</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_3f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_3l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfcf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfcl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erff</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">exp2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">exp2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">exp2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expm1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expm1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expm1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fdim</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fdimf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fdiml</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">float_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmax</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmaxf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmaxl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmin</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fminf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fminl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hermite</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hermitef</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hermitel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hyperg</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypergf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypergl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypot</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypotf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypotl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ilogb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ilogbf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ilogbl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">laguerre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">laguerref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">laguerrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lgammaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lgammal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llrint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llrintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llrintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llroundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llroundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log1p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log1pf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log1pl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">logb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">logbf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">logbl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lrint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lrintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lrintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lroundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lroundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nan</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nanf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nanl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nearbyint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nearbyintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nearbyintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nextafter</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nextafterf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nextafterl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nexttoward</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nexttowardf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nexttowardl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remainder</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remainderf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remainderl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remquo</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remquof</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remquol</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">riemann_zeta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">riemann_zetaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">riemann_zetal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">rint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">rintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">rintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">round</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">roundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">roundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbln</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalblnf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalblnl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbn</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbnf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbnl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_besself</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_bessell</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_neumannf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_neumannl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">tgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">tgammaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">tgammal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">trunc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">truncf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">truncl</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">C99 C Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">acosh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">acoshf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">acoshl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">asinh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">asinhf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">asinhl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">atanh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">atanhf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">atanhl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">cbrt</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">cbrtf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">cbrtl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">copysign</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">copysignf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">copysignl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">double_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfcf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfcl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erff</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expm1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expm1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expm1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">float_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmax</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmaxf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmaxl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmin</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fminf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fminl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">hypot</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">hypotf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">hypotl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lgammaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lgammal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">llround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">llroundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">llroundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">log1p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">log1pf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">log1pl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lroundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lroundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nextafter</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nextafterf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nextafterl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nexttoward</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nexttowardf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nexttowardl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">round</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">roundf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">roundl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">tgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">tgammaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">tgammal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">trunc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">truncf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">truncl</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">called</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Calling User Defined Error Handlers</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">erf_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">msg</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">promote_args</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">tgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_denorm_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_domain_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_evaluation_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_indeterminate_result_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_overflow_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_pole_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_rounding_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_underflow_error</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cauchy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Cauchy-Lorentz Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">cauchy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">cauchy_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cauchy_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cbrt</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/cbrt.html" title="cbrt"><span class="index-entry-level-1">cbrt</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cbrtf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cbrtl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cdf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example"><span class="index-entry-level-1">Binomial Coin-Flipping Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies"><span class="index-entry-level-1">Discrete Quantile Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/future.html" title="Extras/Future Directions"><span class="index-entry-level-1">Extras/Future Directions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">changesign</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Changing the Policy Defaults</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Changing the Policy on an Ad Hoc Basis for the Special Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions"><span class="index-entry-level-1">tgamma</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">checked_narrowing_cast</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/error_handling.html" title="Error Handling"><span class="index-entry-level-1">Error Handling</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">chf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Chi Squared Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">chi_squared</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">chi_squared_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">find_degrees_of_freedom</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">gamma_p_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">gamma_q_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">value</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">chi_squared</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-0">chi_squared_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Compile time GCD and LCM determination</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compile_time.html" title="Compile time GCD and LCM determination"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compile_time.html" title="Compile time GCD and LCM determination"><span class="index-entry-level-1">expression</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Compile Time Power of a Runtime Base</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">log2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">user_overflow_error</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Compilers</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compilers_overview.html" title="Compilers"><span class="index-entry-level-1">range</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Complements are supported too - and when to use them</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">quantile</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_1f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_1l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_3</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_3f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">comp_ellint_3l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Conceptual Requirements for Distribution Types</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">quantile</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Conceptual Requirements for Real Number Types</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">iround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">itrunc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">ldexp</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">round</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">trunc</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">confidence intervals on the mean with the Students-t distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">size</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">t</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conf_hyperg</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conf_hypergf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conf_hypergl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conj</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">constants</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">Binomial Quiz Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_macros" title="Table&#160;1.11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/config_macros.html#math_toolkit.config_macros.boost_math_tuning" title="Table&#160;1.12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compile_time.html" title="Compile time GCD and LCM determination"><span class="index-entry-level-1">Compile time GCD and LCM determination</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">Credits and Acknowledgements</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">Digamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/directories.html" title="Directory and File Structure"><span class="index-entry-level-1">Directory and File Structure</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">Exact-Width Floating-Point typedef s</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_faq.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">Floating-Point Constant Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">Greatest-width floating-point typedef</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">Hyperexponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants"><span class="index-entry-level-1">Mathematical Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm"><span class="index-entry-level-1">Minimax Approximations and the Remez Algorithm</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/primes.html" title="Prime Numbers"><span class="index-entry-level-1">Prime Numbers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">Riemann Zeta Function</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">The Lanczos Approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants.html" title="The Mathematical Constants"><span class="index-entry-level-1">The Mathematical Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/remez.html" title="The Remez Method"><span class="index-entry-level-1">The Remez Method</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/non_templ.html" title="Use in non-template code"><span class="index-entry-level-1">Use in non-template code</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">Use in template code</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">Use With User-Defined Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries"><span class="index-entry-level-1">Using Boost.Math with High-Precision Floating-Point Libraries</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_multiprecision.html" title="Using Boost.Multiprecision"><span class="index-entry-level-1">Using Boost.Multiprecision</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/float128.html" title="Using with GCC's __float128 datatype"><span class="index-entry-level-1">Using with GCC's __float128 datatype</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">construction_traits</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">Use With User-Defined Types</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Continued Fraction Evaluation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">continued_fraction_a</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">continued_fraction_b</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">expression</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">continued_fraction_a</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">continued_fraction_b</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">conventions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/conventions.html" title="Document Conventions"><span class="index-entry-level-1">Document Conventions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">copysign</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">copysignf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">copysignl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/cos_pi.html" title="cos_pi"><span class="index-entry-level-0">cos_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Credits and Acknowledgements</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">expression</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cylindrical</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">Octonion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cylindrospherical</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_i</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_if</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_il</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_i_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_j</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_jf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_jl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_j_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_j_zero</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Finding Zeros of Bessel Functions of the First and Second Kinds</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_k</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_kf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_kl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_bessel_k_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumann</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumannf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumannl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumann_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">cyl_neumann_zero</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Finding Zeros of Bessel Functions of the First and Second Kinds</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_99"></a><span class="term">D</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">default_policy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Defining New Constants</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">BOOST_DEFINE_MATH_CONSTANT</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">BOOST_MATH_STD_USING</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">get</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">get_from_string</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">denorm_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Derivative of the Incomplete Beta Function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Derivative of the Incomplete Gamma Function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function"><span class="index-entry-level-1">gamma_p_derivative</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Derivatives of the Bessel Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">cyl_bessel_i_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">cyl_bessel_j_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">cyl_bessel_k_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">cyl_neumann_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">sph_bessel_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">sph_neumann_prime</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Digamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">digamma</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-0">digamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Directory and File Structure</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/directories.html" title="Directory and File Structure"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Discrete Quantile Policies</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies"><span class="index-entry-level-1">cdf</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">discrete_quantile_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Distribution Algorithms</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">find_location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">find_scale</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Distribution Construction Examples</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Examples"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Examples"><span class="index-entry-level-1">negative_binomial</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">domain_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_double_factorial.html" title="Double Factorial"><span class="index-entry-level-0">Double Factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_double_factorial.html" title="Double Factorial"><span class="index-entry-level-0">double_factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">double_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_100"></a><span class="term">E</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the First Kind - Legendre Form</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_1f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_1l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Second Kind - Legendre Form</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_3</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Third Kind - Legendre Form</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_3f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_3l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ellint_rj</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Elliptic Integral Overview</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_intro.html" title="Elliptic Integral Overview"><span class="index-entry-level-1">expression</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Elliptic Integrals - Carlson Form</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rd</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rj</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Elliptic Integrals of the First Kind - Legendre Form</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"><span class="index-entry-level-1">ellint_1</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Elliptic Integrals of the Second Kind - Legendre Form</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"><span class="index-entry-level-1">ellint_2</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Elliptic Integrals of the Third Kind - Legendre Form</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"><span class="index-entry-level-1">ellint_3</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">epsilon</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">eps_tolerance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">equal_ceil</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">equal_floor</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">equal_nearest_integer</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html#math_toolkit.sf_erf.error_function.errors_in_the_function_erf_z" title="Table&#160;6.12.&#160;Errors In the Function erf(z)"><span class="index-entry-level-1">Errors In the Function erf(z)</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html#math_toolkit.sf_erf.error_function.errors_in_the_function_erfc_z" title="Table&#160;6.13.&#160;Errors In the Function erfc(z)"><span class="index-entry-level-1">Errors In the Function erfc(z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfcf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfcl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfc_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erff</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erfl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">erf_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Error Function Inverses</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">erfc_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">erf_inv</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Error Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">erf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">erfc</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Error Handling</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/error_handling.html" title="Error Handling"><span class="index-entry-level-1">checked_narrowing_cast</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Error Handling Example</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">infinity</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Error Handling Policies</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_denorm_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_domain_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_evaluation_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_indeterminate_result_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_overflow_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_pole_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_rounding_error</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_underflow_error</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function beta(a, b, x)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_beta_a_b_" title="Table&#160;6.10.&#160;Errors In the Function beta(a, b, x)"><span class="index-entry-level-1">beta</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function betac(a,b,x)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_betac_a_b" title="Table&#160;6.11.&#160;Errors In the Function betac(a,b,x)"><span class="index-entry-level-1">betac</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function erf(z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html#math_toolkit.sf_erf.error_function.errors_in_the_function_erf_z" title="Table&#160;6.12.&#160;Errors In the Function erf(z)"><span class="index-entry-level-1">erf</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function erfc(z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_function.html#math_toolkit.sf_erf.error_function.errors_in_the_function_erfc_z" title="Table&#160;6.13.&#160;Errors In the Function erfc(z)"><span class="index-entry-level-1">erfc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function expint(n, z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_n.html#math_toolkit.expint.expint_n.errors_in_the_function_expint_n_" title="Table&#160;6.31.&#160;Errors In the Function expint(n, z)"><span class="index-entry-level-1">expint</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function expint(z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html#math_toolkit.expint.expint_i.errors_in_the_function_expint_z" title="Table&#160;6.32.&#160;Errors In the Function expint(z)"><span class="index-entry-level-1">expint</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function gamma_p(a,z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_p_a" title="Table&#160;6.3.&#160;Errors In the Function gamma_p(a,z)"><span class="index-entry-level-1">gamma_p</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function gamma_q(a,z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_q_a" title="Table&#160;6.4.&#160;Errors In the Function gamma_q(a,z)"><span class="index-entry-level-1">gamma_q</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function ibeta(a,b,x)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b" title="Table&#160;6.8.&#160;Errors In the Function ibeta(a,b,x)"><span class="index-entry-level-1">ibeta</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function ibetac(a,b,x)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_" title="Table&#160;6.9.&#160;Errors In the Function ibetac(a,b,x)"><span class="index-entry-level-1">ibetac</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function tgamma(a,z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_a_" title="Table&#160;6.6.&#160;Errors In the Function tgamma(a,z)"><span class="index-entry-level-1">tgamma</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function tgamma_delta_ratio(a, delta)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_de" title="Table&#160;6.1.&#160;Errors In the Function tgamma_delta_ratio(a, delta)"><span class="index-entry-level-1">tgamma_delta_ratio</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function tgamma_lower(a,z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_lo" title="Table&#160;6.5.&#160;Errors In the Function tgamma_lower(a,z)"><span class="index-entry-level-1">tgamma_lower</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function tgamma_ratio(a, b)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ra" title="Table&#160;6.2.&#160;Errors In the Function tgamma_ratio(a, b)"><span class="index-entry-level-1">tgamma_ratio</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Errors In the Function zeta(z)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html#math_toolkit.zetas.zeta.errors_in_the_function_zeta_z" title="Table&#160;6.30.&#160;Errors In the Function zeta(z)"><span class="index-entry-level-1">zeta</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation"><span class="index-entry-level-1">variance</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_even_polynomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_odd_polynomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_polynomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluate_rational</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">evaluation_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Exact-Width Floating-Point typedef s</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">BOOST_FLOAT128_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">BOOST_FLOAT16_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">BOOST_FLOAT32_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">BOOST_FLOAT64_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">BOOST_FLOAT80_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/exact_typdefs.html" title="Exact-Width Floating-Point typedefs"><span class="index-entry-level-1">constants</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Examples</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">BOOST_FLOAT128_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">BOOST_FLOAT32_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/examples.html" title="Examples"><span class="index-entry-level-1">BOOST_FLOAT80_C</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exp2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exp2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exp2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_n.html#math_toolkit.expint.expint_n.errors_in_the_function_expint_n_" title="Table&#160;6.31.&#160;Errors In the Function expint(n, z)"><span class="index-entry-level-1">Errors In the Function expint(n, z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html#math_toolkit.expint.expint_i.errors_in_the_function_expint_z" title="Table&#160;6.32.&#160;Errors In the Function expint(z)"><span class="index-entry-level-1">Errors In the Function expint(z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_n.html" title="Exponential Integral En"><span class="index-entry-level-1">Exponential Integral En</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expm1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/expm1.html" title="expm1"><span class="index-entry-level-1">expm1</span></a></strong></span></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expm1f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expm1l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">exponential</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Exponential Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">exponential</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">exponential_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Exponential Integral Ei</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">expint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">zeta</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Exponential Integral En</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_n.html" title="Exponential Integral En"><span class="index-entry-level-1">expint</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-0">exponential_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">expression</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compile_time.html" title="Compile time GCD and LCM determination"><span class="index-entry-level-1">Compile time GCD and LCM determination</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">Conceptual Requirements for Distribution Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">Credits and Acknowledgements</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/ellint_intro.html" title="Elliptic Integral Overview"><span class="index-entry-level-1">Elliptic Integral Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_faq.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Finding Zeros of Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN"><span class="index-entry-level-1">Jacobi Elliptic SN, CN and DN</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">Mathematically Undefined Function Policies</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jac_over.html" title="Overvew of the Jacobi Elliptic Functions"><span class="index-entry-level-1">Overvew of the Jacobi Elliptic Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">The Lanczos Approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/remez.html" title="The Remez Method"><span class="index-entry-level-1">The Remez Method</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_todo.html" title="To Do"><span class="index-entry-level-1">To Do</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">Use in template code</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_mpfr.html" title="Using With MPFR or GMP - High-Precision Floating-Point Library"><span class="index-entry-level-1">Using With MPFR or GMP - High-Precision Floating-Point Library</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/using_test.html" title="Using without expression templates for Boost.Test and others"><span class="index-entry-level-1">Using without expression templates for Boost.Test and others</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Extras/Future Directions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/future.html" title="Extras/Future Directions"><span class="index-entry-level-1">cdf</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Extreme Value Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">extreme_value</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">extreme_value_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">extreme_value</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-0">extreme_value_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">e_float</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/e_float.html" title="Using e_float Library"><span class="index-entry-level-1">Using e_float Library</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_101"></a><span class="term">F</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">F Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">fisher_f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">fisher_f_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Facets for Floating-Point Infinities and NaNs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">nonfinite_num_get</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">nonfinite_num_put</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Factorial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">factorial</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">max_factorial</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-0">factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_falling_factorial.html" title="Falling Factorial"><span class="index-entry-level-0">Falling Factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_falling_factorial.html" title="Falling Factorial"><span class="index-entry-level-0">falling_factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FAQs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_faq.html" title="FAQs"><span class="index-entry-level-1">BOOST_DEFINE_MATH_CONSTANT</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_faq.html" title="FAQs"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_faq.html" title="FAQs"><span class="index-entry-level-1">expression</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fdim</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fdimf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fdiml</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Find Location (Mean) Example</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">cauchy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">standard_deviation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Find mean and standard deviation example</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">cauchy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">scale</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Find Scale (Standard Deviation) Example</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">standard_deviation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Finding the Next Greater Representable Value (float_next)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_next.html" title="Finding the Next Greater Representable Value (float_next)"><span class="index-entry-level-1">float_next</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Finding the Next Representable Value in a Specific Direction (nextafter)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)"><span class="index-entry-level-1">nextafter</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Finding the Next Smaller Representable Value (float_prior)</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)"><span class="index-entry-level-1">float_prior</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Finding Zeros of Bessel Functions of the First and Second Kinds</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_bessel_j_zero</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_neumann_zero</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">float_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_degrees_of_freedom</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_location</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_lower_bound_on_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_non_centrality</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_scale</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">find_upper_bound_on_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fisher_f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">Setting Policies for Distributions on an Ad Hoc Basis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fisher_f_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Floating-Point Classification: Infinities and NaNs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">fpclassify</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_INFINITE</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_NAN</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_NORMAL</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_SUBNORMAL</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_ZERO</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isfinite</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isinf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isnan</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isnormal</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Floating-Point Constant Macros</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">BOOST_FLOAT128_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">BOOST_FLOAT16_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">BOOST_FLOAT32_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">BOOST_FLOAT64_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">BOOST_FLOAT80_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">BOOST_FLOATMAX_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/macros.html" title="Floating-Point Constant Macros"><span class="index-entry-level-1">constants</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_advance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_distance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_next.html" title="Finding the Next Greater Representable Value (float_next)"><span class="index-entry-level-1">Finding the Next Greater Representable Value (float_next)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_prior</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)"><span class="index-entry-level-1">Finding the Next Smaller Representable Value (float_prior)</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">float_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Finding Zeros of Bessel Functions of the First and Second Kinds</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmax</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmaxf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmaxl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fmin</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fminf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fminl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">forwarding_policy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">fpclassify</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_INFINITE</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_NAN</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_NORMAL</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_SUBNORMAL</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">FP_ZERO</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_102"></a><span class="term">G</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Gamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">tgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">tgamma1pm1</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Gamma (and Erlang) Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma_p_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma_q_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">mode</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_p_a" title="Table&#160;6.3.&#160;Errors In the Function gamma_p(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_p(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p_derivative</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function"><span class="index-entry-level-1">Derivative of the Incomplete Gamma Function</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_p_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_q</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_q_a" title="Table&#160;6.4.&#160;Errors In the Function gamma_q(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_q(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_q_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gamma_q_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gcd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">GCD Function Object</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gcd_function_object.html" title="GCD Function Object"><span class="index-entry-level-1">gcd_evaluator</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gcd_function_object.html" title="GCD Function Object"><span class="index-entry-level-1">second_argument_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">gcd_evaluator</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gcd_function_object.html" title="GCD Function Object"><span class="index-entry-level-1">GCD Function Object</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Generic operations common to all distributions are non-member functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">cdf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">pdf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">value</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">geometric</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Geometric Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">find_lower_bound_on_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">find_upper_bound_on_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">geometric</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">geometric_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">skewness</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Geometric Distribution Examples</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">normal</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-0">geometric_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">get</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">Use With User-Defined Types</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">get_from_string</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Graphing, Profiling, and Generating Test Data for Special Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">size</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">upper_incomplete_gamma_fract</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Greatest-width floating-point typedef</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">BOOST_FLOAT128_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">BOOST_FLOAT32_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">BOOST_FLOAT64_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">BOOST_FLOAT80_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">BOOST_FLOATMAX_C</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/greatest_typdefs.html" title="Greatest-width floating-point typedef"><span class="index-entry-level-1">constants</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_103"></a><span class="term">H</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">halley_iterate</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hazard</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermite</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Hermite Polynomials</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">hermite</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">hermite_next</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermitef</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermitel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hermite_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">History and What's New</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">airy_bi_zero</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">mode</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">nextafter</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">sph_neumann_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">tgamma_delta_ratio</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">value</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hyperexponential</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">Hyperexponential Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Hyperexponential Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">hyperexponential</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">hyperexponential_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-0">hyperexponential_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hyperg</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypergeometric</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Hypergeometric Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">hypergeometric</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">hypergeometric_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-0">hypergeometric_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypergf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypergl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypot</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/hypot.html" title="hypot"><span class="index-entry-level-1">hypot</span></a></strong></span></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypotf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">hypotl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_104"></a><span class="term">I</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b" title="Table&#160;6.8.&#160;Errors In the Function ibeta(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibeta(a,b,x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html#math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_" title="Table&#160;6.9.&#160;Errors In the Function ibetac(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibetac(a,b,x)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibetac_invb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_derivative</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function"><span class="index-entry-level-1">Derivative of the Incomplete Beta Function</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_inv</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_inva</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ibeta_invb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ilogb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ilogbf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ilogbl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Implementation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">BOOST_FPU_EXCEPTION_GUARD</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">BOOST_MATH_STD_USING</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">called</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">forwarding_policy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">promote_args</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">T</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Implementation Notes</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">BOOST_DEFINE_MATH_CONSTANT</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">cdf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">infinity</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">median</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">size</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">triangular_distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Incomplete Beta Function Inverses</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibetac_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibetac_inva</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibetac_invb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibeta_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibeta_inva</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibeta_invb</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Incomplete Beta Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">betac</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">ibeta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">ibetac</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Incomplete Gamma Function Inverses</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_p_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_p_inva</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_q_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_q_inva</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Incomplete Gamma Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">gamma_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">gamma_q</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">tgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">tgamma_lower</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">indeterminate_result_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">infinity</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Introduction</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_intro.html" title="Introduction"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_intro.html" title="Introduction"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/facets_intro.html" title="Introduction"><span class="index-entry-level-1">nan</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Inverse Chi Squared Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">inverse_chi_squared</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">inverse_chi_squared_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Inverse Chi-Squared Distribution Bayes Example</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Inverse Gamma Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">inverse_gamma_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">kurtosis_excess</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Inverse Gaussian (or Inverse Normal) Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">inverse_gaussian</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">inverse_gaussian_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inverse_chi_squared</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-0">inverse_chi_squared_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-0">inverse_gamma_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inverse_gaussian</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">inverse_gaussian_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">iround</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isfinite</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isinf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isnan</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">isnormal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Iteration Limits Policies</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">itrunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_105"></a><span class="term">J</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function cd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cd.html" title="Jacobi Elliptic Function cd"><span class="index-entry-level-1">jacobi_cd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function cn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cn.html" title="Jacobi Elliptic Function cn"><span class="index-entry-level-1">jacobi_cn</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function cs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cs.html" title="Jacobi Elliptic Function cs"><span class="index-entry-level-1">jacobi_cs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function dc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_dc.html" title="Jacobi Elliptic Function dc"><span class="index-entry-level-1">jacobi_dc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function dn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_dn.html" title="Jacobi Elliptic Function dn"><span class="index-entry-level-1">jacobi_dn</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function ds</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_ds.html" title="Jacobi Elliptic Function ds"><span class="index-entry-level-1">jacobi_ds</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function nc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_nc.html" title="Jacobi Elliptic Function nc"><span class="index-entry-level-1">jacobi_nc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function nd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_nd.html" title="Jacobi Elliptic Function nd"><span class="index-entry-level-1">jacobi_nd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function ns</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_ns.html" title="Jacobi Elliptic Function ns"><span class="index-entry-level-1">jacobi_ns</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function sc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sc.html" title="Jacobi Elliptic Function sc"><span class="index-entry-level-1">jacobi_sc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function sd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sd.html" title="Jacobi Elliptic Function sd"><span class="index-entry-level-1">jacobi_sd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic Function sn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sn.html" title="Jacobi Elliptic Function sn"><span class="index-entry-level-1">jacobi_sn</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Jacobi Elliptic SN, CN and DN</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN"><span class="index-entry-level-1">jacobi_elliptic</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_cd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cd.html" title="Jacobi Elliptic Function cd"><span class="index-entry-level-1">Jacobi Elliptic Function cd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_cn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cn.html" title="Jacobi Elliptic Function cn"><span class="index-entry-level-1">Jacobi Elliptic Function cn</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_cs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_cs.html" title="Jacobi Elliptic Function cs"><span class="index-entry-level-1">Jacobi Elliptic Function cs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_dc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_dc.html" title="Jacobi Elliptic Function dc"><span class="index-entry-level-1">Jacobi Elliptic Function dc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_dn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_dn.html" title="Jacobi Elliptic Function dn"><span class="index-entry-level-1">Jacobi Elliptic Function dn</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_ds</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_ds.html" title="Jacobi Elliptic Function ds"><span class="index-entry-level-1">Jacobi Elliptic Function ds</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_elliptic</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN"><span class="index-entry-level-1">Jacobi Elliptic SN, CN and DN</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_nc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_nc.html" title="Jacobi Elliptic Function nc"><span class="index-entry-level-1">Jacobi Elliptic Function nc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_nd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_nd.html" title="Jacobi Elliptic Function nd"><span class="index-entry-level-1">Jacobi Elliptic Function nd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_ns</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_ns.html" title="Jacobi Elliptic Function ns"><span class="index-entry-level-1">Jacobi Elliptic Function ns</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_sc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sc.html" title="Jacobi Elliptic Function sc"><span class="index-entry-level-1">Jacobi Elliptic Function sc</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_sd</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sd.html" title="Jacobi Elliptic Function sd"><span class="index-entry-level-1">Jacobi Elliptic Function sd</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">jacobi_sn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jacobi_sn.html" title="Jacobi Elliptic Function sn"><span class="index-entry-level-1">Jacobi Elliptic Function sn</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_106"></a><span class="term">K</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kahan_sum_series</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Known Issues, and TODO List</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">cyl_bessel_j_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">cyl_neumann_prime</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">T</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kurtosis</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">kurtosis_excess</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_107"></a><span class="term">L</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">l1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Laguerre (and Associated) Polynomials</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">laguerre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">laguerre_next</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laguerre_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Lanczos approximation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">Digamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">Lanczos approximation</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/refs.html" title="References"><span class="index-entry-level-1">References</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">The Lanczos Approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_ntl.html" title="Using NTL Library"><span class="index-entry-level-1">Using NTL Library</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_mpfr.html" title="Using With MPFR or GMP - High-Precision Floating-Point Library"><span class="index-entry-level-1">Using With MPFR or GMP - High-Precision Floating-Point Library</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">laplace</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Laplace Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">laplace</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">laplace_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-0">laplace_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lcm</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">LCM Function Object</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lcm_function_object.html" title="LCM Function Object"><span class="index-entry-level-1">lcm_evaluator</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lcm_function_object.html" title="LCM Function Object"><span class="index-entry-level-1">second_argument_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lcm_evaluator</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lcm_function_object.html" title="LCM Function Object"><span class="index-entry-level-1">LCM Function Object</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ldexp</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Legendre (and Associated) Polynomials</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">legendre_next</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">legendre_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">legendre_q</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre_next</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre_p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">legendre_q</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lgamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lgammaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lgammal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llrint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llrintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llrintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llround</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llroundf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">llroundl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lltrunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Locating Function Minima: Brent's algorithm</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">brent_find_minima</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">epsilon</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">location</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Log Gamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">lgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">tgamma</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Log Normal Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">lognormal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">lognormal_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1p</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/log1p.html" title="log1p"><span class="index-entry-level-1">BOOST_HAS_LOG1P</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1pf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1pl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log1p_series</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log2</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log2f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">log2l</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logb</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logbf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logbl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">logistic</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Logistic Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">logistic</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">logistic_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-0">logistic_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lognormal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lognormal_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lrint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lrintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lrintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lround</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lroundf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">lroundl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">ltrunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_108"></a><span class="term">M</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">make_policy</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Mathematical Constants</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Mathematically Undefined Function Policies</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">expression</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">max_factorial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">mean</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Examples"><span class="index-entry-level-1">Distribution Construction Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">median</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Minimax Approximations and the Remez Algorithm</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">mode</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Modified Bessel Functions of the First and Second Kinds</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">msg</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">multipolar</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">Octonion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_109"></a><span class="term">N</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Namespaces</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/namespaces.html" title="Namespaces"><span class="index-entry-level-1">students_t</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nan</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/facets_intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/reference.html" title="Reference"><span class="index-entry-level-1">Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nanf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nanl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/navigation.html" title="Navigation"><span class="index-entry-level-0">navigation</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nearbyint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nearbyintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nearbyintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Negative Binomial Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">find_lower_bound_on_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">find_upper_bound_on_p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibetac_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibetac_inva</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibetac_invb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibeta_inv</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibeta_inva</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibeta_invb</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">negative_binomial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">negative_binomial_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">r</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Negative Binomial Sales Quota Example.</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">cdf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">quantile</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">negative_binomial</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Examples"><span class="index-entry-level-1">Distribution Construction Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-0">negative_binomial_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">newton_raphson_iterate</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nextafter</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)"><span class="index-entry-level-1">Finding the Next Representable Value in a Specific Direction (nextafter)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nextafterf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nextafterl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nexttoward</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nexttowardf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nexttowardl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Non-Member Properties</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">cdf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">chf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">hazard</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">kurtosis</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">kurtosis_excess</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">median</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">mode</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">pdf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">range</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">skewness</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">standard_deviation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Noncentral Beta Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">non_central_beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">non_central_beta_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Noncentral Chi-Squared Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">find_degrees_of_freedom</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">find_non_centrality</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">non_central_chi_squared</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">non_central_chi_squared_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Noncentral F Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">non_central_f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">non_central_f_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Noncentral T Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">non_central_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">non_central_t_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nonfinite_num_get</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">nonfinite_num_put</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_beta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_beta_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_chi_squared</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_chi_squared_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_f</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_f_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">non_central_t_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">norm</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">normal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Normal (Gaussian) Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">erfc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">normal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">normal_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">standard_deviation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">normalise</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">normal_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_110"></a><span class="term">O</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">octonion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_mem_fun.html" title="Octonion Member Functions"><span class="index-entry-level-1">Octonion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_non_mem.html" title="Octonion Non-Member Operators"><span class="index-entry-level-1">Octonion Non-Member Operators</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">Octonion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">Template Class octonion</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Octonion Creation Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">cylindrical</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">multipolar</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">spherical</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Octonion Member Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_mem_fun.html" title="Octonion Member Functions"><span class="index-entry-level-1">octonion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_mem_fun.html" title="Octonion Member Functions"><span class="index-entry-level-1">unreal</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Octonion Member Typedefs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_typedefs.html" title="Octonion Member Typedefs"><span class="index-entry-level-1">value_type</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Octonion Non-Member Operators</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_non_mem.html" title="Octonion Non-Member Operators"><span class="index-entry-level-1">octonion</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Octonion Specializations</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">octonion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">unreal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Octonion Value Operations</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">conj</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">l1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">norm</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">sup</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">unreal</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">overflow_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Overvew of the Jacobi Elliptic Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/jacobi/jac_over.html" title="Overvew of the Jacobi Elliptic Functions"><span class="index-entry-level-1">expression</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Owen's T function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/owens_t.html" title="Owen's T function"><span class="index-entry-level-1">owens_t</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">owens_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/owens_t.html" title="Owen's T function"><span class="index-entry-level-1">Owen's T function</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_111"></a><span class="term">P</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">pareto</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Pareto Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">pareto</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">pareto_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-0">pareto_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">pdf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Performance Tuning Macros</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_INT_TABLE_TYPE</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_MAX_POLY_ORDER</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_POLY_METHOD</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_RATIONAL_METHOD</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">poisson</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Poisson Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">poisson</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">poisson_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-0">poisson_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">pole_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Policy Class Reference</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">assert_undefined_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">default_policy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">denorm_error_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">discrete_quantile_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">domain_error_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">evaluation_error_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">indeterminate_result_error_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">make_policy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">normalise</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">overflow_error_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">pole_error_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">precision_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">promote_double_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">promote_float_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">rounding_error_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">underflow_error_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">policy_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">Hyperexponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Polynomial and Rational Function Evaluation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_even_polynomial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_odd_polynomial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_polynomial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_rational</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">T</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Polynomials</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">size</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/powm1.html" title="powm1"><span class="index-entry-level-0">powm1</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">precision_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/primes.html" title="Prime Numbers"><span class="index-entry-level-1">Prime Numbers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Prime Numbers</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/primes.html" title="Prime Numbers"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/primes.html" title="Prime Numbers"><span class="index-entry-level-1">prime</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">promote_args</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">promote_double_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">promote_float_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_112"></a><span class="term">Q</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">quantile</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">Conceptual Requirements for Distribution Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">quaternion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_mem_fun.html" title="Quaternion Member Functions"><span class="index-entry-level-1">Quaternion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_non_mem.html" title="Quaternion Non-Member Operators"><span class="index-entry-level-1">Quaternion Non-Member Operators</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">Quaternion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">Template Class quaternion</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Quaternion Creation Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">cylindrical</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">cylindrospherical</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">multipolar</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">semipolar</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">spherical</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Quaternion Member Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_mem_fun.html" title="Quaternion Member Functions"><span class="index-entry-level-1">quaternion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_mem_fun.html" title="Quaternion Member Functions"><span class="index-entry-level-1">unreal</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Quaternion Member Typedefs</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/mem_typedef.html" title="Quaternion Member Typedefs"><span class="index-entry-level-1">value_type</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Quaternion Non-Member Operators</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_non_mem.html" title="Quaternion Non-Member Operators"><span class="index-entry-level-1">quaternion</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Quaternion Specializations</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">quaternion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">unreal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Quaternion Value Operations</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">conj</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">l1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">norm</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">sup</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">unreal</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_113"></a><span class="term">R</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">r</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">range</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compilers_overview.html" title="Compilers"><span class="index-entry-level-1">Compilers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Ratios of Gamma Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">tgamma_delta_ratio</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">tgamma_ratio</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rayleigh</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Rayleigh Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">rayleigh</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">rayleigh_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-0">rayleigh_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Reference</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/reference.html" title="Reference"><span class="index-entry-level-1">nan</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">References</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/refs.html" title="References"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Relative Error and Testing</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">test</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remainder</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remainderf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remainderl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Remez Method</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/remez.html" title="The Remez Method"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/remez.html" title="The Remez Method"><span class="index-entry-level-1">expression</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remquo</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remquof</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">remquol</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Representation Distance Between Two Floating Point Values (ULP) float_distance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">float_distance</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">value</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Riemann Zeta Function</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">zeta</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">riemann_zeta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">riemann_zetaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">riemann_zetal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rint</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rintf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rintl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_rising_factorial.html" title="Rising Factorial"><span class="index-entry-level-0">Rising Factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/factorials/sf_rising_factorial.html" title="Rising Factorial"><span class="index-entry-level-0">rising_factorial</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">cbrt</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">halley_iterate</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">newton_raphson_iterate</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">schroeder_iterate</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">eps_tolerance</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">equal_ceil</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">equal_floor</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">equal_nearest_integer</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">round</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">roundf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Rounding Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">iround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">llround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">lround</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">round</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">rounding_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">roundl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_114"></a><span class="term">S</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbln</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalblnf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalblnl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbn</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbnf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scalbnl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">scale</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">schroeder_iterate</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">second_argument_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gcd_function_object.html" title="GCD Function Object"><span class="index-entry-level-1">GCD Function Object</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lcm_function_object.html" title="LCM Function Object"><span class="index-entry-level-1">LCM Function Object</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">semipolar</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Series Evaluation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">kahan_sum_series</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">log1p</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">log1p_series</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">sum_series</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Setting Polices at Namespace Scope</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">cauchy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">lgamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">tgamma</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Setting Policies at Namespace or Translation Unit Scope</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">cauchy</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">norm</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">normal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">promote_args</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">tgamma</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Setting Policies for Distributions on an Ad Hoc Basis</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">fisher_f</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">shape</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sign</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Sign Manipulation Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">changesign</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">copysign</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">sign</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">signbit</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">signbit</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sinc/sinc_pi.html" title="sinc_pi"><span class="index-entry-level-0">sinc_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sinc/sinhc_pi.html" title="sinhc_pi"><span class="index-entry-level-0">sinhc_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/sin_pi.html" title="sin_pi"><span class="index-entry-level-0">sin_pi</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">size</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Skew Normal Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">location</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">normal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">skew_normal_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">T</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">skewness</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-0">skew_normal_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">test</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_create.html" title="Octonion Creation Functions"><span class="index-entry-level-1">Octonion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/create.html" title="Quaternion Creation Functions"><span class="index-entry-level-1">Quaternion Creation Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Spherical Bessel Functions of the First and Second Kinds</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Spherical Harmonics</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">spherical_harmonic</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">spherical_harmonic_i</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">spherical_harmonic_r</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical_harmonic</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical_harmonic_i</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">spherical_harmonic_r</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_bessel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_besself</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_bessell</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_bessel_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_legendre</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_legendref</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_legendrel</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumann</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumannf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumannl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sph_neumann_prime</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions"><span class="index-entry-level-1">Derivatives of the Bessel Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/sqrt1pm1.html" title="sqrt1pm1"><span class="index-entry-level-0">sqrt1pm1</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">standard_deviation</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Students t Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">find_degrees_of_freedom</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">ibetac</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">students_t</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">students_t_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">students_t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/namespaces.html" title="Namespaces"><span class="index-entry-level-1">Namespaces</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-0">students_t_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sum_series</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">sup</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Supported/Tested Compilers</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/compilers_overview.html#math_toolkit.compilers_overview.supported_tested_compilers" title="Table&#160;1.9.&#160;Supported/Tested Compilers"><span class="index-entry-level-1">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Synopsis</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">conj</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">cylindrical</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">cylindrospherical</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/synopsis.html" title="Synopsis"><span class="index-entry-level-1">gcd</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">l1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/synopsis.html" title="Synopsis"><span class="index-entry-level-1">lcm</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">multipolar</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">norm</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">semipolar</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_synopsis.html" title="Synopsis"><span class="index-entry-level-1">spherical</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">sup</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">unreal</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_115"></a><span class="term">T</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">t</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Tangent Numbers</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/tangent_numbers.html" title="Tangent Numbers"><span class="index-entry-level-1">tangent_t2n</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tangent_t2n</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/tangent_numbers.html" title="Tangent Numbers"><span class="index-entry-level-1">Tangent Numbers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Template Class octonion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">octonion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">unreal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Template Class quaternion</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">quaternion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">unreal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">test</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">Relative Error and Testing</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Testing</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">test</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">value_type</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions"><span class="index-entry-level-1">Changing the Policy on an Ad Hoc Basis for the Special Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_a_" title="Table&#160;6.6.&#160;Errors In the Function tgamma(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma1pm1</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgammaf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgammal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma_delta_ratio</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_de" title="Table&#160;6.1.&#160;Errors In the Function tgamma_delta_ratio(a, delta)"><span class="index-entry-level-1">Errors In the Function tgamma_delta_ratio(a, delta)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma_lower</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html#math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_lo" title="Table&#160;6.5.&#160;Errors In the Function tgamma_lower(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma_lower(a,z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">tgamma_ratio</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ra" title="Table&#160;6.2.&#160;Errors In the Function tgamma_ratio(a, b)"><span class="index-entry-level-1">Errors In the Function tgamma_ratio(a, b)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">To Do</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_todo.html" title="To Do"><span class="index-entry-level-1">expression</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">TR1 C Functions Quick Reference</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_laguerre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_laguerref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_laguerrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">beta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">betaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">betal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_3</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_3f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_3l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">conf_hyperg</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">conf_hypergf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">conf_hypergl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_if</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_il</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_jf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_jl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_kf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_kl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_neumannf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_neumannl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_1</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_1f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_1l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_2</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_2f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_2l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_3</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_3f</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_3l</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">expint</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">expintf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">expintl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hermite</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hermitef</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hermitel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hyperg</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hypergf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hypergl</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">laguerre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">laguerref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">laguerrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">riemann_zeta</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">riemann_zetaf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">riemann_zetal</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_besself</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_bessell</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_legendre</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_legendref</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_legendrel</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_neumannf</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_neumannl</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">triangular</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Triangular Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">c</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">mode</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">skewness</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">triangular</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">triangular_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">triangular_distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></strong></span></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">trunc</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Truncation Functions</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">itrunc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">lltrunc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">ltrunc</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">trunc</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">truncf</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">truncl</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/overview_tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_116"></a><span class="term">U</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">unchecked_bernoulli_b2n</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/number_series/bernoulli_numbers.html" title="Bernoulli Numbers"><span class="index-entry-level-1">Bernoulli Numbers</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">underflow_error_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">uniform</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Uniform Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">uniform</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">uniform_distribution</span></a></strong></span></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-0">uniform_distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">unreal</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_mem_fun.html" title="Octonion Member Functions"><span class="index-entry-level-1">Octonion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">Octonion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_mem_fun.html" title="Quaternion Member Functions"><span class="index-entry-level-1">Quaternion Member Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">Quaternion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_synopsis.html" title="Synopsis"><span class="index-entry-level-1">Synopsis</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">Template Class octonion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">Template Class quaternion</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">upper_incomplete_gamma_fract</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Use in non-template code</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/non_templ.html" title="Use in non-template code"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Use in template code</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">expression</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Use With User-Defined Types</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">construction_traits</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/tutorial/user_def.html" title="Use With User-Defined Types"><span class="index-entry-level-1">get</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_denorm_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_domain_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_evaluation_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_indeterminate_result_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_overflow_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_pole_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_rounding_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">user_underflow_error</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using Boost.Math with High-Precision Floating-Point Libraries</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using Boost.Multiprecision</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_multiprecision.html" title="Using Boost.Multiprecision"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using e_float Library</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/e_float.html" title="Using e_float Library"><span class="index-entry-level-1">e_float</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using Macros to Change the Policy Defaults</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DENORM_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DIGITS10_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_EVALUATION_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_POLE_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_PROMOTE_FLOAT_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_ROUNDING_ERROR_POLICY</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_UNDERFLOW_ERROR_POLICY</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using NTL Library</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_ntl.html" title="Using NTL Library"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using with GCC's __float128 datatype</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/float128.html" title="Using with GCC's __float128 datatype"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using With MPFR or GMP - High-Precision Floating-Point Library</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_mpfr.html" title="Using With MPFR or GMP - High-Precision Floating-Point Library"><span class="index-entry-level-1">expression</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/use_mpfr.html" title="Using With MPFR or GMP - High-Precision Floating-Point Library"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Using without expression templates for Boost.Test and others</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/high_precision/using_test.html" title="Using without expression templates for Boost.Test and others"><span class="index-entry-level-1">expression</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_117"></a><span class="term">V</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">value</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">value_type</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution"><span class="index-entry-level-1">Hyperexponential Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_typedefs.html" title="Octonion Member Typedefs"><span class="index-entry-level-1">Octonion Member Typedefs</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_specialization.html" title="Octonion Specializations"><span class="index-entry-level-1">Octonion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/mem_typedef.html" title="Quaternion Member Typedefs"><span class="index-entry-level-1">Quaternion Member Typedefs</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/spec.html" title="Quaternion Specializations"><span class="index-entry-level-1">Quaternion Specializations</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/octonion.html" title="Template Class octonion"><span class="index-entry-level-1">Template Class octonion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat.html" title="Template Class quaternion"><span class="index-entry-level-1">Template Class quaternion</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_test.html" title="Testing"><span class="index-entry-level-1">Testing</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">variance</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation"><span class="index-entry-level-1">Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
+</ul></div>
+</li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_118"></a><span class="term">W</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">weibull</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li></ul></div>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">Weibull Distribution</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">weibull</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">weibull_distribution</span></a></strong></span></p></li>
+</ul></div>
+</li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-0">weibull_distribution</span></a></p></li>
+</ul></div></dd>
+<dt>
+<a name="idx_id_119"></a><span class="term">Z</span>
+</dt>
+<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">zeta</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html#math_toolkit.zetas.zeta.errors_in_the_function_zeta_z" title="Table&#160;6.30.&#160;Errors In the Function zeta(z)"><span class="index-entry-level-1">Errors In the Function zeta(z)</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">Riemann Zeta Function</span></a></p></li>
+</ul></div>
+</li></ul></div></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="s04.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../indexes.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/inverse_complex.html b/libs/math/doc/html/inverse_complex.html
new file mode 100644
index 0000000000..bfbce0f9bc
--- /dev/null
+++ b/libs/math/doc/html/inverse_complex.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;8.&#160;Complex Number Functions</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/tr1_ref.html" title="TR1 C Functions Quick Reference">
+<link rel="next" href="math_toolkit/complex_implementation.html" title="Implementation and Accuracy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/tr1_ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/complex_implementation.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="inverse_complex"></a>Chapter&#160;8.&#160;Complex Number Functions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/complex_implementation.html">Implementation and
+ Accuracy</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/asin.html">asin</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/acos.html">acos</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/atan.html">atan</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/asinh.html">asinh</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/acosh.html">acosh</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/atanh.html">atanh</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/complex_history.html">History</a></span></dt>
+</dl>
+</div>
+<p>
+ The following complex number algorithms are the inverses of trigonometric functions
+ currently present in the C++ standard. Equivalents to these functions are part
+ of the C99 standard, and are part of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
+ Report on C++ Library Extensions</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/tr1_ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/complex_implementation.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math.css b/libs/math/doc/html/math.css
new file mode 100644
index 0000000000..0c99f5ab5a
--- /dev/null
+++ b/libs/math/doc/html/math.css
@@ -0,0 +1,74 @@
+@import url('../../../../doc/src/boostbook.css');
+
+/*=============================================================================
+Copyright (c) 2004 Joel de Guzman
+Copyright (c) 2014 John Maddock
+http://spirit.sourceforge.net/
+
+Copyright 2013 Niall Douglas additions for colors and alignment.
+Copyright 2013 Paul A. Bristow additions for more colors and alignments.
+
+Distributed under the Boost Software License, Version 1.0. (See accompany-
+ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+/*=============================================================================
+Program listings
+=============================================================================*/
+
+ /* Code on paragraphs */
+ p tt.computeroutput
+ {
+ font-size: 10pt;
+ }
+
+ pre.synopsis
+ {
+ font-size: 10pt;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ .programlisting,
+ .screen
+ {
+ font-size: 10pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ /* Program listings in tables don't get borders */
+ td .programlisting,
+ td .screen
+ {
+ margin: 0pc 0pc 0pc 0pc;
+ padding: 0pc 0pc 0pc 0pc;
+ }
+
+/*=============================================================================
+Table of contents
+=============================================================================*/
+
+ div.toc
+ {
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.1pc 1pc 0.1pc 1pc;
+ font-size: 100%;
+ line-height: 1.15;
+ }
+
+ .boost-toc
+ {
+ float: right;
+ padding: 0.5pc;
+ }
+
+ /* Code on toc */
+ .toc .computeroutput { font-size: 120% }
+
+ /* No margin on nested menus */
+
+ .toc dl dl { margin: 0; }
+
+
diff --git a/libs/math/doc/html/math_toolkit/acknowledgement.html b/libs/math/doc/html/math_toolkit/acknowledgement.html
new file mode 100644
index 0000000000..e8ff556f88
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/acknowledgement.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="exp.html" title="The Quaternionic Exponential">
+<link rel="next" href="quat_history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.acknowledgement"></a><a class="link" href="acknowledgement.html" title="Acknowledgements">Acknowledgements</a>
+</h2></div></div></div>
+<p>
+ The mathematical text has been typeset with <a href="http://www.nisus-soft.com/" target="_top">Nisus
+ Writer</a>. Jens Maurer has helped with portability and standard adherence,
+ and was the Review Manager for this library. More acknowledgements in the History
+ section. Thank you to all who contributed to the discution about this library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/acknowledgements.html b/libs/math/doc/html/math_toolkit/acknowledgements.html
new file mode 100644
index 0000000000..491f0baf08
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/acknowledgements.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_tests.html" title="Test Program">
+<link rel="next" href="oct_history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_tests.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
+</h2></div></div></div>
+<p>
+ The mathematical text has been typeset with <a href="http://www.nisus-soft.com/" target="_top">Nisus
+ Writer</a>. Jens Maurer has helped with portability and standard adherence,
+ and was the Review Manager for this library. More acknowledgements in the History
+ section. Thank you to all who contributed to the discussion about this library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_tests.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/acos.html b/libs/math/doc/html/math_toolkit/acos.html
new file mode 100644
index 0000000000..2c9363b498
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/acos.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>acos</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="asin.html" title="asin">
+<link rel="next" href="atan.html" title="atan">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atan.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.acos"></a><a class="link" href="acos.html" title="acos">acos</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.acos.h0"></a>
+ <span class="phrase"><a name="math_toolkit.acos.header"></a></span><a class="link" href="acos.html#math_toolkit.acos.header">Header:</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">acos</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="math_toolkit.acos.h1"></a>
+ <span class="phrase"><a name="math_toolkit.acos.synopsis"></a></span><a class="link" href="acos.html#math_toolkit.acos.synopsis">Synopsis:</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">acos</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effects: </strong></span> returns the inverse cosine of the
+ complex number z.
+ </p>
+<p>
+ <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../images/acos.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asin.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atan.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/acosh.html b/libs/math/doc/html/math_toolkit/acosh.html
new file mode 100644
index 0000000000..a6b47b1496
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/acosh.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>acosh</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="asinh.html" title="asinh">
+<link rel="next" href="atanh.html" title="atanh">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asinh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.acosh"></a><a class="link" href="acosh.html" title="acosh">acosh</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.acosh.h0"></a>
+ <span class="phrase"><a name="math_toolkit.acosh.header"></a></span><a class="link" href="acosh.html#math_toolkit.acosh.header">Header:</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="math_toolkit.acosh.h1"></a>
+ <span class="phrase"><a name="math_toolkit.acosh.synopsis"></a></span><a class="link" href="acosh.html#math_toolkit.acosh.synopsis">Synopsis:</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effects: </strong></span> returns the inverse hyperbolic cosine
+ of the complex number z.
+ </p>
+<p>
+ <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../images/acosh.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asinh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/airy.html b/libs/math/doc/html/math_toolkit/airy.html
new file mode 100644
index 0000000000..791ac42e7f
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/airy.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Airy Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="hankel/sph_hankel.html" title="Spherical Hankel Functions">
+<link rel="next" href="airy/ai.html" title="Airy Ai Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hankel/sph_hankel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="airy/ai.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.airy"></a><a class="link" href="airy.html" title="Airy Functions">Airy Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="airy/ai.html">Airy Ai Function</a></span></dt>
+<dt><span class="section"><a href="airy/bi.html">Airy Bi Function</a></span></dt>
+<dt><span class="section"><a href="airy/aip.html">Airy Ai' Function</a></span></dt>
+<dt><span class="section"><a href="airy/bip.html">Airy Bi' Function</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hankel/sph_hankel.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="airy/ai.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/airy/ai.html b/libs/math/doc/html/math_toolkit/airy/ai.html
new file mode 100644
index 0000000000..f4555f1646
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/airy/ai.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Airy Ai Function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../airy.html" title="Airy Functions">
+<link rel="prev" href="../airy.html" title="Airy Functions">
+<link rel="next" href="bi.html" title="Airy Bi Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../airy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.airy.ai"></a><a class="link" href="ai.html" title="Airy Ai Function">Airy Ai Function</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.airy.ai.h0"></a>
+ <span class="phrase"><a name="math_toolkit.airy.ai.synopsis"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">airy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_ai</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_ai</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.airy.ai.h1"></a>
+ <span class="phrase"><a name="math_toolkit.airy.ai.description"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.description">Description</a>
+ </h5>
+<p>
+ The function <a class="link" href="ai.html" title="Airy Ai Function">airy_ai</a> calculates
+ the Airy function Ai which is the first solution to the differential equation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy.png"></span>
+ </p>
+<p>
+ See Weisstein, Eric W. "Airy Functions." From MathWorld--A Wolfram
+ Web Resource. <a href="http://mathworld.wolfram.com/AiryFunctions.html" target="_top">http://mathworld.wolfram.com/AiryFunctions.html</a>;
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The following graph illustrates how this function changes as <span class="emphasis"><em>x</em></span>
+ changes: for negative <span class="emphasis"><em>x</em></span> the function is cyclic, while
+ for positive <span class="emphasis"><em>x</em></span> the value tends to zero:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/airy_ai.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.airy.ai.h2"></a>
+ <span class="phrase"><a name="math_toolkit.airy.ai.accuracy"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This function is implemented entirely in terms of the Bessel functions <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a> and <a class="link" href="../bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a> - refer to those
+ functions for detailed accuracy information.
+ </p>
+<p>
+ In general though, the relative error is low (less than 100 &#949;) for <span class="emphasis"><em>x
+ &gt; 0</em></span> while only the absolute error is low for <span class="emphasis"><em>x &lt;
+ 0</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.ai.h3"></a>
+ <span class="phrase"><a name="math_toolkit.airy.ai.testing"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.testing">Testing</a>
+ </h5>
+<p>
+ Since this function is implemented in terms of other special functions, there
+ are only a few basic sanity checks, using test values from <a href="http://functions.wolfram.com/" target="_top">Wolfram
+ Airy Functions</a>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.ai.h4"></a>
+ <span class="phrase"><a name="math_toolkit.airy.ai.implementation"></a></span><a class="link" href="ai.html#math_toolkit.airy.ai.implementation">Implementation</a>
+ </h5>
+<p>
+ This function is implemented in terms of the Bessel functions using the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy_ai.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../airy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/airy/aip.html b/libs/math/doc/html/math_toolkit/airy/aip.html
new file mode 100644
index 0000000000..fcfb35106c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/airy/aip.html
@@ -0,0 +1,119 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Airy Ai' Function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../airy.html" title="Airy Functions">
+<link rel="prev" href="bi.html" title="Airy Bi Function">
+<link rel="next" href="bip.html" title="Airy Bi' Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bip.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.airy.aip"></a><a class="link" href="aip.html" title="Airy Ai' Function">Airy Ai' Function</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.airy.aip.h0"></a>
+ <span class="phrase"><a name="math_toolkit.airy.aip.synopsis"></a></span><a class="link" href="aip.html#math_toolkit.airy.aip.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">airy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_ai_prime</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_ai_prime</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.airy.aip.h1"></a>
+ <span class="phrase"><a name="math_toolkit.airy.aip.description"></a></span><a class="link" href="aip.html#math_toolkit.airy.aip.description">Description</a>
+ </h5>
+<p>
+ The function <a class="link" href="aip.html" title="Airy Ai' Function">airy_ai_prime</a> calculates
+ the Airy function Ai' which is the derivative of the first solution to the
+ differential equation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy.png"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The following graph illustrates how this function changes as <span class="emphasis"><em>x</em></span>
+ changes: for negative <span class="emphasis"><em>x</em></span> the function is cyclic, while
+ for positive <span class="emphasis"><em>x</em></span> the value tends to zero:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/airy_aip.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.airy.aip.h2"></a>
+ <span class="phrase"><a name="math_toolkit.airy.aip.accuracy"></a></span><a class="link" href="aip.html#math_toolkit.airy.aip.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This function is implemented entirely in terms of the Bessel functions <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a> and <a class="link" href="../bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a> - refer to those
+ functions for detailed accuracy information.
+ </p>
+<p>
+ In general though, the relative error is low (less than 100 &#949;) for <span class="emphasis"><em>x
+ &gt; 0</em></span> while only the absolute error is low for <span class="emphasis"><em>x &lt;
+ 0</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.aip.h3"></a>
+ <span class="phrase"><a name="math_toolkit.airy.aip.testing"></a></span><a class="link" href="aip.html#math_toolkit.airy.aip.testing">Testing</a>
+ </h5>
+<p>
+ Since this function is implemented in terms of other special functions, there
+ are only a few basic sanity checks, using test values from <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.aip.h4"></a>
+ <span class="phrase"><a name="math_toolkit.airy.aip.implementation"></a></span><a class="link" href="aip.html#math_toolkit.airy.aip.implementation">Implementation</a>
+ </h5>
+<p>
+ This function is implemented in terms of the Bessel functions using the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy_aip.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bip.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/airy/bi.html b/libs/math/doc/html/math_toolkit/airy/bi.html
new file mode 100644
index 0000000000..a71aafb1f9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/airy/bi.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Airy Bi Function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../airy.html" title="Airy Functions">
+<link rel="prev" href="ai.html" title="Airy Ai Function">
+<link rel="next" href="aip.html" title="Airy Ai' Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ai.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aip.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.airy.bi"></a><a class="link" href="bi.html" title="Airy Bi Function">Airy Bi Function</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.airy.bi.h0"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bi.synopsis"></a></span><a class="link" href="bi.html#math_toolkit.airy.bi.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">airy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_bi</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_bi</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.airy.bi.h1"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bi.description"></a></span><a class="link" href="bi.html#math_toolkit.airy.bi.description">Description</a>
+ </h5>
+<p>
+ The function <a class="link" href="bi.html" title="Airy Bi Function">airy_bi</a> calculates
+ the Airy function Bi which is the second solution to the differential equation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy.png"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The following graph illustrates how this function changes as <span class="emphasis"><em>x</em></span>
+ changes: for negative <span class="emphasis"><em>x</em></span> the function is cyclic, while
+ for positive <span class="emphasis"><em>x</em></span> the value tends to infinity:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/airy_bi.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.airy.bi.h2"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bi.accuracy"></a></span><a class="link" href="bi.html#math_toolkit.airy.bi.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This function is implemented entirely in terms of the Bessel functions <a class="link" href="../bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a> and <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ - refer to those functions for detailed accuracy information.
+ </p>
+<p>
+ In general though, the relative error is low (less than 100 &#949;) for <span class="emphasis"><em>x
+ &gt; 0</em></span> while only the absolute error is low for <span class="emphasis"><em>x &lt;
+ 0</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.bi.h3"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bi.testing"></a></span><a class="link" href="bi.html#math_toolkit.airy.bi.testing">Testing</a>
+ </h5>
+<p>
+ Since this function is implemented in terms of other special functions, there
+ are only a few basic sanity checks, using test values from <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.bi.h4"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bi.implementation"></a></span><a class="link" href="bi.html#math_toolkit.airy.bi.implementation">Implementation</a>
+ </h5>
+<p>
+ This function is implemented in terms of the Bessel functions using the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy_bi.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ai.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aip.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/airy/bip.html b/libs/math/doc/html/math_toolkit/airy/bip.html
new file mode 100644
index 0000000000..4a5b4ebd78
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/airy/bip.html
@@ -0,0 +1,119 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Airy Bi' Function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../airy.html" title="Airy Functions">
+<link rel="prev" href="aip.html" title="Airy Ai' Function">
+<link rel="next" href="../ellint.html" title="Elliptic Integrals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="aip.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ellint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.airy.bip"></a><a class="link" href="bip.html" title="Airy Bi' Function">Airy Bi' Function</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.airy.bip.h0"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bip.synopsis"></a></span><a class="link" href="bip.html#math_toolkit.airy.bip.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">airy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_bi_prime</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">airy_bi_prime</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.airy.bip.h1"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bip.description"></a></span><a class="link" href="bip.html#math_toolkit.airy.bip.description">Description</a>
+ </h5>
+<p>
+ The function <a class="link" href="bip.html" title="Airy Bi' Function">airy_bi_prime</a> calculates
+ the Airy function Bi' which is the derivative of the second solution to the
+ differential equation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy.png"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The following graph illustrates how this function changes as <span class="emphasis"><em>x</em></span>
+ changes: for negative <span class="emphasis"><em>x</em></span> the function is cyclic, while
+ for positive <span class="emphasis"><em>x</em></span> the value tends to infinity:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/airy_bi.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.airy.bip.h2"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bip.accuracy"></a></span><a class="link" href="bip.html#math_toolkit.airy.bip.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This function is implemented entirely in terms of the Bessel functions <a class="link" href="../bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a> and <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ - refer to those functions for detailed accuracy information.
+ </p>
+<p>
+ In general though, the relative error is low (less than 100 &#949;) for <span class="emphasis"><em>x
+ &gt; 0</em></span> while only the absolute error is low for <span class="emphasis"><em>x &lt;
+ 0</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.bip.h3"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bip.testing"></a></span><a class="link" href="bip.html#math_toolkit.airy.bip.testing">Testing</a>
+ </h5>
+<p>
+ Since this function is implemented in terms of other special functions, there
+ are only a few basic sanity checks, using test values from <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>.
+ </p>
+<h5>
+<a name="math_toolkit.airy.bip.h4"></a>
+ <span class="phrase"><a name="math_toolkit.airy.bip.implementation"></a></span><a class="link" href="bip.html#math_toolkit.airy.bip.implementation">Implementation</a>
+ </h5>
+<p>
+ This function is implemented in terms of the Bessel functions using the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/airy_bip.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="aip.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../airy.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ellint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/archetypes.html b/libs/math/doc/html/math_toolkit/archetypes.html
new file mode 100644
index 0000000000..b1ddeeadcc
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/archetypes.html
@@ -0,0 +1,197 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Conceptual Archetypes for Reals and Distributions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../using_udt.html" title="Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and others">
+<link rel="prev" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">
+<link rel="next" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dist_concept.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../policy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.archetypes"></a><a class="link" href="archetypes.html" title="Conceptual Archetypes for Reals and Distributions">Conceptual Archetypes for Reals
+ and Distributions</a>
+</h2></div></div></div>
+<p>
+ There are a few concept archetypes available:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Real concept for floating-point types.
+ </li>
+<li class="listitem">
+ distribution Concept for statistical distributions.
+ </li>
+</ul></div>
+<h6>
+<a name="math_toolkit.archetypes.h0"></a>
+ <span class="phrase"><a name="math_toolkit.archetypes.real_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.archetypes.real_concept">Real
+ concept</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">std_real_concept</span></code> is an archetype
+ for theReal types, including the built-in float, double, long double.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">concepts</span><span class="special">/</span><span class="identifier">std_real_concept</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">concepts</span>
+<span class="special">{</span>
+ <span class="keyword">class</span> <span class="identifier">std_real_concept</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The main purpose in providing this type is to verify that standard library
+ functions are found via a using declaration - bringing those functions into
+ the current scope - and not just because they happen to be in global scope.
+ </p>
+<p>
+ In order to ensure that a call to say <code class="computeroutput"><span class="identifier">pow</span></code>
+ can be found either via argument dependent lookup, or failing that then in
+ the std namespace: all calls to standard library functions are unqualified,
+ with the std:: versions found via a <code class="computeroutput"><span class="keyword">using</span></code>
+ declaration to make them visible in the current scope. Unfortunately it's all
+ to easy to forget the <code class="computeroutput"><span class="keyword">using</span></code> declaration,
+ and call the double version of the function that happens to be in the global
+ scope by mistake.
+ </p>
+<p>
+ For example if the code calls ::pow rather than std::pow, the code will cleanly
+ compile, but truncation of long doubles to double will cause a significant
+ loss of precision. In contrast a template instantiated with std_real_concept
+ will <span class="bold"><strong>only</strong></span> compile if the all the standard
+ library functions used have been brought into the current scope with a using
+ declaration.
+ </p>
+<h3>
+<a name="math_toolkit.archetypes.h1"></a>
+ <span class="phrase"><a name="math_toolkit.archetypes.testing_the_real_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.archetypes.testing_the_real_concept">Testing
+ the real concept</a>
+ </h3>
+<p>
+ There is a test program <a href="../../../test/std_real_concept_check.cpp" target="_top">libs/math/test/std_real_concept_check.cpp</a>
+ that instantiates every template in this library with type <code class="computeroutput"><span class="identifier">std_real_concept</span></code>
+ to verify its usage of standard library functions.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">concepts</span><span class="special">/</span><span class="identifier">real_concept</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">concepts</span><span class="special">{</span>
+
+<span class="keyword">class</span> <span class="identifier">real_concept</span><span class="special">;</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">real_concept</span></code> is an archetype
+ for <a class="link" href="concepts.html" title="Conceptual Requirements for Real Number Types">user defined real types</a>, it
+ declares its standard library functions in its own namespace: these will only
+ be found if they are called unqualified allowing argument dependent lookup
+ to locate them. In addition this type is useable at runtime: this allows code
+ that would not otherwise be exercised by the built-in floating point types
+ to be tested. There is no std::numeric_limits&lt;&gt; support for this type,
+ since numeric_limits is not a conceptual requirement for <a class="link" href="concepts.html" title="Conceptual Requirements for Real Number Types">RealType</a>s.
+ </p>
+<p>
+ NTL RR is an example of a type meeting the requirements that this type models,
+ but note that use of a thin wrapper class is required: refer to <a class="link" href="high_precision/use_ntl.html" title="Using NTL Library">"Using
+ With NTL - a High-Precision Floating-Point Library"</a>.
+ </p>
+<p>
+ There is no specific test case for type <code class="computeroutput"><span class="identifier">real_concept</span></code>,
+ instead, since this type is usable at runtime, each individual test case as
+ well as testing <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, also tests <code class="computeroutput"><span class="identifier">real_concept</span></code>.
+ </p>
+<h3>
+<a name="math_toolkit.archetypes.h2"></a>
+ <span class="phrase"><a name="math_toolkit.archetypes.distribution_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.archetypes.distribution_concept">Distribution
+ Concept</a>
+ </h3>
+<p>
+ Distribution Concept models statistical distributions.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">concepts</span><span class="special">/</span><span class="identifier">distribution</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">concepts</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">distribution_archetype</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">DistributionConcept</span><span class="special">;</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The class template <code class="computeroutput"><span class="identifier">distribution_archetype</span></code>
+ is a model of the <a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Distribution concept</a>.
+ </p>
+<p>
+ The class template <code class="computeroutput"><span class="identifier">DistributionConcept</span></code>
+ is a <a href="../../../../../libs/concept_check/index.html" target="_top">concept checking
+ class</a> for distribution types.
+ </p>
+<h3>
+<a name="math_toolkit.archetypes.h3"></a>
+ <span class="phrase"><a name="math_toolkit.archetypes.testing_the_distribution_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.archetypes.testing_the_distribution_concept">Testing
+ the distribution concept</a>
+ </h3>
+<p>
+ The test program <a href="../../../test/compile_test/distribution_concept_check.cpp" target="_top">distribution_concept_check.cpp</a>
+ is responsible for using <code class="computeroutput"><span class="identifier">DistributionConcept</span></code>
+ to verify that all the distributions in this library conform to the <a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Distribution
+ concept</a>.
+ </p>
+<p>
+ The class template <code class="computeroutput"><span class="identifier">DistributionConcept</span></code>
+ verifies the existence (but not proper function) of the non-member accessors
+ required by the <a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Distribution concept</a>.
+ These are checked by calls like
+ </p>
+<p>
+ v = pdf(dist, x); // (Result v is ignored).
+ </p>
+<p>
+ And in addition, those that accept two arguments do the right thing when the
+ arguments are of different types (the result type is always the same as the
+ distribution's value_type). (This is implemented by some additional forwarding-functions
+ in derived_accessors.hpp, so that there is no need for any code changes. Likewise
+ boilerplate versions of the hazard/chf/coefficient_of_variation functions are
+ implemented in there too.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dist_concept.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../policy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/asin.html b/libs/math/doc/html/math_toolkit/asin.html
new file mode 100644
index 0000000000..60870a765a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/asin.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asin</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="complex_implementation.html" title="Implementation and Accuracy">
+<link rel="next" href="acos.html" title="acos">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="complex_implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acos.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.asin"></a><a class="link" href="asin.html" title="asin">asin</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.asin.h0"></a>
+ <span class="phrase"><a name="math_toolkit.asin.header"></a></span><a class="link" href="asin.html#math_toolkit.asin.header">Header:</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">asin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="math_toolkit.asin.h1"></a>
+ <span class="phrase"><a name="math_toolkit.asin.synopsis"></a></span><a class="link" href="asin.html#math_toolkit.asin.synopsis">Synopsis:</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">asin</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effects: </strong></span> returns the inverse sine of the
+ complex number z.
+ </p>
+<p>
+ <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../images/asin.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="complex_implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acos.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/asinh.html b/libs/math/doc/html/math_toolkit/asinh.html
new file mode 100644
index 0000000000..3f749ed526
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/asinh.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asinh</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="atan.html" title="atan">
+<link rel="next" href="acosh.html" title="acosh">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="atan.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.asinh"></a><a class="link" href="asinh.html" title="asinh">asinh</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.asinh.h0"></a>
+ <span class="phrase"><a name="math_toolkit.asinh.header"></a></span><a class="link" href="asinh.html#math_toolkit.asinh.header">Header:</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">asinh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="math_toolkit.asinh.h1"></a>
+ <span class="phrase"><a name="math_toolkit.asinh.synopsis"></a></span><a class="link" href="asinh.html#math_toolkit.asinh.synopsis">Synopsis:</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effects: </strong></span> returns the inverse hyperbolic sine
+ of the complex number z.
+ </p>
+<p>
+ <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../images/asinh.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="atan.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/atan.html b/libs/math/doc/html/math_toolkit/atan.html
new file mode 100644
index 0000000000..bffb3c85d6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/atan.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>atan</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="acos.html" title="acos">
+<link rel="next" href="asinh.html" title="asinh">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acos.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.atan"></a><a class="link" href="atan.html" title="atan">atan</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.atan.h0"></a>
+ <span class="phrase"><a name="math_toolkit.atan.header"></a></span><a class="link" href="atan.html#math_toolkit.atan.header">Header:</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">atan</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="math_toolkit.atan.h1"></a>
+ <span class="phrase"><a name="math_toolkit.atan.synopsis"></a></span><a class="link" href="atan.html#math_toolkit.atan.synopsis">Synopsis:</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">atan</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effects: </strong></span> returns the inverse tangent of the
+ complex number z.
+ </p>
+<p>
+ <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../images/atan.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acos.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/atanh.html b/libs/math/doc/html/math_toolkit/atanh.html
new file mode 100644
index 0000000000..4a48af8d35
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/atanh.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>atanh</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="acosh.html" title="acosh">
+<link rel="next" href="complex_history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acosh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complex_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.atanh"></a><a class="link" href="atanh.html" title="atanh">atanh</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.atanh.h0"></a>
+ <span class="phrase"><a name="math_toolkit.atanh.header"></a></span><a class="link" href="atanh.html#math_toolkit.atanh.header">Header:</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">complex</span><span class="special">/</span><span class="identifier">atanh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="math_toolkit.atanh.h1"></a>
+ <span class="phrase"><a name="math_toolkit.atanh.synopsis"></a></span><a class="link" href="atanh.html#math_toolkit.atanh.synopsis">Synopsis:</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effects: </strong></span> returns the inverse hyperbolic tangent
+ of the complex number z.
+ </p>
+<p>
+ <span class="bold"><strong>Formula: </strong></span> <span class="inlinemediaobject"><img src="../../images/atanh.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acosh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complex_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/bessel.html b/libs/math/doc/html/math_toolkit/bessel.html
new file mode 100644
index 0000000000..000e0f2b8c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/bessel.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bessel Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="sf_poly/sph_harm.html" title="Spherical Harmonics">
+<link rel="next" href="bessel/bessel_over.html" title="Bessel Function Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_poly/sph_harm.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel/bessel_over.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.bessel"></a><a class="link" href="bessel.html" title="Bessel Functions">Bessel Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="bessel/bessel_over.html">Bessel Function Overview</a></span></dt>
+<dt><span class="section"><a href="bessel/bessel_first.html">Bessel Functions of
+ the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="bessel/bessel_root.html">Finding Zeros of Bessel
+ Functions of the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="bessel/mbessel.html">Modified Bessel Functions
+ of the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="bessel/sph_bessel.html">Spherical Bessel Functions
+ of the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="bessel/bessel_derivatives.html">Derivatives of
+ the Bessel Functions</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_poly/sph_harm.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel/bessel_over.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/bessel/bessel_derivatives.html b/libs/math/doc/html/math_toolkit/bessel/bessel_derivatives.html
new file mode 100644
index 0000000000..16f0bdac44
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/bessel/bessel_derivatives.html
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Derivatives of the Bessel Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../bessel.html" title="Bessel Functions">
+<link rel="prev" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">
+<link rel="next" href="../hankel.html" title="Hankel Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sph_bessel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../hankel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.bessel.bessel_derivatives"></a><a class="link" href="bessel_derivatives.html" title="Derivatives of the Bessel Functions">Derivatives of
+ the Bessel Functions</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.bessel.bessel_derivatives.h0"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_derivatives.synopsis"></a></span><a class="link" href="bessel_derivatives.html#math_toolkit.bessel.bessel_derivatives.synopsis">Synopsis</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel_prime</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_j_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_j_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_neumann_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_neumann_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_i_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_i_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_k_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_k_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_bessel_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_bessel_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_neumann_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_neumann_prime</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<h5>
+<a name="math_toolkit.bessel.bessel_derivatives.h1"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_derivatives.description"></a></span><a class="link" href="bessel_derivatives.html#math_toolkit.bessel.bessel_derivatives.description">Description</a>
+ </h5>
+<p>
+ These functions return the first derivative with respect to <span class="emphasis"><em>x</em></span>
+ of the corresponding Bessel function.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ The functions are also optimised for the relatively common case that T1 is
+ an integer.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The functions return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ whenever the result is undefined or complex.
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_derivatives.h2"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_derivatives.testing"></a></span><a class="link" href="bessel_derivatives.html#math_toolkit.bessel.bessel_derivatives.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of test values: spot values calculated using <a href="http://www.wolframalpha.com/" target="_top">wolframalpha.com</a>,
+ and a much larger set of tests computed using a relation to the underlying
+ Bessel functions that the implementation does not use.
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_derivatives.h3"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_derivatives.accuracy"></a></span><a class="link" href="bessel_derivatives.html#math_toolkit.bessel.bessel_derivatives.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The accuracy of these functions is broadly similar to the underlying Bessel
+ functions. Refer to those functions for more information.
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_derivatives.h4"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_derivatives.implementation"></a></span><a class="link" href="bessel_derivatives.html#math_toolkit.bessel.bessel_derivatives.implementation">Implementation</a>
+ </h5>
+<p>
+ In the general case, the derivatives are calculated using the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_derivatives1.png"></span>
+ </p>
+<p>
+ There are also a number of special cases, for large x we have:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_derivatives4.png"></span>
+ </p>
+<p>
+ And for small x:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_derivatives5.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sph_bessel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../hankel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/bessel/bessel_first.html b/libs/math/doc/html/math_toolkit/bessel/bessel_first.html
new file mode 100644
index 0000000000..1d99d21992
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/bessel/bessel_first.html
@@ -0,0 +1,698 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bessel Functions of the First and Second Kinds</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../bessel.html" title="Bessel Functions">
+<link rel="prev" href="bessel_over.html" title="Bessel Function Overview">
+<link rel="next" href="bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel_over.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel_root.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.bessel.bessel_first"></a><a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">Bessel Functions of
+ the First and Second Kinds</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.bessel.bessel_first.h0"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_first.synopsis"></a></span><a class="link" href="bessel_first.html#math_toolkit.bessel.bessel_first.synopsis">Synopsis</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<h5>
+<a name="math_toolkit.bessel.bessel_first.h1"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_first.description"></a></span><a class="link" href="bessel_first.html#math_toolkit.bessel.bessel_first.description">Description</a>
+ </h5>
+<p>
+ The functions <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a> return
+ the result of the Bessel functions of the first and second kinds respectively:
+ </p>
+<p>
+ cyl_bessel_j(v, x) = J<sub>v</sub>(x)
+ </p>
+<p>
+ cyl_neumann(v, x) = Y<sub>v</sub>(x) = N<sub>v</sub>(x)
+ </p>
+<p>
+ where:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel2.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel3.png"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ The functions are also optimised for the relatively common case that T1 is
+ an integer.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The functions return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ whenever the result is undefined or complex. For <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
+ <span class="number">0</span></code> and v is not an integer, or when
+ <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span>
+ <span class="number">0</span></code> and <code class="computeroutput"><span class="identifier">v</span>
+ <span class="special">!=</span> <span class="number">0</span></code>.
+ For <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a> this
+ occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;=</span>
+ <span class="number">0</span></code>.
+ </p>
+<p>
+ The following graph illustrates the cyclic nature of J<sub>v</sub>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/cyl_bessel_j.png" align="middle"></span>
+ </p>
+<p>
+ The following graph shows the behaviour of Y<sub>v</sub>: this is also cyclic for large
+ <span class="emphasis"><em>x</em></span>, but tends to -&#8734; &#160; for small <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/cyl_neumann.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_first.h2"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_first.testing"></a></span><a class="link" href="bessel_first.html#math_toolkit.bessel.bessel_first.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of test values: spot values calculated using <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
+ and a much larger set of tests computed using a simplified version of this
+ implementation (with all the special case handling removed).
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_first.h3"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_first.accuracy"></a></span><a class="link" href="bessel_first.html#math_toolkit.bessel.bessel_first.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following tables show how the accuracy of these functions varies on various
+ platforms, along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
+ and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
+ Note that the cyclic nature of these functions means that they have an infinite
+ number of irrational roots: in general these functions have arbitrarily large
+ <span class="emphasis"><em>relative</em></span> errors when the arguments are sufficiently
+ close to a root. Of course the absolute error in such cases is always small.
+ Note that only results for the widest floating-point type on the system are
+ given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>. All values are relative errors in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.bessel.bessel_first.errors_rates_in_cyl_bessel_j"></a><p class="title"><b>Table&#160;6.21.&#160;Errors Rates in cyl_bessel_j</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_j">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ J<sub>0</sub> &#160; and J<sub>1</sub>
+ </p>
+ </th>
+<th>
+ <p>
+ J<sub>v</sub>
+ </p>
+ </th>
+<th>
+ <p>
+ J<sub>v</sub> &#160; (large values of x &gt; 1000)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.5 Mean=1.1
+ </p>
+ <p>
+ GSL Peak=6.6
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2.5
+ Mean=1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=11 Mean=2.2
+ </p>
+ <p>
+ GSL Peak=11
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=17
+ Mean=2.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=59 Mean=10
+ </p>
+ <p>
+ GSL Peak=6x10<sup>11</sup>
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2x10<sup>5</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64 / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7 Mean=3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=117 Mean=10
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2x10<sup>4</sup> &#160; Mean=6x10<sup>3</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux AMD64 / G++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7 Mean=3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=400 Mean=40
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2x10<sup>4</sup> &#160; Mean=1x10<sup>4</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=14 Mean=6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=29 Mean=3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2700 Mean=450
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.bessel.bessel_first.errors_rates_in_cyl_neumann"></a><p class="title"><b>Table&#160;6.22.&#160;Errors Rates in cyl_neumann</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in cyl_neumann">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Y<sub>0</sub> &#160; and Y<sub>1</sub>
+ </p>
+ </th>
+<th>
+ <p>
+ Y<sub>n</sub> (integer orders)
+ </p>
+ </th>
+<th>
+ <p>
+ Y<sub>v</sub> (fractional orders)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.7 Mean=1.7
+ </p>
+ <p>
+ GSL Peak=34 Mean=9
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=330
+ Mean=54
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=117 Mean=10
+ </p>
+ <p>
+ GSL Peak=500 Mean=54
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=923
+ Mean=83
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=800 Mean=40
+ </p>
+ <p>
+ GSL Peak=1.4x10<sup>6</sup> &#160; Mean=7x10<sup>4</sup> &#160;
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=+INF
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64 / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=470 Mean=56
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=843 Mean=51
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=741 Mean=51
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux AMD64 / G++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1300 Mean=424
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2x10<sup>4</sup> &#160; Mean=8x10<sup>3</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1x10<sup>5</sup> &#160; Mean=6x10<sup>3</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=180 Mean=63
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=340 Mean=150
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2x10<sup>4</sup> &#160; Mean=1200
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Note that for large <span class="emphasis"><em>x</em></span> these functions are largely dependent
+ on the accuracy of the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">sin</span></code> and
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cos</span></code> functions.
+ </p>
+<p>
+ Comparison to GSL and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
+ is interesting: both <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
+ and this library optimise the integer order case - leading to identical results
+ - simply using the general case is for the most part slightly more accurate
+ though, as noted by the better accuracy of GSL in the integer argument cases.
+ This implementation tends to perform much better when the arguments become
+ large, <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> in particular
+ produces some remarkably inaccurate results with some of the test data (no
+ significant figures correct), and even GSL performs badly with some inputs
+ to J<sub>v</sub>. Note that by way of double-checking these results, the worst performing
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> and GSL cases were
+ recomputed using <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
+ and the result checked against our test data: no errors in the test data
+ were found.
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_first.h4"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_first.implementation"></a></span><a class="link" href="bessel_first.html#math_toolkit.bessel.bessel_first.implementation">Implementation</a>
+ </h5>
+<p>
+ The implementation is mostly about filtering off various special cases:
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is negative, then the order <span class="emphasis"><em>v</em></span>
+ must be an integer or the result is a domain error. If the order is an integer
+ then the function is odd for odd orders and even for even orders, so we reflect
+ to <span class="emphasis"><em>x &gt; 0</em></span>.
+ </p>
+<p>
+ When the order <span class="emphasis"><em>v</em></span> is negative then the reflection formulae
+ can be used to move to <span class="emphasis"><em>v &gt; 0</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel9.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel10.png"></span>
+ </p>
+<p>
+ Note that if the order is an integer, then these formulae reduce to:
+ </p>
+<p>
+ J<sub>-n</sub> = (-1)<sup>n</sup>J<sub>n</sub>
+ </p>
+<p>
+ Y<sub>-n</sub> = (-1)<sup>n</sup>Y<sub>n</sub>
+ </p>
+<p>
+ However, in general, a negative order implies that we will need to compute
+ both J and Y.
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is large compared to the order <span class="emphasis"><em>v</em></span>
+ then the asymptotic expansions for large <span class="emphasis"><em>x</em></span> in M. Abramowitz
+ and I.A. Stegun, <span class="emphasis"><em>Handbook of Mathematical Functions</em></span>
+ 9.2.19 are used (these were found to be more reliable than those in A&amp;S
+ 9.2.5).
+ </p>
+<p>
+ When the order <span class="emphasis"><em>v</em></span> is an integer the method first relates
+ the result to J<sub>0</sub>, J<sub>1</sub>, Y<sub>0</sub> &#160; and Y<sub>1</sub> &#160; using either forwards or backwards recurrence
+ (Miller's algorithm) depending upon which is stable. The values for J<sub>0</sub>, J<sub>1</sub>,
+ Y<sub>0</sub> &#160; and Y<sub>1</sub> &#160; are calculated using the rational minimax approximations on root-bracketing
+ intervals for small <span class="emphasis"><em>|x|</em></span> and Hankel asymptotic expansion
+ for large <span class="emphasis"><em>|x|</em></span>. The coefficients are from:
+ </p>
+<p>
+ W.J. Cody, <span class="emphasis"><em>ALGORITHM 715: SPECFUN - A Portable FORTRAN Package
+ of Special Function Routines and Test Drivers</em></span>, ACM Transactions
+ on Mathematical Software, vol 19, 22 (1993).
+ </p>
+<p>
+ and
+ </p>
+<p>
+ J.F. Hart et al, <span class="emphasis"><em>Computer Approximations</em></span>, John Wiley
+ &amp; Sons, New York, 1968.
+ </p>
+<p>
+ These approximations are accurate to around 19 decimal digits: therefore
+ these methods are not used when type T has more than 64 binary digits.
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is smaller than machine epsilon then the following
+ approximations for Y<sub>0</sub>(x), Y<sub>1</sub>(x), Y<sub>2</sub>(x) and Y<sub>n</sub>(x) can be used (see: <a href="http://functions.wolfram.com/03.03.06.0037.01" target="_top">http://functions.wolfram.com/03.03.06.0037.01</a>,
+ <a href="http://functions.wolfram.com/03.03.06.0038.01" target="_top">http://functions.wolfram.com/03.03.06.0038.01</a>,
+ <a href="http://functions.wolfram.com/03.03.06.0039.01" target="_top">http://functions.wolfram.com/03.03.06.0039.01</a>
+ and <a href="http://functions.wolfram.com/03.03.06.0040.01" target="_top">http://functions.wolfram.com/03.03.06.0040.01</a>):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_y0_small_z.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_y1_small_z.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_y2_small_z.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_yn_small_z.png"></span>
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is small compared to <span class="emphasis"><em>v</em></span> and
+ <span class="emphasis"><em>v</em></span> is not an integer, then the following series approximation
+ can be used for Y<sub>v</sub>(x), this is also an area where other approximations are
+ often too slow to converge to be used (see <a href="http://functions.wolfram.com/03.03.06.0034.01" target="_top">http://functions.wolfram.com/03.03.06.0034.01</a>):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel_yv_small_z.png"></span>
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is small compared to <span class="emphasis"><em>v</em></span>,
+ J<sub>v</sub>x &#160; is best computed directly from the series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel2.png"></span>
+ </p>
+<p>
+ In the general case we compute J<sub>v</sub> &#160; and Y<sub>v</sub> &#160; simultaneously.
+ </p>
+<p>
+ To get the initial values, let &#956; &#160; = &#957; - floor(&#957; + 1/2), then &#956; &#160; is the fractional part
+ of &#957; &#160; such that |&#956;| &lt;= 1/2 (we need this for convergence later). The idea
+ is to calculate J<sub>&#956;</sub>(x), J<sub>&#956;+1</sub>(x), Y<sub>&#956;</sub>(x), Y<sub>&#956;+1</sub>(x) and use them to obtain J<sub>&#957;</sub>(x), Y<sub>&#957;</sub>(x).
+ </p>
+<p>
+ The algorithm is called Steed's method, which needs two continued fractions
+ as well as the Wronskian:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel8.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel11.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel12.png"></span>
+ </p>
+<p>
+ See: F.S. Acton, <span class="emphasis"><em>Numerical Methods that Work</em></span>, The Mathematical
+ Association of America, Washington, 1997.
+ </p>
+<p>
+ The continued fractions are computed using the modified Lentz's method (W.J.
+ Lentz, <span class="emphasis"><em>Generating Bessel functions in Mie scattering calculations
+ using continued fractions</em></span>, Applied Optics, vol 15, 668 (1976)).
+ Their convergence rates depend on <span class="emphasis"><em>x</em></span>, therefore we need
+ different strategies for large <span class="emphasis"><em>x</em></span> and small <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ <span class="emphasis"><em>x &gt; v</em></span>, CF1 needs O(<span class="emphasis"><em>x</em></span>) iterations
+ to converge, CF2 converges rapidly
+ </p>
+<p>
+ <span class="emphasis"><em>x &lt;= v</em></span>, CF1 converges rapidly, CF2 fails to converge
+ when <span class="emphasis"><em>x</em></span> <code class="literal">-&gt;</code> 0
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is large (<span class="emphasis"><em>x</em></span> &gt; 2), both
+ continued fractions converge (CF1 may be slow for really large <span class="emphasis"><em>x</em></span>).
+ J<sub>&#956;</sub>, J<sub>&#956;+1</sub>, Y<sub>&#956;</sub>, Y<sub>&#956;+1</sub> can be calculated by
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel13.png"></span>
+ </p>
+<p>
+ where
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel14.png"></span>
+ </p>
+<p>
+ J<sub>&#957;</sub> and Y<sub>&#956;</sub> are then calculated using backward (Miller's algorithm) and forward
+ recurrence respectively.
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is small (<span class="emphasis"><em>x</em></span> &lt;= 2), CF2
+ convergence may fail (but CF1 works very well). The solution here is Temme's
+ series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel15.png"></span>
+ </p>
+<p>
+ where
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel16.png"></span>
+ </p>
+<p>
+ g<sub>k</sub> &#160; and h<sub>k</sub> &#160;
+are also computed by recursions (involving gamma functions), but
+ the formulas are a little complicated, readers are refered to N.M. Temme,
+ <span class="emphasis"><em>On the numerical evaluation of the ordinary Bessel function of
+ the second kind</em></span>, Journal of Computational Physics, vol 21, 343
+ (1976). Note Temme's series converge only for |&#956;| &lt;= 1/2.
+ </p>
+<p>
+ As the previous case, Y<sub>&#957;</sub> &#160; is calculated from the forward recurrence, so is Y<sub>&#957;+1</sub>.
+ With these two values and f<sub>&#957;</sub>, the Wronskian yields J<sub>&#957;</sub>(x) directly without backward
+ recurrence.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel_over.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel_root.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/bessel/bessel_over.html b/libs/math/doc/html/math_toolkit/bessel/bessel_over.html
new file mode 100644
index 0000000000..8896253fff
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/bessel/bessel_over.html
@@ -0,0 +1,212 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bessel Function Overview</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../bessel.html" title="Bessel Functions">
+<link rel="prev" href="../bessel.html" title="Bessel Functions">
+<link rel="next" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bessel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel_first.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.bessel.bessel_over"></a><a class="link" href="bessel_over.html" title="Bessel Function Overview">Bessel Function Overview</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.bessel.bessel_over.h0"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_over.ordinary_bessel_functions"></a></span><a class="link" href="bessel_over.html#math_toolkit.bessel.bessel_over.ordinary_bessel_functions">Ordinary
+ Bessel Functions</a>
+ </h5>
+<p>
+ Bessel Functions are solutions to Bessel's ordinary differential equation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel1.png"></span>
+ </p>
+<p>
+ where &#957; &#160; is the <span class="emphasis"><em>order</em></span> of the equation, and may be an arbitrary
+ real or complex number, although integer orders are the most common occurrence.
+ </p>
+<p>
+ This library supports either integer or real orders.
+ </p>
+<p>
+ Since this is a second order differential equation, there must be two linearly
+ independent solutions, the first of these is denoted J<sub>v</sub> &#160;
+and known as a Bessel
+ function of the first kind:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel2.png"></span>
+ </p>
+<p>
+ This function is implemented in this library as <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>.
+ </p>
+<p>
+ The second solution is denoted either Y<sub>v</sub> &#160; or N<sub>v</sub> &#160;
+and is known as either a Bessel
+ Function of the second kind, or as a Neumann function:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel3.png"></span>
+ </p>
+<p>
+ This function is implemented in this library as <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
+ </p>
+<p>
+ The Bessel functions satisfy the recurrence relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel4.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel5.png"></span>
+ </p>
+<p>
+ Have the derivatives:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel6.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel7.png"></span>
+ </p>
+<p>
+ Have the Wronskian relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel8.png"></span>
+ </p>
+<p>
+ and the reflection formulae:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel9.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bessel10.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_over.h1"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_over.modified_bessel_functions"></a></span><a class="link" href="bessel_over.html#math_toolkit.bessel.bessel_over.modified_bessel_functions">Modified
+ Bessel Functions</a>
+ </h5>
+<p>
+ The Bessel functions are valid for complex argument <span class="emphasis"><em>x</em></span>,
+ and an important special case is the situation where <span class="emphasis"><em>x</em></span>
+ is purely imaginary: giving a real valued result. In this case the functions
+ are the two linearly independent solutions to the modified Bessel equation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel1.png"></span>
+ </p>
+<p>
+ 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</sub> &#160; and K<sub>v</sub> &#160;
+respectively:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel2.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel3.png"></span>
+ </p>
+<p>
+ These functions are implemented in this library as <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
+ and <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a> respectively.
+ </p>
+<p>
+ The modified Bessel functions satisfy the recurrence relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel4.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel5.png"></span>
+ </p>
+<p>
+ Have the derivatives:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel6.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel7.png"></span>
+ </p>
+<p>
+ Have the Wronskian relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel8.png"></span>
+ </p>
+<p>
+ and the reflection formulae:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel9.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel10.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_over.h2"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_over.spherical_bessel_functions"></a></span><a class="link" href="bessel_over.html#math_toolkit.bessel.bessel_over.spherical_bessel_functions">Spherical
+ Bessel Functions</a>
+ </h5>
+<p>
+ When solving the Helmholtz equation in spherical coordinates by separation
+ of variables, the radial equation has the form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/sbessel1.png"></span>
+ </p>
+<p>
+ The two linearly independent solutions to this equation are called the spherical
+ Bessel functions j<sub>n</sub> &#160; and y<sub>n</sub> &#160;, and are related to the ordinary Bessel functions
+ J<sub>n</sub> &#160; and Y<sub>n</sub> &#160; by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/sbessel2.png"></span>
+ </p>
+<p>
+ The spherical Bessel function of the second kind y<sub>n</sub> &#160;
+is also known as the spherical
+ Neumann function n<sub>n</sub>.
+ </p>
+<p>
+ These functions are implemented in this library as <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a>
+ and <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_neumann</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../bessel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel_first.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/bessel/bessel_root.html b/libs/math/doc/html/math_toolkit/bessel/bessel_root.html
new file mode 100644
index 0000000000..63ac4464a7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/bessel/bessel_root.html
@@ -0,0 +1,764 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Finding Zeros of Bessel Functions of the First and Second Kinds</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../bessel.html" title="Bessel Functions">
+<link rel="prev" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">
+<link rel="next" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel_first.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mbessel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.bessel.bessel_root"></a><a class="link" href="bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds">Finding Zeros of Bessel
+ Functions of the First and Second Kinds</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.bessel.bessel_root.h0"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.synopsis"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.synopsis">Synopsis</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+<p>
+ Functions for obtaining both a single zero or root of the Bessel function,
+ and placing multiple zeros into a container like <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>
+ by providing an output iterator.
+ </p>
+<p>
+ The signature of the single value functions are:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">m</span><span class="special">);</span> <span class="comment">// 1-based index of zero.</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">cyl_neumann_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">m</span><span class="special">);</span> <span class="comment">// 1-based index of zero.</span>
+</pre>
+<p>
+ and for multiple zeros:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span> <span class="comment">// 1-based index of first zero.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">number_of_zeros</span><span class="special">,</span> <span class="comment">// How many zeros to generate.</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span> <span class="comment">// Destination for zeros.</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">cyl_neumann_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span> <span class="comment">// 1-based index of zero.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">number_of_zeros</span><span class="special">,</span> <span class="comment">// How many zeros to generate</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span> <span class="comment">// Destination for zeros.</span>
+</pre>
+<p>
+ There are also versions which allow control of the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a>
+ for error handling and precision.
+ </p>
+<pre class="programlisting"> <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="comment">// 1-based index of zero.</span>
+ <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span> <span class="comment">// Policy to use.</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="identifier">cyl_neumann_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="comment">// 1-based index of zero.</span>
+ <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span> <span class="comment">// Policy to use.</span>
+
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span> <span class="comment">// 1-based index of first zero.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">number_of_zeros</span><span class="special">,</span> <span class="comment">// How many zeros to generate.</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">,</span> <span class="comment">// Destination for zeros.</span>
+ <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span> <span class="comment">// Policy to use.</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">cyl_neumann_zero</span><span class="special">(</span>
+ <span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="comment">// Floating-point value for Jv.</span>
+ <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span> <span class="comment">// 1-based index of zero.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">number_of_zeros</span><span class="special">,</span> <span class="comment">// How many zeros to generate.</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">,</span> <span class="comment">// Destination for zeros.</span>
+ <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span> <span class="comment">// Policy to use.</span>
+</pre>
+<h5>
+<a name="math_toolkit.bessel.bessel_root.h1"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.description"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.description">Description</a>
+ </h5>
+<p>
+ Every real order &#957; cylindrical Bessel and Neumann functions have an infinite
+ number of zeros on the positive real axis. The real zeros on the positive
+ real axis can be found by solving for the roots of
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>J<sub>&#957;</sub>(j<sub>&#957;, m</sub>) = 0</em></span>
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>Y<sub>&#957;</sub>(y<sub>&#957;, m</sub>) = 0</em></span>
+ </p>
+<p>
+ Here, <span class="emphasis"><em>j<sub>&#957;, m</sub></em></span> represents the <span class="emphasis"><em>m<sup>th</sup></em></span> root
+ of the cylindrical Bessel function of order <span class="emphasis"><em>&#957;</em></span>, and <span class="emphasis"><em>y<sub>&#957;,
+ m</sub></em></span> represents the <span class="emphasis"><em>m<sup>th</sup></em></span> root of the cylindrical
+ Neumann function of order <span class="emphasis"><em>&#957;</em></span>.
+ </p>
+<p>
+ The zeros or roots (values of <code class="computeroutput"><span class="identifier">x</span></code>
+ where the function crosses the horizontal <code class="computeroutput"><span class="identifier">y</span>
+ <span class="special">=</span> <span class="number">0</span></code>
+ axis) of the Bessel and Neumann functions are computed by two functions,
+ <code class="computeroutput"><span class="identifier">cyl_bessel_j_zero</span></code> and <code class="computeroutput"><span class="identifier">cyl_neumann_zero</span></code>.
+ </p>
+<p>
+ In each case the index or rank of the zero returned is 1-based, which is
+ to say:
+ </p>
+<pre class="programlisting"><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ returns the first zero of Bessel J.
+ </p>
+<p>
+ Passing an <code class="computeroutput"><span class="identifier">start_index</span> <span class="special">&lt;=</span>
+ <span class="number">0</span></code> results in a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
+ being raised.
+ </p>
+<p>
+ For certain parameters, however, the zero'th root is defined and it has a
+ value of zero. For example, the zero'th root of <code class="computeroutput"><span class="identifier">J</span><span class="special">[</span><span class="identifier">sub</span> <span class="identifier">v</span><span class="special">](</span><span class="identifier">x</span><span class="special">)</span></code>
+ is defined and it has a value of zero for all values of <code class="computeroutput"><span class="identifier">v</span>
+ <span class="special">&gt;</span> <span class="number">0</span></code>
+ and for negative integer values of <code class="computeroutput"><span class="identifier">v</span>
+ <span class="special">=</span> <span class="special">-</span><span class="identifier">n</span></code>. Similar cases are described in the implementation
+ details below.
+ </p>
+<p>
+ The order <code class="computeroutput"><span class="identifier">v</span></code> of <code class="computeroutput"><span class="identifier">J</span></code> can be positive, negative and zero for
+ the <code class="computeroutput"><span class="identifier">cyl_bessel_j</span></code> and <code class="computeroutput"><span class="identifier">cyl_neumann</span></code> functions, but not infinite
+ nor NaN.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/bessel_j_zeros.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/neumann_y_zeros.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.bessel.bessel_root.h2"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.examples_of_finding_bessel_and_n"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.examples_of_finding_bessel_and_n">Examples
+ of finding Bessel and Neumann zeros</a>
+ </h5>
+<p>
+ This example demonstrates calculating zeros of the Bessel and Neumann functions.
+ It also shows how Boost.Math and Boost.Multiprecision can be combined to
+ provide a many decimal digit precision. For 50 decimal digit precision we
+ need to include
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">cpp_dec_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ and a <code class="computeroutput"><span class="keyword">typedef</span></code> for <code class="computeroutput"><span class="identifier">float_type</span></code> may be convenient (allowing
+ a quick switch to re-compute at built-in <code class="computeroutput"><span class="keyword">double</span></code>
+ or other precision)
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span> <span class="identifier">float_type</span><span class="special">;</span>
+</pre>
+<p>
+ To use the functions for finding zeros of the functions we need
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ This file includes the forward declaration signatures for the zero-finding
+ functions:
+ </p>
+<pre class="programlisting"><span class="comment">// #include &lt;boost/math/special_functions/math_fwd.hpp&gt;</span>
+</pre>
+<p>
+ but more details are in the full documentation, for example at <a href="http://www.boost.org/doc/libs/1_53_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html" target="_top">Boost.Math
+ Bessel functions</a>.
+ </p>
+<p>
+ This example shows obtaining both a single zero of the Bessel function, and
+ then placing multiple zeros into a container like <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>
+ by providing an iterator.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ It is always wise to place code using Boost.Math inside try'n'catch blocks;
+ this will ensure that helpful error messages are shown when exceptional
+ conditions arise.
+ </p></td></tr>
+</table></div>
+<p>
+ First, evaluate a single Bessel zero.
+ </p>
+<p>
+ The precision is controlled by the float-point type of template parameter
+ <code class="computeroutput"><span class="identifier">T</span></code> of <code class="computeroutput"><span class="identifier">v</span></code>
+ so this example has <code class="computeroutput"><span class="keyword">double</span></code> precision,
+ at least 15 but up to 17 decimal digits (for the common 64-bit double).
+ </p>
+<pre class="programlisting"><span class="comment">// double root = boost::math::cyl_bessel_j_zero(0.0, 1);</span>
+<span class="comment">// // Displaying with default precision of 6 decimal digits:</span>
+<span class="comment">// std::cout &lt;&lt; "boost::math::cyl_bessel_j_zero(0.0, 1) " &lt;&lt; root &lt;&lt; std::endl; // 2.40483</span>
+<span class="comment">// // And with all the guaranteed (15) digits:</span>
+<span class="comment">// std::cout.precision(std::numeric_limits&lt;double&gt;::digits10);</span>
+<span class="comment">// std::cout &lt;&lt; "boost::math::cyl_bessel_j_zero(0.0, 1) " &lt;&lt; root &lt;&lt; std::endl; // 2.40482555769577</span>
+</pre>
+<p>
+ But note that because the parameter <code class="computeroutput"><span class="identifier">v</span></code>
+ controls the precision of the result, <code class="computeroutput"><span class="identifier">v</span></code>
+ <span class="bold"><strong>must be a floating-point type</strong></span>. So if you
+ provide an integer type, say 0, rather than 0.0, then it will fail to compile
+ thus:
+ </p>
+<pre class="programlisting"><span class="identifier">root</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ with this error message
+ </p>
+<pre class="programlisting"><span class="identifier">error</span> <span class="identifier">C2338</span><span class="special">:</span> <span class="identifier">Order</span> <span class="identifier">must</span> <span class="identifier">be</span> <span class="identifier">a</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span><span class="special">.</span>
+</pre>
+<p>
+ Optionally, we can use a policy to ignore errors, C-style, returning some
+ value, perhaps infinity or NaN, or the best that can be done. (See <a class="link" href="../pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user error handling</a>).
+ </p>
+<p>
+ To create a (possibly unwise!) policy <code class="computeroutput"><span class="identifier">ignore_all_policy</span></code>
+ that ignores all errors:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">&gt;,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">&gt;,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">underflow_error</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">&gt;,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">denorm_error</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">&gt;,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">&gt;,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">ignore_all_policy</span><span class="special">;</span>
+</pre>
+<p>
+ Examples of use of this <code class="computeroutput"><span class="identifier">ignore_all_policy</span></code>
+ are
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
+<span class="keyword">double</span> <span class="identifier">nan</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
+
+<span class="keyword">double</span> <span class="identifier">dodgy_root</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(-</span><span class="number">1.0</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">ignore_all_policy</span><span class="special">());</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(-1.0, 1) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">dodgy_root</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1.#QNAN</span>
+<span class="keyword">double</span> <span class="identifier">inf_root</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">inf</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">ignore_all_policy</span><span class="special">());</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(inf, 1) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf_root</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1.#QNAN</span>
+<span class="keyword">double</span> <span class="identifier">nan_root</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">nan</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">ignore_all_policy</span><span class="special">());</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(nan, 1) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nan_root</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1.#QNAN</span>
+</pre>
+<p>
+ Another version of <code class="computeroutput"><span class="identifier">cyl_bessel_j_zero</span></code>
+ allows calculation of multiple zeros with one call, placing the results in
+ a container, often <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>. For example, generate and display
+ the first five <code class="computeroutput"><span class="keyword">double</span></code> roots
+ of J<sub>v</sub> for integral order 2, as column <span class="emphasis"><em>J<sub>2</sub>(x)</em></span> in table
+ 1 of <a href="http://mathworld.wolfram.com/BesselFunctionZeros.html" target="_top">Wolfram
+ Bessel Function Zeros</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">n_roots</span> <span class="special">=</span> <span class="number">5U</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">roots</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="number">2.0</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">n_roots</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_inserter</span><span class="special">(</span><span class="identifier">roots</span><span class="special">));</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span>
+ <span class="identifier">roots</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">"\n"</span><span class="special">));</span>
+</pre>
+<p>
+ Or we can use Boost.Multiprecision to generate 50 decimal digit roots of
+ <span class="emphasis"><em>J<sub>v</sub></em></span> for non-integral order <code class="computeroutput"><span class="identifier">v</span><span class="special">=</span> <span class="number">71</span><span class="special">/</span><span class="number">19</span> <span class="special">==</span> <span class="number">3.736842</span></code>,
+ expressed as an exact-integer fraction to generate the most accurate value
+ possible for all floating-point types.
+ </p>
+<p>
+ We set the precision of the output stream, and show trailing zeros to display
+ a fixed 50 decimal digits.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">float_type</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">);</span> <span class="comment">// 50 decimal digits.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">showpoint</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Show trailing zeros.</span>
+
+<span class="identifier">float_type</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">float_type</span><span class="special">(</span><span class="number">71</span><span class="special">)</span> <span class="special">/</span> <span class="number">19</span><span class="special">;</span>
+<span class="identifier">float_type</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// 1st root.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"x = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">x</span> <span class="special">&lt;&lt;</span> <span class="string">", r = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">r</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="number">20U</span><span class="special">);</span> <span class="comment">// 20th root.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"x = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">x</span> <span class="special">&lt;&lt;</span> <span class="string">", r = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">float_type</span><span class="special">&gt;</span> <span class="identifier">zeros</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_inserter</span><span class="special">(</span><span class="identifier">zeros</span><span class="special">));</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cyl_bessel_j_zeros"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Print the roots to the output stream.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">zeros</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">zeros</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="identifier">float_type</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">"\n"</span><span class="special">));</span>
+</pre>
+<h6>
+<a name="math_toolkit.bessel.bessel_root.h3"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.using_output_iterator_to_sum_zer"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.using_output_iterator_to_sum_zer">Using
+ Output Iterator to sum zeros of Bessel Functions</a>
+ </h6>
+<p>
+ This example demonstrates summing zeros of the Bessel functions. To use the
+ functions for finding zeros of the functions we need
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We use the <code class="computeroutput"><span class="identifier">cyl_bessel_j_zero</span></code>
+ output iterator parameter <code class="computeroutput"><span class="identifier">out_it</span></code>
+ to create a sum of <span class="emphasis"><em>1/zeros<sup>2</sup></em></span> by defining a custom output
+ iterator:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">output_summation_iterator</span>
+<span class="special">{</span>
+ <span class="identifier">output_summation_iterator</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">p_sum</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span>
+ <span class="special">{}</span>
+ <span class="identifier">output_summation_iterator</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">*()</span>
+ <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">output_summation_iterator</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++()</span>
+ <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">output_summation_iterator</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">++(</span><span class="keyword">int</span><span class="special">)</span>
+ <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">output_summation_iterator</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">*</span><span class="identifier">p_sum</span> <span class="special">+=</span> <span class="number">1.</span><span class="special">/</span> <span class="special">(</span><span class="identifier">val</span> <span class="special">*</span> <span class="identifier">val</span><span class="special">);</span> <span class="comment">// Summing 1/zero^2.</span>
+ <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">T</span><span class="special">*</span> <span class="identifier">p_sum</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The sum is calculated for many values, converging on the analytical exact
+ value of <code class="computeroutput"><span class="number">1</span><span class="special">/</span><span class="number">8</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">nu</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">sum</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="identifier">output_summation_iterator</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">it</span><span class="special">(&amp;</span><span class="identifier">sum</span><span class="special">);</span> <span class="comment">// sum of 1/zeros^2</span>
+<span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">nu</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">10000</span><span class="special">,</span> <span class="identifier">it</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">s</span> <span class="special">=</span> <span class="number">1</span><span class="special">/(</span><span class="number">4</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">nu</span> <span class="special">+</span> <span class="number">1</span><span class="special">));</span> <span class="comment">// 0.125 = 1/8 is exact analytical solution.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"nu = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nu</span> <span class="special">&lt;&lt;</span> <span class="string">", sum = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sum</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", exact = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// nu = 1.00000, sum = 0.124990, exact = 0.125000</span>
+</pre>
+<h6>
+<a name="math_toolkit.bessel.bessel_root.h4"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.calculating_zeros_of_the_neumann"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.calculating_zeros_of_the_neumann">Calculating
+ zeros of the Neumann function.</a>
+ </h6>
+<p>
+ This example also shows how Boost.Math and Boost.Multiprecision can be combined
+ to provide a many decimal digit precision. For 50 decimal digit precision
+ we need to include
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">cpp_dec_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ and a <code class="computeroutput"><span class="keyword">typedef</span></code> for <code class="computeroutput"><span class="identifier">float_type</span></code> may be convenient (allowing
+ a quick switch to re-compute at built-in <code class="computeroutput"><span class="keyword">double</span></code>
+ or other precision)
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span> <span class="identifier">float_type</span><span class="special">;</span>
+</pre>
+<p>
+ To use the functions for finding zeros of the <code class="computeroutput"><span class="identifier">cyl_neumann</span></code>
+ function we need:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The Neumann (Bessel Y) function zeros are evaluated very similarly:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_neumann_zero</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">zn</span> <span class="special">=</span> <span class="identifier">cyl_neumann_zero</span><span class="special">(</span><span class="number">2.</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cyl_neumann_zero(2., 1) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">zn</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">nzeros</span><span class="special">(</span><span class="number">3</span><span class="special">);</span> <span class="comment">// Space for 3 zeros.</span>
+<span class="identifier">cyl_neumann_zero</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="number">2.F</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">nzeros</span><span class="special">.</span><span class="identifier">size</span><span class="special">(),</span> <span class="identifier">nzeros</span><span class="special">.</span><span class="identifier">begin</span><span class="special">());</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cyl_neumann_zero&lt;float&gt;(2.F, 1, "</span><span class="special">;</span>
+<span class="comment">// Print the zeros to the output stream.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">nzeros</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">nzeros</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">", "</span><span class="special">));</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="string">"cyl_neumann_zero(static_cast&lt;float_type&gt;(220)/100, 1) = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cyl_neumann_zero</span><span class="special">(</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">float_type</span><span class="special">&gt;(</span><span class="number">220</span><span class="special">)/</span><span class="number">100</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// 3.6154383428745996706772556069431792744372398748422</span>
+</pre>
+<h6>
+<a name="math_toolkit.bessel.bessel_root.h5"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.error_messages_from_bad_input"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.error_messages_from_bad_input">Error
+ messages from 'bad' input</a>
+ </h6>
+<p>
+ Another example demonstrates calculating zeros of the Bessel functions showing
+ the error messages from 'bad' input is handled by throwing exceptions.
+ </p>
+<p>
+ To use the functions for finding zeros of the functions we need:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">airy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ It is always wise to place all code using Boost.Math inside try'n'catch
+ blocks; this will ensure that helpful error messages can be shown when
+ exceptional conditions arise.
+ </p></td></tr>
+</table></div>
+<p>
+ Examples below show messages from several 'bad' arguments that throw a <code class="computeroutput"><span class="identifier">domain_error</span></code> exception.
+ </p>
+<pre class="programlisting"><span class="keyword">try</span>
+<span class="special">{</span> <span class="comment">// Try a zero order v.</span>
+ <span class="keyword">float</span> <span class="identifier">dodgy_root</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="number">0.F</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(0.F, 0) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">dodgy_root</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Thrown exception Error in function boost::math::cyl_bessel_j_zero&lt;double&gt;(double, int):</span>
+ <span class="comment">// Requested the 0'th zero of J0, but the rank must be &gt; 0 !</span>
+<span class="special">}</span>
+<span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">ex</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Thrown exception "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ex</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The type shown in the error message is the type <span class="bold"><strong>after
+ promotion</strong></span>, using <a class="link" href="../pol_ref/precision_pol.html" title="Precision Policies">precision
+ policy</a> and <a class="link" href="../pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">internal
+ promotion policy</a>, from <code class="computeroutput"><span class="keyword">float</span></code>
+ to <code class="computeroutput"><span class="keyword">double</span></code> in this case.
+ </p></td></tr>
+</table></div>
+<p>
+ In this example the promotion goes:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Arguments are <code class="computeroutput"><span class="keyword">float</span></code> and
+ <code class="computeroutput"><span class="keyword">int</span></code>.
+ </li>
+<li class="listitem">
+ Treat <code class="computeroutput"><span class="keyword">int</span></code> "as if"
+ it were a <code class="computeroutput"><span class="keyword">double</span></code>, so arguments
+ are <code class="computeroutput"><span class="keyword">float</span></code> and <code class="computeroutput"><span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ Common type is <code class="computeroutput"><span class="keyword">double</span></code> -
+ so that's the precision we want (and the type that will be returned).
+ </li>
+<li class="listitem">
+ Evaluate internally as <code class="computeroutput"><span class="keyword">double</span></code>
+ for full <code class="computeroutput"><span class="keyword">float</span></code> precision.
+ </li>
+</ol></div>
+<p>
+ See full code for other examples that promote from <code class="computeroutput"><span class="keyword">double</span></code>
+ to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ </p>
+<p>
+ Other examples of 'bad' inputs like infinity and NaN are below. Some compiler
+ warnings indicate that 'bad' values are detected at compile time.
+ </p>
+<pre class="programlisting"><span class="keyword">try</span>
+<span class="special">{</span> <span class="comment">// order v = inf</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(inf, 1) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
+ <span class="keyword">double</span> <span class="identifier">inf_root</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">inf</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(inf, 1) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf_root</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Throw exception Error in function boost::math::cyl_bessel_j_zero&lt;long double&gt;(long double, unsigned):</span>
+ <span class="comment">// Order argument is 1.#INF, but must be finite &gt;= 0 !</span>
+<span class="special">}</span>
+<span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">ex</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Thrown exception "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ex</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">try</span>
+<span class="special">{</span> <span class="comment">// order v = NaN, rank m = 1</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(nan, 1) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">nan</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
+ <span class="keyword">double</span> <span class="identifier">nan_root</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j_zero</span><span class="special">(</span><span class="identifier">nan</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::cyl_bessel_j_zero(nan, 1) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nan_root</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Throw exception Error in function boost::math::cyl_bessel_j_zero&lt;long double&gt;(long double, unsigned):</span>
+ <span class="comment">// Order argument is 1.#QNAN, but must be finite &gt;= 0 !</span>
+<span class="special">}</span>
+<span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">ex</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Thrown exception "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ex</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The output from other examples are shown appended to the full code listing.
+ </p>
+<p>
+ The full code (and output) for these examples is at <a href="../../../../example/bessel_zeros_example_1.cpp" target="_top">Bessel
+ zeros</a>, <a href="../../../../example/bessel_zeros_interator_example.cpp" target="_top">Bessel
+ zeros iterator</a>, <a href="../../../../example/neumann_zeros_example_1.cpp" target="_top">Neumann
+ zeros</a>, <a href="../../../../example/bessel_errors_example.cpp" target="_top">Bessel
+ error messages</a>.
+ </p>
+<h4>
+<a name="math_toolkit.bessel.bessel_root.h6"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.implementation"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.implementation">Implementation</a>
+ </h4>
+<p>
+ Various methods are used to compute initial estimates for <span class="emphasis"><em>j<sub>&#957;, m</sub></em></span>
+ and <span class="emphasis"><em>y<sub>&#957;, m</sub></em></span> ; these are described in detail below.
+ </p>
+<p>
+ After finding the initial estimate of a given root, its precision is subsequently
+ refined to the desired level using Newton-Raphson iteration from Boost.Math's
+ <a class="link" href="../internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">root-finding with derivatives</a>
+ utilities combined with the functions <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
+ </p>
+<p>
+ Newton iteration requires both <span class="emphasis"><em>J<sub>&#957;</sub>(x)</em></span> or <span class="emphasis"><em>Y<sub>&#957;</sub>(x)</em></span>
+ as well as its derivative. The derivatives of <span class="emphasis"><em>J<sub>&#957;</sub>(x)</em></span> and
+ <span class="emphasis"><em>Y<sub>&#957;</sub>(x)</em></span> with respect to <span class="emphasis"><em>x</em></span> are given
+ by M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, NBS
+ (1964). In particular,
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>d/<sub>dx</sub> <span class="emphasis"><em>J<sub>&#957;</sub>(x)</em></span> = <span class="emphasis"><em>J<sub>&#957;-1</sub>(x)</em></span> - &#957; J<sub>&#957;</sub>(x)</em></span>
+ / x
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>d/<sub>dx</sub> <span class="emphasis"><em>Y<sub>&#957;</sub>(x)</em></span> = <span class="emphasis"><em>Y<sub>&#957;-1</sub>(x)</em></span> - &#957; Y<sub>&#957;</sub>(x)</em></span>
+ / x
+ </p>
+<p>
+ Enumeration of the rank of a root (in other words the index of a root) begins
+ with one and counts up, in other words <span class="emphasis"><em>m,=1,2,3,&#8230;</em></span> The
+ value of the first root is always greater than zero.
+ </p>
+<p>
+ For certain special parameters, cylindrical Bessel functions and cylindrical
+ Neumann functions have a root at the origin. For example, <span class="emphasis"><em>J<sub>&#957;</sub>(x)</em></span>
+ has a root at the origin for every positive order <span class="emphasis"><em>&#957; &gt; 0</em></span>,
+ and for every negative integer order <span class="emphasis"><em>&#957; = -n</em></span> with <span class="emphasis"><em>n
+ &#8712; &#8469; <sup>+</sup></em></span> and <span class="emphasis"><em>n &#8800; 0</em></span>.
+ </p>
+<p>
+ In addition, <span class="emphasis"><em>Y<sub>&#957;</sub>(x)</em></span> has a root at the origin for every
+ negative half-integer order <span class="emphasis"><em>&#957; = -n/2</em></span>, with <span class="emphasis"><em>n
+ &#8712; &#8469; <sup>+</sup></em></span> and and <span class="emphasis"><em>n &#8800; 0</em></span>.
+ </p>
+<p>
+ For these special parameter values, the origin with a value of <span class="emphasis"><em>x
+ = 0</em></span> is provided as the <span class="emphasis"><em>0<sup>th</sup></em></span> root generated
+ by <code class="computeroutput"><span class="identifier">cyl_bessel_j_zero</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">cyl_neumann_zero</span><span class="special">()</span></code>.
+ </p>
+<p>
+ When calculating initial estimates for the roots of Bessel functions, a distinction
+ is made between positive order and negative order, and different methods
+ are used for these. In addition, different algorithms are used for the first
+ root <span class="emphasis"><em>m = 1</em></span> and for subsequent roots with higher rank
+ <span class="emphasis"><em>m &#8805; 2</em></span>. Furthermore, estimates of the roots for Bessel
+ functions with order above and below a cutoff at <span class="emphasis"><em>&#957; = 2.2</em></span>
+ are calculated with different methods.
+ </p>
+<p>
+ Calculations of the estimates of <span class="emphasis"><em>j<sub>&#957;,1</sub></em></span> and <span class="emphasis"><em>y<sub>&#957;,1</sub></em></span>
+ with <span class="emphasis"><em>0 &#8804; &#957; &lt; 2.2</em></span> use empirically tabulated values. The
+ coefficients for these have been generated by a computer algebra system.
+ </p>
+<p>
+ Calculations of the estimates of <span class="emphasis"><em>j<sub>&#957;,1</sub></em></span> and <span class="emphasis"><em>y<sub>&#957;,1</sub></em></span>
+ with <span class="emphasis"><em>&#957;&#8805; 2.2</em></span> use Eqs.9.5.14 and 9.5.15 in M. Abramowitz
+ and I. A. Stegun, Handbook of Mathematical Functions, NBS (1964).
+ </p>
+<p>
+ In particular,
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>j<sub>&#957;,1</sub> &#8773; &#957; + 1.85575 &#957;<sup>&#8531;</sup> + 1.033150 &#957;<sup>-&#8531;</sup> - 0.00397 &#957;<sup>-1</sup> - 0.0908 &#957;<sup>-5/3</sup> + 0.043 &#957;<sup>-7/3</sup> +
+ &#8230;</em></span>
+ </p>
+<p>
+ and
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>y<sub>&#957;,1</sub> &#8773; &#957; + 0.93157 &#957;<sup>&#8531;</sup> + 0.26035 &#957;<sup>-&#8531;</sup> + 0.01198 &#957;<sup>-1</sup> - 0.0060 &#957;<sup>-5/3</sup> - 0.001 &#957;<sup>-7/3</sup> +
+ &#8230;</em></span>
+ </p>
+<p>
+ Calculations of the estimates of <span class="emphasis"><em>j<sub>&#957;, m</sub></em></span> and <span class="emphasis"><em>y<sub>&#957;,
+ m</sub></em></span> with rank <span class="emphasis"><em>m &gt; 2</em></span> and <span class="emphasis"><em>0 &#8804; &#957; &lt;
+ 2.2</em></span> use McMahon's approximation, as described in M. Abramowitz
+ and I. A. Stegan, Section 9.5 and 9.5.12. In particular,
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>j<sub>&#957;,m</sub>, y<sub>&#957;,m</sub> &#8773; &#946; - (&#956;-1) / 8&#946;</em></span>
+ </p>
+<p>
+ &#8193; &#8193; &#8193; <span class="emphasis"><em>- 4(&#956;-1)(7&#956; - 31) / 3(8&#946;)<sup>3</sup></em></span>
+ </p>
+<p>
+ &#8193; &#8193; &#8193; <span class="emphasis"><em>-32(&#956;-1)(83&#956;&#178; - 982&#956; + 3779) / 15(8&#946;)<sup>5</sup></em></span>
+ </p>
+<p>
+ &#8193; &#8193; &#8193; <span class="emphasis"><em>-64(&#956;-1)(6949&#956;<sup>3</sup> - 153855&#956;&#178; + 1585743&#956;- 6277237) / 105(8a)<sup>7</sup></em></span>
+ </p>
+<p>
+ &#8193; &#8193; &#8193; <span class="emphasis"><em>- &#8230;</em></span> &#8193; &#8193; (5)
+ </p>
+<p>
+ where <span class="emphasis"><em>&#956; = 4&#957;<sup>2</sup></em></span> and <span class="emphasis"><em>&#946; = (m + &#189;&#957; - &#188;)&#960;</em></span> for
+ <span class="emphasis"><em>j<sub>&#957;,m</sub></em></span> and <span class="emphasis"><em>&#946; = (m + &#189;&#957; -&#190;)&#960; for <span class="emphasis"><em>y<sub>&#957;,m</sub></em></span></em></span>.
+ </p>
+<p>
+ Calculations of the estimates of <span class="emphasis"><em>j<sub>&#957;, m</sub></em></span> and <span class="emphasis"><em>y<sub>&#957;,
+ m</sub></em></span> with <span class="emphasis"><em>&#957; &#8805; 2.2</em></span> use one term in the asymptotic
+ expansion given in Eq.9.5.22 and top line of Eq.9.5.26 combined with Eq.
+ 9.3.39, all in M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions,
+ NBS (1964) explicit and easy-to-understand treatment for asymptotic expansion
+ of zeros. The latter two equations are expressed for argument <span class="emphasis"><em>(x)</em></span>
+ greater than one. (Olver also gives the series form of the equations in
+ <a href="http://dlmf.nist.gov/10.21#vi" target="_top">&#167;10.21(vi) McMahon's Asymptotic
+ Expansions for Large Zeros</a> - using slightly different variable names).
+ </p>
+<p>
+ In summary,
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>j<sub>&#957;, m</sub> &#8764; &#957;x(-&#950;) + f<sub>1</sub>(-&#950;/&#957;)</em></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>-&#950; = &#957;<sup>-2/3</sup>a<sub>m</sub></em></span> and <span class="emphasis"><em>a<sub>m</sub></em></span> is the absolute
+ value of the <span class="emphasis"><em>m<sup>th</sup></em></span> root of <span class="emphasis"><em>Ai(x)</em></span>
+ on the negative real axis.
+ </p>
+<p>
+ Here <span class="emphasis"><em>x = x(-&#950;)</em></span> is the inverse of the function
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>&#8532;(-&#950;)<sup>3/2</sup> = &#8730;(x&#178; - 1) - cos&#8315;&#185;(1/x)</em></span> &#8193; &#8193; (7)
+ </p>
+<p>
+ Furthermore,
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>f<sub>1</sub>(-&#950;) = &#189;x(-&#950;) {h(-&#950;)}&#178; &#8901; b<sub>0</sub>(-&#950;)</em></span>
+ </p>
+<p>
+ where
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>h(-&#950;) = {4(-&#950;) / (x&#178; - 1)}<sup>4</sup></em></span>
+ </p>
+<p>
+ and
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>b<sub>0</sub>(-&#950;) = -5/(48&#950;&#178;) + 1/(-&#950;)<sup>&#189;</sup> &#8901; { 5/(24(x<sup>2</sup>-1)<sup>3/2</sup>) + 1/(8(x<sup>2</sup>-1)<sup>&#189;)</sup>}</em></span>
+ </p>
+<p>
+ When solving for <span class="emphasis"><em>x(-&#950;)</em></span> in Eq. 7 above, the right-hand-side
+ is expanded to order 2 in a Taylor series for large <span class="emphasis"><em>x</em></span>.
+ This results in
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>&#8532;(-&#950;)<sup>3/2</sup> &#8776; x + 1/2x - &#960;/2</em></span>
+ </p>
+<p>
+ The positive root of the resulting quadratic equation is used to find an
+ initial estimate <span class="emphasis"><em>x(-&#950;)</em></span>. This initial estimate is subsequently
+ refined with several steps of Newton-Raphson iteration in Eq. 7.
+ </p>
+<p>
+ Estimates of the roots of cylindrical Bessel functions of negative order
+ on the positive real axis are found using interlacing relations. For example,
+ the <span class="emphasis"><em>m<sup>th</sup></em></span> root of the cylindrical Bessel function <span class="emphasis"><em>j<sub>-&#957;,m</sub></em></span>
+ is bracketed by the <span class="emphasis"><em>m<sup>th</sup></em></span> root and the <span class="emphasis"><em>(m+1)<sup>th</sup></em></span>
+ root of the Bessel function of corresponding positive integer order. In other
+ words,
+ </p>
+<p>
+ &#8193; <span class="emphasis"><em>j<sub>n&#957;,m</sub></em></span> &lt; <span class="emphasis"><em>j<sub>-&#957;,m</sub></em></span> &lt; <span class="emphasis"><em>j<sub>n&#957;,m+1</sub></em></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>m &gt; 1</em></span> and <span class="emphasis"><em>n<sub>&#957;</sub></em></span> represents
+ the integral floor of the absolute value of <span class="emphasis"><em>|-&#957;|</em></span>.
+ </p>
+<p>
+ Similar bracketing relations are used to find estimates of the roots of Neumann
+ functions of negative order, whereby a discontinuity at every negative half-integer
+ order needs to be handled.
+ </p>
+<p>
+ Bracketing relations do not hold for the first root of cylindrical Bessel
+ functions and cylindrical Neumann functions with negative order. Therefore,
+ iterative algorithms combined with root-finding via bisection are used to
+ localize <span class="emphasis"><em>j<sub>-&#957;,1</sub></em></span> and <span class="emphasis"><em>y<sub>-&#957;,1</sub></em></span>.
+ </p>
+<h4>
+<a name="math_toolkit.bessel.bessel_root.h7"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.bessel_root.testing"></a></span><a class="link" href="bessel_root.html#math_toolkit.bessel.bessel_root.testing">Testing</a>
+ </h4>
+<p>
+ The precision of evaluation of zeros was tested at 50 decimal digits using
+ <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code> and found
+ identical with spot values computed by <a href="http://www.wolframalpha.com/" target="_top">Wolfram
+ Alpha</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel_first.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mbessel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/bessel/mbessel.html b/libs/math/doc/html/math_toolkit/bessel/mbessel.html
new file mode 100644
index 0000000000..ad62070e8b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/bessel/mbessel.html
@@ -0,0 +1,491 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Modified Bessel Functions of the First and Second Kinds</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../bessel.html" title="Bessel Functions">
+<link rel="prev" href="bessel_root.html" title="Finding Zeros of Bessel Functions of the First and Second Kinds">
+<link rel="next" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel_root.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_bessel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.bessel.mbessel"></a><a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">Modified Bessel Functions
+ of the First and Second Kinds</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.bessel.mbessel.h0"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.mbessel.synopsis"></a></span><a class="link" href="mbessel.html#math_toolkit.bessel.mbessel.synopsis">Synopsis</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<h5>
+<a name="math_toolkit.bessel.mbessel.h1"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.mbessel.description"></a></span><a class="link" href="mbessel.html#math_toolkit.bessel.mbessel.description">Description</a>
+ </h5>
+<p>
+ The functions <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
+ and <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a> return
+ the result of the modified Bessel functions of the first and second kind
+ respectively:
+ </p>
+<p>
+ cyl_bessel_i(v, x) = I<sub>v</sub>(x)
+ </p>
+<p>
+ cyl_bessel_k(v, x) = K<sub>v</sub>(x)
+ </p>
+<p>
+ where:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel2.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel3.png"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ The functions are also optimised for the relatively common case that T1 is
+ an integer.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The functions return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ whenever the result is undefined or complex. For <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
+ <span class="number">0</span></code> and v is not an integer, or when
+ <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span>
+ <span class="number">0</span></code> and <code class="computeroutput"><span class="identifier">v</span>
+ <span class="special">!=</span> <span class="number">0</span></code>.
+ For <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a> this
+ occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;=</span>
+ <span class="number">0</span></code>.
+ </p>
+<p>
+ The following graph illustrates the exponential behaviour of I<sub>v</sub>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/cyl_bessel_i.png" align="middle"></span>
+ </p>
+<p>
+ The following graph illustrates the exponential decay of K<sub>v</sub>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/cyl_bessel_k.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.bessel.mbessel.h2"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.mbessel.testing"></a></span><a class="link" href="mbessel.html#math_toolkit.bessel.mbessel.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of test values: spot values calculated using <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
+ and a much larger set of tests computed using a simplified version of this
+ implementation (with all the special case handling removed).
+ </p>
+<h5>
+<a name="math_toolkit.bessel.mbessel.h3"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.mbessel.accuracy"></a></span><a class="link" href="mbessel.html#math_toolkit.bessel.mbessel.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following tables show how the accuracy of these functions varies on various
+ platforms, along with a comparison to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
+ library. Note that only results for the widest floating-point type on the
+ system are given, as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>. All values are relative errors in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.bessel.mbessel.errors_rates_in_cyl_bessel_i"></a><p class="title"><b>Table&#160;6.23.&#160;Errors Rates in cyl_bessel_i</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_i">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ I<sub>v</sub>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=10 Mean=3.4 GSL Peak=6000
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64 / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=11 Mean=3
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux AMD64 / G++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=11 Mean=4
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=15 Mean=4
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.bessel.mbessel.errors_rates_in_cyl_bessel_k"></a><p class="title"><b>Table&#160;6.24.&#160;Errors Rates in cyl_bessel_k</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_k">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ K<sub>v</sub>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9 Mean=2
+ </p>
+ <p>
+ GSL Peak=9
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64 / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=10 Mean=2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux AMD64 / G++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=10 Mean=2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=12 Mean=5
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.bessel.mbessel.h4"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.mbessel.implementation"></a></span><a class="link" href="mbessel.html#math_toolkit.bessel.mbessel.implementation">Implementation</a>
+ </h5>
+<p>
+ The following are handled as special cases first:
+ </p>
+<p>
+ When computing I<sub>v</sub> &#160; for <span class="emphasis"><em>x &lt; 0</em></span>, then &#957; &#160; must be an integer
+ or a domain error occurs. If &#957; &#160; is an integer, then the function is odd if &#957; &#160; is
+ odd and even if &#957; &#160; is even, and we can reflect to <span class="emphasis"><em>x &gt; 0</em></span>.
+ </p>
+<p>
+ For I<sub>v</sub> &#160; with v equal to 0, 1 or 0.5 are handled as special cases.
+ </p>
+<p>
+ The 0 and 1 cases use minimax rational approximations on finite and infinite
+ intervals. The coefficients are from:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ J.M. Blair and C.A. Edwards, <span class="emphasis"><em>Stable rational minimax approximations
+ to the modified Bessel functions I_0(x) and I_1(x)</em></span>, Atomic
+ Energy of Canada Limited Report 4928, Chalk River, 1974.
+ </li>
+<li class="listitem">
+ S. Moshier, <span class="emphasis"><em>Methods and Programs for Mathematical Functions</em></span>,
+ Ellis Horwood Ltd, Chichester, 1989.
+ </li>
+</ul></div>
+<p>
+ While the 0.5 case is a simple trigonometric function:
+ </p>
+<p>
+ I<sub>0.5</sub>(x) = sqrt(2 / &#960;x) * sinh(x)
+ </p>
+<p>
+ For K<sub>v</sub> &#160; with <span class="emphasis"><em>v</em></span> an integer, the result is calculated using
+ the recurrence relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel5.png"></span>
+ </p>
+<p>
+ starting from K<sub>0</sub> &#160; and K<sub>1</sub> &#160; which are calculated using rational the approximations
+ above. These rational approximations are accurate to around 19 digits, and
+ are therefore only used when T has no more than 64 binary digits of precision.
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is small compared to <span class="emphasis"><em>v</em></span>,
+ I<sub>v</sub>x &#160; is best computed directly from the series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel17.png"></span>
+ </p>
+<p>
+ In the general case, we first normalize &#957; &#160; to [<code class="literal">0, [inf]</code>)
+ with the help of the reflection formulae:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel9.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel10.png"></span>
+ </p>
+<p>
+ Let &#956; &#160; = &#957; - floor(&#957; + 1/2), then &#956; &#160; is the fractional part of &#957; &#160; such that |&#956;| &lt;= 1/2
+ (we need this for convergence later). The idea is to calculate K<sub>&#956;</sub>(x) and K<sub>&#956;+1</sub>(x),
+ and use them to obtain I<sub>&#957;</sub>(x) and K<sub>&#957;</sub>(x).
+ </p>
+<p>
+ The algorithm is proposed by Temme in N.M. Temme, <span class="emphasis"><em>On the numerical
+ evaluation of the modified bessel function of the third kind</em></span>,
+ Journal of Computational Physics, vol 19, 324 (1975), which needs two continued
+ fractions as well as the Wronskian:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel11.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel12.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel8.png"></span>
+ </p>
+<p>
+ The continued fractions are computed using the modified Lentz's method (W.J.
+ Lentz, <span class="emphasis"><em>Generating Bessel functions in Mie scattering calculations
+ using continued fractions</em></span>, Applied Optics, vol 15, 668 (1976)).
+ Their convergence rates depend on <span class="emphasis"><em>x</em></span>, therefore we need
+ different strategies for large <span class="emphasis"><em>x</em></span> and small <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ <span class="emphasis"><em>x &gt; v</em></span>, CF1 needs O(<span class="emphasis"><em>x</em></span>) iterations
+ to converge, CF2 converges rapidly.
+ </p>
+<p>
+ <span class="emphasis"><em>x &lt;= v</em></span>, CF1 converges rapidly, CF2 fails to converge
+ when <span class="emphasis"><em>x</em></span> <code class="literal">-&gt;</code> 0.
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is large (<span class="emphasis"><em>x</em></span> &gt; 2), both
+ continued fractions converge (CF1 may be slow for really large <span class="emphasis"><em>x</em></span>).
+ K<sub>&#956;</sub> &#160; and K<sub>&#956;+1</sub> &#160;
+can be calculated by
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel13.png"></span>
+ </p>
+<p>
+ where
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel14.png"></span>
+ </p>
+<p>
+ <span class="emphasis"><em>S</em></span> is also a series that is summed along with CF2, see
+ I.J. Thompson and A.R. Barnett, <span class="emphasis"><em>Modified Bessel functions I_v and
+ K_v of real order and complex argument to selected accuracy</em></span>, Computer
+ Physics Communications, vol 47, 245 (1987).
+ </p>
+<p>
+ When <span class="emphasis"><em>x</em></span> is small (<span class="emphasis"><em>x</em></span> &lt;= 2), CF2
+ convergence may fail (but CF1 works very well). The solution here is Temme's
+ series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel15.png"></span>
+ </p>
+<p>
+ where
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/mbessel16.png"></span>
+ </p>
+<p>
+ f<sub>k</sub> &#160; and h<sub>k</sub> &#160;
+are also computed by recursions (involving gamma functions), but
+ the formulas are a little complicated, readers are referred to N.M. Temme,
+ <span class="emphasis"><em>On the numerical evaluation of the modified Bessel function of
+ the third kind</em></span>, Journal of Computational Physics, vol 19, 324
+ (1975). Note: Temme's series converge only for |&#956;| &lt;= 1/2.
+ </p>
+<p>
+ K<sub>&#957;</sub>(x) is then calculated from the forward recurrence, as is K<sub>&#957;+1</sub>(x). With these
+ two values and f<sub>&#957;</sub>, the Wronskian yields I<sub>&#957;</sub>(x) directly.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel_root.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_bessel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/bessel/sph_bessel.html b/libs/math/doc/html/math_toolkit/bessel/sph_bessel.html
new file mode 100644
index 0000000000..482154504e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/bessel/sph_bessel.html
@@ -0,0 +1,162 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Spherical Bessel Functions of the First and Second Kinds</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../bessel.html" title="Bessel Functions">
+<link rel="prev" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">
+<link rel="next" href="bessel_derivatives.html" title="Derivatives of the Bessel Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mbessel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel_derivatives.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.bessel.sph_bessel"></a><a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">Spherical Bessel Functions
+ of the First and Second Kinds</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.bessel.sph_bessel.h0"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.sph_bessel.synopsis"></a></span><a class="link" href="sph_bessel.html#math_toolkit.bessel.sph_bessel.synopsis">Synopsis</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bessel</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<h5>
+<a name="math_toolkit.bessel.sph_bessel.h1"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.sph_bessel.description"></a></span><a class="link" href="sph_bessel.html#math_toolkit.bessel.sph_bessel.description">Description</a>
+ </h5>
+<p>
+ The functions <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a>
+ and <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_neumann</a> return
+ the result of the Spherical Bessel functions of the first and second kinds
+ respectively:
+ </p>
+<p>
+ sph_bessel(v, x) = j<sub>v</sub>(x)
+ </p>
+<p>
+ sph_neumann(v, x) = y<sub>v</sub>(x) = n<sub>v</sub>(x)
+ </p>
+<p>
+ where:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/sbessel2.png"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> for the single argument type T.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The functions return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ whenever the result is undefined or complex: this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span> <span class="number">0</span></code>.
+ </p>
+<p>
+ The j<sub>v</sub> &#160; function is cyclic like J<sub>v</sub> &#160; but differs in its behaviour at the origin:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/sph_bessel.png" align="middle"></span>
+ </p>
+<p>
+ Likewise y<sub>v</sub> &#160; is also cyclic for large x, but tends to -&#8734; &#160;
+for small <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/sph_neumann.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.bessel.sph_bessel.h2"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.sph_bessel.testing"></a></span><a class="link" href="sph_bessel.html#math_toolkit.bessel.sph_bessel.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of test values: spot values calculated using <a href="http://functions.wolfram.com/" target="_top">functions.wolfram.com</a>,
+ and a much larger set of tests computed using a simplified version of this
+ implementation (with all the special case handling removed).
+ </p>
+<h5>
+<a name="math_toolkit.bessel.sph_bessel.h3"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.sph_bessel.accuracy"></a></span><a class="link" href="sph_bessel.html#math_toolkit.bessel.sph_bessel.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Other than for some special cases, these functions are computed in terms
+ of <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a> and
+ <a class="link" href="bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>: refer
+ to these functions for accuracy data.
+ </p>
+<h5>
+<a name="math_toolkit.bessel.sph_bessel.h4"></a>
+ <span class="phrase"><a name="math_toolkit.bessel.sph_bessel.implementation"></a></span><a class="link" href="sph_bessel.html#math_toolkit.bessel.sph_bessel.implementation">Implementation</a>
+ </h5>
+<p>
+ Other than error handling and a couple of special cases these functions are
+ implemented directly in terms of their definitions:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/sbessel2.png"></span>
+ </p>
+<p>
+ The special cases occur for:
+ </p>
+<p>
+ j<sub>0</sub> &#160;= <a class="link" href="../sinc/sinc_pi.html" title="sinc_pi">sinc_pi</a>(x) = sin(x)
+ / x
+ </p>
+<p>
+ and for small <span class="emphasis"><em>x &lt; 1</em></span>, we can use the series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/sbessel5.png"></span>
+ </p>
+<p>
+ which neatly avoids the problem of calculating 0/0 that can occur with the
+ main definition as x &#8594; 0.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mbessel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel_derivatives.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/building.html b/libs/math/doc/html/math_toolkit/building.html
new file mode 100644
index 0000000000..acf4249856
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/building.html
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>If and How to Build a Boost.Math Library, and its Examples and Tests</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="perf_over1.html" title="Performance">
+<link rel="next" href="history1.html" title="History and What's New">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf_over1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.building"></a><a class="link" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">If and How to Build a Boost.Math
+ Library, and its Examples and Tests</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.building.h0"></a>
+ <span class="phrase"><a name="math_toolkit.building.building_a_library_shared_dynami"></a></span><a class="link" href="building.html#math_toolkit.building.building_a_library_shared_dynami">Building a
+ Library (shared, dynamic .dll or static .lib)</a>
+ </h5>
+<p>
+ The first thing you need to ask yourself is "Do I need to build anything
+ at all?" as the bulk of this library is header only: meaning you can use
+ it just by #including the necessary header(s).
+ </p>
+<p>
+ For most simple uses, including a header (or few) is best for compile time
+ and program size.
+ </p>
+<p>
+ Refer to <a class="link" href="../extern_c.html" title='Chapter&#160;7.&#160;TR1 and C99 external "C" Functions'>C99 and C++ TR1 C-style Functions</a>
+ for pros and cons of using the TR1 components as opposed to the header only
+ ones.
+ </p>
+<p>
+ The <span class="emphasis"><em>only</em></span> time you <span class="emphasis"><em>need</em></span> to build the
+ library is if you want to use the <code class="computeroutput"><span class="keyword">extern</span>
+ <span class="string">"C"</span></code> functions declared in
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>. To build this using Boost.Build, from
+ a commandline boost-root directory issue a command like:
+ </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">gcc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">math</span> <span class="identifier">install</span>
+</pre>
+<p>
+ that will do the job on Linux, while:
+ </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">msvc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">math</span> <span class="special">--</span><span class="identifier">build</span><span class="special">-</span><span class="identifier">type</span><span class="special">=</span><span class="identifier">complete</span> <span class="identifier">stage</span>
+</pre>
+<p>
+ will work better on Windows (leaving libraries built in sub-folder <code class="computeroutput"><span class="special">/</span><span class="identifier">stage</span></code> below
+ your Boost root directory). Either way you should consult the <a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html" target="_top">getting
+ started guide</a> for more information.
+ </p>
+<p>
+ You can also build the libraries from your favourite IDE or command line tool:
+ each <code class="computeroutput"><span class="keyword">extern</span> <span class="string">"C"</span></code>
+ function declared in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> has its own source file with the same name
+ in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span></code>. Just
+ select the sources corresponding to the functions you are using and build them
+ into a library, or else add them directly to your project. Note that the directory
+ <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span></code> will
+ need to be in your compiler's #include path as well as the boost-root directory
+ (MSVC Tools, Options, Projects and Solutions, VC++ Directories, Include files).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If you are using a Windows compiler that supports auto-linking and you have
+ built the sources yourself (or added them directly to your project) then
+ you will need to prevent <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ from trying to auto-link to the binaries that Boost.Build generates. You
+ can do this by defining either BOOST_MATH_NO_LIB or BOOST_ALL_NO_LIB at project
+ level (so the defines get passed to each compiler invocation).
+ </p></td></tr>
+</table></div>
+<p>
+ Optionally the sources in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span></code>
+ have support for using <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">/</span><span class="identifier">pch</span><span class="special">.</span><span class="identifier">hpp</span></code> as a precompiled header <span class="emphasis"><em>if
+ your compiler supports precompiled headers.</em></span> Note that normally this
+ header is a do-nothing include: to activate the header so that it #includes
+ everything required by all the sources you will need to define BOOST_BUILD_PCH_ENABLED
+ on the command line, both when building the pre-compiled header and when building
+ the sources. Boost.Build will do this automatically when appropriate.
+ </p>
+<h5>
+<a name="math_toolkit.building.h1"></a>
+ <span class="phrase"><a name="math_toolkit.building.building_the_examples"></a></span><a class="link" href="building.html#math_toolkit.building.building_the_examples">Building
+ the Examples</a>
+ </h5>
+<p>
+ The examples are all located in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">example</span></code>, they can all be built without reference
+ to any external libraries, either with Boost.Build using the supplied Jamfile,
+ or from your compiler's command line. The only requirement is that the Boost
+ headers are in your compilers #include search path.
+ </p>
+<h5>
+<a name="math_toolkit.building.h2"></a>
+ <span class="phrase"><a name="math_toolkit.building.building_the_tests"></a></span><a class="link" href="building.html#math_toolkit.building.building_the_tests">Building
+ the Tests</a>
+ </h5>
+<p>
+ The tests are located in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">test</span></code> and are best built using Boost.Build
+ and the supplied Jamfile. If you plan to build them separately from your favourite
+ IDE then you will need to add <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">test</span></code> to the list of your compiler's search
+ paths.
+ </p>
+<p>
+ You will also need to build and link to the Boost.Regex library for many of
+ the tests: this can built from the command line by following the <a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html" target="_top">getting
+ started guide</a>, using a command such as:
+ </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">gcc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">regex</span> <span class="identifier">install</span>
+</pre>
+<p>
+ or
+ </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">msvc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">regex</span> <span class="special">--</span><span class="identifier">build</span><span class="special">-</span><span class="identifier">type</span><span class="special">=</span><span class="identifier">complete</span> <span class="identifier">stage</span>
+</pre>
+<p>
+ depending on whether you are on Linux or Windows.
+ </p>
+<p>
+ Many of the tests have optional precompiled header support using the header
+ <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">pch</span><span class="special">.</span><span class="identifier">hpp</span></code>. Note that normally this header is a
+ do-nothing include: to activate the header so that it #includes everything
+ required by all the sources you will need to define BOOST_BUILD_PCH_ENABLED
+ on the command line, both when building the pre-compiled header and when building
+ the sources. Boost.Build will do this automatically when appropriate.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf_over1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/c99.html b/libs/math/doc/html/math_toolkit/c99.html
new file mode 100644
index 0000000000..7edf366a2d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/c99.html
@@ -0,0 +1,477 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>C99 C Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../extern_c.html" title='Chapter&#160;7.&#160;TR1 and C99 external "C" Functions'>
+<link rel="prev" href="main_tr1.html" title="C99 and TR1 C Functions Overview">
+<link rel="next" href="tr1_ref.html" title="TR1 C Functions Quick Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="main_tr1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1_ref.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.c99"></a><a class="link" href="c99.html" title="C99 C Functions">C99 C Functions</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.c99.h0"></a>
+ <span class="phrase"><a name="math_toolkit.c99.supported_c99_functions"></a></span><a class="link" href="c99.html#math_toolkit.c99.supported_c99_functions">Supported
+ C99 Functions</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
+
+<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
+ versions of the above functions are provided, so that calling the function
+ with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
+ arguments is supported, with the return type determined by the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>.
+ </p>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">acoshf</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// float version, returns float.</span>
+<span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// also calls the float version and returns float.</span>
+<span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0</span><span class="special">);</span> <span class="comment">// double version, returns double.</span>
+<span class="identifier">acoshl</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// long double version, returns a long double.</span>
+<span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// also calls the long double version.</span>
+<span class="identifier">acosh</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// integer argument is treated as a double, returns double.</span>
+</pre>
+<h5>
+<a name="math_toolkit.c99.h1"></a>
+ <span class="phrase"><a name="math_toolkit.c99.quick_reference"></a></span><a class="link" href="c99.html#math_toolkit.c99.quick_reference">Quick
+ Reference</a>
+ </h5>
+<p>
+ More detailed descriptions of these functions are available in the C99 standard.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
+</pre>
+<p>
+ In this implementation <code class="computeroutput"><span class="identifier">float_t</span></code>
+ is the same as type <code class="computeroutput"><span class="keyword">float</span></code>, and
+ <code class="computeroutput"><span class="identifier">double_t</span></code> the same as type
+ <code class="computeroutput"><span class="keyword">double</span></code> unless the preprocessor
+ symbol FLT_EVAL_METHOD is defined, in which case these are set as follows:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ FLT_EVAL_METHOD
+ </p>
+ </th>
+<th>
+ <p>
+ float_t
+ </p>
+ </th>
+<th>
+ <p>
+ double_t
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+<td>
+ <p>
+ float
+ </p>
+ </td>
+<td>
+ <p>
+ double
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ double
+ </p>
+ </td>
+<td>
+ <p>
+ double
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ long double
+ </p>
+ </td>
+<td>
+ <p>
+ long double
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the inverse hyperbolic cosine of <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ See also <a class="link" href="inv_hyper/acosh.html" title="acosh">acosh</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the inverse hyperbolic sine of <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ See also <a class="link" href="inv_hyper/asinh.html" title="asinh">asinh</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the inverse hyperbolic tangent of <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ See also <a class="link" href="inv_hyper/atanh.html" title="atanh">atanh</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the cubed root of <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ See also <a class="link" href="powers/cbrt.html" title="cbrt">cbrt</a> for the full
+ template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ Returns a value with the magnitude of <span class="emphasis"><em>x</em></span> and the sign of
+ <span class="emphasis"><em>y</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the error function of <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/erf1.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_erf/error_function.html" title="Error Functions">erf</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the complementary error function of <span class="emphasis"><em>x</em></span> <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">erf</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ without the loss of precision implied by the subtraction.
+ </p>
+<p>
+ See also <a class="link" href="sf_erf/error_function.html" title="Error Functions">erfc</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns <code class="computeroutput"><span class="identifier">exp</span><span class="special">(</span><span class="identifier">x</span><span class="special">)-</span><span class="number">1</span></code>
+ without the loss of precision implied by the subtraction.
+ </p>
+<p>
+ See also <a class="link" href="powers/expm1.html" title="expm1">expm1</a> for the full
+ template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the larger (most positive) of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the smaller (most negative) of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ Returns <code class="computeroutput"><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">x</span><span class="special">*</span><span class="identifier">x</span>
+ <span class="special">+</span> <span class="identifier">y</span><span class="special">*</span><span class="identifier">y</span><span class="special">)</span></code>
+ without the danger of numeric overflow implied by that formulation.
+ </p>
+<p>
+ See also <a class="link" href="powers/hypot.html" title="hypot">hypot</a> for the full
+ template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the log of the gamma function of <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lgamm1.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_gamma/lgamma.html" title="Log Gamma">lgamma</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer as
+ a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>:
+ equivalent to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code>
+ </p>
+<p>
+ See also <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> for the full
+ template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code> without the loss of precision implied by that
+ formulation.
+ </p>
+<p>
+ See also <a class="link" href="powers/log1p.html" title="log1p">log1p</a> for the full
+ template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer as
+ a <code class="computeroutput"><span class="keyword">long</span></code>: equivalent to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span>
+ <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code>
+ </p>
+<p>
+ See also <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> for the full
+ template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the next representable floating point number after <span class="emphasis"><em>x</em></span>
+ in the direction of <span class="emphasis"><em>y</em></span>, or <span class="emphasis"><em>x</em></span> if <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span> <span class="identifier">y</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ As <code class="computeroutput"><span class="identifier">nextafter</span></code>, but with <span class="emphasis"><em>y</em></span>
+ always expressed as a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer: equivalent
+ to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code>
+ </p>
+<p>
+ See also <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> for the full
+ template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the gamma function of <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/gamm1.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns <span class="emphasis"><em>x</em></span> truncated to the nearest integer.
+ </p>
+<p>
+ See also <a class="link" href="rounding/trunc.html" title="Truncation Functions">trunc</a> for the full
+ template (header only) version of this function.
+ </p>
+<p>
+ See also <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf" target="_top">C99
+ ISO Standard</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="main_tr1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1_ref.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/comp_compilers.html b/libs/math/doc/html/math_toolkit/comp_compilers.html
new file mode 100644
index 0000000000..1fb0cd3a24
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/comp_compilers.html
@@ -0,0 +1,379 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Comparing Compilers</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="prev" href="getting_best.html" title="Getting the Best Performance from this Library">
+<link rel="next" href="tuning.html" title="Performance Tuning Macros">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_best.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuning.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.comp_compilers"></a><a class="link" href="comp_compilers.html" title="Comparing Compilers">Comparing Compilers</a>
+</h2></div></div></div>
+<p>
+ After a good choice of build settings the next most important thing you can
+ do, is choose your compiler - and the standard C library it sits on top of
+ - very carefully. GCC-3.x in particular has been found to be particularly bad
+ at inlining code, and performing the kinds of high level transformations that
+ good C++ performance demands (thankfully GCC-4.x is somewhat better in this
+ respect).
+ </p>
+<div class="table">
+<a name="math_toolkit.comp_compilers.performance_comparison_of_variou"></a><p class="title"><b>Table&#160;15.2.&#160;Performance Comparison of Various Windows Compilers</b></p>
+<div class="table-contents"><table class="table" summary="Performance Comparison of Various Windows Compilers">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Intel C++ 10.0
+ </p>
+ <p>
+ ( /Ox /Qipo /QxN )
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ 8.0
+ </p>
+ <p>
+ ( /Ox /arch:SSE2 )
+ </p>
+ </th>
+<th>
+ <p>
+ Cygwin G++ 3.4
+ </p>
+ <p>
+ ( /O3 )
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_erf/error_function.html" title="Error Functions">erf</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.118e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.483e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.24</p>
+<p> </p>
+<p>(1.336e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.439e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.888e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.88</p>
+<p> </p>
+<p>(3.500e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.631e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.14</p>
+<p> </p>
+<p>(1.852e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.05</p>
+<p> </p>
+<p>(4.975e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.133e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.19</p>
+<p> </p>
+<p>(7.311e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.60</p>
+<p> </p>
+<p>(1.597e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
+ and <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.453e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(2.847e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.83</p>
+<p> </p>
+<p>(6.947e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a> and
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.735e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.41</p>
+<p> </p>
+<p>(9.504e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.78</p>
+<p> </p>
+<p>(1.872e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.637e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.38</p>
+<p> </p>
+<p>(3.631e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.31</p>
+<p> </p>
+<p>(8.736e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
+ and <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.716e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.29</p>
+<p> </p>
+<p>(9.982e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.56</p>
+<p> </p>
+<p>(1.974e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_best.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuning.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/comparisons.html b/libs/math/doc/html/math_toolkit/comparisons.html
new file mode 100644
index 0000000000..86ca487af2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/comparisons.html
@@ -0,0 +1,3138 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Comparisons to Other Open Source Libraries</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="prev" href="tuning.html" title="Performance Tuning Macros">
+<link rel="next" href="perf_test_app.html" title="The Performance Test Application">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuning.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.comparisons"></a><a class="link" href="comparisons.html" title="Comparisons to Other Open Source Libraries">Comparisons to Other Open Source
+ Libraries</a>
+</h2></div></div></div>
+<p>
+ We've run our performance tests both for our own code, and against other open
+ source implementations of the same functions. The results are presented below
+ to give you a rough idea of how they all compare.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You should exercise extreme caution when interpreting these results, relative
+ performance may vary by platform, the tests use data that gives good code
+ coverage of <span class="emphasis"><em>our</em></span> code, but which may skew the results
+ towards the corner cases. Finally, remember that different libraries make
+ different choices with regard to performance verses numerical stability.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="math_toolkit.comparisons.h0"></a>
+ <span class="phrase"><a name="math_toolkit.comparisons.comparison_to_gsl_1_13_and_cephe"></a></span><a class="link" href="comparisons.html#math_toolkit.comparisons.comparison_to_gsl_1_13_and_cephe">Comparison
+ to GSL-1.13 and Cephes</a>
+ </h4>
+<p>
+ All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
+ Windows Vista machine, with the test program compiled with Microsoft Visual
+ C++ 2009 using the /Ox option.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Boost
+ </p>
+ </th>
+<th>
+ <p>
+ GSL-1.9
+ </p>
+ </th>
+<th>
+ <p>
+ Cephes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="powers/cbrt.html" title="cbrt">cbrt</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.873e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.699e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="powers/log1p.html" title="log1p">log1p</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.664e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.677e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.189e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="powers/expm1.html" title="expm1">expm1</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.760e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.248e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.169e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.80</p>
+<p> </p>
+<p>(2.997e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.54</p>
+<p> </p>
+<p>(2.569e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.666e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/lgamma.html" title="Log Gamma">lgamma</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.20</p>
+<p> </p>
+<p>(3.045e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.14</p>
+<p> </p>
+<p>(5.713e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.381e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_erf/error_function.html" title="Error Functions">erf</a> and
+ <a class="link" href="sf_erf/error_function.html" title="Error Functions">erfc</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.483e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.052e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.722e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a> and
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.182e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.57</p>
+<p> </p>
+<p>(2.209e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.29</p>
+<p> </p>
+<p>(2.651e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.943e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+<td>
+ <p>
+ +INF <a href="#ftn.math_toolkit.comparisons.f0" class="footnote" name="math_toolkit.comparisons.f0"><sup class="footnote">[1]</sup></a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.670e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(1.935e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(1.935e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.075e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.45</p>
+<p> </p>
+<p>(1.489e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>17.89<a href="#ftn.math_toolkit.comparisons.f1" class="footnote" name="math_toolkit.comparisons.f1"><sup class="footnote">[2]</sup></a></p>
+<p> </p>
+<p>(4.248e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.214e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.374e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.924e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.487e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.823e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.783e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.927e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.465e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.230e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.977e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+<tbody class="footnotes"><tr><td colspan="4">
+<div id="ftn.math_toolkit.comparisons.f0" class="footnote"><p><a href="#math_toolkit.comparisons.f0" class="para"><sup class="para">[1] </sup></a>
+ Cephes gets stuck in an infinite loop while trying to execute our
+ test cases.
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f1" class="footnote"><p><a href="#math_toolkit.comparisons.f1" class="para"><sup class="para">[2] </sup></a>
+ The performance here is dominated by a few cases where the parameters
+ grow very large: faster asymptotic expansions are available, but
+ are of limited (or even frankly terrible) precision. The same issue
+ effects all of our Bessel function implementations, but doesn't
+ necessarily show in the current performance data. More investigation
+ is needed here.
+ </p></div>
+</td></tr></tbody>
+</table></div>
+<h4>
+<a name="math_toolkit.comparisons.h1"></a>
+ <span class="phrase"><a name="math_toolkit.comparisons.comparison_to_the_r_and_dcdflib_"></a></span><a class="link" href="comparisons.html#math_toolkit.comparisons.comparison_to_the_r_and_dcdflib_">Comparison
+ to the R and DCDFLIB Statistical Libraries on Windows</a>
+ </h4>
+<p>
+ All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
+ Windows Vista machine, with the test program compiled with Microsoft Visual
+ C++ 2009, and R-2.9.2 compiled in "standalone mode" with MinGW-4.3
+ (R-2.9.2 appears not to be buildable with Visual C++).
+ </p>
+<div class="table">
+<a name="math_toolkit.comparisons.a_comparison_to_the_r_statistica"></a><p class="title"><b>Table&#160;15.5.&#160;A Comparison to the R Statistical Library on Windows XP</b></p>
+<div class="table-contents"><table class="table" summary="A Comparison to the R Statistical Library on Windows XP">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Statistical Function
+ </p>
+ </th>
+<th>
+ <p>
+ Boost
+ </p>
+ </th>
+<th>
+ <p>
+ R
+ </p>
+ </th>
+<th>
+ <p>
+ DCDFLIB
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.08</p>
+<p> </p>
+<p>(1.385e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.278e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.06</p>
+<p> </p>
+<p>(1.349e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.975e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>67.66<a href="#ftn.math_toolkit.comparisons.f2" class="footnote" name="math_toolkit.comparisons.f2"><sup class="footnote">[1]</sup></a></p>
+<p> </p>
+<p>(3.366e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.23</p>
+<p> </p>
+<p>(2.103e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.06</p>
+<p> </p>
+<p>(4.503e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.81</p>
+<p> </p>
+<p>(7.680e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.239e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.254e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(3.746e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.25</p>
+<p> </p>
+<p>(2.358e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.134e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.08</p>
+<p> </p>
+<p>(1.227e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.203e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.203e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.21</p>
+<p> </p>
+<p>(5.021e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.83</p>
+<p> </p>
+<p>(1.176e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.155e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.930e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.72</p>
+<p> </p>
+<p>(5.243e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.73</p>
+<p> </p>
+<p>(1.106e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.798e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.89</p>
+<p> </p>
+<p>(2.236e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.41</p>
+<p> </p>
+<p>(9.006e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.380e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/f_dist.html" title="F Distribution">Fisher F Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.556e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.34</p>
+<p> </p>
+<p>(1.283e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.24</p>
+<p> </p>
+<p>(1.183e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/f_dist.html" title="F Distribution">Fisher F Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.987e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.33</p>
+<p> </p>
+<p>(9.325e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.16</p>
+<p> </p>
+<p>(2.205e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.52</p>
+<p> </p>
+<p>(6.240e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.11</p>
+<p> </p>
+<p>(1.279e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.111e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.24</p>
+<p> </p>
+<p>(2.179e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.25</p>
+<p> </p>
+<p>(1.102e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.764e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution">hypergeometric
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.60<a href="#ftn.math_toolkit.comparisons.f3" class="footnote" name="math_toolkit.comparisons.f3"><sup class="footnote">[2]</sup></a></p>
+<p> </p>
+<p>(5.987e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.665e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution">hypergeometric
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.684e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.53</p>
+<p> </p>
+<p>(2.004e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.714e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.24</p>
+<p> </p>
+<p>(8.984e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.02</p>
+<p> </p>
+<p>(2.084e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.043e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.579e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.49</p>
+<p> </p>
+<p>(5.332e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.622e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.57</p>
+<p> </p>
+<p>(1.507e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.227e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.25</p>
+<p> </p>
+<p>(1.403e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.21</p>
+<p> </p>
+<p>(1.378e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.594e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>43.43<a href="#ftn.math_toolkit.comparisons.f4" class="footnote" name="math_toolkit.comparisons.f4"><sup class="footnote">[3]</sup></a></p>
+<p> </p>
+<p>(3.732e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.48</p>
+<p> </p>
+<p>(2.994e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.16</p>
+<p> </p>
+<p>(3.926e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>79.93</p>
+<p> </p>
+<p>(1.450e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.814e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.00</p>
+<p> </p>
+<p>(3.393e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>393.90<a href="#ftn.math_toolkit.comparisons.f5" class="footnote" name="math_toolkit.comparisons.f5"><sup class="footnote">[4]</sup></a></p>
+<p> </p>
+<p>(2.673e-002s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.786e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.59</p>
+<p> </p>
+<p>(1.128e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.087e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.274e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.750e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.62</p>
+<p> </p>
+<p>(7.681e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.274e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.41</p>
+<p> </p>
+<p>(1.852e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.436e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.31</p>
+<p> </p>
+<p>(5.768e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span><a href="#ftn.math_toolkit.comparisons.f6" class="footnote" name="math_toolkit.comparisons.f6"><sup class="footnote">[5]</sup></a></p>
+<p> </p>
+<p>(4.411e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.373e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.68</p>
+<p> </p>
+<p>(1.409e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.01</p>
+<p> </p>
+<p>(5.029e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.29</p>
+<p> </p>
+<p>(1.521e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.182e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.85</p>
+<p> </p>
+<p>(1.283e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(5.193e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.98</p>
+<p> </p>
+<p>(1.314e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.410e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.203e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.20</p>
+<p> </p>
+<p>(2.642e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.86</p>
+<p> </p>
+<p>(9.457e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.655e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.06</p>
+<p> </p>
+<p>(9.166e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(8.999e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.294e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.36</p>
+<p> </p>
+<p>(3.131e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.82</p>
+<p> </p>
+<p>(1.106e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.865e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.33</p>
+<p> </p>
+<p>(4.341e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.608e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.22</p>
+<p> </p>
+<p>(4.410e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+</tbody>
+<tbody class="footnotes"><tr><td colspan="4">
+<div id="ftn.math_toolkit.comparisons.f2" class="footnote"><p><a href="#math_toolkit.comparisons.f2" class="para"><sup class="para">[1] </sup></a>
+ There are a small number of our test cases where the R library
+ fails to converge on a result: these tend to dominate the performance
+ result.
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f3" class="footnote"><p><a href="#math_toolkit.comparisons.f3" class="para"><sup class="para">[2] </sup></a>
+ This result is somewhat misleading: for small values of the parameters
+ there is virtually no difference between the two libraries, but
+ for large values the Boost implementation is <span class="emphasis"><em>much</em></span>
+ slower, albeit with much improved precision.
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f4" class="footnote"><p><a href="#math_toolkit.comparisons.f4" class="para"><sup class="para">[3] </sup></a>
+ The R library appears to use a linear-search strategy, that can
+ perform very badly in a small number of pathological cases, but
+ may or may not be more efficient in "typical" cases
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f5" class="footnote"><p><a href="#math_toolkit.comparisons.f5" class="para"><sup class="para">[4] </sup></a>
+ There are a small number of our test cases where the R library
+ fails to converge on a result: these tend to dominate the performance
+ result.
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f6" class="footnote"><p><a href="#math_toolkit.comparisons.f6" class="para"><sup class="para">[5] </sup></a>
+ There are a small number of our test cases where the R library
+ fails to converge on a result: these tend to dominate the performance
+ result.
+ </p></div>
+</td></tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h4>
+<a name="math_toolkit.comparisons.h2"></a>
+ <span class="phrase"><a name="math_toolkit.comparisons.comparison_to_the_r_statistical_"></a></span><a class="link" href="comparisons.html#math_toolkit.comparisons.comparison_to_the_r_statistical_">Comparison
+ to the R Statistical Library on Linux</a>
+ </h4>
+<p>
+ All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
+ Ubuntu Linux 9 machine, with the test program and R-2.9.2 compiled with GNU
+ G++ 4.3.3 using -O3 -DNDEBUG=1.
+ </p>
+<div class="table">
+<a name="math_toolkit.comparisons.a_comparison_to_the_r_statistic0"></a><p class="title"><b>Table&#160;15.6.&#160;A Comparison to the R Statistical Library on Linux</b></p>
+<div class="table-contents"><table class="table" summary="A Comparison to the R Statistical Library on Linux">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Statistical Function
+ </p>
+ </th>
+<th>
+ <p>
+ Boost
+ </p>
+ </th>
+<th>
+ <p>
+ R
+ </p>
+ </th>
+<th>
+ <p>
+ DCDFLIB
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.09</p>
+<p> </p>
+<p>(3.189e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.526e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.19</p>
+<p> </p>
+<p>(1.822e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.185e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>30.51<a href="#ftn.math_toolkit.comparisons.f7" class="footnote" name="math_toolkit.comparisons.f7"><sup class="footnote">[1]</sup></a></p>
+<p> </p>
+<p>(3.616e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.52</p>
+<p> </p>
+<p>(2.989e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.41</p>
+<p> </p>
+<p>(9.175e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.59</p>
+<p> </p>
+<p>(7.476e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.081e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.57</p>
+<p> </p>
+<p>(6.925e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.407e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.43</p>
+<p> </p>
+<p>(3.274e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.594e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(1.654e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.21</p>
+<p> </p>
+<p>(1.752e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.448e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.61</p>
+<p> </p>
+<p>(1.376e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.36</p>
+<p> </p>
+<p>(1.243e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.270e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.252e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.34</p>
+<p> </p>
+<p>(5.700e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.47</p>
+<p> </p>
+<p>(1.477e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.342e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.25</p>
+<p> </p>
+<p>(1.677e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.827e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.07</p>
+<p> </p>
+<p>(9.470e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/f_dist.html" title="F Distribution">Fisher F Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.62</p>
+<p> </p>
+<p>(2.324e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.19</p>
+<p> </p>
+<p>(1.711e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.437e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/f_dist.html" title="F Distribution">Fisher F Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.53</p>
+<p> </p>
+<p>(1.577e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.033e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.63</p>
+<p> </p>
+<p>(2.719e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.18</p>
+<p> </p>
+<p>(1.582e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.63</p>
+<p> </p>
+<p>(1.309e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.980e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.19</p>
+<p> </p>
+<p>(4.770e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.94</p>
+<p> </p>
+<p>(1.513e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.179e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution">hypergeometric
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.20<a href="#ftn.math_toolkit.comparisons.f8" class="footnote" name="math_toolkit.comparisons.f8"><sup class="footnote">[2]</sup></a></p>
+<p> </p>
+<p>(3.522e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.601e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution">hypergeometric
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.279e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.57</p>
+<p> </p>
+<p>(2.125e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.398e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.75</p>
+<p> </p>
+<p>(2.588e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.893e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.30</p>
+<p> </p>
+<p>(1.285e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.831e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.39</p>
+<p> </p>
+<p>(2.539e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.10</p>
+<p> </p>
+<p>(5.551e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.037e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.08</p>
+<p> </p>
+<p>(1.563e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.444e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.444e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.700e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>25.92<a href="#ftn.math_toolkit.comparisons.f9" class="footnote" name="math_toolkit.comparisons.f9"><sup class="footnote">[3]</sup></a></p>
+<p> </p>
+<p>(4.407e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.93</p>
+<p> </p>
+<p>(3.274e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.06</p>
+<p> </p>
+<p>(2.841e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>25.01</p>
+<p> </p>
+<p>(1.405e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.617e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>8.47</p>
+<p> </p>
+<p>(1.879e-003s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>144.91<a href="#ftn.math_toolkit.comparisons.f10" class="footnote" name="math_toolkit.comparisons.f10"><sup class="footnote">[4]</sup></a></p>
+<p> </p>
+<p>(3.214e-002s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.218e-004s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.33</p>
+<p> </p>
+<p>(5.868e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.42</p>
+<p> </p>
+<p>(8.058e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.682e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.64</p>
+<p> </p>
+<p>(7.869e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.63</p>
+<p> </p>
+<p>(9.256e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.396e-004s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.91</p>
+<p> </p>
+<p>(3.357e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.844e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.57</p>
+<p> </p>
+<p>(9.265e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span><a href="#ftn.math_toolkit.comparisons.f11" class="footnote" name="math_toolkit.comparisons.f11"><sup class="footnote">[5]</sup></a></p>
+<p> </p>
+<p>(5.916e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal Distribution</a>
+ CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.074e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(1.245e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.36</p>
+<p> </p>
+<p>(5.762e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal Distribution</a>
+ Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.28</p>
+<p> </p>
+<p>(1.902e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.490e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.35</p>
+<p> </p>
+<p>(1.542e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.43</p>
+<p> </p>
+<p>(1.198e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.25</p>
+<p> </p>
+<p>(1.110e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.937e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.11</p>
+<p> </p>
+<p>(3.032e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.724e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.07</p>
+<p> </p>
+<p>(1.110e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.17</p>
+<p> </p>
+<p>(2.020e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.321e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.10</p>
+<p> </p>
+<p>(1.021e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(3.972e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.364e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.89</p>
+<p> </p>
+<p>(1.308e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.662e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(3.808e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.112e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.05</p>
+<p> </p>
+<p>(4.317e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+</tbody>
+<tbody class="footnotes"><tr><td colspan="4">
+<div id="ftn.math_toolkit.comparisons.f7" class="footnote"><p><a href="#math_toolkit.comparisons.f7" class="para"><sup class="para">[1] </sup></a>
+ There are a small number of our test cases where the R library
+ fails to converge on a result: these tend to dominate the performance
+ result.
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f8" class="footnote"><p><a href="#math_toolkit.comparisons.f8" class="para"><sup class="para">[2] </sup></a>
+ This result is somewhat misleading: for small values of the parameters
+ there is virtually no difference between the two libraries, but
+ for large values the Boost implementation is <span class="emphasis"><em>much</em></span>
+ slower, albeit with much improved precision.
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f9" class="footnote"><p><a href="#math_toolkit.comparisons.f9" class="para"><sup class="para">[3] </sup></a>
+ The R library appears to use a linear-search strategy, that can
+ perform very badly in a small number of pathological cases, but
+ may or may not be more efficient in "typical" cases
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f10" class="footnote"><p><a href="#math_toolkit.comparisons.f10" class="para"><sup class="para">[4] </sup></a>
+ There are a small number of our test cases where the R library
+ fails to converge on a result: these tend to dominate the performance
+ result.
+ </p></div>
+<div id="ftn.math_toolkit.comparisons.f11" class="footnote"><p><a href="#math_toolkit.comparisons.f11" class="para"><sup class="para">[5] </sup></a>
+ There are a small number of our test cases where the R library
+ fails to converge on a result: these tend to dominate the performance
+ result.
+ </p></div>
+</td></tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuning.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/compile_time.html b/libs/math/doc/html/math_toolkit/compile_time.html
new file mode 100644
index 0000000000..d3e8cb29c4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/compile_time.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Compile time GCD and LCM determination</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="run_time.html" title="Run-time GCD &amp; LCM Determination">
+<link rel="next" href="gcd_header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run_time.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_header.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.compile_time"></a><a class="link" href="compile_time.html" title="Compile time GCD and LCM determination">Compile time GCD and LCM determination</a>
+</h2></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <a href="../../../../../boost/math/common_factor_ct.hpp" target="_top">&lt;boost/math/common_factor_ct.hpp&gt;</a>
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">static_gcd_type</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_gcd</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special">&lt;</span><span class="identifier">static_gcd_type</span><span class="special">,</span> <span class="identifier">implementation_defined</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_lcm</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special">&lt;</span><span class="identifier">static_gcd_type</span><span class="special">,</span> <span class="identifier">implementation_defined</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The type <code class="computeroutput"><span class="identifier">static_gcd_type</span></code> is
+ the widest unsigned-integer-type that is supported for use in integral-constant-expressions
+ by the compiler. Usually this the same type as <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span></code>,
+ but may fall back to being <code class="computeroutput"><span class="keyword">unsigned</span>
+ <span class="keyword">long</span></code> for some older compilers.
+ </p>
+<p>
+ The boost::math::static_gcd and boost::math::static_lcm class templates take
+ two value-based template parameters of the <span class="emphasis"><em>static_gcd_type</em></span>
+ type and inherit from the type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span></code>. Inherited from the base class,
+ they have a member <span class="emphasis"><em>value</em></span> that is the greatest common factor
+ or least common multiple, respectively, of the template arguments. A compile-time
+ error will occur if the least common multiple is beyond the range of <code class="computeroutput"><span class="identifier">static_gcd_type</span></code>.
+ </p>
+<h4>
+<a name="math_toolkit.compile_time.h0"></a>
+ <span class="phrase"><a name="math_toolkit.compile_time.example"></a></span><a class="link" href="compile_time.html#math_toolkit.compile_time.example">Example</a>
+ </h4>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">common_factor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The GCD and LCM of 6 and 15 are "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", respectively."</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The GCD and LCM of 8 and 9 are "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_gcd</span><span class="special">&lt;</span><span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">&gt;::</span><span class="identifier">value</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_lcm</span><span class="special">&lt;</span><span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">&gt;::</span><span class="identifier">value</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", respectively."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">a</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span> <span class="special">},</span> <span class="identifier">b</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span> <span class="special">},</span> <span class="identifier">c</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">transform</span><span class="special">(</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">a</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd_evaluator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;()</span> <span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">c</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">" "</span><span class="special">)</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run_time.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_header.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/compilers_overview.html b/libs/math/doc/html/math_toolkit/compilers_overview.html
new file mode 100644
index 0000000000..3ec87c3256
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/compilers_overview.html
@@ -0,0 +1,683 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Compilers</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="error_handling.html" title="Error Handling">
+<link rel="next" href="config_macros.html" title="Configuration Macros">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_handling.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="config_macros.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.compilers_overview"></a><a class="link" href="compilers_overview.html" title="Compilers">Compilers</a>
+</h2></div></div></div>
+<p>
+ This section contains some information about how various compilers work with
+ this library. It is not comprehensive and updated experiences are always welcome.
+ Some effort has been made to suppress unhelpful warnings but it is difficult
+ to achieve this on all systems.
+ </p>
+<div class="table">
+<a name="math_toolkit.compilers_overview.supported_tested_compilers"></a><p class="title"><b>Table&#160;1.9.&#160;Supported/Tested Compilers</b></p>
+<div class="table-contents"><table class="table" summary="Supported/Tested Compilers">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Platform
+ </p>
+ </th>
+<th>
+ <p>
+ Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Has long double support
+ </p>
+ </th>
+<th>
+ <p>
+ Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Windows
+ </p>
+ </td>
+<td>
+ <p>
+ MSVC 7.1 and later
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ We aim to keep our headers warning free at level 4 with this compiler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Windows
+ </p>
+ </td>
+<td>
+ <p>
+ Intel 8.1 and later
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ We aim to keep our headers warning free at level 4 with this compiler.
+ However, The tests cases tend to generate a lot of warnings relating
+ to numeric underflow of the test data: these are harmless.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Windows
+ </p>
+ </td>
+<td>
+ <p>
+ GNU Mingw32 C++
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ We aim to keep our headers warning free with -Wall with this compiler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Windows
+ </p>
+ </td>
+<td>
+ <p>
+ GNU Cygwin C++
+ </p>
+ </td>
+<td>
+ <p>
+ No
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ We aim to keep our headers warning free with -Wall with this compiler.
+ </p>
+ <p>
+ Long double support has been disabled because there are no native
+ long double C std library functions available.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Windows
+ </p>
+ </td>
+<td>
+ <p>
+ Borland C++ 5.8.2 (Developer studio 2006)
+ </p>
+ </td>
+<td>
+ <p>
+ No
+ </p>
+ </td>
+<td>
+ <p>
+ We have only partial compatability with this compiler:
+ </p>
+ <p>
+ Long double support has been disabled because the native long double
+ C standard library functions really only forward to the double versions.
+ This can result in unpredictable behaviour when using the long double
+ overloads: for example <code class="computeroutput"><span class="identifier">sqrtl</span></code>
+ applied to a finite value, can result in an infinite result.
+ </p>
+ <p>
+ Some functions still fail to compile, there are no known workarounds
+ at present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Windows 7/Netbeans 7.2
+ </p>
+ </td>
+<td>
+ <p>
+ Clang 3.1
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ Spot examples OK. Expect all tests to compile and run OK.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Linux
+ </p>
+ </td>
+<td>
+ <p>
+ GNU C++ 3.4 and later
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ We aim to keep our headers warning free with -Wall with this compiler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Linux
+ </p>
+ </td>
+<td>
+ <p>
+ Clang 3.2
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Linux
+ </p>
+ </td>
+<td>
+ <p>
+ Intel C++ 10.0 and later
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ We aim to keep our headers warning free with -Wall with this compiler.
+ However, The tests cases tend to generate a lot of warnings relating
+ to numeric underflow of the test data: these are harmless.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Linux
+ </p>
+ </td>
+<td>
+ <p>
+ Intel C++ 8.1 and 9.1
+ </p>
+ </td>
+<td>
+ <p>
+ No
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ Long double support has been disabled with these compiler releases
+ because calling the standard library long double math functions can
+ result in a segfault. The issue is Linux distribution and glibc version
+ specific and is Intel bug report #409291. Fully up to date releases
+ of Intel 9.1 (post version l_cc_c_9.1.046) shouldn't have this problem.
+ If you need long double support with this compiler, then comment
+ out the define of BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS at line
+ 55 of <a href="../../../../../boost/math/tools/config.hpp" target="_top">boost/math/tools/config.hpp</a>.
+ </p>
+ <p>
+ We aim to keep our headers warning free with -Wall with this compiler.
+ However, The tests cases tend to generate a lot of warnings relating
+ to numeric underflow of the test data: these are harmless.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Linux
+ </p>
+ </td>
+<td>
+ <p>
+ QLogic PathScale 3.0
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ Some tests involving conceptual checks fail to build, otherwise there
+ appear to be no issues.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Linux
+ </p>
+ </td>
+<td>
+ <p>
+ Sun Studio 12
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ Some tests involving function overload resolution fail to build,
+ these issues should be rairly encountered in practice.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Solaris
+ </p>
+ </td>
+<td>
+ <p>
+ Sun Studio 12
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ Some tests involving function overload resolution fail to build,
+ these issues should be rairly encountered in practice.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Solaris
+ </p>
+ </td>
+<td>
+ <p>
+ GNU C++ 4.x
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ We aim to keep our headers warning free with -Wall with this compiler.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ HP Tru64
+ </p>
+ </td>
+<td>
+ <p>
+ Compaq C++ 7.1
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ HP-UX Itanium
+ </p>
+ </td>
+<td>
+ <p>
+ HP aCC 6.x
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ Unfortunately this compiler emits quite a few warnings from libraries
+ upon which we depend (TR1, Array etc).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ HP-UX PA-RISC
+ </p>
+ </td>
+<td>
+ <p>
+ GNU C++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ No
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Apple Mac OS X, Intel
+ </p>
+ </td>
+<td>
+ <p>
+ Darwin/GNU C++ 4.x
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Apple Mac OS X, PowerPC
+ </p>
+ </td>
+<td>
+ <p>
+ Darwin/GNU C++ 4.x
+ </p>
+ </td>
+<td>
+ <p>
+ No
+ </p>
+ </td>
+<td>
+ <p>
+ All tests OK.
+ </p>
+ <p>
+ Long double support has been disabled on this platform due to the
+ rather strange nature of Darwin's 106-bit long double implementation.
+ It should be possible to make this work if someone is prepared to
+ offer assistance.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Apple Mac OS X,
+ </p>
+ </td>
+<td>
+ <p>
+ Clang 3.2
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests expected to be OK.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ IBM AIX
+ </p>
+ </td>
+<td>
+ <p>
+ IBM xlc 5.3
+ </p>
+ </td>
+<td>
+ <p>
+ Yes
+ </p>
+ </td>
+<td>
+ <p>
+ All tests pass except for our fpclassify tests which fail due to
+ a bug in <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>, the bug effects
+ the test code, not fpclassify itself. The IBM compiler group are
+ aware of the problem.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.compilers_overview.unsupported_compilers"></a><p class="title"><b>Table&#160;1.10.&#160;Unsupported Compilers</b></p>
+<div class="table-contents"><table class="table" summary="Unsupported Compilers">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Platform
+ </p>
+ </th>
+<th>
+ <p>
+ Compiler
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Windows
+ </p>
+ </td>
+<td>
+ <p>
+ Borland C++ 5.9.2 (Borland Developer Studio 2007)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Windows
+ </p>
+ </td>
+<td>
+ <p>
+ MSVC 6 and 7
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ If your compiler or platform is not listed above, please try running the regression
+ tests: cd into boost-root/libs/math/test and do a:
+ </p>
+<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">mytoolset</span>
+</pre>
+<p>
+ where "mytoolset" is the name of the <a href="http://www.boost.org/doc/html/bbv2.html" target="_top">Boost.Build</a>
+ toolset used for your compiler. The chances are that <span class="bold"><strong>many
+ of the accuracy tests will fail at this stage</strong></span> - don't panic - the
+ default acceptable error tolerances are quite tight, especially for long double
+ types with an extended exponent range (these cause more extreme test cases
+ to be executed for some functions). You will need to cast an eye over the output
+ from the failing tests and make a judgement as to whether the error rates are
+ acceptable or not.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_handling.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="config_macros.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/complex_history.html b/libs/math/doc/html/math_toolkit/complex_history.html
new file mode 100644
index 0000000000..eeaba48e33
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/complex_history.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="atanh.html" title="atanh">
+<link rel="next" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="atanh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../quaternions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.complex_history"></a><a class="link" href="complex_history.html" title="History">History</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ 2005/12/17: Added support for platforms with no meaningful numeric_limits&lt;&gt;::infinity().
+ </li>
+<li class="listitem">
+ 2005/12/01: Initial version, added as part of the TR1 library.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="atanh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../quaternions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/complex_implementation.html b/libs/math/doc/html/math_toolkit/complex_implementation.html
new file mode 100644
index 0000000000..d4c59ffbcd
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/complex_implementation.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Implementation and Accuracy</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="prev" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+<link rel="next" href="asin.html" title="asin">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../inverse_complex.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asin.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.complex_implementation"></a><a class="link" href="complex_implementation.html" title="Implementation and Accuracy">Implementation and
+ Accuracy</a>
+</h2></div></div></div>
+<p>
+ Although there are deceptively simple formulae available for all of these functions,
+ a naive implementation that used these formulae would fail catastrophically
+ for some input values. The Boost versions of these functions have been implemented
+ using the methodology described in "Implementing the Complex Arcsine and
+ Arccosine Functions Using Exception Handling" by T. E. Hull Thomas F.
+ Fairgrieve and Ping Tak Peter Tang, ACM Transactions on Mathematical Software,
+ Vol. 23, No. 3, September 1997. This means that the functions are well defined
+ over the entire complex number range, and produce accurate values even at the
+ extremes of that range, where as a naive formula would cause overflow or underflow
+ to occur during the calculation, even though the result is actually a representable
+ value. The maximum theoretical relative error for all of these functions is
+ less than 9.5&#949; for every machine-representable point in the complex plane. Please
+ refer to comments in the header files themselves and to the above mentioned
+ paper for more information on the implementation methodology.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../inverse_complex.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asin.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/concepts.html b/libs/math/doc/html/math_toolkit/concepts.html
new file mode 100644
index 0000000000..bbc7e5460b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/concepts.html
@@ -0,0 +1,1370 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Conceptual Requirements for Real Number Types</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../using_udt.html" title="Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and others">
+<link rel="prev" href="high_precision/using_test.html" title="Using without expression templates for Boost.Test and others">
+<link rel="next" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="high_precision/using_test.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_concept.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.concepts"></a><a class="link" href="concepts.html" title="Conceptual Requirements for Real Number Types">Conceptual Requirements for Real
+ Number Types</a>
+</h2></div></div></div>
+<p>
+ The functions, and statistical distributions in this library can be used with
+ any type <span class="emphasis"><em>RealType</em></span> that meets the conceptual requirements
+ given below. All the built-in floating-point types will meet these requirements.
+ User-defined types that meet the requirements can also be used.
+ </p>
+<p>
+ For example, with <a class="link" href="high_precision/use_ntl.html" title="Using NTL Library">a thin
+ wrapper class</a> one of the types provided with <a href="http://shoup.net/ntl/" target="_top">NTL
+ (RR)</a> can be used. But now that <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ library is available, this has become the reference real number type.
+ </p>
+<p>
+ Submissions of binding to other extended precision types would also still be
+ welcome.
+ </p>
+<p>
+ The guiding principal behind these requirements is that a <span class="emphasis"><em>RealType</em></span>
+ behaves just like a built-in floating-point type.
+ </p>
+<h5>
+<a name="math_toolkit.concepts.h0"></a>
+ <span class="phrase"><a name="math_toolkit.concepts.basic_arithmetic_requirements"></a></span><a class="link" href="concepts.html#math_toolkit.concepts.basic_arithmetic_requirements">Basic
+ Arithmetic Requirements</a>
+ </h5>
+<p>
+ These requirements are common to all of the functions in this library.
+ </p>
+<p>
+ In the following table <span class="emphasis"><em>r</em></span> is an object of type <code class="computeroutput"><span class="identifier">RealType</span></code>, <span class="emphasis"><em>cr</em></span> and <span class="emphasis"><em>cr2</em></span>
+ are objects of type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">RealType</span></code>,
+ and <span class="emphasis"><em>ca</em></span> is an object of type <code class="computeroutput"><span class="keyword">const</span>
+ <span class="identifier">arithmetic</span><span class="special">-</span><span class="identifier">type</span></code> (arithmetic types include all the built
+ in integers and floating point types).
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Result Type
+ </p>
+ </th>
+<th>
+ <p>
+ Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">RealType</span><span class="special">(</span><span class="identifier">cr</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ RealType is copy constructible.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">RealType</span><span class="special">(</span><span class="identifier">ca</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ RealType is copy constructible from the arithmetic types.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Assignment operator.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Assignment operator from the arithmetic types.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">+=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Adds cr to r.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">+=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Adds ar to r.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">-=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Subtracts cr from r.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">-=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Subtracts ca from r.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">*=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Multiplies r by cr.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">*=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Multiplies r by ca.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">/=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Divides r by cr.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">/=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Divides r by ca.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">-</span><span class="identifier">r</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Unary Negation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">+</span><span class="identifier">r</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Identity Operation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">+</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Addition
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">+</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Addition
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">+</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Addition
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">-</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Subtraction
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">-</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Subtraction
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">-</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Subtraction
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">*</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Multiplication
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">*</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Multiplication
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">*</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Multiplication
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">/</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Subtraction
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">/</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Subtraction
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">/</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Binary Subtraction
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">==</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Equality Comparison
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">==</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Equality Comparison
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">==</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Equality Comparison
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">!=</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Inequality Comparison
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">!=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Inequality Comparison
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">!=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Inequality Comparison
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;=</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Less than equal to.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Less than equal to.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&lt;=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Less than equal to.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;=</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Greater than equal to.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;=</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Greater than equal to.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&gt;=</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Greater than equal to.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Less than comparison.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Less than comparison.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&lt;</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Less than comparison.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;</span>
+ <span class="identifier">cr2</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Greater than comparison.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;</span>
+ <span class="identifier">ca</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Greater than comparison.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&gt;</span>
+ <span class="identifier">cr</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Greater than comparison.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ int
+ </p>
+ </td>
+<td>
+ <p>
+ The number of digits in the significand of RealType.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">max_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ The largest representable number by type RealType.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">min_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ The smallest representable number by type RealType.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">log_max_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ The natural logarithm of the largest representable number by type
+ RealType.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">log_min_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ The natural logarithm of the smallest representable number by type
+ RealType.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">epsilon</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ The machine epsilon of RealType.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Note that:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ The functions <code class="computeroutput"><span class="identifier">log_max_value</span></code>
+ and <code class="computeroutput"><span class="identifier">log_min_value</span></code> can be
+ synthesised from the others, and so no explicit specialisation is required.
+ </li>
+<li class="listitem">
+ The function <code class="computeroutput"><span class="identifier">epsilon</span></code> can
+ be synthesised from the others, so no explicit specialisation is required
+ provided the precision of RealType does not vary at runtime (see the header
+ <a href="../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>
+ for an example where the precision does vary at runtime).
+ </li>
+<li class="listitem">
+ The functions <code class="computeroutput"><span class="identifier">digits</span></code>,
+ <code class="computeroutput"><span class="identifier">max_value</span></code> and <code class="computeroutput"><span class="identifier">min_value</span></code>, all get synthesised automatically
+ from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>. However, if <code class="computeroutput"><span class="identifier">numeric_limits</span></code> is not specialised for
+ type RealType, then you will get a compiler error when code tries to use
+ these functions, <span class="emphasis"><em>unless</em></span> you explicitly specialise
+ them. For example if the precision of RealType varies at runtime, then
+ <code class="computeroutput"><span class="identifier">numeric_limits</span></code> support
+ may not be appropriate, see <a href="../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>
+ for examples.
+ </li>
+</ol></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ If <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;</span></code>
+ is <span class="bold"><strong>not specialized</strong></span> for type <span class="emphasis"><em>RealType</em></span>
+ then the default float precision of 6 decimal digits will be used by other
+ Boost programs including:
+ </p>
+<p>
+ Boost.Test: giving misleading error messages like
+ </p>
+<p>
+ <span class="emphasis"><em>"difference between {9.79796} and {9.79796} exceeds 5.42101e-19%".</em></span>
+ </p>
+<p>
+ Boost.LexicalCast and Boost.Serialization when converting the number to a
+ string, causing potentially serious loss of accuracy on output.
+ </p>
+<p>
+ Although it might seem obvious that RealType should require <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>
+ to be specialized, this is not sensible for <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> and
+ similar classes where the number of digits is a runtime parameter (where
+ as for <code class="computeroutput"><span class="identifier">numeric_limits</span></code> it
+ has to be fixed at compile time).
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.concepts.h1"></a>
+ <span class="phrase"><a name="math_toolkit.concepts.standard_library_support_require"></a></span><a class="link" href="concepts.html#math_toolkit.concepts.standard_library_support_require">Standard Library
+ Support Requirements</a>
+ </h5>
+<p>
+ Many (though not all) of the functions in this library make calls to standard
+ library functions, the following table summarises the requirements. Note that
+ most of the functions in this library will only call a small subset of the
+ functions listed here, so if in doubt whether a user defined type has enough
+ standard library support to be useable the best advise is to try it and see!
+ </p>
+<p>
+ In the following table <span class="emphasis"><em>r</em></span> is an object of type <code class="computeroutput"><span class="identifier">RealType</span></code>, <span class="emphasis"><em>cr1</em></span> and <span class="emphasis"><em>cr2</em></span>
+ are objects of type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">RealType</span></code>,
+ and <span class="emphasis"><em>i</em></span> is an object of type <code class="computeroutput"><span class="keyword">int</span></code>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Result Type
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">exp</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pow</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">,</span>
+ <span class="identifier">cr2</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">frexp</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">,</span>
+ <span class="special">&amp;</span><span class="identifier">i</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ldexp</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">cos</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sin</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">asin</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tan</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">atan</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fmod</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">round</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">iround</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ int
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">trunc</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">itrunc</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ int
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Note that the table above lists only those standard library functions known
+ to be used (or likely to be used in the near future) by this library. The following
+ functions: <code class="computeroutput"><span class="identifier">acos</span></code>, <code class="computeroutput"><span class="identifier">atan2</span></code>, <code class="computeroutput"><span class="identifier">fmod</span></code>,
+ <code class="computeroutput"><span class="identifier">cosh</span></code>, <code class="computeroutput"><span class="identifier">sinh</span></code>,
+ <code class="computeroutput"><span class="identifier">tanh</span></code>, <code class="computeroutput"><span class="identifier">log10</span></code>,
+ <code class="computeroutput"><span class="identifier">lround</span></code>, <code class="computeroutput"><span class="identifier">llround</span></code>,
+ <code class="computeroutput"><span class="identifier">ltrunc</span></code>, <code class="computeroutput"><span class="identifier">lltrunc</span></code>
+ and <code class="computeroutput"><span class="identifier">modf</span></code> are not currently
+ used, but may be if further special functions are added.
+ </p>
+<p>
+ Note that the <code class="computeroutput"><span class="identifier">round</span></code>, <code class="computeroutput"><span class="identifier">trunc</span></code> and <code class="computeroutput"><span class="identifier">modf</span></code>
+ functions are not part of the current C++ standard: they are part of the additions
+ added to C99 which will likely be in the next C++ standard. There are Boost
+ versions of these provided as a backup, and the functions are always called
+ unqualified so that argument-dependent-lookup can take place.
+ </p>
+<p>
+ In addition, for efficient and accurate results, a <a class="link" href="lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> is highly desirable. You may be able to adapt an existing
+ approximation from <a href="../../../../../boost/math/special_functions/lanczos.hpp" target="_top">boost/math/special_functions/lanczos.hpp</a>
+ or <a href="../../../../../boost/math/bindings/detail/big_lanczos.hpp" target="_top">boost/math/bindings/detail/big_lanczos.hpp</a>:
+ in the former case you will need change static_cast's to lexical_cast's, and
+ the constants to <span class="emphasis"><em>strings</em></span> (in order to ensure the coefficients
+ aren't truncated to long double) and then specialise <code class="computeroutput"><span class="identifier">lanczos_traits</span></code>
+ for type T. Otherwise you may have to hack <a href="../../../tools/lanczos_generator.cpp" target="_top">libs/math/tools/lanczos_generator.cpp</a>
+ to find a suitable approximation for your RealType. The code will still compile
+ if you don't do this, but both accuracy and efficiency will be greatly compromised
+ in any function that makes use of the gamma/beta/erf family of functions.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="high_precision/using_test.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_concept.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/config_macros.html b/libs/math/doc/html/math_toolkit/config_macros.html
new file mode 100644
index 0000000000..73440e7b98
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/config_macros.html
@@ -0,0 +1,383 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Configuration Macros</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="compilers_overview.html" title="Compilers">
+<link rel="next" href="intro_pol_overview.html" title="Policies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compilers_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intro_pol_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.config_macros"></a><a class="link" href="config_macros.html" title="Configuration Macros">Configuration Macros</a>
+</h2></div></div></div>
+<p>
+ Almost all configuration details are set up automatically by <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">tools</span><span class="special">\</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ In normal use, only policy configuration macros are likely to be used. See
+ <a class="link" href="pol_ref.html" title="Policy Reference">policy reference</a>.
+ </p>
+<p>
+ For reference, information on Boost.Math macros used internally are described
+ briefly below.
+ </p>
+<div class="table">
+<a name="math_toolkit.config_macros.boost_math_macros"></a><p class="title"><b>Table&#160;1.11.&#160;Boost.Math Macros</b></p>
+<div class="table-contents"><table class="table" summary="Boost.Math Macros">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ MACRO
+ </p>
+ </th>
+<th>
+ <p>
+ Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Do not produce or use long double functions: this macro gets set
+ when the platform's long double or standard library long double support
+ is absent or buggy.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_USE_FLOAT128</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ When set the numeric constants support the <code class="computeroutput"><span class="identifier">__float128</span></code>
+ data type with constants having the <code class="computeroutput"><span class="identifier">Q</span></code>
+ suffix.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_DISABLE_FLOAT128</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ When set the numeric constants do not use the <code class="computeroutput"><span class="identifier">__float128</span></code>
+ data type even if the compiler appears to support it.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Do not try to use real concept tests (hardware or software does not
+ support real_concept type).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_CONTROL_FP</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Controls FP hardware exceptions - our tests don't support hardware
+ exceptions on MSVC. May get set to something like: <code class="computeroutput"> <span class="identifier">_control87</span><span class="special">(</span><span class="identifier">MCW_EM</span><span class="special">,</span><span class="identifier">MCW_EM</span><span class="special">)</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ This macro is used by our test cases, it is set when an assignment
+ of a function template to a function pointer requires explicit template
+ arguments to be provided on the function name.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_USE_C99</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Use C99 math functions.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ define if no native (or buggy) <code class="computeroutput"><span class="identifier">fpclassify</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">)</span></code>
+ even though the other C99 functions are present.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_SMALL_CONSTANT</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Helper macro used in our test cases to set underflowing constants
+ set to zero if this would cause compiler issues.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Set if constants too large for a float, will cause "bad"
+ values to be stored in the data, rather than infinity or a suitably
+ large value.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_STD_USING</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Provides <code class="computeroutput"><span class="keyword">using</span></code> statements
+ for many std:: (abs to sqrt) and boost::math (rounds, modf) functions.
+ This allows these functions to be called unqualified so that if
+ <a href="http://en.wikipedia.org/wiki/Argument-dependent_name_lookup" target="_top">argument-dependent
+ Argument Dependent Lookup</a> fails to find a suitable overload,
+ then the std:: versions will also be considered.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_FPU_EXCEPTION_GUARD</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Used at the entrypoint to each special function to reset all FPU
+ exception flags prior to internal calculations, and then merge the
+ old and new exception flags on function exit. Used as a workaround
+ on platforms or hardware that behave strangely if any FPU exception
+ flags are set when calling standard library functions.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Define to output diagnostics for math functions. This is rather 'global'
+ to Boost.Math and so coarse-grained that it will probably produce
+ copious output! (Especially because full precision values are output).
+ Designed primarily for internal use and development.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_CODE</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Output selected named variable, for example <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_CODE</span><span class="special">(</span><span class="string">"guess = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">guess</span><span class="special">)</span></code>; Used by <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_VARIABLE</span><span class="special">(</span><span class="identifier">name</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Output selected variable, for example <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_VARIABLE</span><span class="special">(</span><span class="identifier">result</span><span class="special">);</span></code> Used by <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_FPU</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Output the state of the FPU's control flags.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.config_macros.boost_math_tuning"></a><p class="title"><b>Table&#160;1.12.&#160;Boost.Math Tuning</b></p>
+<div class="table-contents"><table class="table" summary="Boost.Math Tuning">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Macros for Tuning performance options for specific compilers
+ </p>
+ </th>
+<th>
+ <p>
+ Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See the <a class="link" href="tuning.html" title="Performance Tuning Macros">performance tuning section</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See the <a class="link" href="tuning.html" title="Performance Tuning Macros">performance tuning section</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See the <a class="link" href="tuning.html" title="Performance Tuning Macros">performance tuning section</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_INT_TABLE_TYPE</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See the <a class="link" href="tuning.html" title="Performance Tuning Macros">performance tuning section</a>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_INT_VALUE_SUFFIX</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Helper macro for appending the correct suffix to integer constants
+ which may actually be stored as reals depending on the value of BOOST_MATH_INT_TABLE_TYPE.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compilers_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intro_pol_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/constants.html b/libs/math/doc/html/math_toolkit/constants.html
new file mode 100644
index 0000000000..35a1a552e0
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/constants.html
@@ -0,0 +1,1490 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Mathematical Constants</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants">
+<link rel="prev" href="tutorial/user_def.html" title="Use With User-Defined Types">
+<link rel="next" href="new_const.html" title="Defining New Constants">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/user_def.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="new_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.constants"></a><a class="link" href="constants.html" title="The Mathematical Constants">The Mathematical Constants</a>
+</h2></div></div></div>
+<p>
+ This section lists the mathematical constants, their use(s) (and sometimes
+ rationale for their inclusion).
+ </p>
+<div class="table">
+<a name="math_toolkit.constants.mathematical_constants"></a><p class="title"><b>Table&#160;4.1.&#160;Mathematical Constants</b></p>
+<div class="table-contents"><table class="table" summary="Mathematical Constants">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ formula
+ </p>
+ </th>
+<th>
+ <p>
+ Value (6 decimals)
+ </p>
+ </th>
+<th>
+ <p>
+ Uses and Rationale
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Rational fractions</strong></span>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ half
+ </p>
+ </td>
+<td>
+ <p>
+ 1/2
+ </p>
+ </td>
+<td>
+ <p>
+ 0.5
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ third
+ </p>
+ </td>
+<td>
+ <p>
+ 1/3
+ </p>
+ </td>
+<td>
+ <p>
+ 0.333333
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ two_thirds
+ </p>
+ </td>
+<td>
+ <p>
+ 2/3
+ </p>
+ </td>
+<td>
+ <p>
+ 0.66667
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ three_quarters
+ </p>
+ </td>
+<td>
+ <p>
+ 3/4
+ </p>
+ </td>
+<td>
+ <p>
+ 0.75
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>two and related</strong></span>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_two
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;2
+ </p>
+ </td>
+<td>
+ <p>
+ 1.41421
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_three
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;3
+ </p>
+ </td>
+<td>
+ <p>
+ 1.73205
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ half_root_two
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;2 /2
+ </p>
+ </td>
+<td>
+ <p>
+ 0.707106
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ln_two
+ </p>
+ </td>
+<td>
+ <p>
+ ln(2)
+ </p>
+ </td>
+<td>
+ <p>
+ 0.693147
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ln_ten
+ </p>
+ </td>
+<td>
+ <p>
+ ln(10)
+ </p>
+ </td>
+<td>
+ <p>
+ 2.30258
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ln_ln_two
+ </p>
+ </td>
+<td>
+ <p>
+ ln(ln(2))
+ </p>
+ </td>
+<td>
+ <p>
+ -0.366512
+ </p>
+ </td>
+<td>
+ <p>
+ Gumbel distribution median
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_ln_four
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;ln(4)
+ </p>
+ </td>
+<td>
+ <p>
+ 1.177410
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_root_two
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#8730;2
+ </p>
+ </td>
+<td>
+ <p>
+ 0.707106
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>&#960; and related</strong></span>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pi
+ </p>
+ </td>
+<td>
+ <p>
+ pi
+ </p>
+ </td>
+<td>
+ <p>
+ 3.14159
+ </p>
+ </td>
+<td>
+ <p>
+ Ubiquitous. Archimedes constant <a href="http://en.wikipedia.org/wiki/Pi" target="_top">&#960;</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ half_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;/2
+ </p>
+ </td>
+<td>
+ <p>
+ 1.570796
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ third_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;/3
+ </p>
+ </td>
+<td>
+ <p>
+ 1.04719
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sixth_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;/6
+ </p>
+ </td>
+<td>
+ <p>
+ 0.523598
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ two_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 2&#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 6.28318
+ </p>
+ </td>
+<td>
+ <p>
+ Many uses, most simply, circumference of a circle
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ two_thirds_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 2/3 &#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 2.09439
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere" target="_top">volume
+ of a hemi-sphere</a> = 4/3 &#960; r&#179;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ three_quarters_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 3/4 &#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 2.35619
+ </p>
+ </td>
+<td>
+ <p>
+ = 3/4 &#960;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ four_thirds_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 4/3 &#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 4.18879
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere" target="_top">volume
+ of a sphere</a> = 4/3 &#960; r&#179;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_two_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 1/(2&#960;)
+ </p>
+ </td>
+<td>
+ <p>
+ 1.59155
+ </p>
+ </td>
+<td>
+ <p>
+ Widely used
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;&#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 1.77245
+ </p>
+ </td>
+<td>
+ <p>
+ Widely used
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_half_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730; &#960;/2
+ </p>
+ </td>
+<td>
+ <p>
+ 1.25331
+ </p>
+ </td>
+<td>
+ <p>
+ Widely used
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_two_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730; &#960;*2
+ </p>
+ </td>
+<td>
+ <p>
+ 2.50662
+ </p>
+ </td>
+<td>
+ <p>
+ Widely used
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_root_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#8730;&#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 0.564189
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_root_two_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#8730;(2&#960;)
+ </p>
+ </td>
+<td>
+ <p>
+ 0.398942
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_one_div_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;(1/&#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 0.564189
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pi_minus_three
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;-3
+ </p>
+ </td>
+<td>
+ <p>
+ 0.141593
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ four_minus_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 4 -&#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 0.858407
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pi_pow_e
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;<sup>e</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 22.4591
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pi_sqr
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;<sup>2</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 9.86960
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pi_sqr_div_six
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;<sup>2</sup>/6
+ </p>
+ </td>
+<td>
+ <p>
+ 1.64493
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pi_cubed
+ </p>
+ </td>
+<td>
+ <p>
+ &#960;<sup>3</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 31.00627
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cbrt_pi
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;<sup>3</sup> &#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 1.46459
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_cbrt_pi
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#8730;<sup>3</sup> &#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 0.682784
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Euler's e and related</strong></span>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ e
+ </p>
+ </td>
+<td>
+ <p>
+ e
+ </p>
+ </td>
+<td>
+ <p>
+ 2.71828
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/E_(mathematical_constant)" target="_top">Euler's
+ constant e</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ exp_minus_half
+ </p>
+ </td>
+<td>
+ <p>
+ e <sup>-1/2</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.606530
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ e_pow_pi
+ </p>
+ </td>
+<td>
+ <p>
+ e <sup>&#960;</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 23.14069
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ root_e
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730; e
+ </p>
+ </td>
+<td>
+ <p>
+ 1.64872
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ log10_e
+ </p>
+ </td>
+<td>
+ <p>
+ log10(e)
+ </p>
+ </td>
+<td>
+ <p>
+ 0.434294
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_log10_e
+ </p>
+ </td>
+<td>
+ <p>
+ 1/log10(e)
+ </p>
+ </td>
+<td>
+ <p>
+ 2.30258
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Trigonometric</strong></span>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ degree
+ </p>
+ </td>
+<td>
+ <p>
+ radians = &#960; / 180
+ </p>
+ </td>
+<td>
+ <p>
+ 0.017453
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ radian
+ </p>
+ </td>
+<td>
+ <p>
+ degrees = 180 / &#960;
+ </p>
+ </td>
+<td>
+ <p>
+ 57.2957
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sin_one
+ </p>
+ </td>
+<td>
+ <p>
+ sin(1)
+ </p>
+ </td>
+<td>
+ <p>
+ 0.841470
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cos_one
+ </p>
+ </td>
+<td>
+ <p>
+ cos(1)
+ </p>
+ </td>
+<td>
+ <p>
+ 0.54030
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ sinh_one
+ </p>
+ </td>
+<td>
+ <p>
+ sinh(1)
+ </p>
+ </td>
+<td>
+ <p>
+ 1.17520
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cosh_one
+ </p>
+ </td>
+<td>
+ <p>
+ cosh(1)
+ </p>
+ </td>
+<td>
+ <p>
+ 1.54308
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Phi</strong></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Phidias golden ratio
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/Golden_ratio" target="_top">Phidias golden
+ ratio</a>
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ phi
+ </p>
+ </td>
+<td>
+ <p>
+ (1 + &#8730;5) /2
+ </p>
+ </td>
+<td>
+ <p>
+ 1.61803
+ </p>
+ </td>
+<td>
+ <p>
+ finance
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ln_phi
+ </p>
+ </td>
+<td>
+ <p>
+ ln(&#966;)
+ </p>
+ </td>
+<td>
+ <p>
+ 0.48121
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_ln_phi
+ </p>
+ </td>
+<td>
+ <p>
+ 1/ln(&#966;)
+ </p>
+ </td>
+<td>
+ <p>
+ 2.07808
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Euler's Gamma</strong></span>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ euler
+ </p>
+ </td>
+<td>
+ <p>
+ euler
+ </p>
+ </td>
+<td>
+ <p>
+ 0.577215
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant" target="_top">Euler-Mascheroni
+ gamma constant</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ one_div_euler
+ </p>
+ </td>
+<td>
+ <p>
+ 1/euler
+ </p>
+ </td>
+<td>
+ <p>
+ 1.73245
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ euler_sqr
+ </p>
+ </td>
+<td>
+ <p>
+ euler<sup>2</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.333177
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="bold"><strong>Misc</strong></span>
+ </p>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ zeta_two
+ </p>
+ </td>
+<td>
+ <p>
+ &#950;(2)
+ </p>
+ </td>
+<td>
+ <p>
+ 1.64493
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/Riemann_zeta_function" target="_top">Riemann
+ zeta function</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ zeta_three
+ </p>
+ </td>
+<td>
+ <p>
+ &#950;(3)
+ </p>
+ </td>
+<td>
+ <p>
+ 1.20205
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/Riemann_zeta_function" target="_top">Riemann
+ zeta function</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ catalan
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>K</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.915965
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://mathworld.wolfram.com/CatalansConstant.html" target="_top">Catalan
+ (or Glaisher) combinatorial constant</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ glaisher
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>A</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.28242
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="https://oeis.org/A074962/constant" target="_top">Decimal expansion
+ of Glaisher-Kinkelin constant</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ khinchin
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>k</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ 2.685452
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="https://oeis.org/A002210/constant" target="_top">Decimal expansion
+ of Khinchin constant</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ extreme_value_skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 12&#8730;6 &#950;(3)/ &#960;<sup>3</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 1.139547
+ </p>
+ </td>
+<td>
+ <p>
+ Extreme value distribution
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ rayleigh_skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 2&#8730;&#960;(&#960;-3)/(4 - &#960;)<sup>3/2</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.631110
+ </p>
+ </td>
+<td>
+ <p>
+ Rayleigh distribution skewness
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ rayleigh_kurtosis_excess
+ </p>
+ </td>
+<td>
+ <p>
+ -(6&#960;<sup>2</sup>-24&#960;+16)/(4-&#960;)<sup>2</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 0.245089
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
+ distribution kurtosis excess</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ rayleigh_kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 3+(6&#960;<sup>2</sup>-24&#960;+16)/(4-&#960;)<sup>2</sup>
+ </p>
+ </td>
+<td>
+ <p>
+ 3.245089
+ </p>
+ </td>
+<td>
+ <p>
+ Rayleigh distribution kurtosis
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Integer values are <span class="bold"><strong>not included</strong></span> in this
+ list of math constants, however interesting, because they can be so easily
+ and exactly constructed, even for UDT, for example: <code class="computeroutput"><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">cpp_float</span><span class="special">&gt;(</span><span class="number">42</span><span class="special">)</span></code>.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If you know the approximate value of the constant, you can search for the
+ value to find Boost.Math chosen name in this table.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Bernoulli numbers are available at <a class="link" href="number_series/bernoulli_numbers.html" title="Bernoulli Numbers">Bernoulli
+ numbers</a>.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Factorials are available at <a class="link" href="factorials/sf_factorial.html" title="Factorial">factorial</a>.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tutorial/user_def.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="new_const.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/constants_faq.html b/libs/math/doc/html/math_toolkit/constants_faq.html
new file mode 100644
index 0000000000..1b079611c3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/constants_faq.html
@@ -0,0 +1,483 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>FAQs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants">
+<link rel="prev" href="new_const.html" title="Defining New Constants">
+<link rel="next" href="../dist.html" title="Chapter&#160;5.&#160;Statistical Distributions and Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="new_const.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.constants_faq"></a><a class="link" href="constants_faq.html" title="FAQs">FAQs</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.constants_faq.h0"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.why_are_these_constants_chosen"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.why_are_these_constants_chosen">Why are
+ <span class="emphasis"><em>these</em></span> Constants Chosen?</a>
+ </h5>
+<p>
+ It is, of course, impossible to please everyone with a list like this.
+ </p>
+<p>
+ Some of the criteria we have used are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Used in Boost.Math.
+ </li>
+<li class="listitem">
+ Commonly used.
+ </li>
+<li class="listitem">
+ Expensive to compute.
+ </li>
+<li class="listitem">
+ Requested by users.
+ </li>
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Mathematical_constant" target="_top">Used in
+ science and mathematics.</a>
+ </li>
+<li class="listitem">
+ No integer values (because so cheap to construct).<br> (You can easily
+ define your own if found convenient, for example: <code class="computeroutput"><span class="identifier">FPT</span>
+ <span class="identifier">one</span> <span class="special">=</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;(</span><span class="number">42</span><span class="special">);</span></code>).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.constants_faq.h1"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.how_are_constants_named"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.how_are_constants_named">How
+ are constants named?</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Not macros, so no upper case.
+ </li>
+<li class="listitem">
+ All lower case (following C++ standard names).
+ </li>
+<li class="listitem">
+ No CamelCase.
+ </li>
+<li class="listitem">
+ Underscore as _ delimiter between words.
+ </li>
+<li class="listitem">
+ Numbers spelt as words rather than decimal digits (except following pow).
+ </li>
+<li class="listitem">
+ Abbreviation conventions:
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ root for square root.
+ </li>
+<li class="listitem">
+ cbrt for cube root.
+ </li>
+<li class="listitem">
+ pow for pow function using decimal digits like pow23 for n<sup>2/3</sup>.
+ </li>
+<li class="listitem">
+ div for divided by or operator /.
+ </li>
+<li class="listitem">
+ minus for operator -, plus for operator +.
+ </li>
+<li class="listitem">
+ sqr for squared.
+ </li>
+<li class="listitem">
+ cubed for cubed n<sup>3</sup>.
+ </li>
+<li class="listitem">
+ words for greek, like &#960;, &#950; and &#915;.
+ </li>
+<li class="listitem">
+ words like half, third, three_quarters, sixth for fractions. (Digit(s)
+ can get muddled).
+ </li>
+<li class="listitem">
+ log10 for log<sub>10</sub>
+ </li>
+<li class="listitem">
+ ln for log<sub>e</sub>
+ </li>
+</ul></div>
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.constants_faq.h2"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.how_are_the_constants_derived"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.how_are_the_constants_derived">How are
+ the constants derived?</a>
+ </h5>
+<p>
+ The constants have all been calculated using high-precision software working
+ with up to 300-bit precision giving about 100 decimal digits. (The precision
+ can be arbitrarily chosen and is limited only by compute time).
+ </p>
+<h5>
+<a name="math_toolkit.constants_faq.h3"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.how_accurate_are_the_constants"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.how_accurate_are_the_constants">How Accurate
+ are the constants?</a>
+ </h5>
+<p>
+ The minimum accuracy chosen (100 decimal digits) exceeds the accuracy of reasonably-foreseeable
+ floating-point hardware (256-bit) and should meet most high-precision computations.
+ </p>
+<h5>
+<a name="math_toolkit.constants_faq.h4"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.how_are_the_constants_tested"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.how_are_the_constants_tested">How are the
+ constants tested?</a>
+ </h5>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Comparison using Boost.Test BOOST_CHECK_CLOSE_FRACTION using long double
+ literals, with at least 35 decimal digits, enough to be accurate for all
+ long double implementations. The tolerance is usually twice <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">epsilon</span></code>.
+ </li>
+<li class="listitem">
+ Comparison with calculation at long double precision. This often requires
+ a slightly higher tolerance than two epsilon because of computational noise
+ from round-off etc, especially when trig and other functions are called.
+ </li>
+<li class="listitem">
+ Comparison with independent published values, for example, using <a href="http://oeis.org/" target="_top">The On-Line Encyclopedia of Integer Sequences (OEIS)</a>
+ again using at least 35 decimal digits strings.
+ </li>
+<li class="listitem">
+ Comparison with independely calculated values using arbitrary precision
+ tools like <a href="http://www.wolfram.com/mathematica/" target="_top">Mathematica</a>,
+ again using at least 35 decimal digits literal strings.
+ </li>
+</ol></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ We have not yet been able to <span class="bold"><strong>check</strong></span> that
+ <span class="bold"><strong>all</strong></span> constants are accurate at the full arbitrary
+ precision, at present 100 decimal digits. But certain key values like <code class="computeroutput"><span class="identifier">e</span></code> and <code class="computeroutput"><span class="identifier">pi</span></code>
+ appear to be accurate and internal consistencies suggest that others are
+ this accurate too.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.constants_faq.h5"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.why_is_portability_important"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.why_is_portability_important">Why is Portability
+ important?</a>
+ </h5>
+<p>
+ Code written using math constants is easily portable even when using different
+ floating-point types with differing precision.
+ </p>
+<p>
+ It is a mistake to expect that results of computations will be <span class="bold"><strong>identical</strong></span>,
+ but you can achieve the <span class="bold"><strong>best accuracy possible for the
+ floating-point type in use</strong></span>.
+ </p>
+<p>
+ This has no extra cost to the user, but reduces irritating, and often confusing
+ and very hard-to-trace effects, caused by the intrinsically limited precision
+ of floating-point calculations.
+ </p>
+<p>
+ A harmless symptom of this limit is a spurious least-significant digit; at
+ worst, slightly inaccurate constants sometimes cause iterating algorithms to
+ diverge wildly because internal comparisons just fail.
+ </p>
+<h5>
+<a name="math_toolkit.constants_faq.h6"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.what_is_the_internal_format_of_t"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.what_is_the_internal_format_of_t">What
+ is the Internal Format of the constants, and why?</a>
+ </h5>
+<p>
+ See <a class="link" href="tutorial.html" title="Tutorial">tutorial</a> above for normal
+ use, but this FAQ explains the internal details used for the constants.
+ </p>
+<p>
+ Constants are stored as 100 decimal digit values. However, some compilers do
+ not accept decimal digits strings as long as this. So the constant is split
+ into two parts, with the first containing at least 128-bit long double precision
+ (35 decimal digits), and for consistency should be in scientific format with
+ a signed exponent.
+ </p>
+<p>
+ The second part is the value of the constant expressed as a string literal,
+ accurate to at least 100 decimal digits (in practice that means at least 102
+ digits). Again for consistency use scientific format with a signed exponent.
+ </p>
+<p>
+ For types with precision greater than a long double, then if T is constructible
+ <code class="computeroutput"><span class="identifier">T</span> </code>is constructible from a
+ <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span></code> then it's directly constructed from the string,
+ otherwise we fall back on lexical_cast to convert to type <code class="computeroutput"><span class="identifier">T</span></code>.
+ (Using a string is necessary because you can't use a numeric constant since
+ even a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ might not have enough digits).
+ </p>
+<p>
+ So, for example, a constant like pi is internally defined as
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">pi</span><span class="special">,</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">,</span> <span class="string">"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00"</span><span class="special">);</span>
+</pre>
+<p>
+ In this case the significand is 109 decimal digits, ensuring 100 decimal digits
+ are exact, and exponent is zero.
+ </p>
+<p>
+ See <a class="link" href="new_const.html" title="Defining New Constants">defining new constants</a> to
+ calculate new constants.
+ </p>
+<p>
+ A macro definition like this can be pasted into user code where convenient,
+ or into <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> if it
+ is to be added to the Boost.Math library.
+ </p>
+<h5>
+<a name="math_toolkit.constants_faq.h7"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.what_floating_point_types_could_"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.what_floating_point_types_could_">What
+ Floating-point Types could I use?</a>
+ </h5>
+<p>
+ Apart from the built-in floating-point types <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, there are several arbitrary
+ precision floating-point classes available, but most are not licensed for commercial
+ use.
+ </p>
+<h6>
+<a name="math_toolkit.constants_faq.h8"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.boost_multiprecision_by_christop"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.boost_multiprecision_by_christop">Boost.Multiprecision
+ by Christopher Kormanyos</a>
+ </h6>
+<p>
+ This work is based on an earlier work called e-float: Algorithm 910: A Portable
+ C++ Multiple-Precision System for Special-Function Calculations, in ACM TOMS,
+ {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. <a href="http://doi.acm.org/10.1145/1916461.1916469" target="_top">http://doi.acm.org/10.1145/1916461.1916469</a>
+ <a href="https://svn.boost.org/svn/boost/sandbox/e_float/" target="_top">e_float</a>
+ but is now re-factored and available under the Boost license in the Boost-sandbox
+ at <a href="https://svn.boost.org/svn/boost/sandbox/multiprecision/" target="_top">multiprecision</a>
+ where it is being refined and prepared for review.
+ </p>
+<h6>
+<a name="math_toolkit.constants_faq.h9"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.boost_cpp_float_by_john_maddock_"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.boost_cpp_float_by_john_maddock_">Boost.cpp_float
+ by John Maddock using Expression Templates</a>
+ </h6>
+<p>
+ <a href="https://svn.boost.org/svn/boost/sandbox/big_number/" target="_top">Big Number</a>
+ which is a reworking of <a href="https://svn.boost.org/svn/boost/sandbox/e_float/" target="_top">e_float</a>
+ by Christopher Kormanyos to use expression templates for faster execution.
+ </p>
+<h6>
+<a name="math_toolkit.constants_faq.h10"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.ntl_class_quad_float"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.ntl_class_quad_float">NTL
+ class quad_float</a>
+ </h6>
+<p>
+ <a href="http://shoup.net/ntl/" target="_top">NTL</a> by Victor Shoup has fixed and
+ arbitrary high precision fixed and floating-point types. However none of these
+ are licenced for commercial use.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">/</span><span class="identifier">quad_float</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span> <span class="comment">// quad precision 106-bit, about 32 decimal digits.</span>
+<span class="keyword">using</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">to_quad_float</span><span class="special">;</span> <span class="comment">// Less precise than arbitrary precision NTL::RR.</span>
+</pre>
+<p>
+ NTL class <code class="computeroutput"><span class="identifier">quad_float</span></code>, which
+ gives a form of quadruple precision, 106-bit significand (but without an extended
+ exponent range.) With an IEC559/IEEE 754 compatible processor, for example
+ Intel X86 family, with 64-bit double, and 53-bit significand, using the significands
+ of <span class="bold"><strong>two</strong></span> 64-bit doubles, if <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">digits10</span></code> is 16, then we get about twice the
+ precision, so <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">quad_float</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">()</span></code>
+ should be 32. (the default <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RR</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">()</span></code>
+ should be about 40). (which seems to agree with experiments). We output constants
+ (including some noisy bits, an approximation to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RR</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">()</span></code>)
+ by adding 2 extra decimal digits, so using <code class="computeroutput"><span class="identifier">quad_float</span><span class="special">::</span><span class="identifier">SetOutputPrecision</span><span class="special">(</span><span class="number">32</span> <span class="special">+</span>
+ <span class="number">2</span><span class="special">);</span></code>
+ </p>
+<p>
+ Apple Mac/Darwin uses a similar <span class="emphasis"><em>doubledouble</em></span> 106-bit for
+ its built-in <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ type.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The precision of all <code class="computeroutput"><span class="identifier">doubledouble</span></code>
+ floating-point types is rather odd and values given are only approximate.
+ </p></td></tr>
+</table></div>
+<p>
+ <span class="bold"><strong>New projects should use <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>.</strong></span>
+ </p>
+<h6>
+<a name="math_toolkit.constants_faq.h11"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.ntl_class_rr"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.ntl_class_rr">NTL
+ class RR</a>
+ </h6>
+<p>
+ Arbitrary precision floating point with NTL class RR, default is 150 bit (about
+ 50 decimal digits) used here with 300 bit to output 100 decimal digits, enough
+ for many practical non-'number-theoretic' C++ applications.
+ </p>
+<p>
+ <a href="http://www.shoup.net/ntl/" target="_top">NTL A Library for doing Number Theory</a>
+ is <span class="bold"><strong>not licenced for commercial use</strong></span>.
+ </p>
+<p>
+ This class is used in Boost.Math and is an option when using big_number projects
+ to calculate new math constants.
+ </p>
+<p>
+ <span class="bold"><strong>New projects should use <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>.</strong></span>
+ </p>
+<h6>
+<a name="math_toolkit.constants_faq.h12"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.gmp_and_mpfr"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.gmp_and_mpfr">GMP
+ and MPFR</a>
+ </h6>
+<p>
+ <a href="http://gmplib.org" target="_top">GMP</a> and <a href="http://www.mpfr.org/" target="_top">MPFR</a>
+ have also been used to compute constants, but are licensed under the <a href="http://www.gnu.org/copyleft/lesser.html" target="_top">Lesser GPL license</a> and
+ are <span class="bold"><strong>not licensed for commercial use</strong></span>.
+ </p>
+<h5>
+<a name="math_toolkit.constants_faq.h13"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.what_happened_to_a_previous_coll"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.what_happened_to_a_previous_coll">What
+ happened to a previous collection of constants proposed for Boost?</a>
+ </h5>
+<p>
+ A review concluded that the way in which the constants were presented did not
+ meet many peoples needs. None of the methods proposed met many users' essential
+ requirement to allow writing simply <code class="computeroutput"><span class="identifier">pi</span></code>
+ rather than <code class="computeroutput"><span class="identifier">pi</span><span class="special">()</span></code>.
+ Many science and engineering equations look difficult to read when because
+ function call brackets can be confused with the many other brackets often needed.
+ All the methods then proposed of avoiding the brackets failed to meet all needs,
+ often on grounds of complexity and lack of applicability to various realistic
+ scenarios.
+ </p>
+<p>
+ So the simple namespace method, proposed on its own, but rejected at the first
+ review, has been added to allow users to have convenient access to float, double
+ and long double values, but combined with template struct and functions to
+ allow simultaneous use with other non-built-in floating-point types.
+ </p>
+<h5>
+<a name="math_toolkit.constants_faq.h14"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.why_do_the_constants_internally_"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.why_do_the_constants_internally_">Why do
+ the constants (internally) have a struct rather than a simple function?</a>
+ </h5>
+<p>
+ A function mechanism was provided by in previous versions of Boost.Math.
+ </p>
+<p>
+ The new mechanism is to permit partial specialization. See Custom Specializing
+ a constant above. It should also allow use with other packages like <a href="http://www.ttmath.org/" target="_top">ttmath Bignum C++ library.</a>
+ </p>
+<h5>
+<a name="math_toolkit.constants_faq.h15"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.where_can_i_find_other_high_prec"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.where_can_i_find_other_high_prec">Where
+ can I find other high precision constants?</a>
+ </h5>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Constants with very high precision and good accuracy (&gt;40 decimal digits)
+ from Simon Plouffe's web based collection <a href="http://pi.lacim.uqam.ca/eng/" target="_top">http://pi.lacim.uqam.ca/eng/</a>.
+ </li>
+<li class="listitem">
+ <a href="https://oeis.org/" target="_top">The On-Line Encyclopedia of Integer Sequences
+ (OEIS)</a>
+ </li>
+<li class="listitem">
+ Checks using printed text optically scanned values and converted from:
+ D. E. Knuth, Art of Computer Programming, Appendix A, Table 1, Vol 1, ISBN
+ 0 201 89683 4 (1997)
+ </li>
+<li class="listitem">
+ M. Abrahamovitz &amp; I. E. Stegun, National Bureau of Standards, Handbook
+ of Mathematical Functions, a reference source for formulae now superceded
+ by
+ </li>
+<li class="listitem">
+ Frank W. Olver, Daniel W. Lozier, Ronald F. Boisvert, Charles W. Clark,
+ NIST Handbook of Mathemetical Functions, Cambridge University Press, ISBN
+ 978-0-521-14063-8, 2010.
+ </li>
+<li class="listitem">
+ John F Hart, Computer Approximations, Kreiger (1978) ISBN 0 88275 642 7.
+ </li>
+<li class="listitem">
+ Some values from Cephes Mathematical Library, Stephen L. Moshier and CALC100
+ 100 decimal digit Complex Variable Calculator Program, a DOS utility.
+ </li>
+<li class="listitem">
+ Xavier Gourdon, Pascal Sebah, 50 decimal digits constants at <a href="http://numbers.computation.free.fr/Constants/constants.html" target="_top">Number,
+ constants and computation</a>.
+ </li>
+</ol></div>
+<h5>
+<a name="math_toolkit.constants_faq.h16"></a>
+ <span class="phrase"><a name="math_toolkit.constants_faq.where_are_physical_constants"></a></span><a class="link" href="constants_faq.html#math_toolkit.constants_faq.where_are_physical_constants">Where are
+ Physical Constants?</a>
+ </h5>
+<p>
+ Not here in this Boost.Math collection, because physical constants:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Are measurements, not truely constants.
+ </li>
+<li class="listitem">
+ Are not truly constant and keeping changing as mensuration technology improves.
+ </li>
+<li class="listitem">
+ Have a instrinsic uncertainty.
+ </li>
+<li class="listitem">
+ Mathematical constants are stored and represented at varying precision,
+ but should never be inaccurate.
+ </li>
+</ul></div>
+<p>
+ Some physical constants may be available in Boost.Units.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="new_const.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/constants_intro.html b/libs/math/doc/html/math_toolkit/constants_intro.html
new file mode 100644
index 0000000000..743f333d99
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/constants_intro.html
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Introduction</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants">
+<link rel="prev" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants">
+<link rel="next" href="tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../constants.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.constants_intro"></a><a class="link" href="constants_intro.html" title="Introduction">Introduction</a>
+</h2></div></div></div>
+<p>
+ Boost.Math provides a collection of mathematical constants.
+ </p>
+<h5>
+<a name="math_toolkit.constants_intro.h0"></a>
+ <span class="phrase"><a name="math_toolkit.constants_intro.why_use_boost_math_mathematical_"></a></span><a class="link" href="constants_intro.html#math_toolkit.constants_intro.why_use_boost_math_mathematical_">Why
+ use Boost.Math mathematical constants?</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p class="simpara">
+ Readable. For the very many jobs just using built-in like <code class="computeroutput"><span class="keyword">double</span></code>, you can just write expressions like
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">area</span> <span class="special">=</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span></pre>
+<p class="simpara">
+ (If that's all you want, jump direct to <a class="link" href="tutorial/non_templ.html" title="Use in non-template code">use
+ in non-template code</a>!)
+ </p>
+</li>
+<li class="listitem">
+ Effortless - avoiding a search of reference sources.
+ </li>
+<li class="listitem">
+ Usable with both builtin floating point types, and user-defined, possibly
+ extended precision, types such as NTL, MPFR/GMP, mp_float: in the latter
+ case the constants are computed to the necessary precision and then cached.
+ </li>
+<li class="listitem">
+ Accurate - ensuring that the values are as accurate as possible for the
+ chosen floating-point type
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ No loss of accuracy from repeated rounding of intermediate computations.
+ </li>
+<li class="listitem">
+ Result is computed with higher precision and only rounded once.
+ </li>
+<li class="listitem">
+ Less risk of inaccurate result from functions pow, trig and log at
+ <a href="http://en.wikipedia.org/wiki/Corner_case" target="_top">corner cases</a>.
+ </li>
+<li class="listitem">
+ Less risk of <a href="http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html" target="_top">cancellation
+ error</a>.
+ </li>
+</ul></div>
+ </li>
+<li class="listitem">
+ Portable - as possible between different systems using different floating-point
+ precisions: see <a class="link" href="tutorial/templ.html" title="Use in template code">use in template
+ code</a>.
+ </li>
+<li class="listitem">
+ Tested - by comparison with other published sources, or separately computed
+ at long double precision.
+ </li>
+<li class="listitem">
+ Faster - can avoid (re-)calculation at runtime.
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ If the value returned is a builtin type then it's returned by value
+ as a <code class="computeroutput"><span class="keyword">constexpr</span></code> (C++11
+ feature, if available).
+ </li>
+<li class="listitem">
+ If the value is computed and cached (or constructed from a string
+ representation and cached), then it's returned by constant reference.<br>
+ This can be significant if:
+ </li>
+<li class="listitem">
+ Functions pow, trig or log are used.
+ </li>
+<li class="listitem">
+ Inside an inner loop.
+ </li>
+<li class="listitem">
+ Using a high-precision UDT like <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>.
+ </li>
+<li class="listitem">
+ Compiler optimizations possible with built-in types, especially
+ <code class="computeroutput"><span class="keyword">double</span></code>, are not available.
+ </li>
+</ul></div>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../constants.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/contact.html b/libs/math/doc/html/math_toolkit/contact.html
new file mode 100644
index 0000000000..e9f553aa8e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/contact.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Contact Info and Support</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="main_faq.html" title="Frequently Asked Questions FAQ">
+<link rel="next" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="main_faq.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../utils.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.contact"></a><a class="link" href="contact.html" title="Contact Info and Support">Contact Info and Support</a>
+</h2></div></div></div>
+<p>
+ The main support for this library is via the Boost mailing lists:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Use the <a href="http://www.boost.org/more/mailing_lists.htm#users" target="_top">boost-user
+ list</a> for general support questions.
+ </li>
+<li class="listitem">
+ Use the <a href="http://www.boost.org/more/mailing_lists.htm#main" target="_top">boost-developer
+ list</a> for discussion about implementation and or submission of extensions.
+ </li>
+</ul></div>
+<p>
+ You can also find JM at john - at - johnmaddock.co.uk and PAB at pbristow -
+ at - hetp.u-net.com.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="main_faq.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../utils.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/conventions.html b/libs/math/doc/html/math_toolkit/conventions.html
new file mode 100644
index 0000000000..e6a10ae566
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/conventions.html
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Document Conventions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="navigation.html" title="Navigation">
+<link rel="next" href="hints.html" title="Other Hints and tips">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="navigation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hints.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.conventions"></a><a class="link" href="conventions.html" title="Document Conventions">Document Conventions</a>
+</h2></div></div></div>
+<p>
+ <a class="indexterm" name="idm1567449536"></a>
+ </p>
+<p>
+ This documentation aims to use of the following naming and formatting conventions.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ C++ Code is in <code class="computeroutput"><span class="identifier">fixed</span> <span class="identifier">width</span>
+ <span class="identifier">font</span></code> and is syntax-highlighted
+ in color, for example <code class="computeroutput"><span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ Other code is in block <code class="literal">teletype fixed-width font</code>.
+ </li>
+<li class="listitem">
+ Replaceable text that <span class="bold"><strong>you</strong></span> will need to
+ supply is in <em class="replaceable"><code>italics</code></em>.
+ </li>
+<li class="listitem">
+ If a name refers to a free function, it is specified like this: <code class="computeroutput"><span class="identifier">free_function</span><span class="special">()</span></code>;
+ that is, it is in <em class="replaceable"><code>code font</code></em> and its name is
+ followed by <code class="computeroutput"><span class="special">()</span></code> to indicate
+ that it is a free function.
+ </li>
+<li class="listitem">
+ If a name refers to a class template, it is specified like this: <code class="computeroutput"><span class="identifier">class_template</span><span class="special">&lt;&gt;</span></code>;
+ that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special">&lt;&gt;</span></code>
+ to indicate that it is a class template.
+ </li>
+<li class="listitem">
+ If a name refers to a function-like macro, it is specified like this:
+ <code class="computeroutput"><span class="identifier">MACRO</span><span class="special">()</span></code>;
+ that is, it is uppercase in code font and its name is followed by <code class="computeroutput"><span class="special">()</span></code> to indicate that it is a function-like
+ macro. Object-like macros appear without the trailing <code class="computeroutput"><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ Names that refer to <span class="emphasis"><em>concepts</em></span> in the generic programming
+ sense (like template parameter names) are specified in CamelCase.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="navigation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hints.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/create.html b/libs/math/doc/html/math_toolkit/create.html
new file mode 100644
index 0000000000..2e081e7159
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/create.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Quaternion Creation Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="value_op.html" title="Quaternion Value Operations">
+<link rel="next" href="trans.html" title="Quaternion Transcendentals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_op.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trans.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.create"></a><a class="link" href="create.html" title="Quaternion Creation Functions">Quaternion Creation Functions</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">spherical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">semipolar</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">multipolar</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cylindrospherical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">radius</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">longitude</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">latitude</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cylindrical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">);</span>
+</pre>
+<p>
+ These build quaternions in a way similar to the way polar builds complex numbers,
+ as there is no strict equivalent to polar coordinates for quaternions.
+ </p>
+<p>
+ <a name="math_quaternions.creation_spherical"></a><code class="computeroutput"><span class="identifier">spherical</span></code>
+ is a simple transposition of <code class="computeroutput"><span class="identifier">polar</span></code>,
+ it takes as inputs a (positive) magnitude and a point on the hypersphere, given
+ by three angles. The first of these, <code class="computeroutput"><span class="identifier">theta</span></code>
+ has a natural range of <code class="computeroutput"><span class="special">-</span><span class="identifier">pi</span></code>
+ to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span></code>,
+ and the other two have natural ranges of <code class="computeroutput"><span class="special">-</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code>
+ to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code> (as is the
+ case with the usual spherical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>).
+ Due to the many symmetries and periodicities, nothing untoward happens if the
+ magnitude is negative or the angles are outside their natural ranges. The expected
+ degeneracies (a magnitude of zero ignores the angles settings...) do happen
+ however.
+ </p>
+<p>
+ <a name="math_quaternions.creation_cylindrical"></a><code class="computeroutput"><span class="identifier">cylindrical</span></code>
+ is likewise a simple transposition of the usual cylindrical coordinates in
+ <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>, which in turn is another
+ derivative of planar polar coordinates. The first two inputs are the polar
+ coordinates of the first <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>
+ component of the quaternion. The third and fourth inputs are placed into the
+ third and fourth <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span> components
+ of the quaternion, respectively.
+ </p>
+<p>
+ <a name="math_quaternions.creation_multipolar"></a><code class="computeroutput"><span class="identifier">multipolar</span></code>
+ is yet another simple generalization of polar coordinates. This time, both
+ <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> components of the quaternion
+ are given in polar coordinates.
+ </p>
+<p>
+ <a name="math_quaternions.creation_cylindrospherical"></a><code class="computeroutput"><span class="identifier">cylindrospherical</span></code>
+ is specific to quaternions. It is often interesting to consider <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span> as the cartesian product of <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span> by <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>
+ (the quaternionic multiplication as then a special form, as given here). This
+ function therefore builds a quaternion from this representation, with the
+ <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span> component given in usual
+ <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span> spherical coordinates.
+ </p>
+<p>
+ <a name="math_quaternions.creation_semipolar"></a><code class="computeroutput"><span class="identifier">semipolar</span></code>
+ is another generator which is specific to quaternions. It takes as a first
+ input the magnitude of the quaternion, as a second input an angle in the range
+ <code class="computeroutput"><span class="number">0</span></code> to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code>
+ such that magnitudes of the first two <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>
+ components of the quaternion are the product of the first input and the sine
+ and cosine of this angle, respectively, and finally as third and fourth inputs
+ angles in the range <code class="computeroutput"><span class="special">-</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code> to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code> which represent the arguments of the first
+ and second <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> components
+ of the quaternion, respectively. As usual, nothing untoward happens if what
+ should be magnitudes are negative numbers or angles are out of their natural
+ ranges, as symmetries and periodicities kick in.
+ </p>
+<p>
+ In this version of our implementation of quaternions, there is no analogue
+ of the complex value operation <code class="computeroutput"><span class="identifier">arg</span></code>
+ as the situation is somewhat more complicated. Unit quaternions are linked
+ both to rotations in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>
+ and in <span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span>, and the correspondences
+ are not too complicated, but there is currently a lack of standard (de facto
+ or de jure) matrix library with which the conversions could work. This should
+ be remedied in a further revision. In the mean time, an example of how this
+ could be done is presented here for <a href="../../../quaternion/HSO3.hpp" target="_top"><span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span></a>, and here for <a href="../../../quaternion/HSO4.hpp" target="_top"><span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span></a> (<a href="../../../quaternion/HSO3SO4.cpp" target="_top">example
+ test file</a>).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="value_op.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trans.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/credits.html b/libs/math/doc/html/math_toolkit/credits.html
new file mode 100644
index 0000000000..8ced0a1107
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/credits.html
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Credits and Acknowledgements</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../status.html" title="Chapter&#160;17.&#160;Library Status">
+<link rel="prev" href="issues.html" title="Known Issues, and TODO List">
+<link rel="next" href="../indexes.html" title="Chapter&#160;18.&#160;Indexes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="issues.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../indexes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.credits"></a><a class="link" href="credits.html" title="Credits and Acknowledgements">Credits and Acknowledgements</a>
+</h2></div></div></div>
+<p>
+ Hubert Holin started the Boost.Math library. The Quaternions, Octonions, inverse
+ hyperbolic functions, and the sinus cardinal functions are his.
+ </p>
+<p>
+ Daryle Walker wrote the integer gcd and lcm functions.
+ </p>
+<p>
+ John Maddock started the special functions, the beta, gamma, erf, polynomial,
+ and factorial functions are his, as is the "Toolkit" section, and
+ many of the statistical distributions.
+ </p>
+<p>
+ Paul A. Bristow threw down the challenge in <a href="http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2004/n1668.pdf" target="_top">A
+ Proposal to add Mathematical Functions for Statistics to the C++ Standard Library</a>
+ to add the key math functions, especially those essential for statistics. After
+ JM accepted and solved the difficult problems, not only numerically, but in
+ full C++ template style, PAB implemented a few of the statistical distributions.
+ PAB also tirelessly proof-read everything that JM threw at him (so that all
+ remaining editorial mistakes are his fault).
+ </p>
+<p>
+ Xiaogang Zhang worked on the Bessel functions and elliptic integrals for his
+ Google Summer of Code project 2006.
+ </p>
+<p>
+ Bruno Lalande submitted the "compile time power of a runtime base"
+ code.
+ </p>
+<p>
+ Johan R&#229;de wrote the optimised floating-point classification and manipulation
+ code, and nonfinite facets to permit C99 output of infinities and NaNs. (nonfinite
+ facets were not added until Boost 1.47 but had been in use with Boost.Spirit).
+ This library was based on a suggestion from Robert Ramey, author of Boost.Serialization.
+ Paul A. Bristow expressed the need for better handling of <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf" target="_top">Input
+ &amp; Output of NaN and infinity for the C++ Standard Library</a> and suggested
+ following the C99 format.
+ </p>
+<p>
+ Antony Polukhin improved lexical cast avoiding stringstream so that it was
+ no longer necessary to use a globale C99 facet to handle nonfinites.
+ </p>
+<p>
+ H&#229;kan Ard&#246;, Boris Gubenko, John Maddock, Markus Sch&#246;pflin and Olivier Verdier
+ tested the floating-point library and Martin Bonner, Peter Dimov and John Maddock
+ provided valuable advice.
+ </p>
+<p>
+ Gautam Sewani coded the logistic distribution as part of a Google Summer of
+ Code project 2008.
+ </p>
+<p>
+ M. A. (Thijs) van den Berg coded the Laplace distribution. (Thijs has also
+ threatened to implement some multivariate distributions).
+ </p>
+<p>
+ Thomas Mang requested the inverse gamma in chi squared distributions for Bayesian
+ applications and helped in their implementation, and provided a nice example
+ of their use.
+ </p>
+<p>
+ Professor Nico Temme for advice on the inverse incomplete beta function.
+ </p>
+<p>
+ <a href="http://www.shoup.net" target="_top">Victor Shoup for NTL</a>, without which
+ it would have much more difficult to produce high accuracy constants, and especially
+ the tables of accurate values for testing.
+ </p>
+<p>
+ We are grateful to Joel Guzman for helping us stress-test his <a href="http://www.boost.org/tools/quickbook/index.htm" target="_top">Boost.Quickbook</a>
+ program used to generate the html and pdf versions of this document, adding
+ several new features en route.
+ </p>
+<p>
+ Plots of the functions and distributions were prepared in <a href="http://www.w3.org/" target="_top">W3C</a>
+ standard <a href="http://www.svg.org/" target="_top">Scalable Vector Graphic (SVG)</a>
+ format using a program created by Jacob Voytko during a <a href="http://code.google.com/soc/2007/" target="_top">Google
+ Summer of Code (2007)</a>. From 2012, the latest versions of all Internet
+ Browsers have support for rendering SVG (with varying quality). Older versions,
+ especially (Microsoft Internet Explorer (before IE 9) lack native SVG support
+ but can be made to work with <a href="http://www.adobe.com/svg/viewer/install/" target="_top">Adobe's
+ free SVG viewer</a> plugin). The SVG files can be converted to JPEG or
+ PNG using <a href="http://www.inkscape.org/" target="_top">Inkscape</a>.
+ </p>
+<p>
+ We are also indebted to Matthias Schabel for managing the formal Boost-review
+ of this library, and to all the reviewers - including Guillaume Melquiond,
+ Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland - for
+ their many helpful comments.
+ </p>
+<p>
+ Thanks to Mark Coleman and Georgi Boshnakov for spot test values from <a href="http://www.wolfram.com/products/mathematica/index.html" target="_top">Wolfram Mathematica</a>,
+ and of course, to Eric Weisstein for nurturing <a href="http://mathworld.wolfram.com" target="_top">Wolfram
+ MathWorld</a>, an invaluable resource.
+ </p>
+<p>
+ The Skew-normal distribution and Owen's t function were written by Benjamin
+ Sobotta.
+ </p>
+<p>
+ We thank Thomas Mang for persuading us to allow t distributions to have infinite
+ degrees of freedom and contributing to some long discussions about how to improve
+ accuracy for large non-centrality and/or large degrees of freedom.
+ </p>
+<p>
+ Christopher Kormanyos wrote the e_float multiprecision library <a href="http://portal.acm.org/citation.cfm?id=1916469" target="_top">TOMS
+ Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function
+ Calculations</a> which formed the basis for the Boost.Multiprecision library
+ which now can be used to allow most functions and distributions to be computed
+ up to a precision of the users' choice, no longer restricted to built-in floating-point
+ types like double. (And thanks to Topher Cooper for bring Christopher's e_float
+ to our attention).
+ </p>
+<p>
+ Christopher Kormanyos wrote some examples for using <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>,
+ and added methods for finding zeros of Bessel Functions.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="issues.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../indexes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/demo.html b/libs/math/doc/html/math_toolkit/demo.html
new file mode 100644
index 0000000000..7f0e456a97
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/demo.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Demonstration Program</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="gcd_header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">
+<link rel="next" href="rationale0.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_header.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale0.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.demo"></a><a class="link" href="demo.html" title="Demonstration Program">Demonstration Program</a>
+</h2></div></div></div>
+<p>
+ The program <a href="../../../../../libs/math/test/common_factor_test.cpp" target="_top">common_factor_test.cpp</a>
+ is a demonstration of the results from instantiating various examples of the
+ run-time GCD and LCM function templates and the compile-time GCD and LCM class
+ templates. (The run-time GCD and LCM class templates are tested indirectly
+ through the run-time function templates.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_header.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale0.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/directories.html b/libs/math/doc/html/math_toolkit/directories.html
new file mode 100644
index 0000000000..a3ef4dcdcd
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/directories.html
@@ -0,0 +1,127 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Directory and File Structure</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="hints.html" title="Other Hints and tips">
+<link rel="next" href="namespaces.html" title="Namespaces">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hints.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespaces.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.directories"></a><a class="link" href="directories.html" title="Directory and File Structure">Directory and File Structure</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.directories.h0"></a>
+ <span class="phrase"><a name="math_toolkit.directories.boost_math"></a></span><a class="link" href="directories.html#math_toolkit.directories.boost_math">boost/math</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">/concepts/</span></dt>
+<dd><p>
+ Prototype defining the <span class="bold"><strong>essential</strong></span> features
+ of a RealType class (see real_concept.hpp). Most applications will use
+ <code class="computeroutput"><span class="keyword">double</span></code> as the RealType (and
+ short <code class="computeroutput"><span class="keyword">typedef</span></code> names of distributions
+ are reserved for this type where possible), a few will use <code class="computeroutput"><span class="keyword">float</span></code> or <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, but it is also possible
+ to use higher precision types like <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>,
+ <a href="http://gmplib.org/" target="_top">GNU Multiple Precision Arithmetic Library</a>,
+ <a href="http://www.mpfr.org/" target="_top">GNU MPFR library</a> that conform
+ to the requirements specified by real_concept.
+ </p></dd>
+<dt><span class="term">/constants/</span></dt>
+<dd><p>
+ Templated definition of some highly accurate math constants (in constants.hpp).
+ </p></dd>
+<dt><span class="term">/distributions/</span></dt>
+<dd><p>
+ Distributions used in mathematics and, especially, statistics: Gaussian,
+ Students-t, Fisher, Binomial etc
+ </p></dd>
+<dt><span class="term">/policies/</span></dt>
+<dd><p>
+ Policy framework, for handling user requested behaviour modifications.
+ </p></dd>
+<dt><span class="term">/special_functions/</span></dt>
+<dd><p>
+ Math functions generally regarded as 'special', like beta, cbrt, erf,
+ gamma, lgamma, tgamma ... (Some of these are specified in C++, and C99/TR1,
+ and perhaps TR2).
+ </p></dd>
+<dt><span class="term">/tools/</span></dt>
+<dd><p>
+ Tools used by functions, like evaluating polynomials, continued fractions,
+ root finding, precision and limits, and by tests. Some will find application
+ outside this package.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="math_toolkit.directories.h1"></a>
+ <span class="phrase"><a name="math_toolkit.directories.boost_libs"></a></span><a class="link" href="directories.html#math_toolkit.directories.boost_libs">boost/libs</a>
+ </h5>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">/doc/</span></dt>
+<dd><p>
+ Documentation source files in Quickbook format processed into html and
+ pdf formats.
+ </p></dd>
+<dt><span class="term">/examples/</span></dt>
+<dd><p>
+ Examples and demos of using math functions and distributions.
+ </p></dd>
+<dt><span class="term">/performance/</span></dt>
+<dd><p>
+ Performance testing and tuning program.
+ </p></dd>
+<dt><span class="term">/test/</span></dt>
+<dd><p>
+ Test files, in many .cpp files, most using Boost.Test (some with test
+ data as .ipp files, usually generated using NTL RR type with ample precision
+ for the type, often for precisions suitable for up to 256-bit significand
+ real types).
+ </p></dd>
+<dt><span class="term">/tools/</span></dt>
+<dd><p>
+ Programs used to generate test data. Also changes to the <a href="http://shoup.net/ntl/" target="_top">NTL</a>
+ released package to provide a few additional (and vital) extra features.
+ </p></dd>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hints.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespaces.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_concept.html b/libs/math/doc/html/math_toolkit/dist_concept.html
new file mode 100644
index 0000000000..c7db5c7ee5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_concept.html
@@ -0,0 +1,397 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Conceptual Requirements for Distribution Types</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../using_udt.html" title="Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and others">
+<link rel="prev" href="concepts.html" title="Conceptual Requirements for Real Number Types">
+<link rel="next" href="archetypes.html" title="Conceptual Archetypes for Reals and Distributions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="archetypes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.dist_concept"></a><a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Conceptual Requirements for
+ Distribution Types</a>
+</h2></div></div></div>
+<p>
+ A <span class="emphasis"><em>DistributionType</em></span> is a type that implements the following
+ conceptual requirements, and encapsulates a statistical distribution.
+ </p>
+<p>
+ Please note that this documentation should not be used as a substitute for
+ the <a class="link" href="dist_ref.html" title="Statistical Distributions Reference">reference documentation</a>, and
+ <a class="link" href="stat_tut.html" title="Statistical Distributions Tutorial">tutorial</a> of the statistical distributions.
+ </p>
+<p>
+ In the following table, <span class="emphasis"><em>d</em></span> is an object of type <code class="computeroutput"><span class="identifier">DistributionType</span></code>, <span class="emphasis"><em>cd</em></span>
+ is an object of type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">DistributionType</span></code>
+ and <span class="emphasis"><em>cr</em></span> is an object of a type convertible to <code class="computeroutput"><span class="identifier">RealType</span></code>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Result Type
+ </p>
+ </th>
+<th>
+ <p>
+ Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ DistributionType::value_type
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ The real-number type <span class="emphasis"><em>RealType</em></span> upon which the
+ distribution operates.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ DistributionType::policy_type
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ The <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> to use when evaluating functions
+ that depend on this distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ d = cd
+ </p>
+ </td>
+<td>
+ <p>
+ Distribution&amp;
+ </p>
+ </td>
+<td>
+ <p>
+ Distribution types are assignable.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Distribution(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ Distribution
+ </p>
+ </td>
+<td>
+ <p>
+ Distribution types are copy constructible.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pdf(cd, cr)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the PDF of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf(cd, cr)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the CDF of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf(complement(cd, cr))
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the complement of the CDF of the distribution, the same as:
+ <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">cd</span><span class="special">,</span> <span class="identifier">cr</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile(cd, cr)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the quantile (or percentile) of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile(complement(cd, cr))
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the quantile (or percentile) of the distribution, starting
+ from the complement of the probability, the same as: <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">cd</span><span class="special">,</span> <span class="number">1</span><span class="special">-</span><span class="identifier">cr</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ chf(cd, cr)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the cumulative hazard function of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ hazard(cd, cr)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the hazard function of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the kurtosis of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis_excess(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the kurtosis excess of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the mean of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the mode of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the skewness of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ standard_deviation(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the standard deviation of the distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance(cd)
+ </p>
+ </td>
+<td>
+ <p>
+ RealType
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the variance of the distribution.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="concepts.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="archetypes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref.html b/libs/math/doc/html/math_toolkit/dist_ref.html
new file mode 100644
index 0000000000..614ca84148
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Statistical Distributions Reference</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dist.html" title="Chapter&#160;5.&#160;Statistical Distributions and Functions">
+<link rel="prev" href="stat_tut/dist_params.html" title="Discrete Probability Distributions">
+<link rel="next" href="dist_ref/nmp.html" title="Non-Member Properties">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stat_tut/dist_params.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_ref/nmp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.dist_ref"></a><a class="link" href="dist_ref.html" title="Statistical Distributions Reference">Statistical Distributions Reference</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="dist_ref/nmp.html">Non-Member Properties</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists.html">Distributions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="dist_ref/dists/bernoulli_dist.html">Bernoulli
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/beta_dist.html">Beta Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/binomial_dist.html">Binomial
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/cauchy_dist.html">Cauchy-Lorentz
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/chi_squared_dist.html">Chi Squared
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/exp_dist.html">Exponential Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/extreme_dist.html">Extreme Value
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/f_dist.html">F Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/gamma_dist.html">Gamma (and
+ Erlang) Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/geometric_dist.html">Geometric
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/hyperexponential_dist.html">Hyperexponential
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/hypergeometric_dist.html">Hypergeometric
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/inverse_chi_squared_dist.html">Inverse
+ Chi Squared Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/inverse_gamma_dist.html">Inverse
+ Gamma Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/inverse_gaussian_dist.html">Inverse
+ Gaussian (or Inverse Normal) Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/laplace_dist.html">Laplace Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/logistic_dist.html">Logistic
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/lognormal_dist.html">Log Normal
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/negative_binomial_dist.html">Negative
+ Binomial Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/nc_beta_dist.html">Noncentral
+ Beta Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/nc_chi_squared_dist.html">Noncentral
+ Chi-Squared Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/nc_f_dist.html">Noncentral F
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/nc_t_dist.html">Noncentral T
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/normal_dist.html">Normal (Gaussian)
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/pareto.html">Pareto Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/poisson_dist.html">Poisson Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/rayleigh.html">Rayleigh Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/skew_normal_dist.html">Skew
+ Normal Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/students_t_dist.html">Students
+ t Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/triangular_dist.html">Triangular
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/uniform_dist.html">Uniform Distribution</a></span></dt>
+<dt><span class="section"><a href="dist_ref/dists/weibull_dist.html">Weibull Distribution</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="dist_ref/dist_algorithms.html">Distribution Algorithms</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stat_tut/dist_params.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_ref/nmp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dist_algorithms.html b/libs/math/doc/html/math_toolkit/dist_ref/dist_algorithms.html
new file mode 100644
index 0000000000..5fa251e87b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dist_algorithms.html
@@ -0,0 +1,136 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Distribution Algorithms</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dist_ref.html" title="Statistical Distributions Reference">
+<link rel="prev" href="dists/weibull_dist.html" title="Weibull Distribution">
+<link rel="next" href="../future.html" title="Extras/Future Directions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dists/weibull_dist.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../future.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.dist_ref.dist_algorithms"></a><a class="link" href="dist_algorithms.html" title="Distribution Algorithms">Distribution Algorithms</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.dist_ref.dist_algorithms.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dist_algorithms.finding_the_location_and_scale_f"></a></span><a class="link" href="dist_algorithms.html#math_toolkit.dist_ref.dist_algorithms.finding_the_location_and_scale_f">Finding
+ the Location and Scale for Normal and similar distributions</a>
+ </h5>
+<p>
+ Two functions aid finding location and scale of random variable z to give
+ probability p (given a scale or location). Only applies to distributions
+ like normal, lognormal, extreme value, Cauchy, (and symmetrical triangular),
+ that have scale and location properties.
+ </p>
+<p>
+ These functions are useful to predict the mean and/or standard deviation
+ that will be needed to meet a specified minimum weight or maximum dose.
+ </p>
+<p>
+ Complement versions are also provided, both with explicit and implicit (default)
+ policy.
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span> <span class="comment">// May be needed by users defining their own policies.</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span> <span class="comment">// Will be needed by users who want to use complements.</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dist_algorithms.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dist_algorithms.find_location_function"></a></span><a class="link" href="dist_algorithms.html#math_toolkit.dist_ref.dist_algorithms.find_location_function">find_location
+ function</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span> <span class="comment">// explicit error handling policy</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_location</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
+ <span class="comment">// For example, a nominal minimum acceptable z, so that p * 100 % are &gt; z</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">scale</span><span class="special">,</span> <span class="comment">// scale parameter, for example, normal standard deviation.</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">&gt;</span> <span class="comment">// with default policy.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_location</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
+ <span class="comment">// For example, a nominal minimum acceptable z, so that p * 100 % are &gt; z</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">scale</span><span class="special">);</span> <span class="comment">// scale parameter, for example, normal standard deviation.</span>
+
+ <span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dist_algorithms.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dist_algorithms.find_scale_function"></a></span><a class="link" href="dist_algorithms.html#math_toolkit.dist_ref.dist_algorithms.find_scale_function">find_scale
+ function</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_scale</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
+ <span class="comment">// For example, a nominal minimum acceptable weight z, so that p * 100 % are &gt; z</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">location</span><span class="special">,</span> <span class="comment">// location parameter, for example, normal distribution mean.</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">&gt;</span> <span class="comment">// with default policy.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_scale</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
+ <span class="comment">// For example, a nominal minimum acceptable z, so that p * 100 % are &gt; z</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">location</span><span class="special">)</span> <span class="comment">// location parameter, for example, normal distribution mean.</span>
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ All argument must be finite, otherwise <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called.
+ </p>
+<p>
+ Probability arguments must be [0, 1], otherwise <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called.
+ </p>
+<p>
+ If the choice of arguments would give a negative scale, <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called, unless the policy is to ignore, when the negative (impossible)
+ value of scale is returned.
+ </p>
+<p>
+ <a class="link" href="../stat_tut/weg/find_eg.html" title="Find Location and Scale Examples">Find Mean and standard
+ deviation examples</a> gives simple examples of use of both find_scale
+ and find_location, and a longer example finding means and standard deviations
+ of normally distributed weights to meet a specification.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dists/weibull_dist.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../future.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists.html b/libs/math/doc/html/math_toolkit/dist_ref/dists.html
new file mode 100644
index 0000000000..1cf1a59f18
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Distributions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dist_ref.html" title="Statistical Distributions Reference">
+<link rel="prev" href="nmp.html" title="Non-Member Properties">
+<link rel="next" href="dists/bernoulli_dist.html" title="Bernoulli Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nmp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists/bernoulli_dist.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.dist_ref.dists"></a><a class="link" href="dists.html" title="Distributions">Distributions</a>
+</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="dists/bernoulli_dist.html">Bernoulli
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/beta_dist.html">Beta Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/binomial_dist.html">Binomial
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/cauchy_dist.html">Cauchy-Lorentz
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/chi_squared_dist.html">Chi Squared
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/exp_dist.html">Exponential Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/extreme_dist.html">Extreme Value
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/f_dist.html">F Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/gamma_dist.html">Gamma (and
+ Erlang) Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/geometric_dist.html">Geometric
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/hyperexponential_dist.html">Hyperexponential
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/hypergeometric_dist.html">Hypergeometric
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/inverse_chi_squared_dist.html">Inverse
+ Chi Squared Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/inverse_gamma_dist.html">Inverse
+ Gamma Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/inverse_gaussian_dist.html">Inverse
+ Gaussian (or Inverse Normal) Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/laplace_dist.html">Laplace Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/logistic_dist.html">Logistic
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/lognormal_dist.html">Log Normal
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/negative_binomial_dist.html">Negative
+ Binomial Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/nc_beta_dist.html">Noncentral
+ Beta Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/nc_chi_squared_dist.html">Noncentral
+ Chi-Squared Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/nc_f_dist.html">Noncentral F
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/nc_t_dist.html">Noncentral T
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/normal_dist.html">Normal (Gaussian)
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/pareto.html">Pareto Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/poisson_dist.html">Poisson Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/rayleigh.html">Rayleigh Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/skew_normal_dist.html">Skew
+ Normal Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/students_t_dist.html">Students
+ t Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/triangular_dist.html">Triangular
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/uniform_dist.html">Uniform Distribution</a></span></dt>
+<dt><span class="section"><a href="dists/weibull_dist.html">Weibull Distribution</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nmp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists/bernoulli_dist.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html
new file mode 100644
index 0000000000..d8bc0819ed
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/bernoulli_dist.html
@@ -0,0 +1,356 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bernoulli Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="../dists.html" title="Distributions">
+<link rel="next" href="beta_dist.html" title="Beta Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../dists.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.bernoulli_dist"></a><a class="link" href="bernoulli_dist.html" title="Bernoulli Distribution">Bernoulli
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">bernoulli</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">bernoulli_distribution</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">bernoulli_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">bernoulli</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">bernoulli_distribution</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">bernoulli_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// Constructor.</span>
+ <span class="comment">// Accessor function.</span>
+ <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span>
+ <span class="comment">// Probability of success (as a fraction).</span>
+ <span class="special">};</span>
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The Bernoulli distribution is a discrete distribution of the outcome of
+ a single trial with only two results, 0 (failure) or 1 (success), with
+ a probability of success p.
+ </p>
+<p>
+ The Bernoulli distribution is the simplest building block on which other
+ discrete distributions of sequences of independent Bernoulli trials can
+ be based.
+ </p>
+<p>
+ The Bernoulli is the binomial distribution (k = 1, p) with only one trial.
+ </p>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function pdf</a> f(0) = 1 - p, f(1) = p. <a href="http://en.wikipedia.org/wiki/Cumulative_Distribution_Function" target="_top">Cumulative
+ distribution function</a> D(k) = if (k == 0) 1 - p else 1.
+ </p>
+<p>
+ The following graph illustrates how the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function pdf</a> varies with the outcome of the single trial:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/bernoulli_pdf.png" align="middle"></span>
+ </p>
+<p>
+ and the <a href="http://en.wikipedia.org/wiki/Cumulative_Distribution_Function" target="_top">Cumulative
+ distribution function</a>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/bernoulli_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.bernoulli_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.bernoulli_dist.member_functions"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist_ref.dists.bernoulli_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">bernoulli_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a <a href="http://en.wikipedia.org/wiki/bernoulli_distribution" target="_top">bernoulli
+ distribution</a> with success_fraction <span class="emphasis"><em>p</em></span>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>success_fraction</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.bernoulli_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.bernoulli_dist.non_member_accessors"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist_ref.dists.bernoulli_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is 0 and 1, and the useful supported
+ range is only 0 or 1.
+ </p>
+<p>
+ Outside this range, functions are undefined, or may throw domain_error
+ exception and make an error message available.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.bernoulli_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.bernoulli_dist.accuracy"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist_ref.dists.bernoulli_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The Bernoulli distribution is implemented with simple arithmetic operators
+ and so should have errors within an epsilon or two.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.bernoulli_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.bernoulli_dist.implementation"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist_ref.dists.bernoulli_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>p</em></span> is the probability of success
+ and <span class="emphasis"><em>q = 1-p</em></span>. <span class="emphasis"><em>k</em></span> is the random
+ variate, either 0 or 1.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The Bernoulli distribution is implemented here as a <span class="emphasis"><em>strict
+ discrete</em></span> distribution. If a generalised version, allowing
+ k to be any real, is required then the binomial distribution with a single
+ trial should be used, for example:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="number">1</span><span class="special">,</span>
+ <span class="number">0.25</span><span class="special">)</span></code>
+ </p>
+</td></tr>
+</table></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Supported range
+ </p>
+ </td>
+<td>
+ <p>
+ {0, 1}
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = 1 - p for k = 0, else p
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: cdf = 1 - p for k = 0, else 1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ q = 1 - p
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ if x &lt;= (1-p) 0 else 1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ if x &lt;= (1-p) 1 else 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ p
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ p * (1 - p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ if (p &lt; 0.5) 0 else 1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ (1 - 2 * p) / sqrt(p * q)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 6 * p * p - 6 * p +1/ p * q
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ kurtosis -3
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.bernoulli_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.bernoulli_dist.references"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist_ref.dists.bernoulli_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Wikpedia
+ Bernoulli distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/BernoulliDistribution.html" target="_top">Weisstein,
+ Eric W. "Bernoulli Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../dists.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/beta_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/beta_dist.html
new file mode 100644
index 0000000000..7ca1ca0d58
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/beta_dist.html
@@ -0,0 +1,622 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Beta Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="bernoulli_dist.html" title="Bernoulli Distribution">
+<link rel="next" href="binomial_dist.html" title="Binomial Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bernoulli_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.beta_dist"></a><a class="link" href="beta_dist.html" title="Beta Distribution">Beta Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">beta_distribution</span><span class="special">;</span>
+
+<span class="comment">// typedef beta_distribution&lt;double&gt; beta;</span>
+<span class="comment">// Note that this is deliberately NOT provided,</span>
+<span class="comment">// to avoid a clash with the function name beta.</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">beta_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Constructor from two shape parameters, alpha &amp; beta:</span>
+ <span class="identifier">beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">b</span><span class="special">);</span>
+
+ <span class="comment">// Parameter accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Parameter estimators of alpha or beta from mean and variance.</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
+ <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
+
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
+ <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
+
+ <span class="comment">// Parameter estimators from from</span>
+ <span class="comment">// either alpha or beta, and x and probability.</span>
+
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="comment">// from beta.</span>
+ <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// x.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// cdf</span>
+
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="comment">// alpha.</span>
+ <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// probability x.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf.</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The class type <code class="computeroutput"><span class="identifier">beta_distribution</span></code>
+ represents a <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">beta
+ </a> <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">probability
+ distribution function</a>.
+ </p>
+<p>
+ The <a href="http://mathworld.wolfram.com/BetaDistribution.htm" target="_top">beta
+ distribution </a> is used as a <a href="http://en.wikipedia.org/wiki/Prior_distribution" target="_top">prior
+ distribution</a> for binomial proportions in <a href="http://mathworld.wolfram.com/BayesianAnalysis.html" target="_top">Bayesian
+ analysis</a>.
+ </p>
+<p>
+ See also: <a href="http://documents.wolfram.com/calculationcenter/v2/Functions/ListsMatrices/Statistics/BetaDistribution.html" target="_top">beta
+ distribution</a> and <a href="http://en.wikipedia.org/wiki/Bayesian_statistics" target="_top">Bayesian
+ statistics</a>.
+ </p>
+<p>
+ How the beta distribution is used for <a href="http://home.uchicago.edu/~grynav/bayes/ABSLec5.ppt" target="_top">Bayesian
+ analysis of one parameter models</a> is discussed by Jeff Grynaviski.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function PDF</a> for the <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">beta
+ distribution</a> defined on the interval [0,1] is given by:
+ </p>
+<p>
+ f(x;&#945;,&#946;) = x<sup>&#945; - 1</sup> (1 - x)<sup>&#946; -1</sup> / B(&#945;, &#946;)
+ </p>
+<p>
+ where B(&#945;, &#946;) is the <a href="http://en.wikipedia.org/wiki/Beta_function" target="_top">beta
+ function</a>, implemented in this library as <a class="link" href="../../sf_beta/beta_function.html" title="Beta">beta</a>.
+ Division by the beta function ensures that the pdf is normalized to the
+ range zero to unity.
+ </p>
+<p>
+ The following graph illustrates examples of the pdf for various values
+ of the shape parameters. Note the &#945; = &#946; = 2 (blue line) is dome-shaped, and
+ might be approximated by a symmetrical triangular distribution.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/beta_pdf.png" align="middle"></span>
+ </p>
+<p>
+ If &#945; = &#946; = 1, then it is a __space <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
+ distribution</a>, equal to unity in the entire interval x = 0 to 1.
+ If &#945; __space and &#946; __space are &lt; 1, then the pdf is U-shaped. If &#945; != &#946;, then
+ the shape is asymmetric and could be approximated by a triangle whose apex
+ is away from the centre (where x = half).
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.member_functions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<h6>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.constructor"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.constructor">Constructor</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a beta distribution with shape parameters <span class="emphasis"><em>alpha</em></span>
+ and <span class="emphasis"><em>beta</em></span>.
+ </p>
+<p>
+ Requires alpha,beta &gt; 0,otherwise <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called. Note that technically the beta distribution is defined for alpha,beta
+ &gt;= 0, but it's not clear whether any program can actually make use of
+ that latitude or how many of the non-member functions can be usefully defined
+ in that case. Therefore for now, we regard it as an error if alpha or beta
+ is zero.
+ </p>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybeta</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a the beta distribution with alpha=2 and beta=5 (shown in yellow
+ in the graph above).
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.parameter_accessors"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.parameter_accessors">Parameter
+ Accessors</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>alpha</em></span> from which this distribution
+ was constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>beta</em></span> from which this distribution
+ was constructed.
+ </p>
+<p>
+ So for example:
+ </p>
+<pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybeta</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">mybeta</span><span class="special">.</span><span class="identifier">alpha</span><span class="special">()</span> <span class="special">==</span> <span class="number">2.</span><span class="special">);</span> <span class="comment">// mybeta.alpha() returns 2</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">mybeta</span><span class="special">.</span><span class="identifier">beta</span><span class="special">()</span> <span class="special">==</span> <span class="number">5.</span><span class="special">);</span> <span class="comment">// mybeta.beta() returns 5</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.parameter_estimators"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.parameter_estimators">Parameter
+ Estimators</a>
+ </h5>
+<p>
+ Two pairs of parameter estimators are provided.
+ </p>
+<p>
+ One estimates either &#945; __space or &#946; __space from presumed-known mean and variance.
+ </p>
+<p>
+ The other pair estimates either &#945; __space or &#946; __space from the cdf and x.
+ </p>
+<p>
+ It is also possible to estimate &#945; __space and &#946; __space from 'known' mode &amp;
+ quantile. For example, calculators are provided by the <a href="http://www.ausvet.com.au/pprev/content.php?page=PPscript" target="_top">Pooled
+ Prevalence Calculator</a> and <a href="http://www.epi.ucdavis.edu/diagnostictests/betabuster.html" target="_top">Beta
+ Buster</a> but this is not yet implemented here.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
+ <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
+</pre>
+<p>
+ Returns the unique value of &#945; &#160; that corresponds to a beta distribution with
+ mean <span class="emphasis"><em>mean</em></span> and variance <span class="emphasis"><em>variance</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
+ <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
+</pre>
+<p>
+ Returns the unique value of &#946; &#160; that corresponds to a beta distribution with
+ mean <span class="emphasis"><em>mean</em></span> and variance <span class="emphasis"><em>variance</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="comment">// from beta.</span>
+ <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// x.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf</span>
+</pre>
+<p>
+ Returns the value of &#945; &#160; that gives: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">beta_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">beta</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">probability</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="comment">// alpha.</span>
+ <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// probability x.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf.</span>
+</pre>
+<p>
+ Returns the value of &#946; &#160; that gives: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">beta_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">beta</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">probability</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.non_member_accessor_functions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.non_member_accessor_functions">Non-member
+ Accessor Functions</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The formulae for calculating these are shown in the table below, and at
+ <a href="http://mathworld.wolfram.com/BetaDistribution.html" target="_top">Wolfram
+ Mathworld</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.applications"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.applications">Applications</a>
+ </h5>
+<p>
+ The beta distribution can be used to model events constrained to take place
+ within an interval defined by a minimum and maximum value: so it is used
+ in project management systems.
+ </p>
+<p>
+ It is also widely used in <a href="http://en.wikipedia.org/wiki/Bayesian_inference" target="_top">Bayesian
+ statistical inference</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h6"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.related_distributions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.related_distributions">Related
+ distributions</a>
+ </h5>
+<p>
+ The beta distribution with both &#945; __space and &#946; = 1 follows a <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
+ distribution</a>.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">triangular</a>
+ is used when less precise information is available.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Binomial_distribution" target="_top">binomial
+ distribution</a> is closely related when &#945; __space and &#946; __space are integers.
+ </p>
+<p>
+ With integer values of &#945; __space and &#946; __space the distribution B(i, j) is
+ that of the j-th highest of a sample of i + j + 1 independent random variables
+ uniformly distributed between 0 and 1. The cumulative probability from
+ 0 to x is thus the probability that the j-th highest value is less than
+ x. Or it is the probability that that at least i of the random variables
+ are less than x, a probability given by summing over the <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> with its p parameter set to x.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h7"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.accuracy"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This distribution is implemented using the <a class="link" href="../../sf_beta/beta_function.html" title="Beta">beta
+ functions</a> <a class="link" href="../../sf_beta/beta_function.html" title="Beta">beta</a>
+ and <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">incomplete beta
+ functions</a> <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>;
+ please refer to these functions for information on accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h8"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.implementation"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
+ are the parameters &#945; &#160; and &#946;, <span class="emphasis"><em>x</em></span> is the random variable,
+ <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ f(x;&#945;,&#946;) = x<sup>&#945; - 1</sup> (1 - x)<sup>&#946; -1</sup> / B(&#945;, &#946;)
+ </p>
+ <p>
+ Implemented using <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>(a,
+ b, x).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the incomplete beta function <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(a,
+ b, x)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(a,
+ b, x)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the inverse incomplete beta function <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>(a,
+ b, p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>(a,
+ b, q)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span> <span class="special">*</span>
+ <span class="identifier">b</span> <span class="special">/</span>
+ <span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)^</span><span class="number">2</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">+</span>
+ <span class="identifier">b</span> <span class="special">+</span>
+ <span class="number">1</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="identifier">a</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">/</span>
+ <span class="special">(</span><span class="identifier">a</span>
+ <span class="special">+</span> <span class="identifier">b</span>
+ <span class="special">-</span> <span class="number">2</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="number">2</span> <span class="special">(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span>
+ <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">1</span><span class="special">)/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">2</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span>
+ <span class="special">*</span> <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/beta_dist_kurtosis.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">kurtosis</span> <span class="special">+</span>
+ <span class="number">3</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ parameter estimation
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ alpha
+ </p>
+ <p>
+ from mean and variance
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mean</span> <span class="special">*</span>
+ <span class="special">((</span> <span class="special">(</span><span class="identifier">mean</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span> <span class="special">/</span>
+ <span class="identifier">variance</span><span class="special">)-</span>
+ <span class="number">1</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ beta
+ </p>
+ <p>
+ from mean and variance
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">*</span>
+ <span class="special">(((</span><span class="identifier">mean</span>
+ <span class="special">*</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span>
+ <span class="special">/</span><span class="identifier">variance</span><span class="special">)-</span><span class="number">1</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The member functions <code class="computeroutput"><span class="identifier">find_alpha</span></code>
+ and <code class="computeroutput"><span class="identifier">find_beta</span></code>
+ </p>
+ <p>
+ from cdf and probability x
+ </p>
+ <p>
+ and <span class="bold"><strong>either</strong></span> <code class="computeroutput"><span class="identifier">alpha</span></code>
+ or <code class="computeroutput"><span class="identifier">beta</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Implemented in terms of the inverse incomplete beta functions
+ </p>
+ <p>
+ <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ and <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
+ respectively.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_alpha</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">beta</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">,</span>
+ <span class="identifier">probability</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_beta</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">,</span>
+ <span class="identifier">probability</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.beta_dist.h9"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.beta_dist.references"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist_ref.dists.beta_dist.references">References</a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">Wikipedia Beta
+ distribution</a>
+ </p>
+<p>
+ <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda366h.htm" target="_top">NIST
+ Exploratory Data Analysis</a>
+ </p>
+<p>
+ <a href="http://mathworld.wolfram.com/BetaDistribution.html" target="_top">Wolfram
+ MathWorld</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bernoulli_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html
new file mode 100644
index 0000000000..f2e7020ea4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/binomial_dist.html
@@ -0,0 +1,908 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binomial Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="beta_dist.html" title="Beta Distribution">
+<link rel="next" href="cauchy_dist.html" title="Cauchy-Lorentz Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="beta_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cauchy_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.binomial_dist"></a><a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">binomial_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">binomial</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">binomial_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">;</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">jeffreys_prior_interval</span><span class="special">;</span>
+
+ <span class="comment">// construct:</span>
+ <span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+
+ <span class="comment">// parameter access::</span>
+ <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Bounds on success fraction:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">,</span>
+ <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">,</span>
+ <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
+
+ <span class="comment">// estimate min/max number of trials:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// risk level</span>
+
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// risk level</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The class type <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
+ represents a <a href="http://mathworld.wolfram.com/BinomialDistribution.html" target="_top">binomial
+ distribution</a>: it is used when there are exactly two mutually exclusive
+ outcomes of a trial. These outcomes are labelled "success" and
+ "failure". The <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> is used to obtain the probability of observing k successes
+ in N trials, with the probability of success on a single trial denoted
+ by p. The binomial distribution assumes that p is fixed for all trials.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The random variable for the binomial distribution is the number of successes,
+ (the number of trials is a fixed property of the distribution) whereas
+ for the negative binomial, the random variable is the number of trials,
+ for a fixed number of successes.
+ </p></td></tr>
+</table></div>
+<p>
+ The PDF for the binomial distribution is given by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/binomial_ref2.png"></span>
+ </p>
+<p>
+ The following two graphs illustrate how the PDF changes depending upon
+ the distributions parameters, first we'll keep the success fraction <span class="emphasis"><em>p</em></span>
+ fixed at 0.5, and vary the sample size:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/binomial_pdf_1.png" align="middle"></span>
+ </p>
+<p>
+ Alternatively, we can keep the sample size fixed at N=20 and vary the success
+ fraction <span class="emphasis"><em>p</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/binomial_pdf_2.png" align="middle"></span>
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The Binomial distribution is a discrete distribution: internally, functions
+ like the <code class="computeroutput"><span class="identifier">cdf</span></code> and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated "as if" they
+ are continuous functions, but in reality the results returned from these
+ functions only have meaning if an integer value is provided for the random
+ variate argument.
+ </p>
+<p>
+ The quantile function will by default return an integer result that has
+ been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower quantiles
+ (where the probability is less than 0.5) are rounded downward, and upper
+ quantiles (where the probability is greater than 0.5) are rounded upwards.
+ This behaviour ensures that if an X% quantile is requested, then <span class="emphasis"><em>at
+ least</em></span> the requested coverage will be present in the central
+ region, and <span class="emphasis"><em>no more than</em></span> the requested coverage
+ will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently, or even return a real-valued result using <a class="link" href="../../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile
+ function on the Binomial distribution. The <a class="link" href="../../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.member_functions"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<h6>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.construct"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.construct">Construct</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ Constructor: <span class="emphasis"><em>n</em></span> is the total number of trials, <span class="emphasis"><em>p</em></span>
+ is the probability of success of a single trial.
+ </p>
+<p>
+ Requires <code class="computeroutput"><span class="number">0</span> <span class="special">&lt;=</span>
+ <span class="identifier">p</span> <span class="special">&lt;=</span>
+ <span class="number">1</span></code>, and <code class="computeroutput"><span class="identifier">n</span>
+ <span class="special">&gt;=</span> <span class="number">0</span></code>,
+ otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.accessors"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.accessors">Accessors</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>p</em></span> from which this distribution
+ was constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>n</em></span> from which this distribution
+ was constructed.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.lower_bound_on_the_success_fract"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.lower_bound_on_the_success_fract">Lower
+ Bound on the Success Fraction</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
+ <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
+</pre>
+<p>
+ Returns a lower bound on the success fraction:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">trials</span></dt>
+<dd><p>
+ The total number of trials conducted.
+ </p></dd>
+<dt><span class="term">successes</span></dt>
+<dd><p>
+ The number of successes that occurred.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The largest acceptable probability that the true value of the success
+ fraction is <span class="bold"><strong>less than</strong></span> the value
+ returned.
+ </p></dd>
+<dt><span class="term">method</span></dt>
+<dd><p>
+ An optional parameter that specifies the method to be used to compute
+ the interval (See below).
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
+ trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
+ but if you want to be 95% sure that the true value is <span class="bold"><strong>greater
+ than</strong></span> some value, <span class="emphasis"><em>p<sub>min</sub></em></span>, then:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span><sub>min</sub> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">n</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ <a class="link" href="../../stat_tut/weg/binom_eg/binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">See worked
+ example.</a>
+ </p>
+<p>
+ There are currently two possible values available for the <span class="emphasis"><em>method</em></span>
+ optional parameter: <span class="emphasis"><em>clopper_pearson_exact_interval</em></span>
+ or <span class="emphasis"><em>jeffreys_prior_interval</em></span>. These constants are both
+ members of class template <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>,
+ so usage is for example:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">n</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">jeffreys_prior_interval</span><span class="special">);</span>
+</pre>
+<p>
+ The default method if this parameter is not specified is the Clopper Pearson
+ "exact" interval. This produces an interval that guarantees at
+ least <code class="computeroutput"><span class="number">100</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">)%</span></code> coverage, but which is known to be overly
+ conservative, sometimes producing intervals with much greater than the
+ requested coverage.
+ </p>
+<p>
+ The alternative calculation method produces a non-informative Jeffreys
+ Prior interval. It produces <code class="computeroutput"><span class="number">100</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">)%</span></code>
+ coverage only <span class="emphasis"><em>in the average case</em></span>, though is typically
+ very close to the requested coverage level. It is one of the main methods
+ of calculation recommended in the review by Brown, Cai and DasGupta.
+ </p>
+<p>
+ Please note that the "textbook" calculation method using a normal
+ approximation (the Wald interval) is deliberately not provided: it is known
+ to produce consistently poor results, even when the sample size is surprisingly
+ large. Refer to Brown, Cai and DasGupta for a full explanation. Many other
+ methods of calculation are available, and may be more appropriate for specific
+ situations. Unfortunately there appears to be no consensus amongst statisticians
+ as to which is "best": refer to the discussion at the end of
+ Brown, Cai and DasGupta for examples.
+ </p>
+<p>
+ The two methods provided here were chosen principally because they can
+ be used for both one and two sided intervals. See also:
+ </p>
+<p>
+ Lawrence D. Brown, T. Tony Cai and Anirban DasGupta (2001), Interval Estimation
+ for a Binomial Proportion, Statistical Science, Vol. 16, No. 2, 101-133.
+ </p>
+<p>
+ T. Tony Cai (2005), One-sided confidence intervals in discrete distributions,
+ Journal of Statistical Planning and Inference 131, 63-88.
+ </p>
+<p>
+ Agresti, A. and Coull, B. A. (1998). Approximate is better than "exact"
+ for interval estimation of binomial proportions. Amer. Statist. 52 119-126.
+ </p>
+<p>
+ Clopper, C. J. and Pearson, E. S. (1934). The use of confidence or fiducial
+ limits illustrated in the case of the binomial. Biometrika 26 404-413.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.upper_bound_on_the_success_fract"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.upper_bound_on_the_success_fract">Upper
+ Bound on the Success Fraction</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
+ <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
+</pre>
+<p>
+ Returns an upper bound on the success fraction:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">trials</span></dt>
+<dd><p>
+ The total number of trials conducted.
+ </p></dd>
+<dt><span class="term">successes</span></dt>
+<dd><p>
+ The number of successes that occurred.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The largest acceptable probability that the true value of the success
+ fraction is <span class="bold"><strong>greater than</strong></span> the value
+ returned.
+ </p></dd>
+<dt><span class="term">method</span></dt>
+<dd><p>
+ An optional parameter that specifies the method to be used to compute
+ the interval. Refer to the documentation for <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
+ above for the meaning of the method options.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
+ trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
+ but if you want to be 95% sure that the true value is <span class="bold"><strong>less
+ than</strong></span> some value, <span class="emphasis"><em>p<sub>max</sub></em></span>, then:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span><sub>max</sub> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">n</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ <a class="link" href="../../stat_tut/weg/binom_eg/binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">See worked
+ example.</a>
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ In order to obtain a two sided bound on the success fraction, you call
+ both <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
+ <span class="bold"><strong>and</strong></span> <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
+ each with the same arguments.
+ </p>
+<p>
+ If the desired risk level that the true success fraction lies outside
+ the bounds is &#945;, then you pass &#945;/2 to these functions.
+ </p>
+<p>
+ So for example a two sided 95% confidence interval would be obtained
+ by passing &#945; = 0.025 to each of the functions.
+ </p>
+<p>
+ <a class="link" href="../../stat_tut/weg/binom_eg/binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">See worked
+ example.</a>
+ </p>
+</td></tr>
+</table></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.estimating_the_number_of_trials_"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.estimating_the_number_of_trials_">Estimating
+ the Number of Trials Required for a Certain Number of Successes</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold</span>
+</pre>
+<p>
+ This function estimates the minimum number of trials required to ensure
+ that more than k events is observed with a level of risk <span class="emphasis"><em>alpha</em></span>
+ that k or fewer events occur.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">k</span></dt>
+<dd><p>
+ The number of success observed.
+ </p></dd>
+<dt><span class="term">p</span></dt>
+<dd><p>
+ The probability of success for each trial.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable probability that k events or fewer will be
+ observed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the smallest number of trials we must conduct to be 95% sure of
+ seeing 10 events that occur with frequency one half.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h6"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.estimating_the_maximum_number_of"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.estimating_the_maximum_number_of">Estimating
+ the Maximum Number of Trials to Ensure no more than a Certain Number of
+ Successes</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold</span>
+</pre>
+<p>
+ This function estimates the maximum number of trials we can conduct to
+ ensure that k successes or fewer are observed, with a risk <span class="emphasis"><em>alpha</em></span>
+ that more than k occur.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">k</span></dt>
+<dd><p>
+ The number of success observed.
+ </p></dd>
+<dt><span class="term">p</span></dt>
+<dd><p>
+ The probability of success for each trial.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable probability that more than k events will be
+ observed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1e-6</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the largest number of trials we can conduct and still be 95% certain
+ of not observing any events that occur with one in a million frequency.
+ This is typically used in failure analysis.
+ </p>
+<p>
+ <a class="link" href="../../stat_tut/weg/binom_eg/binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">See Worked
+ Example.</a>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h7"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.non_member_accessors"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain for the random variable <span class="emphasis"><em>k</em></span> is <code class="computeroutput"><span class="number">0</span> <span class="special">&lt;=</span> <span class="identifier">k</span> <span class="special">&lt;=</span> <span class="identifier">N</span></code>, otherwise a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is returned.
+ </p>
+<p>
+ It's worth taking a moment to define what these accessors actually mean
+ in the context of this distribution:
+ </p>
+<div class="table">
+<a name="math_toolkit.dist_ref.dists.binomial_dist.meaning_of_the_non_member_access"></a><p class="title"><b>Table&#160;5.1.&#160;Meaning of the non-member accessors</b></p>
+<div class="table-contents"><table class="table" summary="Meaning of the non-member accessors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density
+ Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>exactly k
+ successes</strong></span> from n trials with success fraction p. For
+ example:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">p</span><span class="special">),</span>
+ <span class="identifier">k</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution
+ Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>k successes
+ or fewer</strong></span> from n trials with success fraction p. For
+ example:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">p</span><span class="special">),</span>
+ <span class="identifier">k</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement of
+ the Cumulative Distribution Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>more than
+ k successes</strong></span> from n trials with success fraction p.
+ For example:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">p</span><span class="special">),</span>
+ <span class="identifier">k</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The <span class="bold"><strong>greatest</strong></span> number of successes
+ that may be observed from n trials with success fraction p, at
+ probability P. Note that the value returned is a real-number,
+ and not an integer. Depending on the use case you may want to
+ take either the floor or ceiling of the result. For example:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">p</span><span class="special">),</span>
+ <span class="identifier">P</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile_c">Quantile
+ from the complement of the probability</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The <span class="bold"><strong>smallest</strong></span> number of successes
+ that may be observed from n trials with success fraction p, at
+ probability P. Note that the value returned is a real-number,
+ and not an integer. Depending on the use case you may want to
+ take either the floor or ceiling of the result. For example:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">p</span><span class="special">),</span>
+ <span class="identifier">P</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h8"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.examples"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.examples">Examples</a>
+ </h5>
+<p>
+ Various <a class="link" href="../../stat_tut/weg/binom_eg.html" title="Binomial Distribution Examples">worked examples</a>
+ are available illustrating the use of the binomial distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h9"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.accuracy"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This distribution is implemented using the incomplete beta functions <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a> and <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>,
+ please refer to these functions for information on accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h10"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.implementation"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>p</em></span> is the probability that one
+ trial will be successful (the success fraction), <span class="emphasis"><em>n</em></span>
+ is the number of trials, <span class="emphasis"><em>k</em></span> is the number of successes,
+ <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Implementation is in terms of <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>:
+ if <sub>n</sub>C<sub>k </sub> is the binomial coefficient of a and b, then we have:
+ </p>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/binomial_ref1.png"></span>
+ </p>
+ <p>
+ Which can be evaluated as <code class="computeroutput"><span class="identifier">ibeta_derivative</span><span class="special">(</span><span class="identifier">k</span><span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="identifier">n</span><span class="special">-</span><span class="identifier">k</span><span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
+ <span class="special">(</span><span class="identifier">n</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code>
+ </p>
+ <p>
+ The function <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>
+ is used here, since it has already been optimised for the lowest
+ possible error - indeed this is really just a thin wrapper around
+ part of the internals of the incomplete beta function.
+ </p>
+ <p>
+ There are also various special cases: refer to the code for details.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">I</span><span class="special">[</span><span class="identifier">sub</span> <span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">](</span><span class="identifier">n</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">k</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span>
+ <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">I</span><span class="special">[</span><span class="identifier">sub</span> <span class="identifier">p</span><span class="special">](</span><span class="identifier">k</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">)</span>
+ <span class="special">=</span> <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a><span class="special">(</span><span class="identifier">k</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span></pre>
+ <p>
+ There are also various special cases: refer to the code for details.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(k
+ + 1, n - k, p)
+ </p>
+ <p>
+ There are also various special cases: refer to the code for details.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Since the cdf is non-linear in variate <span class="emphasis"><em>k</em></span>
+ none of the inverse incomplete beta functions can be used here.
+ Instead the quantile is found numerically using a derivative
+ free method (<a class="link" href="../../internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">TOMS
+ Algorithm 748</a>).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Found numerically as above.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">p</span> <span class="special">*</span>
+ <span class="identifier">n</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">p</span> <span class="special">*</span>
+ <span class="identifier">n</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">p</span> <span class="special">*</span>
+ <span class="special">(</span><span class="identifier">n</span>
+ <span class="special">+</span> <span class="number">1</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="number">2</span>
+ <span class="special">*</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
+ <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">n</span> <span class="special">*</span>
+ <span class="identifier">p</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">p</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="number">3</span> <span class="special">-</span>
+ <span class="special">(</span><span class="number">6</span>
+ <span class="special">/</span> <span class="identifier">n</span><span class="special">)</span> <span class="special">+</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">/</span> <span class="special">(</span><span class="identifier">n</span> <span class="special">*</span>
+ <span class="identifier">p</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">p</span><span class="special">)))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="number">6</span>
+ <span class="special">*</span> <span class="identifier">p</span>
+ <span class="special">*</span> <span class="identifier">q</span><span class="special">)</span> <span class="special">/</span>
+ <span class="special">(</span><span class="identifier">n</span>
+ <span class="special">*</span> <span class="identifier">p</span>
+ <span class="special">*</span> <span class="identifier">q</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ parameter estimation
+ </p>
+ </td>
+<td>
+ <p>
+ The member functions <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
+ <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
+ and <code class="computeroutput"><span class="identifier">find_number_of_trials</span></code>
+ are implemented in terms of the inverse incomplete beta functions
+ <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>,
+ <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>,
+ and <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
+ respectively
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.binomial_dist.h11"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.binomial_dist.references"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist_ref.dists.binomial_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/BinomialDistribution.html" target="_top">Weisstein,
+ Eric W. "Binomial Distribution." From MathWorld--A Wolfram
+ Web Resource</a>.
+ </li>
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">Wikipedia
+ binomial distribution</a>.
+ </li>
+<li class="listitem">
+ <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda366i.htm" target="_top">NIST
+ Explorary Data Analysis</a>.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="beta_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cauchy_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html
new file mode 100644
index 0000000000..f17f3bc435
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/cauchy_dist.html
@@ -0,0 +1,305 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Cauchy-Lorentz Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="binomial_dist.html" title="Binomial Distribution">
+<link rel="next" href="chi_squared_dist.html" title="Chi Squared Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binomial_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_squared_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.cauchy_dist"></a><a class="link" href="cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy-Lorentz
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">cauchy_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">cauchy_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">cauchy</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">cauchy_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">cauchy_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+
+ <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Cauchy_distribution" target="_top">Cauchy-Lorentz
+ distribution</a> is named after Augustin Cauchy and Hendrik Lorentz.
+ It is a <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">continuous
+ probability distribution</a> with <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">probability
+ distribution function PDF</a> given by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/cauchy_ref1.png"></span>
+ </p>
+<p>
+ The location parameter x<sub>0</sub> &#160; is the location of the peak of the distribution
+ (the mode of the distribution), while the scale parameter &#947; &#160; specifies half
+ the width of the PDF at half the maximum height. If the location is zero,
+ and the scale 1, then the result is a standard Cauchy distribution.
+ </p>
+<p>
+ The distribution is important in physics as it is the solution to the differential
+ equation describing forced resonance, while in spectroscopy it is the description
+ of the line shape of spectral lines.
+ </p>
+<p>
+ The following graph shows how the distributions moves as the location parameter
+ changes:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/cauchy_pdf1.png" align="middle"></span>
+ </p>
+<p>
+ While the following graph shows how the shape (scale) parameter alters
+ the distribution:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/cauchy_pdf2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.cauchy_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.cauchy_dist.member_functions"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist_ref.dists.cauchy_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">cauchy_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a Cauchy distribution, with location parameter <span class="emphasis"><em>location</em></span>
+ and scale parameter <span class="emphasis"><em>scale</em></span>. When these parameters take
+ their default values (location = 0, scale = 1) then the result is a Standard
+ Cauchy Distribution.
+ </p>
+<p>
+ Requires scale &gt; 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the location parameter of the distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the scale parameter of the distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.cauchy_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.cauchy_dist.non_member_accessors"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist_ref.dists.cauchy_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ Note however that the Cauchy distribution does not have a mean, standard
+ deviation, etc. See <a class="link" href="../../pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">mathematically
+ undefined function</a> to control whether these should fail to compile
+ with a BOOST_STATIC_ASSERTION_FAILURE, which is the default.
+ </p>
+<p>
+ Alternately, the functions <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>
+ and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>
+ will all return a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if called.
+ </p>
+<p>
+ The domain of the random variable is [-[max_value], +[min_value]].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.cauchy_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.cauchy_dist.accuracy"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist_ref.dists.cauchy_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The Cauchy distribution is implemented in terms of the standard library
+ <code class="computeroutput"><span class="identifier">tan</span></code> and <code class="computeroutput"><span class="identifier">atan</span></code>
+ functions, and as such should have very low error rates.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.cauchy_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.cauchy_dist.implementation"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist_ref.dists.cauchy_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table x<sub>0 </sub> is the location parameter of the distribution,
+ &#947; &#160; is its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate,
+ <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = 1 / (&#960; * &#947; * (1 + ((x - x<sub>0 </sub>) / &#947;)<sup>2</sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf and its complement
+ </p>
+ </td>
+<td>
+ <p>
+ The cdf is normally given by:
+ </p>
+ <p>
+ p = 0.5 + atan(x)/&#960;
+ </p>
+ <p>
+ But that suffers from cancellation error as x -&gt; -&#8734;. So recall
+ that for <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
+ <span class="number">0</span></code>:
+ </p>
+ <p>
+ atan(x) = -&#960;/2 - atan(1/x)
+ </p>
+ <p>
+ Substituting into the above we get:
+ </p>
+ <p>
+ p = -atan(1/x) ; x &lt; 0
+ </p>
+ <p>
+ So the procedure is to calculate the cdf for -fabs(x) using the
+ above formula. Note that to factor in the location and scale
+ parameters you must substitute (x - x<sub>0 </sub>) / &#947; &#160; for x in the above.
+ </p>
+ <p>
+ This procedure yields the smaller of <span class="emphasis"><em>p</em></span> and
+ <span class="emphasis"><em>q</em></span>, so the result may need subtracting from
+ 1 depending on whether we want the complement or not, and whether
+ <span class="emphasis"><em>x</em></span> is less than x<sub>0 </sub> or not.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ The same procedure is used irrespective of whether we're starting
+ from the probability or its complement. First the argument <span class="emphasis"><em>p</em></span>
+ is reduced to the range [-0.5, 0.5], then the relation
+ </p>
+ <p>
+ x = x<sub>0 </sub> &#177; &#947; &#160; / tan(&#960; * p)
+ </p>
+ <p>
+ is used to obtain the result. Whether we're adding or subtracting
+ from x<sub>0 </sub> is determined by whether we're starting from the complement
+ or not.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ The location parameter.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.cauchy_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.cauchy_dist.references"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist_ref.dists.cauchy_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Cauchy_distribution" target="_top">Cauchy-Lorentz
+ distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3663.htm" target="_top">NIST
+ Exploratory Data Analysis</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/CauchyDistribution.html" target="_top">Weisstein,
+ Eric W. "Cauchy Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binomial_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_squared_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html
new file mode 100644
index 0000000000..e5a22af4d8
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/chi_squared_dist.html
@@ -0,0 +1,411 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chi Squared Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="cauchy_dist.html" title="Cauchy-Lorentz Distribution">
+<link rel="next" href="exp_dist.html" title="Exponential Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cauchy_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.chi_squared_dist"></a><a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi Squared
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">chi_squared_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">chi_squared_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">chi_squared</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">chi_squared_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:</span>
+ <span class="identifier">chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">i</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to parameter:</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Parameter estimation:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">difference_from_mean</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">sd</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The Chi-Squared distribution is one of the most widely used distributions
+ in statistical tests. If &#967;<sub>i</sub> &#160; are &#957; &#160;
+independent, normally distributed random
+ variables with means &#956;<sub>i</sub> &#160; and variances &#963;<sub>i</sub><sup>2</sup>, then the random variable:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/chi_squ_ref1.png"></span>
+ </p>
+<p>
+ is distributed according to the Chi-Squared distribution.
+ </p>
+<p>
+ The Chi-Squared distribution is a special case of the gamma distribution
+ and has a single parameter &#957; &#160; that specifies the number of degrees of freedom.
+ The following graph illustrates how the distribution changes for different
+ values of &#957;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/chi_squared_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.chi_squared_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.chi_squared_dist.member_functions"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist_ref.dists.chi_squared_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a Chi-Squared distribution with <span class="emphasis"><em>v</em></span> degrees
+ of freedom.
+ </p>
+<p>
+ Requires v &gt; 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">difference_from_variance</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
+</pre>
+<p>
+ Estimates the sample size required to detect a difference from a nominal
+ variance in a Chi-Squared test for equal standard deviations.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">difference_from_variance</span></dt>
+<dd><p>
+ The difference from the assumed nominal variance that is to be detected:
+ Note that the sign of this value is critical, see below.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable risk of rejecting the null hypothesis when
+ it is in fact true.
+ </p></dd>
+<dt><span class="term">beta</span></dt>
+<dd><p>
+ The maximum acceptable risk of falsely failing to reject the null
+ hypothesis.
+ </p></dd>
+<dt><span class="term">variance</span></dt>
+<dd><p>
+ The nominal variance being tested against.
+ </p></dd>
+<dt><span class="term">hint</span></dt>
+<dd><p>
+ An optional hint on where to start looking for a result: the current
+ sample size would be a good choice.
+ </p></dd>
+</dl>
+</div>
+<p>
+ Note that this calculation works with <span class="emphasis"><em>variances</em></span> and
+ not <span class="emphasis"><em>standard deviations</em></span>.
+ </p>
+<p>
+ The sign of the parameter <span class="emphasis"><em>difference_from_variance</em></span>
+ is important: the Chi Squared distribution is asymmetric, and the caller
+ must decide in advance whether they are testing for a variance greater
+ than a nominal value (positive <span class="emphasis"><em>difference_from_variance</em></span>)
+ or testing for a variance less than a nominal value (negative <span class="emphasis"><em>difference_from_variance</em></span>).
+ If the latter, then obviously it is a requirement that <code class="computeroutput"><span class="identifier">variance</span>
+ <span class="special">+</span> <span class="identifier">difference_from_variance</span>
+ <span class="special">&gt;</span> <span class="number">0</span></code>,
+ since no sample can have a negative variance!
+ </p>
+<p>
+ This procedure uses the method in Diamond, W. J. (1989). Practical Experiment
+ Designs, Van-Nostrand Reinhold, New York.
+ </p>
+<p>
+ See also section on Sample sizes required in <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc232.htm" target="_top">the
+ NIST Engineering Statistics Handbook, Section 7.2.3.2</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.chi_squared_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.chi_squared_dist.non_member_accessors"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist_ref.dists.chi_squared_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ (We have followed the usual restriction of the mode to degrees of freedom
+ &gt;= 2, but note that the maximum of the pdf is actually zero for degrees
+ of freedom from 2 down to 0, and provide an extended definition that would
+ avoid a discontinuity in the mode as alternative code in a comment).
+ </p>
+<p>
+ The domain of the random variable is [0, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.chi_squared_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.chi_squared_dist.examples"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist_ref.dists.chi_squared_dist.examples">Examples</a>
+ </h5>
+<p>
+ Various <a class="link" href="../../stat_tut/weg/cs_eg.html" title="Chi Squared Distribution Examples">worked examples</a>
+ are available illustrating the use of the Chi Squared Distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.chi_squared_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.chi_squared_dist.accuracy"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist_ref.dists.chi_squared_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The Chi-Squared distribution is implemented in terms of the <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">incomplete
+ gamma functions</a>: please refer to the accuracy data for those functions.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.chi_squared_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.chi_squared_dist.implementation"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist_ref.dists.chi_squared_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>v</em></span> is the number of degrees
+ of freedom of the distribution, <span class="emphasis"><em>x</em></span> is the random variate,
+ <span class="emphasis"><em>p</em></span> is the probability, and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = <a class="link" href="../../sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(v
+ / 2, x / 2) / 2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(v
+ / 2, x / 2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(v
+ / 2, x / 2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = 2 * <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(v
+ / 2, p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = 2 * <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(v
+ / 2, p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ v
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ 2v
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ v - 2 (if v &gt;= 2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 2 * sqrt(2 / v) == sqrt(8 / v)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 3 + 12 / v
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 12 / v
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.chi_squared_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.chi_squared_dist.references"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist_ref.dists.chi_squared_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm" target="_top">NIST
+ Exploratory Data Analysis</a>
+ </li>
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Chi-square_distribution" target="_top">Chi-square
+ distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/Chi-SquaredDistribution.html" target="_top">Weisstein,
+ Eric W. "Chi-Squared Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cauchy_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/exp_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/exp_dist.html
new file mode 100644
index 0000000000..885c507a9e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/exp_dist.html
@@ -0,0 +1,328 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Exponential Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="chi_squared_dist.html" title="Chi Squared Distribution">
+<link rel="next" href="extreme_dist.html" title="Extreme Value Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="chi_squared_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extreme_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.exp_dist"></a><a class="link" href="exp_dist.html" title="Exponential Distribution">Exponential Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">exponential</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">exponential_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">exponential_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">exponential</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">exponential_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">exponential_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+
+ <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">exponential
+ distribution</a> is a <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">continuous
+ probability distribution</a> with PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/exponential_dist_ref1.png"></span>
+ </p>
+<p>
+ It is often used to model the time between independent events that happen
+ at a constant average rate.
+ </p>
+<p>
+ The following graph shows how the distribution changes for different values
+ of the rate parameter lambda:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/exponential_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.exp_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.member_functions"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">exponential_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs an <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">Exponential
+ distribution</a> with parameter <span class="emphasis"><em>lambda</em></span>. Lambda
+ is defined as the reciprocal of the scale parameter.
+ </p>
+<p>
+ Requires lambda &gt; 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Accessor function returns the lambda parameter of the distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.exp_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.non_member_accessors"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.exp_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.accuracy"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The exponential distribution is implemented in terms of the standard library
+ functions <code class="computeroutput"><span class="identifier">exp</span></code>, <code class="computeroutput"><span class="identifier">log</span></code>, <code class="computeroutput"><span class="identifier">log1p</span></code>
+ and <code class="computeroutput"><span class="identifier">expm1</span></code> and as such should
+ have very low error rates.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.exp_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.implementation"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#955; is the parameter lambda of the distribution, <span class="emphasis"><em>x</em></span>
+ is the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
+ = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = &#955; * exp(-&#955; * x)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = 1 - exp(-x * &#955;) = -expm1(-x * &#955;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = exp(-x * &#955;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = -log(1-p) / &#955; = -log1p(-p) / &#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = -log(q) / &#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ standard deviation
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 9
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.exp_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.references"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.references">references</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/ExponentialDistribution.html" target="_top">Weisstein,
+ Eric W. "Exponential Distribution." From MathWorld--A Wolfram
+ Web Resource</a>
+ </li>
+<li class="listitem">
+ <a href="http://documents.wolfram.com/calccenter/Functions/ListsMatrices/Statistics/ExponentialDistribution.html" target="_top">Wolfram
+ Mathematica calculator</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3667.htm" target="_top">NIST
+ Exploratory Data Analysis</a>
+ </li>
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">Wikipedia
+ Exponential distribution</a>
+ </li>
+</ul></div>
+<p>
+ (See also the reference documentation for the related <a class="link" href="extreme_dist.html" title="Extreme Value Distribution">Extreme
+ Distributions</a>.)
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme
+ Value Distributions, Theory and Applications Samuel Kotz &amp; Saralees
+ Nadarajah</a> discuss the relationship of the types of extreme
+ value distributions.
+ </li></ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="chi_squared_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extreme_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html
new file mode 100644
index 0000000000..10d8d7754f
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/extreme_dist.html
@@ -0,0 +1,331 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Extreme Value Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="exp_dist.html" title="Exponential Distribution">
+<link rel="next" href="f_dist.html" title="F Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exp_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.extreme_dist"></a><a class="link" href="extreme_dist.html" title="Extreme Value Distribution">Extreme Value
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">extreme</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">extreme_value_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">extreme_value_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">extreme_value</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">extreme_value_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="identifier">extreme_value_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ There are various <a href="http://mathworld.wolfram.com/ExtremeValueDistribution.html" target="_top">extreme
+ value distributions</a> : this implementation represents the maximum
+ case, and is variously known as a Fisher-Tippett distribution, a log-Weibull
+ distribution or a Gumbel distribution.
+ </p>
+<p>
+ Extreme value theory is important for assessing risk for highly unusual
+ events, such as 100-year floods.
+ </p>
+<p>
+ More information can be found on the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda366g.htm" target="_top">NIST</a>,
+ <a href="http://en.wikipedia.org/wiki/Extreme_value_distribution" target="_top">Wikipedia</a>,
+ <a href="http://mathworld.wolfram.com/ExtremeValueDistribution.html" target="_top">Mathworld</a>,
+ and <a href="http://en.wikipedia.org/wiki/Extreme_value_theory" target="_top">Extreme
+ value theory</a> websites.
+ </p>
+<p>
+ The relationship of the types of extreme value distributions, of which
+ this is but one, is discussed by <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme
+ Value Distributions, Theory and Applications Samuel Kotz &amp; Saralees
+ Nadarajah</a>.
+ </p>
+<p>
+ The distribution has a PDF given by:
+ </p>
+<p>
+ f(x) = (1/scale) e<sup>-(x-location)/scale</sup> e<sup>-e<sup>-(x-location)/scale</sup></sup>
+ </p>
+<p>
+ Which in the standard case (scale = 1, location = 0) reduces to:
+ </p>
+<p>
+ f(x) = e<sup>-x</sup>e<sup>-e<sup>-x</sup></sup>
+ </p>
+<p>
+ The following graph illustrates how the PDF varies with the location parameter:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/extreme_value_pdf1.png" align="middle"></span>
+ </p>
+<p>
+ And this graph illustrates how the PDF varies with the shape parameter:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/extreme_value_pdf2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.extreme_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.extreme_dist.member_functions"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist_ref.dists.extreme_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">extreme_value_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs an Extreme Value distribution with the specified location and
+ scale parameters.
+ </p>
+<p>
+ Requires <code class="computeroutput"><span class="identifier">scale</span> <span class="special">&gt;</span>
+ <span class="number">0</span></code>, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the location parameter of the distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the scale parameter of the distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.extreme_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.extreme_dist.non_member_accessors"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist_ref.dists.extreme_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random parameter is [-&#8734;, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.extreme_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.extreme_dist.accuracy"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist_ref.dists.extreme_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The extreme value distribution is implemented in terms of the standard
+ library <code class="computeroutput"><span class="identifier">exp</span></code> and <code class="computeroutput"><span class="identifier">log</span></code> functions and as such should have
+ very low error rates.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.extreme_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.extreme_dist.implementation"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist_ref.dists.extreme_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table: <span class="emphasis"><em>a</em></span> is the location parameter,
+ <span class="emphasis"><em>b</em></span> is the scale parameter, <span class="emphasis"><em>x</em></span> is
+ the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
+ = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = exp((a-x)/b) * exp(-exp((a-x)/b)) /
+ b
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = exp(-exp((a-x)/b))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = -expm1(-exp((a-x)/b))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: a - log(-log(p)) * b
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: a - log(-log1p(-q)) * b
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ a + <a href="http://en.wikipedia.org/wiki/Euler-Mascheroni_constant" target="_top">Euler-Mascheroni-constant</a>
+ * b
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ standard deviation
+ </p>
+ </td>
+<td>
+ <p>
+ pi * b / sqrt(6)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ The same as the location parameter <span class="emphasis"><em>a</em></span>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 12 * sqrt(6) * zeta(3) / pi<sup>3</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 27 / 5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ kurtosis - 3 or 12 / 5
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exp_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/f_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/f_dist.html
new file mode 100644
index 0000000000..b9f2a989a1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/f_dist.html
@@ -0,0 +1,434 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>F Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="extreme_dist.html" title="Extreme Value Distribution">
+<link rel="next" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extreme_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.f_dist"></a><a class="link" href="f_dist.html" title="F Distribution">F Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">fisher_f</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">fisher_f_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">fisher_f_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">fisher_f</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">fisher_f_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="comment">// Construct:</span>
+ <span class="identifier">fisher_f_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">j</span><span class="special">);</span>
+
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">//namespaces</span>
+</pre>
+<p>
+ The F distribution is a continuous distribution that arises when testing
+ whether two samples have the same variance. If &#967;<sup>2</sup><sub>m</sub> &#160; and &#967;<sup>2</sup><sub>n</sub> &#160; are independent
+ variates each distributed as Chi-Squared with <span class="emphasis"><em>m</em></span> and
+ <span class="emphasis"><em>n</em></span> degrees of freedom, then the test statistic:
+ </p>
+<p>
+ F<sub>n,m</sub> &#160; = (&#967;<sup>2</sup><sub>n</sub> &#160; / n) / (&#967;<sup>2</sup><sub>m</sub> &#160; / m)
+ </p>
+<p>
+ Is distributed over the range [0, &#8734;] with an F distribution, and has the
+ PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/fisher_pdf.png"></span>
+ </p>
+<p>
+ The following graph illustrates how the PDF varies depending on the two
+ degrees of freedom parameters.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/fisher_f_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.f_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.f_dist.member_functions"></a></span><a class="link" href="f_dist.html#math_toolkit.dist_ref.dists.f_dist.member_functions">Member Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">fisher_f_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">df1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">df2</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs an F-distribution with numerator degrees of freedom <span class="emphasis"><em>df1</em></span>
+ and denominator degrees of freedom <span class="emphasis"><em>df2</em></span>.
+ </p>
+<p>
+ Requires that <span class="emphasis"><em>df1</em></span> and <span class="emphasis"><em>df2</em></span> are
+ both greater than zero, otherwise <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the numerator degrees of freedom parameter of the distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the denominator degrees of freedom parameter of the distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.f_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.f_dist.non_member_accessors"></a></span><a class="link" href="f_dist.html#math_toolkit.dist_ref.dists.f_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.f_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.f_dist.examples"></a></span><a class="link" href="f_dist.html#math_toolkit.dist_ref.dists.f_dist.examples">Examples</a>
+ </h5>
+<p>
+ Various <a class="link" href="../../stat_tut/weg/f_eg.html" title="F Distribution Examples">worked examples</a>
+ are available illustrating the use of the F Distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.f_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.f_dist.accuracy"></a></span><a class="link" href="f_dist.html#math_toolkit.dist_ref.dists.f_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The normal distribution is implemented in terms of the <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">incomplete
+ beta function</a> and its <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">inverses</a>,
+ refer to those functions for accuracy data.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.f_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.f_dist.implementation"></a></span><a class="link" href="f_dist.html#math_toolkit.dist_ref.dists.f_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>v1</em></span> and <span class="emphasis"><em>v2</em></span>
+ are the first and second degrees of freedom parameters of the distribution,
+ <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span> is
+ the probability, and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ The usual form of the PDF is given by:
+ </p>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/fisher_pdf.png"></span>
+ </p>
+ <p>
+ However, that form is hard to evaluate directly without incurring
+ problems with either accuracy or numeric overflow.
+ </p>
+ <p>
+ Direct differentiation of the CDF expressed in terms of the incomplete
+ beta function
+ </p>
+ <p>
+ led to the following two formulas:
+ </p>
+ <p>
+ f<sub>v1,v2</sub>(x) = y * <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>(v2
+ / 2, v1 / 2, v2 / (v2 + v1 * x))
+ </p>
+ <p>
+ with y = (v2 * v1) / ((v2 + v1 * x) * (v2 + v1 * x))
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ f<sub>v1,v2</sub>(x) = y * <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>(v1
+ / 2, v2 / 2, v1 * x / (v2 + v1 * x))
+ </p>
+ <p>
+ with y = (z * v1 - x * v1 * v1) / z<sup>2</sup>
+ </p>
+ <p>
+ and z = v2 + v1 * x
+ </p>
+ <p>
+ The first of these is used for v1 * x &gt; v2, otherwise the
+ second is used.
+ </p>
+ <p>
+ The aim is to keep the <span class="emphasis"><em>x</em></span> argument to <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>
+ away from 1 to avoid rounding error.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relations:
+ </p>
+ <p>
+ p = <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(v1
+ / 2, v2 / 2, v1 * x / (v2 + v1 * x))
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ p = <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(v2
+ / 2, v1 / 2, v2 / (v2 + v1 * x))
+ </p>
+ <p>
+ The first is used for v1 * x &gt; v2, otherwise the second is
+ used.
+ </p>
+ <p>
+ The aim is to keep the <span class="emphasis"><em>x</em></span> argument to <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a> well
+ away from 1 to avoid rounding error.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relations:
+ </p>
+ <p>
+ p = <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(v1
+ / 2, v2 / 2, v1 * x / (v2 + v1 * x))
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ p = <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(v2
+ / 2, v1 / 2, v2 / (v2 + v1 * x))
+ </p>
+ <p>
+ The first is used for v1 * x &lt; v2, otherwise the second is
+ used.
+ </p>
+ <p>
+ The aim is to keep the <span class="emphasis"><em>x</em></span> argument to <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a> well
+ away from 1 to avoid rounding error.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ x = v2 * a / (v1 * b)
+ </p>
+ <p>
+ where:
+ </p>
+ <p>
+ a = <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>(v1
+ / 2, v2 / 2, p)
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ b = 1 - a
+ </p>
+ <p>
+ Quantities <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
+ are both computed by <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ without the subtraction implied above.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ <p>
+ from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ x = v2 * a / (v1 * b)
+ </p>
+ <p>
+ where
+ </p>
+ <p>
+ a = <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>(v1
+ / 2, v2 / 2, p)
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ b = 1 - a
+ </p>
+ <p>
+ Quantities <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
+ are both computed by <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ without the subtraction implied above.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ v2 / (v2 - 2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ 2 * v2<sup>2 </sup> * (v1 + v2 - 2) / (v1 * (v2 - 2) * (v2 - 2) * (v2 - 4))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ v2 * (v1 - 2) / (v1 * (v2 + 2))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 2 * (v2 + 2 * v1 - 2) * sqrt((2 * v2 - 8) / (v1 * (v2 + v1 -
+ 2))) / (v2 - 6)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis and kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to, <a href="http://mathworld.wolfram.com/F-Distribution.html" target="_top">Weisstein,
+ Eric W. "F-Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extreme_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html
new file mode 100644
index 0000000000..4b5e905831
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/gamma_dist.html
@@ -0,0 +1,364 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Gamma (and Erlang) Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="f_dist.html" title="F Distribution">
+<link rel="next" href="geometric_dist.html" title="Geometric Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="f_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="geometric_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.gamma_dist"></a><a class="link" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma (and
+ Erlang) Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">gamma_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
+
+ <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The gamma distribution is a continuous probability distribution. When the
+ shape parameter is an integer then it is known as the Erlang Distribution.
+ It is also closely related to the Poisson and Chi Squared Distributions.
+ </p>
+<p>
+ When the shape parameter has an integer value, the distribution is the
+ <a href="http://en.wikipedia.org/wiki/Erlang_distribution" target="_top">Erlang distribution</a>.
+ Since this can be produced by ensuring that the shape parameter has an
+ integer value &gt; 0, the Erlang distribution is not separately implemented.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ To avoid potential confusion with the gamma functions, this distribution
+ does not provide the typedef:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span></pre>
+<p>
+ Instead if you want a double precision gamma distribution you can write
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gamma_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">my_gamma</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span></pre>
+</td></tr>
+</table></div>
+<p>
+ For shape parameter <span class="emphasis"><em>k</em></span> and scale parameter &#952; &#160; it is defined
+ by the probability density function:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/gamma_dist_ref1.png"></span>
+ </p>
+<p>
+ Sometimes an alternative formulation is used: given parameters &#945; &#160;= k and
+ &#946; &#160;= 1 / &#952;, then the distribution can be defined by the PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/gamma_dist_ref2.png"></span>
+ </p>
+<p>
+ In this form the inverse scale parameter is called a <span class="emphasis"><em>rate parameter</em></span>.
+ </p>
+<p>
+ Both forms are in common usage: this library uses the first definition
+ throughout. Therefore to construct a Gamma Distribution from a <span class="emphasis"><em>rate
+ parameter</em></span>, you should pass the reciprocal of the rate as the
+ scale parameter.
+ </p>
+<p>
+ The following two graphs illustrate how the PDF of the gamma distribution
+ varies as the parameters vary:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/gamma1_pdf.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/gamma2_pdf.png" align="middle"></span>
+ </p>
+<p>
+ The <span class="bold"><strong>Erlang Distribution</strong></span> is the same as
+ the Gamma, but with the shape parameter an integer. It is often expressed
+ using a <span class="emphasis"><em>rate</em></span> rather than a <span class="emphasis"><em>scale</em></span>
+ as the second parameter (remember that the rate is the reciprocal of the
+ scale).
+ </p>
+<p>
+ Internally the functions used to implement the Gamma Distribution are already
+ optimised for small-integer arguments, so in general there should be no
+ great loss of performance from using a Gamma Distribution rather than a
+ dedicated Erlang Distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.gamma_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.gamma_dist.member_functions"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist_ref.dists.gamma_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a gamma distribution with shape <span class="emphasis"><em>shape</em></span> and
+ scale <span class="emphasis"><em>scale</em></span>.
+ </p>
+<p>
+ Requires that the shape and scale parameters are greater than zero, otherwise
+ calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>shape</em></span> parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.gamma_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.gamma_dist.non_member_accessors"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist_ref.dists.gamma_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0,+&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.gamma_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.gamma_dist.accuracy"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist_ref.dists.gamma_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The lognormal distribution is implemented in terms of the incomplete gamma
+ functions <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a> and
+ <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a> and their inverses
+ <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a> and
+ <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>: refer
+ to the accuracy data for those functions for more information.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.gamma_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.gamma_dist.implementation"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist_ref.dists.gamma_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>k</em></span> is the shape parameter of
+ the distribution, &#952; &#160; is its scale parameter, <span class="emphasis"><em>x</em></span> is the
+ random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
+ = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = <a class="link" href="../../sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(k,
+ x / &#952;) / &#952;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(k,
+ x / &#952;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(k,
+ x / &#952;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#952; &#160;* <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(k,
+ p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#952; &#160;* <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(k,
+ p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ k&#952;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ k&#952;<sup>2</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ (k-1)&#952; &#160; for <span class="emphasis"><em>k&gt;1</em></span> otherwise a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 2 / sqrt(k)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 3 + 6 / k
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 6 / k
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="f_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="geometric_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html
new file mode 100644
index 0000000000..25d49a877a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/geometric_dist.html
@@ -0,0 +1,841 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Geometric Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">
+<link rel="next" href="hyperexponential_dist.html" title="Hyperexponential Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gamma_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hyperexponential_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.geometric_dist"></a><a class="link" href="geometric_dist.html" title="Geometric Distribution">Geometric
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">geometric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">geometric_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">geometric_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">geometric</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">geometric_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Constructor from success_fraction:</span>
+ <span class="identifier">geometric_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+
+ <span class="comment">// Parameter accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Bounds on success fraction:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
+
+ <span class="comment">// Estimate min/max number of trials:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The class type <code class="computeroutput"><span class="identifier">geometric_distribution</span></code>
+ represents a <a href="http://en.wikipedia.org/wiki/geometric_distribution" target="_top">geometric
+ distribution</a>: it is used when there are exactly two mutually exclusive
+ outcomes of a <a href="http://en.wikipedia.org/wiki/Bernoulli_trial" target="_top">Bernoulli
+ trial</a>: these outcomes are labelled "success" and "failure".
+ </p>
+<p>
+ For <a href="http://en.wikipedia.org/wiki/Bernoulli_trial" target="_top">Bernoulli
+ trials</a> each with success fraction <span class="emphasis"><em>p</em></span>, the geometric
+ distribution gives the probability of observing <span class="emphasis"><em>k</em></span>
+ trials (failures, events, occurrences, or arrivals) before the first success.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ For this implementation, the set of trials <span class="bold"><strong>includes
+ zero</strong></span> (unlike another definition where the set of trials starts
+ at one, sometimes named <span class="emphasis"><em>shifted</em></span>).
+ </p></td></tr>
+</table></div>
+<p>
+ The geometric distribution assumes that success_fraction <span class="emphasis"><em>p</em></span>
+ is fixed for all <span class="emphasis"><em>k</em></span> trials.
+ </p>
+<p>
+ The probability that there are <span class="emphasis"><em>k</em></span> failures before the
+ first success is
+ </p>
+<p>
+ &#8192;&#8192; Pr(Y=<span class="emphasis"><em>k</em></span>) = (1-<span class="emphasis"><em>p</em></span>)<sup><span class="emphasis"><em>k</em></span></sup><span class="emphasis"><em>p</em></span>
+ </p>
+<p>
+ For example, when throwing a 6-face dice the success probability <span class="emphasis"><em>p</em></span>
+ = 1/6 = 0.1666&#8202;&#775; &#160;. Throwing repeatedly until a <span class="emphasis"><em>three</em></span>
+ appears, the probability distribution of the number of times <span class="emphasis"><em>not-a-three</em></span>
+ is thrown is geometric.
+ </p>
+<p>
+ Geometric distribution has the Probability Density Function PDF:
+ </p>
+<p>
+ &#8192;&#8192; (1-<span class="emphasis"><em>p</em></span>)<sup><span class="emphasis"><em>k</em></span></sup><span class="emphasis"><em>p</em></span>
+ </p>
+<p>
+ The following graph illustrates how the PDF and CDF vary for three examples
+ of the success fraction <span class="emphasis"><em>p</em></span>, (when considering the geometric
+ distribution as a continuous function),
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/geometric_pdf_2.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/geometric_cdf_2.png" align="middle"></span>
+ </p>
+<p>
+ and as discrete.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/geometric_pdf_discrete.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/geometric_cdf_discrete.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.related_distributions"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.related_distributions">Related
+ Distributions</a>
+ </h5>
+<p>
+ The geometric distribution is a special case of the <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> with successes parameter <span class="emphasis"><em>r</em></span>
+ = 1, so only one first and only success is required : thus by definition
+ &#8192;&#8192; <code class="computeroutput"><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span> <span class="special">==</span>
+ <span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span></code>
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">);</span>
+<span class="identifier">negative_binomial</span> <span class="identifier">nb</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
+<span class="identifier">geometric</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">success_fraction</span><span class="special">);</span>
+<span class="identifier">ASSERT</span><span class="special">(</span><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="number">1</span><span class="special">));</span>
+</pre>
+<p>
+ This implementation uses real numbers for the computation throughout (because
+ it uses the <span class="bold"><strong>real-valued</strong></span> power and exponential
+ functions). So to obtain a conventional strictly-discrete geometric distribution
+ you must ensure that an integer value is provided for the number of trials
+ (random variable) <span class="emphasis"><em>k</em></span>, and take integer values (floor
+ or ceil functions) from functions that return a number of successes.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The geometric distribution is a discrete distribution: internally, functions
+ like the <code class="computeroutput"><span class="identifier">cdf</span></code> and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated "as if" they
+ are continuous functions, but in reality the results returned from these
+ functions only have meaning if an integer value is provided for the random
+ variate argument.
+ </p>
+<p>
+ The quantile function will by default return an integer result that has
+ been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower quantiles
+ (where the probability is less than 0.5) are rounded downward, and upper
+ quantiles (where the probability is greater than 0.5) are rounded upwards.
+ This behaviour ensures that if an X% quantile is requested, then <span class="emphasis"><em>at
+ least</em></span> the requested coverage will be present in the central
+ region, and <span class="emphasis"><em>no more than</em></span> the requested coverage
+ will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently, or even return a real-valued result using <a class="link" href="../../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile
+ function on the geometric distribution. The <a class="link" href="../../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.member_functions"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<h6>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.constructor"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.constructor">Constructor</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">geometric_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ Constructor: <span class="emphasis"><em>p</em></span> or success_fraction is the probability
+ of success of a single trial.
+ </p>
+<p>
+ Requires: <code class="computeroutput"><span class="number">0</span> <span class="special">&lt;=</span>
+ <span class="identifier">p</span> <span class="special">&lt;=</span>
+ <span class="number">1</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.accessors"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.accessors">Accessors</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// successes / trials (0 &lt;= p &lt;= 1)</span>
+</pre>
+<p>
+ Returns the success_fraction parameter <span class="emphasis"><em>p</em></span> from which
+ this distribution was constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// required successes always one,</span>
+<span class="comment">// included for compatibility with negative binomial distribution</span>
+<span class="comment">// with successes r == 1.</span>
+</pre>
+<p>
+ Returns unity.
+ </p>
+<p>
+ The following functions are equivalent to those provided for the negative
+ binomial, with successes = 1, but are provided here for completeness.
+ </p>
+<p>
+ The best method of calculation for the following functions is disputed:
+ see <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> and <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> for more discussion.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.lower_bound_on_success_fraction_"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.lower_bound_on_success_fraction_">Lower
+ Bound on success_fraction Parameter <span class="emphasis"><em>p</em></span></a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">failures</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">)</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
+</pre>
+<p>
+ Returns a <span class="bold"><strong>lower bound</strong></span> on the success fraction:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">failures</span></dt>
+<dd><p>
+ The total number of failures before the 1st success.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The largest acceptable probability that the true value of the success
+ fraction is <span class="bold"><strong>less than</strong></span> the value
+ returned.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example, if you observe <span class="emphasis"><em>k</em></span> failures from <span class="emphasis"><em>n</em></span>
+ trials the best estimate for the success fraction is simply 1/<span class="emphasis"><em>n</em></span>,
+ but if you want to be 95% sure that the true value is <span class="bold"><strong>greater
+ than</strong></span> some value, <span class="emphasis"><em>p<sub>min</sub></em></span>, then:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span><sub>min</sub> <span class="special">=</span> <span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span>
+ <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
+ negative_binomial confidence interval example.</a>
+ </p>
+<p>
+ This function uses the Clopper-Pearson method of computing the lower bound
+ on the success fraction, whilst many texts refer to this method as giving
+ an "exact" result in practice it produces an interval that guarantees
+ <span class="emphasis"><em>at least</em></span> the coverage required, and may produce pessimistic
+ estimates for some combinations of <span class="emphasis"><em>failures</em></span> and <span class="emphasis"><em>successes</em></span>.
+ See:
+ </p>
+<p>
+ <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
+ Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
+ Discrete Distributions. Computational statistics and data analysis, 2005,
+ vol. 48, no3, 605-621</a>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.upper_bound_on_success_fraction_"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.upper_bound_on_success_fraction_">Upper
+ Bound on success_fraction Parameter p</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
+</pre>
+<p>
+ Returns an <span class="bold"><strong>upper bound</strong></span> on the success
+ fraction:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">trials</span></dt>
+<dd><p>
+ The total number of trials conducted.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The largest acceptable probability that the true value of the success
+ fraction is <span class="bold"><strong>greater than</strong></span> the value
+ returned.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
+ trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
+ but if you want to be 95% sure that the true value is <span class="bold"><strong>less
+ than</strong></span> some value, <span class="emphasis"><em>p<sub>max</sub></em></span>, then:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span><sub>max</sub> <span class="special">=</span> <span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
+ negative binomial confidence interval example.</a>
+ </p>
+<p>
+ This function uses the Clopper-Pearson method of computing the lower bound
+ on the success fraction, whilst many texts refer to this method as giving
+ an "exact" result in practice it produces an interval that guarantees
+ <span class="emphasis"><em>at least</em></span> the coverage required, and may produce pessimistic
+ estimates for some combinations of <span class="emphasis"><em>failures</em></span> and <span class="emphasis"><em>successes</em></span>.
+ See:
+ </p>
+<p>
+ <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
+ Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
+ Discrete Distributions. Computational statistics and data analysis, 2005,
+ vol. 48, no3, 605-621</a>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h6"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_e"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_e">Estimating
+ Number of Trials to Ensure at Least a Certain Number of Failures</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
+</pre>
+<p>
+ This functions estimates the number of trials required to achieve a certain
+ probability that <span class="bold"><strong>more than <span class="emphasis"><em>k</em></span>
+ failures will be observed</strong></span>.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">k</span></dt>
+<dd><p>
+ The target number of failures to be observed.
+ </p></dd>
+<dt><span class="term">p</span></dt>
+<dd><p>
+ The probability of <span class="emphasis"><em>success</em></span> for each trial.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable <span class="emphasis"><em>risk</em></span> that only <span class="emphasis"><em>k</em></span>
+ failures or fewer will be observed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the smallest number of trials we must conduct to be 95% (1-0.05)
+ sure of seeing 10 failures that occur with frequency one half.
+ </p>
+<p>
+ <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">Worked
+ Example.</a>
+ </p>
+<p>
+ This function uses numeric inversion of the geometric distribution to obtain
+ the result: another interpretation of the result is that it finds the number
+ of trials (failures) that will lead to an <span class="emphasis"><em>alpha</em></span> probability
+ of observing <span class="emphasis"><em>k</em></span> failures or fewer.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h7"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_0"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_0">Estimating
+ Number of Trials to Ensure a Maximum Number of Failures or Less</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
+</pre>
+<p>
+ This functions estimates the maximum number of trials we can conduct and
+ achieve a certain probability that <span class="bold"><strong>k failures or
+ fewer will be observed</strong></span>.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">k</span></dt>
+<dd><p>
+ The maximum number of failures to be observed.
+ </p></dd>
+<dt><span class="term">p</span></dt>
+<dd><p>
+ The probability of <span class="emphasis"><em>success</em></span> for each trial.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable <span class="emphasis"><em>risk</em></span> that more than
+ <span class="emphasis"><em>k</em></span> failures will be observed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1.0</span><span class="special">-</span><span class="number">1.0</span><span class="special">/</span><span class="number">1000000</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the largest number of trials we can conduct and still be 95% sure
+ of seeing no failures that occur with frequency one in one million.
+ </p>
+<p>
+ This function uses numeric inversion of the geometric distribution to obtain
+ the result: another interpretation of the result, is that it finds the
+ number of trials that will lead to an <span class="emphasis"><em>alpha</em></span> probability
+ of observing more than k failures.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h8"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.non_member_accessors"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ However it's worth taking a moment to define what these actually mean in
+ the context of this distribution:
+ </p>
+<div class="table">
+<a name="math_toolkit.dist_ref.dists.geometric_dist.meaning_of_the_non_member_access"></a><p class="title"><b>Table&#160;5.2.&#160;Meaning of the non-member accessors.</b></p>
+<div class="table-contents"><table class="table" summary="Meaning of the non-member accessors.">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density
+ Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>exactly k
+ failures</strong></span> from <span class="emphasis"><em>k</em></span> trials with success
+ fraction p. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution
+ Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>k failures
+ or fewer</strong></span> from <span class="emphasis"><em>k</em></span> trials with success
+ fraction p and success on the last trial. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement of
+ the Cumulative Distribution Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>more than
+ k failures</strong></span> from <span class="emphasis"><em>k</em></span> trials with
+ success fraction p and success on the last trial. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">))</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The <span class="bold"><strong>greatest</strong></span> number of failures
+ <span class="emphasis"><em>k</em></span> expected to be observed from <span class="emphasis"><em>k</em></span>
+ trials with success fraction <span class="emphasis"><em>p</em></span>, at probability
+ <span class="emphasis"><em>P</em></span>. Note that the value returned is a real-number,
+ and not an integer. Depending on the use case you may want to
+ take either the floor or ceiling of the real result. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">)</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile_c">Quantile
+ from the complement of the probability</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The <span class="bold"><strong>smallest</strong></span> number of failures
+ <span class="emphasis"><em>k</em></span> expected to be observed from <span class="emphasis"><em>k</em></span>
+ trials with success fraction <span class="emphasis"><em>p</em></span>, at probability
+ <span class="emphasis"><em>P</em></span>. Note that the value returned is a real-number,
+ and not an integer. Depending on the use case you may want to
+ take either the floor or ceiling of the real result. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">))</span></pre>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h9"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.accuracy"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This distribution is implemented using the pow and exp functions, so most
+ results are accurate within a few epsilon for the RealType. For extreme
+ values of <code class="computeroutput"><span class="keyword">double</span></code> <span class="emphasis"><em>p</em></span>,
+ for example 0.9999999999, accuracy can fall significantly, for example
+ to 10 decimal digits (from 16).
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.geometric_dist.h10"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.geometric_dist.implementation"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist_ref.dists.geometric_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table, <span class="emphasis"><em>p</em></span> is the probability that
+ any one trial will be successful (the success fraction), <span class="emphasis"><em>k</em></span>
+ is the number of failures, <span class="emphasis"><em>p</em></span> is the probability and
+ <span class="emphasis"><em>q = 1-p</em></span>, <span class="emphasis"><em>x</em></span> is the given probability
+ to estimate the expected number of failures using the quantile.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ pdf = p * pow(q, k)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ cdf = 1 - q<sup>k=1</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ exp(log1p(-p) * (k+1))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ k = log1p(-x) / log1p(-p) -1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ k = log(x) / log1p(-p) -1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ (1-p)/p
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ (1-p)/p&#178;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ (2-p)/&#8730;q
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 9+p&#178;/q
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 6 +p&#178;/q
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ parameter estimation member functions
+ </p>
+ </td>
+<td>
+ <p>
+ See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_maximum_number_of_trials</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gamma_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hyperexponential_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html
new file mode 100644
index 0000000000..b17a9ae466
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/hyperexponential_dist.html
@@ -0,0 +1,1460 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Hyperexponential Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="geometric_dist.html" title="Geometric Distribution">
+<link rel="next" href="hypergeometric_dist.html" title="Hypergeometric Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="geometric_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypergeometric_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist"></a><a class="link" href="hyperexponential_dist.html" title="Hyperexponential Distribution">Hyperexponential
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">hyperexponential</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">typename</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">hyperexponential_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">hyperexponential_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">hyperexponential</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">hyperexponential_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructors:</span>
+ <span class="identifier">hyperexponential_distribution</span><span class="special">();</span> <span class="comment">// Default.</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">RateIterT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RateIterT2</span><span class="special">&gt;</span>
+ <span class="identifier">hyperexponential_distribution</span><span class="special">(</span> <span class="comment">// Default equal probabilities.</span>
+ <span class="identifier">RateIterT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_first</span><span class="special">,</span>
+ <span class="identifier">RateIterT2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_last</span><span class="special">);</span> <span class="comment">// Rates using Iterators.</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ProbIterT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RateIterT</span><span class="special">&gt;</span>
+ <span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">ProbIterT</span> <span class="identifier">prob_first</span><span class="special">,</span> <span class="identifier">ProbIterT</span> <span class="identifier">prob_last</span><span class="special">,</span>
+ <span class="identifier">RateIterT</span> <span class="identifier">rate_first</span><span class="special">,</span> <span class="identifier">RateIterT</span> <span class="identifier">rate_last</span><span class="special">);</span> <span class="comment">// Iterators.</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ProbRangeT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RateRangeT</span><span class="special">&gt;</span>
+ <span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">ProbRangeT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">prob_range</span><span class="special">,</span>
+ <span class="identifier">RateRangeT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_range</span><span class="special">);</span> <span class="comment">// Ranges.</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">RateRangeT</span><span class="special">&gt;</span>
+ <span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">RateRangeT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_range</span><span class="special">);</span>
+
+ <span class="preprocessor">#if</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_NO_CXX11_HDR_INITIALIZER_LIST</span><span class="special">)</span> <span class="comment">// C++11 initializer lists supported.</span>
+ <span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">l1</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">l2</span><span class="special">);</span>
+ <span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">l1</span><span class="special">);</span>
+ <span class="preprocessor">#endif</span>
+
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">num_phases</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">probabilities</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">rates</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ An implementation-defined mechanism is provided to avoid ambiguity between
+ constructors accepting ranges, iterators and constants as parameters.
+ This should be transparent to the user. See below and the header file
+ hyperexponential.hpp for details and explanatory comments.
+ </p></td></tr>
+</table></div>
+<p>
+ The class type <code class="computeroutput"><span class="identifier">hyperexponential_distribution</span></code>
+ represents a <a href="http://en.wikipedia.org/wiki/Hyperexponential_distribution" target="_top">hyperexponential
+ distribution</a>.
+ </p>
+<p>
+ A <span class="emphasis"><em>k</em></span>-phase hyperexponential distribution is a <a href="http://en.wikipedia.org/wiki/Continuous_probability_distribution" target="_top">continuous
+ probability distribution</a> obtained as a mixture of <span class="emphasis"><em>k</em></span>
+ <a class="link" href="exp_dist.html" title="Exponential Distribution">Exponential Distribution</a>s.
+ It is also referred to as <span class="emphasis"><em>mixed exponential distribution</em></span>
+ or parallel <span class="emphasis"><em>k-phase exponential distribution</em></span>.
+ </p>
+<p>
+ A <span class="emphasis"><em>k</em></span>-phase hyperexponential distribution is characterized
+ by two parameters, namely a <span class="emphasis"><em>phase probability vector</em></span>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(&#945;<sub>1</sub>,...,&#945;<sub>k</sub>)</em></span> and a
+ <span class="emphasis"><em>rate vector</em></span> <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(&#955;<sub>1</sub>,...,&#955;<sub>k</sub>)</em></span>.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function</a> for random variate <span class="emphasis"><em>x</em></span> in a
+ hyperexponential distribution is given by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_pdf.png"></span>
+ </p>
+<p>
+ The following graph illustrates the PDF of the hyperexponential distribution
+ with five different parameters, namely:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(1.0)</em></span> and <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(1.0)</em></span> (which degenerates to a simple
+ exponential distribution),
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.1, 0.9)</em></span> and
+ <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.5, 1.5)</em></span>,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.9, 0.1)</em></span> and
+ <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.5, 1.5)</em></span>,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.2, 0.3, 0.5)</em></span>
+ and <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.5, 1.0, 1.5)</em></span>,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.5, 0.3, 0.2)</em></span>
+ and <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.5, 1.0, 1.5)</em></span>.
+ </li>
+</ol></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/hyperexponential_pdf.png" align="middle"></span>
+ </p>
+<p>
+ Also, the following graph illustrates the PDF of the hyperexponential distribution
+ (solid lines) where only the <span class="emphasis"><em>phase probability vector</em></span>
+ changes together with the PDF of the two limiting exponential distributions
+ (dashed lines):
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.1, 0.9)</em></span> and
+ <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.5, 1.5)</em></span>,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.6, 0.4)</em></span> and
+ <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.5, 1.5)</em></span>,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.9, 0.1)</em></span> and
+ <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.5, 1.5)</em></span>,
+ </li>
+<li class="listitem">
+ Exponential distribution with parameter <span class="emphasis"><em>&#955;=0.5</em></span>,
+ </li>
+<li class="listitem">
+ Exponential distribution with parameter <span class="emphasis"><em>&#955;=1.5</em></span>.
+ </li>
+</ol></div>
+<p>
+ As expected, as the first element <span class="emphasis"><em>&#945;<sub>1</sub></em></span> of the <span class="emphasis"><em>phase
+ probability vector</em></span> approaches to <span class="emphasis"><em>1</em></span> (or,
+ equivalently, <span class="emphasis"><em>&#945;<sub>2</sub></em></span> approaches to <span class="emphasis"><em>0</em></span>),
+ the resulting hyperexponential distribution nears the exponential distribution
+ with parameter <span class="emphasis"><em>&#955;=0.5</em></span>. Conversely, as the first element
+ <span class="emphasis"><em>&#945;<sub>2</sub></em></span> of the <span class="emphasis"><em>phase probability vector</em></span>
+ approaches to <span class="emphasis"><em>1</em></span> (or, equivalently, <span class="emphasis"><em>&#945;<sub>1</sub></em></span>
+ approaches to <span class="emphasis"><em>0</em></span>), the resulting hyperexponential distribution
+ nears the exponential distribution with parameter <span class="emphasis"><em>&#955;=1.5</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/hyperexponential_pdf_samerate.png" align="middle"></span>
+ </p>
+<p>
+ Finally, the following graph compares the PDF of the hyperexponential distribution
+ with different number of phases but with the same mean value equal to
+ <span class="emphasis"><em>2</em></span>:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(1.0)</em></span> and <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(2.0)</em></span> (which degenerates to a simple
+ exponential distribution),
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.5, 0.5)</em></span> and
+ <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.3, 1.5)</em></span>,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(1.0/3.0, 1.0/3.0, 1.0/3.0)</em></span>
+ and <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(0.2, 1.5, 3.0)</em></span>,
+ </li>
+</ol></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/hyperexponential_pdf_samemean.png" align="middle"></span>
+ </p>
+<p>
+ As can be noted, even if the three distributions have the same mean value,
+ the two hyperexponential distributions have a <span class="emphasis"><em>longer</em></span>
+ tail with respect to the one of the exponential distribution. Indeed, the
+ hyperexponential distribution has a larger variability than the exponential
+ distribution, thus resulting in a <a href="http://en.wikipedia.org/wiki/Coefficient_of_variation" target="_top">Coefficient
+ of Variation</a> greater than <span class="emphasis"><em>1</em></span> (as opposed to
+ the one of the exponential distribution which is exactly <span class="emphasis"><em>1</em></span>).
+ </p>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.applications"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.applications">Applications</a>
+ </h4>
+<p>
+ A <span class="emphasis"><em>k</em></span>-phase hyperexponential distribution is frequently
+ used in <a href="http://en.wikipedia.org/wiki/Queueing_theory" target="_top">queueing
+ theory</a> to model the distribution of the superposition of <span class="emphasis"><em>k</em></span>
+ independent events, like, for instance, the service time distribution of
+ a queueing station with <span class="emphasis"><em>k</em></span> servers in parallel where
+ the <span class="emphasis"><em>i</em></span>-th server is chosen with probability <span class="emphasis"><em>&#945;<sub>i</sub></em></span>
+ and its service time distribution is an exponential distribution with rate
+ <span class="emphasis"><em>&#955;<sub>i</sub></em></span> (Allen,1990; Papadopolous et al.,1993; Trivedi,2002).
+ </p>
+<p>
+ For instance, CPUs service-time distribution in a computing system has
+ often been observed to possess such a distribution (Rosin,1965). Also,
+ the arrival of different types of customer to a single queueing station
+ is often modeled as a hyperexponential distribution (Papadopolous et al.,1993).
+ Similarly, if a product manufactured in several parallel assemply lines
+ and the outputs are merged, the failure density of the overall product
+ is likely to be hyperexponential (Trivedi,2002).
+ </p>
+<p>
+ Finally, since the hyperexponential distribution exhibits a high Coefficient
+ of Variation (CoV), that is a CoV &gt; 1, it is especially suited to fit
+ empirical data with large CoV (Feitelson,2014; Wolski et al.,2013) and
+ to approximate <a href="http://en.wikipedia.org/wiki/Long_tail" target="_top">long-tail
+ probability distributions</a> (Feldmann et al.,1998).
+ </p>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.related_distributions"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.related_distributions">Related
+ distributions</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ When the number of phases <span class="emphasis"><em>k</em></span> is equal to <code class="computeroutput"><span class="number">1</span></code>, the hyperexponential distribution
+ is simply an <a class="link" href="exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a>.
+ </li>
+<li class="listitem">
+ When the <span class="emphasis"><em>k</em></span> rates are all equal to <span class="emphasis"><em>&#955;</em></span>,
+ the hyperexponential distribution is simple an <a class="link" href="exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> with rate <span class="emphasis"><em>&#955;</em></span>.
+ </li>
+</ul></div>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.examples"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.examples">Examples</a>
+ </h4>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.lifetime_of_appliances"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.lifetime_of_appliances">Lifetime
+ of Appliances</a>
+ </h5>
+<p>
+ Suppose a customer is buying an appliance and is choosing at random between
+ an appliance with average lifetime of 10 years and an appliance with average
+ lifetime of 12 years. Assuming the lifetime of this appliance follows an
+ exponential distribution, the lifetime distribution of the purchased appliance
+ can be modeled as a hyperexponential distribution with phase probability
+ vector <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(1/2,1/2)</em></span>
+ and rate vector <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(1/10,1/12)</em></span>
+ (Wolfram,2014).
+ </p>
+<p>
+ In the rest of this section, we provide an example C++ implementation for
+ computing the average lifetime and the probability that the appliance will
+ work for more than 15 years.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">hyperexponential</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10.0</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12.0</span> <span class="special">};</span>
+
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span> <span class="identifier">he</span><span class="special">(</span><span class="identifier">rates</span><span class="special">);</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Average lifetime: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">he</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" years"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that the appliance will work for more than 15 years: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">he</span><span class="special">,</span> <span class="number">15.0</span><span class="special">))</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The resulting output is:
+ </p>
+<pre class="programlisting"><span class="identifier">Average</span> <span class="identifier">lifetime</span><span class="special">:</span> <span class="number">11</span> <span class="identifier">years</span>
+<span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">the</span> <span class="identifier">appliance</span> <span class="identifier">will</span> <span class="identifier">work</span> <span class="keyword">for</span> <span class="identifier">more</span> <span class="identifier">than</span> <span class="number">15</span> <span class="identifier">years</span><span class="special">:</span> <span class="number">0.254817</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.workloads_of_private_cloud_compu"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.workloads_of_private_cloud_compu">Workloads
+ of Private Cloud Computing Systems</a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_top">Cloud computing</a>
+ has become a popular metaphor for dynamic and secure self-service access
+ to computational and storage capabilities. In (Wolski et al.,2013), the
+ authors analyze and model workloads gathered from enterprise-operated commercial
+ <a href="http://en.wikipedia.org/wiki/Cloud_computing#Private_cloud" target="_top">private
+ clouds</a> and show that 3-phase hyperexponential distributions (fitted
+ using the <a href="http://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm" target="_top">Expectation
+ Maximization algorithm</a>) capture workload attributes accurately.
+ </p>
+<p>
+ In this type of computing system, user requests consist in demanding the
+ provisioning of one or more <a href="http://en.wikipedia.org/wiki/Virtual_machine" target="_top">Virtual
+ Machines</a> (VMs). In particular, in (Wolski et al.,2013) the workload
+ experienced by each cloud system is a function of four distributions, one
+ for each of the following workload attributes:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <span class="emphasis"><em>Request Interarrival Time</em></span>: the amount of time
+ until the next request,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>VM Lifetime</em></span>: the time duration over which a VM
+ is provisioned to a physical machine,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>Request Size</em></span>: the number of VMs in the request,
+ and
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>Core Count</em></span>: the CPU core count requested for each
+ VM.
+ </li>
+</ul></div>
+<p>
+ The authors assume that all VMs in a request have the same core count,
+ but request sizes and core counts can vary from request to request. Moreover,
+ all VMs within a request are assumed to have the same lifetime. Given these
+ assumptions, the authors build a statistical model for the request interarrival
+ time and VM lifetime attributes by fitting their respective data to a 3-phase
+ hyperexponential distribution.
+ </p>
+<p>
+ In the following table, we show the sample mean and standard deviation
+ (SD), in seconds, of the request interarrival time and of the VM lifetime
+ distributions of the three datasets collected by authors:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Dataset
+ </p>
+ </th>
+<th>
+ <p>
+ Mean Request Interarrival Time (SD)
+ </p>
+ </th>
+<th>
+ <p>
+ Mean Multi-core VM Lifetime (SD)
+ </p>
+ </th>
+<th>
+ <p>
+ Mean Single-core VM Lifetime (SD)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ DS1
+ </p>
+ </td>
+<td>
+ <p>
+ 2202.1 (2.2e+04)
+ </p>
+ </td>
+<td>
+ <p>
+ 257173 (4.6e+05)
+ </p>
+ </td>
+<td>
+ <p>
+ 28754.4 (1.6e+05)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ DS2
+ </p>
+ </td>
+<td>
+ <p>
+ 41285.7 (1.1e+05)
+ </p>
+ </td>
+<td>
+ <p>
+ 144669.0 (7.9e+05)
+ </p>
+ </td>
+<td>
+ <p>
+ 599815.0 (1.7e+06)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ DS3
+ </p>
+ </td>
+<td>
+ <p>
+ 11238.8 (3.0e+04)
+ </p>
+ </td>
+<td>
+ <p>
+ 30739.2 (1.6e+05)
+ </p>
+ </td>
+<td>
+ <p>
+ 44447.8 (2.2e+05)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Whereas in the following table we show the hyperexponential distribution
+ parameters resulting from the fit:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Dataset
+ </p>
+ </th>
+<th>
+ <p>
+ Request Interarrival Time
+ </p>
+ </th>
+<th>
+ <p>
+ Multi-core VM Lifetime
+ </p>
+ </th>
+<th>
+ <p>
+ Single-core VM Lifetime
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ DS1
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.34561,0.08648,0.56791),
+ <span class="bold"><strong>&#955;</strong></span>=(0.008,0.00005,0.02894)</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.24667,0.37948,0.37385),
+ <span class="bold"><strong>&#955;</strong></span>=(0.00004,0.000002,0.00059)</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.09325,0.22251,0.68424),
+ <span class="bold"><strong>&#955;</strong></span>=(0.000003,0.00109,0.00109)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ DS2
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.38881,0.18227,0.42892),
+ <span class="bold"><strong>&#955;</strong></span>=(0.000006,0.05228,0.00081)</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.42093,0.43960,0.13947),
+ <span class="bold"><strong>&#955;</strong></span>=(0.00186,0.00008,0.0000008)</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.44885,0.30675,0.2444),
+ <span class="bold"><strong>&#955;</strong></span>=(0.00143,0.00005,0.0000004)</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ DS3
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.39442,0.24644,0.35914),
+ <span class="bold"><strong>&#955;</strong></span>=(0.00030,0.00003,0.00257)</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.37621,0.14838,0.47541),
+ <span class="bold"><strong>&#955;</strong></span>=(0.00498,0.000005,0.00022)</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(0.34131,0.12544,0.53325),
+ <span class="bold"><strong>&#955;</strong></span>=(0.000297,0.000003,0.00410)</em></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ In the rest of this section, we provide an example C++ implementation for
+ computing some statistical properties of the fitted distributions for each
+ of the analyzed dataset.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;</span>
+
+<span class="keyword">struct</span> <span class="identifier">ds_info</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">iat_sample_mean</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">iat_sample_sd</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span> <span class="identifier">iat_he</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">multi_lt_sample_mean</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">multi_lt_sample_sd</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span> <span class="identifier">multi_lt_he</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">single_lt_sample_mean</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">single_lt_sample_sd</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span> <span class="identifier">single_lt_he</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="comment">// DS1 dataset</span>
+<span class="identifier">ds_info</span> <span class="identifier">make_ds1</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">ds_info</span> <span class="identifier">ds</span><span class="special">;</span>
+
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">name</span> <span class="special">=</span> <span class="string">"DS1"</span><span class="special">;</span>
+
+ <span class="comment">// VM interarrival time distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">iat_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.34561</span><span class="special">,</span><span class="number">0.08648</span><span class="special">,</span><span class="number">0.56791</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">iat_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.0008</span><span class="special">,</span><span class="number">0.00005</span><span class="special">,</span><span class="number">0.02894</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_sample_mean</span> <span class="special">=</span> <span class="number">2202.1</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_sample_sd</span> <span class="special">=</span> <span class="number">2.2e+4</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">iat_fit_probs</span><span class="special">,</span> <span class="identifier">iat_fit_rates</span><span class="special">);</span>
+
+ <span class="comment">// Multi-core VM lifetime distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">multi_lt_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.24667</span><span class="special">,</span><span class="number">0.37948</span><span class="special">,</span><span class="number">0.37385</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">multi_lt_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.00004</span><span class="special">,</span><span class="number">0.000002</span><span class="special">,</span><span class="number">0.00059</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_sample_mean</span> <span class="special">=</span> <span class="number">257173</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_sample_sd</span> <span class="special">=</span> <span class="number">4.6e+5</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">multi_lt_fit_probs</span><span class="special">,</span> <span class="identifier">multi_lt_fit_rates</span><span class="special">);</span>
+
+ <span class="comment">// Single-core VM lifetime distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">single_lt_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.09325</span><span class="special">,</span><span class="number">0.22251</span><span class="special">,</span><span class="number">0.68424</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">single_lt_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.000003</span><span class="special">,</span><span class="number">0.00109</span><span class="special">,</span><span class="number">0.00109</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_sample_mean</span> <span class="special">=</span> <span class="number">28754.4</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_sample_sd</span> <span class="special">=</span> <span class="number">1.6e+5</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">single_lt_fit_probs</span><span class="special">,</span> <span class="identifier">single_lt_fit_rates</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="identifier">ds</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="comment">// DS2 dataset</span>
+<span class="identifier">ds_info</span> <span class="identifier">make_ds2</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">ds_info</span> <span class="identifier">ds</span><span class="special">;</span>
+
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">name</span> <span class="special">=</span> <span class="string">"DS2"</span><span class="special">;</span>
+
+ <span class="comment">// VM interarrival time distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">iat_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.38881</span><span class="special">,</span><span class="number">0.18227</span><span class="special">,</span><span class="number">0.42892</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">iat_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.000006</span><span class="special">,</span><span class="number">0.05228</span><span class="special">,</span><span class="number">0.00081</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_sample_mean</span> <span class="special">=</span> <span class="number">41285.7</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_sample_sd</span> <span class="special">=</span> <span class="number">1.1e+05</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">iat_fit_probs</span><span class="special">,</span> <span class="identifier">iat_fit_rates</span><span class="special">);</span>
+
+ <span class="comment">// Multi-core VM lifetime distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">multi_lt_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.42093</span><span class="special">,</span><span class="number">0.43960</span><span class="special">,</span><span class="number">0.13947</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">multi_lt_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.00186</span><span class="special">,</span><span class="number">0.00008</span><span class="special">,</span><span class="number">0.0000008</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_sample_mean</span> <span class="special">=</span> <span class="number">144669.0</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_sample_sd</span> <span class="special">=</span> <span class="number">7.9e+05</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">multi_lt_fit_probs</span><span class="special">,</span> <span class="identifier">multi_lt_fit_rates</span><span class="special">);</span>
+
+ <span class="comment">// Single-core VM lifetime distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">single_lt_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.44885</span><span class="special">,</span><span class="number">0.30675</span><span class="special">,</span><span class="number">0.2444</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">single_lt_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.00143</span><span class="special">,</span><span class="number">0.00005</span><span class="special">,</span><span class="number">0.0000004</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_sample_mean</span> <span class="special">=</span> <span class="number">599815.0</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_sample_sd</span> <span class="special">=</span> <span class="number">1.7e+06</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">single_lt_fit_probs</span><span class="special">,</span> <span class="identifier">single_lt_fit_rates</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="identifier">ds</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="comment">// DS3 dataset</span>
+<span class="identifier">ds_info</span> <span class="identifier">make_ds3</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">ds_info</span> <span class="identifier">ds</span><span class="special">;</span>
+
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">name</span> <span class="special">=</span> <span class="string">"DS3"</span><span class="special">;</span>
+
+ <span class="comment">// VM interarrival time distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">iat_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.39442</span><span class="special">,</span><span class="number">0.24644</span><span class="special">,</span><span class="number">0.35914</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">iat_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.00030</span><span class="special">,</span><span class="number">0.00003</span><span class="special">,</span><span class="number">0.00257</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_sample_mean</span> <span class="special">=</span> <span class="number">11238.8</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_sample_sd</span> <span class="special">=</span> <span class="number">3.0e+04</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">iat_fit_probs</span><span class="special">,</span> <span class="identifier">iat_fit_rates</span><span class="special">);</span>
+
+ <span class="comment">// Multi-core VM lifetime distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">multi_lt_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.37621</span><span class="special">,</span><span class="number">0.14838</span><span class="special">,</span><span class="number">0.47541</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">multi_lt_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.00498</span><span class="special">,</span><span class="number">0.000005</span><span class="special">,</span><span class="number">0.00022</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_sample_mean</span> <span class="special">=</span> <span class="number">30739.2</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_sample_sd</span> <span class="special">=</span> <span class="number">1.6e+05</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">multi_lt_fit_probs</span><span class="special">,</span> <span class="identifier">multi_lt_fit_rates</span><span class="special">);</span>
+
+ <span class="comment">// Single-core VM lifetime distribution</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">single_lt_fit_probs</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.34131</span><span class="special">,</span><span class="number">0.12544</span><span class="special">,</span><span class="number">0.53325</span><span class="special">};</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">single_lt_fit_rates</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.000297</span><span class="special">,</span><span class="number">0.000003</span><span class="special">,</span><span class="number">0.00410</span><span class="special">};</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_sample_mean</span> <span class="special">=</span> <span class="number">44447.8</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_sample_sd</span> <span class="special">=</span> <span class="number">2.2e+05</span><span class="special">;</span>
+ <span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">hyperexponential</span><span class="special">(</span><span class="identifier">single_lt_fit_probs</span><span class="special">,</span> <span class="identifier">single_lt_fit_rates</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="identifier">ds</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">void</span> <span class="identifier">print_fitted</span><span class="special">(</span><span class="identifier">ds_info</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">ds</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">secs_in_a_hour</span> <span class="special">=</span> <span class="number">3600</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">secs_in_a_month</span> <span class="special">=</span> <span class="number">30</span><span class="special">*</span><span class="number">24</span><span class="special">*</span><span class="identifier">secs_in_a_hour</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"### "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ds</span><span class="special">.</span><span class="identifier">name</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"* Fitted Request Interarrival Time"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Mean (SD): "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" ("</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">") seconds."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - 99th Percentile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span><span class="special">,</span> <span class="number">0.99</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" seconds."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Probability that a VM will arrive within 30 minutes: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span><span class="special">,</span> <span class="identifier">secs_in_a_hour</span><span class="special">/</span><span class="number">2.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Probability that a VM will arrive after 1 hour: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">iat_he</span><span class="special">,</span> <span class="identifier">secs_in_a_hour</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"* Fitted Multi-core VM Lifetime"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Mean (SD): "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" ("</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">") seconds."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - 99th Percentile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span><span class="special">,</span> <span class="number">0.99</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" seconds."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Probability that a VM will last for less than 1 month: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span><span class="special">,</span> <span class="identifier">secs_in_a_month</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Probability that a VM will last for more than 3 months: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">multi_lt_he</span><span class="special">,</span> <span class="number">3.0</span><span class="special">*</span><span class="identifier">secs_in_a_month</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"* Fitted Single-core VM Lifetime"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Mean (SD): "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" ("</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">") seconds."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - 99th Percentile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span><span class="special">,</span> <span class="number">0.99</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" seconds."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Probability that a VM will last for less than 1 month: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span><span class="special">,</span> <span class="identifier">secs_in_a_month</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" - Probability that a VM will last for more than 3 months: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">ds</span><span class="special">.</span><span class="identifier">single_lt_he</span><span class="special">,</span> <span class="number">3.0</span><span class="special">*</span><span class="identifier">secs_in_a_month</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">print_fitted</span><span class="special">(</span><span class="identifier">make_ds1</span><span class="special">());</span>
+
+ <span class="identifier">print_fitted</span><span class="special">(</span><span class="identifier">make_ds2</span><span class="special">());</span>
+
+ <span class="identifier">print_fitted</span><span class="special">(</span><span class="identifier">make_ds3</span><span class="special">());</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The resulting output (with floating-point precision set to 2) is:
+ </p>
+<pre class="programlisting"><span class="special">###</span> <span class="identifier">DS1</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Request</span> <span class="identifier">Interarrival</span> <span class="identifier">Time</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">2.2e+03</span> <span class="special">(</span><span class="number">8.1e+03</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">4.3e+04</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">arrive</span> <span class="identifier">within</span> <span class="number">30</span> <span class="identifier">minutes</span><span class="special">:</span> <span class="number">0.84</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">arrive</span> <span class="identifier">after</span> <span class="number">1</span> <span class="identifier">hour</span><span class="special">:</span> <span class="number">0.092</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Multi</span><span class="special">-</span><span class="identifier">core</span> <span class="identifier">VM</span> <span class="identifier">Lifetime</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">2e+05</span> <span class="special">(</span><span class="number">3.9e+05</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">1.8e+06</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">less</span> <span class="identifier">than</span> <span class="number">1</span> <span class="identifier">month</span><span class="special">:</span> <span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">more</span> <span class="identifier">than</span> <span class="number">3</span> <span class="identifier">months</span><span class="special">:</span> <span class="number">6.7e-08</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Single</span><span class="special">-</span><span class="identifier">core</span> <span class="identifier">VM</span> <span class="identifier">Lifetime</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">3.2e+04</span> <span class="special">(</span><span class="number">1.4e+05</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">7.4e+05</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">less</span> <span class="identifier">than</span> <span class="number">1</span> <span class="identifier">month</span><span class="special">:</span> <span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">more</span> <span class="identifier">than</span> <span class="number">3</span> <span class="identifier">months</span><span class="special">:</span> <span class="number">6.9e-12</span>
+<span class="special">###</span> <span class="identifier">DS2</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Request</span> <span class="identifier">Interarrival</span> <span class="identifier">Time</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">6.5e+04</span> <span class="special">(</span><span class="number">1.3e+05</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">6.1e+05</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">arrive</span> <span class="identifier">within</span> <span class="number">30</span> <span class="identifier">minutes</span><span class="special">:</span> <span class="number">0.52</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">arrive</span> <span class="identifier">after</span> <span class="number">1</span> <span class="identifier">hour</span><span class="special">:</span> <span class="number">0.4</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Multi</span><span class="special">-</span><span class="identifier">core</span> <span class="identifier">VM</span> <span class="identifier">Lifetime</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">1.8e+05</span> <span class="special">(</span><span class="number">6.4e+05</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">3.3e+06</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">less</span> <span class="identifier">than</span> <span class="number">1</span> <span class="identifier">month</span><span class="special">:</span> <span class="number">0.98</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">more</span> <span class="identifier">than</span> <span class="number">3</span> <span class="identifier">months</span><span class="special">:</span> <span class="number">0.00028</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Single</span><span class="special">-</span><span class="identifier">core</span> <span class="identifier">VM</span> <span class="identifier">Lifetime</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">6.2e+05</span> <span class="special">(</span><span class="number">1.6e+06</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">8e+06</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">less</span> <span class="identifier">than</span> <span class="number">1</span> <span class="identifier">month</span><span class="special">:</span> <span class="number">0.91</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">more</span> <span class="identifier">than</span> <span class="number">3</span> <span class="identifier">months</span><span class="special">:</span> <span class="number">0.011</span>
+<span class="special">###</span> <span class="identifier">DS3</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Request</span> <span class="identifier">Interarrival</span> <span class="identifier">Time</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">9.7e+03</span> <span class="special">(</span><span class="number">2.2e+04</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">1.1e+05</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">arrive</span> <span class="identifier">within</span> <span class="number">30</span> <span class="identifier">minutes</span><span class="special">:</span> <span class="number">0.53</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">arrive</span> <span class="identifier">after</span> <span class="number">1</span> <span class="identifier">hour</span><span class="special">:</span> <span class="number">0.36</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Multi</span><span class="special">-</span><span class="identifier">core</span> <span class="identifier">VM</span> <span class="identifier">Lifetime</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">3.2e+04</span> <span class="special">(</span><span class="number">1e+05</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">5.4e+05</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">less</span> <span class="identifier">than</span> <span class="number">1</span> <span class="identifier">month</span><span class="special">:</span> <span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">more</span> <span class="identifier">than</span> <span class="number">3</span> <span class="identifier">months</span><span class="special">:</span> <span class="number">1.9e-18</span>
+<span class="special">*</span> <span class="identifier">Fitted</span> <span class="identifier">Single</span><span class="special">-</span><span class="identifier">core</span> <span class="identifier">VM</span> <span class="identifier">Lifetime</span>
+ <span class="special">-</span> <span class="identifier">Mean</span> <span class="special">(</span><span class="identifier">SD</span><span class="special">):</span> <span class="number">4.3e+04</span> <span class="special">(</span><span class="number">1.6e+05</span><span class="special">)</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="number">99</span><span class="identifier">th</span> <span class="identifier">Percentile</span><span class="special">:</span> <span class="number">8.4e+05</span> <span class="identifier">seconds</span><span class="special">.</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">less</span> <span class="identifier">than</span> <span class="number">1</span> <span class="identifier">month</span><span class="special">:</span> <span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">Probability</span> <span class="identifier">that</span> <span class="identifier">a</span> <span class="identifier">VM</span> <span class="identifier">will</span> <span class="identifier">last</span> <span class="keyword">for</span> <span class="identifier">more</span> <span class="identifier">than</span> <span class="number">3</span> <span class="identifier">months</span><span class="special">:</span> <span class="number">9.3e-12</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The above results differ from the ones shown in Tables III, V, and VII
+ of (Wolski et al.,2013). We carefully double-checked them with Wolfram
+ Mathematica 10, which confirmed our results.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.member_functions"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.member_functions">Member
+ Functions</a>
+ </h4>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h6"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.default_constructor"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.default_constructor">Default
+ Constructor</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">hyperexponential_distribution</span><span class="special">();</span>
+</pre>
+<p>
+ Constructs a <span class="emphasis"><em>1</em></span>-phase hyperexponential distribution
+ (i.e., an exponential distribution) with rate <code class="computeroutput"><span class="number">1</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h7"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.constructor_from_iterators"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.constructor_from_iterators">Constructor
+ from Iterators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ProbIterT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RateIterT</span><span class="special">&gt;</span>
+<span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">ProbIterT</span> <span class="identifier">prob_first</span><span class="special">,</span> <span class="identifier">ProbIterT</span> <span class="identifier">prob_last</span><span class="special">,</span>
+ <span class="identifier">RateIterT</span> <span class="identifier">rate_first</span><span class="special">,</span> <span class="identifier">RateIterT</span> <span class="identifier">rate_last</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a hyperexponential distribution with <span class="emphasis"><em>phase probability
+ vector</em></span> parameter given by the range defined by [<code class="computeroutput"><span class="identifier">prob_first</span></code>, <code class="computeroutput"><span class="identifier">prob_last</span></code>)
+ iterator pair, and <span class="emphasis"><em>rate vector</em></span> parameter given by
+ the range defined by the [<code class="computeroutput"><span class="identifier">rate_first</span></code>,
+ <code class="computeroutput"><span class="identifier">rate_last</span></code>) iterator pair.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h8"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.parameters"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.parameters">Parameters</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">prob_first</span></code>, <code class="computeroutput"><span class="identifier">prob_last</span></code>: the range of non-negative
+ real elements representing the phase probabilities; elements are normalized
+ to sum to unity.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">rate_first</span></code>, <code class="computeroutput"><span class="identifier">rate_last</span></code>: the range of positive
+ elements representing the rates.
+ </li>
+</ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h9"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements">Type
+ Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <code class="computeroutput"><span class="identifier">ProbIterT</span></code>, <code class="computeroutput"><span class="identifier">RateIterT</span></code>: must meet the requirements
+ of the <a href="http://en.cppreference.com/w/cpp/concept/InputIterator" target="_top">InputIterator</a>
+ concept.
+ </li></ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h10"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.example"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">phase_prob</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.5</span> <span class="special">};</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">rates</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12</span> <span class="special">};</span>
+
+<span class="identifier">hyperexponential</span> <span class="identifier">he</span><span class="special">(</span><span class="identifier">phase_prob</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">phase_prob</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">rates</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">rates</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h11"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_ranges_contain"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_ranges_contain">Construction
+ from Ranges/Containers</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ProbRangeT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RateRangeT</span><span class="special">&gt;</span>
+<span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">ProbRangeT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">prob_range</span><span class="special">,</span>
+ <span class="identifier">RateRangeT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_range</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a hyperexponential distribution with <span class="emphasis"><em>phase probability
+ vector</em></span> parameter given by the range defined by <code class="computeroutput"><span class="identifier">prob_range</span></code>, and <span class="emphasis"><em>rate vector</em></span>
+ parameter given by the range defined by <code class="computeroutput"><span class="identifier">rate_range</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ As an implementation detail, this constructor uses Boost's <a href="http://www.boost.org/doc/libs/release/libs/core/doc/html/core/enable_if.html" target="_top">enable_if/disable_if
+ mechanism</a> to disambiguage between this and other 2-argument constructors.
+ Refer to the source code for more details.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h12"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.parameters0"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.parameters0">Parameters</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">prob_range</span></code>: the range
+ of non-negative real elements representing the phase probabilities;
+ elements are normalized to sum to unity.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">rate_range</span></code>: the range
+ of positive real elements representing the rates.
+ </li>
+</ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h13"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements0"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements0">Type
+ Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <code class="computeroutput"><span class="identifier">ProbRangeT</span></code>, <code class="computeroutput"><span class="identifier">RateRangeT</span></code>: must meet the requirements
+ of the <a href="http://www.boost.org/doc/libs/release/libs/range/doc/html/range/concepts.html" target="_top">Range</a>
+ concept: that includes native C++ arrays, standard library containers,
+ or a std::pair or iterators.
+ </li></ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h14"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.examples0"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.examples0">Examples</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// We could be using any standard library container here... vector, deque, array, list etc:</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">phase_prob</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.5</span> <span class="special">};</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">rates</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12</span> <span class="special">};</span>
+
+<span class="identifier">hyperexponential</span> <span class="identifier">he1</span><span class="special">(</span><span class="identifier">phase_prob</span><span class="special">,</span> <span class="identifier">rates</span><span class="special">);</span> <span class="comment">// Construct from standard library container.</span>
+
+<span class="keyword">double</span> <span class="identifier">phase_probs2</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.5</span> <span class="special">};</span>
+<span class="keyword">double</span> <span class="identifier">rates2</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12</span> <span class="special">};</span>
+
+<span class="identifier">hyperexponential</span> <span class="identifier">he2</span><span class="special">(</span><span class="identifier">phase_probs2</span><span class="special">,</span> <span class="identifier">rates2</span><span class="special">);</span> <span class="comment">// Construct from native C++ array.</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h15"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.construction_with_rates_iterator"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.construction_with_rates_iterator">Construction
+ with rates-iterators (and all phase probablities equal)</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">RateIterT</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">RateIterT2</span><span class="special">&gt;</span>
+<span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">RateIterT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_first</span><span class="special">,</span>
+ <span class="identifier">RateIterT2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_last</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a hyperexponential distribution with <span class="emphasis"><em>rate vector</em></span>
+ parameter given by the range defined by the [<code class="computeroutput"><span class="identifier">rate_first</span></code>,
+ <code class="computeroutput"><span class="identifier">rate_last</span></code>) iterator pair,
+ and <span class="emphasis"><em>phase probability vector</em></span> set to the equal phase
+ probabilities (i.e., to a vector of the same length <code class="computeroutput"><span class="identifier">n</span></code>
+ of the <span class="emphasis"><em>rate vector</em></span> and with each element set to <code class="computeroutput"><span class="number">1.0</span><span class="special">/</span><span class="identifier">n</span></code>).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ As an implementation detail, this constructor uses Boost's <a href="http://www.boost.org/doc/libs/release/libs/core/doc/html/core/enable_if.html" target="_top">enable_if/disable_if
+ mechanism</a> to disambiguage between this and other 2-argument constructors.
+ Refer to the source code for more details.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h16"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.parameters1"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.parameters1">Parameters</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rate_first</span></code>, <code class="computeroutput"><span class="identifier">rate_last</span></code>: the range of positive
+ elements representing the rates.
+ </li></ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h17"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements1"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements1">Type
+ Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <code class="computeroutput"><span class="identifier">RateIterT</span></code>, <code class="computeroutput"><span class="identifier">RateIterT2</span></code>: must meet the requirements
+ of the <a href="http://en.cppreference.com/w/cpp/concept/InputIterator" target="_top">InputIterator</a>
+ concept.
+ </li></ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h18"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.example0"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.example0">Example</a>
+ </h6>
+<pre class="programlisting"><span class="comment">// We could be using any standard library container here... vector, deque, array, list etc:</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">rates</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12</span> <span class="special">};</span>
+
+<span class="identifier">hyperexponential</span> <span class="identifier">he</span><span class="special">(</span><span class="identifier">rates</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">rates</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
+
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">()[</span><span class="number">0</span><span class="special">]</span> <span class="special">==</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// Phase probabilities will be equal and normalised to unity.</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h19"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_a_single_range"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_a_single_range">Construction
+ from a single range of rates (all phase probabilities will be equal)</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">RateRangeT</span><span class="special">&gt;</span>
+<span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">RateRangeT</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rate_range</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a hyperexponential distribution with <span class="emphasis"><em>rate vector</em></span>
+ parameter given by the range defined by <code class="computeroutput"><span class="identifier">rate_range</span></code>,
+ and <span class="emphasis"><em>phase probability vector</em></span> set to the equal phase
+ probabilities (i.e., to a vector of the same length <code class="computeroutput"><span class="identifier">n</span></code>
+ of the <span class="emphasis"><em>rate vector</em></span> and with each element set to <code class="computeroutput"><span class="number">1.0</span><span class="special">/</span><span class="identifier">n</span></code>).
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h20"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.parameters2"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.parameters2">Parameters</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rate_range</span></code>: the range
+ of positive real elements representing the rates.
+ </li></ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h21"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements2"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.type_requirements2">Type
+ Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <code class="computeroutput"><span class="identifier">RateRangeT</span></code>: must meet
+ the requirements of the <a href="http://www.boost.org/doc/libs/release/libs/range/doc/html/range/concepts.html" target="_top">Range</a>
+ concept: this includes native C++ array, standard library containers,
+ and a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> of iterators.
+ </li></ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h22"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.examples1"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.examples1">Examples</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="number">2</span><span class="special">&gt;</span> <span class="identifier">rates</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12</span> <span class="special">};</span>
+
+<span class="identifier">hyperexponential</span> <span class="identifier">he</span><span class="special">(</span><span class="identifier">rates</span><span class="special">);</span>
+
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">()[</span><span class="number">0</span><span class="special">]</span> <span class="special">==</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// Phase probabilities will be equal and normalised to unity.</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h23"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_initializer_li"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_initializer_li">Construction
+ from Initializer lists</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">l1</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">l2</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a hyperexponential distribution with <span class="emphasis"><em>phase probability
+ vector</em></span> parameter given by the <a href="http://en.cppreference.com/w/cpp/language/list_initialization" target="_top">brace-init-list</a>
+ defined by <code class="computeroutput"><span class="identifier">l1</span></code>, and <span class="emphasis"><em>rate
+ vector</em></span> parameter given by the <a href="http://en.cppreference.com/w/cpp/language/list_initialization" target="_top">brace-init-list</a>
+ defined by <code class="computeroutput"><span class="identifier">l2</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h24"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.parameters3"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.parameters3">Parameters</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">l1</span></code>: the brace-init-list
+ of non-negative real elements representing the phase probabilities;
+ elements are normalized to sum to unity.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">l2</span></code>: the brace-init-list
+ of positive real elements representing the rates.
+ </li>
+</ul></div>
+<p>
+ The number of elements of the phase probabilities list and the rates list
+ must be the same.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h25"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.example1"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.example1">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">hyperexponential</span> <span class="identifier">he</span> <span class="special">=</span> <span class="special">{</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.5</span> <span class="special">},</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12</span> <span class="special">}</span> <span class="special">};</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h26"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_a_single_initi"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.construction_from_a_single_initi">Construction
+ from a single initializer list (all phase probabilities will be equal)</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">hyperexponential_distribution</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">l1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a hyperexponential distribution with <span class="emphasis"><em>rate vector</em></span>
+ parameter given by the <a href="http://en.cppreference.com/w/cpp/language/list_initialization" target="_top">brace-init-list</a>
+ defined by <code class="computeroutput"><span class="identifier">l1</span></code>, and <span class="emphasis"><em>phase
+ probability vector</em></span> set to the equal phase probabilities (i.e.,
+ to a vector of the same length <code class="computeroutput"><span class="identifier">n</span></code>
+ of the <span class="emphasis"><em>rate vector</em></span> and with each element set to <code class="computeroutput"><span class="number">1.0</span><span class="special">/</span><span class="identifier">n</span></code>).
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h27"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.parameters4"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.parameters4">Parameters</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <code class="computeroutput"><span class="identifier">l1</span></code>: the brace-init-list
+ of non-negative real elements representing the phase probabilities;
+ they are normalized to ensure that they sum to unity.
+ </li></ul></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h28"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.example2"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.example2">Example</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">hyperexponential</span> <span class="identifier">he</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">10</span><span class="special">,</span> <span class="number">1.0</span> <span class="special">/</span> <span class="number">12</span> <span class="special">};</span>
+
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">()[</span><span class="number">0</span><span class="special">]</span> <span class="special">==</span> <span class="number">0.5</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h29"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.accessors"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.accessors">Accessors</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">num_phases</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Gets the number of phases of this distribution (the size of both the rate
+ and probability vectors).
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h30"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.return_value"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.return_value">Return
+ Value</a>
+ </h6>
+<p>
+ An non-negative integer number representing the number of phases of this
+ distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">probabilities</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Gets the <span class="emphasis"><em>phase probability vector</em></span> parameter of this
+ distribution.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The returned probabilities are the <span class="bold"><strong>normalized</strong></span>
+ versions of the probability parameter values passed at construction time.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h31"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.return_value0"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.return_value0">Return
+ Value</a>
+ </h6>
+<p>
+ A vector of non-negative real numbers representing the <span class="emphasis"><em>phase
+ probability vector</em></span> parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">rates</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Gets the <span class="emphasis"><em>rate vector</em></span> parameter of this distribution.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h32"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.return_value1"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.return_value1">Return
+ Value</a>
+ </h6>
+<p>
+ A vector of positive real numbers representing the <span class="emphasis"><em>rate vector</em></span>
+ parameter of this distribution.
+ </p>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The return type of these functions is a vector-by-value. This is deliberate
+ as we wish to hide the actual container used internally which may be
+ subject to future changes (for example to facilitate vectorization of
+ the cdf code etc). Users should note that some code that might otherwise
+ have been expected to work does not. For example, an attempt to output
+ the (normalized) probabilities:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">().</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">().</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">" "</span><span class="special">));</span>
+</pre>
+<p>
+ fails at compile or runtime because iterator types are incompatible,
+ but, for example,
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">()[</span><span class="number">0</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span> <span class="special">&lt;&lt;</span> <span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">()[</span><span class="number">1</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ outputs the expected values.
+ </p>
+<p>
+ In general if you want to access a member of the returned container,
+ then assign to a variable first, and then access those members:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">he</span><span class="special">.</span><span class="identifier">probabilities</span><span class="special">();</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">t</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">t</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">" "</span><span class="special">));</span>
+</pre>
+</td></tr>
+</table></div>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h33"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.non_member_accessor_functions"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.non_member_accessor_functions">Non-member
+ Accessor Functions</a>
+ </h4>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The formulae for calculating these are shown in the table below.
+ </p>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h34"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.accuracy"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.accuracy">Accuracy</a>
+ </h4>
+<p>
+ The hyperexponential distribution is implemented in terms of the <a class="link" href="exp_dist.html" title="Exponential Distribution">Exponential Distribution</a>
+ and as such should have very small errors, usually an <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>
+ or few.
+ </p>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h35"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.implementation"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.implementation">Implementation</a>
+ </h4>
+<p>
+ In the following table:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#945;</strong></span>=(&#945;<sub>1</sub>,...,&#945;<sub>k</sub>)</em></span> is
+ the <span class="emphasis"><em>phase probability vector</em></span> parameter of the
+ <span class="emphasis"><em>k</em></span>-phase hyperexponential distribution,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em><span class="bold"><strong>&#955;</strong></span>=(&#955;<sub>1</sub>,...,&#955;<sub>k</sub>)</em></span> is
+ the <span class="emphasis"><em>rate vector</em></span> parameter of the <span class="emphasis"><em>k</em></span>-phase
+ hyperexponential distribution,
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>x</em></span> is the random variate.
+ </li>
+</ul></div>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ support
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="emphasis"><em>x</em></span> &#8712; [0,&#8734;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_pdf.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_cdf.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_ccdf.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ No closed form available. Computed numerically.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ No closed form available. Computed numerically.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_mean.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_variance.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="number">0</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_skewness.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hyperexponential_kurtosis.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ kurtosis <code class="computeroutput"><span class="special">-</span> <span class="number">3</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h4>
+<a name="math_toolkit.dist_ref.dists.hyperexponential_dist.h36"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hyperexponential_dist.references"></a></span><a class="link" href="hyperexponential_dist.html#math_toolkit.dist_ref.dists.hyperexponential_dist.references">References</a>
+ </h4>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A.O. Allen, <span class="emphasis"><em>Probability, Statistics, and Queuing Theory with
+ Computer Science Applications, Second Edition</em></span>, Academic
+ Press, 1990.
+ </li>
+<li class="listitem">
+ D.G. Feitelson, <span class="emphasis"><em>Workload Modeling for Computer Systems Performance
+ Evaluation</em></span>, Cambridge University Press, 2014
+ </li>
+<li class="listitem">
+ A. Feldmann and W. Whitt, <span class="emphasis"><em>Fitting mixtures of exponentials
+ to long-tail distributions to analyze network performance models</em></span>,
+ Performance Evaluation 31(3-4):245, doi:10.1016/S0166-5316(97)00003-5,
+ 1998.
+ </li>
+<li class="listitem">
+ H.T. Papadopolous, C. Heavey and J. Browne, <span class="emphasis"><em>Queueing Theory
+ in Manufacturing Systems Analysis and Design</em></span>, Chapman &amp;
+ Hall/CRC, 1993, p. 35.
+ </li>
+<li class="listitem">
+ R.F. Rosin, <span class="emphasis"><em>Determining a computing center environment</em></span>,
+ Communications of the ACM 8(7):463-468, 1965.
+ </li>
+<li class="listitem">
+ K.S. Trivedi, <span class="emphasis"><em>Probability and Statistics with Reliability,
+ Queueing, and Computer Science Applications</em></span>, John Wiley
+ &amp; Sons, Inc., 2002.
+ </li>
+<li class="listitem">
+ Wikipedia, <span class="emphasis"><em>Hyperexponential Distribution</em></span>, Online:
+ <a href="http://en.wikipedia.org/wiki/Hyperexponential_distribution" target="_top">http://en.wikipedia.org/wiki/Hyperexponential_distribution</a>,
+ 2014
+ </li>
+<li class="listitem">
+ R. Wolski and J. Brevik, <span class="emphasis"><em>Using Parametric Models to Represent
+ Private Cloud Workloads</em></span>, IEEE TSC, PrePrint, DOI: <a href="http://doi.ieeecomputersociety.org/10.1109/TSC.2013.48" target="_top">10.1109/TSC.2013.48</a>,
+ 2013.
+ </li>
+<li class="listitem">
+ Wolfram Mathematica, <span class="emphasis"><em>Hyperexponential Distribution</em></span>,
+ Online: <a href="http://reference.wolfram.com/language/ref/HyperexponentialDistribution.html" target="_top">http://reference.wolfram.com/language/ref/HyperexponentialDistribution.html</a>,
+ 2014.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="geometric_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypergeometric_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html
new file mode 100644
index 0000000000..99c2470d17
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/hypergeometric_dist.html
@@ -0,0 +1,339 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Hypergeometric Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="hyperexponential_dist.html" title="Hyperexponential Distribution">
+<link rel="next" href="inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hyperexponential_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.hypergeometric_dist"></a><a class="link" href="hypergeometric_dist.html" title="Hypergeometric Distribution">Hypergeometric
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">hypergeometric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">hypergeometric_distribution</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">hypergeometric_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Construct:</span>
+ <span class="identifier">hypergeometric_distribution</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">r</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">);</span>
+ <span class="comment">// Accessors:</span>
+ <span class="keyword">unsigned</span> <span class="identifier">total</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="identifier">defective</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">unsigned</span> <span class="identifier">sample_count</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">typedef</span> <span class="identifier">hypergeometric_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">hypergeometric</span><span class="special">;</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The hypergeometric distribution describes the number of "events"
+ <span class="emphasis"><em>k</em></span> from a sample <span class="emphasis"><em>n</em></span> drawn from
+ a total population <span class="emphasis"><em>N</em></span> <span class="emphasis"><em>without replacement</em></span>.
+ </p>
+<p>
+ Imagine we have a sample of <span class="emphasis"><em>N</em></span> objects of which <span class="emphasis"><em>r</em></span>
+ are "defective" and N-r are "not defective" (the terms
+ "success/failure" or "red/blue" are also used). If
+ we sample <span class="emphasis"><em>n</em></span> items <span class="emphasis"><em>without replacement</em></span>
+ then what is the probability that exactly <span class="emphasis"><em>k</em></span> items
+ in the sample are defective? The answer is given by the pdf of the hypergeometric
+ distribution <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">k</span><span class="special">;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">N</span><span class="special">)</span></code>,
+ whilst the probability of <span class="emphasis"><em>k</em></span> defectives or fewer is
+ given by F(k; r, n, N), where F(k) is the CDF of the hypergeometric distribution.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Unlike almost all of the other distributions in this library, the hypergeometric
+ distribution is strictly discrete: it can not be extended to real valued
+ arguments of its parameters or random variable.
+ </p></td></tr>
+</table></div>
+<p>
+ The following graph shows how the distribution changes as the proportion
+ of "defective" items changes, while keeping the population and
+ sample sizes constant:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/hypergeometric_pdf_1.png" align="middle"></span>
+ </p>
+<p>
+ Note that since the distribution is symmetrical in parameters <span class="emphasis"><em>n</em></span>
+ and <span class="emphasis"><em>r</em></span>, if we change the sample size and keep the population
+ and proportion "defective" the same then we obtain basically
+ the same graphs:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/hypergeometric_pdf_2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hypergeometric_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hypergeometric_dist.member_functions"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist_ref.dists.hypergeometric_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">hypergeometric_distribution</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">r</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a hypergeometric distribution with with a population of <span class="emphasis"><em>N</em></span>
+ objects, of which <span class="emphasis"><em>r</em></span> are defective, and from which
+ <span class="emphasis"><em>n</em></span> are sampled.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="identifier">total</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the total number of objects <span class="emphasis"><em>N</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="identifier">defective</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the number of objects <span class="emphasis"><em>r</em></span> in population <span class="emphasis"><em>N</em></span>
+ which are defective.
+ </p>
+<pre class="programlisting"><span class="keyword">unsigned</span> <span class="identifier">sample_count</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the number of objects <span class="emphasis"><em>n</em></span> which are sampled
+ from the population <span class="emphasis"><em>N</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hypergeometric_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hypergeometric_dist.non_member_accessors"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist_ref.dists.hypergeometric_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is the unsigned integers in the range
+ [max(0, n + r - N), min(n, r)]. A <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is raised if the random variable is outside this range, or is not an integral
+ value.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The quantile function will by default return an integer result that has
+ been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower quantiles
+ (where the probability is less than 0.5) are rounded downward, and upper
+ quantiles (where the probability is greater than 0.5) are rounded upwards.
+ This behaviour ensures that if an X% quantile is requested, then <span class="emphasis"><em>at
+ least</em></span> the requested coverage will be present in the central
+ region, and <span class="emphasis"><em>no more than</em></span> the requested coverage
+ will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently using <a class="link" href="../../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile
+ function on the Hypergeometric distribution. The <a class="link" href="../../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+<p>
+ However, note that the implementation method of the quantile function
+ always returns an integral value, therefore attempting to use a <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> that requires (or produces) a real valued
+ result will result in a compile time error.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hypergeometric_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hypergeometric_dist.accuracy"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist_ref.dists.hypergeometric_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ For small N such that <code class="computeroutput"><span class="identifier">N</span> <span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
+ then table based lookup of the results gives an accuracy to a few epsilon.
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is 170 at double or long double
+ precision.
+ </p>
+<p>
+ For larger N such that <code class="computeroutput"><span class="identifier">N</span> <span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">prime</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_prime</span><span class="special">)</span></code> then only basic arithmetic is required
+ for the calculation and the accuracy is typically &lt; 20 epsilon. This
+ takes care of N up to 104729.
+ </p>
+<p>
+ For <code class="computeroutput"><span class="identifier">N</span> <span class="special">&gt;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">prime</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_prime</span><span class="special">)</span></code>
+ then accuracy quickly degrades, with 5 or 6 decimal digits being lost for
+ N = 110000.
+ </p>
+<p>
+ In general for very large N, the user should expect to loose log<sub>10</sub>N decimal
+ digits of precision during the calculation, with the results becoming meaningless
+ for N &gt;= 10<sup>15</sup>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hypergeometric_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hypergeometric_dist.testing"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist_ref.dists.hypergeometric_dist.testing">Testing</a>
+ </h5>
+<p>
+ There are three sets of tests: our implementation is tested against a table
+ of values produced by Mathematica's implementation of this distribution.
+ We also sanity check our implementation against some spot values computed
+ using the online calculator here <a href="http://stattrek.com/Tables/Hypergeometric.aspx" target="_top">http://stattrek.com/Tables/Hypergeometric.aspx</a>.
+ Finally we test accuracy against some high precision test data using this
+ implementation and NTL::RR.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.hypergeometric_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.hypergeometric_dist.implementation"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist_ref.dists.hypergeometric_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ The PDF can be calculated directly using the formula:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hypergeometric1.png"></span>
+ </p>
+<p>
+ However, this can only be used directly when the largest of the factorials
+ is guaranteed not to overflow the floating point representation used. This
+ formula is used directly when <code class="computeroutput"><span class="identifier">N</span>
+ <span class="special">&lt;</span> <span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
+ in which case table lookup of the factorials gives a rapid and accurate
+ implementation method.
+ </p>
+<p>
+ For larger <span class="emphasis"><em>N</em></span> the method described in "An Accurate
+ Computation of the Hypergeometric Distribution Function", Trong Wu,
+ ACM Transactions on Mathematical Software, Vol. 19, No. 1, March 1993,
+ Pages 33-43 is used. The method relies on the fact that there is an easy
+ method for factorising a factorial into the product of prime numbers:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hypergeometric2.png"></span>
+ </p>
+<p>
+ Where p<sub>i</sub> is the i'th prime number, and e<sub>i</sub> is a small positive integer or
+ zero, which can be calculated via:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hypergeometric3.png"></span>
+ </p>
+<p>
+ Further we can combine the factorials in the expression for the PDF to
+ yield the PDF directly as the product of prime numbers:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hypergeometric4.png"></span>
+ </p>
+<p>
+ With this time the exponents e<sub>i</sub> being either positive, negative or zero.
+ Indeed such a degree of cancellation occurs in the calculation of the e<sub>i</sub> that
+ many are zero, and typically most have a magnitude or no more than 1 or
+ 2.
+ </p>
+<p>
+ Calculation of the product of the primes requires some care to prevent
+ numerical overflow, we use a novel recursive method which splits the calculation
+ into a series of sub-products, with a new sub-product started each time
+ the next multiplication would cause either overflow or underflow. The sub-products
+ are stored in a linked list on the program stack, and combined in an order
+ that will guarantee no overflow or unnecessary-underflow once the last
+ sub-product has been calculated.
+ </p>
+<p>
+ This method can be used as long as N is smaller than the largest prime
+ number we have stored in our table of primes (currently 104729). The method
+ is relatively slow (calculating the exponents requires the most time),
+ but requires only a small number of arithmetic operations to calculate
+ the result (indeed there is no shorter method involving only basic arithmetic
+ once the exponents have been found), the method is therefore much more
+ accurate than the alternatives.
+ </p>
+<p>
+ For much larger N, we can calculate the PDF from the factorials using either
+ lgamma, or by directly combining lanczos approximations to avoid calculating
+ via logarithms. We use the latter method, as it is usually 1 or 2 decimal
+ digits more accurate than computing via logarithms with lgamma. However,
+ in this area where N &gt; 104729, the user should expect to loose around
+ log<sub>10</sub>N decimal digits during the calculation in the worst case.
+ </p>
+<p>
+ The CDF and its complement is calculated by directly summing the PDF's.
+ We start by deciding whether the CDF, or its complement, is likely to be
+ the smaller of the two and then calculate the PDF at <span class="emphasis"><em>k</em></span>
+ (or <span class="emphasis"><em>k+1</em></span> if we're calculating the complement) and calculate
+ successive PDF values via the recurrence relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hypergeometric5.png"></span>
+ </p>
+<p>
+ Until we either reach the end of the distributions domain, or the next
+ PDF value to be summed would be too small to affect the result.
+ </p>
+<p>
+ The quantile is calculated in a similar manner to the CDF: we first guess
+ which end of the distribution we're nearer to, and then sum PDFs starting
+ from the end of the distribution this time, until we have some value <span class="emphasis"><em>k</em></span>
+ that gives the required CDF.
+ </p>
+<p>
+ The median is simply the quantile at 0.5, and the remaining properties
+ are calculated via:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/hypergeometric6.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hyperexponential_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html
new file mode 100644
index 0000000000..20a9a604e7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html
@@ -0,0 +1,471 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inverse Chi Squared Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="hypergeometric_dist.html" title="Hypergeometric Distribution">
+<link rel="next" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hypergeometric_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gamma_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist"></a><a class="link" href="inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">Inverse
+ Chi Squared Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">inverse_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">inverse_chi_squared_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Not explicitly scaled, default 1/df.</span>
+ <span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">/</span><span class="identifier">df</span><span class="special">);</span> <span class="comment">// Scaled.</span>
+
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Default 1.</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Optional scale [xi] (variance), default 1/degrees_of_freedom.</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespace boost // namespace math</span>
+</pre>
+<p>
+ The inverse chi squared distribution is a continuous probability distribution
+ of the <span class="bold"><strong>reciprocal</strong></span> of a variable distributed
+ according to the chi squared distribution.
+ </p>
+<p>
+ The sources below give confusingly different formulae using different symbols
+ for the distribution pdf, but they are all the same, or related by a change
+ of variable, or choice of scale.
+ </p>
+<p>
+ Two constructors are available to implement both the scaled and (implicitly)
+ unscaled versions.
+ </p>
+<p>
+ The main version has an explicit scale parameter which implements the
+ <a href="http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution" target="_top">scaled
+ inverse chi_squared distribution</a>.
+ </p>
+<p>
+ A second version has an implicit scale = 1/degrees of freedom and gives
+ the 1st definition in the <a href="http://en.wikipedia.org/wiki/Inverse-chi-square_distribution" target="_top">Wikipedia
+ inverse chi_squared distribution</a>. The 2nd Wikipedia inverse chi_squared
+ distribution definition can be implemented by explicitly specifying a scale
+ = 1.
+ </p>
+<p>
+ Both definitions are also available in Wolfram Mathematica and in <a href="http://www.r-project.org/" target="_top">The R Project for Statistical Computing</a>
+ (geoR) with default scale = 1/degrees of freedom.
+ </p>
+<p>
+ See
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Inverse chi_squared distribution <a href="http://en.wikipedia.org/wiki/Inverse-chi-square_distribution" target="_top">http://en.wikipedia.org/wiki/Inverse-chi-square_distribution</a>
+ </li>
+<li class="listitem">
+ Scaled inverse chi_squared distribution<a href="http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution" target="_top">http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution</a>
+ </li>
+<li class="listitem">
+ R inverse chi_squared distribution functions <a href="http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/geoR/html/InvChisquare.html" target="_top">R
+ </a>
+ </li>
+<li class="listitem">
+ Inverse chi_squared distribution functions <a href="http://mathworld.wolfram.com/InverseChi-SquaredDistribution.html" target="_top">Weisstein,
+ Eric W. "Inverse Chi-Squared Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>
+ </li>
+<li class="listitem">
+ Inverse chi_squared distribution reference <a href="http://reference.wolfram.com/mathematica/ref/InverseChiSquareDistribution.html" target="_top">Weisstein,
+ Eric W. "Inverse Chi-Squared Distribution reference." From
+ Wolfram Mathematica.</a>
+ </li>
+</ul></div>
+<p>
+ The inverse_chi_squared distribution is used in <a href="http://en.wikipedia.org/wiki/Bayesian_statistics" target="_top">Bayesian
+ statistics</a>: the scaled inverse chi-square is conjugate prior for
+ the normal distribution with known mean, model parameter &#963;&#178; (variance).
+ </p>
+<p>
+ See <a href="http://en.wikipedia.org/wiki/Conjugate_prior" target="_top">conjugate
+ priors including a table of distributions and their priors.</a>
+ </p>
+<p>
+ See also <a class="link" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
+ Gamma Distribution</a> and <a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a>.
+ </p>
+<p>
+ The inverse_chi_squared distribution is a special case of a inverse_gamma
+ distribution with &#957; (degrees_of_freedom) shape (&#945;) and scale (&#946;) where
+ </p>
+<p>
+ &#8192;&#8192; &#945;= &#957; /2 and &#946; = &#189;.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ This distribution <span class="bold"><strong>does</strong></span> provide the typedef:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">inverse_chi_squared_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">inverse_chi_squared</span><span class="special">;</span></pre>
+<p>
+ If you want a <code class="computeroutput"><span class="keyword">double</span></code> precision
+ inverse_chi_squared distribution you can use
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_chi_squared_distribution</span><span class="special">&lt;&gt;</span></pre>
+<p>
+ or you can write <code class="computeroutput"><span class="identifier">inverse_chi_squared</span>
+ <span class="identifier">my_invchisqr</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span></code>
+ </p>
+</td></tr>
+</table></div>
+<p>
+ For degrees of freedom parameter &#957;, the (<span class="bold"><strong>unscaled</strong></span>)
+ inverse chi_squared distribution is defined by the probability density
+ function (PDF):
+ </p>
+<p>
+ &#8192;&#8192; f(x;&#957;) = 2<sup>-&#957;/2</sup> x<sup>-&#957;/2-1</sup> e<sup>-1/2x</sup> / &#915;(&#957;/2)
+ </p>
+<p>
+ and Cumulative Density Function (CDF)
+ </p>
+<p>
+ &#8192;&#8192; F(x;&#957;) = &#915;(&#957;/2, 1/2x) / &#915;(&#957;/2)
+ </p>
+<p>
+ For degrees of freedom parameter &#957; and scale parameter &#958;, the <span class="bold"><strong>scaled</strong></span>
+ inverse chi_squared distribution is defined by the probability density
+ function (PDF):
+ </p>
+<p>
+ &#8192;&#8192; f(x;&#957;, &#958;) = (&#958;&#957;/2)<sup>&#957;/2</sup> e<sup>-&#957;&#958;/2x</sup> x<sup>-1-&#957;/2</sup> / &#915;(&#957;/2)
+ </p>
+<p>
+ and Cumulative Density Function (CDF)
+ </p>
+<p>
+ &#8192;&#8192; F(x;&#957;, &#958;) = &#915;(&#957;/2, &#957;&#958;/2x) / &#915;(&#957;/2)
+ </p>
+<p>
+ The following graphs illustrate how the PDF and CDF of the inverse chi_squared
+ distribution varies for a few values of parameters &#957; and &#958;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/inverse_chi_squared_pdf.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/inverse_chi_squared_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.member_functions"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist_ref.dists.inverse_chi_squared_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Implicitly scaled 1/df.</span>
+<span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">);</span> <span class="comment">// Explicitly scaled.</span>
+</pre>
+<p>
+ Constructs an inverse chi_squared distribution with &#957; degrees of freedom
+ <span class="emphasis"><em>df</em></span>, and scale <span class="emphasis"><em>scale</em></span> with default
+ value 1/df.
+ </p>
+<p>
+ Requires that the degrees of freedom &#957; parameter is greater than zero, otherwise
+ calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the degrees_of_freedom &#957; parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the scale &#958; parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.non_member_accessors"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist_ref.dists.inverse_chi_squared_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variate is [0,+&#8734;].
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Unlike some definitions, this implementation supports a random variate
+ equal to zero as a special case, returning zero for both pdf and cdf.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.accuracy"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist_ref.dists.inverse_chi_squared_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The inverse gamma distribution is implemented in terms of the incomplete
+ gamma functions like the <a class="link" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
+ Gamma Distribution</a> that use <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
+ and <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a> and their
+ inverses <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>:
+ refer to the accuracy data for those functions for more information. But
+ in general, gamma (and thus inverse gamma) results are often accurate to
+ a few epsilon, &gt;14 decimal digits accuracy for 64-bit double. unless
+ iteration is involved, as for the estimation of degrees of freedom.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.implementation"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist_ref.dists.inverse_chi_squared_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#957; is the degrees of freedom parameter and &#958; is the scale
+ parameter of the distribution, <span class="emphasis"><em>x</em></span> is the random variate,
+ <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>
+ its complement. Parameters &#945; for shape and &#946; for scale are used for the inverse
+ gamma function: &#945; = &#957;/2 and &#946; = &#957; * &#958;/2.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = <a class="link" href="../../sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(&#945;,
+ &#946;/ x, &#946;) / x * x
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(&#945;,
+ &#946; / x)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(&#945;,
+ &#946; / x)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#946; &#160;/ <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(&#945;,
+ p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#945; &#160;/ <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(&#945;,
+ q)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ &#957; * &#958; / (&#957; + 2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ median
+ </p>
+ </td>
+<td>
+ <p>
+ no closed form analytic equation is known, but is evaluated as
+ quantile(0.5)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#957;&#958; / (&#957; - 2) for &#957; &gt; 2, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ 2 &#957;&#178; &#958;&#178; / ((&#957; -2)&#178; (&#957; -4)) for &#957; &gt;4, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 4 &#8730;2 &#8730;(&#957;-4) /(&#957;-6) for &#957; &gt;6, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis_excess
+ </p>
+ </td>
+<td>
+ <p>
+ 12 * (5&#957; - 22) / ((&#957; - 6) * (&#957; - 8)) for &#957; &gt;8, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 3 + 12 * (5&#957; - 22) / ((&#957; - 6) * (&#957;-8)) for &#957; &gt;8, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_chi_squared_dist.references"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist_ref.dists.inverse_chi_squared_dist.references">References</a>
+ </h5>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Bayesian Data Analysis, Andrew Gelman, John B. Carlin, Hal S. Stern,
+ Donald B. Rubin, ISBN-13: 978-1584883883, Chapman &amp; Hall; 2 edition
+ (29 July 2003).
+ </li>
+<li class="listitem">
+ Bayesian Computation with R, Jim Albert, ISBN-13: 978-0387922973, Springer;
+ 2nd ed. edition (10 Jun 2009)
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hypergeometric_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gamma_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html
new file mode 100644
index 0000000000..8fd13512a6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gamma_dist.html
@@ -0,0 +1,367 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inverse Gamma Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">
+<link rel="next" href="inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gaussian_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.inverse_gamma_dist"></a><a class="link" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
+ Gamma Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">inverse_gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">inverse_gamma_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">inverse_gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
+
+ <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The inverse_gamma distribution is a continuous probability distribution
+ of the reciprocal of a variable distributed according to the gamma distribution.
+ </p>
+<p>
+ The inverse_gamma distribution is used in Bayesian statistics.
+ </p>
+<p>
+ See <a href="http://en.wikipedia.org/wiki/Inverse-gamma_distribution" target="_top">inverse
+ gamma distribution</a>.
+ </p>
+<p>
+ <a href="http://rss.acs.unt.edu/Rdoc/library/pscl/html/igamma.html" target="_top">R
+ inverse gamma distribution functions</a>.
+ </p>
+<p>
+ <a href="http://reference.wolfram.com/mathematica/ref/InverseGammaDistribution.html" target="_top">Wolfram
+ inverse gamma distribution</a>.
+ </p>
+<p>
+ See also <a class="link" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma Distribution</a>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ In spite of potential confusion with the inverse gamma function, this
+ distribution <span class="bold"><strong>does</strong></span> provide the typedef:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">inverse_gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span></pre>
+<p>
+ If you want a <code class="computeroutput"><span class="keyword">double</span></code> precision
+ gamma distribution you can use
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_gamma_distribution</span><span class="special">&lt;&gt;</span></pre>
+<p>
+ or you can write <code class="computeroutput"><span class="identifier">inverse_gamma</span>
+ <span class="identifier">my_ig</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span></code>
+ </p>
+</td></tr>
+</table></div>
+<p>
+ For shape parameter &#945; and scale parameter &#946;, it is defined by the probability
+ density function (PDF):
+ </p>
+<p>
+ &#8192;&#8192; f(x;&#945;, &#946;) = &#946;<sup>&#945;</sup> * (1/x) <sup>&#945;+1</sup> exp(-&#946;/x) / &#915;(&#945;)
+ </p>
+<p>
+ and cumulative density function (CDF)
+ </p>
+<p>
+ &#8192;&#8192; F(x;&#945;, &#946;) = &#915;(&#945;, &#946;/x) / &#915;(&#945;)
+ </p>
+<p>
+ The following graphs illustrate how the PDF and CDF of the inverse gamma
+ distribution varies as the parameters vary:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/inverse_gamma_pdf.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/inverse_gamma_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.member_functions"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist_ref.dists.inverse_gamma_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">inverse_gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs an inverse gamma distribution with shape &#945; and scale &#946;.
+ </p>
+<p>
+ Requires that the shape and scale parameters are greater than zero, otherwise
+ calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the &#945; shape parameter of this inverse gamma distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the &#946; scale parameter of this inverse gamma distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.non_member_accessors"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist_ref.dists.inverse_gamma_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variate is [0,+&#8734;].
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Unlike some definitions, this implementation supports a random variate
+ equal to zero as a special case, returning zero for pdf and cdf.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.accuracy"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist_ref.dists.inverse_gamma_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The inverse gamma distribution is implemented in terms of the incomplete
+ gamma functions <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
+ and <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a> and their
+ inverses <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>:
+ refer to the accuracy data for those functions for more information. But
+ in general, inverse_gamma results are accurate to a few epsilon, &gt;14
+ decimal digits accuracy for 64-bit double.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gamma_dist.implementation"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist_ref.dists.inverse_gamma_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#945; is the shape parameter of the distribution, &#945; &#160; is its
+ scale parameter, <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
+ is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = <a class="link" href="../../sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(&#945;,
+ &#946;/ x, &#946;) / x * x
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(&#945;,
+ &#946; / x)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(&#945;,
+ &#946; / x)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#946; &#160;/ <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(&#945;,
+ p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#945; &#160;/ <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(&#945;,
+ q)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ &#946; / (&#945; + 1)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ median
+ </p>
+ </td>
+<td>
+ <p>
+ no analytic equation is known, but is evaluated as quantile(0.5)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#946; / (&#945; - 1) for &#945; &gt; 1, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ (&#946; * &#946;) / ((&#945; - 1) * (&#945; - 1) * (&#945; - 2)) for &#945; &gt;2, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 4 * sqrt (&#945; -2) / (&#945; -3) for &#945; &gt;3, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis_excess
+ </p>
+ </td>
+<td>
+ <p>
+ (30 * &#945; - 66) / ((&#945;-3)*(&#945; - 4)) for &#945; &gt;4, else a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gaussian_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html
new file mode 100644
index 0000000000..2db348156a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/inverse_gaussian_dist.html
@@ -0,0 +1,445 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inverse Gaussian (or Inverse Normal) Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">
+<link rel="next" href="laplace_dist.html" title="Laplace Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_gamma_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laplace_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist"></a><a class="link" href="inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution">Inverse
+ Gaussian (or Inverse Normal) Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">inverse_gaussian</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">inverse_gaussian_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">inverse_gaussian_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+
+ <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// mean default 1.</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Optional scale, default 1 (unscaled).</span>
+ <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Shape = scale/mean.</span>
+<span class="special">};</span>
+<span class="keyword">typedef</span> <span class="identifier">inverse_gaussian_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">inverse_gaussian</span><span class="special">;</span>
+
+<span class="special">}}</span> <span class="comment">// namespace boost // namespace math</span>
+</pre>
+<p>
+ The Inverse Gaussian distribution distribution is a continuous probability
+ distribution.
+ </p>
+<p>
+ The distribution is also called 'normal-inverse Gaussian distribution',
+ and 'normal Inverse' distribution.
+ </p>
+<p>
+ It is also convenient to provide unity as default for both mean and scale.
+ This is the Standard form for all distributions. The Inverse Gaussian distribution
+ was first studied in relation to Brownian motion. In 1956 M.C.K. Tweedie
+ used the name Inverse Gaussian because there is an inverse relationship
+ between the time to cover a unit distance and distance covered in unit
+ time. The inverse Gaussian is one of family of distributions that have
+ been called the <a href="http://en.wikipedia.org/wiki/Tweedie_distributions" target="_top">Tweedie
+ distributions</a>.
+ </p>
+<p>
+ (So <span class="emphasis"><em>inverse</em></span> in the name may mislead: it does <span class="bold"><strong>not</strong></span> relate to the inverse of a distribution).
+ </p>
+<p>
+ The tails of the distribution decrease more slowly than the normal distribution.
+ It is therefore suitable to model phenomena where numerically large values
+ are more probable than is the case for the normal distribution. For stock
+ market returns and prices, a key characteristic is that it models that
+ extremely large variations from typical (crashes) can occur even when almost
+ all (normal) variations are small.
+ </p>
+<p>
+ Examples are returns from financial assets and turbulent wind speeds.
+ </p>
+<p>
+ The normal-inverse Gaussian distributions form a subclass of the generalised
+ hyperbolic distributions.
+ </p>
+<p>
+ See <a href="http://en.wikipedia.org/wiki/Normal-inverse_Gaussian_distribution" target="_top">distribution</a>.
+ <a href="http://mathworld.wolfram.com/InverseGaussianDistribution.html" target="_top">Weisstein,
+ Eric W. "Inverse Gaussian Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+<p>
+ If you want a <code class="computeroutput"><span class="keyword">double</span></code> precision
+ inverse_gaussian distribution you can use
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_gaussian_distribution</span><span class="special">&lt;&gt;</span></pre>
+<p>
+ or, more conveniently, you can write
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_gaussian</span><span class="special">;</span>
+<span class="identifier">inverse_gaussian</span> <span class="identifier">my_ig</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
+</pre>
+<p>
+ For mean parameters &#956; and scale (also called precision) parameter &#955;, and random
+ variate x, the inverse_gaussian distribution is defined by the probability
+ density function (PDF):
+ </p>
+<p>
+ &#8192;&#8192; f(x;&#956;, &#955;) = &#8730;(&#955;/2&#960;x<sup>3</sup>) e<sup>-&#955;(x-&#956;)&#178;/2&#956;&#178;x</sup>
+ </p>
+<p>
+ and Cumulative Density Function (CDF):
+ </p>
+<p>
+ &#8192;&#8192; F(x;&#956;, &#955;) = &#934;{&#8730;(&#955;<span class="emphasis"><em>x) (x</em></span>&#956;-1)} + e<sup>2&#956;/&#955;</sup> &#934;{-&#8730;(&#955;/&#956;) (1+x/&#956;)}
+ </p>
+<p>
+ where &#934; is the standard normal distribution CDF.
+ </p>
+<p>
+ The following graphs illustrate how the PDF and CDF of the inverse_gaussian
+ distribution varies for a few values of parameters &#956; and &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/inverse_gaussian_pdf.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/inverse_gaussian_cdf.png" align="middle"></span>
+ </p>
+<p>
+ Tweedie also provided 3 other parameterisations where (&#956; and &#955;) are replaced
+ by their ratio &#966; = &#955;/&#956; and by 1/&#956;: these forms may be more suitable for Bayesian
+ applications. These can be found on Seshadri, page 2 and are also discussed
+ by Chhikara and Folks on page 105. Another related parameterisation, the
+ __wald_distrib (where mean &#956; is unity) is also provided.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.member_functions"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist_ref.dists.inverse_gaussian_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">inverse_gaussian_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// optionally scaled.</span>
+</pre>
+<p>
+ Constructs an inverse_gaussian distribution with &#956; mean, and scale &#955;, with
+ both default values 1.
+ </p>
+<p>
+ Requires that both the mean &#956; parameter and scale &#955; are greater than zero,
+ otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the mean &#956; parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the scale &#955; parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.non_member_accessors"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist_ref.dists.inverse_gaussian_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variate is [0,+&#8734;).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Unlike some definitions, this implementation supports a random variate
+ equal to zero as a special case, returning zero for both pdf and cdf.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.accuracy"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist_ref.dists.inverse_gaussian_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The inverse_gaussian distribution is implemented in terms of the exponential
+ function and standard normal distribution <span class="emphasis"><em>N</em></span>0,1 &#934; : refer
+ to the accuracy data for those functions for more information. But in general,
+ gamma (and thus inverse gamma) results are often accurate to a few epsilon,
+ &gt;14 decimal digits accuracy for 64-bit double.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.implementation"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist_ref.dists.inverse_gaussian_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#956; is the mean parameter and &#955; is the scale parameter
+ of the inverse_gaussian distribution, <span class="emphasis"><em>x</em></span> is the random
+ variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>
+ its complement. Parameters &#956; for shape and &#955; for scale are used for the inverse
+ gaussian function.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ &#8730;(&#955;/ 2&#960;x<sup>3</sup>) e<sup>-&#955;(x - &#956;)&#178;/ 2&#956;&#178;x</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ &#934;{&#8730;(&#955;<span class="emphasis"><em>x) (x</em></span>&#956;-1)} + e<sup>2&#956;/&#955;</sup> &#934;{-&#8730;(&#955;/&#956;) (1+x/&#956;)}
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ using complement of &#934; above.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ No closed form known. Estimated using a guess refined by Newton-Raphson
+ iteration.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ No closed form known. Estimated using a guess refined by Newton-Raphson
+ iteration.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ &#956; {&#8730;(1+9&#956;&#178;/4&#955;&#178;)&#178; - 3&#956;/2&#955;}
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ median
+ </p>
+ </td>
+<td>
+ <p>
+ No closed form analytic equation is known, but is evaluated as
+ quantile(0.5)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#956;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ &#956;&#179;/&#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 3 &#8730; (&#956;/&#955;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis_excess
+ </p>
+ </td>
+<td>
+ <p>
+ 15&#956;/&#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 12&#956;/&#955;
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.inverse_gaussian_dist.references"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist_ref.dists.inverse_gaussian_dist.references">References</a>
+ </h5>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Wald, A. (1947). Sequential analysis. Wiley, NY.
+ </li>
+<li class="listitem">
+ The Inverse Gaussian distribution : theory, methodology, and applications,
+ Raj S. Chhikara, J. Leroy Folks. ISBN 0824779975 (1989).
+ </li>
+<li class="listitem">
+ The Inverse Gaussian distribution : statistical theory and applications,
+ Seshadri, V , ISBN - 0387986189 (pbk) (Dewey 519.2) (1998).
+ </li>
+<li class="listitem">
+ <a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.wald.html" target="_top">Numpy
+ and Scipy Documentation</a>.
+ </li>
+<li class="listitem">
+ <a href="http://bm2.genes.nig.ac.jp/RGM2/R_current/library/statmod/man/invgauss.html" target="_top">R
+ statmod invgauss functions</a>.
+ </li>
+<li class="listitem">
+ <a href="http://cran.r-project.org/web/packages/SuppDists/index.html" target="_top">R
+ SuppDists invGauss functions</a>. (Note that these R implementations
+ names differ in case).
+ </li>
+<li class="listitem">
+ <a href="http://www.statsci.org/s/invgauss.html" target="_top">StatSci.org invgauss
+ help</a>.
+ </li>
+<li class="listitem">
+ <a href="http://www.statsci.org/s/invgauss.statSci.org" target="_top">invgauss
+ R source</a>.
+ </li>
+<li class="listitem">
+ <a href="http://www.biostat.wustl.edu/archives/html/s-news/2001-12/msg00144.html" target="_top">pwald,
+ qwald</a>.
+ </li>
+<li class="listitem">
+ <a href="http://www.brighton-webs.co.uk/distributions/wald.asp" target="_top">Brighton
+ Webs wald</a>.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_gamma_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laplace_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html
new file mode 100644
index 0000000000..e72302de0c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/laplace_dist.html
@@ -0,0 +1,360 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Laplace Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution">
+<link rel="next" href="logistic_dist.html" title="Logistic Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_gaussian_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logistic_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.laplace_dist"></a><a class="link" href="laplace_dist.html" title="Laplace Distribution">Laplace Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">laplace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">laplace_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">laplace_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">laplace</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">laplace_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Construct:</span>
+ <span class="identifier">laplace_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Laplace distribution is the distribution of differences between two independent
+ variates with identical exponential distributions (Abramowitz and Stegun
+ 1972, p. 930). It is also called the double exponential distribution.
+ </p>
+<p>
+ For location parameter &#956; &#160; and scale parameter &#963; &#160;, it is defined by the probability
+ density function:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/laplace_pdf.png"></span>
+ </p>
+<p>
+ The location and scale parameters are equivalent to the mean and standard
+ deviation of the normal or Gaussian distribution.
+ </p>
+<p>
+ The following graph illustrates the effect of the parameters &#956; &#160; and &#963; &#160; on the
+ PDF. Note that the domain of the random variable remains [-&#8734;,+&#8734;] irrespective
+ of the value of the location parameter:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/laplace_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.laplace_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.laplace_dist.member_functions"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist_ref.dists.laplace_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">laplace_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a laplace distribution with location <span class="emphasis"><em>location</em></span>
+ and scale <span class="emphasis"><em>scale</em></span>.
+ </p>
+<p>
+ The location parameter is the same as the mean of the random variate.
+ </p>
+<p>
+ The scale parameter is proportional to the standard deviation of the random
+ variate.
+ </p>
+<p>
+ Requires that the scale parameter is greater than zero, otherwise calls
+ <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>location</em></span> parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.laplace_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.laplace_dist.non_member_accessors"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist_ref.dists.laplace_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [-&#8734;,+&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.laplace_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.laplace_dist.accuracy"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist_ref.dists.laplace_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The laplace distribution is implemented in terms of the standard library
+ log and exp functions and as such should have very small errors.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.laplace_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.laplace_dist.implementation"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist_ref.dists.laplace_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#956; is the location parameter of the distribution, &#963; is
+ its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
+ is the probability and its complement <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = e<sup>-abs(x-&#956;) / &#963;</sup> / (2 * &#963;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relations:
+ </p>
+ <p>
+ x &lt; &#956; : p = e<sup>(x-&#956;)/&#963; </sup> / &#963;
+ </p>
+ <p>
+ x &gt;= &#956; : p = 1 - e<sup>(&#956;-x)/&#963; </sup> / &#963;
+
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ -x &lt; &#956; : q = e<sup>(-x-&#956;)/&#963; </sup> / &#963;
+ </p>
+ <p>
+ -x &gt;= &#956; : q = 1 - e<sup>(&#956;+x)/&#963; </sup> / &#963;
+
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relations:
+ </p>
+ <p>
+ p &lt; 0.5 : x = &#956; + &#963; * log(2*p)
+ </p>
+ <p>
+ p &gt;= 0.5 : x = &#956; - &#963; * log(2-2*p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ q &gt; 0.5: x = &#956; + &#963;*log(2-2*q)
+ </p>
+ <p>
+ q &lt;=0.5: x = &#956; - &#963;*log( 2*q )
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#956;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ 2 * &#963;<sup>2</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ &#956;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.laplace_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.laplace_dist.references"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist_ref.dists.laplace_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/LaplaceDistribution.html" target="_top">Weisstein,
+ Eric W. "Laplace Distribution."</a> From MathWorld--A
+ Wolfram Web Resource.
+ </li>
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Laplace_distribution" target="_top">Laplace
+ Distribution</a>
+ </li>
+<li class="listitem">
+ M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions,
+ 1972, p. 930.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_gaussian_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logistic_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html
new file mode 100644
index 0000000000..cecda20f7e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/logistic_dist.html
@@ -0,0 +1,298 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Logistic Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="laplace_dist.html" title="Laplace Distribution">
+<link rel="next" href="lognormal_dist.html" title="Log Normal Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="laplace_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lognormal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.logistic_dist"></a><a class="link" href="logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">logistic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">logistic_distribution</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">logistic_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Construct:</span>
+ <span class="identifier">logistic_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// location.</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// scale.</span>
+
+<span class="special">};</span>
+
+<span class="keyword">typedef</span> <span class="identifier">logistic_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">logistic</span><span class="special">;</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The logistic distribution is a continous probability distribution. It has
+ two parameters - location and scale. The cumulative distribution function
+ of the logistic distribution appears in logistic regression and feedforward
+ neural networks. Among other applications, United State Chess Federation
+ and FIDE use it to calculate chess ratings.
+ </p>
+<p>
+ The following graph shows how the distribution changes as the parameters
+ change:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/logistic_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.logistic_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.logistic_dist.member_functions"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist_ref.dists.logistic_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">logistic_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">u</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">s</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a logistic distribution with location <span class="emphasis"><em>u</em></span>
+ and scale <span class="emphasis"><em>s</em></span>.
+ </p>
+<p>
+ Requires <code class="computeroutput"><span class="identifier">scale</span> <span class="special">&gt;</span>
+ <span class="number">0</span></code>, otherwise a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is raised.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the location of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the scale of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.logistic_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.logistic_dist.non_member_accessors"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist_ref.dists.logistic_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [-[max_value], +[min_value]]. However,
+ the pdf and cdf support inputs of +&#8734; and -&#8734;
+as special cases if RealType permits.
+ </p>
+<p>
+ At <code class="computeroutput"><span class="identifier">p</span><span class="special">=</span><span class="number">1</span></code> and <code class="computeroutput"><span class="identifier">p</span><span class="special">=</span><span class="number">0</span></code>, the quantile
+ function returns the result of +<a class="link" href="../../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ and -<a class="link" href="../../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>,
+ while the complement quantile function returns the result of -<a class="link" href="../../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ and +<a class="link" href="../../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ respectively.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.logistic_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.logistic_dist.accuracy"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist_ref.dists.logistic_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The logistic distribution is implemented in terms of the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">exp</span></code> and the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">log</span></code>
+ functions, so its accuracy is related to the accurate implementations of
+ those functions on a given platform. When calculating the quantile with
+ a non-zero <span class="emphasis"><em>position</em></span> parameter catastrophic cancellation
+ errors can occur: in such cases, only a low <span class="emphasis"><em>absolute error</em></span>
+ can be guarenteed.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.logistic_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.logistic_dist.implementation"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist_ref.dists.logistic_dist.implementation">Implementation</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = e<sup>-(x-u)/s</sup> / (s*(1+e<sup>-(x-u)/s</sup>)<sup>2</sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = 1/(1+e<sup>-(x-u)/s</sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = 1/(1+e<sup>(x-u)/s</sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = u - s*log(1/p-1)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = u + s*log(p/1-p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ u
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ The same as the mean.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 6/5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ (&#960;*s)<sup>2</sup> / 3
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="laplace_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lognormal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html
new file mode 100644
index 0000000000..abb83592c5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/lognormal_dist.html
@@ -0,0 +1,330 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Log Normal Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="logistic_dist.html" title="Logistic Distribution">
+<link rel="next" href="negative_binomial_dist.html" title="Negative Binomial Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="logistic_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.lognormal_dist"></a><a class="link" href="lognormal_dist.html" title="Log Normal Distribution">Log Normal
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">lognormal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">lognormal_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">lognormal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">lognormal</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">lognormal_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Construct:</span>
+ <span class="identifier">lognormal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The lognormal distribution is the distribution that arises when the logarithm
+ of the random variable is normally distributed. A lognormal distribution
+ results when the variable is the product of a large number of independent,
+ identically-distributed variables.
+ </p>
+<p>
+ For location and scale parameters <span class="emphasis"><em>m</em></span> and <span class="emphasis"><em>s</em></span>
+ it is defined by the probability density function:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/lognormal_ref.png"></span>
+ </p>
+<p>
+ The location and scale parameters are equivalent to the mean and standard
+ deviation of the logarithm of the random variable.
+ </p>
+<p>
+ The following graph illustrates the effect of the location parameter on
+ the PDF, note that the range of the random variable remains [0,+&#8734;] irrespective
+ of the value of the location parameter:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/lognormal_pdf1.png" align="middle"></span>
+ </p>
+<p>
+ The next graph illustrates the effect of the scale parameter on the PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/lognormal_pdf2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.lognormal_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.lognormal_dist.member_functions"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist_ref.dists.lognormal_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">lognormal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a lognormal distribution with location <span class="emphasis"><em>location</em></span>
+ and scale <span class="emphasis"><em>scale</em></span>.
+ </p>
+<p>
+ The location parameter is the same as the mean of the logarithm of the
+ random variate.
+ </p>
+<p>
+ The scale parameter is the same as the standard deviation of the logarithm
+ of the random variate.
+ </p>
+<p>
+ Requires that the scale parameter is greater than zero, otherwise calls
+ <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>location</em></span> parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.lognormal_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.lognormal_dist.non_member_accessors"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist_ref.dists.lognormal_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0,+&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.lognormal_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.lognormal_dist.accuracy"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist_ref.dists.lognormal_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The lognormal distribution is implemented in terms of the standard library
+ log and exp functions, plus the <a class="link" href="../../sf_erf/error_function.html" title="Error Functions">error
+ function</a>, and as such should have very low error rates.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.lognormal_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.lognormal_dist.implementation"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist_ref.dists.lognormal_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>m</em></span> is the location parameter
+ of the distribution, <span class="emphasis"><em>s</em></span> is its scale parameter, <span class="emphasis"><em>x</em></span>
+ is the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
+ = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = e<sup>-(ln(x) - m)<sup>2 </sup> / 2s<sup>2 </sup> </sup> / (x * s * sqrt(2pi))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = cdf(normal_distribtion&lt;RealType&gt;(m,
+ s), log(x))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = cdf(complement(normal_distribtion&lt;RealType&gt;(m,
+ s), log(x)))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = exp(quantile(normal_distribtion&lt;RealType&gt;(m,
+ s), p))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = exp(quantile(complement(normal_distribtion&lt;RealType&gt;(m,
+ s), q)))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ e<sup>m + s<sup>2 </sup> / 2 </sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ (e<sup>s<sup>2</sup> </sup> - 1) * e<sup>2m + s<sup>2 </sup> </sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ e<sup>m + s<sup>2 </sup> </sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ sqrt(e<sup>s<sup>2</sup> </sup> - 1) * (2 + e<sup>s<sup>2</sup> </sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ e<sup>4s<sup>2</sup> </sup> + 2e<sup>3s<sup>2</sup> </sup> + 3e<sup>2s<sup>2</sup> </sup> - 3
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ e<sup>4s<sup>2</sup> </sup> + 2e<sup>3s<sup>2</sup> </sup> + 3e<sup>2s<sup>2</sup> </sup> - 6
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="logistic_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html
new file mode 100644
index 0000000000..032d837f48
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_beta_dist.html
@@ -0,0 +1,413 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Noncentral Beta Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="negative_binomial_dist.html" title="Negative Binomial Distribution">
+<link rel="next" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="negative_binomial_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.nc_beta_dist"></a><a class="link" href="nc_beta_dist.html" title="Noncentral Beta Distribution">Noncentral
+ Beta Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_beta_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_beta</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_beta_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:</span>
+ <span class="identifier">non_central_beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to shape parameters:</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non-centrality parameter lambda:</span>
+ <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The noncentral beta distribution is a generalization of the <a class="link" href="beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a>.
+ </p>
+<p>
+ It is defined as the ratio X = &#967;<sub>m</sub><sup>2</sup>(&#955;) / (&#967;<sub>m</sub><sup>2</sup>(&#955;) + &#967;<sub>n</sub><sup>2</sup>) where &#967;<sub>m</sub><sup>2</sup>(&#955;) is a noncentral
+ &#967;<sup>2</sup>
+random variable with <span class="emphasis"><em>m</em></span> degrees of freedom, and &#967;<sub>n</sub><sup>2</sup>
+is
+ a central &#967;<sup>2</sup> random variable with <span class="emphasis"><em>n</em></span> degrees of freedom.
+ </p>
+<p>
+ This gives a PDF that can be expressed as a Poisson mixture of beta distribution
+ PDFs:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_beta_ref1.png"></span>
+ </p>
+<p>
+ where P(i;&#955;/2) is the discrete Poisson probablity at <span class="emphasis"><em>i</em></span>,
+ with mean &#955;/2, and I<sub>x</sub><sup>'</sup>(&#945;, &#946;) is the derivative of the incomplete beta function.
+ This leads to the usual form of the CDF as:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_beta_ref2.png"></span>
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/nc_beta_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_beta_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_beta_dist.member_functions"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist_ref.dists.nc_beta_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a noncentral beta distribution with shape parameters <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
+ </p>
+<p>
+ Requires a &gt; 0, b &gt; 0 and lambda &gt;= 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>a</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>b</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>lambda</em></span> from which this object
+ was constructed.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_beta_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_beta_dist.non_member_accessors"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist_ref.dists.nc_beta_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ Most of the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
+ accessor functions</a> are supported: <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative
+ Distribution Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability
+ Density Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ Mean and variance are implemented using hypergeometric pfq functions and
+ relations given in <a href="http://reference.wolfram.com/mathematica/ref/NoncentralBetaDistribution.html" target="_top">Wolfram
+ Noncentral Beta Distribution</a>.
+ </p>
+<p>
+ However, the following are not currently implemented: <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a> and
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, 1].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_beta_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_beta_dist.accuracy"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist_ref.dists.nc_beta_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>)
+ found on various platforms with various floating point types. No comparison
+ to the <a href="http://www.r-project.org/" target="_top">R-2.5.1 Math library</a>,
+ or to the FORTRAN implementations of AS226 or AS310 are given since these
+ appear to only guarantee absolute error: this would causes our test harness
+ to assign an <span class="emphasis"><em>"infinite"</em></span> error to these libraries
+ for some of our test values when measuring <span class="emphasis"><em>relative error</em></span>.
+ Unless otherwise specified any floating-point type that is narrower than
+ the one shown will have <a class="link" href="../../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.dist_ref.dists.nc_beta_dist.errors_in_cdf_of_the_noncentral_"></a><p class="title"><b>Table&#160;5.4.&#160;Errors In CDF of the Noncentral Beta</b></p>
+<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral Beta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ &#945;, &#946;,&#955; &lt; 200
+ </p>
+ </th>
+<th>
+ <p>
+ &#945;,&#946;,&#955; &gt; 200
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=620 Mean=22
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=8670 Mean=1040
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-4.1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=825 Mean=50
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.5x10<sup>4</sup> Mean=4000
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=825 Mean=30
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.7x10<sup>4</sup> Mean=2500
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=420 Mean=50
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9200 Mean=1200
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Error rates for the PDF, the complement of the CDF and for the quantile
+ functions are broadly similar.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_beta_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_beta_dist.tests"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist_ref.dists.nc_beta_dist.tests">Tests</a>
+ </h5>
+<p>
+ There are two sets of test data used to verify this implementation: firstly
+ we can compare with a few sample values generated by the <a href="http://www.r-project.org/" target="_top">R
+ library</a>. Secondly, we have tables of test data, computed with this
+ implementation and using interval arithmetic - this data should be accurate
+ to at least 50 decimal digits - and is the used for our accuracy tests.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_beta_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_beta_dist.implementation"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist_ref.dists.nc_beta_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ The CDF and its complement are evaluated as follows:
+ </p>
+<p>
+ First we determine which of the two values (the CDF or its complement)
+ is likely to be the smaller, the crossover point is taken to be the mean
+ of the distribution: for this we use the approximation due to: R. Chattamvelli
+ and R. Shanmugam, "Algorithm AS 310: Computing the Non-Central Beta
+ Distribution Function", Applied Statistics, Vol. 46, No. 1. (1997),
+ pp. 146-156.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_beta_ref3.png"></span>
+ </p>
+<p>
+ Then either the CDF or its complement is computed using the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_beta_ref4.png"></span>
+ </p>
+<p>
+ The summation is performed by starting at i = &#955;/2, and then recursing in
+ both directions, using the usual recurrence relations for the Poisson PDF
+ and incomplete beta functions. This is the "Method 2" described
+ by:
+ </p>
+<p>
+ Denise Benton and K. Krishnamoorthy, "Computing discrete mixtures
+ of continuous distributions: noncentral chisquare, noncentral t and the
+ distribution of the square of the sample multiple correlation coefficient",
+ Computational Statistics &amp; Data Analysis 43 (2003) 249-267.
+ </p>
+<p>
+ Specific applications of the above formulae to the noncentral beta distribution
+ can be found in:
+ </p>
+<p>
+ Russell V. Lenth, "Algorithm AS 226: Computing Noncentral Beta Probabilities",
+ Applied Statistics, Vol. 36, No. 2. (1987), pp. 241-244.
+ </p>
+<p>
+ H. Frick, "Algorithm AS R84: A Remark on Algorithm AS 226: Computing
+ Non-Central Beta Probabilities", Applied Statistics, Vol. 39, No.
+ 2. (1990), pp. 311-312.
+ </p>
+<p>
+ Ming Long Lam, "Remark AS R95: A Remark on Algorithm AS 226: Computing
+ Non-Central Beta Probabilities", Applied Statistics, Vol. 44, No.
+ 4. (1995), pp. 551-552.
+ </p>
+<p>
+ Harry O. Posten, "An Effective Algorithm for the Noncentral Beta Distribution
+ Function", The American Statistician, Vol. 47, No. 2. (May, 1993),
+ pp. 129-131.
+ </p>
+<p>
+ R. Chattamvelli, "A Note on the Noncentral Beta Distribution Function",
+ The American Statistician, Vol. 49, No. 2. (May, 1995), pp. 231-234.
+ </p>
+<p>
+ Of these, the Posten reference provides the most complete overview, and
+ includes the modification starting iteration at &#955;/2.
+ </p>
+<p>
+ The main difference between this implementation and the above references
+ is the direct computation of the complement when most efficient to do so,
+ and the accumulation of the sum to -1 rather than subtracting the result
+ from 1 at the end: this can substantially reduce the number of iterations
+ required when the result is near 1.
+ </p>
+<p>
+ The PDF is computed using the methodology of Benton and Krishnamoorthy
+ and the relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_beta_ref1.png"></span>
+ </p>
+<p>
+ Quantiles are computed using a specially modified version of <a class="link" href="../../internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">bracket_and_solve_root</a>,
+ starting the search for the root at the mean of the distribution. (A Cornish-Fisher
+ type expansion was also tried, but while this gets quite close to the root
+ in many cases, when it is wrong it tends to introduce quite pathological
+ behaviour: more investigation in this area is probably warranted).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="negative_binomial_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html
new file mode 100644
index 0000000000..c4d0388597
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_chi_squared_dist.html
@@ -0,0 +1,504 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Noncentral Chi-Squared Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="nc_beta_dist.html" title="Noncentral Beta Distribution">
+<link rel="next" href="nc_f_dist.html" title="Noncentral F Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_beta_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_f_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist"></a><a class="link" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi-Squared Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_chi_squared_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_chi_squared_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_chi_squared</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_chi_squared_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:</span>
+ <span class="identifier">non_central_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to degrees of freedom parameter v:</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non centrality parameter lambda:</span>
+ <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Parameter finders:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The noncentral chi-squared distribution is a generalization of the <a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi Squared Distribution</a>.
+ If X<sub>i</sub> are &#957; independent, normally distributed random variables with means
+ &#956;<sub>i</sub> and variances &#963;<sub>i</sub><sup>2</sup>, then the random variable
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref1.png"></span>
+ </p>
+<p>
+ is distributed according to the noncentral chi-squared distribution.
+ </p>
+<p>
+ The noncentral chi-squared distribution has two parameters: &#957; which specifies
+ the number of degrees of freedom (i.e. the number of X<sub>i</sub>), and &#955; which is
+ related to the mean of the random variables X<sub>i</sub> by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref2.png"></span>
+ </p>
+<p>
+ (Note that some references define &#955; as one half of the above sum).
+ </p>
+<p>
+ This leads to a PDF of:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref3.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>f(x;k)</em></span> is the central chi-squared distribution
+ PDF, and <span class="emphasis"><em>I<sub>v</sub>(x)</em></span> is a modified Bessel function of the
+ first kind.
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/nccs_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.member_functions"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist_ref.dists.nc_chi_squared_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a Chi-Squared distribution with <span class="emphasis"><em>v</em></span> degrees
+ of freedom and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
+ </p>
+<p>
+ Requires v &gt; 0 and lambda &gt;= 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>lambda</em></span> from which this object
+ was constructed.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ This function returns the number of degrees of freedom <span class="emphasis"><em>v</em></span>
+ such that: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">p</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ When called with argument <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span>
+ <span class="identifier">q</span><span class="special">)</span></code>
+ this function returns the number of degrees of freedom <span class="emphasis"><em>v</em></span>
+ such that:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span> <span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">q</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ This function returns the non centrality parameter <span class="emphasis"><em>lambda</em></span>
+ such that:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">p</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ When called with argument <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">,</span>
+ <span class="identifier">q</span><span class="special">)</span></code>
+ this function returns the non centrality parameter <span class="emphasis"><em>lambda</em></span>
+ such that:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span> <span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">q</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.non_member_accessors"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist_ref.dists.nc_chi_squared_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.examples"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist_ref.dists.nc_chi_squared_dist.examples">Examples</a>
+ </h5>
+<p>
+ There is a <a class="link" href="../../stat_tut/weg/nccs_eg.html" title="Non Central Chi Squared Example">worked example</a>
+ for the noncentral chi-squared distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.accuracy"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist_ref.dists.nc_chi_squared_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>)
+ found on various platforms with various floating-point types, along with
+ comparisons to the <a href="http://www.r-project.org/" target="_top">R-2.5.1 Math
+ library</a>. Unless otherwise specified, any floating-point type that
+ is narrower than the one shown will have <a class="link" href="../../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.errors_in_cdf_of_the_noncentral_"></a><p class="title"><b>Table&#160;5.5.&#160;Errors In CDF of the Noncentral Chi-Squared</b></p>
+<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral Chi-Squared">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ &#957;,&#955; &lt; 200
+ </p>
+ </th>
+<th>
+ <p>
+ &#957;,&#955; &gt; 200
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=50 Mean=9.9
+ </p>
+ <p>
+ R Peak=685 Mean=109
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9780 Mean=718
+ </p>
+ <p>
+ R Peak=3x10<sup>8</sup> Mean=2x10<sup>7</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-4.1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=270 Mean=27
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7900 Mean=900
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=107 Mean=17
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5000 Mean=630
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=270 Mean=20
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4600 Mean=560
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Error rates for the complement of the CDF and for the quantile functions
+ are broadly similar. Special mention should go to the <code class="computeroutput"><span class="identifier">mode</span></code>
+ function: there is no closed form for this function, so it is evaluated
+ numerically by finding the maxima of the PDF: in principal this can not
+ produce an accuracy greater than the square root of the machine epsilon.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.tests"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist_ref.dists.nc_chi_squared_dist.tests">Tests</a>
+ </h5>
+<p>
+ There are two sets of test data used to verify this implementation: firstly
+ we can compare with published data, for example with Table 6 of "Self-Validating
+ Computations of Probabilities for Selected Central and Noncentral Univariate
+ Probability Functions", Morgan C. Wang and William J. Kennedy, Journal
+ of the American Statistical Association, Vol. 89, No. 427. (Sep., 1994),
+ pp. 878-887. Secondly, we have tables of test data, computed with this
+ implementation and using interval arithmetic - this data should be accurate
+ to at least 50 decimal digits - and is the used for our accuracy tests.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_chi_squared_dist.implementation"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist_ref.dists.nc_chi_squared_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ The CDF and its complement are evaluated as follows:
+ </p>
+<p>
+ First we determine which of the two values (the CDF or its complement)
+ is likely to be the smaller: for this we can use the relation due to Temme
+ (see "Asymptotic and Numerical Aspects of the Noncentral Chi-Square
+ Distribution", N. M. Temme, Computers Math. Applic. Vol 25, No. 5,
+ 55-63, 1993) that:
+ </p>
+<p>
+ F(&#957;,&#955;;&#957;+&#955;) &#8776; 0.5
+ </p>
+<p>
+ and so compute the CDF when the random variable is less than &#957;+&#955;, and its
+ complement when the random variable is greater than &#957;+&#955;. If necessary the
+ computed result is then subtracted from 1 to give the desired result (the
+ CDF or its complement).
+ </p>
+<p>
+ For small values of the non centrality parameter, the CDF is computed using
+ the method of Ding (see "Algorithm AS 275: Computing the Non-Central
+ #2 Distribution Function", Cherng G. Ding, Applied Statistics, Vol.
+ 41, No. 2. (1992), pp. 478-482). This uses the following series representation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref4.png"></span>
+ </p>
+<p>
+ which requires just one call to <a class="link" href="../../sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>
+ with the subsequent terms being computed by recursion as shown above.
+ </p>
+<p>
+ For larger values of the non-centrality parameter, Ding's method can take
+ an unreasonable number of terms before convergence is achieved. Furthermore,
+ the largest term is not the first term, so in extreme cases the first term
+ may be zero, leading to a zero result, even though the true value may be
+ non-zero.
+ </p>
+<p>
+ Therefore, when the non-centrality parameter is greater than 200, the method
+ due to Krishnamoorthy (see "Computing discrete mixtures of continuous
+ distributions: noncentral chisquare, noncentral t and the distribution
+ of the square of the sample multiple correlation coefficient", Denise
+ Benton and K. Krishnamoorthy, Computational Statistics &amp; Data Analysis,
+ 43, (2003), 249-267) is used.
+ </p>
+<p>
+ This method uses the well known sum:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref5.png"></span>
+ </p>
+<p>
+ Where P<sub>a</sub>(x) is the incomplete gamma function.
+ </p>
+<p>
+ The method starts at the &#955;th term, which is where the Poisson weighting
+ function achieves its maximum value, although this is not necessarily the
+ largest overall term. Subsequent terms are calculated via the normal recurrence
+ relations for the incomplete gamma function, and iteration proceeds both
+ forwards and backwards until sufficient precision has been achieved. It
+ should be noted that recurrence in the forwards direction of P<sub>a</sub>(x) is numerically
+ unstable. However, since we always start <span class="emphasis"><em>after</em></span> the
+ largest term in the series, numeric instability is introduced more slowly
+ than the series converges.
+ </p>
+<p>
+ Computation of the complement of the CDF uses an extension of Krishnamoorthy's
+ method, given that:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref6.png"></span>
+ </p>
+<p>
+ we can again start at the &#955;'th term and proceed in both directions from
+ there until the required precision is achieved. This time it is backwards
+ recursion on the incomplete gamma function Q<sub>a</sub>(x) which is unstable. However,
+ as long as we start well <span class="emphasis"><em>before</em></span> the largest term,
+ this is not an issue in practice.
+ </p>
+<p>
+ The PDF is computed directly using the relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref3.png"></span>
+ </p>
+<p>
+ Where <span class="emphasis"><em>f(x; v)</em></span> is the PDF of the central <a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> and <span class="emphasis"><em>I<sub>v</sub>(x)</em></span> is a modified
+ Bessel function, see <a class="link" href="../../bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>.
+ For small values of the non-centrality parameter the relation in terms
+ of <a class="link" href="../../bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a> is used.
+ However, this method fails for large values of the non-centrality parameter,
+ so in that case the infinite sum is evaluated using the method of Benton
+ and Krishnamoorthy, and the usual recurrence relations for successive terms.
+ </p>
+<p>
+ The quantile functions are computed by numeric inversion of the CDF.
+ </p>
+<p>
+ There is no <a href="http://en.wikipedia.org/wiki/Closed_form" target="_top">closed
+ form</a> for the mode of the noncentral chi-squared distribution: it
+ is computed numerically by finding the maximum of the PDF. Likewise, the
+ median is computed numerically via the quantile.
+ </p>
+<p>
+ The remaining non-member functions use the following formulas:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_chi_squ_ref7.png"></span>
+ </p>
+<p>
+ Some analytic properties of noncentral distributions (particularly unimodality,
+ and monotonicity of their modes) are surveyed and summarized by:
+ </p>
+<p>
+ Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
+ 141 (2003) 3-12.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_beta_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_f_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html
new file mode 100644
index 0000000000..08f5610bf6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_f_dist.html
@@ -0,0 +1,410 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Noncentral F Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">
+<link rel="next" href="nc_t_dist.html" title="Noncentral T Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_t_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.nc_f_dist"></a><a class="link" href="nc_f_dist.html" title="Noncentral F Distribution">Noncentral F
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_f</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_f_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_f_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_f</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_f_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:</span>
+ <span class="identifier">non_central_f_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">v2</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to degrees_of_freedom parameters v1 &amp; v2:</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non-centrality parameter lambda:</span>
+ <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The noncentral F distribution is a generalization of the <a class="link" href="f_dist.html" title="F Distribution">Fisher
+ F Distribution</a>. It is defined as the ratio
+ </p>
+<pre class="programlisting"><span class="identifier">F</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">X</span><span class="special">/</span><span class="identifier">v1</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">Y</span><span class="special">/</span><span class="identifier">v2</span><span class="special">)</span>
+</pre>
+<p>
+ where X is a noncentral &#967;<sup>2</sup>
+random variable with <span class="emphasis"><em>v1</em></span> degrees
+ of freedom and non-centrality parameter &#955;, and Y is a central &#967;<sup>2</sup> random variable
+ with <span class="emphasis"><em>v2</em></span> degrees of freedom.
+ </p>
+<p>
+ This gives the following PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_f_ref1.png"></span>
+ </p>
+<p>
+ where L<sub>a</sub><sup>b</sup>(c) is a generalised Laguerre polynomial and B(a,b) is the <a class="link" href="../../sf_beta/beta_function.html" title="Beta">beta</a> function, or
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_f_ref2.png"></span>
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/nc_f_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_f_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_f_dist.member_functions"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist_ref.dists.nc_f_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_f_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">v2</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a non-central beta distribution with parameters <span class="emphasis"><em>v1</em></span>
+ and <span class="emphasis"><em>v2</em></span> and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
+ </p>
+<p>
+ Requires v1 &gt; 0, v2 &gt; 0 and lambda &gt;= 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v1</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v2</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the non-centrality parameter <span class="emphasis"><em>lambda</em></span> from which
+ this object was constructed.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_f_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_f_dist.non_member_accessors"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist_ref.dists.nc_f_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_f_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_f_dist.accuracy"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist_ref.dists.nc_f_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This distribution is implemented in terms of the <a class="link" href="nc_beta_dist.html" title="Noncentral Beta Distribution">Noncentral
+ Beta Distribution</a>: refer to that distribution for accuracy data.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_f_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_f_dist.tests"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist_ref.dists.nc_f_dist.tests">Tests</a>
+ </h5>
+<p>
+ Since this distribution is implemented by adapting another distribution,
+ the tests consist of basic sanity checks computed by the <a href="http://www.r-project.org/" target="_top">R-2.5.1
+ Math library statistical package</a> and its pbeta and dbeta functions.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_f_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_f_dist.implementation"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist_ref.dists.nc_f_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>v1</em></span> and <span class="emphasis"><em>v2</em></span>
+ are the first and second degrees of freedom parameters of the distribution,
+ &#955;
+is the non-centrality parameter, <span class="emphasis"><em>x</em></span> is the random variate,
+ <span class="emphasis"><em>p</em></span> is the probability, and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Implemented in terms of the non-central beta PDF using the relation:
+ </p>
+ <p>
+ f(x;v1,v2;&#955;) = (v1/v2) / ((1+y)*(1+y)) * g(y/(1+y);v1/2,v2/2;&#955;)
+ </p>
+ <p>
+ where g(x; a, b; &#955;) is the non central beta PDF, and:
+ </p>
+ <p>
+ y = x * v1 / v2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ p = B<sub>y</sub>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ where B<sub>x</sub>(a, b; &#955;) is the noncentral beta distribution CDF and
+ </p>
+ <p>
+ y = x * v1 / v2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ q = 1 - B<sub>y</sub>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ where 1 - B<sub>x</sub>(a, b; &#955;) is the complement of the noncentral beta
+ distribution CDF and
+ </p>
+ <p>
+ y = x * v1 / v2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ x = (bx / (1-bx)) * (v1 / v2)
+ </p>
+ <p>
+ where
+ </p>
+ <p>
+ bx = Q<sub>p</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ Q<sub>p</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ is the noncentral beta quantile.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ <p>
+ from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ x = (bx / (1-bx)) * (v1 / v2)
+ </p>
+ <p>
+ where
+ </p>
+ <p>
+ bx = QC<sub>q</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ QC<sub>q</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ is the noncentral beta quantile from the complement.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ v2 * (v1 + l) / (v1 * (v2 - 2))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ By numeric maximalisation of the PDF.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
+ Eric W. "Noncentral F-Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
+ Eric W. "Noncentral F-Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>, and to the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html" target="_top">Mathematica
+ documentation</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis and kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
+ Eric W. "Noncentral F-Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>, and to the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html" target="_top">Mathematica
+ documentation</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Some analytic properties of noncentral distributions (particularly unimodality,
+ and monotonicity of their modes) are surveyed and summarized by:
+ </p>
+<p>
+ Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
+ 141 (2003) 3-12.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_chi_squared_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_t_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html
new file mode 100644
index 0000000000..c6f521ba35
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/nc_t_dist.html
@@ -0,0 +1,415 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Noncentral T Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="nc_f_dist.html" title="Noncentral F Distribution">
+<link rel="next" href="normal_dist.html" title="Normal (Gaussian) Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.nc_t_dist"></a><a class="link" href="nc_t_dist.html" title="Noncentral T Distribution">Noncentral T
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_t_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_t</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:</span>
+ <span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">delta</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to degrees_of_freedom parameter v:</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non-centrality parameter delta:</span>
+ <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The noncentral T distribution is a generalization of the <a class="link" href="students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a>. Let X have a normal distribution with mean &#948; and variance
+ 1, and let &#957; S<sup>2</sup> have a chi-squared distribution with degrees of freedom &#957;.
+ Assume that X and S<sup>2</sup> are independent. The distribution of t<sub>&#957;</sub>(&#948;)=X/S is called
+ a noncentral t distribution with degrees of freedom &#957; and noncentrality parameter
+ &#948;.
+ </p>
+<p>
+ This gives the following PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref1.png"></span>
+ </p>
+<p>
+ where <sub>1</sub>F<sub>1</sub>(a;b;x) is a confluent hypergeometric function.
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#957; and &#948;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/nc_t_pdf.png" align="middle"></span>
+ <span class="inlinemediaobject"><img src="../../../../graphs/nc_t_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_t_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.member_functions"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">delta</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a non-central t distribution with degrees of freedom parameter
+ <span class="emphasis"><em>v</em></span> and non-centrality parameter <span class="emphasis"><em>delta</em></span>.
+ </p>
+<p>
+ Requires <span class="emphasis"><em>v</em></span> &gt; 0 (including positive infinity) and
+ finite <span class="emphasis"><em>delta</em></span>, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the non-centrality parameter <span class="emphasis"><em>delta</em></span> from which
+ this object was constructed.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_t_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.non_member_accessors"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [-&#8734;, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_t_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.accuracy"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>)
+ found on various platforms with various floating-point types. Unless otherwise
+ specified, any floating-point type that is narrower than the one shown
+ will have <a class="link" href="../../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.dist_ref.dists.nc_t_dist.errors_in_cdf_of_the_noncentral_"></a><p class="title"><b>Table&#160;5.6.&#160;Errors In CDF of the Noncentral T Distribution</b></p>
+<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral T Distribution">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size (bits)
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ &#957;, &#948; &lt; 600
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=120 Mean=26
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-4.1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=121 Mean=26
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=122 Mean=25
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=115 Mean=24
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The complexity of the current algorithm is dependent upon &#948;<sup>2</sup>: consequently
+ the time taken to evaluate the CDF increases rapidly for &#948; &gt; 500, likewise
+ the accuracy decreases rapidly for very large &#948;.
+ </p></td></tr>
+</table></div>
+<p>
+ Accuracy for the quantile and PDF functions should be broadly similar.
+ The <span class="emphasis"><em>mode</em></span> is determined numerically and cannot in principal
+ be more accurate than the square root of floating-point type FPT epsilon,
+ accessed using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">epsilon</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;()</span></code>.
+ For 64-bit <code class="computeroutput"><span class="keyword">double</span></code>, epsilon
+ is about 1e-16, so the fractional accuracy is limited to 1e-8.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_t_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.tests"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.tests">Tests</a>
+ </h5>
+<p>
+ There are two sets of tests of this distribution:
+ </p>
+<p>
+ Basic sanity checks compare this implementation to the test values given
+ in "Computing discrete mixtures of continuous distributions: noncentral
+ chisquare, noncentral t and the distribution of the square of the sample
+ multiple correlation coefficient." Denise Benton, K. Krishnamoorthy,
+ Computational Statistics &amp; Data Analysis 43 (2003) 249-267.
+ </p>
+<p>
+ Accuracy checks use test data computed with this implementation and arbitary
+ precision interval arithmetic: this test data is believed to be accurate
+ to at least 50 decimal places.
+ </p>
+<p>
+ The cases of large (or infinite) &#957; and/or large &#948; has received special treatment
+ to avoid catastrophic loss of accuracy. New tests have been added to confirm
+ the improvement achieved.
+ </p>
+<p>
+ From Boost 1.52, degrees of freedom &#957; can be +&#8734;
+when the normal distribution
+ located at &#948;
+(equivalent to the central Student's t distribution) is used
+ in place for accuracy and speed.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.nc_t_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.nc_t_dist.implementation"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist_ref.dists.nc_t_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ The CDF is computed using a modification of the method described in "Computing
+ discrete mixtures of continuous distributions: noncentral chisquare, noncentral
+ t and the distribution of the square of the sample multiple correlation
+ coefficient." Denise Benton, K. Krishnamoorthy, Computational Statistics
+ &amp; Data Analysis 43 (2003) 249-267.
+ </p>
+<p>
+ This uses the following formula for the CDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref2.png"></span>
+ </p>
+<p>
+ Where I<sub>x</sub>(a,b) is the incomplete beta function, and &#934;(x) is the normal CDF
+ at x.
+ </p>
+<p>
+ Iteration starts at the largest of the Poisson weighting terms (at i =
+ &#948;<sup>2</sup> / 2) and then proceeds in both directions as per Benton and Krishnamoorthy's
+ paper.
+ </p>
+<p>
+ Alternatively, by considering what happens when t = &#8734;, we have x = 1, and
+ therefore I<sub>x</sub>(a,b) = 1 and:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref3.png"></span>
+ </p>
+<p>
+ From this we can easily show that:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref4.png"></span>
+ </p>
+<p>
+ and therefore we have a means to compute either the probability or its
+ complement directly without the risk of cancellation error. The crossover
+ criterion for choosing whether to calculate the CDF or its complement is
+ the same as for the <a class="link" href="nc_beta_dist.html" title="Noncentral Beta Distribution">Noncentral
+ Beta Distribution</a>.
+ </p>
+<p>
+ The PDF can be computed by a very similar method using:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/nc_t_ref5.png"></span>
+ </p>
+<p>
+ Where I<sub>x</sub><sup>'</sup>(a,b) is the derivative of the incomplete beta function.
+ </p>
+<p>
+ For both the PDF and CDF we switch to approximating the distribution by
+ a Student's t distribution centred on &#948; when &#957; is very large. The crossover
+ location appears to be when &#948;/(4&#957;) &lt; &#949;, this location was estimated by
+ inspection of equation 2.6 in "A Comparison of Approximations To Percentiles
+ of the Noncentral t-Distribution". H. Sahai and M. M. Ojeda, Revista
+ Investigacion Operacional Vol 21, No 2, 2000, page 123.
+ </p>
+<p>
+ Equation 2.6 is a Fisher-Cornish expansion by Eeden and Johnson. The second
+ term includes the ratio &#948;/(4&#957;), so when this term become negligible, this
+ and following terms can be ignored, leaving just Student's t distribution
+ centred on &#948;.
+ </p>
+<p>
+ This was also confirmed by experimental testing.
+ </p>
+<p>
+ See also
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ "Some Approximations to the Percentage Points of the Noncentral
+ t-Distribution". C. van Eeden. International Statistical Review,
+ 29, 4-31.
+ </li>
+<li class="listitem">
+ "Continuous Univariate Distributions". N.L. Johnson, S. Kotz
+ and N. Balkrishnan. 1995. John Wiley and Sons New York.
+ </li>
+</ul></div>
+<p>
+ The quantile is calculated via the usual <a class="link" href="../../internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">derivative-free
+ root-finding techniques</a>, with the initial guess taken as the quantile
+ of a normal approximation to the noncentral T.
+ </p>
+<p>
+ There is no closed form for the mode, so this is computed via functional
+ maximisation of the PDF.
+ </p>
+<p>
+ The remaining functions (mean, variance etc) are implemented using the
+ formulas given in Weisstein, Eric W. "Noncentral Student's t-Distribution."
+ From MathWorld--A Wolfram Web Resource. <a href="http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html" target="_top">http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html</a>
+ and in the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html" target="_top">Mathematica
+ documentation</a>.
+ </p>
+<p>
+ Some analytic properties of noncentral distributions (particularly unimodality,
+ and monotonicity of their modes) are surveyed and summarized by:
+ </p>
+<p>
+ Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
+ 141 (2003) 3-12.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html
new file mode 100644
index 0000000000..5a64924eb3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/negative_binomial_dist.html
@@ -0,0 +1,883 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Negative Binomial Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="lognormal_dist.html" title="Log Normal Distribution">
+<link rel="next" href="nc_beta_dist.html" title="Noncentral Beta Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lognormal_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_beta_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist"></a><a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">negative_binomial</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">negative_binomial_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Constructor from successes and success_fraction:</span>
+ <span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+
+ <span class="comment">// Parameter accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Bounds on success fraction:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
+
+ <span class="comment">// Estimate min/max number of trials:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The class type <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span></code>
+ represents a <a href="http://en.wikipedia.org/wiki/Negative_binomial_distribution" target="_top">negative_binomial
+ distribution</a>: it is used when there are exactly two mutually exclusive
+ outcomes of a <a href="http://en.wikipedia.org/wiki/Bernoulli_trial" target="_top">Bernoulli
+ trial</a>: these outcomes are labelled "success" and "failure".
+ </p>
+<p>
+ For k + r Bernoulli trials each with success fraction p, the negative_binomial
+ distribution gives the probability of observing k failures and r successes
+ with success on the last trial. The negative_binomial distribution assumes
+ that success_fraction p is fixed for all (k + r) trials.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The random variable for the negative binomial distribution is the number
+ of trials, (the number of successes is a fixed property of the distribution)
+ whereas for the binomial, the random variable is the number of successes,
+ for a fixed number of trials.
+ </p></td></tr>
+</table></div>
+<p>
+ It has the PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/neg_binomial_ref.png"></span>
+ </p>
+<p>
+ The following graph illustrate how the PDF varies as the success fraction
+ <span class="emphasis"><em>p</em></span> changes:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/negative_binomial_pdf_1.png" align="middle"></span>
+ </p>
+<p>
+ Alternatively, this graph shows how the shape of the PDF varies as the
+ number of successes changes:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/negative_binomial_pdf_2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.related_distributions"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.related_distributions">Related
+ Distributions</a>
+ </h5>
+<p>
+ The name negative binomial distribution is reserved by some to the case
+ where the successes parameter r is an integer. This integer version is
+ also called the <a href="http://mathworld.wolfram.com/PascalDistribution.html" target="_top">Pascal
+ distribution</a>.
+ </p>
+<p>
+ This implementation uses real numbers for the computation throughout (because
+ it uses the <span class="bold"><strong>real-valued</strong></span> incomplete beta
+ function family of functions). This real-valued version is also called
+ the Polya Distribution.
+ </p>
+<p>
+ The Poisson distribution is a generalization of the Pascal distribution,
+ where the success parameter r is an integer: to obtain the Pascal distribution
+ you must ensure that an integer value is provided for r, and take integer
+ values (floor or ceiling) from functions that return a number of successes.
+ </p>
+<p>
+ For large values of r (successes), the negative binomial distribution converges
+ to the Poisson distribution.
+ </p>
+<p>
+ The geometric distribution is a special case where the successes parameter
+ r = 1, so only a first and only success is required. geometric(p) = negative_binomial(1,
+ p).
+ </p>
+<p>
+ The Poisson distribution is a special case for large successes
+ </p>
+<p>
+ poisson(&#955;) = lim <sub>r &#8594; &#8734;</sub> &#160; negative_binomial(r, r / (&#955; + r)))
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The Negative Binomial distribution is a discrete distribution: internally,
+ functions like the <code class="computeroutput"><span class="identifier">cdf</span></code>
+ and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated "as
+ if" they are continuous functions, but in reality the results returned
+ from these functions only have meaning if an integer value is provided
+ for the random variate argument.
+ </p>
+<p>
+ The quantile function will by default return an integer result that has
+ been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower quantiles
+ (where the probability is less than 0.5) are rounded downward, and upper
+ quantiles (where the probability is greater than 0.5) are rounded upwards.
+ This behaviour ensures that if an X% quantile is requested, then <span class="emphasis"><em>at
+ least</em></span> the requested coverage will be present in the central
+ region, and <span class="emphasis"><em>no more than</em></span> the requested coverage
+ will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently, or even return a real-valued result using <a class="link" href="../../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile
+ function on the Negative Binomial distribution. The <a class="link" href="../../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.member_functions"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<h6>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.construct"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.construct">Construct</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ Constructor: <span class="emphasis"><em>r</em></span> is the total number of successes,
+ <span class="emphasis"><em>p</em></span> is the probability of success of a single trial.
+ </p>
+<p>
+ Requires: <code class="computeroutput"><span class="identifier">r</span> <span class="special">&gt;</span>
+ <span class="number">0</span></code> and <code class="computeroutput"><span class="number">0</span>
+ <span class="special">&lt;=</span> <span class="identifier">p</span>
+ <span class="special">&lt;=</span> <span class="number">1</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.accessors"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.accessors">Accessors</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// successes / trials (0 &lt;= p &lt;= 1)</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>p</em></span> from which this distribution
+ was constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// required successes (r &gt; 0)</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>r</em></span> from which this distribution
+ was constructed.
+ </p>
+<p>
+ The best method of calculation for the following functions is disputed:
+ see <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> for more discussion.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.lower_bound_on_parameter_p"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.lower_bound_on_parameter_p">Lower
+ Bound on Parameter p</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">failures</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">)</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
+</pre>
+<p>
+ Returns a <span class="bold"><strong>lower bound</strong></span> on the success fraction:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">failures</span></dt>
+<dd><p>
+ The total number of failures before the <span class="emphasis"><em>r</em></span>th
+ success.
+ </p></dd>
+<dt><span class="term">successes</span></dt>
+<dd><p>
+ The number of successes required.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The largest acceptable probability that the true value of the success
+ fraction is <span class="bold"><strong>less than</strong></span> the value
+ returned.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example, if you observe <span class="emphasis"><em>k</em></span> failures and <span class="emphasis"><em>r</em></span>
+ successes from <span class="emphasis"><em>n</em></span> = k + r trials the best estimate
+ for the success fraction is simply <span class="emphasis"><em>r/n</em></span>, but if you
+ want to be 95% sure that the true value is <span class="bold"><strong>greater
+ than</strong></span> some value, <span class="emphasis"><em>p<sub>min</sub></em></span>, then:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span><sub>min</sub> <span class="special">=</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">failures</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
+ negative binomial confidence interval example.</a>
+ </p>
+<p>
+ This function uses the Clopper-Pearson method of computing the lower bound
+ on the success fraction, whilst many texts refer to this method as giving
+ an "exact" result in practice it produces an interval that guarantees
+ <span class="emphasis"><em>at least</em></span> the coverage required, and may produce pessimistic
+ estimates for some combinations of <span class="emphasis"><em>failures</em></span> and <span class="emphasis"><em>successes</em></span>.
+ See:
+ </p>
+<p>
+ <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
+ Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
+ Discrete Distributions. Computational statistics and data analysis, 2005,
+ vol. 48, no3, 605-621</a>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.upper_bound_on_parameter_p"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.upper_bound_on_parameter_p">Upper
+ Bound on Parameter p</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
+</pre>
+<p>
+ Returns an <span class="bold"><strong>upper bound</strong></span> on the success
+ fraction:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">trials</span></dt>
+<dd><p>
+ The total number of trials conducted.
+ </p></dd>
+<dt><span class="term">successes</span></dt>
+<dd><p>
+ The number of successes that occurred.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The largest acceptable probability that the true value of the success
+ fraction is <span class="bold"><strong>greater than</strong></span> the value
+ returned.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
+ trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
+ but if you want to be 95% sure that the true value is <span class="bold"><strong>less
+ than</strong></span> some value, <span class="emphasis"><em>p<sub>max</sub></em></span>, then:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span><sub>max</sub> <span class="special">=</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">r</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
+ negative binomial confidence interval example.</a>
+ </p>
+<p>
+ This function uses the Clopper-Pearson method of computing the lower bound
+ on the success fraction, whilst many texts refer to this method as giving
+ an "exact" result in practice it produces an interval that guarantees
+ <span class="emphasis"><em>at least</em></span> the coverage required, and may produce pessimistic
+ estimates for some combinations of <span class="emphasis"><em>failures</em></span> and <span class="emphasis"><em>successes</em></span>.
+ See:
+ </p>
+<p>
+ <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
+ Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
+ Discrete Distributions. Computational statistics and data analysis, 2005,
+ vol. 48, no3, 605-621</a>.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h6"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_e"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_e">Estimating
+ Number of Trials to Ensure at Least a Certain Number of Failures</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
+</pre>
+<p>
+ This functions estimates the number of trials required to achieve a certain
+ probability that <span class="bold"><strong>more than k failures will be observed</strong></span>.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">k</span></dt>
+<dd><p>
+ The target number of failures to be observed.
+ </p></dd>
+<dt><span class="term">p</span></dt>
+<dd><p>
+ The probability of <span class="emphasis"><em>success</em></span> for each trial.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable risk that only k failures or fewer will be
+ observed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the smallest number of trials we must conduct to be 95% sure of
+ seeing 10 failures that occur with frequency one half.
+ </p>
+<p>
+ <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">Worked
+ Example.</a>
+ </p>
+<p>
+ This function uses numeric inversion of the negative binomial distribution
+ to obtain the result: another interpretation of the result, is that it
+ finds the number of trials (success+failures) that will lead to an <span class="emphasis"><em>alpha</em></span>
+ probability of observing k failures or fewer.
+ </p>
+<h6>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h7"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_0"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_0">Estimating
+ Number of Trials to Ensure a Maximum Number of Failures or Less</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
+ <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
+</pre>
+<p>
+ This functions estimates the maximum number of trials we can conduct and
+ achieve a certain probability that <span class="bold"><strong>k failures or
+ fewer will be observed</strong></span>.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">k</span></dt>
+<dd><p>
+ The maximum number of failures to be observed.
+ </p></dd>
+<dt><span class="term">p</span></dt>
+<dd><p>
+ The probability of <span class="emphasis"><em>success</em></span> for each trial.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable <span class="emphasis"><em>risk</em></span> that more than k
+ failures will be observed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1.0</span><span class="special">-</span><span class="number">1.0</span><span class="special">/</span><span class="number">1000000</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the largest number of trials we can conduct and still be 95% sure
+ of seeing no failures that occur with frequency one in one million.
+ </p>
+<p>
+ This function uses numeric inversion of the negative binomial distribution
+ to obtain the result: another interpretation of the result, is that it
+ finds the number of trials (success+failures) that will lead to an <span class="emphasis"><em>alpha</em></span>
+ probability of observing more than k failures.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h8"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.non_member_accessors"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ However it's worth taking a moment to define what these actually mean in
+ the context of this distribution:
+ </p>
+<div class="table">
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.meaning_of_the_non_member_access"></a><p class="title"><b>Table&#160;5.3.&#160;Meaning of the non-member accessors.</b></p>
+<div class="table-contents"><table class="table" summary="Meaning of the non-member accessors.">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density
+ Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>exactly k
+ failures</strong></span> from k+r trials with success fraction p.
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution
+ Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>k failures
+ or fewer</strong></span> from k+r trials with success fraction p and
+ success on the last trial. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement of
+ the Cumulative Distribution Function</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The probability of obtaining <span class="bold"><strong>more than
+ k failures</strong></span> from k+r trials with success fraction p
+ and success on the last trial. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">))</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The <span class="bold"><strong>greatest</strong></span> number of failures
+ k expected to be observed from k+r trials with success fraction
+ p, at probability P. Note that the value returned is a real-number,
+ and not an integer. Depending on the use case you may want to
+ take either the floor or ceiling of the real result. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">)</span></pre>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile_c">Quantile
+ from the complement of the probability</a>
+ </p>
+ </td>
+<td>
+ <p>
+ The <span class="bold"><strong>smallest</strong></span> number of failures
+ k expected to be observed from k+r trials with success fraction
+ p, at probability P. Note that the value returned is a real-number,
+ and not an integer. Depending on the use case you may want to
+ take either the floor or ceiling of the real result. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">))</span></pre>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h9"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.accuracy"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ This distribution is implemented using the incomplete beta functions <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a> and <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>:
+ please refer to these functions for information on accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.negative_binomial_dist.h10"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.negative_binomial_dist.implementation"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist_ref.dists.negative_binomial_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table, <span class="emphasis"><em>p</em></span> is the probability that
+ any one trial will be successful (the success fraction), <span class="emphasis"><em>r</em></span>
+ is the number of successes, <span class="emphasis"><em>k</em></span> is the number of failures,
+ <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ pdf = exp(lgamma(r + k) - lgamma(r) - lgamma(k+1)) * pow(p, r)
+ * pow((1-p), k)
+ </p>
+ <p>
+ Implementation is in terms of <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>:
+ </p>
+ <p>
+ (p/(r + k)) * ibeta_derivative(r, static_cast&lt;RealType&gt;(k+1),
+ p) The function <a class="link" href="../../sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>
+ is used here, since it has already been optimised for the lowest
+ possible error - indeed this is really just a thin wrapper around
+ part of the internals of the incomplete beta function.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ cdf = I<sub>p</sub>(r, k+1) = ibeta(r, k+1, p)
+ </p>
+ <p>
+ = ibeta(r, static_cast&lt;RealType&gt;(k+1), p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ 1 - cdf = I<sub>p</sub>(k+1, r)
+ </p>
+ <p>
+ = ibetac(r, static_cast&lt;RealType&gt;(k+1), p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ ibeta_invb(r, p, P) - 1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ ibetac_invb(r, p, Q) -1)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">)/</span><span class="identifier">p</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">r</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">)</span>
+ <span class="special">/</span> <span class="identifier">p</span>
+ <span class="special">*</span> <span class="identifier">p</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">floor</span><span class="special">((</span><span class="identifier">r</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span> <span class="identifier">p</span><span class="special">)/</span><span class="identifier">p</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">(</span><span class="number">2</span>
+ <span class="special">-</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
+ <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">r</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">p</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="number">6</span> <span class="special">/</span>
+ <span class="identifier">r</span> <span class="special">+</span>
+ <span class="special">(</span><span class="identifier">p</span>
+ <span class="special">*</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
+ <span class="identifier">r</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">p</span>
+ <span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="number">6</span> <span class="special">/</span>
+ <span class="identifier">r</span> <span class="special">+</span>
+ <span class="special">(</span><span class="identifier">p</span>
+ <span class="special">*</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
+ <span class="identifier">r</span> <span class="special">*</span>
+ <span class="special">(</span><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">p</span>
+ <span class="special">)</span> <span class="special">-</span><span class="number">3</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ parameter estimation member functions
+ </p>
+ </td>
+<td>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ ibeta_inv(successes, failures + 1, alpha)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ ibetac_inv(successes, failures, alpha) plus see comments in code.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ ibeta_inva(k + 1, p, alpha)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_maximum_number_of_trials</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ ibetac_inva(k + 1, p, alpha)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Implementation notes:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The real concept type (that deliberately lacks the Lanczos approximation),
+ was found to take several minutes to evaluate some extreme test values,
+ so the test has been disabled for this type.
+ </li>
+<li class="listitem">
+ Much greater speed, and perhaps greater accuracy, might be achieved
+ for extreme values by using a normal approximation. This is NOT been
+ tested or implemented.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lognormal_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_beta_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/normal_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/normal_dist.html
new file mode 100644
index 0000000000..877702c6ab
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/normal_dist.html
@@ -0,0 +1,325 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Normal (Gaussian) Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="nc_t_dist.html" title="Noncentral T Distribution">
+<link rel="next" href="pareto.html" title="Pareto Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_t_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pareto.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.normal_dist"></a><a class="link" href="normal_dist.html" title="Normal (Gaussian) Distribution">Normal (Gaussian)
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">normal_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">normal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">normal_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Construct:</span>
+ <span class="identifier">normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// location.</span>
+ <span class="identifier">RealType</span> <span class="identifier">standard_deviation</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// scale.</span>
+ <span class="comment">// Synonyms, provided to allow generic use of find_location and find_scale.</span>
+ <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The normal distribution is probably the most well known statistical distribution:
+ it is also known as the Gaussian Distribution. A normal distribution with
+ mean zero and standard deviation one is known as the <span class="emphasis"><em>Standard
+ Normal Distribution</em></span>.
+ </p>
+<p>
+ Given mean &#956; &#160;and standard deviation &#963; &#160;it has the PDF:
+ </p>
+<p>
+ &#160; <span class="inlinemediaobject"><img src="../../../../equations/normal_ref1.png"></span>
+ </p>
+<p>
+ The variation the PDF with its parameters is illustrated in the following
+ graph:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/normal_pdf.png" align="middle"></span>
+ </p>
+<p>
+ The cumulative distribution function is given by
+ </p>
+<p>
+ &#160; <span class="inlinemediaobject"><img src="../../../../equations/normal_cdf.png"></span>
+ </p>
+<p>
+ and illustrated by this graph
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/normal_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.normal_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.normal_dist.member_functions"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist_ref.dists.normal_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a normal distribution with mean <span class="emphasis"><em>mean</em></span> and
+ standard deviation <span class="emphasis"><em>sd</em></span>.
+ </p>
+<p>
+ Requires sd &gt; 0, otherwise <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ both return the <span class="emphasis"><em>mean</em></span> of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">standard_deviation</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ both return the <span class="emphasis"><em>standard deviation</em></span> of this distribution.
+ (Redundant location and scale function are provided to match other similar
+ distributions, allowing the functions find_location and find_scale to be
+ used generically).
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.normal_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.normal_dist.non_member_accessors"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist_ref.dists.normal_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [-[max_value], +[min_value]]. However,
+ the pdf of +&#8734; and -&#8734; = 0 is also supported, and cdf at -&#8734; = 0, cdf at +&#8734; = 1, and
+ complement cdf -&#8734; = 1 and +&#8734; = 0, if RealType permits.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.normal_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.normal_dist.accuracy"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist_ref.dists.normal_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The normal distribution is implemented in terms of the <a class="link" href="../../sf_erf/error_function.html" title="Error Functions">error
+ function</a>, and as such should have very low error rates.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.normal_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.normal_dist.implementation"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist_ref.dists.normal_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>m</em></span> is the mean of the distribution,
+ and <span class="emphasis"><em>s</em></span> is its standard deviation.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = e<sup>-(x-m)<sup>2</sup>/(2s<sup>2</sup>)</sup> / (s * sqrt(2*pi))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = 0.5 * <a class="link" href="../../sf_erf/error_function.html" title="Error Functions">erfc</a>(-(x-m)/(s*sqrt(2)))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = 0.5 * <a class="link" href="../../sf_erf/error_function.html" title="Error Functions">erfc</a>((x-m)/(s*sqrt(2)))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = m - s * sqrt(2) * <a class="link" href="../../sf_erf/error_inv.html" title="Error Function Inverses">erfc_inv</a>(2*p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = m + s * sqrt(2) * <a class="link" href="../../sf_erf/error_inv.html" title="Error Function Inverses">erfc_inv</a>(2*p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean and standard deviation
+ </p>
+ </td>
+<td>
+ <p>
+ The same as <code class="computeroutput"><span class="identifier">dist</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">dist</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ The same as the mean.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ median
+ </p>
+ </td>
+<td>
+ <p>
+ The same as the mean.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_t_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pareto.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/pareto.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/pareto.html
new file mode 100644
index 0000000000..4b993f4613
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/pareto.html
@@ -0,0 +1,350 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Pareto Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="normal_dist.html" title="Normal (Gaussian) Distribution">
+<link rel="next" href="poisson_dist.html" title="Poisson Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="normal_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poisson_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.pareto"></a><a class="link" href="pareto.html" title="Pareto Distribution">Pareto Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">pareto</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">pareto_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">pareto_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">pareto</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">pareto_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="comment">// Constructor:</span>
+ <span class="identifier">pareto_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">Pareto
+ distribution</a> is a continuous distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function (pdf)</a>:
+ </p>
+<p>
+ f(x; &#945;, &#946;) = &#945;&#946;<sup>&#945;</sup> / x<sup>&#945;+ 1</sup>
+ </p>
+<p>
+ For shape parameter &#945; &#160; &gt; 0, and scale parameter &#946; &#160; &gt; 0. If x &lt; &#946; &#160;, the
+ pdf is zero.
+ </p>
+<p>
+ The <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Pareto
+ distribution</a> often describes the larger compared to the smaller.
+ A classic example is that 80% of the wealth is owned by 20% of the population.
+ </p>
+<p>
+ The following graph illustrates how the PDF varies with the scale parameter
+ &#946;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/pareto_pdf1.png" align="middle"></span>
+ </p>
+<p>
+ And this graph illustrates how the PDF varies with the shape parameter
+ &#945;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/pareto_pdf2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.pareto.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.related_distributions"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.related_distributions">Related
+ distributions</a>
+ </h5>
+<h5>
+<a name="math_toolkit.dist_ref.dists.pareto.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.member_functions"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.member_functions">Member Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">pareto_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">pareto
+ distribution</a> with shape <span class="emphasis"><em>shape</em></span> and scale <span class="emphasis"><em>scale</em></span>.
+ </p>
+<p>
+ Requires that the <span class="emphasis"><em>shape</em></span> and <span class="emphasis"><em>scale</em></span>
+ parameters are both greater than zero, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>shape</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.pareto.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.non_member_accessors"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The supported domain of the random variable is [scale, &#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.pareto.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.accuracy"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The Pareto distribution is implemented in terms of the standard library
+ <code class="computeroutput"><span class="identifier">exp</span></code> functions plus <a class="link" href="../../powers/expm1.html" title="expm1">expm1</a> and so should have very
+ small errors, usually only a few epsilon.
+ </p>
+<p>
+ If probability is near to unity (or the complement of a probability near
+ zero) see also <a class="link" href="../../stat_tut/overview/complements.html#why_complements">why complements?</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.pareto.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.implementation"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#945; &#160; is the shape parameter of the distribution, and
+ &#946; &#160; is its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate,
+ <span class="emphasis"><em>p</em></span> is the probability and its complement <span class="emphasis"><em>q
+ = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf p = &#945;&#946;<sup>&#945;</sup>/x<sup>&#945; +1</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: cdf p = 1 - (&#946; &#160; / x)<sup>&#945;</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = 1 - p = -(&#946; &#160; / x)<sup>&#945;</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#946; / (1 - p)<sup>1/&#945;</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#946; / (q)<sup>1/&#945;</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#945;&#946; / (&#946; - 1)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ &#946;&#945;<sup>2</sup> / (&#946; - 1)<sup>2</sup> (&#946; - 2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ &#945;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
+ Eric W. "Pareto Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
+ Eric W. "Pareto Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
+ Eric W. "pareto Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.pareto.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.pareto.references"></a></span><a class="link" href="pareto.html#math_toolkit.dist_ref.dists.pareto.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">Pareto
+ Distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/paretoDistribution.html" target="_top">Weisstein,
+ Eric W. "Pareto Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </li>
+<li class="listitem">
+ Handbook of Statistical Distributions with Applications, K Krishnamoorthy,
+ ISBN 1-58488-635-8, Chapter 23, pp 257 - 267. (Note the meaning of
+ a and b is reversed in Wolfram and Krishnamoorthy).
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="normal_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poisson_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html
new file mode 100644
index 0000000000..f053b2d1b1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/poisson_dist.html
@@ -0,0 +1,330 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Poisson Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="pareto.html" title="Pareto Distribution">
+<link rel="next" href="rayleigh.html" title="Rayleigh Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pareto.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rayleigh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.poisson_dist"></a><a class="link" href="poisson_dist.html" title="Poisson Distribution">Poisson Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">poisson</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">poisson_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">poisson_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">poisson</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">poisson_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">poisson_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Constructor.</span>
+ <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Accessor.</span>
+<span class="special">}</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces boost::math</span>
+</pre>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Poisson_distribution" target="_top">Poisson
+ distribution</a> is a well-known statistical discrete distribution.
+ It expresses the probability of a number of events (or failures, arrivals,
+ occurrences ...) occurring in a fixed period of time, provided these events
+ occur with a known mean rate &#955; &#160;
+(events/time), and are independent of the
+ time since the last event.
+ </p>
+<p>
+ The distribution was discovered by Sim&#233; on-Denis Poisson (1781 to 1840).
+ </p>
+<p>
+ It has the Probability Mass Function:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/poisson_ref1.png"></span>
+ </p>
+<p>
+ for k events, with an expected number of events &#955;.
+ </p>
+<p>
+ The following graph illustrates how the PDF varies with the parameter &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/poisson_pdf_1.png" align="middle"></span>
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The Poisson distribution is a discrete distribution: internally, functions
+ like the <code class="computeroutput"><span class="identifier">cdf</span></code> and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated "as if" they
+ are continuous functions, but in reality the results returned from these
+ functions only have meaning if an integer value is provided for the random
+ variate argument.
+ </p>
+<p>
+ The quantile function will by default return an integer result that has
+ been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower quantiles
+ (where the probability is less than 0.5) are rounded downward, and upper
+ quantiles (where the probability is greater than 0.5) are rounded upwards.
+ This behaviour ensures that if an X% quantile is requested, then <span class="emphasis"><em>at
+ least</em></span> the requested coverage will be present in the central
+ region, and <span class="emphasis"><em>no more than</em></span> the requested coverage
+ will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently, or even return a real-valued result using <a class="link" href="../../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile
+ function on the Poisson distribution. The <a class="link" href="../../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.poisson_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.poisson_dist.member_functions"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist_ref.dists.poisson_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">poisson_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a poisson distribution with mean <span class="emphasis"><em>mean</em></span>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>mean</em></span> of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.poisson_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.poisson_dist.non_member_accessors"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist_ref.dists.poisson_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, &#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.poisson_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.poisson_dist.accuracy"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist_ref.dists.poisson_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The Poisson distribution is implemented in terms of the incomplete gamma
+ functions <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a> and
+ <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a> and as such
+ should have low error rates: but refer to the documentation of those functions
+ for more information. The quantile and its complement use the inverse gamma
+ functions and are therefore probably slightly less accurate: this is because
+ the inverse gamma functions are implemented using an iterative method with
+ a lower tolerance to avoid excessive computation.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.poisson_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.poisson_dist.implementation"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist_ref.dists.poisson_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#955; &#160; is the mean of the distribution, <span class="emphasis"><em>k</em></span>
+ is the random variable, <span class="emphasis"><em>p</em></span> is the probability and
+ <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = e<sup>-&#955;</sup> &#955;<sup>k</sup> / k!
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = &#915;(k+1, &#955;) / k! = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(k+1,
+ &#955;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = <a class="link" href="../../sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(k+1,
+ &#955;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: k = <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>(&#955;,
+ p) - 1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: k = <a class="link" href="../../sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>(&#955;,
+ q) - 1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ floor (&#955;) or &#8970;&#955;&#8971;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#8730;&#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 3 + 1/&#955;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ 1/&#955;
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pareto.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rayleigh.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/rayleigh.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/rayleigh.html
new file mode 100644
index 0000000000..d891caa11d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/rayleigh.html
@@ -0,0 +1,347 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rayleigh Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="poisson_dist.html" title="Poisson Distribution">
+<link rel="next" href="skew_normal_dist.html" title="Skew Normal Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="poisson_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="skew_normal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.rayleigh"></a><a class="link" href="rayleigh.html" title="Rayleigh Distribution">Rayleigh Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">rayleigh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">rayleigh_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">rayleigh_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">rayleigh</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">rayleigh_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Construct:</span>
+ <span class="identifier">rayleigh_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">sigma</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">sigma</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
+ distribution</a> is a continuous distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function</a>:
+ </p>
+<p>
+ f(x; sigma) = x * exp(-x<sup>2</sup>/2 &#963;<sup>2</sup>) / &#963;<sup>2</sup>
+ </p>
+<p>
+ For sigma parameter &#963; &#160; &gt; 0, and x &gt; 0.
+ </p>
+<p>
+ The Rayleigh distribution is often used where two orthogonal components
+ have an absolute value, for example, wind velocity and direction may be
+ combined to yield a wind speed, or real and imaginary components may have
+ absolute values that are Rayleigh distributed.
+ </p>
+<p>
+ The following graph illustrates how the Probability density Function(pdf)
+ varies with the shape parameter &#963;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/rayleigh_pdf.png" align="middle"></span>
+ </p>
+<p>
+ and the Cumulative Distribution Function (cdf)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/rayleigh_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.rayleigh.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.rayleigh.related_distributions"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist_ref.dists.rayleigh.related_distributions">Related
+ distributions</a>
+ </h5>
+<p>
+ The absolute value of two independent normal distributions X and Y, &#8730; (X<sup>2</sup> +
+ Y<sup>2</sup>) is a Rayleigh distribution.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Chi_distribution" target="_top">Chi</a>,
+ <a href="http://en.wikipedia.org/wiki/Rice_distribution" target="_top">Rice</a>
+ and <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull</a>
+ distributions are generalizations of the <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
+ distribution</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.rayleigh.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.rayleigh.member_functions"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist_ref.dists.rayleigh.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">rayleigh_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">sigma</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
+ distribution</a> with &#963; <span class="emphasis"><em>sigma</em></span>.
+ </p>
+<p>
+ Requires that the &#963; parameter is greater than zero, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">sigma</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>sigma</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.rayleigh.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.rayleigh.non_member_accessors"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist_ref.dists.rayleigh.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, max_value].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.rayleigh.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.rayleigh.accuracy"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist_ref.dists.rayleigh.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The Rayleigh distribution is implemented in terms of the standard library
+ <code class="computeroutput"><span class="identifier">sqrt</span></code> and <code class="computeroutput"><span class="identifier">exp</span></code> and as such should have very low
+ error rates. Some constants such as skewness and kurtosis were calculated
+ using NTL RR type with 150-bit accuracy, about 50 decimal digits.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.rayleigh.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.rayleigh.implementation"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist_ref.dists.rayleigh.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#963; &#160; is the sigma parameter of the distribution, <span class="emphasis"><em>x</em></span>
+ is the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
+ = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = x * exp(-x<sup>2</sup>)/2 &#963;<sup>2</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = 1 - exp(-x<sup>2</sup>/2) &#963;<sup>2</sup> &#160; = -<a class="link" href="../../powers/expm1.html" title="expm1">expm1</a>(-x<sup>2</sup>/2)
+ &#963;<sup>2</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = exp(-x<sup>2</sup>/ 2) * &#963;<sup>2</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = sqrt(-2 * &#963; <sup>2</sup>) * log(1 - p)) = sqrt(-2
+ * &#963; <sup>2</sup>) * <a class="link" href="../../powers/log1p.html" title="log1p">log1p</a>(-p))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = sqrt(-2 * &#963; <sup>2</sup>) * log(q))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#963; * sqrt(&#960;/2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ &#963;<sup>2</sup> * (4 - &#960;/2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ &#963;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ Constant from <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
+ Eric W. "Weibull Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ Constant from <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
+ Eric W. "Weibull Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ Constant from <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
+ Eric W. "Weibull Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.rayleigh.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.rayleigh.references"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist_ref.dists.rayleigh.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">http://en.wikipedia.org/wiki/Rayleigh_distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
+ Eric W. "Rayleigh Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="poisson_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="skew_normal_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html
new file mode 100644
index 0000000000..f030c05729
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/skew_normal_dist.html
@@ -0,0 +1,498 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Skew Normal Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="rayleigh.html" title="Rayleigh Distribution">
+<link rel="next" href="students_t_dist.html" title="Students t Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rayleigh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="students_t_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.skew_normal_dist"></a><a class="link" href="skew_normal_dist.html" title="Skew Normal Distribution">Skew
+ Normal Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">skew_normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">skew_normal_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">skew_normal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">skew_normal_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Constructor:</span>
+ <span class="identifier">skew_normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// mean if normal.</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// width, standard deviation if normal.</span>
+ <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// The distribution is right skewed if shape &gt; 0 and is left skewed if shape &lt; 0.</span>
+ <span class="comment">// The distribution is normal if shape is zero.</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The skew normal distribution is a variant of the most well known Gaussian
+ statistical distribution.
+ </p>
+<p>
+ The skew normal distribution with shape zero resembles the <a href="http://en.wikipedia.org/wiki/Normal_distribution" target="_top">Normal
+ Distribution</a>, hence the latter can be regarded as a special case
+ of the more generic skew normal distribution.
+ </p>
+<p>
+ If the standard (mean = 0, scale = 1) normal distribution probability density
+ function is
+ </p>
+<p>
+ &#160; &#160; <span class="inlinemediaobject"><img src="../../../../equations/normal01_pdf.png"></span>
+ </p>
+<p>
+ and the cumulative distribution function
+ </p>
+<p>
+ &#160; &#160; <span class="inlinemediaobject"><img src="../../../../equations/normal01_cdf.png"></span>
+ </p>
+<p>
+ then the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">PDF</a>
+ of the <a href="http://en.wikipedia.org/wiki/Skew_normal_distribution" target="_top">skew
+ normal distribution</a> with shape parameter &#945;, defined by O'Hagan and
+ Leonhard (1976) is
+ </p>
+<p>
+ &#160; &#160; <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_pdf0.png"></span>
+ </p>
+<p>
+ Given <a href="http://en.wikipedia.org/wiki/Location_parameter" target="_top">location</a>
+ &#958;, <a href="http://en.wikipedia.org/wiki/Scale_parameter" target="_top">scale</a>
+ &#969;, and <a href="http://en.wikipedia.org/wiki/Shape_parameter" target="_top">shape</a>
+ &#945;, it can be <a href="http://en.wikipedia.org/wiki/Skew_normal_distribution" target="_top">transformed</a>,
+ to the form:
+ </p>
+<p>
+ &#160; &#160; <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_pdf.png"></span>
+ </p>
+<p>
+ and <a href="http://en.wikipedia.org/wiki/Cumulative_distribution_function" target="_top">CDF</a>:
+ </p>
+<p>
+ &#160; &#160; <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_cdf.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>T(h,a)</em></span> is Owen's T function, and <span class="emphasis"><em>&#934;(x)</em></span>
+ is the normal distribution.
+ </p>
+<p>
+ The variation the PDF and CDF with its parameters is illustrated in the
+ following graphs:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/skew_normal_pdf.png" align="middle"></span>
+ <span class="inlinemediaobject"><img src="../../../../graphs/skew_normal_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.skew_normal_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.skew_normal_dist.member_functions"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist_ref.dists.skew_normal_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">skew_normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a skew_normal distribution with location &#958;, scale &#969; and shape &#945;.
+ </p>
+<p>
+ Requires scale &gt; 0, otherwise <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ returns the location &#958; of this distribution,
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ returns the scale &#969; of this distribution,
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ returns the shape &#945; of this distribution.
+ </p>
+<p>
+ (Location and scale function match other similar distributions, allowing
+ the functions <code class="computeroutput"><span class="identifier">find_location</span></code>
+ and <code class="computeroutput"><span class="identifier">find_scale</span></code> to be used
+ generically).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ While the shape parameter may be chosen arbitrarily (finite), the resulting
+ <span class="bold"><strong>skewness</strong></span> of the distribution is in fact
+ limited to about (-1, 1); strictly, the interval is (-0.9952717, 0.9952717).
+ </p>
+<p>
+ A parameter &#948; is related to the shape &#945; by &#948; = &#945; / (1 + &#945;&#178;), and used in the expression
+ for skewness <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_skewness.png"></span>
+
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.skew_normal_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.skew_normal_dist.references"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist_ref.dists.skew_normal_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://azzalini.stat.unipd.it/SN/" target="_top">Skew-Normal Probability
+ Distribution</a> for many links and bibliography.
+ </li>
+<li class="listitem">
+ <a href="http://azzalini.stat.unipd.it/SN/Intro/intro.html" target="_top">A very
+ brief introduction to the skew-normal distribution</a> by Adelchi
+ Azzalini (2005-11-2).
+ </li>
+<li class="listitem">
+ See a <a href="http://www.tri.org.au/azzalini.html" target="_top">skew-normal
+ function animation</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.skew_normal_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.skew_normal_dist.non_member_accessors"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist_ref.dists.skew_normal_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is <span class="emphasis"><em>-[max_value], +[min_value]</em></span>.
+ Infinite values are not supported.
+ </p>
+<p>
+ There are no <a href="http://en.wikipedia.org/wiki/Closed-form_expression" target="_top">closed-form
+ expression</a> known for the mode and median, but these are computed
+ for the
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ mode - by finding the maximum of the PDF.
+ </li>
+<li class="listitem">
+ median - by computing <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="number">1</span><span class="special">/</span><span class="number">2</span><span class="special">)</span></code>.
+ </li>
+</ul></div>
+<p>
+ The maximum of the PDF is sought through searching the root of f'(x)=0.
+ </p>
+<p>
+ Both involve iterative methods that will have lower accuracy than other
+ estimates.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.skew_normal_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.skew_normal_dist.testing"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist_ref.dists.skew_normal_dist.testing">Testing</a>
+ </h5>
+<p>
+ <a href="http://www.r-project.org/" target="_top">The R Project for Statistical Computing</a>
+ using library(sn) described at <a href="http://azzalini.stat.unipd.it/SN/" target="_top">Skew-Normal
+ Probability Distribution</a>, and at <a href="http://cran.r-project.org/web/packages/sn/sn.pd" target="_top">R
+ skew-normal(sn) package</a>.
+ </p>
+<p>
+ Package sn provides functions related to the skew-normal (SN) and the skew-t
+ (ST) probability distributions, both for the univariate and for the the
+ multivariate case, including regression models.
+ </p>
+<p>
+ <a href="http://www.wolfram.com/products/mathematica/index.html" target="_top">Wolfram
+ Mathematica</a> was also used to generate some more accurate spot test
+ data.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.skew_normal_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.skew_normal_dist.accuracy"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist_ref.dists.skew_normal_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The skew_normal distribution with shape = zero is implemented as a special
+ case, equivalent to the normal distribution in terms of the <a class="link" href="../../sf_erf/error_function.html" title="Error Functions">error
+ function</a>, and therefore should have excellent accuracy.
+ </p>
+<p>
+ The PDF and mean, variance, skewness and kurtosis are also accurately evaluated
+ using <a href="http://en.wikipedia.org/wiki/Analytical_expression" target="_top">analytical
+ expressions</a>. The CDF requires <a href="http://en.wikipedia.org/wiki/Owen%27s_T_function" target="_top">Owen's
+ T function</a> that is evaluated using a Boost C++ <a class="link" href="../../owens_t.html" title="Owen's T function">Owens
+ T</a> implementation of the algorithms of M. Patefield and D. Tandy,
+ Journal of Statistical Software, 5(5), 1-25 (2000); the complicated accuracy
+ of this function is discussed in detail at <a class="link" href="../../owens_t.html" title="Owen's T function">Owens
+ T</a>.
+ </p>
+<p>
+ The median and mode are calculated by iterative root finding, and both
+ will be less accurate.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.skew_normal_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.skew_normal_dist.implementation"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist_ref.dists.skew_normal_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table, &#958; is the location of the distribution, and &#969; is its
+ scale, and &#945; is its shape.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using: <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_pdf.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using: <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_cdf.png"></span><br> where <span class="emphasis"><em>T(h,a)</em></span>
+ is Owen's T function, and <span class="emphasis"><em>&#934;(x)</em></span> is the normal
+ distribution.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using: complement of normal distribution + 2 * Owens_t
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Maximum of the pdf is sought through searching the root of f'(x)=0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ -quantile(SN(-location &#958;, scale &#969;, -shape&#945;), p)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ location
+ </p>
+ </td>
+<td>
+ <p>
+ location &#958;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ scale
+ </p>
+ </td>
+<td>
+ <p>
+ scale &#969;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ shape
+ </p>
+ </td>
+<td>
+ <p>
+ shape &#945;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ median
+ </p>
+ </td>
+<td>
+ <p>
+ quantile(1/2)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_mean.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ Maximum of the pdf is sought through searching the root of f'(x)=0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_variance.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_skewness.png"></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ kurtosis excess-3
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="../../../../equations/skew_normal_kurt_ex.png"></span>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rayleigh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="students_t_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html
new file mode 100644
index 0000000000..751b33b422
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/students_t_dist.html
@@ -0,0 +1,430 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Students t Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="skew_normal_dist.html" title="Skew Normal Distribution">
+<link rel="next" href="triangular_dist.html" title="Triangular Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="skew_normal_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="triangular_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.students_t_dist"></a><a class="link" href="students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">students_t_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">students_t_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">students_t</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">students_t_distribution</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Construct:</span>
+ <span class="identifier">students_t_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+ <span class="comment">// Accessor:</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// degrees of freedom estimation:</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">difference_from_mean</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">sd</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ A statistical distribution published by William Gosset in 1908. His employer,
+ Guinness Breweries, required him to publish under a pseudonym (possibly
+ to hide that they were using statistics), so he chose "Student".
+ Given N independent measurements, let
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/students_t_dist.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>M</em></span> is the population mean,<span class="emphasis"><em>&#956;</em></span>
+ is the sample mean, and <span class="emphasis"><em>s</em></span> is the sample variance.
+ </p>
+<p>
+ Student's t-distribution is defined as the distribution of the random 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:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/students_t_ref1.png"></span>
+ </p>
+<p>
+ The Student's t-distribution takes a single parameter: the number of degrees
+ of freedom of the sample. When the degrees of freedom is <span class="emphasis"><em>one</em></span>
+ then this distribution is the same as the Cauchy-distribution. As the number
+ of degrees of freedom tends towards infinity, then this distribution approaches
+ the normal-distribution. The following graph illustrates how the PDF varies
+ with the degrees of freedom &#957;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/students_t_pdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.students_t_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.students_t_dist.member_functions"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist_ref.dists.students_t_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">students_t_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a Student's t-distribution with <span class="emphasis"><em>v</em></span> degrees
+ of freedom.
+ </p>
+<p>
+ Requires <span class="emphasis"><em>v</em></span> &gt; 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ Note that non-integral degrees of freedom are supported, and are meaningful
+ under certain circumstances.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the number of degrees of freedom of this distribution.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="identifier">RealType</span> <span class="identifier">difference_from_mean</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">sd</span><span class="special">,</span>
+ <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the number of degrees of freedom required to observe a significant
+ result in the Student's t test when the mean differs from the "true"
+ mean by <span class="emphasis"><em>difference_from_mean</em></span>.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">difference_from_mean</span></dt>
+<dd><p>
+ The difference between the true mean and the sample mean that we
+ wish to show is significant.
+ </p></dd>
+<dt><span class="term">alpha</span></dt>
+<dd><p>
+ The maximum acceptable probability of rejecting the null hypothesis
+ when it is in fact true.
+ </p></dd>
+<dt><span class="term">beta</span></dt>
+<dd><p>
+ The maximum acceptable probability of failing to reject the null
+ hypothesis when it is in fact false.
+ </p></dd>
+<dt><span class="term">sd</span></dt>
+<dd><p>
+ The sample standard deviation.
+ </p></dd>
+<dt><span class="term">hint</span></dt>
+<dd><p>
+ A hint for the location to start looking for the result, a good choice
+ for this would be the sample size of a previous borderline Student's
+ t test.
+ </p></dd>
+</dl>
+</div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Remember that for a two-sided test, you must divide alpha by two before
+ calling this function.
+ </p></td></tr>
+</table></div>
+<p>
+ For more information on this function see the <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc222.htm" target="_top">NIST
+ Engineering Statistics Handbook</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.students_t_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.students_t_dist.non_member_accessors"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist_ref.dists.students_t_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [-&#8734;, +&#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.students_t_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.students_t_dist.examples"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist_ref.dists.students_t_dist.examples">Examples</a>
+ </h5>
+<p>
+ Various <a class="link" href="../../stat_tut/weg/st_eg.html" title="Student's t Distribution Examples">worked examples</a>
+ are available illustrating the use of the Student's t distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.students_t_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.students_t_dist.accuracy"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist_ref.dists.students_t_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The normal distribution is implemented in terms of the <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">incomplete
+ beta function</a> and <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">its
+ inverses</a>, refer to accuracy data on those functions for more information.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.students_t_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.students_t_dist.implementation"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist_ref.dists.students_t_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>v</em></span> is the degrees of freedom
+ of the distribution, <span class="emphasis"><em>t</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
+ is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = (v / (v + t<sup>2</sup>))<sup>(1+v)/2 </sup> / (sqrt(v) *
+ <a class="link" href="../../sf_beta/beta_function.html" title="Beta">beta</a>(v/2,
+ 0.5))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relations:
+ </p>
+ <p>
+ p = 1 - z <span class="emphasis"><em>iff t &gt; 0</em></span>
+ </p>
+ <p>
+ p = z <span class="emphasis"><em>otherwise</em></span>
+ </p>
+ <p>
+ where z is given by:
+ </p>
+ <p>
+ <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(v
+ / 2, 0.5, v / (v + t<sup>2</sup>)) / 2 <span class="emphasis"><em>iff v &lt; 2t<sup>2</sup></em></span>
+ </p>
+ <p>
+ <a class="link" href="../../sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(0.5,
+ v / 2, t<sup>2 </sup> / (v + t<sup>2</sup>) / 2 <span class="emphasis"><em>otherwise</em></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = cdf(-t)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: t = sign(p - 0.5) * sqrt(v * y / x)
+ </p>
+ <p>
+ where:
+ </p>
+ <p>
+ x = <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>(v
+ / 2, 0.5, 2 * min(p, q))
+ </p>
+ <p>
+ y = 1 - x
+ </p>
+ <p>
+ The quantities <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>
+ are both returned by <a class="link" href="../../sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ without the subtraction implied above.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: t = -quantile(q)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ if (v &gt; 2) v / (v - 2) else NaN
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ if (v &gt; 3) 0 else NaN
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ if (v &gt; 4) 3 * (v - 2) / (v - 4) else NaN
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ if (v &gt; 4) 6 / (df - 4) else NaN
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ If the moment index <span class="emphasis"><em>k</em></span> is less than <span class="emphasis"><em>v</em></span>,
+ then the moment is undefined. Evaluating the moment will throw a <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ unless ignored by a policy, when it will return <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span></code>
+ </p>
+<p>
+ (For simplicity, we have not implemented the return of infinity in some
+ cases as suggested by <a href="http://en.wikipedia.org/wiki/Student%27s_t-distribution" target="_top">Wikipedia
+ Student's t</a>. See also <a href="https://svn.boost.org/trac/boost/ticket/7177" target="_top">https://svn.boost.org/trac/boost/ticket/7177</a>.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="skew_normal_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="triangular_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html
new file mode 100644
index 0000000000..01da61fdda
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/triangular_dist.html
@@ -0,0 +1,423 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Triangular Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="students_t_dist.html" title="Students t Distribution">
+<link rel="next" href="uniform_dist.html" title="Uniform Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="students_t_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="uniform_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.triangular_dist"></a><a class="link" href="triangular_dist.html" title="Triangular Distribution">Triangular
+ Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">triangular</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">triangular_distribution</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">triangular_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">triangular</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">triangular_distribution</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="identifier">triangular_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">mode</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Constructor.</span>
+ <span class="special">:</span> <span class="identifier">m_lower</span><span class="special">(</span><span class="identifier">lower</span><span class="special">),</span> <span class="identifier">m_mode</span><span class="special">(</span><span class="identifier">mode</span><span class="special">),</span> <span class="identifier">m_upper</span><span class="special">(</span><span class="identifier">upper</span><span class="special">)</span> <span class="comment">// Default is -1, 0, +1 triangular distribution.</span>
+ <span class="comment">// Accessor functions.</span>
+ <span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">mode</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="special">};</span> <span class="comment">// class triangular_distribution</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">triangular
+ distribution</a> is a <a href="http://en.wikipedia.org/wiki/Continuous_distribution" target="_top">continuous</a>
+ <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">probability
+ distribution</a> with a lower limit a, <a href="http://en.wikipedia.org/wiki/Mode_%28statistics%29" target="_top">mode
+ c</a>, and upper limit b.
+ </p>
+<p>
+ The triangular distribution is often used where the distribution is only
+ vaguely known, but, like the <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
+ distribution</a>, upper and limits are 'known', but a 'best guess',
+ the mode or center point, is also added. It has been recommended as a
+ <a href="http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf" target="_top">proxy
+ for the beta distribution.</a> The distribution is used in business
+ decision making and project planning.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">triangular
+ distribution</a> is a distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function</a>:
+ </p>
+<p>
+ f(x) =
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ 2(x-a)/(b-a) (c-a) for a &lt;= x &lt;= c
+ </li>
+<li class="listitem">
+ 2(b-x)/(b-a)(b-c) for c &lt; x &lt;= b
+ </li>
+</ul></div>
+<p>
+ Parameter a (lower) can be any finite value. Parameter b (upper) can be
+ any finite value &gt; a (lower). Parameter c (mode) a &lt;= c &lt;= b.
+ This is the most probable value.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random variate</a>
+ x must also be finite, and is supported lower &lt;= x &lt;= upper.
+ </p>
+<p>
+ The triangular distribution may be appropriate when an assumption of a
+ normal distribution is unjustified because uncertainty is caused by rounding
+ and quantization from analog to digital conversion. Upper and lower limits
+ are known, and the most probable value lies midway.
+ </p>
+<p>
+ The distribution simplifies when the 'best guess' is either the lower or
+ upper limit - a 90 degree angle triangle. The default chosen is the 001
+ triangular distribution which expresses an estimate that the lowest value
+ is the most likely; for example, you believe that the next-day quoted delivery
+ date is most likely (knowing that a quicker delivery is impossible - the
+ postman only comes once a day), and that longer delays are decreasingly
+ likely, and delivery is assumed to never take more than your upper limit.
+ </p>
+<p>
+ The following graph illustrates how the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function PDF</a> varies with the various parameters:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/triangular_pdf.png" align="middle"></span>
+ </p>
+<p>
+ and cumulative distribution function
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/triangular_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.triangular_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.triangular_dist.member_functions"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist_ref.dists.triangular_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">triangular_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">mode</span> <span class="special">=</span> <span class="number">0</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a <a href="http://en.wikipedia.org/wiki/triangular_distribution" target="_top">triangular
+ distribution</a> with lower <span class="emphasis"><em>lower</em></span> (a) and upper
+ <span class="emphasis"><em>upper</em></span> (b).
+ </p>
+<p>
+ Requires that the <span class="emphasis"><em>lower</em></span>, <span class="emphasis"><em>mode</em></span>
+ and <span class="emphasis"><em>upper</em></span> parameters are all finite, otherwise calls
+ <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>lower</em></span> parameter of this distribution (default
+ -1).
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mode</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>mode</em></span> parameter of this distribution (default
+ 0).
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>upper</em></span> parameter of this distribution (default+1).
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.triangular_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.triangular_dist.non_member_accessors"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist_ref.dists.triangular_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is \lowerto \upper, and the supported
+ range is lower &lt;= x &lt;= upper.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.triangular_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.triangular_dist.accuracy"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist_ref.dists.triangular_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The triangular distribution is implemented with simple arithmetic operators
+ and so should have errors within an epsilon or two, except quantiles with
+ arguments nearing the extremes of zero and unity.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.triangular_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.triangular_dist.implementation"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist_ref.dists.triangular_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table, a is the <span class="emphasis"><em>lower</em></span> parameter of
+ the distribution, c is the <span class="emphasis"><em>mode</em></span> parameter, b is the
+ <span class="emphasis"><em>upper</em></span> parameter, <span class="emphasis"><em>x</em></span> is the random
+ variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = 0 for x &lt; mode, 2(x-a)/(b-a)(c-a)
+ else 2*(b-x)/((b-a)(b-c))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: cdf = 0 for x &lt; mode (x-a)<sup>2</sup>/((b-a)(c-a))
+ else 1 - (b-x)<sup>2</sup>/((b-a)(b-c))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = 1 - p
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ let p0 = (c-a)/(b-a) the point of inflection on the cdf, then
+ given probability p and q = 1-p:
+ </p>
+ <p>
+ x = sqrt((b-a)(c-a)p) + a ; for p &lt; p0
+ </p>
+ <p>
+ x = c ; for p == p0
+ </p>
+ <p>
+ x = b - sqrt((b-a)(b-c)q) ; for p &gt; p0
+ </p>
+ <p>
+ (See <a href="../../../../../../../boost/math/distributions/triangular.hpp" target="_top">/boost/math/distributions/triangular.hpp</a>
+ for details.)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ As quantile (See <a href="../../../../../../../boost/math/distributions/triangular.hpp" target="_top">/boost/math/distributions/triangular.hpp</a>
+ for details.)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ (a + b + 3) / 3
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ (a<sup>2</sup>+b<sup>2</sup>+c<sup>2</sup> - ab - ac - bc)/18
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ c
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ (See <a href="../../../../../../../boost/math/distributions/triangular.hpp" target="_top">/boost/math/distributions/triangular.hpp</a>
+ for details).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 12/5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ -3/5
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Some 'known good' test values were obtained from <a href="http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm" target="_top">Statlet:
+ Calculate and plot probability distributions</a>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.triangular_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.triangular_dist.references"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist_ref.dists.triangular_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">Wikpedia
+ triangular distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/TriangularDistribution.html" target="_top">Weisstein,
+ Eric W. "Triangular Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </li>
+<li class="listitem">
+ Evans, M.; Hastings, N.; and Peacock, B. "Triangular Distribution."
+ Ch. 40 in Statistical Distributions, 3rd ed. New York: Wiley, pp. 187-188,
+ 2000, ISBN - 0471371246.
+ </li>
+<li class="listitem">
+ <a href="http://www.brighton-webs.co.uk/distributions/triangular.asp" target="_top">Brighton
+ Webs Ltd. BW D-Calc 1.0 Distribution Calculator</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf" target="_top">The
+ Triangular Distribution including its history.</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.measurement.sk/2002/S1/Wimmer2.pdf" target="_top">Gejza Wimmer,
+ Viktor Witkovsky and Tomas Duby, Measurement Science Review, Volume
+ 2, Section 1, 2002, Proper Rounding Of The Measurement Results Under
+ The Assumption Of Triangular Distribution.</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="students_t_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="uniform_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html
new file mode 100644
index 0000000000..aac50b5c43
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/uniform_dist.html
@@ -0,0 +1,367 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Uniform Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="triangular_dist.html" title="Triangular Distribution">
+<link rel="next" href="weibull_dist.html" title="Weibull Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="triangular_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weibull_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.uniform_dist"></a><a class="link" href="uniform_dist.html" title="Uniform Distribution">Uniform Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">uniform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">uniform_distribution</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">uniform_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">uniform</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">uniform_distribution</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="identifier">uniform_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Constructor.</span>
+ <span class="special">:</span> <span class="identifier">m_lower</span><span class="special">(</span><span class="identifier">lower</span><span class="special">),</span> <span class="identifier">m_upper</span><span class="special">(</span><span class="identifier">upper</span><span class="special">)</span> <span class="comment">// Default is standard uniform distribution.</span>
+ <span class="comment">// Accessor functions.</span>
+ <span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="special">};</span> <span class="comment">// class uniform_distribution</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The uniform distribution, also known as a rectangular distribution, is
+ a probability distribution that has constant probability.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">continuous
+ uniform distribution</a> is a distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function</a>:
+ </p>
+<p>
+ f(x) =
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ 1 / (upper - lower) for lower &lt; x &lt; upper
+ </li>
+<li class="listitem">
+ zero for x &lt; lower or x &gt; upper
+ </li>
+</ul></div>
+<p>
+ and in this implementation:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ 1 / (upper - lower) for x = lower or x = upper
+ </li></ul></div>
+<p>
+ The choice of x = lower or x = upper is made because statistical use of
+ this distribution judged is most likely: the method of maximum likelihood
+ uses this definition.
+ </p>
+<p>
+ There is also a <a href="http://en.wikipedia.org/wiki/Discrete_uniform_distribution" target="_top"><span class="bold"><strong>discrete</strong></span> uniform distribution</a>.
+ </p>
+<p>
+ Parameters lower and upper can be any finite value.
+ </p>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random variate</a>
+ x must also be finite, and is supported lower &lt;= x &lt;= upper.
+ </p>
+<p>
+ The lower parameter is also called the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm" target="_top">location
+ parameter</a>, <a href="http://en.wikipedia.org/wiki/Location_parameter" target="_top">that
+ is where the origin of a plot will lie</a>, and (upper - lower) is
+ also called the <a href="http://en.wikipedia.org/wiki/Scale_parameter" target="_top">scale
+ parameter</a>.
+ </p>
+<p>
+ The following graph illustrates how the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function PDF</a> varies with the shape parameter:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/uniform_pdf.png" align="middle"></span>
+ </p>
+<p>
+ Likewise for the CDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/uniform_cdf.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.uniform_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.uniform_dist.member_functions"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist_ref.dists.uniform_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">uniform_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a <a href="http://en.wikipedia.org/wiki/uniform_distribution" target="_top">uniform
+ distribution</a> with lower <span class="emphasis"><em>lower</em></span> (a) and upper
+ <span class="emphasis"><em>upper</em></span> (b).
+ </p>
+<p>
+ Requires that the <span class="emphasis"><em>lower</em></span> and <span class="emphasis"><em>upper</em></span>
+ parameters are both finite; otherwise if infinity or NaN then calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>lower</em></span> parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>upper</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.uniform_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.uniform_dist.non_member_accessors"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist_ref.dists.uniform_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is any finite value, but the supported
+ range is only <span class="emphasis"><em>lower</em></span> &lt;= x &lt;= <span class="emphasis"><em>upper</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.uniform_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.uniform_dist.accuracy"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist_ref.dists.uniform_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The uniform distribution is implemented with simple arithmetic operators
+ and so should have errors within an epsilon or two.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.uniform_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.uniform_dist.implementation"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist_ref.dists.uniform_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table a is the <span class="emphasis"><em>lower</em></span> parameter of
+ the distribution, b is the <span class="emphasis"><em>upper</em></span> parameter, <span class="emphasis"><em>x</em></span>
+ is the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
+ = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = 0 for x &lt; a, 1 / (b - a) for a &lt;=
+ x &lt;= b, 0 for x &gt; b
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: cdf = 0 for x &lt; a, (x - a) / (b - a) for
+ a &lt;= x &lt;= b, 1 for x &gt; b
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = 1 - p, (b - x) / (b - a)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = p * (b - a) + a;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ x = -q * (b - a) + b
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ (a + b) / 2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ (b - a) <sup>2</sup> / 12
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ any value in [a, b] but a is chosen. (Would NaN be better?)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ -6/5 = -1.2 exactly. (kurtosis - 3)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ 9/5
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.uniform_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.uniform_dist.references"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist_ref.dists.uniform_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">Wikpedia
+ continuous uniform distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/UniformDistribution.html" target="_top">Weisstein,
+ Weisstein, Eric W. "Uniform Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3662.htm" target="_top">http://www.itl.nist.gov/div898/handbook/eda/section3/eda3662.htm</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="triangular_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weibull_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html b/libs/math/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html
new file mode 100644
index 0000000000..a269074604
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/dists/weibull_dist.html
@@ -0,0 +1,369 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Weibull Distribution</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="uniform_dist.html" title="Uniform Distribution">
+<link rel="next" href="../dist_algorithms.html" title="Distribution Algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="uniform_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_algorithms.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.dist_ref.dists.weibull_dist"></a><a class="link" href="weibull_dist.html" title="Weibull Distribution">Weibull Distribution</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">weibull</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">weibull_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">weibull_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">weibull</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">weibull_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+ <span class="comment">// Construct:</span>
+ <span class="identifier">weibull_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
+ <span class="comment">// Accessors:</span>
+ <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull
+ distribution</a> is a continuous distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
+ density function</a>:
+ </p>
+<p>
+ f(x; &#945;, &#946;) = (&#945;/&#946;) * (x / &#946;)<sup>&#945; - 1</sup> * e<sup>-(x/&#946;)<sup>&#945;</sup></sup>
+ </p>
+<p>
+ For shape parameter &#945; &#160; &gt; 0, and scale parameter &#946; &#160; &gt; 0, and x &gt; 0.
+ </p>
+<p>
+ The Weibull distribution is often used in the field of failure analysis;
+ in particular it can mimic distributions where the failure rate varies
+ over time. If the failure rate is:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ constant over time, then &#945; &#160; = 1, suggests that items are failing from
+ random events.
+ </li>
+<li class="listitem">
+ decreases over time, then &#945; &#160; &lt; 1, suggesting "infant mortality".
+ </li>
+<li class="listitem">
+ increases over time, then &#945; &#160; &gt; 1, suggesting "wear out" -
+ more likely to fail as time goes by.
+ </li>
+</ul></div>
+<p>
+ The following graph illustrates how the PDF varies with the shape parameter
+ &#945;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/weibull_pdf1.png" align="middle"></span>
+ </p>
+<p>
+ While this graph illustrates how the PDF varies with the scale parameter
+ &#946;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/weibull_pdf2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.weibull_dist.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.weibull_dist.related_distributions"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist_ref.dists.weibull_dist.related_distributions">Related
+ distributions</a>
+ </h5>
+<p>
+ When &#945; &#160; = 3, the <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull
+ distribution</a> appears similar to the <a href="http://en.wikipedia.org/wiki/Normal_distribution" target="_top">normal
+ distribution</a>. When &#945; &#160; = 1, the Weibull distribution reduces to the
+ <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">exponential
+ distribution</a>. The relationship of the types of extreme value distributions,
+ of which the Weibull is but one, is discussed by <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme
+ Value Distributions, Theory and Applications Samuel Kotz &amp; Saralees
+ Nadarajah</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.weibull_dist.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.weibull_dist.member_functions"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist_ref.dists.weibull_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">weibull_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull
+ distribution</a> with shape <span class="emphasis"><em>shape</em></span> and scale <span class="emphasis"><em>scale</em></span>.
+ </p>
+<p>
+ Requires that the <span class="emphasis"><em>shape</em></span> and <span class="emphasis"><em>scale</em></span>
+ parameters are both greater than zero, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>shape</em></span> parameter of this distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.weibull_dist.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.weibull_dist.non_member_accessors"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist_ref.dists.weibull_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
+ functions</a> that are generic to all distributions are supported:
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </p>
+<p>
+ The domain of the random variable is [0, &#8734;].
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.weibull_dist.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.weibull_dist.accuracy"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist_ref.dists.weibull_dist.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The Weibull distribution is implemented in terms of the standard library
+ <code class="computeroutput"><span class="identifier">log</span></code> and <code class="computeroutput"><span class="identifier">exp</span></code>
+ functions plus <a class="link" href="../../powers/expm1.html" title="expm1">expm1</a> and
+ <a class="link" href="../../powers/log1p.html" title="log1p">log1p</a> and as such should
+ have very low error rates.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.dists.weibull_dist.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.weibull_dist.implementation"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist_ref.dists.weibull_dist.implementation">Implementation</a>
+ </h5>
+<p>
+ In the following table &#945; &#160; is the shape parameter of the distribution, &#946; &#160; is its
+ scale parameter, <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
+ is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: pdf = &#945;&#946;<sup>-&#945; </sup>x<sup>&#945; - 1</sup> e<sup>-(x/beta)<sup>alpha</sup></sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: p = -<a class="link" href="../../powers/expm1.html" title="expm1">expm1</a>(-(x/&#946;)<sup>&#945;</sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: q = e<sup>-(x/&#946;)<sup>&#945;</sup></sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#946; * (-<a class="link" href="../../powers/log1p.html" title="log1p">log1p</a>(-p))<sup>1/&#945;</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation: x = &#946; * (-log(q))<sup>1/&#945;</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ &#946; * &#915;(1 + 1/&#945;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ &#946;<sup>2</sup>(&#915;(1 + 2/&#945;) - &#915;<sup>2</sup>(1 + 1/&#945;))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ &#946;((&#945; - 1) / &#945;)<sup>1/&#945;</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
+ Eric W. "Weibull Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
+ Eric W. "Weibull Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
+ Eric W. "Weibull Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.dists.weibull_dist.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.dists.weibull_dist.references"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist_ref.dists.weibull_dist.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">http://en.wikipedia.org/wiki/Weibull_distribution</a>
+ </li>
+<li class="listitem">
+ <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
+ Eric W. "Weibull Distribution." From MathWorld--A Wolfram
+ Web Resource.</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3668.htm" target="_top">Weibull
+ in NIST Exploratory Data Analysis</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="uniform_dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_algorithms.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/dist_ref/nmp.html b/libs/math/doc/html/math_toolkit/dist_ref/nmp.html
new file mode 100644
index 0000000000..669bb8ad03
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/dist_ref/nmp.html
@@ -0,0 +1,706 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Non-Member Properties</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dist_ref.html" title="Statistical Distributions Reference">
+<link rel="prev" href="../dist_ref.html" title="Statistical Distributions Reference">
+<link rel="next" href="dists.html" title="Distributions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../dist_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.dist_ref.nmp"></a><a class="link" href="nmp.html" title="Non-Member Properties">Non-Member Properties</a>
+</h3></div></div></div>
+<p>
+ Properties that are common to all distributions are accessed via non-member
+ getter functions: non-membership allows more of these functions to be added
+ over time, as the need arises. Unfortunately the literature uses many different
+ and confusing names to refer to a rather small number of actual concepts;
+ refer to the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.concept_index">concept
+ index</a> to find the property you want by the name you are most familiar
+ with. Or use the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.function_index">function
+ index</a> to go straight to the function you want if you already know
+ its name.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h0"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.function_index"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.function_index">Function
+ Index</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution
+ Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement of the Cumulative
+ Distribution Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.median">median</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.range">range</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile_c">Quantile from the
+ complement of the probability</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h1"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.concept_index"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.concept_index">Conceptual
+ Index</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement of the Cumulative
+ Distribution Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution
+ Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf_inv">Inverse Cumulative
+ Distribution Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.survival_inv">Inverse Survival
+ Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.lower_critical">Lower Critical
+ Value</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.median">median</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdfPQ">P</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.percent">Percent Point Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pmf">Probability Mass Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.range">range</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdfPQ">Q</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile_c">Quantile from the
+ complement of the probability</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.survival">Survival Function</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.upper_critical">Upper Critical
+ Value</a>.
+ </li>
+<li class="listitem">
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h2"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.cdf"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative
+ Distribution Function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">cdf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ The <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution
+ Function</a> is the probability that the variable takes a value less than
+ or equal to x. It is equivalent to the integral from -infinity to x of the
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the random variable is outside the defined range for the distribution.
+ </p>
+<p>
+ For example, the following graph shows the cdf for the normal distribution:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/cdf.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h3"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.ccdf"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement
+ of the Cumulative Distribution Function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">cdf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Unspecified-Complement-Type</em></span><span class="special">&lt;</span><span class="identifier">Distribution</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">comp</span><span class="special">);</span>
+</pre>
+<p>
+ The complement of the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative
+ Distribution Function</a> is the probability that the variable takes a
+ value greater than x. It is equivalent to the integral from x to infinity
+ of the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density
+ Function</a>, or 1 minus the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative
+ Distribution Function</a> of x.
+ </p>
+<p>
+ This is also known as the survival function.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the random variable is outside the defined range for the distribution.
+ </p>
+<p>
+ In this library, it is obtained by wrapping the arguments to the <code class="computeroutput"><span class="identifier">cdf</span></code> function in a call to <code class="computeroutput"><span class="identifier">complement</span></code>, for example:
+ </p>
+<pre class="programlisting"><span class="comment">// standard normal distribution object:</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">;</span>
+<span class="comment">// print survival function for x=2.0:</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">2.0</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ For example, the following graph shows the __complement of the cdf for the
+ normal distribution:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/survival.png"></span>
+ </p>
+<p>
+ See <a class="link" href="../stat_tut/overview/complements.html#why_complements">why complements?</a> for why the complement
+ is useful and when it should be used.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h4"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.hazard"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard
+ Function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">hazard</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>
+ of <span class="emphasis"><em>x</em></span> and distibution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the random variable is outside the defined range for the distribution.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/hazard.png"></span>
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Some authors refer to this as the conditional failure density function
+ rather than the hazard function.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h5"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.chf"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative
+ Hazard Function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">chf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard
+ Function</a> of <span class="emphasis"><em>x</em></span> and distibution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the random variable is outside the defined range for the distribution.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/chf.png"></span>
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Some authors refer to this as simply the "Hazard Function".
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h6"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.mean"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the mean of the distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the distribution does not have a defined mean (for example the Cauchy
+ distribution).
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h7"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.median"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.median">median</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">median</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the median of the distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h8"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.mode"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">mode</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the mode of the distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the distribution does not have a defined mode.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h9"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.pdf"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability
+ Density Function</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">pdf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ For a continuous function, the probability density function (pdf) returns
+ the probability that the variate has the value x. Since for continuous distributions
+ the probability at a single point is actually zero, the probability is better
+ expressed as the integral of the pdf between two points: see the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative
+ Distribution Function</a>.
+ </p>
+<p>
+ For a discrete distribution, the pdf is the probability that the variate
+ takes the value x.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the random variable is outside the defined range for the distribution.
+ </p>
+<p>
+ For example, for a standard normal distribution the pdf looks like this:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/pdf.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h10"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.range"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.range">Range</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">range</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the valid range of the random variable over distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h11"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.quantile"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">quantile</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ The quantile is best viewed as the inverse of the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative
+ Distribution Function</a>, it returns a value <span class="emphasis"><em>x</em></span> such
+ that <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span>
+ <span class="identifier">p</span></code>.
+ </p>
+<p>
+ This is also known as the <span class="emphasis"><em>percent point function</em></span>, or
+ <span class="emphasis"><em>percentile</em></span>, or <span class="emphasis"><em>fractile</em></span>, it is
+ also the same as calculating the <span class="emphasis"><em>lower critical value</em></span>
+ of a distribution.
+ </p>
+<p>
+ This function returns a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the probability lies outside [0,1]. The function may return an <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ if there is no finite value that has the specified probability.
+ </p>
+<p>
+ The following graph shows the quantile function for a standard normal distribution:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/quantile.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h12"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.quantile_c"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile_c">Quantile
+ from the complement of the probability.</a>
+ </h5>
+<p>
+ See also <a class="link" href="../stat_tut/overview/complements.html" title="Complements are supported too - and when to use them">complements</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">quantile</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Unspecified-Complement-Type</em></span><span class="special">&lt;</span><span class="identifier">Distribution</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">comp</span><span class="special">);</span>
+</pre>
+<p>
+ This is the inverse of the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement
+ of the Cumulative Distribution Function</a>. It is calculated by wrapping
+ the arguments in a call to the quantile function in a call to <span class="emphasis"><em>complement</em></span>.
+ For example:
+ </p>
+<pre class="programlisting"><span class="comment">// define a standard normal distribution:</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">;</span>
+<span class="comment">// print the value of x for which the complement</span>
+<span class="comment">// of the probability is 0.05:</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ The function computes a value <span class="emphasis"><em>x</em></span> such that <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">q</span></code> where
+ <span class="emphasis"><em>q</em></span> is complement of the probability.
+ </p>
+<p>
+ <a class="link" href="../stat_tut/overview/complements.html#why_complements">Why complements?</a>
+ </p>
+<p>
+ This function is also called the inverse survival function, and is the same
+ as calculating the <span class="emphasis"><em>upper critical value</em></span> of a distribution.
+ </p>
+<p>
+ This function returns a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the probablity lies outside [0,1]. The function may return an <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ if there is no finite value that has the specified probability.
+ </p>
+<p>
+ The following graph show the inverse survival function for the normal distribution:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/survival_inv.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h13"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.sd"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.sd">Standard
+ Deviation</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the standard deviation of distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the distribution does not have a defined standard deviation.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h14"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.support"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.support">support</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">support</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the supported range of random variable over the distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ The distribution is said to be 'supported' over a range that is <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">"the
+ smallest closed set whose complement has probability zero"</a>.
+ Non-mathematicians might say it means the 'interesting' smallest range of
+ random variate x that has the cdf going from zero to unity. Outside are uninteresting
+ zones where the pdf is zero, and the cdf zero or unity.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h15"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.variance"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.variance">Variance</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the variance of the distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the distribution does not have a defined variance.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h16"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.skewness"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.skewness">Skewness</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">skewness</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the skewness of the distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the distribution does not have a defined skewness.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h17"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.kurtosis"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.kurtosis">Kurtosis</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">kurtosis</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the 'proper' kurtosis (normalized fourth moment) of the distribution
+ <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ kertosis = &#946;<sub>2</sub> &#160;= &#956;<sub>4</sub> &#160; / &#956;<sub>2</sub><sup>2</sup>
+ </p>
+<p>
+ Where &#956;<sub>i</sub> &#160; is the i'th central moment of the distribution, and in particular
+ &#956;<sub>2</sub> &#160; is the variance of the distribution.
+ </p>
+<p>
+ The kurtosis is a measure of the "peakedness" of a distribution.
+ </p>
+<p>
+ Note that the literature definition of kurtosis is confusing. The definition
+ used here is that used by for example <a href="http://mathworld.wolfram.com/Kurtosis.html" target="_top">Wolfram
+ MathWorld</a> (that includes a table of formulae for kurtosis excess
+ for various distributions) but NOT the definition of <a href="http://en.wikipedia.org/wiki/Kurtosis" target="_top">kurtosis
+ used by Wikipedia</a> which treats "kurtosis" and "kurtosis
+ excess" as the same quantity.
+ </p>
+<pre class="programlisting"><span class="identifier">kurtosis_excess</span> <span class="special">=</span> <span class="char">'proper'</span> <span class="identifier">kurtosis</span> <span class="special">-</span> <span class="number">3</span>
+</pre>
+<p>
+ This subtraction of 3 is convenient so that the <span class="emphasis"><em>kurtosis excess</em></span>
+ of a normal distribution is zero.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the distribution does not have a defined kurtosis.
+ </p>
+<p>
+ 'Proper' kurtosis can have a value from zero to + infinity.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h18"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.kurtosis_excess"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">Kurtosis
+ excess</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">kurtosis_excess</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the kurtosis excess of the distribution <span class="emphasis"><em>dist</em></span>.
+ </p>
+<p>
+ kurtosis excess = &#947;<sub>2</sub> &#160;= &#956;<sub>4</sub> &#160; / &#956;<sub>2</sub><sup>2</sup> &#160;- 3 = kurtosis - 3
+ </p>
+<p>
+ Where &#956;<sub>i</sub> &#160; is the i'th central moment of the distribution, and in particular
+ &#956;<sub>2</sub> &#160; is the variance of the distribution.
+ </p>
+<p>
+ The kurtosis excess is a measure of the "peakedness" of a distribution,
+ and is more widely used than the "kurtosis proper". It is defined
+ so that the kurtosis excess of a normal distribution is zero.
+ </p>
+<p>
+ This function may return a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ if the distribution does not have a defined kurtosis excess.
+ </p>
+<p>
+ Kurtosis excess can have a value from -2 to + infinity.
+ </p>
+<pre class="programlisting"><span class="identifier">kurtosis</span> <span class="special">=</span> <span class="identifier">kurtosis_excess</span> <span class="special">+</span><span class="number">3</span><span class="special">;</span>
+</pre>
+<p>
+ The kurtosis excess of a normal distribution is zero.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h19"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.cdfPQ"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdfPQ">P
+ and Q</a>
+ </h5>
+<p>
+ The terms P and Q are sometimes used to refer to the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative
+ Distribution Function</a> and its <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.ccdf">complement</a>
+ respectively. Lowercase p and q are sometimes used to refer to the values
+ returned by these functions.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h20"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.percent"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.percent">Percent
+ Point Function or Percentile</a>
+ </h5>
+<p>
+ The percent point function, also known as the percentile, is the same as
+ the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h21"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.cdf_inv"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.cdf_inv">Inverse
+ CDF Function.</a>
+ </h5>
+<p>
+ The inverse of the cumulative distribution function, is the same as the
+ <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h22"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.survival_inv"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.survival_inv">Inverse
+ Survival Function.</a>
+ </h5>
+<p>
+ The inverse of the survival function, is the same as computing the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile_c">quantile from the complement
+ of the probability</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h23"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.pmf"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pmf">Probability
+ Mass Function</a>
+ </h5>
+<p>
+ The Probability Mass Function is the same as the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability
+ Density Function</a>.
+ </p>
+<p>
+ The term Mass Function is usually applied to discrete distributions, while
+ the term <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density
+ Function</a> applies to continuous distributions.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h24"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.lower_critical"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.lower_critical">Lower
+ Critical Value.</a>
+ </h5>
+<p>
+ The lower critical value calculates the value of the random variable given
+ the area under the left tail of the distribution. It is equivalent to calculating
+ the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h25"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.upper_critical"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.upper_critical">Upper
+ Critical Value.</a>
+ </h5>
+<p>
+ The upper critical value calculates the value of the random variable given
+ the area under the right tail of the distribution. It is equivalent to calculating
+ the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.quantile_c">quantile from the
+ complement of the probability</a>.
+ </p>
+<h5>
+<a name="math_toolkit.dist_ref.nmp.h26"></a>
+ <span class="phrase"><a name="math_toolkit.dist_ref.nmp.survival"></a></span><a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.survival">Survival
+ Function</a>
+ </h5>
+<p>
+ Refer to the <a class="link" href="nmp.html#math_toolkit.dist_ref.nmp.ccdf">Complement of
+ the Cumulative Distribution Function</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../dist_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/ellint.html b/libs/math/doc/html/math_toolkit/ellint.html
new file mode 100644
index 0000000000..47677269cf
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/ellint.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Elliptic Integrals</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="airy/bip.html" title="Airy Bi' Function">
+<link rel="next" href="ellint/ellint_intro.html" title="Elliptic Integral Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="airy/bip.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint/ellint_intro.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.ellint"></a><a class="link" href="ellint.html" title="Elliptic Integrals">Elliptic Integrals</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ellint/ellint_intro.html">Elliptic Integral Overview</a></span></dt>
+<dt><span class="section"><a href="ellint/ellint_carlson.html">Elliptic Integrals
+ - Carlson Form</a></span></dt>
+<dt><span class="section"><a href="ellint/ellint_1.html">Elliptic Integrals of the
+ First Kind - Legendre Form</a></span></dt>
+<dt><span class="section"><a href="ellint/ellint_2.html">Elliptic Integrals of the
+ Second Kind - Legendre Form</a></span></dt>
+<dt><span class="section"><a href="ellint/ellint_3.html">Elliptic Integrals of the
+ Third Kind - Legendre Form</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="airy/bip.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint/ellint_intro.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_1.html b/libs/math/doc/html/math_toolkit/ellint/ellint_1.html
new file mode 100644
index 0000000000..aad7b996eb
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/ellint/ellint_1.html
@@ -0,0 +1,268 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Elliptic Integrals of the First Kind - Legendre Form</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../ellint.html" title="Elliptic Integrals">
+<link rel="prev" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form">
+<link rel="next" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_carlson.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.ellint.ellint_1"></a><a class="link" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">Elliptic Integrals of the
+ First Kind - Legendre Form</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.ellint.ellint_1.h0"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_1.synopsis"></a></span><a class="link" href="ellint_1.html#math_toolkit.ellint.ellint_1.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.ellint.ellint_1.h1"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_1.description"></a></span><a class="link" href="ellint_1.html#math_toolkit.ellint.ellint_1.description">Description</a>
+ </h5>
+<p>
+ These two functions evaluate the incomplete elliptic integral of the first
+ kind <span class="emphasis"><em>F(&#966;, k)</em></span> and its complete counterpart <span class="emphasis"><em>K(k)
+ = F(&#960;/2, k)</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/ellint_1.png" align="middle"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types:
+ when they are the same type then the result is the same type as the arguments.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the incomplete elliptic integral of the first kind <span class="emphasis"><em>F(&#966;,
+ k)</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint2.png"></span>
+ </p>
+<p>
+ Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the complete elliptic integral of the first kind <span class="emphasis"><em>K(k)</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint6.png"></span>
+ </p>
+<p>
+ Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_1.h2"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_1.accuracy"></a></span><a class="link" href="ellint_1.html#math_toolkit.ellint.ellint_1.accuracy">Accuracy</a>
+ </h5>
+<p>
+ These functions are computed using only basic arithmetic operations, so there
+ isn't much variation in accuracy over differing platforms. Note that only
+ results for the widest floating point type on the system are given as narrower
+ types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>. All values are relative errors in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.ellint.ellint_1.errors_rates_in_the_elliptic_int"></a><p class="title"><b>Table&#160;6.26.&#160;Errors Rates in the Elliptic Integrals of the First Kind</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the First Kind">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ F(&#966;, k)
+ </p>
+ </th>
+<th>
+ <p>
+ K(k)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3 Mean=0.8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.8 Mean=0.7
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.6 Mean=1.7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.2 Mean=1.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.6 Mean=1.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.7 Mean=1.5
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.ellint.ellint_1.h3"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_1.testing"></a></span><a class="link" href="ellint_1.html#math_toolkit.ellint.ellint_1.testing">Testing</a>
+ </h5>
+<p>
+ The tests use a mixture of spot test values calculated using the online calculator
+ at <a href="http://functions.wolfram.com/" target="_top">functions.wolfram.com</a>,
+ and random test data generated using NTL::RR at 1000-bit precision and this
+ implementation.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_1.h4"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_1.implementation"></a></span><a class="link" href="ellint_1.html#math_toolkit.ellint.ellint_1.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions are implemented in terms of Carlson's integrals using the
+ relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint19.png"></span>
+ </p>
+<p>
+ and
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint20.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_carlson.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_2.html b/libs/math/doc/html/math_toolkit/ellint/ellint_2.html
new file mode 100644
index 0000000000..80a42e3591
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/ellint/ellint_2.html
@@ -0,0 +1,268 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Elliptic Integrals of the Second Kind - Legendre Form</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../ellint.html" title="Elliptic Integrals">
+<link rel="prev" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">
+<link rel="next" href="ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.ellint.ellint_2"></a><a class="link" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">Elliptic Integrals of the
+ Second Kind - Legendre Form</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.ellint.ellint_2.h0"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_2.synopsis"></a></span><a class="link" href="ellint_2.html#math_toolkit.ellint.ellint_2.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_2</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.ellint.ellint_2.h1"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_2.description"></a></span><a class="link" href="ellint_2.html#math_toolkit.ellint.ellint_2.description">Description</a>
+ </h5>
+<p>
+ These two functions evaluate the incomplete elliptic integral of the second
+ kind <span class="emphasis"><em>E(&#966;, k)</em></span> and its complete counterpart <span class="emphasis"><em>E(k)
+ = E(&#960;/2, k)</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/ellint_2.png" align="middle"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types:
+ when they are the same type then the result is the same type as the arguments.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the incomplete elliptic integral of the second kind <span class="emphasis"><em>E(&#966;,
+ k)</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint3.png"></span>
+ </p>
+<p>
+ Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the complete elliptic integral of the second kind <span class="emphasis"><em>E(k)</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint7.png"></span>
+ </p>
+<p>
+ Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_2.h2"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_2.accuracy"></a></span><a class="link" href="ellint_2.html#math_toolkit.ellint.ellint_2.accuracy">Accuracy</a>
+ </h5>
+<p>
+ These functions are computed using only basic arithmetic operations, so there
+ isn't much variation in accuracy over differing platforms. Note that only
+ results for the widest floating point type on the system are given as narrower
+ types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>. All values are relative errors in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.ellint.ellint_2.errors_rates_in_the_elliptic_int"></a><p class="title"><b>Table&#160;6.27.&#160;Errors Rates in the Elliptic Integrals of the Second Kind</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the Second Kind">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ F(&#966;, k)
+ </p>
+ </th>
+<th>
+ <p>
+ K(k)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.6 Mean=1.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.5 Mean=1.0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.3 Mean=1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.6 Mean=1.2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.8 Mean=2.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=10.8 Mean=2.3
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.ellint.ellint_2.h3"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_2.testing"></a></span><a class="link" href="ellint_2.html#math_toolkit.ellint.ellint_2.testing">Testing</a>
+ </h5>
+<p>
+ The tests use a mixture of spot test values calculated using the online calculator
+ at <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
+ and random test data generated using NTL::RR at 1000-bit precision and this
+ implementation.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_2.h4"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_2.implementation"></a></span><a class="link" href="ellint_2.html#math_toolkit.ellint.ellint_2.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions are implemented in terms of Carlson's integrals using the
+ relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint21.png"></span>
+ </p>
+<p>
+ and
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint22.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_3.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_3.html b/libs/math/doc/html/math_toolkit/ellint/ellint_3.html
new file mode 100644
index 0000000000..fc706d8c60
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/ellint/ellint_3.html
@@ -0,0 +1,321 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Elliptic Integrals of the Third Kind - Legendre Form</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../ellint.html" title="Elliptic Integrals">
+<link rel="prev" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">
+<link rel="next" href="../jacobi.html" title="Jacobi Elliptic Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../jacobi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.ellint.ellint_3"></a><a class="link" href="ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">Elliptic Integrals of the
+ Third Kind - Legendre Form</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.ellint.ellint_3.h0"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_3.synopsis"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_3</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.ellint.ellint_3.h1"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_3.description"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.description">Description</a>
+ </h5>
+<p>
+ These two functions evaluate the incomplete elliptic integral of the third
+ kind <span class="emphasis"><em>&#928;(n, &#966;, k)</em></span> and its complete counterpart <span class="emphasis"><em>&#928;(n,
+ k) = E(n, &#960;/2, k)</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/ellint_3.png" align="middle"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when the arguments are of different
+ types: when they are the same type then the result is the same type as the
+ arguments.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the incomplete elliptic integral of the third kind <span class="emphasis"><em>&#928;(n,
+ &#966;, k)</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint4.png"></span>
+ </p>
+<p>
+ Requires <span class="emphasis"><em>-1 &lt;= k &lt;= 1</em></span> and <span class="emphasis"><em>n &lt; 1/sin<sup>2</sup>(&#966;)</em></span>,
+ otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ (outside this range the result would be complex).
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the complete elliptic integral of the first kind <span class="emphasis"><em>&#928;(n, k)</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint8.png"></span>
+ </p>
+<p>
+ Requires <span class="emphasis"><em>-1 &lt;= k &lt;= 1</em></span> and <span class="emphasis"><em>n &lt; 1</em></span>,
+ otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ (outside this range the result would be complex).
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_3.h2"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_3.accuracy"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.accuracy">Accuracy</a>
+ </h5>
+<p>
+ These functions are computed using only basic arithmetic operations, so there
+ isn't much variation in accuracy over differing platforms. Note that only
+ results for the widest floating point type on the system are given as narrower
+ types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>. All values are relative errors in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.ellint.ellint_3.errors_rates_in_the_elliptic_int"></a><p class="title"><b>Table&#160;6.28.&#160;Errors Rates in the Elliptic Integrals of the Third Kind</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the Third Kind">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ &#928;(n, &#966;, k)
+ </p>
+ </th>
+<th>
+ <p>
+ &#928;(n, k)
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=29 Mean=2.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=14 Mean=1.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.3 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=10 Mean=1.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.2 Mean=1.1
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.ellint.ellint_3.h3"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_3.testing"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.testing">Testing</a>
+ </h5>
+<p>
+ The tests use a mixture of spot test values calculated using the online calculator
+ at <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
+ and random test data generated using NTL::RR at 1000-bit precision and this
+ implementation.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_3.h4"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_3.implementation"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.implementation">Implementation</a>
+ </h5>
+<p>
+ The implementation for &#928;(n, &#966;, k) first siphons off the special cases:
+ </p>
+<p>
+ <span class="emphasis"><em>&#928;(0, &#966;, k) = F(&#966;, k)</em></span>
+ </p>
+<p>
+ <span class="emphasis"><em>&#928;(n, &#960;/2, k) = &#928;(n, k)</em></span>
+ </p>
+<p>
+ and
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint23.png"></span>
+ </p>
+<p>
+ Then if n &lt; 0 the relations (A&amp;S 17.7.15/16):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint24.png"></span>
+ </p>
+<p>
+ are used to shift <span class="emphasis"><em>n</em></span> to the range [0, 1].
+ </p>
+<p>
+ Then the relations:
+ </p>
+<p>
+ <span class="emphasis"><em>&#928;(n, -&#966;, k) = -&#928;(n, &#966;, k)</em></span>
+ </p>
+<p>
+ <span class="emphasis"><em>&#928;(n, &#966;+m&#960;, k) = &#928;(n, &#966;, k) + 2m&#928;(n, k) ; n &lt;= 1</em></span>
+ </p>
+<p>
+ <span class="emphasis"><em>&#928;(n, &#966;+m&#960;, k) = &#928;(n, &#966;, k) ; n &gt; 1</em></span> <a href="#ftn.math_toolkit.ellint.ellint_3.f0" class="footnote" name="math_toolkit.ellint.ellint_3.f0"><sup class="footnote">[1]</sup></a>
+ </p>
+<p>
+ are used to move &#966; &#160; to the range [0, &#960;/2].
+ </p>
+<p>
+ The functions are then implemented in terms of Carlson's integrals using
+ the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint25.png"></span>
+ </p>
+<p>
+ and
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint26.png"></span>
+ </p>
+<div class="footnotes">
+<br><hr style="width:100; text-align:left;margin-left: 0">
+<div id="ftn.math_toolkit.ellint.ellint_3.f0" class="footnote"><p><a href="#math_toolkit.ellint.ellint_3.f0" class="para"><sup class="para">[1] </sup></a>
+ I haven't been able to find a literature reference for this relation, but
+ it appears to be the convention used by Mathematica. Intuitively the first
+ <span class="emphasis"><em>2 * m * &#928;(n, k)</em></span> terms cancel out as the derivative
+ alternates between +&#8734; and -&#8734;.
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../jacobi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html b/libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html
new file mode 100644
index 0000000000..8b5465148f
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/ellint/ellint_carlson.html
@@ -0,0 +1,431 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Elliptic Integrals - Carlson Form</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../ellint.html" title="Elliptic Integrals">
+<link rel="prev" href="ellint_intro.html" title="Elliptic Integral Overview">
+<link rel="next" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_intro.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.ellint.ellint_carlson"></a><a class="link" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form">Elliptic Integrals
+ - Carlson Form</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.ellint.ellint_carlson.h0"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_carlson.synopsis"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.ellint.ellint_carlson.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rj</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.ellint.ellint_carlson.h1"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_carlson.description"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.ellint.ellint_carlson.description">Description</a>
+ </h5>
+<p>
+ These functions return Carlson's symmetrical elliptic integrals, the functions
+ have complicated behavior over all their possible domains, but the following
+ graph gives an idea of their behavior:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/ellint_carlson.png" align="middle"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when the arguments are of different
+ types: otherwise the return is the same type as the arguments.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+</pre>
+<p>
+ Returns Carlson's Elliptic Integral R<sub>F</sub>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint9.png"></span>
+ </p>
+<p>
+ Requires that all of the arguments are non-negative, and at most one may
+ be zero. Otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+</pre>
+<p>
+ Returns Carlson's elliptic integral R<sub>D</sub>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint10.png"></span>
+ </p>
+<p>
+ Requires that x and y are non-negative, with at most one of them zero, and
+ that z &gt;= 0. Otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+</pre>
+<p>
+ Returns Carlson's elliptic integral R<sub>J</sub>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint11.png"></span>
+ </p>
+<p>
+ Requires that x, y and z are non-negative, with at most one of them zero,
+ and that <span class="emphasis"><em>p != 0</em></span>. Otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ When <span class="emphasis"><em>p &lt; 0</em></span> the function returns the <a href="http://en.wikipedia.org/wiki/Cauchy_principal_value" target="_top">Cauchy
+ principal value</a> using the relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint17.png"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;)</span>
+</pre>
+<p>
+ Returns Carlson's elliptic integral R<sub>C</sub>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint12.png"></span>
+ </p>
+<p>
+ Requires that <span class="emphasis"><em>x &gt; 0</em></span> and that <span class="emphasis"><em>y != 0</em></span>.
+ Otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ When <span class="emphasis"><em>y &lt; 0</em></span> the function returns the <a href="http://mathworld.wolfram.com/CauchyPrincipalValue.html" target="_top">Cauchy
+ principal value</a> using the relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint18.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_carlson.h2"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_carlson.testing"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.ellint.ellint_carlson.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of tests.
+ </p>
+<p>
+ Spot tests compare selected values with test data given in:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ B. C. Carlson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9409227" target="_top">Numerical
+ computation of real or complex elliptic integrals</a></em></span>. Numerical
+ Algorithms, Volume 10, Number 1 / March, 1995, pp 13-26.
+ </p></blockquote></div>
+<p>
+ Random test data generated using NTL::RR at 1000-bit precision and our implementation
+ checks for rounding-errors and/or regressions.
+ </p>
+<p>
+ There are also sanity checks that use the inter-relations between the integrals
+ to verify their correctness: see the above Carlson paper for details.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_carlson.h3"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_carlson.accuracy"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.ellint.ellint_carlson.accuracy">Accuracy</a>
+ </h5>
+<p>
+ These functions are computed using only basic arithmetic operations, so there
+ isn't much variation in accuracy over differing platforms. Note that only
+ results for the widest floating-point type on the system are given as narrower
+ types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>. All values are relative errors in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.ellint.ellint_carlson.errors_rates_in_the_carlson_elli"></a><p class="title"><b>Table&#160;6.25.&#160;Errors Rates in the Carlson Elliptic Integrals</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in the Carlson Elliptic Integrals">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ R<sub>F</sub>
+ </p>
+ </th>
+<th>
+ <p>
+ R<sub>D</sub>
+ </p>
+ </th>
+<th>
+ <p>
+ R<sub>J</sub>
+ </p>
+ </th>
+<th>
+ <p>
+ R<sub>C</sub>
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.9 Mean=0.75
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.6 Mean=0.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=108 Mean=6.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.4 Mean=0.6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux / G++ 3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.5 Mean=0.75
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.7 Mean=0.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=105 Mean=8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.9 Mean=0.7
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HP-UX / HP aCC 6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.3 Mean=1.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.9 Mean=0.99
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=180 Mean=12
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.8 Mean=0.7
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.ellint.ellint_carlson.h4"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_carlson.implementation"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.ellint.ellint_carlson.implementation">Implementation</a>
+ </h5>
+<p>
+ The key of Carlson's algorithm [<a class="link" href="ellint_intro.html#ellint_ref_carlson79">Carlson79</a>]
+ is the duplication theorem:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint13.png"></span>
+ </p>
+<p>
+ By applying it repeatedly, <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>,
+ <span class="emphasis"><em>z</em></span> get closer and closer. When they are nearly equal,
+ the special case equation
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint16.png"></span>
+ </p>
+<p>
+ is used. More specifically, <span class="emphasis"><em>[R F]</em></span> is evaluated from
+ a Taylor series expansion to the fifth order. The calculations of the other
+ three integrals are analogous.
+ </p>
+<p>
+ For <span class="emphasis"><em>p &lt; 0</em></span> in <span class="emphasis"><em>R<sub>J</sub>(x, y, z, p)</em></span>
+ and <span class="emphasis"><em>y &lt; 0</em></span> in <span class="emphasis"><em>R<sub>C</sub>(x, y)</em></span>, the integrals
+ are singular and their <a href="http://mathworld.wolfram.com/CauchyPrincipalValue.html" target="_top">Cauchy
+ principal values</a> are returned via the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint17.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint18.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint_intro.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/ellint/ellint_intro.html b/libs/math/doc/html/math_toolkit/ellint/ellint_intro.html
new file mode 100644
index 0000000000..61ea6f3814
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/ellint/ellint_intro.html
@@ -0,0 +1,406 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Elliptic Integral Overview</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../ellint.html" title="Elliptic Integrals">
+<link rel="prev" href="../ellint.html" title="Elliptic Integrals">
+<link rel="next" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ellint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_carlson.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.ellint.ellint_intro"></a><a class="link" href="ellint_intro.html" title="Elliptic Integral Overview">Elliptic Integral Overview</a>
+</h3></div></div></div>
+<p>
+ The main reference for the elliptic integrals is:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ M. Abramowitz and I. A. Stegun (Eds.) (1964) Handbook of Mathematical Functions
+ with Formulas, Graphs, and Mathematical Tables, National Bureau of Standards
+ Applied Mathematics Series, U.S. Government Printing Office, Washington,
+ D.C.
+ </p></blockquote></div>
+<p>
+ Mathworld also contain a lot of useful background information:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <a href="http://mathworld.wolfram.com/EllipticIntegral.html" target="_top">Weisstein,
+ Eric W. "Elliptic Integral." From MathWorld--A Wolfram Web Resource.</a>
+ </p></blockquote></div>
+<p>
+ As does <a href="http://en.wikipedia.org/wiki/Elliptic_integral" target="_top">Wikipedia
+ Elliptic integral</a>.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_intro.h0"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.notation"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.notation">Notation</a>
+ </h5>
+<p>
+ All variables are real numbers unless otherwise noted.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_intro.h1"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.definition"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.definition">Definition</a>
+ </h5>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint1.png"></span>
+ </p>
+<p>
+ is called elliptic integral if <span class="emphasis"><em>R(t, s)</em></span> is a rational
+ function of <span class="emphasis"><em>t</em></span> and <span class="emphasis"><em>s</em></span>, and <span class="emphasis"><em>s<sup>2</sup></em></span>
+ is a cubic or quartic polynomial in <span class="emphasis"><em>t</em></span>.
+ </p>
+<p>
+ Elliptic integrals generally can not be expressed in terms of elementary
+ functions. However, Legendre showed that all elliptic integrals can be reduced
+ to the following three canonical forms:
+ </p>
+<p>
+ Elliptic Integral of the First Kind (Legendre form)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint2.png"></span>
+ </p>
+<p>
+ Elliptic Integral of the Second Kind (Legendre form)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint3.png"></span>
+ </p>
+<p>
+ Elliptic Integral of the Third Kind (Legendre form)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint4.png"></span>
+ </p>
+<p>
+ where
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint5.png"></span>
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="emphasis"><em>&#966;</em></span> is called the amplitude.
+ </p>
+<p>
+ <span class="emphasis"><em>k</em></span> is called the modulus.
+ </p>
+<p>
+ <span class="emphasis"><em>&#945;</em></span> is called the modular angle.
+ </p>
+<p>
+ <span class="emphasis"><em>n</em></span> is called the characteristic.
+ </p>
+</td></tr>
+</table></div>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Perhaps more than any other special functions the elliptic integrals are
+ expressed in a variety of different ways. In particular, the final parameter
+ <span class="emphasis"><em>k</em></span> (the modulus) may be expressed using a modular angle
+ &#945;, or a parameter <span class="emphasis"><em>m</em></span>. These are related by:
+ </p>
+<p>
+ k = sin&#945;
+ </p>
+<p>
+ m = k<sup>2</sup> = sin<sup>2</sup>&#945;
+ </p>
+<p>
+ So that the integral of the third kind (for example) may be expressed as
+ either:
+ </p>
+<p>
+ &#928;(n, &#966;, k)
+ </p>
+<p>
+ &#928;(n, &#966; \ &#945;)
+ </p>
+<p>
+ &#928;(n, &#966;| m)
+ </p>
+<p>
+ To further complicate matters, some texts refer to the <span class="emphasis"><em>complement
+ of the parameter m</em></span>, or 1 - m, where:
+ </p>
+<p>
+ 1 - m = 1 - k<sup>2</sup> = cos<sup>2</sup>&#945;
+ </p>
+<p>
+ This implementation uses <span class="emphasis"><em>k</em></span> throughout: this matches
+ the requirements of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
+ Report on C++ Library Extensions</a>. However, you should be extra
+ careful when using these functions!
+ </p>
+</td></tr>
+</table></div>
+<p>
+ When <span class="emphasis"><em>&#966;</em></span> = <span class="emphasis"><em>&#960;</em></span> / 2, the elliptic integrals
+ are called <span class="emphasis"><em>complete</em></span>.
+ </p>
+<p>
+ Complete Elliptic Integral of the First Kind (Legendre form)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint6.png"></span>
+ </p>
+<p>
+ Complete Elliptic Integral of the Second Kind (Legendre form)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint7.png"></span>
+ </p>
+<p>
+ Complete Elliptic Integral of the Third Kind (Legendre form)
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint8.png"></span>
+ </p>
+<p>
+ Carlson [<a class="link" href="ellint_intro.html#ellint_ref_carlson77">Carlson77</a>] [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>]
+ gives an alternative definition of elliptic integral's canonical forms:
+ </p>
+<p>
+ Carlson's Elliptic Integral of the First Kind
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint9.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span>
+ are nonnegative and at most one of them may be zero.
+ </p>
+<p>
+ Carlson's Elliptic Integral of the Second Kind
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint10.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span> are nonnegative, at
+ most one of them may be zero, and <span class="emphasis"><em>z</em></span> must be positive.
+ </p>
+<p>
+ Carlson's Elliptic Integral of the Third Kind
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint11.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span>
+ are nonnegative, at most one of them may be zero, and <span class="emphasis"><em>p</em></span>
+ must be nonzero.
+ </p>
+<p>
+ Carlson's Degenerate Elliptic Integral
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint12.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>x</em></span> is nonnegative and <span class="emphasis"><em>y</em></span> is
+ nonzero.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="emphasis"><em>R<sub>C</sub>(x, y) = R<sub>F</sub>(x, y, y)</em></span>
+ </p>
+<p>
+ <span class="emphasis"><em>R<sub>D</sub>(x, y, z) = R<sub>J</sub>(x, y, z, z)</em></span>
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.ellint.ellint_intro.h2"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.duplication_theorem"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.duplication_theorem">Duplication
+ Theorem</a>
+ </h5>
+<p>
+ Carlson proved in [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>]
+ that
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint13.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_intro.h3"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.carlson_s_formulas"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.carlson_s_formulas">Carlson's
+ Formulas</a>
+ </h5>
+<p>
+ The Legendre form and Carlson form of elliptic integrals are related by equations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint14.png"></span>
+ </p>
+<p>
+ In particular,
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ellint15.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_intro.h4"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.numerical_algorithms"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.numerical_algorithms">Numerical
+ Algorithms</a>
+ </h5>
+<p>
+ The conventional methods for computing elliptic integrals are Gauss and Landen
+ transformations, which converge quadratically and work well for elliptic
+ integrals of the first and second kinds. Unfortunately they suffer from loss
+ of significant digits for the third kind. Carlson's algorithm [<a class="link" href="ellint_intro.html#ellint_ref_carlson79">Carlson79</a>]
+ [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>], by contrast, provides
+ a unified method for all three kinds of elliptic integrals with satisfactory
+ precisions.
+ </p>
+<h5>
+<a name="math_toolkit.ellint.ellint_intro.h5"></a>
+ <span class="phrase"><a name="math_toolkit.ellint.ellint_intro.references"></a></span><a class="link" href="ellint_intro.html#math_toolkit.ellint.ellint_intro.references">References</a>
+ </h5>
+<p>
+ Special mention goes to:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ A. M. Legendre, <span class="emphasis"><em>Traitd des Fonctions Elliptiques et des Integrales
+ Euleriennes</em></span>, Vol. 1. Paris (1825).
+ </p></blockquote></div>
+<p>
+ However the main references are:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ <a name="ellint_ref_AS"></a>M. Abramowitz and I. A. Stegun (Eds.) (1964)
+ Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical
+ Tables, National Bureau of Standards Applied Mathematics Series, U.S.
+ Government Printing Office, Washington, D.C.
+ </li>
+<li class="listitem">
+ <a name="ellint_ref_carlson79"></a>B.C. Carlson, <span class="emphasis"><em>Computing
+ elliptic integrals by duplication</em></span>, Numerische Mathematik,
+ vol 33, 1 (1979).
+ </li>
+<li class="listitem">
+ <a name="ellint_ref_carlson77"></a>B.C. Carlson, <span class="emphasis"><em>Elliptic Integrals
+ of the First Kind</em></span>, SIAM Journal on Mathematical Analysis,
+ vol 8, 231 (1977).
+ </li>
+<li class="listitem">
+ <a name="ellint_ref_carlson78"></a>B.C. Carlson, <span class="emphasis"><em>Short Proofs
+ of Three Theorems on Elliptic Integrals</em></span>, SIAM Journal on Mathematical
+ Analysis, vol 9, 524 (1978).
+ </li>
+<li class="listitem">
+ <a name="ellint_ref_carlson81"></a>B.C. Carlson and E.M. Notis, <span class="emphasis"><em>ALGORITHM
+ 577: Algorithms for Incomplete Elliptic Integrals</em></span>, ACM Transactions
+ on Mathematmal Software, vol 7, 398 (1981).
+ </li>
+<li class="listitem">
+ B. C. Carlson, <span class="emphasis"><em>On computing elliptic integrals and functions</em></span>.
+ J. Math. and Phys., 44 (1965), pp. 36-51.
+ </li>
+<li class="listitem">
+ B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals of the second
+ kind</em></span>. Math. Comp., 49 (1987), pp. 595-606. (Supplement, ibid.,
+ pp. S13-S17.)
+ </li>
+<li class="listitem">
+ B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals of the third kind</em></span>.
+ Math. Comp., 51 (1988), pp. 267-280. (Supplement, ibid., pp. S1-S5.)
+ </li>
+<li class="listitem">
+ B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: cubic cases</em></span>.
+ Math. Comp., 53 (1989), pp. 327-333.
+ </li>
+<li class="listitem">
+ B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: one quadratic
+ factor</em></span>. Math. Comp., 56 (1991), pp. 267-280.
+ </li>
+<li class="listitem">
+ B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: two quadratic
+ factors</em></span>. Math. Comp., 59 (1992), pp. 165-180.
+ </li>
+<li class="listitem">
+ B. C. Carlson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9409227" target="_top">Numerical
+ computation of real or complex elliptic integrals</a></em></span>.
+ Numerical Algorithms, Volume 10, Number 1 / March, 1995, p13-26.
+ </li>
+<li class="listitem">
+ B. C. Carlson and John L. Gustafson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9310223" target="_top">Asymptotic
+ Approximations for Symmetric Elliptic Integrals</a></em></span>, SIAM
+ Journal on Mathematical Analysis, Volume 25, Issue 2 (March 1994), 288-303.
+ </li>
+</ol></div>
+<p>
+ The following references, while not directly relevent to our implementation,
+ may also be of interest:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ R. Burlisch, <span class="emphasis"><em>Numerical Compuation of Elliptic Integrals and
+ Elliptic Functions.</em></span> Numerical Mathematik 7, 78-90.
+ </li>
+<li class="listitem">
+ R. Burlisch, <span class="emphasis"><em>An extension of the Bartky Transformation to Incomplete
+ Elliptic Integrals of the Third Kind</em></span>. Numerical Mathematik
+ 13, 266-284.
+ </li>
+<li class="listitem">
+ R. Burlisch, <span class="emphasis"><em>Numerical Compuation of Elliptic Integrals and
+ Elliptic Functions. III</em></span>. Numerical Mathematik 13, 305-315.
+ </li>
+<li class="listitem">
+ T. Fukushima and H. Ishizaki, <span class="emphasis"><em><a href="http://adsabs.harvard.edu/abs/1994CeMDA..59..237F" target="_top">Numerical
+ Computation of Incomplete Elliptic Integrals of a General Form.</a></em></span>
+ Celestial Mechanics and Dynamical Astronomy, Volume 59, Number 3 / July,
+ 1994, 237-251.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../ellint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_carlson.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/error_handling.html b/libs/math/doc/html/math_toolkit/error_handling.html
new file mode 100644
index 0000000000..eefe39045a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/error_handling.html
@@ -0,0 +1,1128 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Error Handling</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="result_type.html" title="Calculation of the Type of the Result">
+<link rel="next" href="compilers_overview.html" title="Compilers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="result_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compilers_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.error_handling"></a><a class="link" href="error_handling.html" title="Error Handling">Error Handling</a>
+</h2></div></div></div>
+<h4>
+<a name="math_toolkit.error_handling.h0"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.quick_reference"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.quick_reference">Quick
+ Reference</a>
+ </h4>
+<p>
+ Handling of errors by this library is split into two orthogonal parts:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ What kind of error has been raised?
+ </li>
+<li class="listitem">
+ What should be done when the error is raised?
+ </li>
+</ul></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The default error actions are to throw an exception with an informative error
+ message. If you do not try to catch the exception, you will not see the message!
+ </p></td></tr>
+</table></div>
+<p>
+ The kinds of errors that can be raised are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">Domain Error</span></dt>
+<dd><p>
+ Occurs when one or more arguments to a function are out of range.
+ </p></dd>
+<dt><span class="term">Pole Error</span></dt>
+<dd><p>
+ Occurs when the particular arguments cause the function to be evaluated
+ at a pole with no well defined residual value. For example if <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>
+ is evaluated at exactly -2, the function approaches different limiting
+ values depending upon whether you approach from just above or just below
+ -2. Hence the function has no well defined value at this point and a
+ Pole Error will be raised.
+ </p></dd>
+<dt><span class="term">Overflow Error</span></dt>
+<dd><p>
+ Occurs when the result is either infinite, or too large to represent
+ in the numeric type being returned by the function.
+ </p></dd>
+<dt><span class="term">Underflow Error</span></dt>
+<dd><p>
+ Occurs when the result is not zero, but is too small to be represented
+ by any other value in the type being returned by the function.
+ </p></dd>
+<dt><span class="term">Denormalisation Error</span></dt>
+<dd><p>
+ Occurs when the returned result would be a denormalised value.
+ </p></dd>
+<dt><span class="term">Rounding Error</span></dt>
+<dd><p>
+ Occurs when the argument to one of the rounding functions <a class="link" href="rounding/trunc.html" title="Truncation Functions">trunc</a>,
+ <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> and <a class="link" href="rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">modf</a>
+ can not be represented as an integer type, is outside the range of the
+ result type.
+ </p></dd>
+<dt><span class="term">Evaluation Error</span></dt>
+<dd><p>
+ Occurs if no method of evaluation is known, or when an internal error
+ occurred that prevented the result from being evaluated: this should
+ never occur, but if it does, then it's likely to be due to an iterative
+ method not converging fast enough.
+ </p></dd>
+<dt><span class="term">Indeterminate Result Error</span></dt>
+<dd><p>
+ Occurs when the result of a function is not defined for the values that
+ were passed to it.
+ </p></dd>
+</dl>
+</div>
+<p>
+ The action undertaken by each error condition is determined by the current
+ <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> in effect. This can be changed program-wide
+ by setting some configuration macros, or at namespace scope, or at the call
+ site (by specifying a specific policy in the function call).
+ </p>
+<p>
+ The available actions are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">throw_on_error</span></dt>
+<dd><p>
+ Throws the exception most appropriate to the error condition.
+ </p></dd>
+<dt><span class="term">errno_on_error</span></dt>
+<dd><p>
+ Sets ::errno to an appropriate value, and then returns the most appropriate
+ result
+ </p></dd>
+<dt><span class="term">ignore_error</span></dt>
+<dd><p>
+ Ignores the error and simply the returns the most appropriate result.
+ </p></dd>
+<dt><span class="term">user_error</span></dt>
+<dd><p>
+ Calls a <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user-supplied
+ error handler</a>.
+ </p></dd>
+</dl>
+</div>
+<p>
+ The following tables show all the permutations of errors and actions, with
+ the <span class="bold"><strong>default action for each error shown in bold</strong></span>:
+ </p>
+<div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_domain_erro"></a><p class="title"><b>Table&#160;1.1.&#160;Possible Actions for Domain Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Domain Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code></strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_domain_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_pole_errors"></a><p class="title"><b>Table&#160;1.2.&#160;Possible Actions for Pole Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Pole Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code></strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_pole_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_overflow_er"></a><p class="title"><b>Table&#160;1.3.&#160;Possible Actions for Overflow Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Overflow Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code></strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_overflow_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_underflow_e"></a><p class="title"><b>Table&#160;1.4.&#160;Possible Actions for Underflow Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Underflow Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
+ 0.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Returns 0</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_underflow_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_denorm_erro"></a><p class="title"><b>Table&#160;1.5.&#160;Possible Actions for Denorm Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Denorm Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
+ the denormalised value.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Returns the denormalised value.</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_denorm_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_rounding_er"></a><p class="title"><b>Table&#160;1.6.&#160;Possible Actions for Rounding Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Rounding Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Throws <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
+ the largest representable value of the target integer type (or the
+ most negative value if the argument to the function was less than
+ zero).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Returns the largest representable value of
+ the target integer type (or the most negative value if the argument
+ to the function was less than zero).</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_rounding_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_internal_ev"></a><p class="title"><b>Table&#160;1.7.&#160;Possible Actions for Internal Evaluation Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Internal Evaluation Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code></strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
+ the closest approximation found.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the closest approximation found.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_evaluation_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.error_handling.possible_actions_for_indetermina"></a><p class="title"><b>Table&#160;1.8.&#160;Possible Actions for Indeterminate Result Errors</b></p>
+<div class="table-contents"><table class="table" summary="Possible Actions for Indeterminate Result Errors">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Action
+ </p>
+ </th>
+<th>
+ <p>
+ Behaviour
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ throw_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ errno_on_error
+ </p>
+ </td>
+<td>
+ <p>
+ Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
+ the same value as <code class="computeroutput"><span class="identifier">ignore_error</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ ignore_error
+ </p>
+ </td>
+<td>
+ <p>
+ <span class="bold"><strong>Returns a default result that depends on the
+ function where the error occurred.</strong></span>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ user_error
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_indeterminate_result_error</span></code>:
+ <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this function
+ must be defined by the user</a>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ All these error conditions are in namespace boost::math::policies, made available,
+ for example, a by namespace declaration using <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span></code> or individual using declarations <code class="computeroutput"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span></code>.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h1"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.rationale"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.rationale">Rationale</a>
+ </h4>
+<p>
+ The flexibility of the current implementation should be reasonably obvious:
+ the default behaviours were chosen based on feedback during the formal review
+ of this library. It was felt that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Genuine errors should be flagged with exceptions rather than following
+ C-compatible behaviour and setting <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>.
+ </li>
+<li class="listitem">
+ Numeric underflow and denormalised results were not considered to be fatal
+ errors in most cases, so it was felt that these should be ignored.
+ </li>
+<li class="listitem">
+ If there is more than one error, only the first detected will be reported
+ in the throw message.
+ </li>
+</ul></div>
+<h4>
+<a name="math_toolkit.error_handling.h2"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.finding_more_information"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.finding_more_information">Finding
+ More Information</a>
+ </h4>
+<p>
+ There are some pre-processor macro defines that can be used to <a class="link" href="pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">change
+ the policy defaults</a>. See also the <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy section</a>.
+ </p>
+<p>
+ An example is at the Policy tutorial in <a class="link" href="pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults">Changing
+ the Policy Defaults</a>.
+ </p>
+<p>
+ Full source code of this typical example of passing a 'bad' argument (negative
+ degrees of freedom) to Student's t distribution is <a class="link" href="stat_tut/weg/error_eg.html" title="Error Handling Example">in
+ the error handling example</a>.
+ </p>
+<p>
+ The various kind of errors are described in more detail below.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h3"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.domain_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.domain_error">Domain
+ Errors</a>
+ </h4>
+<p>
+ When a special function is passed an argument that is outside the range of
+ values for which that function is defined, then the function returns the result
+ of:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_domain_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating-point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, Val is the value that was out of
+ range, and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> is the current policy in use
+ for the function that was called.
+ </p>
+<p>
+ The default policy behaviour of this function is to throw a std::domain_error
+ C++ exception. But if the <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> is to ignore
+ the error, or set global <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>,
+ then a NaN will be returned.
+ </p>
+<p>
+ This behaviour is chosen to assist compatibility with the behaviour of <span class="emphasis"><em>ISO/IEC
+ 9899:1999 Programming languages - C</em></span> and with the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Draft
+ Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph
+ 6</a>:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>"Each of the functions declared above shall return a NaN (Not
+ a Number) if any argument value is a NaN, but it shall not report a domain
+ error. Otherwise, each of the functions declared above shall report a domain
+ error for just those argument values for which:</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ <span class="emphasis"><em>"the function description's Returns clause explicitly specifies
+ a domain, and those arguments fall outside the specified domain; or</em></span>
+ </p>
+<p>
+ <span class="emphasis"><em>"the corresponding mathematical function value has a non-zero
+ imaginary component; or</em></span>
+ </p>
+<p>
+ <span class="emphasis"><em>"the corresponding mathematical function is not mathematically
+ defined.</em></span>
+ </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>"Note 2: A mathematical function is mathematically defined
+ for a given set of argument values if it is explicitly defined for that set
+ of argument values or if its limiting value exists and does not depend on
+ the direction of approach."</em></span>
+ </p></blockquote></div>
+<p>
+ Note that in order to support information-rich error messages when throwing
+ exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must contain
+ a <a href="../../../../format/index.html" target="_top">Boost.Format</a> recognised format
+ specifier: the argument <code class="computeroutput"><span class="identifier">Val</span></code>
+ is inserted into the error message according to the specifier used.
+ </p>
+<p>
+ For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
+ a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">Val</span></code>
+ to the full precision of T, where as "%.3g" would contain the value
+ of <code class="computeroutput"><span class="identifier">Val</span></code> to 3 digits. See the
+ <a href="../../../../format/index.html" target="_top">Boost.Format</a> documentation
+ for more details.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h4"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.pole_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.pole_error">Evaluation
+ at a pole</a>
+ </h4>
+<p>
+ When a special function is passed an argument that is at a pole without a well
+ defined residual value, then the function returns the result of:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_pole_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, <code class="computeroutput"><span class="identifier">Val</span></code>
+ is the value of the argument that is at a pole, and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>
+ is the current policy in use for the function that was called.
+ </p>
+<p>
+ The default behaviour of this function is to throw a std::domain_error exception.
+ But <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">error handling
+ policies</a> can be used to change this, for example to <code class="computeroutput"><span class="identifier">ignore_error</span></code>
+ and return NaN.
+ </p>
+<p>
+ Note that in order to support information-rich error messages when throwing
+ exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must contain
+ a <a href="../../../../format/index.html" target="_top">Boost.Format</a> recognised format
+ specifier: the argument <code class="computeroutput"><span class="identifier">val</span></code>
+ is inserted into the error message according to the specifier used.
+ </p>
+<p>
+ For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
+ a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">val</span></code>
+ to the full precision of T, where as "%.3g" would contain the value
+ of <code class="computeroutput"><span class="identifier">val</span></code> to 3 digits. See the
+ <a href="../../../../format/index.html" target="_top">Boost.Format</a> documentation
+ for more details.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h5"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.overflow_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">Numeric
+ Overflow</a>
+ </h4>
+<p>
+ When the result of a special function is too large to fit in the argument floating-point
+ type, then the function returns the result of:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_overflow_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating-point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>
+ is the current policy in use for the function that was called.
+ </p>
+<p>
+ The default policy for this function is that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code>
+ C++ exception is thrown. But if, for example, an <code class="computeroutput"><span class="identifier">ignore_error</span></code>
+ policy is used, then returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
+ In this situation if the type <code class="computeroutput"><span class="identifier">T</span></code>
+ doesn't support infinities, the maximum value for the type is returned.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h6"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.underflow_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.underflow_error">Numeric
+ Underflow</a>
+ </h4>
+<p>
+ If the result of a special function is known to be non-zero, but the calculated
+ result underflows to zero, then the function returns the result of:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_underflow_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>
+ is the current policy in use for the called function.
+ </p>
+<p>
+ The default version of this function returns zero. But with another policy,
+ like <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, throws
+ an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code> C++ exception.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h7"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.denorm_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.denorm_error">Denormalisation
+ Errors</a>
+ </h4>
+<p>
+ If the result of a special function is a denormalised value <span class="emphasis"><em>z</em></span>
+ then the function returns the result of:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_denorm_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>
+ is the current policy in use for the called function.
+ </p>
+<p>
+ The default version of this function returns <span class="emphasis"><em>z</em></span>. But with
+ another policy, like <code class="computeroutput"><span class="identifier">throw_on_error</span></code>
+ throws an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code> C++ exception.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h8"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.evaluation_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.evaluation_error">Evaluation
+ Errors</a>
+ </h4>
+<p>
+ When a special function calculates a result that is known to be erroneous,
+ or where the result is incalculable then it calls:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_evaluation_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, <code class="computeroutput"><span class="identifier">Val</span></code>
+ is the erroneous value, and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> is the current
+ policy in use for the called function.
+ </p>
+<p>
+ The default behaviour of this function is to throw a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code>.
+ </p>
+<p>
+ Note that in order to support information rich error messages when throwing
+ exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must contain
+ a <a href="../../../../format/index.html" target="_top">Boost.Format</a> recognised format
+ specifier: the argument <code class="computeroutput"><span class="identifier">val</span></code>
+ is inserted into the error message according to the specifier used.
+ </p>
+<p>
+ For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
+ a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">val</span></code>
+ to the full precision of T, where as "%.3g" would contain the value
+ of <code class="computeroutput"><span class="identifier">val</span></code> to 3 digits. See the
+ <a href="../../../../format/index.html" target="_top">Boost.Format</a> documentation
+ for more details.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h9"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.indeterminate_result_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.indeterminate_result_error">Indeterminate
+ Result Errors</a>
+ </h4>
+<p>
+ When the result of a special function is indeterminate for the value that was
+ passed to it, then the function returns the result of:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_overflow_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <span class="identifier">Default</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating-point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, Val is the value for which the
+ result is indeterminate, Default is an alternative default result that must
+ be returned for <code class="computeroutput"><span class="identifier">ignore_error</span></code>
+ and <code class="computeroutput"><span class="identifier">errno_on_erro</span></code> policies,
+ and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> is the current policy in use for the
+ function that was called.
+ </p>
+<p>
+ The default policy for this function is <code class="computeroutput"><span class="identifier">ignore_error</span></code>:
+ note that this error type is reserved for situations where the result is mathematically
+ undefined or indeterminate, but there is none the less a convention for what
+ the result should be: for example the C99 standard specifies that the result
+ of 0<sup>0</sup> is 1, even though the result is actually mathematically indeterminate.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h10"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.rounding_error"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.rounding_error">Rounding
+ Errors</a>
+ </h4>
+<p>
+ When one of the rounding functions <a class="link" href="rounding/round.html" title="Rounding Functions">round</a>,
+ <a class="link" href="rounding/trunc.html" title="Truncation Functions">trunc</a> or <a class="link" href="rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">modf</a>
+ is called with an argument that has no integer representation, or is too large
+ to be represented in the result type then the value returned is the result
+ of a call to:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_rounding_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">);</span>
+</pre>
+<p>
+ Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
+ type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
+ is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
+ is an error message describing the problem, <code class="computeroutput"><span class="identifier">Val</span></code>
+ is the erroneous argument, and <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> is the
+ current policy in use for the called function.
+ </p>
+<p>
+ The default behaviour of this function is to throw a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code>.
+ </p>
+<p>
+ Note that in order to support information rich error messages when throwing
+ exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must contain
+ a <a href="../../../../format/index.html" target="_top">Boost.Format</a> recognised format
+ specifier: the argument <code class="computeroutput"><span class="identifier">val</span></code>
+ is inserted into the error message according to the specifier used.
+ </p>
+<p>
+ For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
+ a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">val</span></code>
+ to the full precision of T, where as "%.3g" would contain the value
+ of <code class="computeroutput"><span class="identifier">val</span></code> to 3 digits. See the
+ <a href="../../../../format/index.html" target="_top">Boost.Format</a> documentation
+ for more details.
+ </p>
+<h4>
+<a name="math_toolkit.error_handling.h11"></a>
+ <span class="phrase"><a name="math_toolkit.error_handling.checked_narrowing_cast"></a></span><a class="link" href="error_handling.html#math_toolkit.error_handling.checked_narrowing_cast">Errors
+ from typecasts</a>
+ </h4>
+<p>
+ Many special functions evaluate their results at a higher precision than their
+ arguments in order to ensure full machine precision in the result: for example,
+ a function passed a float argument may evaluate its result using double precision
+ internally. Many of the errors listed above may therefore occur not during
+ evaluation, but when converting the result to the narrower result type. The
+ function:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">checked_narrowing_cast</span><span class="special">(</span><span class="identifier">U</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">);</span>
+</pre>
+<p>
+ Is used to perform these conversions, and will call the error handlers listed
+ above on <a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">overflow</a>,
+ <a class="link" href="error_handling.html#math_toolkit.error_handling.underflow_error">underflow</a>
+ or <a class="link" href="error_handling.html#math_toolkit.error_handling.denorm_error">denormalisation</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="result_type.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compilers_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/exact_typdefs.html b/libs/math/doc/html/math_toolkit/exact_typdefs.html
new file mode 100644
index 0000000000..f5a4571600
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/exact_typdefs.html
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Exact-Width Floating-Point typedefs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="minimum_typdefs.html" title="Minimum-width floating-point typedefs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minimum_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.exact_typdefs"></a><a class="link" href="exact_typdefs.html" title="Exact-Width Floating-Point typedefs">Exact-Width Floating-Point
+ <code class="computeroutput"><span class="keyword">typedef</span></code>s</a>
+</h2></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="keyword">typedef</span> <span class="keyword">float</span><span class="special">#</span><span class="identifier">_t</span></code>, with
+ # replaced by the width, designates a floating-point type of exactly # bits.
+ For example <code class="computeroutput"><span class="identifier">float32_t</span></code> denotes
+ a single-precision floating-point type with approximately 7 decimal digits
+ of precision (equivalent to binary32 in <a href="http://en.wikipedia.org/wiki/IEEE_floating_point" target="_top">IEEE_floating_point</a>).
+ </p>
+<p>
+ Floating-point types in C and C++ are specified to be allowed to have (optionally)
+ implementation-specific widths and formats. However, if a platform supports
+ underlying floating-point types (conformant with <a href="http://en.wikipedia.org/wiki/IEEE_floating_point" target="_top">IEEE_floating_point</a>)
+ with widths of 16, 32, 64, 80, 128 bits, or any combination thereof, then
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ does provide the corresponding <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ <code class="computeroutput"><span class="identifier">float16_t</span><span class="special">,</span>
+ <span class="identifier">float32_t</span><span class="special">,</span>
+ <span class="identifier">float64_t</span><span class="special">,</span>
+ <span class="identifier">float80_t</span><span class="special">,</span>
+ <span class="identifier">float128_t</span><span class="special">,</span></code>
+ their corresponding least and fast types, and the corresponding maximum-width
+ type.
+ </p>
+<h5>
+<a name="math_toolkit.exact_typdefs.h0"></a>
+ <span class="phrase"><a name="math_toolkit.exact_typdefs.how_to_tell_which_widths_are_sup"></a></span><a class="link" href="exact_typdefs.html#math_toolkit.exact_typdefs.how_to_tell_which_widths_are_sup">How to
+ tell which widths are supported</a>
+ </h5>
+<p>
+ The definition (or not) of a <a class="link" href="macros.html" title="Floating-Point Constant Macros">floating-point
+ constant macro</a> is the way to test if a specific width is available on
+ a platform.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FLOAT16_C</span><span class="special">)</span>
+<span class="comment">// Can use boost::float16_t.</span>
+<span class="preprocessor">#endif</span>
+
+<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FLOAT32_C</span><span class="special">)</span>
+<span class="comment">// Can use boost::float32_t.</span>
+<span class="preprocessor">#endif</span>
+
+<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FLOAT64_C</span><span class="special">)</span>
+<span class="comment">// Can use boost::float64_t.</span>
+<span class="preprocessor">#endif</span>
+
+<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FLOAT80_C</span><span class="special">)</span>
+<span class="comment">// Can use boost::float80_t.</span>
+<span class="preprocessor">#endif</span>
+
+<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_FLOAT128_C</span><span class="special">)</span>
+<span class="comment">// Can use boost::float128_t.</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ This can be used to write code which will compile and run (albeit differently)
+ on several platforms. Without these tests, if a width, say <code class="computeroutput"><span class="identifier">float128_t</span></code>
+ is not supported, then compilation would fail. (It is of course, rare for
+ <code class="computeroutput"><span class="identifier">float64_t</span></code> or <code class="computeroutput"><span class="identifier">float32_t</span></code> not to be supported).
+ </p>
+<p>
+ The number of bits in just the significand can be determined using:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits</span>
+</pre>
+<p>
+ and from this one can safely infer the total number of bits because the type
+ must be IEEE754 format, so, for example, if <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">==</span> <span class="number">113</span></code>, then
+ <code class="computeroutput"><span class="identifier">floatmax_t</span></code> must be<code class="computeroutput"> <span class="identifier">float128_t</span></code>.
+ </p>
+<p>
+ The <span class="bold"><strong>total</strong></span> number of bits using <code class="computeroutput"><span class="identifier">floatmax_t</span></code> can be found thus:
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">fpbits</span> <span class="special">=</span>
+ <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">==</span> <span class="number">113</span><span class="special">)</span> <span class="special">?</span> <span class="number">128</span> <span class="special">:</span>
+ <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">==</span> <span class="number">64</span><span class="special">)</span> <span class="special">?</span> <span class="number">80</span> <span class="special">:</span>
+ <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">==</span> <span class="number">53</span><span class="special">)</span> <span class="special">?</span> <span class="number">64</span> <span class="special">:</span>
+ <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">==</span> <span class="number">24</span><span class="special">)</span> <span class="special">?</span> <span class="number">32</span> <span class="special">:</span>
+ <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">==</span> <span class="number">11</span><span class="special">)</span> <span class="special">?</span> <span class="number">16</span> <span class="special">:</span>
+ <span class="number">0</span><span class="special">;</span> <span class="comment">// Unknown - not IEEE754 format.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fpbits</span> <span class="special">&lt;&lt;</span> <span class="string">" bits."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ and the number of 'guaranteed' decimal digits using
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits10</span>
+</pre>
+<p>
+ and the maximum number of possibly significant decimal digits using
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <code class="computeroutput"><span class="identifier">max_digits10</span></code> is not always
+ supported, but can be calculated at compile-time using the Kahan formula.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ One could test
+ </p>
+<p>
+ std::is_same&lt;boost::floatmax_t, boost::float128_t&gt;::value == true
+ </p>
+<p>
+ but this would fail to compile on a platform where <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float128_t</span></code>
+ is not defined. So use the MACROs BOOST_FLOATnnn_C.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minimum_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/examples.html b/libs/math/doc/html/math_toolkit/examples.html
new file mode 100644
index 0000000000..620c1c027c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/examples.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Examples</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="macros.html" title="Floating-Point Constant Macros">
+<link rel="next" href="float128.html" title="Implementation of Float128 type">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="macros.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float128.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
+</h2></div></div></div>
+<h4>
+<a name="math_toolkit.examples.h0"></a>
+ <span class="phrase"><a name="math_toolkit.examples.je_lambda"></a></span><a class="link" href="examples.html#math_toolkit.examples.je_lambda">Jahnke-Emden-Lambda
+ function</a>
+ </h4>
+<p>
+ The following code uses <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ in combination with <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> to
+ compute a simplified version of the <a href="http://mathworld.wolfram.com/LambdaFunction.html" target="_top">Jahnke-Emden-Lambda
+ function</a>. Here, we specify a floating-point type with <span class="bold"><strong>exactly
+ 64 bits</strong></span> (i.e., <code class="computeroutput"><span class="identifier">float64_t</span></code>).
+ If we were to use, for instance, built-in <code class="computeroutput"><span class="keyword">double</span></code>,
+ then there would be no guarantee that the code would behave identically on
+ all platforms. With <code class="computeroutput"><span class="identifier">float64_t</span></code>
+ from <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>,
+ however, it is very likely to be identical.
+ </p>
+<p>
+ Using <code class="computeroutput"><span class="identifier">float64_t</span></code>, we know that
+ this code is as portable as possible and uses a floating-point type with approximately
+ 15 decimal digits of precision, regardless of the compiler or version or operating
+ system.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// For float_64_t. Must be first include!</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cmath</span><span class="special">&gt;</span> <span class="comment">// for pow function. </span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// For gamma function.</span>
+</pre>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">jahnke_emden_lambda</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">x</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">gamma_v_plus_one</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">v</span> <span class="special">+</span> <span class="number">1</span><span class="special">);</span>
+ <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">x_half_pow_v</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pow</span><span class="special">(</span><span class="identifier">x</span> <span class="special">/</span><span class="number">2</span><span class="special">,</span> <span class="identifier">v</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="identifier">gamma_v_plus_one</span> <span class="special">*</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">x_half_pow_v</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Ensure that all possibly significant digits (17) including trailing zeros are
+ shown.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">setf</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">showpoint</span><span class="special">);</span> <span class="comment">// Show trailing zeros.</span>
+
+<span class="keyword">try</span>
+<span class="special">{</span> <span class="comment">// Always use try'n'catch blocks to ensure any error messages are displayed.</span>
+
+<span class="comment">// Evaluate and display an evaluation of the Jahnke-Emden lambda function:</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">v</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">jahnke_emden_lambda</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.88010117148986700</span>
+</pre>
+<p>
+ For details, see <a href="../../../../example/cstdfloat_example.cpp" target="_top">cstdfloat_example.cpp</a>
+ - a extensive example program.
+ </p>
+<h4>
+<a name="math_toolkit.examples.h1"></a>
+ <span class="phrase"><a name="math_toolkit.examples.normal_table"></a></span><a class="link" href="examples.html#math_toolkit.examples.normal_table">Normal
+ distribution table</a>
+ </h4>
+<p>
+ This example shows printing tables of a normal distribution's PDF and CDF,
+ using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code> implmentation of normal.
+ </p>
+<p>
+ A function templated on floating-point type prints a table for a range of z
+ values.
+ </p>
+<p>
+ The example shows use of the specified-width typedefs to either use a specific
+ width, or to use the maximum available on the platform, perhaps a high as 128-bit.
+ </p>
+<p>
+ The number of digits displayed is controlled by the precision of the type,
+ so there are no spurious insignificant decimal digits:
+ </p>
+<pre class="programlisting"><span class="identifier">float_32_t</span> <span class="number">0</span> <span class="number">0.39894228</span>
+<span class="identifier">float_128_t</span> <span class="number">0</span> <span class="number">0.398942280401432702863218082711682655</span>
+</pre>
+<p>
+ Some sample output for two different platforms is appended to the code at
+ <a href="../../../../example/normal_tables.cpp" target="_top">normal_tables.cpp</a>.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_FLOAT32_C</span>
+ <span class="identifier">normal_table</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float32_t</span><span class="special">&gt;();</span>
+<span class="preprocessor">#endif</span>
+ <span class="identifier">normal_table</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span><span class="special">&gt;();</span> <span class="comment">// Assume that float64_t is always available.</span>
+<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_FLOAT80_C</span>
+ <span class="identifier">normal_table</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float80_t</span><span class="special">&gt;();</span>
+<span class="preprocessor">#endif</span>
+<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_FLOAT128_C</span>
+ <span class="identifier">normal_table</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float128_t</span><span class="special">&gt;();</span>
+<span class="preprocessor">#endif</span>
+ <span class="identifier">normal_table</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;();</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="macros.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float128.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/exp.html b/libs/math/doc/html/math_toolkit/exp.html
new file mode 100644
index 0000000000..225b669a4b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/exp.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Quaternionic Exponential</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat_tests.html" title="Test Program">
+<link rel="next" href="acknowledgement.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_tests.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgement.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.exp"></a><a class="link" href="exp.html" title="The Quaternionic Exponential">The Quaternionic Exponential</a>
+</h2></div></div></div>
+<p>
+ Please refer to the following PDF's:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="../../../quaternion/TQE.pdf" target="_top">The Quaternionic Exponential (and
+ beyond)</a>
+ </li>
+<li class="listitem">
+ <a href="../../../quaternion/TQE_EA.pdf" target="_top">The Quaternionic Exponential (and
+ beyond) ERRATA &amp; ADDENDA</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_tests.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgement.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/expint.html b/libs/math/doc/html/math_toolkit/expint.html
new file mode 100644
index 0000000000..1e089f6a15
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/expint.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Exponential Integrals</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="zetas/zeta.html" title="Riemann Zeta Function">
+<link rel="next" href="expint/expint_n.html" title="Exponential Integral En">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="zetas/zeta.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint/expint_n.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.expint"></a><a class="link" href="expint.html" title="Exponential Integrals">Exponential Integrals</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="expint/expint_n.html">Exponential Integral En</a></span></dt>
+<dt><span class="section"><a href="expint/expint_i.html">Exponential Integral Ei</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="zetas/zeta.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint/expint_n.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/expint/expint_i.html b/libs/math/doc/html/math_toolkit/expint/expint_i.html
new file mode 100644
index 0000000000..deaeb79753
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/expint/expint_i.html
@@ -0,0 +1,296 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Exponential Integral Ei</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../expint.html" title="Exponential Integrals">
+<link rel="prev" href="expint_n.html" title="Exponential Integral En">
+<link rel="next" href="../powers.html" title="Basic Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expint_n.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../powers.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.expint.expint_i"></a><a class="link" href="expint_i.html" title="Exponential Integral Ei">Exponential Integral Ei</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.expint.expint_i.h0"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_i.synopsis"></a></span><a class="link" href="expint_i.html#math_toolkit.expint.expint_i.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.expint.expint_i.h1"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_i.description"></a></span><a class="link" href="expint_i.html#math_toolkit.expint.expint_i.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://mathworld.wolfram.com/ExponentialIntegral.html" target="_top">exponential
+ integral</a> of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_i_1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/expint_i.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.expint.expint_i.h2"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_i.accuracy"></a></span><a class="link" href="expint_i.html#math_toolkit.expint.expint_i.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to Cody's SPECFUN implementation and the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
+ library. Unless otherwise specified any floating point type that is narrower
+ than the one shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.expint.expint_i.errors_in_the_function_expint_z"></a><p class="title"><b>Table&#160;6.32.&#160;Errors In the Function expint(z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function expint(z)">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Error
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.4 Mean=0.6
+ </p>
+ <p>
+ GSL Peak=8.9 Mean=0.7
+ </p>
+ <p>
+ SPECFUN (Cody) Peak=2.5 Mean=0.6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA_EM64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.1 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.0 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.9 Mean=0.63
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ It should be noted that all three libraries tested above offer sub-epsilon
+ precision over most of their range.
+ </p>
+<p>
+ GSL has the greatest difficulty near the positive root of En, while Cody's
+ SPECFUN along with this implementation increase their error rates very slightly
+ over the range [4,6].
+ </p>
+<h5>
+<a name="math_toolkit.expint.expint_i.h3"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_i.testing"></a></span><a class="link" href="expint_i.html#math_toolkit.expint.expint_i.testing">Testing</a>
+ </h5>
+<p>
+ The tests for these functions come in two parts: basic sanity checks use
+ spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralEi" target="_top">Mathworld's
+ online evaluator</a>, while accuracy checks use high-precision test values
+ calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
+ and this implementation. Note that the generic and type-specific versions
+ of these functions use differing implementations internally, so this gives
+ us reasonably independent test data. Using our test data to test other "known
+ good" implementations also provides an additional sanity check.
+ </p>
+<h5>
+<a name="math_toolkit.expint.expint_i.h4"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_i.implementation"></a></span><a class="link" href="expint_i.html#math_toolkit.expint.expint_i.implementation">Implementation</a>
+ </h5>
+<p>
+ For x &lt; 0 this function just calls <a class="link" href="expint_n.html" title="Exponential Integral En">zeta</a>(1,
+ -x): which in turn is implemented in terms of rational approximations when
+ the type of x has 113 or fewer bits of precision.
+ </p>
+<p>
+ For x &gt; 0 the generic version is implemented using the infinte series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_i_2.png"></span>
+ </p>
+<p>
+ However, when the precision of the argument type is known at compile time
+ and is 113 bits or less, then rational approximations <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> are used.
+ </p>
+<p>
+ For 0 &lt; z &lt; 6 a root-preserving approximation of the form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_i_3.png"></span>
+ </p>
+<p>
+ is used, where z<sub>0</sub> is the positive root of the function, and R(z/3 - 1) is
+ a minimax rational approximation rescaled so that it is evaluated over [-1,1].
+ Note that while the rational approximation over [0,6] converges rapidly to
+ the minimax solution it is rather ill-conditioned in practice. Cody and Thacher
+ <a href="#ftn.math_toolkit.expint.expint_i.f0" class="footnote" name="math_toolkit.expint.expint_i.f0"><sup class="footnote">[5]</sup></a> experienced the same issue and converted the polynomials into
+ Chebeshev form to ensure stable computation. By experiment we found that
+ the polynomials are just as stable in polynomial as Chebyshev form, <span class="emphasis"><em>provided</em></span>
+ they are computed over the interval [-1,1].
+ </p>
+<p>
+ Over the a series of intervals [a,b] and [b,INF] the rational approximation
+ takes the form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_i_4.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>c</em></span> is a constant, and R(t) is a minimax solution
+ optimised for low absolute error compared to <span class="emphasis"><em>c</em></span>. Variable
+ <span class="emphasis"><em>t</em></span> is <code class="computeroutput"><span class="number">1</span><span class="special">/</span><span class="identifier">z</span></code> when the range in infinite and <code class="computeroutput"><span class="number">2</span><span class="identifier">z</span><span class="special">/(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span> <span class="special">-</span> <span class="special">(</span><span class="number">2</span><span class="identifier">a</span><span class="special">/(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span></code> otherwise: this has the effect of scaling
+ z to the interval [-1,1]. As before rational approximations over arbitrary
+ intervals were found to be ill-conditioned: Cody and Thacher solved this
+ issue by converting the polynomials to their J-Fraction equivalent. However,
+ as long as the interval of evaluation was [-1,1] and the number of terms
+ carefully chosen, it was found that the polynomials <span class="emphasis"><em>could</em></span>
+ be evaluated to suitable precision: error rates are typically 2 to 3 epsilon
+ which is comparible to the error rate that Cody and Thacher achieved using
+ J-Fractions, but marginally more efficient given that fewer divisions are
+ involved.
+ </p>
+<div class="footnotes">
+<br><hr style="width:100; text-align:left;margin-left: 0">
+<div id="ftn.math_toolkit.expint.expint_i.f0" class="footnote"><p><a href="#math_toolkit.expint.expint_i.f0" class="para"><sup class="para">[5] </sup></a>
+ W. J. Cody and H. C. Thacher, Jr., Rational Chebyshev approximations for
+ the exponential integral E<sub>1</sub>(x), Math. Comp. 22 (1968), 641-649, and W.
+ J. Cody and H. C. Thacher, Jr., Chebyshev approximations for the exponential
+ integral Ei(x), Math. Comp. 23 (1969), 289-303.
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expint_n.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../powers.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/expint/expint_n.html b/libs/math/doc/html/math_toolkit/expint/expint_n.html
new file mode 100644
index 0000000000..032c473da5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/expint/expint_n.html
@@ -0,0 +1,294 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Exponential Integral En</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../expint.html" title="Exponential Integrals">
+<link rel="prev" href="../expint.html" title="Exponential Integrals">
+<link rel="next" href="expint_i.html" title="Exponential Integral Ei">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint_i.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.expint.expint_n"></a><a class="link" href="expint_n.html" title="Exponential Integral En">Exponential Integral En</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.expint.expint_n.h0"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_n.synopsis"></a></span><a class="link" href="expint_n.html#math_toolkit.expint.expint_n.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.expint.expint_n.h1"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_n.description"></a></span><a class="link" href="expint_n.html#math_toolkit.expint.expint_n.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://mathworld.wolfram.com/En-Function.html" target="_top">exponential
+ integral En</a> of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_n_1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/expint2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.expint.expint_n.h2"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_n.accuracy"></a></span><a class="link" href="expint_n.html#math_toolkit.expint.expint_n.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to the <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> library.
+ Unless otherwise specified any floating point type that is narrower than
+ the one shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.expint.expint_n.errors_in_the_function_expint_n_"></a><p class="title"><b>Table&#160;6.31.&#160;Errors In the Function expint(n, z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function expint(n, z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ En
+ </p>
+ </th>
+<th>
+ <p>
+ E1
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7.1 Mean=1.8
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=5.1
+ Mean=1.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.5
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=3.1
+ Mean=1.1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA_EM64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9.9 Mean=2.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.97 Mean=0.4
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9.9 Mean=2.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.97 Mean=0.4
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=23.3 Mean=3.7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.6 Mean=0.5
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.expint.expint_n.h3"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_n.testing"></a></span><a class="link" href="expint_n.html#math_toolkit.expint.expint_n.testing">Testing</a>
+ </h5>
+<p>
+ The tests for these functions come in two parts: basic sanity checks use
+ spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralE" target="_top">Mathworld's
+ online evaluator</a>, while accuracy checks use high-precision test values
+ calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
+ and this implementation. Note that the generic and type-specific versions
+ of these functions use differing implementations internally, so this gives
+ us reasonably independent test data. Using our test data to test other "known
+ good" implementations also provides an additional sanity check.
+ </p>
+<h5>
+<a name="math_toolkit.expint.expint_n.h4"></a>
+ <span class="phrase"><a name="math_toolkit.expint.expint_n.implementation"></a></span><a class="link" href="expint_n.html#math_toolkit.expint.expint_n.implementation">Implementation</a>
+ </h5>
+<p>
+ The generic version of this function uses the continued fraction:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_n_3.png"></span>
+ </p>
+<p>
+ for large <span class="emphasis"><em>x</em></span> and the infinite series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_n_2.png"></span>
+ </p>
+<p>
+ for small <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ Where the precision of <span class="emphasis"><em>x</em></span> is known at compile time and
+ is 113 bits or fewer in precision, then rational approximations <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> are used for the <code class="computeroutput"><span class="identifier">n</span>
+ <span class="special">==</span> <span class="number">1</span></code>
+ case.
+ </p>
+<p>
+ For <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
+ <span class="number">1</span></code> the approximating form is a minimax
+ approximation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_n_4.png"></span>
+ </p>
+<p>
+ and for <code class="computeroutput"><span class="identifier">x</span> <span class="special">&gt;</span>
+ <span class="number">1</span></code> a Chebyshev interpolated approximation
+ of the form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/expint_n_5.png"></span>
+ </p>
+<p>
+ is used.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expint.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint_i.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/factorials.html b/libs/math/doc/html/math_toolkit/factorials.html
new file mode 100644
index 0000000000..2252c87155
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/factorials.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Factorials and Binomial Coefficients</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">
+<link rel="next" href="factorials/sf_factorial.html" title="Factorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_gamma/gamma_derivatives.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="factorials/sf_factorial.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.factorials"></a><a class="link" href="factorials.html" title="Factorials and Binomial Coefficients">Factorials and Binomial Coefficients</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="factorials/sf_factorial.html">Factorial</a></span></dt>
+<dt><span class="section"><a href="factorials/sf_double_factorial.html">Double Factorial</a></span></dt>
+<dt><span class="section"><a href="factorials/sf_rising_factorial.html">Rising Factorial</a></span></dt>
+<dt><span class="section"><a href="factorials/sf_falling_factorial.html">Falling
+ Factorial</a></span></dt>
+<dt><span class="section"><a href="factorials/sf_binomial.html">Binomial Coefficients</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_gamma/gamma_derivatives.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="factorials/sf_factorial.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/factorials/sf_binomial.html b/libs/math/doc/html/math_toolkit/factorials/sf_binomial.html
new file mode 100644
index 0000000000..85a613c0ce
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/factorials/sf_binomial.html
@@ -0,0 +1,145 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binomial Coefficients</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
+<link rel="prev" href="sf_falling_factorial.html" title="Falling Factorial">
+<link rel="next" href="../sf_beta.html" title="Beta Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_falling_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_beta.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.factorials.sf_binomial"></a><a class="link" href="sf_binomial.html" title="Binomial Coefficients">Binomial Coefficients</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">binomial_coefficient</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">binomial_coefficient</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns the binomial coefficient: <sub>n</sub>C<sub>k</sub>.
+ </p>
+<p>
+ Requires k &lt;= n.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ May return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ if the result is too large to represent in type T.
+ </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The functions described above are templates where the template argument
+ T can not be deduced from the arguments passed to the function. Therefore
+ if you write something like:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_coefficient</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span></code>
+ </p>
+<p>
+ You will get a compiler error, ususally indicating that there is no such
+ function to be found. Instead you need to specifiy the return type explicity
+ and write:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_coefficient</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span></code>
+ </p>
+<p>
+ So that the return type is known. Further, the template argument must be
+ a real-valued type such as <code class="computeroutput"><span class="keyword">float</span></code>
+ or <code class="computeroutput"><span class="keyword">double</span></code> and not an integer
+ type - that would overflow far too easily!
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.factorials.sf_binomial.h0"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_binomial.accuracy"></a></span><a class="link" href="sf_binomial.html#math_toolkit.factorials.sf_binomial.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The accuracy will be the same as for the factorials for small arguments (i.e.
+ no more than one or two epsilon), and the <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>
+ function for larger arguments.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_binomial.h1"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_binomial.testing"></a></span><a class="link" href="sf_binomial.html#math_toolkit.factorials.sf_binomial.testing">Testing</a>
+ </h5>
+<p>
+ The spot tests for the binomial coefficients use data generated by functions.wolfram.com.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_binomial.h2"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_binomial.implementation"></a></span><a class="link" href="sf_binomial.html#math_toolkit.factorials.sf_binomial.implementation">Implementation</a>
+ </h5>
+<p>
+ Binomial coefficients are calculated using table lookup of factorials where
+ possible using:
+ </p>
+<p>
+ <sub>n</sub>C<sub>k</sub> = n! / (k!(n-k)!)
+ </p>
+<p>
+ Otherwise it is implemented in terms of the beta function using the relations:
+ </p>
+<p>
+ <sub>n</sub>C<sub>k</sub> = 1 / (k * <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>(k,
+ n-k+1))
+ </p>
+<p>
+ and
+ </p>
+<p>
+ <sub>n</sub>C<sub>k</sub> = 1 / ((n-k) * <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>(k+1,
+ n-k))
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_falling_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_beta.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/factorials/sf_double_factorial.html b/libs/math/doc/html/math_toolkit/factorials/sf_double_factorial.html
new file mode 100644
index 0000000000..7b774d14e5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/factorials/sf_double_factorial.html
@@ -0,0 +1,161 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Double Factorial</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
+<link rel="prev" href="sf_factorial.html" title="Factorial">
+<link rel="next" href="sf_rising_factorial.html" title="Rising Factorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_rising_factorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.factorials.sf_double_factorial"></a><a class="link" href="sf_double_factorial.html" title="Double Factorial">Double Factorial</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">double_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">double_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns <code class="literal">i!!</code>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ May return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ if the result is too large to represent in type T. The implementation is
+ designed to be optimised for small <span class="emphasis"><em>i</em></span> where table lookup
+ of i! is possible.
+ </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The functions described above are templates where the template argument
+ T can not be deduced from the arguments passed to the function. Therefore
+ if you write something like:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_factorial</span><span class="special">(</span><span class="number">2</span><span class="special">);</span></code>
+ </p>
+<p>
+ You will get a (possibly perplexing) compiler error, ususally indicating
+ that there is no such function to be found. Instead you need to specifiy
+ the return type explicity and write:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_factorial</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">);</span></code>
+ </p>
+<p>
+ So that the return type is known. Further, the template argument must be
+ a real-valued type such as <code class="computeroutput"><span class="keyword">float</span></code>
+ or <code class="computeroutput"><span class="keyword">double</span></code> and not an integer
+ type - that would overflow far too easily!
+ </p>
+<p>
+ The source code <code class="computeroutput"><span class="keyword">static_assert</span></code>
+ and comment just after the will be:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(!</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">);</span>
+<span class="comment">// factorial&lt;unsigned int&gt;(n) is not implemented</span>
+<span class="comment">// because it would overflow integral type T for too small n</span>
+<span class="comment">// to be useful. Use instead a floating-point type,</span>
+<span class="comment">// and convert to an unsigned type if essential, for example:</span>
+<span class="comment">// unsigned int nfac = static_cast&lt;unsigned int&gt;(factorial&lt;double&gt;(n));</span>
+<span class="comment">// See factorial documentation for more detail.</span>
+</pre>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The argument to <code class="computeroutput"><span class="identifier">double_factorial</span></code>
+ is type <code class="computeroutput"><span class="keyword">unsigned</span></code> even though
+ technically -1!! is defined.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.factorials.sf_double_factorial.h0"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_double_factorial.accuracy"></a></span><a class="link" href="sf_double_factorial.html#math_toolkit.factorials.sf_double_factorial.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The implementation uses a trivial adaptation of the factorial function, so
+ error rates should be no more than a couple of epsilon higher.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_double_factorial.h1"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_double_factorial.testing"></a></span><a class="link" href="sf_double_factorial.html#math_toolkit.factorials.sf_double_factorial.testing">Testing</a>
+ </h5>
+<p>
+ The spot tests for the double factorial use data generated by functions.wolfram.com.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_double_factorial.h2"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_double_factorial.implementation"></a></span><a class="link" href="sf_double_factorial.html#math_toolkit.factorials.sf_double_factorial.implementation">Implementation</a>
+ </h5>
+<p>
+ The double factorial is implemented in terms of the factorial and gamma functions
+ using the relations:
+ </p>
+<p>
+ (2n)!! = 2<sup>n </sup> * n!
+ </p>
+<p>
+ (2n+1)!! = (2n+1)! / (2<sup>n </sup> n!)
+ </p>
+<p>
+ and
+ </p>
+<p>
+ (2n-1)!! = &#915;((2n+1)/2) * 2<sup>n </sup> / sqrt(pi)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_rising_factorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/factorials/sf_factorial.html b/libs/math/doc/html/math_toolkit/factorials/sf_factorial.html
new file mode 100644
index 0000000000..edbd8ae510
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/factorials/sf_factorial.html
@@ -0,0 +1,193 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Factorial</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
+<link rel="prev" href="../factorials.html" title="Factorials and Binomial Coefficients">
+<link rel="next" href="sf_double_factorial.html" title="Double Factorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../factorials.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_double_factorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.factorials.sf_factorial"></a><a class="link" href="sf_factorial.html" title="Factorial">Factorial</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.factorials.sf_factorial.h0"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_factorial.synopsis"></a></span><a class="link" href="sf_factorial.html#math_toolkit.factorials.sf_factorial.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">unchecked_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">max_factorial</span><span class="special">;</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.factorials.sf_factorial.h1"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_factorial.description"></a></span><a class="link" href="sf_factorial.html#math_toolkit.factorials.sf_factorial.description">Description</a>
+ </h5>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The functions described below are templates where the template argument
+ T CANNOT be deduced from the arguments passed to the function. Therefore
+ if you write something like:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">factorial</span><span class="special">(</span><span class="number">2</span><span class="special">);</span></code>
+ </p>
+<p>
+ You will get a (perhaps perplexing) compiler error, ususally indicating
+ that there is no such function to be found. Instead you need to specify
+ the return type explicity and write:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">factorial</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">);</span></code>
+ </p>
+<p>
+ So that the return type is known.
+ </p>
+<p>
+ Furthermore, the template argument must be a real-valued type such as
+ <code class="computeroutput"><span class="keyword">float</span></code> or <code class="computeroutput"><span class="keyword">double</span></code>
+ and not an integer type - that would overflow far too easily for quite
+ small values of parameter <code class="computeroutput"><span class="identifier">i</span></code>!
+ </p>
+<p>
+ The source code <code class="computeroutput"><span class="keyword">static_assert</span></code>
+ and comment just after the will be:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(!</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">);</span>
+<span class="comment">// factorial&lt;unsigned int&gt;(n) is not implemented</span>
+<span class="comment">// because it would overflow integral type T for too small n</span>
+<span class="comment">// to be useful. Use instead a floating-point type,</span>
+<span class="comment">// and convert to an unsigned type if essential, for example:</span>
+<span class="comment">// unsigned int nfac = static_cast&lt;unsigned int&gt;(factorial&lt;double&gt;(n));</span>
+<span class="comment">// See factorial documentation for more detail.</span>
+</pre>
+</td></tr>
+</table></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns <code class="literal">i!</code>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ For <code class="literal">i &lt;= max_factorial&lt;T&gt;::value</code> this is implemented
+ by table lookup, for larger values of <code class="literal">i</code>, this function
+ is implemented in terms of <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a>.
+ </p>
+<p>
+ If <code class="literal">i</code> is so large that the result can not be represented
+ in type T, then calls <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">unchecked_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
+</pre>
+<p>
+ Returns <code class="literal">i!</code>.
+ </p>
+<p>
+ Internally this function performs table lookup of the result. Further it
+ performs no range checking on the value of i: it is up to the caller to ensure
+ that <code class="literal">i &lt;= max_factorial&lt;T&gt;::value</code>. This function
+ is intended to be used inside inner loops that require fast table lookup
+ of factorials, but requires care to ensure that argument <code class="literal">i</code>
+ never grows too large.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">max_factorial</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">X</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ This traits class defines the largest value that can be passed to <code class="literal">unchecked_factorial</code>.
+ The member <code class="computeroutput"><span class="identifier">value</span></code> can be used
+ where integral constant expressions are required: for example to define the
+ size of further tables that depend on the factorials.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_factorial.h2"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_factorial.accuracy"></a></span><a class="link" href="sf_factorial.html#math_toolkit.factorials.sf_factorial.accuracy">Accuracy</a>
+ </h5>
+<p>
+ For arguments smaller than <code class="computeroutput"><span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code> the result should be correctly rounded.
+ For larger arguments the accuracy will be the same as for <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a>.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_factorial.h3"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_factorial.testing"></a></span><a class="link" href="sf_factorial.html#math_toolkit.factorials.sf_factorial.testing">Testing</a>
+ </h5>
+<p>
+ Basic sanity checks and spot values to verify the data tables: the main tests
+ for the <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a> function
+ handle those cases already.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_factorial.h4"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_factorial.implementation"></a></span><a class="link" href="sf_factorial.html#math_toolkit.factorials.sf_factorial.implementation">Implementation</a>
+ </h5>
+<p>
+ The factorial function is table driven for small arguments, and is implemented
+ in terms of <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a> for
+ larger arguments.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../factorials.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_double_factorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/factorials/sf_falling_factorial.html b/libs/math/doc/html/math_toolkit/factorials/sf_falling_factorial.html
new file mode 100644
index 0000000000..0efb6ba224
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/factorials/sf_falling_factorial.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Falling Factorial</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
+<link rel="prev" href="sf_rising_factorial.html" title="Rising Factorial">
+<link rel="next" href="sf_binomial.html" title="Binomial Coefficients">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_rising_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_binomial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.factorials.sf_falling_factorial"></a><a class="link" href="sf_falling_factorial.html" title="Falling Factorial">Falling
+ Factorial</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">falling_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">falling_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns the falling factorial of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>i</em></span>:
+ </p>
+<p>
+ falling_factorial(x, i) = x(x-1)(x-2)(x-3)...(x-i+1)
+ </p>
+<p>
+ Note that this function is only defined for positive <span class="emphasis"><em>i</em></span>,
+ hence the <code class="computeroutput"><span class="keyword">unsigned</span></code> second argument.
+ Argument <span class="emphasis"><em>x</em></span> can be either positive or negative however.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ May return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ if the result is too large to represent in type T.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the type of the result is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, otherwise
+ the type of the result is T.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_falling_factorial.h0"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_falling_factorial.accuracy"></a></span><a class="link" href="sf_falling_factorial.html#math_toolkit.factorials.sf_falling_factorial.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The accuracy will be the same as the <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
+ function.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_falling_factorial.h1"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_falling_factorial.testing"></a></span><a class="link" href="sf_falling_factorial.html#math_toolkit.factorials.sf_falling_factorial.testing">Testing</a>
+ </h5>
+<p>
+ The spot tests for the falling factorials use data generated by functions.wolfram.com.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_falling_factorial.h2"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_falling_factorial.implementation"></a></span><a class="link" href="sf_falling_factorial.html#math_toolkit.factorials.sf_falling_factorial.implementation">Implementation</a>
+ </h5>
+<p>
+ Rising and falling factorials are implemented as ratios of gamma functions
+ using <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>.
+ Optimisations for small integer arguments are handled internally by that
+ function.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_rising_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_binomial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/factorials/sf_rising_factorial.html b/libs/math/doc/html/math_toolkit/factorials/sf_rising_factorial.html
new file mode 100644
index 0000000000..0537d7e779
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/factorials/sf_rising_factorial.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rising Factorial</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
+<link rel="prev" href="sf_double_factorial.html" title="Double Factorial">
+<link rel="next" href="sf_falling_factorial.html" title="Falling Factorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_double_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_falling_factorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.factorials.sf_rising_factorial"></a><a class="link" href="sf_rising_factorial.html" title="Rising Factorial">Rising Factorial</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">rising_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">i</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">rising_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns the rising factorial of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>i</em></span>:
+ </p>
+<p>
+ rising_factorial(x, i) = &#915;(x + i) / &#915;(x);
+ </p>
+<p>
+ or
+ </p>
+<p>
+ rising_factorial(x, i) = x(x+1)(x+2)(x+3)...(x+i-1)
+ </p>
+<p>
+ Note that both <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>i</em></span> can be negative
+ as well as positive.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ May return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ if the result is too large to represent in type T.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the type of the result is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, otherwise
+ the type of the result is T.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_rising_factorial.h0"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_rising_factorial.accuracy"></a></span><a class="link" href="sf_rising_factorial.html#math_toolkit.factorials.sf_rising_factorial.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The accuracy will be the same as the <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
+ function.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_rising_factorial.h1"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_rising_factorial.testing"></a></span><a class="link" href="sf_rising_factorial.html#math_toolkit.factorials.sf_rising_factorial.testing">Testing</a>
+ </h5>
+<p>
+ The spot tests for the rising factorials use data generated by functions.wolfram.com.
+ </p>
+<h5>
+<a name="math_toolkit.factorials.sf_rising_factorial.h2"></a>
+ <span class="phrase"><a name="math_toolkit.factorials.sf_rising_factorial.implementation"></a></span><a class="link" href="sf_rising_factorial.html#math_toolkit.factorials.sf_rising_factorial.implementation">Implementation</a>
+ </h5>
+<p>
+ Rising and falling factorials are implemented as ratios of gamma functions
+ using <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>.
+ Optimisations for small integer arguments are handled internally by that
+ function.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_double_factorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_falling_factorial.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fastest_typdefs.html b/libs/math/doc/html/math_toolkit/fastest_typdefs.html
new file mode 100644
index 0000000000..1085d591fd
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fastest_typdefs.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Fastest floating-point typedefs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="minimum_typdefs.html" title="Minimum-width floating-point typedefs">
+<link rel="next" href="greatest_typdefs.html" title="Greatest-width floating-point typedef">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minimum_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greatest_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.fastest_typdefs"></a><a class="link" href="fastest_typdefs.html" title="Fastest floating-point typedefs">Fastest floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>s</a>
+</h2></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="keyword">typedef</span> <span class="identifier">float_fast</span><span class="special">#</span><span class="identifier">_t</span></code>, with
+ # replaced by the width, designates the <span class="bold"><strong>fastest</strong></span>
+ floating-point type with a <span class="bold"><strong>width of at least # bits</strong></span>.
+ </p>
+<p>
+ There is no absolute guarantee that these types are the fastest for all purposes.
+ In any case, however, they satisfy the precision and width requirements.
+ </p>
+<p>
+ Fastest minimum-width floating-point types are provided for all existing exact-width
+ floating-point types on a given platform.
+ </p>
+<p>
+ For example, if a platform supports <code class="computeroutput"><span class="identifier">float32_t</span></code>
+ and <code class="computeroutput"><span class="identifier">float64_t</span></code>, then <code class="computeroutput"><span class="identifier">float_fast32_t</span></code> and <code class="computeroutput"><span class="identifier">float_fast64_t</span></code>
+ will also be supported, etc.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minimum_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="greatest_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/float128.html b/libs/math/doc/html/math_toolkit/float128.html
new file mode 100644
index 0000000000..414cfa0bdd
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/float128.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Implementation of Float128 type</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="examples.html" title="Examples">
+<link rel="next" href="float128/overloading_template_functions_w.html" title="Overloading template functions with float128_t">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float128/overloading_template_functions_w.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.float128"></a><a class="link" href="float128.html" title="Implementation of Float128 type">Implementation of Float128 type</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="float128/overloading_template_functions_w.html">Overloading
+ template functions with float128_t</a></span></dt>
+<dt><span class="section"><a href="float128/exp_function.html">Exponential function</a></span></dt>
+<dt><span class="section"><a href="float128/typeinfo.html"><code class="computeroutput"><span class="identifier">typeinfo</span></code></a></span></dt>
+</dl></div>
+<p>
+ Since few compilers implement a true 128-bit floating-point, and language features
+ like the suffix Q, and C++ Standard library functions are as-yet missing or
+ incomplete in C++11, this Boost.Math implementation wraps <code class="computeroutput"><span class="identifier">__float128</span></code>
+ provided by the GCC compiler or the <code class="computeroutput"><span class="identifier">_Quad</span></code>
+ type provided by the Intel compiler.
+ </p>
+<p>
+ This is provided to in order to demonstrate, and users to evaluate, the feasibility
+ and benefits of higher-precision floating-point, especially to allow use of
+ the full Boost.Math library of functions and distributions at high precision.
+ </p>
+<p>
+ (It is also possible to use Boost.Math with Boost.Multiprecision decimal and
+ binary, but since these are entirely software solutions, allowing much higher
+ precision or arbitrary precision, they are likely to be slower).
+ </p>
+<p>
+ We also provide (we believe full) support for <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;,</span> <span class="special">&lt;</span><span class="identifier">cmath</span><span class="special">&gt;</span></code>, I/O stream operations in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span></code>, and <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">complex</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ As a prototype for a future C++ standard, we place all these in <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">std</span></code>.
+ This contravenes the existing C++ standard of course, so selecting any compiler
+ that promises to check conformance will fail.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ For GCC, compile with <code class="computeroutput"><span class="special">-</span><span class="identifier">std</span><span class="special">=</span><span class="identifier">gnu</span><span class="special">++</span><span class="number">11</span></code> or <code class="computeroutput"><span class="special">-</span><span class="identifier">std</span><span class="special">=</span><span class="identifier">gnu</span><span class="special">++</span><span class="number">03</span></code> and do
+ not use <code class="computeroutput"><span class="special">-</span><span class="identifier">std</span><span class="special">=</span><span class="identifier">stdc</span><span class="special">++</span><span class="number">11</span></code>or any 'strict' options as these turn off
+ full support for <code class="computeroutput"><span class="identifier">__float128</span></code>.
+ These requirements also apply to the Intel compiler on Linux, for Intel on
+ Windows you need to compile with <code class="computeroutput"><span class="special">-</span><span class="identifier">Qoption</span><span class="special">,</span><span class="identifier">cpp</span><span class="special">,--</span><span class="identifier">extended_float_type</span> <span class="special">-</span><span class="identifier">DBOOST_MATH_USE_FLOAT128</span></code> in order to activate
+ 128-bit floating point support.
+ </p></td></tr>
+</table></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">__float128</span></code> type is provided
+ by the <a href="http://gcc.gnu.org/onlinedocs/libquadmath/" target="_top">libquadmath
+ library</a> on GCC or by Intel's FORTRAN library with Intel C++.
+ </p>
+<p>
+ A typical invocation of the compiler is
+ </p>
+<pre class="programlisting"><span class="identifier">g</span><span class="special">++</span> <span class="special">-</span><span class="identifier">O3</span> <span class="special">-</span><span class="identifier">std</span><span class="special">=</span><span class="identifier">gnu</span><span class="special">++</span><span class="number">11</span> <span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span> <span class="special">-</span><span class="identifier">I</span><span class="special">/</span><span class="identifier">c</span><span class="special">/</span><span class="identifier">modular</span><span class="special">-</span><span class="identifier">boost</span> <span class="special">-</span><span class="identifier">lquadmath</span> <span class="special">-</span><span class="identifier">o</span> <span class="identifier">test</span><span class="special">.</span><span class="identifier">exe</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If you are trying to use the develop branch of Boost.Math, then make <code class="computeroutput"><span class="special">-</span><span class="identifier">I</span><span class="special">/</span><span class="identifier">c</span><span class="special">/</span><span class="identifier">modular</span><span class="special">-</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include</span></code>
+ the <span class="bold"><strong>first</strong></span> include directory.
+ </p></td></tr>
+</table></div>
+<pre class="programlisting"><span class="identifier">g</span><span class="special">++</span> <span class="special">-</span><span class="identifier">O3</span> <span class="special">-</span><span class="identifier">std</span><span class="special">=</span><span class="identifier">gnu</span><span class="special">++</span><span class="number">11</span> <span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span> <span class="special">-</span><span class="identifier">I</span><span class="special">/</span><span class="identifier">c</span><span class="special">/</span><span class="identifier">modular</span><span class="special">-</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include</span> <span class="special">-</span><span class="identifier">I</span><span class="special">/</span><span class="identifier">c</span><span class="special">/</span><span class="identifier">modular</span><span class="special">-</span><span class="identifier">boost</span> <span class="special">-</span><span class="identifier">lquadmath</span> <span class="special">-</span><span class="identifier">o</span> <span class="identifier">test</span><span class="special">.</span><span class="identifier">exe</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ So far, the only missing detail that we have noted is in trying to use <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">typeinfo</span><span class="special">&gt;</span></code>, for example for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="keyword">typeid</span><span class="special">&lt;</span><span class="identifier">__float_128</span><span class="special">&gt;.</span><span class="identifier">name</span><span class="special">();</span></code>. Link fails: undefined reference to <code class="computeroutput"><span class="identifier">typeinfo</span> <span class="keyword">for</span>
+ <span class="identifier">__float128</span></code>. See <a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622" target="_top">GCC
+ Bug 43622 - no C++ typeinfo for __float128</a>.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float128/overloading_template_functions_w.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/float128/exp_function.html b/libs/math/doc/html/math_toolkit/float128/exp_function.html
new file mode 100644
index 0000000000..1e65bcb093
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/float128/exp_function.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Exponential function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../float128.html" title="Implementation of Float128 type">
+<link rel="prev" href="overloading_template_functions_w.html" title="Overloading template functions with float128_t">
+<link rel="next" href="typeinfo.html" title="typeinfo">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overloading_template_functions_w.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../float128.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="typeinfo.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.float128.exp_function"></a><a class="link" href="exp_function.html" title="Exponential function">Exponential function</a>
+</h3></div></div></div>
+<p>
+ There is a bug whe using any quadmath <code class="computeroutput"><span class="identifier">expq</span></code>
+ function on GCC:
+ </p>
+<p>
+ <a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60349" target="_top">GCC bug #60349</a>
+ </p>
+<p>
+ <a href="http://sourceforge.net/p/mingw-w64/bugs/368/" target="_top">mingw-64 bug #368</a>
+ </p>
+<p>
+ To work round this defect, an alternative implementation of 128-bit exp is
+ temporarily provided by <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overloading_template_functions_w.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../float128.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="typeinfo.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/float128/overloading_template_functions_w.html b/libs/math/doc/html/math_toolkit/float128/overloading_template_functions_w.html
new file mode 100644
index 0000000000..99c91d3215
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/float128/overloading_template_functions_w.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overloading template functions with float128_t</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../float128.html" title="Implementation of Float128 type">
+<link rel="prev" href="../float128.html" title="Implementation of Float128 type">
+<link rel="next" href="exp_function.html" title="Exponential function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../float128.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../float128.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.float128.overloading_template_functions_w"></a><a class="link" href="overloading_template_functions_w.html" title="Overloading template functions with float128_t">Overloading
+ template functions with float128_t</a>
+</h3></div></div></div>
+<p>
+ An artifact of providing C++ standard library support for quadmath may mandate
+ the inclusion of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ <span class="bold"><strong>before</strong></span> the inclusion of other headers.
+ </p>
+<p>
+ Consider a function that calls <code class="computeroutput"><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ and has previously injected <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fabs</span><span class="special">()</span></code> into local scope via a <code class="computeroutput"><span class="keyword">using</span></code>
+ directive:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">unsigned_compare</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fabs</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">b</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ In this function, the correct overload of <code class="computeroutput"><span class="identifier">fabs</span></code>
+ may be found via <a href="http://en.wikipedia.org/wiki/Argument-dependent_name_lookup" target="_top">argument-dependent-lookup
+ (ADL)</a> or by calling one of the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fabs</span></code>
+ overloads. There is a key difference between them however: an overload in
+ the same namespace as T and found via ADL need <span class="emphasis"><em><span class="bold"><strong>not
+ be defined at the time the function is declared</strong></span></em></span>. However,
+ all the types declared in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ are fundamental types, so for these types we are relying on finding an overload
+ declared in namespace <code class="computeroutput"><span class="identifier">std</span></code>.
+ In that case however, <span class="emphasis"><em><span class="bold"><strong>all such overloads
+ must be declared prior to the definition of function <code class="computeroutput"><span class="identifier">unsigned_compare</span></code>
+ otherwise they are not considered</strong></span></em></span>.
+ </p>
+<p>
+ In the event that <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ has been included <span class="bold"><strong>after</strong></span> the definition of
+ the above function, the correct overload of <code class="computeroutput"><span class="identifier">fabs</span></code>,
+ while present, is simply not considered as part of the overload set. So the
+ compiler tries to downcast the <code class="computeroutput"><span class="identifier">float128_t</span></code>
+ argument first to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>,
+ then to <code class="computeroutput"><span class="keyword">double</span></code>, then to <code class="computeroutput"><span class="keyword">float</span></code>; the compilation fails because the result
+ is ambiguous. However the compiler error message will appear cruelly inscrutable,
+ at an apparently irelevant line number and making no mention of <code class="computeroutput"><span class="identifier">float128</span></code>: the word <span class="emphasis"><em>ambiguous</em></span>
+ is the clue to what is wrong.
+ </p>
+<p>
+ Provided you <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ <span class="bold"><strong>before</strong></span> the inclusion of the any header containing
+ generic floating point code (such as other Boost.Math headers, then the compiler
+ will know about and use the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">float128_t</span><span class="special">)</span></code>
+ that we provide in <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../float128.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../float128.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/float128/typeinfo.html b/libs/math/doc/html/math_toolkit/float128/typeinfo.html
new file mode 100644
index 0000000000..c2207d33d4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/float128/typeinfo.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>typeinfo</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../float128.html" title="Implementation of Float128 type">
+<link rel="prev" href="exp_function.html" title="Exponential function">
+<link rel="next" href="../../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exp_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../float128.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../constants.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.float128.typeinfo"></a><a class="link" href="typeinfo.html" title="typeinfo"><code class="computeroutput"><span class="identifier">typeinfo</span></code></a>
+</h3></div></div></div>
+<p>
+ It is not yet possible to use <code class="computeroutput"><span class="identifier">typeinfo</span></code>
+ for float_128 on GCC: see <a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43622" target="_top">GCC
+ 43622</a>
+ </p>
+<p>
+ so this fails to link <code class="computeroutput"><span class="identifier">undefined</span>
+ <span class="identifier">reference</span> <span class="identifier">to</span>
+ <span class="identifier">typeinfo</span> <span class="keyword">for</span>
+ <span class="identifier">__float128</span></code>
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float128_t</span><span class="special">).</span><span class="identifier">name</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ This prevent using the existing tests for Boost.Math distributions, (unless
+ a few lines are commented out) and if a MACRO BOOST_MATH_INSTRUMENT controlling
+ them is defined then some diagnostic displays in Boost.Math will not work.
+ </p>
+<p>
+ However this is only used for display purposes and can be commented out until
+ this is fixed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exp_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../float128.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../constants.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fp_facets.html b/libs/math/doc/html/math_toolkit/fp_facets.html
new file mode 100644
index 0000000000..7f11fc246d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fp_facets.html
@@ -0,0 +1,92 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Facets for Floating-Point Infinities and NaNs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
+<link rel="prev" href="sign_functions.html" title="Sign Manipulation Functions">
+<link rel="next" href="fp_facets/facets_intro.html" title="Introduction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sign_functions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets/facets_intro.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.fp_facets"></a><a class="link" href="fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">Facets for Floating-Point Infinities
+ and NaNs</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="fp_facets/facets_intro.html">Introduction</a></span></dt>
+<dt><span class="section"><a href="fp_facets/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="fp_facets/examples.html">Examples</a></span></dt>
+<dt><span class="section"><a href="fp_facets/portability.html">Portability</a></span></dt>
+<dt><span class="section"><a href="fp_facets/rationale.html">Design Rationale</a></span></dt>
+</dl></div>
+<h5>
+<a name="math_toolkit.fp_facets.h0"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.synopsis"></a></span><a class="link" href="fp_facets.html#math_toolkit.fp_facets.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span>
+<span class="special">{</span>
+ <span class="comment">// Values for flags. </span>
+ <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">legacy</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">signed_zero</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">trap_infinity</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">trap_nan</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">nonfinite_num_put</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">explicit</span> <span class="identifier">nonfinite_num_put</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">InputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">istreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">nonfinite_num_get</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">explicit</span> <span class="identifier">nonfinite_num_get</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span> <span class="comment">// legacy, sign_zero ...</span>
+ <span class="special">};</span>
+<span class="special">}}</span> <span class="comment">// namespace boost namespace math</span>
+</pre>
+<p>
+ To use these facets
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">special_functions</span><span class="special">\</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sign_functions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets/facets_intro.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fp_facets/examples.html b/libs/math/doc/html/math_toolkit/fp_facets/examples.html
new file mode 100644
index 0000000000..e99ac994de
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fp_facets/examples.html
@@ -0,0 +1,256 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Examples</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
+<link rel="prev" href="reference.html" title="Reference">
+<link rel="next" href="portability.html" title="Portability">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="portability.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.fp_facets.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
+</h3></div></div></div>
+<h6>
+<a name="math_toolkit.fp_facets.examples.h0"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.examples.simple_example_with_std_stringst"></a></span><a class="link" href="examples.html#math_toolkit.fp_facets.examples.simple_example_with_std_stringst">Simple
+ example with std::stringstreams</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">old_locale</span><span class="special">;</span>
+<span class="identifier">locale</span> <span class="identifier">tmp_locale</span><span class="special">(</span><span class="identifier">old_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+<span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">tmp_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+</pre>
+<pre class="programlisting"><span class="identifier">stringstream</span> <span class="identifier">ss</span><span class="special">;</span>
+<span class="identifier">ss</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">new_locale</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
+<span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span><span class="special">;</span> <span class="comment">// Write out.</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">==</span> <span class="string">"inf"</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="identifier">ss</span> <span class="special">&gt;&gt;</span> <span class="identifier">r</span><span class="special">;</span> <span class="comment">// Read back in.</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">inf</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">);</span> <span class="comment">// Confirms that the double values really are identical.</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity output was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity input was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// But the string representation of r displayed will be the native type</span>
+<span class="comment">// because, when it was constructed, cout had NOT been imbued</span>
+<span class="comment">// with the new locale containing the nonfinite_numput facet.</span>
+<span class="comment">// So the cout output will be "1.#INF on MS platforms</span>
+<span class="comment">// and may be "inf" or other string representation on other platforms.</span>
+</pre>
+<h6>
+<a name="math_toolkit.fp_facets.examples.h1"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.examples.use_with_lexical_cast"></a></span><a class="link" href="examples.html#math_toolkit.fp_facets.examples.use_with_lexical_cast">Use with
+ lexical_cast</a>
+ </h6>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ From Boost 1.48, lexical_cast no longer uses stringstreams internally,
+ and is now able to handle infinities and NaNs natively on most platforms.
+ </p></td></tr>
+</table></div>
+<p>
+ Without using a new locale that contains the nonfinite facets, previous versions
+ of <code class="computeroutput"><span class="identifier">lexical_cast</span></code> using stringstream
+ were not portable (and often failed) if nonfinite values are found.
+ </p>
+<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">old_locale</span><span class="special">;</span>
+<span class="identifier">locale</span> <span class="identifier">tmp_locale</span><span class="special">(</span><span class="identifier">old_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+<span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">tmp_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+</pre>
+<p>
+ Although other examples imbue individual streams with the new locale, for
+ the streams constructed inside lexical_cast, it was necesary to assign to
+ a global locale.
+ </p>
+<pre class="programlisting"><span class="identifier">locale</span><span class="special">::</span><span class="identifier">global</span><span class="special">(</span><span class="identifier">new_locale</span><span class="special">);</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">lexical_cast</span></code> then works as
+ expected, even with infinity and NaNs.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="string">"inf"</span><span class="special">);</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">x</span> <span class="special">==</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric</span><span class="special">:</span><span class="identifier">limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">());</span>
+
+<span class="identifier">string</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">());</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">s</span> <span class="special">==</span> <span class="string">"inf"</span><span class="special">);</span>
+</pre>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If you use stringstream inside your functions, you may still need to use
+ a global locale to handle nonfinites correctly. Or you need to imbue your
+ stringstream with suitable get and put facets.
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You should be aware that the C++ specification does not explicitly require
+ that input from decimal digits strings converts with rounding to the nearest
+ representable floating-point binary value. (In contrast, decimal digits
+ read by the compiler, for example by an assignment like <code class="computeroutput"><span class="keyword">double</span>
+ <span class="identifier">d</span> <span class="special">=</span>
+ <span class="number">1.234567890123456789</span></code>, are guaranteed
+ to assign the nearest representable value to double d). This implies that,
+ no matter how many decimal digits you provide, there is a potential uncertainty
+ of 1 least significant bit in the resulting binary value.
+ </p></td></tr>
+</table></div>
+<p>
+ See <a href="http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding" target="_top">for
+ more information on <span class="emphasis"><em>nearest representable</em></span> and <span class="emphasis"><em>rounding</em></span></a>.
+ </p>
+<p>
+ Most iostream libraries do in fact achieve the desirable <span class="emphasis"><em>nearest
+ representable floating-point binary value</em></span> for all values of input.
+ However one popular STL library does not quite achieve this for 64-bit doubles.
+ See <a href="http://connect.microsoft.com/VisualStudio/feedback/details/98770/decimal-digit-string-input-to-double-may-be-1-bit-wrong" target="_top">Decimal
+ digit string input to double may be 1 bit wrong</a> for the bizarre full
+ details.
+ </p>
+<p>
+ If you are expecting to 'round-trip' <code class="computeroutput"><span class="identifier">lexical_cast</span></code>
+ or <code class="computeroutput"><span class="identifier">serialization</span></code>, for example
+ archiving and loading, and want to be <span class="bold"><strong>absolutely certain
+ that you will always get an exactly identical double value binary pattern</strong></span>,
+ you should use the suggested 'workaround' below that is believed to work
+ on all platforms.
+ </p>
+<p>
+ You should output using all potentially significant decimal digits, by setting
+ stream precision to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span></code>, (or for the appropriate floating-point
+ type, if not double) and crucially, <span class="bold"><strong>require <code class="computeroutput"><span class="identifier">scientific</span></code> format</strong></span>, not <code class="computeroutput"><span class="identifier">fixed</span></code> or automatic (default), for example:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">output_value</span> <span class="special">=</span> <span class="identifier">any</span> <span class="identifier">value</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">s</span><span class="special">;</span>
+<span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecison</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">output_value</span><span class="special">;</span>
+<span class="identifier">s</span> <span class="special">&gt;&gt;</span> <span class="identifier">input_value</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="math_toolkit.fp_facets.examples.h2"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.examples.use_with_serialization_archives"></a></span><a class="link" href="examples.html#math_toolkit.fp_facets.examples.use_with_serialization_archives">Use
+ with serialization archives</a>
+ </h5>
+<p>
+ It is vital that the same locale is used when an archive is saved and when
+ it is loaded. Otherwise, loading the archive may fail. By default, archives
+ are saved and loaded with a classic C locale with a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">codecvt_null</span></code>
+ facet added. Normally you do not have to worry about that.
+ </p>
+<p>
+ The constructors for the archive classes, as a side-effect, imbue the stream
+ with such a locale. However, if you want to use the facets <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code> and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
+ with archives, then you have to manage the locale manually. That is done
+ by calling the archive constructor with the flag <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">no_codecvt</span></code>,
+ thereby ensuring that the archive constructor will <span class="bold"><strong>not
+ imbue the stream with a new locale</strong></span>.
+ </p>
+<p>
+ The following code shows how to use <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ with a <code class="computeroutput"><span class="identifier">text_oarchive</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">default_locale</span><span class="special">(</span><span class="identifier">locale</span><span class="special">::</span><span class="identifier">classic</span><span class="special">(),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">codecvt_null</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+<span class="identifier">locale</span> <span class="identifier">my_locale</span><span class="special">(</span><span class="identifier">default_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+
+<span class="identifier">ofstream</span> <span class="identifier">ofs</span><span class="special">(</span><span class="string">"test.txt"</span><span class="special">);</span>
+<span class="identifier">ofs</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">my_locale</span><span class="special">);</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">text_oarchive</span> <span class="identifier">oa</span><span class="special">(</span><span class="identifier">ofs</span><span class="special">,</span> <span class="identifier">no_codecvt</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
+<span class="identifier">oa</span> <span class="special">&amp;</span> <span class="identifier">x</span><span class="special">;</span>
+</pre>
+<p>
+ The same method works with <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
+ and <code class="computeroutput"><span class="identifier">text_iarchive</span></code>.
+ </p>
+<p>
+ If you use the <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ with <code class="computeroutput"><span class="identifier">trap_infinity</span></code> and/or
+ <code class="computeroutput"><span class="identifier">trap_nan</span></code> flag with a serialization
+ archive, then you must set the exception mask of the stream. Serialization
+ archives do not check the stream state.
+ </p>
+<h6>
+<a name="math_toolkit.fp_facets.examples.h3"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.examples.other_examples"></a></span><a class="link" href="examples.html#math_toolkit.fp_facets.examples.other_examples">Other
+ examples</a>
+ </h6>
+<p>
+ <a href="../../../../example/nonfinite_facet_simple.cpp" target="_top">nonfinite_facet_simple.cpp</a>
+ give some more simple demonstrations of the difference between using classic
+ C locale and constructing a C99 infinty and NaN compliant locale for input
+ and output.
+ </p>
+<p>
+ See <a href="../../../../example/nonfinite_facet_sstream.cpp" target="_top">nonfinite_facet_sstream.cpp</a>
+ for this example of use with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span></code>s.
+ </p>
+<p>
+ For an example of how to enforce the MSVC 'legacy' "1.#INF" and
+ "1.#QNAN" representations of infinity and NaNs, for input and output,
+ see <a href="../../../../example/nonfinite_legacy.cpp" target="_top">nonfinite_legacy.cpp</a>.
+ </p>
+<p>
+ Treatment of signaling NaN is demonstrated at <a href="../../../../example/nonfinite_signaling_NaN.cpp" target="_top">../../example/nonfinite_signaling_NaN.cpp</a>
+ </p>
+<p>
+ Example <a href="../../../../example/nonfinite_loopback_ok.cpp" target="_top">../../example/nonfinite_loopback_ok.cpp</a>
+ shows loopback works OK.
+ </p>
+<p>
+ Example <a href="../../../../example/nonfinite_num_facet.cpp" target="_top">../../example/nonfinite_num_facet.cpp</a>
+ shows output and re-input of various finite and nonfinite values.
+ </p>
+<p>
+ A simple example of trapping nonfinite output is at <a href="../../../../example/nonfinite_num_facet_trap.cpp" target="_top">nonfinite_num_facet_trap.cpp</a>.
+ </p>
+<p>
+ A very basic example of using Boost.Archive is at <a href="../../../../example/nonfinite_serialization_archives.cpp" target="_top">../../example/nonfinite_serialization_archives.cpp</a>.
+ </p>
+<p>
+ A full demonstration of serialization by Francois Mauger is at <a href="../../../../example/nonfinite_num_facet_serialization.cpp" target="_top">../../example/nonfinite_num_facet_serialization.cpp</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="portability.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fp_facets/facets_intro.html b/libs/math/doc/html/math_toolkit/fp_facets/facets_intro.html
new file mode 100644
index 0000000000..d29eaf0f78
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fp_facets/facets_intro.html
@@ -0,0 +1,380 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Introduction</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
+<link rel="prev" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../fp_facets.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.fp_facets.facets_intro"></a><a class="link" href="facets_intro.html" title="Introduction">Introduction</a>
+</h3></div></div></div>
+<h6>
+<a name="math_toolkit.fp_facets.facets_intro.h0"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.facets_intro.the_problem"></a></span><a class="link" href="facets_intro.html#math_toolkit.fp_facets.facets_intro.the_problem">The
+ Problem</a>
+ </h6>
+<p>
+ The C++98 standard does not specify how <span class="emphasis"><em>infinity</em></span> and
+ <span class="emphasis"><em>NaN</em></span> are represented in text streams. As a result, different
+ platforms use different string representations. This can cause undefined
+ behavior when text files are moved between different platforms. Some platforms
+ cannot even input parse their own output! So 'route-tripping' or loopback
+ of output to input is not possible. For instance, the following test fails
+ with MSVC:
+ </p>
+<pre class="programlisting"><span class="identifier">stringstream</span> <span class="identifier">ss</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
+<span class="keyword">double</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span><span class="special">;</span> <span class="comment">// Write out.</span>
+<span class="identifier">ss</span> <span class="special">&gt;&gt;</span> <span class="identifier">r</span><span class="special">;</span> <span class="comment">// Read back in.</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity output was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1.#INF</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity input was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1</span>
+
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">inf</span> <span class="special">==</span> <span class="identifier">y</span><span class="special">);</span> <span class="comment">// Fails!</span>
+</pre>
+<h6>
+<a name="math_toolkit.fp_facets.facets_intro.h1"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.facets_intro.the_solution"></a></span><a class="link" href="facets_intro.html#math_toolkit.fp_facets.facets_intro.the_solution">The
+ Solution</a>
+ </h6>
+<p>
+ The facets <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code> format
+ and parse all floating-point numbers, including <code class="computeroutput"><span class="identifier">infinity</span></code>
+ and <code class="computeroutput"><span class="identifier">NaN</span></code>, in a consistent
+ and portable manner.
+ </p>
+<p>
+ The following test succeeds with MSVC.
+ </p>
+<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">old_locale</span><span class="special">;</span>
+<span class="identifier">locale</span> <span class="identifier">tmp_locale</span><span class="special">(</span><span class="identifier">old_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+<span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">tmp_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ To add two facets, <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>,
+ you may have to add one at a time, using a temporary locale.
+ </p>
+<p>
+ Or you can create a new locale in one step
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;));</span></code>
+ </p>
+<p>
+ and, for example, use it to imbue an input and output stringstream.
+ </p>
+</td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ To just change an input or output stream, you can concisely write <code class="computeroutput"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">imbue</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;));</span></code> or <code class="computeroutput"><span class="identifier">cin</span><span class="special">.</span><span class="identifier">imbue</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;));</span></code>
+ </p></td></tr>
+</table></div>
+<pre class="programlisting"><span class="identifier">stringstream</span> <span class="identifier">ss</span><span class="special">;</span>
+<span class="identifier">ss</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">new_locale</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
+<span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span><span class="special">;</span> <span class="comment">// Write out.</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">==</span> <span class="string">"inf"</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="identifier">ss</span> <span class="special">&gt;&gt;</span> <span class="identifier">r</span><span class="special">;</span> <span class="comment">// Read back in.</span>
+<span class="identifier">assert</span><span class="special">(</span><span class="identifier">inf</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">);</span> <span class="comment">// Confirms that the double values really are identical.</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity output was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity input was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// But the string representation of r displayed will be the native type</span>
+<span class="comment">// because, when it was constructed, cout had NOT been imbued</span>
+<span class="comment">// with the new locale containing the nonfinite_numput facet.</span>
+<span class="comment">// So the cout output will be "1.#INF on MS platforms</span>
+<span class="comment">// and may be "inf" or other string representation on other platforms.</span>
+</pre>
+<h5>
+<a name="math_toolkit.fp_facets.facets_intro.h2"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.facets_intro.c_0x_standard_for_output_of_infi"></a></span><a class="link" href="facets_intro.html#math_toolkit.fp_facets.facets_intro.c_0x_standard_for_output_of_infi">C++0X
+ standard for output of infinity and NaN</a>
+ </h5>
+<p>
+ <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf" target="_top">C++0X
+ (final) draft standard</a> does not explicitly specify the representation
+ (and input) of nonfinite values, leaving it implementation-defined. So without
+ some specific action, input and output of nonfinite values is not portable.
+ </p>
+<h5>
+<a name="math_toolkit.fp_facets.facets_intro.h3"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.facets_intro.c99_standard_for_output_of_infin"></a></span><a class="link" href="facets_intro.html#math_toolkit.fp_facets.facets_intro.c99_standard_for_output_of_infin">C99
+ standard for output of infinity and NaN</a>
+ </h5>
+<p>
+ The <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
+ standard</a> <span class="bold"><strong>does</strong></span> specify how infinity
+ and NaN are formatted by printf and similar output functions, and parsed
+ by scanf and similar input functions.
+ </p>
+<p>
+ The following string representations are used:
+ </p>
+<div class="table">
+<a name="math_toolkit.fp_facets.facets_intro.c99_representation_of_infinity_a"></a><p class="title"><b>Table&#160;2.1.&#160;C99 Representation of Infinity and NaN</b></p>
+<div class="table-contents"><table class="table" summary="C99 Representation of Infinity and NaN">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ number
+ </p>
+ </th>
+<th>
+ <p>
+ string
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Positive infinity
+ </p>
+ </td>
+<td>
+ <p>
+ "inf" or "infinity"
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Positive NaN
+ </p>
+ </td>
+<td>
+ <p>
+ "nan" or "nan(...)"
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative infinity
+ </p>
+ </td>
+<td>
+ <p>
+ "-inf" or "-infinity"
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative NaN
+ </p>
+ </td>
+<td>
+ <p>
+ "-nan" or "-nan(...)"
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ So following C99 provides a sensible 'standard' way of handling input and
+ output of nonfinites in C++, and this implementation follows most of these
+ formats.
+ </p>
+<h6>
+<a name="math_toolkit.fp_facets.facets_intro.h4"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.facets_intro.signaling_nans"></a></span><a class="link" href="facets_intro.html#math_toolkit.fp_facets.facets_intro.signaling_nans">Signaling
+ NaNs</a>
+ </h6>
+<p>
+ A particular type of NaN is the signaling NaN. The usual mechanism of signaling
+ is by raising a floating-point exception. Signaling NaNs are defined by
+ <a href="http://en.wikipedia.org/wiki/IEEE_floating-point_standard" target="_top">IEEE
+ 754-2008</a>.
+ </p>
+<p>
+ Floating-point values with layout <span class="emphasis"><em>s</em></span>111 1111 1<span class="emphasis"><em>a</em></span>xx
+ xxxx xxxx xxxx xxxx xxxx where <span class="emphasis"><em>s</em></span> is the sign, <span class="emphasis"><em>x</em></span>
+ is the payload, and bit <span class="emphasis"><em>a</em></span> determines the type of NaN.
+ </p>
+<p>
+ If bit <span class="emphasis"><em>a</em></span> = 1, it is a quiet NaN.
+ </p>
+<p>
+ If bit <span class="emphasis"><em>a</em></span> is zero and the payload <span class="emphasis"><em>x</em></span>
+ is nonzero, then it is a signaling NaN.
+ </p>
+<p>
+ Although there has been theoretical interest in the ability of a signaling
+ NaN to raise an exception, for example to prevent use of an uninitialised
+ variable, in practice there appears to be no useful application of signaling
+ NaNs for most current processors. <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf" target="_top">C++0X
+ 18.3.2.2</a> still specifies a (implementation-defined) representation
+ for signaling NaN, and <code class="computeroutput"><span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keyword">bool</span> <span class="identifier">has_signaling_NaN</span></code> a method of checking
+ if a floating-point type has a representation for signaling NaN.
+ </p>
+<p>
+ But in practice, most platforms treat signaling NaNs in the same as quiet
+ NaNs. So, for example, they are represented by "nan" on output
+ in <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99</a>
+ format, and output as <code class="computeroutput"><span class="number">1.</span><span class="special">#</span><span class="identifier">QNAN</span></code> by Microsoft compilers.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The C99 standard does not distinguish between the quiet NaN and signaling
+ NaN values. A quiet NaN propagates through almost every arithmetic operation
+ without raising a floating-point exception; a signaling NaN generally raises
+ a floating-point exception when occurring as an arithmetic operand.
+ </p>
+<p>
+ C99 specification does not define the behavior of signaling NaNs. NaNs
+ created by IEC 60559 operations are always quiet. Therefore this implementation
+ follows C99, and treats the signaling NaN bit as just a part of the NaN
+ payload field. So this implementation does not distinguish between the
+ two classes of NaN.
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ An implementation may give zero and non-numeric values (such as infinities
+ and NaNs) a sign or may leave them unsigned. Wherever such values are unsigned,
+ any requirement in the C99 Standard to retrieve the sign shall produce
+ an unspecified sign, and any requirement to set the sign shall be ignored.
+ </p>
+<p>
+ This might apply to user-defined types, but in practice built-in floating-point
+ types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> have well-behaved signs.
+ </p>
+</td></tr>
+</table></div>
+<p>
+ The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>. An optional + sign can be
+ used with positive numbers (controlled by ios manipulator <code class="computeroutput"><span class="identifier">showpos</span></code>).
+ The function <code class="computeroutput"><span class="identifier">printf</span></code> and similar
+ C++ functions use standard formatting flags to put all lower or all upper
+ case (controlled by <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span></code> manipulator <code class="computeroutput"><span class="identifier">uppercase</span></code>
+ and <code class="computeroutput"><span class="identifier">lowercase</span></code>).
+ </p>
+<p>
+ The function <code class="computeroutput"><span class="identifier">scanf</span></code> and similar
+ input functions are case-insensitive.
+ </p>
+<p>
+ The dots in <code class="computeroutput"><span class="identifier">nan</span><span class="special">(...)</span></code>
+ stand for an arbitrary string. The meaning of that string is implementation
+ dependent. It can be used to convey extra information about the NaN, from
+ the 'payload'. A particular value of the payload might be used to indicate
+ a <span class="emphasis"><em>missing value</em></span>, for example.
+ </p>
+<p>
+ This library uses the string representations specified by the C99 standard.
+ </p>
+<p>
+ An example of an implementation that optionally includes the NaN payload
+ information is at <a href="http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/fprints.htm" target="_top">AIX
+ NaN fprintf</a>. That implementation specifies for Binary Floating Point
+ NANs:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A NaN ordinal sequence is a left-parenthesis character '(', followed
+ by a digit sequence representing an integer n, where 1 &lt;= n &lt;=
+ INT_MAX-1, followed by a right-parenthesis character ')'.
+ </li>
+<li class="listitem">
+ The integer value, n, is determined by the fraction bits of the NaN argument
+ value as follows:
+ </li>
+<li class="listitem">
+ For a signalling NaN value, NaN fraction bits are reversed (left to right)
+ to produce bits (right to left) of an even integer value, 2*n. Then formatted
+ output functions produce a (signalling) NaN ordinal sequence corresponding
+ to the integer value n.
+ </li>
+<li class="listitem">
+ For a quiet NaN value, NaN fraction bits are reversed (left to right)
+ to produce bits (right to left) of an odd integer value, 2*n-1. Then
+ formatted output functions produce a (quiet) NaN ordinal sequence corresponding
+ to the integer value n.
+ </li>
+</ul></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This implementation does not (yet) provide output of, or access to, the
+ NaN payload.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../fp_facets.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fp_facets/portability.html b/libs/math/doc/html/math_toolkit/fp_facets/portability.html
new file mode 100644
index 0000000000..ebcc2eeca4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fp_facets/portability.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Portability</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
+<link rel="prev" href="examples.html" title="Examples">
+<link rel="next" href="rationale.html" title="Design Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.fp_facets.portability"></a><a class="link" href="portability.html" title="Portability">Portability</a>
+</h3></div></div></div>
+<p>
+ This library uses the floating-point number classification and sign-bit from
+ Boost.Math library, and should work on all platforms where that library works.
+ See the portability information for that library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fp_facets/rationale.html b/libs/math/doc/html/math_toolkit/fp_facets/rationale.html
new file mode 100644
index 0000000000..c66cc6a25b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fp_facets/rationale.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Design Rationale</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
+<link rel="prev" href="portability.html" title="Portability">
+<link rel="next" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="portability.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../next_float.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.fp_facets.rationale"></a><a class="link" href="rationale.html" title="Design Rationale">Design Rationale</a>
+</h3></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The flags are implemented as a const data member of the facet. Facets
+ are reference counted, and locales can share facets. Therefore changing
+ the flags of a facet would have effects that are hard to predict. An
+ alternative design would be to implement the flags using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">xalloc</span></code> and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">iword</span></code>.
+ Then one could safely modify the flags, and one could define manipulators
+ that do so. However, for that to work with dynamically linked libraries,
+ a <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
+ file would have to be added to the library. It was judged be more desirable
+ to have a headers only library, than to have mutable flags and manipulators.
+ </li>
+<li class="listitem">
+ The facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ throws an exception when the <code class="computeroutput"><span class="identifier">trap_infinity</span></code>
+ or <code class="computeroutput"><span class="identifier">trap_nan</span></code> flag is set
+ and an attempt is made to format infinity or NaN. It would be better
+ if the facet set the fail bit of the stream. However, facets derived
+ from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span></code> do not have access to the stream
+ state.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="portability.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../next_float.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fp_facets/reference.html b/libs/math/doc/html/math_toolkit/fp_facets/reference.html
new file mode 100644
index 0000000000..5e91b4ae80
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fp_facets/reference.html
@@ -0,0 +1,491 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reference</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
+<link rel="prev" href="facets_intro.html" title="Introduction">
+<link rel="next" href="examples.html" title="Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="facets_intro.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.fp_facets.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
+</h3></div></div></div>
+<h6>
+<a name="math_toolkit.fp_facets.reference.h0"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.reference.the_facet_nonfinite_num_put"></a></span><a class="link" href="reference.html#math_toolkit.fp_facets.reference.the_facet_nonfinite_num_put">The
+ Facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code></a>
+ </h6>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">nonfinite_num_put</span><span class="special">;</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="keyword">class</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span></code> is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span></code>. Thus it is a facet that formats numbers.
+ The first template argument is the character type of the formatted strings,
+ usually <code class="computeroutput"><span class="keyword">char</span></code> or <code class="computeroutput"><span class="keyword">wchar_t</span></code>. The second template argument is the
+ type of iterator used to write the strings. It is required to be an output
+ iterator. Usually the default <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostreambuf_iterator</span></code>
+ is used. The public interface of the class consists of a single constructor
+ only:
+ </p>
+<pre class="programlisting"><span class="identifier">nonfinite_num_put</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ The flags argument (effectively optional because a default of <code class="computeroutput"> <span class="identifier">no_flags</span></code> is provided) is discussed below.
+ The class template <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ is defined in the header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span></code> and lives in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
+ </p>
+<p>
+ Unlike the C++ Standard facet <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span></code>,
+ the facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ formats <code class="computeroutput"><span class="identifier">infinity</span></code> and <code class="computeroutput"><span class="identifier">NaN</span></code> in a consistent and portable manner.
+ It uses the following string representations:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Number
+ </p>
+ </th>
+<th>
+ <p>
+ String
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Positive infinity
+ </p>
+ </td>
+<td>
+ <p>
+ inf
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Positive NaN
+ </p>
+ </td>
+<td>
+ <p>
+ nan
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative infinity
+ </p>
+ </td>
+<td>
+ <p>
+ -inf
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative NaN
+ </p>
+ </td>
+<td>
+ <p>
+ -nan
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>. The strings can be in all
+ lower case or all upper case. An optional + sign can be used with positive
+ numbers. This can be controlled with the <code class="computeroutput"><span class="identifier">uppercase</span></code>,
+ <code class="computeroutput"><span class="identifier">lowercase</span></code>, <code class="computeroutput"><span class="identifier">showpos</span></code> and <code class="computeroutput"><span class="identifier">noshowpos</span></code>
+ manipulators. Formatting of integers, boolean values and finite floating-point
+ numbers is simply delegated to the normal <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.fp_facets.reference.h1"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.reference.facet_nonfinite_num_get"></a></span><a class="link" href="reference.html#math_toolkit.fp_facets.reference.facet_nonfinite_num_get">Facet
+ <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code></a>
+ </h6>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">InputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">istreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">nonfinite_num_get</span><span class="special">;</span>
+</pre>
+<p>
+ The class <code class="computeroutput"><span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span></code> is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">IntputIterator</span><span class="special">&gt;</span></code>. Thus it is a facet that parses strings
+ that represent numbers. The first template argument is the character type
+ of the strings, usually <code class="computeroutput"><span class="keyword">char</span></code>
+ or <code class="computeroutput"><span class="keyword">wchar_t</span></code>. The second template
+ argument is the type of iterator used to read the strings. It is required
+ to be an input iterator. Usually the default is used. The public interface
+ of the class consists of a single constructor only:
+ </p>
+<pre class="programlisting"><span class="identifier">nonfinite_num_get</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+</pre>
+<p>
+ The flags argument is discussed below. The <code class="computeroutput"><span class="keyword">class</span>
+ <span class="keyword">template</span> <span class="identifier">nonfinite_num_get</span></code>
+ is defined in the header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span></code> and lives in the <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
+ </p>
+<p>
+ Unlike the facet <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code>, the facet <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
+ parses strings that represent <code class="computeroutput"><span class="identifier">infinity</span></code>
+ and <code class="computeroutput"><span class="identifier">NaN</span></code> in a consistent and
+ portable manner. It recognizes precisely the string representations specified
+ by the C99 standard:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Number
+ </p>
+ </th>
+<th>
+ <p>
+ String
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Positive infinity
+ </p>
+ </td>
+<td>
+ <p>
+ inf, infinity
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Positive NaN
+ </p>
+ </td>
+<td>
+ <p>
+ nan, nan(...)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative infinity
+ </p>
+ </td>
+<td>
+ <p>
+ -inf, -infinity
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative NaN
+ </p>
+ </td>
+<td>
+ <p>
+ -nan, -nan(...)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>. The facet is case-insensitive.
+ An optional + sign can be used with positive numbers. The dots in nan(...)
+ stand for an arbitrary string usually containing the <span class="emphasis"><em>NaN payload</em></span>.
+ Parsing of strings that represent integers, boolean values and finite floating-point
+ numbers is delegated to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code>.
+ </p>
+<p>
+ When the facet parses a string that represents <code class="computeroutput"><span class="identifier">infinity</span></code>
+ on a platform that lacks infinity, then the fail bit of the stream is set.
+ </p>
+<p>
+ When the facet parses a string that represents <code class="computeroutput"><span class="identifier">NaN</span></code>
+ on a platform that lacks NaN, then the fail bit of the stream is set.
+ </p>
+<h5>
+<a name="math_toolkit.fp_facets.reference.h2"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.reference.flags"></a></span><a class="link" href="reference.html#math_toolkit.fp_facets.reference.flags">Flags</a>
+ </h5>
+<p>
+ The constructors for <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
+ and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code> take
+ an optional bit flags argument. There are four different bit flags:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ legacy
+ </li>
+<li class="listitem">
+ signed_zero
+ </li>
+<li class="listitem">
+ trap_infinity
+ </li>
+<li class="listitem">
+ trap_nan
+ </li>
+</ul></div>
+<p>
+ The flags can be combined with the OR <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code>.
+ </p>
+<p>
+ The flags are defined in the header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span></code> and live in the <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.fp_facets.reference.h3"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.reference.legacy"></a></span><a class="link" href="reference.html#math_toolkit.fp_facets.reference.legacy">legacy</a>
+ </h6>
+<p>
+ The legacy flag has no effect with the output facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>.
+ </p>
+<p>
+ If the legacy flag is used with the <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
+ input facet, then the facet will recognize all the following string representations
+ of <code class="computeroutput"><span class="identifier">infinity</span></code> and <code class="computeroutput"><span class="identifier">NaN</span></code>:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Number
+ </p>
+ </th>
+<th>
+ <p>
+ String
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Positive infinity
+ </p>
+ </td>
+<td>
+ <p>
+ inf, infinity, one#inf
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Positive NaN
+ </p>
+ </td>
+<td>
+ <p>
+ nan, nan(...), nanq, nans, qnan, snan, one#ind, one#qnan, one#snan
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative infinity
+ </p>
+ </td>
+<td>
+ <p>
+ -inf, -infinity, -one#inf
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Negative NaN
+ </p>
+ </td>
+<td>
+ <p>
+ -nan, -nan(...), -nanq, -nans, -qnan, -snan, -one#ind, - one#qnan,
+ -one#snan
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ The facet is case-insensitive.
+ </li>
+<li class="listitem">
+ An optional <code class="computeroutput"><span class="special">+</span></code> sign can be
+ used with the positive values.
+ </li>
+<li class="listitem">
+ The dots in <code class="computeroutput"><span class="identifier">nan</span><span class="special">(...)</span></code>
+ stand for an arbitrary string.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">one</span></code> stands for any string
+ that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code> parses as the number <code class="computeroutput"><span class="number">1</span></code>, typically "1.#INF", "1.QNAN"
+ but also "000001.#INF"...
+ </li>
+</ul></div>
+<p>
+ The list includes a number of non-standard string representations of infinity
+ and NaN that are used by various existing implementations of the C++ standard
+ library, and also string representations used by other programming languages.
+ </p>
+<h6>
+<a name="math_toolkit.fp_facets.reference.h4"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.reference.signed_zero"></a></span><a class="link" href="reference.html#math_toolkit.fp_facets.reference.signed_zero">signed_zero</a>
+ </h6>
+<p>
+ If the <code class="computeroutput"><span class="identifier">signed_zero</span></code> flag is
+ used with <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>,
+ then the facet will always distinguish between positive and negative zero.
+ It will format positive zero as "0" or "+0" and negative
+ zero as "-0". The string representation of positive zero can be
+ controlled with the <code class="computeroutput"><span class="identifier">showpos</span></code>
+ and <code class="computeroutput"><span class="identifier">noshowpos</span></code> manipulators.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">signed_zero</span> <span class="identifier">flag</span></code>
+ has no effect with the input facet <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>.
+ The input facet <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
+ always parses "0" and "+0" as positive zero and "-0"
+ as negative zero, as do most implementations of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If the <code class="computeroutput"><span class="identifier">signed_zero</span></code> flag
+ is not set (the default), then a negative zero value will be displayed
+ on output in whatever way the platform normally handles it. For most platforms,
+ this it will format positive zero as "0" or "+0" and
+ negative zero as "-0". But setting the <code class="computeroutput"><span class="identifier">signed_zero</span></code>
+ flag may be more portable.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ A negative zero value can be portably produced using the changesign function
+ <code class="computeroutput"><span class="special">(</span><span class="identifier">changesign</span><span class="special">)(</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">ValType</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">))</span></code>
+ where <code class="computeroutput"><span class="identifier">ValType</span></code> is <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>
+ or <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>,
+ or a User-Defined floating-point type (UDT) provided that this UDT has
+ a sign and that the changesign function is implemented.
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="math_toolkit.fp_facets.reference.h5"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.reference.trap_infinity"></a></span><a class="link" href="reference.html#math_toolkit.fp_facets.reference.trap_infinity">trap_infinity</a>
+ </h6>
+<p>
+ If the <code class="computeroutput"><span class="identifier">trap_infinity</span></code> flag
+ is used with <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>,
+ then the facet will throw an exception of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">failure</span></code>
+ when an attempt is made to format positive or negative infinity. If the facet
+ is called from a stream insertion operator, then the stream will catch that
+ exception and set either its <code class="computeroutput"><span class="identifier">fail</span>
+ <span class="identifier">bit</span></code> or its <code class="computeroutput"><span class="identifier">bad</span>
+ <span class="identifier">bit</span></code>. Which bit is set is platform
+ dependent.
+ </p>
+<p>
+ If the <code class="computeroutput"><span class="identifier">trap_infinity</span></code> flag
+ is used with <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>,
+ then the facet will set the <code class="computeroutput"><span class="identifier">fail</span>
+ <span class="identifier">bit</span></code> of the stream when an attempt
+ is made to parse a string that represents positive or negative infinity.
+ </p>
+<p>
+ (See Design Rationale below for a discussion of this inconsistency.)
+ </p>
+<h6>
+<a name="math_toolkit.fp_facets.reference.h6"></a>
+ <span class="phrase"><a name="math_toolkit.fp_facets.reference.trap_nan"></a></span><a class="link" href="reference.html#math_toolkit.fp_facets.reference.trap_nan">trap_nan</a>
+ </h6>
+<p>
+ Same as <code class="computeroutput"><span class="identifier">trap_infinity</span></code>, but
+ positive and negative NaN are trapped instead.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="facets_intro.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/fpclass.html b/libs/math/doc/html/math_toolkit/fpclass.html
new file mode 100644
index 0000000000..9183a9bd0b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/fpclass.html
@@ -0,0 +1,253 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Floating-Point Classification: Infinities and NaNs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
+<link rel="prev" href="rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">
+<link rel="next" href="sign_functions.html" title="Sign Manipulation Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rounding/modf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sign_functions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.fpclass"></a><a class="link" href="fpclass.html" title="Floating-Point Classification: Infinities and NaNs">Floating-Point Classification: Infinities
+ and NaNs</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.fpclass.h0"></a>
+ <span class="phrase"><a name="math_toolkit.fpclass.synopsis"></a></span><a class="link" href="fpclass.html#math_toolkit.fpclass.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FP_ZERO</span> <span class="comment">/* implementation specific value */</span>
+<span class="preprocessor">#define</span> <span class="identifier">FP_NORMAL</span> <span class="comment">/* implementation specific value */</span>
+<span class="preprocessor">#define</span> <span class="identifier">FP_INFINITE</span> <span class="comment">/* implementation specific value */</span>
+<span class="preprocessor">#define</span> <span class="identifier">FP_NAN</span> <span class="comment">/* implementation specific value */</span>
+<span class="preprocessor">#define</span> <span class="identifier">FP_SUBNORMAL</span> <span class="comment">/* implementation specific value */</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">fpclassify</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isfinite</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span> <span class="comment">// Neither infinity nor NaN.</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isinf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// Infinity (+ or -).</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isnan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// NaN.</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isnormal</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// isfinite and not denormalised.</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">special_functions</span><span class="special">\</span><span class="identifier">fpclassify</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ to use these functions.
+ </p>
+<h5>
+<a name="math_toolkit.fpclass.h1"></a>
+ <span class="phrase"><a name="math_toolkit.fpclass.description"></a></span><a class="link" href="fpclass.html#math_toolkit.fpclass.description">Description</a>
+ </h5>
+<p>
+ These functions provide the same functionality as the macros with the same
+ name in C99, indeed if the C99 macros are available, then these functions are
+ implemented in terms of them, otherwise they rely on std::numeric_limits&lt;&gt;
+ to function.
+ </p>
+<p>
+ Note that the definition of these functions <span class="emphasis"><em>does not suppress the
+ definition of these names as macros by math.h</em></span> on those platforms
+ that already provide these as macros. That mean that the following have differing
+ meanings:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+
+<span class="comment">// This might call a global macro if defined,</span>
+<span class="comment">// but might not work if the type of z is unsupported </span>
+<span class="comment">// by the std lib macro:</span>
+<span class="identifier">isnan</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
+<span class="comment">//</span>
+<span class="comment">// This calls the Boost version</span>
+<span class="comment">// (found via the "using namespace boost::math" declaration)</span>
+<span class="comment">// it works for any type that has numeric_limits support for type z:</span>
+<span class="special">(</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
+<span class="comment">//</span>
+<span class="comment">// As above but with explicit namespace qualification.</span>
+<span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
+<span class="comment">//</span>
+<span class="comment">// This will cause a compiler error if isnan is a native macro:</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
+<span class="comment">// So always use instead:</span>
+<span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
+<span class="comment">//</span>
+<span class="comment">// You can also add a using statement,</span>
+<span class="comment">// globally to a .cpp file, or to a local function in a .hpp file.</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">;</span>
+<span class="comment">// so you can write the shorter and less cluttered</span>
+<span class="special">(</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">)</span>
+<span class="comment">// But, as above, if isnan is a native macro, this causes a compiler error,</span>
+<span class="comment">// because the macro always 'gets' the name first, unless enclosed in () brackets.</span>
+</pre>
+<p>
+ Detailed descriptions for each of these functions follows:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">fpclassify</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
+</pre>
+<p>
+ Returns an integer value that classifies the value <span class="emphasis"><em>t</em></span>:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ fpclassify value
+ </p>
+ </th>
+<th>
+ <p>
+ class of t.
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ FP_ZERO
+ </p>
+ </td>
+<td>
+ <p>
+ If <span class="emphasis"><em>t</em></span> is zero.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ FP_NORMAL
+ </p>
+ </td>
+<td>
+ <p>
+ If <span class="emphasis"><em>t</em></span> is a non-zero, non-denormalised finite
+ value.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ FP_INFINITE
+ </p>
+ </td>
+<td>
+ <p>
+ If <span class="emphasis"><em>t</em></span> is plus or minus infinity.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ FP_NAN
+ </p>
+ </td>
+<td>
+ <p>
+ If <span class="emphasis"><em>t</em></span> is a NaN.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ FP_SUBNORMAL
+ </p>
+ </td>
+<td>
+ <p>
+ If <span class="emphasis"><em>t</em></span> is a denormalised number.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isfinite</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ Returns true only if <span class="emphasis"><em>z</em></span> is not an infinity or a NaN.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isinf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
+</pre>
+<p>
+ Returns true only if <span class="emphasis"><em>z</em></span> is plus or minus infinity.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isnan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
+</pre>
+<p>
+ Returns true only if <span class="emphasis"><em>z</em></span> is a <a href="http://en.wikipedia.org/wiki/NaN" target="_top">NaN</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">isnormal</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
+</pre>
+<p>
+ Returns true only if <span class="emphasis"><em>z</em></span> is a normal number (not zero, infinite,
+ NaN, or denormalised).
+ </p>
+<h6>
+<a name="math_toolkit.fpclass.h2"></a>
+ <span class="phrase"><a name="math_toolkit.fpclass.floating_point_format"></a></span><a class="link" href="fpclass.html#math_toolkit.fpclass.floating_point_format">Floating-point
+ format</a>
+ </h6>
+<p>
+ If you wish to find details of the floating-point format for any particular
+ processor, there is a program
+ </p>
+<p>
+ <a href="../../../example/inspect_fp.cpp" target="_top">inspect_fp.cpp</a>
+ </p>
+<p>
+ by Johan Rade which can be used to print out the processor type, endianness,
+ and detailed bit layout of a selection of floating-point values, including
+ infinity and NaNs.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rounding/modf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sign_functions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/future.html b/libs/math/doc/html/math_toolkit/future.html
new file mode 100644
index 0000000000..f1d8300535
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/future.html
@@ -0,0 +1,148 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Extras/Future Directions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dist.html" title="Chapter&#160;5.&#160;Statistical Distributions and Functions">
+<link rel="prev" href="dist_ref/dist_algorithms.html" title="Distribution Algorithms">
+<link rel="next" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dist_ref/dist_algorithms.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../special.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.future"></a><a class="link" href="future.html" title="Extras/Future Directions">Extras/Future Directions</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.future.h0"></a>
+ <span class="phrase"><a name="math_toolkit.future.adding_additional_location_and_s"></a></span><a class="link" href="future.html#math_toolkit.future.adding_additional_location_and_s">Adding
+ Additional Location and Scale Parameters</a>
+ </h5>
+<p>
+ In some modelling applications we require a distribution with a specific location
+ and scale: often this equates to a specific mean and standard deviation, although
+ for many distributions the relationship between these properties and the location
+ and scale parameters are non-trivial. See <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm" target="_top">http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm</a>
+ for more information.
+ </p>
+<p>
+ The obvious way to handle this is via an adapter template:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">scaled_distribution</span>
+<span class="special">{</span>
+ <span class="identifier">scaled_distribution</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">Dist</span> <span class="identifier">dist</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">location</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Which would then have its own set of overloads for the non-member accessor
+ functions.
+ </p>
+<h5>
+<a name="math_toolkit.future.h1"></a>
+ <span class="phrase"><a name="math_toolkit.future.an_any_distribution_class"></a></span><a class="link" href="future.html#math_toolkit.future.an_any_distribution_class">An
+ "any_distribution" class</a>
+ </h5>
+<p>
+ It is easy to add a distribution object that virtualises the actual type of
+ the distribution, and can therefore hold "any" object that conforms
+ to the conceptual requirements of a distribution:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">any_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">&gt;</span>
+ <span class="identifier">any_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Distribution</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="comment">// Get the cdf of the underlying distribution:</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">cdf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">any_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="comment">// etc....</span>
+</pre>
+<p>
+ Such a class would facilitate the writing of non-template code that can function
+ with any distribution type.
+ </p>
+<p>
+ The <a href="http://sourceforge.net/projects/distexplorer/" target="_top">Statistical
+ Distribution Explorer</a> utility for Windows is a usage example.
+ </p>
+<p>
+ It's not clear yet whether there is a compelling use case though. Possibly
+ tests for goodness of fit might provide such a use case: this needs more investigation.
+ </p>
+<h5>
+<a name="math_toolkit.future.h2"></a>
+ <span class="phrase"><a name="math_toolkit.future.higher_level_hypothesis_tests"></a></span><a class="link" href="future.html#math_toolkit.future.higher_level_hypothesis_tests">Higher
+ Level Hypothesis Tests</a>
+ </h5>
+<p>
+ Higher-level tests roughly corresponding to the <a href="http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/HypothesisTests.html" target="_top">Mathematica
+ Hypothesis Tests</a> package could be added reasonably easily, for example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">InputIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span>
+ <span class="identifier">test_equal_mean</span><span class="special">(</span>
+ <span class="identifier">InputIterator</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">InputIterator</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">InputIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">expected_mean</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the probability that the data in the sequence [a,b) has the mean <span class="emphasis"><em>expected_mean</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.future.h3"></a>
+ <span class="phrase"><a name="math_toolkit.future.integration_with_statistical_acc"></a></span><a class="link" href="future.html#math_toolkit.future.integration_with_statistical_acc">Integration
+ With Statistical Accumulators</a>
+ </h5>
+<p>
+ <a href="http://boost-sandbox.sourceforge.net/libs/accumulators/doc/html/index.html" target="_top">Eric
+ Niebler's accumulator framework</a> - also work in progress - provides
+ the means to calculate various statistical properties from experimental data.
+ There is an opportunity to integrate the statistical tests with this framework
+ at some later date:
+ </p>
+<pre class="programlisting"><span class="comment">// Define an accumulator, all required statistics to calculate the test</span>
+<span class="comment">// are calculated automatically:</span>
+<span class="identifier">accumulator_set</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">features</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">test_expected_mean</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">acc</span><span class="special">(</span><span class="identifier">expected_mean</span><span class="special">=</span><span class="number">4</span><span class="special">);</span>
+<span class="comment">// Pass our data to the accumulator:</span>
+<span class="identifier">acc</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">mydata</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">mydata</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">acc</span><span class="special">);</span>
+<span class="comment">// Extract the result:</span>
+<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">probability</span><span class="special">(</span><span class="identifier">acc</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dist_ref/dist_algorithms.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../special.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/gcd_credits.html b/libs/math/doc/html/math_toolkit/gcd_credits.html
new file mode 100644
index 0000000000..f9c62b0fc9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/gcd_credits.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Credits</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="gcd_history.html" title="History">
+<link rel="next" href="../toolkit.html" title="Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../toolkit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.gcd_credits"></a><a class="link" href="gcd_credits.html" title="Credits">Credits</a>
+</h2></div></div></div>
+<p>
+ The author of the Boost compilation of GCD and LCM computations is Daryle Walker.
+ The code was prompted by existing code hiding in the implementations of Paul
+ Moore's rational library and Steve Cleary's pool library. The code had updates
+ by Helmut Zeisel.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../toolkit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/gcd_function_object.html b/libs/math/doc/html/math_toolkit/gcd_function_object.html
new file mode 100644
index 0000000000..adc1eb42aa
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/gcd_function_object.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>GCD Function Object</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="synopsis.html" title="Synopsis">
+<link rel="next" href="lcm_function_object.html" title="LCM Function Object">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lcm_function_object.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.gcd_function_object"></a><a class="link" href="gcd_function_object.html" title="GCD Function Object">GCD Function Object</a>
+</h2></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <a href="../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd_evaluator</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// Types</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">first_argument_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">second_argument_type</span><span class="special">;</span>
+
+ <span class="comment">// Function object interface</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span> <span class="special">()(</span> <span class="identifier">first_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">second_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The boost::math::gcd_evaluator class template defines a function object class
+ to return the greatest common divisor of two integers. The template is parameterized
+ by a single type, called IntegerType here. This type should be a numeric type
+ that represents integers. The result of the function object is always nonnegative,
+ even if either of the operator arguments is negative.
+ </p>
+<p>
+ This function object class template is used in the corresponding version of
+ the GCD function template. If a numeric type wants to customize evaluations
+ of its greatest common divisors, then the type should specialize on the gcd_evaluator
+ class template.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lcm_function_object.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/gcd_header.html b/libs/math/doc/html/math_toolkit/gcd_header.html
new file mode 100644
index 0000000000..b1b0d7cbd3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/gcd_header.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Header &lt;boost/math/common_factor.hpp&gt;</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="compile_time.html" title="Compile time GCD and LCM determination">
+<link rel="next" href="demo.html" title="Demonstration Program">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile_time.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="demo.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.gcd_header"></a><a class="link" href="gcd_header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">Header &lt;boost/math/common_factor.hpp&gt;</a>
+</h2></div></div></div>
+<p>
+ This header simply includes the headers <a href="../../../../../boost/math/common_factor_ct.hpp" target="_top">&lt;boost/math/common_factor_ct.hpp&gt;</a>
+ and <a href="../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>.
+ </p>
+<p>
+ Note this is a legacy header: it used to contain the actual implementation,
+ but the compile-time and run-time facilities were moved to separate headers
+ (since they were independent of each other).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile_time.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="demo.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/gcd_history.html b/libs/math/doc/html/math_toolkit/gcd_history.html
new file mode 100644
index 0000000000..180d38b0de
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/gcd_history.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="rationale0.html" title="Rationale">
+<link rel="next" href="gcd_credits.html" title="Credits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale0.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_credits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.gcd_history"></a><a class="link" href="gcd_history.html" title="History">History</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ 13 May 2013 Moved into main Boost.Math Quickbook documentation.
+ </li>
+<li class="listitem">
+ 17 Dec 2005: Converted documentation to Quickbook Format.
+ </li>
+<li class="listitem">
+ 2 Jul 2002: Compile-time and run-time items separated to new headers.
+ </li>
+<li class="listitem">
+ 7 Nov 2001: Initial version
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale0.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_credits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/getting_best.html b/libs/math/doc/html/math_toolkit/getting_best.html
new file mode 100644
index 0000000000..9c7b27e5b4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/getting_best.html
@@ -0,0 +1,296 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Getting the Best Performance from this Library</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="prev" href="interp.html" title="Interpreting these Results">
+<link rel="next" href="comp_compilers.html" title="Comparing Compilers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comp_compilers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.getting_best"></a><a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">Getting the Best Performance
+ from this Library</a>
+</h2></div></div></div>
+<p>
+ By far the most important thing you can do when using this library is turn
+ on your compiler's optimisation options. As the following table shows the penalty
+ for using the library in debug mode can be quite large.
+ </p>
+<div class="table">
+<a name="math_toolkit.getting_best.performance_comparison_of_releas"></a><p class="title"><b>Table&#160;15.1.&#160;Performance Comparison of Release and Debug Settings</b></p>
+<div class="table-contents"><table class="table" summary="Performance Comparison of Release and Debug Settings">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ 8.0
+ </p>
+ <p>
+ Debug Settings: /Od /ZI
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ 8.0
+ </p>
+ <p>
+ Release settings: /Ox /arch:SSE2
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_erf/error_function.html" title="Error Functions">erf</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>16.65</p>
+<p> </p>
+<p>(1.028e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.483e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>19.28</p>
+<p> </p>
+<p>(1.215e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.888e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>8.32</p>
+<p> </p>
+<p>(1.540e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.852e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.25</p>
+<p> </p>
+<p>(7.492e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.311e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
+ and <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>8.57</p>
+<p> </p>
+<p>(2.441e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.847e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a> and
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.98</p>
+<p> </p>
+<p>(1.044e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.504e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.25</p>
+<p> </p>
+<p>(3.721e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.631e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
+ and <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>11.26</p>
+<p> </p>
+<p>(1.124e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.982e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interp.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comp_compilers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/greatest_typdefs.html b/libs/math/doc/html/math_toolkit/greatest_typdefs.html
new file mode 100644
index 0000000000..34e37abde5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/greatest_typdefs.html
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Greatest-width floating-point typedef</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="fastest_typdefs.html" title="Fastest floating-point typedefs">
+<link rel="next" href="macros.html" title="Floating-Point Constant Macros">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fastest_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.greatest_typdefs"></a><a class="link" href="greatest_typdefs.html" title="Greatest-width floating-point typedef">Greatest-width floating-point
+ typedef</a>
+</h2></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="keyword">typedef</span> <span class="identifier">floatmax_t</span></code>
+ designates a floating-point type capable of representing any value of any floating-point
+ type in a given platform most precisely.
+ </p>
+<p>
+ The greatest-width <code class="computeroutput"><span class="keyword">typedef</span></code> is
+ provided for all platforms, but, of course, the size may vary.
+ </p>
+<p>
+ To provide floating-point <span class="bold"><strong>constants</strong></span> most precisely
+ for a <code class="computeroutput"><span class="identifier">floatmax_t</span></code> type, use
+ the macro BOOST_FLOATMAX_C.
+ </p>
+<p>
+ For example, replace a constant <code class="computeroutput"><span class="number">123.4567890123456789012345678901234567890</span></code>
+ with
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_FLOATMAX_C</span><span class="special">(</span><span class="number">123.4567890123456789012345678901234567890</span><span class="special">)</span>
+</pre>
+<p>
+ If, for example, <code class="computeroutput"><span class="identifier">floatmax_t</span></code>
+ is <code class="computeroutput"><span class="identifier">float64_t</span></code> then the result
+ will be equivalent to a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> suffixed with L, but if <code class="computeroutput"><span class="identifier">floatmax_t</span></code> is <code class="computeroutput"><span class="identifier">float128_t</span></code>
+ then the result will be equivalent to a <code class="computeroutput"><span class="identifier">quad</span>
+ <span class="identifier">type</span></code> suffixed with Q (assuming, of
+ course, that <code class="computeroutput"><span class="identifier">float128</span></code> is supported).
+ </p>
+<p>
+ If we display with <code class="computeroutput"><span class="identifier">max_digits10</span></code>,
+ the maximum possibly significant decimal digits:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_FLOAT32_C</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">max_digits10</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">float32_t</span><span class="special">&gt;());</span> <span class="comment">// Show all significant decimal digits,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">setf</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">showpoint</span><span class="special">);</span> <span class="comment">// including all significant trailing zeros.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"BOOST_FLOAT32_C(123.4567890123456789012345678901234567890) = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">BOOST_FLOAT32_C</span><span class="special">(</span><span class="number">123.4567890123456789012345678901234567890</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// BOOST_FLOAT32_C(123.4567890123456789012345678901234567890) = 123.456787</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ then on a 128-bit platform (GCC 4.8.1. with quadmath):
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_FLOAT32_C</span><span class="special">(</span><span class="number">123.4567890123456789012345678901234567890</span><span class="special">)</span> <span class="special">=</span> <span class="number">123.456787</span>
+<span class="identifier">BOOST_FLOAT64_C</span><span class="special">(</span><span class="number">123.4567890123456789012345678901234567890</span><span class="special">)</span> <span class="special">=</span> <span class="number">123.45678901234568</span>
+<span class="identifier">BOOST_FLOAT80_C</span><span class="special">(</span><span class="number">123.4567890123456789012345678901234567890</span><span class="special">)</span> <span class="special">=</span> <span class="number">123.456789012345678903</span>
+<span class="identifier">BOOST_FLOAT128_C</span><span class="special">(</span><span class="number">123.4567890123456789012345678901234567890</span><span class="special">)</span> <span class="special">=</span> <span class="number">123.456789012345678901234567890123453</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fastest_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="macros.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/hankel.html b/libs/math/doc/html/math_toolkit/hankel.html
new file mode 100644
index 0000000000..7f028e4193
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/hankel.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Hankel Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">
+<link rel="next" href="hankel/cyl_hankel.html" title="Cyclic Hankel Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel/bessel_derivatives.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hankel/cyl_hankel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.hankel"></a><a class="link" href="hankel.html" title="Hankel Functions">Hankel Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="hankel/cyl_hankel.html">Cyclic Hankel Functions</a></span></dt>
+<dt><span class="section"><a href="hankel/sph_hankel.html">Spherical Hankel Functions</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bessel/bessel_derivatives.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hankel/cyl_hankel.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/hankel/cyl_hankel.html b/libs/math/doc/html/math_toolkit/hankel/cyl_hankel.html
new file mode 100644
index 0000000000..c823c01dab
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/hankel/cyl_hankel.html
@@ -0,0 +1,162 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Cyclic Hankel Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../hankel.html" title="Hankel Functions">
+<link rel="prev" href="../hankel.html" title="Hankel Functions">
+<link rel="next" href="sph_hankel.html" title="Spherical Hankel Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hankel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_hankel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.hankel.cyl_hankel"></a><a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">Cyclic Hankel Functions</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.hankel.cyl_hankel.h0"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.cyl_hankel.synopsis"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.hankel.cyl_hankel.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<h5>
+<a name="math_toolkit.hankel.cyl_hankel.h1"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.cyl_hankel.description"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.hankel.cyl_hankel.description">Description</a>
+ </h5>
+<p>
+ The functions <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>
+ and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a> return
+ the result of the <a href="http://dlmf.nist.gov/10.2#P3" target="_top">Hankel functions</a>
+ of the first and second kind respectively:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>cyl_hankel_1(v, x) = H<sub>v</sub><sup>(1)</sup>(x) = J<sub>v</sub>(x) + i Y<sub>v</sub>(x)</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>cyl_hankel_2(v, x) = H<sub>v</sub><sup>(2)</sup>(x) = J<sub>v</sub>(x) - i Y<sub>v</sub>(x)</em></span>
+ </p></blockquote></div>
+<p>
+ where:
+ </p>
+<p>
+ <span class="emphasis"><em>J<sub>v</sub>(x)</em></span> is the Bessel function of the first kind, and
+ <span class="emphasis"><em>Y<sub>v</sub>(x)</em></span> is the Bessel function of the second kind.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ The functions are also optimised for the relatively common case that T1 is
+ an integer.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Note that while the arguments to these functions are real values, the results
+ are complex. That means that the functions can only be instantiated on types
+ <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>
+ and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ The functions have also been extended to operate over the whole range of
+ <span class="emphasis"><em>v</em></span> and <span class="emphasis"><em>x</em></span> (unlike <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>).
+ </p>
+<h5>
+<a name="math_toolkit.hankel.cyl_hankel.h2"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.cyl_hankel.performance"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.hankel.cyl_hankel.performance">Performance</a>
+ </h5>
+<p>
+ These functions are generally more efficient than two separate calls to the
+ underlying Bessel functions as internally Bessel J and Y can be computed
+ simultaneously.
+ </p>
+<h5>
+<a name="math_toolkit.hankel.cyl_hankel.h3"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.cyl_hankel.testing"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.hankel.cyl_hankel.testing">Testing</a>
+ </h5>
+<p>
+ There are just a few spot tests to exercise all the special case handling
+ - the bulk of the testing is done on the Bessel functions upon which these
+ are based.
+ </p>
+<h5>
+<a name="math_toolkit.hankel.cyl_hankel.h4"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.cyl_hankel.accuracy"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.hankel.cyl_hankel.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Refer to <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
+ </p>
+<h5>
+<a name="math_toolkit.hankel.cyl_hankel.h5"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.cyl_hankel.implementation"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.hankel.cyl_hankel.implementation">Implementation</a>
+ </h5>
+<p>
+ For <span class="emphasis"><em>x &lt; 0</em></span> the following reflection formulae are used:
+ </p>
+<p>
+ <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselJ/16/01/01/" target="_top">
+ <span class="inlinemediaobject"><img src="../../../equations/hankel1.png"></span></a>
+ </p>
+<p>
+ <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/" target="_top">
+ <span class="inlinemediaobject"><img src="../../../equations/hankel2.png"></span></a>
+ </p>
+<p>
+ <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/" target="_top">
+ <span class="inlinemediaobject"><img src="../../../equations/hankel3.png"></span></a>
+ </p>
+<p>
+ Otherwise the implementation is trivially in terms of the Bessel J and Y
+ functions.
+ </p>
+<p>
+ Note however, that the Hankel functions compute the Bessel J and Y functions
+ simultaneously, and therefore a single Hankel function call is more efficient
+ than two Bessel function calls. The one exception is when <span class="emphasis"><em>v</em></span>
+ is a small positive integer, in which case the usual Bessel function routines
+ for integer order are used.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../hankel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_hankel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/hankel/sph_hankel.html b/libs/math/doc/html/math_toolkit/hankel/sph_hankel.html
new file mode 100644
index 0000000000..fcb8893a36
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/hankel/sph_hankel.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Spherical Hankel Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../hankel.html" title="Hankel Functions">
+<link rel="prev" href="cyl_hankel.html" title="Cyclic Hankel Functions">
+<link rel="next" href="../airy.html" title="Airy Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cyl_hankel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../airy.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.hankel.sph_hankel"></a><a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">Spherical Hankel Functions</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.hankel.sph_hankel.h0"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.sph_hankel.synopsis"></a></span><a class="link" href="sph_hankel.html#math_toolkit.hankel.sph_hankel.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<h5>
+<a name="math_toolkit.hankel.sph_hankel.h1"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.sph_hankel.description"></a></span><a class="link" href="sph_hankel.html#math_toolkit.hankel.sph_hankel.description">Description</a>
+ </h5>
+<p>
+ The functions <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a>
+ and <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a> return
+ the result of the <a href="http://dlmf.nist.gov/10.47#P1" target="_top">spherical Hankel
+ functions</a> of the first and second kind respectively:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/hankel4.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/hankel5.png"></span>
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ The functions are also optimised for the relatively common case that T1 is
+ an integer.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Note that while the arguments to these functions are real values, the results
+ are complex. That means that the functions can only be instantiated on types
+ <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>
+ and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ The functions have also been extended to operate over the whole range of
+ <span class="emphasis"><em>v</em></span> and <span class="emphasis"><em>x</em></span> (unlike <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>).
+ </p>
+<h5>
+<a name="math_toolkit.hankel.sph_hankel.h2"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.sph_hankel.testing"></a></span><a class="link" href="sph_hankel.html#math_toolkit.hankel.sph_hankel.testing">Testing</a>
+ </h5>
+<p>
+ There are just a few spot tests to exercise all the special case handling
+ - the bulk of the testing is done on the Bessel functions upon which these
+ are based.
+ </p>
+<h5>
+<a name="math_toolkit.hankel.sph_hankel.h3"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.sph_hankel.accuracy"></a></span><a class="link" href="sph_hankel.html#math_toolkit.hankel.sph_hankel.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Refer to <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="../bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
+ </p>
+<h5>
+<a name="math_toolkit.hankel.sph_hankel.h4"></a>
+ <span class="phrase"><a name="math_toolkit.hankel.sph_hankel.implementation"></a></span><a class="link" href="sph_hankel.html#math_toolkit.hankel.sph_hankel.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions are trivially implemented in terms of <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>
+ and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cyl_hankel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../airy.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision.html b/libs/math/doc/html/math_toolkit/high_precision.html
new file mode 100644
index 0000000000..ff66608ae5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using Boost.Math with High-Precision Floating-Point Libraries</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../using_udt.html" title="Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and others">
+<link rel="prev" href="../using_udt.html" title="Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and others">
+<link rel="next" href="high_precision/why_high_precision.html" title="Why use a high-precision library rather than built-in floating-point types?">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../using_udt.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="high_precision/why_high_precision.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.high_precision"></a><a class="link" href="high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">Using Boost.Math with High-Precision
+ Floating-Point Libraries</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="high_precision/why_high_precision.html">Why use
+ a high-precision library rather than built-in floating-point types?</a></span></dt>
+<dt><span class="section"><a href="high_precision/use_multiprecision.html">Using
+ Boost.Multiprecision</a></span></dt>
+<dt><span class="section"><a href="high_precision/float128.html">Using with GCC's
+ __float128 datatype</a></span></dt>
+<dt><span class="section"><a href="high_precision/use_mpfr.html">Using With MPFR
+ or GMP - High-Precision Floating-Point Library</a></span></dt>
+<dt><span class="section"><a href="high_precision/e_float.html">Using e_float Library</a></span></dt>
+<dt><span class="section"><a href="high_precision/use_ntl.html">Using NTL Library</a></span></dt>
+<dt><span class="section"><a href="high_precision/using_test.html">Using without
+ expression templates for Boost.Test and others</a></span></dt>
+</dl></div>
+<p>
+ The special functions, distributions, constants and tools in this library can
+ be used with a number of high-precision libraries, including:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ </li>
+<li class="listitem">
+ <a href="http://calgo.acm.org/910.zip" target="_top">e_float (TOMS Algorithm 910)</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.shoup.net/ntl/" target="_top">NTL A Library for doing Number Theory</a>
+ </li>
+<li class="listitem">
+ <a href="http://gmplib.org/" target="_top">GNU Multiple Precision Arithmetic Library</a>
+ </li>
+<li class="listitem">
+ <a href="http://www.mpfr.org/" target="_top">GNU MPFR library</a>
+ </li>
+<li class="listitem">
+ __float128
+ </li>
+</ul></div>
+<p>
+ The last four have some license restrictions; only <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ when using the <code class="computeroutput"><span class="identifier">cpp_float</span></code> backend
+ can provide an unrestricted <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">Boost</a>
+ license.
+ </p>
+<p>
+ At present, the price of a free license is slightly lower speed.
+ </p>
+<p>
+ Of course, the main cost of higher precision is very much decreased (usually
+ at least hundred-fold) computation speed, and big increases in memory use.
+ </p>
+<p>
+ Some libraries offer true <a href="http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic" target="_top">arbitrary
+ precision arithmetic</a> where the precision is limited only by avilable
+ memory and compute time, but most are used at some arbitrarily-fixed precision,
+ say 100 decimal digits.
+ </p>
+<p>
+ <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ can operate in both ways, but the most popular choice is likely to be about
+ a hundred decimal digits, though examples of computing tens of thousands of
+ digits have been demonstrated.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../using_udt.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="high_precision/why_high_precision.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision/e_float.html b/libs/math/doc/html/math_toolkit/high_precision/e_float.html
new file mode 100644
index 0000000000..6ffbfc12d2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision/e_float.html
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using e_float Library</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="prev" href="use_mpfr.html" title="Using With MPFR or GMP - High-Precision Floating-Point Library">
+<link rel="next" href="use_ntl.html" title="Using NTL Library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_mpfr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_ntl.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.high_precision.e_float"></a><a class="link" href="e_float.html" title="Using e_float Library">Using e_float Library</a>
+</h3></div></div></div>
+<p>
+ <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ was a development from the <a href="http://calgo.acm.org/910.zip" target="_top">e_float
+ (TOMS Algorithm 910)</a> library by Christopher Kormanyos.
+ </p>
+<p>
+ e_float can still be used with Boost.Math library via the header:
+ </p>
+<pre class="programlisting"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span><span class="special">/</span><span class="identifier">e_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ And the type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">ef</span><span class="special">::</span><span class="identifier">e_float</span></code>:
+ this type is a thin wrapper class around ::e_float which provides the necessary
+ syntactic sugar to make everything "just work".
+ </p>
+<p>
+ There is also a concept checking test program for e_float support <a href="../../../../../../libs/math/test/e_float_concept_check.cpp" target="_top">here</a>.
+ </p>
+<p>
+ <span class="bold"><strong>New projects are recommended to use <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ with <code class="computeroutput"><span class="identifier">cpp_float</span></code> backend instead.</strong></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_mpfr.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_ntl.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision/float128.html b/libs/math/doc/html/math_toolkit/high_precision/float128.html
new file mode 100644
index 0000000000..952419f76b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision/float128.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using with GCC's __float128 datatype</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="prev" href="use_multiprecision.html" title="Using Boost.Multiprecision">
+<link rel="next" href="use_mpfr.html" title="Using With MPFR or GMP - High-Precision Floating-Point Library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_multiprecision.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_mpfr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.high_precision.float128"></a><a class="link" href="float128.html" title="Using with GCC's __float128 datatype">Using with GCC's
+ __float128 datatype</a>
+</h3></div></div></div>
+<p>
+ At present support for GCC's native <code class="computeroutput"><span class="identifier">__float128</span></code>
+ datatype is extremely limited: the numeric constants will all work with that
+ type, and that's about it. If you want to use the distributions or special
+ functions then you will need to provide your own wrapper header that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Provides std::numeric_limits&lt;__float128&gt; support.
+ </li>
+<li class="listitem">
+ Provides overloads of the standard library math function for type <code class="computeroutput"><span class="identifier">__float128</span></code>and which forward to the
+ libquadmath equivalents.
+ </li>
+</ul></div>
+<p>
+ Ultimately these facilities should be provided by GCC and libstdc++.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_multiprecision.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_mpfr.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision/use_mpfr.html b/libs/math/doc/html/math_toolkit/high_precision/use_mpfr.html
new file mode 100644
index 0000000000..8efc2e8da1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision/use_mpfr.html
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using With MPFR or GMP - High-Precision Floating-Point Library</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="prev" href="float128.html" title="Using with GCC's __float128 datatype">
+<link rel="next" href="e_float.html" title="Using e_float Library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float128.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="e_float.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.high_precision.use_mpfr"></a><a class="link" href="use_mpfr.html" title="Using With MPFR or GMP - High-Precision Floating-Point Library">Using With MPFR
+ or GMP - High-Precision Floating-Point Library</a>
+</h3></div></div></div>
+<p>
+ The special functions and tools in this library can be used with <a href="http://www.mpfr.org" target="_top">MPFR</a>
+ (an arbitrary precision number type based on the <a href="http://gmplib.org/" target="_top">GNU
+ Multiple Precision Arithmetic Library</a>), either via the bindings in
+ <a href="../../../../../../boost/math/bindings/mpfr.hpp" target="_top">boost/math/bindings/mpfr.hpp</a>,
+ or via <a href="../../../../../../boost/math/bindings/mpfr.hpp" target="_top">boost/math/bindings/mpreal.hpp</a>.
+ </p>
+<p>
+ <span class="bold"><strong>New projects are recommended to use <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ with GMP/MPFR backend instead.</strong></span>
+ </p>
+<p>
+ In order to use these bindings you will need to have installed <a href="http://www.mpfr.org" target="_top">MPFR</a>
+ plus its dependency the <a href="http://gmplib.org" target="_top">GMP library</a>.
+ You will also need one of the two supported C++ wrappers for MPFR: <a href="http://math.berkeley.edu/~wilken/code/gmpfrxx/" target="_top">gmpfrxx (or mpfr_class)</a>,
+ or <a href="http://www.holoborodko.com/pavel/mpfr/" target="_top">mpfr-C++ (mpreal)</a>.
+ </p>
+<p>
+ Unfortunately neither <code class="computeroutput"><span class="identifier">mpfr_class</span></code>
+ nor <code class="computeroutput"><span class="identifier">mpreal</span></code> quite satisfy
+ our conceptual requirements, so there is a very thin set of additional interfaces
+ and some helper traits defined in <a href="../../../../../../boost/math/bindings/mpfr.hpp" target="_top">boost/math/bindings/mpfr.hpp</a>
+ and <a href="../../../../../../boost/math/bindings/mpreal.hpp" target="_top">boost/math/bindings/mpreal.hpp</a>
+ that you should use in place of including 'gmpfrxx.h' or 'mpreal.h' directly.
+ The classes <code class="computeroutput"><span class="identifier">mpfr_class</span></code> or
+ <code class="computeroutput"><span class="identifier">mpreal</span></code> are then usable unchanged
+ once this header is included, so for example <code class="computeroutput"><span class="identifier">mpfr_class</span></code>'s
+ performance-enhancing expression templates are preserved and fully supported
+ by this library:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span><span class="special">/</span><span class="identifier">mpfr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">mpfr_class</span><span class="special">::</span><span class="identifier">set_dprec</span><span class="special">(</span><span class="number">500</span><span class="special">);</span> <span class="comment">// 500 bit precision</span>
+ <span class="comment">//</span>
+ <span class="comment">// Note that the argument to tgamma is</span>
+ <span class="comment">// an expression template - that's just fine here.</span>
+ <span class="comment">//</span>
+ <span class="identifier">mpfr_class</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">mpfr_class</span><span class="special">(</span><span class="number">2</span><span class="special">)));</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">50</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Alternatively use with <code class="computeroutput"><span class="identifier">mpreal</span></code>
+ would look like:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span><span class="special">/</span><span class="identifier">mpreal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">mpfr</span><span class="special">::</span><span class="identifier">mpreal</span><span class="special">::</span><span class="identifier">set_precision</span><span class="special">(</span><span class="number">500</span><span class="special">);</span> <span class="comment">// 500 bit precision</span>
+ <span class="identifier">mpfr</span><span class="special">::</span><span class="identifier">mpreal</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">mpfr</span><span class="special">::</span><span class="identifier">mpreal</span><span class="special">(</span><span class="number">2</span><span class="special">)));</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">50</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ For those functions that are based upon the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a>, the bindings defines a series of approximations with
+ up to 61 terms and accuracy up to approximately 3e-113. This therefore sets
+ the upper limit for accuracy to the majority of functions defined this library
+ when used with either <code class="computeroutput"><span class="identifier">mpfr_class</span></code>
+ or <code class="computeroutput"><span class="identifier">mpreal</span></code>.
+ </p>
+<p>
+ There is a concept checking test program for mpfr support <a href="../../../../../../libs/math/test/mpfr_concept_check.cpp" target="_top">here</a>
+ and <a href="../../../../../../libs/math/test/mpreal_concept_check.cpp" target="_top">here</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float128.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="e_float.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision/use_multiprecision.html b/libs/math/doc/html/math_toolkit/high_precision/use_multiprecision.html
new file mode 100644
index 0000000000..c464c0765e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision/use_multiprecision.html
@@ -0,0 +1,364 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using Boost.Multiprecision</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="prev" href="why_high_precision.html" title="Why use a high-precision library rather than built-in floating-point types?">
+<link rel="next" href="float128.html" title="Using with GCC's __float128 datatype">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="why_high_precision.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float128.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.high_precision.use_multiprecision"></a><a class="link" href="use_multiprecision.html" title="Using Boost.Multiprecision">Using
+ Boost.Multiprecision</a>
+</h3></div></div></div>
+<p>
+ <span class="bold"><strong>All new projects are recommended to use <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>.</strong></span>
+ </p>
+<h6>
+<a name="math_toolkit.high_precision.use_multiprecision.h0"></a>
+ <span class="phrase"><a name="math_toolkit.high_precision.use_multiprecision.using_boost_multiprecision_cpp_f"></a></span><a class="link" href="use_multiprecision.html#math_toolkit.high_precision.use_multiprecision.using_boost_multiprecision_cpp_f">Using
+ Boost.Multiprecision <code class="computeroutput"><span class="identifier">cpp_float</span></code>
+ for numerical calculations with high precision.</a>
+ </h6>
+<p>
+ The Boost.Multiprecision library can be used for computations requiring precision
+ exceeding that of standard built-in types such as float, double and long
+ double. For extended-precision calculations, Boost.Multiprecision supplies
+ a template data type called cpp_dec_float. The number of decimal digits of
+ precision is fixed at compile-time via template parameter.
+ </p>
+<p>
+ To use these floating-point types and constants, we need some includes:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">cpp_dec_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">// using boost::multiprecision::cpp_dec_float</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+</pre>
+<p>
+ So now we can demonstrate with some trivial calculations:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+</pre>
+<p>
+ Using <code class="computeroutput"><span class="keyword">typedef</span> <span class="identifier">cpp_dec_float_50</span></code>
+ hides the complexity of multiprecision to allow us to define variables with
+ 50 decimal digit precision just like built-in <code class="computeroutput"><span class="keyword">double</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span><span class="special">;</span>
+
+<span class="identifier">cpp_dec_float_50</span> <span class="identifier">seventh</span> <span class="special">=</span> <span class="identifier">cpp_dec_float_50</span><span class="special">(</span><span class="number">1</span><span class="special">)</span> <span class="special">/</span> <span class="number">7</span><span class="special">;</span>
+</pre>
+<p>
+ By default, output would only show the standard 6 decimal digits, so set
+ precision to show all 50 significant digits.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">seventh</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ which outputs:
+ </p>
+<pre class="programlisting"><span class="number">0.14285714285714285714285714285714285714285714285714</span>
+</pre>
+<p>
+ We can also use constants, guaranteed to be initialized with the very last
+ bit of precision.
+ </p>
+<pre class="programlisting"><span class="identifier">cpp_dec_float_50</span> <span class="identifier">circumference</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;()</span> <span class="special">*</span> <span class="number">2</span> <span class="special">*</span> <span class="identifier">seventh</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">circumference</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ which outputs
+ </p>
+<pre class="programlisting"><span class="number">0.89759790102565521098932668093700082405633411410717</span>
+</pre>
+<h6>
+<a name="math_toolkit.high_precision.use_multiprecision.h1"></a>
+ <span class="phrase"><a name="math_toolkit.high_precision.use_multiprecision.using_boost_multiprecision_to_ge"></a></span><a class="link" href="use_multiprecision.html#math_toolkit.high_precision.use_multiprecision.using_boost_multiprecision_to_ge">Using
+ Boost.Multiprecision to generate a high-precision array of sin coefficents
+ for use with FFT.</a>
+ </h6>
+<p>
+ The Boost.Multiprecision library can be used for computations requiring precision
+ exceeding that of standard built-in types such as <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>. For extended-precision calculations,
+ Boost.Multiprecision supplies a template data type called <code class="computeroutput"><span class="identifier">cpp_dec_float</span></code>.
+ The number of decimal digits of precision is fixed at compile-time via template
+ parameter.
+ </p>
+<p>
+ To use these floating-point types and constants, we need some includes:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">// using boost::math::constants::pi;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">cpp_dec_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">// using boost::multiprecision::cpp_dec_float</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">vector</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">fstream</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Define a text string which is a C++ comment with the program licence, copyright
+ etc. You could of course, tailor this to your needs, including your copyright
+ claim. There are versions of <code class="computeroutput"><span class="identifier">array</span></code>
+ provided by Boost.Array in <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>
+ or the C++11 std::array, but since not all platforms provide C++11 support,
+ this program provides the Boost version as fallback.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">prolog</span> <span class="special">=</span>
+<span class="special">{</span>
+ <span class="string">"// Use, modification and distribution are subject to the\n"</span>
+ <span class="string">"// Boost Software License, Version 1.0.\n"</span>
+ <span class="string">"// (See accompanying file LICENSE_1_0.txt\n"</span>
+ <span class="string">"// or copy at "</span><span class="string">"http://www.boost.org/LICENSE_1_0.txt)\n\n"</span>
+
+ <span class="string">"// Copyright ???? 2013.\n\n"</span>
+
+ <span class="string">"// Use boost/array if std::array (C++11 feature) is not available.\n"</span>
+ <span class="string">"#ifdef BOOST_NO_CXX11_HDR_ARRAY\n"</span>
+ <span class="string">"#include &lt;boost/array/array.hpp&gt;\n"</span>
+ <span class="string">"#else\n"</span>
+ <span class="string">"#include &lt;array&gt;\n"</span>
+ <span class="string">"#endif\n\n"</span>
+<span class="special">};</span>
+
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">;</span>
+<span class="comment">// VS 2010 (wrongly) requires these at file scope, not local scope in `main`.</span>
+<span class="comment">// This program also requires `-std=c++11` option to compile using Clang and GCC.</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+</pre>
+<p>
+ One often needs to compute tables of numbers in mathematical software.
+ </p>
+<p>
+ A fast Fourier transform (FFT), for example, may use a table of the values
+ of sin((&#960;/2<sup>n</sup>) in its implementation details. In order to maximize the precision
+ in the FFT implementation, the precision of the tabulated trigonometric values
+ should exceed that of the built-in floating-point type used in the FFT.
+ </p>
+<p>
+ The sample below computes a table of the values of sin(&#960;/2<sup>n</sup>) in the range
+ 1 &lt;= n &lt;= 31.
+ </p>
+<p>
+ This program makes use of, among other program elements, the data type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span></code> for a precision of 50
+ decimal digits from Boost.Multiprecision, the value of constant &#960; retrieved
+ from Boost.Math, guaranteed to be initialized with the very last bit of precision
+ for the type, here <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>,
+ and a C++11 lambda function combined with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">()</span></code>.
+ </p>
+<p>
+ define the number of values in the array.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">size</span> <span class="special">=</span> <span class="number">32U</span><span class="special">;</span>
+<span class="identifier">cpp_dec_float_50</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;();</span>
+<span class="identifier">cpp_dec_float_50</span> <span class="identifier">p2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;();</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span> <span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;</span> <span class="identifier">sin_values</span> <span class="special">(</span><span class="identifier">size</span><span class="special">);</span>
+<span class="keyword">unsigned</span> <span class="identifier">n</span> <span class="special">=</span> <span class="number">1U</span><span class="special">;</span>
+<span class="comment">// Generate the sine values.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span>
+<span class="special">(</span>
+ <span class="identifier">sin_values</span><span class="special">.</span><span class="identifier">begin</span> <span class="special">(),</span>
+ <span class="identifier">sin_values</span><span class="special">.</span><span class="identifier">end</span> <span class="special">(),</span>
+ <span class="special">[&amp;</span><span class="identifier">n</span><span class="special">](</span><span class="identifier">cpp_dec_float_50</span><span class="special">&amp;</span> <span class="identifier">y</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">sin</span><span class="special">(</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;()</span> <span class="special">/</span> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">cpp_dec_float_50</span> <span class="special">(</span><span class="number">2</span><span class="special">),</span> <span class="identifier">n</span><span class="special">));</span>
+ <span class="special">++</span><span class="identifier">n</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Define the floating-point type for the generated file, either built-in <code class="computeroutput"><span class="keyword">double</span><span class="special">,</span> </code>float,
+ or <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>,
+ or a user defined type like <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">fp_type</span> <span class="special">=</span> <span class="string">"double"</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Generating an `std::array` or `boost::array` for floating-point type: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">fp_type</span> <span class="special">&lt;&lt;</span> <span class="string">". "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ By default, output would only show the standard 6 decimal digits, so set
+ precision to show enough significant digits for the chosen floating-point
+ type. For <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>
+ is 50. (50 decimal digits should be ample for most applications).
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">streamsize</span> <span class="identifier">precision</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">;</span>
+
+<span class="comment">// std::cout.precision(std::numeric_limits&lt;cpp_dec_float_50&gt;::digits10);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">precision</span> <span class="special">&lt;&lt;</span> <span class="string">" decimal digits precision. "</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Of course, one could also choose less, for example, 36 would be sufficient
+ for the most precise current <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> implementations using 128-bit.
+ In general, it should be a couple of decimal digits more (guard digits) than
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span></code> for the target system floating-point
+ type. If the implementation does not provide <code class="computeroutput"><span class="identifier">max_digits10</span></code>,
+ the the Kahan formula <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">digits</span>
+ <span class="special">*</span> <span class="number">3010</span><span class="special">/</span><span class="number">10000</span> <span class="special">+</span>
+ <span class="number">2</span></code> can be used instead.
+ </p>
+<p>
+ The compiler will read these values as decimal digits strings and use the
+ nearest representation for the floating-point type.
+ </p>
+<p>
+ Now output all the sine table, to a file of your chosen name.
+ </p>
+<pre class="programlisting"> <span class="keyword">const</span> <span class="keyword">char</span> <span class="identifier">sines_name</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"sines.hpp"</span><span class="special">;</span> <span class="comment">// In same directory as .exe</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ofstream</span> <span class="identifier">fout</span><span class="special">(</span><span class="identifier">sines_name</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">out</span><span class="special">);</span> <span class="comment">// Creates if no file exists,</span>
+ <span class="comment">// &amp; uses default overwrite/ ios::replace.</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">fout</span><span class="special">.</span><span class="identifier">is_open</span><span class="special">()</span> <span class="special">==</span> <span class="keyword">false</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// failed to open OK!</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Open file "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sines_name</span> <span class="special">&lt;&lt;</span> <span class="string">" failed!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">EXIT_FAILURE</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Open file "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sines_name</span> <span class="special">&lt;&lt;</span> <span class="string">" for output OK."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">fout</span> <span class="special">&lt;&lt;</span> <span class="identifier">prolog</span> <span class="special">&lt;&lt;</span> <span class="string">"// Table of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sin_values</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" values with "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">precision</span> <span class="special">&lt;&lt;</span> <span class="string">" decimal digits precision,\n"</span>
+ <span class="string">"// generated by program fft_sines_table.cpp.\n"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">fout</span> <span class="special">&lt;&lt;</span>
+<span class="string">"#ifdef BOOST_NO_CXX11_HDR_ARRAY"</span><span class="string">"\n"</span>
+ <span class="string">" static const boost::array&lt;double, "</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span> <span class="special">&lt;&lt;</span> <span class="string">"&gt; sines =\n"</span>
+<span class="string">"#else"</span><span class="string">"\n"</span>
+<span class="string">" static const std::array&lt;double, "</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span> <span class="special">&lt;&lt;</span> <span class="string">"&gt; sines =\n"</span>
+<span class="string">"#endif"</span><span class="string">"\n"</span>
+ <span class="string">"{{\n"</span><span class="special">;</span> <span class="comment">// 2nd { needed for some GCC compiler versions.</span>
+ <span class="identifier">fout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">precision</span><span class="special">);</span>
+
+ <span class="keyword">for</span> <span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0U</span><span class="special">;</span> <span class="special">;)</span>
+ <span class="special">{</span>
+ <span class="identifier">fout</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sin_values</span><span class="special">[</span><span class="identifier">i</span><span class="special">];</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">==</span> <span class="identifier">sin_values</span><span class="special">.</span><span class="identifier">size</span><span class="special">()-</span><span class="number">1</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// next is last value.</span>
+ <span class="identifier">fout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n}};\n"</span><span class="special">;</span> <span class="comment">// 2nd } needed for some earlier GCC compiler versions.</span>
+ <span class="keyword">break</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="identifier">fout</span> <span class="special">&lt;&lt;</span> <span class="string">",\n"</span><span class="special">;</span>
+ <span class="identifier">i</span><span class="special">++;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+
+ <span class="identifier">fout</span><span class="special">.</span><span class="identifier">close</span><span class="special">();</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Close file "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sines_name</span> <span class="special">&lt;&lt;</span> <span class="string">" for output OK."</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="special">}</span>
+</pre>
+<p>
+ The output file generated can be seen at <a href="../../../../example/sines.hpp" target="_top">../../example/sines.hpp</a>
+ </p>
+<p>
+ The table output is:
+ </p>
+<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">printed</span> <span class="identifier">table</span> <span class="identifier">is</span><span class="special">:</span>
+
+ <span class="number">1</span>
+ <span class="number">0.70710678118654752440084436210484903928483593768847</span>
+ <span class="number">0.38268343236508977172845998403039886676134456248563</span>
+ <span class="number">0.19509032201612826784828486847702224092769161775195</span>
+ <span class="number">0.098017140329560601994195563888641845861136673167501</span>
+ <span class="number">0.049067674327418014254954976942682658314745363025753</span>
+ <span class="number">0.024541228522912288031734529459282925065466119239451</span>
+ <span class="number">0.012271538285719926079408261951003212140372319591769</span>
+ <span class="number">0.0061358846491544753596402345903725809170578863173913</span>
+ <span class="number">0.003067956762965976270145365490919842518944610213452</span>
+ <span class="number">0.0015339801862847656123036971502640790799548645752374</span>
+ <span class="number">0.00076699031874270452693856835794857664314091945206328</span>
+ <span class="number">0.00038349518757139558907246168118138126339502603496474</span>
+ <span class="number">0.00019174759731070330743990956198900093346887403385916</span>
+ <span class="number">9.5873799095977345870517210976476351187065612851145e-05</span>
+ <span class="number">4.7936899603066884549003990494658872746866687685767e-05</span>
+ <span class="number">2.3968449808418218729186577165021820094761474895673e-05</span>
+ <span class="number">1.1984224905069706421521561596988984804731977538387e-05</span>
+ <span class="number">5.9921124526424278428797118088908617299871778780951e-06</span>
+ <span class="number">2.9960562263346607504548128083570598118251878683408e-06</span>
+ <span class="number">1.4980281131690112288542788461553611206917585861527e-06</span>
+ <span class="number">7.4901405658471572113049856673065563715595930217207e-07</span>
+ <span class="number">3.7450702829238412390316917908463317739740476297248e-07</span>
+ <span class="number">1.8725351414619534486882457659356361712045272098287e-07</span>
+ <span class="number">9.3626757073098082799067286680885620193236507169473e-08</span>
+ <span class="number">4.681337853654909269511551813854009695950362701667e-08</span>
+ <span class="number">2.3406689268274552759505493419034844037886207223779e-08</span>
+ <span class="number">1.1703344634137277181246213503238103798093456639976e-08</span>
+ <span class="number">5.8516723170686386908097901008341396943900085051757e-09</span>
+ <span class="number">2.9258361585343193579282304690689559020175857150074e-09</span>
+ <span class="number">1.4629180792671596805295321618659637103742615227834e-09</span>
+<span class="special">*/</span>
+</pre>
+<p>
+ The output can be copied as text and readily integrated into a given source
+ code. Alternatively, the output can be written to a text or even be used
+ within a self-written automatic code generator as this example.
+ </p>
+<p>
+ A computer algebra system can be used to verify the results obtained from
+ Boost.Math and Boost.Multiprecision. For example, the <a href="http://www.wolfram.com/products/mathematica/index.html" target="_top">Wolfram
+ Mathematica</a> computer algebra system can obtain a similar table with
+ the command:
+ </p>
+<pre class="programlisting"><span class="identifier">Table</span><span class="special">[</span><span class="identifier">N</span><span class="special">[</span><span class="identifier">Sin</span><span class="special">[</span><span class="identifier">Pi</span> <span class="special">/</span> <span class="special">(</span><span class="number">2</span><span class="special">^</span><span class="identifier">n</span><span class="special">)],</span> <span class="number">50</span><span class="special">],</span> <span class="special">{</span><span class="identifier">n</span><span class="special">,</span> <span class="number">1</span><span class="special">,</span> <span class="number">31</span><span class="special">,</span> <span class="number">1</span><span class="special">}]</span>
+</pre>
+<p>
+ The <a href="http://www.wolframalpha.com/" target="_top">Wolfram Alpha</a> computational
+ knowledge engine can also be used to generate this table. The same command
+ can be pasted into the compute box.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="why_high_precision.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float128.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision/use_ntl.html b/libs/math/doc/html/math_toolkit/high_precision/use_ntl.html
new file mode 100644
index 0000000000..f1b05a1ce5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision/use_ntl.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using NTL Library</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="prev" href="e_float.html" title="Using e_float Library">
+<link rel="next" href="using_test.html" title="Using without expression templates for Boost.Test and others">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="e_float.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="using_test.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.high_precision.use_ntl"></a><a class="link" href="use_ntl.html" title="Using NTL Library">Using NTL Library</a>
+</h3></div></div></div>
+<p>
+ <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> (an arbitrarily-fixed
+ precision floating-point number type), can be used via the bindings in <a href="../../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>.
+ For details, see <a href="http://shoup.net/ntl/" target="_top">NTL: A Library for doing
+ Number Theory by Victor Shoup</a>.
+ </p>
+<p>
+ <span class="bold"><strong>New projects are recommended to use <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ instead.</strong></span>
+ </p>
+<p>
+ Unfortunately <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> doesn't quite satisfy our conceptual
+ requirements, so there is a very thin wrapper class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">ntl</span><span class="special">::</span><span class="identifier">RR</span></code> defined in <a href="../../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>
+ that you should use in place of <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>. The
+ class is intended to be a drop-in replacement for the "real" NTL::RR
+ that adds some syntactic sugar to keep this library happy, plus some of the
+ standard library functions not implemented in NTL.
+ </p>
+<p>
+ For those functions that are based upon the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a>, the bindings defines a series of approximations with
+ up to 61 terms and accuracy up to approximately 3e-113. This therefore sets
+ the upper limit for accuracy to the majority of functions defined this library
+ when used with <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>.
+ </p>
+<p>
+ There is a concept checking test program for NTL support <a href="../../../../../../libs/math/test/ntl_concept_check.cpp" target="_top">here</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="e_float.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="using_test.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision/using_test.html b/libs/math/doc/html/math_toolkit/high_precision/using_test.html
new file mode 100644
index 0000000000..521a7ba3f4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision/using_test.html
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using without expression templates for Boost.Test and others</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="prev" href="use_ntl.html" title="Using NTL Library">
+<link rel="next" href="../concepts.html" title="Conceptual Requirements for Real Number Types">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_ntl.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../concepts.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.high_precision.using_test"></a><a class="link" href="using_test.html" title="Using without expression templates for Boost.Test and others">Using without
+ expression templates for Boost.Test and others</a>
+</h3></div></div></div>
+<p>
+ As noted in the <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ documentation, certain program constructs will not compile when using expression
+ templates. One example that many users may encounter is Boost.Test (1.54
+ and earlier) when using macro BOOST_CHECK_CLOSE and BOOST_CHECK_CLOSE_FRACTION.
+ </p>
+<p>
+ If, for example, you wish to use any multiprecision type like <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code> in place of <code class="computeroutput"><span class="keyword">double</span></code> to give more precision, you will need
+ to override the default <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">et_on</span></code>
+ with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">et_off</span></code>.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">cpp_dec_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ To define a 50 decimal digit type using <code class="computeroutput"><span class="identifier">cpp_dec_float</span></code>,
+ you must pass two template parameters to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">number</span></code>.
+ </p>
+<p>
+ It may be more legible to use a two-staged type definition such as this:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;</span> <span class="identifier">mp_backend</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mp_backend</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">et_off</span><span class="special">&gt;</span> <span class="identifier">cpp_dec_float_50_noet</span><span class="special">;</span>
+</pre>
+<p>
+ Here, we first define <code class="computeroutput"><span class="identifier">mp_backend</span></code>
+ as <code class="computeroutput"><span class="identifier">cpp_dec_float</span></code> with 50
+ digits. The second step passes this backend to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">number</span></code>
+ with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">et_off</span></code>, an enumerated type.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">et_off</span><span class="special">&gt;</span>
+<span class="identifier">cpp_dec_float_50_noet</span><span class="special">;</span>
+</pre>
+<p>
+ You can reduce typing with a <code class="computeroutput"><span class="keyword">using</span></code>
+ directive <code class="computeroutput"><span class="keyword">using</span> <span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">;</span></code>
+ if desired, as shown below.
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;,</span> <span class="identifier">et_off</span><span class="special">&gt;</span> <span class="identifier">cpp_dec_float_50_noet</span><span class="special">;</span>
+</pre>
+<p>
+ Now <code class="computeroutput"><span class="identifier">cpp_dec_float_50_noet</span></code>
+ can be used as a direct replacement for built-in types like <code class="computeroutput"><span class="keyword">double</span></code> etc.
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_AUTO_TEST_CASE</span><span class="special">(</span><span class="identifier">cpp_float_test_check_close</span><span class="special">)</span>
+<span class="special">{</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50_noet</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">);</span> <span class="comment">// All significant digits.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">showpoint</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Show trailing zeros.</span>
+
+ <span class="identifier">cpp_dec_float_50_noet</span> <span class="identifier">a</span> <span class="special">(</span><span class="string">"1."</span><span class="special">);</span>
+ <span class="identifier">cpp_dec_float_50_noet</span> <span class="identifier">b</span> <span class="special">(</span><span class="string">"1."</span><span class="special">);</span>
+ <span class="identifier">b</span> <span class="special">+=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50_noet</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">();</span> <span class="comment">// Increment least significant decimal digit.</span>
+
+ <span class="identifier">cpp_dec_float_50_noet</span> <span class="identifier">eps</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50_noet</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">();</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"a = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">a</span> <span class="special">&lt;&lt;</span> <span class="string">",\nb = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">b</span> <span class="special">&lt;&lt;</span> <span class="string">",\neps = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">eps</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">BOOST_CHECK_CLOSE</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">eps</span> <span class="special">*</span> <span class="number">100</span><span class="special">);</span> <span class="comment">// Expected to pass (because tolerance is as percent).</span>
+ <span class="identifier">BOOST_CHECK_CLOSE_FRACTION</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">eps</span><span class="special">);</span> <span class="comment">// Expected to pass (because tolerance is as fraction).</span>
+</pre>
+<p>
+ Using <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code> with
+ the default expression template use switched on, the compiler error message
+ for `BOOST_CHECK_CLOSE_FRACTION(a, b, eps); would be:
+ </p>
+<pre class="programlisting"><span class="comment">// failure floating_point_comparison.hpp(59): error C2440: 'static_cast' :</span>
+<span class="comment">// cannot convert from 'int' to 'boost::multiprecision::detail::expression&lt;tag,Arg1,Arg2,Arg3,Arg4&gt;'</span>
+</pre>
+<p>
+ A full example code is at <a href="../../../../example/test_cpp_float_close_fraction.cpp" target="_top">test_cpp_float_close_fraction.cpp</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="use_ntl.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../concepts.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/high_precision/why_high_precision.html b/libs/math/doc/html/math_toolkit/high_precision/why_high_precision.html
new file mode 100644
index 0000000000..0166b3719c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/high_precision/why_high_precision.html
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Why use a high-precision library rather than built-in floating-point types?</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="prev" href="../high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+<link rel="next" href="use_multiprecision.html" title="Using Boost.Multiprecision">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../high_precision.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_multiprecision.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.high_precision.why_high_precision"></a><a class="link" href="why_high_precision.html" title="Why use a high-precision library rather than built-in floating-point types?">Why use
+ a high-precision library rather than built-in floating-point types?</a>
+</h3></div></div></div>
+<p>
+ For nearly all applications, the built-in floating-point types, <code class="computeroutput"><span class="keyword">double</span></code> (and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> if this offers higher precision
+ than <code class="computeroutput"><span class="keyword">double</span></code>) offer enough precision,
+ typically a dozen decimal digits.
+ </p>
+<p>
+ Some reasons why one would want to use a higher precision:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A much more precise result (many more digits) is just a requirement.
+ </li>
+<li class="listitem">
+ The range of the computed value exceeds the range of the type: factorials
+ are the textbook example.
+ </li>
+<li class="listitem">
+ Using double is (or may be) too inaccurate.
+ </li>
+<li class="listitem">
+ Using long double (or may be) is too inaccurate.
+ </li>
+<li class="listitem">
+ Using an extended precision type implemented in software as <a href="http://en.wikipedia.org/wiki/Double-double_(arithmetic)#Double-double_arithmetic" target="_top">double-double</a>
+ (<a href="http://en.wikipedia.org/wiki/Darwin_(operating_system)" target="_top">Darwin</a>)
+ is sometimes unpredictably inaccurate.
+ </li>
+<li class="listitem">
+ Loss of precision or inaccuracy caused by extreme arguments or cancellation
+ error.
+ </li>
+<li class="listitem">
+ An accuracy as good as possible for a chosen built-in floating-point
+ type is required.
+ </li>
+<li class="listitem">
+ As a reference value, for example, to determine the inaccuracy of a value
+ computed with a built-in floating point type, (perhaps even using some
+ quick'n'dirty algorithm). The accuracy of many functions and distributions
+ in Boost.Math has been measured in this way from tables of very high
+ precision (up to 1000 decimal digits).
+ </li>
+</ul></div>
+<p>
+ Many functions and distributions have differences from exact values that
+ are only a few least significant bits - computation noise. Others, often
+ those for which analytical solutions are not available, require approximations
+ and iteration: these may lose several decimal digits of precision.
+ </p>
+<p>
+ Much larger loss of precision can occur for <a href="http://en.wikipedia.org/wiki/Boundary_case" target="_top">boundary</a>
+ or <a href="http://en.wikipedia.org/wiki/Corner_case" target="_top">corner cases</a>,
+ often caused by <a href="http://en.wikipedia.org/wiki/Loss_of_significance" target="_top">cancellation
+ errors</a>.
+ </p>
+<p>
+ (Some of the worst and most common examples of <a href="http://en.wikipedia.org/wiki/Loss_of_significance" target="_top">cancellation
+ error or loss of significance</a> can be avoided by using <a class="link" href="../stat_tut/overview/complements.html" title="Complements are supported too - and when to use them">complements</a>:
+ see <a class="link" href="../stat_tut/overview/complements.html#why_complements">why complements?</a>).
+ </p>
+<p>
+ If you require a value which is as accurate as can be represented in the
+ floating-point type, and is thus the closest representable value and has
+ an error less than 1/2 a <a href="http://en.wikipedia.org/wiki/Least_significant_bit" target="_top">least
+ significant bit</a> or <a href="http://en.wikipedia.org/wiki/Unit_in_the_last_place" target="_top">ulp</a>
+ it may be useful to use a higher-precision type, for example, <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>, to generate this value.
+ Conversion of this value to a built-in floating-point type ('float', <code class="computeroutput"><span class="keyword">double</span></code> or <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>) will not cause any further
+ loss of precision. A decimal digit string will also be 'read' precisely by
+ the compiler into a built-in floating-point type to the nearest representable
+ value.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ In contrast, reading a value from an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream</span></code>
+ into a built-in floating-point type is <span class="bold"><strong>not guaranteed</strong></span>
+ by the C++ Standard to give the nearest representable value.
+ </p></td></tr>
+</table></div>
+<p>
+ William Kahan coined the term <a href="http://en.wikipedia.org/wiki/Rounding#The_table-maker.27s_dilemma" target="_top">Table-Maker's
+ Dilemma</a> for the problem of correctly rounding functions. Using a
+ much higher precision (50 or 100 decimal digits) is a practical way of generating
+ (almost always) correctly rounded values.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../high_precision.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../high_precision.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_multiprecision.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/hints.html b/libs/math/doc/html/math_toolkit/hints.html
new file mode 100644
index 0000000000..548a7317b6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/hints.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Other Hints and tips</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="conventions.html" title="Document Conventions">
+<link rel="next" href="directories.html" title="Directory and File Structure">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conventions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="directories.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.hints"></a><a class="link" href="hints.html" title="Other Hints and tips">Other Hints and tips</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ If you have a feature request, or if it appears that the implementation
+ is in error, please search first in the <a href="https://svn.boost.org/trac/boost/" target="_top">Boost
+ Trac</a>.
+ </li>
+<li class="listitem">
+ <a href="https://svn.boost.org/trac/boost/" target="_top">Trac</a> entries may
+ indicate that updates or corrections that solve your problem are in <a href="http://svn.boost.org/svn/boost/trunk" target="_top">Boost-trunk</a> where changes
+ are being assembled and tested ready for the next release. You may, at
+ your own risk, download new versions from there.
+ </li>
+<li class="listitem">
+ If you do not understand why things work the way they do, see the <span class="emphasis"><em>rationale</em></span>
+ section.
+ </li>
+<li class="listitem">
+ If you do not find your idea/feature/complaint, please reach the author
+ preferably through the Boost development list, or email the author(s) direct.
+ </li>
+</ul></div>
+<h6>
+<a name="math_toolkit.hints.h0"></a>
+ <span class="phrase"><a name="math_toolkit.hints.admonishments"></a></span><a class="link" href="hints.html#math_toolkit.hints.admonishments">Admonishments</a>
+ </h6>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ In addition, notes such as this one specify non-essential information that
+ provides additional background or rationale.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ These blocks contain information that you may find helpful while coding.
+ </p></td></tr>
+</table></div>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ These contain information that is imperative to understanding a concept.
+ Failure to follow suggestions in these blocks will probably result in undesired
+ behavior. Read all of these you find.
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Failure to heed this will lead to incorrect, and very likely undesired, results.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="conventions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="directories.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/history1.html b/libs/math/doc/html/math_toolkit/history1.html
new file mode 100644
index 0000000000..83f13c9b50
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/history1.html
@@ -0,0 +1,851 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History and What's New</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">
+<link rel="next" href="overview_tr1.html" title="C99 and C++ TR1 C-style Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="building.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview_tr1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.history1"></a><a class="link" href="history1.html" title="History and What's New">History and What's New</a>
+</h2></div></div></div>
+<p>
+ Currently open bug reports can be viewed <a href="https://svn.boost.org/trac/boost/query?status=assigned&amp;status=new&amp;status=reopened&amp;component=math&amp;col=id&amp;col=summary&amp;col=status&amp;col=type&amp;col=milestone&amp;col=component&amp;order=priority" target="_top">here</a>.
+ </p>
+<p>
+ All bug reports including closed ones can be viewed <a href="https://svn.boost.org/trac/boost/query?status=assigned&amp;status=closed&amp;status=new&amp;status=reopened&amp;component=math&amp;col=id&amp;col=summary&amp;col=status&amp;col=type&amp;col=milestone&amp;col=component&amp;order=priority" target="_top">here</a>.
+ </p>
+<h5>
+<a name="math_toolkit.history1.h0"></a>
+ <span class="phrase"><a name="math_toolkit.history1.math_2_1_0_boost_1_57_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.math_2_1_0_boost_1_57_0">Math-2.1.0
+ (boost-1.57.0)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added <a class="link" href="dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution">Hyperexponential
+ Distribution</a>.
+ </li>
+<li class="listitem">
+ Fix some spurious overflows in the incomplete gamma functions (with thanks
+ to Rocco Romeo).
+ </li>
+<li class="listitem">
+ Fix bug in derivative of incomplete beta when a = b = 0.5 - this also effects
+ several non-central distributions, see <a href="https://svn.boost.org/trac/boost/ticket/10480" target="_top">10480</a>.
+ </li>
+<li class="listitem">
+ Fixed some corner cases in <a class="link" href="rounding/round.html" title="Rounding Functions">round</a>.
+ </li>
+<li class="listitem">
+ Don't support 80-bit floats in cstdfloat.hpp if standard library support
+ is broken.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h1"></a>
+ <span class="phrase"><a name="math_toolkit.history1.math_2_0_0_boost_1_56_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.math_2_0_0_boost_1_56_0">Math-2.0.0
+ (Boost-1.56.0)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <span class="bold"><strong>Breaking change</strong></span>: moved a number of non-core
+ headers that are predominantly used for internal maintenance into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include_private</span></code>. The headers effected
+ are <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">remez</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">generate</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">solve</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span></code>. You can continue to use these headers
+ by adding <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include_private</span></code> to your compiler's include
+ path.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change</strong></span>: A number of distributions
+ and special functions were returning the maximum finite value rather than
+ raising an <a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>,
+ this has now been fixed, which means these functions now behave as documented.
+ However, since the default behavior on raising an <a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ is to throw a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code> exception, applications
+ which have come to reply rely on these functions not throwing may experience
+ exceptions where they did not before. The special functions involved are
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>,
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>,
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>, <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>. The distributions
+ involved are <a class="link" href="dist_ref/dists/pareto.html" title="Pareto Distribution">Pareto
+ Distribution</a>, <a class="link" href="dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a>, <a class="link" href="dist_ref/dists/geometric_dist.html" title="Geometric Distribution">Geometric
+ Distribution</a>, <a class="link" href="dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>, <a class="link" href="dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a>, <a class="link" href="dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a>, <a class="link" href="dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
+ Distribution</a>, <a class="link" href="dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">Inverse
+ chi squared Distribution</a>, <a class="link" href="dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
+ Gamma Distribution</a>. See <a href="https://svn.boost.org/trac/boost/ticket/10111" target="_top">#10111</a>.
+ </li>
+<li class="listitem">
+ Fix <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> and <a class="link" href="rounding/trunc.html" title="Truncation Functions">trunc</a> functions so they can
+ be used with integer arguments, see <a href="https://svn.boost.org/trac/boost/ticket/10066" target="_top">#10066</a>.
+ </li>
+<li class="listitem">
+ Fix Halley iteration to handle zero derivative (with non-zero second derivative),
+ see <a href="https://svn.boost.org/trac/boost/ticket/10046" target="_top">#10046</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h2"></a>
+ <span class="phrase"><a name="math_toolkit.history1.math_1_9_1"></a></span><a class="link" href="history1.html#math_toolkit.history1.math_1_9_1">Math-1.9.1</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fix Geometric distribution use of Policies, see <a href="https://svn.boost.org/trac/boost/ticket/9833" target="_top">#9833</a>.
+ </li>
+<li class="listitem">
+ Fix corner cases in the negative binomial distribution, see <a href="https://svn.boost.org/trac/boost/ticket/9834" target="_top">#9834</a>.
+ </li>
+<li class="listitem">
+ Fix compilation failures on Mac OS.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h3"></a>
+ <span class="phrase"><a name="math_toolkit.history1.math_1_9_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.math_1_9_0">Math-1.9.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Changed version number to new Boost.Math specific version now that we're
+ in the modular Boost world.
+ </li>
+<li class="listitem">
+ Added <a class="link" href="number_series/bernoulli_numbers.html" title="Bernoulli Numbers">Bernoulli
+ numbers</a>, changed arbitrary precision <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>/<a class="link" href="sf_gamma/lgamma.html" title="Log Gamma">lgamma</a> to use Sterling's
+ approximation (from Nikhar Agrawal).
+ </li>
+<li class="listitem">
+ Added first derivatives of the Bessel functions: <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_bessel_j_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_neumann_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_bessel_i_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_bessel_k_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">sph_bessel_prime</a>
+ and <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">sph_neumann_prime</a>
+ (from Anton Bikineev).
+ </li>
+<li class="listitem">
+ Fixed buggy Student's t example code, along with docs for testing sample
+ means for equivalence.
+ </li>
+<li class="listitem">
+ Documented <code class="computeroutput"><span class="identifier">max_iter</span></code> parameter
+ in root finding code better, see <a href="https://svn.boost.org/trac/boost/ticket/9225" target="_top">#9225</a>.
+ </li>
+<li class="listitem">
+ Add option to explicitly enable/disable use of __float128 in constants
+ code, see <a href="https://svn.boost.org/trac/boost/ticket/9240" target="_top">#9240</a>.
+ </li>
+<li class="listitem">
+ Cleaned up handling of negative values in Bessel I0 and I1 code (removed
+ dead code), see <a href="https://svn.boost.org/trac/boost/ticket/9512" target="_top">#9512</a>.
+ </li>
+<li class="listitem">
+ Fixed handling of very small values passed to <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>
+ and <a class="link" href="sf_gamma/lgamma.html" title="Log Gamma">lgamma</a> so they
+ don't generate spurious overflows (thanks to Rocco Romeo).
+ </li>
+<li class="listitem">
+ <a href="https://svn.boost.org/trac/boost/ticket/9672" target="_top">#9672 PDF and
+ CDF of a Laplace distribution throwing domain_error</a> Random variate
+ can now be infinite.
+ </li>
+<li class="listitem">
+ Fixed several corner cases in <a class="link" href="factorials/sf_rising_factorial.html" title="Rising Factorial">rising_factorial</a>,
+ <a class="link" href="factorials/sf_falling_factorial.html" title="Falling Factorial">falling_factorial</a>
+ and <a class="link" href="sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
+ with thanks to Rocco Romeo.
+ </li>
+<li class="listitem">
+ Fixed several corner cases in <a class="link" href="factorials/sf_rising_factorial.html" title="Rising Factorial">rising_factorial</a>,
+ <a class="link" href="factorials/sf_falling_factorial.html" title="Falling Factorial">falling_factorial</a>
+ and <a class="link" href="sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
+ (thanks to Rocco Romeo).
+ </li>
+<li class="listitem">
+ Removed constant <code class="computeroutput"><span class="identifier">pow23_four_minus_pi</span>
+ </code> whose value did not match the name (and was unused by Boost.Math),
+ see <a href="https://svn.boost.org/trac/boost/ticket/9712" target="_top">#9712</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h4"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_55"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_55">Boost-1.55</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Suppress numerous warnings (mostly from GCC-4.8 and MSVC) <a href="https://svn.boost.org/trac/boost/ticket/8384" target="_top">#8384</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/8855" target="_top">#8855</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/9107" target="_top">#9107</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/9109" target="_top">#9109</a>..
+ </li>
+<li class="listitem">
+ Fixed PGI compilation issue <a href="https://svn.boost.org/trac/boost/ticket/8333" target="_top">#8333</a>.
+ </li>
+<li class="listitem">
+ Fixed PGI constant value initialization issue that caused erf to generate
+ incorrect results <a href="https://svn.boost.org/trac/boost/ticket/8621" target="_top">#8621</a>.
+ </li>
+<li class="listitem">
+ Prevent macro expansion of some C99 macros that are also C++ functions
+ <a href="https://svn.boost.org/trac/boost/ticket/8732" target="_top">#8732</a>
+ and <a href="https://svn.boost.org/trac/boost/ticket/8733" target="_top">#8733</a>..
+ </li>
+<li class="listitem">
+ Fixed Student's T distribution to behave correctly with huge degrees of
+ freedom (larger than the largest representable integer) <a href="https://svn.boost.org/trac/boost/ticket/8837" target="_top">#8837</a>.
+ </li>
+<li class="listitem">
+ Make some core functions usable with <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> even when the platform has
+ no standard library <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> support <a href="https://svn.boost.org/trac/boost/ticket/8940" target="_top">#8940</a>.
+ </li>
+<li class="listitem">
+ Fix error handling of distributions to catch invalid scale and location
+ parameters when the random variable is infinite <a href="https://svn.boost.org/trac/boost/ticket/9042" target="_top">#9042</a>
+ and <a href="https://svn.boost.org/trac/boost/ticket/9126" target="_top">#9126</a>.
+ </li>
+<li class="listitem">
+ Add workaround for broken &lt;tuple&gt; in Intel C++ 14 <a href="https://svn.boost.org/trac/boost/ticket/9087" target="_top">#9087</a>.
+ </li>
+<li class="listitem">
+ Improve consistency of argument reduction in the elliptic integrals <a href="https://svn.boost.org/trac/boost/ticket/9104" target="_top">#9104</a>.
+ </li>
+<li class="listitem">
+ Fix bug in inverse incomplete beta that results in cancellation errors
+ when the beta function is really an arcsine or Student's T distribution.
+ </li>
+<li class="listitem">
+ Fix issue in Bessel I and K function continued fractions that causes spurious
+ over/underflow.
+ </li>
+<li class="listitem">
+ Add improvement to non-central chi squared distribution quantile due to
+ Thomas Luu.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h5"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_54"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_54">Boost-1.54</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Major reorganization to incorporate other Boost.Math like Integer Utilities
+ Integer Utilities (Greatest Common Divisor and Least Common Multiple),
+ quaternions and octonions. Making new chapter headings.
+ </li>
+<li class="listitem">
+ Added many references to Boost.Multiprecision and <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>
+ as an example of a User-defined Type (UDT).
+ </li>
+<li class="listitem">
+ Added Clang to list of supported compilers.
+ </li>
+<li class="listitem">
+ Fixed constants to use a thread-safe cache of computed values when used
+ at arbitrary precision.
+ </li>
+<li class="listitem">
+ Added finding zeros of Bessel functions <code class="computeroutput"><span class="identifier">cyl_bessel_j_zero</span></code>,
+ <code class="computeroutput"><span class="identifier">cyl_neumann_zero</span></code>, <code class="computeroutput"><span class="identifier">airy_ai_zero</span></code> and <code class="computeroutput"><span class="identifier">airy_bi_zero</span></code>(by
+ Christopher Kormanyos).
+ </li>
+<li class="listitem">
+ More accuracy improvements to the Bessel J and Y functions from Rocco Romeo.
+ </li>
+<li class="listitem">
+ Fixed nasty cyclic dependency bug that caused some headers to not compile
+ <a href="https://svn.boost.org/trac/boost/ticket/7999" target="_top">#7999</a>.
+ </li>
+<li class="listitem">
+ Fixed bug in <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>
+ that caused spurious overflow for arguments between 142.5 and 143.
+ </li>
+<li class="listitem">
+ Fixed bug in raise_rounding_error that caused it to return an incorrect
+ result when throwing an exception is turned off <a href="https://svn.boost.org/trac/boost/ticket/7905" target="_top">#7905</a>.
+ </li>
+<li class="listitem">
+ Added minimal __float128 support.
+ </li>
+<li class="listitem">
+ Fixed bug in edge-cases of poisson quantile <a href="https://svn.boost.org/trac/boost/ticket/8308" target="_top">#8308</a>.
+ </li>
+<li class="listitem">
+ Adjusted heuristics used in Halley iteration to cope with inverting the
+ incomplete beta in tricky regions where the derivative is flatlining. Example
+ is computing the quantile of the Fisher F distribution for probabilities
+ smaller than machine epsilon. See ticket <a href="https://svn.boost.org/trac/boost/ticket/8314" target="_top">#8314</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h6"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_53"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_53">Boost-1.53</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/7325" target="_top">#7325</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7415" target="_top">#7415</a>
+ and <a href="https://svn.boost.org/trac/boost/ticket/7416" target="_top">#7416</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7183" target="_top">#7183</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7649" target="_top">#7649</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7694" target="_top">#7694</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/4445" target="_top">#4445</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7492" target="_top">#7492</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7891" target="_top">#7891</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7429" target="_top">#7429</a>.
+ </li>
+<li class="listitem">
+ Fixed mistake in calculating pooled standard deviation in two-sample students
+ t example <a href="https://svn.boost.org/trac/boost/ticket/7402" target="_top">#7402</a>.
+ </li>
+<li class="listitem">
+ Improve complex acos/asin/atan, see <a href="https://svn.boost.org/trac/boost/ticket/7290" target="_top">#7290</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7291" target="_top">#7291</a>.
+ </li>
+<li class="listitem">
+ Improve accuracy in some corner cases of <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>/<a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ thanks to suggestions from Rocco Romeo.
+ </li>
+<li class="listitem">
+ Improve accuracy of Bessel J and Y for integer orders thanks to suggestions
+ from Rocco Romeo.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h7"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_52"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_52">Boost-1.52</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Corrected moments for small degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7177" target="_top">#7177</a>
+ (reported by Thomas Mang).
+ </li>
+<li class="listitem">
+ Added <a class="link" href="airy.html" title="Airy Functions">Airy functions</a> and <a class="link" href="jacobi.html" title="Jacobi Elliptic Functions">Jacobi Elliptic functions</a>.
+ </li>
+<li class="listitem">
+ Corrected failure to detect bad parameters in many distributions <a href="https://svn.boost.org/trac/boost/ticket/6934" target="_top">#6934</a> (reported
+ by Florian Schoppmann) by adding a function check_out_of_range to test
+ many possible bad parameters. This test revealed several distributions
+ where the checks for bad parameters were ineffective, and these have been
+ rectified.
+ </li>
+<li class="listitem">
+ Fixed issue in Hankel functions that causes incorrect values to be returned
+ for <span class="emphasis"><em>x &lt; 0</em></span> and &#957; odd, see <a href="https://svn.boost.org/trac/boost/ticket/7135" target="_top">#7135</a>.
+ </li>
+<li class="listitem">
+ Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/6517" target="_top">#6517</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6362" target="_top">#6362</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7053" target="_top">#7053</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/2693" target="_top">#2693</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6937" target="_top">#6937</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7099" target="_top">#7099</a>.
+ </li>
+<li class="listitem">
+ Permitted infinite degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7259" target="_top">#7259</a>
+ implemented using the normal distribution (requested by Thomas Mang).
+ </li>
+<li class="listitem">
+ Much enhanced accuracy for large degrees of freedom &#957; and/or large non-centrality
+ &#948;
+by switching to use the Students t distribution (or Normal distribution
+ for infinite degrees of freedom) centered at delta, when &#948; / (4 * &#957;) &lt;
+ epsilon for the floating-point type in use. <a href="https://svn.boost.org/trac/boost/ticket/7259" target="_top">#7259</a>.
+ It was found that the incomplete beta was suffering from serious cancellation
+ errors when degrees of freedom was very large. (That has now been fixed
+ in our code, but any code based on Didonato and Morris's original papers
+ (probably every implementation out there actually) will have the same issue).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h8"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_51"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_51">Boost-1.51</a>
+ </h5>
+<p>
+ See Boost-1.52 - some items were added but not listed in time for the release.
+ </p>
+<h5>
+<a name="math_toolkit.history1.h9"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_50"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_50">Boost-1.50</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Promoted math constants to be 1st class citizens, including convenient
+ access to the most widely used built-in float, double, long double via
+ three namespaces.
+ </li>
+<li class="listitem">
+ Added the Owen's T function and Skew Normal distribution written by Benjamin
+ Sobotta: see <a class="link" href="owens_t.html" title="Owen's T function">Owens T</a> and skew_normal_distrib.
+ </li>
+<li class="listitem">
+ Added Hankel functions <a class="link" href="hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>,
+ <a class="link" href="hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>, <a class="link" href="hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a> and <a class="link" href="hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>.
+ </li>
+<li class="listitem">
+ Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627" target="_top">#6627
+ nonfinite_num_put formatting of 0.0 is incorrect</a> based on a patch
+ submitted by K R Walker.
+ </li>
+<li class="listitem">
+ Changed constant initialization mechanism so that it is thread safe even
+ for user-defined types, also so that user defined types get the full precision
+ of the constant, even when <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> does not. So for example
+ 128-bit rational approximations will work with UDT's and do the right thing,
+ even though <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ may be only 64 or 80 bits.
+ </li>
+<li class="listitem">
+ Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
+ which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h10"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_49"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_49">Boost-1.49</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Deprecated wrongly named <code class="computeroutput"><span class="identifier">twothirds</span></code>
+ math constant in favour of <code class="computeroutput"><span class="identifier">two_thirds</span></code>
+ (with underscore separator). (issue <a href="https://svn.boost.org/trac/boost/ticket/6199" target="_top">#6199</a>).
+ </li>
+<li class="listitem">
+ Refactored test data and some special function code to improve support
+ for arbitary precision and/or expression-template-enabled types.
+ </li>
+<li class="listitem">
+ Added new faster zeta function evaluation method.
+ </li>
+</ul></div>
+<p>
+ Fixed issues:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Corrected CDF complement for Laplace distribution (issue <a href="https://svn.boost.org/trac/boost/ticket/6151" target="_top">#6151</a>).
+ </li>
+<li class="listitem">
+ Corrected branch cuts on the complex inverse trig functions, to handle
+ signed zeros (issue <a href="https://svn.boost.org/trac/boost/ticket/6171" target="_top">#6171</a>).
+ </li>
+<li class="listitem">
+ Fixed bug in <code class="computeroutput"><span class="identifier">bessel_yn</span></code>
+ which caused incorrect overflow errors to be raised for negative <span class="emphasis"><em>n</em></span>
+ (issue <a href="https://svn.boost.org/trac/boost/ticket/6367" target="_top">#6367</a>).
+ </li>
+<li class="listitem">
+ Also fixed minor/cosmetic/configuration issues <a href="https://svn.boost.org/trac/boost/ticket/6120" target="_top">#6120</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6191" target="_top">#6191</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6130" target="_top">#6130</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6234" target="_top">#6234</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6307" target="_top">#6307</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6192" target="_top">#6192</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h11"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_48"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_48">Boost-1.48</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added new series evaluation methods to the cyclic Bessel I, J, K and Y
+ functions. Also taken great care to avoid spurious over and underflow of
+ these functions. Fixes issue <a href="https://svn.boost.org/trac/boost/ticket/5560" target="_top">#5560</a>
+ </li>
+<li class="listitem">
+ Added an example of using Inverse Chi-Squared distribution for Bayesian
+ statistics, provided by Thomas Mang.
+ </li>
+<li class="listitem">
+ Added tests to use improved version of lexical_cast which handles C99 nonfinites
+ without using globale facets.
+ </li>
+<li class="listitem">
+ Corrected wrong out-of-bound uniform distribution CDF complement values
+ <a href="https://svn.boost.org/trac/boost/ticket/5733" target="_top">#5733</a>.
+ </li>
+<li class="listitem">
+ Enabled long double support on OpenBSD (issue <a href="https://svn.boost.org/trac/boost/ticket/6014" target="_top">#6014</a>).
+ </li>
+<li class="listitem">
+ Changed nextafter and related functions to behave in the same way as other
+ implementations - so that nextafter(+INF, 0) is a finite value (issue
+ <a href="https://svn.boost.org/trac/boost/ticket/5823" target="_top">#5832</a>).
+ </li>
+<li class="listitem">
+ Changed tuple include configuration to fix issue when using in conjunction
+ with Boost.Tr1 (issue <a href="https://svn.boost.org/trac/boost/ticket/5934" target="_top">#5934</a>).
+ </li>
+<li class="listitem">
+ Changed class eps_tolerance to behave correctly when both ends of the range
+ are zero (issue <a href="https://svn.boost.org/trac/boost/ticket/6001" target="_top">#6001</a>).
+ </li>
+<li class="listitem">
+ Fixed missing include guards on prime.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5927" target="_top">#5927</a>).
+ </li>
+<li class="listitem">
+ Removed unused/undocumented constants from constants.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>).
+ </li>
+<li class="listitem">
+ Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5914" target="_top">#5914</a>).
+ </li>
+<li class="listitem">
+ Minor patches for Cray compiler compatibility.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h12"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_47"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_47">Boost-1.47</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added changesign function to sign.hpp to facilitate addition of nonfinite
+ facets.
+ </li>
+<li class="listitem">
+ Addition of nonfinite facets from Johan Rade, with tests, examples of use
+ for C99 format infinity and NaN, and documentation.
+ </li>
+<li class="listitem">
+ Added tests and documentation of changesign from Johan Rade.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h13"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_46_1"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_46_1">Boost-1.46.1</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5095</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5113</a>.
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.history1.h14"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_46_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_46_0">Boost-1.46.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Wald, Inverse Gaussian and geometric distributions.
+ </li>
+<li class="listitem">
+ Added information about configuration macros.
+ </li>
+<li class="listitem">
+ Added support for mpreal as a real-numbered type.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h15"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_45_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_45_0">Boost-1.45.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added warnings about potential ambiguity with std random library in distribution
+ and function names.
+ </li>
+<li class="listitem">
+ Added inverse gamma distribution and inverse chi_square and scaled inverse
+ chi_square.
+ </li>
+<li class="listitem">
+ Editorial revision of documentation, and added FAQ.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h16"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_44_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_44_0">Boost-1.44.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fixed incorrect range and support for Rayleigh distribution.
+ </li>
+<li class="listitem">
+ Fixed numerical error in the quantile of the Student's T distribution:
+ the function was returning garbage values for non-integer degrees of freedom
+ between 2 and 3.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h17"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_41_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_41_0">Boost-1.41.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Significantly improved performance for the incomplete gamma function and
+ its inverse.
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.history1.h18"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_40_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_40_0">Boost-1.40.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added support for MPFR as a bignum type.
+ </li>
+<li class="listitem">
+ Added some full specializations of the policy classes to reduce compile
+ times.
+ </li>
+<li class="listitem">
+ Added logistic and hypergeometric distributions, from Gautam Sewani's Google
+ Summer of Code project.
+ </li>
+<li class="listitem">
+ Added Laplace distribution submitted by Thijs van den Berg.
+ </li>
+<li class="listitem">
+ Updated performance test code to include new distributions, and improved
+ the performance of the non-central distributions.
+ </li>
+<li class="listitem">
+ Added SSE2 optimised <a class="link" href="lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>
+ code, from Gautam Sewani's Google Summer of Code project.
+ </li>
+<li class="listitem">
+ Fixed bug in cyl_bessel_i that used an incorrect approximation for &#957; = 0.5,
+ also effects the non-central Chi Square Distribution when &#957; = 3, see bug
+ report <a href="https://svn.boost.org/trac/boost/ticket/2877" target="_top">#2877</a>.
+ </li>
+<li class="listitem">
+ Fixed minor bugs <a href="https://svn.boost.org/trac/boost/ticket/2873" target="_top">#2873</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h19"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_38_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_38_0">Boost-1.38.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Johan R&#229;de's optimised floating point classification routines.
+ </li>
+<li class="listitem">
+ Fixed code so that it compiles in GCC's -pedantic mode (bug report <a href="https://svn.boost.org/trac/boost/ticket/1451" target="_top">#1451</a>).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h20"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_37_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_37_0">Boost-1.37.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Improved accuracy and testing of the inverse hypergeometric functions.
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.history1.h21"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_36_0"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_36_0">Boost-1.36.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Noncentral Chi Squared Distribution.
+ </li>
+<li class="listitem">
+ Added Noncentral Beta Distribution.
+ </li>
+<li class="listitem">
+ Added Noncentral F Distribution.
+ </li>
+<li class="listitem">
+ Added Noncentral T Distribution.
+ </li>
+<li class="listitem">
+ Added Exponential Integral Functions.
+ </li>
+<li class="listitem">
+ Added Zeta Function.
+ </li>
+<li class="listitem">
+ Added Rounding and Truncation functions.
+ </li>
+<li class="listitem">
+ Added Compile time powers of runtime bases.
+ </li>
+<li class="listitem">
+ Added SSE2 optimizations for Lanczos evaluation.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h22"></a>
+ <span class="phrase"><a name="math_toolkit.history1.boost_1_35_0_post_review_first_o"></a></span><a class="link" href="history1.html#math_toolkit.history1.boost_1_35_0_post_review_first_o">Boost-1.35.0:
+ Post Review First Official Release</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Policy based framework that allows fine grained control over function
+ behaviour.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change:</strong></span> Changed default behaviour
+ for domain, pole and overflow errors to throw an exception (based on review
+ feedback), this behaviour can be customised using <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>'s.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change:</strong></span> Changed exception thrown
+ when an internal evaluation error occurs to boost::math::evaluation_error.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change:</strong></span> Changed discrete quantiles
+ to return an integer result: this is anything up to 20 times faster than
+ finding the true root, this behaviour can be customised using <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>'s.
+ </li>
+<li class="listitem">
+ Polynomial/rational function evaluation is now customisable and hopefully
+ faster than before.
+ </li>
+<li class="listitem">
+ Added performance test program.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h23"></a>
+ <span class="phrase"><a name="math_toolkit.history1.milestone_4_second_review_candid"></a></span><a class="link" href="history1.html#math_toolkit.history1.milestone_4_second_review_candid">Milestone
+ 4: Second Review Candidate (1st March 2007)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Moved Xiaogang Zhang's Bessel Functions code into the library, and brought
+ them into line with the rest of the code.
+ </li>
+<li class="listitem">
+ Added C# "Distribution Explorer" demo application.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h24"></a>
+ <span class="phrase"><a name="math_toolkit.history1.milestone_3_first_review_candida"></a></span><a class="link" href="history1.html#math_toolkit.history1.milestone_3_first_review_candida">Milestone
+ 3: First Review Candidate (31st Dec 2006)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Implemented the main probability distribution and density functions.
+ </li>
+<li class="listitem">
+ Implemented digamma.
+ </li>
+<li class="listitem">
+ Added more factorial functions.
+ </li>
+<li class="listitem">
+ Implemented the Hermite, Legendre and Laguerre polynomials plus the spherical
+ harmonic functions from TR1.
+ </li>
+<li class="listitem">
+ Moved Xiaogang Zhang's elliptic integral code into the library, and brought
+ them into line with the rest of the code.
+ </li>
+<li class="listitem">
+ Moved Hubert Holin's existing Boost.Math special functions into this library
+ and brought them into line with the rest of the code.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h25"></a>
+ <span class="phrase"><a name="math_toolkit.history1.milestone_2_released_september_1"></a></span><a class="link" href="history1.html#math_toolkit.history1.milestone_2_released_september_1">Milestone
+ 2: Released September 10th 2006</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Implement preview release of the statistical distributions.
+ </li>
+<li class="listitem">
+ Added statistical distributions tutorial.
+ </li>
+<li class="listitem">
+ Implemented root finding algorithms.
+ </li>
+<li class="listitem">
+ Implemented the inverses of the incomplete gamma and beta functions.
+ </li>
+<li class="listitem">
+ Rewrite erf/erfc as rational approximations (valid to 128-bit precision).
+ </li>
+<li class="listitem">
+ Integrated the statistical results generated from the test data with Boost.Test:
+ uses a database of expected results, indexed by test, floating point type,
+ platform, and compiler.
+ </li>
+<li class="listitem">
+ Improved lgamma near 1 and 2 (rational approximations).
+ </li>
+<li class="listitem">
+ Improved erf/erfc inverses (rational approximations).
+ </li>
+<li class="listitem">
+ Implemented Rational function generation (the Remez method).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history1.h26"></a>
+ <span class="phrase"><a name="math_toolkit.history1.milestone_1_released_march_31st_"></a></span><a class="link" href="history1.html#math_toolkit.history1.milestone_1_released_march_31st_">Milestone
+ 1: Released March 31st 2006</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Implement gamma/beta/erf functions along with their incomplete counterparts.
+ </li>
+<li class="listitem">
+ Generate high quality test data, against which future improvements can
+ be judged.
+ </li>
+<li class="listitem">
+ Provide tools for the evaluation of infinite series, continued fractions,
+ and rational functions.
+ </li>
+<li class="listitem">
+ Provide tools for testing against tabulated test data, and collecting statistics
+ on error rates.
+ </li>
+<li class="listitem">
+ Provide sufficient docs for people to be able to find their way around
+ the library.
+ </li>
+</ul></div>
+<p>
+ SVN Revisions:
+ </p>
+<p>
+ Sandbox and trunk last synchonised at revision: .
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="building.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview_tr1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/history2.html b/libs/math/doc/html/math_toolkit/history2.html
new file mode 100644
index 0000000000..db207aadbe
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/history2.html
@@ -0,0 +1,851 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History and What's New</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../status.html" title="Chapter&#160;17.&#160;Library Status">
+<link rel="prev" href="../status.html" title="Chapter&#160;17.&#160;Library Status">
+<link rel="next" href="issues.html" title="Known Issues, and TODO List">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../status.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="issues.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.history2"></a><a class="link" href="history2.html" title="History and What's New">History and What's New</a>
+</h2></div></div></div>
+<p>
+ Currently open bug reports can be viewed <a href="https://svn.boost.org/trac/boost/query?status=assigned&amp;status=new&amp;status=reopened&amp;component=math&amp;col=id&amp;col=summary&amp;col=status&amp;col=type&amp;col=milestone&amp;col=component&amp;order=priority" target="_top">here</a>.
+ </p>
+<p>
+ All bug reports including closed ones can be viewed <a href="https://svn.boost.org/trac/boost/query?status=assigned&amp;status=closed&amp;status=new&amp;status=reopened&amp;component=math&amp;col=id&amp;col=summary&amp;col=status&amp;col=type&amp;col=milestone&amp;col=component&amp;order=priority" target="_top">here</a>.
+ </p>
+<h5>
+<a name="math_toolkit.history2.h0"></a>
+ <span class="phrase"><a name="math_toolkit.history2.math_2_1_0_boost_1_57_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.math_2_1_0_boost_1_57_0">Math-2.1.0
+ (boost-1.57.0)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added <a class="link" href="dist_ref/dists/hyperexponential_dist.html" title="Hyperexponential Distribution">Hyperexponential
+ Distribution</a>.
+ </li>
+<li class="listitem">
+ Fix some spurious overflows in the incomplete gamma functions (with thanks
+ to Rocco Romeo).
+ </li>
+<li class="listitem">
+ Fix bug in derivative of incomplete beta when a = b = 0.5 - this also effects
+ several non-central distributions, see <a href="https://svn.boost.org/trac/boost/ticket/10480" target="_top">10480</a>.
+ </li>
+<li class="listitem">
+ Fixed some corner cases in <a class="link" href="rounding/round.html" title="Rounding Functions">round</a>.
+ </li>
+<li class="listitem">
+ Don't support 80-bit floats in cstdfloat.hpp if standard library support
+ is broken.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h1"></a>
+ <span class="phrase"><a name="math_toolkit.history2.math_2_0_0_boost_1_56_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.math_2_0_0_boost_1_56_0">Math-2.0.0
+ (Boost-1.56.0)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <span class="bold"><strong>Breaking change</strong></span>: moved a number of non-core
+ headers that are predominantly used for internal maintenance into <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include_private</span></code>. The headers effected
+ are <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">remez</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">generate</span><span class="special">.</span><span class="identifier">hpp</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">solve</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span></code>. You can continue to use these headers
+ by adding <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include_private</span></code> to your compiler's include
+ path.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change</strong></span>: A number of distributions
+ and special functions were returning the maximum finite value rather than
+ raising an <a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>,
+ this has now been fixed, which means these functions now behave as documented.
+ However, since the default behavior on raising an <a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ is to throw a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code> exception, applications
+ which have come to reply rely on these functions not throwing may experience
+ exceptions where they did not before. The special functions involved are
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>,
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>,
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>, <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>. The distributions
+ involved are <a class="link" href="dist_ref/dists/pareto.html" title="Pareto Distribution">Pareto
+ Distribution</a>, <a class="link" href="dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a>, <a class="link" href="dist_ref/dists/geometric_dist.html" title="Geometric Distribution">Geometric
+ Distribution</a>, <a class="link" href="dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>, <a class="link" href="dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a>, <a class="link" href="dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a>, <a class="link" href="dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
+ Distribution</a>, <a class="link" href="dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">Inverse
+ chi squared Distribution</a>, <a class="link" href="dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
+ Gamma Distribution</a>. See <a href="https://svn.boost.org/trac/boost/ticket/10111" target="_top">#10111</a>.
+ </li>
+<li class="listitem">
+ Fix <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> and <a class="link" href="rounding/trunc.html" title="Truncation Functions">trunc</a> functions so they can
+ be used with integer arguments, see <a href="https://svn.boost.org/trac/boost/ticket/10066" target="_top">#10066</a>.
+ </li>
+<li class="listitem">
+ Fix Halley iteration to handle zero derivative (with non-zero second derivative),
+ see <a href="https://svn.boost.org/trac/boost/ticket/10046" target="_top">#10046</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h2"></a>
+ <span class="phrase"><a name="math_toolkit.history2.math_1_9_1"></a></span><a class="link" href="history2.html#math_toolkit.history2.math_1_9_1">Math-1.9.1</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fix Geometric distribution use of Policies, see <a href="https://svn.boost.org/trac/boost/ticket/9833" target="_top">#9833</a>.
+ </li>
+<li class="listitem">
+ Fix corner cases in the negative binomial distribution, see <a href="https://svn.boost.org/trac/boost/ticket/9834" target="_top">#9834</a>.
+ </li>
+<li class="listitem">
+ Fix compilation failures on Mac OS.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h3"></a>
+ <span class="phrase"><a name="math_toolkit.history2.math_1_9_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.math_1_9_0">Math-1.9.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Changed version number to new Boost.Math specific version now that we're
+ in the modular Boost world.
+ </li>
+<li class="listitem">
+ Added <a class="link" href="number_series/bernoulli_numbers.html" title="Bernoulli Numbers">Bernoulli
+ numbers</a>, changed arbitrary precision <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>/<a class="link" href="sf_gamma/lgamma.html" title="Log Gamma">lgamma</a> to use Sterling's
+ approximation (from Nikhar Agrawal).
+ </li>
+<li class="listitem">
+ Added first derivatives of the Bessel functions: <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_bessel_j_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_neumann_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_bessel_i_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">cyl_bessel_k_prime</a>,
+ <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">sph_bessel_prime</a>
+ and <a class="link" href="bessel/bessel_derivatives.html" title="Derivatives of the Bessel Functions">sph_neumann_prime</a>
+ (from Anton Bikineev).
+ </li>
+<li class="listitem">
+ Fixed buggy Student's t example code, along with docs for testing sample
+ means for equivalence.
+ </li>
+<li class="listitem">
+ Documented <code class="computeroutput"><span class="identifier">max_iter</span></code> parameter
+ in root finding code better, see <a href="https://svn.boost.org/trac/boost/ticket/9225" target="_top">#9225</a>.
+ </li>
+<li class="listitem">
+ Add option to explicitly enable/disable use of __float128 in constants
+ code, see <a href="https://svn.boost.org/trac/boost/ticket/9240" target="_top">#9240</a>.
+ </li>
+<li class="listitem">
+ Cleaned up handling of negative values in Bessel I0 and I1 code (removed
+ dead code), see <a href="https://svn.boost.org/trac/boost/ticket/9512" target="_top">#9512</a>.
+ </li>
+<li class="listitem">
+ Fixed handling of very small values passed to <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>
+ and <a class="link" href="sf_gamma/lgamma.html" title="Log Gamma">lgamma</a> so they
+ don't generate spurious overflows (thanks to Rocco Romeo).
+ </li>
+<li class="listitem">
+ <a href="https://svn.boost.org/trac/boost/ticket/9672" target="_top">#9672 PDF and
+ CDF of a Laplace distribution throwing domain_error</a> Random variate
+ can now be infinite.
+ </li>
+<li class="listitem">
+ Fixed several corner cases in <a class="link" href="factorials/sf_rising_factorial.html" title="Rising Factorial">rising_factorial</a>,
+ <a class="link" href="factorials/sf_falling_factorial.html" title="Falling Factorial">falling_factorial</a>
+ and <a class="link" href="sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
+ with thanks to Rocco Romeo.
+ </li>
+<li class="listitem">
+ Fixed several corner cases in <a class="link" href="factorials/sf_rising_factorial.html" title="Rising Factorial">rising_factorial</a>,
+ <a class="link" href="factorials/sf_falling_factorial.html" title="Falling Factorial">falling_factorial</a>
+ and <a class="link" href="sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
+ (thanks to Rocco Romeo).
+ </li>
+<li class="listitem">
+ Removed constant <code class="computeroutput"><span class="identifier">pow23_four_minus_pi</span>
+ </code> whose value did not match the name (and was unused by Boost.Math),
+ see <a href="https://svn.boost.org/trac/boost/ticket/9712" target="_top">#9712</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h4"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_55"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_55">Boost-1.55</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Suppress numerous warnings (mostly from GCC-4.8 and MSVC) <a href="https://svn.boost.org/trac/boost/ticket/8384" target="_top">#8384</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/8855" target="_top">#8855</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/9107" target="_top">#9107</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/9109" target="_top">#9109</a>..
+ </li>
+<li class="listitem">
+ Fixed PGI compilation issue <a href="https://svn.boost.org/trac/boost/ticket/8333" target="_top">#8333</a>.
+ </li>
+<li class="listitem">
+ Fixed PGI constant value initialization issue that caused erf to generate
+ incorrect results <a href="https://svn.boost.org/trac/boost/ticket/8621" target="_top">#8621</a>.
+ </li>
+<li class="listitem">
+ Prevent macro expansion of some C99 macros that are also C++ functions
+ <a href="https://svn.boost.org/trac/boost/ticket/8732" target="_top">#8732</a>
+ and <a href="https://svn.boost.org/trac/boost/ticket/8733" target="_top">#8733</a>..
+ </li>
+<li class="listitem">
+ Fixed Student's T distribution to behave correctly with huge degrees of
+ freedom (larger than the largest representable integer) <a href="https://svn.boost.org/trac/boost/ticket/8837" target="_top">#8837</a>.
+ </li>
+<li class="listitem">
+ Make some core functions usable with <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> even when the platform has
+ no standard library <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> support <a href="https://svn.boost.org/trac/boost/ticket/8940" target="_top">#8940</a>.
+ </li>
+<li class="listitem">
+ Fix error handling of distributions to catch invalid scale and location
+ parameters when the random variable is infinite <a href="https://svn.boost.org/trac/boost/ticket/9042" target="_top">#9042</a>
+ and <a href="https://svn.boost.org/trac/boost/ticket/9126" target="_top">#9126</a>.
+ </li>
+<li class="listitem">
+ Add workaround for broken &lt;tuple&gt; in Intel C++ 14 <a href="https://svn.boost.org/trac/boost/ticket/9087" target="_top">#9087</a>.
+ </li>
+<li class="listitem">
+ Improve consistency of argument reduction in the elliptic integrals <a href="https://svn.boost.org/trac/boost/ticket/9104" target="_top">#9104</a>.
+ </li>
+<li class="listitem">
+ Fix bug in inverse incomplete beta that results in cancellation errors
+ when the beta function is really an arcsine or Student's T distribution.
+ </li>
+<li class="listitem">
+ Fix issue in Bessel I and K function continued fractions that causes spurious
+ over/underflow.
+ </li>
+<li class="listitem">
+ Add improvement to non-central chi squared distribution quantile due to
+ Thomas Luu.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h5"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_54"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_54">Boost-1.54</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Major reorganization to incorporate other Boost.Math like Integer Utilities
+ Integer Utilities (Greatest Common Divisor and Least Common Multiple),
+ quaternions and octonions. Making new chapter headings.
+ </li>
+<li class="listitem">
+ Added many references to Boost.Multiprecision and <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>
+ as an example of a User-defined Type (UDT).
+ </li>
+<li class="listitem">
+ Added Clang to list of supported compilers.
+ </li>
+<li class="listitem">
+ Fixed constants to use a thread-safe cache of computed values when used
+ at arbitrary precision.
+ </li>
+<li class="listitem">
+ Added finding zeros of Bessel functions <code class="computeroutput"><span class="identifier">cyl_bessel_j_zero</span></code>,
+ <code class="computeroutput"><span class="identifier">cyl_neumann_zero</span></code>, <code class="computeroutput"><span class="identifier">airy_ai_zero</span></code> and <code class="computeroutput"><span class="identifier">airy_bi_zero</span></code>(by
+ Christopher Kormanyos).
+ </li>
+<li class="listitem">
+ More accuracy improvements to the Bessel J and Y functions from Rocco Romeo.
+ </li>
+<li class="listitem">
+ Fixed nasty cyclic dependency bug that caused some headers to not compile
+ <a href="https://svn.boost.org/trac/boost/ticket/7999" target="_top">#7999</a>.
+ </li>
+<li class="listitem">
+ Fixed bug in <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a>
+ that caused spurious overflow for arguments between 142.5 and 143.
+ </li>
+<li class="listitem">
+ Fixed bug in raise_rounding_error that caused it to return an incorrect
+ result when throwing an exception is turned off <a href="https://svn.boost.org/trac/boost/ticket/7905" target="_top">#7905</a>.
+ </li>
+<li class="listitem">
+ Added minimal __float128 support.
+ </li>
+<li class="listitem">
+ Fixed bug in edge-cases of poisson quantile <a href="https://svn.boost.org/trac/boost/ticket/8308" target="_top">#8308</a>.
+ </li>
+<li class="listitem">
+ Adjusted heuristics used in Halley iteration to cope with inverting the
+ incomplete beta in tricky regions where the derivative is flatlining. Example
+ is computing the quantile of the Fisher F distribution for probabilities
+ smaller than machine epsilon. See ticket <a href="https://svn.boost.org/trac/boost/ticket/8314" target="_top">#8314</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h6"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_53"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_53">Boost-1.53</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/7325" target="_top">#7325</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7415" target="_top">#7415</a>
+ and <a href="https://svn.boost.org/trac/boost/ticket/7416" target="_top">#7416</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7183" target="_top">#7183</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7649" target="_top">#7649</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7694" target="_top">#7694</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/4445" target="_top">#4445</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7492" target="_top">#7492</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7891" target="_top">#7891</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7429" target="_top">#7429</a>.
+ </li>
+<li class="listitem">
+ Fixed mistake in calculating pooled standard deviation in two-sample students
+ t example <a href="https://svn.boost.org/trac/boost/ticket/7402" target="_top">#7402</a>.
+ </li>
+<li class="listitem">
+ Improve complex acos/asin/atan, see <a href="https://svn.boost.org/trac/boost/ticket/7290" target="_top">#7290</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7291" target="_top">#7291</a>.
+ </li>
+<li class="listitem">
+ Improve accuracy in some corner cases of <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>/<a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ thanks to suggestions from Rocco Romeo.
+ </li>
+<li class="listitem">
+ Improve accuracy of Bessel J and Y for integer orders thanks to suggestions
+ from Rocco Romeo.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h7"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_52"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_52">Boost-1.52</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Corrected moments for small degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7177" target="_top">#7177</a>
+ (reported by Thomas Mang).
+ </li>
+<li class="listitem">
+ Added <a class="link" href="airy.html" title="Airy Functions">Airy functions</a> and <a class="link" href="jacobi.html" title="Jacobi Elliptic Functions">Jacobi Elliptic functions</a>.
+ </li>
+<li class="listitem">
+ Corrected failure to detect bad parameters in many distributions <a href="https://svn.boost.org/trac/boost/ticket/6934" target="_top">#6934</a> (reported
+ by Florian Schoppmann) by adding a function check_out_of_range to test
+ many possible bad parameters. This test revealed several distributions
+ where the checks for bad parameters were ineffective, and these have been
+ rectified.
+ </li>
+<li class="listitem">
+ Fixed issue in Hankel functions that causes incorrect values to be returned
+ for <span class="emphasis"><em>x &lt; 0</em></span> and &#957; odd, see <a href="https://svn.boost.org/trac/boost/ticket/7135" target="_top">#7135</a>.
+ </li>
+<li class="listitem">
+ Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/6517" target="_top">#6517</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6362" target="_top">#6362</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7053" target="_top">#7053</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/2693" target="_top">#2693</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6937" target="_top">#6937</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/7099" target="_top">#7099</a>.
+ </li>
+<li class="listitem">
+ Permitted infinite degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7259" target="_top">#7259</a>
+ implemented using the normal distribution (requested by Thomas Mang).
+ </li>
+<li class="listitem">
+ Much enhanced accuracy for large degrees of freedom &#957; and/or large non-centrality
+ &#948;
+by switching to use the Students t distribution (or Normal distribution
+ for infinite degrees of freedom) centered at delta, when &#948; / (4 * &#957;) &lt;
+ epsilon for the floating-point type in use. <a href="https://svn.boost.org/trac/boost/ticket/7259" target="_top">#7259</a>.
+ It was found that the incomplete beta was suffering from serious cancellation
+ errors when degrees of freedom was very large. (That has now been fixed
+ in our code, but any code based on Didonato and Morris's original papers
+ (probably every implementation out there actually) will have the same issue).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h8"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_51"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_51">Boost-1.51</a>
+ </h5>
+<p>
+ See Boost-1.52 - some items were added but not listed in time for the release.
+ </p>
+<h5>
+<a name="math_toolkit.history2.h9"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_50"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_50">Boost-1.50</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Promoted math constants to be 1st class citizens, including convenient
+ access to the most widely used built-in float, double, long double via
+ three namespaces.
+ </li>
+<li class="listitem">
+ Added the Owen's T function and Skew Normal distribution written by Benjamin
+ Sobotta: see <a class="link" href="owens_t.html" title="Owen's T function">Owens T</a> and skew_normal_distrib.
+ </li>
+<li class="listitem">
+ Added Hankel functions <a class="link" href="hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>,
+ <a class="link" href="hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>, <a class="link" href="hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a> and <a class="link" href="hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>.
+ </li>
+<li class="listitem">
+ Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627" target="_top">#6627
+ nonfinite_num_put formatting of 0.0 is incorrect</a> based on a patch
+ submitted by K R Walker.
+ </li>
+<li class="listitem">
+ Changed constant initialization mechanism so that it is thread safe even
+ for user-defined types, also so that user defined types get the full precision
+ of the constant, even when <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> does not. So for example
+ 128-bit rational approximations will work with UDT's and do the right thing,
+ even though <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ may be only 64 or 80 bits.
+ </li>
+<li class="listitem">
+ Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
+ which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h10"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_49"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_49">Boost-1.49</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Deprecated wrongly named <code class="computeroutput"><span class="identifier">twothirds</span></code>
+ math constant in favour of <code class="computeroutput"><span class="identifier">two_thirds</span></code>
+ (with underscore separator). (issue <a href="https://svn.boost.org/trac/boost/ticket/6199" target="_top">#6199</a>).
+ </li>
+<li class="listitem">
+ Refactored test data and some special function code to improve support
+ for arbitary precision and/or expression-template-enabled types.
+ </li>
+<li class="listitem">
+ Added new faster zeta function evaluation method.
+ </li>
+</ul></div>
+<p>
+ Fixed issues:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Corrected CDF complement for Laplace distribution (issue <a href="https://svn.boost.org/trac/boost/ticket/6151" target="_top">#6151</a>).
+ </li>
+<li class="listitem">
+ Corrected branch cuts on the complex inverse trig functions, to handle
+ signed zeros (issue <a href="https://svn.boost.org/trac/boost/ticket/6171" target="_top">#6171</a>).
+ </li>
+<li class="listitem">
+ Fixed bug in <code class="computeroutput"><span class="identifier">bessel_yn</span></code>
+ which caused incorrect overflow errors to be raised for negative <span class="emphasis"><em>n</em></span>
+ (issue <a href="https://svn.boost.org/trac/boost/ticket/6367" target="_top">#6367</a>).
+ </li>
+<li class="listitem">
+ Also fixed minor/cosmetic/configuration issues <a href="https://svn.boost.org/trac/boost/ticket/6120" target="_top">#6120</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6191" target="_top">#6191</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6130" target="_top">#6130</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6234" target="_top">#6234</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6307" target="_top">#6307</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/6192" target="_top">#6192</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h11"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_48"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_48">Boost-1.48</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added new series evaluation methods to the cyclic Bessel I, J, K and Y
+ functions. Also taken great care to avoid spurious over and underflow of
+ these functions. Fixes issue <a href="https://svn.boost.org/trac/boost/ticket/5560" target="_top">#5560</a>
+ </li>
+<li class="listitem">
+ Added an example of using Inverse Chi-Squared distribution for Bayesian
+ statistics, provided by Thomas Mang.
+ </li>
+<li class="listitem">
+ Added tests to use improved version of lexical_cast which handles C99 nonfinites
+ without using globale facets.
+ </li>
+<li class="listitem">
+ Corrected wrong out-of-bound uniform distribution CDF complement values
+ <a href="https://svn.boost.org/trac/boost/ticket/5733" target="_top">#5733</a>.
+ </li>
+<li class="listitem">
+ Enabled long double support on OpenBSD (issue <a href="https://svn.boost.org/trac/boost/ticket/6014" target="_top">#6014</a>).
+ </li>
+<li class="listitem">
+ Changed nextafter and related functions to behave in the same way as other
+ implementations - so that nextafter(+INF, 0) is a finite value (issue
+ <a href="https://svn.boost.org/trac/boost/ticket/5823" target="_top">#5832</a>).
+ </li>
+<li class="listitem">
+ Changed tuple include configuration to fix issue when using in conjunction
+ with Boost.Tr1 (issue <a href="https://svn.boost.org/trac/boost/ticket/5934" target="_top">#5934</a>).
+ </li>
+<li class="listitem">
+ Changed class eps_tolerance to behave correctly when both ends of the range
+ are zero (issue <a href="https://svn.boost.org/trac/boost/ticket/6001" target="_top">#6001</a>).
+ </li>
+<li class="listitem">
+ Fixed missing include guards on prime.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5927" target="_top">#5927</a>).
+ </li>
+<li class="listitem">
+ Removed unused/undocumented constants from constants.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>).
+ </li>
+<li class="listitem">
+ Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5914" target="_top">#5914</a>).
+ </li>
+<li class="listitem">
+ Minor patches for Cray compiler compatibility.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h12"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_47"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_47">Boost-1.47</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added changesign function to sign.hpp to facilitate addition of nonfinite
+ facets.
+ </li>
+<li class="listitem">
+ Addition of nonfinite facets from Johan Rade, with tests, examples of use
+ for C99 format infinity and NaN, and documentation.
+ </li>
+<li class="listitem">
+ Added tests and documentation of changesign from Johan Rade.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h13"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_46_1"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_46_1">Boost-1.46.1</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5095</a>,
+ <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5113</a>.
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.history2.h14"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_46_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_46_0">Boost-1.46.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Wald, Inverse Gaussian and geometric distributions.
+ </li>
+<li class="listitem">
+ Added information about configuration macros.
+ </li>
+<li class="listitem">
+ Added support for mpreal as a real-numbered type.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h15"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_45_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_45_0">Boost-1.45.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added warnings about potential ambiguity with std random library in distribution
+ and function names.
+ </li>
+<li class="listitem">
+ Added inverse gamma distribution and inverse chi_square and scaled inverse
+ chi_square.
+ </li>
+<li class="listitem">
+ Editorial revision of documentation, and added FAQ.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h16"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_44_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_44_0">Boost-1.44.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Fixed incorrect range and support for Rayleigh distribution.
+ </li>
+<li class="listitem">
+ Fixed numerical error in the quantile of the Student's T distribution:
+ the function was returning garbage values for non-integer degrees of freedom
+ between 2 and 3.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h17"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_41_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_41_0">Boost-1.41.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Significantly improved performance for the incomplete gamma function and
+ its inverse.
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.history2.h18"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_40_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_40_0">Boost-1.40.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added support for MPFR as a bignum type.
+ </li>
+<li class="listitem">
+ Added some full specializations of the policy classes to reduce compile
+ times.
+ </li>
+<li class="listitem">
+ Added logistic and hypergeometric distributions, from Gautam Sewani's Google
+ Summer of Code project.
+ </li>
+<li class="listitem">
+ Added Laplace distribution submitted by Thijs van den Berg.
+ </li>
+<li class="listitem">
+ Updated performance test code to include new distributions, and improved
+ the performance of the non-central distributions.
+ </li>
+<li class="listitem">
+ Added SSE2 optimised <a class="link" href="lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>
+ code, from Gautam Sewani's Google Summer of Code project.
+ </li>
+<li class="listitem">
+ Fixed bug in cyl_bessel_i that used an incorrect approximation for &#957; = 0.5,
+ also effects the non-central Chi Square Distribution when &#957; = 3, see bug
+ report <a href="https://svn.boost.org/trac/boost/ticket/2877" target="_top">#2877</a>.
+ </li>
+<li class="listitem">
+ Fixed minor bugs <a href="https://svn.boost.org/trac/boost/ticket/2873" target="_top">#2873</a>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h19"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_38_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_38_0">Boost-1.38.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Johan R&#229;de's optimised floating point classification routines.
+ </li>
+<li class="listitem">
+ Fixed code so that it compiles in GCC's -pedantic mode (bug report <a href="https://svn.boost.org/trac/boost/ticket/1451" target="_top">#1451</a>).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h20"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_37_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_37_0">Boost-1.37.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Improved accuracy and testing of the inverse hypergeometric functions.
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.history2.h21"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_36_0"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_36_0">Boost-1.36.0</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Noncentral Chi Squared Distribution.
+ </li>
+<li class="listitem">
+ Added Noncentral Beta Distribution.
+ </li>
+<li class="listitem">
+ Added Noncentral F Distribution.
+ </li>
+<li class="listitem">
+ Added Noncentral T Distribution.
+ </li>
+<li class="listitem">
+ Added Exponential Integral Functions.
+ </li>
+<li class="listitem">
+ Added Zeta Function.
+ </li>
+<li class="listitem">
+ Added Rounding and Truncation functions.
+ </li>
+<li class="listitem">
+ Added Compile time powers of runtime bases.
+ </li>
+<li class="listitem">
+ Added SSE2 optimizations for Lanczos evaluation.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h22"></a>
+ <span class="phrase"><a name="math_toolkit.history2.boost_1_35_0_post_review_first_o"></a></span><a class="link" href="history2.html#math_toolkit.history2.boost_1_35_0_post_review_first_o">Boost-1.35.0:
+ Post Review First Official Release</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Added Policy based framework that allows fine grained control over function
+ behaviour.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change:</strong></span> Changed default behaviour
+ for domain, pole and overflow errors to throw an exception (based on review
+ feedback), this behaviour can be customised using <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>'s.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change:</strong></span> Changed exception thrown
+ when an internal evaluation error occurs to boost::math::evaluation_error.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Breaking change:</strong></span> Changed discrete quantiles
+ to return an integer result: this is anything up to 20 times faster than
+ finding the true root, this behaviour can be customised using <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>'s.
+ </li>
+<li class="listitem">
+ Polynomial/rational function evaluation is now customisable and hopefully
+ faster than before.
+ </li>
+<li class="listitem">
+ Added performance test program.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h23"></a>
+ <span class="phrase"><a name="math_toolkit.history2.milestone_4_second_review_candid"></a></span><a class="link" href="history2.html#math_toolkit.history2.milestone_4_second_review_candid">Milestone
+ 4: Second Review Candidate (1st March 2007)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Moved Xiaogang Zhang's Bessel Functions code into the library, and brought
+ them into line with the rest of the code.
+ </li>
+<li class="listitem">
+ Added C# "Distribution Explorer" demo application.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h24"></a>
+ <span class="phrase"><a name="math_toolkit.history2.milestone_3_first_review_candida"></a></span><a class="link" href="history2.html#math_toolkit.history2.milestone_3_first_review_candida">Milestone
+ 3: First Review Candidate (31st Dec 2006)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Implemented the main probability distribution and density functions.
+ </li>
+<li class="listitem">
+ Implemented digamma.
+ </li>
+<li class="listitem">
+ Added more factorial functions.
+ </li>
+<li class="listitem">
+ Implemented the Hermite, Legendre and Laguerre polynomials plus the spherical
+ harmonic functions from TR1.
+ </li>
+<li class="listitem">
+ Moved Xiaogang Zhang's elliptic integral code into the library, and brought
+ them into line with the rest of the code.
+ </li>
+<li class="listitem">
+ Moved Hubert Holin's existing Boost.Math special functions into this library
+ and brought them into line with the rest of the code.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h25"></a>
+ <span class="phrase"><a name="math_toolkit.history2.milestone_2_released_september_1"></a></span><a class="link" href="history2.html#math_toolkit.history2.milestone_2_released_september_1">Milestone
+ 2: Released September 10th 2006</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Implement preview release of the statistical distributions.
+ </li>
+<li class="listitem">
+ Added statistical distributions tutorial.
+ </li>
+<li class="listitem">
+ Implemented root finding algorithms.
+ </li>
+<li class="listitem">
+ Implemented the inverses of the incomplete gamma and beta functions.
+ </li>
+<li class="listitem">
+ Rewrite erf/erfc as rational approximations (valid to 128-bit precision).
+ </li>
+<li class="listitem">
+ Integrated the statistical results generated from the test data with Boost.Test:
+ uses a database of expected results, indexed by test, floating point type,
+ platform, and compiler.
+ </li>
+<li class="listitem">
+ Improved lgamma near 1 and 2 (rational approximations).
+ </li>
+<li class="listitem">
+ Improved erf/erfc inverses (rational approximations).
+ </li>
+<li class="listitem">
+ Implemented Rational function generation (the Remez method).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.history2.h26"></a>
+ <span class="phrase"><a name="math_toolkit.history2.milestone_1_released_march_31st_"></a></span><a class="link" href="history2.html#math_toolkit.history2.milestone_1_released_march_31st_">Milestone
+ 1: Released March 31st 2006</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Implement gamma/beta/erf functions along with their incomplete counterparts.
+ </li>
+<li class="listitem">
+ Generate high quality test data, against which future improvements can
+ be judged.
+ </li>
+<li class="listitem">
+ Provide tools for the evaluation of infinite series, continued fractions,
+ and rational functions.
+ </li>
+<li class="listitem">
+ Provide tools for testing against tabulated test data, and collecting statistics
+ on error rates.
+ </li>
+<li class="listitem">
+ Provide sufficient docs for people to be able to find their way around
+ the library.
+ </li>
+</ul></div>
+<p>
+ SVN Revisions:
+ </p>
+<p>
+ Sandbox and trunk last synchonised at revision: .
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../status.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="issues.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1.html b/libs/math/doc/html/math_toolkit/internals1.html
new file mode 100644
index 0000000000..78976444e7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Utilities &amp; internals</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../toolkit.html" title="Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)">
+<link rel="prev" href="internals_overview.html" title="Overview">
+<link rel="next" href="internals1/series_evaluation.html" title="Series Evaluation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="internals_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1/series_evaluation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.internals1"></a><a class="link" href="internals1.html" title="Utilities &amp; internals">Utilities &amp; internals</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="internals1/series_evaluation.html">Series Evaluation</a></span></dt>
+<dt><span class="section"><a href="internals1/cf.html">Continued Fraction Evaluation</a></span></dt>
+<dt><span class="section"><a href="internals1/rational.html">Polynomial and Rational
+ Function Evaluation</a></span></dt>
+<dt><span class="section"><a href="internals1/roots.html">Root Finding With Derivatives:
+ Newton-Raphson, Halley &amp; Schroeder</a></span></dt>
+<dt><span class="section"><a href="internals1/roots2.html">Root Finding Without
+ Derivatives: Bisection, Bracket and TOMS748</a></span></dt>
+<dt><span class="section"><a href="internals1/minima.html">Locating Function Minima:
+ Brent's algorithm</a></span></dt>
+<dt><span class="section"><a href="internals1/tuples.html">Tuples</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="internals_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1/series_evaluation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1/cf.html b/libs/math/doc/html/math_toolkit/internals1/cf.html
new file mode 100644
index 0000000000..524ca673da
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1/cf.html
@@ -0,0 +1,281 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Continued Fraction Evaluation</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="prev" href="series_evaluation.html" title="Series Evaluation">
+<link rel="next" href="rational.html" title="Polynomial and Rational Function Evaluation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="series_evaluation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rational.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals1.cf"></a><a class="link" href="cf.html" title="Continued Fraction Evaluation">Continued Fraction Evaluation</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals1.cf.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.cf.synopsis"></a></span><a class="link" href="cf.html#math_toolkit.internals1.cf.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">fraction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">)</span>
+
+<span class="comment">//</span>
+<span class="comment">// These interfaces are present for legacy reasons, and are now deprecated:</span>
+<span class="comment">//</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
+ <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals1.cf.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.cf.description"></a></span><a class="link" href="cf.html#math_toolkit.internals1.cf.description">Description</a>
+ </h5>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Continued_fraction" target="_top">Continued fractions
+ are a common method of approximation. </a> These functions all evaluate
+ the continued fraction described by the <span class="emphasis"><em>generator</em></span> type
+ argument. The functions with an "_a" suffix evaluate the fraction:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/fraction2.png"></span>
+ </p>
+<p>
+ and those with a "_b" suffix evaluate the fraction:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/fraction1.png"></span>
+ </p>
+<p>
+ This latter form is somewhat more natural in that it corresponds with the
+ usual definition of a continued fraction, but note that the first <span class="emphasis"><em>a</em></span>
+ value returned by the generator is discarded. Further, often the first <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> values in a continued fraction have different
+ defining equations to the remaining terms, which may make the "_a"
+ suffixed form more appropriate.
+ </p>
+<p>
+ The generator type should be a function object which supports the following
+ operations:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Gen::result_type
+ </p>
+ </td>
+<td>
+ <p>
+ The type that is the result of invoking operator(). This can be
+ either an arithmetic type, or a std::pair&lt;&gt; of arithmetic
+ types.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ g()
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an object of type Gen::result_type.
+ </p>
+ <p>
+ Each time this operator is called then the next pair of <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> values is returned. Or, if result_type
+ is an arithmetic type, then the next <span class="emphasis"><em>b</em></span> value
+ is returned and all the <span class="emphasis"><em>a</em></span> values are assumed
+ to 1.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ In all the continued fraction evaluation functions the <span class="emphasis"><em>tolerance</em></span>
+ parameter is the precision desired in the result, evaluation of the fraction
+ will continue until the last term evaluated leaves the relative error in
+ the result less than <span class="emphasis"><em>tolerance</em></span>. The deprecated interfaces
+ take a number of digits precision here, internally they just convert this
+ to a tolerance and forward call.
+ </p>
+<p>
+ If the optional <span class="emphasis"><em>max_terms</em></span> parameter is specified then
+ no more than <span class="emphasis"><em>max_terms</em></span> calls to the generator will be
+ made, and on output, <span class="emphasis"><em>max_terms</em></span> will be set to actual
+ number of calls made. This facility is particularly useful when profiling
+ a continued fraction for convergence.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.cf.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.cf.implementation"></a></span><a class="link" href="cf.html#math_toolkit.internals1.cf.implementation">Implementation</a>
+ </h5>
+<p>
+ Internally these algorithms all use the modified Lentz algorithm: refer to
+ Numeric Recipes in C++, W. H. Press et all, chapter 5, (especially 5.2 Evaluation
+ of continued fractions, p 175 - 179) for more information, also Lentz, W.J.
+ 1976, Applied Optics, vol. 15, pp. 668-671.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.cf.h3"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.cf.examples"></a></span><a class="link" href="cf.html#math_toolkit.internals1.cf.examples">Examples</a>
+ </h5>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Golden_ratio" target="_top">golden ratio phi
+ = 1.618033989...</a> can be computed from the simplest continued fraction
+ of all:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/fraction3.png"></span>
+ </p>
+<p>
+ We begin by defining a generator function:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">golden_ratio_fraction</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The golden ratio can then be computed to double precision using:
+ </p>
+<pre class="programlisting"><span class="identifier">continued_fraction_a</span><span class="special">(</span>
+ <span class="identifier">golden_ratio_fraction</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">());</span>
+</pre>
+<p>
+ It's more usual though to have to define both the <span class="emphasis"><em>a</em></span>'s
+ and the <span class="emphasis"><em>b</em></span>'s when evaluating special functions by continued
+ fractions, for example the tan function is defined by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/fraction4.png"></span>
+ </p>
+<p>
+ So its generator object would look like:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">tan_fraction</span>
+<span class="special">{</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">tan_fraction</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">v</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">a</span><span class="special">(-</span><span class="identifier">v</span><span class="special">*</span><span class="identifier">v</span><span class="special">),</span> <span class="identifier">b</span><span class="special">(-</span><span class="number">1</span><span class="special">)</span>
+ <span class="special">{}</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()()</span>
+ <span class="special">{</span>
+ <span class="identifier">b</span> <span class="special">+=</span> <span class="number">2</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Notice that if the continuant is subtracted from the <span class="emphasis"><em>b</em></span>
+ terms, as is the case here, then all the <span class="emphasis"><em>a</em></span> terms returned
+ by the generator will be negative. The tangent function can now be evaluated
+ using:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">tan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">tan_fraction</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">fract</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">/</span> <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">fract</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">());</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Notice that this time we're using the "_b" suffixed version to
+ evaluate the fraction: we're removing the leading <span class="emphasis"><em>a</em></span>
+ term during fraction evaluation as it's different from all the others.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="series_evaluation.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rational.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1/minima.html b/libs/math/doc/html/math_toolkit/internals1/minima.html
new file mode 100644
index 0000000000..8929c04c36
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1/minima.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Locating Function Minima: Brent's algorithm</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="prev" href="roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">
+<link rel="next" href="tuples.html" title="Tuples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="roots2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals1.minima"></a><a class="link" href="minima.html" title="Locating Function Minima: Brent's algorithm">Locating Function Minima:
+ Brent's algorithm</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals1.minima.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.minima.synopsis"></a></span><a class="link" href="minima.html#math_toolkit.internals1.minima.synopsis">synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">minima</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">brent_find_minima</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">brent_find_minima</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals1.minima.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.minima.description"></a></span><a class="link" href="minima.html#math_toolkit.internals1.minima.description">Description</a>
+ </h5>
+<p>
+ These two functions locate the minima of the continuous function <span class="emphasis"><em>f</em></span>
+ using Brent's algorithm. Parameters are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">f</span></dt>
+<dd><p>
+ The function to minimise. The function should be smooth over the range
+ [min,max], with no maxima occurring in that interval.
+ </p></dd>
+<dt><span class="term">min</span></dt>
+<dd><p>
+ The lower endpoint of the range in which to search for the minima.
+ </p></dd>
+<dt><span class="term">max</span></dt>
+<dd><p>
+ The upper endpoint of the range in which to search for the minima.
+ </p></dd>
+<dt><span class="term">bits</span></dt>
+<dd><p>
+ The number of bits precision to which the minima should be found. Note
+ that in principle, the minima can not be located to greater accuracy
+ than the square root of machine epsilon (for 64-bit double, sqrt(1e-16)&#8773;1e-8),
+ therefore if <span class="emphasis"><em>bits</em></span> is set to a value greater than
+ one half of the bits in type T, then the value will be ignored.
+ </p></dd>
+<dt><span class="term">max_iter</span></dt>
+<dd><p>
+ The maximum number of iterations to use in the algorithm, if not provided
+ the algorithm will just keep on going until the minima is found.
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> a pair containing the value of
+ the abscissa at the minima and the value of f(x) at the minima.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.minima.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.minima.implementation"></a></span><a class="link" href="minima.html#math_toolkit.internals1.minima.implementation">Implementation</a>
+ </h5>
+<p>
+ This is a reasonably faithful implementation of Brent's algorithm, refer
+ to:
+ </p>
+<p>
+ Brent, R.P. 1973, Algorithms for Minimization without Derivatives (Englewood
+ Cliffs, NJ: Prentice-Hall), Chapter 5.
+ </p>
+<p>
+ Numerical Recipes in C, The Art of Scientific Computing, Second Edition,
+ William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P.
+ Flannery. Cambridge University Press. 1988, 1992.
+ </p>
+<p>
+ An algorithm with guaranteed convergence for finding a zero of a function,
+ R. P. Brent, The Computer Journal, Vol 44, 1971.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="roots2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1/rational.html b/libs/math/doc/html/math_toolkit/internals1/rational.html
new file mode 100644
index 0000000000..866626ef3c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1/rational.html
@@ -0,0 +1,232 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Polynomial and Rational Function Evaluation</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="prev" href="cf.html" title="Continued Fraction Evaluation">
+<link rel="next" href="roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cf.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals1.rational"></a><a class="link" href="rational.html" title="Polynomial and Rational Function Evaluation">Polynomial and Rational
+ Function Evaluation</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals1.rational.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.rational.synopsis"></a></span><a class="link" href="rational.html#math_toolkit.internals1.rational.synopsis">synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">rational</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="comment">// Polynomials:</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
+
+<span class="comment">// Even polynomials:</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
+
+<span class="comment">// Odd polynomials </span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
+
+<span class="comment">// Rational Functions:</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">num</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">*</span> <span class="identifier">denom</span><span class="special">,</span> <span class="identifier">V</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">count</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals1.rational.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.rational.description"></a></span><a class="link" href="rational.html#math_toolkit.internals1.rational.description">Description</a>
+ </h5>
+<p>
+ Each of the functions come in three variants: a pair of overloaded functions
+ where the order of the polynomial or rational function is evaluated at compile
+ time, and an overload that accepts a runtime variable for the size of the
+ coefficient array. Generally speaking, compile time evaluation of the array
+ size results in better type safety, is less prone to programmer errors, and
+ may result in better optimised code. The polynomial evaluation functions
+ in particular, are specialised for various array sizes, allowing for loop
+ unrolling, and one hopes, optimal inline expansion.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
+</pre>
+<p>
+ Evaluates the <a href="http://en.wikipedia.org/wiki/Polynomial" target="_top">polynomial</a>
+ described by the coefficients stored in <span class="emphasis"><em>poly</em></span>.
+ </p>
+<p>
+ If the size of the array is specified at runtime, then the polynomial most
+ have order <span class="emphasis"><em>count-1</em></span> with <span class="emphasis"><em>count</em></span> coefficients.
+ Otherwise it has order <span class="emphasis"><em>N-1</em></span> with <span class="emphasis"><em>N</em></span>
+ coefficients.
+ </p>
+<p>
+ Coefficients should be stored such that the coefficients for the x<sup>i </sup> terms
+ are in poly[i].
+ </p>
+<p>
+ The types of the coefficients and of variable <span class="emphasis"><em>z</em></span> may
+ differ as long as <span class="emphasis"><em>*poly</em></span> is convertible to type <span class="emphasis"><em>U</em></span>.
+ This allows, for example, for the coefficient table to be a table of integers
+ if this is appropriate.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
+</pre>
+<p>
+ As above, but evaluates an even polynomial: one where all the powers of
+ <span class="emphasis"><em>z</em></span> are even numbers. Equivalent to calling <code class="computeroutput"><span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="identifier">poly</span><span class="special">,</span> <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">count</span><span class="special">)</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
+</pre>
+<p>
+ As above but evaluates a polynomial where all the powers are odd numbers.
+ Equivalent to <code class="computeroutput"><span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="identifier">poly</span><span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">,</span>
+ <span class="identifier">count</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span>
+ <span class="identifier">z</span> <span class="special">+</span> <span class="identifier">poly</span><span class="special">[</span><span class="number">0</span><span class="special">]</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">(&amp;</span><span class="identifier">denom</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">num</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">denom</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">num</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">*</span> <span class="identifier">denom</span><span class="special">,</span> <span class="identifier">V</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">count</span><span class="special">);</span>
+</pre>
+<p>
+ Evaluates the rational function (the ratio of two polynomials) described
+ by the coefficients stored in <span class="emphasis"><em>num</em></span> and <span class="emphasis"><em>demom</em></span>.
+ </p>
+<p>
+ If the size of the array is specified at runtime then both polynomials most
+ have order <span class="emphasis"><em>count-1</em></span> with <span class="emphasis"><em>count</em></span> coefficients.
+ Otherwise both polynomials have order <span class="emphasis"><em>N-1</em></span> with <span class="emphasis"><em>N</em></span>
+ coefficients.
+ </p>
+<p>
+ Array <span class="emphasis"><em>num</em></span> describes the numerator, and <span class="emphasis"><em>demon</em></span>
+ the denominator.
+ </p>
+<p>
+ Coefficients should be stored such that the coefficients for the x<sup>i </sup> terms
+ are in num[i] and denom[i].
+ </p>
+<p>
+ The types of the coefficients and of variable <span class="emphasis"><em>v</em></span> may
+ differ as long as <span class="emphasis"><em>*num</em></span> and <span class="emphasis"><em>*denom</em></span>
+ are convertible to type <span class="emphasis"><em>V</em></span>. This allows, for example,
+ for one or both of the coefficient tables to be a table of integers if this
+ is appropriate.
+ </p>
+<p>
+ These functions are designed to safely evaluate the result, even when the
+ value <span class="emphasis"><em>z</em></span> is very large. As such they do not take advantage
+ of compile time array sizes to make any optimisations. These functions are
+ best reserved for situations where <span class="emphasis"><em>z</em></span> may be large: if
+ you can be sure that numerical overflow will not occur then polynomial evaluation
+ with compile-time array sizes may offer slightly better performance.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.rational.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.rational.implementation"></a></span><a class="link" href="rational.html#math_toolkit.internals1.rational.implementation">Implementation</a>
+ </h5>
+<p>
+ Polynomials are evaluated by <a href="http://en.wikipedia.org/wiki/Horner_algorithm" target="_top">Horners
+ method</a>. If the array size is known at compile time then the functions
+ dispatch to size-specific implementations that unroll the evaluation loop.
+ </p>
+<p>
+ Rational evaluation is by <a href="http://en.wikipedia.org/wiki/Horner_algorithm" target="_top">Horners
+ method</a>: with the two polynomials being evaluated in parallel to make
+ the most of the processors floating-point pipeline. If <span class="emphasis"><em>v</em></span>
+ is greater than one, then the polynomials are evaluated in reverse order
+ as polynomials in <span class="emphasis"><em>1/v</em></span>: this avoids unnecessary numerical
+ overflow when the coefficients are large.
+ </p>
+<p>
+ Both the polynomial and rational function evaluation algorithms can be tuned
+ using various configuration macros to provide optimal performance for a particular
+ combination of compiler and platform. This includes support for second-order
+ Horner's methods. The various options are <a class="link" href="../tuning.html" title="Performance Tuning Macros">documented
+ here</a>. However, the performance benefits to be gained from these are
+ marginal on most current hardware, consequently it's best to run the <a class="link" href="../perf_test_app.html" title="The Performance Test Application">performance test application</a>
+ before changing the default settings.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cf.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1/roots.html b/libs/math/doc/html/math_toolkit/internals1/roots.html
new file mode 100644
index 0000000000..a3c66cae34
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1/roots.html
@@ -0,0 +1,418 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="prev" href="rational.html" title="Polynomial and Rational Function Evaluation">
+<link rel="next" href="roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rational.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals1.roots"></a><a class="link" href="roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">Root Finding With Derivatives:
+ Newton-Raphson, Halley &amp; Schroeder</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals1.roots.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots.synopsis"></a></span><a class="link" href="roots.html#math_toolkit.internals1.roots.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">newton_raphson_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">newton_raphson_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">halley_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">halley_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">schroeder_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">schroeder_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals1.roots.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots.description"></a></span><a class="link" href="roots.html#math_toolkit.internals1.roots.description">Description</a>
+ </h5>
+<p>
+ These functions all perform iterative root finding using derivatives:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">newton_raphson_iterate</span></code>
+ performs second order <a class="link" href="roots.html#math_toolkit.internals1.roots.newton">Newton-Raphson
+ iteration</a>,
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">halley_iterate</span></code> and<code class="computeroutput"><span class="identifier">schroeder_iterate</span></code> perform third order
+ <a class="link" href="roots.html#math_toolkit.internals1.roots.halley">Halley</a> and
+ <a class="link" href="roots.html#math_toolkit.internals1.roots.schroeder">Schroeder</a>
+ iteration.
+ </li>
+</ul></div>
+<p>
+ The functions all take the same parameters:
+ </p>
+<div class="variablelist">
+<p class="title"><b>Parameters of the root finding functions</b></p>
+<dl class="variablelist">
+<dt><span class="term">F f</span></dt>
+<dd>
+<p>
+ Type F must be a callable function object that accepts one parameter
+ and returns a <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a>:
+ </p>
+<p>
+ For the second order iterative methods (<a href="http://en.wikipedia.org/wiki/Newton_Raphson" target="_top">Newton
+ Raphson</a>) the <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a>
+ should have <span class="bold"><strong>two</strong></span> elements containing
+ the evaluation of the function and its first derivative.
+ </p>
+<p>
+ For the third order methods (<a href="http://en.wikipedia.org/wiki/Halley%27s_method" target="_top">Halley</a>
+ and Schroeder) the <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a>
+ should have <span class="bold"><strong>three</strong></span> elements containing
+ the evaluation of the function and its first and second derivatives.
+ </p>
+</dd>
+<dt><span class="term">T guess</span></dt>
+<dd><p>
+ The initial starting value. A good guess is crucial to quick convergence!
+ </p></dd>
+<dt><span class="term">T min</span></dt>
+<dd><p>
+ The minimum possible value for the result, this is used as an initial
+ lower bracket.
+ </p></dd>
+<dt><span class="term">T max</span></dt>
+<dd><p>
+ The maximum possible value for the result, this is used as an initial
+ upper bracket.
+ </p></dd>
+<dt><span class="term">int digits</span></dt>
+<dd><p>
+ The desired number of binary digits.
+ </p></dd>
+<dt><span class="term">uintmax_t&amp; max_iter</span></dt>
+<dd><p>
+ An optional maximum number of iterations to perform. On exit this is
+ set to the actual number of iterations performed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ When using these functions you should note that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Default max_iter = <code class="computeroutput"><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">)()</span></code> is effectively 'iterate for ever'!.
+ </li>
+<li class="listitem">
+ They may be very sensitive to the initial guess, typically they converge
+ very rapidly if the initial guess has two or three decimal digits correct.
+ However convergence can be no better than bisection, or in some rare
+ cases, even worse than bisection if the initial guess is a long way from
+ the correct value and the derivatives are close to zero.
+ </li>
+<li class="listitem">
+ These functions include special cases to handle zero first (and second
+ where appropriate) derivatives, and fall back to bisection in this case.
+ However, it is helpful if functor F is defined to return an arbitrarily
+ small value <span class="emphasis"><em>of the correct sign</em></span> rather than zero.
+ </li>
+<li class="listitem">
+ If the derivative at the current best guess for the result is infinite
+ (or very close to being infinite) then these functions may terminate
+ prematurely. A large first derivative leads to a very small next step,
+ triggering the termination condition. Derivative based iteration may
+ not be appropriate in such cases.
+ </li>
+<li class="listitem">
+ If the function is 'Really Well Behaved' (monotonic and has only one
+ root) the bracket bounds min and max may as well be set to the widest
+ limits like zero and <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ But if the function more complex and may have more than one root or a
+ pole, the choice of bounds is protection against jumping out to seek
+ the 'wrong' root.
+ </li>
+<li class="listitem">
+ These functions fall back to bisection if the next computed step would
+ take the next value out of bounds. The bounds are updated after each
+ step to ensure this leads to convergence. However, a good initial guess
+ backed up by asymptotically-tight bounds will improve performance no
+ end - rather than relying on bisection.
+ </li>
+<li class="listitem">
+ The value of <span class="emphasis"><em>digits</em></span> is crucial to good performance
+ of these functions, if it is set too high then at best you will get one
+ extra (unnecessary) iteration, and at worst the last few steps will proceed
+ by bisection. Remember that the returned value can never be more accurate
+ than f(x) can be evaluated, and that if f(x) suffers from cancellation
+ errors as it tends to zero then the computed steps will be effectively
+ random. The value of <span class="emphasis"><em>digits</em></span> should be set so that
+ iteration terminates before this point: remember that for second and
+ third order methods the number of correct digits in the result is increasing
+ quite substantially with each iteration, <span class="emphasis"><em>digits</em></span>
+ should be set by experiment so that the final iteration just takes the
+ next value into the zone where f(x) becomes inaccurate.
+ </li>
+<li class="listitem">
+ To get the binary digits of accuracy, use policies::get_max_root_iterations&lt;Policy&gt;()).
+ </li>
+<li class="listitem">
+ If you need some diagnostic output to see what is going on, you can
+ <code class="computeroutput"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
+ before the <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, and also ensure that display of
+ all the possibly significant digits with <code class="computeroutput"> <span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">)</span></code>: but be warned, this may produce copious
+ output!
+ </li>
+<li class="listitem">
+ Finally: you may well be able to do better than these functions by hand-coding
+ the heuristics used so that they are tailored to a specific function.
+ You may also be able to compute the ratio of derivatives used by these
+ methods more efficiently than computing the derivatives themselves. As
+ ever, algebraic simplification can be a big win.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.internals1.roots.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots.newton"></a></span><a class="link" href="roots.html#math_toolkit.internals1.roots.newton">Newton
+ Raphson Method</a>
+ </h5>
+<p>
+ Given an initial guess x0 the subsequent values are computed using:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/roots1.png"></span>
+ </p>
+<p>
+ Out of bounds steps revert to bisection of the current bounds.
+ </p>
+<p>
+ Under ideal conditions, the number of correct digits doubles with each iteration.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.roots.h3"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots.halley"></a></span><a class="link" href="roots.html#math_toolkit.internals1.roots.halley">Halley's
+ Method</a>
+ </h5>
+<p>
+ Given an initial guess x0 the subsequent values are computed using:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/roots2.png"></span>
+ </p>
+<p>
+ Over-compensation by the second derivative (one which would proceed in the
+ wrong direction) causes the method to revert to a Newton-Raphson step.
+ </p>
+<p>
+ Out of bounds steps revert to bisection of the current bounds.
+ </p>
+<p>
+ Under ideal conditions, the number of correct digits trebles with each iteration.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.roots.h4"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots.schroeder"></a></span><a class="link" href="roots.html#math_toolkit.internals1.roots.schroeder">Schroeder's
+ Method</a>
+ </h5>
+<p>
+ Given an initial guess x0 the subsequent values are computed using:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/roots3.png"></span>
+ </p>
+<p>
+ Over-compensation by the second derivative (one which would proceed in the
+ wrong direction) causes the method to revert to a Newton-Raphson step. Likewise
+ a Newton step is used whenever that Newton step would change the next value
+ by more than 10%.
+ </p>
+<p>
+ Out of bounds steps revert to bisection of the current bounds.
+ </p>
+<p>
+ Under ideal conditions, the number of correct digits trebles with each iteration.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.roots.h5"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots.example"></a></span><a class="link" href="roots.html#math_toolkit.internals1.roots.example">Example</a>
+ </h5>
+<p>
+ Let's suppose we want to find the cube root of a number: the equation we
+ want to solve along with its derivatives are:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/roots4.png"></span>
+ </p>
+<p>
+ To begin with lets solve the problem using Newton-Raphson iterations, we'll
+ begin by defining a function object (functor) that returns the evaluation
+ of the function to solve, along with its first derivative f'(x):
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">cbrt_functor</span>
+<span class="special">{</span>
+ <span class="identifier">cbrt_functor</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">a</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// Constructor stores value to be 'cube-rooted'.</span>
+ <span class="special">}</span>
+ <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// z is estimate so far.</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">make_tuple</span><span class="special">(</span>
+ <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">,</span> <span class="comment">// return both f(x)</span>
+ <span class="number">3</span> <span class="special">*</span> <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">);</span> <span class="comment">// and f'(x)</span>
+ <span class="special">}</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">T</span> <span class="identifier">a</span><span class="special">;</span> <span class="comment">// to be 'cube-rooted'.</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Implementing the cube root is fairly trivial now, the hardest part is finding
+ a good approximation to begin with: in this case we'll just divide the exponent
+ by three:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// for frexp, ldexp, numeric_limits.</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">exp</span><span class="special">;</span>
+ <span class="identifier">frexp</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">exp</span><span class="special">);</span> <span class="comment">// Get exponent of z (ignore mantissa).</span>
+ <span class="identifier">T</span> <span class="identifier">min</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
+ <span class="identifier">T</span> <span class="identifier">max</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">2.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
+ <span class="identifier">T</span> <span class="identifier">guess</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span> <span class="comment">// Rough guess is to divide the exponent by three.</span>
+ <span class="keyword">int</span> <span class="identifier">digits</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span><span class="special">;</span> <span class="comment">// Maximum possible binary digits accuracy for type T.</span>
+ <span class="keyword">return</span> <span class="identifier">newton_raphson_iterate</span><span class="special">(</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">cbrt_functor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">),</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">max</span><span class="special">,</span> <span class="identifier">digits</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Using the test data in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">cbrt_test</span><span class="special">.</span><span class="identifier">cpp</span></code> this
+ found the cube root exact to the last digit in every case, and in no more
+ than 6 iterations at double precision. However, you will note that a high
+ precision was used in this example, exactly what was warned against earlier
+ on in these docs! In this particular case it is possible to compute f(x)
+ exactly and without undue cancellation error, so a high limit is not too
+ much of an issue. However, reducing the limit to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">*</span> <span class="number">2</span> <span class="special">/</span> <span class="number">3</span></code>
+ gave full precision in all but one of the test cases (and that one was out
+ by just one bit). The maximum number of iterations remained 6, but in most
+ cases was reduced by one.
+ </p>
+<p>
+ Note also that the above code omits a probably optimization by computing
+ z&#178;, and reusing it, omits error handling, and does not handle negative values
+ of z correctly. (These are left as an exercise for the reader!)
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cbrt</span></code> function also includes these and other
+ improvements.
+ </p>
+<p>
+ Now let's adapt the functor slightly to return the second derivative as well:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">cbrt_functor</span>
+<span class="special">{</span>
+ <span class="identifier">cbrt_functor</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">a</span><span class="special">(</span><span class="identifier">target</span><span class="special">){}</span>
+ <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">make_tuple</span><span class="special">(</span>
+ <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="number">3</span> <span class="special">*</span> <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">,</span>
+ <span class="number">6</span> <span class="special">*</span> <span class="identifier">z</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">T</span> <span class="identifier">a</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ And then adapt the <code class="computeroutput"><span class="identifier">cbrt</span></code> function
+ to use Halley iterations:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">exp</span><span class="special">;</span>
+ <span class="identifier">frexp</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">exp</span><span class="special">);</span>
+ <span class="identifier">T</span> <span class="identifier">min</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
+ <span class="identifier">T</span> <span class="identifier">max</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">2.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
+ <span class="identifier">T</span> <span class="identifier">guess</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
+ <span class="keyword">int</span> <span class="identifier">digits</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">/</span> <span class="number">2</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">halley_iterate</span><span class="special">(</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">cbrt_functor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">),</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">max</span><span class="special">,</span> <span class="identifier">digits</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Note that the iterations are set to stop at just one-half of full precision,
+ and yet, even so, not one of the test cases had a single bit wrong. What's
+ more, the maximum number of iterations was now just 4.
+ </p>
+<p>
+ Just to complete the picture, we could have called <code class="computeroutput"><span class="identifier">schroeder_iterate</span></code>
+ in the last example: and in fact it makes no difference to the accuracy or
+ number of iterations in this particular case. However, the relative performance
+ of these two methods may vary depending upon the nature of f(x), and the
+ accuracy to which the initial guess can be computed. There appear to be no
+ generalisations that can be made except "try them and see".
+ </p>
+<p>
+ Finally, had we called <code class="computeroutput"><span class="identifier">cbrt</span></code>
+ with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> set to
+ 1000 bit precision, then full precision can be obtained with just 7 iterations.
+ To put that in perspective, an increase in precision by a factor of 20, has
+ less than doubled the number of iterations. That just goes to emphasise that
+ most of the iterations are used up getting the first few digits correct:
+ after that these methods can churn out further digits with remarkable efficiency.
+ </p>
+<p>
+ Or to put it another way: <span class="emphasis"><em>nothing beats a really good initial guess!</em></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rational.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1/roots2.html b/libs/math/doc/html/math_toolkit/internals1/roots2.html
new file mode 100644
index 0000000000..ff5f33d40d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1/roots2.html
@@ -0,0 +1,587 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Root Finding Without Derivatives: Bisection, Bracket and TOMS748</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="prev" href="roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">
+<link rel="next" href="minima.html" title="Locating Function Minima: Brent's algorithm">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="roots.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minima.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals1.roots2"></a><a class="link" href="roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">Root Finding Without
+ Derivatives: Bisection, Bracket and TOMS748</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals1.roots2.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots2.synopsis"></a></span><a class="link" href="roots2.html#math_toolkit.internals1.roots2.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
+<span class="comment">// Bisection</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bisect</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bisect</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bisect</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+ <span class="comment">// Bracket and Solve Root</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+ <span class="comment">// TOMS 748 algorithm</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="comment">// Termination conditions:</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">eps_tolerance</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">equal_floor</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">equal_ceil</span><span class="special">;</span>
+<span class="keyword">struct</span> <span class="identifier">equal_nearest_integer</span><span class="special">;</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals1.roots2.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots2.description"></a></span><a class="link" href="roots2.html#math_toolkit.internals1.roots2.description">Description</a>
+ </h5>
+<p>
+ These functions solve the root of some function <span class="emphasis"><em>f(x)</em></span>
+ <span class="emphasis"><em>without the need for any derivatives of <span class="emphasis"><em>f(x)</em></span></em></span>.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">bracket_and_solve_root</span></code>
+ functions use TOMS Algorithm 748 that is asymptotically the most efficient
+ known, and have been shown to be optimal for a certain classes of smooth
+ functions. Variants with and without __policies are provided.
+ </p>
+<p>
+ Alternatively, there is a simple bisection routine which can be useful in
+ its own right in some situations, or alternatively for narrowing down the
+ range containing the root, prior to calling a more advanced algorithm.
+ </p>
+<p>
+ All the algorithms in this section reduce the diameter of the enclosing interval
+ with the same asymptotic efficiency with which they locate the root. This
+ is in contrast to the derivative based methods which may <span class="emphasis"><em>never</em></span>
+ significantly reduce the enclosing interval, even though they rapidly approach
+ the root. This is also in contrast to some other derivative-free methods
+ (for example the methods of <a href="http://en.wikipedia.org/wiki/Brent%27s_method" target="_top">Brent
+ or Dekker)</a> which only reduce the enclosing interval on the final
+ step. Therefore these methods return a std::pair containing the enclosing
+ interval found, and accept a function object specifying the termination condition.
+ Three function objects are provided for ready-made termination conditions:
+ <span class="emphasis"><em>eps_tolerance</em></span> causes termination when the relative error
+ in the enclosing interval is below a certain threshold, while <span class="emphasis"><em>equal_floor</em></span>
+ and <span class="emphasis"><em>equal_ceil</em></span> are useful for certain statistical applications
+ where the result is known to be an integer. Other user-defined termination
+ conditions are likely to be used only rarely, but may be useful in some specific
+ circumstances.
+ </p>
+<h4>
+<a name="math_toolkit.internals1.roots2.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots2.bisection"></a></span><a class="link" href="roots2.html#math_toolkit.internals1.roots2.bisection">Bisection</a>
+ </h4>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bisect</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bisect</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bisect</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
+ <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ These functions locate the root using bisection: function arguments are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">f</span></dt>
+<dd><p>
+ A unary functor which is the function whose root is to be found.
+ </p></dd>
+<dt><span class="term">min</span></dt>
+<dd><p>
+ The left bracket of the interval known to contain the root.
+ </p></dd>
+<dt><span class="term">max</span></dt>
+<dd><p>
+ The right bracket of the interval known to contain the root. It is
+ a precondition that <span class="emphasis"><em>min &lt; max</em></span> and <span class="emphasis"><em>f(min)*f(max)
+ &lt;= 0</em></span>, the function signals evaluation error if these
+ preconditions are violated. The action taken is controlled by the evaluation
+ error policy. A best guess may be returned, perhaps significantly wrong.
+ </p></dd>
+<dt><span class="term">tol</span></dt>
+<dd><p>
+ A binary functor that specifies the termination condition: the function
+ will return the current brackets enclosing the root when <span class="emphasis"><em>tol(min,max)</em></span>
+ becomes true.
+ </p></dd>
+<dt><span class="term">max_iter</span></dt>
+<dd><p>
+ The maximum number of invocations of <span class="emphasis"><em>f(x)</em></span> to make
+ while searching for the root. On exist this is set to actual number
+ of invocations performed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Returns: a pair of values <span class="emphasis"><em>r</em></span> that bracket the root so
+ that:
+ </p>
+<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0</span>
+</pre>
+<p>
+ and either
+ </p>
+<pre class="programlisting"><span class="identifier">tol</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span>
+</pre>
+<p>
+ or
+ </p>
+<pre class="programlisting"><span class="identifier">max_iter</span> <span class="special">&gt;=</span> <span class="identifier">m</span>
+</pre>
+<p>
+ where <span class="emphasis"><em>m</em></span> is the initial value of <span class="emphasis"><em>max_iter</em></span>
+ passed to the function.
+ </p>
+<p>
+ In other words, it's up to the caller to verify whether termination occurred
+ as a result of exceeding <span class="emphasis"><em>max_iter</em></span> function invocations
+ (easily done by checking the updated value of <span class="emphasis"><em>max_iter</em></span>
+ when the function returns), rather than because the termination condition
+ <span class="emphasis"><em>tol</em></span> was satisfied.
+ </p>
+<h4>
+<a name="math_toolkit.internals1.roots2.h3"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots2.bracket_and_solve"></a></span><a class="link" href="roots2.html#math_toolkit.internals1.roots2.bracket_and_solve">Bracket
+ and solve</a>
+ </h4>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ This is a convenience function that calls <span class="emphasis"><em>toms748_solve</em></span>
+ internally to find the root of <span class="emphasis"><em>f(x)</em></span>. It's usable only
+ when <span class="emphasis"><em>f(x)</em></span> is a monotonic function, and the location
+ of the root is known approximately, and in particular it is known whether
+ the root is occurs for positive or negative <span class="emphasis"><em>x</em></span>. The parameters
+ are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">f</span></dt>
+<dd><p>
+ A unary functor that is the function whose root is to be solved. f(x)
+ must be uniformly increasing or decreasing on <span class="emphasis"><em>x</em></span>.
+ </p></dd>
+<dt><span class="term">guess</span></dt>
+<dd><p>
+ An initial approximation to the root
+ </p></dd>
+<dt><span class="term">factor</span></dt>
+<dd><p>
+ A scaling factor that is used to bracket the root: the value <span class="emphasis"><em>guess</em></span>
+ is multiplied (or divided as appropriate) by <span class="emphasis"><em>factor</em></span>
+ until two values are found that bracket the root. A value such as 2
+ is a typical choice for <span class="emphasis"><em>factor</em></span>.
+ </p></dd>
+<dt><span class="term">rising</span></dt>
+<dd><p>
+ Set to <span class="emphasis"><em>true</em></span> if <span class="emphasis"><em>f(x)</em></span> is rising
+ on <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>false</em></span> if <span class="emphasis"><em>f(x)</em></span>
+ is falling on <span class="emphasis"><em>x</em></span>. This value is used along with
+ the result of <span class="emphasis"><em>f(guess)</em></span> to determine if <span class="emphasis"><em>guess</em></span>
+ is above or below the root.
+ </p></dd>
+<dt><span class="term">tol</span></dt>
+<dd><p>
+ A binary functor that determines the termination condition for the
+ search for the root. <span class="emphasis"><em>tol</em></span> is passed the current
+ brackets at each step, when it returns true then the current brackets
+ are returned as the result.
+ </p></dd>
+<dt><span class="term">max_iter</span></dt>
+<dd><p>
+ The maximum number of function invocations to perform in the search
+ for the root. On exit is set to the actual number of invocations performed.
+ </p></dd>
+</dl>
+</div>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Returns: a pair of values <span class="emphasis"><em>r</em></span> that bracket the root so
+ that:
+ </p>
+<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0</span>
+</pre>
+<p>
+ and either
+ </p>
+<pre class="programlisting"><span class="identifier">tol</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span>
+</pre>
+<p>
+ or
+ </p>
+<pre class="programlisting"><span class="identifier">max_iter</span> <span class="special">&gt;=</span> <span class="identifier">m</span>
+</pre>
+<p>
+ where <span class="emphasis"><em>m</em></span> is the initial value of <span class="emphasis"><em>max_iter</em></span>
+ passed to the function.
+ </p>
+<p>
+ In other words, it's up to the caller to verify whether termination occurred
+ as a result of exceeding <span class="emphasis"><em>max_iter</em></span> function invocations
+ (easily done by checking the value of <span class="emphasis"><em>max_iter</em></span> when
+ the function returns), rather than because the termination condition <span class="emphasis"><em>tol</em></span>
+ was satisfied.
+ </p>
+<h4>
+<a name="math_toolkit.internals1.roots2.h4"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots2.algorithm_toms_748_alefeld_potra"></a></span><a class="link" href="roots2.html#math_toolkit.internals1.roots2.algorithm_toms_748_alefeld_potra">Algorithm
+ TOMS 748: Alefeld, Potra and Shi: Enclosing zeros of continuous functions</a>
+ </h4>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">toms748_solve</span><span class="special">(</span>
+ <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
+ <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
+ <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ These two functions implement TOMS Algorithm 748: it uses a mixture of cubic,
+ quadratic and linear (secant) interpolation to locate the root of <span class="emphasis"><em>f(x)</em></span>.
+ The two functions differ only by whether values for <span class="emphasis"><em>f(a)</em></span>
+ and <span class="emphasis"><em>f(b)</em></span> are already available. The toms748_solve parameters
+ are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">f</span></dt>
+<dd><p>
+ A unary functor that is the function whose root is to be solved. f(x)
+ need not be uniformly increasing or decreasing on <span class="emphasis"><em>x</em></span>
+ and may have multiple roots.
+ </p></dd>
+<dt><span class="term">a</span></dt>
+<dd><p>
+ The lower bound for the initial bracket of the root.
+ </p></dd>
+<dt><span class="term">b</span></dt>
+<dd><p>
+ The upper bound for the initial bracket of the root. It is a precondition
+ that <span class="emphasis"><em>a &lt; b</em></span> and that <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> bracket the root to find so that <span class="emphasis"><em>f(a)*f(b)
+ &lt; 0</em></span>.
+ </p></dd>
+<dt><span class="term">fa</span></dt>
+<dd><p>
+ Optional: the value of <span class="emphasis"><em>f(a)</em></span>.
+ </p></dd>
+<dt><span class="term">fb</span></dt>
+<dd><p>
+ Optional: the value of <span class="emphasis"><em>f(b)</em></span>.
+ </p></dd>
+<dt><span class="term">tol</span></dt>
+<dd><p>
+ A binary functor that determines the termination condition for the
+ search for the root. <span class="emphasis"><em>tol</em></span> is passed the current
+ brackets at each step, when it returns true, then the current brackets
+ are returned as the result.
+ </p></dd>
+<dt><span class="term">max_iter</span></dt>
+<dd><p>
+ The maximum number of function invocations to perform in the search
+ for the root. On exit <span class="emphasis"><em>max_iter</em></span> is set to actual
+ number of function invocations used.
+ </p></dd>
+</dl>
+</div>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ toms748_solve returns: a pair of values <span class="emphasis"><em>r</em></span> that bracket
+ the root so that: f(r.first) * f(r.second) &lt;= 0 and either tol(r.first,
+ r.second) == true or max_iter &gt;= m where <span class="emphasis"><em>m</em></span> is the
+ initial value of <span class="emphasis"><em>max_iter</em></span> passed to the function.
+ </p>
+<p>
+ In other words, it's up to the caller to verify whether termination occurred
+ as a result of exceeding <span class="emphasis"><em>max_iter</em></span> function invocations
+ (easily done by checking the updated value of <span class="emphasis"><em>max_iter</em></span>
+ against its previous value passed as parameter), rather than because the
+ termination condition <span class="emphasis"><em>tol</em></span> was satisfied.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">eps_tolerance</span>
+<span class="special">{</span>
+ <span class="identifier">eps_tolerance</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">eps_tolerance</span></code> is the usual
+ termination condition used with these root finding functions. Its operator()
+ will return true when the relative distance between <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> is less than twice the machine epsilon for T,
+ or 2<sup>1-bits</sup>, whichever is the larger. In other words, you set <span class="emphasis"><em>bits</em></span>
+ to the number of bits of precision you want in the result. The minimal tolerance
+ of twice the machine epsilon of T is required to ensure that we get back
+ a bracketing interval: since this must clearly be at least 1 epsilon in size.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">equal_floor</span>
+<span class="special">{</span>
+ <span class="identifier">equal_floor</span><span class="special">();</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ This termination condition is used when you want to find an integer result
+ that is the <span class="emphasis"><em>floor</em></span> of the true root. It will terminate
+ as soon as both ends of the interval have the same <span class="emphasis"><em>floor</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">equal_ceil</span>
+<span class="special">{</span>
+ <span class="identifier">equal_ceil</span><span class="special">();</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ This termination condition is used when you want to find an integer result
+ that is the <span class="emphasis"><em>ceil</em></span> of the true root. It will terminate
+ as soon as both ends of the interval have the same <span class="emphasis"><em>ceil</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">equal_nearest_integer</span>
+<span class="special">{</span>
+ <span class="identifier">equal_nearest_integer</span><span class="special">();</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ This termination condition is used when you want to find an integer result
+ that is the <span class="emphasis"><em>closest</em></span> to the true root. It will terminate
+ as soon as both ends of the interval round to the same nearest integer.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.roots2.h5"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.roots2.implementation"></a></span><a class="link" href="roots2.html#math_toolkit.internals1.roots2.implementation">Implementation</a>
+ </h5>
+<p>
+ The implementation of the bisection algorithm is extremely straightforward
+ and not detailed here. <a href="http://portal.acm.org/citation.cfm?id=210111" target="_top">TOMS
+ Algorithm 748: enclosing zeros of continuous functions</a> is described
+ in detail in:
+ </p>
+<p>
+ <span class="emphasis"><em>Algorithm 748: Enclosing Zeros of Continuous Functions, G. E. Alefeld,
+ F. A. Potra and Yixun Shi, ACM Transactions on Mathematica1 Software, Vol.
+ 21. No. 3. September 1995. Pages 327-344.</em></span>
+ </p>
+<p>
+ The implementation here is a faithful translation of this paper into C++.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="roots.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minima.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1/series_evaluation.html b/libs/math/doc/html/math_toolkit/internals1/series_evaluation.html
new file mode 100644
index 0000000000..ebb01eba17
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1/series_evaluation.html
@@ -0,0 +1,197 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Series Evaluation</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="prev" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="next" href="cf.html" title="Continued Fraction Evaluation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../internals1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals1.series_evaluation"></a><a class="link" href="series_evaluation.html" title="Series Evaluation">Series Evaluation</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals1.series_evaluation.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.series_evaluation.synopsis"></a></span><a class="link" href="series_evaluation.html#math_toolkit.internals1.series_evaluation.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">series</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">init_value</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
+
+<span class="comment">//</span>
+<span class="comment">// The following interfaces are now deprecated:</span>
+<span class="comment">// </span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">init_value</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">init_value</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">kahan_sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">kahan_sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals1.series_evaluation.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.series_evaluation.description"></a></span><a class="link" href="series_evaluation.html#math_toolkit.internals1.series_evaluation.description">Description</a>
+ </h5>
+<p>
+ These algorithms are intended for the <a href="http://en.wikipedia.org/wiki/Series_%28mathematics%29" target="_top">summation
+ of infinite series</a>.
+ </p>
+<p>
+ Each of the algorithms takes a nullary-function object as the first argument:
+ the function object will be repeatedly invoked to pull successive terms from
+ the series being summed.
+ </p>
+<p>
+ The second argument is the precision required, summation will stop when the
+ next term is less than <span class="emphasis"><em>tolerance</em></span> times the result. The
+ deprecated versions of sum_series take an integer number of bits here - internally
+ they just convert this to a tolerance and forward the call.
+ </p>
+<p>
+ The third argument <span class="emphasis"><em>max_terms</em></span> sets an upper limit on
+ the number of terms of the series to evaluate. In addition, on exit the function
+ will set <span class="emphasis"><em>max_terms</em></span> to the actual number of terms of
+ the series that were evaluated: this is particularly useful for profiling
+ the convergence properties of a new series.
+ </p>
+<p>
+ The final optional argument <span class="emphasis"><em>init_value</em></span> is the initial
+ value of the sum to which the terms of the series should be added. This is
+ useful in two situations:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Where the first value of the series has a different formula to successive
+ terms. In this case the first value in the series can be passed as the
+ last argument and the logic of the function object can then be simplified
+ to return subsequent terms.
+ </li>
+<li class="listitem">
+ Where the series is being added (or subtracted) from some other value:
+ termination of the series will likely occur much more rapidly if that
+ other value is passed as the last argument. For example, there are several
+ functions that can be expressed as <span class="emphasis"><em>1 - S(z)</em></span> where
+ S(z) is an infinite series. In this case, pass -1 as the last argument
+ and then negate the result of the summation to get the result of <span class="emphasis"><em>1
+ - S(z)</em></span>.
+ </li>
+</ul></div>
+<p>
+ The two <span class="emphasis"><em>kahan_sum_series</em></span> variants of these algorithms
+ maintain a carry term that corrects for roundoff error during summation.
+ They are inspired by the <a href="http://en.wikipedia.org/wiki/Kahan_Summation_Algorithm" target="_top"><span class="emphasis"><em>Kahan
+ Summation Formula</em></span></a> that appears in <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_top">What
+ Every Computer Scientist Should Know About Floating-Point Arithmetic</a>.
+ However, it should be pointed out that there are very few series that require
+ summation in this way.
+ </p>
+<h5>
+<a name="math_toolkit.internals1.series_evaluation.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.series_evaluation.example"></a></span><a class="link" href="series_evaluation.html#math_toolkit.internals1.series_evaluation.example">Example</a>
+ </h5>
+<p>
+ Let's suppose we want to implement <span class="emphasis"><em>log(1+x)</em></span> via its
+ infinite series,
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/log1pseries.png"></span>
+ </p>
+<p>
+ We begin by writing a small function object to return successive terms of
+ the series:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">log1p_series</span>
+<span class="special">{</span>
+ <span class="comment">// we must define a result_type typedef:</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">log1p_series</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">k</span><span class="special">(</span><span class="number">0</span><span class="special">),</span> <span class="identifier">m_mult</span><span class="special">(-</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">m_prod</span><span class="special">(-</span><span class="number">1</span><span class="special">){}</span>
+
+ <span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()()</span>
+ <span class="special">{</span>
+ <span class="comment">// This is the function operator invoked by the summation</span>
+ <span class="comment">// algorithm, the first call to this operator should return</span>
+ <span class="comment">// the first term of the series, the second call the second </span>
+ <span class="comment">// term and so on.</span>
+ <span class="identifier">m_prod</span> <span class="special">*=</span> <span class="identifier">m_mult</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">m_prod</span> <span class="special">/</span> <span class="special">++</span><span class="identifier">k</span><span class="special">;</span>
+ <span class="special">}</span>
+
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">int</span> <span class="identifier">k</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">m_mult</span><span class="special">;</span>
+ <span class="identifier">T</span> <span class="identifier">m_prod</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Implementing log(1+x) is now fairly trivial:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">log1p</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// We really should add some error checking on x here!</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;</span> <span class="number">1</span><span class="special">);</span>
+
+ <span class="comment">// Construct the series functor:</span>
+ <span class="identifier">log1p_series</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
+ <span class="comment">// Set a limit on how many iterations we permit:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span> <span class="identifier">max_iter</span> <span class="special">=</span> <span class="number">1000</span><span class="special">;</span>
+ <span class="comment">// Add it up, with enough precision for full machine precision:</span>
+ <span class="keyword">return</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">(),</span> <span class="identifier">max_iter</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../internals1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals1/tuples.html b/libs/math/doc/html/math_toolkit/internals1/tuples.html
new file mode 100644
index 0000000000..106fcca459
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals1/tuples.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tuples</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals1.html" title="Utilities &amp; internals">
+<link rel="prev" href="minima.html" title="Locating Function Minima: Brent's algorithm">
+<link rel="next" href="../internals2.html" title="Testing and Development">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minima.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../internals2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals1.tuples"></a><a class="link" href="tuples.html" title="Tuples">Tuples</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals1.tuples.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.tuples.synopsis"></a></span><a class="link" href="tuples.html#math_toolkit.internals1.tuples.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals1.tuples.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals1.tuples.description"></a></span><a class="link" href="tuples.html#math_toolkit.internals1.tuples.description">Description</a>
+ </h5>
+<p>
+ This header defines the type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tuple</span></code>,
+ the associated free functions <code class="computeroutput"><span class="identifier">ignore</span></code>,
+ <code class="computeroutput"><span class="identifier">tie</span></code>, <code class="computeroutput"><span class="identifier">make_tuple</span></code>,
+ <code class="computeroutput"><span class="identifier">get</span></code>, and associated types
+ <code class="computeroutput"><span class="identifier">tuple_size</span></code> and <code class="computeroutput"><span class="identifier">tuple_element</span></code>.
+ </p>
+<p>
+ These types and functions are aliases for:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ std::tuple etc when available, otherwise:
+ </li>
+<li class="listitem">
+ std::tr1::tuple etc when available, otherwise:
+ </li>
+<li class="listitem">
+ boost::fusion::tuple etc if the compiler supports it, otherwise:
+ </li>
+<li class="listitem">
+ boost::tuple.
+ </li>
+</ul></div>
+<p>
+ So this <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tuple</span></code> is strongly recommended for maximum
+ portability.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minima.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../internals2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals2.html b/libs/math/doc/html/math_toolkit/internals2.html
new file mode 100644
index 0000000000..bb087aeab7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals2.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Testing and Development</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../toolkit.html" title="Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)">
+<link rel="prev" href="internals1/tuples.html" title="Tuples">
+<link rel="next" href="internals2/polynomials.html" title="Polynomials">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="internals1/tuples.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals2/polynomials.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.internals2"></a><a class="link" href="internals2.html" title="Testing and Development">Testing and Development</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="internals2/polynomials.html">Polynomials</a></span></dt>
+<dt><span class="section"><a href="internals2/minimax.html">Minimax Approximations
+ and the Remez Algorithm</a></span></dt>
+<dt><span class="section"><a href="internals2/error_test.html">Relative Error and
+ Testing</a></span></dt>
+<dt><span class="section"><a href="internals2/test_data.html">Graphing, Profiling,
+ and Generating Test Data for Special Functions</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="internals1/tuples.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals2/polynomials.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals2/error_test.html b/libs/math/doc/html/math_toolkit/internals2/error_test.html
new file mode 100644
index 0000000000..864c1de2d8
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals2/error_test.html
@@ -0,0 +1,237 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Relative Error and Testing</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals2.html" title="Testing and Development">
+<link rel="prev" href="minimax.html" title="Minimax Approximations and the Remez Algorithm">
+<link rel="next" href="test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minimax.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_data.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals2.error_test"></a><a class="link" href="error_test.html" title="Relative Error and Testing">Relative Error and
+ Testing</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals2.error_test.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.error_test.synopsis"></a></span><a class="link" href="error_test.html#math_toolkit.internals2.error_test.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span></code> is located under <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include_private</span></code>
+ and is not installed to the usual locations by default, you will need to
+ add <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include_private</span></code> to your compiler's include
+ path in order to use this header.
+ </p></td></tr>
+</table></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">relative_error</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F2</span><span class="special">&gt;</span>
+<span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">test</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">F1</span> <span class="identifier">test_func</span><span class="special">,</span> <span class="identifier">F2</span> <span class="identifier">expect_func</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals2.error_test.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.error_test.description"></a></span><a class="link" href="error_test.html#math_toolkit.internals2.error_test.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">relative_error</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the relative error between <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span>
+ using the usual formula:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/error1.png"></span>
+ </p>
+<p>
+ In addition the value returned is zero if:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Both <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span> are infinite.
+ </li>
+<li class="listitem">
+ Both <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span> are denormalised
+ numbers or zero.
+ </li>
+</ul></div>
+<p>
+ Otherwise if only one of <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span>
+ is zero then the value returned is 1.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F2</span><span class="special">&gt;</span>
+<span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">test</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">F1</span> <span class="identifier">test_func</span><span class="special">,</span> <span class="identifier">F2</span> <span class="identifier">expect_func</span><span class="special">);</span>
+</pre>
+<p>
+ This function is used for testing a function against tabulated test data.
+ </p>
+<p>
+ The return type contains statistical data on the relative errors (max, mean,
+ variance, and the number of test cases etc), as well as the row of test data
+ that caused the largest relative error. Public members of type test_result
+ are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term"><code class="computeroutput"><span class="keyword">unsigned</span> <span class="identifier">worst</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
+<dd><p>
+ Returns the row at which the worst error occurred.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">min</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
+<dd><p>
+ Returns the smallest relative error found.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">max</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
+<dd><p>
+ Returns the largest relative error found.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
+<dd><p>
+ Returns the mean error found.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span> <span class="identifier">count</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
+<dd><p>
+ Returns the number of test cases.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">variance</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
+<dd><p>
+ Returns the variance of the errors found.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">variance1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
+<dd><p>
+ Returns the unbiased variance of the errors found.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">rms</span><span class="special">()</span><span class="keyword">const</span></code></span></dt>
+<dd><p>
+ Returns the Root Mean Square, or quadratic mean of the errors.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">test_result</span><span class="special">&amp;</span>
+ <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">test_result</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ Combines two test_result's into a single result.
+ </p></dd>
+</dl>
+</div>
+<p>
+ The template parameter of test_result, is the same type as the values in
+ the two dimensional array passed to function <span class="emphasis"><em>test</em></span>, roughly
+ that's <code class="computeroutput"><span class="identifier">A</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">::</span><span class="identifier">value_type</span></code>.
+ </p>
+<p>
+ Parameter <span class="emphasis"><em>a</em></span> is a matrix of test data: and must be a
+ standard library Sequence type, that contains another Sequence type: typically
+ it will be a two dimensional instance of <code class="literal">boost::array</code>.
+ Each row of <span class="emphasis"><em>a</em></span> should contain all the parameters that
+ are passed to the function under test as well as the expected result.
+ </p>
+<p>
+ Parameter <span class="emphasis"><em>test_func</em></span> is the function under test, it is
+ invoked with each row of test data in <span class="emphasis"><em>a</em></span>. Typically type
+ F1 is created with Boost.Lambda: see the example below.
+ </p>
+<p>
+ Parameter <span class="emphasis"><em>expect_func</em></span> is a functor that extracts the
+ expected result from a row of test data in <span class="emphasis"><em>a</em></span>. Typically
+ type F2 is created with Boost.Lambda: see the example below.
+ </p>
+<p>
+ If the function under test returns a non-finite value when a finite result
+ is expected, or if a gross error is found, then a message is sent to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span></code>,
+ and a call to BOOST_ERROR() made (which means that including this header
+ requires you use Boost.Test). This is mainly a debugging/development aid
+ (and a good place for a breakpoint).
+ </p>
+<h5>
+<a name="math_toolkit.internals2.error_test.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.error_test.example"></a></span><a class="link" href="error_test.html#math_toolkit.internals2.error_test.example">Example</a>
+ </h5>
+<p>
+ Suppose we want to test the tgamma and lgamma functions, we can create a
+ two dimensional matrix of test data, each row is one test case, and contains
+ three elements: the input value, and the expected results for the tgamma
+ and lgamma functions respectively.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;,</span> <span class="identifier">NumberOfTests</span><span class="special">&gt;</span>
+ <span class="identifier">factorials</span> <span class="special">=</span> <span class="special">{</span>
+ <span class="comment">/* big array of test data goes here */</span>
+ <span class="special">};</span>
+</pre>
+<p>
+ Now we can invoke the test function to test tgamma:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span>
+
+<span class="comment">// get a pointer to the function under test:</span>
+<span class="identifier">TestType</span> <span class="special">(*</span><span class="identifier">funcp</span><span class="special">)(</span><span class="identifier">TestType</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
+
+<span class="comment">// declare something to hold the result:</span>
+<span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;</span> <span class="identifier">result</span><span class="special">;</span>
+<span class="comment">//</span>
+<span class="comment">// and test tgamma against data:</span>
+<span class="comment">//</span>
+<span class="identifier">result</span> <span class="special">=</span> <span class="identifier">test</span><span class="special">(</span>
+ <span class="identifier">factorials</span><span class="special">,</span>
+ <span class="identifier">bind</span><span class="special">(</span><span class="identifier">funcp</span><span class="special">,</span> <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">0</span><span class="special">])),</span> <span class="comment">// calls tgamma with factorials[row][0]</span>
+ <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">1</span><span class="special">])</span> <span class="comment">// extracts the expected result from factorials[row][1]</span>
+<span class="special">);</span>
+<span class="comment">//</span>
+<span class="comment">// Print out some results:</span>
+<span class="comment">//</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The Mean was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">result</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The worst error was "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">result</span><span class="special">.</span><span class="identifier">max</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The worst error was at row "</span> <span class="special">&lt;&lt;</span> <span class="identifier">result</span><span class="special">.</span><span class="identifier">worst_case</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">//</span>
+<span class="comment">// same again with lgamma this time:</span>
+<span class="comment">//</span>
+<span class="identifier">funcp</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">;</span>
+<span class="identifier">result</span> <span class="special">=</span> <span class="identifier">test</span><span class="special">(</span>
+ <span class="identifier">factorials</span><span class="special">,</span>
+ <span class="identifier">bind</span><span class="special">(</span><span class="identifier">funcp</span><span class="special">,</span> <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">0</span><span class="special">])),</span> <span class="comment">// calls tgamma with factorials[row][0]</span>
+ <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">2</span><span class="special">])</span> <span class="comment">// extracts the expected result from factorials[row][2]</span>
+<span class="special">);</span>
+<span class="comment">//</span>
+<span class="comment">// etc ...</span>
+<span class="comment">//</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="minimax.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_data.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals2/minimax.html b/libs/math/doc/html/math_toolkit/internals2/minimax.html
new file mode 100644
index 0000000000..7d8bc6157c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals2/minimax.html
@@ -0,0 +1,283 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Minimax Approximations and the Remez Algorithm</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals2.html" title="Testing and Development">
+<link rel="prev" href="polynomials.html" title="Polynomials">
+<link rel="next" href="error_test.html" title="Relative Error and Testing">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="polynomials.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_test.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals2.minimax"></a><a class="link" href="minimax.html" title="Minimax Approximations and the Remez Algorithm">Minimax Approximations
+ and the Remez Algorithm</a>
+</h3></div></div></div>
+<p>
+ The directory libs/math/minimax contains a command line driven program for
+ the generation of minimax approximations using the Remez algorithm. Both
+ polynomial and rational approximations are supported, although the latter
+ are tricky to converge: it is not uncommon for convergence of rational forms
+ to fail. No such limitations are present for polynomial approximations which
+ should always converge smoothly.
+ </p>
+<p>
+ It's worth stressing that developing rational approximations to functions
+ is often not an easy task, and one to which many books have been devoted.
+ To use this tool, you will need to have a reasonable grasp of what the Remez
+ algorithm is, and the general form of the approximation you want to achieve.
+ </p>
+<p>
+ Unless you already familar with the Remez method, you should first read the
+ <a class="link" href="../remez.html" title="The Remez Method">brief background article explaining the
+ principles behind the Remez algorithm</a>.
+ </p>
+<p>
+ The program consists of two parts:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">main.cpp</span></dt>
+<dd><p>
+ Contains the command line parser, and all the calls to the Remez code.
+ </p></dd>
+<dt><span class="term">f.cpp</span></dt>
+<dd><p>
+ Contains the function to approximate.
+ </p></dd>
+</dl>
+</div>
+<p>
+ Therefore to use this tool, you must modify f.cpp to return the function
+ to approximate. The tools supports multiple function approximations within
+ the same compiled program: each as a separate variant:
+ </p>
+<pre class="programlisting"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">variant</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the value of the function <span class="emphasis"><em>variant</em></span> at point
+ <span class="emphasis"><em>x</em></span>. So if you wish you can just add the function to approximate
+ as a new variant after the existing examples.
+ </p>
+<p>
+ In addition to those two files, the program needs to be linked to a <a class="link" href="../high_precision/use_ntl.html" title="Using NTL Library">patched NTL library to compile</a>.
+ </p>
+<p>
+ Note that the function <span class="emphasis"><em>f</em></span> must return the rational part
+ of the approximation: for example if you are approximating a function <span class="emphasis"><em>f(x)</em></span>
+ then it is quite common to use:
+ </p>
+<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">x</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">x</span><span class="special">))</span>
+</pre>
+<p>
+ where <span class="emphasis"><em>g(x)</em></span> is the dominant part of <span class="emphasis"><em>f(x)</em></span>,
+ <span class="emphasis"><em>Y</em></span> is some constant, and <span class="emphasis"><em>R(x)</em></span> is
+ the rational approximation part, usually optimised for a low absolute error
+ compared to |Y|.
+ </p>
+<p>
+ In this case you would define <span class="emphasis"><em>f</em></span> to return <span class="emphasis"><em>f(x)/g(x)</em></span>
+ and then set the y-offset of the approximation to <span class="emphasis"><em>Y</em></span>
+ (see command line options below).
+ </p>
+<p>
+ Many other forms are possible, but in all cases the objective is to split
+ <span class="emphasis"><em>f(x)</em></span> into a dominant part that you can evaluate easily
+ using standard math functions, and a smooth and slowly changing rational
+ approximation part. Refer to your favourite textbook for more examples.
+ </p>
+<p>
+ Command line options for the program are as follows:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">variant N</span></dt>
+<dd><p>
+ Sets the current function variant to N. This allows multiple functions
+ that are to be approximated to be compiled into the same executable.
+ Defaults to 0.
+ </p></dd>
+<dt><span class="term">range a b</span></dt>
+<dd><p>
+ Sets the domain for the approximation to the range [a,b], defaults
+ to [0,1].
+ </p></dd>
+<dt><span class="term">relative</span></dt>
+<dd><p>
+ Sets the Remez code to optimise for relative error. This is the default
+ at program startup. Note that relative error can only be used if f(x)
+ has no roots over the range being optimised.
+ </p></dd>
+<dt><span class="term">absolute</span></dt>
+<dd><p>
+ Sets the Remez code to optimise for absolute error.
+ </p></dd>
+<dt><span class="term">pin [true|false]</span></dt>
+<dd><p>
+ "Pins" the code so that the rational approximation passes
+ through the origin. Obviously only set this to <span class="emphasis"><em>true</em></span>
+ if R(0) must be zero. This is typically used when trying to preserve
+ a root at [0,0] while also optimising for relative error.
+ </p></dd>
+<dt><span class="term">order N D</span></dt>
+<dd><p>
+ Sets the order of the approximation to <span class="emphasis"><em>N</em></span> in the
+ numerator and <span class="emphasis"><em>D</em></span> in the denominator. If <span class="emphasis"><em>D</em></span>
+ is zero then the result will be a polynomial approximation. There will
+ be N+D+2 coefficients in total, the first coefficient of the numerator
+ is zero if <span class="emphasis"><em>pin</em></span> was set to true, and the first
+ coefficient of the denominator is always one.
+ </p></dd>
+<dt><span class="term">working-precision N</span></dt>
+<dd><p>
+ Sets the working precision of NTL::RR to <span class="emphasis"><em>N</em></span> binary
+ digits. Defaults to 250.
+ </p></dd>
+<dt><span class="term">target-precision N</span></dt>
+<dd><p>
+ Sets the precision of printed output to <span class="emphasis"><em>N</em></span> binary
+ digits: set to the same number of digits as the type that will be used
+ to evaluate the approximation. Defaults to 53 (for double precision).
+ </p></dd>
+<dt><span class="term">skew val</span></dt>
+<dd><p>
+ "Skews" the initial interpolated control points towards one
+ end or the other of the range. Positive values skew the initial control
+ points towards the left hand side of the range, and negative values
+ towards the right hand side. If an approximation won't converge (a
+ common situation) try adjusting the skew parameter until the first
+ step yields the smallest possible error. <span class="emphasis"><em>val</em></span> should
+ be in the range [-100,+100], the default is zero.
+ </p></dd>
+<dt><span class="term">brake val</span></dt>
+<dd><p>
+ Sets a brake on each step so that the change in the control points
+ is braked by <span class="emphasis"><em>val%</em></span>. Defaults to 50, try a higher
+ value if an approximation won't converge, or a lower value to get speedier
+ convergence.
+ </p></dd>
+<dt><span class="term">x-offset val</span></dt>
+<dd><p>
+ Sets the x-offset to <span class="emphasis"><em>val</em></span>: the approximation will
+ be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">S</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">))</span> <span class="special">+</span> <span class="identifier">Y</span></code>
+ where <span class="emphasis"><em>X</em></span> is the x-offset, <span class="emphasis"><em>S</em></span>
+ is the x-scale and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults
+ to zero. To avoid rounding errors, take care to specify a value that
+ can be exactly represented as a floating point number.
+ </p></dd>
+<dt><span class="term">x-scale val</span></dt>
+<dd><p>
+ Sets the x-scale to <span class="emphasis"><em>val</em></span>: the approximation will
+ be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">S</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">))</span> <span class="special">+</span> <span class="identifier">Y</span></code>
+ where <span class="emphasis"><em>S</em></span> is the x-scale, <span class="emphasis"><em>X</em></span>
+ is the x-offset and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults
+ to one. To avoid rounding errors, take care to specify a value that
+ can be exactly represented as a floating point number.
+ </p></dd>
+<dt><span class="term">y-offset val</span></dt>
+<dd><p>
+ Sets the y-offset to <span class="emphasis"><em>val</em></span>: the approximation will
+ be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">S</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">))</span> <span class="special">+</span> <span class="identifier">Y</span></code>
+ where <span class="emphasis"><em>X</em></span> is the x-offset, <span class="emphasis"><em>S</em></span>
+ is the x-scale and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults
+ to zero. To avoid rounding errors, take care to specify a value that
+ can be exactly represented as a floating point number.
+ </p></dd>
+<dt><span class="term">y-offset auto</span></dt>
+<dd><p>
+ Sets the y-offset to the average value of f(x) evaluated at the two
+ endpoints of the range plus the midpoint of the range. The calculated
+ value is deliberately truncated to <span class="emphasis"><em>float</em></span> precision
+ (and should be stored as a <span class="emphasis"><em>float</em></span> in your code).
+ The approximation will be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">Y</span></code> where <span class="emphasis"><em>X</em></span> is
+ the x-offset and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults to
+ zero.
+ </p></dd>
+<dt><span class="term">graph N</span></dt>
+<dd><p>
+ Prints N evaluations of f(x) at evenly spaced points over the range
+ being optimised. If unspecified then <span class="emphasis"><em>N</em></span> defaults
+ to 3. Use to check that f(x) is indeed smooth over the range of interest.
+ </p></dd>
+<dt><span class="term">step N</span></dt>
+<dd><p>
+ Performs <span class="emphasis"><em>N</em></span> steps, or one step if <span class="emphasis"><em>N</em></span>
+ is unspecified. After each step prints: the peek error at the extrema
+ of the error function of the approximation, the theoretical error term
+ solved for on the last step, and the maximum relative change in the
+ location of the Chebyshev control points. The approximation is converged
+ on the minimax solution when the two error terms are (approximately)
+ equal, and the change in the control points has decreased to a suitably
+ small value.
+ </p></dd>
+<dt><span class="term">test [float|double|long]</span></dt>
+<dd><p>
+ Tests the current approximation at float, double, or long double precision.
+ Useful to check for rounding errors in evaluating the approximation
+ at fixed precision. Tests are conducted at the extrema of the error
+ function of the approximation, and at the zeros of the error function.
+ </p></dd>
+<dt><span class="term">test [float|double|long] N</span></dt>
+<dd><p>
+ Tests the current approximation at float, double, or long double precision.
+ Useful to check for rounding errors in evaluating the approximation
+ at fixed precision. Tests are conducted at N evenly spaced points over
+ the range of the approximation. If none of [float|double|long] are
+ specified then tests using NTL::RR, this can be used to obtain the
+ error function of the approximation.
+ </p></dd>
+<dt><span class="term">rescale a b</span></dt>
+<dd><p>
+ Takes the current Chebeshev control points, and rescales them over
+ a new interval [a,b]. Sometimes this can be used to obtain starting
+ control points for an approximation that can not otherwise be converged.
+ </p></dd>
+<dt><span class="term">rotate</span></dt>
+<dd><p>
+ Moves one term from the numerator to the denominator, but keeps the
+ Chebyshev control points the same. Sometimes this can be used to obtain
+ starting control points for an approximation that can not otherwise
+ be converged.
+ </p></dd>
+<dt><span class="term">info</span></dt>
+<dd><p>
+ Prints out the current approximation: the location of the zeros of
+ the error function, the location of the Chebyshev control points, the
+ x and y offsets, and of course the coefficients of the polynomials.
+ </p></dd>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="polynomials.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_test.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals2/polynomials.html b/libs/math/doc/html/math_toolkit/internals2/polynomials.html
new file mode 100644
index 0000000000..81dd34c3d5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals2/polynomials.html
@@ -0,0 +1,134 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Polynomials</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals2.html" title="Testing and Development">
+<link rel="prev" href="../internals2.html" title="Testing and Development">
+<link rel="next" href="minimax.html" title="Minimax Approximations and the Remez Algorithm">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../internals2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minimax.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals2.polynomials"></a><a class="link" href="polynomials.html" title="Polynomials">Polynomials</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.internals2.polynomials.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.polynomials.synopsis"></a></span><a class="link" href="polynomials.html#math_toolkit.internals2.polynomials.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">polynomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">polynomial</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// typedefs:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">size_type</span> <span class="identifier">size_type</span><span class="special">;</span>
+
+ <span class="comment">// construct:</span>
+ <span class="identifier">polynomial</span><span class="special">(){}</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">*</span> <span class="identifier">data</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">order</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">point</span><span class="special">);</span>
+
+ <span class="comment">// access:</span>
+ <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">size_type</span> <span class="identifier">degree</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">i</span><span class="special">);</span>
+ <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">i</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// operators:</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span>
+ <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">);</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals2.polynomials.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.polynomials.description"></a></span><a class="link" href="polynomials.html#math_toolkit.internals2.polynomials.description">Description</a>
+ </h5>
+<p>
+ This is a fairly trivial class for polynomial manipulation.
+ </p>
+<p>
+ Implementation is currently of the "naive" variety, with O(N^2)
+ multiplication for example. This class should not be used in high-performance
+ computing environments: it is intended for the simple manipulation of small
+ polynomials, typically generated for special function approximation.
+ </p>
+<p>
+ Advanced manipulations: the FFT, division, GCD, factorisation etc are not
+ currently provided. Submissions for these are of course welcome :-)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../internals2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minimax.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals2/test_data.html b/libs/math/doc/html/math_toolkit/internals2/test_data.html
new file mode 100644
index 0000000000..89530be15c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals2/test_data.html
@@ -0,0 +1,563 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Graphing, Profiling, and Generating Test Data for Special Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../internals2.html" title="Testing and Development">
+<link rel="prev" href="error_test.html" title="Relative Error and Testing">
+<link rel="next" href="../../using_udt.html" title="Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and others">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_test.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../using_udt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.internals2.test_data"></a><a class="link" href="test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">Graphing, Profiling,
+ and Generating Test Data for Special Functions</a>
+</h3></div></div></div>
+<p>
+ The class <code class="computeroutput"><span class="identifier">test_data</span></code> and associated
+ helper functions are designed so that in just a few lines of code you should
+ be able to:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Profile a continued fraction, or infinite series for convergence and
+ accuracy.
+ </li>
+<li class="listitem">
+ Generate csv data from a special function that can be imported into your
+ favorite graphing program (or spreadsheet) for further analysis.
+ </li>
+<li class="listitem">
+ Generate high precision test data.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.internals2.test_data.h0"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.test_data.synopsis"></a></span><a class="link" href="test_data.html#math_toolkit.internals2.test_data.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This is a non-core Boost.Math header that is predominantly used for internal
+ maintenance of the library: as a result the library is located under <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">include_private</span></code> and you will need to
+ add that directory to your include path in order to use this feature.
+ </p></td></tr>
+</table></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
+
+<span class="keyword">enum</span> <span class="identifier">parameter_type</span>
+<span class="special">{</span>
+ <span class="identifier">random_in_range</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">periodic_in_range</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span>
+ <span class="identifier">power_series</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span>
+ <span class="identifier">dummy_param</span> <span class="special">=</span> <span class="number">0x80</span><span class="special">,</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">parameter_info</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_random_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_periodic_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_power_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">basis</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">start_exponent</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">end_exponent</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">info</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">param_name</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">test_data</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">row_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">row_type</span> <span class="identifier">value_type</span><span class="special">;</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">row_type</span><span class="special">&gt;</span> <span class="identifier">container_type</span><span class="special">;</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">reference</span> <span class="identifier">reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">const_reference</span> <span class="identifier">const_reference</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">difference_type</span> <span class="identifier">difference_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_type</span><span class="special">;</span>
+
+ <span class="comment">// creation:</span>
+ <span class="identifier">test_data</span><span class="special">(){}</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="identifier">test_data</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">);</span>
+
+ <span class="comment">// insertion:</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg2</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg2</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg3</span><span class="special">);</span>
+
+ <span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
+
+ <span class="comment">// access:</span>
+ <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+ <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
+ <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">size_type</span> <span class="identifier">max_size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">write_csv</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">data</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">write_csv</span><span class="special">(</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">separator</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;</span> <span class="identifier">write_code</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">data</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">name</span><span class="special">);</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.internals2.test_data.h1"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.test_data.description"></a></span><a class="link" href="test_data.html#math_toolkit.internals2.test_data.description">Description</a>
+ </h5>
+<p>
+ This tool is best illustrated with the following series of examples.
+ </p>
+<p>
+ The functionality of test_data is split into the following parts:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A functor that implements the function for which data is being generated:
+ this is the bit you have to write.
+ </li>
+<li class="listitem">
+ One of more parameters that are to be passed to the functor, these are
+ described in fairly abstract terms: give me N points distributed like
+ <span class="emphasis"><em>this</em></span> etc.
+ </li>
+<li class="listitem">
+ The class test_data, that takes the functor and descriptions of the parameters
+ and computes how ever many output points have been requested, these are
+ stored in a sorted container.
+ </li>
+<li class="listitem">
+ Routines to iterate over the test_data container and output the data
+ in either csv format, or as C++ source code (as a table using Boost.Array).
+ </li>
+</ul></div>
+<h6>
+<a name="math_toolkit.internals2.test_data.h2"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.test_data.example_1_output_data_for_graph_"></a></span><a class="link" href="test_data.html#math_toolkit.internals2.test_data.example_1_output_data_for_graph_">Example
+ 1: Output Data for Graph Plotting</a>
+ </h6>
+<p>
+ For example, lets say we want to graph the lgamma function between -3 and
+ 100, one could do this like so:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+
+ <span class="comment">// create an object to hold the data:</span>
+ <span class="identifier">test_data</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">;</span>
+
+ <span class="comment">// insert 500 points at uniform intervals between just after -3 and 100:</span>
+ <span class="keyword">double</span> <span class="special">(*</span><span class="identifier">pf</span><span class="special">)(</span><span class="keyword">double</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">;</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">pf</span><span class="special">,</span> <span class="identifier">make_periodic_param</span><span class="special">(-</span><span class="number">3.0</span> <span class="special">+</span> <span class="number">0.00001</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">500</span><span class="special">));</span>
+
+ <span class="comment">// print out in csv format:</span>
+ <span class="identifier">write_csv</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">data</span><span class="special">,</span> <span class="string">", "</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Which, when plotted, results in:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/lgamma.png" align="middle"></span>
+ </p>
+<h6>
+<a name="math_toolkit.internals2.test_data.h3"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.test_data.example_2_creating_test_data"></a></span><a class="link" href="test_data.html#math_toolkit.internals2.test_data.example_2_creating_test_data">Example
+ 2: Creating Test Data</a>
+ </h6>
+<p>
+ As a second example, let's suppose we want to create highly accurate test
+ data for a special function. Since many special functions have two or more
+ independent parameters, it's very hard to effectively cover all of the possible
+ parameter space without generating gigabytes of data at great computational
+ expense. A second best approach is to provide the tools by which a user (or
+ the library maintainer) can quickly generate more data on demand to probe
+ the function over a particular domain of interest.
+ </p>
+<p>
+ In this example we'll generate test data for the beta function using <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000 bit precision.
+ Rather than call our generic version of the beta function, we'll implement
+ a deliberately naive version of the beta function using lgamma, and rely
+ on the high precision of the data type used to get results accurate to at
+ least 128-bit precision. In this way our test data is independent of whatever
+ clever tricks we may wish to use inside the our beta function.
+ </p>
+<p>
+ To start with then, here's the function object that creates the test data:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">ntl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">fstream</span><span class="special">&gt;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+
+<span class="keyword">struct</span> <span class="identifier">beta_data_generator</span>
+<span class="special">{</span>
+ <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">b</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// If we throw a domain error then test_data will</span>
+ <span class="comment">// ignore this input point. We'll use this to filter</span>
+ <span class="comment">// out all cases where a &lt; b since the beta function</span>
+ <span class="comment">// is symmetrical in a and b:</span>
+ <span class="comment">//</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span><span class="special">)</span>
+ <span class="keyword">throw</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
+
+ <span class="comment">// very naively calculate spots with lgamma:</span>
+ <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">g1</span><span class="special">,</span> <span class="identifier">g2</span><span class="special">,</span> <span class="identifier">g3</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">s1</span><span class="special">,</span> <span class="identifier">s2</span><span class="special">,</span> <span class="identifier">s3</span><span class="special">;</span>
+ <span class="identifier">g1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">s1</span><span class="special">);</span>
+ <span class="identifier">g2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">s2</span><span class="special">);</span>
+ <span class="identifier">g3</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">s3</span><span class="special">);</span>
+ <span class="identifier">g1</span> <span class="special">+=</span> <span class="identifier">g2</span> <span class="special">-</span> <span class="identifier">g3</span><span class="special">;</span>
+ <span class="identifier">g1</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">g1</span><span class="special">);</span>
+ <span class="identifier">g1</span> <span class="special">*=</span> <span class="identifier">s1</span> <span class="special">*</span> <span class="identifier">s2</span> <span class="special">*</span> <span class="identifier">s3</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">g1</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ To create the data, we'll need to input the domains for a and b for which
+ the function will be tested: the function <code class="computeroutput"><span class="identifier">get_user_parameter_info</span></code>
+ is designed for just that purpose. The start of main will look something
+ like:
+ </p>
+<pre class="programlisting"><span class="comment">// Set the precision on RR:</span>
+<span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">::</span><span class="identifier">SetPrecision</span><span class="special">(</span><span class="number">1000</span><span class="special">);</span> <span class="comment">// bits.</span>
+<span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">::</span><span class="identifier">SetOutputPrecision</span><span class="special">(</span><span class="number">40</span><span class="special">);</span> <span class="comment">// decimal digits.</span>
+
+<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">;</span>
+<span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Welcome.\n"</span>
+ <span class="string">"This program will generate spot tests for the beta function:\n"</span>
+ <span class="string">" beta(a, b)\n\n"</span><span class="special">;</span>
+
+<span class="keyword">bool</span> <span class="identifier">cont</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+
+<span class="keyword">do</span><span class="special">{</span>
+ <span class="comment">// prompt the user for the domain of a and b to test:</span>
+ <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="string">"a"</span><span class="special">);</span>
+ <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">arg2</span><span class="special">,</span> <span class="string">"b"</span><span class="special">);</span>
+
+ <span class="comment">// create the data:</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">beta_data_generator</span><span class="special">(),</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
+
+ <span class="comment">// see if the user want's any more domains tested:</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Any more data [y/n]?"</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">algorithm</span><span class="special">::</span><span class="identifier">trim</span><span class="special">(</span><span class="identifier">line</span><span class="special">);</span>
+ <span class="identifier">cont</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">line</span> <span class="special">==</span> <span class="string">"y"</span><span class="special">);</span>
+<span class="special">}</span><span class="keyword">while</span><span class="special">(</span><span class="identifier">cont</span><span class="special">);</span>
+</pre>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ At this point one potential stumbling block should be mentioned: test_data&lt;&gt;::insert
+ will create a matrix of test data when there are two or more parameters,
+ so if we have two parameters and we're asked for a thousand points on each,
+ that's a <span class="emphasis"><em>million test points in total</em></span>. Don't say you
+ weren't warned!
+ </p></td></tr>
+</table></div>
+<p>
+ There's just one final step now, and that's to write the test data to file:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Enter name of test data file [default=beta_data.ipp]"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">algorithm</span><span class="special">::</span><span class="identifier">trim</span><span class="special">(</span><span class="identifier">line</span><span class="special">);</span>
+<span class="keyword">if</span><span class="special">(</span><span class="identifier">line</span> <span class="special">==</span> <span class="string">""</span><span class="special">)</span>
+ <span class="identifier">line</span> <span class="special">=</span> <span class="string">"beta_data.ipp"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">ofstream</span> <span class="identifier">ofs</span><span class="special">(</span><span class="identifier">line</span><span class="special">.</span><span class="identifier">c_str</span><span class="special">());</span>
+<span class="identifier">write_code</span><span class="special">(</span><span class="identifier">ofs</span><span class="special">,</span> <span class="identifier">data</span><span class="special">,</span> <span class="string">"beta_data"</span><span class="special">);</span>
+</pre>
+<p>
+ The format of the test data looks something like:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">SC_</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">L</span><span class="special">))</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;,</span> <span class="number">1830</span><span class="special">&gt;</span>
+ <span class="identifier">beta_med_data</span> <span class="special">=</span> <span class="special">{</span>
+ <span class="identifier">SC_</span><span class="special">(</span><span class="number">0.4883005917072296142578125</span><span class="special">),</span>
+ <span class="identifier">SC_</span><span class="special">(</span><span class="number">0.4883005917072296142578125</span><span class="special">),</span>
+ <span class="identifier">SC_</span><span class="special">(</span><span class="number">3.245912809500479157065104747353807392371</span><span class="special">),</span>
+ <span class="identifier">SC_</span><span class="special">(</span><span class="number">3.5808107852935791015625</span><span class="special">),</span>
+ <span class="identifier">SC_</span><span class="special">(</span><span class="number">0.4883005917072296142578125</span><span class="special">),</span>
+ <span class="identifier">SC_</span><span class="special">(</span><span class="number">1.007653173802923954909901438393379243537</span><span class="special">),</span>
+ <span class="comment">/* ... lots of rows skipped */</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The first two values in each row are the input parameters that were passed
+ to our functor and the last value is the return value from the functor. Had
+ our functor returned a <a class="link" href="../internals1/tuples.html" title="Tuples">boost::math::tuple</a>
+ rather than a value, then we would have had one entry for each element in
+ the tuple in addition to the input parameters.
+ </p>
+<p>
+ The first #define serves two purposes:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It reduces the file sizes considerably: all those <code class="computeroutput"><span class="keyword">static_cast</span></code>'s
+ add up to a lot of bytes otherwise (they are needed to suppress compiler
+ warnings when <code class="computeroutput"><span class="identifier">T</span></code> is narrower
+ than a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>).
+ </li>
+<li class="listitem">
+ It provides a useful customisation point: for example if we were testing
+ a user-defined type that has more precision than a <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> we could change it to:
+ </li>
+</ul></div>
+<p>
+ <code class="literal">#define SC_(x) lexical_cast&lt;T&gt;(BOOST_STRINGIZE(x))</code>
+ </p>
+<p>
+ in order to ensure that no truncation of the values occurs prior to conversion
+ to <code class="computeroutput"><span class="identifier">T</span></code>. Note that this isn't
+ used by default as it's rather hard on the compiler when the table is large.
+ </p>
+<h6>
+<a name="math_toolkit.internals2.test_data.h4"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.test_data.example_3_profiling_a_continued_"></a></span><a class="link" href="test_data.html#math_toolkit.internals2.test_data.example_3_profiling_a_continued_">Example
+ 3: Profiling a Continued Fraction for Convergence and Accuracy</a>
+ </h6>
+<p>
+ Alternatively, lets say we want to profile a continued fraction for convergence
+ and error. As an example, we'll use the continued fraction for the upper
+ incomplete gamma function, the following function object returns the next
+ a<sub>N </sub> and b<sub>N </sub> of the continued fraction each time it's invoked:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">upper_incomplete_gamma_fract</span>
+<span class="special">{</span>
+<span class="keyword">private</span><span class="special">:</span>
+ <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">a</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">k</span><span class="special">;</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">upper_incomplete_gamma_fract</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a1</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z1</span><span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">z</span><span class="special">(</span><span class="identifier">z1</span><span class="special">-</span><span class="identifier">a1</span><span class="special">+</span><span class="number">1</span><span class="special">),</span> <span class="identifier">a</span><span class="special">(</span><span class="identifier">a1</span><span class="special">),</span> <span class="identifier">k</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="special">}</span>
+
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()()</span>
+ <span class="special">{</span>
+ <span class="special">++</span><span class="identifier">k</span><span class="special">;</span>
+ <span class="identifier">z</span> <span class="special">+=</span> <span class="number">2</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">result_type</span><span class="special">(</span><span class="identifier">k</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">),</span> <span class="identifier">z</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ We want to measure both the relative error, and the rate of convergence of
+ this fraction, so we'll write a functor that returns both as a <a class="link" href="../internals1/tuples.html" title="Tuples">boost::math::tuple</a>:
+ class test_data will unpack the tuple for us, and create one column of data
+ for each element in the tuple (in addition to the input parameters):
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">ntl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">profile_gamma_fraction</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <a class="link" href="../internals1/tuples.html" title="Tuples">boost::math::tuple</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">val</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+ <span class="comment">// estimate the true value, using arbitary precision</span>
+ <span class="comment">// arithmetic and NTL::RR:</span>
+ <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">rval</span><span class="special">(</span><span class="identifier">val</span><span class="special">);</span>
+ <span class="identifier">upper_incomplete_gamma_fract</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;</span> <span class="identifier">f1</span><span class="special">(</span><span class="identifier">rval</span><span class="special">,</span> <span class="identifier">rval</span><span class="special">);</span>
+ <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">true_val</span> <span class="special">=</span> <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">f1</span><span class="special">,</span> <span class="number">1000</span><span class="special">);</span>
+ <span class="comment">//</span>
+ <span class="comment">// Now get the aproximation at double precision, along with the number of</span>
+ <span class="comment">// iterations required:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span> <span class="identifier">iters</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">();</span>
+ <span class="identifier">upper_incomplete_gamma_fract</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">f2</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="identifier">val</span><span class="special">);</span>
+ <span class="identifier">T</span> <span class="identifier">found_val</span> <span class="special">=</span> <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">f2</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span><span class="special">,</span> <span class="identifier">iters</span><span class="special">);</span>
+ <span class="comment">//</span>
+ <span class="comment">// Work out the relative error, as measured in units of epsilon:</span>
+ <span class="identifier">T</span> <span class="identifier">err</span> <span class="special">=</span> <span class="identifier">real_cast</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">relative_error</span><span class="special">(</span><span class="identifier">true_val</span><span class="special">,</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="identifier">found_val</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">());</span>
+ <span class="comment">//</span>
+ <span class="comment">// now just return the results as a tuple:</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">make_tuple</span><span class="special">(</span><span class="identifier">err</span><span class="special">,</span> <span class="identifier">iters</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Feeding that functor into test_data allows rapid output of csv data, for
+ whatever type <code class="computeroutput"><span class="identifier">T</span></code> we may be
+ interested in:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+ <span class="comment">// create an object to hold the data:</span>
+ <span class="identifier">test_data</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">;</span>
+ <span class="comment">// insert 500 points at uniform intervals between just after 0 and 100:</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">profile_gamma_fraction</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="identifier">make_periodic_param</span><span class="special">(</span><span class="number">0.01</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">100</span><span class="special">));</span>
+ <span class="comment">// print out in csv format:</span>
+ <span class="identifier">write_csv</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">data</span><span class="special">,</span> <span class="string">", "</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ This time there's no need to plot a graph, the first few rows are:
+ </p>
+<pre class="programlisting"><span class="identifier">a</span> <span class="keyword">and</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">Error</span><span class="special">/</span><span class="identifier">epsilon</span><span class="special">,</span> <span class="identifier">Iterations</span> <span class="identifier">required</span>
+
+<span class="number">0.01</span><span class="special">,</span> <span class="number">9723.14</span><span class="special">,</span> <span class="number">4726</span>
+<span class="number">1.0099</span><span class="special">,</span> <span class="number">9.54818</span><span class="special">,</span> <span class="number">87</span>
+<span class="number">2.0098</span><span class="special">,</span> <span class="number">3.84777</span><span class="special">,</span> <span class="number">40</span>
+<span class="number">3.0097</span><span class="special">,</span> <span class="number">0.728358</span><span class="special">,</span> <span class="number">25</span>
+<span class="number">4.0096</span><span class="special">,</span> <span class="number">2.39712</span><span class="special">,</span> <span class="number">21</span>
+<span class="number">5.0095</span><span class="special">,</span> <span class="number">0.233263</span><span class="special">,</span> <span class="number">16</span>
+</pre>
+<p>
+ So it's pretty clear that this fraction shouldn't be used for small values
+ of a and z.
+ </p>
+<h5>
+<a name="math_toolkit.internals2.test_data.h5"></a>
+ <span class="phrase"><a name="math_toolkit.internals2.test_data.reference"></a></span><a class="link" href="test_data.html#math_toolkit.internals2.test_data.reference">reference</a>
+ </h5>
+<p>
+ Most of this tool has been described already in the examples above, we'll
+ just add the following notes on the non-member functions:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_random_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
+</pre>
+<p>
+ Tells class test_data to test <span class="emphasis"><em>n_points</em></span> random values
+ in the range [start_range,end_range].
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_periodic_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
+</pre>
+<p>
+ Tells class test_data to test <span class="emphasis"><em>n_points</em></span> evenly spaced
+ values in the range [start_range,end_range].
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_power_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">basis</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">start_exponent</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">end_exponent</span><span class="special">);</span>
+</pre>
+<p>
+ Tells class test_data to test points of the form <span class="emphasis"><em>basis + R * 2<sup>expon</sup></em></span>
+ for each <span class="emphasis"><em>expon</em></span> in the range [start_exponent, end_exponent],
+ and <span class="emphasis"><em>R</em></span> a random number in [0.5, 1].
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">info</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">param_name</span><span class="special">);</span>
+</pre>
+<p>
+ Prompts the user for the parameter range and form to use.
+ </p>
+<p>
+ Finally, if we don't want the parameter to be included in the output, we
+ can tell test_data by setting it a "dummy parameter":
+ </p>
+<pre class="programlisting"><span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">make_random_param</span><span class="special">(</span><span class="number">2.0</span><span class="special">,</span> <span class="number">5.0</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span>
+<span class="identifier">p</span><span class="special">.</span><span class="identifier">type</span> <span class="special">|=</span> <span class="identifier">dummy_param</span><span class="special">;</span>
+</pre>
+<p>
+ This is useful when the functor used transforms the parameter in some way
+ before passing it to the function under test, usually the functor will then
+ return both the transformed input and the result in a tuple, so there's no
+ need for the original pseudo-parameter to be included in program output.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_test.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../using_udt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/internals_overview.html b/libs/math/doc/html/math_toolkit/internals_overview.html
new file mode 100644
index 0000000000..a302e508e4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/internals_overview.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../toolkit.html" title="Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)">
+<link rel="prev" href="../toolkit.html" title="Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)">
+<link rel="next" href="internals1.html" title="Utilities &amp; internals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../toolkit.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.internals_overview"></a><a class="link" href="internals_overview.html" title="Overview">Overview</a>
+</h2></div></div></div>
+<p>
+ This section contains internal utilities used by the library's implementation
+ along with tools used in development and testing. These tools have only minimal
+ documentation, and crucially <span class="emphasis"><em>do not have stable interfaces</em></span>.
+ </p>
+<p>
+ There is no doubt that these components can be improved, but they are also
+ largely incidental to the main purpose of this library.
+ </p>
+<p>
+ These tools are designed to "just get the job done", and receive
+ minimal documentation here, in the hopes that they will help stimulate further
+ submissions to this library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../toolkit.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/interp.html b/libs/math/doc/html/math_toolkit/interp.html
new file mode 100644
index 0000000000..865343dc9e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/interp.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Interpreting these Results</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="prev" href="perf_over2.html" title="Performance Overview">
+<link rel="next" href="getting_best.html" title="Getting the Best Performance from this Library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf_over2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="getting_best.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.interp"></a><a class="link" href="interp.html" title="Interpreting these Results">Interpreting these Results</a>
+</h2></div></div></div>
+<p>
+ In all of the following tables, the best performing result in each row, is
+ assigned a relative value of "1" and shown in bold, so a score of
+ "2" means <span class="emphasis"><em>"twice as slow as the best performing result".</em></span>
+ Actual timings in seconds per function call are also shown in parenthesis.
+ </p>
+<p>
+ Result were obtained on a system with an Intel 2.8GHz Pentium 4 processor with
+ 2Gb of RAM and running either Windows XP or Mandriva Linux.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ As usual with performance results these should be taken with a large pinch
+ of salt: relative performance is known to shift quite a bit depending upon
+ the architecture of the particular test system used. Further more, our performance
+ results were obtained using our own test data: these test values are designed
+ to provide good coverage of our code and test all the appropriate corner
+ cases. They do not necessarily represent "typical" usage: whatever
+ that may be!
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Since these tests were run, most compilers have improved their code optimisation,
+ and processor speeds have improved too, so these results are known to be
+ out of date.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf_over2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="getting_best.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/intro_pol_overview.html b/libs/math/doc/html/math_toolkit/intro_pol_overview.html
new file mode 100644
index 0000000000..66df55bb7e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/intro_pol_overview.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Policies</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="config_macros.html" title="Configuration Macros">
+<link rel="next" href="threads.html" title="Thread Safety">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="config_macros.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="threads.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.intro_pol_overview"></a><a class="link" href="intro_pol_overview.html" title="Policies">Policies</a>
+</h2></div></div></div>
+<p>
+ Policies are a powerful fine-grain mechanism that allow you to customise the
+ behaviour of this library according to your needs. There is more information
+ available in the <a class="link" href="pol_tutorial.html" title="Policy Tutorial">policy tutorial</a>
+ and the <a class="link" href="pol_ref.html" title="Policy Reference">policy reference</a>.
+ </p>
+<p>
+ Generally speaking, unless you find that the <a class="link" href="pol_tutorial/policy_tut_defaults.html" title="Policies Have Sensible Defaults">default
+ policy behaviour</a> when encountering 'bad' argument values does not meet
+ your needs, you should not need to worry about policies.
+ </p>
+<p>
+ Policies are a compile-time mechanism that allow you to change error-handling
+ or calculation precision either program wide, or at the call site.
+ </p>
+<p>
+ Although the policy mechanism itself is rather complicated, in practice it
+ is easy to use, and very flexible.
+ </p>
+<p>
+ Using policies you can control:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">How results
+ from 'bad' arguments are handled</a>, including those that cannot be
+ fully evaluated.
+ </li>
+<li class="listitem">
+ How <a class="link" href="pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">accuracy is
+ controlled by internal promotion</a> to use more precise types.
+ </li>
+<li class="listitem">
+ What working <a class="link" href="pol_ref/precision_pol.html" title="Precision Policies">precision</a>
+ should be used to calculate results.
+ </li>
+<li class="listitem">
+ What to do when a <a class="link" href="pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">mathematically
+ undefined function</a> is used: Should this raise a run-time or compile-time
+ error?
+ </li>
+<li class="listitem">
+ Whether <a class="link" href="pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">discrete
+ functions</a>, like the binomial, should return real or only integral
+ values, and how they are rounded.
+ </li>
+<li class="listitem">
+ How many iterations a special function is permitted to perform in a series
+ evaluation or root finding algorithm before it gives up and raises an
+ <a class="link" href="error_handling.html#math_toolkit.error_handling.evaluation_error">evaluation_error</a>.
+ </li>
+</ul></div>
+<p>
+ You can control policies:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Using <a class="link" href="pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">macros</a>
+ to change any default policy: the is the prefered method for installation
+ wide policies.
+ </li>
+<li class="listitem">
+ At your chosen <a class="link" href="pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope">namespace
+ scope</a> for distributions and/or functions: this is the prefered method
+ for project, namespace, or translation unit scope policies.
+ </li>
+<li class="listitem">
+ In an ad-hoc manner <a class="link" href="pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">by
+ passing a specific policy to a special function</a>, or to a <a class="link" href="pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">statistical
+ distribution</a>.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="config_macros.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="threads.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/introduction.html b/libs/math/doc/html/math_toolkit/introduction.html
new file mode 100644
index 0000000000..875a1f3837
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/introduction.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Introduction</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="next" href="synopsis.html" title="Synopsis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
+</h2></div></div></div>
+<p>
+ The class and function templates in &lt;boost/math/common_factor.hpp&gt; provide
+ run-time and compile-time evaluation of the greatest common divisor (GCD) or
+ least common multiple (LCM) of two integers. These facilities are useful for
+ many numeric-oriented generic programming problems.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/inv_hyper.html b/libs/math/doc/html/math_toolkit/inv_hyper.html
new file mode 100644
index 0000000000..df77a42656
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/inv_hyper.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inverse Hyperbolic Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="sinc/sinhc_pi.html" title="sinhc_pi">
+<link rel="next" href="inv_hyper/inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sinc/sinhc_pi.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inv_hyper/inv_hyper_over.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.inv_hyper"></a><a class="link" href="inv_hyper.html" title="Inverse Hyperbolic Functions">Inverse Hyperbolic Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="inv_hyper/inv_hyper_over.html">Inverse Hyperbolic
+ Functions Overview</a></span></dt>
+<dt><span class="section"><a href="inv_hyper/acosh.html">acosh</a></span></dt>
+<dt><span class="section"><a href="inv_hyper/asinh.html">asinh</a></span></dt>
+<dt><span class="section"><a href="inv_hyper/atanh.html">atanh</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sinc/sinhc_pi.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inv_hyper/inv_hyper_over.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/inv_hyper/acosh.html b/libs/math/doc/html/math_toolkit/inv_hyper/acosh.html
new file mode 100644
index 0000000000..07dd0a0ab3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/inv_hyper/acosh.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>acosh</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
+<link rel="prev" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">
+<link rel="next" href="asinh.html" title="asinh">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inv_hyper_over.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.inv_hyper.acosh"></a><a class="link" href="acosh.html" title="acosh">acosh</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Computes the reciprocal of (the restriction to the range of <code class="literal">[0;+&#8734;[</code>)
+ <a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">the hyperbolic cosine
+ function</a>, at x. Values returned are positive.
+ </p>
+<p>
+ If x is in the range <code class="literal">]-&#8734;;+1[</code> then returns the result of
+ <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/acosh.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.acosh.h0"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.acosh.accuracy"></a></span><a class="link" href="acosh.html#math_toolkit.inv_hyper.acosh.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.acosh.h1"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.acosh.testing"></a></span><a class="link" href="acosh.html#math_toolkit.inv_hyper.acosh.testing">Testing</a>
+ </h5>
+<p>
+ This function is tested using a combination of random test values designed
+ to give full function coverage computed at high precision using the "naive"
+ formula:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/acosh1.png"></span>
+ </p>
+<p>
+ along with a selection of sanity check values computed using functions.wolfram.com
+ to at least 50 decimal digits.
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.acosh.h2"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.acosh.implementation"></a></span><a class="link" href="acosh.html#math_toolkit.inv_hyper.acosh.implementation">Implementation</a>
+ </h5>
+<p>
+ For sufficiently large x, we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/06/01/0001/" target="_top">approximation</a>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/acosh2.png"></span>
+ </p>
+<p>
+ For x sufficiently close to 1 we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/04/01/0001/" target="_top">approximation</a>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/acosh4.png"></span>
+ </p>
+<p>
+ Otherwise for x close to 1 we can use the following rearrangement of the
+ primary definition to preserve accuracy:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/acosh3.png"></span>
+ </p>
+<p>
+ Otherwise the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcCosh/02/" target="_top">primary
+ definition</a> is used:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/acosh1.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inv_hyper_over.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/inv_hyper/asinh.html b/libs/math/doc/html/math_toolkit/inv_hyper/asinh.html
new file mode 100644
index 0000000000..be777c85bc
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/inv_hyper/asinh.html
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>asinh</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
+<link rel="prev" href="acosh.html" title="acosh">
+<link rel="next" href="atanh.html" title="atanh">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acosh.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.inv_hyper.asinh"></a><a class="link" href="asinh.html" title="asinh">asinh</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">asinh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Computes the reciprocal of <a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">the
+ hyperbolic sine function</a>.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and T otherwise.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/asinh.png" align="middle"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.asinh.h0"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.asinh.accuracy"></a></span><a class="link" href="asinh.html#math_toolkit.inv_hyper.asinh.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.asinh.h1"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.asinh.testing"></a></span><a class="link" href="asinh.html#math_toolkit.inv_hyper.asinh.testing">Testing</a>
+ </h5>
+<p>
+ This function is tested using a combination of random test values designed
+ to give full function coverage computed at high precision using the "naive"
+ formula:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/asinh1.png"></span>
+ </p>
+<p>
+ along with a selection of sanity check values computed using functions.wolfram.com
+ to at least 50 decimal digits.
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.asinh.h2"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.asinh.implementation"></a></span><a class="link" href="asinh.html#math_toolkit.inv_hyper.asinh.implementation">Implementation</a>
+ </h5>
+<p>
+ For sufficiently large x we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/06/01/0001/" target="_top">approximation</a>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/asinh2.png"></span>
+ </p>
+<p>
+ While for very small x we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/03/01/0001/" target="_top">approximation</a>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/asinh3.png"></span>
+ </p>
+<p>
+ For 0.5 &gt; x &gt; &#949; the following rearrangement of the primary definition
+ is used:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/asinh4.png"></span>
+ </p>
+<p>
+ Otherwise evalution is via the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcSinh/02/" target="_top">primary
+ definition</a>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/asinh4.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acosh.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/inv_hyper/atanh.html b/libs/math/doc/html/math_toolkit/inv_hyper/atanh.html
new file mode 100644
index 0000000000..46bc5fe5b0
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/inv_hyper/atanh.html
@@ -0,0 +1,134 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>atanh</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
+<link rel="prev" href="asinh.html" title="asinh">
+<link rel="next" href="../owens_t.html" title="Owen's T function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asinh.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../owens_t.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.inv_hyper.atanh"></a><a class="link" href="atanh.html" title="atanh">atanh</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">atanh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Computes the reciprocal of <a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">the
+ hyperbolic tangent function</a>, at x.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ If x is in the range <code class="literal">]-&#8734;;-1[</code> or in the range <code class="literal">]+1;+&#8734;[</code>
+ then returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ If x is in the range <code class="literal">[-1;-1+&#949;[</code>, then the result of -<a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ is returned, with &#949; &#160;
+denoting numeric_limits&lt;T&gt;::epsilon().
+ </p>
+<p>
+ If x is in the range <code class="literal">]+1-&#949;;+1]</code>, then the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ is returned, with &#949; &#160;
+denoting numeric_limits&lt;T&gt;::epsilon().
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and T otherwise.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/atanh.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.atanh.h0"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.atanh.accuracy"></a></span><a class="link" href="atanh.html#math_toolkit.inv_hyper.atanh.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.atanh.h1"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.atanh.testing"></a></span><a class="link" href="atanh.html#math_toolkit.inv_hyper.atanh.testing">Testing</a>
+ </h5>
+<p>
+ This function is tested using a combination of random test values designed
+ to give full function coverage computed at high precision using the "naive"
+ formula:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/atanh1.png"></span>
+ </p>
+<p>
+ along with a selection of sanity check values computed using functions.wolfram.com
+ to at least 50 decimal digits.
+ </p>
+<h5>
+<a name="math_toolkit.inv_hyper.atanh.h2"></a>
+ <span class="phrase"><a name="math_toolkit.inv_hyper.atanh.implementation"></a></span><a class="link" href="atanh.html#math_toolkit.inv_hyper.atanh.implementation">Implementation</a>
+ </h5>
+<p>
+ For sufficiently small x we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcTanh/06/01/03/01/" target="_top">approximation</a>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/atanh2.png"></span>
+ </p>
+<p>
+ Otherwise the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcTanh/02/" target="_top">primary
+ definition</a>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/atanh1.png"></span>
+ </p>
+<p>
+ or its equivalent form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/atanh3.png"></span>
+ </p>
+<p>
+ is used.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="asinh.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../owens_t.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html b/libs/math/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html
new file mode 100644
index 0000000000..cac9b7594b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/inv_hyper/inv_hyper_over.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inverse Hyperbolic Functions Overview</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
+<link rel="prev" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
+<link rel="next" href="acosh.html" title="acosh">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.inv_hyper.inv_hyper_over"></a><a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">Inverse Hyperbolic
+ Functions Overview</a>
+</h3></div></div></div>
+<p>
+ The exponential funtion is defined, for all objects for which this makes
+ sense, as the power series <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb1.png"></span>,
+ with <span class="emphasis"><em><code class="literal">n! = 1x2x3x4x5...xn</code></em></span> (and <span class="emphasis"><em><code class="literal">0!
+ = 1</code></em></span> by definition) being the factorial of <span class="emphasis"><em><code class="literal">n</code></em></span>.
+ In particular, the exponential function is well defined for real numbers,
+ complex number, quaternions, octonions, and matrices of complex numbers,
+ among others.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em><span class="bold"><strong>Graph of exp on R</strong></span></em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="inlinemediaobject"><img src="../../../graphs/exp_on_r.png"></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em><span class="bold"><strong>Real and Imaginary parts of exp on C</strong></span></em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="inlinemediaobject"><img src="../../../graphs/im_exp_on_c.png"></span>
+ </p></blockquote></div>
+<p>
+ The hyperbolic functions are defined as power series which can be computed
+ (for reals, complex, quaternions and octonions) as:
+ </p>
+<p>
+ Hyperbolic cosine: <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb5.png"></span>
+ </p>
+<p>
+ Hyperbolic sine: <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb6.png"></span>
+ </p>
+<p>
+ Hyperbolic tangent: <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb7.png"></span>
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em><span class="bold"><strong>Trigonometric functions on R (cos: purple;
+ sin: red; tan: blue)</strong></span></em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="inlinemediaobject"><img src="../../../graphs/trigonometric.png"></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em><span class="bold"><strong>Hyperbolic functions on r (cosh: purple;
+ sinh: red; tanh: blue)</strong></span></em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="inlinemediaobject"><img src="../../../graphs/hyperbolic.png"></span>
+ </p></blockquote></div>
+<p>
+ The hyperbolic sine is one to one on the set of real numbers, with range
+ the full set of reals, while the hyperbolic tangent is also one to one on
+ the set of real numbers but with range <code class="literal">[0;+&#8734;[</code>, and therefore
+ both have inverses. The hyperbolic cosine is one to one from <code class="literal">]-&#8734;;+1[</code>
+ onto <code class="literal">]-&#8734;;-1[</code> (and from <code class="literal">]+1;+&#8734;[</code> onto
+ <code class="literal">]-&#8734;;-1[</code>); the inverse function we use here is defined on
+ <code class="literal">]-&#8734;;-1[</code> with range <code class="literal">]-&#8734;;+1[</code>.
+ </p>
+<p>
+ The inverse of the hyperbolic tangent is called the Argument hyperbolic tangent,
+ and can be computed as <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb15.png"></span>.
+ </p>
+<p>
+ The inverse of the hyperbolic sine is called the Argument hyperbolic sine,
+ and can be computed (for <code class="literal">[-1;-1+&#949;[</code>) as <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb17.png"></span>.
+ </p>
+<p>
+ The inverse of the hyperbolic cosine is called the Argument hyperbolic cosine,
+ and can be computed as <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb18.png"></span>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/issues.html b/libs/math/doc/html/math_toolkit/issues.html
new file mode 100644
index 0000000000..37185f1b93
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/issues.html
@@ -0,0 +1,1255 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Known Issues, and TODO List</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../status.html" title="Chapter&#160;17.&#160;Library Status">
+<link rel="prev" href="history2.html" title="History and What's New">
+<link rel="next" href="credits.html" title="Credits and Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.issues"></a><a class="link" href="issues.html" title="Known Issues, and TODO List">Known Issues, and TODO List</a>
+</h2></div></div></div>
+<p>
+ Predominantly this is a TODO list, or a list of possible future enhancements.
+ Items labled "High Priority" effect the proper functioning of the
+ component, and should be fixed as soon as possible. Items labled "Medium
+ Priority" are desirable enhancements, often pertaining to the performance
+ of the component, but do not effect it's accuracy or functionality. Items labled
+ "Low Priority" should probably be investigated at some point. Such
+ classifications are obviously highly subjective.
+ </p>
+<p>
+ If you don't see a component listed here, then we don't have any known issues
+ with it.
+ </p>
+<h5>
+<a name="math_toolkit.issues.h0"></a>
+ <span class="phrase"><a name="math_toolkit.issues.derivatives_of_bessel_functions_"></a></span><a class="link" href="issues.html#math_toolkit.issues.derivatives_of_bessel_functions_">Derivatives
+ of Bessel functions (and their zeros)</a>
+ </h5>
+<p>
+ Potentially, there could be native support for <code class="computeroutput"><span class="identifier">cyl_bessel_j_prime</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">cyl_neumann_prime</span><span class="special">()</span></code>. One could also imagine supporting the zeros
+ thereof, but they might be slower to calculate since root bracketing might
+ be needed instead of Newton iteration (for the lack of 2nd derivatives).
+ </p>
+<p>
+ Since Boost.Math's Bessel functions are so excellent, the quick way to <code class="computeroutput"><span class="identifier">cyl_bessel_j_prime</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">cyl_neumann_prime</span><span class="special">()</span></code>
+ would be via relationship with <code class="computeroutput"><span class="identifier">cyl_bessel_j</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">cyl_neumann</span><span class="special">()</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.issues.h1"></a>
+ <span class="phrase"><a name="math_toolkit.issues.tgamma"></a></span><a class="link" href="issues.html#math_toolkit.issues.tgamma">tgamma</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Can the <a class="link" href="lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>
+ be optimized any further? (low priority)
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.issues.h2"></a>
+ <span class="phrase"><a name="math_toolkit.issues.incomplete_beta"></a></span><a class="link" href="issues.html#math_toolkit.issues.incomplete_beta">Incomplete
+ Beta</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Investigate Didonato and Morris' asymptotic expansion for large a and b
+ (medium priority).
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.issues.h3"></a>
+ <span class="phrase"><a name="math_toolkit.issues.inverse_gamma"></a></span><a class="link" href="issues.html#math_toolkit.issues.inverse_gamma">Inverse
+ Gamma</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Investigate whether we can skip iteration altogether if the first approximation
+ is good enough (Medium Priority).
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.issues.h4"></a>
+ <span class="phrase"><a name="math_toolkit.issues.polynomials"></a></span><a class="link" href="issues.html#math_toolkit.issues.polynomials">Polynomials</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ The Legendre and Laguerre Polynomials have surprisingly different error
+ rates on different platforms, considering they are evaluated with only
+ basic arithmetic operations. Maybe this is telling us something, or maybe
+ not (Low Priority).
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.issues.h5"></a>
+ <span class="phrase"><a name="math_toolkit.issues.elliptic_integrals"></a></span><a class="link" href="issues.html#math_toolkit.issues.elliptic_integrals">Elliptic
+ Integrals</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Carlson's algorithms are essentially unchanged from Xiaogang Zhang's Google
+ Summer of Code student project, and are based on Carlson's original papers.
+ However, Carlson has revised his algorithms since then (refer to the references
+ in the elliptic integral docs for a list), to improve performance and accuracy,
+ we may be able to take advantage of these improvements too (Low Priority).
+ </li>
+<li class="listitem">
+ [para Carlson's algorithms (mainly R<sub>J</sub>) are somewhat prone to internal overflow/underflow
+ when the arguments are very large or small. The homogeneity relations:]
+ [para R<sub>F</sub>(ka, kb, kc) = k<sup>-1/2</sup> R<sub>F</sub>(a, b, c)] [para and] [para R<sub>J</sub>(ka, kb, kc,
+ kr) = k<sup>-3/2</sup> R<sub>J</sub>(a, b, c, r)] [para could be used to sidestep trouble here:
+ provided the problem domains can be accurately identified. (Medium Priority).]
+ </li>
+<li class="listitem">
+ Carlson's R<sub>C</sub> can be reduced to elementary funtions (asin and log), would
+ it be more efficient evaluated this way, rather than by Carlson's algorithms?
+ (Low Priority).
+ </li>
+<li class="listitem">
+ Should we add an implementation of Carlson's R<sub>G</sub>? It's not required for
+ the Legendre form integrals, but some people may find it useful (Low Priority).
+ </li>
+<li class="listitem">
+ There are a several other integrals: D(&#966;, k), Z(&#946;, k), &#923;<sub>0</sub>(&#946;, k) and Bulirsch's
+ <span class="emphasis"><em>el</em></span> functions that could be implemented using Carlson's
+ integrals (Low Priority).
+ </li>
+<li class="listitem">
+ The integrals K(k) and E(k) could be implemented using rational approximations
+ (both for efficiency and accuracy), assuming we can find them. (Medium
+ Priority).
+ </li>
+<li class="listitem">
+ There is a sub-domain of <a class="link" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a>
+ that is unimplemented (see the docs for details), currently it's not clear
+ how to solve this issue, or if it's ever likely to be an real problem in
+ practice - especially as most other implementations don't support this
+ domain either (Medium Priority).
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.issues.h6"></a>
+ <span class="phrase"><a name="math_toolkit.issues.owen_s_t_function"></a></span><a class="link" href="issues.html#math_toolkit.issues.owen_s_t_function">Owen's
+ T Function</a>
+ </h5>
+<p>
+ There is a problem area at arbitrary precision when <span class="emphasis"><em>a</em></span>
+ is very close to 1. However, note that the value for <span class="emphasis"><em>T(h, 1)</em></span>
+ is well known and easy to compute, and if we replaced the <span class="emphasis"><em>a<sup>k</sup></em></span>
+ terms in series T1, T2 or T4 by <span class="emphasis"><em>(a<sup>k</sup> - 1)</em></span> then we would
+ have the difference between <span class="emphasis"><em>T(h, a)</em></span> and <span class="emphasis"><em>T(h,
+ 1)</em></span>. Unfortunately this doesn't improve the convergence of those
+ series in that area. It certainly looks as though a new series in terms of
+ <span class="emphasis"><em>(1-a)<sup>k</sup></em></span> is both possible and desirable in this area, but
+ it remains elusive at present.
+ </p>
+<h5>
+<a name="math_toolkit.issues.h7"></a>
+ <span class="phrase"><a name="math_toolkit.issues.jocobi_elliptic_functions"></a></span><a class="link" href="issues.html#math_toolkit.issues.jocobi_elliptic_functions">Jocobi
+ elliptic functions</a>
+ </h5>
+<p>
+ These are useful in engineering applications - we have had a request to add
+ these.
+ </p>
+<h5>
+<a name="math_toolkit.issues.h8"></a>
+ <span class="phrase"><a name="math_toolkit.issues.statistical_distributions"></a></span><a class="link" href="issues.html#math_toolkit.issues.statistical_distributions">Statistical
+ distributions</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Student's t Perhaps switch to normal distribution as a better approximation
+ for very large degrees of freedom?
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.issues.h9"></a>
+ <span class="phrase"><a name="math_toolkit.issues.feature_requests"></a></span><a class="link" href="issues.html#math_toolkit.issues.feature_requests">Feature
+ Requests</a>
+ </h5>
+<p>
+ The following table lists distributions that are found in other packages but
+ which are not yet present here, the more frequently the distribution is found,
+ the higher the priority for implementing it:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Distribution
+ </p>
+ </th>
+<th>
+ <p>
+ R
+ </p>
+ </th>
+<th>
+ <p>
+ Mathematica 6
+ </p>
+ </th>
+<th>
+ <p>
+ NIST
+ </p>
+ </th>
+<th>
+ <p>
+ Regress+
+ </p>
+ </th>
+<th>
+ <p>
+ Matlab
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Geometric
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Multinomial
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Tukey Lambda
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Half Normal / Folded Normal
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Chi
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Gumbel
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Discrete Uniform
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Log Series
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Nakagami (generalised Chi)
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Log Logistic
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Tukey (Studentized range)
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Wilcoxon rank sum
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Wincoxon signed rank
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Non-central Beta
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Maxwell
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta-Binomial
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Beta-negative Binomial
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Zipf
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Birnbaum-Saunders / Fatigue Life
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Double Exponential
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Power Normal
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Power Lognormal
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Cosine
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Double Gamma
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Double Weibul
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Hyperbolic Secant
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Semicircular
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bradford
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Birr / Fisk
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Reciprocal
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ X
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Kolmogorov Distribution
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+<td>
+ <p>
+ -
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Also asked for more than once:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Add support for interpolated distributions, possibly combine with numeric
+ integration and differentiation.
+ </li>
+<li class="listitem">
+ Add support for bivariate and multivariate distributions: most especially
+ the normal.
+ </li>
+<li class="listitem">
+ Add support for the log of the cdf and pdf: this is mainly a performance
+ optimisation since we can avoid some special function calls for some distributions
+ by returning the log of the result.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history2.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi.html b/libs/math/doc/html/math_toolkit/jacobi.html
new file mode 100644
index 0000000000..d593262c30
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">
+<link rel="next" href="jacobi/jac_over.html" title="Overvew of the Jacobi Elliptic Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint/ellint_3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi/jac_over.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.jacobi"></a><a class="link" href="jacobi.html" title="Jacobi Elliptic Functions">Jacobi Elliptic Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="jacobi/jac_over.html">Overvew of the Jacobi Elliptic
+ Functions</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_elliptic.html">Jacobi Elliptic
+ SN, CN and DN</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_cd.html">Jacobi Elliptic Function
+ cd</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_cn.html">Jacobi Elliptic Function
+ cn</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_cs.html">Jacobi Elliptic Function
+ cs</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_dc.html">Jacobi Elliptic Function
+ dc</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_dn.html">Jacobi Elliptic Function
+ dn</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_ds.html">Jacobi Elliptic Function
+ ds</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_nc.html">Jacobi Elliptic Function
+ nc</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_nd.html">Jacobi Elliptic Function
+ nd</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_ns.html">Jacobi Elliptic Function
+ ns</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_sc.html">Jacobi Elliptic Function
+ sc</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_sd.html">Jacobi Elliptic Function
+ sd</a></span></dt>
+<dt><span class="section"><a href="jacobi/jacobi_sn.html">Jacobi Elliptic Function
+ sn</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint/ellint_3.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi/jac_over.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jac_over.html b/libs/math/doc/html/math_toolkit/jacobi/jac_over.html
new file mode 100644
index 0000000000..09f9730678
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jac_over.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overvew of the Jacobi Elliptic Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="next" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../jacobi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_elliptic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jac_over"></a><a class="link" href="jac_over.html" title="Overvew of the Jacobi Elliptic Functions">Overvew of the Jacobi Elliptic
+ Functions</a>
+</h3></div></div></div>
+<p>
+ There are twelve Jacobi Elliptic functions, of which the three copolar functions
+ <span class="emphasis"><em>sn</em></span>, <span class="emphasis"><em>cn</em></span> and <span class="emphasis"><em>dn</em></span>
+ are the most important as the other nine can be computed from these three
+ <a href="#ftn.math_toolkit.jacobi.jac_over.f0" class="footnote" name="math_toolkit.jacobi.jac_over.f0"><sup class="footnote">[2]</sup></a> <a href="#ftn.math_toolkit.jacobi.jac_over.f1" class="footnote" name="math_toolkit.jacobi.jac_over.f1"><sup class="footnote">[3]</sup></a> <a href="#ftn.math_toolkit.jacobi.jac_over.f2" class="footnote" name="math_toolkit.jacobi.jac_over.f2"><sup class="footnote">[4]</sup></a>.
+ </p>
+<p>
+ These functions each take two arguments: a parameter, and a variable as described
+ below.
+ </p>
+<p>
+ Like all elliptic functions these can be parameterised in a number of ways:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ In terms of a parameter <span class="emphasis"><em>m</em></span>.
+ </li>
+<li class="listitem">
+ In terms of the elliptic modulus <span class="emphasis"><em>k</em></span> where <span class="emphasis"><em>m
+ = k<sup>2</sup></em></span>.
+ </li>
+<li class="listitem">
+ In terms of the modular angle &#945;, where <span class="emphasis"><em>m = sin<sup>2</sup>&#945;</em></span>.
+ </li>
+</ul></div>
+<p>
+ In our implementation, these functions all take the elliptic modulus <span class="emphasis"><em>k</em></span>
+ as the parameter.
+ </p>
+<p>
+ In addition the variable <span class="emphasis"><em>u</em></span> is sometimes expressed as
+ an amplitude &#966;, in our implementation we always use <span class="emphasis"><em>u</em></span>.
+ </p>
+<p>
+ Finally note that our functions all take the elliptic modulus as the first
+ argument - this is for alignment with the Elliptic Integrals.
+ </p>
+<p>
+ There are twenve functions for computing the twelve individual Jacobi elliptic
+ functions: <a class="link" href="jacobi_cd.html" title="Jacobi Elliptic Function cd">jacobi_cd</a>,
+ <a class="link" href="jacobi_cn.html" title="Jacobi Elliptic Function cn">jacobi_cn</a>, <a class="link" href="jacobi_cs.html" title="Jacobi Elliptic Function cs">jacobi_cs</a>,
+ <a class="link" href="jacobi_dc.html" title="Jacobi Elliptic Function dc">jacobi_dc</a>, <a class="link" href="jacobi_dn.html" title="Jacobi Elliptic Function dn">jacobi_dn</a>,
+ <a class="link" href="jacobi_ds.html" title="Jacobi Elliptic Function ds">jacobi_ds</a>, <a class="link" href="jacobi_nc.html" title="Jacobi Elliptic Function nc">jacobi_nc</a>,
+ <a class="link" href="jacobi_nd.html" title="Jacobi Elliptic Function nd">jacobi_nd</a>, <a class="link" href="jacobi_ns.html" title="Jacobi Elliptic Function ns">jacobi_ns</a>,
+ <a class="link" href="jacobi_sc.html" title="Jacobi Elliptic Function sc">jacobi_sc</a>, <a class="link" href="jacobi_sd.html" title="Jacobi Elliptic Function sd">jacobi_sd</a>
+ and <a class="link" href="jacobi_sn.html" title="Jacobi Elliptic Function sn">jacobi_sn</a>.
+ </p>
+<p>
+ They are all called as for example:
+ </p>
+<pre class="programlisting"><span class="identifier">jacobi_cs</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">u</span><span class="special">);</span>
+</pre>
+<p>
+ Note however that these individual functions are all really thin wrappers
+ around the function <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>
+ which calculates the three copolar functions <span class="emphasis"><em>sn</em></span>, <span class="emphasis"><em>cn</em></span>
+ and <span class="emphasis"><em>dn</em></span> in a single function call. Thus if you need more
+ than one of these functions for a given set of arguments, it's most efficient
+ to use <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>.
+ </p>
+<div class="footnotes">
+<br><hr style="width:100; text-align:left;margin-left: 0">
+<div id="ftn.math_toolkit.jacobi.jac_over.f0" class="footnote"><p><a href="#math_toolkit.jacobi.jac_over.f0" class="para"><sup class="para">[2] </sup></a>
+ <a href="http://en.wikipedia.org/wiki/Jacobi_elliptic_functions" target="_top">Wikipedia:
+ Jacobi elliptic functions</a>
+ </p></div>
+<div id="ftn.math_toolkit.jacobi.jac_over.f1" class="footnote"><p><a href="#math_toolkit.jacobi.jac_over.f1" class="para"><sup class="para">[3] </sup></a>
+ <a href="http://mathworld.wolfram.com/JacobiEllipticFunctions.html" target="_top">Weisstein,
+ Eric W. "Jacobi Elliptic Functions." From MathWorld - A Wolfram
+ Web Resource.</a>
+ </p></div>
+<div id="ftn.math_toolkit.jacobi.jac_over.f2" class="footnote"><p><a href="#math_toolkit.jacobi.jac_over.f2" class="para"><sup class="para">[4] </sup></a>
+ <a href="http://dlmf.nist.gov/22" target="_top">Digital Library of Mathematical Functions:
+ Jacobian Elliptic Functions</a>
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../jacobi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_elliptic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_cd.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_cd.html
new file mode 100644
index 0000000000..9a10b1c7ac
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_cd.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function cd</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">
+<link rel="next" href="jacobi_cn.html" title="Jacobi Elliptic Function cn">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_elliptic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_cn.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_cd"></a><a class="link" href="jacobi_cd.html" title="Jacobi Elliptic Function cd">Jacobi Elliptic Function
+ cd</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_cd.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_cd.synopsis"></a></span><a class="link" href="jacobi_cd.html#math_toolkit.jacobi.jacobi_cd.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_cd</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_cd</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_cd.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_cd.description"></a></span><a class="link" href="jacobi_cd.html#math_toolkit.jacobi.jacobi_cd.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>cd</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>cd(u, k) = cn(u, k) / dn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_cd.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_elliptic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_cn.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_cn.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_cn.html
new file mode 100644
index 0000000000..f0910ef913
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_cn.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function cn</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_cd.html" title="Jacobi Elliptic Function cd">
+<link rel="next" href="jacobi_cs.html" title="Jacobi Elliptic Function cs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_cd.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_cs.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_cn"></a><a class="link" href="jacobi_cn.html" title="Jacobi Elliptic Function cn">Jacobi Elliptic Function
+ cn</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_cn.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_cn.synopsis"></a></span><a class="link" href="jacobi_cn.html#math_toolkit.jacobi.jacobi_cn.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_cn</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_cn</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_cn.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_cn.description"></a></span><a class="link" href="jacobi_cn.html#math_toolkit.jacobi.jacobi_cn.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>cn</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_cn.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_cd.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_cs.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_cs.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_cs.html
new file mode 100644
index 0000000000..d2a9812b99
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_cs.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function cs</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_cn.html" title="Jacobi Elliptic Function cn">
+<link rel="next" href="jacobi_dc.html" title="Jacobi Elliptic Function dc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_cn.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_dc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_cs"></a><a class="link" href="jacobi_cs.html" title="Jacobi Elliptic Function cs">Jacobi Elliptic Function
+ cs</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_cs.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_cs.synopsis"></a></span><a class="link" href="jacobi_cs.html#math_toolkit.jacobi.jacobi_cs.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_cs</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_cs</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_cs.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_cs.description"></a></span><a class="link" href="jacobi_cs.html#math_toolkit.jacobi.jacobi_cs.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>cs</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>cs(u, k) = cn(u, k) / sn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_cs.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_cn.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_dc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_dc.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_dc.html
new file mode 100644
index 0000000000..28cfe66261
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_dc.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function dc</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_cs.html" title="Jacobi Elliptic Function cs">
+<link rel="next" href="jacobi_dn.html" title="Jacobi Elliptic Function dn">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_cs.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_dn.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_dc"></a><a class="link" href="jacobi_dc.html" title="Jacobi Elliptic Function dc">Jacobi Elliptic Function
+ dc</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_dc.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_dc.synopsis"></a></span><a class="link" href="jacobi_dc.html#math_toolkit.jacobi.jacobi_dc.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_dc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_dc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_dc.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_dc.description"></a></span><a class="link" href="jacobi_dc.html#math_toolkit.jacobi.jacobi_dc.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>dc</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>dc(u, k) = dn(u, k) / cn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_dc.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_cs.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_dn.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_dn.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_dn.html
new file mode 100644
index 0000000000..6f55ca71ed
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_dn.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function dn</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_dc.html" title="Jacobi Elliptic Function dc">
+<link rel="next" href="jacobi_ds.html" title="Jacobi Elliptic Function ds">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_dc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_ds.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_dn"></a><a class="link" href="jacobi_dn.html" title="Jacobi Elliptic Function dn">Jacobi Elliptic Function
+ dn</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_dn.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_dn.synopsis"></a></span><a class="link" href="jacobi_dn.html#math_toolkit.jacobi.jacobi_dn.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_dn</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_dn</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_dn.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_dn.description"></a></span><a class="link" href="jacobi_dn.html#math_toolkit.jacobi.jacobi_dn.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>dn</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_dn.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_dc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_ds.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_ds.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_ds.html
new file mode 100644
index 0000000000..a393fd4caa
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_ds.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function ds</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_dn.html" title="Jacobi Elliptic Function dn">
+<link rel="next" href="jacobi_nc.html" title="Jacobi Elliptic Function nc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_dn.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_nc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_ds"></a><a class="link" href="jacobi_ds.html" title="Jacobi Elliptic Function ds">Jacobi Elliptic Function
+ ds</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_ds.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_ds.synopsis"></a></span><a class="link" href="jacobi_ds.html#math_toolkit.jacobi.jacobi_ds.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_ds</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_ds</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_ds.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_ds.description"></a></span><a class="link" href="jacobi_ds.html#math_toolkit.jacobi.jacobi_ds.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>ds</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>ds(u, k) = dn(u, k) / sn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_ds.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_dn.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_nc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_elliptic.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_elliptic.html
new file mode 100644
index 0000000000..a39a9b172b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_elliptic.html
@@ -0,0 +1,302 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic SN, CN and DN</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jac_over.html" title="Overvew of the Jacobi Elliptic Functions">
+<link rel="next" href="jacobi_cd.html" title="Jacobi Elliptic Function cd">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jac_over.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_cd.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_elliptic"></a><a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">Jacobi Elliptic
+ SN, CN and DN</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_elliptic.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_elliptic.synopsis"></a></span><a class="link" href="jacobi_elliptic.html#math_toolkit.jacobi.jacobi_elliptic.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_elliptic</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">V</span><span class="special">*</span> <span class="identifier">pcn</span><span class="special">,</span> <span class="identifier">V</span><span class="special">*</span> <span class="identifier">pdn</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_elliptic</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="identifier">V</span><span class="special">*</span> <span class="identifier">pcn</span><span class="special">,</span> <span class="identifier">V</span><span class="special">*</span> <span class="identifier">pdn</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_elliptic.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_elliptic.description"></a></span><a class="link" href="jacobi_elliptic.html#math_toolkit.jacobi.jacobi_elliptic.description">Description</a>
+ </h5>
+<p>
+ The function <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>
+ calculates the three copolar Jacobi elliptic functions <span class="emphasis"><em>sn(u, k)</em></span>,
+ <span class="emphasis"><em>cn(u, k)</em></span> and <span class="emphasis"><em>dn(u, k)</em></span>. The returned
+ value is <span class="emphasis"><em>sn(u, k)</em></span>, and if provided, <span class="emphasis"><em>*pcn</em></span>
+ is set to <span class="emphasis"><em>cn(u, k)</em></span>, and <span class="emphasis"><em>*pdn</em></span> is
+ set to <span class="emphasis"><em>dn(u, k)</em></span>.
+ </p>
+<p>
+ The functions are defined as follows, given:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/jacobi1.png"></span>
+ </p>
+<p>
+ The the angle &#966; is called the <span class="emphasis"><em>amplitude</em></span> and:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/jacobi2.png"></span>
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="emphasis"><em>&#966;</em></span> is called the amplitude.
+ </p>
+<p>
+ <span class="emphasis"><em>k</em></span> is called the modulus.
+ </p>
+</td></tr>
+</table></div>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Rather like other elliptic functions, the Jacobi functions are expressed
+ in a variety of different ways. In particular, the parameter <span class="emphasis"><em>k</em></span>
+ (the modulus) may also be expressed using a modular angle &#945;, or a parameter
+ <span class="emphasis"><em>m</em></span>. These are related by:
+ </p>
+<p>
+ k = sin&#945;
+ </p>
+<p>
+ m = k<sup>2</sup> = sin<sup>2</sup>&#945;
+ </p>
+<p>
+ So that the function <span class="emphasis"><em>sn</em></span> (for example) may be expressed
+ as either:
+ </p>
+<p>
+ sn(u, k)
+ </p>
+<p>
+ sn(u \ &#945;)
+ </p>
+<p>
+ sn(u| m)
+ </p>
+<p>
+ To further complicate matters, some texts refer to the <span class="emphasis"><em>complement
+ of the parameter m</em></span>, or 1 - m, where:
+ </p>
+<p>
+ 1 - m = 1 - k<sup>2</sup> = cos<sup>2</sup>&#945;
+ </p>
+<p>
+ This implementation uses <span class="emphasis"><em>k</em></span> throughout, and makes this
+ the first argument to the functions: this is for alignment with the elliptic
+ integrals which match the requirements of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
+ Report on C++ Library Extensions</a>. However, you should be extra
+ careful when using these functions!
+ </p>
+</td></tr>
+</table></div>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The following graphs illustrate how these functions change as <span class="emphasis"><em>k</em></span>
+ changes: for small <span class="emphasis"><em>k</em></span> these are sine waves, while as
+ <span class="emphasis"><em>k</em></span> tends to 1 they become hyperbolic functions:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_sn.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_cn.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_dn.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_elliptic.h2"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_elliptic.accuracy"></a></span><a class="link" href="jacobi_elliptic.html#math_toolkit.jacobi.jacobi_elliptic.accuracy">Accuracy</a>
+ </h5>
+<p>
+ These functions are computed using only basic arithmetic operations and trigomometric
+ functions, so there isn't much variation in accuracy over differing platforms.
+ Typically errors are trivially small for small angles, and as is typical
+ for cyclic functions, grow as the angle increases. Note that only results
+ for the widest floating point type on the system are given as narrower types
+ have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively zero
+ error</a>. All values are relative errors in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.jacobi.jacobi_elliptic.errors_rates_in_the_jacobi_ellip"></a><p class="title"><b>Table&#160;6.29.&#160;Errors Rates in the Jacobi Elliptic Functions</b></p>
+<div class="table-contents"><table class="table" summary="Errors Rates in the Jacobi Elliptic Functions">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ u &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ Large u
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 / Visual C++ 8.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=44000 Mean=2500
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Ubuntu Linux / G++ 4.7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.0 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=25000 Mean=1500
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.jacobi.jacobi_elliptic.h3"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_elliptic.testing"></a></span><a class="link" href="jacobi_elliptic.html#math_toolkit.jacobi.jacobi_elliptic.testing">Testing</a>
+ </h5>
+<p>
+ The tests use a mixture of spot test values calculated using the online calculator
+ at <a href="http://functions.wolfram.com/" target="_top">functions.wolfram.com</a>,
+ and random test data generated using MPFR at 1000-bit precision and this
+ implementation.
+ </p>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_elliptic.h4"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_elliptic.implementation"></a></span><a class="link" href="jacobi_elliptic.html#math_toolkit.jacobi.jacobi_elliptic.implementation">Implementation</a>
+ </h5>
+<p>
+ For <span class="emphasis"><em>k &gt; 1</em></span> we apply the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/jacobi3.png"></span>
+ </p>
+<p>
+ Then filter off the special cases:
+ </p>
+<p>
+ <span class="emphasis"><em>sn(0, k) = 0</em></span> and <span class="emphasis"><em>cn(0, k) = dn(0, k) = 1</em></span>.
+ </p>
+<p>
+ <span class="emphasis"><em>sn(u, 0) = sin(u), cn(u, 0) = cos(u) and dn(u, 0) = 1</em></span>.
+ </p>
+<p>
+ <span class="emphasis"><em>sn(u, 1) = tanh(u), cn(u, 1) = dn(u, 1) = 1 / cosh(u)</em></span>.
+ </p>
+<p>
+ And for <span class="emphasis"><em>k<sup>4</sup> &lt; &#949;</em></span> we have:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/jacobi4.png"></span>
+ </p>
+<p>
+ Otherwise the values are calculated using the method of <a href="http://dlmf.nist.gov/22.20#SS2" target="_top">arithmetic
+ geometric means</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jac_over.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_cd.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_nc.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_nc.html
new file mode 100644
index 0000000000..f213ed4ae8
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_nc.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function nc</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_ds.html" title="Jacobi Elliptic Function ds">
+<link rel="next" href="jacobi_nd.html" title="Jacobi Elliptic Function nd">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_ds.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_nd.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_nc"></a><a class="link" href="jacobi_nc.html" title="Jacobi Elliptic Function nc">Jacobi Elliptic Function
+ nc</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_nc.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_nc.synopsis"></a></span><a class="link" href="jacobi_nc.html#math_toolkit.jacobi.jacobi_nc.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_nc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_nc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_nc.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_nc.description"></a></span><a class="link" href="jacobi_nc.html#math_toolkit.jacobi.jacobi_nc.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>nc</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>nc(u, k) = 1 / cn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_nc.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_ds.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_nd.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_nd.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_nd.html
new file mode 100644
index 0000000000..2b00a44b2b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_nd.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function nd</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_nc.html" title="Jacobi Elliptic Function nc">
+<link rel="next" href="jacobi_ns.html" title="Jacobi Elliptic Function ns">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_nc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_ns.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_nd"></a><a class="link" href="jacobi_nd.html" title="Jacobi Elliptic Function nd">Jacobi Elliptic Function
+ nd</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_nd.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_nd.synopsis"></a></span><a class="link" href="jacobi_nd.html#math_toolkit.jacobi.jacobi_nd.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_nd</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_nd</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_nd.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_nd.description"></a></span><a class="link" href="jacobi_nd.html#math_toolkit.jacobi.jacobi_nd.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>nd</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>nd(u, k) = 1 / dn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_nd.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_nc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_ns.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_ns.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_ns.html
new file mode 100644
index 0000000000..605b4ecb51
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_ns.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function ns</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_nd.html" title="Jacobi Elliptic Function nd">
+<link rel="next" href="jacobi_sc.html" title="Jacobi Elliptic Function sc">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_nd.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_sc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_ns"></a><a class="link" href="jacobi_ns.html" title="Jacobi Elliptic Function ns">Jacobi Elliptic Function
+ ns</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_ns.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_ns.synopsis"></a></span><a class="link" href="jacobi_ns.html#math_toolkit.jacobi.jacobi_ns.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_ns</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_ns</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_ns.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_ns.description"></a></span><a class="link" href="jacobi_ns.html#math_toolkit.jacobi.jacobi_ns.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>ns</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>ns(u, k) = 1 / sn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_ns.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_nd.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_sc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_sc.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_sc.html
new file mode 100644
index 0000000000..b02d9a287f
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_sc.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function sc</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_ns.html" title="Jacobi Elliptic Function ns">
+<link rel="next" href="jacobi_sd.html" title="Jacobi Elliptic Function sd">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_ns.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_sd.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_sc"></a><a class="link" href="jacobi_sc.html" title="Jacobi Elliptic Function sc">Jacobi Elliptic Function
+ sc</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_sc.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_sc.synopsis"></a></span><a class="link" href="jacobi_sc.html#math_toolkit.jacobi.jacobi_sc.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_sc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_sc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_sc.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_sc.description"></a></span><a class="link" href="jacobi_sc.html#math_toolkit.jacobi.jacobi_sc.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>sc</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>sc(u, k) = sn(u, k) / cn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_sc.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_ns.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_sd.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_sd.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_sd.html
new file mode 100644
index 0000000000..0b230864f1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_sd.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function sd</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_sc.html" title="Jacobi Elliptic Function sc">
+<link rel="next" href="jacobi_sn.html" title="Jacobi Elliptic Function sn">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_sc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_sn.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_sd"></a><a class="link" href="jacobi_sd.html" title="Jacobi Elliptic Function sd">Jacobi Elliptic Function
+ sd</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_sd.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_sd.synopsis"></a></span><a class="link" href="jacobi_sd.html#math_toolkit.jacobi.jacobi_sd.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_sd</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_sd</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_sd.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_sd.description"></a></span><a class="link" href="jacobi_sd.html#math_toolkit.jacobi.jacobi_sd.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>sd</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>,
+ with:
+ </p>
+<p>
+ <span class="emphasis"><em>sd(u, k) = sn(u, k) / dn(u, k)</em></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_sd.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_sc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_sn.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/jacobi/jacobi_sn.html b/libs/math/doc/html/math_toolkit/jacobi/jacobi_sn.html
new file mode 100644
index 0000000000..49e05222cf
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/jacobi/jacobi_sn.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Jacobi Elliptic Function sn</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
+<link rel="prev" href="jacobi_sd.html" title="Jacobi Elliptic Function sd">
+<link rel="next" href="../zetas.html" title="Zeta Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_sd.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../zetas.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.jacobi.jacobi_sn"></a><a class="link" href="jacobi_sn.html" title="Jacobi Elliptic Function sn">Jacobi Elliptic Function
+ sn</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_sn.h0"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_sn.synopsis"></a></span><a class="link" href="jacobi_sn.html#math_toolkit.jacobi.jacobi_sn.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">jacobi_elliptic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_sn</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">);</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+ <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">jacobi_sn</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">u</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.jacobi.jacobi_sn.h1"></a>
+ <span class="phrase"><a name="math_toolkit.jacobi.jacobi_sn.description"></a></span><a class="link" href="jacobi_sn.html#math_toolkit.jacobi.jacobi_sn.description">Description</a>
+ </h5>
+<p>
+ This function returns the Jacobi elliptic function <span class="emphasis"><em>sn</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is a trivial wrapper around <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/jacobi_sn.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi_sd.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../zetas.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/lanczos.html b/libs/math/doc/html/math_toolkit/lanczos.html
new file mode 100644
index 0000000000..e178ba6f21
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/lanczos.html
@@ -0,0 +1,577 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Lanczos Approximation</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+<link rel="prev" href="relative_error.html" title="Relative Error">
+<link rel="next" href="remez.html" title="The Remez Method">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="relative_error.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remez.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.lanczos"></a><a class="link" href="lanczos.html" title="The Lanczos Approximation">The Lanczos Approximation</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.lanczos.h0"></a>
+ <span class="phrase"><a name="math_toolkit.lanczos.motivation"></a></span><a class="link" href="lanczos.html#math_toolkit.lanczos.motivation">Motivation</a>
+ </h5>
+<p>
+ <span class="emphasis"><em>Why base gamma and gamma-like functions on the Lanczos approximation?</em></span>
+ </p>
+<p>
+ First of all I should make clear that for the gamma function over real numbers
+ (as opposed to complex ones) the Lanczos approximation (See <a href="http://en.wikipedia.org/wiki/Lanczos_approximation" target="_top">Wikipedia
+ or </a> <a href="http://mathworld.wolfram.com/LanczosApproximation.html" target="_top">Mathworld</a>)
+ appears to offer no clear advantage over more traditional methods such as
+ <a href="http://en.wikipedia.org/wiki/Stirling_approximation" target="_top">Stirling's
+ approximation</a>. <a class="link" href="lanczos.html#pugh">Pugh</a> carried out an extensive
+ comparison of the various methods available and discovered that they were all
+ very similar in terms of complexity and relative error. However, the Lanczos
+ approximation does have a couple of properties that make it worthy of further
+ consideration:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The approximation has an easy to compute truncation error that holds for
+ all <span class="emphasis"><em>z &gt; 0</em></span>. In practice that means we can use the
+ same approximation for all <span class="emphasis"><em>z &gt; 0</em></span>, and be certain
+ that no matter how large or small <span class="emphasis"><em>z</em></span> is, the truncation
+ error will <span class="emphasis"><em>at worst</em></span> be bounded by some finite value.
+ </li>
+<li class="listitem">
+ The approximation has a form that is particularly amenable to analytic
+ manipulation, in particular ratios of gamma or gamma-like functions are
+ particularly easy to compute without resorting to logarithms.
+ </li>
+</ul></div>
+<p>
+ It is the combination of these two properties that make the approximation attractive:
+ Stirling's approximation is highly accurate for large z, and has some of the
+ same analytic properties as the Lanczos approximation, but can't easily be
+ used across the whole range of z.
+ </p>
+<p>
+ As the simplest example, consider the ratio of two gamma functions: one could
+ compute the result via lgamma:
+ </p>
+<pre class="programlisting"><span class="identifier">exp</span><span class="special">(</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span>
+</pre>
+<p>
+ However, even if lgamma is uniformly accurate to 0.5ulp, the worst case relative
+ error in the above can easily be shown to be:
+ </p>
+<pre class="programlisting"><span class="identifier">Erel</span> <span class="special">&gt;</span> <span class="identifier">a</span> <span class="special">*</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">a</span><span class="special">)/</span><span class="number">2</span> <span class="special">+</span> <span class="identifier">b</span> <span class="special">*</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">b</span><span class="special">)/</span><span class="number">2</span>
+</pre>
+<p>
+ For small <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> that's not a problem,
+ but to put the relationship another way: <span class="emphasis"><em>each time a and b increase
+ in magnitude by a factor of 10, at least one decimal digit of precision will
+ be lost.</em></span>
+ </p>
+<p>
+ In contrast, by analytically combining like power terms in a ratio of Lanczos
+ approximation's, these errors can be virtually eliminated for small <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span>, and kept under control for very large (or very
+ small for that matter) <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>. Of
+ course, computing large powers is itself a notoriously hard problem, but even
+ so, analytic combinations of Lanczos approximations can make the difference
+ between obtaining a valid result, or simply garbage. Refer to the implementation
+ notes for the <a class="link" href="sf_beta/beta_function.html" title="Beta">beta</a>
+ function for an example of this method in practice. The incomplete <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p
+ gamma</a> and <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">beta</a>
+ functions use similar analytic combinations of power terms, to combine gamma
+ and beta functions divided by large powers into single (simpler) expressions.
+ </p>
+<h5>
+<a name="math_toolkit.lanczos.h1"></a>
+ <span class="phrase"><a name="math_toolkit.lanczos.the_approximation"></a></span><a class="link" href="lanczos.html#math_toolkit.lanczos.the_approximation">The
+ Approximation</a>
+ </h5>
+<p>
+ The Lanczos Approximation to the Gamma Function is given by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos0.png"></span>
+ </p>
+<p>
+ Where S<sub>g</sub>(z) is an infinite sum, that is convergent for all z &gt; 0, and <span class="emphasis"><em>g</em></span>
+ is an arbitrary parameter that controls the "shape" of the terms
+ in the sum which is given by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos0a.png"></span>
+ </p>
+<p>
+ With individual coefficients defined in closed form by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos0b.png"></span>
+ </p>
+<p>
+ 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
+ we're multiplying by a series of numbers very close to 1, so roundoff errors
+ can accumulate quite rapidly).
+ </p>
+<p>
+ The Lanczos approximation is therefore often written in partial fraction form
+ with the leading constants absorbed by the coefficients in the sum:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos1.png"></span>
+ </p>
+<p>
+ where:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos2.png"></span>
+ </p>
+<p>
+ Again parameter <span class="emphasis"><em>g</em></span> is an arbitrarily chosen constant, and
+ <span class="emphasis"><em>N</em></span> is an arbitrarily chosen number of terms to evaluate
+ in the "Lanczos sum" part.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Some authors choose to define the sum from k=1 to N, and hence end up with
+ N+1 coefficients. This happens to confuse both the following discussion and
+ the code (since C++ deals with half open array ranges, rather than the closed
+ range of the sum). This convention is consistent with <a class="link" href="lanczos.html#godfrey">Godfrey</a>,
+ but not <a class="link" href="lanczos.html#pugh">Pugh</a>, so take care when referring to
+ the literature in this field.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.lanczos.h2"></a>
+ <span class="phrase"><a name="math_toolkit.lanczos.computing_the_coefficients"></a></span><a class="link" href="lanczos.html#math_toolkit.lanczos.computing_the_coefficients">Computing
+ the Coefficients</a>
+ </h5>
+<p>
+ The coefficients C0..CN-1 need to be computed from <span class="emphasis"><em>N</em></span> and
+ <span class="emphasis"><em>g</em></span> at high precision, and then stored as part of the program.
+ Calculation of the coefficients is performed via the method of <a class="link" href="lanczos.html#godfrey">Godfrey</a>;
+ let the constants be contained in a column vector P, then:
+ </p>
+<p>
+ P = D B C F
+ </p>
+<p>
+ where B is an NxN matrix:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos4.png"></span>
+ </p>
+<p>
+ D is an NxN matrix:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos3.png"></span>
+ </p>
+<p>
+ C is an NxN matrix:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos5.png"></span>
+ </p>
+<p>
+ and F is an N element column vector:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos6.png"></span>
+ </p>
+<p>
+ Note than the matrices B, D and C contain all integer terms and depend only
+ on <span class="emphasis"><em>N</em></span>, this product should be computed first, and then
+ multiplied by <span class="emphasis"><em>F</em></span> as the last step.
+ </p>
+<h5>
+<a name="math_toolkit.lanczos.h3"></a>
+ <span class="phrase"><a name="math_toolkit.lanczos.choosing_the_right_parameters"></a></span><a class="link" href="lanczos.html#math_toolkit.lanczos.choosing_the_right_parameters">Choosing
+ the Right Parameters</a>
+ </h5>
+<p>
+ The trick is to choose <span class="emphasis"><em>N</em></span> and <span class="emphasis"><em>g</em></span> to
+ give the desired level of accuracy: choosing a small value for <span class="emphasis"><em>g</em></span>
+ leads to a strictly convergent series, but one which converges only slowly.
+ Choosing a larger value of <span class="emphasis"><em>g</em></span> causes the terms in the series
+ to be large and/or divergent for about the first <span class="emphasis"><em>g-1</em></span> terms,
+ and to then suddenly converge with a "crunch".
+ </p>
+<p>
+ <a class="link" href="lanczos.html#pugh">Pugh</a> has determined the optimal value of <span class="emphasis"><em>g</em></span>
+ for <span class="emphasis"><em>N</em></span> in the range <span class="emphasis"><em>1 &lt;= N &lt;= 60</em></span>:
+ unfortunately in practice choosing these values leads to cancellation errors
+ in the Lanczos sum as the largest term in the (alternating) series is approximately
+ 1000 times larger than the result. These optimal values appear not to be useful
+ in practice unless the evaluation can be done with a number of guard digits
+ <span class="emphasis"><em>and</em></span> the coefficients are stored at higher precision than
+ that desired in the result. These values are best reserved for say, computing
+ to float precision with double precision arithmetic.
+ </p>
+<div class="table">
+<a name="math_toolkit.lanczos.optimal_choices_for_n_and_g_when"></a><p class="title"><b>Table&#160;16.1.&#160;Optimal choices for N and g when computing with guard digits (source:
+ Pugh)</b></p>
+<div class="table-contents"><table class="table" summary="Optimal choices for N and g when computing with guard digits (source:
+ Pugh)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ N
+ </p>
+ </th>
+<th>
+ <p>
+ g
+ </p>
+ </th>
+<th>
+ <p>
+ Max Error
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 24
+ </p>
+ </td>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+<td>
+ <p>
+ 5.581
+ </p>
+ </td>
+<td>
+ <p>
+ 9.51e-12
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ 13
+ </p>
+ </td>
+<td>
+ <p>
+ 13.144565
+ </p>
+ </td>
+<td>
+ <p>
+ 9.2213e-23
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ The alternative described by <a class="link" href="lanczos.html#godfrey">Godfrey</a> is to perform
+ an exhaustive search of the <span class="emphasis"><em>N</em></span> and <span class="emphasis"><em>g</em></span>
+ parameter space to determine the optimal combination for a given <span class="emphasis"><em>p</em></span>
+ digit floating-point type. Repeating this work found a good approximation for
+ double precision arithmetic (close to the one <a class="link" href="lanczos.html#godfrey">Godfrey</a>
+ found), but failed to find really good approximations for 80 or 128-bit long
+ doubles. Further it was observed that the approximations obtained tended to
+ optimised for the small values of z (1 &lt; z &lt; 200) used to test the implementation
+ against the factorials. Computing ratios of gamma functions with large arguments
+ were observed to suffer from error resulting from the truncation of the Lancozos
+ series.
+ </p>
+<p>
+ <a class="link" href="lanczos.html#pugh">Pugh</a> identified all the locations where the theoretical
+ error of the approximation were at a minimum, but unfortunately has published
+ only the largest of these minima. However, he makes the observation that the
+ minima coincide closely with the location where the first neglected term (a<sub>N</sub>)
+ in the Lanczos series S<sub>g</sub>(z) changes sign. These locations are quite easy to
+ locate, albeit with considerable computer time. These "sweet spots"
+ need only be computed once, tabulated, and then searched when required for
+ an approximation that delivers the required precision for some fixed precision
+ type.
+ </p>
+<p>
+ Unfortunately, following this path failed to find a really good approximation
+ for 128-bit long doubles, and those found for 64 and 80-bit reals required
+ an excessive number of terms. There are two competing issues here: high precision
+ requires a large value of <span class="emphasis"><em>g</em></span>, but avoiding cancellation
+ errors in the evaluation requires a small <span class="emphasis"><em>g</em></span>.
+ </p>
+<p>
+ At this point note that the Lanczos sum can be converted into rational form
+ (a ratio of two polynomials, obtained from the partial-fraction form using
+ polynomial arithmetic), and doing so changes the coefficients so that <span class="emphasis"><em>they
+ are all positive</em></span>. That means that the sum in rational form can be
+ evaluated without cancellation error, albeit with double the number of coefficients
+ for a given N. Repeating the search of the "sweet spots", this time
+ evaluating the Lanczos sum in rational form, and testing only those "sweet
+ spots" whose theoretical error is less than the machine epsilon for the
+ type being tested, yielded good approximations for all the types tested. The
+ optimal values found were quite close to the best cases reported by <a class="link" href="lanczos.html#pugh">Pugh</a>
+ (just slightly larger <span class="emphasis"><em>N</em></span> and slightly smaller <span class="emphasis"><em>g</em></span>
+ for a given precision than <a class="link" href="lanczos.html#pugh">Pugh</a> reports), and even
+ though converting to rational form doubles the number of stored coefficients,
+ it should be noted that half of them are integers (and therefore require less
+ storage space) and the approximations require a smaller <span class="emphasis"><em>N</em></span>
+ than would otherwise be required, so fewer floating point operations may be
+ required overall.
+ </p>
+<p>
+ The following table shows the optimal values for <span class="emphasis"><em>N</em></span> and
+ <span class="emphasis"><em>g</em></span> when computing at fixed precision. These should be taken
+ as work in progress: there are no values for 106-bit significand machines (Darwin
+ long doubles &amp; NTL quad_float), and further optimisation of the values
+ of <span class="emphasis"><em>g</em></span> may be possible. Errors given in the table are estimates
+ of the error due to truncation of the Lanczos infinite series to <span class="emphasis"><em>N</em></span>
+ terms. They are calculated from the sum of the first five neglected terms -
+ and are known to be rather pessimistic estimates - although it is noticeable
+ that the best combinations of <span class="emphasis"><em>N</em></span> and <span class="emphasis"><em>g</em></span>
+ occurred when the estimated truncation error almost exactly matches the machine
+ epsilon for the type in question.
+ </p>
+<div class="table">
+<a name="math_toolkit.lanczos.optimum_value_for_n_and_g_when_c"></a><p class="title"><b>Table&#160;16.2.&#160;Optimum value for N and g when computing at fixed precision</b></p>
+<div class="table-contents"><table class="table" summary="Optimum value for N and g when computing at fixed precision">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform/Compiler Used
+ </p>
+ </th>
+<th>
+ <p>
+ N
+ </p>
+ </th>
+<th>
+ <p>
+ g
+ </p>
+ </th>
+<th>
+ <p>
+ Max Truncation Error
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 24
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, VC++ 7.1
+ </p>
+ </td>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+<td>
+ <p>
+ 1.428456135094165802001953125
+ </p>
+ </td>
+<td>
+ <p>
+ 9.41e-007
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, VC++ 7.1
+ </p>
+ </td>
+<td>
+ <p>
+ 13
+ </p>
+ </td>
+<td>
+ <p>
+ 6.024680040776729583740234375
+ </p>
+ </td>
+<td>
+ <p>
+ 3.23e-016
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Suse Linux 9 IA64, gcc-3.3.3
+ </p>
+ </td>
+<td>
+ <p>
+ 17
+ </p>
+ </td>
+<td>
+ <p>
+ 12.2252227365970611572265625
+ </p>
+ </td>
+<td>
+ <p>
+ 2.34e-024
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 116
+ </p>
+ </td>
+<td>
+ <p>
+ HP Tru64 Unix 5.1B / Alpha, Compaq C++ V7.1-006
+ </p>
+ </td>
+<td>
+ <p>
+ 24
+ </p>
+ </td>
+<td>
+ <p>
+ 20.3209821879863739013671875
+ </p>
+ </td>
+<td>
+ <p>
+ 4.75e-035
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Finally note that the Lanczos approximation can be written as follows by removing
+ a factor of exp(g) from the denominator, and then dividing all the coefficients
+ by exp(g):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/lanczos7.png"></span>
+ </p>
+<p>
+ This form is more convenient for calculating lgamma, but for the gamma function
+ the division by <span class="emphasis"><em>e</em></span> turns a possibly exact quality into
+ an inexact value: this reduces accuracy in the common case that the input is
+ exact, and so isn't used for the gamma function.
+ </p>
+<h5>
+<a name="math_toolkit.lanczos.h4"></a>
+ <span class="phrase"><a name="math_toolkit.lanczos.references"></a></span><a class="link" href="lanczos.html#math_toolkit.lanczos.references">References</a>
+ </h5>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ <a name="godfrey"></a>Paul Godfrey, <a href="http://my.fit.edu/~gabdo/gamma.txt" target="_top">"A
+ note on the computation of the convergent Lanczos complex Gamma approximation"</a>.
+ </li>
+<li class="listitem">
+ <a name="pugh"></a>Glendon Ralph Pugh, <a href="http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf" target="_top">"An
+ Analysis of the Lanczos Gamma Approximation"</a>, PhD Thesis November
+ 2004.
+ </li>
+<li class="listitem">
+ Viktor T. Toth, <a href="http://www.rskey.org/gamma.htm" target="_top">"Calculators
+ and the Gamma Function"</a>.
+ </li>
+<li class="listitem">
+ Mathworld, <a href="http://mathworld.wolfram.com/LanczosApproximation.html" target="_top">The
+ Lanczos Approximation</a>.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="relative_error.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remez.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/lcm_function_object.html b/libs/math/doc/html/math_toolkit/lcm_function_object.html
new file mode 100644
index 0000000000..78e0a3ff6b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/lcm_function_object.html
@@ -0,0 +1,77 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>LCM Function Object</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="gcd_function_object.html" title="GCD Function Object">
+<link rel="next" href="run_time.html" title="Run-time GCD &amp; LCM Determination">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_function_object.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run_time.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.lcm_function_object"></a><a class="link" href="lcm_function_object.html" title="LCM Function Object">LCM Function Object</a>
+</h2></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <a href="../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm_evaluator</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// Types</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">first_argument_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">second_argument_type</span><span class="special">;</span>
+
+ <span class="comment">// Function object interface</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span> <span class="special">()(</span> <span class="identifier">first_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">second_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The boost::math::lcm_evaluator class template defines a function object class
+ to return the least common multiple of two integers. The template is parameterized
+ by a single type, called IntegerType here. This type should be a numeric type
+ that represents integers. The result of the function object is always nonnegative,
+ even if either of the operator arguments is negative. If the least common multiple
+ is beyond the range of the integer type, the results are undefined.
+ </p>
+<p>
+ This function object class template is used in the corresponding version of
+ the LCM function template. If a numeric type wants to customize evaluations
+ of its least common multiples, then the type should specialize on the lcm_evaluator
+ class template.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_function_object.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="run_time.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/macros.html b/libs/math/doc/html/math_toolkit/macros.html
new file mode 100644
index 0000000000..103db5621e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/macros.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Floating-Point Constant Macros</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="greatest_typdefs.html" title="Greatest-width floating-point typedef">
+<link rel="next" href="examples.html" title="Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greatest_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.macros"></a><a class="link" href="macros.html" title="Floating-Point Constant Macros">Floating-Point Constant Macros</a>
+</h2></div></div></div>
+<p>
+ All macros of the type <code class="computeroutput"><span class="identifier">BOOST_FLOAT16_C</span><span class="special">,</span> <span class="identifier">BOOST_FLOAT32_C</span><span class="special">,</span> <span class="identifier">BOOST_FLOAT64_C</span><span class="special">,</span> <span class="identifier">BOOST_FLOAT80_C</span><span class="special">,</span> <span class="identifier">BOOST_FLOAT128_C</span><span class="special">,</span> </code> and <code class="computeroutput"><span class="identifier">BOOST_FLOATMAX_C</span></code>
+ are always defined after inclusion of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ These allow floating-point <span class="bold"><strong>constants of at least the
+ specified width</strong></span> to be declared:
+ </p>
+<pre class="programlisting"><span class="comment">// Declare Archimedes' constant using float32_t with approximately 7 decimal digits of precision.</span>
+<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">float32_t</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="identifier">BOOST_FLOAT32_C</span><span class="special">(</span><span class="number">3.1415926536</span><span class="special">);</span>
+
+<span class="comment">// Declare the Euler-gamma constant with approximately 15 decimal digits of precision.</span>
+<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">float64_t</span> <span class="identifier">euler</span> <span class="special">=</span>
+ <span class="identifier">BOOST_FLOAT64_C</span><span class="special">(</span><span class="number">0.57721566490153286060651209008240243104216</span><span class="special">);</span>
+
+<span class="comment">// Declare the Golden Ratio constant with the maximum decimal digits of precision that the platform supports.</span>
+<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span> <span class="identifier">golden_ratio</span> <span class="special">=</span>
+ <span class="identifier">BOOST_FLOATMAX_C</span><span class="special">(</span><span class="number">1.61803398874989484820458683436563811772</span><span class="special">);</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Boost.Math provides many constants 'built-in', so always use Boost.Math constants
+ if available, for example:
+ </p></td></tr>
+</table></div>
+<pre class="programlisting"><span class="comment">// Display the constant pi to the maximum available precision.</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span> <span class="identifier">pi_max</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;();</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">floatmax_t</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Most precise pi = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pi_max</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// If floatmax_t is float_128_t, then </span>
+<span class="comment">// Most precise pi = 3.141592653589793238462643383279503</span>
+</pre>
+<p>
+ from <a href="../../../../example/cstdfloat_example.cpp" target="_top">cstdfloat_example.cpp</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="greatest_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/main_faq.html b/libs/math/doc/html/math_toolkit/main_faq.html
new file mode 100644
index 0000000000..2a3ac0e540
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/main_faq.html
@@ -0,0 +1,226 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Frequently Asked Questions FAQ</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="overview_tr1.html" title="C99 and C++ TR1 C-style Functions">
+<link rel="next" href="contact.html" title="Contact Info and Support">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview_tr1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="contact.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.main_faq"></a><a class="link" href="main_faq.html" title="Frequently Asked Questions FAQ">Frequently Asked Questions FAQ</a>
+</h2></div></div></div>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ <span class="emphasis"><em>I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user and I don't
+ see where the functions like dnorm(mean, sd) are in Boost.Math?</em></span>
+ <br> Nearly all are provided, and many more like mean, skewness, quantiles,
+ complements ... but Boost.Math makes full use of C++, and it looks a bit
+ different. But do not panic! See section on construction and the many examples.
+ Briefly, the distribution is constructed with the parameters (like location
+ and scale) (things after the | in representation like P(X=k|n, p) or ;
+ in a common represention of pdf f(x; &#956;&#963;<sup>2</sup>). Functions like pdf, cdf are called
+ with the name of that distribution and the random variate often called
+ x or k. For example, <code class="computeroutput"><span class="identifier">normal</span> <span class="identifier">my_norm</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">my_norm</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span></code>
+ <br>
+ </li>
+<li class="listitem">
+ I'm a user of <a href="http://support.sas.com/rnd/app/da/new/probabilityfunctions.html" target="_top">New
+ SAS Functions for Computing Probabilities</a>. <br> You will find
+ the interface more familar, but to be able to select a distribution (perhaps
+ using a string) see the Extras/Future Directions section, and /boost/libs/math/dot_net_example/boost_math.cpp
+ for an example that is used to create a C# (C sharp) utility (that you
+ might also find useful): see <a href="http://sourceforge.net/projects/distexplorer/" target="_top">Statistical
+ Distribution Explorer</a>.<br>
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I'm allegic to reading manuals and prefer to learn from examples.</em></span><br>
+ Fear not - you are not alone! Many examples are available for functions
+ and distributions. Some are referenced directly from the text. Others can
+ be found at \boost_latest_release\libs\math\example. If you are a Visual
+ Studio user, you should be able to create projects from each of these,
+ making sure that the Boost library is in the include directories list.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>How do I make sure that the Boost library is in the Visual Studio
+ include directories list?</em></span><br> You can add an include path,
+ for example, your Boost place /boost-latest_release, for example <code class="computeroutput"><span class="identifier">X</span><span class="special">:/</span><span class="identifier">boost_1_45_0</span><span class="special">/</span></code> if you have a separate partition X for
+ Boost releases. Or you can use an environment variable BOOST_ROOT set to
+ your Boost place, and include that. Visual Studio before 2010 provided
+ Tools, Options, VC++ Directories to control directories: Visual Studio
+ 2010 instead provides property sheets to assist. You may find it convenient
+ to create a new one adding \boost-latest_release; to the existing include
+ items in $(IncludePath).
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user and I don't
+ see where the properties like mean, median, mode, variance, skewness of
+ distributions are in Boost.Math?</em></span><br> They are all available
+ (if defined for the parameters with which you constructed the distribution)
+ via <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution
+ Function</a>, <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability
+ Density Function</a>, <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>,
+ <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>,
+ <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
+ <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
+ <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
+ <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
+ <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
+ <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="dist_ref/nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I am a C programmer. Can I user Boost.Math with C?</em></span><br>
+ Yes you can, including all the special functions, and TR1 functions like
+ isnan. They appear as C functions, by being declared as "extern C".
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I am a C# (Basic? F# FORTRAN? Other CLI?) programmer. Can I use
+ Boost.Math with C#? (or ...)?</em></span> <br> Yes you can, including
+ all the special functions, and TR1 functions like isnan. But you <span class="bold"><strong>must build the Boost.Math as a dynamic library (.dll) and compile
+ with the /CLI option</strong></span>. See the boost/math/dot_net_example folder
+ which contains an example that builds a simple statistical distribution
+ app with a GUI. See <a href="http://sourceforge.net/projects/distexplorer/" target="_top">Statistical
+ Distribution Explorer</a> <br>
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>What these "policies" things for?</em></span> <br>
+ Policies are a powerful (if necessarily complex) fine-grain mechanism that
+ allow you to customise the behaviour of the Boost.Math library according
+ to your precise needs. See <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a>. But
+ if, very probably, the default behaviour suits you, you don't need to know
+ more.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I am a C user and expect to see global C-style<code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> set for overflow/errors etc?</em></span>
+ <br> You can achieve what you want - see <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">error
+ handling policies</a> and <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user
+ error handling</a> and many examples.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I am a C user and expect to silently return a max value for overflow?</em></span>
+ <br> You (and C++ users too) can return whatever you want on overflow
+ - see <a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ and <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">error
+ handling policies</a> and several examples.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I don't want any error message for overflow etc?</em></span>
+ <br> You can control exactly what happens for all the abnormal conditions,
+ including the values returned. See <a class="link" href="error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>,
+ <a class="link" href="error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">error handling
+ policies</a> <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user
+ error handling</a> etc and examples.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>My environment doesn't allow and/or I don't want exceptions.
+ Can I still user Boost.Math?</em></span> <br> Yes but you must customise
+ the error handling: see <a class="link" href="pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user
+ error handling</a> and <a class="link" href="pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">changing
+ policies defaults</a> .
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>The docs are several hundreds of pages long! Can I read the docs
+ off-line or on paper?</em></span> <br> Yes - you can download the Boost
+ current release of most documentation as a zip of pdfs (including Boost.Math)
+ from Sourceforge, for example <a href="https://sourceforge.net/projects/boost/files/boost-docs/1.45.0/boost_pdf_1_45_0.tar.gz/download" target="_top">https://sourceforge.net/projects/boost/files/boost-docs/1.45.0/boost_pdf_1_45_0.tar.gz/download</a>.
+ And you can print any pages you need (or even print all pages - but be
+ warned that there are several hundred!). Both html and pdf versions are
+ highly hyperlinked. The entire Boost.Math pdf can be searched with Adobe
+ Reader, Edit, Find ... This can often find what you seek, a partial substitute
+ for a full index.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I want a compact version for an embedded application. Can I use
+ float precision?</em></span> <br> Yes - by selecting RealType template
+ parameter as float: for example normal_distribution&lt;float&gt; your_normal(mean,
+ sd); (But double may still be used internally, so space saving may be less
+ that you hope for). You can also change the promotion policy, but accuracy
+ might be much reduced.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I seem to get somewhat different results compared to other programs.
+ Why?</em></span> We hope Boost.Math to be more accurate: our priority is
+ accuracy (over speed). See the section on accuracy. But for evaluations
+ that require iterations there are parameters which can change the required
+ accuracy (see <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a>). You might be able
+ to squeeze a little more (or less) accuracy at the cost of runtime.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>Will my program run more slowly compared to other math functions
+ and statistical libraries?</em></span> Probably, thought not always, and
+ not by too much: our priority is accuracy. For most functions, making sure
+ you have the latest compiler version with all optimisations switched on
+ is the key to speed. For evaluations that require iteration, you may be
+ able to gain a little more speed at the expense of accuracy. See detailed
+ suggestions and results on <a class="link" href="../perf.html" title="Chapter&#160;15.&#160;Performance">performance</a>.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>How do I handle infinity and NaNs portably?</em></span> <br>
+ See <a class="link" href="fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">nonfinite fp_facets</a> for
+ Facets for Floating-Point Infinities and NaNs.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>Where are the pre-built libraries?</em></span> <br> Good news
+ - you probably don't need any! - just <code class="computeroutput"><span class="preprocessor">#include</span>
+ <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span></code><span class="emphasis"><em>math/distribution_you_want&gt;</em></span>.
+ But in the unlikely event that you do, see <a class="link" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">building
+ libraries</a>.
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I don't see the function or distribution that I want.</em></span>
+ <br> You could try an email to ask the authors - but no promises!
+ </li>
+<li class="listitem">
+ <span class="emphasis"><em>I need more decimal digits for values/computations.</em></span>
+ <br> You can use Boost.Math with <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>:
+ typically <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html" target="_top">cpp_dec_float</a>
+ is a useful user-defined type to provide a fixed number of decimal digits,
+ usually 50 or 100.
+ </li>
+<li class="listitem">
+ Why can't I write something really simple like <code class="computeroutput"><span class="identifier">cpp_int</span>
+ <span class="identifier">one</span><span class="special">(</span><span class="number">1</span><span class="special">);</span> <span class="identifier">cpp_dec_float_50</span>
+ <span class="identifier">two</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="identifier">one</span>
+ <span class="special">*</span> <span class="identifier">two</span><span class="special">;</span></code> Because <code class="computeroutput"><span class="identifier">cpp_int</span></code>
+ might be bigger than <code class="computeroutput"><span class="identifier">cpp_dec_float</span>
+ <span class="identifier">can</span> <span class="identifier">hold</span></code>,
+ so you must make an <span class="bold"><strong>explicit</strong></span> conversion.
+ See <a href="http://svn.boost.org/svn/boost/trunk/libs/multiprecision/doc/html/boost_multiprecision/intro.html" target="_top">mixed
+ multiprecision arithmetic</a> and <a href="http://svn.boost.org/svn/boost/trunk/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html" target="_top">conversion</a>.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview_tr1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="contact.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/main_intro.html b/libs/math/doc/html/math_toolkit/main_intro.html
new file mode 100644
index 0000000000..69e6ba3000
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/main_intro.html
@@ -0,0 +1,135 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>About the Math Toolkit</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="next" href="navigation.html" title="Navigation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="navigation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.main_intro"></a><a class="link" href="main_intro.html" title="About the Math Toolkit">About the Math Toolkit</a>
+</h2></div></div></div>
+<p>
+ This library is divided into three interconnected parts:
+ </p>
+<h5>
+<a name="math_toolkit.main_intro.h0"></a>
+ <span class="phrase"><a name="math_toolkit.main_intro.statistical_distributions"></a></span><a class="link" href="main_intro.html#math_toolkit.main_intro.statistical_distributions">Statistical
+ Distributions</a>
+ </h5>
+<p>
+ Provides a reasonably comprehensive set of <a class="link" href="../dist.html" title="Chapter&#160;5.&#160;Statistical Distributions and Functions">statistical
+ distributions</a>, upon which higher level statistical tests can be built.
+ </p>
+<p>
+ The initial focus is on the central <a href="http://en.wikipedia.org/wiki/Univariate" target="_top">univariate
+ </a> <a href="http://mathworld.wolfram.com/StatisticalDistribution.html" target="_top">distributions</a>.
+ Both <a href="http://mathworld.wolfram.com/ContinuousDistribution.html" target="_top">continuous</a>
+ (like <a class="link" href="dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">normal</a>
+ &amp; <a class="link" href="dist_ref/dists/f_dist.html" title="F Distribution">Fisher</a>) and
+ <a href="http://mathworld.wolfram.com/DiscreteDistribution.html" target="_top">discrete</a>
+ (like <a class="link" href="dist_ref/dists/binomial_dist.html" title="Binomial Distribution">binomial</a>
+ &amp; <a class="link" href="dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson</a>)
+ distributions are provided.
+ </p>
+<p>
+ A <a class="link" href="stat_tut.html" title="Statistical Distributions Tutorial">comprehensive tutorial is provided</a>,
+ along with a series of <a class="link" href="stat_tut/weg.html" title="Worked Examples">worked examples</a>
+ illustrating how the library is used to conduct statistical tests.
+ </p>
+<h5>
+<a name="math_toolkit.main_intro.h1"></a>
+ <span class="phrase"><a name="math_toolkit.main_intro.mathematical_special_functions"></a></span><a class="link" href="main_intro.html#math_toolkit.main_intro.mathematical_special_functions">Mathematical
+ Special Functions</a>
+ </h5>
+<p>
+ Provides a small number of high quality <a class="link" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">special functions</a>,
+ initially these were concentrated on functions used in statistical applications
+ along with those in the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
+ Report on C++ Library Extensions</a>.
+ </p>
+<p>
+ The function families currently implemented are the gamma, beta &amp; erf functions
+ along with the incomplete gamma and beta functions (four variants of each)
+ and all the possible inverses of these, plus digamma, various factorial functions,
+ Bessel functions, elliptic integrals, sinus cardinals (along with their hyperbolic
+ variants), inverse hyperbolic functions, Legrendre/Laguerre/Hermite polynomials
+ and various special power and logarithmic functions.
+ </p>
+<p>
+ All the implementations are fully generic and support the use of arbitrary
+ "real-number" types, including <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>,
+ although they are optimised for use with types with known-about <a href="http://en.wikipedia.org/wiki/Significand" target="_top">significand
+ (or mantissa)</a> sizes: typically <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> or <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.main_intro.h2"></a>
+ <span class="phrase"><a name="math_toolkit.main_intro.implementation_toolkit"></a></span><a class="link" href="main_intro.html#math_toolkit.main_intro.implementation_toolkit">Implementation
+ Toolkit</a>
+ </h5>
+<p>
+ Provides <a class="link" href="../toolkit.html" title="Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)">many of the tools</a> required to implement
+ mathematical special functions: hopefully the presence of these will encourage
+ other authors to contribute more special function implementations in the future.
+ These tools are currently considered experimental: they are "exposed implementation
+ details" whose interfaces and/or implementations may change.
+ </p>
+<p>
+ There are helpers for the <a class="link" href="internals1/series_evaluation.html" title="Series Evaluation">evaluation
+ of infinite series</a>, <a class="link" href="internals1/cf.html" title="Continued Fraction Evaluation">continued
+ fractions</a> and <a class="link" href="internals1/rational.html" title="Polynomial and Rational Function Evaluation">rational
+ approximations</a>.
+ </p>
+<p>
+ There is a fairly comprehensive set of root finding and <a class="link" href="internals1/minima.html" title="Locating Function Minima: Brent's algorithm">function
+ minimisation algorithms</a>: the root finding algorithms are both <a class="link" href="internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">with</a> and <a class="link" href="internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">without</a>
+ derivative support.
+ </p>
+<p>
+ A <a class="link" href="internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm">Remez algorithm implementation</a>
+ allows for the locating of minimax rational approximations.
+ </p>
+<p>
+ There are also (experimental) classes for the <a class="link" href="internals2/polynomials.html" title="Polynomials">manipulation
+ of polynomials</a>, for <a class="link" href="internals2/error_test.html" title="Relative Error and Testing">testing
+ a special function against tabulated test data</a>, and for the <a class="link" href="internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">rapid
+ generation of test data</a> and/or data for output to an external graphing
+ application.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="navigation.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/main_tr1.html b/libs/math/doc/html/math_toolkit/main_tr1.html
new file mode 100644
index 0000000000..3fe1afb835
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/main_tr1.html
@@ -0,0 +1,617 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>C99 and TR1 C Functions Overview</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../extern_c.html" title='Chapter&#160;7.&#160;TR1 and C99 external "C" Functions'>
+<link rel="prev" href="../extern_c.html" title='Chapter&#160;7.&#160;TR1 and C99 external "C" Functions'>
+<link rel="next" href="c99.html" title="C99 C Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../extern_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c99.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.main_tr1"></a><a class="link" href="main_tr1.html" title="C99 and TR1 C Functions Overview">C99 and TR1 C Functions Overview</a>
+</h2></div></div></div>
+<p>
+ Many of the special functions included in this library are also a part of the
+ either the <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
+ Standard ISO/IEC 9899:1999</a> or the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
+ Report on C++ Library Extensions</a>. Therefore this library includes a
+ thin wrapper header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span></code> that
+ provides compatibility with these two standards.
+ </p>
+<p>
+ There are various pros and cons to using the library in this way:
+ </p>
+<p>
+ Pros:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The header to include is lightweight (i.e. fast to compile).
+ </li>
+<li class="listitem">
+ The functions have extern "C" linkage, and so are usable from
+ other languages (not just C and C++).
+ </li>
+<li class="listitem">
+ C99 and C++ TR1 Standard compatibility.
+ </li>
+</ul></div>
+<p>
+ Cons:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ You will need to compile and link to the external Boost.Math libraries.
+ </li>
+<li class="listitem">
+ Limited to support for the types, <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ Error handling is handled via setting ::errno and returning NaN's and infinities:
+ this may be less flexible than an C++ exception based approach.
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The separate libraries are required <span class="bold"><strong>only</strong></span>
+ if you choose to use boost/math/tr1.hpp rather than some other Boost.Math
+ header, the rest of Boost.Math remains header-only.
+ </p></td></tr>
+</table></div>
+<p>
+ The separate libraries required in order to use tr1.hpp can be compiled using
+ bjam from within the libs/math/build directory, or from the Boost root directory
+ using the usual Boost-wide install procedure. Alternatively the source files
+ are located in libs/math/src and each have the same name as the function they
+ implement. The various libraries are named as follows:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Type
+ </p>
+ </th>
+<th>
+ <p>
+ Functions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ boost_math_c99f-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ float
+ </p>
+ </td>
+<td>
+ <p>
+ C99 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_c99-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ double
+ </p>
+ </td>
+<td>
+ <p>
+ C99 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_c99l-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ long double
+ </p>
+ </td>
+<td>
+ <p>
+ C99 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_tr1f-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ float
+ </p>
+ </td>
+<td>
+ <p>
+ TR1 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_tr1-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ double
+ </p>
+ </td>
+<td>
+ <p>
+ TR1 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_tr1l-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ long double
+ </p>
+ </td>
+<td>
+ <p>
+ TR1 Functions
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Where <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> encodes the compiler and build options
+ used to build the libraries: for example "libboost_math_tr1-vc80-mt-gd.lib"
+ would be the statically linked TR1 library to use with Visual C++ 8.0, in multithreading
+ debug mode, with the DLL VC++ runtime, where as "boost_math_tr1-vc80-mt.lib"
+ would be import library for the TR1 DLL to be used with Visual C++ 8.0 with
+ the release multithreaded DLL VC++ runtime. Refer to the getting started guide
+ for a <a href="http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming" target="_top">full
+ explanation of the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> meanings</a>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Visual C++ users will typically have the correct library variant to link
+ against selected for them by boost/math/tr1.hpp based on your compiler settings.
+ </p>
+<p>
+ Users will need to define BOOST_MATH_TR1_DYN_LINK when building their code
+ if they want to link against the DLL versions of these libraries rather than
+ the static versions.
+ </p>
+<p>
+ Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when building:
+ this is typically only used when linking against a customised build of the
+ libraries.
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Linux and Unix users will generally only have one variant of these libraries
+ installed, and can generally just link against -lboost_math_tr1 etc.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.main_tr1.h0"></a>
+ <span class="phrase"><a name="math_toolkit.main_tr1.usage_recomendations"></a></span><a class="link" href="main_tr1.html#math_toolkit.main_tr1.usage_recomendations">Usage
+ Recomendations</a>
+ </h5>
+<p>
+ This library now presents the user with a choice:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ To include the header only versions of the functions and have an easier
+ time linking, but a longer compile time.
+ </li>
+<li class="listitem">
+ To include the TR1 headers and link against an external library.
+ </li>
+</ul></div>
+<p>
+ Which option you choose depends largely on how you prefer to work and how your
+ system is set up.
+ </p>
+<p>
+ For example a casual user who just needs the acosh function, would probably
+ be better off including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> in their code.
+ </p>
+<p>
+ However, for large scale software development where compile times are significant,
+ and where the Boost libraries are already built and installed on the system,
+ then including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ will speed up compile times, reduce object files sizes (since there are no
+ templates being instantiated any more), and also speed up debugging runtimes
+ - since the externally compiled libraries can be compiler optimised, rather
+ than built using full settings - the difference in performance between <a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">release and debug builds can be as much
+ as 20 times</a>, so for complex applications this can be a big win.
+ </p>
+<h5>
+<a name="math_toolkit.main_tr1.h1"></a>
+ <span class="phrase"><a name="math_toolkit.main_tr1.supported_c99_functions"></a></span><a class="link" href="main_tr1.html#math_toolkit.main_tr1.supported_c99_functions">Supported
+ C99 Functions</a>
+ </h5>
+<p>
+ See also the <a class="link" href="c99.html" title="C99 C Functions">quick reference guide for these
+ functions</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
+
+<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.main_tr1.h2"></a>
+ <span class="phrase"><a name="math_toolkit.main_tr1.supported_tr1_functions"></a></span><a class="link" href="main_tr1.html#math_toolkit.main_tr1.supported_tr1_functions">Supported
+ TR1 Functions</a>
+ </h5>
+<p>
+ See also the <a class="link" href="main_tr1.html" title="C99 and TR1 C Functions Overview">quick reference guide for
+ these functions</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
+
+<span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.2] associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.3] beta function:</span>
+<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
+<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.15] exponential integral:</span>
+<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.16] Hermite polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.19] Legendre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.20] Riemann zeta function:</span>
+<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
+<span class="comment">// spherical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
+ versions of the above functions are provided, so that calling the function
+ with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
+ arguments is supported, with the return type determined by the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>.
+ </p>
+<h5>
+<a name="math_toolkit.main_tr1.h3"></a>
+ <span class="phrase"><a name="math_toolkit.main_tr1.currently_unsupported_c99_functi"></a></span><a class="link" href="main_tr1.html#math_toolkit.main_tr1.currently_unsupported_c99_functi">Currently
+ Unsupported C99 Functions</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">exp2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">exp2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">exp2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fdim</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fdimf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fdiml</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fmaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">z</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">ilogb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">ilogbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">ilogbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">log2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">log2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">logb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">logbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">logbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="identifier">lrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nan</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nanf</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nanl</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nearbyint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nearbyintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nearbyintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">remainder</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">remainderf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remainderl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">remquo</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">remquof</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remquol</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">rint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">rintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">rintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">scalbln</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">scalblnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalblnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">scalbn</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">scalbnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalbnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.main_tr1.h4"></a>
+ <span class="phrase"><a name="math_toolkit.main_tr1.currently_unsupported_tr1_functi"></a></span><a class="link" href="main_tr1.html#math_toolkit.main_tr1.currently_unsupported_tr1_functi">Currently
+ Unsupported TR1 Functions</a>
+ </h5>
+<pre class="programlisting"><span class="comment">// [5.2.1.7] confluent hypergeometric functions:</span>
+<span class="keyword">double</span> <span class="identifier">conf_hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">conf_hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">conf_hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.17] hypergeometric functions:</span>
+<span class="keyword">double</span> <span class="identifier">hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../extern_c.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c99.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/mem_typedef.html b/libs/math/doc/html/math_toolkit/mem_typedef.html
new file mode 100644
index 0000000000..877fe74952
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/mem_typedef.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Quaternion Member Typedefs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="spec.html" title="Quaternion Specializations">
+<link rel="next" href="quat_mem_fun.html" title="Quaternion Member Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="spec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_mem_fun.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.mem_typedef"></a><a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">Quaternion Member Typedefs</a>
+</h2></div></div></div>
+<p>
+ <span class="bold"><strong>value_type</strong></span>
+ </p>
+<p>
+ Template version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ Float specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">float</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ Double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ Long double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ These provide easy acces to the type the template is built upon.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="spec.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_mem_fun.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/minimum_typdefs.html b/libs/math/doc/html/math_toolkit/minimum_typdefs.html
new file mode 100644
index 0000000000..6b9140f8e2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/minimum_typdefs.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Minimum-width floating-point typedefs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="exact_typdefs.html" title="Exact-Width Floating-Point typedefs">
+<link rel="next" href="fastest_typdefs.html" title="Fastest floating-point typedefs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exact_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fastest_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.minimum_typdefs"></a><a class="link" href="minimum_typdefs.html" title="Minimum-width floating-point typedefs">Minimum-width floating-point
+ <code class="computeroutput"><span class="keyword">typedef</span></code>s</a>
+</h2></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="keyword">typedef</span> <span class="identifier">float_least</span><span class="special">#</span><span class="identifier">_t</span></code>, with
+ # replaced by the width, designates a floating-point type with a <span class="bold"><strong>width of at least # bits</strong></span>, such that no floating-point
+ type with lesser size has at least the specified width. Thus, <code class="computeroutput"><span class="identifier">float_least32_t</span></code> denotes the smallest floating-point
+ type with a width of at least 32 bits.
+ </p>
+<p>
+ Minimum-width floating-point types are provided for all existing exact-width
+ floating-point types on a given platform.
+ </p>
+<p>
+ For example, if a platform supports <code class="computeroutput"><span class="identifier">float32_t</span></code>
+ and <code class="computeroutput"><span class="identifier">float64_t</span></code>, then <code class="computeroutput"><span class="identifier">float_least32_t</span></code> and <code class="computeroutput"><span class="identifier">float_least64_t</span></code>
+ will also be supported, etc.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="exact_typdefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fastest_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/namespaces.html b/libs/math/doc/html/math_toolkit/namespaces.html
new file mode 100644
index 0000000000..5a7325357d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/namespaces.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Namespaces</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="directories.html" title="Directory and File Structure">
+<link rel="next" href="result_type.html" title="Calculation of the Type of the Result">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="directories.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.namespaces"></a><a class="link" href="namespaces.html" title="Namespaces">Namespaces</a>
+</h2></div></div></div>
+<p>
+ All math functions and distributions are in <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>
+ </p>
+<p>
+ So, for example, the Students-t distribution template in <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code> is
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">students_t_distribution</span>
+</pre>
+<p>
+ and can be instantiated with the help of the reserved name <code class="computeroutput"><span class="identifier">students_t</span></code>(for
+ <code class="computeroutput"><span class="identifier">RealType</span> <span class="keyword">double</span></code>)
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">students_t_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">students_t</span><span class="special">;</span>
+
+<span class="identifier">student_t</span> <span class="identifier">mydist</span><span class="special">(</span><span class="number">10</span><span class="special">);</span>
+</pre>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Some distribution names are also used in std random library, so to avoid
+ the risk of ambiguity it is better to make explicit using declarations, for
+ example: <code class="computeroutput"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t_distribution</span></code>
+ </p></td></tr>
+</table></div>
+<p>
+ Functions not intended for use by applications are in <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">detail</span></code>.
+ </p>
+<p>
+ Functions that may have more general use, like <code class="computeroutput"><span class="identifier">digits</span></code>
+ (significand), <code class="computeroutput"><span class="identifier">max_value</span></code>,
+ <code class="computeroutput"><span class="identifier">min_value</span></code> and <code class="computeroutput"><span class="identifier">epsilon</span></code> are in <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span></code>.
+ </p>
+<p>
+ <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> and configuration information is in namespace
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span></code>.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Many code snippets assume implicit namespace(s), for example, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code> or
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="directories.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/navigation.html b/libs/math/doc/html/math_toolkit/navigation.html
new file mode 100644
index 0000000000..d65ceabdbf
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/navigation.html
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Navigation</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="main_intro.html" title="About the Math Toolkit">
+<link rel="next" href="conventions.html" title="Document Conventions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="main_intro.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conventions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.navigation"></a><a class="link" href="navigation.html" title="Navigation">Navigation</a>
+</h2></div></div></div>
+<p>
+ <a class="indexterm" name="idm1567463232"></a>
+ </p>
+<p>
+ Boost.Math documentation is provided in both HTML and PDF formats.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <span class="bold"><strong>Tutorials</strong></span> are listed in the <span class="emphasis"><em>Table
+ of Contents</em></span> and include many examples that should help you get
+ started quickly.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Source code</strong></span> of the many <span class="emphasis"><em>Examples</em></span>
+ will often be your quickest starting point.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Index</strong></span> (general) includes all entries.
+ </li>
+<li class="listitem">
+ <span class="bold"><strong>Specific Indexes</strong></span> list only functions,
+ class signatures, macros and typedefs.
+ </li>
+</ul></div>
+<h6>
+<a name="math_toolkit.navigation.h0"></a>
+ <span class="phrase"><a name="math_toolkit.navigation.using_the_indexes"></a></span><a class="link" href="navigation.html#math_toolkit.navigation.using_the_indexes">Using
+ the Indexes</a>
+ </h6>
+<p>
+ The main index will usually help, especially if you know a word describing
+ what it does, without needing to know the exact name chosen for the function.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ When using the index, keep in mind that clicking on an index term only takes
+ you to the <span class="bold"><strong>section</strong></span> containing the index
+ entry. This section may be several pages long, so you may need to use the
+ <span class="bold"><strong>find</strong></span> facility of your browser or PDF reader
+ to get to the index term itself.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ A PDF reader usually allows a <span class="bold"><strong>global</strong></span> find;
+ this can be really useful if the term you expect to be indexed is not the
+ one chosen by the authors. You might find searching the PDF version and viewing
+ the HTML version will locate an elusive item.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="main_intro.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conventions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/new_const.html b/libs/math/doc/html/math_toolkit/new_const.html
new file mode 100644
index 0000000000..db0f9490c6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/new_const.html
@@ -0,0 +1,266 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Defining New Constants</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants">
+<link rel="prev" href="constants.html" title="The Mathematical Constants">
+<link rel="next" href="constants_faq.html" title="FAQs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constants.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="constants_faq.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.new_const"></a><a class="link" href="new_const.html" title="Defining New Constants">Defining New Constants</a>
+</h2></div></div></div>
+<p>
+ The library provides some helper code to assist in defining new constants;
+ the process for defining a constant called <code class="computeroutput"><span class="identifier">my_constant</span></code>
+ goes like this:
+ </p>
+<p>
+ 1. <span class="bold"><strong>Define a function that calculates the value of the
+ constant</strong></span>. This should be a template function, and be placed in
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">calculate_constants</span><span class="special">.</span><span class="identifier">hpp</span></code> if the
+ constant is to be added to this library, or else defined at the top of your
+ source file if not.
+ </p>
+<p>
+ The function should look like this:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">&gt;</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">Real</span> <span class="identifier">constant_my_constant</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;::</span><span class="identifier">compute</span><span class="special">(</span><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;))</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">required_precision</span> <span class="special">=</span> <span class="identifier">N</span> <span class="special">?</span> <span class="identifier">N</span> <span class="special">:</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;();</span>
+ <span class="identifier">Real</span> <span class="identifier">result</span> <span class="special">=</span> <span class="comment">/* value computed to required_precision bits */</span> <span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Then define a placeholder for the constant itself:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span>
+
+<span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">my_constant</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span> <span class="string">"0"</span><span class="special">);</span>
+
+<span class="special">}}}</span>
+</pre>
+<p>
+ For example, to calculate &#960;/2, add to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">calculate_constants</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">constant_half_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">compute</span><span class="special">(</span><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;))</span>
+<span class="special">{</span>
+ <span class="identifier">BOOST_MATH_STD_USING</span>
+ <span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;()</span> <span class="special">/</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Then to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> add:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">half_pi</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span> <span class="string">"0"</span><span class="special">);</span> <span class="comment">// Actual values are temporary, we'll replace them later.</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Previously defined constants like pi and e can be used, but by <span class="bold"><strong>not simply calling</strong></span> <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>;
+ specifying the precision via the policy <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span>
+ <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;()</span></code>
+ is essential to ensure full accuracy.
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Newly defined constants can only be used once they are included in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code>. So
+ if you add <code class="computeroutput"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">constant_my_constant</span><span class="special">{...}</span></code>,
+ then you cannot define <code class="computeroutput"><span class="identifier">constant_my_constant</span></code>
+ until you add the temporary <code class="computeroutput"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">my_constant</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span>
+ <span class="string">"0"</span><span class="special">)</span></code>.
+ Failing to do this will result in surprising compile errors:
+ </p>
+<pre class="programlisting"><span class="identifier">error</span> <span class="identifier">C2143</span><span class="special">:</span> <span class="identifier">syntax</span> <span class="identifier">error</span> <span class="special">:</span> <span class="identifier">missing</span> <span class="char">';'</span> <span class="identifier">before</span> <span class="char">'&lt;'</span>
+<span class="identifier">error</span> <span class="identifier">C2433</span><span class="special">:</span> <span class="char">'constant_root_two_div_pi'</span> <span class="special">:</span> <span class="char">'inline'</span> <span class="keyword">not</span> <span class="identifier">permitted</span> <span class="identifier">on</span> <span class="identifier">data</span> <span class="identifier">declarations</span>
+<span class="identifier">error</span> <span class="identifier">C2888</span><span class="special">:</span> <span class="char">'T constant_root_two_div_pi'</span> <span class="special">:</span> <span class="identifier">symbol</span> <span class="identifier">cannot</span> <span class="identifier">be</span> <span class="identifier">defined</span> <span class="identifier">within</span> <span class="keyword">namespace</span> <span class="char">'detail'</span>
+<span class="identifier">error</span> <span class="identifier">C2988</span><span class="special">:</span> <span class="identifier">unrecognizable</span> <span class="keyword">template</span> <span class="identifier">declaration</span><span class="special">/</span><span class="identifier">definition</span>
+</pre>
+</td></tr>
+</table></div>
+<p>
+ 2. <span class="bold"><strong>You will need an arbitrary precision type to use to
+ calculate the value</strong></span>. This library currently supports either <code class="computeroutput"><span class="identifier">cpp_float</span></code>, <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> or
+ <code class="computeroutput"><span class="identifier">mpfr_class</span></code> used via the bindings
+ in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span></code>.
+ The default is to use <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> unless you define an alternate macro,
+ for example, <code class="computeroutput"><span class="identifier">USE_MPFR</span></code> or <code class="computeroutput"><span class="identifier">USE_CPP_FLOAT</span></code> at the start of your program.
+ </p>
+<p>
+ 3. It is necessary to link to the Boost.Regex library, and probably to your
+ chosen arbitrary precision type library.
+ </p>
+<p>
+ 4. You need to add <code class="computeroutput"><span class="identifier">libs</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">include_private</span></code>
+ to your compiler's include path as the needed header is not installed in the
+ usual places by default (this avoids a cyclic dependency between the Math and
+ Multiprecision library's headers).
+ </p>
+<p>
+ 5. The complete program to generate the constant <code class="computeroutput"><span class="identifier">half_pi</span></code>
+ using function <code class="computeroutput"><span class="identifier">calculate_half_pi</span></code>
+ is then:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">USE_CPP_FLOAT</span> <span class="comment">// If required.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">generate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">BOOST_CONSTANTS_GENERATE</span><span class="special">(</span><span class="identifier">half_pi</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The output from the program is a snippet of C++ code (actually a macro call)
+ that can be cut and pasted into <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> or else into your own code, for example:
+ </p>
+<pre class="programlisting"> BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00");
+</pre>
+<p>
+ This macro BOOST_DEFINE_MATH_CONSTANT inserts a C++ struct code snippet that
+ declares the <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> versions of the constant, plus
+ a decimal digit string representation correct to 100 decimal digits, and all
+ the meta-programming machinery needed to select between them.
+ </p>
+<p>
+ The result of an expanded macro for Pi is shown below.
+ </p>
+<pre class="programlisting"><span class="comment">// Preprocessed pi constant, annotated.</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span>
+<span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">math</span>
+ <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">constants</span>
+ <span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">detail</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">constant_pi</span>
+ <span class="special">{</span>
+ <span class="keyword">private</span><span class="special">:</span>
+ <span class="comment">// Default implementations from string of decimal digits:</span>
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get_from_string</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">result</span>
+ <span class="special">=</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">convert_from_string</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="string">"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00"</span><span class="special">,</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="identifier">T</span><span class="special">&gt;());</span>
+ <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="keyword">static</span> <span class="identifier">T</span> <span class="identifier">compute</span><span class="special">();</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// Default implementations from string of decimal digits:</span>
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_string</span><span class="special">&gt;&amp;)</span>
+ <span class="special">{</span>
+ <span class="identifier">constant_initializer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="special">&amp;</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">get_from_string</span> <span class="special">&gt;::</span><span class="identifier">do_nothing</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="identifier">get_from_string</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="comment">// Float, double and long double versions:</span>
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_float</span><span class="special">&gt;)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00F</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_double</span><span class="special">&gt;&amp;)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_long_double</span><span class="special">&gt;&amp;)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00L</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="comment">// For very high precision that is nonetheless can be calculated at compile time:</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">n</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">constant_initializer2</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">,</span> <span class="special">&amp;</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="keyword">template</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">do_nothing</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;();</span>
+ <span class="special">}</span>
+ <span class="comment">//For true arbitrary precision, which may well vary at runtime.</span>
+ <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;&amp;)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span> <span class="special">&gt;</span> <span class="identifier">max_string_digits</span> <span class="special">?</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;()</span> <span class="special">:</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_string</span><span class="special">&gt;());</span>
+ <span class="special">}</span>
+ <span class="special">};</span> <span class="comment">// template &lt;class T&gt; struct constant_pi</span>
+ <span class="special">}</span> <span class="comment">// namespace detail</span>
+
+ <span class="comment">// The actual forwarding function (including policy to control precision).</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">pi</span><span class="special">(</span> <span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">get</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">construction_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">());</span>
+ <span class="special">}</span>
+ <span class="comment">// The actual forwarding function (using default policy to control precision).</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">pi</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;()</span>
+ <span class="special">}</span>
+ <span class="special">}</span> <span class="comment">// namespace constants</span>
+
+ <span class="comment">// Namespace specific versions, for the three built-in floats:</span>
+ <span class="keyword">namespace</span> <span class="identifier">float_constants</span>
+ <span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">float</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00F</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">namespace</span> <span class="identifier">double_constants</span>
+ <span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">namespace</span> <span class="identifier">long_double_constants</span>
+ <span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00L</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{;</span>
+ <span class="special">}</span> <span class="comment">// namespace constants</span>
+ <span class="special">}</span> <span class="comment">// namespace math</span>
+<span class="special">}</span> <span class="comment">// namespace boost</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constants.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="constants_faq.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/next_float.html b/libs/math/doc/html/math_toolkit/next_float.html
new file mode 100644
index 0000000000..bd06fa0da3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/next_float.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
+<link rel="prev" href="fp_facets/rationale.html" title="Design Rationale">
+<link rel="next" href="next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fp_facets/rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_float/nextafter.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.next_float"></a><a class="link" href="next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">Floating-Point Representation
+ Distance (ULP), and Finding Adjacent Floating-Point Values</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="next_float/nextafter.html">Finding the Next Representable
+ Value in a Specific Direction (nextafter)</a></span></dt>
+<dt><span class="section"><a href="next_float/float_next.html">Finding the Next
+ Greater Representable Value (float_next)</a></span></dt>
+<dt><span class="section"><a href="next_float/float_prior.html">Finding the Next
+ Smaller Representable Value (float_prior)</a></span></dt>
+<dt><span class="section"><a href="next_float/float_distance.html">Calculating the
+ Representation Distance Between Two Floating Point Values (ULP) float_distance</a></span></dt>
+<dt><span class="section"><a href="next_float/float_advance.html">Advancing a Floating
+ Point Value by a Specific Representation Distance (ULP) float_advance</a></span></dt>
+</dl></div>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Unit_in_the_last_place" target="_top">Unit of Least
+ Precision or Unit in the Last Place</a> is the gap between two different,
+ but as close as possible, floating-point numbers.
+ </p>
+<p>
+ Most decimal values, for example 0.1, cannot be exactly represented as floating-point
+ values, but will be stored as the <a href="http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding" target="_top">closest
+ representable floating-point</a>.
+ </p>
+<p>
+ Functions are provided for finding adjacent greater and lesser floating-point
+ values, and estimating the number of gaps between any two floating-point values.
+ </p>
+<p>
+ The floating-point type FPT must have has a fixed number of bits in the representation.
+ The number of bits may set at runtime, but must be the same for all numbers.
+ For example, <a href="http://shoup.net/ntl/doc/quad_float.txt" target="_top">NTL::quad_float</a>
+ type (fixed 128-bit representation) or <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
+ type (arbitrary but fixed decimal digits, default 150) but <span class="bold"><strong>not</strong></span>
+ a type that extends the representation to provide an exact representation for
+ any number, for example <a href="http://keithbriggs.info/xrc.html" target="_top">XRC eXact
+ Real in C</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fp_facets/rationale.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_float/nextafter.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/next_float/float_advance.html b/libs/math/doc/html/math_toolkit/next_float/float_advance.html
new file mode 100644
index 0000000000..2c7b55cdf9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/next_float/float_advance.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
+<link rel="prev" href="float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance">
+<link rel="next" href="../../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float_distance.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../cstdfloat.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.next_float.float_advance"></a><a class="link" href="float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance">Advancing a Floating
+ Point Value by a Specific Representation Distance (ULP) float_advance</a>
+</h3></div></div></div>
+<p>
+ Function float_advance advances a floating point number by a specified number
+ of ULP.
+ </p>
+<h5>
+<a name="math_toolkit.next_float.float_advance.h0"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_advance.synopsis"></a></span><a class="link" href="float_advance.html#math_toolkit.next_float.float_advance.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
+<span class="identifier">FPT</span> <span class="identifier">float_advance</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">distance</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.next_float.float_advance.h1"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_advance.description_float_advance"></a></span><a class="link" href="float_advance.html#math_toolkit.next_float.float_advance.description_float_advance">Description
+ - float_advance</a>
+ </h5>
+<p>
+ Returns a floating point number <span class="emphasis"><em>r</em></span> such that <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="identifier">r</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">distance</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float_distance.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../cstdfloat.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/next_float/float_distance.html b/libs/math/doc/html/math_toolkit/next_float/float_distance.html
new file mode 100644
index 0000000000..f8d5333491
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/next_float/float_distance.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
+<link rel="prev" href="float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)">
+<link rel="next" href="float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float_prior.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_advance.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.next_float.float_distance"></a><a class="link" href="float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance">Calculating the
+ Representation Distance Between Two Floating Point Values (ULP) float_distance</a>
+</h3></div></div></div>
+<p>
+ Function float_distance finds the number of gaps/bits/ULP between any two
+ floating-point values. If the significands of floating-point numbers are
+ viewed as integers, then their difference is the number of ULP/gaps/bits
+ different.
+ </p>
+<h5>
+<a name="math_toolkit.next_float.float_distance.h0"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_distance.synopsis"></a></span><a class="link" href="float_distance.html#math_toolkit.next_float.float_distance.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
+<span class="identifier">FPT</span> <span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">FPT</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.next_float.float_distance.h1"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_distance.description_float_distance"></a></span><a class="link" href="float_distance.html#math_toolkit.next_float.float_distance.description_float_distance">Description
+ - float_distance</a>
+ </h5>
+<p>
+ Returns the distance between <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>:
+ the result is always a signed integer value (stored in floating-point type
+ FPT) representing the number of distinct representations between <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span>.
+ </p>
+<p>
+ Note that
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
+ always returns 0.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">float_next</span><span class="special">(</span><span class="identifier">a</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
+ always returns -1.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">float_prior</span><span class="special">(</span><span class="identifier">a</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
+ always returns 1.
+ </li>
+</ul></div>
+<p>
+ The function <code class="computeroutput"><span class="identifier">float_distance</span></code>
+ is equivalent to calculating the number of ULP (Units in the Last Place)
+ between <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> except that it
+ returns a signed value indicating whether <code class="computeroutput"><span class="identifier">a</span>
+ <span class="special">&gt;</span> <span class="identifier">b</span></code>
+ or not.
+ </p>
+<p>
+ If the distance is too great then it may not be able to be represented as
+ an exact integer by type FPT, but in practice this is unlikely to be a issue.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float_prior.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_advance.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/next_float/float_next.html b/libs/math/doc/html/math_toolkit/next_float/float_next.html
new file mode 100644
index 0000000000..09ffbb0f52
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/next_float/float_next.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Finding the Next Greater Representable Value (float_next)</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
+<link rel="prev" href="nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)">
+<link rel="next" href="float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nextafter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_prior.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.next_float.float_next"></a><a class="link" href="float_next.html" title="Finding the Next Greater Representable Value (float_next)">Finding the Next
+ Greater Representable Value (float_next)</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.next_float.float_next.h0"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_next.synopsis"></a></span><a class="link" href="float_next.html#math_toolkit.next_float.float_next.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
+<span class="identifier">FPT</span> <span class="identifier">float_next</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.next_float.float_next.h1"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_next.description_float_next"></a></span><a class="link" href="float_next.html#math_toolkit.next_float.float_next.description_float_next">Description
+ - float_next</a>
+ </h5>
+<p>
+ Returns the next representable value which is greater than <span class="emphasis"><em>x</em></span>.
+ If <span class="emphasis"><em>x</em></span> is non-finite then returns the result of a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>. If
+ there is no such value greater than <span class="emphasis"><em>x</em></span> then returns an
+ <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>.
+ </p>
+<p>
+ Has the same effect as
+ </p>
+<pre class="programlisting"><span class="identifier">nextafter</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">)());</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nextafter.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_prior.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/next_float/float_prior.html b/libs/math/doc/html/math_toolkit/next_float/float_prior.html
new file mode 100644
index 0000000000..f93b00430a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/next_float/float_prior.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Finding the Next Smaller Representable Value (float_prior)</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
+<link rel="prev" href="float_next.html" title="Finding the Next Greater Representable Value (float_next)">
+<link rel="next" href="float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float_next.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_distance.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.next_float.float_prior"></a><a class="link" href="float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)">Finding the Next
+ Smaller Representable Value (float_prior)</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.next_float.float_prior.h0"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_prior.synopsis"></a></span><a class="link" href="float_prior.html#math_toolkit.next_float.float_prior.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
+<span class="identifier">FPT</span> <span class="identifier">float_prior</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.next_float.float_prior.h1"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.float_prior.description_float_prior"></a></span><a class="link" href="float_prior.html#math_toolkit.next_float.float_prior.description_float_prior">Description
+ - float_prior</a>
+ </h5>
+<p>
+ Returns the next representable value which is less than <span class="emphasis"><em>x</em></span>.
+ If <span class="emphasis"><em>x</em></span> is non-finite then returns the result of a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>. If
+ there is no such value less than <span class="emphasis"><em>x</em></span> then returns an
+ <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>.
+ </p>
+<p>
+ Has the same effect as
+ </p>
+<pre class="programlisting"><span class="identifier">nextafter</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="special">-(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">)());</span> <span class="comment">// Note most negative value -max.</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="float_next.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_distance.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/next_float/nextafter.html b/libs/math/doc/html/math_toolkit/next_float/nextafter.html
new file mode 100644
index 0000000000..02dec32b1f
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/next_float/nextafter.html
@@ -0,0 +1,127 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Finding the Next Representable Value in a Specific Direction (nextafter)</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
+<link rel="prev" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
+<link rel="next" href="float_next.html" title="Finding the Next Greater Representable Value (float_next)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../next_float.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_next.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.next_float.nextafter"></a><a class="link" href="nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)">Finding the Next Representable
+ Value in a Specific Direction (nextafter)</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.next_float.nextafter.h0"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.nextafter.synopsis"></a></span><a class="link" href="nextafter.html#math_toolkit.next_float.nextafter.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
+<span class="identifier">FPT</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">FPT</span> <span class="identifier">direction</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.next_float.nextafter.h1"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.nextafter.description_nextafter"></a></span><a class="link" href="nextafter.html#math_toolkit.next_float.nextafter.description_nextafter">Description
+ - nextafter</a>
+ </h5>
+<p>
+ This is an implementation of the <code class="computeroutput"><span class="identifier">nextafter</span></code>
+ function included in the C99 standard. (It is also effectively an implementation
+ of the C99 'nexttoward' legacy function which differs only having a long
+ double direction, and can generally serve in its place if required).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The C99 functions must use suffixes f and l to distinguish float and long
+ double versions. C++ uses the template mechanism instead.
+ </p></td></tr>
+</table></div>
+<p>
+ Returns the next representable value after <span class="emphasis"><em>x</em></span> in the
+ direction of <span class="emphasis"><em>y</em></span>. If <code class="computeroutput"><span class="identifier">x</span>
+ <span class="special">==</span> <span class="identifier">y</span></code>
+ then returns <span class="emphasis"><em>x</em></span>. If <span class="emphasis"><em>x</em></span> is non-finite
+ then returns the result of a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ If there is no such value in the direction of <span class="emphasis"><em>y</em></span> then
+ returns an <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>.
+ </p>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The template parameter FTP must be a floating-point type. An integer type,
+ for example, will produce an unhelpful error message.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Nearly always, you just want the next or prior representable value, so
+ instead use <code class="computeroutput"><span class="identifier">float_next</span></code>
+ or <code class="computeroutput"><span class="identifier">float_prior</span></code> below.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.next_float.nextafter.h2"></a>
+ <span class="phrase"><a name="math_toolkit.next_float.nextafter.examples_nextafter"></a></span><a class="link" href="nextafter.html#math_toolkit.next_float.nextafter.examples_nextafter">Examples -
+ nextafter</a>
+ </h5>
+<p>
+ The two representations using a 32-bit float either side of unity are:
+ </p>
+<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">nearest</span> <span class="special">(</span><span class="identifier">exact</span><span class="special">)</span> <span class="identifier">representation</span> <span class="identifier">of</span> <span class="number">1.F</span> <span class="identifier">is</span> <span class="number">1.00000000</span>
+<span class="identifier">nextafter</span><span class="special">(</span><span class="number">1.F</span><span class="special">,</span> <span class="number">999</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">1.00000012</span>
+<span class="identifier">nextafter</span><span class="special">(</span><span class="number">1</span><span class="special">/</span><span class="identifier">f</span><span class="special">,</span> <span class="special">-</span><span class="number">999</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">0.99999994</span>
+
+<span class="identifier">The</span> <span class="identifier">nearest</span> <span class="special">(</span><span class="keyword">not</span> <span class="identifier">exact</span><span class="special">)</span> <span class="identifier">representation</span> <span class="identifier">of</span> <span class="number">0.1F</span> <span class="identifier">is</span> <span class="number">0.100000001</span>
+<span class="identifier">nextafter</span><span class="special">(</span><span class="number">0.1F</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">0.100000009</span>
+<span class="identifier">nextafter</span><span class="special">(</span><span class="number">0.1F</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">0.099999994</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../next_float.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_next.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/number_series.html b/libs/math/doc/html/math_toolkit/number_series.html
new file mode 100644
index 0000000000..5bc8b535d4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/number_series.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Number Series</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="next" href="number_series/bernoulli_numbers.html" title="Bernoulli Numbers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../special.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="number_series/bernoulli_numbers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.number_series"></a><a class="link" href="number_series.html" title="Number Series">Number Series</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="number_series/bernoulli_numbers.html">Bernoulli
+ Numbers</a></span></dt>
+<dt><span class="section"><a href="number_series/tangent_numbers.html">Tangent Numbers</a></span></dt>
+<dt><span class="section"><a href="number_series/primes.html">Prime Numbers</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../special.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="number_series/bernoulli_numbers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/number_series/bernoulli_numbers.html b/libs/math/doc/html/math_toolkit/number_series/bernoulli_numbers.html
new file mode 100644
index 0000000000..2e909502f7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/number_series/bernoulli_numbers.html
@@ -0,0 +1,373 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bernoulli Numbers</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../number_series.html" title="Number Series">
+<link rel="prev" href="../number_series.html" title="Number Series">
+<link rel="next" href="tangent_numbers.html" title="Tangent Numbers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../number_series.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../number_series.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tangent_numbers.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.number_series.bernoulli_numbers"></a><a class="link" href="bernoulli_numbers.html" title="Bernoulli Numbers">Bernoulli
+ Numbers</a>
+</h3></div></div></div>
+<p>
+ <a href="https://en.wikipedia.org/wiki/Bernoulli_number" target="_top">Bernoulli numbers</a>
+ are a sequence of rational numbers useful for the Taylor series expansion,
+ Euler-Maclaurin formula, and the Riemann zeta function.
+ </p>
+<p>
+ Bernoulli numbers are used in evaluation of some Boost.Math functions, including
+ the <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a>, <a class="link" href="../sf_gamma/lgamma.html" title="Log Gamma">lgamma</a>
+ and polygamma functions.
+ </p>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h0"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.single_bernoulli_number"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.single_bernoulli_number">Single
+ Bernoulli number</a>
+ </h5>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h1"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.synopsis"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bernoulli</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">bernoulli_b2n</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span> <span class="comment">// Single Bernoulli number (default policy).</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">bernoulli_b2n</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span> <span class="special">&amp;</span><span class="identifier">pol</span><span class="special">);</span> <span class="comment">// User policy for errors etc.</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h2"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.description"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.description">Description</a>
+ </h5>
+<p>
+ Both return the (2 * n)<sup>th</sup> Bernoulli number B<sub>2n</sub>.
+ </p>
+<p>
+ Note that since all odd numbered Bernoulli numbers are zero (apart from B<sub>1</sub> which
+ is -&#189;) the interface will only return the even numbered Bernoulli numbers.
+ </p>
+<p>
+ This function uses fast table lookup for low-indexed Bernoulli numbers, while
+ larger values are calculated as needed and then cached. The caching mechanism
+ requires a certain amount of thread safety code, so <code class="computeroutput"><span class="identifier">unchecked_bernoulli_b2n</span></code>
+ may provide a better interface for performance critical code.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use, etc.
+ </p>
+<p>
+ Refer to <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a> for more details.
+ </p>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h3"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.examples"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.examples">Examples</a>
+ </h5>
+<p>
+ A simple example computes the value of B<sub>4</sub> where the return type is <code class="computeroutput"><span class="keyword">double</span></code>, note that the argument to bernoulli_b2n
+ is <span class="emphasis"><em>2</em></span> not <span class="emphasis"><em>4</em></span> since it computes B<sub>2N</sub>.
+ </p>
+<pre class="programlisting"><span class="keyword">try</span>
+<span class="special">{</span> <span class="comment">// It is always wise to use try'n'catch blocks around Boost.Math functions</span>
+ <span class="comment">// so that any informative error messages can be displayed in the catch block.</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ So B<sub>4</sub> == -1/30 == -0.0333333333333333
+ </p>
+<p>
+ If we use Boost.Multiprecision and its 50 decimal digit floating-point type
+ <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>, we can
+ calculate the value of much larger numbers like B<sub>200</sub>
+and also obtain much
+ higher precision.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;(</span><span class="number">100</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting"><span class="special">-</span><span class="number">3.6470772645191354362138308865549944904868234686191e+215</span>
+</pre>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h4"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.single_unchecked_bernoulli_numbe"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.single_unchecked_bernoulli_numbe">Single
+ (unchecked) Bernoulli number</a>
+ </h5>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h5"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.synopsis0"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.synopsis0">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bernoulli</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;;</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">unchecked_bernoulli_b2n</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">unchecked_bernoulli_b2n</span></code> provides
+ access to Bernoulli numbers <span class="bold"><strong>without any checks for
+ overflow or invalid parameters</strong></span>. It is implemented as a direct
+ (and very fast) table lookup, and while not recomended for general use it
+ can be useful inside inner loops where the ultimate performance is required,
+ and error checking is moved outside the loop.
+ </p>
+<p>
+ The largest value you can pass to <code class="computeroutput"><span class="identifier">unchecked_bernoulli_b2n</span><span class="special">&lt;&gt;</span></code> is <code class="computeroutput"><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;&gt;::</span><span class="identifier">value</span></code>:
+ passing values greater than that will result in a buffer overrun error, so
+ it's clearly important to place the error handling in your own code when
+ using this direct interface.
+ </p>
+<p>
+ The value of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code> varies by the type T, for types
+ <code class="computeroutput"><span class="keyword">float</span></code>/<code class="computeroutput"><span class="keyword">double</span></code>/<code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ it's the largest value which doesn't overflow the target type: for example,
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is 129. However, for multiprecision
+ types, it's the largest value for which the result can be represented as
+ the ratio of two 64-bit integers, for example <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
+ is just 17. Of course larger indexes can be passed to <code class="computeroutput"><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">n</span><span class="special">)</span></code>, but
+ then then you loose fast table lookup (i.e. values may need to be calculated).
+ </p>
+<pre class="programlisting"><span class="comment">/*For example:
+*/</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::max_bernoulli_b2n&lt;float&gt;::value = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Maximum Bernoulli number using float is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"boost::math::max_bernoulli_b2n&lt;double&gt;::value = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Maximum Bernoulli number using double is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">32</span>
+<span class="identifier">Maximum</span> <span class="identifier">Bernoulli</span> <span class="identifier">number</span> <span class="keyword">using</span> <span class="keyword">float</span> <span class="identifier">is</span> <span class="special">-</span><span class="number">2.0938e+038</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">129</span>
+<span class="identifier">Maximum</span> <span class="identifier">Bernoulli</span> <span class="identifier">number</span> <span class="keyword">using</span> <span class="keyword">double</span> <span class="identifier">is</span> <span class="number">1.33528e+306</span>
+</pre>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h6"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.multiple_bernoulli_numbers"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.multiple_bernoulli_numbers">Multiple
+ Bernoulli Numbers</a>
+ </h5>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h7"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.synopsis1"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.synopsis1">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">bernoulli</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="comment">// Multiple Bernoulli numbers (default policy).</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">bernoulli_b2n</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="identifier">number_of_bernoullis_b2n</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span>
+
+<span class="comment">// Multiple Bernoulli numbers (user policy).</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">bernoulli_b2n</span><span class="special">(</span>
+ <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="identifier">number_of_bernoullis_b2n</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h8"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.description0"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.description0">Description</a>
+ </h5>
+<p>
+ Two versions of the Bernoulli number function are provided to compute multiple
+ Bernoulli numbers with one call (one with default policy and the other allowing
+ a user-defined policy).
+ </p>
+<p>
+ These return a series of Bernoulli numbers:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ B<sub>2*start_index</sub>,B<sub>2*(start_index+1)</sub>,...,B<sub>2*(start_index+number_of_bernoullis_b2n-1)</sub>
+ </p></blockquote></div>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h9"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.examples0"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.examples0">Examples</a>
+ </h5>
+<p>
+ We can compute and save all the float-precision Bernoulli numbers from one
+ call.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">bn</span><span class="special">;</span> <span class="comment">// Space for 32-bit `float` precision Bernoulli numbers.</span>
+
+<span class="comment">// Start with Bernoulli number 0.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">,</span> <span class="number">32</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_inserter</span><span class="special">(</span><span class="identifier">bn</span><span class="special">));</span> <span class="comment">// Fill vector with even Bernoulli numbers.</span>
+
+<span class="keyword">for</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">bn</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span> <span class="comment">// Show vector of even Bernoulli numbers, showing all significant decimal digits.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">*</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">bn</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<pre class="programlisting"><span class="number">0</span> <span class="number">1</span>
+<span class="number">2</span> <span class="number">0.166667</span>
+<span class="number">4</span> <span class="special">-</span><span class="number">0.0333333</span>
+<span class="number">6</span> <span class="number">0.0238095</span>
+<span class="number">8</span> <span class="special">-</span><span class="number">0.0333333</span>
+<span class="number">10</span> <span class="number">0.0757576</span>
+<span class="number">12</span> <span class="special">-</span><span class="number">0.253114</span>
+<span class="number">14</span> <span class="number">1.16667</span>
+<span class="number">16</span> <span class="special">-</span><span class="number">7.09216</span>
+<span class="number">18</span> <span class="number">54.9712</span>
+<span class="number">20</span> <span class="special">-</span><span class="number">529.124</span>
+<span class="number">22</span> <span class="number">6192.12</span>
+<span class="number">24</span> <span class="special">-</span><span class="number">86580.3</span>
+<span class="number">26</span> <span class="number">1.42552e+006</span>
+<span class="number">28</span> <span class="special">-</span><span class="number">2.72982e+007</span>
+<span class="number">30</span> <span class="number">6.01581e+008</span>
+<span class="number">32</span> <span class="special">-</span><span class="number">1.51163e+010</span>
+<span class="number">34</span> <span class="number">4.29615e+011</span>
+<span class="number">36</span> <span class="special">-</span><span class="number">1.37117e+013</span>
+<span class="number">38</span> <span class="number">4.88332e+014</span>
+<span class="number">40</span> <span class="special">-</span><span class="number">1.92966e+016</span>
+<span class="number">42</span> <span class="number">8.41693e+017</span>
+<span class="number">44</span> <span class="special">-</span><span class="number">4.03381e+019</span>
+<span class="number">46</span> <span class="number">2.11507e+021</span>
+<span class="number">48</span> <span class="special">-</span><span class="number">1.20866e+023</span>
+<span class="number">50</span> <span class="number">7.50087e+024</span>
+<span class="number">52</span> <span class="special">-</span><span class="number">5.03878e+026</span>
+<span class="number">54</span> <span class="number">3.65288e+028</span>
+<span class="number">56</span> <span class="special">-</span><span class="number">2.84988e+030</span>
+<span class="number">58</span> <span class="number">2.38654e+032</span>
+<span class="number">60</span> <span class="special">-</span><span class="number">2.14e+034</span>
+<span class="number">62</span> <span class="number">2.0501e+036</span>
+</pre>
+<p>
+ Of course, for any floating-point type, there is a maximum Bernoulli number
+ that can be computed before it overflows the exponent. By default policy,
+ if we try to compute too high a Bernoulli number, an exception will be thrown.
+ </p>
+<pre class="programlisting"><span class="keyword">try</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"Bernoulli number "</span> <span class="special">&lt;&lt;</span> <span class="number">33</span> <span class="special">*</span> <span class="number">2</span> <span class="special">&lt;&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="number">33</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="keyword">catch</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span> <span class="identifier">ex</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Thrown Exception caught: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ex</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ and we will get a helpful error message (provided try'n'catch blocks are
+ used).
+ </p>
+<pre class="programlisting"><span class="identifier">Bernoulli</span> <span class="identifier">number</span> <span class="number">66</span>
+<span class="identifier">Thrown</span> <span class="identifier">Exception</span> <span class="identifier">caught</span><span class="special">:</span> <span class="identifier">Error</span> <span class="identifier">in</span> <span class="identifier">function</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">bernoulli_b2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="identifier">n</span><span class="special">):</span>
+<span class="identifier">Overflow</span> <span class="identifier">evaluating</span> <span class="identifier">function</span> <span class="identifier">at</span> <span class="number">33</span>
+</pre>
+<p>
+ The source of this example is at <a href="../../../../example/bernoulli_example.cpp" target="_top">bernoulli_example.cpp</a>
+ </p>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h10"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.accuracy"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.accuracy">Accuracy</a>
+ </h5>
+<p>
+ All the functions usually return values within one ULP (unit in the last
+ place) for the floating-point type.
+ </p>
+<h5>
+<a name="math_toolkit.number_series.bernoulli_numbers.h11"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.bernoulli_numbers.implementation"></a></span><a class="link" href="bernoulli_numbers.html#math_toolkit.number_series.bernoulli_numbers.implementation">Implementation</a>
+ </h5>
+<p>
+ The implementation details are in <a href="../../../../include/boost/math/special_functions/detail/bernoulli_details.hpp" target="_top">bernoulli_details.hpp</a>
+ and <a href="../../../../include/boost/math/special_functions/detail/unchecked_bernoulli.hpp" target="_top">unchecked_bernoulli.hpp</a>.
+ </p>
+<p>
+ For <code class="computeroutput"><span class="identifier">i</span> <span class="special">&lt;=</span>
+ <span class="identifier">max_bernoulli_index</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code> this is implemented by simple table
+ lookup from a statically initialized table; for larger values of <code class="computeroutput"><span class="identifier">i</span></code>, this is implemented by the Tangent Numbers
+ algorithm as described in the paper: Fast Computation of Bernoulli, Tangent
+ and Secant Numbers, Richard P. Brent and David Harvey, <a href="http://arxiv.org/pdf/1108.0286v3.pdf" target="_top">http://arxiv.org/pdf/1108.0286v3.pdf</a>
+ (2011).
+ </p>
+<p>
+ <a href="http://mathworld.wolfram.com/TangentNumber.html" target="_top">Tangent (or
+ Zag) numbers</a> (an even alternating permutation number) are defined
+ and their generating function is also given therein.
+ </p>
+<p>
+ The relation of Tangent numbers with Bernoulli numbers <span class="emphasis"><em>B<sub>i</sub></em></span>
+ is given by Brent and Harvey's equation 14:
+ </p>
+<p>
+ &#8192;&#8192; <span class="inlinemediaobject"><img src="../../../equations/tangent_numbers.png"></span>
+ </p>
+<p>
+ Their relation with Bernoulli numbers <span class="emphasis"><em>B<sub>i</sub></em></span> are defined
+ by
+ </p>
+<p>
+ if i &gt; 0 and i is even then &#8192;&#8192; <span class="inlinemediaobject"><img src="../../../equations/bernoulli_numbers.png"></span> <br> elseif
+ i == 0 then <span class="emphasis"><em>B<sub>i</sub></em></span> = 1 <br> elseif i == 1 then <span class="emphasis"><em>B<sub>i</sub></em></span>
+ = -1/2 <br> elseif i &lt; 0 or i is odd then <span class="emphasis"><em>B<sub>i</sub></em></span> =
+ 0
+ </p>
+<p>
+ Note that computed values are stored in a fixed-size table, access is thread
+ safe via atomic operations (i.e. lock free programming), this imparts a much
+ lower overhead on access to cached values than might overwise be expected
+ - typically for multiprecision types the cost of thread synchronisation is
+ negligable, while for built in types this code is not normally executed anyway.
+ For very large arguments which cannot be reasonably computed or stored in
+ our cache, an asymptotic expansion <a href="http://www.luschny.de/math/primes/bernincl.html" target="_top">due
+ to Luschny</a> is used:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/bernoulli_numbers2.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../number_series.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../number_series.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tangent_numbers.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/number_series/primes.html b/libs/math/doc/html/math_toolkit/number_series/primes.html
new file mode 100644
index 0000000000..539e5e0efb
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/number_series/primes.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Prime Numbers</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../number_series.html" title="Number Series">
+<link rel="prev" href="tangent_numbers.html" title="Tangent Numbers">
+<link rel="next" href="../sf_gamma.html" title="Gamma Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tangent_numbers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../number_series.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.number_series.primes"></a><a class="link" href="primes.html" title="Prime Numbers">Prime Numbers</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.number_series.primes.h0"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.primes.synopsis"></a></span><a class="link" href="primes.html#math_toolkit.number_series.primes.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">prime</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint32_t</span> <span class="identifier">prime</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint32_t</span> <span class="identifier">prime</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">);</span>
+
+<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="identifier">max_prime</span> <span class="special">=</span> <span class="number">10000</span><span class="special">;</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.number_series.primes.h1"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.primes.description"></a></span><a class="link" href="primes.html#math_toolkit.number_series.primes.description">Description</a>
+ </h5>
+<p>
+ The function <code class="computeroutput"><span class="identifier">prime</span></code> provides
+ fast table lookup to the first 10000 prime numbers (starting from 2 as the
+ zeroth prime: as 1 isn't terribly useful in practice). There are two function
+ signatures one of which takes an optional <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a>
+ as the second parameter to control error handling.
+ </p>
+<p>
+ The constant <code class="computeroutput"><span class="identifier">max_prime</span></code> is
+ the largest value you can pass to <code class="computeroutput"><span class="identifier">prime</span></code>
+ without incurring an error.
+ </p>
+<p>
+ Passing a value greater than <code class="computeroutput"><span class="identifier">max_prime</span></code>
+ results in a <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ being raised.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tangent_numbers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../number_series.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/number_series/tangent_numbers.html b/libs/math/doc/html/math_toolkit/number_series/tangent_numbers.html
new file mode 100644
index 0000000000..3d49ca46e6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/number_series/tangent_numbers.html
@@ -0,0 +1,138 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tangent Numbers</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../number_series.html" title="Number Series">
+<link rel="prev" href="bernoulli_numbers.html" title="Bernoulli Numbers">
+<link rel="next" href="primes.html" title="Prime Numbers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bernoulli_numbers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../number_series.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="primes.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.number_series.tangent_numbers"></a><a class="link" href="tangent_numbers.html" title="Tangent Numbers">Tangent Numbers</a>
+</h3></div></div></div>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Tangent_numbers" target="_top">Tangent numbers</a>,
+ also called a zag function. See also <a href="http://mathworld.wolfram.com/TangentNumber.html" target="_top">Tangent
+ number</a>.
+ </p>
+<p>
+ The first few values are 1, 2, 16, 272, 7936, 353792, 22368256, 1903757312
+ ... (sequence <a href="http://oeis.org/A000182" target="_top">A000182 in OEIS</a>).
+ They are called tangent numbers because they appear as numerators in the
+ Maclaurin series of <code class="computeroutput"><span class="identifier">tan</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>Important:</strong></span> there are two competing definitions
+ of Tangent numbers in common use (depending on whether you take the even
+ or odd numbered values as non-zero), we use:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/tangent_number_def.png"></span>
+ </p>
+<p>
+ Which gives:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/tangent_number_def2.png"></span>
+ </p>
+<p>
+ Tangent numbers are used in the computation of Bernoulli numbers, but are
+ also made available here.
+ </p>
+<h5>
+<a name="math_toolkit.number_series.tangent_numbers.h0"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.tangent_numbers.synopsis"></a></span><a class="link" href="tangent_numbers.html#math_toolkit.number_series.tangent_numbers.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">bernoulli</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">tangent_t2n</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">i</span><span class="special">);</span> <span class="comment">// Single tangent number (default policy).</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">tangent_t2n</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span> <span class="special">&amp;</span><span class="identifier">pol</span><span class="special">);</span> <span class="comment">// Single tangent number (user policy).</span>
+
+<span class="comment">// Multiple tangent numbers (default policy).</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">tangent_t2n</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="identifier">number_of_tangent_t2n</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span>
+
+<span class="comment">// Multiple tangent numbers (user policy).</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">tangent_t2n</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">start_index</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="identifier">number_of_tangent_t2n</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.number_series.tangent_numbers.h1"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.tangent_numbers.examples"></a></span><a class="link" href="tangent_numbers.html#math_toolkit.number_series.tangent_numbers.examples">Examples</a>
+ </h5>
+<p>
+ We can compute and save a few Tangent numbers.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">tn</span><span class="special">;</span> <span class="comment">// Space for some `float` precision Tangent numbers.</span>
+
+<span class="comment">// Start with Bernoulli number 0.</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tangent_t2n</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">,</span> <span class="number">6</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_inserter</span><span class="special">(</span><span class="identifier">tn</span><span class="special">));</span> <span class="comment">// Fill vector with even Tangent numbers.</span>
+
+<span class="keyword">for</span><span class="special">(</span><span class="identifier">size_t</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">tn</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span> <span class="comment">// Show vector of even Tangent numbers, showing all significant decimal digits.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">tn</span><span class="special">[</span><span class="identifier">i</span><span class="special">];</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ The output is:
+ </p>
+<pre class="programlisting"><span class="number">1</span> <span class="number">2</span> <span class="number">16</span> <span class="number">272</span> <span class="number">7936</span> <span class="number">353792</span>
+</pre>
+<p>
+ The source of this example is at <a href="../../../../example/bernoulli_example.cpp" target="_top">bernoulli_example.cpp</a>
+ </p>
+<h5>
+<a name="math_toolkit.number_series.tangent_numbers.h2"></a>
+ <span class="phrase"><a name="math_toolkit.number_series.tangent_numbers.implementation"></a></span><a class="link" href="tangent_numbers.html#math_toolkit.number_series.tangent_numbers.implementation">Implementation</a>
+ </h5>
+<p>
+ Tangent numbers are calculated as intermediates in the calculation of the
+ <a class="link" href="bernoulli_numbers.html" title="Bernoulli Numbers">Bernoulli numbers</a>:
+ refer to the <a class="link" href="bernoulli_numbers.html" title="Bernoulli Numbers">Bernoulli
+ numbers</a> documentation for details.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bernoulli_numbers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../number_series.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="primes.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_create.html b/libs/math/doc/html/math_toolkit/oct_create.html
new file mode 100644
index 0000000000..8161046f94
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_create.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Octonion Creation Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_value_ops.html" title="Octonion Value Operations">
+<link rel="next" href="oct_trans.html" title="Octonions Transcendentals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_value_ops.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_trans.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_create"></a><a class="link" href="oct_create.html" title="Octonion Creation Functions">Octonion Creation Functions</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">spherical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi6</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">multipolar</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta4</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cylindrical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h6</span><span class="special">);</span>
+</pre>
+<p>
+ These build octonions in a way similar to the way polar builds complex numbers,
+ as there is no strict equivalent to polar coordinates for octonions.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">spherical</span></code> is a simple transposition
+ of <code class="computeroutput"><span class="identifier">polar</span></code>, it takes as inputs
+ a (positive) magnitude and a point on the hypersphere, given by three angles.
+ The first of these, <span class="emphasis"><em>theta</em></span> has a natural range of -pi to
+ +pi, and the other two have natural ranges of -pi/2 to +pi/2 (as is the case
+ with the usual spherical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>).
+ Due to the many symmetries and periodicities, nothing untoward happens if the
+ magnitude is negative or the angles are outside their natural ranges. The expected
+ degeneracies (a magnitude of zero ignores the angles settings...) do happen
+ however.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cylindrical</span></code> is likewise a simple
+ transposition of the usual cylindrical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>,
+ which in turn is another derivative of planar polar coordinates. The first
+ two inputs are the polar coordinates of the first <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>
+ component of the octonion. The third and fourth inputs are placed into the
+ third and fourth <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span> components
+ of the octonion, respectively.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">multipolar</span></code> is yet another simple
+ generalization of polar coordinates. This time, both <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>
+ components of the octonion are given in polar coordinates.
+ </p>
+<p>
+ In this version of our implementation of octonions, there is no analogue of
+ the complex value operation arg as the situation is somewhat more complicated.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_value_ops.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_trans.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_header.html b/libs/math/doc/html/math_toolkit/oct_header.html
new file mode 100644
index 0000000000..268262f495
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_header.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Header File</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_overview.html" title="Overview">
+<link rel="next" href="oct_synopsis.html" title="Synopsis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_header"></a><a class="link" href="oct_header.html" title="Header File">Header File</a>
+</h2></div></div></div>
+<p>
+ The interface and implementation are both supplied by the header file <a href="../../../../../boost/math/octonion.hpp" target="_top">octonion.hpp</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_history.html b/libs/math/doc/html/math_toolkit/oct_history.html
new file mode 100644
index 0000000000..7004e64b27
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_history.html
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="acknowledgements.html" title="Acknowledgements">
+<link rel="next" href="oct_todo.html" title="To Do">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgements.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_todo.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_history"></a><a class="link" href="oct_history.html" title="History">History</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ 1.5.9 - 13/5/2013: Incorporated into Boost.Math.
+ </li>
+<li class="listitem">
+ 1.5.8 - 17/12/2005: Converted documentation to Quickbook Format.
+ </li>
+<li class="listitem">
+ 1.5.7 - 25/02/2003: transitionned to the unit test framework; &lt;boost/config.hpp&gt;
+ now included by the library header (rather than the test files), via &lt;boost/math/quaternion.hpp&gt;.
+ </li>
+<li class="listitem">
+ 1.5.6 - 15/10/2002: Gcc2.95.x and stlport on linux compatibility by Alkis
+ Evlogimenos (alkis@routescience.com).
+ </li>
+<li class="listitem">
+ 1.5.5 - 27/09/2002: Microsoft VCPP 7 compatibility, by Michael Stevens
+ (michael@acfr.usyd.edu.au); requires the /Za compiler option.
+ </li>
+<li class="listitem">
+ 1.5.4 - 19/09/2002: fixed problem with multiple inclusion (in different
+ translation units); attempt at an improved compatibility with Microsoft
+ compilers, by Michael Stevens (michael@acfr.usyd.edu.au) and Fredrik Blomqvist;
+ other compatibility fixes.
+ </li>
+<li class="listitem">
+ 1.5.3 - 01/02/2002: bugfix and Gcc 2.95.3 compatibility by Douglas Gregor
+ (gregod@cs.rpi.edu).
+ </li>
+<li class="listitem">
+ 1.5.2 - 07/07/2001: introduced namespace math.
+ </li>
+<li class="listitem">
+ 1.5.1 - 07/06/2001: (end of Boost review) now includes &lt;boost/math/special_functions/sinc.hpp&gt;
+ and &lt;boost/math/special_functions/sinhc.hpp&gt; instead of &lt;boost/special_functions.hpp&gt;;
+ corrected bug in sin (Daryle Walker); removed check for self-assignment
+ (Gary Powel); made converting functions explicit (Gary Powel); added overflow
+ guards for division operators and abs (Peter Schmitteckert); added sup
+ and l1; used Vesa Karvonen's CPP metaprograming technique to simplify code.
+ </li>
+<li class="listitem">
+ 1.5.0 - 23/03/2001: boostification, inlining of all operators except input,
+ output and pow, fixed exception safety of some members (template version).
+ </li>
+<li class="listitem">
+ 1.4.0 - 09/01/2001: added tan and tanh.
+ </li>
+<li class="listitem">
+ 1.3.1 - 08/01/2001: cosmetic fixes.
+ </li>
+<li class="listitem">
+ 1.3.0 - 12/07/2000: pow now uses Maarten Hilferink's (mhilferink@tip.nl)
+ algorithm.
+ </li>
+<li class="listitem">
+ 1.2.0 - 25/05/2000: fixed the division operators and output; changed many
+ signatures.
+ </li>
+<li class="listitem">
+ 1.1.0 - 23/05/2000: changed sinc into sinc_pi; added sin, cos, sinh, cosh.
+ </li>
+<li class="listitem">
+ 1.0.0 - 10/08/1999: first public version.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgements.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_todo.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_mem_fun.html b/libs/math/doc/html/math_toolkit/oct_mem_fun.html
new file mode 100644
index 0000000000..9ec11f238e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_mem_fun.html
@@ -0,0 +1,259 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Octonion Member Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_typedefs.html" title="Octonion Member Typedefs">
+<link rel="next" href="oct_non_mem.html" title="Octonion Non-Member Operators">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_typedefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_non_mem.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_mem_fun"></a><a class="link" href="oct_mem_fun.html" title="Octonion Member Functions">Octonion Member Functions</a>
+</h2></div></div></div>
+<h4>
+<a name="math_toolkit.oct_mem_fun.h0"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.constructors"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">Constructors</a>
+ </h4>
+<p>
+ Template version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ Float specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ Double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ Long double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ A default constructor is provided for each form, which initializes each component
+ to the default values for their type (i.e. zero for floating numbers). This
+ constructor can also accept one to eight base type arguments. A constructor
+ is also provided to build octonions from one to four complex numbers sharing
+ the same base type, and another taking one or two quaternions sharing the same
+ base type. The unspecialized template also sports a templarized copy constructor,
+ while the specialized forms have copy constructors from the other two specializations,
+ which are explicit when a risk of precision loss exists. For the unspecialized
+ form, the base type's constructors must not throw.
+ </p>
+<p>
+ Destructors and untemplated copy constructors (from the same type) are provided
+ by the compiler. Converting copy constructors make use of a templated helper
+ function in a "detail" subnamespace.
+ </p>
+<h4>
+<a name="math_toolkit.oct_mem_fun.h1"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.other_member_functions"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_functions">Other
+ member functions</a>
+ </h4>
+<h5>
+<a name="math_toolkit.oct_mem_fun.h2"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.real_and_unreal_parts"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">Real
+ and Unreal Parts</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">real</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Like complex number, octonions do have a meaningful notion of "real part",
+ but unlike them there is no meaningful notion of "imaginary part".
+ Instead there is an "unreal part" which itself is a octonion, and
+ usually nothing simpler (as opposed to the complex number case). These are
+ returned by the first two functions.
+ </p>
+<h5>
+<a name="math_toolkit.oct_mem_fun.h3"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.individual_real_components"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">Individual
+ Real Components</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">R_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_3</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_5</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_6</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_7</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_8</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ A octonion having eight real components, these are returned by these eight
+ functions. Hence real and R_component_1 return the same value.
+ </p>
+<h5>
+<a name="math_toolkit.oct_mem_fun.h4"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.individual_complex_components"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">Individual
+ Complex Components</a>
+ </h5>
+<pre class="programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_3</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ A octonion likewise has four complex components. Actually, octonions are indeed
+ a (left) vector field over the complexes, but beware, as for any octonion
+ <span class="emphasis"><em><code class="literal">o = &#945; + &#946;i + &#947;j + &#948;k + &#949;e' + &#950;i' + &#951;j' + &#952;k'</code></em></span> we also have <span class="emphasis"><em><code class="literal">o
+ = (&#945; + &#946;i) + (&#947; + &#948;i)j + (&#949; + &#950;i)e' + (&#951; - &#952;i)j'</code></em></span> (note the <span class="bold"><strong>minus</strong></span> sign
+ in the last factor). What the C_component_n functions return, however, are
+ the complexes which could be used to build the octonion using the constructor,
+ and <span class="bold"><strong>not</strong></span> the components of the octonion on
+ the basis <span class="emphasis"><em><code class="literal">(1, j, e', j')</code></em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.oct_mem_fun.h5"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.individual_quaternion_components"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">Individual
+ Quaternion Components</a>
+ </h5>
+<pre class="programlisting"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">H_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">H_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Likewise, for any octonion <span class="emphasis"><em><code class="literal">o = &#945; + &#946;i + &#947;j + &#948;k + &#949;e' + &#950;i' + &#951;j' + &#952;k'</code></em></span> we
+ also have <span class="emphasis"><em><code class="literal">o = (&#945; + &#946;i + &#947;j + &#948;k) + (&#949; + &#950;i + &#951;j - &#952;j)e'</code></em></span>, though there is no
+ meaningful vector-space-like structure based on the quaternions. What the H_component_n
+ functions return are the quaternions which could be used to build the octonion
+ using the constructor.
+ </p>
+<h4>
+<a name="math_toolkit.oct_mem_fun.h6"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.octonion_member_operators"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.octonion_member_operators">Octonion
+ Member Operators</a>
+ </h4>
+<h5>
+<a name="math_toolkit.oct_mem_fun.h7"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.assignment_operators"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">Assignment
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the expected assignment, with type modification if necessary
+ (for instance, assigning from a base type will set the real part to that value,
+ and all other components to zero). For the unspecialized form, the base type's
+ assignment operators must not throw.
+ </p>
+<h5>
+<a name="math_toolkit.oct_mem_fun.h8"></a>
+ <span class="phrase"><a name="math_toolkit.oct_mem_fun.other_member_operators"></a></span><a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">Other
+ Member Operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)+</span><span class="identifier">rhs</span></code>
+ and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
+ The unspecialized form has exception guards, which the specialized forms do
+ not, so as to insure exception safety. For the unspecialized form, the base
+ type's assignment operators must not throw.
+ </p>
+<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)-</span><span class="identifier">rhs</span></code>
+ and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
+ The unspecialized form has exception guards, which the specialized forms do
+ not, so as to insure exception safety. For the unspecialized form, the base
+ type's assignment operators must not throw.
+ </p>
+<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">rhs</span></code>
+ in this order (order is important as multiplication is not commutative for
+ octonions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The unspecialized form has exception guards,
+ which the specialized forms do not, so as to insure exception safety. For the
+ unspecialized form, the base type's assignment operators must not throw. Also,
+ for clarity's sake, you should always group the factors in a multiplication
+ by groups of two, as the multiplication is not even associative on the octonions
+ (though there are of course cases where this does not matter, it usually does).
+ </p>
+<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">inverse_of</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span></code>
+ in this order (order is important as multiplication is not commutative for
+ octonions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The unspecialized form has exception guards,
+ which the specialized forms do not, so as to insure exception safety. For the
+ unspecialized form, the base type's assignment operators must not throw. As
+ for the multiplication, remember to group any two factors using parenthesis.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_typedefs.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_non_mem.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_non_mem.html b/libs/math/doc/html/math_toolkit/oct_non_mem.html
new file mode 100644
index 0000000000..97682d0d15
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_non_mem.html
@@ -0,0 +1,223 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Octonion Non-Member Operators</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_mem_fun.html" title="Octonion Member Functions">
+<link rel="next" href="oct_value_ops.html" title="Octonion Value Operations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_mem_fun.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_value_ops.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_non_mem"></a><a class="link" href="oct_non_mem.html" title="Octonion Non-Member Operators">Octonion Non-Member Operators</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.oct_non_mem.h0"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.unary_plus_and_minus_operators"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.unary_plus_and_minus_operators">Unary Plus
+ and Minus Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This unary operator simply returns o.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This unary operator returns the opposite of o.
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h1"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.binary_addition_operators"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">Binary
+ Addition Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">+=</span>
+ <span class="identifier">rhs</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h2"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.binary_subtraction_operators"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">Binary
+ Subtraction Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">-=</span>
+ <span class="identifier">rhs</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h3"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.binary_multiplication_operators"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">Binary Multiplication
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">*=</span>
+ <span class="identifier">rhs</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h4"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.binary_division_operators"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">Binary
+ Division Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">/=</span>
+ <span class="identifier">rhs</span></code>. It is of course still an error
+ to divide by zero...
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h5"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.binary_equality_operators"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">Binary
+ Equality Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These return true if and only if the four components of <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span></code> are
+ equal to their counterparts in <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code>. As
+ with any floating-type entity, this is essentially meaningless.
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h6"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.binary_inequality_operators"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">Binary
+ Inequality Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These return true if and only if <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">==</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code> is false. As with any floating-type entity,
+ this is essentially meaningless.
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h7"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.stream_extractor"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.stream_extractor">Stream
+ Extractor</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">&gt;&gt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Extracts an octonion <code class="computeroutput"><span class="identifier">o</span></code>. We
+ accept any format which seems reasonable. However, since this leads to a great
+ many ambiguities, decisions were made to lift these. In case of doubt, stick
+ to lists of reals.
+ </p>
+<p>
+ The input values must be convertible to T. If bad input is encountered, calls
+ <code class="computeroutput"><span class="identifier">is</span><span class="special">.</span><span class="identifier">setstate</span><span class="special">(</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">failbit</span><span class="special">)</span></code> (which may throw <code class="computeroutput"><span class="identifier">ios</span><span class="special">::</span><span class="identifier">failure</span></code>
+ (27.4.5.3)).
+ </p>
+<p>
+ Returns <code class="computeroutput"><span class="identifier">is</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.oct_non_mem.h8"></a>
+ <span class="phrase"><a name="math_toolkit.oct_non_mem.stream_inserter"></a></span><a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.stream_inserter">Stream
+ Inserter</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Inserts the octonion <code class="computeroutput"><span class="identifier">o</span></code> onto
+ the stream <code class="computeroutput"><span class="identifier">os</span></code> as if it were
+ implemented as follows:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostringstream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">;</span>
+
+ <span class="identifier">s</span><span class="special">.</span><span class="identifier">flags</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">flags</span><span class="special">());</span>
+ <span class="identifier">s</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">getloc</span><span class="special">());</span>
+ <span class="identifier">s</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">precision</span><span class="special">());</span>
+
+ <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_2</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_3</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_5</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_6</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_7</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_8</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">str</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_mem_fun.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_value_ops.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_overview.html b/libs/math/doc/html/math_toolkit/oct_overview.html
new file mode 100644
index 0000000000..48247b97f4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_overview.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="next" href="oct_header.html" title="Header File">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../octonions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_header.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_overview"></a><a class="link" href="oct_overview.html" title="Overview">Overview</a>
+</h2></div></div></div>
+<p>
+ Octonions, like <a class="link" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">quaternions</a>, are a relative
+ of complex numbers.
+ </p>
+<p>
+ Octonions see some use in theoretical physics.
+ </p>
+<p>
+ In practical terms, an octonion is simply an octuple of real numbers (&#945;,&#946;,&#947;,&#948;,&#949;,&#950;,&#951;,&#952;), which
+ we can write in the form <span class="emphasis"><em><code class="literal">o = &#945; + &#946;i + &#947;j + &#948;k + &#949;e' + &#950;i' + &#951;j' + &#952;k'</code></em></span>, where
+ <span class="emphasis"><em><code class="literal">i</code></em></span>, <span class="emphasis"><em><code class="literal">j</code></em></span>
+ and <span class="emphasis"><em><code class="literal">k</code></em></span> are the same objects as for quaternions,
+ and <span class="emphasis"><em><code class="literal">e'</code></em></span>, <span class="emphasis"><em><code class="literal">i'</code></em></span>,
+ <span class="emphasis"><em><code class="literal">j'</code></em></span> and <span class="emphasis"><em><code class="literal">k'</code></em></span>
+ are distinct objects which play essentially the same kind of role as <span class="emphasis"><em><code class="literal">i</code></em></span>
+ (or <span class="emphasis"><em><code class="literal">j</code></em></span> or <span class="emphasis"><em><code class="literal">k</code></em></span>).
+ </p>
+<p>
+ Addition and a multiplication is defined on the set of octonions, which generalize
+ their quaternionic counterparts. The main novelty this time is that <span class="bold"><strong>the multiplication is not only not commutative, is now not even
+ associative</strong></span> (i.e. there are octonions <span class="emphasis"><em><code class="literal">x</code></em></span>,
+ <span class="emphasis"><em><code class="literal">y</code></em></span> and <span class="emphasis"><em><code class="literal">z</code></em></span>
+ such that <span class="emphasis"><em><code class="literal">x(yz) &#8800; (xy)z</code></em></span>). A way of remembering
+ things is by using the following multiplication table:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../octonion/graphics/octonion_blurb17.jpeg"></span>
+ </p>
+<p>
+ Octonions (and their kin) are described in far more details in this other
+ <a href="../../../quaternion/TQE.pdf" target="_top">document</a> (with <a href="../../../quaternion/TQE_EA.pdf" target="_top">errata
+ and addenda</a>).
+ </p>
+<p>
+ Some traditional constructs, such as the exponential, carry over without too
+ much change into the realms of octonions, but other, such as taking a square
+ root, do not (the fact that the exponential has a closed form is a result of
+ the author, but the fact that the exponential exists at all for octonions is
+ known since quite a long time ago).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../octonions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_header.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_specialization.html b/libs/math/doc/html/math_toolkit/oct_specialization.html
new file mode 100644
index 0000000000..18f32a2c42
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_specialization.html
@@ -0,0 +1,242 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Octonion Specializations</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="octonion.html" title="Template Class octonion">
+<link rel="next" href="oct_typedefs.html" title="Octonion Member Typedefs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="octonion.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_typedefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_specialization"></a><a class="link" href="oct_specialization.html" title="Octonion Specializations">Octonion Specializations</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">float</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<a name="math_octonion_double"></a><pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<a name="math_octonion_long_double"></a><pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}</span> <span class="special">}</span> <span class="comment">// namespaces</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="octonion.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_typedefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_synopsis.html b/libs/math/doc/html/math_toolkit/oct_synopsis.html
new file mode 100644
index 0000000000..e8906b62f2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_synopsis.html
@@ -0,0 +1,141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_header.html" title="Header File">
+<link rel="next" href="octonion.html" title="Template Class octonion">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_header.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_synopsis"></a><a class="link" href="oct_synopsis.html" title="Synopsis">Synopsis</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="octonion.html" title="Template Class octonion">octonion</a><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="oct_specialization.html" title="Octonion Specializations">octonion&lt;float&gt;</a><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="oct_specialization.html#math_octonion_double">octonion&lt;double&gt;</a><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="oct_specialization.html#math_octonion_long_double">octonion&lt;long double&gt;</a><span class="special">;</span>
+
+<span class="comment">// operators</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">operator +</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">operator +</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">operator /</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">operator /</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.unary_plus_and_minus_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.unary_plus_and_minus_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">operator ==</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">operator ==</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">operator !=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">operator !=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.stream_extractor">operator &gt;&gt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_non_mem.html#math_toolkit.oct_non_mem.stream_inserter">operator &lt;&lt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+
+<span class="comment">// values</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.real_and_unreal">real</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.real_and_unreal">unreal</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.sup">sup</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.l1">l1</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.abs">abs</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.norm">norm</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.conj">conj</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_create.html" title="Octonion Creation Functions">spherical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi6</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_create.html" title="Octonion Creation Functions">multipolar</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta4</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_create.html" title="Octonion Creation Functions">cylindrical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h6</span><span class="special">);</span>
+
+<span class="comment">// transcendentals</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.exp">exp</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.cos">cos</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.sin">sin</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.tan">tan</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.cosh">cosh</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.sinh">sinh</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.tanh">tanh</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_trans.html#math_toolkit.oct_trans.pow">pow</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
+
+<span class="special">}</span> <span class="special">}</span> <span class="comment">// namespaces</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_header.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_tests.html b/libs/math/doc/html/math_toolkit/oct_tests.html
new file mode 100644
index 0000000000..c34bf9ad77
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_tests.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Test Program</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_trans.html" title="Octonions Transcendentals">
+<link rel="next" href="acknowledgements.html" title="Acknowledgements">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_trans.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_tests"></a><a class="link" href="oct_tests.html" title="Test Program">Test Program</a>
+</h2></div></div></div>
+<p>
+ The <a href="../../../octonion/octonion_test.cpp" target="_top">octonion_test.cpp</a>
+ test program tests octonions specialisations for float, double and long double
+ (<a href="../../../octonion/output.txt" target="_top">sample output</a>).
+ </p>
+<p>
+ If you define the symbol BOOST_OCTONION_TEST_VERBOSE, you will get additional
+ output (<a href="../../../octonion/output_more.txt" target="_top">verbose output</a>);
+ this will only be helpfull if you enable message output at the same time, of
+ course (by uncommenting the relevant line in the test or by adding --log_level=messages
+ to your command line,...). In that case, and if you are running interactively,
+ you may in addition define the symbol BOOST_INTERACTIVE_TEST_INPUT_ITERATOR
+ to interactively test the input operator with input of your choice from the
+ standard input (instead of hard-coding it in the test).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_trans.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_todo.html b/libs/math/doc/html/math_toolkit/oct_todo.html
new file mode 100644
index 0000000000..a7876a53f8
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_todo.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>To Do</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_history.html" title="History">
+<link rel="next" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_todo"></a><a class="link" href="oct_todo.html" title="To Do">To Do</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Improve testing.
+ </li>
+<li class="listitem">
+ Rewrite input operatore using Spirit (creates a dependency).
+ </li>
+<li class="listitem">
+ Put in place an Expression Template mechanism (perhaps borrowing from uBlas).
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_trans.html b/libs/math/doc/html/math_toolkit/oct_trans.html
new file mode 100644
index 0000000000..cbb4d60d79
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_trans.html
@@ -0,0 +1,148 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Octonions Transcendentals</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_create.html" title="Octonion Creation Functions">
+<link rel="next" href="oct_tests.html" title="Test Program">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_create.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_tests.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_trans"></a><a class="link" href="oct_trans.html" title="Octonions Transcendentals">Octonions Transcendentals</a>
+</h2></div></div></div>
+<p>
+ There is no <code class="computeroutput"><span class="identifier">log</span></code> or <code class="computeroutput"><span class="identifier">sqrt</span></code> provided for octonions in this implementation,
+ and <code class="computeroutput"><span class="identifier">pow</span></code> is likewise restricted
+ to integral powers of the exponent. There are several reasons to this: on the
+ one hand, the equivalent of analytic continuation for octonions ("branch
+ cuts") remains to be investigated thoroughly (by me, at any rate...),
+ and we wish to avoid the nonsense introduced in the standard by exponentiations
+ of complexes by complexes (which is well defined, but not in the standard...).
+ Talking of nonsense, saying that <code class="computeroutput"><span class="identifier">pow</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span></code> is "implementation
+ defined" is just plain brain-dead...
+ </p>
+<p>
+ We do, however provide several transcendentals, chief among which is the exponential.
+ That it allows for a "closed formula" is a result of the author (the
+ existence and definition of the exponential, on the octonions among others,
+ on the other hand, is a few centuries old). Basically, any converging power
+ series with real coefficients which allows for a closed formula in <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> can be transposed to <span class="emphasis"><em><span class="bold"><strong>O</strong></span></em></span>. More transcendentals of this type could
+ be added in a further revision upon request. It should be noted that it is
+ these functions which force the dependency upon the <a href="../../../../../boost/math/special_functions/sinc.hpp" target="_top">boost/math/special_functions/sinc.hpp</a>
+ and the <a href="../../../../../boost/math/special_functions/sinhc.hpp" target="_top">boost/math/special_functions/sinhc.hpp</a>
+ headers.
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h0"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.exp"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.exp">exp</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the exponential of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h1"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.cos"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.cos">cos</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cos</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the cosine of the octonion
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h2"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.sin"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.sin">sin</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sin</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the sine of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h3"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.tan"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.tan">tan</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tan</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the tangent of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h4"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.cosh"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.cosh">cosh</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cosh</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the hyperbolic cosine of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h5"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.sinh"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.sinh">sinh</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinh</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the hyperbolic sine of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h6"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.tanh"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.tanh">tanh</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tanh</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the hyperbolic tangent of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_trans.h7"></a>
+ <span class="phrase"><a name="math_toolkit.oct_trans.pow"></a></span><a class="link" href="oct_trans.html#math_toolkit.oct_trans.pow">pow</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the n-th power of the octonion q.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_create.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_tests.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_typedefs.html b/libs/math/doc/html/math_toolkit/oct_typedefs.html
new file mode 100644
index 0000000000..6560fd89a9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_typedefs.html
@@ -0,0 +1,72 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Octonion Member Typedefs</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_specialization.html" title="Octonion Specializations">
+<link rel="next" href="oct_mem_fun.html" title="Octonion Member Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_specialization.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_mem_fun.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_typedefs"></a><a class="link" href="oct_typedefs.html" title="Octonion Member Typedefs">Octonion Member Typedefs</a>
+</h2></div></div></div>
+<p>
+ <span class="bold"><strong>value_type</strong></span>
+ </p>
+<p>
+ Template version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ Float specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">float</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ Double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ Long double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
+</pre>
+<p>
+ These provide easy acces to the type the template is built upon.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_specialization.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_mem_fun.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/oct_value_ops.html b/libs/math/doc/html/math_toolkit/oct_value_ops.html
new file mode 100644
index 0000000000..77a23bf1be
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/oct_value_ops.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Octonion Value Operations</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_non_mem.html" title="Octonion Non-Member Operators">
+<link rel="next" href="oct_create.html" title="Octonion Creation Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_non_mem.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_create.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.oct_value_ops"></a><a class="link" href="oct_value_ops.html" title="Octonion Value Operations">Octonion Value Operations</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.oct_value_ops.h0"></a>
+ <span class="phrase"><a name="math_toolkit.oct_value_ops.real_and_unreal"></a></span><a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.real_and_unreal">Real
+ and Unreal</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">real</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ These return <code class="computeroutput"><span class="identifier">o</span><span class="special">.</span><span class="identifier">real</span><span class="special">()</span></code> and
+ <code class="computeroutput"><span class="identifier">o</span><span class="special">.</span><span class="identifier">unreal</span><span class="special">()</span></code>
+ respectively.
+ </p>
+<h5>
+<a name="math_toolkit.oct_value_ops.h1"></a>
+ <span class="phrase"><a name="math_toolkit.oct_value_ops.conj"></a></span><a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.conj">conj</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">conj</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This returns the conjugate of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_value_ops.h2"></a>
+ <span class="phrase"><a name="math_toolkit.oct_value_ops.sup"></a></span><a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.sup">sup</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">sup</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This return the sup norm (the greatest among <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())...</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_8</span><span class="special">()))</span></code> of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_value_ops.h3"></a>
+ <span class="phrase"><a name="math_toolkit.oct_value_ops.l1"></a></span><a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.l1">l1</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">l1</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This return the l1 norm (<code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())+...+</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_8</span><span class="special">())</span></code>) of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_value_ops.h4"></a>
+ <span class="phrase"><a name="math_toolkit.oct_value_ops.abs"></a></span><a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.abs">abs</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">abs</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This return the magnitude (Euclidian norm) of the octonion.
+ </p>
+<h5>
+<a name="math_toolkit.oct_value_ops.h5"></a>
+ <span class="phrase"><a name="math_toolkit.oct_value_ops.norm"></a></span><a class="link" href="oct_value_ops.html#math_toolkit.oct_value_ops.norm">norm</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">norm</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
+</pre>
+<p>
+ This return the (Cayley) norm of the octonion. The term "norm" might
+ be confusing, as most people associate it with the Euclidian norm (and quadratic
+ functionals). For this version of (the mathematical objects known as) octonions,
+ the Euclidian norm (also known as magnitude) is the square root of the Cayley
+ norm.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_non_mem.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_create.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/octonion.html b/libs/math/doc/html/math_toolkit/octonion.html
new file mode 100644
index 0000000000..3bbc5d7999
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/octonion.html
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Template Class octonion</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+<link rel="prev" href="oct_synopsis.html" title="Synopsis">
+<link rel="next" href="oct_specialization.html" title="Octonion Specializations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_specialization.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.octonion"></a><a class="link" href="octonion.html" title="Template Class octonion">Template Class octonion</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">octonion</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}</span> <span class="special">}</span> <span class="comment">// namespaces</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="oct_synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_specialization.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/overview.html b/libs/math/doc/html/math_toolkit/overview.html
new file mode 100644
index 0000000000..96a867f1d5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/overview.html
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="next" href="rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cstdfloat.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.overview"></a><a class="link" href="overview.html" title="Overview">Overview</a>
+</h2></div></div></div>
+<p>
+ The header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ provides <span class="bold"><strong>optional</strong></span> standardized floating-point
+ <code class="computeroutput"><span class="keyword">typedef</span></code>s having <span class="bold"><strong>specified
+ widths</strong></span>. These are useful for writing portable code because they
+ should behave identically on all platforms. These <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ are the floating-point analog of specified-width integers in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">cstdint</span><span class="special">&gt;</span></code> and <code class="computeroutput"><span class="identifier">stdint</span><span class="special">.</span><span class="identifier">h</span></code>.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="keyword">typedef</span></code>s are based on <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf" target="_top">N3626</a>
+ proposed for a new C++14 standard header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">cstdfloat</span><span class="special">&gt;</span></code>
+ and <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1703.pdf" target="_top">N1703</a>
+ proposed for a new C language standard header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdfloat</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ All <code class="computeroutput"><span class="keyword">typedef</span></code>s are in <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">boost</span></code>
+ (would be in namespace <code class="computeroutput"><span class="identifier">std</span></code>
+ if eventually standardized).
+ </p>
+<p>
+ The <code class="computeroutput"><span class="keyword">typedef</span></code>s include <code class="computeroutput"><span class="identifier">float16_t</span><span class="special">,</span> <span class="identifier">float32_t</span><span class="special">,</span> <span class="identifier">float64_t</span><span class="special">,</span> <span class="identifier">float80_t</span><span class="special">,</span> <span class="identifier">float128_t</span></code>, their corresponding least and
+ fast types, and the corresponding maximum-width type. The <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ are based on underlying built-in types such as <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code>, or <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, or based on other compiler-specific
+ non-standardized types such as <code class="computeroutput"><span class="identifier">__float128</span></code>.
+ The underlying types of these <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ must conform with the corresponding specifications of binary16, binary32, binary64,
+ and binary128 in <a href="http://en.wikipedia.org/wiki/IEEE_floating_point" target="_top">IEEE_floating_point</a>
+ floating-point format.
+ </p>
+<p>
+ The 128-bit floating-point type (of great interest in scientific and numeric
+ programming) is not required in the Boost header, and may not be supplied for
+ all platforms/compilers, because compiler support for a 128-bit floating-point
+ type is not mandated by either the C standard or the C++ standard.
+ </p>
+<p>
+ See <a class="link" href="examples.html#math_toolkit.examples.je_lambda">Jahnke-Emden-Lambda function
+ example</a> for an example using both a CMath function and a Boost.Math
+ function to evaluate a moderately interesting function, the <a href="http://mathworld.wolfram.com/LambdaFunction.html" target="_top">Jahnke-Emden-Lambda
+ function</a> and <a class="link" href="examples.html#math_toolkit.examples.normal_table">normal
+ distribution</a> an example of a statistical distribution from Boost.Math
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cstdfloat.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/overview_tr1.html b/libs/math/doc/html/math_toolkit/overview_tr1.html
new file mode 100644
index 0000000000..7106aa7301
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/overview_tr1.html
@@ -0,0 +1,617 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>C99 and C++ TR1 C-style Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="history1.html" title="History and What's New">
+<link rel="next" href="main_faq.html" title="Frequently Asked Questions FAQ">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="main_faq.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.overview_tr1"></a><a class="link" href="overview_tr1.html" title="C99 and C++ TR1 C-style Functions">C99 and C++ TR1 C-style Functions</a>
+</h2></div></div></div>
+<p>
+ Many of the special functions included in this library are also a part of the
+ either the <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
+ Standard ISO/IEC 9899:1999</a> or the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
+ Report on C++ Library Extensions</a>. Therefore this library includes a
+ thin wrapper header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span></code> that
+ provides compatibility with these two standards.
+ </p>
+<p>
+ There are various pros and cons to using the library in this way:
+ </p>
+<p>
+ Pros:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The header to include is lightweight (i.e. fast to compile).
+ </li>
+<li class="listitem">
+ The functions have extern "C" linkage, and so are usable from
+ other languages (not just C and C++).
+ </li>
+<li class="listitem">
+ C99 and C++ TR1 Standard compatibility.
+ </li>
+</ul></div>
+<p>
+ Cons:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ You will need to compile and link to the external Boost.Math libraries.
+ </li>
+<li class="listitem">
+ Limited to support for the types, <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ Error handling is handled via setting ::errno and returning NaN's and infinities:
+ this may be less flexible than an C++ exception based approach.
+ </li>
+</ul></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The separate libraries are required <span class="bold"><strong>only</strong></span>
+ if you choose to use boost/math/tr1.hpp rather than some other Boost.Math
+ header, the rest of Boost.Math remains header-only.
+ </p></td></tr>
+</table></div>
+<p>
+ The separate libraries required in order to use tr1.hpp can be compiled using
+ bjam from within the libs/math/build directory, or from the Boost root directory
+ using the usual Boost-wide install procedure. Alternatively the source files
+ are located in libs/math/src and each have the same name as the function they
+ implement. The various libraries are named as follows:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Type
+ </p>
+ </th>
+<th>
+ <p>
+ Functions
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ boost_math_c99f-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ float
+ </p>
+ </td>
+<td>
+ <p>
+ C99 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_c99-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ double
+ </p>
+ </td>
+<td>
+ <p>
+ C99 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_c99l-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ long double
+ </p>
+ </td>
+<td>
+ <p>
+ C99 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_tr1f-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ float
+ </p>
+ </td>
+<td>
+ <p>
+ TR1 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_tr1-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ double
+ </p>
+ </td>
+<td>
+ <p>
+ TR1 Functions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ boost_math_tr1l-&lt;suffix&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ long double
+ </p>
+ </td>
+<td>
+ <p>
+ TR1 Functions
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Where <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> encodes the compiler and build options
+ used to build the libraries: for example "libboost_math_tr1-vc80-mt-gd.lib"
+ would be the statically linked TR1 library to use with Visual C++ 8.0, in multithreading
+ debug mode, with the DLL VC++ runtime, where as "boost_math_tr1-vc80-mt.lib"
+ would be import library for the TR1 DLL to be used with Visual C++ 8.0 with
+ the release multithreaded DLL VC++ runtime. Refer to the getting started guide
+ for a <a href="http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming" target="_top">full
+ explanation of the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> meanings</a>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Visual C++ users will typically have the correct library variant to link
+ against selected for them by boost/math/tr1.hpp based on your compiler settings.
+ </p>
+<p>
+ Users will need to define BOOST_MATH_TR1_DYN_LINK when building their code
+ if they want to link against the DLL versions of these libraries rather than
+ the static versions.
+ </p>
+<p>
+ Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when building:
+ this is typically only used when linking against a customised build of the
+ libraries.
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Linux and Unix users will generally only have one variant of these libraries
+ installed, and can generally just link against -lboost_math_tr1 etc.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.overview_tr1.h0"></a>
+ <span class="phrase"><a name="math_toolkit.overview_tr1.usage_recomendations"></a></span><a class="link" href="overview_tr1.html#math_toolkit.overview_tr1.usage_recomendations">Usage
+ Recomendations</a>
+ </h5>
+<p>
+ This library now presents the user with a choice:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ To include the header only versions of the functions and have an easier
+ time linking, but a longer compile time.
+ </li>
+<li class="listitem">
+ To include the TR1 headers and link against an external library.
+ </li>
+</ul></div>
+<p>
+ Which option you choose depends largely on how you prefer to work and how your
+ system is set up.
+ </p>
+<p>
+ For example a casual user who just needs the acosh function, would probably
+ be better off including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> in their code.
+ </p>
+<p>
+ However, for large scale software development where compile times are significant,
+ and where the Boost libraries are already built and installed on the system,
+ then including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ will speed up compile times, reduce object files sizes (since there are no
+ templates being instantiated any more), and also speed up debugging runtimes
+ - since the externally compiled libraries can be compiler optimised, rather
+ than built using full settings - the difference in performance between <a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">release and debug builds can be as much
+ as 20 times</a>, so for complex applications this can be a big win.
+ </p>
+<h5>
+<a name="math_toolkit.overview_tr1.h1"></a>
+ <span class="phrase"><a name="math_toolkit.overview_tr1.supported_c99_functions"></a></span><a class="link" href="overview_tr1.html#math_toolkit.overview_tr1.supported_c99_functions">Supported
+ C99 Functions</a>
+ </h5>
+<p>
+ See also the <a class="link" href="c99.html" title="C99 C Functions">quick reference guide for these
+ functions</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
+
+<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.overview_tr1.h2"></a>
+ <span class="phrase"><a name="math_toolkit.overview_tr1.supported_tr1_functions"></a></span><a class="link" href="overview_tr1.html#math_toolkit.overview_tr1.supported_tr1_functions">Supported
+ TR1 Functions</a>
+ </h5>
+<p>
+ See also the <a class="link" href="main_tr1.html" title="C99 and TR1 C Functions Overview">quick reference guide for
+ these functions</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
+
+<span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.2] associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.3] beta function:</span>
+<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
+<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.15] exponential integral:</span>
+<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.16] Hermite polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.19] Legendre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.20] Riemann zeta function:</span>
+<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
+<span class="comment">// spherical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
+ versions of the above functions are provided, so that calling the function
+ with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
+ arguments is supported, with the return type determined by the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>.
+ </p>
+<h5>
+<a name="math_toolkit.overview_tr1.h3"></a>
+ <span class="phrase"><a name="math_toolkit.overview_tr1.currently_unsupported_c99_functi"></a></span><a class="link" href="overview_tr1.html#math_toolkit.overview_tr1.currently_unsupported_c99_functi">Currently
+ Unsupported C99 Functions</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">exp2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">exp2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">exp2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fdim</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fdimf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fdiml</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">fma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">fmaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">z</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">int</span> <span class="identifier">ilogb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">ilogbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">int</span> <span class="identifier">ilogbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">log2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">log2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">logb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">logbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">logbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">long</span> <span class="identifier">lrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="identifier">lrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nan</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nanf</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nanl</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">nearbyint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">nearbyintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nearbyintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">remainder</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">remainderf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remainderl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">remquo</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">remquof</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remquol</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">rint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">rintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">rintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">scalbln</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">scalblnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalblnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">scalbn</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">scalbnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalbnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.overview_tr1.h4"></a>
+ <span class="phrase"><a name="math_toolkit.overview_tr1.currently_unsupported_tr1_functi"></a></span><a class="link" href="overview_tr1.html#math_toolkit.overview_tr1.currently_unsupported_tr1_functi">Currently
+ Unsupported TR1 Functions</a>
+ </h5>
+<pre class="programlisting"><span class="comment">// [5.2.1.7] confluent hypergeometric functions:</span>
+<span class="keyword">double</span> <span class="identifier">conf_hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">conf_hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">conf_hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.17] hypergeometric functions:</span>
+<span class="keyword">double</span> <span class="identifier">hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="main_faq.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/owens_t.html b/libs/math/doc/html/math_toolkit/owens_t.html
new file mode 100644
index 0000000000..640c190adc
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/owens_t.html
@@ -0,0 +1,226 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Owen's T function</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="inv_hyper/atanh.html" title="atanh">
+<link rel="next" href="../extern_c.html" title='Chapter&#160;7.&#160;TR1 and C99 external "C" Functions'>
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inv_hyper/atanh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../extern_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.owens_t"></a><a class="link" href="owens_t.html" title="Owen's T function">Owen's T function</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.owens_t.h0"></a>
+ <span class="phrase"><a name="math_toolkit.owens_t.synopsis"></a></span><a class="link" href="owens_t.html#math_toolkit.owens_t.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">owens_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">owens_t</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">h</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">owens_t</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">h</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.owens_t.h1"></a>
+ <span class="phrase"><a name="math_toolkit.owens_t.description"></a></span><a class="link" href="owens_t.html#math_toolkit.owens_t.description">Description</a>
+ </h5>
+<p>
+ Returns the <a href="http://en.wikipedia.org/wiki/Owen%27s_T_function" target="_top">Owens_t
+ function</a> of <span class="emphasis"><em>h</em></span> and <span class="emphasis"><em>a</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors, what
+ level of precision to use etc. Refer to the <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy documentation
+ for more details</a>.
+ </p>
+<p>
+ &#8198; &#8198; <span class="inlinemediaobject"><img src="../../equations/owens_t.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/plot_owens_t.png"></span>
+ </p>
+<p>
+ The function <code class="computeroutput"><span class="identifier">owens_t</span><span class="special">(</span><span class="identifier">h</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code> gives the probability of the event <span class="emphasis"><em>(X
+ &gt; h and 0 &lt; Y &lt; a * X)</em></span>, where <span class="emphasis"><em>X</em></span> and
+ <span class="emphasis"><em>Y</em></span> are independent standard normal random variables.
+ </p>
+<p>
+ For h and a &gt; 0, T(h,a), gives the volume of an uncorrelated bivariate normal
+ distribution with zero means and unit variances over the area between <span class="emphasis"><em>y
+ = ax</em></span> and <span class="emphasis"><em>y = 0</em></span> and to the right of <span class="emphasis"><em>x
+ = h</em></span>.
+ </p>
+<p>
+ That is the area shaded in the figure below (Owens 1956).
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/owens_integration_area.png" align="middle"></span>
+ </p>
+<p>
+ and is also illustrated by a 3D plot.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/plot_owens_3d_xyp.png"></span>
+ </p>
+<p>
+ This function is used in the computation of the <a class="link" href="dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution">Skew
+ Normal Distribution</a>. It is also used in the computation of bivariate
+ and multivariate normal distribution probabilities. The return type of this
+ function is computed using the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the result is of type <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and type T
+ otherwise.
+ </p>
+<p>
+ Owen's original paper (page 1077) provides some additional corner cases.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>T(h, 0) = 0</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>T(0, a) = &#189;&#960; arctan(a)</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>T(h, 1) = &#189; G(h) [1 - G(h)]</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>T(h, &#8734;) = G(|h|)</em></span>
+ </p></blockquote></div>
+<p>
+ where G(h) is the univariate normal with zero mean and unit variance integral
+ from -&#8734; to h.
+ </p>
+<h5>
+<a name="math_toolkit.owens_t.h2"></a>
+ <span class="phrase"><a name="math_toolkit.owens_t.accuracy"></a></span><a class="link" href="owens_t.html#math_toolkit.owens_t.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Over the built-in types and range tested, errors are less than 10 * std::numeric_limits&lt;RealType&gt;::epsilon().
+ </p>
+<h5>
+<a name="math_toolkit.owens_t.h3"></a>
+ <span class="phrase"><a name="math_toolkit.owens_t.testing"></a></span><a class="link" href="owens_t.html#math_toolkit.owens_t.testing">Testing</a>
+ </h5>
+<p>
+ Test data was generated by Patefield and Tandy algorithms T1 and T4, and also
+ the suggested reference routine T7.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ T1 was rejected if the result was too small compared to <code class="computeroutput"><span class="identifier">atan</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
+ (ie cancellation),
+ </li>
+<li class="listitem">
+ T4 was rejected if there was no convergence,
+ </li>
+<li class="listitem">
+ Both were rejected if they didn't agree.
+ </li>
+</ul></div>
+<p>
+ Over the built-in types and range tested, errors are less than 10 std::numeric_limits&lt;RealType&gt;::epsilon().
+ </p>
+<p>
+ However, that there was a whole domain (large <span class="emphasis"><em>h</em></span>, small
+ <span class="emphasis"><em>a</em></span>) where it was not possible to generate any reliable
+ test values (all the methods got rejected for one reason or another).
+ </p>
+<p>
+ There are also two sets of sanity tests: spot values are computed using <a href="http://www.wolfram.com/products/mathematica/index.html" target="_top">Wolfram Mathematica</a>
+ and <a href="http://www.r-project.org/" target="_top">The R Project for Statistical Computing</a>.
+ </p>
+<h5>
+<a name="math_toolkit.owens_t.h4"></a>
+ <span class="phrase"><a name="math_toolkit.owens_t.implementation"></a></span><a class="link" href="owens_t.html#math_toolkit.owens_t.implementation">Implementation</a>
+ </h5>
+<p>
+ The function was proposed and evaluated by <a href="http://projecteuclid.org/DPubS?service=UI&amp;version=1.0&amp;verb=Display&amp;handle=euclid.aoms/1177728074" target="_top">Donald.
+ B. Owen, Tables for computing bivariate normal probabilities, Ann. Math. Statist.,
+ 27, 1075-1090 (1956)</a>.
+ </p>
+<p>
+ The algorithms of Patefield, M. and Tandy, D. "Fast and accurate Calculation
+ of Owen's T-Function", Journal of Statistical Software, 5 (5), 1 - 25
+ (2000) are adapted for C++ with arbitrary RealType.
+ </p>
+<p>
+ The Patefield-Tandy algorithm provides six methods of evalualution (T1 to T6);
+ the best method is selected according to the values of <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>h</em></span>. See the original paper and the source in <a href="../../../../../boost/math/special_functions/owens_t.hpp" target="_top">owens_t.hpp</a>
+ for details.
+ </p>
+<p>
+ The Patefield-Tandy algorithm is accurate to approximately 20 decimal places,
+ so for types with greater precision we use:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ A modified version of T1 which folds the calculation of <span class="emphasis"><em>atan(h)</em></span>
+ into the T1 series (to avoid subtracting two values similar in magnitude),
+ and then accelerates the resulting alternating series using method 1 from
+ H. Cohen, F. Rodriguez Villegas, D. Zagier, "Convergence acceleration
+ of alternating series", Bonn, (1991). The result is valid everywhere,
+ but doesn't always converge, or may become too divergent in the first few
+ terms to sum accurately. This is used for <span class="emphasis"><em>ah &lt; 1</em></span>.
+ </li>
+<li class="listitem">
+ A modified version of T2 which is accelerated in the same manner as T1.
+ This is used for <span class="emphasis"><em>h &gt; 1</em></span>.
+ </li>
+<li class="listitem">
+ A version of T4 only when both T1 and T2 have failed to produce an accurate
+ answer.
+ </li>
+<li class="listitem">
+ Fallback to the Patefiled Tandy algorithm when all the above methods fail:
+ this happens not at all for our test data at 100 decimal digits precision.
+ However, there is a difficult area when <span class="emphasis"><em>a</em></span> is very
+ close to 1 and the precision increases which may cause this to happen in
+ very exceptional circumstances.
+ </li>
+</ul></div>
+<p>
+ Using the above algorithm and a 100-decimal digit type, results accurate to
+ 80 decimal places were obtained in the difficult area where <span class="emphasis"><em>a</em></span>
+ is close to 1, and greater than 95 decimal places elsewhere.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inv_hyper/atanh.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../extern_c.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/perf_over1.html b/libs/math/doc/html/math_toolkit/perf_over1.html
new file mode 100644
index 0000000000..ba72a0d04c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/perf_over1.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Performance</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="threads.html" title="Thread Safety">
+<link rel="next" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="threads.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="building.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.perf_over1"></a><a class="link" href="perf_over1.html" title="Performance">Performance</a>
+</h2></div></div></div>
+<p>
+ By and large the performance of this library should be acceptable for most
+ needs. However, you should note that this library's primary emphasis is on
+ accuracy and numerical stability, and <span class="emphasis"><em>not</em></span> speed.
+ </p>
+<p>
+ In terms of the algorithms used, this library aims to use the same "best
+ of breed" algorithms as many other libraries: the principle difference
+ is that this library is implemented in C++ - taking advantage of all the abstraction
+ mechanisms that C++ offers - where as most traditional numeric libraries are
+ implemented in C or FORTRAN. Traditionally languages such as C or FORTRAN are
+ perceived as easier to optimise than more complex languages like C++, so in
+ a sense this library provides a good test of current compiler technology, and
+ the "abstraction penalty" - if any - of C++ compared to other languages.
+ </p>
+<p>
+ The two most important things you can do to ensure the best performance from
+ this library are:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Turn on your compilers optimisations: the difference between "release"
+ and "debug" builds can easily be a <a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">factor
+ of 20</a>.
+ </li>
+<li class="listitem">
+ Pick your compiler carefully: <a class="link" href="comp_compilers.html" title="Comparing Compilers">performance
+ differences of up to 8 fold</a> have been found between some Windows
+ compilers for example.
+ </li>
+</ol></div>
+<p>
+ The <a class="link" href="../perf.html" title="Chapter&#160;15.&#160;Performance">performance section</a> contains more information
+ on the performance of this library, what you can do to fine tune it, and how
+ this library compares to some other open source alternatives.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="threads.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="building.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/perf_over2.html b/libs/math/doc/html/math_toolkit/perf_over2.html
new file mode 100644
index 0000000000..f3490c2b5d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/perf_over2.html
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Performance Overview</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="prev" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="next" href="interp.html" title="Interpreting these Results">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../perf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.perf_over2"></a><a class="link" href="perf_over2.html" title="Performance Overview">Performance Overview</a>
+</h2></div></div></div>
+<p>
+ By and large the performance of this library should be acceptable for most
+ needs. However, you should note that this library's primary emphasis is on
+ accuracy and numerical stability, and <span class="emphasis"><em>not</em></span> speed.
+ </p>
+<p>
+ In terms of the algorithms used, this library aims to use the same "best
+ of breed" algorithms as many other libraries: the principle difference
+ is that this library is implemented in C++ - taking advantage of all the abstraction
+ mechanisms that C++ offers - where as most traditional numeric libraries are
+ implemented in C or FORTRAN. Traditionally languages such as C or FORTRAN are
+ perceived as easier to optimise than more complex languages like C++, so in
+ a sense this library provides a good test of current compiler technology, and
+ the "abstraction penalty" - if any - of C++ compared to other languages.
+ </p>
+<p>
+ The two most important things you can do to ensure the best performance from
+ this library are:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Turn on your compilers optimisations: the difference between "release"
+ and "debug" builds can easily be a <a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">factor
+ of 20</a>.
+ </li>
+<li class="listitem">
+ Pick your compiler carefully: <a class="link" href="comp_compilers.html" title="Comparing Compilers">performance
+ differences of up to 8 fold</a> have been found between some Windows
+ compilers for example.
+ </li>
+</ol></div>
+<p>
+ The <a class="link" href="../perf.html" title="Chapter&#160;15.&#160;Performance">performance section</a> contains more information
+ on the performance of this library, what you can do to fine tune it, and how
+ this library compares to some other open source alternatives.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../perf.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/perf_test_app.html b/libs/math/doc/html/math_toolkit/perf_test_app.html
new file mode 100644
index 0000000000..d78c57a489
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/perf_test_app.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Performance Test Application</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="prev" href="comparisons.html" title="Comparisons to Other Open Source Libraries">
+<link rel="next" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comparisons.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../backgrounders.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.perf_test_app"></a><a class="link" href="perf_test_app.html" title="The Performance Test Application">The Performance Test Application</a>
+</h2></div></div></div>
+<p>
+ Under <span class="emphasis"><em>boost-path</em></span>/libs/math/performance you will find a
+ (fairly rudimentary) performance test application for this library.
+ </p>
+<p>
+ To run this application yourself, build the all the .cpp files in <span class="emphasis"><em>boost-path</em></span>/libs/math/performance
+ into an application using your usual release-build settings. Run the application
+ with --help to see a full list of options, or with --all to test everything
+ (which takes quite a while), or with --tune to test the <a class="link" href="tuning.html" title="Performance Tuning Macros">available
+ performance tuning options</a>.
+ </p>
+<p>
+ If you want to use this application to test the effect of changing any of the
+ <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a>, then you will need to build and run
+ it twice: once with the default <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a>, and
+ then a second time with the <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a> you want
+ to test set as the default.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comparisons.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../backgrounders.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_overview.html b/libs/math/doc/html/math_toolkit/pol_overview.html
new file mode 100644
index 0000000000..7d6d92879d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_overview.html
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Policy Overview</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">
+<link rel="prev" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">
+<link rel="next" href="pol_tutorial.html" title="Policy Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../policy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.pol_overview"></a><a class="link" href="pol_overview.html" title="Policy Overview">Policy Overview</a>
+</h2></div></div></div>
+<p>
+ Policies are a powerful fine-grain mechanism that allow you to customise the
+ behaviour of this library according to your needs. There is more information
+ available in the <a class="link" href="pol_tutorial.html" title="Policy Tutorial">policy tutorial</a>
+ and the <a class="link" href="pol_ref.html" title="Policy Reference">policy reference</a>.
+ </p>
+<p>
+ Generally speaking, unless you find that the <a class="link" href="pol_tutorial/policy_tut_defaults.html" title="Policies Have Sensible Defaults">default
+ policy behaviour</a> when encountering 'bad' argument values does not meet
+ your needs, you should not need to worry about policies.
+ </p>
+<p>
+ Policies are a compile-time mechanism that allow you to change error-handling
+ or calculation precision either program wide, or at the call site.
+ </p>
+<p>
+ Although the policy mechanism itself is rather complicated, in practice it
+ is easy to use, and very flexible.
+ </p>
+<p>
+ Using policies you can control:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">How results
+ from 'bad' arguments are handled</a>, including those that cannot be
+ fully evaluated.
+ </li>
+<li class="listitem">
+ How <a class="link" href="pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">accuracy is
+ controlled by internal promotion</a> to use more precise types.
+ </li>
+<li class="listitem">
+ What working <a class="link" href="pol_ref/precision_pol.html" title="Precision Policies">precision</a>
+ should be used to calculate results.
+ </li>
+<li class="listitem">
+ What to do when a <a class="link" href="pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">mathematically
+ undefined function</a> is used: Should this raise a run-time or compile-time
+ error?
+ </li>
+<li class="listitem">
+ Whether <a class="link" href="pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">discrete
+ functions</a>, like the binomial, should return real or only integral
+ values, and how they are rounded.
+ </li>
+<li class="listitem">
+ How many iterations a special function is permitted to perform in a series
+ evaluation or root finding algorithm before it gives up and raises an
+ <a class="link" href="error_handling.html#math_toolkit.error_handling.evaluation_error">evaluation_error</a>.
+ </li>
+</ul></div>
+<p>
+ You can control policies:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Using <a class="link" href="pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">macros</a>
+ to change any default policy: the is the prefered method for installation
+ wide policies.
+ </li>
+<li class="listitem">
+ At your chosen <a class="link" href="pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope">namespace
+ scope</a> for distributions and/or functions: this is the prefered method
+ for project, namespace, or translation unit scope policies.
+ </li>
+<li class="listitem">
+ In an ad-hoc manner <a class="link" href="pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">by
+ passing a specific policy to a special function</a>, or to a <a class="link" href="pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">statistical
+ distribution</a>.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../policy.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref.html b/libs/math/doc/html/math_toolkit/pol_ref.html
new file mode 100644
index 0000000000..8bbe12243f
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Policy Reference</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">
+<link rel="prev" href="pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">
+<link rel="next" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pol_tutorial/understand_dis_quant.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref/error_handling_policies.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.pol_ref"></a><a class="link" href="pol_ref.html" title="Policy Reference">Policy Reference</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="pol_ref/error_handling_policies.html">Error Handling
+ Policies</a></span></dt>
+<dt><span class="section"><a href="pol_ref/internal_promotion.html">Internal Floating-point
+ Promotion Policies</a></span></dt>
+<dt><span class="section"><a href="pol_ref/assert_undefined.html">Mathematically
+ Undefined Function Policies</a></span></dt>
+<dt><span class="section"><a href="pol_ref/discrete_quant_ref.html">Discrete Quantile
+ Policies</a></span></dt>
+<dt><span class="section"><a href="pol_ref/precision_pol.html">Precision Policies</a></span></dt>
+<dt><span class="section"><a href="pol_ref/iteration_pol.html">Iteration Limits
+ Policies</a></span></dt>
+<dt><span class="section"><a href="pol_ref/policy_defaults.html">Using Macros to
+ Change the Policy Defaults</a></span></dt>
+<dt><span class="section"><a href="pol_ref/namespace_pol.html">Setting Polices at
+ Namespace Scope</a></span></dt>
+<dt><span class="section"><a href="pol_ref/pol_ref_ref.html">Policy Class Reference</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pol_tutorial/understand_dis_quant.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref/error_handling_policies.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/assert_undefined.html b/libs/math/doc/html/math_toolkit/pol_ref/assert_undefined.html
new file mode 100644
index 0000000000..47fc340830
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/assert_undefined.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Mathematically Undefined Function Policies</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="internal_promotion.html" title="Internal Floating-point Promotion Policies">
+<link rel="next" href="discrete_quant_ref.html" title="Discrete Quantile Policies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="internal_promotion.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="discrete_quant_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.assert_undefined"></a><a class="link" href="assert_undefined.html" title="Mathematically Undefined Function Policies">Mathematically
+ Undefined Function Policies</a>
+</h3></div></div></div>
+<p>
+ There are some functions that are generic (they are present for all the statistical
+ distributions supported) but which may be mathematically undefined for certain
+ distributions, but defined for others.
+ </p>
+<p>
+ For example, the Cauchy distribution does not have a meaningful mean, so
+ what should
+ </p>
+<pre class="programlisting"><span class="identifier">mean</span><span class="special">(</span><span class="identifier">cauchy</span><span class="special">&lt;&gt;());</span>
+</pre>
+<p>
+ return, and should such an expression even compile at all?
+ </p>
+<p>
+ The default behaviour is for all such functions to not compile at all - in
+ fact they will raise a <a href="http://www.boost.org/libs/static_assert/index.html" target="_top">static
+ assertion</a> - but by changing the policy we can have them return the
+ result of a domain error instead (which may well throw an exception, depending
+ on the error handling policy).
+ </p>
+<p>
+ This behaviour is controlled by the <code class="computeroutput"><span class="identifier">assert_undefined</span><span class="special">&lt;&gt;</span></code> policy:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">bool</span> <span class="identifier">b</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">assert_undefined</span><span class="special">;</span>
+
+<span class="special">}}}</span> <span class="comment">//namespaces</span>
+</pre>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+
+<span class="comment">// This will not compile, cauchy has no mean!</span>
+<span class="keyword">double</span> <span class="identifier">m1</span> <span class="special">=</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">cauchy</span><span class="special">());</span>
+
+<span class="comment">// This will compile, but raises a domain error!</span>
+<span class="keyword">double</span> <span class="identifier">m2</span> <span class="special">=</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">cauchy_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;());</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span></code>
+ behaviour can also be obtained by defining the macro
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span> <span class="keyword">false</span>
+</pre>
+<p>
+ at the head of the file - see <a class="link" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">Using
+ Macros to Change the Policy Defaults</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="internal_promotion.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="discrete_quant_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html b/libs/math/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html
new file mode 100644
index 0000000000..7d88652aa3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/discrete_quant_ref.html
@@ -0,0 +1,252 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Discrete Quantile Policies</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="assert_undefined.html" title="Mathematically Undefined Function Policies">
+<link rel="next" href="precision_pol.html" title="Precision Policies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assert_undefined.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="precision_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.discrete_quant_ref"></a><a class="link" href="discrete_quant_ref.html" title="Discrete Quantile Policies">Discrete Quantile
+ Policies</a>
+</h3></div></div></div>
+<p>
+ If a statistical distribution is <span class="emphasis"><em>discrete</em></span> then the random
+ variable can only have integer values - this leaves us with a problem when
+ calculating quantiles - we can either ignore the discreteness of the distribution
+ and return a real value, or we can round to an integer. As it happens, computing
+ integer values can be substantially faster than calculating a real value,
+ so there are definite advantages to returning an integer, but we do then
+ need to decide how best to round the result. The <code class="computeroutput"><span class="identifier">discrete_quantile</span></code>
+ policy defines how discrete quantiles work, and how integer results are rounded:
+ </p>
+<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">discrete_quantile_policy_type</span>
+<span class="special">{</span>
+ <span class="identifier">real</span><span class="special">,</span>
+ <span class="identifier">integer_round_outwards</span><span class="special">,</span> <span class="comment">// default</span>
+ <span class="identifier">integer_round_inwards</span><span class="special">,</span>
+ <span class="identifier">integer_round_down</span><span class="special">,</span>
+ <span class="identifier">integer_round_up</span><span class="special">,</span>
+ <span class="identifier">integer_round_nearest</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">discrete_quantile_policy_type</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">discrete_quantile</span><span class="special">;</span>
+</pre>
+<p>
+ The values that <code class="computeroutput"><span class="identifier">discrete_quantile</span></code>
+ can take have the following meanings:
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.discrete_quant_ref.h0"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.discrete_quant_ref.real"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.pol_ref.discrete_quant_ref.real">real</a>
+ </h6>
+<p>
+ Ignores the discreteness of the distribution, and returns a real-valued result.
+ For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">real</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">dist_type</span><span class="special">;</span>
+
+<span class="comment">// Lower 5% quantile:</span>
+<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span>
+<span class="comment">// Upper 95% quantile:</span>
+<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span>
+</pre>
+<p>
+ Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
+ <span class="number">27.3898</span></code> and <code class="computeroutput"><span class="identifier">y</span>
+ <span class="special">=</span> <span class="number">68.1584</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.discrete_quant_ref.h1"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.discrete_quant_ref.integer_round_outwards"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.pol_ref.discrete_quant_ref.integer_round_outwards">integer_round_outwards</a>
+ </h6>
+<p>
+ This is the default policy: an integer value is returned so that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Lower quantiles (where the probability is less than 0.5) are rounded
+ down.
+ </li>
+<li class="listitem">
+ Upper quantiles (where the probability is greater than 0.5) are rounded
+ up.
+ </li>
+</ul></div>
+<p>
+ This is normally the safest rounding policy, since it ensures that both one
+ and two sided intervals are guaranteed to have <span class="emphasis"><em>at least</em></span>
+ the requested coverage. For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span>
+
+<span class="comment">// Use the default rounding policy integer_round_outwards.</span>
+<span class="comment">// Lower quantile rounded down:</span>
+<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// rounded up 27 from 27.3898</span>
+<span class="comment">// Upper quantile rounded up:</span>
+<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span> <span class="comment">// rounded down to 69 from 68.1584</span>
+</pre>
+<p>
+ Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
+ <span class="number">27</span></code> (rounded down from 27.3898) and
+ <code class="computeroutput"><span class="identifier">y</span> <span class="special">=</span>
+ <span class="number">69</span></code> (rounded up from 68.1584).
+ </p>
+<p>
+ The variables x and y are now defined so that:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0.05</span>
+<span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="number">0.95</span>
+</pre>
+<p>
+ In other words we guarantee <span class="emphasis"><em>at least 90% coverage in the central
+ region overall</em></span>, and also <span class="emphasis"><em>no more than 5% coverage in
+ each tail</em></span>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.discrete_quant_ref.h2"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.discrete_quant_ref.integer_round_inwards"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.pol_ref.discrete_quant_ref.integer_round_inwards">integer_round_inwards</a>
+ </h6>
+<p>
+ This is the opposite of <span class="emphasis"><em>integer_round_outwards</em></span>: an integer
+ value is returned so that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Lower quantiles (where the probability is less than 0.5) are rounded
+ <span class="emphasis"><em>up</em></span>.
+ </li>
+<li class="listitem">
+ Upper quantiles (where the probability is greater than 0.5) are rounded
+ <span class="emphasis"><em>down</em></span>.
+ </li>
+</ul></div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_inwards</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">dist_type</span><span class="special">;</span>
+
+<span class="comment">// Lower quantile rounded up:</span>
+<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// 28 rounded up from 27.3898</span>
+<span class="comment">// Upper quantile rounded down:</span>
+<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span> <span class="comment">// 68 rounded down from 68.1584</span>
+</pre>
+<p>
+ Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
+ <span class="number">28</span></code> (rounded up from 27.3898) and <code class="computeroutput"><span class="identifier">y</span> <span class="special">=</span> <span class="number">68</span></code>
+ (rounded down from 68.1584).
+ </p>
+<p>
+ The variables x and y are now defined so that:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="number">0.05</span>
+<span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0.95</span>
+</pre>
+<p>
+ In other words we guarantee <span class="emphasis"><em>at no more than 90% coverage in the
+ central region overall</em></span>, and also <span class="emphasis"><em>at least 5% coverage
+ in each tail</em></span>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.discrete_quant_ref.h3"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.discrete_quant_ref.integer_round_down"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.pol_ref.discrete_quant_ref.integer_round_down">integer_round_down</a>
+ </h6>
+<p>
+ Always rounds down to an integer value, no matter whether it's an upper or
+ a lower quantile.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.discrete_quant_ref.h4"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.discrete_quant_ref.integer_round_up"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.pol_ref.discrete_quant_ref.integer_round_up">integer_round_up</a>
+ </h6>
+<p>
+ Always rounds up to an integer value, no matter whether it's an upper or
+ a lower quantile.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.discrete_quant_ref.h5"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.discrete_quant_ref.integer_round_nearest"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.pol_ref.discrete_quant_ref.integer_round_nearest">integer_round_nearest</a>
+ </h6>
+<p>
+ Always rounds to the nearest integer value, no matter whether it's an upper
+ or a lower quantile. This will produce the requested coverage <span class="emphasis"><em>in
+ the average case</em></span>, but for any specific example may results in
+ either significantly more or less coverage than the requested amount. For
+ example:
+ </p>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">dist_type</span><span class="special">;</span>
+
+<span class="comment">// Lower quantile rounded (down) to nearest:</span>
+<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// 27</span>
+<span class="comment">// Upper quantile rounded (down) to nearest:</span>
+<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span> <span class="comment">// 68</span>
+</pre>
+<p>
+ Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
+ <span class="number">27</span></code> (rounded from 27.3898) and <code class="computeroutput"><span class="identifier">y</span> <span class="special">=</span> <span class="number">68</span></code>
+ (rounded from 68.1584).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="assert_undefined.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="precision_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/error_handling_policies.html b/libs/math/doc/html/math_toolkit/pol_ref/error_handling_policies.html
new file mode 100644
index 0000000000..900e7ea02a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/error_handling_policies.html
@@ -0,0 +1,773 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Error Handling Policies</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="../pol_ref.html" title="Policy Reference">
+<link rel="next" href="internal_promotion.html" title="Internal Floating-point Promotion Policies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pol_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internal_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.error_handling_policies"></a><a class="link" href="error_handling_policies.html" title="Error Handling Policies">Error Handling
+ Policies</a>
+</h3></div></div></div>
+<p>
+ There are two orthogonal aspects to error handling:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ What to do (if anything) with the error.
+ </li>
+<li class="listitem">
+ What kind of error is being raised.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.pol_ref.error_handling_policies.h0"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.error_handling_policies.available_actions_when_an_error_"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.pol_ref.error_handling_policies.available_actions_when_an_error_">Available
+ Actions When an Error is Raised</a>
+ </h5>
+<p>
+ What to do with the error is encapsulated by an enumerated type:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span> <span class="special">{</span>
+
+<span class="keyword">enum</span> <span class="identifier">error_policy_type</span>
+<span class="special">{</span>
+ <span class="identifier">throw_on_error</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="comment">// throw an exception.</span>
+ <span class="identifier">errno_on_error</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="comment">// set ::errno &amp; return 0, NaN, infinity or best guess.</span>
+ <span class="identifier">ignore_error</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="comment">// return 0, NaN, infinity or best guess.</span>
+ <span class="identifier">user_error</span> <span class="special">=</span> <span class="number">3</span> <span class="comment">// call a user-defined error handler.</span>
+<span class="special">};</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The various enumerated values have the following meanings:
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.error_handling_policies.h1"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.error_handling_policies.throw_on_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.pol_ref.error_handling_policies.throw_on_error">throw_on_error</a>
+ </h6>
+<p>
+ Will throw one of the following exceptions, depending upon the type of the
+ error:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Error Type
+ </p>
+ </th>
+<th>
+ <p>
+ Exception
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Domain Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::domain_error
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pole Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::domain_error
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Overflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::overflow_error
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Underflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::underflow_error
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Denorm Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::underflow_error
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Evaluation Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::evaluation_error
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Indeterminate Result Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::domain_error
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="math_toolkit.pol_ref.error_handling_policies.h2"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.error_handling_policies.errno_on_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.pol_ref.error_handling_policies.errno_on_error">errno_on_error</a>
+ </h6>
+<p>
+ Will set global <a href="http://en.wikipedia.org/wiki/Errno" target="_top"><code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code></a>
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to one of the following values depending upon the error type (often EDOM
+ = 33 and ERANGE = 34), and then return the same value as if the error had
+ been ignored:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Error Type
+ </p>
+ </th>
+<th>
+ <p>
+ errno value
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Domain Error
+ </p>
+ </td>
+<td>
+ <p>
+ EDOM
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pole Error
+ </p>
+ </td>
+<td>
+ <p>
+ EDOM
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Overflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ ERANGE
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Underflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ ERANGE
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Denorm Error
+ </p>
+ </td>
+<td>
+ <p>
+ ERANGE
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Evaluation Error
+ </p>
+ </td>
+<td>
+ <p>
+ EDOM
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Indeterminate Result Error
+ </p>
+ </td>
+<td>
+ <p>
+ EDOM
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="math_toolkit.pol_ref.error_handling_policies.h3"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.error_handling_policies.ignore_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.pol_ref.error_handling_policies.ignore_error">ignore_error</a>
+ </h6>
+<p>
+ Will return one of the values below depending on the error type (<code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ is NOT changed)::
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Error Type
+ </p>
+ </th>
+<th>
+ <p>
+ Returned Value
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Domain Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::numeric_limits&lt;T&gt;::quiet_NaN()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pole Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::numeric_limits&lt;T&gt;::quiet_NaN()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Overflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ std::numeric_limits&lt;T&gt;::infinity()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Underflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Denorm Error
+ </p>
+ </td>
+<td>
+ <p>
+ The denormalised value.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Evaluation Error
+ </p>
+ </td>
+<td>
+ <p>
+ The best guess (perhaps NaN) as to the result: which may be significantly
+ in error.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Indeterminate Result Error
+ </p>
+ </td>
+<td>
+ <p>
+ Depends on the function where the error occurred
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="math_toolkit.pol_ref.error_handling_policies.h4"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.error_handling_policies.user_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.pol_ref.error_handling_policies.user_error">user_error</a>
+ </h6>
+<p>
+ Will call a user defined error handler: these are forward declared in boost/math/policies/error_handling.hpp,
+ but the actual definitions must be provided by the user:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_underflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_denorm_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_rounding_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_evaluation_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_indeterminate_result_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Note that the strings <span class="emphasis"><em>function</em></span> and <span class="emphasis"><em>message</em></span>
+ may contain "%1%" format specifiers designed to be used in conjunction
+ with Boost.Format. If these strings are to be presented to the program's
+ end-user then the "%1%" format specifier should be replaced with
+ the name of type T in the <span class="emphasis"><em>function</em></span> string, and if there
+ is a %1% specifier in the <span class="emphasis"><em>message</em></span> string then it should
+ be replaced with the value of <span class="emphasis"><em>val</em></span>.
+ </p>
+<p>
+ There is more information on user-defined error handlers in the <a class="link" href="../pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">tutorial
+ here</a>.
+ </p>
+<h5>
+<a name="math_toolkit.pol_ref.error_handling_policies.h5"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.error_handling_policies.kinds_of_error_raised"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.pol_ref.error_handling_policies.kinds_of_error_raised">Kinds
+ of Error Raised</a>
+ </h5>
+<p>
+ There are six kinds of error reported by this library, which are summarised
+ in the following table:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Error Type
+ </p>
+ </th>
+<th>
+ <p>
+ Policy Class
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Domain Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::domain_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised when more or more arguments are outside the defined range
+ of the function.
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
+ </p>
+ <p>
+ When the action is set to <span class="emphasis"><em>throw_on_error</em></span> then
+ throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Pole Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::pole_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised when more or more arguments would cause the function to
+ be evaluated at a pole.
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
+ </p>
+ <p>
+ When the action is <span class="emphasis"><em>throw_on_error</em></span> then throw
+ a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Overflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::overflow_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised when the result of the function is outside the representable
+ range of the floating point type used.
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>.
+ </p>
+ <p>
+ When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
+ a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Underflow Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::underflow_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised when the result of the function is too small to be represented
+ in the floating point type used.
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">underflow_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span></code>
+ </p>
+ <p>
+ When the specified action is <span class="emphasis"><em>throw_on_error</em></span>
+ then throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Denorm Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::denorm_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised when the result of the function is a denormalised value.
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">denorm_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span></code>
+ </p>
+ <p>
+ When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
+ a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Rounding Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::rounding_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised When one of the rounding functions <a class="link" href="../rounding/round.html" title="Rounding Functions">round</a>,
+ <a class="link" href="../rounding/trunc.html" title="Truncation Functions">trunc</a> or <a class="link" href="../rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">modf</a> is called with
+ an argument that has no integer representation, or is too large
+ to be represented in the result type
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">rounding_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
+ </p>
+ <p>
+ When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Evaluation Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::evaluation_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised when the result of the function is well defined and finite,
+ but we were unable to compute it. Typically this occurs when an
+ iterative method fails to converge. Of course ideally this error
+ should never be raised: feel free to report it as a bug if it is!
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
+ </p>
+ <p>
+ When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Indeterminate Result Error
+ </p>
+ </td>
+<td>
+ <p>
+ boost::math::policies::indeterminate_result_error&lt;<span class="emphasis"><em>action</em></span>&gt;
+ </p>
+ </td>
+<td>
+ <p>
+ Raised when the result of a function is not defined for the values
+ that were passed to it.
+ </p>
+ <p>
+ Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">indeterminate_result_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span></code>
+ </p>
+ <p>
+ When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.pol_ref.error_handling_policies.h6"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.error_handling_policies.examples"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.pol_ref.error_handling_policies.examples">Examples</a>
+ </h5>
+<p>
+ Suppose we want a call to <code class="computeroutput"><span class="identifier">tgamma</span></code>
+ to behave in a C-compatible way and set global <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> rather than throw an exception, we
+ can achieve this at the call site using:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
+
+<span class="comment">//using namespace boost::math::policies; may also be convenient.</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
+
+<span class="comment">// Define a policy:</span>
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">my_value</span> <span class="special">=</span> <span class="number">0.</span><span class="special">;</span> <span class="comment">// </span>
+
+<span class="comment">// Call the function applying my_policy:</span>
+<span class="keyword">double</span> <span class="identifier">t1</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">my_value</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">());</span>
+
+<span class="comment">// Alternatively (and equivalently) we could use helpful function</span>
+<span class="comment">// make_policy and define everything at the call site:</span>
+<span class="keyword">double</span> <span class="identifier">t2</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">my_value</span><span class="special">,</span>
+ <span class="identifier">make_policy</span><span class="special">(</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;()</span> <span class="special">)</span>
+ <span class="special">);</span>
+</pre>
+<p>
+ Suppose we want a statistical distribution to return infinities, rather than
+ throw exceptions, then we can use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="comment">// Define a specific policy:</span>
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+
+<span class="comment">// Define the distribution, using my_policy:</span>
+<span class="keyword">typedef</span> <span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">my_norm</span><span class="special">;</span>
+
+<span class="comment">// Construct a my_norm distribution, using default mean and standard deviation,</span>
+<span class="comment">// and get a 0.05 or 5% quantile:</span>
+<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_norm</span><span class="special">(),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// = -1.64485</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pol_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internal_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/internal_promotion.html b/libs/math/doc/html/math_toolkit/pol_ref/internal_promotion.html
new file mode 100644
index 0000000000..5d3a3dbdca
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/internal_promotion.html
@@ -0,0 +1,150 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Internal Floating-point Promotion Policies</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="error_handling_policies.html" title="Error Handling Policies">
+<link rel="next" href="assert_undefined.html" title="Mathematically Undefined Function Policies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_handling_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_undefined.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.internal_promotion"></a><a class="link" href="internal_promotion.html" title="Internal Floating-point Promotion Policies">Internal Floating-point
+ Promotion Policies</a>
+</h3></div></div></div>
+<p>
+ Normally when evaluating a function at say <code class="computeroutput"><span class="keyword">float</span></code>
+ precision, maximal accuracy is assured by conducting the calculation at
+ <code class="computeroutput"><span class="keyword">double</span></code> precision internally,
+ and then rounding the result. There are two policies that control whether
+ internal promotion to a higher precision floating-point type takes place,
+ or not:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Policy
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Indicates whether <code class="computeroutput"><span class="keyword">float</span></code>
+ arguments should be promoted to <code class="computeroutput"><span class="keyword">double</span></code>
+ precision internally: defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="keyword">true</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_double</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Indicates whether <code class="computeroutput"><span class="keyword">double</span></code>
+ arguments should be promoted to <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> precision internally:
+ defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">true</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.pol_ref.internal_promotion.h0"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.internal_promotion.examples"></a></span><a class="link" href="internal_promotion.html#math_toolkit.pol_ref.internal_promotion.examples">Examples</a>
+ </h5>
+<p>
+ Suppose we want <code class="computeroutput"><span class="identifier">tgamma</span></code> to
+ be evaluated without internal promotion to <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, then we could use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
+
+<span class="comment">// Define a new policy *not* internally promoting RealType to double:</span>
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+
+<span class="comment">// Call the function, applying the new policy:</span>
+<span class="keyword">double</span> <span class="identifier">t1</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">some_value</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">());</span>
+
+<span class="comment">// Alternatively we could use helper function make_policy,</span>
+<span class="comment">// and concisely define everything at the call site:</span>
+<span class="keyword">double</span> <span class="identifier">t2</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">some_value</span><span class="special">,</span> <span class="identifier">make_policy</span><span class="special">(</span><span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;()));</span>
+</pre>
+<p>
+ Alternatively, suppose we want a distribution to perform calculations without
+ promoting <code class="computeroutput"><span class="keyword">float</span></code> to <code class="computeroutput"><span class="keyword">double</span></code>, then we could use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="comment">// Define a policy:</span>
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">promote_float</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+
+<span class="comment">// Define the new normal distribution using my_policy:</span>
+<span class="keyword">typedef</span> <span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">my_norm</span><span class="special">;</span>
+
+<span class="comment">// Get a quantile:</span>
+<span class="keyword">float</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_norm</span><span class="special">(),</span> <span class="number">0.05f</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_handling_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_undefined.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/iteration_pol.html b/libs/math/doc/html/math_toolkit/pol_ref/iteration_pol.html
new file mode 100644
index 0000000000..5a8cf8d4e9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/iteration_pol.html
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Iteration Limits Policies</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="precision_pol.html" title="Precision Policies">
+<link rel="next" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="precision_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_defaults.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.iteration_pol"></a><a class="link" href="iteration_pol.html" title="Iteration Limits Policies">Iteration Limits
+ Policies</a>
+</h3></div></div></div>
+<p>
+ There are two policies that effect the iterative algorithms used to implement
+ the special functions in this library:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">limit</span> <span class="special">=</span> <span class="identifier">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">max_series_iterations</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">limit</span> <span class="special">=</span> <span class="identifier">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">max_root_iterations</span><span class="special">;</span>
+</pre>
+<p>
+ The class <code class="computeroutput"><span class="identifier">max_series_iterations</span></code>
+ determines the maximum number of iterations permitted in a series evaluation,
+ before the special function gives up and returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.evaluation_error">evaluation_error</a>.
+ </p>
+<p>
+ The class <code class="computeroutput"><span class="identifier">max_root_iterations</span></code>
+ determines the maximum number of iterations permitted in a root-finding algorithm
+ before the special function gives up and returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.evaluation_error">evaluation_error</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="precision_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_defaults.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/namespace_pol.html b/libs/math/doc/html/math_toolkit/pol_ref/namespace_pol.html
new file mode 100644
index 0000000000..396dec0fc2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/namespace_pol.html
@@ -0,0 +1,157 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Setting Polices at Namespace Scope</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">
+<link rel="next" href="pol_ref_ref.html" title="Policy Class Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="policy_defaults.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.namespace_pol"></a><a class="link" href="namespace_pol.html" title="Setting Polices at Namespace Scope">Setting Polices at
+ Namespace Scope</a>
+</h3></div></div></div>
+<p>
+ Sometimes what you really want to do is bring all the special functions,
+ or all the distributions into a specific namespace-scope, along with a specific
+ policy to use with them. There are two macros defined to assist with that:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">Policy</span><span class="special">)</span>
+</pre>
+<p>
+ and:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">)</span>
+</pre>
+<p>
+ You can use either of these macros after including any special function or
+ distribution header. For example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">//using boost::math::tgamma;</span>
+<span class="comment">// Need not declare using boost::math::tgamma here,</span>
+<span class="comment">// because will define tgamma in myspace using macro below.</span>
+
+<span class="keyword">namespace</span> <span class="identifier">myspace</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+ <span class="comment">// Define a policy that does not throw on overflow:</span>
+ <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+
+ <span class="comment">// Define the special functions in this scope to use the policy: </span>
+ <span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">my_policy</span><span class="special">)</span>
+<span class="special">}</span>
+
+<span class="comment">// Now we can use myspace::tgamma etc.</span>
+<span class="comment">// They will automatically use "my_policy":</span>
+<span class="comment">//</span>
+<span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">myspace</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="number">30.0</span><span class="special">);</span> <span class="comment">// Will *not* throw on overflow,</span>
+<span class="comment">// despite the large value of factorial 30 = 265252859812191058636308480000000</span>
+<span class="comment">// unlike default policy boost::math::tgamma;</span>
+</pre>
+<p>
+ In this example, using BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS results in a
+ set of thin inline forwarding functions being defined:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">){</span> <span class="keyword">return</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">());</span> <span class="special">}</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">(</span> <span class="keyword">return</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">());</span> <span class="special">}</span>
+</pre>
+<p>
+ and so on. Note that while a forwarding function is defined for all the special
+ functions, however, unless you include the specific header for the special
+ function you use (or boost/math/special_functions.hpp to include everything),
+ you will get linker errors from functions that are forward declared, but
+ not defined.
+ </p>
+<p>
+ We can do the same thing with the distributions, but this time we need to
+ specify the floating-point type to use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">myspace</span>
+<span class="special">{</span> <span class="comment">// using namespace boost::math::policies; // May be convenient in myspace.</span>
+
+ <span class="comment">// Define a policy called my_policy to use.</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+
+<span class="comment">// In this case we want all the distribution accessor functions to compile,</span>
+<span class="comment">// even if they are mathematically undefined, so</span>
+<span class="comment">// make the policy assert_undefined.</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">assert_undefined</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+
+<span class="comment">// Finally apply this policy to type double.</span>
+<span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">)</span>
+<span class="special">}</span> <span class="comment">// namespace myspace</span>
+
+<span class="comment">// Now we can use myspace::cauchy etc, which will use policy</span>
+<span class="comment">// myspace::mypolicy:</span>
+<span class="comment">//</span>
+<span class="comment">// This compiles but throws a domain error exception at runtime.</span>
+<span class="comment">// Caution! If you omit the try'n'catch blocks, </span>
+<span class="comment">// it will just silently terminate, giving no clues as to why! </span>
+<span class="comment">// So try'n'catch blocks are very strongly recommended.</span>
+
+<span class="keyword">void</span> <span class="identifier">test_cauchy</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="keyword">double</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">cauchy</span><span class="special">());</span> <span class="comment">// Cauchy does not have a mean!</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+<p>
+ In this example the result of BOOST_MATH_DECLARE_DISTRIBUTIONS is to declare
+ a typedef for each distribution like this:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">cauchy</span><span class="special">;</span>
+<span class="identifier">tyepdef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span>
+</pre>
+<p>
+ and so on. The name given to each typedef is the name of the distribution
+ with the "_distribution" suffix removed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="policy_defaults.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/pol_ref_ref.html b/libs/math/doc/html/math_toolkit/pol_ref/pol_ref_ref.html
new file mode 100644
index 0000000000..8c5d60f314
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/pol_ref_ref.html
@@ -0,0 +1,258 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Policy Class Reference</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="namespace_pol.html" title="Setting Polices at Namespace Scope">
+<link rel="next" href="../../perf.html" title="Chapter&#160;15.&#160;Performance">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespace_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../perf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.pol_ref_ref"></a><a class="link" href="pol_ref_ref.html" title="Policy Class Reference">Policy Class Reference</a>
+</h3></div></div></div>
+<p>
+ There's very little to say here, the <code class="computeroutput"><span class="identifier">policy</span></code>
+ class is just a rag-bag compile-time container for a collection of policies:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">policies</span><span class="special">/</span><span class="identifier">policy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">policies</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">policy</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">domain_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">pole_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">overflow_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">underflow_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">denorm_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">rounding_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">evaluation_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">indeterminate_result_error_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">precision_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">promote_float_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">promote_double_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">discrete_quantile_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">assert_undefined_type</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special">&lt;</span><span class="identifier">policy</span><span class="special">&lt;&gt;,</span> <span class="identifier">A1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">make_policy</span><span class="special">(...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">..);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">normalise</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> computed-from-template-arguments <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The member typedefs of class <code class="computeroutput"><span class="identifier">policy</span></code>
+ are intended for internal use but are documented briefly here for the sake
+ of completeness.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">domain_error_type</span>
+</pre>
+<p>
+ Specifies how domain errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">domain_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">pole_error_type</span>
+</pre>
+<p>
+ Specifies how pole-errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">pole_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">overflow_error_type</span>
+</pre>
+<p>
+ Specifies how overflow errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">overflow_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">underflow_error_type</span>
+</pre>
+<p>
+ Specifies how underflow errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">underflow_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">underflow_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">denorm_error_type</span>
+</pre>
+<p>
+ Specifies how denorm errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">denorm_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">denorm_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">rounding_error_type</span>
+</pre>
+<p>
+ Specifies how rounding errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">rounding_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">rounding_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">evaluation_error_type</span>
+</pre>
+<p>
+ Specifies how evaluation errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">evaluation_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">indeterminate_error_type</span>
+</pre>
+<p>
+ Specifies how indeterminate result errors are handled, will be an instance
+ of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">indeterminate_result_error</span><span class="special">&lt;&gt;</span></code>
+ with the template argument to <code class="computeroutput"><span class="identifier">indeterminate_result_error</span></code>
+ one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
+ enumerated values.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">precision_type</span>
+</pre>
+<p>
+ Specifies the internal precision to use in binary digits (uses zero to represent
+ whatever the default precision is). Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code> which
+ in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">promote_float_type</span>
+</pre>
+<p>
+ Specifies whether or not to promote <code class="computeroutput"><span class="keyword">float</span></code>
+ arguments to <code class="computeroutput"><span class="keyword">double</span></code> precision
+ internally. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
+ which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">promote_double_type</span>
+</pre>
+<p>
+ Specifies whether or not to promote <code class="computeroutput"><span class="keyword">double</span></code>
+ arguments to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ precision internally. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
+ which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">discrete_quantile_type</span>
+</pre>
+<p>
+ Specifies how discrete quantiles are evaluated, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">&lt;&gt;</span></code>
+ instantiated with one of the <code class="computeroutput"><span class="identifier">discrete_quantile_policy_type</span></code>
+ enumerated type.
+ </p>
+<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">assert_undefined_type</span>
+</pre>
+<p>
+ Specifies whether mathematically-undefined properties are asserted as compile-time
+ errors, or treated as runtime errors instead. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code> which
+ in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special">&lt;</span><span class="identifier">policy</span><span class="special">&lt;&gt;,</span> <span class="identifier">A1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">make_policy</span><span class="special">(...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">..);</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">make_policy</span></code> is a helper function
+ that converts a list of policies into a normalised <code class="computeroutput"><span class="identifier">policy</span></code>
+ class.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">normalise</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> computed-from-template-arguments <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">normalise</span></code> class template
+ converts one instantiation of the <code class="computeroutput"><span class="identifier">policy</span></code>
+ class into a normalised form. This is used internally to reduce code bloat:
+ so that instantiating a special function on <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">&gt;</span></code> or
+ <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">&gt;</span></code> actually both generate the same code
+ internally.
+ </p>
+<p>
+ Further more, <code class="computeroutput"><span class="identifier">normalise</span></code> can
+ be used to combine a policy with one or more policies: for example many of
+ the special functions will use this to set policies which they don't make
+ use of to their default values, before forwarding to the actual implementation.
+ In this way code bloat is reduced, since the actual implementation depends
+ only on the policy types that they actually use.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespace_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../perf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/policy_defaults.html b/libs/math/doc/html/math_toolkit/pol_ref/policy_defaults.html
new file mode 100644
index 0000000000..9f30b97e77
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/policy_defaults.html
@@ -0,0 +1,258 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using Macros to Change the Policy Defaults</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="iteration_pol.html" title="Iteration Limits Policies">
+<link rel="next" href="namespace_pol.html" title="Setting Polices at Namespace Scope">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iteration_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.policy_defaults"></a><a class="link" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">Using Macros to
+ Change the Policy Defaults</a>
+</h3></div></div></div>
+<p>
+ You can use the various macros below to change any (or all) of the policies.
+ </p>
+<p>
+ You can make a local change by placing a macro definition <span class="bold"><strong>before</strong></span>
+ a function or distribution #include.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ There is a danger of One-Definition-Rule violations if you add ad-hoc macros
+ to more than one source files: these must be set the same in <span class="bold"><strong>every translation unit</strong></span>.
+ </p></td></tr>
+</table></div>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If you place it after the #include it will have no effect, (and it will
+ affect only any other following #includes). This is probably not what you
+ intend!
+ </p></td></tr>
+</table></div>
+<p>
+ If you want to alter the defaults for any or all of the policies for <span class="bold"><strong>all</strong></span> functions and distributions, installation-wide,
+ then you can do so by defining various macros in <a href="../../../../../../boost/math/tools/user.hpp" target="_top">boost/math/tools/user.hpp</a>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h0"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_domain_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_domain_error_policy">BOOST_MATH_DOMAIN_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when a domain error occurs, if not defined then defaults
+ to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, but can
+ be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h1"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_pole_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_pole_error_policy">BOOST_MATH_POLE_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when a pole error occurs, if not defined then defaults
+ to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, but can
+ be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h2"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_overflow_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_overflow_error_policy">BOOST_MATH_OVERFLOW_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when an overflow error occurs, if not defined then defaults
+ to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, but can
+ be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h3"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_rounding_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_rounding_error_policy">BOOST_MATH_ROUNDING_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when a rounding error occurs, if not defined then defaults
+ to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, but can
+ be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h4"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_evaluation_error_poli"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_evaluation_error_poli">BOOST_MATH_EVALUATION_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when an internal evaluation error occurs, if not defined
+ then defaults to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>,
+ but can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h5"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_underflow_error_polic"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_underflow_error_polic">BOOST_MATH_UNDERFLOW_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when an overflow error occurs, if not defined then defaults
+ to <code class="computeroutput"><span class="identifier">ignore_error</span></code>, but can
+ be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h6"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_denorm_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_denorm_error_policy">BOOST_MATH_DENORM_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when a denormalisation error occurs, if not defined
+ then defaults to <code class="computeroutput"><span class="identifier">ignore_error</span></code>,
+ but can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h7"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_indeterminate_result_"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_indeterminate_result_">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</a>
+ </h6>
+<p>
+ Defines what happens when the result is indeterminate, but where there is
+ none the less a convention for the result. If not defined then defaults to
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code>, but can be
+ set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>,
+ <code class="computeroutput"><span class="identifier">errno_on_error</span></code>, <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h8"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_digits10_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_digits10_policy">BOOST_MATH_DIGITS10_POLICY</a>
+ </h6>
+<p>
+ Defines how many decimal digits to use in internal computations: defaults
+ to <code class="computeroutput"><span class="number">0</span></code> - meaning use all available
+ digits - but can be set to some other decimal value. Since setting this is
+ likely to have a substantial impact on accuracy, it's not generally recommended
+ that you change this from the default.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h9"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_promote_float_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_promote_float_policy">BOOST_MATH_PROMOTE_FLOAT_POLICY</a>
+ </h6>
+<p>
+ Determines whether <code class="computeroutput"><span class="keyword">float</span></code> types
+ get promoted to <code class="computeroutput"><span class="keyword">double</span></code> internally
+ to ensure maximum precision in the result, defaults to <code class="computeroutput"><span class="keyword">true</span></code>,
+ but can be set to <code class="computeroutput"><span class="keyword">false</span></code> to turn
+ promotion of <code class="computeroutput"><span class="keyword">float</span></code>'s off.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h10"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_promote_double_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_promote_double_policy">BOOST_MATH_PROMOTE_DOUBLE_POLICY</a>
+ </h6>
+<p>
+ Determines whether <code class="computeroutput"><span class="keyword">double</span></code> types
+ get promoted to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ internally to ensure maximum precision in the result, defaults to <code class="computeroutput"><span class="keyword">true</span></code>, but can be set to <code class="computeroutput"><span class="keyword">false</span></code>
+ to turn promotion of <code class="computeroutput"><span class="keyword">double</span></code>'s
+ off.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h11"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_discrete_quantile_pol"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_discrete_quantile_pol">BOOST_MATH_DISCRETE_QUANTILE_POLICY</a>
+ </h6>
+<p>
+ Determines how discrete quantiles return their results: either as an integer,
+ or as a real value, can be set to one of the enumerated values: <code class="computeroutput"><span class="identifier">real</span></code>, <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>,
+ <code class="computeroutput"><span class="identifier">integer_round_inwards</span></code>, <code class="computeroutput"><span class="identifier">integer_round_down</span></code>, <code class="computeroutput"><span class="identifier">integer_round_up</span></code>,
+ <code class="computeroutput"><span class="identifier">integer_round_nearest</span></code>. Defaults
+ to <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h12"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_assert_undefined_poli"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_assert_undefined_poli">BOOST_MATH_ASSERT_UNDEFINED_POLICY</a>
+ </h6>
+<p>
+ Determines whether functions that are mathematically undefined for a specific
+ distribution compile or raise a static (i.e. compile-time) assertion. Defaults
+ to <code class="computeroutput"><span class="keyword">true</span></code>: meaning that any mathematically
+ undefined function will not compile. When set to <code class="computeroutput"><span class="keyword">false</span></code>
+ then the function will compile but return the result of a domain error: this
+ can be useful for some generic code, that needs to work with all distributions
+ and determine at runtime whether or not a particular property is well defined.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h13"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_max_series_iteration_"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_max_series_iteration_">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</a>
+ </h6>
+<p>
+ Determines how many series iterations a special function is permitted to
+ perform before it gives up and returns an <a class="link" href="../error_handling.html#math_toolkit.error_handling.evaluation_error">evaluation_error</a>:
+ Defaults to 1000000.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h14"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.boost_math_max_root_iteration_po"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.boost_math_max_root_iteration_po">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</a>
+ </h6>
+<p>
+ Determines how many root-finding iterations a special function is permitted
+ to perform before it gives up and returns an <a class="link" href="../error_handling.html#math_toolkit.error_handling.evaluation_error">evaluation_error</a>:
+ Defaults to 200.
+ </p>
+<h6>
+<a name="math_toolkit.pol_ref.policy_defaults.h15"></a>
+ <span class="phrase"><a name="math_toolkit.pol_ref.policy_defaults.example"></a></span><a class="link" href="policy_defaults.html#math_toolkit.pol_ref.policy_defaults.example">Example</a>
+ </h6>
+<p>
+ Suppose we want overflow errors to set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> and return an infinity, discrete
+ quantiles to return a real-valued result (rather than round to integer),
+ and for mathematically undefined functions to compile, but return a domain
+ error. Then we could add the following to boost/math/tools/user.hpp:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span> <span class="keyword">false</span>
+</pre>
+<p>
+ or we could place these definitions <span class="bold"><strong>before</strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
+</pre>
+<p>
+ in a source .cpp file.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iteration_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_ref/precision_pol.html b/libs/math/doc/html/math_toolkit/pol_ref/precision_pol.html
new file mode 100644
index 0000000000..dbcf73f914
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_ref/precision_pol.html
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Precision Policies</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_ref.html" title="Policy Reference">
+<link rel="prev" href="discrete_quant_ref.html" title="Discrete Quantile Policies">
+<link rel="next" href="iteration_pol.html" title="Iteration Limits Policies">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="discrete_quant_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_ref.precision_pol"></a><a class="link" href="precision_pol.html" title="Precision Policies">Precision Policies</a>
+</h3></div></div></div>
+<p>
+ There are two equivalent policies that effect the <span class="emphasis"><em>working precision</em></span>
+ used to calculate results, these policies both default to 0 - meaning calculate
+ to the maximum precision available in the type being used - but can be set
+ to other values to cause lower levels of precision to be used. One might
+ want to trade precision for evaluation speed.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">digits10</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
+<span class="identifier">digits2</span><span class="special">;</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ As you would expect, <span class="emphasis"><em>digits10</em></span> specifies the number of
+ decimal digits to use, and <span class="emphasis"><em>digits2</em></span> the number of binary
+ digits. Internally, whichever is used, the precision is always converted
+ to <span class="emphasis"><em>binary digits</em></span>.
+ </p>
+<p>
+ These policies are specified at compile-time, because many of the special
+ functions use compile-time-dispatch to select which approximation to use
+ based on the precision requested and the numeric type being used.
+ </p>
+<p>
+ For example we could calculate <code class="computeroutput"><span class="identifier">tgamma</span></code>
+ to approximately 5 decimal digits using:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits10</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">digits10</span><span class="special">&lt;</span><span class="number">5</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_pol_5</span><span class="special">;</span> <span class="comment">// Define a new, non-default, policy</span>
+<span class="comment">// to calculate tgamma to accuracy of approximately 5 decimal digits.</span>
+</pre>
+<p>
+ Or again using helper function <code class="computeroutput"><span class="identifier">make_policy</span></code>:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">digits10</span><span class="special">&lt;</span><span class="number">5</span><span class="special">&gt;</span> <span class="special">&gt;());</span> <span class="comment">// Concise make_policy.</span>
+</pre>
+<p>
+ And for a quantile of a distribution to approximately 25-bit precision:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">bits</span> <span class="special">=</span> <span class="number">25</span><span class="special">;</span> <span class="comment">// approximate precision.</span>
+
+<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span>
+ <span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">bits</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;(),</span>
+ <span class="number">0.05</span><span class="special">);</span> <span class="comment">// 5% quantile.</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="discrete_quant_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial.html b/libs/math/doc/html/math_toolkit/pol_tutorial.html
new file mode 100644
index 0000000000..1e3383bebc
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Policy Tutorial</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">
+<link rel="prev" href="pol_overview.html" title="Policy Overview">
+<link rel="next" href="pol_tutorial/what_is_a_policy.html" title="So Just What is a Policy Anyway?">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pol_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial/what_is_a_policy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.pol_tutorial"></a><a class="link" href="pol_tutorial.html" title="Policy Tutorial">Policy Tutorial</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="pol_tutorial/what_is_a_policy.html">So Just What
+ is a Policy Anyway?</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/policy_tut_defaults.html">Policies
+ Have Sensible Defaults</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/policy_usage.html">So How are Policies
+ Used Anyway?</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/changing_policy_defaults.html">Changing
+ the Policy Defaults</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/ad_hoc_dist_policies.html">Setting
+ Policies for Distributions on an Ad Hoc Basis</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/ad_hoc_sf_policies.html">Changing
+ the Policy on an Ad Hoc Basis for the Special Functions</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/namespace_policies.html">Setting
+ Policies at Namespace or Translation Unit Scope</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/user_def_err_pol.html">Calling User
+ Defined Error Handlers</a></span></dt>
+<dt><span class="section"><a href="pol_tutorial/understand_dis_quant.html">Understanding
+ Quantiles of Discrete Distributions</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pol_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial/what_is_a_policy.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html b/libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html
new file mode 100644
index 0000000000..1206978355
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_dist_policies.html
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Setting Policies for Distributions on an Ad Hoc Basis</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="changing_policy_defaults.html" title="Changing the Policy Defaults">
+<link rel="next" href="ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="changing_policy_defaults.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_sf_policies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.ad_hoc_dist_policies"></a><a class="link" href="ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">Setting
+ Policies for Distributions on an Ad Hoc Basis</a>
+</h3></div></div></div>
+<p>
+ All of the statistical distributions in this library are class templates
+ that accept two template parameters: real type (float, double ...) and policy
+ (how to handle exceptional events), both with sensible defaults, for example:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span> <span class="special">=</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">fisher_f_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">fisher_f_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">fisher_f</span><span class="special">;</span>
+
+<span class="special">}}</span>
+</pre>
+<p>
+ This policy gets used by all the accessor functions that accept a distribution
+ as an argument, and forwarded to all the functions called by these. So if
+ you use the shorthand-typedef for the distribution, then you get <code class="computeroutput"><span class="keyword">double</span></code> precision arithmetic and all the default
+ policies.
+ </p>
+<p>
+ However, say for example we wanted to evaluate the quantile of the binomial
+ distribution at float precision, without internal promotion to double, and
+ with the result rounded to the <span class="emphasis"><em>nearest</em></span> integer, then
+ here's how it can be done:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
+
+<span class="comment">// Begin by defining a policy type, that gives the behaviour we want:</span>
+
+<span class="comment">//using namespace boost::math::policies; or explicitly</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_nearest</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">promote_float</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span> <span class="comment">// Do not promote to double.</span>
+ <span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span> <span class="comment">// Round result to nearest integer.</span>
+<span class="special">&gt;</span> <span class="identifier">mypolicy</span><span class="special">;</span>
+<span class="comment">//</span>
+<span class="comment">// Then define a new distribution that uses it:</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">&gt;</span> <span class="identifier">mybinom</span><span class="special">;</span>
+
+<span class="comment">// And now use it to get the quantile:</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"quantile(mybinom(200, 0.25), 0.05) is: "</span> <span class="special">&lt;&lt;</span>
+ <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">mybinom</span><span class="special">(</span><span class="number">200</span><span class="special">,</span> <span class="number">0.25</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Which outputs:
+ </p>
+<pre class="programlisting">quantile is: 40</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="changing_policy_defaults.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_sf_policies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html b/libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html
new file mode 100644
index 0000000000..7cd3ee2e6d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/ad_hoc_sf_policies.html
@@ -0,0 +1,174 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Changing the Policy on an Ad Hoc Basis for the Special Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">
+<link rel="next" href="namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ad_hoc_dist_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_policies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.ad_hoc_sf_policies"></a><a class="link" href="ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">Changing
+ the Policy on an Ad Hoc Basis for the Special Functions</a>
+</h3></div></div></div>
+<p>
+ All of the special functions in this library come in two overloaded forms,
+ one with a final "policy" parameter, and one without. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="identifier">RealType</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RealType</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Normally, the second version is just a forwarding wrapper to the first like
+ this:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="identifier">RealType</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
+<span class="special">}</span>
+</pre>
+<p>
+ So calling a special function with a specific policy is just a matter of
+ defining the policy type to use and passing it as the final parameter. For
+ example, suppose we want <code class="computeroutput"><span class="identifier">tgamma</span></code>
+ to behave in a C-compatible fashion and set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> when an error occurs, and never throw
+ an exception:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
+
+<span class="comment">// Define the policy to use:</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span> <span class="comment">// may be convenient, or</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+<span class="comment">// Types of error whose action can be altered by policies:.</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
+<span class="comment">// Actions on error (in enum error_policy_type):</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">throw_on_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_error</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">c_policy</span><span class="special">;</span>
+<span class="comment">//</span>
+<span class="comment">// Now use the policy when calling tgamma:</span>
+
+<span class="comment">// http://msdn.microsoft.com/en-us/library/t3ayayh1.aspx </span>
+<span class="comment">// Microsoft errno declared in STDLIB.H as "extern int errno;" </span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="comment">// Reset.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="number">30000</span><span class="special">,</span> <span class="identifier">c_policy</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Too big parameter</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// errno 34 Numerical result out of range.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">,</span> <span class="identifier">c_policy</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Negative parameter.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// error 33 Numerical argument out of domain.</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<p>
+ which outputs:
+ </p>
+<pre class="programlisting">Result of tgamma(30000) is: 1.#INF
+errno = 34
+Result of tgamma(-10) is: 1.#QNAN
+errno = 33
+</pre>
+<p>
+ Alternatively, for ad hoc use, we can use the <code class="computeroutput"><span class="identifier">make_policy</span></code>
+ helper function to create a policy for us: this usage is more verbose, so
+ is probably only preferred when a policy is going to be used once only:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="comment">// using namespace boost::math::policies; // or</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">make_policy</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
+
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span>
+ <span class="number">30000</span><span class="special">,</span>
+ <span class="identifier">make_policy</span><span class="special">(</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;()</span>
+ <span class="special">)</span>
+ <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Check errno was set:</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// and again with evaluation at a pole:</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span>
+ <span class="special">-</span><span class="number">10</span><span class="special">,</span>
+ <span class="identifier">make_policy</span><span class="special">(</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;()</span>
+ <span class="special">)</span>
+ <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Check errno was set:</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ad_hoc_dist_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_policies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html b/libs/math/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html
new file mode 100644
index 0000000000..229a7b1228
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/changing_policy_defaults.html
@@ -0,0 +1,258 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Changing the Policy Defaults</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="policy_usage.html" title="So How are Policies Used Anyway?">
+<link rel="next" href="ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="policy_usage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_dist_policies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.changing_policy_defaults"></a><a class="link" href="changing_policy_defaults.html" title="Changing the Policy Defaults">Changing
+ the Policy Defaults</a>
+</h3></div></div></div>
+<p>
+ The default policies used by the library are changed by the usual configuration
+ macro method.
+ </p>
+<p>
+ For example, passing <code class="computeroutput"><span class="special">-</span><span class="identifier">DBOOST_MATH_DOMAIN_ERROR_POLICY</span><span class="special">=</span><span class="identifier">errno_on_error</span></code>
+ to your compiler will cause domain errors to set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> and return a <a href="http://en.wikipedia.org/wiki/NaN" target="_top">NaN</a>
+ rather than the usual default behaviour of throwing a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
+ exception.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ For Microsoft Visual Studio,you can add to the Project Property Page, C/C++,
+ Preprocessor, Preprocessor definitions like:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span><span class="special">=</span><span class="number">0</span>
+<span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span><span class="special">=</span><span class="identifier">errno_on_error</span></pre>
+<p>
+ This may be helpful to avoid complications with pre-compiled headers that
+ may mean that the equivalent definitions in source code:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span> <span class="keyword">false</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">errno_on_error</span></pre>
+<p>
+ <span class="bold"><strong>may be ignored</strong></span>.
+ </p>
+<p>
+ The compiler command line shows:
+ </p>
+<pre class="programlisting"><span class="special">/</span><span class="identifier">D</span> <span class="string">"BOOST_MATH_ASSERT_UNDEFINED_POLICY=0"</span>
+<span class="special">/</span><span class="identifier">D</span> <span class="string">"BOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error"</span></pre>
+</td></tr>
+</table></div>
+<p>
+ There is however a very important caveat to this:
+ </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Default policies changed by setting configuration
+ macros must be changed uniformly in every translation unit in the program.</em></span></strong></span>
+ </p>
+<p>
+ Failure to follow this rule may result in violations of the "One Definition
+ Rule (ODR)" and result in unpredictable program behaviour.
+ </p>
+</td></tr>
+</table></div>
+<p>
+ That means there are only two safe ways to use these macros:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Edit them in <a href="../../../../../../boost/math/tools/user.hpp" target="_top">boost/math/tools/user.hpp</a>,
+ so that the defaults are set on an installation-wide basis. Unfortunately
+ this may not be convenient if you are using a pre-installed Boost distribution
+ (on Linux for example).
+ </li>
+<li class="listitem">
+ Set the defines in your project's Makefile or build environment, so that
+ they are set uniformly across all translation units.
+ </li>
+</ul></div>
+<p>
+ What you should <span class="bold"><strong>not</strong></span> do is:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Set the defines in the source file using <code class="computeroutput"><span class="preprocessor">#define</span></code>
+ as doing so almost certainly will break your program, unless you're absolutely
+ certain that the program is restricted to a single translation unit.
+ </li></ul></div>
+<p>
+ And, yes, you will find examples in our test programs where we break this
+ rule: but only because we know there will always be a single translation
+ unit only: <span class="emphasis"><em>don't say that you weren't warned!</em></span>
+ </p>
+<p>
+ The following example demonstrates the effect of setting the macro BOOST_MATH_DOMAIN_ERROR_POLICY
+ when an invalid argument is encountered. For the purposes of this example,
+ we'll pass a negative degrees of freedom parameter to the student's t distribution.
+ </p>
+<p>
+ Since we know that this is a single file program we could just add:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+</pre>
+<p>
+ to the top of the source file to change the default policy to one that simply
+ returns a NaN when a domain error occurs. Alternatively we could use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
+</pre>
+<p>
+ To ensure the <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ is set when a domain error occurs as well as returning a NaN.
+ </p>
+<p>
+ This is safe provided the program consists of a single translation unit
+ <span class="emphasis"><em>and</em></span> we place the define <span class="emphasis"><em>before</em></span>
+ any #includes. Note that should we add the define after the includes then
+ it will have no effect! A warning such as:
+ </p>
+<pre class="programlisting">warning C4005: 'BOOST_MATH_OVERFLOW_ERROR_POLICY' : macro redefinition</pre>
+<p>
+ is a certain sign that it will <span class="emphasis"><em>not</em></span> have the desired
+ effect.
+ </p>
+<p>
+ We'll begin our sample program with the needed includes:
+ </p>
+<pre class="programlisting"> <span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+
+<span class="comment">// Boost</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t</span><span class="special">;</span> <span class="comment">// Probability of students_t(df, t).</span>
+
+<span class="comment">// std</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">stdexcept</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cstddef</span><span class="special">&gt;</span>
+ <span class="comment">// using ::errno</span>
+</pre>
+<p>
+ Next we'll define the program's main() to call the student's t distribution
+ with an invalid degrees of freedom parameter, the program is set up to handle
+ either an exception or a NaN:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Example error handling using Student's t function. "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"BOOST_MATH_DOMAIN_ERROR_POLICY is set to: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">double</span> <span class="identifier">degrees_of_freedom</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="comment">// A bad argument!</span>
+ <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
+
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="comment">// Clear/reset.</span>
+ <span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">degrees_of_freedom</span><span class="special">);</span> <span class="comment">// exception is thrown here if enabled.</span>
+ <span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// Test for error reported by other means:</span>
+ <span class="keyword">if</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">p</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf returned a NaN!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">errno</span> <span class="special">!=</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// So errno has been set.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno is set to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of Student's t is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"\n"</span><span class="string">"Message from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<p>
+ Here's what the program output looks like with a default build (one that
+ <span class="bold"><strong>does throw exceptions</strong></span>):
+ </p>
+<pre class="programlisting">Example error handling using Student's t function.
+BOOST_MATH_DOMAIN_ERROR_POLICY is set to: throw_on_error
+
+Message from thrown exception was:
+ Error in function boost::math::students_t_distribution&lt;double&gt;::students_t_distribution:
+ Degrees of freedom argument is -1, but must be &gt; 0 !
+</pre>
+<p>
+ Alternatively let's build with:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+</pre>
+<p>
+ Now the program output is:
+ </p>
+<pre class="programlisting">Example error handling using Student's t function.
+BOOST_MATH_DOMAIN_ERROR_POLICY is set to: ignore_error
+cdf returned a NaN!
+</pre>
+<p>
+ And finally let's build with:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
+</pre>
+<p>
+ Which gives the output show errno:
+ </p>
+<pre class="programlisting">Example error handling using Student's t function.
+BOOST_MATH_DOMAIN_ERROR_POLICY is set to: errno_on_error
+cdf returned a NaN!
+errno is set to: 33
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="policy_usage.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_dist_policies.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/namespace_policies.html b/libs/math/doc/html/math_toolkit/pol_tutorial/namespace_policies.html
new file mode 100644
index 0000000000..e981e0e530
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/namespace_policies.html
@@ -0,0 +1,366 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Setting Policies at Namespace or Translation Unit Scope</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">
+<link rel="next" href="user_def_err_pol.html" title="Calling User Defined Error Handlers">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ad_hoc_sf_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def_err_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.namespace_policies"></a><a class="link" href="namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope">Setting
+ Policies at Namespace or Translation Unit Scope</a>
+</h3></div></div></div>
+<p>
+ Sometimes what you want to do is just change a set of policies within the
+ current scope: <span class="bold"><strong>the one thing you should not do in this
+ situation is use the configuration macros</strong></span>, as this can lead to
+ "One Definition Rule" violations. Instead this library provides
+ a pair of macros especially for this purpose.
+ </p>
+<p>
+ Let's consider the special functions first: we can declare a set of forwarding
+ functions that all use a specific policy using the macro BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(<span class="emphasis"><em>Policy</em></span>).
+ This macro should be used either inside a unique namespace set aside for
+ the purpose (for example, a C namespace for a C-style policy), or an unnamed
+ namespace if you just want the functions visible in global scope for the
+ current file only.
+ </p>
+<p>
+ Suppose we want <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">foo</span><span class="special">()</span></code> to
+ behave in a C-compatible way and set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> on error rather than throwing any
+ exceptions.
+ </p>
+<p>
+ We'll begin by including the needed header for our function:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">//using boost::math::tgamma; // Not needed because using C::tgamma.</span>
+</pre>
+<p>
+ Open up the "C" namespace that we'll use for our functions, and
+ define the policy type we want: in this case a C-style one that sets ::errno
+ and returns a standard value, rather than throwing exceptions.
+ </p>
+<p>
+ Any policies we don't specify here will inherit the defaults.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">C</span>
+<span class="special">{</span> <span class="comment">// To hold our C-style policy.</span>
+ <span class="comment">//using namespace boost::math::policies; or explicitly:</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">c_policy</span><span class="special">;</span>
+</pre>
+<p>
+ All we need do now is invoke the BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS macro
+ passing our policy type c_policy as the single argument:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">c_policy</span><span class="special">)</span>
+
+<span class="special">}</span> <span class="comment">// close namespace C</span>
+</pre>
+<p>
+ We now have a set of forwarding functions defined in namespace C that all
+ look something like this:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">RT</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RT</span> <span class="identifier">z</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">c_policy</span><span class="special">());</span>
+<span class="special">}</span>
+</pre>
+<p>
+ So that when we call <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>, we
+ really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
+ <span class="identifier">C</span><span class="special">::</span><span class="identifier">c_policy</span><span class="special">())</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="number">30000</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Note using C::tgamma</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// errno = 34</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// errno = 33, overwriting previous value of 34.</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Which outputs:
+ </p>
+<pre class="programlisting">Result of C::tgamma(30000) is: 1.#INF
+errno = 34
+Result of C::tgamma(-10) is: 1.#QNAN
+errno = 33
+</pre>
+<p>
+ This mechanism is particularly useful when we want to define a project-wide
+ policy, and don't want to modify the Boost source, or to set project wide
+ build macros (possibly fragile and easy to forget).
+ </p>
+<p>
+ The same mechanism works well at file scope as well, by using an unnamed
+ namespace, we can ensure that these declarations don't conflict with any
+ alternate policies present in other translation units:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">// using boost::math::tgamma; // Would create an ambiguity between</span>
+<span class="comment">// 'double boost::math::tgamma&lt;int&gt;(T)' and</span>
+<span class="comment">// 'double 'anonymous-namespace'::tgamma&lt;int&gt;(RT)'.</span>
+
+<span class="keyword">namespace</span> <span class="identifier">mymath</span>
+<span class="special">{</span> <span class="comment">// unnamed</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">c_policy</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">c_policy</span><span class="special">)</span>
+</pre>
+<p>
+ So that when we call <code class="computeroutput"><span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>,
+ we really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
+ <span class="identifier">anonymous</span><span class="special">-</span><span class="keyword">namespace</span><span class="special">::</span><span class="identifier">c_policy</span><span class="special">())</span></code>.
+ </p>
+<pre class="programlisting"><span class="special">}</span> <span class="comment">// close unnamed namespace</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="number">30000</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// tgamma in unnamed namespace in this translation unit (file) only.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Default tgamma policy would throw an exception, and abort.</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Handling policies for the statistical distributions is very similar except
+ that now the macro BOOST_MATH_DECLARE_DISTRIBUTIONS accepts two parameters:
+ the floating point type to use, and the policy type to apply. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">)</span>
+</pre>
+<p>
+ Results a set of typedefs being defined like this:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
+</pre>
+<p>
+ The name of each typedef is the same as the name of the distribution class
+ template, but without the "_distribution" suffix.
+ </p>
+<p>
+ Suppose we want a set of distributions to behave as follows:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Return infinity on overflow, rather than throwing an exception.
+ </li>
+<li class="listitem">
+ Don't perform any promotion from double to long double internally.
+ </li>
+<li class="listitem">
+ Return the closest integer result from the quantiles of discrete distributions.
+ </li>
+</ul></div>
+<p>
+ We'll begin by including the needed header for all the distributions:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Open up an appropriate namespace, calling it <code class="computeroutput"><span class="identifier">my_distributions</span></code>,
+ for our distributions, and define the policy type we want. Any policies we
+ don't specify here will inherit the defaults:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">my_distributions</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+ <span class="comment">// using boost::math::policies::errno_on_error; // etc.</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="comment">// return infinity and set errno rather than throw:</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="comment">// Don't promote double -&gt; long double internally:</span>
+ <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span>
+ <span class="comment">// Return the closest integer result for discrete quantiles:</span>
+ <span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+</pre>
+<p>
+ All we need do now is invoke the BOOST_MATH_DECLARE_DISTRIBUTIONS macro passing
+ the floating point type <code class="computeroutput"><span class="keyword">double</span></code>
+ and policy types <code class="computeroutput"><span class="identifier">my_policy</span></code>
+ as arguments:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">)</span>
+
+<span class="special">}</span> <span class="comment">// close namespace my_namespace</span>
+</pre>
+<p>
+ We now have a set of typedefs defined in namespace my_distributions that
+ all look something like this:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">cauchy</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span>
+<span class="comment">// etc</span>
+</pre>
+<p>
+ So that when we use my_distributions::normal we really end up using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="comment">// Construct distribution with something we know will overflow</span>
+ <span class="comment">// (using double rather than if promoted to long double):</span>
+ <span class="identifier">my_distributions</span><span class="special">::</span><span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
+
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 0) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// -infinity.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 1) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// +infinity.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Now try a discrete distribution.</span>
+ <span class="identifier">my_distributions</span><span class="special">::</span><span class="identifier">binomial</span> <span class="identifier">binom</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(binom, 0.05) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// To check we get integer results.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(complement(binom, 0.05)) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Which outputs:
+ </p>
+<pre class="programlisting">Result of quantile(norm, 0) is: -1.#INF
+errno = 34
+Result of quantile(norm, 1) is: 1.#INF
+errno = 34
+Result of quantile(binom, 0.05) is: 1
+Result of quantile(complement(binom, 0.05)) is: 8
+</pre>
+<p>
+ This mechanism is particularly useful when we want to define a project-wide
+ policy, and don't want to modify the Boost source or set project wide build
+ macros (possibly fragile and easy to forget).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ There is an important limitation to note: you can *not use the macros BOOST_MATH_DECLARE_DISTRIBUTIONS
+ and BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS <span class="emphasis"><em>in the same namespace</em></span>*,
+ as doing so creates ambiguities between functions and distributions of
+ the same name.
+ </p></td></tr>
+</table></div>
+<p>
+ As before, the same mechanism works well at file scope as well: by using
+ an unnamed namespace, we can ensure that these declarations don't conflict
+ with any alternate policies present in other translation units:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// All distributions.</span>
+<span class="comment">// using boost::math::normal; // Would create an ambguity between</span>
+<span class="comment">// boost::math::normal_distribution&lt;RealType&gt; boost::math::normal and</span>
+<span class="comment">// 'anonymous-namespace'::normal'.</span>
+
+<span class="keyword">namespace</span>
+<span class="special">{</span> <span class="comment">// anonymous or unnnamed (rather than named as in policy_eg_6.cpp).</span>
+
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+ <span class="comment">// using boost::math::policies::errno_on_error; // etc.</span>
+ <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="comment">// return infinity and set errno rather than throw:</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
+ <span class="comment">// Don't promote double -&gt; long double internally:</span>
+ <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span>
+ <span class="comment">// Return the closest integer result for discrete quantiles:</span>
+ <span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
+
+ <span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">)</span>
+
+<span class="special">}</span> <span class="comment">// close namespace my_namespace</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="comment">// Construct distribution with something we know will overflow.</span>
+ <span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span> <span class="comment">// using 'anonymous-namespace'::normal</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 0) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 1) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">//</span>
+ <span class="comment">// Now try a discrete distribution:</span>
+ <span class="identifier">binomial</span> <span class="identifier">binom</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(binom, 0.05) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(complement(binom, 0.05)) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ad_hoc_sf_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def_err_pol.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html b/libs/math/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html
new file mode 100644
index 0000000000..c5d337cbd2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/policy_tut_defaults.html
@@ -0,0 +1,141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Policies Have Sensible Defaults</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="what_is_a_policy.html" title="So Just What is a Policy Anyway?">
+<link rel="next" href="policy_usage.html" title="So How are Policies Used Anyway?">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="what_is_a_policy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_usage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.policy_tut_defaults"></a><a class="link" href="policy_tut_defaults.html" title="Policies Have Sensible Defaults">Policies
+ Have Sensible Defaults</a>
+</h3></div></div></div>
+<p>
+ Most of the time you can just ignore the policy framework.
+ </p>
+<p>
+ <span class="emphasis"><em>*The defaults for the various policies are as follows, if these
+ work OK for you then you can stop reading now!</em></span>
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">Domain Error</span></dt>
+<dd><p>
+ Throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code> exception.
+ </p></dd>
+<dt><span class="term">Pole Error</span></dt>
+<dd><p>
+ Occurs when a function is evaluated at a pole: throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code> exception.
+ </p></dd>
+<dt><span class="term">Overflow Error</span></dt>
+<dd><p>
+ Throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code> exception.
+ </p></dd>
+<dt><span class="term">Underflow</span></dt>
+<dd><p>
+ Ignores the underflow, and returns zero.
+ </p></dd>
+<dt><span class="term">Denormalised Result</span></dt>
+<dd><p>
+ Ignores the fact that the result is denormalised, and returns it.
+ </p></dd>
+<dt><span class="term">Rounding Error</span></dt>
+<dd><p>
+ Throws a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code> exception.
+ </p></dd>
+<dt><span class="term">Internal Evaluation Error</span></dt>
+<dd><p>
+ Throws a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code> exception.
+ </p></dd>
+<dt><span class="term">Indeterminate Result Error</span></dt>
+<dd><p>
+ Returns a result that depends on the function where the error occurred.
+ </p></dd>
+<dt><span class="term">Promotion of float to double</span></dt>
+<dd><p>
+ Does occur by default - gives full float precision results.
+ </p></dd>
+<dt><span class="term">Promotion of double to long double</span></dt>
+<dd><p>
+ Does occur by default if long double offers more precision than double.
+ </p></dd>
+<dt><span class="term">Precision of Approximation Used</span></dt>
+<dd><p>
+ By default uses an approximation that will result in the lowest level
+ of error for the type of the result.
+ </p></dd>
+<dt><span class="term">Behaviour of Discrete Quantiles</span></dt>
+<dd>
+<p>
+ The quantile function will by default return an integer result that
+ has been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower
+ quantiles (where the probability is less than 0.5) are rounded downward,
+ and upper quantiles (where the probability is greater than 0.5) are
+ rounded upwards. This behaviour ensures that if an X% quantile is requested,
+ then <span class="emphasis"><em>at least</em></span> the requested coverage will be present
+ in the central region, and <span class="emphasis"><em>no more than</em></span> the requested
+ coverage will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently, or even return a real-valued result using <a class="link" href="../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile
+ function on a discrete distribution. The <a class="link" href="../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+</dd>
+</dl>
+</div>
+<p>
+ What's more, if you define your own policy type, then it automatically inherits
+ the defaults for any policies not explicitly set, so given:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+<span class="comment">//</span>
+<span class="comment">// Define a policy that sets ::errno on overflow, and does</span>
+<span class="comment">// not promote double to long double internally:</span>
+<span class="comment">//</span>
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span> <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">mypolicy</span><span class="special">;</span>
+</pre>
+<p>
+ then <code class="computeroutput"><span class="identifier">mypolicy</span></code> defines a policy
+ where only the overflow error handling and <code class="computeroutput"><span class="keyword">double</span></code>-promotion
+ policies differ from the defaults.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="what_is_a_policy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_usage.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/policy_usage.html b/libs/math/doc/html/math_toolkit/pol_tutorial/policy_usage.html
new file mode 100644
index 0000000000..54f232656b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/policy_usage.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>So How are Policies Used Anyway?</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="policy_tut_defaults.html" title="Policies Have Sensible Defaults">
+<link rel="next" href="changing_policy_defaults.html" title="Changing the Policy Defaults">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="policy_tut_defaults.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="changing_policy_defaults.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.policy_usage"></a><a class="link" href="policy_usage.html" title="So How are Policies Used Anyway?">So How are Policies
+ Used Anyway?</a>
+</h3></div></div></div>
+<p>
+ The details follow later, but basically policies can be set by either:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Defining some macros that change the default behaviour: <span class="bold"><strong>this
+ is the recommended method for setting installation-wide policies</strong></span>.
+ </li>
+<li class="listitem">
+ By instantiating a distribution object with an explicit policy: this
+ is mainly reserved for ad hoc policy changes.
+ </li>
+<li class="listitem">
+ By passing a policy to a special function as an optional final argument:
+ this is mainly reserved for ad hoc policy changes.
+ </li>
+<li class="listitem">
+ By using some helper macros to define a set of functions or distributions
+ in the current namespace that use a specific policy: <span class="bold"><strong>this
+ is the recommended method for setting policies on a project- or translation-unit-wide
+ basis</strong></span>.
+ </li>
+</ul></div>
+<p>
+ The following sections introduce these methods in more detail.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="policy_tut_defaults.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="changing_policy_defaults.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html b/libs/math/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html
new file mode 100644
index 0000000000..a008b31fc9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/understand_dis_quant.html
@@ -0,0 +1,417 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Understanding Quantiles of Discrete Distributions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="user_def_err_pol.html" title="Calling User Defined Error Handlers">
+<link rel="next" href="../pol_ref.html" title="Policy Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="user_def_err_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pol_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.understand_dis_quant"></a><a class="link" href="understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a>
+</h3></div></div></div>
+<p>
+ Discrete distributions present us with a problem when calculating the quantile:
+ we are starting from a continuous real-valued variable - the probability
+ - but the result (the value of the random variable) should really be discrete.
+ </p>
+<p>
+ Consider for example a Binomial distribution, with a sample size of 50, and
+ a success fraction of 0.5. There are a variety of ways we can plot a discrete
+ distribution, but if we plot the PDF as a step-function then it looks something
+ like this:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/binomial_pdf.png"></span>
+ </p>
+<p>
+ Now lets suppose that the user asks for a the quantile that corresponds to
+ a probability of 0.05, if we zoom in on the CDF for that region here's what
+ we see:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/binomial_quantile_1.png"></span>
+ </p>
+<p>
+ As can be seen there is no random variable that corresponds to a probability
+ of exactly 0.05, so we're left with two choices as shown in the figure:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ We could round the result down to 18.
+ </li>
+<li class="listitem">
+ We could round the result up to 19.
+ </li>
+</ul></div>
+<p>
+ In fact there's actually a third choice as well: we could "pretend"
+ that the distribution was continuous and return a real valued result: in
+ this case we would calculate a result of approximately 18.701 (this accurately
+ reflects the fact that the result is nearer to 19 than 18).
+ </p>
+<p>
+ By using policies we can offer any of the above as options, but that still
+ leaves the question: <span class="emphasis"><em>What is actually the right thing to do?</em></span>
+ </p>
+<p>
+ And in particular: <span class="emphasis"><em>What policy should we use by default?</em></span>
+ </p>
+<p>
+ In coming to an answer we should realise that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Calculating an integer result is often much faster than calculating a
+ real-valued result: in fact in our tests it was up to 20 times faster.
+ </li>
+<li class="listitem">
+ Normally people calculate quantiles so that they can perform a test of
+ some kind: <span class="emphasis"><em>"If the random variable is less than N then
+ we can reject our null-hypothesis with 90% confidence."</em></span>
+ </li>
+</ul></div>
+<p>
+ So there is a genuine benefit to calculating an integer result as well as
+ it being "the right thing to do" from a philosophical point of
+ view. What's more if someone asks for a quantile at 0.05, then we can normally
+ assume that they are asking for <span class="emphasis"><em><span class="bold"><strong>at least</strong></span>
+ 95% of the probability to the right of the value chosen, and <span class="bold"><strong>no
+ more than</strong></span> 5% of the probability to the left of the value chosen.</em></span>
+ </p>
+<p>
+ In the above binomial example we would therefore round the result down to
+ 18.
+ </p>
+<p>
+ The converse applies to upper-quantiles: If the probability is greater than
+ 0.5 we would want to round the quantile up, <span class="emphasis"><em>so that <span class="bold"><strong>at
+ least</strong></span> the requested probability is to the left of the value returned,
+ and <span class="bold"><strong>no more than</strong></span> 1 - the requested probability
+ is to the right of the value returned.</em></span>
+ </p>
+<p>
+ Likewise for two-sided intervals, we would round lower quantiles down, and
+ upper quantiles up. This ensures that we have <span class="emphasis"><em>at least the requested
+ probability in the central region</em></span> and <span class="emphasis"><em>no more than 1
+ minus the requested probability in the tail areas.</em></span>
+ </p>
+<p>
+ For example, taking our 50 sample binomial distribution with a success fraction
+ of 0.5, if we wanted a two sided 90% confidence interval, then we would ask
+ for the 0.05 and 0.95 quantiles with the results <span class="emphasis"><em>rounded outwards</em></span>
+ so that <span class="emphasis"><em>at least 90% of the probability</em></span> is in the central
+ area:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/binomial_pdf_3.png"></span>
+ </p>
+<p>
+ So far so good, but there is in fact a trap waiting for the unwary here:
+ </p>
+<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span>
+</pre>
+<p>
+ returns 18 as the result, which is what we would expect from the graph above,
+ and indeed there is no x greater than 18 for which:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0.05</span><span class="special">;</span>
+</pre>
+<p>
+ However:
+ </p>
+<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">);</span>
+</pre>
+<p>
+ returns 31, and indeed while there is no x less than 31 for which:
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="number">0.95</span><span class="special">;</span>
+</pre>
+<p>
+ We might naively expect that for this symmetrical distribution the result
+ would be 32 (since 32 = 50 - 18), but we need to remember that the cdf of
+ the binomial is <span class="emphasis"><em>inclusive</em></span> of the random variable. So
+ while the left tail area <span class="emphasis"><em>includes</em></span> the quantile returned,
+ the right tail area always excludes an upper quantile value: since that "belongs"
+ to the central area.
+ </p>
+<p>
+ Look at the graph above to see what's going on here: the lower quantile of
+ 18 belongs to the left tail, so any value &lt;= 18 is in the left tail. The
+ upper quantile of 31 on the other hand belongs to the central area, so the
+ tail area actually starts at 32, so any value &gt; 31 is in the right tail.
+ </p>
+<p>
+ Therefore if U and L are the upper and lower quantiles respectively, then
+ a random variable X is in the tail area - where we would reject the null
+ hypothesis if:
+ </p>
+<pre class="programlisting"><span class="identifier">X</span> <span class="special">&lt;=</span> <span class="identifier">L</span> <span class="special">||</span> <span class="identifier">X</span> <span class="special">&gt;</span> <span class="identifier">U</span>
+</pre>
+<p>
+ And the a variable X is inside the central region if:
+ </p>
+<pre class="programlisting"><span class="identifier">L</span> <span class="special">&lt;</span> <span class="identifier">X</span> <span class="special">&lt;=</span> <span class="identifier">U</span>
+</pre>
+<p>
+ The moral here is to <span class="emphasis"><em>always be very careful with your comparisons
+ when dealing with a discrete distribution</em></span>, and if in doubt, <span class="emphasis"><em>base
+ your comparisons on CDF's instead</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.pol_tutorial.understand_dis_quant.h0"></a>
+ <span class="phrase"><a name="math_toolkit.pol_tutorial.understand_dis_quant.other_rounding_policies_are_avai"></a></span><a class="link" href="understand_dis_quant.html#math_toolkit.pol_tutorial.understand_dis_quant.other_rounding_policies_are_avai">Other
+ Rounding Policies are Available</a>
+ </h5>
+<p>
+ As you would expect from a section on policies, you won't be surprised to
+ know that other rounding options are available:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">integer_round_outwards</span></dt>
+<dd>
+<p>
+ This is the default policy as described above: lower quantiles are
+ rounded down (probability &lt; 0.5), and upper quantiles (probability
+ &gt; 0.5) are rounded up.
+ </p>
+<p>
+ This gives <span class="emphasis"><em>no more than</em></span> the requested probability
+ in the tails, and <span class="emphasis"><em>at least</em></span> the requested probability
+ in the central area.
+ </p>
+</dd>
+<dt><span class="term">integer_round_inwards</span></dt>
+<dd>
+<p>
+ This is the exact opposite of the default policy: lower quantiles are
+ rounded up (probability &lt; 0.5), and upper quantiles (probability
+ &gt; 0.5) are rounded down.
+ </p>
+<p>
+ This gives <span class="emphasis"><em>at least</em></span> the requested probability
+ in the tails, and <span class="emphasis"><em>no more than</em></span> the requested probability
+ in the central area.
+ </p>
+</dd>
+<dt><span class="term">integer_round_down</span></dt>
+<dd><p>
+ This policy will always round the result down no matter whether it
+ is an upper or lower quantile
+ </p></dd>
+<dt><span class="term">integer_round_up</span></dt>
+<dd><p>
+ This policy will always round the result up no matter whether it is
+ an upper or lower quantile
+ </p></dd>
+<dt><span class="term">integer_round_nearest</span></dt>
+<dd><p>
+ This policy will always round the result to the nearest integer no
+ matter whether it is an upper or lower quantile
+ </p></dd>
+<dt><span class="term">real</span></dt>
+<dd><p>
+ This policy will return a real valued result for the quantile of a
+ discrete distribution: this is generally much slower than finding an
+ integer result but does allow for more sophisticated rounding policies.
+ </p></dd>
+</dl>
+</div>
+<p>
+ To understand how the rounding policies for the discrete distributions can
+ be used, we'll use the 50-sample binomial distribution with a success fraction
+ of 0.5 once again, and calculate all the possible quantiles at 0.05 and 0.95.
+ </p>
+<p>
+ Begin by including the needed headers (and some using statements for conciseness):
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">scientific</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Next we'll bring the needed declarations into scope, and define distribution
+ types for all the available rounding policies:
+ </p>
+<pre class="programlisting"><span class="comment">// Avoid </span>
+<span class="comment">// using namespace std; // and </span>
+<span class="comment">// using namespace boost::math;</span>
+<span class="comment">// to avoid potential ambiguity of names, like binomial.</span>
+<span class="comment">// using namespace boost::math::policies; is small risk, but</span>
+<span class="comment">// the necessary items are brought into scope thus:</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_outwards</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_down</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_up</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_nearest</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_inwards</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">real</span><span class="special">;</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span> <span class="comment">// Not std::binomial_distribution.</span>
+
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_outwards</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">binom_round_outwards</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_inwards</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">binom_round_inwards</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_down</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">binom_round_down</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_up</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">binom_round_up</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">binom_round_nearest</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
+ <span class="keyword">double</span><span class="special">,</span>
+ <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">real</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="identifier">binom_real_quantile</span><span class="special">;</span>
+</pre>
+<p>
+ Now let's set to work calling those quantiles:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"Testing rounding policies for a 50 sample binomial distribution,\n"</span>
+ <span class="string">"with a success fraction of 0.5.\n\n"</span>
+ <span class="string">"Lower quantiles are calculated at p = 0.05\n\n"</span>
+ <span class="string">"Upper quantiles at p = 0.95.\n\n"</span><span class="special">;</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"Policy"</span><span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"Lower Quantile"</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"Upper Quantile"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Test integer_round_outwards:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"integer_round_outwards"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_outwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_outwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Test integer_round_inwards:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"integer_round_inwards"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_inwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_inwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Test integer_round_down:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"integer_round_down"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_down</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_down</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Test integer_round_up:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"integer_round_up"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_up</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_up</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Test integer_round_nearest:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"integer_round_nearest"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_nearest</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_nearest</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Test real:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"real"</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_real_quantile</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_real_quantile</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<p>
+ Which produces the program output:
+ </p>
+<pre class="programlisting"> policy_eg_10.vcxproj -&gt; J:\Cpp\MathToolkit\test\Math_test\Release\policy_eg_10.exe
+ Testing rounding policies for a 50 sample binomial distribution,
+ with a success fraction of 0.5.
+
+ Lower quantiles are calculated at p = 0.05
+
+ Upper quantiles at p = 0.95.
+
+ Policy Lower Quantile Upper Quantile
+ integer_round_outwards 18 31
+ integer_round_inwards 19 30
+ integer_round_down 18 30
+ integer_round_up 19 31
+ integer_round_nearest 19 30
+ real 18.701 30.299
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="user_def_err_pol.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pol_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html b/libs/math/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html
new file mode 100644
index 0000000000..7616021ce0
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/user_def_err_pol.html
@@ -0,0 +1,454 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Calling User Defined Error Handlers</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope">
+<link rel="next" href="understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespace_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="understand_dis_quant.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.user_def_err_pol"></a><a class="link" href="user_def_err_pol.html" title="Calling User Defined Error Handlers">Calling User
+ Defined Error Handlers</a>
+</h3></div></div></div>
+<p>
+ Suppose we want our own user-defined error handlers rather than the any of
+ the default ones supplied by the library to be used. If we set the policy
+ for a specific type of error to <code class="computeroutput"><span class="identifier">user_error</span></code>
+ then the library will call a user-supplied error handler. These are forward
+ declared, but not defined in boost/math/policies/error_handling.hpp like
+ this:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_underflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_denorm_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_evaluation_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">TargetType</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_rounding_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">TargetType</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_indeterminate_result_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ So out first job is to include the header we want to use, and then provide
+ definitions for our user-defined error handlers that we want to use. We only
+ provide our special domain and pole error handlers; other errors like overflow
+ and underflow use the default.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span>
+<span class="special">{</span>
+ <span class="keyword">namespace</span> <span class="identifier">policies</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// Ignoring function, message and val for this example, perhaps unhelpfully.</span>
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Domain Error!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// Ignoring function, message and val for this example, perhaps unhelpfully.</span>
+ <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Pole Error!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="special">}</span> <span class="comment">// namespace policies</span>
+<span class="special">}}</span> <span class="comment">// namespace boost{ namespace math</span>
+</pre>
+<p>
+ Now we'll need to define a suitable policy that will call these handlers,
+ and define some forwarding functions that make use of the policy:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">mymath</span><span class="special">{</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">user_error_policy</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">user_error_policy</span><span class="special">)</span>
+
+<span class="special">}</span> <span class="comment">// close unnamed namespace</span>
+</pre>
+<p>
+ We now have a set of forwarding functions defined in namespace mymath that
+ all look something like this:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">RT</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RT</span> <span class="identifier">z</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">user_error_policy</span><span class="special">());</span>
+<span class="special">}</span>
+</pre>
+<p>
+ So that when we call <code class="computeroutput"><span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>
+ we really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
+ <span class="identifier">user_error_policy</span><span class="special">())</span></code>,
+ and any errors will get directed to our own error handlers.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of erf_inv(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">erf_inv</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Which outputs:
+ </p>
+<pre class="programlisting"> Domain Error!
+ Pole Error!
+ Result of erf_inv(-10) is: 1.#QNAN
+ Result of tgamma(-10) is: 1.#QNAN
+</pre>
+<p>
+ The previous example was all well and good, but the custom error handlers
+ didn't really do much of any use. In this example we'll implement all the
+ custom handlers and show how the information provided to them can be used
+ to generate nice formatted error messages.
+ </p>
+<p>
+ Each error handler has the general form:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_</span><span class="emphasis"><em>error_type</em></span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ and accepts three arguments:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">const char* function</span></dt>
+<dd><p>
+ The name of the function that raised the error, this string contains
+ one or more %1% format specifiers that should be replaced by the name
+ of real type T, like float or double.
+ </p></dd>
+<dt><span class="term">const char* message</span></dt>
+<dd><p>
+ A message associated with the error, normally this contains a %1% format
+ specifier that should be replaced with the value of <span class="emphasis"><em>value</em></span>:
+ however note that overflow and underflow messages do not contain this
+ %1% specifier (since the value of <span class="emphasis"><em>value</em></span> is immaterial
+ in these cases).
+ </p></dd>
+<dt><span class="term">const T&amp; value</span></dt>
+<dd><p>
+ The value that caused the error: either an argument to the function
+ if this is a domain or pole error, the tentative result if this is
+ a denorm or evaluation error, or zero or infinity for underflow or
+ overflow errors.
+ </p></dd>
+</dl>
+</div>
+<p>
+ As before we'll include the headers we need first:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Next we'll implement our own error handlers for each type of error, starting
+ with domain errors:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">policies</span>
+<span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+<span class="special">{</span>
+</pre>
+<p>
+ We'll begin with a bit of defensive programming in case function or message
+ are empty:
+ </p>
+<pre class="programlisting"><span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Cause unknown with bad argument %1%"</span><span class="special">;</span>
+</pre>
+<p>
+ Next we'll format the name of the function with the name of type T, perhaps
+ double:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
+<span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
+</pre>
+<p>
+ Then likewise format the error message with the value of parameter <span class="emphasis"><em>val</em></span>,
+ making sure we output all the potentially significant digits of <span class="emphasis"><em>val</em></span>:
+ </p>
+<pre class="programlisting"><span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">prec</span> <span class="special">=</span> <span class="number">2</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">*</span> <span class="number">30103UL</span><span class="special">)</span> <span class="special">/</span> <span class="number">100000UL</span><span class="special">;</span>
+<span class="comment">// int prec = std::numeric_limits&lt;T&gt;::max_digits10; // For C++0X Standard Library</span>
+<span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">message</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">io</span><span class="special">::</span><span class="identifier">group</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">prec</span><span class="special">),</span> <span class="identifier">val</span><span class="special">)).</span><span class="identifier">str</span><span class="special">();</span>
+</pre>
+<p>
+ Now we just have to do something with the message, we could throw an exception,
+ but for the purposes of this example we'll just dump the message to std::cerr:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Finally the only sensible value we can return from a domain error is a NaN:
+ </p>
+<pre class="programlisting"> <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Pole errors are essentially a special case of domain errors, so in this example
+ we'll just return the result of a domain error:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="identifier">function</span><span class="special">,</span> <span class="identifier">message</span><span class="special">,</span> <span class="identifier">val</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Overflow errors are very similar to domain errors, except that there's no
+ %1% format specifier in the <span class="emphasis"><em>message</em></span> parameter:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Result of function is too large to represent"</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
+
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="identifier">message</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Value passed to the function is an infinity, just return it:</span>
+ <span class="keyword">return</span> <span class="identifier">val</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Underflow errors are much the same as overflow:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_underflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Result of function is too small to represent"</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
+
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="identifier">message</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Value passed to the function is zero, just return it:</span>
+ <span class="keyword">return</span> <span class="identifier">val</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Denormalised results are much the same as underflow:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_denorm_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Result of function is denormalised"</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
+
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="identifier">message</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// Value passed to the function is denormalised, just return it:</span>
+ <span class="keyword">return</span> <span class="identifier">val</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Which leaves us with evaluation errors: these occur when an internal error
+ occurs that prevents the function being fully evaluated. The parameter <span class="emphasis"><em>val</em></span>
+ contains the closest approximation to the result found so far:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_evaluation_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
+ <span class="identifier">message</span> <span class="special">=</span> <span class="string">"An internal evaluation error occurred with "</span>
+ <span class="string">"the best value calculated so far of %1%"</span><span class="special">;</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
+
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">prec</span> <span class="special">=</span> <span class="number">2</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">*</span> <span class="number">30103UL</span><span class="special">)</span> <span class="special">/</span> <span class="number">100000UL</span><span class="special">;</span>
+ <span class="comment">// int prec = std::numeric_limits&lt;T&gt;::max_digits10; // For C++0X Standard Library</span>
+ <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">message</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">io</span><span class="special">::</span><span class="identifier">group</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">prec</span><span class="special">),</span> <span class="identifier">val</span><span class="special">)).</span><span class="identifier">str</span><span class="special">();</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="comment">// What do we return here? This is generally a fatal error, that should never occur,</span>
+ <span class="comment">// so we just return a NaN for the purposes of the example:</span>
+ <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
+<span class="special">}</span>
+
+<span class="special">}</span> <span class="comment">// policies</span>
+<span class="special">}}</span> <span class="comment">// boost::math</span>
+</pre>
+<p>
+ Now we'll need to define a suitable policy that will call these handlers,
+ and define some forwarding functions that make use of the policy:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">mymath</span>
+<span class="special">{</span> <span class="comment">// unnamed.</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
+ <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
+ <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
+ <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
+ <span class="identifier">underflow_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
+ <span class="identifier">denorm_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
+ <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">user_error_policy</span><span class="special">;</span>
+
+<span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">user_error_policy</span><span class="special">)</span>
+
+<span class="special">}</span> <span class="comment">// unnamed namespace</span>
+</pre>
+<p>
+ We now have a set of forwarding functions, defined in namespace mymath, that
+ all look something like this:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">RT</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RT</span> <span class="identifier">z</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">user_error_policy</span><span class="special">());</span>
+<span class="special">}</span>
+</pre>
+<p>
+ So that when we call <code class="computeroutput"><span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>
+ we really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
+ <span class="identifier">user_error_policy</span><span class="special">())</span></code>,
+ and any errors will get directed to our own error handlers:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="comment">// Raise a domain error:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of erf_inv(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">erf_inv</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Raise a pole error:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Raise an overflow error:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(3000) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="number">3000</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Raise an underflow error:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-190.5) is: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mymath</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">190.5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Unfortunately we can't predicably raise a denormalised</span>
+ <span class="comment">// result, nor can we raise an evaluation error in this example</span>
+ <span class="comment">// since these should never really occur!</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<p>
+ Which outputs:
+ </p>
+<pre class="programlisting">Error in function boost::math::erf_inv&lt;double&gt;(double, double):
+Argument outside range [-1, 1] in inverse erf function (got p=-10).
+Result of erf_inv(-10) is: 1.#QNAN
+
+Error in function boost::math::tgamma&lt;long double&gt;(long double):
+Evaluation of tgamma at a negative integer -10.
+Result of tgamma(-10) is: 1.#QNAN
+
+Error in function boost::math::tgamma&lt;long double&gt;(long double):
+Result of tgamma is too large to represent.
+Error in function boost::math::tgamma&lt;double&gt;(double):
+Result of function is too large to represent
+Result of tgamma(3000) is: 1.#INF
+
+Error in function boost::math::tgamma&lt;long double&gt;(long double):
+Result of tgamma is too large to represent.
+Error in function boost::math::tgamma&lt;long double&gt;(long double):
+Result of tgamma is too small to represent.
+Result of tgamma(-190.5) is: 0
+</pre>
+<p>
+ Notice how some of the calls result in an error handler being called more
+ than once, or for more than one handler to be called: this is an artefact
+ of the fact that many functions are implemented in terms of one or more sub-routines
+ each of which may have it's own error handling. For example <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">190.5</span><span class="special">)</span></code> is implemented
+ in terms of <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="number">190.5</span><span class="special">)</span></code> - which
+ overflows - the reflection formula for <code class="computeroutput"><span class="identifier">tgamma</span></code>
+ then notices that it is dividing by infinity and so underflows.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespace_policies.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="understand_dis_quant.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html b/libs/math/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html
new file mode 100644
index 0000000000..70bf221cf2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/pol_tutorial/what_is_a_policy.html
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>So Just What is a Policy Anyway?</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="prev" href="../pol_tutorial.html" title="Policy Tutorial">
+<link rel="next" href="policy_tut_defaults.html" title="Policies Have Sensible Defaults">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_tut_defaults.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.pol_tutorial.what_is_a_policy"></a><a class="link" href="what_is_a_policy.html" title="So Just What is a Policy Anyway?">So Just What
+ is a Policy Anyway?</a>
+</h3></div></div></div>
+<p>
+ A policy is a compile-time mechanism for customising the behaviour of a special
+ function, or a statistical distribution. With Policies you can control:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ What action to take when an error occurs.
+ </li>
+<li class="listitem">
+ What happens when you call a function that is mathematically undefined
+ (for example, if you ask for the mean of a Cauchy distribution).
+ </li>
+<li class="listitem">
+ What happens when you ask for a quantile of a discrete distribution.
+ </li>
+<li class="listitem">
+ Whether the library is allowed to internally promote <code class="computeroutput"><span class="keyword">float</span></code>
+ to <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">double</span></code> to <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> in order to improve precision.
+ </li>
+<li class="listitem">
+ What precision to use when calculating the result.
+ </li>
+</ul></div>
+<p>
+ Some of these policies could arguably be runtime variables, but then we couldn't
+ use compile-time dispatch internally to select the best evaluation method
+ for the given policies.
+ </p>
+<p>
+ For this reason a Policy is a <span class="emphasis"><em>type</em></span>: in fact it's an
+ instance of the class template <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span></code>. This class is just a compile-time-container
+ of user-selected policies (sometimes called a type-list):
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+<span class="comment">//</span>
+<span class="comment">// Define a policy that sets ::errno on overflow, and does</span>
+<span class="comment">// not promote double to long double internally:</span>
+<span class="comment">//</span>
+<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span> <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">mypolicy</span><span class="special">;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_tut_defaults.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers.html b/libs/math/doc/html/math_toolkit/powers.html
new file mode 100644
index 0000000000..b31a433980
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Basic Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="expint/expint_i.html" title="Exponential Integral Ei">
+<link rel="next" href="powers/sin_pi.html" title="sin_pi">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expint/expint_i.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powers/sin_pi.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.powers"></a><a class="link" href="powers.html" title="Basic Functions">Basic Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="powers/sin_pi.html">sin_pi</a></span></dt>
+<dt><span class="section"><a href="powers/cos_pi.html">cos_pi</a></span></dt>
+<dt><span class="section"><a href="powers/log1p.html">log1p</a></span></dt>
+<dt><span class="section"><a href="powers/expm1.html">expm1</a></span></dt>
+<dt><span class="section"><a href="powers/cbrt.html">cbrt</a></span></dt>
+<dt><span class="section"><a href="powers/sqrt1pm1.html">sqrt1pm1</a></span></dt>
+<dt><span class="section"><a href="powers/powm1.html">powm1</a></span></dt>
+<dt><span class="section"><a href="powers/hypot.html">hypot</a></span></dt>
+<dt><span class="section"><a href="powers/ct_pow.html">Compile Time Power of a Runtime
+ Base</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expint/expint_i.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powers/sin_pi.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/cbrt.html b/libs/math/doc/html/math_toolkit/powers/cbrt.html
new file mode 100644
index 0000000000..197e1da3af
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/cbrt.html
@@ -0,0 +1,97 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>cbrt</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="expm1.html" title="expm1">
+<link rel="next" href="sqrt1pm1.html" title="sqrt1pm1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expm1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sqrt1pm1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.cbrt"></a><a class="link" href="cbrt.html" title="cbrt">cbrt</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">cbrt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns the cubed root of x: x<sup>1/3</sup>.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
+ when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Implemented using Halley iteration.
+ </p>
+<p>
+ The following graph illustrates the behaviour of cbrt:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/cbrt.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.powers.cbrt.h0"></a>
+ <span class="phrase"><a name="math_toolkit.powers.cbrt.accuracy"></a></span><a class="link" href="cbrt.html#math_toolkit.powers.cbrt.accuracy">Accuracy</a>
+ </h5>
+<p>
+ For built in floating-point types <code class="computeroutput"><span class="identifier">cbrt</span></code>
+ should have approximately 2 epsilon accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.powers.cbrt.h1"></a>
+ <span class="phrase"><a name="math_toolkit.powers.cbrt.testing"></a></span><a class="link" href="cbrt.html#math_toolkit.powers.cbrt.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot test sanity checks, and random high precision test values
+ calculated using NTL::RR at 1000-bit precision.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expm1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sqrt1pm1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/cos_pi.html b/libs/math/doc/html/math_toolkit/powers/cos_pi.html
new file mode 100644
index 0000000000..b26292c4f7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/cos_pi.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>cos_pi</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="sin_pi.html" title="sin_pi">
+<link rel="next" href="log1p.html" title="log1p">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sin_pi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="log1p.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.cos_pi"></a><a class="link" href="cos_pi.html" title="cos_pi">cos_pi</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">cos_pi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cos_pi</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cos_pi</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns the cosine of <span class="emphasis"><em>&#960;x</em></span>.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
+ when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function performs exact all-integer arithmetic argument reduction before
+ computing the cosine of <span class="emphasis"><em>&#960;x</em></span>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sin_pi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="log1p.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/ct_pow.html b/libs/math/doc/html/math_toolkit/powers/ct_pow.html
new file mode 100644
index 0000000000..579e385c1e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/ct_pow.html
@@ -0,0 +1,265 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Compile Time Power of a Runtime Base</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="hypot.html" title="hypot">
+<link rel="next" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hypot.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sinc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.ct_pow"></a><a class="link" href="ct_pow.html" title="Compile Time Power of a Runtime Base">Compile Time Power of a Runtime
+ Base</a>
+</h3></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">pow</span></code> function effectively
+ computes the compile-time integral power of a run-time base.
+ </p>
+<h5>
+<a name="math_toolkit.powers.ct_pow.h0"></a>
+ <span class="phrase"><a name="math_toolkit.powers.ct_pow.synopsis"></a></span><a class="link" href="ct_pow.html#math_toolkit.powers.ct_pow.synopsis">Synopsis</a>
+ </h5>
+<p>
+ <a href="../../../../../../boost/math/special_functions/pow.hpp" target="_top"><code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">pow</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">base</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">base</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">policy</span><span class="special">);</span>
+
+<span class="special">}}</span>
+</pre>
+<h5>
+<a name="math_toolkit.powers.ct_pow.h1"></a>
+ <span class="phrase"><a name="math_toolkit.powers.ct_pow.rationale_and_usage"></a></span><a class="link" href="ct_pow.html#math_toolkit.powers.ct_pow.rationale_and_usage">Rationale
+ and Usage</a>
+ </h5>
+<p>
+ Computing the power of a number with an exponent that is known at compile
+ time is a common need for programmers. In such cases, the usual method is
+ to avoid the overhead implied by the <code class="computeroutput"><span class="identifier">pow</span></code>,
+ <code class="computeroutput"><span class="identifier">powf</span></code> and <code class="computeroutput"><span class="identifier">powl</span></code>
+ C functions by hardcoding an expression such as:
+ </p>
+<pre class="programlisting"><span class="comment">// Hand-written 8th power of a 'base' variable</span>
+<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">;</span>
+</pre>
+<p>
+ However, this kind of expression is not really readable (knowing the value
+ of the exponent involves counting the number of occurrences of <span class="emphasis"><em>base</em></span>),
+ error-prone (it's easy to forget an occurrence), syntactically bulky, and
+ non-optimal in terms of performance.
+ </p>
+<p>
+ The pow function of Boost.Math helps writing this kind expression along with
+ solving all the problems listed above:
+ </p>
+<pre class="programlisting"><span class="comment">// 8th power of a 'base' variable using math::pow</span>
+<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;</span><span class="number">8</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">);</span>
+</pre>
+<p>
+ The expression is now shorter, easier to read, safer, and even faster. Indeed,
+ <code class="computeroutput"><span class="identifier">pow</span></code> will compute the expression
+ such that only log2(N) products are made for a power of N. For instance in
+ the example above, the resulting expression will be the same as if we had
+ written this, with only one computation of each identical subexpression:
+ </p>
+<pre class="programlisting"><span class="comment">// Internal effect of pow&lt;8&gt;(base)</span>
+<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="special">((</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">)*(</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">))*((</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">)*(</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">));</span>
+</pre>
+<p>
+ Only 3 different products were actually computed.
+ </p>
+<h5>
+<a name="math_toolkit.powers.ct_pow.h2"></a>
+ <span class="phrase"><a name="math_toolkit.powers.ct_pow.return_type"></a></span><a class="link" href="ct_pow.html#math_toolkit.powers.ct_pow.return_type">Return
+ Type</a>
+ </h5>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>. For example:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ If T is a <code class="computeroutput"><span class="keyword">float</span></code>, the return
+ type is a <code class="computeroutput"><span class="keyword">float</span></code>.
+ </li>
+<li class="listitem">
+ If T is a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>,
+ the return type is a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ Otherwise, the return type is a <code class="computeroutput"><span class="keyword">double</span></code>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.powers.ct_pow.h3"></a>
+ <span class="phrase"><a name="math_toolkit.powers.ct_pow.policies"></a></span><a class="link" href="ct_pow.html#math_toolkit.powers.ct_pow.policies">Policies</a>
+ </h5>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.powers.ct_pow.h4"></a>
+ <span class="phrase"><a name="math_toolkit.powers.ct_pow.error_handling"></a></span><a class="link" href="ct_pow.html#math_toolkit.powers.ct_pow.error_handling">Error
+ Handling</a>
+ </h5>
+<p>
+ Two cases of errors can occur when using <code class="computeroutput"><span class="identifier">pow</span></code>:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ In case of null base and negative exponent, an <a class="link" href="../error_handling.html#math_toolkit.error_handling.overflow_error">overflow_error</a>
+ occurs since this operation is a division by 0 (it equals to 1/0).
+ </li>
+<li class="listitem">
+ In case of null base and null exponent, an <a class="link" href="../error_handling.html#math_toolkit.error_handling.indeterminate_result_error">indeterminate_result_error</a>
+ occurs since the result of this operation is indeterminate. Those errors
+ follow the <a class="link" href="../error_handling.html" title="Error Handling">general policies
+ of error handling in Boost.Math</a>.
+ </li>
+</ul></div>
+<p>
+ The default overflow error policy is <code class="computeroutput"><span class="identifier">throw_on_error</span></code>.
+ A call like <code class="computeroutput"><span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">2</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">)</span></code> will thus throw a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code>
+ exception. As shown in the link given above, other error handling policies
+ can be used:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">errno_on_error</span></code>: Sets
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">ignore_error</span></code>: Returns
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">user_error</span></code>: Returns the
+ result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_overflow_error</span></code>: this function
+ must be defined by the user.
+ </li>
+</ul></div>
+<p>
+ The default indeterminate result error policy is <code class="computeroutput"><span class="identifier">ignore_error</span></code>,
+ which for this function returns 1 since it's the most commonly chosen result
+ for a power of 0. Here again, other error handling policies can be used:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">throw_on_error</span></code>: Throws
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">errno_on_error</span></code>: Sets
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns 1.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">user_error</span></code>: Returns the
+ result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_indeterminate_result_error</span></code>: this
+ function must be defined by the user.
+ </li>
+</ul></div>
+<p>
+ Here is an example of error handling customization where we want to specify
+ the result that has to be returned in case of error. We will thus use the
+ <code class="computeroutput"><span class="identifier">user_error</span></code> policy, by passing
+ as second argument an instance of an overflow_error policy templated with
+ <code class="computeroutput"><span class="identifier">user_error</span></code>:
+ </p>
+<pre class="programlisting"><span class="comment">// First we open the boost::math::policies namespace and define the `user_overflow_error`</span>
+<span class="comment">// by making it return the value we want in case of error (-1 here)</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span>
+<span class="special">{</span> <span class="keyword">return</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="special">}</span>
+<span class="special">}}}</span>
+
+
+<span class="comment">// Then we invoke pow and indicate that we want to use the user_error policy</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">5</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;</span> <span class="special">&gt;());</span>
+
+<span class="comment">// We can now test the returned value and treat the special case if needed:</span>
+<span class="keyword">if</span> <span class="special">(</span><span class="identifier">result</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// there was an error, do something...</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Another way is to redefine the default <code class="computeroutput"><span class="identifier">overflow_error</span></code>
+ policy by using the BOOST_MATH_OVERFLOW_ERROR_POLICY macro. Once the <code class="computeroutput"><span class="identifier">user_overflow_error</span></code> function is defined
+ as above, we can achieve the same result like this:
+ </p>
+<pre class="programlisting"><span class="comment">// Redefine the default error_overflow policy</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">user_error</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">pow</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// From this point, passing a policy in argument is no longer needed, a call like this one</span>
+<span class="comment">// will return -1 in case of error:</span>
+
+<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">5</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.powers.ct_pow.h5"></a>
+ <span class="phrase"><a name="math_toolkit.powers.ct_pow.acknowledgements"></a></span><a class="link" href="ct_pow.html#math_toolkit.powers.ct_pow.acknowledgements">Acknowledgements</a>
+ </h5>
+<p>
+ Bruno Lalande submitted this addition to Boost.Math.
+ </p>
+<p>
+ Thanks to Joaqu&#237;n L&#243;pez Mu&#241;oz and Scott McMurray for their help in
+improving the implementation.
+ </p>
+<h5>
+<a name="math_toolkit.powers.ct_pow.h6"></a>
+ <span class="phrase"><a name="math_toolkit.powers.ct_pow.references"></a></span><a class="link" href="ct_pow.html#math_toolkit.powers.ct_pow.references">References</a>
+ </h5>
+<p>
+ D.E. Knuth, <span class="emphasis"><em>The Art of Computer Programming, Vol. 2: Seminumerical
+ Algorithms</em></span>, 2nd ed., Addison-Wesley, Reading, MA, 1981
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hypot.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sinc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/expm1.html b/libs/math/doc/html/math_toolkit/powers/expm1.html
new file mode 100644
index 0000000000..952154adff
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/expm1.html
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>expm1</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="log1p.html" title="log1p">
+<link rel="next" href="cbrt.html" title="cbrt">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="log1p.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cbrt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.expm1"></a><a class="link" href="expm1.html" title="expm1">expm1</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expm1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns e<sup>x</sup> - 1.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
+ when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ For small x, then <code class="computeroutput">e<sup>x</sup></code> is very close to 1, as a result calculating <code class="computeroutput">e<sup>x</sup> - 1</code> results in
+ catastrophic cancellation errors when x is small. <code class="computeroutput"><span class="identifier">expm1</span></code>
+ calculates <code class="computeroutput">e<sup>x</sup> - 1</code> using rational approximations (for up to 128-bit long doubles),
+ otherwise via a series expansion when x is small (giving an accuracy of less
+ than 2&#603;).
+ </p>
+<p>
+ Finally when BOOST_HAS_EXPM1 is defined then the <code class="computeroutput"><span class="keyword">float</span><span class="special">/</span><span class="keyword">double</span><span class="special">/</span><span class="keyword">long</span> <span class="keyword">double</span></code>
+ specializations of this template simply forward to the platform's native
+ (POSIX) implementation of this function.
+ </p>
+<p>
+ The following graph illustrates the behaviour of expm1:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/expm1.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.powers.expm1.h0"></a>
+ <span class="phrase"><a name="math_toolkit.powers.expm1.accuracy"></a></span><a class="link" href="expm1.html#math_toolkit.powers.expm1.accuracy">Accuracy</a>
+ </h5>
+<p>
+ For built in floating point types <code class="computeroutput"><span class="identifier">expm1</span></code>
+ should have approximately 1 epsilon accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.powers.expm1.h1"></a>
+ <span class="phrase"><a name="math_toolkit.powers.expm1.testing"></a></span><a class="link" href="expm1.html#math_toolkit.powers.expm1.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot test sanity checks, and random high precision test values
+ calculated using NTL::RR at 1000-bit precision.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="log1p.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cbrt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/hypot.html b/libs/math/doc/html/math_toolkit/powers/hypot.html
new file mode 100644
index 0000000000..4302e7a886
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/hypot.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>hypot</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="powm1.html" title="powm1">
+<link rel="next" href="ct_pow.html" title="Compile Time Power of a Runtime Base">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="powm1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ct_pow.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.hypot"></a><a class="link" href="hypot.html" title="hypot">hypot</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hypot</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hypot</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ <span class="bold"><strong>Effects: </strong></span> computes <span class="inlinemediaobject"><img src="../../../equations/hypot.png"></span>
+in such a way
+ as to avoid undue underflow and overflow.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are of different
+ types.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ When calculating <span class="inlinemediaobject"><img src="../../../equations/hypot.png"></span> it's quite easy for the intermediate terms to
+ either overflow or underflow, even though the result is in fact perfectly
+ representable.
+ </p>
+<h5>
+<a name="math_toolkit.powers.hypot.h0"></a>
+ <span class="phrase"><a name="math_toolkit.powers.hypot.implementation"></a></span><a class="link" href="hypot.html#math_toolkit.powers.hypot.implementation">Implementation</a>
+ </h5>
+<p>
+ The function is even and symmetric in x and y, so first take assume <span class="emphasis"><em>x,y
+ &gt; 0</em></span> and <span class="emphasis"><em>x &gt; y</em></span> (we can permute the arguments
+ if this is not the case).
+ </p>
+<p>
+ Then if <span class="emphasis"><em>x * &#949; &#160; &gt;= y</em></span> we can simply return <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ Otherwise the result is given by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/hypot2.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="powm1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ct_pow.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/log1p.html b/libs/math/doc/html/math_toolkit/powers/log1p.html
new file mode 100644
index 0000000000..419802d2fb
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/log1p.html
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>log1p</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="cos_pi.html" title="cos_pi">
+<link rel="next" href="expm1.html" title="expm1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cos_pi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expm1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.log1p"></a><a class="link" href="log1p.html" title="log1p">log1p</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">log1p</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">log1p</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">log1p</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns the natural logarithm of <code class="computeroutput"><span class="identifier">x</span><span class="special">+</span><span class="number">1</span></code>.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
+ when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ There are many situations where it is desirable to compute <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code>.
+ However, for small <code class="computeroutput"><span class="identifier">x</span></code> then
+ <code class="computeroutput"><span class="identifier">x</span><span class="special">+</span><span class="number">1</span></code> suffers from catastrophic cancellation errors
+ so that <code class="computeroutput"><span class="identifier">x</span><span class="special">+</span><span class="number">1</span> <span class="special">==</span> <span class="number">1</span></code>
+ and <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span></code>,
+ when in fact for very small x, the best approximation to <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code> would be
+ <code class="computeroutput"><span class="identifier">x</span></code>. <code class="computeroutput"><span class="identifier">log1p</span></code>
+ calculates the best approximation to <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span></code> using
+ a Taylor series expansion for accuracy (less than 2&#603;). Alternatively note that
+ there are faster methods available, for example using the equivalence:
+ </p>
+<pre class="programlisting"><span class="identifier">log</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">log</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">/</span> <span class="special">((</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ However, experience has shown that these methods tend to fail quite spectacularly
+ once the compiler's optimizations are turned on, consequently they are used
+ only when known not to break with a particular compiler. In contrast, the
+ series expansion method seems to be reasonably immune to optimizer-induced
+ errors.
+ </p>
+<p>
+ Finally when BOOST_HAS_LOG1P is defined then the <code class="computeroutput"><span class="keyword">float</span><span class="special">/</span><span class="keyword">double</span><span class="special">/</span><span class="keyword">long</span> <span class="keyword">double</span></code>
+ specializations of this template simply forward to the platform's native
+ (POSIX) implementation of this function.
+ </p>
+<p>
+ The following graph illustrates the behaviour of log1p:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/log1p.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.powers.log1p.h0"></a>
+ <span class="phrase"><a name="math_toolkit.powers.log1p.accuracy"></a></span><a class="link" href="log1p.html#math_toolkit.powers.log1p.accuracy">Accuracy</a>
+ </h5>
+<p>
+ For built in floating point types <code class="computeroutput"><span class="identifier">log1p</span></code>
+ should have approximately 1 epsilon accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.powers.log1p.h1"></a>
+ <span class="phrase"><a name="math_toolkit.powers.log1p.testing"></a></span><a class="link" href="log1p.html#math_toolkit.powers.log1p.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot test sanity checks, and random high precision test values
+ calculated using NTL::RR at 1000-bit precision.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cos_pi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expm1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/powm1.html b/libs/math/doc/html/math_toolkit/powers/powm1.html
new file mode 100644
index 0000000000..c125b4e19a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/powm1.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>powm1</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="sqrt1pm1.html" title="sqrt1pm1">
+<link rel="next" href="hypot.html" title="hypot">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sqrt1pm1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypot.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.powm1"></a><a class="link" href="powm1.html" title="powm1">powm1</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">powm1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">powm1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">powm1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns x<sup>y </sup> - 1.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are dufferent types.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ There are two domains where this is useful: when y is very small, or when
+ x is close to 1.
+ </p>
+<p>
+ Implemented in terms of <code class="computeroutput"><span class="identifier">expm1</span></code>.
+ </p>
+<p>
+ The following graph illustrates the behaviour of powm1:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/powm1.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.powers.powm1.h0"></a>
+ <span class="phrase"><a name="math_toolkit.powers.powm1.accuracy"></a></span><a class="link" href="powm1.html#math_toolkit.powers.powm1.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Should have approximately 2-3 epsilon accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.powers.powm1.h1"></a>
+ <span class="phrase"><a name="math_toolkit.powers.powm1.testing"></a></span><a class="link" href="powm1.html#math_toolkit.powers.powm1.testing">Testing</a>
+ </h5>
+<p>
+ A selection of random high precision test values calculated using NTL::RR
+ at 1000-bit precision.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sqrt1pm1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypot.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/sin_pi.html b/libs/math/doc/html/math_toolkit/powers/sin_pi.html
new file mode 100644
index 0000000000..2f0f54d674
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/sin_pi.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>sin_pi</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="../powers.html" title="Basic Functions">
+<link rel="next" href="cos_pi.html" title="cos_pi">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../powers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cos_pi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.sin_pi"></a><a class="link" href="sin_pi.html" title="sin_pi">sin_pi</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sin_pi</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sin_pi</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sin_pi</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns the sine of <span class="emphasis"><em>&#960;x</em></span>.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
+ when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function performs exact all-integer arithmetic argument reduction before
+ computing the sine of <span class="emphasis"><em>&#960;x</em></span>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../powers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cos_pi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/powers/sqrt1pm1.html b/libs/math/doc/html/math_toolkit/powers/sqrt1pm1.html
new file mode 100644
index 0000000000..d8d50cbd61
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/powers/sqrt1pm1.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>sqrt1pm1</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../powers.html" title="Basic Functions">
+<link rel="prev" href="cbrt.html" title="cbrt">
+<link rel="next" href="powm1.html" title="powm1">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cbrt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powm1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.powers.sqrt1pm1"></a><a class="link" href="sqrt1pm1.html" title="sqrt1pm1">sqrt1pm1</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sqrt1pm1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sqrt1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sqrt1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Returns <code class="computeroutput"><span class="identifier">sqrt</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
+ when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ This function is useful when you need the difference between sqrt(x) and
+ 1, when x is itself close to 1.
+ </p>
+<p>
+ Implemented in terms of <code class="computeroutput"><span class="identifier">log1p</span></code>
+ and <code class="computeroutput"><span class="identifier">expm1</span></code>.
+ </p>
+<p>
+ The following graph illustrates the behaviour of sqrt1pm1:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/sqrt1pm1.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.powers.sqrt1pm1.h0"></a>
+ <span class="phrase"><a name="math_toolkit.powers.sqrt1pm1.accuracy"></a></span><a class="link" href="sqrt1pm1.html#math_toolkit.powers.sqrt1pm1.accuracy">Accuracy</a>
+ </h5>
+<p>
+ For built in floating-point types <code class="computeroutput"><span class="identifier">sqrt1pm1</span></code>
+ should have approximately 3 epsilon accuracy.
+ </p>
+<h5>
+<a name="math_toolkit.powers.sqrt1pm1.h1"></a>
+ <span class="phrase"><a name="math_toolkit.powers.sqrt1pm1.testing"></a></span><a class="link" href="sqrt1pm1.html#math_toolkit.powers.sqrt1pm1.testing">Testing</a>
+ </h5>
+<p>
+ A selection of random high precision test values calculated using NTL::RR
+ at 1000-bit precision.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cbrt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powm1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat.html b/libs/math/doc/html/math_toolkit/quat.html
new file mode 100644
index 0000000000..691370a985
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat.html
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Template Class quaternion</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat_synopsis.html" title="Synopsis">
+<link rel="next" href="spec.html" title="Quaternion Specializations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat"></a><a class="link" href="quat.html" title="Template Class quaternion">Template Class quaternion</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">quaternion</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="identifier">T</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">T</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}</span> <span class="comment">// namespace math</span>
+<span class="special">}</span> <span class="comment">// namespace boost</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spec.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_header.html b/libs/math/doc/html/math_toolkit/quat_header.html
new file mode 100644
index 0000000000..9e0b0a235a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_header.html
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Header File</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat_overview.html" title="Overview">
+<link rel="next" href="quat_synopsis.html" title="Synopsis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_header"></a><a class="link" href="quat_header.html" title="Header File">Header File</a>
+</h2></div></div></div>
+<p>
+ The interface and implementation are both supplied by the header file <a href="../../../../../boost/math/quaternion.hpp" target="_top">quaternion.hpp</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_history.html b/libs/math/doc/html/math_toolkit/quat_history.html
new file mode 100644
index 0000000000..ecdb337ca2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_history.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>History</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="acknowledgement.html" title="Acknowledgements">
+<link rel="next" href="quat_todo.html" title="To Do">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgement.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_todo.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_history"></a><a class="link" href="quat_history.html" title="History">History</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ 1.5.9 - 13/5/2013: Incorporated into Boost.Math.
+ </li>
+<li class="listitem">
+ 1.5.8 - 17/12/2005: Converted documentation to Quickbook Format.
+ </li>
+<li class="listitem">
+ 1.5.7 - 24/02/2003: transitionned to the unit test framework; &lt;boost/config.hpp&gt;
+ now included by the library header (rather than the test files).
+ </li>
+<li class="listitem">
+ 1.5.6 - 15/10/2002: Gcc2.95.x and stlport on linux compatibility by Alkis
+ Evlogimenos (alkis@routescience.com).
+ </li>
+<li class="listitem">
+ 1.5.5 - 27/09/2002: Microsoft VCPP 7 compatibility, by Michael Stevens
+ (michael@acfr.usyd.edu.au); requires the /Za compiler option.
+ </li>
+<li class="listitem">
+ 1.5.4 - 19/09/2002: fixed problem with multiple inclusion (in different
+ translation units); attempt at an improved compatibility with Microsoft
+ compilers, by Michael Stevens (michael@acfr.usyd.edu.au) and Fredrik Blomqvist;
+ other compatibility fixes.
+ </li>
+<li class="listitem">
+ 1.5.3 - 01/02/2002: bugfix and Gcc 2.95.3 compatibility by Douglas Gregor
+ (gregod@cs.rpi.edu).
+ </li>
+<li class="listitem">
+ 1.5.2 - 07/07/2001: introduced namespace math.
+ </li>
+<li class="listitem">
+ 1.5.1 - 07/06/2001: (end of Boost review) now includes &lt;boost/math/special_functions/sinc.hpp&gt;
+ and &lt;boost/math/special_functions/sinhc.hpp&gt; instead of &lt;boost/special_functions.hpp&gt;;
+ corrected bug in sin (Daryle Walker); removed check for self-assignment
+ (Gary Powel); made converting functions explicit (Gary Powel); added overflow
+ guards for division operators and abs (Peter Schmitteckert); added sup
+ and l1; used Vesa Karvonen's CPP metaprograming technique to simplify code.
+ </li>
+<li class="listitem">
+ 1.5.0 - 26/03/2001: boostification, inlining of all operators except input,
+ output and pow, fixed exception safety of some members (template version)
+ and output operator, added spherical, semipolar, multipolar, cylindrospherical
+ and cylindrical.
+ </li>
+<li class="listitem">
+ 1.4.0 - 09/01/2001: added tan and tanh.
+ </li>
+<li class="listitem">
+ 1.3.1 - 08/01/2001: cosmetic fixes.
+ </li>
+<li class="listitem">
+ 1.3.0 - 12/07/2000: pow now uses Maarten Hilferink's (mhilferink@tip.nl)
+ algorithm.
+ </li>
+<li class="listitem">
+ 1.2.0 - 25/05/2000: fixed the division operators and output; changed many
+ signatures.
+ </li>
+<li class="listitem">
+ 1.1.0 - 23/05/2000: changed sinc into sinc_pi; added sin, cos, sinh, cosh.
+ </li>
+<li class="listitem">
+ 1.0.0 - 10/08/1999: first public version.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgement.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_todo.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_mem_fun.html b/libs/math/doc/html/math_toolkit/quat_mem_fun.html
new file mode 100644
index 0000000000..50bfa344e5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_mem_fun.html
@@ -0,0 +1,236 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Quaternion Member Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="mem_typedef.html" title="Quaternion Member Typedefs">
+<link rel="next" href="quat_non_mem.html" title="Quaternion Non-Member Operators">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mem_typedef.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_non_mem.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_mem_fun"></a><a class="link" href="quat_mem_fun.html" title="Quaternion Member Functions">Quaternion Member Functions</a>
+</h2></div></div></div>
+<h4>
+<a name="math_toolkit.quat_mem_fun.h0"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.constructors"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">Constructors</a>
+ </h4>
+<p>
+ Template version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ Float specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ Double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ Long double specialization version:
+ </p>
+<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+</pre>
+<p>
+ A default constructor is provided for each form, which initializes each component
+ to the default values for their type (i.e. zero for floating numbers). This
+ constructor can also accept one to four base type arguments. A constructor
+ is also provided to build quaternions from one or two complex numbers sharing
+ the same base type. The unspecialized template also sports a templarized copy
+ constructor, while the specialized forms have copy constructors from the other
+ two specializations, which are explicit when a risk of precision loss exists.
+ For the unspecialized form, the base type's constructors must not throw.
+ </p>
+<p>
+ Destructors and untemplated copy constructors (from the same type) are provided
+ by the compiler. Converting copy constructors make use of a templated helper
+ function in a "detail" subnamespace.
+ </p>
+<h4>
+<a name="math_toolkit.quat_mem_fun.h1"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.other_member_functions"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.other_member_functions">Other
+ member functions</a>
+ </h4>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h2"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.real_and_unreal_parts"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">Real
+ and Unreal Parts</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">real</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Like complex number, quaternions do have a meaningful notion of "real
+ part", but unlike them there is no meaningful notion of "imaginary
+ part". Instead there is an "unreal part" which itself is a quaternion,
+ and usually nothing simpler (as opposed to the complex number case). These
+ are returned by the first two functions.
+ </p>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h3"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.individual_real_components"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">Individual
+ Real Components</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">R_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_3</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="identifier">T</span> <span class="identifier">R_component_4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ A quaternion having four real components, these are returned by these four
+ functions. Hence real and R_component_1 return the same value.
+ </p>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h4"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.individual_complex_components"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">Individual
+ Complex Components</a>
+ </h5>
+<pre class="programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ A quaternion likewise has two complex components, and as we have seen above,
+ for any quaternion <span class="emphasis"><em><code class="literal">q = &#945; + &#946;i + &#947;j + &#948;k</code></em></span> we also have
+ <span class="emphasis"><em><code class="literal">q = (&#945; + &#946;i) + (&#947; + &#948;i)j </code></em></span>. These functions return them.
+ The real part of <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">C_component_1</span><span class="special">()</span></code>
+ is the same as <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">real</span><span class="special">()</span></code>.
+ </p>
+<h4>
+<a name="math_toolkit.quat_mem_fun.h5"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.quaternion_member_operators"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.quaternion_member_operators">Quaternion
+ Member Operators</a>
+ </h4>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h6"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.assignment_operators"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">Assignment
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the expected assignment, with type modification if necessary
+ (for instance, assigning from a base type will set the real part to that value,
+ and all other components to zero). For the unspecialized form, the base type's
+ assignment operators must not throw.
+ </p>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h7"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.addition_operators"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">Addition
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)+</span><span class="identifier">rhs</span></code>
+ and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
+ The unspecialized form has exception guards, which the specialized forms do
+ not, so as to insure exception safety. For the unspecialized form, the base
+ type's assignment operators must not throw.
+ </p>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h8"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.subtraction_operators"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">Subtraction
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)-</span><span class="identifier">rhs</span></code>
+ and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
+ The unspecialized form has exception guards, which the specialized forms do
+ not, so as to insure exception safety. For the unspecialized form, the base
+ type's assignment operators must not throw.
+ </p>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h9"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.multiplication_operators"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">Multiplication
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">rhs</span></code>
+ <span class="bold"><strong>in this order</strong></span> (order is important as multiplication
+ is not commutative for quaternions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The unspecialized form has exception guards,
+ which the specialized forms do not, so as to insure exception safety. For the
+ unspecialized form, the base type's assignment operators must not throw.
+ </p>
+<h5>
+<a name="math_toolkit.quat_mem_fun.h10"></a>
+ <span class="phrase"><a name="math_toolkit.quat_mem_fun.division_operators"></a></span><a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">Division
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">inverse_of</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span></code>
+ <span class="bold"><strong>in this order</strong></span> (order is important as multiplication
+ is not commutative for quaternions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The unspecialized form has exception guards,
+ which the specialized forms do not, so as to insure exception safety. For the
+ unspecialized form, the base type's assignment operators must not throw.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mem_typedef.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_non_mem.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_non_mem.html b/libs/math/doc/html/math_toolkit/quat_non_mem.html
new file mode 100644
index 0000000000..2dda8a3085
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_non_mem.html
@@ -0,0 +1,224 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Quaternion Non-Member Operators</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat_mem_fun.html" title="Quaternion Member Functions">
+<link rel="next" href="value_op.html" title="Quaternion Value Operations">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_mem_fun.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_op.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_non_mem"></a><a class="link" href="quat_non_mem.html" title="Quaternion Non-Member Operators">Quaternion Non-Member Operators</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.quat_non_mem.h0"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.unary_plus"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.unary_plus">Unary
+ Plus</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ This unary operator simply returns q.
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h1"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.unary_minus"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.unary_minus">Unary
+ Minus</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ This unary operator returns the opposite of q.
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h2"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.binary_addition_operators"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_addition_operators">Binary
+ Addition Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">+=</span>
+ <span class="identifier">rhs</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h3"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.binary_subtraction_operators"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_subtraction_operators">Binary Subtraction
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">-=</span>
+ <span class="identifier">rhs</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h4"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.binary_multiplication_operators"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_multiplication_operators">Binary
+ Multiplication Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">*=</span>
+ <span class="identifier">rhs</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h5"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.binary_division_operators"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_division_operators">Binary
+ Division Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">/=</span>
+ <span class="identifier">rhs</span></code>. It is of course still an error
+ to divide by zero...
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h6"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.equality_operators"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.equality_operators">Equality
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These return true if and only if the four components of <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span></code> are
+ equal to their counterparts in <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code>. As
+ with any floating-type entity, this is essentially meaningless.
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h7"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.inequality_operators"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.inequality_operators">Inequality
+ Operators</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+</pre>
+<p>
+ These return true if and only if <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">==</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code> is false. As with any floating-type entity,
+ this is essentially meaningless.
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h8"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.stream_extractor"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.stream_extractor">Stream
+ Extractor</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&gt;&gt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Extracts a quaternion q of one of the following forms (with a, b, c and d of
+ type <code class="computeroutput"><span class="identifier">T</span></code>):
+ </p>
+<p>
+ <code class="literal">a (a), (a,b), (a,b,c), (a,b,c,d) (a,(c)), (a,(c,d)), ((a)), ((a),c),
+ ((a),(c)), ((a),(c,d)), ((a,b)), ((a,b),c), ((a,b),(c)), ((a,b),(c,d))</code>
+ </p>
+<p>
+ The input values must be convertible to <code class="computeroutput"><span class="identifier">T</span></code>.
+ If bad input is encountered, calls <code class="computeroutput"><span class="identifier">is</span><span class="special">.</span><span class="identifier">setstate</span><span class="special">(</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">failbit</span><span class="special">)</span></code>
+ (which may throw ios::failure (27.4.5.3)).
+ </p>
+<p>
+ <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">is</span></code>.
+ </p>
+<p>
+ The rationale for the list of accepted formats is that either we have a list
+ of up to four reals, or else we have a couple of complex numbers, and in that
+ case if it formated as a proper complex number, then it should be accepted.
+ Thus potential ambiguities are lifted (for instance (a,b) is (a,b,0,0) and
+ not (a,0,b,0), i.e. it is parsed as a list of two real numbers and not two
+ complex numbers which happen to have imaginary parts equal to zero).
+ </p>
+<h5>
+<a name="math_toolkit.quat_non_mem.h9"></a>
+ <span class="phrase"><a name="math_toolkit.quat_non_mem.stream_inserter"></a></span><a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.stream_inserter">Stream
+ Inserter</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Inserts the quaternion q onto the stream <code class="computeroutput"><span class="identifier">os</span></code>
+ as if it were implemented as follows:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostringstream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">;</span>
+
+ <span class="identifier">s</span><span class="special">.</span><span class="identifier">flags</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">flags</span><span class="special">());</span>
+ <span class="identifier">s</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">getloc</span><span class="special">());</span>
+ <span class="identifier">s</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">precision</span><span class="special">());</span>
+
+ <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_2</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_3</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">;</span>
+
+ <span class="keyword">return</span> <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">str</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_mem_fun.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_op.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_overview.html b/libs/math/doc/html/math_toolkit/quat_overview.html
new file mode 100644
index 0000000000..5559fbbd55
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_overview.html
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="next" href="quat_header.html" title="Header File">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../quaternions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_header.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_overview"></a><a class="link" href="quat_overview.html" title="Overview">Overview</a>
+</h2></div></div></div>
+<p>
+ Quaternions are a relative of complex numbers.
+ </p>
+<p>
+ Quaternions are in fact part of a small hierarchy of structures built upon
+ the real numbers, which comprise only the set of real numbers (traditionally
+ named <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span>), the set of
+ complex numbers (traditionally named <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>),
+ the set of quaternions (traditionally named <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span>)
+ and the set of octonions (traditionally named <span class="emphasis"><em><span class="bold"><strong>O</strong></span></em></span>),
+ which possess interesting mathematical properties (chief among which is the
+ fact that they are <span class="emphasis"><em>division algebras</em></span>, <span class="emphasis"><em>i.e.</em></span>
+ where the following property is true: if <span class="emphasis"><em><code class="literal">y</code></em></span>
+ is an element of that algebra and is <span class="bold"><strong>not equal to zero</strong></span>,
+ then <span class="emphasis"><em><code class="literal">yx = yx'</code></em></span>, where <span class="emphasis"><em><code class="literal">x</code></em></span>
+ and <span class="emphasis"><em><code class="literal">x'</code></em></span> denote elements of that algebra,
+ implies that <span class="emphasis"><em><code class="literal">x = x'</code></em></span>). Each member of
+ the hierarchy is a super-set of the former.
+ </p>
+<p>
+ One of the most important aspects of quaternions is that they provide an efficient
+ way to parameterize rotations in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>
+ (the usual three-dimensional space) and <span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span>.
+ </p>
+<p>
+ In practical terms, a quaternion is simply a quadruple of real numbers (&#945;,&#946;,&#947;,&#948;),
+ which we can write in the form <span class="emphasis"><em><code class="literal">q = &#945; + &#946;i + &#947;j + &#948;k</code></em></span>,
+ where <span class="emphasis"><em><code class="literal">i</code></em></span> is the same object as for complex
+ numbers, and <span class="emphasis"><em><code class="literal">j</code></em></span> and <span class="emphasis"><em><code class="literal">k</code></em></span>
+ are distinct objects which play essentially the same kind of role as <span class="emphasis"><em><code class="literal">i</code></em></span>.
+ </p>
+<p>
+ An addition and a multiplication is defined on the set of quaternions, which
+ generalize their real and complex counterparts. The main novelty here is that
+ <span class="bold"><strong>the multiplication is not commutative</strong></span> (i.e.
+ there are quaternions <span class="emphasis"><em><code class="literal">x</code></em></span> and <span class="emphasis"><em><code class="literal">y</code></em></span>
+ such that <span class="emphasis"><em><code class="literal">xy &#8800; yx</code></em></span>). A good mnemotechnical
+ way of remembering things is by using the formula <span class="emphasis"><em><code class="literal">i*i =
+ j*j = k*k = -1</code></em></span>.
+ </p>
+<p>
+ Quaternions (and their kin) are described in far more details in this other
+ <a href="../../../quaternion/TQE.pdf" target="_top">document</a> (with <a href="../../../quaternion/TQE_EA.pdf" target="_top">errata
+ and addenda</a>).
+ </p>
+<p>
+ Some traditional constructs, such as the exponential, carry over without too
+ much change into the realms of quaternions, but other, such as taking a square
+ root, do not.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../quaternions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_header.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_synopsis.html b/libs/math/doc/html/math_toolkit/quat_synopsis.html
new file mode 100644
index 0000000000..27f4e57db1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_synopsis.html
@@ -0,0 +1,128 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat_header.html" title="Header File">
+<link rel="next" href="quat.html" title="Template Class quaternion">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_header.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_synopsis"></a><a class="link" href="quat_synopsis.html" title="Synopsis">Synopsis</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="quat.html" title="Template Class quaternion">quaternion</a><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="spec.html" title="Quaternion Specializations">quaternion&lt;float&gt;</a><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="spec.html#math_quaternion_double">quaternion&lt;double&gt;</a><span class="special">;</span>
+<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="spec.html#math_quaternion_long_double">quaternion&lt;long double&gt;</a><span class="special">;</span>
+
+<span class="comment">// operators</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_addition_operators">operator +</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_division_operators">operator /</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.unary_plus">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.unary_minus">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.equality_operators">operator ==</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.inequality_operators">operator !=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.stream_extractor">operator &gt;&gt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
+<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <a class="link" href="quat_non_mem.html#math_toolkit.quat_non_mem.stream_inserter">operator &lt;&lt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="comment">// values</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#math_toolkit.value_op.real_and_unreal">real</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="value_op.html#math_toolkit.value_op.real_and_unreal">unreal</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#math_toolkit.value_op.sup">sup</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#math_toolkit.value_op.l1">l1</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#math_toolkit.value_op.abs">abs</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#math_toolkit.value_op.norm">norm</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="value_op.html#math_toolkit.value_op.conj">conj</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#math_quaternions.creation_spherical">math_quaternions.creation_spherical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#math_quaternions.creation_semipolar">semipolar</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#math_quaternions.creation_multipolar">multipolar</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#math_quaternions.creation_cylindrospherical">cylindrospherical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">radius</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">longitude</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">latitude</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#math_quaternions.creation_cylindrical">cylindrical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">);</span>
+
+<span class="comment">// transcendentals</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.exp">exp</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.cos">cos</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.sin">sin</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.tan">tan</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.cosh">cosh</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.sinh">sinh</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.tanh">tanh</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#math_toolkit.trans.pow">pow</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
+
+<span class="special">}</span> <span class="comment">// namespace math</span>
+<span class="special">}</span> <span class="comment">// namespace boost</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_header.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_tests.html b/libs/math/doc/html/math_toolkit/quat_tests.html
new file mode 100644
index 0000000000..61b45cfcb9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_tests.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Test Program</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="trans.html" title="Quaternion Transcendentals">
+<link rel="next" href="exp.html" title="The Quaternionic Exponential">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trans.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_tests"></a><a class="link" href="quat_tests.html" title="Test Program">Test Program</a>
+</h2></div></div></div>
+<p>
+ The <a href="../../../quaternion/quaternion_test.cpp" target="_top">quaternion_test.cpp</a>
+ test program tests quaternions specializations for float, double and long double
+ (<a href="../../../quaternion/output.txt" target="_top">sample output</a>, with message
+ output enabled).
+ </p>
+<p>
+ If you define the symbol TEST_VERBOSE, you will get additional output (<a href="../../../quaternion/output_more.txt" target="_top">verbose output</a>); this will only
+ be helpfull if you enable message output at the same time, of course (by uncommenting
+ the relevant line in the test or by adding <code class="literal">--log_level=messages</code>
+ to your command line,...). In that case, and if you are running interactively,
+ you may in addition define the symbol BOOST_INTERACTIVE_TEST_INPUT_ITERATOR
+ to interactively test the input operator with input of your choice from the
+ standard input (instead of hard-coding it in the test).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trans.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/quat_todo.html b/libs/math/doc/html/math_toolkit/quat_todo.html
new file mode 100644
index 0000000000..da88c16ed3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/quat_todo.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>To Do</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat_history.html" title="History">
+<link rel="next" href="../octonions.html" title="Chapter&#160;10.&#160;Octonions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../octonions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.quat_todo"></a><a class="link" href="quat_todo.html" title="To Do">To Do</a>
+</h2></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Improve testing.
+ </li>
+<li class="listitem">
+ Rewrite input operatore using Spirit (creates a dependency).
+ </li>
+<li class="listitem">
+ Put in place an Expression Template mechanism (perhaps borrowing from uBlas).
+ </li>
+<li class="listitem">
+ Use uBlas for the link with rotations (and move from the <a href="../../../quaternion/HSO3SO4.cpp" target="_top">example</a>
+ implementation to an efficient one).
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_history.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../octonions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/rationale.html b/libs/math/doc/html/math_toolkit/rationale.html
new file mode 100644
index 0000000000..37fbefd92d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/rationale.html
@@ -0,0 +1,155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rationale</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cstdfloat.html" title="Chapter&#160;3.&#160;Specified-width floating-point typedefs">
+<link rel="prev" href="overview.html" title="Overview">
+<link rel="next" href="exact_typdefs.html" title="Exact-Width Floating-Point typedefs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exact_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
+</h2></div></div></div>
+<p>
+ The implementation of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ is designed to utilize <code class="computeroutput"><span class="special">&lt;</span><span class="keyword">float</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>,
+ defined in the 1989 C standard. The preprocessor is used to query certain preprocessor
+ definitions in <code class="computeroutput"><span class="special">&lt;</span><span class="keyword">float</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code>
+ such as FLT_MAX, DBL_MAX, etc. Based on the results of these queries, an attempt
+ is made to automatically detect the presence of built-in floating-point types
+ having specified widths. An unequivocal test regarding conformance with <a href="http://en.wikipedia.org/wiki/IEEE_floating_point" target="_top">IEEE_floating_point</a>
+ (IEC599) based on <a href="http://en.cppreference.com/w/cpp/types/numeric_limits/is_iec559" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;::</span><span class="identifier">is_iec559</span></code></a>
+ is performed with <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code>.
+ </p>
+<p>
+ In addition, this Boost implementation <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ supports an 80-bit floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>
+ if it can be detected, and a 128-bit floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>
+ if it can be detected, provided that the underlying types conform with <a href="http://en.wikipedia.org/wiki/Extended_precision" target="_top">IEEE-754 precision extension</a>
+ (if<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;::</span><span class="identifier">is_iec559</span></code> is true for this type).
+ </p>
+<p>
+ The header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ makes the standardized floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ safely available in <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">boost</span></code> without placing any names in <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">std</span></code>.
+ The intention is to complement rather than compete with a potential future
+ C/C++ Standard Library that may contain these <code class="computeroutput"><span class="keyword">typedef</span></code>s.
+ Should some future C/C++ standard include <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">stdfloat</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code> and
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">cstdfloat</span><span class="special">&gt;</span></code>, then <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ will continue to function, but will become redundant and may be safely deprecated.
+ </p>
+<p>
+ Because <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ is a Boost header, its name conforms to the boost header naming conventions,
+ not the C++ Standard Library header naming conventions.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ <span class="bold"><strong>cannot synthesize or create a <code class="computeroutput"><span class="keyword">typedef</span></code>
+ if the underlying type is not provided by the compiler</strong></span>. For example,
+ if a compiler does not have an underlying floating-point type with 128 bits
+ (highly sought-after in scientific and numeric programming), then <code class="computeroutput"><span class="identifier">float128_t</span></code> and its corresponding least
+ and fast types are not provided by <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span></code>&gt;.
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ uses a compiler-specific non-standardized type (<span class="bold"><strong>not</strong></span>
+ derived from <code class="computeroutput"><span class="keyword">float</span><span class="special">,</span>
+ <span class="keyword">double</span><span class="special">,</span></code>
+ or <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>)
+ for one or more of its floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>s,
+ then there is no guarantee that specializations of <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;</span></code> will be available for these types.
+ Typically, specializations of <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;</span></code> will only be available for these
+ types if the compiler itself supports corresponding specializations for the
+ underlying type(s), exceptions are GCC's <code class="computeroutput"><span class="identifier">__float128</span></code>
+ type and Intel's <code class="computeroutput"><span class="identifier">_Quad</span></code> type
+ which are explicitly supported via our own code.
+ </p></td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ As an implementation artifact, certain C macro names from <code class="computeroutput"><span class="special">&lt;</span><span class="keyword">float</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code> may possibly be visible to users of
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
+ Don't rely on using these macros; they are not part of any Boost-specified
+ interface. Use <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;</span></code>
+ for floating-point ranges, etc. instead.
+ </p></td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ For best results, <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ should be <code class="computeroutput"><span class="preprocessor">#include</span></code>d before
+ other headers that define generic code making use of standard library functions
+ defined in &lt;cmath&gt;.
+ </p>
+<p>
+ This is because <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ may define overloads of standard library functions where a non-standard type
+ (i.e. other than <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, or <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>) is used for one of the specified
+ width types. If generic code (for example in another Boost.Math header) calls
+ a standard library function, then the correct overload will only be found
+ if these overloads are defined prior to the point of use. See implementation
+ for more details.
+ </p>
+<p>
+ For this reason, making <code class="computeroutput"><span class="preprocessor">#include</span>
+ <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ the <span class="bold"><strong>first include</strong></span> is usually best.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cstdfloat.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exact_typdefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/rationale0.html b/libs/math/doc/html/math_toolkit/rationale0.html
new file mode 100644
index 0000000000..efe7e44fbe
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/rationale0.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rationale</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="demo.html" title="Demonstration Program">
+<link rel="next" href="gcd_history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="demo.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.rationale0"></a><a class="link" href="rationale0.html" title="Rationale">Rationale</a>
+</h2></div></div></div>
+<p>
+ The greatest common divisor and least common multiple functions are greatly
+ used in some numeric contexts, including some of the other Boost libraries.
+ Centralizing these functions to one header improves code factoring and eases
+ maintainence.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="demo.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_history.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/refs.html b/libs/math/doc/html/math_toolkit/refs.html
new file mode 100644
index 0000000000..f57020d6c9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/refs.html
@@ -0,0 +1,215 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+<link rel="prev" href="remez.html" title="The Remez Method">
+<link rel="next" href="../status.html" title="Chapter&#160;17.&#160;Library Status">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remez.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../status.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.refs"></a><a class="link" href="refs.html" title="References">References</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.refs.h0"></a>
+ <span class="phrase"><a name="math_toolkit.refs.general_references"></a></span><a class="link" href="refs.html#math_toolkit.refs.general_references">General
+ references</a>
+ </h5>
+<p>
+ (Specific detailed sources for individual functions and distributions are given
+ at the end of each individual section).
+ </p>
+<p>
+ <a href="http://dlmf.nist.gov/" target="_top">DLMF (NIST Digital Library of Mathematical
+ Functions)</a> is a replacement for the legendary Abramowitz and Stegun's
+ Handbook of Mathematical Functions (often called simply A&amp;S),
+ </p>
+<p>
+ M. Abramowitz and I. A. Stegun (Eds.) (1964) Handbook of Mathematical Functions
+ with Formulas, Graphs, and Mathematical Tables, National Bureau of Standards
+ Applied Mathematics Series, U.S. Government Printing Office, Washington, D.C.
+ </p>
+<p>
+ NIST Handbook of Mathematical Functions Edited by: Frank W. J. Olver, University
+ of Maryland and National Institute of Standards and Technology, Maryland, Daniel
+ W. Lozier, National Institute of Standards and Technology, Maryland, Ronald
+ F. Boisvert, National Institute of Standards and Technology, Maryland, Charles
+ W. Clark, National Institute of Standards and Technology, Maryland and University
+ of Maryland.
+ </p>
+<p>
+ ISBN: 978-0521140638 (paperback), 9780521192255 (hardback), July 2010, Cambridge
+ University Press.
+ </p>
+<p>
+ <a href="http://www.itl.nist.gov/div898/handbook/index.htm" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods</a>
+ </p>
+<p>
+ <a href="http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/DiscreteDistributions.html" target="_top">Mathematica
+ Documentation: DiscreteDistributions</a> The Wolfram Research Documentation
+ Center is a collection of online reference materials about Mathematica, CalculationCenter,
+ and other Wolfram Research products.
+ </p>
+<p>
+ <a href="http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/ContinuousDistributions.html" target="_top">Mathematica
+ Documentation: ContinuousDistributions</a> The Wolfram Research Documentation
+ Center is a collection of online reference materials about Mathematica, CalculationCenter,
+ and other Wolfram Research products.
+ </p>
+<p>
+ Statistical Distributions (Wiley Series in Probability &amp; Statistics) (Paperback)
+ by N.A.J. Hastings, Brian Peacock, Merran Evans, ISBN: 0471371246, Wiley 2000.
+ </p>
+<p>
+ <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme Value
+ Distributions, Theory and Applications</a> Samuel Kotz &amp; Saralees Nadarajah,
+ ISBN 978-1-86094-224-2 &amp; 1-86094-224-5 Oct 2000, Chapter 1.2 discusses
+ the various extreme value distributions.
+ </p>
+<p>
+ <a href="http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf" target="_top">pugh.pdf
+ (application/pdf Object)</a> Pugh Msc Thesis on the Lanczos approximation
+ to the gamma function.
+ </p>
+<p>
+ <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003" target="_top">N1514,
+ 03-0097, A Proposal to Add Mathematical Special Functions to the C++ Standard
+ Library (version 2), Walter E. Brown</a>
+ </p>
+<h5>
+<a name="math_toolkit.refs.h1"></a>
+ <span class="phrase"><a name="math_toolkit.refs.calculators"></a></span><a class="link" href="refs.html#math_toolkit.refs.calculators">Calculators</a>
+ </h5>
+<p>
+ We found (and used to create cross-check spot values - as far as their accuracy
+ allowed).
+ </p>
+<p>
+ <a href="http://functions.wolfram.com/" target="_top">The Wolfram Functions Site</a>
+ The Wolfram Functions Site - Providing the mathematical and scientific community
+ with the world's largest (and most authorititive) collection of formulas and
+ graphics about mathematical functions.
+ </p>
+<p>
+ <a href="http://www.moshier.net/cephes28.zip" target="_top">100-decimal digit calculator</a>
+ provided some spot values.
+ </p>
+<p>
+ <a href="http://www.adsciengineering.com/bpdcalc/" target="_top">http://www.adsciengineering.com/bpdcalc/</a>
+ Binomial Probability Distribution Calculator.
+ </p>
+<h5>
+<a name="math_toolkit.refs.h2"></a>
+ <span class="phrase"><a name="math_toolkit.refs.other_libraries"></a></span><a class="link" href="refs.html#math_toolkit.refs.other_libraries">Other
+ Libraries</a>
+ </h5>
+<p>
+ <a href="http://www.moshier.net/#Cephes" target="_top">Cephes library</a> by Shephen
+ Moshier and his book:
+ </p>
+<p>
+ Methods and programs for mathematical functions, Stephen L B Moshier, Ellis
+ Horwood (1989) ISBN 0745802893 0470216093 provided inspiration.
+ </p>
+<p>
+ <a href="http://lib.stat.cmu.edu/general/cdflib" target="_top">CDFLIB Library of Fortran
+ Routines for Cumulative Distribution functions.</a>
+ </p>
+<p>
+ <a href="http://www.csit.fsu.edu/~burkardt/cpp_src/dcdflib/dcdflib.html" target="_top">DCFLIB
+ C++ version</a>.
+ </p>
+<p>
+ <a href="http://www.csit.fsu.edu/~burkardt/f_src/dcdflib/dcdflib.html" target="_top">DCDFLIB
+ C++ version</a> DCDFLIB is a library of C++ routines, using double precision
+ arithmetic, for evaluating cumulative probability density functions.
+ </p>
+<p>
+ <a href="http://www.softintegration.com/docs/package/chnagstat/" target="_top">http://www.softintegration.com/docs/package/chnagstat/</a>
+ </p>
+<p>
+ <a href="http://www.nag.com/numeric/numerical_libraries.asp" target="_top">NAG</a>
+ libraries.
+ </p>
+<p>
+ <a href="http://www.mathcad.com" target="_top">MathCAD</a>
+ </p>
+<p>
+ <a href="http://www.vni.com/products/imsl/jmsl/v30/api/com/imsl/stat/Cdf.html" target="_top">JMSL
+ Numerical Library</a> (Java).
+ </p>
+<p>
+ John F Hart, Computer Approximations, (1978) ISBN 0 088275 642-7.
+ </p>
+<p>
+ William J Cody, Software Manual for the Elementary Functions, Prentice-Hall
+ (1980) ISBN 0138220646.
+ </p>
+<p>
+ Nico Temme, Special Functions, An Introduction to the Classical Functions of
+ Mathematical Physics, Wiley, ISBN: 0471-11313-1 (1996) who also gave valueable
+ advice.
+ </p>
+<p>
+ <a href="http://www.cas.lancs.ac.uk/glossary_v1.1/prob.html#probdistn" target="_top">Statistics
+ Glossary</a>, Valerie Easton and John H. McColl.
+ </p>
+<p>
+ <span class="underline">_R</span> R Development Core Team (2010). R:
+ A language and environment for statistical computing. R Foundation for Statistical
+ Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org.
+ </p>
+<p>
+ For use of R, see:
+ </p>
+<p>
+ Jim Albert, Bayesian Computation with R, ISBN 978-0-387-71384-7.
+ </p>
+<p>
+ <a href="http://www.quantnet.com/cplusplus-statistical-distributions-boost" target="_top">C++
+ Statistical Distributions in Boost - QuantNetwork forum</a> discusses using
+ Boost.Math in finance.
+ </p>
+<p>
+ <a href="http://www.quantnet.com/boost-and-computational-finance/" target="_top">Quantnet
+ Boost and computational finance</a>. Robert Demming &amp; Daniel J. Duffy,
+ Introduction to the C++ Boost Libraries - Volume I - Foundations and Volume
+ II ISBN 978-94-91028-01-4, Advanced Libraries and Applications, ISBN 978-94-91028-02-1
+ (to be published in 2011). discusses application of Boost.Math, especially
+ in finance.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remez.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../status.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/relative_error.html b/libs/math/doc/html/math_toolkit/relative_error.html
new file mode 100644
index 0000000000..a75d06b3e2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/relative_error.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Relative Error</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+<link rel="prev" href="special_tut/special_tut_test.html" title="Testing">
+<link rel="next" href="lanczos.html" title="The Lanczos Approximation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_tut/special_tut_test.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lanczos.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.relative_error"></a><a class="link" href="relative_error.html" title="Relative Error">Relative Error</a>
+</h2></div></div></div>
+<p>
+ Given an actual value <span class="emphasis"><em>a</em></span> and a found value <span class="emphasis"><em>v</em></span>
+ the relative error can be calculated from:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/error2.png"></span>
+ </p>
+<p>
+ However the test programs in the library use the symmetrical form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/error1.png"></span>
+ </p>
+<p>
+ which measures <span class="emphasis"><em>relative difference</em></span> and happens to be less
+ error prone in use since we don't have to worry which value is the "true"
+ result, and which is the experimental one. It guarantees to return a value
+ at least as large as the relative error.
+ </p>
+<p>
+ Special care needs to be taken when one value is zero: we could either take
+ the absolute error in this case (but that's cheating as the absolute error
+ is likely to be very small), or we could assign a value of either 1 or infinity
+ to the relative error in this special case. In the test cases for the special
+ functions in this library, everything below a threshold is regarded as "effectively
+ zero", otherwise the relative error is assigned the value of 1 if only
+ one of the terms is zero. The threshold is currently set at <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;::</span><span class="identifier">min</span><span class="special">()</span></code>: in other words all denormalised numbers
+ are regarded as a zero.
+ </p>
+<p>
+ All the test programs calculate <span class="emphasis"><em>quantized relative error</em></span>,
+ whereas the graphs in this manual are produced with the <span class="emphasis"><em>actual error</em></span>.
+ The difference is as follows: in the test programs, the test data is rounded
+ to the target real type under test when the program is compiled, so the error
+ observed will then be a whole number of <span class="emphasis"><em>units in the last place</em></span>
+ either rounded up from the actual error, or rounded down (possibly to zero).
+ In contrast the <span class="emphasis"><em>true error</em></span> is obtained by extending the
+ precision of the calculated value, and then comparing to the actual value:
+ in this case the calculated error may be some fraction of <span class="emphasis"><em>units in
+ the last place</em></span>.
+ </p>
+<p>
+ Note that throughout this manual and the test programs the relative error is
+ usually quoted in units of epsilon. However, remember that <span class="emphasis"><em>units
+ in the last place</em></span> more accurately reflect the number of contaminated
+ digits, and that relative error can <span class="emphasis"><em>"wobble"</em></span>
+ by a factor of 2 compared to <span class="emphasis"><em>units in the last place</em></span>.
+ In other words: two implementations of the same function, whose maximum relative
+ errors differ by a factor of 2, can actually be accurate to the same number
+ of binary digits. You have been warned!
+ </p>
+<h5>
+<a name="math_toolkit.relative_error.h0"></a>
+ <span class="phrase"><a name="math_toolkit.relative_error.zero_error"></a></span><a class="link" href="relative_error.html#math_toolkit.relative_error.zero_error">The
+ Impossibility of Zero Error</a>
+ </h5>
+<p>
+ For many of the functions in this library, it is assumed that the error is
+ "effectively zero" if the computation can be done with a number of
+ guard digits. However it should be remembered that if the result is a <span class="emphasis"><em>transcendental
+ number</em></span> then as a point of principle we can never be sure that the
+ result is accurate to more than 1 ulp. This is an example of what <a href="http://en.wikipedia.org/wiki/William_Kahan" target="_top">http://en.wikipedia.org/wiki/William_Kahan</a>
+ called <a href="http://en.wikipedia.org/wiki/Rounding#The_table-maker.27s_dilemma" target="_top">http://en.wikipedia.org/wiki/Rounding#The_table-maker.27s_dilemma</a>:
+ consider what happens if the first guard digit is a one, and the remaining
+ guard digits are all zero. Do we have a tie or not? Since the only thing we
+ can tell about a transcendental number is that its digits have no particular
+ pattern, we can never tell if we have a tie, no matter how many guard digits
+ we have. Therefore, we can never be completely sure that the result has been
+ rounded in the right direction. Of course, transcendental numbers that just
+ happen to be a tie - for however many guard digits we have - are extremely
+ rare, and get rarer the more guard digits we have, but even so....
+ </p>
+<p>
+ Refer to the classic text <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_top">What
+ Every Computer Scientist Should Know About Floating-Point Arithmetic</a>
+ for more information.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_tut/special_tut_test.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lanczos.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/remez.html b/libs/math/doc/html/math_toolkit/remez.html
new file mode 100644
index 0000000000..40e3aedd23
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/remez.html
@@ -0,0 +1,538 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Remez Method</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+<link rel="prev" href="lanczos.html" title="The Lanczos Approximation">
+<link rel="next" href="refs.html" title="References">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lanczos.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.remez"></a><a class="link" href="remez.html" title="The Remez Method">The Remez Method</a>
+</h2></div></div></div>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Remez_algorithm" target="_top">Remez algorithm</a>
+ is a methodology for locating the minimax rational approximation to a function.
+ This short article gives a brief overview of the method, but it should not
+ be regarded as a thorough theoretical treatment, for that you should consult
+ your favorite textbook.
+ </p>
+<p>
+ Imagine that you want to approximate some function f(x) by way of a rational
+ function R(x), where R(x) may be either a polynomial P(x) or a ratio of two
+ polynomials P(x)/Q(x) (a rational function). Initially we'll concentrate on
+ the polynomial case, as it's by far the easier to deal with, later we'll extend
+ to the full rational function case.
+ </p>
+<p>
+ We want to find the "best" rational approximation, where "best"
+ is defined to be the approximation that has the least deviation from f(x).
+ We can measure the deviation by way of an error function:
+ </p>
+<p>
+ E<sub>abs</sub>(x) = f(x) - R(x)
+ </p>
+<p>
+ which is expressed in terms of absolute error, but we can equally use relative
+ error:
+ </p>
+<p>
+ E<sub>rel</sub>(x) = (f(x) - R(x)) / |f(x)|
+ </p>
+<p>
+ And indeed in general we can scale the error function in any way we want, it
+ makes no difference to the maths, although the two forms above cover almost
+ every practical case that you're likely to encounter.
+ </p>
+<p>
+ The minimax rational function R(x) is then defined to be the function that
+ yields the smallest maximal value of the error function. Chebyshev showed that
+ there is a unique minimax solution for R(x) that has the following properties:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ If R(x) is a polynomial of degree N, then there are N+2 unknowns: the N+1
+ coefficients of the polynomial, and maximal value of the error function.
+ </li>
+<li class="listitem">
+ The error function has N+1 roots, and N+2 extrema (minima and maxima).
+ </li>
+<li class="listitem">
+ The extrema alternate in sign, and all have the same magnitude.
+ </li>
+</ul></div>
+<p>
+ That means that if we know the location of the extrema of the error function
+ then we can write N+2 simultaneous equations:
+ </p>
+<p>
+ R(x<sub>i</sub>) + (-1)<sup>i</sup>E = f(x<sub>i</sub>)
+ </p>
+<p>
+ where E is the maximal error term, and x<sub>i</sub> are the abscissa values of the N+2
+ extrema of the error function. It is then trivial to solve the simultaneous
+ equations to obtain the polynomial coefficients and the error term.
+ </p>
+<p>
+ <span class="emphasis"><em>Unfortunately we don't know where the extrema of the error function
+ are located!</em></span>
+ </p>
+<h5>
+<a name="math_toolkit.remez.h0"></a>
+ <span class="phrase"><a name="math_toolkit.remez.the_remez_method"></a></span><a class="link" href="remez.html#math_toolkit.remez.the_remez_method">The
+ Remez Method</a>
+ </h5>
+<p>
+ The Remez method is an iterative technique which, given a broad range of assumptions,
+ will converge on the extrema of the error function, and therefore the minimax
+ solution.
+ </p>
+<p>
+ In the following discussion we'll use a concrete example to illustrate the
+ Remez method: an approximation to the function e<sup>x</sup> &#160; over the range [-1, 1].
+ </p>
+<p>
+ Before we can begin the Remez method, we must obtain an initial value for the
+ location of the extrema of the error function. We could "guess" these,
+ but a much closer first approximation can be obtained by first constructing
+ an interpolated polynomial approximation to f(x).
+ </p>
+<p>
+ In order to obtain the N+1 coefficients of the interpolated polynomial we need
+ N+1 points (x<sub>0</sub>...x<sub>N</sub>): with our interpolated form passing through each of those
+ points that yields N+1 simultaneous equations:
+ </p>
+<p>
+ f(x<sub>i</sub>) = P(x<sub>i</sub>) = c<sub>0</sub> + c<sub>1</sub>x<sub>i</sub> ... + c<sub>N</sub>x<sub>i</sub><sup>N</sup>
+ </p>
+<p>
+ Which can be solved for the coefficients c<sub>0</sub>...c<sub>N</sub> in P(x).
+ </p>
+<p>
+ Obviously this is not a minimax solution, indeed our only guarantee is that
+ f(x) and P(x) touch at N+1 locations, away from those points the error may
+ be arbitrarily large. However, we would clearly like this initial approximation
+ to be as close to f(x) as possible, and it turns out that using the zeros of
+ an orthogonal polynomial as the initial interpolation points is a good choice.
+ In our example we'll use the zeros of a Chebyshev polynomial as these are particularly
+ easy to calculate, interpolating for a polynomial of degree 4, and measuring
+ <span class="emphasis"><em>relative error</em></span> we get the following error function:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/remez-2.png"></span>
+ </p>
+<p>
+ Which has a peak relative error of 1.2x10<sup>-3</sup>.
+ </p>
+<p>
+ While this is a pretty good approximation already, judging by the shape of
+ the error function we can clearly do better. Before starting on the Remez method
+ propper, we have one more step to perform: locate all the extrema of the error
+ function, and store these locations as our initial <span class="emphasis"><em>Chebyshev control
+ points</em></span>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ In the simple case of a polynomial approximation, by interpolating through
+ the roots of a Chebyshev polynomial we have in fact created a <span class="emphasis"><em>Chebyshev
+ approximation</em></span> to the function: in terms of <span class="emphasis"><em>absolute
+ error</em></span> this is the best a priori choice for the interpolated form
+ we can achieve, and typically is very close to the minimax solution.
+ </p>
+<p>
+ However, if we want to optimise for <span class="emphasis"><em>relative error</em></span>,
+ or if the approximation is a rational function, then the initial Chebyshev
+ solution can be quite far from the ideal minimax solution.
+ </p>
+<p>
+ A more technical discussion of the theory involved can be found in this
+ <a href="http://math.fullerton.edu/mathews/n2003/ChebyshevPolyMod.html" target="_top">online
+ course</a>.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.remez.h1"></a>
+ <span class="phrase"><a name="math_toolkit.remez.remez_step_1"></a></span><a class="link" href="remez.html#math_toolkit.remez.remez_step_1">Remez
+ Step 1</a>
+ </h5>
+<p>
+ The first step in the Remez method, given our current set of N+2 Chebyshev
+ control points x<sub>i</sub>, is to solve the N+2 simultaneous equations:
+ </p>
+<p>
+ P(x<sub>i</sub>) + (-1)<sup>i</sup>E = f(x<sub>i</sub>)
+ </p>
+<p>
+ To obtain the error term E, and the coefficients of the polynomial P(x).
+ </p>
+<p>
+ This gives us a new approximation to f(x) that has the same error <span class="emphasis"><em>E</em></span>
+ at each of the control points, and whose error function <span class="emphasis"><em>alternates
+ in sign</em></span> at the control points. This is still not necessarily the
+ minimax solution though: since the control points may not be at the extrema
+ of the error function. After this first step here's what our approximation's
+ error function looks like:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/remez-3.png"></span>
+ </p>
+<p>
+ Clearly this is still not the minimax solution since the control points are
+ not located at the extrema, but the maximum relative error has now dropped
+ to 5.6x10<sup>-4</sup>.
+ </p>
+<h5>
+<a name="math_toolkit.remez.h2"></a>
+ <span class="phrase"><a name="math_toolkit.remez.remez_step_2"></a></span><a class="link" href="remez.html#math_toolkit.remez.remez_step_2">Remez
+ Step 2</a>
+ </h5>
+<p>
+ The second step is to locate the extrema of the new approximation, which we
+ do in two stages: first, since the error function changes sign at each control
+ point, we must have N+1 roots of the error function located between each pair
+ of N+2 control points. Once these roots are found by standard root finding
+ techniques, we know that N extrema are bracketed between each pair of roots,
+ plus two more between the endpoints of the range and the first and last roots.
+ The N+2 extrema can then be found using standard function minimisation techniques.
+ </p>
+<p>
+ We now have a choice: multi-point exchange, or single point exchange.
+ </p>
+<p>
+ In single point exchange, we move the control point nearest to the largest
+ extrema to the absissa value of the extrema.
+ </p>
+<p>
+ In multi-point exchange we swap all the current control points, for the locations
+ of the extrema.
+ </p>
+<p>
+ In our example we perform multi-point exchange.
+ </p>
+<h5>
+<a name="math_toolkit.remez.h3"></a>
+ <span class="phrase"><a name="math_toolkit.remez.iteration"></a></span><a class="link" href="remez.html#math_toolkit.remez.iteration">Iteration</a>
+ </h5>
+<p>
+ The Remez method then performs steps 1 and 2 above iteratively until the control
+ points are located at the extrema of the error function: this is then the minimax
+ solution.
+ </p>
+<p>
+ For our current example, two more iterations converges on a minimax solution
+ with a peak relative error of 5x10<sup>-4</sup> and an error function that looks like:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/remez-4.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.remez.h4"></a>
+ <span class="phrase"><a name="math_toolkit.remez.rational_approximations"></a></span><a class="link" href="remez.html#math_toolkit.remez.rational_approximations">Rational
+ Approximations</a>
+ </h5>
+<p>
+ If we wish to extend the Remez method to a rational approximation of the form
+ </p>
+<p>
+ f(x) = R(x) = P(x) / Q(x)
+ </p>
+<p>
+ where P(x) and Q(x) are polynomials, then we proceed as before, except that
+ now we have N+M+2 unknowns if P(x) is of order N and Q(x) is of order M. This
+ assumes that Q(x) is normalised so that its leading coefficient is 1, giving
+ N+M+1 polynomial coefficients in total, plus the error term E.
+ </p>
+<p>
+ The simultaneous equations to be solved are now:
+ </p>
+<p>
+ P(x<sub>i</sub>) / Q(x<sub>i</sub>) + (-1)<sup>i</sup>E = f(x<sub>i</sub>)
+ </p>
+<p>
+ Evaluated at the N+M+2 control points x<sub>i</sub>.
+ </p>
+<p>
+ Unfortunately these equations are non-linear in the error term E: we can only
+ solve them if we know E, and yet E is one of the unknowns!
+ </p>
+<p>
+ The method usually adopted to solve these equations is an iterative one: we
+ guess the value of E, solve the equations to obtain a new value for E (as well
+ as the polynomial coefficients), then use the new value of E as the next guess.
+ The method is repeated until E converges on a stable value.
+ </p>
+<p>
+ These complications extend the running time required for the development of
+ rational approximations quite considerably. It is often desirable to obtain
+ a rational rather than polynomial approximation none the less: rational approximations
+ will often match more difficult to approximate functions, to greater accuracy,
+ and with greater efficiency, than their polynomial alternatives. For example,
+ if we takes our previous example of an approximation to e<sup>x</sup>, we obtained 5x10<sup>-4</sup> accuracy
+ with an order 4 polynomial. If we move two of the unknowns into the denominator
+ to give a pair of order 2 polynomials, and re-minimise, then the peak relative
+ error drops to 8.7x10<sup>-5</sup>. That's a 5 fold increase in accuracy, for the same
+ number of terms overall.
+ </p>
+<h5>
+<a name="math_toolkit.remez.h5"></a>
+ <span class="phrase"><a name="math_toolkit.remez.practical_considerations"></a></span><a class="link" href="remez.html#math_toolkit.remez.practical_considerations">Practical
+ Considerations</a>
+ </h5>
+<p>
+ Most treatises on approximation theory stop at this point. However, from a
+ practical point of view, most of the work involves finding the right approximating
+ form, and then persuading the Remez method to converge on a solution.
+ </p>
+<p>
+ So far we have used a direct approximation:
+ </p>
+<p>
+ f(x) = R(x)
+ </p>
+<p>
+ But this will converge to a useful approximation only if f(x) is smooth. In
+ addition round-off errors when evaluating the rational form mean that this
+ will never get closer than within a few epsilon of machine precision. Therefore
+ this form of direct approximation is often reserved for situations where we
+ want efficiency, rather than accuracy.
+ </p>
+<p>
+ The first step in improving the situation is generally to split f(x) into a
+ dominant part that we can compute accurately by another method, and a slowly
+ changing remainder which can be approximated by a rational approximation. We
+ might be tempted to write:
+ </p>
+<p>
+ f(x) = g(x) + R(x)
+ </p>
+<p>
+ where g(x) is the dominant part of f(x), but if f(x)/g(x) is approximately
+ constant over the interval of interest then:
+ </p>
+<p>
+ f(x) = g(x)(c + R(x))
+ </p>
+<p>
+ Will yield a much better solution: here <span class="emphasis"><em>c</em></span> is a constant
+ that is the approximate value of f(x)/g(x) and R(x) is typically tiny compared
+ to <span class="emphasis"><em>c</em></span>. In this situation if R(x) is optimised for absolute
+ error, then as long as its error is small compared to the constant <span class="emphasis"><em>c</em></span>,
+ that error will effectively get wiped out when R(x) is added to <span class="emphasis"><em>c</em></span>.
+ </p>
+<p>
+ The difficult part is obviously finding the right g(x) to extract from your
+ function: often the asymptotic behaviour of the function will give a clue,
+ so for example the function <a class="link" href="sf_erf/error_function.html" title="Error Functions">erfc</a>
+ becomes proportional to e<sup>-x<sup>2</sup></sup>/x as x becomes large. Therefore using:
+ </p>
+<p>
+ erfc(z) = (C + R(x)) e<sup>-x<sup>2</sup></sup>/x
+ </p>
+<p>
+ as the approximating form seems like an obvious thing to try, and does indeed
+ yield a useful approximation.
+ </p>
+<p>
+ However, the difficulty then becomes one of converging the minimax solution.
+ Unfortunately, it is known that for some functions the Remez method can lead
+ to divergent behaviour, even when the initial starting approximation is quite
+ good. Furthermore, it is not uncommon for the solution obtained in the first
+ Remez step above to be a bad one: the equations to be solved are generally
+ "stiff", often very close to being singular, and assuming a solution
+ is found at all, round-off errors and a rapidly changing error function, can
+ lead to a situation where the error function does not in fact change sign at
+ each control point as required. If this occurs, it is fatal to the Remez method.
+ It is also possible to obtain solutions that are perfectly valid mathematically,
+ but which are quite useless computationally: either because there is an unavoidable
+ amount of roundoff error in the computation of the rational function, or because
+ the denominator has one or more roots over the interval of the approximation.
+ In the latter case while the approximation may have the correct limiting value
+ at the roots, the approximation is nonetheless useless.
+ </p>
+<p>
+ Assuming that the approximation does not have any fatal errors, and that the
+ only issue is converging adequately on the minimax solution, the aim is to
+ get as close as possible to the minimax solution before beginning the Remez
+ method. Using the zeros of a Chebyshev polynomial for the initial interpolation
+ is a good start, but may not be ideal when dealing with relative errors and/or
+ rational (rather than polynomial) approximations. One approach is to skew the
+ initial interpolation points to one end: for example if we raise the roots
+ of the Chebyshev polynomial to a positive power greater than 1 then the roots
+ will be skewed towards the middle of the [-1,1] interval, while a positive
+ power less than one will skew them towards either end. More usefully, if we
+ initially rescale the points over [0,1] and then raise to a positive power,
+ we can skew them to the left or right. Returning to our example of e<sup>x</sup> &#160; over [-1,1],
+ the initial interpolated form was some way from the minimax solution:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/remez-2.png"></span>
+ </p>
+<p>
+ However, if we first skew the interpolation points to the left (rescale them
+ to [0, 1], raise to the power 1.3, and then rescale back to [-1,1]) we reduce
+ the error from 1.3x10<sup>-3</sup> &#160;to 6x10<sup>-4</sup>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../graphs/remez-5.png"></span>
+ </p>
+<p>
+ It's clearly still not ideal, but it is only a few percent away from our desired
+ minimax solution (5x10<sup>-4</sup>).
+ </p>
+<h5>
+<a name="math_toolkit.remez.h6"></a>
+ <span class="phrase"><a name="math_toolkit.remez.remez_method_checklist"></a></span><a class="link" href="remez.html#math_toolkit.remez.remez_method_checklist">Remez
+ Method Checklist</a>
+ </h5>
+<p>
+ The following lists some of the things to check if the Remez method goes wrong,
+ it is by no means an exhaustive list, but is provided in the hopes that it
+ will prove useful.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Is the function smooth enough? Can it be better separated into a rapidly
+ changing part, and an asymptotic part?
+ </li>
+<li class="listitem">
+ Does the function being approximated have any "blips" in it?
+ Check for problems as the function changes computation method, or if a
+ root, or an infinity has been divided out. The telltale sign is if there
+ is a narrow region where the Remez method will not converge.
+ </li>
+<li class="listitem">
+ Check you have enough accuracy in your calculations: remember that the
+ Remez method works on the difference between the approximation and the
+ function being approximated: so you must have more digits of precision
+ available than the precision of the approximation being constructed. So
+ for example at double precision, you shouldn't expect to be able to get
+ better than a float precision approximation.
+ </li>
+<li class="listitem">
+ Try skewing the initial interpolated approximation to minimise the error
+ before you begin the Remez steps.
+ </li>
+<li class="listitem">
+ If the approximation won't converge or is ill-conditioned from one starting
+ location, try starting from a different location.
+ </li>
+<li class="listitem">
+ If a rational function won't converge, one can minimise a polynomial (which
+ presents no problems), then rotate one term from the numerator to the denominator
+ and minimise again. In theory one can continue moving terms one at a time
+ from numerator to denominator, and then re-minimising, retaining the last
+ set of control points at each stage.
+ </li>
+<li class="listitem">
+ Try using a smaller interval. It may also be possible to optimise over
+ one (small) interval, rescale the control points over a larger interval,
+ and then re-minimise.
+ </li>
+<li class="listitem">
+ Keep absissa values small: use a change of variable to keep the abscissa
+ over, say [0, b], for some smallish value <span class="emphasis"><em>b</em></span>.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.remez.h7"></a>
+ <span class="phrase"><a name="math_toolkit.remez.references"></a></span><a class="link" href="remez.html#math_toolkit.remez.references">References</a>
+ </h5>
+<p>
+ The original references for the Remez Method and it's extension to rational
+ functions are unfortunately in Russian:
+ </p>
+<p>
+ Remez, E.Ya., <span class="emphasis"><em>Fundamentals of numerical methods for Chebyshev approximations</em></span>,
+ "Naukova Dumka", Kiev, 1969.
+ </p>
+<p>
+ Remez, E.Ya., Gavrilyuk, V.T., <span class="emphasis"><em>Computer development of certain approaches
+ to the approximate construction of solutions of Chebyshev problems nonlinearly
+ depending on parameters</em></span>, Ukr. Mat. Zh. 12 (1960), 324-338.
+ </p>
+<p>
+ Gavrilyuk, V.T., <span class="emphasis"><em>Generalization of the first polynomial algorithm
+ of E.Ya.Remez for the problem of constructing rational-fractional Chebyshev
+ approximations</em></span>, Ukr. Mat. Zh. 16 (1961), 575-585.
+ </p>
+<p>
+ Some English language sources include:
+ </p>
+<p>
+ Fraser, W., Hart, J.F., <span class="emphasis"><em>On the computation of rational approximations
+ to continuous functions</em></span>, Comm. of the ACM 5 (1962), 401-403, 414.
+ </p>
+<p>
+ Ralston, A., <span class="emphasis"><em>Rational Chebyshev approximation by Remes' algorithms</em></span>,
+ Numer.Math. 7 (1965), no. 4, 322-330.
+ </p>
+<p>
+ A. Ralston, <span class="emphasis"><em>Rational Chebyshev approximation, Mathematical Methods
+ for Digital Computers v. 2</em></span> (Ralston A., Wilf H., eds.), Wiley, New
+ York, 1967, pp. 264-284.
+ </p>
+<p>
+ Hart, J.F. e.a., <span class="emphasis"><em>Computer approximations</em></span>, Wiley, New York
+ a.o., 1968.
+ </p>
+<p>
+ Cody, W.J., Fraser, W., Hart, J.F., <span class="emphasis"><em>Rational Chebyshev approximation
+ using linear equations</em></span>, Numer.Math. 12 (1968), 242-251.
+ </p>
+<p>
+ Cody, W.J., <span class="emphasis"><em>A survey of practical rational and polynomial approximation
+ of functions</em></span>, SIAM Review 12 (1970), no. 3, 400-423.
+ </p>
+<p>
+ Barrar, R.B., Loeb, H.J., <span class="emphasis"><em>On the Remez algorithm for non-linear families</em></span>,
+ Numer.Math. 15 (1970), 382-391.
+ </p>
+<p>
+ Dunham, Ch.B., <span class="emphasis"><em>Convergence of the Fraser-Hart algorithm for rational
+ Chebyshev approximation</em></span>, Math. Comp. 29 (1975), no. 132, 1078-1082.
+ </p>
+<p>
+ G. L. Litvinov, <span class="emphasis"><em>Approximate construction of rational approximations
+ and the effect of error autocorrection</em></span>, Russian Journal of Mathematical
+ Physics, vol.1, No. 3, 1994.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lanczos.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/result_type.html b/libs/math/doc/html/math_toolkit/result_type.html
new file mode 100644
index 0000000000..b176d3cead
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/result_type.html
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Calculation of the Type of the Result</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="namespaces.html" title="Namespaces">
+<link rel="next" href="error_handling.html" title="Error Handling">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespaces.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_handling.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.result_type"></a><a class="link" href="result_type.html" title="Calculation of the Type of the Result">Calculation of the Type of the
+ Result</a>
+</h2></div></div></div>
+<p>
+ The functions in this library are all overloaded to accept mixed floating point
+ (or mixed integer and floating point type) arguments. So for example:
+ </p>
+<pre class="programlisting"><span class="identifier">foo</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span>
+<span class="identifier">foo</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
+<span class="identifier">foo</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2L</span><span class="special">);</span>
+</pre>
+<p>
+ etc, are all valid calls, as long as "foo" is a function taking two
+ floating-point arguments. But that leaves the question:
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="emphasis"><em>"Given a special function with N arguments of types T1, T2,
+ T3 ... TN, then what type is the result?"</em></span>
+ </p>
+</div>
+<p>
+ <span class="bold"><strong>If all the arguments are of the same (floating point)
+ type then the result is the same type as the arguments.</strong></span>
+ </p>
+<p>
+ Otherwise, the type of the result is computed using the following logic:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Any arguments that are not template arguments are disregarded from further
+ analysis.
+ </li>
+<li class="listitem">
+ For each type in the argument list, if that type is an integer type then
+ it is treated as if it were of type double for the purposes of further
+ analysis.
+ </li>
+<li class="listitem">
+ If any of the arguments is a user-defined class type, then the result type
+ is the first such class type that is constructible from all of the other
+ argument types.
+ </li>
+<li class="listitem">
+ If any of the arguments is of type <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, then the result is of type
+ <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ If any of the arguments is of type <code class="computeroutput"><span class="keyword">double</span></code>,
+ then the result is of type <code class="computeroutput"><span class="keyword">double</span></code>.
+ </li>
+<li class="listitem">
+ Otherwise the result is of type <code class="computeroutput"><span class="keyword">float</span></code>.
+ </li>
+</ol></div>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">cyl_bessel</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3.0</span><span class="special">);</span>
+</pre>
+<p>
+ Returns a <code class="computeroutput"><span class="keyword">double</span></code> result, as does:
+ </p>
+<pre class="programlisting"><span class="identifier">cyl_bessel</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3.0f</span><span class="special">);</span>
+</pre>
+<p>
+ as in this case the integer first argument is treated as a <code class="computeroutput"><span class="keyword">double</span></code>
+ and takes precedence over the <code class="computeroutput"><span class="keyword">float</span></code>
+ second argument. To get a <code class="computeroutput"><span class="keyword">float</span></code>
+ result we would need all the arguments to be of type float:
+ </p>
+<pre class="programlisting"><span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="number">2.0f</span><span class="special">,</span> <span class="number">3.0f</span><span class="special">);</span>
+</pre>
+<p>
+ When one or more of the arguments is not a template argument then it doesn't
+ effect the return type at all, for example:
+ </p>
+<pre class="programlisting"><span class="identifier">sph_bessel</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3.0f</span><span class="special">);</span>
+</pre>
+<p>
+ returns a <code class="computeroutput"><span class="keyword">float</span></code>, since the first
+ argument is not a template argument and so doesn't effect the result: without
+ this rule functions that take explicitly integer arguments could never return
+ <code class="computeroutput"><span class="keyword">float</span></code>.
+ </p>
+<p>
+ And for user-defined types, all of the following return an <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> result:
+ </p>
+<pre class="programlisting"><span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="number">2</span><span class="special">));</span>
+
+<span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="number">2</span><span class="special">),</span> <span class="number">3</span><span class="special">);</span>
+
+<span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">quad_float</span><span class="special">(</span><span class="number">2</span><span class="special">),</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+</pre>
+<p>
+ In the last case, <code class="computeroutput"><span class="identifier">quad_float</span></code>
+ is convertible to <code class="computeroutput"><span class="identifier">RR</span></code>, but not
+ vice-versa, so the result will be an <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>. Note
+ that this assumes that you are using a <a class="link" href="high_precision/use_ntl.html" title="Using NTL Library">patched
+ NTL library</a>.
+ </p>
+<p>
+ These rules are chosen to be compatible with the behaviour of <span class="emphasis"><em>ISO/IEC
+ 9899:1999 Programming languages - C</em></span> and with the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Draft
+ Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph
+ 5</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="namespaces.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_handling.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/rounding.html b/libs/math/doc/html/math_toolkit/rounding.html
new file mode 100644
index 0000000000..f4344c5c17
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/rounding.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rounding Truncation and Integer Conversion</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
+<link rel="prev" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
+<link rel="next" href="rounding/round.html" title="Rounding Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../utils.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rounding/round.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.rounding"></a><a class="link" href="rounding.html" title="Rounding Truncation and Integer Conversion">Rounding Truncation and Integer
+ Conversion</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="rounding/round.html">Rounding Functions</a></span></dt>
+<dt><span class="section"><a href="rounding/trunc.html">Truncation Functions</a></span></dt>
+<dt><span class="section"><a href="rounding/modf.html">Integer and Fractional Part
+ Splitting (modf)</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../utils.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rounding/round.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/rounding/modf.html b/libs/math/doc/html/math_toolkit/rounding/modf.html
new file mode 100644
index 0000000000..f637ef13dc
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/rounding/modf.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Integer and Fractional Part Splitting (modf)</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="prev" href="trunc.html" title="Truncation Functions">
+<link rel="next" href="../fpclass.html" title="Floating-Point Classification: Infinities and NaNs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trunc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fpclass.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.rounding.modf"></a><a class="link" href="modf.html" title="Integer and Fractional Part Splitting (modf)">Integer and Fractional Part
+ Splitting (modf)</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">modf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">modf</span></code> functions store
+ the integer part of <span class="emphasis"><em>v</em></span> in <code class="computeroutput"><span class="special">*</span><span class="identifier">ipart</span></code> and return the fractional part of
+ <span class="emphasis"><em>v</em></span>. The sign of the integer and fractional parts are
+ the same as the sign of <span class="emphasis"><em>v</em></span>.
+ </p>
+<p>
+ If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
+ the range of the result type, then returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.rounding_error">rounding_error</a>:
+ by default this throws an instance of boost::math::rounding_error.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trunc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fpclass.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/rounding/round.html b/libs/math/doc/html/math_toolkit/rounding/round.html
new file mode 100644
index 0000000000..b21bb29cac
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/rounding/round.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rounding Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="prev" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="next" href="trunc.html" title="Truncation Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../rounding.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trunc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.rounding.round"></a><a class="link" href="round.html" title="Rounding Functions">Rounding Functions</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">round</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">iround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">iround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+</pre>
+<p>
+ These functions return the closest integer to the argument <span class="emphasis"><em>v</em></span>.
+ </p>
+<p>
+ Halfway cases are rounded away from zero, regardless of the current rounding
+ direction.
+ </p>
+<p>
+ If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
+ the range of the result type, then returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.rounding_error">rounding_error</a>:
+ by default this throws an instance of boost::math::rounding_error.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../rounding.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trunc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/rounding/trunc.html b/libs/math/doc/html/math_toolkit/rounding/trunc.html
new file mode 100644
index 0000000000..81892e9f8e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/rounding/trunc.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Truncation Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="prev" href="round.html" title="Rounding Functions">
+<link rel="next" href="modf.html" title="Integer and Fractional Part Splitting (modf)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="round.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.rounding.trunc"></a><a class="link" href="trunc.html" title="Truncation Functions">Truncation Functions</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">trunc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">itrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">itrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">ltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">ltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">lltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">lltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+</pre>
+<p>
+ The trunc functions round their argument to the integer value, nearest to
+ but no larger in magnitude than the argument.
+ </p>
+<p>
+ For example <code class="computeroutput"><span class="identifier">itrunc</span><span class="special">(</span><span class="number">3.7</span><span class="special">)</span></code> would
+ return <code class="computeroutput"><span class="number">3</span></code> and <code class="computeroutput"><span class="identifier">ltrunc</span><span class="special">(-</span><span class="number">4.6</span><span class="special">)</span></code>
+ would return <code class="computeroutput"><span class="special">-</span><span class="number">4</span></code>.
+ </p>
+<p>
+ If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
+ the range of the result type, then returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.rounding_error">rounding_error</a>:
+ by default this throws an instance of boost::math::rounding_error.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="round.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/run_time.html b/libs/math/doc/html/math_toolkit/run_time.html
new file mode 100644
index 0000000000..a68698a67a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/run_time.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Run-time GCD &amp; LCM Determination</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="lcm_function_object.html" title="LCM Function Object">
+<link rel="next" href="compile_time.html" title="Compile time GCD and LCM determination">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lcm_function_object.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compile_time.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.run_time"></a><a class="link" href="run_time.html" title="Run-time GCD &amp; LCM Determination">Run-time GCD &amp; LCM Determination</a>
+</h2></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <a href="../../../../../boost/math/common_factor_rt.hpp" target="_top">&lt;boost/math/common_factor_rt.hpp&gt;</a>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="identifier">IntegerType</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="identifier">IntegerType</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+</pre>
+<p>
+ The boost::math::gcd function template returns the greatest common (nonnegative)
+ divisor of the two integers passed to it. The boost::math::lcm function template
+ returns the least common (nonnegative) multiple of the two integers passed
+ to it. The function templates are parameterized on the function arguments'
+ IntegerType, which is also the return type. Internally, these function templates
+ use an object of the corresponding version of the gcd_evaluator and lcm_evaluator
+ class templates, respectively.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lcm_function_object.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compile_time.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_beta.html b/libs/math/doc/html/math_toolkit/sf_beta.html
new file mode 100644
index 0000000000..4d1e17d193
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_beta.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Beta Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="factorials/sf_binomial.html" title="Binomial Coefficients">
+<link rel="next" href="sf_beta/beta_function.html" title="Beta">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="factorials/sf_binomial.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_beta/beta_function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.sf_beta"></a><a class="link" href="sf_beta.html" title="Beta Functions">Beta Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="sf_beta/beta_function.html">Beta</a></span></dt>
+<dt><span class="section"><a href="sf_beta/ibeta_function.html">Incomplete Beta
+ Functions</a></span></dt>
+<dt><span class="section"><a href="sf_beta/ibeta_inv_function.html">The Incomplete
+ Beta Function Inverses</a></span></dt>
+<dt><span class="section"><a href="sf_beta/beta_derivative.html">Derivative of the
+ Incomplete Beta Function</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="factorials/sf_binomial.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_beta/beta_function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_beta/beta_derivative.html b/libs/math/doc/html/math_toolkit/sf_beta/beta_derivative.html
new file mode 100644
index 0000000000..5b32df073c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_beta/beta_derivative.html
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Derivative of the Incomplete Beta Function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_beta.html" title="Beta Functions">
+<link rel="prev" href="ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">
+<link rel="next" href="../sf_erf.html" title="Error Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ibeta_inv_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_erf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_beta.beta_derivative"></a><a class="link" href="beta_derivative.html" title="Derivative of the Incomplete Beta Function">Derivative of the
+ Incomplete Beta Function</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_beta.beta_derivative.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_derivative.synopsis"></a></span><a class="link" href="beta_derivative.html#math_toolkit.sf_beta.beta_derivative.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_beta.beta_derivative.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_derivative.description"></a></span><a class="link" href="beta_derivative.html#math_toolkit.sf_beta.beta_derivative.description">Description</a>
+ </h5>
+<p>
+ This function finds some uses in statistical distributions: it computes the
+ partial derivative with respect to <span class="emphasis"><em>x</em></span> of the incomplete
+ beta function <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/derivative2.png"></span>
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1, T2 and T3 are different
+ types.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.beta_derivative.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_derivative.accuracy"></a></span><a class="link" href="beta_derivative.html#math_toolkit.sf_beta.beta_derivative.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Almost identical to the incomplete beta function <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.beta_derivative.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_derivative.implementation"></a></span><a class="link" href="beta_derivative.html#math_toolkit.sf_beta.beta_derivative.implementation">Implementation</a>
+ </h5>
+<p>
+ This function just expose some of the internals of the incomplete beta function
+ <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>: refer to
+ the documentation for that function for more information.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ibeta_inv_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_erf.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_beta/beta_function.html b/libs/math/doc/html/math_toolkit/sf_beta/beta_function.html
new file mode 100644
index 0000000000..9087ca33ec
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_beta/beta_function.html
@@ -0,0 +1,327 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Beta</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_beta.html" title="Beta Functions">
+<link rel="prev" href="../sf_beta.html" title="Beta Functions">
+<link rel="next" href="ibeta_function.html" title="Incomplete Beta Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_beta.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_beta.beta_function"></a><a class="link" href="beta_function.html" title="Beta">Beta</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_beta.beta_function.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_function.synopsis"></a></span><a class="link" href="beta_function.html#math_toolkit.sf_beta.beta_function.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_beta.beta_function.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_function.description"></a></span><a class="link" href="beta_function.html#math_toolkit.sf_beta.beta_function.description">Description</a>
+ </h5>
+<p>
+ The beta function is defined by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/beta1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/beta.png" align="middle"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ There are effectively two versions of this function internally: a fully generic
+ version that is slow, but reasonably accurate, and a much more efficient
+ approximation that is used where the number of digits in the significand
+ of T correspond to a certain <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a>. In practice any built-in floating-point type you will
+ encounter has an appropriate <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> defined for it. It is also possible, given enough machine
+ time, to generate further <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>'s
+ using the program libs/math/tools/lanczos_generator.cpp.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.beta_function.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_function.accuracy"></a></span><a class="link" href="beta_function.html#math_toolkit.sf_beta.beta_function.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows peak errors for various domains of input arguments,
+ along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
+ and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
+ Note that only results for the widest floating point type on the system are
+ given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_beta.beta_function.peak_errors_in_the_beta_function"></a><p class="title"><b>Table&#160;6.7.&#160;Peak Errors In the Beta Function</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Beta Function">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0.4 &lt; a,b &lt; 100
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 1e-6 &lt; a,b &lt; 36
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=99 Mean=22
+ </p>
+ <p>
+ (GSL Peak=1178 Mean=238)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1612)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=10.7 Mean=2.6
+ </p>
+ <p>
+ (GSL Peak=12 Mean=2.0)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=174)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA32, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=112.1 Mean=26.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=15.8 Mean=3.6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=61.4 Mean=19.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=12.2 Mean=3.6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=42.03 Mean=13.94
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9.8 Mean=3.1
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Note that the worst errors occur when a or b are large, and that when this
+ is the case the result is very close to zero, so absolute errors will be
+ very small.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.beta_function.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_function.testing"></a></span><a class="link" href="beta_function.html#math_toolkit.sf_beta.beta_function.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot tests of exact values, and randomly generated test data
+ are used: the test data was computed using <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
+ at 1000-bit precision.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.beta_function.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.beta_function.implementation"></a></span><a class="link" href="beta_function.html#math_toolkit.sf_beta.beta_function.implementation">Implementation</a>
+ </h5>
+<p>
+ Traditional methods of evaluating the beta function either involve evaluating
+ the gamma functions directly, or taking logarithms and then exponentiating
+ the result. However, the former is prone to overflows for even very modest
+ arguments, while the latter is prone to cancellation errors. As an alternative,
+ if we regard the gamma function as a white-box containing the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a>, then we can combine the power terms:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/beta2.png"></span>
+ </p>
+<p>
+ which is almost the ideal solution, however almost all of the error occurs
+ in evaluating the power terms when <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span>
+ are large. If we assume that <span class="emphasis"><em>a &gt; b</em></span> then the larger
+ of the two power terms can be reduced by a factor of <span class="emphasis"><em>b</em></span>,
+ which immediately cuts the maximum error in half:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/beta3.png"></span>
+ </p>
+<p>
+ This may not be the final solution, but it is very competitive compared to
+ other implementation methods.
+ </p>
+<p>
+ The generic implementation - where no <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> approximation is available - is implemented in a very
+ similar way to the generic version of the gamma function. Again in order
+ to avoid numerical overflow the power terms that prefix the series and continued
+ fraction parts are collected together into:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/beta8.png"></span>
+ </p>
+<p>
+ where la, lb and lc are the integration limits used for a, b, and a+b.
+ </p>
+<p>
+ There are a few special cases worth mentioning:
+ </p>
+<p>
+ When <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span> are less than one,
+ we can use the recurrence relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/beta4.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/beta5.png"></span>
+ </p>
+<p>
+ to move to a more favorable region where they are both greater than 1.
+ </p>
+<p>
+ In addition:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/beta7.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_beta.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_beta/ibeta_function.html b/libs/math/doc/html/math_toolkit/sf_beta/ibeta_function.html
new file mode 100644
index 0000000000..a050e4326a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_beta/ibeta_function.html
@@ -0,0 +1,979 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Incomplete Beta Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_beta.html" title="Beta Functions">
+<link rel="prev" href="beta_function.html" title="Beta">
+<link rel="next" href="ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="beta_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_inv_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_beta.ibeta_function"></a><a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">Incomplete Beta
+ Functions</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_function.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_function.synopsis"></a></span><a class="link" href="ibeta_function.html#math_toolkit.sf_beta.ibeta_function.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_function.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_function.description"></a></span><a class="link" href="ibeta_function.html#math_toolkit.sf_beta.ibeta_function.description">Description</a>
+ </h5>
+<p>
+ There are four <a href="http://en.wikipedia.org/wiki/Incomplete_beta_function" target="_top">incomplete
+ beta functions</a> : two are normalised versions (also known as <span class="emphasis"><em>regularized</em></span>
+ beta functions) that return values in the range [0, 1], and two are non-normalised
+ and return values in the range [0, <a class="link" href="beta_function.html" title="Beta">beta</a>(a,
+ b)]. Users interested in statistical applications should use the normalised
+ (or <a href="http://mathworld.wolfram.com/RegularizedBetaFunction.html" target="_top">regularized</a>
+ ) versions (ibeta and ibetac).
+ </p>
+<p>
+ All of these functions require <span class="emphasis"><em>0 &lt;= x &lt;= 1</em></span>.
+ </p>
+<p>
+ The normalized functions <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibetac</a> require
+ <span class="emphasis"><em>a,b &gt;= 0</em></span>, and in addition that not both <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> are zero.
+ </p>
+<p>
+ The functions <a class="link" href="beta_function.html" title="Beta">beta</a>
+ and <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">betac</a> require
+ <span class="emphasis"><em>a,b &gt; 0</em></span>.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1, T2 and T3 are different
+ types.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the normalised incomplete beta function of a, b and x:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta3.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/ibeta.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the normalised complement of the incomplete beta function of a, b
+ and x:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta4.png"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the full (non-normalised) incomplete beta function of a, b and x:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta1.png"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the full (non-normalised) complement of the incomplete beta function
+ of a, b and x:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta2.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_function.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_function.accuracy"></a></span><a class="link" href="ibeta_function.html#math_toolkit.sf_beta.ibeta_function.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following tables give peak and mean relative errors in over various domains
+ of a, b and x, along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
+ and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
+ Note that only results for the widest floating-point type on the system are
+ given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<p>
+ Note that the results for 80 and 128-bit long doubles are noticeably higher
+ than for doubles: this is because the wider exponent range of these types
+ allow more extreme test cases to be tested. For example expected results
+ that are zero at double precision, may be finite but exceptionally small
+ with the wider exponent range of the long double types.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b"></a><p class="title"><b>Table&#160;6.8.&#160;Errors In the Function ibeta(a,b,x)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function ibeta(a,b,x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 10
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=42.3 Mean=2.9
+ </p>
+ <p>
+ (GSL Peak=682 Mean=32.5)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=42.7
+ Mean=7.0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=108 Mean=16.6
+ </p>
+ <p>
+ (GSL Peak=690 Mean=151)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=1545
+ Mean=218)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4x10<sup>3</sup> &#160; Mean=203
+ </p>
+ <p>
+ (GSL Peak~3x10<sup>5</sup> &#160; Mean~2x10<sup>4</sup> &#160;)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~5x10<sup>5</sup> &#160; Mean~2x10<sup>4</sup> &#160;)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA32, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=21.9 Mean=3.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=270.7 Mean=26.8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~5x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=15.4 Mean=3.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=112.9 Mean=14.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~5x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=20.9 Mean=2.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=88.1 Mean=14.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~2x10<sup>4</sup> &#160; Mean=1x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_"></a><p class="title"><b>Table&#160;6.9.&#160;Errors In the Function ibetac(a,b,x)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function ibetac(a,b,x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 10
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=13.9 Mean=2.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=56.2 Mean=14
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3x10<sup>3</sup> &#160; Mean=159
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA32, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=21.1 Mean=3.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=221.7 Mean=25.8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~9x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=10.6 Mean=2.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=73.9 Mean=11.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~9x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9.9 Mean=2.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=117.7 Mean=15.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~3x10<sup>4</sup> &#160; Mean=1x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_beta.ibeta_function.errors_in_the_function_beta_a_b_"></a><p class="title"><b>Table&#160;6.10.&#160;Errors In the Function beta(a, b, x)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function beta(a, b, x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 10
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=39 Mean=2.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=91 Mean=12.7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=635 Mean=25
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA32, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=26 Mean=3.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=180.7 Mean=30.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~7x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=13 Mean=2.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=67.1 Mean=13.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~7x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=27.3 Mean=3.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=49.8 Mean=9.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~6x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_beta.ibeta_function.errors_in_the_function_betac_a_b"></a><p class="title"><b>Table&#160;6.11.&#160;Errors In the Function betac(a,b,x)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function betac(a,b,x)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 10
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 0 &lt; a,b &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0 &lt; x &lt; 1
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=12.0 Mean=2.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=91 Mean=15
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4x10<sup>3</sup> &#160; Mean=113
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA32, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=19.8 Mean=3.8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=295.1 Mean=33.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~1x10<sup>5</sup> &#160; Mean=5x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=11.2 Mean=2.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=63.5 Mean=13.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~1x10<sup>5</sup> &#160; Mean=5x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=15.6 Mean=3.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=39.8 Mean=8.9
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~9x10<sup>4</sup> &#160; Mean=5x10<sup>3</sup> &#160;
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.sf_beta.ibeta_function.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_function.testing"></a></span><a class="link" href="ibeta_function.html#math_toolkit.sf_beta.ibeta_function.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of tests: spot tests compare values taken from <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=BetaRegularized" target="_top">Mathworld's
+ online function evaluator</a> with this implementation: they provide
+ a basic "sanity check" for the implementation, with one spot-test
+ in each implementation-domain (see implementation notes below).
+ </p>
+<p>
+ Accuracy tests use data generated at very high precision (with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL
+ RR class</a> set at 1000-bit precision), using the "textbook"
+ continued fraction representation (refer to the first continued fraction
+ in the implementation discussion below). Note that this continued fraction
+ is <span class="emphasis"><em>not</em></span> used in the implementation, and therefore we
+ have test data that is fully independent of the code.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_function.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_function.implementation"></a></span><a class="link" href="ibeta_function.html#math_toolkit.sf_beta.ibeta_function.implementation">Implementation</a>
+ </h5>
+<p>
+ This implementation is closely based upon <a href="http://portal.acm.org/citation.cfm?doid=131766.131776" target="_top">"Algorithm
+ 708; Significant digit computation of the incomplete beta function ratios",
+ DiDonato and Morris, ACM, 1992.</a>
+ </p>
+<p>
+ 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:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv5.png"></span>
+ </p>
+<p>
+ 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 compute a value less than 0.9: when required this can then be subtracted
+ from 1 without undue cancellation error.
+ </p>
+<p>
+ The following continued fraction representation is found in many textbooks
+ 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:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta5.png"></span>
+ </p>
+<p>
+ The following continued fraction is due to <a href="http://portal.acm.org/citation.cfm?doid=131766.131776" target="_top">Didonato
+ and Morris</a>, and is used in this implementation when a and b are both
+ greater than 1:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta6.png"></span>
+ </p>
+<p>
+ For smallish b and x then a series representation can be used:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta7.png"></span>
+ </p>
+<p>
+ When b &lt;&lt; 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:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta8.png"></span>
+
+ </p>
+<p>
+ Where Q(a,x) is an <a href="http://functions.wolfram.com/GammaBetaErf/Gamma2/" target="_top">incomplete
+ gamma function</a>. Note that this method relies on keeping a table of
+ all the p<sub>n </sub> previously computed, which does limit the precision of the method,
+ depending upon the size of the table used.
+ </p>
+<p>
+ When <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> are both small integers,
+ then we can relate the incomplete beta to the binomial distribution and use
+ the following finite sum:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta12.png"></span>
+ </p>
+<p>
+ Finally we can sidestep difficult areas, or move to an area with a more efficient
+ means of computation, by using the duplication formulae:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta10.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta11.png"></span>
+ </p>
+<p>
+ The domains of a, b and x for which the various methods are used are identical
+ to those described in the <a href="http://portal.acm.org/citation.cfm?doid=131766.131776" target="_top">Didonato
+ and Morris TOMS 708 paper</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="beta_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_inv_function.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html b/libs/math/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html
new file mode 100644
index 0000000000..f3d78ad4e9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_beta/ibeta_inv_function.html
@@ -0,0 +1,521 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Incomplete Beta Function Inverses</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_beta.html" title="Beta Functions">
+<link rel="prev" href="ibeta_function.html" title="Incomplete Beta Functions">
+<link rel="next" href="beta_derivative.html" title="Derivative of the Incomplete Beta Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ibeta_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_derivative.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_beta.ibeta_inv_function"></a><a class="link" href="ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">The Incomplete
+ Beta Function Inverses</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_inv_function.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_inv_function.description"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.sf_beta.ibeta_inv_function.description">Description</a>
+ </h5>
+<p>
+ There are six <a href="http://functions.wolfram.com/GammaBetaErf/" target="_top">incomplete
+ beta function inverses</a> which allow you solve for any of the three
+ parameters to the incomplete beta, starting from either the result of the
+ incomplete beta (p) or its complement (q).
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ When people normally talk about the inverse of the incomplete beta function,
+ they are talking about inverting on parameter <span class="emphasis"><em>x</em></span>. These
+ are implemented here as ibeta_inv and ibetac_inv, and are by far the most
+ efficient of the inverses presented here.
+ </p>
+<p>
+ The inverses on the <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> parameters
+ find use in some statistical applications, but have to be computed by rather
+ brute force numerical techniques and are consequently several times slower.
+ These are implemented here as ibeta_inva and ibeta_invb, and complement
+ versions ibetac_inva and ibetac_invb.
+ </p>
+</td></tr>
+</table></div>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when called with arguments T1...TN
+ of different types.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value <span class="emphasis"><em>x</em></span> such that: <code class="computeroutput"><span class="identifier">p</span>
+ <span class="special">=</span> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span></code> and
+ sets <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span>
+ <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">x</span></code> when
+ the <code class="computeroutput"><span class="identifier">py</span></code> parameter is provided
+ and is non-null. Note that internally this function computes whichever is
+ the smaller of <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">x</span></code>,
+ and therefore the value assigned to <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code> is free from cancellation errors. That
+ means that even if the function returns <code class="computeroutput"><span class="number">1</span></code>,
+ the value stored in <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code>
+ may be non-zero, albeit very small.
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>a,b &gt; 0</em></span> and <span class="emphasis"><em>0 &lt;= p &lt;= 1</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value <span class="emphasis"><em>x</em></span> such that: <code class="computeroutput"><span class="identifier">q</span>
+ <span class="special">=</span> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span></code> and
+ sets <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span>
+ <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">x</span></code> when
+ the <code class="computeroutput"><span class="identifier">py</span></code> parameter is provided
+ and is non-null. Note that internally this function computes whichever is
+ the smaller of <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">x</span></code>,
+ and therefore the value assigned to <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code> is free from cancellation errors. That
+ means that even if the function returns <code class="computeroutput"><span class="number">1</span></code>,
+ the value stored in <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code>
+ may be non-zero, albeit very small.
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>a,b &gt; 0</em></span> and <span class="emphasis"><em>0 &lt;= q &lt;= 1</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value <span class="emphasis"><em>a</em></span> such that: <code class="computeroutput"><span class="identifier">p</span>
+ <span class="special">=</span> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>b &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
+ and <span class="emphasis"><em>0 &lt;= p &lt;= 1</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value <span class="emphasis"><em>a</em></span> such that: <code class="computeroutput"><span class="identifier">q</span>
+ <span class="special">=</span> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>b &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
+ and <span class="emphasis"><em>0 &lt;= q &lt;= 1</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value <span class="emphasis"><em>b</em></span> such that: <code class="computeroutput"><span class="identifier">p</span>
+ <span class="special">=</span> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>a &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
+ and <span class="emphasis"><em>0 &lt;= p &lt;= 1</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value <span class="emphasis"><em>b</em></span> such that: <code class="computeroutput"><span class="identifier">q</span>
+ <span class="special">=</span> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>a &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
+ and <span class="emphasis"><em>0 &lt;= q &lt;= 1</em></span>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_inv_function.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_inv_function.accuracy"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.sf_beta.ibeta_inv_function.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The accuracy of these functions should closely follow that of the regular
+ forward incomplete beta functions. However, note that in some parts of their
+ domain, these functions can be extremely sensitive to changes in input, particularly
+ when the argument <span class="emphasis"><em>p</em></span> (or it's complement <span class="emphasis"><em>q</em></span>)
+ is very close to <code class="computeroutput"><span class="number">0</span></code> or <code class="computeroutput"><span class="number">1</span></code>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_inv_function.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_inv_function.testing"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.sf_beta.ibeta_inv_function.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of tests:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Basic sanity checks attempt to "round-trip" from <span class="emphasis"><em>a,
+ b</em></span> and <span class="emphasis"><em>x</em></span> to <span class="emphasis"><em>p</em></span> or
+ <span class="emphasis"><em>q</em></span> and back again. These tests have quite generous
+ tolerances: in general both the incomplete beta and its inverses change
+ so rapidly, that round tripping to more than a couple of significant
+ digits isn't possible. This is especially true when <span class="emphasis"><em>p</em></span>
+ or <span class="emphasis"><em>q</em></span> is very near one: in this case there isn't
+ enough "information content" in the input to the inverse function
+ to get back where you started.
+ </li>
+<li class="listitem">
+ Accuracy checks using high precision test values. These measure the accuracy
+ of the result, given exact input values.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_inv_function.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_inv_function.implementation_of_ibeta_inv_and_"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.sf_beta.ibeta_inv_function.implementation_of_ibeta_inv_and_">Implementation
+ of ibeta_inv and ibetac_inv</a>
+ </h5>
+<p>
+ These two functions share a common implementation.
+ </p>
+<p>
+ First an initial approximation to x is computed then the last few bits are
+ cleaned up using <a href="http://en.wikipedia.org/wiki/Simple_rational_approximation" target="_top">Halley
+ iteration</a>. The iteration limit is set to 1/2 of the number of bits
+ in T, which by experiment is sufficient to ensure that the inverses are at
+ least as accurate as the normal incomplete beta functions. Up to 5 iterations
+ may be required in extreme cases, although normally only one or two are required.
+ Further, the number of iterations required decreases with increasing <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> (which generally form the more important use cases).
+ </p>
+<p>
+ The initial guesses used for iteration are obtained as follows:
+ </p>
+<p>
+ Firstly recall that:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv5.png"></span>
+ </p>
+<p>
+ We may wish to start from either p or q, and to calculate either x or y.
+ In addition at any stage we can exchange a for b, p for q, and x for y if
+ it results in a more manageable problem.
+ </p>
+<p>
+ For <code class="computeroutput"><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span> <span class="special">&gt;=</span> <span class="number">5</span></code> the initial guess is computed using the methods
+ described in:
+ </p>
+<p>
+ Asymptotic Inversion of the Incomplete Beta Function, by N. M. <a href="http://homepages.cwi.nl/~nicot/" target="_top">Temme</a>.
+ Journal of Computational and Applied Mathematics 41 (1992) 145-157.
+ </p>
+<p>
+ The nearly symmetrical case (section 2 of the paper) is used for
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv2.png"></span>
+ </p>
+<p>
+ and involves solving the inverse error function first. The method is accurate
+ to at least 2 decimal digits when <code class="literal">a = 5</code> rising to at least
+ 8 digits when <code class="literal">a = 10<sup>5</sup></code>.
+ </p>
+<p>
+ The general error function case (section 3 of the paper) is used for
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv3.png"></span>
+ </p>
+<p>
+ and again expresses the inverse incomplete beta in terms of the inverse of
+ the error function. The method is accurate to at least 2 decimal digits when
+ <code class="literal">a+b = 5</code> rising to 11 digits when <code class="literal">a+b = 10<sup>5</sup></code>.
+ However, when the result is expected to be very small, and when a+b is also
+ small, then its accuracy tails off, in this case when p<sup>1/a</sup> &lt; 0.0025 then
+ it is better to use the following as an initial estimate:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv4.png"></span>
+ </p>
+<p>
+ Finally the for all other cases where <code class="computeroutput"><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span> <span class="special">&gt;</span>
+ <span class="number">5</span></code> the method of section 4 of the paper
+ is used. This expresses the inverse incomplete beta in terms of the inverse
+ of the incomplete gamma function, and is therefore significantly more expensive
+ to compute than the other cases. However the method is accurate to at least
+ 3 decimal digits when <code class="literal">a = 5</code> rising to at least 10 digits
+ when <code class="literal">a = 10<sup>5</sup></code>. This method is limited to a &gt; b, and
+ therefore we need to perform an exchange a for b, p for q and x for y when
+ this is not the case. In addition 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
+ (<code class="literal">q<sup>1/p</sup> &lt; 10<sup>-3</sup></code>) we use:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv6.png"></span>
+ </p>
+<p>
+ which is both cheaper to compute than the full method, and a more accurate
+ estimate on q.
+ </p>
+<p>
+ When a and b are both small there is a distinct lack of information in the
+ literature on how to proceed. I am extremely grateful to Prof Nico Temme
+ who provided the following information with a great deal of patience and
+ explanation on his part. Any errors that follow are entirely my own, and
+ not Prof Temme's.
+ </p>
+<p>
+ When a and b are both less than 1, then there is a point of inflection in
+ the incomplete beta at point <code class="computeroutput"><span class="identifier">xs</span>
+ <span class="special">=</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="number">2</span> <span class="special">-</span> <span class="identifier">a</span>
+ <span class="special">-</span> <span class="identifier">b</span><span class="special">)</span></code>. Therefore if <code class="literal">p &gt; I<sub>x</sub>(a,b)</code>
+ we swap a for b, p for q and x for y, so that now we always look for a point
+ x below the point of inflection <code class="computeroutput"><span class="identifier">xs</span></code>,
+ and on a convex curve. An initial estimate for x is made with:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv7.png"></span>
+ </p>
+<p>
+ which is provably below the true value for x: <a href="http://en.wikipedia.org/wiki/Newton%27s_method" target="_top">Newton
+ iteration</a> will therefore smoothly converge on x without problems
+ caused by overshooting etc.
+ </p>
+<p>
+ When a and b are both greater than 1, but a+b is too small to use the other
+ methods mentioned above, we proceed as follows. Observe that there is a point
+ of inflection in the incomplete beta at <code class="computeroutput"><span class="identifier">xs</span>
+ <span class="special">=</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="number">2</span> <span class="special">-</span> <span class="identifier">a</span>
+ <span class="special">-</span> <span class="identifier">b</span><span class="special">)</span></code>. Therefore if <code class="literal">p &gt; I<sub>x</sub>(a,b)</code>
+ we swap a for b, p for q and x for y, so that now we always look for a point
+ x below the point of inflection <code class="computeroutput"><span class="identifier">xs</span></code>,
+ and on a concave curve. An initial estimate for x is made with:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv4.png"></span>
+ </p>
+<p>
+ which can be improved somewhat to:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv1.png"></span>
+ </p>
+<p>
+ when b and x are both small (I've used b &lt; a and x &lt; 0.2). This actually
+ under-estimates x, which drops us on the wrong side of x for Newton iteration
+ to converge monotonically. However, use of higher derivatives and Halley
+ iteration keeps everything under control.
+ </p>
+<p>
+ The final case to be considered if when one of a and b is less than or equal
+ to 1, and the other greater that 1. Here, if b &lt; a we swap a for b, p
+ for q 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
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv4.png"></span>
+ </p>
+<p>
+ 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
+ this can quite badly underestimate x. This is especially an issue when we
+ really want to find y, in which case this method can be an arbitrary number
+ of order of magnitudes out, leading to very poor convergence during iteration.
+ </p>
+<p>
+ Things can be improved by considering the incomplete beta as a distorted
+ quarter circle, and estimating y from:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/ibeta_inv8.png"></span>
+ </p>
+<p>
+ 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 rapidly
+ converges on the true value.
+ </p>
+<h5>
+<a name="math_toolkit.sf_beta.ibeta_inv_function.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_beta.ibeta_inv_function.implementation_of_inverses_on_th"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.sf_beta.ibeta_inv_function.implementation_of_inverses_on_th">Implementation
+ of inverses on the a and b parameters</a>
+ </h5>
+<p>
+ These four functions share a common implementation.
+ </p>
+<p>
+ First an initial approximation is computed for <span class="emphasis"><em>a</em></span> or
+ <span class="emphasis"><em>b</em></span>: where possible this uses a Cornish-Fisher expansion
+ for the negative binomial distribution to get within around 1 of the result.
+ However, when <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span> are very small
+ the Cornish Fisher expansion is not usable, in this case the initial approximation
+ is chosen so that I<sub>x</sub>(a, b) is near the middle of the range [0,1].
+ </p>
+<p>
+ This initial guess is then used as a starting value for a generic root finding
+ algorithm. The algorithm converges rapidly on the root once it has been bracketed,
+ but bracketing the root may take several iterations. A better initial approximation
+ for <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span> would improve these
+ functions quite substantially: currently 10-20 incomplete beta function invocations
+ are required to find the root.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ibeta_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_derivative.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_erf.html b/libs/math/doc/html/math_toolkit/sf_erf.html
new file mode 100644
index 0000000000..7edeca7641
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_erf.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Error Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">
+<link rel="next" href="sf_erf/error_function.html" title="Error Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_beta/beta_derivative.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_erf/error_function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.sf_erf"></a><a class="link" href="sf_erf.html" title="Error Functions">Error Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="sf_erf/error_function.html">Error Functions</a></span></dt>
+<dt><span class="section"><a href="sf_erf/error_inv.html">Error Function Inverses</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_beta/beta_derivative.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_erf/error_function.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_erf/error_function.html b/libs/math/doc/html/math_toolkit/sf_erf/error_function.html
new file mode 100644
index 0000000000..2582b373e8
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_erf/error_function.html
@@ -0,0 +1,630 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Error Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_erf.html" title="Error Functions">
+<link rel="prev" href="../sf_erf.html" title="Error Functions">
+<link rel="next" href="error_inv.html" title="Error Function Inverses">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_erf.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_inv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_erf.error_function"></a><a class="link" href="error_function.html" title="Error Functions">Error Functions</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_erf.error_function.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_function.synopsis"></a></span><a class="link" href="error_function.html#math_toolkit.sf_erf.error_function.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">erf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_erf.error_function.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_function.description"></a></span><a class="link" href="error_function.html#math_toolkit.sf_erf.error_function.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://en.wikipedia.org/wiki/Error_function" target="_top">error
+ function</a> <a href="http://functions.wolfram.com/GammaBetaErf/Erf/" target="_top">erf</a>
+ of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/erf1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/erf.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the complement of the <a href="http://functions.wolfram.com/GammaBetaErf/Erfc/" target="_top">error
+ function</a> of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/erf2.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/erfc.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.sf_erf.error_function.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_function.accuracy"></a></span><a class="link" href="error_function.html#math_toolkit.sf_erf.error_function.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>, <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>, <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
+ libraries. Unless otherwise specified any floating point type that is narrower
+ than the one shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_erf.error_function.errors_in_the_function_erf_z"></a><p class="title"><b>Table&#160;6.12.&#160;Errors In the Function erf(z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function erf(z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ z &lt; 0.5
+ </p>
+ </th>
+<th>
+ <p>
+ 0.5 &lt; z &lt; 8
+ </p>
+ </th>
+<th>
+ <p>
+ z &gt; 8
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ GSL Peak=2.0 Mean=0.3
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=1.1
+ Mean=0.7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.9 Mean=0.09
+ </p>
+ <p>
+ GSL Peak=2.3 Mean=0.3
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=1.3
+ Mean=0.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ GSL Peak=0 Mean=0
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=0
+ Mean=0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-3.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.7 Mean=0.07
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0.9 Mean=0.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.9 Mean=0.2
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0.9 Mean=0.07
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0 Mean=0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.7 Mean=0.07
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0 Mean=0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.9 Mean=0.1
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0.5 Mean=0.03
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0 Mean=0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.8 Mean=0.1
+ </p>
+ <p>
+ <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Lib Peak=0.9 Mean=0.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.9 Mean=0.1
+ </p>
+ <p>
+ <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Lib Peak=0.5 Mean=0.02
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Lib Peak=0 Mean=0
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_erf.error_function.errors_in_the_function_erfc_z"></a><p class="title"><b>Table&#160;6.13.&#160;Errors In the Function erfc(z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function erfc(z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ z &lt; 0.5
+ </p>
+ </th>
+<th>
+ <p>
+ 0.5 &lt; z &lt; 8
+ </p>
+ </th>
+<th>
+ <p>
+ z &gt; 8
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.7 Mean=0.06
+ </p>
+ <p>
+ GSL Peak=1.0 Mean=0.4
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=0.7
+ Mean=0.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.3
+ </p>
+ <p>
+ GSL Peak=2.6 Mean=0.6
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=3.6
+ Mean=0.7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.0 Mean=0.2
+ </p>
+ <p>
+ GSL Peak=3.9 Mean=0.4
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2.7
+ Mean=0.4
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-3.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0 Mean=0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.4 Mean=0.3
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=1.3 Mean=0.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.6 Mean=0.4
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=1.3 Mean=0.4
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0 Mean=0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.4 Mean=0.3
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0 Mean=0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.5 Mean=0.4
+ </p>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0 Mean=0
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0 Mean=0
+ </p>
+ <p>
+ <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak=0 Mean=0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.5 Mean=0.3
+ </p>
+ <p>
+ <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak=0.9 Mean=0.08
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.6 Mean=0.4
+ </p>
+ <p>
+ <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak=0.9 Mean=0.1
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.sf_erf.error_function.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_function.testing"></a></span><a class="link" href="error_function.html#math_toolkit.sf_erf.error_function.testing">Testing</a>
+ </h5>
+<p>
+ The tests for these functions come in two parts: basic sanity checks use
+ spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Erf" target="_top">Mathworld's
+ online evaluator</a>, while accuracy checks use high-precision test values
+ calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
+ and this implementation. Note that the generic and type-specific versions
+ of these functions use differing implementations internally, so this gives
+ us reasonably independent test data. Using our test data to test other "known
+ good" implementations also provides an additional sanity check.
+ </p>
+<h5>
+<a name="math_toolkit.sf_erf.error_function.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_function.implementation"></a></span><a class="link" href="error_function.html#math_toolkit.sf_erf.error_function.implementation">Implementation</a>
+ </h5>
+<p>
+ All versions of these functions first use the usual reflection formulas to
+ make their arguments positive:
+ </p>
+<pre class="programlisting"><span class="identifier">erf</span><span class="special">(-</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
+
+<span class="identifier">erfc</span><span class="special">(-</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="number">2</span> <span class="special">-</span> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span> <span class="comment">// preferred when -z &lt; -0.5</span>
+
+<span class="identifier">erfc</span><span class="special">(-</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="number">1</span> <span class="special">+</span> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span> <span class="comment">// preferred when -0.5 &lt;= -z &lt; 0</span>
+</pre>
+<p>
+ The generic versions of these functions are implemented in terms of the incomplete
+ gamma function.
+ </p>
+<p>
+ When the significand (mantissa) size is recognised (currently for 53, 64
+ and 113-bit reals, plus single-precision 24-bit handled via promotion to
+ double) then a series of rational approximations <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> are used.
+ </p>
+<p>
+ For <code class="computeroutput"><span class="identifier">z</span> <span class="special">&lt;=</span>
+ <span class="number">0.5</span></code> then a rational approximation to
+ erf is used, based on the observation that erf is an odd function and therefore
+ erf is calculated using:
+ </p>
+<pre class="programlisting"><span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">z</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">));</span>
+</pre>
+<p>
+ where the rational approximation R(z*z) is optimised for absolute error:
+ as long as its absolute error is small enough compared to the constant C,
+ then any round-off error incurred during the computation of R(z*z) will effectively
+ disappear from the result. As a result the error for erf and erfc in this
+ region is very low: the last bit is incorrect in only a very small number
+ of cases.
+ </p>
+<p>
+ For <code class="computeroutput"><span class="identifier">z</span> <span class="special">&gt;</span>
+ <span class="number">0.5</span></code> we observe that over a small interval
+ [a, b) then:
+ </p>
+<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">z</span> <span class="special">~</span> <span class="identifier">c</span>
+</pre>
+<p>
+ for some constant c.
+ </p>
+<p>
+ Therefore for <code class="computeroutput"><span class="identifier">z</span> <span class="special">&gt;</span>
+ <span class="number">0.5</span></code> we calculate erfc using:
+ </p>
+<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">B</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">;</span>
+</pre>
+<p>
+ Again R(z - B) is optimised for absolute error, and the constant <code class="computeroutput"><span class="identifier">C</span></code> is the average of <code class="computeroutput"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span>
+ <span class="special">*</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span>
+ <span class="identifier">z</span></code> taken at the endpoints of the
+ range. Once again, as long as the absolute error in R(z - B) is small compared
+ to <code class="computeroutput"><span class="identifier">c</span></code> then <code class="computeroutput"><span class="identifier">c</span>
+ <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span> <span class="special">-</span>
+ <span class="identifier">B</span><span class="special">)</span></code>
+ will be correctly rounded, and the error in the result will depend only on
+ the accuracy of the exp function. In practice, in all but a very small number
+ of cases, the error is confined to the last bit of the result. The constant
+ <code class="computeroutput"><span class="identifier">B</span></code> is chosen so that the left
+ hand end of the range of the rational approximation is 0.
+ </p>
+<p>
+ For large <code class="computeroutput"><span class="identifier">z</span></code> over a range
+ [a, +&#8734;] the above approximation is modified to:
+ </p>
+<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="number">1</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_erf.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_inv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_erf/error_inv.html b/libs/math/doc/html/math_toolkit/sf_erf/error_inv.html
new file mode 100644
index 0000000000..5b61aae25b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_erf/error_inv.html
@@ -0,0 +1,202 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Error Function Inverses</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_erf.html" title="Error Functions">
+<link rel="prev" href="error_function.html" title="Error Functions">
+<link rel="next" href="../sf_poly.html" title="Polynomials">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_poly.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_erf.error_inv"></a><a class="link" href="error_inv.html" title="Error Function Inverses">Error Function Inverses</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_erf.error_inv.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_inv.synopsis"></a></span><a class="link" href="error_inv.html#math_toolkit.sf_erf.error_inv.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">erf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_erf.error_inv.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_inv.description"></a></span><a class="link" href="error_inv.html#math_toolkit.sf_erf.error_inv.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://functions.wolfram.com/GammaBetaErf/InverseErf/" target="_top">inverse
+ error function</a> of z, that is a value x such that:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/erf_inv.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the inverse of the complement of the error function of z, that is
+ a value x such that:
+ </p>
+<pre class="programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/erfc_inv.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.sf_erf.error_inv.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_inv.accuracy"></a></span><a class="link" href="error_inv.html#math_toolkit.sf_erf.error_inv.accuracy">Accuracy</a>
+ </h5>
+<p>
+ For types up to and including 80-bit long doubles the approximations used
+ are accurate to less than ~ 2 epsilon. For higher precision types these functions
+ have the same accuracy as the <a class="link" href="error_function.html" title="Error Functions">forward
+ error functions</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_erf.error_inv.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_inv.testing"></a></span><a class="link" href="error_inv.html#math_toolkit.sf_erf.error_inv.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of tests:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Basic sanity checks attempt to "round-trip" from <span class="emphasis"><em>x</em></span>
+ to <span class="emphasis"><em>p</em></span> and back again. These tests have quite generous
+ tolerances: in general both the error functions and their inverses change
+ so rapidly in some places that round tripping to more than a couple of
+ significant digits isn't possible. This is especially true when <span class="emphasis"><em>p</em></span>
+ is very near one: in this case there isn't enough "information content"
+ in the input to the inverse function to get back where you started.
+ </li>
+<li class="listitem">
+ Accuracy checks using high-precision test values. These measure the accuracy
+ of the result, given <span class="emphasis"><em>exact</em></span> input values.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.sf_erf.error_inv.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_erf.error_inv.implementation"></a></span><a class="link" href="error_inv.html#math_toolkit.sf_erf.error_inv.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions use a rational approximation <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> to calculate an initial approximation to the result that is
+ accurate to ~10<sup>-19</sup>, then only if that has insufficient accuracy compared
+ to the epsilon for T, do we clean up the result using <a href="http://en.wikipedia.org/wiki/Simple_rational_approximation" target="_top">Halley
+ iteration</a>.
+ </p>
+<p>
+ Constructing rational approximations to the erf/erfc functions is actually
+ surprisingly hard, especially at high precision. For this reason no attempt
+ has been made to achieve 10<sup>-34 </sup> accuracy suitable for use with 128-bit reals.
+ </p>
+<p>
+ In the following discussion, <span class="emphasis"><em>p</em></span> is the value passed to
+ erf_inv, and <span class="emphasis"><em>q</em></span> is the value passed to erfc_inv, so that
+ <span class="emphasis"><em>p = 1 - q</em></span> and <span class="emphasis"><em>q = 1 - p</em></span> and in
+ both cases we want to solve for the same result <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ For <span class="emphasis"><em>p &lt; 0.5</em></span> the inverse erf function is reasonably
+ smooth and the approximation:
+ </p>
+<pre class="programlisting"><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">p</span> <span class="special">+</span> <span class="number">10</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">p</span><span class="special">))</span>
+</pre>
+<p>
+ Gives a good result for a constant Y, and R(p) optimised for low absolute
+ error compared to |Y|.
+ </p>
+<p>
+ For q &lt; 0.5 things get trickier, over the interval <span class="emphasis"><em>0.5 &gt;
+ q &gt; 0.25</em></span> the following approximation works well:
+ </p>
+<pre class="programlisting"><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">(-</span><span class="number">2l</span><span class="identifier">og</span><span class="special">(</span><span class="identifier">q</span><span class="special">))</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">q</span><span class="special">))</span>
+</pre>
+<p>
+ While for q &lt; 0.25, let
+ </p>
+<pre class="programlisting"><span class="identifier">z</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">(-</span><span class="identifier">log</span><span class="special">(</span><span class="identifier">q</span><span class="special">))</span>
+</pre>
+<p>
+ Then the result is given by:
+ </p>
+<pre class="programlisting"><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">z</span><span class="special">(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">B</span><span class="special">))</span>
+</pre>
+<p>
+ As before Y is a constant and the rational function R is optimised for low
+ absolute error compared to |Y|. B is also a constant: it is the smallest
+ value of <span class="emphasis"><em>z</em></span> for which each approximation is valid. There
+ are several approximations of this form each of which reaches a little further
+ into the tail of the erfc function (at <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> precision the extended exponent
+ range compared to <code class="computeroutput"><span class="keyword">double</span></code> means
+ that the tail goes on for a very long way indeed).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_poly.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma.html b/libs/math/doc/html/math_toolkit/sf_gamma.html
new file mode 100644
index 0000000000..395d737694
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Gamma Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="number_series/primes.html" title="Prime Numbers">
+<link rel="next" href="sf_gamma/tgamma.html" title="Gamma">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="number_series/primes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_gamma/tgamma.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.sf_gamma"></a><a class="link" href="sf_gamma.html" title="Gamma Functions">Gamma Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="sf_gamma/tgamma.html">Gamma</a></span></dt>
+<dt><span class="section"><a href="sf_gamma/lgamma.html">Log Gamma</a></span></dt>
+<dt><span class="section"><a href="sf_gamma/digamma.html">Digamma</a></span></dt>
+<dt><span class="section"><a href="sf_gamma/gamma_ratios.html">Ratios of Gamma Functions</a></span></dt>
+<dt><span class="section"><a href="sf_gamma/igamma.html">Incomplete Gamma Functions</a></span></dt>
+<dt><span class="section"><a href="sf_gamma/igamma_inv.html">Incomplete Gamma Function
+ Inverses</a></span></dt>
+<dt><span class="section"><a href="sf_gamma/gamma_derivatives.html">Derivative of
+ the Incomplete Gamma Function</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="number_series/primes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_gamma/tgamma.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma/digamma.html b/libs/math/doc/html/math_toolkit/sf_gamma/digamma.html
new file mode 100644
index 0000000000..58fe9c37fb
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma/digamma.html
@@ -0,0 +1,385 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Digamma</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="prev" href="lgamma.html" title="Log Gamma">
+<link rel="next" href="gamma_ratios.html" title="Ratios of Gamma Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lgamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_ratios.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_gamma.digamma"></a><a class="link" href="digamma.html" title="Digamma">Digamma</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_gamma.digamma.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.digamma.synopsis"></a></span><a class="link" href="digamma.html#math_toolkit.sf_gamma.digamma.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">digamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_gamma.digamma.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.digamma.description"></a></span><a class="link" href="digamma.html#math_toolkit.sf_gamma.digamma.description">Description</a>
+ </h5>
+<p>
+ Returns the digamma or psi function of <span class="emphasis"><em>x</em></span>. Digamma is
+ defined as the logarithmic derivative of the gamma function:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/digamma1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/digamma.png" align="middle"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ There is no fully generic version of this function: all the implementations
+ are tuned to specific accuracy levels, the most precise of which delivers
+ 34-digits of precision.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the result is of type <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and type
+ T otherwise.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.digamma.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.digamma.accuracy"></a></span><a class="link" href="digamma.html#math_toolkit.sf_gamma.digamma.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types. Unless otherwise specified
+ any floating point type that is narrower than the one shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively zero error</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Random Positive Values
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near The Positive Root
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near Zero
+ </p>
+ </th>
+<th>
+ <p>
+ Negative Values
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.98 Mean=0.36
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.95 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=214 Mean=16
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Linux IA32 / GCC
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.4 Mean=0.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.3 Mean=0.45
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.98 Mean=0.35
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=180 Mean=13
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Linux IA64 / GCC
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.92 Mean=0.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.3 Mean=0.45
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.98 Mean=0.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=180 Mean=13
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.9 Mean=0.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.1 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=64 Mean=6
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ As shown above, error rates for positive arguments are generally very low.
+ For negative arguments there are an infinite number of irrational roots:
+ relative errors very close to these can be arbitrarily large, although absolute
+ error will remain very low.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.digamma.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.digamma.testing"></a></span><a class="link" href="digamma.html#math_toolkit.sf_gamma.digamma.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of tests: spot values are computed using the online calculator
+ at functions.wolfram.com, while random test values are generated using the
+ high-precision reference implementation (a differentiated <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> see below).
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.digamma.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.digamma.implementation"></a></span><a class="link" href="digamma.html#math_toolkit.sf_gamma.digamma.implementation">Implementation</a>
+ </h5>
+<p>
+ The implementation is divided up into the following domains:
+ </p>
+<p>
+ For Negative arguments the reflection formula:
+ </p>
+<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pi</span><span class="special">/</span><span class="identifier">tan</span><span class="special">(</span><span class="identifier">pi</span><span class="special">*</span><span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ is used to make <span class="emphasis"><em>x</em></span> positive.
+ </p>
+<p>
+ For arguments in the range [0,1] the recurrence relation:
+ </p>
+<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span><span class="special">/</span><span class="identifier">x</span>
+</pre>
+<p>
+ is used to shift the evaluation to [1,2].
+ </p>
+<p>
+ For arguments in the range [1,2] a rational approximation <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> is used (see below).
+ </p>
+<p>
+ For arguments in the range [2,BIG] the recurrence relation:
+ </p>
+<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">/</span><span class="identifier">x</span><span class="special">;</span>
+</pre>
+<p>
+ is used to shift the evaluation to the range [1,2].
+ </p>
+<p>
+ For arguments &gt; BIG the asymptotic expansion:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/digamma2.png"></span>
+ </p>
+<p>
+ can be used. However, this expansion is divergent after a few terms: exactly
+ how many terms depends on the size of <span class="emphasis"><em>x</em></span>. Therefore the
+ value of <span class="emphasis"><em>BIG</em></span> must be chosen so that the series can be
+ truncated at a term that is too small to have any effect on the result when
+ evaluated at <span class="emphasis"><em>BIG</em></span>. Choosing BIG=10 for up to 80-bit reals,
+ and BIG=20 for 128-bit reals allows the series to truncated after a suitably
+ small number of terms and evaluated as a polynomial in <code class="computeroutput"><span class="number">1</span><span class="special">/(</span><span class="identifier">x</span><span class="special">*</span><span class="identifier">x</span><span class="special">)</span></code>.
+ </p>
+<p>
+ The rational approximation <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> in the range [1,2] is derived as follows.
+ </p>
+<p>
+ First a high precision approximation to digamma was constructed using a 60-term
+ differentiated <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>,
+ the form used is:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/digamma3.png"></span>
+ </p>
+<p>
+ 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 approximation has a theoretical precision of ~100 decimal digits. However,
+ cancellation in the above sum will reduce that to around <code class="computeroutput"><span class="number">99</span><span class="special">-(</span><span class="number">1</span><span class="special">/</span><span class="identifier">y</span><span class="special">)</span></code> digits
+ if <span class="emphasis"><em>y</em></span> is the result. This approximation was used to calculate
+ the positive root of digamma, and was found to agree with the value used
+ by Cody to 25 digits (See Math. Comp. 27, 123-127 (1973) by Cody, Strecok
+ and Thacher) and with the value used by Morris to 35 digits (See TOMS Algorithm
+ 708).
+ </p>
+<p>
+ Likewise a few spot tests agreed with values calculated using functions.wolfram.com
+ to &gt;40 digits. That's sufficiently precise to insure that the approximation
+ below is accurate to double precision. Achieving 128-bit long double precision
+ requires that the location of the root is known to ~70 digits, and it's not
+ clear whether the value calculated by this method meets that requirement:
+ the difficulty lies in independently verifying the value obtained.
+ </p>
+<p>
+ The rational approximation <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> was optimised for absolute error using the form:
+ </p>
+<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">X0</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">x</span> <span class="special">-</span> <span class="number">1</span><span class="special">));</span>
+</pre>
+<p>
+ Where X0 is the positive root of digamma, Y is a constant, and R(x - 1) is
+ the rational approximation. Note that since X0 is irrational, we need twice
+ as many digits in X0 as in x in order to avoid cancellation error during
+ the subtraction (this assumes that <span class="emphasis"><em>x</em></span> is an exact value,
+ if it's not then all bets are off). That means that even when x is the value
+ of the root rounded to the nearest representable value, the result of digamma(x)
+ <span class="emphasis"><em><span class="bold"><strong>will not be zero</strong></span></em></span>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lgamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_ratios.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html b/libs/math/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html
new file mode 100644
index 0000000000..8b1b5f36f7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma/gamma_derivatives.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Derivative of the Incomplete Gamma Function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="prev" href="igamma_inv.html" title="Incomplete Gamma Function Inverses">
+<link rel="next" href="../factorials.html" title="Factorials and Binomial Coefficients">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="igamma_inv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../factorials.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_gamma.gamma_derivatives"></a><a class="link" href="gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">Derivative of
+ the Incomplete Gamma Function</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_gamma.gamma_derivatives.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_derivatives.synopsis"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.sf_gamma.gamma_derivatives.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_gamma.gamma_derivatives.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_derivatives.description"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.sf_gamma.gamma_derivatives.description">Description</a>
+ </h5>
+<p>
+ This function find some uses in statistical distributions: it implements
+ the partial derivative with respect to <span class="emphasis"><em>x</em></span> of the incomplete
+ gamma function.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/derivative1.png"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Note that the derivative of the function <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ can be obtained by negating the result of this function.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types,
+ otherwise the return type is simply T1.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.gamma_derivatives.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_derivatives.accuracy"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.sf_gamma.gamma_derivatives.accuracy">Accuracy</a>
+ </h5>
+<p>
+ Almost identical to the incomplete gamma function <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_p</a>:
+ refer to the documentation for that function for more information.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.gamma_derivatives.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_derivatives.implementation"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.sf_gamma.gamma_derivatives.implementation">Implementation</a>
+ </h5>
+<p>
+ This function just expose some of the internals of the incomplete gamma function
+ <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_p</a>: refer to the
+ documentation for that function for more information.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="igamma_inv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../factorials.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma/gamma_ratios.html b/libs/math/doc/html/math_toolkit/sf_gamma/gamma_ratios.html
new file mode 100644
index 0000000000..b2a44d9058
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma/gamma_ratios.html
@@ -0,0 +1,355 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Ratios of Gamma Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="prev" href="digamma.html" title="Digamma">
+<link rel="next" href="igamma.html" title="Incomplete Gamma Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="digamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_gamma.gamma_ratios"></a><a class="link" href="gamma_ratios.html" title="Ratios of Gamma Functions">Ratios of Gamma Functions</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_gamma.gamma_ratios.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_ratios.description"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the ratio of gamma functions:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamma_ratio0.png"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Internally this just calls <code class="computeroutput"><span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the ratio of gamma functions:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamma_ratio1.png"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ Note that the result is calculated accurately even when <span class="emphasis"><em>delta</em></span>
+ is small compared to <span class="emphasis"><em>a</em></span>: indeed even if <span class="emphasis"><em>a+delta
+ ~ a</em></span>. The function is typically used when <span class="emphasis"><em>a</em></span>
+ is large and <span class="emphasis"><em>delta</em></span> is very small.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types,
+ otherwise the result type is simple T1.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/tgamma_delta_ratio.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.gamma_ratios.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_ratios.accuracy"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types. Unless otherwise specified
+ any floating point type that is narrower than the one shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_de"></a><p class="title"><b>Table&#160;6.1.&#160;Errors In the Function tgamma_delta_ratio(a, delta)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function tgamma_delta_ratio(a, delta)">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 20 &lt; a &lt; 80
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ delta &lt; 1
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=16.9 Mean=1.7
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA32, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=24 Mean=2.7
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=12.8 Mean=1.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=21.4 Mean=2.3
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ra"></a><p class="title"><b>Table&#160;6.2.&#160;Errors In the Function tgamma_ratio(a, b)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function tgamma_ratio(a, b)">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 6 &lt; a,b &lt; 50
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=34 Mean=9
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA32, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=91 Mean=23
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=35.6 Mean=9.3
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=43.9 Mean=13.2
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.sf_gamma.gamma_ratios.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_ratios.testing"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.testing">Testing</a>
+ </h5>
+<p>
+ Accuracy tests use data generated at very high precision (with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL
+ RR class</a> set at 1000-bit precision: about 300 decimal digits) and
+ a deliberately naive calculation of &#915;(x)/&#915;(y).
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.gamma_ratios.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.gamma_ratios.implementation"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.sf_gamma.gamma_ratios.implementation">Implementation</a>
+ </h5>
+<p>
+ The implementation of these functions is very similar to that of <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>,
+ and is based on combining similar power terms to improve accuracy and avoid
+ spurious overflow/underflow.
+ </p>
+<p>
+ In addition there are optimisations for the situation where <span class="emphasis"><em>delta</em></span>
+ is a small integer: in which case this function is basically the reciprocal
+ of a rising factorial, or where both arguments are smallish integers: in
+ which case table lookup of factorials can be used to calculate the ratio.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="digamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma/igamma.html b/libs/math/doc/html/math_toolkit/sf_gamma/igamma.html
new file mode 100644
index 0000000000..095c797981
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma/igamma.html
@@ -0,0 +1,1044 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Incomplete Gamma Functions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="prev" href="gamma_ratios.html" title="Ratios of Gamma Functions">
+<link rel="next" href="igamma_inv.html" title="Incomplete Gamma Function Inverses">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gamma_ratios.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma_inv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_gamma.igamma"></a><a class="link" href="igamma.html" title="Incomplete Gamma Functions">Incomplete Gamma Functions</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma.synopsis"></a></span><a class="link" href="igamma.html#math_toolkit.sf_gamma.igamma.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma.description"></a></span><a class="link" href="igamma.html#math_toolkit.sf_gamma.igamma.description">Description</a>
+ </h5>
+<p>
+ There are four <a href="http://mathworld.wolfram.com/IncompleteGammaFunction.html" target="_top">incomplete
+ gamma functions</a>: two are normalised versions (also known as <span class="emphasis"><em>regularized</em></span>
+ incomplete gamma functions) that return values in the range [0, 1], and two
+ are non-normalised and return values in the range [0, &#915;(a)]. Users interested
+ in statistical applications should use the <a href="http://mathworld.wolfram.com/RegularizedGammaFunction.html" target="_top">normalised
+ versions (gamma_p and gamma_q)</a>.
+ </p>
+<p>
+ All of these functions require <span class="emphasis"><em>a &gt; 0</em></span> and <span class="emphasis"><em>z
+ &gt;= 0</em></span>, otherwise they return the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types,
+ otherwise the return type is simply T1.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the normalised lower incomplete gamma function of a and z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/igamma4.png"></span>
+ </p>
+<p>
+ This function changes rapidly from 0 to 1 around the point z == a:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/gamma_p.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the normalised upper incomplete gamma function of a and z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/igamma3.png"></span>
+ </p>
+<p>
+ This function changes rapidly from 1 to 0 around the point z == a:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/gamma_q.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the full (non-normalised) lower incomplete gamma function of a and
+ z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/igamma2.png"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the full (non-normalised) upper incomplete gamma function of a and
+ z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/igamma1.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma.accuracy"></a></span><a class="link" href="igamma.html#math_toolkit.sf_gamma.igamma.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following tables give peak and mean relative errors in over various domains
+ of a and z, along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
+ and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
+ Note that only results for the widest floating point type on the system are
+ given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<p>
+ Note that errors grow as <span class="emphasis"><em>a</em></span> grows larger.
+ </p>
+<p>
+ Note also that the higher error rates for the 80 and 128 bit long double
+ results are somewhat misleading: expected results that are zero at 64-bit
+ double precision may be non-zero - but exceptionally small - with the larger
+ exponent range of a long double. These results therefore reflect the more
+ extreme nature of the tests conducted for these types.
+ </p>
+<p>
+ All values are in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_p_a"></a><p class="title"><b>Table&#160;6.3.&#160;Errors In the Function gamma_p(a,z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function gamma_p(a,z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0.5 &lt; a &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+<th>
+ <p>
+ 1e-6 &lt; a &lt; 1.7x10<sup>6</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 1 &lt; z &lt; 100*a
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=36 Mean=9.1
+ </p>
+ <p>
+ (GSL Peak=342 Mean=46)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=491
+ Mean=102)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.5 Mean=1.4
+ </p>
+ <p>
+ (GSL Peak=4.8 Mean=0.76)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=21
+ Mean=5.6)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=244 Mean=21
+ </p>
+ <p>
+ (GSL Peak=1022 Mean=1054)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~8x10<sup>6</sup> Mean~7x10<sup>4</sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-3.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=241 Mean=36
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.7 Mean=1.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~30,220 Mean=1929
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=41 Mean=10
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.7 Mean=1.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak~30,790 Mean=1864
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=40.2 Mean=10.2
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5 Mean=1.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5,476 Mean=440
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_gamma.igamma.errors_in_the_function_gamma_q_a"></a><p class="title"><b>Table&#160;6.4.&#160;Errors In the Function gamma_q(a,z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function gamma_q(a,z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0.5 &lt; a &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-6</sup> &lt; a &lt; 1.7x10<sup>6</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 1 &lt; z &lt; 100*a
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=28.3 Mean=7.2
+ </p>
+ <p>
+ (GSL Peak=201 Mean=13)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=556
+ Mean=97)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.8 Mean=1.6
+ </p>
+ <p>
+ (GSL Peak~1.3x10<sup>10</sup> Mean=1x10<sup>+9</sup>)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~3x10<sup>11</sup> Mean=4x10<sup>10</sup>)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=469 Mean=33
+ </p>
+ <p>
+ (GSL Peak=27,050 Mean=2159)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~8x10<sup>6</sup> Mean~7x10<sup>5</sup>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-3.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=280 Mean=33
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.1 Mean=1.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=11,490 Mean=732
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=32 Mean=9.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.7 Mean=1.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6815 Mean=414
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=37 Mean=10
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=11.2 Mean=2.0
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4,999 Mean=298
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_lo"></a><p class="title"><b>Table&#160;6.5.&#160;Errors In the Function tgamma_lower(a,z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function tgamma_lower(a,z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0.5 &lt; a &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.5 Mean=1.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.6 Mean=0.78
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-3.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=402 Mean=79
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.4 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6.8 Mean=1.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.4 Mean=0.78
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6.1 Mean=1.8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.7 Mean=0.89
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_gamma.igamma.errors_in_the_function_tgamma_a_"></a><p class="title"><b>Table&#160;6.6.&#160;Errors In the Function tgamma(a,z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function tgamma(a,z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ 0.5 &lt; a &lt; 100
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+<th>
+ <p>
+ 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ 0.01*a &lt; z &lt; 100*a
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.9 Mean=1.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.8 Mean=0.6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-3.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=596 Mean=116
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.2 Mean=0.84
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=40.2 Mean=2.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.2 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=364 Mean=17.6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=12.7 Mean=1.8
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.sf_gamma.igamma.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma.testing"></a></span><a class="link" href="igamma.html#math_toolkit.sf_gamma.igamma.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of tests: spot tests compare values taken from <a href="http://functions.wolfram.com/GammaBetaErf/" target="_top">Mathworld's online evaluator</a>
+ with this implementation to perform a basic "sanity check". Accuracy
+ tests use data generated at very high precision (using NTL's RR class set
+ at 1000-bit precision) using this implementation with a very high precision
+ 60-term <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>,
+ and some but not all of the special case handling disabled. This is less
+ than satisfactory: an independent method should really be used, but apparently
+ a complete lack of such methods are available. We can't even use a deliberately
+ naive implementation without special case handling since Legendre's continued
+ fraction (see below) is unstable for small a and z.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma.implementation"></a></span><a class="link" href="igamma.html#math_toolkit.sf_gamma.igamma.implementation">Implementation</a>
+ </h5>
+<p>
+ These four functions share a common implementation since they are all related
+ via:
+ </p>
+<p>
+ 1) <span class="inlinemediaobject"><img src="../../../equations/igamma5.png"></span>
+ </p>
+<p>
+ 2) <span class="inlinemediaobject"><img src="../../../equations/igamma6.png"></span>
+ </p>
+<p>
+ 3) <span class="inlinemediaobject"><img src="../../../equations/igamma7.png"></span>
+ </p>
+<p>
+ The lower incomplete gamma is computed from its series representation:
+ </p>
+<p>
+ 4) <span class="inlinemediaobject"><img src="../../../equations/igamma8.png"></span>
+ </p>
+<p>
+ Or by subtraction of the upper integral from either &#915;(a) or 1 when <span class="emphasis"><em>x
+ - (1</em></span>(3x)) &gt; a and x &gt; 1.1/.
+ </p>
+<p>
+ The upper integral is computed from Legendre's continued fraction representation:
+ </p>
+<p>
+ 5) <span class="inlinemediaobject"><img src="../../../equations/igamma9.png"></span>
+ </p>
+<p>
+ When <span class="emphasis"><em>(x &gt; 1.1)</em></span> or by subtraction of the lower integral
+ from either &#915;(a) or 1 when <span class="emphasis"><em>x - (1</em></span>(3x)) &lt; a/.
+ </p>
+<p>
+ For <span class="emphasis"><em>x &lt; 1.1</em></span> computation of the upper integral is
+ more complex as the continued fraction representation is unstable in this
+ area. However there is another series representation for the lower integral:
+ </p>
+<p>
+ 6) <span class="inlinemediaobject"><img src="../../../equations/igamma10.png"></span>
+ </p>
+<p>
+ That lends itself to calculation of the upper integral via rearrangement
+ to:
+ </p>
+<p>
+ 7) <span class="inlinemediaobject"><img src="../../../equations/igamma11.png"></span>
+ </p>
+<p>
+ Refer to the documentation for <a class="link" href="../powers/powm1.html" title="powm1">powm1</a>
+ and <a class="link" href="tgamma.html" title="Gamma">tgamma1pm1</a> for details
+ of their implementation. Note however that the precision of <a class="link" href="tgamma.html" title="Gamma">tgamma1pm1</a>
+ is capped to either around 35 digits, or to that of the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> associated with type T - if there is one - whichever
+ of the two is the greater. That therefore imposes a similar limit on the
+ precision of this function in this region.
+ </p>
+<p>
+ For <span class="emphasis"><em>x &lt; 1.1</em></span> the crossover point where the result
+ is ~0.5 no longer occurs for <span class="emphasis"><em>x ~ y</em></span>. Using <span class="emphasis"><em>x
+ * 0.75 &lt; a</em></span> as the crossover criterion for <span class="emphasis"><em>0.5 &lt;
+ x &lt;= 1.1</em></span> keeps the maximum value computed (whether it's the
+ upper or lower interval) to around 0.75. Likewise for <span class="emphasis"><em>x &lt;= 0.5</em></span>
+ then using <span class="emphasis"><em>-0.4 / log(x) &lt; a</em></span> as the crossover criterion
+ keeps the maximum value computed to around 0.7 (whether it's the upper or
+ lower interval).
+ </p>
+<p>
+ There are two special cases used when a is an integer or half integer, and
+ the crossover conditions listed above indicate that we should compute the
+ upper integral Q. If a is an integer in the range <span class="emphasis"><em>1 &lt;= a &lt;
+ 30</em></span> then the following finite sum is used:
+ </p>
+<p>
+ 9) <span class="inlinemediaobject"><img src="../../../equations/igamma1f.png"></span>
+ </p>
+<p>
+ While for half integers in the range <span class="emphasis"><em>0.5 &lt;= a &lt; 30</em></span>
+ then the following finite sum is used:
+ </p>
+<p>
+ 10) <span class="inlinemediaobject"><img src="../../../equations/igamma2f.png"></span>
+ </p>
+<p>
+ These are both more stable and more efficient than the continued fraction
+ alternative.
+ </p>
+<p>
+ When the argument <span class="emphasis"><em>a</em></span> is large, and <span class="emphasis"><em>x ~ a</em></span>
+ then the series (4) and continued fraction (5) above are very slow to converge.
+ In this area an expansion due to Temme is used:
+ </p>
+<p>
+ 11) <span class="inlinemediaobject"><img src="../../../equations/igamma16.png"></span>
+ </p>
+<p>
+ 12) <span class="inlinemediaobject"><img src="../../../equations/igamma17.png"></span>
+ </p>
+<p>
+ 13) <span class="inlinemediaobject"><img src="../../../equations/igamma18.png"></span>
+ </p>
+<p>
+ 14) <span class="inlinemediaobject"><img src="../../../equations/igamma19.png"></span>
+ </p>
+<p>
+ 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
+ versions for up to 128-bit long double precision: types requiring greater
+ precision than that do not use these expansions. The coefficients C<sub>k</sub><sup>n</sup> are
+ computed in advance using the recurrence relations given by Temme. The zone
+ where these expansions are used is
+ </p>
+<pre class="programlisting"><span class="special">(</span><span class="identifier">a</span> <span class="special">&gt;</span> <span class="number">20</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="number">200</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">x</span><span class="special">-</span><span class="identifier">a</span><span class="special">)/</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="number">0.4</span>
+</pre>
+<p>
+ And:
+ </p>
+<pre class="programlisting"><span class="special">(</span><span class="identifier">a</span> <span class="special">&gt;</span> <span class="number">200</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">(</span><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">x</span><span class="special">-</span><span class="identifier">a</span><span class="special">)/</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="number">4.5</span><span class="special">/</span><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span><span class="special">))</span>
+</pre>
+<p>
+ The latter range is valid for all types up to 128-bit long doubles, and is
+ designed to ensure that the result is larger than 10<sup>-6</sup>, the first range is
+ used only for types up to 80-bit long doubles. These domains are narrower
+ than the ones recommended by either Temme or Didonato and Morris. However,
+ using a wider range results in large and inexact (i.e. computed) values being
+ passed to the <code class="computeroutput"><span class="identifier">exp</span></code> and <code class="computeroutput"><span class="identifier">erfc</span></code> functions resulting in significantly
+ larger error rates. In other words there is a fine trade off here between
+ efficiency and error. The current limits should keep the number of terms
+ required by (4) and (5) to no more than ~20 at double precision.
+ </p>
+<p>
+ For the normalised incomplete gamma functions, calculation of the leading
+ power terms is central to the accuracy of the function. For smallish a and
+ x combining the power terms with the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> gives the greatest accuracy:
+ </p>
+<p>
+ 15) <span class="inlinemediaobject"><img src="../../../equations/igamma12.png"></span>
+ </p>
+<p>
+ In the event that this causes underflow/overflow then the exponent can be
+ reduced by a factor of <span class="emphasis"><em>a</em></span> and brought inside the power
+ term.
+ </p>
+<p>
+ When a and x are large, we end up with a very large exponent with a base
+ near one: this will not be computed accurately via the pow function, and
+ taking logs simply leads to cancellation errors. The worst of the errors
+ can be avoided by using:
+ </p>
+<p>
+ 16) <span class="inlinemediaobject"><img src="../../../equations/igamma13.png"></span>
+ </p>
+<p>
+ when <span class="emphasis"><em>a-x</em></span> 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 error will be small - and it is absolute rather than
+ relative error that counts in the argument to the <span class="emphasis"><em>exp</em></span>
+ function. Note that for sufficiently large a and x the errors will still
+ get you eventually, although this does delay the inevitable much longer than
+ other methods. Use of <span class="emphasis"><em>log(1+x)-x</em></span> here is inspired by
+ Temme (see references below).
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma.h5"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma.references"></a></span><a class="link" href="igamma.html#math_toolkit.sf_gamma.igamma.references">References</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ N. M. Temme, A Set of Algorithms for the Incomplete Gamma Functions,
+ Probability in the Engineering and Informational Sciences, 8, 1994.
+ </li>
+<li class="listitem">
+ N. M. Temme, The Asymptotic Expansion of the Incomplete Gamma Functions,
+ Siam J. Math Anal. Vol 10 No 4, July 1979, p757.
+ </li>
+<li class="listitem">
+ A. R. Didonato and A. H. Morris, Computation of the Incomplete Gamma
+ Function Ratios and their Inverse. ACM TOMS, Vol 12, No 4, Dec 1986,
+ p377.
+ </li>
+<li class="listitem">
+ W. Gautschi, The Incomplete Gamma Functions Since Tricomi, In Tricomi's
+ Ideas and Contemporary Applied Mathematics, Atti dei Convegni Lincei,
+ n. 147, Accademia Nazionale dei Lincei, Roma, 1998, pp. 203--237. <a href="http://citeseer.ist.psu.edu/gautschi98incomplete.html" target="_top">http://citeseer.ist.psu.edu/gautschi98incomplete.html</a>
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gamma_ratios.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma_inv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma/igamma_inv.html b/libs/math/doc/html/math_toolkit/sf_gamma/igamma_inv.html
new file mode 100644
index 0000000000..c315b98f2c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma/igamma_inv.html
@@ -0,0 +1,252 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Incomplete Gamma Function Inverses</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="prev" href="igamma.html" title="Incomplete Gamma Functions">
+<link rel="next" href="gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="igamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_derivatives.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_gamma.igamma_inv"></a><a class="link" href="igamma_inv.html" title="Incomplete Gamma Function Inverses">Incomplete Gamma Function
+ Inverses</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma_inv.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma_inv.synopsis"></a></span><a class="link" href="igamma_inv.html#math_toolkit.sf_gamma.igamma_inv.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma_inv.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma_inv.description"></a></span><a class="link" href="igamma_inv.html#math_toolkit.sf_gamma.igamma_inv.description">Description</a>
+ </h5>
+<p>
+ There are four <a href="http://mathworld.wolfram.com/IncompleteGammaFunction.html" target="_top">incomplete
+ gamma function</a> inverses which either compute <span class="emphasis"><em>x</em></span>
+ given <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>,
+ or else compute <span class="emphasis"><em>a</em></span> given <span class="emphasis"><em>x</em></span> and either
+ <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types,
+ otherwise the return type is simply T1.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ When people normally talk about the inverse of the incomplete gamma function,
+ they are talking about inverting on parameter <span class="emphasis"><em>x</em></span>. These
+ are implemented here as gamma_p_inv and gamma_q_inv, and are by far the
+ most efficient of the inverses presented here.
+ </p>
+<p>
+ The inverse on the <span class="emphasis"><em>a</em></span> parameter finds use in some statistical
+ applications but has to be computed by rather brute force numerical techniques
+ and is consequently several times slower. These are implemented here as
+ gamma_p_inva and gamma_q_inva.
+ </p>
+</td></tr>
+</table></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value x such that: <code class="computeroutput"><span class="identifier">q</span>
+ <span class="special">=</span> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>a &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;= 0</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value x such that: <code class="computeroutput"><span class="identifier">p</span>
+ <span class="special">=</span> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>a &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;= 0</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value a such that: <code class="computeroutput"><span class="identifier">q</span>
+ <span class="special">=</span> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>x &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;= 0</em></span>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns a value a such that: <code class="computeroutput"><span class="identifier">p</span>
+ <span class="special">=</span> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">x</span><span class="special">);</span></code>
+ </p>
+<p>
+ Requires: <span class="emphasis"><em>x &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;= 0</em></span>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma_inv.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma_inv.accuracy"></a></span><a class="link" href="igamma_inv.html#math_toolkit.sf_gamma.igamma_inv.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The accuracy of these functions doesn't vary much by platform or by the type
+ T. Given that these functions are computed by iterative methods, they are
+ deliberately "detuned" so as not to be too accurate: it is in any
+ case impossible for these function to be more accurate than the regular forward
+ incomplete gamma functions. In practice, the accuracy of these functions
+ is very similar to that of <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
+ and <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_q</a> functions.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma_inv.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma_inv.testing"></a></span><a class="link" href="igamma_inv.html#math_toolkit.sf_gamma.igamma_inv.testing">Testing</a>
+ </h5>
+<p>
+ There are two sets of tests:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Basic sanity checks attempt to "round-trip" from <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>x</em></span> to <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>
+ and back again. These tests have quite generous tolerances: in general
+ both the incomplete gamma, and its inverses, change so rapidly that round
+ tripping to more than a couple of significant digits isn't possible.
+ This is especially true when <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>
+ is very near one: in this case there isn't enough "information content"
+ in the input to the inverse function to get back where you started.
+ </li>
+<li class="listitem">
+ Accuracy checks using high precision test values. These measure the accuracy
+ of the result, given exact input values.
+ </li>
+</ul></div>
+<h5>
+<a name="math_toolkit.sf_gamma.igamma_inv.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.igamma_inv.implementation"></a></span><a class="link" href="igamma_inv.html#math_toolkit.sf_gamma.igamma_inv.implementation">Implementation</a>
+ </h5>
+<p>
+ The functions gamma_p_inv and <a href="http://functions.wolfram.com/GammaBetaErf/InverseGammaRegularized/" target="_top">gamma_q_inv</a>
+ share a common implementation.
+ </p>
+<p>
+ First an initial approximation is computed using the methodology described
+ in:
+ </p>
+<p>
+ <a href="http://portal.acm.org/citation.cfm?id=23109&amp;coll=portal&amp;dl=ACM" target="_top">A.
+ R. Didonato and A. H. Morris, Computation of the Incomplete Gamma Function
+ Ratios and their Inverse, ACM Trans. Math. Software 12 (1986), 377-393.</a>
+ </p>
+<p>
+ Finally, the last few bits are cleaned up using Halley iteration, the iteration
+ limit is set to 2/3 of the number of bits in T, which by experiment is sufficient
+ to ensure that the inverses are at least as accurate as the normal incomplete
+ gamma functions. In testing, no more than 3 iterations are required to produce
+ a result as accurate as the forward incomplete gamma function, and in many
+ cases only one iteration is required.
+ </p>
+<p>
+ The functions gamma_p_inva and gamma_q_inva also share a common implementation
+ but are handled separately from gamma_p_inv and gamma_q_inv.
+ </p>
+<p>
+ An initial approximation for <span class="emphasis"><em>a</em></span> is computed very crudely
+ so that <span class="emphasis"><em>gamma_p(a, x) ~ 0.5</em></span>, this value is then used
+ as a starting point for a generic derivative-free root finding algorithm.
+ As a consequence, these two functions are rather more expensive to compute
+ than the gamma_p_inv or gamma_q_inv functions. Even so, the root is usually
+ found in fewer than 10 iterations.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="igamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_derivatives.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma/lgamma.html b/libs/math/doc/html/math_toolkit/sf_gamma/lgamma.html
new file mode 100644
index 0000000000..a8df176c20
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma/lgamma.html
@@ -0,0 +1,479 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Log Gamma</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="prev" href="tgamma.html" title="Gamma">
+<link rel="next" href="digamma.html" title="Digamma">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tgamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="digamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_gamma.lgamma"></a><a class="link" href="lgamma.html" title="Log Gamma">Log Gamma</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_gamma.lgamma.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.lgamma.synopsis"></a></span><a class="link" href="lgamma.html#math_toolkit.sf_gamma.lgamma.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">sign</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">sign</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_gamma.lgamma.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.lgamma.description"></a></span><a class="link" href="lgamma.html#math_toolkit.sf_gamma.lgamma.description">Description</a>
+ </h5>
+<p>
+ The <a href="http://en.wikipedia.org/wiki/Gamma_function" target="_top">lgamma function</a>
+ is defined by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/lgamm1.png"></span>
+ </p>
+<p>
+ 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).
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/lgamma.png" align="middle"></span>
+ </p>
+<p>
+ There are effectively two versions of this function internally: a fully generic
+ version that is slow, but reasonably accurate, and a much more efficient
+ approximation that is used where the number of digits in the significand
+ of T correspond to a certain <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a>. In practice, any built-in floating-point type you will
+ encounter has an appropriate <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> defined for it. It is also possible, given enough machine
+ time, to generate further <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>'s
+ using the program libs/math/tools/lanczos_generator.cpp.
+ </p>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the result is of type <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, or type T
+ otherwise.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.lgamma.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.lgamma.accuracy"></a></span><a class="link" href="lgamma.html#math_toolkit.sf_gamma.lgamma.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>, <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>, <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
+ libraries. Unless otherwise specified any floating point type that is narrower
+ than the one shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<p>
+ Note that while the relative errors near the positive roots of lgamma are
+ very low, the lgamma function has an infinite number of irrational roots
+ for negative arguments: very close to these negative roots only a low absolute
+ error can be guaranteed.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Factorials and Half factorials
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near Zero
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near 1 or 2
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near a Negative Pole
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.88 Mean=0.14
+ </p>
+ <p>
+ (GSL=33) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.5)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.96 Mean=0.46
+ </p>
+ <p>
+ (GSL=5.2) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.1)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.86 Mean=0.46
+ </p>
+ <p>
+ (GSL=1168) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>~500000)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.2 Mean=1.3
+ </p>
+ <p>
+ (GSL=25) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.6)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Linux IA32 / GCC
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.9 Mean=0.43
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=1.7 Mean=0.49)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.4 Mean=0.57
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak= 0.96 Mean=0.54)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.86 Mean=0.35
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0.74 Mean=0.26)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6.0 Mean=1.8
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=3.0 Mean=0.86)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Linux IA64 / GCC
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.12
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Pek=1.2 Mean=0.6
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.86 Mean=0.16
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.3 Mean=0.69
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 0)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.96 Mean=0.13
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.53
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.9 Mean=0.4
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.0 Mean=0.9
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.sf_gamma.lgamma.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.lgamma.testing"></a></span><a class="link" href="lgamma.html#math_toolkit.sf_gamma.lgamma.testing">Testing</a>
+ </h5>
+<p>
+ The main tests for this function involve comparisons against the logs of
+ the factorials which can be independently calculated to very high accuracy.
+ </p>
+<p>
+ Random tests in key problem areas are also used.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.lgamma.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.lgamma.implementation"></a></span><a class="link" href="lgamma.html#math_toolkit.sf_gamma.lgamma.implementation">Implementation</a>
+ </h5>
+<p>
+ The generic version of this function is implemented using Sterling's approximation
+ for large arguments:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamma6.png"></span>
+ </p>
+<p>
+ For small arguments, the logarithm of tgamma is used.
+ </p>
+<p>
+ For negative <span class="emphasis"><em>z</em></span> the logarithm version of the reflection
+ formula is used:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/lgamm3.png"></span>
+ </p>
+<p>
+ For types of known precision, the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> is used, a traits class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lanczos</span><span class="special">::</span><span class="identifier">lanczos_traits</span></code>
+ maps type T to an appropriate approximation. The logarithmic version of the
+ <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a> is:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/lgamm4.png"></span>
+ </p>
+<p>
+ Where L<sub>e,g</sub> &#160; is the Lanczos sum, scaled by e<sup>g</sup>.
+ </p>
+<p>
+ As before the reflection formula is used for <span class="emphasis"><em>z &lt; 0</em></span>.
+ </p>
+<p>
+ When z is very near 1 or 2, then the logarithmic version of the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> suffers very badly from cancellation error: indeed for
+ values sufficiently close to 1 or 2, arbitrarily large relative errors can
+ be obtained (even though the absolute error is tiny).
+ </p>
+<p>
+ For types with up to 113 bits of precision (up to and including 128-bit long
+ doubles), root-preserving rational approximations <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> are used over the intervals [1,2] and [2,3]. Over the interval
+ [2,3] the approximation form used is:
+ </p>
+<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">2</span><span class="special">)(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">2</span><span class="special">));</span>
+</pre>
+<p>
+ Where Y is a constant, and R(z-2) is the rational approximation: optimised
+ so that it's absolute error is tiny compared to Y. In addition small values
+ of z greater than 3 can handled by argument reduction using the recurrence
+ relation:
+ </p>
+<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ Over the interval [1,2] two approximations have to be used, one for small
+ z uses:
+ </p>
+<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">1</span><span class="special">)(</span><span class="identifier">z</span><span class="special">-</span><span class="number">2</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">1</span><span class="special">));</span>
+</pre>
+<p>
+ Once again Y is a constant, and R(z-1) is optimised for low absolute error
+ compared to Y. For z &gt; 1.5 the above form wouldn't converge to a minimax
+ solution but this similar form does:
+ </p>
+<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="number">2</span><span class="special">-</span><span class="identifier">z</span><span class="special">)(</span><span class="number">1</span><span class="special">-</span><span class="identifier">z</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="number">2</span><span class="special">-</span><span class="identifier">z</span><span class="special">));</span>
+</pre>
+<p>
+ Finally for z &lt; 1 the recurrence relation can be used to move to z &gt;
+ 1:
+ </p>
+<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ Note that while this involves a subtraction, it appears not to suffer from
+ cancellation error: as z decreases from 1 the <code class="computeroutput"><span class="special">-</span><span class="identifier">log</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code> term grows positive much more rapidly than
+ the <code class="computeroutput"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code> term becomes negative. So in this specific
+ case, significant digits are preserved, rather than cancelled.
+ </p>
+<p>
+ For other types which do have a <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> defined for them the current solution is as follows:
+ imagine we balance the two terms in the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> by dividing the power term by its value at <span class="emphasis"><em>z
+ = 1</em></span>, and then multiplying the Lanczos coefficients by the same
+ value. Now each term will take the value 1 at <span class="emphasis"><em>z = 1</em></span>
+ and we can rearrange the power terms in terms of log1p. Likewise if we subtract
+ 1 from the Lanczos sum part (algebraically, by subtracting the value of each
+ term at <span class="emphasis"><em>z = 1</em></span>), we obtain a new summation that can be
+ also be fed into log1p. Crucially, all of the terms tend to zero, as <span class="emphasis"><em>z
+ -&gt; 1</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/lgamm5.png"></span>
+ </p>
+<p>
+ The C<sub>k</sub> &#160; terms in the above are the same as in the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a>.
+ </p>
+<p>
+ A similar rearrangement can be performed at <span class="emphasis"><em>z = 2</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/lgamm6.png"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tgamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="digamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_gamma/tgamma.html b/libs/math/doc/html/math_toolkit/sf_gamma/tgamma.html
new file mode 100644
index 0000000000..937d4e55b1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_gamma/tgamma.html
@@ -0,0 +1,470 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Gamma</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="prev" href="../sf_gamma.html" title="Gamma Functions">
+<link rel="next" href="lgamma.html" title="Log Gamma">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lgamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_gamma.tgamma"></a><a class="link" href="tgamma.html" title="Gamma">Gamma</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_gamma.tgamma.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.tgamma.synopsis"></a></span><a class="link" href="tgamma.html#math_toolkit.sf_gamma.tgamma.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_gamma.tgamma.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.tgamma.description"></a></span><a class="link" href="tgamma.html#math_toolkit.sf_gamma.tgamma.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the "true gamma" (hence name tgamma) of value z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamm1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/tgamma.png" align="middle"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ There are effectively two versions of the <a href="http://en.wikipedia.org/wiki/Gamma_function" target="_top">tgamma</a>
+ function internally: a fully generic version that is slow, but reasonably
+ accurate, and a much more efficient approximation that is used where the
+ number of digits in the significand of T correspond to a certain <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a>. In practice any built in floating point type you will
+ encounter has an appropriate <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> defined for it. It is also possible, given enough machine
+ time, to generate further <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>'s
+ using the program libs/math/tools/lanczos_generator.cpp.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the result is <code class="computeroutput"><span class="keyword">double</span></code>
+ when T is an integer type, and T otherwise.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">dz</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>.
+ Internally the implementation does not make use of the addition and subtraction
+ implied by the definition, leading to accurate results even for very small
+ <code class="computeroutput"><span class="identifier">dz</span></code>. However, the implementation
+ is capped to either 35 digit accuracy, or to the precision of the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> associated with type T, whichever is more accurate.
+ </p>
+<p>
+ The return type of this function is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the result is <code class="computeroutput"><span class="keyword">double</span></code>
+ when T is an integer type, and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.tgamma.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.tgamma.accuracy"></a></span><a class="link" href="tgamma.html#math_toolkit.sf_gamma.tgamma.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>, <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>, <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
+ libraries. Unless otherwise specified any floating point type that is narrower
+ than the one shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Factorials and Half factorials
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near Zero
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near 1 or 2
+ </p>
+ </th>
+<th>
+ <p>
+ Values Near a Negative Pole
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32 Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.9 Mean=0.7
+ </p>
+ <p>
+ (GSL=3.9)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=3.0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.0 Mean=1.1
+ </p>
+ <p>
+ (GSL=4.5)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.0 Mean=1.1
+ </p>
+ <p>
+ (GSL=7.9)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.6 Mean=1.3
+ </p>
+ <p>
+ (GSL=2.5)
+ </p>
+ <p>
+ (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=2.7)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Linux IA32 / GCC
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=300 Mean=49.5
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=395 Mean=89)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.0 Mean=1.4
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=11 Mean=3.3)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.0 Mean=1.8
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=0.92 Mean=0.2)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=157 Mean=65
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak=205 Mean=108)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Linux IA64 / GCC
+ </p>
+ </td>
+<td>
+ <p>
+ <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 2.8 Mean=0.9
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 0.7)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.8 Mean=1.5
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.8 Mean=1.5
+ </p>
+ <p>
+ (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
+ Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.0 Mean=1.7 (<a href="http://www.gnu.org/software/libc/" target="_top">GNU
+ C Lib</a> Peak 0)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.5 Mean=1.1
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.5 Mean=1.7
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3.5 Mean=1.6
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.2 Mean=1.92
+ </p>
+ <p>
+ (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
+ C Library</a> Peak 0)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.sf_gamma.tgamma.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.tgamma.testing"></a></span><a class="link" href="tgamma.html#math_toolkit.sf_gamma.tgamma.testing">Testing</a>
+ </h5>
+<p>
+ The gamma is relatively easy to test: factorials and half-integer factorials
+ can be calculated exactly by other means and compared with the gamma function.
+ In addition, some accuracy tests in known tricky areas were computed at high
+ precision using the generic version of this function.
+ </p>
+<p>
+ The function <code class="computeroutput"><span class="identifier">tgamma1pm1</span></code> is
+ tested against values calculated very naively using the formula <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">dz</span><span class="special">)-</span><span class="number">1</span></code> with a
+ lanczos approximation accurate to around 100 decimal digits.
+ </p>
+<h5>
+<a name="math_toolkit.sf_gamma.tgamma.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_gamma.tgamma.implementation"></a></span><a class="link" href="tgamma.html#math_toolkit.sf_gamma.tgamma.implementation">Implementation</a>
+ </h5>
+<p>
+ The generic version of the <code class="computeroutput"><span class="identifier">tgamma</span></code>
+ function is implemented Sterling's approximation for lgamma for large z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamma6.png"></span>
+ </p>
+<p>
+ Following exponentiation, downward recursion is then used for small values
+ of z.
+ </p>
+<p>
+ For types of known precision the <a class="link" href="../lanczos.html" title="The Lanczos Approximation">Lanczos
+ approximation</a> is used, a traits class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lanczos</span><span class="special">::</span><span class="identifier">lanczos_traits</span></code>
+ maps type T to an appropriate approximation.
+ </p>
+<p>
+ For z in the range -20 &lt; z &lt; 1 then recursion is used to shift to z
+ &gt; 1 via:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamm3.png"></span>
+ </p>
+<p>
+ For very small z, this helps to preserve the identity:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamm4.png"></span>
+ </p>
+<p>
+ For z &lt; -20 the reflection formula:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/gamm5.png"></span>
+ </p>
+<p>
+ is used. Particular care has to be taken to evaluate the <code class="literal">z * sin(&#960; &#160; *
+ z)</code> part: a special routine is used to reduce z prior to multiplying
+ by &#960; &#160; to ensure that the result in is the range [0, &#960;/2]. Without this an excessive
+ amount of error occurs in this region (which is hard enough already, as the
+ rate of change near a negative pole is <span class="emphasis"><em>exceptionally</em></span>
+ high).
+ </p>
+<p>
+ Finally if the argument is a small integer then table lookup of the factorial
+ is used.
+ </p>
+<p>
+ The function <code class="computeroutput"><span class="identifier">tgamma1pm1</span></code> is
+ implemented using rational approximations <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> in the region <code class="computeroutput"><span class="special">-</span><span class="number">0.5</span> <span class="special">&lt;</span> <span class="identifier">dz</span>
+ <span class="special">&lt;</span> <span class="number">2</span></code>.
+ These are the same approximations (and internal routines) that are used for
+ <a class="link" href="lgamma.html" title="Log Gamma">lgamma</a>, and so aren't
+ detailed further here. The result of the approximation is <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">dz</span><span class="special">+</span><span class="number">1</span><span class="special">))</span></code> which can
+ fed into <a class="link" href="../powers/expm1.html" title="expm1">expm1</a> to give the
+ desired result. Outside the range <code class="computeroutput"><span class="special">-</span><span class="number">0.5</span> <span class="special">&lt;</span> <span class="identifier">dz</span>
+ <span class="special">&lt;</span> <span class="number">2</span></code>
+ then the naive formula <code class="computeroutput"><span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">dz</span><span class="special">)</span>
+ <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">dz</span><span class="special">+</span><span class="number">1</span><span class="special">)-</span><span class="number">1</span></code>
+ can be used directly.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lgamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_implementation.html b/libs/math/doc/html/math_toolkit/sf_implementation.html
new file mode 100644
index 0000000000..5a9bd254af
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_implementation.html
@@ -0,0 +1,848 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Additional Implementation Notes</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+<link rel="prev" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+<link rel="next" href="special_tut.html" title="Tutorial: How to Write a New Special Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../backgrounders.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special_tut.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.sf_implementation"></a><a class="link" href="sf_implementation.html" title="Additional Implementation Notes">Additional Implementation
+ Notes</a>
+</h2></div></div></div>
+<p>
+ The majority of the implementation notes are included with the documentation
+ of each function or distribution. The notes here are of a more general nature,
+ and reflect more the general implementation philosophy used.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.implemention_philosophy"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.implemention_philosophy">Implemention
+ philosophy</a>
+ </h5>
+<p>
+ "First be right, then be fast."
+ </p>
+<p>
+ There will always be potential compromises to be made between speed and accuracy.
+ It may be possible to find faster methods, particularly for certain limited
+ ranges of arguments, but for most applications of math functions and distributions,
+ we judge that speed is rarely as important as accuracy.
+ </p>
+<p>
+ So our priority is accuracy.
+ </p>
+<p>
+ To permit evaluation of accuracy of the special functions, production of extremely
+ accurate tables of test values has received considerable effort.
+ </p>
+<p>
+ (It also required much CPU effort - there was some danger of molten plastic
+ dripping from the bottom of JM's laptop, so instead, PAB's Dual-core desktop
+ was kept 50% busy for <span class="bold"><strong>days</strong></span> calculating some
+ tables of test values!)
+ </p>
+<p>
+ For a specific RealType, say float or double, it may be possible to find approximations
+ for some functions that are simpler and thus faster, but less accurate (perhaps
+ because there are no refining iterations, for example, when calculating inverse
+ functions).
+ </p>
+<p>
+ If these prove accurate enough to be "fit for his purpose", then
+ a user may substitute his custom specialization.
+ </p>
+<p>
+ For example, there are approximations dating back from times when computation
+ was a <span class="bold"><strong>lot</strong></span> more expensive:
+ </p>
+<p>
+ H Goldberg and H Levine, Approximate formulas for percentage points and normalisation
+ of t and chi squared, Ann. Math. Stat., 17(4), 216 - 225 (Dec 1946).
+ </p>
+<p>
+ A H Carter, Approximations to percentage points of the z-distribution, Biometrika
+ 34(2), 352 - 358 (Dec 1947).
+ </p>
+<p>
+ These could still provide sufficient accuracy for some speed-critical applications.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.accuracy_and_representation_of_t"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.accuracy_and_representation_of_t">Accuracy
+ and Representation of Test Values</a>
+ </h5>
+<p>
+ In order to be accurate enough for as many as possible real types, constant
+ values are given to 50 decimal digits if available (though many sources proved
+ only accurate near to 64-bit double precision). Values are specified as long
+ double types by appending L, unless they are exactly representable, for example
+ integers, or binary fractions like 0.125. This avoids the risk of loss of accuracy
+ converting from double, the default type. Values are used after static_cast&lt;RealType&gt;(1.2345L)
+ to provide the appropriate RealType for spot tests.
+ </p>
+<p>
+ Functions that return constants values, like kurtosis for example, are written
+ as
+ </p>
+<p>
+ <code class="computeroutput"><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(-</span><span class="number">3</span><span class="special">)</span> <span class="special">/</span>
+ <span class="number">5</span><span class="special">;</span></code>
+ </p>
+<p>
+ to provide the most accurate value that the compiler can compute for the real
+ type. (The denominator is an integer and so will be promoted exactly).
+ </p>
+<p>
+ So tests for one third, <span class="bold"><strong>not</strong></span> exactly representable
+ with radix two floating-point, (should) use, for example:
+ </p>
+<p>
+ <code class="computeroutput"><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">)</span> <span class="special">/</span>
+ <span class="number">3</span><span class="special">;</span></code>
+ </p>
+<p>
+ If a function is very sensitive to changes in input, specifying an inexact
+ value as input (such as 0.1) can throw the result off by a noticeable amount:
+ 0.1f is "wrong" by ~1e-7 for example (because 0.1 has no exact binary
+ representation). That is why exact binary values - halves, quarters, and eighths
+ etc - are used in test code along with the occasional fraction <code class="computeroutput"><span class="identifier">a</span><span class="special">/</span><span class="identifier">b</span></code>
+ with <code class="computeroutput"><span class="identifier">b</span></code> a power of two (in order
+ to ensure that the result is an exactly representable binary value).
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.tolerance_of_tests"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.tolerance_of_tests">Tolerance
+ of Tests</a>
+ </h5>
+<p>
+ The tolerances need to be set to the maximum of:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Some epsilon value.
+ </li>
+<li class="listitem">
+ The accuracy of the data (often only near 64-bit double).
+ </li>
+</ul></div>
+<p>
+ Otherwise when long double has more digits than the test data, then no amount
+ of tweaking an epsilon based tolerance will work.
+ </p>
+<p>
+ A common problem is when tolerances that are suitable for implementations like
+ Microsoft VS.NET where double and long double are the same size: tests fail
+ on other systems where long double is more accurate than double. Check first
+ that the suffix L is present, and then that the tolerance is big enough.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.handling_unsuitable_arguments"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.handling_unsuitable_arguments">Handling
+ Unsuitable Arguments</a>
+ </h5>
+<p>
+ In <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1665.pdf" target="_top">Errors
+ in Mathematical Special Functions</a>, J. Marraffino &amp; M. Paterno it
+ is proposed that signalling a domain error is mandatory when the argument would
+ give an mathematically undefined result.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Guideline 1
+ </li></ul></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ A mathematical function is said to be defined at a point a = (a1, a2, . .
+ .) if the limits as x = (x1, x2, . . .) 'approaches a from all directions
+ agree'. The defined value may be any number, or +infinity, or -infinity.
+ </p></blockquote></div>
+<p>
+ Put crudely, if the function goes to + infinity and then emerges 'round-the-back'
+ with - infinity, it is NOT defined.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ The library function which approximates a mathematical function shall signal
+ a domain error whenever evaluated with argument values for which the mathematical
+ function is undefined.
+ </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Guideline 2
+ </li></ul></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ The library function which approximates a mathematical function shall signal
+ a domain error whenever evaluated with argument values for which the mathematical
+ function obtains a non-real value.
+ </p></blockquote></div>
+<p>
+ This implementation is believed to follow these proposals and to assist compatibility
+ with <span class="emphasis"><em>ISO/IEC 9899:1999 Programming languages - C</em></span> and with
+ the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Draft
+ Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph
+ 5</a>. <a class="link" href="error_handling.html" title="Error Handling">See also domain_error</a>.
+ </p>
+<p>
+ See <a class="link" href="pol_ref.html" title="Policy Reference">policy reference</a> for details
+ of the error handling policies that should allow a user to comply with any
+ of these recommendations, as well as other behaviour.
+ </p>
+<p>
+ See <a class="link" href="error_handling.html" title="Error Handling">error handling</a> for a
+ detailed explanation of the mechanism, and <a class="link" href="stat_tut/weg/error_eg.html" title="Error Handling Example">error_handling
+ example</a> and <a href="../../../example/error_handling_example.cpp" target="_top">error_handling_example.cpp</a>
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If you enable throw but do NOT have try &amp; catch block, then the program
+ will terminate with an uncaught exception and probably abort. Therefore to
+ get the benefit of helpful error messages, enabling <span class="bold"><strong>all</strong></span>
+ exceptions <span class="bold"><strong>and</strong></span> using try&amp;catch is recommended
+ for all applications. However, for simplicity, this is not done for most
+ examples.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.sf_implementation.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.handling_of_functions_that_are_n"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.handling_of_functions_that_are_n">Handling
+ of Functions that are Not Mathematically defined</a>
+ </h5>
+<p>
+ Functions that are not mathematically defined, like the Cauchy mean, fail to
+ compile by default. A <a class="link" href="pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">policy</a>
+ allows control of this.
+ </p>
+<p>
+ If the policy is to permit undefined functions, then calling them throws a
+ domain error, by default. But the error policy can be set to not throw, and
+ to return NaN instead. For example,
+ </p>
+<p>
+ <code class="computeroutput"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span>
+ <span class="identifier">ignore_error</span></code>
+ </p>
+<p>
+ appears before the first Boost include, then if the un-implemented function
+ is called, mean(cauchy&lt;&gt;()) will return std::numeric_limits&lt;T&gt;::quiet_NaN().
+ </p>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">has_quiet_NaN</span></code> is false (for example, if
+ T is a User-defined type without NaN support), then an exception will always
+ be thrown when a domain error occurs. Catching exceptions is therefore strongly
+ recommended.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.sf_implementation.h5"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.median_of_distributions"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.median_of_distributions">Median of
+ distributions</a>
+ </h5>
+<p>
+ There are many distributions for which we have been unable to find an analytic
+ formula, and this has deterred us from implementing <a href="http://en.wikipedia.org/wiki/Median" target="_top">median
+ functions</a>, the mid-point in a list of values.
+ </p>
+<p>
+ However a useful numerical approximation for distribution <code class="computeroutput"><span class="identifier">dist</span></code>
+ is available as usual as an accessor non-member function median using <code class="computeroutput"><span class="identifier">median</span><span class="special">(</span><span class="identifier">dist</span><span class="special">)</span></code>, that may be evaluated (in the absence of
+ an analytic formula) by calling
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span></code> (this is the <span class="emphasis"><em>mathematical</em></span>
+ definition of course).
+ </p>
+<p>
+ <a href="http://www.amstat.org/publications/jse/v13n2/vonhippel.html" target="_top">Mean,
+ Median, and Skew, Paul T von Hippel</a>
+ </p>
+<p>
+ <a href="http://documents.wolfram.co.jp/teachersedition/MathematicaBook/24.5.html" target="_top">Descriptive
+ Statistics,</a>
+ </p>
+<p>
+ <a href="http://documents.wolfram.co.jp/v5/Add-onsLinks/StandardPackages/Statistics/DescriptiveStatistics.html" target="_top">and
+ </a>
+ </p>
+<p>
+ <a href="http://documents.wolfram.com/v5/TheMathematicaBook/AdvancedMathematicsInMathematica/NumericalOperationsOnData/3.8.1.html" target="_top">Mathematica
+ Basic Statistics.</a> give more detail, in particular for discrete distributions.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h6"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.handling_of_floating_point_infin"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.handling_of_floating_point_infin">Handling
+ of Floating-Point Infinity</a>
+ </h5>
+<p>
+ Some functions and distributions are well defined with + or - infinity as argument(s),
+ but after some experiments with handling infinite arguments as special cases,
+ we concluded that it was generally more useful to forbid this, and instead
+ to return the result of <a class="link" href="error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ Handling infinity as special cases is additionally complicated because, unlike
+ built-in types on most - but not all - platforms, not all User-Defined Types
+ are specialized to provide <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code> and would return zero rather than any representation
+ of infinity.
+ </p>
+<p>
+ The rationale is that non-finiteness may happen because of error or overflow
+ in the users code, and it will be more helpful for this to be diagnosed promptly
+ rather than just continuing. The code also became much more complicated, more
+ error-prone, much more work to test, and much less readable.
+ </p>
+<p>
+ However in a few cases, for example normal, where we felt it obvious, we have
+ permitted argument(s) to be infinity, provided infinity is implemented for
+ the <code class="computeroutput"><span class="identifier">RealType</span></code> on that implementation,
+ and it is supported and tested by the distribution.
+ </p>
+<p>
+ The range for these distributions is set to infinity if supported by the platform,
+ (by testing <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">has_infinity</span></code>) else the maximum value provided
+ for the <code class="computeroutput"><span class="identifier">RealType</span></code> by Boost.Math.
+ </p>
+<p>
+ Testing for has_infinity is obviously important for arbitrary precision types
+ where infinity makes much less sense than for IEEE754 floating-point.
+ </p>
+<p>
+ So far we have not set <code class="computeroutput"><span class="identifier">support</span><span class="special">()</span></code> function (only range) on the grounds that
+ the PDF is uninteresting/zero for infinities.
+ </p>
+<p>
+ Users who require special handling of infinity (or other specific value) can,
+ of course, always intercept this before calling a distribution or function
+ and return their own choice of value, or other behavior. This will often be
+ simpler than trying to handle the aftermath of the error policy.
+ </p>
+<p>
+ Overflow, underflow, denorm can be handled using <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">error
+ handling policies</a>.
+ </p>
+<p>
+ We have also tried to catch boundary cases where the mathematical specification
+ would result in divide by zero or overflow and signalling these similarly.
+ What happens at (and near), poles can be controlled through <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">error
+ handling policies</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h7"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.scale_shape_and_location"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.scale_shape_and_location">Scale, Shape
+ and Location</a>
+ </h5>
+<p>
+ We considered adding location and scale to the list of functions, for example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">triangular_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="identifier">dist</span><span class="special">.</span><span class="identifier">lower</span><span class="special">();</span>
+ <span class="identifier">RealType</span> <span class="identifier">mode</span> <span class="special">=</span> <span class="identifier">dist</span><span class="special">.</span><span class="identifier">mode</span><span class="special">();</span>
+ <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="identifier">dist</span><span class="special">.</span><span class="identifier">upper</span><span class="special">();</span>
+ <span class="identifier">RealType</span> <span class="identifier">result</span><span class="special">;</span> <span class="comment">// of checks.</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="keyword">false</span> <span class="special">==</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">check_triangular</span><span class="special">(</span><span class="identifier">BOOST_CURRENT_FUNCTION</span><span class="special">,</span> <span class="identifier">lower</span><span class="special">,</span> <span class="identifier">mode</span><span class="special">,</span> <span class="identifier">upper</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">result</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">return</span> <span class="special">(</span><span class="identifier">upper</span> <span class="special">-</span> <span class="identifier">lower</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ but found that these concepts are not defined (or their definition too contentious)
+ for too many distributions to be generally applicable. Because they are non-member
+ functions, they can be added if required.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h8"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.notes_on_implementation_of_speci"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.notes_on_implementation_of_speci">Notes
+ on Implementation of Specific Functions &amp; Distributions</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Default parameters for the Triangular Distribution. We are uncertain about
+ the best default parameters. Some sources suggest that the Standard Triangular
+ Distribution has lower = 0, mode = half and upper = 1. However as a approximation
+ for the normal distribution, the most common usage, lower = -1, mode =
+ 0 and upper = 1 would be more suitable.
+ </li></ul></div>
+<h5>
+<a name="math_toolkit.sf_implementation.h9"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.rational_approximations_used"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">Rational
+ Approximations Used</a>
+ </h5>
+<p>
+ Some of the special functions in this library are implemented via rational
+ approximations. These are either taken from the literature, or devised by John
+ Maddock using <a class="link" href="internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm">our Remez code</a>.
+ </p>
+<p>
+ Rational rather than Polynomial approximations are used to ensure accuracy:
+ polynomial approximations are often wonderful up to a certain level of accuracy,
+ but then quite often fail to provide much greater accuracy no matter how many
+ more terms are added.
+ </p>
+<p>
+ Our own approximations were devised either for added accuracy (to support 128-bit
+ long doubles for example), or because literature methods were unavailable or
+ under non-BSL compatible license. Our Remez code is known to produce good agreement
+ with literature results in fairly simple "toy" cases. All approximations
+ were checked for convergence and to ensure that they were not ill-conditioned
+ (the coefficients can give a theoretically good solution, but the resulting
+ rational function may be un-computable at fixed precision).
+ </p>
+<p>
+ Recomputing using different Remez implementations may well produce differing
+ coefficients: the problem is well known to be ill conditioned in general, and
+ our Remez implementation often found a broad and ill-defined minima for many
+ of these approximations (of course for simple "toy" examples like
+ approximating <code class="computeroutput"><span class="identifier">exp</span></code> the minima
+ is well defined, and the coeffiecents should agree no matter whose Remez implementation
+ is used). This should not in general effect the validity of the approximations:
+ there's good literature supporting the idea that coefficients can be "in
+ error" without necessarily adversely effecting the result. Note that "in
+ error" has a special meaning in this context, see <a href="http://front.math.ucdavis.edu/0101.5042" target="_top">"Approximate
+ construction of rational approximations and the effect of error autocorrection.",
+ Grigori Litvinov, eprint arXiv:math/0101042</a>. Therefore the coefficients
+ still need to be accurately calculated, even if they can be in error compared
+ to the "true" minimax solution.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h10"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.representation_of_mathematical_c"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.representation_of_mathematical_c">Representation
+ of Mathematical Constants</a>
+ </h5>
+<p>
+ A macro BOOST_DEFINE_MATH_CONSTANT in constants.hpp is used to provide high
+ accuracy constants to mathematical functions and distributions, since it is
+ important to provide values uniformly for both built-in float, double and long
+ double types, and for User Defined types in <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>
+ like <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html" target="_top">cpp_dec_float</a>.
+ and others like NTL::quad_float and NTL::RR.
+ </p>
+<p>
+ To permit calculations in this Math ToolKit and its tests, (and elsewhere)
+ at about 100 decimal digits with NTL::RR type, it is obviously necessary to
+ define constants to this accuracy.
+ </p>
+<p>
+ However, some compilers do not accept decimal digits strings as long as this.
+ So the constant is split into two parts, with the 1st containing at least long
+ double precision, and the 2nd zero if not needed or known. The 3rd part permits
+ an exponent to be provided if necessary (use zero if none) - the other two
+ parameters may only contain decimal digits (and sign and decimal point), and
+ may NOT include an exponent like 1.234E99 (nor a trailing F or L). The second
+ digit string is only used if T is a User-Defined Type, when the constant is
+ converted to a long string literal and lexical_casted to type T. (This is necessary
+ because you can't use a numeric constant since even a long double might not
+ have enough digits).
+ </p>
+<p>
+ For example, pi is defined:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">pi</span><span class="special">,</span>
+ <span class="number">3.141592653589793238462643383279502884197169399375105820974944</span><span class="special">,</span>
+ <span class="number">5923078164062862089986280348253421170679821480865132823066470938446095505</span><span class="special">,</span>
+ <span class="number">0</span><span class="special">)</span>
+</pre>
+<p>
+ And used thus:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">diameter</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">radius</span> <span class="special">=</span> <span class="identifier">diameter</span> <span class="special">*</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;();</span>
+
+<span class="keyword">or</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;()</span>
+</pre>
+<p>
+ Note that it is necessary (if inconvenient) to specify the type explicitly.
+ </p>
+<p>
+ So you cannot write
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;&gt;();</span> <span class="comment">// could not deduce template argument for 'T'</span>
+</pre>
+<p>
+ Neither can you write:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">;</span> <span class="comment">// Context does not allow for disambiguation of overloaded function</span>
+<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">();</span> <span class="comment">// Context does not allow for disambiguation of overloaded function</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_implementation.h11"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.thread_safety"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.thread_safety">Thread
+ safety</a>
+ </h5>
+<p>
+ Reporting of error by setting <code class="computeroutput"><span class="identifier">errno</span></code>
+ should be thread-safe already (otherwise none of the std lib math functions
+ would be thread safe?). If you turn on reporting of errors via exceptions,
+ <code class="computeroutput"><span class="identifier">errno</span></code> gets left unused anyway.
+ </p>
+<p>
+ For normal C++ usage, the Boost.Math <code class="computeroutput"><span class="keyword">static</span>
+ <span class="keyword">const</span></code> constants are now thread-safe
+ so for built-in real-number types: <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> are all thread safe.
+ </p>
+<p>
+ For User_defined types, for example, <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html" target="_top">cpp_dec_float</a>,
+ the Boost.Math should also be thread-safe, (thought we are unsure how to rigorously
+ prove this).
+ </p>
+<p>
+ (Thread safety has received attention in the C++11 Standard revision, so hopefully
+ all compilers will do the right thing here at some point.)
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h12"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.sources_of_test_data"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.sources_of_test_data">Sources
+ of Test Data</a>
+ </h5>
+<p>
+ We found a large number of sources of test data. We have assumed that these
+ are <span class="emphasis"><em>"known good"</em></span> if they agree with the results
+ from our test and only consulted other sources for their <span class="emphasis"><em>'vote'</em></span>
+ in the case of serious disagreement. The accuracy, actual and claimed, vary
+ very widely. Only <a href="http://functions.wolfram.com/" target="_top">Wolfram Mathematica
+ functions</a> provided a higher accuracy than C++ double (64-bit floating-point)
+ and was regarded as the most-trusted source by far. The <a href="http://www.r-project.org/" target="_top">The
+ R Project for Statistical Computing</a> provided the widest range of distributions,
+ but the usual Intel X86 distribution uses 64-but doubles, so our use was limited
+ to the 15 to 17 decimal digit accuracy.
+ </p>
+<p>
+ A useful index of sources is: <a href="http://www.sal.hut.fi/Teaching/Resources/ProbStat/table.html" target="_top">Web-oriented
+ Teaching Resources in Probability and Statistics</a>
+ </p>
+<p>
+ <a href="http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm" target="_top">Statlet</a>:
+ Is a Javascript application that calculates and plots probability distributions,
+ and provides the most complete range of distributions:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Bernoulli, Binomial, discrete uniform, geometric, hypergeometric, negative
+ binomial, Poisson, beta, Cauchy-Lorentz, chi-sequared, Erlang, exponential,
+ extreme value, Fisher, gamma, Laplace, logistic, lognormal, normal, Parteo,
+ Student's t, triangular, uniform, and Weibull.
+ </p></blockquote></div>
+<p>
+ It calculates pdf, cdf, survivor, log survivor, hazard, tail areas, &amp; critical
+ values for 5 tail values.
+ </p>
+<p>
+ It is also the only independent source found for the Weibull distribution;
+ unfortunately it appears to suffer from very poor accuracy in areas where the
+ underlying special function is known to be difficult to implement.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h13"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.testing_for_invalid_parameters_t"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.testing_for_invalid_parameters_t">Testing
+ for Invalid Parameters to Functions and Constructors</a>
+ </h5>
+<p>
+ After finding that some 'bad' parameters (like NaN) were not throwing a <code class="computeroutput"><span class="identifier">domain_error</span></code> exception as they should, a
+ function
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">check_out_of_range</span></code> (in <code class="computeroutput"><span class="identifier">test_out_of_range</span><span class="special">.</span><span class="identifier">hpp</span></code>) was devised by JM to check (using Boost.Test's
+ BOOST_CHECK_THROW macro) that bad parameters passed to constructors and functions
+ throw <code class="computeroutput"><span class="identifier">domain_error</span></code> exceptions.
+ </p>
+<p>
+ Usage is <code class="computeroutput"><span class="identifier">check_out_of_range</span><span class="special">&lt;</span> <span class="identifier">DistributionType</span>
+ <span class="special">&gt;(</span><span class="identifier">list</span><span class="special">-</span><span class="identifier">of</span><span class="special">-</span><span class="identifier">params</span><span class="special">);</span></code>
+ Where list-of-params is a list of <span class="bold"><strong>valid</strong></span> parameters
+ from which the distribution can be constructed - ie the same number of args
+ are passed to the function, as are passed to the distribution constructor.
+ </p>
+<p>
+ The values of the parameters are not important, but must be <span class="bold"><strong>valid</strong></span>
+ to pass the contructor checks; the default values are suitable, but must be
+ explicitly provided, for example:
+ </p>
+<pre class="programlisting"><span class="identifier">check_out_of_range</span><span class="special">&lt;</span><span class="identifier">extreme_value_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
+</pre>
+<p>
+ Checks made are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Infinity or NaN (if available) passed in place of each of the valid params.
+ </li>
+<li class="listitem">
+ Infinity or NaN (if available) as a random variable.
+ </li>
+<li class="listitem">
+ Out-of-range random variable passed to pdf and cdf (ie outside of "range(DistributionType)").
+ </li>
+<li class="listitem">
+ Out-of-range probability passed to quantile function and complement.
+ </li>
+</ul></div>
+<p>
+ but does <span class="bold"><strong>not</strong></span> check finite but out-of-range
+ parameters to the constructor because these are specific to each distribution,
+ for example:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_CHECK_THROW</span><span class="special">(</span><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">pareto_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">),</span> <span class="number">0</span><span class="special">),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">);</span>
+<span class="identifier">BOOST_CHECK_THROW</span><span class="special">(</span><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">pareto_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">,</span> <span class="number">0</span><span class="special">),</span> <span class="number">0</span><span class="special">),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">);</span>
+</pre>
+<p>
+ checks <code class="computeroutput"><span class="identifier">scale</span></code> and <code class="computeroutput"><span class="identifier">shape</span></code> parameters are both &gt; 0 by checking
+ that <code class="computeroutput"><span class="identifier">domain_error</span></code> exception
+ is thrown if either are == 0.
+ </p>
+<p>
+ (Use of <code class="computeroutput"><span class="identifier">check_out_of_range</span></code>
+ function may mean that some previous tests are now redundant).
+ </p>
+<p>
+ It was also noted that if more than one parameter is bad, then only the first
+ detected will be reported by the error message.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h14"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.creating_and_managing_the_equati"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.creating_and_managing_the_equati">Creating
+ and Managing the Equations</a>
+ </h5>
+<p>
+ Equations that fit on a single line can most easily be produced by inline Quickbook
+ code using templates for Unicode Greek and Unicode Math symbols. All Greek
+ letter and small set of Math symbols is available at /boost-path/libs/math/doc/sf_and_dist/html4_symbols.qbk
+ </p>
+<p>
+ Where equations need to use more than one line, real Math editors were used.
+ </p>
+<p>
+ The primary source for the equations is now <a href="http://www.w3.org/Math/" target="_top">MathML</a>:
+ see the *.mml files in libs/math/doc/sf_and_dist/equations/.
+ </p>
+<p>
+ These are most easily edited by a GUI editor such as <a href="http://mathcast.sourceforge.net/home.html" target="_top">Mathcast</a>,
+ please note that the equation editor supplied with Open Office currently mangles
+ these files and should not currently be used.
+ </p>
+<p>
+ Conversion to SVG was achieved using <a href="http://www.grigoriev.ru/svgmath/" target="_top">SVGMath</a>
+ and a command line such as:
+ </p>
+<pre class="programlisting">$for file in *.mml; do
+&gt;/cygdrive/c/Python25/python.exe 'C:\download\open\SVGMath-0.3.1\math2svg.py' \
+&gt;&gt;$file &gt; $(basename $file .mml).svg
+&gt;done
+</pre>
+<p>
+ See also the section on "Using Python to run Inkscape" and "Using
+ inkscape to convert scalable vector SVG files to Portable Network graphic PNG".
+ </p>
+<p>
+ Note that SVGMath requires that the mml files are <span class="bold"><strong>not</strong></span>
+ 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.
+ </p>
+<p>
+ If neccessary the XHTML wrapper can be removed with:
+ </p>
+<pre class="programlisting">cat filename | tr -d "\r\n" | sed -e 's/.*\(&lt;math[^&gt;]*&gt;.*&lt;/math&gt;\).*/\1/' &gt; newfile</pre>
+<p>
+ Setting up fonts for SVGMath is currently rather tricky, on a Windows XP system
+ JM's font setup is the same as the sample config file provided with SVGMath
+ but with:
+ </p>
+<pre class="programlisting"> &lt;!-- Double-struck --&gt;
+ &lt;mathvariant name="double-struck" family="Mathematica7, Lucida Sans Unicode"/&gt;
+</pre>
+<p>
+ changed to:
+ </p>
+<pre class="programlisting"> &lt;!-- Double-struck --&gt;
+ &lt;mathvariant name="double-struck" family="Lucida Sans Unicode"/&gt;
+</pre>
+<p>
+ Note that unlike the sample config file supplied with SVGMath, this does not
+ make use of the <a href="http://support.wolfram.com/technotes/fonts/windows/latestfonts.html" target="_top">Mathematica
+ 7 font</a> as this lacks sufficient Unicode information for it to be used
+ with either SVGMath or XEP "as is".
+ </p>
+<p>
+ Also note that the SVG files in the repository are almost certainly Windows-specific
+ since they reference various Windows Fonts.
+ </p>
+<p>
+ PNG files can be created from the SVGs using <a href="http://xmlgraphics.apache.org/batik/tools/rasterizer.html" target="_top">Batik</a>
+ and a command such as:
+ </p>
+<pre class="programlisting">java -jar 'C:\download\open\batik-1.7\batik-rasterizer.jar' -dpi 120 *.svg</pre>
+<p>
+ Or using Inkscape (File, Export bitmap, Drawing tab, bitmap size (default size,
+ 100 dpi), Filename (default). png)
+ </p>
+<p>
+ or Using Cygwin, a command such as:
+ </p>
+<pre class="programlisting">for file in *.svg; do
+ /cygdrive/c/progra~1/Inkscape/inkscape -d 120 -e $(cygpath -a -w $(basename $file .svg).png) $(cygpath -a -w $file);
+done</pre>
+<p>
+ Currently Inkscape seems to generate the better looking png's.
+ </p>
+<p>
+ The PDF is generated into \pdf\math.pdf using a command from a shell or command
+ window with current directory \math_toolkit\libs\math\doc\sf_and_dist, typically:
+ </p>
+<pre class="programlisting">bjam -a pdf &gt;math_pdf.log</pre>
+<p>
+ Note that XEP will have to be configured to <span class="bold"><strong>use and embed</strong></span>
+ whatever fonts are used by the SVG equations (almost certainly editing the
+ sample xep.xml provided by the XEP installation). If you fail to do this you
+ will get XEP warnings in the log file like
+ </p>
+<pre class="programlisting">[warning]could not find any font family matching "Times New Roman"; replaced by Helvetica</pre>
+<p>
+ (html is the default so it is generated at libs\math\doc\html\index.html using
+ command line &gt;bjam -a &gt; math_toolkit.docs.log).
+ </p>
+<pre class="programlisting"><span class="special">&lt;!--</span> <span class="identifier">Sample</span> <span class="identifier">configuration</span> <span class="keyword">for</span> <span class="identifier">Windows</span> <span class="identifier">TrueType</span> <span class="identifier">fonts</span><span class="special">.</span> <span class="special">--&gt;</span>
+</pre>
+<p>
+ is provided in the xep.xml downloaded, but the Windows TrueType fonts are commented
+ out.
+ </p>
+<p>
+ JM's XEP config file \xep\xep.xml has the following font configuration section
+ added:
+ </p>
+<pre class="programlisting"> &lt;font-group xml:base="file:/C:/Windows/Fonts/" label="Windows TrueType" embed="true" subset="true"&gt;
+ &lt;font-family name="Arial"&gt;
+ &lt;font&gt;&lt;font-data ttf="arial.ttf"/&gt;&lt;/font&gt;
+ &lt;font style="oblique"&gt;&lt;font-data ttf="ariali.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold"&gt;&lt;font-data ttf="arialbd.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold" style="oblique"&gt;&lt;font-data ttf="arialbi.ttf"/&gt;&lt;/font&gt;
+ &lt;/font-family&gt;
+
+ &lt;font-family name="Times New Roman" ligatures="&amp;#xFB01; &amp;#xFB02;"&gt;
+ &lt;font&gt;&lt;font-data ttf="times.ttf"/&gt;&lt;/font&gt;
+ &lt;font style="italic"&gt;&lt;font-data ttf="timesi.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold"&gt;&lt;font-data ttf="timesbd.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold" style="italic"&gt;&lt;font-data ttf="timesbi.ttf"/&gt;&lt;/font&gt;
+ &lt;/font-family&gt;
+
+ &lt;font-family name="Courier New"&gt;
+ &lt;font&gt;&lt;font-data ttf="cour.ttf"/&gt;&lt;/font&gt;
+ &lt;font style="oblique"&gt;&lt;font-data ttf="couri.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold"&gt;&lt;font-data ttf="courbd.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold" style="oblique"&gt;&lt;font-data ttf="courbi.ttf"/&gt;&lt;/font&gt;
+ &lt;/font-family&gt;
+
+ &lt;font-family name="Tahoma" embed="true"&gt;
+ &lt;font&gt;&lt;font-data ttf="tahoma.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold"&gt;&lt;font-data ttf="tahomabd.ttf"/&gt;&lt;/font&gt;
+ &lt;/font-family&gt;
+
+ &lt;font-family name="Verdana" embed="true"&gt;
+ &lt;font&gt;&lt;font-data ttf="verdana.ttf"/&gt;&lt;/font&gt;
+ &lt;font style="oblique"&gt;&lt;font-data ttf="verdanai.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold"&gt;&lt;font-data ttf="verdanab.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold" style="oblique"&gt;&lt;font-data ttf="verdanaz.ttf"/&gt;&lt;/font&gt;
+ &lt;/font-family&gt;
+
+ &lt;font-family name="Palatino" embed="true" ligatures="&amp;#xFB00; &amp;#xFB01; &amp;#xFB02; &amp;#xFB03; &amp;#xFB04;"&gt;
+ &lt;font&gt;&lt;font-data ttf="pala.ttf"/&gt;&lt;/font&gt;
+ &lt;font style="italic"&gt;&lt;font-data ttf="palai.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold"&gt;&lt;font-data ttf="palab.ttf"/&gt;&lt;/font&gt;
+ &lt;font weight="bold" style="italic"&gt;&lt;font-data ttf="palabi.ttf"/&gt;&lt;/font&gt;
+ &lt;/font-family&gt;
+
+ &lt;font-family name="Lucida Sans Unicode"&gt;
+ &lt;!-- &lt;font&gt;&lt;font-data ttf="lsansuni.ttf"&gt;&lt;<span class="emphasis"><em>font&gt; --&gt;
+ &lt;!-- actually called l_10646.ttf on Windows 2000 and Vista Sp1 --&gt;
+ &lt;font&gt;&lt;font-data ttf="l_10646.ttf"</em></span>&gt;&lt;/font&gt;
+ &lt;/font-family&gt;
+</pre>
+<p>
+ PAB had to alter his because the Lucida Sans Unicode font had a different name.
+ Other changes are very likely to be required if you are not using Windows.
+ </p>
+<p>
+ XZ authored his equations using the venerable Latex, JM converted these to
+ MathML using <a href="http://gentoo-wiki.com/HOWTO_Convert_LaTeX_to_HTML_with_MathML" target="_top">mxlatex</a>.
+ 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.
+ </p>
+<p>
+ Equations are embedded in the quickbook source using the <span class="emphasis"><em>equation</em></span>
+ template defined in math.qbk. This outputs Docbook XML that looks like:
+ </p>
+<pre class="programlisting">&lt;inlinemediaobject&gt;
+&lt;imageobject role="html"&gt;
+&lt;imagedata fileref="../equations/myfile.png"&gt;&lt;/imagedata&gt;
+&lt;/imageobject&gt;
+&lt;imageobject role="print"&gt;
+&lt;imagedata fileref="../equations/myfile.svg"&gt;&lt;/imagedata&gt;
+&lt;/imageobject&gt;
+&lt;/inlinemediaobject&gt;
+</pre>
+<p>
+ MathML is not currently present in the Docbook output, or in the generated
+ HTML: this needs further investigation.
+ </p>
+<h5>
+<a name="math_toolkit.sf_implementation.h15"></a>
+ <span class="phrase"><a name="math_toolkit.sf_implementation.producing_graphs"></a></span><a class="link" href="sf_implementation.html#math_toolkit.sf_implementation.producing_graphs">Producing
+ Graphs</a>
+ </h5>
+<p>
+ Graphs were produced in SVG format and then converted to PNG's using the same
+ process as the equations.
+ </p>
+<p>
+ The programs <code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">doc</span><span class="special">/</span><span class="identifier">sf_and_dist</span><span class="special">/</span><span class="identifier">graphs</span><span class="special">/</span><span class="identifier">dist_graphs</span><span class="special">.</span><span class="identifier">cpp</span></code> and <code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">doc</span><span class="special">/</span><span class="identifier">sf_and_dist</span><span class="special">/</span><span class="identifier">graphs</span><span class="special">/</span><span class="identifier">sf_graphs</span><span class="special">.</span><span class="identifier">cpp</span></code> generate
+ the SVG's directly using the <a href="http://code.google.com/soc/2007/boost/about.html" target="_top">Google
+ Summer of Code 2007</a> project of Jacob Voytko (whose work so far, considerably
+ enhanced and now reasonably mature and usable, by Paul A. Bristow, is at .\boost-sandbox\SOC\2007\visualization).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../backgrounders.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special_tut.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_poly.html b/libs/math/doc/html/math_toolkit/sf_poly.html
new file mode 100644
index 0000000000..14b261e40e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_poly.html
@@ -0,0 +1,54 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Polynomials</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="sf_erf/error_inv.html" title="Error Function Inverses">
+<link rel="next" href="sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_erf/error_inv.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_poly/legendre.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.sf_poly"></a><a class="link" href="sf_poly.html" title="Polynomials">Polynomials</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="sf_poly/legendre.html">Legendre (and Associated)
+ Polynomials</a></span></dt>
+<dt><span class="section"><a href="sf_poly/laguerre.html">Laguerre (and Associated)
+ Polynomials</a></span></dt>
+<dt><span class="section"><a href="sf_poly/hermite.html">Hermite Polynomials</a></span></dt>
+<dt><span class="section"><a href="sf_poly/sph_harm.html">Spherical Harmonics</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_erf/error_inv.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_poly/legendre.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_poly/hermite.html b/libs/math/doc/html/math_toolkit/sf_poly/hermite.html
new file mode 100644
index 0000000000..140db0932a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_poly/hermite.html
@@ -0,0 +1,280 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Hermite Polynomials</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_poly.html" title="Polynomials">
+<link rel="prev" href="laguerre.html" title="Laguerre (and Associated) Polynomials">
+<link rel="next" href="sph_harm.html" title="Spherical Harmonics">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="laguerre.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_harm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_poly.hermite"></a><a class="link" href="hermite.html" title="Hermite Polynomials">Hermite Polynomials</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_poly.hermite.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.hermite.synopsis"></a></span><a class="link" href="hermite.html#math_toolkit.sf_poly.hermite.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">hermite</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Hn</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Hnm1</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_poly.hermite.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.hermite.description"></a></span><a class="link" href="hermite.html#math_toolkit.sf_poly.hermite.description">Description</a>
+ </h5>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: note than when there is a single
+ template argument the result is the same type as that argument or <code class="computeroutput"><span class="keyword">double</span></code> if the template argument is an integer
+ type.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the value of the Hermite Polynomial of order <span class="emphasis"><em>n</em></span>
+ at point <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/hermite_0.png"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ The following graph illustrates the behaviour of the first few Hermite Polynomials:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/hermite.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Hn</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Hnm1</span><span class="special">);</span>
+</pre>
+<p>
+ Implements the three term recurrence relation for the Hermite polynomials,
+ this function can be used to create a sequence of values evaluated at the
+ same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>n</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/hermite_1.png"></span>
+ </p>
+<p>
+ For example we could produce a vector of the first 10 polynomial values using:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
+<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">hermite</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)).</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">hermite</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
+ <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">hermite_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
+</pre>
+<p>
+ Formally the arguments are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">n</span></dt>
+<dd><p>
+ The degree <span class="emphasis"><em>n</em></span> of the last polynomial calculated.
+ </p></dd>
+<dt><span class="term">x</span></dt>
+<dd><p>
+ The abscissa value
+ </p></dd>
+<dt><span class="term">Hn</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>n</em></span>.
+ </p></dd>
+<dt><span class="term">Hnm1</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>n-1</em></span>.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="math_toolkit.sf_poly.hermite.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.hermite.accuracy"></a></span><a class="link" href="hermite.html#math_toolkit.sf_poly.hermite.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows peak errors (in units of epsilon) for various domains
+ of input arguments. Note that only results for the widest floating point
+ type on the system are given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_poly.hermite.peak_errors_in_the_hermite_polyn"></a><p class="title"><b>Table&#160;6.19.&#160;Peak Errors In the Hermite Polynomial</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Hermite Polynomial">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0 &lt; l &lt; 20
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4.5 Mean=1.5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA32, g++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6 Mean=2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6 Mean=2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6 Mean=4
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Note that the worst errors occur when the degree increases, values greater
+ than ~120 are very unlikely to produce sensible results, especially in the
+ associated polynomial case when the order is also large. Further the relative
+ errors are likely to grow arbitrarily large when the function is very close
+ to a root.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.hermite.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.hermite.testing"></a></span><a class="link" href="hermite.html#math_toolkit.sf_poly.hermite.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot tests of values calculated using functions.wolfram.com,
+ and randomly generated test data are used: the test data was computed using
+ <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
+ precision.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.hermite.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.hermite.implementation"></a></span><a class="link" href="hermite.html#math_toolkit.sf_poly.hermite.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions are implemented using the stable three term recurrence relations.
+ These relations guarentee low absolute error but cannot guarentee low relative
+ error near one of the roots of the polynomials.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="laguerre.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_harm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_poly/laguerre.html b/libs/math/doc/html/math_toolkit/sf_poly/laguerre.html
new file mode 100644
index 0000000000..ae91c8b7c5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_poly/laguerre.html
@@ -0,0 +1,453 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Laguerre (and Associated) Polynomials</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_poly.html" title="Polynomials">
+<link rel="prev" href="legendre.html" title="Legendre (and Associated) Polynomials">
+<link rel="next" href="hermite.html" title="Hermite Polynomials">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="legendre.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hermite.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_poly.laguerre"></a><a class="link" href="laguerre.html" title="Laguerre (and Associated) Polynomials">Laguerre (and Associated)
+ Polynomials</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_poly.laguerre.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.laguerre.synopsis"></a></span><a class="link" href="laguerre.html#math_toolkit.sf_poly.laguerre.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">laguerre</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
+
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_poly.laguerre.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.laguerre.description"></a></span><a class="link" href="laguerre.html#math_toolkit.sf_poly.laguerre.description">Description</a>
+ </h5>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: note than when there is a single
+ template argument the result is the same type as that argument or <code class="computeroutput"><span class="keyword">double</span></code> if the template argument is an integer
+ type.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the value of the Laguerre Polynomial of order <span class="emphasis"><em>n</em></span>
+ at point <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/laguerre_0.png"></span>
+ </p>
+<p>
+ The following graph illustrates the behaviour of the first few Laguerre Polynomials:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/laguerre.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the Associated Laguerre polynomial of degree <span class="emphasis"><em>n</em></span>
+ and order <span class="emphasis"><em>m</em></span> at point <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/laguerre_1.png"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
+</pre>
+<p>
+ Implements the three term recurrence relation for the Laguerre polynomials,
+ this function can be used to create a sequence of values evaluated at the
+ same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>n</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/laguerre_2.png"></span>
+ </p>
+<p>
+ For example we could produce a vector of the first 10 polynomial values using:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
+<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)).</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
+ <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
+</pre>
+<p>
+ Formally the arguments are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">n</span></dt>
+<dd><p>
+ The degree <span class="emphasis"><em>n</em></span> of the last polynomial calculated.
+ </p></dd>
+<dt><span class="term">x</span></dt>
+<dd><p>
+ The abscissa value
+ </p></dd>
+<dt><span class="term">Ln</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>n</em></span>.
+ </p></dd>
+<dt><span class="term">Lnm1</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>n-1</em></span>.
+ </p></dd>
+</dl>
+</div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
+</pre>
+<p>
+ Implements the three term recurrence relation for the Associated Laguerre
+ polynomials, this function can be used to create a sequence of values evaluated
+ at the same <span class="emphasis"><em>x</em></span>, and for rising degree <span class="emphasis"><em>n</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/laguerre_3.png"></span>
+ </p>
+<p>
+ For example we could produce a vector of the first 10 polynomial values using:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
+<span class="keyword">int</span> <span class="identifier">m</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="comment">// order</span>
+<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)).</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
+ <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
+</pre>
+<p>
+ Formally the arguments are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">n</span></dt>
+<dd><p>
+ The degree of the last polynomial calculated.
+ </p></dd>
+<dt><span class="term">m</span></dt>
+<dd><p>
+ The order of the Associated Polynomial.
+ </p></dd>
+<dt><span class="term">x</span></dt>
+<dd><p>
+ The abscissa value.
+ </p></dd>
+<dt><span class="term">Ln</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>n</em></span>.
+ </p></dd>
+<dt><span class="term">Lnm1</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>n-1</em></span>.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="math_toolkit.sf_poly.laguerre.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.laguerre.accuracy"></a></span><a class="link" href="laguerre.html#math_toolkit.sf_poly.laguerre.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows peak errors (in units of epsilon) for various domains
+ of input arguments. Note that only results for the widest floating point
+ type on the system are given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_poly.laguerre.peak_errors_in_the_laguerre_poly"></a><p class="title"><b>Table&#160;6.17.&#160;Peak Errors In the Laguerre Polynomial</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Laguerre Polynomial">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0 &lt; l &lt; 20
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=3000 Mean=185
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux IA32, g++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1x10<sup>4</sup> Mean=828
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1x10<sup>4</sup> Mean=828
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=680 Mean=40
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_poly.laguerre.peak_errors_in_the_associated_la"></a><p class="title"><b>Table&#160;6.18.&#160;Peak Errors In the Associated Laguerre Polynomial</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Associated Laguerre Polynomial">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0 &lt; l &lt; 20
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=433 Mean=11
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux IA32, g++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=61.4 Mean=19.5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=61.4 Mean=19.5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=540 Mean=13.94
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Note that the worst errors occur when the degree increases, values greater
+ than ~120 are very unlikely to produce sensible results, especially in the
+ associated polynomial case when the order is also large. Further the relative
+ errors are likely to grow arbitrarily large when the function is very close
+ to a root.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.laguerre.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.laguerre.testing"></a></span><a class="link" href="laguerre.html#math_toolkit.sf_poly.laguerre.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot tests of values calculated using functions.wolfram.com,
+ and randomly generated test data are used: the test data was computed using
+ <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
+ precision.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.laguerre.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.laguerre.implementation"></a></span><a class="link" href="laguerre.html#math_toolkit.sf_poly.laguerre.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions are implemented using the stable three term recurrence relations.
+ These relations guarentee low absolute error but cannot guarentee low relative
+ error near one of the roots of the polynomials.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="legendre.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hermite.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_poly/legendre.html b/libs/math/doc/html/math_toolkit/sf_poly/legendre.html
new file mode 100644
index 0000000000..6750f978a5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_poly/legendre.html
@@ -0,0 +1,708 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Legendre (and Associated) Polynomials</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_poly.html" title="Polynomials">
+<link rel="prev" href="../sf_poly.html" title="Polynomials">
+<link rel="next" href="laguerre.html" title="Laguerre (and Associated) Polynomials">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_poly.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laguerre.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_poly.legendre"></a><a class="link" href="legendre.html" title="Legendre (and Associated) Polynomials">Legendre (and Associated)
+ Polynomials</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_poly.legendre.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.legendre.synopsis"></a></span><a class="link" href="legendre.html#math_toolkit.sf_poly.legendre.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">legendre</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
+
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: note than when there is a single
+ template argument the result is the same type as that argument or <code class="computeroutput"><span class="keyword">double</span></code> if the template argument is an integer
+ type.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.legendre.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.legendre.description"></a></span><a class="link" href="legendre.html#math_toolkit.sf_poly.legendre.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the Legendre Polynomial of the first kind:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/legendre_0.png"></span>
+ </p>
+<p>
+ Requires -1 &lt;= x &lt;= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ Negative orders are handled via the reflection formula:
+ </p>
+<p>
+ P<sub>-l-1</sub>(x) = P<sub>l</sub>(x)
+ </p>
+<p>
+ The following graph illustrates the behaviour of the first few Legendre Polynomials:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/legendre_p.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the associated Legendre polynomial of the first kind:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/legendre_1.png"></span>
+ </p>
+<p>
+ Requires -1 &lt;= x &lt;= 1, otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
+ </p>
+<p>
+ Negative values of <span class="emphasis"><em>l</em></span> and <span class="emphasis"><em>m</em></span> are
+ handled via the identity relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/legendre_3.png"></span>
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The definition of the associated Legendre polynomial used here includes
+ a leading Condon-Shortley phase term of (-1)<sup>m</sup>. This matches the definition
+ given by Abramowitz and Stegun (8.6.6) and that used by <a href="http://mathworld.wolfram.com/LegendrePolynomial.html" target="_top">Mathworld</a>
+ and <a href="http://documents.wolfram.com/mathematica/functions/LegendreP" target="_top">Mathematica's
+ LegendreP function</a>. However, uses in the literature do not always
+ include this phase term, and strangely the specification for the associated
+ Legendre function in the C++ TR1 (assoc_legendre) also omits it, in spite
+ of stating that it uses Abramowitz and Stegun as the final arbiter on these
+ matters.
+ </p>
+<p>
+ See:
+ </p>
+<p>
+ <a href="http://mathworld.wolfram.com/LegendrePolynomial.html" target="_top">Weisstein,
+ Eric W. "Legendre Polynomial." From MathWorld--A Wolfram Web
+ Resource</a>.
+ </p>
+<p>
+ Abramowitz, M. and Stegun, I. A. (Eds.). "Legendre Functions"
+ and "Orthogonal Polynomials." Ch. 22 in Chs. 8 and 22 in Handbook
+ of Mathematical Functions with Formulas, Graphs, and Mathematical Tables,
+ 9th printing. New York: Dover, pp. 331-339 and 771-802, 1972.
+ </p>
+</td></tr>
+</table></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the value of the Legendre polynomial that is the second solution
+ to the Legendre differential equation, for example:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/legendre_2.png"></span>
+ </p>
+<p>
+ Requires -1 &lt;= x &lt;= 1, otherwise <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
+ is called.
+ </p>
+<p>
+ The following graph illustrates the first few Legendre functions of the second
+ kind:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/legendre_q.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
+</pre>
+<p>
+ Implements the three term recurrence relation for the Legendre polynomials,
+ this function can be used to create a sequence of values evaluated at the
+ same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>l</em></span>. This
+ recurrence relation holds for Legendre Polynomials of both the first and
+ second kinds.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/legendre_4.png"></span>
+ </p>
+<p>
+ For example we could produce a vector of the first 10 polynomial values using:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
+<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
+ <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
+<span class="comment">// Double check values:</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">]</span> <span class="special">==</span> <span class="identifier">legendre_p</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+</pre>
+<p>
+ Formally the arguments are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">l</span></dt>
+<dd><p>
+ The degree of the last polynomial calculated.
+ </p></dd>
+<dt><span class="term">x</span></dt>
+<dd><p>
+ The abscissa value
+ </p></dd>
+<dt><span class="term">Pl</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>l</em></span>.
+ </p></dd>
+<dt><span class="term">Plm1</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>l-1</em></span>.
+ </p></dd>
+</dl>
+</div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
+</pre>
+<p>
+ Implements the three term recurrence relation for the Associated Legendre
+ polynomials, this function can be used to create a sequence of values evaluated
+ at the same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>l</em></span>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/legendre_5.png"></span>
+ </p>
+<p>
+ For example we could produce a vector of the first m+10 polynomial values
+ using:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
+<span class="keyword">int</span> <span class="identifier">m</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="comment">// order</span>
+<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="identifier">m</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="number">1</span> <span class="special">+</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
+ <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_next</span><span class="special">(</span><span class="identifier">l</span> <span class="special">+</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
+<span class="comment">// Double check values:</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">]</span> <span class="special">==</span> <span class="identifier">legendre_p</span><span class="special">(</span><span class="number">10</span> <span class="special">+</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
+</pre>
+<p>
+ Formally the arguments are:
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl class="variablelist">
+<dt><span class="term">l</span></dt>
+<dd><p>
+ The degree of the last polynomial calculated.
+ </p></dd>
+<dt><span class="term">m</span></dt>
+<dd><p>
+ The order of the Associated Polynomial.
+ </p></dd>
+<dt><span class="term">x</span></dt>
+<dd><p>
+ The abscissa value
+ </p></dd>
+<dt><span class="term">Pl</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>l</em></span>.
+ </p></dd>
+<dt><span class="term">Plm1</span></dt>
+<dd><p>
+ The value of the polynomial evaluated at degree <span class="emphasis"><em>l-1</em></span>.
+ </p></dd>
+</dl>
+</div>
+<h5>
+<a name="math_toolkit.sf_poly.legendre.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.legendre.accuracy"></a></span><a class="link" href="legendre.html#math_toolkit.sf_poly.legendre.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows peak errors (in units of epsilon) for various domains
+ of input arguments. Note that only results for the widest floating point
+ type on the system are given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_poly.legendre.peak_errors_in_the_legendre_p_fu"></a><p class="title"><b>Table&#160;6.14.&#160;Peak Errors In the Legendre P Function</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Legendre P Function">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0 &lt; l &lt; 20
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 20 &lt; l &lt; 120
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=211 Mean=20
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=300 Mean=33
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux IA32, g++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=70 Mean=10
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=700 Mean=60
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=70 Mean=10
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=700 Mean=60
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=35 Mean=6
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=292 Mean=41
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_poly.legendre.peak_errors_in_the_associated_le"></a><p class="title"><b>Table&#160;6.15.&#160;Peak Errors In the Associated Legendre P Function</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Associated Legendre P Function">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0 &lt; l &lt; 20
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1200 Mean=7
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux IA32, g++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=80 Mean=5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=80 Mean=5
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=42 Mean=4
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="math_toolkit.sf_poly.legendre.peak_errors_in_the_legendre_q_fu"></a><p class="title"><b>Table&#160;6.16.&#160;Peak Errors In the Legendre Q Function</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Legendre Q Function">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0 &lt; l &lt; 20
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 20 &lt; l &lt; 120
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=50 Mean=7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4600 Mean=370
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux IA32, g++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=51 Mean=8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6000 Mean=480
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=51 Mean=8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6000 Mean=480
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=90 Mean=10
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1700 Mean=140
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Note that the worst errors occur when the order increases, values greater
+ than ~120 are very unlikely to produce sensible results, especially in the
+ associated polynomial case when the degree is also large. Further the relative
+ errors are likely to grow arbitrarily large when the function is very close
+ to a root.
+ </p>
+<p>
+ No comparisons to other libraries are shown here: there appears to be only
+ one viable implementation method for these functions, the comparisons to
+ other libraries that have been run show identical error rates to those given
+ here.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.legendre.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.legendre.testing"></a></span><a class="link" href="legendre.html#math_toolkit.sf_poly.legendre.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot tests of values calculated using functions.wolfram.com,
+ and randomly generated test data are used: the test data was computed using
+ <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
+ precision.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.legendre.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.legendre.implementation"></a></span><a class="link" href="legendre.html#math_toolkit.sf_poly.legendre.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions are implemented using the stable three term recurrence relations.
+ These relations guarentee low absolute error but cannot guarentee low relative
+ error near one of the roots of the polynomials.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sf_poly.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laguerre.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sf_poly/sph_harm.html b/libs/math/doc/html/math_toolkit/sf_poly/sph_harm.html
new file mode 100644
index 0000000000..c975b8749c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sf_poly/sph_harm.html
@@ -0,0 +1,308 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Spherical Harmonics</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sf_poly.html" title="Polynomials">
+<link rel="prev" href="hermite.html" title="Hermite Polynomials">
+<link rel="next" href="../bessel.html" title="Bessel Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hermite.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bessel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sf_poly.sph_harm"></a><a class="link" href="sph_harm.html" title="Spherical Harmonics">Spherical Harmonics</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.sf_poly.sph_harm.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.sph_harm.synopsis"></a></span><a class="link" href="sph_harm.html#math_toolkit.sf_poly.sph_harm.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">spherical_harmonic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sf_poly.sph_harm.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.sph_harm.description"></a></span><a class="link" href="sph_harm.html#math_toolkit.sf_poly.sph_harm.description">Description</a>
+ </h5>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the value of the Spherical Harmonic Y<sub>n</sub><sup>m</sup>(theta, phi):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/spherical_0.png"></span>
+ </p>
+<p>
+ The spherical harmonics Y<sub>n</sub><sup>m</sup>(theta, phi) are the angular portion of the solution
+ to Laplace's equation in spherical coordinates where azimuthal symmetry is
+ not present.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Care must be taken in correctly identifying the arguments to this function:
+ &#952; &#160; is taken as the polar (colatitudinal) coordinate with &#952; &#160; in [0, &#960;], and &#966; &#160; as
+ the azimuthal (longitudinal) coordinate with &#966; &#160; in [0,2&#960;). This is the convention
+ used in Physics, and matches the definition used by <a href="http://documents.wolfram.com/mathematica/functions/SphericalHarmonicY" target="_top">Mathematica
+ in the function SpericalHarmonicY</a>, but is opposite to the usual
+ mathematical conventions.
+ </p>
+<p>
+ Some other sources include an additional Condon-Shortley phase term of
+ (-1)<sup>m</sup> in the definition of this function: note however that our definition
+ of the associated Legendre polynomial already includes this term.
+ </p>
+<p>
+ This implementation returns zero for m &gt; n
+ </p>
+<p>
+ For &#952; &#160; outside [0, &#960;] and &#966; &#160; outside [0, 2&#960;] this implementation follows the convention
+ used by Mathematica: the function is periodic with period &#960; &#160; in &#952; &#160; and 2&#960; &#160; in &#966;.
+ Please note that this is not the behaviour one would get from a casual
+ application of the function's definition. Cautious users should keep &#952; &#160; and
+ &#966; &#160; to the range [0, &#960;] and [0, 2&#960;] respectively.
+ </p>
+<p>
+ See: <a href="http://mathworld.wolfram.com/SphericalHarmonic.html" target="_top">Weisstein,
+ Eric W. "Spherical Harmonic." From MathWorld--A Wolfram Web Resource</a>.
+ </p>
+</td></tr>
+</table></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the real part of Y<sub>n</sub><sup>m</sup>(theta, phi):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/spherical_1.png"></span>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the imaginary part of Y<sub>n</sub><sup>m</sup>(theta, phi):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/spherical_2.png"></span>
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.sph_harm.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.sph_harm.accuracy"></a></span><a class="link" href="sph_harm.html#math_toolkit.sf_poly.sph_harm.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows peak errors for various domains of input arguments.
+ Note that only results for the widest floating point type on the system are
+ given as narrower types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>. Peak errors are the same for both the real and imaginary
+ parts, as the error is dominated by calculation of the associated Legendre
+ polynomials: especially near the roots of the associated Legendre function.
+ </p>
+<p>
+ All values are in units of epsilon.
+ </p>
+<div class="table">
+<a name="math_toolkit.sf_poly.sph_harm.peak_errors_in_the_sperical_harm"></a><p class="title"><b>Table&#160;6.20.&#160;Peak Errors In the Sperical Harmonic Functions</b></p>
+<div class="table-contents"><table class="table" summary="Peak Errors In the Sperical Harmonic Functions">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Errors in range
+ </p>
+ <p>
+ 0 &lt; l &lt; 20
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2x10<sup>4</sup> Mean=700
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ SUSE Linux IA32, g++ 4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2900 Mean=100
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Red Hat Linux IA64, g++ 3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2900 Mean=100
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=6700 Mean=230
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Note that the worst errors occur when the degree increases, values greater
+ than ~120 are very unlikely to produce sensible results, especially when
+ the order is also large. Further the relative errors are likely to grow arbitrarily
+ large when the function is very close to a root.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.sph_harm.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.sph_harm.testing"></a></span><a class="link" href="sph_harm.html#math_toolkit.sf_poly.sph_harm.testing">Testing</a>
+ </h5>
+<p>
+ A mixture of spot tests of values calculated using functions.wolfram.com,
+ and randomly generated test data are used: the test data was computed using
+ <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
+ precision.
+ </p>
+<h5>
+<a name="math_toolkit.sf_poly.sph_harm.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sf_poly.sph_harm.implementation"></a></span><a class="link" href="sph_harm.html#math_toolkit.sf_poly.sph_harm.implementation">Implementation</a>
+ </h5>
+<p>
+ These functions are implemented fairly naively using the formulae given above.
+ Some extra care is taken to prevent roundoff error when converting from polar
+ coordinates (so for example the <span class="emphasis"><em>1-x<sup>2</sup></em></span> term used by the
+ associated Legendre functions is calculated without roundoff error using
+ <span class="emphasis"><em>x = cos(theta)</em></span>, and <span class="emphasis"><em>1-x<sup>2</sup> = sin<sup>2</sup>(theta)</em></span>).
+ The limiting factor in the error rates for these functions is the need to
+ calculate values near the roots of the associated Legendre functions.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hermite.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bessel.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sign_functions.html b/libs/math/doc/html/math_toolkit/sign_functions.html
new file mode 100644
index 0000000000..d8788676dd
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sign_functions.html
@@ -0,0 +1,250 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Sign Manipulation Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
+<link rel="prev" href="fpclass.html" title="Floating-Point Classification: Infinities and NaNs">
+<link rel="next" href="fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fpclass.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.sign_functions"></a><a class="link" href="sign_functions.html" title="Sign Manipulation Functions">Sign Manipulation Functions</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.sign_functions.h0"></a>
+ <span class="phrase"><a name="math_toolkit.sign_functions.synopsis"></a></span><a class="link" href="sign_functions.html#math_toolkit.sign_functions.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">signbit</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">sign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">copysign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">changesign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h5>
+<a name="math_toolkit.sign_functions.h1"></a>
+ <span class="phrase"><a name="math_toolkit.sign_functions.description"></a></span><a class="link" href="sign_functions.html#math_toolkit.sign_functions.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">signbit</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns a non-zero value if the sign bit is set in variable <span class="emphasis"><em>x</em></span>,
+ otherwise <code class="computeroutput"><span class="number">0</span></code>.
+ </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The return value from this function is zero or <span class="emphasis"><em>not-zero</em></span>
+ and <span class="bold"><strong>not</strong></span> zero or one.
+ </p></td></tr>
+</table></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">sign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ Returns <code class="computeroutput"><span class="number">1</span></code> if <span class="emphasis"><em>x</em></span>
+ <code class="computeroutput"><span class="special">&gt;</span> <span class="number">0</span></code>,
+ <code class="computeroutput"><span class="special">-</span><span class="number">1</span></code>
+ if <span class="emphasis"><em>x</em></span> <code class="computeroutput"><span class="special">&lt;</span> <span class="number">0</span></code>, and <code class="computeroutput"><span class="number">0</span></code>
+ if <span class="emphasis"><em>x</em></span> is zero.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">copysign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ Sets the sign of <span class="emphasis"><em>x</em></span> to be the same as the sign of <span class="emphasis"><em>y</em></span>.
+ </p>
+<p>
+ See <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
+ 7.12.11.1 The copysign functions</a> for more detail.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">changesign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
+</pre>
+<p>
+ Returns a floating point number with a binary representation where the signbit
+ is the opposite of the sign bit in <span class="emphasis"><em>x</em></span>, and where the other
+ bits are the same as in <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ This function is widely available, but not specified in any standards.
+ </p>
+<p>
+ Rationale: Not specified by TR1, but <code class="computeroutput"><span class="identifier">changesign</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ is both easier to read and more efficient than
+ </p>
+<pre class="programlisting"><span class="identifier">copysign</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">signbit</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">?</span> <span class="number">1.0</span> <span class="special">:</span> <span class="special">-</span><span class="number">1.0</span><span class="special">);</span>
+</pre>
+<p>
+ For finite values, this function has the same effect as simple negation, the
+ assignment z = -z, but for nonfinite values, <a href="http://en.wikipedia.org/wiki/Infinity#Computing" target="_top">infinities</a>
+ and <a href="http://en.wikipedia.org/wiki/NaN" target="_top">NaNs</a>, the <code class="computeroutput"><span class="identifier">changesign</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> function
+ may be the only portable way to ensure that the sign bit is changed.
+ </p>
+<h6>
+<a name="math_toolkit.sign_functions.h2"></a>
+ <span class="phrase"><a name="math_toolkit.sign_functions.sign_bits"></a></span><a class="link" href="sign_functions.html#math_toolkit.sign_functions.sign_bits">Sign
+ bits</a>
+ </h6>
+<p>
+ One of the bits in the binary representation of a floating-point number gives
+ the sign, and the remaining bits give the absolute value. That bit is known
+ as the sign bit. The sign bit is set = 1 for negative numbers, and is not set
+ = 0 for positive numbers. (This is true for all binary representations of floating
+ point numbers that are used by modern microprocessors.)
+ </p>
+<p>
+ <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">C++
+ TR1</a> specifies <code class="computeroutput"><span class="identifier">copysign</span></code>
+ functions and function templates for accessing the sign bit.
+ </p>
+<p>
+ For user-defined types (UDT), the sign may be stored in some other way. They
+ may also not provide infinity or NaNs. To use these functions with a UDT, it
+ may be necessary to explicitly specialize then for UDT type T.
+ </p>
+<h6>
+<a name="math_toolkit.sign_functions.h3"></a>
+ <span class="phrase"><a name="math_toolkit.sign_functions.examples"></a></span><a class="link" href="sign_functions.html#math_toolkit.sign_functions.examples">Examples</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">signbit</span><span class="special">(</span><span class="number">3.5</span><span class="special">)</span> <span class="identifier">is</span> <span class="identifier">zero</span> <span class="special">(</span><span class="keyword">or</span> <span class="keyword">false</span><span class="special">)</span>
+<span class="identifier">signbit</span><span class="special">(-</span><span class="number">7.1</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">1</span> <span class="special">(</span><span class="keyword">or</span> <span class="keyword">true</span><span class="special">)</span>
+<span class="identifier">copysign</span><span class="special">(</span><span class="number">4.2</span><span class="special">,</span> <span class="number">7.9</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">4.2</span>
+<span class="identifier">copysign</span><span class="special">(</span><span class="number">3.5</span> <span class="special">-</span><span class="number">1.4</span><span class="special">)</span> <span class="identifier">is</span> <span class="special">-</span><span class="number">3.5</span>
+<span class="identifier">copysign</span><span class="special">(-</span><span class="number">4.2</span><span class="special">,</span> <span class="number">1.0</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">4.2</span>
+<span class="identifier">copysign</span><span class="special">(-</span><span class="number">8.6</span><span class="special">,</span> <span class="special">-</span><span class="number">3.3</span><span class="special">)</span> <span class="identifier">is</span> <span class="special">-</span><span class="number">8.6</span>
+<span class="identifier">changesign</span><span class="special">(</span><span class="number">6.9</span><span class="special">)</span> <span class="identifier">is</span> <span class="special">-</span><span class="number">6.9</span>
+<span class="identifier">changesign</span><span class="special">(-</span><span class="number">1.8</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">1.8</span>
+</pre>
+<h6>
+<a name="math_toolkit.sign_functions.h4"></a>
+ <span class="phrase"><a name="math_toolkit.sign_functions.portability"></a></span><a class="link" href="sign_functions.html#math_toolkit.sign_functions.portability">Portability</a>
+ </h6>
+<p>
+ The library supports the following binary floating-point formats:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ IEEE 754 single precision
+ </li>
+<li class="listitem">
+ IEEE 754 double precision
+ </li>
+<li class="listitem">
+ IEEE 754 extended double precision with 15 exponent bits
+ </li>
+<li class="listitem">
+ Intel extended double precision
+ </li>
+<li class="listitem">
+ PowerPC extended double precision
+ </li>
+<li class="listitem">
+ Motorola 68K extended double precision
+ </li>
+</ul></div>
+<p>
+ The library does not support the VAX floating-point formats. (These are available
+ on VMS, but the default on VMS is the IEEE 754 floating-point format.)
+ </p>
+<p>
+ The main portability issues are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Unsupported floating point formats
+ </li>
+<li class="listitem">
+ The library depends on the header boost/detail/endian.hpp
+ </li>
+<li class="listitem">
+ Code such as <code class="computeroutput"><span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">__ia64</span><span class="special">)</span> <span class="special">||</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">__ia64__</span><span class="special">)</span> <span class="special">||</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">_M_IA64</span><span class="special">)</span></code> is used to determine the processor type.
+ </li>
+</ul></div>
+<p>
+ The library has passed all tests on the following platforms:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Win32 / MSVC 7.1 / 10.0 / x86
+ </li>
+<li class="listitem">
+ Win32 / Intel C++ 7.1, 8.1, 9.1 / x86
+ </li>
+<li class="listitem">
+ Mac OS X / GCC 3.3, 4.0 / ppc
+ </li>
+<li class="listitem">
+ Linux / Intel C++ 9.1 / x86, ia64
+ </li>
+<li class="listitem">
+ Linux / GCC 3.3 / x86, x64, ia64, ppc, hppa, mips, m68k
+ </li>
+<li class="listitem">
+ Linux / GCC 3.4 / x64
+ </li>
+<li class="listitem">
+ HP-UX / aCC, GCC 4.1 / ia64
+ </li>
+<li class="listitem">
+ HP-UX / aCC / hppa
+ </li>
+<li class="listitem">
+ Tru64 / Compaq C++ 7.1 / alpha
+ </li>
+<li class="listitem">
+ VMS / HP C++ 7.1 / alpha (in IEEE floating point mode)
+ </li>
+<li class="listitem">
+ VMS / HP C++ 7.2 / ia64 (in IEEE floating point mode)
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fpclass.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sinc.html b/libs/math/doc/html/math_toolkit/sinc.html
new file mode 100644
index 0000000000..7e48446c9d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sinc.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Sinus Cardinal and Hyperbolic Sinus Cardinal Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="powers/ct_pow.html" title="Compile Time Power of a Runtime Base">
+<link rel="next" href="sinc/sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="powers/ct_pow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc/sinc_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.sinc"></a><a class="link" href="sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">Sinus Cardinal and Hyperbolic Sinus
+ Cardinal Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="sinc/sinc_overview.html">Sinus Cardinal and Hyperbolic
+ Sinus Cardinal Functions Overview</a></span></dt>
+<dt><span class="section"><a href="sinc/sinc_pi.html">sinc_pi</a></span></dt>
+<dt><span class="section"><a href="sinc/sinhc_pi.html">sinhc_pi</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="powers/ct_pow.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc/sinc_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sinc/sinc_overview.html b/libs/math/doc/html/math_toolkit/sinc/sinc_overview.html
new file mode 100644
index 0000000000..1b8649aea3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sinc/sinc_overview.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
+<link rel="prev" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
+<link rel="next" href="sinc_pi.html" title="sinc_pi">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sinc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc_pi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sinc.sinc_overview"></a><a class="link" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">Sinus Cardinal and Hyperbolic
+ Sinus Cardinal Functions Overview</a>
+</h3></div></div></div>
+<p>
+ The <a href="http://mathworld.wolfram.com/SincFunction.html" target="_top">Sinus Cardinal
+ family of functions</a> (indexed by the family of indices <code class="literal">a
+ &gt; 0</code>) is defined by
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb20.png"></span>
+ </p>
+<p>
+ it sees heavy use in signal processing tasks.
+ </p>
+<p>
+ By analogy, the <a href="http://mathworld.wolfram.com/SinhcFunction.htm" target="_top">Hyperbolic
+ Sinus Cardinal</a> family of functions (also indexed by the family of
+ indices <code class="literal">a &gt; 0</code>) is defined by
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/special_functions_blurb22.png"></span>
+ </p>
+<p>
+ These two families of functions are composed of entire functions.
+ </p>
+<p>
+ These functions (<a class="link" href="sinc_pi.html" title="sinc_pi">sinc_pi</a>
+ and <a class="link" href="sinhc_pi.html" title="sinhc_pi">sinhc_pi</a>) are needed
+ by <a href="http://www.boost.org/libs/math/quaternion/quaternion.html" target="_top">our
+ implementation</a> of <a href="http://mathworld.wolfram.com/Quaternion.html" target="_top">quaternions</a>
+ and <a href="http://mathworld.wolfram.com/Octonion.html" target="_top">octonions</a>.
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em><span class="bold"><strong>Sinus Cardinal of index pi (purple) and
+ Hyperbolic Sinus Cardinal of index pi (red) on R</strong></span></em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="inlinemediaobject"><img src="../../../graphs/sinc_pi_and_sinhc_pi_on_r.png"></span>
+ </p></blockquote></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../sinc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc_pi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sinc/sinc_pi.html b/libs/math/doc/html/math_toolkit/sinc/sinc_pi.html
new file mode 100644
index 0000000000..60e74d2633
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sinc/sinc_pi.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>sinc_pi</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
+<link rel="prev" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">
+<link rel="next" href="sinhc_pi.html" title="sinhc_pi">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sinc_overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinhc_pi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sinc.sinc_pi"></a><a class="link" href="sinc_pi.html" title="sinc_pi">sinc_pi</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sinc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Computes <a class="link" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">the Sinus Cardinal</a>
+ of x:
+ </p>
+<pre class="programlisting"><span class="identifier">sinc_pi</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">sin</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">x</span>
+</pre>
+<p>
+ The second form is for complex numbers, quaternions, octonions etc. Taylor
+ series are used at the origin to ensure accuracy.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/sinc_pi.png" align="middle"></span>
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sinc_overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinhc_pi.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/sinc/sinhc_pi.html b/libs/math/doc/html/math_toolkit/sinc/sinhc_pi.html
new file mode 100644
index 0000000000..461568b313
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/sinc/sinhc_pi.html
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>sinhc_pi</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
+<link rel="prev" href="sinc_pi.html" title="sinc_pi">
+<link rel="next" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sinc_pi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.sinc.sinhc_pi"></a><a class="link" href="sinhc_pi.html" title="sinhc_pi">sinhc_pi</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sinhc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Computes http://mathworld.wolfram.com/SinhcFunction.html <a class="link" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">the
+ Hyperbolic Sinus Cardinal</a> of x:
+ </p>
+<pre class="programlisting"><span class="identifier">sinhc_pi</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">sinh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">x</span>
+</pre>
+<p>
+ The second form is for complex numbers, quaternions, octonions etc. Taylor
+ series are used at the origin to ensure accuracy.
+ </p>
+<p>
+ The return type of the first form is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T is an integer type.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/sinhc_pi.png" align="middle"></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sinc_pi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inv_hyper.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/spec.html b/libs/math/doc/html/math_toolkit/spec.html
new file mode 100644
index 0000000000..2d387d99d9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/spec.html
@@ -0,0 +1,192 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Quaternion Specializations</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat.html" title="Template Class quaternion">
+<link rel="next" href="mem_typedef.html" title="Quaternion Member Typedefs">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_typedef.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.spec"></a><a class="link" href="spec.html" title="Quaternion Specializations">Quaternion Specializations</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">float</span> <a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="keyword">float</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">float</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<a name="math_quaternion_double"></a><pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">double</span> <a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+</pre>
+<a name="math_quaternion_long_double"></a><pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">class</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
+
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+ <span class="keyword">explicit</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
+
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
+ <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="quat_mem_fun.html#math_toolkit.quat_mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}</span> <span class="comment">// namespace math</span>
+<span class="special">}</span> <span class="comment">// namespace boost</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_typedef.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/special_tut.html b/libs/math/doc/html/math_toolkit/special_tut.html
new file mode 100644
index 0000000000..c707837480
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/special_tut.html
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tutorial: How to Write a New Special Function</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../backgrounders.html" title="Chapter&#160;16.&#160;Backgrounders">
+<link rel="prev" href="sf_implementation.html" title="Additional Implementation Notes">
+<link rel="next" href="special_tut/special_tut_impl.html" title="Implementation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special_tut/special_tut_impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.special_tut"></a><a class="link" href="special_tut.html" title="Tutorial: How to Write a New Special Function">Tutorial: How to Write a New
+ Special Function</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="special_tut/special_tut_impl.html">Implementation</a></span></dt>
+<dt><span class="section"><a href="special_tut/special_tut_test.html">Testing</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sf_implementation.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special_tut/special_tut_impl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/special_tut/special_tut_impl.html b/libs/math/doc/html/math_toolkit/special_tut/special_tut_impl.html
new file mode 100644
index 0000000000..cf25ccd611
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/special_tut/special_tut_impl.html
@@ -0,0 +1,391 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Implementation</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special_tut.html" title="Tutorial: How to Write a New Special Function">
+<link rel="prev" href="../special_tut.html" title="Tutorial: How to Write a New Special Function">
+<link rel="next" href="special_tut_test.html" title="Testing">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../special_tut.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special_tut_test.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.special_tut.special_tut_impl"></a><a class="link" href="special_tut_impl.html" title="Implementation">Implementation</a>
+</h3></div></div></div>
+<p>
+ In this section we'll provide a "recipe" for adding a new special
+ function to this library to make life easier for future authors wishing to
+ contribute. We'll assume the function returns a single floating point result,
+ and takes two floating point arguments. For the sake of exposistion we'll
+ give the function the name "my_special".
+ </p>
+<p>
+ Normally the implementation of such a function is split into two layers -
+ a public user layer, and an internal implementation layer that does the actual
+ work. The implementation layer is declared inside a "detail" namespace
+ and has a simple signature:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">my_special_imp</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span><span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">/* Implementation goes here */</span>
+<span class="special">}</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ We'll come back to what can go inside the implementation later, but first
+ lets look at the user layer. This consists of two overloads of the function,
+ with and without a <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_special</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_special</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Note how each argument has a different template type - this allows for mixed
+ type arguments - the return type is computed from a traits class and is the
+ "common type" of all the arguments after any integer arguments
+ have been promoted to type <code class="computeroutput"><span class="keyword">double</span></code>.
+ </p>
+<p>
+ The implementation of the non-policy overload is trivial:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_special</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Simply forward with a default policy:</span>
+ <span class="keyword">return</span> <span class="identifier">my_special</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;();</span>
+<span class="special">}</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The implementation of the other overload is somewhat more complex, as there's
+ some meta-programming to do, but from a runtime perspective is still a one-line
+ forwarding function. Here it is with comments explaining what each line does:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">my_special</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// We've found some standard library functions to misbehave if any FPU exception flags</span>
+ <span class="comment">// are set prior to their call, this code will clear those flags, then reset them</span>
+ <span class="comment">// on exit:</span>
+ <span class="comment">//</span>
+ <span class="identifier">BOOST_FPU_EXCEPTION_GUARD</span>
+ <span class="comment">//</span>
+ <span class="comment">// The type of the result - the common type of T and U after</span>
+ <span class="comment">// any integer types have been promoted to double:</span>
+ <span class="comment">//</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="comment">//</span>
+ <span class="comment">// The type used for the calculation. This may be a wider type than</span>
+ <span class="comment">// the result in order to ensure full precision:</span>
+ <span class="comment">//</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation</span><span class="special">&lt;</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="comment">//</span>
+ <span class="comment">// The type of the policy to forward to the actual implementation.</span>
+ <span class="comment">// We disable promotion of float and double as that's [possibly]</span>
+ <span class="comment">// happened already in the line above. Also reset to the default</span>
+ <span class="comment">// any policies we don't use (reduces code bloat if we're called</span>
+ <span class="comment">// multiple times with differing policies we don't actually use).</span>
+ <span class="comment">// Also normalise the type, again to reduce code bloat in case we're</span>
+ <span class="comment">// called multiple times with functionally identical policies that happen</span>
+ <span class="comment">// to be different types.</span>
+ <span class="comment">//</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">normalise</span><span class="special">&lt;</span>
+ <span class="identifier">Policy</span><span class="special">,</span>
+ <span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span>
+ <span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span>
+ <span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">&lt;&gt;,</span>
+ <span class="identifier">policies</span><span class="special">::</span><span class="identifier">assert_undefined</span><span class="special">&lt;&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">forwarding_policy</span><span class="special">;</span>
+ <span class="comment">//</span>
+ <span class="comment">// Whew. Now we can make the actual call to the implementation.</span>
+ <span class="comment">// Arguments are explicitly cast to the evaluation type, and the result</span>
+ <span class="comment">// passed through checked_narrowing_cast which handles things like overflow</span>
+ <span class="comment">// according to the policy passed:</span>
+ <span class="comment">//</span>
+ <span class="keyword">return</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">checked_narrowing_cast</span><span class="special">&lt;</span><span class="identifier">result_type</span><span class="special">,</span> <span class="identifier">forwarding_policy</span><span class="special">&gt;(</span>
+ <span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_special_imp</span><span class="special">(</span>
+ <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;(</span><span class="identifier">a</span><span class="special">),</span>
+ <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;(</span><span class="identifier">x</span><span class="special">),</span>
+ <span class="identifier">forwarding_policy</span><span class="special">()),</span>
+ <span class="string">"boost::math::my_special&lt;%1%&gt;(%1%, %1%)"</span><span class="special">);</span>
+<span class="special">}</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ We're now almost there, we just need to flesh out the details of the implementation
+ layer:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">my_special_imp</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span><span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">/* Implementation goes here */</span>
+<span class="special">}</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The following guidelines indicate what (other than basic arithmetic) can
+ go in the implementation:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Error conditions (for example bad arguments) should be handled by calling
+ one of the <a class="link" href="../error_handling.html#math_toolkit.error_handling.finding_more_information">policy
+ based error handlers</a>.
+ </li>
+<li class="listitem">
+ Calls to standard library functions should be made unqualified (this
+ allows argument dependent lookup to find standard library functions for
+ user-defined floating point types such as those from Boost.Multiprecision).
+ In addition the macro <code class="computeroutput"><span class="identifier">BOOST_MATH_STD_USING</span></code>
+ should appear at the start of the function (note no semi-colon afterwards!)
+ so that all the math functions in <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">std</span></code> are visible in the current
+ scope.
+ </li>
+<li class="listitem">
+ Calls to other special functions should be made as fully qualified calls,
+ and include the policy parameter as the last argument, for example <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">pol</span><span class="special">)</span></code>.
+ </li>
+<li class="listitem">
+ Where possible, evaluation of series, continued fractions, polynomials,
+ or root finding should use one of the <a class="link" href="../../toolkit.html" title="Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)">boiler
+ plate functions</a>. In any case, after any iterative method, you
+ should verify that the number of iterations did not exceed the maximum
+ specified in the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> type, and if it
+ did terminate as a result of exceeding the maximum, then the appropriate
+ error handler should be called (see existing code for examples).
+ </li>
+<li class="listitem">
+ Numeric constants such as &#960; etc should be obtained via a call to the <a class="link" href="../constants.html" title="The Mathematical Constants">appropriate function</a>, for example:
+ <code class="computeroutput"><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>.
+ </li>
+<li class="listitem">
+ Where tables of coefficients are used (for example for rational approximations),
+ care should be taken to ensure these are initialized at program startup
+ to ensure thread safety when using user-defined number types. See for
+ example the use of <code class="computeroutput"><span class="identifier">erf_initializer</span></code>
+ in boost/math/special_functions/erf.hpp.
+ </li>
+</ul></div>
+<p>
+ Here are some other useful internal functions:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ function
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span>
+ <span class="identifier">Policy</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns number of binary digits in T (possible overridden by the
+ policy).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">policies</span><span class="special">::</span><span class="identifier">get_max_series_iterations</span><span class="special">&lt;</span><span class="identifier">Policy</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Maximum number of iterations for series evaluation.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">policies</span><span class="special">::</span><span class="identifier">get_max_root_iterations</span><span class="special">&lt;</span><span class="identifier">Policy</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Maximum number of iterations for root finding.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">polices</span><span class="special">::</span><span class="identifier">get_epsilon</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span>
+ <span class="identifier">Policy</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Epsilon for type T, possibly overridden by the Policy.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the number of binary digits in T.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">max_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">min_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">min</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">log_max_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to the natural logarithm of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">log_min_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to the natural logarithm of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">min</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">epsilon</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">root_epsilon</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to the square root of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">tools</span><span class="special">::</span><span class="identifier">forth_root_epsilon</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to the forth root of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">()</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../special_tut.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special_tut_test.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/special_tut/special_tut_test.html b/libs/math/doc/html/math_toolkit/special_tut/special_tut_test.html
new file mode 100644
index 0000000000..9298c6fb67
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/special_tut/special_tut_test.html
@@ -0,0 +1,525 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Testing</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special_tut.html" title="Tutorial: How to Write a New Special Function">
+<link rel="prev" href="special_tut_impl.html" title="Implementation">
+<link rel="next" href="../relative_error.html" title="Relative Error">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_tut_impl.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../relative_error.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.special_tut.special_tut_test"></a><a class="link" href="special_tut_test.html" title="Testing">Testing</a>
+</h3></div></div></div>
+<p>
+ We work under the assumption that untested code doesn't work, so some tests
+ for your new special function are in order, we'll divide these up in to 3
+ main categories:
+ </p>
+<h5>
+<a name="math_toolkit.special_tut.special_tut_test.h0"></a>
+ <span class="phrase"><a name="math_toolkit.special_tut.special_tut_test.spot_tests"></a></span><a class="link" href="special_tut_test.html#math_toolkit.special_tut.special_tut_test.spot_tests">Spot Tests</a>
+ </h5>
+<p>
+ Spot tests consist of checking that the expected exception is generated when
+ the inputs are in error (or otherwise generate undefined values), and checking
+ any special values. We can check for expected exceptions with <code class="computeroutput"><span class="identifier">BOOST_CHECK_THROW</span></code>, so for example if it's
+ a domain error for the last parameter to be outside the range <code class="computeroutput"><span class="special">[</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">]</span></code> then we
+ might have:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_CHECK_THROW</span><span class="special">(</span><span class="identifier">my_special</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="special">-</span><span class="number">0.1</span><span class="special">),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">);</span>
+<span class="identifier">BOOST_CHECK_THROW</span><span class="special">(</span><span class="identifier">my_special</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1.1</span><span class="special">),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">);</span>
+</pre>
+<p>
+ When the function has known exact values (typically integer values) we can
+ use <code class="computeroutput"><span class="identifier">BOOST_CHECK_EQUAL</span></code>:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_CHECK_EQUAL</span><span class="special">(</span><span class="identifier">my_special</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">0.0</span><span class="special">),</span> <span class="number">0</span><span class="special">);</span>
+<span class="identifier">BOOST_CHECK_EQUAL</span><span class="special">(</span><span class="identifier">my_special</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">1.0</span><span class="special">),</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ When the function has known values which are not exact (from a floating point
+ perspective) then we can use <code class="computeroutput"><span class="identifier">BOOST_CHECK_CLOSE_FRACTION</span></code>:
+ </p>
+<pre class="programlisting"><span class="comment">// Assumes 4 epsilon is as close as we can get to a true value of 2Pi:</span>
+<span class="identifier">BOOST_CHECK_CLOSE_FRACTION</span><span class="special">(</span><span class="identifier">my_special</span><span class="special">(</span><span class="number">0.5</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">2</span> <span class="special">*</span> <span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">()</span> <span class="special">*</span> <span class="number">4</span><span class="special">);</span>
+</pre>
+<h5>
+<a name="math_toolkit.special_tut.special_tut_test.h1"></a>
+ <span class="phrase"><a name="math_toolkit.special_tut.special_tut_test.independent_test_values"></a></span><a class="link" href="special_tut_test.html#math_toolkit.special_tut.special_tut_test.independent_test_values">Independent
+ Test Values</a>
+ </h5>
+<p>
+ If the function is implemented by some other known good source (for example
+ Mathematica or it's online versions <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>
+ or <a href="http://www.wolframalpha.com" target="_top">www.wolframalpha.com</a>
+ then it's a good idea to sanity check our implementation by having at least
+ one independendly generated value for each code branch our implementation
+ may take. To slot these in nicely with our testing framework it's best to
+ tabulate these like this:
+ </p>
+<pre class="programlisting"><span class="comment">// function values calculated on http://functions.wolfram.com/</span>
+<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;,</span> <span class="number">10</span><span class="special">&gt;</span> <span class="identifier">my_special_data</span> <span class="special">=</span> <span class="special">{{</span>
+ <span class="special">{{</span> <span class="identifier">SC_</span><span class="special">(</span><span class="number">0</span><span class="special">),</span> <span class="identifier">SC_</span><span class="special">(</span><span class="number">0</span><span class="special">),</span> <span class="identifier">SC_</span><span class="special">(</span><span class="number">1</span><span class="special">)</span> <span class="special">}},</span>
+ <span class="special">{{</span> <span class="identifier">SC_</span><span class="special">(</span><span class="number">0</span><span class="special">),</span> <span class="identifier">SC_</span><span class="special">(</span><span class="number">1</span><span class="special">),</span> <span class="identifier">SC_</span><span class="special">(</span><span class="number">1.26606587775200833559824462521471753760767031135496220680814</span><span class="special">)</span> <span class="special">}},</span>
+ <span class="comment">/* More values here... */</span>
+<span class="special">}};</span>
+</pre>
+<p>
+ We'll see how to use this table and the meaning of the <code class="computeroutput"><span class="identifier">SC_</span></code>
+ macro later. One important point is to make sure that the input values have
+ exact binary representations: so choose values such as 1.5, 1.25, 1.125 etc.
+ This ensures that if <code class="computeroutput"><span class="identifier">my_special</span></code>
+ is unusually sensitive in one area, that we don't get apparently large errors
+ just because the inputs are 0.5ulp in error.
+ </p>
+<h5>
+<a name="math_toolkit.special_tut.special_tut_test.h2"></a>
+ <span class="phrase"><a name="math_toolkit.special_tut.special_tut_test.random_test_values"></a></span><a class="link" href="special_tut_test.html#math_toolkit.special_tut.special_tut_test.random_test_values">Random
+ Test Values</a>
+ </h5>
+<p>
+ We can generate a large number of test values to check both for future regressions,
+ and for accumulated rounding or cancellation error in our implementation.
+ Ideally we would use an independent implementation for this (for example
+ my_special may be defined in directly terms of other special functions but
+ not implemented that way for performance or accuracy reasons). Alternatively
+ we may use our own implementation directly, but with any special cases (asymptotic
+ expansions etc) disabled. We have a set of <a class="link" href="../internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">tools</a>
+ to generate test data directly, here's a typical example:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">cpp_dec_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">included</span><span class="special">/</span><span class="identifier">prg_exec_monitor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">fstream</span><span class="special">&gt;</span>
+
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">my_special</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Implementation of my_special here...</span>
+ <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span> <span class="identifier">cpp_main</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">argc</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span><span class="identifier">argv</span> <span class="special">[])</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// We'll use so many digits of precision that any</span>
+ <span class="comment">// calculation errors will still leave us with</span>
+ <span class="comment">// 40-50 good digits. We'll only run this program</span>
+ <span class="comment">// once so it doesn't matter too much how long this takes!</span>
+ <span class="comment">//</span>
+ <span class="keyword">typedef</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float</span><span class="special">&lt;</span><span class="number">500</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">bignum</span><span class="special">;</span>
+
+ <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">bignum</span><span class="special">&gt;</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">;</span>
+ <span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">bignum</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">;</span>
+
+ <span class="keyword">bool</span> <span class="identifier">cont</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
+
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">argc</span> <span class="special">&lt;</span> <span class="number">1</span><span class="special">)</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+
+ <span class="keyword">do</span><span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// User interface which prompts for </span>
+ <span class="comment">// range of input parameters:</span>
+ <span class="comment">//</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="number">0</span> <span class="special">==</span> <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="string">"a"</span><span class="special">))</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="number">0</span> <span class="special">==</span> <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">arg2</span><span class="special">,</span> <span class="string">"b"</span><span class="special">))</span>
+ <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
+
+ <span class="comment">//</span>
+ <span class="comment">// Get a pointer to the function and call</span>
+ <span class="comment">// test_data::insert to actually generate</span>
+ <span class="comment">// the values.</span>
+ <span class="comment">//</span>
+ <span class="identifier">bignum</span> <span class="special">(*</span><span class="identifier">fp</span><span class="special">)(</span><span class="identifier">bignum</span><span class="special">,</span> <span class="identifier">bignum</span><span class="special">)</span> <span class="special">=</span> <span class="special">&amp;</span><span class="identifier">my_special</span><span class="special">;</span>
+ <span class="identifier">data</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">fp</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">);</span>
+
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Any more data [y/n]?"</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">algorithm</span><span class="special">::</span><span class="identifier">trim</span><span class="special">(</span><span class="identifier">line</span><span class="special">);</span>
+ <span class="identifier">cont</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">line</span> <span class="special">==</span> <span class="string">"y"</span><span class="special">);</span>
+ <span class="special">}</span><span class="keyword">while</span><span class="special">(</span><span class="identifier">cont</span><span class="special">);</span>
+ <span class="comment">//</span>
+ <span class="comment">// Just need to write the results to a file:</span>
+ <span class="comment">//</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Enter name of test data file [default=my_special.ipp]"</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">algorithm</span><span class="special">::</span><span class="identifier">trim</span><span class="special">(</span><span class="identifier">line</span><span class="special">);</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">line</span> <span class="special">==</span> <span class="string">""</span><span class="special">)</span>
+ <span class="identifier">line</span> <span class="special">=</span> <span class="string">"my_special.ipp"</span><span class="special">;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ofstream</span> <span class="identifier">ofs</span><span class="special">(</span><span class="identifier">line</span><span class="special">.</span><span class="identifier">c_str</span><span class="special">());</span>
+ <span class="identifier">line</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">line</span><span class="special">.</span><span class="identifier">find</span><span class="special">(</span><span class="char">'.'</span><span class="special">));</span>
+ <span class="identifier">ofs</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">50</span><span class="special">);</span>
+ <span class="identifier">write_code</span><span class="special">(</span><span class="identifier">ofs</span><span class="special">,</span> <span class="identifier">data</span><span class="special">,</span> <span class="identifier">line</span><span class="special">.</span><span class="identifier">c_str</span><span class="special">());</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Typically several sets of data will be generated this way, including random
+ values in some "normal" range, extreme values (very large or very
+ small), and values close to any "interesting" behaviour of the
+ function (singularities etc).
+ </p>
+<h5>
+<a name="math_toolkit.special_tut.special_tut_test.h3"></a>
+ <span class="phrase"><a name="math_toolkit.special_tut.special_tut_test.the_test_file_header"></a></span><a class="link" href="special_tut_test.html#math_toolkit.special_tut.special_tut_test.the_test_file_header">The
+ Test File Header</a>
+ </h5>
+<p>
+ We split the actual test file into 2 distinct parts: a header that contains
+ the testing code as a series of function templates, and the actual .cpp test
+ driver that decides which types are tested, and sets the "expected"
+ error rates for those types. It's done this way because:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ We want to test with both built in floating point types, and with multiprecision
+ types. However, both compile and runtimes with the latter can be too
+ long for the folks who run the tests to realistically cope with, so it
+ makes sense to split the test into (at least) 2 parts.
+ </li>
+<li class="listitem">
+ The definition of the SC_ macro used in our tables of data may differ
+ depending on what type we're testing (see below). Again this is largely
+ a matter of managing compile times as large tables of user-defined-types
+ can take a crazy amount of time to compile with some compilers.
+ </li>
+</ul></div>
+<p>
+ The test header contains 2 functions:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">do_test</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">type_name</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">test_name</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">test</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">type_name</span><span class="special">);</span>
+</pre>
+<p>
+ Before implementing those, we'll include the headers we'll need, and provide
+ a default definition for the SC_ macro:
+ </p>
+<pre class="programlisting"><span class="comment">// A couple of Boost.Test headers in case we need any BOOST_CHECK_* macros:</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">unit_test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">floating_point_comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">// Our function to test:</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">my_special</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="comment">// We need boost::array for our test data, plus a few headers from</span>
+<span class="comment">// libs/math/test that contain our testing machinary:</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="string">"functor.hpp"</span>
+<span class="preprocessor">#include</span> <span class="string">"handle_test_result.hpp"</span>
+<span class="preprocessor">#include</span> <span class="string">"table_type.hpp"</span>
+
+<span class="preprocessor">#ifndef</span> <span class="identifier">SC_</span>
+<span class="preprocessor">#define</span> <span class="identifier">SC_</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">table_type</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;(</span><span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">L</span><span class="special">))</span>
+<span class="preprocessor">#endif</span>
+</pre>
+<p>
+ The easiest function to implement is the "test" function which
+ is what we'll be calling from the test-driver program. It simply includes
+ the files containing the tabular test data and calls <code class="computeroutput"><span class="identifier">do_test</span></code>
+ function for each table, along with a description of what's being tested:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">test</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">type_name</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// The actual test data is rather verbose, so it's in a separate file</span>
+ <span class="comment">//</span>
+ <span class="comment">// The contents are as follows, each row of data contains</span>
+ <span class="comment">// three items, input value a, input value b and my_special(a, b):</span>
+ <span class="comment">//</span>
+<span class="preprocessor"># include</span> <span class="string">"my_special_1.ipp"</span>
+
+ <span class="identifier">do_test</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">my_special_1</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="string">"MySpecial Function: Mathematica Values"</span><span class="special">);</span>
+
+<span class="preprocessor"># include</span> <span class="string">"my_special_2.ipp"</span>
+
+ <span class="identifier">do_test</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">my_special_2</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="string">"MySpecial Function: Random Values"</span><span class="special">);</span>
+
+<span class="preprocessor"># include</span> <span class="string">"my_special_3.ipp"</span>
+
+ <span class="identifier">do_test</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">my_special_3</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="string">"MySpecial Function: Very Small Values"</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The function <code class="computeroutput"><span class="identifier">do_test</span></code> takes
+ each table of data and calculates values for each row of data, along with
+ statistics for max and mean error etc, most of this is handled by some boilerplate
+ code:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">do_test</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">data</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">type_name</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">test_name</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Get the type of each row and each element in the rows:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">row_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Real</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="comment">// Get a pointer to our function, we have to use a workaround here</span>
+ <span class="comment">// as some compilers require the template types to be explicitly</span>
+ <span class="comment">// specified, while others don't much like it if it is!</span>
+ <span class="keyword">typedef</span> <span class="identifier">value_type</span> <span class="special">(*</span><span class="identifier">pg</span><span class="special">)(</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">);</span>
+<span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span><span class="special">)</span>
+ <span class="identifier">pg</span> <span class="identifier">funcp</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">my_special</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;;</span>
+<span class="preprocessor">#else</span>
+ <span class="identifier">pg</span> <span class="identifier">funcp</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">my_special</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+
+ <span class="comment">// Somewhere to hold our results:</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">&gt;</span> <span class="identifier">result</span><span class="special">;</span>
+ <span class="comment">// And some pretty printing:</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Testing "</span> <span class="special">&lt;&lt;</span> <span class="identifier">test_name</span> <span class="special">&lt;&lt;</span> <span class="string">" with type "</span> <span class="special">&lt;&lt;</span> <span class="identifier">type_name</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"</span><span class="special">;</span>
+
+ <span class="comment">//</span>
+ <span class="comment">// Test my_special against data:</span>
+ <span class="comment">//</span>
+ <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">test_hetero</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;(</span>
+ <span class="comment">/* First argument is the table */</span>
+ <span class="identifier">data</span><span class="special">,</span>
+ <span class="comment">/* Next comes our function pointer, plus the indexes of it's arguments in the table */</span>
+ <span class="identifier">bind_func</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;(</span><span class="identifier">funcp</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">),</span>
+ <span class="comment">/* Then the index of the result in the table - potentially we can test several
+ related functions this way, each having the same input arguments, and different
+ output values in different indexes in the table */</span>
+ <span class="identifier">extract_result</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">));</span>
+ <span class="comment">//</span>
+ <span class="comment">// Finish off with some boilerplate to check the results were within the expected errors,</span>
+ <span class="comment">// and pretty print the results:</span>
+ <span class="comment">//</span>
+ <span class="identifier">handle_test_result</span><span class="special">(</span><span class="identifier">result</span><span class="special">,</span> <span class="identifier">data</span><span class="special">[</span><span class="identifier">result</span><span class="special">.</span><span class="identifier">worst</span><span class="special">()],</span> <span class="identifier">result</span><span class="special">.</span><span class="identifier">worst</span><span class="special">(),</span> <span class="identifier">type_name</span><span class="special">,</span> <span class="string">"boost::math::my_special"</span><span class="special">,</span> <span class="identifier">test_name</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Now we just need to write the test driver program, at it's most basic it
+ looks something like this:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">math_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">stats</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="string">"functor.hpp"</span>
+
+<span class="preprocessor">#include</span> <span class="string">"handle_test_result.hpp"</span>
+<span class="preprocessor">#include</span> <span class="string">"test_my_special.hpp"</span>
+
+<span class="identifier">BOOST_AUTO_TEST_CASE</span><span class="special">(</span> <span class="identifier">test_main</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// Test each floating point type, plus real_concept.</span>
+ <span class="comment">// We specify the name of each type by hand as typeid(T).name()</span>
+ <span class="comment">// often gives an unreadable mangled name.</span>
+ <span class="comment">//</span>
+ <span class="identifier">test</span><span class="special">(</span><span class="number">0.1F</span><span class="special">,</span> <span class="string">"float"</span><span class="special">);</span>
+ <span class="identifier">test</span><span class="special">(</span><span class="number">0.1</span><span class="special">,</span> <span class="string">"double"</span><span class="special">);</span>
+ <span class="comment">//</span>
+ <span class="comment">// Testing of long double and real_concept is protected</span>
+ <span class="comment">// by some logic to disable these for unsupported </span>
+ <span class="comment">// or problem compilers.</span>
+ <span class="comment">//</span>
+<span class="preprocessor">#ifndef</span> <span class="identifier">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span>
+ <span class="identifier">test</span><span class="special">(</span><span class="number">0.1L</span><span class="special">,</span> <span class="string">"long double"</span><span class="special">);</span>
+<span class="preprocessor">#ifndef</span> <span class="identifier">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span>
+<span class="preprocessor">#if</span> <span class="special">!</span><span class="identifier">BOOST_WORKAROUND</span><span class="special">(</span><span class="identifier">__BORLANDC__</span><span class="special">,</span> <span class="identifier">BOOST_TESTED_AT</span><span class="special">(</span><span class="number">0x582</span><span class="special">))</span>
+ <span class="identifier">test</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">concepts</span><span class="special">::</span><span class="identifier">real_concept</span><span class="special">(</span><span class="number">0.1</span><span class="special">),</span> <span class="string">"real_concept"</span><span class="special">);</span>
+<span class="preprocessor">#endif</span>
+<span class="preprocessor">#endif</span>
+<span class="preprocessor">#else</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"&lt;note&gt;The long double tests have been disabled on this platform "</span>
+ <span class="string">"either because the long double overloads of the usual math functions are "</span>
+ <span class="string">"not available at all, or because they are too inaccurate for these tests "</span>
+ <span class="string">"to pass.&lt;/note&gt;"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+<span class="special">}</span>
+</pre>
+<p>
+ That's almost all there is too it - except that if the above program is run
+ it's very likely that all the tests will fail as the default maximum allowable
+ error is 1 epsilon. So we'll define a function (don't forget to call it from
+ the start of the <code class="computeroutput"><span class="identifier">test_main</span></code>
+ above) to up the limits to something sensible, based both on the function
+ we're calling and on the particular tests plus the platform and compiler:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">expected_results</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// Define the max and mean errors expected for</span>
+ <span class="comment">// various compilers and platforms.</span>
+ <span class="comment">//</span>
+ <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">largest_type</span><span class="special">;</span>
+<span class="preprocessor">#ifndef</span> <span class="identifier">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span>
+ <span class="keyword">if</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;()</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;())</span>
+ <span class="special">{</span>
+ <span class="identifier">largest_type</span> <span class="special">=</span> <span class="string">"(long\\s+)?double|real_concept"</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="special">{</span>
+ <span class="identifier">largest_type</span> <span class="special">=</span> <span class="string">"long double|real_concept"</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="preprocessor">#else</span>
+ <span class="identifier">largest_type</span> <span class="special">=</span> <span class="string">"(long\\s+)?double"</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+ <span class="comment">//</span>
+ <span class="comment">// We call add_expected_result for each error rate we wish to adjust, these tell</span>
+ <span class="comment">// handle_test_result what level of error is acceptable. We can have as many calls </span>
+ <span class="comment">// to add_expected_result as we need, each one establishes a rule for acceptable error</span>
+ <span class="comment">// with rules set first given preference.</span>
+ <span class="comment">//</span>
+ <span class="identifier">add_expected_result</span><span class="special">(</span>
+ <span class="comment">/* First argument is a regular expression to match against the name of the compiler
+ set in BOOST_COMPILER */</span>
+ <span class="string">".*"</span><span class="special">,</span>
+ <span class="comment">/* Second argument is a regular expression to match against the name of the
+ C++ standard library as set in BOOST_STDLIB */</span>
+ <span class="string">".*"</span><span class="special">,</span>
+ <span class="comment">/* Third argument is a regular expression to match against the name of the
+ platform as set in BOOST_PLATFORM */</span>
+ <span class="string">".*"</span><span class="special">,</span>
+ <span class="comment">/* Forth argument is the name of the type being tested, normally we will
+ only need to up the acceptable error rate for the widest floating
+ point type being tested */</span>
+ <span class="identifier">largest_real</span><span class="special">,</span>
+ <span class="comment">/* Fifth argument is a regular expression to match against
+ the name of the group of data being tested */</span>
+ <span class="string">"MySpecial Function:.*Small.*"</span><span class="special">,</span>
+ <span class="comment">/* Sixth argument is a regular expression to match against the name
+ of the function being tested */</span>
+ <span class="string">"boost::math::my_special"</span><span class="special">,</span>
+ <span class="comment">/* Seventh argument is the maximum allowable error expressed in units
+ of machine epsilon passed as a long integer value */</span>
+ <span class="number">50</span><span class="special">,</span>
+ <span class="comment">/* Eighth argument is the maximum allowable mean error expressed in units
+ of machine epsilon passed as a long integer value */</span>
+ <span class="number">20</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="math_toolkit.special_tut.special_tut_test.h4"></a>
+ <span class="phrase"><a name="math_toolkit.special_tut.special_tut_test.testing_multiprecision_types"></a></span><a class="link" href="special_tut_test.html#math_toolkit.special_tut.special_tut_test.testing_multiprecision_types">Testing
+ Multiprecision Types</a>
+ </h5>
+<p>
+ Testing of multiprecision types is handled by the test drivers in libs/multiprecision/test/math,
+ please refer to these for examples. Note that these tests are run only occationally
+ as they take a lot of CPU cycles to build and run.
+ </p>
+<h5>
+<a name="math_toolkit.special_tut.special_tut_test.h5"></a>
+ <span class="phrase"><a name="math_toolkit.special_tut.special_tut_test.improving_compile_times"></a></span><a class="link" href="special_tut_test.html#math_toolkit.special_tut.special_tut_test.improving_compile_times">Improving
+ Compile Times</a>
+ </h5>
+<p>
+ As noted above, these test programs can take a while to build as we're instantiating
+ a lot of templates for several different types, and our test runners are
+ already stretched to the limit, and probably using outdated "spare"
+ hardware. There are two things we can do to speed things up:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Use a precompiled header.
+ </li>
+<li class="listitem">
+ Use separate compilation of our special function templates.
+ </li>
+</ul></div>
+<p>
+ We can make these changes by changing the list of includes from:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">math_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">stats</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="string">"functor.hpp"</span>
+
+<span class="preprocessor">#include</span> <span class="string">"handle_test_result.hpp"</span>
+</pre>
+<p>
+ To just:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">pch_light</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ And changing
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">my_special</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ To:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">math_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The Jamfile target that builds the test program will need the targets
+ </p>
+<pre class="programlisting"><span class="identifier">test_instances</span><span class="comment">//test_instances pch_light</span>
+</pre>
+<p>
+ adding to it's list of source dependencies (see the Jamfile for examples).
+ </p>
+<p>
+ Finally the project in libs/math/test/test_instances will need modifying
+ to instantiate function <code class="computeroutput"><span class="identifier">my_special</span></code>.
+ </p>
+<p>
+ These changes should be made last, when <code class="computeroutput"><span class="identifier">my_special</span></code>
+ is stable and the code is in Trunk.
+ </p>
+<h5>
+<a name="math_toolkit.special_tut.special_tut_test.h6"></a>
+ <span class="phrase"><a name="math_toolkit.special_tut.special_tut_test.concept_checks"></a></span><a class="link" href="special_tut_test.html#math_toolkit.special_tut.special_tut_test.concept_checks">Concept
+ Checks</a>
+ </h5>
+<p>
+ Our concept checks verify that your function's implementation makes no assumptions
+ that aren't required by our <a class="link" href="../concepts.html" title="Conceptual Requirements for Real Number Types">Real number
+ conceptual requirements</a>. They also check for various common bugs and
+ programming traps that we've fallen into over time. To add your function
+ to these tests, edit libs/math/test/compile_test/instantiate.hpp to add calls
+ to your function: there are 7 calls to each function, each with a different
+ purpose. Search for something like "ibeta" or "gamm_p"
+ and follow their examples.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="special_tut_impl.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../relative_error.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut.html b/libs/math/doc/html/math_toolkit/stat_tut.html
new file mode 100644
index 0000000000..41c66bae18
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut.html
@@ -0,0 +1,155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Statistical Distributions Tutorial</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../dist.html" title="Chapter&#160;5.&#160;Statistical Distributions and Functions">
+<link rel="prev" href="../dist.html" title="Chapter&#160;5.&#160;Statistical Distributions and Functions">
+<link rel="next" href="stat_tut/overview.html" title="Overview of Distributions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../dist.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stat_tut/overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.stat_tut"></a><a class="link" href="stat_tut.html" title="Statistical Distributions Tutorial">Statistical Distributions Tutorial</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="stat_tut/overview.html">Overview of Distributions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stat_tut/overview/headers.html">Headers and
+ Namespaces</a></span></dt>
+<dt><span class="section"><a href="stat_tut/overview/objects.html">Distributions
+ are Objects</a></span></dt>
+<dt><span class="section"><a href="stat_tut/overview/generic.html">Generic operations
+ common to all distributions are non-member functions</a></span></dt>
+<dt><span class="section"><a href="stat_tut/overview/complements.html">Complements
+ are supported too - and when to use them</a></span></dt>
+<dt><span class="section"><a href="stat_tut/overview/parameters.html">Parameters
+ can be calculated</a></span></dt>
+<dt><span class="section"><a href="stat_tut/overview/summary.html">Summary</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stat_tut/weg.html">Worked Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stat_tut/weg/dist_construct_eg.html">Distribution
+ Construction Examples</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/st_eg.html">Student's t Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_intervals.html">Calculating
+ confidence intervals on the mean with the Students-t distribution</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_test.html">Testing
+ a sample mean for difference from a "true" mean</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_size.html">Estimating
+ how large a sample size would have to become in order to give a significant
+ Students-t test result with a single sample test</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/st_eg/two_sample_students_t.html">Comparing
+ the means of two samples with the Students-t test</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/st_eg/paired_st.html">Comparing
+ two paired samples with the Student's t distribution</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stat_tut/weg/cs_eg.html">Chi Squared Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_intervals.html">Confidence
+ Intervals on the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_test.html">Chi-Square
+ Test for the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_size.html">Estimating
+ the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stat_tut/weg/f_eg.html">F Distribution Examples</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/binom_eg.html">Binomial Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stat_tut/weg/binom_eg/binomial_coinflip_example.html">Binomial
+ Coin-Flipping Example</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/binom_eg/binomial_quiz_example.html">Binomial
+ Quiz Example</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/binom_eg/binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/binom_eg/binom_size_eg.html">Estimating
+ Sample Sizes for a Binomial Distribution.</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stat_tut/weg/geometric_eg.html">Geometric Distribution
+ Examples</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg.html">Negative Binomial
+ Distribution Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/neg_binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for the Negative Binomial
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html">Estimating
+ Sample Sizes for the Negative Binomial.</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/negative_binomial_example1.html">Negative
+ Binomial Sales Quota Example.</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/negative_binomial_example2.html">Negative
+ Binomial Table Printing Example.</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stat_tut/weg/normal_example.html">Normal Distribution
+ Examples</a></span></dt>
+<dd><dl><dt><span class="section"><a href="stat_tut/weg/normal_example/normal_misc.html">Some
+ Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></dd>
+<dt><span class="section"><a href="stat_tut/weg/inverse_chi_squared_eg.html">Inverse
+ Chi-Squared Distribution Bayes Example</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/nccs_eg.html">Non Central Chi
+ Squared Example</a></span></dt>
+<dd><dl><dt><span class="section"><a href="stat_tut/weg/nccs_eg/nccs_power_eg.html">Tables
+ of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></dd>
+<dt><span class="section"><a href="stat_tut/weg/error_eg.html">Error Handling
+ Example</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/find_eg.html">Find Location and
+ Scale Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="stat_tut/weg/find_eg/find_location_eg.html">Find
+ Location (Mean) Example</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/find_eg/find_scale_eg.html">Find
+ Scale (Standard Deviation) Example</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/find_eg/find_mean_and_sd_eg.html">Find
+ mean and standard deviation example</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stat_tut/weg/nag_library.html">Comparison with
+ C, R, FORTRAN-style Free Functions</a></span></dt>
+<dt><span class="section"><a href="stat_tut/weg/c_sharp.html">Using the Distributions
+ from Within C#</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="stat_tut/variates.html">Random Variates and Distribution
+ Parameters</a></span></dt>
+<dt><span class="section"><a href="stat_tut/dist_params.html">Discrete Probability
+ Distributions</a></span></dt>
+</dl></div>
+<p>
+ This library is centred around statistical distributions, this tutorial will
+ give you an overview of what they are, how they can be used, and provides a
+ few worked examples of applying the library to statistical tests.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../dist.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stat_tut/overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/dist_params.html b/libs/math/doc/html/math_toolkit/stat_tut/dist_params.html
new file mode 100644
index 0000000000..c9690c8279
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/dist_params.html
@@ -0,0 +1,100 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Discrete Probability Distributions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
+<link rel="prev" href="variates.html" title="Random Variates and Distribution Parameters">
+<link rel="next" href="../dist_ref.html" title="Statistical Distributions Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variates.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.stat_tut.dist_params"></a><a class="link" href="dist_params.html" title="Discrete Probability Distributions">Discrete Probability
+ Distributions</a>
+</h3></div></div></div>
+<p>
+ Note that the <a href="http://en.wikipedia.org/wiki/Discrete_probability_distribution" target="_top">discrete
+ distributions</a>, including the binomial, negative binomial, Poisson
+ &amp; Bernoulli, are all mathematically defined as discrete functions: only
+ integral values of the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a> are envisaged and the functions are only defined at these
+ integral values. However because the method of calculation often uses continuous
+ functions, it is convenient to treat them as if they were continuous functions,
+ and permit non-integral values of their parameters.
+ </p>
+<p>
+ To enforce a strict mathematical model, users may use floor or ceil functions
+ on the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random variate</a>,
+ prior to calling the distribution function, to enforce integral values.
+ </p>
+<p>
+ For similar reasons, in continuous distributions, parameters like degrees
+ of freedom that might appear to be integral, are treated as real values (and
+ are promoted from integer to floating-point if necessary). In this case however,
+ that there are a small number of situations where non-integral degrees of
+ freedom do have a genuine meaning.
+ </p>
+<p>
+ Generally speaking there is no loss of performance from allowing real-values
+ parameters: the underlying special functions contain optimizations for integer-valued
+ arguments when applicable.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The quantile function of a discrete distribution will by default return
+ an integer result that has been <span class="emphasis"><em>rounded outwards</em></span>.
+ That is to say lower quantiles (where the probability is less than 0.5)
+ are rounded downward, and upper quantiles (where the probability is greater
+ than 0.5) are rounded upwards. This behaviour ensures that if an X% quantile
+ is requested, then <span class="emphasis"><em>at least</em></span> the requested coverage
+ will be present in the central region, and <span class="emphasis"><em>no more than</em></span>
+ the requested coverage will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently, or even return a real-valued result using <a class="link" href="../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile function
+ on a discrete distribution. The <a class="link" href="../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="variates.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_ref.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/overview.html b/libs/math/doc/html/math_toolkit/stat_tut/overview.html
new file mode 100644
index 0000000000..79b8f0b2fc
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/overview.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Overview of Distributions</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
+<link rel="prev" href="../stat_tut.html" title="Statistical Distributions Tutorial">
+<link rel="next" href="overview/headers.html" title="Headers and Namespaces">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../stat_tut.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/headers.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.stat_tut.overview"></a><a class="link" href="overview.html" title="Overview of Distributions">Overview of Distributions</a>
+</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="overview/headers.html">Headers and
+ Namespaces</a></span></dt>
+<dt><span class="section"><a href="overview/objects.html">Distributions
+ are Objects</a></span></dt>
+<dt><span class="section"><a href="overview/generic.html">Generic operations
+ common to all distributions are non-member functions</a></span></dt>
+<dt><span class="section"><a href="overview/complements.html">Complements
+ are supported too - and when to use them</a></span></dt>
+<dt><span class="section"><a href="overview/parameters.html">Parameters
+ can be calculated</a></span></dt>
+<dt><span class="section"><a href="overview/summary.html">Summary</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../stat_tut.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/headers.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/overview/complements.html b/libs/math/doc/html/math_toolkit/stat_tut/overview/complements.html
new file mode 100644
index 0000000000..a36b04642e
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/overview/complements.html
@@ -0,0 +1,200 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Complements are supported too - and when to use them</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Overview of Distributions">
+<link rel="prev" href="generic.html" title="Generic operations common to all distributions are non-member functions">
+<link rel="next" href="parameters.html" title="Parameters can be calculated">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generic.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="parameters.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.overview.complements"></a><a class="link" href="complements.html" title="Complements are supported too - and when to use them">Complements
+ are supported too - and when to use them</a>
+</h4></div></div></div>
+<p>
+ Often you don't want the value of the CDF, but its complement, which is
+ to say <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">p</span></code> rather than <code class="computeroutput"><span class="identifier">p</span></code>.
+ It is tempting to calculate the CDF and subtract it from <code class="computeroutput"><span class="number">1</span></code>, but if <code class="computeroutput"><span class="identifier">p</span></code>
+ is very close to <code class="computeroutput"><span class="number">1</span></code> then cancellation
+ error will cause you to lose accuracy, perhaps totally.
+ </p>
+<p>
+ <a class="link" href="complements.html#why_complements">See below <span class="emphasis"><em>"Why and when
+ to use complements?"</em></span></a>
+ </p>
+<p>
+ In this library, whenever you want to receive a complement, just wrap all
+ the function arguments in a call to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>, for example:
+ </p>
+<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"CDF at t = 1 is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">1.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Complement of CDF at t = 1 is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">1.0</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ But wait, now that we have a complement, we have to be able to use it as
+ well. Any function that accepts a probability as an argument can also accept
+ a complement by wrapping all of its arguments in a call to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>,
+ for example:
+ </p>
+<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">1e10</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">*=</span> <span class="number">10</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Calculate the quantile for a 1 in i chance:</span>
+ <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">1</span><span class="special">/</span><span class="identifier">i</span><span class="special">));</span>
+ <span class="comment">// Print it out:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of students-t with 5 degrees of freedom\n"</span>
+ <span class="string">"for a 1 in "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="string">" chance is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>Critical values are just quantiles</strong></span>
+ </p>
+<p>
+ Some texts talk about quantiles, or percentiles or fractiles, others
+ about critical values, the basic rule is:
+ </p>
+<p>
+ <span class="emphasis"><em>Lower critical values</em></span> are the same as the quantile.
+ </p>
+<p>
+ <span class="emphasis"><em>Upper critical values</em></span> are the same as the quantile
+ from the complement of the probability.
+ </p>
+<p>
+ For example, suppose we have a Bernoulli process, giving rise to a binomial
+ distribution with success ratio 0.1 and 100 trials in total. The <span class="emphasis"><em>lower
+ critical value</em></span> for a probability of 0.05 is given by:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">100</span><span class="special">,</span> <span class="number">0.1</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span></code>
+ </p>
+<p>
+ and the <span class="emphasis"><em>upper critical value</em></span> is given by:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">100</span><span class="special">,</span> <span class="number">0.1</span><span class="special">),</span> <span class="number">0.05</span><span class="special">))</span></code>
+ </p>
+<p>
+ which return 4.82 and 14.63 respectively.
+ </p>
+</td></tr>
+</table></div>
+<a name="why_complements"></a><div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>Why bother with complements anyway?</strong></span>
+ </p>
+<p>
+ It's very tempting to dispense with complements, and simply subtract
+ the probability from 1 when required. However, consider what happens
+ when the probability is very close to 1: let's say the probability expressed
+ at float precision is <code class="computeroutput"><span class="number">0.999999940f</span></code>,
+ then <code class="computeroutput"><span class="number">1</span> <span class="special">-</span>
+ <span class="number">0.999999940f</span> <span class="special">=</span>
+ <span class="number">5.96046448e-008</span></code>, but the result
+ is actually accurate to just <span class="emphasis"><em>one single bit</em></span>: the
+ only bit that didn't cancel out!
+ </p>
+<p>
+ Or to look at this another way: consider that we want the risk of falsely
+ rejecting the null-hypothesis in the Student's t test to be 1 in 1 billion,
+ for a sample size of 10,000. This gives a probability of 1 - 10<sup>-9</sup>, which
+ is exactly 1 when calculated at float precision. In this case calculating
+ the quantile from the complement neatly solves the problem, so for example:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">students_t</span><span class="special">(</span><span class="number">10000</span><span class="special">),</span> <span class="number">1e-9</span><span class="special">))</span></code>
+ </p>
+<p>
+ returns the expected t-statistic <code class="computeroutput"><span class="number">6.00336</span></code>,
+ where as:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">students_t</span><span class="special">(</span><span class="number">10000</span><span class="special">),</span> <span class="number">1</span><span class="special">-</span><span class="number">1e-9f</span><span class="special">)</span></code>
+ </p>
+<p>
+ raises an overflow error, since it is the same as:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">students_t</span><span class="special">(</span><span class="number">10000</span><span class="special">),</span> <span class="number">1</span><span class="special">)</span></code>
+ </p>
+<p>
+ Which has no finite result.
+ </p>
+<p>
+ With all distributions, even for more reasonable probability (unless
+ the value of p can be represented exactly in the floating-point type)
+ the loss of accuracy quickly becomes significant if you simply calculate
+ probability from 1 - p (because it will be mostly garbage digits for
+ p ~ 1).
+ </p>
+<p>
+ So always avoid, for example, using a probability near to unity like
+ 0.99999
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_distribution</span><span class="special">,</span>
+ <span class="number">0.99999</span><span class="special">)</span></code>
+ </p>
+<p>
+ and instead use
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">my_distribution</span><span class="special">,</span>
+ <span class="number">0.00001</span><span class="special">))</span></code>
+ </p>
+<p>
+ since 1 - 0.99999 is not exactly equal to 0.00001 when using floating-point
+ arithmetic.
+ </p>
+<p>
+ This assumes that the 0.00001 value is either a constant, or can be computed
+ by some manner other than subtracting 0.99999 from 1.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generic.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="parameters.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/overview/generic.html b/libs/math/doc/html/math_toolkit/stat_tut/overview/generic.html
new file mode 100644
index 0000000000..857a1643f6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/overview/generic.html
@@ -0,0 +1,254 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Generic operations common to all distributions are non-member functions</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Overview of Distributions">
+<link rel="prev" href="objects.html" title="Distributions are Objects">
+<link rel="next" href="complements.html" title="Complements are supported too - and when to use them">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="objects.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complements.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.overview.generic"></a><a class="link" href="generic.html" title="Generic operations common to all distributions are non-member functions">Generic operations
+ common to all distributions are non-member functions</a>
+</h4></div></div></div>
+<p>
+ Want to calculate the PDF (Probability Density Function) of a distribution?
+ No problem, just use:
+ </p>
+<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span> <span class="comment">// Returns PDF (density) at point x of distribution my_dist.</span>
+</pre>
+<p>
+ Or how about the CDF (Cumulative Distribution Function):
+ </p>
+<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span> <span class="comment">// Returns CDF (integral from -infinity to point x)</span>
+ <span class="comment">// of distribution my_dist.</span>
+</pre>
+<p>
+ And quantiles are just the same:
+ </p>
+<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// Returns the value of the random variable x</span>
+ <span class="comment">// such that cdf(my_dist, x) == p.</span>
+</pre>
+<p>
+ If you're wondering why these aren't member functions, it's to make the
+ library more easily extensible: if you want to add additional generic operations
+ - let's say the <span class="emphasis"><em>n'th moment</em></span> - then all you have to
+ do is add the appropriate non-member functions, overloaded for each implemented
+ distribution type.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>Random numbers that approximate Quantiles of Distributions</strong></span>
+ </p>
+<p>
+ If you want random numbers that are distributed in a specific way, for
+ example in a uniform, normal or triangular, see <a href="http://www.boost.org/libs/random/" target="_top">Boost.Random</a>.
+ </p>
+<p>
+ Whilst in principal there's nothing to prevent you from using the quantile
+ function to convert a uniformly distributed random number to another
+ distribution, in practice there are much more efficient algorithms available
+ that are specific to random number generation.
+ </p>
+</td></tr>
+</table></div>
+<p>
+ For example, the binomial distribution has two parameters: n (the number
+ of trials) and p (the probability of success on any one trial).
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
+ constructor therefore has two parameters:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">RealType</span>
+ <span class="identifier">p</span><span class="special">);</span></code>
+ </p>
+<p>
+ For this distribution the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a> is k: the number of successes observed. The probability
+ density/mass function (pdf) is therefore written as <span class="emphasis"><em>f(k; n, p)</em></span>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>Random Variates and Distribution Parameters</strong></span>
+ </p>
+<p>
+ The concept of a <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random
+ variable</a> is closely linked to the term <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a>: a random variate is a particular value (outcome) of
+ a random variable. and <a href="http://en.wikipedia.org/wiki/Parameter" target="_top">distribution
+ parameters</a> are conventionally distinguished (for example in Wikipedia
+ and Wolfram MathWorld) by placing a semi-colon or vertical bar) <span class="emphasis"><em>after</em></span>
+ the <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random
+ variable</a> (whose value you 'choose'), to separate the variate
+ from the parameter(s) that defines the shape of the distribution.<br>
+ For example, the binomial distribution probability distribution function
+ (PDF) is written as <span class="emphasis"><em>f(k| n, p)</em></span> = Pr(K = k|n, p)
+ = probability of observing k successes out of n trials. K is the <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random variable</a>,
+ k is the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a>, the parameters are n (trials) and p (probability).
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ By convention, <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a> are lower case, usually k is integral, x if real, and
+ <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random variable</a>
+ are upper case, K if integral, X if real. But this implementation treats
+ all as floating point values <code class="computeroutput"><span class="identifier">RealType</span></code>,
+ so if you really want an integral result, you must round: see note on
+ Discrete Probability Distributions below for details.
+ </p></td></tr>
+</table></div>
+<p>
+ As noted above the non-member function <code class="computeroutput"><span class="identifier">pdf</span></code>
+ has one parameter for the distribution object, and a second for the random
+ variate. So taking our binomial distribution example, we would write:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">);</span></code>
+ </p>
+<p>
+ The ranges of <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a> values that are permitted and are supported can be tested
+ by using two functions <code class="computeroutput"><span class="identifier">range</span></code>
+ and <code class="computeroutput"><span class="identifier">support</span></code>.
+ </p>
+<p>
+ The distribution (effectively the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a>) is said to be 'supported' over a range that is <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">"the smallest
+ closed set whose complement has probability zero"</a>. MathWorld
+ uses the word 'defined' for this range. Non-mathematicians might say it
+ means the 'interesting' smallest range of random variate x that has the
+ cdf going from zero to unity. Outside are uninteresting zones where the
+ pdf is zero, and the cdf zero or unity.
+ </p>
+<p>
+ For most distributions, with probability distribution functions one might
+ describe as 'well-behaved', we have decided that it is most useful for
+ the supported range to <span class="bold"><strong>exclude</strong></span> random
+ variate values like exact zero <span class="bold"><strong>if the end point is
+ discontinuous</strong></span>. For example, the Weibull (scale 1, shape 1) distribution
+ smoothly heads for unity as the random variate x declines towards zero.
+ But at x = zero, the value of the pdf is suddenly exactly zero, by definition.
+ If you are plotting the PDF, or otherwise calculating, zero is not the
+ most useful value for the lower limit of supported, as we discovered. So
+ for this, and similar distributions, we have decided it is most numerically
+ useful to use the closest value to zero, min_value, for the limit of the
+ supported range. (The <code class="computeroutput"><span class="identifier">range</span></code>
+ remains from zero, so you will still get <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">weibull</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">==</span> <span class="number">0</span></code>).
+ (Exponential and gamma distributions have similarly discontinuous functions).
+ </p>
+<p>
+ Mathematically, the functions may make sense with an (+ or -) infinite
+ value, but except for a few special cases (in the Normal and Cauchy distributions)
+ this implementation limits random variates to finite values from the <code class="computeroutput"><span class="identifier">max</span></code> to <code class="computeroutput"><span class="identifier">min</span></code>
+ for the <code class="computeroutput"><span class="identifier">RealType</span></code>. (See
+ <a class="link" href="../../sf_implementation.html#math_toolkit.sf_implementation.handling_of_floating_point_infin">Handling
+ of Floating-Point Infinity</a> for rationale).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>Discrete Probability Distributions</strong></span>
+ </p>
+<p>
+ Note that the <a href="http://en.wikipedia.org/wiki/Discrete_probability_distribution" target="_top">discrete
+ distributions</a>, including the binomial, negative binomial, Poisson
+ &amp; Bernoulli, are all mathematically defined as discrete functions:
+ that is to say the functions <code class="computeroutput"><span class="identifier">cdf</span></code>
+ and <code class="computeroutput"><span class="identifier">pdf</span></code> are only defined
+ for integral values of the random variate.
+ </p>
+<p>
+ However, because the method of calculation often uses continuous functions
+ it is convenient to treat them as if they were continuous functions,
+ and permit non-integral values of their parameters.
+ </p>
+<p>
+ Users wanting to enforce a strict mathematical model may use <code class="computeroutput"><span class="identifier">floor</span></code> or <code class="computeroutput"><span class="identifier">ceil</span></code>
+ functions on the random variate prior to calling the distribution function.
+ </p>
+<p>
+ The quantile functions for these distributions are hard to specify in
+ a manner that will satisfy everyone all of the time. The default behaviour
+ is to return an integer result, that has been rounded <span class="emphasis"><em>outwards</em></span>:
+ that is to say, lower quantiles - where the probablity is less than 0.5
+ are rounded down, while upper quantiles - where the probability is greater
+ than 0.5 - are rounded up. This behaviour ensures that if an X% quantile
+ is requested, then <span class="emphasis"><em>at least</em></span> the requested coverage
+ will be present in the central region, and <span class="emphasis"><em>no more than</em></span>
+ the requested coverage will be present in the tails.
+ </p>
+<p>
+ This behaviour can be changed so that the quantile functions are rounded
+ differently, or return a real-valued result using <a class="link" href="../../pol_overview.html" title="Policy Overview">Policies</a>.
+ It is strongly recommended that you read the tutorial <a class="link" href="../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
+ Quantiles of Discrete Distributions</a> before using the quantile
+ function on a discrete distribtion. The <a class="link" href="../../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
+ docs</a> describe how to change the rounding policy for these distributions.
+ </p>
+<p>
+ For similar reasons continuous distributions with parameters like "degrees
+ of freedom" that might appear to be integral, are treated as real
+ values (and are promoted from integer to floating-point if necessary).
+ In this case however, there are a small number of situations where non-integral
+ degrees of freedom do have a genuine meaning.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="objects.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complements.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/overview/headers.html b/libs/math/doc/html/math_toolkit/stat_tut/overview/headers.html
new file mode 100644
index 0000000000..5e6fc156e3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/overview/headers.html
@@ -0,0 +1,78 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Headers and Namespaces</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Overview of Distributions">
+<link rel="prev" href="../overview.html" title="Overview of Distributions">
+<link rel="next" href="objects.html" title="Distributions are Objects">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="objects.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.overview.headers"></a><a class="link" href="headers.html" title="Headers and Namespaces">Headers and
+ Namespaces</a>
+</h4></div></div></div>
+<p>
+ All the code in this library is inside namespace boost::math.
+ </p>
+<p>
+ In order to use a distribution <span class="emphasis"><em>my_distribution</em></span> you
+ will need to include either the header &lt;boost/math/my_distribution.hpp&gt;
+ or the "include all the distributions" header: &lt;boost/math/distributions.hpp&gt;.
+ </p>
+<p>
+ For example, to use the Students-t distribution include either &lt;boost/math/students_t.hpp&gt;
+ or &lt;boost/math/distributions.hpp&gt;
+ </p>
+<p>
+ You also need to bring distribution names into scope, perhaps with a <code class="computeroutput"><span class="keyword">using</span> <span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span></code>
+ declaration,
+ </p>
+<p>
+ or specific <code class="computeroutput"><span class="keyword">using</span></code> declarations
+ like <code class="computeroutput"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span></code> (<span class="bold"><strong>recommended</strong></span>).
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Some math function names are also used in namespace std so including
+ &lt;random&gt; could cause ambiguity!
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="objects.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/overview/objects.html b/libs/math/doc/html/math_toolkit/stat_tut/overview/objects.html
new file mode 100644
index 0000000000..da38569d77
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/overview/objects.html
@@ -0,0 +1,134 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Distributions are Objects</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Overview of Distributions">
+<link rel="prev" href="headers.html" title="Headers and Namespaces">
+<link rel="next" href="generic.html" title="Generic operations common to all distributions are non-member functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="headers.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.overview.objects"></a><a class="link" href="objects.html" title="Distributions are Objects">Distributions
+ are Objects</a>
+</h4></div></div></div>
+<p>
+ Each kind of distribution in this library is a class type - an object.
+ </p>
+<p>
+ <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a> provide fine-grained control of
+ the behaviour of these classes, allowing the user to customise behaviour
+ such as how errors are handled, or how the quantiles of discrete distribtions
+ behave.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ If you are familiar with statistics libraries using functions, and 'Distributions
+ as Objects' seem alien, see <a class="link" href="../weg/nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">the
+ comparison to other statistics libraries.</a>
+ </p></td></tr>
+</table></div>
+<p>
+ Making distributions class types does two things:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ It encapsulates the kind of distribution in the C++ type system; so,
+ for example, Students-t distributions are always a different C++ type
+ from Chi-Squared distributions.
+ </li>
+<li class="listitem">
+ The distribution objects store any parameters associated with the distribution:
+ for example, the Students-t distribution has a <span class="emphasis"><em>degrees of
+ freedom</em></span> parameter that controls the shape of the distribution.
+ This <span class="emphasis"><em>degrees of freedom</em></span> parameter has to be provided
+ to the Students-t object when it is constructed.
+ </li>
+</ul></div>
+<p>
+ Although the distribution classes in this library are templates, there
+ are typedefs on type <span class="emphasis"><em>double</em></span> that mostly take the usual
+ name of the distribution (except where there is a clash with a function
+ of the same name: beta and gamma, in which case using the default template
+ arguments - <code class="computeroutput"><span class="identifier">RealType</span> <span class="special">=</span>
+ <span class="keyword">double</span></code> - is nearly as convenient).
+ Probably 95% of uses are covered by these typedefs:
+ </p>
+<pre class="programlisting"><span class="comment">// using namespace boost::math; // Avoid potential ambiguity with names in std &lt;random&gt;</span>
+<span class="comment">// Safer to declare specific functions with using statement(s):</span>
+
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">beta_distribution</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t</span><span class="special">;</span>
+
+<span class="comment">// Construct a students_t distribution with 4 degrees of freedom:</span>
+<span class="identifier">students_t</span> <span class="identifier">d1</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
+
+<span class="comment">// Construct a double-precision beta distribution</span>
+<span class="comment">// with parameters a = 10, b = 20</span>
+<span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">d2</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">20</span><span class="special">);</span> <span class="comment">// Note: _distribution&lt;&gt; suffix !</span>
+</pre>
+<p>
+ If you need to use the distributions with a type other than <code class="computeroutput"><span class="keyword">double</span></code>, then you can instantiate the template
+ directly: the names of the templates are the same as the <code class="computeroutput"><span class="keyword">double</span></code> typedef but with <code class="computeroutput"><span class="identifier">_distribution</span></code>
+ appended, for example: <a class="link" href="../../dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> or <a class="link" href="../../dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a>:
+ </p>
+<pre class="programlisting"><span class="comment">// Construct a students_t distribution, of float type,</span>
+<span class="comment">// with 4 degrees of freedom:</span>
+<span class="identifier">students_t_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">d3</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
+
+<span class="comment">// Construct a binomial distribution, of long double type,</span>
+<span class="comment">// with probability of success 0.3</span>
+<span class="comment">// and 20 trials in total:</span>
+<span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">d4</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">);</span>
+</pre>
+<p>
+ The parameters passed to the distributions can be accessed via getter member
+ functions:
+ </p>
+<pre class="programlisting"><span class="identifier">d1</span><span class="special">.</span><span class="identifier">degrees_of_freedom</span><span class="special">();</span> <span class="comment">// returns 4.0</span>
+</pre>
+<p>
+ This is all well and good, but not very useful so far. What we often want
+ is to be able to calculate the <span class="emphasis"><em>cumulative distribution functions</em></span>
+ and <span class="emphasis"><em>quantiles</em></span> etc for these distributions.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="headers.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/overview/parameters.html b/libs/math/doc/html/math_toolkit/stat_tut/overview/parameters.html
new file mode 100644
index 0000000000..261a6b6221
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/overview/parameters.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Parameters can be calculated</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Overview of Distributions">
+<link rel="prev" href="complements.html" title="Complements are supported too - and when to use them">
+<link rel="next" href="summary.html" title="Summary">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="complements.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.overview.parameters"></a><a class="link" href="parameters.html" title="Parameters can be calculated">Parameters
+ can be calculated</a>
+</h4></div></div></div>
+<p>
+ Sometimes it's the parameters that define the distribution that you need
+ to find. Suppose, for example, you have conducted a Students-t test for
+ equal means and the result is borderline. Maybe your two samples differ
+ from each other, or maybe they don't; based on the result of the test you
+ can't be sure. A legitimate question to ask then is "How many more
+ measurements would I have to take before I would get an X% probability
+ that the difference is real?" Parameter finders can answer questions
+ like this, and are necessarily different for each distribution. They are
+ implemented as static member functions of the distributions, for example:
+ </p>
+<pre class="programlisting"><span class="identifier">students_t</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="number">1.3</span><span class="special">,</span> <span class="comment">// difference from true mean to detect</span>
+ <span class="number">0.05</span><span class="special">,</span> <span class="comment">// maximum risk of falsely rejecting the null-hypothesis.</span>
+ <span class="number">0.1</span><span class="special">,</span> <span class="comment">// maximum risk of falsely failing to reject the null-hypothesis.</span>
+ <span class="number">0.13</span><span class="special">);</span> <span class="comment">// sample standard deviation</span>
+</pre>
+<p>
+ Returns the number of degrees of freedom required to obtain a 95% probability
+ that the observed differences in means is not down to chance alone. In
+ the case that a borderline Students-t test result was previously obtained,
+ this can be used to estimate how large the sample size would have to become
+ before the observed difference was considered significant. It assumes,
+ of course, that the sample mean and standard deviation are invariant with
+ sample size.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="complements.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/overview/summary.html b/libs/math/doc/html/math_toolkit/stat_tut/overview/summary.html
new file mode 100644
index 0000000000..db8618f397
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/overview/summary.html
@@ -0,0 +1,75 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Summary</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Overview of Distributions">
+<link rel="prev" href="parameters.html" title="Parameters can be calculated">
+<link rel="next" href="../weg.html" title="Worked Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parameters.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../weg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.overview.summary"></a><a class="link" href="summary.html" title="Summary">Summary</a>
+</h4></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Distributions are objects, which are constructed from whatever parameters
+ the distribution may have.
+ </li>
+<li class="listitem">
+ Member functions allow you to retrieve the parameters of a distribution.
+ </li>
+<li class="listitem">
+ Generic non-member functions provide access to the properties that
+ are common to all the distributions (PDF, CDF, quantile etc).
+ </li>
+<li class="listitem">
+ Complements of probabilities are calculated by wrapping the function's
+ arguments in a call to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>.
+ </li>
+<li class="listitem">
+ Functions that accept a probability can accept a complement of the
+ probability as well, by wrapping the function's arguments in a call
+ to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>.
+ </li>
+<li class="listitem">
+ Static member functions allow the parameters of a distribution to be
+ found from other information.
+ </li>
+</ul></div>
+<p>
+ Now that you have the basics, the next section looks at some worked examples.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="parameters.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../weg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/variates.html b/libs/math/doc/html/math_toolkit/stat_tut/variates.html
new file mode 100644
index 0000000000..6881d0d3e3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/variates.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Random Variates and Distribution Parameters</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
+<link rel="prev" href="weg/c_sharp.html" title="Using the Distributions from Within C#">
+<link rel="next" href="dist_params.html" title="Discrete Probability Distributions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="weg/c_sharp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_params.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.stat_tut.variates"></a><a class="link" href="variates.html" title="Random Variates and Distribution Parameters">Random Variates and Distribution
+ Parameters</a>
+</h3></div></div></div>
+<p>
+ <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">Random variates</a>
+ and <a href="http://en.wikipedia.org/wiki/Parameter" target="_top">distribution parameters</a>
+ are conventionally distinguished (for example in Wikipedia and Wolfram MathWorld
+ by placing a semi-colon after the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a> (whose value you 'choose'), to separate the variate from
+ the parameter(s) that defines the shape of the distribution.
+ </p>
+<p>
+ For example, the binomial distribution has two parameters: n (the number
+ of trials) and p (the probability of success on one trial). It also has the
+ <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random variate</a>
+ <span class="emphasis"><em>k</em></span>: the number of successes observed. This means the
+ probability density/mass function (pdf) is written as <span class="emphasis"><em>f(k; n, p)</em></span>.
+ </p>
+<p>
+ Translating this into code the <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
+ constructor therefore has two parameters:
+ </p>
+<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ While the function <code class="computeroutput"><span class="identifier">pdf</span></code> has
+ one argument specifying the distribution type (which includes its parameters,
+ if any), and a second argument for the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
+ variate</a>. So taking our binomial distribution example, we would write:
+ </p>
+<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="weg/c_sharp.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_params.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg.html
new file mode 100644
index 0000000000..44e349d9f5
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg.html
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Worked Examples</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
+<link rel="prev" href="overview/summary.html" title="Summary">
+<link rel="next" href="weg/dist_construct_eg.html" title="Distribution Construction Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/summary.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weg/dist_construct_eg.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.stat_tut.weg"></a><a class="link" href="weg.html" title="Worked Examples">Worked Examples</a>
+</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="weg/dist_construct_eg.html">Distribution
+ Construction Examples</a></span></dt>
+<dt><span class="section"><a href="weg/st_eg.html">Student's t Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="weg/st_eg/tut_mean_intervals.html">Calculating
+ confidence intervals on the mean with the Students-t distribution</a></span></dt>
+<dt><span class="section"><a href="weg/st_eg/tut_mean_test.html">Testing
+ a sample mean for difference from a "true" mean</a></span></dt>
+<dt><span class="section"><a href="weg/st_eg/tut_mean_size.html">Estimating
+ how large a sample size would have to become in order to give a significant
+ Students-t test result with a single sample test</a></span></dt>
+<dt><span class="section"><a href="weg/st_eg/two_sample_students_t.html">Comparing
+ the means of two samples with the Students-t test</a></span></dt>
+<dt><span class="section"><a href="weg/st_eg/paired_st.html">Comparing
+ two paired samples with the Student's t distribution</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="weg/cs_eg.html">Chi Squared Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="weg/cs_eg/chi_sq_intervals.html">Confidence
+ Intervals on the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="weg/cs_eg/chi_sq_test.html">Chi-Square
+ Test for the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="weg/cs_eg/chi_sq_size.html">Estimating
+ the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="weg/f_eg.html">F Distribution Examples</a></span></dt>
+<dt><span class="section"><a href="weg/binom_eg.html">Binomial Distribution
+ Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="weg/binom_eg/binomial_coinflip_example.html">Binomial
+ Coin-Flipping Example</a></span></dt>
+<dt><span class="section"><a href="weg/binom_eg/binomial_quiz_example.html">Binomial
+ Quiz Example</a></span></dt>
+<dt><span class="section"><a href="weg/binom_eg/binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
+<dt><span class="section"><a href="weg/binom_eg/binom_size_eg.html">Estimating
+ Sample Sizes for a Binomial Distribution.</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="weg/geometric_eg.html">Geometric Distribution
+ Examples</a></span></dt>
+<dt><span class="section"><a href="weg/neg_binom_eg.html">Negative Binomial
+ Distribution Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="weg/neg_binom_eg/neg_binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for the Negative Binomial
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="weg/neg_binom_eg/neg_binom_size_eg.html">Estimating
+ Sample Sizes for the Negative Binomial.</a></span></dt>
+<dt><span class="section"><a href="weg/neg_binom_eg/negative_binomial_example1.html">Negative
+ Binomial Sales Quota Example.</a></span></dt>
+<dt><span class="section"><a href="weg/neg_binom_eg/negative_binomial_example2.html">Negative
+ Binomial Table Printing Example.</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="weg/normal_example.html">Normal Distribution
+ Examples</a></span></dt>
+<dd><dl><dt><span class="section"><a href="weg/normal_example/normal_misc.html">Some
+ Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></dd>
+<dt><span class="section"><a href="weg/inverse_chi_squared_eg.html">Inverse
+ Chi-Squared Distribution Bayes Example</a></span></dt>
+<dt><span class="section"><a href="weg/nccs_eg.html">Non Central Chi
+ Squared Example</a></span></dt>
+<dd><dl><dt><span class="section"><a href="weg/nccs_eg/nccs_power_eg.html">Tables
+ of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></dd>
+<dt><span class="section"><a href="weg/error_eg.html">Error Handling
+ Example</a></span></dt>
+<dt><span class="section"><a href="weg/find_eg.html">Find Location and
+ Scale Examples</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="weg/find_eg/find_location_eg.html">Find
+ Location (Mean) Example</a></span></dt>
+<dt><span class="section"><a href="weg/find_eg/find_scale_eg.html">Find
+ Scale (Standard Deviation) Example</a></span></dt>
+<dt><span class="section"><a href="weg/find_eg/find_mean_and_sd_eg.html">Find
+ mean and standard deviation example</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="weg/nag_library.html">Comparison with
+ C, R, FORTRAN-style Free Functions</a></span></dt>
+<dt><span class="section"><a href="weg/c_sharp.html">Using the Distributions
+ from Within C#</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overview/summary.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weg/dist_construct_eg.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg.html
new file mode 100644
index 0000000000..d37299a9a1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg.html
@@ -0,0 +1,61 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binomial Distribution Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="f_eg.html" title="F Distribution Examples">
+<link rel="next" href="binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="f_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg/binomial_coinflip_example.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.binom_eg"></a><a class="link" href="binom_eg.html" title="Binomial Distribution Examples">Binomial Distribution
+ Examples</a>
+</h4></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="binom_eg/binomial_coinflip_example.html">Binomial
+ Coin-Flipping Example</a></span></dt>
+<dt><span class="section"><a href="binom_eg/binomial_quiz_example.html">Binomial
+ Quiz Example</a></span></dt>
+<dt><span class="section"><a href="binom_eg/binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
+<dt><span class="section"><a href="binom_eg/binom_size_eg.html">Estimating
+ Sample Sizes for a Binomial Distribution.</a></span></dt>
+</dl></div>
+<p>
+ See also the reference documentation for the <a class="link" href="../../dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="f_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg/binomial_coinflip_example.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html
new file mode 100644
index 0000000000..624ffa1236
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_conf.html
@@ -0,0 +1,241 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
+<link rel="prev" href="binomial_quiz_example.html" title="Binomial Quiz Example">
+<link rel="next" href="binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binomial_quiz_example.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_size_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.binom_eg.binom_conf"></a><a class="link" href="binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">Calculating
+ Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a>
+</h5></div></div></div>
+<p>
+ Imagine you have a process that follows a binomial distribution: for
+ each trial conducted, an event either occurs or does it does not, referred
+ to as "successes" and "failures". If, by experiment,
+ you want to measure the frequency with which successes occur, the best
+ estimate is given simply by <span class="emphasis"><em>k</em></span> / <span class="emphasis"><em>N</em></span>,
+ for <span class="emphasis"><em>k</em></span> successes out of <span class="emphasis"><em>N</em></span> trials.
+ However our confidence in that estimate will be shaped by how many trials
+ were conducted, and how many successes were observed. The static member
+ functions <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span></code>
+ and <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span></code>
+ allow you to calculate the confidence intervals for your estimate of
+ the occurrence frequency.
+ </p>
+<p>
+ The sample program <a href="../../../../../../example/binomial_confidence_limits.cpp" target="_top">binomial_confidence_limits.cpp</a>
+ illustrates their use. It begins by defining a procedure that will print
+ a table of confidence limits for various degrees of certainty:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">void</span> <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">trials</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">successes</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// trials = Total number of trials.</span>
+ <span class="comment">// successes = Total number of observed successes.</span>
+ <span class="comment">//</span>
+ <span class="comment">// Calculate confidence limits for an observed</span>
+ <span class="comment">// frequency of occurrence that follows a binomial</span>
+ <span class="comment">// distribution.</span>
+ <span class="comment">//</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+
+ <span class="comment">// Print out general info:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"___________________________________________\n"</span>
+ <span class="string">"2-Sided Confidence Limits For Success Ratio\n"</span>
+ <span class="string">"___________________________________________\n\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of successes"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample frequency of occurrence"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="keyword">double</span><span class="special">(</span><span class="identifier">successes</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ The procedure now defines a table of significance levels: these are the
+ probabilities that the true occurrence frequency lies outside the calculated
+ interval:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ Some pretty printing of the table header follows:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
+ <span class="string">"_______________________________________________________________________\n"</span>
+ <span class="string">"Confidence Lower CP Upper CP Lower JP Upper JP\n"</span>
+ <span class="string">" Value (%) Limit Limit Limit Limit\n"</span>
+ <span class="string">"_______________________________________________________________________\n"</span><span class="special">;</span>
+</pre>
+<p>
+ And now for the important part - the intervals themselves - for each
+ value of <span class="emphasis"><em>alpha</em></span>, we call <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
+ and <code class="computeroutput"><span class="identifier">find_lower_upper_on_p</span></code>
+ to obtain lower and upper bounds respectively. Note that since we are
+ calculating a two-sided interval, we must divide the value of alpha in
+ two.
+ </p>
+<p>
+ Please note that calculating two separate <span class="emphasis"><em>single sided bounds</em></span>,
+ each with risk level &#945; &#160;is not the same thing as calculating a two sided
+ interval. Had we calculate two single-sided intervals each with a risk
+ that the true value is outside the interval of &#945;, then:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ The risk that it is less than the lower bound is &#945;.
+ </li></ul></div>
+<p>
+ and
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ The risk that it is greater than the upper bound is also &#945;.
+ </li></ul></div>
+<p>
+ So the risk it is outside <span class="bold"><strong>upper or lower bound</strong></span>,
+ is <span class="bold"><strong>twice</strong></span> alpha, and the probability
+ that it is inside the bounds is therefore not nearly as high as one might
+ have thought. This is why &#945;/2 must be used in the calculations below.
+ </p>
+<p>
+ In contrast, had we been calculating a single-sided interval, for example:
+ <span class="emphasis"><em>"Calculate a lower bound so that we are P% sure that the
+ true occurrence frequency is greater than some value"</em></span>
+ then we would <span class="bold"><strong>not</strong></span> have divided by two.
+ </p>
+<p>
+ Finally note that <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
+ provides a choice of two methods for the calculation, we print out the
+ results from both methods in this example:
+ </p>
+<pre class="programlisting"> <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Confidence value:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="comment">// Calculate Clopper Pearson bounds:</span>
+ <span class="keyword">double</span> <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
+ <span class="keyword">double</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
+ <span class="comment">// Print Clopper Pearson Limits:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">u</span><span class="special">;</span>
+ <span class="comment">// Calculate Jeffreys Prior Bounds:</span>
+ <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">,</span>
+ <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">jeffreys_prior_interval</span><span class="special">);</span>
+ <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
+ <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">,</span>
+ <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">jeffreys_prior_interval</span><span class="special">);</span>
+ <span class="comment">// Print Jeffreys Prior Limits:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">u</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ And that's all there is to it. Let's see some sample output for a 2 in
+ 10 success ratio, first for 20 trials:
+ </p>
+<pre class="programlisting">___________________________________________
+2-Sided Confidence Limits For Success Ratio
+___________________________________________
+
+Number of Observations = 20
+Number of successes = 4
+Sample frequency of occurrence = 0.2
+
+
+_______________________________________________________________________
+Confidence Lower CP Upper CP Lower JP Upper JP
+ Value (%) Limit Limit Limit Limit
+_______________________________________________________________________
+ 50.000 0.12840 0.29588 0.14974 0.26916
+ 75.000 0.09775 0.34633 0.11653 0.31861
+ 90.000 0.07135 0.40103 0.08734 0.37274
+ 95.000 0.05733 0.43661 0.07152 0.40823
+ 99.000 0.03576 0.50661 0.04655 0.47859
+ 99.900 0.01905 0.58632 0.02634 0.55960
+ 99.990 0.01042 0.64997 0.01530 0.62495
+ 99.999 0.00577 0.70216 0.00901 0.67897
+</pre>
+<p>
+ As you can see, even at the 95% confidence level the bounds are really
+ quite wide (this example is chosen to be easily compared to the one in
+ the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a> <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc241.htm" target="_top">here</a>).
+ Note also that the Clopper-Pearson calculation method (CP above) produces
+ quite noticeably more pessimistic estimates than the Jeffreys Prior method
+ (JP above).
+ </p>
+<p>
+ Compare that with the program output for 2000 trials:
+ </p>
+<pre class="programlisting">___________________________________________
+2-Sided Confidence Limits For Success Ratio
+___________________________________________
+
+Number of Observations = 2000
+Number of successes = 400
+Sample frequency of occurrence = 0.2000000
+
+
+_______________________________________________________________________
+Confidence Lower CP Upper CP Lower JP Upper JP
+ Value (%) Limit Limit Limit Limit
+_______________________________________________________________________
+ 50.000 0.19382 0.20638 0.19406 0.20613
+ 75.000 0.18965 0.21072 0.18990 0.21047
+ 90.000 0.18537 0.21528 0.18561 0.21503
+ 95.000 0.18267 0.21821 0.18291 0.21796
+ 99.000 0.17745 0.22400 0.17769 0.22374
+ 99.900 0.17150 0.23079 0.17173 0.23053
+ 99.990 0.16658 0.23657 0.16681 0.23631
+ 99.999 0.16233 0.24169 0.16256 0.24143
+</pre>
+<p>
+ Now even when the confidence level is very high, the limits are really
+ quite close to the experimentally calculated value of 0.2. Furthermore
+ the difference between the two calculation methods is now really quite
+ small.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binomial_quiz_example.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_size_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html
new file mode 100644
index 0000000000..7023bafdc9
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binom_size_eg.html
@@ -0,0 +1,160 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Estimating Sample Sizes for a Binomial Distribution.</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
+<link rel="prev" href="binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">
+<link rel="next" href="../geometric_eg.html" title="Geometric Distribution Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binom_conf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../geometric_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.binom_eg.binom_size_eg"></a><a class="link" href="binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">Estimating
+ Sample Sizes for a Binomial Distribution.</a>
+</h5></div></div></div>
+<p>
+ Imagine you have a critical component that you know will fail in 1 in
+ N "uses" (for some suitable definition of "use").
+ You may want to schedule routine replacement of the component so that
+ its chance of failure between routine replacements is less than P%. If
+ the failures follow a binomial distribution (each time the component
+ is "used" it either fails or does not) then the static member
+ function <code class="computeroutput"><span class="identifier">binomial_distibution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_maximum_number_of_trials</span></code>
+ can be used to estimate the maximum number of "uses" of that
+ component for some acceptable risk level <span class="emphasis"><em>alpha</em></span>.
+ </p>
+<p>
+ The example program <a href="../../../../../../example/binomial_sample_sizes.cpp" target="_top">binomial_sample_sizes.cpp</a>
+ demonstrates its usage. It centres on a routine that prints out a table
+ of maximum sample sizes for various probability thresholds:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">find_max_sample_size</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success ratio.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">successes</span><span class="special">)</span> <span class="comment">// Total number of observed successes permitted.</span>
+<span class="special">{</span>
+</pre>
+<p>
+ The routine then declares a table of probability thresholds: these are
+ the maximum acceptable probability that <span class="emphasis"><em>successes</em></span>
+ or fewer events will be observed. In our example, <span class="emphasis"><em>successes</em></span>
+ will be always zero, since we want no component failures, but in other
+ situations non-zero values may well make sense.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ Much of the rest of the program is pretty-printing, the important part
+ is in the calculation of maximum number of permitted trials for each
+ value of alpha:
+ </p>
+<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Confidence value:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="comment">// calculate trials:</span>
+ <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">binomial</span><span class="special">::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
+ <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">floor</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// Print Trials:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Note that since we're calculating the maximum number of trials permitted,
+ we'll err on the safe side and take the floor of the result. Had we been
+ calculating the <span class="emphasis"><em>minimum</em></span> number of trials required
+ to observe a certain number of <span class="emphasis"><em>successes</em></span> using
+ <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
+ we would have taken the ceiling instead.
+ </p>
+<p>
+ We'll finish off by looking at some sample output, firstly for a 1 in
+ 1000 chance of component failure with each use:
+ </p>
+<pre class="programlisting">________________________
+Maximum Number of Trials
+________________________
+
+Success ratio = 0.001
+Maximum Number of "successes" permitted = 0
+
+
+____________________________
+Confidence Max Number
+ Value (%) Of Trials
+____________________________
+ 50.000 692
+ 75.000 287
+ 90.000 105
+ 95.000 51
+ 99.000 10
+ 99.900 0
+ 99.990 0
+ 99.999 0
+</pre>
+<p>
+ So 51 "uses" of the component would yield a 95% chance that
+ no component failures would be observed.
+ </p>
+<p>
+ Compare that with a 1 in 1 million chance of component failure:
+ </p>
+<pre class="programlisting">________________________
+Maximum Number of Trials
+________________________
+
+Success ratio = 0.0000010
+Maximum Number of "successes" permitted = 0
+
+
+____________________________
+Confidence Max Number
+ Value (%) Of Trials
+____________________________
+ 50.000 693146
+ 75.000 287681
+ 90.000 105360
+ 95.000 51293
+ 99.000 10050
+ 99.900 1000
+ 99.990 100
+ 99.999 10
+</pre>
+<p>
+ In this case, even 1000 uses of the component would still yield a less
+ than 1 in 1000 chance of observing a component failure (i.e. a 99.9%
+ chance of no failure).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binom_conf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../geometric_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html
new file mode 100644
index 0000000000..d938e07be7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_coinflip_example.html
@@ -0,0 +1,274 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binomial Coin-Flipping Example</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
+<link rel="prev" href="../binom_eg.html" title="Binomial Distribution Examples">
+<link rel="next" href="binomial_quiz_example.html" title="Binomial Quiz Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_quiz_example.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.binom_eg.binomial_coinflip_example"></a><a class="link" href="binomial_coinflip_example.html" title="Binomial Coin-Flipping Example">Binomial
+ Coin-Flipping Example</a>
+</h5></div></div></div>
+<p>
+ An example of a <a href="http://en.wikipedia.org/wiki/Bernoulli_process" target="_top">Bernoulli
+ process</a> is coin flipping. A variable in such a sequence may be
+ called a Bernoulli variable.
+ </p>
+<p>
+ This example shows using the Binomial distribution to predict the probability
+ of heads and tails when throwing a coin.
+ </p>
+<p>
+ The number of correct answers (say heads), X, is distributed as a binomial
+ random variable with binomial distribution parameters number of trials
+ (flips) n = 10 and probability (success_fraction) of getting a head p
+ = 0.5 (a 'fair' coin).
+ </p>
+<p>
+ (Our coin is assumed fair, but we could easily change the success_fraction
+ parameter p from 0.5 to some other value to simulate an unfair coin,
+ say 0.6 for one with chewing gum on the tail, so it is more likely to
+ fall tails down and heads up).
+ </p>
+<p>
+ First we need some includes and using statements to be able to use the
+ binomial distribution, some std input and output, and get started:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Using Binomial distribution to predict how many heads and tails."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ See note <a class="link" href="binomial_coinflip_example.html#coinflip_eg_catch">with the catch block</a>
+ about why a try and catch block is always a good idea.
+ </p>
+<p>
+ First, construct a binomial distribution with parameters success_fraction
+ 1/2, and how many flips.
+ </p>
+<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// = 50% = 1/2 for a 'fair' coin.</span>
+<span class="keyword">int</span> <span class="identifier">flips</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
+<span class="identifier">binomial</span> <span class="identifier">flip</span><span class="special">(</span><span class="identifier">flips</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
+
+<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
+</pre>
+<p>
+ Then some examples of using Binomial moments (and echoing the parameters).
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"From "</span> <span class="special">&lt;&lt;</span> <span class="identifier">flips</span> <span class="special">&lt;&lt;</span> <span class="string">" one can expect to get on average "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" heads (or tails)."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Mode is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mode</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"So about 2/3 will lie within 1 standard deviation and get between "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">flip</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">floor</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">flip</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" correct."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Skewness is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">skewness</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Skewness of binomial distributions is only zero (symmetrical)</span>
+<span class="comment">// if success_fraction is exactly one half,</span>
+<span class="comment">// for example, when flipping 'fair' coins.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Skewness if success_fraction is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">flip</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">skewness</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Expect zero for a 'fair' coin.</span>
+</pre>
+<p>
+ Now we show a variety of predictions on the probability of heads:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"For "</span> <span class="special">&lt;&lt;</span> <span class="identifier">flip</span><span class="special">.</span><span class="identifier">trials</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" coin flips: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting no heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting at least one head is "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">-</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ When we want to calculate the probability for a range or values we can
+ sum the PDF's:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 0 or 1 heads is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// sum of exactly == probabilities</span>
+</pre>
+<p>
+ Or we can use the cdf.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 0 or 1 (&lt;= 1) heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 9 or 10 heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">9</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Note that using
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 9 or 10 heads is "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">8</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ is less accurate than using the complement
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 9 or 10 heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">8</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Since the subtraction may involve <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_top">cancellation
+ error</a>, where as <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">8</span><span class="special">))</span></code>
+ does not use such a subtraction internally, and so does not exhibit the
+ problem.
+ </p>
+<p>
+ To get the probability for a range of heads, we can either add the pdfs
+ for each number of heads
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of between 4 and 6 heads (4 or 5 or 6) is "</span>
+ <span class="comment">// P(X == 4) + P(X == 5) + P(X == 6)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">5</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ But this is probably less efficient than using the cdf
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of between 4 and 6 heads (4 or 5 or 6) is "</span>
+ <span class="comment">// P(X &lt;= 6) - P(X &lt;= 3) == P(X &lt; 4)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Certainly for a bigger range like, 3 to 7
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of between 3 and 7 heads (3, 4, 5, 6 or 7) is "</span>
+ <span class="comment">// P(X &lt;= 7) - P(X &lt;= 2) == P(X &lt; 3)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">7</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Finally, print two tables of probability for the <span class="emphasis"><em>exactly</em></span>
+ and <span class="emphasis"><em>at least</em></span> a number of heads.
+ </p>
+<pre class="programlisting"><span class="comment">// Print a table of probability for the exactly a number of heads.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly (==) heads"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">successes</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">successes</span> <span class="special">&lt;=</span> <span class="identifier">flips</span><span class="special">;</span> <span class="identifier">successes</span><span class="special">++)</span>
+<span class="special">{</span> <span class="comment">// Say success means getting a head (or equally success means getting a tail).</span>
+ <span class="keyword">double</span> <span class="identifier">probability</span> <span class="special">=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">);</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="string">" or 1 in "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">/</span> <span class="identifier">probability</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", or "</span> <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="string">"%"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// for i</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="comment">// Tabulate the probability of getting between zero heads and 0 upto 10 heads.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting upto (&lt;=) heads"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">successes</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">successes</span> <span class="special">&lt;=</span> <span class="identifier">flips</span><span class="special">;</span> <span class="identifier">successes</span><span class="special">++)</span>
+<span class="special">{</span> <span class="comment">// Say success means getting a head</span>
+ <span class="comment">// (equally success could mean getting a tail).</span>
+ <span class="keyword">double</span> <span class="identifier">probability</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">);</span> <span class="comment">// P(X &lt;= heads)</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="string">" or 1 in "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">/</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="string">", or "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="string">"%"</span><span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// for i</span>
+</pre>
+<p>
+ The last (0 to 10 heads) must, of course, be 100% probability.
+ </p>
+<pre class="programlisting"><span class="special">}</span>
+<span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+</pre>
+<p>
+ <a name="coinflip_eg_catch"></a>It is always essential to include try
+ &amp; catch blocks because default policies are to throw exceptions on
+ arguments that are out of domain or cause errors like numeric-overflow.
+ </p>
+<p>
+ Lacking try &amp; catch blocks, the program will abort, whereas the message
+ below from the thrown exception will give some helpful clues as to the
+ cause of the problem.
+ </p>
+<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"\n"</span><span class="string">"Message from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ See <a href="../../../../../../example/binomial_coinflip_example.cpp" target="_top">binomial_coinflip_example.cpp</a>
+ for full source code, the program output looks like this:
+ </p>
+<pre class="programlisting">Using Binomial distribution to predict how many heads and tails.
+From 10 one can expect to get on average 5 heads (or tails).
+Mode is 5
+Standard deviation is 1.581
+So about 2/3 will lie within 1 standard deviation and get between 4 and 6 correct.
+Skewness is 0
+Skewness if success_fraction is 0.5 is 0
+
+For 10 coin flips:
+Probability of getting no heads is 0.0009766
+Probability of getting at least one head is 0.999
+Probability of getting 0 or 1 heads is 0.01074
+Probability of getting 0 or 1 (&lt;= 1) heads is 0.01074
+Probability of getting 9 or 10 heads is 0.01074
+Probability of getting 9 or 10 heads is 0.01074
+Probability of getting 9 or 10 heads is 0.01074
+Probability of between 4 and 6 heads (4 or 5 or 6) is 0.6562
+Probability of between 4 and 6 heads (4 or 5 or 6) is 0.6563
+Probability of between 3 and 7 heads (3, 4, 5, 6 or 7) is 0.8906
+
+Probability of getting exactly (==) heads
+0 0.0009766 or 1 in 1024, or 0.09766%
+1 0.009766 or 1 in 102.4, or 0.9766%
+2 0.04395 or 1 in 22.76, or 4.395%
+3 0.1172 or 1 in 8.533, or 11.72%
+4 0.2051 or 1 in 4.876, or 20.51%
+5 0.2461 or 1 in 4.063, or 24.61%
+6 0.2051 or 1 in 4.876, or 20.51%
+7 0.1172 or 1 in 8.533, or 11.72%
+8 0.04395 or 1 in 22.76, or 4.395%
+9 0.009766 or 1 in 102.4, or 0.9766%
+10 0.0009766 or 1 in 1024, or 0.09766%
+
+Probability of getting upto (&lt;=) heads
+0 0.0009766 or 1 in 1024, or 0.09766%
+1 0.01074 or 1 in 93.09, or 1.074%
+2 0.05469 or 1 in 18.29, or 5.469%
+3 0.1719 or 1 in 5.818, or 17.19%
+4 0.377 or 1 in 2.653, or 37.7%
+5 0.623 or 1 in 1.605, or 62.3%
+6 0.8281 or 1 in 1.208, or 82.81%
+7 0.9453 or 1 in 1.058, or 94.53%
+8 0.9893 or 1 in 1.011, or 98.93%
+9 0.999 or 1 in 1.001, or 99.9%
+10 1 or 1 in 1, or 100%
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_quiz_example.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html
new file mode 100644
index 0000000000..2f792e3e0c
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/binom_eg/binomial_quiz_example.html
@@ -0,0 +1,459 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binomial Quiz Example</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
+<link rel="prev" href="binomial_coinflip_example.html" title="Binomial Coin-Flipping Example">
+<link rel="next" href="binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binomial_coinflip_example.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_conf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.binom_eg.binomial_quiz_example"></a><a class="link" href="binomial_quiz_example.html" title="Binomial Quiz Example">Binomial
+ Quiz Example</a>
+</h5></div></div></div>
+<p>
+ A multiple choice test has four possible answers to each of 16 questions.
+ A student guesses the answer to each question, so the probability of
+ getting a correct answer on any given question is one in four, a quarter,
+ 1/4, 25% or fraction 0.25. The conditions of the binomial experiment
+ are assumed to be met: n = 16 questions constitute the trials; each question
+ results in one of two possible outcomes (correct or incorrect); the probability
+ of being correct is 0.25 and is constant if no knowledge about the subject
+ is assumed; the questions are answered independently if the student's
+ answer to a question in no way influences his/her answer to another question.
+ </p>
+<p>
+ First, we need to be able to use the binomial distribution constructor
+ (and some std input/output, of course).
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">flush</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">exception</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
+</pre>
+<p>
+ The number of correct answers, X, is distributed as a binomial random
+ variable with binomial distribution parameters: questions n and success
+ fraction probability p. So we construct a binomial distribution:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">questions</span> <span class="special">=</span> <span class="number">16</span><span class="special">;</span> <span class="comment">// All the questions in the quiz.</span>
+<span class="keyword">int</span> <span class="identifier">answers</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span> <span class="comment">// Possible answers to each question.</span>
+<span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">1.</span> <span class="special">/</span> <span class="identifier">answers</span><span class="special">;</span> <span class="comment">// If a random guess, p = 1/4 = 0.25.</span>
+<span class="identifier">binomial</span> <span class="identifier">quiz</span><span class="special">(</span><span class="identifier">questions</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
+</pre>
+<p>
+ and display the distribution parameters we used thus:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"In a quiz with "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quiz</span><span class="special">.</span><span class="identifier">trials</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" questions and with a probability of guessing right of "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quiz</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">*</span> <span class="number">100</span> <span class="special">&lt;&lt;</span> <span class="string">" %"</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" or 1 in "</span> <span class="special">&lt;&lt;</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="number">1.</span> <span class="special">/</span> <span class="identifier">quiz</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Show a few probabilities of just guessing:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting none right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.010023</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly one right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly two right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">pass_score</span> <span class="special">=</span> <span class="number">11</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by chance is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting all "</span> <span class="special">&lt;&lt;</span> <span class="identifier">questions</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by chance is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">questions</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of getting none right is 0.0100226
+Probability of getting exactly one right is 0.0534538
+Probability of getting exactly two right is 0.133635
+Probability of getting exactly 11 right is 0.000247132
+Probability of getting exactly all 16 answers right by chance is 2.32831e-010
+</pre>
+<p>
+ These don't give any encouragement to guessers!
+ </p>
+<p>
+ We can tabulate the 'getting exactly right' ( == ) probabilities thus:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span> <span class="string">"Guessed Probability"</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">successes</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">successes</span> <span class="special">&lt;=</span> <span class="identifier">questions</span><span class="special">;</span> <span class="identifier">successes</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="keyword">double</span> <span class="identifier">probability</span> <span class="special">=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">);</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Guessed Probability
+ 0 0.0100226
+ 1 0.0534538
+ 2 0.133635
+ 3 0.207876
+ 4 0.225199
+ 5 0.180159
+ 6 0.110097
+ 7 0.0524273
+ 8 0.0196602
+ 9 0.00582526
+10 0.00135923
+11 0.000247132
+12 3.43239e-005
+13 3.5204e-006
+14 2.51457e-007
+15 1.11759e-008
+16 2.32831e-010
+</pre>
+<p>
+ Then we can add the probabilities of some 'exactly right' like this:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting none or one right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of getting none or one right is 0.0634764
+</pre>
+<p>
+ But if more than a couple of scores are involved, it is more convenient
+ (and may be more accurate) to use the Cumulative Distribution Function
+ (cdf) instead:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting none or one right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of getting none or one right is 0.0634764
+</pre>
+<p>
+ Since the cdf is inclusive, we can get the probability of getting up
+ to 10 right ( &lt;= )
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting &lt;= 10 right (to fail) is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of getting &lt;= 10 right (to fail) is 0.999715
+</pre>
+<p>
+ To get the probability of getting 11 or more right (to pass), it is tempting
+ to use
+ </p>
+<pre class="programlisting"><span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span></pre>
+<p>
+ to get the probability of &gt; 10
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting &gt; 10 right (to pass) is "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of getting &gt; 10 right (to pass) is 0.000285239
+</pre>
+<p>
+ But this should be resisted in favor of using the <a class="link" href="../../overview/complements.html" title="Complements are supported too - and when to use them">complements</a>
+ function (see <a class="link" href="../../overview/complements.html#why_complements">why complements?</a>).
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting &gt; 10 right (to pass) is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of getting &gt; 10 right (to pass) is 0.000285239
+</pre>
+<p>
+ And we can check that these two, &lt;= 10 and &gt; 10, add up to unity.
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_ASSERT</span><span class="special">((</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)))</span> <span class="special">==</span> <span class="number">1.</span><span class="special">);</span>
+</pre>
+<p>
+ If we want a &lt; rather than a &lt;= test, because the CDF is inclusive,
+ we must subtract one from the score.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting less than "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" (&lt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span> <span class="special">&lt;&lt;</span> <span class="string">") answers right by guessing is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of getting less than 11 (&lt; 11) answers right by guessing is 0.999715
+</pre>
+<p>
+ and similarly to get a &gt;= rather than a &gt; test we also need to
+ subtract one from the score (and can again check the sum is unity). This
+ is because if the cdf is <span class="emphasis"><em>inclusive</em></span>, then its complement
+ must be <span class="emphasis"><em>exclusive</em></span> otherwise there would be one possible
+ outcome counted twice!
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting at least "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"(&gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span> <span class="special">&lt;&lt;</span> <span class="string">") answers right by guessing is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">-</span><span class="number">1</span><span class="special">))</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", only 1 in "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span><span class="special">/</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">-</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">BOOST_ASSERT</span><span class="special">((</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">-</span><span class="number">1</span><span class="special">)))</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<pre class="programlisting">Probability of getting at least 11 (&gt;= 11) answers right by guessing is 0.000285239, only 1 in 3505.83
+</pre>
+<p>
+ Finally we can tabulate some probabilities:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span> <span class="string">"At most (&lt;=)"</span><span class="string">"\n"</span><span class="string">"Guessed OK Probability"</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">score</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">score</span> <span class="special">&lt;=</span> <span class="identifier">questions</span><span class="special">;</span> <span class="identifier">score</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">score</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">score</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">At most (&lt;=)
+Guessed OK Probability
+ 0 0.01002259576
+ 1 0.0634764398
+ 2 0.1971110499
+ 3 0.4049871101
+ 4 0.6301861752
+ 5 0.8103454274
+ 6 0.9204427481
+ 7 0.9728700437
+ 8 0.9925302796
+ 9 0.9983555346
+10 0.9997147608
+11 0.9999618928
+12 0.9999962167
+13 0.9999997371
+14 0.9999999886
+15 0.9999999998
+16 1
+</pre>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span> <span class="string">"At least (&gt;)"</span><span class="string">"\n"</span><span class="string">"Guessed OK Probability"</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">score</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">score</span> <span class="special">&lt;=</span> <span class="identifier">questions</span><span class="special">;</span> <span class="identifier">score</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">score</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">10</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">score</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<pre class="programlisting">At least (&gt;)
+Guessed OK Probability
+ 0 0.9899774042
+ 1 0.9365235602
+ 2 0.8028889501
+ 3 0.5950128899
+ 4 0.3698138248
+ 5 0.1896545726
+ 6 0.07955725188
+ 7 0.02712995629
+ 8 0.00746972044
+ 9 0.001644465374
+10 0.0002852391917
+11 3.810715862e-005
+12 3.783265129e-006
+13 2.628657967e-007
+14 1.140870154e-008
+15 2.328306437e-010
+16 0
+</pre>
+<p>
+ We now consider the probabilities of <span class="bold"><strong>ranges</strong></span>
+ of correct guesses.
+ </p>
+<p>
+ First, calculate the probability of getting a range of guesses right,
+ by adding the exact probabilities of each from low ... high.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">low</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Getting at least 3 right.</span>
+<span class="keyword">int</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">5</span><span class="special">;</span> <span class="comment">// Getting as most 5 right.</span>
+<span class="keyword">double</span> <span class="identifier">sum</span> <span class="special">=</span> <span class="number">0.</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">low</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;=</span> <span class="identifier">high</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">sum</span> <span class="special">+=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">i</span><span class="special">);</span>
+<span class="special">}</span>
+<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">sum</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.61323</span>
+</pre>
+<pre class="programlisting">Probability of getting between 3 and 5 answers right by guessing is 0.6132
+</pre>
+<p>
+ Or, usually better, we can use the difference of cdfs instead:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.61323</span>
+</pre>
+<pre class="programlisting">Probability of getting between 3 and 5 answers right by guessing is 0.6132
+</pre>
+<p>
+ And we can also try a few more combinations of high and low choices:
+ </p>
+<pre class="programlisting"><span class="identifier">low</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">6</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 and 6 P= 0.91042</span>
+<span class="identifier">low</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">8</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 &lt;= x 8 P = 0.9825</span>
+<span class="identifier">low</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 4 &lt;= x 4 P = 0.22520</span>
+</pre>
+<pre class="programlisting">Probability of getting between 1 and 6 answers right by guessing is 0.9104
+Probability of getting between 1 and 8 answers right by guessing is 0.9825
+Probability of getting between 4 and 4 answers right by guessing is 0.2252
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.binom_eg.binomial_quiz_example.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.binom_eg.binomial_quiz_example.using_binomial_distribution_mome"></a></span><a class="link" href="binomial_quiz_example.html#math_toolkit.stat_tut.weg.binom_eg.binomial_quiz_example.using_binomial_distribution_mome">Using
+ Binomial distribution moments</a>
+ </h5>
+<p>
+ Using moments of the distribution, we can say more about the spread of
+ results from guessing.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"By guessing, on average, one can expect to get "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" correct answers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"So about 2/3 will lie within 1 standard deviation and get between "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">floor</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" correct."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Mode (the most frequent) is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mode</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Skewness is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">skewness</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">By guessing, on average, one can expect to get 4 correct answers.
+Standard deviation is 1.732
+So about 2/3 will lie within 1 standard deviation and get between 3 and 5 correct.
+Mode (the most frequent) is 4
+Skewness is 0.2887
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.binom_eg.binomial_quiz_example.h1"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.binom_eg.binomial_quiz_example.quantiles"></a></span><a class="link" href="binomial_quiz_example.html#math_toolkit.stat_tut.weg.binom_eg.binomial_quiz_example.quantiles">Quantiles</a>
+ </h5>
+<p>
+ The quantiles (percentiles or percentage points) for a few probability
+ levels:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quartiles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.25</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Quartiles</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"1 standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.33</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.67</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 sd</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Deciles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.1</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Deciles</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"5 to 95% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5 to 95%</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2.5 to 97.5% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.025</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2.5 to 97.5%</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2 to 98% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.02</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.02</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2 to 98%</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If guessing then percentiles 1 to 99% will get "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.01</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.01</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" right."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Notice that these output integral values because the default policy is
+ <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>.
+ </p>
+<pre class="programlisting">Quartiles 2 to 5
+1 standard deviation 2 to 5
+Deciles 1 to 6
+5 to 95% 0 to 7
+2.5 to 97.5% 0 to 8
+2 to 98% 0 to 8
+</pre>
+<p>
+ Quantiles values are controlled by the <a class="link" href="../../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">understanding
+ discrete quantiles</a> quantile policy chosen. The default is <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>, so the lower
+ quantile is rounded down, and the upper quantile is rounded up.
+ </p>
+<p>
+ But we might believe that the real values tell us a little more - see
+ <a class="link" href="../../../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">discrete functions</a>.
+ </p>
+<p>
+ We could control the policy for <span class="bold"><strong>all</strong></span>
+ distributions by
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
+
+<span class="identifier">at</span> <span class="identifier">the</span> <span class="identifier">head</span> <span class="identifier">of</span> <span class="identifier">the</span> <span class="identifier">program</span> <span class="identifier">would</span> <span class="identifier">make</span> <span class="keyword">this</span> <span class="identifier">policy</span> <span class="identifier">apply</span>
+</pre>
+<p>
+ to this <span class="bold"><strong>one, and only</strong></span>, translation unit.
+ </p>
+<p>
+ Or we can now create a (typedef for) policy that has discrete quantiles
+ real (here avoiding any 'using namespaces ...' statements):
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">real</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_outwards</span><span class="special">;</span> <span class="comment">// Default.</span>
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">real</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">real_quantile_policy</span><span class="special">;</span>
+</pre>
+<p>
+ Add a custom binomial distribution called
+ </p>
+<pre class="programlisting"><span class="identifier">real_quantile_binomial</span></pre>
+<p>
+ that uses
+ </p>
+<pre class="programlisting"><span class="identifier">real_quantile_policy</span></pre>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">real_quantile_policy</span><span class="special">&gt;</span> <span class="identifier">real_quantile_binomial</span><span class="special">;</span>
+</pre>
+<p>
+ Construct an object of this custom distribution:
+ </p>
+<pre class="programlisting"><span class="identifier">real_quantile_binomial</span> <span class="identifier">quiz_real</span><span class="special">(</span><span class="identifier">questions</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
+</pre>
+<p>
+ And use this to show some quantiles - that now have real rather than
+ integer values.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quartiles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.25</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Quartiles 2 to 4.6212</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"1 standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.33</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.67</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 sd 2.6654 4.194</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Deciles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.1</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Deciles 1.3487 5.7583</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"5 to 95% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5 to 95% 0.83739 6.4559</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2.5 to 97.5% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.025</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2.5 to 97.5% 0.42806 7.0688</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2 to 98% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.02</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.02</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2 to 98% 0.31311 7.7880</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If guessing, then percentiles 1 to 99% will get "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.01</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.01</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" right."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Real Quantiles
+Quartiles 2 to 4.621
+1 standard deviation 2.665 to 4.194
+Deciles 1.349 to 5.758
+5 to 95% 0.8374 to 6.456
+2.5 to 97.5% 0.4281 to 7.069
+2 to 98% 0.3131 to 7.252
+If guessing then percentiles 1 to 99% will get 0 to 7.788 right.
+</pre>
+<p>
+ See <a href="../../../../../../example/binomial_quiz_example.cpp" target="_top">binomial_quiz_example.cpp</a>
+ for full source code and output.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binomial_coinflip_example.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_conf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/c_sharp.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/c_sharp.html
new file mode 100644
index 0000000000..2bb852a9d7
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/c_sharp.html
@@ -0,0 +1,58 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Using the Distributions from Within C#</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">
+<link rel="next" href="../variates.html" title="Random Variates and Distribution Parameters">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nag_library.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../variates.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.c_sharp"></a><a class="link" href="c_sharp.html" title="Using the Distributions from Within C#">Using the Distributions
+ from Within C#</a>
+</h4></div></div></div>
+<p>
+ The distributions in this library can be used from the C# programming language
+ when they are built using Microsoft's Common Language Runtime (CLR) option.
+ </p>
+<p>
+ An example of this kind of usage is given in the <a href="../../../../distexplorer/html/index.html" target="_top">Distribution
+ Explorer</a> example. See <code class="literal">boost-root/libs/math/dot_net_example</code>
+ for the source code: the application consists of a C++ .dll that contains
+ the actual distributions, and a C# GUI that allows you to explore their
+ properties.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nag_library.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../variates.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg.html
new file mode 100644
index 0000000000..6f4853fae4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chi Squared Distribution Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="st_eg/paired_st.html" title="Comparing two paired samples with the Student's t distribution">
+<link rel="next" href="cs_eg/chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="st_eg/paired_st.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cs_eg/chi_sq_intervals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.cs_eg"></a><a class="link" href="cs_eg.html" title="Chi Squared Distribution Examples">Chi Squared Distribution
+ Examples</a>
+</h4></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="cs_eg/chi_sq_intervals.html">Confidence
+ Intervals on the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="cs_eg/chi_sq_test.html">Chi-Square
+ Test for the Standard Deviation</a></span></dt>
+<dt><span class="section"><a href="cs_eg/chi_sq_size.html">Estimating
+ the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="st_eg/paired_st.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cs_eg/chi_sq_intervals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html
new file mode 100644
index 0000000000..9332304707
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html
@@ -0,0 +1,236 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Confidence Intervals on the Standard Deviation</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cs_eg.html" title="Chi Squared Distribution Examples">
+<link rel="prev" href="../cs_eg.html" title="Chi Squared Distribution Examples">
+<link rel="next" href="chi_sq_test.html" title="Chi-Square Test for the Standard Deviation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_test.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.cs_eg.chi_sq_intervals"></a><a class="link" href="chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">Confidence
+ Intervals on the Standard Deviation</a>
+</h5></div></div></div>
+<p>
+ Once you have calculated the standard deviation for your data, a legitimate
+ question to ask is "How reliable is the calculated standard deviation?".
+ For this situation the Chi Squared distribution can be used to calculate
+ confidence intervals for the standard deviation.
+ </p>
+<p>
+ The full example code &amp; sample output is in <a href="../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_dev_test.cpp</a>.
+ </p>
+<p>
+ We'll begin by defining the procedure that will calculate and print out
+ the confidence intervals:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">confidence_limits_on_std_deviation</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="comment">// Sample Standard Deviation</span>
+ <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">)</span> <span class="comment">// Sample size</span>
+<span class="special">{</span>
+</pre>
+<p>
+ We'll begin by printing out some general information:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"________________________________________________\n"</span>
+ <span class="string">"2-Sided Confidence Limits For Standard Deviation\n"</span>
+ <span class="string">"________________________________________________\n\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sd</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ and then define a table of significance levels for which we'll calculate
+ intervals:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ The distribution we'll need to calculate the confidence intervals is
+ a Chi Squared distribution, with N-1 degrees of freedom:
+ </p>
+<pre class="programlisting"><span class="identifier">chi_squared</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ For each value of alpha, the formula for the confidence interval is given
+ by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/chi_squ_tut1.png"></span>
+ </p>
+<p>
+ Where <span class="inlinemediaobject"><img src="../../../../../equations/chi_squ_tut2.png"></span> is the upper critical value, and <span class="inlinemediaobject"><img src="../../../../../equations/chi_squ_tut3.png"></span> is
+ the lower critical value of the Chi Squared distribution.
+ </p>
+<p>
+ In code we begin by printing out a table header:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
+ <span class="string">"_____________________________________________\n"</span>
+ <span class="string">"Confidence Lower Upper\n"</span>
+ <span class="string">" Value (%) Limit Limit\n"</span>
+ <span class="string">"_____________________________________________\n"</span><span class="special">;</span>
+</pre>
+<p>
+ and then loop over the values of alpha and calculate the intervals for
+ each: remember that the lower critical value is the same as the quantile,
+ and the upper critical value is the same as the quantile from the complement
+ of the probability:
+ </p>
+<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Confidence value:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="comment">// Calculate limits:</span>
+ <span class="keyword">double</span> <span class="identifier">lower_limit</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">((</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span> <span class="number">2</span><span class="special">)));</span>
+ <span class="keyword">double</span> <span class="identifier">upper_limit</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">((</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
+ <span class="comment">// Print Limits:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">lower_limit</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">upper_limit</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ To see some example output we'll use the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm" target="_top">gear
+ data</a> from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a>. The data represents measurements
+ of gear diameter from a manufacturing process.
+ </p>
+<pre class="programlisting">________________________________________________
+2-Sided Confidence Limits For Standard Deviation
+________________________________________________
+
+Number of Observations = 100
+Standard Deviation = 0.006278908
+
+
+_____________________________________________
+Confidence Lower Upper
+ Value (%) Limit Limit
+_____________________________________________
+ 50.000 0.00601 0.00662
+ 75.000 0.00582 0.00685
+ 90.000 0.00563 0.00712
+ 95.000 0.00551 0.00729
+ 99.000 0.00530 0.00766
+ 99.900 0.00507 0.00812
+ 99.990 0.00489 0.00855
+ 99.999 0.00474 0.00895
+</pre>
+<p>
+ So at the 95% confidence level we conclude that the standard deviation
+ is between 0.00551 and 0.00729.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.cs_eg.chi_sq_intervals.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.cs_eg.chi_sq_intervals.confidence_intervals_as_a_functi"></a></span><a class="link" href="chi_sq_intervals.html#math_toolkit.stat_tut.weg.cs_eg.chi_sq_intervals.confidence_intervals_as_a_functi">Confidence
+ intervals as a function of the number of observations</a>
+ </h5>
+<p>
+ Similarly, we can also list the confidence intervals for the standard
+ deviation for the common confidence levels 95%, for increasing numbers
+ of observations.
+ </p>
+<p>
+ The standard deviation used to compute these values is unity, so the
+ limits listed are <span class="bold"><strong>multipliers</strong></span> for any
+ particular standard deviation. For example, given a standard deviation
+ of 0.0062789 as in the example above; for 100 observations the multiplier
+ is 0.8780 giving the lower confidence limit of 0.8780 * 0.006728 = 0.00551.
+ </p>
+<pre class="programlisting">____________________________________________________
+Confidence level (two-sided) = 0.0500000
+Standard Deviation = 1.0000000
+________________________________________
+Observations Lower Upper
+ Limit Limit
+________________________________________
+ 2 0.4461 31.9102
+ 3 0.5207 6.2847
+ 4 0.5665 3.7285
+ 5 0.5991 2.8736
+ 6 0.6242 2.4526
+ 7 0.6444 2.2021
+ 8 0.6612 2.0353
+ 9 0.6755 1.9158
+ 10 0.6878 1.8256
+ 15 0.7321 1.5771
+ 20 0.7605 1.4606
+ 30 0.7964 1.3443
+ 40 0.8192 1.2840
+ 50 0.8353 1.2461
+ 60 0.8476 1.2197
+ 100 0.8780 1.1617
+ 120 0.8875 1.1454
+ 1000 0.9580 1.0459
+ 10000 0.9863 1.0141
+ 50000 0.9938 1.0062
+ 100000 0.9956 1.0044
+ 1000000 0.9986 1.0014
+</pre>
+<p>
+ With just 2 observations the limits are from <span class="bold"><strong>0.445</strong></span>
+ up to to <span class="bold"><strong>31.9</strong></span>, so the standard deviation
+ might be about <span class="bold"><strong>half</strong></span> the observed value
+ up to <span class="bold"><strong>30 times</strong></span> the observed value!
+ </p>
+<p>
+ Estimating a standard deviation with just a handful of values leaves
+ a very great uncertainty, especially the upper limit. Note especially
+ how far the upper limit is skewed from the most likely standard deviation.
+ </p>
+<p>
+ Even for 10 observations, normally considered a reasonable number, the
+ range is still from 0.69 to 1.8, about a range of 0.7 to 2, and is still
+ highly skewed with an upper limit <span class="bold"><strong>twice</strong></span>
+ the median.
+ </p>
+<p>
+ When we have 1000 observations, the estimate of the standard deviation
+ is starting to look convincing, with a range from 0.95 to 1.05 - now
+ near symmetrical, but still about + or - 5%.
+ </p>
+<p>
+ Only when we have 10000 or more repeated observations can we start to
+ be reasonably confident (provided we are sure that other factors like
+ drift are not creeping in).
+ </p>
+<p>
+ For 10000 observations, the interval is 0.99 to 1.1 - finally a really
+ convincing + or -1% confidence.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_test.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html
new file mode 100644
index 0000000000..f66ddd7f42
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_size.html
@@ -0,0 +1,182 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cs_eg.html" title="Chi Squared Distribution Examples">
+<link rel="prev" href="chi_sq_test.html" title="Chi-Square Test for the Standard Deviation">
+<link rel="next" href="../f_eg.html" title="F Distribution Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="chi_sq_test.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../f_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.cs_eg.chi_sq_size"></a><a class="link" href="chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation">Estimating
+ the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a>
+</h5></div></div></div>
+<p>
+ Suppose we conduct a Chi Squared test for standard deviation and the
+ result is borderline, a legitimate question to ask is "How large
+ would the sample size have to be in order to produce a definitive result?"
+ </p>
+<p>
+ The class template <a class="link" href="../../../dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">chi_squared_distribution</a>
+ has a static method <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>
+ that will calculate this value for some acceptable risk of type I failure
+ <span class="emphasis"><em>alpha</em></span>, type II failure <span class="emphasis"><em>beta</em></span>,
+ and difference from the standard deviation <span class="emphasis"><em>diff</em></span>.
+ Please note that the method used works on variance, and not standard
+ deviation as is usual for the Chi Squared Test.
+ </p>
+<p>
+ The code for this example is located in <a href="../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_dev_test.cpp</a>.
+ </p>
+<p>
+ We begin by defining a procedure to print out the sample sizes required
+ for various risk levels:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">chi_squared_sample_sized</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">diff</span><span class="special">,</span> <span class="comment">// difference from variance to detect</span>
+ <span class="keyword">double</span> <span class="identifier">variance</span><span class="special">)</span> <span class="comment">// true variance</span>
+<span class="special">{</span>
+</pre>
+<p>
+ The procedure begins by printing out the input data:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+
+<span class="comment">// Print out general info:</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"_____________________________________________________________\n"</span>
+ <span class="string">"Estimated sample sizes required for various confidence levels\n"</span>
+ <span class="string">"_____________________________________________________________\n\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"True Variance"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">variance</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Difference to detect"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">diff</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ And defines a table of significance levels for which we'll calculate
+ sample sizes:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ For each value of alpha we can calculate two sample sizes: one where
+ the sample variance is less than the true value by <span class="emphasis"><em>diff</em></span>
+ and one where it is greater than the true value by <span class="emphasis"><em>diff</em></span>.
+ Thanks to the asymmetric nature of the Chi Squared distribution these
+ two values will not be the same, the difference in their calculation
+ differs only in the sign of <span class="emphasis"><em>diff</em></span> that's passed to
+ <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>.
+ Finally in this example we'll simply things, and let risk level <span class="emphasis"><em>beta</em></span>
+ be the same as <span class="emphasis"><em>alpha</em></span>:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
+ <span class="string">"_______________________________________________________________\n"</span>
+ <span class="string">"Confidence Estimated Estimated\n"</span>
+ <span class="string">" Value (%) Sample Size Sample Size\n"</span>
+ <span class="string">" (lower one (upper one\n"</span>
+ <span class="string">" sided test) sided test)\n"</span>
+ <span class="string">"_______________________________________________________________\n"</span><span class="special">;</span>
+<span class="comment">//</span>
+<span class="comment">// Now print out the data for the table rows.</span>
+<span class="comment">//</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// Confidence value:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="comment">// calculate df for a lower single sided test:</span>
+ <span class="keyword">double</span> <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">chi_squared</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="special">-</span><span class="identifier">diff</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">variance</span><span class="special">);</span>
+ <span class="comment">// convert to sample size:</span>
+ <span class="keyword">double</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
+ <span class="comment">// Print size:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span><span class="special">;</span>
+ <span class="comment">// calculate df for an upper single sided test:</span>
+ <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">chi_squared</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="identifier">diff</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">variance</span><span class="special">);</span>
+ <span class="comment">// convert to sample size:</span>
+ <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
+ <span class="comment">// Print size:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ For some example output, consider the <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm" target="_top">silicon
+ wafer data</a> from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a>. In this scenario a supplier
+ of 100 ohm.cm silicon wafers claims that his fabrication process can
+ produce wafers with sufficient consistency so that the standard deviation
+ of resistivity for the lot does not exceed 10 ohm.cm. A sample of N =
+ 10 wafers taken from the lot has a standard deviation of 13.97 ohm.cm,
+ and the question we ask ourselves is "How large would our sample
+ have to be to reliably detect this difference?".
+ </p>
+<p>
+ To use our procedure above, we have to convert the standard deviations
+ to variance (square them), after which the program output looks like
+ this:
+ </p>
+<pre class="programlisting">_____________________________________________________________
+Estimated sample sizes required for various confidence levels
+_____________________________________________________________
+
+True Variance = 100.00000
+Difference to detect = 95.16090
+
+
+_______________________________________________________________
+Confidence Estimated Estimated
+ Value (%) Sample Size Sample Size
+ (lower one (upper one
+ sided test) sided test)
+_______________________________________________________________
+ 50.000 2 2
+ 75.000 2 10
+ 90.000 4 32
+ 95.000 5 51
+ 99.000 7 99
+ 99.900 11 174
+ 99.990 15 251
+ 99.999 20 330
+</pre>
+<p>
+ In this case we are interested in a upper single sided test. So for example,
+ if the maximum acceptable risk of falsely rejecting the null-hypothesis
+ is 0.05 (Type I error), and the maximum acceptable risk of failing to
+ reject the null-hypothesis is also 0.05 (Type II error), we estimate
+ that we would need a sample size of 51.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="chi_sq_test.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../f_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html
new file mode 100644
index 0000000000..44ef240d95
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/cs_eg/chi_sq_test.html
@@ -0,0 +1,297 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chi-Square Test for the Standard Deviation</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../cs_eg.html" title="Chi Squared Distribution Examples">
+<link rel="prev" href="chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">
+<link rel="next" href="chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="chi_sq_intervals.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.cs_eg.chi_sq_test"></a><a class="link" href="chi_sq_test.html" title="Chi-Square Test for the Standard Deviation">Chi-Square
+ Test for the Standard Deviation</a>
+</h5></div></div></div>
+<p>
+ We use this test to determine whether the standard deviation of a sample
+ differs from a specified value. Typically this occurs in process change
+ situations where we wish to compare the standard deviation of a new process
+ to an established one.
+ </p>
+<p>
+ The code for this example is contained in <a href="../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_dev_test.cpp</a>,
+ and we'll begin by defining the procedure that will print out the test
+ statistics:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">chi_squared_test</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="comment">// Sample std deviation</span>
+ <span class="keyword">double</span> <span class="identifier">D</span><span class="special">,</span> <span class="comment">// True std deviation</span>
+ <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">,</span> <span class="comment">// Sample size</span>
+ <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span> <span class="comment">// Significance level</span>
+<span class="special">{</span>
+</pre>
+<p>
+ The procedure begins by printing a summary of the input data:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+
+<span class="comment">// Print header:</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"______________________________________________\n"</span>
+ <span class="string">"Chi Squared test for sample standard deviation\n"</span>
+ <span class="string">"______________________________________________\n\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sd</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Expected True Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+</pre>
+<p>
+ The test statistic (T) is simply the ratio of the sample and "true"
+ standard deviations squared, multiplied by the number of degrees of freedom
+ (the sample size less one):
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">D</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">D</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Test Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ The distribution we need to use, is a Chi Squared distribution with N-1
+ degrees of freedom:
+ </p>
+<pre class="programlisting"><span class="identifier">chi_squared</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ The various hypothesis that can be tested are summarised in the following
+ table:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Hypothesis
+ </p>
+ </th>
+<th>
+ <p>
+ Test
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ The null-hypothesis: there is no difference in standard deviation
+ from the specified value
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if T &lt; &#967;<sup>2</sup><sub>(1-alpha/2; N-1)</sub> or T &gt; &#967;<sup>2</sup><sub>(alpha/2; N-1)</sub>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The alternative hypothesis: there is a difference in standard
+ deviation from the specified value
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if &#967;<sup>2</sup><sub>(1-alpha/2; N-1)</sub> &gt;= T &gt;= &#967;<sup>2</sup><sub>(alpha/2; N-1)</sub>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The alternative hypothesis: the standard deviation is less
+ than the specified value
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if &#967;<sup>2</sup><sub>(1-alpha; N-1)</sub> &lt;= T
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The alternative hypothesis: the standard deviation is greater
+ than the specified value
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if &#967;<sup>2</sup><sub>(alpha; N-1)</sub> &gt;= T
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Where &#967;<sup>2</sup><sub>(alpha; N-1)</sub> is the upper critical value of the Chi Squared distribution,
+ and &#967;<sup>2</sup><sub>(1-alpha; N-1)</sub> is the lower critical value.
+ </p>
+<p>
+ Recall that the lower critical value is the same as the quantile, and
+ the upper critical value is the same as the quantile from the complement
+ of the probability, that gives us the following code to calculate the
+ critical values:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ucv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">));</span>
+<span class="keyword">double</span> <span class="identifier">ucv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
+<span class="keyword">double</span> <span class="identifier">lcv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">lcv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+</pre>
+<p>
+ Now that we have the critical values, we can compare these to our test
+ statistic, and print out the result of each hypothesis and test:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"Results for Alternative Hypothesis and alpha"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Alternative Hypothesis Conclusion\n"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation != "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">((</span><span class="identifier">ucv2</span> <span class="special">&lt;</span> <span class="identifier">t_stat</span><span class="special">)</span> <span class="special">||</span> <span class="special">(</span><span class="identifier">lcv2</span> <span class="special">&gt;</span> <span class="identifier">t_stat</span><span class="special">))</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
+<span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation &lt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(</span><span class="identifier">lcv</span> <span class="special">&gt;</span> <span class="identifier">t_stat</span><span class="special">)</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
+<span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(</span><span class="identifier">ucv</span> <span class="special">&lt;</span> <span class="identifier">t_stat</span><span class="special">)</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
+<span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ To see some example output we'll use the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm" target="_top">gear
+ data</a> from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a>. The data represents measurements
+ of gear diameter from a manufacturing process. The program output is
+ deliberately designed to mirror the DATAPLOT output shown in the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda358.htm" target="_top">NIST
+ Handbook Example</a>.
+ </p>
+<pre class="programlisting">______________________________________________
+Chi Squared test for sample standard deviation
+______________________________________________
+
+Number of Observations = 100
+Sample Standard Deviation = 0.00628
+Expected True Standard Deviation = 0.10000
+
+Test Statistic = 0.39030
+CDF of test statistic: = 1.438e-099
+Upper Critical Value at alpha: = 1.232e+002
+Upper Critical Value at alpha/2: = 1.284e+002
+Lower Critical Value at alpha: = 7.705e+001
+Lower Critical Value at alpha/2: = 7.336e+001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard Deviation != 0.100 ACCEPTED
+Standard Deviation &lt; 0.100 ACCEPTED
+Standard Deviation &gt; 0.100 REJECTED
+</pre>
+<p>
+ In this case we are testing whether the sample standard deviation is
+ 0.1, and the null-hypothesis is rejected, so we conclude that the standard
+ deviation <span class="emphasis"><em>is not</em></span> 0.1.
+ </p>
+<p>
+ For an alternative example, consider the <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm" target="_top">silicon
+ wafer data</a> again from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a>. In this scenario a supplier
+ of 100 ohm.cm silicon wafers claims that his fabrication process can
+ produce wafers with sufficient consistency so that the standard deviation
+ of resistivity for the lot does not exceed 10 ohm.cm. A sample of N =
+ 10 wafers taken from the lot has a standard deviation of 13.97 ohm.cm,
+ and the question we ask ourselves is "Is the suppliers claim correct?".
+ </p>
+<p>
+ The program output now looks like this:
+ </p>
+<pre class="programlisting">______________________________________________
+Chi Squared test for sample standard deviation
+______________________________________________
+
+Number of Observations = 10
+Sample Standard Deviation = 13.97000
+Expected True Standard Deviation = 10.00000
+
+Test Statistic = 17.56448
+CDF of test statistic: = 9.594e-001
+Upper Critical Value at alpha: = 1.692e+001
+Upper Critical Value at alpha/2: = 1.902e+001
+Lower Critical Value at alpha: = 3.325e+000
+Lower Critical Value at alpha/2: = 2.700e+000
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard Deviation != 10.000 REJECTED
+Standard Deviation &lt; 10.000 REJECTED
+Standard Deviation &gt; 10.000 ACCEPTED
+</pre>
+<p>
+ In this case, our null-hypothesis is that the standard deviation of the
+ sample is less than 10: this hypothesis is rejected in the analysis above,
+ and so we reject the manufacturers claim.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="chi_sq_intervals.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html
new file mode 100644
index 0000000000..9673089ee4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/dist_construct_eg.html
@@ -0,0 +1,333 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Distribution Construction Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="../weg.html" title="Worked Examples">
+<link rel="next" href="st_eg.html" title="Student's t Distribution Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../weg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.dist_construct_eg"></a><a class="link" href="dist_construct_eg.html" title="Distribution Construction Examples">Distribution
+ Construction Examples</a>
+</h4></div></div></div>
+<p>
+ The structure of distributions is rather different from some other statistical
+ libraries, for example, those written in less object-oriented language
+ like FORTRAN and C: these provide a few arguments to each free function.
+ </p>
+<p>
+ Boost.Math library provides each distribution as a template C++ class.
+ A distribution is constructed with a few arguments, and then member and
+ non-member functions are used to find values of the distribution, often
+ a function of a random variate.
+ </p>
+<p>
+ For this demonstration, first we need some includes to access the negative
+ binomial distribution (and the binomial, beta and gamma distributions too).
+ </p>
+<p>
+ To demonstrate the use with a high precision User-defined floating-point
+ type <code class="computeroutput"><span class="identifier">cpp_dec_float</span></code> we also
+ need an include from Boost.Multiprecision.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for negative_binomial_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span> <span class="comment">// default type is double.</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for binomial_distribution.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for beta_distribution.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for gamma_distribution.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution.</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">cpp_dec_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for cpp_dec_float_100</span>
+</pre>
+<p>
+ Several examples of constructing distributions follow:
+ </p>
+<p>
+ First, a negative binomial distribution with 8 successes and a success
+ fraction 0.25, 25% or 1 in 4, is constructed like this:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist0</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+</pre>
+<p>
+ But this is inconveniently long, so we might be tempted to write
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+</pre>
+<p>
+ but this might risk ambiguity with names in <code class="computeroutput"><span class="identifier">std</span>
+ <span class="identifier">random</span></code> so <span class="bold"><strong>much</strong></span>
+ better is explicit <code class="computeroutput"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span></code>
+ statements, for example:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
+</pre>
+<p>
+ and we can still reduce typing.
+ </p>
+<p>
+ Since the vast majority of applications use will be using <code class="computeroutput"><span class="keyword">double</span></code> precision, the template argument
+ to the distribution (<code class="computeroutput"><span class="identifier">RealType</span></code>)
+ defaults to type <code class="computeroutput"><span class="keyword">double</span></code>, so
+ we can also write:
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mydist9</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span> <span class="comment">// Uses default `RealType = double`.</span>
+</pre>
+<p>
+ But the name <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span></code>
+ is still inconveniently long, so, for most distributions, a convenience
+ <code class="computeroutput"><span class="keyword">typedef</span></code> is provided, for example:
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// Reserved name of type double.</span>
+</pre>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This convenience typedef is <span class="bold"><strong>not provided</strong></span>
+ if a clash would occur with the name of a function: currently only <code class="computeroutput"><span class="identifier">beta</span></code> and <code class="computeroutput"><span class="identifier">gamma</span></code>
+ fall into this category.
+ </p></td></tr>
+</table></div>
+<p>
+ So, after a using statement,
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span>
+</pre>
+<p>
+ we have a convenient typedef to <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span></code>:
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+</pre>
+<p>
+ Some more examples using the convenience typedef:
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist10</span><span class="special">(</span><span class="number">5.</span><span class="special">,</span> <span class="number">0.4</span><span class="special">);</span> <span class="comment">// Both arguments double.</span>
+</pre>
+<p>
+ And automatic conversion takes place, so you can use integers and floats:
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist11</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">0.4</span><span class="special">);</span> <span class="comment">// Using provided typedef double, int and double arguments.</span>
+</pre>
+<p>
+ This is probably the most common usage.
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist12</span><span class="special">(</span><span class="number">5.</span><span class="special">,</span> <span class="number">0.4F</span><span class="special">);</span> <span class="comment">// Double and float arguments.</span>
+<span class="identifier">negative_binomial</span> <span class="identifier">mydist13</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Both arguments integer.</span>
+</pre>
+<p>
+ Similarly for most other distributions like the binomial.
+ </p>
+<pre class="programlisting"><span class="identifier">binomial</span> <span class="identifier">mybinomial</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// is more concise than</span>
+<span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybinomd1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
+</pre>
+<p>
+ For cases when the typdef distribution name would clash with a math special
+ function (currently only beta and gamma) the typedef is deliberately not
+ provided, and the longer version of the name must be used. For example
+ do not use:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">beta</span><span class="special">;</span>
+<span class="identifier">beta</span> <span class="identifier">mybetad0</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// Error beta is a math FUNCTION!</span>
+</pre>
+<p>
+ Which produces the error messages:
+ </p>
+<pre class="programlisting">error C2146: syntax error : missing ';' before identifier 'mybetad0'
+warning C4551: function call missing argument list
+error C3861: 'mybetad0': identifier not found
+</pre>
+<p>
+ Instead you should use:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">beta_distribution</span><span class="special">;</span>
+<span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybetad1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
+</pre>
+<p>
+ or for the gamma distribution:
+ </p>
+<pre class="programlisting"><span class="identifier">gamma_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mygammad1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
+</pre>
+<p>
+ We can, of course, still provide the type explicitly thus:
+ </p>
+<pre class="programlisting"><span class="comment">// Explicit double precision: both arguments are double:</span>
+<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist1</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+
+<span class="comment">// Explicit float precision, double arguments are truncated to float:</span>
+<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist2</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+
+<span class="comment">// Explicit float precision, integer &amp; double arguments converted to float:</span>
+<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist3</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+
+<span class="comment">// Explicit float precision, float arguments, so no conversion:</span>
+<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist4</span><span class="special">(</span><span class="number">8.F</span><span class="special">,</span> <span class="number">0.25F</span><span class="special">);</span>
+
+<span class="comment">// Explicit float precision, integer arguments promoted to float.</span>
+<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist5</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
+
+<span class="comment">// Explicit double precision:</span>
+<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist6</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+
+<span class="comment">// Explicit long double precision:</span>
+<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist7</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+</pre>
+<p>
+ And you can use your own RealType, for example, <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span></code>
+ (an arbitrary 50 decimal digits precision type), then we can write:
+ </p>
+<pre class="programlisting"> <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">;</span>
+
+ <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;</span> <span class="identifier">mydist8</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
+ <span class="comment">// `integer` arguments are promoted to your RealType exactly, but</span>
+ <span class="comment">// `double` argument are converted to RealType,</span>
+ <span class="comment">// possibly losing precision, so don't write:</span>
+
+ <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;</span> <span class="identifier">mydist20</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="number">0.23456789012345678901234567890</span><span class="special">);</span>
+<span class="comment">// to avoid truncation of second parameter to `0.2345678901234567`.</span>
+
+ <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;</span> <span class="identifier">mydist21</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="identifier">cpp_dec_float_50</span><span class="special">(</span><span class="string">"0.23456789012345678901234567890"</span><span class="special">)</span> <span class="special">);</span>
+
+ <span class="comment">// Ensure that all potentially significant digits are shown.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">);</span>
+ <span class="identifier">cpp_dec_float_50</span> <span class="identifier">x</span><span class="special">(</span><span class="string">"1.23456789012345678901234567890"</span><span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">mydist8</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting"><span class="identifier">showing</span> <span class="number">0.00012630010495970320103876754721976419438231705359935</span>
+</pre>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ When using multiprecision, it is all too easy to get accidental truncation!
+ </p></td></tr>
+</table></div>
+<p>
+ For example, if you write
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">mydist8</span><span class="special">,</span> <span class="number">1.23456789012345678901234567890</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ showing 0.00012630010495970318465064569310967179576805651692929, which
+ is wrong at about the 17th decimal digit!
+ </p>
+<p>
+ This is because the value provided is truncated to a <code class="computeroutput"><span class="keyword">double</span></code>,
+ effectively <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">x</span>
+ <span class="special">=</span> <span class="number">1.23456789012345678901234567890</span><span class="special">;</span></code>
+ </p>
+<p>
+ Then the now <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">x</span></code>
+ is passed to function <code class="computeroutput"><span class="identifier">pdf</span></code>,
+ and this truncated <code class="computeroutput"><span class="keyword">double</span></code>
+ value is finally promoted to <code class="computeroutput"><span class="identifier">cpp_dec_float_50</span></code>.
+ </p>
+<p>
+ Another way of quietly getting the wrong answer is to write:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">mydist8</span><span class="special">,</span> <span class="identifier">cpp_dec_float_50</span><span class="special">(</span><span class="number">1.23456789012345678901234567890</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ A correct way from a multi-digit string value is
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">mydist8</span><span class="special">,</span> <span class="identifier">cpp_dec_float_50</span><span class="special">(</span><span class="string">"1.23456789012345678901234567890"</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Getting about 17 decimal digits followed by many zeros is often a sign
+ of accidental truncation.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.stat_tut.weg.dist_construct_eg.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.dist_construct_eg.default_arguments_to_distributio"></a></span><a class="link" href="dist_construct_eg.html#math_toolkit.stat_tut.weg.dist_construct_eg.default_arguments_to_distributio">Default
+ arguments to distribution constructors.</a>
+ </h5>
+<p>
+ Note that default constructor arguments are only provided for some distributions.
+ So if you wrongly assume a default argument, you will get an error message,
+ for example:
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mydist8</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">error C2512 no appropriate default constructor available.</pre>
+<p>
+ No default constructors are provided for the <code class="computeroutput"><span class="identifier">negative</span>
+ <span class="identifier">binomial</span></code> distribution, because
+ it is difficult to chose any sensible default values for this distribution.
+ </p>
+<p>
+ For other distributions, like the normal distribution, it is obviously
+ very useful to provide 'standard' defaults for the mean (zero) and standard
+ deviation (unity) thus:
+ </p>
+<pre class="programlisting"><span class="identifier">normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ So in this case we can write:
+ </p>
+<pre class="programlisting"> <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span>
+
+ <span class="identifier">normal</span> <span class="identifier">norm1</span><span class="special">;</span> <span class="comment">// Standard normal distribution.</span>
+ <span class="identifier">normal</span> <span class="identifier">norm2</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// Mean = 2, std deviation = 1.</span>
+ <span class="identifier">normal</span> <span class="identifier">norm3</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> <span class="comment">// Mean = 2, std deviation = 3.</span>
+
+ <span class="special">}</span>
+ <span class="keyword">catch</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span> <span class="special">&amp;</span><span class="identifier">ex</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ex</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<p>
+ There is no useful output from this demonstration program, of course.
+ </p>
+<p>
+ See <a href="../../../../../example/distribution_construction.cpp" target="_top">distribution_construction.cpp</a>
+ for full source code.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../weg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/error_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/error_eg.html
new file mode 100644
index 0000000000..c82e5a8938
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/error_eg.html
@@ -0,0 +1,206 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Error Handling Example</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="nccs_eg/nccs_power_eg.html" title="Tables of the power function of the chi2 test.">
+<link rel="next" href="find_eg.html" title="Find Location and Scale Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.error_eg"></a><a class="link" href="error_eg.html" title="Error Handling Example">Error Handling
+ Example</a>
+</h4></div></div></div>
+<p>
+ See <a class="link" href="../../error_handling.html" title="Error Handling">error handling documentation</a>
+ for a detailed explanation of the mechanism of handling errors, including
+ the common "bad" arguments to distributions and functions, and
+ how to use <a class="link" href="../../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policies</a> to control it.
+ </p>
+<p>
+ But, by default, <span class="bold"><strong>exceptions will be raised</strong></span>,
+ for domain errors, pole errors, numeric overflow, and internal evaluation
+ errors. To avoid the exceptions from getting thrown and instead get an
+ appropriate value returned, usually a NaN (domain errors pole errors or
+ internal errors), or infinity (from overflow), you need to change the policy.
+ </p>
+<p>
+ The following example demonstrates the effect of setting the macro BOOST_MATH_DOMAIN_ERROR_POLICY
+ when an invalid argument is encountered. For the purposes of this example,
+ we'll pass a negative degrees of freedom parameter to the student's t distribution.
+ </p>
+<p>
+ Since we know that this is a single file program we could just add:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+</pre>
+<p>
+ to the top of the source file to change the default policy to one that
+ simply returns a NaN when a domain error occurs. Alternatively we could
+ use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
+</pre>
+<p>
+ To ensure the <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ is set when a domain error occurs as well as returning a NaN.
+ </p>
+<p>
+ This is safe provided the program consists of a single translation unit
+ <span class="emphasis"><em>and</em></span> we place the define <span class="emphasis"><em>before</em></span>
+ any #includes. Note that should we add the define after the includes then
+ it will have no effect! A warning such as:
+ </p>
+<pre class="programlisting">warning C4005: 'BOOST_MATH_OVERFLOW_ERROR_POLICY' : macro redefinition</pre>
+<p>
+ is a certain sign that it will <span class="emphasis"><em>not</em></span> have the desired
+ effect.
+ </p>
+<p>
+ We'll begin our sample program with the needed includes:
+ </p>
+<pre class="programlisting"> <span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+
+<span class="comment">// Boost</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t</span><span class="special">;</span> <span class="comment">// Probability of students_t(df, t).</span>
+
+<span class="comment">// std</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">stdexcept</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cstddef</span><span class="special">&gt;</span>
+ <span class="comment">// using ::errno</span>
+</pre>
+<p>
+ Next we'll define the program's main() to call the student's t distribution
+ with an invalid degrees of freedom parameter, the program is set up to
+ handle either an exception or a NaN:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Example error handling using Student's t function. "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"BOOST_MATH_DOMAIN_ERROR_POLICY is set to: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">double</span> <span class="identifier">degrees_of_freedom</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="comment">// A bad argument!</span>
+ <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
+
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="comment">// Clear/reset.</span>
+ <span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">degrees_of_freedom</span><span class="special">);</span> <span class="comment">// exception is thrown here if enabled.</span>
+ <span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
+ <span class="comment">// Test for error reported by other means:</span>
+ <span class="keyword">if</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">p</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf returned a NaN!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">errno</span> <span class="special">!=</span> <span class="number">0</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// So errno has been set.</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno is set to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of Student's t is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"\n"</span><span class="string">"Message from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<p>
+ Here's what the program output looks like with a default build (one that
+ <span class="bold"><strong>does throw exceptions</strong></span>):
+ </p>
+<pre class="programlisting">Example error handling using Student's t function.
+BOOST_MATH_DOMAIN_ERROR_POLICY is set to: throw_on_error
+
+Message from thrown exception was:
+ Error in function boost::math::students_t_distribution&lt;double&gt;::students_t_distribution:
+ Degrees of freedom argument is -1, but must be &gt; 0 !
+</pre>
+<p>
+ Alternatively let's build with:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+</pre>
+<p>
+ Now the program output is:
+ </p>
+<pre class="programlisting">Example error handling using Student's t function.
+BOOST_MATH_DOMAIN_ERROR_POLICY is set to: ignore_error
+cdf returned a NaN!
+</pre>
+<p>
+ And finally let's build with:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
+</pre>
+<p>
+ Which gives the output show errno:
+ </p>
+<pre class="programlisting">Example error handling using Student's t function.
+BOOST_MATH_DOMAIN_ERROR_POLICY is set to: errno_on_error
+cdf returned a NaN!
+errno is set to: 33
+</pre>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ If throwing of exceptions is enabled (the default) but you do <span class="bold"><strong>not</strong></span> have try &amp; catch block, then the program
+ will terminate with an uncaught exception and probably abort.
+ </p>
+<p>
+ Therefore to get the benefit of helpful error messages, enabling <span class="bold"><strong>all exceptions and using try &amp; catch</strong></span> is recommended
+ for most applications.
+ </p>
+<p>
+ However, for simplicity, the is not done for most examples.
+ </p>
+</td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/f_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/f_eg.html
new file mode 100644
index 0000000000..ca944ea202
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/f_eg.html
@@ -0,0 +1,329 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>F Distribution Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation">
+<link rel="next" href="binom_eg.html" title="Binomial Distribution Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cs_eg/chi_sq_size.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.f_eg"></a><a class="link" href="f_eg.html" title="F Distribution Examples">F Distribution Examples</a>
+</h4></div></div></div>
+<p>
+ Imagine that you want to compare the standard deviations of two sample
+ to determine if they differ in any significant way, in this situation you
+ use the F distribution and perform an F-test. This situation commonly occurs
+ when conducting a process change comparison: "is a new process more
+ consistent that the old one?".
+ </p>
+<p>
+ In this example we'll be using the data for ceramic strength from <a href="http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm" target="_top">http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm</a>.
+ The data for this case study were collected by Said Jahanmir of the NIST
+ Ceramics Division in 1996 in connection with a NIST/industry ceramics consortium
+ for strength optimization of ceramic strength.
+ </p>
+<p>
+ The example program is <a href="../../../../../example/f_test.cpp" target="_top">f_test.cpp</a>,
+ program output has been deliberately made as similar as possible to the
+ DATAPLOT output in the corresponding <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda359.htm" target="_top">NIST
+ EngineeringStatistics Handbook example</a>.
+ </p>
+<p>
+ We'll begin by defining the procedure to conduct the test:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f_test</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">sd1</span><span class="special">,</span> <span class="comment">// Sample 1 std deviation</span>
+ <span class="keyword">double</span> <span class="identifier">sd2</span><span class="special">,</span> <span class="comment">// Sample 2 std deviation</span>
+ <span class="keyword">double</span> <span class="identifier">N1</span><span class="special">,</span> <span class="comment">// Sample 1 size</span>
+ <span class="keyword">double</span> <span class="identifier">N2</span><span class="special">,</span> <span class="comment">// Sample 2 size</span>
+ <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span> <span class="comment">// Significance level</span>
+<span class="special">{</span>
+</pre>
+<p>
+ The procedure begins by printing out a summary of our input data:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+
+<span class="comment">// Print header:</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"____________________________________\n"</span>
+ <span class="string">"F test for equal standard deviations\n"</span>
+ <span class="string">"____________________________________\n\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample 1:\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N1</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd1</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample 2:\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+</pre>
+<p>
+ The test statistic for an F-test is simply the ratio of the square of the
+ two standard deviations:
+ </p>
+<p>
+ F = s<sub>1</sub><sup>2</sup> / s<sub>2</sub><sup>2</sup>
+ </p>
+<p>
+ where s<sub>1</sub> is the standard deviation of the first sample and s<sub>2</sub>
+is the standard
+ deviation of the second sample. Or in code:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">F</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">sd1</span> <span class="special">/</span> <span class="identifier">sd2</span><span class="special">);</span>
+<span class="identifier">F</span> <span class="special">*=</span> <span class="identifier">F</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Test Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">F</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+</pre>
+<p>
+ At this point a word of caution: the F distribution is asymmetric, so we
+ have to be careful how we compute the tests, the following table summarises
+ the options available:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Hypothesis
+ </p>
+ </th>
+<th>
+ <p>
+ Test
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ The null-hypothesis: there is no difference in standard deviations
+ (two sided test)
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if F &lt;= F<sub>(1-alpha/2; N1-1, N2-1)</sub> or F &gt;= F<sub>(alpha/2;
+ N1-1, N2-1)</sub>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The alternative hypothesis: there is a difference in means (two
+ sided test)
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if F<sub>(1-alpha/2; N1-1, N2-1)</sub> &lt;= F &lt;= F<sub>(alpha/2; N1-1,
+ N2-1)</sub>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The alternative hypothesis: Standard deviation of sample 1 is
+ greater than that of sample 2
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if F &lt; F<sub>(alpha; N1-1, N2-1)</sub>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The alternative hypothesis: Standard deviation of sample 1 is
+ less than that of sample 2
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if F &gt; F<sub>(1-alpha; N1-1, N2-1)</sub>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Where F<sub>(1-alpha; N1-1, N2-1)</sub> is the lower critical value of the F distribution
+ with degrees of freedom N1-1 and N2-1, and F<sub>(alpha; N1-1, N2-1)</sub> is the upper
+ critical value of the F distribution with degrees of freedom N1-1 and N2-1.
+ </p>
+<p>
+ The upper and lower critical values can be computed using the quantile
+ function:
+ </p>
+<p>
+ F<sub>(1-alpha; N1-1, N2-1)</sub> = <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">fisher_f</span><span class="special">(</span><span class="identifier">N1</span><span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="identifier">N2</span><span class="special">-</span><span class="number">1</span><span class="special">),</span>
+ <span class="identifier">alpha</span><span class="special">)</span></code>
+ </p>
+<p>
+ F<sub>(alpha; N1-1, N2-1)</sub> = <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">fisher_f</span><span class="special">(</span><span class="identifier">N1</span><span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="identifier">N2</span><span class="special">-</span><span class="number">1</span><span class="special">),</span>
+ <span class="identifier">alpha</span><span class="special">))</span></code>
+ </p>
+<p>
+ In our example program we need both upper and lower critical values for
+ alpha and for alpha/2:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ucv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">));</span>
+<span class="keyword">double</span> <span class="identifier">ucv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
+<span class="keyword">double</span> <span class="identifier">lcv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">lcv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+</pre>
+<p>
+ The final step is to perform the comparisons given above, and print out
+ whether the hypothesis is rejected or not:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"Results for Alternative Hypothesis and alpha"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Alternative Hypothesis Conclusion\n"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviations are unequal (two sided test) "</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">((</span><span class="identifier">ucv2</span> <span class="special">&lt;</span> <span class="identifier">F</span><span class="special">)</span> <span class="special">||</span> <span class="special">(</span><span class="identifier">lcv2</span> <span class="special">&gt;</span> <span class="identifier">F</span><span class="special">))</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
+<span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation 1 is less than standard deviation 2 "</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(</span><span class="identifier">lcv</span> <span class="special">&gt;</span> <span class="identifier">F</span><span class="special">)</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
+<span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation 1 is greater than standard deviation 2 "</span><span class="special">;</span>
+<span class="keyword">if</span><span class="special">(</span><span class="identifier">ucv</span> <span class="special">&lt;</span> <span class="identifier">F</span><span class="special">)</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
+<span class="keyword">else</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Using the ceramic strength data as an example we get the following output:
+ </p>
+<pre class="programlisting">F test for equal standard deviations
+____________________________________
+
+Sample 1:
+Number of Observations = 240
+Sample Standard Deviation = 65.549
+
+Sample 2:
+Number of Observations = 240
+Sample Standard Deviation = 61.854
+
+Test Statistic = 1.123
+
+CDF of test statistic: = 8.148e-001
+Upper Critical Value at alpha: = 1.238e+000
+Upper Critical Value at alpha/2: = 1.289e+000
+Lower Critical Value at alpha: = 8.080e-001
+Lower Critical Value at alpha/2: = 7.756e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard deviations are unequal (two sided test) REJECTED
+Standard deviation 1 is less than standard deviation 2 REJECTED
+Standard deviation 1 is greater than standard deviation 2 REJECTED
+</pre>
+<p>
+ In this case we are unable to reject the null-hypothesis, and must instead
+ reject the alternative hypothesis.
+ </p>
+<p>
+ By contrast let's see what happens when we use some different <a href="http://www.itl.nist.gov/div898/handbook/prc/section3/prc32.htm" target="_top">sample
+ data</a>:, once again from the NIST Engineering Statistics Handbook:
+ A new procedure to assemble a device is introduced and tested for possible
+ improvement in time of assembly. The question being addressed is whether
+ the standard deviation of the new assembly process (sample 2) is better
+ (i.e., smaller) than the standard deviation for the old assembly process
+ (sample 1).
+ </p>
+<pre class="programlisting">____________________________________
+F test for equal standard deviations
+____________________________________
+
+Sample 1:
+Number of Observations = 11.00000
+Sample Standard Deviation = 4.90820
+
+Sample 2:
+Number of Observations = 9.00000
+Sample Standard Deviation = 2.58740
+
+Test Statistic = 3.59847
+
+CDF of test statistic: = 9.589e-001
+Upper Critical Value at alpha: = 3.347e+000
+Upper Critical Value at alpha/2: = 4.295e+000
+Lower Critical Value at alpha: = 3.256e-001
+Lower Critical Value at alpha/2: = 2.594e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Standard deviations are unequal (two sided test) REJECTED
+Standard deviation 1 is less than standard deviation 2 REJECTED
+Standard deviation 1 is greater than standard deviation 2 ACCEPTED
+</pre>
+<p>
+ In this case we take our null hypothesis as "standard deviation 1
+ is less than or equal to standard deviation 2", since this represents
+ the "no change" situation. So we want to compare the upper critical
+ value at <span class="emphasis"><em>alpha</em></span> (a one sided test) with the test statistic,
+ and since 3.35 &lt; 3.6 this hypothesis must be rejected. We therefore
+ conclude that there is a change for the better in our standard deviation.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="cs_eg/chi_sq_size.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg.html
new file mode 100644
index 0000000000..66fa78eb67
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Find Location and Scale Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="error_eg.html" title="Error Handling Example">
+<link rel="next" href="find_eg/find_location_eg.html" title="Find Location (Mean) Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg/find_location_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.find_eg"></a><a class="link" href="find_eg.html" title="Find Location and Scale Examples">Find Location and
+ Scale Examples</a>
+</h4></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="find_eg/find_location_eg.html">Find
+ Location (Mean) Example</a></span></dt>
+<dt><span class="section"><a href="find_eg/find_scale_eg.html">Find
+ Scale (Standard Deviation) Example</a></span></dt>
+<dt><span class="section"><a href="find_eg/find_mean_and_sd_eg.html">Find
+ mean and standard deviation example</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="error_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg/find_location_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html
new file mode 100644
index 0000000000..661eb9e8e1
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_location_eg.html
@@ -0,0 +1,190 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Find Location (Mean) Example</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../find_eg.html" title="Find Location and Scale Examples">
+<link rel="prev" href="../find_eg.html" title="Find Location and Scale Examples">
+<link rel="next" href="find_scale_eg.html" title="Find Scale (Standard Deviation) Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_scale_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.find_eg.find_location_eg"></a><a class="link" href="find_location_eg.html" title="Find Location (Mean) Example">Find
+ Location (Mean) Example</a>
+</h5></div></div></div>
+<p>
+ First we need some includes to access the normal distribution, the algorithms
+ to find location (and some std output of course).
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for cauchy_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_location</span><span class="special">;</span> <span class="comment">// for mean</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_scale</span><span class="special">;</span> <span class="comment">// for standard devation</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span> <span class="comment">// Needed if you want to use the complement version.</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
+</pre>
+<p>
+ For this example, we will use the standard normal distribution, with
+ mean (location) zero and standard deviation (scale) unity. This is also
+ the default for this implementation.
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">N01</span><span class="special">;</span> <span class="comment">// Default 'standard' normal distribution with zero mean and</span>
+<span class="keyword">double</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span> <span class="comment">// normal default standard deviation is 1.</span>
+</pre>
+<p>
+ Suppose we want to find a different normal distribution whose mean is
+ shifted so that only fraction p (here 0.001 or 0.1%) are below a certain
+ chosen limit (here -2, two standard deviations).
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">2.</span><span class="special">;</span> <span class="comment">// z to give prob p</span>
+<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.001</span><span class="special">;</span> <span class="comment">// only 0.1% below z</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Note: uses complement.</span>
+</pre>
+<pre class="programlisting">Normal distribution with mean = 0, standard deviation 1, has fraction &lt;= -2, p = 0.0227501
+Normal distribution with mean = 0, standard deviation 1, has fraction &gt; -2, p = 0.97725
+</pre>
+<p>
+ We can now use ''find_location'' to give a new offset mean.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"offset location (mean) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ that outputs:
+ </p>
+<pre class="programlisting">offset location (mean) = 1.09023
+</pre>
+<p>
+ showing that we need to shift the mean just over one standard deviation
+ from its previous value of zero.
+ </p>
+<p>
+ Then we can check that we have achieved our objective by constructing
+ a new distribution with the offset mean (but same standard deviation):
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">np001pc</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span> <span class="comment">// Same standard_deviation (scale) but with mean (location) shifted.</span>
+</pre>
+<p>
+ And re-calculating the fraction below our chosen limit.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Normal distribution with mean = 1.09023 has fraction &lt;= -2, p = 0.001
+Normal distribution with mean = 1.09023 has fraction &gt; -2, p = 0.999
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.find_eg.find_location_eg.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.find_eg.find_location_eg.controlling_error_handling_from_"></a></span><a class="link" href="find_location_eg.html#math_toolkit.stat_tut.weg.find_eg.find_location_eg.controlling_error_handling_from_">Controlling
+ Error Handling from find_location</a>
+ </h5>
+<p>
+ We can also control the policy for handling various errors. For example,
+ we can define a new (possibly unwise) policy to ignore domain errors
+ ('bad' arguments).
+ </p>
+<p>
+ Unless we are using the boost::math namespace, we will need:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">;</span>
+</pre>
+<p>
+ Using a typedef is often convenient, especially if it is re-used, although
+ it is not required, as the various examples below show.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">ignore_domain_policy</span><span class="special">;</span>
+<span class="comment">// find_location with new policy, using typedef.</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">ignore_domain_policy</span><span class="special">());</span>
+<span class="comment">// Default policy policy&lt;&gt;, needs "using boost::math::policies::policy;"</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
+<span class="comment">// Default policy, fully specified.</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
+<span class="comment">// A new policy, ignoring domain errors, without using a typedef.</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;());</span>
+</pre>
+<p>
+ If we want to use a probability that is the <a class="link" href="../../overview/complements.html" title="Complements are supported too - and when to use them">complements</a>
+ of our probability, we should not even think of writing <code class="computeroutput"><span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">)</span></code>, but use the complement version, see
+ <a class="link" href="../../overview/complements.html#why_complements">why complements?</a>.
+ </p>
+<pre class="programlisting"><span class="identifier">z</span> <span class="special">=</span> <span class="number">2.</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="number">0.95</span><span class="special">;</span> <span class="comment">// = 1 - p; // complement.</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">));</span>
+
+<span class="identifier">normal</span> <span class="identifier">np95pc</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span> <span class="comment">// Same standard_deviation (scale) but with mean(location) shifted</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ See <a href="../../../../../../example/find_location_example.cpp" target="_top">find_location_example.cpp</a>
+ for full source code: the program output looks like this:
+ </p>
+<pre class="programlisting">Example: Find location (mean).
+Normal distribution with mean = 0, standard deviation 1, has fraction &lt;= -2, p = 0.0227501
+Normal distribution with mean = 0, standard deviation 1, has fraction &gt; -2, p = 0.97725
+offset location (mean) = 1.09023
+Normal distribution with mean = 1.09023 has fraction &lt;= -2, p = 0.001
+Normal distribution with mean = 1.09023 has fraction &gt; -2, p = 0.999
+Normal distribution with mean = 0.355146 has fraction &lt;= 2 = 0.95
+Normal distribution with mean = 0.355146 has fraction &gt; 2 = 0.05
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_scale_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html
new file mode 100644
index 0000000000..a95b892c09
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_mean_and_sd_eg.html
@@ -0,0 +1,456 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Find mean and standard deviation example</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../find_eg.html" title="Find Location and Scale Examples">
+<link rel="prev" href="find_scale_eg.html" title="Find Scale (Standard Deviation) Example">
+<link rel="next" href="../nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_scale_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nag_library.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg"></a><a class="link" href="find_mean_and_sd_eg.html" title="Find mean and standard deviation example">Find
+ mean and standard deviation example</a>
+</h5></div></div></div>
+<p>
+ First we need some includes to access the normal distribution, the algorithms
+ to find location and scale (and some std output of course).
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for cauchy_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_location</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_scale</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">showpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">stdexcept</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_find_location_and_find_sca"></a></span><a class="link" href="find_mean_and_sd_eg.html#math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_find_location_and_find_sca">Using
+ find_location and find_scale to meet dispensing and measurement specifications</a>
+ </h5>
+<p>
+ Consider an example from K Krishnamoorthy, Handbook of Statistical Distributions
+ with Applications, ISBN 1-58488-635-8, (2006) p 126, example 10.3.7.
+ </p>
+<p>
+ "A machine is set to pack 3 kg of ground beef per pack. Over a long
+ period of time it is found that the average packed was 3 kg with a standard
+ deviation of 0.1 kg. Assume the packing is normally distributed."
+ </p>
+<p>
+ We start by constructing a normal distribution with the given parameters:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">3.</span><span class="special">;</span> <span class="comment">// kg</span>
+<span class="keyword">double</span> <span class="identifier">standard_deviation</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span> <span class="comment">// kg</span>
+<span class="identifier">normal</span> <span class="identifier">packs</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+</pre>
+<p>
+ We can then find the fraction (or %) of packages that weigh more than
+ 3.1 kg.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">max_weight</span> <span class="special">=</span> <span class="number">3.1</span><span class="special">;</span> <span class="comment">// kg</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Percentage of packs &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">max_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span>
+<span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">max_weight</span><span class="special">))</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &gt; 3.1)</span>
+</pre>
+<p>
+ We might want to ensure that 95% of packs are over a minimum weight specification,
+ then we want the value of the mean such that P(X &lt; 2.9) = 0.05.
+ </p>
+<p>
+ Using the mean of 3 kg, we can estimate the fraction of packs that fail
+ to meet the specification of 2.9 kg.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">minimum_weight</span> <span class="special">=</span> <span class="number">2.9</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// fraction of packs &lt;= 2.9 with a mean of 3 is 0.841345</span>
+</pre>
+<p>
+ This is 0.84 - more than the target fraction of 0.95. If we want 95%
+ to be over the minimum weight, what should we set the mean weight to
+ be?
+ </p>
+<p>
+ Using the KK StatCalc program supplied with the book and the method given
+ on page 126 gives 3.06449.
+ </p>
+<p>
+ We can confirm this by constructing a new distribution which we call
+ 'xpacks' with a safety margin mean of 3.06449 thus:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">over_mean</span> <span class="special">=</span> <span class="number">3.06449</span><span class="special">;</span>
+<span class="identifier">normal</span> <span class="identifier">xpacks</span><span class="special">(</span><span class="identifier">over_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
+<span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">xpacks</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">xpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// fraction of packs &gt;= 2.9 with a mean of 3.06449 is 0.950005</span>
+</pre>
+<p>
+ Using this Math Toolkit, we can calculate the required mean directly
+ thus:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">under_fraction</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// so 95% are above the minimum weight mean - sd = 2.9</span>
+<span class="keyword">double</span> <span class="identifier">low_limit</span> <span class="special">=</span> <span class="identifier">standard_deviation</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">offset</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">-</span> <span class="identifier">low_limit</span> <span class="special">-</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">nominal_mean</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">+</span> <span class="identifier">offset</span><span class="special">;</span>
+<span class="comment">// mean + (mean - low_limit - quantile(packs, under_fraction));</span>
+
+<span class="identifier">normal</span> <span class="identifier">nominal_packs</span><span class="special">(</span><span class="identifier">nominal_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nominal_mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">nominal_packs</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Setting the packer to 3.06449 will mean that fraction of packs &gt;= 2.9 is 0.95</span>
+</pre>
+<p>
+ This calculation is generalized as the free function called <code class="computeroutput"><span class="identifier">find_location</span></code>, see <a class="link" href="../../../dist_ref/dist_algorithms.html" title="Distribution Algorithms">algorithms</a>.
+ </p>
+<p>
+ To use this we will need to
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_location</span><span class="special">;</span>
+</pre>
+<p>
+ and then use find_location function to find safe_mean, &amp; construct
+ a new normal distribution called 'goodpacks'.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">safe_mean</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">normal</span> <span class="identifier">good_packs</span><span class="special">(</span><span class="identifier">safe_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+</pre>
+<p>
+ with the same confirmation as before:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nominal_mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">good_packs</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Setting the packer to 3.06449 will mean that fraction of packs &gt;= 2.9 is 0.95</span>
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.h1"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_cauchy_lorentz_instead_of_"></a></span><a class="link" href="find_mean_and_sd_eg.html#math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_cauchy_lorentz_instead_of_">Using
+ Cauchy-Lorentz instead of normal distribution</a>
+ </h5>
+<p>
+ After examining the weight distribution of a large number of packs, we
+ might decide that, after all, the assumption of a normal distribution
+ is not really justified. We might find that the fit is better to a <a class="link" href="../../../dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy Distribution</a>.
+ This distribution has wider 'wings', so that whereas most of the values
+ are closer to the mean than the normal, there are also more values than
+ 'normal' that lie further from the mean than the normal.
+ </p>
+<p>
+ This might happen because a larger than normal lump of meat is either
+ included or excluded.
+ </p>
+<p>
+ We first create a <a class="link" href="../../../dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
+ Distribution</a> with the original mean and standard deviation, and
+ estimate the fraction that lie below our minimum weight specification.
+ </p>
+<pre class="programlisting"><span class="identifier">cauchy</span> <span class="identifier">cpacks</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Cauchy Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">cpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Cauchy Setting the packer to 3 will mean that fraction of packs &gt;= 2.9 is 0.75</span>
+</pre>
+<p>
+ Note that far fewer of the packs meet the specification, only 75% instead
+ of 95%. Now we can repeat the find_location, using the cauchy distribution
+ as template parameter, in place of the normal used above.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">lc</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">cauchy</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_location&lt;cauchy&gt;(minimum_weight, over fraction, standard_deviation); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">lc</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// find_location&lt;cauchy&gt;(minimum_weight, over fraction, packs.standard_deviation()); 3.53138</span>
+</pre>
+<p>
+ Note that the safe_mean setting needs to be much higher, 3.53138 instead
+ of 3.06449, so we will make rather less profit.
+ </p>
+<p>
+ And again confirm that the fraction meeting specification is as expected.
+ </p>
+<pre class="programlisting"><span class="identifier">cauchy</span> <span class="identifier">goodcpacks</span><span class="special">(</span><span class="identifier">lc</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Cauchy Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">lc</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">goodcpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Cauchy Setting the packer to 3.53138 will mean that fraction of packs &gt;= 2.9 is 0.95</span>
+</pre>
+<p>
+ Finally we could estimate the effect of a much tighter specification,
+ that 99% of packs met the specification.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Cauchy Setting the packer to "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">cauchy</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="number">0.99</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">goodcpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Setting the packer to 3.13263 will mean that fraction of packs &gt;=
+ 2.9 is 0.99, but will more than double the mean loss from 0.0644 to 0.133
+ kg per pack.
+ </p>
+<p>
+ Of course, this calculation is not limited to packs of meat, it applies
+ to dispensing anything, and it also applies to a 'virtual' material like
+ any measurement.
+ </p>
+<p>
+ The only caveat is that the calculation assumes that the standard deviation
+ (scale) is known with a reasonably low uncertainty, something that is
+ not so easy to ensure in practice. And that the distribution is well
+ defined, <a class="link" href="../../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a> or <a class="link" href="../../../dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
+ Distribution</a>, or some other.
+ </p>
+<p>
+ If one is simply dispensing a very large number of packs, then it may
+ be feasible to measure the weight of hundreds or thousands of packs.
+ With a healthy 'degrees of freedom', the confidence intervals for the
+ standard deviation are not too wide, typically about + and - 10% for
+ hundreds of observations.
+ </p>
+<p>
+ For other applications, where it is more difficult or expensive to make
+ many observations, the confidence intervals are depressingly wide.
+ </p>
+<p>
+ See <a class="link" href="../cs_eg/chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">Confidence
+ Intervals on the standard deviation</a> for a worked example <a href="../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_dev_test.cpp</a>
+ of estimating these intervals.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.h2"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.changing_the_scale_or_standard_d"></a></span><a class="link" href="find_mean_and_sd_eg.html#math_toolkit.stat_tut.weg.find_eg.find_mean_and_sd_eg.changing_the_scale_or_standard_d">Changing
+ the scale or standard deviation</a>
+ </h5>
+<p>
+ Alternatively, we could invest in a better (more precise) packer (or
+ measuring device) with a lower standard deviation, or scale.
+ </p>
+<p>
+ This might cost more, but would reduce the amount we have to 'give away'
+ in order to meet the specification.
+ </p>
+<p>
+ To estimate how much better (how much smaller standard deviation) it
+ would have to be, we need to get the 5% quantile to be located at the
+ under_weight limit, 2.9
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// wanted p th quantile.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Quantile of 0.05 = 2.83551, mean = 3, sd = 0.1
+ </p>
+<p>
+ With the current packer (mean = 3, sd = 0.1), the 5% quantile is at 2.8551
+ kg, a little below our target of 2.9 kg. So we know that the standard
+ deviation is going to have to be smaller.
+ </p>
+<p>
+ Let's start by guessing that it (now 0.1) needs to be halved, to a standard
+ deviation of 0.05 kg.
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack05</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Quantile of 0.05 = 2.91776, mean = 3, sd = 0.05</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.05 is 0.97725</span>
+</pre>
+<p>
+ So 0.05 was quite a good guess, but we are a little over the 2.9 target,
+ so the standard deviation could be a tiny bit more. So we could do some
+ more guessing to get closer, say by increasing standard deviation to
+ 0.06 kg, constructing another new distribution called pack06.
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack06</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.06</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Quantile of 0.05 = 2.90131, mean = 3, sd = 0.06</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.06 is 0.95221</span>
+</pre>
+<p>
+ Now we are getting really close, but to do the job properly, we might
+ need to use root finding method, for example the tools provided, and
+ used elsewhere, in the Math Toolkit, see <a class="link" href="../../../internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">root-finding
+ without derivatives</a>
+ </p>
+<p>
+ But in this (normal) distribution case, we can and should be even smarter
+ and make a direct calculation.
+ </p>
+<p>
+ Our required limit is minimum_weight = 2.9 kg, often called the random
+ variate z. For a standard normal distribution, then probability p = N((minimum_weight
+ - mean) / sd).
+ </p>
+<p>
+ We want to find the standard deviation that would be required to meet
+ this limit, so that the p th quantile is located at z (minimum_weight).
+ In this case, the 0.05 (5%) quantile is at 2.9 kg pack weight, when the
+ mean is 3 kg, ensuring that 0.95 (95%) of packs are above the minimum
+ weight.
+ </p>
+<p>
+ Rearranging, we can directly calculate the required standard deviation:
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">N01</span><span class="special">;</span> <span class="comment">// standard normal distribution with mean zero and unit standard deviation.</span>
+<span class="identifier">p</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">qp</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">p</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">sd95</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">minimum_weight</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">qp</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"For the "</span><span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">"th quantile to be located at "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">", would need a standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd95</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// For the 0.05th quantile to be located at 2.9, would need a standard deviation of 0.0607957</span>
+</pre>
+<p>
+ We can now construct a new (normal) distribution pack95 for the 'better'
+ packer, and check that our distribution will meet the specification.
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack95</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">sd95</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack95</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack95</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.0607957 is 0.95</span>
+</pre>
+<p>
+ This calculation is generalized in the free function find_scale, as shown
+ below, giving the same standard deviation.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ss</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">());</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); 0.0607957</span>
+</pre>
+<p>
+ If we had defined an over_fraction, or percentage that must pass specification
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">over_fraction</span> <span class="special">=</span> <span class="number">0.95</span><span class="special">;</span>
+</pre>
+<p>
+ And (wrongly) written
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">sso</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">over_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">());</span>
+</pre>
+<p>
+ With the default policy, we would get a message like
+ </p>
+<pre class="programlisting">Message from thrown exception was:
+ Error in function boost::math::find_scale&lt;Dist, Policy&gt;(double, double, double, Policy):
+ Computed scale (-0.060795683191176959) is &lt;= 0! Was the complement intended?
+</pre>
+<p>
+ But this would return a <span class="bold"><strong>negative</strong></span> standard
+ deviation - obviously impossible. The probability should be 1 - over_fraction,
+ not over_fraction, thus:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ss1o</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">over_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">());</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss1o</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); 0.0607957</span>
+</pre>
+<p>
+ But notice that using '1 - over_fraction' - will lead to a loss of accuracy,
+ especially if over_fraction was close to unity. (See <a class="link" href="../../overview/complements.html#why_complements">why
+ complements?</a>). In this (very common) case, we should instead use
+ the <a class="link" href="../../overview/complements.html" title="Complements are supported too - and when to use them">complements</a>,
+ giving the most accurate result.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ssc</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">over_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()));</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_scale&lt;normal&gt;(complement(minimum_weight, over_fraction, packs.mean())); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ssc</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// find_scale&lt;normal&gt;(complement(minimum_weight, over_fraction, packs.mean())); 0.0607957</span>
+</pre>
+<p>
+ Note that our guess of 0.06 was close to the accurate value of 0.060795683191176959.
+ </p>
+<p>
+ We can again confirm our prediction thus:
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack95c</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">ssc</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack95c</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack95c</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.0607957 is 0.95</span>
+</pre>
+<p>
+ Notice that these two deceptively simple questions:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Do we over-fill to make sure we meet a minimum specification (or
+ under-fill to avoid an overdose)?
+ </li></ul></div>
+<p>
+ and/or
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ Do we measure better?
+ </li></ul></div>
+<p>
+ are actually extremely common.
+ </p>
+<p>
+ The weight of beef might be replaced by a measurement of more or less
+ anything, from drug tablet content, Apollo landing rocket firing, X-ray
+ treatment doses...
+ </p>
+<p>
+ The scale can be variation in dispensing or uncertainty in measurement.
+ </p>
+<p>
+ See <a href="../../../../../../example/find_mean_and_sd_normal.cpp" target="_top">find_mean_and_sd_normal.cpp</a>
+ for full source code &amp; appended program output.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_scale_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nag_library.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html
new file mode 100644
index 0000000000..547dc2bb17
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/find_eg/find_scale_eg.html
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Find Scale (Standard Deviation) Example</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../find_eg.html" title="Find Location and Scale Examples">
+<link rel="prev" href="find_location_eg.html" title="Find Location (Mean) Example">
+<link rel="next" href="find_mean_and_sd_eg.html" title="Find mean and standard deviation example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_location_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_mean_and_sd_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.find_eg.find_scale_eg"></a><a class="link" href="find_scale_eg.html" title="Find Scale (Standard Deviation) Example">Find
+ Scale (Standard Deviation) Example</a>
+</h5></div></div></div>
+<p>
+ First we need some includes to access the <a class="link" href="../../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a>, the algorithms to find scale (and some std output
+ of course).
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_scale</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span> <span class="comment">// Needed if you want to use the complement version.</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span> <span class="comment">// Needed to specify the error handling policy.</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
+</pre>
+<p>
+ For this example, we will use the standard <a class="link" href="../../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a>, with location (mean) zero and standard deviation
+ (scale) unity. Conveniently, this is also the default for this implementation's
+ constructor.
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">N01</span><span class="special">;</span> <span class="comment">// Default 'standard' normal distribution with zero mean</span>
+<span class="keyword">double</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span> <span class="comment">// and standard deviation is 1.</span>
+</pre>
+<p>
+ Suppose we want to find a different normal distribution with standard
+ deviation so that only fraction p (here 0.001 or 0.1%) are below a certain
+ chosen limit (here -2. standard deviations).
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">2.</span><span class="special">;</span> <span class="comment">// z to give prob p</span>
+<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.001</span><span class="special">;</span> <span class="comment">// only 0.1% below z = -2</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span> <span class="comment">// aka N01.mean()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span> <span class="comment">// aka N01.standard_deviation()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Note: uses complement.</span>
+</pre>
+<pre class="programlisting">Normal distribution with mean = 0 has fraction &lt;= -2, p = 0.0227501
+Normal distribution with mean = 0 has fraction &gt; -2, p = 0.97725
+</pre>
+<p>
+ Noting that p = 0.02 instead of our target of 0.001, we can now use
+ <code class="computeroutput"><span class="identifier">find_scale</span></code> to give a
+ new standard deviation.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">();</span>
+<span class="keyword">double</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"scale (standard deviation) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ that outputs:
+ </p>
+<pre class="programlisting">scale (standard deviation) = 0.647201
+</pre>
+<p>
+ showing that we need to reduce the standard deviation from 1. to 0.65.
+ </p>
+<p>
+ Then we can check that we have achieved our objective by constructing
+ a new distribution with the new standard deviation (but same zero mean):
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">np001pc</span><span class="special">(</span><span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">);</span>
+</pre>
+<p>
+ And re-calculating the fraction below (and above) our chosen limit.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Normal distribution with mean = 0 has fraction &lt;= -2, p = 0.001
+Normal distribution with mean = 0 has fraction &gt; -2, p = 0.999
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.find_eg.find_scale_eg.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.find_eg.find_scale_eg.controlling_how_errors_from_find"></a></span><a class="link" href="find_scale_eg.html#math_toolkit.stat_tut.weg.find_eg.find_scale_eg.controlling_how_errors_from_find">Controlling
+ how Errors from find_scale are handled</a>
+ </h5>
+<p>
+ We can also control the policy for handling various errors. For example,
+ we can define a new (possibly unwise) policy to ignore domain errors
+ ('bad' arguments).
+ </p>
+<p>
+ Unless we are using the boost::math namespace, we will need:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">;</span>
+</pre>
+<p>
+ Using a typedef is convenient, especially if it is re-used, although
+ it is not required, as the various examples below show.
+ </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">ignore_domain_policy</span><span class="special">;</span>
+<span class="comment">// find_scale with new policy, using typedef.</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">ignore_domain_policy</span><span class="special">());</span>
+<span class="comment">// Default policy policy&lt;&gt;, needs using boost::math::policies::policy;</span>
+
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
+<span class="comment">// Default policy, fully specified.</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
+<span class="comment">// New policy, without typedef.</span>
+<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;());</span>
+</pre>
+<p>
+ If we want to express a probability, say 0.999, that is a complement,
+ <code class="computeroutput"><span class="number">1</span> <span class="special">-</span>
+ <span class="identifier">p</span></code> we should not even think
+ of writing <code class="computeroutput"><span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span>
+ <span class="identifier">p</span><span class="special">,</span>
+ <span class="identifier">l</span><span class="special">)</span></code>,
+ but use the <a class="link" href="../../overview/complements.html" title="Complements are supported too - and when to use them">complements</a>
+ version (see <a class="link" href="../../overview/complements.html#why_complements">why complements?</a>).
+ </p>
+<pre class="programlisting"><span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">2.</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="number">0.999</span><span class="special">;</span> <span class="comment">// = 1 - p; // complement of 0.001.</span>
+<span class="identifier">sd</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">l</span><span class="special">));</span>
+
+<span class="identifier">normal</span> <span class="identifier">np95pc</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span> <span class="comment">// Same standard_deviation (scale) but with mean(scale) shifted</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Sadly, it is all too easy to get probabilities the wrong way round, when
+ you may get a warning like this:
+ </p>
+<pre class="programlisting">Message from thrown exception was:
+ Error in function boost::math::find_scale&lt;Dist, Policy&gt;(complement(double, double, double, Policy)):
+ Computed scale (-0.48043523852179076) is &lt;= 0! Was the complement intended?
+</pre>
+<p>
+ The default error handling policy is to throw an exception with this
+ message, but if you chose a policy to ignore the error, the (impossible)
+ negative scale is quietly returned.
+ </p>
+<p>
+ See <a href="../../../../../../example/find_scale_example.cpp" target="_top">find_scale_example.cpp</a>
+ for full source code: the program output looks like this:
+ </p>
+<pre class="programlisting">Example: Find scale (standard deviation).
+Normal distribution with mean = 0, standard deviation 1, has fraction &lt;= -2, p = 0.0227501
+Normal distribution with mean = 0, standard deviation 1, has fraction &gt; -2, p = 0.97725
+scale (standard deviation) = 0.647201
+Normal distribution with mean = 0 has fraction &lt;= -2, p = 0.001
+Normal distribution with mean = 0 has fraction &gt; -2, p = 0.999
+Normal distribution with mean = 0.946339 has fraction &lt;= -2 = 0.001
+Normal distribution with mean = 0.946339 has fraction &gt; -2 = 0.999
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_location_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_mean_and_sd_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html
new file mode 100644
index 0000000000..2588abd4bf
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/geometric_eg.html
@@ -0,0 +1,422 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Geometric Distribution Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="binom_eg/binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">
+<link rel="next" href="neg_binom_eg.html" title="Negative Binomial Distribution Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binom_eg/binom_size_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.geometric_eg"></a><a class="link" href="geometric_eg.html" title="Geometric Distribution Examples">Geometric Distribution
+ Examples</a>
+</h4></div></div></div>
+<p>
+ For this example, we will opt to #define two macros to control the error
+ and discrete handling policies. For this simple example, we want to avoid
+ throwing an exception (the default policy) and just return infinity. We
+ want to treat the distribution as if it was continuous, so we choose a
+ discrete_quantile policy of real, rather than the default policy integer_round_outwards.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
+</pre>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ It is vital to #include distributions etc <span class="bold"><strong>after</strong></span>
+ the above #defines
+ </p></td></tr>
+</table></div>
+<p>
+ After that we need some includes to provide easy access to the negative
+ binomial distribution, and we need some std library iostream, of course.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">geometric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="comment">// for geometric_distribution</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">geometric_distribution</span><span class="special">;</span> <span class="comment">//</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">geometric</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">pdf</span><span class="special">;</span> <span class="comment">// Probability mass function.</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">;</span> <span class="comment">// Cumulative density function.</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="comment">// for negative_binomial_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="comment">// for negative_binomial_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
+</pre>
+<p>
+ It is always sensible to use try and catch blocks because defaults policies
+ are to throw an exception if anything goes wrong.
+ </p>
+<p>
+ Simple try'n'catch blocks (see below) will ensure that you get a helpful
+ error message instead of an abrupt (and silent) program abort.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.geometric_eg.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.geometric_eg.throwing_a_dice"></a></span><a class="link" href="geometric_eg.html#math_toolkit.stat_tut.weg.geometric_eg.throwing_a_dice">Throwing
+ a dice</a>
+ </h5>
+<p>
+ The Geometric distribution describes the probability (<span class="emphasis"><em>p</em></span>)
+ of a number of failures to get the first success in <span class="emphasis"><em>k</em></span>
+ Bernoulli trials. (A <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
+ trial</a> is one with only two possible outcomes, success of failure,
+ and <span class="emphasis"><em>p</em></span> is the probability of success).
+ </p>
+<p>
+ Suppose an 'fair' 6-face dice is thrown repeatedly:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">1.</span><span class="special">/</span><span class="number">6</span><span class="special">;</span> <span class="comment">// success_fraction (p) = 0.1666</span>
+<span class="comment">// (so failure_fraction is 1 - success_fraction = 5./6 = 1- 0.1666 = 0.8333)</span>
+</pre>
+<p>
+ If the dice is thrown repeatedly until the <span class="bold"><strong>first</strong></span>
+ time a <span class="emphasis"><em>three</em></span> appears. The probablility distribution
+ of the number of times it is thrown <span class="bold"><strong>not</strong></span>
+ getting a <span class="emphasis"><em>three</em></span> (<span class="emphasis"><em>not-a-threes</em></span>
+ number of failures to get a <span class="emphasis"><em>three</em></span>) is a geometric
+ distribution with the success_fraction = 1/6 = 0.1666&#8202;&#775;.
+ </p>
+<p>
+ We therefore start by constructing a geometric distribution with the one
+ parameter success_fraction, the probability of success.
+ </p>
+<pre class="programlisting"><span class="identifier">geometric</span> <span class="identifier">g6</span><span class="special">(</span><span class="identifier">success_fraction</span><span class="special">);</span> <span class="comment">// type double by default.</span>
+</pre>
+<p>
+ To confirm, we can echo the success_fraction parameter of the distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"success fraction of a six-sided dice is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">g6</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ So the probability of getting a three at the first throw (zero failures)
+ is
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1667</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1667</span>
+</pre>
+<p>
+ Note that the cdf and pdf are identical because the is only one throw.
+ If we want the probability of getting the first <span class="emphasis"><em>three</em></span>
+ on the 2nd throw:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1389</span>
+</pre>
+<p>
+ If we want the probability of getting the first <span class="emphasis"><em>three</em></span>
+ on the 1st or 2nd throw (allowing one failure):
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"pdf(g6, 0) + pdf(g6, 1) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Or more conveniently, and more generally, we can use the Cumulative Distribution
+ Function CDF.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(g6, 1) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.3056</span>
+</pre>
+<p>
+ If we allow many more (12) throws, the probability of getting our <span class="emphasis"><em>three</em></span>
+ gets very high:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(g6, 12) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">12</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.9065 or 90% probability.</span>
+</pre>
+<p>
+ If we want to be much more confident, say 99%, we can estimate the number
+ of throws to be this sure using the inverse or quantile.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"quantile(g6, 0.99) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0.99</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 24.26</span>
+</pre>
+<p>
+ Note that the value returned is not an integer: if you want an integer
+ result you should use either floor, round or ceil functions, or use the
+ policies mechanism.
+ </p>
+<p>
+ See <a class="link" href="../../pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">understanding
+ discrete quantiles</a>.
+ </p>
+<p>
+ The geometric distribution is related to the negative binomial &#8192;&#8192; <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span>
+ <span class="identifier">p</span><span class="special">);</span></code>
+ with parameter <span class="emphasis"><em>r</em></span> = 1. So we could get the same result
+ using the negative binomial, but using the geometric the results will be
+ faster, and may be more accurate.
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">nb</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1389</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.3056</span>
+</pre>
+<p>
+ We could also the complement to express the required probability as 1 -
+ 0.99 = 0.01 (and get the same result):
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"quantile(complement(g6, 1 - p)) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0.01</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 24.26</span>
+</pre>
+<p>
+ Note too that Boost.Math geometric distribution is implemented as a continuous
+ function. Unlike other implementations (for example R) it <span class="bold"><strong>uses</strong></span>
+ the number of failures as a <span class="bold"><strong>real</strong></span> parameter,
+ not as an integer. If you want this integer behaviour, you may need to
+ enforce this by rounding the parameter you pass, probably rounding down,
+ to the nearest integer. For example, R returns the success fraction probability
+ for all values of failures from 0 to 0.999999 thus:
+ </p>
+<pre class="programlisting">&#8192;&#8192; R&gt; formatC(pgeom(0.0001,0.5, FALSE), digits=17) " 0.5"
+</pre>
+<p>
+ So in Boost.Math the equivalent is
+ </p>
+<pre class="programlisting"> <span class="identifier">geometric</span> <span class="identifier">g05</span><span class="special">(</span><span class="number">0.5</span><span class="special">);</span> <span class="comment">// Probability of success = 0.5 or 50%</span>
+ <span class="comment">// Output all potentially significant digits for the type, here double.</span>
+
+<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_NO_CXX11_NUMERIC_LIMITS</span>
+ <span class="keyword">int</span> <span class="identifier">max_digits10</span> <span class="special">=</span> <span class="number">2</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;()</span> <span class="special">*</span> <span class="number">30103UL</span><span class="special">)</span> <span class="special">/</span> <span class="number">100000UL</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"BOOST_NO_CXX11_NUMERIC_LIMITS is defined"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#else</span>
+ <span class="keyword">int</span> <span class="identifier">max_digits10</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">;</span>
+<span class="preprocessor">#endif</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Show all potentially significant decimal digits std::numeric_limits&lt;double&gt;::max_digits10 = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">max_digits10</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">max_digits10</span><span class="special">);</span> <span class="comment">//</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g05</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// returns 0.5000346561579232, not exact 0.5.</span>
+</pre>
+<p>
+ To get the R discrete behaviour, you simply need to round with, for example,
+ the <code class="computeroutput"><span class="identifier">floor</span></code> function.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g05</span><span class="special">,</span> <span class="identifier">floor</span><span class="special">(</span><span class="number">0.0001</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// returns exactly 0.5</span>
+</pre>
+<pre class="programlisting"><code class="computeroutput"><span class="special">&gt;</span> <span class="identifier">formatC</span><span class="special">(</span><span class="identifier">pgeom</span><span class="special">(</span><span class="number">0.9999999</span><span class="special">,</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">FALSE</span><span class="special">),</span> <span class="identifier">digits</span><span class="special">=</span><span class="number">17</span><span class="special">)</span> <span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="string">" 0.25"</span></code>
+<code class="computeroutput"><span class="special">&gt;</span> <span class="identifier">formatC</span><span class="special">(</span><span class="identifier">pgeom</span><span class="special">(</span><span class="number">1.999999</span><span class="special">,</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">FALSE</span><span class="special">),</span> <span class="identifier">digits</span><span class="special">=</span><span class="number">17</span><span class="special">)[</span><span class="number">1</span><span class="special">]</span> <span class="string">" 0.25"</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">1</span></code>
+<code class="computeroutput"><span class="special">&gt;</span> <span class="identifier">formatC</span><span class="special">(</span><span class="identifier">pgeom</span><span class="special">(</span><span class="number">1.9999999</span><span class="special">,</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">FALSE</span><span class="special">),</span> <span class="identifier">digits</span><span class="special">=</span><span class="number">17</span><span class="special">)[</span><span class="number">1</span><span class="special">]</span> <span class="string">"0.12500000000000003"</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">2</span></code>
+</pre>
+<p>
+ shows that R makes an arbitrary round-up decision at about 1e7 from the
+ next integer above. This may be convenient in practice, and could be replicated
+ in C++ if desired.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.geometric_eg.h1"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.geometric_eg.surveying_customers_to_find_one_"></a></span><a class="link" href="geometric_eg.html#math_toolkit.stat_tut.weg.geometric_eg.surveying_customers_to_find_one_">Surveying
+ customers to find one with a faulty product</a>
+ </h5>
+<p>
+ A company knows from warranty claims that 2% of their products will be
+ faulty, so the 'success_fraction' of finding a fault is 0.02. It wants
+ to interview a purchaser of faulty products to assess their 'user experience'.
+ </p>
+<p>
+ To estimate how many customers they will probably need to contact in order
+ to find one who has suffered from the fault, we first construct a geometric
+ distribution with probability 0.02, and then chose a confidence, say 80%,
+ 95%, or 99% to finding a customer with a fault. Finally, we probably want
+ to round up the result to the integer above using the <code class="computeroutput"><span class="identifier">ceil</span></code>
+ function. (We could also use a policy, but that is hardly worthwhile for
+ this simple application.)
+ </p>
+<p>
+ (This also assumes that each customer only buys one product: if customers
+ bought more than one item, the probability of finding a customer with a
+ fault obviously improves.)
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="identifier">geometric</span> <span class="identifier">g</span><span class="special">(</span><span class="number">0.02</span><span class="special">);</span> <span class="comment">// On average, 2 in 100 products are faulty.</span>
+<span class="keyword">double</span> <span class="identifier">c</span> <span class="special">=</span> <span class="number">0.95</span><span class="special">;</span> <span class="comment">// 95% confidence.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" quantile(g, "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"To be "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">*</span> <span class="number">100</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"% confident of finding we customer with a fault, need to survey "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" customers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 148</span>
+<span class="identifier">c</span> <span class="special">=</span> <span class="number">0.99</span><span class="special">;</span> <span class="comment">// Very confident.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"To be "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">*</span> <span class="number">100</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"% confident of finding we customer with a fault, need to survey "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" customers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 227</span>
+<span class="identifier">c</span> <span class="special">=</span> <span class="number">0.80</span><span class="special">;</span> <span class="comment">// Only reasonably confident.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"To be "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">*</span> <span class="number">100</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"% confident of finding we customer with a fault, need to survey "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" customers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 79</span>
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.geometric_eg.h2"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.geometric_eg.basket_ball_shooters"></a></span><a class="link" href="geometric_eg.html#math_toolkit.stat_tut.weg.geometric_eg.basket_ball_shooters">Basket
+ Ball Shooters</a>
+ </h5>
+<p>
+ According to Wikipedia, average pro basket ball players get <a href="http://en.wikipedia.org/wiki/Free_throw" target="_top">free
+ throws</a> in the baskets 70 to 80 % of the time, but some get as high
+ as 95%, and others as low as 50%. Suppose we want to compare the probabilities
+ of failing to get a score only on the first or on the fifth shot? To start
+ we will consider the average shooter, say 75%. So we construct a geometric
+ distribution with success_fraction parameter 75/100 = 0.75.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">geometric</span> <span class="identifier">gav</span><span class="special">(</span><span class="number">0.75</span><span class="special">);</span> <span class="comment">// Shooter averages 7.5 out of 10 in the basket.</span>
+</pre>
+<p>
+ What is probability of getting 1st try in the basket, that is with no failures?
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 1st try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gav</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.75</span>
+</pre>
+<p>
+ This is, of course, the success_fraction probability 75%. What is the probability
+ that the shooter only scores on the fifth shot? So there are 5-1 = 4 failures
+ before the first success.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 5th try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gav</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.0029</span>
+</pre>
+<p>
+ Now compare this with the poor and the best players success fraction. We
+ need to constructing new distributions with the different success fractions,
+ and then get the corresponding probability density functions values:
+ </p>
+<pre class="programlisting"><span class="identifier">geometric</span> <span class="identifier">gbest</span><span class="special">(</span><span class="number">0.95</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 5th try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gbest</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5.9e-6</span>
+<span class="identifier">geometric</span> <span class="identifier">gmediocre</span><span class="special">(</span><span class="number">0.50</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 5th try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gmediocre</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.031</span>
+</pre>
+<p>
+ So we can see the very much smaller chance (0.000006) of 4 failures by
+ the best shooters, compared to the 0.03 of the mediocre.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.geometric_eg.h3"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.geometric_eg.estimating_failures"></a></span><a class="link" href="geometric_eg.html#math_toolkit.stat_tut.weg.geometric_eg.estimating_failures">Estimating
+ failures</a>
+ </h5>
+<p>
+ Of course one man's failure is an other man's success. So a fault can be
+ defined as a 'success'.
+ </p>
+<p>
+ If a fault occurs once after 100 flights, then one might naively say that
+ the risk of fault is obviously 1 in 100 = 1/100, a probability of 0.01.
+ </p>
+<p>
+ This is the best estimate we can make, but while it is the truth, it is
+ not the whole truth, for it hides the big uncertainty when estimating from
+ a single event. "One swallow doesn't make a summer." To show
+ the magnitude of the uncertainty, the geometric (or the negative binomial)
+ distribution can be used.
+ </p>
+<p>
+ If we chose the popular 95% confidence in the limits, corresponding to
+ an alpha of 0.05, because we are calculating a two-sided interval, we must
+ divide alpha by two.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span> <span class="comment">// So frequency of occurence is 1/100.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability is failure is "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span><span class="special">/</span><span class="identifier">k</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_lower_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.00025</span>
+<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_upper_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.037</span>
+</pre>
+<p>
+ So while we estimate the probability is 0.01, it might lie between 0.0003
+ and 0.04. Even if we relax our confidence to alpha = 90%, the bounds only
+ contract to 0.0005 and 0.03. And if we require a high confidence, they
+ widen to 0.00005 to 0.05.
+ </p>
+<pre class="programlisting"><span class="identifier">alpha</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span> <span class="comment">// 90% confidence.</span>
+<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_lower_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.0005</span>
+<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_upper_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.03</span>
+
+<span class="identifier">alpha</span> <span class="special">=</span> <span class="number">0.01</span><span class="special">;</span> <span class="comment">// 99% confidence.</span>
+<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_lower_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5e-005</span>
+<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_upper_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.052</span>
+</pre>
+<p>
+ In real life, there will usually be more than one event (fault or success),
+ when the negative binomial, which has the neccessary extra parameter, will
+ be needed.
+ </p>
+<p>
+ As noted above, using a catch block is always a good idea, even if you
+ hope not to use it!
+ </p>
+<pre class="programlisting"><span class="special">}</span>
+<span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span> <span class="comment">// Since we have set an overflow policy of ignore_error,</span>
+ <span class="comment">// an overflow exception should never be thrown.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nMessage from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ For example, without a ignore domain error policy, if we asked for
+ </p>
+<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span></pre>
+<p>
+ for example, we would get an unhelpful abort, but with a catch:
+ </p>
+<pre class="programlisting">Message from thrown exception was:
+ Error in function boost::math::pdf(const exponential_distribution&lt;double&gt;&amp;, double):
+ Number of failures argument is -1, but must be &gt;= 0 !
+</pre>
+<p>
+ See full source C++ of this example at <a href="../../../../../example/geometric_examples.cpp" target="_top">geometric_examples.cpp</a>
+ </p>
+<p>
+ <a class="link" href="neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
+ negative_binomial confidence interval example.</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binom_eg/binom_size_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html
new file mode 100644
index 0000000000..a13c8920e8
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/inverse_chi_squared_eg.html
@@ -0,0 +1,360 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inverse Chi-Squared Distribution Bayes Example</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution">
+<link rel="next" href="nccs_eg.html" title="Non Central Chi Squared Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="normal_example/normal_misc.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.inverse_chi_squared_eg"></a><a class="link" href="inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example">Inverse
+ Chi-Squared Distribution Bayes Example</a>
+</h4></div></div></div>
+<p>
+ The scaled-inversed-chi-squared distribution is the conjugate prior distribution
+ for the variance (&#963;<sup>2</sup>) parameter of a normal distribution with known expectation
+ (&#956;). As such it has widespread application in Bayesian statistics:
+ </p>
+<p>
+ In <a href="http://en.wikipedia.org/wiki/Bayesian_inference" target="_top">Bayesian
+ inference</a>, the strength of belief into certain parameter values
+ is itself described through a distribution. Parameters hence become themselves
+ modelled and interpreted as random variables.
+ </p>
+<p>
+ In this worked example, we perform such a Bayesian analysis by using the
+ scaled-inverse-chi-squared distribution as prior and posterior distribution
+ for the variance parameter of a normal distribution.
+ </p>
+<p>
+ For more general information on Bayesian type of analyses, see:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Andrew Gelman, John B. Carlin, Hal E. Stern, Donald B. Rubin, Bayesian
+ Data Analysis, 2003, ISBN 978-1439840955.
+ </li>
+<li class="listitem">
+ Jim Albert, Bayesian Compution with R, Springer, 2009, ISBN 978-0387922973.
+ </li>
+</ul></div>
+<p>
+ (As the scaled-inversed-chi-squared is another parameterization of the
+ inverse-gamma distribution, this example could also have used the inverse-gamma
+ distribution).
+ </p>
+<p>
+ Consider precision machines which produce balls for a high-quality ball
+ bearing. Ideally each ball should have a diameter of precisely 3000 &#956;m (3
+ mm). Assume that machines generally produce balls of that size on average
+ (mean), but individual balls can vary slightly in either direction following
+ (approximately) a normal distribution. Depending on various production
+ conditions (e.g. raw material used for balls, workplace temperature and
+ humidity, maintenance frequency and quality) some machines produce balls
+ tighter distributed around the target of 3000 &#956;m, while others produce balls
+ with a wider distribution. Therefore the variance parameter of the normal
+ distribution of the ball sizes varies from machine to machine. An extensive
+ survey by the precision machinery manufacturer, however, has shown that
+ most machines operate with a variance between 15 and 50, and near 25 &#956;m<sup>2</sup> on
+ average.
+ </p>
+<p>
+ Using this information, we want to model the variance of the machines.
+ The variance is strictly positive, and therefore we look for a statistical
+ distribution with support in the positive domain of the real numbers. Given
+ the expectation of the normal distribution of the balls is known (3000
+ &#956;m), for reasons of conjugacy, it is customary practice in Bayesian statistics
+ to model the variance to be scaled-inverse-chi-squared distributed.
+ </p>
+<p>
+ In a first step, we will try to use the survey information to model the
+ general knowledge about the variance parameter of machines measured by
+ the manufacturer. This will provide us with a generic prior distribution
+ that is applicable if nothing more specific is known about a particular
+ machine.
+ </p>
+<p>
+ In a second step, we will then combine the prior-distribution information
+ in a Bayesian analysis with data on a specific single machine to derive
+ a posterior distribution for that machine.
+ </p>
+<h6>
+<a name="math_toolkit.stat_tut.weg.inverse_chi_squared_eg.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.inverse_chi_squared_eg.step_one_using_the_survey_inform"></a></span><a class="link" href="inverse_chi_squared_eg.html#math_toolkit.stat_tut.weg.inverse_chi_squared_eg.step_one_using_the_survey_inform">Step
+ one: Using the survey information.</a>
+ </h6>
+<p>
+ Using the survey results, we try to find the parameter set of a scaled-inverse-chi-squared
+ distribution so that the properties of this distribution match the results.
+ Using the mathematical properties of the scaled-inverse-chi-squared distribution
+ as guideline, we see that that both the mean and mode of the scaled-inverse-chi-squared
+ distribution are approximately given by the scale parameter (s) of the
+ distribution. As the survey machines operated at a variance of 25 &#956;m<sup>2</sup> on
+ average, we hence set the scale parameter (s<sub>prior</sub>) of our prior distribution
+ equal to this value. Using some trial-and-error and calls to the global
+ quantile function, we also find that a value of 20 for the degrees-of-freedom
+ (&#957;<sub>prior</sub>) parameter is adequate so that most of the prior distribution mass
+ is located between 15 and 50 (see figure below).
+ </p>
+<p>
+ We first construct our prior distribution using these values, and then
+ list out a few quantiles:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">priorDF</span> <span class="special">=</span> <span class="number">20.0</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">priorScale</span> <span class="special">=</span> <span class="number">25.0</span><span class="special">;</span>
+
+<span class="identifier">inverse_chi_squared</span> <span class="identifier">prior</span><span class="special">(</span><span class="identifier">priorDF</span><span class="special">,</span> <span class="identifier">priorScale</span><span class="special">);</span>
+<span class="comment">// Using an inverse_gamma distribution instead, we could equivalently write</span>
+<span class="comment">// inverse_gamma prior(priorDF / 2.0, priorScale * priorDF / 2.0);</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Prior distribution:"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 2.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 50% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 97.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ This produces this output:
+ </p>
+<pre class="programlisting"><span class="identifier">Prior</span> <span class="identifier">distribution</span><span class="special">:</span>
+
+<span class="number">2.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">14.6</span>
+<span class="number">50</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">25.9</span>
+<span class="number">97.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">52.1</span>
+</pre>
+<p>
+ Based on this distribution, we can now calculate the probability of having
+ a machine working with an unusual work precision (variance) at &lt;= 15
+ or &gt; 50. For this task, we use calls to the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span></code> functions <code class="computeroutput"><span class="identifier">cdf</span></code>
+ and <code class="computeroutput"><span class="identifier">complement</span></code>, respectively,
+ and find a probability of about 0.031 (3.1%) for each case.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 15: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">15.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 25: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">25.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &gt; 50: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">50.0</span><span class="special">))</span>
+<span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ This produces this output:
+ </p>
+<pre class="programlisting"><span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">15</span><span class="special">:</span> <span class="number">0.031</span>
+<span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">25</span><span class="special">:</span> <span class="number">0.458</span>
+<span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&gt;</span> <span class="number">50</span><span class="special">:</span> <span class="number">0.0318</span>
+</pre>
+<p>
+ Therefore, only 3.1% of all precision machines produce balls with a variance
+ of 15 or less (particularly precise machines), but also only 3.2% of all
+ machines produce balls with a variance of as high as 50 or more (particularly
+ imprecise machines). Moreover, slightly more than one-half (1 - 0.458 =
+ 54.2%) of the machines work at a variance greater than 25.
+ </p>
+<p>
+ Notice here the distinction between a <a href="http://en.wikipedia.org/wiki/Bayesian_inference" target="_top">Bayesian</a>
+ analysis and a <a href="http://en.wikipedia.org/wiki/Frequentist_inference" target="_top">frequentist</a>
+ analysis: because we model the variance as random variable itself, we can
+ calculate and straightforwardly interpret probabilities for given parameter
+ values directly, while such an approach is not possible (and interpretationally
+ a strict <span class="emphasis"><em>must-not</em></span>) in the frequentist world.
+ </p>
+<h6>
+<a name="math_toolkit.stat_tut.weg.inverse_chi_squared_eg.h1"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.inverse_chi_squared_eg.step_2_investigate_a_single_mach"></a></span><a class="link" href="inverse_chi_squared_eg.html#math_toolkit.stat_tut.weg.inverse_chi_squared_eg.step_2_investigate_a_single_mach">Step
+ 2: Investigate a single machine</a>
+ </h6>
+<p>
+ In the second step, we investigate a single machine, which is suspected
+ to suffer from a major fault as the produced balls show fairly high size
+ variability. Based on the prior distribution of generic machinery performance
+ (derived above) and data on balls produced by the suspect machine, we calculate
+ the posterior distribution for that machine and use its properties for
+ guidance regarding continued machine operation or suspension.
+ </p>
+<p>
+ It can be shown that if the prior distribution was chosen to be scaled-inverse-chi-square
+ distributed, then the posterior distribution is also scaled-inverse-chi-squared-distributed
+ (prior and posterior distributions are hence conjugate). For more details
+ regarding conjugacy and formula to derive the parameters set for the posterior
+ distribution see <a href="http://en.wikipedia.org/wiki/Conjugate_prior" target="_top">Conjugate
+ prior</a>.
+ </p>
+<p>
+ Given the prior distribution parameters and sample data (of size n), the
+ posterior distribution parameters are given by the two expressions:
+ </p>
+<p>
+ &#8192;&#8192; &#957;<sub>posterior</sub> = &#957;<sub>prior</sub> + n
+ </p>
+<p>
+ which gives the posteriorDF below, and
+ </p>
+<p>
+ &#8192;&#8192; s<sub>posterior</sub> = (&#957;<sub>prior</sub>s<sub>prior</sub> + &#931;<sup>n</sup><sub>i=1</sub>(x<sub>i</sub> - &#956;)<sup>2</sup>) / (&#957;<sub>prior</sub> + n)
+ </p>
+<p>
+ which after some rearrangement gives the formula for the posteriorScale
+ below.
+ </p>
+<p>
+ Machine-specific data consist of 100 balls which were accurately measured
+ and show the expected mean of 3000 &#956;m and a sample variance of 55 (calculated
+ for a sample mean defined to be 3000 exactly). From these data, the prior
+ parameterization, and noting that the term &#931;<sup>n</sup><sub>i=1</sub>(x<sub>i</sub> - &#956;)<sup>2</sup> equals the sample
+ variance multiplied by n - 1, it follows that the posterior distribution
+ of the variance parameter is scaled-inverse-chi-squared distribution with
+ degrees-of-freedom (&#957;<sub>posterior</sub>) = 120 and scale (s<sub>posterior</sub>) = 49.54.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">ballsSampleSize</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"balls sample size: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ballsSampleSize</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">ballsSampleVariance</span> <span class="special">=</span> <span class="number">55.0</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"balls sample variance: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ballsSampleVariance</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">posteriorDF</span> <span class="special">=</span> <span class="identifier">priorDF</span> <span class="special">+</span> <span class="identifier">ballsSampleSize</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"prior degrees-of-freedom: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">priorDF</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"posterior degrees-of-freedom: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">posteriorDF</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="keyword">double</span> <span class="identifier">posteriorScale</span> <span class="special">=</span>
+ <span class="special">(</span><span class="identifier">priorDF</span> <span class="special">*</span> <span class="identifier">priorScale</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">ballsSampleVariance</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">ballsSampleSize</span> <span class="special">-</span> <span class="number">1</span><span class="special">)))</span> <span class="special">/</span> <span class="identifier">posteriorDF</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"prior scale: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">priorScale</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"posterior scale: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">posteriorScale</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ An interesting feature here is that one needs only to know a summary statistics
+ of the sample to parameterize the posterior distribution: the 100 individual
+ ball measurements are irrelevant, just knowledge of the sample variance
+ and number of measurements is sufficient.
+ </p>
+<p>
+ That produces this output:
+ </p>
+<pre class="programlisting"><span class="identifier">balls</span> <span class="identifier">sample</span> <span class="identifier">size</span><span class="special">:</span> <span class="number">100</span>
+<span class="identifier">balls</span> <span class="identifier">sample</span> <span class="identifier">variance</span><span class="special">:</span> <span class="number">55</span>
+<span class="identifier">prior</span> <span class="identifier">degrees</span><span class="special">-</span><span class="identifier">of</span><span class="special">-</span><span class="identifier">freedom</span><span class="special">:</span> <span class="number">20</span>
+<span class="identifier">posterior</span> <span class="identifier">degrees</span><span class="special">-</span><span class="identifier">of</span><span class="special">-</span><span class="identifier">freedom</span><span class="special">:</span> <span class="number">120</span>
+<span class="identifier">prior</span> <span class="identifier">scale</span><span class="special">:</span> <span class="number">25</span>
+<span class="identifier">posterior</span> <span class="identifier">scale</span><span class="special">:</span> <span class="number">49.5</span>
+
+</pre>
+<p>
+ To compare the generic machinery performance with our suspect machine,
+ we calculate again the same quantiles and probabilities as above, and find
+ a distribution clearly shifted to greater values (see figure).
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/prior_posterior_plot.png" align="middle"></span>
+ </p>
+<pre class="programlisting"><span class="identifier">inverse_chi_squared</span> <span class="identifier">posterior</span><span class="special">(</span><span class="identifier">posteriorDF</span><span class="special">,</span> <span class="identifier">posteriorScale</span><span class="special">);</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Posterior distribution:"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 2.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 50% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 97.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 15: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">15.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 25: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">25.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &gt; 50: "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">50.0</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ This produces this output:
+ </p>
+<pre class="programlisting"><span class="identifier">Posterior</span> <span class="identifier">distribution</span><span class="special">:</span>
+
+ <span class="number">2.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">39.1</span>
+ <span class="number">50</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">49.8</span>
+ <span class="number">97.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">64.9</span>
+
+ <span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">15</span><span class="special">:</span> <span class="number">2.97e-031</span>
+ <span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">25</span><span class="special">:</span> <span class="number">8.85e-010</span>
+ <span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&gt;</span> <span class="number">50</span><span class="special">:</span> <span class="number">0.489</span>
+</pre>
+<p>
+ Indeed, the probability that the machine works at a low variance (&lt;=
+ 15) is almost zero, and even the probability of working at average or better
+ performance is negligibly small (less than one-millionth of a permille).
+ On the other hand, with an almost near-half probability (49%), the machine
+ operates in the extreme high variance range of &gt; 50 characteristic for
+ poorly performing machines.
+ </p>
+<p>
+ Based on this information the operation of the machine is taken out of
+ use and serviced.
+ </p>
+<p>
+ In summary, the Bayesian analysis allowed us to make exact probabilistic
+ statements about a parameter of interest, and hence provided us results
+ with straightforward interpretation.
+ </p>
+<p>
+ A full sample output is:
+ </p>
+<pre class="programlisting"> Inverse_chi_squared_distribution Bayes example:
+
+ Prior distribution:
+
+ 2.5% quantile: 14.6
+ 50% quantile: 25.9
+ 97.5% quantile: 52.1
+
+ probability variance &lt;= 15: 0.031
+ probability variance &lt;= 25: 0.458
+ probability variance &gt; 50: 0.0318
+
+ balls sample size: 100
+ balls sample variance: 55
+ prior degrees-of-freedom: 20
+ posterior degrees-of-freedom: 120
+ prior scale: 25
+ posterior scale: 49.5
+ Posterior distribution:
+
+ 2.5% quantile: 39.1
+ 50% quantile: 49.8
+ 97.5% quantile: 64.9
+
+ probability variance &lt;= 15: 2.97e-031
+ probability variance &lt;= 25: 8.85e-010
+ probability variance &gt; 50: 0.489
+
+</pre>
+<p>
+ (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">Inverse
+ chi squared Distribution</a>.)
+ </p>
+<p>
+ See the full source C++ of this example at <a href="../../../../../example/inverse_chi_squared_bayes_eg.cpp" target="_top">../../example/inverse_chi_squared_bayes_eg.cpp</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="normal_example/normal_misc.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/nag_library.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/nag_library.html
new file mode 100644
index 0000000000..ac37b44fca
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/nag_library.html
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Comparison with C, R, FORTRAN-style Free Functions</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example">
+<link rel="next" href="c_sharp.html" title="Using the Distributions from Within C#">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_eg/find_mean_and_sd_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c_sharp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.nag_library"></a><a class="link" href="nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">Comparison with
+ C, R, FORTRAN-style Free Functions</a>
+</h4></div></div></div>
+<p>
+ You are probably familiar with a statistics library that has free functions,
+ for example the classic <a href="http://nag.com/numeric/CL/CLdescription.asp" target="_top">NAG
+ C library</a> and matching <a href="http://nag.com/numeric/FL/FLdescription.asp" target="_top">NAG
+ FORTRAN Library</a>, <a href="http://office.microsoft.com/en-us/excel/HP052090051033.aspx" target="_top">Microsoft
+ Excel BINOMDIST(number_s,trials,probability_s,cumulative)</a>, <a href="http://www.r-project.org/" target="_top">R</a>, <a href="http://www.ptc.com/products/mathcad/mathcad14/mathcad_func_chart.htm" target="_top">MathCAD
+ pbinom</a> and many others.
+ </p>
+<p>
+ If so, you may find 'Distributions as Objects' unfamiliar, if not alien.
+ </p>
+<p>
+ However, <span class="bold"><strong>do not panic</strong></span>, both definition
+ and usage are not really very different.
+ </p>
+<p>
+ A very simple example of generating the same values as the <a href="http://nag.com/numeric/CL/CLdescription.asp" target="_top">NAG
+ C library</a> for the binomial distribution follows. (If you find slightly
+ different values, the Boost C++ version, using double or better, is very
+ likely to be the more accurate. Of course, accuracy is not usually a concern
+ for most applications of this function).
+ </p>
+<p>
+ The <a href="http://www.nag.co.uk/numeric/cl/manual/pdf/G01/g01bjc.pdf" target="_top">NAG
+ function specification</a> is
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">nag_binomial_dist</span><span class="special">(</span><span class="identifier">Integer</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">Integer</span> <span class="identifier">k</span><span class="special">,</span>
+<span class="keyword">double</span> <span class="special">*</span><span class="identifier">plek</span><span class="special">,</span> <span class="keyword">double</span> <span class="special">*</span><span class="identifier">pgtk</span><span class="special">,</span> <span class="keyword">double</span> <span class="special">*</span><span class="identifier">peqk</span><span class="special">,</span> <span class="identifier">NagError</span> <span class="special">*</span><span class="identifier">fail</span><span class="special">)</span>
+</pre>
+<p>
+ and is called
+ </p>
+<pre class="programlisting"><span class="identifier">g01bjc</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">plek</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">pgtk</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">peqk</span><span class="special">,</span> <span class="identifier">NAGERR_DEFAULT</span><span class="special">);</span>
+</pre>
+<p>
+ The equivalent using this Boost C++ library is:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span> <span class="comment">// Using declaration avoids very long names.</span>
+<span class="identifier">binomial</span> <span class="identifier">my_dist</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// c.f. NAG n = 4, p = 0.5</span>
+</pre>
+<p>
+ and values can be output thus:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">my_dist</span><span class="special">.</span><span class="identifier">trials</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// Echo the NAG input n = 4 trials.</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">my_dist</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// Echo the NAG input p = 0.5</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// NAG plek with k = 2</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="number">2</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// NAG pgtk with k = 2</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// NAG peqk with k = 2</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">k</span><span class="special">)</span></code> is
+ equivalent to NAG library <code class="computeroutput"><span class="identifier">plek</span></code>,
+ lower tail probability of &lt;= k
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">k</span><span class="special">))</span></code> is
+ equivalent to NAG library <code class="computeroutput"><span class="identifier">pgtk</span></code>,
+ upper tail probability of &gt; k
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">k</span><span class="special">)</span></code> is
+ equivalent to NAG library <code class="computeroutput"><span class="identifier">peqk</span></code>,
+ point probability of == k
+ </p>
+<p>
+ See <a href="../../../../../example/binomial_example_nag.cpp" target="_top">binomial_example_nag.cpp</a>
+ for details.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_eg/find_mean_and_sd_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c_sharp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html
new file mode 100644
index 0000000000..1c40e23e1b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Non Central Chi Squared Example</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example">
+<link rel="next" href="nccs_eg/nccs_power_eg.html" title="Tables of the power function of the chi2 test.">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_chi_squared_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.nccs_eg"></a><a class="link" href="nccs_eg.html" title="Non Central Chi Squared Example">Non Central Chi
+ Squared Example</a>
+</h4></div></div></div>
+<div class="toc"><dl class="toc"><dt><span class="section"><a href="nccs_eg/nccs_power_eg.html">Tables
+ of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></div>
+<p>
+ (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a>.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inverse_chi_squared_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html
new file mode 100644
index 0000000000..2b07d004f6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/nccs_eg/nccs_power_eg.html
@@ -0,0 +1,1287 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tables of the power function of the chi2 test.</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../nccs_eg.html" title="Non Central Chi Squared Example">
+<link rel="prev" href="../nccs_eg.html" title="Non Central Chi Squared Example">
+<link rel="next" href="../error_eg.html" title="Error Handling Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../nccs_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nccs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.nccs_eg.nccs_power_eg"></a><a class="link" href="nccs_power_eg.html" title="Tables of the power function of the chi2 test.">Tables
+ of the power function of the chi<sup>2</sup> test.</a>
+</h5></div></div></div>
+<p>
+ This example computes a table of the power of the &#967;<sup>2</sup>
+test at the 5% significance
+ level, for various degrees of freedom and non-centrality parameters.
+ The table is deliberately the same as Table 6 from "The Non-Central
+ &#967;<sup>2</sup> and F-Distributions and their applications.", P. B. Patnaik, Biometrika,
+ Vol. 36, No. 1/2 (June 1949), 202-232.
+ </p>
+<p>
+ First we need some includes to access the non-central chi squared distribution
+ (and some basic std output of course).
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">chi_squared</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">non_central_chi_squared</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+</pre>
+<p>
+ Create a table of the power of the &#967;<sup>2</sup> test at 5% significance level, start
+ with a table header:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[table\n[[[nu]]"</span><span class="special">;</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">lam</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">+=</span> <span class="number">2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[[lambda]="</span> <span class="special">&lt;&lt;</span> <span class="identifier">lam</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]\n"</span><span class="special">;</span>
+</pre>
+<p>
+ (Note: the enclosing [] brackets are to format as a table in Boost.Quickbook).
+ </p>
+<p>
+ Enumerate the rows and columns and print the power of the test for each
+ table cell:
+ </p>
+<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">n</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="special">++</span><span class="identifier">n</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[["</span> <span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">lam</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">+=</span> <span class="number">2</span><span class="special">)</span>
+ <span class="special">{</span>
+</pre>
+<p>
+ Calculate the &#967;<sup>2</sup> statistic for a 5% significance:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">cs</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">chi_squared</span><span class="special">(</span><span class="identifier">n</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span>
+</pre>
+<p>
+ The power of the test is given by the complement of the CDF of the non-central
+ &#967;<sup>2</sup> distribution:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">beta</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">lam</span><span class="special">),</span> <span class="identifier">cs</span><span class="special">));</span>
+</pre>
+<p>
+ Then output the cell value:
+ </p>
+<pre class="programlisting"> <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"["</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">beta</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ The output from this program is a table in Boost.Quickbook format as
+ shown below.
+ </p>
+<p>
+ We can interpret this as follows - for example if &#957;=10 and &#955;=10 then the
+ power of the test is 0.542 - so we have only a 54% chance of correctly
+ detecting that our null hypothesis is false, and a 46% chance of incurring
+ a type II error (failing to reject the null hypothesis when it is in
+ fact false):
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ &#957;
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=2
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=4
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=6
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=8
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=10
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=12
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=14
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=16
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=18
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=20
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ 0.226
+ </p>
+ </td>
+<td>
+ <p>
+ 0.415
+ </p>
+ </td>
+<td>
+ <p>
+ 0.584
+ </p>
+ </td>
+<td>
+ <p>
+ 0.718
+ </p>
+ </td>
+<td>
+ <p>
+ 0.815
+ </p>
+ </td>
+<td>
+ <p>
+ 0.883
+ </p>
+ </td>
+<td>
+ <p>
+ 0.928
+ </p>
+ </td>
+<td>
+ <p>
+ 0.957
+ </p>
+ </td>
+<td>
+ <p>
+ 0.974
+ </p>
+ </td>
+<td>
+ <p>
+ 0.985
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ 0.192
+ </p>
+ </td>
+<td>
+ <p>
+ 0.359
+ </p>
+ </td>
+<td>
+ <p>
+ 0.518
+ </p>
+ </td>
+<td>
+ <p>
+ 0.654
+ </p>
+ </td>
+<td>
+ <p>
+ 0.761
+ </p>
+ </td>
+<td>
+ <p>
+ 0.84
+ </p>
+ </td>
+<td>
+ <p>
+ 0.896
+ </p>
+ </td>
+<td>
+ <p>
+ 0.934
+ </p>
+ </td>
+<td>
+ <p>
+ 0.959
+ </p>
+ </td>
+<td>
+ <p>
+ 0.975
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ 0.171
+ </p>
+ </td>
+<td>
+ <p>
+ 0.32
+ </p>
+ </td>
+<td>
+ <p>
+ 0.47
+ </p>
+ </td>
+<td>
+ <p>
+ 0.605
+ </p>
+ </td>
+<td>
+ <p>
+ 0.716
+ </p>
+ </td>
+<td>
+ <p>
+ 0.802
+ </p>
+ </td>
+<td>
+ <p>
+ 0.866
+ </p>
+ </td>
+<td>
+ <p>
+ 0.912
+ </p>
+ </td>
+<td>
+ <p>
+ 0.943
+ </p>
+ </td>
+<td>
+ <p>
+ 0.964
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 5
+ </p>
+ </td>
+<td>
+ <p>
+ 0.157
+ </p>
+ </td>
+<td>
+ <p>
+ 0.292
+ </p>
+ </td>
+<td>
+ <p>
+ 0.433
+ </p>
+ </td>
+<td>
+ <p>
+ 0.564
+ </p>
+ </td>
+<td>
+ <p>
+ 0.677
+ </p>
+ </td>
+<td>
+ <p>
+ 0.769
+ </p>
+ </td>
+<td>
+ <p>
+ 0.839
+ </p>
+ </td>
+<td>
+ <p>
+ 0.89
+ </p>
+ </td>
+<td>
+ <p>
+ 0.927
+ </p>
+ </td>
+<td>
+ <p>
+ 0.952
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+<td>
+ <p>
+ 0.146
+ </p>
+ </td>
+<td>
+ <p>
+ 0.27
+ </p>
+ </td>
+<td>
+ <p>
+ 0.403
+ </p>
+ </td>
+<td>
+ <p>
+ 0.531
+ </p>
+ </td>
+<td>
+ <p>
+ 0.644
+ </p>
+ </td>
+<td>
+ <p>
+ 0.738
+ </p>
+ </td>
+<td>
+ <p>
+ 0.813
+ </p>
+ </td>
+<td>
+ <p>
+ 0.869
+ </p>
+ </td>
+<td>
+ <p>
+ 0.911
+ </p>
+ </td>
+<td>
+ <p>
+ 0.94
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 7
+ </p>
+ </td>
+<td>
+ <p>
+ 0.138
+ </p>
+ </td>
+<td>
+ <p>
+ 0.252
+ </p>
+ </td>
+<td>
+ <p>
+ 0.378
+ </p>
+ </td>
+<td>
+ <p>
+ 0.502
+ </p>
+ </td>
+<td>
+ <p>
+ 0.614
+ </p>
+ </td>
+<td>
+ <p>
+ 0.71
+ </p>
+ </td>
+<td>
+ <p>
+ 0.788
+ </p>
+ </td>
+<td>
+ <p>
+ 0.849
+ </p>
+ </td>
+<td>
+ <p>
+ 0.895
+ </p>
+ </td>
+<td>
+ <p>
+ 0.928
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 8
+ </p>
+ </td>
+<td>
+ <p>
+ 0.131
+ </p>
+ </td>
+<td>
+ <p>
+ 0.238
+ </p>
+ </td>
+<td>
+ <p>
+ 0.357
+ </p>
+ </td>
+<td>
+ <p>
+ 0.477
+ </p>
+ </td>
+<td>
+ <p>
+ 0.588
+ </p>
+ </td>
+<td>
+ <p>
+ 0.685
+ </p>
+ </td>
+<td>
+ <p>
+ 0.765
+ </p>
+ </td>
+<td>
+ <p>
+ 0.829
+ </p>
+ </td>
+<td>
+ <p>
+ 0.879
+ </p>
+ </td>
+<td>
+ <p>
+ 0.915
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 9
+ </p>
+ </td>
+<td>
+ <p>
+ 0.125
+ </p>
+ </td>
+<td>
+ <p>
+ 0.225
+ </p>
+ </td>
+<td>
+ <p>
+ 0.339
+ </p>
+ </td>
+<td>
+ <p>
+ 0.454
+ </p>
+ </td>
+<td>
+ <p>
+ 0.564
+ </p>
+ </td>
+<td>
+ <p>
+ 0.661
+ </p>
+ </td>
+<td>
+ <p>
+ 0.744
+ </p>
+ </td>
+<td>
+ <p>
+ 0.811
+ </p>
+ </td>
+<td>
+ <p>
+ 0.863
+ </p>
+ </td>
+<td>
+ <p>
+ 0.903
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ 0.121
+ </p>
+ </td>
+<td>
+ <p>
+ 0.215
+ </p>
+ </td>
+<td>
+ <p>
+ 0.323
+ </p>
+ </td>
+<td>
+ <p>
+ 0.435
+ </p>
+ </td>
+<td>
+ <p>
+ 0.542
+ </p>
+ </td>
+<td>
+ <p>
+ 0.64
+ </p>
+ </td>
+<td>
+ <p>
+ 0.723
+ </p>
+ </td>
+<td>
+ <p>
+ 0.793
+ </p>
+ </td>
+<td>
+ <p>
+ 0.848
+ </p>
+ </td>
+<td>
+ <p>
+ 0.891
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 11
+ </p>
+ </td>
+<td>
+ <p>
+ 0.117
+ </p>
+ </td>
+<td>
+ <p>
+ 0.206
+ </p>
+ </td>
+<td>
+ <p>
+ 0.309
+ </p>
+ </td>
+<td>
+ <p>
+ 0.417
+ </p>
+ </td>
+<td>
+ <p>
+ 0.523
+ </p>
+ </td>
+<td>
+ <p>
+ 0.62
+ </p>
+ </td>
+<td>
+ <p>
+ 0.704
+ </p>
+ </td>
+<td>
+ <p>
+ 0.775
+ </p>
+ </td>
+<td>
+ <p>
+ 0.833
+ </p>
+ </td>
+<td>
+ <p>
+ 0.878
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 12
+ </p>
+ </td>
+<td>
+ <p>
+ 0.113
+ </p>
+ </td>
+<td>
+ <p>
+ 0.198
+ </p>
+ </td>
+<td>
+ <p>
+ 0.297
+ </p>
+ </td>
+<td>
+ <p>
+ 0.402
+ </p>
+ </td>
+<td>
+ <p>
+ 0.505
+ </p>
+ </td>
+<td>
+ <p>
+ 0.601
+ </p>
+ </td>
+<td>
+ <p>
+ 0.686
+ </p>
+ </td>
+<td>
+ <p>
+ 0.759
+ </p>
+ </td>
+<td>
+ <p>
+ 0.818
+ </p>
+ </td>
+<td>
+ <p>
+ 0.866
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 13
+ </p>
+ </td>
+<td>
+ <p>
+ 0.11
+ </p>
+ </td>
+<td>
+ <p>
+ 0.191
+ </p>
+ </td>
+<td>
+ <p>
+ 0.286
+ </p>
+ </td>
+<td>
+ <p>
+ 0.387
+ </p>
+ </td>
+<td>
+ <p>
+ 0.488
+ </p>
+ </td>
+<td>
+ <p>
+ 0.584
+ </p>
+ </td>
+<td>
+ <p>
+ 0.669
+ </p>
+ </td>
+<td>
+ <p>
+ 0.743
+ </p>
+ </td>
+<td>
+ <p>
+ 0.804
+ </p>
+ </td>
+<td>
+ <p>
+ 0.854
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 14
+ </p>
+ </td>
+<td>
+ <p>
+ 0.108
+ </p>
+ </td>
+<td>
+ <p>
+ 0.185
+ </p>
+ </td>
+<td>
+ <p>
+ 0.276
+ </p>
+ </td>
+<td>
+ <p>
+ 0.374
+ </p>
+ </td>
+<td>
+ <p>
+ 0.473
+ </p>
+ </td>
+<td>
+ <p>
+ 0.567
+ </p>
+ </td>
+<td>
+ <p>
+ 0.653
+ </p>
+ </td>
+<td>
+ <p>
+ 0.728
+ </p>
+ </td>
+<td>
+ <p>
+ 0.791
+ </p>
+ </td>
+<td>
+ <p>
+ 0.842
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 15
+ </p>
+ </td>
+<td>
+ <p>
+ 0.105
+ </p>
+ </td>
+<td>
+ <p>
+ 0.179
+ </p>
+ </td>
+<td>
+ <p>
+ 0.267
+ </p>
+ </td>
+<td>
+ <p>
+ 0.362
+ </p>
+ </td>
+<td>
+ <p>
+ 0.459
+ </p>
+ </td>
+<td>
+ <p>
+ 0.552
+ </p>
+ </td>
+<td>
+ <p>
+ 0.638
+ </p>
+ </td>
+<td>
+ <p>
+ 0.713
+ </p>
+ </td>
+<td>
+ <p>
+ 0.777
+ </p>
+ </td>
+<td>
+ <p>
+ 0.83
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 16
+ </p>
+ </td>
+<td>
+ <p>
+ 0.103
+ </p>
+ </td>
+<td>
+ <p>
+ 0.174
+ </p>
+ </td>
+<td>
+ <p>
+ 0.259
+ </p>
+ </td>
+<td>
+ <p>
+ 0.351
+ </p>
+ </td>
+<td>
+ <p>
+ 0.446
+ </p>
+ </td>
+<td>
+ <p>
+ 0.538
+ </p>
+ </td>
+<td>
+ <p>
+ 0.623
+ </p>
+ </td>
+<td>
+ <p>
+ 0.699
+ </p>
+ </td>
+<td>
+ <p>
+ 0.764
+ </p>
+ </td>
+<td>
+ <p>
+ 0.819
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 17
+ </p>
+ </td>
+<td>
+ <p>
+ 0.101
+ </p>
+ </td>
+<td>
+ <p>
+ 0.169
+ </p>
+ </td>
+<td>
+ <p>
+ 0.251
+ </p>
+ </td>
+<td>
+ <p>
+ 0.341
+ </p>
+ </td>
+<td>
+ <p>
+ 0.434
+ </p>
+ </td>
+<td>
+ <p>
+ 0.525
+ </p>
+ </td>
+<td>
+ <p>
+ 0.609
+ </p>
+ </td>
+<td>
+ <p>
+ 0.686
+ </p>
+ </td>
+<td>
+ <p>
+ 0.752
+ </p>
+ </td>
+<td>
+ <p>
+ 0.807
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 18
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0992
+ </p>
+ </td>
+<td>
+ <p>
+ 0.165
+ </p>
+ </td>
+<td>
+ <p>
+ 0.244
+ </p>
+ </td>
+<td>
+ <p>
+ 0.332
+ </p>
+ </td>
+<td>
+ <p>
+ 0.423
+ </p>
+ </td>
+<td>
+ <p>
+ 0.512
+ </p>
+ </td>
+<td>
+ <p>
+ 0.596
+ </p>
+ </td>
+<td>
+ <p>
+ 0.673
+ </p>
+ </td>
+<td>
+ <p>
+ 0.74
+ </p>
+ </td>
+<td>
+ <p>
+ 0.796
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 19
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0976
+ </p>
+ </td>
+<td>
+ <p>
+ 0.161
+ </p>
+ </td>
+<td>
+ <p>
+ 0.238
+ </p>
+ </td>
+<td>
+ <p>
+ 0.323
+ </p>
+ </td>
+<td>
+ <p>
+ 0.412
+ </p>
+ </td>
+<td>
+ <p>
+ 0.5
+ </p>
+ </td>
+<td>
+ <p>
+ 0.584
+ </p>
+ </td>
+<td>
+ <p>
+ 0.66
+ </p>
+ </td>
+<td>
+ <p>
+ 0.728
+ </p>
+ </td>
+<td>
+ <p>
+ 0.786
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 20
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0961
+ </p>
+ </td>
+<td>
+ <p>
+ 0.158
+ </p>
+ </td>
+<td>
+ <p>
+ 0.232
+ </p>
+ </td>
+<td>
+ <p>
+ 0.315
+ </p>
+ </td>
+<td>
+ <p>
+ 0.402
+ </p>
+ </td>
+<td>
+ <p>
+ 0.489
+ </p>
+ </td>
+<td>
+ <p>
+ 0.572
+ </p>
+ </td>
+<td>
+ <p>
+ 0.648
+ </p>
+ </td>
+<td>
+ <p>
+ 0.716
+ </p>
+ </td>
+<td>
+ <p>
+ 0.775
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ See <a href="../../../../../../example/nc_chi_sq_example.cpp" target="_top">nc_chi_sq_example.cpp</a>
+ for the full C++ source code.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../nccs_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nccs_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html
new file mode 100644
index 0000000000..b3be77970d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Negative Binomial Distribution Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="geometric_eg.html" title="Geometric Distribution Examples">
+<link rel="next" href="neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="geometric_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg/neg_binom_conf.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.neg_binom_eg"></a><a class="link" href="neg_binom_eg.html" title="Negative Binomial Distribution Examples">Negative Binomial
+ Distribution Examples</a>
+</h4></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="neg_binom_eg/neg_binom_conf.html">Calculating
+ Confidence Limits on the Frequency of Occurrence for the Negative Binomial
+ Distribution</a></span></dt>
+<dt><span class="section"><a href="neg_binom_eg/neg_binom_size_eg.html">Estimating
+ Sample Sizes for the Negative Binomial.</a></span></dt>
+<dt><span class="section"><a href="neg_binom_eg/negative_binomial_example1.html">Negative
+ Binomial Sales Quota Example.</a></span></dt>
+<dt><span class="section"><a href="neg_binom_eg/negative_binomial_example2.html">Negative
+ Binomial Table Printing Example.</a></span></dt>
+</dl></div>
+<p>
+ (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a>.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="geometric_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg/neg_binom_conf.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html
new file mode 100644
index 0000000000..494b3b508b
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_conf.html
@@ -0,0 +1,221 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
+<link rel="prev" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
+<link rel="next" href="neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_size_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_conf"></a><a class="link" href="neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">Calculating
+ Confidence Limits on the Frequency of Occurrence for the Negative Binomial
+ Distribution</a>
+</h5></div></div></div>
+<p>
+ Imagine you have a process that follows a negative binomial distribution:
+ for each trial conducted, an event either occurs or does it does not,
+ referred to as "successes" and "failures". The frequency
+ with which successes occur is variously referred to as the success fraction,
+ success ratio, success percentage, occurrence frequency, or probability
+ of occurrence.
+ </p>
+<p>
+ If, by experiment, you want to measure the the best estimate of success
+ fraction is given simply by <span class="emphasis"><em>k</em></span> / <span class="emphasis"><em>N</em></span>,
+ for <span class="emphasis"><em>k</em></span> successes out of <span class="emphasis"><em>N</em></span> trials.
+ </p>
+<p>
+ However our confidence in that estimate will be shaped by how many trials
+ were conducted, and how many successes were observed. The static member
+ functions <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span></code>
+ and <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span></code>
+ allow you to calculate the confidence intervals for your estimate of
+ the success fraction.
+ </p>
+<p>
+ The sample program <a href="../../../../../../example/neg_binom_confidence_limits.cpp" target="_top">neg_binom_confidence_limits.cpp</a>
+ illustrates their use.
+ </p>
+<p>
+ First we need some includes to access the negative binomial distribution
+ (and some basic std output of course).
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span>
+</pre>
+<p>
+ First define a table of significance levels: these are the probabilities
+ that the true occurrence frequency lies outside the calculated interval:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ Confidence value as % is (1 - alpha) * 100, so alpha 0.05 == 95% confidence
+ that the true occurence frequency lies <span class="bold"><strong>inside</strong></span>
+ the calculated interval.
+ </p>
+<p>
+ We need a function to calculate and print confidence limits for an observed
+ frequency of occurrence that follows a negative binomial distribution.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">trials</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">successes</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// trials = Total number of trials.</span>
+ <span class="comment">// successes = Total number of observed successes.</span>
+ <span class="comment">// failures = trials - successes.</span>
+ <span class="comment">// success_fraction = successes /trials.</span>
+ <span class="comment">// Print out general info:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"______________________________________________\n"</span>
+ <span class="string">"2-Sided Confidence Limits For Success Fraction\n"</span>
+ <span class="string">"______________________________________________\n\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of trials"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of successes"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of failures"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">trials</span> <span class="special">-</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Observed frequency of occurrence"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="keyword">double</span><span class="special">(</span><span class="identifier">successes</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+
+ <span class="comment">// Print table header:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
+ <span class="string">"___________________________________________\n"</span>
+ <span class="string">"Confidence Lower Upper\n"</span>
+ <span class="string">" Value (%) Limit Limit\n"</span>
+ <span class="string">"___________________________________________\n"</span><span class="special">;</span>
+</pre>
+<p>
+ And now for the important part - the bounds themselves. For each value
+ of <span class="emphasis"><em>alpha</em></span>, we call <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
+ and <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
+ to obtain lower and upper bounds respectively. Note that since we are
+ calculating a two-sided interval, we must divide the value of alpha in
+ two. Had we been calculating a single-sided interval, for example: <span class="emphasis"><em>"Calculate
+ a lower bound so that we are P% sure that the true occurrence frequency
+ is greater than some value"</em></span> then we would <span class="bold"><strong>not</strong></span>
+ have divided by two.
+ </p>
+<pre class="programlisting"> <span class="comment">// Now print out the upper and lower limits for the alpha table values.</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Confidence value:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="comment">// Calculate bounds:</span>
+ <span class="keyword">double</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
+ <span class="keyword">double</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
+ <span class="comment">// Print limits:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">lower</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">upper</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// void confidence_limits_on_frequency(unsigned trials, unsigned successes)</span>
+</pre>
+<p>
+ And then call confidence_limits_on_frequency with increasing numbers
+ of trials, but always the same success fraction 0.1, or 1 in 10.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span> <span class="comment">// 20 trials, 2 successes, 2 in 20, = 1 in 10 = 0.1 success fraction.</span>
+ <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="number">200</span><span class="special">,</span> <span class="number">20</span><span class="special">);</span> <span class="comment">// More trials, but same 0.1 success fraction.</span>
+ <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="number">2000</span><span class="special">,</span> <span class="number">200</span><span class="special">);</span> <span class="comment">// Many more trials, but same 0.1 success fraction.</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<p>
+ Let's see some sample output for a 1 in 10 success ratio, first for a
+ mere 20 trials:
+ </p>
+<pre class="programlisting">______________________________________________
+2-Sided Confidence Limits For Success Fraction
+______________________________________________
+Number of trials = 20
+Number of successes = 2
+Number of failures = 18
+Observed frequency of occurrence = 0.1
+___________________________________________
+Confidence Lower Upper
+ Value (%) Limit Limit
+___________________________________________
+ 50.000 0.04812 0.13554
+ 75.000 0.03078 0.17727
+ 90.000 0.01807 0.22637
+ 95.000 0.01235 0.26028
+ 99.000 0.00530 0.33111
+ 99.900 0.00164 0.41802
+ 99.990 0.00051 0.49202
+ 99.999 0.00016 0.55574
+</pre>
+<p>
+ As you can see, even at the 95% confidence level the bounds (0.012 to
+ 0.26) are really very wide, and very asymmetric about the observed value
+ 0.1.
+ </p>
+<p>
+ Compare that with the program output for a mass 2000 trials:
+ </p>
+<pre class="programlisting">______________________________________________
+2-Sided Confidence Limits For Success Fraction
+______________________________________________
+Number of trials = 2000
+Number of successes = 200
+Number of failures = 1800
+Observed frequency of occurrence = 0.1
+___________________________________________
+Confidence Lower Upper
+ Value (%) Limit Limit
+___________________________________________
+ 50.000 0.09536 0.10445
+ 75.000 0.09228 0.10776
+ 90.000 0.08916 0.11125
+ 95.000 0.08720 0.11352
+ 99.000 0.08344 0.11802
+ 99.900 0.07921 0.12336
+ 99.990 0.07577 0.12795
+ 99.999 0.07282 0.13206
+</pre>
+<p>
+ Now even when the confidence level is very high, the limits (at 99.999%,
+ 0.07 to 0.13) are really quite close and nearly symmetric to the observed
+ value of 0.1.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_size_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html
new file mode 100644
index 0000000000..123a822288
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html
@@ -0,0 +1,207 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Estimating Sample Sizes for the Negative Binomial.</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
+<link rel="prev" href="neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">
+<link rel="next" href="negative_binomial_example1.html" title="Negative Binomial Sales Quota Example.">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="neg_binom_conf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.neg_binom_eg.neg_binom_size_eg"></a><a class="link" href="neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">Estimating
+ Sample Sizes for the Negative Binomial.</a>
+</h5></div></div></div>
+<p>
+ Imagine you have an event (let's call it a "failure" - though
+ we could equally well call it a success if we felt it was a 'good' event)
+ that you know will occur in 1 in N trials. You may want to know how many
+ trials you need to conduct to be P% sure of observing at least k such
+ failures. If the failure events follow a negative binomial distribution
+ (each trial either succeeds or fails) then the static member function
+ <code class="computeroutput"><span class="identifier">negative_binomial_distibution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_minimum_number_of_trials</span></code>
+ can be used to estimate the minimum number of trials required to be P%
+ sure of observing the desired number of failures.
+ </p>
+<p>
+ The example program <a href="../../../../../../example/neg_binomial_sample_sizes.cpp" target="_top">neg_binomial_sample_sizes.cpp</a>
+ demonstrates its usage.
+ </p>
+<p>
+ It centres around a routine that prints out a table of minimum sample
+ sizes (number of trials) for various probability thresholds:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">failures</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ First define a table of significance levels: these are the maximum acceptable
+ probability that <span class="emphasis"><em>failure</em></span> or fewer events will be
+ observed.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ Confidence value as % is (1 - alpha) * 100, so alpha 0.05 == 95% confidence
+ that the desired number of failures will be observed. The values range
+ from a very low 0.5 or 50% confidence up to an extremely high confidence
+ of 99.999.
+ </p>
+<p>
+ Much of the rest of the program is pretty-printing, the important part
+ is in the calculation of minimum number of trials required for each value
+ of alpha using:
+ </p>
+<pre class="programlisting"><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+</pre>
+<p>
+ find_minimum_number_of_trials returns a double, so <code class="computeroutput"><span class="identifier">ceil</span></code>
+ rounds this up to ensure we have an integral minimum number of trials.
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">failures</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">p</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// trials = number of trials</span>
+ <span class="comment">// failures = number of failures before achieving required success(es).</span>
+ <span class="comment">// p = success fraction (0 &lt;= p &lt;= 1.).</span>
+ <span class="comment">//</span>
+ <span class="comment">// Calculate how many trials we need to ensure the</span>
+ <span class="comment">// required number of failures DOES exceed "failures".</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="string">"Target number of failures = "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">failures</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">", Success fraction = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">"%"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Print table header:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"____________________________\n"</span>
+ <span class="string">"Confidence Min Number\n"</span>
+ <span class="string">" Value (%) Of Trials \n"</span>
+ <span class="string">"____________________________\n"</span><span class="special">;</span>
+ <span class="comment">// Now print out the data for the alpha table values.</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// Confidence values %:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">])</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span>
+ <span class="comment">// find_minimum_number_of_trials</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
+ <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]))</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// void find_number_of_trials(double failures, double p)</span>
+</pre>
+<p>
+ finally we can produce some tables of minimum trials for the chosen confidence
+ levels:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
+ <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
+ <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">500</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
+ <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.1</span><span class="special">);</span>
+ <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">500</span><span class="special">,</span> <span class="number">0.1</span><span class="special">);</span>
+ <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">0.9</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span> <span class="comment">// int main()</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Since we're calculating the <span class="emphasis"><em>minimum</em></span> number of
+ trials required, we'll err on the safe side and take the ceiling of
+ the result. Had we been calculating the <span class="emphasis"><em>maximum</em></span>
+ number of trials permitted to observe less than a certain number of
+ <span class="emphasis"><em>failures</em></span> then we would have taken the floor instead.
+ We would also have called <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
+ like this:
+ </p>
+<pre class="programlisting"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]))</span>
+</pre>
+<p>
+ which would give us the largest number of trials we could conduct and
+ still be P% sure of observing <span class="emphasis"><em>failures or less</em></span>
+ failure events, when the probability of success is <span class="emphasis"><em>p</em></span>.
+ </p>
+</td></tr>
+</table></div>
+<p>
+ We'll finish off by looking at some sample output, firstly suppose we
+ wish to observe at least 5 "failures" with a 50/50 (0.5) chance
+ of success or failure:
+ </p>
+<pre class="programlisting">Target number of failures = 5, Success fraction = 50%
+
+____________________________
+Confidence Min Number
+ Value (%) Of Trials
+____________________________
+ 50.000 11
+ 75.000 14
+ 90.000 17
+ 95.000 18
+ 99.000 22
+ 99.900 27
+ 99.990 31
+ 99.999 36
+
+</pre>
+<p>
+ So 18 trials or more would yield a 95% chance that at least our 5 required
+ failures would be observed.
+ </p>
+<p>
+ Compare that to what happens if the success ratio is 90%:
+ </p>
+<pre class="programlisting">Target number of failures = 5.000, Success fraction = 90.000%
+
+____________________________
+Confidence Min Number
+ Value (%) Of Trials
+____________________________
+ 50.000 57
+ 75.000 73
+ 90.000 91
+ 95.000 103
+ 99.000 127
+ 99.900 159
+ 99.990 189
+ 99.999 217
+</pre>
+<p>
+ So now 103 trials are required to observe at least 5 failures with 95%
+ certainty.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="neg_binom_conf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html
new file mode 100644
index 0000000000..b32d69004a
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html
@@ -0,0 +1,507 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Negative Binomial Sales Quota Example.</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
+<link rel="prev" href="neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">
+<link rel="next" href="negative_binomial_example2.html" title="Negative Binomial Table Printing Example.">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="neg_binom_size_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.neg_binom_eg.negative_binomial_example1"></a><a class="link" href="negative_binomial_example1.html" title="Negative Binomial Sales Quota Example.">Negative
+ Binomial Sales Quota Example.</a>
+</h5></div></div></div>
+<p>
+ This example program <a href="../../../../../../example/negative_binomial_example1.cpp" target="_top">negative_binomial_example1.cpp
+ (full source code)</a> demonstrates a simple use to find the probability
+ of meeting a sales quota.
+ </p>
+<p>
+ Based on <a href="http://en.wikipedia.org/wiki/Negative_binomial_distribution" target="_top">a
+ problem by Dr. Diane Evans, Professor of Mathematics at Rose-Hulman Institute
+ of Technology</a>.
+ </p>
+<p>
+ Pat is required to sell candy bars to raise money for the 6th grade field
+ trip. There are thirty houses in the neighborhood, and Pat is not supposed
+ to return home until five candy bars have been sold. So the child goes
+ door to door, selling candy bars. At each house, there is a 0.4 probability
+ (40%) of selling one candy bar and a 0.6 probability (60%) of selling
+ nothing.
+ </p>
+<p>
+ What is the probability mass (density) function (pdf) for selling the
+ last (fifth) candy bar at the nth house?
+ </p>
+<p>
+ The Negative Binomial(r, p) distribution describes the probability of
+ k failures and r successes in k+r Bernoulli(p) trials with success on
+ the last trial. (A <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
+ trial</a> is one with only two possible outcomes, success of failure,
+ and p is the probability of success). See also <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
+ distribution</a> and <a href="http://www.math.uah.edu/stat/bernoulli/Introduction.xhtml" target="_top">Bernoulli
+ applications</a>.
+ </p>
+<p>
+ In this example, we will deliberately produce a variety of calculations
+ and outputs to demonstrate the ways that the negative binomial distribution
+ can be implemented with this library: it is also deliberately over-commented.
+ </p>
+<p>
+ First we need to #define macros to control the error and discrete handling
+ policies. For this simple example, we want to avoid throwing an exception
+ (the default policy) and just return infinity. We want to treat the distribution
+ as if it was continuous, so we choose a discrete_quantile policy of real,
+ rather than the default policy integer_round_outwards.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
+<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
+</pre>
+<p>
+ After that we need some includes to provide easy access to the negative
+ binomial distribution,
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ It is vital to #include distributions etc <span class="bold"><strong>after</strong></span>
+ the above #defines
+ </p></td></tr>
+</table></div>
+<p>
+ and we need some std library iostream, of course.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+ <span class="comment">// for negative_binomial_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">pdf</span><span class="special">;</span> <span class="comment">// Probability mass function.</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">;</span> <span class="comment">// Cumulative density function.</span>
+ <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
+</pre>
+<p>
+ It is always sensible to use try and catch blocks because defaults policies
+ are to throw an exception if anything goes wrong.
+ </p>
+<p>
+ A simple catch block (see below) will ensure that you get a helpful error
+ message instead of an abrupt program abort.
+ </p>
+<pre class="programlisting"><span class="keyword">try</span>
+<span class="special">{</span>
+</pre>
+<p>
+ Selling five candy bars means getting five successes, so successes r
+ = 5. The total number of trials (n, in this case, houses visited) this
+ takes is therefore = sucesses + failures or k + r = k + 5.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">sales_quota</span> <span class="special">=</span> <span class="number">5</span><span class="special">;</span> <span class="comment">// Pat's sales quota - successes (r).</span>
+</pre>
+<p>
+ At each house, there is a 0.4 probability (40%) of selling one candy
+ bar and a 0.6 probability (60%) of selling nothing.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">0.4</span><span class="special">;</span> <span class="comment">// success_fraction (p) - so failure_fraction is 0.6.</span>
+</pre>
+<p>
+ The Negative Binomial(r, p) distribution describes the probability of
+ k failures and r successes in k+r Bernoulli(p) trials with success on
+ the last trial. (A <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
+ trial</a> is one with only two possible outcomes, success of failure,
+ and p is the probability of success).
+ </p>
+<p>
+ We therefore start by constructing a negative binomial distribution with
+ parameters sales_quota (required successes) and probability of success.
+ </p>
+<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">nb</span><span class="special">(</span><span class="identifier">sales_quota</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span> <span class="comment">// type double by default.</span>
+</pre>
+<p>
+ To confirm, display the success_fraction &amp; successes parameters of
+ the distribution.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Pat has a sales per house success rate of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">success_fraction</span>
+ <span class="special">&lt;&lt;</span> <span class="string">".\nTherefore he would, on average, sell "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nb</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">*</span> <span class="number">100</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" bars after trying 100 houses."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">all_houses</span> <span class="special">=</span> <span class="number">30</span><span class="special">;</span> <span class="comment">// The number of houses on the estate.</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"With a success rate of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nb</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", he might expect, on average,\n"</span>
+ <span class="string">"to need to visit about "</span> <span class="special">&lt;&lt;</span> <span class="identifier">success_fraction</span> <span class="special">*</span> <span class="identifier">all_houses</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" houses in order to sell all "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nb</span><span class="special">.</span><span class="identifier">successes</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" bars. "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Pat has a sales per house success rate of 0.4.
+Therefore he would, on average, sell 40 bars after trying 100 houses.
+With a success rate of 0.4, he might expect, on average,
+to need to visit about 12 houses in order to sell all 5 bars.
+</pre>
+<p>
+ The random variable of interest is the number of houses that must be
+ visited to sell five candy bars, so we substitute k = n - 5 into a negative_binomial(5,
+ 0.4) and obtain the <a class="link" href="../../../dist_ref/nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability
+ Density Function</a> of the distribution of houses visited. Obviously,
+ the best possible case is that Pat makes sales on all the first five
+ houses.
+ </p>
+<p>
+ We calculate this using the pdf function:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">5</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// == pdf(nb, 0)</span>
+</pre>
+<p>
+ Of course, he could not finish on fewer than 5 houses because he must
+ sell 5 candy bars. So the 5th house is the first that he could possibly
+ finish on.
+ </p>
+<p>
+ To finish on or before the 8th house, Pat must finish at the 5th, 6th,
+ 7th or 8th house. The probability that he will finish on <span class="bold"><strong>exactly</strong></span>
+ ( == ) on any house is the Probability Density Function (pdf).
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the 6th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">6</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the 7th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">7</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the 8th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability that Pat finishes on the 6th house is 0.03072
+Probability that Pat finishes on the 7th house is 0.055296
+Probability that Pat finishes on the 8th house is 0.077414
+</pre>
+<p>
+ The sum of the probabilities for these houses is the Cumulative Distribution
+ Function (cdf). We can calculate it by adding the individual probabilities.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on or before the 8th house is sum "</span>
+ <span class="string">"\n"</span> <span class="special">&lt;&lt;</span> <span class="string">"pdf(sales_quota) + pdf(6) + pdf(7) + pdf(8) = "</span>
+ <span class="comment">// Sum each of the mass/density probabilities for houses sales_quota = 5, 6, 7, &amp; 8.</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">5</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 0 failures.</span>
+ <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">6</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 1 failure.</span>
+ <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">7</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 2 failures.</span>
+ <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 3 failures.</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">pdf(sales_quota) + pdf(6) + pdf(7) + pdf(8) = 0.17367
+</pre>
+<p>
+ Or, usually better, by using the negative binomial <span class="bold"><strong>cumulative</strong></span>
+ distribution function.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">8</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of selling his quota of 5 bars on or before the 8th house is 0.17367
+</pre>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability that Pat finishes exactly on the 10th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">10</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">10</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">10</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability that Pat finishes exactly on the 10th house is 0.10033
+Probability of selling his quota of 5 bars on or before the 10th house is 0.3669
+</pre>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes exactly on the 11th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">11</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">11</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">11</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability that Pat finishes on the 11th house is 0.10033
+Probability of selling his quota of 5 candy bars
+on or before the 11th house is 0.46723
+</pre>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes exactly on the 12th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">12</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">12</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">12</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability that Pat finishes on the 12th house is 0.094596
+Probability of selling his quota of 5 candy bars
+on or before the 12th house is 0.56182
+</pre>
+<p>
+ Finally consider the risk of Pat not selling his quota of 5 bars even
+ after visiting all the houses. Calculate the probability that he <span class="emphasis"><em>will</em></span>
+ sell on or before the last house: Calculate the probability that he would
+ sell all his quota on the very last house.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the "</span> <span class="special">&lt;&lt;</span> <span class="identifier">all_houses</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Probability of selling his quota of 5 bars on the 30th house is
+ </p>
+<pre class="programlisting">Probability that Pat finishes on the 30 house is 0.00069145
+</pre>
+<p>
+ when he'd be very unlucky indeed!
+ </p>
+<p>
+ What is the probability that Pat exhausts all 30 houses in the neighborhood,
+ and <span class="bold"><strong>still</strong></span> doesn't sell the required
+ 5 candy bars?
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="identifier">all_houses</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of selling his quota of 5 bars
+on or before the 30th house is 0.99849
+</pre>
+<p>
+ /*<code class="computeroutput"><span class="identifier">So</span> <span class="identifier">the</span>
+ <span class="identifier">risk</span> <span class="identifier">of</span>
+ <span class="identifier">failing</span> <span class="identifier">even</span>
+ <span class="identifier">after</span> <span class="identifier">visiting</span>
+ <span class="identifier">all</span> <span class="identifier">the</span>
+ <span class="identifier">houses</span> <span class="identifier">is</span>
+ <span class="number">1</span> <span class="special">-</span> <span class="keyword">this</span> <span class="identifier">probability</span><span class="special">,</span> </code><code class="computeroutput"><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span>
+ <span class="special">-</span> <span class="identifier">sales_quota</span></code><code class="computeroutput">
+ <span class="identifier">But</span> <span class="keyword">using</span>
+ <span class="keyword">this</span> <span class="identifier">expression</span>
+ <span class="identifier">may</span> <span class="identifier">cause</span>
+ <span class="identifier">serious</span> <span class="identifier">inaccuracy</span><span class="special">,</span> <span class="identifier">so</span> <span class="identifier">it</span> <span class="identifier">would</span>
+ <span class="identifier">be</span> <span class="identifier">much</span>
+ <span class="identifier">better</span> <span class="identifier">to</span>
+ <span class="identifier">use</span> <span class="identifier">the</span>
+ <span class="identifier">complement</span> <span class="identifier">of</span>
+ <span class="identifier">the</span> <span class="identifier">cdf</span><span class="special">:</span> <span class="identifier">So</span> <span class="identifier">the</span> <span class="identifier">risk</span>
+ <span class="identifier">of</span> <span class="identifier">failing</span>
+ <span class="identifier">even</span> <span class="identifier">at</span><span class="special">,</span> <span class="keyword">or</span> <span class="identifier">after</span><span class="special">,</span> <span class="identifier">the</span> <span class="number">31</span><span class="identifier">th</span> <span class="special">(</span><span class="identifier">non</span><span class="special">-</span><span class="identifier">existent</span><span class="special">)</span>
+ <span class="identifier">houses</span> <span class="identifier">is</span>
+ <span class="number">1</span> <span class="special">-</span> <span class="keyword">this</span> <span class="identifier">probability</span><span class="special">,</span> </code><code class="computeroutput"><span class="number">1</span>
+ <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span>
+ <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span></code>` But using this expression may cause
+ serious inaccuracy. So it would be much better to use the __complement
+ of the cdf (see <a class="link" href="../../overview/complements.html#why_complements">why complements?</a>).
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of failing to sell his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" bars\neven after visiting all "</span> <span class="special">&lt;&lt;</span> <span class="identifier">all_houses</span> <span class="special">&lt;&lt;</span> <span class="string">" houses is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of failing to sell his quota of 5 bars
+even after visiting all 30 houses is 0.0015101
+</pre>
+<p>
+ We can also use the quantile (percentile), the inverse of the cdf, to
+ predict which house Pat will finish on. So for the 8th house:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="special">(</span><span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">));</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of meeting sales quota on or before 8th house is "</span><span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">Probability of meeting sales quota on or before 8th house is 0.174
+</pre>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span><span class="special">&lt;&lt;</span> <span class="string">" quantile(nb, p) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">If the confidence of meeting sales quota is 0.17367, then the finishing house is 8
+</pre>
+<p>
+ Demanding absolute certainty that all 5 will be sold, implies an infinite
+ number of trials. (Of course, there are only 30 houses on the estate,
+ so he can't ever be <span class="bold"><strong>certain</strong></span> of selling
+ his quota).
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// 1.#INF == infinity.</span>
+</pre>
+<pre class="programlisting">If the confidence of meeting sales quota is 1, then the finishing house is 1.#INF
+</pre>
+<p>
+ And similarly for a few other probabilities:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">0.</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">0.</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">0.5</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="number">0.00151</span> <span class="comment">// 30 th</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span> <span class="number">0.00151</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">If the confidence of meeting sales quota is 0, then the finishing house is 5
+If the confidence of meeting sales quota is 0.5, then the finishing house is 11.337
+If the confidence of meeting sales quota is 0.99849, then the finishing house is 30
+</pre>
+<p>
+ Notice that because we chose a discrete quantile policy of real, the
+ result can be an 'unreal' fractional house.
+ </p>
+<p>
+ If the opposite is true, we don't want to assume any confidence, then
+ this is tantamount to assuming that all the first sales_quota trials
+ will be successful sales.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If confidence of meeting quota is zero\n(we assume all houses are successful sales)"</span>
+ <span class="string">", then finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">If confidence of meeting quota is zero (we assume all houses are successful sales), then finishing house is 5
+If confidence of meeting quota is 0, then finishing house is 5
+</pre>
+<p>
+ We can list quantiles for a few probabilities:
+ </p>
+<pre class="programlisting"> <span class="keyword">double</span> <span class="identifier">ps</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.9</span><span class="special">,</span> <span class="number">0.95</span><span class="special">,</span> <span class="number">0.99</span><span class="special">,</span> <span class="number">0.999</span><span class="special">,</span> <span class="number">1.</span><span class="special">};</span>
+ <span class="comment">// Confidence as fraction = 1-alpha, as percent = 100 * (1-alpha[i]) %</span>
+ <span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+ <span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">ps</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">ps</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="identifier">i</span><span class="special">++)</span>
+ <span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If confidence of meeting quota is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ps</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", then finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">ps</span><span class="special">[</span><span class="identifier">i</span><span class="special">])</span> <span class="special">+</span> <span class="identifier">sales_quota</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<pre class="programlisting">If confidence of meeting quota is 0, then finishing house is 5
+If confidence of meeting quota is 0.001, then finishing house is 5
+If confidence of meeting quota is 0.01, then finishing house is 5
+If confidence of meeting quota is 0.05, then finishing house is 6.2
+If confidence of meeting quota is 0.1, then finishing house is 7.06
+If confidence of meeting quota is 0.5, then finishing house is 11.3
+If confidence of meeting quota is 0.9, then finishing house is 17.8
+If confidence of meeting quota is 0.95, then finishing house is 20.1
+If confidence of meeting quota is 0.99, then finishing house is 24.8
+If confidence of meeting quota is 0.999, then finishing house is 31.1
+If confidence of meeting quota is 1, then finishing house is 1.#INF
+</pre>
+<p>
+ We could have applied a ceil function to obtain a 'worst case' integer
+ value for house.
+ </p>
+<pre class="programlisting"><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">ps</span><span class="special">[</span><span class="identifier">i</span><span class="special">]))</span></pre>
+<p>
+ Or, if we had used the default discrete quantile policy, integer_outside,
+ by omitting
+ </p>
+<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span></pre>
+<p>
+ we would have achieved the same effect.
+ </p>
+<p>
+ The real result gives some suggestion which house is most likely. For
+ example, compare the real and integer_outside for 95% confidence.
+ </p>
+<pre class="programlisting">If confidence of meeting quota is 0.95, then finishing house is 20.1
+If confidence of meeting quota is 0.95, then finishing house is 21
+</pre>
+<p>
+ The real value 20.1 is much closer to 20 than 21, so integer_outside
+ is pessimistic. We could also use integer_round_nearest policy to suggest
+ that 20 is more likely.
+ </p>
+<p>
+ Finally, we can tabulate the probability for the last sale being exactly
+ on each house.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nHouse for "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="string">"th (last) sale. Probability (%)"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">sales_quota</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">all_houses</span><span class="special">+</span><span class="number">1</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">8</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">i</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting">House for 5 th (last) sale. Probability (%)
+5 0.01024
+6 0.04096
+7 0.096256
+8 0.17367
+9 0.26657
+10 0.3669
+11 0.46723
+12 0.56182
+13 0.64696
+14 0.72074
+15 0.78272
+16 0.83343
+17 0.874
+18 0.90583
+19 0.93039
+20 0.94905
+21 0.96304
+22 0.97342
+23 0.98103
+24 0.98655
+25 0.99053
+26 0.99337
+27 0.99539
+28 0.99681
+29 0.9978
+30 0.99849
+</pre>
+<p>
+ As noted above, using a catch block is always a good idea, even if you
+ do not expect to use it.
+ </p>
+<pre class="programlisting"><span class="special">}</span>
+<span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
+<span class="special">{</span> <span class="comment">// Since we have set an overflow policy of ignore_error,</span>
+ <span class="comment">// an overflow exception should never be thrown.</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nMessage from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ For example, without a ignore domain error policy, if we asked for
+ </p>
+<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span></pre>
+<p>
+ for example, we would get:
+ </p>
+<pre class="programlisting">Message from thrown exception was:
+ Error in function boost::math::pdf(const negative_binomial_distribution&lt;double&gt;&amp;, double):
+ Number of failures argument is -1, but must be &gt;= 0 !
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="neg_binom_size_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html
new file mode 100644
index 0000000000..1549ca3759
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html
@@ -0,0 +1,136 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Negative Binomial Table Printing Example.</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
+<link rel="prev" href="negative_binomial_example1.html" title="Negative Binomial Sales Quota Example.">
+<link rel="next" href="../normal_example.html" title="Normal Distribution Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="negative_binomial_example1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../normal_example.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.neg_binom_eg.negative_binomial_example2"></a><a class="link" href="negative_binomial_example2.html" title="Negative Binomial Table Printing Example.">Negative
+ Binomial Table Printing Example.</a>
+</h5></div></div></div>
+<p>
+ Example program showing output of a table of values of cdf and pdf for
+ various k failures.
+ </p>
+<pre class="programlisting"><span class="comment">// Print a table of values that can be used to plot</span>
+<span class="comment">// using Excel, or some other superior graphical display tool.</span>
+
+<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">17</span><span class="special">);</span> <span class="comment">// Use max_digits10 precision, the maximum available for a reference table.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">showpoint</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// include trailing zeros.</span>
+<span class="comment">// This is a maximum possible precision for the type (here double) to suit a reference table.</span>
+<span class="keyword">int</span> <span class="identifier">maxk</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="number">2.</span> <span class="special">*</span> <span class="identifier">mynbdist</span><span class="special">.</span><span class="identifier">successes</span><span class="special">()</span> <span class="special">/</span> <span class="identifier">mynbdist</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">());</span>
+<span class="comment">// This maxk shows most of the range of interest, probability about 0.0001 to 0.999.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="string">" k pdf cdf"</span><span class="string">"\n"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">k</span> <span class="special">&lt;</span> <span class="identifier">maxk</span><span class="special">;</span> <span class="identifier">k</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">17</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">showpoint</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">k</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">mynbdist</span><span class="special">,</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">k</span><span class="special">))</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">mynbdist</span><span class="special">,</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">k</span><span class="special">))</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<pre class="programlisting"><span class="identifier">k</span> <span class="identifier">pdf</span> <span class="identifier">cdf</span>
+ <span class="number">0</span><span class="special">,</span> <span class="number">1.5258789062500000e-005</span> <span class="number">1.5258789062500003e-005</span>
+ <span class="number">1</span><span class="special">,</span> <span class="number">9.1552734375000000e-005</span> <span class="number">0.00010681152343750000</span>
+ <span class="number">2</span><span class="special">,</span> <span class="number">0.00030899047851562522</span> <span class="number">0.00041580200195312500</span>
+ <span class="number">3</span><span class="special">,</span> <span class="number">0.00077247619628906272</span> <span class="number">0.0011882781982421875</span>
+ <span class="number">4</span><span class="special">,</span> <span class="number">0.0015932321548461918</span> <span class="number">0.0027815103530883789</span>
+ <span class="number">5</span><span class="special">,</span> <span class="number">0.0028678178787231476</span> <span class="number">0.0056493282318115234</span>
+ <span class="number">6</span><span class="special">,</span> <span class="number">0.0046602040529251142</span> <span class="number">0.010309532284736633</span>
+ <span class="number">7</span><span class="special">,</span> <span class="number">0.0069903060793876605</span> <span class="number">0.017299838364124298</span>
+ <span class="number">8</span><span class="special">,</span> <span class="number">0.0098301179241389001</span> <span class="number">0.027129956288263202</span>
+ <span class="number">9</span><span class="special">,</span> <span class="number">0.013106823898851871</span> <span class="number">0.040236780187115073</span>
+<span class="number">10</span><span class="special">,</span> <span class="number">0.016711200471036140</span> <span class="number">0.056947980658151209</span>
+<span class="number">11</span><span class="special">,</span> <span class="number">0.020509200578089786</span> <span class="number">0.077457181236241013</span>
+<span class="number">12</span><span class="special">,</span> <span class="number">0.024354675686481652</span> <span class="number">0.10181185692272265</span>
+<span class="number">13</span><span class="special">,</span> <span class="number">0.028101548869017230</span> <span class="number">0.12991340579173993</span>
+<span class="number">14</span><span class="special">,</span> <span class="number">0.031614242477644432</span> <span class="number">0.16152764826938440</span>
+<span class="number">15</span><span class="special">,</span> <span class="number">0.034775666725408917</span> <span class="number">0.19630331499479325</span>
+<span class="number">16</span><span class="special">,</span> <span class="number">0.037492515688331451</span> <span class="number">0.23379583068312471</span>
+<span class="number">17</span><span class="special">,</span> <span class="number">0.039697957787645101</span> <span class="number">0.27349378847076977</span>
+<span class="number">18</span><span class="special">,</span> <span class="number">0.041352039362130305</span> <span class="number">0.31484582783290005</span>
+<span class="number">19</span><span class="special">,</span> <span class="number">0.042440250924291580</span> <span class="number">0.35728607875719176</span>
+<span class="number">20</span><span class="special">,</span> <span class="number">0.042970754060845245</span> <span class="number">0.40025683281803687</span>
+<span class="number">21</span><span class="special">,</span> <span class="number">0.042970754060845225</span> <span class="number">0.44322758687888220</span>
+<span class="number">22</span><span class="special">,</span> <span class="number">0.042482450037426581</span> <span class="number">0.48571003691630876</span>
+<span class="number">23</span><span class="special">,</span> <span class="number">0.041558918514873783</span> <span class="number">0.52726895543118257</span>
+<span class="number">24</span><span class="special">,</span> <span class="number">0.040260202311284021</span> <span class="number">0.56752915774246648</span>
+<span class="number">25</span><span class="special">,</span> <span class="number">0.038649794218832620</span> <span class="number">0.60617895196129912</span>
+<span class="number">26</span><span class="special">,</span> <span class="number">0.036791631035234917</span> <span class="number">0.64297058299653398</span>
+<span class="number">27</span><span class="special">,</span> <span class="number">0.034747651533277427</span> <span class="number">0.67771823452981139</span>
+<span class="number">28</span><span class="special">,</span> <span class="number">0.032575923312447595</span> <span class="number">0.71029415784225891</span>
+<span class="number">29</span><span class="special">,</span> <span class="number">0.030329307911589130</span> <span class="number">0.74062346575384819</span>
+<span class="number">30</span><span class="special">,</span> <span class="number">0.028054609818219924</span> <span class="number">0.76867807557206813</span>
+<span class="number">31</span><span class="special">,</span> <span class="number">0.025792141284492545</span> <span class="number">0.79447021685656061</span>
+<span class="number">32</span><span class="special">,</span> <span class="number">0.023575629142856460</span> <span class="number">0.81804584599941710</span>
+<span class="number">33</span><span class="special">,</span> <span class="number">0.021432390129869489</span> <span class="number">0.83947823612928651</span>
+<span class="number">34</span><span class="special">,</span> <span class="number">0.019383705779220189</span> <span class="number">0.85886194190850684</span>
+<span class="number">35</span><span class="special">,</span> <span class="number">0.017445335201298231</span> <span class="number">0.87630727710980494</span>
+<span class="number">36</span><span class="special">,</span> <span class="number">0.015628112784496322</span> <span class="number">0.89193538989430121</span>
+<span class="number">37</span><span class="special">,</span> <span class="number">0.013938587078064250</span> <span class="number">0.90587397697236549</span>
+<span class="number">38</span><span class="special">,</span> <span class="number">0.012379666154859701</span> <span class="number">0.91825364312722524</span>
+<span class="number">39</span><span class="special">,</span> <span class="number">0.010951243136991251</span> <span class="number">0.92920488626421649</span>
+<span class="number">40</span><span class="special">,</span> <span class="number">0.0096507830144735539</span> <span class="number">0.93885566927869002</span>
+<span class="number">41</span><span class="special">,</span> <span class="number">0.0084738582566109364</span> <span class="number">0.94732952753530097</span>
+<span class="number">42</span><span class="special">,</span> <span class="number">0.0074146259745345548</span> <span class="number">0.95474415350983555</span>
+<span class="number">43</span><span class="special">,</span> <span class="number">0.0064662435824429246</span> <span class="number">0.96121039709227851</span>
+<span class="number">44</span><span class="special">,</span> <span class="number">0.0056212231142827853</span> <span class="number">0.96683162020656122</span>
+<span class="number">45</span><span class="special">,</span> <span class="number">0.0048717266990450708</span> <span class="number">0.97170334690560634</span>
+<span class="number">46</span><span class="special">,</span> <span class="number">0.0042098073105878630</span> <span class="number">0.97591315421619418</span>
+<span class="number">47</span><span class="special">,</span> <span class="number">0.0036275999165703964</span> <span class="number">0.97954075413276465</span>
+<span class="number">48</span><span class="special">,</span> <span class="number">0.0031174686783026818</span> <span class="number">0.98265822281106729</span>
+<span class="number">49</span><span class="special">,</span> <span class="number">0.0026721160099737302</span> <span class="number">0.98533033882104104</span>
+<span class="number">50</span><span class="special">,</span> <span class="number">0.0022846591885275322</span> <span class="number">0.98761499800956853</span>
+<span class="number">51</span><span class="special">,</span> <span class="number">0.0019486798960970148</span> <span class="number">0.98956367790566557</span>
+<span class="number">52</span><span class="special">,</span> <span class="number">0.0016582516423517923</span> <span class="number">0.99122192954801736</span>
+<span class="number">53</span><span class="special">,</span> <span class="number">0.0014079495076571762</span> <span class="number">0.99262987905567457</span>
+<span class="number">54</span><span class="special">,</span> <span class="number">0.0011928461106539983</span> <span class="number">0.99382272516632852</span>
+<span class="number">55</span><span class="special">,</span> <span class="number">0.0010084971662802015</span> <span class="number">0.99483122233260868</span>
+<span class="number">56</span><span class="special">,</span> <span class="number">0.00085091948404891532</span> <span class="number">0.99568214181665760</span>
+<span class="number">57</span><span class="special">,</span> <span class="number">0.00071656377604119542</span> <span class="number">0.99639870559269883</span>
+<span class="number">58</span><span class="special">,</span> <span class="number">0.00060228420831048650</span> <span class="number">0.99700098980100937</span>
+<span class="number">59</span><span class="special">,</span> <span class="number">0.00050530624256557675</span> <span class="number">0.99750629604357488</span>
+<span class="number">60</span><span class="special">,</span> <span class="number">0.00042319397814867202</span> <span class="number">0.99792949002172360</span>
+<span class="number">61</span><span class="special">,</span> <span class="number">0.00035381791615708398</span> <span class="number">0.99828330793788067</span>
+<span class="number">62</span><span class="special">,</span> <span class="number">0.00029532382517950324</span> <span class="number">0.99857863176306016</span>
+<span class="number">63</span><span class="special">,</span> <span class="number">0.00024610318764958566</span> <span class="number">0.99882473495070978</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="negative_binomial_example1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../normal_example.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example.html
new file mode 100644
index 0000000000..167f7b6260
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Normal Distribution Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="neg_binom_eg/negative_binomial_example2.html" title="Negative Binomial Table Printing Example.">
+<link rel="next" href="normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="neg_binom_eg/negative_binomial_example2.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_example/normal_misc.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.normal_example"></a><a class="link" href="normal_example.html" title="Normal Distribution Examples">Normal Distribution
+ Examples</a>
+</h4></div></div></div>
+<div class="toc"><dl class="toc"><dt><span class="section"><a href="normal_example/normal_misc.html">Some
+ Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></div>
+<p>
+ (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a>.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="neg_binom_eg/negative_binomial_example2.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_example/normal_misc.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html
new file mode 100644
index 0000000000..df87bf1ef2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/normal_example/normal_misc.html
@@ -0,0 +1,518 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Some Miscellaneous Examples of the Normal (Gaussian) Distribution</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../normal_example.html" title="Normal Distribution Examples">
+<link rel="prev" href="../normal_example.html" title="Normal Distribution Examples">
+<link rel="next" href="../inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../normal_example.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../normal_example.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inverse_chi_squared_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc"></a><a class="link" href="normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution">Some
+ Miscellaneous Examples of the Normal (Gaussian) Distribution</a>
+</h5></div></div></div>
+<p>
+ The sample program <a href="../../../../../../example/normal_misc_examples.cpp" target="_top">normal_misc_examples.cpp</a>
+ illustrates their use.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.h0"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.traditional_tables"></a></span><a class="link" href="normal_misc.html#math_toolkit.stat_tut.weg.normal_example.normal_misc.traditional_tables">Traditional
+ Tables</a>
+ </h5>
+<p>
+ First we need some includes to access the normal distribution (and some
+ std output of course).
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
+
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">showpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Example: Normal distribution, Miscellaneous Applications."</span><span class="special">;</span>
+
+ <span class="keyword">try</span>
+ <span class="special">{</span>
+ <span class="special">{</span> <span class="comment">// Traditional tables and values.</span>
+</pre>
+<p>
+ Let's start by printing some traditional tables.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">step</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span> <span class="comment">// in z</span>
+<span class="keyword">double</span> <span class="identifier">range</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span> <span class="comment">// min and max z = -range to +range.</span>
+<span class="keyword">int</span> <span class="identifier">precision</span> <span class="special">=</span> <span class="number">17</span><span class="special">;</span> <span class="comment">// traditional tables are only computed to much lower precision.</span>
+<span class="comment">// but std::numeric_limits&lt;double&gt;::max_digits10; on new Standard Libraries gives</span>
+<span class="comment">// 17, the maximum number of digits that can possibly be significant.</span>
+<span class="comment">// std::numeric_limits&lt;double&gt;::digits10; == 15 is number of guaranteed digits,</span>
+<span class="comment">// the other two digits being 'noisy'.</span>
+
+<span class="comment">// Construct a standard normal distribution s</span>
+ <span class="identifier">normal</span> <span class="identifier">s</span><span class="special">;</span> <span class="comment">// (default mean = zero, and standard deviation = unity)</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard normal distribution, mean = "</span><span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", standard deviation = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ First the probability distribution function (pdf).
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability distribution function values"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" z "</span> <span class="string">" pdf "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="identifier">range</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">&lt;</span> <span class="identifier">range</span> <span class="special">+</span> <span class="identifier">step</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">+=</span> <span class="identifier">step</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">precision</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">12</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">6</span><span class="special">);</span> <span class="comment">// default</span>
+</pre>
+<p>
+ And the area under the normal curve from -&#8734; up to z, the cumulative distribution
+ function (cdf).
+ </p>
+<pre class="programlisting"><span class="comment">// For a standard normal distribution</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard normal mean = "</span><span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", standard deviation = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Integral (area under the curve) from - infinity up to z "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" z "</span> <span class="string">" cdf "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="identifier">range</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">&lt;</span> <span class="identifier">range</span> <span class="special">+</span> <span class="identifier">step</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">+=</span> <span class="identifier">step</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">precision</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">12</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">6</span><span class="special">);</span> <span class="comment">// default</span>
+</pre>
+<p>
+ And all this you can do with a nanoscopic amount of work compared to
+ the team of <span class="bold"><strong>human computers</strong></span> toiling
+ with Milton Abramovitz and Irene Stegen at the US National Bureau of
+ Standards (now <a href="http://www.nist.gov" target="_top">NIST</a>). Starting
+ in 1938, their "Handbook of Mathematical Functions with Formulas,
+ Graphs and Mathematical Tables", was eventually published in 1964,
+ and has been reprinted numerous times since. (A major replacement is
+ planned at <a href="http://dlmf.nist.gov" target="_top">Digital Library of Mathematical
+ Functions</a>).
+ </p>
+<p>
+ Pretty-printing a traditional 2-dimensional table is left as an exercise
+ for the student, but why bother now that the Math Toolkit lets you write
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">2.</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area for z = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// to get the area for z.</span>
+</pre>
+<p>
+ Correspondingly, we can obtain the traditional 'critical' values for
+ significance levels. For the 95% confidence level, the significance level
+ usually called alpha, is 0.05 = 1 - 0.95 (for a one-sided test), so we
+ can write
+ </p>
+<pre class="programlisting"> <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"95% of area has a z below "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.95</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// 95% of area has a z below 1.64485</span>
+</pre>
+<p>
+ and a two-sided test (a comparison between two levels, rather than a
+ one-sided test)
+ </p>
+<pre class="programlisting"> <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"95% of area has a z between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="special">-</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// 95% of area has a z between 1.95996 and -1.95996</span>
+</pre>
+<p>
+ First, define a table of significance levels: these are the probabilities
+ that the true occurrence frequency lies outside the calculated interval.
+ </p>
+<p>
+ It is convenient to have an alpha level for the probability that z lies
+ outside just one standard deviation. This will not be some nice neat
+ number like 0.05, but we can easily calculate it,
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha1</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="number">2</span><span class="special">;</span> <span class="comment">// 0.3173105078629142</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">17</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"Significance level for z == 1 is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha1</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ and place in our array of favorite alpha values.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.3173105078629142</span><span class="special">,</span> <span class="comment">// z for 1 standard deviation.</span>
+ <span class="number">0.20</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ Confidence value as % is (1 - alpha) * 100 (so alpha 0.05 == 95% confidence)
+ that the true occurrence frequency lies <span class="bold"><strong>inside</strong></span>
+ the calculated interval.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"level of significance (alpha)"</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2-sided 1 -sided z(alpha) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="comment">// Use quantile(complement(s, alpha[i]/2)) to avoid potential loss of accuracy from quantile(s, 1 - alpha[i]/2)</span>
+<span class="special">}</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Notice the distinction between one-sided (also called one-tailed) where
+ we are using a &gt; <span class="bold"><strong>or</strong></span> &lt; test (and
+ not both) and considering the area of the tail (integral) from z up to
+ +&#8734;, and a two-sided test where we are using two &gt; <span class="bold"><strong>and</strong></span>
+ &lt; tests, and thus considering two tails, from -&#8734; up to z low and z high
+ up to +&#8734;.
+ </p>
+<p>
+ So the 2-sided values alpha[i] are calculated using alpha[i]/2.
+ </p>
+<p>
+ If we consider a simple example of alpha = 0.05, then for a two-sided
+ test, the lower tail area from -&#8734; up to -1.96 is 0.025 (alpha/2) and the
+ upper tail area from +z up to +1.96 is also 0.025 (alpha/2), and the
+ area between -1.96 up to 12.96 is alpha = 0.95. and the sum of the two
+ tails is 0.025 + 0.025 = 0.05,
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.h1"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.standard_deviations_either_side_"></a></span><a class="link" href="normal_misc.html#math_toolkit.stat_tut.weg.normal_example.normal_misc.standard_deviations_either_side_">Standard
+ deviations either side of the Mean</a>
+ </h5>
+<p>
+ Armed with the cumulative distribution function, we can easily calculate
+ the easy to remember proportion of values that lie within 1, 2 and 3
+ standard deviations from the mean.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">showpoint</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(s, s.standard_deviation()) = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// from -infinity to 1 sd</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(complement(s, s.standard_deviation())) = "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction 1 standard deviation within either side of mean is "</span>
+ <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">*</span> <span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction 2 standard deviations within either side of mean is "</span>
+ <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">2</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">*</span> <span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction 3 standard deviations within either side of mean is "</span>
+ <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">3</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">*</span> <span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ To a useful precision, the 1, 2 &amp; 3 percentages are 68, 95 and 99.7,
+ and these are worth memorising as useful 'rules of thumb', as, for example,
+ in <a href="http://en.wikipedia.org/wiki/Standard_deviation" target="_top">standard
+ deviation</a>:
+ </p>
+<pre class="programlisting">Fraction 1 standard deviation within either side of mean is 0.683
+Fraction 2 standard deviations within either side of mean is 0.954
+Fraction 3 standard deviations within either side of mean is 0.997
+</pre>
+<p>
+ We could of course get some really accurate values for these <a href="http://en.wikipedia.org/wiki/Confidence_interval" target="_top">confidence
+ intervals</a> by using cout.precision(15);
+ </p>
+<pre class="programlisting">Fraction 1 standard deviation within either side of mean is 0.682689492137086
+Fraction 2 standard deviations within either side of mean is 0.954499736103642
+Fraction 3 standard deviations within either side of mean is 0.997300203936740
+</pre>
+<p>
+ But before you get too excited about this impressive precision, don't
+ forget that the <span class="bold"><strong>confidence intervals of the standard
+ deviation</strong></span> are surprisingly wide, especially if you have estimated
+ the standard deviation from only a few measurements.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.h2"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.some_simple_examples"></a></span><a class="link" href="normal_misc.html#math_toolkit.stat_tut.weg.normal_example.normal_misc.some_simple_examples">Some
+ simple examples</a>
+ </h5>
+<h5>
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.h3"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.life_of_light_bulbs"></a></span><a class="link" href="normal_misc.html#math_toolkit.stat_tut.weg.normal_example.normal_misc.life_of_light_bulbs">Life
+ of light bulbs</a>
+ </h5>
+<p>
+ Examples from K. Krishnamoorthy, Handbook of Statistical Distributions
+ with Applications, ISBN 1 58488 635 8, page 125... implemented using
+ the Math Toolkit library.
+ </p>
+<p>
+ A few very simple examples are shown here:
+ </p>
+<pre class="programlisting"><span class="comment">// K. Krishnamoorthy, Handbook of Statistical Distributions with Applications,</span>
+ <span class="comment">// ISBN 1 58488 635 8, page 125, example 10.3.5</span>
+</pre>
+<p>
+ Mean lifespan of 100 W bulbs is 1100 h with standard deviation of 100
+ h. Assuming, perhaps with little evidence and much faith, that the distribution
+ is normal, we construct a normal distribution called <span class="emphasis"><em>bulbs</em></span>
+ with these values:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean_life</span> <span class="special">=</span> <span class="number">1100.</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">life_standard_deviation</span> <span class="special">=</span> <span class="number">100.</span><span class="special">;</span>
+<span class="identifier">normal</span> <span class="identifier">bulbs</span><span class="special">(</span><span class="identifier">mean_life</span><span class="special">,</span> <span class="identifier">life_standard_deviation</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">expected_life</span> <span class="special">=</span> <span class="number">1000.</span><span class="special">;</span>
+</pre>
+<p>
+ The we can use the Cumulative distribution function to predict fractions
+ (or percentages, if * 100) that will last various lifetimes.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of bulbs that will last at best (&lt;=) "</span> <span class="comment">// P(X &lt;= 1000)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">expected_life</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span><span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">expected_life</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of bulbs that will last at least (&gt;) "</span> <span class="comment">// P(X &gt; 1000)</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">expected_life</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span><span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">expected_life</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">min_life</span> <span class="special">=</span> <span class="number">900</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">max_life</span> <span class="special">=</span> <span class="number">1200</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of bulbs that will last between "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">min_life</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">max_life</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">max_life</span><span class="special">)</span> <span class="comment">// P(X &lt;= 1200)</span>
+ <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">min_life</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &lt;= 900)</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Real-life failures are often very ab-normal, with a significant number
+ that 'dead-on-arrival' or suffer failure very early in their life:
+ the lifetime of the survivors of 'early mortality' may be well described
+ by the normal distribution.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.h4"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.how_many_onions"></a></span><a class="link" href="normal_misc.html#math_toolkit.stat_tut.weg.normal_example.normal_misc.how_many_onions">How
+ many onions?</a>
+ </h5>
+<p>
+ Weekly demand for 5 lb sacks of onions at a store is normally distributed
+ with mean 140 sacks and standard deviation 10.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">140.</span><span class="special">;</span> <span class="comment">// sacks per week.</span>
+<span class="keyword">double</span> <span class="identifier">standard_deviation</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
+<span class="identifier">normal</span> <span class="identifier">sacks</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">stock</span> <span class="special">=</span> <span class="number">160.</span><span class="special">;</span> <span class="comment">// per week.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Percentage of weeks overstocked "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">sacks</span><span class="special">,</span> <span class="identifier">stock</span><span class="special">)</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &lt;=160)</span>
+<span class="comment">// Percentage of weeks overstocked 97.7</span>
+</pre>
+<p>
+ So there will be lots of mouldy onions! So we should be able to say what
+ stock level will meet demand 95% of the weeks.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">stock_95</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">sacks</span><span class="special">,</span> <span class="number">0.95</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Store should stock "</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">stock_95</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" sacks to meet 95% of demands."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ And it is easy to estimate how to meet 80% of demand, and waste even
+ less.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">stock_80</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">sacks</span><span class="special">,</span> <span class="number">0.80</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Store should stock "</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">stock_80</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" sacks to meet 8 out of 10 demands."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.h5"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.packing_beef"></a></span><a class="link" href="normal_misc.html#math_toolkit.stat_tut.weg.normal_example.normal_misc.packing_beef">Packing
+ beef</a>
+ </h5>
+<p>
+ A machine is set to pack 3 kg of ground beef per pack. Over a long period
+ of time it is found that the average packed was 3 kg with a standard
+ deviation of 0.1 kg. Assuming the packing is normally distributed, we
+ can find the fraction (or %) of packages that weigh more than 3.1 kg.
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">3.</span><span class="special">;</span> <span class="comment">// kg</span>
+<span class="keyword">double</span> <span class="identifier">standard_deviation</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span> <span class="comment">// kg</span>
+<span class="identifier">normal</span> <span class="identifier">packs</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+
+<span class="keyword">double</span> <span class="identifier">max_weight</span> <span class="special">=</span> <span class="number">3.1</span><span class="special">;</span> <span class="comment">// kg</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Percentage of packs &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">max_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span>
+<span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">max_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &gt; 3.1)</span>
+
+<span class="keyword">double</span> <span class="identifier">under_weight</span> <span class="special">=</span> <span class="number">2.9</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"fraction of packs &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// fraction of packs &lt;= 2.9 with a mean of 3 is 0.841345</span>
+<span class="comment">// This is 0.84 - more than the target 0.95</span>
+<span class="comment">// Want 95% to be over this weight, so what should we set the mean weight to be?</span>
+<span class="comment">// KK StatCalc says:</span>
+<span class="keyword">double</span> <span class="identifier">over_mean</span> <span class="special">=</span> <span class="number">3.0664</span><span class="special">;</span>
+<span class="identifier">normal</span> <span class="identifier">xpacks</span><span class="special">(</span><span class="identifier">over_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span>
+<span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">xpacks</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">xpacks</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">// fraction of packs &gt;= 2.9 with a mean of 3.06449 is 0.950005</span>
+<span class="keyword">double</span> <span class="identifier">under_fraction</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// so 95% are above the minimum weight mean - sd = 2.9</span>
+<span class="keyword">double</span> <span class="identifier">low_limit</span> <span class="special">=</span> <span class="identifier">standard_deviation</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">offset</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">-</span> <span class="identifier">low_limit</span> <span class="special">-</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">nominal_mean</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">+</span> <span class="identifier">offset</span><span class="special">;</span>
+
+<span class="identifier">normal</span> <span class="identifier">nominal_packs</span><span class="special">(</span><span class="identifier">nominal_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nominal_mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">nominal_packs</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Setting the packer to 3.06449 will mean that fraction of packs &gt;=
+ 2.9 is 0.95.
+ </p>
+<p>
+ Setting the packer to 3.13263 will mean that fraction of packs &gt;=
+ 2.9 is 0.99, but will more than double the mean loss from 0.0644 to 0.133.
+ </p>
+<p>
+ Alternatively, we could invest in a better (more precise) packer with
+ a lower standard deviation.
+ </p>
+<p>
+ To estimate how much better (how much smaller standard deviation) it
+ would have to be, we need to get the 5% quantile to be located at the
+ under_weight limit, 2.9
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// wanted p th quantile.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">//</span>
+</pre>
+<p>
+ Quantile of 0.05 = 2.83551, mean = 3, sd = 0.1
+ </p>
+<p>
+ With the current packer (mean = 3, sd = 0.1), the 5% quantile is at 2.8551
+ kg, a little below our target of 2.9 kg. So we know that the standard
+ deviation is going to have to be smaller.
+ </p>
+<p>
+ Let's start by guessing that it (now 0.1) needs to be halved, to a standard
+ deviation of 0.05
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack05</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">//</span>
+</pre>
+<p>
+ Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of
+ 0.05 is 0.9772
+ </p>
+<p>
+ So 0.05 was quite a good guess, but we are a little over the 2.9 target,
+ so the standard deviation could be a tiny bit more. So we could do some
+ more guessing to get closer, say by increasing to 0.06
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack06</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.06</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of
+ 0.06 is 0.9522
+ </p>
+<p>
+ Now we are getting really close, but to do the job properly, we could
+ use root finding method, for example the tools provided, and used elsewhere,
+ in the Math Toolkit, see <a class="link" href="../../../internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">root-finding
+ without derivatives</a>.
+ </p>
+<p>
+ But in this normal distribution case, we could be even smarter and make
+ a direct calculation.
+ </p>
+<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">s</span><span class="special">;</span> <span class="comment">// For standard normal distribution,</span>
+<span class="keyword">double</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">2.9</span><span class="special">;</span> <span class="comment">// Our required limit.</span>
+<span class="comment">// then probability p = N((x - mean) / sd)</span>
+<span class="comment">// So if we want to find the standard deviation that would be required to meet this limit,</span>
+<span class="comment">// so that the p th quantile is located at x,</span>
+<span class="comment">// in this case the 0.95 (95%) quantile at 2.9 kg pack weight, when the mean is 3 kg.</span>
+
+<span class="keyword">double</span> <span class="identifier">prob</span> <span class="special">=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">sd</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">qp</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.95</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"prob = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">prob</span> <span class="special">&lt;&lt;</span> <span class="string">", quantile(p) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">qp</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// p = 0.241971, quantile(p) 1.64485</span>
+<span class="comment">// Rearranging, we can directly calculate the required standard deviation:</span>
+<span class="keyword">double</span> <span class="identifier">sd95</span> <span class="special">=</span> <span class="identifier">abs</span><span class="special">((</span><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">qp</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If we want the "</span><span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" th quantile to be located at "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">x</span> <span class="special">&lt;&lt;</span> <span class="string">", would need a standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd95</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">normal</span> <span class="identifier">pack95</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">sd95</span><span class="special">);</span> <span class="comment">// Distribution of the 'ideal better' packer.</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack95</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack95</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.0608 is 0.95</span>
+</pre>
+<p>
+ Notice that these two deceptively simple questions (do we over-fill or
+ measure better) are actually very common. The weight of beef might be
+ replaced by a measurement of more or less anything. But the calculations
+ rely on the accuracy of the standard deviation - something that is almost
+ always less good than we might wish, especially if based on a few measurements.
+ </p>
+<h5>
+<a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.h6"></a>
+ <span class="phrase"><a name="math_toolkit.stat_tut.weg.normal_example.normal_misc.length_of_bolts"></a></span><a class="link" href="normal_misc.html#math_toolkit.stat_tut.weg.normal_example.normal_misc.length_of_bolts">Length
+ of bolts</a>
+ </h5>
+<p>
+ A bolt is usable if between 3.9 and 4.1 long. From a large batch of bolts,
+ a sample of 50 show a mean length of 3.95 with standard deviation 0.1.
+ Assuming a normal distribution, what proportion is usable? The true sample
+ mean is unknown, but we can use the sample mean and standard deviation
+ to find approximate solutions.
+ </p>
+<pre class="programlisting"> <span class="identifier">normal</span> <span class="identifier">bolts</span><span class="special">(</span><span class="number">3.95</span><span class="special">,</span> <span class="number">0.1</span><span class="special">);</span>
+ <span class="keyword">double</span> <span class="identifier">top</span> <span class="special">=</span> <span class="number">4.1</span><span class="special">;</span>
+ <span class="keyword">double</span> <span class="identifier">bottom</span> <span class="special">=</span> <span class="number">3.9</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction long enough [ P(X &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span> <span class="special">&lt;&lt;</span> <span class="string">") ] is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">top</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction too short [ P(X &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bottom</span> <span class="special">&lt;&lt;</span> <span class="string">") ] is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">bottom</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction OK -between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bottom</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span>
+ <span class="special">&lt;&lt;</span> <span class="string">"[ P(X &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span> <span class="special">&lt;&lt;</span> <span class="string">") - P(X&lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bottom</span> <span class="special">&lt;&lt;</span> <span class="string">" ) ] is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">top</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">bottom</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction too long [ P(X &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span> <span class="special">&lt;&lt;</span> <span class="string">") ] is "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">top</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"95% of bolts are shorter than "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="number">0.95</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../normal_example.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../normal_example.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inverse_chi_squared_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg.html
new file mode 100644
index 0000000000..16a8c2cc85
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg.html
@@ -0,0 +1,60 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Student's t Distribution Examples</title>
+<link rel="stylesheet" href="../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="dist_construct_eg.html" title="Distribution Construction Examples">
+<link rel="next" href="st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dist_construct_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg/tut_mean_intervals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.stat_tut.weg.st_eg"></a><a class="link" href="st_eg.html" title="Student's t Distribution Examples">Student's t Distribution
+ Examples</a>
+</h4></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="st_eg/tut_mean_intervals.html">Calculating
+ confidence intervals on the mean with the Students-t distribution</a></span></dt>
+<dt><span class="section"><a href="st_eg/tut_mean_test.html">Testing
+ a sample mean for difference from a "true" mean</a></span></dt>
+<dt><span class="section"><a href="st_eg/tut_mean_size.html">Estimating
+ how large a sample size would have to become in order to give a significant
+ Students-t test result with a single sample test</a></span></dt>
+<dt><span class="section"><a href="st_eg/two_sample_students_t.html">Comparing
+ the means of two samples with the Students-t test</a></span></dt>
+<dt><span class="section"><a href="st_eg/paired_st.html">Comparing
+ two paired samples with the Student's t distribution</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="dist_construct_eg.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg/tut_mean_intervals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html
new file mode 100644
index 0000000000..5e30413924
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/paired_st.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Comparing two paired samples with the Student's t distribution</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
+<link rel="prev" href="two_sample_students_t.html" title="Comparing the means of two samples with the Students-t test">
+<link rel="next" href="../cs_eg.html" title="Chi Squared Distribution Examples">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="two_sample_students_t.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.st_eg.paired_st"></a><a class="link" href="paired_st.html" title="Comparing two paired samples with the Student's t distribution">Comparing
+ two paired samples with the Student's t distribution</a>
+</h5></div></div></div>
+<p>
+ Imagine that we have a before and after reading for each item in the
+ sample: for example we might have measured blood pressure before and
+ after administration of a new drug. We can't pool the results and compare
+ the means before and after the change, because each patient will have
+ a different baseline reading. Instead we calculate the difference between
+ before and after measurements in each patient, and calculate the mean
+ and standard deviation of the differences. To test whether a significant
+ change has taken place, we can then test the null-hypothesis that the
+ true mean is zero using the same procedure we used in the single sample
+ cases previously discussed.
+ </p>
+<p>
+ That means we can:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <a class="link" href="tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">Calculate
+ confidence intervals of the mean</a>. If the endpoints of the
+ interval differ in sign then we are unable to reject the null-hypothesis
+ that there is no change.
+ </li>
+<li class="listitem">
+ <a class="link" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>Test
+ whether the true mean is zero</a>. If the result is consistent
+ with a true mean of zero, then we are unable to reject the null-hypothesis
+ that there is no change.
+ </li>
+<li class="listitem">
+ <a class="link" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">Calculate
+ how many pairs of readings we would need in order to obtain a significant
+ result</a>.
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="two_sample_students_t.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cs_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html
new file mode 100644
index 0000000000..0334212bc0
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_intervals.html
@@ -0,0 +1,267 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Calculating confidence intervals on the mean with the Students-t distribution</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
+<link rel="prev" href="../st_eg.html" title="Student's t Distribution Examples">
+<link rel="next" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_test.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.st_eg.tut_mean_intervals"></a><a class="link" href="tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">Calculating
+ confidence intervals on the mean with the Students-t distribution</a>
+</h5></div></div></div>
+<p>
+ Let's say you have a sample mean, you may wish to know what confidence
+ intervals you can place on that mean. Colloquially: "I want an interval
+ that I can be P% sure contains the true mean". (On a technical point,
+ note that the interval either contains the true mean or it does not:
+ the meaning of the confidence level is subtly different from this colloquialism.
+ More background information can be found on the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">NIST
+ site</a>).
+ </p>
+<p>
+ The formula for the interval can be expressed as:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/dist_tutorial4.png"></span>
+ </p>
+<p>
+ Where, <span class="emphasis"><em>Y<sub>s</sub></em></span> is the sample mean, <span class="emphasis"><em>s</em></span>
+ is the sample standard deviation, <span class="emphasis"><em>N</em></span> is the sample
+ size, /&#945;/ is the desired significance level and <span class="emphasis"><em>t<sub>(&#945;/2,N-1)</sub></em></span>
+ is the upper critical value of the Students-t distribution with <span class="emphasis"><em>N-1</em></span>
+ degrees of freedom.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ The quantity &#945; &#160; is the maximum acceptable risk of falsely rejecting the
+ null-hypothesis. The smaller the value of &#945; the greater the strength
+ of the test.
+ </p>
+<p>
+ The confidence level of the test is defined as 1 - &#945;, and often expressed
+ as a percentage. So for example a significance level of 0.05, is equivalent
+ to a 95% confidence level. Refer to <a href="http://www.itl.nist.gov/div898/handbook/prc/section1/prc14.htm" target="_top">"What
+ are confidence intervals?"</a> in <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a> for more information.
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The usual assumptions of <a href="http://en.wikipedia.org/wiki/Independent_and_identically-distributed_random_variables" target="_top">independent
+ and identically distributed (i.i.d.)</a> variables and <a href="http://en.wikipedia.org/wiki/Normal_distribution" target="_top">normal
+ distribution</a> of course apply here, as they do in other examples.
+ </p></td></tr>
+</table></div>
+<p>
+ From the formula, it should be clear that:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ The width of the confidence interval decreases as the sample size
+ increases.
+ </li>
+<li class="listitem">
+ The width increases as the standard deviation increases.
+ </li>
+<li class="listitem">
+ The width increases as the <span class="emphasis"><em>confidence level increases</em></span>
+ (0.5 towards 0.99999 - stronger).
+ </li>
+<li class="listitem">
+ The width increases as the <span class="emphasis"><em>significance level decreases</em></span>
+ (0.5 towards 0.00000...01 - stronger).
+ </li>
+</ul></div>
+<p>
+ The following example code is taken from the example program <a href="../../../../../../example/students_t_single_sample.cpp" target="_top">students_t_single_sample.cpp</a>.
+ </p>
+<p>
+ We'll begin by defining a procedure to calculate intervals for various
+ confidence levels; the procedure will print these out as a table:
+ </p>
+<pre class="programlisting"><span class="comment">// Needed includes:</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="comment">// Bring everything into global namespace for ease of use:</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+
+<span class="keyword">void</span> <span class="identifier">confidence_limits_on_mean</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">Sm</span><span class="special">,</span> <span class="comment">// Sm = Sample Mean.</span>
+ <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="comment">// Sd = Sample Standard Deviation.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">Sn</span><span class="special">)</span> <span class="comment">// Sn = Sample Size.</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+
+ <span class="comment">// Print out general info:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
+ <span class="string">"__________________________________\n"</span>
+ <span class="string">"2-Sided Confidence Limits For Mean\n"</span>
+ <span class="string">"__________________________________\n\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sn</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Mean"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sm</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sd</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ We'll define a table of significance/risk levels for which we'll compute
+ intervals:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ Note that these are the complements of the confidence/probability levels:
+ 0.5, 0.75, 0.9 .. 0.99999).
+ </p>
+<p>
+ Next we'll declare the distribution object we'll need, note that the
+ <span class="emphasis"><em>degrees of freedom</em></span> parameter is the sample size
+ less one:
+ </p>
+<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">Sn</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
+</pre>
+<p>
+ Most of what follows in the program is pretty printing, so let's focus
+ on the calculation of the interval. First we need the t-statistic, computed
+ using the <span class="emphasis"><em>quantile</em></span> function and our significance
+ level. Note that since the significance levels are the complement of
+ the probability, we have to wrap the arguments in a call to <span class="emphasis"><em>complement(...)</em></span>:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
+</pre>
+<p>
+ Note that alpha was divided by two, since we'll be calculating both the
+ upper and lower bounds: had we been interested in a single sided interval
+ then we would have omitted this step.
+ </p>
+<p>
+ Now to complete the picture, we'll get the (one-sided) width of the interval
+ from the t-statistic by multiplying by the standard deviation, and dividing
+ by the square root of the sample size:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">w</span> <span class="special">=</span> <span class="identifier">T</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="keyword">double</span><span class="special">(</span><span class="identifier">Sn</span><span class="special">));</span>
+</pre>
+<p>
+ The two-sided interval is then the sample mean plus and minus this width.
+ </p>
+<p>
+ And apart from some more pretty-printing that completes the procedure.
+ </p>
+<p>
+ Let's take a look at some sample output, first using the <a href="http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm" target="_top">Heat
+ flow data</a> from the NIST site. The data set was collected by Bob
+ Zarr of NIST in January, 1990 from a heat flow meter calibration and
+ stability analysis. The corresponding dataplot output for this test can
+ be found in <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">section
+ 3.5.2</a> of the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a>.
+ </p>
+<pre class="programlisting"> __________________________________
+ 2-Sided Confidence Limits For Mean
+ __________________________________
+
+ Number of Observations = 195
+ Mean = 9.26146
+ Standard Deviation = 0.02278881
+
+
+ ___________________________________________________________________
+ Confidence T Interval Lower Upper
+ Value (%) Value Width Limit Limit
+ ___________________________________________________________________
+ 50.000 0.676 1.103e-003 9.26036 9.26256
+ 75.000 1.154 1.883e-003 9.25958 9.26334
+ 90.000 1.653 2.697e-003 9.25876 9.26416
+ 95.000 1.972 3.219e-003 9.25824 9.26468
+ 99.000 2.601 4.245e-003 9.25721 9.26571
+ 99.900 3.341 5.453e-003 9.25601 9.26691
+ 99.990 3.973 6.484e-003 9.25498 9.26794
+ 99.999 4.537 7.404e-003 9.25406 9.26886
+</pre>
+<p>
+ As you can see the large sample size (195) and small standard deviation
+ (0.023) have combined to give very small intervals, indeed we can be
+ very confident that the true mean is 9.2.
+ </p>
+<p>
+ For comparison the next example data output is taken from <span class="emphasis"><em>P.K.Hou,
+ O. W. Lau &amp; M.C. Wong, Analyst (1983) vol. 108, p 64. and from Statistics
+ for Analytical Chemistry, 3rd ed. (1994), pp 54-55 J. C. Miller and J.
+ N. Miller, Ellis Horwood ISBN 0 13 0309907.</em></span> The values result
+ from the determination of mercury by cold-vapour atomic absorption.
+ </p>
+<pre class="programlisting"> __________________________________
+ 2-Sided Confidence Limits For Mean
+ __________________________________
+
+ Number of Observations = 3
+ Mean = 37.8000000
+ Standard Deviation = 0.9643650
+
+
+ ___________________________________________________________________
+ Confidence T Interval Lower Upper
+ Value (%) Value Width Limit Limit
+ ___________________________________________________________________
+ 50.000 0.816 0.455 37.34539 38.25461
+ 75.000 1.604 0.893 36.90717 38.69283
+ 90.000 2.920 1.626 36.17422 39.42578
+ 95.000 4.303 2.396 35.40438 40.19562
+ 99.000 9.925 5.526 32.27408 43.32592
+ 99.900 31.599 17.594 20.20639 55.39361
+ 99.990 99.992 55.673 -17.87346 93.47346
+ 99.999 316.225 176.067 -138.26683 213.86683
+</pre>
+<p>
+ This time the fact that there are only three measurements leads to much
+ wider intervals, indeed such large intervals that it's hard to be very
+ confident in the location of the mean.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_test.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html
new file mode 100644
index 0000000000..ae9f7af703
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_size.html
@@ -0,0 +1,179 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
+<link rel="prev" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>
+<link rel="next" href="two_sample_students_t.html" title="Comparing the means of two samples with the Students-t test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut_mean_test.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="two_sample_students_t.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.st_eg.tut_mean_size"></a><a class="link" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">Estimating
+ how large a sample size would have to become in order to give a significant
+ Students-t test result with a single sample test</a>
+</h5></div></div></div>
+<p>
+ Imagine you have conducted a Students-t test on a single sample in order
+ to check for systematic errors in your measurements. Imagine that the
+ result is borderline. At this point one might go off and collect more
+ data, but it might be prudent to first ask the question "How much
+ more?". The parameter estimators of the students_t_distribution
+ class can provide this information.
+ </p>
+<p>
+ This section is based on the example code in <a href="../../../../../../example/students_t_single_sample.cpp" target="_top">students_t_single_sample.cpp</a>
+ and we begin by defining a procedure that will print out a table of estimated
+ sample sizes for various confidence levels:
+ </p>
+<pre class="programlisting"><span class="comment">// Needed includes:</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="comment">// Bring everything into global namespace for ease of use:</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+
+<span class="keyword">void</span> <span class="identifier">single_sample_find_df</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">M</span><span class="special">,</span> <span class="comment">// M = true mean.</span>
+ <span class="keyword">double</span> <span class="identifier">Sm</span><span class="special">,</span> <span class="comment">// Sm = Sample Mean.</span>
+ <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">)</span> <span class="comment">// Sd = Sample Standard Deviation.</span>
+<span class="special">{</span>
+</pre>
+<p>
+ Next we define a table of significance levels:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
+</pre>
+<p>
+ Printing out the table of sample sizes required for various confidence
+ levels begins with the table header:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
+ <span class="string">"_______________________________________________________________\n"</span>
+ <span class="string">"Confidence Estimated Estimated\n"</span>
+ <span class="string">" Value (%) Sample Size Sample Size\n"</span>
+ <span class="string">" (one sided test) (two sided test)\n"</span>
+ <span class="string">"_______________________________________________________________\n"</span><span class="special">;</span>
+</pre>
+<p>
+ And now the important part: the sample sizes required. Class <code class="computeroutput"><span class="identifier">students_t_distribution</span></code> has a static
+ member function <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>
+ that will calculate how large a sample size needs to be in order to give
+ a definitive result.
+ </p>
+<p>
+ The first argument is the difference between the means that you wish
+ to be able to detect, here it's the absolute value of the difference
+ between the sample mean, and the true mean.
+ </p>
+<p>
+ Then come two probability values: alpha and beta. Alpha is the maximum
+ acceptable risk of rejecting the null-hypothesis when it is in fact true.
+ Beta is the maximum acceptable risk of failing to reject the null-hypothesis
+ when in fact it is false. Also note that for a two-sided test, alpha
+ must be divided by 2.
+ </p>
+<p>
+ The final parameter of the function is the standard deviation of the
+ sample.
+ </p>
+<p>
+ In this example, we assume that alpha and beta are the same, and call
+ <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>
+ twice: once with alpha for a one-sided test, and once with alpha/2 for
+ a two-sided test.
+ </p>
+<pre class="programlisting"> <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="comment">// Confidence value:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
+ <span class="comment">// calculate df for single sided test:</span>
+ <span class="keyword">double</span> <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">students_t</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">M</span> <span class="special">-</span> <span class="identifier">Sm</span><span class="special">),</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">Sd</span><span class="special">);</span>
+ <span class="comment">// convert to sample size:</span>
+ <span class="keyword">double</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
+ <span class="comment">// Print size:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span><span class="special">;</span>
+ <span class="comment">// calculate df for two sided test:</span>
+ <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">students_t</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
+ <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">M</span> <span class="special">-</span> <span class="identifier">Sm</span><span class="special">),</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">Sd</span><span class="special">);</span>
+ <span class="comment">// convert to sample size:</span>
+ <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
+ <span class="comment">// Print size:</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Let's now look at some sample output using data taken from <span class="emphasis"><em>P.K.Hou,
+ O. W. Lau &amp; M.C. Wong, Analyst (1983) vol. 108, p 64. and from Statistics
+ for Analytical Chemistry, 3rd ed. (1994), pp 54-55 J. C. Miller and J.
+ N. Miller, Ellis Horwood ISBN 0 13 0309907.</em></span> The values result
+ from the determination of mercury by cold-vapour atomic absorption.
+ </p>
+<p>
+ Only three measurements were made, and the Students-t test above gave
+ a borderline result, so this example will show us how many samples would
+ need to be collected:
+ </p>
+<pre class="programlisting">_____________________________________________________________
+Estimated sample sizes required for various confidence levels
+_____________________________________________________________
+
+True Mean = 38.90000
+Sample Mean = 37.80000
+Sample Standard Deviation = 0.96437
+
+
+_______________________________________________________________
+Confidence Estimated Estimated
+ Value (%) Sample Size Sample Size
+ (one sided test) (two sided test)
+_______________________________________________________________
+ 75.000 3 4
+ 90.000 7 9
+ 95.000 11 13
+ 99.000 20 22
+ 99.900 35 37
+ 99.990 50 53
+ 99.999 66 68
+</pre>
+<p>
+ So in this case, many more measurements would have had to be made, for
+ example at the 95% level, 14 measurements in total for a two-sided test.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut_mean_test.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="two_sample_students_t.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html
new file mode 100644
index 0000000000..9506245aa4
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html
@@ -0,0 +1,334 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Testing a sample mean for difference from a "true" mean</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
+<link rel="prev" href="tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">
+<link rel="next" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut_mean_intervals.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.st_eg.tut_mean_test"></a><a class="link" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>Testing
+ a sample mean for difference from a "true" mean</a>
+</h5></div></div></div>
+<p>
+ When calibrating or comparing a scientific instrument or measurement
+ method of some kind, we want to be answer the question "Does an
+ observed sample mean differ from the "true" mean in any significant
+ way?". If it does, then we have evidence of a systematic difference.
+ This question can be answered with a Students-t test: more information
+ can be found <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">on
+ the NIST site</a>.
+ </p>
+<p>
+ Of course, the assignment of "true" to one mean may be quite
+ arbitrary, often this is simply a "traditional" method of measurement.
+ </p>
+<p>
+ The following example code is taken from the example program <a href="../../../../../../example/students_t_single_sample.cpp" target="_top">students_t_single_sample.cpp</a>.
+ </p>
+<p>
+ We'll begin by defining a procedure to determine which of the possible
+ hypothesis are rejected or not-rejected at a given significance level:
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Non-statisticians might say 'not-rejected' means 'accepted', (often
+ of the null-hypothesis) implying, wrongly, that there really <span class="bold"><strong>IS</strong></span> no difference, but statisticans eschew this
+ to avoid implying that there is positive evidence of 'no difference'.
+ 'Not-rejected' here means there is <span class="bold"><strong>no evidence</strong></span>
+ of difference, but there still might well be a difference. For example,
+ see <a href="http://en.wikipedia.org/wiki/Argument_from_ignorance" target="_top">argument
+ from ignorance</a> and <a href="http://www.bmj.com/cgi/content/full/311/7003/485" target="_top">Absence
+ of evidence does not constitute evidence of absence.</a>
+ </p></td></tr>
+</table></div>
+<pre class="programlisting"><span class="comment">// Needed includes:</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="comment">// Bring everything into global namespace for ease of use:</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+
+<span class="keyword">void</span> <span class="identifier">single_sample_t_test</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">M</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">Sm</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">Sn</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">//</span>
+ <span class="comment">// M = true mean.</span>
+ <span class="comment">// Sm = Sample Mean.</span>
+ <span class="comment">// Sd = Sample Standard Deviation.</span>
+ <span class="comment">// Sn = Sample Size.</span>
+ <span class="comment">// alpha = Significance Level.</span>
+</pre>
+<p>
+ Most of the procedure is pretty-printing, so let's just focus on the
+ calculation, we begin by calculating the t-statistic:
+ </p>
+<pre class="programlisting"><span class="comment">// Difference in means:</span>
+<span class="keyword">double</span> <span class="identifier">diff</span> <span class="special">=</span> <span class="identifier">Sm</span> <span class="special">-</span> <span class="identifier">M</span><span class="special">;</span>
+<span class="comment">// Degrees of freedom:</span>
+<span class="keyword">unsigned</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sn</span> <span class="special">-</span> <span class="number">1</span><span class="special">;</span>
+<span class="comment">// t-statistic:</span>
+<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="identifier">diff</span> <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="keyword">double</span><span class="special">(</span><span class="identifier">Sn</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">Sd</span><span class="special">;</span>
+</pre>
+<p>
+ Finally calculate the probability from the t-statistic. If we're interested
+ in simply whether there is a difference (either less or greater) or not,
+ we don't care about the sign of the t-statistic, and we take the complement
+ of the probability for comparison to the significance level:
+ </p>
+<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t_stat</span><span class="special">)));</span>
+</pre>
+<p>
+ The procedure then prints out the results of the various tests that can
+ be done, these can be summarised in the following table:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Hypothesis
+ </p>
+ </th>
+<th>
+ <p>
+ Test
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ The Null-hypothesis: there is <span class="bold"><strong>no difference</strong></span>
+ in means
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if complement of CDF for |t| &lt; significance level
+ / 2:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
+ <span class="special">&lt;</span> <span class="identifier">alpha</span>
+ <span class="special">/</span> <span class="number">2</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The Alternative-hypothesis: there <span class="bold"><strong>is
+ difference</strong></span> in means
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if complement of CDF for |t| &gt; significance level
+ / 2:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
+ <span class="special">&gt;</span> <span class="identifier">alpha</span>
+ <span class="special">/</span> <span class="number">2</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The Alternative-hypothesis: the sample mean <span class="bold"><strong>is
+ less</strong></span> than the true mean.
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if CDF of t &gt; 1 - significance level:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">t</span><span class="special">))</span>
+ <span class="special">&lt;</span> <span class="identifier">alpha</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The Alternative-hypothesis: the sample mean <span class="bold"><strong>is
+ greater</strong></span> than the true mean.
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if complement of CDF of t &lt; significance level:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">t</span><span class="special">)</span>
+ <span class="special">&lt;</span> <span class="identifier">alpha</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Notice that the comparisons are against <code class="computeroutput"><span class="identifier">alpha</span>
+ <span class="special">/</span> <span class="number">2</span></code>
+ for a two-sided test and against <code class="computeroutput"><span class="identifier">alpha</span></code>
+ for a one-sided test
+ </p></td></tr>
+</table></div>
+<p>
+ Now that we have all the parts in place, let's take a look at some sample
+ output, first using the <a href="http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm" target="_top">Heat
+ flow data</a> from the NIST site. The data set was collected by Bob
+ Zarr of NIST in January, 1990 from a heat flow meter calibration and
+ stability analysis. The corresponding dataplot output for this test can
+ be found in <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">section
+ 3.5.2</a> of the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a>.
+ </p>
+<pre class="programlisting">__________________________________
+Student t test for a single sample
+__________________________________
+
+Number of Observations = 195
+Sample Mean = 9.26146
+Sample Standard Deviation = 0.02279
+Expected True Mean = 5.00000
+
+Sample Mean - Expected Test Mean = 4.26146
+Degrees of Freedom = 194
+T Statistic = 2611.28380
+Probability that difference is due to chance = 0.000e+000
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Mean != 5.000 NOT REJECTED
+Mean &lt; 5.000 REJECTED
+Mean &gt; 5.000 NOT REJECTED
+</pre>
+<p>
+ You will note the line that says the probability that the difference
+ is due to chance is zero. From a philosophical point of view, of course,
+ the probability can never reach zero. However, in this case the calculated
+ probability is smaller than the smallest representable double precision
+ number, hence the appearance of a zero here. Whatever its "true"
+ value is, we know it must be extraordinarily small, so the alternative
+ hypothesis - that there is a difference in means - is not rejected.
+ </p>
+<p>
+ For comparison the next example data output is taken from <span class="emphasis"><em>P.K.Hou,
+ O. W. Lau &amp; M.C. Wong, Analyst (1983) vol. 108, p 64. and from Statistics
+ for Analytical Chemistry, 3rd ed. (1994), pp 54-55 J. C. Miller and J.
+ N. Miller, Ellis Horwood ISBN 0 13 0309907.</em></span> The values result
+ from the determination of mercury by cold-vapour atomic absorption.
+ </p>
+<pre class="programlisting">__________________________________
+Student t test for a single sample
+__________________________________
+
+Number of Observations = 3
+Sample Mean = 37.80000
+Sample Standard Deviation = 0.96437
+Expected True Mean = 38.90000
+
+Sample Mean - Expected Test Mean = -1.10000
+Degrees of Freedom = 2
+T Statistic = -1.97566
+Probability that difference is due to chance = 1.869e-001
+
+Results for Alternative Hypothesis and alpha = 0.0500
+
+Alternative Hypothesis Conclusion
+Mean != 38.900 REJECTED
+Mean &lt; 38.900 NOT REJECTED
+Mean &gt; 38.900 NOT REJECTED
+</pre>
+<p>
+ As you can see the small number of measurements (3) has led to a large
+ uncertainty in the location of the true mean. So even though there appears
+ to be a difference between the sample mean and the expected true mean,
+ we conclude that there is no significant difference, and are unable to
+ reject the null hypothesis. However, if we were to lower the bar for
+ acceptance down to alpha = 0.1 (a 90% confidence level) we see a different
+ output:
+ </p>
+<pre class="programlisting">__________________________________
+Student t test for a single sample
+__________________________________
+
+Number of Observations = 3
+Sample Mean = 37.80000
+Sample Standard Deviation = 0.96437
+Expected True Mean = 38.90000
+
+Sample Mean - Expected Test Mean = -1.10000
+Degrees of Freedom = 2
+T Statistic = -1.97566
+Probability that difference is due to chance = 1.869e-001
+
+Results for Alternative Hypothesis and alpha = 0.1000
+
+Alternative Hypothesis Conclusion
+Mean != 38.900 REJECTED
+Mean &lt; 38.900 NOT REJECTED
+Mean &gt; 38.900 REJECTED
+</pre>
+<p>
+ In this case, we really have a borderline result, and more data (and/or
+ more accurate data), is needed for a more convincing conclusion.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut_mean_intervals.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_size.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html
new file mode 100644
index 0000000000..1dea9896ce
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/stat_tut/weg/st_eg/two_sample_students_t.html
@@ -0,0 +1,359 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Comparing the means of two samples with the Students-t test</title>
+<link rel="stylesheet" href="../../../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
+<link rel="prev" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">
+<link rel="next" href="paired_st.html" title="Comparing two paired samples with the Student's t distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut_mean_size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="paired_st.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.stat_tut.weg.st_eg.two_sample_students_t"></a><a class="link" href="two_sample_students_t.html" title="Comparing the means of two samples with the Students-t test">Comparing
+ the means of two samples with the Students-t test</a>
+</h5></div></div></div>
+<p>
+ Imagine that we have two samples, and we wish to determine whether their
+ means are different or not. This situation often arises when determining
+ whether a new process or treatment is better than an old one.
+ </p>
+<p>
+ In this example, we'll be using the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3531.htm" target="_top">Car
+ Mileage sample data</a> from the <a href="http://www.itl.nist.gov" target="_top">NIST
+ website</a>. The data compares miles per gallon of US cars with miles
+ per gallon of Japanese cars.
+ </p>
+<p>
+ The sample code is in <a href="../../../../../../example/students_t_two_samples.cpp" target="_top">students_t_two_samples.cpp</a>.
+ </p>
+<p>
+ There are two ways in which this test can be conducted: we can assume
+ that the true standard deviations of the two samples are equal or not.
+ If the standard deviations are assumed to be equal, then the calculation
+ of the t-statistic is greatly simplified, so we'll examine that case
+ first. In real life we should verify whether this assumption is valid
+ with a Chi-Squared test for equal variances.
+ </p>
+<p>
+ We begin by defining a procedure that will conduct our test assuming
+ equal variances:
+ </p>
+<pre class="programlisting"><span class="comment">// Needed headers:</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
+<span class="comment">// Simplify usage:</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
+
+<span class="keyword">void</span> <span class="identifier">two_samples_t_test_equal_sd</span><span class="special">(</span>
+ <span class="keyword">double</span> <span class="identifier">Sm1</span><span class="special">,</span> <span class="comment">// Sm1 = Sample 1 Mean.</span>
+ <span class="keyword">double</span> <span class="identifier">Sd1</span><span class="special">,</span> <span class="comment">// Sd1 = Sample 1 Standard Deviation.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">Sn1</span><span class="special">,</span> <span class="comment">// Sn1 = Sample 1 Size.</span>
+ <span class="keyword">double</span> <span class="identifier">Sm2</span><span class="special">,</span> <span class="comment">// Sm2 = Sample 2 Mean.</span>
+ <span class="keyword">double</span> <span class="identifier">Sd2</span><span class="special">,</span> <span class="comment">// Sd2 = Sample 2 Standard Deviation.</span>
+ <span class="keyword">unsigned</span> <span class="identifier">Sn2</span><span class="special">,</span> <span class="comment">// Sn2 = Sample 2 Size.</span>
+ <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span> <span class="comment">// alpha = Significance Level.</span>
+<span class="special">{</span>
+</pre>
+<p>
+ Our procedure will begin by calculating the t-statistic, assuming equal
+ variances the needed formulae are:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/dist_tutorial1.png"></span>
+ </p>
+<p>
+ where Sp is the "pooled" standard deviation of the two samples,
+ and <span class="emphasis"><em>v</em></span> is the number of degrees of freedom of the
+ two combined samples. We can now write the code to calculate the t-statistic:
+ </p>
+<pre class="programlisting"><span class="comment">// Degrees of freedom:</span>
+<span class="keyword">double</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sn2</span> <span class="special">-</span> <span class="number">2</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Degrees of Freedom"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="comment">// Pooled variance:</span>
+<span class="keyword">double</span> <span class="identifier">sp</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">(((</span><span class="identifier">Sn1</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">Sn2</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">v</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Pooled Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sp</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="comment">// t-statistic:</span>
+<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Sm1</span> <span class="special">-</span> <span class="identifier">Sm2</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">sp</span> <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="number">1.0</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="number">1.0</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">));</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"T Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ The next step is to define our distribution object, and calculate the
+ complement of the probability:
+ </p>
+<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t_stat</span><span class="special">)));</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that difference is due to chance"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="number">2</span> <span class="special">*</span> <span class="identifier">q</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
+</pre>
+<p>
+ Here we've used the absolute value of the t-statistic, because we initially
+ want to know simply whether there is a difference or not (a two-sided
+ test). However, we can also test whether the mean of the second sample
+ is greater or is less (one-sided test) than that of the first: all the
+ possible tests are summed up in the following table:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Hypothesis
+ </p>
+ </th>
+<th>
+ <p>
+ Test
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ The Null-hypothesis: there is <span class="bold"><strong>no difference</strong></span>
+ in means
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if complement of CDF for |t| &lt; significance level
+ / 2:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
+ <span class="special">&lt;</span> <span class="identifier">alpha</span>
+ <span class="special">/</span> <span class="number">2</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The Alternative-hypothesis: there is a <span class="bold"><strong>difference</strong></span>
+ in means
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if complement of CDF for |t| &gt; significance level
+ / 2:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
+ <span class="special">&lt;</span> <span class="identifier">alpha</span>
+ <span class="special">/</span> <span class="number">2</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The Alternative-hypothesis: Sample 1 Mean is <span class="bold"><strong>less</strong></span>
+ than Sample 2 Mean.
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if CDF of t &gt; significance level:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">t</span><span class="special">)</span>
+ <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ The Alternative-hypothesis: Sample 1 Mean is <span class="bold"><strong>greater</strong></span>
+ than Sample 2 Mean.
+ </p>
+ </td>
+<td>
+ <p>
+ Reject if complement of CDF of t &gt; significance level:
+ </p>
+ <p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
+ <span class="identifier">t</span><span class="special">))</span>
+ <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ For a two-sided test we must compare against alpha / 2 and not alpha.
+ </p></td></tr>
+</table></div>
+<p>
+ Most of the rest of the sample program is pretty-printing, so we'll skip
+ over that, and take a look at the sample output for alpha=0.05 (a 95%
+ probability level). For comparison the dataplot output for the same data
+ is in <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda353.htm" target="_top">section
+ 1.3.5.3</a> of the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
+ e-Handbook of Statistical Methods.</a>.
+ </p>
+<pre class="programlisting"> ________________________________________________
+ Student t test for two samples (equal variances)
+ ________________________________________________
+
+ Number of Observations (Sample 1) = 249
+ Sample 1 Mean = 20.145
+ Sample 1 Standard Deviation = 6.4147
+ Number of Observations (Sample 2) = 79
+ Sample 2 Mean = 30.481
+ Sample 2 Standard Deviation = 6.1077
+ Degrees of Freedom = 326
+ Pooled Standard Deviation = 6.3426
+ T Statistic = -12.621
+ Probability that difference is due to chance = 5.273e-030
+
+ Results for Alternative Hypothesis and alpha = 0.0500
+
+ Alternative Hypothesis Conclusion
+ Sample 1 Mean != Sample 2 Mean NOT REJECTED
+ Sample 1 Mean &lt; Sample 2 Mean NOT REJECTED
+ Sample 1 Mean &gt; Sample 2 Mean REJECTED
+</pre>
+<p>
+ So with a probability that the difference is due to chance of just 5.273e-030,
+ we can safely conclude that there is indeed a difference.
+ </p>
+<p>
+ The tests on the alternative hypothesis show that we must also reject
+ the hypothesis that Sample 1 Mean is greater than that for Sample 2:
+ in this case Sample 1 represents the miles per gallon for Japanese cars,
+ and Sample 2 the miles per gallon for US cars, so we conclude that Japanese
+ cars are on average more fuel efficient.
+ </p>
+<p>
+ Now that we have the simple case out of the way, let's look for a moment
+ 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:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/dist_tutorial2.png"></span>
+ </p>
+<p>
+ And for the combined degrees of freedom we use the <a href="http://en.wikipedia.org/wiki/Welch-Satterthwaite_equation" target="_top">Welch-Satterthwaite</a>
+ approximation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/dist_tutorial3.png"></span>
+ </p>
+<p>
+ 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
+ integer value.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Some statistical packages truncate the effective degrees of freedom
+ to an integer value: this may be necessary if you are relying on lookup
+ tables, but since our code fully supports non-integer degrees of freedom
+ there is no need to truncate in this case. Also note that when the
+ degrees of freedom is small then the Welch-Satterthwaite approximation
+ may be a significant source of error.
+ </p></td></tr>
+</table></div>
+<p>
+ Putting these formulae into code we get:
+ </p>
+<pre class="programlisting"><span class="comment">// Degrees of freedom:</span>
+<span class="keyword">double</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">;</span>
+<span class="identifier">v</span> <span class="special">*=</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">t1</span> <span class="special">=</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span><span class="special">;</span>
+<span class="identifier">t1</span> <span class="special">*=</span> <span class="identifier">t1</span><span class="special">;</span>
+<span class="identifier">t1</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">Sn1</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
+<span class="keyword">double</span> <span class="identifier">t2</span> <span class="special">=</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">;</span>
+<span class="identifier">t2</span> <span class="special">*=</span> <span class="identifier">t2</span><span class="special">;</span>
+<span class="identifier">t2</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">Sn2</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
+<span class="identifier">v</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">t1</span> <span class="special">+</span> <span class="identifier">t2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Degrees of Freedom"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+<span class="comment">// t-statistic:</span>
+<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Sm1</span> <span class="special">-</span> <span class="identifier">Sm2</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">);</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"T Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
+</pre>
+<p>
+ Thereafter the code and the tests are performed the same as before. Using
+ are car mileage data again, here's what the output looks like:
+ </p>
+<pre class="programlisting"> __________________________________________________
+ Student t test for two samples (unequal variances)
+ __________________________________________________
+
+ Number of Observations (Sample 1) = 249
+ Sample 1 Mean = 20.145
+ Sample 1 Standard Deviation = 6.4147
+ Number of Observations (Sample 2) = 79
+ Sample 2 Mean = 30.481
+ Sample 2 Standard Deviation = 6.1077
+ Degrees of Freedom = 136.87
+ T Statistic = -12.946
+ Probability that difference is due to chance = 1.571e-025
+
+ Results for Alternative Hypothesis and alpha = 0.0500
+
+ Alternative Hypothesis Conclusion
+ Sample 1 Mean != Sample 2 Mean NOT REJECTED
+ Sample 1 Mean &lt; Sample 2 Mean NOT REJECTED
+ Sample 1 Mean &gt; Sample 2 Mean REJECTED
+</pre>
+<p>
+ This time allowing the variances in the two samples to differ has yielded
+ a higher likelihood that the observed difference is down to chance alone
+ (1.571e-025 compared to 5.273e-030 when equal variances were assumed).
+ However, the conclusion remains the same: US cars are less fuel efficient
+ than Japanese models.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tut_mean_size.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="paired_st.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/synopsis.html b/libs/math/doc/html/math_toolkit/synopsis.html
new file mode 100644
index 0000000000..67a9f44e91
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/synopsis.html
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../gcd_lcm.html" title="Chapter&#160;11.&#160;Integer Utilities (Greatest Common Divisor and Least Common Multiple)">
+<link rel="prev" href="introduction.html" title="Introduction">
+<link rel="next" href="gcd_function_object.html" title="GCD Function Object">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_function_object.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
+</h2></div></div></div>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
+<span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">math</span>
+<span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">gcd_evaluator</span><span class="special">;</span>
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">lcm_evaluator</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="identifier">IntegerType</span> <span class="identifier">gcd</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="identifier">IntegerType</span> <span class="identifier">lcm</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+
+<span class="keyword">typedef</span> <span class="emphasis"><em>see-below</em></span> <span class="identifier">static_gcd_type</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">static_gcd</span><span class="special">;</span>
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="identifier">static_gcd_type</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">static_lcm</span><span class="special">;</span>
+
+<span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_function_object.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/threads.html b/libs/math/doc/html/math_toolkit/threads.html
new file mode 100644
index 0000000000..c8b02baf75
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/threads.html
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Thread Safety</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
+<link rel="prev" href="intro_pol_overview.html" title="Policies">
+<link rel="next" href="perf_over1.html" title="Performance">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="intro_pol_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_over1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.threads"></a><a class="link" href="threads.html" title="Thread Safety">Thread Safety</a>
+</h2></div></div></div>
+<p>
+ The library is fully thread safe and re-entrant for all functions regards of
+ the data type they are instantiated on. Thread safety limitations relating
+ to user defined types present in previous releases (prior to 1.50.0) have been
+ removed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="intro_pol_overview.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_over1.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/tr1_ref.html b/libs/math/doc/html/math_toolkit/tr1_ref.html
new file mode 100644
index 0000000000..0e9a195423
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/tr1_ref.html
@@ -0,0 +1,538 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>TR1 C Functions Quick Reference</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../extern_c.html" title='Chapter&#160;7.&#160;TR1 and C99 external "C" Functions'>
+<link rel="prev" href="c99.html" title="C99 C Functions">
+<link rel="next" href="../inverse_complex.html" title="Chapter&#160;8.&#160;Complex Number Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="c99.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inverse_complex.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.tr1_ref"></a><a class="link" href="tr1_ref.html" title="TR1 C Functions Quick Reference">TR1 C Functions Quick Reference</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.tr1_ref.h0"></a>
+ <span class="phrase"><a name="math_toolkit.tr1_ref.supported_tr1_functions"></a></span><a class="link" href="tr1_ref.html#math_toolkit.tr1_ref.supported_tr1_functions">Supported
+ TR1 Functions</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
+
+<span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.2] associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.3] beta function:</span>
+<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
+<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.15] exponential integral:</span>
+<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.16] Hermite polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.19] Legendre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.20] Riemann zeta function:</span>
+<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
+<span class="comment">// spherical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
+ versions of the above functions are provided, so that calling the function
+ with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
+ arguments is supported, with the return type determined by the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>.
+ </p>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">expintf</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// float version, returns float.</span>
+<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// also calls the float version and returns float.</span>
+<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0</span><span class="special">);</span> <span class="comment">// double version, returns double.</span>
+<span class="identifier">expintl</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// long double version, returns a long double.</span>
+<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// also calls the long double version.</span>
+<span class="identifier">expint</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// integer argument is treated as a double, returns double.</span>
+</pre>
+<h5>
+<a name="math_toolkit.tr1_ref.h1"></a>
+ <span class="phrase"><a name="math_toolkit.tr1_ref.quick_reference"></a></span><a class="link" href="tr1_ref.html#math_toolkit.tr1_ref.quick_reference">Quick
+ Reference</a>
+ </h5>
+<pre class="programlisting"><span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ The assoc_laguerre functions return:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/laguerre_1.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials">laguerre</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.2] associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ The assoc_legendre functions return:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/legendre_1b.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">legendre_p</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.3] beta function:</span>
+<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the beta function of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/beta1.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_beta/beta_function.html" title="Beta">beta</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the complete elliptic integral of the first kind of <span class="emphasis"><em>k</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/ellint6.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">ellint_1</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the complete elliptic integral of the second kind of <span class="emphasis"><em>k</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/ellint7.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">ellint_2</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the complete elliptic integral of the third kind of <span class="emphasis"><em>k</em></span>
+ and <span class="emphasis"><em>nu</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/ellint8.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the modified bessel function of the first kind of <span class="emphasis"><em>nu</em></span>
+ and <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/mbessel2.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the bessel function of the first kind of <span class="emphasis"><em>nu</em></span> and
+ <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/bessel2.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ for the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
+<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the modified bessel function of the second kind of <span class="emphasis"><em>nu</em></span>
+ and <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/mbessel3.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
+<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the bessel function of the second kind (Neumann function) of <span class="emphasis"><em>nu</em></span>
+ and <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/bessel3.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
+ for the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the incomplete elliptic integral of the first kind of <span class="emphasis"><em>k</em></span>
+ and <span class="emphasis"><em>phi</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/ellint2.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">ellint_1</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the incomplete elliptic integral of the second kind of <span class="emphasis"><em>k</em></span>
+ and <span class="emphasis"><em>phi</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/ellint3.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">ellint_2</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
+<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the incomplete elliptic integral of the third kind of <span class="emphasis"><em>k</em></span>,
+ <span class="emphasis"><em>nu</em></span> and <span class="emphasis"><em>phi</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/ellint4.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.15] exponential integral:</span>
+<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the exponential integral Ei of <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/expint_i_1.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="expint/expint_i.html" title="Exponential Integral Ei">expint</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.16] Hermite polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the n'th Hermite polynomial of <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/hermite_0.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_poly/hermite.html" title="Hermite Polynomials">hermite</a> for the
+ full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the n'th Laguerre polynomial of <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/laguerre_0.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials">laguerre</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.19] Legendre polynomials:</span>
+<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the l'th Legendre polynomial of <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/legendre_0.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">legendre_p</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.20] Riemann zeta function:</span>
+<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the Riemann Zeta function of <span class="emphasis"><em>x</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/zeta1.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="zetas/zeta.html" title="Riemann Zeta Function">zeta</a> for the full template
+ (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the spherical Bessel function of the first kind of <span class="emphasis"><em>x</em></span>
+ j<sub>n</sub>(x):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/sbessel2.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a> for
+ the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
+<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the spherical associated Legendre function of <span class="emphasis"><em>l</em></span>,
+ <span class="emphasis"><em>m</em></span> and <span class="emphasis"><em>theta</em></span>:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/spherical_3.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="sf_poly/sph_harm.html" title="Spherical Harmonics">spherical_harmonic</a>
+ for the full template (header only) version of this function.
+ </p>
+<pre class="programlisting"><span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
+<span class="comment">// spherical Bessel functions (of the second kind):</span>
+<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ Returns the spherical Neumann function of <span class="emphasis"><em>x</em></span> y<sub>n</sub>(x):
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../equations/sbessel2.png"></span>
+ </p>
+<p>
+ See also <a class="link" href="bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a> for
+ the full template (header only) version of this function.
+ </p>
+<h5>
+<a name="math_toolkit.tr1_ref.h2"></a>
+ <span class="phrase"><a name="math_toolkit.tr1_ref.currently_unsupported_tr1_functi"></a></span><a class="link" href="tr1_ref.html#math_toolkit.tr1_ref.currently_unsupported_tr1_functi">Currently
+ Unsupported TR1 Functions</a>
+ </h5>
+<pre class="programlisting"><span class="comment">// [5.2.1.7] confluent hypergeometric functions:</span>
+<span class="keyword">double</span> <span class="identifier">conf_hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">conf_hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">conf_hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="comment">// [5.2.1.17] hypergeometric functions:</span>
+<span class="keyword">double</span> <span class="identifier">hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">float</span> <span class="identifier">hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span>
+<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ These two functions are not implemented as they are not believed to be numerically
+ stable.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="c99.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inverse_complex.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/trans.html b/libs/math/doc/html/math_toolkit/trans.html
new file mode 100644
index 0000000000..e4377281f6
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/trans.html
@@ -0,0 +1,144 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Quaternion Transcendentals</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="create.html" title="Quaternion Creation Functions">
+<link rel="next" href="quat_tests.html" title="Test Program">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="create.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_tests.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.trans"></a><a class="link" href="trans.html" title="Quaternion Transcendentals">Quaternion Transcendentals</a>
+</h2></div></div></div>
+<p>
+ There is no <code class="computeroutput"><span class="identifier">log</span></code> or <code class="computeroutput"><span class="identifier">sqrt</span></code> provided for quaternions in this implementation,
+ and <code class="computeroutput"><span class="identifier">pow</span></code> is likewise restricted
+ to integral powers of the exponent. There are several reasons to this: on the
+ one hand, the equivalent of analytic continuation for quaternions ("branch
+ cuts") remains to be investigated thoroughly (by me, at any rate...),
+ and we wish to avoid the nonsense introduced in the standard by exponentiations
+ of complexes by complexes (which is well defined, but not in the standard...).
+ Talking of nonsense, saying that <code class="computeroutput"><span class="identifier">pow</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span></code> is "implementation
+ defined" is just plain brain-dead...
+ </p>
+<p>
+ We do, however provide several transcendentals, chief among which is the exponential.
+ This author claims the complete proof of the "closed formula" as
+ his own, as well as its independant invention (there are claims to prior invention
+ of the formula, such as one by Professor Shoemake, and it is possible that
+ the formula had been known a couple of centuries back, but in absence of bibliographical
+ reference, the matter is pending, awaiting further investigation; on the other
+ hand, the definition and existence of the exponential on the quaternions, is
+ of course a fact known for a very long time). Basically, any converging power
+ series with real coefficients which allows for a closed formula in <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> can be transposed to <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span>. More transcendentals of this type could
+ be added in a further revision upon request. It should be noted that it is
+ these functions which force the dependency upon the <a href="../../../../../boost/math/special_functions/sinc.hpp" target="_top">boost/math/special_functions/sinc.hpp</a>
+ and the <a href="../../../../../boost/math/special_functions/sinhc.hpp" target="_top">boost/math/special_functions/sinhc.hpp</a>
+ headers.
+ </p>
+<h5>
+<a name="math_toolkit.trans.h0"></a>
+ <span class="phrase"><a name="math_toolkit.trans.exp"></a></span><a class="link" href="trans.html#math_toolkit.trans.exp">exp</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the exponential of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.trans.h1"></a>
+ <span class="phrase"><a name="math_toolkit.trans.cos"></a></span><a class="link" href="trans.html#math_toolkit.trans.cos">cos</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cos</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the cosine of the quaternion
+ </p>
+<h5>
+<a name="math_toolkit.trans.h2"></a>
+ <span class="phrase"><a name="math_toolkit.trans.sin"></a></span><a class="link" href="trans.html#math_toolkit.trans.sin">sin</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sin</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the sine of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.trans.h3"></a>
+ <span class="phrase"><a name="math_toolkit.trans.tan"></a></span><a class="link" href="trans.html#math_toolkit.trans.tan">tan</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tan</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the tangent of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.trans.h4"></a>
+ <span class="phrase"><a name="math_toolkit.trans.cosh"></a></span><a class="link" href="trans.html#math_toolkit.trans.cosh">cosh</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cosh</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the hyperbolic cosine of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.trans.h5"></a>
+ <span class="phrase"><a name="math_toolkit.trans.sinh"></a></span><a class="link" href="trans.html#math_toolkit.trans.sinh">sinh</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinh</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the hyperbolic sine of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.trans.h6"></a>
+ <span class="phrase"><a name="math_toolkit.trans.tanh"></a></span><a class="link" href="trans.html#math_toolkit.trans.tanh">tanh</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tanh</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the hyperbolic tangent of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.trans.h7"></a>
+ <span class="phrase"><a name="math_toolkit.trans.pow"></a></span><a class="link" href="trans.html#math_toolkit.trans.pow">pow</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
+</pre>
+<p>
+ Computes the n-th power of the quaternion q.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="create.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat_tests.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/tuning.html b/libs/math/doc/html/math_toolkit/tuning.html
new file mode 100644
index 0000000000..e0bb558de8
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/tuning.html
@@ -0,0 +1,895 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Performance Tuning Macros</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../perf.html" title="Chapter&#160;15.&#160;Performance">
+<link rel="prev" href="comp_compilers.html" title="Comparing Compilers">
+<link rel="next" href="comparisons.html" title="Comparisons to Other Open Source Libraries">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comp_compilers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparisons.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.tuning"></a><a class="link" href="tuning.html" title="Performance Tuning Macros">Performance Tuning Macros</a>
+</h2></div></div></div>
+<p>
+ There are a small number of performance tuning options that are determined
+ by configuration macros. These should be set in boost/math/tools/user.hpp;
+ or else reported to the Boost-development mailing list so that the appropriate
+ option for a given compiler and OS platform can be set automatically in our
+ configuration setup.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Macro
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_POLY_METHOD
+ </p>
+ </td>
+<td>
+ <p>
+ Determines how polynomials and most rational functions are evaluated.
+ Define to one of the values 0, 1, 2 or 3: see below for the meaning
+ of these values.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_RATIONAL_METHOD
+ </p>
+ </td>
+<td>
+ <p>
+ Determines how symmetrical rational functions are evaluated: mostly
+ this only effects how the Lanczos approximation is evaluated, and
+ how the <code class="computeroutput"><span class="identifier">evaluate_rational</span></code>
+ function behaves. Define to one of the values 0, 1, 2 or 3: see below
+ for the meaning of these values.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_MAX_POLY_ORDER
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum order of polynomial or rational function that will be
+ evaluated by a method other than 0 (a simple "for" loop).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_INT_TABLE_TYPE(RT, IT)
+ </p>
+ </td>
+<td>
+ <p>
+ Many of the coefficients to the polynomials and rational functions
+ used by this library are integers. Normally these are stored as tables
+ as integers, but if mixed integer / floating point arithmetic is
+ much slower than regular floating point arithmetic then they can
+ be stored as tables of floating point values instead. If mixed arithmetic
+ is slow then add:
+ </p>
+ <p>
+ #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
+ </p>
+ <p>
+ to boost/math/tools/user.hpp, otherwise the default of:
+ </p>
+ <p>
+ #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
+ </p>
+ <p>
+ Set in boost/math/config.hpp is fine, and may well result in smaller
+ code.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The values to which <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
+ and <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>
+ may be set are as follows:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Value
+ </p>
+ </th>
+<th>
+ <p>
+ Effect
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated using Horner's method,
+ and a simple for-loop.
+ </p>
+ <p>
+ Note that if the order of the polynomial or rational function is
+ a runtime parameter, or the order is greater than the value of <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>, then
+ this method is always used, irrespective of the value of <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code> or <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated without the use
+ of a loop, and using Horner's method. This only occurs if the order
+ of the polynomial is known at compile time and is less than or equal
+ to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated without the use
+ of a loop, and using a second order Horner's method. In theory this
+ permits two operations to occur in parallel for polynomials, and
+ four in parallel for rational functions. This only occurs if the
+ order of the polynomial is known at compile time and is less than
+ or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated without the use
+ of a loop, and using a second order Horner's method. In theory this
+ permits two operations to occur in parallel for polynomials, and
+ four in parallel for rational functions. This differs from method
+ "2" in that the code is carefully ordered to make the parallelisation
+ more obvious to the compiler: rather than relying on the compiler's
+ optimiser to spot the parallelisation opportunities. This only occurs
+ if the order of the polynomial is known at compile time and is less
+ than or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ To determine which of these options is best for your particular compiler/platform
+ build the performance test application with your usual release settings, and
+ run the program with the --tune command line option.
+ </p>
+<p>
+ In practice the difference between methods is rather small at present, as the
+ following table shows. However, parallelisation /vectorisation is likely to
+ become more important in the future: quite likely the methods currently supported
+ will need to be supplemented or replaced by ones more suited to highly vectorisable
+ processors in the future.
+ </p>
+<div class="table">
+<a name="math_toolkit.tuning.a_comparison_of_polynomial_evalu"></a><p class="title"><b>Table&#160;15.3.&#160;A Comparison of Polynomial Evaluation Methods</b></p>
+<div class="table-contents"><table class="table" summary="A Comparison of Polynomial Evaluation Methods">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Compiler/platform
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Microsoft C++ 9.0, Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.26</p>
+<p> </p>
+<p>(7.421e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.22</p>
+<p> </p>
+<p>(7.226e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.901e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(6.115e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Microsoft C++ 9.0, Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.008e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.008e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.43</p>
+<p> </p>
+<p>(1.445e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.40</p>
+<p> </p>
+<p>(1.409e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 11.1 (Windows), Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(6.517e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(6.505e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.516e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.516e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 11.1 (Windows), Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.947e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.02</p>
+<p> </p>
+<p>(9.130e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.49</p>
+<p> </p>
+<p>(1.333e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(9.325e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ GNU G++ 4.2 (Linux), Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.61</p>
+<p> </p>
+<p>(1.220e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.68</p>
+<p> </p>
+<p>(1.269e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.23</p>
+<p> </p>
+<p>(9.275e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.566e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ GNU G++ 4.2 (Linux), Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.26</p>
+<p> </p>
+<p>(1.660e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.33</p>
+<p> </p>
+<p>(1.758e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.318e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(1.513e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 10.0 (Linux), Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(9.154e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(9.154e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.934e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.934e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 10.0 (Linux), Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.245e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.245e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.35</p>
+<p> </p>
+<p>(1.684e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(1.294e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ There is one final performance tuning option that is available as a compile
+ time <a class="link" href="../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy</a>. Normally when evaluating functions
+ at <code class="computeroutput"><span class="keyword">double</span></code> precision, these are
+ actually evaluated at <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ precision internally: this helps to ensure that as close to full <code class="computeroutput"><span class="keyword">double</span></code> precision as possible is achieved, but
+ may slow down execution in some environments. The defaults for this policy
+ can be changed by <a class="link" href="pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">defining
+ the macro <code class="computeroutput"><span class="identifier">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></code></a>
+ to <code class="computeroutput"><span class="keyword">false</span></code>, or <a class="link" href="pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">by
+ specifying a specific policy</a> when calling the special functions or distributions.
+ See also the <a class="link" href="pol_tutorial.html" title="Policy Tutorial">policy tutorial</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.tuning.performance_comparison_with_and_"></a><p class="title"><b>Table&#160;15.4.&#160;Performance Comparison with and Without Internal Promotion to long double</b></p>
+<div class="table-contents"><table class="table" summary="Performance Comparison with and Without Internal Promotion to long double">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ GCC 4.2 , Linux
+ </p>
+ <p>
+ (with internal promotion of double to long double).
+ </p>
+ </th>
+<th>
+ <p>
+ GCC 4.2, Linux
+ </p>
+ <p>
+ (without promotion of double).
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_erf/error_function.html" title="Error Functions">erf</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.48</p>
+<p> </p>
+<p>(1.387e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.377e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.11</p>
+<p> </p>
+<p>(4.009e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.598e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.29</p>
+<p> </p>
+<p>(5.354e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.137e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.44</p>
+<p> </p>
+<p>(2.220e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.538e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
+ and <a class="link" href="sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.25</p>
+<p> </p>
+<p>(7.009e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.607e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a> and
+ <a class="link" href="sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.26</p>
+<p> </p>
+<p>(3.116e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.464e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.27</p>
+<p> </p>
+<p>(1.178e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.291e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
+ and <a class="link" href="sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.20</p>
+<p> </p>
+<p>(2.765e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.311e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comp_compilers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparisons.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/tutorial.html b/libs/math/doc/html/math_toolkit/tutorial.html
new file mode 100644
index 0000000000..0cf3d7295d
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/tutorial.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tutorial</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../constants.html" title="Chapter&#160;4.&#160;Mathematical Constants">
+<link rel="prev" href="constants_intro.html" title="Introduction">
+<link rel="next" href="tutorial/non_templ.html" title="Use in non-template code">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constants_intro.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/non_templ.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="tutorial/non_templ.html">Use in non-template
+ code</a></span></dt>
+<dt><span class="section"><a href="tutorial/templ.html">Use in template code</a></span></dt>
+<dt><span class="section"><a href="tutorial/user_def.html">Use With User-Defined
+ Types</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="constants_intro.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/non_templ.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/tutorial/non_templ.html b/libs/math/doc/html/math_toolkit/tutorial/non_templ.html
new file mode 100644
index 0000000000..f524f63cd3
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/tutorial/non_templ.html
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Use in non-template code</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="../tutorial.html" title="Tutorial">
+<link rel="next" href="templ.html" title="Use in template code">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="templ.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.tutorial.non_templ"></a><a class="link" href="non_templ.html" title="Use in non-template code">Use in non-template
+ code</a>
+</h3></div></div></div>
+<p>
+ When using the math constants at your chosen fixed precision in non-template
+ code, you can simply add a <code class="computeroutput"><span class="keyword">using</span> <span class="keyword">namespace</span></code> declaration, for example, <code class="computeroutput"><span class="keyword">using</span> <span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span></code>, to make the constants
+ of the correct precision for your code visible in the current scope, and
+ then use each constant <span class="emphasis"><em>as a simple variable - sans brackets</em></span>:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">double</span> <span class="identifier">area</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">r</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Had our function been written as taking a <code class="computeroutput"><span class="keyword">float</span></code>
+ rather than a <code class="computeroutput"><span class="keyword">double</span></code>, we could
+ have written instead:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">float</span> <span class="identifier">area</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">r</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">float_constants</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Likewise, constants that are suitable for use at <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> precision are available in
+ the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">long_double_constants</span></code>.
+ </p>
+<p>
+ You can see the full list of available constants at <a class="link" href="../constants.html" title="The Mathematical Constants">math_toolkit.constants</a>.
+ </p>
+<p>
+ Some examples of using constants are at <a href="../../../../example/constants_eg1.cpp" target="_top">constants_eg1</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../tutorial.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="templ.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/tutorial/templ.html b/libs/math/doc/html/math_toolkit/tutorial/templ.html
new file mode 100644
index 0000000000..781eb7c1cf
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/tutorial/templ.html
@@ -0,0 +1,157 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Use in template code</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="non_templ.html" title="Use in non-template code">
+<link rel="next" href="user_def.html" title="Use With User-Defined Types">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_templ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.tutorial.templ"></a><a class="link" href="templ.html" title="Use in template code">Use in template code</a>
+</h3></div></div></div>
+<p>
+ When using the constants inside a function template, we need to ensure that
+ we use a constant of the correct precision for our template parameters. We
+ can do this by calling the function-template versions, <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">FPType</span><span class="special">&gt;()</span></code>, of the constants like this:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">&gt;</span>
+<span class="identifier">Real</span> <span class="identifier">area</span><span class="special">(</span><span class="identifier">Real</span> <span class="identifier">r</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
+ <span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;()</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Although this syntax is a little less "cute" than the non-template
+ version, the code is no less efficient (at least for the built-in types
+ <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>
+ and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>)
+ : the function template versions of the constants are simple inline functions
+ that return a constant of the correct precision for the type used. In addition,
+ these functions are declared <code class="computeroutput"><span class="identifier">constexp</span></code>
+ for those compilers that support this, allowing the result to be used in
+ constant-expressions provided the template argument is a literal type.
+ </p>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Keep in mind the difference between the variable version, just <code class="computeroutput"><span class="identifier">pi</span></code>, and the template-function version:
+ the template-function requires both a &lt;<em class="replaceable"><code>floating-point-type</code></em>&gt;
+ and function call <code class="computeroutput"><span class="special">()</span></code> brackets,
+ for example: <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;()</span></code>.
+ You cannot write <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">p</span>
+ <span class="special">=</span> <span class="identifier">pi</span><span class="special">&lt;&gt;()</span></code>, nor <code class="computeroutput"><span class="keyword">double</span>
+ <span class="identifier">p</span> <span class="special">=</span>
+ <span class="identifier">pi</span><span class="special">()</span></code>.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ You can always use <span class="bold"><strong>both</strong></span> variable and template-function
+ versions <span class="bold"><strong>provided calls are fully qualified</strong></span>,
+ for example:
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">my_pi1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;();</span>
+<span class="keyword">double</span> <span class="identifier">my_pi2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">;</span>
+</pre>
+</td></tr>
+</table></div>
+<div class="warning"><table border="0" summary="Warning">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../doc/src/images/warning.png"></td>
+<th align="left">Warning</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ It may be tempting to simply define
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">;</span>
+<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
+</pre>
+<p>
+ but if you do define two namespaces, this will, of course, create ambiguity!
+ </p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">my_pi</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">();</span> <span class="comment">// error C2872: 'pi' : ambiguous symbol</span>
+<span class="keyword">double</span> <span class="identifier">my_pi2</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">;</span> <span class="comment">// Context does not allow for disambiguation of overloaded function</span>
+</pre>
+<p>
+ Although the mistake above is fairly obvious, it is also not too difficult
+ to do this accidentally, or worse, create it in someone elses code.
+ </p>
+<p>
+ Therefore is it prudent to avoid this risk by <span class="bold"><strong>localising
+ the scope of such definitions</strong></span>, as shown above.
+ </p>
+</td></tr>
+</table></div>
+<div class="tip"><table border="0" summary="Tip">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
+<th align="left">Tip</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ Be very careful with the type provided as parameter. For example, providing
+ an <span class="bold"><strong>integer</strong></span> instead of a floating-point
+ type can be disastrous (a C++ feature).
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">area</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Area = 12!!!</span></pre>
+<p>
+ You should get a compiler warning
+ </p>
+<pre class="programlisting">warning : 'return' : conversion from 'double' to 'int', possible loss of data
+</pre>
+<p>
+ Failure to heed this warning can lead to very wrong answers!
+ </p>
+<p>
+ You can also avoid this by being explicit about the type of <code class="computeroutput"><span class="identifier">Area</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">area</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Area = 12.566371</span></pre>
+</td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_templ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/tutorial/user_def.html b/libs/math/doc/html/math_toolkit/tutorial/user_def.html
new file mode 100644
index 0000000000..0cf7b1f917
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/tutorial/user_def.html
@@ -0,0 +1,336 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Use With User-Defined Types</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../tutorial.html" title="Tutorial">
+<link rel="prev" href="templ.html" title="Use in template code">
+<link rel="next" href="../constants.html" title="The Mathematical Constants">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="templ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.tutorial.user_def"></a><a class="link" href="user_def.html" title="Use With User-Defined Types">Use With User-Defined
+ Types</a>
+</h3></div></div></div>
+<p>
+ The most common example of a high-precision user-defined type will probably
+ be <a href="http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html" target="_top">Boost.Multiprecision</a>.
+ </p>
+<p>
+ The syntax for using the function-call constants with user-defined types
+ is the same as it is in the template class, which is to say we use:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">UserDefinedType</span><span class="special">&gt;();</span>
+</pre>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_dec_float_50</span><span class="special">&gt;();</span>
+</pre>
+<p>
+ giving &#960; with a precision of 50 decimal digits.
+ </p>
+<p>
+ However, since the precision of the user-defined type may be much greater
+ than that of the built-in floating point types, how the value returned is
+ created is as follows:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ If the precision of the type is known at compile time:
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">float</span></code> and the type is constructable
+ from a <code class="computeroutput"><span class="keyword">float</span></code> then
+ our code returns a <code class="computeroutput"><span class="keyword">float</span></code>
+ literal. If the user-defined type is a literal type then the function
+ call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
+ </li>
+<li class="listitem">
+ If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">double</span></code> and the type is constructable
+ from a <code class="computeroutput"><span class="keyword">double</span></code> then
+ our code returns a <code class="computeroutput"><span class="keyword">double</span></code>
+ literal. If the user-defined type is a literal type then the function
+ call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
+ </li>
+<li class="listitem">
+ If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ and the type is constructable from a <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> then our code returns
+ a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
+ literal. If the user-defined type is a literal type then the function
+ call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
+ </li>
+<li class="listitem">
+ If the precision is less than or equal to that of a <code class="computeroutput"><span class="identifier">__float128</span></code> (and the compiler
+ supports such a type) and the type is constructable from a <code class="computeroutput"><span class="identifier">__float128</span></code> then our code returns
+ a <code class="computeroutput"><span class="identifier">__float128</span></code> literal.
+ If the user-defined type is a literal type then the function call
+ that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
+ </li>
+<li class="listitem">
+ If the precision is less than 100 decimal digits, then the constant
+ will be constructed (just the once, then cached in a thread-safe
+ manner) from a string representation of the constant. In this case
+ the value is returned as a const reference to the cached value.
+ </li>
+<li class="listitem">
+ Otherwise the value is computed (just once, then cached in a thread-safe
+ manner). In this case the value is returned as a const reference
+ to the cached value.
+ </li>
+</ul></div>
+ </li>
+<li class="listitem">
+ If the precision is unknown at compile time then:
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">
+ If the runtime precision (obtained from a call to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>)
+ is less than 100 decimal digits, then the constant is constructed
+ "on the fly" from the string representation of the constant.
+ </li>
+<li class="listitem">
+ Otherwise the value is constructed "on the fly" by calculating
+ then value of the constant using the current default precision
+ of the type. Note that this can make use of the constants rather
+ expensive.
+ </li>
+</ul></div>
+ </li>
+</ul></div>
+<p>
+ In addition, it is possible to pass a <code class="computeroutput"><span class="identifier">Policy</span></code>
+ type as a second template argument, and use this to control the precision:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="number">80</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_policy_type</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">MyType</span><span class="special">,</span> <span class="identifier">my_policy_type</span><span class="special">&gt;();</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Boost.Math doesn't know how to control the internal precision of <code class="computeroutput"><span class="identifier">MyType</span></code>, the policy just controls how
+ the selection process above is carried out, and the calculation precision
+ if the result is computed.
+ </p></td></tr>
+</table></div>
+<p>
+ It is also possible to control which method is used to construct the constant
+ by specialising the traits class <code class="computeroutput"><span class="identifier">construction_traits</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constant</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">construction_traits</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ Where <span class="emphasis"><em>N</em></span> takes one of the following values:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ <span class="emphasis"><em>N</em></span>
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+<td>
+ <p>
+ The precision is unavailable at compile time; either construct
+ from a decimal digit string or calculate on the fly depending upon
+ the runtime precision.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ Return a float precision constant.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ Return a double precision constant.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ Return a long double precision constant.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ Construct the result from the string representation, and cache
+ the result.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Any other value <span class="emphasis"><em>N</em></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Sets the compile time precision to <span class="emphasis"><em>N</em></span> bits.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<h6>
+<a name="math_toolkit.tutorial.user_def.h0"></a>
+ <span class="phrase"><a name="math_toolkit.tutorial.user_def.custom_specializing_a_constant"></a></span><a class="link" href="user_def.html#math_toolkit.tutorial.user_def.custom_specializing_a_constant">Custom
+ Specializing a constant</a>
+ </h6>
+<p>
+ In addition, for user-defined types that need special handling, it's possible
+ to partially-specialize the internal structure used by each constant. For
+ example, suppose we're using the C++ wrapper around MPFR <code class="computeroutput"><span class="identifier">mpfr_class</span></code>:
+ this has its own representation of Pi which we may well wish to use in place
+ of the above mechanism. We can achieve this by specialising the class template
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">constant_pi</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
+
+<span class="keyword">template</span><span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">mpfr_class</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">mpfr_class</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;&amp;)</span>
+ <span class="special">{</span>
+ <span class="comment">// The template param N is one of the values in the table above,</span>
+ <span class="comment">// we can either handle all cases in one as is the case here,</span>
+ <span class="comment">// or overload "get" for the different options.</span>
+ <span class="identifier">mpfr_class</span> <span class="identifier">result</span><span class="special">;</span>
+ <span class="identifier">mpfr_const_pi</span><span class="special">(</span><span class="identifier">result</span><span class="special">.</span><span class="identifier">get_mpfr_t</span><span class="special">(),</span> <span class="identifier">GMP_RNDN</span><span class="special">);</span>
+ <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="special">}}}}</span> <span class="comment">// namespaces</span>
+</pre>
+<h6>
+<a name="math_toolkit.tutorial.user_def.h1"></a>
+ <span class="phrase"><a name="math_toolkit.tutorial.user_def.diagnosing_what_meta_programmed_"></a></span><a class="link" href="user_def.html#math_toolkit.tutorial.user_def.diagnosing_what_meta_programmed_">Diagnosing
+ what meta-programmed code is doing</a>
+ </h6>
+<p>
+ Finally, since it can be tricky to diagnose what meta-programmed code is
+ doing, there is a diagnostic routine that prints information about how this
+ library will handle a specific type, it can be used like this:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">print_info_on_type</span><span class="special">&lt;</span><span class="identifier">MyType</span><span class="special">&gt;();</span>
+<span class="special">}</span>
+</pre>
+<p>
+ If you wish, you can also pass an optional std::ostream argument to the
+ <code class="computeroutput"><span class="identifier">print_info_on_type</span></code> function.
+ Typical output for a user-defined type looks like this:
+ </p>
+<pre class="programlisting">Information on the Implementation and Handling of
+Mathematical Constants for Type class boost::math::concepts::real_concept
+
+Checking for std::numeric_limits&lt;class boost::math::concepts::real_concept&gt; specialisation: no
+boost::math::policies::precision&lt;class boost::math::concepts::real_concept, Policy&gt;
+reports that there is no compile type precision available.
+boost::math::tools::digits&lt;class boost::math::concepts::real_concept&gt;()
+reports that the current runtime precision is
+53 binary digits.
+No compile time precision is available, the construction method
+will be decided at runtime and results will not be cached
+- this may lead to poor runtime performance.
+Current runtime precision indicates that
+the constant will be constructed from a string on each call.
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="templ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/value_op.html b/libs/math/doc/html/math_toolkit/value_op.html
new file mode 100644
index 0000000000..8cd69c86a2
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/value_op.html
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Quaternion Value Operations</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../quaternions.html" title="Chapter&#160;9.&#160;Quaternions">
+<link rel="prev" href="quat_non_mem.html" title="Quaternion Non-Member Operators">
+<link rel="next" href="create.html" title="Quaternion Creation Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_non_mem.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.value_op"></a><a class="link" href="value_op.html" title="Quaternion Value Operations">Quaternion Value Operations</a>
+</h2></div></div></div>
+<h5>
+<a name="math_toolkit.value_op.h0"></a>
+ <span class="phrase"><a name="math_toolkit.value_op.real_and_unreal"></a></span><a class="link" href="value_op.html#math_toolkit.value_op.real_and_unreal">real
+ and unreal</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">real</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ These return <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">real</span><span class="special">()</span></code> and
+ <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">unreal</span><span class="special">()</span></code>
+ respectively.
+ </p>
+<h5>
+<a name="math_toolkit.value_op.h1"></a>
+ <span class="phrase"><a name="math_toolkit.value_op.conj"></a></span><a class="link" href="value_op.html#math_toolkit.value_op.conj">conj</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">conj</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ This returns the conjugate of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.value_op.h2"></a>
+ <span class="phrase"><a name="math_toolkit.value_op.sup"></a></span><a class="link" href="value_op.html#math_toolkit.value_op.sup">sup</a>
+ </h5>
+<p>
+ template&lt;typename T&gt; T sup(quaternion&lt;T&gt; const &amp; q);
+ </p>
+<p>
+ This return the sup norm (the greatest among <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())...</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()))</span></code> of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.value_op.h3"></a>
+ <span class="phrase"><a name="math_toolkit.value_op.l1"></a></span><a class="link" href="value_op.html#math_toolkit.value_op.l1">l1</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">l1</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ This return the l1 norm <code class="computeroutput"><span class="special">(</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())+...+</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()))</span></code> of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.value_op.h4"></a>
+ <span class="phrase"><a name="math_toolkit.value_op.abs"></a></span><a class="link" href="value_op.html#math_toolkit.value_op.abs">abs</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">abs</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ This return the magnitude (Euclidian norm) of the quaternion.
+ </p>
+<h5>
+<a name="math_toolkit.value_op.h5"></a>
+ <span class="phrase"><a name="math_toolkit.value_op.norm"></a></span><a class="link" href="value_op.html#math_toolkit.value_op.norm">norm</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">norm</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
+</pre>
+<p>
+ This return the (Cayley) norm of the quaternion. The term "norm"
+ might be confusing, as most people associate it with the Euclidian norm (and
+ quadratic functionals). For this version of (the mathematical objects known
+ as) quaternions, the Euclidian norm (also known as magnitude) is the square
+ root of the Cayley norm.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="quat_non_mem.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/zetas.html b/libs/math/doc/html/math_toolkit/zetas.html
new file mode 100644
index 0000000000..c724535ada
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/zetas.html
@@ -0,0 +1,47 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Zeta Functions</title>
+<link rel="stylesheet" href="../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../special.html" title="Chapter&#160;6.&#160;Special Functions">
+<link rel="prev" href="jacobi/jacobi_sn.html" title="Jacobi Elliptic Function sn">
+<link rel="next" href="zetas/zeta.html" title="Riemann Zeta Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi/jacobi_sn.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zetas/zeta.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="math_toolkit.zetas"></a><a class="link" href="zetas.html" title="Zeta Functions">Zeta Functions</a>
+</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt><span class="section"><a href="zetas/zeta.html">Riemann Zeta Function</a></span></dt></dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="jacobi/jacobi_sn.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zetas/zeta.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/math_toolkit/zetas/zeta.html b/libs/math/doc/html/math_toolkit/zetas/zeta.html
new file mode 100644
index 0000000000..7f39198014
--- /dev/null
+++ b/libs/math/doc/html/math_toolkit/zetas/zeta.html
@@ -0,0 +1,312 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Riemann Zeta Function</title>
+<link rel="stylesheet" href="../../math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="../../index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="../zetas.html" title="Zeta Functions">
+<link rel="prev" href="../zetas.html" title="Zeta Functions">
+<link rel="next" href="../expint.html" title="Exponential Integrals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../zetas.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../zetas.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.zetas.zeta"></a><a class="link" href="zeta.html" title="Riemann Zeta Function">Riemann Zeta Function</a>
+</h3></div></div></div>
+<h5>
+<a name="math_toolkit.zetas.zeta.h0"></a>
+ <span class="phrase"><a name="math_toolkit.zetas.zeta.synopsis"></a></span><a class="link" href="zeta.html#math_toolkit.zetas.zeta.synopsis">Synopsis</a>
+ </h5>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">zeta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces</span>
+</pre>
+<p>
+ The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ The final <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
+ be used to control the behaviour of the function: how it handles errors,
+ what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">policy
+ documentation for more details</a>.
+ </p>
+<h5>
+<a name="math_toolkit.zetas.zeta.h1"></a>
+ <span class="phrase"><a name="math_toolkit.zetas.zeta.description"></a></span><a class="link" href="zeta.html#math_toolkit.zetas.zeta.description">Description</a>
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
+<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://mathworld.wolfram.com/RiemannZetaFunction.html" target="_top">zeta
+ function</a> of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/zeta1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/zeta1.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../graphs/zeta2.png" align="middle"></span>
+ </p>
+<h5>
+<a name="math_toolkit.zetas.zeta.h2"></a>
+ <span class="phrase"><a name="math_toolkit.zetas.zeta.accuracy"></a></span><a class="link" href="zeta.html#math_toolkit.zetas.zeta.accuracy">Accuracy</a>
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a> and
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries. Unless
+ otherwise specified any floating point type that is narrower than the one
+ shown will have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.zetas.zeta.errors_in_the_function_zeta_z"></a><p class="title"><b>Table&#160;6.30.&#160;Errors In the Function zeta(z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function zeta(z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ z &gt; 0
+ </p>
+ </th>
+<th>
+ <p>
+ z &lt; 0
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.1
+ </p>
+ <p>
+ GSL Peak=8.7 Mean=1.0
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2.1
+ Mean=1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7.1 Mean=3.0
+ </p>
+ <p>
+ GSL Peak=137 Mean=14
+ </p>
+ <p>
+ <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=5084
+ Mean=470
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA_EM64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=570 Mean=60
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=559 Mean=56
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.0 Mean=0.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1018 Mean=79
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.zetas.zeta.h3"></a>
+ <span class="phrase"><a name="math_toolkit.zetas.zeta.testing"></a></span><a class="link" href="zeta.html#math_toolkit.zetas.zeta.testing">Testing</a>
+ </h5>
+<p>
+ The tests for these functions come in two parts: basic sanity checks use
+ spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Zeta" target="_top">Mathworld's
+ online evaluator</a>, while accuracy checks use high-precision test values
+ calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
+ and this implementation. Note that the generic and type-specific versions
+ of these functions use differing implementations internally, so this gives
+ us reasonably independent test data. Using our test data to test other "known
+ good" implementations also provides an additional sanity check.
+ </p>
+<h5>
+<a name="math_toolkit.zetas.zeta.h4"></a>
+ <span class="phrase"><a name="math_toolkit.zetas.zeta.implementation"></a></span><a class="link" href="zeta.html#math_toolkit.zetas.zeta.implementation">Implementation</a>
+ </h5>
+<p>
+ All versions of these functions first use the usual reflection formulas to
+ make their arguments positive:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/zeta3.png"></span>
+ </p>
+<p>
+ The generic versions of these functions are implemented using the series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/zeta6.png"></span>
+ </p>
+<p>
+ When the significand (mantissa) size is recognised (currently for 53, 64
+ and 113-bit reals, plus single-precision 24-bit handled via promotion to
+ double) then a series of rational approximations <a class="link" href="../sf_implementation.html#math_toolkit.sf_implementation.rational_approximations_used">devised
+ by JM</a> are used.
+ </p>
+<p>
+ For 0 &lt; z &lt; 1 the approximating form is:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/zeta4.png"></span>
+ </p>
+<p>
+ For a rational approximation R(1-z) and a constant C.
+ </p>
+<p>
+ For 1 &lt; z &lt; 4 the approximating form is:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../equations/zeta5.png"></span>
+ </p>
+<p>
+ For a rational approximation R(n-z) and a constant C and integer n.
+ </p>
+<p>
+ For z &gt; 4 the approximating form is:
+ </p>
+<p>
+ &#950;(z) = 1 + e<sup>R(z - n)</sup>
+ </p>
+<p>
+ For a rational approximation R(z-n) and integer n, note that the accuracy
+ required for R(z-n) is not full machine precision, but an absolute error
+ of: &#949;/R(0). This saves us quite a few digits when dealing with large z, especially
+ when &#949; is small.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../zetas.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../zetas.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expint.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/octonions.html b/libs/math/doc/html/octonions.html
new file mode 100644
index 0000000000..5bfff4c037
--- /dev/null
+++ b/libs/math/doc/html/octonions.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;10.&#160;Octonions</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/quat_todo.html" title="To Do">
+<link rel="next" href="math_toolkit/oct_overview.html" title="Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/quat_todo.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/oct_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="octonions"></a>Chapter&#160;10.&#160;Octonions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/oct_overview.html">Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_header.html">Header File</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_synopsis.html">Synopsis</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/octonion.html">Template Class octonion</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_specialization.html">Octonion Specializations</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_typedefs.html">Octonion Member Typedefs</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_mem_fun.html">Octonion Member Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_non_mem.html">Octonion Non-Member Operators</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_value_ops.html">Octonion Value Operations</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_create.html">Octonion Creation Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_trans.html">Octonions Transcendentals</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_tests.html">Test Program</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/acknowledgements.html">Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_history.html">History</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/oct_todo.html">To Do</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/quat_todo.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/oct_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/overview.html b/libs/math/doc/html/overview.html
new file mode 100644
index 0000000000..616de46f6b
--- /dev/null
+++ b/libs/math/doc/html/overview.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;1.&#160;Overview</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="next" href="math_toolkit/main_intro.html" title="About the Math Toolkit">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="index.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/main_intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="overview"></a>Chapter&#160;1.&#160;Overview</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/main_intro.html">About the Math Toolkit</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/navigation.html">Navigation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/conventions.html">Document Conventions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/hints.html">Other Hints and tips</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/directories.html">Directory and File Structure</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/namespaces.html">Namespaces</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/result_type.html">Calculation of the Type of the
+ Result</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/error_handling.html">Error Handling</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/compilers_overview.html">Compilers</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/config_macros.html">Configuration Macros</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/intro_pol_overview.html">Policies</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/threads.html">Thread Safety</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/perf_over1.html">Performance</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/building.html">If and How to Build a Boost.Math
+ Library, and its Examples and Tests</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/history1.html">History and What's New</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/overview_tr1.html">C99 and C++ TR1 C-style Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/main_faq.html">Frequently Asked Questions FAQ</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/contact.html">Contact Info and Support</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="index.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/main_intro.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/perf.html b/libs/math/doc/html/perf.html
new file mode 100644
index 0000000000..44ccb788f1
--- /dev/null
+++ b/libs/math/doc/html/perf.html
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;15.&#160;Performance</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/pol_ref/pol_ref_ref.html" title="Policy Class Reference">
+<link rel="next" href="math_toolkit/perf_over2.html" title="Performance Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/pol_ref/pol_ref_ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/perf_over2.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="perf"></a>Chapter&#160;15.&#160;Performance</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/perf_over2.html">Performance Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/interp.html">Interpreting these Results</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/getting_best.html">Getting the Best Performance
+ from this Library</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/comp_compilers.html">Comparing Compilers</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/tuning.html">Performance Tuning Macros</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/comparisons.html">Comparisons to Other Open Source
+ Libraries</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/perf_test_app.html">The Performance Test Application</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/pol_ref/pol_ref_ref.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/perf_over2.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/policy.html b/libs/math/doc/html/policy.html
new file mode 100644
index 0000000000..53a73bf10d
--- /dev/null
+++ b/libs/math/doc/html/policy.html
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/archetypes.html" title="Conceptual Archetypes for Reals and Distributions">
+<link rel="next" href="math_toolkit/pol_overview.html" title="Policy Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/archetypes.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/pol_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="policy"></a>Chapter&#160;14.&#160;Policies: Controlling Precision, Error Handling etc</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/pol_overview.html">Policy Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial.html">Policy Tutorial</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/what_is_a_policy.html">So Just What
+ is a Policy Anyway?</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/policy_tut_defaults.html">Policies
+ Have Sensible Defaults</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/policy_usage.html">So How are Policies
+ Used Anyway?</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/changing_policy_defaults.html">Changing
+ the Policy Defaults</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/ad_hoc_dist_policies.html">Setting
+ Policies for Distributions on an Ad Hoc Basis</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/ad_hoc_sf_policies.html">Changing
+ the Policy on an Ad Hoc Basis for the Special Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/namespace_policies.html">Setting
+ Policies at Namespace or Translation Unit Scope</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/user_def_err_pol.html">Calling User
+ Defined Error Handlers</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_tutorial/understand_dis_quant.html">Understanding
+ Quantiles of Discrete Distributions</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/pol_ref.html">Policy Reference</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/pol_ref/error_handling_policies.html">Error Handling
+ Policies</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/internal_promotion.html">Internal Floating-point
+ Promotion Policies</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/assert_undefined.html">Mathematically
+ Undefined Function Policies</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/discrete_quant_ref.html">Discrete Quantile
+ Policies</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/precision_pol.html">Precision Policies</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/iteration_pol.html">Iteration Limits
+ Policies</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/policy_defaults.html">Using Macros to
+ Change the Policy Defaults</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/namespace_pol.html">Setting Polices at
+ Namespace Scope</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/pol_ref/pol_ref_ref.html">Policy Class Reference</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/archetypes.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/pol_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/quaternions.html b/libs/math/doc/html/quaternions.html
new file mode 100644
index 0000000000..cdfdf68c13
--- /dev/null
+++ b/libs/math/doc/html/quaternions.html
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;9.&#160;Quaternions</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/complex_history.html" title="History">
+<link rel="next" href="math_toolkit/quat_overview.html" title="Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/complex_history.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/quat_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="quaternions"></a>Chapter&#160;9.&#160;Quaternions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/quat_overview.html">Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat_header.html">Header File</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat_synopsis.html">Synopsis</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat.html">Template Class quaternion</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/spec.html">Quaternion Specializations</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/mem_typedef.html">Quaternion Member Typedefs</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat_mem_fun.html">Quaternion Member Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat_non_mem.html">Quaternion Non-Member Operators</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/value_op.html">Quaternion Value Operations</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/create.html">Quaternion Creation Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/trans.html">Quaternion Transcendentals</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat_tests.html">Test Program</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/exp.html">The Quaternionic Exponential</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/acknowledgement.html">Acknowledgements</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat_history.html">History</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/quat_todo.html">To Do</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/complex_history.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/quat_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/special.html b/libs/math/doc/html/special.html
new file mode 100644
index 0000000000..baf8670d24
--- /dev/null
+++ b/libs/math/doc/html/special.html
@@ -0,0 +1,208 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;6.&#160;Special Functions</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/future.html" title="Extras/Future Directions">
+<link rel="next" href="math_toolkit/number_series.html" title="Number Series">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/future.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/number_series.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="special"></a>Chapter&#160;6.&#160;Special Functions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/number_series.html">Number Series</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/number_series/bernoulli_numbers.html">Bernoulli
+ Numbers</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/number_series/tangent_numbers.html">Tangent Numbers</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/number_series/primes.html">Prime Numbers</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/sf_gamma.html">Gamma Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/sf_gamma/tgamma.html">Gamma</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_gamma/lgamma.html">Log Gamma</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_gamma/digamma.html">Digamma</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_gamma/gamma_ratios.html">Ratios of Gamma Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_gamma/igamma.html">Incomplete Gamma Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_gamma/igamma_inv.html">Incomplete Gamma Function
+ Inverses</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_gamma/gamma_derivatives.html">Derivative of
+ the Incomplete Gamma Function</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/factorials.html">Factorials and Binomial Coefficients</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/factorials/sf_factorial.html">Factorial</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/factorials/sf_double_factorial.html">Double Factorial</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/factorials/sf_rising_factorial.html">Rising Factorial</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/factorials/sf_falling_factorial.html">Falling
+ Factorial</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/factorials/sf_binomial.html">Binomial Coefficients</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/sf_beta.html">Beta Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/sf_beta/beta_function.html">Beta</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_beta/ibeta_function.html">Incomplete Beta
+ Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_beta/ibeta_inv_function.html">The Incomplete
+ Beta Function Inverses</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_beta/beta_derivative.html">Derivative of the
+ Incomplete Beta Function</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/sf_erf.html">Error Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/sf_erf/error_function.html">Error Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_erf/error_inv.html">Error Function Inverses</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/sf_poly.html">Polynomials</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/sf_poly/legendre.html">Legendre (and Associated)
+ Polynomials</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_poly/laguerre.html">Laguerre (and Associated)
+ Polynomials</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_poly/hermite.html">Hermite Polynomials</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sf_poly/sph_harm.html">Spherical Harmonics</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/bessel.html">Bessel Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/bessel/bessel_over.html">Bessel Function Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/bessel/bessel_first.html">Bessel Functions of
+ the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/bessel/bessel_root.html">Finding Zeros of Bessel
+ Functions of the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/bessel/mbessel.html">Modified Bessel Functions
+ of the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/bessel/sph_bessel.html">Spherical Bessel Functions
+ of the First and Second Kinds</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/bessel/bessel_derivatives.html">Derivatives of
+ the Bessel Functions</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/hankel.html">Hankel Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/hankel/cyl_hankel.html">Cyclic Hankel Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/hankel/sph_hankel.html">Spherical Hankel Functions</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/airy.html">Airy Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/airy/ai.html">Airy Ai Function</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/airy/bi.html">Airy Bi Function</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/airy/aip.html">Airy Ai' Function</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/airy/bip.html">Airy Bi' Function</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/ellint.html">Elliptic Integrals</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/ellint/ellint_intro.html">Elliptic Integral Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/ellint/ellint_carlson.html">Elliptic Integrals
+ - Carlson Form</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/ellint/ellint_1.html">Elliptic Integrals of the
+ First Kind - Legendre Form</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/ellint/ellint_2.html">Elliptic Integrals of the
+ Second Kind - Legendre Form</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/ellint/ellint_3.html">Elliptic Integrals of the
+ Third Kind - Legendre Form</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/jacobi.html">Jacobi Elliptic Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/jacobi/jac_over.html">Overvew of the Jacobi Elliptic
+ Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_elliptic.html">Jacobi Elliptic
+ SN, CN and DN</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_cd.html">Jacobi Elliptic Function
+ cd</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_cn.html">Jacobi Elliptic Function
+ cn</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_cs.html">Jacobi Elliptic Function
+ cs</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_dc.html">Jacobi Elliptic Function
+ dc</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_dn.html">Jacobi Elliptic Function
+ dn</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_ds.html">Jacobi Elliptic Function
+ ds</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_nc.html">Jacobi Elliptic Function
+ nc</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_nd.html">Jacobi Elliptic Function
+ nd</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_ns.html">Jacobi Elliptic Function
+ ns</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_sc.html">Jacobi Elliptic Function
+ sc</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_sd.html">Jacobi Elliptic Function
+ sd</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/jacobi/jacobi_sn.html">Jacobi Elliptic Function
+ sn</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/zetas.html">Zeta Functions</a></span></dt>
+<dd><dl><dt><span class="section"><a href="math_toolkit/zetas/zeta.html">Riemann Zeta Function</a></span></dt></dl></dd>
+<dt><span class="section"><a href="math_toolkit/expint.html">Exponential Integrals</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/expint/expint_n.html">Exponential Integral En</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/expint/expint_i.html">Exponential Integral Ei</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/powers.html">Basic Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/powers/sin_pi.html">sin_pi</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/cos_pi.html">cos_pi</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/log1p.html">log1p</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/expm1.html">expm1</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/cbrt.html">cbrt</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/sqrt1pm1.html">sqrt1pm1</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/powm1.html">powm1</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/hypot.html">hypot</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/powers/ct_pow.html">Compile Time Power of a Runtime
+ Base</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/sinc.html">Sinus Cardinal and Hyperbolic Sinus
+ Cardinal Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/sinc/sinc_overview.html">Sinus Cardinal and Hyperbolic
+ Sinus Cardinal Functions Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sinc/sinc_pi.html">sinc_pi</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sinc/sinhc_pi.html">sinhc_pi</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/inv_hyper.html">Inverse Hyperbolic Functions</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/inv_hyper/inv_hyper_over.html">Inverse Hyperbolic
+ Functions Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/inv_hyper/acosh.html">acosh</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/inv_hyper/asinh.html">asinh</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/inv_hyper/atanh.html">atanh</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/owens_t.html">Owen's T function</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/future.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/number_series.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/status.html b/libs/math/doc/html/status.html
new file mode 100644
index 0000000000..5ec841e7be
--- /dev/null
+++ b/libs/math/doc/html/status.html
@@ -0,0 +1,53 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;17.&#160;Library Status</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/refs.html" title="References">
+<link rel="next" href="math_toolkit/history2.html" title="History and What's New">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/refs.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/history2.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="status"></a>Chapter&#160;17.&#160;Library Status</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/history2.html">History and What's New</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/issues.html">Known Issues, and TODO List</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/credits.html">Credits and Acknowledgements</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/refs.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/history2.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/toolkit.html b/libs/math/doc/html/toolkit.html
new file mode 100644
index 0000000000..c0ec6ad665
--- /dev/null
+++ b/libs/math/doc/html/toolkit.html
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/gcd_credits.html" title="Credits">
+<link rel="next" href="math_toolkit/internals_overview.html" title="Overview">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/gcd_credits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/internals_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="toolkit"></a>Chapter&#160;12.&#160;Internals (Series, Rationals and Continued Fractions, Root Finding, Function
+ Minimization, Testing and Development Tools)</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/internals_overview.html">Overview</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals1.html">Utilities &amp; internals</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/internals1/series_evaluation.html">Series Evaluation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals1/cf.html">Continued Fraction Evaluation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals1/rational.html">Polynomial and Rational
+ Function Evaluation</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals1/roots.html">Root Finding With Derivatives:
+ Newton-Raphson, Halley &amp; Schroeder</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals1/roots2.html">Root Finding Without
+ Derivatives: Bisection, Bracket and TOMS748</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals1/minima.html">Locating Function Minima:
+ Brent's algorithm</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals1/tuples.html">Tuples</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/internals2.html">Testing and Development</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/internals2/polynomials.html">Polynomials</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals2/minimax.html">Minimax Approximations
+ and the Remez Algorithm</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals2/error_test.html">Relative Error and
+ Testing</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/internals2/test_data.html">Graphing, Profiling,
+ and Generating Test Data for Special Functions</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/gcd_credits.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/internals_overview.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/using_udt.html b/libs/math/doc/html/using_udt.html
new file mode 100644
index 0000000000..496158cf48
--- /dev/null
+++ b/libs/math/doc/html/using_udt.html
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and others</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">
+<link rel="next" href="math_toolkit/high_precision.html" title="Using Boost.Math with High-Precision Floating-Point Libraries">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/internals2/test_data.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/high_precision.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="using_udt"></a>Chapter&#160;13.&#160;Use with User-Defined Floating-Point Types - Boost.Multiprecision and
+ others</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/high_precision.html">Using Boost.Math with High-Precision
+ Floating-Point Libraries</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/high_precision/why_high_precision.html">Why use
+ a high-precision library rather than built-in floating-point types?</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/high_precision/use_multiprecision.html">Using
+ Boost.Multiprecision</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/high_precision/float128.html">Using with GCC's
+ __float128 datatype</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/high_precision/use_mpfr.html">Using With MPFR
+ or GMP - High-Precision Floating-Point Library</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/high_precision/e_float.html">Using e_float Library</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/high_precision/use_ntl.html">Using NTL Library</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/high_precision/using_test.html">Using without
+ expression templates for Boost.Test and others</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/concepts.html">Conceptual Requirements for Real
+ Number Types</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/dist_concept.html">Conceptual Requirements for
+ Distribution Types</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/archetypes.html">Conceptual Archetypes for Reals
+ and Distributions</a></span></dt>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/internals2/test_data.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/high_precision.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html/utils.html b/libs/math/doc/html/utils.html
new file mode 100644
index 0000000000..d29b8d59ca
--- /dev/null
+++ b/libs/math/doc/html/utils.html
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;2.&#160;Floating Point Utilities</title>
+<link rel="stylesheet" href="math.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="up" href="index.html" title="Math Toolkit 2.1.0">
+<link rel="prev" href="math_toolkit/contact.html" title="Contact Info and Support">
+<link rel="next" href="math_toolkit/rounding.html" title="Rounding Truncation and Integer Conversion">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/contact.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/rounding.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="utils"></a>Chapter&#160;2.&#160;Floating Point Utilities</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="section"><a href="math_toolkit/rounding.html">Rounding Truncation and Integer
+ Conversion</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/rounding/round.html">Rounding Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/rounding/trunc.html">Truncation Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/rounding/modf.html">Integer and Fractional Part
+ Splitting (modf)</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/fpclass.html">Floating-Point Classification: Infinities
+ and NaNs</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/sign_functions.html">Sign Manipulation Functions</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/fp_facets.html">Facets for Floating-Point Infinities
+ and NaNs</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/fp_facets/facets_intro.html">Introduction</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/fp_facets/reference.html">Reference</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/fp_facets/examples.html">Examples</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/fp_facets/portability.html">Portability</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/fp_facets/rationale.html">Design Rationale</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="math_toolkit/next_float.html">Floating-Point Representation
+ Distance (ULP), and Finding Adjacent Floating-Point Values</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="math_toolkit/next_float/nextafter.html">Finding the Next Representable
+ Value in a Specific Direction (nextafter)</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/next_float/float_next.html">Finding the Next
+ Greater Representable Value (float_next)</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/next_float/float_prior.html">Finding the Next
+ Smaller Representable Value (float_prior)</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/next_float/float_distance.html">Calculating the
+ Representation Distance Between Two Floating Point Values (ULP) float_distance</a></span></dt>
+<dt><span class="section"><a href="math_toolkit/next_float/float_advance.html">Advancing a Floating
+ Point Value by a Specific Representation Distance (ULP) float_advance</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
+ Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
+ Holin, Bruno Lalande, John Maddock, Johan R&#229;de, Gautam Sewani, Benjamin Sobotta,
+ Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="math_toolkit/contact.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="math_toolkit/rounding.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/html4_symbols.qbk b/libs/math/doc/html4_symbols.qbk
new file mode 100644
index 0000000000..d44d3a158e
--- /dev/null
+++ b/libs/math/doc/html4_symbols.qbk
@@ -0,0 +1,225 @@
+[/ Symbols and Greek letters (about 120) from HTML4.]
+[/ File HTML4_symbols.qbk]
+[/ See http://www.htmlhelp.com/reference/html40/entities/symbols.html]
+[/ See also http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references]
+[/ http://www.alanwood.net/demos/ent4_frame.html]
+[/ http://www.unicode.org/charts/PDF/U2200.pdf and others]
+[/ All (except 2 angle brackets) show OK on Firefox 2.0 and higher]
+
+[/ See also Latin-1 aka Western (ISO-8859-1) in latin1_symbols.qbk]
+[/ http://www.htmlhelp.com/reference/html40/entities/latin1.html]
+[/Unicode Latin extended http://www.unicode.org/charts/U0080.pdf]
+
+[/ Also some miscellaneous math characters added to this list - see the end.]
+[/ For others see also math_toolkit.symbols.qbk]
+
+[/ To use, enclose the template name in square brackets, for example: [pi]]
+
+[template fnof[]'''&#x192;'''] [/ ƒ Latin small f with hook = function = florin]
+[/ Capital Greek start with capital letter, lower case all small.]
+[template Alpha[]'''&#x391;'''] [/ ? Greek capital letter alpha]
+[template Beta[]'''&#x392;'''] [/ ? Greek capital letter beta]
+[template Gamma[]'''&#x393;'''] [/ G Greek capital letter gamma]
+[template Delta[]'''&#x394;'''] [/ ? Greek capital letter delta]
+[template Epsilon[]'''&#x395;'''] [/ ? Greek capital letter epsilon]
+[template Zeta[]'''&#x396;'''] [/ ? Greek capital letter zeta]
+[template Eta[]'''&#x397;'''] [/ ? Greek capital letter eta]
+[template Theta[]'''&#x398;'''] [/ T Greek capital letter theta]
+[template Iota[]'''&#x399;'''] [/ ? Greek capital letter iota]
+[template Kappa[]'''&#x39A;'''] [/ ? Greek capital letter kappa]
+[template Lambda[]'''&#x39B;'''] [/ ? Greek capital letter lambda]
+[template Mu[]'''&#x39C;'''] [/ ? Greek capital letter mu]
+[template Nu[]'''&#x39D;'''] [/ ? Greek capital letter nu]
+[template Xi[]'''&#x39E;'''] [/ ? Greek capital letter xi]
+[template Omicron[]'''&#x39F;'''] [/ ? Greek capital letter omicron]
+[template Pi[]'''&#x3A0;'''] [/ ? Greek capital letter pi]
+[template Rho[]'''&#x3A1;'''] [/ ? Greek capital letter rho]
+[template Sigma[]'''&#x3A3;'''] [/ S Greek capital letter sigma]
+[template Tau[]'''&#x3A4;'''] [/ ? Greek capital letter tau]
+[template Upsilon[]'''&#x3A5;'''] [/ ? Greek capital letter upsilon]
+[template Phi[]'''&#x3A6;'''] [/ F Greek capital letter phi]
+[template Chi[]'''&#x3A7;'''] [/ ? Greek capital letter chi]
+[template Psi[]'''&#x3A8;'''] [/ ? Greek capital letter psi]
+[template Omega[]'''&#x3A9;'''] [/ O Greek capital letter omega]
+[template alpha[]'''&#x3B1;'''] [/ a Greek small letter alpha]
+[template beta[]'''&#x3B2;'''] [/ ß Greek small letter beta]
+[template gamma[]'''&#x3B3;'''] [/ ? Greek small letter gamma]
+[template delta[]'''&#x3B4;'''] [/ d Greek small letter delta]
+[template epsilon[]'''&#x3B5;'''] [/ e Greek small letter epsilon]
+[template zeta[]'''&#x3B6;'''] [/ ? Greek small letter zeta]
+[template eta[]'''&#x3B7;'''] [/ ? Greek small letter eta]
+[template theta[]'''&#x3B8;'''] [/ ? Greek small letter theta]
+[template iota[]'''&#x3B9;'''] [/ ? Greek small letter iota]
+[template kappa[]'''&#x3BA;'''] [/ ? Greek small letter kappa]
+[template lambda[]'''&#x3BB;'''] [/ ? Greek small letter lambda]
+[template mu[]'''&#x3BC;'''] [/ µ Greek small letter mu]
+[template nu[]'''&#x3BD;'''] [/ ? Greek small letter nu]
+[template xi[]'''&#x3BE;'''] [/ ? Greek small letter xi]
+[template omicron[]'''&#x3BF;'''] [/ ? Greek small letter omicron]
+[template pi[]'''&#x3C0;'''] [/ p Greek small letter pi]
+[template rho[]'''&#x3C1;'''] [/ ? Greek small letter rho]
+[template sigmaf[]'''&#x3C2;'''] [/ ? Greek small letter final sigma]
+[template sigma[]'''&#x3C3;'''] [/ s Greek small letter sigma]
+[template tau[]'''&#x3C4;'''] [/ t Greek small letter tau]
+[template upsilon[]'''&#x3C5;'''] [/ ? Greek small letter upsilon]
+[template phi[]'''&#x3C6;'''] [/ f Greek small letter phi]
+[template chi[]'''&#x3C7;'''] [/ ? Greek small letter chi]
+[template psi[]'''&#x3C8;'''] [/ ? Greek small letter psi]
+[template omega[]'''&#x3C9;'''] [/ ? Greek small letter omega]
+[template thetasym[]'''&#x3D1;'''] [/ ? Greek small letter theta symbol]
+[template upsih[]'''&#x3D2;'''] [/ ? Greek upsilon with hook symbol]
+[template piv[]'''&#x3D6;'''] [/ ? Greek pi symbol]
+
+[template bull[]'''&#x2022;'''] [/ • bullet = black small circle]
+[template hellip[]'''&#x2026;'''] [/ … horizontal ellipsis = three dot leader]
+[template prime[]'''&#x2032;'''] [/ ' prime = minutes = feet]
+[template Prime[]'''&#x2033;'''] [/ ? double prime = seconds = inches]
+[template oline[]'''&#x203E;'''] [/ ? overline = spacing overscore]
+[template frasl[]'''&#x2044;'''] [/ / fraction slash]
+[template weierp[]'''&#x2118;'''] [/ P script capital P = power set = Weierstrass p]
+[template image[]'''&#x2111;'''] [/ I blackletter capital I = imaginary part]
+[template real[]'''&#x211C;'''] [/ R blackletter capital R = real part math symbol]
+[template negative[]'''&#x2115;'''] [/ N blackletter capital N = Negative number math symbol]
+[template trade[]'''&#x2122;'''] [/ ™ trade mark sign]
+[template alefsym[]'''&#x2135;'''] [/ ? alef symbol = first transfinite cardinal]
+[template larr[]'''&#x2190;'''] [/ ? leftwards arrow]
+[template uarr[]'''&#x2191;'''] [/ ? upwards arrow]
+[template rarr[]'''&#x2192;'''] [/ ? rightwards arrow]
+[template darr[]'''&#x2193;'''] [/ ? downwards arrow]
+[template harr[]'''&#x2194;'''] [/ ? left right arrow]
+[template crarr[]'''&#x21B5;'''] [/ ? downwards arrow with corner leftwards = CR]
+[template lArr[]'''&#x21D0;'''] [/ ? leftwards double arrow]
+[template uArr[]'''&#x21D1;'''] [/ ? upwards double arrow]
+[template rArr[]'''&#x21D2;'''] [/ ? rightwards double arrow]
+[template dArr[]'''&#x21D3;'''] [/ ? downwards double arrow]
+[template hArr[]'''&#x21D4;'''] [/ ? left right double arrow]
+[template forall[]'''&#x2200;'''] [/ ? for all]
+[template part[]'''&#x2202;'''] [/ ? partial differential]
+[template exist[]'''&#x2203;'''] [/ ? there exists]
+[template empty[]'''&#x2205;'''] [/ Ø empty set = null set = diameter]
+[template nabla[]'''&#x2207;'''] [/ ? nabla = backward difference]
+[template isin[]'''&#x2208;'''] [/ ? element of]
+[template notin[]'''&#x2209;'''] [/ ? not an element of]
+[template ni[]'''&#x220B;'''] [/ ? contains as member]
+[template prod[]'''&#x220F;'''] [/ ? n-ary product = product sign]
+[template sum[]'''&#x2211;'''] [/ ? n-ary sumation]
+[template minus[]'''&#x2212;'''] [/ - minus sign]
+[template lowast[]'''&#x2217;'''] [/ * asterisk operator]
+[template radic[]'''&#x221A;'''] [/ v square root = radical sign]
+[template prop[]'''&#x221D;'''] [/ ? proportional to]
+[template infin[]'''&#x221E;'''] [/ 8 infinity]
+[template ang[]'''&#x2220;'''] [/ ? angle]
+[template and[]'''&#x2227;'''] [/ ? logical and = wedge]
+[template or[]'''&#x2228;'''] [/ ? logical or = vee]
+[template cap[]'''&#x2229;'''] [/ n intersection = cap]
+[template cup[]'''&#x222A;'''] [/ ? union = cup]
+[template int[]'''&#x222B;'''] [/ ? integral]
+[template there4[]'''&#x2234;'''] [/ ? therefore]
+[template sim[]'''&#x223C;'''] [/ ~ tilde operator = varies with = similar to]
+[template cong[]'''&#x2245;'''] [/ ? approximately equal to]
+[template approx[]'''&#x2248;'''] [/ ? ~~ very approximately equal to]
+[template asymp[]'''&#x2248;'''] [/ ˜ almost equal to = asymptotic to]
+[template ne[]'''&#x2260;'''] [/ ? not equal to]
+[template equiv[]'''&#x2261;'''] [/ = identical to]
+[template le[]'''&#x2264;'''] [/ = less-than or equal to]
+[template ge[]'''&#x2265;'''] [/ = greater-than or equal to]
+[template subset[]'''&#x2282;'''] [/ ? subset of]
+[template superset[]'''&#x2283;'''] [/ ? superset of]
+[template nsubset[]'''&#x2284;'''] [/ ? not a subset of]
+[template sube[]'''&#x2286;'''] [/ ? subset of or equal to]
+[template supe[]'''&#x2287;'''] [/ ? superset of or equal to]
+[template oplus[]'''&#x2295;'''] [/ ? circled plus = direct sum]
+[template otimes[]'''&#x2297;'''] [/ ? circled times = vector product]
+[template perp[]'''&#x22A5;'''] [/ ? up tack = orthogonal to = perpendicular]
+[template sdot[]'''&#x22C5;'''] [/ · dot operator]
+[template lceil[]'''&#x2308;'''] [/ ? left ceiling = APL upstile]
+[template rceil[]'''&#x2309;'''] [/ ? right ceiling]
+[template lfloor[]'''&#x230A;'''] [/ ? left floor = APL downstile]
+[template rfloor[]'''&#x230B;'''] [/ ? right floor]
+[template lang[]'''&#x2329;'''] [/ < left-pointing angle bracket = bra (Firefox shows ?)]
+[template rang[]'''&#x232A;'''] [/ > right-pointing angle bracket = ket (Firefox shows ?)]
+[template loz[]'''&#x25CA;'''] [/ ? lozenge]
+[template spades[]'''&#x2660;'''] [/ ? black spade suit]
+[template clubs[]'''&#x2663;'''] [/ ? black club suit = shamrock]
+[template hearts[]'''&#x2665;'''] [/ ? black heart suit = valentine]
+[template diams[]'''&#x2666;'''] [/ ? black diamond suit]
+[template euro[]'''&#x20AC;'''] [/ ? Euro currency symbol]
+[template lchev[]'''&#x27E8;'''] [/ ? left chevron]
+[template rchev[]'''&#x27E9;'''] [/ right chevron]
+[template rflat[]'''&#x27EE;'''] [/ right flat bracket Misc Math Symbol A]
+[template lflat[]'''&#x27EE;'''] [/ left flat bracket]
+[/ U2000.pdf punctuation]
+[template endash[]'''&#x2013;'''] [/ em width dash]
+[template emdash[]'''&#x2014;'''] [/ en width dash]
+[template hbar[]'''&#x2015;'''] [/ ? horizontal bar - introducing quoted text]
+[template vert2bar[]'''&#x2016;'''] [/ ? double vertical bar]
+[template line2[]'''&#x2016;'''] [/ ? double low line bar]
+[template dagger[]'''&#x2020;'''] [/ ? dagger]
+[template dagger2[]'''&#x2021;'''] [/ ? double dagger]
+[template dot[]'''&#x2024;'''] [/ dot leader]
+[template dot2[]'''&#x2025;'''] [/ ? dots leader]
+[template ellipsis[]'''&#x2026;'''] [/ horizontal ellipsis]
+[template sect[]'''&#x00A7;'''] [/ ? section or paragraph sign]
+
+[template dotover[]'''&#x0307;'''] [/ dot over symbol]
+[template recur[]'''&#x200A;&#x0307;'''] [/ math recurring symbol, eg after 0.333]
+[/ Note use of a thin space before digit, so that dot isn't placed directly over the digit.]
+[/ Use:1[recur]]
+
+[/ Other symbols, not in the HTML4 list:]
+[template enquad[] '''&#x2000;'''] [/ en quad space]
+[template emquad[] '''&#x2001;'''] [/ em quad space]
+[template enspace[] '''&#x2002;'''] [/ em half en space]
+[template emspace[] '''&#x2003;'''] [/ em space type size in points]
+[template thickspace[] '''&#x2004;'''] [/ 3 per em space]
+[template midspace[] '''&#x2005;'''] [/ 4 per em space]
+[template sixemspace[] '''&#x2006;'''] [/ 6 em space]
+[template figspace[] '''&#x2007;'''] [/ space = width fixed font digit]
+[template punctspace[] '''&#x2008;'''] [/ space = width punctuation]
+[template thin[] '''&#x2009;'''] [/ thin space ]
+[template hair[] '''&#x200A;'''] [/ hair space]
+[template nbsp[] '''&#x00A0;'''] [/ non-breaking space]
+[template space[] '''&#x00A0;'''] [/ plain non-breaking space]
+
+[template nospace[] '''&#x200B;'''] [/ zero width space]
+[template wordjoin[] '''&#x2060;'''] [/ word joiner - no line break either side]
+[template narrownbsp[] '''&#x202F;'''] [/ narrow non-breaking space]
+[template hyphen[] '''&#x2010;'''] [/ soft hyphen]
+[template nbhyphen[] '''&#x2011;'''] [/ non-breaking hyphen]
+
+[template plusminus[]'''&#x00B1;'''] [/ ? plus or minus sign]
+[template sqrt[]'''&#x221A;'''] [/ ? square root sqrt symbol]
+[/template pow2[]'''&#x2073;'''] [/ 2073 is NOT superscript 2 and 3 characters]
+[template pow2[]'''&#x00B2;'''] [/ superscript 2 character]
+[template pow3[]'''&#x00B3;'''] [/ superscript 3 character]
+[/ Unicode 2070 to 209F has super and subscript digits and characters, unicode.org/charts/PDF/U2070.pdf]
+[template pow4[]'''&#x2074;'''] [/ superscript 4 character]
+[template pown[]'''&#x207F;'''] [/ superscript n character]
+[template frac12[]'''&#x00BD;'''] [/ fraction half]
+[template frac13[]'''&#x2153;'''] [/ fraction third]
+[template frac14[]'''&#x00BC;'''] [/ fraction quarter]
+[template frac34[]'''&#x00BE;'''] [/ fraction three quarter]
+[template frac23[]'''&#x2154;'''] [/ fraction two third]
+[template sup1[]'''&#xB9;'''] [/ superscript one = superscript digit one ]
+[template sup2[]'''&#xB2;'''] [/ superscript two = superscript digit two = squared ]
+[template supminus[]'''&#x207B;'''] [/ superscript minus]
+[template supplus[]'''&#x207A;'''] [/ superscript plus]
+
+[template cubed[]'''&#xB3;'''] [/ superscript three = superscript digit three = cubed ]
+[template macron[]'''&#xAF;'''] [/ macron = spacing macron = overline = APL overbar ]
+[template deg[]'''&#xB0;'''] [/ degree sign ]
+[template plusmn[]'''&#xB1;'''] [/ plus-minus sign = plus-or-minus sign ]
+[template micro[]'''&#xB5;'''] [/ micro sign ]
+[template cedil[]'''&#xB8;'''] [/ cedilla = spacing cedilla ]
+[template ordm[]'''&#xBA;'''] [/ masculine ordinal indicator ]
+[template ordf[]'''&#xAA;'''] [/ feminine ordinal indicator ]
+[template laquo[]'''&#xAB;'''] [/ left-pointing double angle quotation mark = left pointing guillemet ]
+[template raquo[]'''&#xBB;'''] [/ right-pointing double angle quotation mark = right pointing guillemet ]
+
+[/
+Copyright 2007, 2010, 2012 Paul A. Bristow.
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/index.html b/libs/math/doc/index.html
index 20e2b748e6..e9ea260911 100644
--- a/libs/math/doc/index.html
+++ b/libs/math/doc/index.html
@@ -1,4 +1,8 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <!-- Copyright 2010 John Maddock and Paul A. Bristow. -->
+ <!-- Distributed under the Boost Software License, Version 1.0. -->
+ <!-- (See accompanying file LICENSE_1_0.txt or copy at -->
+ <!-- http://www.boost.org/LICENSE_1_0.txt) -->
<html>
<head>
<meta http-equiv="refresh" content="0; URL=html/index.html">
@@ -6,7 +10,7 @@
<body>
Automatic redirection failed, please go to
<a href="html/index.html">html/index.html</a>
- <P>Copyright Daryle Walker, Hubert Holin and John Maddock 2006</P>
+ <P>Copyright Daryle Walker, Hubert Holin and John Maddock 2013</P>
<P>Distributed under the Boost Software License, Version 1.0. (See accompanying file <A href="../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</A> or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</A>).</P>
</body>
@@ -15,3 +19,5 @@
+
+
diff --git a/libs/math/doc/sf_and_dist/index.idx b/libs/math/doc/index.idx
index 8ed3346676..8ed3346676 100644
--- a/libs/math/doc/sf_and_dist/index.idx
+++ b/libs/math/doc/index.idx
diff --git a/libs/math/doc/sf_and_dist/fraction.qbk b/libs/math/doc/internals/fraction.qbk
index cff8bc16d9..cff8bc16d9 100644
--- a/libs/math/doc/sf_and_dist/fraction.qbk
+++ b/libs/math/doc/internals/fraction.qbk
diff --git a/libs/math/doc/internals/internals_overview.qbk b/libs/math/doc/internals/internals_overview.qbk
new file mode 100644
index 0000000000..b49bebf965
--- /dev/null
+++ b/libs/math/doc/internals/internals_overview.qbk
@@ -0,0 +1,21 @@
+[section:internals_overview Overview]
+
+This section contains internal utilities used by the library's implementation
+along with tools used in development and testing. These tools have
+only minimal documentation, and crucially ['do not have stable interfaces].
+
+There is no doubt that these components can be improved, but they are also
+largely incidental to the main purpose of this library.
+
+These tools are designed to "just get the job done", and receive minimal
+documentation here, in the hopes that they will help stimulate further
+submissions to this library.
+
+[endsect] [/section:internals_overview Overview]
+
+[/
+ Copyright 2006, 2010, 2013 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/minima.qbk b/libs/math/doc/internals/minima.qbk
index e14d764faf..e14d764faf 100644
--- a/libs/math/doc/sf_and_dist/minima.qbk
+++ b/libs/math/doc/internals/minima.qbk
diff --git a/libs/math/doc/internals/minimax.qbk b/libs/math/doc/internals/minimax.qbk
new file mode 100644
index 0000000000..61a14f43d8
--- /dev/null
+++ b/libs/math/doc/internals/minimax.qbk
@@ -0,0 +1,167 @@
+[section:minimax Minimax Approximations and the Remez Algorithm]
+
+The directory libs/math/minimax contains a command line driven
+program for the generation of minimax approximations using the Remez
+algorithm. Both polynomial and rational approximations are supported,
+although the latter are tricky to converge: it is not uncommon for
+convergence of rational forms to fail. No such limitations are present
+for polynomial approximations which should always converge smoothly.
+
+It's worth stressing that developing rational approximations to functions
+is often not an easy task, and one to which many books have been devoted.
+To use this tool, you will need to have a reasonable grasp of what the Remez
+algorithm is, and the general form of the approximation you want to achieve.
+
+Unless you already familar with the Remez method,
+you should first read the [link math_toolkit.remez
+brief background article explaining the principles behind the
+Remez algorithm].
+
+The program consists of two parts:
+
+[variablelist
+[[main.cpp][Contains the command line parser, and all the calls to the Remez code.]]
+[[f.cpp][Contains the function to approximate.]]
+]
+
+Therefore to use this tool, you must modify f.cpp to return the function to
+approximate. The tools supports multiple function approximations within
+the same compiled program: each as a separate variant:
+
+ NTL::RR f(const NTL::RR& x, int variant);
+
+Returns the value of the function /variant/ at point /x/. So if you
+wish you can just add the function to approximate as a new variant
+after the existing examples.
+
+In addition to those two files, the program needs to be linked to
+a [link math_toolkit.high_precision.use_ntl patched NTL library to compile].
+
+Note that the function /f/ must return the rational part of the
+approximation: for example if you are approximating a function
+/f(x)/ then it is quite common to use:
+
+ f(x) = g(x)(Y + R(x))
+
+where /g(x)/ is the dominant part of /f(x)/, /Y/ is some constant, and
+/R(x)/ is the rational approximation part, usually optimised for a low
+absolute error compared to |Y|.
+
+In this case you would define /f/ to return ['f(x)/g(x)] and then set the
+y-offset of the approximation to /Y/ (see command line options below).
+
+Many other forms are possible, but in all cases the objective is to
+split /f(x)/ into a dominant part that you can evaluate easily using
+standard math functions, and a smooth and slowly changing rational approximation
+part. Refer to your favourite textbook for more examples.
+
+Command line options for the program are as follows:
+
+[variablelist
+[[variant N][Sets the current function variant to N. This allows multiple functions
+ that are to be approximated to be compiled into the same executable.
+ Defaults to 0.]]
+[[range a b][Sets the domain for the approximation to the range \[a,b\], defaults
+ to \[0,1\].]]
+[[relative][Sets the Remez code to optimise for relative error. This is the default
+ at program startup. Note that relative error can only be used
+ if f(x) has no roots over the range being optimised.]]
+[[absolute][Sets the Remez code to optimise for absolute error.]]
+[[pin \[true|false\]]["Pins" the code so that the rational approximation
+ passes through the origin. Obviously only set this to
+ /true/ if R(0) must be zero. This is typically used when
+ trying to preserve a root at \[0,0\] while also optimising
+ for relative error.]]
+[[order N D][Sets the order of the approximation to /N/ in the numerator and /D/
+ in the denominator. If /D/ is zero then the result will be a polynomial
+ approximation. There will be N+D+2 coefficients in total, the first
+ coefficient of the numerator is zero if /pin/ was set to true, and the
+ first coefficient of the denominator is always one.]]
+[[working-precision N][Sets the working precision of NTL::RR to /N/ binary digits. Defaults to 250.]]
+[[target-precision N][Sets the precision of printed output to /N/ binary digits:
+ set to the same number of digits as the type that will be used to
+ evaluate the approximation. Defaults to 53 (for double precision).]]
+[[skew val]["Skews" the initial interpolated control points towards one
+ end or the other of the range. Positive values skew the
+ initial control points towards the left hand side of the
+ range, and negative values towards the right hand side.
+ If an approximation won't converge (a common situation)
+ try adjusting the skew parameter until the first step yields
+ the smallest possible error. /val/ should be in the range
+ \[-100,+100\], the default is zero.]]
+[[brake val][Sets a brake on each step so that the change in the
+ control points is braked by /val%/. Defaults to 50,
+ try a higher value if an approximation won't converge,
+ or a lower value to get speedier convergence.]]
+[[x-offset val][Sets the x-offset to /val/: the approximation will
+ be generated for `f(S * (x + X)) + Y` where /X/ is the
+ x-offset, /S/ is the x-scale
+ and /Y/ is the y-offset. Defaults to zero. To avoid
+ rounding errors, take care to specify a value that can
+ be exactly represented as a floating point number.]]
+[[x-scale val][Sets the x-scale to /val/: the approximation will
+ be generated for `f(S * (x + X)) + Y` where /S/ is the
+ x-scale, /X/ is the x-offset
+ and /Y/ is the y-offset. Defaults to one. To avoid
+ rounding errors, take care to specify a value that can
+ be exactly represented as a floating point number.]]
+[[y-offset val][Sets the y-offset to /val/: the approximation will
+ be generated for `f(S * (x + X)) + Y` where /X/
+ is the x-offset, /S/ is the x-scale
+ and /Y/ is the y-offset. Defaults to zero. To avoid
+ rounding errors, take care to specify a value that can
+ be exactly represented as a floating point number.]]
+[[y-offset auto][Sets the y-offset to the average value of f(x)
+ evaluated at the two endpoints of the range plus the midpoint
+ of the range. The calculated value is deliberately truncated
+ to /float/ precision (and should be stored as a /float/
+ in your code). The approximation will
+ be generated for `f(x + X) + Y` where /X/ is the x-offset
+ and /Y/ is the y-offset. Defaults to zero.]]
+[[graph N][Prints N evaluations of f(x) at evenly spaced points over the
+ range being optimised. If unspecified then /N/ defaults
+ to 3. Use to check that f(x) is indeed smooth over the range
+ of interest.]]
+[[step N][Performs /N/ steps, or one step if /N/ is unspecified.
+ After each step prints: the peek error at the extrema of
+ the error function of the approximation,
+ the theoretical error term solved for on the last step,
+ and the maximum relative change in the location of the
+ Chebyshev control points. The approximation is converged on the
+ minimax solution when the two error terms are (approximately)
+ equal, and the change in the control points has decreased to
+ a suitably small value.]]
+[[test \[float|double|long\]][Tests the current approximation at float,
+ double, or long double precision. Useful to check for rounding
+ errors in evaluating the approximation at fixed precision.
+ Tests are conducted at the extrema of the error function of the
+ approximation, and at the zeros of the error function.]]
+[[test \[float|double|long\] N] [Tests the current approximation at float,
+ double, or long double precision. Useful to check for rounding
+ errors in evaluating the approximation at fixed precision.
+ Tests are conducted at N evenly spaced points over the range
+ of the approximation. If none of \[float|double|long\] are specified
+ then tests using NTL::RR, this can be used to obtain the error
+ function of the approximation.]]
+[[rescale a b][Takes the current Chebeshev control points, and rescales them
+ over a new interval \[a,b\]. Sometimes this can be used to obtain
+ starting control points for an approximation that can not otherwise be
+ converged.]]
+[[rotate][Moves one term from the numerator to the denominator, but keeps the
+ Chebyshev control points the same. Sometimes this can be used to obtain
+ starting control points for an approximation that can not otherwise be
+ converged.]]
+[[info][Prints out the current approximation: the location of the zeros of the
+ error function, the location of the Chebyshev control points, the
+ x and y offsets, and of course the coefficients of the polynomials.]]
+]
+
+
+[endsect][/section:minimax Minimax Approximations and the Remez Algorithm]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/polynomial.qbk b/libs/math/doc/internals/polynomial.qbk
index fc451f3703..fc451f3703 100644
--- a/libs/math/doc/sf_and_dist/polynomial.qbk
+++ b/libs/math/doc/internals/polynomial.qbk
diff --git a/libs/math/doc/internals/rational.qbk b/libs/math/doc/internals/rational.qbk
new file mode 100644
index 0000000000..eafa07a922
--- /dev/null
+++ b/libs/math/doc/internals/rational.qbk
@@ -0,0 +1,176 @@
+[section:rational Polynomial and Rational Function Evaluation]
+
+[h4 synopsis]
+
+``
+#include <boost/math/tools/rational.hpp>
+``
+
+ // Polynomials:
+ template <std::size_t N, class T, class V>
+ V evaluate_polynomial(const T(&poly)[N], const V& val);
+
+ template <std::size_t N, class T, class V>
+ V evaluate_polynomial(const boost::array<T,N>& poly, const V& val);
+
+ template <class T, class U>
+ U evaluate_polynomial(const T* poly, U z, std::size_t count);
+
+ // Even polynomials:
+ template <std::size_t N, class T, class V>
+ V evaluate_even_polynomial(const T(&poly)[N], const V& z);
+
+ template <std::size_t N, class T, class V>
+ V evaluate_even_polynomial(const boost::array<T,N>& poly, const V& z);
+
+ template <class T, class U>
+ U evaluate_even_polynomial(const T* poly, U z, std::size_t count);
+
+ // Odd polynomials
+ template <std::size_t N, class T, class V>
+ V evaluate_odd_polynomial(const T(&a)[N], const V& z);
+
+ template <std::size_t N, class T, class V>
+ V evaluate_odd_polynomial(const boost::array<T,N>& a, const V& z);
+
+ template <class T, class U>
+ U evaluate_odd_polynomial(const T* poly, U z, std::size_t count);
+
+ // Rational Functions:
+ template <std::size_t N, class T, class V>
+ V evaluate_rational(const T(&a)[N], const T(&b)[N], const V& z);
+
+ template <std::size_t N, class T, class V>
+ V evaluate_rational(const boost::array<T,N>& a, const boost::array<T,N>& b, const V& z);
+
+ template <class T, class U, class V>
+ V evaluate_rational(const T* num, const U* denom, V z, unsigned count);
+
+[h4 Description]
+
+Each of the functions come in three variants: a pair of overloaded functions
+where the order of the polynomial or rational function is evaluated at
+compile time, and an overload that accepts a runtime variable for the size
+of the coefficient array. Generally speaking, compile time evaluation of the
+array size results in better type safety, is less prone to programmer errors,
+and may result in better optimised code. The polynomial evaluation functions
+in particular, are specialised for various array sizes, allowing for
+loop unrolling, and one hopes, optimal inline expansion.
+
+ template <std::size_t N, class T, class V>
+ V evaluate_polynomial(const T(&poly)[N], const V& val);
+
+ template <std::size_t N, class T, class V>
+ V evaluate_polynomial(const boost::array<T,N>& poly, const V& val);
+
+ template <class T, class U>
+ U evaluate_polynomial(const T* poly, U z, std::size_t count);
+
+Evaluates the [@http://en.wikipedia.org/wiki/Polynomial polynomial] described by
+the coefficients stored in /poly/.
+
+If the size of the array is specified at runtime, then the polynomial
+most have order /count-1/ with /count/ coefficients. Otherwise it has
+order /N-1/ with /N/ coefficients.
+
+Coefficients should be stored such that the coefficients for the x[super i ] terms
+are in poly[i].
+
+The types of the coefficients and of variable
+/z/ may differ as long as /*poly/ is convertible to type /U/.
+This allows, for example, for the coefficient table
+to be a table of integers if this is appropriate.
+
+ template <std::size_t N, class T, class V>
+ V evaluate_even_polynomial(const T(&poly)[N], const V& z);
+
+ template <std::size_t N, class T, class V>
+ V evaluate_even_polynomial(const boost::array<T,N>& poly, const V& z);
+
+ template <class T, class U>
+ U evaluate_even_polynomial(const T* poly, U z, std::size_t count);
+
+As above, but evaluates an even polynomial: one where all the powers
+of /z/ are even numbers. Equivalent to calling
+`evaluate_polynomial(poly, z*z, count)`.
+
+ template <std::size_t N, class T, class V>
+ V evaluate_odd_polynomial(const T(&a)[N], const V& z);
+
+ template <std::size_t N, class T, class V>
+ V evaluate_odd_polynomial(const boost::array<T,N>& a, const V& z);
+
+ template <class T, class U>
+ U evaluate_odd_polynomial(const T* poly, U z, std::size_t count);
+
+As above but evaluates a polynomial where all the powers are odd numbers.
+Equivalent to `evaluate_polynomial(poly+1, z*z, count-1) * z + poly[0]`.
+
+ template <std::size_t N, class T, class U, class V>
+ V evaluate_rational(const T(&num)[N], const U(&denom)[N], const V& z);
+
+ template <std::size_t N, class T, class U, class V>
+ V evaluate_rational(const boost::array<T,N>& num, const boost::array<U,N>& denom, const V& z);
+
+ template <class T, class U, class V>
+ V evaluate_rational(const T* num, const U* denom, V z, unsigned count);
+
+Evaluates the rational function (the ratio of two polynomials) described by
+the coefficients stored in /num/ and /demom/.
+
+If the size of the array is specified at runtime then both
+polynomials most have order /count-1/ with /count/ coefficients.
+Otherwise both polynomials have order /N-1/ with /N/ coefficients.
+
+Array /num/ describes the numerator, and /demon/ the denominator.
+
+Coefficients should be stored such that the coefficients for the x[super i ] terms
+are in num[i] and denom[i].
+
+The types of the coefficients and of variable
+/v/ may differ as long as /*num/ and /*denom/ are convertible to type /V/.
+This allows, for example, for one or both of the coefficient tables
+to be a table of integers if this is appropriate.
+
+These functions are designed to safely evaluate the result, even when the value
+/z/ is very large. As such they do not take advantage of compile time array
+sizes to make any optimisations. These functions are best reserved for situations
+where /z/ may be large: if you can be sure that numerical overflow will not occur
+then polynomial evaluation with compile-time array sizes may offer slightly
+better performance.
+
+[h4 Implementation]
+
+Polynomials are evaluated by
+[@http://en.wikipedia.org/wiki/Horner_algorithm Horners method].
+If the array size is known at
+compile time then the functions dispatch to size-specific implementations
+that unroll the evaluation loop.
+
+Rational evaluation is by
+[@http://en.wikipedia.org/wiki/Horner_algorithm Horners method]:
+with the two polynomials being evaluated
+in parallel to make the most of the processors floating-point pipeline.
+If /v/ is greater than one, then the polynomials are evaluated in reverse
+order as polynomials in ['1\/v]: this avoids unnecessary numerical overflow when the
+coefficients are large.
+
+Both the polynomial and rational function evaluation algorithms can be
+tuned using various configuration macros to provide optimal performance
+for a particular combination of compiler and platform. This includes
+support for second-order Horner's methods. The various options are
+[link math_toolkit.tuning documented here]. However, the performance
+benefits to be gained from these are marginal on most current hardware,
+consequently it's best to run the
+[link math_toolkit.perf_test_app performance test application] before
+changing the default settings.
+
+[endsect][/section:rational Polynomial and Rational Function Evaluation]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/internals/relative_error.qbk b/libs/math/doc/internals/relative_error.qbk
new file mode 100644
index 0000000000..b5739af806
--- /dev/null
+++ b/libs/math/doc/internals/relative_error.qbk
@@ -0,0 +1,139 @@
+[section:error_test Relative Error and Testing]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/tools/test.hpp>
+``
+
+[important
+The header `boost/math/tools/test.hpp` is located under `libs/math/include_private`
+and is not installed to the usual locations by default, you will need to add `libs/math/include_private`
+to your compiler's include path in order to use this header.]
+
+ template <class T>
+ T relative_error(T a, T b);
+
+ template <class A, class F1, class F2>
+ test_result<see-below> test(const A& a, F1 test_func, F2 expect_func);
+
+[h4 Description]
+
+ template <class T>
+ T relative_error(T a, T v);
+
+Returns the relative error between /a/ and /v/ using the usual formula:
+
+[equation error1]
+
+In addition the value returned is zero if:
+
+* Both /a/ and /v/ are infinite.
+* Both /a/ and /v/ are denormalised numbers or zero.
+
+Otherwise if only one of /a/ and /v/ is zero then the value returned is 1.
+
+ template <class A, class F1, class F2>
+ test_result<see-below> test(const A& a, F1 test_func, F2 expect_func);
+
+This function is used for testing a function against tabulated test data.
+
+The return type contains statistical data on the relative errors (max, mean,
+variance, and the number of test cases etc), as well as the row of test data that
+caused the largest relative error. Public members of type test_result are:
+
+[variablelist
+[[`unsigned worst()const;`][Returns the row at which the worst error occurred.]]
+[[`T min()const;`][Returns the smallest relative error found.]]
+[[`T max()const;`][Returns the largest relative error found.]]
+[[`T mean()const;`][Returns the mean error found.]]
+[[`boost::uintmax_t count()const;`][Returns the number of test cases.]]
+[[`T variance()const;`][Returns the variance of the errors found.]]
+[[`T variance1()const;`][Returns the unbiased variance of the errors found.]]
+[[`T rms()const`][Returns the Root Mean Square, or quadratic mean of the errors.]]
+[[`test_result& operator+=(const test_result& t)`][Combines two test_result's into
+a single result.]]
+]
+
+The template parameter of test_result, is the same type as the values in the two
+dimensional array passed to function /test/, roughly that's
+`A::value_type::value_type`.
+
+Parameter /a/ is a matrix of test data: and must be a standard library Sequence type,
+that contains another Sequence type:
+typically it will be a two dimensional instance of
+[^boost::array]. Each row
+of /a/ should contain all the parameters that are passed to the function
+under test as well as the expected result.
+
+Parameter /test_func/ is the function under test, it is invoked with each row
+of test data in /a/. Typically type F1 is created with Boost.Lambda: see
+the example below.
+
+Parameter /expect_func/ is a functor that extracts the expected result
+from a row of test data in /a/. Typically type F2 is created with Boost.Lambda: see
+the example below.
+
+If the function under test returns a non-finite value when a finite result is
+expected, or if a gross error is found, then a message is sent to `std::cerr`,
+and a call to BOOST_ERROR() made (which means that including this header requires
+you use Boost.Test). This is mainly a debugging/development aid
+(and a good place for a breakpoint).
+
+[h4 Example]
+
+Suppose we want to test the tgamma and lgamma functions, we can create a
+two dimensional matrix of test data, each row is one test case, and contains
+three elements: the input value, and the expected results for the tgamma and
+lgamma functions respectively.
+
+ static const boost::array<boost::array<TestType, 3>, NumberOfTests>
+ factorials = {
+ /* big array of test data goes here */
+ };
+
+Now we can invoke the test function to test tgamma:
+
+ using namespace boost::math::tools;
+ using namespace boost::lambda;
+
+ // get a pointer to the function under test:
+ TestType (*funcp)(TestType) = boost::math::tgamma;
+
+ // declare something to hold the result:
+ test_result<TestType> result;
+ //
+ // and test tgamma against data:
+ //
+ result = test(
+ factorials,
+ bind(funcp, ret<TestType>(_1[0])), // calls tgamma with factorials[row][0]
+ ret<TestType>(_1[1]) // extracts the expected result from factorials[row][1]
+ );
+ //
+ // Print out some results:
+ //
+ std::cout << "The Mean was " << result.mean() << std::endl;
+ std::cout << "The worst error was " << (result.max)() << std::endl;
+ std::cout << "The worst error was at row " << result.worst_case() << std::endl;
+ //
+ // same again with lgamma this time:
+ //
+ funcp = boost::math::lgamma;
+ result = test(
+ factorials,
+ bind(funcp, ret<TestType>(_1[0])), // calls tgamma with factorials[row][0]
+ ret<TestType>(_1[2]) // extracts the expected result from factorials[row][2]
+ );
+ //
+ // etc ...
+ //
+
+[endsect][/section:error_test Relative Error and Testing]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/internals/roots.qbk b/libs/math/doc/internals/roots.qbk
new file mode 100644
index 0000000000..36a6faf5ee
--- /dev/null
+++ b/libs/math/doc/internals/roots.qbk
@@ -0,0 +1,273 @@
+[section:roots Root Finding With Derivatives: Newton-Raphson, Halley & Schroeder]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/tools/roots.hpp>
+``
+
+ namespace boost{ namespace math{
+ namespace tools{
+
+ template <class F, class T>
+ T newton_raphson_iterate(F f, T guess, T min, T max, int digits);
+
+ template <class F, class T>
+ T newton_raphson_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
+
+ template <class F, class T>
+ T halley_iterate(F f, T guess, T min, T max, int digits);
+
+ template <class F, class T>
+ T halley_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
+
+ template <class F, class T>
+ T schroeder_iterate(F f, T guess, T min, T max, int digits);
+
+ template <class F, class T>
+ T schroeder_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
+
+ }}} // namespaces
+
+[h4 Description]
+
+These functions all perform iterative root finding using derivatives:
+
+* `newton_raphson_iterate` performs second order
+[link math_toolkit.internals1.roots.newton Newton-Raphson iteration],
+
+* `halley_iterate` and`schroeder_iterate` perform third order
+[link math_toolkit.internals1.roots.halley Halley] and [link math_toolkit.internals1.roots.schroeder Schroeder] iteration.
+
+The functions all take the same parameters:
+
+[variablelist Parameters of the root finding functions
+[[F f] [Type F must be a callable function object that accepts one parameter and
+ returns a __tuple:
+
+For the second order iterative methods ([@http://en.wikipedia.org/wiki/Newton_Raphson Newton Raphson])
+ the __tuple should have *two* elements containing the evaluation
+ of the function and its first derivative.
+
+For the third order methods
+([@http://en.wikipedia.org/wiki/Halley%27s_method Halley] and
+Schroeder)
+ the __tuple should have *three* elements containing the evaluation of
+ the function and its first and second derivatives.]]
+[[T guess] [The initial starting value. A good guess is crucial to quick convergence!]]
+[[T min] [The minimum possible value for the result, this is used as an initial lower bracket.]]
+[[T max] [The maximum possible value for the result, this is used as an initial upper bracket.]]
+[[int digits] [The desired number of binary digits.]]
+[[uintmax_t& max_iter] [An optional maximum number of iterations to perform. On exit this is set to the actual number of iterations performed.]]
+]
+
+When using these functions you should note that:
+
+* Default max_iter = `(std::numeric_limits<boost::uintmax_t>::max)()` is effectively 'iterate for ever'!.
+* They may be very sensitive to the initial guess, typically they converge very rapidly
+if the initial guess has two or three decimal digits correct. However convergence
+can be no better than bisection, or in some rare cases, even worse than bisection if the
+initial guess is a long way from the correct value and the derivatives are close to zero.
+* These functions include special cases to handle zero first (and second where appropriate)
+derivatives, and fall back to bisection in this case. However, it is helpful
+if functor F is defined to return an arbitrarily small value ['of the correct sign] rather
+than zero.
+* If the derivative at the current best guess for the result is infinite (or
+very close to being infinite) then these functions may terminate prematurely.
+A large first derivative leads to a very small next step, triggering the termination
+condition. Derivative based iteration may not be appropriate in such cases.
+* If the function is 'Really Well Behaved' (monotonic and has only one root)
+the bracket bounds min and max may as well be set to the widest limits
+like zero and `numeric_limits<T>::max()`.
+*But if the function more complex and may have more than one root or a pole,
+the choice of bounds is protection against jumping out to seek the 'wrong' root.
+* These functions fall back to bisection if the next computed step would take the
+next value out of bounds. The bounds are updated after each step to ensure this leads
+to convergence. However, a good initial guess backed up by asymptotically-tight
+bounds will improve performance no end - rather than relying on bisection.
+* The value of /digits/ is crucial to good performance of these functions,
+if it is set too high then at best you will get one extra (unnecessary)
+iteration, and at worst the last few steps will proceed by bisection.
+Remember that the returned value can never be more accurate than f(x) can be
+evaluated, and that if f(x) suffers from cancellation errors as it
+tends to zero then the computed steps will be effectively random. The
+value of /digits/ should be set so that iteration terminates before this point:
+remember that for second and third order methods the number of correct
+digits in the result is increasing quite
+substantially with each iteration, /digits/ should be set by experiment so that the final
+iteration just takes the next value into the zone where f(x) becomes inaccurate.
+* To get the binary digits of accuracy, use policies::get_max_root_iterations<Policy>()).
+* If you need some diagnostic output to see what is going on, you can
+`#define BOOST_MATH_INSTRUMENT` before the `#include <boost/math/tools/roots.hpp>`,
+and also ensure that display of all the possibly significant digits with
+` cout.precision(std::numeric_limits<double>::max_digits10)`:
+but be warned, this may produce copious output!
+* Finally: you may well be able to do better than these functions by hand-coding
+the heuristics used so that they are tailored to a specific function. You may also
+be able to compute the ratio of derivatives used by these methods more efficiently
+than computing the derivatives themselves. As ever, algebraic simplification can
+be a big win.
+
+[h4:newton Newton Raphson Method]
+Given an initial guess x0 the subsequent values are computed using:
+
+[equation roots1]
+
+Out of bounds steps revert to bisection of the current bounds.
+
+Under ideal conditions, the number of correct digits doubles with each iteration.
+
+[h4:halley Halley's Method]
+
+Given an initial guess x0 the subsequent values are computed using:
+
+[equation roots2]
+
+Over-compensation by the second derivative (one which would proceed
+in the wrong direction) causes the method to
+revert to a Newton-Raphson step.
+
+Out of bounds steps revert to bisection of the current bounds.
+
+Under ideal conditions, the number of correct digits trebles with each iteration.
+
+[h4:schroeder Schroeder's Method]
+
+Given an initial guess x0 the subsequent values are computed using:
+
+[equation roots3]
+
+Over-compensation by the second derivative (one which would proceed
+in the wrong direction) causes the method to
+revert to a Newton-Raphson step. Likewise a Newton step is used
+whenever that Newton step would change the next value by more than 10%.
+
+Out of bounds steps revert to bisection of the current bounds.
+
+Under ideal conditions, the number of correct digits trebles with each iteration.
+
+[h4 Example]
+
+Let's suppose we want to find the cube root of a number: the equation we want to
+solve along with its derivatives are:
+
+[equation roots4]
+
+To begin with lets solve the problem using Newton-Raphson iterations, we'll
+begin by defining a function object (functor) that returns the evaluation
+of the function to solve, along with its first derivative f'(x):
+
+ template <class T>
+ struct cbrt_functor
+ {
+ cbrt_functor(T const& target) : a(target)
+ { // Constructor stores value to be 'cube-rooted'.
+ }
+ ``__tuple``<T, T> operator()(T const& z)
+ { // z is estimate so far.
+ return boost::math::make_tuple(
+ z*z*z - a, // return both f(x)
+ 3 * z*z); // and f'(x)
+ }
+ private:
+ T a; // to be 'cube-rooted'.
+ };
+
+Implementing the cube root is fairly trivial now, the hardest part is finding
+a good approximation to begin with: in this case we'll just divide the exponent
+by three:
+
+ template <class T>
+ T cbrt(T z)
+ {
+ using namespace std; // for frexp, ldexp, numeric_limits.
+ using namespace boost::math::tools;
+
+ int exp;
+ frexp(z, &exp); // Get exponent of z (ignore mantissa).
+ T min = ldexp(0.5, exp/3);
+ T max = ldexp(2.0, exp/3);
+ T guess = ldexp(1.0, exp/3); // Rough guess is to divide the exponent by three.
+ int digits = std::numeric_limits<T>::digits; // Maximum possible binary digits accuracy for type T.
+ return newton_raphson_iterate(detail::cbrt_functor<T>(z), guess, min, max, digits);
+ }
+
+Using the test data in `libs/math/test/cbrt_test.cpp` this found the cube root
+exact to the last digit in every case, and in no more than 6 iterations at double
+precision. However, you will note that a high precision was used in this
+example, exactly what was warned against earlier on in these docs! In this
+particular case it is possible to compute f(x) exactly and without undue
+cancellation error, so a high limit is not too much of an issue. However,
+reducing the limit to `std::numeric_limits<T>::digits * 2 / 3` gave full
+precision in all but one of the test cases (and that one was out by just one bit).
+The maximum number of iterations remained 6, but in most cases was reduced by one.
+
+Note also that the above code omits a probably optimization by computing z[sup2],
+and reusing it, omits error handling, and does not handle
+negative values of z correctly. (These are left as an exercise for the reader!)
+
+The `boost::math::cbrt` function also includes these and other improvements.
+
+Now let's adapt the functor slightly to return the second derivative as well:
+
+ template <class T>
+ struct cbrt_functor
+ {
+ cbrt_functor(T const& target) : a(target){}
+ ``__tuple``<T, T, T> operator()(T const& z)
+ {
+ return boost::math::make_tuple(
+ z*z*z - a,
+ 3 * z*z,
+ 6 * z);
+ }
+ private:
+ T a;
+ };
+
+And then adapt the `cbrt` function to use Halley iterations:
+
+ template <class T>
+ T cbrt(T z)
+ {
+ using namespace std;
+ using namespace boost::math::tools;
+
+ int exp;
+ frexp(z, &exp);
+ T min = ldexp(0.5, exp/3);
+ T max = ldexp(2.0, exp/3);
+ T guess = ldexp(1.0, exp/3);
+ int digits = std::numeric_limits<T>::digits / 2;
+ return halley_iterate(detail::cbrt_functor<T>(z), guess, min, max, digits);
+ }
+
+Note that the iterations are set to stop at just one-half of full precision,
+and yet, even so, not one of the test cases had a single bit wrong.
+What's more, the maximum number of iterations was now just 4.
+
+Just to complete the picture, we could have called `schroeder_iterate` in the last
+example: and in fact it makes no difference to the accuracy or number of iterations
+in this particular case. However, the relative performance of these two methods
+may vary depending upon the nature of f(x), and the accuracy to which the initial
+guess can be computed. There appear to be no generalisations that can be made
+except "try them and see".
+
+Finally, had we called `cbrt` with [@http://shoup.net/ntl/doc/RR.txt NTL::RR]
+set to 1000 bit precision, then full precision can be obtained with just 7 iterations.
+To put that in perspective,
+an increase in precision by a factor of 20, has less than doubled the number of
+iterations. That just goes to emphasise that most of the iterations are used
+up getting the first few digits correct: after that these methods can churn out
+further digits with remarkable efficiency.
+
+Or to put it another way: ['nothing beats a really good initial guess!]
+
+[endsect] [/section:roots Root Finding With Derivatives]
+
+[/
+ Copyright 2006, 2010, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/internals/roots_without_derivatives.qbk b/libs/math/doc/internals/roots_without_derivatives.qbk
new file mode 100644
index 0000000000..d1ad6f3994
--- /dev/null
+++ b/libs/math/doc/internals/roots_without_derivatives.qbk
@@ -0,0 +1,425 @@
+[section:roots2 Root Finding Without Derivatives: Bisection, Bracket and TOMS748]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/tools/roots.hpp>
+``
+
+ namespace boost{ namespace math{
+ namespace tools{
+ // Bisection
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ bisect(
+ F f,
+ T min,
+ T max,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ bisect(
+ F f,
+ T min,
+ T max,
+ Tol tol);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ bisect(
+ F f,
+ T min,
+ T max,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+ // Bracket and Solve Root
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ bracket_and_solve_root(
+ F f,
+ const T& guess,
+ const T& factor,
+ bool rising,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ bracket_and_solve_root(
+ F f,
+ const T& guess,
+ const T& factor,
+ bool rising,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+ // TOMS 748 algorithm
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ const T& fa,
+ const T& fb,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ const T& fa,
+ const T& fb,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+ // Termination conditions:
+ template <class T>
+ struct eps_tolerance;
+
+ struct equal_floor;
+ struct equal_ceil;
+ struct equal_nearest_integer;
+
+ }}} // namespaces
+
+[h4 Description]
+
+These functions solve the root of some function /f(x)/ ['without the
+need for any derivatives of /f(x)/].
+
+The `bracket_and_solve_root` functions use TOMS Algorithm 748 that is asymptotically the most efficient known,
+and have been shown to be optimal for a certain classes of smooth functions.
+Variants with and without __policies are provided.
+
+Alternatively, there is a simple bisection routine which can be useful
+in its own right in some situations, or alternatively for narrowing
+down the range containing the root, prior to calling a more advanced
+algorithm.
+
+All the algorithms in this section reduce the diameter of the enclosing
+interval with the same asymptotic efficiency with which they locate the
+root. This is in contrast to the derivative based methods which may /never/
+significantly reduce the enclosing interval, even though they rapidly approach
+the root. This is also in contrast to some other derivative-free methods
+(for example the methods of [@http://en.wikipedia.org/wiki/Brent%27s_method Brent or Dekker)]
+which only reduce the enclosing interval on the final step.
+Therefore these methods return a std::pair containing the enclosing interval found,
+and accept a function object specifying the termination condition.
+Three function objects are provided for ready-made termination conditions:
+/eps_tolerance/ causes termination when the relative error in the enclosing
+interval is below a certain threshold, while /equal_floor/ and /equal_ceil/ are
+useful for certain statistical applications where the result is known to be
+an integer. Other user-defined termination conditions are likely to be used
+only rarely, but may be useful in some specific circumstances.
+
+[h6 Bisection]
+
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ bisect(
+ F f,
+ T min,
+ T max,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ bisect(
+ F f,
+ T min,
+ T max,
+ Tol tol);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ bisect(
+ F f,
+ T min,
+ T max,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+These functions locate the root using bisection: function arguments are:
+
+[variablelist
+[[f] [A unary functor which is the function whose root is to be found.]]
+[[min] [The left bracket of the interval known to contain the root.]]
+[[max] [The right bracket of the interval known to contain the root.
+ It is a precondition that /min < max/ and /f(min)*f(max) <= 0/,
+ the function signals evaluation error if these preconditions are violated.
+ The action taken is controlled by the evaluation error policy.
+ A best guess may be returned, perhaps significantly wrong.]]
+[[tol] [A binary functor that specifies the termination condition: the function
+ will return the current brackets enclosing the root when /tol(min,max)/ becomes true.]]
+[[max_iter][The maximum number of invocations of /f(x)/ to make while searching for the root. On exist this is set to actual number of invocations performed.]]
+]
+
+[optional_policy]
+
+Returns: a pair of values /r/ that bracket the root so that:
+
+ f(r.first) * f(r.second) <= 0
+
+and either
+
+ tol(r.first, r.second) == true
+
+or
+
+ max_iter >= m
+
+where /m/ is the initial value of /max_iter/ passed to the function.
+
+In other words, it's up to the caller to verify whether termination occurred
+as a result of exceeding /max_iter/ function invocations (easily done by
+checking the updated value of /max_iter/ when the function returns), rather than
+because the termination condition /tol/ was satisfied.
+
+[h6 Bracket and solve]
+
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ bracket_and_solve_root(
+ F f,
+ const T& guess,
+ const T& factor,
+ bool rising,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ bracket_and_solve_root(
+ F f,
+ const T& guess,
+ const T& factor,
+ bool rising,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+This is a convenience function that calls /toms748_solve/ internally
+to find the root of /f(x)/. It's usable only when /f(x)/ is a monotonic
+function, and the location of the root is known approximately, and in
+particular it is known whether the root is occurs for positive or negative
+/x/. The parameters are:
+
+[variablelist
+[[f][A unary functor that is the function whose root is to be solved.
+ f(x) must be uniformly increasing or decreasing on /x/.]]
+[[guess][An initial approximation to the root]]
+[[factor][A scaling factor that is used to bracket the root: the value
+ /guess/ is multiplied (or divided as appropriate) by /factor/
+ until two values are found that bracket the root. A value
+ such as 2 is a typical choice for /factor/.]]
+[[rising][Set to /true/ if /f(x)/ is rising on /x/ and /false/ if /f(x)/
+ is falling on /x/. This value is used along with the result
+ of /f(guess)/ to determine if /guess/ is
+ above or below the root.]]
+[[tol] [A binary functor that determines the termination condition for the search
+ for the root. /tol/ is passed the current brackets at each step,
+ when it returns true then the current brackets are returned as the result.]]
+[[max_iter] [The maximum number of function invocations to perform in the search
+ for the root. On exit is set to the actual number of invocations performed.]]
+]
+
+[optional_policy]
+
+Returns: a pair of values /r/ that bracket the root so that:
+
+ f(r.first) * f(r.second) <= 0
+
+and either
+
+ tol(r.first, r.second) == true
+
+or
+
+ max_iter >= m
+
+where /m/ is the initial value of /max_iter/ passed to the function.
+
+In other words, it's up to the caller to verify whether termination occurred
+as a result of exceeding /max_iter/ function invocations (easily done by
+checking the value of /max_iter/ when the function returns), rather than
+because the termination condition /tol/ was satisfied.
+
+[h6 Algorithm TOMS 748: Alefeld, Potra and Shi: Enclosing zeros of continuous functions]
+
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+ template <class F, class T, class Tol>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ const T& fa,
+ const T& fb,
+ Tol tol,
+ boost::uintmax_t& max_iter);
+
+ template <class F, class T, class Tol, class ``__Policy``>
+ std::pair<T, T>
+ toms748_solve(
+ F f,
+ const T& a,
+ const T& b,
+ const T& fa,
+ const T& fb,
+ Tol tol,
+ boost::uintmax_t& max_iter,
+ const ``__Policy``&);
+
+These two functions implement TOMS Algorithm 748: it uses a mixture of
+cubic, quadratic and linear (secant) interpolation to locate the root of
+/f(x)/. The two functions differ only by whether values for /f(a)/ and
+/f(b)/ are already available. The toms748_solve parameters are:
+
+[variablelist
+[[f] [A unary functor that is the function whose root is to be solved.
+ f(x) need not be uniformly increasing or decreasing on /x/ and
+ may have multiple roots.]]
+[[a] [ The lower bound for the initial bracket of the root.]]
+[[b] [The upper bound for the initial bracket of the root.
+ It is a precondition that /a < b/ and that /a/ and /b/
+ bracket the root to find so that /f(a)*f(b) < 0/.]]
+[[fa] [Optional: the value of /f(a)/.]]
+[[fb] [Optional: the value of /f(b)/.]]
+[[tol] [A binary functor that determines the termination condition for the search
+ for the root. /tol/ is passed the current brackets at each step,
+ when it returns true, then the current brackets are returned as the result.]]
+[[max_iter] [The maximum number of function invocations to perform in the search
+ for the root. On exit /max_iter/ is set to actual number of function
+ invocations used.]]
+]
+
+[optional_policy]
+
+toms748_solve returns: a pair of values /r/ that bracket the root so that:
+ f(r.first) * f(r.second) <= 0
+and either
+ tol(r.first, r.second) == true
+or
+ max_iter >= m
+where /m/ is the initial value of /max_iter/ passed to the function.
+
+In other words, it's up to the caller to verify whether termination occurred
+as a result of exceeding /max_iter/ function invocations (easily done by
+checking the updated value of /max_iter/
+against its previous value passed as parameter),
+rather than because the termination condition /tol/ was satisfied.
+
+ template <class T>
+ struct eps_tolerance
+ {
+ eps_tolerance(int bits);
+ bool operator()(const T& a, const T& b)const;
+ };
+
+`eps_tolerance` is the usual termination condition used with these root finding functions.
+Its operator() will return true when the relative distance between /a/ and /b/
+is less than twice the machine epsilon for T, or 2[super 1-bits], whichever is
+the larger. In other words, you set /bits/ to the number of bits of precision you
+want in the result. The minimal tolerance of twice the machine epsilon of T is
+required to ensure that we get back a bracketing interval: since this must clearly
+be at least 1 epsilon in size.
+
+ struct equal_floor
+ {
+ equal_floor();
+ template <class T> bool operator()(const T& a, const T& b)const;
+ };
+
+This termination condition is used when you want to find an integer result
+that is the /floor/ of the true root. It will terminate as soon as both ends
+of the interval have the same /floor/.
+
+ struct equal_ceil
+ {
+ equal_ceil();
+ template <class T> bool operator()(const T& a, const T& b)const;
+ };
+
+This termination condition is used when you want to find an integer result
+that is the /ceil/ of the true root. It will terminate as soon as both ends
+of the interval have the same /ceil/.
+
+ struct equal_nearest_integer
+ {
+ equal_nearest_integer();
+ template <class T> bool operator()(const T& a, const T& b)const;
+ };
+
+This termination condition is used when you want to find an integer result
+that is the /closest/ to the true root. It will terminate as soon as both ends
+of the interval round to the same nearest integer.
+
+[h4 Implementation]
+
+The implementation of the bisection algorithm is extremely straightforward
+and not detailed here. __TOMS748 is described in detail in:
+
+['Algorithm 748: Enclosing Zeros of Continuous Functions,
+G. E. Alefeld, F. A. Potra and Yixun Shi,
+ACM Transactions on Mathematica1 Software, Vol. 21. No. 3. September 1995.
+Pages 327-344.]
+
+The implementation here is a faithful translation of this paper into C++.
+
+[endsect] [/section:roots2 Root Finding Without Derivatives]
+
+[/
+ Copyright 2006, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/series.qbk b/libs/math/doc/internals/series.qbk
index 58bb7e00bc..58bb7e00bc 100644
--- a/libs/math/doc/sf_and_dist/series.qbk
+++ b/libs/math/doc/internals/series.qbk
diff --git a/libs/math/doc/internals/test_data.qbk b/libs/math/doc/internals/test_data.qbk
new file mode 100644
index 0000000000..48461635f3
--- /dev/null
+++ b/libs/math/doc/internals/test_data.qbk
@@ -0,0 +1,446 @@
+[section:test_data Graphing, Profiling, and Generating Test Data for Special Functions]
+
+The class `test_data` and associated helper functions are designed so that in just
+a few lines of code you should be able to:
+
+* Profile a continued fraction, or infinite series for convergence and accuracy.
+* Generate csv data from a special function that can be imported into your favorite
+graphing program (or spreadsheet) for further analysis.
+* Generate high precision test data.
+
+[h4 Synopsis]
+
+ #include <boost/math/tools/test_data.hpp>
+
+[important
+This is a non-core Boost.Math header that is predominantly used for internal
+maintenance of the library: as a result the library is located under
+`libs/math/include_private` and you will need to add that directory to
+your include path in order to use this feature.
+]
+
+ namespace boost{ namespace math{ namespace tools{
+
+ enum parameter_type
+ {
+ random_in_range = 0,
+ periodic_in_range = 1,
+ power_series = 2,
+ dummy_param = 0x80,
+ };
+
+ template <class T>
+ struct parameter_info;
+
+ template <class T>
+ parameter_info<T> make_random_param(T start_range, T end_range, int n_points);
+
+ template <class T>
+ parameter_info<T> make_periodic_param(T start_range, T end_range, int n_points);
+
+ template <class T>
+ parameter_info<T> make_power_param(T basis, int start_exponent, int end_exponent);
+
+ template <class T>
+ bool get_user_parameter_info(parameter_info<T>& info, const char* param_name);
+
+ template <class T>
+ class test_data
+ {
+ public:
+ typedef std::vector<T> row_type;
+ typedef row_type value_type;
+ private:
+ typedef std::set<row_type> container_type;
+ public:
+ typedef typename container_type::reference reference;
+ typedef typename container_type::const_reference const_reference;
+ typedef typename container_type::iterator iterator;
+ typedef typename container_type::const_iterator const_iterator;
+ typedef typename container_type::difference_type difference_type;
+ typedef typename container_type::size_type size_type;
+
+ // creation:
+ test_data(){}
+ template <class F>
+ test_data(F func, const parameter_info<T>& arg1);
+
+ // insertion:
+ template <class F>
+ test_data& insert(F func, const parameter_info<T>& arg1);
+
+ template <class F>
+ test_data& insert(F func, const parameter_info<T>& arg1,
+ const parameter_info<T>& arg2);
+
+ template <class F>
+ test_data& insert(F func, const parameter_info<T>& arg1,
+ const parameter_info<T>& arg2,
+ const parameter_info<T>& arg3);
+
+ void clear();
+
+ // access:
+ iterator begin();
+ iterator end();
+ const_iterator begin()const;
+ const_iterator end()const;
+ bool operator==(const test_data& d)const;
+ bool operator!=(const test_data& d)const;
+ void swap(test_data& other);
+ size_type size()const;
+ size_type max_size()const;
+ bool empty()const;
+
+ bool operator < (const test_data& dat)const;
+ bool operator <= (const test_data& dat)const;
+ bool operator > (const test_data& dat)const;
+ bool operator >= (const test_data& dat)const;
+ };
+
+ template <class charT, class traits, class T>
+ std::basic_ostream<charT, traits>& write_csv(
+ std::basic_ostream<charT, traits>& os,
+ const test_data<T>& data);
+
+ template <class charT, class traits, class T>
+ std::basic_ostream<charT, traits>& write_csv(
+ std::basic_ostream<charT, traits>& os,
+ const test_data<T>& data,
+ const charT* separator);
+
+ template <class T>
+ std::ostream& write_code(std::ostream& os,
+ const test_data<T>& data,
+ const char* name);
+
+ }}} // namespaces
+
+[h4 Description]
+
+This tool is best illustrated with the following series of examples.
+
+The functionality of test_data is split into the following parts:
+
+* A functor that implements the function for which data is being generated:
+this is the bit you have to write.
+* One of more parameters that are to be passed to the functor, these are
+described in fairly abstract terms: give me N points distributed like /this/ etc.
+* The class test_data, that takes the functor and descriptions of the parameters
+and computes how ever many output points have been requested, these are stored
+in a sorted container.
+* Routines to iterate over the test_data container and output the data in either
+csv format, or as C++ source code (as a table using Boost.Array).
+
+[h5 Example 1: Output Data for Graph Plotting]
+
+For example, lets say we want to graph the lgamma function between -3 and 100,
+one could do this like so:
+
+ #include <boost/math/tools/test_data.hpp>
+ #include <boost/math/special_functions/gamma.hpp>
+
+ int main()
+ {
+ using namespace boost::math::tools;
+
+ // create an object to hold the data:
+ test_data<double> data;
+
+ // insert 500 points at uniform intervals between just after -3 and 100:
+ double (*pf)(double) = boost::math::lgamma;
+ data.insert(pf, make_periodic_param(-3.0 + 0.00001, 100.0, 500));
+
+ // print out in csv format:
+ write_csv(std::cout, data, ", ");
+ return 0;
+ }
+
+Which, when plotted, results in:
+
+[graph lgamma]
+
+[h5 Example 2: Creating Test Data]
+
+As a second example, let's suppose we want to create highly accurate test
+data for a special function. Since many special functions have two or
+more independent parameters, it's very hard to effectively cover all of
+the possible parameter space without generating gigabytes of data at
+great computational expense. A second best approach is to provide the tools
+by which a user (or the library maintainer) can quickly generate more data
+on demand to probe the function over a particular domain of interest.
+
+In this example we'll generate test data for the beta function using
+[@http://shoup.net/ntl/doc/RR.txt NTL::RR] at 1000 bit precision.
+Rather than call our generic
+version of the beta function, we'll implement a deliberately naive version
+of the beta function using lgamma, and rely on the high precision of the
+data type used to get results accurate to at least 128-bit precision. In this
+way our test data is independent of whatever clever tricks we may wish to
+use inside the our beta function.
+
+To start with then, here's the function object that creates the test data:
+
+ #include <boost/math/tools/ntl.hpp>
+ #include <boost/math/special_functions/gamma.hpp>
+ #include <boost/math/tools/test_data.hpp>
+ #include <fstream>
+
+ #include <boost/math/tools/test_data.hpp>
+
+ using namespace boost::math::tools;
+
+ struct beta_data_generator
+ {
+ NTL::RR operator()(NTL::RR a, NTL::RR b)
+ {
+ //
+ // If we throw a domain error then test_data will
+ // ignore this input point. We'll use this to filter
+ // out all cases where a < b since the beta function
+ // is symmetrical in a and b:
+ //
+ if(a < b)
+ throw std::domain_error("");
+
+ // very naively calculate spots with lgamma:
+ NTL::RR g1, g2, g3;
+ int s1, s2, s3;
+ g1 = boost::math::lgamma(a, &s1);
+ g2 = boost::math::lgamma(b, &s2);
+ g3 = boost::math::lgamma(a+b, &s3);
+ g1 += g2 - g3;
+ g1 = exp(g1);
+ g1 *= s1 * s2 * s3;
+ return g1;
+ }
+ };
+
+To create the data, we'll need to input the domains for a and b
+for which the function will be tested: the function `get_user_parameter_info`
+is designed for just that purpose. The start of main will look something like:
+
+ // Set the precision on RR:
+ NTL::RR::SetPrecision(1000); // bits.
+ NTL::RR::SetOutputPrecision(40); // decimal digits.
+
+ parameter_info<NTL::RR> arg1, arg2;
+ test_data<NTL::RR> data;
+
+ std::cout << "Welcome.\n"
+ "This program will generate spot tests for the beta function:\n"
+ " beta(a, b)\n\n";
+
+ bool cont;
+ std::string line;
+
+ do{
+ // prompt the user for the domain of a and b to test:
+ get_user_parameter_info(arg1, "a");
+ get_user_parameter_info(arg2, "b");
+
+ // create the data:
+ data.insert(beta_data_generator(), arg1, arg2);
+
+ // see if the user want's any more domains tested:
+ std::cout << "Any more data [y/n]?";
+ std::getline(std::cin, line);
+ boost::algorithm::trim(line);
+ cont = (line == "y");
+ }while(cont);
+
+[caution At this point one potential stumbling block should be mentioned:
+test_data<>::insert will create a matrix of test data when there are two
+or more parameters, so if we have two parameters and we're asked for
+a thousand points on each, that's a ['million test points in total].
+Don't say you weren't warned!]
+
+There's just one final step now, and that's to write the test data to file:
+
+ std::cout << "Enter name of test data file [default=beta_data.ipp]";
+ std::getline(std::cin, line);
+ boost::algorithm::trim(line);
+ if(line == "")
+ line = "beta_data.ipp";
+ std::ofstream ofs(line.c_str());
+ write_code(ofs, data, "beta_data");
+
+The format of the test data looks something like:
+
+ #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
+ static const boost::array<boost::array<T, 3>, 1830>
+ beta_med_data = {
+ SC_(0.4883005917072296142578125),
+ SC_(0.4883005917072296142578125),
+ SC_(3.245912809500479157065104747353807392371),
+ SC_(3.5808107852935791015625),
+ SC_(0.4883005917072296142578125),
+ SC_(1.007653173802923954909901438393379243537),
+ /* ... lots of rows skipped */
+ };
+
+The first two values in each row are the input parameters that were passed
+to our functor and the last value is the return value from the functor.
+Had our functor returned a __tuple rather than a value, then we would have had
+one entry for each element in the tuple in addition to the input parameters.
+
+The first #define serves two purposes:
+
+* It reduces the file sizes considerably: all those `static_cast`'s add up to a lot
+of bytes otherwise (they are needed to suppress compiler warnings when `T` is
+narrower than a `long double`).
+* It provides a useful customisation point: for example if we were testing
+a user-defined type that has more precision than a `long double` we could change
+it to:
+
+[^#define SC_(x) lexical_cast<T>(BOOST_STRINGIZE(x))]
+
+in order to ensure that no truncation of the values occurs prior to conversion
+to `T`. Note that this isn't used by default as it's rather hard on the compiler
+when the table is large.
+
+[h5 Example 3: Profiling a Continued Fraction for Convergence and Accuracy]
+
+Alternatively, lets say we want to profile a continued fraction for
+convergence and error. As an example, we'll use the continued fraction
+for the upper incomplete gamma function, the following function object
+returns the next a[sub N ] and b[sub N ] of the continued fraction
+each time it's invoked:
+
+ template <class T>
+ struct upper_incomplete_gamma_fract
+ {
+ private:
+ T z, a;
+ int k;
+ public:
+ typedef std::pair<T,T> result_type;
+
+ upper_incomplete_gamma_fract(T a1, T z1)
+ : z(z1-a1+1), a(a1), k(0)
+ {
+ }
+
+ result_type operator()()
+ {
+ ++k;
+ z += 2;
+ return result_type(k * (a - k), z);
+ }
+ };
+
+We want to measure both the relative error, and the rate of convergence
+of this fraction, so we'll write a functor that returns both as a __tuple:
+class test_data will unpack the tuple for us, and create one column of data
+for each element in the tuple (in addition to the input parameters):
+
+ #include <boost/math/tools/test_data.hpp>
+ #include <boost/math/tools/test.hpp>
+ #include <boost/math/special_functions/gamma.hpp>
+ #include <boost/math/tools/ntl.hpp>
+ #include <boost/math/tools/tuple.hpp>
+
+ template <class T>
+ struct profile_gamma_fraction
+ {
+ typedef ``__tuple``<T, T> result_type;
+
+ result_type operator()(T val)
+ {
+ using namespace boost::math::tools;
+ // estimate the true value, using arbitary precision
+ // arithmetic and NTL::RR:
+ NTL::RR rval(val);
+ upper_incomplete_gamma_fract<NTL::RR> f1(rval, rval);
+ NTL::RR true_val = continued_fraction_a(f1, 1000);
+ //
+ // Now get the aproximation at double precision, along with the number of
+ // iterations required:
+ boost::uintmax_t iters = std::numeric_limits<boost::uintmax_t>::max();
+ upper_incomplete_gamma_fract<T> f2(val, val);
+ T found_val = continued_fraction_a(f2, std::numeric_limits<T>::digits, iters);
+ //
+ // Work out the relative error, as measured in units of epsilon:
+ T err = real_cast<T>(relative_error(true_val, NTL::RR(found_val)) / std::numeric_limits<T>::epsilon());
+ //
+ // now just return the results as a tuple:
+ return boost::math::make_tuple(err, iters);
+ }
+ };
+
+Feeding that functor into test_data allows rapid output of csv data,
+for whatever type `T` we may be interested in:
+
+ int main()
+ {
+ using namespace boost::math::tools;
+ // create an object to hold the data:
+ test_data<double> data;
+ // insert 500 points at uniform intervals between just after 0 and 100:
+ data.insert(profile_gamma_fraction<double>(), make_periodic_param(0.01, 100.0, 100));
+ // print out in csv format:
+ write_csv(std::cout, data, ", ");
+ return 0;
+ }
+
+This time there's no need to plot a graph, the first few rows are:
+
+ a and z, Error/epsilon, Iterations required
+
+ 0.01, 9723.14, 4726
+ 1.0099, 9.54818, 87
+ 2.0098, 3.84777, 40
+ 3.0097, 0.728358, 25
+ 4.0096, 2.39712, 21
+ 5.0095, 0.233263, 16
+
+So it's pretty clear that this fraction shouldn't be used for small values
+of a and z.
+
+[h4 reference]
+
+Most of this tool has been described already in the examples above, we'll
+just add the following notes on the non-member functions:
+
+ template <class T>
+ parameter_info<T> make_random_param(T start_range, T end_range, int n_points);
+
+Tells class test_data to test /n_points/ random values in the range
+[start_range,end_range].
+
+ template <class T>
+ parameter_info<T> make_periodic_param(T start_range, T end_range, int n_points);
+
+Tells class test_data to test /n_points/ evenly spaced values in the range
+[start_range,end_range].
+
+ template <class T>
+ parameter_info<T> make_power_param(T basis, int start_exponent, int end_exponent);
+
+Tells class test_data to test points of the form ['basis + R * 2[super expon]] for each
+/expon/ in the range [start_exponent, end_exponent], and /R/ a random number in \[0.5, 1\].
+
+ template <class T>
+ bool get_user_parameter_info(parameter_info<T>& info, const char* param_name);
+
+Prompts the user for the parameter range and form to use.
+
+Finally, if we don't want the parameter to be included in the output, we can tell
+test_data by setting it a "dummy parameter":
+
+ parameter_info<double> p = make_random_param(2.0, 5.0, 10);
+ p.type |= dummy_param;
+
+This is useful when the functor used transforms the parameter in some way
+before passing it to the function under test, usually the functor will then
+return both the transformed input and the result in a tuple, so there's no
+need for the original pseudo-parameter to be included in program output.
+
+[endsect][/section:test_data Graphing, Profiling, and Generating Test Data for Special Functions]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/tuple.qbk b/libs/math/doc/internals/tuple.qbk
index ac92bfcb4d..ac92bfcb4d 100644
--- a/libs/math/doc/sf_and_dist/tuple.qbk
+++ b/libs/math/doc/internals/tuple.qbk
diff --git a/libs/math/doc/math.qbk b/libs/math/doc/math.qbk
index 3530b8ad41..58fc7604b0 100644
--- a/libs/math/doc/math.qbk
+++ b/libs/math/doc/math.qbk
@@ -1,230 +1,614 @@
-[article Boost.Math
- [quickbook 1.5]
- [copyright 2006, 2007, 2008, 2009, 2010 John Maddock, Paul A. Bristow, Hubert Holin, Daryle Walker, Xiaogang Zhang, Bruno Lalande, Johan R&#xE5;de, Gautam Sewani and Thijs van den Berg]
+[book Math Toolkit
+ [quickbook 1.6]
+ [copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2014 Nikhar Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert Holin, Bruno Lalande, John Maddock, Johan RÃ¥de, Gautam Sewani, Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang]
+ [/purpose ISBN 0-9504833-2-X 978-0-9504833-2-0, Classification 519.2-dc22]
[license
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
- [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
+ [@http://www.boost.org/LICENSE_1_0.txt])
]
- [authors [Maddock, John], [Bristow, Paul A.], [Holin, Hubert], [Walker, Daryle], [Zhang, Xiaogang], [Lalande, Bruno], [R&#xE5;de, Johan], [Sewani, Gautam], [van den Berg, Thijs]]
- [last-revision $Date: 2011-01-08 09:33:06 -0800 (Sat, 08 Jan 2011) $]
+ [authors [Agrawal, Nikhar], [Bikineev, Anton], [Bristow, Paul A.], [Holin, Hubert], [Guazzone, Marco], [Kormanyos, Christopher], [Lalande, Bruno], [Maddock, John], [RÃ¥de, Johan], [Sobotta, Benjamin], [Sewani, Gautam], [van den Berg, Thijs], [Walker, Daryle], [Zhang, Xiaogang]]
+ [/last-revision $Date$]
+ [version 2.1.0]
]
-[def __R ['[*R]]]
-[def __C ['[*C]]]
-[def __H ['[*H]]]
-[def __O ['[*O]]]
-[def __R3 ['[*'''R<superscript>3</superscript>''']]]
-[def __R4 ['[*'''R<superscript>4</superscript>''']]]
-[def __quadrulple ('''&#x03B1;,&#x03B2;,&#x03B3;,&#x03B4;''')]
-[def __quat_formula ['[^q = '''&#x03B1; + &#x03B2;i + &#x03B3;j + &#x03B4;k''']]]
-[def __quat_complex_formula ['[^q = ('''&#x03B1; + &#x03B2;i) + (&#x03B3; + &#x03B4;i)j''' ]]]
-[def __not_equal ['[^xy '''&#x2260;''' yx]]]
-[def __octulple ('''&#x03B1;,&#x03B2;,&#x03B3;,&#x03B4;,&#x03B5;,&#x03B6;,&#x03B7;,&#x03B8;''')]
-[def __oct_formula ['[^o = '''&#x03B1; + &#x03B2;i + &#x03B3;j + &#x03B4;k + &#x03B5;e' + &#x03B6;i' + &#x03B7;j' + &#x03B8;k' ''']]]
-[def __oct_complex_formula ['[^o = ('''&#x03B1; + &#x03B2;i) + (&#x03B3; + &#x03B4;i)j + (&#x03B5; + &#x03B6;i)e' + (&#x03B7; - &#x03B8;i)j' ''']]]
-[def __oct_quat_formula ['[^o = ('''&#x03B1; + &#x03B2;i + &#x03B3;j + &#x03B4;k) + (&#x03B5; + &#x03B6;i + &#x03B7;j - &#x03B8;j)e' ''']]]
-[def __oct_not_equal ['[^x(yz) '''&#x2260;''' (xy)z]]]
+[template mathpart[id title]
+[block '''<chapter id="'''[id]'''"><title>'''[title]'''</title>''']]
+[template endmathpart[]
+[block '''</chapter>''']]
+
+[/ \u00E5 = Latin small letter A with ring above doesn't seem to work in authors with Quickbook 1.5]
+
+[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>''']
+
+[template graph[name] '''<inlinemediaobject>
+<imageobject role="html">
+<imagedata align="center" fileref="../graphs/'''[name]'''.png"></imagedata>
+</imageobject>
+<imageobject role="print">
+<imagedata align="center" fileref="../graphs/'''[name]'''.svg"></imagedata>
+</imageobject>
+</inlinemediaobject>''']
+
+[import ../../../tools/auto_index/include/auto_index_helpers.qbk]
+[/ Must be first included file!]
+
+[import html4_symbols.qbk]
+
+[import overview/common_overviews.qbk] [/ overviews that appear in more than one place!]
+[import overview/tr1.qbk] [/tr1 docs also appear in more than one place!]
+[import overview/roadmap.qbk] [/ for history]
+
+[def __effects [*Effects: ]]
+[def __formula [*Formula: ]]
+[def __exm1 '''<code>e<superscript>x</superscript> - 1</code>'''] [/e^x -1]
+[def __ex '''<code>e<superscript>x</superscript></code>'''] [/e^x]
+[def __te '''2&#x025B;'''] [/small Latin letter open e]
+
+[def __ceilR '''&#x2309;''']
+[def __ceilL '''&#2308;''']
+[def __floorR '''&#x230B;''']
+[def __floorL '''&#x230A;''']
+[def __infin '''&#8734;''']
+[def __integral '''&#8747;''']
+[def __aacute '''&#225;''']
+[def __eacute '''&#233;''']
+[def __quarter '''&#x00BC;''']
+[def __nearequal '''&#x224A;''']
+[def __spaces '''&#x2000;&#x2000;'''] [/ two spaces - useful for an indent.]
+
+[def __caution This is now an official Boost library, but remains a library under
+ development, the code is fully functional and robust, but
+ interfaces, library structure, and function and distribution names
+ may still be changed without notice.]
+
[template tr1[] [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Technical Report on C++ Library Extensions]]
+[template C99[] [@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99 Standard ISO/IEC 9899:1999]]
+[template jm_rationals[] [link math_toolkit.sf_implementation.rational_approximations_used devised by JM]]
+
+[def __domain_error [link math_toolkit.error_handling.domain_error domain_error]]
+[def __pole_error [link math_toolkit.error_handling.pole_error pole_error]]
+[def __overflow_error [link math_toolkit.error_handling.overflow_error overflow_error]]
+[def __underflow_error [link math_toolkit.error_handling.underflow_error underflow_error]]
+[def __denorm_error [link math_toolkit.error_handling.denorm_error denorm_error]]
+[def __evaluation_error [link math_toolkit.error_handling.evaluation_error evaluation_error]]
+[def __rounding_error [link math_toolkit.error_handling.rounding_error rounding_error]]
+[def __indeterminate_result_error [link math_toolkit.error_handling.indeterminate_result_error indeterminate_result_error]]
+[def __checked_narrowing_cast [link math_toolkit.error_handling.checked_narrowing_cast checked_narrowing_cast]]
+
+[def __arg_pomotion_rules [link math_toolkit.result_type ['result type calculation rules]]]
+[def __sf_result [link math_toolkit.result_type ['calculated-result-type]]]
+
+[/ The following macros expand to links to the various special functions
+and use the function's name as the link text.]
+
+[/Misc]
+[def __lanczos [link math_toolkit.lanczos Lanczos approximation]]
+[def __zero_error [link math_toolkit.relative_error.zero_error effectively zero error]]
+[def __relative_error [link math_toolkit.relative_error relative zero error]]
+[def __root_finding_with_derivatives [link math_toolkit.internals1.roots root-finding with derivatives]]
+[def __root_finding_without_derivatives [link math_toolkit.internals1.roots2 root-finding without derivatives]]
+
+[/gammas]
+[def __lgamma [link math_toolkit.sf_gamma.lgamma lgamma]]
+[def __digamma [link math_toolkit.sf_gamma.digamma digamma]]
+[def __tgamma_ratio [link math_toolkit.sf_gamma.gamma_ratios tgamma_ratio]]
+[def __tgamma_delta_ratio [link math_toolkit.sf_gamma.gamma_ratios tgamma_delta_ratio]]
+[def __tgamma [link math_toolkit.sf_gamma.tgamma tgamma]]
+[def __tgamma1pm1 [link math_toolkit.sf_gamma.tgamma tgamma1pm1]]
+[def __tgamma_lower [link math_toolkit.sf_gamma.igamma tgamma_lower]]
+[def __gamma_p [link math_toolkit.sf_gamma.igamma gamma_p]]
+[def __gamma_q [link math_toolkit.sf_gamma.igamma gamma_q]]
+[def __gamma_q_inv [link math_toolkit.sf_gamma.igamma_inv gamma_q_inv]]
+[def __gamma_p_inv [link math_toolkit.sf_gamma.igamma_inv gamma_p_inv]]
+[def __gamma_q_inva [link math_toolkit.sf_gamma.igamma_inv gamma_q_inva]]
+[def __gamma_p_inva [link math_toolkit.sf_gamma.igamma_inv gamma_p_inva]]
+[def __gamma_p_derivative [link math_toolkit.sf_gamma.gamma_derivatives gamma_p_derivative]]
+
+[/factorials]
+[def __factorial [link math_toolkit.factorials.sf_factorial factorial]]
+[def __unchecked_factorial [link math_toolkit.factorials.sf_factorial unchecked_factorial]]
+[def __max_factorial [link math_toolkit.factorials.sf_factorial max_factorial]]
+[def __double_factorial [link math_toolkit.factorials.sf_double_factorial double_factorial]]
+[def __rising_factorial [link math_toolkit.factorials.sf_rising_factorial rising_factorial]]
+[def __falling_factorial [link math_toolkit.factorials.sf_falling_factorial falling_factorial]]
+
+[/error functions]
+[def __erf [link math_toolkit.sf_erf.error_function erf]]
+[def __erfc [link math_toolkit.sf_erf.error_function erfc]]
+[def __erf_inv [link math_toolkit.sf_erf.error_inv erf_inv]]
+[def __erfc_inv [link math_toolkit.sf_erf.error_inv erfc_inv]]
+
+[/beta functions]
+[def __beta [link math_toolkit.sf_beta.beta_function beta]]
+[def __beta3 [link math_toolkit.sf_beta.ibeta_function beta]]
+[def __betac [link math_toolkit.sf_beta.ibeta_function betac]]
+[def __ibeta [link math_toolkit.sf_beta.ibeta_function ibeta]]
+[def __ibetac [link math_toolkit.sf_beta.ibeta_function ibetac]]
+[def __ibeta_inv [link math_toolkit.sf_beta.ibeta_inv_function ibeta_inv]]
+[def __ibetac_inv [link math_toolkit.sf_beta.ibeta_inv_function ibetac_inv]]
+[def __ibeta_inva [link math_toolkit.sf_beta.ibeta_inv_function ibeta_inva]]
+[def __ibetac_inva [link math_toolkit.sf_beta.ibeta_inv_function ibetac_inva]]
+[def __ibeta_invb [link math_toolkit.sf_beta.ibeta_inv_function ibeta_invb]]
+[def __ibetac_invb [link math_toolkit.sf_beta.ibeta_inv_function ibetac_invb]]
+[def __ibeta_derivative [link math_toolkit.sf_beta.beta_derivative ibeta_derivative]]
+
+[/elliptic integrals]
+[def __ellint_rj [link math_toolkit.ellint.ellint_carlson ellint_rj]]
+[def __ellint_rf [link math_toolkit.ellint.ellint_carlson ellint_rf]]
+[def __ellint_rc [link math_toolkit.ellint.ellint_carlson ellint_rc]]
+[def __ellint_rd [link math_toolkit.ellint.ellint_carlson ellint_rd]]
+[def __ellint_1 [link math_toolkit.ellint.ellint_1 ellint_1]]
+[def __ellint_2 [link math_toolkit.ellint.ellint_2 ellint_2]]
+[def __ellint_3 [link math_toolkit.ellint.ellint_3 ellint_3]]
+
+[/ Bernoulli functions and numbers]
+[def __bernoulli_numbers [link math_toolkit.number_series.bernoulli_numbers Bernoulli numbers]]
+
+[/Bessel functions]
+[def __cyl_bessel_j [link math_toolkit.bessel.bessel_first cyl_bessel_j]]
+[def __cyl_neumann [link math_toolkit.bessel.bessel_first cyl_neumann]]
+[def __cyl_bessel_i [link math_toolkit.bessel.mbessel cyl_bessel_i]]
+[def __cyl_bessel_k [link math_toolkit.bessel.mbessel cyl_bessel_k]]
+[def __sph_bessel [link math_toolkit.bessel.sph_bessel sph_bessel]]
+[def __sph_neumann [link math_toolkit.bessel.sph_bessel sph_neumann]]
+
+[def __cyl_bessel_j_prime [link math_toolkit.bessel.bessel_derivatives cyl_bessel_j_prime]]
+[def __cyl_neumann_prime [link math_toolkit.bessel.bessel_derivatives cyl_neumann_prime]]
+[def __cyl_bessel_i_prime [link math_toolkit.bessel.bessel_derivatives cyl_bessel_i_prime]]
+[def __cyl_bessel_k_prime [link math_toolkit.bessel.bessel_derivatives cyl_bessel_k_prime]]
+[def __sph_bessel_prime [link math_toolkit.bessel.bessel_derivatives sph_bessel_prime]]
+[def __sph_neumann_prime [link math_toolkit.bessel.bessel_derivatives sph_neumann_prime]]
+
+[/Hankel Functions]
+[def __cyl_hankel_1 [link math_toolkit.hankel.cyl_hankel cyl_hankel_1]]
+[def __cyl_hankel_2 [link math_toolkit.hankel.cyl_hankel cyl_hankel_2]]
+[def __sph_hankel_1 [link math_toolkit.hankel.sph_hankel sph_hankel_1]]
+[def __sph_hankel_2 [link math_toolkit.hankel.sph_hankel sph_hankel_2]]
+
+[/Airy Functions]
+[def __airy_ai [link math_toolkit.airy.ai airy_ai]]
+[def __airy_bi [link math_toolkit.airy.bi airy_bi]]
+[def __airy_bi_prime [link math_toolkit.airy.bip airy_bi_prime]]
+[def __airy_ai_prime [link math_toolkit.airy.aip airy_ai_prime]]
+
+[/Jacobi Elliptic Functions]
+[def __jacobi_elliptic [link math_toolkit.jacobi.jacobi_elliptic jacobi_elliptic]]
+[def __jacobi_cd [link math_toolkit.jacobi.jacobi_cd jacobi_cd]]
+[def __jacobi_cn [link math_toolkit.jacobi.jacobi_cn jacobi_cn]]
+[def __jacobi_cs [link math_toolkit.jacobi.jacobi_cs jacobi_cs]]
+[def __jacobi_dc [link math_toolkit.jacobi.jacobi_dc jacobi_dc]]
+[def __jacobi_dn [link math_toolkit.jacobi.jacobi_dn jacobi_dn]]
+[def __jacobi_ds [link math_toolkit.jacobi.jacobi_ds jacobi_ds]]
+[def __jacobi_nd [link math_toolkit.jacobi.jacobi_nd jacobi_nd]]
+[def __jacobi_nc [link math_toolkit.jacobi.jacobi_nc jacobi_nc]]
+[def __jacobi_ns [link math_toolkit.jacobi.jacobi_ns jacobi_ns]]
+[def __jacobi_sd [link math_toolkit.jacobi.jacobi_sd jacobi_sd]]
+[def __jacobi_sn [link math_toolkit.jacobi.jacobi_sn jacobi_sn]]
+[def __jacobi_sc [link math_toolkit.jacobi.jacobi_sc jacobi_sc]]
+
+[/sinus cardinals]
+[def __sinc_pi [link math_toolkit.sinc.sinc_pi sinc_pi]]
+[def __sinhc_pi [link math_toolkit.sinc.sinhc_pi sinhc_pi]]
+
+[/Inverse hyperbolics]
+[def __acosh [link math_toolkit.inv_hyper.acosh acosh]]
+[def __asinh [link math_toolkit.inv_hyper.asinh asinh]]
+[def __atanh [link math_toolkit.inv_hyper.atanh atanh]]
+
+[/classify]
+[def __fpclassify [link math_toolkit.fpclass fpclassify]]
+[def __isfinite [link math_toolkit.fpclass isfinite]]
+[def __isnan [link math_toolkit.fpclass isnan]]
+[def __isinf [link math_toolkit.fpclass isinf]]
+[def __isnormal [link math_toolkit.fpclass isnormal]]
+[def __fp_facets [link math_toolkit.fp_facets nonfinite fp_facets]]
+
+[/powers etc]
+[def __expm1 [link math_toolkit.powers.expm1 expm1]]
+[def __log1p [link math_toolkit.powers.log1p log1p]]
+[def __cbrt [link math_toolkit.powers.cbrt cbrt]]
+[def __sqrt1pm1 [link math_toolkit.powers.sqrt1pm1 sqrt1pm1]]
+[def __powm1 [link math_toolkit.powers.powm1 powm1]]
+[def __hypot [link math_toolkit.powers.hypot hypot]]
+[def __pow [link math_toolkit.powers.ct_pow pow]]
+
+[/zeta]
+[def __zeta [link math_toolkit.zetas.zeta zeta]]
+
+[/expint]
+[def __expint_i [link math_toolkit.expint.expint_i zeta]]
+[def __expint_n [link math_toolkit.expint.expint_n zeta]]
+
+[/rounding]
+[def __round [link math_toolkit.rounding.round round]]
+[def __lround [link math_toolkit.rounding.round round]]
+[def __llround [link math_toolkit.rounding.round round]]
+[def __trunc [link math_toolkit.rounding.trunc trunc]]
+[def __modf [link math_toolkit.rounding.modf modf]]
+
+[/polynomials]
+[def __laguerre [link math_toolkit.sf_poly.laguerre laguerre]]
+[def __legendre [link math_toolkit.sf_poly.legendre legendre_p]]
+[def __hermite [link math_toolkit.sf_poly.hermite hermite]]
+
+[/Misc]
+[def __expint [link math_toolkit.expint.expint_i expint]]
+[def __spherical_harmonic [link math_toolkit.sf_poly.sph_harm spherical_harmonic]]
+[def __owens_t [link math_toolkit.owens_t Owens T]]
+
+
+[/tools]
+[def __tuple [link math_toolkit.internals1.tuples boost::math::tuple]]
+
+[/ distribution non-members]
+[def __cdf [link math_toolkit.dist_ref.nmp.cdf Cumulative Distribution Function]]
+[def __pdf [link math_toolkit.dist_ref.nmp.pdf Probability Density Function]]
+[def __ccdf [link math_toolkit.dist_ref.nmp.ccdf Complement of the Cumulative Distribution Function]]
+[def __quantile [link math_toolkit.dist_ref.nmp.quantile Quantile]]
+[def __quantile_c [link math_toolkit.dist_ref.nmp.quantile_c Quantile from the complement of the probability]]
+[def __mean [link math_toolkit.dist_ref.nmp.mean mean]]
+[def __median [link math_toolkit.dist_ref.nmp.median median]]
+[def __mode [link math_toolkit.dist_ref.nmp.mode mode]]
+[def __skewness [link math_toolkit.dist_ref.nmp.skewness skewness]]
+[def __kurtosis [link math_toolkit.dist_ref.nmp.kurtosis kurtosis]]
+[def __kurtosis_excess [link math_toolkit.dist_ref.nmp.kurtosis_excess kurtosis_excess]]
+[def __variance [link math_toolkit.dist_ref.nmp.variance variance]]
+[def __sd [link math_toolkit.dist_ref.nmp.sd standard deviation]]
+[def __hazard [link math_toolkit.dist_ref.nmp.hazard Hazard Function]]
+[def __chf [link math_toolkit.dist_ref.nmp.chf Cumulative Hazard Function]]
+[def __range [link math_toolkit.dist_ref.nmp.range range]]
+[def __support [link math_toolkit.dist_ref.nmp.support support]]
+[def __algorithms [link math_toolkit.dist_ref.dist_algorithms algorithms]]
+
+
+[/ distribution def names end in distrib to avoid clashes]
+[def __beta_distrib [link math_toolkit.dist_ref.dists.beta_dist Beta Distribution]]
+[def __binomial_distrib [link math_toolkit.dist_ref.dists.binomial_dist Binomial Distribution]]
+[def __cauchy_distrib [link math_toolkit.dist_ref.dists.cauchy_dist Cauchy Distribution]]
+[def __chi_squared_distrib [link math_toolkit.dist_ref.dists.chi_squared_dist Chi Squared Distribution]]
+[def __extreme_distrib [link math_toolkit.dist_ref.dists.extreme_dist Extreme Distributions]]
+[def __exp_distrib [link math_toolkit.dist_ref.dists.exp_dist Exponential Distribution]]
+[def __F_distrib [link math_toolkit.dist_ref.dists.f_dist Fisher F Distribution]]
+[def __gamma_distrib [link math_toolkit.dist_ref.dists.gamma_dist Gamma Distribution]]
+[def __geometric_distrib [link math_toolkit.dist_ref.dists.geometric_dist Geometric Distribution]]
+[def __hyperexponential_distrib [link math_toolkit.dist_ref.dists.hyperexponential_dist Hyperexponential Distribution]]
+[def __hypergeometric_distrib [link math_toolkit.dist_ref.dists.hypergeometric_dist hypergeometric Distribution]]
+[def __inverse_gamma_distrib [link math_toolkit.dist_ref.dists.inverse_gamma_dist Inverse Gamma Distribution]]
+[def __inverse_gaussian_distrib [link math_toolkit.dist_ref.dists.inverse_gaussian_dist Inverse Gaussian Distribution]]
+[def __inverse_chi_squared_distrib [link math_toolkit.dist_ref.dists.inverse_chi_squared_dist Inverse chi squared Distribution]]
+[def __laplace_distrib [link math_toolkit.dist_ref.dists.laplace_dist Laplace Distribution]]
+[def __logistic_distrib [link math_toolkit.dist_ref.dists.logistic_dist Logistic Distribution]]
+[def __lognormal_distrib [link math_toolkit.dist_ref.dists.lognormal_dist Log-normal Distribution]]
+[def __negative_binomial_distrib [link math_toolkit.dist_ref.dists.negative_binomial_dist Negative Binomial Distribution]]
+[def __non_central_chi_squared_distrib [link math_toolkit.dist_ref.dists.nc_chi_squared_dist Noncentral Chi Squared Distribution]]
+[def __non_central_beta_distrib [link math_toolkit.dist_ref.dists.nc_beta_dist Noncentral Beta Distribution]]
+[def __non_central_F_distrib [link math_toolkit.dist_ref.dists.nc_f_dist Noncentral F Distribution]]
+[def __non_central_T_distrib [link math_toolkit.dist_ref.dists.nc_t_dist Noncentral T Distribution]]
+[def __non_central_t_distrib [link math_toolkit.dist_ref.dists.nc_t_dist noncentral T distribution]]
+[def __normal_distrib [link math_toolkit.dist_ref.dists.normal_dist Normal Distribution]]
+[def __poisson_distrib [link math_toolkit.dist_ref.dists.poisson_dist Poisson Distribution]]
+[def __pareto_distrib [link math_toolkit.dist_ref.dists.pareto Pareto Distribution]]
+[def __students_t_distrib [link math_toolkit.dist_ref.dists.students_t_dist Students t Distribution]]
+[def __skew_normal_distrib [link math_toolkit.dist_ref.dists.skew_normal_dist Skew Normal Distribution]]
+[def __weibull_distrib [link math_toolkit.dist_ref.dists.weibull_dist Weibull Distribution]]
+
+[/links to policy]
+[def __Policy [link policy Policy]] [/ Used in distribution template specifications]
+[def __policy_section [link policy Policies]] [/ Used in text to refer to.]
+[def __policy_class [link math_toolkit.pol_ref.pol_ref_ref policies::policy<>]]
+[def __math_undefined [link math_toolkit.pol_ref.assert_undefined mathematically undefined function]]
+[def __policy_ref [link math_toolkit.pol_ref policy reference]]
+[def __policy_tutorial [link math_toolkit.pol_tutorial policy tutorial]]
+[def __policy_defaults [link math_toolkit.pol_tutorial.policy_tut_defaults policy defaults]]
+[def __error_policy [link math_toolkit.pol_ref.error_handling_policies error handling policies]]
+[def __changing_policy_defaults [link math_toolkit.pol_ref.policy_defaults changing policies defaults]]
+[def __math_discrete [link math_toolkit.pol_ref.discrete_quant_ref discrete functions]]
+[def __understand_dis_quant [link math_toolkit.pol_tutorial.understand_dis_quant understanding discrete quantiles]]
+[def __user_error_handling [link math_toolkit.pol_tutorial.user_def_err_pol user error handling]]
+[def __promotion_policy [link math_toolkit.pol_ref.internal_promotion internal promotion policy]]
+[def __precision_policy [link math_toolkit.pol_ref.precision_pol precision policy]]
+[def __policy_macros [link math_toolkit.pol_ref.policy_defaults Using Macros to Change the Policy Defaults]]
+
+[def __random_variate [@http://en.wikipedia.org/wiki/Random_variate random variate]]
+[def __random_variable [@http://en.wikipedia.org/wiki/Random_variable random variable]]
+[def __probability_distribution [@http://en.wikipedia.org/wiki/Probability_distribution probability_distribution]]
+
+[def __usual_accessors __cdf, __pdf, __quantile, __hazard,
+ __chf, __mean, __median, __mode, __variance, __sd, __skewness,
+ __kurtosis, __kurtosis_excess, __range and __support]
+
+[def __gsl [@http://www.gnu.org/software/gsl/ GSL-1.9]]
+[def __glibc [@http://www.gnu.org/software/libc/ GNU C Lib]]
+[def __hpc [@http://docs.hp.com/en/B9106-90010/index.html HP-UX C Library]]
+[def __cephes [@http://www.netlib.org/cephes/ Cephes]]
+[def __NTL [@http://www.shoup.net/ntl/ NTL A Library for doing Number Theory]]
+[def __NTL_RR [@http://shoup.net/ntl/doc/RR.txt NTL::RR]]
+[def __NTL_quad_float [@http://shoup.net/ntl/doc/quad_float.txt NTL::quad_float]]
+[def __MPFR [@http://www.mpfr.org/ GNU MPFR library]]
+[def __GMP [@http://gmplib.org/ GNU Multiple Precision Arithmetic Library]]
+[def __multiprecision [@http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/index.html Boost.Multiprecision]]
+[def __cpp_dec_float [@http://www.boost.org/doc/libs/1_53_0_beta1/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html cpp_dec_float]]
+[def __R [@http://www.r-project.org/ The R Project for Statistical Computing]]
+[def __godfrey [link godfrey Godfrey]]
+[def __pugh [link pugh Pugh]]
+[def __NaN [@http://en.wikipedia.org/wiki/NaN NaN]]
+[def __errno [@http://en.wikipedia.org/wiki/Errno `::errno`]]
+[def __Mathworld [@http://mathworld.wolfram.com Wolfram MathWorld]]
+[def __Mathematica [@http://www.wolfram.com/products/mathematica/index.html Wolfram Mathematica]]
+[def __WolframAlpha [@http://www.wolframalpha.com/ Wolfram Alpha]]
+[def __TOMS748 [@http://portal.acm.org/citation.cfm?id=210111 TOMS Algorithm 748: enclosing zeros of continuous functions]]
+[def __TOMS910 [@http://portal.acm.org/citation.cfm?id=1916469 TOMS Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations]]
+[def __why_complements [link why_complements why complements?]]
+[def __complements [link math_toolkit.stat_tut.overview.complements complements]]
+[def __performance [link perf performance]]
+[def __building [link math_toolkit.building building libraries]]
+[def __e_float [@http://calgo.acm.org/910.zip e_float (TOMS Algorithm 910)]]
+[def __Abramowitz_Stegun M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, NBS (1964)]
+[def _DMLF [@http://dlmf.nist.gov/ NIST Digital Library of Mathematical Functions]]
+
+[/ Some composite templates]
+[template super[x]'''<superscript>'''[x]'''</superscript>''']
+[template sub[x]'''<subscript>'''[x]'''</subscript>''']
+[template floor[x]'''&#x230A;'''[x]'''&#x230B;''']
+[template floorlr[x][lfloor][x][rfloor]]
+[template ceil[x] '''&#x2308;'''[x]'''&#x2309;''']
+
+[template header_file[file] [@../../../../[file] [file]]]
+
+[template optional_policy[]
+The final __Policy argument is optional and can be used to
+control the behaviour of the function: how it handles errors,
+what level of precision to use etc. Refer to the
+[link policy policy documentation for more details].]
+
+[template discrete_quantile_warning[NAME]
+[caution
+The [NAME] distribution is a discrete distribution: internally,
+functions like the `cdf` and `pdf` are treated "as if" they are continuous
+functions, but in reality the results returned from these functions
+only have meaning if an integer value is provided for the random variate
+argument.
+
+The quantile function will by default return an integer result that has been
+/rounded outwards/. That is to say lower quantiles (where the probability is
+less than 0.5) are rounded downward, and upper quantiles (where the probability
+is greater than 0.5) are rounded upwards. This behaviour
+ensures that if an X% quantile is requested, then /at least/ the requested
+coverage will be present in the central region, and /no more than/
+the requested coverage will be present in the tails.
+
+This behaviour can be changed so that the quantile functions are rounded
+differently, or even return a real-valued result using
+[link math_toolkit.pol_overview Policies]. It is strongly
+recommended that you read the tutorial
+[link math_toolkit.pol_tutorial.understand_dis_quant
+Understanding Quantiles of Discrete Distributions] before
+using the quantile function on the [NAME] distribution. The
+[link math_toolkit.pol_ref.discrete_quant_ref reference docs]
+describe how to change the rounding policy
+for these distributions.
+] [/ caution]
+
+] [/ template discrete_quantile_warning]
+
+[block '''<bookinfo><releaseinfo>'''
+This manual is also available in
+[@http://sourceforge.net/projects/boost/files/boost-docs/
+printer friendly PDF format],
+and as a CD ISBN 0-9504833-2-X 978-0-9504833-2-0, Classification 519.2-dc22.
+'''</releaseinfo></bookinfo>''']
+
+[mathpart overview Overview]
+[include overview/overview.qbk]
+[include overview/structure.qbk] [/getting about, directory and file structure.]
+[include overview/result_type_calc.qbk]
+[include overview/error_handling.qbk]
+
+[section:compilers_overview Compilers]
+[compilers_overview]
+[endsect]
+[include overview/config_macros.qbk]
+[section:intro_pol_overview Policies]
+[policy_overview]
+[endsect]
+
+[include overview/thread_safety.qbk]
+
+[section:perf_over1 Performance]
+[performance_overview]
+[endsect]
+[include overview/building.qbk]
+[section:history1 History and What's New]
+[history]
+[endsect]
+[section:overview_tr1 C99 and C++ TR1 C-style Functions]
+[tr1_overview]
+[endsect]
+[include overview/faq.qbk]
+[include overview/contact_info.qbk]
+
+[endmathpart] [/section:main_overview Overview]
+
+[mathpart utils Floating Point Utilities]
+[include fp_utilities/rounding_func.qbk]
+[include fp_utilities/fpclassify.qbk]
+[include fp_utilities/sign.qbk]
+[include fp_utilities/fp_facets.qbk]
+[include fp_utilities/float_next.qbk]
+[endmathpart]
+
+[mathpart cstdfloat..Specified-width floating-point typedefs]
+[include cstdfloat/cstdfloat.qbk]
+[endmathpart] [/mathpart cstdfloat..Fixed-width floating-point types]
+
+[include constants/constants.qbk]
+
+[mathpart dist Statistical Distributions and Functions]
+[include distributions/dist_tutorial.qbk]
+[include distributions/dist_reference.qbk] [/includes all individual distribution.qbk files]
+[endmathpart] [/section:dist Statistical Distributions and Functions]
+
+[mathpart special Special Functions]
+
+[include sf/number_series.qbk]
+
+[section:sf_gamma Gamma Functions]
+[include sf/tgamma.qbk]
+[include sf/lgamma.qbk]
+[include sf/digamma.qbk]
+[include sf/gamma_ratios.qbk]
+[include sf/igamma.qbk]
+[include sf/igamma_inv.qbk]
+[include sf/gamma_derivatives.qbk]
+[endsect] [/section:sf_gamma Gamma Functions]
+
+[include sf/factorials.qbk]
+
+[section:sf_beta Beta Functions]
+[include sf/beta.qbk]
+[include sf/ibeta.qbk]
+[include sf/ibeta_inv.qbk]
+[include sf/beta_derivative.qbk]
+[endsect] [/section:sf_beta Beta Functions]
+
+[section:sf_erf Error Functions]
+[include sf/erf.qbk]
+[include sf/erf_inv.qbk]
+[endsect] [/section:sf_erf Error Functions]
+
+[section:sf_poly Polynomials]
+[include sf/legendre.qbk]
+[include sf/laguerre.qbk]
+[include sf/hermite.qbk]
+[include sf/spherical_harmonic.qbk]
+[endsect] [/section:sf_poly Polynomials]
+
+[section:bessel Bessel Functions]
+[include sf/bessel_introduction.qbk]
+[include sf/bessel_jy.qbk]
+[include sf/bessel_ik.qbk]
+[include sf/bessel_spherical.qbk]
+[include sf/bessel_prime.qbk]
+[endsect] [/section:bessel Bessel Functions]
+
+[/Hankel functions]
+[include sf/hankel.qbk]
+
+[/Airy Functions]
+[include sf/airy.qbk]
+
+[section:ellint Elliptic Integrals]
+[include sf/ellint_introduction.qbk]
+[include sf/ellint_carlson.qbk]
+[include sf/ellint_legendre.qbk]
+[endsect] [/section:ellint Elliptic Integrals]
+
+[include sf/jacobi_elliptic.qbk]
+
+[section:zetas Zeta Functions]
+[include sf/zeta.qbk]
+[endsect]
+
+[include sf/expint.qbk]
+
+[include sf/powers.qbk]
+[include sf/sinc.qbk]
+[include sf/inv_hyper.qbk]
+
+[include sf/owens_t.qbk]
+
+[endmathpart] [/section:special Special Functions]
+
+[mathpart extern_c TR1 and C99 external "C" Functions]
+[section:main_tr1 C99 and TR1 C Functions Overview]
+[tr1_overview]
+[endsect]
+[include tr1/c99_ref.qbk]
+[include tr1/tr1_ref.qbk]
+[endmathpart]
+
+
+[include complex/complex-tr1.qbk]
+[include quaternion/math-quaternion.qbk]
+[include octonion/math-octonion.qbk]
+[include gcd/math-gcd.qbk]
+
+[mathpart toolkit Internals (Series, Rationals and Continued Fractions, Root Finding, Function Minimization, Testing and Development Tools)]
+
+[include internals/internals_overview.qbk]
+
+[section:internals1 Utilities & internals]
+[include internals/series.qbk]
+[include internals/fraction.qbk]
+[include internals/rational.qbk]
+[include internals/roots.qbk]
+[include internals/roots_without_derivatives.qbk]
+[include internals/minima.qbk]
+[include internals/tuple.qbk]
+[endsect] [/section:internals1 Utilities & internals]
+
+[section:internals2 Testing and Development]
+[include internals/polynomial.qbk]
+[include internals/minimax.qbk]
+[include internals/relative_error.qbk] [/ uncertainty of floating-point calculations.]
+[include internals/test_data.qbk]
+[endsect] [/section:internals2 Testing and Development]
+
+[endmathpart] [/section:toolkit Toolkit]
+
+[mathpart using_udt Use with User-Defined Floating-Point Types - Boost.Multiprecision and others]
+[include concepts/concepts.qbk]
+[endmathpart] [/section:using_udt Use with User Defined Floating-Point Types]
+
+[include policies/policy.qbk]
+
+[include performance/performance.qbk]
+
+[mathpart backgrounders Backgrounders]
+[include background/implementation.qbk]
+[include background/special_tut.qbk]
+[include background/error.qbk] [/relative error NOT handling]
+[include background/lanczos.qbk]
+[include background/remez.qbk]
+[include background/references.qbk]
+[endmathpart] [/section:backgrounders Backgrounders]
+
+[mathpart status Library Status]
+[section:history2 History and What's New]
+[history]
+[endsect]
+[include overview/issues.qbk]
+[include overview/credits.qbk]
+[/include test_HTML4_symbols.qbk]
+[/include test_Latin1_symbols.qbk]
+
+[endmathpart] [/section:status Status and Roadmap]
+
+[mathpart indexes Indexes]
+
+[named_index function_name Function Index]
+[named_index class_name Class Index]
+[named_index typedef_name Typedef Index]
+[named_index macro_name Macro Index]
+[index]
+
+[endmathpart]
-The following libraries are present in Boost.Math:
-
-[table
-[[Library][Description]]
-
- [[Complex Number Inverse Trigonometric Functions
-
- [@../complex/html/index.html HTML Docs]
-
- [@http://sourceforge.net/projects/boost/files/boost-docs/
- PDF Docs]]
- [
-These complex number algorithms are the inverses of trigonometric functions currently
-present in the C++ standard. Equivalents to these functions are part of the C99 standard, and
-are part of the [tr1].
- ]]
-
- [[Greatest Common Divisor and Least Common Multiple
-
- [@../gcd/html/index.html HTML Docs]
-
- [@http://sourceforge.net/projects/boost/files/boost-docs/
- PDF Docs]]
- [
-The class and function templates in <boost/math/common_factor.hpp>
-provide run-time and compile-time evaluation of the greatest common divisor
-(GCD) or least common multiple (LCM) of two integers.
-These facilities are useful for many numeric-oriented generic
-programming problems.
- ]]
-
-[[Octonions
-
-[@../octonion/html/index.html HTML Docs]
-
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-PDF Docs]]
- [
-Octonions, like [@../quaternion/html/index.html quaternions], are a relative of complex numbers.
-
-Octonions see some use in theoretical physics.
-
-In practical terms, an octonion is simply an octuple of real numbers __octulple,
-which we can write in the form __oct_formula, where ['[^i]], ['[^j]] and ['[^k]]
-are the same objects as for quaternions, and ['[^e']], ['[^i']], ['[^j']] and ['[^k']]
-are distinct objects which play essentially the same kind of role as ['[^i]] (or ['[^j]] or ['[^k]]).
-
-Addition and a multiplication is defined on the set of octonions,
-which generalize their quaternionic counterparts. The main novelty this time
-is that [*the multiplication is not only not commutative, is now not even
-associative] (i.e. there are quaternions ['[^x]], ['[^y]] and ['[^z]] such that __oct_not_equal).
-A way of remembering things is by using the following multiplication table:
-
-[$../../octonion/graphics/octonion_blurb17.jpeg]
-
-Octonions (and their kin) are described in far more details in this other
-[@../../quaternion/TQE.pdf document]
-(with [@../../quaternion/TQE_EA.pdf errata and addenda]).
-
-Some traditional constructs, such as the exponential, carry over without too
-much change into the realms of octonions, but other, such as taking a square root,
-do not (the fact that the exponential has a closed form is a result of the
-author, but the fact that the exponential exists at all for octonions is known
-since quite a long time ago).
- ]]
-
-[[Special Functions
-
-[@../sf_and_dist/html/index.html HTML Docs]
-
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-PDF Docs]]
-
- [ Provides a number of high quality special functions, initially
- these were concentrated on functions used in statistical applications
- along with those in the Technical Report on C++ Library Extensions.
-
- The function families currently implemented are the gamma, beta & erf
- functions along with the incomplete gamma and beta functions
- (four variants of each) and all the possible inverses of these,
- plus digamma, various factorial functions, Bessel functions,
- elliptic integrals, sinus cardinals (along with their
- hyperbolic variants), inverse hyperbolic functions,
- Legrendre/Laguerre/Hermite polynomials and various special power
- and logarithmic functions.
-
- All the implementations are fully generic and support the use of
- arbitrary "real-number" types, although they are optimised for
- use with types with known-about significand (or mantissa)
- sizes: typically float, double or long double. ]]
-
-[[Statistical Distributions
-
-[@../sf_and_dist/html/index.html HTML Docs]
-
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-PDF Docs]]
-
- [Provides a reasonably comprehensive set of statistical distributions,
- upon which higher level statistical tests can be built.
-
- The initial focus is on the central univariate distributions.
- Both continuous (like normal & Fisher) and discrete (like binomial
- & Poisson) distributions are provided.
-
- A comprehensive tutorial is provided, along with a series of worked
- examples illustrating how the library is used to conduct statistical tests. ]]
-
-[[Quaternions
-
-[@../quaternion/html/index.html HTML Docs]
-
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-PDF Docs]]
-
- [
-Quaternions are a relative of complex numbers.
-
-Quaternions are in fact part of a small hierarchy of structures built
-upon the real numbers, which comprise only the set of real numbers
-(traditionally named __R), the set of complex numbers (traditionally named __C),
-the set of quaternions (traditionally named __H) and the set of octonions
-(traditionally named __O), which possess interesting mathematical properties
-(chief among which is the fact that they are ['division algebras],
-['i.e.] where the following property is true: if ['[^y]] is an element of that
-algebra and is [*not equal to zero], then ['[^yx = yx']], where ['[^x]] and ['[^x']]
-denote elements of that algebra, implies that ['[^x = x']]).
-Each member of the hierarchy is a super-set of the former.
-
-One of the most important aspects of quaternions is that they provide an
-efficient way to parameterize rotations in __R3 (the usual three-dimensional space)
-and __R4.
-
-In practical terms, a quaternion is simply a quadruple of real numbers __quadrulple,
-which we can write in the form __quat_formula, where ['[^i]] is the same object as for complex numbers,
-and ['[^j]] and ['[^k]] are distinct objects which play essentially the same kind of role as ['[^i]].
-
-An addition and a multiplication is defined on the set of quaternions,
-which generalize their real and complex counterparts. The main novelty
-here is that [*the multiplication is not commutative] (i.e. there are
-quaternions ['[^x]] and ['[^y]] such that __not_equal). A good mnemotechnical way of remembering
-things is by using the formula ['[^i*i = j*j = k*k = -1]].
-
-Quaternions (and their kin) are described in far more details in this
-other [@../../quaternion/TQE.pdf document]
-(with [@../../quaternion/TQE_EA.pdf errata and addenda]).
-
-Some traditional constructs, such as the exponential, carry over without
-too much change into the realms of quaternions, but other, such as taking
-a square root, do not.
- ]]
-
+[/ math.qbk
+ Copyright 2008, 2010, 2012, 2013, 2014 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
]
-The following Boost libraries are also mathematically oriented:
-
-[table
-[[Library][Description]]
-
- [[[@../../../integer/index.html Integer]]
- [Headers to ease dealing with integral types.]]
-
- [[[@../../../numeric/interval/doc/interval.htm Interval]]
- [As implied by its name, this library is intended to help manipulating
- mathematical intervals. It consists of a single header
- <boost/numeric/interval.hpp> and principally a type which can be
- used as interval<T>. ]]
-
- [[[@../../../multi_array/doc/index.html Multi Array]]
- [Boost.MultiArray provides a generic N-dimensional array concept
- definition and common implementations of that interface.]]
-
- [[[@../../../numeric/conversion/index.html Numeric.Conversion]]
- [The Boost Numeric Conversion library is a collection of tools to
- describe and perform conversions between values of different numeric types.]]
-
- [[[@../../../utility/operators.htm Operators]]
- [The header <boost/operators.hpp> supplies several sets of class
- templates (in namespace boost). These templates define operators at
- namespace scope in terms of a minimal number of fundamental
- operators provided by the class.]]
-
- [[[@../../../random/index.html Random]]
- [Random numbers are useful in a variety of applications. The Boost
- Random Number Library (Boost.Random for short) provides a vast variety
- of generators and distributions to produce random numbers having useful
- properties, such as uniform distribution.]]
-
- [[[@../../../rational/index.html Rational]]
- [The header rational.hpp provides an implementation of rational numbers.
- The implementation is template-based, in a similar manner to the
- standard complex number class.]]
-
- [[[@../../../numeric/ublas/doc/index.htm uBLAS]]
- [uBLAS is a C++ template class library that provides BLAS level 1, 2, 3
- functionality for dense, packed and sparse matrices. The design and
- implementation unify mathematical notation via operator overloading and
- efficient code generation via expression templates.]]
-]
+
diff --git a/libs/math/doc/octonion/Jamfile.v2 b/libs/math/doc/octonion/Jamfile.v2
deleted file mode 100644
index 227b43ca03..0000000000
--- a/libs/math/doc/octonion/Jamfile.v2
+++ /dev/null
@@ -1,66 +0,0 @@
-
-# Copyright John Maddock 2005. Use, modification, and distribution are
-# subject to the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-using quickbook ;
-
-path-constant images_location : html ;
-
-xml octonion : math-octonion.qbk ;
-boostbook standalone
- :
- octonion
- :
- # Path for links to Boost:
- <xsl:param>boost.root=../../../../..
-
- # Some general style settings:
- <xsl:param>table.footnote.number.format=1
- <xsl:param>footnote.number.format=1
-
- # HTML options first:
- # Use graphics not text for navigation:
- <xsl:param>navig.graphics=1
- # How far down we chunk nested sections, basically all of them:
- <xsl:param>chunk.section.depth=10
- # Don't put the first section on the same page as the TOC:
- <xsl:param>chunk.first.sections=1
- # How far down sections get TOC's
- <xsl:param>toc.section.depth=10
- # Max depth in each TOC:
- <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:
- # <xsl:param>fop1.extensions=1
- <format>pdf:<xsl:param>xep.extensions=1
- # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
- <format>pdf:<xsl:param>fop.extensions=0
- <format>pdf:<xsl:param>fop1.extensions=0
- # No indent on body text:
- <format>pdf:<xsl:param>body.start.indent=0pt
- # Margin size:
- <format>pdf:<xsl:param>page.margin.inner=0.5in
- # Margin size:
- <format>pdf:<xsl:param>page.margin.outer=0.5in
- # Paper type = A4
- <format>pdf:<xsl:param>paper.type=A4
- # Yes, we want graphics for admonishments:
- <xsl:param>admon.graphics=1
- # Set this one for PDF generation *only*:
- # default pnd graphics are awful in PDF form,
- # better use SVG's instead:
- <format>pdf:<xsl:param>admon.graphics.extension=".svg"
- <format>pdf:<xsl:param>use.role.for.mediaobject=1
- <format>pdf:<xsl:param>preferred.mediaobject.role=print
- <format>pdf:<xsl:param>img.src.path=$(images_location)/
- <format>pdf:<xsl:param>draft.mode="no"
- <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/math/doc/octonion/html
- ;
-
-
-
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions.html b/libs/math/doc/octonion/html/boost_octonions/octonions.html
deleted file mode 100644
index d7e395ed7b..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonions</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../index.html" title="Boost.Octonions">
-<link rel="up" href="../index.html" title="Boost.Octonions">
-<link rel="prev" href="../index.html" title="Boost.Octonions">
-<link rel="next" href="octonions/overview.html" title="Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonions/overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_octonions.octonions"></a><a class="link" href="octonions.html" title="Octonions">Octonions</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="octonions/overview.html">Overview</a></span></dt>
-<dt><span class="section"><a href="octonions/header_file.html">Header File</a></span></dt>
-<dt><span class="section"><a href="octonions/synopsis.html">Synopsis</a></span></dt>
-<dt><span class="section"><a href="octonions/template_class_octonion.html">Template
- Class octonion</a></span></dt>
-<dt><span class="section"><a href="octonions/octonion_specializations.html">Octonion
- Specializations</a></span></dt>
-<dt><span class="section"><a href="octonions/octonion_member_typedefs.html">Octonion
- Member Typedefs</a></span></dt>
-<dt><span class="section"><a href="octonions/octonion_member_functions.html">Octonion
- Member Functions</a></span></dt>
-<dt><span class="section"><a href="octonions/non_mem.html">Octonion Non-Member
- Operators</a></span></dt>
-<dt><span class="section"><a href="octonions/octonion_value_operations.html">Octonion
- Value Operations</a></span></dt>
-<dt><span class="section"><a href="octonions/oct_create.html">Octonion Creation
- Functions</a></span></dt>
-<dt><span class="section"><a href="octonions/octonions_transcendentals.html">Octonions
- Transcendentals</a></span></dt>
-<dt><span class="section"><a href="octonions/test_program.html">Test Program</a></span></dt>
-<dt><span class="section"><a href="octonions/acknowledgements.html">Acknowledgements</a></span></dt>
-<dt><span class="section"><a href="octonions/history.html">History</a></span></dt>
-<dt><span class="section"><a href="octonions/to_do.html">To Do</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonions/overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/acknowledgements.html b/libs/math/doc/octonion/html/boost_octonions/octonions/acknowledgements.html
deleted file mode 100644
index 9b7be1e8e2..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/acknowledgements.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Acknowledgements</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="test_program.html" title="Test Program">
-<link rel="next" href="history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="test_program.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
-</h3></div></div></div>
-<p>
- The mathematical text has been typeset with <a href="http://www.nisus-soft.com/" target="_top">Nisus
- Writer</a>. Jens Maurer has helped with portability and standard adherence,
- and was the Review Manager for this library. More acknowledgements in the
- History section. Thank you to all who contributed to the discussion about
- this library.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="test_program.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/header_file.html b/libs/math/doc/octonion/html/boost_octonions/octonions/header_file.html
deleted file mode 100644
index be1c05824e..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/header_file.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Header File</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="overview.html" title="Overview">
-<link rel="next" href="synopsis.html" title="Synopsis">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.header_file"></a><a class="link" href="header_file.html" title="Header File">Header File</a>
-</h3></div></div></div>
-<p>
- The interface and implementation are both supplied by the header file <a href="../../../../../../../boost/math/octonion.hpp" target="_top">octonion.hpp</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/history.html b/libs/math/doc/octonion/html/boost_octonions/octonions/history.html
deleted file mode 100644
index a87280eab7..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/history.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>History</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="acknowledgements.html" title="Acknowledgements">
-<link rel="next" href="to_do.html" title="To Do">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.history"></a><a class="link" href="history.html" title="History">History</a>
-</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc">
-<li>
- 1.5.8 - 17/12/2005: Converted documentation to Quickbook Format.
- </li>
-<li>
- 1.5.7 - 25/02/2003: transitionned to the unit test framework; &lt;boost/config.hpp&gt;
- now included by the library header (rather than the test files), via
- &lt;boost/math/quaternion.hpp&gt;.
- </li>
-<li>
- 1.5.6 - 15/10/2002: Gcc2.95.x and stlport on linux compatibility by Alkis
- Evlogimenos (alkis@routescience.com).
- </li>
-<li>
- 1.5.5 - 27/09/2002: Microsoft VCPP 7 compatibility, by Michael Stevens
- (michael@acfr.usyd.edu.au); requires the /Za compiler option.
- </li>
-<li>
- 1.5.4 - 19/09/2002: fixed problem with multiple inclusion (in different
- translation units); attempt at an improved compatibility with Microsoft
- compilers, by Michael Stevens (michael@acfr.usyd.edu.au) and Fredrik
- Blomqvist; other compatibility fixes.
- </li>
-<li>
- 1.5.3 - 01/02/2002: bugfix and Gcc 2.95.3 compatibility by Douglas Gregor
- (gregod@cs.rpi.edu).
- </li>
-<li>
- 1.5.2 - 07/07/2001: introduced namespace math.
- </li>
-<li>
- 1.5.1 - 07/06/2001: (end of Boost review) now includes &lt;boost/math/special_functions/sinc.hpp&gt;
- and &lt;boost/math/special_functions/sinhc.hpp&gt; instead of &lt;boost/special_functions.hpp&gt;;
- corrected bug in sin (Daryle Walker); removed check for self-assignment
- (Gary Powel); made converting functions explicit (Gary Powel); added
- overflow guards for division operators and abs (Peter Schmitteckert);
- added sup and l1; used Vesa Karvonen's CPP metaprograming technique to
- simplify code.
- </li>
-<li>
- 1.5.0 - 23/03/2001: boostification, inlining of all operators except
- input, output and pow, fixed exception safety of some members (template
- version).
- </li>
-<li>
- 1.4.0 - 09/01/2001: added tan and tanh.
- </li>
-<li>
- 1.3.1 - 08/01/2001: cosmetic fixes.
- </li>
-<li>
- 1.3.0 - 12/07/2000: pow now uses Maarten Hilferink's (mhilferink@tip.nl)
- algorithm.
- </li>
-<li>
- 1.2.0 - 25/05/2000: fixed the division operators and output; changed
- many signatures.
- </li>
-<li>
- 1.1.0 - 23/05/2000: changed sinc into sinc_pi; added sin, cos, sinh,
- cosh.
- </li>
-<li>
- 1.0.0 - 10/08/1999: first public version.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/non_mem.html b/libs/math/doc/octonion/html/boost_octonions/octonions/non_mem.html
deleted file mode 100644
index f97d3f87d0..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/non_mem.html
+++ /dev/null
@@ -1,221 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonion Non-Member Operators</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="octonion_member_functions.html" title="Octonion Member Functions">
-<link rel="next" href="octonion_value_operations.html" title="Octonion Value Operations">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_member_functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_value_operations.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.non_mem"></a><a class="link" href="non_mem.html" title="Octonion Non-Member Operators">Octonion Non-Member
- Operators</a>
-</h3></div></div></div>
-<a name="boost_octonions.octonions.non_mem.unary_plus_and_minus_operators"></a><h5>
-<a name="id1049960"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.unary_plus_and_minus_operators">Unary
- Plus and Minus Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This unary operator simply returns o.
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This unary operator returns the opposite of o.
- </p>
-<a name="boost_octonions.octonions.non_mem.binary_addition_operators"></a><h5>
-<a name="id1050156"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">Binary
- Addition Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">+=</span>
- <span class="identifier">rhs</span></code>.
- </p>
-<a name="boost_octonions.octonions.non_mem.binary_subtraction_operators"></a><h5>
-<a name="id1051612"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">Binary
- Subtraction Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">-=</span>
- <span class="identifier">rhs</span></code>.
- </p>
-<a name="boost_octonions.octonions.non_mem.binary_multiplication_operators"></a><h5>
-<a name="id1052513"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">Binary
- Multiplication Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">*=</span>
- <span class="identifier">rhs</span></code>.
- </p>
-<a name="boost_octonions.octonions.non_mem.binary_division_operators"></a><h5>
-<a name="id1053414"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">Binary
- Division Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">/=</span>
- <span class="identifier">rhs</span></code>. It is of course still an error
- to divide by zero...
- </p>
-<a name="boost_octonions.octonions.non_mem.binary_equality_operators"></a><h5>
-<a name="id1055411"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">Binary
- Equality Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These return true if and only if the four components of <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span></code> are
- equal to their counterparts in <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code>. As
- with any floating-type entity, this is essentially meaningless.
- </p>
-<a name="boost_octonions.octonions.non_mem.binary_inequality_operators"></a><h5>
-<a name="id1056254"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">Binary
- Inequality Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These return true if and only if <code class="computeroutput"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">==</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code> is
- false. As with any floating-type entity, this is essentially meaningless.
- </p>
-<a name="boost_octonions.octonions.non_mem.stream_extractor"></a><h5>
-<a name="id1057098"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.stream_extractor">Stream
- Extractor</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">&gt;&gt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Extracts an octonion <code class="computeroutput"><span class="identifier">o</span></code>. We
- accept any format which seems reasonable. However, since this leads to a
- great many ambiguities, decisions were made to lift these. In case of doubt,
- stick to lists of reals.
- </p>
-<p>
- The input values must be convertible to T. If bad input is encountered, calls
- <code class="computeroutput"><span class="identifier">is</span><span class="special">.</span><span class="identifier">setstate</span><span class="special">(</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">failbit</span><span class="special">)</span></code> (which may throw <code class="computeroutput"><span class="identifier">ios</span><span class="special">::</span><span class="identifier">failure</span></code>
- (27.4.5.3)).
- </p>
-<p>
- Returns <code class="computeroutput"><span class="identifier">is</span></code>.
- </p>
-<a name="boost_octonions.octonions.non_mem.stream_inserter"></a><h5>
-<a name="id1057358"></a>
- <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.stream_inserter">Stream
- Inserter</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Inserts the octonion <code class="computeroutput"><span class="identifier">o</span></code> onto
- the stream <code class="computeroutput"><span class="identifier">os</span></code> as if it were
- implemented as follows:
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostringstream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">;</span>
-
- <span class="identifier">s</span><span class="special">.</span><span class="identifier">flags</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">flags</span><span class="special">());</span>
- <span class="identifier">s</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">getloc</span><span class="special">());</span>
- <span class="identifier">s</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">precision</span><span class="special">());</span>
-
- <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_2</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_3</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_5</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_6</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_7</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_8</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">;</span>
-
- <span class="keyword">return</span> <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">str</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_member_functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_value_operations.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/oct_create.html b/libs/math/doc/octonion/html/boost_octonions/octonions/oct_create.html
deleted file mode 100644
index 5731300bef..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/oct_create.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonion Creation Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="octonion_value_operations.html" title="Octonion Value Operations">
-<link rel="next" href="octonions_transcendentals.html" title="Octonions Transcendentals">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_value_operations.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonions_transcendentals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.oct_create"></a><a class="link" href="oct_create.html" title="Octonion Creation Functions">Octonion Creation
- Functions</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">spherical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi6</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">multipolar</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta4</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cylindrical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h6</span><span class="special">);</span>
-</pre>
-<p>
- These build octonions in a way similar to the way polar builds complex numbers,
- as there is no strict equivalent to polar coordinates for octonions.
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">spherical</span></code> is a simple transposition
- of <code class="computeroutput"><span class="identifier">polar</span></code>, it takes as inputs
- a (positive) magnitude and a point on the hypersphere, given by three angles.
- The first of these, <span class="emphasis"><em>theta</em></span> has a natural range of -pi
- to +pi, and the other two have natural ranges of -pi/2 to +pi/2 (as is the
- case with the usual spherical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>).
- Due to the many symmetries and periodicities, nothing untoward happens if
- the magnitude is negative or the angles are outside their natural ranges.
- The expected degeneracies (a magnitude of zero ignores the angles settings...)
- do happen however.
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">cylindrical</span></code> is likewise a
- simple transposition of the usual cylindrical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>, which in turn is another derivative of
- planar polar coordinates. The first two inputs are the polar coordinates
- of the first <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> component
- of the octonion. The third and fourth inputs are placed into the third and
- fourth <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span> components
- of the octonion, respectively.
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">multipolar</span></code> is yet another
- simple generalization of polar coordinates. This time, both <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> components of the octonion are given
- in polar coordinates.
- </p>
-<p>
- In this version of our implementation of octonions, there is no analogue
- of the complex value operation arg as the situation is somewhat more complicated.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_value_operations.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonions_transcendentals.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_functions.html b/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_functions.html
deleted file mode 100644
index 3be1ab0b07..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_functions.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonion Member Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="octonion_member_typedefs.html" title="Octonion Member Typedefs">
-<link rel="next" href="non_mem.html" title="Octonion Non-Member Operators">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_member_typedefs.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_mem.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.octonion_member_functions"></a><a class="link" href="octonion_member_functions.html" title="Octonion Member Functions">Octonion
- Member Functions</a>
-</h3></div></div></div>
-<a name="boost_octonions.octonions.octonion_member_functions.constructors"></a><h4>
-<a name="id1043217"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">Constructors</a>
- </h4>
-<p>
- Template version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- Float specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- Double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- Long double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">octonion</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- A default constructor is provided for each form, which initializes each component
- to the default values for their type (i.e. zero for floating numbers). This
- constructor can also accept one to eight base type arguments. A constructor
- is also provided to build octonions from one to four complex numbers sharing
- the same base type, and another taking one or two quaternions sharing the
- same base type. The unspecialized template also sports a templarized copy
- constructor, while the specialized forms have copy constructors from the
- other two specializations, which are explicit when a risk of precision loss
- exists. For the unspecialized form, the base type's constructors must not
- throw.
- </p>
-<p>
- Destructors and untemplated copy constructors (from the same type) are provided
- by the compiler. Converting copy constructors make use of a templated helper
- function in a "detail" subnamespace.
- </p>
-<a name="boost_octonions.octonions.octonion_member_functions.other_member_functions"></a><h4>
-<a name="id1046452"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_functions">Other
- member functions</a>
- </h4>
-<a name="boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts"></a><h5>
-<a name="id1046466"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">Real
- and Unreal Parts</a>
- </h5>
-<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">real</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Like complex number, octonions do have a meaningful notion of "real
- part", but unlike them there is no meaningful notion of "imaginary
- part". Instead there is an "unreal part" which itself is a
- octonion, and usually nothing simpler (as opposed to the complex number case).
- These are returned by the first two functions.
- </p>
-<a name="boost_octonions.octonions.octonion_member_functions.individual_real_components"></a><h5>
-<a name="id1046540"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">Individual
- Real Components</a>
- </h5>
-<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">R_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_3</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_5</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_6</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_7</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_8</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- A octonion having eight real components, these are returned by these eight
- functions. Hence real and R_component_1 return the same value.
- </p>
-<a name="boost_octonions.octonions.octonion_member_functions.individual_complex_components"></a><h5>
-<a name="id1046733"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">Individual
- Complex Components</a>
- </h5>
-<pre class="programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_3</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- A octonion likewise has four complex components. Actually, octonions are
- indeed a (left) vector field over the complexes, but beware, as for any octonion
- <span class="emphasis"><em><code class="literal">o = &#945; + &#946;i + &#947;j + &#948;k + &#949;e' + &#950;i' + &#951;j' + &#952;k'</code></em></span> we also have <span class="emphasis"><em><code class="literal">o
- = (&#945; + &#946;i) + (&#947; + &#948;i)j + (&#949; + &#950;i)e' + (&#951; - &#952;i)j'</code></em></span> (note the <span class="bold"><strong>minus</strong></span>
- sign in the last factor). What the C_component_n functions return, however,
- are the complexes which could be used to build the octonion using the constructor,
- and <span class="bold"><strong>not</strong></span> the components of the octonion on
- the basis <span class="emphasis"><em><code class="literal">(1, j, e', j')</code></em></span>.
- </p>
-<a name="boost_octonions.octonions.octonion_member_functions.individual_quaternion_components"></a><h5>
-<a name="id1046954"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">Individual
- Quaternion Components</a>
- </h5>
-<pre class="programlisting"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">H_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">H_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Likewise, for any octonion <span class="emphasis"><em><code class="literal">o = &#945; + &#946;i + &#947;j + &#948;k + &#949;e' + &#950;i' + &#951;j' + &#952;k'</code></em></span> we
- also have <span class="emphasis"><em><code class="literal">o = (&#945; + &#946;i + &#947;j + &#948;k) + (&#949; + &#950;i + &#951;j - &#952;j)e'</code></em></span>, though there is
- no meaningful vector-space-like structure based on the quaternions. What
- the H_component_n functions return are the quaternions which could be used
- to build the octonion using the constructor.
- </p>
-<a name="boost_octonions.octonions.octonion_member_functions.octonion_member_operators"></a><h4>
-<a name="id1047087"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.octonion_member_operators">Octonion
- Member Operators</a>
- </h4>
-<a name="boost_octonions.octonions.octonion_member_functions.assignment_operators"></a><h5>
-<a name="id1047100"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">Assignment
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-</pre>
-<p>
- These perform the expected assignment, with type modification if necessary
- (for instance, assigning from a base type will set the real part to that
- value, and all other components to zero). For the unspecialized form, the
- base type's assignment operators must not throw.
- </p>
-<a name="boost_octonions.octonions.octonion_member_functions.other_member_operators"></a><h5>
-<a name="id1048581"></a>
- <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">Other
- Member Operators</a>
- </h5>
-<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)+</span><span class="identifier">rhs</span></code>
- and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
- The unspecialized form has exception guards, which the specialized forms
- do not, so as to insure exception safety. For the unspecialized form, the
- base type's assignment operators must not throw.
- </p>
-<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)-</span><span class="identifier">rhs</span></code>
- and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
- The unspecialized form has exception guards, which the specialized forms
- do not, so as to insure exception safety. For the unspecialized form, the
- base type's assignment operators must not throw.
- </p>
-<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">rhs</span></code>
- in this order (order is important as multiplication is not commutative for
- octonions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The unspecialized form has exception
- guards, which the specialized forms do not, so as to insure exception safety.
- For the unspecialized form, the base type's assignment operators must not
- throw. Also, for clarity's sake, you should always group the factors in a
- multiplication by groups of two, as the multiplication is not even associative
- on the octonions (though there are of course cases where this does not matter,
- it usually does).
- </p>
-<pre class="programlisting"><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">inverse_of</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span></code>
- in this order (order is important as multiplication is not commutative for
- octonions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The unspecialized form has exception
- guards, which the specialized forms do not, so as to insure exception safety.
- For the unspecialized form, the base type's assignment operators must not
- throw. As for the multiplication, remember to group any two factors using
- parenthesis.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_member_typedefs.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_mem.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_typedefs.html b/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_typedefs.html
deleted file mode 100644
index 985138c115..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_member_typedefs.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonion Member Typedefs</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="octonion_specializations.html" title="Octonion Specializations">
-<link rel="next" href="octonion_member_functions.html" title="Octonion Member Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_specializations.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_member_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.octonion_member_typedefs"></a><a class="link" href="octonion_member_typedefs.html" title="Octonion Member Typedefs">Octonion
- Member Typedefs</a>
-</h3></div></div></div>
-<p>
- <span class="bold"><strong>value_type</strong></span>
- </p>
-<p>
- Template version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- Float specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">float</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- Double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- Long double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- These provide easy acces to the type the template is built upon.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonion_specializations.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_member_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_specializations.html b/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_specializations.html
deleted file mode 100644
index 842bc32587..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_specializations.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonion Specializations</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="template_class_octonion.html" title="Template Class octonion">
-<link rel="next" href="octonion_member_typedefs.html" title="Octonion Member Typedefs">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="template_class_octonion.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_member_typedefs.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.octonion_specializations"></a><a class="link" href="octonion_specializations.html" title="Octonion Specializations">Octonion
- Specializations</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="keyword">float</span> <span class="identifier">value_type</span><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a name="boost_octonions.octonion_double"></a>
-<a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a name="boost_octonions.octonion_long_double"></a>
-<a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="special">}</span> <span class="special">}</span> <span class="comment">// namespaces
-</span></pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="template_class_octonion.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_member_typedefs.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_value_operations.html b/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_value_operations.html
deleted file mode 100644
index 3c26622897..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/octonion_value_operations.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonion Value Operations</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="non_mem.html" title="Octonion Non-Member Operators">
-<link rel="next" href="oct_create.html" title="Octonion Creation Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="non_mem.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_create.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.octonion_value_operations"></a><a class="link" href="octonion_value_operations.html" title="Octonion Value Operations">Octonion
- Value Operations</a>
-</h3></div></div></div>
-<a name="boost_octonions.octonions.octonion_value_operations.real_and_unreal"></a><h5>
-<a name="id1058192"></a>
- <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.real_and_unreal">Real
- and Unreal</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">real</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- These return <code class="computeroutput"><span class="identifier">o</span><span class="special">.</span><span class="identifier">real</span><span class="special">()</span></code>
- and <code class="computeroutput"><span class="identifier">o</span><span class="special">.</span><span class="identifier">unreal</span><span class="special">()</span></code>
- respectively.
- </p>
-<a name="boost_octonions.octonions.octonion_value_operations.conj"></a><h5>
-<a name="id1058393"></a>
- <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.conj">conj</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">conj</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This returns the conjugate of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonion_value_operations.sup"></a><h5>
-<a name="id1058494"></a>
- <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.sup">sup</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">sup</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This return the sup norm (the greatest among <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())...</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_8</span><span class="special">()))</span></code> of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonion_value_operations.l1"></a><h5>
-<a name="id1058627"></a>
- <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.l1">l1</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">l1</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This return the l1 norm (<code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())+...+</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">o</span><span class="special">.</span><span class="identifier">R_component_8</span><span class="special">())</span></code>) of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonion_value_operations.abs"></a><h5>
-<a name="id1058760"></a>
- <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.abs">abs</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">abs</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This return the magnitude (Euclidian norm) of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonion_value_operations.norm"></a><h5>
-<a name="id1058849"></a>
- <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.norm">norm</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">norm</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- This return the (Cayley) norm of the octonion. The term "norm"
- might be confusing, as most people associate it with the Euclidian norm (and
- quadratic functionals). For this version of (the mathematical objects known
- as) octonions, the Euclidian norm (also known as magnitude) is the square
- root of the Cayley norm.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="non_mem.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_create.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/octonions_transcendentals.html b/libs/math/doc/octonion/html/boost_octonions/octonions/octonions_transcendentals.html
deleted file mode 100644
index ba7f4a0339..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/octonions_transcendentals.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Octonions Transcendentals</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="oct_create.html" title="Octonion Creation Functions">
-<link rel="next" href="test_program.html" title="Test Program">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="oct_create.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_program.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.octonions_transcendentals"></a><a class="link" href="octonions_transcendentals.html" title="Octonions Transcendentals">Octonions
- Transcendentals</a>
-</h3></div></div></div>
-<p>
- There is no <code class="computeroutput"><span class="identifier">log</span></code> or <code class="computeroutput"><span class="identifier">sqrt</span></code> provided for octonions in this implementation,
- and <code class="computeroutput"><span class="identifier">pow</span></code> is likewise restricted
- to integral powers of the exponent. There are several reasons to this: on
- the one hand, the equivalent of analytic continuation for octonions ("branch
- cuts") remains to be investigated thoroughly (by me, at any rate...),
- and we wish to avoid the nonsense introduced in the standard by exponentiations
- of complexes by complexes (which is well defined, but not in the standard...).
- Talking of nonsense, saying that <code class="computeroutput"><span class="identifier">pow</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span></code> is "implementation
- defined" is just plain brain-dead...
- </p>
-<p>
- We do, however provide several transcendentals, chief among which is the
- exponential. That it allows for a "closed formula" is a result
- of the author (the existence and definition of the exponential, on the octonions
- among others, on the other hand, is a few centuries old). Basically, any
- converging power series with real coefficients which allows for a closed
- formula in <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> can be
- transposed to <span class="emphasis"><em><span class="bold"><strong>O</strong></span></em></span>. More
- transcendentals of this type could be added in a further revision upon request.
- It should be noted that it is these functions which force the dependency
- upon the <a href="../../../../../../../boost/math/special_functions/sinc.hpp" target="_top">boost/math/special_functions/sinc.hpp</a>
- and the <a href="../../../../../../../boost/math/special_functions/sinhc.hpp" target="_top">boost/math/special_functions/sinhc.hpp</a>
- headers.
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.exp"></a><h5>
-<a name="id1060349"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.exp">exp</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Computes the exponential of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.cos"></a><h5>
-<a name="id1060447"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.cos">cos</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cos</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Computes the cosine of the octonion
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.sin"></a><h5>
-<a name="id1060544"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.sin">sin</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sin</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Computes the sine of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.tan"></a><h5>
-<a name="id1060642"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.tan">tan</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tan</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Computes the tangent of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.cosh"></a><h5>
-<a name="id1060741"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.cosh">cosh</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cosh</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Computes the hyperbolic cosine of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.sinh"></a><h5>
-<a name="id1060844"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.sinh">sinh</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinh</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Computes the hyperbolic sine of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.tanh"></a><h5>
-<a name="id1060948"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.tanh">tanh</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tanh</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-</pre>
-<p>
- Computes the hyperbolic tangent of the octonion.
- </p>
-<a name="boost_octonions.octonions.octonions_transcendentals.pow"></a><h5>
-<a name="id1061047"></a>
- <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.pow">pow</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-<p>
- Computes the n-th power of the octonion q.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="oct_create.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_program.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/overview.html b/libs/math/doc/octonion/html/boost_octonions/octonions/overview.html
deleted file mode 100644
index ed21115a53..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/overview.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Overview</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="../octonions.html" title="Octonions">
-<link rel="next" href="header_file.html" title="Header File">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../octonions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header_file.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.overview"></a><a class="link" href="overview.html" title="Overview">Overview</a>
-</h3></div></div></div>
-<p>
- Octonions, like <a href="../../../../quaternion/html/index.html" target="_top">quaternions</a>,
- are a relative of complex numbers.
- </p>
-<p>
- Octonions see some use in theoretical physics.
- </p>
-<p>
- In practical terms, an octonion is simply an octuple of real numbers (&#945;,&#946;,&#947;,&#948;,&#949;,&#950;,&#951;,&#952;),
- which we can write in the form <span class="emphasis"><em><code class="literal">o = &#945; + &#946;i + &#947;j + &#948;k + &#949;e' + &#950;i' + &#951;j' + &#952;k'</code></em></span>,
- where <span class="emphasis"><em><code class="literal">i</code></em></span>, <span class="emphasis"><em><code class="literal">j</code></em></span>
- and <span class="emphasis"><em><code class="literal">k</code></em></span> are the same objects as for
- quaternions, and <span class="emphasis"><em><code class="literal">e'</code></em></span>, <span class="emphasis"><em><code class="literal">i'</code></em></span>,
- <span class="emphasis"><em><code class="literal">j'</code></em></span> and <span class="emphasis"><em><code class="literal">k'</code></em></span>
- are distinct objects which play essentially the same kind of role as <span class="emphasis"><em><code class="literal">i</code></em></span>
- (or <span class="emphasis"><em><code class="literal">j</code></em></span> or <span class="emphasis"><em><code class="literal">k</code></em></span>).
- </p>
-<p>
- Addition and a multiplication is defined on the set of octonions, which generalize
- their quaternionic counterparts. The main novelty this time is that <span class="bold"><strong>the multiplication is not only not commutative, is now not even
- associative</strong></span> (i.e. there are octonions <span class="emphasis"><em><code class="literal">x</code></em></span>,
- <span class="emphasis"><em><code class="literal">y</code></em></span> and <span class="emphasis"><em><code class="literal">z</code></em></span>
- such that <span class="emphasis"><em><code class="literal">x(yz) &#8800; (xy)z</code></em></span>). A way of
- remembering things is by using the following multiplication table:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../octonion/graphics/octonion_blurb17.jpeg" alt="octonion_blurb17"></span>
- </p>
-<p>
- Octonions (and their kin) are described in far more details in this other
- <a href="../../../../../quaternion/TQE.pdf" target="_top">document</a> (with <a href="../../../../../quaternion/TQE_EA.pdf" target="_top">errata
- and addenda</a>).
- </p>
-<p>
- Some traditional constructs, such as the exponential, carry over without
- too much change into the realms of octonions, but other, such as taking a
- square root, do not (the fact that the exponential has a closed form is a
- result of the author, but the fact that the exponential exists at all for
- octonions is known since quite a long time ago).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../octonions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header_file.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/synopsis.html b/libs/math/doc/octonion/html/boost_octonions/octonions/synopsis.html
deleted file mode 100644
index 53db770d14..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/synopsis.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Synopsis</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="header_file.html" title="Header File">
-<link rel="next" href="template_class_octonion.html" title="Template Class octonion">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="header_file.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_class_octonion.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="template_class_octonion.html" title="Template Class octonion">octonion</a><span class="special">;</span>
-<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="octonion_specializations.html" title="Octonion Specializations">octonion&lt;float&gt;</a><span class="special">;</span>
-<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="octonion_specializations.html#boost_octonions.octonion_double">octonion&lt;double&gt;</a><span class="special">;</span>
-<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="octonion_specializations.html#boost_octonions.octonion_long_double">octonion&lt;long double&gt;</a><span class="special">;</span>
-
-<span class="comment">// operators
-</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">operator +</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">operator +</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">operator /</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">operator /</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.unary_plus_and_minus_operators">operator +</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.unary_plus_and_minus_operators">operator -</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">operator ==</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">operator ==</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">operator !=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">operator !=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.binary_inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.stream_extractor">operator &gt;&gt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="non_mem.html#boost_octonions.octonions.non_mem.stream_inserter">operator &lt;&lt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-
-<span class="comment">// values
-</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.real_and_unreal">real</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.real_and_unreal">unreal</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.sup">sup</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.l1">l1</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.abs">abs</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.norm">norm</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_value_operations.html#boost_octonions.octonions.octonion_value_operations.conj">conj</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_create.html" title="Octonion Creation Functions">spherical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi6</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_create.html" title="Octonion Creation Functions">multipolar</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta4</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="oct_create.html" title="Octonion Creation Functions">cylindrical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h3</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h4</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h5</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h6</span><span class="special">);</span>
-
-<span class="comment">// transcendentals
-</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.exp">exp</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.cos">cos</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.sin">sin</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.tan">tan</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.cosh">cosh</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.sinh">sinh</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.tanh">tanh</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonions_transcendentals.html#boost_octonions.octonions.octonions_transcendentals.pow">pow</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">o</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
-
-<span class="special">}</span> <span class="special">}</span> <span class="comment">// namespaces
-</span></pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="header_file.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_class_octonion.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/template_class_octonion.html b/libs/math/doc/octonion/html/boost_octonions/octonions/template_class_octonion.html
deleted file mode 100644
index 0c13700d1f..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/template_class_octonion.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Template Class octonion</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="synopsis.html" title="Synopsis">
-<link rel="next" href="octonion_specializations.html" title="Octonion Specializations">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_specializations.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.template_class_octonion"></a><a class="link" href="template_class_octonion.html" title="Template Class octonion">Template
- Class octonion</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">octonion</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="keyword">explicit</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <a class="link" href="octonion_member_functions.html#boost_octonions.octonions.octonion_member_functions.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="special">}</span> <span class="special">}</span> <span class="comment">// namespaces
-</span></pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="octonion_specializations.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/test_program.html b/libs/math/doc/octonion/html/boost_octonions/octonions/test_program.html
deleted file mode 100644
index 73458dfa0e..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/test_program.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Test Program</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="octonions_transcendentals.html" title="Octonions Transcendentals">
-<link rel="next" href="acknowledgements.html" title="Acknowledgements">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonions_transcendentals.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.test_program"></a><a class="link" href="test_program.html" title="Test Program">Test Program</a>
-</h3></div></div></div>
-<p>
- The <a href="../../../../../octonion/octonion_test.cpp" target="_top">octonion_test.cpp</a>
- test program tests octonions specialisations for float, double and long double
- (<a href="../../../../../octonion/output.txt" target="_top">sample output</a>).
- </p>
-<p>
- If you define the symbol BOOST_OCTONION_TEST_VERBOSE, you will get additional
- output (<a href="../../../../../octonion/output_more.txt" target="_top">verbose output</a>);
- this will only be helpfull if you enable message output at the same time,
- of course (by uncommenting the relevant line in the test or by adding --log_level=messages
- to your command line,...). In that case, and if you are running interactively,
- you may in addition define the symbol BOOST_INTERACTIVE_TEST_INPUT_ITERATOR
- to interactively test the input operator with input of your choice from the
- standard input (instead of hard-coding it in the test).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="octonions_transcendentals.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/boost_octonions/octonions/to_do.html b/libs/math/doc/octonion/html/boost_octonions/octonions/to_do.html
deleted file mode 100644
index c103eaf944..0000000000
--- a/libs/math/doc/octonion/html/boost_octonions/octonions/to_do.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>To Do</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Octonions">
-<link rel="up" href="../octonions.html" title="Octonions">
-<link rel="prev" href="history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_octonions.octonions.to_do"></a><a class="link" href="to_do.html" title="To Do">To Do</a>
-</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc">
-<li>
- Improve testing.
- </li>
-<li>
- Rewrite input operatore using Spirit (creates a dependency).
- </li>
-<li>
- Put in place an Expression Template mechanism (perhaps borrowing from
- uBlas).
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/html/index.html b/libs/math/doc/octonion/html/index.html
deleted file mode 100644
index 8bb66ed494..0000000000
--- a/libs/math/doc/octonion/html/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Boost.Octonions</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="index.html" title="Boost.Octonions">
-<link rel="next" href="boost_octonions/octonions.html" title="Octonions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_octonions/octonions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="article" lang="en">
-<div class="titlepage">
-<div>
-<div><h2 class="title">
-<a name="boost_octonions"></a>Boost.Octonions</h2></div>
-<div><div class="authorgroup"><div class="author"><h3 class="author">
-<span class="firstname">Hubert</span> <span class="surname">Holin</span>
-</h3></div></div></div>
-<div><p class="copyright">Copyright &#169; 2001 -2003 Hubert Holin</p></div>
-<div><div class="legalnotice">
-<a name="id1015157"></a><p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="boost_octonions/octonions.html">Octonions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_octonions/octonions/overview.html">Overview</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/header_file.html">Header File</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/synopsis.html">Synopsis</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/template_class_octonion.html">Template
- Class octonion</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/octonion_specializations.html">Octonion
- Specializations</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/octonion_member_typedefs.html">Octonion
- Member Typedefs</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/octonion_member_functions.html">Octonion
- Member Functions</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/non_mem.html">Octonion Non-Member
- Operators</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/octonion_value_operations.html">Octonion
- Value Operations</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/oct_create.html">Octonion Creation
- Functions</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/octonions_transcendentals.html">Octonions
- Transcendentals</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/test_program.html">Test Program</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/acknowledgements.html">Acknowledgements</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/history.html">History</a></span></dt>
-<dt><span class="section"><a href="boost_octonions/octonions/to_do.html">To Do</a></span></dt>
-</dl></dd>
-</dl>
-</div>
-<p>
- This manual is also available in <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">printer
- friendly PDF format</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 29, 2006 at 11:08:32 +0000</small></p></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_octonions/octonions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/libs/math/doc/octonion/math-octonion.qbk b/libs/math/doc/octonion/math-octonion.qbk
index e451a977de..5bd476c65c 100644
--- a/libs/math/doc/octonion/math-octonion.qbk
+++ b/libs/math/doc/octonion/math-octonion.qbk
@@ -1,16 +1,3 @@
-[article Boost.Octonions
- [quickbook 1.3]
- [copyright 2001-2003 Hubert Holin]
- [purpose Octonions]
- [license
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
- ]
- [authors [Holin, Hubert]]
- [category math]
- [last-revision $Date: 2006-12-29 11:08:32 +0000 (Fri, 29 Dec 2006) $]
-]
[def __R ['[*R]]]
[def __C ['[*C]]]
@@ -24,300 +11,286 @@
[def __oct_quat_formula ['[^o = ('''&#x03B1; + &#x03B2;i + &#x03B3;j + &#x03B4;k) + (&#x03B5; + &#x03B6;i + &#x03B7;j - &#x03B8;j)e' ''']]]
[def __oct_not_equal ['[^x(yz) '''&#x2260;''' (xy)z]]]
-[def __asinh [link boost_quaternions.math_special_functions.asinh asinh]]
-[def __acosh [link boost_quaternions.math_special_functions.acosh acosh]]
-[def __atanh [link boost_quaternions.math_special_functions.atanh atanh]]
-[def __sinc_pi [link boost_quaternions.math_special_functions.sinc_pi sinc_pi]]
-[def __sinhc_pi [link boost_quaternions.math_special_functions.sinhc_pi sinhc_pi]]
-
-[def __log1p [link boost_quaternions.math_special_functions.log1p log1p]]
-[def __expm1 [link boost_quaternions.math_special_functions.expm1 expm1]]
-[def __hypot [link boost_quaternions.math_special_functions.hypot hypot]]
-
-This manual is also available in
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-printer friendly PDF format].
+[mathpart octonions Octonions]
-[section Octonions]
+[section:oct_overview Overview]
-[section Overview]
-
-Octonions, like [@../../quaternion/html/index.html quaternions], are a relative of complex numbers.
+Octonions, like [link quaternions quaternions], are a relative of complex numbers.
Octonions see some use in theoretical physics.
-In practical terms, an octonion is simply an octuple of real numbers __octulple,
-which we can write in the form __oct_formula, where ['[^i]], ['[^j]] and ['[^k]]
-are the same objects as for quaternions, and ['[^e']], ['[^i']], ['[^j']] and ['[^k']]
+In practical terms, an octonion is simply an octuple of real numbers __octulple,
+which we can write in the form __oct_formula, where ['[^i]], ['[^j]] and ['[^k]]
+are the same objects as for quaternions, and ['[^e']], ['[^i']], ['[^j']] and ['[^k']]
are distinct objects which play essentially the same kind of role as ['[^i]] (or ['[^j]] or ['[^k]]).
-Addition and a multiplication is defined on the set of octonions,
-which generalize their quaternionic counterparts. The main novelty this time
-is that [*the multiplication is not only not commutative, is now not even
-associative] (i.e. there are octonions ['[^x]], ['[^y]] and ['[^z]] such that __oct_not_equal).
+Addition and a multiplication is defined on the set of octonions,
+which generalize their quaternionic counterparts. The main novelty this time
+is that [*the multiplication is not only not commutative, is now not even
+associative] (i.e. there are octonions ['[^x]], ['[^y]] and ['[^z]] such that __oct_not_equal).
A way of remembering things is by using the following multiplication table:
-[$../../../octonion/graphics/octonion_blurb17.jpeg]
+[$../../octonion/graphics/octonion_blurb17.jpeg]
-Octonions (and their kin) are described in far more details in this other
-[@../../../quaternion/TQE.pdf document]
-(with [@../../../quaternion/TQE_EA.pdf errata and addenda]).
+Octonions (and their kin) are described in far more details in this other
+[@../../quaternion/TQE.pdf document]
+(with [@../../quaternion/TQE_EA.pdf errata and addenda]).
-Some traditional constructs, such as the exponential, carry over without too
-much change into the realms of octonions, but other, such as taking a square root,
-do not (the fact that the exponential has a closed form is a result of the
-author, but the fact that the exponential exists at all for octonions is known
+Some traditional constructs, such as the exponential, carry over without too
+much change into the realms of octonions, but other, such as taking a square root,
+do not (the fact that the exponential has a closed form is a result of the
+author, but the fact that the exponential exists at all for octonions is known
since quite a long time ago).
[endsect]
-[section Header File]
+[section:oct_header Header File]
-The interface and implementation are both supplied by the header file
-[@../../../../../boost/math/octonion.hpp octonion.hpp].
+The interface and implementation are both supplied by the header file
+[@../../../../boost/math/octonion.hpp octonion.hpp].
[endsect]
-[section Synopsis]
+[section:oct_synopsis Synopsis]
namespace boost{ namespace math{
- template<typename T> class ``[link boost_octonions.octonions.template_class_octonion octonion]``;
- template<> class ``[link boost_octonions.octonions.octonion_specializations octonion<float>]``;
- template<> class ``[link boost_octonions.octonion_double octonion<double>]``;
- template<> class ``[link boost_octonions.octonion_long_double octonion<long double>]``;
+ template<typename T> class ``[link math_toolkit.octonion octonion]``;
+ template<> class ``[link math_toolkit.oct_specialization octonion<float>]``;
+ template<> class ``[link math_octonion_double octonion<double>]``;
+ template<> class ``[link math_octonion_long_double octonion<long double>]``;
// operators
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_addition_operators operator +]`` (T const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, T const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_addition_operators operator +]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_addition_operators operator +]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, octonion<T> const & rhs);
-
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_subtraction_operators operator -]`` (T const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, T const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_subtraction_operators operator -]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_subtraction_operators operator -]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, octonion<T> const & rhs);
-
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_multiplication_operators operator *]`` (T const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, T const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_multiplication_operators operator *]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_multiplication_operators operator *]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, octonion<T> const & rhs);
-
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_division_operators operator /]`` (T const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, T const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_division_operators operator /]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_division_operators operator /]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, octonion<T> const & rhs);
-
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.unary_plus_and_minus_operators operator +]`` (octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.non_mem.unary_plus_and_minus_operators operator -]`` (octonion<T> const & o);
-
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_equality_operators operator ==]`` (T const & lhs, octonion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, T const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_equality_operators operator ==]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_equality_operators operator ==]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, octonion<T> const & rhs);
-
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_inequality_operators operator !=]`` (T const & lhs, octonion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, T const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_inequality_operators operator !=]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_inequality_operators operator !=]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
- template<typename T> bool ``[link boost_octonions.octonions.non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_addition_operators operator +]`` (T const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, T const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_addition_operators operator +]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_addition_operators operator +]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_addition_operators operator +]`` (octonion<T> const & lhs, octonion<T> const & rhs);
+
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_subtraction_operators operator -]`` (T const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, T const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_subtraction_operators operator -]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_subtraction_operators operator -]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_subtraction_operators operator -]`` (octonion<T> const & lhs, octonion<T> const & rhs);
+
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_multiplication_operators operator *]`` (T const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, T const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_multiplication_operators operator *]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_multiplication_operators operator *]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_multiplication_operators operator *]`` (octonion<T> const & lhs, octonion<T> const & rhs);
+
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_division_operators operator /]`` (T const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, T const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_division_operators operator /]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_division_operators operator /]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.binary_division_operators operator /]`` (octonion<T> const & lhs, octonion<T> const & rhs);
+
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.unary_plus_and_minus_operators operator +]`` (octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_non_mem.unary_plus_and_minus_operators operator -]`` (octonion<T> const & o);
+
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_equality_operators operator ==]`` (T const & lhs, octonion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, T const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_equality_operators operator ==]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_equality_operators operator ==]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_equality_operators operator ==]`` (octonion<T> const & lhs, octonion<T> const & rhs);
+
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_inequality_operators operator !=]`` (T const & lhs, octonion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, T const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_inequality_operators operator !=]`` (::std::complex<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_inequality_operators operator !=]`` (::boost::math::quaternion<T> const & lhs, octonion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.oct_non_mem.binary_inequality_operators operator !=]`` (octonion<T> const & lhs, octonion<T> const & rhs);
template<typename T, typename charT, class traits>
- ::std::basic_istream<charT,traits> & ``[link boost_octonions.octonions.non_mem.stream_extractor operator >>]`` (::std::basic_istream<charT,traits> & is, octonion<T> & o);
+ ::std::basic_istream<charT,traits> & ``[link math_toolkit.oct_non_mem.stream_extractor operator >>]`` (::std::basic_istream<charT,traits> & is, octonion<T> & o);
template<typename T, typename charT, class traits>
- ::std::basic_ostream<charT,traits> & ``[link boost_octonions.octonions.non_mem.stream_inserter operator <<]`` (::std::basic_ostream<charT,traits> & os, octonion<T> const & o);
+ ::std::basic_ostream<charT,traits> & ``[link math_toolkit.oct_non_mem.stream_inserter operator <<]`` (::std::basic_ostream<charT,traits> & os, octonion<T> const & o);
// values
- template<typename T> T ``[link boost_octonions.octonions.octonion_value_operations.real_and_unreal real]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonion_value_operations.real_and_unreal unreal]``(octonion<T> const & o);
+ template<typename T> T ``[link math_toolkit.oct_value_ops.real_and_unreal real]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_value_ops.real_and_unreal unreal]``(octonion<T> const & o);
- template<typename T> T ``[link boost_octonions.octonions.octonion_value_operations.sup sup]``(octonion<T> const & o);
- template<typename T> T ``[link boost_octonions.octonions.octonion_value_operations.l1 l1]``(octonion<T>const & o);
- template<typename T> T ``[link boost_octonions.octonions.octonion_value_operations.abs abs]``(octonion<T> const & o);
- template<typename T> T ``[link boost_octonions.octonions.octonion_value_operations.norm norm]``(octonion<T>const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonion_value_operations.conj conj]``(octonion<T> const & o);
+ template<typename T> T ``[link math_toolkit.oct_value_ops.sup sup]``(octonion<T> const & o);
+ template<typename T> T ``[link math_toolkit.oct_value_ops.l1 l1]``(octonion<T>const & o);
+ template<typename T> T ``[link math_toolkit.oct_value_ops.abs abs]``(octonion<T> const & o);
+ template<typename T> T ``[link math_toolkit.oct_value_ops.norm norm]``(octonion<T>const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_value_ops.conj conj]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.oct_create spherical]``(T const & rho, T const & theta, T const & phi1, T const & phi2, T const & phi3, T const & phi4, T const & phi5, T const & phi6);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.oct_create multipolar]``(T const & rho1, T const & theta1, T const & rho2, T const & theta2, T const & rho3, T const & theta3, T const & rho4, T const & theta4);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.oct_create cylindrical]``(T const & r, T const & angle, T const & h1, T const & h2, T const & h3, T const & h4, T const & h5, T const & h6);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_create spherical]``(T const & rho, T const & theta, T const & phi1, T const & phi2, T const & phi3, T const & phi4, T const & phi5, T const & phi6);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_create multipolar]``(T const & rho1, T const & theta1, T const & rho2, T const & theta2, T const & rho3, T const & theta3, T const & rho4, T const & theta4);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_create cylindrical]``(T const & r, T const & angle, T const & h1, T const & h2, T const & h3, T const & h4, T const & h5, T const & h6);
// transcendentals
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.exp exp]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.cos cos]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.sin sin]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.tan tan]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.cosh cosh]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.sinh sinh]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.tanh tanh]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.exp exp]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.cos cos]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.sin sin]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.tan tan]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.cosh cosh]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.sinh sinh]``(octonion<T> const & o);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.tanh tanh]``(octonion<T> const & o);
- template<typename T> octonion<T> ``[link boost_octonions.octonions.octonions_transcendentals.pow pow]``(octonion<T> const & o, int n);
+ template<typename T> octonion<T> ``[link math_toolkit.oct_trans.pow pow]``(octonion<T> const & o, int n);
} } // namespaces
-
+
[endsect]
-[section Template Class octonion]
+[section:octonion Template Class octonion]
namespace boost{ namespace math {
-
+
template<typename T>
class octonion
{
public:
typedef T value_type;
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(T const & requested_a = T(), T const & requested_b = T(), T const & requested_c = T(), T const & requested_d = T(), T const & requested_e = T(), T const & requested_f = T(), T const & requested_g = T(), T const & requested_h = T());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(::std::complex<T> const & z0, ::std::complex<T> const & z1 = ::std::complex<T>(), ::std::complex<T> const & z2 = ::std::complex<T>(), ::std::complex<T> const & z3 = ::std::complex<T>());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(::boost::math::quaternion<T> const & q0, ::boost::math::quaternion<T> const & q1 = ::boost::math::quaternion<T>());
- template<typename X>
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(octonion<X> const & a_recopier);
-
- T ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts real]``() const;
- octonion<T> ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts unreal]``() const;
-
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_1]``() const;
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_2]``() const;
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_3]``() const;
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_4]``() const;
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_5]``() const;
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_6]``() const;
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_7]``() const;
- T ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_8]``() const;
-
- ::std::complex<T> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_1]``() const;
- ::std::complex<T> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_2]``() const;
- ::std::complex<T> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_3]``() const;
- ::std::complex<T> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_4]``() const;
-
- ::boost::math::quaternion<T> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_1]``() const;
- ::boost::math::quaternion<T> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_2]``() const;
-
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<T> const & a_affecter);
- template<typename X>
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<X> const & a_affecter);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (T const & a_affecter);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::std::complex<T> const & a_affecter);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::boost::math::quaternion<T> const & a_affecter);
-
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (T const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::std::complex<T> const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::boost::math::quaternion<T> const & rhs);
- template<typename X>
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (octonion<X> const & rhs);
-
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (T const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::std::complex<T> const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::boost::math::quaternion<T> const & rhs);
- template<typename X>
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (octonion<X> const & rhs);
-
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (T const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::std::complex<T> const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::boost::math::quaternion<T> const & rhs);
- template<typename X>
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (octonion<X> const & rhs);
-
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (T const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::std::complex<T> const & rhs);
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::boost::math::quaternion<T> const & rhs);
- template<typename X>
- octonion<T> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (octonion<X> const & rhs);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(T const & requested_a = T(), T const & requested_b = T(), T const & requested_c = T(), T const & requested_d = T(), T const & requested_e = T(), T const & requested_f = T(), T const & requested_g = T(), T const & requested_h = T());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(::std::complex<T> const & z0, ::std::complex<T> const & z1 = ::std::complex<T>(), ::std::complex<T> const & z2 = ::std::complex<T>(), ::std::complex<T> const & z3 = ::std::complex<T>());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(::boost::math::quaternion<T> const & q0, ::boost::math::quaternion<T> const & q1 = ::boost::math::quaternion<T>());
+ template<typename X>
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(octonion<X> const & a_recopier);
+
+ T ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts real]``() const;
+ octonion<T> ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts unreal]``() const;
+
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_1]``() const;
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_2]``() const;
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_3]``() const;
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_4]``() const;
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_5]``() const;
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_6]``() const;
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_7]``() const;
+ T ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_8]``() const;
+
+ ::std::complex<T> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<T> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_2]``() const;
+ ::std::complex<T> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_3]``() const;
+ ::std::complex<T> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_4]``() const;
+
+ ::boost::math::quaternion<T> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_1]``() const;
+ ::boost::math::quaternion<T> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_2]``() const;
+
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<T> const & a_affecter);
+ template<typename X>
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<X> const & a_affecter);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (T const & a_affecter);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::std::complex<T> const & a_affecter);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::boost::math::quaternion<T> const & a_affecter);
+
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (T const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::std::complex<T> const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::boost::math::quaternion<T> const & rhs);
+ template<typename X>
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (octonion<X> const & rhs);
+
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (T const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::std::complex<T> const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::boost::math::quaternion<T> const & rhs);
+ template<typename X>
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (octonion<X> const & rhs);
+
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (T const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::std::complex<T> const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::boost::math::quaternion<T> const & rhs);
+ template<typename X>
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (octonion<X> const & rhs);
+
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (T const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::std::complex<T> const & rhs);
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::boost::math::quaternion<T> const & rhs);
+ template<typename X>
+ octonion<T> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (octonion<X> const & rhs);
};
} } // namespaces
-
+
[endsect]
-[section Octonion Specializations]
+[section:oct_specialization Octonion Specializations]
namespace boost{ namespace math{
-
+
template<>
class octonion<float>
{
public:
typedef float value_type;
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(float const & requested_a = 0.0f, float const & requested_b = 0.0f, float const & requested_c = 0.0f, float const & requested_d = 0.0f, float const & requested_e = 0.0f, float const & requested_f = 0.0f, float const & requested_g = 0.0f, float const & requested_h = 0.0f);
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(::std::complex<float> const & z0, ::std::complex<float> const & z1 = ::std::complex<float>(), ::std::complex<float> const & z2 = ::std::complex<float>(), ::std::complex<float> const & z3 = ::std::complex<float>());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(::boost::math::quaternion<float> const & q0, ::boost::math::quaternion<float> const & q1 = ::boost::math::quaternion<float>());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(octonion<double> const & a_recopier);
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(octonion<long double> const & a_recopier);
-
- float ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts real]``() const;
- octonion<float> ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts unreal]``() const;
-
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_1]``() const;
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_2]``() const;
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_3]``() const;
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_4]``() const;
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_5]``() const;
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_6]``() const;
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_7]``() const;
- float ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_8]``() const;
-
- ::std::complex<float> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_1]``() const;
- ::std::complex<float> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_2]``() const;
- ::std::complex<float> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_3]``() const;
- ::std::complex<float> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_4]``() const;
-
- ::boost::math::quaternion<float> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_1]``() const;
- ::boost::math::quaternion<float> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_2]``() const;
-
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<float> const & a_affecter);
- template<typename X>
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<X> const & a_affecter);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (float const & a_affecter);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::std::complex<float> const & a_affecter);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::boost::math::quaternion<float> const & a_affecter);
-
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (float const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::std::complex<float> const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::boost::math::quaternion<float> const & rhs);
- template<typename X>
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (octonion<X> const & rhs);
-
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (float const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::std::complex<float> const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::boost::math::quaternion<float> const & rhs);
- template<typename X>
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (octonion<X> const & rhs);
-
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (float const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::std::complex<float> const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::boost::math::quaternion<float> const & rhs);
- template<typename X>
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (octonion<X> const & rhs);
-
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (float const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::std::complex<float> const & rhs);
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::boost::math::quaternion<float> const & rhs);
- template<typename X>
- octonion<float> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (octonion<X> const & rhs);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(float const & requested_a = 0.0f, float const & requested_b = 0.0f, float const & requested_c = 0.0f, float const & requested_d = 0.0f, float const & requested_e = 0.0f, float const & requested_f = 0.0f, float const & requested_g = 0.0f, float const & requested_h = 0.0f);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(::std::complex<float> const & z0, ::std::complex<float> const & z1 = ::std::complex<float>(), ::std::complex<float> const & z2 = ::std::complex<float>(), ::std::complex<float> const & z3 = ::std::complex<float>());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(::boost::math::quaternion<float> const & q0, ::boost::math::quaternion<float> const & q1 = ::boost::math::quaternion<float>());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(octonion<double> const & a_recopier);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(octonion<long double> const & a_recopier);
+
+ float ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts real]``() const;
+ octonion<float> ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts unreal]``() const;
+
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_1]``() const;
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_2]``() const;
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_3]``() const;
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_4]``() const;
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_5]``() const;
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_6]``() const;
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_7]``() const;
+ float ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_8]``() const;
+
+ ::std::complex<float> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<float> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_2]``() const;
+ ::std::complex<float> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_3]``() const;
+ ::std::complex<float> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_4]``() const;
+
+ ::boost::math::quaternion<float> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_1]``() const;
+ ::boost::math::quaternion<float> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_2]``() const;
+
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<float> const & a_affecter);
+ template<typename X>
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<X> const & a_affecter);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (float const & a_affecter);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::std::complex<float> const & a_affecter);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::boost::math::quaternion<float> const & a_affecter);
+
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (float const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::std::complex<float> const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::boost::math::quaternion<float> const & rhs);
+ template<typename X>
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (octonion<X> const & rhs);
+
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (float const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::std::complex<float> const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::boost::math::quaternion<float> const & rhs);
+ template<typename X>
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (octonion<X> const & rhs);
+
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (float const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::std::complex<float> const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::boost::math::quaternion<float> const & rhs);
+ template<typename X>
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (octonion<X> const & rhs);
+
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (float const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::std::complex<float> const & rhs);
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::boost::math::quaternion<float> const & rhs);
+ template<typename X>
+ octonion<float> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (octonion<X> const & rhs);
};
-[#boost_octonions.octonion_double]
+[#math_octonion_double]
template<>
class octonion<double>
@@ -325,65 +298,65 @@ The interface and implementation are both supplied by the header file
public:
typedef double value_type;
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(double const & requested_a = 0.0, double const & requested_b = 0.0, double const & requested_c = 0.0, double const & requested_d = 0.0, double const & requested_e = 0.0, double const & requested_f = 0.0, double const & requested_g = 0.0, double const & requested_h = 0.0);
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(::std::complex<double> const & z0, ::std::complex<double> const & z1 = ::std::complex<double>(), ::std::complex<double> const & z2 = ::std::complex<double>(), ::std::complex<double> const & z3 = ::std::complex<double>());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(::boost::math::quaternion<double> const & q0, ::boost::math::quaternion<double> const & q1 = ::boost::math::quaternion<double>());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(octonion<float> const & a_recopier);
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(octonion<long double> const & a_recopier);
-
- double ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts real]``() const;
- octonion<double> ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts unreal]``() const;
-
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_1]``() const;
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_2]``() const;
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_3]``() const;
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_4]``() const;
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_5]``() const;
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_6]``() const;
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_7]``() const;
- double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_8]``() const;
-
- ::std::complex<double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_1]``() const;
- ::std::complex<double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_2]``() const;
- ::std::complex<double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_3]``() const;
- ::std::complex<double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_4]``() const;
-
- ::boost::math::quaternion<double> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_1]``() const;
- ::boost::math::quaternion<double> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_2]``() const;
-
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<double> const & a_affecter);
- template<typename X>
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<X> const & a_affecter);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (double const & a_affecter);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::std::complex<double> const & a_affecter);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::boost::math::quaternion<double> const & a_affecter);
-
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (double const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::std::complex<double> const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::boost::math::quaternion<double> const & rhs);
- template<typename X>
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (octonion<X> const & rhs);
-
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (double const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::std::complex<double> const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::boost::math::quaternion<double> const & rhs);
- template<typename X>
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (octonion<X> const & rhs);
-
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (double const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::std::complex<double> const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::boost::math::quaternion<double> const & rhs);
- template<typename X>
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (octonion<X> const & rhs);
-
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (double const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::std::complex<double> const & rhs);
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::boost::math::quaternion<double> const & rhs);
- template<typename X>
- octonion<double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (octonion<X> const & rhs);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(double const & requested_a = 0.0, double const & requested_b = 0.0, double const & requested_c = 0.0, double const & requested_d = 0.0, double const & requested_e = 0.0, double const & requested_f = 0.0, double const & requested_g = 0.0, double const & requested_h = 0.0);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(::std::complex<double> const & z0, ::std::complex<double> const & z1 = ::std::complex<double>(), ::std::complex<double> const & z2 = ::std::complex<double>(), ::std::complex<double> const & z3 = ::std::complex<double>());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(::boost::math::quaternion<double> const & q0, ::boost::math::quaternion<double> const & q1 = ::boost::math::quaternion<double>());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(octonion<float> const & a_recopier);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(octonion<long double> const & a_recopier);
+
+ double ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts real]``() const;
+ octonion<double> ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts unreal]``() const;
+
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_1]``() const;
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_2]``() const;
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_3]``() const;
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_4]``() const;
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_5]``() const;
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_6]``() const;
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_7]``() const;
+ double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_8]``() const;
+
+ ::std::complex<double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_2]``() const;
+ ::std::complex<double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_3]``() const;
+ ::std::complex<double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_4]``() const;
+
+ ::boost::math::quaternion<double> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_1]``() const;
+ ::boost::math::quaternion<double> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_2]``() const;
+
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<double> const & a_affecter);
+ template<typename X>
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<X> const & a_affecter);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (double const & a_affecter);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::std::complex<double> const & a_affecter);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::boost::math::quaternion<double> const & a_affecter);
+
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (double const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::std::complex<double> const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::boost::math::quaternion<double> const & rhs);
+ template<typename X>
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (octonion<X> const & rhs);
+
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (double const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::std::complex<double> const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::boost::math::quaternion<double> const & rhs);
+ template<typename X>
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (octonion<X> const & rhs);
+
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (double const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::std::complex<double> const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::boost::math::quaternion<double> const & rhs);
+ template<typename X>
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (octonion<X> const & rhs);
+
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (double const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::std::complex<double> const & rhs);
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::boost::math::quaternion<double> const & rhs);
+ template<typename X>
+ octonion<double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (octonion<X> const & rhs);
};
-[#boost_octonions.octonion_long_double]
+[#math_octonion_long_double]
template<>
class octonion<long double>
@@ -391,69 +364,69 @@ The interface and implementation are both supplied by the header file
public:
typedef long double value_type;
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(long double const & requested_a = 0.0L, long double const & requested_b = 0.0L, long double const & requested_c = 0.0L, long double const & requested_d = 0.0L, long double const & requested_e = 0.0L, long double const & requested_f = 0.0L, long double const & requested_g = 0.0L, long double const & requested_h = 0.0L);
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``( ::std::complex<long double> const & z0, ::std::complex<long double> const & z1 = ::std::complex<long double>(), ::std::complex<long double> const & z2 = ::std::complex<long double>(), ::std::complex<long double> const & z3 = ::std::complex<long double>());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``( ::boost::math::quaternion<long double> const & q0, ::boost::math::quaternion<long double> const & z1 = ::boost::math::quaternion<long double>());
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(octonion<float> const & a_recopier);
- explicit ``[link boost_octonions.octonions.octonion_member_functions.constructors octonion]``(octonion<double> const & a_recopier);
-
- long double ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts real]``() const;
- octonion<long double> ``[link boost_octonions.octonions.octonion_member_functions.real_and_unreal_parts unreal]``() const;
-
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_1]``() const;
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_2]``() const;
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_3]``() const;
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_4]``() const;
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_5]``() const;
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_6]``() const;
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_7]``() const;
- long double ``[link boost_octonions.octonions.octonion_member_functions.individual_real_components R_component_8]``() const;
-
- ::std::complex<long double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_1]``() const;
- ::std::complex<long double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_2]``() const;
- ::std::complex<long double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_3]``() const;
- ::std::complex<long double> ``[link boost_octonions.octonions.octonion_member_functions.individual_complex_components C_component_4]``() const;
-
- ::boost::math::quaternion<long double> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_1]``() const;
- ::boost::math::quaternion<long double> ``[link boost_octonions.octonions.octonion_member_functions.individual_quaternion_components H_component_2]``() const;
-
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<long double> const & a_affecter);
- template<typename X>
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (octonion<X> const & a_affecter);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (long double const & a_affecter);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::std::complex<long double> const & a_affecter);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.assignment_operators operator =]`` (::boost::math::quaternion<long double> const & a_affecter);
-
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (long double const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::std::complex<long double> const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (::boost::math::quaternion<long double> const & rhs);
- template<typename X>
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator +=]`` (octonion<X> const & rhs);
-
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (long double const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::std::complex<long double> const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (::boost::math::quaternion<long double> const & rhs);
- template<typename X>
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator -=]`` (octonion<X> const & rhs);
-
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (long double const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::std::complex<long double> const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (::boost::math::quaternion<long double> const & rhs);
- template<typename X>
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator *=]`` (octonion<X> const & rhs);
-
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (long double const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::std::complex<long double> const & rhs);
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (::boost::math::quaternion<long double> const & rhs);
- template<typename X>
- octonion<long double> & ``[link boost_octonions.octonions.octonion_member_functions.other_member_operators operator /=]`` (octonion<X> const & rhs);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(long double const & requested_a = 0.0L, long double const & requested_b = 0.0L, long double const & requested_c = 0.0L, long double const & requested_d = 0.0L, long double const & requested_e = 0.0L, long double const & requested_f = 0.0L, long double const & requested_g = 0.0L, long double const & requested_h = 0.0L);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``( ::std::complex<long double> const & z0, ::std::complex<long double> const & z1 = ::std::complex<long double>(), ::std::complex<long double> const & z2 = ::std::complex<long double>(), ::std::complex<long double> const & z3 = ::std::complex<long double>());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``( ::boost::math::quaternion<long double> const & q0, ::boost::math::quaternion<long double> const & z1 = ::boost::math::quaternion<long double>());
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(octonion<float> const & a_recopier);
+ explicit ``[link math_toolkit.oct_mem_fun.constructors octonion]``(octonion<double> const & a_recopier);
+
+ long double ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts real]``() const;
+ octonion<long double> ``[link math_toolkit.oct_mem_fun.real_and_unreal_parts unreal]``() const;
+
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_1]``() const;
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_2]``() const;
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_3]``() const;
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_4]``() const;
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_5]``() const;
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_6]``() const;
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_7]``() const;
+ long double ``[link math_toolkit.oct_mem_fun.individual_real_components R_component_8]``() const;
+
+ ::std::complex<long double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<long double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_2]``() const;
+ ::std::complex<long double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_3]``() const;
+ ::std::complex<long double> ``[link math_toolkit.oct_mem_fun.individual_complex_components C_component_4]``() const;
+
+ ::boost::math::quaternion<long double> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_1]``() const;
+ ::boost::math::quaternion<long double> ``[link math_toolkit.oct_mem_fun.individual_quaternion_components H_component_2]``() const;
+
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<long double> const & a_affecter);
+ template<typename X>
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (octonion<X> const & a_affecter);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (long double const & a_affecter);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::std::complex<long double> const & a_affecter);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.assignment_operators operator =]`` (::boost::math::quaternion<long double> const & a_affecter);
+
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (long double const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::std::complex<long double> const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (::boost::math::quaternion<long double> const & rhs);
+ template<typename X>
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator +=]`` (octonion<X> const & rhs);
+
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (long double const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::std::complex<long double> const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (::boost::math::quaternion<long double> const & rhs);
+ template<typename X>
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator -=]`` (octonion<X> const & rhs);
+
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (long double const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::std::complex<long double> const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (::boost::math::quaternion<long double> const & rhs);
+ template<typename X>
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator *=]`` (octonion<X> const & rhs);
+
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (long double const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::std::complex<long double> const & rhs);
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (::boost::math::quaternion<long double> const & rhs);
+ template<typename X>
+ octonion<long double> & ``[link math_toolkit.oct_mem_fun.other_member_operators operator /=]`` (octonion<X> const & rhs);
};
} } // namespaces
-
+
[endsect]
-[section Octonion Member Typedefs]
+[section:oct_typedefs Octonion Member Typedefs]
[*value_type]
@@ -464,7 +437,7 @@ Template version:
Float specialization version:
typedef float value_type;
-
+
Double specialization version:
typedef double value_type;
@@ -477,7 +450,7 @@ These provide easy acces to the type the template is built upon.
[endsect]
-[section Octonion Member Functions]
+[section:oct_mem_fun Octonion Member Functions]
[h3 Constructors]
@@ -486,7 +459,7 @@ Template version:
explicit octonion(T const & requested_a = T(), T const & requested_b = T(), T const & requested_c = T(), T const & requested_d = T(), T const & requested_e = T(), T const & requested_f = T(), T const & requested_g = T(), T const & requested_h = T());
explicit octonion(::std::complex<T> const & z0, ::std::complex<T> const & z1 = ::std::complex<T>(), ::std::complex<T> const & z2 = ::std::complex<T>(), ::std::complex<T> const & z3 = ::std::complex<T>());
explicit octonion(::boost::math::quaternion<T> const & q0, ::boost::math::quaternion<T> const & q1 = ::boost::math::quaternion<T>());
- template<typename X>
+ template<typename X>
explicit octonion(octonion<X> const & a_recopier);
Float specialization version:
@@ -494,7 +467,7 @@ Float specialization version:
explicit octonion(float const & requested_a = 0.0f, float const & requested_b = 0.0f, float const & requested_c = 0.0f, float const & requested_d = 0.0f, float const & requested_e = 0.0f, float const & requested_f = 0.0f, float const & requested_g = 0.0f, float const & requested_h = 0.0f);
explicit octonion(::std::complex<float> const & z0, ::std::complex<float> const & z1 = ::std::complex<float>(), ::std::complex<float> const & z2 = ::std::complex<float>(), ::std::complex<float> const & z3 = ::std::complex<float>());
explicit octonion(::boost::math::quaternion<float> const & q0, ::boost::math::quaternion<float> const & q1 = ::boost::math::quaternion<float>());
- explicit octonion(octonion<double> const & a_recopier);
+ explicit octonion(octonion<double> const & a_recopier);
explicit octonion(octonion<long double> const & a_recopier);
Double specialization version:
@@ -513,19 +486,19 @@ Long double specialization version:
explicit octonion(octonion<float> const & a_recopier);
explicit octonion(octonion<double> const & a_recopier);
-A default constructor is provided for each form, which initializes each component
-to the default values for their type (i.e. zero for floating numbers).
-This constructor can also accept one to eight base type arguments.
-A constructor is also provided to build octonions from one to four complex numbers
+A default constructor is provided for each form, which initializes each component
+to the default values for their type (i.e. zero for floating numbers).
+This constructor can also accept one to eight base type arguments.
+A constructor is also provided to build octonions from one to four complex numbers
sharing the same base type, and another taking one or two quaternions
-sharing the same base type. The unspecialized template also sports a
-templarized copy constructor, while the specialized forms have copy
-constructors from the other two specializations, which are explicit
-when a risk of precision loss exists. For the unspecialized form,
+sharing the same base type. The unspecialized template also sports a
+templarized copy constructor, while the specialized forms have copy
+constructors from the other two specializations, which are explicit
+when a risk of precision loss exists. For the unspecialized form,
the base type's constructors must not throw.
-Destructors and untemplated copy constructors (from the same type)
-are provided by the compiler. Converting copy constructors make use
+Destructors and untemplated copy constructors (from the same type)
+are provided by the compiler. Converting copy constructors make use
of a templated helper function in a "detail" subnamespace.
[h3 Other member functions]
@@ -535,10 +508,10 @@ of a templated helper function in a "detail" subnamespace.
T real() const;
octonion<T> unreal() const;
-Like complex number, octonions do have a meaningful notion of "real part",
-but unlike them there is no meaningful notion of "imaginary part".
-Instead there is an "unreal part" which itself is a octonion,
-and usually nothing simpler (as opposed to the complex number case).
+Like complex number, octonions do have a meaningful notion of "real part",
+but unlike them there is no meaningful notion of "imaginary part".
+Instead there is an "unreal part" which itself is a octonion,
+and usually nothing simpler (as opposed to the complex number case).
These are returned by the first two functions.
[h4 Individual Real Components]
@@ -552,7 +525,7 @@ These are returned by the first two functions.
T R_component_7() const;
T R_component_8() const;
-A octonion having eight real components, these are returned by
+A octonion having eight real components, these are returned by
these eight functions. Hence real and R_component_1 return the same value.
[h4 Individual Complex Components]
@@ -562,12 +535,12 @@ these eight functions. Hence real and R_component_1 return the same value.
::std::complex<T> C_component_3() const;
::std::complex<T> C_component_4() const;
-A octonion likewise has four complex components. Actually, octonions
-are indeed a (left) vector field over the complexes, but beware, as
-for any octonion __oct_formula we also have __oct_complex_formula
-(note the [*minus] sign in the last factor).
-What the C_component_n functions return, however, are the complexes
-which could be used to build the octonion using the constructor, and
+A octonion likewise has four complex components. Actually, octonions
+are indeed a (left) vector field over the complexes, but beware, as
+for any octonion __oct_formula we also have __oct_complex_formula
+(note the [*minus] sign in the last factor).
+What the C_component_n functions return, however, are the complexes
+which could be used to build the octonion using the constructor, and
[*not] the components of the octonion on the basis ['[^(1, j, e', j')]].
[h4 Individual Quaternion Components]
@@ -575,24 +548,24 @@ which could be used to build the octonion using the constructor, and
::boost::math::quaternion<T> H_component_1() const;
::boost::math::quaternion<T> H_component_2() const;
-Likewise, for any octonion __oct_formula we also have __oct_quat_formula, though there
-is no meaningful vector-space-like structure based on the quaternions.
-What the H_component_n functions return are the quaternions which
+Likewise, for any octonion __oct_formula we also have __oct_quat_formula, though there
+is no meaningful vector-space-like structure based on the quaternions.
+What the H_component_n functions return are the quaternions which
could be used to build the octonion using the constructor.
[h3 Octonion Member Operators]
[h4 Assignment Operators]
octonion<T> & operator = (octonion<T> const & a_affecter);
- template<typename X>
+ template<typename X>
octonion<T> & operator = (octonion<X> const & a_affecter);
octonion<T> & operator = (T const & a_affecter);
octonion<T> & operator = (::std::complex<T> const & a_affecter);
octonion<T> & operator = (::boost::math::quaternion<T> const & a_affecter);
-These perform the expected assignment, with type modification if
-necessary (for instance, assigning from a base type will set the
-real part to that value, and all other components to zero).
+These perform the expected assignment, with type modification if
+necessary (for instance, assigning from a base type will set the
+real part to that value, and all other components to zero).
For the unspecialized form, the base type's assignment operators must not throw.
[h4 Other Member Operators]
@@ -600,58 +573,58 @@ For the unspecialized form, the base type's assignment operators must not throw.
octonion<T> & operator += (T const & rhs)
octonion<T> & operator += (::std::complex<T> const & rhs);
octonion<T> & operator += (::boost::math::quaternion<T> const & rhs);
- template<typename X>
+ template<typename X>
octonion<T> & operator += (octonion<X> const & rhs);
-These perform the mathematical operation `(*this)+rhs` and store the result in
-`*this`. The unspecialized form has exception guards, which the specialized
-forms do not, so as to insure exception safety. For the unspecialized form,
+These perform the mathematical operation `(*this)+rhs` and store the result in
+`*this`. The unspecialized form has exception guards, which the specialized
+forms do not, so as to insure exception safety. For the unspecialized form,
the base type's assignment operators must not throw.
octonion<T> & operator -= (T const & rhs)
octonion<T> & operator -= (::std::complex<T> const & rhs);
octonion<T> & operator -= (::boost::math::quaternion<T> const & rhs);
- template<typename X>
+ template<typename X>
octonion<T> & operator -= (octonion<X> const & rhs);
-These perform the mathematical operation `(*this)-rhs` and store the result
-in `*this`. The unspecialized form has exception guards, which the
-specialized forms do not, so as to insure exception safety.
+These perform the mathematical operation `(*this)-rhs` and store the result
+in `*this`. The unspecialized form has exception guards, which the
+specialized forms do not, so as to insure exception safety.
For the unspecialized form, the base type's assignment operators must not throw.
octonion<T> & operator *= (T const & rhs)
octonion<T> & operator *= (::std::complex<T> const & rhs);
octonion<T> & operator *= (::boost::math::quaternion<T> const & rhs);
- template<typename X>
+ template<typename X>
octonion<T> & operator *= (octonion<X> const & rhs);
-These perform the mathematical operation `(*this)*rhs` in this order
-(order is important as multiplication is not commutative for octonions)
-and store the result in `*this`. The unspecialized form has exception guards,
-which the specialized forms do not, so as to insure exception safety.
-For the unspecialized form, the base type's assignment operators must
-not throw. Also, for clarity's sake, you should always group the
-factors in a multiplication by groups of two, as the multiplication is
-not even associative on the octonions (though there are of course cases
+These perform the mathematical operation `(*this)*rhs` in this order
+(order is important as multiplication is not commutative for octonions)
+and store the result in `*this`. The unspecialized form has exception guards,
+which the specialized forms do not, so as to insure exception safety.
+For the unspecialized form, the base type's assignment operators must
+not throw. Also, for clarity's sake, you should always group the
+factors in a multiplication by groups of two, as the multiplication is
+not even associative on the octonions (though there are of course cases
where this does not matter, it usually does).
octonion<T> & operator /= (T const & rhs)
octonion<T> & operator /= (::std::complex<T> const & rhs);
octonion<T> & operator /= (::boost::math::quaternion<T> const & rhs);
- template<typename X>
+ template<typename X>
octonion<T> & operator /= (octonion<X> const & rhs);
-These perform the mathematical operation `(*this)*inverse_of(rhs)`
-in this order (order is important as multiplication is not commutative
-for octonions) and store the result in `*this`. The unspecialized form
-has exception guards, which the specialized forms do not, so as to
-insure exception safety. For the unspecialized form, the base
-type's assignment operators must not throw. As for the multiplication,
+These perform the mathematical operation `(*this)*inverse_of(rhs)`
+in this order (order is important as multiplication is not commutative
+for octonions) and store the result in `*this`. The unspecialized form
+has exception guards, which the specialized forms do not, so as to
+insure exception safety. For the unspecialized form, the base
+type's assignment operators must not throw. As for the multiplication,
remember to group any two factors using parenthesis.
[endsect]
-[section:non_mem Octonion Non-Member Operators]
+[section:oct_non_mem Octonion Non-Member Operators]
[h4 Unary Plus and Minus Operators]
@@ -709,7 +682,7 @@ These operators return `octonion<T>(lhs) *= rhs`.
template<typename T> octonion<T> operator / (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
template<typename T> octonion<T> operator / (octonion<T> const & lhs, octonion<T> const & rhs);
-These operators return `octonion<T>(lhs) /= rhs`. It is of course still an
+These operators return `octonion<T>(lhs) /= rhs`. It is of course still an
error to divide by zero...
[h4 Binary Equality Operators]
@@ -722,8 +695,8 @@ error to divide by zero...
template<typename T> bool operator == (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
template<typename T> bool operator == (octonion<T> const & lhs, octonion<T> const & rhs);
-These return true if and only if the four components of `octonion<T>(lhs)`
-are equal to their counterparts in `octonion<T>(rhs)`. As with any
+These return true if and only if the four components of `octonion<T>(lhs)`
+are equal to their counterparts in `octonion<T>(rhs)`. As with any
floating-type entity, this is essentially meaningless.
[h4 Binary Inequality Operators]
@@ -736,7 +709,7 @@ floating-type entity, this is essentially meaningless.
template<typename T> bool operator != (octonion<T> const & lhs, ::boost::math::quaternion<T> const & rhs);
template<typename T> bool operator != (octonion<T> const & lhs, octonion<T> const & rhs);
-These return true if and only if `octonion<T>(lhs) == octonion<T>(rhs)`
+These return true if and only if `octonion<T>(lhs) == octonion<T>(rhs)`
is false. As with any floating-type entity, this is essentially meaningless.
[h4 Stream Extractor]
@@ -744,11 +717,11 @@ is false. As with any floating-type entity, this is essentially meaningless.
template<typename T, typename charT, class traits>
::std::basic_istream<charT,traits> & operator >> (::std::basic_istream<charT,traits> & is, octonion<T> & o);
-Extracts an octonion `o`. We accept any format which seems reasonable.
-However, since this leads to a great many ambiguities, decisions were made
+Extracts an octonion `o`. We accept any format which seems reasonable.
+However, since this leads to a great many ambiguities, decisions were made
to lift these. In case of doubt, stick to lists of reals.
-The input values must be convertible to T. If bad input is encountered,
+The input values must be convertible to T. If bad input is encountered,
calls `is.setstate(ios::failbit)` (which may throw `ios::failure` (27.4.5.3)).
Returns `is`.
@@ -781,10 +754,10 @@ Inserts the octonion `o` onto the stream `os` as if it were implemented as follo
return os << s.str();
}
-
+
[endsect]
-[section Octonion Value Operations]
+[section:oct_value_ops Octonion Value Operations]
[h4 Real and Unreal]
@@ -803,14 +776,14 @@ This returns the conjugate of the octonion.
template<typename T> T sup(octonion<T> const & o);
-This return the sup norm (the greatest among
+This return the sup norm (the greatest among
`abs(o.R_component_1())...abs(o.R_component_8()))` of the octonion.
[h4 l1]
template<typename T> T l1(octonion<T> const & o);
-This return the l1 norm (`abs(o.R_component_1())+...+abs(o.R_component_8())`)
+This return the l1 norm (`abs(o.R_component_1())+...+abs(o.R_component_8())`)
of the octonion.
[h4 abs]
@@ -823,10 +796,10 @@ This return the magnitude (Euclidian norm) of the octonion.
template<typename T> T norm(octonion<T>const & o);
-This return the (Cayley) norm of the octonion. The term "norm" might
-be confusing, as most people associate it with the Euclidian norm
-(and quadratic functionals). For this version of (the mathematical
-objects known as) octonions, the Euclidian norm (also known as
+This return the (Cayley) norm of the octonion. The term "norm" might
+be confusing, as most people associate it with the Euclidian norm
+(and quadratic functionals). For this version of (the mathematical
+objects known as) octonions, the Euclidian norm (also known as
magnitude) is the square root of the Cayley norm.
[endsect]
@@ -837,149 +810,150 @@ magnitude) is the square root of the Cayley norm.
template<typename T> octonion<T> multipolar(T const & rho1, T const & theta1, T const & rho2, T const & theta2, T const & rho3, T const & theta3, T const & rho4, T const & theta4);
template<typename T> octonion<T> cylindrical(T const & r, T const & angle, T const & h1, T const & h2, T const & h3, T const & h4, T const & h5, T const & h6);
-These build octonions in a way similar to the way polar builds
-complex numbers, as there is no strict equivalent to
+These build octonions in a way similar to the way polar builds
+complex numbers, as there is no strict equivalent to
polar coordinates for octonions.
-`spherical` is a simple transposition of `polar`, it takes as inputs a
-(positive) magnitude and a point on the hypersphere, given
-by three angles. The first of these, ['theta] has a natural range of
--pi to +pi, and the other two have natural ranges of
--pi/2 to +pi/2 (as is the case with the usual spherical
-coordinates in __R3). Due to the many symmetries and periodicities,
-nothing untoward happens if the magnitude is negative or the angles are
-outside their natural ranges. The expected degeneracies (a magnitude of
+`spherical` is a simple transposition of `polar`, it takes as inputs a
+(positive) magnitude and a point on the hypersphere, given
+by three angles. The first of these, ['theta] has a natural range of
+-pi to +pi, and the other two have natural ranges of
+-pi/2 to +pi/2 (as is the case with the usual spherical
+coordinates in __R3). Due to the many symmetries and periodicities,
+nothing untoward happens if the magnitude is negative or the angles are
+outside their natural ranges. The expected degeneracies (a magnitude of
zero ignores the angles settings...) do happen however.
-`cylindrical` is likewise a simple transposition of the usual
-cylindrical coordinates in __R3, which in turn is another derivative of
-planar polar coordinates. The first two inputs are the polar
-coordinates of the first __C component of the octonion. The third and
-fourth inputs are placed into the third and fourth __R components of the
+`cylindrical` is likewise a simple transposition of the usual
+cylindrical coordinates in __R3, which in turn is another derivative of
+planar polar coordinates. The first two inputs are the polar
+coordinates of the first __C component of the octonion. The third and
+fourth inputs are placed into the third and fourth __R components of the
octonion, respectively.
-`multipolar` is yet another simple generalization of polar coordinates.
+`multipolar` is yet another simple generalization of polar coordinates.
This time, both __C components of the octonion are given in polar coordinates.
-In this version of our implementation of octonions, there is no
-analogue of the complex value operation arg as the situation is
+In this version of our implementation of octonions, there is no
+analogue of the complex value operation arg as the situation is
somewhat more complicated.
[endsect]
-[section Octonions Transcendentals]
+[section:oct_trans Octonions Transcendentals]
-There is no `log` or `sqrt` provided for octonions in this implementation,
-and `pow` is likewise restricted to integral powers of the exponent.
-There are several reasons to this: on the one hand, the equivalent of
-analytic continuation for octonions ("branch cuts") remains to be
-investigated thoroughly (by me, at any rate...), and we wish to avoid
-the nonsense introduced in the standard by exponentiations of
-complexes by complexes (which is well defined, but not in the standard...).
-Talking of nonsense, saying that `pow(0,0)` is "implementation defined" is
+There is no `log` or `sqrt` provided for octonions in this implementation,
+and `pow` is likewise restricted to integral powers of the exponent.
+There are several reasons to this: on the one hand, the equivalent of
+analytic continuation for octonions ("branch cuts") remains to be
+investigated thoroughly (by me, at any rate...), and we wish to avoid
+the nonsense introduced in the standard by exponentiations of
+complexes by complexes (which is well defined, but not in the standard...).
+Talking of nonsense, saying that `pow(0,0)` is "implementation defined" is
just plain brain-dead...
-We do, however provide several transcendentals, chief among which is
-the exponential. That it allows for a "closed formula" is a result
-of the author (the existence and definition of the exponential, on the
-octonions among others, on the other hand, is a few centuries old).
-Basically, any converging power series with real coefficients which
-allows for a closed formula in __C can be transposed to __O. More
-transcendentals of this type could be added in a further revision upon
-request. It should be noted that it is these functions which force the
-dependency upon the
-[@../../../../../boost/math/special_functions/sinc.hpp boost/math/special_functions/sinc.hpp]
-and the
-[@../../../../../boost/math/special_functions/sinhc.hpp boost/math/special_functions/sinhc.hpp]
+We do, however provide several transcendentals, chief among which is
+the exponential. That it allows for a "closed formula" is a result
+of the author (the existence and definition of the exponential, on the
+octonions among others, on the other hand, is a few centuries old).
+Basically, any converging power series with real coefficients which
+allows for a closed formula in __C can be transposed to __O. More
+transcendentals of this type could be added in a further revision upon
+request. It should be noted that it is these functions which force the
+dependency upon the
+[@../../../../boost/math/special_functions/sinc.hpp boost/math/special_functions/sinc.hpp]
+and the
+[@../../../../boost/math/special_functions/sinhc.hpp boost/math/special_functions/sinhc.hpp]
headers.
[h4 exp]
- template<typename T>
+ template<typename T>
octonion<T> exp(octonion<T> const & o);
Computes the exponential of the octonion.
[h4 cos]
- template<typename T>
+ template<typename T>
octonion<T> cos(octonion<T> const & o);
Computes the cosine of the octonion
[h4 sin]
- template<typename T>
+ template<typename T>
octonion<T> sin(octonion<T> const & o);
Computes the sine of the octonion.
[h4 tan]
- template<typename T>
+ template<typename T>
octonion<T> tan(octonion<T> const & o);
Computes the tangent of the octonion.
[h4 cosh]
- template<typename T>
+ template<typename T>
octonion<T> cosh(octonion<T> const & o);
Computes the hyperbolic cosine of the octonion.
[h4 sinh]
- template<typename T>
+ template<typename T>
octonion<T> sinh(octonion<T> const & o);
Computes the hyperbolic sine of the octonion.
[h4 tanh]
- template<typename T>
+ template<typename T>
octonion<T> tanh(octonion<T> const & o);
Computes the hyperbolic tangent of the octonion.
[h4 pow]
- template<typename T>
+ template<typename T>
octonion<T> pow(octonion<T> const & o, int n);
Computes the n-th power of the octonion q.
[endsect]
-[section Test Program]
+[section:oct_tests Test Program]
-The [@../../../octonion/octonion_test.cpp octonion_test.cpp]
-test program tests octonions specialisations for float, double and long double
-([@../../../octonion/output.txt sample output]).
+The [@../../octonion/octonion_test.cpp octonion_test.cpp]
+test program tests octonions specialisations for float, double and long double
+([@../../octonion/output.txt sample output]).
-If you define the symbol BOOST_OCTONION_TEST_VERBOSE, you will get additional
-output ([@../../../octonion/output_more.txt verbose output]); this will
-only be helpfull if you enable message output at the same time, of course
-(by uncommenting the relevant line in the test or by adding --log_level=messages
-to your command line,...). In that case, and if you are running interactively,
-you may in addition define the symbol BOOST_INTERACTIVE_TEST_INPUT_ITERATOR to
-interactively test the input operator with input of your choice from the
+If you define the symbol BOOST_OCTONION_TEST_VERBOSE, you will get additional
+output ([@../../octonion/output_more.txt verbose output]); this will
+only be helpfull if you enable message output at the same time, of course
+(by uncommenting the relevant line in the test or by adding --log_level=messages
+to your command line,...). In that case, and if you are running interactively,
+you may in addition define the symbol BOOST_INTERACTIVE_TEST_INPUT_ITERATOR to
+interactively test the input operator with input of your choice from the
standard input (instead of hard-coding it in the test).
[endsect]
-[section Acknowledgements]
+[section:acknowledgements Acknowledgements]
-The mathematical text has been typeset with
-[@http://www.nisus-soft.com/ Nisus Writer].
-Jens Maurer has helped with portability and standard adherence, and was the
-Review Manager for this library. More acknowledgements in the
+The mathematical text has been typeset with
+[@http://www.nisus-soft.com/ Nisus Writer].
+Jens Maurer has helped with portability and standard adherence, and was the
+Review Manager for this library. More acknowledgements in the
History section. Thank you to all who contributed to the discussion about this library.
[endsect]
-[section History]
+[section:oct_history History]
+* 1.5.9 - 13/5/2013: Incorporated into Boost.Math.
* 1.5.8 - 17/12/2005: Converted documentation to Quickbook Format.
* 1.5.7 - 25/02/2003: transitionned to the unit test framework; <boost/config.hpp> now included by the library header (rather than the test files), via <boost/math/quaternion.hpp>.
* 1.5.6 - 15/10/2002: Gcc2.95.x and stlport on linux compatibility by Alkis Evlogimenos (alkis@routescience.com).
@@ -994,16 +968,24 @@ History section. Thank you to all who contributed to the discussion about this l
* 1.3.0 - 12/07/2000: pow now uses Maarten Hilferink's (mhilferink@tip.nl) algorithm.
* 1.2.0 - 25/05/2000: fixed the division operators and output; changed many signatures.
* 1.1.0 - 23/05/2000: changed sinc into sinc_pi; added sin, cos, sinh, cosh.
-* 1.0.0 - 10/08/1999: first public version.
+* 1.0.0 - 10/08/1999: first public version.
[endsect]
-[section To Do]
+[section:oct_todo To Do]
* Improve testing.
* Rewrite input operatore using Spirit (creates a dependency).
-* Put in place an Expression Template mechanism (perhaps borrowing from uBlas).
+* Put in place an Expression Template mechanism (perhaps borrowing from uBlas).
[endsect]
-[endsect]
+[endmathpart]
+
+
+[/
+Copyright 1999, 2005, 2013 Hubert Holin.
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/overview/building.qbk b/libs/math/doc/overview/building.qbk
new file mode 100644
index 0000000000..05618d36aa
--- /dev/null
+++ b/libs/math/doc/overview/building.qbk
@@ -0,0 +1,106 @@
+[section:building If and How to Build a Boost.Math Library, and its Examples and Tests]
+
+[h4 Building a Library (shared, dynamic .dll or static .lib)]
+
+The first thing you need to ask yourself is "Do I need to build anything at all?"
+as the bulk of this library is header only: meaning you can use it just by
+#including the necessary header(s).
+
+For most simple uses,
+including a header (or few) is best for compile time and program size.
+
+Refer to
+[link extern_c C99 and C++ TR1 C-style Functions]
+for pros and cons of using
+the TR1 components as opposed to the header only ones.
+
+The ['only] time you ['need] to build the library is if you want to use the
+`extern "C"` functions declared in `<boost/math/tr1.hpp>`. To build this
+using Boost.Build, from a commandline boost-root directory issue a command like:
+
+ bjam toolset=gcc --with-math install
+
+that will do the job on Linux, while:
+
+ bjam toolset=msvc --with-math --build-type=complete stage
+
+will work better on Windows (leaving libraries built
+in sub-folder `/stage` below your Boost root directory).
+Either way you should consult the
+[@http://www.boost.org/doc/libs/release/more/getting_started/index.html
+getting started guide] for more information.
+
+You can also build the libraries from your favourite IDE or command line tool:
+each `extern "C"` function declared in `<boost/math/tr1.hpp>` has its own
+source file with the same name in `libs/math/src/tr1`. Just select the
+sources corresponding to the functions you are using and build them into
+a library, or else add them directly to your project. Note that the
+directory `libs/math/src/tr1` will need to be in your compiler's
+#include path as well as the boost-root directory
+(MSVC Tools, Options, Projects and Solutions, VC++ Directories, Include files).
+
+[note If you are using
+a Windows compiler that supports auto-linking and you have built the sources
+yourself (or added them directly to your project) then you will need to
+prevent `<boost/math/tr1.hpp>` from trying to auto-link to the binaries
+that Boost.Build generates. You can do this by defining either
+BOOST_MATH_NO_LIB or BOOST_ALL_NO_LIB at project level
+(so the defines get passed to each compiler invocation).
+]
+
+Optionally the sources in `libs/math/src/tr1` have support for using
+`libs/math/src/tr1/pch.hpp` as a precompiled header
+['if your compiler supports precompiled headers.] Note that normally
+this header is a do-nothing include: to activate the header so that
+it #includes everything required by all the sources you will need to
+define BOOST_BUILD_PCH_ENABLED on the command line, both when building
+the pre-compiled header and when building the sources. Boost.Build
+will do this automatically when appropriate.
+
+[h4 Building the Examples]
+
+The examples are all located in `libs/math/example`, they can all
+be built without reference to any external libraries, either with
+Boost.Build using the supplied Jamfile, or from your compiler's
+command line. The only requirement is that the Boost headers are
+in your compilers #include search path.
+
+[h4 Building the Tests]
+
+The tests are located in `libs/math/test` and are best built
+using Boost.Build and the supplied Jamfile. If you plan to
+build them separately from your favourite IDE then you will
+need to add `libs/math/test` to the list of your compiler's
+search paths.
+
+You will also need to build and link to
+the Boost.Regex library for many of the tests: this can built
+from the command line by following the
+[@http://www.boost.org/doc/libs/release/more/getting_started/index.html
+getting started guide], using a command such as:
+
+ bjam toolset=gcc --with-regex install
+
+or
+
+ bjam toolset=msvc --with-regex --build-type=complete stage
+
+depending on whether you are on Linux or Windows.
+
+Many of the tests have optional precompiled header support
+using the header `libs/math/test/pch.hpp`.
+Note that normally
+this header is a do-nothing include: to activate the header so that
+it #includes everything required by all the sources you will need to
+define BOOST_BUILD_PCH_ENABLED on the command line, both when building
+the pre-compiled header and when building the sources. Boost.Build
+will do this automatically when appropriate.
+
+[endsect]
+
+[/ building.qbk
+ Copyright 2006, 2007, 2008, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/overview/common_overviews.qbk b/libs/math/doc/overview/common_overviews.qbk
new file mode 100644
index 0000000000..bf10defd3d
--- /dev/null
+++ b/libs/math/doc/overview/common_overviews.qbk
@@ -0,0 +1,226 @@
+
+
+[template policy_overview[]
+
+Policies are a powerful fine-grain mechanism that allow you to customise the
+behaviour of this library according to your needs. There is more information
+available in the [link math_toolkit.pol_tutorial policy tutorial]
+and the [link math_toolkit.pol_ref policy reference].
+
+Generally speaking, unless you find that the
+[link math_toolkit.pol_tutorial.policy_tut_defaults
+ default policy behaviour]
+when encountering 'bad' argument values does not meet your needs,
+you should not need to worry about policies.
+
+Policies are a compile-time mechanism that allow you to change
+error-handling or calculation precision either
+program wide, or at the call site.
+
+Although the policy mechanism itself is rather complicated,
+in practice it is easy to use, and very flexible.
+
+Using policies you can control:
+
+* [link math_toolkit.pol_ref.error_handling_policies How results from 'bad' arguments are handled],
+ including those that cannot be fully evaluated.
+* How [link math_toolkit.pol_ref.internal_promotion accuracy is controlled by internal promotion] to use more precise types.
+* What working [link math_toolkit.pol_ref.precision_pol precision] should be used to calculate results.
+* What to do when a [link math_toolkit.pol_ref.assert_undefined mathematically undefined function]
+ is used: Should this raise a run-time or compile-time error?
+* Whether [link math_toolkit.pol_ref.discrete_quant_ref discrete functions],
+ like the binomial, should return real or only integral values, and how they are rounded.
+* How many iterations a special function is permitted to perform in
+ a series evaluation or root finding algorithm before it gives up and raises an
+ __evaluation_error.
+
+You can control policies:
+
+* Using [link math_toolkit.pol_ref.policy_defaults macros] to
+change any default policy: the is the prefered method for installation
+wide policies.
+* At your chosen [link math_toolkit.pol_ref.namespace_pol
+namespace scope] for distributions and/or functions: this is the
+prefered method for project, namespace, or translation unit scope
+policies.
+* In an ad-hoc manner [link math_toolkit.pol_tutorial.ad_hoc_sf_policies
+by passing a specific policy to a special function], or to a
+[link math_toolkit.pol_tutorial.ad_hoc_dist_policies
+statistical distribution].
+
+]
+
+[template performance_overview[]
+
+By and large the performance of this library should be acceptable
+for most needs. However, you should note that this library's primary
+emphasis is on accuracy and numerical stability, and /not/ speed.
+
+In terms of the algorithms used, this library aims to use the same "best
+of breed" algorithms as many other libraries: the principle difference
+is that this library is implemented in C++ - taking advantage of all
+the abstraction mechanisms that C++ offers - where as most traditional
+numeric libraries are implemented in C or FORTRAN. Traditionally
+languages such as C or FORTRAN are perceived as easier to optimise
+than more complex languages like C++, so in a sense this library
+provides a good test of current compiler technology, and the
+"abstraction penalty" - if any - of C++ compared to other languages.
+
+The two most important things you can do to ensure the best performance
+from this library are:
+
+# Turn on your compilers optimisations: the difference between "release"
+and "debug" builds can easily be a [link math_toolkit.getting_best factor of 20].
+# Pick your compiler carefully: [link math_toolkit.comp_compilers
+performance differences of up to
+8 fold] have been found between some Windows compilers for example.
+
+The [link perf performance section] contains more
+information on the performance
+of this library, what you can do to fine tune it, and how this library
+compares to some other open source alternatives.
+
+]
+
+[template compilers_overview[]
+
+This section contains some information about how various compilers
+work with this library.
+It is not comprehensive and updated experiences are always welcome.
+Some effort has been made to suppress unhelpful warnings but it is
+difficult to achieve this on all systems.
+
+[table Supported/Tested Compilers
+[[Platform][Compiler][Has long double support][Notes]]
+[[Windows][MSVC 7.1 and later][Yes]
+ [All tests OK.
+
+ We aim to keep our headers warning free at level 4 with
+ this compiler.]]
+[[Windows][Intel 8.1 and later][Yes]
+ [All tests OK.
+
+ We aim to keep our headers warning free at level 4 with
+ this compiler. However, The tests cases tend to generate a lot of
+ warnings relating to numeric underflow of the test data: these are
+ harmless.]]
+[[Windows][GNU Mingw32 C++][Yes]
+ [All tests OK.
+
+ We aim to keep our headers warning free with -Wall with this compiler.]]
+[[Windows][GNU Cygwin C++][No]
+ [All tests OK.
+
+ We aim to keep our headers warning free with -Wall with this compiler.
+
+ Long double support has been disabled because there are no native
+ long double C std library functions available.]]
+[[Windows][Borland C++ 5.8.2 (Developer studio 2006)][No]
+ [We have only partial compatability with this compiler:
+
+ Long double support has been disabled because the native
+ long double C standard library functions really only forward to the
+ double versions. This can result in unpredictable behaviour when
+ using the long double overloads: for example `sqrtl` applied to a
+ finite value, can result in an infinite result.
+
+ Some functions still fail to compile, there are no known workarounds at present.]]
+[[Windows 7/Netbeans 7.2][Clang 3.1][Yes][Spot examples OK. Expect all tests to compile and run OK.]]
+
+[[Linux][GNU C++ 3.4 and later][Yes]
+ [All tests OK.
+
+ We aim to keep our headers warning free with -Wall with this compiler.]]
+[[Linux][Clang 3.2][Yes][All tests OK.]]
+[[Linux][Intel C++ 10.0 and later][Yes]
+ [All tests OK.
+
+ We aim to keep our headers warning free with -Wall with this compiler.
+ However, The tests cases tend to generate a lot of
+ warnings relating to numeric underflow of the test data: these are
+ harmless.]]
+[[Linux][Intel C++ 8.1 and 9.1][No]
+ [All tests OK.
+
+ Long double support has been disabled with these compiler releases
+ because calling the standard library long double math functions
+ can result in a segfault. The issue is Linux distribution and
+ glibc version specific and is Intel bug report #409291. Fully up to date
+ releases of Intel 9.1 (post version l_cc_c_9.1.046)
+ shouldn't have this problem. If you need long
+ double support with this compiler, then comment out the define of
+ BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS at line 55 of
+ [@../../../../boost/math/tools/config.hpp boost/math/tools/config.hpp].
+
+ We aim to keep our headers warning free with -Wall with this compiler.
+ However, The tests cases tend to generate a lot of
+ warnings relating to numeric underflow of the test data: these are
+ harmless.]]
+[[Linux][QLogic PathScale 3.0][Yes]
+ [Some tests involving conceptual checks fail to build, otherwise
+ there appear to be no issues.]]
+[[Linux][Sun Studio 12][Yes]
+ [Some tests involving function overload resolution fail to build,
+ these issues should be rairly encountered in practice.]]
+[[Solaris][Sun Studio 12][Yes]
+ [Some tests involving function overload resolution fail to build,
+ these issues should be rairly encountered in practice.]]
+[[Solaris][GNU C++ 4.x][Yes]
+ [All tests OK.
+
+ We aim to keep our headers warning free with -Wall with this compiler.]]
+[[HP Tru64][Compaq C++ 7.1][Yes]
+ [All tests OK.]]
+[[HP-UX Itanium][HP aCC 6.x][Yes]
+ [All tests OK.
+
+ Unfortunately this compiler emits quite a few warnings from libraries
+ upon which we depend (TR1, Array etc).]]
+[[HP-UX PA-RISC][GNU C++ 3.4][No]
+ [All tests OK.]]
+[[Apple Mac OS X, Intel][Darwin/GNU C++ 4.x][Yes][All tests OK.]]
+[[Apple Mac OS X, PowerPC][Darwin/GNU C++ 4.x][No]
+ [All tests OK.
+
+ Long double support has been disabled on this platform due to the
+ rather strange nature of Darwin's 106-bit long double
+ implementation. It should be possible to make this work if someone
+ is prepared to offer assistance.]]
+[[Apple Mac OS X,][Clang 3.2][Yes][All tests expected to be OK.]]
+[[IBM AIX][IBM xlc 5.3][Yes]
+ [All tests pass except for our fpclassify tests which fail due to a
+ bug in `std::numeric_limits`, the bug effects the test code, not
+ fpclassify itself. The IBM compiler group are aware of the problem.]]
+]
+
+[table Unsupported Compilers
+[[Platform][Compiler]]
+[[Windows][Borland C++ 5.9.2 (Borland Developer Studio 2007)]]
+[[Windows][MSVC 6 and 7]]
+]
+
+If your compiler or platform is not listed above, please try running the
+regression tests: cd into boost-root/libs/math/test and do a:
+
+ bjam mytoolset
+
+where "mytoolset" is the name of the
+[@http://www.boost.org/doc/html/bbv2.html Boost.Build]
+toolset used for your
+compiler. The chances are that [*many of the accuracy tests will fail
+at this stage] - don't panic - the default acceptable error tolerances
+are quite tight, especially for long double types with an extended
+exponent range (these cause more extreme test cases to be executed
+for some functions).
+You will need to cast an eye over the output from
+the failing tests and make a judgement as to whether
+the error rates are acceptable or not.
+]
+
+[/ common_overviews.qbk
+ Copyright 2007, 2012, 2014 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/overview/config_macros.qbk b/libs/math/doc/overview/config_macros.qbk
new file mode 100644
index 0000000000..6d5e52c4cf
--- /dev/null
+++ b/libs/math/doc/overview/config_macros.qbk
@@ -0,0 +1,61 @@
+[section:config_macros Configuration Macros]
+
+Almost all configuration details are set up automatically by
+`<boost\math\tools\config.hpp>`.
+
+In normal use, only policy configuration macros are likely to be used. See __policy_ref.
+
+For reference, information on Boost.Math macros used internally are described briefly below.
+
+[table Boost.Math Macros
+[[MACRO][Notes]]
+[[`BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS`] [Do not produce or use long double functions: this macro gets set when the platform's
+long double or standard library long double support is absent or buggy.]]
+[[`BOOST_MATH_USE_FLOAT128`][When set the numeric constants support the `__float128` data type with constants having the `Q` suffix.]]
+[[`BOOST_MATH_DISABLE_FLOAT128`][When set the numeric constants do not use the `__float128` data type even if the compiler appears to support it.]]
+[[`BOOST_MATH_NO_REAL_CONCEPT_TESTS`] [Do not try to use real concept tests (hardware or software does not support real_concept type).]]
+[[`BOOST_MATH_CONTROL_FP`] [Controls FP hardware exceptions - our tests don't support hardware exceptions on MSVC.
+May get set to something like: ` _control87(MCW_EM,MCW_EM)`.]]
+[[`BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS`] [This macro is used by our test cases, it is set when an assignment of a function template
+to a function pointer requires explicit template arguments to be provided on the function name.]]
+[[`BOOST_MATH_USE_C99` ] [Use C99 math functions.]]
+[[`BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY`] [define if no native (or buggy) `fpclassify(long double)`
+even though the other C99 functions are present.]]
+[[`BOOST_MATH_SMALL_CONSTANT(x)`] [Helper macro used in our test cases to set underflowing constants set to zero
+if this would cause compiler issues.]]
+[[`BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS`] [Set if constants too large for a float, will cause "bad" values to be stored in the data,
+rather than infinity or a suitably large value.]]
+[[`BOOST_MATH_STD_USING`] [Provides `using` statements for many std:: (abs to sqrt) and boost::math (rounds, modf) functions.
+This allows these functions to be called unqualified so that if
+[@http://en.wikipedia.org/wiki/Argument-dependent_name_lookup argument-dependent Argument Dependent Lookup]
+fails to find a suitable overload, then the std:: versions will also be considered.]]
+[[`BOOST_FPU_EXCEPTION_GUARD`] [Used at the entrypoint to each special function to reset all FPU exception flags prior
+to internal calculations, and then merge the old and new exception flags on function exit. Used as a workaround
+on platforms or hardware that behave strangely if any FPU exception flags are set when calling standard library
+functions.]]
+[[`BOOST_MATH_INSTRUMENT`] [Define to output diagnostics for math functions. This is rather 'global' to Boost.Math and so
+coarse-grained that it will probably produce copious output! (Especially because full precision values are output).
+Designed primarily for internal use and development.]]
+[[`BOOST_MATH_INSTRUMENT_CODE(x)`] [Output selected named variable, for example `BOOST_MATH_INSTRUMENT_CODE("guess = " << guess)`; Used by `BOOST_MATH_INSTRUMENT`]]
+[[`BOOST_MATH_INSTRUMENT_VARIABLE(name)`] [Output selected variable, for example `BOOST_MATH_INSTRUMENT_VARIABLE(result);` Used by `BOOST_MATH_INSTRUMENT`]]
+[[`BOOST_MATH_INSTRUMENT_FPU`] [Output the state of the FPU's control flags.]]
+] [/table]
+
+[table Boost.Math Tuning
+[[ Macros for Tuning performance options for specific compilers] [Notes]]
+[[`BOOST_MATH_POLY_METHOD`] [See the [link math_toolkit.tuning performance tuning section].]]
+[[`BOOST_MATH_RATIONAL_METHOD`] [See the [link math_toolkit.tuning performance tuning section].]]
+[[`BOOST_MATH_MAX_POLY_ORDER`] [See the [link math_toolkit.tuning performance tuning section].]]
+[[`BOOST_MATH_INT_TABLE_TYPE`] [See the [link math_toolkit.tuning performance tuning section].]]
+[[`BOOST_MATH_INT_VALUE_SUFFIX`] [Helper macro for appending the correct suffix to integer constants
+which may actually be stored as reals depending on the value of BOOST_MATH_INT_TABLE_TYPE.]]
+] [/table]
+
+[endsect] [/section:config_macros Configuration Macros]
+
+[/
+ Copyright 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/contact_info.qbk b/libs/math/doc/overview/contact_info.qbk
index ba8c40e18e..ba8c40e18e 100644
--- a/libs/math/doc/sf_and_dist/contact_info.qbk
+++ b/libs/math/doc/overview/contact_info.qbk
diff --git a/libs/math/doc/overview/credits.qbk b/libs/math/doc/overview/credits.qbk
new file mode 100644
index 0000000000..3b713509b5
--- /dev/null
+++ b/libs/math/doc/overview/credits.qbk
@@ -0,0 +1,114 @@
+[section:credits Credits and Acknowledgements]
+
+Hubert Holin started the Boost.Math library. The
+Quaternions, Octonions, inverse
+hyperbolic functions, and the sinus cardinal functions are his.
+
+Daryle Walker wrote the integer gcd and lcm functions.
+
+John Maddock started the special functions, the beta, gamma, erf, polynomial,
+and factorial functions are his, as is the "Toolkit" section, and many
+of the statistical distributions.
+
+Paul A. Bristow threw down the challenge in
+[@http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2004/n1668.pdf
+A Proposal to add Mathematical Functions for Statistics to the C++
+Standard Library] to add the key math functions, especially those essential for
+statistics. After JM accepted and solved the difficult problems,
+not only numerically, but in full C++ template style, PAB
+implemented a few of the statistical distributions. PAB also tirelessly
+proof-read everything that JM threw at him (so that all
+remaining editorial mistakes are his fault).
+
+Xiaogang Zhang worked on the Bessel functions and elliptic integrals for his
+Google Summer of Code project 2006.
+
+Bruno Lalande submitted the "compile time power of a runtime base" code.
+
+Johan R'''&#xE5;'''de wrote the optimised floating-point classification
+and manipulation code, and nonfinite facets to permit C99 output of infinities and NaNs.
+(nonfinite facets were not added until Boost 1.47 but had been in use with Boost.Spirit).
+This library was based on a suggestion from Robert Ramey, author of Boost.Serialization.
+Paul A. Bristow expressed the need for better handling of
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf
+Input & Output of NaN and infinity for the C++ Standard Library]
+and suggested following the C99 format.
+
+Antony Polukhin improved lexical cast avoiding stringstream so that
+it was no longer necessary to use a globale C99 facet to handle nonfinites.
+
+H'''&#xE5;'''kan Ard'''&#xF6;''',
+Boris Gubenko, John Maddock,
+Markus Sch'''&#xF6;'''pflin
+and Olivier Verdier tested the floating-point library and
+Martin Bonner, Peter Dimov and John Maddock provided valuable advice.
+
+Gautam Sewani coded the logistic distribution as part of a Google Summer of Code project 2008.
+
+M. A. (Thijs) van den Berg coded the Laplace distribution.
+(Thijs has also threatened to implement some multivariate distributions).
+
+Thomas Mang requested the inverse gamma in chi squared distributions
+for Bayesian applications and helped in their implementation,
+and provided a nice example of their use.
+
+Professor Nico Temme for advice on the inverse incomplete beta function.
+
+[@http://www.shoup.net Victor Shoup for NTL],
+without which it would have much more difficult to
+produce high accuracy constants, and especially
+the tables of accurate values for testing.
+
+We are grateful to Joel Guzman for helping us stress-test his
+[@http://www.boost.org/tools/quickbook/index.htm Boost.Quickbook]
+program used to generate the html and pdf versions
+of this document, adding several new features en route.
+
+Plots of the functions and distributions were prepared in
+[@http://www.w3.org/ W3C] standard
+[@http://www.svg.org/ Scalable Vector Graphic (SVG)] format
+using a program created by Jacob Voytko during a
+[@http://code.google.com/soc/2007/ Google Summer of Code (2007)].
+From 2012, the latest versions of all Internet Browsers have support
+for rendering SVG (with varying quality). Older versions, especially
+(Microsoft Internet Explorer (before IE 9) lack native SVG support
+but can be made to work with
+[@http://www.adobe.com/svg/viewer/install/ Adobe's free SVG viewer] plugin).
+The SVG files can be converted to JPEG or PNG using
+[@http://www.inkscape.org/ Inkscape].
+
+We are also indebted to Matthias Schabel for managing the formal Boost-review
+of this library, and to all the reviewers - including Guillaume Melquiond,
+Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland
+- for their many helpful comments.
+
+Thanks to Mark Coleman and Georgi Boshnakov for spot test values
+from __Mathematica, and of course,
+to Eric Weisstein for nurturing __Mathworld, an invaluable resource.
+
+The Skew-normal distribution and Owen's t function were written by Benjamin Sobotta.
+
+We thank Thomas Mang for persuading us to allow t distributions
+to have infinite degrees of freedom
+and contributing to some long discussions about how to improve accuracy
+for large non-centrality and/or large degrees of freedom.
+
+Christopher Kormanyos wrote the e_float multiprecision library __TOMS910
+which formed the basis for the Boost.Multiprecision library
+which now can be used to allow most functions and distributions
+to be computed up to a precision of the users' choice,
+no longer restricted to built-in floating-point types like double.
+(And thanks to Topher Cooper for bring Christopher's e_float to our attention).
+
+Christopher Kormanyos wrote some examples for using __multiprecision,
+and added methods for finding zeros of Bessel Functions.
+
+[endsect] [/section:credits Credits and Acknowledgements]
+
+[/
+ Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/overview/error_handling.qbk b/libs/math/doc/overview/error_handling.qbk
new file mode 100644
index 0000000000..07eeffa367
--- /dev/null
+++ b/libs/math/doc/overview/error_handling.qbk
@@ -0,0 +1,403 @@
+[section:error_handling Error Handling]
+
+[def __format [@../../../format/index.html Boost.Format]]
+
+[heading Quick Reference]
+
+Handling of errors by this library is split into two orthogonal parts:
+
+* What kind of error has been raised?
+* What should be done when the error is raised?
+
+[warning The default error actions are to throw an exception with an informative error message.
+If you do not try to catch the exception, you will not see the message!]
+
+The kinds of errors that can be raised are:
+
+[variablelist
+[[Domain Error][Occurs when one or more arguments to a function
+ are out of range.]]
+[[Pole Error][Occurs when the particular arguments cause the function to be
+ evaluated at a pole with no well defined residual value. For example if
+ __tgamma is evaluated at exactly -2, the function approaches different limiting
+ values depending upon whether you approach from just above or just below
+ -2. Hence the function has no well defined value at this point and a
+ Pole Error will be raised.]]
+[[Overflow Error][Occurs when the result is either infinite, or too large
+ to represent in the numeric type being returned by the function.]]
+[[Underflow Error][Occurs when the result is not zero, but is too small
+ to be represented by any other value in the type being returned by
+ the function.]]
+[[Denormalisation Error][Occurs when the returned result would be a denormalised value.]]
+[[Rounding Error][Occurs when the argument to one of the rounding functions __trunc,
+ __round and __modf can not be represented as an integer type, is
+ outside the range of the result type.]]
+[[Evaluation Error][Occurs if no method of evaluation is known,
+ or when an internal error occurred that prevented the
+ result from being evaluated: this should never occur, but if it does, then
+ it's likely to be due to an iterative method not converging fast enough.]]
+[[Indeterminate Result Error][Occurs when the result of a function is not
+ defined for the values that were passed to it.]]
+]
+
+The action undertaken by each error condition is determined by the current
+__Policy in effect. This can be changed program-wide by setting some
+configuration macros, or at namespace scope, or at the call site (by
+specifying a specific policy in the function call).
+
+The available actions are:
+
+[variablelist
+[[throw_on_error][Throws the exception most appropriate to the error condition.]]
+[[errno_on_error][Sets ::errno to an appropriate value, and then returns the most
+appropriate result]]
+[[ignore_error][Ignores the error and simply the returns the most appropriate result.]]
+[[user_error][Calls a
+ [link math_toolkit.pol_tutorial.user_def_err_pol user-supplied error handler].]]
+]
+
+The following tables show all the permutations of errors and actions,
+with the *default action for each error shown in bold*:
+
+[table Possible Actions for Domain Errors
+[[Action] [Behaviour]]
+[[throw_on_error][[*Throws `std::domain_error`]]]
+[[errno_on_error][Sets `::errno` to `EDOM` and returns `std::numeric_limits<T>::quiet_NaN()`]]
+[[ignore_error][Returns `std::numeric_limits<T>::quiet_NaN()`]]
+[[user_error][Returns the result of `boost::math::policies::user_domain_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+[table Possible Actions for Pole Errors
+[[Action] [Behaviour]]
+[[throw_on_error] [[*Throws `std::domain_error`]]]
+[[errno_on_error][Sets `::errno` to `EDOM` and returns `std::numeric_limits<T>::quiet_NaN()`]]
+[[ignore_error][Returns `std::numeric_limits<T>::quiet_NaN()`]]
+[[user_error][Returns the result of `boost::math::policies::user_pole_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+[table Possible Actions for Overflow Errors
+[[Action] [Behaviour]]
+[[throw_on_error][[*Throws `std::overflow_error`]]]
+[[errno_on_error][Sets `::errno` to `ERANGE` and returns `std::numeric_limits<T>::infinity()`]]
+[[ignore_error][Returns `std::numeric_limits<T>::infinity()`]]
+[[user_error][Returns the result of `boost::math::policies::user_overflow_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+[table Possible Actions for Underflow Errors
+[[Action] [Behaviour]]
+[[throw_on_error][Throws `std::underflow_error`]]
+[[errno_on_error][Sets `::errno` to `ERANGE` and returns 0.]]
+[[ignore_error][[*Returns 0]]]
+[[user_error][Returns the result of `boost::math::policies::user_underflow_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+[table Possible Actions for Denorm Errors
+[[Action] [Behaviour]]
+[[throw_on_error][Throws `std::underflow_error`]]
+[[errno_on_error][Sets `::errno` to `ERANGE` and returns the denormalised value.]]
+[[ignore_error][[*Returns the denormalised value.]]]
+[[user_error][Returns the result of `boost::math::policies::user_denorm_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+[table Possible Actions for Rounding Errors
+[[Action] [Behaviour]]
+[[throw_on_error][Throws `boost::math::rounding_error`]]
+[[errno_on_error][Sets `::errno` to `ERANGE` and returns the largest representable value of the target integer type
+(or the most negative value if the argument to the function was less than zero).]]
+[[ignore_error][[*Returns the largest representable value of the target integer type
+(or the most negative value if the argument to the function was less than zero).]]]
+[[user_error][Returns the result of `boost::math::policies::user_rounding_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+[table Possible Actions for Internal Evaluation Errors
+[[Action] [Behaviour]]
+[[throw_on_error][[*Throws `boost::math::evaluation_error`]]]
+[[errno_on_error][Sets `::errno` to `EDOM` and returns the closest approximation found.]]
+[[ignore_error][Returns the closest approximation found.]]
+[[user_error][Returns the result of `boost::math::policies::user_evaluation_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+[table Possible Actions for Indeterminate Result Errors
+[[Action] [Behaviour]]
+[[throw_on_error][Throws `std::domain_error`]]
+[[errno_on_error][Sets `::errno` to `EDOM` and returns the same value as `ignore_error`.]]
+[[ignore_error][[*Returns a default result that depends on the function where the error occurred.]]]
+[[user_error][Returns the result of `boost::math::policies::user_indeterminate_result_error`:
+ [link math_toolkit.pol_tutorial.user_def_err_pol
+ this function must be defined by the user].]]
+]
+
+All these error conditions are in namespace boost::math::policies,
+made available, for example, a by namespace declaration
+using `namespace boost::math::policies;` or individual using declarations
+`using boost::math::policies::overflow_error;`.
+
+[heading Rationale]
+
+The flexibility of the current implementation should be reasonably obvious: the
+default behaviours were chosen based on feedback during the formal review of
+this library. It was felt that:
+
+* Genuine errors should be flagged with exceptions
+rather than following C-compatible behaviour and setting `::errno`.
+* Numeric underflow and denormalised results were not considered to be
+fatal errors in most cases, so it was felt that these should be ignored.
+* If there is more than one error,
+only the first detected will be reported in the throw message.
+
+[heading Finding More Information]
+
+There are some pre-processor macro defines that can be used to
+[link math_toolkit.pol_ref.policy_defaults
+change the policy defaults]. See also the [link policy
+policy section].
+
+An example is at the Policy tutorial in
+[link math_toolkit.pol_tutorial.changing_policy_defaults
+Changing the Policy Defaults].
+
+Full source code of this typical example of passing a 'bad' argument
+(negative degrees of freedom) to Student's t distribution
+is [link math_toolkit.stat_tut.weg.error_eg in the error handling example].
+
+The various kind of errors are described in more detail below.
+
+[heading:domain_error Domain Errors]
+
+When a special function is passed an argument that is outside the range
+of values for which that function is defined, then the function returns
+the result of:
+
+ boost::math::policies::raise_domain_error<T>(FunctionName, Message, Val, __Policy);
+
+Where
+`T` is the floating-point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+Val is the value that was out of range, and __Policy is the current policy
+in use for the function that was called.
+
+The default policy behaviour of this function is to throw a
+std::domain_error C++ exception. But if the __Policy is to ignore
+the error, or set global `::errno`, then a NaN will be returned.
+
+This behaviour is chosen to assist compatibility with the behaviour of
+['ISO/IEC 9899:1999 Programming languages - C]
+and with the
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Draft Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph 6]:
+
+[:['"Each of the functions declared above shall return a NaN (Not a Number)
+if any argument value is a NaN, but it shall not report a domain error.
+Otherwise, each of the functions declared above shall report a domain error
+for just those argument values for which:]]
+
+[:['"the function description's Returns clause explicitly specifies a domain, and those arguments fall outside the specified domain; or]
+
+['"the corresponding mathematical function value has a non-zero imaginary component; or]
+
+['"the corresponding mathematical function is not mathematically defined.]]
+
+[:['"Note 2: A mathematical function is mathematically defined
+for a given set of argument values if it is explicitly defined
+for that set of argument values or
+if its limiting value exists and does not depend on the direction of approach."]]
+
+Note that in order to support information-rich error messages when throwing
+exceptions, `Message` must contain
+a __format recognised format specifier: the argument `Val` is inserted into
+the error message according to the specifier used.
+
+For example if `Message` contains a "%1%" then it is replaced by the value of
+`Val` to the full precision of T, where as "%.3g" would contain the value of
+`Val` to 3 digits. See the __format documentation for more details.
+
+[heading:pole_error Evaluation at a pole]
+
+When a special function is passed an argument that is at a pole
+without a well defined residual value, then the function returns
+the result of:
+
+ boost::math::policies::raise_pole_error<T>(FunctionName, Message, Val, __Policy);
+
+Where
+`T` is the floating point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+`Val` is the value of the argument that is at a pole, and __Policy is the
+current policy in use for the function that was called.
+
+The default behaviour of this function is to throw a std::domain_error exception.
+But __error_policy can be used to change this, for example to `ignore_error`
+and return NaN.
+
+Note that in order to support information-rich error messages when throwing
+exceptions, `Message` must contain
+a __format recognised format specifier: the argument `val` is inserted into
+the error message according to the specifier used.
+
+For example if `Message` contains a "%1%" then it is replaced by the value of
+`val` to the full precision of T, where as "%.3g" would contain the value of
+`val` to 3 digits. See the __format documentation for more details.
+
+[heading:overflow_error Numeric Overflow]
+
+When the result of a special function is too large to fit in the argument
+floating-point type, then the function returns the result of:
+
+ boost::math::policies::raise_overflow_error<T>(FunctionName, Message, __Policy);
+
+Where
+`T` is the floating-point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+and __Policy is the current policy
+in use for the function that was called.
+
+The default policy for this function is that `std::overflow_error`
+C++ exception is thrown. But if, for example, an `ignore_error` policy
+is used, then returns `std::numeric_limits<T>::infinity()`.
+In this situation if the type `T` doesn't support infinities,
+the maximum value for the type is returned.
+
+[heading:underflow_error Numeric Underflow]
+
+If the result of a special function is known to be non-zero, but the
+calculated result underflows to zero, then the function returns the result of:
+
+ boost::math::policies::raise_underflow_error<T>(FunctionName, Message, __Policy);
+
+Where
+`T` is the floating point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+and __Policy is the current policy
+in use for the called function.
+
+The default version of this function returns zero.
+But with another policy, like `throw_on_error`,
+throws an `std::underflow_error` C++ exception.
+
+[heading:denorm_error Denormalisation Errors]
+
+If the result of a special function is a denormalised value /z/ then the function
+returns the result of:
+
+ boost::math::policies::raise_denorm_error<T>(z, FunctionName, Message, __Policy);
+
+Where
+`T` is the floating point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+and __Policy is the current policy
+in use for the called function.
+
+The default version of this function returns /z/.
+But with another policy, like `throw_on_error`
+throws an `std::underflow_error` C++ exception.
+
+[heading:evaluation_error Evaluation Errors]
+
+When a special function calculates a result that is known to be erroneous,
+or where the result is incalculable then it calls:
+
+ boost::math::policies::raise_evaluation_error<T>(FunctionName, Message, Val, __Policy);
+
+Where
+`T` is the floating point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+`Val` is the erroneous value,
+and __Policy is the current policy
+in use for the called function.
+
+The default behaviour of this function is to throw a `boost::math::evaluation_error`.
+
+Note that in order to support information rich error messages when throwing
+exceptions, `Message` must contain
+a __format recognised format specifier: the argument `val` is inserted into
+the error message according to the specifier used.
+
+For example if `Message` contains a "%1%" then it is replaced by the value of
+`val` to the full precision of T, where as "%.3g" would contain the value of
+`val` to 3 digits. See the __format documentation for more details.
+
+[heading:indeterminate_result_error Indeterminate Result Errors]
+
+When the result of a special function is indeterminate for the value that was
+passed to it, then the function returns the result of:
+
+ boost::math::policies::raise_overflow_error<T>(FunctionName, Message, Val, Default, __Policy);
+
+Where
+`T` is the floating-point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+Val is the value for which the result is indeterminate, Default is an
+alternative default result that must be returned for `ignore_error` and
+`errno_on_erro` policies, and __Policy is the current policy in use for the
+function that was called.
+
+The default policy for this function is `ignore_error`: note that this error
+type is reserved for situations where the result is mathematically
+undefined or indeterminate, but there is none the less a convention for what
+the result should be: for example the C99 standard specifies that the result
+of 0[super 0] is 1, even though the result is actually mathematically indeterminate.
+
+[heading:rounding_error Rounding Errors]
+
+When one of the rounding functions __round, __trunc or __modf is
+called with an argument that has no integer representation, or
+is too large to be represented in the result type then the
+value returned is the result of a call to:
+
+ boost::math::policies::raise_rounding_error<T>(FunctionName, Message, Val, __Policy);
+
+Where
+`T` is the floating point type passed to the function, `FunctionName` is the
+name of the function, `Message` is an error message describing the problem,
+`Val` is the erroneous argument,
+and __Policy is the current policy in use for the called function.
+
+The default behaviour of this function is to throw a `boost::math::rounding_error`.
+
+Note that in order to support information rich error messages when throwing
+exceptions, `Message` must contain
+a __format recognised format specifier: the argument `val` is inserted into
+the error message according to the specifier used.
+
+For example if `Message` contains a "%1%" then it is replaced by the value of
+`val` to the full precision of T, where as "%.3g" would contain the value of
+`val` to 3 digits. See the __format documentation for more details.
+
+[heading:checked_narrowing_cast Errors from typecasts]
+
+Many special functions evaluate their results at a higher precision
+than their arguments in order to ensure full machine precision in
+the result: for example, a function passed a float argument may evaluate
+its result using double precision internally. Many of the errors listed
+above may therefore occur not during evaluation, but when converting
+the result to the narrower result type. The function:
+
+ template <class T, class __Policy, class U>
+ T checked_narrowing_cast(U const& val, const char* function);
+
+Is used to perform these conversions, and will call the error handlers
+listed above on [link math_toolkit.error_handling.overflow_error overflow],
+[link math_toolkit.error_handling.underflow_error underflow] or [link math_toolkit.error_handling.denorm_error denormalisation].
+
+[endsect][/section:error_handling Error Handling]
+
+[/
+ Copyright 2006 - 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/overview/faq.qbk b/libs/math/doc/overview/faq.qbk
new file mode 100644
index 0000000000..fd7e46b8ef
--- /dev/null
+++ b/libs/math/doc/overview/faq.qbk
@@ -0,0 +1,104 @@
+[section:main_faq Frequently Asked Questions FAQ]
+
+# ['I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user
+and I don't see where the functions like dnorm(mean, sd) are in Boost.Math?] [br]
+Nearly all are provided, and many more like mean, skewness, quantiles, complements ...
+but Boost.Math makes full use of C++, and it looks a bit different.
+But do not panic! See section on construction and the many examples.
+Briefly, the distribution is constructed with the parameters (like location and scale)
+(things after the | in representation like P(X=k|n, p) or ; in a common represention of pdf f(x; [mu][sigma][super 2]).
+Functions like pdf, cdf are called with the name of that distribution and the random variate often called x or k.
+For example, `normal my_norm(0, 1); pdf(my_norm, 2.0);` [br]
+#I'm a user of [@http://support.sas.com/rnd/app/da/new/probabilityfunctions.html New SAS Functions for Computing Probabilities]. [br]
+You will find the interface more familar, but to be able to select a distribution (perhaps using a string)
+see the Extras/Future Directions section,
+and /boost/libs/math/dot_net_example/boost_math.cpp for an example that is used to create a C# (C sharp) utility
+(that you might also find useful):
+see [@http://sourceforge.net/projects/distexplorer/ Statistical Distribution Explorer].[br]
+# ['I'm allegic to reading manuals and prefer to learn from examples.][br]
+Fear not - you are not alone! Many examples are available for functions and distributions.
+Some are referenced directly from the text. Others can be found at \boost_latest_release\libs\math\example.
+If you are a Visual Studio user, you should be able to create projects from each of these,
+making sure that the Boost library is in the include directories list.
+# ['How do I make sure that the Boost library is in the Visual Studio include directories list?][br]
+You can add an include path, for example, your Boost place /boost-latest_release,
+for example `X:/boost_1_45_0/` if you have a separate partition X for Boost releases.
+Or you can use an environment variable BOOST_ROOT set to your Boost place, and include that.
+Visual Studio before 2010 provided Tools, Options, VC++ Directories to control directories:
+Visual Studio 2010 instead provides property sheets to assist.
+You may find it convenient to create a new one adding \boost-latest_release;
+to the existing include items in $(IncludePath).
+# ['I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user and
+I don't see where the properties like mean, median, mode, variance, skewness of distributions are in Boost.Math?][br]
+They are all available (if defined for the parameters with which you constructed the distribution) via __usual_accessors.
+# ['I am a C programmer. Can I user Boost.Math with C?][br]
+Yes you can, including all the special functions, and TR1 functions like isnan.
+They appear as C functions, by being declared as "extern C".
+# ['I am a C# (Basic? F# FORTRAN? Other CLI?) programmer. Can I use Boost.Math with C#? (or ...)?] [br]
+Yes you can, including all the special functions, and TR1 functions like isnan.
+But you [*must build the Boost.Math as a dynamic library (.dll) and compile with the /CLI option].
+See the boost/math/dot_net_example folder which contains an example that
+builds a simple statistical distribution app with a GUI.
+See [@http://sourceforge.net/projects/distexplorer/ Statistical Distribution Explorer] [br]
+# ['What these "policies" things for?] [br]
+Policies are a powerful (if necessarily complex) fine-grain mechanism that
+allow you to customise the behaviour of the Boost.Math library according to your precise needs.
+See __policy_section. But if, very probably, the default behaviour suits you, you don't need to know more.
+# ['I am a C user and expect to see global C-style`::errno` set for overflow/errors etc?] [br]
+You can achieve what you want - see __error_policy and __user_error_handling and many examples.
+# ['I am a C user and expect to silently return a max value for overflow?] [br]
+You (and C++ users too) can return whatever you want on overflow
+- see __overflow_error and __error_policy and several examples.
+# ['I don't want any error message for overflow etc?] [br]
+You can control exactly what happens for all the abnormal conditions, including the values returned.
+See __domain_error, __overflow_error __error_policy __user_error_handling etc and examples.
+# ['My environment doesn't allow and/or I don't want exceptions. Can I still user Boost.Math?] [br]
+Yes but you must customise the error handling: see __user_error_handling and __changing_policy_defaults .
+# ['The docs are several hundreds of pages long! Can I read the docs off-line or on paper?] [br]
+Yes - you can download the Boost current release of most documentation
+as a zip of pdfs (including Boost.Math) from Sourceforge, for example
+[@https://sourceforge.net/projects/boost/files/boost-docs/1.45.0/boost_pdf_1_45_0.tar.gz/download].
+And you can print any pages you need (or even print all pages - but be warned that there are several hundred!).
+Both html and pdf versions are highly hyperlinked.
+The entire Boost.Math pdf can be searched with Adobe Reader, Edit, Find ...
+This can often find what you seek, a partial substitute for a full index.
+# ['I want a compact version for an embedded application. Can I use float precision?] [br]
+Yes - by selecting RealType template parameter as float:
+for example normal_distribution<float> your_normal(mean, sd);
+(But double may still be used internally, so space saving may be less that you hope for).
+You can also change the promotion policy, but accuracy might be much reduced.
+# ['I seem to get somewhat different results compared to other programs. Why?]
+We hope Boost.Math to be more accurate: our priority is accuracy (over speed).
+See the section on accuracy. But for evaluations that require iterations
+there are parameters which can change the required accuracy (see __policy_section).
+You might be able to squeeze a little more (or less) accuracy at the cost of runtime.
+# ['Will my program run more slowly compared to other math functions and statistical libraries?]
+Probably, thought not always, and not by too much: our priority is accuracy.
+For most functions, making sure you have the latest compiler version with all optimisations switched on is the key to speed.
+For evaluations that require iteration, you may be able to gain a little more speed at the expense of accuracy.
+See detailed suggestions and results on __performance.
+# ['How do I handle infinity and NaNs portably?] [br]
+See __fp_facets for Facets for Floating-Point Infinities and NaNs.
+# ['Where are the pre-built libraries?] [br]
+Good news - you probably don't need any! - just `#include <boost/`['math/distribution_you_want>].
+But in the unlikely event that you do, see __building.
+# ['I don't see the function or distribution that I want.] [br]
+You could try an email to ask the authors - but no promises!
+# ['I need more decimal digits for values/computations.] [br]
+You can use Boost.Math with __multiprecision: typically
+__cpp_dec_float is a useful user-defined type to provide a fixed number of decimal digits, usually 50 or 100.
+# Why can't I write something really simple like `cpp_int one(1); cpp_dec_float_50 two(2); one * two;`
+Because `cpp_int` might be bigger than `cpp_dec_float can hold`, so you must make an [*explicit] conversion.
+See [@http://svn.boost.org/svn/boost/trunk/libs/multiprecision/doc/html/boost_multiprecision/intro.html mixed multiprecision arithmetic]
+and [@http://svn.boost.org/svn/boost/trunk/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html conversion].
+
+
+[endsect] [/section:faq Frequently Asked Questions]
+
+[/
+ Copyright 2010, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/overview/issues.qbk b/libs/math/doc/overview/issues.qbk
new file mode 100644
index 0000000000..0205b3e363
--- /dev/null
+++ b/libs/math/doc/overview/issues.qbk
@@ -0,0 +1,169 @@
+[section:issues Known Issues, and TODO List]
+
+Predominantly this is a TODO list, or a list of possible
+future enhancements. Items labled "High Priority" effect
+the proper functioning of the component, and should be fixed
+as soon as possible. Items labled "Medium Priority" are
+desirable enhancements, often pertaining to the performance
+of the component, but do not effect it's accuracy or functionality.
+Items labled "Low Priority" should probably be investigated at
+some point. Such classifications are obviously highly subjective.
+
+If you don't see a component listed here, then we don't have any known
+issues with it.
+
+[h4 Derivatives of Bessel functions (and their zeros)]
+
+Potentially, there could be native support
+for `cyl_bessel_j_prime()` and `cyl_neumann_prime()`.
+One could also imagine supporting the zeros
+thereof, but they might be slower to calculate
+since root bracketing might be needed instead
+of Newton iteration (for the lack of 2nd derivatives).
+
+Since Boost.Math's Bessel functions are so excellent,
+the quick way to `cyl_bessel_j_prime()` and
+`cyl_neumann_prime()` would be via relationship with
+`cyl_bessel_j()` and `cyl_neumann()`.
+
+[h4 tgamma]
+
+* Can the __lanczos be optimized any further? (low priority)
+
+[h4 Incomplete Beta]
+
+* Investigate Didonato and Morris' asymptotic expansion for large a and b
+(medium priority).
+
+[h4 Inverse Gamma]
+
+* Investigate whether we can skip iteration altogether if the first approximation
+is good enough (Medium Priority).
+
+[h4 Polynomials]
+
+* The Legendre and Laguerre Polynomials have surprisingly different error
+rates on different platforms, considering they are evaluated with only
+basic arithmetic operations. Maybe this is telling us something, or maybe not
+(Low Priority).
+
+[h4 Elliptic Integrals]
+
+* Carlson's algorithms are essentially unchanged from Xiaogang Zhang's
+Google Summer of Code student project, and are based on Carlson's
+original papers. However, Carlson has revised his algorithms since then
+(refer to the references in the elliptic integral docs for a list), to
+improve performance and accuracy, we may be able to take advantage
+of these improvements too (Low Priority).
+* [para Carlson's algorithms (mainly R[sub J]) are somewhat prone to
+internal overflow/underflow when the arguments are very large or small.
+The homogeneity relations:]
+[para R[sub F](ka, kb, kc) = k[super -1/2] R[sub F](a, b, c)]
+[para and]
+[para R[sub J](ka, kb, kc, kr) = k[super -3/2] R[sub J](a, b, c, r)]
+[para could be used to sidestep trouble here: provided the problem domains
+can be accurately identified. (Medium Priority).]
+* Carlson's R[sub C] can be reduced to elementary funtions (asin and log),
+would it be more efficient evaluated this way, rather than by Carlson's
+algorithms? (Low Priority).
+* Should we add an implementation of Carlson's R[sub G]? It's not
+required for the Legendre form integrals, but some people may find it
+useful (Low Priority).
+* There are a several other integrals: D([phi], k), Z([beta], k),
+[Lambda][sub 0]([beta], k) and Bulirsch's ['el] functions that could
+be implemented using Carlson's integrals (Low Priority).
+* The integrals K(k) and E(k) could be implemented using rational
+approximations (both for efficiency and accuracy),
+assuming we can find them. (Medium Priority).
+* There is a sub-domain of __ellint_3 that is unimplemented (see the docs
+for details), currently
+it's not clear how to solve this issue, or if it's ever likely
+to be an real problem in practice - especially as most other implementations
+don't support this domain either (Medium Priority).
+
+[h4 Owen's T Function]
+
+There is a problem area at arbitrary precision when ['a] is very close to 1. However, note that
+the value for ['T(h, 1)] is well known and easy to compute, and if we replaced the
+['a[super k]] terms in series T1, T2 or T4 by ['(a[super k] - 1)] then we would have the
+difference between ['T(h, a)] and ['T(h, 1)]. Unfortunately this doesn't improve the
+convergence of those series in that area. It certainly looks as though a new series in terms
+of ['(1-a)[super k]] is both possible and desirable in this area, but it remains elusive at present.
+
+[h4 Jocobi elliptic functions]
+
+These are useful in engineering applications - we have had a request to add these.
+
+[h4 Statistical distributions]
+
+* Student's t Perhaps switch to normal distribution
+as a better approximation for very large degrees of freedom?
+
+[h4 Feature Requests]
+
+The following table lists distributions that are found in other packages
+but which are not yet present here, the more frequently the distribution
+is found, the higher the priority for implementing it:
+
+[table
+[[Distribution][R][Mathematica 6][NIST][Regress+][Matlab]]
+
+[/3 votes:]
+[[Geometric][X][X][-][-][X]]
+
+[/2 votes:]
+[[Multinomial][X][-][-][-][X]]
+[[Tukey Lambda][X][-][X][-][-]]
+[[Half Normal / Folded Normal][-][X][-][X][-]]
+[[Chi][-][X][-][X][-]]
+[[Gumbel][-][X][-][X][-]]
+[[Discrete Uniform][-][X][-][-][X]]
+[[Log Series][-][X][-][X][-]]
+[[Nakagami (generalised Chi)][-][-][-][X][X]]
+
+[/1 vote:]
+[[Log Logistic][-][-][-][-][X]]
+[[Tukey (Studentized range)][X][-][-][-][-]]
+[[Wilcoxon rank sum][X][-][-][-][-]]
+[[Wincoxon signed rank][X][-][-][-][-]]
+[[Non-central Beta][X][-][-][-][-]]
+[[Maxwell][-][X][-][-][-]]
+[[Beta-Binomial][-][X][-][-][-]]
+[[Beta-negative Binomial][-][X][-][-][-]]
+[[Zipf][-][X][-][-][-]]
+[[Birnbaum-Saunders / Fatigue Life][-][-][X][-][-]]
+[[Double Exponential][-][-][X][-][-]]
+[[Power Normal][-][-][X][-][-]]
+[[Power Lognormal][-][-][X][-][-]]
+[[Cosine][-][-][-][X][-]]
+[[Double Gamma][-][-][-][X][-]]
+[[Double Weibul][-][-][-][X][-]]
+[[Hyperbolic Secant][-][-][-][X][-]]
+[[Semicircular][-][-][-][X][-]]
+[[Bradford][-][-][-][X][-]]
+[[Birr / Fisk][-][-][-][X][-]]
+[[Reciprocal][-][-][-][X][-]]
+
+[/0 votes but useful anyway?]
+[[Kolmogorov Distribution][-][-][-][-][-]]
+]
+
+Also asked for more than once:
+
+* Add support for interpolated distributions, possibly combine with numeric
+integration and differentiation.
+* Add support for bivariate and multivariate distributions: most especially the normal.
+* Add support for the log of the cdf and pdf:
+this is mainly a performance optimisation since we can avoid
+some special function calls for some distributions
+by returning the log of the result.
+
+[endsect] [/section:issues Known Issues, and Todo List]
+
+[/
+ Copyright 2006, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/overview/overview.qbk b/libs/math/doc/overview/overview.qbk
new file mode 100644
index 0000000000..c3f7bcabe1
--- /dev/null
+++ b/libs/math/doc/overview/overview.qbk
@@ -0,0 +1,91 @@
+[section:main_intro About the Math Toolkit]
+
+This library is divided into three interconnected parts:
+
+[h4 Statistical Distributions]
+
+Provides a reasonably comprehensive set of
+[link dist statistical distributions],
+upon which higher level statistical tests can be built.
+
+The initial focus is on the central
+[@http://en.wikipedia.org/wiki/Univariate univariate ]
+[@http://mathworld.wolfram.com/StatisticalDistribution.html distributions].
+Both [@http://mathworld.wolfram.com/ContinuousDistribution.html continuous]
+(like [link math_toolkit.dist_ref.dists.normal_dist normal]
+& [link math_toolkit.dist_ref.dists.f_dist Fisher])
+and [@http://mathworld.wolfram.com/DiscreteDistribution.html discrete]
+(like [link math_toolkit.dist_ref.dists.binomial_dist binomial]
+& [link math_toolkit.dist_ref.dists.poisson_dist Poisson])
+distributions are provided.
+
+A [link math_toolkit.stat_tut comprehensive tutorial is provided],
+along with a series of
+[link math_toolkit.stat_tut.weg worked examples] illustrating
+how the library is used to conduct statistical tests.
+
+[h4 Mathematical Special Functions]
+
+Provides a small number of high quality
+[link special special functions],
+initially these were concentrated on functions used in statistical applications
+along with those in the [tr1].
+
+The function families currently implemented are the gamma, beta & erf functions
+along with the incomplete gamma and beta functions (four variants
+of each) and all the possible inverses of these, plus digamma,
+various factorial functions,
+Bessel functions, elliptic integrals, sinus cardinals (along with their
+hyperbolic variants), inverse hyperbolic functions, Legrendre/Laguerre/Hermite
+polynomials and various
+special power and logarithmic functions.
+
+All the implementations
+are fully generic and support the use of arbitrary "real-number" types,
+including __multiprecision,
+although they are optimised for use with types with known-about
+[@http://en.wikipedia.org/wiki/Significand significand (or mantissa)]
+sizes: typically `float`, `double` or `long double`.
+
+[h4 Implementation Toolkit]
+
+Provides [link toolkit many of the tools] required to implement
+mathematical special functions: hopefully the presence of
+these will encourage other authors to contribute more special
+function implementations in the future. These tools are currently
+considered experimental: they are "exposed implementation details"
+whose interfaces and\/or implementations may change.
+
+There are helpers for the
+[link math_toolkit.internals1.series_evaluation
+evaluation of infinite series],
+[link math_toolkit.internals1.cf continued
+fractions] and [link math_toolkit.internals1.rational
+rational approximations].
+
+There is a fairly comprehensive set of root finding and
+[link math_toolkit.internals1.minima function minimisation
+algorithms]: the root finding algorithms are both
+[link math_toolkit.internals1.roots with] and
+[link math_toolkit.internals1.roots2 without] derivative support.
+
+A [link math_toolkit.internals2.minimax
+Remez algorithm implementation] allows for the locating of minimax rational
+approximations.
+
+There are also (experimental) classes for the
+[link math_toolkit.internals2.polynomials manipulation of polynomials], for
+[link math_toolkit.internals2.error_test
+testing a special function against tabulated test data], and for
+the [link math_toolkit.internals2.test_data
+rapid generation of test data] and/or data for output to an
+external graphing application.
+
+[endsect] [/section:intro Introduction]
+
+[/
+ Copyright 2006, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/overview/result_type_calc.qbk b/libs/math/doc/overview/result_type_calc.qbk
new file mode 100644
index 0000000000..ff3b607fd8
--- /dev/null
+++ b/libs/math/doc/overview/result_type_calc.qbk
@@ -0,0 +1,85 @@
+
+[section:result_type Calculation of the Type of the Result]
+
+The functions in this library are all overloaded to accept
+mixed floating point (or mixed integer and floating point type)
+arguments. So for example:
+
+ foo(1.0, 2.0);
+ foo(1.0f, 2);
+ foo(1.0, 2L);
+
+etc, are all valid calls, as long as "foo" is a function taking two
+floating-point arguments. But that leaves the question:
+
+[blurb ['"Given a special function with N arguments of
+types T1, T2, T3 ... TN, then what type is the result?"]]
+
+[*If all the arguments are of the same (floating point) type then the
+result is the same type as the arguments.]
+
+Otherwise, the type of the result
+is computed using the following logic:
+
+# Any arguments that are not template arguments are disregarded from
+further analysis.
+# For each type in the argument list, if that type is an integer type
+then it is treated as if it were of type double for the purposes of
+further analysis.
+# If any of the arguments is a user-defined class type, then the result type
+is the first such class type that is constructible from all of the other
+argument types.
+# If any of the arguments is of type `long double`, then the result is of type
+`long double`.
+# If any of the arguments is of type `double`, then the result is of type
+`double`.
+# Otherwise the result is of type `float`.
+
+For example:
+
+ cyl_bessel(2, 3.0);
+
+Returns a `double` result, as does:
+
+ cyl_bessel(2, 3.0f);
+
+as in this case the integer first argument is treated as a `double` and takes
+precedence over the `float` second argument. To get a `float` result we would need
+all the arguments to be of type float:
+
+ cyl_bessel_j(2.0f, 3.0f);
+
+When one or more of the arguments is not a template argument then it
+doesn't effect the return type at all, for example:
+
+ sph_bessel(2, 3.0f);
+
+returns a `float`, since the first argument is not a template argument and
+so doesn't effect the result: without this rule functions that take
+explicitly integer arguments could never return `float`.
+
+And for user-defined types, all of the following return an `NTL::RR` result:
+
+ cyl_bessel_j(0, NTL::RR(2));
+
+ cyl_bessel_j(NTL::RR(2), 3);
+
+ cyl_bessel_j(NTL::quad_float(2), NTL::RR(3));
+
+In the last case, `quad_float` is convertible to `RR`, but not vice-versa, so
+the result will be an `NTL::RR`. Note that this assumes that you are using
+a [link math_toolkit.high_precision.use_ntl patched NTL library].
+
+These rules are chosen to be compatible with the behaviour of
+['ISO/IEC 9899:1999 Programming languages - C]
+and with the
+[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Draft Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph 5].
+
+[endsect]
+
+[/
+ Copyright 2006, 2012 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/overview/roadmap.qbk b/libs/math/doc/overview/roadmap.qbk
new file mode 100644
index 0000000000..4c9879ed34
--- /dev/null
+++ b/libs/math/doc/overview/roadmap.qbk
@@ -0,0 +1,339 @@
+[template history[]
+
+Currently open bug reports can be viewed
+[@https://svn.boost.org/trac/boost/query?status=assigned&status=new&status=reopened&component=math&col=id&col=summary&col=status&col=type&col=milestone&col=component&order=priority here].
+
+All bug reports including closed ones can be viewed
+[@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=math&col=id&col=summary&col=status&col=type&col=milestone&col=component&order=priority here].
+
+[h4 Math-2.1.0 (boost-1.57.0)]
+
+* Added __hyperexponential_distrib.
+* Fix some spurious overflows in the incomplete gamma functions (with thanks to Rocco Romeo).
+* Fix bug in derivative of incomplete beta when a = b = 0.5 - this also effects several non-central distributions,
+see [@https://svn.boost.org/trac/boost/ticket/10480 10480].
+* Fixed some corner cases in __round.
+* Don't support 80-bit floats in cstdfloat.hpp if standard library support is broken.
+
+[h4 Math-2.0.0 (Boost-1.56.0)]
+
+* [*Breaking change]: moved a number of non-core headers that are predominantly used for internal
+maintenance into `libs/math/include_private`. The headers effected are `boost/math/tools/test_data.hpp`,
+`boost/math/tools/remez.hpp`, `boost/math/constants/generate.hpp`, `boost/math/tools/solve.hpp`,
+`boost/math/tools/test.hpp`.
+You can continue to use these headers by adding `libs/math/include_private` to your compiler's include path.
+* [*Breaking change]: A number of distributions and special functions were returning the maximum finite value
+rather than raising an __overflow_error, this has now been fixed, which means these functions now behave as
+documented. However, since the default behavior on raising an __overflow_error is to throw a `std::overflow_error`
+exception, applications which have come to reply rely on these functions not throwing may experience exceptions
+where they did not before. The special functions involved are __gamma_p_inva, __gamma_q_inva,
+__ibeta_inva, __ibetac_inva, __ibeta_invb, __ibetac_invb, __gamma_p_inv, __gamma_q_inv. The distributions
+involved are __pareto_distrib, __beta_distrib, __geometric_distrib, __negative_binomial_distrib,
+__binomial_distrib, __chi_squared_distrib, __gamma_distrib, __inverse_chi_squared_distrib,
+__inverse_gamma_distrib. See [@https://svn.boost.org/trac/boost/ticket/10111 #10111].
+* Fix __round and __trunc functions so they can be used with integer arguments, see [@https://svn.boost.org/trac/boost/ticket/10066 #10066].
+* Fix Halley iteration to handle zero derivative (with non-zero second derivative), see [@https://svn.boost.org/trac/boost/ticket/10046 #10046].
+
+[h4 Math-1.9.1]
+
+* Fix Geometric distribution use of Policies, see [@https://svn.boost.org/trac/boost/ticket/9833 #9833].
+* Fix corner cases in the negative binomial distribution, see [@https://svn.boost.org/trac/boost/ticket/9834 #9834].
+* Fix compilation failures on Mac OS.
+
+[h4 Math-1.9.0]
+
+* Changed version number to new Boost.Math specific version now that we're in the modular Boost world.
+* Added __bernoulli_numbers, changed arbitrary precision __tgamma/__lgamma to use Sterling's approximation (from Nikhar Agrawal).
+* Added first derivatives of the Bessel functions: __cyl_bessel_j_prime, __cyl_neumann_prime, __cyl_bessel_i_prime, __cyl_bessel_k_prime, __sph_bessel_prime and __sph_neumann_prime (from Anton Bikineev).
+* Fixed buggy Student's t example code, along with docs for testing sample means for equivalence.
+* Documented `max_iter` parameter in root finding code better, see [@https://svn.boost.org/trac/boost/ticket/9225 #9225].
+* Add option to explicitly enable/disable use of __float128 in constants code, see [@https://svn.boost.org/trac/boost/ticket/9240 #9240].
+* Cleaned up handling of negative values in Bessel I0 and I1 code (removed dead code), see [@https://svn.boost.org/trac/boost/ticket/9512 #9512].
+* Fixed handling of very small values passed to __tgamma and __lgamma so they don't generate spurious overflows (thanks to Rocco Romeo).
+* [@https://svn.boost.org/trac/boost/ticket/9672 #9672 PDF and CDF of a Laplace distribution throwing domain_error]
+Random variate can now be infinite.
+* Fixed several corner cases in __rising_factorial, __falling_factorial and __tgamma_delta_ratio with thanks to Rocco Romeo.
+* Fixed several corner cases in __rising_factorial, __falling_factorial and __tgamma_delta_ratio (thanks to Rocco Romeo).
+* Removed constant `pow23_four_minus_pi ` whose value did not match the name (and was unused by Boost.Math), see
+[@https://svn.boost.org/trac/boost/ticket/9712 #9712].
+
+[h4 Boost-1.55]
+
+* Suppress numerous warnings (mostly from GCC-4.8 and MSVC) [@https://svn.boost.org/trac/boost/ticket/8384 #8384], [@https://svn.boost.org/trac/boost/ticket/8855 #8855],
+[@https://svn.boost.org/trac/boost/ticket/9107 #9107], [@https://svn.boost.org/trac/boost/ticket/9109 #9109]..
+* Fixed PGI compilation issue [@https://svn.boost.org/trac/boost/ticket/8333 #8333].
+* Fixed PGI constant value initialization issue that caused erf to generate incorrect results [@https://svn.boost.org/trac/boost/ticket/8621 #8621].
+* Prevent macro expansion of some C99 macros that are also C++ functions [@https://svn.boost.org/trac/boost/ticket/8732 #8732] and [@https://svn.boost.org/trac/boost/ticket/8733 #8733]..
+* Fixed Student's T distribution to behave correctly with huge degrees of freedom (larger than the largest representable integer) [@https://svn.boost.org/trac/boost/ticket/8837 #8837].
+* Make some core functions usable with `long double` even when the platform has no standard library `long double` support [@https://svn.boost.org/trac/boost/ticket/8940 #8940].
+* Fix error handling of distributions to catch invalid scale and location parameters when the random variable is infinite [@https://svn.boost.org/trac/boost/ticket/9042 #9042] and [@https://svn.boost.org/trac/boost/ticket/9126 #9126].
+* Add workaround for broken <tuple> in Intel C++ 14 [@https://svn.boost.org/trac/boost/ticket/9087 #9087].
+* Improve consistency of argument reduction in the elliptic integrals [@https://svn.boost.org/trac/boost/ticket/9104 #9104].
+* Fix bug in inverse incomplete beta that results in cancellation errors when the beta function is really an arcsine or Student's T distribution.
+* Fix issue in Bessel I and K function continued fractions that causes spurious over/underflow.
+* Add improvement to non-central chi squared distribution quantile due to Thomas Luu.
+
+[h4 Boost-1.54]
+
+* Major reorganization to incorporate other Boost.Math like Integer Utilities Integer Utilities (Greatest Common Divisor and Least Common Multiple), quaternions and octonions.
+Making new chapter headings.
+* Added many references to Boost.Multiprecision and `cpp_dec_float_50` as an example of a User-defined Type (UDT).
+* Added Clang to list of supported compilers.
+* Fixed constants to use a thread-safe cache of computed values when used at arbitrary precision.
+* Added finding zeros of Bessel functions `cyl_bessel_j_zero`, `cyl_neumann_zero`, `airy_ai_zero` and `airy_bi_zero`(by Christopher Kormanyos).
+* More accuracy improvements to the Bessel J and Y functions from Rocco Romeo.
+* Fixed nasty cyclic dependency bug that caused some headers to not compile [@https://svn.boost.org/trac/boost/ticket/7999 #7999].
+* Fixed bug in __tgamma that caused spurious overflow for arguments between 142.5 and 143.
+* Fixed bug in raise_rounding_error that caused it to return an incorrect result when throwing an exception is turned off [@https://svn.boost.org/trac/boost/ticket/7905 #7905].
+* Added minimal __float128 support.
+* Fixed bug in edge-cases of poisson quantile [@https://svn.boost.org/trac/boost/ticket/8308 #8308].
+* Adjusted heuristics used in Halley iteration to cope with inverting the incomplete beta in tricky regions
+where the derivative is flatlining. Example is computing the quantile of the Fisher F distribution for probabilities
+smaller than machine epsilon. See ticket [@https://svn.boost.org/trac/boost/ticket/8314 #8314].
+
+[h4 Boost-1.53]
+
+* Fixed issues [@https://svn.boost.org/trac/boost/ticket/7325 #7325], [@https://svn.boost.org/trac/boost/ticket/7415 #7415]
+and [@https://svn.boost.org/trac/boost/ticket/7416 #7416], [@https://svn.boost.org/trac/boost/ticket/7183 #7183],
+[@https://svn.boost.org/trac/boost/ticket/7649 #7649], [@https://svn.boost.org/trac/boost/ticket/7694 #7694],
+[@https://svn.boost.org/trac/boost/ticket/4445 #4445], [@https://svn.boost.org/trac/boost/ticket/7492 #7492],
+[@https://svn.boost.org/trac/boost/ticket/7891 #7891], [@https://svn.boost.org/trac/boost/ticket/7429 #7429].
+* Fixed mistake in calculating pooled standard deviation in two-sample students t example
+[@https://svn.boost.org/trac/boost/ticket/7402 #7402].
+* Improve complex acos/asin/atan, see [@https://svn.boost.org/trac/boost/ticket/7290 #7290],
+[@https://svn.boost.org/trac/boost/ticket/7291 #7291].
+* Improve accuracy in some corner cases of __cyl_bessel_j and __gamma_p/__gamma_q thanks to suggestions from Rocco Romeo.
+* Improve accuracy of Bessel J and Y for integer orders thanks to suggestions from Rocco Romeo.
+
+[h4 Boost-1.52]
+
+* Corrected moments for small degrees of freedom [@https://svn.boost.org/trac/boost/ticket/7177 #7177] (reported by Thomas Mang).
+* Added [link math_toolkit.airy Airy functions] and [link math_toolkit.jacobi Jacobi Elliptic functions].
+* Corrected failure to detect bad parameters in many distributions
+[@https://svn.boost.org/trac/boost/ticket/6934 #6934] (reported by Florian Schoppmann)
+by adding a function check_out_of_range to test many possible bad parameters.
+This test revealed several distributions where the checks for bad parameters were ineffective,
+and these have been rectified.
+* Fixed issue in Hankel functions that causes incorrect values to be returned for ['x < 0] and [nu] odd, see [@https://svn.boost.org/trac/boost/ticket/7135 #7135].
+* Fixed issues [@https://svn.boost.org/trac/boost/ticket/6517 #6517], [@https://svn.boost.org/trac/boost/ticket/6362 #6362],
+[@https://svn.boost.org/trac/boost/ticket/7053 #7053], [@https://svn.boost.org/trac/boost/ticket/2693 #2693],
+[@https://svn.boost.org/trac/boost/ticket/6937 #6937], [@https://svn.boost.org/trac/boost/ticket/7099 #7099].
+
+
+* Permitted infinite degrees of freedom [@https://svn.boost.org/trac/boost/ticket/7259 #7259]
+implemented using the normal distribution (requested by Thomas Mang).
+* Much enhanced accuracy for large degrees of freedom [nu] and/or large non-centrality [delta]
+by switching to use the Students t distribution
+(or Normal distribution for infinite degrees of freedom)
+ centered at delta,
+when [delta] / (4 * [nu]) < epsilon for the floating-point type in use.
+[@https://svn.boost.org/trac/boost/ticket/7259 #7259].
+It was found that the incomplete beta was suffering from serious cancellation errors
+when degrees of freedom was very large. (That has now been fixed in our code,
+but any code based on Didonato and Morris's original papers
+(probably every implementation out there actually) will have the same issue).
+
+[h4 Boost-1.51]
+See Boost-1.52 - some items were added but not listed in time for the release.
+
+[h4 Boost-1.50]
+
+* Promoted math constants to be 1st class citizens,
+including convenient access to the most widely used
+built-in float, double, long double via three namespaces.
+* Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta: see __owens_t and skew_normal_distrib.
+* Added Hankel functions __cyl_hankel_1, __cyl_hankel_2, __sph_hankel_1 and __sph_hankel_2.
+* Corrected issue [@https://svn.boost.org/trac/boost/ticket/6627 #6627 nonfinite_num_put formatting of 0.0 is incorrect]
+based on a patch submitted by K R Walker.
+* Changed constant initialization mechanism so that it is thread safe even for user-defined types, also
+so that user defined types get the full precision of the constant, even when `long double` does not.
+So for example 128-bit rational approximations will work with UDT's and do the right thing, even though
+`long double` may be only 64 or 80 bits.
+* Fixed issue in `bessel_jy` which causes Y[sub 8.5](4[pi]) to yield a NaN.
+
+[h4 Boost-1.49]
+
+* Deprecated wrongly named `twothirds` math constant in favour of `two_thirds` (with underscore separator).
+(issue [@https://svn.boost.org/trac/boost/ticket/6199 #6199]).
+* Refactored test data and some special function code to improve support for arbitary precision and/or expression-template-enabled types.
+* Added new faster zeta function evaluation method.
+
+Fixed issues:
+
+* Corrected CDF complement for Laplace distribution (issue [@https://svn.boost.org/trac/boost/ticket/6151 #6151]).
+* Corrected branch cuts on the complex inverse trig functions, to handle signed zeros (issue [@https://svn.boost.org/trac/boost/ticket/6171 #6171]).
+* Fixed bug in `bessel_yn` which caused incorrect overflow errors to be raised for negative ['n] (issue [@https://svn.boost.org/trac/boost/ticket/6367 #6367]).
+* Also fixed minor/cosmetic/configuration issues [@https://svn.boost.org/trac/boost/ticket/6120 #6120], [@https://svn.boost.org/trac/boost/ticket/6191 #6191],
+ [@https://svn.boost.org/trac/boost/ticket/5982 #5982], [@https://svn.boost.org/trac/boost/ticket/6130 #6130],
+ [@https://svn.boost.org/trac/boost/ticket/6234 #6234], [@https://svn.boost.org/trac/boost/ticket/6307 #6307],
+ [@https://svn.boost.org/trac/boost/ticket/6192 #6192].
+
+[h4 Boost-1.48]
+
+* Added new series evaluation methods to the cyclic Bessel I, J, K and Y functions.
+Also taken great care to avoid spurious over and underflow of these functions.
+Fixes issue [@https://svn.boost.org/trac/boost/ticket/5560 #5560]
+
+* Added an example of using Inverse Chi-Squared distribution for Bayesian statistics,
+provided by Thomas Mang.
+
+* Added tests to use improved version of lexical_cast which handles C99 nonfinites without using globale facets.
+
+* Corrected wrong out-of-bound uniform distribution CDF complement values [@https://svn.boost.org/trac/boost/ticket/5733 #5733].
+
+* Enabled long double support on OpenBSD (issue [@https://svn.boost.org/trac/boost/ticket/6014 #6014]).
+
+* Changed nextafter and related functions to behave in the same way as other implementations - so that nextafter(+INF, 0)
+is a finite value (issue [@https://svn.boost.org/trac/boost/ticket/5823 #5832]).
+
+* Changed tuple include configuration to fix issue when using in conjunction with Boost.Tr1 (issue [@https://svn.boost.org/trac/boost/ticket/5934 #5934]).
+
+* Changed class eps_tolerance to behave correctly when both ends of the range are zero (issue [@https://svn.boost.org/trac/boost/ticket/6001 #6001]).
+
+* Fixed missing include guards on prime.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5927 #5927]).
+
+* Removed unused/undocumented constants from constants.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5982 #5982]).
+
+* Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5914 #5914]).
+
+* Minor patches for Cray compiler compatibility.
+
+[h4 Boost-1.47]
+
+* Added changesign function to sign.hpp to facilitate addition of nonfinite facets.
+* Addition of nonfinite facets from Johan Rade, with tests,
+examples of use for C99 format infinity and NaN, and documentation.
+* Added tests and documentation of changesign from Johan Rade.
+
+[h4 Boost-1.46.1]
+
+* Fixed issues [@https://svn.boost.org/trac/boost/ticket/5095 #5095], [@https://svn.boost.org/trac/boost/ticket/5095 #5113].
+
+[h4 Boost-1.46.0]
+
+* Added Wald, Inverse Gaussian and geometric distributions.
+* Added information about configuration macros.
+* Added support for mpreal as a real-numbered type.
+
+[h4 Boost-1.45.0]
+
+* Added warnings about potential ambiguity with std random library in distribution and function names.
+* Added inverse gamma distribution and inverse chi_square and scaled inverse chi_square.
+* Editorial revision of documentation, and added FAQ.
+
+[h4 Boost-1.44.0]
+
+* Fixed incorrect range and support for Rayleigh distribution.
+* Fixed numerical error in the quantile of the Student's T distribution: the function was
+returning garbage values for non-integer degrees of freedom between 2 and 3.
+
+[h4 Boost-1.41.0]
+
+* Significantly improved performance for the incomplete gamma function and its inverse.
+
+[h4 Boost-1.40.0]
+
+* Added support for MPFR as a bignum type.
+* Added some full specializations of the policy classes to reduce compile times.
+* Added logistic and hypergeometric distributions, from Gautam Sewani's Google Summer of Code project.
+* Added Laplace distribution submitted by Thijs van den Berg.
+* Updated performance test code to include new distributions, and improved the performance of the non-central distributions.
+* Added SSE2 optimised __lanczos code, from Gautam Sewani's Google Summer of Code project.
+* Fixed bug in cyl_bessel_i that used an incorrect approximation for [nu] = 0.5, also effects the non-central
+ Chi Square Distribution when [nu] = 3, see bug report [@https://svn.boost.org/trac/boost/ticket/2877 #2877].
+* Fixed minor bugs [@https://svn.boost.org/trac/boost/ticket/2873 #2873].
+
+[h4 Boost-1.38.0]
+
+* Added Johan R'''&#xE5;'''de's optimised floating point classification routines.
+* Fixed code so that it compiles in GCC's -pedantic mode (bug report
+[@https://svn.boost.org/trac/boost/ticket/1451 #1451]).
+
+[h4 Boost-1.37.0]
+
+* Improved accuracy and testing of the inverse hypergeometric functions.
+
+[h4 Boost-1.36.0]
+
+* Added Noncentral Chi Squared Distribution.
+* Added Noncentral Beta Distribution.
+* Added Noncentral F Distribution.
+* Added Noncentral T Distribution.
+* Added Exponential Integral Functions.
+* Added Zeta Function.
+* Added Rounding and Truncation functions.
+* Added Compile time powers of runtime bases.
+* Added SSE2 optimizations for Lanczos evaluation.
+
+[h4 Boost-1.35.0: Post Review First Official Release]
+
+* Added Policy based framework that allows fine grained control
+over function behaviour.
+* [*Breaking change:] Changed default behaviour for domain, pole and overflow errors
+to throw an exception (based on review feedback), this
+behaviour can be customised using __Policy's.
+* [*Breaking change:] Changed exception thrown when an internal evaluation error
+occurs to boost::math::evaluation_error.
+* [*Breaking change:] Changed discrete quantiles to return an integer result:
+this is anything up to 20 times faster than finding the true root, this
+behaviour can be customised using __Policy's.
+* Polynomial/rational function evaluation is now customisable and hopefully
+faster than before.
+* Added performance test program.
+
+[h4 Milestone 4: Second Review Candidate (1st March 2007)]
+
+* Moved Xiaogang Zhang's Bessel Functions code into the library,
+and brought them into line with the rest of the code.
+* Added C# "Distribution Explorer" demo application.
+
+[h4 Milestone 3: First Review Candidate (31st Dec 2006)]
+
+* Implemented the main probability distribution and density functions.
+* Implemented digamma.
+* Added more factorial functions.
+* Implemented the Hermite, Legendre and Laguerre polynomials plus the
+spherical harmonic functions from TR1.
+* Moved Xiaogang Zhang's elliptic integral code into the library,
+and brought them into line with the rest of the code.
+* Moved Hubert Holin's existing Boost.Math special functions
+into this library and brought them into line with the rest of the code.
+
+[h4 Milestone 2: Released September 10th 2006]
+
+* Implement preview release of the statistical distributions.
+* Added statistical distributions tutorial.
+* Implemented root finding algorithms.
+* Implemented the inverses of the incomplete gamma and beta functions.
+* Rewrite erf/erfc as rational approximations (valid to 128-bit precision).
+* Integrated the statistical results generated from
+the test data with Boost.Test: uses a database of expected
+results, indexed by test, floating point type, platform, and compiler.
+* Improved lgamma near 1 and 2 (rational approximations).
+* Improved erf/erfc inverses (rational approximations).
+* Implemented Rational function generation (the Remez method).
+
+[h4 Milestone 1: Released March 31st 2006]
+
+* Implement gamma/beta/erf functions along with their incomplete counterparts.
+* Generate high quality test data, against which future improvements can be judged.
+* Provide tools for the evaluation of infinite series, continued fractions, and
+rational functions.
+* Provide tools for testing against tabulated test data, and collecting statistics
+on error rates.
+* Provide sufficient docs for people to be able to find their way around the library.
+
+SVN Revisions:
+
+Sandbox and trunk last synchonised at revision: .
+
+]
+[/
+ Copyright 2006 - 2013 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
+
diff --git a/libs/math/doc/sf_and_dist/structure.qbk b/libs/math/doc/overview/structure.qbk
index a106f97a1e..a106f97a1e 100644
--- a/libs/math/doc/sf_and_dist/structure.qbk
+++ b/libs/math/doc/overview/structure.qbk
diff --git a/libs/math/doc/sf_and_dist/thread_safety.qbk b/libs/math/doc/overview/thread_safety.qbk
index cb46720466..cb46720466 100644
--- a/libs/math/doc/sf_and_dist/thread_safety.qbk
+++ b/libs/math/doc/overview/thread_safety.qbk
diff --git a/libs/math/doc/overview/tr1.qbk b/libs/math/doc/overview/tr1.qbk
new file mode 100644
index 0000000000..94a77cae87
--- /dev/null
+++ b/libs/math/doc/overview/tr1.qbk
@@ -0,0 +1,398 @@
+[template tr1_overview[]
+Many of the special functions included in this library are also a part
+of the either the [C99] or the [tr1]. Therefore this library
+includes a thin wrapper header `boost/math/tr1.hpp` that provides
+compatibility with these two standards.
+
+There are various pros and cons to using the library in this way:
+
+Pros:
+
+* The header to include is lightweight (i.e. fast to compile).
+* The functions have extern "C" linkage,
+ and so are usable from other languages (not just C and C++).
+* C99 and C++ TR1 Standard compatibility.
+
+Cons:
+
+* You will need to compile and link to the external Boost.Math libraries.
+* Limited to support for the types, `float`, `double` and `long double`.
+* Error handling is handled via setting ::errno and returning NaN's and
+infinities: this may be less flexible than an C++ exception based approach.
+
+[note The separate libraries are required *only* if you choose to use
+boost/math/tr1.hpp rather than some other Boost.Math header, the rest
+of Boost.Math remains header-only.]
+
+The separate libraries required in order to use tr1.hpp can be compiled
+using bjam from within the libs/math/build directory, or from the Boost
+root directory using the usual Boost-wide install procedure.
+Alternatively the source files are located in libs/math/src and each have
+the same name as the function they implement. The various libraries are
+named as follows:
+
+[table
+[[Name][Type][Functions]]
+[[boost_math_c99f-<suffix>][float][C99 Functions]]
+[[boost_math_c99-<suffix>][double][C99 Functions]]
+[[boost_math_c99l-<suffix>][long double][C99 Functions]]
+[[boost_math_tr1f-<suffix>][float][TR1 Functions]]
+[[boost_math_tr1-<suffix>][double][TR1 Functions]]
+[[boost_math_tr1l-<suffix>][long double][TR1 Functions]]
+]
+
+Where `<suffix>` encodes the compiler and build options used to
+build the libraries: for example "libboost_math_tr1-vc80-mt-gd.lib"
+would be the statically linked TR1 library to use with Visual C++ 8.0,
+in multithreading debug mode, with the DLL VC++ runtime, where as
+"boost_math_tr1-vc80-mt.lib" would be import library for the TR1 DLL
+to be used with Visual C++ 8.0 with the release multithreaded DLL
+VC++ runtime.
+Refer to the getting started guide for a
+[@http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming
+full explanation of the `<suffix>` meanings].
+
+[note
+Visual C++ users will typically have the correct library variant to link
+against selected for them by boost/math/tr1.hpp based on your compiler
+settings.
+
+Users will need to define BOOST_MATH_TR1_DYN_LINK when building
+their code if they want to link against the DLL versions of these libraries
+rather than the static versions.
+
+Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when
+building: this is typically only used when linking against a customised
+build of the libraries.]
+
+[note Linux and Unix users will generally only have one variant of
+these libraries installed, and can generally just link against
+-lboost_math_tr1 etc.]
+
+[h4 Usage Recomendations]
+
+This library now presents the user with a choice:
+
+* To include the header only versions of the functions and have
+an easier time linking, but a longer compile time.
+* To include the TR1 headers and link against an external library.
+
+Which option you choose depends largely on how you prefer to work
+and how your system is set up.
+
+For example a casual user who just needs the acosh function, would
+probably be better off including `<boost/math/special_functions/acosh.hpp>`
+and using `boost::math::acosh(x)` in their code.
+
+However, for large scale
+software development where compile times are significant, and where the
+Boost libraries are already built and installed on the system, then
+including `<boost/math/tr1.hpp>` and using `boost::math::tr1::acosh(x)`
+will speed up compile times, reduce object files sizes (since there are
+no templates being instantiated any more), and also speed up debugging
+runtimes - since the externally compiled libraries can be
+compiler optimised, rather than built using full settings - the difference
+in performance between
+[link math_toolkit.getting_best
+release and debug builds can be as much as 20 times],
+so for complex applications this can be a big win.
+
+[h4 Supported C99 Functions]
+
+See also the [link math_toolkit.c99
+quick reference guide for these functions].
+
+ namespace boost{ namespace math{ namespace tr1{ extern "C"{
+
+ typedef unspecified float_t;
+ typedef unspecified double_t;
+
+ double acosh(double x);
+ float acoshf(float x);
+ long double acoshl(long double x);
+
+ double asinh(double x);
+ float asinhf(float x);
+ long double asinhl(long double x);
+
+ double atanh(double x);
+ float atanhf(float x);
+ long double atanhl(long double x);
+
+ double cbrt(double x);
+ float cbrtf(float x);
+ long double cbrtl(long double x);
+
+ double copysign(double x, double y);
+ float copysignf(float x, float y);
+ long double copysignl(long double x, long double y);
+
+ double erf(double x);
+ float erff(float x);
+ long double erfl(long double x);
+
+ double erfc(double x);
+ float erfcf(float x);
+ long double erfcl(long double x);
+
+ double expm1(double x);
+ float expm1f(float x);
+ long double expm1l(long double x);
+
+ double fmax(double x, double y);
+ float fmaxf(float x, float y);
+ long double fmaxl(long double x, long double y);
+
+ double fmin(double x, double y);
+ float fminf(float x, float y);
+ long double fminl(long double x, long double y);
+
+ double hypot(double x, double y);
+ float hypotf(float x, float y);
+ long double hypotl(long double x, long double y);
+
+ double lgamma(double x);
+ float lgammaf(float x);
+ long double lgammal(long double x);
+
+ long long llround(double x);
+ long long llroundf(float x);
+ long long llroundl(long double x);
+
+ double log1p(double x);
+ float log1pf(float x);
+ long double log1pl(long double x);
+
+ long lround(double x);
+ long lroundf(float x);
+ long lroundl(long double x);
+
+ double nextafter(double x, double y);
+ float nextafterf(float x, float y);
+ long double nextafterl(long double x, long double y);
+
+ double nexttoward(double x, long double y);
+ float nexttowardf(float x, long double y);
+ long double nexttowardl(long double x, long double y);
+
+ double round(double x);
+ float roundf(float x);
+ long double roundl(long double x);
+
+ double tgamma(double x);
+ float tgammaf(float x);
+ long double tgammal(long double x);
+
+ double trunc(double x);
+ float truncf(float x);
+ long double truncl(long double x);
+
+ }}}} // namespaces
+
+[h4 Supported TR1 Functions]
+
+See also the [link math_toolkit.main_tr1
+quick reference guide for these functions].
+
+ namespace boost{ namespace math{ namespace tr1{ extern "C"{
+
+ // [5.2.1.1] associated Laguerre polynomials:
+ double assoc_laguerre(unsigned n, unsigned m, double x);
+ float assoc_laguerref(unsigned n, unsigned m, float x);
+ long double assoc_laguerrel(unsigned n, unsigned m, long double x);
+
+ // [5.2.1.2] associated Legendre functions:
+ double assoc_legendre(unsigned l, unsigned m, double x);
+ float assoc_legendref(unsigned l, unsigned m, float x);
+ long double assoc_legendrel(unsigned l, unsigned m, long double x);
+
+ // [5.2.1.3] beta function:
+ double beta(double x, double y);
+ float betaf(float x, float y);
+ long double betal(long double x, long double y);
+
+ // [5.2.1.4] (complete) elliptic integral of the first kind:
+ double comp_ellint_1(double k);
+ float comp_ellint_1f(float k);
+ long double comp_ellint_1l(long double k);
+
+ // [5.2.1.5] (complete) elliptic integral of the second kind:
+ double comp_ellint_2(double k);
+ float comp_ellint_2f(float k);
+ long double comp_ellint_2l(long double k);
+
+ // [5.2.1.6] (complete) elliptic integral of the third kind:
+ double comp_ellint_3(double k, double nu);
+ float comp_ellint_3f(float k, float nu);
+ long double comp_ellint_3l(long double k, long double nu);
+
+ // [5.2.1.8] regular modified cylindrical Bessel functions:
+ double cyl_bessel_i(double nu, double x);
+ float cyl_bessel_if(float nu, float x);
+ long double cyl_bessel_il(long double nu, long double x);
+
+ // [5.2.1.9] cylindrical Bessel functions (of the first kind):
+ double cyl_bessel_j(double nu, double x);
+ float cyl_bessel_jf(float nu, float x);
+ long double cyl_bessel_jl(long double nu, long double x);
+
+ // [5.2.1.10] irregular modified cylindrical Bessel functions:
+ double cyl_bessel_k(double nu, double x);
+ float cyl_bessel_kf(float nu, float x);
+ long double cyl_bessel_kl(long double nu, long double x);
+
+ // [5.2.1.11] cylindrical Neumann functions;
+ // cylindrical Bessel functions (of the second kind):
+ double cyl_neumann(double nu, double x);
+ float cyl_neumannf(float nu, float x);
+ long double cyl_neumannl(long double nu, long double x);
+
+ // [5.2.1.12] (incomplete) elliptic integral of the first kind:
+ double ellint_1(double k, double phi);
+ float ellint_1f(float k, float phi);
+ long double ellint_1l(long double k, long double phi);
+
+ // [5.2.1.13] (incomplete) elliptic integral of the second kind:
+ double ellint_2(double k, double phi);
+ float ellint_2f(float k, float phi);
+ long double ellint_2l(long double k, long double phi);
+
+ // [5.2.1.14] (incomplete) elliptic integral of the third kind:
+ double ellint_3(double k, double nu, double phi);
+ float ellint_3f(float k, float nu, float phi);
+ long double ellint_3l(long double k, long double nu, long double phi);
+
+ // [5.2.1.15] exponential integral:
+ double expint(double x);
+ float expintf(float x);
+ long double expintl(long double x);
+
+ // [5.2.1.16] Hermite polynomials:
+ double hermite(unsigned n, double x);
+ float hermitef(unsigned n, float x);
+ long double hermitel(unsigned n, long double x);
+
+ // [5.2.1.18] Laguerre polynomials:
+ double laguerre(unsigned n, double x);
+ float laguerref(unsigned n, float x);
+ long double laguerrel(unsigned n, long double x);
+
+ // [5.2.1.19] Legendre polynomials:
+ double legendre(unsigned l, double x);
+ float legendref(unsigned l, float x);
+ long double legendrel(unsigned l, long double x);
+
+ // [5.2.1.20] Riemann zeta function:
+ double riemann_zeta(double);
+ float riemann_zetaf(float);
+ long double riemann_zetal(long double);
+
+ // [5.2.1.21] spherical Bessel functions (of the first kind):
+ double sph_bessel(unsigned n, double x);
+ float sph_besself(unsigned n, float x);
+ long double sph_bessell(unsigned n, long double x);
+
+ // [5.2.1.22] spherical associated Legendre functions:
+ double sph_legendre(unsigned l, unsigned m, double theta);
+ float sph_legendref(unsigned l, unsigned m, float theta);
+ long double sph_legendrel(unsigned l, unsigned m, long double theta);
+
+ // [5.2.1.23] spherical Neumann functions;
+ // spherical Bessel functions (of the second kind):
+ double sph_neumann(unsigned n, double x);
+ float sph_neumannf(unsigned n, float x);
+ long double sph_neumannl(unsigned n, long double x);
+
+ }}}} // namespaces
+
+In addition sufficient additional overloads of the `double` versions of the
+above functions are provided, so that calling the function with any mixture
+of `float`, `double`, `long double`, or /integer/ arguments is supported, with the
+return type determined by the __arg_pomotion_rules.
+
+[h4 Currently Unsupported C99 Functions]
+
+ double exp2(double x);
+ float exp2f(float x);
+ long double exp2l(long double x);
+
+ double fdim(double x, double y);
+ float fdimf(float x, float y);
+ long double fdiml(long double x, long double y);
+
+ double fma(double x, double y, double z);
+ float fmaf(float x, float y, float z);
+ long double fmal(long double x, long double y, long double z);
+
+ int ilogb(double x);
+ int ilogbf(float x);
+ int ilogbl(long double x);
+
+ long long llrint(double x);
+ long long llrintf(float x);
+ long long llrintl(long double x);
+
+ double log2(double x);
+ float log2f(float x);
+ long double log2l(long double x);
+
+ double logb(double x);
+ float logbf(float x);
+ long double logbl(long double x);
+
+ long lrint(double x);
+ long lrintf(float x);
+ long lrintl(long double x);
+
+ double nan(const char *str);
+ float nanf(const char *str);
+ long double nanl(const char *str);
+
+ double nearbyint(double x);
+ float nearbyintf(float x);
+ long double nearbyintl(long double x);
+
+ double remainder(double x, double y);
+ float remainderf(float x, float y);
+ long double remainderl(long double x, long double y);
+
+ double remquo(double x, double y, int *pquo);
+ float remquof(float x, float y, int *pquo);
+ long double remquol(long double x, long double y, int *pquo);
+
+ double rint(double x);
+ float rintf(float x);
+ long double rintl(long double x);
+
+ double scalbln(double x, long ex);
+ float scalblnf(float x, long ex);
+ long double scalblnl(long double x, long ex);
+
+ double scalbn(double x, int ex);
+ float scalbnf(float x, int ex);
+ long double scalbnl(long double x, int ex);
+
+[h4 Currently Unsupported TR1 Functions]
+
+ // [5.2.1.7] confluent hypergeometric functions:
+ double conf_hyperg(double a, double c, double x);
+ float conf_hypergf(float a, float c, float x);
+ long double conf_hypergl(long double a, long double c, long double x);
+
+ // [5.2.1.17] hypergeometric functions:
+ double hyperg(double a, double b, double c, double x);
+ float hypergf(float a, float b, float c, float x);
+ long double hypergl(long double a, long double b, long double c,
+ long double x);
+
+
+]
+
+[/
+ Copyright 2008 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/performance/performance.qbk b/libs/math/doc/performance/performance.qbk
new file mode 100644
index 0000000000..bf903eb93e
--- /dev/null
+++ b/libs/math/doc/performance/performance.qbk
@@ -0,0 +1,453 @@
+[template perf[name value] [value]]
+[template para[text] '''<para>'''[text]'''</para>''']
+
+[mathpart perf Performance]
+
+[section:perf_over2 Performance Overview]
+[performance_overview]
+[endsect]
+
+[section:interp Interpreting these Results]
+
+In all of the following tables, the best performing
+result in each row, is assigned a relative value of "1" and shown
+in bold, so a score of "2" means ['"twice as slow as the best
+performing result".] Actual timings in seconds per function call
+are also shown in parenthesis.
+
+Result were obtained on a system
+with an Intel 2.8GHz Pentium 4 processor with 2Gb of RAM and running
+either Windows XP or Mandriva Linux.
+
+[caution As usual with performance results these should be taken with a large pinch
+of salt: relative performance is known to shift quite a bit depending
+upon the architecture of the particular test system used. Further
+more, our performance results were obtained using our own test data:
+these test values are designed to provide good coverage of our code and test
+all the appropriate corner cases. They do not necessarily represent
+"typical" usage: whatever that may be!
+]
+
+[note Since these tests were run, most compilers have improved their code optimisation,
+and processor speeds have improved too, so these results are known to be out of date.]
+
+[endsect]
+
+[section:getting_best Getting the Best Performance from this Library]
+
+By far the most important thing you can do when using this library
+is turn on your compiler's optimisation options. As the following
+table shows the penalty for using the library in debug mode can be
+quite large.
+
+[table Performance Comparison of Release and Debug Settings
+[[Function]
+ [Microsoft Visual C++ 8.0
+
+ Debug Settings: /Od /ZI
+ ]
+ [Microsoft Visual C++ 8.0
+
+ Release settings: /Ox /arch:SSE2
+ ]]
+
+[[__erf][[perf msvc-debug-erf..[para 16.65][para (1.028e-006s)]]][[perf msvc-erf..[para *1.00*][para (1.483e-007s)]]]]
+[[__erf_inv][[perf msvc-debug-erf_inv..[para 19.28][para (1.215e-006s)]]][[perf msvc-erf_inv..[para *1.00*][para (4.888e-007s)]]]]
+[[__ibeta and __ibetac][[perf msvc-debug-ibeta..[para 8.32][para (1.540e-005s)]]][[perf msvc-ibeta..[para *1.00*][para (1.852e-006s)]]]]
+[[__ibeta_inv and __ibetac_inv][[perf msvc-debug-ibeta_inv..[para 10.25][para (7.492e-005s)]]][[perf msvc-ibeta_inv..[para *1.00*][para (7.311e-006s)]]]]
+[[__ibeta_inva, __ibetac_inva, __ibeta_invb and __ibetac_invb][[perf msvc-debug-ibeta_invab..[para 8.57][para (2.441e-004s)]]][[perf msvc-ibeta_invab..[para *1.00*][para (2.847e-005s)]]]]
+[[__gamma_p and __gamma_q][[perf msvc-debug-igamma..[para 10.98][para (1.044e-005s)]]][[perf msvc-igamma..[para *1.00*][para (9.504e-007s)]]]]
+[[__gamma_p_inv and __gamma_q_inv][[perf msvc-debug-igamma_inv..[para 10.25][para (3.721e-005s)]]][[perf msvc-igamma_inv..[para *1.00*][para (3.631e-006s)]]]]
+[[__gamma_p_inva and __gamma_q_inva][[perf msvc-debug-igamma_inva..[para 11.26][para (1.124e-004s)]]][[perf msvc-igamma_inva..[para *1.00*][para (9.982e-006s)]]]]
+]
+
+[endsect]
+
+[section:comp_compilers Comparing Compilers]
+
+After a good choice of build settings the next most important thing
+you can do, is choose your compiler
+- and the standard C library it sits on top of - very carefully. GCC-3.x
+in particular has been found to be particularly bad at inlining code,
+and performing the kinds of high level transformations that good C++ performance
+demands (thankfully GCC-4.x is somewhat better in this respect).
+
+[table Performance Comparison of Various Windows Compilers
+[[Function]
+ [Intel C++ 10.0
+
+ ( /Ox /Qipo /QxN )
+ ]
+ [Microsoft Visual C++ 8.0
+
+ ( /Ox /arch:SSE2 )
+ ]
+ [Cygwin G++ 3.4
+
+ ( /O3 )
+ ]]
+[[__erf][[perf intel-erf..[para *1.00*][para (4.118e-008s)]]][[perf msvc-erf..[para *1.00*][para (1.483e-007s)]]][[perf gcc-erf..[para 3.24][para (1.336e-007s)]]]]
+[[__erf_inv][[perf intel-erf_inv..[para *1.00*][para (4.439e-008s)]]][[perf msvc-erf_inv..[para *1.00*][para (4.888e-007s)]]][[perf gcc-erf_inv..[para 7.88][para (3.500e-007s)]]]]
+[[__ibeta and __ibetac][[perf intel-ibeta..[para *1.00*][para (1.631e-006s)]]][[perf msvc-ibeta..[para 1.14][para (1.852e-006s)]]][[perf gcc-ibeta..[para 3.05][para (4.975e-006s)]]]]
+[[__ibeta_inv and __ibetac_inv][[perf intel-ibeta_inv..[para *1.00*][para (6.133e-006s)]]][[perf msvc-ibeta_inv..[para 1.19][para (7.311e-006s)]]][[perf gcc-ibeta_inv..[para 2.60][para (1.597e-005s)]]]]
+[[__ibeta_inva, __ibetac_inva, __ibeta_invb and __ibetac_invb][[perf intel-ibeta_invab..[para *1.00*][para (2.453e-005s)]]][[perf msvc-ibeta_invab..[para 1.16][para (2.847e-005s)]]][[perf gcc-ibeta_invab..[para 2.83][para (6.947e-005s)]]]]
+[[__gamma_p and __gamma_q][[perf intel-igamma..[para *1.00*][para (6.735e-007s)]]][[perf msvc-igamma..[para 1.41][para (9.504e-007s)]]][[perf gcc-igamma..[para 2.78][para (1.872e-006s)]]]]
+[[__gamma_p_inv and __gamma_q_inv][[perf intel-igamma_inv..[para *1.00*][para (2.637e-006s)]]][[perf msvc-igamma_inv..[para 1.38][para (3.631e-006s)]]][[perf gcc-igamma_inv..[para 3.31][para (8.736e-006s)]]]]
+[[__gamma_p_inva and __gamma_q_inva][[perf intel-igamma_inva..[para *1.00*][para (7.716e-006s)]]][[perf msvc-igamma_inva..[para 1.29][para (9.982e-006s)]]][[perf gcc-igamma_inva..[para 2.56][para (1.974e-005s)]]]]
+]
+
+[endsect]
+
+[section:tuning Performance Tuning Macros]
+
+There are a small number of performance tuning options
+that are determined by configuration macros. These should be set
+in boost/math/tools/user.hpp; or else reported to the Boost-development
+mailing list so that the appropriate option for a given compiler and
+OS platform can be set automatically in our configuration setup.
+
+[table
+[[Macro][Meaning]]
+[[BOOST_MATH_POLY_METHOD]
+ [Determines how polynomials and most rational functions
+ are evaluated. Define to one
+ of the values 0, 1, 2 or 3: see below for the meaning of these values.]]
+[[BOOST_MATH_RATIONAL_METHOD]
+ [Determines how symmetrical rational functions are evaluated: mostly
+ this only effects how the Lanczos approximation is evaluated, and how
+ the `evaluate_rational` function behaves. Define to one
+ of the values 0, 1, 2 or 3: see below for the meaning of these values.
+ ]]
+[[BOOST_MATH_MAX_POLY_ORDER]
+ [The maximum order of polynomial or rational function that will
+ be evaluated by a method other than 0 (a simple "for" loop).
+ ]]
+[[BOOST_MATH_INT_TABLE_TYPE(RT, IT)]
+ [Many of the coefficients to the polynomials and rational functions
+ used by this library are integers. Normally these are stored as tables
+ as integers, but if mixed integer / floating point arithmetic is much
+ slower than regular floating point arithmetic then they can be stored
+ as tables of floating point values instead. If mixed arithmetic is slow
+ then add:
+
+ #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
+
+ to boost/math/tools/user.hpp, otherwise the default of:
+
+ #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
+
+ Set in boost/math/config.hpp is fine, and may well result in smaller
+ code.
+ ]]
+]
+
+The values to which `BOOST_MATH_POLY_METHOD` and `BOOST_MATH_RATIONAL_METHOD`
+may be set are as follows:
+
+[table
+[[Value][Effect]]
+[[0][The polynomial or rational function is evaluated using Horner's
+ method, and a simple for-loop.
+
+ Note that if the order of the polynomial
+ or rational function is a runtime parameter, or the order is
+ greater than the value of `BOOST_MATH_MAX_POLY_ORDER`, then
+ this method is always used, irrespective of the value
+ of `BOOST_MATH_POLY_METHOD` or `BOOST_MATH_RATIONAL_METHOD`.]]
+[[1][The polynomial or rational function is evaluated without
+ the use of a loop, and using Horner's method. This only occurs
+ if the order of the polynomial is known at compile time and is less
+ than or equal to `BOOST_MATH_MAX_POLY_ORDER`. ]]
+[[2][The polynomial or rational function is evaluated without
+ the use of a loop, and using a second order Horner's method.
+ In theory this permits two operations to occur in parallel
+ for polynomials, and four in parallel for rational functions.
+ This only occurs
+ if the order of the polynomial is known at compile time and is less
+ than or equal to `BOOST_MATH_MAX_POLY_ORDER`.]]
+[[3][The polynomial or rational function is evaluated without
+ the use of a loop, and using a second order Horner's method.
+ In theory this permits two operations to occur in parallel
+ for polynomials, and four in parallel for rational functions.
+ This differs from method "2" in that the code is carefully ordered
+ to make the parallelisation more obvious to the compiler: rather than
+ relying on the compiler's optimiser to spot the parallelisation
+ opportunities.
+ This only occurs
+ if the order of the polynomial is known at compile time and is less
+ than or equal to `BOOST_MATH_MAX_POLY_ORDER`.]]
+]
+
+To determine which
+of these options is best for your particular compiler/platform build
+the performance test application with your usual release settings,
+and run the program with the --tune command line option.
+
+In practice the difference between methods is rather small at present,
+as the following table shows. However, parallelisation /vectorisation
+is likely to become more important in the future: quite likely the methods
+currently supported will need to be supplemented or replaced by ones more
+suited to highly vectorisable processors in the future.
+
+[table A Comparison of Polynomial Evaluation Methods
+[[Compiler/platform][Method 0][Method 1][Method 2][Method 3]]
+[[Microsoft C++ 9.0, Polynomial evaluation] [[perf msvc-Polynomial-method-0..[para 1.26][para (7.421e-008s)]]][[perf msvc-Polynomial-method-1..[para 1.22][para (7.226e-008s)]]][[perf msvc-Polynomial-method-2..[para *1.00*][para (5.901e-008s)]]][[perf msvc-Polynomial-method-3..[para 1.04][para (6.115e-008s)]]]]
+[[Microsoft C++ 9.0, Rational evaluation] [[perf msvc-Rational-method-0..[para *1.00*][para (1.008e-007s)]]][[perf msvc-Rational-method-1..[para *1.00*][para (1.008e-007s)]]][[perf msvc-Rational-method-2..[para 1.43][para (1.445e-007s)]]][[perf msvc-Rational-method-3..[para 1.40][para (1.409e-007s)]]]]
+[[Intel C++ 11.1 (Windows), Polynomial evaluation] [[perf intel-Polynomial-method-0..[para 1.18][para (6.517e-008s)]]][[perf intel-Polynomial-method-1..[para 1.18][para (6.505e-008s)]]][[perf intel-Polynomial-method-2..[para *1.00*][para (5.516e-008s)]]][[perf intel-Polynomial-method-3..[para *1.00*][para (5.516e-008s)]]]]
+[[Intel C++ 11.1 (Windows), Rational evaluation] [[perf intel-Rational-method-0..[para *1.00*][para (8.947e-008s)]]][[perf intel-Rational-method-1..[para 1.02][para (9.130e-008s)]]][[perf intel-Rational-method-2..[para 1.49][para (1.333e-007s)]]][[perf intel-Rational-method-3..[para 1.04][para (9.325e-008s)]]]]
+[[GNU G++ 4.2 (Linux), Polynomial evaluation] [[perf gcc-4_2-ld-Polynomial-method-0..[para 1.61][para (1.220e-007s)]]][[perf gcc-4_2-ld-Polynomial-method-1..[para 1.68][para (1.269e-007s)]]][[perf gcc-4_2-ld-Polynomial-method-2..[para 1.23][para (9.275e-008s)]]][[perf gcc-4_2-ld-Polynomial-method-3..[para *1.00*][para (7.566e-008s)]]]]
+[[GNU G++ 4.2 (Linux), Rational evaluation] [[perf gcc-4_2-ld-Rational-method-0..[para 1.26][para (1.660e-007s)]]][[perf gcc-4_2-ld-Rational-method-1..[para 1.33][para (1.758e-007s)]]][[perf gcc-4_2-ld-Rational-method-2..[para *1.00*][para (1.318e-007s)]]][[perf gcc-4_2-ld-Rational-method-3..[para 1.15][para (1.513e-007s)]]]]
+[[Intel C++ 10.0 (Linux), Polynomial evaluation] [[perf intel-linux-Polynomial-method-0..[para 1.15][para (9.154e-008s)]]][[perf intel-linux-Polynomial-method-1..[para 1.15][para (9.154e-008s)]]][[perf intel-linux-Polynomial-method-2..[para *1.00*][para (7.934e-008s)]]][[perf intel-linux-Polynomial-method-3..[para *1.00*][para (7.934e-008s)]]]]
+[[Intel C++ 10.0 (Linux), Rational evaluation] [[perf intel-linux-Rational-method-0..[para *1.00*][para (1.245e-007s)]]][[perf intel-linux-Rational-method-1..[para *1.00*][para (1.245e-007s)]]][[perf intel-linux-Rational-method-2..[para 1.35][para (1.684e-007s)]]][[perf intel-linux-Rational-method-3..[para 1.04][para (1.294e-007s)]]]]
+]
+
+There is one final performance tuning option that is available as a compile time
+[link policy policy]. Normally when evaluating functions at `double`
+precision, these are actually evaluated at `long double` precision internally:
+this helps to ensure that as close to full `double` precision as possible is
+achieved, but may slow down execution in some environments. The defaults for
+this policy can be changed by
+[link math_toolkit.pol_ref.policy_defaults
+defining the macro `BOOST_MATH_PROMOTE_DOUBLE_POLICY`]
+to `false`, or
+[link math_toolkit.pol_ref.internal_promotion
+by specifying a specific policy] when calling the special
+functions or distributions. See also the
+[link math_toolkit.pol_tutorial policy tutorial].
+
+[table Performance Comparison with and Without Internal Promotion to long double
+[[Function]
+ [GCC 4.2 , Linux
+
+ (with internal promotion of double to long double).
+ ]
+ [GCC 4.2, Linux
+
+ (without promotion of double).
+ ]
+]
+[[__erf][[perf gcc-4_2-ld-erf..[para 1.48][para (1.387e-007s)]]][[perf gcc-4_2-erf..[para *1.00*][para (9.377e-008s)]]]]
+[[__erf_inv][[perf gcc-4_2-ld-erf_inv..[para 1.11][para (4.009e-007s)]]][[perf gcc-4_2-erf_inv..[para *1.00*][para (3.598e-007s)]]]]
+[[__ibeta and __ibetac][[perf gcc-4_2-ld-ibeta..[para 1.29][para (5.354e-006s)]]][[perf gcc-4_2-ibeta..[para *1.00*][para (4.137e-006s)]]]]
+[[__ibeta_inv and __ibetac_inv][[perf gcc-4_2-ld-ibeta_inv..[para 1.44][para (2.220e-005s)]]][[perf gcc-4_2-ibeta_inv..[para *1.00*][para (1.538e-005s)]]]]
+[[__ibeta_inva, __ibetac_inva, __ibeta_invb and __ibetac_invb][[perf gcc-4_2-ld-ibeta_invab..[para 1.25][para (7.009e-005s)]]][[perf gcc-4_2-ibeta_invab..[para *1.00*][para (5.607e-005s)]]]]
+[[__gamma_p and __gamma_q][[perf gcc-4_2-ld-igamma..[para 1.26][para (3.116e-006s)]]][[perf gcc-4_2-igamma..[para *1.00*][para (2.464e-006s)]]]]
+[[__gamma_p_inv and __gamma_q_inv][[perf gcc-4_2-ld-igamma_inv..[para 1.27][para (1.178e-005s)]]][[perf gcc-4_2-igamma_inv..[para *1.00*][para (9.291e-006s)]]]]
+[[__gamma_p_inva and __gamma_q_inva][[perf gcc-4_2-ld-igamma_inva..[para 1.20][para (2.765e-005s)]]][[perf gcc-4_2-igamma_inva..[para *1.00*][para (2.311e-005s)]]]]
+]
+
+[endsect]
+[section:comparisons Comparisons to Other Open Source Libraries]
+
+We've run our performance tests both for our own code, and against other
+open source implementations of the same functions. The results are
+presented below to give you a rough idea of how they all compare.
+
+[caution
+You should exercise extreme caution when interpreting
+these results, relative performance may vary by platform, the tests use
+data that gives good code coverage of /our/ code, but which may skew the
+results towards the corner cases. Finally, remember that different
+libraries make different choices with regard to performance verses
+numerical stability.
+]
+
+[heading Comparison to GSL-1.13 and Cephes]
+
+All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM, Windows Vista
+machine, with the test program compiled with Microsoft Visual C++ 2009 using the /Ox option.
+
+[table
+[[Function][Boost][GSL-1.9][Cephes]]
+[[__cbrt]
+ [[perf msvc-cbrt..[para *1.00*][para (4.873e-007s)]]]
+ [N\/A]
+ [[perf msvc-cbrt-cephes..[para *1.00*][para (6.699e-007s)]]]]
+[[__log1p]
+ [[perf msvc-log1p..[para *1.00*][para (1.664e-007s)]]]
+ [[perf msvc-log1p-gsl..[para *1.00*][para (2.677e-007s)]]]
+ [[perf msvc-log1p-cephes..[para *1.00*][para (1.189e-007s)]]]]
+[[__expm1]
+ [[perf msvc-expm1..[para *1.00*][para (8.760e-008s)]]]
+ [[perf msvc-expm1-gsl..[para *1.00*][para (1.248e-007s)]]]
+ [[perf msvc-expm1-cephes..[para *1.00*][para (8.169e-008s)]]]]
+[[__tgamma]
+ [[perf msvc-gamma..[para 1.80][para (2.997e-007s)]]]
+ [[perf msvc-gamma-gsl..[para 1.54][para (2.569e-007s)]]]
+ [[perf msvc-gamma-cephes..[para *1.00*][para (1.666e-007s)]]]]
+[[__lgamma]
+ [[perf msvc-lgamma..[para 2.20][para (3.045e-007s)]]]
+ [[perf msvc-lgamma-gsl..[para 4.14][para (5.713e-007s)]]]
+ [[perf msvc-lgamma-cephes..[para *1.00*][para (1.381e-007s)]]]]
+[[__erf and __erfc]
+ [[perf msvc-erf..[para *1.00*][para (1.483e-007s)]]]
+ [[perf msvc-erf-gsl..[para *1.00*][para (7.052e-007s)]]]
+ [[perf msvc-erf-cephes..[para *1.00*][para (1.722e-007s)]]]]
+[[__gamma_p and __gamma_q]
+ [[perf msvc-igamma..[para *1.00*][para (6.182e-007s)]]]
+ [[perf msvc-igamma-gsl..[para 3.57][para (2.209e-006s)]]]
+ [[perf msvc-igamma-cephes..[para 4.29][para (2.651e-006s)]]]]
+[[__gamma_p_inv and __gamma_q_inv]
+ [[perf msvc-igamma_inv..[para *1.00*][para (1.943e-006s)]]]
+ [N\/A]
+ [+INF [footnote Cephes gets stuck in an infinite loop while trying to execute our test cases.]]]
+[[__ibeta and __ibetac]
+ [[perf msvc-ibeta..[para *1.00*][para (1.670e-006s)]]]
+ [[perf msvc-ibeta-cephes..[para 1.16][para (1.935e-006s)]]]
+ [[perf msvc-ibeta-cephes..[para 1.16][para (1.935e-006s)]]]]
+[[__ibeta_inv and __ibetac_inv]
+ [[perf msvc-ibeta_inv..[para *1.00*][para (6.075e-006s)]]]
+ [N\/A]
+ [[perf msvc-ibeta_inv-cephes..[para 2.45][para (1.489e-005s)]]]]
+[[__cyl_bessel_j]
+ [[perf msvc-cyl_bessel_j..[para 17.89[footnote The performance here is dominated by a few cases where the parameters grow very large:
+ faster asymptotic expansions are available, but are of limited (or even frankly terrible) precision. The same issue
+ effects all of our Bessel function implementations, but doesn't necessarily show in the current performance data.
+ More investigation is needed here.]][para (4.248e-005s)]]]
+ [[perf msvc-cyl_bessel_j-gsl..[para *1.00*][para (5.214e-006s)]]]
+ [[perf msvc-cyl_bessel_j-cephes..[para *1.00*][para (2.374e-006s)]]]]
+[[__cyl_bessel_i]
+ [[perf msvc-cyl_bessel_i..[para *1.00*][para (5.924e-006s)]]]
+ [[perf msvc-cyl_bessel_i-gsl..[para *1.00*][para (4.487e-006s)]]]
+ [[perf msvc-cyl_bessel_i-cephes..[para *1.00*][para (4.823e-006s)]]]]
+[[__cyl_bessel_k]
+ [[perf msvc-cyl_bessel_k..[para *1.00*][para (2.783e-006s)]]]
+ [[perf msvc-cyl_bessel_k-gsl..[para *1.00*][para (3.927e-006s)]]]
+ [N\/A]]
+[[__cyl_neumann]
+ [[perf msvc-cyl_neumann..[para *1.00*][para (4.465e-006s)]]]
+ [[perf msvc-cyl_neumann-gsl..[para *1.00*][para (1.230e-005s)]]]
+ [[perf msvc-cyl_neumann-cephes..[para *1.00*][para (4.977e-006s)]]]]
+]
+
+[heading Comparison to the R and DCDFLIB Statistical Libraries on Windows]
+
+All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM, Windows Vista
+machine, with the test program compiled with Microsoft Visual C++ 2009, and
+R-2.9.2 compiled in "standalone mode" with MinGW-4.3
+(R-2.9.2 appears not to be buildable with Visual C++).
+
+[table A Comparison to the R Statistical Library on Windows XP
+[[Statistical Function][Boost][R][DCDFLIB]]
+[[__beta_distrib CDF][[perf msvc-dist-beta-cdf..[para 1.08][para (1.385e-006s)]]][[perf msvc-dist-beta-R-cdf..[para *1.00*][para (1.278e-006s)]]][[perf msvc-dist-beta-dcd-cdf..[para 1.06][para (1.349e-006s)]]]]
+[[__beta_distrib Quantile][[perf msvc-dist-beta-quantile..[para *1.00*][para (4.975e-006s)]]][[perf msvc-dist-beta-R-quantile..[para 67.66[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (3.366e-004s)]]][[perf msvc-dist-beta-dcd-quantile..[para 4.23][para (2.103e-005s)]]]]
+[[__binomial_distrib CDF][[perf msvc-dist-binomial-cdf..[para 1.06][para (4.503e-007s)]]][[perf msvc-dist-binom-R-cdf..[para 1.81][para (7.680e-007s)]]][[perf msvc-dist-binomial-dcd-cdf..[para *1.00*][para (4.239e-007s)]]]]
+[[__binomial_distrib Quantile][[perf msvc-dist-binomial-quantile..[para *1.00*][para (3.254e-006s)]]][[perf msvc-dist-binom-R-quantile..[para 1.15][para (3.746e-006s)]]][[perf msvc-dist-binomial-dcd-quantile..[para 7.25][para (2.358e-005s)]]]]
+[[__cauchy_distrib CDF][[perf msvc-dist-cauchy-cdf..[para *1.00*][para (1.134e-007s)]]][[perf msvc-dist-cauchy-R-cdf..[para 1.08][para (1.227e-007s)]]][NA]]
+[[__cauchy_distrib Quantile][[perf msvc-dist-cauchy-quantile..[para *1.00*][para (1.203e-007s)]]][[perf msvc-dist-cauchy-R-quantile..[para *1.00*][para (1.203e-007s)]]][NA]]
+[[__chi_squared_distrib CDF][[perf msvc-dist-chi_squared-cdf..[para 1.21][para (5.021e-007s)]]][[perf msvc-dist-chisq-R-cdf..[para 2.83][para (1.176e-006s)]]][[perf msvc-dist-chi_squared-dcd-cdf..[para *1.00*][para (4.155e-007s)]]]]
+[[__chi_squared_distrib Quantile][[perf msvc-dist-chi_squared-quantile..[para *1.00*][para (1.930e-006s)]]][[perf msvc-dist-chisq-R-quantile..[para 2.72][para (5.243e-006s)]]][[perf msvc-dist-chi_squared-dcd-quantile..[para 5.73][para (1.106e-005s)]]]]
+[[__exp_distrib CDF][[perf msvc-dist-exponential-cdf..[para *1.00*][para (3.798e-008s)]]][[perf msvc-dist-exp-R-cdf..[para 5.89][para (2.236e-007s)]]][NA]]
+[[__exp_distrib Quantile][[perf msvc-dist-exponential-quantile..[para 1.41][para (9.006e-008s)]]][[perf msvc-dist-exp-R-quantile..[para *1.00*][para (6.380e-008s)]]][NA]]
+[[__F_distrib CDF][[perf msvc-dist-fisher_f-cdf..[para *1.00*][para (9.556e-007s)]]][[perf msvc-dist-f-R-cdf..[para 1.34][para (1.283e-006s)]]][[perf msvc-dist-f-dcd-cdf..[para 1.24][para (1.183e-006s)]]]]
+[[__F_distrib Quantile][[perf msvc-dist-fisher_f-quantile..[para *1.00*][para (6.987e-006s)]]][[perf msvc-dist-f-R-quantile..[para 1.33][para (9.325e-006s)]]][[perf msvc-dist-f-dcd-quantile..[para 3.16][para (2.205e-005s)]]]]
+[[__gamma_distrib CDF][[perf msvc-dist-gamma-cdf..[para 1.52][para (6.240e-007s)]]][[perf msvc-dist-gamma-R-cdf..[para 3.11][para (1.279e-006s)]]][[perf msvc-dist-gam-dcd-cdf..[para *1.00*][para (4.111e-007s)]]]]
+[[__gamma_distrib Quantile][[perf msvc-dist-gamma-quantile..[para 1.24][para (2.179e-006s)]]][[perf msvc-dist-gamma-R-quantile..[para 6.25][para (1.102e-005s)]]][[perf msvc-dist-gam-dcd-quantile..[para *1.00*][para (1.764e-006s)]]]]
+
+[[__hypergeometric_distrib CDF][[perf msvc-dist-hypergeometric-cdf..[para 3.60[footnote This result is somewhat misleading: for small values of the parameters there is virtually no difference between the two libraries, but for large values the Boost implementation is /much/ slower, albeit with much improved precision.]][para (5.987e-007s)]]][[perf msvc-dist-hypergeo-R-cdf..[para *1.00*][para (1.665e-007s)]]][NA]]
+[[__hypergeometric_distrib Quantile][[perf msvc-dist-hypergeometric-quantile..[para *1.00*][para (5.684e-007s)]]][[perf msvc-dist-hypergeo-R-quantile..[para 3.53][para (2.004e-006s)]]][NA]]
+[[__logistic_distrib CDF][[perf msvc-dist-logistic-cdf..[para *1.00*][para (1.714e-007s)]]][[perf msvc-dist-logis-R-cdf..[para 5.24][para (8.984e-007s)]]][NA]]
+[[__logistic_distrib Quantile][[perf msvc-dist-logistic-quantile..[para 1.02][para (2.084e-007s)]]][[perf msvc-dist-logis-R-quantile..[para *1.00*][para (2.043e-007s)]]][NA]]
+
+[[__lognormal_distrib CDF][[perf msvc-dist-lognormal-cdf..[para *1.00*][para (3.579e-007s)]]][[perf msvc-dist-lnorm-R-cdf..[para 1.49][para (5.332e-007s)]]][NA]]
+[[__lognormal_distrib Quantile][[perf msvc-dist-lognormal-quantile..[para *1.00*][para (9.622e-007s)]]][[perf msvc-dist-lnorm-R-quantile..[para 1.57][para (1.507e-006s)]]][NA]]
+[[__negative_binomial_distrib CDF][[perf msvc-dist-negative_binomial-cdf..[para *1.00*][para (6.227e-007s)]]][[perf msvc-dist-nbinom-R-cdf..[para 2.25][para (1.403e-006s)]]][[perf msvc-dist-negative_binomial-dcd-cdf..[para 2.21][para (1.378e-006s)]]]]
+[[__negative_binomial_distrib Quantile][[perf msvc-dist-negative_binomial-quantile..[para *1.00*][para (8.594e-006s)]]][[perf msvc-dist-nbinom-R-quantile..[para 43.43[footnote The R library appears to use a linear-search strategy, that can perform very badly in a small number of pathological cases, but may or may not be more efficient in "typical" cases]][para (3.732e-004s)]]][[perf msvc-dist-negative_binomial-dcd-quantile..[para 3.48][para (2.994e-005s)]]]]
+
+[[__non_central_chi_squared_distrib CDF][[perf msvc-dist-non_central_chi_squared-cdf..[para 2.16][para (3.926e-006s)]]][[perf msvc-dist-nchisq-R-cdf..[para 79.93][para (1.450e-004s)]]][[perf msvc-dist-non_central_chi_squared-dcd-cdf..[para *1.00*][para (1.814e-006s)]]]]
+[[__non_central_chi_squared_distrib Quantile][[perf msvc-dist-non_central_chi_squared-quantile..[para 5.00][para (3.393e-004s)]]][[perf msvc-dist-nchisq-R-quantile..[para 393.90[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (2.673e-002s)]]][[perf msvc-dist-non_central_chi_squared-dcd-quantile..[para *1.00*][para (6.786e-005s)]]]]
+[[__non_central_F_distrib CDF][[perf msvc-dist-non_central_f-cdf..[para 1.59][para (1.128e-005s)]]][[perf msvc-dist-nf-R-cdf..[para *1.00*][para (7.087e-006s)]]][[perf msvc-dist-fnc-cdf..[para *1.00*][para (4.274e-006s)]]]]
+[[__non_central_F_distrib Quantile][[perf msvc-dist-non_central_f-quantile..[para *1.00*][para (4.750e-004s)]]][[perf msvc-dist-nf-R-quantile..[para 1.62][para (7.681e-004s)]]][[perf msvc-dist-ncf-quantile..[para *1.00*][para (4.274e-006s)]]]]
+[[__non_central_t_distrib CDF][[perf msvc-dist-non_central_t-cdf..[para 3.41][para (1.852e-005s)]]][[perf msvc-dist-nt-R-cdf..[para *1.00*][para (5.436e-006s)]]][NA]]
+[[__non_central_t_distrib Quantile][[perf msvc-dist-non_central_t-quantile..[para 1.31][para (5.768e-004s)]]][[perf msvc-dist-nt-R-quantile..[para *1.00*[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (4.411e-004s)]]][NA]]
+
+[[__normal_distrib CDF][[perf msvc-dist-normal-cdf..[para *1.00*][para (8.373e-008s)]]][[perf msvc-dist-norm-R-cdf..[para 1.68][para (1.409e-007s)]]][[perf msvc-dist-nor-dcd-cdf..[para 6.01][para (5.029e-007s)]]]]
+[[__normal_distrib Quantile][[perf msvc-dist-normal-quantile..[para 1.29][para (1.521e-007s)]]][[perf msvc-dist-norm-R-quantile..[para *1.00*][para (1.182e-007s)]]][[perf msvc-dist-nor-dcd-quantile..[para 10.85][para (1.283e-006s)]]]]
+[[__poisson_distrib CDF][[perf msvc-dist-poisson-cdf..[para 1.18][para (5.193e-007s)]]][[perf msvc-dist-pois-R-cdf..[para 2.98][para (1.314e-006s)]]][[perf msvc-dist-poi-dcd-cdf..[para *1.00*][para (4.410e-007s)]]]]
+[[__poisson_distrib][[perf msvc-dist-poisson-quantile..[para *1.00*][para (1.203e-006s)]]][[perf msvc-dist-pois-R-quantile..[para 2.20][para (2.642e-006s)]]][[perf msvc-dist-poi-dcd-quantile..[para 7.86][para (9.457e-006s)]]]]
+[[__students_t_distrib CDF][[perf msvc-dist-students_t-cdf..[para *1.00*][para (8.655e-007s)]]][[perf msvc-dist-t-R-cdf..[para 1.06][para (9.166e-007s)]]][[perf msvc-dist-t-dcd-cdf..[para 1.04][para (8.999e-007s)]]]]
+[[__students_t_distrib Quantile][[perf msvc-dist-students_t-quantile..[para *1.00*][para (2.294e-006s)]]][[perf msvc-dist-t-R-quantile..[para 1.36][para (3.131e-006s)]]][[perf msvc-dist-t-dcd-quantile..[para 4.82][para (1.106e-005s)]]]]
+[[__weibull_distrib CDF][[perf msvc-dist-weibull-cdf..[para *1.00*][para (1.865e-007s)]]][[perf msvc-dist-weibull-R-cdf..[para 2.33][para (4.341e-007s)]]][NA]]
+[[__weibull_distrib Quantile][[perf msvc-dist-weibull-quantile..[para *1.00*][para (3.608e-007s)]]][[perf msvc-dist-weibull-R-quantile..[para 1.22][para (4.410e-007s)]]][NA]]
+]
+
+[heading Comparison to the R Statistical Library on Linux]
+
+All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM, Ubuntu Linux 9
+machine, with the test program and R-2.9.2 compiled with GNU G++ 4.3.3 using -O3 -DNDEBUG=1.
+
+[table A Comparison to the R Statistical Library on Linux
+[[Statistical Function][Boost][R][DCDFLIB]]
+[[__beta_distrib CDF][[perf gcc-4_3_2-dist-beta-cdf..[para 2.09][para (3.189e-006s)]]][[perf gcc-4_3_2-dist-beta-R-cdf..[para *1.00*][para (1.526e-006s)]]][[perf gcc-4_3_2-dist-beta-dcd-cdf..[para 1.19][para (1.822e-006s)]]]]
+[[__beta_distrib Quantile][[perf gcc-4_3_2-dist-beta-quantile..[para *1.00*][para (1.185e-005s)]]][[perf gcc-4_3_2-dist-beta-R-quantile..[para 30.51[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (3.616e-004s)]]][[perf gcc-4_3_2-dist-beta-dcd-quantile..[para 2.52][para (2.989e-005s)]]]]
+[[__binomial_distrib CDF][[perf gcc-4_3_2-dist-binomial-cdf..[para 4.41][para (9.175e-007s)]]][[perf gcc-4_3_2-dist-binom-R-cdf..[para 3.59][para (7.476e-007s)]]][[perf gcc-4_3_2-dist-binomial-dcd-cdf..[para *1.00*][para (2.081e-007s)]]]]
+[[__binomial_distrib Quantile][[perf gcc-4_3_2-dist-binomial-quantile..[para 1.57][para (6.925e-006s)]]][[perf gcc-4_3_2-dist-binom-R-quantile..[para *1.00*][para (4.407e-006s)]]][[perf gcc-4_3_2-dist-binomial-dcd-quantile..[para 7.43][para (3.274e-005s)]]]]
+[[__cauchy_distrib CDF][[perf gcc-4_3_2-dist-cauchy-cdf..[para *1.00*][para (1.594e-007s)]]][[perf gcc-4_3_2-dist-cauchy-R-cdf..[para 1.04][para (1.654e-007s)]]][NA]]
+[[__cauchy_distrib Quantile][[perf gcc-4_3_2-dist-cauchy-quantile..[para 1.21][para (1.752e-007s)]]][[perf gcc-4_3_2-dist-cauchy-R-quantile..[para *1.00*][para (1.448e-007s)]]][NA]]
+[[__chi_squared_distrib CDF][[perf gcc-4_3_2-dist-chi_squared-cdf..[para 2.61][para (1.376e-006s)]]][[perf gcc-4_3_2-dist-chisq-R-cdf..[para 2.36][para (1.243e-006s)]]][[perf gcc-4_3_2-dist-chi_squared-dcd-cdf..[para *1.00*][para (5.270e-007s)]]]]
+[[__chi_squared_distrib Quantile][[perf gcc-4_3_2-dist-chi_squared-quantile..[para *1.00*][para (4.252e-006s)]]][[perf gcc-4_3_2-dist-chisq-R-quantile..[para 1.34][para (5.700e-006s)]]][[perf gcc-4_3_2-dist-chi_squared-dcd-quantile..[para 3.47][para (1.477e-005s)]]]]
+[[__exp_distrib CDF][[perf gcc-4_3_2-dist-exponential-cdf..[para *1.00*][para (1.342e-007s)]]][[perf gcc-4_3_2-dist-exp-R-cdf..[para 1.25][para (1.677e-007s)]]][NA]]
+[[__exp_distrib Quantile][[perf gcc-4_3_2-dist-exponential-quantile..[para *1.00*][para (8.827e-008s)]]][[perf gcc-4_3_2-dist-exp-R-quantile..[para 1.07][para (9.470e-008s)]]][NA]]
+[[__F_distrib CDF][[perf gcc-4_3_2-dist-fisher_f-cdf..[para 1.62][para (2.324e-006s)]]][[perf gcc-4_3_2-dist-f-R-cdf..[para 1.19][para (1.711e-006s)]]][[perf gcc-4_3_2-dist-f-dcd-cdf..[para *1.00*][para (1.437e-006s)]]]]
+[[__F_distrib Quantile][[perf gcc-4_3_2-dist-fisher_f-quantile..[para 1.53][para (1.577e-005s)]]][[perf gcc-4_3_2-dist-f-R-quantile..[para *1.00*][para (1.033e-005s)]]][[perf gcc-4_3_2-dist-f-dcd-quantile..[para 2.63][para (2.719e-005s)]]]]
+[[__gamma_distrib CDF][[perf gcc-4_3_2-dist-gamma-cdf..[para 3.18][para (1.582e-006s)]]][[perf gcc-4_3_2-dist-gamma-R-cdf..[para 2.63][para (1.309e-006s)]]][[perf gcc-4_3_2-dist-gam-dcd-cdf..[para *1.00*][para (4.980e-007s)]]]]
+[[__gamma_distrib Quantile][[perf gcc-4_3_2-dist-gamma-quantile..[para 2.19][para (4.770e-006s)]]][[perf gcc-4_3_2-dist-gamma-R-quantile..[para 6.94][para (1.513e-005s)]]][[perf gcc-4_3_2-dist-gam-dcd-quantile..[para *1.00*][para (2.179e-006s)]]]]
+
+[[__hypergeometric_distrib CDF][[perf gcc-4_3_2-dist-hypergeometric-cdf..[para 2.20[footnote This result is somewhat misleading: for small values of the parameters there is virtually no difference between the two libraries, but for large values the Boost implementation is /much/ slower, albeit with much improved precision.]][para (3.522e-007s)]]][[perf gcc-4_3_2-dist-hypergeo-R-cdf..[para *1.00*][para (1.601e-007s)]]][NA]]
+[[__hypergeometric_distrib Quantile][[perf gcc-4_3_2-dist-hypergeometric-quantile..[para *1.00*][para (8.279e-007s)]]][[perf gcc-4_3_2-dist-hypergeo-R-quantile..[para 2.57][para (2.125e-006s)]]][NA]]
+[[__logistic_distrib CDF][[perf gcc-4_3_2-dist-logistic-cdf..[para *1.00*][para (9.398e-008s)]]][[perf gcc-4_3_2-dist-logis-R-cdf..[para 2.75][para (2.588e-007s)]]][NA]]
+[[__logistic_distrib Quantile][[perf gcc-4_3_2-dist-logistic-quantile..[para *1.00*][para (9.893e-008s)]]][[perf gcc-4_3_2-dist-logis-R-quantile..[para 1.30][para (1.285e-007s)]]][NA]]
+
+[[__lognormal_distrib CDF][[perf gcc-4_3_2-dist-lognormal-cdf..[para *1.00*][para (1.831e-007s)]]][[perf gcc-4_3_2-dist-lnorm-R-cdf..[para 1.39][para (2.539e-007s)]]][NA]]
+[[__lognormal_distrib Quantile][[perf gcc-4_3_2-dist-lognormal-quantile..[para 1.10][para (5.551e-007s)]]][[perf gcc-4_3_2-dist-lnorm-R-quantile..[para *1.00*][para (5.037e-007s)]]][NA]]
+[[__negative_binomial_distrib CDF][[perf gcc-4_3_2-dist-negative_binomial-cdf..[para 1.08][para (1.563e-006s)]]][[perf gcc-4_3_2-dist-nbinom-R-cdf..[para *1.00*][para (1.444e-006s)]]][[perf gcc-4_3_2-dist-negative_binomial-dcd-cdf..[para *1.00*][para (1.444e-006s)]]]]
+[[__negative_binomial_distrib Quantile][[perf gcc-4_3_2-dist-negative_binomial-quantile..[para *1.00*][para (1.700e-005s)]]][[perf gcc-4_3_2-dist-nbinom-R-quantile..[para 25.92[footnote The R library appears to use a linear-search strategy, that can perform very badly in a small number of pathological cases, but may or may not be more efficient in "typical" cases]][para (4.407e-004s)]]][[perf gcc-4_3_2-dist-negative_binomial-dcd-quantile..[para 1.93][para (3.274e-005s)]]]]
+
+[[__non_central_chi_squared_distrib CDF][[perf gcc-4_3_2-dist-non_central_chi_squared-cdf..[para 5.06][para (2.841e-005s)]]][[perf gcc-4_3_2-dist-nchisq-R-cdf..[para 25.01][para (1.405e-004s)]]][[perf gcc-4_3_2-dist-non_central_chi_squared-dcd-cdf..[para *1.00*][para (5.617e-006s)]]]]
+[[__non_central_chi_squared_distrib Quantile][[perf gcc-4_3_2-dist-non_central_chi_squared-quantile..[para 8.47][para (1.879e-003s)]]][[perf gcc-4_3_2-dist-nchisq-R-quantile..[para 144.91[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (3.214e-002s)]]][[perf gcc-4_3_2-dist-non_central_chi_squared-dcd-quantile..[para *1.00*][para (2.218e-004s)]]]]
+[[__non_central_F_distrib CDF][[perf gcc-4_3_2-dist-non_central_f-cdf..[para 10.33][para (5.868e-005s)]]][[perf gcc-4_3_2-dist-nf-R-cdf..[para 1.42][para (8.058e-006s)]]][[perf gcc-4_3_2-dist-fnc-dcd-cdf..[para *1.00*][para (5.682e-006s)]]]]
+[[__non_central_F_distrib Quantile][[perf gcc-4_3_2-dist-non_central_f-quantile..[para 5.64][para (7.869e-004s)]]][[perf gcc-4_3_2-dist-nf-R-quantile..[para 6.63][para (9.256e-004s)]]][[perf gcc-4_3_2-dist-fnc-dcd-quantile..[para *1.00*][para (1.396e-004s)]]]]
+[[__non_central_t_distrib CDF][[perf gcc-4_3_2-dist-non_central_t-cdf..[para 4.91][para (3.357e-005s)]]][[perf gcc-4_3_2-dist-nt-R-cdf..[para *1.00*][para (6.844e-006s)]]][NA]]
+[[__non_central_t_distrib Quantile][[perf gcc-4_3_2-dist-non_central_t-quantile..[para 1.57][para (9.265e-004s)]]][[perf gcc-4_3_2-dist-nt-R-quantile..[para *1.00*[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (5.916e-004s)]]][NA]]
+
+[[__normal_distrib CDF][[perf gcc-4_3_2-dist-normal-cdf..[para *1.00*][para (1.074e-007s)]]][[perf gcc-4_3_2-dist-norm-R-cdf..[para 1.16][para (1.245e-007s)]]][[perf gcc-4_3_2-dist-nor-dcd-cdf..[para 5.36][para (5.762e-007s)]]]]
+[[__normal_distrib Quantile][[perf gcc-4_3_2-dist-normal-quantile..[para 1.28][para (1.902e-007s)]]][[perf gcc-4_3_2-dist-norm-R-quantile..[para *1.00*][para (1.490e-007s)]]][[perf gcc-4_3_2-dist-nor-dcd-quantile..[para 10.35][para (1.542e-006s)]]]]
+[[__poisson_distrib CDF][[perf gcc-4_3_2-dist-poisson-cdf..[para 2.43][para (1.198e-006s)]]][[perf gcc-4_3_2-dist-pois-R-cdf..[para 2.25][para (1.110e-006s)]]][[perf gcc-4_3_2-dist-poi-dcd-cdf..[para *1.00*][para (4.937e-007s)]]]]
+[[__poisson_distrib][[perf gcc-4_3_2-dist-poisson-quantile..[para 1.11][para (3.032e-006s)]]][[perf gcc-4_3_2-dist-pois-R-quantile..[para *1.00*][para (2.724e-006s)]]][[perf gcc-4_3_2-dist-poi-dcd-quantile..[para 4.07][para (1.110e-005s)]]]]
+[[__students_t_distrib CDF][[perf gcc-4_3_2-dist-students_t-cdf..[para 2.17][para (2.020e-006s)]]][[perf gcc-4_3_2-dist-t-R-cdf..[para *1.00*][para (9.321e-007s)]]][[perf gcc-4_3_2-dist-t-dcd-cdf..[para 1.10][para (1.021e-006s)]]]]
+[[__students_t_distrib Quantile][[perf gcc-4_3_2-dist-students_t-quantile..[para 1.18][para (3.972e-006s)]]][[perf gcc-4_3_2-dist-t-R-quantile..[para *1.00*][para (3.364e-006s)]]][[perf gcc-4_3_2-dist-t-dcd-quantile..[para 3.89][para (1.308e-005s)]]]]
+[[__weibull_distrib CDF][[perf gcc-4_3_2-dist-weibull-cdf..[para *1.00*][para (3.662e-007s)]]][[perf gcc-4_3_2-dist-weibull-R-cdf..[para 1.04][para (3.808e-007s)]]][NA]]
+[[__weibull_distrib Quantile][[perf gcc-4_3_2-dist-weibull-quantile..[para *1.00*][para (4.112e-007s)]]][[perf gcc-4_3_2-dist-weibull-R-quantile..[para 1.05][para (4.317e-007s)]]][NA]]
+]
+
+[endsect]
+
+[section:perf_test_app The Performance Test Application]
+
+Under ['boost-path]\/libs\/math\/performance you will find a
+(fairly rudimentary) performance test application for this library.
+
+To run this application yourself, build the all the .cpp files in
+['boost-path]\/libs\/math\/performance into an application using
+your usual release-build settings. Run the application with --help
+to see a full list of options, or with --all to test everything
+(which takes quite a while), or with --tune to test the
+[link math_toolkit.tuning available performance tuning options].
+
+If you want to use this application to test the effect of changing
+any of the __policy_section, then you will need to build and run it twice:
+once with the default __policy_section, and then a second time with the
+__policy_section you want to test set as the default.
+
+[endsect]
+
+[endmathpart]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/sf_and_dist/plot_owens_3d_xyp.png b/libs/math/doc/plot_owens_3d_xyp.png
index 73d7a03b39..73d7a03b39 100644
--- a/libs/math/doc/sf_and_dist/plot_owens_3d_xyp.png
+++ b/libs/math/doc/plot_owens_3d_xyp.png
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/plot_owens_t.png b/libs/math/doc/plot_owens_t.png
index 678a22b4ea..678a22b4ea 100644
--- a/libs/math/doc/sf_and_dist/plot_owens_t.png
+++ b/libs/math/doc/plot_owens_t.png
Binary files differ
diff --git a/libs/math/doc/policies/policy.qbk b/libs/math/doc/policies/policy.qbk
new file mode 100644
index 0000000000..1389ea9c1d
--- /dev/null
+++ b/libs/math/doc/policies/policy.qbk
@@ -0,0 +1,897 @@
+
+[mathpart policy Policies: Controlling Precision, Error Handling etc]
+
+[section:pol_overview Policy Overview]
+[policy_overview]
+[endsect] [/section:pol_overview Policy Overview]
+
+[include policy_tutorial.qbk]
+
+[section:pol_ref Policy Reference]
+
+[section:error_handling_policies Error Handling Policies]
+
+There are two orthogonal aspects to error handling:
+
+* What to do (if anything) with the error.
+* What kind of error is being raised.
+
+[h4 Available Actions When an Error is Raised]
+
+What to do with the error is encapsulated by an enumerated type:
+
+ namespace boost { namespace math { namespace policies {
+
+ enum error_policy_type
+ {
+ throw_on_error = 0, // throw an exception.
+ errno_on_error = 1, // set ::errno & return 0, NaN, infinity or best guess.
+ ignore_error = 2, // return 0, NaN, infinity or best guess.
+ user_error = 3 // call a user-defined error handler.
+ };
+
+ }}} // namespaces
+
+The various enumerated values have the following meanings:
+
+[h5 throw_on_error]
+
+Will throw one of the following exceptions, depending upon the
+ type of the error:
+ [table
+ [[Error Type][Exception]]
+ [[Domain Error][std::domain_error]]
+ [[Pole Error][std::domain_error]]
+ [[Overflow Error][std::overflow_error]]
+ [[Underflow Error][std::underflow_error]]
+ [[Denorm Error][std::underflow_error]]
+ [[Evaluation Error][boost::math::evaluation_error]]
+ [[Indeterminate Result Error][std::domain_error]]
+ ]
+
+[h5 errno_on_error]
+
+Will set global __errno `::errno` to one of the following values depending
+upon the error type (often EDOM = 33 and ERANGE = 34),
+and then return the same value as if the error
+had been ignored:
+ [table
+ [[Error Type][errno value]]
+ [[Domain Error][EDOM]]
+ [[Pole Error][EDOM]]
+ [[Overflow Error][ERANGE]]
+ [[Underflow Error][ERANGE]]
+ [[Denorm Error][ERANGE]]
+ [[Evaluation Error][EDOM]]
+ [[Indeterminate Result Error][EDOM]]
+ ]
+
+[h5 ignore_error]
+
+Will return one of the values below depending on the error type (`::errno` is NOT changed)::
+ [table
+ [[Error Type][Returned Value]]
+ [[Domain Error][std::numeric_limits<T>::quiet_NaN()]]
+ [[Pole Error][std::numeric_limits<T>::quiet_NaN()]]
+ [[Overflow Error][std::numeric_limits<T>::infinity()]]
+ [[Underflow Error][0]]
+ [[Denorm Error][The denormalised value.]]
+ [[Evaluation Error][The best guess (perhaps NaN) as to the result: which
+ may be significantly in error.]]
+ [[Indeterminate Result Error][Depends on the function where the error occurred]]
+ ]
+
+[h5 user_error]
+
+Will call a user defined error handler: these are forward declared
+in boost/math/policies/error_handling.hpp, but the actual definitions
+must be provided by the user:
+
+ namespace boost{ namespace math{ namespace policies{
+
+ template <class T>
+ T user_domain_error(const char* function, const char* message, const T& val);
+
+ template <class T>
+ T user_pole_error(const char* function, const char* message, const T& val);
+
+ template <class T>
+ T user_overflow_error(const char* function, const char* message, const T& val);
+
+ template <class T>
+ T user_underflow_error(const char* function, const char* message, const T& val);
+
+ template <class T>
+ T user_denorm_error(const char* function, const char* message, const T& val);
+
+ template <class T>
+ T user_rounding_error(const char* function, const char* message, const T& val);
+
+ template <class T>
+ T user_evaluation_error(const char* function, const char* message, const T& val);
+
+ template <class T>
+ T user_indeterminate_result_error(const char* function, const char* message, const T& val);
+
+ }}} // namespaces
+
+Note that the strings ['function] and ['message] may contain "%1%" format specifiers
+designed to be used in conjunction with Boost.Format.
+If these strings are to be presented to the program's end-user then
+the "%1%" format specifier
+should be replaced with the name of type T in the ['function] string, and
+if there is a %1% specifier in the ['message] string then it
+should be replaced with the value of ['val].
+
+There is more information on user-defined error handlers in
+the [link math_toolkit.pol_tutorial.user_def_err_pol
+tutorial here].
+
+[h4 Kinds of Error Raised]
+
+There are six kinds of error reported by this library,
+which are summarised in the following table:
+
+[table
+[[Error Type]
+ [Policy Class]
+ [Description]]
+[[Domain Error]
+ [boost::math::policies::domain_error<['action]>]
+ [Raised when more or more arguments are outside the
+ defined range of the function.
+
+ Defaults to `boost::math::policies::domain_error<throw_on_error>`
+
+ When the action is set to ['throw_on_error]
+ then throws `std::domain_error`]]
+[[Pole Error]
+ [boost::math::policies::pole_error<['action]>]
+ [Raised when more or more arguments would cause the function
+ to be evaluated at a pole.
+
+ Defaults to `boost::math::policies::pole_error<throw_on_error>`
+
+ When the action is ['throw_on_error] then
+ throw a `std::domain_error`]]
+[[Overflow Error]
+ [boost::math::policies::overflow_error<['action]>]
+ [Raised when the result of the function is outside
+ the representable range of the floating point type used.
+
+ Defaults to `boost::math::policies::overflow_error<throw_on_error>`.
+
+ When the action is ['throw_on_error] then throws a `std::overflow_error`.]]
+[[Underflow Error]
+ [boost::math::policies::underflow_error<['action]>]
+ [Raised when the result of the function is too small
+ to be represented in the floating point type used.
+
+ Defaults to `boost::math::policies::underflow_error<ignore_error>`
+
+ When the specified action is ['throw_on_error] then
+ throws a `std::underflow_error`]]
+[[Denorm Error]
+ [boost::math::policies::denorm_error<['action]>]
+ [Raised when the result of the function is a
+ denormalised value.
+
+ Defaults to `boost::math::policies::denorm_error<ignore_error>`
+
+ When the action is ['throw_on_error] then throws a `std::underflow_error`]]
+[[Rounding Error]
+ [boost::math::policies::rounding_error<['action]>]
+ [Raised When one of the rounding functions __round, __trunc or __modf is
+ called with an argument that has no integer representation, or
+ is too large to be represented in the result type
+
+ Defaults to `boost::math::policies::rounding_error<throw_on_error>`
+
+ When the action is ['throw_on_error] then throws `boost::math::rounding_error`]]
+[[Evaluation Error]
+ [boost::math::policies::evaluation_error<['action]>]
+ [Raised when the result of the function is well defined and
+ finite, but we were unable to compute it. Typically
+ this occurs when an iterative method fails to converge.
+ Of course ideally this error should never be raised: feel free
+ to report it as a bug if it is!
+
+ Defaults to `boost::math::policies::evaluation_error<throw_on_error>`
+
+ When the action is ['throw_on_error] then throws `boost::math::evaluation_error`]]
+[[Indeterminate Result Error]
+ [boost::math::policies::indeterminate_result_error<['action]>]
+ [Raised when the result of a function is not defined for the values that
+ were passed to it.
+
+ Defaults to `boost::math::policies::indeterminate_result_error<ignore_error>`
+
+ When the action is ['throw_on_error] then throws `std::domain_error`]]
+]
+
+[h4 Examples]
+
+Suppose we want a call to `tgamma` to behave in a C-compatible way and set global
+`::errno` rather than throw an exception, we can achieve this at the call site
+using:
+
+[import ../../example/policy_ref_snip1.cpp]
+
+[policy_ref_snip1]
+
+Suppose we want a statistical distribution to return infinities,
+rather than throw exceptions, then we can use:
+
+[import ../../example/policy_ref_snip2.cpp]
+
+[policy_ref_snip2]
+
+[endsect] [/section:error_handling_policies Error Handling Policies]
+
+[section:internal_promotion Internal Floating-point Promotion Policies]
+
+Normally when evaluating a function at say `float` precision, maximal
+accuracy is assured by conducting the calculation at `double` precision
+internally, and then rounding the result. There are two policies that
+control whether internal promotion to a higher precision floating-point type takes place, or not:
+
+[table
+[[Policy][Meaning]]
+[[`boost::math::policies::promote_float<B>`]
+ [Indicates whether `float` arguments should be promoted to `double`
+ precision internally: defaults to `boost::math::policies::promote_float<true>`]]
+[[`boost::math::policies::promote_double<B>`]
+ [Indicates whether `double` arguments should be promoted to `long double`
+ precision internally: defaults to `boost::math::policies::promote_double<true>`]]
+]
+
+[h4 Examples]
+
+Suppose we want `tgamma` to be evaluated without internal promotion to
+`long double`, then we could use:
+
+[import ../../example/policy_ref_snip3.cpp]
+[policy_ref_snip3]
+
+Alternatively, suppose we want a distribution to perform calculations
+without promoting `float` to `double`, then we could use:
+
+[import ../../example/policy_ref_snip4.cpp]
+[policy_ref_snip4]
+
+[endsect] [/section:internal_promotion Internal Promotion Policies]
+
+[section:assert_undefined Mathematically Undefined Function Policies]
+
+There are some functions that are generic
+(they are present for all the statistical distributions supported)
+but which may be mathematically undefined for certain distributions, but defined for others.
+
+For example, the Cauchy distribution does not have a meaningful mean,
+so what should
+
+ mean(cauchy<>());
+
+return, and should such an expression even compile at all?
+
+The default behaviour is for all such functions to not compile at all
+ - in fact they will raise a
+[@http://www.boost.org/libs/static_assert/index.html static assertion]
+ - but by changing the policy
+we can have them return the result of a domain error instead
+(which may well throw an exception, depending on the error handling policy).
+
+This behaviour is controlled by the `assert_undefined<>` policy:
+
+ namespace boost{ namespace math{ namespace policies {
+
+ template <bool b>
+ class assert_undefined;
+
+ }}} //namespaces
+
+For example:
+
+ #include <boost/math/distributions/cauchy.hpp>
+
+ using namespace boost::math::policies;
+ using namespace boost::math;
+
+ // This will not compile, cauchy has no mean!
+ double m1 = mean(cauchy());
+
+ // This will compile, but raises a domain error!
+ double m2 = mean(cauchy_distribution<double, policy<assert_undefined<false> > >());
+
+`policy<assert_undefined<false>` behaviour can also be obtained by defining the macro
+
+ #define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
+
+at the head of the file - see __policy_macros.
+
+[endsect][/section:assert_undefined Mathematically Undefined Function Policies]
+
+[section:discrete_quant_ref Discrete Quantile Policies]
+
+If a statistical distribution is ['discrete] then the random variable
+can only have integer values - this leaves us with a problem when calculating
+quantiles - we can either ignore the discreteness of the distribution and return
+a real value, or we can round to an integer. As it happens, computing integer
+values can be substantially faster than calculating a real value, so there are
+definite advantages to returning an integer, but we do then need to decide
+how best to round the result. The `discrete_quantile` policy defines how
+discrete quantiles work, and how integer results are rounded:
+
+ enum discrete_quantile_policy_type
+ {
+ real,
+ integer_round_outwards, // default
+ integer_round_inwards,
+ integer_round_down,
+ integer_round_up,
+ integer_round_nearest
+ };
+
+ template <discrete_quantile_policy_type>
+ struct discrete_quantile;
+
+The values that `discrete_quantile` can take have the following meanings:
+
+[h5 real]
+
+Ignores the discreteness of the distribution, and returns a real-valued
+result. For example:
+
+[import ../../example/policy_ref_snip5.cpp]
+[policy_ref_snip5]
+
+Results in `x = 27.3898` and `y = 68.1584`.
+
+[h5 integer_round_outwards]
+
+This is the default policy: an integer value is returned so that:
+
+* Lower quantiles (where the probability is less than 0.5) are rounded
+down.
+* Upper quantiles (where the probability is greater than 0.5) are rounded up.
+
+This is normally the safest rounding policy, since it ensures that both
+one and two sided intervals are guaranteed to have ['at least]
+the requested coverage. For example:
+
+[import ../../example/policy_ref_snip6.cpp]
+[policy_ref_snip6]
+
+Results in `x = 27` (rounded down from 27.3898) and `y = 69` (rounded up from 68.1584).
+
+The variables x and y are now defined so that:
+
+ cdf(negative_binomial(20), x) <= 0.05
+ cdf(negative_binomial(20), y) >= 0.95
+
+In other words we guarantee ['at least 90% coverage in the central region overall],
+and also ['no more than 5% coverage in each tail].
+
+[h5 integer_round_inwards]
+
+This is the opposite of ['integer_round_outwards]: an integer value is returned so that:
+
+* Lower quantiles (where the probability is less than 0.5) are rounded
+['up].
+* Upper quantiles (where the probability is greater than 0.5) are rounded ['down].
+
+For example:
+
+[import ../../example/policy_ref_snip7.cpp]
+
+[policy_ref_snip7]
+
+Results in `x = 28` (rounded up from 27.3898) and `y = 68` (rounded down from 68.1584).
+
+The variables x and y are now defined so that:
+
+ cdf(negative_binomial(20), x) >= 0.05
+ cdf(negative_binomial(20), y) <= 0.95
+
+In other words we guarantee ['at no more than 90% coverage in the central region overall],
+and also ['at least 5% coverage in each tail].
+
+[h5 integer_round_down]
+
+Always rounds down to an integer value, no matter whether it's an upper
+or a lower quantile.
+
+[h5 integer_round_up]
+
+Always rounds up to an integer value, no matter whether it's an upper
+or a lower quantile.
+
+[h5 integer_round_nearest]
+
+Always rounds to the nearest integer value, no matter whether it's an upper
+or a lower quantile. This will produce the requested coverage
+['in the average case], but for any specific example may results in
+either significantly more or less coverage than the requested amount.
+For example:
+
+For example:
+
+[import ../../example/policy_ref_snip8.cpp]
+
+[policy_ref_snip8]
+
+Results in `x = 27` (rounded from 27.3898) and `y = 68` (rounded from 68.1584).
+
+[endsect][/section:discrete_quant_ref Discrete Quantile Policies]
+
+[section:precision_pol Precision Policies]
+
+There are two equivalent policies that effect the ['working precision]
+used to calculate results, these policies both default to 0 - meaning
+calculate to the maximum precision available in the type being used
+ - but can be set to other values to cause lower levels of precision
+to be used. One might want to trade precision for evaluation speed.
+
+ namespace boost{ namespace math{ namespace policies{
+
+ template <int N>
+ digits10;
+
+ template <int N>
+ digits2;
+
+ }}} // namespaces
+
+As you would expect, ['digits10] specifies the number of decimal digits
+to use, and ['digits2] the number of binary digits. Internally, whichever
+is used, the precision is always converted to ['binary digits].
+
+These policies are specified at compile-time, because many of the special
+functions use compile-time-dispatch to select which approximation to use
+based on the precision requested and the numeric type being used.
+
+For example we could calculate `tgamma` to approximately 5 decimal digits using:
+
+[import ../../example/policy_ref_snip9.cpp]
+
+[policy_ref_snip9]
+
+Or again using helper function `make_policy`:
+
+[import ../../example/policy_ref_snip10.cpp]
+
+[policy_ref_snip10]
+
+And for a quantile of a distribution to approximately 25-bit precision:
+
+[import ../../example/policy_ref_snip11.cpp]
+
+[policy_ref_snip11]
+
+[endsect][/section:precision_pol Precision Policies]
+
+[section:iteration_pol Iteration Limits Policies]
+
+There are two policies that effect the iterative algorithms
+used to implement the special functions in this library:
+
+ template <unsigned long limit = BOOST_MATH_MAX_SERIES_ITERATION_POLICY>
+ class max_series_iterations;
+
+ template <unsigned long limit = BOOST_MATH_MAX_ROOT_ITERATION_POLICY>
+ class max_root_iterations;
+
+The class `max_series_iterations` determines the maximum number of
+iterations permitted in a series evaluation, before the special
+function gives up and returns the result of __evaluation_error.
+
+The class `max_root_iterations` determines the maximum number
+of iterations permitted in a root-finding algorithm before the special
+function gives up and returns the result of __evaluation_error.
+
+[endsect] [/section:iteration_pol Iteration Limits Policies]
+
+[section:policy_defaults Using Macros to Change the Policy Defaults]
+
+You can use the various macros below to change any (or all) of the policies.
+
+You can make a local change by placing a macro definition *before*
+a function or distribution #include.
+
+[caution There is a danger of One-Definition-Rule violations if you
+add ad-hoc macros to more than one source files: these must be set the same in *every
+translation unit*.]
+
+[caution If you place it after the #include it will have no effect,
+(and it will affect only any other following #includes).
+This is probably not what you intend!]
+
+If you want to alter the defaults for any or all of
+the policies for *all* functions and distributions, installation-wide,
+then you can do so by defining various macros in
+[@../../../../boost/math/tools/user.hpp boost/math/tools/user.hpp].
+
+[h5 BOOST_MATH_DOMAIN_ERROR_POLICY]
+
+Defines what happens when a domain error occurs, if not defined then
+defaults to `throw_on_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_POLE_ERROR_POLICY]
+
+Defines what happens when a pole error occurs, if not defined then
+defaults to `throw_on_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_OVERFLOW_ERROR_POLICY]
+
+Defines what happens when an overflow error occurs, if not defined then
+defaults to `throw_on_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_ROUNDING_ERROR_POLICY]
+
+Defines what happens when a rounding error occurs, if not defined then
+defaults to `throw_on_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_EVALUATION_ERROR_POLICY]
+
+Defines what happens when an internal evaluation error occurs, if not defined then
+defaults to `throw_on_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_UNDERFLOW_ERROR_POLICY]
+
+Defines what happens when an overflow error occurs, if not defined then
+defaults to `ignore_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_DENORM_ERROR_POLICY]
+
+Defines what happens when a denormalisation error occurs, if not defined then
+defaults to `ignore_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY]
+
+Defines what happens when the result is indeterminate, but where there
+is none the less a convention for the result. If not defined then
+defaults to `ignore_error`, but can be set to any of the enumerated
+actions for error handing: `throw_on_error`, `errno_on_error`,
+`ignore_error` or `user_error`.
+
+[h5 BOOST_MATH_DIGITS10_POLICY]
+
+Defines how many decimal digits to use in internal computations:
+defaults to `0` - meaning use all available digits - but can be set
+to some other decimal value. Since setting this is likely to have
+a substantial impact on accuracy, it's not generally recommended
+that you change this from the default.
+
+[h5 BOOST_MATH_PROMOTE_FLOAT_POLICY]
+
+Determines whether `float` types get promoted to `double`
+internally to ensure maximum precision in the result, defaults
+to `true`, but can be set to `false` to turn promotion of
+`float`'s off.
+
+[h5 BOOST_MATH_PROMOTE_DOUBLE_POLICY]
+
+Determines whether `double` types get promoted to `long double`
+internally to ensure maximum precision in the result, defaults
+to `true`, but can be set to `false` to turn promotion of
+`double`'s off.
+
+[h5 BOOST_MATH_DISCRETE_QUANTILE_POLICY]
+
+Determines how discrete quantiles return their results: either
+as an integer, or as a real value, can be set to one of the
+enumerated values: `real`, `integer_round_outwards`, `integer_round_inwards`,
+`integer_round_down`, `integer_round_up`, `integer_round_nearest`. Defaults to
+`integer_round_outwards`.
+
+[h5 BOOST_MATH_ASSERT_UNDEFINED_POLICY]
+
+Determines whether functions that are mathematically undefined
+for a specific distribution compile or raise a static (i.e. compile-time)
+assertion. Defaults to `true`: meaning that any mathematically
+undefined function will not compile. When set to `false` then the function
+will compile but return the result of a domain error: this can be useful
+for some generic code, that needs to work with all distributions and determine
+at runtime whether or not a particular property is well defined.
+
+[h5 BOOST_MATH_MAX_SERIES_ITERATION_POLICY]
+
+Determines how many series iterations a special function is permitted
+to perform before it gives up and returns an __evaluation_error:
+Defaults to 1000000.
+
+[h5 BOOST_MATH_MAX_ROOT_ITERATION_POLICY]
+
+Determines how many root-finding iterations a special function is permitted
+to perform before it gives up and returns an __evaluation_error:
+Defaults to 200.
+
+[h5 Example]
+
+Suppose we want overflow errors to set `::errno` and return an infinity,
+discrete quantiles to return a real-valued result (rather than round to
+integer), and for mathematically undefined functions to compile, but return
+a domain error. Then we could add the following to boost/math/tools/user.hpp:
+
+ #define BOOST_MATH_OVERFLOW_ERROR_POLICY errno_on_error
+ #define BOOST_MATH_DISCRETE_QUANTILE_POLICY real
+ #define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
+
+or we could place these definitions *before*
+
+ #include <boost/math/distributions/normal.hpp>
+ using boost::math::normal_distribution;
+
+in a source .cpp file.
+
+[endsect][/section:policy_defaults Changing the Policy Defaults]
+
+[section:namespace_pol Setting Polices at Namespace Scope]
+
+Sometimes what you really want to do is bring all the special functions,
+or all the distributions into a specific namespace-scope, along with
+a specific policy to use with them. There are two macros defined to
+assist with that:
+
+ BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)
+
+and:
+
+ BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)
+
+You can use either of these macros after including any special function
+or distribution header. For example:
+
+[import ../../example/policy_ref_snip12.cpp]
+
+[policy_ref_snip12]
+
+In this example, using BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS results in
+a set of thin inline forwarding functions being defined:
+
+ template <class T>
+ inline T tgamma(T a){ return ::boost::math::tgamma(a, mypolicy()); }
+
+ template <class T>
+ inline T lgamma(T a) ( return ::boost::math::lgamma(a, mypolicy()); }
+
+and so on. Note that while a forwarding function is defined for all the special
+functions, however, unless you include the specific header for the special
+function you use (or boost/math/special_functions.hpp to include everything),
+you will get linker errors from functions that are forward declared, but not
+defined.
+
+We can do the same thing with the distributions, but this time we need to
+specify the floating-point type to use:
+
+[import ../../example/policy_ref_snip13.cpp]
+
+[policy_ref_snip13]
+
+In this example the result of BOOST_MATH_DECLARE_DISTRIBUTIONS is to
+declare a typedef for each distribution like this:
+
+ typedef boost::math::cauchy_distribution<double, my_policy> cauchy;
+ tyepdef boost::math::gamma_distribution<double, my_policy> gamma;
+
+and so on. The name given to each typedef is the name of the distribution
+with the "_distribution" suffix removed.
+
+[endsect][/section Changing the Policy Defaults]
+
+[section:pol_ref_ref Policy Class Reference]
+
+There's very little to say here, the `policy` class is just a rag-bag
+compile-time container for a collection of policies:
+
+```#include <boost/math/policies/policy.hpp>```
+
+
+ namespace boost{
+ namespace math{
+ namespace policies
+
+ template <class A1 = default_policy,
+ class A2 = default_policy,
+ class A3 = default_policy,
+ class A4 = default_policy,
+ class A5 = default_policy,
+ class A6 = default_policy,
+ class A7 = default_policy,
+ class A8 = default_policy,
+ class A9 = default_policy,
+ class A10 = default_policy,
+ class A11 = default_policy,
+ class A12 = default_policy,
+ class A13 = default_policy>
+ struct policy
+ {
+ public:
+ typedef ``['computed-from-template-arguments]`` domain_error_type;
+ typedef ``['computed-from-template-arguments]`` pole_error_type;
+ typedef ``['computed-from-template-arguments]`` overflow_error_type;
+ typedef ``['computed-from-template-arguments]`` underflow_error_type;
+ typedef ``['computed-from-template-arguments]`` denorm_error_type;
+ typedef ``['computed-from-template-arguments]`` rounding_error_type;
+ typedef ``['computed-from-template-arguments]`` evaluation_error_type;
+ typedef ``['computed-from-template-arguments]`` indeterminate_result_error_type;
+ typedef ``['computed-from-template-arguments]`` precision_type;
+ typedef ``['computed-from-template-arguments]`` promote_float_type;
+ typedef ``['computed-from-template-arguments]`` promote_double_type;
+ typedef ``['computed-from-template-arguments]`` discrete_quantile_type;
+ typedef ``['computed-from-template-arguments]`` assert_undefined_type;
+ };
+
+ template <...argument list...>
+ typename normalise<policy<>, A1>::type make_policy(...argument list..);
+
+ template <class Policy,
+ class A1 = default_policy,
+ class A2 = default_policy,
+ class A3 = default_policy,
+ class A4 = default_policy,
+ class A5 = default_policy,
+ class A6 = default_policy,
+ class A7 = default_policy,
+ class A8 = default_policy,
+ class A9 = default_policy,
+ class A10 = default_policy,
+ class A11 = default_policy,
+ class A12 = default_policy,
+ class A13 = default_policy>
+ struct normalise
+ {
+ typedef ``computed-from-template-arguments`` type;
+ };
+
+The member typedefs of class `policy` are intended for internal use
+but are documented briefly here for the sake of completeness.
+
+ policy<...>::domain_error_type
+
+Specifies how domain errors are handled, will be an instance of
+`boost::math::policies::domain_error<>` with the template argument to
+`domain_error` one of the `error_policy_type` enumerated values.
+
+ policy<...>::pole_error_type
+
+Specifies how pole-errors are handled, will be an instance of
+`boost::math::policies::pole_error<>` with the template argument to
+`pole_error` one of the `error_policy_type` enumerated values.
+
+ policy<...>::overflow_error_type
+
+Specifies how overflow errors are handled, will be an instance of
+`boost::math::policies::overflow_error<>` with the template argument to
+`overflow_error` one of the `error_policy_type` enumerated values.
+
+ policy<...>::underflow_error_type
+
+Specifies how underflow errors are handled, will be an instance of
+`boost::math::policies::underflow_error<>` with the template argument to
+`underflow_error` one of the `error_policy_type` enumerated values.
+
+ policy<...>::denorm_error_type
+
+Specifies how denorm errors are handled, will be an instance of
+`boost::math::policies::denorm_error<>` with the template argument to
+`denorm_error` one of the `error_policy_type` enumerated values.
+
+ policy<...>::rounding_error_type
+
+Specifies how rounding errors are handled, will be an instance of
+`boost::math::policies::rounding_error<>` with the template argument to
+`rounding_error` one of the `error_policy_type` enumerated values.
+
+ policy<...>::evaluation_error_type
+
+Specifies how evaluation errors are handled, will be an instance of
+`boost::math::policies::evaluation_error<>` with the template argument to
+`evaluation_error` one of the `error_policy_type` enumerated values.
+
+ policy<...>::indeterminate_error_type
+
+Specifies how indeterminate result errors are handled, will be an instance of
+`boost::math::policies::indeterminate_result_error<>` with the template argument
+to `indeterminate_result_error` one of the `error_policy_type` enumerated
+values.
+
+ policy<...>::precision_type
+
+Specifies the internal precision to use in binary digits (uses zero
+to represent whatever the default precision is). Will be an instance
+of `boost::math::policies::digits2<N>` which in turn inherits from
+`boost::mpl::int_<N>`.
+
+ policy<...>::promote_float_type
+
+Specifies whether or not to promote `float` arguments to `double` precision
+internally. Will be an instance of `boost::math::policies::promote_float<B>`
+which in turn inherits from `boost::mpl::bool_<B>`.
+
+ policy<...>::promote_double_type
+
+Specifies whether or not to promote `double` arguments to `long double` precision
+internally. Will be an instance of `boost::math::policies::promote_float<B>`
+which in turn inherits from `boost::mpl::bool_<B>`.
+
+ policy<...>::discrete_quantile_type
+
+Specifies how discrete quantiles are evaluated, will be an instance
+of `boost::math::policies::discrete_quantile<>` instantiated with one of
+the `discrete_quantile_policy_type` enumerated type.
+
+ policy<...>::assert_undefined_type
+
+Specifies whether mathematically-undefined properties are
+asserted as compile-time errors, or treated as runtime errors
+instead. Will be an instance of `boost::math::policies::assert_undefined<B>`
+which in turn inherits from `boost::math::mpl::bool_<B>`.
+
+
+ template <...argument list...>
+ typename normalise<policy<>, A1>::type make_policy(...argument list..);
+
+`make_policy` is a helper function that converts a list of policies into
+a normalised `policy` class.
+
+ template <class Policy,
+ class A1 = default_policy,
+ class A2 = default_policy,
+ class A3 = default_policy,
+ class A4 = default_policy,
+ class A5 = default_policy,
+ class A6 = default_policy,
+ class A7 = default_policy,
+ class A8 = default_policy,
+ class A9 = default_policy,
+ class A10 = default_policy,
+ class A11 = default_policy,
+ class A12 = default_policy,
+ class A13 = default_policy>
+ struct normalise
+ {
+ typedef ``computed-from-template-arguments`` type;
+ };
+
+The `normalise` class template converts one instantiation of the
+`policy` class into a normalised form. This is used internally
+to reduce code bloat: so that instantiating a special function
+on `policy<A,B>` or `policy<B,A>` actually both generate the same
+code internally.
+
+Further more, `normalise` can be used to combine
+a policy with one or more policies: for example many of the
+special functions will use this to set policies which they don't
+make use of to their default values, before forwarding to the actual
+implementation. In this way code bloat is reduced, since the
+actual implementation depends only on the policy types that they
+actually use.
+
+[endsect][/section:pol_ref_ref Policy Class Reference]
+
+[endsect][/section:pol_ref Policy Reference]
+[endmathpart][/section:policy Policies]
+
+[/ qbk
+ Copyright 2007, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/policies/policy_tutorial.qbk b/libs/math/doc/policies/policy_tutorial.qbk
new file mode 100644
index 0000000000..ff0d92fe0b
--- /dev/null
+++ b/libs/math/doc/policies/policy_tutorial.qbk
@@ -0,0 +1,511 @@
+
+[section:pol_tutorial Policy Tutorial]
+
+[section:what_is_a_policy So Just What is a Policy Anyway?]
+
+A policy is a compile-time mechanism for customising the behaviour of a
+special function, or a statistical distribution. With Policies you can
+control:
+
+* What action to take when an error occurs.
+* What happens when you call a function that is mathematically undefined
+(for example, if you ask for the mean of a Cauchy distribution).
+* What happens when you ask for a quantile of a discrete distribution.
+* Whether the library is allowed to internally promote `float` to `double`
+and `double` to `long double` in order to improve precision.
+* What precision to use when calculating the result.
+
+Some of these policies could arguably be runtime variables, but then we couldn't
+use compile-time dispatch internally to select the best evaluation method
+for the given policies.
+
+For this reason a Policy is a /type/: in fact it's an instance of the
+class template `boost::math::policies::policy<>`. This class is just a
+compile-time-container of user-selected policies (sometimes called a type-list):
+
+ using namespace boost::math::policies;
+ //
+ // Define a policy that sets ::errno on overflow, and does
+ // not promote double to long double internally:
+ //
+ typedef policy<domain_error<errno_on_error>, promote_double<false> > mypolicy;
+
+[endsect] [/section:what_is_a_policy So Just What is a Policy Anyway?]
+
+[section:policy_tut_defaults Policies Have Sensible Defaults]
+
+Most of the time you can just ignore the policy framework.
+
+['*The defaults for the various policies are as follows,
+if these work OK for you then you can stop reading now!]
+
+[variablelist
+[[Domain Error][Throws a `std::domain_error` exception.]]
+[[Pole Error][Occurs when a function is evaluated at a pole: throws a `std::domain_error` exception.]]
+[[Overflow Error][Throws a `std::overflow_error` exception.]]
+[[Underflow][Ignores the underflow, and returns zero.]]
+[[Denormalised Result][Ignores the fact that the result is denormalised, and returns it.]]
+[[Rounding Error][Throws a `boost::math::rounding_error` exception.]]
+[[Internal Evaluation Error][Throws a `boost::math::evaluation_error` exception.]]
+[[Indeterminate Result Error][Returns a result that depends on the function where the error occurred.]]
+[[Promotion of float to double][Does occur by default - gives full float precision results.]]
+[[Promotion of double to long double][Does occur by default if long double offers
+ more precision than double.]]
+[[Precision of Approximation Used][By default uses an approximation that
+ will result in the lowest level of error for the type of the result.]]
+[[Behaviour of Discrete Quantiles]
+ [
+ The quantile function will by default return an integer result that has been
+ /rounded outwards/. That is to say lower quantiles (where the probability is
+ less than 0.5) are rounded downward, and upper quantiles (where the probability
+ is greater than 0.5) are rounded upwards. This behaviour
+ ensures that if an X% quantile is requested, then /at least/ the requested
+ coverage will be present in the central region, and /no more than/
+ the requested coverage will be present in the tails.
+
+This behaviour can be changed so that the quantile functions are rounded
+ differently, or even return a real-valued result using
+ [link math_toolkit.pol_overview Policies]. It is strongly
+ recommended that you read the tutorial
+ [link math_toolkit.pol_tutorial.understand_dis_quant
+ Understanding Quantiles of Discrete Distributions] before
+ using the quantile function on a discrete distribution. The
+ [link math_toolkit.pol_ref.discrete_quant_ref reference docs]
+ describe how to change the rounding policy
+ for these distributions.
+]]
+]
+
+What's more, if you define your own policy type, then it automatically
+inherits the defaults for any policies not explicitly set, so given:
+
+ using namespace boost::math::policies;
+ //
+ // Define a policy that sets ::errno on overflow, and does
+ // not promote double to long double internally:
+ //
+ typedef policy<domain_error<errno_on_error>, promote_double<false> > mypolicy;
+
+then `mypolicy` defines a policy where only the overflow error handling and
+`double`-promotion policies differ from the defaults.
+
+[endsect][/section:policy_tut_defaults Policies Have Sensible Defaults]
+
+[section:policy_usage So How are Policies Used Anyway?]
+
+The details follow later, but basically policies can be set by either:
+
+* Defining some macros that change the default behaviour: [*this is the
+ recommended method for setting installation-wide policies].
+* By instantiating a distribution object with an explicit policy:
+ this is mainly reserved for ad hoc policy changes.
+* By passing a policy to a special function as an optional final argument:
+ this is mainly reserved for ad hoc policy changes.
+* By using some helper macros to define a set of functions or distributions
+in the current namespace that use a specific policy: [*this is the
+recommended method for setting policies on a project- or translation-unit-wide
+basis].
+
+The following sections introduce these methods in more detail.
+
+[endsect] [/section:policy_usage So How are Policies Used Anyway?]
+
+[section:changing_policy_defaults Changing the Policy Defaults]
+
+The default policies used by the library are changed by the usual
+configuration macro method.
+
+For example, passing `-DBOOST_MATH_DOMAIN_ERROR_POLICY=errno_on_error` to
+your compiler will cause domain errors to set `::errno` and return a __NaN
+rather than the usual default behaviour of throwing a `std::domain_error`
+exception.
+
+[tip For Microsoft Visual Studio,you can add to the Project Property Page,
+C/C++, Preprocessor, Preprocessor definitions like:
+
+``BOOST_MATH_ASSERT_UNDEFINED_POLICY=0
+BOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error``
+
+This may be helpful to avoid complications with pre-compiled headers
+that may mean that the equivalent definitions in source code:
+
+``#define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
+#define BOOST_MATH_OVERFLOW_ERROR_POLICY errno_on_error``
+
+*may be ignored*.
+
+The compiler command line shows:
+
+``/D "BOOST_MATH_ASSERT_UNDEFINED_POLICY=0"
+/D "BOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error"``
+] [/MSVC tip]
+
+There is however a very important caveat to this:
+
+[important
+[*['Default policies changed by setting configuration macros must be changed
+uniformly in every translation unit in the program.]]
+
+Failure to follow this rule may result in violations of the "One
+Definition Rule (ODR)" and result in unpredictable program behaviour.]
+
+That means there are only two safe ways to use these macros:
+
+* Edit them in [@../../../../boost/math/tools/user.hpp boost/math/tools/user.hpp],
+so that the defaults are set on an installation-wide basis.
+Unfortunately this may not be convenient if
+you are using a pre-installed Boost distribution (on Linux for example).
+* Set the defines in your project's Makefile or build environment, so that they
+are set uniformly across all translation units.
+
+What you should *not* do is:
+
+* Set the defines in the source file using `#define` as doing so
+almost certainly will break your program, unless you're absolutely
+certain that the program is restricted to a single translation unit.
+
+And, yes, you will find examples in our test programs where we break this
+rule: but only because we know there will always be a single
+translation unit only: ['don't say that you weren't warned!]
+
+[import ../../example/error_handling_example.cpp]
+
+[error_handling_example]
+
+[endsect] [/section:changing_policy_defaults Changing the Policy Defaults]
+
+[section:ad_hoc_dist_policies Setting Policies for Distributions on an Ad Hoc Basis]
+
+All of the statistical distributions in this library are class templates
+that accept two template parameters:
+real type (float, double ...) and policy (how to handle exceptional events),
+both with sensible defaults, for example:
+
+ namespace boost{ namespace math{
+
+ template <class RealType = double, class Policy = policies::policy<> >
+ class fisher_f_distribution;
+
+ typedef fisher_f_distribution<> fisher_f;
+
+ }}
+
+This policy gets used by all the accessor functions that accept
+a distribution as an argument, and forwarded to all the functions called
+by these. So if you use the shorthand-typedef for the distribution, then you get
+`double` precision arithmetic and all the default policies.
+
+However, say for example we wanted to evaluate the quantile
+of the binomial distribution at float precision, without internal
+promotion to double, and with the result rounded to the /nearest/
+integer, then here's how it can be done:
+
+[import ../../example/policy_eg_3.cpp]
+
+[policy_eg_3]
+
+Which outputs:
+
+[pre quantile is: 40]
+
+[endsect][/section:ad_hoc_dist_policies Setting Policies for Distributions on an Ad Hoc Basis]
+
+[section:ad_hoc_sf_policies Changing the Policy on an Ad Hoc Basis for the Special Functions]
+
+All of the special functions in this library come in two overloaded forms,
+one with a final "policy" parameter, and one without. For example:
+
+ namespace boost{ namespace math{
+
+ template <class RealType, class Policy>
+ RealType tgamma(RealType, const Policy&);
+
+ template <class RealType>
+ RealType tgamma(RealType);
+
+ }} // namespaces
+
+Normally, the second version is just a forwarding wrapper to the first
+like this:
+
+ template <class RealType>
+ inline RealType tgamma(RealType x)
+ {
+ return tgamma(x, policies::policy<>());
+ }
+
+So calling a special function with a specific policy
+is just a matter of defining the policy type to use
+and passing it as the final parameter. For example,
+suppose we want `tgamma` to behave in a C-compatible
+fashion and set `::errno` when an error occurs, and never
+throw an exception:
+
+[import ../../example/policy_eg_1.cpp]
+
+[policy_eg_1]
+
+which outputs:
+
+[pre
+Result of tgamma(30000) is: 1.#INF
+errno = 34
+Result of tgamma(-10) is: 1.#QNAN
+errno = 33
+]
+
+Alternatively, for ad hoc use, we can use the `make_policy`
+helper function to create a policy for us: this usage is more
+verbose, so is probably only preferred when a policy is going
+to be used once only:
+
+[import ../../example/policy_eg_2.cpp]
+
+[policy_eg_2]
+
+[endsect] [/section:ad_hoc_sf_policies Changing the Policy on an Ad Hoc Basis for the Special Functions]
+
+[section:namespace_policies Setting Policies at Namespace or Translation Unit Scope]
+
+Sometimes what you want to do is just change a set of policies within
+the current scope: *the one thing you should not do in this situation
+is use the configuration macros*, as this can lead to "One Definition
+Rule" violations. Instead this library provides a pair of macros
+especially for this purpose.
+
+Let's consider the special functions first: we can declare a set of
+forwarding functions that all use a specific policy using the
+macro BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(['Policy]). This
+macro should be used either inside a unique namespace set aside for the
+purpose (for example, a C namespace for a C-style policy),
+or an unnamed namespace if you just want the functions
+visible in global scope for the current file only.
+
+[import ../../example/policy_eg_4.cpp]
+
+[policy_eg_4]
+
+The same mechanism works well at file scope as well, by using an unnamed
+namespace, we can ensure that these declarations don't conflict with any
+alternate policies present in other translation units:
+
+[import ../../example/policy_eg_5.cpp]
+
+[policy_eg_5]
+
+Handling policies for the statistical distributions is very similar except that now
+the macro BOOST_MATH_DECLARE_DISTRIBUTIONS accepts two parameters: the
+floating point type to use, and the policy type to apply. For example:
+
+ BOOST_MATH_DECLARE_DISTRIBUTIONS(double, mypolicy)
+
+Results a set of typedefs being defined like this:
+
+ typedef boost::math::normal_distribution<double, mypolicy> normal;
+
+The name of each typedef is the same as the name of the distribution
+class template, but without the "_distribution" suffix.
+
+[import ../../example/policy_eg_6.cpp]
+
+[policy_eg_6]
+
+[note
+There is an important limitation to note: you can *not use the macros
+BOOST_MATH_DECLARE_DISTRIBUTIONS and BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS
+['in the same namespace]*, as doing so creates ambiguities between functions
+and distributions of the same name.
+]
+
+As before, the same mechanism works well at file scope as well: by using an unnamed
+namespace, we can ensure that these declarations don't conflict with any
+alternate policies present in other translation units:
+
+[import ../../example/policy_eg_7.cpp]
+
+[policy_eg_7]
+
+[endsect][/section:namespace_policies Setting Policies at Namespace or Translation Unit Scope]
+
+[section:user_def_err_pol Calling User Defined Error Handlers]
+
+[import ../../example/policy_eg_8.cpp]
+
+[policy_eg_8]
+
+[import ../../example/policy_eg_9.cpp]
+
+[policy_eg_9]
+
+[endsect] [/section:user_def_err_pol Calling User Defined Error Handlers]
+
+[section:understand_dis_quant Understanding Quantiles of Discrete Distributions]
+
+Discrete distributions present us with a problem when calculating the
+quantile: we are starting from a continuous real-valued variable - the
+probability - but the result (the value of the random variable)
+should really be discrete.
+
+Consider for example a Binomial distribution, with a sample size of
+50, and a success fraction of 0.5. There are a variety of ways
+we can plot a discrete distribution, but if we plot the PDF
+as a step-function then it looks something like this:
+
+[$../graphs/binomial_pdf.png]
+
+Now lets suppose that the user asks for a the quantile that corresponds
+to a probability of 0.05, if we zoom in on the CDF for that region here's
+what we see:
+
+[$../graphs/binomial_quantile_1.png]
+
+As can be seen there is no random variable that corresponds to
+a probability of exactly 0.05, so we're left with two choices as
+shown in the figure:
+
+* We could round the result down to 18.
+* We could round the result up to 19.
+
+In fact there's actually a third choice as well: we could "pretend" that the
+distribution was continuous and return a real valued result: in this case we
+would calculate a result of approximately 18.701 (this accurately
+reflects the fact that the result is nearer to 19 than 18).
+
+By using policies we can offer any of the above as options, but that
+still leaves the question: ['What is actually the right thing to do?]
+
+And in particular: ['What policy should we use by default?]
+
+In coming to an answer we should realise that:
+
+* Calculating an integer result is often much faster than
+calculating a real-valued result: in fact in our tests it
+was up to 20 times faster.
+* Normally people calculate quantiles so that they can perform
+a test of some kind: ['"If the random variable is less than N
+then we can reject our null-hypothesis with 90% confidence."]
+
+So there is a genuine benefit to calculating an integer result
+as well as it being "the right thing to do" from a philosophical
+point of view. What's more if someone asks for a quantile at 0.05,
+then we can normally assume that they are asking for
+['[*at least] 95% of the probability to the right of the value chosen,
+and [*no more than] 5% of the probability to the left of the value chosen.]
+
+In the above binomial example we would therefore round the result down to 18.
+
+The converse applies to upper-quantiles: If the probability is greater than
+0.5 we would want to round the quantile up, ['so that [*at least] the requested
+probability is to the left of the value returned, and [*no more than] 1 - the
+requested probability is to the right of the value returned.]
+
+Likewise for two-sided intervals, we would round lower quantiles down,
+and upper quantiles up. This ensures that we have ['at least the requested
+probability in the central region] and ['no more than 1 minus the requested
+probability in the tail areas.]
+
+For example, taking our 50 sample binomial distribution with a success fraction
+of 0.5, if we wanted a two sided 90% confidence interval, then we would ask
+for the 0.05 and 0.95 quantiles with the results ['rounded outwards] so that
+['at least 90% of the probability] is in the central area:
+
+[$../graphs/binomial_pdf_3.png]
+
+So far so good, but there is in fact a trap waiting for the unwary here:
+
+ quantile(binomial(50, 0.5), 0.05);
+
+returns 18 as the result, which is what we would expect from the graph above,
+and indeed there is no x greater than 18 for which:
+
+ cdf(binomial(50, 0.5), x) <= 0.05;
+
+However:
+
+ quantile(binomial(50, 0.5), 0.95);
+
+returns 31, and indeed while there is no x less than 31 for which:
+
+ cdf(binomial(50, 0.5), x) >= 0.95;
+
+We might naively expect that for this symmetrical distribution the result
+would be 32 (since 32 = 50 - 18), but we need to remember that the cdf of
+the binomial is /inclusive/ of the random variable. So while the left tail
+area /includes/ the quantile returned, the right tail area always excludes
+an upper quantile value: since that "belongs" to the central area.
+
+Look at the graph above to see what's going on here: the lower quantile
+of 18 belongs to the left tail, so any value <= 18 is in the left tail.
+The upper quantile of 31 on the other hand belongs to the central area,
+so the tail area actually starts at 32, so any value > 31 is in the
+right tail.
+
+Therefore if U and L are the upper and lower quantiles respectively, then
+a random variable X is in the tail area - where we would reject the null
+hypothesis if:
+
+ X <= L || X > U
+
+And the a variable X is inside the central region if:
+
+ L < X <= U
+
+The moral here is to ['always be very careful with your comparisons
+when dealing with a discrete distribution], and if in doubt,
+['base your comparisons on CDF's instead].
+
+[heading Other Rounding Policies are Available]
+
+As you would expect from a section on policies, you won't be surprised
+to know that other rounding options are available:
+
+[variablelist
+
+[[integer_round_outwards]
+ [This is the default policy as described above: lower quantiles
+ are rounded down (probability < 0.5), and upper quantiles
+ (probability > 0.5) are rounded up.
+
+ This gives /no more than/ the requested probability
+ in the tails, and /at least/ the requested probability
+ in the central area.]]
+[[integer_round_inwards]
+ [This is the exact opposite of the default policy:
+ lower quantiles
+ are rounded up (probability < 0.5),
+ and upper quantiles (probability > 0.5) are rounded down.
+
+ This gives /at least/ the requested probability
+ in the tails, and /no more than/ the requested probability
+ in the central area.]]
+[[integer_round_down][This policy will always round the result down
+ no matter whether it is an upper or lower quantile]]
+[[integer_round_up][This policy will always round the result up
+ no matter whether it is an upper or lower quantile]]
+[[integer_round_nearest][This policy will always round the result
+ to the nearest integer
+ no matter whether it is an upper or lower quantile]]
+[[real][This policy will return a real valued result
+ for the quantile of a discrete distribution: this is
+ generally much slower than finding an integer result
+ but does allow for more sophisticated rounding policies.]]
+
+]
+
+[import ../../example/policy_eg_10.cpp]
+
+[policy_eg_10]
+
+[endsect]
+
+[endsect] [/section:pol_Tutorial Policy Tutorial]
+
+
+[/ math.qbk
+ Copyright 2007, 2013 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/quaternion/Jamfile.v2 b/libs/math/doc/quaternion/Jamfile.v2
deleted file mode 100644
index 743ff0b0b0..0000000000
--- a/libs/math/doc/quaternion/Jamfile.v2
+++ /dev/null
@@ -1,66 +0,0 @@
-
-# Copyright John Maddock 2005. Use, modification, and distribution are
-# subject to the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-using quickbook ;
-
-path-constant images_location : html ;
-
-xml quaternion : math-quaternion.qbk ;
-boostbook standalone
- :
- quaternion
- :
- # Path for links to Boost:
- <xsl:param>boost.root=../../../../..
-
- # Some general style settings:
- <xsl:param>table.footnote.number.format=1
- <xsl:param>footnote.number.format=1
-
- # HTML options first:
- # Use graphics not text for navigation:
- <xsl:param>navig.graphics=1
- # How far down we chunk nested sections, basically all of them:
- <xsl:param>chunk.section.depth=10
- # Don't put the first section on the same page as the TOC:
- <xsl:param>chunk.first.sections=1
- # How far down sections get TOC's
- <xsl:param>toc.section.depth=10
- # Max depth in each TOC:
- <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:
- # <xsl:param>fop1.extensions=1
- <format>pdf:<xsl:param>xep.extensions=1
- # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
- <format>pdf:<xsl:param>fop.extensions=0
- <format>pdf:<xsl:param>fop1.extensions=0
- # No indent on body text:
- <format>pdf:<xsl:param>body.start.indent=0pt
- # Margin size:
- <format>pdf:<xsl:param>page.margin.inner=0.5in
- # Margin size:
- <format>pdf:<xsl:param>page.margin.outer=0.5in
- # Paper type = A4
- <format>pdf:<xsl:param>paper.type=A4
- # Yes, we want graphics for admonishments:
- <xsl:param>admon.graphics=1
- # Set this one for PDF generation *only*:
- # default pnd graphics are awful in PDF form,
- # better use SVG's instead:
- <format>pdf:<xsl:param>admon.graphics.extension=".svg"
- <format>pdf:<xsl:param>use.role.for.mediaobject=1
- <format>pdf:<xsl:param>preferred.mediaobject.role=print
- <format>pdf:<xsl:param>img.src.path=$(images_location)/
- <format>pdf:<xsl:param>draft.mode="no"
- <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/math/doc/quaternion/html
- ;
-
-
-
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions.html
deleted file mode 100644
index 2a696c9781..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternions</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../index.html" title="Boost.Quaternions">
-<link rel="up" href="../index.html" title="Boost.Quaternions">
-<link rel="prev" href="../index.html" title="Boost.Quaternions">
-<link rel="next" href="quaternions/overview.html" title="Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quaternions/overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_quaternions.quaternions"></a><a class="link" href="quaternions.html" title="Quaternions">Quaternions</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="quaternions/overview.html">Overview</a></span></dt>
-<dt><span class="section"><a href="quaternions/header_file.html">Header File</a></span></dt>
-<dt><span class="section"><a href="quaternions/synopsis.html">Synopsis</a></span></dt>
-<dt><span class="section"><a href="quaternions/quat.html">Template Class quaternion</a></span></dt>
-<dt><span class="section"><a href="quaternions/spec.html">Quaternion Specializations</a></span></dt>
-<dt><span class="section"><a href="quaternions/mem_typedef.html">Quaternion
- Member Typedefs</a></span></dt>
-<dt><span class="section"><a href="quaternions/mem_fun.html">Quaternion Member
- Functions</a></span></dt>
-<dt><span class="section"><a href="quaternions/non_mem.html">Quaternion Non-Member
- Operators</a></span></dt>
-<dt><span class="section"><a href="quaternions/value_op.html">Quaternion Value
- Operations</a></span></dt>
-<dt><span class="section"><a href="quaternions/create.html">Quaternion Creation
- Functions</a></span></dt>
-<dt><span class="section"><a href="quaternions/trans.html">Quaternion Transcendentals</a></span></dt>
-<dt><span class="section"><a href="quaternions/test_program.html">Test Program</a></span></dt>
-<dt><span class="section"><a href="quaternions/exp.html">The Quaternionic Exponential</a></span></dt>
-<dt><span class="section"><a href="quaternions/acknowledgements.html">Acknowledgements</a></span></dt>
-<dt><span class="section"><a href="quaternions/history.html">History</a></span></dt>
-<dt><span class="section"><a href="quaternions/to_do.html">To Do</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quaternions/overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/acknowledgements.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/acknowledgements.html
deleted file mode 100644
index c8ca1e226f..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/acknowledgements.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Acknowledgements</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="exp.html" title="The Quaternionic Exponential">
-<link rel="next" href="history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="exp.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
-</h3></div></div></div>
-<p>
- The mathematical text has been typeset with <a href="http://www.nisus-soft.com/" target="_top">Nisus
- Writer</a>. Jens Maurer has helped with portability and standard adherence,
- and was the Review Manager for this library. More acknowledgements in the
- History section. Thank you to all who contributed to the discution about
- this library.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="exp.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/create.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/create.html
deleted file mode 100644
index e0c48d8b9a..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/create.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternion Creation Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="value_op.html" title="Quaternion Value Operations">
-<link rel="next" href="trans.html" title="Quaternion Transcendentals">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="value_op.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trans.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.create"></a><a class="link" href="create.html" title="Quaternion Creation Functions">Quaternion Creation
- Functions</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">spherical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">semipolar</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">multipolar</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cylindrospherical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">radius</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">longitude</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">latitude</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cylindrical</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">);</span>
-</pre>
-<p>
- These build quaternions in a way similar to the way polar builds complex
- numbers, as there is no strict equivalent to polar coordinates for quaternions.
- </p>
-<p>
- <a name="boost_quaternions.quaternions.creation_spherical"></a> <code class="computeroutput"><span class="identifier">spherical</span></code> is a simple transposition of
- <code class="computeroutput"><span class="identifier">polar</span></code>, it takes as inputs
- a (positive) magnitude and a point on the hypersphere, given by three angles.
- The first of these, <code class="computeroutput"><span class="identifier">theta</span></code>
- has a natural range of <code class="computeroutput"><span class="special">-</span><span class="identifier">pi</span></code>
- to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span></code>,
- and the other two have natural ranges of <code class="computeroutput"><span class="special">-</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code>
- to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code> (as is the
- case with the usual spherical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>).
- Due to the many symmetries and periodicities, nothing untoward happens if
- the magnitude is negative or the angles are outside their natural ranges.
- The expected degeneracies (a magnitude of zero ignores the angles settings...)
- do happen however.
- </p>
-<p>
- <a name="boost_quaternions.quaternions.creation_cylindrical"></a> <code class="computeroutput"><span class="identifier">cylindrical</span></code> is likewise a simple transposition
- of the usual cylindrical coordinates in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>,
- which in turn is another derivative of planar polar coordinates. The first
- two inputs are the polar coordinates of the first <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>
- component of the quaternion. The third and fourth inputs are placed into
- the third and fourth <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span>
- components of the quaternion, respectively.
- </p>
-<p>
- <a name="boost_quaternions.quaternions.creation_multipolar"></a> <code class="computeroutput"><span class="identifier">multipolar</span></code> is yet another simple generalization
- of polar coordinates. This time, both <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>
- components of the quaternion are given in polar coordinates.
- </p>
-<p>
- <a name="boost_quaternions.quaternions.creation_cylindrospherical"></a>
- <code class="computeroutput"><span class="identifier">cylindrospherical</span></code> is specific
- to quaternions. It is often interesting to consider <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span>
- as the cartesian product of <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span>
- by <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span> (the quaternionic
- multiplication as then a special form, as given here). This function therefore
- builds a quaternion from this representation, with the <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span> component given in usual <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span> spherical coordinates.
- </p>
-<p>
- <a name="boost_quaternions.quaternions.creation_semipolar"></a> <code class="computeroutput"><span class="identifier">semipolar</span></code> is another generator which is
- specific to quaternions. It takes as a first input the magnitude of the quaternion,
- as a second input an angle in the range <code class="computeroutput"><span class="number">0</span></code>
- to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code> such that
- magnitudes of the first two <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>
- components of the quaternion are the product of the first input and the sine
- and cosine of this angle, respectively, and finally as third and fourth inputs
- angles in the range <code class="computeroutput"><span class="special">-</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code> to <code class="computeroutput"><span class="special">+</span><span class="identifier">pi</span><span class="special">/</span><span class="number">2</span></code> which represent the arguments of the first
- and second <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> components
- of the quaternion, respectively. As usual, nothing untoward happens if what
- should be magnitudes are negative numbers or angles are out of their natural
- ranges, as symmetries and periodicities kick in.
- </p>
-<p>
- In this version of our implementation of quaternions, there is no analogue
- of the complex value operation <code class="computeroutput"><span class="identifier">arg</span></code>
- as the situation is somewhat more complicated. Unit quaternions are linked
- both to rotations in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>
- and in <span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span>, and the correspondences
- are not too complicated, but there is currently a lack of standard (de facto
- or de jure) matrix library with which the conversions could work. This should
- be remedied in a further revision. In the mean time, an example of how this
- could be done is presented here for <a href="../../../../../quaternion/HSO3.hpp" target="_top"><span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span></a>, and here for <a href="../../../../../quaternion/HSO4.hpp" target="_top"><span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span></a> (<a href="../../../../../quaternion/HSO3SO4.cpp" target="_top">example
- test file</a>).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="value_op.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trans.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/exp.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/exp.html
deleted file mode 100644
index 4e025a8a23..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/exp.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>The Quaternionic Exponential</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="test_program.html" title="Test Program">
-<link rel="next" href="acknowledgements.html" title="Acknowledgements">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="test_program.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.exp"></a><a class="link" href="exp.html" title="The Quaternionic Exponential">The Quaternionic Exponential</a>
-</h3></div></div></div>
-<p>
- Please refer to the following PDF's:
- </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- <a href="../../../../../quaternion/TQE.pdf" target="_top">The Quaternionic Exponential
- (and beyond)</a>
- </li>
-<li>
- <a href="../../../../../quaternion/TQE_EA.pdf" target="_top">The Quaternionic Exponential
- (and beyond) ERRATA &amp; ADDENDA</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="test_program.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/header_file.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/header_file.html
deleted file mode 100644
index f80aab9187..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/header_file.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Header File</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="overview.html" title="Overview">
-<link rel="next" href="synopsis.html" title="Synopsis">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.header_file"></a><a class="link" href="header_file.html" title="Header File">Header File</a>
-</h3></div></div></div>
-<p>
- The interface and implementation are both supplied by the header file <a href="../../../../../../../boost/math/quaternion.hpp" target="_top">quaternion.hpp</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/history.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/history.html
deleted file mode 100644
index 6484b0c0b5..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/history.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>History</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="acknowledgements.html" title="Acknowledgements">
-<link rel="next" href="to_do.html" title="To Do">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.history"></a><a class="link" href="history.html" title="History">History</a>
-</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc">
-<li>
- 1.5.8 - 17/12/2005: Converted documentation to Quickbook Format.
- </li>
-<li>
- 1.5.7 - 24/02/2003: transitionned to the unit test framework; &lt;boost/config.hpp&gt;
- now included by the library header (rather than the test files).
- </li>
-<li>
- 1.5.6 - 15/10/2002: Gcc2.95.x and stlport on linux compatibility by Alkis
- Evlogimenos (alkis@routescience.com).
- </li>
-<li>
- 1.5.5 - 27/09/2002: Microsoft VCPP 7 compatibility, by Michael Stevens
- (michael@acfr.usyd.edu.au); requires the /Za compiler option.
- </li>
-<li>
- 1.5.4 - 19/09/2002: fixed problem with multiple inclusion (in different
- translation units); attempt at an improved compatibility with Microsoft
- compilers, by Michael Stevens (michael@acfr.usyd.edu.au) and Fredrik
- Blomqvist; other compatibility fixes.
- </li>
-<li>
- 1.5.3 - 01/02/2002: bugfix and Gcc 2.95.3 compatibility by Douglas Gregor
- (gregod@cs.rpi.edu).
- </li>
-<li>
- 1.5.2 - 07/07/2001: introduced namespace math.
- </li>
-<li>
- 1.5.1 - 07/06/2001: (end of Boost review) now includes &lt;boost/math/special_functions/sinc.hpp&gt;
- and &lt;boost/math/special_functions/sinhc.hpp&gt; instead of &lt;boost/special_functions.hpp&gt;;
- corrected bug in sin (Daryle Walker); removed check for self-assignment
- (Gary Powel); made converting functions explicit (Gary Powel); added
- overflow guards for division operators and abs (Peter Schmitteckert);
- added sup and l1; used Vesa Karvonen's CPP metaprograming technique to
- simplify code.
- </li>
-<li>
- 1.5.0 - 26/03/2001: boostification, inlining of all operators except
- input, output and pow, fixed exception safety of some members (template
- version) and output operator, added spherical, semipolar, multipolar,
- cylindrospherical and cylindrical.
- </li>
-<li>
- 1.4.0 - 09/01/2001: added tan and tanh.
- </li>
-<li>
- 1.3.1 - 08/01/2001: cosmetic fixes.
- </li>
-<li>
- 1.3.0 - 12/07/2000: pow now uses Maarten Hilferink's (mhilferink@tip.nl)
- algorithm.
- </li>
-<li>
- 1.2.0 - 25/05/2000: fixed the division operators and output; changed
- many signatures.
- </li>
-<li>
- 1.1.0 - 23/05/2000: changed sinc into sinc_pi; added sin, cos, sinh,
- cosh.
- </li>
-<li>
- 1.0.0 - 10/08/1999: first public version.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acknowledgements.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="to_do.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_fun.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_fun.html
deleted file mode 100644
index 458b16546c..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_fun.html
+++ /dev/null
@@ -1,237 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternion Member Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="mem_typedef.html" title="Quaternion Member Typedefs">
-<link rel="next" href="non_mem.html" title="Quaternion Non-Member Operators">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mem_typedef.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_mem.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.mem_fun"></a><a class="link" href="mem_fun.html" title="Quaternion Member Functions">Quaternion Member
- Functions</a>
-</h3></div></div></div>
-<a name="boost_quaternions.quaternions.mem_fun.constructors"></a><h4>
-<a name="id1033759"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">Constructors</a>
- </h4>
-<p>
- Template version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- Float specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- Double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- Long double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-<span class="keyword">explicit</span> <span class="identifier">quaternion</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-</pre>
-<p>
- A default constructor is provided for each form, which initializes each component
- to the default values for their type (i.e. zero for floating numbers). This
- constructor can also accept one to four base type arguments. A constructor
- is also provided to build quaternions from one or two complex numbers sharing
- the same base type. The unspecialized template also sports a templarized
- copy constructor, while the specialized forms have copy constructors from
- the other two specializations, which are explicit when a risk of precision
- loss exists. For the unspecialized form, the base type's constructors must
- not throw.
- </p>
-<p>
- Destructors and untemplated copy constructors (from the same type) are provided
- by the compiler. Converting copy constructors make use of a templated helper
- function in a "detail" subnamespace.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.other_member_functions"></a><h4>
-<a name="id1035259"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.other_member_functions">Other
- member functions</a>
- </h4>
-<a name="boost_quaternions.quaternions.mem_fun.real_and_unreal_parts"></a><h5>
-<a name="id1035277"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">Real
- and Unreal Parts</a>
- </h5>
-<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">real</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Like complex number, quaternions do have a meaningful notion of "real
- part", but unlike them there is no meaningful notion of "imaginary
- part". Instead there is an "unreal part" which itself is a
- quaternion, and usually nothing simpler (as opposed to the complex number
- case). These are returned by the first two functions.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.individual_real_components"></a><h5>
-<a name="id1035354"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">Individual
- Real Components</a>
- </h5>
-<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">R_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_3</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">T</span> <span class="identifier">R_component_4</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- A quaternion having four real components, these are returned by these four
- functions. Hence real and R_component_1 return the same value.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.individual_complex__components"></a><h5>
-<a name="id1035461"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">Individual
- Complex Components</a>
- </h5>
-<pre class="programlisting"><span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_1</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">C_component_2</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- A quaternion likewise has two complex components, and as we have seen above,
- for any quaternion <span class="emphasis"><em><code class="literal">q = &#945; + &#946;i + &#947;j + &#948;k</code></em></span> we also have
- <span class="emphasis"><em><code class="literal">q = (&#945; + &#946;i) + (&#947; + &#948;i)j </code></em></span>. These functions return them.
- The real part of <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">C_component_1</span><span class="special">()</span></code>
- is the same as <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">real</span><span class="special">()</span></code>.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.quaternion_member_operators"></a><h4>
-<a name="id1036711"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.quaternion_member_operators">Quaternion
- Member Operators</a>
- </h4>
-<a name="boost_quaternions.quaternions.mem_fun.assignment_operators"></a><h5>
-<a name="id1036727"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">Assignment
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-</pre>
-<p>
- These perform the expected assignment, with type modification if necessary
- (for instance, assigning from a base type will set the real part to that
- value, and all other components to zero). For the unspecialized form, the
- base type's assignment operators must not throw.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.addition_operators"></a><h5>
-<a name="id1037015"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">Addition
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)+</span><span class="identifier">rhs</span></code>
- and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
- The unspecialized form has exception guards, which the specialized forms
- do not, so as to insure exception safety. For the unspecialized form, the
- base type's assignment operators must not throw.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.subtraction_operators"></a><h5>
-<a name="id1037273"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">Subtraction
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">-=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)-</span><span class="identifier">rhs</span></code>
- and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>.
- The unspecialized form has exception guards, which the specialized forms
- do not, so as to insure exception safety. For the unspecialized form, the
- base type's assignment operators must not throw.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.multiplication_operators"></a><h5>
-<a name="id1037531"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">Multiplication
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">*=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">rhs</span></code>
- <span class="bold"><strong>in this order</strong></span> (order is important as multiplication
- is not commutative for quaternions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The
- unspecialized form has exception guards, which the specialized forms do not,
- so as to insure exception safety. For the unspecialized form, the base type's
- assignment operators must not throw.
- </p>
-<a name="boost_quaternions.quaternions.mem_fun.division_operators"></a><h5>
-<a name="id1037793"></a>
- <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">Division
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These perform the mathematical operation <code class="computeroutput"><span class="special">(*</span><span class="keyword">this</span><span class="special">)*</span><span class="identifier">inverse_of</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">)</span></code>
- <span class="bold"><strong>in this order</strong></span> (order is important as multiplication
- is not commutative for quaternions) and store the result in <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>. The
- unspecialized form has exception guards, which the specialized forms do not,
- so as to insure exception safety. For the unspecialized form, the base type's
- assignment operators must not throw.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mem_typedef.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="non_mem.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_typedef.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_typedef.html
deleted file mode 100644
index ae76512f13..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/mem_typedef.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternion Member Typedefs</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="spec.html" title="Quaternion Specializations">
-<link rel="next" href="mem_fun.html" title="Quaternion Member Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="spec.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_fun.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.mem_typedef"></a><a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">Quaternion
- Member Typedefs</a>
-</h3></div></div></div>
-<p>
- <span class="bold"><strong>value_type</strong></span>
- </p>
-<p>
- Template version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- Float specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">float</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- Double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- Long double specialization version:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
-</pre>
-<p>
- These provide easy acces to the type the template is built upon.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="spec.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_fun.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/non_mem.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/non_mem.html
deleted file mode 100644
index 1a1c0eccb5..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/non_mem.html
+++ /dev/null
@@ -1,220 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternion Non-Member Operators</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="mem_fun.html" title="Quaternion Member Functions">
-<link rel="next" href="value_op.html" title="Quaternion Value Operations">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mem_fun.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_op.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.non_mem"></a><a class="link" href="non_mem.html" title="Quaternion Non-Member Operators">Quaternion Non-Member
- Operators</a>
-</h3></div></div></div>
-<a name="boost_quaternions.quaternions.non_mem.unary_plus"></a><h5>
-<a name="id1038075"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.unary_plus">Unary Plus</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- This unary operator simply returns q.
- </p>
-<a name="boost_quaternions.quaternions.non_mem.unary_minus"></a><h5>
-<a name="id1038179"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.unary_minus">Unary Minus</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- This unary operator returns the opposite of q.
- </p>
-<a name="boost_quaternions.quaternions.non_mem.binary_addition_operators"></a><h5>
-<a name="id1038285"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_addition_operators">Binary
- Addition Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">+=</span>
- <span class="identifier">rhs</span></code>.
- </p>
-<a name="boost_quaternions.quaternions.non_mem.binary_subtraction_operators"></a><h5>
-<a name="id1038927"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_subtraction_operators">Binary
- Subtraction Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">-=</span>
- <span class="identifier">rhs</span></code>.
- </p>
-<a name="boost_quaternions.quaternions.non_mem.binary_multiplication_operators"></a><h5>
-<a name="id1039561"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_multiplication_operators">Binary
- Multiplication Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">*=</span>
- <span class="identifier">rhs</span></code>.
- </p>
-<a name="boost_quaternions.quaternions.non_mem.binary_division_operators"></a><h5>
-<a name="id1040197"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_division_operators">Binary
- Division Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These operators return <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">/=</span>
- <span class="identifier">rhs</span></code>. It is of course still an error
- to divide by zero...
- </p>
-<a name="boost_quaternions.quaternions.non_mem.equality_operators"></a><h5>
-<a name="id1040835"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.equality_operators">Equality
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These return true if and only if the four components of <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span></code> are
- equal to their counterparts in <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code>. As
- with any floating-type entity, this is essentially meaningless.
- </p>
-<a name="boost_quaternions.quaternions.non_mem.inequality_operators"></a><h5>
-<a name="id1043620"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.inequality_operators">Inequality
- Operators</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">!=</span> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-</pre>
-<p>
- These return true if and only if <code class="computeroutput"><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lhs</span><span class="special">)</span> <span class="special">==</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">rhs</span><span class="special">)</span></code> is
- false. As with any floating-type entity, this is essentially meaningless.
- </p>
-<a name="boost_quaternions.quaternions.non_mem.stream_extractor"></a><h5>
-<a name="id1044220"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.stream_extractor">Stream
- Extractor</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&gt;&gt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Extracts a quaternion q of one of the following forms (with a, b, c and d
- of type <code class="computeroutput"><span class="identifier">T</span></code>):
- </p>
-<p>
- <code class="literal">a (a), (a,b), (a,b,c), (a,b,c,d) (a,(c)), (a,(c,d)), ((a)), ((a),c),
- ((a),(c)), ((a),(c,d)), ((a,b)), ((a,b),c), ((a,b),(c)), ((a,b),(c,d))</code>
- </p>
-<p>
- The input values must be convertible to <code class="computeroutput"><span class="identifier">T</span></code>.
- If bad input is encountered, calls <code class="computeroutput"><span class="identifier">is</span><span class="special">.</span><span class="identifier">setstate</span><span class="special">(</span><span class="identifier">ios</span><span class="special">::</span><span class="identifier">failbit</span><span class="special">)</span></code>
- (which may throw ios::failure (27.4.5.3)).
- </p>
-<p>
- <span class="bold"><strong>Returns:</strong></span> <code class="computeroutput"><span class="identifier">is</span></code>.
- </p>
-<p>
- The rationale for the list of accepted formats is that either we have a list
- of up to four reals, or else we have a couple of complex numbers, and in
- that case if it formated as a proper complex number, then it should be accepted.
- Thus potential ambiguities are lifted (for instance (a,b) is (a,b,0,0) and
- not (a,0,b,0), i.e. it is parsed as a list of two real numbers and not two
- complex numbers which happen to have imaginary parts equal to zero).
- </p>
-<a name="boost_quaternions.quaternions.non_mem.stream_inserter"></a><h5>
-<a name="id1044486"></a>
- <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.stream_inserter">Stream
- Inserter</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Inserts the quaternion q onto the stream <code class="computeroutput"><span class="identifier">os</span></code>
- as if it were implemented as follows:
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span> <span class="special">(</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostringstream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">;</span>
-
- <span class="identifier">s</span><span class="special">.</span><span class="identifier">flags</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">flags</span><span class="special">());</span>
- <span class="identifier">s</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">getloc</span><span class="special">());</span>
- <span class="identifier">s</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">os</span><span class="special">.</span><span class="identifier">precision</span><span class="special">());</span>
-
- <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="char">'('</span> <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_2</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_3</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">','</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span><span class="special">;</span>
-
- <span class="keyword">return</span> <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">str</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mem_fun.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="value_op.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/overview.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/overview.html
deleted file mode 100644
index a84e4ded65..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/overview.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Overview</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="../quaternions.html" title="Quaternions">
-<link rel="next" href="header_file.html" title="Header File">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../quaternions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header_file.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.overview"></a><a class="link" href="overview.html" title="Overview">Overview</a>
-</h3></div></div></div>
-<p>
- Quaternions are a relative of complex numbers.
- </p>
-<p>
- Quaternions are in fact part of a small hierarchy of structures built upon
- the real numbers, which comprise only the set of real numbers (traditionally
- named <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span>), the set of
- complex numbers (traditionally named <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>),
- the set of quaternions (traditionally named <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span>)
- and the set of octonions (traditionally named <span class="emphasis"><em><span class="bold"><strong>O</strong></span></em></span>),
- which possess interesting mathematical properties (chief among which is the
- fact that they are <span class="emphasis"><em>division algebras</em></span>, <span class="emphasis"><em>i.e.</em></span>
- where the following property is true: if <span class="emphasis"><em><code class="literal">y</code></em></span>
- is an element of that algebra and is <span class="bold"><strong>not equal to zero</strong></span>,
- then <span class="emphasis"><em><code class="literal">yx = yx'</code></em></span>, where <span class="emphasis"><em><code class="literal">x</code></em></span>
- and <span class="emphasis"><em><code class="literal">x'</code></em></span> denote elements of that algebra,
- implies that <span class="emphasis"><em><code class="literal">x = x'</code></em></span>). Each member
- of the hierarchy is a super-set of the former.
- </p>
-<p>
- One of the most important aspects of quaternions is that they provide an
- efficient way to parameterize rotations in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>
- (the usual three-dimensional space) and <span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span>.
- </p>
-<p>
- In practical terms, a quaternion is simply a quadruple of real numbers (&#945;,&#946;,&#947;,&#948;),
- which we can write in the form <span class="emphasis"><em><code class="literal">q = &#945; + &#946;i + &#947;j + &#948;k</code></em></span>,
- where <span class="emphasis"><em><code class="literal">i</code></em></span> is the same object as for
- complex numbers, and <span class="emphasis"><em><code class="literal">j</code></em></span> and <span class="emphasis"><em><code class="literal">k</code></em></span>
- are distinct objects which play essentially the same kind of role as <span class="emphasis"><em><code class="literal">i</code></em></span>.
- </p>
-<p>
- An addition and a multiplication is defined on the set of quaternions, which
- generalize their real and complex counterparts. The main novelty here is
- that <span class="bold"><strong>the multiplication is not commutative</strong></span>
- (i.e. there are quaternions <span class="emphasis"><em><code class="literal">x</code></em></span> and
- <span class="emphasis"><em><code class="literal">y</code></em></span> such that <span class="emphasis"><em><code class="literal">xy
- &#8800; yx</code></em></span>). A good mnemotechnical way of remembering things
- is by using the formula <span class="emphasis"><em><code class="literal">i*i = j*j = k*k = -1</code></em></span>.
- </p>
-<p>
- Quaternions (and their kin) are described in far more details in this other
- <a href="../../../../../quaternion/TQE.pdf" target="_top">document</a> (with <a href="../../../../../quaternion/TQE_EA.pdf" target="_top">errata
- and addenda</a>).
- </p>
-<p>
- Some traditional constructs, such as the exponential, carry over without
- too much change into the realms of quaternions, but other, such as taking
- a square root, do not.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../quaternions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="header_file.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/quat.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/quat.html
deleted file mode 100644
index aca4f89870..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/quat.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Template Class quaternion</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="synopsis.html" title="Synopsis">
-<link rel="next" href="spec.html" title="Quaternion Specializations">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spec.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.quat"></a><a class="link" href="quat.html" title="Template Class quaternion">Template Class quaternion</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">quaternion</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
-
- <span class="keyword">typedef</span> <span class="identifier">T</span> <a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">(),</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="identifier">T</span><span class="special">());</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;());</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="identifier">T</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">T</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="special">}</span> <span class="comment">// namespace math
-</span><span class="special">}</span> <span class="comment">// namespace boost
-</span></pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="spec.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/spec.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/spec.html
deleted file mode 100644
index d24f0b4cf0..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/spec.html
+++ /dev/null
@@ -1,191 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternion Specializations</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="quat.html" title="Template Class quaternion">
-<link rel="next" href="mem_typedef.html" title="Quaternion Member Typedefs">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="quat.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_typedef.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.spec"></a><a class="link" href="spec.html" title="Quaternion Specializations">Quaternion Specializations</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="keyword">float</span> <a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="keyword">float</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">float</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="keyword">double</span> <a name="boost_quaternions.quaternion_double"></a>
-<a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">class</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <a name="boost_quaternions.quaternion_long_double"></a>
-<a class="link" href="mem_typedef.html" title="Quaternion Member Typedefs">value_type</a><span class="special">;</span>
-
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;());</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
- <span class="keyword">explicit</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.constructors">quaternion</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_recopier</span><span class="special">);</span>
-
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.individual_complex__components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.assignment_operators">operator = </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a_affecter</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.addition_operators">operator += </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.subtraction_operators">operator -= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.multiplication_operators">operator *= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">&gt;</span>
- <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;&amp;</span> <a class="link" href="mem_fun.html#boost_quaternions.quaternions.mem_fun.division_operators">operator /= </a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">X</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="special">}</span> <span class="comment">// namespace math
-</span><span class="special">}</span> <span class="comment">// namespace boost
-</span></pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="quat.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mem_typedef.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/synopsis.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/synopsis.html
deleted file mode 100644
index e4f6dd3eb2..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/synopsis.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Synopsis</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="header_file.html" title="Header File">
-<link rel="next" href="quat.html" title="Template Class quaternion">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="header_file.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
-</h3></div></div></div>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="quat.html" title="Template Class quaternion">quaternion</a><span class="special">;</span>
-<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="spec.html" title="Quaternion Specializations">quaternion&lt;float&gt;</a><span class="special">;</span>
-<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="spec.html#boost_quaternions.quaternion_double">quaternion&lt;double&gt;</a><span class="special">;</span>
-<span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">class</span> <a class="link" href="spec.html#boost_quaternions.quaternion_long_double">quaternion&lt;long double&gt;</a><span class="special">;</span>
-
-<span class="comment">// operators
-</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_addition_operators">operator +</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_addition_operators">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_subtraction_operators">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_multiplication_operators">operator *</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_division_operators">operator /</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.binary_division_operators">operator /</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.unary_plus">operator +</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.unary_minus">operator -</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.equality_operators">operator ==</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.equality_operators">operator ==</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.inequality_operators">operator !=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.inequality_operators">operator !=</a> <span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.stream_extractor">operator &gt;&gt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_istream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">is</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">&gt;</span>
-<span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <a class="link" href="non_mem.html#boost_quaternions.quaternions.non_mem.stream_inserter">operator &lt;&lt;</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span><span class="identifier">traits</span><span class="special">&gt;</span> <span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="comment">// values
-</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.real_and_unreal">real</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.real_and_unreal">unreal</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.sup">sup</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.l1">l1</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.abs">abs</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.norm">norm</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.conj">conj</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#boost_quaternions.quaternions.creation_spherical">spherical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">phi2</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#boost_quaternions.quaternions.creation_semipolar">semipolar</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#boost_quaternions.quaternions.creation_multipolar">multipolar</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rho2</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">theta2</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#boost_quaternions.quaternions.creation_cylindrospherical">cylindrospherical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">t</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">radius</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">longitude</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">latitude</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="create.html#boost_quaternions.quaternions.creation_cylindrical">cylindrical</a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">angle</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h1</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">h2</span><span class="special">);</span>
-
-<span class="comment">// transcendentals
-</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.exp">exp</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.cos">cos</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.sin">sin</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.tan">tan</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.cosh">cosh</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.sinh">sinh</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.tanh">tanh</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <a class="link" href="trans.html#boost_quaternions.quaternions.trans.pow">pow</a><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
-
-<span class="special">}</span> <span class="comment">// namespace math
-</span><span class="special">}</span> <span class="comment">// namespace boost
-</span></pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="header_file.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="quat.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/test_program.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/test_program.html
deleted file mode 100644
index 011c4df186..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/test_program.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Test Program</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="trans.html" title="Quaternion Transcendentals">
-<link rel="next" href="exp.html" title="The Quaternionic Exponential">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="trans.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.test_program"></a><a class="link" href="test_program.html" title="Test Program">Test Program</a>
-</h3></div></div></div>
-<p>
- The <a href="../../../../../quaternion/quaternion_test.cpp" target="_top">quaternion_test.cpp</a>
- test program tests quaternions specializations for float, double and long
- double (<a href="../../../../../quaternion/output.txt" target="_top">sample output</a>,
- with message output enabled).
- </p>
-<p>
- If you define the symbol boost_quaternions_TEST_VERBOSE, you will get additional
- output (<a href="../../../../../quaternion/output_more.txt" target="_top">verbose output</a>);
- this will only be helpfull if you enable message output at the same time,
- of course (by uncommenting the relevant line in the test or by adding <code class="literal">--log_level=messages</code>
- to your command line,...). In that case, and if you are running interactively,
- you may in addition define the symbol BOOST_INTERACTIVE_TEST_INPUT_ITERATOR
- to interactively test the input operator with input of your choice from the
- standard input (instead of hard-coding it in the test).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="trans.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/to_do.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/to_do.html
deleted file mode 100644
index bffc0dea82..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/to_do.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>To Do</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="history.html" title="History">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.to_do"></a><a class="link" href="to_do.html" title="To Do">To Do</a>
-</h3></div></div></div>
-<div class="itemizedlist"><ul type="disc">
-<li>
- Improve testing.
- </li>
-<li>
- Rewrite input operatore using Spirit (creates a dependency).
- </li>
-<li>
- Put in place an Expression Template mechanism (perhaps borrowing from
- uBlas).
- </li>
-<li>
- Use uBlas for the link with rotations (and move from the <a href="../../../../../quaternion/HSO3SO4.cpp" target="_top">example</a>
- implementation to an efficient one).
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/trans.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/trans.html
deleted file mode 100644
index 9b0c1041d3..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/trans.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternion Transcendentals</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="create.html" title="Quaternion Creation Functions">
-<link rel="next" href="test_program.html" title="Test Program">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="create.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_program.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.trans"></a><a class="link" href="trans.html" title="Quaternion Transcendentals">Quaternion Transcendentals</a>
-</h3></div></div></div>
-<p>
- There is no <code class="computeroutput"><span class="identifier">log</span></code> or <code class="computeroutput"><span class="identifier">sqrt</span></code> provided for quaternions in this implementation,
- and <code class="computeroutput"><span class="identifier">pow</span></code> is likewise restricted
- to integral powers of the exponent. There are several reasons to this: on
- the one hand, the equivalent of analytic continuation for quaternions ("branch
- cuts") remains to be investigated thoroughly (by me, at any rate...),
- and we wish to avoid the nonsense introduced in the standard by exponentiations
- of complexes by complexes (which is well defined, but not in the standard...).
- Talking of nonsense, saying that <code class="computeroutput"><span class="identifier">pow</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span></code> is "implementation
- defined" is just plain brain-dead...
- </p>
-<p>
- We do, however provide several transcendentals, chief among which is the
- exponential. This author claims the complete proof of the "closed formula"
- as his own, as well as its independant invention (there are claims to prior
- invention of the formula, such as one by Professor Shoemake, and it is possible
- that the formula had been known a couple of centuries back, but in absence
- of bibliographical reference, the matter is pending, awaiting further investigation;
- on the other hand, the definition and existence of the exponential on the
- quaternions, is of course a fact known for a very long time). Basically,
- any converging power series with real coefficients which allows for a closed
- formula in <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span> can be
- transposed to <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span>. More
- transcendentals of this type could be added in a further revision upon request.
- It should be noted that it is these functions which force the dependency
- upon the <a href="../../../../../../../boost/math/special_functions/sinc.hpp" target="_top">boost/math/special_functions/sinc.hpp</a>
- and the <a href="../../../../../../../boost/math/special_functions/sinhc.hpp" target="_top">boost/math/special_functions/sinhc.hpp</a>
- headers.
- </p>
-<a name="boost_quaternions.quaternions.trans.exp"></a><h5>
-<a name="id1046982"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.exp">exp</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Computes the exponential of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.trans.cos"></a><h5>
-<a name="id1047080"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.cos">cos</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cos</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Computes the cosine of the quaternion
- </p>
-<a name="boost_quaternions.quaternions.trans.sin"></a><h5>
-<a name="id1047178"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.sin">sin</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sin</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Computes the sine of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.trans.tan"></a><h5>
-<a name="id1047275"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.tan">tan</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tan</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Computes the tangent of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.trans.cosh"></a><h5>
-<a name="id1047372"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.cosh">cosh</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">cosh</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Computes the hyperbolic cosine of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.trans.sinh"></a><h5>
-<a name="id1047469"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.sinh">sinh</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinh</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Computes the hyperbolic sine of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.trans.tanh"></a><h5>
-<a name="id1048660"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.tanh">tanh</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">tanh</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- Computes the hyperbolic tangent of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.trans.pow"></a><h5>
-<a name="id1048758"></a>
- <a class="link" href="trans.html#boost_quaternions.quaternions.trans.pow">pow</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n</span><span class="special">);</span>
-</pre>
-<p>
- Computes the n-th power of the quaternion q.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="create.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_program.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/value_op.html b/libs/math/doc/quaternion/html/boost_quaternions/quaternions/value_op.html
deleted file mode 100644
index 6c5a45e4e2..0000000000
--- a/libs/math/doc/quaternion/html/boost_quaternions/quaternions/value_op.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Quaternion Value Operations</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="../../index.html" title="Boost.Quaternions">
-<link rel="up" href="../quaternions.html" title="Quaternions">
-<link rel="prev" href="non_mem.html" title="Quaternion Non-Member Operators">
-<link rel="next" href="create.html" title="Quaternion Creation Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="non_mem.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="boost_quaternions.quaternions.value_op"></a><a class="link" href="value_op.html" title="Quaternion Value Operations">Quaternion Value
- Operations</a>
-</h3></div></div></div>
-<a name="boost_quaternions.quaternions.value_op.real_and_unreal"></a><h5>
-<a name="id1045183"></a>
- <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.real_and_unreal">real
- and unreal</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">real</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">unreal</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- These return <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">real</span><span class="special">()</span></code>
- and <code class="computeroutput"><span class="identifier">q</span><span class="special">.</span><span class="identifier">unreal</span><span class="special">()</span></code>
- respectively.
- </p>
-<a name="boost_quaternions.quaternions.value_op.conj"></a><h5>
-<a name="id1045382"></a>
- <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.conj">conj</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">conj</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- This returns the conjugate of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.value_op.sup"></a><h5>
-<a name="id1045481"></a>
- <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.sup">sup</a>
- </h5>
-<p>
- template&lt;typename T&gt; T sup(quaternion&lt;T&gt; const &amp; q);
- </p>
-<p>
- This return the sup norm (the greatest among <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())...</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()))</span></code> of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.value_op.l1"></a><h5>
-<a name="id1045548"></a>
- <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.l1">l1</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">l1</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- This return the l1 norm <code class="computeroutput"><span class="special">(</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_1</span><span class="special">())+...+</span><span class="identifier">abs</span><span class="special">(</span><span class="identifier">q</span><span class="special">.</span><span class="identifier">R_component_4</span><span class="special">()))</span></code> of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.value_op.abs"></a><h5>
-<a name="id1045685"></a>
- <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.abs">abs</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">abs</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- This return the magnitude (Euclidian norm) of the quaternion.
- </p>
-<a name="boost_quaternions.quaternions.value_op.norm"></a><h5>
-<a name="id1045771"></a>
- <a class="link" href="value_op.html#boost_quaternions.quaternions.value_op.norm">norm</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">norm</span><span class="special">(</span><span class="identifier">quaternion</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span><span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">q</span><span class="special">);</span>
-</pre>
-<p>
- This return the (Cayley) norm of the quaternion. The term "norm"
- might be confusing, as most people associate it with the Euclidian norm (and
- quadratic functionals). For this version of (the mathematical objects known
- as) quaternions, the Euclidian norm (also known as magnitude) is the square
- root of the Cayley norm.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001 -2003 Hubert Holin<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="non_mem.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../quaternions.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="create.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/html/index.html b/libs/math/doc/quaternion/html/index.html
deleted file mode 100644
index f330276a28..0000000000
--- a/libs/math/doc/quaternion/html/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Boost.Quaternions</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
-<link rel="home" href="index.html" title="Boost.Quaternions">
-<link rel="next" href="boost_quaternions/quaternions.html" title="Quaternions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_quaternions/quaternions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="article" lang="en">
-<div class="titlepage">
-<div>
-<div><h2 class="title">
-<a name="boost_quaternions"></a>Boost.Quaternions</h2></div>
-<div><div class="authorgroup"><div class="author"><h3 class="author">
-<span class="firstname">Hubert</span> <span class="surname">Holin</span>
-</h3></div></div></div>
-<div><p class="copyright">Copyright &#169; 2001 -2003 Hubert Holin</p></div>
-<div><div class="legalnotice">
-<a name="id1015157"></a><p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="boost_quaternions/quaternions.html">Quaternions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="boost_quaternions/quaternions/overview.html">Overview</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/header_file.html">Header File</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/synopsis.html">Synopsis</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/quat.html">Template Class quaternion</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/spec.html">Quaternion Specializations</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/mem_typedef.html">Quaternion
- Member Typedefs</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/mem_fun.html">Quaternion Member
- Functions</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/non_mem.html">Quaternion Non-Member
- Operators</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/value_op.html">Quaternion Value
- Operations</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/create.html">Quaternion Creation
- Functions</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/trans.html">Quaternion Transcendentals</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/test_program.html">Test Program</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/exp.html">The Quaternionic Exponential</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/acknowledgements.html">Acknowledgements</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/history.html">History</a></span></dt>
-<dt><span class="section"><a href="boost_quaternions/quaternions/to_do.html">To Do</a></span></dt>
-</dl></dd>
-</dl>
-</div>
-<p>
- This manual is also available in <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">printer
- friendly PDF format</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 29, 2006 at 11:08:32 +0000</small></p></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_quaternions/quaternions.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/libs/math/doc/quaternion/math-quaternion.qbk b/libs/math/doc/quaternion/math-quaternion.qbk
index 18de418511..7deec50e2e 100644
--- a/libs/math/doc/quaternion/math-quaternion.qbk
+++ b/libs/math/doc/quaternion/math-quaternion.qbk
@@ -1,17 +1,3 @@
-[article Boost.Quaternions
- [quickbook 1.3]
- [copyright 2001-2003 Hubert Holin]
- [purpose Quaternions]
- [license
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
- ]
- [authors [Holin, Hubert]]
- [category math]
- [last-revision $Date: 2006-12-29 11:08:32 +0000 (Fri, 29 Dec 2006) $]
-]
-
[def __R ['[*R]]]
[def __C ['[*C]]]
[def __H ['[*H]]]
@@ -23,210 +9,195 @@
[def __quat_complex_formula ['[^q = ('''&#x03B1; + &#x03B2;i) + (&#x03B3; + &#x03B4;i)j''' ]]]
[def __not_equal ['[^xy '''&#x2260;''' yx]]]
-[def __asinh [link boost_quaternions.math_special_functions.asinh asinh]]
-[def __acosh [link boost_quaternions.math_special_functions.acosh acosh]]
-[def __atanh [link boost_quaternions.math_special_functions.atanh atanh]]
-[def __sinc_pi [link boost_quaternions.math_special_functions.sinc_pi sinc_pi]]
-[def __sinhc_pi [link boost_quaternions.math_special_functions.sinhc_pi sinhc_pi]]
-
-[def __log1p [link boost_quaternions.math_special_functions.log1p log1p]]
-[def __expm1 [link boost_quaternions.math_special_functions.expm1 expm1]]
-[def __hypot [link boost_quaternions.math_special_functions.hypot hypot]]
-
-This manual is also available in
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-printer friendly PDF format].
-
+[mathpart quaternions Quaternions]
-[section Quaternions]
-
-[section Overview]
+[section:quat_overview Overview]
Quaternions are a relative of complex numbers.
-Quaternions are in fact part of a small hierarchy of structures built
-upon the real numbers, which comprise only the set of real numbers
-(traditionally named __R), the set of complex numbers (traditionally named __C),
-the set of quaternions (traditionally named __H) and the set of octonions
-(traditionally named __O), which possess interesting mathematical properties
-(chief among which is the fact that they are ['division algebras],
-['i.e.] where the following property is true: if ['[^y]] is an element of that
-algebra and is [*not equal to zero], then ['[^yx = yx']], where ['[^x]] and ['[^x']]
-denote elements of that algebra, implies that ['[^x = x']]).
+Quaternions are in fact part of a small hierarchy of structures built
+upon the real numbers, which comprise only the set of real numbers
+(traditionally named __R), the set of complex numbers (traditionally named __C),
+the set of quaternions (traditionally named __H) and the set of octonions
+(traditionally named __O), which possess interesting mathematical properties
+(chief among which is the fact that they are ['division algebras],
+['i.e.] where the following property is true: if ['[^y]] is an element of that
+algebra and is [*not equal to zero], then ['[^yx = yx']], where ['[^x]] and ['[^x']]
+denote elements of that algebra, implies that ['[^x = x']]).
Each member of the hierarchy is a super-set of the former.
-One of the most important aspects of quaternions is that they provide an
-efficient way to parameterize rotations in __R3 (the usual three-dimensional space)
+One of the most important aspects of quaternions is that they provide an
+efficient way to parameterize rotations in __R3 (the usual three-dimensional space)
and __R4.
-In practical terms, a quaternion is simply a quadruple of real numbers __quadrulple,
-which we can write in the form __quat_formula, where ['[^i]] is the same object as for complex numbers,
+In practical terms, a quaternion is simply a quadruple of real numbers __quadrulple,
+which we can write in the form __quat_formula, where ['[^i]] is the same object as for complex numbers,
and ['[^j]] and ['[^k]] are distinct objects which play essentially the same kind of role as ['[^i]].
-An addition and a multiplication is defined on the set of quaternions,
-which generalize their real and complex counterparts. The main novelty
-here is that [*the multiplication is not commutative] (i.e. there are
-quaternions ['[^x]] and ['[^y]] such that __not_equal). A good mnemotechnical way of remembering
+An addition and a multiplication is defined on the set of quaternions,
+which generalize their real and complex counterparts. The main novelty
+here is that [*the multiplication is not commutative] (i.e. there are
+quaternions ['[^x]] and ['[^y]] such that __not_equal). A good mnemotechnical way of remembering
things is by using the formula ['[^i*i = j*j = k*k = -1]].
-Quaternions (and their kin) are described in far more details in this
-other [@../../../quaternion/TQE.pdf document]
-(with [@../../../quaternion/TQE_EA.pdf errata and addenda]).
+Quaternions (and their kin) are described in far more details in this
+other [@../../quaternion/TQE.pdf document]
+(with [@../../quaternion/TQE_EA.pdf errata and addenda]).
-Some traditional constructs, such as the exponential, carry over without
-too much change into the realms of quaternions, but other, such as taking
+Some traditional constructs, such as the exponential, carry over without
+too much change into the realms of quaternions, but other, such as taking
a square root, do not.
[endsect]
-[section Header File]
+[section:quat_header Header File]
-The interface and implementation are both supplied by the header file
-[@../../../../../boost/math/quaternion.hpp quaternion.hpp].
+The interface and implementation are both supplied by the header file
+[@../../../../boost/math/quaternion.hpp quaternion.hpp].
[endsect]
-[section Synopsis]
+[section:quat_synopsis Synopsis]
namespace boost{ namespace math{
-
- template<typename T> class ``[link boost_quaternions.quaternions.quat quaternion]``;
- template<> class ``[link boost_quaternions.quaternions.spec quaternion<float>]``;
- template<> class ``[link boost_quaternions.quaternion_double quaternion<double>]``;
- template<> class ``[link boost_quaternions.quaternion_long_double quaternion<long double>]``;
+
+ template<typename T> class ``[link math_toolkit.quat quaternion]``;
+ template<> class ``[link math_toolkit.spec quaternion<float>]``;
+ template<> class ``[link math_quaternion_double quaternion<double>]``;
+ template<> class ``[link math_quaternion_long_double quaternion<long double>]``;
// operators
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_addition_operators operator +]`` (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_addition_operators operator +]`` (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_addition_operators operator +]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_addition_operators operator +]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_addition_operators operator +]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
-
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_subtraction_operators operator -]`` (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_subtraction_operators operator -]`` (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_subtraction_operators operator -]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_subtraction_operators operator -]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_subtraction_operators operator -]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
-
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_multiplication_operators operator *]`` (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_multiplication_operators operator *]`` (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_multiplication_operators operator *]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_multiplication_operators operator *]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_multiplication_operators operator *]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
-
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_division_operators operator /]`` (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_division_operators operator /]`` (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_division_operators operator /]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_division_operators operator /]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.binary_division_operators operator /]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
-
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.unary_plus operator +]`` (quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.non_mem.unary_minus operator -]`` (quaternion<T> const & q);
-
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.equality_operators operator ==]`` (T const & lhs, quaternion<T> const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.equality_operators operator ==]`` (quaternion<T> const & lhs, T const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.equality_operators operator ==]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.equality_operators operator ==]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.equality_operators operator ==]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
-
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.inequality_operators operator !=]`` (T const & lhs, quaternion<T> const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.inequality_operators operator !=]`` (quaternion<T> const & lhs, T const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.inequality_operators operator !=]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.inequality_operators operator !=]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> bool ``[link boost_quaternions.quaternions.non_mem.inequality_operators operator !=]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_addition_operators operator +]`` (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_addition_operators operator +]`` (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_addition_operators operator +]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_addition_operators operator +]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_addition_operators operator +]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
+
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_subtraction_operators operator -]`` (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_subtraction_operators operator -]`` (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_subtraction_operators operator -]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_subtraction_operators operator -]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_subtraction_operators operator -]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
+
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_multiplication_operators operator *]`` (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_multiplication_operators operator *]`` (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_multiplication_operators operator *]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_multiplication_operators operator *]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_multiplication_operators operator *]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
+
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_division_operators operator /]`` (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_division_operators operator /]`` (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_division_operators operator /]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_division_operators operator /]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.binary_division_operators operator /]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
+
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.unary_plus operator +]`` (quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.quat_non_mem.unary_minus operator -]`` (quaternion<T> const & q);
+
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.equality_operators operator ==]`` (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.equality_operators operator ==]`` (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.equality_operators operator ==]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.equality_operators operator ==]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.equality_operators operator ==]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
+
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.inequality_operators operator !=]`` (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.inequality_operators operator !=]`` (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.inequality_operators operator !=]`` (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.inequality_operators operator !=]`` (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> bool ``[link math_toolkit.quat_non_mem.inequality_operators operator !=]`` (quaternion<T> const & lhs, quaternion<T> const & rhs);
template<typename T, typename charT, class traits>
- ::std::basic_istream<charT,traits>& ``[link boost_quaternions.quaternions.non_mem.stream_extractor operator >>]`` (::std::basic_istream<charT,traits> & is, quaternion<T> & q);
+ ::std::basic_istream<charT,traits>& ``[link math_toolkit.quat_non_mem.stream_extractor operator >>]`` (::std::basic_istream<charT,traits> & is, quaternion<T> & q);
template<typename T, typename charT, class traits>
- ::std::basic_ostream<charT,traits>& operator ``[link boost_quaternions.quaternions.non_mem.stream_inserter operator <<]`` (::std::basic_ostream<charT,traits> & os, quaternion<T> const & q);
+ ::std::basic_ostream<charT,traits>& operator ``[link math_toolkit.quat_non_mem.stream_inserter operator <<]`` (::std::basic_ostream<charT,traits> & os, quaternion<T> const & q);
// values
- template<typename T> T ``[link boost_quaternions.quaternions.value_op.real_and_unreal real]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.value_op.real_and_unreal unreal]``(quaternion<T> const & q);
+ template<typename T> T ``[link math_toolkit.value_op.real_and_unreal real]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.value_op.real_and_unreal unreal]``(quaternion<T> const & q);
- template<typename T> T ``[link boost_quaternions.quaternions.value_op.sup sup]``(quaternion<T> const & q);
- template<typename T> T ``[link boost_quaternions.quaternions.value_op.l1 l1]``(quaternion<T> const & q);
- template<typename T> T ``[link boost_quaternions.quaternions.value_op.abs abs]``(quaternion<T> const & q);
- template<typename T> T ``[link boost_quaternions.quaternions.value_op.norm norm]``(quaternion<T>const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.value_op.conj conj]``(quaternion<T> const & q);
+ template<typename T> T ``[link math_toolkit.value_op.sup sup]``(quaternion<T> const & q);
+ template<typename T> T ``[link math_toolkit.value_op.l1 l1]``(quaternion<T> const & q);
+ template<typename T> T ``[link math_toolkit.value_op.abs abs]``(quaternion<T> const & q);
+ template<typename T> T ``[link math_toolkit.value_op.norm norm]``(quaternion<T>const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.value_op.conj conj]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.creation_spherical spherical]``(T const & rho, T const & theta, T const & phi1, T const & phi2);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.creation_semipolar semipolar]``(T const & rho, T const & alpha, T const & theta1, T const & theta2);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.creation_multipolar multipolar]``(T const & rho1, T const & theta1, T const & rho2, T const & theta2);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.creation_cylindrospherical cylindrospherical]``(T const & t, T const & radius, T const & longitude, T const & latitude);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.creation_cylindrical cylindrical]``(T const & r, T const & angle, T const & h1, T const & h2);
+ template<typename T> quaternion<T> ``[link math_quaternions.creation_spherical]``(T const & rho, T const & theta, T const & phi1, T const & phi2);
+ template<typename T> quaternion<T> ``[link math_quaternions.creation_semipolar semipolar]``(T const & rho, T const & alpha, T const & theta1, T const & theta2);
+ template<typename T> quaternion<T> ``[link math_quaternions.creation_multipolar multipolar]``(T const & rho1, T const & theta1, T const & rho2, T const & theta2);
+ template<typename T> quaternion<T> ``[link math_quaternions.creation_cylindrospherical cylindrospherical]``(T const & t, T const & radius, T const & longitude, T const & latitude);
+ template<typename T> quaternion<T> ``[link math_quaternions.creation_cylindrical cylindrical]``(T const & r, T const & angle, T const & h1, T const & h2);
// transcendentals
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.exp exp]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.cos cos]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.sin sin]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.tan tan]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.cosh cosh]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.sinh sinh]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.tanh tanh]``(quaternion<T> const & q);
- template<typename T> quaternion<T> ``[link boost_quaternions.quaternions.trans.pow pow]``(quaternion<T> const & q, int n);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.exp exp]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.cos cos]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.sin sin]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.tan tan]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.cosh cosh]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.sinh sinh]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.tanh tanh]``(quaternion<T> const & q);
+ template<typename T> quaternion<T> ``[link math_toolkit.trans.pow pow]``(quaternion<T> const & q, int n);
} // namespace math
} // namespace boost
-
+
[endsect]
[section:quat Template Class quaternion]
namespace boost{ namespace math{
-
+
template<typename T>
class quaternion
{
public:
- typedef T ``[link boost_quaternions.quaternions.mem_typedef value_type]``;
-
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(T const & requested_a = T(), T const & requested_b = T(), T const & requested_c = T(), T const & requested_d = T());
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(::std::complex<T> const & z0, ::std::complex<T> const & z1 = ::std::complex<T>());
- template<typename X>
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(quaternion<X> const & a_recopier);
-
- T ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts real]``() const;
- quaternion<T> ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts unreal]``() const;
- T ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_1]``() const;
- T ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_2]``() const;
- T ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_3]``() const;
- T ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_4]``() const;
- ::std::complex<T> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_1]``() const;
- ::std::complex<T> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_2]``() const;
-
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<T> const & a_affecter);
- template<typename X>
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(T const & a_affecter);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(::std::complex<T> const & a_affecter);
-
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(T const & rhs);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(::std::complex<T> const & rhs);
+ typedef T ``[link math_toolkit.mem_typedef value_type]``;
+
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(T const & requested_a = T(), T const & requested_b = T(), T const & requested_c = T(), T const & requested_d = T());
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(::std::complex<T> const & z0, ::std::complex<T> const & z1 = ::std::complex<T>());
template<typename X>
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(quaternion<X> const & a_recopier);
+
+ T ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts real]``() const;
+ quaternion<T> ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts unreal]``() const;
+ T ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_1]``() const;
+ T ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_2]``() const;
+ T ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_3]``() const;
+ T ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_4]``() const;
+ ::std::complex<T> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<T> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_2]``() const;
+
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<T> const & a_affecter);
+ template<typename X>
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(T const & a_affecter);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(::std::complex<T> const & a_affecter);
+
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(T const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(::std::complex<T> const & rhs);
+ template<typename X>
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(T const & rhs);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(::std::complex<T> const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(T const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(::std::complex<T> const & rhs);
template<typename X>
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(T const & rhs);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(::std::complex<T> const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(T const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(::std::complex<T> const & rhs);
template<typename X>
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(T const & rhs);
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(::std::complex<T> const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(T const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(::std::complex<T> const & rhs);
template<typename X>
- quaternion<T>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
+ quaternion<T>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
};
} // namespace math
} // namespace boost
-
+
[endsect]
[section:spec Quaternion Specializations]
@@ -237,150 +208,150 @@ The interface and implementation are both supplied by the header file
class quaternion<float>
{
public:
- typedef float ``[link boost_quaternions.quaternions.mem_typedef value_type]``;
-
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(float const & requested_a = 0.0f, float const & requested_b = 0.0f, float const & requested_c = 0.0f, float const & requested_d = 0.0f);
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(::std::complex<float> const & z0, ::std::complex<float> const & z1 = ::std::complex<float>());
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(quaternion<double> const & a_recopier);
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(quaternion<long double> const & a_recopier);
-
- float ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts real]``() const;
- quaternion<float> ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts unreal]``() const;
- float ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_1]``() const;
- float ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_2]``() const;
- float ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_3]``() const;
- float ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_4]``() const;
- ::std::complex<float> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_1]``() const;
- ::std::complex<float> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_2]``() const;
-
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<float> const & a_affecter);
- template<typename X>
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(float const & a_affecter);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(::std::complex<float> const & a_affecter);
-
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(float const & rhs);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(::std::complex<float> const & rhs);
+ typedef float ``[link math_toolkit.mem_typedef value_type]``;
+
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(float const & requested_a = 0.0f, float const & requested_b = 0.0f, float const & requested_c = 0.0f, float const & requested_d = 0.0f);
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(::std::complex<float> const & z0, ::std::complex<float> const & z1 = ::std::complex<float>());
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(quaternion<double> const & a_recopier);
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(quaternion<long double> const & a_recopier);
+
+ float ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts real]``() const;
+ quaternion<float> ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts unreal]``() const;
+ float ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_1]``() const;
+ float ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_2]``() const;
+ float ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_3]``() const;
+ float ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_4]``() const;
+ ::std::complex<float> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<float> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_2]``() const;
+
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<float> const & a_affecter);
template<typename X>
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(float const & a_affecter);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(::std::complex<float> const & a_affecter);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(float const & rhs);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(::std::complex<float> const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(float const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(::std::complex<float> const & rhs);
template<typename X>
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(float const & rhs);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(::std::complex<float> const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(float const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(::std::complex<float> const & rhs);
template<typename X>
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(float const & rhs);
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(::std::complex<float> const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(float const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(::std::complex<float> const & rhs);
template<typename X>
- quaternion<float>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
+
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(float const & rhs);
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(::std::complex<float> const & rhs);
+ template<typename X>
+ quaternion<float>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
};
-
-[#boost_quaternions.quaternion_double]
+
+[#math_quaternion_double]
template<>
class quaternion<double>
{
public:
- typedef double ``[link boost_quaternions.quaternions.mem_typedef value_type]``;
-
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(double const & requested_a = 0.0, double const & requested_b = 0.0, double const & requested_c = 0.0, double const & requested_d = 0.0);
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(::std::complex<double> const & z0, ::std::complex<double> const & z1 = ::std::complex<double>());
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(quaternion<float> const & a_recopier);
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(quaternion<long double> const & a_recopier);
-
- double ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts real]``() const;
- quaternion<double> ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts unreal]``() const;
- double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_1]``() const;
- double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_2]``() const;
- double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_3]``() const;
- double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_4]``() const;
- ::std::complex<double> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_1]``() const;
- ::std::complex<double> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_2]``() const;
-
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<double> const & a_affecter);
- template<typename X>
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(double const & a_affecter);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(::std::complex<double> const & a_affecter);
-
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(double const & rhs);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(::std::complex<double> const & rhs);
+ typedef double ``[link math_toolkit.mem_typedef value_type]``;
+
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(double const & requested_a = 0.0, double const & requested_b = 0.0, double const & requested_c = 0.0, double const & requested_d = 0.0);
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(::std::complex<double> const & z0, ::std::complex<double> const & z1 = ::std::complex<double>());
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(quaternion<float> const & a_recopier);
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(quaternion<long double> const & a_recopier);
+
+ double ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts real]``() const;
+ quaternion<double> ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts unreal]``() const;
+ double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_1]``() const;
+ double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_2]``() const;
+ double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_3]``() const;
+ double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_4]``() const;
+ ::std::complex<double> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<double> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_2]``() const;
+
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<double> const & a_affecter);
+ template<typename X>
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(double const & a_affecter);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(::std::complex<double> const & a_affecter);
+
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(double const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(::std::complex<double> const & rhs);
template<typename X>
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(double const & rhs);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(::std::complex<double> const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(double const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(::std::complex<double> const & rhs);
template<typename X>
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(double const & rhs);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(::std::complex<double> const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(double const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(::std::complex<double> const & rhs);
template<typename X>
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(double const & rhs);
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(::std::complex<double> const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(double const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(::std::complex<double> const & rhs);
template<typename X>
- quaternion<double>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
+ quaternion<double>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
};
-[#boost_quaternions.quaternion_long_double]
+[#math_quaternion_long_double]
template<>
class quaternion<long double>
{
public:
- typedef long double ``[link boost_quaternions.quaternions.mem_typedef value_type]``;
-
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(long double const & requested_a = 0.0L, long double const & requested_b = 0.0L, long double const & requested_c = 0.0L, long double const & requested_d = 0.0L);
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(::std::complex<long double> const & z0, ::std::complex<long double> const & z1 = ::std::complex<long double>());
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(quaternion<float> const & a_recopier);
- explicit ``[link boost_quaternions.quaternions.mem_fun.constructors quaternion]``(quaternion<double> const & a_recopier);
-
- long double ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts real]``() const;
- quaternion<long double> ``[link boost_quaternions.quaternions.mem_fun.real_and_unreal_parts unreal]``() const;
- long double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_1]``() const;
- long double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_2]``() const;
- long double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_3]``() const;
- long double ``[link boost_quaternions.quaternions.mem_fun.individual_real_components R_component_4]``() const;
- ::std::complex<long double> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_1]``() const;
- ::std::complex<long double> ``[link boost_quaternions.quaternions.mem_fun.individual_complex__components C_component_2]``() const;
-
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<long double> const & a_affecter);
- template<typename X>
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(long double const & a_affecter);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.assignment_operators operator = ]``(::std::complex<long double> const & a_affecter);
-
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(long double const & rhs);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(::std::complex<long double> const & rhs);
+ typedef long double ``[link math_toolkit.mem_typedef value_type]``;
+
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(long double const & requested_a = 0.0L, long double const & requested_b = 0.0L, long double const & requested_c = 0.0L, long double const & requested_d = 0.0L);
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(::std::complex<long double> const & z0, ::std::complex<long double> const & z1 = ::std::complex<long double>());
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(quaternion<float> const & a_recopier);
+ explicit ``[link math_toolkit.quat_mem_fun.constructors quaternion]``(quaternion<double> const & a_recopier);
+
+ long double ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts real]``() const;
+ quaternion<long double> ``[link math_toolkit.quat_mem_fun.real_and_unreal_parts unreal]``() const;
+ long double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_1]``() const;
+ long double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_2]``() const;
+ long double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_3]``() const;
+ long double ``[link math_toolkit.quat_mem_fun.individual_real_components R_component_4]``() const;
+ ::std::complex<long double> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_1]``() const;
+ ::std::complex<long double> ``[link math_toolkit.quat_mem_fun.individual_complex_components C_component_2]``() const;
+
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<long double> const & a_affecter);
template<typename X>
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(quaternion<X> const & a_affecter);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(long double const & a_affecter);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.assignment_operators operator = ]``(::std::complex<long double> const & a_affecter);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(long double const & rhs);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(::std::complex<long double> const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(long double const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(::std::complex<long double> const & rhs);
template<typename X>
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.addition_operators operator += ]``(quaternion<X> const & rhs);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(long double const & rhs);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(::std::complex<long double> const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(long double const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(::std::complex<long double> const & rhs);
template<typename X>
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.subtraction_operators operator -= ]``(quaternion<X> const & rhs);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(long double const & rhs);
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(::std::complex<long double> const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(long double const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(::std::complex<long double> const & rhs);
template<typename X>
- quaternion<long double>& ``[link boost_quaternions.quaternions.mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.multiplication_operators operator *= ]``(quaternion<X> const & rhs);
+
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(long double const & rhs);
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(::std::complex<long double> const & rhs);
+ template<typename X>
+ quaternion<long double>& ``[link math_toolkit.quat_mem_fun.division_operators operator /= ]``(quaternion<X> const & rhs);
};
} // namespace math
} // namespace boost
-
+
[endsect]
[section:mem_typedef Quaternion Member Typedefs]
@@ -407,7 +378,7 @@ These provide easy acces to the type the template is built upon.
[endsect]
-[section:mem_fun Quaternion Member Functions]
+[section:quat_mem_fun Quaternion Member Functions]
[h3 Constructors]
Template version:
@@ -421,7 +392,7 @@ Float specialization version:
explicit quaternion(float const & requested_a = 0.0f, float const & requested_b = 0.0f, float const & requested_c = 0.0f, float const & requested_d = 0.0f);
explicit quaternion(::std::complex<float> const & z0,::std::complex<float> const & z1 = ::std::complex<float>());
- explicit quaternion(quaternion<double> const & a_recopier);
+ explicit quaternion(quaternion<double> const & a_recopier);
explicit quaternion(quaternion<long double> const & a_recopier);
Double specialization version:
@@ -434,23 +405,23 @@ Double specialization version:
Long double specialization version:
explicit quaternion(long double const & requested_a = 0.0L, long double const & requested_b = 0.0L, long double const & requested_c = 0.0L, long double const & requested_d = 0.0L);
- explicit quaternion( ::std::complex<long double> const & z0, ::std::complex<long double> const & z1 = ::std::complex<long double>());
+ explicit quaternion( ::std::complex<long double> const & z0, ::std::complex<long double> const & z1 = ::std::complex<long double>());
explicit quaternion(quaternion<float> const & a_recopier);
explicit quaternion(quaternion<double> const & a_recopier);
-A default constructor is provided for each form, which initializes
-each component to the default values for their type
-(i.e. zero for floating numbers). This constructor can also accept
-one to four base type arguments. A constructor is also provided to
-build quaternions from one or two complex numbers sharing the same
-base type. The unspecialized template also sports a templarized copy
-constructor, while the specialized forms have copy constructors
-from the other two specializations, which are explicit when a risk of
-precision loss exists. For the unspecialized form, the base type's
+A default constructor is provided for each form, which initializes
+each component to the default values for their type
+(i.e. zero for floating numbers). This constructor can also accept
+one to four base type arguments. A constructor is also provided to
+build quaternions from one or two complex numbers sharing the same
+base type. The unspecialized template also sports a templarized copy
+constructor, while the specialized forms have copy constructors
+from the other two specializations, which are explicit when a risk of
+precision loss exists. For the unspecialized form, the base type's
constructors must not throw.
-Destructors and untemplated copy constructors (from the same type) are
-provided by the compiler. Converting copy constructors make use of a
+Destructors and untemplated copy constructors (from the same type) are
+provided by the compiler. Converting copy constructors make use of a
templated helper function in a "detail" subnamespace.
[h3 Other member functions]
@@ -459,10 +430,10 @@ templated helper function in a "detail" subnamespace.
T real() const;
quaternion<T> unreal() const;
-Like complex number, quaternions do have a meaningful notion of "real part",
-but unlike them there is no meaningful notion of "imaginary part".
-Instead there is an "unreal part" which itself is a quaternion,
-and usually nothing simpler (as opposed to the complex number case).
+Like complex number, quaternions do have a meaningful notion of "real part",
+but unlike them there is no meaningful notion of "imaginary part".
+Instead there is an "unreal part" which itself is a quaternion,
+and usually nothing simpler (as opposed to the complex number case).
These are returned by the first two functions.
[h4 Individual Real Components]
@@ -472,89 +443,89 @@ These are returned by the first two functions.
T R_component_3() const;
T R_component_4() const;
-A quaternion having four real components, these are returned by these four
+A quaternion having four real components, these are returned by these four
functions. Hence real and R_component_1 return the same value.
[h4 Individual Complex Components]
- ::std::complex<T> C_component_1() const;
- ::std::complex<T> C_component_2() const;
+ ::std::complex<T> C_component_1() const;
+ ::std::complex<T> C_component_2() const;
-A quaternion likewise has two complex components, and as we have seen above,
-for any quaternion __quat_formula we also have __quat_complex_formula. These functions return them.
+A quaternion likewise has two complex components, and as we have seen above,
+for any quaternion __quat_formula we also have __quat_complex_formula. These functions return them.
The real part of `q.C_component_1()` is the same as `q.real()`.
[h3 Quaternion Member Operators]
[h4 Assignment Operators]
quaternion<T>& operator = (quaternion<T> const & a_affecter);
- template<typename X>
+ template<typename X>
quaternion<T>& operator = (quaternion<X> const& a_affecter);
quaternion<T>& operator = (T const& a_affecter);
quaternion<T>& operator = (::std::complex<T> const& a_affecter);
-These perform the expected assignment, with type modification if necessary
-(for instance, assigning from a base type will set the real part to that
-value, and all other components to zero). For the unspecialized form,
+These perform the expected assignment, with type modification if necessary
+(for instance, assigning from a base type will set the real part to that
+value, and all other components to zero). For the unspecialized form,
the base type's assignment operators must not throw.
[h4 Addition Operators]
quaternion<T>& operator += (T const & rhs)
quaternion<T>& operator += (::std::complex<T> const & rhs);
- template<typename X>
+ template<typename X>
quaternion<T>& operator += (quaternion<X> const & rhs);
-These perform the mathematical operation `(*this)+rhs` and store the result in
-`*this`. The unspecialized form has exception guards, which the specialized
-forms do not, so as to insure exception safety. For the unspecialized form,
+These perform the mathematical operation `(*this)+rhs` and store the result in
+`*this`. The unspecialized form has exception guards, which the specialized
+forms do not, so as to insure exception safety. For the unspecialized form,
the base type's assignment operators must not throw.
[h4 Subtraction Operators]
quaternion<T>& operator -= (T const & rhs)
quaternion<T>& operator -= (::std::complex<T> const & rhs);
- template<typename X>
+ template<typename X>
quaternion<T>& operator -= (quaternion<X> const & rhs);
-These perform the mathematical operation `(*this)-rhs` and store the result
-in `*this`. The unspecialized form has exception guards, which the
-specialized forms do not, so as to insure exception safety.
-For the unspecialized form, the base type's assignment operators
+These perform the mathematical operation `(*this)-rhs` and store the result
+in `*this`. The unspecialized form has exception guards, which the
+specialized forms do not, so as to insure exception safety.
+For the unspecialized form, the base type's assignment operators
must not throw.
[h4 Multiplication Operators]
quaternion<T>& operator *= (T const & rhs)
quaternion<T>& operator *= (::std::complex<T> const & rhs);
- template<typename X>
+ template<typename X>
quaternion<T>& operator *= (quaternion<X> const & rhs);
-These perform the mathematical operation `(*this)*rhs` [*in this order]
-(order is important as multiplication is not commutative for quaternions)
-and store the result in `*this`. The unspecialized form has exception guards,
-which the specialized forms do not, so as to insure exception safety.
+These perform the mathematical operation `(*this)*rhs` [*in this order]
+(order is important as multiplication is not commutative for quaternions)
+and store the result in `*this`. The unspecialized form has exception guards,
+which the specialized forms do not, so as to insure exception safety.
For the unspecialized form, the base type's assignment operators must not throw.
[h4 Division Operators]
quaternion<T>& operator /= (T const & rhs)
quaternion<T>& operator /= (::std::complex<T> const & rhs);
- template<typename X>
+ template<typename X>
quaternion<T>& operator /= (quaternion<X> const & rhs);
-These perform the mathematical operation `(*this)*inverse_of(rhs)` [*in this
-order] (order is important as multiplication is not commutative for quaternions)
-and store the result in `*this`. The unspecialized form has exception guards,
-which the specialized forms do not, so as to insure exception safety.
+These perform the mathematical operation `(*this)*inverse_of(rhs)` [*in this
+order] (order is important as multiplication is not commutative for quaternions)
+and store the result in `*this`. The unspecialized form has exception guards,
+which the specialized forms do not, so as to insure exception safety.
For the unspecialized form, the base type's assignment operators must not throw.
[endsect]
-[section:non_mem Quaternion Non-Member Operators]
+[section:quat_non_mem Quaternion Non-Member Operators]
[h4 Unary Plus]
- template<typename T>
+ template<typename T>
quaternion<T> operator + (quaternion<T> const & q);
This unary operator simply returns q.
@@ -568,66 +539,66 @@ This unary operator returns the opposite of q.
[h4 Binary Addition Operators]
- template<typename T> quaternion<T> operator + (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator + (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> operator + (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator + (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> operator + (quaternion<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator + (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator + (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> operator + (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator + (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> operator + (quaternion<T> const & lhs, quaternion<T> const & rhs);
These operators return `quaternion<T>(lhs) += rhs`.
[h4 Binary Subtraction Operators]
- template<typename T> quaternion<T> operator - (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator - (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> operator - (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator - (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> operator - (quaternion<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator - (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator - (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> operator - (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator - (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> operator - (quaternion<T> const & lhs, quaternion<T> const & rhs);
These operators return `quaternion<T>(lhs) -= rhs`.
[h4 Binary Multiplication Operators]
- template<typename T> quaternion<T> operator * (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator * (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> operator * (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator * (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> operator * (quaternion<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator * (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator * (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> operator * (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator * (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> operator * (quaternion<T> const & lhs, quaternion<T> const & rhs);
These operators return `quaternion<T>(lhs) *= rhs`.
[h4 Binary Division Operators]
- template<typename T> quaternion<T> operator / (T const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator / (quaternion<T> const & lhs, T const & rhs);
- template<typename T> quaternion<T> operator / (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> quaternion<T> operator / (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> quaternion<T> operator / (quaternion<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator / (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator / (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> quaternion<T> operator / (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> quaternion<T> operator / (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> quaternion<T> operator / (quaternion<T> const & lhs, quaternion<T> const & rhs);
-These operators return `quaternion<T>(lhs) /= rhs`. It is of course still an
+These operators return `quaternion<T>(lhs) /= rhs`. It is of course still an
error to divide by zero...
[h4 Equality Operators]
- template<typename T> bool operator == (T const & lhs, quaternion<T> const & rhs);
- template<typename T> bool operator == (quaternion<T> const & lhs, T const & rhs);
- template<typename T> bool operator == (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> bool operator == (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> bool operator == (quaternion<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool operator == (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool operator == (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> bool operator == (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool operator == (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> bool operator == (quaternion<T> const & lhs, quaternion<T> const & rhs);
These return true if and only if the four components of `quaternion<T>(lhs)`
-are equal to their counterparts in `quaternion<T>(rhs)`. As with any
+are equal to their counterparts in `quaternion<T>(rhs)`. As with any
floating-type entity, this is essentially meaningless.
[h4 Inequality Operators]
- template<typename T> bool operator != (T const & lhs, quaternion<T> const & rhs);
- template<typename T> bool operator != (quaternion<T> const & lhs, T const & rhs);
- template<typename T> bool operator != (::std::complex<T> const & lhs, quaternion<T> const & rhs);
- template<typename T> bool operator != (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
- template<typename T> bool operator != (quaternion<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool operator != (T const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool operator != (quaternion<T> const & lhs, T const & rhs);
+ template<typename T> bool operator != (::std::complex<T> const & lhs, quaternion<T> const & rhs);
+ template<typename T> bool operator != (quaternion<T> const & lhs, ::std::complex<T> const & rhs);
+ template<typename T> bool operator != (quaternion<T> const & lhs, quaternion<T> const & rhs);
-These return true if and only if `quaternion<T>(lhs) == quaternion<T>(rhs)` is
+These return true if and only if `quaternion<T>(lhs) == quaternion<T>(rhs)` is
false. As with any floating-type entity, this is essentially meaningless.
[h4 Stream Extractor]
@@ -635,21 +606,21 @@ false. As with any floating-type entity, this is essentially meaningless.
template<typename T, typename charT, class traits>
::std::basic_istream<charT,traits>& operator >> (::std::basic_istream<charT,traits> & is, quaternion<T> & q);
-Extracts a quaternion q of one of the following forms
+Extracts a quaternion q of one of the following forms
(with a, b, c and d of type `T`):
[^a (a), (a,b), (a,b,c), (a,b,c,d) (a,(c)), (a,(c,d)), ((a)), ((a),c), ((a),(c)), ((a),(c,d)), ((a,b)), ((a,b),c), ((a,b),(c)), ((a,b),(c,d))]
-The input values must be convertible to `T`. If bad input is encountered,
+The input values must be convertible to `T`. If bad input is encountered,
calls `is.setstate(ios::failbit)` (which may throw ios::failure (27.4.5.3)).
[*Returns:] `is`.
-The rationale for the list of accepted formats is that either we have a
-list of up to four reals, or else we have a couple of complex numbers,
-and in that case if it formated as a proper complex number, then it should
-be accepted. Thus potential ambiguities are lifted (for instance (a,b) is
-(a,b,0,0) and not (a,0,b,0), i.e. it is parsed as a list of two real numbers
+The rationale for the list of accepted formats is that either we have a
+list of up to four reals, or else we have a couple of complex numbers,
+and in that case if it formated as a proper complex number, then it should
+be accepted. Thus potential ambiguities are lifted (for instance (a,b) is
+(a,b,0,0) and not (a,0,b,0), i.e. it is parsed as a list of two real numbers
and not two complex numbers which happen to have imaginary parts equal to zero).
[h4 Stream Inserter]
@@ -660,11 +631,11 @@ and not two complex numbers which happen to have imaginary parts equal to zero).
Inserts the quaternion q onto the stream `os` as if it were implemented as follows:
template<typename T, typename charT, class traits>
- ::std::basic_ostream<charT,traits>& operator << (
+ ::std::basic_ostream<charT,traits>& operator << (
::std::basic_ostream<charT,traits> & os,
quaternion<T> const & q)
{
- ::std::basic_ostringstream<charT,traits> s;
+ ::std::basic_ostringstream<charT,traits> s;
s.flags(os.flags());
s.imbue(os.getloc());
@@ -677,209 +648,209 @@ Inserts the quaternion q onto the stream `os` as if it were implemented as follo
return os << s.str();
}
-
+
[endsect]
[section:value_op Quaternion Value Operations]
[h4 real and unreal]
- template<typename T> T real(quaternion<T> const & q);
- template<typename T> quaternion<T> unreal(quaternion<T> const & q);
+ template<typename T> T real(quaternion<T> const & q);
+ template<typename T> quaternion<T> unreal(quaternion<T> const & q);
These return `q.real()` and `q.unreal()` respectively.
[h4 conj]
- template<typename T> quaternion<T> conj(quaternion<T> const & q);
+ template<typename T> quaternion<T> conj(quaternion<T> const & q);
This returns the conjugate of the quaternion.
[h4 sup]
-template<typename T> T sup(quaternion<T> const & q);
+template<typename T> T sup(quaternion<T> const & q);
-This return the sup norm (the greatest among
+This return the sup norm (the greatest among
`abs(q.R_component_1())...abs(q.R_component_4()))` of the quaternion.
[h4 l1]
- template<typename T> T l1(quaternion<T> const & q);
+ template<typename T> T l1(quaternion<T> const & q);
This return the l1 norm `(abs(q.R_component_1())+...+abs(q.R_component_4()))`
of the quaternion.
[h4 abs]
- template<typename T> T abs(quaternion<T> const & q);
+ template<typename T> T abs(quaternion<T> const & q);
This return the magnitude (Euclidian norm) of the quaternion.
[h4 norm]
- template<typename T> T norm(quaternion<T>const & q);
+ template<typename T> T norm(quaternion<T>const & q);
-This return the (Cayley) norm of the quaternion.
-The term "norm" might be confusing, as most people associate it with the
-Euclidian norm (and quadratic functionals). For this version of
-(the mathematical objects known as) quaternions, the Euclidian norm
+This return the (Cayley) norm of the quaternion.
+The term "norm" might be confusing, as most people associate it with the
+Euclidian norm (and quadratic functionals). For this version of
+(the mathematical objects known as) quaternions, the Euclidian norm
(also known as magnitude) is the square root of the Cayley norm.
[endsect]
[section:create Quaternion Creation Functions]
- template<typename T> quaternion<T> spherical(T const & rho, T const & theta, T const & phi1, T const & phi2);
- template<typename T> quaternion<T> semipolar(T const & rho, T const & alpha, T const & theta1, T const & theta2);
- template<typename T> quaternion<T> multipolar(T const & rho1, T const & theta1, T const & rho2, T const & theta2);
- template<typename T> quaternion<T> cylindrospherical(T const & t, T const & radius, T const & longitude, T const & latitude);
- template<typename T> quaternion<T> cylindrical(T const & r, T const & angle, T const & h1, T const & h2);
+ template<typename T> quaternion<T> spherical(T const & rho, T const & theta, T const & phi1, T const & phi2);
+ template<typename T> quaternion<T> semipolar(T const & rho, T const & alpha, T const & theta1, T const & theta2);
+ template<typename T> quaternion<T> multipolar(T const & rho1, T const & theta1, T const & rho2, T const & theta2);
+ template<typename T> quaternion<T> cylindrospherical(T const & t, T const & radius, T const & longitude, T const & latitude);
+ template<typename T> quaternion<T> cylindrical(T const & r, T const & angle, T const & h1, T const & h2);
-These build quaternions in a way similar to the way polar builds complex
+These build quaternions in a way similar to the way polar builds complex
numbers, as there is no strict equivalent to polar coordinates for quaternions.
-[#boost_quaternions.quaternions.creation_spherical] `spherical` is a simple transposition of `polar`, it takes as inputs
-a (positive) magnitude and a point on the hypersphere, given by three angles.
-The first of these, `theta` has a natural range of `-pi` to `+pi`, and the other
-two have natural ranges of `-pi/2` to `+pi/2` (as is the case with the usual
-spherical coordinates in __R3). Due to the many symmetries and periodicities,
-nothing untoward happens if the magnitude is negative or the angles are
-outside their natural ranges. The expected degeneracies (a magnitude of
+[#math_quaternions.creation_spherical] `spherical` is a simple transposition of `polar`, it takes as inputs
+a (positive) magnitude and a point on the hypersphere, given by three angles.
+The first of these, `theta` has a natural range of `-pi` to `+pi`, and the other
+two have natural ranges of `-pi/2` to `+pi/2` (as is the case with the usual
+spherical coordinates in __R3). Due to the many symmetries and periodicities,
+nothing untoward happens if the magnitude is negative or the angles are
+outside their natural ranges. The expected degeneracies (a magnitude of
zero ignores the angles settings...) do happen however.
-[#boost_quaternions.quaternions.creation_cylindrical] `cylindrical` is likewise a simple transposition of the usual
-cylindrical coordinates in __R3, which in turn is another derivative of
-planar polar coordinates. The first two inputs are the polar coordinates of
-the first __C component of the quaternion. The third and fourth inputs
-are placed into the third and fourth __R components of the quaternion,
+[#math_quaternions.creation_cylindrical] `cylindrical` is likewise a simple transposition of the usual
+cylindrical coordinates in __R3, which in turn is another derivative of
+planar polar coordinates. The first two inputs are the polar coordinates of
+the first __C component of the quaternion. The third and fourth inputs
+are placed into the third and fourth __R components of the quaternion,
respectively.
-[#boost_quaternions.quaternions.creation_multipolar] `multipolar` is yet another simple generalization of polar coordinates.
+[#math_quaternions.creation_multipolar] `multipolar` is yet another simple generalization of polar coordinates.
This time, both __C components of the quaternion are given in polar coordinates.
-[#boost_quaternions.quaternions.creation_cylindrospherical] `cylindrospherical` is specific to quaternions. It is often interesting to
-consider __H as the cartesian product of __R by __R3 (the quaternionic
-multiplication as then a special form, as given here). This function
-therefore builds a quaternion from this representation, with the __R3
+[#math_quaternions.creation_cylindrospherical] `cylindrospherical` is specific to quaternions. It is often interesting to
+consider __H as the cartesian product of __R by __R3 (the quaternionic
+multiplication as then a special form, as given here). This function
+therefore builds a quaternion from this representation, with the __R3
component given in usual __R3 spherical coordinates.
-[#boost_quaternions.quaternions.creation_semipolar] `semipolar` is another generator which is specific to quaternions.
-It takes as a first input the magnitude of the quaternion, as a
-second input an angle in the range `0` to `+pi/2` such that magnitudes
-of the first two __C components of the quaternion are the product of the
-first input and the sine and cosine of this angle, respectively, and finally
-as third and fourth inputs angles in the range `-pi/2` to `+pi/2` which
-represent the arguments of the first and second __C components of
-the quaternion, respectively. As usual, nothing untoward happens if
-what should be magnitudes are negative numbers or angles are out of their
+[#math_quaternions.creation_semipolar] `semipolar` is another generator which is specific to quaternions.
+It takes as a first input the magnitude of the quaternion, as a
+second input an angle in the range `0` to `+pi/2` such that magnitudes
+of the first two __C components of the quaternion are the product of the
+first input and the sine and cosine of this angle, respectively, and finally
+as third and fourth inputs angles in the range `-pi/2` to `+pi/2` which
+represent the arguments of the first and second __C components of
+the quaternion, respectively. As usual, nothing untoward happens if
+what should be magnitudes are negative numbers or angles are out of their
natural ranges, as symmetries and periodicities kick in.
-In this version of our implementation of quaternions, there is no
-analogue of the complex value operation `arg` as the situation is
-somewhat more complicated. Unit quaternions are linked both to
-rotations in __R3 and in __R4, and the correspondences are not too complicated,
-but there is currently a lack of standard (de facto or de jure) matrix
-library with which the conversions could work. This should be remedied in
-a further revision. In the mean time, an example of how this could be
-done is presented here for
-[@../../../quaternion/HSO3.hpp __R3], and here for
-[@../../../quaternion/HSO4.hpp __R4]
-([@../../../quaternion/HSO3SO4.cpp example test file]).
+In this version of our implementation of quaternions, there is no
+analogue of the complex value operation `arg` as the situation is
+somewhat more complicated. Unit quaternions are linked both to
+rotations in __R3 and in __R4, and the correspondences are not too complicated,
+but there is currently a lack of standard (de facto or de jure) matrix
+library with which the conversions could work. This should be remedied in
+a further revision. In the mean time, an example of how this could be
+done is presented here for
+[@../../quaternion/HSO3.hpp __R3], and here for
+[@../../quaternion/HSO4.hpp __R4]
+([@../../quaternion/HSO3SO4.cpp example test file]).
[endsect]
[section:trans Quaternion Transcendentals]
-There is no `log` or `sqrt` provided for quaternions in this implementation,
-and `pow` is likewise restricted to integral powers of the exponent.
-There are several reasons to this: on the one hand, the equivalent of
-analytic continuation for quaternions ("branch cuts") remains to be
-investigated thoroughly (by me, at any rate...), and we wish to avoid the
-nonsense introduced in the standard by exponentiations of complexes by
-complexes (which is well defined, but not in the standard...).
-Talking of nonsense, saying that `pow(0,0)` is "implementation defined" is just
+There is no `log` or `sqrt` provided for quaternions in this implementation,
+and `pow` is likewise restricted to integral powers of the exponent.
+There are several reasons to this: on the one hand, the equivalent of
+analytic continuation for quaternions ("branch cuts") remains to be
+investigated thoroughly (by me, at any rate...), and we wish to avoid the
+nonsense introduced in the standard by exponentiations of complexes by
+complexes (which is well defined, but not in the standard...).
+Talking of nonsense, saying that `pow(0,0)` is "implementation defined" is just
plain brain-dead...
-We do, however provide several transcendentals, chief among which is the
-exponential. This author claims the complete proof of the "closed formula"
-as his own, as well as its independant invention (there are claims to prior
-invention of the formula, such as one by Professor Shoemake, and it is
-possible that the formula had been known a couple of centuries back, but in
-absence of bibliographical reference, the matter is pending, awaiting further
-investigation; on the other hand, the definition and existence of the
-exponential on the quaternions, is of course a fact known for a very long time).
-Basically, any converging power series with real coefficients which allows for a
-closed formula in __C can be transposed to __H. More transcendentals of this
-type could be added in a further revision upon request. It should be
-noted that it is these functions which force the dependency upon the
-[@../../../../../boost/math/special_functions/sinc.hpp boost/math/special_functions/sinc.hpp] and the
-[@../../../../../boost/math/special_functions/sinhc.hpp boost/math/special_functions/sinhc.hpp] headers.
+We do, however provide several transcendentals, chief among which is the
+exponential. This author claims the complete proof of the "closed formula"
+as his own, as well as its independant invention (there are claims to prior
+invention of the formula, such as one by Professor Shoemake, and it is
+possible that the formula had been known a couple of centuries back, but in
+absence of bibliographical reference, the matter is pending, awaiting further
+investigation; on the other hand, the definition and existence of the
+exponential on the quaternions, is of course a fact known for a very long time).
+Basically, any converging power series with real coefficients which allows for a
+closed formula in __C can be transposed to __H. More transcendentals of this
+type could be added in a further revision upon request. It should be
+noted that it is these functions which force the dependency upon the
+[@../../../../boost/math/special_functions/sinc.hpp boost/math/special_functions/sinc.hpp] and the
+[@../../../../boost/math/special_functions/sinhc.hpp boost/math/special_functions/sinhc.hpp] headers.
[h4 exp]
- template<typename T> quaternion<T> exp(quaternion<T> const & q);
+ template<typename T> quaternion<T> exp(quaternion<T> const & q);
Computes the exponential of the quaternion.
[h4 cos]
- template<typename T> quaternion<T> cos(quaternion<T> const & q);
+ template<typename T> quaternion<T> cos(quaternion<T> const & q);
Computes the cosine of the quaternion
[h4 sin]
- template<typename T> quaternion<T> sin(quaternion<T> const & q);
+ template<typename T> quaternion<T> sin(quaternion<T> const & q);
Computes the sine of the quaternion.
[h4 tan]
- template<typename T> quaternion<T> tan(quaternion<T> const & q);
+ template<typename T> quaternion<T> tan(quaternion<T> const & q);
Computes the tangent of the quaternion.
[h4 cosh]
- template<typename T> quaternion<T> cosh(quaternion<T> const & q);
+ template<typename T> quaternion<T> cosh(quaternion<T> const & q);
Computes the hyperbolic cosine of the quaternion.
[h4 sinh]
- template<typename T> quaternion<T> sinh(quaternion<T> const & q);
+ template<typename T> quaternion<T> sinh(quaternion<T> const & q);
Computes the hyperbolic sine of the quaternion.
[h4 tanh]
- template<typename T> quaternion<T> tanh(quaternion<T> const & q);
+ template<typename T> quaternion<T> tanh(quaternion<T> const & q);
Computes the hyperbolic tangent of the quaternion.
[h4 pow]
- template<typename T> quaternion<T> pow(quaternion<T> const & q, int n);
+ template<typename T> quaternion<T> pow(quaternion<T> const & q, int n);
Computes the n-th power of the quaternion q.
[endsect]
-[section Test Program]
+[section:quat_tests Test Program]
-The [@../../../quaternion/quaternion_test.cpp quaternion_test.cpp]
-test program tests quaternions specializations for float, double and long double
-([@../../../quaternion/output.txt sample output], with message output
+The [@../../quaternion/quaternion_test.cpp quaternion_test.cpp]
+test program tests quaternions specializations for float, double and long double
+([@../../quaternion/output.txt sample output], with message output
enabled).
-If you define the symbol boost_quaternions_TEST_VERBOSE, you will get
-additional output ([@../../../quaternion/output_more.txt verbose output]);
-this will only be helpfull if you enable message output at the same time,
-of course (by uncommenting the relevant line in the test or by adding
-[^--log_level=messages] to your command line,...). In that case, and if you
-are running interactively, you may in addition define the symbol
-BOOST_INTERACTIVE_TEST_INPUT_ITERATOR to interactively test the input
-operator with input of your choice from the standard input
+If you define the symbol TEST_VERBOSE, you will get
+additional output ([@../../quaternion/output_more.txt verbose output]);
+this will only be helpfull if you enable message output at the same time,
+of course (by uncommenting the relevant line in the test or by adding
+[^--log_level=messages] to your command line,...). In that case, and if you
+are running interactively, you may in addition define the symbol
+BOOST_INTERACTIVE_TEST_INPUT_ITERATOR to interactively test the input
+operator with input of your choice from the standard input
(instead of hard-coding it in the test).
[endsect]
@@ -888,23 +859,24 @@ operator with input of your choice from the standard input
Please refer to the following PDF's:
-*[@../../../quaternion/TQE.pdf The Quaternionic Exponential (and beyond)]
-*[@../../../quaternion/TQE_EA.pdf The Quaternionic Exponential (and beyond) ERRATA & ADDENDA]
+*[@../../quaternion/TQE.pdf The Quaternionic Exponential (and beyond)]
+*[@../../quaternion/TQE_EA.pdf The Quaternionic Exponential (and beyond) ERRATA & ADDENDA]
[endsect]
-[section Acknowledgements]
+[section:acknowledgement Acknowledgements]
-The mathematical text has been typeset with
-[@http://www.nisus-soft.com/ Nisus Writer]. Jens Maurer has helped with
-portability and standard adherence, and was the Review Manager
-for this library. More acknowledgements in the History section.
+The mathematical text has been typeset with
+[@http://www.nisus-soft.com/ Nisus Writer]. Jens Maurer has helped with
+portability and standard adherence, and was the Review Manager
+for this library. More acknowledgements in the History section.
Thank you to all who contributed to the discution about this library.
[endsect]
-[section History]
+[section:quat_history History]
+* 1.5.9 - 13/5/2013: Incorporated into Boost.Math.
* 1.5.8 - 17/12/2005: Converted documentation to Quickbook Format.
* 1.5.7 - 24/02/2003: transitionned to the unit test framework; <boost/config.hpp> now included by the library header (rather than the test files).
* 1.5.6 - 15/10/2002: Gcc2.95.x and stlport on linux compatibility by Alkis Evlogimenos (alkis@routescience.com).
@@ -919,17 +891,28 @@ Thank you to all who contributed to the discution about this library.
* 1.3.0 - 12/07/2000: pow now uses Maarten Hilferink's (mhilferink@tip.nl) algorithm.
* 1.2.0 - 25/05/2000: fixed the division operators and output; changed many signatures.
* 1.1.0 - 23/05/2000: changed sinc into sinc_pi; added sin, cos, sinh, cosh.
-* 1.0.0 - 10/08/1999: first public version.
+* 1.0.0 - 10/08/1999: first public version.
[endsect]
-[section To Do]
+[section:quat_todo To Do]
* Improve testing.
* Rewrite input operatore using Spirit (creates a dependency).
* Put in place an Expression Template mechanism (perhaps borrowing from uBlas).
-* Use uBlas for the link with rotations (and move from the
-[@../../../quaternion/HSO3SO4.cpp example]
-implementation to an efficient one).
-
-[endsect]
+* Use uBlas for the link with rotations (and move from the
+[@../../quaternion/HSO3SO4.cpp example]
+implementation to an efficient one).
+
[endsect]
+[endmathpart]
+
+[/
+Copyright 1999, 2005, 2013 Hubert Holin.
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
+
+
diff --git a/libs/math/doc/sf/airy.qbk b/libs/math/doc/sf/airy.qbk
new file mode 100644
index 0000000000..c08c16c117
--- /dev/null
+++ b/libs/math/doc/sf/airy.qbk
@@ -0,0 +1,224 @@
+[/
+Copyright (c) 2012 John Maddock
+Use, modification and distribution are subject to the
+Boost Software License, Version 1.0. (See accompanying file
+LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[section:airy Airy Functions]
+
+[section:ai Airy Ai Function]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/airy.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T>
+ ``__sf_result`` airy_ai(T x);
+
+ template <class T, class Policy>
+ ``__sf_result`` airy_ai(T x, const Policy&);
+
+ }} // namespaces
+
+[heading Description]
+
+The function __airy_ai calculates the Airy function Ai which is the first solution
+to the differential equation:
+
+[equation airy]
+
+See Weisstein, Eric W. "Airy Functions." From MathWorld--A Wolfram Web Resource.
+[@http://mathworld.wolfram.com/AiryFunctions.html];
+
+
+[optional_policy]
+
+The following graph illustrates how this function changes as /x/ changes: for negative /x/
+the function is cyclic, while for positive /x/ the value tends to zero:
+
+[graph airy_ai]
+
+[heading Accuracy]
+
+This function is implemented entirely in terms of the Bessel functions
+__cyl_bessel_j and __cyl_bessel_k - refer to those functions for detailed accuracy information.
+
+In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while
+only the absolute error is low for /x < 0/.
+
+[heading Testing]
+
+Since this function is implemented in terms of other special functions, there are only a few
+basic sanity checks, using test values from [@http://functions.wolfram.com/ Wolfram Airy Functions].
+
+[heading Implementation]
+
+This function is implemented in terms of the Bessel functions using the relations:
+
+[equation airy_ai]
+
+[endsect]
+
+[section:bi Airy Bi Function]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/airy.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T>
+ ``__sf_result`` airy_bi(T x);
+
+ template <class T, class Policy>
+ ``__sf_result`` airy_bi(T x, const Policy&);
+
+ }} // namespaces
+
+[heading Description]
+
+The function __airy_bi calculates the Airy function Bi which is the second solution to the differential equation:
+
+[equation airy]
+
+[optional_policy]
+
+The following graph illustrates how this function changes as /x/ changes: for negative /x/
+the function is cyclic, while for positive /x/ the value tends to infinity:
+
+[graph airy_bi]
+
+[heading Accuracy]
+
+This function is implemented entirely in terms of the Bessel functions
+__cyl_bessel_i and __cyl_bessel_j - refer to those functions for detailed accuracy information.
+
+In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while
+only the absolute error is low for /x < 0/.
+
+[heading Testing]
+
+Since this function is implemented in terms of other special functions, there are only a few
+basic sanity checks, using test values from [@http://functions.wolfram.com functions.wolfram.com].
+
+[heading Implementation]
+
+This function is implemented in terms of the Bessel functions using the relations:
+
+[equation airy_bi]
+
+[endsect]
+
+[section:aip Airy Ai' Function]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/airy.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T>
+ ``__sf_result`` airy_ai_prime(T x);
+
+ template <class T, class Policy>
+ ``__sf_result`` airy_ai_prime(T x, const Policy&);
+
+ }} // namespaces
+
+[heading Description]
+
+The function __airy_ai_prime calculates the Airy function Ai' which is the derivative of the first solution to the differential equation:
+
+[equation airy]
+
+[optional_policy]
+
+The following graph illustrates how this function changes as /x/ changes: for negative /x/
+the function is cyclic, while for positive /x/ the value tends to zero:
+
+[graph airy_aip]
+
+[heading Accuracy]
+
+This function is implemented entirely in terms of the Bessel functions
+__cyl_bessel_j and __cyl_bessel_k - refer to those functions for detailed accuracy information.
+
+In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while
+only the absolute error is low for /x < 0/.
+
+[heading Testing]
+
+Since this function is implemented in terms of other special functions, there are only a few
+basic sanity checks, using test values from [@http://functions.wolfram.com functions.wolfram.com].
+
+[heading Implementation]
+
+This function is implemented in terms of the Bessel functions using the relations:
+
+[equation airy_aip]
+
+[endsect]
+
+[section:bip Airy Bi' Function]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/airy.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T>
+ ``__sf_result`` airy_bi_prime(T x);
+
+ template <class T, class Policy>
+ ``__sf_result`` airy_bi_prime(T x, const Policy&);
+
+ }} // namespaces
+
+[heading Description]
+
+The function __airy_bi_prime calculates the Airy function Bi' which is the derivative of the second solution to the differential equation:
+
+[equation airy]
+
+[optional_policy]
+
+The following graph illustrates how this function changes as /x/ changes: for negative /x/
+the function is cyclic, while for positive /x/ the value tends to infinity:
+
+[graph airy_bi]
+
+[heading Accuracy]
+
+This function is implemented entirely in terms of the Bessel functions
+__cyl_bessel_i and __cyl_bessel_j - refer to those functions for detailed accuracy information.
+
+In general though, the relative error is low (less than 100 [epsilon]) for /x > 0/ while
+only the absolute error is low for /x < 0/.
+
+[heading Testing]
+
+Since this function is implemented in terms of other special functions, there are only a few
+basic sanity checks, using test values from [@http://functions.wolfram.com functions.wolfram.com].
+
+[heading Implementation]
+
+This function is implemented in terms of the Bessel functions using the relations:
+
+[equation airy_bip]
+
+[endsect]
+
+[endsect]
+
diff --git a/libs/math/doc/sf/bessel_ik.qbk b/libs/math/doc/sf/bessel_ik.qbk
new file mode 100644
index 0000000000..b89a1f8165
--- /dev/null
+++ b/libs/math/doc/sf/bessel_ik.qbk
@@ -0,0 +1,203 @@
+
+[section:mbessel Modified Bessel Functions of the First and Second Kinds]
+
+[h4 Synopsis]
+
+`#include <boost/math/special_functions/bessel.hpp>`
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_bessel_i(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_bessel_i(T1 v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_bessel_k(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_bessel_k(T1 v, T2 x, const ``__Policy``&);
+
+
+[h4 Description]
+
+The functions __cyl_bessel_i and __cyl_bessel_k return the result of the
+modified Bessel functions of the first and second kind respectively:
+
+cyl_bessel_i(v, x) = I[sub v](x)
+
+cyl_bessel_k(v, x) = K[sub v](x)
+
+where:
+
+[equation mbessel2]
+
+[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
+relatively common case that T1 is an integer.
+
+[optional_policy]
+
+The functions return the result of __domain_error whenever the result is
+undefined or complex. For __cyl_bessel_j this occurs when `x < 0` and v is not
+an integer, or when `x == 0` and `v != 0`. For __cyl_neumann this occurs
+when `x <= 0`.
+
+The following graph illustrates the exponential behaviour of I[sub v].
+
+[graph cyl_bessel_i]
+
+The following graph illustrates the exponential decay of K[sub v].
+
+[graph cyl_bessel_k]
+
+[h4 Testing]
+
+There are two sets of test values: spot values calculated using
+[@http://functions.wolfram.com functions.wolfram.com],
+and a much larger set of tests computed using
+a simplified version of this implementation
+(with all the special case handling removed).
+
+[h4 Accuracy]
+
+The following tables show how the accuracy of these functions
+varies on various platforms, along with a comparison to the __gsl library.
+Note that only results for the widest floating-point type on the
+system are given, as narrower types have __zero_error. All values
+are relative errors in units of epsilon.
+
+[table Errors Rates in cyl_bessel_i
+[[Significand Size] [Platform and Compiler] [I[sub v]] ]
+[[53] [Win32 / Visual C++ 8.0] [Peak=10 Mean=3.4
+ GSL Peak=6000] ]
+[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=11 Mean=3] ]
+[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=11 Mean=4] ]
+[[113] [HP-UX / HP aCC 6] [Peak=15 Mean=4] ]
+]
+
+[table Errors Rates in cyl_bessel_k
+[[Significand Size] [Platform and Compiler] [K[sub v]] ]
+[[53] [Win32 / Visual C++ 8.0] [Peak=9 Mean=2
+
+GSL Peak=9] ]
+[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=10 Mean=2] ]
+[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=10 Mean=2] ]
+[[113] [HP-UX / HP aCC 6] [Peak=12 Mean=5] ]
+]
+
+[h4 Implementation]
+
+The following are handled as special cases first:
+
+When computing I[sub v][space] for ['x < 0], then [nu][space] must be an integer
+or a domain error occurs. If [nu][space] is an integer, then the function is
+odd if [nu][space] is odd and even if [nu][space] is even, and we can reflect to
+['x > 0].
+
+For I[sub v][space] with v equal to 0, 1 or 0.5 are handled as special cases.
+
+The 0 and 1 cases use minimax rational approximations on
+finite and infinite intervals. The coefficients are from:
+
+* J.M. Blair and C.A. Edwards, ['Stable rational minimax approximations
+ to the modified Bessel functions I_0(x) and I_1(x)], Atomic Energy of Canada
+ Limited Report 4928, Chalk River, 1974.
+* S. Moshier, ['Methods and Programs for Mathematical Functions],
+ Ellis Horwood Ltd, Chichester, 1989.
+
+While the 0.5 case is a simple trigonometric function:
+
+I[sub 0.5](x) = sqrt(2 / [pi]x) * sinh(x)
+
+For K[sub v][space] with /v/ an integer, the result is calculated using the
+recurrence relation:
+
+[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
+accurate to around 19 digits, and are therefore only used when T has
+no more than 64 binary digits of precision.
+
+When /x/ is small compared to /v/, I[sub v]x[space] is best computed directly from the series:
+
+[equation mbessel17]
+
+In the general case, we first normalize [nu][space] to \[[^0, [inf]])
+with the help of the reflection formulae:
+
+[equation mbessel9]
+
+[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
+calculate K[sub [mu]](x) and K[sub [mu]+1](x), and use them to obtain
+I[sub [nu]](x) and K[sub [nu]](x).
+
+The algorithm is proposed by Temme in
+N.M. Temme, ['On the numerical evaluation of the modified bessel function
+ of the third kind], Journal of Computational Physics, vol 19, 324 (1975),
+which needs two continued fractions as well as the Wronskian:
+
+[equation mbessel11]
+
+[equation mbessel12]
+
+[equation mbessel8]
+
+The continued fractions are computed using the modified Lentz's method
+(W.J. Lentz, ['Generating Bessel functions in Mie scattering calculations
+ using continued fractions], Applied Optics, vol 15, 668 (1976)).
+Their convergence rates depend on ['x], therefore we need
+different strategies for large ['x] and small ['x].
+
+['x > v], CF1 needs O(['x]) iterations to converge, CF2 converges rapidly.
+
+['x <= v], CF1 converges rapidly, CF2 fails to converge when ['x] [^->] 0.
+
+When ['x] is large (['x] > 2), both continued fractions converge (CF1
+may be slow for really large ['x]). K[sub [mu]][space] and K[sub [mu]+1][space]
+can be calculated by
+
+[equation mbessel13]
+
+where
+
+[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
+ of real order and complex argument to selected accuracy], Computer Physics
+ Communications, vol 47, 245 (1987).
+
+When ['x] is small (['x] <= 2), CF2 convergence may fail (but CF1
+works very well). The solution here is Temme's series:
+
+[equation mbessel15]
+
+where
+
+[equation mbessel16]
+
+f[sub k][space] and h[sub k][space]
+are also computed by recursions (involving gamma functions), but the
+formulas are a little complicated, readers are referred to
+N.M. Temme, ['On the numerical evaluation of the modified Bessel function
+ of the third kind], Journal of Computational Physics, vol 19, 324 (1975).
+Note: Temme's series converge only for |[mu]| <= 1/2.
+
+K[sub [nu]](x) is then calculated from the forward
+recurrence, as is K[sub [nu]+1](x). With these two values and
+f[sub [nu]], the Wronskian yields I[sub [nu]](x) directly.
+
+[endsect]
+
+[/
+ Copyright 2006 John Maddock, Paul A. Bristow and Xiaogang Zhang.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/bessel_introduction.qbk b/libs/math/doc/sf/bessel_introduction.qbk
index 4cdfe629da..4cdfe629da 100644
--- a/libs/math/doc/sf_and_dist/bessel_introduction.qbk
+++ b/libs/math/doc/sf/bessel_introduction.qbk
diff --git a/libs/math/doc/sf/bessel_jy.qbk b/libs/math/doc/sf/bessel_jy.qbk
new file mode 100644
index 0000000000..3657ea5e09
--- /dev/null
+++ b/libs/math/doc/sf/bessel_jy.qbk
@@ -0,0 +1,583 @@
+
+[section:bessel_first Bessel Functions of the First and Second Kinds]
+
+[h4 Synopsis]
+
+`#include <boost/math/special_functions/bessel.hpp>`
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_bessel_j(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_bessel_j(T1 v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_neumann(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_neumann(T1 v, T2 x, const ``__Policy``&);
+
+
+[h4 Description]
+
+The functions __cyl_bessel_j and __cyl_neumann return the result of the
+Bessel functions of the first and second kinds respectively:
+
+cyl_bessel_j(v, x) = J[sub v](x)
+
+cyl_neumann(v, x) = Y[sub v](x) = N[sub v](x)
+
+where:
+
+[equation bessel2]
+
+[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
+relatively common case that T1 is an integer.
+
+[optional_policy]
+
+The functions return the result of __domain_error whenever the result is
+undefined or complex. For __cyl_bessel_j this occurs when `x < 0` and v is not
+an integer, or when `x == 0` and `v != 0`. For __cyl_neumann this occurs
+when `x <= 0`.
+
+The following graph illustrates the cyclic nature of J[sub v]:
+
+[graph cyl_bessel_j]
+
+The following graph shows the behaviour of Y[sub v]: this is also
+cyclic for large /x/, but tends to -[infin][space] for small /x/:
+
+[graph cyl_neumann]
+
+[h4 Testing]
+
+There are two sets of test values: spot values calculated using
+[@http://functions.wolfram.com functions.wolfram.com],
+and a much larger set of tests computed using
+a simplified version of this implementation
+(with all the special case handling removed).
+
+[h4 Accuracy]
+
+The following tables show how the accuracy of these functions
+varies on various platforms, along with comparisons to the __gsl and
+__cephes libraries. Note that the cyclic nature of these
+functions means that they have an infinite number of irrational
+roots: in general these functions have arbitrarily large /relative/
+errors when the arguments are sufficiently close to a root. Of
+course the absolute error in such cases is always small.
+Note that only results for the widest floating-point type on the
+system are given as narrower types have __zero_error. All values
+are relative errors in units of epsilon.
+
+[table Errors Rates in cyl_bessel_j
+[[Significand Size] [Platform and Compiler] [J[sub 0][space] and J[sub 1]] [J[sub v]] [J[sub v][space] (large values of x > 1000)] ]
+[[53] [Win32 / Visual C++ 8.0]
+ [Peak=2.5 Mean=1.1
+
+GSL Peak=6.6
+
+__cephes Peak=2.5 Mean=1.1]
+ [Peak=11 Mean=2.2
+
+GSL Peak=11
+
+__cephes Peak=17 Mean=2.5]
+ [Peak=59 Mean=10
+
+GSL Peak=6x10[super 11]
+
+__cephes Peak=2x10[super 5] ] ]
+[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=7 Mean=3] [Peak=117 Mean=10] [Peak=2x10[super 4][space] Mean=6x10[super 3]] ]
+[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=7 Mean=3] [Peak=400 Mean=40] [Peak=2x10[super 4][space] Mean=1x10[super 4]] ]
+[[113] [HP-UX / HP aCC 6] [Peak=14 Mean=6] [Peak=29 Mean=3] [Peak=2700 Mean=450] ]
+]
+
+[table Errors Rates in cyl_neumann
+[[Significand Size] [Platform and Compiler] [Y[sub 0][space] and Y[sub 1]] [Y[sub n] (integer orders)] [Y[sub v] (fractional orders)] ]
+[[53] [Win32 / Visual C++ 8.0]
+ [Peak=4.7 Mean=1.7
+
+GSL Peak=34 Mean=9
+
+__cephes Peak=330 Mean=54]
+ [Peak=117 Mean=10
+
+GSL Peak=500 Mean=54
+
+__cephes Peak=923 Mean=83]
+ [Peak=800 Mean=40
+
+GSL Peak=1.4x10[super 6][space] Mean\=7x10[super 4][space]
+
+__cephes Peak=+INF]]
+[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=470 Mean=56] [Peak=843 Mean=51] [Peak=741 Mean=51] ]
+[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=1300 Mean=424] [Peak=2x10[super 4][space] Mean=8x10[super 3]] [Peak=1x10[super 5][space] Mean=6x10[super 3]] ]
+[[113] [HP-UX / HP aCC 6] [Peak=180 Mean=63] [Peak=340 Mean=150] [Peak=2x10[super 4][space] Mean=1200] ]
+]
+
+Note that for large /x/ these functions are largely dependent on
+the accuracy of the `std::sin` and `std::cos` functions.
+
+Comparison to GSL and __cephes is interesting: both __cephes and this library optimise
+the integer order case - leading to identical results - simply using the general
+case is for the most part slightly more accurate though, as noted by the
+better accuracy of GSL in the integer argument cases. This implementation tends to
+perform much better when the arguments become large, __cephes in particular produces
+some remarkably inaccurate results with some of the test data (no significant figures
+correct), and even GSL performs badly with some inputs to J[sub v]. Note that
+by way of double-checking these results, the worst performing __cephes and GSL cases
+were recomputed using [@http://functions.wolfram.com functions.wolfram.com],
+and the result checked against our test data: no errors in the test data were found.
+
+[h4 Implementation]
+
+The implementation is mostly about filtering off various special cases:
+
+When /x/ is negative, then the order /v/ must be an integer or the
+result is a domain error. If the order is an integer then the function
+is odd for odd orders and even for even orders, so we reflect to /x > 0/.
+
+When the order /v/ is negative then the reflection formulae can be used to
+move to /v > 0/:
+
+[equation bessel9]
+
+[equation bessel10]
+
+Note that if the order is an integer, then these formulae reduce to:
+
+J[sub -n] = (-1)[super n]J[sub n]
+
+Y[sub -n] = (-1)[super n]Y[sub n]
+
+However, in general, a negative order implies that we will need to compute
+both J and Y.
+
+When /x/ is large compared to the order /v/ then the asymptotic expansions
+for large /x/ in M. Abramowitz and I.A. Stegun,
+['Handbook of Mathematical Functions] 9.2.19 are used
+(these were found to be more reliable
+than those in A&S 9.2.5).
+
+When the order /v/ is an integer the method first relates the result
+to J[sub 0], J[sub 1], Y[sub 0][space] and Y[sub 1][space] using either
+forwards or backwards recurrence (Miller's algorithm) depending upon which is stable.
+The values for J[sub 0], J[sub 1], Y[sub 0][space] and Y[sub 1][space] are
+calculated using the rational minimax approximations on
+root-bracketing intervals for small ['|x|] and Hankel asymptotic
+expansion for large ['|x|]. The coefficients are from:
+
+W.J. Cody, ['ALGORITHM 715: SPECFUN - A Portable FORTRAN Package of
+Special Function Routines and Test Drivers], ACM Transactions on Mathematical
+Software, vol 19, 22 (1993).
+
+and
+
+J.F. Hart et al, ['Computer Approximations], John Wiley & Sons, New York, 1968.
+
+These approximations are accurate to around 19 decimal digits: therefore
+these methods are not used when type T has more than 64 binary digits.
+
+When /x/ is smaller than machine epsilon then the following approximations for
+Y[sub 0](x), Y[sub 1](x), Y[sub 2](x) and Y[sub n](x) can be used
+(see: [@http://functions.wolfram.com/03.03.06.0037.01 http://functions.wolfram.com/03.03.06.0037.01],
+[@http://functions.wolfram.com/03.03.06.0038.01 http://functions.wolfram.com/03.03.06.0038.01],
+[@http://functions.wolfram.com/03.03.06.0039.01 http://functions.wolfram.com/03.03.06.0039.01]
+and [@http://functions.wolfram.com/03.03.06.0040.01 http://functions.wolfram.com/03.03.06.0040.01]):
+
+[equation bessel_y0_small_z]
+
+[equation bessel_y1_small_z]
+
+[equation bessel_y2_small_z]
+
+[equation bessel_yn_small_z]
+
+When /x/ is small compared to /v/ and /v/ is not an integer, then the following
+series approximation can be used for Y[sub v](x), this is also an area where other
+approximations are often too slow to converge to be used
+(see [@http://functions.wolfram.com/03.03.06.0034.01 http://functions.wolfram.com/03.03.06.0034.01]):
+
+[equation bessel_yv_small_z]
+
+When /x/ is small compared to /v/, J[sub v]x[space] is best computed directly from the series:
+
+[equation bessel2]
+
+In the general case we compute J[sub v][space] and
+Y[sub v][space] simultaneously.
+
+To get the initial values, 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
+calculate J[sub [mu]](x), J[sub [mu]+1](x), Y[sub [mu]](x), Y[sub [mu]+1](x)
+and use them to obtain J[sub [nu]](x), Y[sub [nu]](x).
+
+The algorithm is called Steed's method, which needs two
+continued fractions as well as the Wronskian:
+
+[equation bessel8]
+
+[equation bessel11]
+
+[equation bessel12]
+
+See: F.S. Acton, ['Numerical Methods that Work],
+ The Mathematical Association of America, Washington, 1997.
+
+The continued fractions are computed using the modified Lentz's method
+(W.J. Lentz, ['Generating Bessel functions in Mie scattering calculations
+using continued fractions], Applied Optics, vol 15, 668 (1976)).
+Their convergence rates depend on ['x], therefore we need
+different strategies for large ['x] and small ['x].
+
+['x > v], CF1 needs O(['x]) iterations to converge, CF2 converges rapidly
+
+['x <= v], CF1 converges rapidly, CF2 fails to converge when ['x] [^->] 0
+
+When ['x] is large (['x] > 2), both continued fractions converge (CF1
+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
+
+[equation bessel13]
+
+where
+
+[equation bessel14]
+
+J[sub [nu]] and Y[sub [mu]] are then calculated using backward
+(Miller's algorithm) and forward recurrence respectively.
+
+When ['x] is small (['x] <= 2), CF2 convergence may fail (but CF1
+works very well). The solution here is Temme's series:
+
+[equation bessel15]
+
+where
+
+[equation bessel16]
+
+g[sub k][space] and h[sub k][space]
+are also computed by recursions (involving gamma functions), but the
+formulas are a little complicated, readers are refered to
+N.M. Temme, ['On the numerical evaluation of the ordinary Bessel function
+of the second kind], Journal of Computational Physics, vol 21, 343 (1976).
+Note Temme's series converge only for |[mu]| <= 1/2.
+
+As the previous case, Y[sub [nu]][space] is calculated from the forward
+recurrence, so is Y[sub [nu]+1]. With these two
+values and f[sub [nu]], the Wronskian yields J[sub [nu]](x) directly
+without backward recurrence.
+
+[endsect]
+
+[section:bessel_root Finding Zeros of Bessel Functions of the First and Second Kinds]
+
+[h4 Synopsis]
+
+`#include <boost/math/special_functions/bessel.hpp>`
+
+Functions for obtaining both a single zero or root of the Bessel function,
+and placing multiple zeros into a container like `std::vector`
+by providing an output iterator.
+
+The signature of the single value functions are:
+
+ template <class T>
+ T cyl_bessel_j_zero(
+ T v, // Floating-point value for Jv.
+ int m); // 1-based index of zero.
+
+ template <class T>
+ T cyl_neumann_zero(
+ T v, // Floating-point value for Jv.
+ int m); // 1-based index of zero.
+
+and for multiple zeros:
+
+ template <class T, class OutputIterator>
+ OutputIterator cyl_bessel_j_zero(
+ T v, // Floating-point value for Jv.
+ int start_index, // 1-based index of first zero.
+ unsigned number_of_zeros, // How many zeros to generate.
+ OutputIterator out_it); // Destination for zeros.
+
+ template <class T, class OutputIterator>
+ OutputIterator cyl_neumann_zero(
+ T v, // Floating-point value for Jv.
+ int start_index, // 1-based index of zero.
+ unsigned number_of_zeros, // How many zeros to generate
+ OutputIterator out_it); // Destination for zeros.
+
+There are also versions which allow control of the __policy_section for error handling and precision.
+
+ template <class T>
+ T cyl_bessel_j_zero(
+ T v, // Floating-point value for Jv.
+ int m, // 1-based index of zero.
+ const Policy&); // Policy to use.
+
+ template <class T>
+ T cyl_neumann_zero(
+ T v, // Floating-point value for Jv.
+ int m, // 1-based index of zero.
+ const Policy&); // Policy to use.
+
+
+ template <class T, class OutputIterator>
+ OutputIterator cyl_bessel_j_zero(
+ T v, // Floating-point value for Jv.
+ int start_index, // 1-based index of first zero.
+ unsigned number_of_zeros, // How many zeros to generate.
+ OutputIterator out_it, // Destination for zeros.
+ const Policy& pol); // Policy to use.
+
+ template <class T, class OutputIterator>
+ OutputIterator cyl_neumann_zero(
+ T v, // Floating-point value for Jv.
+ int start_index, // 1-based index of zero.
+ unsigned number_of_zeros, // How many zeros to generate.
+ OutputIterator out_it, // Destination for zeros.
+ const Policy& pol); // Policy to use.
+
+[h4 Description]
+
+Every real order [nu] cylindrical Bessel and Neumann functions have an infinite
+number of zeros on the positive real axis. The real zeros on the positive real
+axis can be found by solving for the roots of
+
+[emquad] ['J[sub [nu]](j[sub [nu], m]) = 0]
+
+[emquad] ['Y[sub [nu]](y[sub [nu], m]) = 0]
+
+Here, ['j[sub [nu], m]] represents the ['m[super th]]
+root of the cylindrical Bessel function of order ['[nu]],
+and ['y[sub [nu], m]] represents the ['m[super th]]
+root of the cylindrical Neumann function of order ['[nu]].
+
+The zeros or roots (values of `x` where the function crosses the horizontal `y = 0` axis)
+of the Bessel and Neumann functions are computed by two functions,
+`cyl_bessel_j_zero` and `cyl_neumann_zero`.
+
+In each case the index or rank of the zero
+returned is 1-based, which is to say:
+
+ cyl_bessel_j_zero(v, 1);
+
+returns the first zero of Bessel J.
+
+Passing an `start_index <= 0` results in a `std::domain_error` being raised.
+
+For certain parameters, however, the zero'th root is defined and
+it has a value of zero. For example, the zero'th root
+of `J[sub v](x)` is defined and it has a value of zero for all
+values of `v > 0` and for negative integer values of `v = -n`.
+Similar cases are described in the implementation details below.
+
+The order `v` of `J` can be positive, negative and zero for the `cyl_bessel_j`
+and `cyl_neumann` functions, but not infinite nor NaN.
+
+[graph bessel_j_zeros]
+
+[graph neumann_y_zeros]
+
+[h4 Examples of finding Bessel and Neumann zeros]
+
+[import ../../example/bessel_zeros_example_1.cpp]
+
+[bessel_zeros_example_1]
+[bessel_zeros_example_2]
+
+[import ../../example/bessel_zeros_interator_example.cpp]
+
+[bessel_zeros_iterator_example_1]
+[bessel_zeros_iterator_example_2]
+
+[import ../../example/neumann_zeros_example_1.cpp]
+
+[neumann_zeros_example_1]
+[neumann_zeros_example_2]
+
+[import ../../example/bessel_errors_example.cpp]
+
+[bessel_errors_example_1]
+[bessel_errors_example_2]
+
+The full code (and output) for these examples is at
+[@../../example/bessel_zeros_example_1.cpp Bessel zeros],
+[@../../example/bessel_zeros_interator_example.cpp Bessel zeros iterator],
+[@../../example/neumann_zeros_example_1.cpp Neumann zeros],
+[@../../example/bessel_errors_example.cpp Bessel error messages].
+
+[h3 Implementation]
+
+Various methods are used to compute initial estimates
+for ['j[sub [nu], m]] and ['y[sub [nu], m]] ; these are described in detail below.
+
+After finding the initial estimate of a given root,
+its precision is subsequently refined to the desired level
+using Newton-Raphson iteration from Boost.Math's __root_finding_with_derivatives
+utilities combined with the functions __cyl_bessel_j and __cyl_neumann.
+
+Newton iteration requires both ['J[sub [nu]](x)] or ['Y[sub [nu]](x)]
+as well as its derivative. The derivatives of ['J[sub [nu]](x)] and ['Y[sub [nu]](x)]
+with respect to ['x] are given by __Abramowitz_Stegun.
+In particular,
+
+[emquad] ['d/[sub dx] ['J[sub [nu]](x)] = ['J[sub [nu]-1](x)] - [nu] J[sub [nu]](x)] / x
+
+[emquad] ['d/[sub dx] ['Y[sub [nu]](x)] = ['Y[sub [nu]-1](x)] - [nu] Y[sub [nu]](x)] / x
+
+Enumeration of the rank of a root (in other words the index of a root)
+begins with one and counts up, in other words
+['m,=1,2,3,[ellipsis]] The value of the first root is always greater than zero.
+
+For certain special parameters, cylindrical Bessel functions
+and cylindrical Neumann functions have a root at the origin. For example,
+['J[sub [nu]](x)] has a root at the origin for every positive order
+['[nu] > 0], and for every negative integer order
+['[nu] = -n] with ['n [isin] [negative] [super +]] and ['n [ne] 0].
+
+In addition, ['Y[sub [nu]](x)] has a root at the origin
+for every negative half-integer order ['[nu] = -n/2], with ['n [isin] [negative] [super +]] and
+and ['n [ne] 0].
+
+For these special parameter values, the origin with
+a value of ['x = 0] is provided as the ['0[super th]]
+root generated by `cyl_bessel_j_zero()`
+and `cyl_neumann_zero()`.
+
+When calculating initial estimates for the roots
+of Bessel functions, a distinction is made between
+positive order and negative order, and different
+methods are used for these. In addition, different algorithms
+are used for the first root ['m = 1] and
+for subsequent roots with higher rank ['m [ge] 2].
+Furthermore, estimates of the roots for Bessel functions
+with order above and below a cutoff at ['[nu] = 2.2]
+are calculated with different methods.
+
+Calculations of the estimates of ['j[sub [nu],1]] and ['y[sub [nu],1]]
+with ['0 [le] [nu] < 2.2] use empirically tabulated values.
+The coefficients for these have been generated by a
+computer algebra system.
+
+Calculations of the estimates of ['j[sub [nu],1]] and ['y[sub [nu],1]]
+with ['[nu][ge] 2.2] use Eqs.9.5.14 and 9.5.15 in __Abramowitz_Stegun.
+
+In particular,
+
+[emquad] ['j[sub [nu],1] [cong] [nu] + 1.85575 [nu][super [frac13]] + 1.033150 [nu][super -[frac13]] - 0.00397 [nu][super -1] - 0.0908 [nu][super -5/3] + 0.043 [nu][super -7/3] + [ellipsis]]
+
+and
+
+[emquad] ['y[sub [nu],1] [cong] [nu] + 0.93157 [nu][super [frac13]] + 0.26035 [nu][super -[frac13]] + 0.01198 [nu][super -1] - 0.0060 [nu][super -5/3] - 0.001 [nu][super -7/3] + [ellipsis]]
+
+Calculations of the estimates of ['j[sub [nu], m]] and ['y[sub [nu], m]]
+with rank ['m > 2] and ['0 [le] [nu] < 2.2] use
+McMahon's approximation, as described in M. Abramowitz and I. A. Stegan, Section 9.5 and 9.5.12.
+In particular,
+
+[emquad] ['j[sub [nu],m], y[sub [nu],m] [cong] [beta] - ([mu]-1) / 8[beta]]
+
+[emquad] [emquad] [emquad] ['- 4([mu]-1)(7[mu] - 31) / 3(8[beta])[super 3]]
+
+[emquad] [emquad] [emquad] ['-32([mu]-1)(83[mu][sup2] - 982[mu] + 3779) / 15(8[beta])[super 5]]
+
+[emquad] [emquad] [emquad] ['-64([mu]-1)(6949[mu][super 3] - 153855[mu][sup2] + 1585743[mu]- 6277237) / 105(8a)[super 7]]
+
+[emquad] [emquad] [emquad] ['- [ellipsis]] [emquad] [emquad] (5)
+
+where ['[mu] = 4[nu][super 2]] and ['[beta] = (m + [frac12][nu] - [frac14])[pi]]
+for ['j[sub [nu],m]] and
+['[beta] = (m + [frac12][nu] -[frac34])[pi] for ['y[sub [nu],m]]].
+
+Calculations of the estimates of ['j[sub [nu], m]] and ['y[sub [nu], m]]
+with ['[nu] [ge] 2.2] use
+one term in the asymptotic expansion given in
+Eq.9.5.22 and top line of Eq.9.5.26 combined with Eq. 9.3.39,
+all in __Abramowitz_Stegun explicit and easy-to-understand treatment
+for asymptotic expansion of zeros.
+The latter two equations are expressed for argument ['(x)] greater than one.
+(Olver also gives the series form of the equations in
+[@http://dlmf.nist.gov/10.21#vi [sect]10.21(vi) McMahon's Asymptotic Expansions for Large Zeros] - using slightly different variable names).
+
+In summary,
+
+[emquad] ['j[sub [nu], m] [sim] [nu]x(-[zeta]) + f[sub 1](-[zeta]/[nu])]
+
+where ['-[zeta] = [nu][super -2/3]a[sub m]] and ['a[sub m]] is
+the absolute value of the ['m[super th]] root of ['Ai(x)] on the negative real axis.
+
+Here ['x = x(-[zeta])] is the inverse of the function
+
+[emquad] ['[frac23](-[zeta])[super 3/2] = [radic](x[sup2] - 1) - cos[supminus][sup1](1/x)] [emquad] [emquad] (7)
+
+Furthermore,
+
+[emquad] ['f[sub 1](-[zeta]) = [frac12]x(-[zeta]) {h(-[zeta])}[sup2] [sdot] b[sub 0](-[zeta])]
+
+where
+
+[emquad] ['h(-[zeta]) = {4(-[zeta]) / (x[sup2] - 1)}[super 4]]
+
+and
+
+[emquad] ['b[sub 0](-[zeta]) = -5/(48[zeta][sup2]) + 1/(-[zeta])[super [frac12]] [sdot] { 5/(24(x[super 2]-1)[super 3/2]) + 1/(8(x[super 2]-1)[super [frac12])]}]
+
+When solving for ['x(-[zeta])] in Eq. 7 above,
+the right-hand-side is expanded to order 2 in
+a Taylor series for large ['x]. This results in
+
+[emquad] ['[frac23](-[zeta])[super 3/2] [approx] x + 1/2x - [pi]/2]
+
+The positive root of the resulting quadratic equation
+is used to find an initial estimate ['x(-[zeta])].
+This initial estimate is subsequently refined with
+several steps of Newton-Raphson iteration
+in Eq. 7.
+
+Estimates of the roots of cylindrical Bessel functions
+of negative order on the positive real axis are found
+using interlacing relations. For example, the ['m[super th]]
+root of the cylindrical Bessel function ['j[sub -[nu],m]]
+is bracketed by the ['m[super th]] root and the
+['(m+1)[super th]] root of the Bessel function of
+corresponding positive integer order. In other words,
+
+[emquad] ['j[sub n[nu],m]] < ['j[sub -[nu],m]] < ['j[sub n[nu],m+1]]
+
+where ['m > 1] and ['n[sub [nu]]] represents the integral
+floor of the absolute value of ['|-[nu]|].
+
+Similar bracketing relations are used to find estimates
+of the roots of Neumann functions of negative order,
+whereby a discontinuity at every negative half-integer
+order needs to be handled.
+
+Bracketing relations do not hold for the first root
+of cylindrical Bessel functions and cylindrical Neumann
+functions with negative order. Therefore, iterative algorithms
+combined with root-finding via bisection are used
+to localize ['j[sub -[nu],1]] and ['y[sub -[nu],1]].
+
+[h3 Testing]
+
+The precision of evaluation of zeros was tested at 50 decimal digits using `cpp_dec_float_50`
+and found identical with spot values computed by __WolframAlpha.
+
+[endsect] [/section:bessel Finding Zeros of Bessel Functions of the First and Second Kinds]
+
+[/
+ Copyright 2006, 2013 John Maddock, Paul A. Bristow, Xiaogang Zhang and Christopher Kormanyos.
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf/bessel_prime.qbk b/libs/math/doc/sf/bessel_prime.qbk
new file mode 100644
index 0000000000..f67c0b267e
--- /dev/null
+++ b/libs/math/doc/sf/bessel_prime.qbk
@@ -0,0 +1,93 @@
+
+[section:bessel_derivatives Derivatives of the Bessel Functions]
+
+[h4 Synopsis]
+
+`#include <boost/math/special_functions/bessel_prime.hpp>`
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_bessel_j_prime(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_bessel_j_prime(T1 v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_neumann_prime(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_neumann_prime(T1 v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_bessel_i_prime(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_bessel_i_prime(T1 v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` cyl_bessel_k_prime(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` cyl_bessel_k_prime(T1 v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` sph_bessel_prime(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` sph_bessel_prime(T1 v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` sph_neumann_prime(T1 v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` sph_neumann_prime(T1 v, T2 x, const ``__Policy``&);
+
+
+[h4 Description]
+
+These functions return the first derivative with respect to /x/ of the corresponding Bessel function.
+
+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
+relatively common case that T1 is an integer.
+
+[optional_policy]
+
+The functions return the result of __domain_error whenever the result is
+undefined or complex.
+
+[h4 Testing]
+
+There are two sets of test values: spot values calculated using
+[@http://www.wolframalpha.com/ wolframalpha.com],
+and a much larger set of tests computed using
+a relation to the underlying Bessel functions that the implementation
+does not use.
+
+[h4 Accuracy]
+
+The accuracy of these functions is broadly similar to the underlying Bessel functions. Refer to those functions
+for more information.
+
+[h4 Implementation]
+
+In the general case, the derivatives are calculated using the relations:
+
+[equation bessel_derivatives1]
+
+There are also a number of special cases, for large x we have:
+
+[equation bessel_derivatives4]
+
+And for small x:
+
+[equation bessel_derivatives5]
+
+[endsect]
+
+[/
+ Copyright 2013, 2013 John Maddock, Anton Bikineev.
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf/bessel_spherical.qbk b/libs/math/doc/sf/bessel_spherical.qbk
new file mode 100644
index 0000000000..fe3f1a92f0
--- /dev/null
+++ b/libs/math/doc/sf/bessel_spherical.qbk
@@ -0,0 +1,89 @@
+
+[section:sph_bessel Spherical Bessel Functions of the First and Second Kinds]
+
+[h4 Synopsis]
+
+`#include <boost/math/special_functions/bessel.hpp>`
+
+ template <class T1, class T2>
+ ``__sf_result`` sph_bessel(unsigned v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` sph_bessel(unsigned v, T2 x, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` sph_neumann(unsigned v, T2 x);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` sph_neumann(unsigned v, T2 x, const ``__Policy``&);
+
+[h4 Description]
+
+The functions __sph_bessel and __sph_neumann return the result of the
+Spherical Bessel functions of the first and second kinds respectively:
+
+sph_bessel(v, x) = j[sub v](x)
+
+sph_neumann(v, x) = y[sub v](x) = n[sub v](x)
+
+where:
+
+[equation sbessel2]
+
+The return type of these functions is computed using the __arg_pomotion_rules
+for the single argument type T.
+
+[optional_policy]
+
+The functions return the result of __domain_error whenever the result is
+undefined or complex: this occurs when `x < 0`.
+
+The j[sub v][space] function is cyclic like J[sub v][space] but differs
+in its behaviour at the origin:
+
+[graph sph_bessel]
+
+Likewise y[sub v][space] is also cyclic for large x, but tends to -[infin][space]
+for small /x/:
+
+[graph sph_neumann]
+
+[h4 Testing]
+
+There are two sets of test values: spot values calculated using
+[@http://functions.wolfram.com/ functions.wolfram.com],
+and a much larger set of tests computed using
+a simplified version of this implementation
+(with all the special case handling removed).
+
+[h4 Accuracy]
+
+Other than for some special cases, these functions are computed in terms of
+__cyl_bessel_j and __cyl_neumann: refer to these functions for accuracy data.
+
+[h4 Implementation]
+
+Other than error handling and a couple of special cases these functions
+are implemented directly in terms of their definitions:
+
+[equation sbessel2]
+
+The special cases occur for:
+
+j[sub 0][space]= __sinc_pi(x) = sin(x) / x
+
+and for small ['x < 1], we can use the series:
+
+[equation sbessel5]
+
+which neatly avoids the problem of calculating 0/0 that can occur with the
+main definition as x [rarr] 0.
+
+[endsect]
+
+[/
+ Copyright 2006 John Maddock, Paul A. Bristow and Xiaogang Zhang.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/beta.qbk b/libs/math/doc/sf/beta.qbk
index c9b0589bc0..c9b0589bc0 100644
--- a/libs/math/doc/sf_and_dist/beta.qbk
+++ b/libs/math/doc/sf/beta.qbk
diff --git a/libs/math/doc/sf_and_dist/beta_derivative.qbk b/libs/math/doc/sf/beta_derivative.qbk
index 6481df2681..6481df2681 100644
--- a/libs/math/doc/sf_and_dist/beta_derivative.qbk
+++ b/libs/math/doc/sf/beta_derivative.qbk
diff --git a/libs/math/doc/sf_and_dist/digamma.qbk b/libs/math/doc/sf/digamma.qbk
index cf3b9c232c..cf3b9c232c 100644
--- a/libs/math/doc/sf_and_dist/digamma.qbk
+++ b/libs/math/doc/sf/digamma.qbk
diff --git a/libs/math/doc/sf_and_dist/ellint_carlson.qbk b/libs/math/doc/sf/ellint_carlson.qbk
index 512c4d4160..512c4d4160 100644
--- a/libs/math/doc/sf_and_dist/ellint_carlson.qbk
+++ b/libs/math/doc/sf/ellint_carlson.qbk
diff --git a/libs/math/doc/sf/ellint_introduction.qbk b/libs/math/doc/sf/ellint_introduction.qbk
new file mode 100644
index 0000000000..12a375a5fd
--- /dev/null
+++ b/libs/math/doc/sf/ellint_introduction.qbk
@@ -0,0 +1,224 @@
+[/
+Copyright (c) 2006 Xiaogang Zhang
+Use, modification and distribution are subject to the
+Boost Software License, Version 1.0. (See accompanying file
+LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[section:ellint_intro Elliptic Integral Overview]
+
+The main reference for the elliptic integrals is:
+
+[:M. Abramowitz and I. A. Stegun (Eds.) (1964)
+Handbook of Mathematical Functions with Formulas, Graphs, and
+Mathematical Tables,
+National Bureau of Standards Applied Mathematics Series, U.S. Government Printing Office, Washington, D.C.]
+
+Mathworld also contain a lot of useful background information:
+
+[:[@http://mathworld.wolfram.com/EllipticIntegral.html Weisstein, Eric W.
+"Elliptic Integral." From MathWorld--A Wolfram Web Resource.]]
+
+As does [@http://en.wikipedia.org/wiki/Elliptic_integral Wikipedia Elliptic integral].
+
+[h4 Notation]
+
+All variables are real numbers unless otherwise noted.
+
+[h4 Definition]
+
+[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
+in ['t].
+
+Elliptic integrals generally can not be expressed in terms of
+elementary functions. However, Legendre showed that all elliptic
+integrals can be reduced to the following three canonical forms:
+
+Elliptic Integral of the First Kind (Legendre form)
+
+[equation ellint2]
+
+Elliptic Integral of the Second Kind (Legendre form)
+
+[equation ellint3]
+
+Elliptic Integral of the Third Kind (Legendre form)
+
+[equation ellint4]
+
+where
+
+[equation ellint5]
+
+[note ['[phi]] is called the amplitude.
+
+['k] is called the modulus.
+
+['[alpha]] is called the modular angle.
+
+['n] is called the characteristic.]
+
+[caution Perhaps more than any other special functions the elliptic
+integrals are expressed in a variety of different ways. In particular,
+the final parameter /k/ (the modulus) may be expressed using a modular
+angle [alpha], or a parameter /m/. These are related by:
+
+k = sin[alpha]
+
+m = k[super 2] = sin[super 2][alpha]
+
+So that the integral of the third kind (for example) may be expressed as
+either:
+
+[Pi](n, [phi], k)
+
+[Pi](n, [phi] \\ [alpha])
+
+[Pi](n, [phi]| m)
+
+To further complicate matters, some texts refer to the ['complement
+of the parameter m], or 1 - m, where:
+
+1 - m = 1 - k[super 2] = cos[super 2][alpha]
+
+This implementation uses /k/ throughout: this matches the requirements
+of the [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
+Technical Report on C++ Library Extensions]. However, you should
+be extra careful when using these functions!]
+
+When ['[phi]] = ['[pi]] / 2, the elliptic integrals are called ['complete].
+
+Complete Elliptic Integral of the First Kind (Legendre form)
+
+[equation ellint6]
+
+Complete Elliptic Integral of the Second Kind (Legendre form)
+
+[equation ellint7]
+
+Complete Elliptic Integral of the Third Kind (Legendre form)
+
+[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
+
+[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
+
+[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
+
+[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
+
+[equation ellint12]
+
+where ['x] is nonnegative and ['y] is nonzero.
+
+[note ['R[sub C](x, y) = R[sub F](x, y, y)]
+
+['R[sub D](x, y, z) = R[sub J](x, y, z, z)]]
+
+
+[h4 Duplication Theorem]
+
+Carlson proved in [[link ellint_ref_carlson78 Carlson78]] that
+
+[equation ellint13]
+
+[h4 Carlson's Formulas]
+
+The Legendre form and Carlson form of elliptic integrals are related
+by equations:
+
+[equation ellint14]
+
+In particular,
+
+[equation ellint15]
+
+[h4 Numerical Algorithms]
+
+The conventional methods for computing elliptic integrals are Gauss
+and Landen transformations, which converge quadratically and work
+well for elliptic integrals of the first and second kinds.
+Unfortunately they suffer from loss of significant digits for the
+third kind. Carlson's algorithm [[link ellint_ref_carlson79 Carlson79]] [[link ellint_ref_carlson78 Carlson78]], by contrast,
+provides a unified method for all three kinds of elliptic integrals
+with satisfactory precisions.
+
+[h4 References]
+
+Special mention goes to:
+
+[:A. M. Legendre, ['Traitd des Fonctions Elliptiques et des Integrales
+Euleriennes], Vol. 1. Paris (1825).]
+
+However the main references are:
+
+# [#ellint_ref_AS]M. Abramowitz and I. A. Stegun (Eds.) (1964)
+Handbook of Mathematical Functions with Formulas, Graphs, and
+Mathematical Tables,
+National Bureau of Standards Applied Mathematics Series, U.S. Government Printing Office, Washington, D.C.
+# [#ellint_ref_carlson79]B.C. Carlson, ['Computing elliptic integrals by duplication],
+ Numerische Mathematik, vol 33, 1 (1979).
+# [#ellint_ref_carlson77]B.C. Carlson, ['Elliptic Integrals of the First Kind],
+ SIAM Journal on Mathematical Analysis, vol 8, 231 (1977).
+# [#ellint_ref_carlson78]B.C. Carlson, ['Short Proofs of Three Theorems on Elliptic Integrals],
+ SIAM Journal on Mathematical Analysis, vol 9, 524 (1978).
+# [#ellint_ref_carlson81]B.C. Carlson and E.M. Notis, ['ALGORITHM 577: Algorithms for Incomplete
+ Elliptic Integrals], ACM Transactions on Mathematmal Software,
+ vol 7, 398 (1981).
+# B. C. Carlson, ['On computing elliptic integrals and functions]. J. Math. and
+Phys., 44 (1965), pp. 36-51.
+# B. C. Carlson, ['A table of elliptic integrals of the second kind]. Math. Comp., 49
+(1987), pp. 595-606. (Supplement, ibid., pp. S13-S17.)
+# B. C. Carlson, ['A table of elliptic integrals of the third kind]. Math. Comp., 51 (1988),
+pp. 267-280. (Supplement, ibid., pp. S1-S5.)
+# B. C. Carlson, ['A table of elliptic integrals: cubic cases]. Math. Comp., 53 (1989), pp.
+327-333.
+# B. C. Carlson, ['A table of elliptic integrals: one quadratic factor]. Math. Comp., 56 (1991),
+pp. 267-280.
+# B. C. Carlson, ['A table of elliptic integrals: two quadratic factors]. Math. Comp., 59
+(1992), pp. 165-180.
+# B. C. Carlson, ['[@http://arxiv.org/abs/math.CA/9409227
+Numerical computation of real or complex elliptic integrals]]. Numerical Algorithms,
+Volume 10, Number 1 / March, 1995, p13-26.
+# B. C. Carlson and John L. Gustafson, ['[@http://arxiv.org/abs/math.CA/9310223
+Asymptotic Approximations for Symmetric Elliptic Integrals]],
+SIAM Journal on Mathematical Analysis, Volume 25, Issue 2 (March 1994), 288-303.
+
+
+The following references, while not directly relevent to our implementation,
+may also be of interest:
+
+# R. Burlisch, ['Numerical Compuation of Elliptic Integrals and Elliptic Functions.]
+Numerical Mathematik 7, 78-90.
+# R. Burlisch, ['An extension of the Bartky Transformation to Incomplete
+Elliptic Integrals of the Third Kind]. Numerical Mathematik 13, 266-284.
+# R. Burlisch, ['Numerical Compuation of Elliptic Integrals and Elliptic Functions. III].
+Numerical Mathematik 13, 305-315.
+# T. Fukushima and H. Ishizaki, ['[@http://adsabs.harvard.edu/abs/1994CeMDA..59..237F
+Numerical Computation of Incomplete Elliptic Integrals of a General Form.]]
+Celestial Mechanics and Dynamical Astronomy, Volume 59, Number 3 / July, 1994,
+237-251.
+
+[endsect]
diff --git a/libs/math/doc/sf_and_dist/ellint_legendre.qbk b/libs/math/doc/sf/ellint_legendre.qbk
index 0808058dfd..0808058dfd 100644
--- a/libs/math/doc/sf_and_dist/ellint_legendre.qbk
+++ b/libs/math/doc/sf/ellint_legendre.qbk
diff --git a/libs/math/doc/sf/erf.qbk b/libs/math/doc/sf/erf.qbk
new file mode 100644
index 0000000000..1b276a98a3
--- /dev/null
+++ b/libs/math/doc/sf/erf.qbk
@@ -0,0 +1,214 @@
+[section:error_function Error Functions]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/erf.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` erf(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erf(T z, const ``__Policy``&);
+
+ template <class T>
+ ``__sf_result`` erfc(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erfc(T z, const ``__Policy``&);
+
+ }} // namespaces
+
+The return type of these functions is computed using the __arg_pomotion_rules:
+the return type is `double` if T is an integer type, and T otherwise.
+
+[optional_policy]
+
+[h4 Description]
+
+ template <class T>
+ ``__sf_result`` erf(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erf(T z, const ``__Policy``&);
+
+Returns the [@http://en.wikipedia.org/wiki/Error_function error function]
+[@http://functions.wolfram.com/GammaBetaErf/Erf/ erf] of z:
+
+[equation erf1]
+
+[graph erf]
+
+ template <class T>
+ ``__sf_result`` erfc(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erfc(T z, const ``__Policy``&);
+
+Returns the complement of the [@http://functions.wolfram.com/GammaBetaErf/Erfc/ error function] of z:
+
+[equation erf2]
+
+[graph erfc]
+
+[h4 Accuracy]
+
+The following table shows the peak errors (in units of epsilon)
+found on various platforms with various floating point types,
+along with comparisons to the __gsl, __glibc, __hpc and __cephes libraries.
+Unless otherwise specified any floating point type that is narrower
+than the one shown will have __zero_error.
+
+[table Errors In the Function erf(z)
+[[Significand Size] [Platform and Compiler] [z < 0.5] [0.5 < z < 8] [z > 8]]
+[[53] [Win32, Visual C++ 8] [Peak=0 Mean=0
+
+GSL Peak=2.0 Mean=0.3
+
+__cephes Peak=1.1 Mean=0.7] [Peak=0.9 Mean=0.09
+
+GSL Peak=2.3 Mean=0.3
+
+__cephes Peak=1.3 Mean=0.2] [Peak=0 Mean=0
+
+GSL Peak=0 Mean=0
+
+__cephes Peak=0 Mean=0]]
+[[64] [RedHat Linux IA32, gcc-3.3] [Peak=0.7 Mean=0.07
+
+__glibc Peak=0.9 Mean=0.2] [Peak=0.9 Mean=0.2
+
+__glibc Peak=0.9 Mean=0.07] [Peak=0 Mean=0
+
+__glibc Peak=0 Mean=0]]
+[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=0.7 Mean=0.07
+
+__glibc Peak=0 Mean=0] [Peak=0.9 Mean=0.1
+
+__glibc Peak=0.5 Mean=0.03] [Peak=0 Mean=0
+
+__glibc Peak=0 Mean=0]]
+[[113] [HPUX IA64, aCC A.06.06] [Peak=0.8 Mean=0.1
+
+__hpc Lib Peak=0.9 Mean=0.2] [Peak=0.9 Mean=0.1
+
+__hpc Lib Peak=0.5 Mean=0.02] [Peak=0 Mean=0
+
+__hpc Lib Peak=0 Mean=0]]
+]
+
+[table Errors In the Function erfc(z)
+[[Significand Size] [Platform and Compiler] [z < 0.5] [0.5 < z < 8] [z > 8]]
+[[53] [Win32, Visual C++ 8] [Peak=0.7 Mean=0.06
+
+GSL Peak=1.0 Mean=0.4
+
+__cephes Peak=0.7 Mean=0.06] [Peak=0.99 Mean=0.3
+
+GSL Peak=2.6 Mean=0.6
+
+__cephes Peak=3.6 Mean=0.7] [Peak=1.0 Mean=0.2
+
+GSL Peak=3.9 Mean=0.4
+
+__cephes Peak=2.7 Mean=0.4]]
+[[64] [RedHat Linux IA32, gcc-3.3] [Peak=0 Mean=0
+
+__glibc Peak=0 Mean=0] [Peak=1.4 Mean=0.3
+
+__glibc Peak=1.3 Mean=0.3] [Peak=1.6 Mean=0.4
+
+__glibc Peak=1.3 Mean=0.4]]
+[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=0 Mean=0
+
+__glibc Peak=0 Mean=0] [Peak=1.4 Mean=0.3
+
+__glibc Peak=0 Mean=0] [Peak=1.5 Mean=0.4
+
+__glibc Peak=0 Mean=0] ]
+[[113] [HPUX IA64, aCC A.06.06] [Peak=0 Mean=0
+
+__hpc Peak=0 Mean=0] [Peak=1.5 Mean=0.3
+
+__hpc Peak=0.9 Mean=0.08] [Peak=1.6 Mean=0.4
+
+__hpc Peak=0.9 Mean=0.1]]
+]
+
+[h4 Testing]
+
+The tests for these functions come in two parts:
+basic sanity checks use spot values calculated using
+[@http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Erf Mathworld's online evaluator],
+while accuracy checks use high-precision test values calculated at 1000-bit precision with
+[@http://shoup.net/ntl/doc/RR.txt NTL::RR] and this implementation.
+Note that the generic and type-specific
+versions of these functions use differing implementations internally, so this
+gives us reasonably independent test data. Using our test data to test other
+"known good" implementations also provides an additional sanity check.
+
+[h4 Implementation]
+
+All versions of these functions first use the usual reflection formulas
+to make their arguments positive:
+
+ erf(-z) = 1 - erf(z);
+
+ erfc(-z) = 2 - erfc(z); // preferred when -z < -0.5
+
+ erfc(-z) = 1 + erf(z); // preferred when -0.5 <= -z < 0
+
+The generic versions of these functions are implemented in terms of
+the incomplete gamma function.
+
+When the significand (mantissa) size is recognised
+(currently for 53, 64 and 113-bit reals, plus single-precision 24-bit handled via promotion to double)
+then a series of rational approximations [jm_rationals] are used.
+
+For `z <= 0.5` then a rational approximation to erf is used, based on the
+observation that erf is an odd function and therefore erf is calculated using:
+
+ erf(z) = z * (C + R(z*z));
+
+where the rational approximation R(z*z) is optimised for absolute error:
+as long as its absolute error is small enough compared to the constant C, then any
+round-off error incurred during the computation of R(z*z) will effectively
+disappear from the result. As a result the error for erf and erfc in this
+region is very low: the last bit is incorrect in only a very small number of
+cases.
+
+For `z > 0.5` we observe that over a small interval \[a, b) then:
+
+ erfc(z) * exp(z*z) * z ~ c
+
+for some constant c.
+
+Therefore for `z > 0.5` we calculate erfc using:
+
+ erfc(z) = exp(-z*z) * (C + R(z - B)) / z;
+
+Again R(z - B) is optimised for absolute error, and the constant `C` is
+the average of `erfc(z) * exp(z*z) * z` taken at the endpoints of the range.
+Once again, as long as the absolute error in R(z - B) is small
+compared to `c` then `c + R(z - B)` will be correctly rounded, and the error
+in the result will depend only on the accuracy of the exp function. In practice,
+in all but a very small number of cases, the error is confined to the last bit
+of the result. The constant `B` is chosen so that the left hand end of the range
+of the rational approximation is 0.
+
+For large `z` over a range \[a, +[infin]\] the above approximation is modified to:
+
+ erfc(z) = exp(-z*z) * (C + R(1 / z)) / z;
+
+[endsect]
+[/ :error_function The Error Functions]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf/erf_inv.qbk b/libs/math/doc/sf/erf_inv.qbk
new file mode 100644
index 0000000000..e4f0494cfb
--- /dev/null
+++ b/libs/math/doc/sf/erf_inv.qbk
@@ -0,0 +1,132 @@
+[section:error_inv Error Function Inverses]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/erf.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` erf_inv(T p);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erf_inv(T p, const ``__Policy``&);
+
+ template <class T>
+ ``__sf_result`` erfc_inv(T p);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erfc_inv(T p, const ``__Policy``&);
+
+ }} // namespaces
+
+The return type of these functions is computed using the __arg_pomotion_rules:
+the return type is `double` if T is an integer type, and T otherwise.
+
+[optional_policy]
+
+[h4 Description]
+
+ template <class T>
+ ``__sf_result`` erf_inv(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erf_inv(T z, const ``__Policy``&);
+
+Returns the [@http://functions.wolfram.com/GammaBetaErf/InverseErf/ inverse error function]
+of z, that is a value x such that:
+
+ p = erf(x);
+
+[graph erf_inv]
+
+ template <class T>
+ ``__sf_result`` erfc_inv(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` erfc_inv(T z, const ``__Policy``&);
+
+Returns the inverse of the complement of the error function of z, that is a
+value x such that:
+
+ p = erfc(x);
+
+[graph erfc_inv]
+
+[h4 Accuracy]
+
+For types up to and including 80-bit long doubles the approximations used
+are accurate to less than ~ 2 epsilon. For higher precision types these
+functions have the same accuracy as the
+[link math_toolkit.sf_erf.error_function forward error functions].
+
+[h4 Testing]
+
+There are two sets of tests:
+
+* Basic sanity checks attempt to "round-trip" from
+/x/ to /p/ and back again. These tests have quite
+generous tolerances: in general both the error functions and their
+inverses change so rapidly in some places that round tripping to more than a couple
+of significant digits isn't possible. This is especially true when
+/p/ is very near one: in this case there isn't enough
+"information content" in the input to the inverse function to get
+back where you started.
+* Accuracy checks using high-precision test values. These measure
+the accuracy of the result, given /exact/ input values.
+
+[h4 Implementation]
+
+These functions use a rational approximation [jm_rationals]
+to calculate an initial
+approximation to the result that is accurate to ~10[super -19],
+then only if that has insufficient accuracy compared to the epsilon for T,
+do we clean up the result using
+[@http://en.wikipedia.org/wiki/Simple_rational_approximation Halley iteration].
+
+Constructing rational approximations to the erf/erfc functions is actually
+surprisingly hard, especially at high precision. For this reason no attempt
+has been made to achieve 10[super -34 ] accuracy suitable for use with 128-bit
+reals.
+
+In the following discussion, /p/ is the value passed to erf_inv, and /q/ is
+the value passed to erfc_inv, so that /p = 1 - q/ and /q = 1 - p/ and in both
+cases we want to solve for the same result /x/.
+
+For /p < 0.5/ the inverse erf function is reasonably smooth and the approximation:
+
+ x = p(p + 10)(Y + R(p))
+
+Gives a good result for a constant Y, and R(p) optimised for low absolute error
+compared to |Y|.
+
+For q < 0.5 things get trickier, over the interval /0.5 > q > 0.25/
+the following approximation works well:
+
+ x = sqrt(-2log(q)) / (Y + R(q))
+
+While for q < 0.25, let
+
+ z = sqrt(-log(q))
+
+Then the result is given by:
+
+ x = z(Y + R(z - B))
+
+As before Y is a constant and the rational function R is optimised for low
+absolute error compared to |Y|. B is also a constant: it is the smallest value
+of /z/ for which each approximation is valid. There are several approximations
+of this form each of which reaches a little further into the tail of the erfc
+function (at `long double` precision the extended exponent range compared to
+`double` means that the tail goes on for a very long way indeed).
+
+[endsect][/ :error_inv The Error Function Inverses]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/expint.qbk b/libs/math/doc/sf/expint.qbk
index 441d527fbf..441d527fbf 100644
--- a/libs/math/doc/sf_and_dist/expint.qbk
+++ b/libs/math/doc/sf/expint.qbk
diff --git a/libs/math/doc/sf/factorials.qbk b/libs/math/doc/sf/factorials.qbk
new file mode 100644
index 0000000000..5bbe2a7dfc
--- /dev/null
+++ b/libs/math/doc/sf/factorials.qbk
@@ -0,0 +1,374 @@
+[section:factorials Factorials and Binomial Coefficients]
+
+[section:sf_factorial Factorial]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/factorials.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ T factorial(unsigned i);
+
+ template <class T, class ``__Policy``>
+ T factorial(unsigned i, const ``__Policy``&);
+
+ template <class T>
+ T unchecked_factorial(unsigned i);
+
+ template <class T>
+ struct max_factorial;
+
+ }} // namespaces
+
+[h4 Description]
+
+[important
+The functions described below are templates where the template argument T CANNOT be deduced from the
+arguments passed to the function. Therefore if you write something like:
+
+ `boost::math::factorial(2);`
+
+You will get a (perhaps perplexing) compiler error, ususally indicating that there is no such function to be found.
+Instead you need to specify the return type explicity and write:
+
+ `boost::math::factorial<double>(2);`
+
+So that the return type is known.
+
+Furthermore, the template argument must be a real-valued type such as `float` or `double`
+and not an integer type - that would overflow far too easily for quite small values of parameter `i`!
+
+The source code `static_assert` and comment just after the will be:
+
+``
+ BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
+ // factorial<unsigned int>(n) is not implemented
+ // because it would overflow integral type T for too small n
+ // to be useful. Use instead a floating-point type,
+ // and convert to an unsigned type if essential, for example:
+ // unsigned int nfac = static_cast<unsigned int>(factorial<double>(n));
+ // See factorial documentation for more detail.
+``
+]
+
+ template <class T>
+ T factorial(unsigned i);
+
+ template <class T, class ``__Policy``>
+ T factorial(unsigned i, const ``__Policy``&);
+
+Returns [^i!].
+
+[optional_policy]
+
+For [^i <= max_factorial<T>::value] this is implemented by table lookup,
+for larger values of [^i], this function is implemented in terms of __tgamma.
+
+If [^i] is so large that the result can not be represented in type T, then
+calls __overflow_error.
+
+ template <class T>
+ T unchecked_factorial(unsigned i);
+
+Returns [^i!].
+
+Internally this function performs table lookup of the result. Further it performs
+no range checking on the value of i: it is up to the caller to ensure
+that [^i <= max_factorial<T>::value]. This function is intended to be used
+inside inner loops that require fast table lookup of factorials, but requires
+care to ensure that argument [^i] never grows too large.
+
+ template <class T>
+ struct max_factorial
+ {
+ static const unsigned value = X;
+ };
+
+This traits class defines the largest value that can be passed to
+[^unchecked_factorial]. The member `value` can be used where integral
+constant expressions are required: for example to define the size of
+further tables that depend on the factorials.
+
+[h4 Accuracy]
+
+For arguments smaller than `max_factorial<T>::value`
+the result should be
+correctly rounded. For larger arguments the accuracy will be the same
+as for __tgamma.
+
+[h4 Testing]
+
+Basic sanity checks and spot values to verify the data tables:
+the main tests for the __tgamma function handle those cases already.
+
+[h4 Implementation]
+
+The factorial function is table driven for small arguments, and is
+implemented in terms of __tgamma for larger arguments.
+
+[endsect]
+
+[section:sf_double_factorial Double Factorial]
+
+``
+#include <boost/math/special_functions/factorials.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ T double_factorial(unsigned i);
+
+ template <class T, class ``__Policy``>
+ T double_factorial(unsigned i, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns [^i!!].
+
+[optional_policy]
+
+May return the result of __overflow_error if the result is too large
+to represent in type T. The implementation is designed to be optimised
+for small /i/ where table lookup of i! is possible.
+
+[important
+The functions described above are templates where the template argument T can not be deduced from the
+arguments passed to the function. Therefore if you write something like:
+
+ `boost::math::double_factorial(2);`
+
+You will get a (possibly perplexing) compiler error, ususally indicating that there is no such function to be found. Instead you need to specifiy
+the return type explicity and write:
+
+ `boost::math::double_factorial<double>(2);`
+
+So that the return type is known. Further, the template argument must be a real-valued type such as `float` or `double`
+and not an integer type - that would overflow far too easily!
+
+The source code `static_assert` and comment just after the will be:
+
+``
+ BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
+ // factorial<unsigned int>(n) is not implemented
+ // because it would overflow integral type T for too small n
+ // to be useful. Use instead a floating-point type,
+ // and convert to an unsigned type if essential, for example:
+ // unsigned int nfac = static_cast<unsigned int>(factorial<double>(n));
+ // See factorial documentation for more detail.
+``
+]
+
+[note The argument to `double_factorial` is type `unsigned` even though technically -1!! is defined.]
+
+[h4 Accuracy]
+
+The implementation uses a trivial adaptation of
+the factorial function, so error rates should be no more than a couple
+of epsilon higher.
+
+[h4 Testing]
+
+The spot tests for the double factorial use data
+generated by functions.wolfram.com.
+
+[h4 Implementation]
+
+The double factorial is implemented in terms of the factorial and gamma
+functions using the relations:
+
+(2n)!! = 2[super n ] * n!
+
+(2n+1)!! = (2n+1)! / (2[super n ] n!)
+
+and
+
+(2n-1)!! = [Gamma]((2n+1)/2) * 2[super n ] / sqrt(pi)
+
+[endsect]
+
+[section:sf_rising_factorial Rising Factorial]
+
+``
+#include <boost/math/special_functions/factorials.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` rising_factorial(T x, int i);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` rising_factorial(T x, int i, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns the rising factorial of /x/ and /i/:
+
+rising_factorial(x, i) = [Gamma](x + i) / [Gamma](x);
+
+or
+
+rising_factorial(x, i) = x(x+1)(x+2)(x+3)...(x+i-1)
+
+Note that both /x/ and /i/ can be negative as well as positive.
+
+[optional_policy]
+
+May return the result of __overflow_error if the result is too large
+to represent in type T.
+
+The return type of these functions is computed using the __arg_pomotion_rules:
+the type of the result is `double` if T is an integer type, otherwise the type
+of the result is T.
+
+[h4 Accuracy]
+
+The accuracy will be the same as
+the __tgamma_delta_ratio function.
+
+[h4 Testing]
+
+The spot tests for the rising factorials use data generated
+by functions.wolfram.com.
+
+[h4 Implementation]
+
+Rising and falling factorials are implemented as ratios of gamma functions
+using __tgamma_delta_ratio. Optimisations for
+small integer arguments are handled internally by that function.
+
+[endsect]
+
+[section:sf_falling_factorial Falling Factorial]
+
+``
+#include <boost/math/special_functions/factorials.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` falling_factorial(T x, unsigned i);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` falling_factorial(T x, unsigned i, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns the falling factorial of /x/ and /i/:
+
+falling_factorial(x, i) = x(x-1)(x-2)(x-3)...(x-i+1)
+
+Note that this function is only defined for positive /i/, hence the
+`unsigned` second argument. Argument /x/ can be either positive or
+negative however.
+
+[optional_policy]
+
+May return the result of __overflow_error if the result is too large
+to represent in type T.
+
+The return type of these functions is computed using the __arg_pomotion_rules:
+the type of the result is `double` if T is an integer type, otherwise the type
+of the result is T.
+
+[h4 Accuracy]
+
+The accuracy will be the same as
+the __tgamma_delta_ratio function.
+
+[h4 Testing]
+
+The spot tests for the falling factorials use data generated by
+functions.wolfram.com.
+
+[h4 Implementation]
+
+Rising and falling factorials are implemented as ratios of gamma functions
+using __tgamma_delta_ratio. Optimisations for
+small integer arguments are handled internally by that function.
+
+[endsect]
+
+[section:sf_binomial Binomial Coefficients]
+
+``
+#include <boost/math/special_functions/binomial.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ T binomial_coefficient(unsigned n, unsigned k);
+
+ template <class T, class ``__Policy``>
+ T binomial_coefficient(unsigned n, unsigned k, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns the binomial coefficient: [sub n]C[sub k].
+
+Requires k <= n.
+
+[optional_policy]
+
+May return the result of __overflow_error if the result is too large
+to represent in type T.
+
+[important
+The functions described above are templates where the template argument T can not be deduced from the
+arguments passed to the function. Therefore if you write something like:
+
+ `boost::math::binomial_coefficient(10, 2);`
+
+You will get a compiler error, ususally indicating that there is no such function to be found. Instead you need to specifiy
+the return type explicity and write:
+
+ `boost::math::binomial_coefficient<double>(10, 2);`
+
+So that the return type is known. Further, the template argument must be a real-valued type such as `float` or `double`
+and not an integer type - that would overflow far too easily!
+]
+
+[h4 Accuracy]
+
+The accuracy will be the same as for the
+factorials for small arguments (i.e. no more than one or two epsilon),
+and the __beta function for larger arguments.
+
+[h4 Testing]
+
+The spot tests for the binomial coefficients use data
+generated by functions.wolfram.com.
+
+[h4 Implementation]
+
+Binomial coefficients are calculated using table lookup of factorials
+where possible using:
+
+[sub n]C[sub k] = n! / (k!(n-k)!)
+
+Otherwise it is implemented in terms of the beta function using the relations:
+
+[sub n]C[sub k] = 1 / (k * __beta(k, n-k+1))
+
+and
+
+[sub n]C[sub k] = 1 / ((n-k) * __beta(k+1, n-k))
+
+[endsect]
+
+
+[endsect][/section:factorials Factorials]
+
+[/
+ Copyright 2006, 2010 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/gamma_derivatives.qbk b/libs/math/doc/sf/gamma_derivatives.qbk
index 9bfb82e03d..9bfb82e03d 100644
--- a/libs/math/doc/sf_and_dist/gamma_derivatives.qbk
+++ b/libs/math/doc/sf/gamma_derivatives.qbk
diff --git a/libs/math/doc/sf_and_dist/gamma_ratios.qbk b/libs/math/doc/sf/gamma_ratios.qbk
index e7b289ba1c..e7b289ba1c 100644
--- a/libs/math/doc/sf_and_dist/gamma_ratios.qbk
+++ b/libs/math/doc/sf/gamma_ratios.qbk
diff --git a/libs/math/doc/sf_and_dist/hankel.qbk b/libs/math/doc/sf/hankel.qbk
index 014a615b39..014a615b39 100644
--- a/libs/math/doc/sf_and_dist/hankel.qbk
+++ b/libs/math/doc/sf/hankel.qbk
diff --git a/libs/math/doc/sf_and_dist/hermite.qbk b/libs/math/doc/sf/hermite.qbk
index 1819379ce9..1819379ce9 100644
--- a/libs/math/doc/sf_and_dist/hermite.qbk
+++ b/libs/math/doc/sf/hermite.qbk
diff --git a/libs/math/doc/sf_and_dist/ibeta.qbk b/libs/math/doc/sf/ibeta.qbk
index 61d219463e..61d219463e 100644
--- a/libs/math/doc/sf_and_dist/ibeta.qbk
+++ b/libs/math/doc/sf/ibeta.qbk
diff --git a/libs/math/doc/sf_and_dist/ibeta_inv.qbk b/libs/math/doc/sf/ibeta_inv.qbk
index a9968be617..a9968be617 100644
--- a/libs/math/doc/sf_and_dist/ibeta_inv.qbk
+++ b/libs/math/doc/sf/ibeta_inv.qbk
diff --git a/libs/math/doc/sf_and_dist/igamma.qbk b/libs/math/doc/sf/igamma.qbk
index d246307c18..d246307c18 100644
--- a/libs/math/doc/sf_and_dist/igamma.qbk
+++ b/libs/math/doc/sf/igamma.qbk
diff --git a/libs/math/doc/sf_and_dist/igamma_inv.qbk b/libs/math/doc/sf/igamma_inv.qbk
index 24102c952a..24102c952a 100644
--- a/libs/math/doc/sf_and_dist/igamma_inv.qbk
+++ b/libs/math/doc/sf/igamma_inv.qbk
diff --git a/libs/math/doc/sf/inv_hyper.qbk b/libs/math/doc/sf/inv_hyper.qbk
new file mode 100644
index 0000000000..d5ea844172
--- /dev/null
+++ b/libs/math/doc/sf/inv_hyper.qbk
@@ -0,0 +1,279 @@
+[/ math.qbk
+ Copyright 2006 Hubert Holin and John Maddock.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+[def __form1 [^\[0;+'''&#x221E;'''\[]]
+[def __form2 [^\]-'''&#x221E;''';+1\[]]
+[def __form3 [^\]-'''&#x221E;''';-1\[]]
+[def __form4 [^\]+1;+'''&#x221E;'''\[]]
+[def __form5 [^\[-1;-1+'''&#x03B5;'''\[]]
+[def __form6 '''&#x03B5;''']
+[def __form7 [^\]+1-'''&#x03B5;''';+1\]]]
+
+[def __effects [*Effects: ]]
+[def __formula [*Formula: ]]
+[def __exm1 '''<code>e<superscript>x</superscript> - 1</code>'''[space]]
+[def __ex '''<code>e<superscript>x</superscript></code>''']
+[def __te '''2&#x03B5;''']
+
+[section:inv_hyper Inverse Hyperbolic Functions]
+
+[section:inv_hyper_over Inverse Hyperbolic Functions Overview]
+
+The exponential funtion is defined, for all objects for which this makes sense,
+as the power series
+[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,
+among others.
+
+[: ['[*Graph of exp on R]] ]
+
+[: [$../graphs/exp_on_r.png] ]
+
+[: ['[*Real and Imaginary parts of exp on C]]]
+[: [$../graphs/im_exp_on_c.png]]
+
+The hyperbolic functions are defined as power series which
+can be computed (for reals, complex, quaternions and octonions) as:
+
+Hyperbolic cosine: [equation special_functions_blurb5]
+
+Hyperbolic sine: [equation special_functions_blurb6]
+
+Hyperbolic tangent: [equation special_functions_blurb7]
+
+[: ['[*Trigonometric functions on R (cos: purple; sin: red; tan: blue)]]]
+[: [$../graphs/trigonometric.png]]
+
+[: ['[*Hyperbolic functions on r (cosh: purple; sinh: red; tanh: blue)]]]
+[: [$../graphs/hyperbolic.png]]
+
+The hyperbolic sine is one to one on the set of real numbers,
+with range the full set of reals, while the hyperbolic tangent is
+also one to one on the set of real numbers but with range __form1, and
+therefore both have inverses. The hyperbolic cosine is one to one from __form2
+onto __form3 (and from __form4 onto __form3); the inverse function we use
+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 [equation special_functions_blurb15].
+
+The inverse of the hyperbolic sine is called the Argument hyperbolic sine,
+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 [equation special_functions_blurb18].
+
+[endsect]
+
+[section:acosh acosh]
+
+``
+#include <boost/math/special_functions/acosh.hpp>
+``
+
+ template<class T>
+ ``__sf_result`` acosh(const T x);
+
+ template<class T, class ``__Policy``>
+ ``__sf_result`` acosh(const T x, const ``__Policy``&);
+
+Computes the reciprocal of (the restriction to the range of __form1)
+[link math_toolkit.inv_hyper.inv_hyper_over
+the hyperbolic cosine function], at x. Values returned are positive.
+
+If x is in the range __form2 then returns the result of __domain_error.
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return type is `double` when T is an integer type, and T otherwise.
+
+[optional_policy]
+
+[graph acosh]
+
+[h4 Accuracy]
+
+Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
+
+[h4 Testing]
+
+This function is tested using a combination of random test values designed to give
+full function coverage computed at high precision using the "naive" formula:
+
+[equation acosh1]
+
+along with a selection of sanity check values
+computed using functions.wolfram.com to at least 50 decimal digits.
+
+[h4 Implementation]
+
+For sufficiently large x, we can use the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/06/01/0001/
+approximation]:
+
+[equation acosh2]
+
+For x sufficiently close to 1 we can use the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/04/01/0001/
+approximation]:
+
+[equation acosh4]
+
+Otherwise for x close to 1 we can use the following rearrangement of the
+primary definition to preserve accuracy:
+
+[equation acosh3]
+
+Otherwise the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcCosh/02/
+primary definition] is used:
+
+[equation acosh1]
+
+[endsect]
+
+[section:asinh asinh]
+
+``
+#include <boost/math/special_functions/asinh.hpp>
+``
+
+ template<class T>
+ ``__sf_result`` asinh(const T x);
+
+ template<class T, class ``__Policy``>
+ ``__sf_result`` asinh(const T x, const ``__Policy``&);
+
+Computes the reciprocal of
+[link math_toolkit.inv_hyper.inv_hyper_over
+the hyperbolic sine function].
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return type is `double` when T is an integer type, and T otherwise.
+
+[graph asinh]
+
+[optional_policy]
+
+[h4 Accuracy]
+
+Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
+
+[h4 Testing]
+
+This function is tested using a combination of random test values designed to give
+full function coverage computed at high precision using the "naive" formula:
+
+[equation asinh1]
+
+along with a selection of sanity check values
+computed using functions.wolfram.com to at least 50 decimal digits.
+
+[h4 Implementation]
+
+For sufficiently large x we can use the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/06/01/0001/
+approximation]:
+
+[equation asinh2]
+
+While for very small x we can use the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/03/01/0001/
+approximation]:
+
+[equation asinh3]
+
+For 0.5 > x > [epsilon] the following rearrangement of the primary definition is used:
+
+[equation asinh4]
+
+Otherwise evalution is via the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcSinh/02/
+primary definition]:
+
+[equation asinh4]
+
+[endsect]
+
+[section:atanh atanh]
+
+``
+#include <boost/math/special_functions/atanh.hpp>
+``
+
+ template<class T>
+ ``__sf_result`` atanh(const T x);
+
+ template<class T, class ``__Policy``>
+ ``__sf_result`` atanh(const T x, const ``__Policy``&);
+
+Computes the reciprocal of
+[link math_toolkit.inv_hyper.inv_hyper_over
+the hyperbolic tangent function], at x.
+
+[optional_policy]
+
+If x is in the range
+__form3
+or in the range
+__form4
+then returns the result of __domain_error.
+
+If x is in the range
+__form5,
+then the result of -__overflow_error is returned, with
+__form6[space]
+denoting numeric_limits<T>::epsilon().
+
+If x is in the range
+__form7,
+then the result of __overflow_error is returned, with
+__form6[space]
+denoting
+numeric_limits<T>::epsilon().
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return type is `double` when T is an integer type, and T otherwise.
+
+[graph atanh]
+
+[h4 Accuracy]
+
+Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
+
+[h4 Testing]
+
+This function is tested using a combination of random test values designed to give
+full function coverage computed at high precision using the "naive" formula:
+
+[equation atanh1]
+
+along with a selection of sanity check values
+computed using functions.wolfram.com to at least 50 decimal digits.
+
+[h4 Implementation]
+
+For sufficiently small x we can use the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcTanh/06/01/03/01/ approximation]:
+
+[equation atanh2]
+
+Otherwise the
+[@http://functions.wolfram.com/ElementaryFunctions/ArcTanh/02/ primary definition]:
+
+[equation atanh1]
+
+or its equivalent form:
+
+[equation atanh3]
+
+is used.
+
+[endsect]
+
+[endsect]
diff --git a/libs/math/doc/sf/jacobi_elliptic.qbk b/libs/math/doc/sf/jacobi_elliptic.qbk
new file mode 100644
index 0000000000..82fe1fb5c1
--- /dev/null
+++ b/libs/math/doc/sf/jacobi_elliptic.qbk
@@ -0,0 +1,551 @@
+[/
+Copyright (c) 2012 John Maddock
+Use, modification and distribution are subject to the
+Boost Software License, Version 1.0. (See accompanying file
+LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[section:jacobi Jacobi Elliptic Functions]
+
+[section:jac_over Overvew of the Jacobi Elliptic Functions]
+
+There are twelve Jacobi Elliptic functions, of which the three copolar functions ['sn], ['cn] and ['dn] are the most important
+as the other nine can be computed from these three
+[footnote [@http://en.wikipedia.org/wiki/Jacobi_elliptic_functions Wikipedia: Jacobi elliptic functions]]
+[footnote [@http://mathworld.wolfram.com/JacobiEllipticFunctions.html Weisstein, Eric W. "Jacobi Elliptic Functions." From MathWorld - A Wolfram Web Resource.]]
+[footnote [@http://dlmf.nist.gov/22 Digital Library of Mathematical Functions: Jacobian Elliptic Functions]].
+
+These functions each take two arguments: a parameter, and a variable as described below.
+
+Like all elliptic functions these can be parameterised in a number of ways:
+
+* In terms of a parameter ['m].
+* In terms of the elliptic modulus ['k] where ['m = k[super 2]].
+* In terms of the modular angle [alpha], where ['m = sin[super 2][alpha]].
+
+In our implementation, these functions all take the elliptic modulus /k/ as the parameter.
+
+In addition the variable /u/ is sometimes expressed as an amplitude [phi], in our implementation we always use /u/.
+
+Finally note that our functions all take the elliptic modulus as the first argument - this is for alignment with
+the Elliptic Integrals.
+
+There are twenve functions for computing the twelve individual Jacobi elliptic functions: __jacobi_cd, __jacobi_cn, __jacobi_cs,
+__jacobi_dc, __jacobi_dn, __jacobi_ds, __jacobi_nc, __jacobi_nd, __jacobi_ns, __jacobi_sc, __jacobi_sd and __jacobi_sn.
+
+They are all called as for example:
+
+ jacobi_cs(k, u);
+
+Note however that these individual functions are all really thin wrappers around the function __jacobi_elliptic which calculates
+the three copolar functions ['sn], ['cn] and ['dn] in a single function call. Thus if you need more than one of these functions
+for a given set of arguments, it's most efficient to use __jacobi_elliptic.
+
+[endsect]
+
+[section:jacobi_elliptic Jacobi Elliptic SN, CN and DN]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U, class V>
+ ``__sf_result`` jacobi_elliptic(T k, U u, V* pcn, V* pdn);
+
+ template <class T, class U, class V, class Policy>
+ ``__sf_result`` jacobi_elliptic(T k, U u, V* pcn, V* pdn, const Policy&);
+
+ }} // namespaces
+
+[heading Description]
+
+The function __jacobi_elliptic calculates the three copolar Jacobi elliptic functions
+['sn(u, k)], ['cn(u, k)] and ['dn(u, k)]. The returned value is
+['sn(u, k)], and if provided, ['*pcn] is
+set to ['cn(u, k)], and ['*pdn] is set to ['dn(u, k)].
+
+The functions are defined as follows, given:
+
+[equation jacobi1]
+
+The the angle [phi] is called the ['amplitude] and:
+
+[equation jacobi2]
+
+[note ['[phi]] is called the amplitude.
+
+['k] is called the modulus.
+
+]
+
+[caution Rather like other elliptic functions, the Jacobi functions
+are expressed in a variety of different ways. In particular,
+the parameter /k/ (the modulus) may also be expressed using a modular
+angle [alpha], or a parameter /m/. These are related by:
+
+k = sin[alpha]
+
+m = k[super 2] = sin[super 2][alpha]
+
+So that the function ['sn] (for example) may be expressed as
+either:
+
+sn(u, k)
+
+sn(u \\ [alpha])
+
+sn(u| m)
+
+To further complicate matters, some texts refer to the ['complement
+of the parameter m], or 1 - m, where:
+
+1 - m = 1 - k[super 2] = cos[super 2][alpha]
+
+This implementation uses /k/ throughout, and makes this the first argument
+to the functions: this is for alignment with the elliptic integrals which match the requirements
+of the [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
+Technical Report on C++ Library Extensions]. However, you should
+be extra careful when using these functions!]
+
+[optional_policy]
+
+The following graphs illustrate how these functions change as /k/ changes: for small /k/
+these are sine waves, while as /k/ tends to 1 they become hyperbolic functions:
+
+[graph jacobi_sn]
+
+[graph jacobi_cn]
+
+[graph jacobi_dn]
+
+[heading Accuracy]
+
+These functions are computed using only basic arithmetic operations and trigomometric functions, so
+there isn't much variation in accuracy over differing platforms.
+Typically errors are trivially small for small angles, and as is typical for cyclic
+functions, grow as the angle increases.
+Note that only results for the widest floating point type on the
+system are given as narrower types have __zero_error. All values
+are relative errors in units of epsilon.
+
+[table Errors Rates in the Jacobi Elliptic Functions
+[[Significand Size] [Platform and Compiler] [u < 1] [Large u] ]
+[[53] [Win32 / Visual C++ 8.0] [Peak=2 Mean=0.5] [Peak=44000 Mean=2500] ]
+[[64] [Ubuntu Linux / G++ 4.7] [Peak=2.0 Mean=0.5] [Peak=25000 Mean=1500] ]
+]
+
+
+[heading Testing]
+
+The tests use a mixture of spot test values calculated using the online
+calculator at [@http://functions.wolfram.com/ functions.wolfram.com],
+and random test data generated using
+MPFR at 1000-bit precision and this implementation.
+
+[heading Implementation]
+
+For ['k > 1] we apply the relations:
+
+[equation jacobi3]
+
+Then filter off the special cases:
+
+['sn(0, k) = 0] and ['cn(0, k) = dn(0, k) = 1].
+
+['sn(u, 0) = sin(u), cn(u, 0) = cos(u) and dn(u, 0) = 1].
+
+['sn(u, 1) = tanh(u), cn(u, 1) = dn(u, 1) = 1 / cosh(u)].
+
+And for ['k[super 4] < [epsilon]] we have:
+
+[equation jacobi4]
+
+Otherwise the values are calculated using the method of [@http://dlmf.nist.gov/22.20#SS2 arithmetic geometric means].
+
+[endsect]
+
+[section:jacobi_cd Jacobi Elliptic Function cd]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_cd(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_cd(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['cd].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['cd(u, k) = cn(u, k) / dn(u, k)]
+
+[graph jacobi_cd]
+
+[endsect]
+
+[section:jacobi_cn Jacobi Elliptic Function cn]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_cn(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_cn(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['cn].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic.
+
+[graph jacobi_cn]
+
+[endsect]
+
+[section:jacobi_cs Jacobi Elliptic Function cs]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_cs(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_cs(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['cs].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['cs(u, k) = cn(u, k) / sn(u, k)]
+
+[graph jacobi_cs]
+
+[endsect]
+
+[section:jacobi_dc Jacobi Elliptic Function dc]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_dc(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_dc(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['dc].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['dc(u, k) = dn(u, k) / cn(u, k)]
+
+[graph jacobi_dc]
+
+[endsect]
+
+[section:jacobi_dn Jacobi Elliptic Function dn]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_dn(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_dn(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['dn].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic.
+
+[graph jacobi_dn]
+
+[endsect]
+
+[section:jacobi_ds Jacobi Elliptic Function ds]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_ds(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_ds(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['ds].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['ds(u, k) = dn(u, k) / sn(u, k)]
+
+[graph jacobi_ds]
+
+[endsect]
+
+[section:jacobi_nc Jacobi Elliptic Function nc]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_nc(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_nc(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['nc].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['nc(u, k) = 1 / cn(u, k)]
+
+[graph jacobi_nc]
+
+[endsect]
+
+[section:jacobi_nd Jacobi Elliptic Function nd]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_nd(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_nd(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['nd].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['nd(u, k) = 1 / dn(u, k)]
+
+[graph jacobi_nd]
+
+[endsect]
+
+[section:jacobi_ns Jacobi Elliptic Function ns]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_ns(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_ns(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['ns].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['ns(u, k) = 1 / sn(u, k)]
+
+[graph jacobi_ns]
+
+[endsect]
+
+[section:jacobi_sc Jacobi Elliptic Function sc]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_sc(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_sc(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['sc].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['sc(u, k) = sn(u, k) / cn(u, k)]
+
+[graph jacobi_sc]
+
+[endsect]
+
+[section:jacobi_sd Jacobi Elliptic Function sd]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_sd(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_sd(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['sd].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic, with:
+
+['sd(u, k) = sn(u, k) / dn(u, k)]
+
+[graph jacobi_sd]
+
+[endsect]
+
+[section:jacobi_sn Jacobi Elliptic Function sn]
+
+[heading Synopsis]
+
+``
+ #include <boost/math/special_functions/jacobi_elliptic.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T, class U>
+ ``__sf_result`` jacobi_sn(T k, U u);
+
+ template <class T, class U, class Policy>
+ ``__sf_result`` jacobi_sn(T k, U u, const Policy& pol);
+
+ }} // namespaces
+
+[heading Description]
+
+This function returns the Jacobi elliptic function ['sn].
+
+[optional_policy]
+
+This function is a trivial wrapper around __jacobi_elliptic.
+
+[graph jacobi_sn]
+
+[endsect]
+
+
+[endsect]
+
diff --git a/libs/math/doc/sf_and_dist/laguerre.qbk b/libs/math/doc/sf/laguerre.qbk
index cbf52a3571..cbf52a3571 100644
--- a/libs/math/doc/sf_and_dist/laguerre.qbk
+++ b/libs/math/doc/sf/laguerre.qbk
diff --git a/libs/math/doc/sf_and_dist/latin1_symbols.qbk b/libs/math/doc/sf/latin1_symbols.qbk
index 9bbd93b754..9bbd93b754 100644
--- a/libs/math/doc/sf_and_dist/latin1_symbols.qbk
+++ b/libs/math/doc/sf/latin1_symbols.qbk
diff --git a/libs/math/doc/sf_and_dist/legendre.qbk b/libs/math/doc/sf/legendre.qbk
index dcc173cb77..dcc173cb77 100644
--- a/libs/math/doc/sf_and_dist/legendre.qbk
+++ b/libs/math/doc/sf/legendre.qbk
diff --git a/libs/math/doc/sf/lgamma.qbk b/libs/math/doc/sf/lgamma.qbk
new file mode 100644
index 0000000000..2682fbf3b9
--- /dev/null
+++ b/libs/math/doc/sf/lgamma.qbk
@@ -0,0 +1,218 @@
+[section:lgamma Log Gamma]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/gamma.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` lgamma(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` lgamma(T z, const ``__Policy``&);
+
+ template <class T>
+ ``__sf_result`` lgamma(T z, int* sign);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` lgamma(T z, int* sign, const ``__Policy``&);
+
+ }} // namespaces
+
+[h4 Description]
+
+The [@http://en.wikipedia.org/wiki/Gamma_function lgamma function] is defined by:
+
+[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).
+
+[optional_policy]
+
+[graph lgamma]
+
+There are effectively two versions of this function internally: a fully
+generic version that is slow, but reasonably accurate, and a much more
+efficient approximation that is used where the number of digits in the significand
+of T correspond to a certain __lanczos. In practice, any built-in
+floating-point type you will encounter has an appropriate __lanczos
+defined for it. It is also possible, given enough machine time, to generate
+further __lanczos's using the program libs/math/tools/lanczos_generator.cpp.
+
+The return type of these functions is computed using the __arg_pomotion_rules:
+the result is of type `double` if T is an integer type, or type T otherwise.
+
+[h4 Accuracy]
+
+The following table shows the peak errors (in units of epsilon)
+found on various platforms
+with various floating point types, along with comparisons to the
+__gsl, __glibc, __hpc and
+__cephes libraries. Unless otherwise specified any
+floating point type that is narrower than the one shown will have
+__zero_error.
+
+Note that while the relative errors near the positive roots of lgamma
+are very low, the lgamma function has an infinite number of irrational
+roots for negative arguments: very close to these negative roots only
+a low absolute error can be guaranteed.
+
+[table
+[[Significand Size] [Platform and Compiler] [Factorials and Half factorials] [Values Near Zero] [Values Near 1 or 2] [Values Near a Negative Pole]]
+[[53] [Win32 Visual C++ 8]
+[Peak=0.88 Mean=0.14
+
+(GSL=33) (__cephes=1.5)]
+[Peak=0.96 Mean=0.46
+
+(GSL=5.2) (__cephes=1.1)]
+[Peak=0.86 Mean=0.46
+
+(GSL=1168) (__cephes~500000)]
+[Peak=4.2 Mean=1.3
+
+(GSL=25) (__cephes=1.6)] ]
+[[64] [Linux IA32 / GCC]
+[Peak=1.9 Mean=0.43
+
+(__glibc Peak=1.7 Mean=0.49)]
+[Peak=1.4 Mean=0.57
+
+(__glibc Peak= 0.96 Mean=0.54)]
+[Peak=0.86 Mean=0.35
+
+(__glibc Peak=0.74 Mean=0.26)]
+
+[Peak=6.0 Mean=1.8
+
+(__glibc Peak=3.0 Mean=0.86)] ]
+[[64] [Linux IA64 / GCC]
+[Peak=0.99 Mean=0.12
+
+(__glibc Peak 0)]
+
+[Pek=1.2 Mean=0.6
+
+(__glibc Peak 0)]
+[Peak=0.86 Mean=0.16
+
+(__glibc Peak 0)]
+[Peak=2.3 Mean=0.69
+
+(__glibc Peak 0)] ]
+[[113] [HPUX IA64, aCC A.06.06]
+[Peak=0.96 Mean=0.13
+
+(__hpc Peak 0)]
+[Peak=0.99 Mean=0.53
+
+(__hpc Peak 0)]
+[Peak=0.9 Mean=0.4
+
+(__hpc Peak 0)]
+[Peak=3.0 Mean=0.9
+
+(__hpc Peak 0)] ]
+]
+
+[h4 Testing]
+
+The main tests for this function involve comparisons against the logs of
+the factorials which can be independently calculated to very high accuracy.
+
+Random tests in key problem areas are also used.
+
+[h4 Implementation]
+
+The generic version of this function is implemented using Sterling's approximation
+for large arguments:
+
+[equation gamma6]
+
+For small arguments, the logarithm of tgamma is used.
+
+For negative /z/ the logarithm version of the
+reflection formula is used:
+
+[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:
+
+[equation lgamm4]
+
+Where L[sub e,g][space] is the Lanczos sum, scaled by e[super g].
+
+As before the reflection formula is used for /z < 0/.
+
+When z is very near 1 or 2, then the logarithmic version of the __lanczos
+suffers very badly from cancellation error: indeed for values sufficiently
+close to 1 or 2, arbitrarily large relative errors can be obtained (even though
+the absolute error is tiny).
+
+For types with up to 113 bits of precision
+(up to and including 128-bit long doubles), root-preserving
+rational approximations [jm_rationals] are used
+over the intervals [1,2] and [2,3]. Over the interval [2,3] the approximation
+form used is:
+
+ lgamma(z) = (z-2)(z+1)(Y + R(z-2));
+
+Where Y is a constant, and R(z-2) is the rational approximation: optimised
+so that it's absolute error is tiny compared to Y. In addition
+small values of z greater
+than 3 can handled by argument reduction using the recurrence relation:
+
+ lgamma(z+1) = log(z) + lgamma(z);
+
+Over the interval [1,2] two approximations have to be used, one for small z uses:
+
+ lgamma(z) = (z-1)(z-2)(Y + R(z-1));
+
+Once again Y is a constant, and R(z-1) is optimised for low absolute error
+compared to Y. For z > 1.5 the above form wouldn't converge to a
+minimax solution but this similar form does:
+
+ lgamma(z) = (2-z)(1-z)(Y + R(2-z));
+
+Finally for z < 1 the recurrence relation can be used to move to z > 1:
+
+ lgamma(z) = lgamma(z+1) - log(z);
+
+Note that while this involves a subtraction, it appears not
+to suffer from cancellation error: as z decreases from 1
+the `-log(z)` term grows positive much more
+rapidly than the `lgamma(z+1)` term becomes negative. So in this
+specific case, significant digits are preserved, rather than cancelled.
+
+For other types which do have a __lanczos defined for them
+the current solution is as follows: imagine we
+balance the two terms in the __lanczos by dividing the power term by its value
+at /z = 1/, and then multiplying the Lanczos coefficients by the same value.
+Now each term will take the value 1 at /z = 1/ and we can rearrange the power terms
+in terms of log1p. Likewise if we subtract 1 from the Lanczos sum part
+(algebraically, by subtracting the value of each term at /z = 1/), we obtain
+a new summation that can be also be fed into log1p. Crucially, all of the
+terms tend to zero, as /z -> 1/:
+
+[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/:
+
+[equation lgamm6]
+
+[endsect][/section:lgamma The Log Gamma Function]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf_and_dist/license.qbk b/libs/math/doc/sf/license.qbk
index 6a3aeb99d3..6a3aeb99d3 100644
--- a/libs/math/doc/sf_and_dist/license.qbk
+++ b/libs/math/doc/sf/license.qbk
diff --git a/libs/math/doc/sf/number_series.qbk b/libs/math/doc/sf/number_series.qbk
new file mode 100644
index 0000000000..1e1019247d
--- /dev/null
+++ b/libs/math/doc/sf/number_series.qbk
@@ -0,0 +1,270 @@
+[section:number_series Number Series]
+
+[section:bernoulli_numbers Bernoulli Numbers]
+
+[@https://en.wikipedia.org/wiki/Bernoulli_number Bernoulli numbers]
+are a sequence of rational numbers useful for the Taylor series expansion,
+Euler-Maclaurin formula, and the Riemann zeta function.
+
+Bernoulli numbers are used in evaluation of some Boost.Math functions,
+including the __tgamma, __lgamma and polygamma functions.
+
+[h4 Single Bernoulli number]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/bernoulli.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class T>
+ T bernoulli_b2n(const int n); // Single Bernoulli number (default policy).
+
+ template <class T, class Policy>
+ T bernoulli_b2n(const int n, const Policy &pol); // User policy for errors etc.
+
+ }} // namespaces
+
+[h4 Description]
+
+Both return the (2 * n)[super th] Bernoulli number B[sub 2n].
+
+Note that since all odd numbered Bernoulli numbers are zero (apart from B[sub 1] which is -[frac12])
+the interface will only return the even numbered Bernoulli numbers.
+
+This function uses fast table lookup for low-indexed Bernoulli numbers, while larger values are calculated
+as needed and then cached. The caching mechanism requires a certain amount of thread safety code, so
+`unchecked_bernoulli_b2n` may provide a better interface for performance critical code.
+
+The final __Policy argument is optional and can be used to control the behaviour of the function:
+how it handles errors, what level of precision to use, etc.
+
+Refer to __policy_section for more details.
+
+[h4 Examples]
+
+[import ../../example/bernoulli_example.cpp]
+[bernoulli_example_1]
+
+[bernoulli_output_1]
+
+[h4 Single (unchecked) Bernoulli number]
+
+[h4 Synopsis]
+``
+#include <boost/math/special_functions/bernoulli.hpp>
+
+``
+
+ template <>
+ struct max_bernoulli_b2n<T>;
+
+ template<class T>
+ inline T unchecked_bernoulli_b2n(unsigned n);
+
+`unchecked_bernoulli_b2n` provides access to Bernoulli numbers [*without any checks for overflow or invalid parameters].
+It is implemented as a direct (and very fast) table lookup, and while not recomended for general use it can be useful
+inside inner loops where the ultimate performance is required, and error checking is moved outside the loop.
+
+The largest value you can pass to `unchecked_bernoulli_b2n<>` is `max_bernoulli_b2n<>::value`: passing values greater than
+that will result in a buffer overrun error, so it's clearly important to place the error handling in your own code
+when using this direct interface.
+
+The value of `boost::math::max_bernoulli_b2n<T>::value` varies by the type T, for types `float`/`double`/`long double`
+it's the largest value which doesn't overflow the target type: for example, `boost::math::max_bernoulli_b2n<double>::value` is 129.
+However, for multiprecision types, it's the largest value for which the result can be represented as the ratio of two 64-bit
+integers, for example `boost::math::max_bernoulli_b2n<boost::multiprecision::cpp_dec_float_50>::value` is just 17. Of course
+larger indexes can be passed to `bernoulli_b2n<T>(n)`, but then then you loose fast table lookup (i.e. values may need to be calculated).
+
+[bernoulli_example_4]
+[bernoulli_output_4]
+
+[h4 Multiple Bernoulli Numbers]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/bernoulli.hpp>
+``
+
+ namespace boost { namespace math {
+
+ // Multiple Bernoulli numbers (default policy).
+ template <class T, class OutputIterator>
+ OutputIterator bernoulli_b2n(
+ int start_index,
+ unsigned number_of_bernoullis_b2n,
+ OutputIterator out_it);
+
+ // Multiple Bernoulli numbers (user policy).
+ template <class T, class OutputIterator, class Policy>
+ OutputIterator bernoulli_b2n(
+ int start_index,
+ unsigned number_of_bernoullis_b2n,
+ OutputIterator out_it,
+ const Policy& pol);
+ }} // namespaces
+
+[h4 Description]
+
+Two versions of the Bernoulli number function are provided to compute multiple Bernoulli numbers
+with one call (one with default policy and the other allowing a user-defined policy).
+
+These return a series of Bernoulli numbers:
+
+[:B[sub 2*start_index],B[sub 2*(start_index+1)],...,B[sub 2*(start_index+number_of_bernoullis_b2n-1)]]
+
+[h4 Examples]
+[bernoulli_example_2]
+[bernoulli_output_2]
+[bernoulli_example_3]
+[bernoulli_output_3]
+
+The source of this example is at [@../../example/bernoulli_example.cpp bernoulli_example.cpp]
+
+[h4 Accuracy]
+
+All the functions usually return values within one ULP (unit in the last place) for the floating-point type.
+
+[h4 Implementation]
+
+The implementation details are in [@../../include/boost/math/special_functions/detail/bernoulli_details.hpp bernoulli_details.hpp]
+and [@../../include/boost/math/special_functions/detail/unchecked_bernoulli.hpp unchecked_bernoulli.hpp].
+
+For `i <= max_bernoulli_index<T>::value` this is implemented by simple table lookup from a statically initialized table;
+for larger values of `i`, this is implemented by the Tangent Numbers algorithm as described in the paper:
+Fast Computation of Bernoulli, Tangent and Secant Numbers, Richard P. Brent and David Harvey,
+[@http://arxiv.org/pdf/1108.0286v3.pdf] (2011).
+
+[@http://mathworld.wolfram.com/TangentNumber.html Tangent (or Zag) numbers]
+(an even alternating permutation number) are defined
+and their generating function is also given therein.
+
+The relation of Tangent numbers with Bernoulli numbers ['B[sub i]]
+is given by Brent and Harvey's equation 14:
+
+__spaces[equation tangent_numbers]
+
+Their relation with Bernoulli numbers ['B[sub i]] are defined by
+
+if i > 0 and i is even then
+__spaces[equation bernoulli_numbers] [br]
+elseif i == 0 then ['B[sub i]] = 1 [br]
+elseif i == 1 then ['B[sub i]] = -1/2 [br]
+elseif i < 0 or i is odd then ['B[sub i]] = 0
+
+Note that computed values are stored in a fixed-size table, access is thread safe via atomic operations (i.e. lock
+free programming), this imparts a much lower overhead on access to cached values than might overwise be expected -
+typically for multiprecision types the cost of thread synchronisation is negligable, while for built in types
+this code is not normally executed anyway. For very large arguments which cannot be reasonably computed or
+stored in our cache, an asymptotic expansion [@http://www.luschny.de/math/primes/bernincl.html due to Luschny] is used:
+
+[equation bernoulli_numbers2]
+
+[endsect] [/section:bernoulli_numbers Bernoulli Numbers]
+
+
+[section:tangent_numbers Tangent Numbers]
+
+[@http://en.wikipedia.org/wiki/Tangent_numbers Tangent numbers],
+also called a zag function. See also
+[@http://mathworld.wolfram.com/TangentNumber.html Tangent number].
+
+The first few values are 1, 2, 16, 272, 7936, 353792, 22368256, 1903757312 ...
+(sequence [@http://oeis.org/A000182 A000182 in OEIS]).
+They are called tangent numbers because they appear as
+numerators in the Maclaurin series of `tan(x)`.
+
+[*Important:] there are two competing definitions of Tangent numbers in common use
+(depending on whether you take the even or odd numbered values as non-zero), we use:
+
+[equation tangent_number_def]
+
+Which gives:
+
+[equation tangent_number_def2]
+
+Tangent numbers are used in the computation of Bernoulli numbers,
+but are also made available here.
+
+[h4 Synopsis]
+``
+#include <boost/math/special_functions/detail/bernoulli.hpp>
+``
+
+ template <class T>
+ T tangent_t2n(const int i); // Single tangent number (default policy).
+
+ template <class T, class Policy>
+ T tangent_t2n(const int i, const Policy &pol); // Single tangent number (user policy).
+
+ // Multiple tangent numbers (default policy).
+ template <class T, class OutputIterator>
+ OutputIterator tangent_t2n(const int start_index,
+ const unsigned number_of_tangent_t2n,
+ OutputIterator out_it);
+
+ // Multiple tangent numbers (user policy).
+ template <class T, class OutputIterator, class Policy>
+ OutputIterator tangent_t2n(const int start_index,
+ const unsigned number_of_tangent_t2n,
+ OutputIterator out_it,
+ const Policy& pol);
+
+[h4 Examples]
+
+[tangent_example_1]
+
+The output is:
+[tangent_output_1]
+
+The source of this example is at [@../../example/bernoulli_example.cpp bernoulli_example.cpp]
+
+[h4 Implementation]
+
+Tangent numbers are calculated as intermediates in the calculation of the __bernoulli_numbers:
+refer to the __bernoulli_numbers documentation for details.
+
+[endsect] [/section:tangent_numbers Tangent Numbers]
+
+[section:primes Prime Numbers]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/prime.hpp>
+``
+
+ namespace boost { namespace math {
+
+ template <class Policy>
+ boost::uint32_t prime(unsigned n, const Policy& pol);
+
+ boost::uint32_t prime(unsigned n);
+
+ static const unsigned max_prime = 10000;
+
+ }} // namespaces
+
+[h4 Description]
+
+The function `prime` provides fast table lookup to the first 10000 prime numbers (starting from 2
+as the zeroth prime: as 1 isn't terribly useful in practice). There are two function signatures
+one of which takes an optional __Policy as the second parameter to control error handling.
+
+The constant `max_prime` is the largest value you can pass to `prime` without incurring an error.
+
+Passing a value greater than `max_prime` results in a __domain_error being raised.
+
+[endsect] [/section:primes]
+
+[endsect] [/Number Series]
+
+[/
+ Copyright 2013, 2014 Nikhar Agrawal, Christopher Kormanyos, John Maddock, Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
diff --git a/libs/math/doc/sf/owens_t.qbk b/libs/math/doc/sf/owens_t.qbk
new file mode 100644
index 0000000000..7def605cc6
--- /dev/null
+++ b/libs/math/doc/sf/owens_t.qbk
@@ -0,0 +1,134 @@
+[section:owens_t Owen's T function]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/owens_t.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` owens_t(T h, T a);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` owens_t(T h, T a, const ``__Policy``&);
+
+ }} // namespaces
+
+[h4 Description]
+
+Returns the
+[@http://en.wikipedia.org/wiki/Owen%27s_T_function Owens_t function]
+of ['h] and ['a].
+
+[optional_policy]
+
+[sixemspace][sixemspace][equation owens_t]
+
+[$../graphs/plot_owens_t.png]
+
+The function `owens_t(h, a)` gives the probability
+of the event ['(X > h and 0 < Y < a * X)],
+where ['X] and ['Y] are independent standard normal random variables.
+
+For h and a > 0, T(h,a),
+gives the volume of an uncorrelated bivariate normal distribution
+with zero means and unit variances over the area between
+['y = ax] and ['y = 0] and to the right of ['x = h].
+
+That is the area shaded in the figure below (Owens 1956).
+
+[graph owens_integration_area]
+
+and is also illustrated by a 3D plot.
+
+[$../graphs/plot_owens_3d_xyp.png]
+
+This function is used in the computation of the __skew_normal_distrib.
+It is also used in the computation of bivariate and
+multivariate normal distribution probabilities.
+The return type of this function is computed using the __arg_pomotion_rules:
+the result is of type `double` when T is an integer type, and type T otherwise.
+
+Owen's original paper (page 1077) provides some additional corner cases.
+
+[: ['T(h, 0) = 0]]
+
+[:['T(0, a) = [frac12][pi] arctan(a)]]
+
+[:['T(h, 1) = [frac12] G(h) \[1 - G(h)\]]]
+
+[:['T(h, [infin]) = G(|h|)]]
+
+where G(h) is the univariate normal with zero mean and unit variance integral from -[infin] to h.
+
+[h4 Accuracy]
+
+Over the built-in types and range tested,
+errors are less than 10 * std::numeric_limits<RealType>::epsilon().
+
+[h4 Testing]
+
+Test data was generated by Patefield and Tandy algorithms T1 and T4,
+and also the suggested reference routine T7.
+
+* T1 was rejected if the result was too small compared to `atan(a)` (ie cancellation),
+* T4 was rejected if there was no convergence,
+* Both were rejected if they didn't agree.
+
+Over the built-in types and range tested,
+errors are less than 10 std::numeric_limits<RealType>::epsilon().
+
+However, that there was a whole domain (large ['h], small ['a])
+where it was not possible to generate any reliable test values
+(all the methods got rejected for one reason or another).
+
+There are also two sets of sanity tests: spot values are computed using __Mathematica and __R.
+
+
+[h4 Implementation]
+
+The function was proposed and evaluated by
+[@http://projecteuclid.org/DPubS?service=UI&version=1.0&verb=Display&handle=euclid.aoms/1177728074
+Donald. B. Owen, Tables for computing bivariate normal probabilities,
+Ann. Math. Statist., 27, 1075-1090 (1956)].
+
+The algorithms of Patefield, M. and Tandy, D.
+"Fast and accurate Calculation of Owen's T-Function", Journal of Statistical Software, 5 (5), 1 - 25 (2000)
+are adapted for C++ with arbitrary RealType.
+
+The Patefield-Tandy algorithm provides six methods of evalualution (T1 to T6);
+the best method is selected according to the values of ['a] and ['h].
+See the original paper and the source in
+[@../../../../boost/math/special_functions/owens_t.hpp owens_t.hpp] for details.
+
+The Patefield-Tandy algorithm is accurate to approximately 20 decimal places, so for
+types with greater precision we use:
+
+* A modified version of T1 which folds the calculation of ['atan(h)] into the T1 series
+(to avoid subtracting two values similar in magnitude), and then accelerates the
+resulting alternating series using method 1 from H. Cohen, F. Rodriguez Villegas, D. Zagier,
+"Convergence acceleration of alternating series", Bonn, (1991). The result is valid everywhere,
+but doesn't always converge, or may become too divergent in the first few terms to sum accurately.
+This is used for ['ah < 1].
+* A modified version of T2 which is accelerated in the same manner as T1. This is used for ['h > 1].
+* A version of T4 only when both T1 and T2 have failed to produce an accurate answer.
+* Fallback to the Patefiled Tandy algorithm when all the above methods fail: this happens not at all
+for our test data at 100 decimal digits precision. However, there is a difficult area when
+['a] is very close to 1 and the precision increases which may cause this to happen in very exceptional
+circumstances.
+
+Using the above algorithm and a 100-decimal digit type, results accurate to 80 decimal places were obtained
+in the difficult area where ['a] is close to 1, and greater than 95 decimal places elsewhere.
+
+[endsect] [/section:owens_t The owens_t Function]
+
+[/
+ Copyright 2012 Bejamin Sobotta, John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+
diff --git a/libs/math/doc/sf_and_dist/poisson_optimisation.qbk b/libs/math/doc/sf/poisson_optimisation.qbk
index 1b16cfa7e7..1b16cfa7e7 100644
--- a/libs/math/doc/sf_and_dist/poisson_optimisation.qbk
+++ b/libs/math/doc/sf/poisson_optimisation.qbk
diff --git a/libs/math/doc/sf/pow.qbk b/libs/math/doc/sf/pow.qbk
new file mode 100644
index 0000000000..bf46c82955
--- /dev/null
+++ b/libs/math/doc/sf/pow.qbk
@@ -0,0 +1,157 @@
+[section:ct_pow Compile Time Power of a Runtime Base]
+
+The `pow` function effectively computes the compile-time integral
+power of a run-time base.
+
+[h4 Synopsis]
+
+[@../../../../boost/math/special_functions/pow.hpp `#include <boost/math/special_functions/pow.hpp>`]
+
+ namespace boost { namespace math {
+
+ template <int N, typename T>
+ ``__sf_result`` pow(T base);
+
+ template <int N, typename T, class Policy>
+ ``__sf_result`` pow(T base, const Policy& policy);
+
+ }}
+
+[h4 Rationale and Usage]
+
+Computing the power of a number with an exponent that is known
+at compile time is a common need for programmers. In such cases,
+the usual method is to avoid the overhead implied by
+the `pow`, `powf` and `powl` C functions by hardcoding an expression
+such as:
+
+ // Hand-written 8th power of a 'base' variable
+ double result = base*base*base*base*base*base*base*base;
+
+However, this kind of expression is not really readable (knowing the
+value of the exponent involves counting the number of occurrences of /base/),
+error-prone (it's easy to forget an occurrence), syntactically bulky, and
+non-optimal in terms of performance.
+
+The pow function of Boost.Math helps writing this kind expression along
+with solving all the problems listed above:
+
+ // 8th power of a 'base' variable using math::pow
+ double result = pow<8>(base);
+
+The expression is now shorter, easier to read, safer, and even faster.
+Indeed, `pow` will compute the expression such that only log2(N)
+products are made for a power of N. For instance in the
+example above, the resulting expression will be the same as if we had
+written this, with only one computation of each identical subexpression:
+
+ // Internal effect of pow<8>(base)
+ double result = ((base*base)*(base*base))*((base*base)*(base*base));
+
+Only 3 different products were actually computed.
+
+
+[h4 Return Type]
+
+The return type of these functions is computed using the __arg_pomotion_rules.
+For example:
+
+* If T is a `float`, the return type is a `float`.
+* If T is a `long double`, the return type is a `long double`.
+* Otherwise, the return type is a `double`.
+
+[h4 Policies]
+
+[optional_policy]
+
+[h4 Error Handling]
+
+Two cases of errors can occur when using `pow`:
+
+* In case of null base and negative exponent, an __overflow_error occurs since
+this operation is a division by 0 (it equals to 1/0).
+* In case of null base and null exponent, an __indeterminate_result_error
+occurs since the result of this operation is indeterminate.
+Those errors follow the
+[link math_toolkit.error_handling
+general policies of error handling in Boost.Math].
+
+The default overflow error policy is `throw_on_error`. A call like `pow<-2>(0)`
+will thus throw a `std::overflow_error` exception. As shown in the
+link given above, other error handling policies can be used:
+
+* `errno_on_error`: Sets `::errno` to `ERANGE` and returns `std::numeric_limits<T>::infinity()`.
+* `ignore_error`: Returns `std::numeric_limits<T>::infinity()`.
+* `user_error`: Returns the result of `boost::math::policies::user_overflow_error`:
+ this function must be defined by the user.
+
+The default indeterminate result error policy is `ignore_error`, which for this
+function returns 1 since it's the most commonly chosen result for a power of 0.
+Here again, other error handling policies can be used:
+
+* `throw_on_error`: Throws `std::domain_error`
+* `errno_on_error`: Sets `::errno` to `EDOM` and returns 1.
+* `user_error`: Returns the result of `boost::math::policies::user_indeterminate_result_error`:
+ this function must be defined by the user.
+
+Here is an example of error handling customization where we want to
+specify the result that has to be returned in case of error. We will
+thus use the `user_error` policy, by passing as second argument an
+instance of an overflow_error policy templated with `user_error`:
+
+ // First we open the boost::math::policies namespace and define the `user_overflow_error`
+ // by making it return the value we want in case of error (-1 here)
+
+ namespace boost { namespace math { namespace policies {
+ template <class T>
+ T user_overflow_error(const char*, const char*, const T&)
+ { return -1; }
+ }}}
+
+
+ // Then we invoke pow and indicate that we want to use the user_error policy
+ using boost::math::policies;
+ double result = pow<-5>(base, policy<overflow_error<user_error> >());
+
+ // We can now test the returned value and treat the special case if needed:
+ if (result == -1)
+ {
+ // there was an error, do something...
+ }
+
+Another way is to redefine the default `overflow_error` policy by using the
+BOOST_MATH_OVERFLOW_ERROR_POLICY macro. Once the `user_overflow_error` function
+is defined as above, we can achieve the same result like this:
+
+ // Redefine the default error_overflow policy
+ #define BOOST_MATH_OVERFLOW_ERROR_POLICY user_error
+ #include <boost/math/special_functions/pow.hpp>
+
+ // From this point, passing a policy in argument is no longer needed, a call like this one
+ // will return -1 in case of error:
+
+ double result = pow<-5>(base);
+
+
+[h4 Acknowledgements]
+
+Bruno Lalande submitted this addition to Boost.Math.
+
+'''
+Thanks to Joaqu&#xed;n L&#xf3;pez Mu&#xf1;oz and Scott McMurray for their help in
+improving the implementation.
+'''
+
+[h4 References]
+
+D.E. Knuth, ['The Art of Computer Programming, Vol. 2: Seminumerical Algorithms], 2nd ed., Addison-Wesley, Reading, MA, 1981
+
+[endsect]
+
+[/
+ Copyright 2008 Bruno Lalande.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/sf/powers.qbk b/libs/math/doc/sf/powers.qbk
new file mode 100644
index 0000000000..02683ed875
--- /dev/null
+++ b/libs/math/doc/sf/powers.qbk
@@ -0,0 +1,336 @@
+[section:powers Basic Functions]
+
+[section:sin_pi sin_pi]
+
+``
+#include <boost/math/special_functions/sin_pi.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` sin_pi(T x);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` sin_pi(T x, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns the sine of ['[pi]x].
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return is `double` when /x/ is an integer type and T otherwise.
+
+[optional_policy]
+
+This function performs exact all-integer arithmetic argument reduction before computing the sine of ['[pi]x].
+
+[endsect]
+
+[section:cos_pi cos_pi]
+
+``
+#include <boost/math/special_functions/cos_pi.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` cos_pi(T x);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` cos_pi(T x, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns the cosine of ['[pi]x].
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return is `double` when /x/ is an integer type and T otherwise.
+
+[optional_policy]
+
+This function performs exact all-integer arithmetic argument reduction before computing the cosine of ['[pi]x].
+
+[endsect]
+
+[section:log1p log1p]
+
+``
+#include <boost/math/special_functions/log1p.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` log1p(T x);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` log1p(T x, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns the natural logarithm of `x+1`.
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return is `double` when /x/ is an integer type and T otherwise.
+
+[optional_policy]
+
+There are many situations where it is desirable to compute `log(x+1)`.
+However, for small `x` then `x+1` suffers from catastrophic cancellation errors
+so that `x+1 == 1` and `log(x+1) == 0`, when in fact for very small x, the
+best approximation to `log(x+1)` would be `x`. `log1p` calculates the best
+approximation to `log(1+x)` using a Taylor series expansion for accuracy
+(less than __te).
+Alternatively note that there are faster methods available,
+for example using the equivalence:
+
+ log(1+x) == (log(1+x) * x) / ((1+x) - 1)
+
+However, experience has shown that these methods tend to fail quite spectacularly
+once the compiler's optimizations are turned on, consequently they are
+used only when known not to break with a particular compiler.
+In contrast, the series expansion method seems to be reasonably
+immune to optimizer-induced errors.
+
+Finally when BOOST_HAS_LOG1P is defined then the `float/double/long double`
+specializations of this template simply forward to the platform's
+native (POSIX) implementation of this function.
+
+The following graph illustrates the behaviour of log1p:
+
+[graph log1p]
+
+[h4 Accuracy]
+
+For built in floating point types `log1p`
+should have approximately 1 epsilon accuracy.
+
+[h4 Testing]
+
+A mixture of spot test sanity checks, and random high precision test values
+calculated using NTL::RR at 1000-bit precision.
+
+[endsect]
+
+[section:expm1 expm1]
+
+``
+#include <boost/math/special_functions/expm1.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` expm1(T x);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` expm1(T x, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns e[super x] - 1.
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return is `double` when /x/ is an integer type and T otherwise.
+
+[optional_policy]
+
+For small x, then __ex is very close to 1, as a result calculating __exm1 results
+in catastrophic cancellation errors when x is small. `expm1` calculates __exm1 using
+rational approximations (for up to 128-bit long doubles), otherwise via
+a series expansion when x is small (giving an accuracy of less than __te).
+
+Finally when BOOST_HAS_EXPM1 is defined then the `float/double/long double`
+specializations of this template simply forward to the platform's
+native (POSIX) implementation of this function.
+
+The following graph illustrates the behaviour of expm1:
+
+[graph expm1]
+
+[h4 Accuracy]
+
+For built in floating point types `expm1`
+should have approximately 1 epsilon accuracy.
+
+[h4 Testing]
+
+A mixture of spot test sanity checks, and random high precision test values
+calculated using NTL::RR at 1000-bit precision.
+
+[endsect]
+
+[section:cbrt cbrt]
+
+``
+#include <boost/math/special_functions/cbrt.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` cbrt(T x);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` cbrt(T x, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns the cubed root of x: x[super 1/3].
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return is `double` when /x/ is an integer type and T otherwise.
+
+[optional_policy]
+
+Implemented using Halley iteration.
+
+The following graph illustrates the behaviour of cbrt:
+
+[graph cbrt]
+
+[h4 Accuracy]
+
+For built in floating-point types `cbrt`
+should have approximately 2 epsilon accuracy.
+
+[h4 Testing]
+
+A mixture of spot test sanity checks, and random high precision test values
+calculated using NTL::RR at 1000-bit precision.
+
+[endsect]
+
+[section:sqrt1pm1 sqrt1pm1]
+
+``
+#include <boost/math/special_functions/sqrt1pm1.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` sqrt1pm1(T x);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` sqrt1pm1(T x, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns `sqrt(1+x) - 1`.
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the return is `double` when /x/ is an integer type and T otherwise.
+
+[optional_policy]
+
+This function is useful when you need the difference between sqrt(x) and 1, when
+x is itself close to 1.
+
+Implemented in terms of `log1p` and `expm1`.
+
+The following graph illustrates the behaviour of sqrt1pm1:
+
+[graph sqrt1pm1]
+
+[h4 Accuracy]
+
+For built in floating-point types `sqrt1pm1`
+should have approximately 3 epsilon accuracy.
+
+[h4 Testing]
+
+A selection of random high precision test values
+calculated using NTL::RR at 1000-bit precision.
+
+[endsect]
+
+[section:powm1 powm1]
+
+``
+#include <boost/math/special_functions/powm1.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T1, class T2>
+ ``__sf_result`` powm1(T1 x, T2 y);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` powm1(T1 x, T2 y, const ``__Policy``&);
+
+ }} // namespaces
+
+Returns x[super y ] - 1.
+
+The return type of this function is computed using the __arg_pomotion_rules
+when T1 and T2 are dufferent types.
+
+[optional_policy]
+
+There are two domains where this is useful: when y is very small, or when
+x is close to 1.
+
+Implemented in terms of `expm1`.
+
+The following graph illustrates the behaviour of powm1:
+
+[graph powm1]
+
+[h4 Accuracy]
+
+Should have approximately 2-3 epsilon accuracy.
+
+[h4 Testing]
+
+A selection of random high precision test values
+calculated using NTL::RR at 1000-bit precision.
+
+[endsect]
+
+[section:hypot hypot]
+
+ template <class T1, class T2>
+ ``__sf_result`` hypot(T1 x, T2 y);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` hypot(T1 x, T2 y, const ``__Policy``&);
+
+__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
+when T1 and T2 are of different types.
+
+[optional_policy]
+
+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]
+
+The function is even and symmetric in x and y, so first take assume
+['x,y > 0] and ['x > y] (we can permute the arguments if this is not the case).
+
+Then if ['x * [epsilon][space] >= y] we can simply return /x/.
+
+Otherwise the result is given by:
+
+[equation hypot2]
+
+[endsect]
+
+[include pow.qbk]
+
+
+[endsect][/section:powers Logs, Powers, Roots and Exponentials]
+
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/sf/sinc.qbk b/libs/math/doc/sf/sinc.qbk
new file mode 100644
index 0000000000..bd00557b13
--- /dev/null
+++ b/libs/math/doc/sf/sinc.qbk
@@ -0,0 +1,110 @@
+[/ math.qbk
+ Copyright 2006 Hubert Holin and John Maddock.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
+[section:sinc Sinus Cardinal and Hyperbolic Sinus Cardinal Functions]
+
+[section:sinc_overview Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview]
+
+The [@http://mathworld.wolfram.com/SincFunction.html Sinus Cardinal family of functions]
+(indexed by the family of indices [^a > 0])
+is defined by
+
+[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
+
+[equation special_functions_blurb22]
+
+These two families of functions are composed of entire functions.
+
+These functions (__sinc_pi and __sinhc_pi) are needed by
+[@http://www.boost.org/libs/math/quaternion/quaternion.html our implementation]
+of [@http://mathworld.wolfram.com/Quaternion.html quaternions]
+and [@http://mathworld.wolfram.com/Octonion.html octonions].
+
+[: ['[*Sinus Cardinal of index pi (purple) and Hyperbolic Sinus Cardinal of index pi (red) on R]]]
+[: [$../graphs/sinc_pi_and_sinhc_pi_on_r.png]]
+
+[endsect]
+
+[section sinc_pi]
+
+``
+#include <boost/math/special_functions/sinc.hpp>
+``
+
+ template<class T>
+ ``__sf_result`` sinc_pi(const T x);
+
+ template<class T, class ``__Policy``>
+ ``__sf_result`` sinc_pi(const T x, const ``__Policy``&);
+
+ template<class T, template<typename> class U>
+ U<T> sinc_pi(const U<T> x);
+
+ template<class T, template<typename> class U, class ``__Policy``>
+ U<T> sinc_pi(const U<T> x, const ``__Policy``&);
+
+Computes
+[link math_toolkit.sinc.sinc_overview
+the Sinus Cardinal] of x:
+
+ sinc_pi(x) = sin(x) / x
+
+The second form is for complex numbers,
+quaternions, octonions etc. Taylor series are used at the origin
+to ensure accuracy.
+
+[graph sinc_pi]
+
+[optional_policy]
+
+[endsect]
+
+[section sinhc_pi]
+
+``
+#include <boost/math/special_functions/sinhc.hpp>
+``
+
+ template<class T>
+ ``__sf_result`` sinhc_pi(const T x);
+
+ template<class T, class ``__Policy``>
+ ``__sf_result`` sinhc_pi(const T x, const ``__Policy``&);
+
+ template<typename T, template<typename> class U>
+ U<T> sinhc_pi(const U<T> x);
+
+ template<class T, template<typename> class U, class ``__Policy``>
+ U<T> sinhc_pi(const U<T> x, const ``__Policy``&);
+
+Computes http://mathworld.wolfram.com/SinhcFunction.html
+[link math_toolkit.sinc.sinc_overview
+the Hyperbolic Sinus Cardinal] of x:
+
+ sinhc_pi(x) = sinh(x) / x
+
+The second form is for
+complex numbers, quaternions, octonions etc. Taylor series are used at the origin
+to ensure accuracy.
+
+The return type of the first form is computed using the __arg_pomotion_rules
+when T is an integer type.
+
+[optional_policy]
+
+[graph sinhc_pi]
+
+[endsect]
+
+[endsect]
diff --git a/libs/math/doc/sf/spherical_harmonic.qbk b/libs/math/doc/sf/spherical_harmonic.qbk
new file mode 100644
index 0000000000..221615acae
--- /dev/null
+++ b/libs/math/doc/sf/spherical_harmonic.qbk
@@ -0,0 +1,150 @@
+[section:sph_harm Spherical Harmonics]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/spherical_harmonic.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T1, class T2>
+ std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi);
+
+ template <class T1, class T2, class ``__Policy``>
+ std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
+
+ template <class T1, class T2>
+ ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
+
+ }} // namespaces
+
+[h4 Description]
+
+The return type of these functions is computed using the __arg_pomotion_rules
+when T1 and T2 are different types.
+
+[optional_policy]
+
+ template <class T1, class T2>
+ std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi);
+
+ template <class T1, class T2, class ``__Policy``>
+ std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
+
+Returns the value of the Spherical Harmonic Y[sub n][super m](theta, phi):
+
+[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
+where azimuthal symmetry is not present.
+
+[caution Care must be taken in correctly identifying the arguments to this
+function: [theta][space] is taken as the polar (colatitudinal) coordinate
+with [theta][space] in \[0, [pi]\], and [phi][space] as the azimuthal (longitudinal)
+coordinate with [phi][space] in \[0,2[pi]). This is the convention used in Physics,
+and matches the definition used by
+[@http://documents.wolfram.com/mathematica/functions/SphericalHarmonicY
+Mathematica in the function SpericalHarmonicY],
+but is opposite to the usual mathematical conventions.
+
+Some other sources include an additional Condon-Shortley phase term of
+(-1)[super m] in the definition of this function: note however that our
+definition of the associated Legendre polynomial already includes this term.
+
+This implementation returns zero for m > n
+
+For [theta][space] outside \[0, [pi]\] and [phi][space] outside \[0, 2[pi]\] this
+implementation follows the convention used by Mathematica:
+the function is periodic with period [pi][space] in [theta][space] and 2[pi][space] in
+[phi]. Please note that this is not the behaviour one would get
+from a casual application of the function's definition. Cautious users
+should keep [theta][space] and [phi][space] to the range \[0, [pi]\] and
+\[0, 2[pi]\] respectively.
+
+See: [@http://mathworld.wolfram.com/SphericalHarmonic.html
+Weisstein, Eric W. "Spherical Harmonic."
+From MathWorld--A Wolfram Web Resource]. ]
+
+ template <class T1, class T2>
+ ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
+
+Returns the real part of Y[sub n][super m](theta, phi):
+
+[equation spherical_1]
+
+ template <class T1, class T2>
+ ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
+
+ template <class T1, class T2, class ``__Policy``>
+ ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
+
+Returns the imaginary part of Y[sub n][super m](theta, phi):
+
+[equation spherical_2]
+
+[h4 Accuracy]
+
+The following table shows peak errors for various domains of input arguments.
+Note that only results for the widest floating point type on the system are
+given as narrower types have __zero_error. Peak errors are the same
+for both the real and imaginary parts, as the error is dominated by
+calculation of the associated Legendre polynomials: especially near the
+roots of the associated Legendre function.
+
+All values are in units of epsilon.
+
+[table Peak Errors In the Sperical Harmonic Functions
+[[Significand Size] [Platform and Compiler] [Errors in range
+
+0 < l < 20] ]
+[[53] [Win32, Visual C++ 8] [Peak=2x10[super 4] Mean=700] ]
+[[64] [SUSE Linux IA32, g++ 4.1] [Peak=2900 Mean=100]]
+[[64] [Red Hat Linux IA64, g++ 3.4.4] [Peak=2900 Mean=100] ]
+[[113] [HPUX IA64, aCC A.06.06] [Peak=6700 Mean=230]]
+]
+
+Note that the worst errors occur when the degree increases, values greater than
+~120 are very unlikely to produce sensible results, especially
+when the order is also large. Further the relative errors
+are likely to grow arbitrarily large when the function is very close to a root.
+
+[h4 Testing]
+
+A mixture of spot tests of values calculated using functions.wolfram.com,
+and randomly generated test data are
+used: the test data was computed using
+[@http://shoup.net/ntl/doc/RR.txt NTL::RR] at 1000-bit precision.
+
+[h4 Implementation]
+
+These functions are implemented fairly naively using the formulae
+given above. Some extra care is taken to prevent roundoff error
+when converting from polar coordinates (so for example the
+['1-x[super 2]] term used by the associated Legendre functions is calculated
+without roundoff error using ['x = cos(theta)], and
+['1-x[super 2] = sin[super 2](theta)]). The limiting factor in the error
+rates for these functions is the need to calculate values near the roots
+of the associated Legendre functions.
+
+[endsect][/section:beta_function The Beta Function]
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/sf_and_dist/test_html4_symbols.qbk b/libs/math/doc/sf/test_html4_symbols.qbk
index f19684d102..f19684d102 100644
--- a/libs/math/doc/sf_and_dist/test_html4_symbols.qbk
+++ b/libs/math/doc/sf/test_html4_symbols.qbk
diff --git a/libs/math/doc/sf/tgamma.qbk b/libs/math/doc/sf/tgamma.qbk
new file mode 100644
index 0000000000..0522f9a45d
--- /dev/null
+++ b/libs/math/doc/sf/tgamma.qbk
@@ -0,0 +1,201 @@
+[section:tgamma Gamma]
+
+[h4 Synopsis]
+
+``
+#include <boost/math/special_functions/gamma.hpp>
+``
+
+ namespace boost{ namespace math{
+
+ template <class T>
+ ``__sf_result`` tgamma(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` tgamma(T z, const ``__Policy``&);
+
+ template <class T>
+ ``__sf_result`` tgamma1pm1(T dz);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` tgamma1pm1(T dz, const ``__Policy``&);
+
+ }} // namespaces
+
+[h4 Description]
+
+ template <class T>
+ ``__sf_result`` tgamma(T z);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` tgamma(T z, const ``__Policy``&);
+
+Returns the "true gamma" (hence name tgamma) of value z:
+
+[equation gamm1]
+
+[graph tgamma]
+
+[optional_policy]
+
+There are effectively two versions of the [@http://en.wikipedia.org/wiki/Gamma_function tgamma]
+function internally: a fully
+generic version that is slow, but reasonably accurate, and a much more
+efficient approximation that is used where the number of digits in the significand
+of T correspond to a certain __lanczos. In practice any built in
+floating point type you will encounter has an appropriate __lanczos
+defined for it. It is also possible, given enough machine time, to generate
+further __lanczos's using the program libs/math/tools/lanczos_generator.cpp.
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the result is `double` when T is an integer type, and T otherwise.
+
+ template <class T>
+ ``__sf_result`` tgamma1pm1(T dz);
+
+ template <class T, class ``__Policy``>
+ ``__sf_result`` tgamma1pm1(T dz, const ``__Policy``&);
+
+Returns `tgamma(dz + 1) - 1`. Internally the implementation does not make
+use of the addition and subtraction implied by the definition, leading to
+accurate results even for very small `dz`. However, the implementation is
+capped to either 35 digit accuracy, or to the precision of the __lanczos
+associated with type T, whichever is more accurate.
+
+The return type of this function is computed using the __arg_pomotion_rules:
+the result is `double` when T is an integer type, and T otherwise.
+
+[optional_policy]
+
+[h4 Accuracy]
+
+The following table shows the peak errors (in units of epsilon)
+found on various platforms with various floating point types,
+along with comparisons to the __gsl, __glibc, __hpc and __cephes libraries.
+Unless otherwise specified any floating point type that is narrower
+than the one shown will have __zero_error.
+
+[table
+[[Significand Size] [Platform and Compiler] [Factorials and Half factorials] [Values Near Zero] [Values Near 1 or 2] [Values Near a Negative Pole]]
+[[53] [Win32 Visual C++ 8]
+[Peak=1.9 Mean=0.7
+
+(GSL=3.9)
+
+(__cephes=3.0)]
+[Peak=2.0 Mean=1.1
+
+(GSL=4.5)
+
+(__cephes=1)]
+[Peak=2.0 Mean=1.1
+
+(GSL=7.9)
+
+(__cephes=1.0)]
+[Peak=2.6 Mean=1.3
+
+(GSL=2.5)
+
+(__cephes=2.7)] ]
+[[64] [Linux IA32 / GCC]
+[Peak=300 Mean=49.5
+
+(__glibc Peak=395 Mean=89)]
+[Peak=3.0 Mean=1.4
+
+(__glibc Peak=11 Mean=3.3)]
+[Peak=5.0 Mean=1.8
+
+(__glibc Peak=0.92 Mean=0.2)]
+[Peak=157 Mean=65
+
+(__glibc Peak=205 Mean=108)] ]
+[[64] [Linux IA64 / GCC]
+[__glibc Peak 2.8 Mean=0.9
+
+(__glibc Peak 0.7)]
+[Peak=4.8 Mean=1.5
+
+(__glibc Peak 0)]
+[Peak=4.8 Mean=1.5
+
+(__glibc Peak 0)]
+
+[Peak=5.0 Mean=1.7
+(__glibc Peak 0)] ]
+[[113] [HPUX IA64, aCC A.06.06]
+[Peak=2.5 Mean=1.1
+
+(__hpc Peak 0)]
+[Peak=3.5 Mean=1.7
+
+(__hpc Peak 0)]
+[Peak=3.5 Mean=1.6
+
+(__hpc Peak 0)]
+[Peak=5.2 Mean=1.92
+
+(__hpc Peak 0)] ]
+]
+
+[h4 Testing]
+
+The gamma is relatively easy to test: factorials and half-integer factorials
+can be calculated exactly by other means and compared with the gamma function.
+In addition, some accuracy tests in known tricky areas were computed at high precision
+using the generic version of this function.
+
+The function `tgamma1pm1` is tested against values calculated very naively
+using the formula `tgamma(1+dz)-1` with a lanczos approximation accurate
+to around 100 decimal digits.
+
+[h4 Implementation]
+
+The generic version of the `tgamma` function is implemented Sterling's approximation
+for lgamma for large z:
+
+[equation gamma6]
+
+Following exponentiation, downward recursion is then used for small values of z.
+
+For types of known precision the __lanczos is used, a traits class
+`boost::math::lanczos::lanczos_traits` maps type T to an appropriate
+approximation.
+
+For z in the range -20 < z < 1 then recursion is used to shift to z > 1 via:
+
+[equation gamm3]
+
+For very small z, this helps to preserve the identity:
+
+[equation gamm4]
+
+For z < -20 the reflection formula:
+
+[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
+result in is the range [0, [pi]/2]. Without this an excessive amount of error occurs
+in this region (which is hard enough already, as the rate of change near a negative pole
+is /exceptionally/ high).
+
+Finally if the argument is a small integer then table lookup of the factorial
+is used.
+
+The function `tgamma1pm1` is implemented using rational approximations [jm_rationals] in the
+region `-0.5 < dz < 2`. These are the same approximations (and internal routines)
+that are used for __lgamma, and so aren't detailed further here. The result of
+the approximation is `log(tgamma(dz+1))` which can fed into __expm1 to give
+the desired result. Outside the range `-0.5 < dz < 2` then the naive formula
+`tgamma1pm1(dz) = tgamma(dz+1)-1` can be used directly.
+
+[endsect][/section:tgamma The Gamma Function]
+[/
+ Copyright 2006 John Maddock and Paul A. Bristow.
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+]
+
diff --git a/libs/math/doc/sf_and_dist/zeta.qbk b/libs/math/doc/sf/zeta.qbk
index 08186c6a46..08186c6a46 100644
--- a/libs/math/doc/sf_and_dist/zeta.qbk
+++ b/libs/math/doc/sf/zeta.qbk
diff --git a/libs/math/doc/sf_and_dist/Jamfile.v2 b/libs/math/doc/sf_and_dist/Jamfile.v2
deleted file mode 100644
index f8fdf02767..0000000000
--- a/libs/math/doc/sf_and_dist/Jamfile.v2
+++ /dev/null
@@ -1,89 +0,0 @@
-
-# Copyright John Maddock 2005. Use, modification, and distribution are
-# subject to the Boost Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-using quickbook ;
-using auto-index ;
-import modules ;
-
-path-constant images_location : html ;
-path-constant here : . ;
-
-xml math : math.qbk ;
-boostbook standalone
- :
- math
- :
- # Path for links to Boost:
- <xsl:param>boost.root=../../../../..
-
- # Some general style settings:
- <xsl:param>table.footnote.number.format=1
- <xsl:param>footnote.number.format=1
-
- # HTML options first:
- # Use graphics not text for navigation:
- <xsl:param>navig.graphics=1
- # How far down we chunk nested sections, basically all of them:
- <xsl:param>chunk.section.depth=10
- # Don't put the first section on the same page as the TOC:
- <xsl:param>chunk.first.sections=1
- # How far down sections get TOC's
- <xsl:param>toc.section.depth=10
- # Max depth in each TOC:
- <xsl:param>toc.max.depth=4
- # How far down we go with TOC's
- <xsl:param>generate.section.toc.level=10
- # Index on type:
- <xsl:param>index.on.type=1
-
- #<xsl:param>root.filename="sf_dist_and_tools"
- #<xsl:param>graphicsize.extension=1
- #<xsl:param>use.extensions=1
-
- # PDF Options:
- # TOC Generation: this is needed for FOP-0.9 and later:
- <xsl:param>fop1.extensions=0
- <format>pdf:<xsl:param>xep.extensions=1
- # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
- <format>pdf:<xsl:param>fop.extensions=0
- <format>pdf:<xsl:param>fop1.extensions=0
- # No indent on body text:
- <format>pdf:<xsl:param>body.start.indent=0pt
- # Margin size:
- <format>pdf:<xsl:param>page.margin.inner=0.5in
- # Margin size:
- <format>pdf:<xsl:param>page.margin.outer=0.5in
- # Paper type = A4
- <format>pdf:<xsl:param>paper.type=A4
- # Yes, we want graphics for admonishments:
- <xsl:param>admon.graphics=1
- # Set this one for PDF generation *only*:
- # default pnd graphics are awful in PDF form,
- # better use SVG's instead:
- <format>pdf:<xsl:param>admon.graphics.extension=".svg"
- <format>pdf:<xsl:param>use.role.for.mediaobject=1
- <format>pdf:<xsl:param>preferred.mediaobject.role=print
- <format>pdf:<xsl:param>img.src.path=$(images_location)/
- <format>pdf:<xsl:param>draft.mode="no"
- <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/math/doc/sf_and_dist/html
- <auto-index>on <format>pdf:<auto-index-internal>off
- <format>html:<auto-index-internal>on
- <auto-index-script>$(here)/index.idx
- <auto-index-prefix>$(here)/../../../..
- <auto-index-verbose>on
- <quickbook-define>enable_index
- <format>pdf:<xsl:param>index.on.type=1
- ;
-
-install pdfinstall : standalone/<format>pdf : <location>. <install-type>PDF <name>math.pdf ;
-explicit pdfinstall ;
-
-
-
-
-
-
-
-
diff --git a/libs/math/doc/sf_and_dist/background.qbk b/libs/math/doc/sf_and_dist/background.qbk
deleted file mode 100644
index 56270612b2..0000000000
--- a/libs/math/doc/sf_and_dist/background.qbk
+++ /dev/null
@@ -1,84 +0,0 @@
-[section:variates Random Variates and Distribution Parameters]
-
-[@http://en.wikipedia.org/wiki/Random_variate Random variates]
-and [@http://en.wikipedia.org/wiki/Parameter distribution parameters]
-are conventionally distinguished (for example in Wikipedia and Wolfram MathWorld
-by placing a semi-colon after the __random_variate (whose value you 'choose'),
-to separate the variate from the parameter(s) that defines the shape of the distribution.
-
-For example, the binomial distribution has two parameters:
-n (the number of trials) and p (the probability of success on one trial).
-It also has the __random_variate /k/: the number of successes observed.
-This means the probability density\/mass function (pdf) is written as ['f(k; n, p)].
-
-Translating this into code the `binomial_distribution` constructor
-therefore has two parameters:
-
- binomial_distribution(RealType n, RealType p);
-
-While the function `pdf` has one argument specifying the distribution type
-(which includes its parameters, if any),
-and a second argument for the __random_variate. So taking our binomial distribution
-example, we would write:
-
- pdf(binomial_distribution<RealType>(n, p), k);
-
-[endsect]
-
-[section:dist_params Discrete Probability Distributions]
-
-Note that the [@http://en.wikipedia.org/wiki/Discrete_probability_distribution
-discrete distributions], including the binomial, negative binomial, Poisson & Bernoulli,
-are all mathematically defined as discrete functions:
-only integral values of the __random_variate are envisaged
-and the functions are only defined at these integral values.
-However because the method of calculation often uses continuous functions,
-it is convenient to treat them as if they were continuous functions,
-and permit non-integral values of their parameters.
-
-To enforce a strict mathematical model,
-users may use floor or ceil functions on the __random_variate,
-prior to calling the distribution function, to enforce integral values.
-
-For similar reasons, in continuous distributions, parameters like degrees of freedom
-that might appear to be integral, are treated as real values
-(and are promoted from integer to floating-point if necessary).
-In this case however, that there are a small number of situations where non-integral
-degrees of freedom do have a genuine meaning.
-
-Generally speaking there is no loss of performance from allowing real-values
-parameters: the underlying special functions contain optimizations for
-integer-valued arguments when applicable.
-
-[caution
-The quantile function of a discrete distribution will by
-default return an integer result that has been
-/rounded outwards/. That is to say lower quantiles (where the probability is
-less than 0.5) are rounded downward, and upper quantiles (where the probability
-is greater than 0.5) are rounded upwards. This behaviour
-ensures that if an X% quantile is requested, then /at least/ the requested
-coverage will be present in the central region, and /no more than/
-the requested coverage will be present in the tails.
-
-This behaviour can be changed so that the quantile functions are rounded
-differently, or even return a real-valued result using
-[link math_toolkit.policy.pol_overview Policies]. It is strongly
-recommended that you read the tutorial
-[link math_toolkit.policy.pol_tutorial.understand_dis_quant
-Understanding Quantiles of Discrete Distributions] before
-using the quantile function on a discrete distribution. The
-[link math_toolkit.policy.pol_ref.discrete_quant_ref reference docs]
-describe how to change the rounding policy
-for these distributions.
-]
-
-[endsect]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
diff --git a/libs/math/doc/sf_and_dist/bessel_ik.qbk b/libs/math/doc/sf_and_dist/bessel_ik.qbk
deleted file mode 100644
index 97c0ad0090..0000000000
--- a/libs/math/doc/sf_and_dist/bessel_ik.qbk
+++ /dev/null
@@ -1,201 +0,0 @@
-
-[section:mbessel Modified Bessel Functions of the First and Second Kinds]
-
-[h4 Synopsis]
-
- template <class T1, class T2>
- ``__sf_result`` cyl_bessel_i(T1 v, T2 x);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` cyl_bessel_i(T1 v, T2 x, const ``__Policy``&);
-
- template <class T1, class T2>
- ``__sf_result`` cyl_bessel_k(T1 v, T2 x);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` cyl_bessel_k(T1 v, T2 x, const ``__Policy``&);
-
-
-[h4 Description]
-
-The functions __cyl_bessel_i and __cyl_bessel_k return the result of the
-modified Bessel functions of the first and second kind respectively:
-
-cyl_bessel_i(v, x) = I[sub v](x)
-
-cyl_bessel_k(v, x) = K[sub v](x)
-
-where:
-
-[equation mbessel2]
-
-[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
-relatively common case that T1 is an integer.
-
-[optional_policy]
-
-The functions return the result of __domain_error whenever the result is
-undefined or complex. For __cyl_bessel_j this occurs when `x < 0` and v is not
-an integer, or when `x == 0` and `v != 0`. For __cyl_neumann this occurs
-when `x <= 0`.
-
-The following graph illustrates the exponential behaviour of I[sub v].
-
-[graph cyl_bessel_i]
-
-The following graph illustrates the exponential decay of K[sub v].
-
-[graph cyl_bessel_k]
-
-[h4 Testing]
-
-There are two sets of test values: spot values calculated using
-[@http://functions.wolfram.com functions.wolfram.com],
-and a much larger set of tests computed using
-a simplified version of this implementation
-(with all the special case handling removed).
-
-[h4 Accuracy]
-
-The following tables show how the accuracy of these functions
-varies on various platforms, along with a comparison to the __gsl library.
-Note that only results for the widest floating-point type on the
-system are given, as narrower types have __zero_error. All values
-are relative errors in units of epsilon.
-
-[table Errors Rates in cyl_bessel_i
-[[Significand Size] [Platform and Compiler] [I[sub v]] ]
-[[53] [Win32 / Visual C++ 8.0] [Peak=10 Mean=3.4
- GSL Peak=6000] ]
-[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=11 Mean=3] ]
-[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=11 Mean=4] ]
-[[113] [HP-UX / HP aCC 6] [Peak=15 Mean=4] ]
-]
-
-[table Errors Rates in cyl_bessel_k
-[[Significand Size] [Platform and Compiler] [K[sub v]] ]
-[[53] [Win32 / Visual C++ 8.0] [Peak=9 Mean=2
-
-GSL Peak=9] ]
-[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=10 Mean=2] ]
-[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=10 Mean=2] ]
-[[113] [HP-UX / HP aCC 6] [Peak=12 Mean=5] ]
-]
-
-[h4 Implementation]
-
-The following are handled as special cases first:
-
-When computing I[sub v][space] for ['x < 0], then [nu][space] must be an integer
-or a domain error occurs. If [nu][space] is an integer, then the function is
-odd if [nu][space] is odd and even if [nu][space] is even, and we can reflect to
-['x > 0].
-
-For I[sub v][space] with v equal to 0, 1 or 0.5 are handled as special cases.
-
-The 0 and 1 cases use minimax rational approximations on
-finite and infinite intervals. The coefficients are from:
-
-* J.M. Blair and C.A. Edwards, ['Stable rational minimax approximations
- to the modified Bessel functions I_0(x) and I_1(x)], Atomic Energy of Canada
- Limited Report 4928, Chalk River, 1974.
-* S. Moshier, ['Methods and Programs for Mathematical Functions],
- Ellis Horwood Ltd, Chichester, 1989.
-
-While the 0.5 case is a simple trigonometric function:
-
-I[sub 0.5](x) = sqrt(2 / [pi]x) * sinh(x)
-
-For K[sub v][space] with /v/ an integer, the result is calculated using the
-recurrence relation:
-
-[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
-accurate to around 19 digits, and are therefore only used when T has
-no more than 64 binary digits of precision.
-
-When /x/ is small compared to /v/, I[sub v]x[space] is best computed directly from the series:
-
-[equation mbessel17]
-
-In the general case, we first normalize [nu][space] to \[[^0, [inf]])
-with the help of the reflection formulae:
-
-[equation mbessel9]
-
-[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
-calculate K[sub [mu]](x) and K[sub [mu]+1](x), and use them to obtain
-I[sub [nu]](x) and K[sub [nu]](x).
-
-The algorithm is proposed by Temme in
-N.M. Temme, ['On the numerical evaluation of the modified bessel function
- of the third kind], Journal of Computational Physics, vol 19, 324 (1975),
-which needs two continued fractions as well as the Wronskian:
-
-[equation mbessel11]
-
-[equation mbessel12]
-
-[equation mbessel8]
-
-The continued fractions are computed using the modified Lentz's method
-(W.J. Lentz, ['Generating Bessel functions in Mie scattering calculations
- using continued fractions], Applied Optics, vol 15, 668 (1976)).
-Their convergence rates depend on ['x], therefore we need
-different strategies for large ['x] and small ['x].
-
-['x > v], CF1 needs O(['x]) iterations to converge, CF2 converges rapidly.
-
-['x <= v], CF1 converges rapidly, CF2 fails to converge when ['x] [^->] 0.
-
-When ['x] is large (['x] > 2), both continued fractions converge (CF1
-may be slow for really large ['x]). K[sub [mu]][space] and K[sub [mu]+1][space]
-can be calculated by
-
-[equation mbessel13]
-
-where
-
-[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
- of real order and complex argument to selected accuracy], Computer Physics
- Communications, vol 47, 245 (1987).
-
-When ['x] is small (['x] <= 2), CF2 convergence may fail (but CF1
-works very well). The solution here is Temme's series:
-
-[equation mbessel15]
-
-where
-
-[equation mbessel16]
-
-f[sub k][space] and h[sub k][space]
-are also computed by recursions (involving gamma functions), but the
-formulas are a little complicated, readers are referred to
-N.M. Temme, ['On the numerical evaluation of the modified Bessel function
- of the third kind], Journal of Computational Physics, vol 19, 324 (1975).
-Note: Temme's series converge only for |[mu]| <= 1/2.
-
-K[sub [nu]](x) is then calculated from the forward
-recurrence, as is K[sub [nu]+1](x). With these two values and
-f[sub [nu]], the Wronskian yields I[sub [nu]](x) directly.
-
-[endsect]
-
-[/
- Copyright 2006 John Maddock, Paul A. Bristow and Xiaogang Zhang.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/bessel_jy.qbk b/libs/math/doc/sf_and_dist/bessel_jy.qbk
deleted file mode 100644
index f1ad7bd236..0000000000
--- a/libs/math/doc/sf_and_dist/bessel_jy.qbk
+++ /dev/null
@@ -1,283 +0,0 @@
-
-[section:bessel Bessel Functions of the First and Second Kinds]
-
-[h4 Synopsis]
-
- template <class T1, class T2>
- ``__sf_result`` cyl_bessel_j(T1 v, T2 x);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` cyl_bessel_j(T1 v, T2 x, const ``__Policy``&);
-
- template <class T1, class T2>
- ``__sf_result`` cyl_neumann(T1 v, T2 x);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` cyl_neumann(T1 v, T2 x, const ``__Policy``&);
-
-
-[h4 Description]
-
-The functions __cyl_bessel_j and __cyl_neumann return the result of the
-Bessel functions of the first and second kinds respectively:
-
-cyl_bessel_j(v, x) = J[sub v](x)
-
-cyl_neumann(v, x) = Y[sub v](x) = N[sub v](x)
-
-where:
-
-[equation bessel2]
-
-[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
-relatively common case that T1 is an integer.
-
-[optional_policy]
-
-The functions return the result of __domain_error whenever the result is
-undefined or complex. For __cyl_bessel_j this occurs when `x < 0` and v is not
-an integer, or when `x == 0` and `v != 0`. For __cyl_neumann this occurs
-when `x <= 0`.
-
-The following graph illustrates the cyclic nature of J[sub v]:
-
-[graph cyl_bessel_j]
-
-The following graph shows the behaviour of Y[sub v]: this is also
-cyclic for large /x/, but tends to -[infin][space] for small /x/:
-
-[graph cyl_neumann]
-
-[h4 Testing]
-
-There are two sets of test values: spot values calculated using
-[@http://functions.wolfram.com functions.wolfram.com],
-and a much larger set of tests computed using
-a simplified version of this implementation
-(with all the special case handling removed).
-
-[h4 Accuracy]
-
-The following tables show how the accuracy of these functions
-varies on various platforms, along with comparisons to the __gsl and
-__cephes libraries. Note that the cyclic nature of these
-functions means that they have an infinite number of irrational
-roots: in general these functions have arbitrarily large /relative/
-errors when the arguments are sufficiently close to a root. Of
-course the absolute error in such cases is always small.
-Note that only results for the widest floating-point type on the
-system are given as narrower types have __zero_error. All values
-are relative errors in units of epsilon.
-
-[table Errors Rates in cyl_bessel_j
-[[Significand Size] [Platform and Compiler] [J[sub 0][space] and J[sub 1]] [J[sub v]] [J[sub v][space] (large values of x > 1000)] ]
-[[53] [Win32 / Visual C++ 8.0]
- [Peak=2.5 Mean=1.1
-
-GSL Peak=6.6
-
-__cephes Peak=2.5 Mean=1.1]
- [Peak=11 Mean=2.2
-
-GSL Peak=11
-
-__cephes Peak=17 Mean=2.5]
- [Peak=413 Mean=110
-
-GSL Peak=6x10[super 11]
-
-__cephes Peak=2x10[super 5] ] ]
-[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=7 Mean=3] [Peak=117 Mean=10] [Peak=2x10[super 4][space] Mean=6x10[super 3]] ]
-[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=7 Mean=3] [Peak=400 Mean=40] [Peak=2x10[super 4][space] Mean=1x10[super 4]] ]
-[[113] [HP-UX / HP aCC 6] [Peak=14 Mean=6] [Peak=29 Mean=3] [Peak=2700 Mean=450] ]
-]
-
-[table Errors Rates in cyl_neumann
-[[Significand Size] [Platform and Compiler] [J[sub 0][space] and J[sub 1]] [J[sub n] (integer orders)] [J[sub v] (fractional orders)] ]
-[[53] [Win32 / Visual C++ 8.0]
- [Peak=330 Mean=54
-
-GSL Peak=34 Mean=9
-
-__cephes Peak=330 Mean=54]
- [Peak=923 Mean=83
-
-GSL Peak=500 Mean=54
-
-__cephes Peak=923 Mean=83]
- [Peak=561 Mean=36
-
-GSL Peak=1.4x10[super 6][space] Mean\=7x10[super 4][space]
-
-__cephes Peak=+INF]]
-[[64] [Red Hat Linux IA64 / G++ 3.4] [Peak=470 Mean=56] [Peak=843 Mean=51] [Peak=741 Mean=51] ]
-[[64] [SUSE Linux AMD64 / G++ 4.1] [Peak=1300 Mean=424] [Peak=2x10[super 4][space] Mean=8x10[super 3]] [Peak=1x10[super 5][space] Mean=6x10[super 3]] ]
-[[113] [HP-UX / HP aCC 6] [Peak=180 Mean=63] [Peak=340 Mean=150] [Peak=2x10[super 4][space] Mean=1200] ]
-]
-
-Note that for large /x/ these functions are largely dependent on
-the accuracy of the `std::sin` and `std::cos` functions.
-
-Comparison to GSL and __cephes is interesting: both __cephes and this library optimise
-the integer order case - leading to identical results - simply using the general
-case is for the most part slightly more accurate though, as noted by the
-better accuracy of GSL in the integer argument cases. This implementation tends to
-perform much better when the arguments become large, __cephes in particular produces
-some remarkably inaccurate results with some of the test data (no significant figures
-correct), and even GSL performs badly with some inputs to J[sub v]. Note that
-by way of double-checking these results, the worst performing __cephes and GSL cases
-were recomputed using [@http://functions.wolfram.com functions.wolfram.com],
-and the result checked against our test data: no errors in the test data were found.
-
-[h4 Implementation]
-
-The implementation is mostly about filtering off various special cases:
-
-When /x/ is negative, then the order /v/ must be an integer or the
-result is a domain error. If the order is an integer then the function
-is odd for odd orders and even for even orders, so we reflect to /x > 0/.
-
-When the order /v/ is negative then the reflection formulae can be used to
-move to /v > 0/:
-
-[equation bessel9]
-
-[equation bessel10]
-
-Note that if the order is an integer, then these formulae reduce to:
-
-J[sub -n] = (-1)[super n]J[sub n]
-
-Y[sub -n] = (-1)[super n]Y[sub n]
-
-However, in general, a negative order implies that we will need to compute
-both J and Y.
-
-When /x/ is large compared to the order /v/ then the asymptotic expansions
-for large /x/ in M. Abramowitz and I.A. Stegun,
-['Handbook of Mathematical Functions] 9.2.19 are used
-(these were found to be more reliable
-than those in A&S 9.2.5).
-
-When the order /v/ is an integer the method first relates the result
-to J[sub 0], J[sub 1], Y[sub 0][space] and Y[sub 1][space] using either
-forwards or backwards recurrence (Miller's algorithm) depending upon which is stable.
-The values for J[sub 0], J[sub 1], Y[sub 0][space] and Y[sub 1][space] are
-calculated using the rational minimax approximations on
-root-bracketing intervals for small ['|x|] and Hankel asymptotic
-expansion for large ['|x|]. The coefficients are from:
-
-W.J. Cody, ['ALGORITHM 715: SPECFUN - A Portable FORTRAN Package of
-Special Function Routines and Test Drivers], ACM Transactions on Mathematical
-Software, vol 19, 22 (1993).
-
-and
-
-J.F. Hart et al, ['Computer Approximations], John Wiley & Sons, New York, 1968.
-
-These approximations are accurate to around 19 decimal digits: therefore
-these methods are not used when type T has more than 64 binary digits.
-
-When /x/ is smaller than machine epsilon then the following approximations for
-Y[sub 0](x), Y[sub 1](x), Y[sub 2](x) and Y[sub n](x) can be used
-(see: [@http://functions.wolfram.com/03.03.06.0037.01 http://functions.wolfram.com/03.03.06.0037.01],
-[@http://functions.wolfram.com/03.03.06.0038.01 http://functions.wolfram.com/03.03.06.0038.01],
-[@http://functions.wolfram.com/03.03.06.0039.01 http://functions.wolfram.com/03.03.06.0039.01]
-and [@http://functions.wolfram.com/03.03.06.0040.01 http://functions.wolfram.com/03.03.06.0040.01]):
-
-[equation bessel_y0_small_z]
-
-[equation bessel_y1_small_z]
-
-[equation bessel_y2_small_z]
-
-[equation bessel_yn_small_z]
-
-When /x/ is small compared to /v/ and /v/ is not an integer, then the following
-series approximation can be used for Y[sub v](x), this is also an area where other
-approximations are often too slow to converge to be used
-(see [@http://functions.wolfram.com/03.03.06.0034.01 http://functions.wolfram.com/03.03.06.0034.01]):
-
-[equation bessel_yv_small_z]
-
-When /x/ is small compared to /v/, J[sub v]x[space] is best computed directly from the series:
-
-[equation bessel2]
-
-In the general case we compute J[sub v][space] and
-Y[sub v][space] simultaneously.
-
-To get the initial values, 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
-calculate J[sub [mu]](x), J[sub [mu]+1](x), Y[sub [mu]](x), Y[sub [mu]+1](x)
-and use them to obtain J[sub [nu]](x), Y[sub [nu]](x).
-
-The algorithm is called Steed's method, which needs two
-continued fractions as well as the Wronskian:
-
-[equation bessel8]
-
-[equation bessel11]
-
-[equation bessel12]
-
-See: F.S. Acton, ['Numerical Methods that Work],
- The Mathematical Association of America, Washington, 1997.
-
-The continued fractions are computed using the modified Lentz's method
-(W.J. Lentz, ['Generating Bessel functions in Mie scattering calculations
-using continued fractions], Applied Optics, vol 15, 668 (1976)).
-Their convergence rates depend on ['x], therefore we need
-different strategies for large ['x] and small ['x].
-
-['x > v], CF1 needs O(['x]) iterations to converge, CF2 converges rapidly
-
-['x <= v], CF1 converges rapidly, CF2 fails to converge when ['x] [^->] 0
-
-When ['x] is large (['x] > 2), both continued fractions converge (CF1
-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
-
-[equation bessel13]
-
-where
-
-[equation bessel14]
-
-J[sub [nu]] and Y[sub [mu]] are then calculated using backward
-(Miller's algorithm) and forward recurrence respectively.
-
-When ['x] is small (['x] <= 2), CF2 convergence may fail (but CF1
-works very well). The solution here is Temme's series:
-
-[equation bessel15]
-
-where
-
-[equation bessel16]
-
-g[sub k][space] and h[sub k][space]
-are also computed by recursions (involving gamma functions), but the
-formulas are a little complicated, readers are refered to
-N.M. Temme, ['On the numerical evaluation of the ordinary Bessel function
-of the second kind], Journal of Computational Physics, vol 21, 343 (1976).
-Note Temme's series converge only for |[mu]| <= 1/2.
-
-As the previous case, Y[sub [nu]][space] is calculated from the forward
-recurrence, so is Y[sub [nu]+1]. With these two
-values and f[sub [nu]], the Wronskian yields J[sub [nu]](x) directly
-without backward recurrence.
-
-[endsect]
-
-[/
- Copyright 2006 John Maddock, Paul A. Bristow and Xiaogang Zhang.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/bessel_spherical.qbk b/libs/math/doc/sf_and_dist/bessel_spherical.qbk
deleted file mode 100644
index 6f5175583e..0000000000
--- a/libs/math/doc/sf_and_dist/bessel_spherical.qbk
+++ /dev/null
@@ -1,87 +0,0 @@
-
-[section:sph_bessel Spherical Bessel Functions of the First and Second Kinds]
-
-[h4 Synopsis]
-
- template <class T1, class T2>
- ``__sf_result`` sph_bessel(unsigned v, T2 x);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` sph_bessel(unsigned v, T2 x, const ``__Policy``&);
-
- template <class T1, class T2>
- ``__sf_result`` sph_neumann(unsigned v, T2 x);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` sph_neumann(unsigned v, T2 x, const ``__Policy``&);
-
-[h4 Description]
-
-The functions __sph_bessel and __sph_neumann return the result of the
-Spherical Bessel functions of the first and second kinds respectively:
-
-sph_bessel(v, x) = j[sub v](x)
-
-sph_neumann(v, x) = y[sub v](x) = n[sub v](x)
-
-where:
-
-[equation sbessel2]
-
-The return type of these functions is computed using the __arg_pomotion_rules
-for the single argument type T.
-
-[optional_policy]
-
-The functions return the result of __domain_error whenever the result is
-undefined or complex: this occurs when `x < 0`.
-
-The j[sub v][space] function is cyclic like J[sub v][space] but differs
-in its behaviour at the origin:
-
-[graph sph_bessel]
-
-Likewise y[sub v][space] is also cyclic for large x, but tends to -[infin][space]
-for small /x/:
-
-[graph sph_neumann]
-
-[h4 Testing]
-
-There are two sets of test values: spot values calculated using
-[@http://functions.wolfram.com/ functions.wolfram.com],
-and a much larger set of tests computed using
-a simplified version of this implementation
-(with all the special case handling removed).
-
-[h4 Accuracy]
-
-Other than for some special cases, these functions are computed in terms of
-__cyl_bessel_j and __cyl_neumann: refer to these functions for accuracy data.
-
-[h4 Implementation]
-
-Other than error handling and a couple of special cases these functions
-are implemented directly in terms of their definitions:
-
-[equation sbessel2]
-
-The special cases occur for:
-
-j[sub 0][space]= __sinc_pi(x) = sin(x) / x
-
-and for small ['x < 1], we can use the series:
-
-[equation sbessel5]
-
-which neatly avoids the problem of calculating 0/0 that can occur with the
-main definition as x [rarr] 0.
-
-[endsect]
-
-[/
- Copyright 2006 John Maddock, Paul A. Bristow and Xiaogang Zhang.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/building.qbk b/libs/math/doc/sf_and_dist/building.qbk
deleted file mode 100644
index f2c30f161e..0000000000
--- a/libs/math/doc/sf_and_dist/building.qbk
+++ /dev/null
@@ -1,106 +0,0 @@
-[section:building If and How to Build a Boost.Math Library, and its Examples and Tests]
-
-[h4 Building a Library (shared, dynamic .dll or static .lib)]
-
-The first thing you need to ask yourself is "Do I need to build anything at all?"
-as the bulk of this library is header only: meaning you can use it just by
-#including the necessary header(s).
-
-For most simple uses,
-including a header (or few) is best for compile time and program size.
-
-Refer to
-[link math_toolkit.extern_c C99 and C++ TR1 C-style Functions]
-for pros and cons of using
-the TR1 components as opposed to the header only ones.
-
-The ['only] time you ['need] to build the library is if you want to use the
-`extern "C"` functions declared in `<boost/math/tr1.hpp>`. To build this
-using Boost.Build, from a commandline boost-root directory issue a command like:
-
- bjam toolset=gcc --with-math install
-
-that will do the job on Linux, while:
-
- bjam toolset=msvc --with-math --build-type=complete stage
-
-will work better on Windows (leaving libraries built
-in sub-folder `/stage` below your Boost root directory).
-Either way you should consult the
-[@http://www.boost.org/doc/libs/release/more/getting_started/index.html
-getting started guide] for more information.
-
-You can also build the libraries from your favourite IDE or command line tool:
-each `extern "C"` function declared in `<boost/math/tr1.hpp>` has its own
-source file with the same name in `libs/math/src/tr1`. Just select the
-sources corresponding to the functions you are using and build them into
-a library, or else add them directly to your project. Note that the
-directory `libs/math/src/tr1` will need to be in your compiler's
-#include path as well as the boost-root directory
-(MSVC Tools, Options, Projects and Solutions, VC++ Directories, Include files).
-
-[note If you are using
-a Windows compiler that supports auto-linking and you have built the sources
-yourself (or added them directly to your project) then you will need to
-prevent `<boost/math/tr1.hpp>` from trying to auto-link to the binaries
-that Boost.Build generates. You can do this by defining either
-BOOST_MATH_NO_LIB or BOOST_ALL_NO_LIB at project level
-(so the defines get passed to each compiler invocation).
-]
-
-Optionally the sources in `libs/math/src/tr1` have support for using
-`libs/math/src/tr1/pch.hpp` as a precompiled header
-['if your compiler supports precompiled headers.] Note that normally
-this header is a do-nothing include: to activate the header so that
-it #includes everything required by all the sources you will need to
-define BOOST_BUILD_PCH_ENABLED on the command line, both when building
-the pre-compiled header and when building the sources. Boost.Build
-will do this automatically when appropriate.
-
-[h4 Building the Examples]
-
-The examples are all located in `libs/math/example`, they can all
-be built without reference to any external libraries, either with
-Boost.Build using the supplied Jamfile, or from your compiler's
-command line. The only requirement is that the Boost headers are
-in your compilers #include search path.
-
-[h4 Building the Tests]
-
-The tests are located in `libs/math/test` and are best built
-using Boost.Build and the supplied Jamfile. If you plan to
-build them separately from your favourite IDE then you will
-need to add `libs/math/test` to the list of your compiler's
-search paths.
-
-You will also need to build and link to
-the Boost.Regex library for many of the tests: this can built
-from the command line by following the
-[@http://www.boost.org/doc/libs/release/more/getting_started/index.html
-getting started guide], using a command such as:
-
- bjam toolset=gcc --with-regex install
-
-or
-
- bjam toolset=msvc --with-regex --build-type=complete stage
-
-depending on whether you are on Linux or Windows.
-
-Many of the tests have optional precompiled header support
-using the header `libs/math/test/pch.hpp`.
-Note that normally
-this header is a do-nothing include: to activate the header so that
-it #includes everything required by all the sources you will need to
-define BOOST_BUILD_PCH_ENABLED on the command line, both when building
-the pre-compiled header and when building the sources. Boost.Build
-will do this automatically when appropriate.
-
-[endsect]
-
-[/ building.qbk
- Copyright 2006, 2007, 2008, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/common_overviews.qbk b/libs/math/doc/sf_and_dist/common_overviews.qbk
deleted file mode 100644
index 7bf2a263eb..0000000000
--- a/libs/math/doc/sf_and_dist/common_overviews.qbk
+++ /dev/null
@@ -1,223 +0,0 @@
-
-
-[template policy_overview[]
-
-Policies are a powerful fine-grain mechanism that allow you to customise the
-behaviour of this library according to your needs. There is more information
-available in the [link math_toolkit.policy.pol_tutorial policy tutorial]
-and the [link math_toolkit.policy.pol_ref policy reference].
-
-Generally speaking, unless you find that the
-[link math_toolkit.policy.pol_tutorial.policy_tut_defaults
- default policy behaviour]
-when encountering 'bad' argument values does not meet your needs,
-you should not need to worry about policies.
-
-Policies are a compile-time mechanism that allow you to change
-error-handling or calculation precision either
-program wide, or at the call site.
-
-Although the policy mechanism itself is rather complicated,
-in practice it is easy to use, and very flexible.
-
-Using policies you can control:
-
-* [link math_toolkit.policy.pol_ref.error_handling_policies How results from 'bad' arguments are handled],
- including those that cannot be fully evaluated.
-* How [link math_toolkit.policy.pol_ref.internal_promotion accuracy is controlled by internal promotion] to use more precise types.
-* What working [link math_toolkit.policy.pol_ref.precision_pol precision] should be used to calculate results.
-* What to do when a [link math_toolkit.policy.pol_ref.assert_undefined mathematically undefined function]
- is used: Should this raise a run-time or compile-time error?
-* Whether [link math_toolkit.policy.pol_ref.discrete_quant_ref discrete functions],
- like the binomial, should return real or only integral values, and how they are rounded.
-* How many iterations a special function is permitted to perform in
- a series evaluation or root finding algorithm before it gives up and raises an
- __evaluation_error.
-
-You can control policies:
-
-* Using [link math_toolkit.policy.pol_ref.policy_defaults macros] to
-change any default policy: the is the prefered method for installation
-wide policies.
-* At your chosen [link math_toolkit.policy.pol_ref.namespace_pol
-namespace scope] for distributions and/or functions: this is the
-prefered method for project, namespace, or translation unit scope
-policies.
-* In an ad-hoc manner [link math_toolkit.policy.pol_tutorial.ad_hoc_sf_policies
-by passing a specific policy to a special function], or to a
-[link math_toolkit.policy.pol_tutorial.ad_hoc_dist_policies
-statistical distribution].
-
-]
-
-[template performance_overview[]
-
-By and large the performance of this library should be acceptable
-for most needs. However, you should note that this library's primary
-emphasis is on accuracy and numerical stability, and /not/ speed.
-
-In terms of the algorithms used, this library aims to use the same "best
-of breed" algorithms as many other libraries: the principle difference
-is that this library is implemented in C++ - taking advantage of all
-the abstraction mechanisms that C++ offers - where as most traditional
-numeric libraries are implemented in C or FORTRAN. Traditionally
-languages such as C or FORTRAN are perceived as easier to optimise
-than more complex languages like C++, so in a sense this library
-provides a good test of current compiler technology, and the
-"abstraction penalty" - if any - of C++ compared to other languages.
-
-The two most important things you can do to ensure the best performance
-from this library are:
-
-# Turn on your compilers optimisations: the difference between "release"
-and "debug" builds can easily be a [link math_toolkit.perf.getting_best factor of 20].
-# Pick your compiler carefully: [link math_toolkit.perf.comp_compilers
-performance differences of up to
-8 fold] have been found between some Windows compilers for example.
-
-The [link math_toolkit.perf performance section] contains more
-information on the performance
-of this library, what you can do to fine tune it, and how this library
-compares to some other open source alternatives.
-
-]
-
-[template compilers_overview[]
-
-This section contains some information about how various compilers
-work with this library.
-It is not comprehensive and updated experiences are always welcome.
-Some effort has been made to suppress unhelpful warnings but it is
-difficult to achieve this on all systems.
-
-[table Supported/Tested Compilers
-[[Platform][Compiler][Has long double support][Notes]]
-[[Windows][MSVC 7.1 and later][Yes]
- [All tests OK.
-
- We aim to keep our headers warning free at level 4 with
- this compiler.]]
-[[Windows][Intel 8.1 and later][Yes]
- [All tests OK.
-
- We aim to keep our headers warning free at level 4 with
- this compiler. However, The tests cases tend to generate a lot of
- warnings relating to numeric underflow of the test data: these are
- harmless.]]
-[[Windows][GNU Mingw32 C++][Yes]
- [All tests OK.
-
- We aim to keep our headers warning free with -Wall with this compiler.]]
-[[Windows][GNU Cygwin C++][No]
- [All tests OK.
-
- We aim to keep our headers warning free with -Wall with this compiler.
-
- Long double support has been disabled because there are no native
- long double C std library functions available.]]
-[[Windows][Borland C++ 5.8.2 (Developer studio 2006)][No]
- [We have only partial compatability with this compiler:
-
- Long double support has been disabled because the native
- long double C standard library functions really only forward to the
- double versions. This can result in unpredictable behaviour when
- using the long double overloads: for example `sqrtl` applied to a
- finite value, can result in an infinite result.
-
- Some functions still fail to compile, there are no known workarounds at present.]]
-
-[[Linux][GNU C++ 3.4 and later][Yes]
- [All tests OK.
-
- We aim to keep our headers warning free with -Wall with this compiler.]]
-[[Linux][Intel C++ 10.0 and later][Yes]
- [All tests OK.
-
- We aim to keep our headers warning free with -Wall with this compiler.
- However, The tests cases tend to generate a lot of
- warnings relating to numeric underflow of the test data: these are
- harmless.]]
-[[Linux][Intel C++ 8.1 and 9.1][No]
- [All tests OK.
-
- Long double support has been disabled with these compiler releases
- because calling the standard library long double math functions
- can result in a segfault. The issue is Linux distribution and
- glibc version specific and is Intel bug report #409291. Fully up to date
- releases of Intel 9.1 (post version l_cc_c_9.1.046)
- shouldn't have this problem. If you need long
- double support with this compiler, then comment out the define of
- BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS at line 55 of
- [@../../../../../boost/math/tools/config.hpp boost/math/tools/config.hpp].
-
- We aim to keep our headers warning free with -Wall with this compiler.
- However, The tests cases tend to generate a lot of
- warnings relating to numeric underflow of the test data: these are
- harmless.]]
-[[Linux][QLogic PathScale 3.0][Yes]
- [Some tests involving conceptual checks fail to build, otherwise
- there appear to be no issues.]]
-[[Linux][Sun Studio 12][Yes]
- [Some tests involving function overload resolution fail to build,
- these issues should be rairly encountered in practice.]]
-[[Solaris][Sun Studio 12][Yes]
- [Some tests involving function overload resolution fail to build,
- these issues should be rairly encountered in practice.]]
-[[Solaris][GNU C++ 4.x][Yes]
- [All tests OK.
-
- We aim to keep our headers warning free with -Wall with this compiler.]]
-[[HP Tru64][Compaq C++ 7.1][Yes]
- [All tests OK.]]
-[[HP-UX Itanium][HP aCC 6.x][Yes]
- [All tests OK.
-
- Unfortunately this compiler emits quite a few warnings from libraries
- upon which we depend (TR1, Array etc).]]
-[[HP-UX PA-RISC][GNU C++ 3.4][No]
- [All tests OK.]]
-[[Apple Mac OS X, Intel][Darwin/GNU C++ 4.x][Yes][All tests OK.]]
-[[Apple Mac OS X, PowerPC][Darwin/GNU C++ 4.x][No]
- [All tests OK.
-
- Long double support has been disabled on this platform due to the
- rather strange nature of Darwin's 106-bit long double
- implementation. It should be possible to make this work if someone
- is prepared to offer assistance.]]
-[[IMB AIX][IBM xlc 5.3][Yes]
- [All tests pass except for our fpclassify tests which fail due to a
- bug in `std::numeric_limits`, the bug effects the test code, not
- fpclassify itself. The IBM compiler group
- are aware of the problem.]]
-]
-
-[table Unsupported Compilers
-[[Platform][Compiler]]
-[[Windows][Borland C++ 5.9.2 (Borland Developer Studio 2007)]]
-[[Windows][MSVC 6 and 7]]
-]
-
-If your compiler or platform is not listed above, please try running the
-regression tests: cd into boost-root/libs/math/test and do a:
-
- bjam mytoolset
-
-where "mytoolset" is the name of the
-[@../../../../../tools/build/index.html Boost.Build] toolset used for your
-compiler. The chances are that [*many of the accuracy tests will fail
-at this stage] - don't panic - the default acceptable error tolerances
-are quite tight, especially for long double types with an extended
-exponent range (these cause more extreme test cases to be executed
-for some functions).
-You will need to cast an eye over the output from
-the failing tests and make a judgement as to whether
-the error rates are acceptable or not.
-]
-
-[/ math.qbk
- Copyright 2007 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/concepts.qbk b/libs/math/doc/sf_and_dist/concepts.qbk
deleted file mode 100644
index e0cceeaa35..0000000000
--- a/libs/math/doc/sf_and_dist/concepts.qbk
+++ /dev/null
@@ -1,470 +0,0 @@
-[section:use_ntl Using With NTL - a High-Precision Floating-Point Library]
-
-The special functions and tools in this library can be used with
-[@http://shoup.net/ntl/doc/RR.txt NTL::RR (an arbitrary precision number type)],
-via the bindings in [@../../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp].
-[@http://shoup.net/ntl/ See also NTL: A Library for doing Number Theory by
-Victor Shoup]
-
-Unfortunately `NTL::RR` doesn't quite satisfy our conceptual requirements,
-so there is a very thin wrapper class `boost::math::ntl::RR` defined in
-[@../../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp] that you
-should use in place of `NTL::RR`. The class is intended to be a drop-in
-replacement for the "real" NTL::RR that adds some syntactic sugar to keep
-this library happy, plus some of the standard library functions not implemented
-in NTL.
-
-For those functions that are based upon the __lanczos, the bindings
-defines a series of approximations with up to 61 terms and accuracy
-up to approximately 3e-113. This therefore sets the upper limit for accuracy
-to the majority of functions defined this library when used with `NTL::RR`.
-
-There is a concept checking test program for NTL support
-[@../../../../../libs/math/test/ntl_concept_check.cpp here].
-
-[endsect][/section:use_ntl Using With NTL - a High Precision Floating-Point Library]
-
-[section:use_mpfr Using With MPFR / GMP - a High-Precision Floating-Point Library]
-
-The special functions and tools in this library can be used with
-[@http://www.mpfr.org MPFR (an arbitrary precision number type based on the GMP library)],
-either via the bindings in [@../../../../../boost/math/bindings/mpfr.hpp boost/math/bindings/mpfr.hpp],
-or via [@../../../../../boost/math/bindings/mpfr.hpp boost/math/bindings/mpreal.hpp].
-
-In order to use these binings you will need to have installed [@http://www.mpfr.org MPFR]
-plus its dependency the [@http://gmplib.org GMP library]. You will also need one of the
-two supported C++ wrappers for MPFR: [@http://math.berkeley.edu/~wilken/code/gmpfrxx/ gmpfrxx (or mpfr_class)],
-or [@http://www.holoborodko.com/pavel/mpfr/ mpfr-C++ (mpreal)].
-
-Unfortunately neither `mpfr_class` nor `mpreal` quite satisfy our conceptual requirements,
-so there is a very thin set of additional interfaces and some helper traits defined in
-[@../../../../../boost/math/bindings/mpfr.hpp boost/math/bindings/mpfr.hpp] and
-[@../../../../../boost/math/bindings/mpreal.hpp boost/math/bindings/mpreal.hpp]
-that you
-should use in place of including 'gmpfrxx.h' or 'mpreal.h' directly. The classes
-`mpfr_class` or `mpreal` are
-then usable unchanged once this header is included, so for example `mpfr_class`'s
-performance-enhancing
-expression templates are preserved and fully supported by this library:
-
- #include <boost/math/bindings/mpfr.hpp>
- #include <boost/math/special_functions/gamma.hpp>
-
- int main()
- {
- mpfr_class::set_dprec(500); // 500 bit precision
- //
- // Note that the argument to tgamma is an expression template,
- // that's just fine here:
- //
- mpfr_class v = boost::math::tgamma(sqrt(mpfr_class(2)));
- std::cout << std::setprecision(50) << v << std::endl;
- }
-
-Alternatively use with `mpreal` would look like:
-
- #include <boost/math/bindings/mpreal.hpp>
- #include <boost/math/special_functions/gamma.hpp>
-
- int main()
- {
- mpfr::mpreal::set_precision(500); // 500 bit precision
- mpfr::mpreal v = boost::math::tgamma(sqrt(mpfr::mpreal(2)));
- std::cout << std::setprecision(50) << v << std::endl;
- }
-
-For those functions that are based upon the __lanczos, the bindings
-defines a series of approximations with up to 61 terms and accuracy
-up to approximately 3e-113. This therefore sets the upper limit for accuracy
-to the majority of functions defined this library when used with either `mpfr_class` or `mpreal`.
-
-There is a concept checking test program for mpfr support
-[@../../../../../libs/math/test/mpfr_concept_check.cpp here] and
-[@../../../../../libs/math/test/mpreal_concept_check.cpp here].
-
-[endsect][/section:use_mpfr Using With MPFR / GMP - a High-Precision Floating-Point Library]
-
-[section:e_float e_float Support]
-
-This library can be used with [@http://calgo.acm.org/910.zip e_float (TOMS Algorithm 910)] via the header:
-
- <boost/math/bindings/e_float.hpp>
-
-And the type `boost::math::ef::e_float`: this type is a thin wrapper class around ::e_float which provides the necessary
-syntactic sugar to make everything "just work".
-
-There is also a concept checking test program for e_float support
-[@../../../../../libs/math/test/e_float_concept_check.cpp here].
-
-
-[endsect]
-
-[section:concepts Conceptual Requirements for Real Number Types]
-
-The functions, and statistical distributions in this library can be used with
-any type /RealType/ that meets the conceptual requirements given below. All
-the built in floating point types will meet these requirements.
-User defined types that meet the requirements can also be used. For example,
-with [link math_toolkit.using_udt.use_ntl a thin wrapper class] one of the types
-provided with [@http://shoup.net/ntl/ NTL (RR)] can be used. Submissions
-of binding to other extended precision types would also be most welcome!
-
-The guiding principal behind these requirements, is that a /RealType/
-behaves just like a built in floating point type.
-
-[h4 Basic Arithmetic Requirements]
-
-These requirements are common to all of the functions in this library.
-
-In the following table /r/ is an object of type `RealType`, /cr/ and
-/cr2/ are objects
-of type `const RealType`, and /ca/ is an object of type `const arithmetic-type`
-(arithmetic types include all the built in integers and floating point types).
-
-[table
-[[Expression][Result Type][Notes]]
-[[`RealType(cr)`][RealType]
- [RealType is copy constructible.]]
-[[`RealType(ca)`][RealType]
- [RealType is copy constructible from the arithmetic types.]]
-[[`r = cr`][RealType&][Assignment operator.]]
-[[`r = ca`][RealType&][Assignment operator from the arithmetic types.]]
-[[`r += cr`][RealType&][Adds cr to r.]]
-[[`r += ca`][RealType&][Adds ar to r.]]
-[[`r -= cr`][RealType&][Subtracts cr from r.]]
-[[`r -= ca`][RealType&][Subtracts ca from r.]]
-[[`r *= cr`][RealType&][Multiplies r by cr.]]
-[[`r *= ca`][RealType&][Multiplies r by ca.]]
-[[`r /= cr`][RealType&][Divides r by cr.]]
-[[`r /= ca`][RealType&][Divides r by ca.]]
-[[`-r`][RealType][Unary Negation.]]
-[[`+r`][RealType&][Identity Operation.]]
-[[`cr + cr2`][RealType][Binary Addition]]
-[[`cr + ca`][RealType][Binary Addition]]
-[[`ca + cr`][RealType][Binary Addition]]
-[[`cr - cr2`][RealType][Binary Subtraction]]
-[[`cr - ca`][RealType][Binary Subtraction]]
-[[`ca - cr`][RealType][Binary Subtraction]]
-[[`cr * cr2`][RealType][Binary Multiplication]]
-[[`cr * ca`][RealType][Binary Multiplication]]
-[[`ca * cr`][RealType][Binary Multiplication]]
-[[`cr / cr2`][RealType][Binary Subtraction]]
-[[`cr / ca`][RealType][Binary Subtraction]]
-[[`ca / cr`][RealType][Binary Subtraction]]
-[[`cr == cr2`][bool][Equality Comparison]]
-[[`cr == ca`][bool][Equality Comparison]]
-[[`ca == cr`][bool][Equality Comparison]]
-[[`cr != cr2`][bool][Inequality Comparison]]
-[[`cr != ca`][bool][Inequality Comparison]]
-[[`ca != cr`][bool][Inequality Comparison]]
-[[`cr <= cr2`][bool][Less than equal to.]]
-[[`cr <= ca`][bool][Less than equal to.]]
-[[`ca <= cr`][bool][Less than equal to.]]
-[[`cr >= cr2`][bool][Greater than equal to.]]
-[[`cr >= ca`][bool][Greater than equal to.]]
-[[`ca >= cr`][bool][Greater than equal to.]]
-[[`cr < cr2`][bool][Less than comparison.]]
-[[`cr < ca`][bool][Less than comparison.]]
-[[`ca < cr`][bool][Less than comparison.]]
-[[`cr > cr2`][bool][Greater than comparison.]]
-[[`cr > ca`][bool][Greater than comparison.]]
-[[`ca > cr`][bool][Greater than comparison.]]
-[[`boost::math::tools::digits<RealType>()`][int]
- [The number of digits in the significand of RealType.]]
-[[`boost::math::tools::max_value<RealType>()`][RealType]
- [The largest representable number by type RealType.]]
-[[`boost::math::tools::min_value<RealType>()`][RealType]
- [The smallest representable number by type RealType.]]
-[[`boost::math::tools::log_max_value<RealType>()`][RealType]
- [The natural logarithm of the largest representable number by type RealType.]]
-[[`boost::math::tools::log_min_value<RealType>()`][RealType]
- [The natural logarithm of the smallest representable number by type RealType.]]
-[[`boost::math::tools::epsilon<RealType>()`][RealType]
- [The machine epsilon of RealType.]]
-]
-
-Note that:
-
-# The functions `log_max_value` and `log_min_value` can be
-synthesised from the others, and so no explicit specialisation is required.
-# The function `epsilon` can be synthesised from the others, so no
-explicit specialisation is required provided the precision
-of RealType does not vary at runtime (see the header
-[@../../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp]
-for an example where the precision does vary at runtime).
-# The functions `digits`, `max_value` and `min_value`, all get synthesised
-automatically from `std::numeric_limits`. However, if `numeric_limits`
-is not specialised for type RealType, then you will get a compiler error
-when code tries to use these functions, /unless/ you explicitly specialise them.
-For example if the precision of RealType varies at runtime, then
-`numeric_limits` support may not be appropriate, see
-[@../../../../../boost/math/bindings/rr.hpp boost/math/bindings/rr.hpp] for examples.
-
-[warning
-If `std::numeric_limits<>` is *not specialized*
-for type /RealType/ then the default float precision of 6 decimal digits
-will be used by other Boost programs including:
-
-Boost.Test: giving misleading error messages like
-
-['"difference between {9.79796} and {9.79796} exceeds 5.42101e-19%".]
-
-Boost.LexicalCast and Boost.Serialization when converting the number
-to a string, causing potentially serious loss of accuracy on output.
-
-Although it might seem obvious that RealType should require `std::numeric_limits`
-to be specialized, this is not sensible for
-`NTL::RR` and similar classes where the number of digits is a runtime
-parameter (where as for `numeric_limits` it has to be fixed at compile time).
-]
-
-[h4 Standard Library Support Requirements]
-
-Many (though not all) of the functions in this library make calls
-to standard library functions, the following table summarises the
-requirements. Note that most of the functions in this library
-will only call a small subset of the functions listed here, so if in
-doubt whether a user defined type has enough standard library
-support to be useable the best advise is to try it and see!
-
-In the following table /r/ is an object of type `RealType`,
-/cr1/ and /cr2/ are objects of type `const RealType`, and
-/i/ is an object of type `int`.
-
-[table
-[[Expression][Result Type]]
-[[`fabs(cr1)`][RealType]]
-[[`abs(cr1)`][RealType]]
-[[`ceil(cr1)`][RealType]]
-[[`floor(cr1)`][RealType]]
-[[`exp(cr1)`][RealType]]
-[[`pow(cr1, cr2)`][RealType]]
-[[`sqrt(cr1)`][RealType]]
-[[`log(cr1)`][RealType]]
-[[`frexp(cr1, &i)`][RealType]]
-[[`ldexp(cr1, i)`][RealType]]
-[[`cos(cr1)`][RealType]]
-[[`sin(cr1)`][RealType]]
-[[`asin(cr1)`][RealType]]
-[[`tan(cr1)`][RealType]]
-[[`atan(cr1)`][RealType]]
-[[`fmod(cr1)`][RealType]]
-[[`round(cr1)`][RealType]]
-[[`iround(cr1)`][int]]
-[[`trunc(cr1)`][RealType]]
-[[`itrunc(cr1)`][int]]
-]
-
-Note that the table above lists only those standard library functions known to
-be used (or likely to be used in the near future) by this library.
-The following functions: `acos`, `atan2`, `fmod`, `cosh`, `sinh`, `tanh`, `log10`,
-`lround`, `llround`, `ltrunc`, `lltrunc` and `modf`
-are not currently used, but may be if further special functions are added.
-
-Note that the `round`, `trunc` and `modf` functions are not part of the
-current C++ standard: they are part of the additions added to C99 which will
-likely be in the next C++ standard. There are Boost versions of these provided
-as a backup, and the functions are always called unqualified so that
-argument-dependent-lookup can take place.
-
-In addition, for efficient and accurate results, a __lanczos is highly desirable.
-You may be able to adapt an existing approximation from
-[@../../../../../boost/math/special_functions/lanczos.hpp
-boost/math/special_functions/lanczos.hpp] or
-[@../../../../../boost/math/bindings/detail/big_lanczos.hpp
-boost/math/bindings/detail/big_lanczos.hpp]:
-in the former case you will need change
-static_cast's to lexical_cast's, and the constants to /strings/
-(in order to ensure the coefficients aren't truncated to long double)
-and then specialise `lanczos_traits` for type T. Otherwise you may have to hack
-[@../../../tools/lanczos_generator.cpp
-libs/math/tools/lanczos_generator.cpp] to find a suitable
-approximation for your RealType. The code will still compile if you don't do
-this, but both accuracy and efficiency will be greatly compromised in any
-function that makes use of the gamma\/beta\/erf family of functions.
-
-[endsect]
-
-[section:dist_concept Conceptual Requirements for Distribution Types]
-
-A /DistributionType/ is a type that implements the following conceptual
-requirements, and encapsulates a statistical distribution.
-
-Please note that this documentation should not be used as a substitute
-for the
-[link math_toolkit.dist.dist_ref reference documentation], and
-[link math_toolkit.dist.stat_tut tutorial] of the statistical
-distributions.
-
-In the following table, /d/ is an object of type `DistributionType`,
-/cd/ is an object of type `const DistributionType` and /cr/ is an
-object of a type convertible to `RealType`.
-
-[table
-[[Expression][Result Type][Notes]]
-[[DistributionType::value_type][RealType]
- [The real-number type /RealType/ upon which the distribution operates.]]
-[[DistributionType::policy_type][RealType]
- [The __Policy to use when evaluating functions that depend on this distribution.]]
-[[d = cd][Distribution&][Distribution types are assignable.]]
-[[Distribution(cd)][Distribution][Distribution types are copy constructible.]]
-[[pdf(cd, cr)][RealType][Returns the PDF of the distribution.]]
-[[cdf(cd, cr)][RealType][Returns the CDF of the distribution.]]
-[[cdf(complement(cd, cr))][RealType]
- [Returns the complement of the CDF of the distribution,
- the same as: `1-cdf(cd, cr)`]]
-[[quantile(cd, cr)][RealType][Returns the quantile (or percentile) of the distribution.]]
-[[quantile(complement(cd, cr))][RealType]
- [Returns the quantile (or percentile) of the distribution, starting from
- the complement of the probability, the same as: `quantile(cd, 1-cr)`]]
-[[chf(cd, cr)][RealType][Returns the cumulative hazard function of the distribution.]]
-[[hazard(cd, cr)][RealType][Returns the hazard function of the distribution.]]
-[[kurtosis(cd)][RealType][Returns the kurtosis of the distribution.]]
-[[kurtosis_excess(cd)][RealType][Returns the kurtosis excess of the distribution.]]
-[[mean(cd)][RealType][Returns the mean of the distribution.]]
-[[mode(cd)][RealType][Returns the mode of the distribution.]]
-[[skewness(cd)][RealType][Returns the skewness of the distribution.]]
-[[standard_deviation(cd)][RealType][Returns the standard deviation of the distribution.]]
-[[variance(cd)][RealType][Returns the variance of the distribution.]]
-]
-
-[endsect]
-
-[section:archetypes Conceptual Archetypes for Reals and Distributions]
-
-There are a few concept archetypes available:
-
-* Real concept for floating-point types.
-* distribution Concept for statistical distributions.
-
-[h5 Real concept]
-
-`std_real_concept` is an archetype for theReal types,
-including the built-in float, double, long double.
-
-``#include <boost/concepts/std_real_concept.hpp>``
-
- namespace boost{
- namespace math{
- namespace concepts
- {
- class std_real_concept;
- }
- }} // namespaces
-
-
-The main purpose in providing this type is to verify
-that standard library functions are found via a using declaration -
-bringing those functions into the current scope -
-and not just because they happen to be in global scope.
-
-In order to ensure that a call to say `pow` can be found
-either via argument dependent lookup, or failing that then
-in the std namespace: all calls to standard library functions
-are unqualified, with the std:: versions found via a `using` declaration
-to make them visible in the current scope. Unfortunately it's all
-to easy to forget the `using` declaration, and call the double version of
-the function that happens to be in the global scope by mistake.
-
-For example if the code calls ::pow rather than std::pow,
-the code will cleanly compile, but truncation of long doubles to
-double will cause a significant loss of precision.
-In contrast a template instantiated with std_real_concept will *only*
-compile if the all the standard library functions used have
-been brought into the current scope with a using declaration.
-
-[h6 Testing the real concept]
-
-There is a test program
-[@../../../test/std_real_concept_check.cpp libs/math/test/std_real_concept_check.cpp]
-that instantiates every template in this library with type
-`std_real_concept` to verify its usage of standard library functions.
-
-``#include <boost/math/concepts/real_concept.hpp>``
-
- namespace boost{
- namespace math{
- namespace concepts{
-
- class real_concept;
-
- }}} // namespaces
-
-`real_concept` is an archetype for
-[link math_toolkit.using_udt.concepts user defined real types],
-it declares its standard library functions in its own
-namespace: these will only be found if they are called unqualified
-allowing argument dependent lookup to locate them. In addition
-this type is useable at runtime:
-this allows code that would not otherwise be exercised by the built-in
-floating point types to be tested. There is no std::numeric_limits<>
-support for this type, since numeric_limits is not a conceptual requirement
-for [link math_toolkit.using_udt.concepts RealType]s.
-
-NTL RR is an example of a type meeting the requirements that this type
-models, but note that use of a thin wrapper class is required: refer to
-[link math_toolkit.using_udt.use_ntl "Using With NTL - a High-Precision Floating-Point Library"].
-
-There is no specific test case for type `real_concept`, instead, since this
-type is usable at runtime, each individual test case as well as testing
-`float`, `double` and `long double`, also tests `real_concept`.
-
-[h6 Distribution Concept]
-
-Distribution Concept models statistical distributions.
-
-``#include <boost/math/concepts/distribution.hpp>``
-
- namespace boost{
- namespace math{
- namespace concepts
- {
- template <class RealType>
- class distribution_archetype;
-
- template <class Distribution>
- struct DistributionConcept;
-
- }}} // namespaces
-
-The class template `distribution_archetype` is a model of the
-[link math_toolkit.using_udt.dist_concept Distribution concept].
-
-The class template `DistributionConcept` is a
-[@../../../../../libs/concept_check/index.html concept checking class]
-for distribution types.
-
-[h6 Testing the distribution concept]
-
-The test program
-[@../../../test/compile_test/distribution_concept_check.cpp distribution_concept_check.cpp]
-is responsible for using `DistributionConcept` to verify that all the
-distributions in this library conform to the
-[link math_toolkit.using_udt.dist_concept Distribution concept].
-
-The class template `DistributionConcept` verifies the existence
-(but not proper function) of the non-member accessors
-required by the [link math_toolkit.using_udt.dist_concept Distribution concept].
-These are checked by calls like
-
-v = pdf(dist, x); // (Result v is ignored).
-
-And in addition, those that accept two arguments do the right thing when the
-arguments are of different types (the result type is always the same as the
-distribution's value_type). (This is implemented by some additional
-forwarding-functions in derived_accessors.hpp, so that there is no need for
-any code changes. Likewise boilerplate versions of the
-hazard\/chf\/coefficient_of_variation functions are implemented in
-there too.)
-
-[endsect] [/section:archetypes Conceptual Archetypes for Reals and Distributions]
-[/
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
-
-
diff --git a/libs/math/doc/sf_and_dist/config_macros.qbk b/libs/math/doc/sf_and_dist/config_macros.qbk
deleted file mode 100644
index 8cecdb0b69..0000000000
--- a/libs/math/doc/sf_and_dist/config_macros.qbk
+++ /dev/null
@@ -1,67 +0,0 @@
-[section:config_macros Configuration Macros]
-
-Almost all configuration details are set up automatically by
-`<boost\math\tools\config.hpp>`.
-
-In normal use, only policy configuration macros are likely to be used. See __policy_ref.
-
-For reference, information on Boost.Math macros used internally are described briefly below.
-
-[table Boost.Math Macros
-[[MACRO][Notes]]
-[[`BOOST_MATH_NO_REAL_CONCEPT_TESTS`] [Do not try to use real concept tests (hardware or software does not support real_concept type).]]
-[[`BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS`] [Do not produce or use long double functions: this macro gets set when the platform's
-long double or standard library long double support is absent or buggy.]]
-[[`BOOST_MATH_CONTROL_FP`] [Controls FP hardware exceptions - our tests don't support hardware exceptions on MSVC.
-May get set to something like: ` _control87(MCW_EM,MCW_EM)`.]]
-[[`BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS`] [This macro is used by our test cases, it is set when an assignment of a function template
-to a function pointer requires explicit template arguments to be provided on the function name.]]
-[[`BOOST_MATH_USE_C99` ] [Use C99 math functions.]]
-[[`BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY`] [define if no native (or buggy) `fpclassify(long double)`
-even though the other C99 functions are present.]]
-[[`BOOST_MATH_EXPLICIT_TEMPLATE_TYPE`] [Workaround helper macro for broken compilers - composed from
-other Boost.Config macros, do not edit.]]
-[[`BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE`] [Workaround helper macro for broken compilers - composed from
-other Boost.Config macros, do not edit.]]
-[[`BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC`] [Workaround helper macro for broken compilers - composed from
-other Boost.Config macros, do not edit.]]
-[[`BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC`] [Workaround helper macro for broken compilers - composed from
-other Boost.Config macros, do not edit.]]
-[[`BOOST_MATH_SMALL_CONSTANT(x)`] [Helper macro used in our test cases to set underflowing constants set to zero
-if this would cause compiler issues.]]
-[[`BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS`] [Set if constants too large for a float, will cause "bad" values to be stored in the data,
-rather than infinity or a suitably large value.]]
-[[`BOOST_MATH_STD_USING`] [Provides `using` statements for many std:: (abs to sqrt) and boost::math (rounds, modf) functions.
-This allows these functions to be called unqualified so that if
-[@http://en.wikipedia.org/wiki/Argument-dependent_name_lookup argument-dependent Argument Dependent Lookup]
-fails to find a suitable overload, then the std:: versions will also be considered.]]
-[[`BOOST_FPU_EXCEPTION_GUARD`] [Used at the entrypoint to each special function to reset all FPU exception flags prior
-to internal calculations, and then merge the old and new exception flags on function exit. Used as a workaround
-on platforms or hardware that behave strangely if any FPU exception flags are set when calling standard library
-functions.]]
-[[`BOOST_MATH_INSTRUMENT`] [Define to output diagnostics for math functions. This is rather 'global' to Boost.Math and so
-coarse-grained that it will probably produce copious output! (Especially because full precision values are output).
-Designed primarily for internal use and development.]]
-[[`BOOST_MATH_INSTRUMENT_CODE(x)`] [Output selected named variable, for example `BOOST_MATH_INSTRUMENT_CODE("guess = " << guess)`; Used by `BOOST_MATH_INSTRUMENT`]]
-[[`BOOST_MATH_INSTRUMENT_VARIABLE(name)`] [Output selected variable, for example `BOOST_MATH_INSTRUMENT_VARIABLE(result);` Used by `BOOST_MATH_INSTRUMENT`]]
-[[`BOOST_MATH_INSTRUMENT_FPU`] [Output the state of the FPU's control flags.]]
-] [/table]
-
-[table Boost.Math Tuning
-[[ Macros for Tuning performance options for specific compilers] [Notes]]
-[[`BOOST_MATH_POLY_METHOD`] [See the [link math_toolkit.perf.tuning performance tuning section].]]
-[[`BOOST_MATH_RATIONAL_METHOD`] [See the [link math_toolkit.perf.tuning performance tuning section].]]
-[[`BOOST_MATH_MAX_POLY_ORDER`] [See the [link math_toolkit.perf.tuning performance tuning section].]]
-[[`BOOST_MATH_INT_TABLE_TYPE`] [See the [link math_toolkit.perf.tuning performance tuning section].]]
-[[`BOOST_MATH_INT_VALUE_SUFFIX`] [Helper macro for appending the correct suffix to integer constants
-which may actually be stored as reals depending on the value of BOOST_MATH_INT_TABLE_TYPE.]]
-] [/table]
-
-[endsect] [/section:config_macros Configuration Macros]
-
-[/
- Copyright 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/constants.qbk b/libs/math/doc/sf_and_dist/constants.qbk
deleted file mode 100644
index 27377934af..0000000000
--- a/libs/math/doc/sf_and_dist/constants.qbk
+++ /dev/null
@@ -1,710 +0,0 @@
-[section:constants Mathematical Constants]
-
-[section:intro Introduction]
-
-Boost.Math provides a collection of mathematical constants.
-
-[h4 Why use Boost.Math mathematical constants?]
-
-* Readable. For the very many jobs just using built-in like `double`, you can just write expressions like
-``double area = pi * r * r;``
-(If that's all you want, jump direct to [link math_toolkit.constants.tutorial.non_templ use in non-template code]!)
-* Effortless - avoiding a search of reference sources.
-* Usable with both builtin floating point types, and user-defined, possibly extended precision, types such as
-NTL, MPFR/GMP, mp_float: in the latter case the constants are computed to the necessary precision and then cached.
-* Accurate - ensuring that the values are as accurate as possible for the
-chosen floating-point type
- * No loss of accuracy from repeated rounding of intermediate computations.
- * Result is computed with higher precision and only rounded once.
- * Less risk of inaccurate result from functions pow, trig and log at [@http://en.wikipedia.org/wiki/Corner_case corner cases].
- * Less risk of [@http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html cancellation error].
-* Faster - can avoid (re-)calculation at runtime. This can be significant if:
- * Functions pow, trig or log are used.
- * Inside an inner loop.
- * Using a high-precision UDT.
- * Compiler optimizations possible with built-in types, especially `double`, are not available.
-* Portable - as possible between different systems using different floating-point precisions:
-see [link math_toolkit.constants.tutorial.templ use in template code].
-* Tested - by comparison with other published sources, or separately computed at long double precision.
-
-[endsect] [/section:intro Introduction]
-
-[section:tutorial Tutorial]
-
-[section:non_templ Use in non-template code]
-
-When using the math constants at your chosen fixed precision in non-template code,
-you can simply add a `using` declaration, for example, `using boost::math::double_constants`,
-to make the constants of the correct precision for your code
-visible in the current scope, and then use each constant ['as a simple variable]:
-
- #include <boost/math/constants.hpp>
-
- double area(double r)
- {
- using boost::math::double_constants;
- return pi * r * r;
- }
-
-Had our function been written as taking a `float` rather than a `double`,
-we could have written instead:
-
- #include <boost/math/constants.hpp>
-
- float area(float r)
- {
- using boost::math::float_constants;
- return pi * r * r;
- }
-
-Likewise, constants that are suitable for use at `long double` precision
-are available in the namespace `boost::math::long_double_constants`.
-
-You can see the full list of available constants at [link math_toolkit.constants.constants].
-
-[endsect]
-
-[section:templ Use in template code]
-
-When using the constants inside a function template, we need to ensure that
-we use a constant of the correct precision for our template parameters.
-We can do this by calling the function-template versions, `pi<FPType>()`, of the constants
-like this:
-
- #include <boost/math/constants.hpp>
-
- template <class Real>
- Real area(Real r)
- {
- using namespace boost::math::constants;
- return pi<Real>() * r * r;
- }
-
-Although this syntax is a little less "cute" than the non-template version,
-the code is no less efficient
-(at least for the built-in types `float`, `double` and `long double`) :
-the function template versions of the constants are simple inline functions that
-return a constant of the correct precision for the type used. In addition, these
-functions are declared `constexp` for those compilers that support this, allowing
-the result to be used in constant-expressions provided the template argument is a literal type.
-
-[tip Keep in mind the difference between the variable version,
-just `pi`, and the template-function version:
-the template-function requires both a <[~floating-point-type]>
-and function call `()` brackets, for example: `pi<double>()`.
-You cannot write `double p = pi<>()`, nor `double p = pi()`.]
-
-[note You can always use [*both] variable and template-function versions
-[*provided calls are fully qualified], for example:
-``
-double my_pi1 = boost::math::constants::pi<double>();
-double my_pi2 = boost::math::double_constants::pi;
-``
-]
-
-[warning It may be tempting to simply define
-``
-using namespace boost::math::double_constants;
-using namespace boost::math::constants;
-``
-but if you do define two namespaces, this will, of course, create ambiguity!
-``
-double my_pi = pi(); // error C2872: 'pi' : ambiguous symbol
-double my_pi2 = pi; // Context does not allow for disambiguation of overloaded function
-``
-Although the mistake above is fairly obvious,
-it is also not too difficult to do this accidentally, or worse, create it in someone elses code.
-
-Therefore is it prudent to avoid this risk by [*localising the scope of such definitions], as shown above.]
-
-[tip Be very careful with the type provided as parameter.
-For example, providing an [*integer] instead of a floating-point type can be disastrous (a C++ feature).
-
-``cout << "Area = " << area(2) << endl; // Area = 12!!!``
-
-You should get a compiler warning
-[pre
-warning : 'return' : conversion from 'double' to 'int', possible loss of data
-] [/pre]
-Failure to heed this warning can lead to very wrong answers!
-
-You can also avoid this by being explicit about the type of `Area`.
-``cout << "Area = " << area<double>(2) << endl; // Area = 12.566371``
-]
-
-[endsect] [/section:templ Use in template code]
-
-[section:user_def Use With User Defined Types]
-
-The syntax for using the function-call constants with user-defined types is the same
-as it is in the template class, which is to say we use:
-
- #include <boost/math/constants.hpp>
-
- boost::math::constants::pi<UserDefinedType>();
-
-However, since the precision of the user-defined type may be much greater than that
-of the built-in floating pointer types, how the value returned is created is as follows:
-
-* If the precision of the type is known at compile time:
- * If the precision is less than or equal to that of a `float` and the type is constructable from a `float`
- then our code returns a `float` literal. If the user-defined type is a literal type
- then the function call that returns the constant will be a `constexp`.
- * If the precision is less than or equal to that of a `double` and the type is constructable from a `double`
- then our code returns a `double` literal. If the user-defined type is a literal type
- then the function call that returns the constant will be a `constexp`.
- * If the precision is less than or equal to that of a `long double` and the type is constructable from a `long double`
- then our code returns a `long double` literal. If the user-defined type is a literal type
- then the function call that returns the constant will be a `constexp`.
- * If the precision is less than 100 decimal digits, then the constant will be constructed
- (just the once, then cached in a thread-safe manner) from a string representation of the constant.
- * Otherwise the value is computed (just once, then cached in a thread-safe manner).
-* If the precision is unknown at compile time then:
- * If the runtime precision (obtained from a call to `boost::math::tools::digits<T>()`) is
- less than 100 decimal digits, then the constant is constructed "on the fly" from the string
- representation of the constant.
- * Otherwise the value is constructed "on the fly" by calculating then value of the constant
- using the current default precision of the type. Note that this can make use of the constants
- rather expensive.
-
-In addition, it is possible to pass a `Policy` type as a second template argument, and use this to control
-the precision:
-
- #include <boost/math/constants/constants.hpp>
-
- typedef boost::math::policies::policy<boost::math::policies::digits2<80> > my_policy_type;
- boost::math::constants::pi<MyType, my_policy_type>();
-
-[note Boost.Math doesn't know how to control the internal precision of `MyType`, the policy
-just controls how the selection process above is carried out, and the calculation precision
-if the result is computed.]
-
-It is also possible to control which method is used to construct the constant by specialising
-the traits class `construction_traits`:
-
- namespace boost{ namespace math{ namespace constant{
-
- template <class T, class Policy>
- struct construction_traits
- {
- typedef mpl::int_<N> type;
- };
-
- }}} // namespaces
-
-Where ['N] takes one of the following values:
-
-[table
-[[['N]][Meaning]]
-[[0][The precision is unavailable at compile time;
-either construct from a decimal digit string or calculate on the fly depending upon the runtime precision.]]
-[[1][Return a float precision constant.]]
-[[2][Return a double precision constant.]]
-[[3][Return a long double precision constant.]]
-[[4][Construct the result from the string representation, and cache the result.]]
-[[Any other value ['N]][Sets the compile time precision to ['N] bits.]]
-]
-
-[h5 Custom Specializing a constant]
-
-In addition, for user-defined types that need special handling, it's possible to \[partially-\] specialize
-the internal structure used by each constant. For example, suppose we're using the C++ wrapper around MPFR
-`mpfr_class`: this has its own representation of Pi which we may well wish to use in place of the above
-mechanism. We can achieve this by specialising the class template `boost::math::constants::detail::constant_pi`:
-
- namespace boost{ namespace math{ namespace constants{ namespace detail{
-
- template<>
- struct constant_pi<mpfr_class>
- {
- template<int N>
- inline T get(const mpl::int_<N>&)
- {
- // The template param N is one of the values in the table above,
- // we can either handle all cases in one as is the case here,
- // or overload "get" for the different options.
- mpfr_class result;
- mpfr_const_pi(result.get_mpfr_t(), GMP_RNDN);
- return result;
- }
- };
-
- }}}} // namespaces
-
-[h5 Diagnosing what meta-programmed code is doing]
-
-Finally, since it can be tricky to diagnose what meta-programmed code is doing, there is a
-diagnostic routine that prints information about how this library will handle a specific type,
-it can be used like this:
-
- #include <boost/math/constants/info.hpp>
-
- int main()
- {
- boost::math::constants::print_info_on_type<MyType>();
- }
-
-If you wish, you can also pass an optional std::ostream argument to the `print_info_on_type` function.
-Typical output for a user-defined type looks like this:
-
-[pre
-Information on the Implementation and Handling of
-Mathematical Constants for Type class boost::math::concepts::real_concept
-
-Checking for std::numeric_limits<class boost::math::concepts::real_concept> specialisation: no
-boost::math::policies::precision<class boost::math::concepts::real_concept, Policy>
-reports that there is no compile type precision available.
-boost::math::tools::digits<class boost::math::concepts::real_concept>()
-reports that the current runtime precision is
-53 binary digits.
-No compile time precision is available, the construction method
-will be decided at runtime and results will not be cached
-- this may lead to poor runtime performance.
-Current runtime precision indicates that
-the constant will be constructed from a string on each call.
-]
-
-[endsect] [/section:user_def Use With User Defined Types]
-
-[endsect] [/section:tutorial Tutorial]
-
-[section:constants The Mathematical Constants]
-
-This section lists the mathematical constants, their use(s) (and sometimes rationale for their inclusion).
-[table Mathematical Constants
-[[name] [formula] [Value (6 decimals)] [Uses and Rationale]]
-[[[*Rational fractions]] [] [] [] ]
-[[half] [1/2] [0.5] [] ]
-[[third] [1/3] [0.333333] [] ]
-[[two_thirds] [2/3] [0.66667] [] ]
-[[three_quarters] [3/4] [0.75] [] ]
-
-[[[*two and related]] [] [] [] ]
-[[root_two] [[radic]2] [1.41421] [] ]
-[[root_three] [[radic]3] [1.73205] [] ]
-[[half_root_two] [[radic]2 /2] [0.707106] [] ]
-[[ln_two] [ln(2)] [0.693147] [] ]
-[[ln_ten] [ln(10)] [2.30258] [] ]
-[[ln_ln_two] [ln(ln(2))] [-0.366512] [Gumbel distribution median] ]
-[[root_ln_four] [[radic]ln(4)] [1.177410] [] ]
-[[one_div_root_two] [1/[radic]2] [0.707106] [] ]
-
-[[[*[pi] and related]] [] [] [] ]
-[[pi] [pi] [3.14159] [Ubiquitous. Archimedes constant [@http://en.wikipedia.org/wiki/Pi [pi]]]]
-[[half_pi] [[pi]/2] [1.570796] [] ]
-[[third_pi] [[pi]/3] [1.04719] [] ]
-[[sixth_pi] [[pi]/6] [0.523598] [] ]
-[[two_pi] [2[pi]] [6.28318] [Many uses, most simply, circumference of a circle]]
-[[two_thirds_pi] [2/3 [pi]] [2.09439] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a hemi-sphere] = 4/3 [pi] r[cubed]]]
-[[three_quarters_pi] [3/4 [pi]] [2.35619] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a hemi-sphere] = 4/3 [pi] r[cubed]]]
-[[four_thirds_pi] [4/3 [pi]] [4.18879] [[@http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere volume of a sphere] = 4/3 [pi] r[cubed]]]
-[[one_div_two_pi] [1/(2[pi])] [1.59155] [Widely used]]
-[[root_pi] [[radic][pi]][1.77245] [Widely used]]
-[[root_half_pi] [[radic] [pi]/2] [1.25331] [Widely used]]
-[[root_two_pi][[radic] [pi]*2] [2.50662] [Widely used]]
-[[one_div_root_pi] [1/[radic][pi]] [0.564189] [] ]
-[[one_div_root_two_pi] [1/[radic](2[pi])] [0.398942] [] ]
-[[root_one_div_pi] [[radic](1/[pi]] [0.564189] [] ]
-[[pi_minus_three] [[pi]-3] [1.41593] [] ]
-[[four_minus_pi] [4 -[pi]] [0.858407] [] ]
-[[pow23_four_minus_pi] [4[super 2/3] - [pi]] [0.795316] [] ]
-[[pi_pow_e] [[pi][super e]] [22.4591] [] ]
-
-[[pi_sqr] [[pi][super 2]] [9.86960] [] ]
-[[pi_sqr_div_six] [[pi][super 2]/6] [1.64493] [] ]
-[[pi_cubed] [[pi][super 3]] [31.00627] [] ]
-[[cbrt_pi] [[radic][super 3] [pi]] [1.46459] [] ]
-[[one_div_cbrt_pi] [1/[radic][super 3] [pi]] [0.682784] [] ]
-
-[[[*Euler's e and related]] [] [] [] ]
-[[e] [e] [2.71828] [[@http://en.wikipedia.org/wiki/E_(mathematical_constant) Euler's constant e]] ]
-[[exp_minus_half] [e [super -1/2]] [0.606530] [] ]
-[[e_pow_pi] [e [super [pi]]] [23.14069] [] ]
-[[root_e] [[radic] e] [1.64872] [] ]
-[[log10_e] [log10(e)] [0.434294] [] ]
-[[one_div_log10_e] [1/log10(e)] [2.30258] [] ]
-
-[[[*Trigonometric]] [] [] [] ]
-[[degree] [radians = [pi] / 180] [0.017453] [] ]
-[[radian] [degrees = 180 / [pi]] [57.2957] [] ]
-[[sin_one] [sin(1)] [0.841470] [] ]
-[[cos_one] [cos(1)] [0.54030] [] ]
-[[sinh_one] [sinh(1)] [1.17520] [] ]
-[[cosh_one] [cosh(1)] [1.54308] [] ]
-
-[[[*Phi]] [ Phidias golden ratio] [[@http://en.wikipedia.org/wiki/Golden_ratio Phidias golden ratio]] [] ]
-[[phi] [(1 + [radic]5) /2] [1.61803] [finance] ]
-[[ln_phi] [ln([phi])] [0.48121] [] ]
-[[one_div_ln_phi] [1/ln([phi])] [2.07808] [] ]
-
-[[[*Euler's Gamma]] [] [] [] ]
-[[euler] [euler] [0.577215] [[@http://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant Euler-Mascheroni gamma constant]] ]
-[[one_div_euler] [1/euler] [1.73245] [] ]
-[[euler_sqr] [euler[super 2]] [0.333177] [] ]
-
-[[[*Misc]] [] [] [] ]
-[[zeta_two] [[zeta](2)] [1.64493] [[@http://en.wikipedia.org/wiki/Riemann_zeta_function Riemann zeta function]] ]
-[[zeta_three] [[zeta](3)] [1.20205] [[@http://en.wikipedia.org/wiki/Riemann_zeta_function Riemann zeta function]] ]
-[[catalan] [['K]] [0.915965] [[@http://mathworld.wolfram.com/CatalansConstant.html Catalan (or Glaisher) combinatorial constant] ]]
-[[glaisher] [['A]] [1.28242] [[@https://oeis.org/A074962/constant Decimal expansion of Glaisher-Kinkelin constant] ]]
-[[khinchin] [['k]] [2.685452] [[@https://oeis.org/A002210/constant Decimal expansion of Khinchin constant] ]]
-
-[[extreme_value_skewness] [12[radic]6 [zeta](3)/ [pi][super 3]] [1.139547] [Extreme value distribution] ]
-[[rayleigh_skewness] [2[radic][pi]([pi]-3)/(4 - [pi])[super 3/2]] [0.631110] [Rayleigh distribution skewness] ]
-[[rayleigh_kurtosis_excess] [-(6[pi][super 2]-24[pi]+16)/(4-[pi])[super 2]] [0.245089] [[@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution kurtosis excess]] ]
-[[rayleigh_kurtosis] [3+(6[pi][super 2]-24[pi]+16)/(4-[pi])[super 2]] [3.245089] [Rayleigh distribution kurtosis] ]
-
-] [/table]
-
-
-[note Integer values are *not included* in this list of math constants, however interesting,
-because they can be so easily and exactly constructed, even for UDT, for example: `static_cast<cpp_float>(42)`.]
-
-[tip If you know the approximate value of the constant, you can search for the value to find Boost.Math chosen name in this table.]
-
-[endsect] [/section:constants The constants]
-
-[section:new_const Defining New Constants]
-
-The library provides some helper code to assist in defining new constants;
-the process for defining a constant called `my_constant` goes like this:
-
-1. [*Define a function that calculates the value of the constant].
-This should be a template function, and be placed in `boost/math/constants/calculate_constants.hpp`
-if the constant is to be added to this library,
-or else defined at the top of your source file if not.
-
-The function should look like this:
-
- namespace boost{ namespace math{ namespace constants{ namespace detail{
-
- template <class Real>
- template <int N>
- Real constant_my_constant<Real>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
- {
- int required_precision = N ? N : tools::digits<Real>();
- Real result = /* value computed to required_precision bits */ ;
- return result;
- }
-
- }}}} // namespaces
-
-Then define a placeholder for the constant itself:
-
- namespace boost{ namespace math{ namespace constants{
-
- BOOST_DEFINE_MATH_CONSTANT(my_constant, 0.0, "0");
-
- }}}
-
-
-For example, to calculate [pi]/2, add to `boost/math/constants/calculate_constants.hpp`
-
- template <class T>
- template<int N>
- inline T constant_half_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
- {
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >() / static_cast<T>(2);
- }
-
-Then to `boost/math/constants/constants.hpp` add:
-
- BOOST_DEFINE_MATH_CONSTANT(half_pi, 0.0, "0"); // Actual values are temporary, we'll replace them later.
-
-[note Previously defined constants like pi and e can be used, but by *not simply calling* `pi<T>()`;
-specifying the precision via the policy
-`pi<T, policies::policy<policies::digits2<N> > >()`
-is essential to ensure full accuracy.]
-
-[warning Newly defined constants can only be used once they are included in
-`boost/math/constants/constants.hpp`. So if you add
-`template <class T, class N> T constant_my_constant{...}`,
-then you cannot define `constant_my_constant`
-until you add the temporary `BOOST_DEFINE_MATH_CONSTANT(my_constant, 0.0, "0")`.
-Failing to do this will result in surprising compile errors:
-``
- error C2143: syntax error : missing ';' before '<'
- error C2433: 'constant_root_two_div_pi' : 'inline' not permitted on data declarations
- error C2888: 'T constant_root_two_div_pi' : symbol cannot be defined within namespace 'detail'
- error C2988: unrecognizable template declaration/definition
-``
-]
-
-2. [*You will need an arbitrary precision type to use to calculate the value]. This library
-currently supports either `cpp_float`, `NTL::RR` or `mpfr_class` used via the bindings in `boost/math/bindings`.
-The default is to use `NTL::RR` unless you define an alternate macro, for example,
-`USE_MPFR` or `USE_CPP_FLOAT` at the start of your program.
-
-3. It is necessary to link to the Boost.Regex library,
-and probably to your chosen arbitrary precision type library.
-
-4. The complete program to generate the constant `half_pi` using function `calculate_half_pi` is then:
-
- #define USE_CPP_FLOAT // If required.
- #include <boost/math/constants/generate.hpp>
-
- int main()
- {
- BOOST_CONSTANTS_GENERATE(half_pi);
- }
-
-The output from the program is a snippet of C++ code
-(actually a macro call) that can be cut and pasted
-into `boost/math/constants/constants.hpp` or else into your own code, for example:
-
-[pre
- BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00");
-]
-
-This macro BOOST_DEFINE_MATH_CONSTANT inserts a C++ struct code snippet that
-declares the `float`, `double` and `long double` versions of the constant,
-plus a decimal digit string representation correct to 100 decimal
-digits, and all the meta-programming machinery needed to select between them.
-
-The result of an expanded macro for Pi is shown below.
-
-[import ./pp_pi.hpp]
-
-[preprocessed_pi]
-
-
-[endsect] [/section:new_const Defining New Constants]
-
-[section:FAQ FAQs]
-
-[h4 Why are ['these] Constants Chosen?]
-It is, of course, impossible to please everyone with a list like this.
-
-Some of the criteria we have used are:
-
-* Used in Boost.Math.
-* Commonly used.
-* Expensive to compute.
-* Requested by users.
-* [@http://en.wikipedia.org/wiki/Mathematical_constant Used in science and mathematics.]
-* No integer values (because so cheap to construct).[br]
-(You can easily define your own if found convenient, for example: `FPT one =static_cast<FPT>(42);`).
-
-[h4 How are constants named?]
-* Not macros, so no upper case.
-* All lower case (following C++ standard names).
-* No CamelCase.
-* Underscore as _ delimiter between words.
-* Numbers spelt as words rather than decimal digits (except following pow).
-* Abbreviation conventions:
- * root for square root.
- * cbrt for cube root.
- * pow for pow function using decimal digits like pow23 for n[super 2/3].
- * div for divided by or operator /.
- * minus for operator -, plus for operator +.
- * sqr for squared.
- * cubed for cubed n[super 3].
- * words for greek, like [pi], [zeta] and [Gamma].
- * words like half, third, three_quarters, sixth for fractions. (Digit(s) can get muddled).
- * log10 for log[sub 10]
- * ln for log[sub e]
-
-[h4 How are the constants derived?]
-
-The constants have all been calculated using high-precision software working
-with up to 300-bit precision giving about 100 decimal digits.
-(The precision can be arbitrarily chosen and is limited only by compute time).
-
-[h4 How Accurate are the constants?]
-The minimum accuracy chosen (100 decimal digits) exceeds the
-accuracy of reasonably-foreseeable floating-point hardware (256-bit)
-and should meet most high-precision computations.
-
-[h4 How are the constants tested?]
-
-# Comparison using Boost.Test BOOST_CHECK_CLOSE_FRACTION using long double literals,
-with at least 35 decimal digits, enough to be accurate for all long double implementations.
-The tolerance is usually twice `long double epsilon`.
-
-# Comparison with calculation at long double precision.
-This often requires a slightly higher tolerance than two epsilon
-because of computational noise from round-off etc,
-especially when trig and other functions are called.
-
-# Comparison with independent published values,
-for example, using [@http://oeis.org/ The On-Line Encyclopedia of Integer Sequences (OEIS)]
-again using at least 35 decimal digits strings.
-
-# Comparison with independely calculated values using arbitrary precision tools like
-[@http://www.wolfram.com/mathematica/ Mathematica], again using at least 35 decimal digits literal strings.
-
-[warning We have not yet been able to [*check] that
-[*all] constants are accurate at the full arbitrary precision,
-at present 100 decimal digits.
-But certain key values like `e` and `pi` appear to be accurate
-and internal consistencies suggest that others are this accurate too.
-]
-
-[h4 Why is Portability important?]
-
-Code written using math constants is easily portable even when using different
-floating-point types with differing precision.
-
-It is a mistake to expect that results of computations will be [*identical], but
-you can achieve the [*best accuracy possible for the floating-point type in use].
-
-This has no extra cost to the user, but reduces irritating,
-and often confusing and very hard-to-trace effects,
-caused by the intrinsically limited precision of floating-point calculations.
-
-A harmless symptom of this limit is a spurious least-significant digit;
-at worst, slightly inaccurate constants sometimes cause iterating algorithms
-to diverge wildly because internal comparisons just fail.
-
-[h4 What is the Internal Format of the constants, and why?]
-
-See [link math_toolkit.constants.tutorial tutorial] above for normal use,
-but this FAQ explains the internal details used for the constants.
-
-Constants are stored as 100 decimal digit values.
-However, some compilers do not accept decimal digits strings as long as this.
-So the constant is split into two parts, with the first containing at least
-128-bit long double precision (35 decimal digits),
-and for consistency should be in scientific format with a signed exponent.
-
-The second part is the value of the constant expressed as a string literal,
-accurate to at least 100 decimal digits (in practice that means at least 102 digits).
-Again for consistency use scientific format with a signed exponent.
-
-For types with precision greater than a long double,
-then if T is constructible `T `is constructible from a `const char*`
-then it's directly constructed from the string,
-otherwise we fall back on lexical_cast to convert to type `T`.
-(Using a string is necessary because you can't use a numeric constant
-since even a `long double` might not have enough digits).
-
-So, for example, a constant like pi is internally defined as
-
- BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884e+00, "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00");
-
-In this case the significand is 109 decimal digits, ensuring 100 decimal digits are exact, and exponent is zero.
-
-See [link math_toolkit.constants.new_const defining new constants] to calculate new constants.
-
-A macro definition like this can be pasted into user code where convenient,
-or into `boost/math/constants.hpp` if it is to be added to the Boost.Math library.
-
-[h4 What Floating-point Types could I use?]
-
-Apart from the built-in floating-point types `float`, `double`, `long double`,
-there are several arbitrary precision floating-point classes available,
-but most are not licensed for commercial use.
-
-[h5 Boost.Multiprecision by Christopher Kormanyos]
-
-This work is based on an earlier work called e-float:
-Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations,
-in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011.
-[@http://doi.acm.org/10.1145/1916461.1916469]
-[@https://svn.boost.org/svn/boost/sandbox/e_float/ e_float]
-but is now re-factored and available under the Boost license in the Boost-sandbox at
-[@https://svn.boost.org/svn/boost/sandbox/multiprecision/ multiprecision]
-where it is being refined and prepared for review.
-
-[h5 Boost.cpp_float by John Maddock using Expression Templates]
-
-[@https://svn.boost.org/svn/boost/sandbox/big_number/ Big Number]
-which is a reworking of [@https://svn.boost.org/svn/boost/sandbox/e_float/ e_float]
-by Christopher Kormanyos to use expression templates for faster execution.
-
-[h5 NTL class quad_float]
-
-[@http://shoup.net/ntl/ NTL] by Victor Shoup has fixed and arbitrary high precision fixed and floating-point types.
-However none of these are licenced for commercial use.
-
- #include <NTL/quad_float.h> // quad precision 106-bit, about 32 decimal digits.
- using NTL::to_quad_float; // Less precise than arbitrary precision NTL::RR.
-
-NTL class `quad_float`, which gives a form of quadruple precision,
-106-bit significand (but without an extended exponent range.)
-With an IEC559/IEEE 754 compatible processor,
-for example Intel X86 family, with 64-bit double, and 53-bit significand,
-using the significands of [*two] 64-bit doubles,
-if `std::numeric_limits<double>::digits10` is 16,
-then we get about twice the precision,
-so `std::numeric_limits<quad_float>::digits10()` should be 32.
-(the default `std::numeric_limits<RR>::digits10()` should be about 40).
-(which seems to agree with experiments).
-We output constants (including some noisy bits,
-an approximation to `std::numeric_limits<RR>::max_digits10()`)
-by adding 2 extra decimal digits, so using `quad_float::SetOutputPrecision(32 + 2);`
-
-Apple Mac/Darwin uses a similar ['doubledouble] 106-bit for its built-in `long double` type.
-
-[note The precision of all `doubledouble` floating-point types is rather odd and values given are only approximate.]
-
-[h5 NTL class RR]
-
-Arbitrary precision floating point with NTL class RR,
-default is 150 bit (about 50 decimal digits)
-used here with 300 bit to output 100 decimal digits,
-enough for many practical non-'number-theoretic' C++ applications.
-
-NTL is [*not licenced for commercial use].
-
-This class is used in Boost.Math and an option when using big_number projects to calculate new math constants.
-
-[h5 GMP and MPFR]
-
-[@gmplib.org GMP] and [@http://www.mpfr.org/ MPFR] have also been used to compute constants,
-but are licensed under the [@http://www.gnu.org/copyleft/lesser.html Lesser GPL license]
-and are [*not licensed for commercial use].
-
-[h4 What happened to a previous collection of constants proposed for Boost?]
-
-A review concluded that the way in which the constants were presented did not meet many peoples needs.
-None of the methods proposed met many users' essential requirement to allow writing simply `pi` rather than `pi()`.
-Many science and engineering equations look difficult to read when because function call brackets can be confused
-with the many other brackets often needed. All the methods then proposed of avoiding the brackets failed to meet all needs,
-often on grounds of complexity and lack of applicability to various realistic scenarios.
-
-So the simple namespace method, proposed on its own, but rejected at the first review,
-has been added to allow users to have convenient access to float, double and long double values,
-but combined with template struct and functions to allow simultaneous use
-with other non-built-in floating-point types.
-
-[h4 Why do the constants (internally) have a struct rather than a simple function?]
-
-A function mechanism was provided by in previous versions of Boost.Math.
-
-The new mechanism is to permit partial specialization. See Custom Specializing a constant above.
-It should also allow use with other packages like [@http://www.ttmath.org/ ttmath Bignum C++ library.]
-
-[h4 Where can I find other high precision constants?]
-
-# Constants with very high precision and good accuracy (>40 decimal digits)
-from Simon Plouffe's web based collection [@http://pi.lacim.uqam.ca/eng/].
-# [@https://oeis.org/ The On-Line Encyclopedia of Integer Sequences (OEIS)]
-# Checks using printed text optically scanned values and converted from:
-D. E. Knuth, Art of Computer Programming, Appendix A, Table 1, Vol 1, ISBN 0 201 89683 4 (1997)
-# M. Abrahamovitz & I. E. Stegun, National Bureau of Standards, Handbook of Mathematical Functions,
-a reference source for formulae now superceded by
-# Frank W. Olver, Daniel W. Lozier, Ronald F. Boisvert, Charles W. Clark, NIST Handbook of Mathemetical Functions, Cambridge University Press, ISBN 978-0-521-14063-8, 2010.
-# John F Hart, Computer Approximations, Kreiger (1978) ISBN 0 88275 642 7.
-# Some values from Cephes Mathematical Library, Stephen L. Moshier
-and CALC100 100 decimal digit Complex Variable Calculator Program, a DOS utility.
-# Xavier Gourdon, Pascal Sebah, 50 decimal digits constants at [@http://numbers.computation.free.fr/Constants/constants.html Number, constants and computation].
-
-[h4 Where are Physical Constants?]
-
-Not here in this Boost.Math collection, because physical constants:
-
-* Are measurements.
-* Are not truly constant and keeping changing as mensuration technology improves.
-* Have a instrinsic uncertainty.
-* Mathematical constants are stored and represented at varying precision, but should never be inaccurate.
-
-Some physical constants may be available in Boost.Units.
-
-[endsect] [/section:FAQ FAQ]
-
-[endsect]
-
-
-
diff --git a/libs/math/doc/sf_and_dist/credits.qbk b/libs/math/doc/sf_and_dist/credits.qbk
deleted file mode 100644
index fa747ca363..0000000000
--- a/libs/math/doc/sf_and_dist/credits.qbk
+++ /dev/null
@@ -1,94 +0,0 @@
-[section:credits Credits and Acknowledgements]
-
-Hubert Holin started the Boost.Math library. The inverse
-hyperbolic functions, and the sinus cardinal functions are his.
-
-John Maddock started this library, the beta, gamma, erf, polynomial,
-and factorial functions are his, as is the "Toolkit" section, and many
-of the statistical distributions.
-
-Paul A. Bristow threw down the challenge in
-[@http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2004/n1668.pdf
-A Proposal to add Mathematical Functions for Statistics to the C++
-Standard Library] to add the key math functions, especially those essential for
-statistics. After JM accepted and solved the difficult problems,
-not only numerically, but in full C++ template style, PAB
-implemented a few of the statistical distributions. PAB also tirelessly
-proof-read everything that JM threw at him (so that all
-remaining editorial mistakes are his fault).
-
-Xiaogang Zhang worked on the Bessel functions and elliptic integrals for his
-Google Summer of Code project 2006.
-
-Bruno Lalande submitted the "compile time power of a runtime base" code.
-
-Johan R'''&#xE5;'''de wrote the optimised floating-point classification
-and manipulation code, and nonfinite facets to permit C99 output of infinities and NaNs.
-(nonfinite facets were not added until Boost 1.47 but had been in use with Boost.Spirit).
-This library was based on a suggestion from Robert Ramey, author of Boost.Serialization.
-Paul A. Bristow expressed the need for better handling of
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf
-Input & Output of NaN and infinity for the C++ Standard Library]
-and suggested following the C99 format.
-
-Antony Polukhin improved lexical cast avoiding stringstream so that
-it was no longer necessary to use a globale C99 facet to handle nonfinites.
-
-H'''&#xE5;'''kan Ard'''&#xF6;''',
-Boris Gubenko, John Maddock,
-Markus Sch'''&#xF6;'''pflin
-and Olivier Verdier tested the floating-point library and
-Martin Bonner, Peter Dimov and John Maddock provided valuable advice.
-
-Gautam Sewani coded the logistic distribution as part of a Google Summer of Code project 2008.
-
-M. A. (Thijs) van den Berg coded the Laplace distribution.
-(Thijs has also threatened to implement some multivariate distributions).
-
-Thomas Mang requested the inverse gamma in chi squared distributions
-for Bayesian applications and helped in their implementation.
-
-Professor Nico Temme for advice on the inverse incomplete beta function.
-
-[@http://www.shoup.net Victor Shoup for NTL],
-without which it would have much more difficult to
-produce high accuracy constants, and especially
-the tables of accurate values for testing.
-
-We are grateful to Joel Guzman for helping us stress-test his
-[@http://www.boost.org/tools/quickbook/index.htm Boost.Quickbook]
-program used to generate the html and pdf versions
-of this document, adding several new features en route.
-
-Thanks to Mark Coleman and Georgi Boshnakov for spot test values
-from __Mathematica, and of course,
-to Eric Weissten for nurturing __Mathworld, an invaluable resource.
-
-The Skew-normal distribution and Owen's t function were written by Benjamin Sobotta.
-
-Plots of the functions and distributions were prepared in
-[@http://www.w3.org/ W3C] standard
-[@http://www.svg.org/ Scalable Vector Graphic (SVG)] format
-using a program created by Jacob Voytko during a
-[@http://code.google.com/soc/2007/ Google Summer of Code (2007)].
-Since browser support for rendering SVG is still not universal
-(Microsoft Internet Explorer, even IE 8 beta, still lacks native SVG support
-but can be made to work with
-[@http://www.adobe.com/svg/viewer/install/ Adobe's free SVG viewer] plugin),
-so the SVG files were batch converted to JPEG using
-[@http://www.inkscape.org/ Inkscape].
-
-We are also indebted to Matthias Schabel for managing the formal Boost-review
-of this library, and to all the reviewers - including Guillaume Melquiond,
-Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland
-- for their many helpful comments.
-
-[endsect] [/section:credits Credits and Acknowledgements]
-
-[/
- Copyright 2006, 2007, 2008, 2009, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/dist_algorithms.qbk b/libs/math/doc/sf_and_dist/dist_algorithms.qbk
deleted file mode 100644
index 94e2e4abc2..0000000000
--- a/libs/math/doc/sf_and_dist/dist_algorithms.qbk
+++ /dev/null
@@ -1,78 +0,0 @@
-[section:dist_algorithms Distribution Algorithms]
-
-[h4 Finding the Location and Scale for Normal and similar distributions]
-
-Two functions aid finding location and scale of random variable z
-to give probability p (given a scale or location).
-Only applies to distributions like normal, lognormal, extreme value, Cauchy, (and symmetrical triangular),
-that have scale and location properties.
-
-These functions are useful to predict the mean and/or standard deviation that will be needed to meet a specified minimum weight or maximum dose.
-
-Complement versions are also provided, both with explicit and implicit (default) policy.
-
- using boost::math::policies::policy; // May be needed by users defining their own policies.
- using boost::math::complement; // Will be needed by users who want to use complements.
-
-[h4 find_location function]
-
-``#include <boost/math/distributions/find_location.hpp>``
-
- namespace boost{ namespace math{
-
- template <class Dist, class ``__Policy``> // explicit error handling policy
- typename Dist::value_type find_location( // For example, normal mean.
- typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
- // For example, a nominal minimum acceptable z, so that p * 100 % are > z
- typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
- typename Dist::value_type scale, // scale parameter, for example, normal standard deviation.
- const ``__Policy``& pol);
-
- template <class Dist> // with default policy.
- typename Dist::value_type find_location( // For example, normal mean.
- typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
- // For example, a nominal minimum acceptable z, so that p * 100 % are > z
- typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
- typename Dist::value_type scale); // scale parameter, for example, normal standard deviation.
-
- }} // namespaces
-
-[h4 find_scale function]
-
-``#include <boost/math/distributions/find_scale.hpp>``
-
- namespace boost{ namespace math{
-
- template <class Dist, class ``__Policy``>
- typename Dist::value_type find_scale( // For example, normal mean.
- typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
- // For example, a nominal minimum acceptable weight z, so that p * 100 % are > z
- typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
- typename Dist::value_type location, // location parameter, for example, normal distribution mean.
- const ``__Policy``& pol);
-
- template <class Dist> // with default policy.
- typename Dist::value_type find_scale( // For example, normal mean.
- typename Dist::value_type z, // location of random variable z to give probability, P(X > z) == p.
- // For example, a nominal minimum acceptable z, so that p * 100 % are > z
- typename Dist::value_type p, // probability value desired at x, say 0.95 for 95% > z.
- typename Dist::value_type location) // location parameter, for example, normal distribution mean.
- }} // namespaces
-
-All argument must be finite, otherwise __domain_error is called.
-
-Probability arguments must be [0, 1], otherwise __domain_error is called.
-
-If the choice of arguments would give a negative scale, __domain_error is called, unless the policy is to ignore, when the negative (impossible) value of scale is returned.
-
-[link math_toolkit.dist.stat_tut.weg.find_eg Find Mean and standard deviation examples]
-gives simple examples of use of both find_scale and find_location, and a longer example finding means and standard deviations of normally distributed weights to meet a specification.
-
-[endsect] [/section:dist_algorithms dist_algorithms]
-
-[/ dist_algorithms.qbk
- Copyright 2007 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/dist_reference.qbk b/libs/math/doc/sf_and_dist/dist_reference.qbk
deleted file mode 100644
index 3a7265a2ca..0000000000
--- a/libs/math/doc/sf_and_dist/dist_reference.qbk
+++ /dev/null
@@ -1,145 +0,0 @@
-[section:dist_ref Statistical Distributions Reference]
-
-[include distributions/non_members.qbk]
-
-[section:dists Distributions]
-
-[include distributions/bernoulli.qbk]
-[include distributions/beta.qbk]
-[include distributions/binomial.qbk]
-[include distributions/cauchy.qbk]
-[include distributions/chi_squared.qbk]
-[include distributions/exponential.qbk]
-[include distributions/extreme_value.qbk]
-[include distributions/fisher.qbk]
-[include distributions/gamma.qbk]
-[include distributions/geometric.qbk]
-[include distributions/hypergeometric.qbk]
-[include distributions/inverse_chi_squared.qbk]
-[include distributions/inverse_gamma.qbk]
-[include distributions/inverse_gaussian.qbk]
-[include distributions/laplace.qbk]
-[include distributions/logistic.qbk]
-[include distributions/lognormal.qbk]
-[include distributions/negative_binomial.qbk]
-[include distributions/nc_beta.qbk]
-[include distributions/nc_chi_squared.qbk]
-[include distributions/nc_f.qbk]
-[include distributions/nc_t.qbk]
-[include distributions/normal.qbk]
-[include distributions/pareto.qbk]
-[include distributions/poisson.qbk]
-[include distributions/rayleigh.qbk]
-[include distributions/skew_normal.qbk]
-[include distributions/students_t.qbk]
-[include distributions/triangular.qbk]
-[include distributions/uniform.qbk]
-[include distributions/weibull.qbk]
-
-[endsect][/section:dists Distributions]
-
-[include dist_algorithms.qbk]
-
-[endsect][/section:dist_ref Statistical Distributions and Functions Reference]
-
-
-[section:future Extras/Future Directions]
-
-[h4 Adding Additional Location and Scale Parameters]
-
-In some modelling applications we require a distribution
-with a specific location and scale:
-often this equates to a specific mean and standard deviation, although for many
-distributions the relationship between these properties and the location and
-scale parameters are non-trivial. See
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm]
-for more information.
-
-The obvious way to handle this is via an adapter template:
-
- template <class Dist>
- class scaled_distribution
- {
- scaled_distribution(
- const Dist dist,
- typename Dist::value_type location,
- typename Dist::value_type scale = 0);
- };
-
-Which would then have its own set of overloads for the non-member accessor functions.
-
-[h4 An "any_distribution" class]
-
-It is easy to add a distribution object that virtualises
-the actual type of the distribution, and can therefore hold "any" object
-that conforms to the conceptual requirements of a distribution:
-
- template <class RealType>
- class any_distribution
- {
- public:
- template <class Distribution>
- any_distribution(const Distribution& d);
- };
-
- // Get the cdf of the underlying distribution:
- template <class RealType>
- RealType cdf(const any_distribution<RealType>& d, RealType x);
- // etc....
-
-Such a class would facilitate the writing of non-template code that can
-function with any distribution type.
-
-The [@http://sourceforge.net/projects/distexplorer/ Statistical Distribution Explorer]
-utility for Windows is a usage example.
-
-It's not clear yet whether there is a compelling use case though.
-Possibly tests for goodness of fit might
-provide such a use case: this needs more investigation.
-
-[h4 Higher Level Hypothesis Tests]
-
-Higher-level tests roughly corresponding to the
-[@http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/HypothesisTests.html Mathematica Hypothesis Tests]
-package could be added reasonably easily, for example:
-
- template <class InputIterator>
- typename std::iterator_traits<InputIterator>::value_type
- test_equal_mean(
- InputIterator a,
- InputIterator b,
- typename std::iterator_traits<InputIterator>::value_type expected_mean);
-
-Returns the probability that the data in the sequence [a,b) has the mean
-/expected_mean/.
-
-[h4 Integration With Statistical Accumulators]
-
-[@http://boost-sandbox.sourceforge.net/libs/accumulators/doc/html/index.html
-Eric Niebler's accumulator framework] - also work in progress - provides the means
-to calculate various statistical properties from experimental data. There is an
-opportunity to integrate the statistical tests with this framework at some later date:
-
- // Define an accumulator, all required statistics to calculate the test
- // are calculated automatically:
- accumulator_set<double, features<tag::test_expected_mean> > acc(expected_mean=4);
- // Pass our data to the accumulator:
- acc = std::for_each(mydata.begin(), mydata.end(), acc);
- // Extract the result:
- double p = probability(acc);
-
-[endsect][/section:future Extras Future Directions]
-
-[/ dist_reference.qbk
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
-
-
-
-
-
diff --git a/libs/math/doc/sf_and_dist/dist_tutorial.qbk b/libs/math/doc/sf_and_dist/dist_tutorial.qbk
deleted file mode 100644
index 521eb0d505..0000000000
--- a/libs/math/doc/sf_and_dist/dist_tutorial.qbk
+++ /dev/null
@@ -1,467 +0,0 @@
-[/ def names all end in distrib to avoid clashes with names of functions]
-[def __binomial_distrib [link math_toolkit.dist.dist_ref.dists.binomial_dist Binomial Distribution]]
-[def __chi_squared_distrib [link math_toolkit.dist.dist_ref.dists.chi_squared_dist Chi Squared Distribution]]
-[def __normal_distrib [link math_toolkit.dist.dist_ref.dists.normal_dist Normal Distribution]]
-[def __F_distrib [link math_toolkit.dist.dist_ref.dists.f_dist Fisher F Distribution]]
-[def __students_t_distrib [link math_toolkit.dist.dist_ref.dists.students_t_dist Students t Distribution]]
-
-[def __handbook [@http://www.itl.nist.gov/div898/handbook/
-NIST/SEMATECH e-Handbook of Statistical Methods.]]
-
-[section:stat_tut Statistical Distributions Tutorial]
-This library is centred around statistical distributions, this tutorial
-will give you an overview of what they are, how they can be used, and
-provides a few worked examples of applying the library to statistical tests.
-
-[section:overview Overview of Distributions]
-
-[section:headers Headers and Namespaces]
-
-All the code in this library is inside namespace boost::math.
-
-In order to use a distribution /my_distribution/ you will need to include
-either the header <boost/math/distributions/my_distribution.hpp> or
-the "include all the distributions" header: <boost/math/distributions.hpp>.
-
-For example, to use the Students-t distribution include either
-<boost/math/distributions/students_t.hpp> or
-<boost/math/distributions.hpp>
-
-You also need to bring distribution names into scope,
-perhaps with a `using namespace boost::math;` declaration,
-
-or specific `using` declarations like `using boost::math::normal;` (*recommended*).
-
-[caution Some math function names are also used in namespace std so including <random> could cause ambiguity!]
-
-[endsect] [/ section:headers Headers and Namespaces]
-
-[section:objects Distributions are Objects]
-
-Each kind of distribution in this library is a class type - an object.
-
-[link math_toolkit.policy Policies] provide fine-grained control
-of the behaviour of these classes, allowing the user to customise
-behaviour such as how errors are handled, or how the quantiles
-of discrete distribtions behave.
-
-[tip If you are familiar with statistics libraries using functions,
-and 'Distributions as Objects' seem alien, see
-[link math_toolkit.dist.stat_tut.weg.nag_library the comparison to
-other statistics libraries.]
-] [/tip]
-
-Making distributions class types does two things:
-
-* It encapsulates the kind of distribution in the C++ type system;
-so, for example, Students-t distributions are always a different C++ type from
-Chi-Squared distributions.
-* The distribution objects store any parameters associated with the
-distribution: for example, the Students-t distribution has a
-['degrees of freedom] parameter that controls the shape of the distribution.
-This ['degrees of freedom] parameter has to be provided
-to the Students-t object when it is constructed.
-
-Although the distribution classes in this library are templates, there
-are typedefs on type /double/ that mostly take the usual name of the
-distribution
-(except where there is a clash with a function of the same name: beta and gamma,
-in which case using the default template arguments - `RealType = double` -
-is nearly as convenient).
-Probably 95% of uses are covered by these typedefs:
-
- // using namespace boost::math; // Avoid potential ambiguity with names in std <random>
- // Safer to declare specific functions with using statement(s):
-
- using boost::math::beta_distribution;
- using boost::math::binomial_distribution;
- using boost::math::students_t;
-
- // Construct a students_t distribution with 4 degrees of freedom:
- students_t d1(4);
-
- // Construct a double-precision beta distribution
- // with parameters a = 10, b = 20
- beta_distribution<> d2(10, 20); // Note: _distribution<> suffix !
-
-If you need to use the distributions with a type other than `double`,
-then you can instantiate the template directly: the names of the
-templates are the same as the `double` typedef but with `_distribution`
-appended, for example: __students_t_distrib or __binomial_distrib:
-
- // Construct a students_t distribution, of float type,
- // with 4 degrees of freedom:
- students_t_distribution<float> d3(4);
-
- // Construct a binomial distribution, of long double type,
- // with probability of success 0.3
- // and 20 trials in total:
- binomial_distribution<long double> d4(20, 0.3);
-
-The parameters passed to the distributions can be accessed via getter member
-functions:
-
- d1.degrees_of_freedom(); // returns 4.0
-
-This is all well and good, but not very useful so far. What we often want
-is to be able to calculate the /cumulative distribution functions/ and
-/quantiles/ etc for these distributions.
-
-[endsect] [/section:objects Distributions are Objects]
-
-
-[section:generic Generic operations common to all distributions are non-member functions]
-
-Want to calculate the PDF (Probability Density Function) of a distribution?
-No problem, just use:
-
- pdf(my_dist, x); // Returns PDF (density) at point x of distribution my_dist.
-
-Or how about the CDF (Cumulative Distribution Function):
-
- cdf(my_dist, x); // Returns CDF (integral from -infinity to point x)
- // of distribution my_dist.
-
-And quantiles are just the same:
-
- quantile(my_dist, p); // Returns the value of the random variable x
- // such that cdf(my_dist, x) == p.
-
-If you're wondering why these aren't member functions, it's to
-make the library more easily extensible: if you want to add additional
-generic operations - let's say the /n'th moment/ - then all you have to
-do is add the appropriate non-member functions, overloaded for each
-implemented distribution type.
-
-[tip
-
-[*Random numbers that approximate Quantiles of Distributions]
-
-If you want random numbers that are distributed in a specific way,
-for example in a uniform, normal or triangular,
-see [@http://www.boost.org/libs/random/ Boost.Random].
-
-Whilst in principal there's nothing to prevent you from using the
-quantile function to convert a uniformly distributed random
-number to another distribution, in practice there are much more
-efficient algorithms available that are specific to random number generation.
-] [/tip Random numbers that approximate Quantiles of Distributions]
-
-For example, the binomial distribution has two parameters:
-n (the number of trials) and p (the probability of success on any one trial).
-
-The `binomial_distribution` constructor therefore has two parameters:
-
-`binomial_distribution(RealType n, RealType p);`
-
-For this distribution the __random_variate is k: the number of successes observed.
-The probability density\/mass function (pdf) is therefore written as ['f(k; n, p)].
-
-[note
-
-[*Random Variates and Distribution Parameters]
-
-The concept of a __random_variable is closely linked to the term __random_variate:
-a random variate is a particular value (outcome) of a random variable.
-and [@http://en.wikipedia.org/wiki/Parameter distribution parameters]
-are conventionally distinguished (for example in Wikipedia and Wolfram MathWorld)
-by placing a semi-colon or vertical bar)
-/after/ the __random_variable (whose value you 'choose'),
-to separate the variate from the parameter(s) that defines the shape of the distribution.[br]
-For example, the binomial distribution probability distribution function (PDF) is written as
-['f(k| n, p)] = Pr(K = k|n, p) = probability of observing k successes out of n trials.
-K is the __random_variable, k is the __random_variate,
-the parameters are n (trials) and p (probability).
-] [/tip Random Variates and Distribution Parameters]
-
-[note By convention, __random_variate are lower case, usually k is integral, x if real, and
-__random_variable are upper case, K if integral, X if real. But this implementation treats
-all as floating point values `RealType`, so if you really want an integral result,
-you must round: see note on Discrete Probability Distributions below for details.]
-
-As noted above the non-member function `pdf` has one parameter for the distribution object,
-and a second for the random variate. So taking our binomial distribution
-example, we would write:
-
-`pdf(binomial_distribution<RealType>(n, p), k);`
-
-The ranges of __random_variate values that are permitted and are supported can be
-tested by using two functions `range` and `support`.
-
-The distribution (effectively the __random_variate) is said to be 'supported'
-over a range that is
-[@http://en.wikipedia.org/wiki/Probability_distribution
- "the smallest closed set whose complement has probability zero"].
-MathWorld uses the word 'defined' for this range.
-Non-mathematicians might say it means the 'interesting' smallest range
-of random variate x that has the cdf going from zero to unity.
-Outside are uninteresting zones where the pdf is zero, and the cdf zero or unity.
-
-For most distributions, with probability distribution functions one might describe
-as 'well-behaved', we have decided that it is most useful for the supported range
-to *exclude* random variate values like exact zero *if the end point is discontinuous*.
-For example, the Weibull (scale 1, shape 1) distribution smoothly heads for unity
-as the random variate x declines towards zero.
-But at x = zero, the value of the pdf is suddenly exactly zero, by definition.
-If you are plotting the PDF, or otherwise calculating,
-zero is not the most useful value for the lower limit of supported, as we discovered.
-So for this, and similar distributions,
-we have decided it is most numerically useful to use
-the closest value to zero, min_value, for the limit of the supported range.
-(The `range` remains from zero, so you will still get `pdf(weibull, 0) == 0`).
-(Exponential and gamma distributions have similarly discontinuous functions).
-
-Mathematically, the functions may make sense with an (+ or -) infinite value,
-but except for a few special cases (in the Normal and Cauchy distributions)
-this implementation limits random variates to finite values from the `max`
-to `min` for the `RealType`.
-(See [link math_toolkit.backgrounders.implementation.handling_of_floating_point_infinity
-Handling of Floating-Point Infinity] for rationale).
-
-
-[note
-
-[*Discrete Probability Distributions]
-
-Note that the [@http://en.wikipedia.org/wiki/Discrete_probability_distribution
-discrete distributions], including the binomial, negative binomial, Poisson & Bernoulli,
-are all mathematically defined as discrete functions:
-that is to say the functions `cdf` and `pdf` are only defined for integral values
-of the random variate.
-
-However, because the method of calculation often uses continuous functions
-it is convenient to treat them as if they were continuous functions,
-and permit non-integral values of their parameters.
-
-Users wanting to enforce a strict mathematical model may use `floor`
-or `ceil` functions on the random variate prior to calling the distribution
-function.
-
-The quantile functions for these distributions are hard to specify
-in a manner that will satisfy everyone all of the time. The default
-behaviour is to return an integer result, that has been rounded
-/outwards/: that is to say, lower quantiles - where the probablity
-is less than 0.5 are rounded down, while upper quantiles - where
-the probability is greater than 0.5 - are rounded up. This behaviour
-ensures that if an X% quantile is requested, then /at least/ the requested
-coverage will be present in the central region, and /no more than/
-the requested coverage will be present in the tails.
-
-This behaviour can be changed so that the quantile functions are rounded
-differently, or return a real-valued result using
-[link math_toolkit.policy.pol_overview Policies]. It is strongly
-recommended that you read the tutorial
-[link math_toolkit.policy.pol_tutorial.understand_dis_quant
-Understanding Quantiles of Discrete Distributions] before
-using the quantile function on a discrete distribtion. The
-[link math_toolkit.policy.pol_ref.discrete_quant_ref reference docs]
-describe how to change the rounding policy
-for these distributions.
-
-For similar reasons continuous distributions with parameters like
-"degrees of freedom"
-that might appear to be integral, are treated as real values
-(and are promoted from integer to floating-point if necessary).
-In this case however, there are a small number of situations where non-integral
-degrees of freedom do have a genuine meaning.
-]
-
-[endsect] [/ section:generic Generic operations common to all distributions are non-member functions]
-
-[#complements]
-[section:complements Complements are supported too - and when to use them]
-
-Often you don't want the value of the CDF, but its complement, which is
-to say `1-p` rather than `p`. It is tempting to calculate the CDF and subtract
-it from `1`, but if `p` is very close to `1` then cancellation error
-will cause you to lose accuracy, perhaps totally.
-
-[link why_complements See below ['"Why and when to use complements?"]]
-
-In this library, whenever you want to receive a complement, just wrap
-all the function arguments in a call to `complement(...)`, for example:
-
- students_t dist(5);
- cout << "CDF at t = 1 is " << cdf(dist, 1.0) << endl;
- cout << "Complement of CDF at t = 1 is " << cdf(complement(dist, 1.0)) << endl;
-
-But wait, now that we have a complement, we have to be able to use it as well.
-Any function that accepts a probability as an argument can also accept a complement
-by wrapping all of its arguments in a call to `complement(...)`, for example:
-
- students_t dist(5);
-
- for(double i = 10; i < 1e10; i *= 10)
- {
- // Calculate the quantile for a 1 in i chance:
- double t = quantile(complement(dist, 1/i));
- // Print it out:
- cout << "Quantile of students-t with 5 degrees of freedom\n"
- "for a 1 in " << i << " chance is " << t << endl;
- }
-
-[tip
-
-[*Critical values are just quantiles]
-
-Some texts talk about quantiles, or percentiles or fractiles,
-others about critical values, the basic rule is:
-
-['Lower critical values] are the same as the quantile.
-
-['Upper critical values] are the same as the quantile from the complement
-of the probability.
-
-For example, suppose we have a Bernoulli process, giving rise to a binomial
-distribution with success ratio 0.1 and 100 trials in total. The
-['lower critical value] for a probability of 0.05 is given by:
-
-`quantile(binomial(100, 0.1), 0.05)`
-
-and the ['upper critical value] is given by:
-
-`quantile(complement(binomial(100, 0.1), 0.05))`
-
-which return 4.82 and 14.63 respectively.
-]
-
-[#why_complements]
-[tip
-
-[*Why bother with complements anyway?]
-
-It's very tempting to dispense with complements, and simply subtract
-the probability from 1 when required. However, consider what happens when
-the probability is very close to 1: let's say the probability expressed at
-float precision is `0.999999940f`, then `1 - 0.999999940f = 5.96046448e-008`,
-but the result is actually accurate to just ['one single bit]: the only
-bit that didn't cancel out!
-
-Or to look at this another way: consider that we want the risk of falsely
-rejecting the null-hypothesis in the Student's t test to be 1 in 1 billion,
-for a sample size of 10,000.
-This gives a probability of 1 - 10[super -9], which is exactly 1 when
-calculated at float precision. In this case calculating the quantile from
-the complement neatly solves the problem, so for example:
-
-`quantile(complement(students_t(10000), 1e-9))`
-
-returns the expected t-statistic `6.00336`, where as:
-
-`quantile(students_t(10000), 1-1e-9f)`
-
-raises an overflow error, since it is the same as:
-
-`quantile(students_t(10000), 1)`
-
-Which has no finite result.
-
-With all distributions, even for more reasonable probability
-(unless the value of p can be represented exactly in the floating-point type)
-the loss of accuracy quickly becomes significant if you simply calculate probability from 1 - p
-(because it will be mostly garbage digits for p ~ 1).
-
-So always avoid, for example, using a probability near to unity like 0.99999
-
-`quantile(my_distribution, 0.99999)`
-
-and instead use
-
-`quantile(complement(my_distribution, 0.00001))`
-
-since 1 - 0.99999 is not exactly equal to 0.00001 when using floating-point arithmetic.
-
-This assumes that the 0.00001 value is either a constant,
-or can be computed by some manner other than subtracting 0.99999 from 1.
-
-] [/ tip *Why bother with complements anyway?]
-
-[endsect] [/ section:complements Complements are supported too - and why]
-
-[section:parameters Parameters can be calculated]
-
-Sometimes it's the parameters that define the distribution that you
-need to find. Suppose, for example, you have conducted a Students-t test
-for equal means and the result is borderline. Maybe your two samples
-differ from each other, or maybe they don't; based on the result
-of the test you can't be sure. A legitimate question to ask then is
-"How many more measurements would I have to take before I would get
-an X% probability that the difference is real?" Parameter finders
-can answer questions like this, and are necessarily different for
-each distribution. They are implemented as static member functions
-of the distributions, for example:
-
- students_t::find_degrees_of_freedom(
- 1.3, // difference from true mean to detect
- 0.05, // maximum risk of falsely rejecting the null-hypothesis.
- 0.1, // maximum risk of falsely failing to reject the null-hypothesis.
- 0.13); // sample standard deviation
-
-Returns the number of degrees of freedom required to obtain a 95%
-probability that the observed differences in means is not down to
-chance alone. In the case that a borderline Students-t test result
-was previously obtained, this can be used to estimate how large the sample size
-would have to become before the observed difference was considered
-significant. It assumes, of course, that the sample mean and standard
-deviation are invariant with sample size.
-
-[endsect] [/ section:parameters Parameters can be calculated]
-
-[section:summary Summary]
-
-* Distributions are objects, which are constructed from whatever
-parameters the distribution may have.
-* Member functions allow you to retrieve the parameters of a distribution.
-* Generic non-member functions provide access to the properties that
-are common to all the distributions (PDF, CDF, quantile etc).
-* Complements of probabilities are calculated by wrapping the function's
-arguments in a call to `complement(...)`.
-* Functions that accept a probability can accept a complement of the
-probability as well, by wrapping the function's
-arguments in a call to `complement(...)`.
-* Static member functions allow the parameters of a distribution
-to be found from other information.
-
-Now that you have the basics, the next section looks at some worked examples.
-
-[endsect] [/section:summary Summary]
-[endsect] [/section:overview Overview]
-
-[section:weg Worked Examples]
-[include distributions/distribution_construction.qbk]
-[include distributions/students_t_examples.qbk]
-[include distributions/chi_squared_examples.qbk]
-[include distributions/f_dist_example.qbk]
-[include distributions/binomial_example.qbk]
-[include distributions/geometric_example.qbk]
-[include distributions/negative_binomial_example.qbk]
-[include distributions/normal_example.qbk]
-[/include distributions/inverse_gamma_example.qbk]
-[/include distributions/inverse_gaussian_example.qbk]
-[include distributions/inverse_chi_squared_eg.qbk]
-[include distributions/nc_chi_squared_example.qbk]
-[include distributions/error_handling_example.qbk]
-[include distributions/find_location_and_scale.qbk]
-[include distributions/nag_library.qbk]
-[include distributions/c_sharp.qbk]
-[endsect] [/section:weg Worked Examples]
-
-[include background.qbk]
-
-[endsect] [/ section:stat_tut Statistical Distributions Tutorial]
-
-[/ dist_tutorial.qbk
- Copyright 2006, 2010, 2011 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
-
-
-
-
-
-
-
diff --git a/libs/math/doc/sf_and_dist/distributions/bernoulli.qbk b/libs/math/doc/sf_and_dist/distributions/bernoulli.qbk
deleted file mode 100644
index d22af07a13..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/bernoulli.qbk
+++ /dev/null
@@ -1,118 +0,0 @@
-[section:bernoulli_dist Bernoulli Distribution]
-
-``#include <boost/math/distributions/bernoulli.hpp>``
-
- namespace boost{ namespace math{
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class bernoulli_distribution;
-
- typedef bernoulli_distribution<> bernoulli;
-
- template <class RealType, class ``__Policy``>
- class bernoulli_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- bernoulli_distribution(RealType p); // Constructor.
- // Accessor function.
- RealType success_fraction() const
- // Probability of success (as a fraction).
- };
- }} // namespaces
-
-The Bernoulli distribution is a discrete distribution of the outcome
-of a single trial with only two results, 0 (failure) or 1 (success),
-with a probability of success p.
-
-The Bernoulli distribution is the simplest building block
-on which other discrete distributions of
-sequences of independent Bernoulli trials can be based.
-
-The Bernoulli is the binomial distribution (k = 1, p) with only one trial.
-
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function pdf]
-f(0) = 1 - p, f(1) = p.
-[@http://en.wikipedia.org/wiki/Cumulative_Distribution_Function Cumulative distribution function]
-D(k) = if (k == 0) 1 - p else 1.
-
-The following graph illustrates how the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function pdf]
-varies with the outcome of the single trial:
-
-[graph bernoulli_pdf]
-
-and the [@http://en.wikipedia.org/wiki/Cumulative_Distribution_Function Cumulative distribution function]
-
-[graph bernoulli_cdf]
-
-[h4 Member Functions]
-
- bernoulli_distribution(RealType p);
-
-Constructs a [@http://en.wikipedia.org/wiki/bernoulli_distribution
-bernoulli distribution] with success_fraction /p/.
-
- RealType success_fraction() const
-
-Returns the /success_fraction/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is 0 and 1,
-and the useful supported range is only 0 or 1.
-
-Outside this range, functions are undefined, or may throw domain_error exception
-and make an error message available.
-
-[h4 Accuracy]
-
-The Bernoulli distribution is implemented with simple arithmetic operators
-and so should have errors within an epsilon or two.
-
-[h4 Implementation]
-
-In the following table /p/ is the probability of success and /q = 1-p/.
-/k/ is the random variate, either 0 or 1.
-
-[note The Bernoulli distribution is implemented here as a /strict discrete/ distribution.
-If a generalised version, allowing k to be any real, is required then
-the binomial distribution with a single trial should be used, for example:
-
-`binomial_distribution(1, 0.25)`
-]
-
-[table
-[[Function][Implementation Notes]]
-[[Supported range][{0, 1}]]
-[[pdf][Using the relation: pdf = 1 - p for k = 0, else p ]]
-[[cdf][Using the relation: cdf = 1 - p for k = 0, else 1]]
-[[cdf complement][q = 1 - p]]
-[[quantile][if x <= (1-p) 0 else 1]]
-[[quantile from the complement][if x <= (1-p) 1 else 0]]
-[[mean][p]]
-[[variance][p * (1 - p)]]
-[[mode][if (p < 0.5) 0 else 1]]
-[[skewness][(1 - 2 * p) / sqrt(p * q)]]
-[[kurtosis][6 * p * p - 6 * p +1/ p * q]]
-[[kurtosis excess][kurtosis -3]]
-]
-
-[h4 References]
-* [@http://en.wikipedia.org/wiki/Bernoulli_distribution Wikpedia Bernoulli distribution]
-* [@ Weisstein, Eric W. "Bernoulli Distribution." From MathWorld--A Wolfram Web Resource.]
-
-[endsect][/section:bernoulli_dist bernoulli]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/beta.qbk b/libs/math/doc/sf_and_dist/distributions/beta.qbk
deleted file mode 100644
index 3a88f925b6..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/beta.qbk
+++ /dev/null
@@ -1,280 +0,0 @@
-[section:beta_dist Beta Distribution]
-
-``#include <boost/math/distributions/beta.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class beta_distribution;
-
- // typedef beta_distribution<double> beta;
- // Note that this is deliberately NOT provided,
- // to avoid a clash with the function name beta.
-
- template <class RealType, class ``__Policy``>
- class beta_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Constructor from two shape parameters, alpha & beta:
- beta_distribution(RealType a, RealType b);
-
- // Parameter accessors:
- RealType alpha() const;
- RealType beta() const;
-
- // Parameter estimators of alpha or beta from mean and variance.
- static RealType find_alpha(
- RealType mean, // Expected value of mean.
- RealType variance); // Expected value of variance.
-
- static RealType find_beta(
- RealType mean, // Expected value of mean.
- RealType variance); // Expected value of variance.
-
- // Parameter estimators from from
- // either alpha or beta, and x and probability.
-
- static RealType find_alpha(
- RealType beta, // from beta.
- RealType x, // x.
- RealType probability); // cdf
-
- static RealType find_beta(
- RealType alpha, // alpha.
- RealType x, // probability x.
- RealType probability); // probability cdf.
- };
-
- }} // namespaces
-
-The class type `beta_distribution` represents a
-[@http://en.wikipedia.org/wiki/Beta_distribution beta ]
-[@http://en.wikipedia.org/wiki/Probability_distribution probability distribution function].
-
-The [@http://mathworld.wolfram.com/BetaDistribution.htm beta distribution ]
-is used as a [@http://en.wikipedia.org/wiki/Prior_distribution prior distribution]
-for binomial proportions in
-[@http://mathworld.wolfram.com/BayesianAnalysis.html Bayesian analysis].
-
-See also:
-[@http://documents.wolfram.com/calculationcenter/v2/Functions/ListsMatrices/Statistics/BetaDistribution.html beta distribution]
-and [@http://en.wikipedia.org/wiki/Bayesian_statistics Bayesian statistics].
-
-How the beta distribution is used for
-[@http://home.uchicago.edu/~grynav/bayes/ABSLec5.ppt
-Bayesian analysis of one parameter models]
-is discussed by Jeff Grynaviski.
-
-The [@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF]
-for the [@http://en.wikipedia.org/wiki/Beta_distribution beta distribution]
-defined on the interval \[0,1\] is given by:
-
-f(x;[alpha],[beta]) = x[super[alpha] - 1] (1 - x)[super[beta] -1] / B([alpha], [beta])
-
-where B([alpha], [beta]) is the
-[@http://en.wikipedia.org/wiki/Beta_function beta function],
-implemented in this library as __beta. Division by the beta function
-ensures that the pdf is normalized to the range zero to unity.
-
-The following graph illustrates examples of the pdf for various values
-of the shape parameters. Note the [alpha] = [beta] = 2 (blue line)
-is dome-shaped, and might be approximated by a symmetrical triangular
-distribution.
-
-[graph beta_pdf]
-
-If [alpha] = [beta] = 1, then it is a __space
-[@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 uniform distribution],
-equal to unity in the entire interval x = 0 to 1.
-If [alpha] __space and [beta] __space are < 1, then the pdf is U-shaped.
-If [alpha] != [beta], then the shape is asymmetric
-and could be approximated by a triangle
-whose apex is away from the centre (where x = half).
-
-[h4 Member Functions]
-
-[h5 Constructor]
-
- beta_distribution(RealType alpha, RealType beta);
-
-Constructs a beta distribution with shape parameters /alpha/ and /beta/.
-
-Requires alpha,beta > 0,otherwise __domain_error is called. Note that
-technically the beta distribution is defined for alpha,beta >= 0, but
-it's not clear whether any program can actually make use of that latitude
-or how many of the non-member functions can be usefully defined in that case.
-Therefore for now, we regard it as an error if alpha or beta is zero.
-
-For example:
-
- beta_distribution<> mybeta(2, 5);
-
-Constructs a the beta distribution with alpha=2 and beta=5 (shown in yellow
-in the graph above).
-
-[h5 Parameter Accessors]
-
- RealType alpha() const;
-
-Returns the parameter /alpha/ from which this distribution was constructed.
-
- RealType beta() const;
-
-Returns the parameter /beta/ from which this distribution was constructed.
-
-So for example:
-
- beta_distribution<> mybeta(2, 5);
- assert(mybeta.alpha() == 2.); // mybeta.alpha() returns 2
- assert(mybeta.beta() == 5.); // mybeta.beta() returns 5
-
-[h4 Parameter Estimators]
-
-Two pairs of parameter estimators are provided.
-
-One estimates either [alpha] __space or [beta] __space
-from presumed-known mean and variance.
-
-The other pair estimates either [alpha] __space or [beta] __space from
-the cdf and x.
-
-It is also possible to estimate [alpha] __space and [beta] __space from
-'known' mode & quantile. For example, calculators are provided by the
-[@http://www.ausvet.com.au/pprev/content.php?page=PPscript
-Pooled Prevalence Calculator] and
-[@http://www.epi.ucdavis.edu/diagnostictests/betabuster.html Beta Buster]
-but this is not yet implemented here.
-
- static RealType find_alpha(
- RealType mean, // Expected value of mean.
- RealType variance); // Expected value of variance.
-
-Returns the unique value of [alpha][space] that corresponds to a
-beta distribution with mean /mean/ and variance /variance/.
-
- static RealType find_beta(
- RealType mean, // Expected value of mean.
- RealType variance); // Expected value of variance.
-
-Returns the unique value of [beta][space] that corresponds to a
-beta distribution with mean /mean/ and variance /variance/.
-
- static RealType find_alpha(
- RealType beta, // from beta.
- RealType x, // x.
- RealType probability); // probability cdf
-
-Returns the value of [alpha][space] that gives:
-`cdf(beta_distribution<RealType>(alpha, beta), x) == probability`.
-
- static RealType find_beta(
- RealType alpha, // alpha.
- RealType x, // probability x.
- RealType probability); // probability cdf.
-
-Returns the value of [beta][space] that gives:
-`cdf(beta_distribution<RealType>(alpha, beta), x) == probability`.
-
-[h4 Non-member Accessor Functions]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The formulae for calculating these are shown in the table below, and at
-[@http://mathworld.wolfram.com/BetaDistribution.html Wolfram Mathworld].
-
-[h4 Applications]
-
-The beta distribution can be used to model events constrained
-to take place within an interval defined by a minimum and maximum value:
-so it is used in project management systems.
-
-It is also widely used in [@http://en.wikipedia.org/wiki/Bayesian_inference Bayesian statistical inference].
-
-[h4 Related distributions]
-
-The beta distribution with both [alpha] __space and [beta] = 1 follows a
-[@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 uniform distribution].
-
-The [@http://en.wikipedia.org/wiki/Triangular_distribution triangular]
-is used when less precise information is available.
-
-The [@http://en.wikipedia.org/wiki/Binomial_distribution binomial distribution]
-is closely related when [alpha] __space and [beta] __space are integers.
-
-With integer values of [alpha] __space and [beta] __space the distribution B(i, j) is
-that of the j-th highest of a sample of i + j + 1 independent random variables
-uniformly distributed between 0 and 1.
-The cumulative probability from 0 to x is thus
-the probability that the j-th highest value is less than x.
-Or it is the probability that that at least i of the random variables are less than x,
-a probability given by summing over the __binomial_distrib
-with its p parameter set to x.
-
-[h4 Accuracy]
-
-This distribution is implemented using the
-[link math_toolkit.special.sf_beta.beta_function beta functions] __beta and
-[link math_toolkit.special.sf_beta.ibeta_function incomplete beta functions] __ibeta and __ibetac;
-please refer to these functions for information on accuracy.
-
-[h4 Implementation]
-
-In the following table /a/ and /b/ are the parameters [alpha][space] and [beta],
-/x/ is the random variable, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf]
- [f(x;[alpha],[beta]) = x[super[alpha] - 1] (1 - x)[super[beta] -1] / B([alpha], [beta])
-
- Implemented using __ibeta_derivative(a, b, x).]]
-
-[[cdf][Using the incomplete beta function __ibeta(a, b, x)]]
-[[cdf complement][__ibetac(a, b, x)]]
-[[quantile][Using the inverse incomplete beta function __ibeta_inv(a, b, p)]]
-[[quantile from the complement][__ibetac_inv(a, b, q)]]
-[[mean][`a/(a+b)`]]
-[[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][ [equation beta_dist_kurtosis] ]]
-[[kurtosis][`kurtosis + 3`]]
-[[parameter estimation][ ]]
-[[alpha
-
- from mean and variance][`mean * (( (mean * (1 - mean)) / variance)- 1)`]]
-[[beta
-
- from mean and variance][`(1 - mean) * (((mean * (1 - mean)) /variance)-1)`]]
-[[The member functions `find_alpha` and `find_beta`
-
- from cdf and probability x
-
- and *either* `alpha` or `beta`]
- [Implemented in terms of the inverse incomplete beta functions
-
-__ibeta_inva, and __ibeta_invb respectively.]]
-[[`find_alpha`][`ibeta_inva(beta, x, probability)`]]
-[[`find_beta`][`ibeta_invb(alpha, x, probability)`]]
-]
-
-[h4 References]
-
-[@http://en.wikipedia.org/wiki/Beta_distribution Wikipedia Beta distribution]
-
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda366h.htm NIST Exploratory Data Analysis]
-
-[@http://mathworld.wolfram.com/BetaDistribution.html Wolfram MathWorld]
-
-[endsect][/section:beta_dist beta]
-
-[/ beta.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/distributions/binomial.qbk b/libs/math/doc/sf_and_dist/distributions/binomial.qbk
deleted file mode 100644
index d120943199..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/binomial.qbk
+++ /dev/null
@@ -1,404 +0,0 @@
-[section:binomial_dist Binomial Distribution]
-
-``#include <boost/math/distributions/binomial.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class binomial_distribution;
-
- typedef binomial_distribution<> binomial;
-
- template <class RealType, class ``__Policy``>
- class binomial_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- static const ``['unspecified-type]`` clopper_pearson_exact_interval;
- static const ``['unspecified-type]`` jeffreys_prior_interval;
-
- // construct:
- binomial_distribution(RealType n, RealType p);
-
- // parameter access::
- RealType success_fraction() const;
- RealType trials() const;
-
- // Bounds on success fraction:
- static RealType find_lower_bound_on_p(
- RealType trials,
- RealType successes,
- RealType probability,
- ``['unspecified-type]`` method = clopper_pearson_exact_interval);
- static RealType find_upper_bound_on_p(
- RealType trials,
- RealType successes,
- RealType probability,
- ``['unspecified-type]`` method = clopper_pearson_exact_interval);
-
- // estimate min/max number of trials:
- static RealType find_minimum_number_of_trials(
- RealType k, // number of events
- RealType p, // success fraction
- RealType alpha); // risk level
-
- static RealType find_maximum_number_of_trials(
- RealType k, // number of events
- RealType p, // success fraction
- RealType alpha); // risk level
- };
-
- }} // namespaces
-
-The class type `binomial_distribution` represents a
-[@http://mathworld.wolfram.com/BinomialDistribution.html binomial distribution]:
-it is used when there are exactly two mutually
-exclusive outcomes of a trial. These outcomes are labelled
-"success" and "failure". The
-[@ binomial distribution] is used to obtain
-the probability of observing k successes in N trials, with the
-probability of success on a single trial denoted by p. The
-binomial distribution assumes that p is fixed for all trials.
-
-[note The random variable for the binomial distribution is the number of successes,
-(the number of trials is a fixed property of the distribution)
-whereas for the negative binomial,
-the random variable is the number of trials, for a fixed number of successes.]
-
-The PDF for the binomial distribution is given by:
-
-[equation binomial_ref2]
-
-The following two graphs illustrate how the PDF changes depending
-upon the distributions parameters, first we'll keep the success
-fraction /p/ fixed at 0.5, and vary the sample size:
-
-[graph binomial_pdf_1]
-
-Alternatively, we can keep the sample size fixed at N=20 and
-vary the success fraction /p/:
-
-[graph binomial_pdf_2]
-
-[discrete_quantile_warning Binomial]
-
-[h4 Member Functions]
-
-[h5 Construct]
-
- binomial_distribution(RealType n, RealType p);
-
-Constructor: /n/ is the total number of trials, /p/ is the
-probability of success of a single trial.
-
-Requires `0 <= p <= 1`, and `n >= 0`, otherwise calls __domain_error.
-
-[h5 Accessors]
-
- RealType success_fraction() const;
-
-Returns the parameter /p/ from which this distribution was constructed.
-
- RealType trials() const;
-
-Returns the parameter /n/ from which this distribution was constructed.
-
-[h5 Lower Bound on the Success Fraction]
-
- static RealType find_lower_bound_on_p(
- RealType trials,
- RealType successes,
- RealType alpha,
- ``['unspecified-type]`` method = clopper_pearson_exact_interval);
-
-Returns a lower bound on the success fraction:
-
-[variablelist
-[[trials][The total number of trials conducted.]]
-[[successes][The number of successes that occurred.]]
-[[alpha][The largest acceptable probability that the true value of
- the success fraction is [*less than] the value returned.]]
-[[method][An optional parameter that specifies the method to be used
- to compute the interval (See below).]]
-]
-
-For example, if you observe /k/ successes from /n/ trials the
-best estimate for the success fraction is simply ['k/n], but if you
-want to be 95% sure that the true value is [*greater than] some value,
-['p[sub min]], then:
-
- p``[sub min]`` = binomial_distribution<RealType>::find_lower_bound_on_p(
- n, k, 0.05);
-
-[link math_toolkit.dist.stat_tut.weg.binom_eg.binom_conf See worked example.]
-
-There are currently two possible values available for the /method/
-optional parameter: /clopper_pearson_exact_interval/
-or /jeffreys_prior_interval/. These constants are both members of
-class template `binomial_distribution`, so usage is for example:
-
- p = binomial_distribution<RealType>::find_lower_bound_on_p(
- n, k, 0.05, binomial_distribution<RealType>::jeffreys_prior_interval);
-
-The default method if this parameter is not specified is the Clopper Pearson
-"exact" interval. This produces an interval that guarantees at least
-`100(1-alpha)%` coverage, but which is known to be overly conservative,
-sometimes producing intervals with much greater than the requested coverage.
-
-The alternative calculation method produces a non-informative
-Jeffreys Prior interval. It produces `100(1-alpha)%` coverage only
-['in the average case], though is typically very close to the requested
-coverage level. It is one of the main methods of calculation recommended
-in the review by Brown, Cai and DasGupta.
-
-Please note that the "textbook" calculation method using
-a normal approximation (the Wald interval) is deliberately
-not provided: it is known to produce consistently poor results,
-even when the sample size is surprisingly large.
-Refer to Brown, Cai and DasGupta for a full explanation. Many other methods
-of calculation are available, and may be more appropriate for specific
-situations. Unfortunately there appears to be no consensus amongst
-statisticians as to which is "best": refer to the discussion at the end of
-Brown, Cai and DasGupta for examples.
-
-The two methods provided here were chosen principally because they
-can be used for both one and two sided intervals.
-See also:
-
-Lawrence D. Brown, T. Tony Cai and Anirban DasGupta (2001),
-Interval Estimation for a Binomial Proportion,
-Statistical Science, Vol. 16, No. 2, 101-133.
-
-T. Tony Cai (2005),
-One-sided confidence intervals in discrete distributions,
-Journal of Statistical Planning and Inference 131, 63-88.
-
-Agresti, A. and Coull, B. A. (1998). Approximate is better than
-"exact" for interval estimation of binomial proportions. Amer.
-Statist. 52 119-126.
-
-Clopper, C. J. and Pearson, E. S. (1934). The use of confidence
-or fiducial limits illustrated in the case of the binomial.
-Biometrika 26 404-413.
-
-[h5 Upper Bound on the Success Fraction]
-
- static RealType find_upper_bound_on_p(
- RealType trials,
- RealType successes,
- RealType alpha,
- ``['unspecified-type]`` method = clopper_pearson_exact_interval);
-
-Returns an upper bound on the success fraction:
-
-[variablelist
-[[trials][The total number of trials conducted.]]
-[[successes][The number of successes that occurred.]]
-[[alpha][The largest acceptable probability that the true value of
- the success fraction is [*greater than] the value returned.]]
-[[method][An optional parameter that specifies the method to be used
- to compute the interval. Refer to the documentation for
- `find_upper_bound_on_p` above for the meaning of the
- method options.]]
-]
-
-For example, if you observe /k/ successes from /n/ trials the
-best estimate for the success fraction is simply ['k/n], but if you
-want to be 95% sure that the true value is [*less than] some value,
-['p[sub max]], then:
-
- p``[sub max]`` = binomial_distribution<RealType>::find_upper_bound_on_p(
- n, k, 0.05);
-
-[link math_toolkit.dist.stat_tut.weg.binom_eg.binom_conf See worked example.]
-
-[note
-In order to obtain a two sided bound on the success fraction, you
-call both `find_lower_bound_on_p` *and* `find_upper_bound_on_p`
-each with the same arguments.
-
-If the desired risk level
-that the true success fraction lies outside the bounds is [alpha],
-then you pass [alpha]/2 to these functions.
-
-So for example a two sided 95% confidence interval would be obtained
-by passing [alpha] = 0.025 to each of the functions.
-
-[link math_toolkit.dist.stat_tut.weg.binom_eg.binom_conf See worked example.]
-]
-
-
-[h5 Estimating the Number of Trials Required for a Certain Number of Successes]
-
- static RealType find_minimum_number_of_trials(
- RealType k, // number of events
- RealType p, // success fraction
- RealType alpha); // probability threshold
-
-This function estimates the minimum number of trials required to ensure that
-more than k events is observed with a level of risk /alpha/ that k or
-fewer events occur.
-
-[variablelist
-[[k][The number of success observed.]]
-[[p][The probability of success for each trial.]]
-[[alpha][The maximum acceptable probability that k events or fewer will be observed.]]
-]
-
-For example:
-
- binomial_distribution<RealType>::find_number_of_trials(10, 0.5, 0.05);
-
-Returns the smallest number of trials we must conduct to be 95% sure
-of seeing 10 events that occur with frequency one half.
-
-[h5 Estimating the Maximum Number of Trials to Ensure no more than a Certain Number of Successes]
-
- static RealType find_maximum_number_of_trials(
- RealType k, // number of events
- RealType p, // success fraction
- RealType alpha); // probability threshold
-
-This function estimates the maximum number of trials we can conduct
-to ensure that k successes or fewer are observed, with a risk /alpha/
-that more than k occur.
-
-[variablelist
-[[k][The number of success observed.]]
-[[p][The probability of success for each trial.]]
-[[alpha][The maximum acceptable probability that more than k events will be observed.]]
-]
-
-For example:
-
- binomial_distribution<RealType>::find_maximum_number_of_trials(0, 1e-6, 0.05);
-
-Returns the largest number of trials we can conduct and still be 95% certain
-of not observing any events that occur with one in a million frequency.
-This is typically used in failure analysis.
-
-[link math_toolkit.dist.stat_tut.weg.binom_eg.binom_size_eg See Worked Example.]
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain for the random variable /k/ is `0 <= k <= N`, otherwise a
-__domain_error is returned.
-
-It's worth taking a moment to define what these accessors actually mean in
-the context of this distribution:
-
-[table Meaning of the non-member accessors
-[[Function][Meaning]]
-[[__pdf]
- [The probability of obtaining [*exactly k successes] from n trials
- with success fraction p. For example:
-
-`pdf(binomial(n, p), k)`]]
-[[__cdf]
- [The probability of obtaining [*k successes or fewer] from n trials
- with success fraction p. For example:
-
-`cdf(binomial(n, p), k)`]]
-[[__ccdf]
- [The probability of obtaining [*more than k successes] from n trials
- with success fraction p. For example:
-
-`cdf(complement(binomial(n, p), k))`]]
-[[__quantile]
- [The [*greatest] number of successes that may be observed from n trials
- with success fraction p, at probability P. Note that the value returned
- is a real-number, and not an integer. Depending on the use case you may
- want to take either the floor or ceiling of the result. For example:
-
-`quantile(binomial(n, p), P)`]]
-[[__quantile_c]
- [The [*smallest] number of successes that may be observed from n trials
- with success fraction p, at probability P. Note that the value returned
- is a real-number, and not an integer. Depending on the use case you may
- want to take either the floor or ceiling of the result. For example:
-
-`quantile(complement(binomial(n, p), P))`]]
-]
-
-[h4 Examples]
-
-Various [link math_toolkit.dist.stat_tut.weg.binom_eg worked examples]
-are available illustrating the use of the binomial distribution.
-
-[h4 Accuracy]
-
-This distribution is implemented using the
-incomplete beta functions __ibeta and __ibetac,
-please refer to these functions for information on accuracy.
-
-[h4 Implementation]
-
-In the following table /p/ is the probability that one trial will
-be successful (the success fraction), /n/ is the number of trials,
-/k/ is the number of successes, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[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:
-
-[equation binomial_ref1]
-
-Which can be evaluated as `ibeta_derivative(k+1, n-k+1, p) / (n+1)`
-
-The function __ibeta_derivative is used here, since it has already
- been optimised for the lowest possible error - indeed this is really
- just a thin wrapper around part of the internals of the incomplete
- beta function.
-
-There are also various special cases: refer to the code for details.
- ]]
-[[cdf][Using the relation:
-
-``
-p = I[sub 1-p](n - k, k + 1)
- = 1 - I[sub p](k + 1, n - k)
- = __ibetac(k + 1, n - k, p)``
-
-There are also various special cases: refer to the code for details.
-]]
-[[cdf complement][Using the relation: q = __ibeta(k + 1, n - k, p)
-
-There are also various special cases: refer to the code for details. ]]
-[[quantile][Since the cdf is non-linear in variate /k/ none of the inverse
- incomplete beta functions can be used here. Instead the quantile
- is found numerically using a derivative free method
- ([link math_toolkit.toolkit.internals1.roots2 TOMS Algorithm 748]).]]
-[[quantile from the complement][Found numerically as above.]]
-[[mean][ `p * n` ]]
-[[variance][ `p * n * (1-p)` ]]
-[[mode][`floor(p * (n + 1))`]]
-[[skewness][`(1 - 2 * p) / sqrt(n * p * (1 - p))`]]
-[[kurtosis][`3 - (6 / n) + (1 / (n * p * (1 - p)))`]]
-[[kurtosis excess][`(1 - 6 * p * q) / (n * p * q)`]]
-[[parameter estimation][The member functions `find_upper_bound_on_p`
- `find_lower_bound_on_p` and `find_number_of_trials` are
- implemented in terms of the inverse incomplete beta functions
- __ibetac_inv, __ibeta_inv, and __ibetac_invb respectively]]
-]
-
-[h4 References]
-
-* [@http://mathworld.wolfram.com/BinomialDistribution.html Weisstein, Eric W. "Binomial Distribution." From MathWorld--A Wolfram Web Resource].
-* [@http://en.wikipedia.org/wiki/Beta_distribution Wikipedia binomial distribution].
-* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda366i.htm NIST Explorary Data Analysis].
-
-[endsect][/section:binomial_dist Binomial]
-
-[/ binomial.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/distributions/binomial_example.qbk b/libs/math/doc/sf_and_dist/distributions/binomial_example.qbk
deleted file mode 100644
index 41a462ab1f..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/binomial_example.qbk
+++ /dev/null
@@ -1,332 +0,0 @@
-[section:binom_eg Binomial Distribution Examples]
-
-See also the reference documentation for the __binomial_distrib.
-
-[section:binomial_coinflip_example Binomial Coin-Flipping Example]
-
-[import ../../../example/binomial_coinflip_example.cpp]
-[binomial_coinflip_example1]
-
-See [@../../../example/binomial_coinflip_example.cpp binomial_coinflip_example.cpp]
-for full source code, the program output looks like this:
-
-[binomial_coinflip_example_output]
-
-[endsect] [/section:binomial_coinflip_example Binomial coinflip example]
-
-[section:binomial_quiz_example Binomial Quiz Example]
-
-[import ../../../example/binomial_quiz_example.cpp]
-[binomial_quiz_example1]
-[binomial_quiz_example2]
-[discrete_quantile_real]
-
-See [@../../../example/binomial_quiz_example.cpp binomial_quiz_example.cpp]
-for full source code and output.
-
-[endsect] [/section:binomial_coinflip_quiz Binomial Coin-Flipping example]
-
-[section:binom_conf Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution]
-
-Imagine you have a process that follows a binomial distribution: for each
-trial conducted, an event either occurs or does it does not, referred
-to as "successes" and "failures". If, by experiment, you want to measure the
-frequency with which successes occur, the best estimate is given simply
-by /k/ \/ /N/, for /k/ successes out of /N/ trials. However our confidence in that
-estimate will be shaped by how many trials were conducted, and how many successes
-were observed. The static member functions
-`binomial_distribution<>::find_lower_bound_on_p` and
-`binomial_distribution<>::find_upper_bound_on_p` allow you to calculate
-the confidence intervals for your estimate of the occurrence frequency.
-
-The sample program [@../../../example/binomial_confidence_limits.cpp
-binomial_confidence_limits.cpp] illustrates their use. It begins by defining
-a procedure that will print a table of confidence limits for various degrees
-of certainty:
-
- #include <iostream>
- #include <iomanip>
- #include <boost/math/distributions/binomial.hpp>
-
- void confidence_limits_on_frequency(unsigned trials, unsigned successes)
- {
- //
- // trials = Total number of trials.
- // successes = Total number of observed successes.
- //
- // Calculate confidence limits for an observed
- // frequency of occurrence that follows a binomial
- // distribution.
- //
- using namespace std;
- using namespace boost::math;
-
- // Print out general info:
- cout <<
- "___________________________________________\n"
- "2-Sided Confidence Limits For Success Ratio\n"
- "___________________________________________\n\n";
- cout << setprecision(7);
- cout << setw(40) << left << "Number of Observations" << "= " << trials << "\n";
- cout << setw(40) << left << "Number of successes" << "= " << successes << "\n";
- cout << setw(40) << left << "Sample frequency of occurrence" << "= " << double(successes) / trials << "\n";
-
-The procedure now defines a table of significance levels: these are the
-probabilities that the true occurrence frequency lies outside the calculated
-interval:
-
- double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
-
-Some pretty printing of the table header follows:
-
- cout << "\n\n"
- "_______________________________________________________________________\n"
- "Confidence Lower CP Upper CP Lower JP Upper JP\n"
- " Value (%) Limit Limit Limit Limit\n"
- "_______________________________________________________________________\n";
-
-
-And now for the important part - the intervals themselves - for each
-value of /alpha/, we call `find_lower_bound_on_p` and
-`find_lower_upper_on_p` to obtain lower and upper bounds
-respectively. Note that since we are calculating a two-sided interval,
-we must divide the value of alpha in two.
-
-Please note that calculating two separate /single sided bounds/, each with risk
-level [alpha][space]is not the same thing as calculating a two sided interval.
-Had we calculate two single-sided intervals each with a risk
-that the true value is outside the interval of [alpha], then:
-
-* The risk that it is less than the lower bound is [alpha].
-
-and
-
-* The risk that it is greater than the upper bound is also [alpha].
-
-So the risk it is outside *upper or lower bound*, is *twice* alpha, and the
-probability that it is inside the bounds is therefore not nearly as high as
-one might have thought. This is why [alpha]/2 must be used in
-the calculations below.
-
-In contrast, had we been calculating a
-single-sided interval, for example: ['"Calculate a lower bound so that we are P%
-sure that the true occurrence frequency is greater than some value"]
-then we would *not* have divided by two.
-
-Finally note that `binomial_distribution` provides a choice of two
-methods for the calculation, we print out the results from both
-methods in this example:
-
- for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
- {
- // Confidence value:
- cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
- // Calculate Clopper Pearson bounds:
- double l = binomial_distribution<>::find_lower_bound_on_p(
- trials, successes, alpha[i]/2);
- double u = binomial_distribution<>::find_upper_bound_on_p(
- trials, successes, alpha[i]/2);
- // Print Clopper Pearson Limits:
- cout << fixed << setprecision(5) << setw(15) << right << l;
- cout << fixed << setprecision(5) << setw(15) << right << u;
- // Calculate Jeffreys Prior Bounds:
- l = binomial_distribution<>::find_lower_bound_on_p(
- trials, successes, alpha[i]/2,
- binomial_distribution<>::jeffreys_prior_interval);
- u = binomial_distribution<>::find_upper_bound_on_p(
- trials, successes, alpha[i]/2,
- binomial_distribution<>::jeffreys_prior_interval);
- // Print Jeffreys Prior Limits:
- cout << fixed << setprecision(5) << setw(15) << right << l;
- cout << fixed << setprecision(5) << setw(15) << right << u << std::endl;
- }
- cout << endl;
- }
-
-And that's all there is to it. Let's see some sample output for a 2 in 10
-success ratio, first for 20 trials:
-
-[pre'''___________________________________________
-2-Sided Confidence Limits For Success Ratio
-___________________________________________
-
-Number of Observations = 20
-Number of successes = 4
-Sample frequency of occurrence = 0.2
-
-
-_______________________________________________________________________
-Confidence Lower CP Upper CP Lower JP Upper JP
- Value (%) Limit Limit Limit Limit
-_______________________________________________________________________
- 50.000 0.12840 0.29588 0.14974 0.26916
- 75.000 0.09775 0.34633 0.11653 0.31861
- 90.000 0.07135 0.40103 0.08734 0.37274
- 95.000 0.05733 0.43661 0.07152 0.40823
- 99.000 0.03576 0.50661 0.04655 0.47859
- 99.900 0.01905 0.58632 0.02634 0.55960
- 99.990 0.01042 0.64997 0.01530 0.62495
- 99.999 0.00577 0.70216 0.00901 0.67897
-''']
-
-As you can see, even at the 95% confidence level the bounds are
-really quite wide (this example is chosen to be easily compared to the one
-in the __handbook
-[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc241.htm
-here]). Note also that the Clopper-Pearson calculation method (CP above)
-produces quite noticeably more pessimistic estimates than the Jeffreys Prior
-method (JP above).
-
-
-Compare that with the program output for
-2000 trials:
-
-[pre'''___________________________________________
-2-Sided Confidence Limits For Success Ratio
-___________________________________________
-
-Number of Observations = 2000
-Number of successes = 400
-Sample frequency of occurrence = 0.2000000
-
-
-_______________________________________________________________________
-Confidence Lower CP Upper CP Lower JP Upper JP
- Value (%) Limit Limit Limit Limit
-_______________________________________________________________________
- 50.000 0.19382 0.20638 0.19406 0.20613
- 75.000 0.18965 0.21072 0.18990 0.21047
- 90.000 0.18537 0.21528 0.18561 0.21503
- 95.000 0.18267 0.21821 0.18291 0.21796
- 99.000 0.17745 0.22400 0.17769 0.22374
- 99.900 0.17150 0.23079 0.17173 0.23053
- 99.990 0.16658 0.23657 0.16681 0.23631
- 99.999 0.16233 0.24169 0.16256 0.24143
-''']
-
-Now even when the confidence level is very high, the limits are really
-quite close to the experimentally calculated value of 0.2. Furthermore
-the difference between the two calculation methods is now really quite small.
-
-[endsect]
-
-[section:binom_size_eg Estimating Sample Sizes for a Binomial Distribution.]
-
-Imagine you have a critical component that you know will fail in 1 in
-N "uses" (for some suitable definition of "use"). You may want to schedule
-routine replacement of the component so that its chance of failure between
-routine replacements is less than P%. If the failures follow a binomial
-distribution (each time the component is "used" it either fails or does not)
-then the static member function `binomial_distibution<>::find_maximum_number_of_trials`
-can be used to estimate the maximum number of "uses" of that component for some
-acceptable risk level /alpha/.
-
-The example program
-[@../../../example/binomial_sample_sizes.cpp binomial_sample_sizes.cpp]
-demonstrates its usage. It centres on a routine that prints out
-a table of maximum sample sizes for various probability thresholds:
-
- void find_max_sample_size(
- double p, // success ratio.
- unsigned successes) // Total number of observed successes permitted.
- {
-
-The routine then declares a table of probability thresholds: these are the
-maximum acceptable probability that /successes/ or fewer events will be
-observed. In our example, /successes/ will be always zero, since we want
-no component failures, but in other situations non-zero values may well
-make sense.
-
- double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
-
-Much of the rest of the program is pretty-printing, the important part
-is in the calculation of maximum number of permitted trials for each
-value of alpha:
-
- for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
- {
- // Confidence value:
- cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
- // calculate trials:
- double t = binomial::find_maximum_number_of_trials(
- successes, p, alpha[i]);
- t = floor(t);
- // Print Trials:
- cout << fixed << setprecision(5) << setw(15) << right << t << endl;
- }
-
-Note that since we're
-calculating the maximum number of trials permitted, we'll err on the safe
-side and take the floor of the result. Had we been calculating the
-/minimum/ number of trials required to observe a certain number of /successes/
-using `find_minimum_number_of_trials` we would have taken the ceiling instead.
-
-We'll finish off by looking at some sample output, firstly for
-a 1 in 1000 chance of component failure with each use:
-
-[pre
-'''________________________
-Maximum Number of Trials
-________________________
-
-Success ratio = 0.001
-Maximum Number of "successes" permitted = 0
-
-
-____________________________
-Confidence Max Number
- Value (%) Of Trials
-____________________________
- 50.000 692
- 75.000 287
- 90.000 105
- 95.000 51
- 99.000 10
- 99.900 0
- 99.990 0
- 99.999 0'''
-]
-
-So 51 "uses" of the component would yield a 95% chance that no
-component failures would be observed.
-
-Compare that with a 1 in 1 million chance of component failure:
-
-[pre'''
-________________________
-Maximum Number of Trials
-________________________
-
-Success ratio = 0.0000010
-Maximum Number of "successes" permitted = 0
-
-
-____________________________
-Confidence Max Number
- Value (%) Of Trials
-____________________________
- 50.000 693146
- 75.000 287681
- 90.000 105360
- 95.000 51293
- 99.000 10050
- 99.900 1000
- 99.990 100
- 99.999 10'''
-]
-
-In this case, even 1000 uses of the component would still yield a
-less than 1 in 1000 chance of observing a component failure
-(i.e. a 99.9% chance of no failure).
-
-[endsect] [/section:binom_size_eg Estimating Sample Sizes for a Binomial Distribution.]
-
-[endsect][/section:binom_eg Binomial Distribution]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/c_sharp.qbk b/libs/math/doc/sf_and_dist/distributions/c_sharp.qbk
deleted file mode 100644
index 874675739e..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/c_sharp.qbk
+++ /dev/null
@@ -1,20 +0,0 @@
-[section:c_sharp Using the Distributions from Within C#]
-
-The distributions in this library can be used from the C# programming language
-when they are built using Microsofts Common Language Runtime option.
-
-An example of this kind of usage is given in the
-[@../../distexplorer/html/index.html distribution_explorer] example:
-see =boost-root/libs/math/dot_net_example=
-for the source code: the application consists of a C++ dll that contains the
-actual distributions, and a C# GUI that allows you to explore their properties.
-
-[endsect] [/section:c_sharp]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/cauchy.qbk b/libs/math/doc/sf_and_dist/distributions/cauchy.qbk
deleted file mode 100644
index cad1483c21..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/cauchy.qbk
+++ /dev/null
@@ -1,154 +0,0 @@
-[section:cauchy_dist Cauchy-Lorentz Distribution]
-
-``#include <boost/math/distributions/cauchy.hpp>``
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class cauchy_distribution;
-
- typedef cauchy_distribution<> cauchy;
-
- template <class RealType, class ``__Policy``>
- class cauchy_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- cauchy_distribution(RealType location = 0, RealType scale = 1);
-
- RealType location()const;
- RealType scale()const;
- };
-
-The [@http://en.wikipedia.org/wiki/Cauchy_distribution Cauchy-Lorentz distribution]
-is named after Augustin Cauchy and Hendrik Lorentz.
-It is a [@http://en.wikipedia.org/wiki/Probability_distribution continuous probability distribution]
-with [@http://en.wikipedia.org/wiki/Probability_distribution probability distribution function PDF]
-given by:
-
-[equation cauchy_ref1]
-
-The location parameter x[sub 0][space] is the location of the
-peak of the distribution (the mode of the distribution),
-while the scale parameter [gamma][space] specifies half the width
-of the PDF at half the maximum height. If the location is
-zero, and the scale 1, then the result is a standard Cauchy
-distribution.
-
-The distribution is important in physics as it is the solution
-to the differential equation describing forced resonance,
-while in spectroscopy it is the description of the line shape
-of spectral lines.
-
-The following graph shows how the distributions moves as the
-location parameter changes:
-
-[graph cauchy_pdf1]
-
-While the following graph shows how the shape (scale) parameter alters
-the distribution:
-
-[graph cauchy_pdf2]
-
-[h4 Member Functions]
-
- cauchy_distribution(RealType location = 0, RealType scale = 1);
-
-Constructs a Cauchy distribution, with location parameter /location/
-and scale parameter /scale/. When these parameters take their default
-values (location = 0, scale = 1)
-then the result is a Standard Cauchy Distribution.
-
-Requires scale > 0, otherwise calls __domain_error.
-
- RealType location()const;
-
-Returns the location parameter of the distribution.
-
- RealType scale()const;
-
-Returns the scale parameter of the distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-Note however that the Cauchy distribution does not have a mean,
-standard deviation, etc. See __math_undefined
-[/link math_toolkit.policy.pol_ref.assert_undefined mathematically undefined function]
-to control whether these should fail to compile with a BOOST_STATIC_ASSERTION_FAILURE,
-which is the default.
-
-Alternately, the functions __mean, __sd,
-__variance, __skewness, __kurtosis and __kurtosis_excess will all
-return a __domain_error if called.
-
-The domain of the random variable is \[-[max_value], +[min_value]\].
-
-[h4 Accuracy]
-
-The Cauchy distribution is implemented in terms of the
-standard library `tan` and `atan` functions,
-and as such should have very low error rates.
-
-[h4 Implementation]
-
-[def __x0 x[sub 0 ]]
-
-In the following table __x0 is the location parameter of the distribution,
-[gamma][space] is its scale parameter,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = 1 / ([pi] * [gamma] * (1 + ((x - __x0) / [gamma])[super 2]) ]]
-[[cdf and its complement][
-The cdf is normally given by:
-
-p = 0.5 + atan(x)/[pi]
-
-But that suffers from cancellation error as x -> -[infin].
-So recall that for `x < 0`:
-
-atan(x) = -[pi]/2 - atan(1/x)
-
-Substituting into the above we get:
-
-p = -atan(1/x) ; x < 0
-
-So the procedure is to calculate the cdf for -fabs(x)
-using the above formula. Note that to factor in the location and scale
-parameters you must substitute (x - __x0) / [gamma][space] for x in the above.
-
-This procedure yields the smaller of /p/ and /q/, so the result
-may need subtracting from 1 depending on whether we want the complement
-or not, and whether /x/ is less than __x0 or not.
-]]
-[[quantile][The same procedure is used irrespective of whether we're starting
- from the probability or its complement. First the argument /p/ is
- reduced to the range \[-0.5, 0.5\], then the relation
-
-x = __x0 [plusminus] [gamma][space] / tan([pi] * p)
-
-is used to obtain the result. Whether we're adding
- or subtracting from __x0 is determined by whether we're
- starting from the complement or not.]]
-[[mode][The location parameter.]]
-]
-
-[h4 References]
-
-* [@http://en.wikipedia.org/wiki/Cauchy_distribution Cauchy-Lorentz distribution]
-* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3663.htm NIST Exploratory Data Analysis]
-* [@http://mathworld.wolfram.com/CauchyDistribution.html Weisstein, Eric W. "Cauchy Distribution." From MathWorld--A Wolfram Web Resource.]
-
-[endsect][/section:cauchy_dist Cauchi]
-
-[/ cauchy.qbk
- Copyright 2006, 2007 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/distributions/chi_squared.qbk b/libs/math/doc/sf_and_dist/distributions/chi_squared.qbk
deleted file mode 100644
index ed4f208a94..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/chi_squared.qbk
+++ /dev/null
@@ -1,161 +0,0 @@
-[section:chi_squared_dist Chi Squared Distribution]
-
-``#include <boost/math/distributions/chi_squared.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class chi_squared_distribution;
-
- typedef chi_squared_distribution<> chi_squared;
-
- template <class RealType, class ``__Policy``>
- class chi_squared_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- // Constructor:
- chi_squared_distribution(RealType i);
-
- // Accessor to parameter:
- RealType degrees_of_freedom()const;
-
- // Parameter estimation:
- static RealType find_degrees_of_freedom(
- RealType difference_from_mean,
- RealType alpha,
- RealType beta,
- RealType sd,
- RealType hint = 100);
- };
-
- }} // namespaces
-
-The Chi-Squared distribution is one of the most widely used distributions
-in statistical tests. If [chi][sub i][space] are [nu][space]
-independent, normally distributed
-random variables with means [mu][sub i][space] and variances [sigma][sub i][super 2],
-then the random variable:
-
-[equation chi_squ_ref1]
-
-is distributed according to the Chi-Squared distribution.
-
-The Chi-Squared distribution is a special case of the gamma distribution
-and has a single parameter [nu][space] that specifies the number of degrees of
-freedom. The following graph illustrates how the distribution changes
-for different values of [nu]:
-
-[graph chi_squared_pdf]
-
-[h4 Member Functions]
-
- chi_squared_distribution(RealType v);
-
-Constructs a Chi-Squared distribution with /v/ degrees of freedom.
-
-Requires v > 0, otherwise calls __domain_error.
-
- RealType degrees_of_freedom()const;
-
-Returns the parameter /v/ from which this object was constructed.
-
- static RealType find_degrees_of_freedom(
- RealType difference_from_variance,
- RealType alpha,
- RealType beta,
- RealType variance,
- RealType hint = 100);
-
-Estimates the sample size required to detect a difference from a nominal
-variance in a Chi-Squared test for equal standard deviations.
-
-[variablelist
-[[difference_from_variance][The difference from the assumed nominal variance
- that is to be detected: Note that the sign of this value is critical, see below.]]
-[[alpha][The maximum acceptable risk of rejecting the null hypothesis when it is
- in fact true.]]
-[[beta][The maximum acceptable risk of falsely failing to reject the null hypothesis.]]
-[[variance][The nominal variance being tested against.]]
-[[hint][An optional hint on where to start looking for a result: the current sample
- size would be a good choice.]]
-]
-
-Note that this calculation works with /variances/ and not /standard deviations/.
-
-The sign of the parameter /difference_from_variance/ is important: the Chi
-Squared distribution is asymmetric, and the caller must decide in advance
-whether they are testing for a variance greater than a nominal value (positive
-/difference_from_variance/) or testing for a variance less than a nominal value
-(negative /difference_from_variance/). If the latter, then obviously it is
-a requirement that `variance + difference_from_variance > 0`, since no sample
-can have a negative variance!
-
-This procedure uses the method in Diamond, W. J. (1989).
-Practical Experiment Designs, Van-Nostrand Reinhold, New York.
-
-See also section on Sample sizes required in
-[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc232.htm the NIST Engineering Statistics Handbook, Section 7.2.3.2].
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-(We have followed the usual restriction of the mode to degrees of freedom >= 2,
-but note that the maximum of the pdf is actually zero for degrees of freedom from 2 down to 0,
-and provide an extended definition that would avoid a discontinuity in the mode
-as alternative code in a comment).
-
-The domain of the random variable is \[0, +[infin]\].
-
-[h4 Examples]
-
-Various [link math_toolkit.dist.stat_tut.weg.cs_eg worked examples]
-are available illustrating the use of the Chi Squared Distribution.
-
-[h4 Accuracy]
-
-The Chi-Squared distribution is implemented in terms of the
-[link math_toolkit.special.sf_gamma.igamma incomplete gamma functions]:
-please refer to the accuracy data for those functions.
-
-[h4 Implementation]
-
-In the following table /v/ is the number of degrees of freedom of the distribution,
-/x/ is the random variate, /p/ is the probability, and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = __gamma_p_derivative(v / 2, x / 2) / 2 ]]
-[[cdf][Using the relation: p = __gamma_p(v / 2, x / 2) ]]
-[[cdf complement][Using the relation: q = __gamma_q(v / 2, x / 2) ]]
-[[quantile][Using the relation: x = 2 * __gamma_p_inv(v / 2, p) ]]
-[[quantile from the complement][Using the relation: x = 2 * __gamma_q_inv(v / 2, p) ]]
-[[mean][v]]
-[[variance][2v]]
-[[mode][v - 2 (if v >= 2)]]
-[[skewness][2 * sqrt(2 / v) == sqrt(8 / v)]]
-[[kurtosis][3 + 12 / v]]
-[[kurtosis excess][12 / v]]
-]
-
-[h4 References]
-
-* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm NIST Exploratory Data Analysis]
-* [@http://en.wikipedia.org/wiki/Chi-square_distribution Chi-square distribution]
-* [@http://mathworld.wolfram.com/Chi-SquaredDistribution.html Weisstein, Eric W. "Chi-Squared Distribution." From MathWorld--A Wolfram Web Resource.]
-
-
-[endsect][/section:chi_squared_dist Chi Squared]
-
-[/ chi_squared.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/chi_squared_examples.qbk b/libs/math/doc/sf_and_dist/distributions/chi_squared_examples.qbk
deleted file mode 100644
index cf071c2642..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/chi_squared_examples.qbk
+++ /dev/null
@@ -1,500 +0,0 @@
-
-[section:cs_eg Chi Squared Distribution Examples]
-
-[section:chi_sq_intervals Confidence Intervals on the Standard Deviation]
-
-Once you have calculated the standard deviation for your data, a legitimate
-question to ask is "How reliable is the calculated standard deviation?".
-For this situation the Chi Squared distribution can be used to calculate
-confidence intervals for the standard deviation.
-
-The full example code & sample output is in
-[@../../../example/chi_square_std_dev_test.cpp chi_square_std_deviation_test.cpp].
-
-We'll begin by defining the procedure that will calculate and print out the
-confidence intervals:
-
- void confidence_limits_on_std_deviation(
- double Sd, // Sample Standard Deviation
- unsigned N) // Sample size
- {
-
-We'll begin by printing out some general information:
-
- cout <<
- "________________________________________________\n"
- "2-Sided Confidence Limits For Standard Deviation\n"
- "________________________________________________\n\n";
- cout << setprecision(7);
- cout << setw(40) << left << "Number of Observations" << "= " << N << "\n";
- cout << setw(40) << left << "Standard Deviation" << "= " << Sd << "\n";
-
-and then define a table of significance levels for which we'll calculate
-intervals:
-
- double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
-
-The distribution we'll need to calculate the confidence intervals is a
-Chi Squared distribution, with N-1 degrees of freedom:
-
- chi_squared dist(N - 1);
-
-For each value of alpha, the formula for the confidence interval is given by:
-
-[equation chi_squ_tut1]
-
-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:
-
- cout << "\n\n"
- "_____________________________________________\n"
- "Confidence Lower Upper\n"
- " Value (%) Limit Limit\n"
- "_____________________________________________\n";
-
-and then loop over the values of alpha and calculate the intervals
-for each: remember that the lower critical value is the same as the
-quantile, and the upper critical value is the same as the quantile
-from the complement of the probability:
-
- for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
- {
- // Confidence value:
- cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
- // Calculate limits:
- double lower_limit = sqrt((N - 1) * Sd * Sd / quantile(complement(dist, alpha[i] / 2)));
- double upper_limit = sqrt((N - 1) * Sd * Sd / quantile(dist, alpha[i] / 2));
- // Print Limits:
- cout << fixed << setprecision(5) << setw(15) << right << lower_limit;
- cout << fixed << setprecision(5) << setw(15) << right << upper_limit << endl;
- }
- cout << endl;
-
-To see some example output we'll use the
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm
-gear data] from the __handbook.
-The data represents measurements of gear diameter from a manufacturing
-process.
-
-[pre'''
-________________________________________________
-2-Sided Confidence Limits For Standard Deviation
-________________________________________________
-
-Number of Observations = 100
-Standard Deviation = 0.006278908
-
-
-_____________________________________________
-Confidence Lower Upper
- Value (%) Limit Limit
-_____________________________________________
- 50.000 0.00601 0.00662
- 75.000 0.00582 0.00685
- 90.000 0.00563 0.00712
- 95.000 0.00551 0.00729
- 99.000 0.00530 0.00766
- 99.900 0.00507 0.00812
- 99.990 0.00489 0.00855
- 99.999 0.00474 0.00895
-''']
-
-So at the 95% confidence level we conclude that the standard deviation
-is between 0.00551 and 0.00729.
-
-[h4 Confidence intervals as a function of the number of observations]
-
-Similarly, we can also list the confidence intervals for the standard deviation
-for the common confidence levels 95%, for increasing numbers of observations.
-
-The standard deviation used to compute these values is unity,
-so the limits listed are *multipliers* for any particular standard deviation.
-For example, given a standard deviation of 0.0062789 as in the example
-above; for 100 observations the multiplier is 0.8780
-giving the lower confidence limit of 0.8780 * 0.006728 = 0.00551.
-
-[pre'''
-____________________________________________________
-Confidence level (two-sided) = 0.0500000
-Standard Deviation = 1.0000000
-________________________________________
-Observations Lower Upper
- Limit Limit
-________________________________________
- 2 0.4461 31.9102
- 3 0.5207 6.2847
- 4 0.5665 3.7285
- 5 0.5991 2.8736
- 6 0.6242 2.4526
- 7 0.6444 2.2021
- 8 0.6612 2.0353
- 9 0.6755 1.9158
- 10 0.6878 1.8256
- 15 0.7321 1.5771
- 20 0.7605 1.4606
- 30 0.7964 1.3443
- 40 0.8192 1.2840
- 50 0.8353 1.2461
- 60 0.8476 1.2197
- 100 0.8780 1.1617
- 120 0.8875 1.1454
- 1000 0.9580 1.0459
- 10000 0.9863 1.0141
- 50000 0.9938 1.0062
- 100000 0.9956 1.0044
- 1000000 0.9986 1.0014
-''']
-
-With just 2 observations the limits are from *0.445* up to to *31.9*,
-so the standard deviation might be about *half*
-the observed value up to *30 times* the observed value!
-
-Estimating a standard deviation with just a handful of values leaves a very great uncertainty,
-especially the upper limit.
-Note especially how far the upper limit is skewed from the most likely standard deviation.
-
-Even for 10 observations, normally considered a reasonable number,
-the range is still from 0.69 to 1.8, about a range of 0.7 to 2,
-and is still highly skewed with an upper limit *twice* the median.
-
-When we have 1000 observations, the estimate of the standard deviation is starting to look convincing,
-with a range from 0.95 to 1.05 - now near symmetrical, but still about + or - 5%.
-
-Only when we have 10000 or more repeated observations can we start to be reasonably confident
-(provided we are sure that other factors like drift are not creeping in).
-
-For 10000 observations, the interval is 0.99 to 1.1 - finally a really convincing + or -1% confidence.
-
-[endsect][/section:chi_sq_intervals Confidence Intervals on the Standard Deviation]
-
-[section:chi_sq_test Chi-Square Test for the Standard Deviation]
-
-We use this test to determine whether the standard deviation of a sample
-differs from a specified value. Typically this occurs in process change
-situations where we wish to compare the standard deviation of a new
-process to an established one.
-
-The code for this example is contained in
-[@../../../example/chi_square_std_dev_test.cpp chi_square_std_dev_test.cpp], and
-we'll begin by defining the procedure that will print out the test
-statistics:
-
- void chi_squared_test(
- double Sd, // Sample std deviation
- double D, // True std deviation
- unsigned N, // Sample size
- double alpha) // Significance level
- {
-
-The procedure begins by printing a summary of the input data:
-
- using namespace std;
- using namespace boost::math;
-
- // Print header:
- cout <<
- "______________________________________________\n"
- "Chi Squared test for sample standard deviation\n"
- "______________________________________________\n\n";
- cout << setprecision(5);
- cout << setw(55) << left << "Number of Observations" << "= " << N << "\n";
- cout << setw(55) << left << "Sample Standard Deviation" << "= " << Sd << "\n";
- cout << setw(55) << left << "Expected True Standard Deviation" << "= " << D << "\n\n";
-
-The test statistic (T) is simply the ratio of the sample and "true" standard
-deviations squared, multiplied by the number of degrees of freedom (the
-sample size less one):
-
- double t_stat = (N - 1) * (Sd / D) * (Sd / D);
- cout << setw(55) << left << "Test Statistic" << "= " << t_stat << "\n";
-
-The distribution we need to use, is a Chi Squared distribution with N-1
-degrees of freedom:
-
- chi_squared dist(N - 1);
-
-The various hypothesis that can be tested are summarised in the following table:
-
-[table
-[[Hypothesis][Test]]
-[[The null-hypothesis: there is no difference in standard deviation from the specified value]
- [ Reject if T < [chi][super 2][sub (1-alpha/2; N-1)] or T > [chi][super 2][sub (alpha/2; N-1)] ]]
-[[The alternative hypothesis: there is a difference in standard deviation from the specified value]
- [ Reject if [chi][super 2][sub (1-alpha/2; N-1)] >= T >= [chi][super 2][sub (alpha/2; N-1)] ]]
-[[The alternative hypothesis: the standard deviation is less than the specified value]
- [ Reject if [chi][super 2][sub (1-alpha; N-1)] <= T ]]
-[[The alternative hypothesis: the standard deviation is greater than the specified value]
- [ Reject if [chi][super 2][sub (alpha; N-1)] >= T ]]
-]
-
-Where [chi][super 2][sub (alpha; N-1)] is the upper critical value of the
-Chi Squared distribution, and [chi][super 2][sub (1-alpha; N-1)] is the
-lower critical value.
-
-Recall that the lower critical value is the same
-as the quantile, and the upper critical value is the same as the quantile
-from the complement of the probability, that gives us the following code
-to calculate the critical values:
-
- double ucv = quantile(complement(dist, alpha));
- double ucv2 = quantile(complement(dist, alpha / 2));
- double lcv = quantile(dist, alpha);
- double lcv2 = quantile(dist, alpha / 2);
- cout << setw(55) << left << "Upper Critical Value at alpha: " << "= "
- << setprecision(3) << scientific << ucv << "\n";
- cout << setw(55) << left << "Upper Critical Value at alpha/2: " << "= "
- << setprecision(3) << scientific << ucv2 << "\n";
- cout << setw(55) << left << "Lower Critical Value at alpha: " << "= "
- << setprecision(3) << scientific << lcv << "\n";
- cout << setw(55) << left << "Lower Critical Value at alpha/2: " << "= "
- << setprecision(3) << scientific << lcv2 << "\n\n";
-
-Now that we have the critical values, we can compare these to our test
-statistic, and print out the result of each hypothesis and test:
-
- cout << setw(55) << left <<
- "Results for Alternative Hypothesis and alpha" << "= "
- << setprecision(4) << fixed << alpha << "\n\n";
- cout << "Alternative Hypothesis Conclusion\n";
-
- cout << "Standard Deviation != " << setprecision(3) << fixed << D << " ";
- if((ucv2 < t_stat) || (lcv2 > t_stat))
- cout << "ACCEPTED\n";
- else
- cout << "REJECTED\n";
-
- cout << "Standard Deviation < " << setprecision(3) << fixed << D << " ";
- if(lcv > t_stat)
- cout << "ACCEPTED\n";
- else
- cout << "REJECTED\n";
-
- cout << "Standard Deviation > " << setprecision(3) << fixed << D << " ";
- if(ucv < t_stat)
- cout << "ACCEPTED\n";
- else
- cout << "REJECTED\n";
- cout << endl << endl;
-
-To see some example output we'll use the
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm
-gear data] from the __handbook.
-The data represents measurements of gear diameter from a manufacturing
-process. The program output is deliberately designed to mirror
-the DATAPLOT output shown in the
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda358.htm
-NIST Handbook Example].
-
-[pre'''
-______________________________________________
-Chi Squared test for sample standard deviation
-______________________________________________
-
-Number of Observations = 100
-Sample Standard Deviation = 0.00628
-Expected True Standard Deviation = 0.10000
-
-Test Statistic = 0.39030
-CDF of test statistic: = 1.438e-099
-Upper Critical Value at alpha: = 1.232e+002
-Upper Critical Value at alpha/2: = 1.284e+002
-Lower Critical Value at alpha: = 7.705e+001
-Lower Critical Value at alpha/2: = 7.336e+001
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion'''
-Standard Deviation != 0.100 ACCEPTED
-Standard Deviation < 0.100 ACCEPTED
-Standard Deviation > 0.100 REJECTED
-]
-
-In this case we are testing whether the sample standard deviation is 0.1,
-and the null-hypothesis is rejected, so we conclude that the standard
-deviation ['is not] 0.1.
-
-For an alternative example, consider the
-[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm
-silicon wafer data] again from the __handbook.
-In this scenario a supplier of 100 ohm.cm silicon wafers claims
-that his fabrication process can produce wafers with sufficient
-consistency so that the standard deviation of resistivity for
-the lot does not exceed 10 ohm.cm. A sample of N = 10 wafers taken
-from the lot has a standard deviation of 13.97 ohm.cm, and the question
-we ask ourselves is "Is the suppliers claim correct?".
-
-The program output now looks like this:
-
-[pre'''
-______________________________________________
-Chi Squared test for sample standard deviation
-______________________________________________
-
-Number of Observations = 10
-Sample Standard Deviation = 13.97000
-Expected True Standard Deviation = 10.00000
-
-Test Statistic = 17.56448
-CDF of test statistic: = 9.594e-001
-Upper Critical Value at alpha: = 1.692e+001
-Upper Critical Value at alpha/2: = 1.902e+001
-Lower Critical Value at alpha: = 3.325e+000
-Lower Critical Value at alpha/2: = 2.700e+000
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion'''
-Standard Deviation != 10.000 REJECTED
-Standard Deviation < 10.000 REJECTED
-Standard Deviation > 10.000 ACCEPTED
-]
-
-In this case, our null-hypothesis is that the standard deviation of
-the sample is less than 10: this hypothesis is rejected in the analysis
-above, and so we reject the manufacturers claim.
-
-[endsect][/section:chi_sq_test Chi-Square Test for the Standard Deviation]
-
-[section:chi_sq_size Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation]
-
-Suppose we conduct a Chi Squared test for standard deviation and the result
-is borderline, a legitimate question to ask is "How large would the sample size
-have to be in order to produce a definitive result?"
-
-The class template [link math_toolkit.dist.dist_ref.dists.chi_squared_dist
-chi_squared_distribution] has a static method
-`find_degrees_of_freedom` that will calculate this value for
-some acceptable risk of type I failure /alpha/, type II failure
-/beta/, and difference from the standard deviation /diff/. Please
-note that the method used works on variance, and not standard deviation
-as is usual for the Chi Squared Test.
-
-The code for this example is located in [@../../../example/chi_square_std_dev_test.cpp
-chi_square_std_dev_test.cpp].
-
-We begin by defining a procedure to print out the sample sizes required
-for various risk levels:
-
- void chi_squared_sample_sized(
- double diff, // difference from variance to detect
- double variance) // true variance
- {
-
-The procedure begins by printing out the input data:
-
- using namespace std;
- using namespace boost::math;
-
- // Print out general info:
- cout <<
- "_____________________________________________________________\n"
- "Estimated sample sizes required for various confidence levels\n"
- "_____________________________________________________________\n\n";
- cout << setprecision(5);
- cout << setw(40) << left << "True Variance" << "= " << variance << "\n";
- cout << setw(40) << left << "Difference to detect" << "= " << diff << "\n";
-
-And defines a table of significance levels for which we'll calculate sample sizes:
-
- double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
-
-For each value of alpha we can calculate two sample sizes: one where the
-sample variance is less than the true value by /diff/ and one
-where it is greater than the true value by /diff/. Thanks to the
-asymmetric nature of the Chi Squared distribution these two values will
-not be the same, the difference in their calculation differs only in the
-sign of /diff/ that's passed to `find_degrees_of_freedom`. Finally
-in this example we'll simply things, and let risk level /beta/ be the
-same as /alpha/:
-
- cout << "\n\n"
- "_______________________________________________________________\n"
- "Confidence Estimated Estimated\n"
- " Value (%) Sample Size Sample Size\n"
- " (lower one (upper one\n"
- " sided test) sided test)\n"
- "_______________________________________________________________\n";
- //
- // Now print out the data for the table rows.
- //
- for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
- {
- // Confidence value:
- cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
- // calculate df for a lower single sided test:
- double df = chi_squared::find_degrees_of_freedom(
- -diff, alpha[i], alpha[i], variance);
- // convert to sample size:
- double size = ceil(df) + 1;
- // Print size:
- cout << fixed << setprecision(0) << setw(16) << right << size;
- // calculate df for an upper single sided test:
- df = chi_squared::find_degrees_of_freedom(
- diff, alpha[i], alpha[i], variance);
- // convert to sample size:
- size = ceil(df) + 1;
- // Print size:
- cout << fixed << setprecision(0) << setw(16) << right << size << endl;
- }
- cout << endl;
-
-For some example output, consider the
-[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm
-silicon wafer data] from the __handbook.
-In this scenario a supplier of 100 ohm.cm silicon wafers claims
-that his fabrication process can produce wafers with sufficient
-consistency so that the standard deviation of resistivity for
-the lot does not exceed 10 ohm.cm. A sample of N = 10 wafers taken
-from the lot has a standard deviation of 13.97 ohm.cm, and the question
-we ask ourselves is "How large would our sample have to be to reliably
-detect this difference?".
-
-To use our procedure above, we have to convert the
-standard deviations to variance (square them),
-after which the program output looks like this:
-
-[pre'''
-_____________________________________________________________
-Estimated sample sizes required for various confidence levels
-_____________________________________________________________
-
-True Variance = 100.00000
-Difference to detect = 95.16090
-
-
-_______________________________________________________________
-Confidence Estimated Estimated
- Value (%) Sample Size Sample Size
- (lower one (upper one
- sided test) sided test)
-_______________________________________________________________
- 50.000 2 2
- 75.000 2 10
- 90.000 4 32
- 95.000 5 51
- 99.000 7 99
- 99.900 11 174
- 99.990 15 251
- 99.999 20 330'''
-]
-
-In this case we are interested in a upper single sided test.
-So for example, if the maximum acceptable risk of falsely rejecting
-the null-hypothesis is 0.05 (Type I error), and the maximum acceptable
-risk of failing to reject the null-hypothesis is also 0.05
-(Type II error), we estimate that we would need a sample size of 51.
-
-[endsect][/section:chi_sq_size Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation]
-
-[endsect][/section:cs_eg Chi Squared Distribution]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/distribution_construction.qbk b/libs/math/doc/sf_and_dist/distributions/distribution_construction.qbk
deleted file mode 100644
index 5aab165432..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/distribution_construction.qbk
+++ /dev/null
@@ -1,17 +0,0 @@
-[section:dist_construct_eg Distribution Construction Example]
-
-See [@../../../example/distribution_construction.cpp distribution_construction.cpp] for full source code.
-
-[import ../../../example/distribution_construction.cpp]
-[distribution_construction1]
-[distribution_construction2]
-
-[endsect] [/section:dist_construct_eg Distribution Construction Example]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/error_handling_example.qbk b/libs/math/doc/sf_and_dist/distributions/error_handling_example.qbk
deleted file mode 100644
index 9cc3b45905..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/error_handling_example.qbk
+++ /dev/null
@@ -1,35 +0,0 @@
-[section:error_eg Error Handling Example]
-
-See [link math_toolkit.main_overview.error_handling error handling documentation]
-for a detailed explanation of the mechanism of handling errors,
-including the common "bad" arguments to distributions and functions,
-and how to use __policy_section to control it.
-
-But, by default, *exceptions will be raised*, for domain errors,
-pole errors, numeric overflow, and internal evaluation errors.
-To avoid the exceptions from getting thrown and instead get
-an appropriate value returned, usually a NaN (domain errors
-pole errors or internal errors), or infinity (from overflow),
-you need to change the policy.
-
-[import ../../../example/error_handling_example.cpp]
-
-[error_handling_example]
-
-[caution If throwing of exceptions is enabled (the default) but
-you do *not* have try & catch block,
-then the program will terminate with an uncaught exception and probably abort.
-
-Therefore to get the benefit of helpful error messages, enabling *all exceptions
-and using try & catch* is recommended for most applications.
-
-However, for simplicity, the is not done for most examples.]
-
-[endsect] [/section:error_eg Error Handling Example]
-[/
- Copyright 2007 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/exponential.qbk b/libs/math/doc/sf_and_dist/distributions/exponential.qbk
deleted file mode 100644
index 17d923a902..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/exponential.qbk
+++ /dev/null
@@ -1,108 +0,0 @@
-[section:exp_dist Exponential Distribution]
-
-``#include <boost/math/distributions/exponential.hpp>``
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class exponential_distribution;
-
- typedef exponential_distribution<> exponential;
-
- template <class RealType, class ``__Policy``>
- class exponential_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- exponential_distribution(RealType lambda = 1);
-
- RealType lambda()const;
- };
-
-
-The [@http://en.wikipedia.org/wiki/Exponential_distribution exponential distribution]
-is a [@http://en.wikipedia.org/wiki/Probability_distribution continuous probability distribution]
-with PDF:
-
-[equation exponential_dist_ref1]
-
-It is often used to model the time between independent
-events that happen at a constant average rate.
-
-The following graph shows how the distribution changes for different
-values of the rate parameter lambda:
-
-[graph exponential_pdf]
-
-[h4 Member Functions]
-
- exponential_distribution(RealType lambda = 1);
-
-Constructs an
-[@http://en.wikipedia.org/wiki/Exponential_distribution Exponential distribution]
-with parameter /lambda/.
-Lambda is defined as the reciprocal of the scale parameter.
-
-Requires lambda > 0, otherwise calls __domain_error.
-
- RealType lambda()const;
-
-Accessor function returns the lambda parameter of the distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0, +[infin]\].
-
-[h4 Accuracy]
-
-The exponential distribution is implemented in terms of the
-standard library functions `exp`, `log`, `log1p` and `expm1`
-and as such should have very low error rates.
-
-[h4 Implementation]
-
-In the following table [lambda] is the parameter lambda of the distribution,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = [lambda] * exp(-[lambda] * x) ]]
-[[cdf][Using the relation: p = 1 - exp(-x * [lambda]) = -expm1(-x * [lambda]) ]]
-[[cdf complement][Using the relation: q = exp(-x * [lambda]) ]]
-[[quantile][Using the relation: x = -log(1-p) / [lambda] = -log1p(-p) / [lambda]]]
-[[quantile from the complement][Using the relation: x = -log(q) / [lambda]]]
-[[mean][1/[lambda]]]
-[[standard deviation][1/[lambda]]]
-[[mode][0]]
-[[skewness][2]]
-[[kurtosis][9]]
-[[kurtosis excess][6]]
-]
-
-[h4 references]
-
-* [@http://mathworld.wolfram.com/ExponentialDistribution.html Weisstein, Eric W. "Exponential Distribution." From MathWorld--A Wolfram Web Resource]
-* [@http://documents.wolfram.com/calccenter/Functions/ListsMatrices/Statistics/ExponentialDistribution.html Wolfram Mathematica calculator]
-* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3667.htm NIST Exploratory Data Analysis]
-* [@http://en.wikipedia.org/wiki/Exponential_distribution Wikipedia Exponential distribution]
-
-(See also the reference documentation for the related __extreme_distrib.)
-
-*
-[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications
-Samuel Kotz & Saralees Nadarajah]
-discuss the relationship of the types of extreme value distributions.
-
-[endsect][/section:exp_dist Exponential]
-
-[/ exponential.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/extreme_value.qbk b/libs/math/doc/sf_and_dist/distributions/extreme_value.qbk
deleted file mode 100644
index 5e81eb51e4..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/extreme_value.qbk
+++ /dev/null
@@ -1,119 +0,0 @@
-[section:extreme_dist Extreme Value Distribution]
-
-``#include <boost/math/distributions/extreme.hpp>``
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class extreme_value_distribution;
-
- typedef extreme_value_distribution<> extreme_value;
-
- template <class RealType, class ``__Policy``>
- class extreme_value_distribution
- {
- public:
- typedef RealType value_type;
-
- extreme_value_distribution(RealType location = 0, RealType scale = 1);
-
- RealType scale()const;
- RealType location()const;
- };
-
-There are various
-[@http://mathworld.wolfram.com/ExtremeValueDistribution.html extreme value distributions]
-: this implementation represents the maximum case,
-and is variously known as a Fisher-Tippett distribution,
-a log-Weibull distribution or a Gumbel distribution.
-
-Extreme value theory is important for assessing risk for highly unusual events,
-such as 100-year floods.
-
-More information can be found on the
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda366g.htm NIST],
-[@http://en.wikipedia.org/wiki/Extreme_value_distribution Wikipedia],
-[@http://mathworld.wolfram.com/ExtremeValueDistribution.html Mathworld],
-and [@http://en.wikipedia.org/wiki/Extreme_value_theory Extreme value theory]
-websites.
-
-The relationship of the types of extreme value distributions, of which this is but one, is
-discussed by
-[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications
-Samuel Kotz & Saralees Nadarajah].
-
-The distribution has a PDF given by:
-
-f(x) = (1/scale) e[super -(x-location)/scale] e[super -e[super -(x-location)/scale]]
-
-Which in the standard case (scale = 1, location = 0) reduces to:
-
-f(x) = e[super -x]e[super -e[super -x]]
-
-The following graph illustrates how the PDF varies with the location parameter:
-
-[graph extreme_value_pdf1]
-
-And this graph illustrates how the PDF varies with the shape parameter:
-
-[graph extreme_value_pdf2]
-
-[h4 Member Functions]
-
- extreme_value_distribution(RealType location = 0, RealType scale = 1);
-
-Constructs an Extreme Value distribution with the specified location and scale
-parameters.
-
-Requires `scale > 0`, otherwise calls __domain_error.
-
- RealType location()const;
-
-Returns the location parameter of the distribution.
-
- RealType scale()const;
-
-Returns the scale parameter of the distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random parameter is \[-[infin], +[infin]\].
-
-[h4 Accuracy]
-
-The extreme value distribution is implemented in terms of the
-standard library `exp` and `log` functions and as such should have very low
-error rates.
-
-[h4 Implementation]
-
-In the following table:
-/a/ is the location parameter, /b/ is the scale parameter,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = exp((a-x)/b) * exp(-exp((a-x)/b)) / b ]]
-[[cdf][Using the relation: p = exp(-exp((a-x)/b)) ]]
-[[cdf complement][Using the relation: q = -expm1(-exp((a-x)/b)) ]]
-[[quantile][Using the relation: a - log(-log(p)) * b]]
-[[quantile from the complement][Using the relation: a - log(-log1p(-q)) * b]]
-[[mean][a + [@http://en.wikipedia.org/wiki/Euler-Mascheroni_constant Euler-Mascheroni-constant] * b]]
-[[standard deviation][pi * b / sqrt(6)]]
-[[mode][The same as the location parameter /a/.]]
-[[skewness][12 * sqrt(6) * zeta(3) / pi[super 3] ]]
-[[kurtosis][27 / 5]]
-[[kurtosis excess][kurtosis - 3 or 12 / 5]]
-]
-
-[endsect][/section:extreme_dist Extreme Value]
-
-[/ extreme_value.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/f_dist_example.qbk b/libs/math/doc/sf_and_dist/distributions/f_dist_example.qbk
deleted file mode 100644
index 4d48cca474..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/f_dist_example.qbk
+++ /dev/null
@@ -1,220 +0,0 @@
-[section:f_eg F Distribution Examples]
-
-Imagine that you want to compare the standard deviations of two
-sample to determine if they differ in any significant way, in this
-situation you use the F distribution and perform an F-test. This
-situation commonly occurs when conducting a process change comparison:
-"is a new process more consistent that the old one?".
-
-In this example we'll be using the data for ceramic strength from
-[@http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm
-http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm].
-The data for this case study were collected by Said Jahanmir of the
-NIST Ceramics Division in 1996 in connection with a NIST/industry
-ceramics consortium for strength optimization of ceramic strength.
-
-The example program is [@../../../example/f_test.cpp f_test.cpp],
-program output has been deliberately made as similar as possible
-to the DATAPLOT output in the corresponding
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda359.htm
-NIST EngineeringStatistics Handbook example].
-
-We'll begin by defining the procedure to conduct the test:
-
- void f_test(
- double sd1, // Sample 1 std deviation
- double sd2, // Sample 2 std deviation
- double N1, // Sample 1 size
- double N2, // Sample 2 size
- double alpha) // Significance level
- {
-
-The procedure begins by printing out a summary of our input data:
-
- using namespace std;
- using namespace boost::math;
-
- // Print header:
- cout <<
- "____________________________________\n"
- "F test for equal standard deviations\n"
- "____________________________________\n\n";
- cout << setprecision(5);
- cout << "Sample 1:\n";
- cout << setw(55) << left << "Number of Observations" << "= " << N1 << "\n";
- cout << setw(55) << left << "Sample Standard Deviation" << "= " << sd1 << "\n\n";
- cout << "Sample 2:\n";
- cout << setw(55) << left << "Number of Observations" << "= " << N2 << "\n";
- cout << setw(55) << left << "Sample Standard Deviation" << "= " << sd2 << "\n\n";
-
-The test statistic for an F-test is simply the ratio of the square of
-the two standard deviations:
-
-F = s[sub 1][super 2] / s[sub 2][super 2]
-
-where s[sub 1] is the standard deviation of the first sample and s[sub 2]
-is the standard deviation of the second sample. Or in code:
-
- double F = (sd1 / sd2);
- F *= F;
- cout << setw(55) << left << "Test Statistic" << "= " << F << "\n\n";
-
-At this point a word of caution: the F distribution is asymmetric,
-so we have to be careful how we compute the tests, the following table
-summarises the options available:
-
-[table
-[[Hypothesis][Test]]
-[[The null-hypothesis: there is no difference in standard deviations (two sided test)]
- [Reject if F <= F[sub (1-alpha/2; N1-1, N2-1)] or F >= F[sub (alpha/2; N1-1, N2-1)] ]]
-[[The alternative hypothesis: there is a difference in means (two sided test)]
- [Reject if F[sub (1-alpha/2; N1-1, N2-1)] <= F <= F[sub (alpha/2; N1-1, N2-1)] ]]
-[[The alternative hypothesis: Standard deviation of sample 1 is greater
-than that of sample 2]
- [Reject if F < F[sub (alpha; N1-1, N2-1)] ]]
-[[The alternative hypothesis: Standard deviation of sample 1 is less
-than that of sample 2]
- [Reject if F > F[sub (1-alpha; N1-1, N2-1)] ]]
-]
-
-Where F[sub (1-alpha; N1-1, N2-1)] is the lower critical value of the F distribution
-with degrees of freedom N1-1 and N2-1, and F[sub (alpha; N1-1, N2-1)] is the upper
-critical value of the F distribution with degrees of freedom N1-1 and N2-1.
-
-The upper and lower critical values can be computed using the quantile function:
-
-F[sub (1-alpha; N1-1, N2-1)] = `quantile(fisher_f(N1-1, N2-1), alpha)`
-
-F[sub (alpha; N1-1, N2-1)] = `quantile(complement(fisher_f(N1-1, N2-1), alpha))`
-
-In our example program we need both upper and lower critical values for alpha
-and for alpha/2:
-
- double ucv = quantile(complement(dist, alpha));
- double ucv2 = quantile(complement(dist, alpha / 2));
- double lcv = quantile(dist, alpha);
- double lcv2 = quantile(dist, alpha / 2);
- cout << setw(55) << left << "Upper Critical Value at alpha: " << "= "
- << setprecision(3) << scientific << ucv << "\n";
- cout << setw(55) << left << "Upper Critical Value at alpha/2: " << "= "
- << setprecision(3) << scientific << ucv2 << "\n";
- cout << setw(55) << left << "Lower Critical Value at alpha: " << "= "
- << setprecision(3) << scientific << lcv << "\n";
- cout << setw(55) << left << "Lower Critical Value at alpha/2: " << "= "
- << setprecision(3) << scientific << lcv2 << "\n\n";
-
-The final step is to perform the comparisons given above, and print
-out whether the hypothesis is rejected or not:
-
- cout << setw(55) << left <<
- "Results for Alternative Hypothesis and alpha" << "= "
- << setprecision(4) << fixed << alpha << "\n\n";
- cout << "Alternative Hypothesis Conclusion\n";
-
- cout << "Standard deviations are unequal (two sided test) ";
- if((ucv2 < F) || (lcv2 > F))
- cout << "ACCEPTED\n";
- else
- cout << "REJECTED\n";
-
- cout << "Standard deviation 1 is less than standard deviation 2 ";
- if(lcv > F)
- cout << "ACCEPTED\n";
- else
- cout << "REJECTED\n";
-
- cout << "Standard deviation 1 is greater than standard deviation 2 ";
- if(ucv < F)
- cout << "ACCEPTED\n";
- else
- cout << "REJECTED\n";
- cout << endl << endl;
-
-Using the ceramic strength data as an example we get the following
-output:
-
-[pre
-'''F test for equal standard deviations
-____________________________________
-
-Sample 1:
-Number of Observations = 240
-Sample Standard Deviation = 65.549
-
-Sample 2:
-Number of Observations = 240
-Sample Standard Deviation = 61.854
-
-Test Statistic = 1.123
-
-CDF of test statistic: = 8.148e-001
-Upper Critical Value at alpha: = 1.238e+000
-Upper Critical Value at alpha/2: = 1.289e+000
-Lower Critical Value at alpha: = 8.080e-001
-Lower Critical Value at alpha/2: = 7.756e-001
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion
-Standard deviations are unequal (two sided test) REJECTED
-Standard deviation 1 is less than standard deviation 2 REJECTED
-Standard deviation 1 is greater than standard deviation 2 REJECTED'''
-]
-
-In this case we are unable to reject the null-hypothesis, and must instead
-reject the alternative hypothesis.
-
-By contrast let's see what happens when we use some different
-[@http://www.itl.nist.gov/div898/handbook/prc/section3/prc32.htm
-sample data]:, once again from the NIST Engineering Statistics Handbook:
-A new procedure to assemble a device is introduced and tested for
-possible improvement in time of assembly. The question being addressed
-is whether the standard deviation of the new assembly process (sample 2) is
-better (i.e., smaller) than the standard deviation for the old assembly
-process (sample 1).
-
-[pre
-'''____________________________________
-F test for equal standard deviations
-____________________________________
-
-Sample 1:
-Number of Observations = 11.00000
-Sample Standard Deviation = 4.90820
-
-Sample 2:
-Number of Observations = 9.00000
-Sample Standard Deviation = 2.58740
-
-Test Statistic = 3.59847
-
-CDF of test statistic: = 9.589e-001
-Upper Critical Value at alpha: = 3.347e+000
-Upper Critical Value at alpha/2: = 4.295e+000
-Lower Critical Value at alpha: = 3.256e-001
-Lower Critical Value at alpha/2: = 2.594e-001
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion
-Standard deviations are unequal (two sided test) REJECTED
-Standard deviation 1 is less than standard deviation 2 REJECTED
-Standard deviation 1 is greater than standard deviation 2 ACCEPTED'''
-]
-
-In this case we take our null hypothesis as "standard deviation 1 is
-less than or equal to standard deviation 2", since this represents the "no change"
-situation. So we want to compare the upper critical value at /alpha/
-(a one sided test) with the test statistic, and since 3.35 < 3.6 this
-hypothesis must be rejected. We therefore conclude that there is a change
-for the better in our standard deviation.
-
-[endsect][/section:f_eg F Distribution]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/find_location_and_scale.qbk b/libs/math/doc/sf_and_dist/distributions/find_location_and_scale.qbk
deleted file mode 100644
index c9d87a9e48..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/find_location_and_scale.qbk
+++ /dev/null
@@ -1,39 +0,0 @@
-[section:find_eg Find Location and Scale Examples]
-
-[section:find_location_eg Find Location (Mean) Example]
-[import ../../../example/find_location_example.cpp]
-[find_location1]
-[find_location2]
-See [@../../../example/find_location_example.cpp find_location_example.cpp]
-for full source code: the program output looks like this:
-[find_location_example_output]
-[endsect] [/section:find_location_eg Find Location (Mean) Example]
-
-[section:find_scale_eg Find Scale (Standard Deviation) Example]
-[import ../../../example/find_scale_example.cpp]
-[find_scale1]
-[find_scale2]
-See [@../../../example/find_scale_example.cpp find_scale_example.cpp]
-for full source code: the program output looks like this:
-[find_scale_example_output]
-[endsect] [/section:find_scale_eg Scale (Standard Deviation) Example]
-[section:find_mean_and_sd_eg Find mean and standard deviation example]
-
-[import ../../../example/find_mean_and_sd_normal.cpp]
-[normal_std]
-[normal_find_location_and_scale_eg]
-See [@../../../example/find_mean_and_sd_normal.cpp find_mean_and_sd_normal.cpp]
-for full source code & appended program output.
-[endsect] [/find_mean_and_sd_eg Find mean and standard deviation example]
-
-[endsect] [/section:find_eg Find Location and Scale Examples]
-
-
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/fisher.qbk b/libs/math/doc/sf_and_dist/distributions/fisher.qbk
deleted file mode 100644
index 401696bd7a..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/fisher.qbk
+++ /dev/null
@@ -1,190 +0,0 @@
-[section:f_dist F Distribution]
-
-``#include <boost/math/distributions/fisher_f.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class fisher_f_distribution;
-
- typedef fisher_f_distribution<> fisher_f;
-
- template <class RealType, class ``__Policy``>
- class fisher_f_distribution
- {
- public:
- typedef RealType value_type;
-
- // Construct:
- fisher_f_distribution(const RealType& i, const RealType& j);
-
- // Accessors:
- RealType degrees_of_freedom1()const;
- RealType degrees_of_freedom2()const;
- };
-
- }} //namespaces
-
-The F distribution is a continuous distribution that arises when testing
-whether two samples have the same variance. If [chi][super 2][sub m][space] and
-[chi][super 2][sub n][space] are independent variates each distributed as
-Chi-Squared with /m/ and /n/ degrees of freedom, then the test statistic:
-
-F[sub n,m][space] = ([chi][super 2][sub n][space] / n) / ([chi][super 2][sub m][space] / m)
-
-Is distributed over the range \[0, [infin]\] with an F distribution, and
-has the PDF:
-
-[equation fisher_pdf]
-
-The following graph illustrates how the PDF varies depending on the
-two degrees of freedom parameters.
-
-[graph fisher_f_pdf]
-
-
-[h4 Member Functions]
-
- fisher_f_distribution(const RealType& df1, const RealType& df2);
-
-Constructs an F-distribution with numerator degrees of freedom /df1/
-and denominator degrees of freedom /df2/.
-
-Requires that /df1/ and /df2/ are both greater than zero, otherwise __domain_error
-is called.
-
- RealType degrees_of_freedom1()const;
-
-Returns the numerator degrees of freedom parameter of the distribution.
-
- RealType degrees_of_freedom2()const;
-
-Returns the denominator degrees of freedom parameter of the distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0, +[infin]\].
-
-[h4 Examples]
-
-Various [link math_toolkit.dist.stat_tut.weg.f_eg worked examples] are
-available illustrating the use of the F Distribution.
-
-[h4 Accuracy]
-
-The normal distribution is implemented in terms of the
-[link math_toolkit.special.sf_beta.ibeta_function incomplete beta function]
-and its [link math_toolkit.special.sf_beta.ibeta_inv_function inverses],
-refer to those functions for accuracy data.
-
-[h4 Implementation]
-
-In the following table /v1/ and /v2/ are the first and second
-degrees of freedom parameters of the distribution,
-/x/ is the random variate, /p/ is the probability, and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][The usual form of the PDF is given by:
-
-[equation fisher_pdf]
-
-However, that form is hard to evaluate directly without incurring problems with
-either accuracy or numeric overflow.
-
-Direct differentiation of the CDF expressed in terms of the incomplete beta function
-
-led to the following two formulas:
-
-f[sub v1,v2](x) = y * __ibeta_derivative(v2 \/ 2, v1 \/ 2, v2 \/ (v2 + v1 * x))
-
-with y = (v2 * v1) \/ ((v2 + v1 * x) * (v2 + v1 * x))
-
-and
-
-f[sub v1,v2](x) = y * __ibeta_derivative(v1 \/ 2, v2 \/ 2, v1 * x \/ (v2 + v1 * x))
-
-with y = (z * v1 - x * v1 * v1) \/ z[super 2]
-
-and z = v2 + v1 * x
-
-The first of these is used for v1 * x > v2, otherwise the second is used.
-
-The aim is to keep the /x/ argument to __ibeta_derivative away from 1 to avoid
-rounding error. ]]
-[[cdf][Using the relations:
-
-p = __ibeta(v1 \/ 2, v2 \/ 2, v1 * x \/ (v2 + v1 * x))
-
-and
-
-p = __ibetac(v2 \/ 2, v1 \/ 2, v2 \/ (v2 + v1 * x))
-
-The first is used for v1 * x > v2, otherwise the second is used.
-
-The aim is to keep the /x/ argument to __ibeta well away from 1 to
-avoid rounding error. ]]
-
-[[cdf complement][Using the relations:
-
-p = __ibetac(v1 \/ 2, v2 \/ 2, v1 * x \/ (v2 + v1 * x))
-
-and
-
-p = __ibeta(v2 \/ 2, v1 \/ 2, v2 \/ (v2 + v1 * x))
-
-The first is used for v1 * x < v2, otherwise the second is used.
-
-The aim is to keep the /x/ argument to __ibeta well away from 1 to
-avoid rounding error. ]]
-[[quantile][Using the relation:
-
-x = v2 * a \/ (v1 * b)
-
-where:
-
-a = __ibeta_inv(v1 \/ 2, v2 \/ 2, p)
-
-and
-
-b = 1 - a
-
-Quantities /a/ and /b/ are both computed by __ibeta_inv without the
-subtraction implied above.]]
-[[quantile
-
-from the complement][Using the relation:
-
-x = v2 * a \/ (v1 * b)
-
-where
-
-a = __ibetac_inv(v1 \/ 2, v2 \/ 2, p)
-
-and
-
-b = 1 - a
-
-Quantities /a/ and /b/ are both computed by __ibetac_inv without the
-subtraction implied above.]]
-[[mean][v2 \/ (v2 - 2)]]
-[[variance][2 * v2[super 2 ] * (v1 + v2 - 2) \/ (v1 * (v2 - 2) * (v2 - 2) * (v2 - 4))]]
-[[mode][v2 * (v1 - 2) \/ (v1 * (v2 + 2))]]
-[[skewness][2 * (v2 + 2 * v1 - 2) * sqrt((2 * v2 - 8) \/ (v1 * (v2 + v1 - 2))) \/ (v2 - 6)]]
-[[kurtosis and kurtosis excess]
- [Refer to, [@http://mathworld.wolfram.com/F-Distribution.html
- Weisstein, Eric W. "F-Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-]
-
-[endsect][/section:f_dist F distribution]
-
-[/ fisher.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/distributions/gamma.qbk b/libs/math/doc/sf_and_dist/distributions/gamma.qbk
deleted file mode 100644
index d74776cf56..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/gamma.qbk
+++ /dev/null
@@ -1,139 +0,0 @@
-[section:gamma_dist Gamma (and Erlang) Distribution]
-
-``#include <boost/math/distributions/gamma.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class gamma_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- gamma_distribution(RealType shape, RealType scale = 1)
-
- RealType shape()const;
- RealType scale()const;
- };
-
- }} // namespaces
-
-The gamma distribution is a continuous probability distribution.
-When the shape parameter is an integer then it is known as the
-Erlang Distribution. It is also closely related to the Poisson
-and Chi Squared Distributions.
-
-When the shape parameter has an integer value, the distribution is the
-[@http://en.wikipedia.org/wiki/Erlang_distribution Erlang distribution].
-Since this can be produced by ensuring that the shape parameter has an
-integer value > 0, the Erlang distribution is not separately implemented.
-
-[note
-To avoid potential confusion with the gamma functions, this
-distribution does not provide the typedef:
-
-``typedef gamma_distribution<double> gamma;``
-
-Instead if you want a double precision gamma distribution you can write
-
-``boost::math::gamma_distribution<> my_gamma(1, 1);``
-]
-
-For shape parameter /k/ and scale parameter [theta][space] it is defined by the
-probability density function:
-
-[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:
-
-[equation gamma_dist_ref2]
-
-In this form the inverse scale parameter is called a /rate parameter/.
-
-Both forms are in common usage: this library uses the first definition
-throughout. Therefore to construct a Gamma Distribution from a ['rate
-parameter], you should pass the reciprocal of the rate as the scale parameter.
-
-The following two graphs illustrate how the PDF of the gamma distribution
-varies as the parameters vary:
-
-[graph gamma1_pdf]
-
-[graph gamma2_pdf]
-
-The [*Erlang Distribution] is the same as the Gamma, but with the shape parameter
-an integer. It is often expressed using a /rate/ rather than a /scale/ as the
-second parameter (remember that the rate is the reciprocal of the scale).
-
-Internally the functions used to implement the Gamma Distribution are
-already optimised for small-integer arguments, so in general there should
-be no great loss of performance from using a Gamma Distribution rather than
-a dedicated Erlang Distribution.
-
-[h4 Member Functions]
-
- gamma_distribution(RealType shape, RealType scale = 1);
-
-Constructs a gamma distribution with shape /shape/ and
-scale /scale/.
-
-Requires that the shape and scale parameters are greater than zero, otherwise calls
-__domain_error.
-
- RealType shape()const;
-
-Returns the /shape/ parameter of this distribution.
-
- RealType scale()const;
-
-Returns the /scale/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0,+[infin]\].
-
-[h4 Accuracy]
-
-The lognormal distribution is implemented in terms of the
-incomplete gamma functions __gamma_p and __gamma_q and their
-inverses __gamma_p_inv and __gamma_q_inv: refer to the accuracy
-data for those functions for more information.
-
-[h4 Implementation]
-
-In the following table /k/ is the shape parameter of the distribution,
-[theta][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
-and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = __gamma_p_derivative(k, x / [theta]) / [theta] ]]
-[[cdf][Using the relation: p = __gamma_p(k, x / [theta]) ]]
-[[cdf complement][Using the relation: q = __gamma_q(k, x / [theta]) ]]
-[[quantile][Using the relation: x = [theta][space]* __gamma_p_inv(k, p) ]]
-[[quantile from the complement][Using the relation: x = [theta][space]* __gamma_q_inv(k, p) ]]
-[[mean][k[theta] ]]
-[[variance][k[theta][super 2] ]]
-[[mode][(k-1)[theta][space] for ['k>1] otherwise a __domain_error ]]
-[[skewness][2 / sqrt(k) ]]
-[[kurtosis][3 + 6 / k]]
-[[kurtosis excess][6 / k ]]
-]
-
-[endsect][/section:gamma_dist Gamma (and Erlang) Distribution]
-
-
-[/
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/geometric.qbk b/libs/math/doc/sf_and_dist/distributions/geometric.qbk
deleted file mode 100644
index 9e03a026c9..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/geometric.qbk
+++ /dev/null
@@ -1,350 +0,0 @@
-[section:geometric_dist Geometric Distribution]
-
-``#include <boost/math/distributions/geometric.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class geometric_distribution;
-
- typedef geometric_distribution<> geometric;
-
- template <class RealType, class ``__Policy``>
- class geometric_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Constructor from success_fraction:
- geometric_distribution(RealType p);
-
- // Parameter accessors:
- RealType success_fraction() const;
- RealType successes() const;
-
- // Bounds on success fraction:
- static RealType find_lower_bound_on_p(
- RealType trials,
- RealType successes,
- RealType probability); // alpha
- static RealType find_upper_bound_on_p(
- RealType trials,
- RealType successes,
- RealType probability); // alpha
-
- // Estimate min/max number of trials:
- static RealType find_minimum_number_of_trials(
- RealType k, // Number of failures.
- RealType p, // Success fraction.
- RealType probability); // Probability threshold alpha.
- static RealType find_maximum_number_of_trials(
- RealType k, // Number of failures.
- RealType p, // Success fraction.
- RealType probability); // Probability threshold alpha.
- };
-
- }} // namespaces
-
-The class type `geometric_distribution` represents a
-[@http://en.wikipedia.org/wiki/geometric_distribution geometric distribution]:
-it is used when there are exactly two mutually exclusive outcomes of a
-[@http://en.wikipedia.org/wiki/Bernoulli_trial Bernoulli trial]:
-these outcomes are labelled "success" and "failure".
-
-For [@http://en.wikipedia.org/wiki/Bernoulli_trial Bernoulli trials]
-each with success fraction /p/, the geometric distribution gives
-the probability of observing /k/ trials (failures, events, occurrences, or arrivals)
-before the first success.
-
-[note For this implementation, the set of trials *includes zero*
-(unlike another definition where the set of trials starts at one, sometimes named /shifted/).]
-The geometric distribution assumes that success_fraction /p/ is fixed for all /k/ trials.
-
-The probability that there are /k/ failures before the first success is
-
-__spaces Pr(Y=/k/) = (1-/p/)[super /k/]/p/
-
-For example, when throwing a 6-face dice the success probability /p/ = 1/6 = 0.1666[recur][space].
-Throwing repeatedly until a /three/ appears,
-the probability distribution of the number of times /not-a-three/ is thrown
-is geometric.
-
-Geometric distribution has the Probability Density Function PDF:
-
-__spaces (1-/p/)[super /k/]/p/
-
-The following graph illustrates how the PDF and CDF vary for three examples
-of the success fraction /p/,
-(when considering the geometric distribution as a continuous function),
-
-[graph geometric_pdf_2]
-
-[graph geometric_cdf_2]
-
-and as discrete.
-
-[graph geometric_pdf_discrete]
-
-[graph geometric_cdf_discrete]
-
-
-[h4 Related Distributions]
-
-The geometric distribution is a special case of
-the __negative_binomial_distrib with successes parameter /r/ = 1,
-so only one first and only success is required : thus by definition
-__spaces `geometric(p) == negative_binomial(1, p)`
-
- negative_binomial_distribution(RealType r, RealType success_fraction);
- negative_binomial nb(1, success_fraction);
- geometric g(success_fraction);
- ASSERT(pdf(nb, 1) == pdf(g, 1));
-
-This implementation uses real numbers for the computation throughout
-(because it uses the *real-valued* power and exponential functions).
-So to obtain a conventional strictly-discrete geometric distribution
-you must ensure that an integer value is provided for the number of trials
-(random variable) /k/,
-and take integer values (floor or ceil functions) from functions that return
-a number of successes.
-
-[discrete_quantile_warning geometric]
-
-[h4 Member Functions]
-
-[h5 Constructor]
-
- geometric_distribution(RealType p);
-
-Constructor: /p/ or success_fraction is the probability of success of a single trial.
-
-Requires: `0 <= p <= 1`.
-
-[h5 Accessors]
-
- RealType success_fraction() const; // successes / trials (0 <= p <= 1)
-
-Returns the success_fraction parameter /p/ from which this distribution was constructed.
-
- RealType successes() const; // required successes always one,
- // included for compatibility with negative binomial distribution
- // with successes r == 1.
-
-Returns unity.
-
-The following functions are equivalent to those provided for the negative binomial,
-with successes = 1, but are provided here for completeness.
-
-The best method of calculation for the following functions is disputed:
-see __binomial_distrib and __negative_binomial_distrib for more discussion.
-
-[h5 Lower Bound on success_fraction Parameter ['p]]
-
- static RealType find_lower_bound_on_p(
- RealType failures,
- RealType probability) // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
-
-Returns a *lower bound* on the success fraction:
-
-[variablelist
-[[failures][The total number of failures before the 1st success.]]
-[[alpha][The largest acceptable probability that the true value of
- the success fraction is [*less than] the value returned.]]
-]
-
-For example, if you observe /k/ failures from /n/ trials
-the best estimate for the success fraction is simply 1/['n], but if you
-want to be 95% sure that the true value is [*greater than] some value,
-['p[sub min]], then:
-
- p``[sub min]`` = geometric_distribution<RealType>::
- find_lower_bound_on_p(failures, 0.05);
-
-[link math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative_binomial confidence interval example.]
-
-This function uses the Clopper-Pearson method of computing the lower bound on the
-success fraction, whilst many texts refer to this method as giving an "exact"
-result in practice it produces an interval that guarantees ['at least] the
-coverage required, and may produce pessimistic estimates for some combinations
-of /failures/ and /successes/. See:
-
-[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
-Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
-Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
-
-[h5 Upper Bound on success_fraction Parameter p]
-
- static RealType find_upper_bound_on_p(
- RealType trials,
- RealType alpha); // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
-
-Returns an *upper bound* on the success fraction:
-
-[variablelist
-[[trials][The total number of trials conducted.]]
-[[alpha][The largest acceptable probability that the true value of
- the success fraction is [*greater than] the value returned.]]
-]
-
-For example, if you observe /k/ successes from /n/ trials the
-best estimate for the success fraction is simply ['k/n], but if you
-want to be 95% sure that the true value is [*less than] some value,
-['p[sub max]], then:
-
- p``[sub max]`` = geometric_distribution<RealType>::find_upper_bound_on_p(
- k, 0.05);
-
-[link math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative binomial confidence interval example.]
-
-This function uses the Clopper-Pearson method of computing the lower bound on the
-success fraction, whilst many texts refer to this method as giving an "exact"
-result in practice it produces an interval that guarantees ['at least] the
-coverage required, and may produce pessimistic estimates for some combinations
-of /failures/ and /successes/. See:
-
-[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
-Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
-Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
-
-[h5 Estimating Number of Trials to Ensure at Least a Certain Number of Failures]
-
- static RealType find_minimum_number_of_trials(
- RealType k, // number of failures.
- RealType p, // success fraction.
- RealType alpha); // probability threshold (0.05 equivalent to 95%).
-
-This functions estimates the number of trials required to achieve a certain
-probability that [*more than ['k] failures will be observed].
-
-[variablelist
-[[k][The target number of failures to be observed.]]
-[[p][The probability of ['success] for each trial.]]
-[[alpha][The maximum acceptable ['risk] that only ['k] failures or fewer will be observed.]]
-]
-
-For example:
-
- geometric_distribution<RealType>::find_minimum_number_of_trials(10, 0.5, 0.05);
-
-Returns the smallest number of trials we must conduct to be 95% (1-0.05) sure
-of seeing 10 failures that occur with frequency one half.
-
-[link math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_size_eg Worked Example.]
-
-This function uses numeric inversion of the geometric distribution
-to obtain the result: another interpretation of the result is that it finds
-the number of trials (failures) that will lead to an /alpha/ probability
-of observing /k/ failures or fewer.
-
-[h5 Estimating Number of Trials to Ensure a Maximum Number of Failures or Less]
-
- static RealType find_maximum_number_of_trials(
- RealType k, // number of failures.
- RealType p, // success fraction.
- RealType alpha); // probability threshold (0.05 equivalent to 95%).
-
-This functions estimates the maximum number of trials we can conduct and achieve
-a certain probability that [*k failures or fewer will be observed].
-
-[variablelist
-[[k][The maximum number of failures to be observed.]]
-[[p][The probability of ['success] for each trial.]]
-[[alpha][The maximum acceptable ['risk] that more than ['k] failures will be observed.]]
-]
-
-For example:
-
- geometric_distribution<RealType>::find_maximum_number_of_trials(0, 1.0-1.0/1000000, 0.05);
-
-Returns the largest number of trials we can conduct and still be 95% sure
-of seeing no failures that occur with frequency one in one million.
-
-This function uses numeric inversion of the geometric distribution
-to obtain the result: another interpretation of the result, is that it finds
-the number of trials that will lead to an /alpha/ probability
-of observing more than k failures.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-However it's worth taking a moment to define what these actually mean in
-the context of this distribution:
-
-[table Meaning of the non-member accessors.
-[[Function][Meaning]]
-[[__pdf]
- [The probability of obtaining [*exactly k failures] from /k/ trials
- with success fraction p. For example:
-
-``pdf(geometric(p), k)``]]
-[[__cdf]
- [The probability of obtaining [*k failures or fewer] from /k/ trials
- with success fraction p and success on the last trial. For example:
-
-``cdf(geometric(p), k)``]]
-[[__ccdf]
- [The probability of obtaining [*more than k failures] from /k/ trials
- with success fraction p and success on the last trial. For example:
-
-``cdf(complement(geometric(p), k))``]]
-[[__quantile]
- [The [*greatest] number of failures /k/ expected to be observed from /k/ trials
- with success fraction /p/, at probability /P/. Note that the value returned
- is a real-number, and not an integer. Depending on the use case you may
- want to take either the floor or ceiling of the real result. For example:
-``quantile(geometric(p), P)``]]
-[[__quantile_c]
- [The [*smallest] number of failures /k/ expected to be observed from /k/ trials
- with success fraction /p/, at probability /P/. Note that the value returned
- is a real-number, and not an integer. Depending on the use case you may
- want to take either the floor or ceiling of the real result. For example:
- ``quantile(complement(geometric(p), P))``]]
-]
-
-[h4 Accuracy]
-
-This distribution is implemented using the pow and exp functions, so most results
-are accurate within a few epsilon for the RealType.
-For extreme values of `double` /p/, for example 0.9999999999,
-accuracy can fall significantly, for example to 10 decimal digits (from 16).
-
-[h4 Implementation]
-
-In the following table, /p/ is the probability that any one trial will
-be successful (the success fraction), /k/ is the number of failures,
-/p/ is the probability and /q = 1-p/,
-/x/ is the given probability to estimate
-the expected number of failures using the quantile.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][pdf = p * pow(q, k)]]
-[[cdf][cdf = 1 - q[super k=1]]]
-[[cdf complement][exp(log1p(-p) * (k+1))]]
-[[quantile][k = log1p(-x) / log1p(-p) -1]]
-[[quantile from the complement][k = log(x) / log1p(-p) -1]]
-[[mean][(1-p)/p]]
-[[variance][(1-p)/p[sup2]]]
-[[mode][0]]
-[[skewness][(2-p)/[sqrt]q]]
-[[kurtosis][9+p[sup2]/q]]
-[[kurtosis excess][6 +p[sup2]/q]]
-[[parameter estimation member functions][See __negative_binomial_distrib]]
-[[`find_lower_bound_on_p`][See __negative_binomial_distrib]]
-[[`find_upper_bound_on_p`][See __negative_binomial_distrib]]
-[[`find_minimum_number_of_trials`][See __negative_binomial_distrib]]
-[[`find_maximum_number_of_trials`][See __negative_binomial_distrib]]
-]
-
-[endsect][/section:geometric_dist geometric]
-
-[/ geometric.qbk
- Copyright 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/geometric_example.qbk b/libs/math/doc/sf_and_dist/distributions/geometric_example.qbk
deleted file mode 100644
index c529c1490e..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/geometric_example.qbk
+++ /dev/null
@@ -1,20 +0,0 @@
-[section:geometric_eg Geometric Distribution Examples]
-
-[import ../../../example/geometric_examples.cpp]
-[geometric_eg1_1]
-[geometric_eg1_2]
-
-See full source C++ of this example at
-[@../../../example/geometric_examples.cpp geometric_examples.cpp]
-
-[link math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative_binomial confidence interval example.]
-
-[endsect] [/section:geometric_eg Geometric Distribution Examples]
-
-[/ geometric.qbk
- Copyright 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/hypergeometric.qbk b/libs/math/doc/sf_and_dist/distributions/hypergeometric.qbk
deleted file mode 100644
index 24664c67f2..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/hypergeometric.qbk
+++ /dev/null
@@ -1,229 +0,0 @@
-[section:hypergeometric_dist Hypergeometric Distribution]
-
-``#include <boost/math/distributions/hypergeometric.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class hypergeometric_distribution;
-
- template <class RealType, class Policy>
- class hypergeometric_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- hypergeometric_distribution(unsigned r, unsigned n, unsigned N);
- // Accessors:
- unsigned total()const;
- unsigned defective()const;
- unsigned sample_count()const;
- };
-
- typedef hypergeometric_distribution<> hypergeometric;
-
- }} // namespaces
-
-The hypergeometric distribution describes the number of "events" /k/
-from a sample /n/ drawn from a total population /N/ ['without replacement].
-
-Imagine we have a sample of /N/ objects of which /r/ are "defective"
-and N-r are "not defective"
-(the terms "success\/failure" or "red\/blue" are also used). If we sample /n/
-items /without replacement/ then what is the probability that exactly
-/k/ items in the sample are defective? The answer is given by the pdf of the
-hypergeometric distribution `f(k; r, n, N)`, whilst the probability of
-/k/ defectives or fewer is given by F(k; r, n, N), where F(k) is the
-CDF of the hypergeometric distribution.
-
-[note Unlike almost all of the other distributions in this library,
-the hypergeometric distribution is strictly discrete: it can not be
-extended to real valued arguments of its parameters or random variable.]
-
-The following graph shows how the distribution changes as the proportion
-of "defective" items changes, while keeping the population and sample sizes
-constant:
-
-[graph hypergeometric_pdf_1]
-
-Note that since the distribution is symmetrical in parameters /n/ and /r/, if we
-change the sample size and keep the population and proportion "defective" the same
-then we obtain basically the same graphs:
-
-[graph hypergeometric_pdf_2]
-
-[h4 Member Functions]
-
- hypergeometric_distribution(unsigned r, unsigned n, unsigned N);
-
-Constructs a hypergeometric distribution with with a population of /N/ objects,
-of which /r/ are defective, and from which /n/ are sampled.
-
- unsigned total()const;
-
-Returns the total number of objects /N/.
-
- unsigned defective()const;
-
-Returns the number of objects /r/ in population /N/ which are defective.
-
- unsigned sample_count()const;
-
-Returns the number of objects /n/ which are sampled from the population /N/.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is the unsigned integers in the range
-\[max(0, n + r - N), min(n, r)\]. A __domain_error is raised if the
-random variable is outside this range, or is not an integral value.
-
-[caution
-The quantile function will by default return an integer result that has been
-/rounded outwards/. That is to say lower quantiles (where the probability is
-less than 0.5) are rounded downward, and upper quantiles (where the probability
-is greater than 0.5) are rounded upwards. This behaviour
-ensures that if an X% quantile is requested, then /at least/ the requested
-coverage will be present in the central region, and /no more than/
-the requested coverage will be present in the tails.
-
-This behaviour can be changed so that the quantile functions are rounded
-differently using
-[link math_toolkit.policy.pol_overview Policies]. It is strongly
-recommended that you read the tutorial
-[link math_toolkit.policy.pol_tutorial.understand_dis_quant
-Understanding Quantiles of Discrete Distributions] before
-using the quantile function on the Hypergeometric distribution. The
-[link math_toolkit.policy.pol_ref.discrete_quant_ref reference docs]
-describe how to change the rounding policy
-for these distributions.
-
-However, note that the implementation method of the quantile function
-always returns an integral value, therefore attempting to use a __Policy
-that requires (or produces) a real valued result will result in a
-compile time error.
-] [/ caution]
-
-
-[h4 Accuracy]
-
-For small N such that
-`N < boost::math::max_factorial<RealType>::value` then table based
-lookup of the results gives an accuracy to a few epsilon.
-`boost::math::max_factorial<RealType>::value` is 170 at double or long double
-precision.
-
-For larger N such that `N < boost::math::prime(boost::math::max_prime)`
-then only basic arithmetic is required for the calculation
-and the accuracy is typically < 20 epsilon. This takes care of N
-up to 104729.
-
-For `N > boost::math::prime(boost::math::max_prime)` then accuracy quickly
-degrades, with 5 or 6 decimal digits being lost for N = 110000.
-
-In general for very large N, the user should expect to loose log[sub 10]N
-decimal digits of precision during the calculation, with the results
-becoming meaningless for N >= 10[super 15].
-
-[h4 Testing]
-
-There are three sets of tests: our implementation is tested against a table of values
-produced by Mathematica's implementation of this distribution. We also sanity check
-our implementation against some spot values computed using the online calculator
-here [@http://stattrek.com/Tables/Hypergeometric.aspx http://stattrek.com/Tables/Hypergeometric.aspx].
-Finally we test accuracy against some high precision test data using
-this implementation and NTL::RR.
-
-[h4 Implementation]
-
-The PDF can be calculated directly using the formula:
-
-[equation hypergeometric1]
-
-However, this can only be used directly when the largest of the factorials
-is guaranteed not to overflow the floating point representation used.
-This formula is used directly when `N < max_factorial<RealType>::value`
-in which case table lookup of the factorials gives a rapid and accurate
-implementation method.
-
-For larger /N/ the method described in
-"An Accurate Computation of the Hypergeometric Distribution Function",
-Trong Wu, ACM Transactions on Mathematical Software, Vol. 19, No. 1,
-March 1993, Pages 33-43 is used. The method relies on the fact that
-there is an easy method for factorising a factorial into the product
-of prime numbers:
-
-[equation hypergeometric2]
-
-Where p[sub i] is the i'th prime number, and e[sub i] is a small
-positive integer or zero, which can be calculated via:
-
-[equation hypergeometric3]
-
-Further we can combine the factorials in the expression for the PDF
-to yield the PDF directly as the product of prime numbers:
-
-[equation hypergeometric4]
-
-With this time the exponents e[sub i] being either positive, negative
-or zero. Indeed such a degree of cancellation occurs in the calculation
-of the e[sub i] that many are zero, and typically most have a magnitude
-or no more than 1 or 2.
-
-Calculation of the product of the primes requires some care to prevent
-numerical overflow, we use a novel recursive method which splits the
-calculation into a series of sub-products, with a new sub-product
-started each time the next multiplication would cause either overflow
-or underflow. The sub-products are stored in a linked list on the
-program stack, and combined in an order that will guarantee no overflow
-or unnecessary-underflow once the last sub-product has been calculated.
-
-This method can be used as long as N is smaller than the largest prime
-number we have stored in our table of primes (currently 104729). The method
-is relatively slow (calculating the exponents requires the most time), but
-requires only a small number of arithmetic operations to
-calculate the result (indeed there is no shorter method involving only basic
-arithmetic once the exponents have been found), the method is therefore
-much more accurate than the alternatives.
-
-For much larger N, we can calculate the PDF from the factorials using
-either lgamma, or by directly combining lanczos approximations to avoid
-calculating via logarithms. We use the latter method, as it is usually
-1 or 2 decimal digits more accurate than computing via logarithms with
-lgamma. However, in this area where N > 104729, the user should expect
-to loose around log[sub 10]N decimal digits during the calculation in
-the worst case.
-
-The CDF and its complement is calculated by directly summing the PDF's.
-We start by deciding whether the CDF, or its complement, is likely to be
-the smaller of the two and then calculate the PDF at /k/ (or /k+1/ if we're
-calculating the complement) and calculate successive PDF values via the
-recurrence relations:
-
-[equation hypergeometric5]
-
-Until we either reach the end of the distributions domain, or the next
-PDF value to be summed would be too small to affect the result.
-
-The quantile is calculated in a similar manner to the CDF: we first guess
-which end of the distribution we're nearer to, and then sum PDFs starting
-from the end of the distribution this time, until we have some value /k/ that
-gives the required CDF.
-
-The median is simply the quantile at 0.5, and the remaining properties are
-calculated via:
-
-[equation hypergeometric6]
-
-[endsect]
-
-[/ hypergeometric.qbk
- Copyright 2008 John Maddock.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/distributions/inverse_chi_squared.qbk b/libs/math/doc/sf_and_dist/distributions/inverse_chi_squared.qbk
deleted file mode 100644
index 943db42953..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/inverse_chi_squared.qbk
+++ /dev/null
@@ -1,176 +0,0 @@
-[section:inverse_chi_squared_dist Inverse Chi Squared Distribution]
-
-``#include <boost/math/distributions/inverse_chi_squared.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class inverse_chi_squared_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- inverse_chi_squared_distribution(RealType df = 1); // Not explicitly scaled, default 1/df.
- inverse_chi_squared_distribution(RealType df, RealType scale = 1/df); // Scaled.
-
- RealType degrees_of_freedom()const; // Default 1.
- RealType scale()const; // Optional scale [xi] (variance), default 1/degrees_of_freedom.
- };
-
- }} // namespace boost // namespace math
-
-The inverse chi squared distribution is a continuous probability distribution
-of the *reciprocal* of a variable distributed according to the chi squared distribution.
-
-The sources below give confusingly different formulae
-using different symbols for the distribution pdf,
-but they are all the same, or related by a change of variable, or choice of scale.
-
-Two constructors are available to implement both the scaled and (implicitly) unscaled versions.
-
-The main version has an explicit scale parameter which implements the
-[@http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution scaled inverse chi_squared distribution].
-
-A second version has an implicit scale = 1/degrees of freedom and gives the 1st definition in the
-[@http://en.wikipedia.org/wiki/Inverse-chi-square_distribution Wikipedia inverse chi_squared distribution].
-The 2nd Wikipedia inverse chi_squared distribution definition can be implemented
-by explicitly specifying a scale = 1.
-
-Both definitions are also available in Wolfram Mathematica and in __R (geoR) with default scale = 1/degrees of freedom.
-
-See
-
-* Inverse chi_squared distribution [@http://en.wikipedia.org/wiki/Inverse-chi-square_distribution]
-* Scaled inverse chi_squared distribution[@http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution]
-* R inverse chi_squared distribution functions [@http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/geoR/html/InvChisquare.html R ]
-* Inverse chi_squared distribution functions [@http://mathworld.wolfram.com/InverseChi-SquaredDistribution.html Weisstein, Eric W. "Inverse Chi-Squared Distribution." From MathWorld--A Wolfram Web Resource.]
-* Inverse chi_squared distribution reference [@http://reference.wolfram.com/mathematica/ref/InverseChiSquareDistribution.html Weisstein, Eric W. "Inverse Chi-Squared Distribution reference." From Wolfram Mathematica.]
-
-The inverse_chi_squared distribution is used in
-[@http://en.wikipedia.org/wiki/Bayesian_statistics Bayesian statistics]:
-the scaled inverse chi-square is conjugate prior for the normal distribution
-with known mean, model parameter [sigma][pow2] (variance).
-
-See [@http://en.wikipedia.org/wiki/Conjugate_prior conjugate priors including a table of distributions and their priors.]
-
-See also __inverse_gamma_distrib and __chi_squared_distrib.
-
-The inverse_chi_squared distribution is a special case of a inverse_gamma distribution
-with [nu] (degrees_of_freedom) shape ([alpha]) and scale ([beta]) where
-
-__spaces [alpha]= [nu] /2 and [beta] = [frac12].
-
-[note This distribution *does* provide the typedef:
-
-``typedef inverse_chi_squared_distribution<double> inverse_chi_squared;``
-
-If you want a `double` precision inverse_chi_squared distribution you can use
-
-``boost::math::inverse_chi_squared_distribution<>``
-
-or you can write `inverse_chi_squared my_invchisqr(2, 3);`]
-
-For degrees of freedom parameter [nu],
-the (*unscaled*) inverse chi_squared distribution is defined by the probability density function (PDF):
-
-__spaces f(x;[nu]) = 2[super -[nu]/2] x[super -[nu]/2-1] e[super -1/2x] / [Gamma]([nu]/2)
-
-and Cumulative Density Function (CDF)
-
-__spaces F(x;[nu]) = [Gamma]([nu]/2, 1/2x) / [Gamma]([nu]/2)
-
-For degrees of freedom parameter [nu] and scale parameter [xi],
-the *scaled* inverse chi_squared distribution is defined by the probability density function (PDF):
-
-__spaces f(x;[nu], [xi]) = ([xi][nu]/2)[super [nu]/2] e[super -[nu][xi]/2x] x[super -1-[nu]/2] / [Gamma]([nu]/2)
-
-and Cumulative Density Function (CDF)
-
-__spaces F(x;[nu], [xi]) = [Gamma]([nu]/2, [nu][xi]/2x) / [Gamma]([nu]/2)
-
-The following graphs illustrate how the PDF and CDF of the inverse chi_squared distribution
-varies for a few values of parameters [nu] and [xi]:
-
-[graph inverse_chi_squared_pdf] [/.png or .svg]
-
-[graph inverse_chi_squared_cdf]
-
-[h4 Member Functions]
-
- inverse_chi_squared_distribution(RealType df = 1); // Implicitly scaled 1/df.
- inverse_chi_squared_distribution(RealType df = 1, RealType scale); // Explicitly scaled.
-
-Constructs an inverse chi_squared distribution with [nu] degrees of freedom ['df],
-and scale ['scale] with default value 1\/df.
-
-Requires that the degrees of freedom [nu] parameter is greater than zero, otherwise calls
-__domain_error.
-
- RealType degrees_of_freedom()const;
-
-Returns the degrees_of_freedom [nu] parameter of this distribution.
-
- RealType scale()const;
-
-Returns the scale [xi] parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variate is \[0,+[infin]\].
-[note Unlike some definitions, this implementation supports a random variate
-equal to zero as a special case, returning zero for both pdf and cdf.]
-
-[h4 Accuracy]
-
-The inverse gamma distribution is implemented in terms of the
-incomplete gamma functions like the __inverse_gamma_distrib that use
-__gamma_p and __gamma_q and their inverses __gamma_p_inv and __gamma_q_inv:
-refer to the accuracy data for those functions for more information.
-But in general, gamma (and thus inverse gamma) results are often accurate to a few epsilon,
->14 decimal digits accuracy for 64-bit double.
-unless iteration is involved, as for the estimation of degrees of freedom.
-
-[h4 Implementation]
-
-In the following table [nu] is the degrees of freedom parameter and
-[xi] is the scale parameter of the distribution,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/ its complement.
-Parameters [alpha] for shape and [beta] for scale
-are used for the inverse gamma function: [alpha] = [nu]/2 and [beta] = [nu] * [xi]/2.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = __gamma_p_derivative([alpha], [beta]/ x, [beta]) / x * x ]]
-[[cdf][Using the relation: p = __gamma_q([alpha], [beta] / x) ]]
-[[cdf complement][Using the relation: q = __gamma_p([alpha], [beta] / x) ]]
-[[quantile][Using the relation: x = [beta][space]/ __gamma_q_inv([alpha], p) ]]
-[[quantile from the complement][Using the relation: x = [alpha][space]/ __gamma_p_inv([alpha], q) ]]
-[[mode][[nu] * [xi] / ([nu] + 2) ]]
-[[median][no closed form analytic equation is known, but is evaluated as quantile(0.5)]]
-[[mean][[nu][xi] / ([nu] - 2) for [nu] > 2, else a __domain_error]]
-[[variance][2 [nu][pow2] [xi][pow2] / (([nu] -2)[pow2] ([nu] -4)) for [nu] >4, else a __domain_error]]
-[[skewness][4 [sqrt]2 [sqrt]([nu]-4) /([nu]-6) for [nu] >6, else a __domain_error ]]
-[[kurtosis_excess][12 * (5[nu] - 22) / (([nu] - 6) * ([nu] - 8)) for [nu] >8, else a __domain_error]]
-[[kurtosis][3 + 12 * (5[nu] - 22) / (([nu] - 6) * ([nu]-8)) for [nu] >8, else a __domain_error]]
-] [/table]
-
-[h4 References]
-
-# Bayesian Data Analysis, Andrew Gelman, John B. Carlin, Hal S. Stern, Donald B. Rubin,
-ISBN-13: 978-1584883883, Chapman & Hall; 2 edition (29 July 2003).
-
-# Bayesian Computation with R, Jim Albert, ISBN-13: 978-0387922973, Springer; 2nd ed. edition (10 Jun 2009)
-
-[endsect] [/section:inverse_chi_squared_dist Inverse chi_squared Distribution]
-
-[/
- Copyright 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-] \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/distributions/inverse_chi_squared_eg.qbk b/libs/math/doc/sf_and_dist/distributions/inverse_chi_squared_eg.qbk
deleted file mode 100644
index fe44794154..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/inverse_chi_squared_eg.qbk
+++ /dev/null
@@ -1,32 +0,0 @@
-
-[section:inverse_chi_squared_eg Inverse Chi-Squared Distribution Bayes Example]
-
-[import ../../../example/inverse_chi_squared_bayes_eg.cpp]
-[inverse_chi_squared_bayes_eg_1]
-[inverse_chi_squared_bayes_eg_output_1]
-[inverse_chi_squared_bayes_eg_2]
-[inverse_chi_squared_bayes_eg_output_2]
-[inverse_chi_squared_bayes_eg_3]
-[inverse_chi_squared_bayes_eg_output_3]
-[inverse_chi_squared_bayes_eg_4]
-[inverse_chi_squared_bayes_eg_output_4]
-
-[inverse_chi_squared_bayes_eg_5]
-
-A full sample output is:
-[inverse_chi_squared_bayes_eg_output]
-
-(See also the reference documentation for the __inverse_chi_squared_distrib.)
-
-See the full source C++ of this example at
-[@../../../example/inverse_chi_squared_bayes_eg.cpp]
-
-[endsect] [/section:inverse_chi_squared_eg Inverse Chi-Squared Distribution Bayes Example]
-
-[/
- Copyright 2011 Paul A. Bristow and Thomas Mang.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/inverse_gamma.qbk b/libs/math/doc/sf_and_dist/distributions/inverse_gamma.qbk
deleted file mode 100644
index 177f2fd870..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/inverse_gamma.qbk
+++ /dev/null
@@ -1,129 +0,0 @@
-[section:inverse_gamma_dist Inverse Gamma Distribution]
-
-``#include <boost/math/distributions/inverse_gamma.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class inverse_gamma_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- inverse_gamma_distribution(RealType shape, RealType scale = 1)
-
- RealType shape()const;
- RealType scale()const;
- };
-
- }} // namespaces
-
-The inverse_gamma distribution is a continuous probability distribution
-of the reciprocal of a variable distributed according to the gamma distribution.
-
-The inverse_gamma distribution is used in Bayesian statistics.
-
-See [@http://en.wikipedia.org/wiki/Inverse-gamma_distribution inverse gamma distribution].
-
-[@http://rss.acs.unt.edu/Rdoc/library/pscl/html/igamma.html R inverse gamma distribution functions].
-
-[@http://reference.wolfram.com/mathematica/ref/InverseGammaDistribution.html Wolfram inverse gamma distribution].
-
-See also __gamma_distrib.
-
-
-[note
-In spite of potential confusion with the inverse gamma function, this
-distribution *does* provide the typedef:
-
-``typedef inverse_gamma_distribution<double> gamma;``
-
-If you want a `double` precision gamma distribution you can use
-
-``boost::math::inverse_gamma_distribution<>``
-
-or you can write `inverse_gamma my_ig(2, 3);`]
-
-For shape parameter [alpha] and scale parameter [beta], it is defined
-by the probability density function (PDF):
-
-__spaces f(x;[alpha], [beta]) = [beta][super [alpha]] * (1/x) [super [alpha]+1] exp(-[beta]/x) / [Gamma]([alpha])
-
-and cumulative density function (CDF)
-
-__spaces F(x;[alpha], [beta]) = [Gamma]([alpha], [beta]/x) / [Gamma]([alpha])
-
-The following graphs illustrate how the PDF and CDF of the inverse gamma distribution
-varies as the parameters vary:
-
-[graph inverse_gamma_pdf] [/png or svg]
-
-[graph inverse_gamma_cdf]
-
-[h4 Member Functions]
-
- inverse_gamma_distribution(RealType shape = 1, RealType scale = 1);
-
-Constructs an inverse gamma distribution with shape [alpha] and scale [beta].
-
-Requires that the shape and scale parameters are greater than zero, otherwise calls
-__domain_error.
-
- RealType shape()const;
-
-Returns the [alpha] shape parameter of this inverse gamma distribution.
-
- RealType scale()const;
-
-Returns the [beta] scale parameter of this inverse gamma distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variate is \[0,+[infin]\].
-[note Unlike some definitions, this implementation supports a random variate
-equal to zero as a special case, returning zero for pdf and cdf.]
-
-[h4 Accuracy]
-
-The inverse gamma distribution is implemented in terms of the
-incomplete gamma functions __gamma_p and __gamma_q and their
-inverses __gamma_p_inv and __gamma_q_inv: refer to the accuracy
-data for those functions for more information.
-But in general, inverse_gamma results are accurate to a few epsilon,
->14 decimal digits accuracy for 64-bit double.
-
-[h4 Implementation]
-
-In the following table [alpha] is the shape parameter of the distribution,
-[alpha][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
-and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = __gamma_p_derivative([alpha], [beta]/ x, [beta]) / x * x ]]
-[[cdf][Using the relation: p = __gamma_q([alpha], [beta] / x) ]]
-[[cdf complement][Using the relation: q = __gamma_p([alpha], [beta] / x) ]]
-[[quantile][Using the relation: x = [beta][space]/ __gamma_q_inv([alpha], p) ]]
-[[quantile from the complement][Using the relation: x = [alpha][space]/ __gamma_p_inv([alpha], q) ]]
-[[mode][[beta] / ([alpha] + 1) ]]
-[[median][no analytic equation is known, but is evaluated as quantile(0.5)]]
-[[mean][[beta] / ([alpha] - 1) for [alpha] > 1, else a __domain_error]]
-[[variance][([beta] * [beta]) / (([alpha] - 1) * ([alpha] - 1) * ([alpha] - 2)) for [alpha] >2, else a __domain_error]]
-[[skewness][4 * sqrt ([alpha] -2) / ([alpha] -3) for [alpha] >3, else a __domain_error]]
-[[kurtosis_excess][(30 * [alpha] - 66) / (([alpha]-3)*([alpha] - 4)) for [alpha] >4, else a __domain_error]]
-] [/table]
-
-[endsect][/section:inverse_gamma_dist Inverse Gamma Distribution]
-
-[/
- Copyright 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/inverse_gaussian.qbk b/libs/math/doc/sf_and_dist/distributions/inverse_gaussian.qbk
deleted file mode 100644
index 4d41eadd30..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/inverse_gaussian.qbk
+++ /dev/null
@@ -1,171 +0,0 @@
-[section:inverse_gaussian_dist Inverse Gaussian (or Inverse Normal) Distribution]
-
-``#include <boost/math/distributions/inverse_gaussian.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class inverse_gaussian_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- inverse_gaussian_distribution(RealType mean = 1, RealType scale = 1);
-
- RealType mean()const; // mean default 1.
- RealType scale()const; // Optional scale, default 1 (unscaled).
- RealType shape()const; // Shape = scale/mean.
- };
- typedef inverse_gaussian_distribution<double> inverse_gaussian;
-
- }} // namespace boost // namespace math
-
-The Inverse Gaussian distribution distribution is a continuous probability distribution.
-
-The distribution is also called 'normal-inverse Gaussian distribution',
-and 'normal Inverse' distribution.
-
-It is also convenient to provide unity as default for both mean and scale.
-This is the Standard form for all distributions.
-The Inverse Gaussian distribution was first studied in relation to Brownian motion.
-In 1956 M.C.K. Tweedie used the name Inverse Gaussian because there is an inverse relationship
-between the time to cover a unit distance and distance covered in unit time.
-The inverse Gaussian is one of family of distributions that have been called the
-[@http://en.wikipedia.org/wiki/Tweedie_distributions Tweedie distributions].
-
-(So ['inverse] in the name may mislead: it does [*not] relate to the inverse of a distribution).
-
-The tails of the distribution decrease more slowly than the normal distribution.
-It is therefore suitable to model phenomena
-where numerically large values are more probable than is the case for the normal distribution.
-For stock market returns and prices, a key characteristic is that it models
-that extremely large variations from typical (crashes) can occur
-even when almost all (normal) variations are small.
-
-Examples are returns from financial assets and turbulent wind speeds.
-
-The normal-inverse Gaussian distributions form
-a subclass of the generalised hyperbolic distributions.
-
-See
-[@http://en.wikipedia.org/wiki/Normal-inverse_Gaussian_distribution distribution].
-[@http://mathworld.wolfram.com/InverseGaussianDistribution.html
- Weisstein, Eric W. "Inverse Gaussian Distribution." From MathWorld--A Wolfram Web Resource.]
-
-If you want a `double` precision inverse_gaussian distribution you can use
-
-``boost::math::inverse_gaussian_distribution<>``
-
-or, more conveniently, you can write
-
- using boost::math::inverse_gaussian;
- inverse_gaussian my_ig(2, 3);
-
-For mean parameters [mu] and scale (also called precision) parameter [lambda],
-and random variate x,
-the inverse_gaussian distribution is defined by the probability density function (PDF):
-
-__spaces f(x;[mu], [lambda]) = [sqrt]([lambda]/2[pi]x[super 3]) e[super -[lambda](x-[mu])[sup2]/2[mu][sup2]x]
-
-and Cumulative Density Function (CDF):
-
-__spaces F(x;[mu], [lambda]) = [Phi]{[sqrt]([lambda]/x) (x/[mu]-1)} + e[super 2[mu]/[lambda]] [Phi]{-[sqrt]([lambda]/[mu]) (1+x/[mu])}
-
-where [Phi] is the standard normal distribution CDF.
-
-The following graphs illustrate how the PDF and CDF of the inverse_gaussian distribution
-varies for a few values of parameters [mu] and [lambda]:
-
-[graph inverse_gaussian_pdf] [/.png or .svg]
-
-[graph inverse_gaussian_cdf]
-
-Tweedie also provided 3 other parameterisations where ([mu] and [lambda])
-are replaced by their ratio [phi] = [lambda]/[mu] and by 1/[mu]:
-these forms may be more suitable for Bayesian applications.
-These can be found on Seshadri, page 2 and are also discussed by Chhikara and Folks on page 105.
-Another related parameterisation, the __wald_distrib (where mean [mu] is unity) is also provided.
-
-[h4 Member Functions]
-
- inverse_gaussian_distribution(RealType df = 1, RealType scale = 1); // optionally scaled.
-
-Constructs an inverse_gaussian distribution with [mu] mean,
-and scale [lambda], with both default values 1.
-
-Requires that both the mean [mu] parameter and scale [lambda] are greater than zero,
-otherwise calls __domain_error.
-
- RealType mean()const;
-
-Returns the mean [mu] parameter of this distribution.
-
- RealType scale()const;
-
-Returns the scale [lambda] parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variate is \[0,+[infin]).
-[note Unlike some definitions, this implementation supports a random variate
-equal to zero as a special case, returning zero for both pdf and cdf.]
-
-[h4 Accuracy]
-
-The inverse_gaussian distribution is implemented in terms of the
-exponential function and standard normal distribution ['N]0,1 [Phi] :
-refer to the accuracy data for those functions for more information.
-But in general, gamma (and thus inverse gamma) results are often accurate to a few epsilon,
->14 decimal digits accuracy for 64-bit double.
-
-[h4 Implementation]
-
-In the following table [mu] is the mean parameter and
-[lambda] is the scale parameter of the inverse_gaussian distribution,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/ its complement.
-Parameters [mu] for shape and [lambda] for scale
-are used for the inverse gaussian function.
-
-[table
-[[Function] [Implementation Notes] ]
-[[pdf] [ [sqrt]([lambda]/ 2[pi]x[super 3]) e[super -[lambda](x - [mu])[sup2]/ 2[mu][sup2]x]]]
-[[cdf][ [Phi]{[sqrt]([lambda]/x) (x/[mu]-1)} + e[super 2[mu]/[lambda]] [Phi]{-[sqrt]([lambda]/[mu]) (1+x/[mu])} ]]
-[[cdf complement] [using complement of [Phi] above.] ]
-[[quantile][No closed form known. Estimated using a guess refined by Newton-Raphson iteration.]]
-[[quantile from the complement][No closed form known. Estimated using a guess refined by Newton-Raphson iteration.]]
-[[mode][[mu] {[sqrt](1+9[mu][sup2]/4[lambda][sup2])[sup2] - 3[mu]/2[lambda]} ]]
-[[median][No closed form analytic equation is known, but is evaluated as quantile(0.5)]]
-[[mean][[mu]] ]
-[[variance][[mu][cubed]/[lambda]] ]
-[[skewness][3 [sqrt] ([mu]/[lambda])] ]
-[[kurtosis_excess][15[mu]/[lambda]] ]
-[[kurtosis][12[mu]/[lambda]] ]
-] [/table]
-
-[h4 References]
-
-#Wald, A. (1947). Sequential analysis. Wiley, NY.
-#The Inverse Gaussian distribution : theory, methodology, and applications, Raj S. Chhikara, J. Leroy Folks. ISBN 0824779975 (1989).
-#The Inverse Gaussian distribution : statistical theory and applications, Seshadri, V , ISBN - 0387986189 (pbk) (Dewey 519.2) (1998).
-#[@http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.wald.html Numpy and Scipy Documentation].
-#[@http://bm2.genes.nig.ac.jp/RGM2/R_current/library/statmod/man/invgauss.html R statmod invgauss functions].
-#[@http://cran.r-project.org/web/packages/SuppDists/index.html R SuppDists invGauss functions].
-(Note that these R implementations names differ in case).
-#[@http://www.statsci.org/s/invgauss.html StatSci.org invgauss help].
-#[@http://www.statsci.org/s/invgauss.statSci.org invgauss R source].
-#[@http://www.biostat.wustl.edu/archives/html/s-news/2001-12/msg00144.html pwald, qwald].
-#[@http://www.brighton-webs.co.uk/distributions/wald.asp Brighton Webs wald].
-
-[endsect] [/section:inverse_gaussian_dist Inverse Gaussiann Distribution]
-
-[/
- Copyright 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-] \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/distributions/laplace.qbk b/libs/math/doc/sf_and_dist/distributions/laplace.qbk
deleted file mode 100644
index 6f54d63848..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/laplace.qbk
+++ /dev/null
@@ -1,142 +0,0 @@
-[section:laplace_dist Laplace Distribution]
-
-``#include <boost/math/distributions/laplace.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class laplace_distribution;
-
- typedef laplace_distribution<> laplace;
-
- template <class RealType, class ``__Policy``>
- class laplace_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- laplace_distribution(RealType location = 0, RealType scale = 1);
- // Accessors:
- RealType location()const;
- RealType scale()const;
- };
-
- }} // namespaces
-
-Laplace distribution is the distribution of differences between two independent variates
-with identical exponential distributions (Abramowitz and Stegun 1972, p. 930).
-It is also called the double exponential distribution.
-
-[/ Wikipedia definition is The difference between two independent identically distributed
-exponential random variables is governed by a Laplace distribution.]
-
-For location parameter [mu][space] and scale parameter [sigma][space] it is defined by the
-probability density function:
-
-[equation laplace_pdf]
-
-The location and scale parameters are equivalent to the mean and
-standard deviation of the normal or Gaussian distribution.
-
-The following graph illustrates the effect of the
-parameters [mu][space] and [sigma][space] on the PDF.
-Note that the range of the random
-variable remains \[-[infin],+[infin]\] irrespective of the value of the
-location parameter:
-
-[graph laplace_pdf]
-
-[h4 Member Functions]
-
- laplace_distribution(RealType location = 0, RealType scale = 1);
-
-Constructs a laplace distribution with location /location/ and
-scale /scale/.
-
-The location parameter is the same as the mean of the random variate.
-
-The scale parameter is proportional to the standard deviation of the random variate.
-
-Requires that the scale parameter is greater than zero, otherwise calls
-__domain_error.
-
- RealType location()const;
-
-Returns the /location/ parameter of this distribution.
-
- RealType scale()const;
-
-Returns the /scale/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[-[infin],+[infin]\].
-
-[h4 Accuracy]
-
-The laplace distribution is implemented in terms of the
-standard library log and exp functions and as such should have very small errors.
-
-[h4 Implementation]
-
-In the following table [mu] is the location parameter of the distribution,
-[sigma] is its scale parameter, /x/ is the random variate, /p/ is the probability
-and its complement /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = e[super -abs(x-[mu]) \/ [sigma]] \/ (2 * [sigma]) ]]
-[[cdf][Using the relations:
-
-x < [mu] : p = e[super (x-[mu])/[sigma] ] \/ [sigma]
-
-x >= [mu] : p = 1 - e[super ([mu]-x)/[sigma] ] \/ [sigma]
-]]
-[[cdf complement][Using the relation:
-
--x < [mu] : q = e[super (-x-[mu])/[sigma] ] \/ [sigma]
-
--x >= [mu] : q = 1 - e[super ([mu]+x)/[sigma] ] \/ [sigma]
-]]
-[[quantile][Using the relations:
-
-p < 0.5 : x = [mu] + [sigma] * log(2*p)
-
-p >= 0.5 : x = [mu] - [sigma] * log(2-2*p)
-]]
-[[quantile from the complement][Using the relation:
-
-q > 0.5: x = [mu] + [sigma]*log(2-2*q)
-
-q <=0.5: x = [mu] - [sigma]*log( 2*q )
-]]
-[[mean][[mu]]]
-[[variance][2 * [sigma][super 2] ]]
-[[mode][[mu]]]
-[[skewness][0]]
-[[kurtosis][6]]
-[[kurtosis excess][3]]
-]
-
-[h4 References]
-
-* [@http://mathworld.wolfram.com/LaplaceDistribution.html Weisstein, Eric W. "Laplace Distribution."] From MathWorld--A Wolfram Web Resource.
-
-* [@http://en.wikipedia.org/wiki/Laplace_distribution Laplace Distribution]
-
-* M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, 1972, p. 930.
-
-[endsect][/section:laplace_dist laplace]
-
-[/
- Copyright 2008, 2009 John Maddock, Paul A. Bristow and M.A. (Thijs) van den Berg.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/logistic.qbk b/libs/math/doc/sf_and_dist/distributions/logistic.qbk
deleted file mode 100644
index e73343b35b..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/logistic.qbk
+++ /dev/null
@@ -1,103 +0,0 @@
-[section:logistic_dist Logistic Distribution]
-
-``#include <boost/math/distributions/logistic.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class logistic_distribution;
-
- template <class RealType, class Policy>
- class logistic_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- logistic_distribution(RealType location = 0, RealType scale = 1);
- // Accessors:
- RealType location()const; // location.
- RealType scale()const; // scale.
-
- };
-
- typedef logistic_distribution<> logistic;
-
- }} // namespaces
-
-The logistic distribution is a continous probability distribution.
-It has two parameters - location and scale. The cumulative distribution
-function of the logistic distribution appears in logistic regression
-and feedforward neural networks. Among other applications,
-United State Chess Federation and FIDE use it to calculate chess ratings.
-
-The following graph shows how the distribution changes as the
-parameters change:
-
-[graph logistic_pdf]
-
-[h4 Member Functions]
-
- logistic_distribution(RealType u = 0, RealType s = 1);
-
-Constructs a logistic distribution with location /u/ and scale /s/.
-
-Requires `scale > 0`, otherwise a __domain_error is raised.
-
- RealType location()const;
-
-Returns the location of this distribution.
-
- RealType scale()const;
-
-Returns the scale of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[-\[max_value\], +\[min_value\]\].
-However, the pdf and cdf support inputs of +[infin] and -[infin]
-as special cases if RealType permits.
-
-At `p=1` and `p=0`, the quantile function returns the result of
-+__overflow_error and -__overflow_error, while the complement
-quantile function returns the result of -__overflow_error and
-+__overflow_error respectively.
-
-[h4 Accuracy]
-
-The logistic distribution is implemented in terms of the `std::exp`
-and the `std::log` functions, so its accuracy is related to the
-accurate implementations of those functions on a given platform.
-When calculating the quantile with a non-zero /position/ parameter
-catastrophic cancellation errors can occur:
-in such cases, only a low /absolute error/ can be guarenteed.
-
-[h4 Implementation]
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = e[super -(x-u)/s] / (s*(1+e[super -(x-u)/s])[super 2])]]
-[[cdf][Using the relation: p = 1/(1+e[super -(x-u)/s])]]
-[[cdf complement][Using the relation: q = 1/(1+e[super (x-u)/s])]]
-[[quantile][Using the relation: x = u - s*log(1/p-1)]]
-[[quantile from the complement][Using the relation: x = u + s*log(p/1-p)]]
-[[mean][u]]
-[[mode][The same as the mean.]]
-[[skewness][0]]
-[[kurtosis excess][6/5]]
-[[variance][ ([pi]*s)[super 2] / 3]]
-]
-
-[endsect]
-
-[/ logistic.qbk
- Copyright 2006, 2007 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/lognormal.qbk b/libs/math/doc/sf_and_dist/distributions/lognormal.qbk
deleted file mode 100644
index 0302889ee2..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/lognormal.qbk
+++ /dev/null
@@ -1,119 +0,0 @@
-[section:lognormal_dist Log Normal Distribution]
-
-``#include <boost/math/distributions/lognormal.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class lognormal_distribution;
-
- typedef lognormal_distribution<> lognormal;
-
- template <class RealType, class ``__Policy``>
- class lognormal_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- lognormal_distribution(RealType location = 0, RealType scale = 1);
- // Accessors:
- RealType location()const;
- RealType scale()const;
- };
-
- }} // namespaces
-
-The lognormal distribution is the distribution that arises
-when the logarithm of the random variable is normally distributed.
-A lognormal distribution results when the variable is the product
-of a large number of independent, identically-distributed variables.
-
-For location and scale parameters /m/ and /s/ it is defined by the
-probability density function:
-
-[equation lognormal_ref]
-
-The location and scale parameters are equivalent to the mean and
-standard deviation of the logarithm of the random variable.
-
-The following graph illustrates the effect of the location
-parameter on the PDF, note that the range of the random
-variable remains \[0,+[infin]\] irrespective of the value of the
-location parameter:
-
-[graph lognormal_pdf1]
-
-The next graph illustrates the effect of the scale parameter on the PDF:
-
-[graph lognormal_pdf2]
-
-[h4 Member Functions]
-
- lognormal_distribution(RealType location = 0, RealType scale = 1);
-
-Constructs a lognormal distribution with location /location/ and
-scale /scale/.
-
-The location parameter is the same as the mean of the logarithm of the
-random variate.
-
-The scale parameter is the same as the standard deviation of the
-logarithm of the random variate.
-
-Requires that the scale parameter is greater than zero, otherwise calls
-__domain_error.
-
- RealType location()const;
-
-Returns the /location/ parameter of this distribution.
-
- RealType scale()const;
-
-Returns the /scale/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0,+[infin]\].
-
-[h4 Accuracy]
-
-The lognormal distribution is implemented in terms of the
-standard library log and exp functions, plus the
-[link math_toolkit.special.sf_erf.error_function error function],
-and as such should have very low error rates.
-
-[h4 Implementation]
-
-In the following table /m/ is the location parameter of the distribution,
-/s/ is its scale parameter, /x/ is the random variate, /p/ is the probability
-and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = e[super -(ln(x) - m)[super 2 ] \/ 2s[super 2 ] ] \/ (x * s * sqrt(2pi)) ]]
-[[cdf][Using the relation: p = cdf(normal_distribtion<RealType>(m, s), log(x)) ]]
-[[cdf complement][Using the relation: q = cdf(complement(normal_distribtion<RealType>(m, s), log(x))) ]]
-[[quantile][Using the relation: x = exp(quantile(normal_distribtion<RealType>(m, s), p))]]
-[[quantile from the complement][Using the relation: x = exp(quantile(complement(normal_distribtion<RealType>(m, s), q)))]]
-[[mean][e[super m + s[super 2 ] / 2 ] ]]
-[[variance][(e[super s[super 2] ] - 1) * e[super 2m + s[super 2 ] ] ]]
-[[mode][e[super m + s[super 2 ] ] ]]
-[[skewness][sqrt(e[super s[super 2] ] - 1) * (2 + e[super s[super 2] ]) ]]
-[[kurtosis][e[super 4s[super 2] ] + 2e[super 3s[super 2] ] + 3e[super 2s[super 2] ] - 3]]
-[[kurtosis excess][e[super 4s[super 2] ] + 2e[super 3s[super 2] ] + 3e[super 2s[super 2] ] - 6 ]]
-]
-
-[endsect][/section:normal_dist Normal]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/nag_library.qbk b/libs/math/doc/sf_and_dist/distributions/nag_library.qbk
deleted file mode 100644
index b0377871b4..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/nag_library.qbk
+++ /dev/null
@@ -1,60 +0,0 @@
-[section:nag_library Comparison with C, R, FORTRAN-style Free Functions]
-
-You are probably familiar with a statistics library that has free functions,
-for example the classic [@http://nag.com/numeric/CL/CLdescription.asp NAG C library]
-and matching [@http://nag.com/numeric/FL/FLdescription.asp NAG FORTRAN Library],
-[@http://office.microsoft.com/en-us/excel/HP052090051033.aspx Microsoft Excel BINOMDIST(number_s,trials,probability_s,cumulative)],
-[@http://www.r-project.org/ R], [@http://www.ptc.com/products/mathcad/mathcad14/mathcad_func_chart.htm MathCAD pbinom]
-and many others.
-
-If so, you may find 'Distributions as Objects' unfamiliar, if not alien.
-
-However, *do not panic*, both definition and usage are not really very different.
-
-A very simple example of generating the same values as the
-[@http://nag.com/numeric/CL/CLdescription.asp NAG C library]
-for the binomial distribution follows.
-(If you find slightly different values, the Boost C++ version, using double or better,
-is very likely to be the more accurate.
-Of course, accuracy is not usually a concern for most applications of this function).
-
-The [@http://www.nag.co.uk/numeric/cl/manual/pdf/G01/g01bjc.pdf NAG function specification] is
-
- void nag_binomial_dist(Integer n, double p, Integer k,
- double *plek, double *pgtk, double *peqk, NagError *fail)
-
-and is called
-
- g01bjc(n, p, k, &plek, &pgtk, &peqk, NAGERR_DEFAULT);
-
-The equivalent using this Boost C++ library is:
-
- using namespace boost::math; // Using declaration avoids very long names.
- binomial my_dist(4, 0.5); // c.f. NAG n = 4, p = 0.5
-
-and values can be output thus:
-
- cout
- << my_dist.trials() << " " // Echo the NAG input n = 4 trials.
- << my_dist.success_fraction() << " " // Echo the NAG input p = 0.5
- << cdf(my_dist, 2) << " " // NAG plek with k = 2
- << cdf(complement(my_dist, 2)) << " " // NAG pgtk with k = 2
- << pdf(my_dist, 2) << endl; // NAG peqk with k = 2
-
-`cdf(dist, k)` is equivalent to NAG library `plek`, lower tail probability of <= k
-
-`cdf(complement(dist, k))` is equivalent to NAG library `pgtk`, upper tail probability of > k
-
-`pdf(dist, k)` is equivalent to NAG library `peqk`, point probability of == k
-
-See [@../../../example/binomial_example_nag.cpp binomial_example_nag.cpp] for details.
-
-[endsect] [/section:nag_library Comparison with C, R, FORTRAN-style Free Functions]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/nc_beta.qbk b/libs/math/doc/sf_and_dist/distributions/nc_beta.qbk
deleted file mode 100644
index ef2f645d80..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/nc_beta.qbk
+++ /dev/null
@@ -1,213 +0,0 @@
-[section:nc_beta_dist Noncentral Beta Distribution]
-
-``#include <boost/math/distributions/non_central_beta.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class non_central_beta_distribution;
-
- typedef non_central_beta_distribution<> non_central_beta;
-
- template <class RealType, class ``__Policy``>
- class non_central_beta_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- // Constructor:
- non_central_beta_distribution(RealType alpha, RealType beta, RealType lambda);
-
- // Accessor to shape parameters:
- RealType alpha()const;
- RealType beta()const;
-
- // Accessor to non-centrality parameter lambda:
- RealType non_centrality()const;
- };
-
- }} // namespaces
-
-The noncentral beta distribution is a generalization of the __beta_distrib.
-
-It is defined as the ratio
-X = [chi][sub m][super 2]([lambda]) \/ ([chi][sub m][super 2]([lambda])
-+ [chi][sub n][super 2])
-where [chi][sub m][super 2]([lambda]) is a noncentral [chi][super 2]
-random variable with /m/ degrees of freedom, and [chi][sub n][super 2]
-is a central [chi][super 2] random variable with /n/ degrees of freedom.
-
-This gives a PDF that can be expressed as a Poisson mixture
-of beta distribution PDFs:
-
-[equation nc_beta_ref1]
-
-where P(i;[lambda]\/2) is the discrete Poisson probablity at /i/, with mean
-[lambda]\/2, and I[sub x][super ']([alpha], [beta]) is the derivative of
-the incomplete beta function. This leads to the usual form of the CDF
-as:
-
-[equation nc_beta_ref2]
-
-The following graph illustrates how the distribution changes
-for different values of [lambda]:
-
-[graph nc_beta_pdf]
-
-[h4 Member Functions]
-
- non_central_beta_distribution(RealType a, RealType b, RealType lambda);
-
-Constructs a noncentral beta distribution with shape parameters /a/ and /b/
-and non-centrality parameter /lambda/.
-
-Requires a > 0, b > 0 and lambda >= 0, otherwise calls __domain_error.
-
- RealType alpha()const;
-
-Returns the parameter /a/ from which this object was constructed.
-
- RealType beta()const;
-
-Returns the parameter /b/ from which this object was constructed.
-
- RealType non_centrality()const;
-
-Returns the parameter /lambda/ from which this object was constructed.
-
-[h4 Non-member Accessors]
-
-Most of the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-are supported: __cdf, __pdf, __quantile, __mean, __variance, __sd,
-__median, __mode, __hazard, __chf, __range and __support.
-
-Mean and variance are implemented using hypergeometric pfq functions and relations given in
-[@http://reference.wolfram.com/mathematica/ref/NoncentralBetaDistribution.html Wolfram Noncentral Beta Distribution].
-
-However, the following are not currently implemented:
- __skewness, __kurtosis and __kurtosis_excess.
-
-The domain of the random variable is \[0, 1\].
-
-[h4 Accuracy]
-
-The following table shows the peak errors
-(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
-found on various platforms with various floating point types.
-No comparison to the [@http://www.r-project.org/ R-2.5.1 Math library],
-or to the FORTRAN implementations of AS226 or AS310 are given since these appear
-to only guarantee absolute error: this would causes our test harness
-to assign an /"infinite"/ error to these libraries for some of our
-test values when measuring /relative error/.
-Unless otherwise specified any floating-point type that is narrower
-than the one shown will have __zero_error.
-
-[table Errors In CDF of the Noncentral Beta
-[[Significand Size] [Platform and Compiler] [[alpha], [beta],[lambda] < 200] [[alpha],[beta],[lambda] > 200]]
-[[53] [Win32, Visual C++ 8] [Peak=620 Mean=22] [Peak=8670 Mean=1040]]
-[[64] [RedHat Linux IA32, gcc-4.1.1] [Peak=825 Mean=50] [Peak=2.5x10[super 4] Mean=4000]]
-
-[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=825 Mean=30] [Peak=1.7x10[super 4] Mean=2500]]
-
-[[113] [HPUX IA64, aCC A.06.06] [Peak=420 Mean=50] [Peak=9200 Mean=1200]]
-]
-
-Error rates for the PDF, the complement of the CDF and for the quantile
-functions are broadly similar.
-
-[h4 Tests]
-
-There are two sets of test data used to verify this implementation:
-firstly we can compare with a few sample values generated by the
-[@http://www.r-project.org/ R library].
-Secondly, we have tables of test data, computed with this
-implementation and using interval arithmetic - this data should
-be accurate to at least 50 decimal digits - and is the used for
-our accuracy tests.
-
-[h4 Implementation]
-
-The CDF and its complement are evaluated as follows:
-
-First we determine which of the two values (the CDF or its
-complement) is likely to be the smaller, the crossover point
-is taken to be the mean of the distribution: for this we use the
-approximation due to: R. Chattamvelli and R. Shanmugam,
-"Algorithm AS 310: Computing the Non-Central Beta Distribution Function",
-Applied Statistics, Vol. 46, No. 1. (1997), pp. 146-156.
-
-[equation nc_beta_ref3]
-
-Then either the CDF or its complement is computed using the
-relations:
-
-[equation nc_beta_ref4]
-
-The summation is performed by starting at i = [lambda]/2, and then recursing
-in both directions, using the usual recurrence relations for the Poisson
-PDF and incomplete beta functions. This is the "Method 2" described
-by:
-
-Denise Benton and K. Krishnamoorthy,
-"Computing discrete mixtures of continuous
-distributions: noncentral chisquare, noncentral t
-and the distribution of the square of the sample
-multiple correlation coefficient",
-Computational Statistics & Data Analysis 43 (2003) 249-267.
-
-Specific applications of the above formulae to the noncentral
-beta distribution can be found in:
-
-Russell V. Lenth,
-"Algorithm AS 226: Computing Noncentral Beta Probabilities",
-Applied Statistics, Vol. 36, No. 2. (1987), pp. 241-244.
-
-H. Frick,
-"Algorithm AS R84: A Remark on Algorithm AS 226: Computing Non-Central Beta
-Probabilities", Applied Statistics, Vol. 39, No. 2. (1990), pp. 311-312.
-
-Ming Long Lam,
-"Remark AS R95: A Remark on Algorithm AS 226: Computing Non-Central Beta
-Probabilities", Applied Statistics, Vol. 44, No. 4. (1995), pp. 551-552.
-
-Harry O. Posten,
-"An Effective Algorithm for the Noncentral Beta Distribution Function",
-The American Statistician, Vol. 47, No. 2. (May, 1993), pp. 129-131.
-
-R. Chattamvelli,
-"A Note on the Noncentral Beta Distribution Function",
-The American Statistician, Vol. 49, No. 2. (May, 1995), pp. 231-234.
-
-Of these, the Posten reference provides the most complete overview,
-and includes the modification starting iteration at [lambda]/2.
-
-The main difference between this implementation and the above
-references is the direct computation of the complement when most
-efficient to do so, and the accumulation of the sum to -1 rather
-than subtracting the result from 1 at the end: this can substantially
-reduce the number of iterations required when the result is near 1.
-
-The PDF is computed using the methodology of Benton and Krishnamoorthy
-and the relation:
-
-[equation nc_beta_ref1]
-
-Quantiles are computed using a specially modified version of
-[link math_toolkit.toolkit.internals1.roots2 bracket_and_solve_root],
-starting the search for the root at the mean of the distribution.
-(A Cornish-Fisher type expansion was also tried, but while this gets
-quite close to the root in many cases, when it is wrong it tends to
-introduce quite pathological behaviour: more investigation in this
-area is probably warranted).
-
-[endsect][/section:nc_beta_dist]
-
-[/ nc_beta.qbk
- Copyright 2008 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/nc_chi_squared.qbk b/libs/math/doc/sf_and_dist/distributions/nc_chi_squared.qbk
deleted file mode 100644
index c83f84d1a8..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/nc_chi_squared.qbk
+++ /dev/null
@@ -1,280 +0,0 @@
-[section:nc_chi_squared_dist Noncentral Chi-Squared Distribution]
-
-``#include <boost/math/distributions/non_central_chi_squared.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class non_central_chi_squared_distribution;
-
- typedef non_central_chi_squared_distribution<> non_central_chi_squared;
-
- template <class RealType, class ``__Policy``>
- class non_central_chi_squared_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- // Constructor:
- non_central_chi_squared_distribution(RealType v, RealType lambda);
-
- // Accessor to degrees of freedom parameter v:
- RealType degrees_of_freedom()const;
-
- // Accessor to non centrality parameter lambda:
- RealType non_centrality()const;
-
- // Parameter finders:
- static RealType find_degrees_of_freedom(RealType lambda, RealType x, RealType p);
- template <class A, class B, class C>
- static RealType find_degrees_of_freedom(const complemented3_type<A,B,C>& c);
-
- static RealType find_non_centrality(RealType v, RealType x, RealType p);
- template <class A, class B, class C>
- static RealType find_non_centrality(const complemented3_type<A,B,C>& c);
- };
-
- }} // namespaces
-
-The noncentral chi-squared distribution is a generalization of the
-__chi_squared_distrib. If X[sub i] are [nu] independent, normally
-distributed random variables with means [mu][sub i] and variances
-[sigma][sub i][super 2], then the random variable
-
-[equation nc_chi_squ_ref1]
-
-is distributed according to the noncentral chi-squared distribution.
-
-The noncentral chi-squared distribution has two parameters:
-[nu] which specifies the number of degrees of freedom
-(i.e. the number of X[sub i]), and [lambda] which is related to the
-mean of the random variables X[sub i] by:
-
-[equation nc_chi_squ_ref2]
-
-(Note that some references define [lambda] as one half of the above sum).
-
-This leads to a PDF of:
-
-[equation nc_chi_squ_ref3]
-
-where ['f(x;k)] is the central chi-squared distribution PDF, and
-['I[sub v](x)] is a modified Bessel function of the first kind.
-
-The following graph illustrates how the distribution changes
-for different values of [lambda]:
-
-[graph nccs_pdf]
-
-[h4 Member Functions]
-
- non_central_chi_squared_distribution(RealType v, RealType lambda);
-
-Constructs a Chi-Squared distribution with /v/ degrees of freedom
-and non-centrality parameter /lambda/.
-
-Requires v > 0 and lambda >= 0, otherwise calls __domain_error.
-
- RealType degrees_of_freedom()const;
-
-Returns the parameter /v/ from which this object was constructed.
-
- RealType non_centrality()const;
-
-Returns the parameter /lambda/ from which this object was constructed.
-
-
- static RealType find_degrees_of_freedom(RealType lambda, RealType x, RealType p);
-
-This function returns the number of degrees of freedom /v/ such that:
-`cdf(non_central_chi_squared<RealType, Policy>(v, lambda), x) == p`
-
- template <class A, class B, class C>
- static RealType find_degrees_of_freedom(const complemented3_type<A,B,C>& c);
-
-When called with argument `boost::math::complement(lambda, x, q)`
-this function returns the number of degrees of freedom /v/ such that:
-
-`cdf(complement(non_central_chi_squared<RealType, Policy>(v, lambda), x)) == q`.
-
- static RealType find_non_centrality(RealType v, RealType x, RealType p);
-
-This function returns the non centrality parameter /lambda/ such that:
-
-`cdf(non_central_chi_squared<RealType, Policy>(v, lambda), x) == p`
-
- template <class A, class B, class C>
- static RealType find_non_centrality(const complemented3_type<A,B,C>& c);
-
-When called with argument `boost::math::complement(v, x, q)`
-this function returns the non centrality parameter /lambda/ such that:
-
-`cdf(complement(non_central_chi_squared<RealType, Policy>(v, lambda), x)) == q`.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0, +[infin]\].
-
-[h4 Examples]
-
-There is a
-[link math_toolkit.dist.stat_tut.weg.nccs_eg worked example]
-for the noncentral chi-squared distribution.
-
-[h4 Accuracy]
-
-The following table shows the peak errors
-(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
-found on various platforms with various floating-point types,
-along with comparisons to the [@http://www.r-project.org/ R-2.5.1 Math library].
-Unless otherwise specified, any floating-point type that is narrower
-than the one shown will have __zero_error.
-
-[table Errors In CDF of the Noncentral Chi-Squared
-[[Significand Size] [Platform and Compiler] [[nu],[lambda] < 200] [[nu],[lambda] > 200]]
-[[53] [Win32, Visual C++ 8] [Peak=50 Mean=9.9
-
-R Peak=685 Mean=109
-] [Peak=9780 Mean=718
-
-R Peak=3x10[super 8] Mean=2x10[super 7] ] ]
-[[64] [RedHat Linux IA32, gcc-4.1.1] [Peak=270 Mean=27] [Peak=7900 Mean=900]]
-
-[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=107 Mean=17] [Peak=5000 Mean=630]]
-
-[[113] [HPUX IA64, aCC A.06.06] [Peak=270 Mean=20] [Peak=4600 Mean=560]]
-]
-
-Error rates for the complement of the CDF and for the quantile
-functions are broadly similar. Special mention should go to
-the `mode` function: there is no closed form for this function,
-so it is evaluated numerically by finding the maxima of the PDF:
-in principal this can not produce an accuracy greater than the
-square root of the machine epsilon.
-
-[h4 Tests]
-
-There are two sets of test data used to verify this implementation:
-firstly we can compare with published data, for example with
-Table 6 of "Self-Validating Computations of Probabilities for
-Selected Central and Noncentral Univariate Probability Functions",
-Morgan C. Wang and William J. Kennedy,
-Journal of the American Statistical Association,
-Vol. 89, No. 427. (Sep., 1994), pp. 878-887.
-Secondly, we have tables of test data, computed with this
-implementation and using interval arithmetic - this data should
-be accurate to at least 50 decimal digits - and is the used for
-our accuracy tests.
-
-[h4 Implementation]
-
-The CDF and its complement are evaluated as follows:
-
-First we determine which of the two values (the CDF or its
-complement) is likely to be the smaller: for this we can use the
-relation due to Temme (see "Asymptotic and Numerical Aspects of the
-Noncentral Chi-Square Distribution", N. M. Temme, Computers Math. Applic.
-Vol 25, No. 5, 55-63, 1993) that:
-
-F([nu],[lambda];[nu]+[lambda]) [asymp] 0.5
-
-and so compute the CDF when the random variable is less than
-[nu]+[lambda], and its complement when the random variable is
-greater than [nu]+[lambda]. If necessary the computed result
-is then subtracted from 1 to give the desired result (the CDF or its
-complement).
-
-For small values of the non centrality parameter, the CDF is computed
-using the method of Ding (see "Algorithm AS 275: Computing the Non-Central
-#2 Distribution Function", Cherng G. Ding, Applied Statistics, Vol. 41,
-No. 2. (1992), pp. 478-482). This uses the following series representation:
-
-[equation nc_chi_squ_ref4]
-
-which requires just one call to __gamma_p_derivative with the subsequent
-terms being computed by recursion as shown above.
-
-For larger values of the non-centrality parameter, Ding's method can take
-an unreasonable number of terms before convergence is achieved. Furthermore,
-the largest term is not the first term, so in extreme cases the first term may
-be zero, leading to a zero result, even though the true value may be non-zero.
-
-Therefore, when the non-centrality parameter is greater than 200, the method due
-to Krishnamoorthy (see "Computing discrete mixtures of continuous distributions:
-noncentral chisquare, noncentral t and the distribution of the
-square of the sample multiple correlation coefficient",
-Denise Benton and K. Krishnamoorthy, Computational Statistics &
-Data Analysis, 43, (2003), 249-267) is used.
-
-This method uses the well known sum:
-
-[equation nc_chi_squ_ref5]
-
-Where P[sub a](x) is the incomplete gamma function.
-
-The method starts at the [lambda]th term, which is where the Poisson weighting
-function achieves its maximum value, although this is not necessarily
-the largest overall term. Subsequent terms are calculated via the normal
-recurrence relations for the incomplete gamma function, and iteration proceeds
-both forwards and backwards until sufficient precision has been achieved. It
-should be noted that recurrence in the forwards direction of P[sub a](x) is
-numerically unstable. However, since we always start /after/ the largest
-term in the series, numeric instability is introduced more slowly than the
-series converges.
-
-Computation of the complement of the CDF uses an extension of Krishnamoorthy's
-method, given that:
-
-[equation nc_chi_squ_ref6]
-
-we can again start at the [lambda]'th term and proceed in both directions from
-there until the required precision is achieved. This time it is backwards
-recursion on the incomplete gamma function Q[sub a](x) which is unstable.
-However, as long as we start well /before/ the largest term, this is not an
-issue in practice.
-
-The PDF is computed directly using the relation:
-
-[equation nc_chi_squ_ref3]
-
-Where ['f(x; v)] is the PDF of the central __chi_squared_distrib and
-['I[sub v](x)] is a modified Bessel function, see __cyl_bessel_i.
-For small values of the
-non-centrality parameter the relation in terms of __cyl_bessel_i
-is used. However, this method fails for large values of the
-non-centrality parameter, so in that case the infinite sum is
-evaluated using the method of Benton and Krishnamoorthy, and
-the usual recurrence relations for successive terms.
-
-The quantile functions are computed by numeric inversion of the CDF.
-
-There is no [@http://en.wikipedia.org/wiki/Closed_form closed form]
-for the mode of the noncentral chi-squared
-distribution: it is computed numerically by finding the maximum
-of the PDF. Likewise, the median is computed numerically via
-the quantile.
-
-The remaining non-member functions use the following formulas:
-
-[equation nc_chi_squ_ref7]
-
-Some analytic properties of noncentral distributions
-(particularly unimodality, and monotonicity of their modes)
-are surveyed and summarized by:
-
-Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.
-
-[endsect] [/section:nc_chi_squared_dist]
-
-[/ nc_chi_squared.qbk
- Copyright 2008 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/nc_chi_squared_example.qbk b/libs/math/doc/sf_and_dist/distributions/nc_chi_squared_example.qbk
deleted file mode 100644
index a91a91929b..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/nc_chi_squared_example.qbk
+++ /dev/null
@@ -1,20 +0,0 @@
-[section:nccs_eg Non Central Chi Squared Example]
-
-(See also the reference documentation for the __non_central_chi_squared_distrib.)
-
-[section:nccs_power_eg Tables of the power function of the chi[super 2] test.]
-[/chi super 2 failed to show the chi in pdf why??? (OK in html) so use words.]
-
-[import ../../../example/nc_chi_sq_example.cpp]
-[nccs_eg]
-
-[endsect] [/nccs_power_eg Tables of the power function of the chi-squared [chi][super 2] test.]
-
-[endsect] [/section:nccs_eg Non Central Chi Squared Example]
-
-[/
- Copyright 2006, 2011 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/distributions/nc_f.qbk b/libs/math/doc/sf_and_dist/distributions/nc_f.qbk
deleted file mode 100644
index 6da627c73b..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/nc_f.qbk
+++ /dev/null
@@ -1,193 +0,0 @@
-[section:nc_f_dist Noncentral F Distribution]
-
-``#include <boost/math/distributions/non_central_f.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class non_central_f_distribution;
-
- typedef non_central_f_distribution<> non_central_f;
-
- template <class RealType, class ``__Policy``>
- class non_central_f_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- // Constructor:
- non_central_f_distribution(RealType v1, RealType v2, RealType lambda);
-
- // Accessor to degrees_of_freedom parameters v1 & v2:
- RealType degrees_of_freedom1()const;
- RealType degrees_of_freedom2()const;
-
- // Accessor to non-centrality parameter lambda:
- RealType non_centrality()const;
- };
-
- }} // namespaces
-
-The noncentral F distribution is a generalization of the __F_distrib.
-It is defined as the ratio
-
- F = (X/v1) / (Y/v2)
-
-where X is a noncentral [chi][super 2]
-random variable with /v1/ degrees of freedom and non-centrality parameter [lambda],
-and Y is a central [chi][super 2] random variable with /v2/ degrees of freedom.
-
-This gives the following PDF:
-
-[equation nc_f_ref1]
-
-where L[sub a][super b](c) is a generalised Laguerre polynomial and B(a,b) is the
-__beta function, or
-
-[equation nc_f_ref2]
-
-The following graph illustrates how the distribution changes
-for different values of [lambda]:
-
-[graph nc_f_pdf]
-
-[h4 Member Functions]
-
- non_central_f_distribution(RealType v1, RealType v2, RealType lambda);
-
-Constructs a non-central beta distribution with parameters /v1/ and /v2/
-and non-centrality parameter /lambda/.
-
-Requires v1 > 0, v2 > 0 and lambda >= 0, otherwise calls __domain_error.
-
- RealType degrees_of_freedom1()const;
-
-Returns the parameter /v1/ from which this object was constructed.
-
- RealType degrees_of_freedom2()const;
-
-Returns the parameter /v2/ from which this object was constructed.
-
- RealType non_centrality()const;
-
-Returns the non-centrality parameter /lambda/ from which this object was constructed.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0, +[infin]\].
-
-[h4 Accuracy]
-
-This distribution is implemented in terms of the
-__non_central_beta_distrib: refer to that distribution for accuracy data.
-
-[h4 Tests]
-
-Since this distribution is implemented by adapting another distribution,
-the tests consist of basic sanity checks computed by the
-[@http://www.r-project.org/ R-2.5.1 Math library statistical
-package] and its pbeta and dbeta functions.
-
-[h4 Implementation]
-
-In the following table /v1/ and /v2/ are the first and second
-degrees of freedom parameters of the distribution, [lambda]
-is the non-centrality parameter,
-/x/ is the random variate, /p/ is the probability, and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Implemented in terms of the non-central beta PDF using the relation:
-
-f(x;v1,v2;[lambda]) = (v1\/v2) / ((1+y)*(1+y)) * g(y\/(1+y);v1\/2,v2\/2;[lambda])
-
-where g(x; a, b; [lambda]) is the non central beta PDF, and:
-
-y = x * v1 \/ v2
-]]
-[[cdf][Using the relation:
-
-p = B[sub y](v1\/2, v2\/2; [lambda])
-
-where B[sub x](a, b; [lambda]) is the noncentral beta distribution CDF and
-
-y = x * v1 \/ v2
-
-]]
-
-[[cdf complement][Using the relation:
-
-q = 1 - B[sub y](v1\/2, v2\/2; [lambda])
-
-where 1 - B[sub x](a, b; [lambda]) is the complement of the
-noncentral beta distribution CDF and
-
-y = x * v1 \/ v2
-
-]]
-[[quantile][Using the relation:
-
-x = (bx \/ (1-bx)) * (v1 \/ v2)
-
-where
-
-bx = Q[sub p][super -1](v1\/2, v2\/2; [lambda])
-
-and
-
-Q[sub p][super -1](v1\/2, v2\/2; [lambda])
-
-is the noncentral beta quantile.
-
-]]
-[[quantile
-
-from the complement][
-Using the relation:
-
-x = (bx \/ (1-bx)) * (v1 \/ v2)
-
-where
-
-bx = QC[sub q][super -1](v1\/2, v2\/2; [lambda])
-
-and
-
-QC[sub q][super -1](v1\/2, v2\/2; [lambda])
-
-is the noncentral beta quantile from the complement.]]
-[[mean][v2 * (v1 + l) \/ (v1 * (v2 - 2))]]
-[[mode][By numeric maximalisation of the PDF.]]
-[[variance][Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html
- Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-[[skewness][Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html
- Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.],
- and to the [@http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html
- Mathematica documentation] ]]
-[[kurtosis and kurtosis excess]
- [Refer to, [@http://mathworld.wolfram.com/NoncentralF-Distribution.html
- Weisstein, Eric W. "Noncentral F-Distribution." From MathWorld--A Wolfram Web Resource.],
- and to the [@http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html
- Mathematica documentation] ]]
-]
-
-Some analytic properties of noncentral distributions
-(particularly unimodality, and monotonicity of their modes)
-are surveyed and summarized by:
-
-Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.
-
-[endsect] [/section:nc_f_dist]
-
-[/ nc_f.qbk
- Copyright 2008 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/nc_t.qbk b/libs/math/doc/sf_and_dist/distributions/nc_t.qbk
deleted file mode 100644
index bfee6490ff..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/nc_t.qbk
+++ /dev/null
@@ -1,195 +0,0 @@
-[section:nc_t_dist Noncentral T Distribution]
-
-``#include <boost/math/distributions/non_central_t.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class non_central_t_distribution;
-
- typedef non_central_t_distribution<> non_central_t;
-
- template <class RealType, class ``__Policy``>
- class non_central_t_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- // Constructor:
- non_central_t_distribution(RealType v, RealType delta);
-
- // Accessor to degrees_of_freedom parameter v:
- RealType degrees_of_freedom()const;
-
- // Accessor to non-centrality parameter lambda:
- RealType non_centrality()const;
- };
-
- }} // namespaces
-
-The noncentral T distribution is a generalization of the __students_t_distrib.
-Let X have a normal distribution with mean [delta] and variance 1, and let
-[nu] S[super 2] have
-a chi-squared distribution with degrees of freedom [nu]. Assume that
-X and S[super 2] are independent. The
-distribution of t[sub [nu]]([delta])=X/S is called a
-noncentral t distribution with degrees of freedom [nu] and noncentrality
-parameter [delta].
-
-This gives the following PDF:
-
-[equation nc_t_ref1]
-
-where [sub 1]F[sub 1](a;b;x) is a confluent hypergeometric function.
-
-The following graph illustrates how the distribution changes
-for different values of [delta]:
-
-[graph nc_t_pdf]
-
-[h4 Member Functions]
-
- non_central_t_distribution(RealType v, RealType lambda);
-
-Constructs a non-central t distribution with degrees of freedom
-parameter /v/ and non-centrality parameter /delta/.
-
-Requires v > 0 and finite delta, otherwise calls __domain_error.
-
- RealType degrees_of_freedom()const;
-
-Returns the parameter /v/ from which this object was constructed.
-
- RealType non_centrality()const;
-
-Returns the non-centrality parameter /delta/ from which this object was constructed.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[-[infin], +[infin]\].
-
-[h4 Accuracy]
-
-The following table shows the peak errors
-(in units of [@http://en.wikipedia.org/wiki/Machine_epsilon epsilon])
-found on various platforms with various floating-point types.
-Unless otherwise specified, any floating-point type that is narrower
-than the one shown will have __zero_error.
-
-[table Errors In CDF of the Noncentral T Distribution
-[[Significand Size] [Platform and Compiler] [[nu],[delta] < 600]]
-[[53] [Win32, Visual C++ 8] [Peak=120 Mean=26 ] ]
-[[64] [RedHat Linux IA32, gcc-4.1.1] [Peak=121 Mean=26] ]
-
-[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=122 Mean=25] ]
-
-[[113] [HPUX IA64, aCC A.06.06] [Peak=115 Mean=24] ]
-]
-
-[caution The complexity of the current algorithm is dependent upon
-[delta][super 2]: consequently the time taken to evaluate the CDF
-increases rapidly for [delta] > 500, likewise the accuracy decreases
-rapidly for very large [delta].]
-
-Accuracy for the quantile and PDF functions should be broadly similar,
-note however that the /mode/ is determined numerically and can not
-in principal be more accurate than the square root of machine epsilon.
-
-[h4 Tests]
-
-There are two sets of tests of this distribution: basic sanity checks
-compare this implementation to the test values given in
-"Computing discrete mixtures of continuous
-distributions: noncentral chisquare, noncentral t
-and the distribution of the square of the sample
-multiple correlation coefficient."
-Denise Benton, K. Krishnamoorthy,
-Computational Statistics & Data Analysis 43 (2003) 249-267.
-While accuracy checks use test data computed with this
-implementation and arbitary precision interval arithmetic:
-this test data is believed to be accurate to at least 50
-decimal places.
-
-
-[h4 Implementation]
-
-The CDF is computed using a modification of the method
-described in
-"Computing discrete mixtures of continuous
-distributions: noncentral chisquare, noncentral t
-and the distribution of the square of the sample
-multiple correlation coefficient."
-Denise Benton, K. Krishnamoorthy,
-Computational Statistics & Data Analysis 43 (2003) 249-267.
-
-This uses the following formula for the CDF:
-
-[equation nc_t_ref2]
-
-Where I[sub x](a,b) is the incomplete beta function, and
-[Phi](x) is the normal CDF at x.
-
-Iteration starts at the largest of the Poisson weighting terms
-(at i = [delta][super 2] / 2) and then proceeds in both directions
-as per Benton and Krishnamoorthy's paper.
-
-Alternatively, by considering what happens when t = [infin], we have
-x = 1, and therefore I[sub x](a,b) = 1 and:
-
-[equation nc_t_ref3]
-
-From this we can easily show that:
-
-[equation nc_t_ref4]
-
-and therefore we have a means to compute either the probability or its
-complement directly without the risk of cancellation error. The
-crossover criterion for choosing whether to calculate the CDF or
-its complement is the same as for the
-__non_central_beta_distrib.
-
-The PDF can be computed by a very similar method using:
-
-[equation nc_t_ref5]
-
-Where I[sub x][super '](a,b) is the derivative of the incomplete beta function.
-
-The quantile is calculated via the usual
-[link math_toolkit.toolkit.internals1.roots2
-derivative-free root-finding techniques],
-with the initial guess taken as the quantile of a normal approximation
-to the noncentral T.
-
-There is no closed form for the mode, so this is computed via
-functional maximisation of the PDF.
-
-The remaining functions (mean, variance etc) are implemented
-using the formulas given in
-Weisstein, Eric W. "Noncentral Student's t-Distribution."
-From MathWorld--A Wolfram Web Resource.
-[@http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html
-http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html]
-and in the
-[@http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html
-Mathematica documentation].
-
-Some analytic properties of noncentral distributions
-(particularly unimodality, and monotonicity of their modes)
-are surveyed and summarized by:
-
-Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.
-
-[endsect] [/section:nc_t_dist]
-
-[/ nc_t.qbk
- Copyright 2008 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/negative_binomial.qbk b/libs/math/doc/sf_and_dist/distributions/negative_binomial.qbk
deleted file mode 100644
index 9cee30ac41..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/negative_binomial.qbk
+++ /dev/null
@@ -1,373 +0,0 @@
-[section:negative_binomial_dist Negative Binomial Distribution]
-
-``#include <boost/math/distributions/negative_binomial.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class negative_binomial_distribution;
-
- typedef negative_binomial_distribution<> negative_binomial;
-
- template <class RealType, class ``__Policy``>
- class negative_binomial_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Constructor from successes and success_fraction:
- negative_binomial_distribution(RealType r, RealType p);
-
- // Parameter accessors:
- RealType success_fraction() const;
- RealType successes() const;
-
- // Bounds on success fraction:
- static RealType find_lower_bound_on_p(
- RealType trials,
- RealType successes,
- RealType probability); // alpha
- static RealType find_upper_bound_on_p(
- RealType trials,
- RealType successes,
- RealType probability); // alpha
-
- // Estimate min/max number of trials:
- static RealType find_minimum_number_of_trials(
- RealType k, // Number of failures.
- RealType p, // Success fraction.
- RealType probability); // Probability threshold alpha.
- static RealType find_maximum_number_of_trials(
- RealType k, // Number of failures.
- RealType p, // Success fraction.
- RealType probability); // Probability threshold alpha.
- };
-
- }} // namespaces
-
-The class type `negative_binomial_distribution` represents a
-[@http://en.wikipedia.org/wiki/Negative_binomial_distribution negative_binomial distribution]:
-it is used when there are exactly two mutually exclusive outcomes of a
-[@http://en.wikipedia.org/wiki/Bernoulli_trial Bernoulli trial]:
-these outcomes are labelled "success" and "failure".
-
-For k + r Bernoulli trials each with success fraction p, the
-negative_binomial distribution gives the probability of observing
-k failures and r successes with success on the last trial.
-The negative_binomial distribution
-assumes that success_fraction p is fixed for all (k + r) trials.
-
-[note The random variable for the negative binomial distribution is the number of trials,
-(the number of successes is a fixed property of the distribution)
-whereas for the binomial,
-the random variable is the number of successes, for a fixed number of trials.]
-
-It has the PDF:
-
-[equation neg_binomial_ref]
-
-The following graph illustrate how the PDF varies as the success fraction
-/p/ changes:
-
-[graph negative_binomial_pdf_1]
-
-Alternatively, this graph shows how the shape of the PDF varies as
-the number of successes changes:
-
-[graph negative_binomial_pdf_2]
-
-[h4 Related Distributions]
-
-The name negative binomial distribution is reserved by some to the
-case where the successes parameter r is an integer.
-This integer version is also called the
-[@http://mathworld.wolfram.com/PascalDistribution.html Pascal distribution].
-
-This implementation uses real numbers for the computation throughout
-(because it uses the *real-valued* incomplete beta function family of functions).
-This real-valued version is also called the Polya Distribution.
-
-The Poisson distribution is a generalization of the Pascal distribution,
-where the success parameter r is an integer: to obtain the Pascal
-distribution you must ensure that an integer value is provided for r,
-and take integer values (floor or ceiling) from functions that return
-a number of successes.
-
-For large values of r (successes), the negative binomial distribution
-converges to the Poisson distribution.
-
-The geometric distribution is a special case
-where the successes parameter r = 1,
-so only a first and only success is required.
-geometric(p) = negative_binomial(1, p).
-
-The Poisson distribution is a special case for large successes
-
-poisson([lambda]) = lim [sub r [rarr] [infin]] [space] negative_binomial(r, r / ([lambda] + r)))
-
-[discrete_quantile_warning Negative Binomial]
-
-[h4 Member Functions]
-
-[h5 Construct]
-
- negative_binomial_distribution(RealType r, RealType p);
-
-Constructor: /r/ is the total number of successes, /p/ is the
-probability of success of a single trial.
-
-Requires: `r > 0` and `0 <= p <= 1`.
-
-[h5 Accessors]
-
- RealType success_fraction() const; // successes / trials (0 <= p <= 1)
-
-Returns the parameter /p/ from which this distribution was constructed.
-
- RealType successes() const; // required successes (r > 0)
-
-Returns the parameter /r/ from which this distribution was constructed.
-
-The best method of calculation for the following functions is disputed:
-see __binomial_distrib for more discussion.
-
-[h5 Lower Bound on Parameter p]
-
- static RealType find_lower_bound_on_p(
- RealType failures,
- RealType successes,
- RealType probability) // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
-
-Returns a *lower bound* on the success fraction:
-
-[variablelist
-[[failures][The total number of failures before the r th success.]]
-[[successes][The number of successes required.]]
-[[alpha][The largest acceptable probability that the true value of
- the success fraction is [*less than] the value returned.]]
-]
-
-For example, if you observe /k/ failures and /r/ successes from /n/ = k + r trials
-the best estimate for the success fraction is simply ['r/n], but if you
-want to be 95% sure that the true value is [*greater than] some value,
-['p[sub min]], then:
-
- p``[sub min]`` = negative_binomial_distribution<RealType>::find_lower_bound_on_p(
- failures, successes, 0.05);
-
-[link math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative binomial confidence interval example.]
-
-This function uses the Clopper-Pearson method of computing the lower bound on the
-success fraction, whilst many texts refer to this method as giving an "exact"
-result in practice it produces an interval that guarantees ['at least] the
-coverage required, and may produce pessimistic estimates for some combinations
-of /failures/ and /successes/. See:
-
-[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
-Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
-Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
-
-[h5 Upper Bound on Parameter p]
-
- static RealType find_upper_bound_on_p(
- RealType trials,
- RealType successes,
- RealType alpha); // (0 <= alpha <= 1), 0.05 equivalent to 95% confidence.
-
-Returns an *upper bound* on the success fraction:
-
-[variablelist
-[[trials][The total number of trials conducted.]]
-[[successes][The number of successes that occurred.]]
-[[alpha][The largest acceptable probability that the true value of
- the success fraction is [*greater than] the value returned.]]
-]
-
-For example, if you observe /k/ successes from /n/ trials the
-best estimate for the success fraction is simply ['k/n], but if you
-want to be 95% sure that the true value is [*less than] some value,
-['p[sub max]], then:
-
- p``[sub max]`` = negative_binomial_distribution<RealType>::find_upper_bound_on_p(
- r, k, 0.05);
-
-[link math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_conf See negative binomial confidence interval example.]
-
-This function uses the Clopper-Pearson method of computing the lower bound on the
-success fraction, whilst many texts refer to this method as giving an "exact"
-result in practice it produces an interval that guarantees ['at least] the
-coverage required, and may produce pessimistic estimates for some combinations
-of /failures/ and /successes/. See:
-
-[@http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf
-Yong Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some Discrete Distributions.
-Computational statistics and data analysis, 2005, vol. 48, no3, 605-621].
-
-[h5 Estimating Number of Trials to Ensure at Least a Certain Number of Failures]
-
- static RealType find_minimum_number_of_trials(
- RealType k, // number of failures.
- RealType p, // success fraction.
- RealType alpha); // probability threshold (0.05 equivalent to 95%).
-
-This functions estimates the number of trials required to achieve a certain
-probability that [*more than k failures will be observed].
-
-[variablelist
-[[k][The target number of failures to be observed.]]
-[[p][The probability of ['success] for each trial.]]
-[[alpha][The maximum acceptable risk that only k failures or fewer will be observed.]]
-]
-
-For example:
-
- negative_binomial_distribution<RealType>::find_minimum_number_of_trials(10, 0.5, 0.05);
-
-Returns the smallest number of trials we must conduct to be 95% sure
-of seeing 10 failures that occur with frequency one half.
-
-[link math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_size_eg Worked Example.]
-
-This function uses numeric inversion of the negative binomial distribution
-to obtain the result: another interpretation of the result, is that it finds
-the number of trials (success+failures) that will lead to an /alpha/ probability
-of observing k failures or fewer.
-
-[h5 Estimating Number of Trials to Ensure a Maximum Number of Failures or Less]
-
- static RealType find_maximum_number_of_trials(
- RealType k, // number of failures.
- RealType p, // success fraction.
- RealType alpha); // probability threshold (0.05 equivalent to 95%).
-
-This functions estimates the maximum number of trials we can conduct and achieve
-a certain probability that [*k failures or fewer will be observed].
-
-[variablelist
-[[k][The maximum number of failures to be observed.]]
-[[p][The probability of ['success] for each trial.]]
-[[alpha][The maximum acceptable ['risk] that more than k failures will be observed.]]
-]
-
-For example:
-
- negative_binomial_distribution<RealType>::find_maximum_number_of_trials(0, 1.0-1.0/1000000, 0.05);
-
-Returns the largest number of trials we can conduct and still be 95% sure
-of seeing no failures that occur with frequency one in one million.
-
-This function uses numeric inversion of the negative binomial distribution
-to obtain the result: another interpretation of the result, is that it finds
-the number of trials (success+failures) that will lead to an /alpha/ probability
-of observing more than k failures.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-However it's worth taking a moment to define what these actually mean in
-the context of this distribution:
-
-[table Meaning of the non-member accessors.
-[[Function][Meaning]]
-[[__pdf]
- [The probability of obtaining [*exactly k failures] from k+r trials
- with success fraction p. For example:
-
-``pdf(negative_binomial(r, p), k)``]]
-[[__cdf]
- [The probability of obtaining [*k failures or fewer] from k+r trials
- with success fraction p and success on the last trial. For example:
-
-``cdf(negative_binomial(r, p), k)``]]
-[[__ccdf]
- [The probability of obtaining [*more than k failures] from k+r trials
- with success fraction p and success on the last trial. For example:
-
-``cdf(complement(negative_binomial(r, p), k))``]]
-[[__quantile]
- [The [*greatest] number of failures k expected to be observed from k+r trials
- with success fraction p, at probability P. Note that the value returned
- is a real-number, and not an integer. Depending on the use case you may
- want to take either the floor or ceiling of the real result. For example:
-
-``quantile(negative_binomial(r, p), P)``]]
-[[__quantile_c]
- [The [*smallest] number of failures k expected to be observed from k+r trials
- with success fraction p, at probability P. Note that the value returned
- is a real-number, and not an integer. Depending on the use case you may
- want to take either the floor or ceiling of the real result. For example:
- ``quantile(complement(negative_binomial(r, p), P))``]]
-]
-
-[h4 Accuracy]
-
-This distribution is implemented using the
-incomplete beta functions __ibeta and __ibetac:
-please refer to these functions for information on accuracy.
-
-[h4 Implementation]
-
-In the following table, /p/ is the probability that any one trial will
-be successful (the success fraction), /r/ is the number of successes,
-/k/ is the number of failures, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][pdf = exp(lgamma(r + k) - lgamma(r) - lgamma(k+1)) * pow(p, r) * pow((1-p), k)
-
-Implementation is in terms of __ibeta_derivative:
-
-(p/(r + k)) * ibeta_derivative(r, static_cast<RealType>(k+1), p)
-The function __ibeta_derivative is used here, since it has already
-been optimised for the lowest possible error - indeed this is really
-just a thin wrapper around part of the internals of the incomplete
-beta function.
-]]
-[[cdf][Using the relation:
-
-cdf = I[sub p](r, k+1) = ibeta(r, k+1, p)
-
-= ibeta(r, static_cast<RealType>(k+1), p)]]
-[[cdf complement][Using the relation:
-
-1 - cdf = I[sub p](k+1, r)
-
-= ibetac(r, static_cast<RealType>(k+1), p)
-]]
-[[quantile][ibeta_invb(r, p, P) - 1]]
-[[quantile from the complement][ibetac_invb(r, p, Q) -1)]]
-[[mean][ `r(1-p)/p` ]]
-[[variance][ `r (1-p) / p * p` ]]
-[[mode][`floor((r-1) * (1 - p)/p)`]]
-[[skewness][`(2 - p) / sqrt(r * (1 - p))`]]
-[[kurtosis][`6 / r + (p * p) / r * (1 - p )`]]
-[[kurtosis excess][`6 / r + (p * p) / r * (1 - p ) -3`]]
-[[parameter estimation member functions][]]
-[[`find_lower_bound_on_p`][ibeta_inv(successes, failures + 1, alpha)]]
-[[`find_upper_bound_on_p`][ibetac_inv(successes, failures, alpha) plus see comments in code.]]
-[[`find_minimum_number_of_trials`][ibeta_inva(k + 1, p, alpha)]]
-[[`find_maximum_number_of_trials`][ibetac_inva(k + 1, p, alpha)]]
-]
-
-Implementation notes:
-
-* The real concept type (that deliberately lacks the Lanczos approximation),
-was found to take several minutes to evaluate some extreme test values,
-so the test has been disabled for this type.
-
-* Much greater speed, and perhaps greater accuracy,
-might be achieved for extreme values by using a normal approximation.
-This is NOT been tested or implemented.
-
-[endsect][/section:negative_binomial_dist Negative Binomial]
-
-[/ negative_binomial.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/negative_binomial_example.qbk b/libs/math/doc/sf_and_dist/distributions/negative_binomial_example.qbk
deleted file mode 100644
index c51817b884..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/negative_binomial_example.qbk
+++ /dev/null
@@ -1,192 +0,0 @@
-[section:neg_binom_eg Negative Binomial Distribution Examples]
-
-(See also the reference documentation for the __negative_binomial_distrib.)
-
-[section:neg_binom_conf Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution]
-
-Imagine you have a process that follows a negative binomial distribution:
-for each trial conducted, an event either occurs or does it does not, referred
-to as "successes" and "failures". The frequency with which successes occur
-is variously referred to as the
-success fraction, success ratio, success percentage, occurrence frequency, or probability of occurrence.
-
-If, by experiment, you want to measure the
- the best estimate of success fraction is given simply
-by /k/ \/ /N/, for /k/ successes out of /N/ trials.
-
-However our confidence in that estimate will be shaped by how many trials were conducted,
-and how many successes were observed. The static member functions
-`negative_binomial_distribution<>::find_lower_bound_on_p` and
-`negative_binomial_distribution<>::find_upper_bound_on_p`
-allow you to calculate the confidence intervals for your estimate of the success fraction.
-
-The sample program [@../../../example/neg_binom_confidence_limits.cpp
-neg_binom_confidence_limits.cpp] illustrates their use.
-
-[import ../../../example/neg_binom_confidence_limits.cpp]
-
-[neg_binomial_confidence_limits]
-Let's see some sample output for a 1 in 10
-success ratio, first for a mere 20 trials:
-
-[pre'''______________________________________________
-2-Sided Confidence Limits For Success Fraction
-______________________________________________
-Number of trials = 20
-Number of successes = 2
-Number of failures = 18
-Observed frequency of occurrence = 0.1
-___________________________________________
-Confidence Lower Upper
- Value (%) Limit Limit
-___________________________________________
- 50.000 0.04812 0.13554
- 75.000 0.03078 0.17727
- 90.000 0.01807 0.22637
- 95.000 0.01235 0.26028
- 99.000 0.00530 0.33111
- 99.900 0.00164 0.41802
- 99.990 0.00051 0.49202
- 99.999 0.00016 0.55574
-''']
-
-As you can see, even at the 95% confidence level the bounds (0.012 to 0.26) are
-really very wide, and very asymmetric about the observed value 0.1.
-
-Compare that with the program output for a mass
-2000 trials:
-
-[pre'''______________________________________________
-2-Sided Confidence Limits For Success Fraction
-______________________________________________
-Number of trials = 2000
-Number of successes = 200
-Number of failures = 1800
-Observed frequency of occurrence = 0.1
-___________________________________________
-Confidence Lower Upper
- Value (%) Limit Limit
-___________________________________________
- 50.000 0.09536 0.10445
- 75.000 0.09228 0.10776
- 90.000 0.08916 0.11125
- 95.000 0.08720 0.11352
- 99.000 0.08344 0.11802
- 99.900 0.07921 0.12336
- 99.990 0.07577 0.12795
- 99.999 0.07282 0.13206
-''']
-
-Now even when the confidence level is very high, the limits (at 99.999%, 0.07 to 0.13) are really
-quite close and nearly symmetric to the observed value of 0.1.
-
-[endsect][/section:neg_binom_conf Calculating Confidence Limits on the Frequency of Occurrence]
-
-[section:neg_binom_size_eg Estimating Sample Sizes for the Negative Binomial.]
-
-Imagine you have an event
-(let's call it a "failure" - though we could equally well call it a success if we felt it was a 'good' event)
-that you know will occur in 1 in N trials. You may want to know how many trials you need to
-conduct to be P% sure of observing at least k such failures.
-If the failure events follow a negative binomial
-distribution (each trial either succeeds or fails)
-then the static member function `negative_binomial_distibution<>::find_minimum_number_of_trials`
-can be used to estimate the minimum number of trials required to be P% sure
-of observing the desired number of failures.
-
-The example program
-[@../../../example/neg_binomial_sample_sizes.cpp neg_binomial_sample_sizes.cpp]
-demonstrates its usage.
-
-[import ../../../example/neg_binomial_sample_sizes.cpp]
-[neg_binomial_sample_sizes]
-
-[note Since we're calculating the /minimum/ number of trials required,
-we'll err on the safe side and take the ceiling of the result.
-Had we been calculating the
-/maximum/ number of trials permitted to observe less than a certain
-number of /failures/ then we would have taken the floor instead. We
-would also have called `find_minimum_number_of_trials` like this:
-``
- floor(negative_binomial::find_minimum_number_of_trials(failures, p, alpha[i]))
-``
-which would give us the largest number of trials we could conduct and
-still be P% sure of observing /failures or less/ failure events, when the
-probability of success is /p/.]
-
-We'll finish off by looking at some sample output, firstly suppose
-we wish to observe at least 5 "failures" with a 50/50 (0.5) chance of
-success or failure:
-
-[pre
-'''Target number of failures = 5, Success fraction = 50%
-
-____________________________
-Confidence Min Number
- Value (%) Of Trials
-____________________________
- 50.000 11
- 75.000 14
- 90.000 17
- 95.000 18
- 99.000 22
- 99.900 27
- 99.990 31
- 99.999 36
-'''
-]
-
-So 18 trials or more would yield a 95% chance that at least our 5
-required failures would be observed.
-
-Compare that to what happens if the success ratio is 90%:
-
-[pre'''Target number of failures = 5.000, Success fraction = 90.000%
-
-____________________________
-Confidence Min Number
- Value (%) Of Trials
-____________________________
- 50.000 57
- 75.000 73
- 90.000 91
- 95.000 103
- 99.000 127
- 99.900 159
- 99.990 189
- 99.999 217
-''']
-
-So now 103 trials are required to observe at least 5 failures with
-95% certainty.
-
-[endsect] [/section:neg_binom_size_eg Estimating Sample Sizes.]
-
-[section:negative_binomial_example1 Negative Binomial Sales Quota Example.]
-
-This example program
-[@../../../example/negative_binomial_example1.cpp negative_binomial_example1.cpp (full source code)]
-demonstrates a simple use to find the probability of meeting a sales quota.
-
-[import ../../../example/negative_binomial_example1.cpp]
-[negative_binomial_eg1_1]
-[negative_binomial_eg1_2]
-
-[endsect] [/section:negative_binomial_example1]
-
-[section:negative_binomial_example2 Negative Binomial Table Printing Example.]
-Example program showing output of a table of values of cdf and pdf for various k failures.
-[import ../../../example/negative_binomial_example2.cpp]
-[neg_binomial_example2]
-[neg_binomial_example2_1]
-[endsect] [/section:negative_binomial_example1 Negative Binomial example 2.]
-
-[endsect] [/section:neg_binom_eg Negative Binomial Distribution Examples]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/non_members.qbk b/libs/math/doc/sf_and_dist/distributions/non_members.qbk
deleted file mode 100644
index 85f36ead24..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/non_members.qbk
+++ /dev/null
@@ -1,406 +0,0 @@
-[section:nmp Non-Member Properties]
-
-Properties that are common to all distributions are accessed via non-member
-getter functions: non-membership allows more of these functions to be added over time,
-as the need arises. Unfortunately the literature uses many different and
-confusing names to refer to a rather small number of actual concepts; refer
-to the [link concept_index concept index] to find the property you
-want by the name you are most familiar with.
-Or use the [link function_index function index]
-to go straight to the function you want if you already know its name.
-
-[h4 [#function_index]Function Index]
-
-* [link math.dist.cdf cdf].
-* [link math.dist.ccdf cdf complement].
-* [link math.dist.chf chf].
-* [link math.dist.hazard hazard].
-* __kurtosis.
-* __kurtosis_excess
-* __mean.
-* [link math.dist.median median].
-* __mode.
-* [link math.dist.pdf pdf].
-* [link math.dist.range range].
-* [link math.dist.quantile quantile].
-* [link math.dist.quantile_c quantile from the complement].
-* __skewness.
-* [link math.dist.sd standard_deviation].
-* [link math.dist.support support].
-* __variance.
-
-[h4 [#concept_index]Conceptual Index]
-
-* __ccdf.
-* __cdf.
-* __chf.
-* [link cdf_inv Inverse Cumulative Distribution Function].
-* [link survival_inv Inverse Survival Function].
-* __hazard
-* [link lower_critical Lower Critical Value].
-* __kurtosis.
-* __kurtosis_excess
-* __mean.
-* [link math.dist.median median].
-* __mode.
-* [link cdfPQ P].
-* [link percent Percent Point Function].
-* __pdf.
-* [link pmf Probability Mass Function].
-* [link math.dist.range range].
-* [link cdfPQ Q].
-* __quantile.
-* [link math.dist.quantile_c Quantile from the complement of the probability].
-* __skewness.
-* __sd
-* [link survival Survival Function].
-* [link math.dist.support support].
-* [link upper_critical Upper Critical Value].
-* __variance.
-
-[h4 [#math.dist.cdf]Cumulative Distribution Function]
-
- template <class RealType, class ``__Policy``>
- RealType cdf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
-
-The __cdf is the probability that
-the variable takes a value less than or equal to x. It is equivalent
-to the integral from -infinity to x of the __pdf.
-
-This function may return a __domain_error if the random variable is outside
-the defined range for the distribution.
-
-For example, the following graph shows the cdf for the
-normal distribution:
-
-[$../graphs/cdf.png]
-
-[h4 [#math.dist.ccdf]Complement of the Cumulative Distribution Function]
-
- template <class Distribution, class RealType>
- RealType cdf(const ``['Unspecified-Complement-Type]``<Distribution, RealType>& comp);
-
-The complement of the __cdf
-is the probability that
-the variable takes a value greater than x. It is equivalent
-to the integral from x to infinity of the __pdf, or 1 minus the __cdf of x.
-
-This is also known as the survival function.
-
-This function may return a __domain_error if the random variable is outside
-the defined range for the distribution.
-
-In this library, it is obtained by wrapping the arguments to the `cdf`
-function in a call to `complement`, for example:
-
- // standard normal distribution object:
- boost::math::normal norm;
- // print survival function for x=2.0:
- std::cout << cdf(complement(norm, 2.0)) << std::endl;
-
-For example, the following graph shows the __complement of the cdf for the
-normal distribution:
-
-[$../graphs/survival.png]
-
-See __why_complements for why the complement is useful and when it should be used.
-
-[h4 [#math.dist.hazard]Hazard Function]
-
- template <class RealType, class ``__Policy``>
- RealType hazard(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
-
-Returns the __hazard of /x/ and distibution /dist/.
-
-This function may return a __domain_error if the random variable is outside
-the defined range for the distribution.
-
-[equation hazard]
-
-[caution
-Some authors refer to this as the conditional failure
-density function rather than the hazard function.]
-
-[h4 [#math.dist.chf]Cumulative Hazard Function]
-
- template <class RealType, class ``__Policy``>
- RealType chf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
-
-Returns the __chf of /x/ and distibution /dist/.
-
-This function may return a __domain_error if the random variable is outside
-the defined range for the distribution.
-
-[equation chf]
-
-[caution
-Some authors refer to this as simply the "Hazard Function".]
-
-[h4 [#math.dist.mean]mean]
-
- template<class RealType, class ``__Policy``>
- RealType mean(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the mean of the distribution /dist/.
-
-This function may return a __domain_error if the distribution does not have
-a defined mean (for example the Cauchy distribution).
-
-[h4 [#math.dist.median]median]
-
- template<class RealType, class ``__Policy``>
- RealType median(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the median of the distribution /dist/.
-
-[h4 [#math.dist.mode]mode]
-
- template<class RealType, ``__Policy``>
- RealType mode(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the mode of the distribution /dist/.
-
-This function may return a __domain_error if the distribution does not have
-a defined mode.
-
-[h4 [#math.dist.pdf]Probability Density Function]
-
- template <class RealType, class ``__Policy``>
- RealType pdf(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& x);
-
-For a continuous function, the probability density function (pdf) returns
-the probability that the variate has the value x.
-Since for continuous distributions the probability at a single point is actually zero,
-the probability is better expressed as the integral of the pdf between two points:
-see the __cdf.
-
-For a discrete distribution, the pdf is the probability that the
-variate takes the value x.
-
-This function may return a __domain_error if the random variable is outside
-the defined range for the distribution.
-
-For example, for a standard normal distribution the pdf looks like this:
-
-[$../graphs/pdf.png]
-
-[h4 [#math.dist.range]Range]
-
- template<class RealType, class ``__Policy``>
- std::pair<RealType, RealType> range(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the valid range of the random variable over distribution /dist/.
-
-[h4 [#math.dist.quantile]Quantile]
-
- template <class RealType, class ``__Policy``>
- RealType quantile(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist, const RealType& p);
-
-The quantile is best viewed as the inverse of the __cdf, it returns
-a value /x/ such that `cdf(dist, x) == p`.
-
-This is also known as the /percent point function/, or /percentile/, or /fractile/,
-it is also the same as calculating the ['lower critical value] of a distribution.
-
-This function returns a __domain_error if the probability lies outside [0,1].
-The function may return an __overflow_error if there is no finite value
-that has the specified probability.
-
-The following graph shows the quantile function for a standard normal
-distribution:
-
-[$../graphs/quantile.png]
-
-[h4 [#math.dist.quantile_c]Quantile from the complement of the probability.]
-[link complements complements]
-
-
- template <class Distribution, class RealType>
- RealType quantile(const ``['Unspecified-Complement-Type]``<Distribution, RealType>& comp);
-
-This is the inverse of the __ccdf. It is calculated by wrapping
-the arguments in a call to the quantile function in a call to
-/complement/. For example:
-
- // define a standard normal distribution:
- boost::math::normal norm;
- // print the value of x for which the complement
- // of the probability is 0.05:
- std::cout << quantile(complement(norm, 0.05)) << std::endl;
-
-The function computes a value /x/ such that
-`cdf(complement(dist, x)) == q` where /q/ is complement of the
-probability.
-
-[link why_complements Why complements?]
-
-This function is also called the inverse survival function, and is the
-same as calculating the ['upper critical value] of a distribution.
-
-This function returns a __domain_error if the probablity lies outside [0,1].
-The function may return an __overflow_error if there is no finite value
-that has the specified probability.
-
-The following graph show the inverse survival function for the normal
-distribution:
-
-[$../graphs/survival_inv.png]
-
-[h4 [#math.dist.sd]Standard Deviation]
-
- template <class RealType, class ``__Policy``>
- RealType standard_deviation(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the standard deviation of distribution /dist/.
-
-This function may return a __domain_error if the distribution does not have
-a defined standard deviation.
-
-[h4 [#math.dist.support]support]
-
- template<class RealType, class ``__Policy``>
- std::pair<RealType, RealType> support(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the supported range of random variable over the distribution /dist/.
-
-The distribution is said to be 'supported' over a range that is
-[@http://en.wikipedia.org/wiki/Probability_distribution
- "the smallest closed set whose complement has probability zero"].
-Non-mathematicians might say it means the 'interesting' smallest range
-of random variate x that has the cdf going from zero to unity.
-Outside are uninteresting zones where the pdf is zero, and the cdf zero or unity.
-
-[h4 [#math.dist.variance]Variance]
-
- template <class RealType, class ``__Policy``>
- RealType variance(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the variance of the distribution /dist/.
-
-This function may return a __domain_error if the distribution does not have
-a defined variance.
-
-[h4 [#math.dist.skewness]Skewness]
-
- template <class RealType, class ``__Policy``>
- RealType skewness(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the skewness of the distribution /dist/.
-
-This function may return a __domain_error if the distribution does not have
-a defined skewness.
-
-[h4 [#math.dist.kurtosis]Kurtosis]
-
- template <class RealType, class ``__Policy``>
- RealType kurtosis(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the 'proper' kurtosis (normalized fourth moment) of the distribution /dist/.
-
-kertosis = [beta][sub 2][space]= [mu][sub 4][space] / [mu][sub 2][super 2]
-
-Where [mu][sub i][space] is the i'th central moment of the distribution, and
-in particular [mu][sub 2][space] is the variance of the distribution.
-
-The kurtosis is a measure of the "peakedness" of a distribution.
-
-Note that the literature definition of kurtosis is confusing.
-The definition used here is that used by for example
-[@http://mathworld.wolfram.com/Kurtosis.html Wolfram MathWorld]
-(that includes a table of formulae for kurtosis excess for various distributions)
-but NOT the definition of
-[@http://en.wikipedia.org/wiki/Kurtosis kurtosis used by Wikipedia]
-which treats "kurtosis" and "kurtosis excess" as the same quantity.
-
- kurtosis_excess = 'proper' kurtosis - 3
-
-This subtraction of 3 is convenient so that the ['kurtosis excess]
-of a normal distribution is zero.
-
-This function may return a __domain_error if the distribution does not have
-a defined kurtosis.
-
-'Proper' kurtosis can have a value from zero to + infinity.
-
-[h4 [#math.dist.kurtosis_excess]Kurtosis excess]
-
- template <class RealType, ``__Policy``>
- RealType kurtosis_excess(const ``['Distribution-Type]``<RealType, ``__Policy``>& dist);
-
-Returns the kurtosis excess of the distribution /dist/.
-
-kurtosis excess = [gamma][sub 2][space]= [mu][sub 4][space] / [mu][sub 2][super 2][space]- 3 = kurtosis - 3
-
-Where [mu][sub i][space] is the i'th central moment of the distribution, and
-in particular [mu][sub 2][space] is the variance of the distribution.
-
-The kurtosis excess is a measure of the "peakedness" of a distribution, and
-is more widely used than the "kurtosis proper". It is defined so that
-the kurtosis excess of a normal distribution is zero.
-
-This function may return a __domain_error if the distribution does not have
-a defined kurtosis excess.
-
-Kurtosis excess can have a value from -2 to + infinity.
-
- kurtosis = kurtosis_excess +3;
-
-The kurtosis excess of a normal distribution is zero.
-
-[h4 [#cdfPQ]P and Q]
-
-The terms P and Q are sometimes used to refer to the __cdf
-and its [link math.dist.ccdf complement] respectively.
-Lowercase p and q are sometimes used to refer to the values returned
-by these functions.
-
-[h4 [#percent]Percent Point Function or Percentile]
-
-The percent point function, also known as the percentile, is the same as
-the __quantile.
-
-[h4 [#cdf_inv]Inverse CDF Function.]
-
-The inverse of the cumulative distribution function, is the same as the
-__quantile.
-
-[h4 [#survival_inv]Inverse Survival Function.]
-
-The inverse of the survival function, is the same as computing the
-[link math.dist.quantile_c quantile
-from the complement of the probability].
-
-[h4 [#pmf]Probability Mass Function]
-
-The Probability Mass Function is the same as the __pdf.
-
-The term Mass Function is usually applied to discrete distributions,
-while the term __pdf applies to continuous distributions.
-
-[h4 [#lower_critical]Lower Critical Value.]
-
-The lower critical value calculates the value of the random variable
-given the area under the left tail of the distribution.
-It is equivalent to calculating the __quantile.
-
-[h4 [#upper_critical]Upper Critical Value.]
-
-The upper critical value calculates the value of the random variable
-given the area under the right tail of the distribution. It is equivalent to
-calculating the [link math.dist.quantile_c quantile from the complement of the
-probability].
-
-[h4 [#survival]Survival Function]
-
-Refer to the __ccdf.
-
-[endsect][/section:nmp Non-Member Properties]
-
-
-[/ non_members.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/normal.qbk b/libs/math/doc/sf_and_dist/distributions/normal.qbk
deleted file mode 100644
index 98d96d4a74..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/normal.qbk
+++ /dev/null
@@ -1,120 +0,0 @@
-[section:normal_dist Normal (Gaussian) Distribution]
-
-``#include <boost/math/distributions/normal.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class normal_distribution;
-
- typedef normal_distribution<> normal;
-
- template <class RealType, class ``__Policy``>
- class normal_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- normal_distribution(RealType mean = 0, RealType sd = 1);
- // Accessors:
- RealType mean()const; // location.
- RealType standard_deviation()const; // scale.
- // Synonyms, provided to allow generic use of find_location and find_scale.
- RealType location()const;
- RealType scale()const;
- };
-
- }} // namespaces
-
-The normal distribution is probably the most well known statistical
-distribution: it is also known as the Gaussian Distribution.
-A normal distribution with mean zero and standard deviation one
-is known as the ['Standard Normal Distribution].
-
-Given mean [mu][space]and standard deviation [sigma][space]it has the PDF:
-
-[space] [equation normal_ref1]
-
-The variation the PDF with its parameters is illustrated
-in the following graph:
-
-[graph normal_pdf]
-
-The cumulative distribution function is given by
-
-[space] [equation normal_cdf]
-
-and illustrated by this graph
-
-[graph normal_cdf]
-
-
-[h4 Member Functions]
-
- normal_distribution(RealType mean = 0, RealType sd = 1);
-
-Constructs a normal distribution with mean /mean/ and
-standard deviation /sd/.
-
-Requires sd > 0, otherwise __domain_error is called.
-
- RealType mean()const;
- RealType location()const;
-
-both return the /mean/ of this distribution.
-
- RealType standard_deviation()const;
- RealType scale()const;
-
-both return the /standard deviation/ of this distribution.
-(Redundant location and scale function are provided to match other similar distributions,
-allowing the functions find_location and find_scale to be used generically).
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[-[max_value], +[min_value]\].
-However, the pdf of +[infin] and -[infin] = 0 is also supported,
-and cdf at -[infin] = 0, cdf at +[infin] = 1,
-and complement cdf -[infin] = 1 and +[infin] = 0,
-if RealType permits.
-
-[h4 Accuracy]
-
-The normal distribution is implemented in terms of the
-[link math_toolkit.special.sf_erf.error_function error function],
-and as such should have very low error rates.
-
-[h4 Implementation]
-
-In the following table /m/ is the mean of the distribution,
-and /s/ is its standard deviation.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = e[super -(x-m)[super 2]\/(2s[super 2])] \/ (s * sqrt(2*pi)) ]]
-[[cdf][Using the relation: p = 0.5 * __erfc(-(x-m)/(s*sqrt(2))) ]]
-[[cdf complement][Using the relation: q = 0.5 * __erfc((x-m)/(s*sqrt(2))) ]]
-[[quantile][Using the relation: x = m - s * sqrt(2) * __erfc_inv(2*p)]]
-[[quantile from the complement][Using the relation: x = m + s * sqrt(2) * __erfc_inv(2*p)]]
-[[mean and standard deviation][The same as `dist.mean()` and `dist.standard_deviation()`]]
-[[mode][The same as the mean.]]
-[[median][The same as the mean.]]
-[[skewness][0]]
-[[kurtosis][3]]
-[[kurtosis excess][0]]
-]
-
-[endsect][/section:normal_dist Normal]
-
-[/ normal.qbk
- Copyright 2006, 2007, 2012 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/normal_example.qbk b/libs/math/doc/sf_and_dist/distributions/normal_example.qbk
deleted file mode 100644
index d5cafca11b..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/normal_example.qbk
+++ /dev/null
@@ -1,36 +0,0 @@
-[section:normal_example Normal Distribution Examples]
-
-(See also the reference documentation for the __normal_distrib.)
-
-[section:normal_misc Some Miscellaneous Examples of the Normal (Gaussian) Distribution]
-
-The sample program [@../../../example/normal_misc_examples.cpp
-normal_misc_examples.cpp] illustrates their use.
-
-[import ../../../example/normal_misc_examples.cpp]
-
-[h4 Traditional Tables]
-[normal_basic1]
-
-[h4 Standard deviations either side of the Mean]
-[normal_basic2]
-[h4 Some simple examples]
-[h4 Life of light bulbs]
-[normal_bulbs_example1]
-[h4 How many onions?]
-[normal_bulbs_example3]
-[h4 Packing beef]
-[normal_bulbs_example4]
-[h4 Length of bolts]
-[normal_bulbs_example5]
-
-[endsect] [/section:normal_misc Some Miscellaneous Examples of the Normal Distribution]
-[endsect] [/section:normal_example Normal Distribution Examples]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/pareto.qbk b/libs/math/doc/sf_and_dist/distributions/pareto.qbk
deleted file mode 100644
index 4e7e2c4170..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/pareto.qbk
+++ /dev/null
@@ -1,121 +0,0 @@
-[section:pareto Pareto Distribution]
-
-
-``#include <boost/math/distributions/pareto.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class pareto_distribution;
-
- typedef pareto_distribution<> pareto;
-
- template <class RealType, class ``__Policy``>
- class pareto_distribution
- {
- public:
- typedef RealType value_type;
- // Constructor:
- pareto_distribution(RealType scale = 1, RealType shape = 1)
- // Accessors:
- RealType scale()const;
- RealType shape()const;
- };
-
- }} // namespaces
-
-The [@http://en.wikipedia.org/wiki/pareto_distribution Pareto distribution]
-is a continuous distribution with the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function (pdf)]:
-
-f(x; [alpha], [beta]) = [alpha][beta][super [alpha]] / x[super [alpha]+ 1]
-
-For shape parameter [alpha][space] > 0, and scale parameter [beta][space] > 0.
-If x < [beta][space], the pdf is zero.
-
-The [@http://mathworld.wolfram.com/ParetoDistribution.html Pareto distribution]
-often describes the larger compared to the smaller.
-A classic example is that 80% of the wealth is owned by 20% of the population.
-
-The following graph illustrates how the PDF varies with the scale parameter [beta]:
-
-[graph pareto_pdf1]
-
-And this graph illustrates how the PDF varies with the shape parameter [alpha]:
-
-[graph pareto_pdf2]
-
-
-[h4 Related distributions]
-
-
-[h4 Member Functions]
-
- pareto_distribution(RealType scale = 1, RealType shape = 1);
-
-Constructs a [@http://en.wikipedia.org/wiki/pareto_distribution
-pareto distribution] with shape /shape/ and scale /scale/.
-
-Requires that the /shape/ and /scale/ parameters are both greater than zero,
-otherwise calls __domain_error.
-
- RealType scale()const;
-
-Returns the /scale/ parameter of this distribution.
-
- RealType shape()const;
-
-Returns the /shape/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The supported domain of the random variable is \[scale, [infin]\].
-
-[h4 Accuracy]
-
-The Pareto distribution is implemented in terms of the
-standard library `exp` functions plus __expm1
-and so should have very small errors, usually only a few epsilon.
-
-If probability is near to unity (or the complement of a probability near zero) see also __why_complements.
-
-[h4 Implementation]
-
-In the following table [alpha][space] is the shape parameter of the distribution, and
-[beta][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
-and its complement /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf p = [alpha][beta][super [alpha]]/x[super [alpha] +1] ]]
-[[cdf][Using the relation: cdf p = 1 - ([beta][space] / x)[super [alpha]] ]]
-[[cdf complement][Using the relation: q = 1 - p = -([beta][space] / x)[super [alpha]] ]]
-[[quantile][Using the relation: x = [beta] / (1 - p)[super 1/[alpha]] ]]
-[[quantile from the complement][Using the relation: x = [beta] / (q)[super 1/[alpha]] ]]
-[[mean][[alpha][beta] / ([beta] - 1) ]]
-[[variance][[beta][alpha][super 2] / ([beta] - 1)[super 2] ([beta] - 2) ]]
-[[mode][[alpha]]]
-[[skewness][Refer to [@http://mathworld.wolfram.com/ParetoDistribution.html Weisstein, Eric W. "Pareto Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-[[kurtosis][Refer to [@http://mathworld.wolfram.com/ParetoDistribution.html Weisstein, Eric W. "Pareto Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-[[kurtosis excess][Refer to [@http://mathworld.wolfram.com/ParetoDistribution.html Weisstein, Eric W. "pareto Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-]
-
-[h4 References]
-* [@http://en.wikipedia.org/wiki/pareto_distribution Pareto Distribution]
-* [@http://mathworld.wolfram.com/paretoDistribution.html Weisstein, Eric W. "Pareto Distribution." From MathWorld--A Wolfram Web Resource.]
-* Handbook of Statistical Distributions with Applications, K Krishnamoorthy, ISBN 1-58488-635-8, Chapter 23, pp 257 - 267.
-(Note the meaning of a and b is reversed in Wolfram and Krishnamoorthy).
-
-[endsect][/section:pareto pareto]
-
-[/
- Copyright 2006, 2009 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/poisson.qbk b/libs/math/doc/sf_and_dist/distributions/poisson.qbk
deleted file mode 100644
index 4e63eef98b..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/poisson.qbk
+++ /dev/null
@@ -1,103 +0,0 @@
-[section:poisson_dist Poisson Distribution]
-
-``#include <boost/math/distributions/poisson.hpp>``
-
- namespace boost { namespace math {
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class poisson_distribution;
-
- typedef poisson_distribution<> poisson;
-
- template <class RealType, class ``__Policy``>
- class poisson_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- poisson_distribution(RealType mean = 1); // Constructor.
- RealType mean()const; // Accessor.
- }
-
- }} // namespaces boost::math
-
-The [@http://en.wikipedia.org/wiki/Poisson_distribution Poisson distribution]
-is a well-known statistical discrete distribution.
-It expresses the probability of a number of events
-(or failures, arrivals, occurrences ...)
-occurring in a fixed period of time,
-provided these events occur with a known mean rate [lambda][space]
-(events/time), and are independent of the time since the last event.
-
-The distribution was discovered by Sim__eacute on-Denis Poisson (1781 to 1840).
-
-It has the Probability Mass Function:
-
-[equation poisson_ref1]
-
-for k events, with an expected number of events [lambda].
-
-The following graph illustrates how the PDF varies with the parameter [lambda]:
-
-[graph poisson_pdf_1]
-
-[discrete_quantile_warning Poisson]
-
-[h4 Member Functions]
-
- poisson_distribution(RealType mean = 1);
-
-Constructs a poisson distribution with mean /mean/.
-
- RealType mean()const;
-
-Returns the /mean/ of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0, [infin]\].
-
-[h4 Accuracy]
-
-The Poisson distribution is implemented in terms of the
-incomplete gamma functions __gamma_p and __gamma_q
-and as such should have low error rates: but refer to the documentation
-of those functions for more information.
-The quantile and its complement use the inverse gamma functions
-and are therefore probably slightly less accurate: this is because the
-inverse gamma functions are implemented using an iterative method with a
-lower tolerance to avoid excessive computation.
-
-[h4 Implementation]
-
-In the following table [lambda][space] is the mean of the distribution,
-/k/ is the random variable, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = e[super -[lambda]] [lambda][super k] \/ k! ]]
-[[cdf][Using the relation: p = [Gamma](k+1, [lambda]) \/ k! = __gamma_q(k+1, [lambda])]]
-[[cdf complement][Using the relation: q = __gamma_p(k+1, [lambda]) ]]
-[[quantile][Using the relation: k = __gamma_q_inva([lambda], p) - 1]]
-[[quantile from the complement][Using the relation: k = __gamma_p_inva([lambda], q) - 1]]
-[[mean][[lambda]]]
-[[mode][ floor ([lambda]) or [floorlr[lambda]] ]]
-[[skewness][1/[radic][lambda]]]
-[[kurtosis][3 + 1/[lambda]]]
-[[kurtosis excess][1/[lambda]]]
-]
-
-[/ poisson.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[endsect][/section:poisson_dist Poisson]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/rayleigh.qbk b/libs/math/doc/sf_and_dist/distributions/rayleigh.qbk
deleted file mode 100644
index b4e79d7004..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/rayleigh.qbk
+++ /dev/null
@@ -1,119 +0,0 @@
-[section:rayleigh Rayleigh Distribution]
-
-
-``#include <boost/math/distributions/rayleigh.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class rayleigh_distribution;
-
- typedef rayleigh_distribution<> rayleigh;
-
- template <class RealType, class ``__Policy``>
- class rayleigh_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- rayleigh_distribution(RealType sigma = 1)
- // Accessors:
- RealType sigma()const;
- };
-
- }} // namespaces
-
-The [@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution]
-is a continuous distribution with the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
-
-f(x; sigma) = x * exp(-x[super 2]/2 [sigma][super 2]) / [sigma][super 2]
-
-For sigma parameter [sigma][space] > 0, and x > 0.
-
-The Rayleigh distribution is often used where two orthogonal components
-have an absolute value,
-for example, wind velocity and direction may be combined to yield a wind speed,
-or real and imaginary components may have absolute values that are Rayleigh distributed.
-
-The following graph illustrates how the Probability density Function(pdf) varies with the shape parameter [sigma]:
-
-[graph rayleigh_pdf]
-
-and the Cumulative Distribution Function (cdf)
-
-[graph rayleigh_cdf]
-
-[h4 Related distributions]
-
-The absolute value of two independent normal distributions X and Y, [radic] (X[super 2] + Y[super 2])
-is a Rayleigh distribution.
-
-The [@http://en.wikipedia.org/wiki/Chi_distribution Chi],
-[@http://en.wikipedia.org/wiki/Rice_distribution Rice]
-and [@http://en.wikipedia.org/wiki/Weibull_distribution Weibull] distributions are generalizations of the
-[@http://en.wikipedia.org/wiki/Rayleigh_distribution Rayleigh distribution].
-
-[h4 Member Functions]
-
- rayleigh_distribution(RealType sigma = 1);
-
-Constructs a [@http://en.wikipedia.org/wiki/Rayleigh_distribution
-Rayleigh distribution] with [sigma] /sigma/.
-
-Requires that the [sigma] parameter is greater than zero,
-otherwise calls __domain_error.
-
- RealType sigma()const;
-
-Returns the /sigma/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0, max_value\].
-
-[h4 Accuracy]
-
-The Rayleigh distribution is implemented in terms of the
-standard library `sqrt` and `exp` and as such should have very low error rates.
-Some constants such as skewness and kurtosis were calculated using
-NTL RR type with 150-bit accuracy, about 50 decimal digits.
-
-[h4 Implementation]
-
-In the following table [sigma][space] is the sigma parameter of the distribution,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = x * exp(-x[super 2])/2 [sigma][super 2] ]]
-[[cdf][Using the relation: p = 1 - exp(-x[super 2]/2) [sigma][super 2][space] = -__expm1(-x[super 2]/2) [sigma][super 2]]]
-[[cdf complement][Using the relation: q = exp(-x[super 2]/ 2) * [sigma][super 2] ]]
-[[quantile][Using the relation: x = sqrt(-2 * [sigma] [super 2]) * log(1 - p)) = sqrt(-2 * [sigma] [super 2]) * __log1p(-p))]]
-[[quantile from the complement][Using the relation: x = sqrt(-2 * [sigma] [super 2]) * log(q)) ]]
-[[mean][[sigma] * sqrt([pi]/2) ]]
-[[variance][[sigma][super 2] * (4 - [pi]/2) ]]
-[[mode][[sigma] ]]
-[[skewness][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-[[kurtosis][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-[[kurtosis excess][Constant from [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-]
-
-[h4 References]
-* [@http://en.wikipedia.org/wiki/Rayleigh_distribution ]
-* [@http://mathworld.wolfram.com/RayleighDistribution.html Weisstein, Eric W. "Rayleigh Distribution." From MathWorld--A Wolfram Web Resource.]
-
-[endsect][/section:Rayleigh Rayleigh]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/skew_normal.qbk b/libs/math/doc/sf_and_dist/distributions/skew_normal.qbk
deleted file mode 100644
index fdd281facc..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/skew_normal.qbk
+++ /dev/null
@@ -1,193 +0,0 @@
-[section:skew_normal_dist Skew Normal Distribution]
-
-``#include <boost/math/distributions/skew_normal.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class skew_normal_distribution;
-
- typedef skew_normal_distribution<> normal;
-
- template <class RealType, class ``__Policy``>
- class skew_normal_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Constructor:
- skew_normal_distribution(RealType location = 0, RealType scale = 1, RealType shape = 0);
- // Accessors:
- RealType location()const; // mean if normal.
- RealType scale()const; // width, standard deviation if normal.
- RealType shape()const; // The distribution is right skewed if shape > 0 and is left skewed if shape < 0.
- // The distribution is normal if shape is zero.
- };
-
- }} // namespaces
-
-The skew normal distribution is a variant of the most well known
-Gaussian statistical distribution.
-
-The skew normal distribution with shape zero resembles the
-[@http://en.wikipedia.org/wiki/Normal_distribution Normal Distribution],
-hence the latter can be regarded as a special case of the more generic skew normal distribution.
-
-If the standard (mean = 0, scale = 1) normal distribution probability density function is
-
-[space][space][equation normal01_pdf]
-
-and the cumulative distribution function
-
-[space][space][equation normal01_cdf]
-
-then the [@http://en.wikipedia.org/wiki/Probability_density_function PDF]
-of the [@http://en.wikipedia.org/wiki/Skew_normal_distribution skew normal distribution]
-with shape parameter [alpha], defined by O'Hagan and Leonhard (1976) is
-
-[space][space][equation skew_normal_pdf0]
-
-Given [@http://en.wikipedia.org/wiki/Location_parameter location] [xi],
-[@http://en.wikipedia.org/wiki/Scale_parameter scale] [omega],
-and [@http://en.wikipedia.org/wiki/Shape_parameter shape] [alpha],
-it can be
-[@http://en.wikipedia.org/wiki/Skew_normal_distribution transformed],
-to the form:
-
-[space][space][equation skew_normal_pdf]
-
-and [@http://en.wikipedia.org/wiki/Cumulative_distribution_function CDF]:
-
-[space][space][equation skew_normal_cdf]
-
-where ['T(h,a)] is Owen's T function, and ['[Phi](x)] is the normal distribution.
-
-The variation the PDF and CDF with its parameters is illustrated
-in the following graphs:
-
-[graph skew_normal_pdf]
-[graph skew_normal_cdf]
-
-[h4 Member Functions]
-
- skew_normal_distribution(RealType location = 0, RealType scale = 1, RealType shape = 0);
-
-Constructs a skew_normal distribution with location [xi],
-scale [omega] and shape [alpha].
-
-Requires scale > 0, otherwise __domain_error is called.
-
- RealType location()const;
-
-returns the location [xi] of this distribution,
-
- RealType scale()const;
-
-returns the scale [omega] of this distribution,
-
- RealType shape()const;
-
-returns the shape [alpha] of this distribution.
-
-(Location and scale function match other similar distributions,
-allowing the functions `find_location` and `find_scale` to be used generically).
-
-[note While the shape parameter may be chosen arbitrarily (finite),
-the resulting [*skewness] of the distribution is in fact limited to about (-1, 1);
-strictly, the interval is (-0.9952717, 0.9952717).
-
-A parameter [delta] is related to the shape [alpha] by
-[delta] = [alpha] / (1 + [alpha][pow2]),
-and used in the expression for skewness
-[equation skew_normal_skewness]
-] [/note]
-
-[h4 References]
-
-* [@http://azzalini.stat.unipd.it/SN/ Skew-Normal Probability Distribution] for many links and bibliography.
-* [@http://azzalini.stat.unipd.it/SN/Intro/intro.html A very brief introduction to the skew-normal distribution]
-by Adelchi Azzalini (2005-11-2).
-* See a [@http://www.tri.org.au/azzalini.html skew-normal function animation].
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is ['-[max_value], +[min_value]].
-Infinite values are not supported.
-
-There are no [@http://en.wikipedia.org/wiki/Closed-form_expression closed-form expression]
-known for the mode and median, but these are computed for the
-
-* mode - by finding the maximum of the PDF.
-* median - by computing `quantile(1/2)`.
-
-The maximum of the PDF is sought through searching the root of f'(x)=0.
-
-Both involve iterative methods that will have lower accuracy than other estimates.
-
-[h4 Testing]
-
-__R using library(sn) described at
-[@http://azzalini.stat.unipd.it/SN/ Skew-Normal Probability Distribution],
-and at [@http://cran.r-project.org/web/packages/sn/sn.pd R skew-normal(sn) package].
-
-Package sn provides functions related to the skew-normal (SN)
-and the skew-t (ST) probability distributions,
-both for the univariate and for the the multivariate case,
-including regression models.
-
-__Mathematica was also used to generate some more accurate spot test data.
-
-[h4 Accuracy]
-
-The skew_normal distribution with shape = zero is implemented as a special case,
-equivalent to the normal distribution in terms of the
-[link math_toolkit.special.sf_erf.error_function error function],
-and therefore should have excellent accuracy.
-
-The PDF and mean, variance, skewness and kurtosis are also accurately evaluated using
-[@http://en.wikipedia.org/wiki/Analytical_expression analytical expressions].
-The CDF requires [@http://en.wikipedia.org/wiki/Owen%27s_T_function Owen's T function]
-that is evaluated using a Boost C++ __owens_t implementation of the algorithms of
-M. Patefield and D. Tandy, Journal of Statistical Software, 5(5), 1-25 (2000);
-the complicated accuracy of this function is discussed in detail at __owens_t.
-
-The median and mode are calculated by iterative root finding, and both will be less accurate.
-
-[h4 Implementation]
-
-In the following table, [xi] is the location of the distribution,
-and [omega] is its scale, and [alpha] is its shape.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using:[equation skew_normal_pdf] ]]
-[[cdf][Using: [equation skew_normal_cdf]\n
-where ['T(h,a)] is Owen's T function, and ['[Phi](x)] is the normal distribution. ]]
-[[cdf complement][Using: complement of normal distribution + 2 * Owens_t]]
-[[quantile][Maximum of the pdf is sought through searching the root of f'(x)=0]]
-[[quantile from the complement][-quantile(SN(-location [xi], scale [omega], -shape[alpha]), p)]]
-[[location][location [xi]]]
-[[scale][scale [omega]]]
-[[shape][shape [alpha]]]
-[[median][quantile(1/2)]]
-[[mean][[equation skew_normal_mean]]]
-[[mode][Maximum of the pdf is sought through searching the root of f'(x)=0]]
-[[variance][[equation skew_normal_variance] ]]
-[[skewness][[equation skew_normal_skewness] ]]
-[[kurtosis][kurtosis excess-3]]
-[[kurtosis excess] [ [equation skew_normal_kurt_ex] ]]
-] [/table]
-
-[endsect] [/section:skew_normal_dist skew_Normal]
-
-[/ skew_normal.qbk
- Copyright 2012 Bejamin Sobotta, John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/students_t.qbk b/libs/math/doc/sf_and_dist/distributions/students_t.qbk
deleted file mode 100644
index 80dce1a703..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/students_t.qbk
+++ /dev/null
@@ -1,171 +0,0 @@
-[section:students_t_dist Students t Distribution]
-
-``#include <boost/math/distributions/students_t.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class students_t_distribution;
-
- typedef students_t_distribution<> students_t;
-
- template <class RealType, class ``__Policy``>
- class students_t_distribution
- {
- typedef RealType value_type;
- typedef Policy policy_type;
-
- // Construct:
- students_t_distribution(const RealType& v);
-
- // Accessor:
- RealType degrees_of_freedom()const;
-
- // degrees of freedom estimation:
- static RealType find_degrees_of_freedom(
- RealType difference_from_mean,
- RealType alpha,
- RealType beta,
- RealType sd,
- RealType hint = 100);
- };
-
- }} // namespaces
-
-A statistical distribution published by William Gosset in 1908.
-His employer, Guinness Breweries, required him to publish under a
-pseudonym, so he chose "Student". Given N independent measurements, let
-
-[equation students_t_dist]
-
-where /M/ is the population mean,[' ''' &#x3BC; '''] is the sample mean, and /s/ is the
-sample variance.
-
-Student's t-distribution is defined as the distribution of the random
-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:
-
-[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
-/one/ then this distribution is the same as the Cauchy-distribution.
-As the number of degrees of freedom tends towards infinity, then this
-distribution approaches the normal-distribution. The following graph
-illustrates how the PDF varies with the degrees of freedom [nu]:
-
-[graph students_t_pdf]
-
-[h4 Member Functions]
-
- students_t_distribution(const RealType& v);
-
-Constructs a Student's t-distribution with /v/ degrees of freedom.
-
-Requires v > 0, otherwise calls __domain_error. Note that
-non-integral degrees of freedom are supported, and
-meaningful under certain circumstances.
-
- RealType degrees_of_freedom()const;
-
-Returns the number of degrees of freedom of this distribution.
-
- static RealType find_degrees_of_freedom(
- RealType difference_from_mean,
- RealType alpha,
- RealType beta,
- RealType sd,
- RealType hint = 100);
-
-Returns the number of degrees of freedom required to observe a significant
-result in the Student's t test when the mean differs from the "true"
-mean by /difference_from_mean/.
-
-[variablelist
-[[difference_from_mean][The difference between the true mean and the sample mean
- that we wish to show is significant.]]
-[[alpha][The maximum acceptable probability of rejecting the null hypothesis
- when it is in fact true.]]
-[[beta][The maximum acceptable probability of failing to reject the null hypothesis
- when it is in fact false.]]
-[[sd][The sample standard deviation.]]
-[[hint][A hint for the location to start looking for the result, a good choice for this
- would be the sample size of a previous borderline Student's t test.]]
-]
-
-[note
-Remember that for a two-sided test, you must divide alpha by two
-before calling this function.]
-
-For more information on this function see the
-[@http://www.itl.nist.gov/div898/handbook/prc/section2/prc222.htm
-NIST Engineering Statistics Handbook].
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[-[infin], +[infin]\].
-
-[h4 Examples]
-
-Various [link math_toolkit.dist.stat_tut.weg.st_eg worked examples] are available illustrating the use of the Student's t
-distribution.
-
-[h4 Accuracy]
-
-The normal distribution is implemented in terms of the
-[link math_toolkit.special.sf_beta.ibeta_function incomplete beta function]
-and [link math_toolkit.special.sf_beta.ibeta_inv_function its inverses],
-refer to accuracy data on those functions for more information.
-
-[h4 Implementation]
-
-In the following table /v/ is the degrees of freedom of the distribution,
-/t/ is the random variate, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = (v \/ (v + t[super 2]))[super (1+v)\/2 ] / (sqrt(v) * __beta(v\/2, 0.5)) ]]
-[[cdf][Using the relations:
-
-p = 1 - z /iff t > 0/
-
-p = z /otherwise/
-
-where z is given by:
-
-__ibeta(v \/ 2, 0.5, v \/ (v + t[super 2])) \/ 2 ['iff v < 2t[super 2]]
-
-__ibetac(0.5, v \/ 2, t[super 2 ] / (v + t[super 2]) \/ 2 /otherwise/]]
-[[cdf complement][Using the relation: q = cdf(-t) ]]
-[[quantile][Using the relation: t = sign(p - 0.5) * sqrt(v * y \/ x)
-
-where:
-
-x = __ibeta_inv(v \/ 2, 0.5, 2 * min(p, q))
-
-y = 1 - x
-
-The quantities /x/ and /y/ are both returned by __ibeta_inv
-without the subtraction implied above.]]
-[[quantile from the complement][Using the relation: t = -quantile(q)]]
-[[mean][0]]
-[[variance][v \/ (v - 2)]]
-[[mode][0]]
-[[skewness][0]]
-[[kurtosis][3 * (v - 2) \/ (v - 4)]]
-[[kurtosis excess][6 \/ (df - 4)]]
-]
-
-[endsect][/section:students_t_dist Students t]
-
-[/ students_t.qbk
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/students_t_examples.qbk b/libs/math/doc/sf_and_dist/distributions/students_t_examples.qbk
deleted file mode 100644
index 354b6a5e96..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/students_t_examples.qbk
+++ /dev/null
@@ -1,781 +0,0 @@
-
-[section:st_eg Student's t Distribution Examples]
-
-[section:tut_mean_intervals Calculating confidence intervals on the mean with the Students-t distribution]
-
-Let's say you have a sample mean, you may wish to know what confidence intervals
-you can place on that mean. Colloquially: "I want an interval that I can be
-P% sure contains the true mean". (On a technical point, note that
-the interval either contains the true mean or it does not: the
-meaning of the confidence level is subtly
-different from this colloquialism. More background information can be found on the
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm NIST site]).
-
-The formula for the interval can be expressed as:
-
-[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
-['t[sub ([alpha]/2,N-1)]] is the upper critical value of the Students-t
-distribution with /N-1/ degrees of freedom.
-
-[note
-The quantity [alpha][space] is the maximum acceptable risk of falsely rejecting
-the null-hypothesis. The smaller the value of [alpha] the greater the
-strength of the test.
-
-The confidence level of the test is defined as 1 - [alpha], and often expressed
-as a percentage. So for example a significance level of 0.05, is equivalent
-to a 95% confidence level. Refer to
-[@http://www.itl.nist.gov/div898/handbook/prc/section1/prc14.htm
-"What are confidence intervals?"] in __handbook for more information.
-] [/ Note]
-
-[note
-The usual assumptions of
-[@http://en.wikipedia.org/wiki/Independent_and_identically-distributed_random_variables independent and identically distributed (i.i.d.)]
-variables and [@http://en.wikipedia.org/wiki/Normal_distribution normal distribution]
-of course apply here, as they do in other examples.
-]
-
-From the formula, it should be clear that:
-
-* The width of the confidence interval decreases as the sample size increases.
-* The width increases as the standard deviation increases.
-* The width increases as the ['confidence level increases] (0.5 towards 0.99999 - stronger).
-* The width increases as the ['significance level decreases] (0.5 towards 0.00000...01 - stronger).
-
-The following example code is taken from the example program
-[@../../../example/students_t_single_sample.cpp students_t_single_sample.cpp].
-
-We'll begin by defining a procedure to calculate intervals for
-various confidence levels; the procedure will print these out
-as a table:
-
- // Needed includes:
- #include <boost/math/distributions/students_t.hpp>
- #include <iostream>
- #include <iomanip>
- // Bring everything into global namespace for ease of use:
- using namespace boost::math;
- using namespace std;
-
- void confidence_limits_on_mean(
- double Sm, // Sm = Sample Mean.
- double Sd, // Sd = Sample Standard Deviation.
- unsigned Sn) // Sn = Sample Size.
- {
- using namespace std;
- using namespace boost::math;
-
- // Print out general info:
- cout <<
- "__________________________________\n"
- "2-Sided Confidence Limits For Mean\n"
- "__________________________________\n\n";
- cout << setprecision(7);
- cout << setw(40) << left << "Number of Observations" << "= " << Sn << "\n";
- cout << setw(40) << left << "Mean" << "= " << Sm << "\n";
- cout << setw(40) << left << "Standard Deviation" << "= " << Sd << "\n";
-
-We'll define a table of significance/risk levels for which we'll compute intervals:
-
- double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
-
-Note that these are the complements of the confidence/probability levels: 0.5, 0.75, 0.9 .. 0.99999).
-
-Next we'll declare the distribution object we'll need, note that
-the /degrees of freedom/ parameter is the sample size less one:
-
- students_t dist(Sn - 1);
-
-Most of what follows in the program is pretty printing, so let's focus
-on the calculation of the interval. First we need the t-statistic,
-computed using the /quantile/ function and our significance level. Note
-that since the significance levels are the complement of the probability,
-we have to wrap the arguments in a call to /complement(...)/:
-
- double T = quantile(complement(dist, alpha[i] / 2));
-
-Note that alpha was divided by two, since we'll be calculating
-both the upper and lower bounds: had we been interested in a single
-sided interval then we would have omitted this step.
-
-Now to complete the picture, we'll get the (one-sided) width of the
-interval from the t-statistic
-by multiplying by the standard deviation, and dividing by the square
-root of the sample size:
-
- double w = T * Sd / sqrt(double(Sn));
-
-The two-sided interval is then the sample mean plus and minus this width.
-
-And apart from some more pretty-printing that completes the procedure.
-
-Let's take a look at some sample output, first using the
-[@http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm
-Heat flow data] from the NIST site. The data set was collected
-by Bob Zarr of NIST in January, 1990 from a heat flow meter
-calibration and stability analysis.
-The corresponding dataplot
-output for this test can be found in
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm
-section 3.5.2] of the __handbook.
-
-[pre'''
- __________________________________
- 2-Sided Confidence Limits For Mean
- __________________________________
-
- Number of Observations = 195
- Mean = 9.26146
- Standard Deviation = 0.02278881
-
-
- ___________________________________________________________________
- Confidence T Interval Lower Upper
- Value (%) Value Width Limit Limit
- ___________________________________________________________________
- 50.000 0.676 1.103e-003 9.26036 9.26256
- 75.000 1.154 1.883e-003 9.25958 9.26334
- 90.000 1.653 2.697e-003 9.25876 9.26416
- 95.000 1.972 3.219e-003 9.25824 9.26468
- 99.000 2.601 4.245e-003 9.25721 9.26571
- 99.900 3.341 5.453e-003 9.25601 9.26691
- 99.990 3.973 6.484e-003 9.25498 9.26794
- 99.999 4.537 7.404e-003 9.25406 9.26886
-''']
-
-As you can see the large sample size (195) and small standard deviation (0.023)
-have combined to give very small intervals, indeed we can be
-very confident that the true mean is 9.2.
-
-For comparison the next example data output is taken from
-['P.K.Hou, O. W. Lau & M.C. Wong, Analyst (1983) vol. 108, p 64.
-and from Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55
-J. C. Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.]
-The values result from the determination of mercury by cold-vapour
-atomic absorption.
-
-[pre'''
- __________________________________
- 2-Sided Confidence Limits For Mean
- __________________________________
-
- Number of Observations = 3
- Mean = 37.8000000
- Standard Deviation = 0.9643650
-
-
- ___________________________________________________________________
- Confidence T Interval Lower Upper
- Value (%) Value Width Limit Limit
- ___________________________________________________________________
- 50.000 0.816 0.455 37.34539 38.25461
- 75.000 1.604 0.893 36.90717 38.69283
- 90.000 2.920 1.626 36.17422 39.42578
- 95.000 4.303 2.396 35.40438 40.19562
- 99.000 9.925 5.526 32.27408 43.32592
- 99.900 31.599 17.594 20.20639 55.39361
- 99.990 99.992 55.673 -17.87346 93.47346
- 99.999 316.225 176.067 -138.26683 213.86683
-''']
-
-This time the fact that there are only three measurements leads to
-much wider intervals, indeed such large intervals that it's hard
-to be very confident in the location of the mean.
-
-[endsect]
-
-[section:tut_mean_test Testing a sample mean for difference from a "true" mean]
-
-When calibrating or comparing a scientific instrument or measurement method of some kind,
-we want to be answer the question "Does an observed sample mean differ from the
-"true" mean in any significant way?". If it does, then we have evidence of
-a systematic difference. This question can be answered with a Students-t test:
-more information can be found
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm
-on the NIST site].
-
-Of course, the assignment of "true" to one mean may be quite arbitrary,
-often this is simply a "traditional" method of measurement.
-
-The following example code is taken from the example program
-[@../../../example/students_t_single_sample.cpp students_t_single_sample.cpp].
-
-We'll begin by defining a procedure to determine which of the
-possible hypothesis are rejected or not-rejected
-at a given significance level:
-
-[note
-Non-statisticians might say 'not-rejected' means 'accepted',
-(often of the null-hypothesis) implying, wrongly, that there really *IS* no difference,
-but statisticans eschew this to avoid implying that there is positive evidence of 'no difference'.
-'Not-rejected' here means there is *no evidence* of difference, but there still might well be a difference.
-For example, see [@http://en.wikipedia.org/wiki/Argument_from_ignorance argument from ignorance] and
-[@http://www.bmj.com/cgi/content/full/311/7003/485 Absence of evidence does not constitute evidence of absence.]
-] [/ note]
-
-
- // Needed includes:
- #include <boost/math/distributions/students_t.hpp>
- #include <iostream>
- #include <iomanip>
- // Bring everything into global namespace for ease of use:
- using namespace boost::math;
- using namespace std;
-
- void single_sample_t_test(double M, double Sm, double Sd, unsigned Sn, double alpha)
- {
- //
- // M = true mean.
- // Sm = Sample Mean.
- // Sd = Sample Standard Deviation.
- // Sn = Sample Size.
- // alpha = Significance Level.
-
-Most of the procedure is pretty-printing, so let's just focus on the
-calculation, we begin by calculating the t-statistic:
-
- // Difference in means:
- double diff = Sm - M;
- // Degrees of freedom:
- unsigned v = Sn - 1;
- // t-statistic:
- double t_stat = diff * sqrt(double(Sn)) / Sd;
-
-Finally calculate the probability from the t-statistic. If we're interested
-in simply whether there is a difference (either less or greater) or not,
-we don't care about the sign of the t-statistic,
-and we take the complement of the probability for comparison
-to the significance level:
-
- students_t dist(v);
- double q = cdf(complement(dist, fabs(t_stat)));
-
-The procedure then prints out the results of the various tests
-that can be done, these
-can be summarised in the following table:
-
-[table
-[[Hypothesis][Test]]
-[[The Null-hypothesis: there is
-*no difference* in means]
-[Reject if complement of CDF for |t| < significance level / 2:
-
-`cdf(complement(dist, fabs(t))) < alpha / 2`]]
-
-[[The Alternative-hypothesis: there
-*is difference* in means]
-[Reject if complement of CDF for |t| > significance level / 2:
-
-`cdf(complement(dist, fabs(t))) > alpha / 2`]]
-
-[[The Alternative-hypothesis: the sample mean *is less* than
-the true mean.]
-[Reject if CDF of t > significance level:
-
-`cdf(dist, t) > alpha`]]
-
-[[The Alternative-hypothesis: the sample mean *is greater* than
-the true mean.]
-[Reject if complement of CDF of t > significance level:
-
-`cdf(complement(dist, t)) > alpha`]]
-]
-
-[note
-Notice that the comparisons are against `alpha / 2` for a two-sided test
-and against `alpha` for a one-sided test]
-
-Now that we have all the parts in place, let's take a look at some
-sample output, first using the
-[@http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm
-Heat flow data] from the NIST site. The data set was collected
-by Bob Zarr of NIST in January, 1990 from a heat flow meter
-calibration and stability analysis. The corresponding dataplot
-output for this test can be found in
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm
-section 3.5.2] of the __handbook.
-
-[pre'''
- __________________________________
- Student t test for a single sample
- __________________________________
-
- Number of Observations = 195
- Sample Mean = 9.26146
- Sample Standard Deviation = 0.02279
- Expected True Mean = 5.00000
-
- Sample Mean - Expected Test Mean = 4.26146
- Degrees of Freedom = 194
- T Statistic = 2611.28380
- Probability that difference is due to chance = 0.000e+000
-
- Results for Alternative Hypothesis and alpha = 0.0500'''
-
- Alternative Hypothesis Conclusion
- Mean != 5.000 NOT REJECTED
- Mean < 5.000 REJECTED
- Mean > 5.000 NOT REJECTED
-]
-
-You will note the line that says the probability that the difference is
-due to chance is zero. From a philosophical point of view, of course,
-the probability can never reach zero. However, in this case the calculated
-probability is smaller than the smallest representable double precision number,
-hence the appearance of a zero here. Whatever its "true" value is, we know it
-must be extraordinarily small, so the alternative hypothesis - that there is
-a difference in means - is not rejected.
-
-For comparison the next example data output is taken from
-['P.K.Hou, O. W. Lau & M.C. Wong, Analyst (1983) vol. 108, p 64.
-and from Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55
-J. C. Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.]
-The values result from the determination of mercury by cold-vapour
-atomic absorption.
-
-[pre'''
- __________________________________
- Student t test for a single sample
- __________________________________
-
- Number of Observations = 3
- Sample Mean = 37.80000
- Sample Standard Deviation = 0.96437
- Expected True Mean = 38.90000
-
- Sample Mean - Expected Test Mean = -1.10000
- Degrees of Freedom = 2
- T Statistic = -1.97566
- Probability that difference is due to chance = 1.869e-001
-
- Results for Alternative Hypothesis and alpha = 0.0500'''
-
- Alternative Hypothesis Conclusion
- Mean != 38.900 REJECTED
- Mean < 38.900 REJECTED
- Mean > 38.900 REJECTED
-]
-
-As you can see the small number of measurements (3) has led to a large uncertainty
-in the location of the true mean. So even though there appears to be a difference
-between the sample mean and the expected true mean, we conclude that there
-is no significant difference, and are unable to reject the null hypothesis.
-However, if we were to lower the bar for acceptance down to alpha = 0.1
-(a 90% confidence level) we see a different output:
-
-[pre'''
-__________________________________
-Student t test for a single sample
-__________________________________
-
-Number of Observations = 3
-Sample Mean = 37.80000
-Sample Standard Deviation = 0.96437
-Expected True Mean = 38.90000
-
-Sample Mean - Expected Test Mean = -1.10000
-Degrees of Freedom = 2
-T Statistic = -1.97566
-Probability that difference is due to chance = 1.869e-001
-
-Results for Alternative Hypothesis and alpha = 0.1000'''
-
-Alternative Hypothesis Conclusion
-Mean != 38.900 REJECTED
-Mean < 38.900 NOT REJECTED
-Mean > 38.900 REJECTED
-]
-
-In this case, we really have a borderline result,
-and more data (and/or more accurate data),
-is needed for a more convincing conclusion.
-
-[endsect]
-
-[section:tut_mean_size Estimating how large a sample size would have to become
-in order to give a significant Students-t test result with a single sample test]
-
-Imagine you have conducted a Students-t test on a single sample in order
-to check for systematic errors in your measurements. Imagine that the
-result is borderline. At this point one might go off and collect more data,
-but it might be prudent to first ask the question "How much more?".
-The parameter estimators of the students_t_distribution class
-can provide this information.
-
-This section is based on the example code in
-[@../../../example/students_t_single_sample.cpp students_t_single_sample.cpp]
-and we begin by defining a procedure that will print out a table of
-estimated sample sizes for various confidence levels:
-
- // Needed includes:
- #include <boost/math/distributions/students_t.hpp>
- #include <iostream>
- #include <iomanip>
- // Bring everything into global namespace for ease of use:
- using namespace boost::math;
- using namespace std;
-
- void single_sample_find_df(
- double M, // M = true mean.
- double Sm, // Sm = Sample Mean.
- double Sd) // Sd = Sample Standard Deviation.
- {
-
-Next we define a table of significance levels:
-
- double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };
-
-Printing out the table of sample sizes required for various confidence levels
-begins with the table header:
-
- cout << "\n\n"
- "_______________________________________________________________\n"
- "Confidence Estimated Estimated\n"
- " Value (%) Sample Size Sample Size\n"
- " (one sided test) (two sided test)\n"
- "_______________________________________________________________\n";
-
-
-And now the important part: the sample sizes required. Class
-`students_t_distribution` has a static member function
-`find_degrees_of_freedom` that will calculate how large
-a sample size needs to be in order to give a definitive result.
-
-The first argument is the difference between the means that you
-wish to be able to detect, here it's the absolute value of the
-difference between the sample mean, and the true mean.
-
-Then come two probability values: alpha and beta. Alpha is the
-maximum acceptable risk of rejecting the null-hypothesis when it is
-in fact true. Beta is the maximum acceptable risk of failing to reject
-the null-hypothesis when in fact it is false.
-Also note that for a two-sided test, alpha must be divided by 2.
-
-The final parameter of the function is the standard deviation of the sample.
-
-In this example, we assume that alpha and beta are the same, and call
-`find_degrees_of_freedom` twice: once with alpha for a one-sided test,
-and once with alpha/2 for a two-sided test.
-
- for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)
- {
- // Confidence value:
- cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);
- // calculate df for single sided test:
- double df = students_t::find_degrees_of_freedom(
- fabs(M - Sm), alpha[i], alpha[i], Sd);
- // convert to sample size:
- double size = ceil(df) + 1;
- // Print size:
- cout << fixed << setprecision(0) << setw(16) << right << size;
- // calculate df for two sided test:
- df = students_t::find_degrees_of_freedom(
- fabs(M - Sm), alpha[i]/2, alpha[i], Sd);
- // convert to sample size:
- size = ceil(df) + 1;
- // Print size:
- cout << fixed << setprecision(0) << setw(16) << right << size << endl;
- }
- cout << endl;
- }
-
-Let's now look at some sample output using data taken from
-['P.K.Hou, O. W. Lau & M.C. Wong, Analyst (1983) vol. 108, p 64.
-and from Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55
-J. C. Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.]
-The values result from the determination of mercury by cold-vapour
-atomic absorption.
-
-Only three measurements were made, and the Students-t test above
-gave a borderline result, so this example
-will show us how many samples would need to be collected:
-
-[pre'''
-_____________________________________________________________
-Estimated sample sizes required for various confidence levels
-_____________________________________________________________
-
-True Mean = 38.90000
-Sample Mean = 37.80000
-Sample Standard Deviation = 0.96437
-
-
-_______________________________________________________________
-Confidence Estimated Estimated
- Value (%) Sample Size Sample Size
- (one sided test) (two sided test)
-_______________________________________________________________
- 75.000 3 4
- 90.000 7 9
- 95.000 11 13
- 99.000 20 22
- 99.900 35 37
- 99.990 50 53
- 99.999 66 68
-''']
-
-So in this case, many more measurements would have had to be made,
-for example at the 95% level, 14 measurements in total for a two-sided test.
-
-[endsect]
-[section:two_sample_students_t Comparing the means of two samples with the Students-t test]
-
-Imagine that we have two samples, and we wish to determine whether
-their means are different or not. This situation often arises when
-determining whether a new process or treatment is better than an old one.
-
-In this example, we'll be using the
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3531.htm
-Car Mileage sample data] from the
-[@http://www.itl.nist.gov NIST website]. The data compares
-miles per gallon of US cars with miles per gallon of Japanese cars.
-
-The sample code is in
-[@../../../example/students_t_two_samples.cpp students_t_two_samples.cpp].
-
-There are two ways in which this test can be conducted: we can assume
-that the true standard deviations of the two samples are equal or not.
-If the standard deviations are assumed to be equal, then the calculation
-of the t-statistic is greatly simplified, so we'll examine that case first.
-In real life we should verify whether this assumption is valid with a
-Chi-Squared test for equal variances.
-
-We begin by defining a procedure that will conduct our test assuming equal
-variances:
-
- // Needed headers:
- #include <boost/math/distributions/students_t.hpp>
- #include <iostream>
- #include <iomanip>
- // Simplify usage:
- using namespace boost::math;
- using namespace std;
-
- void two_samples_t_test_equal_sd(
- double Sm1, // Sm1 = Sample 1 Mean.
- double Sd1, // Sd1 = Sample 1 Standard Deviation.
- unsigned Sn1, // Sn1 = Sample 1 Size.
- double Sm2, // Sm2 = Sample 2 Mean.
- double Sd2, // Sd2 = Sample 2 Standard Deviation.
- unsigned Sn2, // Sn2 = Sample 2 Size.
- double alpha) // alpha = Significance Level.
- {
-
-
-Our procedure will begin by calculating the t-statistic, assuming
-equal variances the needed formulae are:
-
-[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
-samples. We can now write the code to calculate the t-statistic:
-
- // Degrees of freedom:
- double v = Sn1 + Sn2 - 2;
- cout << setw(55) << left << "Degrees of Freedom" << "= " << v << "\n";
- // Pooled variance:
- double sp = sqrt(((Sn1-1) * Sd1 * Sd1 + (Sn2-1) * Sd2 * Sd2) / v);
- cout << setw(55) << left << "Pooled Standard Deviation" << "= " << v << "\n";
- // t-statistic:
- double t_stat = (Sm1 - Sm2) / (sp * sqrt(1.0 / Sn1 + 1.0 / Sn2));
- cout << setw(55) << left << "T Statistic" << "= " << t_stat << "\n";
-
-The next step is to define our distribution object, and calculate the
-complement of the probability:
-
- students_t dist(v);
- double q = cdf(complement(dist, fabs(t_stat)));
- cout << setw(55) << left << "Probability that difference is due to chance" << "= "
- << setprecision(3) << scientific << 2 * q << "\n\n";
-
-Here we've used the absolute value of the t-statistic, because we initially
-want to know simply whether there is a difference or not (a two-sided test).
-However, we can also test whether the mean of the second sample is greater
-or is less (one-sided test) than that of the first:
-all the possible tests are summed up in the following table:
-
-[table
-[[Hypothesis][Test]]
-[[The Null-hypothesis: there is
-*no difference* in means]
-[Reject if complement of CDF for |t| < significance level / 2:
-
-`cdf(complement(dist, fabs(t))) < alpha / 2`]]
-
-[[The Alternative-hypothesis: there is a
-*difference* in means]
-[Reject if complement of CDF for |t| > significance level / 2:
-
-`cdf(complement(dist, fabs(t))) < alpha / 2`]]
-
-[[The Alternative-hypothesis: Sample 1 Mean is *less* than
-Sample 2 Mean.]
-[Reject if CDF of t > significance level:
-
-`cdf(dist, t) > alpha`]]
-
-[[The Alternative-hypothesis: Sample 1 Mean is *greater* than
-Sample 2 Mean.]
-
-[Reject if complement of CDF of t > significance level:
-
-`cdf(complement(dist, t)) > alpha`]]
-]
-
-[note
-For a two-sided test we must compare against alpha / 2 and not alpha.]
-
-Most of the rest of the sample program is pretty-printing, so we'll
-skip over that, and take a look at the sample output for alpha=0.05
-(a 95% probability level). For comparison the dataplot output
-for the same data is in
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda353.htm
-section 1.3.5.3] of the __handbook.
-
-[pre'''
- ________________________________________________
- Student t test for two samples (equal variances)
- ________________________________________________
-
- Number of Observations (Sample 1) = 249
- Sample 1 Mean = 20.14458
- Sample 1 Standard Deviation = 6.41470
- Number of Observations (Sample 2) = 79
- Sample 2 Mean = 30.48101
- Sample 2 Standard Deviation = 6.10771
- Degrees of Freedom = 326.00000
- Pooled Standard Deviation = 326.00000
- T Statistic = -12.62059
- Probability that difference is due to chance = 5.273e-030
-
- Results for Alternative Hypothesis and alpha = 0.0500'''
-
- Alternative Hypothesis Conclusion
- Sample 1 Mean != Sample 2 Mean NOT REJECTED
- Sample 1 Mean < Sample 2 Mean NOT REJECTED
- Sample 1 Mean > Sample 2 Mean REJECTED
-]
-
-So with a probability that the difference is due to chance of just
-5.273e-030, we can safely conclude that there is indeed a difference.
-
-The tests on the alternative hypothesis show that we must
-also reject the hypothesis that Sample 1 Mean is
-greater than that for Sample 2: in this case Sample 1 represents the
-miles per gallon for Japanese cars, and Sample 2 the miles per gallon for
-US cars, so we conclude that Japanese cars are on average more
-fuel efficient.
-
-Now that we have the simple case out of the way, let's look for a moment
-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:
-
-[equation dist_tutorial2]
-
-And for the combined degrees of freedom we use the
-[@http://en.wikipedia.org/wiki/Welch-Satterthwaite_equation Welch-Satterthwaite]
-approximation:
-
-[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
-integer value.
-
-[note
-Some statistical packages truncate the effective degrees of freedom to
-an integer value: this may be necessary if you are relying on lookup tables,
-but since our code fully supports non-integer degrees of freedom there is no
-need to truncate in this case. Also note that when the degrees of freedom
-is small then the Welch-Satterthwaite approximation may be a significant
-source of error.]
-
-Putting these formulae into code we get:
-
- // Degrees of freedom:
- double v = Sd1 * Sd1 / Sn1 + Sd2 * Sd2 / Sn2;
- v *= v;
- double t1 = Sd1 * Sd1 / Sn1;
- t1 *= t1;
- t1 /= (Sn1 - 1);
- double t2 = Sd2 * Sd2 / Sn2;
- t2 *= t2;
- t2 /= (Sn2 - 1);
- v /= (t1 + t2);
- cout << setw(55) << left << "Degrees of Freedom" << "= " << v << "\n";
- // t-statistic:
- double t_stat = (Sm1 - Sm2) / sqrt(Sd1 * Sd1 / Sn1 + Sd2 * Sd2 / Sn2);
- cout << setw(55) << left << "T Statistic" << "= " << t_stat << "\n";
-
-Thereafter the code and the tests are performed the same as before. Using
-are car mileage data again, here's what the output looks like:
-
-[pre'''
- __________________________________________________
- Student t test for two samples (unequal variances)
- __________________________________________________
-
- Number of Observations (Sample 1) = 249
- Sample 1 Mean = 20.145
- Sample 1 Standard Deviation = 6.4147
- Number of Observations (Sample 2) = 79
- Sample 2 Mean = 30.481
- Sample 2 Standard Deviation = 6.1077
- Degrees of Freedom = 136.87
- T Statistic = -12.946
- Probability that difference is due to chance = 1.571e-025
-
- Results for Alternative Hypothesis and alpha = 0.0500'''
-
- Alternative Hypothesis Conclusion
- Sample 1 Mean != Sample 2 Mean NOT REJECTED
- Sample 1 Mean < Sample 2 Mean NOT REJECTED
- Sample 1 Mean > Sample 2 Mean REJECTED
-]
-
-This time allowing the variances in the two samples to differ has yielded
-a higher likelihood that the observed difference is down to chance alone
-(1.571e-025 compared to 5.273e-030 when equal variances were assumed).
-However, the conclusion remains the same: US cars are less fuel efficient
-than Japanese models.
-
-[endsect]
-[section:paired_st Comparing two paired samples with the Student's t distribution]
-
-Imagine that we have a before and after reading for each item in the sample:
-for example we might have measured blood pressure before and after administration
-of a new drug. We can't pool the results and compare the means before and after
-the change, because each patient will have a different baseline reading.
-Instead we calculate the difference between before and after measurements
-in each patient, and calculate the mean and standard deviation of the differences.
-To test whether a significant change has taken place, we can then test
-the null-hypothesis that the true mean is zero using the same procedure
-we used in the single sample cases previously discussed.
-
-That means we can:
-
-* [link math_toolkit.dist.stat_tut.weg.st_eg.tut_mean_intervals Calculate confidence intervals of the mean].
-If the endpoints of the interval differ in sign then we are unable to reject
-the null-hypothesis that there is no change.
-* [link math_toolkit.dist.stat_tut.weg.st_eg.tut_mean_test Test whether the true mean is zero]. If the
-result is consistent with a true mean of zero, then we are unable to reject the
-null-hypothesis that there is no change.
-* [link math_toolkit.dist.stat_tut.weg.st_eg.tut_mean_size Calculate how many pairs of readings we would need
-in order to obtain a significant result].
-
-[endsect]
-
-[endsect][/section:st_eg Student's t]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/triangular.qbk b/libs/math/doc/sf_and_dist/distributions/triangular.qbk
deleted file mode 100644
index 4b237f9900..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/triangular.qbk
+++ /dev/null
@@ -1,168 +0,0 @@
-[section:triangular_dist Triangular Distribution]
-
-
-``#include <boost/math/distributions/triangular.hpp>``
-
- namespace boost{ namespace math{
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class triangular_distribution;
-
- typedef triangular_distribution<> triangular;
-
- template <class RealType, class ``__Policy``>
- class triangular_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- triangular_distribution(RealType lower = -1, RealType mode = 0) RealType upper = 1); // Constructor.
- : m_lower(lower), m_mode(mode), m_upper(upper) // Default is -1, 0, +1 triangular distribution.
- // Accessor functions.
- RealType lower()const;
- RealType mode()const;
- RealType upper()const;
- }; // class triangular_distribution
-
- }} // namespaces
-
-The [@http://en.wikipedia.org/wiki/Triangular_distribution triangular distribution]
-is a [@http://en.wikipedia.org/wiki/Continuous_distribution continuous]
-[@http://en.wikipedia.org/wiki/Probability_distribution probability distribution]
-with a lower limit a,
-[@http://en.wikipedia.org/wiki/Mode_%28statistics%29 mode c],
-and upper limit b.
-
-The triangular distribution is often used where the distribution is only vaguely known,
-but, like the [@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 uniform distribution],
-upper and limits are 'known', but a 'best guess', the mode or center point, is also added.
-It has been recommended as a
-[@http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf proxy for the beta distribution.]
-The distribution is used in business decision making and project planning.
-
-The [@http://en.wikipedia.org/wiki/Triangular_distribution triangular distribution]
-is a distribution with the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
-
-f(x) =
-
-* 2(x-a)/(b-a) (c-a) for a <= x <= c
-
-* 2(b-x)/(b-a)(b-c) for c < x <= b
-
-Parameter a (lower) can be any finite value.
-Parameter b (upper) can be any finite value > a (lower).
-Parameter c (mode) a <= c <= b. This is the most probable value.
-
-The [@http://en.wikipedia.org/wiki/Random_variate random variate] x must also be finite, and is supported lower <= x <= upper.
-
-The triangular distribution may be appropriate when an assumption of a normal distribution
-is unjustified because uncertainty is caused by rounding and quantization from analog to digital conversion.
-Upper and lower limits are known, and the most probable value lies midway.
-
-The distribution simplifies when the 'best guess' is either the lower or upper limit - a 90 degree angle triangle.
-The default chosen is the 001 triangular distribution which expresses an estimate that the lowest value is the most likely;
-for example, you believe that the next-day quoted delivery date is most likely
-(knowing that a quicker delivery is impossible - the postman only comes once a day),
-and that longer delays are decreasingly likely,
-and delivery is assumed to never take more than your upper limit.
-
-The following graph illustrates how the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF]
-varies with the various parameters:
-
-[graph triangular_pdf]
-
-and cumulative distribution function
-
-[graph triangular_cdf]
-
-[h4 Member Functions]
-
- triangular_distribution(RealType lower = 0, RealType mode = 0 RealType upper = 1);
-
-Constructs a [@http://en.wikipedia.org/wiki/triangular_distribution triangular distribution]
-with lower /lower/ (a) and upper /upper/ (b).
-
-Requires that the /lower/, /mode/ and /upper/ parameters are all finite,
-otherwise calls __domain_error.
-
- RealType lower()const;
-
-Returns the /lower/ parameter of this distribution (default -1).
-
- RealType mode()const;
-
-Returns the /mode/ parameter of this distribution (default 0).
-
- RealType upper()const;
-
-Returns the /upper/ parameter of this distribution (default+1).
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \lower\ to \upper\,
-and the supported range is lower <= x <= upper.
-
-[h4 Accuracy]
-
-The triangular distribution is implemented with simple arithmetic operators and so should have errors within an epsilon or two,
-except quantiles with arguments nearing the extremes of zero and unity.
-
-[h4 Implementation]
-
-In the following table, a is the /lower/ parameter of the distribution,
-c is the /mode/ parameter,
-b is the /upper/ parameter,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = 0 for x < mode, 2(x-a)\/(b-a)(c-a) else 2*(b-x)\/((b-a)(b-c))]]
-[[cdf][Using the relation: cdf = 0 for x < mode (x-a)[super 2]\/((b-a)(c-a)) else 1 - (b-x)[super 2]\/((b-a)(b-c))]]
-[[cdf complement][Using the relation: q = 1 - p ]]
-[[quantile][let p0 = (c-a)\/(b-a) the point of inflection on the cdf,
-then given probability p and q = 1-p:
-
-x = sqrt((b-a)(c-a)p) + a ; for p < p0
-
-x = c ; for p == p0
-
-x = b - sqrt((b-a)(b-c)q) ; for p > p0
-
-(See [@../../../../../boost/math/distributions/triangular.hpp /boost/math/distributions/triangular.hpp] for details.)]]
-[[quantile from the complement][As quantile (See [@../../../../../boost/math/distributions/triangular.hpp /boost/math/distributions/triangular.hpp] for details.)]]
-[[mean][(a + b + 3) \/ 3 ]]
-[[variance][(a[super 2]+b[super 2]+c[super 2] - ab - ac - bc)\/18]]
-[[mode][c]]
-[[skewness][(See [@../../../../../boost/math/distributions/triangular.hpp /boost/math/distributions/triangular.hpp] for details). ]]
-[[kurtosis][12\/5]]
-[[kurtosis excess][-3\/5]]
-]
-
-Some 'known good' test values were obtained from
-[@http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm Statlet: Calculate and plot probability distributions]
-
-[h4 References]
-
-* [@http://en.wikipedia.org/wiki/Triangular_distribution Wikpedia triangular distribution]
-* [@http://mathworld.wolfram.com/TriangularDistribution.html Weisstein, Eric W. "Triangular Distribution." From MathWorld--A Wolfram Web Resource.]
-* Evans, M.; Hastings, N.; and Peacock, B. "Triangular Distribution." Ch. 40 in Statistical Distributions, 3rd ed. New York: Wiley, pp. 187-188, 2000, ISBN - 0471371246]
-* [@http://www.brighton-webs.co.uk/distributions/triangular.asp Brighton Webs Ltd. BW D-Calc 1.0 Distribution Calculator]
-* [@http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf The Triangular Distribution including its history.]
-* [@http://www.measurement.sk/2002/S1/Wimmer2.pdf Gejza Wimmer, Viktor Witkovsky and Tomas Duby,
-Measurement Science Review, Volume 2, Section 1, 2002, Proper Rounding Of The Measurement Results Under The Assumption Of Triangular Distribution.]
-
-[endsect][/section:triangular_dist triangular]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/uniform.qbk b/libs/math/doc/sf_and_dist/distributions/uniform.qbk
deleted file mode 100644
index 5eb664802c..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/uniform.qbk
+++ /dev/null
@@ -1,134 +0,0 @@
-[section:uniform_dist Uniform Distribution]
-
-
-``#include <boost/math/distributions/uniform.hpp>``
-
- namespace boost{ namespace math{
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class uniform_distribution;
-
- typedef uniform_distribution<> uniform;
-
- template <class RealType, class ``__Policy``>
- class uniform_distribution
- {
- public:
- typedef RealType value_type;
-
- uniform_distribution(RealType lower = 0, RealType upper = 1); // Constructor.
- : m_lower(lower), m_upper(upper) // Default is standard uniform distribution.
- // Accessor functions.
- RealType lower()const;
- RealType upper()const;
- }; // class uniform_distribution
-
- }} // namespaces
-
-The uniform distribution, also known as a rectangular distribution,
-is a probability distribution that has constant probability.
-
-The [@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 continuous uniform distribution]
-is a distribution with the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
-
-f(x) =
-
-* 1 / (upper - lower) for lower < x < upper
-
-* zero for x < lower or x > upper
-
-and in this implementation:
-
-* 1 / (upper - lower) for x = lower or x = upper
-
-The choice of x = lower or x = upper is made because statistical use of this distribution judged is most likely:
-the method of maximum likelihood uses this definition.
-
-There is also a [@http://en.wikipedia.org/wiki/Discrete_uniform_distribution *discrete* uniform distribution].
-
-Parameters lower and upper can be any finite value.
-
-The [@http://en.wikipedia.org/wiki/Random_variate random variate]
-x must also be finite, and is supported lower <= x <= upper.
-
-The lower parameter is also called the
-[@http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm location parameter],
-[@http://en.wikipedia.org/wiki/Location_parameter that is where the origin of a plot will lie],
-and (upper - lower) is also called the [@http://en.wikipedia.org/wiki/Scale_parameter scale parameter].
-
-The following graph illustrates how the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function PDF]
-varies with the shape parameter:
-
-[graph uniform_pdf]
-
-Likewise for the CDF:
-
-[graph uniform_cdf]
-
-[h4 Member Functions]
-
- uniform_distribution(RealType lower = 0, RealType upper = 1);
-
-Constructs a [@http://en.wikipedia.org/wiki/uniform_distribution
-uniform distribution] with lower /lower/ (a) and upper /upper/ (b).
-
-Requires that the /lower/ and /upper/ parameters are both finite;
-otherwise if infinity or NaN then calls __domain_error.
-
- RealType lower()const;
-
-Returns the /lower/ parameter of this distribution.
-
- RealType upper()const;
-
-Returns the /upper/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions]
-that are generic to all distributions are supported: __usual_accessors.
-
-The domain of the random variable is any finite value,
-but the supported range is only /lower/ <= x <= /upper/.
-
-[h4 Accuracy]
-
-The uniform distribution is implemented with simple arithmetic operators and so should have errors within an epsilon or two.
-
-[h4 Implementation]
-
-In the following table a is the /lower/ parameter of the distribution,
-b is the /upper/ parameter,
-/x/ is the random variate, /p/ is the probability and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = 0 for x < a, 1 / (b - a) for a <= x <= b, 0 for x > b ]]
-[[cdf][Using the relation: cdf = 0 for x < a, (x - a) / (b - a) for a <= x <= b, 1 for x > b]]
-[[cdf complement][Using the relation: q = 1 - p, (b - x) / (b - a) ]]
-[[quantile][Using the relation: x = p * (b - a) + a; ]]
-[[quantile from the complement][x = -q * (b - a) + b ]]
-[[mean][(a + b) / 2 ]]
-[[variance][(b - a) [super 2] / 12 ]]
-[[mode][any value in \[a, b\] but a is chosen. (Would NaN be better?) ]]
-[[skewness][0]]
-[[kurtosis excess][-6/5 = -1.2 exactly. (kurtosis - 3)]]
-[[kurtosis][9/5]]
-]
-
-[h4 References]
-* [@http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 Wikpedia continuous uniform distribution]
-* [@http://mathworld.wolfram.com/UniformDistribution.html Weisstein, Weisstein, Eric W. "Uniform Distribution." From MathWorld--A Wolfram Web Resource.]
-* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3662.htm]
-
-[endsect][/section:uniform_dist Uniform]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/distributions/weibull.qbk b/libs/math/doc/sf_and_dist/distributions/weibull.qbk
deleted file mode 100644
index ffe6295ba4..0000000000
--- a/libs/math/doc/sf_and_dist/distributions/weibull.qbk
+++ /dev/null
@@ -1,132 +0,0 @@
-[section:weibull_dist Weibull Distribution]
-
-
-``#include <boost/math/distributions/weibull.hpp>``
-
- namespace boost{ namespace math{
-
- template <class RealType = double,
- class ``__Policy`` = ``__policy_class`` >
- class weibull_distribution;
-
- typedef weibull_distribution<> weibull;
-
- template <class RealType, class ``__Policy``>
- class weibull_distribution
- {
- public:
- typedef RealType value_type;
- typedef Policy policy_type;
- // Construct:
- weibull_distribution(RealType shape, RealType scale = 1)
- // Accessors:
- RealType shape()const;
- RealType scale()const;
- };
-
- }} // namespaces
-
-The [@http://en.wikipedia.org/wiki/Weibull_distribution Weibull distribution]
-is a continuous distribution
-with the
-[@http://en.wikipedia.org/wiki/Probability_density_function probability density function]:
-
-f(x; [alpha], [beta]) = ([alpha]\/[beta]) * (x \/ [beta])[super [alpha] - 1] * e[super -(x\/[beta])[super [alpha]]]
-
-For shape parameter [alpha][space] > 0, and scale parameter [beta][space] > 0, and x > 0.
-
-The Weibull distribution is often used in the field of failure analysis;
-in particular it can mimic distributions where the failure rate varies over time.
-If the failure rate is:
-
-* constant over time, then [alpha][space] = 1, suggests that items are failing from random events.
-* decreases over time, then [alpha][space] < 1, suggesting "infant mortality".
-* increases over time, then [alpha][space] > 1, suggesting "wear out" - more likely to fail as time goes by.
-
-The following graph illustrates how the PDF varies with the shape parameter [alpha]:
-
-[graph weibull_pdf1]
-
-While this graph illustrates how the PDF varies with the scale parameter [beta]:
-
-[graph weibull_pdf2]
-
-[h4 Related distributions]
-
-When [alpha][space] = 3, the
-[@http://en.wikipedia.org/wiki/Weibull_distribution Weibull distribution] appears similar to the
-[@http://en.wikipedia.org/wiki/Normal_distribution normal distribution].
-When [alpha][space] = 1, the Weibull distribution reduces to the
-[@http://en.wikipedia.org/wiki/Exponential_distribution exponential distribution].
-The relationship of the types of extreme value distributions, of which the Weibull is but one, is
-discussed by
-[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications
-Samuel Kotz & Saralees Nadarajah].
-
-
-[h4 Member Functions]
-
- weibull_distribution(RealType shape, RealType scale = 1);
-
-Constructs a [@http://en.wikipedia.org/wiki/Weibull_distribution
-Weibull distribution] with shape /shape/ and scale /scale/.
-
-Requires that the /shape/ and /scale/ parameters are both greater than zero,
-otherwise calls __domain_error.
-
- RealType shape()const;
-
-Returns the /shape/ parameter of this distribution.
-
- RealType scale()const;
-
-Returns the /scale/ parameter of this distribution.
-
-[h4 Non-member Accessors]
-
-All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all
-distributions are supported: __usual_accessors.
-
-The domain of the random variable is \[0, [infin]\].
-
-[h4 Accuracy]
-
-The Weibull distribution is implemented in terms of the
-standard library `log` and `exp` functions plus __expm1 and __log1p
-and as such should have very low error rates.
-
-[h4 Implementation]
-
-
-In the following table [alpha][space] is the shape parameter of the distribution,
-[beta][space] is its scale parameter, /x/ is the random variate, /p/ is the probability
-and /q = 1-p/.
-
-[table
-[[Function][Implementation Notes]]
-[[pdf][Using the relation: pdf = [alpha][beta][super -[alpha] ]x[super [alpha] - 1] e[super -(x/beta)[super alpha]] ]]
-[[cdf][Using the relation: p = -__expm1(-(x\/[beta])[super [alpha]]) ]]
-[[cdf complement][Using the relation: q = e[super -(x\/[beta])[super [alpha]]] ]]
-[[quantile][Using the relation: x = [beta] * (-__log1p(-p))[super 1\/[alpha]] ]]
-[[quantile from the complement][Using the relation: x = [beta] * (-log(q))[super 1\/[alpha]] ]]
-[[mean][[beta] * [Gamma](1 + 1\/[alpha]) ]]
-[[variance][[beta][super 2]([Gamma](1 + 2\/[alpha]) - [Gamma][super 2](1 + 1\/[alpha])) ]]
-[[mode][[beta](([alpha] - 1) \/ [alpha])[super 1\/[alpha]] ]]
-[[skewness][Refer to [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-[[kurtosis][Refer to [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-[[kurtosis excess][Refer to [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.] ]]
-]
-
-[h4 References]
-* [@http://en.wikipedia.org/wiki/Weibull_distribution ]
-* [@http://mathworld.wolfram.com/WeibullDistribution.html Weisstein, Eric W. "Weibull Distribution." From MathWorld--A Wolfram Web Resource.]
-* [@http://www.itl.nist.gov/div898/handbook/eda/section3/eda3668.htm Weibull in NIST Exploratory Data Analysis]
-
-[endsect][/section:weibull Weibull]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/ellint_introduction.qbk b/libs/math/doc/sf_and_dist/ellint_introduction.qbk
deleted file mode 100644
index c93dd5fec3..0000000000
--- a/libs/math/doc/sf_and_dist/ellint_introduction.qbk
+++ /dev/null
@@ -1,224 +0,0 @@
-[/
-Copyright (c) 2006 Xiaogang Zhang
-Use, modification and distribution are subject to the
-Boost Software License, Version 1.0. (See accompanying file
-LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-]
-
-[section:ellint_intro Elliptic Integral Overview]
-
-The main reference for the elliptic integrals is:
-
-[:M. Abramowitz and I. A. Stegun (Eds.) (1964)
-Handbook of Mathematical Functions with Formulas, Graphs, and
-Mathematical Tables,
-National Bureau of Standards Applied Mathematics Series, U.S. Government Printing Office, Washington, D.C.]
-
-Mathworld also contain a lot of useful background information:
-
-[:[@http://mathworld.wolfram.com/EllipticIntegral.html Weisstein, Eric W.
-"Elliptic Integral." From MathWorld--A Wolfram Web Resource.]]
-
-As does [@http://en.wikipedia.org/wiki/Elliptic_integral Wikipedia Elliptic integral].
-
-[h4 Notation]
-
-All variables are real numbers unless otherwise noted.
-
-[h4 [#ellint_def]Definition]
-
-[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
-in ['t].
-
-Elliptic integrals generally can not be expressed in terms of
-elementary functions. However, Legendre showed that all elliptic
-integrals can be reduced to the following three canonical forms:
-
-Elliptic Integral of the First Kind (Legendre form)
-
-[equation ellint2]
-
-Elliptic Integral of the Second Kind (Legendre form)
-
-[equation ellint3]
-
-Elliptic Integral of the Third Kind (Legendre form)
-
-[equation ellint4]
-
-where
-
-[equation ellint5]
-
-[note ['[phi]] is called the amplitude.
-
-['k] is called the modulus.
-
-['[alpha]] is called the modular angle.
-
-['n] is called the characteristic.]
-
-[caution Perhaps more than any other special functions the elliptic
-integrals are expressed in a variety of different ways. In particular,
-the final parameter /k/ (the modulus) may be expressed using a modular
-angle [alpha], or a parameter /m/. These are related by:
-
-k = sin[alpha]
-
-m = k[super 2] = sin[super 2][alpha]
-
-So that the integral of the third kind (for example) may be expressed as
-either:
-
-[Pi](n, [phi], k)
-
-[Pi](n, [phi] \\ [alpha])
-
-[Pi](n, [phi]| m)
-
-To further complicate matters, some texts refer to the ['complement
-of the parameter m], or 1 - m, where:
-
-1 - m = 1 - k[super 2] = cos[super 2][alpha]
-
-This implementation uses /k/ throughout: this matches the requirements
-of the [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
-Technical Report on C++ Library Extensions]. However, you should
-be extra careful when using these functions!]
-
-When ['[phi]] = ['[pi]] / 2, the elliptic integrals are called ['complete].
-
-Complete Elliptic Integral of the First Kind (Legendre form)
-
-[equation ellint6]
-
-Complete Elliptic Integral of the Second Kind (Legendre form)
-
-[equation ellint7]
-
-Complete Elliptic Integral of the Third Kind (Legendre form)
-
-[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
-
-[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
-
-[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
-
-[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
-
-[equation ellint12]
-
-where ['x] is nonnegative and ['y] is nonzero.
-
-[note ['R[sub C](x, y) = R[sub F](x, y, y)]
-
-['R[sub D](x, y, z) = R[sub J](x, y, z, z)]]
-
-
-[h4 [#ellint_theorem]Duplication Theorem]
-
-Carlson proved in [[link ellint_ref_carlson78 Carlson78]] that
-
-[equation ellint13]
-
-[h4 [#ellint_formula]Carlson's Formulas]
-
-The Legendre form and Carlson form of elliptic integrals are related
-by equations:
-
-[equation ellint14]
-
-In particular,
-
-[equation ellint15]
-
-[h4 Numerical Algorithms]
-
-The conventional methods for computing elliptic integrals are Gauss
-and Landen transformations, which converge quadratically and work
-well for elliptic integrals of the first and second kinds.
-Unfortunately they suffer from loss of significant digits for the
-third kind. Carlson's algorithm [[link ellint_ref_carlson79 Carlson79]] [[link ellint_ref_carlson78 Carlson78]], by contrast,
-provides a unified method for all three kinds of elliptic integrals
-with satisfactory precisions.
-
-[h4 [#ellint_refs]References]
-
-Special mention goes to:
-
-[:A. M. Legendre, ['Traitd des Fonctions Elliptiques et des Integrales
-Euleriennes], Vol. 1. Paris (1825).]
-
-However the main references are:
-
-# [#ellint_ref_AS]M. Abramowitz and I. A. Stegun (Eds.) (1964)
-Handbook of Mathematical Functions with Formulas, Graphs, and
-Mathematical Tables,
-National Bureau of Standards Applied Mathematics Series, U.S. Government Printing Office, Washington, D.C.
-# [#ellint_ref_carlson79]B.C. Carlson, ['Computing elliptic integrals by duplication],
- Numerische Mathematik, vol 33, 1 (1979).
-# [#ellint_ref_carlson77]B.C. Carlson, ['Elliptic Integrals of the First Kind],
- SIAM Journal on Mathematical Analysis, vol 8, 231 (1977).
-# [#ellint_ref_carlson78]B.C. Carlson, ['Short Proofs of Three Theorems on Elliptic Integrals],
- SIAM Journal on Mathematical Analysis, vol 9, 524 (1978).
-# [#ellint_ref_carlson81]B.C. Carlson and E.M. Notis, ['ALGORITHM 577: Algorithms for Incomplete
- Elliptic Integrals], ACM Transactions on Mathematmal Software,
- vol 7, 398 (1981).
-# B. C. Carlson, ['On computing elliptic integrals and functions]. J. Math. and
-Phys., 44 (1965), pp. 36-51.
-# B. C. Carlson, ['A table of elliptic integrals of the second kind]. Math. Comp., 49
-(1987), pp. 595-606. (Supplement, ibid., pp. S13-S17.)
-# B. C. Carlson, ['A table of elliptic integrals of the third kind]. Math. Comp., 51 (1988),
-pp. 267-280. (Supplement, ibid., pp. S1-S5.)
-# B. C. Carlson, ['A table of elliptic integrals: cubic cases]. Math. Comp., 53 (1989), pp.
-327-333.
-# B. C. Carlson, ['A table of elliptic integrals: one quadratic factor]. Math. Comp., 56 (1991),
-pp. 267-280.
-# B. C. Carlson, ['A table of elliptic integrals: two quadratic factors]. Math. Comp., 59
-(1992), pp. 165-180.
-# B. C. Carlson, ['[@http://arxiv.org/abs/math.CA/9409227
-Numerical computation of real or complex elliptic integrals]]. Numerical Algorithms,
-Volume 10, Number 1 / March, 1995, p13-26.
-# B. C. Carlson and John L. Gustafson, ['[@http://arxiv.org/abs/math.CA/9310223
-Asymptotic Approximations for Symmetric Elliptic Integrals]],
-SIAM Journal on Mathematical Analysis, Volume 25, Issue 2 (March 1994), 288-303.
-
-
-The following references, while not directly relevent to our implementation,
-may also be of interest:
-
-# R. Burlisch, ['Numerical Compuation of Elliptic Integrals and Elliptic Functions.]
-Numerical Mathematik 7, 78-90.
-# R. Burlisch, ['An extension of the Bartky Transformation to Incomplete
-Elliptic Integrals of the Third Kind]. Numerical Mathematik 13, 266-284.
-# R. Burlisch, ['Numerical Compuation of Elliptic Integrals and Elliptic Functions. III].
-Numerical Mathematik 13, 305-315.
-# T. Fukushima and H. Ishizaki, ['[@http://adsabs.harvard.edu/abs/1994CeMDA..59..237F
-Numerical Computation of Incomplete Elliptic Integrals of a General Form.]]
-Celestial Mechanics and Dynamical Astronomy, Volume 59, Number 3 / July, 1994,
-237-251.
-
-[endsect]
diff --git a/libs/math/doc/sf_and_dist/equations/acosh1.svg b/libs/math/doc/sf_and_dist/equations/acosh1.svg
deleted file mode 100644
index c9ba67d3b3..0000000000
--- a/libs/math/doc/sf_and_dist/equations/acosh1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="131.030691pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 131.030691 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" axis="6.57421875" baseline="2.58984375" bottom="0.0234626745435"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.473317, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(65.807301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/acosh2.svg b/libs/math/doc/sf_and_dist/equations/acosh2.svg
deleted file mode 100644
index 383661b3cc..0000000000
--- a/libs/math/doc/sf_and_dist/equations/acosh2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="21.253945pt" width="148.640817pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 148.640817 21.253945"><svg:metadata><svgmath:metrics top="21.2539453125" axis="11.5449609375" baseline="7.5605859375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(56.291676, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(65.625660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(15.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(85.342457, 0.000000)"/><svg:g transform="translate(97.342457, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(104.009778, 0.000000)"/><svg:g transform="translate(116.009778, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(125.067723, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(135.754575, -3.984375)"><svg:g transform="translate(3.443121, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 11.714367 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="12.886242" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/acosh3.svg b/libs/math/doc/sf_and_dist/equations/acosh3.svg
deleted file mode 100644
index c79a4d1325..0000000000
--- a/libs/math/doc/sf_and_dist/equations/acosh3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="234.563254pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 234.563254 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" axis="6.57421875" baseline="2.58984375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.473321, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text></svg:g><svg:g transform="translate(87.807309, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(8.930336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.844578, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(13.190336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.624578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(28.624578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 45.248422 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(68.569093, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.372496, 0.000000)"/><svg:g transform="translate(172.372496, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(179.039817, 0.000000)"/><svg:g transform="translate(191.039817, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(200.636824, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(210.737739, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(219.129012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(228.563254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/acosh4.svg b/libs/math/doc/sf_and_dist/equations/acosh4.svg
deleted file mode 100644
index 293bcf48dc..0000000000
--- a/libs/math/doc/sf_and_dist/equations/acosh4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.190935pt" width="299.344137pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.325701 299.344137 25.190935"><svg:metadata><svgmath:metrics top="25.1909351504" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(56.771676, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 20.948156 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(78.199832, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="27.677594" transform="scale(0.433564, 1)" text-anchor="middle" y="3.876222" x="4.608428" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(3.454102, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.000000" font-family="Times New Roman" fill="black">12</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(35.111320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(45.131500, -3.984375)"><svg:g transform="translate(1.324102, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.000000" font-family="Times New Roman" fill="black">160</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="19.171875" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(68.885406, -3.984375)"><svg:text font-size="27.677594" transform="scale(0.433564, 1)" text-anchor="middle" y="3.876222" x="4.608428" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(151.081332, 0.000000)"/><svg:g transform="translate(163.081332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(169.748652, 0.000000)"/><svg:g transform="translate(181.748652, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(191.345660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(201.446574, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">x</svg:text></svg:g><svg:g transform="translate(210.113238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(219.547481, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">1</svg:text></svg:g><svg:g transform="translate(225.547481, 0.000000)"/><svg:g transform="translate(240.880817, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(253.753215, 0.000000)"/><svg:g transform="translate(265.753215, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(275.350223, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(285.931137, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 13.413000 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh1.svg b/libs/math/doc/sf_and_dist/equations/asinh1.svg
deleted file mode 100644
index 9bbf829508..0000000000
--- a/libs/math/doc/sf_and_dist/equations/asinh1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="129.038504pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 129.038504 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" axis="6.57421875" baseline="2.58984375" bottom="0.0234626745435"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(54.481129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(63.815114, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh2.svg b/libs/math/doc/sf_and_dist/equations/asinh2.svg
deleted file mode 100644
index 7842a15bc6..0000000000
--- a/libs/math/doc/sf_and_dist/equations/asinh2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.574063pt" width="177.077895pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 177.077895 22.574063"><svg:metadata><svgmath:metrics top="22.5740625" axis="12.865078125" baseline="8.880703125" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(54.299489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(63.633473, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(15.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(86.016934, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(96.037113, -3.984375)"><svg:g transform="translate(5.578242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585937, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="17.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(113.779535, 0.000000)"/><svg:g transform="translate(125.779535, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(132.446856, 0.000000)"/><svg:g transform="translate(144.446856, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(153.504801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(164.191653, -3.984375)"><svg:g transform="translate(3.443121, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 11.714367 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="12.886242" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh3.svg b/libs/math/doc/sf_and_dist/equations/asinh3.svg
deleted file mode 100644
index 4de1cced6b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/asinh3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.714688pt" width="148.172543pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 148.172543 22.714688"><svg:metadata><svgmath:metrics top="22.7146875" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(54.299489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(62.690762, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(72.710942, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(84.453363, 0.000000)"/><svg:g transform="translate(96.453363, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(103.120684, 0.000000)"/><svg:g transform="translate(115.120684, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(124.178629, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(134.759543, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 13.413000 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/asinh4.svg b/libs/math/doc/sf_and_dist/equations/asinh4.svg
deleted file mode 100644
index 5c11b5ea50..0000000000
--- a/libs/math/doc/sf_and_dist/equations/asinh4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="13.729419pt" width="178.943614pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 178.943614 13.729419"><svg:metadata><svgmath:metrics top="13.7294186359" axis="6.57421875" baseline="2.58984375" bottom="1.7763568394e-015"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.481133, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text></svg:g><svg:g transform="translate(85.815122, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.825520, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="22.666992" font-family="Times New Roman" fill="black">sqrtp1m1</svg:text></svg:g><svg:g transform="translate(67.159508, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(13.980703, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(89.132398, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/atanh1.svg b/libs/math/doc/sf_and_dist/equations/atanh1.svg
deleted file mode 100644
index 4a84de6809..0000000000
--- a/libs/math/doc/sf_and_dist/equations/atanh1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.238832pt" width="93.481230pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.514223 93.481230 26.238832"><svg:metadata><svgmath:metrics top="26.238832069" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.723317, -3.984375)"><svg:g transform="translate(0.585938, -5.072344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="18.087991" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.878956, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="37.757913" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/atanh2.svg b/libs/math/doc/sf_and_dist/equations/atanh2.svg
deleted file mode 100644
index dab81641ae..0000000000
--- a/libs/math/doc/sf_and_dist/equations/atanh2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.714688pt" width="148.828793pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 148.828793 22.714688"><svg:metadata><svgmath:metrics top="22.7146875" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(54.955739, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(63.347012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(73.367192, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(85.109613, 0.000000)"/><svg:g transform="translate(97.109613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(103.776934, 0.000000)"/><svg:g transform="translate(115.776934, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(124.834879, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(135.415793, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 13.413000 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(1.958721, -6.605977)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/atanh3.svg b/libs/math/doc/sf_and_dist/equations/atanh3.svg
deleted file mode 100644
index dfaaaab8da..0000000000
--- a/libs/math/doc/sf_and_dist/equations/atanh3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.242200pt" width="164.531918pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 164.531918 22.242200"><svg:metadata><svgmath:metrics top="22.2422000873" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.723317, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text><svg:g transform="translate(29.333988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.717449, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(57.151695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">log1p</svg:text></svg:g><svg:g transform="translate(86.485684, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.404300, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="108.808601" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel1.svg b/libs/math/doc/sf_and_dist/equations/bessel1.svg
deleted file mode 100644
index 64d8e1eeec..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="136.954703pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 136.954703 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(46.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(63.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(72.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.005672, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(111.520453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(120.853789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(130.954703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel10.svg b/libs/math/doc/sf_and_dist/equations/bessel10.svg
deleted file mode 100644
index 8e2c4cd101..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel10.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="186.572914pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 186.572914 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(16.590469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.978492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.412742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(63.749985, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.455063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(94.209301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(109.930653, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(122.698231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(142.027660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.732739, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(173.518227, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel11.svg b/libs/math/doc/sf_and_dist/equations/bessel11.svg
deleted file mode 100644
index 6ec330da95..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel11.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="28.755577pt" width="206.160014pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.330137 206.160014 28.755577"><svg:metadata><svgmath:metrics top="28.7555770005" bottom="0.0" baseline="12.4254402818" axis="16.4098152818"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF1</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(32.678395, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(47.539407, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.226258, -3.984375)"><svg:g transform="translate(0.585938, -4.400449)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(5.118428, 9.544922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.991094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(83.136625, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(93.823477, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(133.926960, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(176.777842, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(188.794123, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(200.810405, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel12.svg b/libs/math/doc/sf_and_dist/equations/bessel12.svg
deleted file mode 100644
index a46af54da4..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel12.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.679211pt" width="330.189465pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.823980 330.189465 35.679211"><svg:metadata><svgmath:metrics top="35.679210862" bottom="0.670661858308" baseline="13.855230431" axis="17.839605431"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF2</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(32.678395, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(42.669278, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.103520, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(55.437504, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(64.770840, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(75.457692, -3.984375)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(6.972656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(13.420902, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.855144, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(26.189129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.544922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(13.420902, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.855144, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(26.189129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="39.146492" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(118.523457, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(128.624371, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.206807" x="3.581891" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(3.448242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(33.499344, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.206807" x="3.581891" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(168.786473, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(178.806652, -3.984375)"><svg:g transform="translate(1.781250, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(0.585938, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(186.289074, -3.984375)"><svg:text font-size="39.243300" transform="scale(0.305785, 1)" text-anchor="middle" y="9.370104" x="6.534163" font-family="Times New Roman" fill="black">[</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(2.607395, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.957211)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(21.522602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(30.956844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(25.155594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.818351, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="45.757805" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(46.929680, 0.000000)"><svg:g transform="translate(5.607395, -5.040305)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.057270)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(21.522602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(30.956844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(23.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(31.155594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.818351, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="51.757805" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(102.606758, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(114.623039, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(126.639320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:g><svg:g transform="translate(139.904297, 0.000000)"><svg:text font-size="39.243300" transform="scale(0.305785, 1)" text-anchor="middle" y="9.370104" x="6.534163" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel13.mml b/libs/math/doc/sf_and_dist/equations/bessel13.mml
deleted file mode 100644
index 16a6465caf..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel13.mml
+++ /dev/null
@@ -1,140 +0,0 @@
- <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <msub>
- <mi>J</mi>
- <mi>&#x03BC;</mi>
- </msub>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mo>&#x00B1;</mo>
- <msup>
- <mfenced>
- <mrow>
- <mfrac>
- <mi>W</mi>
- <mrow>
- <mi>q</mi>
- <mo>+</mo>
- <mi>&#x03B3;</mi>
- <mfenced>
- <mrow>
- <mi>p</mi>
- <mo>&#x2212;</mo>
- <msub>
- <mi>f</mi>
- <mi>&#x03BC;</mi>
- </msub>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <mn>2</mn>
- </mfrac>
- </mrow>
- </msup>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msub>
- <mi>J</mi>
- <mrow>
- <mi>&#x03BC;</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </msub>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msub>
- <mi>J</mi>
- <mi>&#x03BC;</mi>
- </msub>
- <mfenced>
- <mrow>
- <mfrac>
- <mi>&#x03BC;</mi>
- <mi>x</mi>
- </mfrac>
- <mo>&#x2212;</mo>
- <msub>
- <mi>f</mi>
- <mi>&#x03BC;</mi>
- </msub>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msub>
- <mi>Y</mi>
- <mi>&#x03BC;</mi>
- </msub>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mi>&#x03B3;</mi>
- <msub>
- <mi>J</mi>
- <mi>&#x03BC;</mi>
- </msub>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msub>
- <mi>Y</mi>
- <mrow>
- <mi>&#x03BC;</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </msub>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msub>
- <mi>Y</mi>
- <mi>&#x03BC;</mi>
- </msub>
- <mfenced>
- <mrow>
- <mfrac>
- <mi>&#x03BC;</mi>
- <mi>x</mi>
- </mfrac>
- <mo>&#x2212;</mo>
- <mi>p</mi>
- <mo>&#x2212;</mo>
- <mfrac>
- <mi>q</mi>
- <mi>&#x03B3;</mi>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
-
diff --git a/libs/math/doc/sf_and_dist/equations/bessel13.png b/libs/math/doc/sf_and_dist/equations/bessel13.png
deleted file mode 100644
index 33d302980b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel13.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/bessel13.svg b/libs/math/doc/sf_and_dist/equations/bessel13.svg
deleted file mode 100644
index 15c2cbcf63..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel13.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="84.569656pt" width="115.795384pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -46.269203 115.795384 84.569656"><svg:metadata><svgmath:metrics top="84.5696561113" bottom="0.0" baseline="38.3004530556" axis="42.2848280556"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(5.048115, -24.828315)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(31.394824, -28.812690)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.762402, -28.812690)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">±</svg:text><svg:g transform="translate(7.252605, 0.000000)"><svg:text font-size="24.544149" transform="scale(0.488915, 1)" text-anchor="middle" y="5.860395" x="4.086697" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(19.371350, -1.728574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.548613" font-family="Times New Roman" font-style="italic" fill="black">W</svg:text></svg:g><svg:g transform="translate(0.585938, 7.525607)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.678623" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(16.208889, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="10.501396" transform="scale(0.811321, 1)" text-anchor="middle" y="4.194406" x="1.748524" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.093527, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.791839, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.652100" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(5.499727, 1.905352)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(26.566292, -2.828906)"><svg:text font-size="10.501396" transform="scale(0.811321, 1)" text-anchor="middle" y="4.194406" x="1.748524" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="46.784283" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.952252, 0.000000)"><svg:text font-size="24.544149" transform="scale(0.488915, 1)" text-anchor="middle" y="5.860395" x="4.086697" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.948345, -7.199926)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.515625, -1.183343)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.394824, -5.167718)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.112190, -1.183343)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(11.698594, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.169603" transform="scale(0.698910, 1)" text-anchor="middle" y="4.801209" x="2.858806" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(0.916670, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.897812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.150414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.584656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.638719, -3.984375)"><svg:text font-size="17.169603" transform="scale(0.698910, 1)" text-anchor="middle" y="4.801209" x="2.858806" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.532490, 16.668942)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(31.394824, 12.684567)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.565338, 16.668942)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 37.745043)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.394824, 33.760668)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.818143, 37.745043)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(12.729844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.827497" transform="scale(0.758174, 1)" text-anchor="middle" y="3.787444" x="2.635340" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(0.916670, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.897812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.150414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.584656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(28.575539, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.595719, -3.984375)"><svg:g transform="translate(0.585938, -3.421758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(1.037314, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.678623" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(49.195562, -3.984375)"><svg:text font-size="15.827497" transform="scale(0.758174, 1)" text-anchor="middle" y="3.787444" x="2.635340" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel14.svg b/libs/math/doc/sf_and_dist/equations/bessel14.svg
deleted file mode 100644
index e53a3203a8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel14.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.922773pt" width="51.817734pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.438398 51.817734 23.922773"><svg:metadata><svgmath:metrics top="23.9227734375" bottom="0.0" baseline="5.484375" axis="9.46875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(8.061852, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(18.748703, -3.984375)"><svg:g transform="translate(0.585938, -6.121992)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(9.990883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.425125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(13.534516, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.069031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel15.mml b/libs/math/doc/sf_and_dist/equations/bessel15.mml
deleted file mode 100644
index 68f0adad0b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel15.mml
+++ /dev/null
@@ -1 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" ><mtable columnalign="left" class="align"> <mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >Y</mi> </mrow><mrow ><mi >&#x03BC;</mi></mrow></msub ></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <mo class="MathClass-bin">&#x2212;</mo><munderover accentunder="false" accent="false"><mrow ><mo mathsize="big" >&#x2211;</mo> </mrow><mrow ><mi >k</mi><mo class="MathClass-rel">=</mo><mn>0</mn></mrow><mrow ><mi >&#x221E;</mi></mrow></munderover ><msub><mrow ><mi >c</mi></mrow><mrow ><mi >k</mi></mrow></msub ><msub><mrow ><mi >g</mi></mrow><mrow ><mi >k</mi></mrow></msub ><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr><mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >Y</mi> </mrow><mrow ><mi >&#x03BC;</mi><mo class="MathClass-bin">+</mo><mn>1</mn></mrow></msub ></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <mo class="MathClass-bin">&#x2212;</mo><mfrac><mrow ><mn>2</mn></mrow><mrow ><mi >x</mi></mrow></mfrac><munderover accentunder="false" accent="false"><mrow ><mo mathsize="big" >&#x2211;</mo> </mrow><mrow ><mi >k</mi><mo class="MathClass-rel">=</mo><mn>0</mn></mrow><mrow ><mi >&#x221E;</mi></mrow></munderover ><msub><mrow ><mi >c</mi></mrow><mrow ><mi >k</mi></mrow></msub ><msub><mrow ><mi >h</mi></mrow><mrow ><mi >k</mi></mrow></msub ><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr></mtable></math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel15.svg b/libs/math/doc/sf_and_dist/equations/bessel15.svg
deleted file mode 100644
index a9a68951e8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel15.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="67.557891pt" width="161.608560pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -37.763320 161.608560 67.557891"><svg:metadata><svgmath:metrics top="67.557890625" bottom="0.0" baseline="29.7945703125" axis="33.7789453125"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.064980, -15.291094)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(31.394824, -15.291094)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(12.767578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.201820, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="7.268360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(0.649552, 16.492031)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.231446, -10.576289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(36.738541, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(46.237349, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.574219, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(56.984205, 0.000000)"/></svg:g><svg:g transform="translate(128.008560, -15.291094)"/><svg:g transform="translate(137.608560, -15.291094)"/><svg:g transform="translate(0.000000, 21.171445)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.394824, 21.171445)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(12.767578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.787758, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.683701, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(28.805570, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="7.268360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(0.649552, 16.492031)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.231446, -10.576289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(43.342291, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(52.841099, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(63.013736, 0.000000)"/></svg:g><svg:g transform="translate(128.008560, 21.171445)"/><svg:g transform="translate(137.608560, 21.171445)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel16.svg b/libs/math/doc/sf_and_dist/equations/bessel16.svg
deleted file mode 100644
index bc57fae632..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel16.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.099590pt" width="68.410617pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.218887 68.410617 27.099590"><svg:metadata><svgmath:metrics top="27.0995902423" bottom="0.0552742346939" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(12.832145, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.518996, -3.984375)"><svg:g transform="translate(3.189127, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.378254" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.483188, -3.984375)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(8.020183, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(23.758698, 0.000000)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(27.754792, -8.318770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel2.svg b/libs/math/doc/sf_and_dist/equations/bessel2.svg
deleted file mode 100644
index 018061483c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.696463pt" width="153.677772pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.288407 153.677772 38.696463"><svg:metadata><svgmath:metrics top="38.6964632812" bottom="0.0" baseline="16.4080558594" axis="20.3924308594"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.142262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(37.243176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(17.402344, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.398438, -11.291072)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(62.423195, -3.984375)"><svg:text font-size="28.751642" text-anchor="middle" y="6.865016" x="10.248388" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.629579, 20.292587)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.211474, -14.376845)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(83.505909, -3.984375)"><svg:g transform="translate(17.323272, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.020183, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.037995, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(27.356589, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.352683, -6.783500)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.970695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.404937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.401031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="70.171863" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel3.svg b/libs/math/doc/sf_and_dist/equations/bessel3.svg
deleted file mode 100644
index f3f7f41a8c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.236563pt" width="146.923820pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.711184 146.923820 25.236563"><svg:metadata><svgmath:metrics top="25.2365625" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.173512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(38.860363, -3.984375)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.142262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(46.471692, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.843434, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(78.277676, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(93.836895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.510568, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(17.337242, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="108.063457" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel4.svg b/libs/math/doc/sf_and_dist/equations/bessel4.svg
deleted file mode 100644
index 2cc92987fc..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="128.761816pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 128.761816 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.819219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.207242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.894094, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(59.978078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(70.732317, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(86.453668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(95.887910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(115.707129, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel5.svg b/libs/math/doc/sf_and_dist/equations/bessel5.svg
deleted file mode 100644
index 13c5797319..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="131.855566pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 131.855566 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.850469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.238492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.925344, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(61.009328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(72.794817, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.516168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(97.950410, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(118.800879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel6.svg b/libs/math/doc/sf_and_dist/equations/bessel6.svg
deleted file mode 100644
index 9107b9f4f4..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="113.696836pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 113.696836 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(6.972656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.142262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(37.829113, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(44.913098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(55.667336, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(71.388688, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(80.822930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(100.642148, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel7.svg b/libs/math/doc/sf_and_dist/equations/bessel7.svg
deleted file mode 100644
index 707b8ff75e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="116.790586pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 116.790586 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.173512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(38.860363, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(45.944348, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(57.729836, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(73.451188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(82.885430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(103.735898, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel8.svg b/libs/math/doc/sf_and_dist/equations/bessel8.svg
deleted file mode 100644
index a220f5bf05..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.233145pt" width="301.764133pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 301.764133 18.233145"><svg:metadata><svgmath:metrics top="18.2331445312" bottom="1.62181640625" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.998047" font-family="Times New Roman" font-style="italic" fill="black">W</svg:text><svg:g transform="translate(14.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(24.760422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(35.514660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(48.569348, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(60.354836, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(76.076188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(85.510430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(97.295918, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.350605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(6.972656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(121.104844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(137.492867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(147.593781, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(159.379270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(172.433957, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(192.253176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(207.974527, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(217.408770, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(228.163008, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(241.217695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(262.068164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(278.456188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(289.143039, -3.984375)"><svg:g transform="translate(3.310547, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.621094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel9.svg b/libs/math/doc/sf_and_dist/equations/bessel9.svg
deleted file mode 100644
index fc54da15a2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel9.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="185.541664pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 185.541664 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(15.559219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.947242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(45.381492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(64.710922, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(84.416000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(95.170239, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.891590, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(123.659168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(140.996410, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.701489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(172.486977, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.svg b/libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.svg
deleted file mode 100644
index 2a53acc192..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel_y0_small_z.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.438826pt" width="181.867430pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.714216 181.867430 19.438826"><svg:metadata><svgmath:metrics top="19.4388258593" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.318594, 0.000000)"/><svg:g transform="translate(40.651930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.752844, 0.000000)"/><svg:g transform="translate(63.338781, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.483313, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.336586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(43.770828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(52.495437, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(127.974844, 0.000000)"/><svg:g transform="translate(139.974844, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(146.642164, 0.000000)"/><svg:g transform="translate(158.642164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(167.038000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(177.138914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.svg b/libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.svg
deleted file mode 100644
index ef74f41c40..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel_y1_small_z.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.579451pt" width="246.592680pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.714216 246.592680 19.579451"><svg:metadata><svgmath:metrics top="19.5794508593" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.318594, 0.000000)"/><svg:g transform="translate(40.651930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.752844, 0.000000)"/><svg:g transform="translate(63.338781, -3.984375)"><svg:g transform="translate(1.248047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.483313, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(86.817297, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(105.819898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(115.840078, -3.984375)"><svg:g transform="translate(3.310547, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="12.621094" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(131.713773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(141.733953, -3.984375)"><svg:g transform="translate(4.248047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(155.878484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(32.825516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(192.700093, 0.000000)"/><svg:g transform="translate(204.700093, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(211.367414, 0.000000)"/><svg:g transform="translate(223.367414, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(231.763250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(241.864164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.svg b/libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.svg
deleted file mode 100644
index 3252d3db13..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel_y2_small_z.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.589531pt" width="258.242648pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.708828 258.242648 25.589531"><svg:metadata><svgmath:metrics top="25.58953125" axis="12.865078125" baseline="8.880703125" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"/><svg:g transform="translate(27.597242, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(37.698156, 0.000000)"/><svg:g transform="translate(52.364820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(62.385000, -3.984375)"><svg:g transform="translate(2.118047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">8</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.529531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(25.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(35.169266, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(118.361554, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(128.381734, -3.984375)"><svg:g transform="translate(5.440547, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:g transform="translate(0.585937, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="16.881094" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(148.515429, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(158.535609, -3.984375)"><svg:g transform="translate(2.118047, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(172.680140, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(188.014125, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(204.350062, 0.000000)"/><svg:g transform="translate(216.350062, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(223.017382, 0.000000)"/><svg:g transform="translate(235.017382, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(243.413218, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(253.514133, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.svg b/libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.svg
deleted file mode 100644
index 4a8b2a2854..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel_yn_small_z.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.780623pt" width="248.610801pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.056013 248.610801 20.780623"><svg:metadata><svgmath:metrics top="20.7806227343" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.263906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.318594, 0.000000)"/><svg:g transform="translate(40.651930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.752844, 0.000000)"/><svg:g transform="translate(65.419508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(74.853750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(107.532781, -3.984375)"><svg:g transform="translate(1.781250, -5.748047)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.677312, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.335938, -7.306697)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(141.078230, 0.000000)"/><svg:g transform="translate(153.078230, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(159.745551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(168.141387, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(178.242301, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">ε</svg:text></svg:g><svg:g transform="translate(182.970816, 0.000000)"/><svg:g transform="translate(198.304152, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(211.176551, 0.000000)"/><svg:g transform="translate(223.176551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(232.509887, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(242.610801, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.svg b/libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.svg
deleted file mode 100644
index cba561244e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/bessel_yv_small_z.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="43.634210pt" width="430.146818pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.444809 430.146818 43.634210"><svg:metadata><svgmath:metrics top="43.6342104634" axis="21.1737764752" baseline="17.1894014752" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.840176, 0.000000)"/><svg:g transform="translate(40.173512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.274426, 0.000000)"/><svg:g transform="translate(64.941090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(74.961270, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(9.322266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(8.250000, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="22.886719" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(98.433926, -3.984375)"><svg:text font-size="34.672236" text-anchor="middle" y="6.368577" x="12.358756" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(5.748268, 21.073933)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(9.321842, -18.533246)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(123.737375, -3.984375)"><svg:g transform="translate(0.585938, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.582429, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.799125)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.415996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.220977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(5.797299, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(27.423172, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.419266, 3.808334)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(35.575262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(42.762109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="58.352800" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.676113, 0.000000)"/><svg:g transform="translate(197.342777, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(206.777019, 0.000000)"/><svg:g transform="translate(219.362956, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(16.756511, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.149089, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(45.145183, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(29.817709, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="66.022136" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(285.971030, -3.984375)"><svg:text font-size="34.672236" text-anchor="middle" y="6.368577" x="12.358756" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(5.748268, 21.073933)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(9.321842, -18.533246)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(311.274479, -3.984375)"><svg:g transform="translate(0.585938, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.582429, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.894951" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="5.431875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.799125)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.415996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.220977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(5.797299, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.423172, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.419266, 3.808334)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(35.575262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(42.762109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="58.352800" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(370.213217, 0.000000)"/><svg:g transform="translate(382.213217, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(388.880537, 0.000000)"/><svg:g transform="translate(400.880537, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(409.540045, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∉</svg:text></svg:g><svg:g transform="translate(422.412443, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.867188" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℤ</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta1.svg b/libs/math/doc/sf_and_dist/equations/beta1.svg
deleted file mode 100644
index 67d24a0030..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="157.009121pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 157.009121 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.442063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(70.047531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(100.373051, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(111.059903, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.388672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(30.785156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.729820, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="45.949219" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta2.svg b/libs/math/doc/sf_and_dist/equations/beta2.svg
deleted file mode 100644
index 8eebc13d5a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.411665pt" width="360.516323pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.874555 360.516323 26.411665"><svg:metadata><svgmath:metrics top="26.4116646247" bottom="0.0" baseline="8.537109375" axis="12.521484375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.442063, -3.984375)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.636391, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.048812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.216781, 0.000000)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(80.212875, -8.132524)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(162.369918, -3.984375)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.636391, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.048812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.216781, 0.000000)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(80.212875, -7.974438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(247.322792, -3.984375)"><svg:g transform="translate(14.595703, 0.000000)"><svg:g transform="translate(23.810867, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 0.967266 L 4.706719 0.967266 L 10.059857 10.880485 L 9.980927 11.400985 L 4.476319 1.207266 L 4.116319 1.207266 L 9.966797 12.041484 L 13.289063 -9.866953 L 68.850250 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(317.238980, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.052734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text></svg:g><svg:g transform="translate(28.113281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.449219, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(9.322266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.277344" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta3.svg b/libs/math/doc/sf_and_dist/equations/beta3.svg
deleted file mode 100644
index 73250d4c89..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="32.003289pt" width="419.240804pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.673367 419.240804 32.003289"><svg:metadata><svgmath:metrics top="32.0032892219" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.442063, -3.984375)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.636391, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.048812" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.216781, 0.000000)"><svg:text font-size="27.544576" transform="scale(0.435657, 1)" text-anchor="middle" y="6.576805" x="4.586279" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(80.212875, -7.974438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(13.324980, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.129961, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(171.434898, -3.984375)"><svg:text font-size="33.688163" transform="scale(0.356208, 1)" text-anchor="middle" y="8.043707" x="5.609211" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(55.772125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(59.768219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(55.772125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.289594, 12.724453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(45.442695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(54.876937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(73.873031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(77.869125, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="120.708312" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(125.876281, 0.000000)"><svg:text font-size="33.688163" transform="scale(0.356208, 1)" text-anchor="middle" y="8.043707" x="5.609211" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(129.872375, -10.773250)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(306.047273, -3.984375)"><svg:g transform="translate(14.595703, 0.000000)"><svg:g transform="translate(23.810867, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 0.967266 L 4.706719 0.967266 L 10.059857 10.880485 L 9.980927 11.400985 L 4.476319 1.207266 L 4.116319 1.207266 L 9.966797 12.041484 L 13.289063 -9.866953 L 68.850250 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(375.963460, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.052734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text></svg:g><svg:g transform="translate(28.113281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.449219, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(9.322266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.277344" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta4.svg b/libs/math/doc/sf_and_dist/equations/beta4.svg
deleted file mode 100644
index f130637eb9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.582019pt" width="165.987629pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 165.987629 22.582019"><svg:metadata><svgmath:metrics top="22.5820186627" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.028000, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(13.632484, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.264969" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(98.878910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text></svg:g><svg:g transform="translate(120.894539, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta5.svg b/libs/math/doc/sf_and_dist/equations/beta5.svg
deleted file mode 100644
index 7187419cbf..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.582019pt" width="230.282539pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 230.282539 22.582019"><svg:metadata><svgmath:metrics top="22.5820186627" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.341149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.028000, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(26.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.197906, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.729484, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="83.458968" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(149.072910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text></svg:g><svg:g transform="translate(171.088539, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(35.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(45.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(55.197906, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta6.svg b/libs/math/doc/sf_and_dist/equations/beta6.svg
deleted file mode 100644
index 64683ba665..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.503906pt" width="303.855481pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -9.914063 303.855481 12.503906"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(11.080078, 0.000000)"/><svg:g transform="translate(23.080078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(32.413414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="6.708984" font-family="Lucida Sans Unicode" fill="black">≫</svg:text></svg:g><svg:g transform="translate(49.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(55.164719, 0.000000)"/><svg:g transform="translate(67.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(73.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(79.164719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(85.656906, 0.000000)"/><svg:g transform="translate(97.656906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(106.323570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(115.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(125.091149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(135.192063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(141.192063, 0.000000)"/><svg:g transform="translate(153.192063, 0.000000)"/><svg:g transform="translate(165.192063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(168.789719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(174.789719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(180.115891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(189.449227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(196.116547, 0.000000)"/><svg:g transform="translate(208.116547, 0.000000)"/><svg:g transform="translate(220.116547, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(226.116547, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(231.442719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(235.040375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(241.040375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(271.365895, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(281.466809, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(289.863293, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta7.svg b/libs/math/doc/sf_and_dist/equations/beta7.svg
deleted file mode 100644
index ee8feaf66e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.781250pt" width="196.177110pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 196.177110 19.781250"><svg:metadata><svgmath:metrics top="19.78125" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.665039" font-family="Times New Roman" fill="black">if</svg:text><svg:g transform="translate(10.548832, 0.000000)"/><svg:g transform="translate(22.548832, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(31.882168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(41.983082, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(47.983082, 0.000000)"/><svg:g transform="translate(59.983082, 0.000000)"/><svg:g transform="translate(73.983086, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.997070" font-family="Times New Roman" fill="black">then:</svg:text></svg:g><svg:g transform="translate(99.977231, 0.000000)"/><svg:g transform="translate(111.977231, 0.000000)"/><svg:g transform="translate(125.977235, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text></svg:g><svg:g transform="translate(147.992864, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(178.318383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(189.005235, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta8.svg b/libs/math/doc/sf_and_dist/equations/beta8.svg
deleted file mode 100644
index a059630be5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="21.507966pt" width="83.166914pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.420075 83.166914 21.507966"><svg:metadata><svgmath:metrics top="21.5079656451" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(6.315117, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.120098, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(13.653633, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(17.913633, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.718613, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(25.252148, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(34.838320, -3.984375)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(0.922852, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.740234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.908203, 0.000000)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.904297, -7.670759)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(59.002617, -3.984375)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(0.922852, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.740234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.908203, 0.000000)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.904297, -5.519958)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.svg b/libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.svg
deleted file mode 100644
index 66d0fa7790..0000000000
--- a/libs/math/doc/sf_and_dist/equations/beta_dist_kurtosis.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.800638pt" width="200.498718pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.275234 200.498718 27.800638"><svg:metadata><svgmath:metrics top="27.8006375873" bottom="0.0" baseline="8.52540321227" axis="12.5097782123"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(6.585938, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(13.225492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.659734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(33.218562, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(15.563148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(24.997391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(34.993484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(74.874804, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(84.309046, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(6.896484, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(95.465531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(9.563148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.997391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.993484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(131.121773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(140.556015, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(146.556015, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(152.854843, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(159.751328, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(9.563148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.997391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.993484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.969422, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(13.195313, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(27.962883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(37.397125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(47.393219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(64.584625, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(27.962883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(37.397125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(47.393219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="193.912781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/binomial_ref1.mml b/libs/math/doc/sf_and_dist/equations/binomial_ref1.mml
deleted file mode 100644
index 6b334c3852..0000000000
--- a/libs/math/doc/sf_and_dist/equations/binomial_ref1.mml
+++ /dev/null
@@ -1,212 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mtext>f</mtext>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>;</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msub>
- <mi/>
- <mi>n</mi>
- </msub>
- <msub>
- <mi>C</mi>
- <mi>k</mi>
- </msub>
- <msup>
- <mi>p</mi>
- <mi>k</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </msup>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mfrac>
- <mrow>
- <mi>n</mi>
- <mo>!</mo>
- </mrow>
- <mrow>
- <mi>k</mi>
- <mo>!</mo>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- <mo>!</mo>
- </mrow>
- </mfrac>
- <msup>
- <mi>p</mi>
- <mi>k</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </msup>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mfrac>
- <mrow>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <msup>
- <mi>p</mi>
- <mi>k</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </msup>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mfrac>
- <mrow>
- <msup>
- <mi>p</mi>
- <mi>k</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </msup>
- </mrow>
- <mrow>
- <mi>B</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1,</mn>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/binomial_ref1.png b/libs/math/doc/sf_and_dist/equations/binomial_ref1.png
deleted file mode 100644
index 3a52b09bfa..0000000000
--- a/libs/math/doc/sf_and_dist/equations/binomial_ref1.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/binomial_ref1.svg b/libs/math/doc/sf_and_dist/equations/binomial_ref1.svg
deleted file mode 100644
index ec7cef8f8f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/binomial_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="88.000042pt" width="204.124817pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -47.984396 204.124817 88.000042"><svg:metadata><svgmath:metrics top="88.0000423771" bottom="0.0" baseline="40.0156461886" axis="44.0000211886"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -32.717092)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.544273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(18.544273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.544269, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(36.864582, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(57.675524, -36.701467)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(101.570069, -32.717092)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(16.875996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(28.372852, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(18.037762, -12.920373)"/><svg:g transform="translate(57.675524, -16.904748)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(91.909583, -12.920373)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(13.783569, -1.716094)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.206666, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.119302, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(7.956529, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.861507, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.601928, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.611029" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.196967, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(47.693822, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(18.037762, 11.138438)"/><svg:g transform="translate(57.675524, 7.154063)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.043102, 11.138438)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(21.298196, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(6.065968, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.764280, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.861507, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.660237, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(34.621741, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.917612, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.615923, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(32.713150, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.343993" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.929930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(83.426786, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(18.037762, 38.638585)"/><svg:g transform="translate(57.675524, 34.654210)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(97.052704, 34.654210)"><svg:g transform="translate(19.394184, -3.421758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.118164, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(20.889065, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.726292, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(5.399883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(6.065968, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.764280, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(19.154280, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(25.307612, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(32.005923, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(38.071892, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(44.770203, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(51.867430, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.104539, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="84.062511" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/binomial_ref2.mml b/libs/math/doc/sf_and_dist/equations/binomial_ref2.mml
deleted file mode 100644
index 4d660be959..0000000000
--- a/libs/math/doc/sf_and_dist/equations/binomial_ref2.mml
+++ /dev/null
@@ -1,98 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mtext>f</mtext>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>;</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msub>
- <mi/>
- <mi>n</mi>
- </msub>
- <msub>
- <mi>C</mi>
- <mi>k</mi>
- </msub>
- <msup>
- <mi>p</mi>
- <mi>k</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </msup>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mfrac>
- <mrow>
- <mi>n</mi>
- <mo>!</mo>
- </mrow>
- <mrow>
- <mi>k</mi>
- <mo>!</mo>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- <mo>!</mo>
- </mrow>
- </mfrac>
- <msup>
- <mi>p</mi>
- <mi>k</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </msup>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/binomial_ref2.png b/libs/math/doc/sf_and_dist/equations/binomial_ref2.png
deleted file mode 100644
index 2707329b55..0000000000
--- a/libs/math/doc/sf_and_dist/equations/binomial_ref2.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/binomial_ref2.svg b/libs/math/doc/sf_and_dist/equations/binomial_ref2.svg
deleted file mode 100644
index 25b7e9938b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/binomial_ref2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.441085pt" width="168.391854pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.204917 168.391854 36.441085"><svg:metadata><svgmath:metrics top="36.441084813" bottom="0.0" baseline="14.2361674065" axis="18.2205424065"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -6.937613)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.544273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(18.544273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.544269, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(36.864582, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(57.675524, -10.921988)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(83.703587, -6.937613)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(16.875996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(28.372852, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(18.037762, 12.859106)"/><svg:g transform="translate(57.675524, 8.874731)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.043102, 12.859106)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(13.783569, -1.716094)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.206666, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.119302, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(7.956529, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.861507, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.601928, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.611029" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.196967, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(47.693822, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/cauchy_ref1.svg b/libs/math/doc/sf_and_dist/equations/cauchy_ref1.svg
deleted file mode 100644
index ee6c6a8a7b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/cauchy_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.510201pt" width="162.094481pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.257990 162.094481 34.510201"><svg:metadata><svgmath:metrics top="34.5102014903" bottom="0.0" baseline="13.2522116885" axis="17.2365866885"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">0,</svg:text></svg:g></svg:g><svg:g transform="translate(24.506539, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g></svg:g><svg:g transform="translate(33.231149, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.442090, 0.000000)"/><svg:g transform="translate(59.775426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(69.876340, 0.000000)"/><svg:g transform="translate(82.462278, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(90.606809, -3.984375)"><svg:text font-size="37.916788" transform="scale(0.316483, 1)" text-anchor="middle" y="9.053374" x="6.313293" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(28.797547, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.806219, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.802312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(42.728976, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.163218, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.323609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(67.491578, 0.000000)"><svg:text font-size="37.916788" transform="scale(0.316483, 1)" text-anchor="middle" y="9.053374" x="6.313293" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chf.svg b/libs/math/doc/sf_and_dist/equations/chf.svg
deleted file mode 100644
index b2e59a7a46..0000000000
--- a/libs/math/doc/sf_and_dist/equations/chf.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.614414pt" width="200.772699pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.929414 200.772699 27.614414"><svg:metadata><svgmath:metrics top="27.6144140625" bottom="0.0" baseline="8.685" axis="12.669375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.661133" font-family="Times New Roman" fill="black">chf</svg:text><svg:g transform="translate(18.541020, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(9.826172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(14.607422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(18.205078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.205074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(34.925777, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.462891, 0.000000)"/><svg:g transform="translate(72.796227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(82.897141, 0.000000)"/><svg:g transform="translate(94.897141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text></svg:g><svg:g transform="translate(104.945969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(118.662766, 0.000000)"/><svg:g transform="translate(133.996102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(144.097016, 0.000000)"/><svg:g transform="translate(156.097016, -3.984375)"><svg:g transform="translate(3.109600, 0.000000)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="2.342197" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(0.000000, 12.669375)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(3.407168, -11.180098)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(166.975824, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(172.975824, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(10.652344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(187.624262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(194.116449, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_ref1.svg b/libs/math/doc/sf_and_dist/equations/chi_squ_ref1.svg
deleted file mode 100644
index bf94addcc2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.368606pt" width="107.667817pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.354856 107.667817 35.368606"><svg:metadata><svgmath:metrics top="35.3686058967" bottom="0.0" baseline="14.01375" axis="17.998125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"/><svg:g transform="translate(23.999352, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(34.100266, 0.000000)"/><svg:g transform="translate(46.100266, -3.984375)"><svg:text font-size="25.333869" text-anchor="middle" y="5.366421" x="9.030139" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.314084, 17.898281)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.139348, -13.605539)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(64.160544, -3.984375)"><svg:text font-size="23.832438" transform="scale(0.503515, 1)" text-anchor="middle" y="5.690460" x="3.968194" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.531250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(11.783793, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.218035, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(10.693978, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.328125, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="30.083211" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(35.251180, 0.000000)"><svg:text font-size="23.832438" transform="scale(0.503515, 1)" text-anchor="middle" y="5.690460" x="3.968194" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(39.247273, -6.441399)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut1.svg b/libs/math/doc/sf_and_dist/equations/chi_squ_tut1.svg
deleted file mode 100644
index ee6be2210a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.857374pt" width="224.970908pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.061850 224.970908 38.857374"><svg:metadata><svgmath:metrics top="38.8573743214" bottom="0.0" baseline="17.795524496" axis="21.779899496"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(24.333065, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.567703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.950180, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(13.975020, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.780000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.293242, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="45.780828" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 2.111212 L 7.627927 2.111212 L 17.362310 20.137847 L 17.283664 20.658873 L 7.397527 2.351212 L 7.037527 2.351212 L 17.269818 21.299899 L 23.026425 -16.837475 L 71.420534 -16.837475" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(71.900534, 0.000000)"/><svg:g transform="translate(87.233870, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(97.153143, 0.000000)"/><svg:g transform="translate(109.153143, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g><svg:g transform="translate(115.481268, 0.000000)"/><svg:g transform="translate(130.814604, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(140.733878, 0.000000)"/><svg:g transform="translate(153.213878, -3.984375)"><svg:g transform="translate(24.333065, 0.000000)"><svg:g transform="translate(0.754186, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.567703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.729043, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(23.456016, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.260996, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(35.358223, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="46.117324" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 2.111212 L 7.627927 2.111212 L 17.362310 20.137847 L 17.283664 20.658873 L 7.397527 2.351212 L 7.037527 2.351212 L 17.269818 21.299899 L 23.026425 -16.837475 L 71.757030 -16.837475" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut2.svg b/libs/math/doc/sf_and_dist/equations/chi_squ_tut2.svg
deleted file mode 100644
index 03475f0e66..0000000000
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.180290pt" width="35.880469pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.124844 35.880469 20.180290"><svg:metadata><svgmath:metrics top="20.180290121" bottom="0.0" baseline="9.05544637099" axis="13.039821371"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(13.975020, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.780000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.293242, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/chi_squ_tut3.svg b/libs/math/doc/sf_and_dist/equations/chi_squ_tut3.svg
deleted file mode 100644
index aa10b98a05..0000000000
--- a/libs/math/doc/sf_and_dist/equations/chi_squ_tut3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.180290pt" width="44.945449pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.124844 44.945449 20.180290"><svg:metadata><svgmath:metrics top="20.180290121" bottom="0.0" baseline="9.05544637099" axis="13.039821371"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.729043, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(23.456016, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.260996, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(35.358223, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(6.750000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/derivative1.svg b/libs/math/doc/sf_and_dist/equations/derivative1.svg
deleted file mode 100644
index b976dcfb67..0000000000
--- a/libs/math/doc/sf_and_dist/equations/derivative1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.374831pt" width="289.673606pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 289.673606 25.374831"><svg:metadata><svgmath:metrics top="25.3748311627" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="50.648438" font-family="Times New Roman" fill="black">gamma_p_derivative</svg:text><svg:g transform="translate(103.296879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(130.013672, 0.000000)"/><svg:g transform="translate(145.347008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(155.447922, 0.000000)"/><svg:g transform="translate(168.033860, -3.984375)"><svg:g transform="translate(4.114908, -5.765625)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(7.263020, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.159504" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.779301, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(190.519535, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(217.236328, 0.000000)"/><svg:g transform="translate(232.569664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(242.670578, 0.000000)"/><svg:g transform="translate(255.256516, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(14.195625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(6.014209, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.417090" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/derivative2.svg b/libs/math/doc/sf_and_dist/equations/derivative2.svg
deleted file mode 100644
index 53612b144a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/derivative2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.958673pt" width="311.517164pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.433295 311.517164 27.958673"><svg:metadata><svgmath:metrics top="27.9586731757" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="38.648438" font-family="Times New Roman" fill="black">ibeta_derivative</svg:text><svg:g transform="translate(79.296879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(119.013668, 0.000000)"/><svg:g transform="translate(134.347004, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(144.447918, 0.000000)"/><svg:g transform="translate(157.033856, -3.984375)"><svg:g transform="translate(4.114908, -5.765625)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.964844" font-family="Times New Roman" fill="black">∂</svg:text></svg:g><svg:g transform="translate(7.263020, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.159504" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(171.779297, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(181.140645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(208.132828, 0.000000)"/><svg:g transform="translate(223.466164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(233.567078, 0.000000)"/><svg:g transform="translate(246.153016, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.817703, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.142683, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(15.383248, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="65.364148" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/digamma1.svg b/libs/math/doc/sf_and_dist/equations/digamma1.svg
deleted file mode 100644
index e17a78d3c9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/digamma1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.813068pt" width="176.083813pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.287690 176.083813 27.813068"><svg:metadata><svgmath:metrics top="27.8130677069" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.480469, 0.000000)"/><svg:g transform="translate(36.813805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.914719, 0.000000)"/><svg:g transform="translate(59.500656, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.388672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(73.475266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(82.809250, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(26.109375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(112.914719, 0.000000)"/><svg:g transform="translate(128.248055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(138.348969, 0.000000)"/><svg:g transform="translate(150.934907, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(10.260234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.517812, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.148906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/digamma2.svg b/libs/math/doc/sf_and_dist/equations/digamma2.svg
deleted file mode 100644
index 7a77a35d52..0000000000
--- a/libs/math/doc/sf_and_dist/equations/digamma2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.163672pt" width="168.005992pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.118828 168.005992 37.163672"><svg:metadata><svgmath:metrics top="37.163671875" bottom="0.0" baseline="16.04484375" axis="20.02921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.480469, 0.000000)"/><svg:g transform="translate(36.813805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.914719, 0.000000)"/><svg:g transform="translate(58.914719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(68.248703, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(84.632164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(94.652344, -3.984375)"><svg:g transform="translate(3.448242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(110.801430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(120.235672, -3.984375)"><svg:text font-size="27.729216" text-anchor="middle" y="6.880550" x="9.883949" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.221459, 19.929375)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.847035, -13.207266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(140.589507, -3.984375)"><svg:g transform="translate(5.645508, -4.400449)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.416484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/digamma3.svg b/libs/math/doc/sf_and_dist/equations/digamma3.svg
deleted file mode 100644
index 0c6cf9ff0e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/digamma3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="32.628281pt" width="272.605952pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.298516 272.605952 32.628281"><svg:metadata><svgmath:metrics top="32.62828125" bottom="0.0" baseline="12.329765625" axis="16.314140625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.480469, 0.000000)"/><svg:g transform="translate(36.813805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.914719, 0.000000)"/><svg:g transform="translate(59.500656, -3.984375)"><svg:g transform="translate(10.254555, -4.972500)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.749344, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.585938, 12.941250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.066398, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.086578, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.690328" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(106.443586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(115.877828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(125.211812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.066398, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.086578, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(48.840484, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(180.715054, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(190.735234, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(9.603984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.517812, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.492656" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(218.480492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(228.500671, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(10.529766, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.517812, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.418438" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(257.171710, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(266.605952, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial1.svg b/libs/math/doc/sf_and_dist/equations/dist_tutorial1.svg
deleted file mode 100644
index 748ec731e2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="79.420791pt" width="164.516876pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -43.694771 164.516876 79.420791"><svg:metadata><svgmath:metrics top="79.4207912623" bottom="0.0" baseline="35.7260206312" axis="39.7103956312"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(30.943299, -24.907837)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 0.000000)"/><svg:g transform="translate(18.930992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.031906, 0.000000)"/><svg:g transform="translate(41.617844, -3.984375)"><svg:g transform="translate(10.134847, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.682773" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(12.785550, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.678881, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.377193, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.682773" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(11.365547, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.775146)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(3.394687, 1.905352)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.882813" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(8.618300, -2.828906)"><svg:g transform="translate(10.772227, 0.000000)"><svg:g transform="translate(5.640625, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.224609" font-family="Times New Roman" fill="black">S n</svg:text><svg:g transform="translate(10.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="15.281250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(17.590597, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.704925, 0.000000)"><svg:g transform="translate(5.640625, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.224609" font-family="Times New Roman" fill="black">S n</svg:text><svg:g transform="translate(10.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="15.281250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 1.243678 L 3.603711 1.243678 L 7.797269 9.009525 L 7.741269 9.379155 L 3.440127 1.414078 L 3.184527 1.414078 L 7.731277 9.833985 L 10.308369 -7.176230 L 51.222259 -7.176230" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="61.012434" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.000000, 16.681450)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(9.981445, 0.000000)"/><svg:g transform="translate(25.314781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.415695, 0.000000)"/><svg:g transform="translate(47.895695, -3.984375)"><svg:g transform="translate(17.116876, 0.000000)"><svg:g transform="translate(0.585938, -6.750802)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.524514, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.437065, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(53.135377, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(84.659891, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.705431, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(36.481811, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(43.180123, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="98.850985" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.381446 L 5.659067 -3.381446 L 12.440467 9.176703 L 12.361667 9.697443 L 5.428667 -3.141446 L 5.068667 -3.141446 L 12.347666 10.338184 L 16.463555 -16.861075 L 116.621181 -16.861075" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(28.843493, 37.009400)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"/><svg:g transform="translate(20.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(30.760422, 0.000000)"/><svg:g transform="translate(42.760422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.336914" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(12.673828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(62.360914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(71.795156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.336914" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(12.673828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(91.395648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(100.829890, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial2.svg b/libs/math/doc/sf_and_dist/equations/dist_tutorial2.svg
deleted file mode 100644
index c2fb1f4b75..0000000000
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.243672pt" width="101.193230pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.411934 101.193230 40.243672"><svg:metadata><svgmath:metrics top="40.243671875" bottom="0.0" baseline="23.8317382813" axis="27.8161132813"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 0.000000)"/><svg:g transform="translate(18.930992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.031906, 0.000000)"/><svg:g transform="translate(41.617844, -3.984375)"><svg:g transform="translate(3.469428, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.003906" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(16.007813, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(22.934476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(32.368719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.003906" font-family="Times New Roman" fill="black">Sm</svg:text><svg:g transform="translate(16.007813, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 16.997930)"><svg:g transform="translate(16.095223, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(17.443695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(27.463875, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -2.530068 L 5.352571 -2.530068 L 11.674299 9.176836 L 11.595463 9.697510 L 5.122171 -2.290068 L 4.762171 -2.290068 L 11.581427 10.338184 L 15.441902 -15.158320 L 58.403512 -15.158320" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="59.575387" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial3.svg b/libs/math/doc/sf_and_dist/equations/dist_tutorial3.svg
deleted file mode 100644
index 87a4d27322..0000000000
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="75.715647pt" width="123.183795pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.425137 123.183795 75.715647"><svg:metadata><svgmath:metrics top="75.7156473844" bottom="0.0" baseline="40.2905106027" axis="44.2748856027"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"/><svg:g transform="translate(20.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(30.760422, 0.000000)"/><svg:g transform="translate(43.346359, -3.984375)"><svg:g transform="translate(12.379202, -15.803320)"><svg:text font-size="31.379936" transform="scale(0.382410, 1)" text-anchor="middle" y="7.492573" x="5.224882" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(17.443695, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(27.463875, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(9.019219, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.019219, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.596338, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.191094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(46.822937, 0.000000)"><svg:text font-size="31.379936" transform="scale(0.382410, 1)" text-anchor="middle" y="7.492573" x="5.224882" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(50.819031, -9.879785)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 31.604758)"><svg:g transform="translate(4.444562, -15.281762)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(8.468750, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(8.468750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.425781, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="13.300781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.970039, 0.000000)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.807266, -9.317136)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.518935)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="32.696389" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(35.948991, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(45.969171, 0.000000)"><svg:g transform="translate(4.444562, -15.281762)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sd</svg:text><svg:g transform="translate(8.468750, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(8.468750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.425781, 6.553691)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="4.224609" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.449219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="13.300781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.970039, 0.000000)"><svg:text font-size="30.227669" transform="scale(0.281861, 1)" text-anchor="middle" y="7.217446" x="5.033025" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.807266, -9.317136)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.518935)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.499209" font-family="Times New Roman" fill="black">Sn</svg:text><svg:g transform="translate(8.998418, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(14.891749, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.590061, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.687288, -2.828906)"><svg:text font-size="12.189474" transform="scale(0.698964, 1)" text-anchor="middle" y="5.373170" x="2.029595" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="32.696389" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="79.837435" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/dist_tutorial4.svg b/libs/math/doc/sf_and_dist/equations/dist_tutorial4.svg
deleted file mode 100644
index 9d2634bc46..0000000000
--- a/libs/math/doc/sf_and_dist/equations/dist_tutorial4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.082790pt" width="74.264258pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.027344 74.264258 20.082790"><svg:metadata><svgmath:metrics top="20.082790121" bottom="0.0" baseline="9.05544637099" axis="13.039821371"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(14.065258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">±</svg:text></svg:g><svg:g transform="translate(23.317859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 4.280110)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(1.316406, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(13.975020, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.780000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.293242, -2.828906)"><svg:text font-size="13.307722" transform="scale(0.640230, 1)" text-anchor="middle" y="4.732166" x="2.215788" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(56.631922, -3.984375)"><svg:g transform="translate(6.425543, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 16.460461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.632336" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint1.svg b/libs/math/doc/sf_and_dist/equations/ellint1.svg
deleted file mode 100644
index 49d47565db..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.043262pt" width="45.726012pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.757988 45.726012 19.043262"><svg:metadata><svgmath:metrics top="19.0432617187" bottom="1.8341015625" baseline="5.2852734375" axis="9.2696484375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="2.342197" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(4.659609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(12.265078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.597652, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(19.374996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.636168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(42.128355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint10.svg b/libs/math/doc/sf_and_dist/equations/ellint10.svg
deleted file mode 100644
index 1d9129c350..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint10.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="212.833570pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 212.833570 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g><svg:g transform="translate(14.012109, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.388406, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.075258, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(74.833070, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(86.522453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(63.365875, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(67.361969, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(163.937449, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(24.757156, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(28.753250, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(202.743726, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(209.235914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint11.svg b/libs/math/doc/sf_and_dist/equations/ellint11.svg
deleted file mode 100644
index 552c81c538..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint11.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="255.728652pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 255.728652 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g><svg:g transform="translate(12.556055, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(31.050773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(38.050769, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(49.371082, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.256566, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(79.943418, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(87.701230, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(99.390613, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(27.018875, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.014969, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(139.470563, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.369781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(24.757156, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(92.119125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(96.115218, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(245.638808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(252.130996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint12.svg b/libs/math/doc/sf_and_dist/equations/ellint12.svg
deleted file mode 100644
index f2dd4b0ae5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint12.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="162.625734pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 162.625734 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(13.600254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(22.984371, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.914055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(54.600906, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(62.358719, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(74.048102, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(113.516489, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.954422, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(152.535891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(159.028078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint13.mml b/libs/math/doc/sf_and_dist/equations/ellint13.mml
deleted file mode 100644
index bb20fcb938..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint13.mml
+++ /dev/null
@@ -1 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" ><mtable columnalign="left" class="align"> <mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >R</mi></mrow><mrow ><mi >F</mi> </mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >x</mi><mo class="MathClass-punc">,</mo><mi >y</mi><mo class="MathClass-punc">,</mo><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <mn>2</mn><msub><mrow ><mi >R</mi></mrow><mrow ><mi >F</mi> </mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >x</mi> <mo class="MathClass-bin">+</mo> <mi >&#x03BB;</mi><mo class="MathClass-punc">,</mo><mi >y</mi> <mo class="MathClass-bin">+</mo> <mi >&#x03BB;</mi><mo class="MathClass-punc">,</mo><mi >z</mi> <mo class="MathClass-bin">+</mo> <mi >&#x03BB;</mi></mrow><mo class="MathClass-close">)</mo></mrow><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr><mtr><mtd columnalign="right" class="align-odd"></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <msub><mrow ><mi >R</mi></mrow><mrow ><mi >F</mi> </mrow></msub > <mfenced separators="" open="(" close=")" ><mrow><mfrac><mrow ><mi >x</mi> <mo class="MathClass-bin">+</mo> <mi >&#x03BB;</mi></mrow> <mrow ><mn>4</mn></mrow></mfrac> <mo class="MathClass-punc">,</mo> <mfrac><mrow ><mi >y</mi> <mo class="MathClass-bin">+</mo> <mi >&#x03BB;</mi></mrow> <mrow ><mn>4</mn></mrow></mfrac> <mo class="MathClass-punc">,</mo> <mfrac><mrow ><mi >z</mi> <mo class="MathClass-bin">+</mo> <mi >&#x03BB;</mi></mrow> <mrow ><mn>4</mn></mrow></mfrac> </mrow></mfenced><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr><mtr><mtd columnalign="right" class="align-odd"><mi >&#x03BB;</mi></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <msqrt><mrow><mi >x</mi><mi >y</mi></mrow></msqrt> <mo class="MathClass-bin">+</mo> <msqrt><mrow><mi >y</mi><mi >z</mi></mrow></msqrt> <mo class="MathClass-bin">+</mo> <msqrt><mrow><mi >z</mi><mi >x</mi></mrow></msqrt><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr></mtable></math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint13.svg b/libs/math/doc/sf_and_dist/equations/ellint13.svg
deleted file mode 100644
index a1950fc998..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint13.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="52.505113pt" width="251.023812pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -30.236932 251.023812 52.505113"><svg:metadata><svgmath:metrics top="52.5051130757" bottom="0.0" baseline="22.2681815378" axis="26.2525565378"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -17.908794)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(13.508730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(62.151691, -17.908794)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(16.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(29.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(23.397781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(30.397777, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(39.328113, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(48.762355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(54.334621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(61.334617, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(69.063781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(78.498023, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(88.066382, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(121.672121, 0.000000)"/></svg:g><svg:g transform="translate(217.423812, -17.908794)"/><svg:g transform="translate(227.023812, -17.908794)"/><svg:g transform="translate(52.551691, 3.500598)"/><svg:g transform="translate(62.151691, 3.500598)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, -3.984375)"><svg:text font-size="20.577100" transform="scale(0.583173, 1)" text-anchor="middle" y="4.913184" x="3.426168" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.957804, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.656116, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(6.762150, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.784300" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(18.370237, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.956171, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.340538, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.038850, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(6.953517, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.167034" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(44.709142, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(52.295076, 0.000000)"><svg:g transform="translate(0.585938, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(6.527101, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.314202" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(74.777246, 0.000000)"><svg:text font-size="20.577100" transform="scale(0.583173, 1)" text-anchor="middle" y="4.913184" x="3.426168" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(102.382985, 0.000000)"/></svg:g><svg:g transform="translate(217.423812, 3.500598)"/><svg:g transform="translate(227.023812, 3.500598)"/><svg:g transform="translate(46.979426, 23.662713)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(62.151691, 23.662713)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.580914, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 18.974133 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(32.701711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(42.615953, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 18.312023 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(64.074640, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(73.988883, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 17.772961 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(92.241844, 0.000000)"/></svg:g><svg:g transform="translate(217.423812, 23.662713)"/><svg:g transform="translate(227.023812, 23.662713)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint14.svg b/libs/math/doc/sf_and_dist/equations/ellint14.svg
deleted file mode 100644
index 0fbff66936..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint14.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.186294pt" width="512.461905pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.077522 512.461905 54.186294"><svg:metadata><svgmath:metrics top="54.1862936359" bottom="0.0" baseline="23.1087718179" axis="27.0931468179"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(14.699215, -15.953572)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(60.121476, -15.953572)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(30.771492, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(37.410164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(50.918895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(158.946277, 0.000000)"/></svg:g><svg:g transform="translate(478.861905, -15.953572)"/><svg:g transform="translate(488.461905, -15.953572)"/><svg:g transform="translate(15.156246, 3.438850)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(60.121476, 3.438850)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(30.771492, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(37.410164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(50.918895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.612941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(171.633121, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(177.650933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(187.787886, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(206.051793, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(212.690465, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(226.702574, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(334.729956, 0.000000)"/></svg:g><svg:g transform="translate(478.861905, 3.438850)"/><svg:g transform="translate(488.461905, 3.438850)"/><svg:g transform="translate(0.000000, 23.620412)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.678711" font-family="Times New Roman" font-style="italic" fill="black">Π</svg:text><svg:g transform="translate(10.013672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.511711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(60.121476, 23.620412)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(13.434250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(30.771492, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(37.410164, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(50.918895, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.612941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(171.633121, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(177.650933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(183.650933, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(201.914840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(208.553511, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(221.109566, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(100.035195, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(107.035191, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(115.701855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(125.136097, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(131.136097, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(149.400003, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(160.034769, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(385.140429, 0.000000)"/></svg:g><svg:g transform="translate(478.861905, 23.620412)"/><svg:g transform="translate(488.461905, 23.620412)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint15.svg b/libs/math/doc/sf_and_dist/equations/ellint15.svg
deleted file mode 100644
index 0e9d4a739b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint15.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.186294pt" width="330.114144pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.077522 330.114144 54.186294"><svg:metadata><svgmath:metrics top="54.1862936359" bottom="0.0" baseline="23.1087718179" axis="27.0931468179"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(13.949215, -15.953572)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.482808, -15.953572)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(85.839683, 0.000000)"/></svg:g><svg:g transform="translate(296.514144, -15.953572)"/><svg:g transform="translate(306.114144, -15.953572)"/><svg:g transform="translate(15.156246, 3.438850)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.482808, 3.438850)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.506347, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(98.526527, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.544339, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(114.681293, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(128.693402, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(190.923441, 0.000000)"/></svg:g><svg:g transform="translate(296.514144, 3.438850)"/><svg:g transform="translate(306.114144, 3.438850)"/><svg:g transform="translate(0.000000, 23.620412)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.678711" font-family="Times New Roman" font-style="italic" fill="black">Π</svg:text><svg:g transform="translate(10.013672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.873043, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.482808, 23.620412)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(23.609645, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(58.233945, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.506347, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(98.526527, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.544339, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(110.544339, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(123.100394, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(41.237855, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.237851, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(54.237851, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(61.237847, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(69.904511, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(79.338753, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(89.334847, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(216.431335, 0.000000)"/></svg:g><svg:g transform="translate(296.514144, 23.620412)"/><svg:g transform="translate(306.114144, 23.620412)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint16.svg b/libs/math/doc/sf_and_dist/equations/ellint16.svg
deleted file mode 100644
index e20460912d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint16.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="21.253945pt" width="80.577262pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 80.577262 21.253945"><svg:metadata><svgmath:metrics top="21.2539453125" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(13.508730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(18.449215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.449211, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.169914, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.008074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(66.694926, -3.984375)"><svg:g transform="translate(3.941168, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 12.710461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.882336" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint17.mml b/libs/math/doc/sf_and_dist/equations/ellint17.mml
deleted file mode 100644
index 485c69200f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint17.mml
+++ /dev/null
@@ -1,173 +0,0 @@
- <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mrow>
- <mfenced>
- <mrow>
- <mi>y</mi>
- <mo>+</mo>
- <mi>q</mi>
- </mrow>
- </mfenced>
- <msub>
- <mi>R</mi>
- <mi>J</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mo>,</mo>
- <mi>y</mi>
- <mo>,</mo>
- <mi>z</mi>
- <mo>,</mo>
- <mo>&#x2212;</mo>
- <mi>q</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- </mrow>
- </mtd>
- <mtd>
- <mrow>
- <mfenced>
- <mrow>
- <mi>p</mi>
- <mo>&#x2212;</mo>
- <mi>y</mi>
- </mrow>
- </mfenced>
- <msub>
- <mi>R</mi>
- <mi>J</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mo>,</mo>
- <mi>y</mi>
- <mo>,</mo>
- <mi>z</mi>
- <mo>,</mo>
- <mi>p</mi>
- </mrow>
- </mfenced>
- <mo>&#x2212;</mo>
- <mn>3</mn>
- <msub>
- <mi>R</mi>
- <mi>F</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mo>,</mo>
- <mi>y</mi>
- <mo>,</mo>
- <mi>z</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mrow>
- <mo>+</mo>
- <mn>3</mn>
- <msup>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mi>x</mi>
- <mi>y</mi>
- <mi>z</mi>
- </mrow>
- <mrow>
- <mi>x</mi>
- <mi>z</mi>
- <mo>+</mo>
- <mi>p</mi>
- <mi>q</mi>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <mn>2</mn>
- </mfrac>
- </mrow>
- </msup>
- <msub>
- <mi>R</mi>
- <mi>C</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mi>z</mi>
- <mo>+</mo>
- <mi>p</mi>
- <mi>q</mi>
- <mo>,</mo>
- <mi>p</mi>
- <mi>q</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>with:</mtext>
- <mi>q</mi>
- <mo>></mo>
- <mn>0</mn>
- </mtd>
- <mtd>
- <mtext>and:</mtext>
- <mi>p</mi>
- <mo>=</mo>
- <mi>y</mi>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>z</mi>
- <mo>&#x2212;</mo>
- <mi>y</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>y</mi>
- <mo>&#x2212;</mo>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mfenced>
- <mrow>
- <mi>y</mi>
- <mo>+</mo>
- <mi>q</mi>
- </mrow>
- </mfenced>
- </mfrac>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ellint17.png b/libs/math/doc/sf_and_dist/equations/ellint17.png
deleted file mode 100644
index 980ca66974..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint17.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ellint17.svg b/libs/math/doc/sf_and_dist/equations/ellint17.svg
deleted file mode 100644
index a2a34878fe..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint17.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="62.580762pt" width="326.347745pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.274756 326.347745 62.580762"><svg:metadata><svgmath:metrics top="62.5807622597" bottom="0.0" baseline="27.3060061299" axis="31.2903811299"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -22.946619)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(8.930336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.364578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(28.360672, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.356766, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(44.912820, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(31.050773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(40.717433, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(50.151675, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(60.147769, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(109.056683, 0.000000)"/><svg:g transform="translate(124.390019, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(134.490933, 0.000000)"/></svg:g><svg:g transform="translate(156.090933, -22.946619)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(9.990883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.425125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(29.684891, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.680984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(46.237039, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(31.050773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(38.050769, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(49.371082, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(102.270878, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(111.705121, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(117.705121, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(131.213851, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(67.245467, 2.689641)"/><svg:g transform="translate(174.998444, 2.689641)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(13.434245, -3.984375)"><svg:text font-size="18.682750" transform="scale(0.642304, 1)" text-anchor="middle" y="4.460871" x="3.110751" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(7.388253, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(8.511680, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 6.670840)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.552179, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.250491, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(21.450686, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.882561" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(32.050530, 0.000000)"><svg:text font-size="18.682750" transform="scale(0.642304, 1)" text-anchor="middle" y="4.460871" x="3.110751" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.046624, -7.199926)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(54.312900, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g></svg:g><svg:g transform="translate(67.913154, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(13.453773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.888016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(30.212234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(36.212234, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(43.212230, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(50.536449, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(60.532543, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(47.194355, 25.912286)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.333984" font-family="Times New Roman" fill="black">with:</svg:text><svg:g transform="translate(26.667973, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(36.001309, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(46.102223, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(186.906102, 25.912286)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">and:</svg:text><svg:g transform="translate(22.660160, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(33.317715, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(43.418629, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(52.348965, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(62.369145, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.307679, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.340538, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.038850, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.940550, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.642013, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.340538, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.038850, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g></svg:g><svg:g transform="translate(20.136077, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="46.257330" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint18.svg b/libs/math/doc/sf_and_dist/equations/ellint18.svg
deleted file mode 100644
index 5bd74886db..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint18.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="24.804169pt" width="188.318328pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.456513 188.318328 24.804169"><svg:metadata><svgmath:metrics top="24.8041692985" bottom="0.0" baseline="7.34765625" axis="11.33203125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(13.600254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(15.391269, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(24.825512, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(35.085277, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.681625, 0.000000)"/><svg:g transform="translate(68.014961, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.115875, 0.000000)"/><svg:g transform="translate(90.115875, -3.984375)"><svg:text font-size="24.928034" transform="scale(0.481386, 1)" text-anchor="middle" y="5.952055" x="4.150615" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(9.768227, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 8.742188)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.261062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(30.429031, 0.000000)"><svg:text font-size="24.928034" transform="scale(0.481386, 1)" text-anchor="middle" y="5.952055" x="4.150615" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(34.425125, -7.199926)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(129.373031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.713477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g></svg:g><svg:g transform="translate(142.973285, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(24.089187, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.089183, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(41.348949, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint19.mml b/libs/math/doc/sf_and_dist/equations/ellint19.mml
deleted file mode 100644
index ed1a266023..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint19.mml
+++ /dev/null
@@ -1,119 +0,0 @@
- <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mo>&#x2212;</mo>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mo>&#x2212;</mo>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>+</mo>
- <mi>m</mi>
- <mi>&#x03C0;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- <mi>K</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mi>sin</mi>
- <mi>&#x03C6;</mi>
- <msub>
- <mi>R</mi>
- <mi>F</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>cos</mi>
- <msup>
- <mi/>
- <mn>2</mn>
- </msup>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mi>sin</mi>
- <msup>
- <mi/>
- <mn>2</mn>
- </msup>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ellint19.png b/libs/math/doc/sf_and_dist/equations/ellint19.png
deleted file mode 100644
index 8ad4e2d9e5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint19.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ellint19.svg b/libs/math/doc/sf_and_dist/equations/ellint19.svg
deleted file mode 100644
index 8d2be44ab7..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint19.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="46.377881pt" width="231.122171pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -27.173316 231.122171 46.377881"><svg:metadata><svgmath:metrics top="46.3778813104" bottom="0.0" baseline="19.2045656552" axis="23.1889406552"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.859698, -14.845178)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(14.072917, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(21.072913, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(30.945960, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.575902, -18.829553)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(138.404572, -14.845178)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(15.748698, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 1.432178)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(9.305336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.739578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.405594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(33.792312, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(40.792308, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(50.665355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.575902, -2.552197)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(117.271437, 1.432178)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.488926, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(47.923168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(53.923168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(62.589183, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text></svg:g><svg:g transform="translate(71.653636, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(13.576820, 20.505347)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.575902, 16.520972)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.943480, 20.505347)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(20.642578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(34.151309, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(76.136527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint2.svg b/libs/math/doc/sf_and_dist/equations/ellint2.svg
deleted file mode 100644
index b5dba6cafc..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.360018pt" width="122.594531pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 122.594531 29.360018"><svg:metadata><svgmath:metrics top="29.3600181676" bottom="0.0" baseline="10.3533984375" axis="14.3377734375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(39.155598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.256512, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.257303)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(60.171461, -3.984375)"><svg:g transform="translate(24.921496, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.423070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint20.svg b/libs/math/doc/sf_and_dist/equations/ellint20.svg
deleted file mode 100644
index 956c34904b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint20.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.661958pt" width="132.106617pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 132.106617 15.661958"><svg:metadata><svgmath:metrics top="15.6619576984" bottom="1.8387890625" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.933594, 0.000000)"/><svg:g transform="translate(38.266930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.367844, 0.000000)"/><svg:g transform="translate(60.367844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(73.876574, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint21.mml b/libs/math/doc/sf_and_dist/equations/ellint21.mml
deleted file mode 100644
index dc55f3596d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint21.mml
+++ /dev/null
@@ -1,175 +0,0 @@
- <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>E</mi>
- <mfenced>
- <mrow>
- <mo>&#x2212;</mo>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mo>&#x2212;</mo>
- <mi>E</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>E</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>+</mo>
- <mi>m</mi>
- <mi>&#x03C0;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mi>E</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- <mi>E</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>;</mo>
- <mspace width="1em"/>
- <mi>&#x03C6;</mi>
- <mo>&#x2209;</mo>
- <mo>[</mo>
- <mn>0,</mn>
- <mfrac>
- <mi>&#x03C0;</mi>
- <mn>2</mn>
- </mfrac>
- <mo>]</mo>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>E</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mi>sin</mi>
- <mi>&#x03C6;</mi>
- <msub>
- <mi>R</mi>
- <mi>F</mi>
- </msub>
- <mfenced>
- <mrow>
- <msup>
- <mi>cos</mi>
- <mn>2</mn>
- </msup>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <msup>
- <mi>sin</mi>
- <mn>2</mn>
- </msup>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mo>&#x2212;</mo>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <mn>3</mn>
- </mfrac>
- </mrow>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mi>sin</mi>
- <msup>
- <mi/>
- <mn>3</mn>
- </msup>
- <mi>&#x03C6;</mi>
- <msub>
- <mi>R</mi>
- <mi>D</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>cos</mi>
- <msup>
- <mi/>
- <mn>2</mn>
- </msup>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mi>sin</mi>
- <msup>
- <mi/>
- <mn>2</mn>
- </msup>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ellint21.png b/libs/math/doc/sf_and_dist/equations/ellint21.png
deleted file mode 100644
index 9d0234c0f2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint21.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ellint21.svg b/libs/math/doc/sf_and_dist/equations/ellint21.svg
deleted file mode 100644
index 21c90d2ff6..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint21.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.510389pt" width="406.448819pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.739569 406.448819 49.510389"><svg:metadata><svgmath:metrics top="49.5103889047" bottom="0.0" baseline="20.7708194524" axis="24.7551944524"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.859698, -16.411432)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(14.072917, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(21.072913, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(30.945960, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.118871, -20.395807)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(226.067896, -16.411432)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text></svg:g><svg:g transform="translate(15.291667, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 1.200741)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(9.305336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.739578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.405594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(33.792312, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(40.792308, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(50.665355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.118871, -2.783634)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(166.847160, 1.200741)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.031894, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(47.466136, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(53.466136, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(62.132152, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text></svg:g><svg:g transform="translate(69.989574, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.858715, 0.000000)"/><svg:g transform="translate(95.858715, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(102.526035, 0.000000)"/><svg:g transform="translate(114.526035, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(124.498043, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∉</svg:text></svg:g><svg:g transform="translate(137.370441, -3.984375)"><svg:text font-size="14.614221" transform="scale(0.821118, 1)" text-anchor="middle" y="4.203220" x="2.433325" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(141.366535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">0,</svg:text></svg:g><svg:g transform="translate(150.952473, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.723223, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.706445" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(157.244855, -3.984375)"><svg:text font-size="14.614221" transform="scale(0.821118, 1)" text-anchor="middle" y="4.203220" x="2.433325" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(13.576820, 21.282460)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(72.118871, 17.298085)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.486449, 21.282460)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(20.642578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(34.151309, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(144.845355, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(154.865535, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(160.883347, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(171.020300, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(185.024207, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(189.284207, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(195.922878, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(209.934988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(76.136527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint22.svg b/libs/math/doc/sf_and_dist/equations/ellint22.svg
deleted file mode 100644
index 22dd0303fa..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint22.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.558594pt" width="233.723347pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 233.723347 19.558594"><svg:metadata><svgmath:metrics top="19.55859375" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.726563, 0.000000)"/><svg:g transform="translate(37.059899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.160813, 0.000000)"/><svg:g transform="translate(59.160813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(72.669543, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(133.566250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(143.586429, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(151.344242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(161.481195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text></svg:g></svg:g><svg:g transform="translate(175.493304, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint23.mml b/libs/math/doc/sf_and_dist/equations/ellint23.mml
deleted file mode 100644
index e40eb9d796..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint23.mml
+++ /dev/null
@@ -1,130 +0,0 @@
- <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mo>&#x220F;</mo>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>,</mo>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mn>0</mn>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msqrt>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfrac>
- </mrow>
- </msqrt>
- <msup>
- <mi>tan</mi>
- <mrow>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </msup>
- <mfenced>
- <mrow>
- <msqrt>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </msqrt>
- <mi>tan</mi>
- <mi>&#x03C6;</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>;</mo>
- <mi>n</mi>
- <mo>&lt;</mo>
- <mn>1</mn>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msqrt>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfrac>
- </mrow>
- </msqrt>
- <msup>
- <mi>tanh</mi>
- <mrow>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </msup>
- <mfenced>
- <mrow>
- <msqrt>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </msqrt>
- <mi>tan</mi>
- <mi>&#x03C6;</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>;</mo>
- <mi>n</mi>
- <mo>></mo>
- <mn>1</mn>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mi>tan</mi>
- <mi>&#x03C6;</mi>
- </mtd>
- <mtd>
- <mo>;</mo>
- <mi>n</mi>
- <mo>=</mo>
- <mn>1</mn>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ellint23.png b/libs/math/doc/sf_and_dist/equations/ellint23.png
deleted file mode 100644
index 050805ac93..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint23.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ellint23.svg b/libs/math/doc/sf_and_dist/equations/ellint23.svg
deleted file mode 100644
index 88b5c4f705..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint23.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="55.231641pt" width="241.181036pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.600195 241.181036 55.231641"><svg:metadata><svgmath:metrics top="55.231640625" bottom="0.0" baseline="23.6314453125" axis="27.6158203125"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -14.177812)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" text-anchor="middle" y="3.981593" x="4.944759" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(11.889521, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(36.634758, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(62.120373, -18.162187)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.487951, -14.177812)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.511766, 0.000000)"><svg:g transform="translate(7.011759, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.283518" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.238262 L 3.677534 -1.238262 L 7.487366 5.816983 L 7.408200 6.337046 L 3.447134 -0.998262 L 3.087134 -0.998262 L 7.393834 6.977109 L 9.858445 -9.213633 L 29.448604 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(29.928604, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(53.653741, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 31.086758 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(31.566758, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text></svg:g><svg:g transform="translate(46.226914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(57.341680, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(209.079465, -14.177812)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(6.667320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(16.000656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(26.101570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.260186, 8.100117)"/><svg:g transform="translate(62.120373, 4.115742)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.487951, 8.100117)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(10.511766, 0.000000)"><svg:g transform="translate(7.011759, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.283518" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.238262 L 3.677534 -1.238262 L 7.487366 5.816983 L 7.408200 6.337046 L 3.447134 -0.998262 L 3.087134 -0.998262 L 7.393834 6.977109 L 9.858445 -9.213633 L 29.448604 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(29.928604, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">tanh</svg:text><svg:g transform="translate(20.660156, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(59.653741, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 31.086758 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(31.566758, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text></svg:g><svg:g transform="translate(46.226914, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(57.341680, -3.984375)"><svg:text font-size="13.259420" transform="scale(0.905017, 1)" text-anchor="middle" y="3.712567" x="2.207745" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(209.079465, 8.100117)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(6.667320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(16.000656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(26.101570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.260186, 25.049414)"/><svg:g transform="translate(62.120373, 21.065039)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(128.334294, 25.049414)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(209.079465, 25.049414)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(6.667320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(16.000656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(26.101570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint24.mml b/libs/math/doc/sf_and_dist/equations/ellint24.mml
deleted file mode 100644
index 1280773861..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint24.mml
+++ /dev/null
@@ -1,228 +0,0 @@
- <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <msqrt>
- <mrow>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mfrac>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mi>n</mi>
- </mfrac>
- </mrow>
- </mfenced>
- </mrow>
- </msqrt>
- <mrow>
- <mo>&#x220F;</mo>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>,</mo>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msqrt>
- <mrow>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>N</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mfrac>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mi>N</mi>
- </mfrac>
- </mrow>
- </mfenced>
- </mrow>
- </msqrt>
- <mrow>
- <mo>&#x220F;</mo>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>,</mo>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>+</mo>
- </mtd>
- <mtd>
- <mfrac>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mrow>
- <msub>
- <mi>p</mi>
- <mn>2</mn>
- </msub>
- </mrow>
- </mfrac>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- <mo>,</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>+</mo>
- </mtd>
- <mtd>
- <msup>
- <mi>tan</mi>
- <mrow>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </msup>
- <mfenced>
- <mrow>
- <mfrac>
- <msub>
- <mi>p</mi>
- <mn>2</mn>
- </msub>
- <mn>2</mn>
- </mfrac>
- <mfrac>
- <mrow>
- <mi>sin</mi>
- <mrow>
- <mn>2</mn>
- <mi>&#x03C6;</mi>
- </mrow>
- </mrow>
- <mrow>
- <mtext>?</mtext>
- <mfenced>
- <mrow>
- <mi>&#x03C6;</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>N</mi>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mfrac>
- <mfenced>
- <mrow>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfenced>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msub>
- <mi>p</mi>
- <mn>2</mn>
- </msub>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msqrt>
- <mrow>
- <mo>&#x2212;</mo>
- <mfrac>
- <mi>n</mi>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfrac>
- <mfenced>
- <mrow>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfenced>
- </mrow>
- </msqrt>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ellint24.png b/libs/math/doc/sf_and_dist/equations/ellint24.png
deleted file mode 100644
index 2e8785ab09..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint24.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ellint24.svg b/libs/math/doc/sf_and_dist/equations/ellint24.svg
deleted file mode 100644
index 409c569d84..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint24.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="117.519380pt" width="297.953857pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -62.744065 297.953857 117.519380"><svg:metadata><svgmath:metrics top="117.519380201" bottom="0.0" baseline="54.7753151005" axis="58.7596901005"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -42.705947)"><svg:g transform="translate(10.285053, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.542256, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.344512" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(32.613387, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -8.026444 L 3.609520 -8.026444 L 7.317375 -1.160047 L 7.238187 -0.640023 L 3.379120 -7.786444 L 3.019120 -7.786444 L 7.223800 0.000000 L 9.631733 -15.812888 L 79.640948 -15.812888" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(80.120948, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" text-anchor="middle" y="3.981593" x="4.944759" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(11.889521, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.511711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(142.118274, -46.690322)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(158.485852, -42.705947)"><svg:g transform="translate(10.285566, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.567703, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="20.112803" transform="scale(0.596635, 1)" text-anchor="middle" y="3.028995" x="3.348860" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(1.308770, 7.240781)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.344512" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(32.613387, -3.984375)"><svg:text font-size="20.112803" transform="scale(0.596635, 1)" text-anchor="middle" y="3.028995" x="3.348860" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -8.026871 L 3.609674 -8.026871 L 7.317759 -1.160047 L 7.238572 -0.640023 L 3.379274 -7.786871 L 3.019274 -7.786871 L 7.224184 0.000000 L 9.632246 -15.813743 L 83.116070 -15.813743" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(83.596070, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" text-anchor="middle" y="3.981593" x="4.944759" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(11.889521, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(9.474609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(16.474605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(23.113277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(30.113273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(39.986320, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(60.259137, -19.052607)"/><svg:g transform="translate(142.118274, -23.036982)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(204.829719, -19.052607)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.099717, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.372070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.958008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(19.272461, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(60.259137, 4.493475)"/><svg:g transform="translate(142.118274, 0.509100)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(195.959229, 4.493475)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(23.725137, -3.984375)"><svg:text font-size="20.558817" transform="scale(0.583691, 1)" text-anchor="middle" y="4.908819" x="3.423123" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(3.056035, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.372070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(11.543945, 0.000000)"><svg:g transform="translate(0.585938, -3.421758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="4.971387" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(9.942773, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.249305, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" fill="black">?</svg:text><svg:g transform="translate(5.201585, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(7.550684, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.088105" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(36.800020, 0.000000)"><svg:text font-size="20.558817" transform="scale(0.583691, 1)" text-anchor="middle" y="4.908819" x="3.423123" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(61.521832, 31.849968)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(142.118274, 27.865593)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(214.284550, 27.865593)"><svg:g transform="translate(0.585938, -3.414648)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.065968, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.764280, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(23.861507, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(2.542256, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.870608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(60.467027, 54.851487)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.908203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(142.118274, 50.867112)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(192.324823, 54.851487)"><svg:g transform="translate(8.017057, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.020183, -3.984375)"><svg:g transform="translate(7.011759, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.283518" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.889639, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.803617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.237859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(32.233953, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -6.136448 L 2.929121 -6.136448 L 5.616957 -1.158973 L 5.537480 -0.639487 L 2.698721 -5.896448 L 2.338721 -5.896448 L 5.522803 0.000000 L 7.363737 -12.032895 L 71.790063 -12.032895" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint25.svg b/libs/math/doc/sf_and_dist/equations/ellint25.svg
deleted file mode 100644
index f9d6e75d3d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint25.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.004809pt" width="453.984163pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 453.984163 17.004809"><svg:metadata><svgmath:metrics top="17.0048092609" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.964629" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(15.929262, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.511711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.437066, 0.000000)"/><svg:g transform="translate(71.770402, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.871316, 0.000000)"/><svg:g transform="translate(93.871316, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(107.875223, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(114.513895, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(128.022625, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(104.031289, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(238.716672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(248.736851, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(256.494664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(270.498570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(274.758570, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(281.397242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(293.953296, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(20.256094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(26.894766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(33.894762, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.561426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(51.995668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(62.132621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(76.136527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(80.396527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(87.035199, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(94.035195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">1,1</svg:text></svg:g><svg:g transform="translate(111.701859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(121.136101, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(127.136101, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(141.140007, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(145.400007, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(156.034773, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint26.svg b/libs/math/doc/sf_and_dist/equations/ellint26.svg
deleted file mode 100644
index cf7dace3c9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint26.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.004809pt" width="270.303081pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.139575 270.303081 17.004809"><svg:metadata><svgmath:metrics top="17.0048092609" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.964629" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(15.929262, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.873043, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(42.798398, 0.000000)"/><svg:g transform="translate(58.131734, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.232649, 0.000000)"/><svg:g transform="translate(80.232649, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g></svg:g><svg:g transform="translate(93.741379, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(54.233949, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(154.638086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(164.658265, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(172.416078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.182002" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text></svg:g></svg:g><svg:g transform="translate(184.972133, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0,1</svg:text><svg:g transform="translate(17.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(37.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(44.237855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">1,1</svg:text></svg:g><svg:g transform="translate(61.904519, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(71.338761, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(81.334855, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint3.svg b/libs/math/doc/sf_and_dist/equations/ellint3.svg
deleted file mode 100644
index b53c790236..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="135.618399pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 135.618399 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="1.7389453125" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text><svg:g transform="translate(6.638672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.638668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(23.511715, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.698566, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.799481, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.257303)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(59.608493, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 62.949828 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(123.038321, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(129.530508, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint4.svg b/libs/math/doc/sf_and_dist/equations/ellint4.svg
deleted file mode 100644
index dce0f2bd1e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.440400pt" width="194.218637pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 194.218637 31.440400"><svg:metadata><svgmath:metrics top="31.4403996459" bottom="0.0" baseline="12.4337799157" axis="16.4181549157"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.678711" font-family="Times New Roman" font-style="italic" fill="black">Π</svg:text><svg:g transform="translate(10.013672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g><svg:g transform="translate(19.638668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.638664, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(36.511711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(53.854812, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.955726, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.257303)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(74.870676, -3.984375)"><svg:g transform="translate(53.383941, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(42.364812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(52.448797, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(56.924890, 0.000000)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -1.382813)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="119.347961" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint5.svg b/libs/math/doc/sf_and_dist/equations/ellint5.svg
deleted file mode 100644
index 80dcc0d1d3..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="96.548200pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 96.548200 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(9.210289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(22.644539, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(39.981781, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(46.280610, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(56.613942, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(62.349621, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(71.559911, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(80.628926, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(90.548200, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint6.svg b/libs/math/doc/sf_and_dist/equations/ellint6.svg
deleted file mode 100644
index f703a335ff..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.729795pt" width="163.208807pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.205982 163.208807 31.729795"><svg:metadata><svgmath:metrics top="31.7297954359" bottom="0.170415296053" baseline="10.5238137336" axis="14.5081887336"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(26.266930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(36.367844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(44.682297, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.144531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(15.144527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(25.603512, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(77.615238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.716153, -3.984375)"><svg:text font-size="26.848421" text-anchor="middle" y="8.543339" x="3.716566" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(7.393803, 12.669400)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(7.393803, -12.820489)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.003906" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.544922, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="5.089844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(100.785737, -3.984375)"><svg:g transform="translate(24.921496, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.423070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint7.svg b/libs/math/doc/sf_and_dist/equations/ellint7.svg
deleted file mode 100644
index 31973f1366..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.270543pt" width="173.276715pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.687110 173.276715 25.270543"><svg:metadata><svgmath:metrics top="25.2705429729" bottom="0.858823383794" baseline="6.58343275879" axis="10.5678077588"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.059898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.160813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text></svg:g><svg:g transform="translate(43.018234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.144531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(15.144527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(25.603512, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.951176, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(86.052090, -3.984375)"><svg:text font-size="20.497701" text-anchor="middle" y="5.285164" x="2.837450" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.644875, 8.729019)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.644875, -10.301617)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.003906" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.544922, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="5.089844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(97.266809, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(18.263906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 62.949828 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(160.696637, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint8.svg b/libs/math/doc/sf_and_dist/equations/ellint8.svg
deleted file mode 100644
index 82051fc55b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.134718pt" width="262.355389pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.700938 262.355389 34.134718"><svg:metadata><svgmath:metrics top="34.1347181137" bottom="0.0" baseline="12.4337799157" axis="16.4181549157"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.964629" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(15.929262, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(22.873043, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.131734, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.232649, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" text-anchor="middle" y="5.765801" x="7.520596" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(17.041196, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.585933, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(21.730465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.730461, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(38.603508, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.765801" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(119.206782, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(129.307696, -3.984375)"><svg:text font-size="29.136617" text-anchor="middle" y="10.129881" x="4.033316" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(8.023951, 14.501744)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(8.023951, -13.315445)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.003906" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.544922, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="5.089844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(143.007428, -3.984375)"><svg:g transform="translate(53.383941, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 13.857773)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(42.364812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(52.448797, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(56.924890, 0.000000)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.237859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.501765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 61.251195 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="119.347961" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ellint9.svg b/libs/math/doc/sf_and_dist/equations/ellint9.svg
deleted file mode 100644
index 245279aca8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ellint9.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.162257pt" width="202.277164pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.006620 202.277164 25.162257"><svg:metadata><svgmath:metrics top="25.1622573174" bottom="0.431028212272" baseline="6.15563758727" axis="10.1400125873"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.810186" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(13.508730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(18.988277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.988273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(35.046867, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(55.885027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(66.571879, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(74.329691, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="2.822712" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.615555, 8.301224)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.615555, -11.095057)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(86.019074, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(25.419266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(25.958328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.369781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(6.264320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.698562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(24.757156, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(92.119125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(96.115218, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(192.187320, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(198.679508, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/erf1.svg b/libs/math/doc/sf_and_dist/equations/erf1.svg
deleted file mode 100644
index 333bc0237b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/erf1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.908954pt" width="116.225343pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.824469 116.225343 36.908954"><svg:metadata><svgmath:metrics top="36.9089537879" bottom="0.0" baseline="12.0844852645" axis="16.0688602645"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.659180" font-family="Times New Roman" fill="black">erf</svg:text><svg:g transform="translate(16.537113, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.591801, 0.000000)"/><svg:g transform="translate(44.925137, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.026051, 0.000000)"/><svg:g transform="translate(67.611989, -3.984375)"><svg:g transform="translate(4.272223, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 13.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.544445" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(82.742371, -3.984375)"><svg:text font-size="24.356821" text-anchor="middle" y="6.288264" x="3.371659" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(1.223820, 15.969017)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(1.556633, -17.174996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(89.450011, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(2.554336, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(106.135500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(112.627687, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/erf2.svg b/libs/math/doc/sf_and_dist/equations/erf2.svg
deleted file mode 100644
index 79c294739a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/erf2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="120.826184pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 120.826184 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0234626745435" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text><svg:g transform="translate(20.644535, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.699223, 0.000000)"/><svg:g transform="translate(49.032559, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.133473, 0.000000)"/><svg:g transform="translate(71.133473, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(79.800137, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(91.234383, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.659180" font-family="Times New Roman" fill="black">erf</svg:text></svg:g><svg:g transform="translate(107.771496, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/error1.svg b/libs/math/doc/sf_and_dist/equations/error1.svg
deleted file mode 100644
index 8aea178b50..0000000000
--- a/libs/math/doc/sf_and_dist/equations/error1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.101067pt" width="123.470059pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.042474 123.470059 14.101067"><svg:metadata><svgmath:metrics top="14.1010674006" bottom="0.0" baseline="3.05859375" axis="7.04296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">max</svg:text><svg:g transform="translate(20.660156, -3.984375)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="2.579648" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(7.329430, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text><svg:g transform="translate(6.321617, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(9.299477, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.598953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(34.839844, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(40.575524, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(50.908856, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(57.230473, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(9.636391, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.598953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(85.748699, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(98.813809, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="2.579648" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/error2.svg b/libs/math/doc/sf_and_dist/equations/error2.svg
deleted file mode 100644
index 812f51fd1b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/error2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.101067pt" width="37.242188pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.042474 37.242188 14.101067"><svg:metadata><svgmath:metrics top="14.1010674006" bottom="0.0" baseline="3.05859375" axis="7.04296875"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text><svg:g transform="translate(6.321617, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g><svg:g transform="translate(9.299477, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.598953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(34.839844, 0.000000)"><svg:text font-size="15.493018" transform="scale(0.774542, 1)" text-anchor="middle" y="3.699261" x="1.550815" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_1.svg b/libs/math/doc/sf_and_dist/equations/expint_i_1.svg
deleted file mode 100644
index 821f4e2e22..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_i_1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.646949pt" width="130.548671pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -25.714722 130.548671 33.646949"><svg:metadata><svgmath:metrics top="33.6469488558" bottom="0.0" baseline="7.93222652054" axis="11.9166015205"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(11.191406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.241539, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(41.009117, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(50.443359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(62.560781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(87.045159, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(97.146074, -3.984375)"><svg:g transform="translate(1.227964, 0.000000)"><svg:text font-size="23.288829" text-anchor="middle" y="4.243446" x="3.223820" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(0.000000, 11.816758)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(1.397813, -17.803160)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(106.601464, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(12.685488, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(19.177676, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(10.174775, 8.355469)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.947207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_2.svg b/libs/math/doc/sf_and_dist/equations/expint_i_2.svg
deleted file mode 100644
index bd5aa4ecca..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_i_2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.089160pt" width="133.330460pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.655605 133.330460 35.089160"><svg:metadata><svgmath:metrics top="35.0891601563" bottom="0.0" baseline="13.4335546875" axis="17.4179296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.332031" font-family="Times New Roman" fill="black">Ei</svg:text><svg:g transform="translate(12.664067, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.052090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.153004, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(54.486988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(70.208340, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.642582, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(87.037762, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(96.472004, -3.984375)"><svg:text font-size="25.273598" text-anchor="middle" y="4.641147" x="9.008656" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.389847, 17.318086)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.971742, -13.744043)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(115.075253, -3.984375)"><svg:g transform="translate(4.510035, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(13.087238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.255207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_3.svg b/libs/math/doc/sf_and_dist/equations/expint_i_3.svg
deleted file mode 100644
index 6a054024e6..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_i_3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.432711pt" width="162.766738pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.567476 162.766738 19.432711"><svg:metadata><svgmath:metrics top="19.4327105221" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.332031" font-family="Times New Roman" fill="black">Ei</svg:text><svg:g transform="translate(12.664067, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.052090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.153004, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(54.486988, -3.984375)"><svg:text font-size="21.035575" transform="scale(0.570462, 1)" text-anchor="middle" y="5.022654" x="3.502505" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(2.715937, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.494375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.662344, 0.000000)"><svg:text font-size="21.035575" transform="scale(0.570462, 1)" text-anchor="middle" y="5.022654" x="3.502505" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(76.812090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(86.246332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(30.482000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(120.724426, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(128.329894, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.906426" x="3.042139" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(1.054688, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(30.440750, -3.984375)"><svg:text font-size="18.270677" transform="scale(0.656790, 1)" text-anchor="middle" y="5.906426" x="3.042139" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_i_4.svg b/libs/math/doc/sf_and_dist/equations/expint_i_4.svg
deleted file mode 100644
index a64e894232..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_i_4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.534238pt" width="112.195285pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.756895 112.195285 17.534238"><svg:metadata><svgmath:metrics top="17.5342382812" bottom="0.0" baseline="2.77734375" axis="6.76171875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.332031" font-family="Times New Roman" fill="black">Ei</svg:text><svg:g transform="translate(12.664067, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.052090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.153004, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(46.882168, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.902348, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(2.514961, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.092422" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(67.580707, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(25.032547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(7.593750, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(40.618484, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_1.svg b/libs/math/doc/sf_and_dist/equations/expint_n_1.svg
deleted file mode 100644
index adcddb4902..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_n_1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.002155pt" width="80.838902pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.649140 80.838902 30.002155"><svg:metadata><svgmath:metrics top="30.002154878" bottom="0.465026936762" baseline="7.35301521801" axis="11.337390218"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.268469, -3.984375)"><svg:text font-size="25.051643" text-anchor="middle" y="5.465710" x="3.467842" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(6.898988, 9.498601)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(6.898988, -14.737577)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(52.827222, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(8.869453, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(16.749961, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(23.242148, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(10.077012, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="28.011680" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_2.svg b/libs/math/doc/sf_and_dist/equations/expint_n_2.svg
deleted file mode 100644
index 50ee895c06..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_n_2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="41.388386pt" width="261.949663pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.222012 261.949663 41.388386"><svg:metadata><svgmath:metrics top="41.3883858502" bottom="0.0" baseline="17.1663741315" axis="21.1507491315"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.854406, -3.984375)"><svg:g transform="translate(2.390241, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.426426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.594394" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(79.034738, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.726563" font-family="Times New Roman" font-style="italic" fill="black">ψ</svg:text><svg:g transform="translate(7.763672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.422523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(33.856766, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(49.190750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(66.241531, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(151.939027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(161.373269, -3.984375)"><svg:g transform="translate(7.809374, 0.000000)"><svg:text font-size="30.751565" text-anchor="middle" y="5.872941" x="10.961251" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">0,</svg:text></svg:g><svg:g transform="translate(15.367617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(19.540254, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.338008" font-family="Times New Roman" fill="black">≠</svg:text></svg:g><svg:g transform="translate(24.216270, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(28.476270, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(33.281250, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(15.733711, -16.310449)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(199.500457, -3.984375)"><svg:g transform="translate(13.807500, -4.166016)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.599070, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(26.644523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.078765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.074859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(50.070953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(57.281238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.449207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_3.svg b/libs/math/doc/sf_and_dist/equations/expint_n_3.svg
deleted file mode 100644
index e293c713b5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_n_3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="53.408959pt" width="238.938595pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.856738 238.938595 53.408959"><svg:metadata><svgmath:metrics top="53.4089592005" bottom="0.0" baseline="38.5522209192" axis="42.5365959192"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.854406, -3.984375)"><svg:g transform="translate(92.444282, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.048379)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(26.492180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.512359, -3.984375)"><svg:g transform="translate(78.569977, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 12.837667)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(31.661091, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.775418, -2.828906)"><svg:g transform="translate(48.028632, -2.846643)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.731333, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.416016, 12.131808)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(17.845047, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.134541, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(29.728724, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.408843, -2.656250)"><svg:g transform="translate(29.408195, -2.777327)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(18.731333, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.390625, 12.062492)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(17.845047, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.134541, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(29.728724, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.408843, -2.656250)"><svg:g transform="translate(10.813148, -2.777327)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(18.731333, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">8</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.067271, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(17.845047, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.134541, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(29.728724, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.240442, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="47.021693" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="84.211786" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="121.452661" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="161.399954" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="199.084188" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_4.svg b/libs/math/doc/sf_and_dist/equations/expint_n_4.svg
deleted file mode 100644
index c9d74cb546..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_n_4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="136.995015pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 136.995015 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.8387890625" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.268469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(47.659742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(57.093984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(72.427969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(88.811430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(98.245672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g><svg:g transform="translate(106.238508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(115.672750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(123.278218, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/expint_n_5.svg b/libs/math/doc/sf_and_dist/equations/expint_n_5.svg
deleted file mode 100644
index 5ab7889447..0000000000
--- a/libs/math/doc/sf_and_dist/equations/expint_n_5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.581348pt" width="105.842344pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.856738 105.842344 20.581348"><svg:metadata><svgmath:metrics top="20.5813476562" bottom="0.0417142185822" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.117422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.167555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.854406, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.821445, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="15.367500" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(55.807844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(25.706375, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.723633, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(46.038406, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.svg b/libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.svg
deleted file mode 100644
index d3f27c76ad..0000000000
--- a/libs/math/doc/sf_and_dist/equations/exponential_dist_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="13.872773pt" width="82.621340pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.282930 82.621340 13.872773"><svg:metadata><svgmath:metrics top="13.8727734375" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.462891, 0.000000)"/><svg:g transform="translate(36.796227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.897141, 0.000000)"/><svg:g transform="translate(58.897141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(64.469406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(8.761289, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fisher_pdf.svg b/libs/math/doc/sf_and_dist/equations/fisher_pdf.svg
deleted file mode 100644
index 329eb7d3c3..0000000000
--- a/libs/math/doc/sf_and_dist/equations/fisher_pdf.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="43.134209pt" width="164.427539pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.403779 164.427539 43.134209"><svg:metadata><svgmath:metrics top="43.1342091118" bottom="0.0" baseline="21.7304304383" axis="25.7148054383"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(5.214844, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(6.390000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(17.757715, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.474512, 0.000000)"/><svg:g transform="translate(46.807848, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.908762, 0.000000)"/><svg:g transform="translate(69.494699, -3.984375)"><svg:g transform="translate(24.393891, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(8.666016, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.304688, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.609375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.275391, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(26.107422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(5.248047, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.053027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 20.923302)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(11.332680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(26.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(36.487625, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(40.483719, -11.184301)"><svg:g transform="translate(0.416016, -2.576882)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(16.953125, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(8.224609, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="20.449219" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(60.932937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(68.538406, -3.984375)"><svg:text font-size="19.305048" transform="scale(0.621599, 1)" text-anchor="middle" y="4.609457" x="3.214366" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.650937, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.561875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(8.733750, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.532373, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.324746" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(21.226465, 0.000000)"><svg:text font-size="19.305048" transform="scale(0.621599, 1)" text-anchor="middle" y="4.609457" x="3.214366" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="94.932840" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction1.svg b/libs/math/doc/sf_and_dist/equations/fraction1.svg
deleted file mode 100644
index 3de5ddaecc..0000000000
--- a/libs/math/doc/sf_and_dist/equations/fraction1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.601836pt" width="110.256393pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.587715 110.256393 49.601836"><svg:metadata><svgmath:metrics top="49.6018359375" bottom="0.0" baseline="36.0141210937" axis="39.9984960937"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.946844, -3.984375)"><svg:g transform="translate(38.524775, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.946844, -3.984375)"><svg:g transform="translate(27.465415, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.814238)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.267659, -2.828906)"><svg:g transform="translate(18.375648, -4.850566)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.014629)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(9.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.457896, -2.656250)"><svg:g transform="translate(0.390625, -4.687500)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="8.781250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(27.407547, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.919265, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="44.751297" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.190831" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="87.309549" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction2.svg b/libs/math/doc/sf_and_dist/equations/fraction2.svg
deleted file mode 100644
index 14d63bad83..0000000000
--- a/libs/math/doc/sf_and_dist/equations/fraction2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.601836pt" width="87.309549pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.587715 87.309549 49.601836"><svg:metadata><svgmath:metrics top="49.6018359375" bottom="0.0" baseline="36.0141210937" axis="39.9984960937"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(38.524775, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.946844, -3.984375)"><svg:g transform="translate(27.465415, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.814238)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.267659, -2.828906)"><svg:g transform="translate(18.375648, -4.850566)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.014629)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(9.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.457896, -2.656250)"><svg:g transform="translate(0.390625, -4.687500)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="8.781250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(27.407547, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.919265, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="44.751297" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.190831" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="87.309549" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction3.svg b/libs/math/doc/sf_and_dist/equations/fraction3.svg
deleted file mode 100644
index f048f6f314..0000000000
--- a/libs/math/doc/sf_and_dist/equations/fraction3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.997852pt" width="175.003335pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 175.003335 40.997852"><svg:metadata><svgmath:metrics top="40.9978515625" bottom="0.0" baseline="27.3044921875" axis="31.2888671875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="32.162109" font-family="Times New Roman" fill="black">Golden Ratio</svg:text><svg:g transform="translate(66.324223, 0.000000)"/><svg:g transform="translate(81.657559, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(91.758473, 0.000000)"/><svg:g transform="translate(104.344410, -3.984375)"><svg:g transform="translate(32.329462, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.941250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(23.270103, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.970488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(16.180336, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 10.264629)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(9.535372, -1.066406)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(14.289495, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="23.070745" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="36.360672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="50.800206" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="70.658924" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/fraction4.svg b/libs/math/doc/sf_and_dist/equations/fraction4.svg
deleted file mode 100644
index 6fe9ed318e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/fraction4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="59.783320pt" width="149.633101pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -10.746094 149.633101 59.783320"><svg:metadata><svgmath:metrics top="59.7833203125" bottom="0.0" baseline="49.0372265625" axis="53.0216015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">tan</svg:text><svg:g transform="translate(14.660156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.714844, 0.000000)"/><svg:g transform="translate(43.048180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(53.149094, 0.000000)"/><svg:g transform="translate(65.735031, -3.984375)"><svg:g transform="translate(39.417785, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 16.400547)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(28.222488, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.548613)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(21.112409, -1.135723)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.794922" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 13.842754)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">5</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(14.467445, -1.066406)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.794922" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 13.773438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">7</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(7.847872, -1.066406)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.794922" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.375000, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">9</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(14.289495, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="23.070745" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="36.309891" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="49.599818" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="64.039351" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="83.898070" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm1.svg b/libs/math/doc/sf_and_dist/equations/gamm1.svg
deleted file mode 100644
index 03d152b779..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamm1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.310659pt" width="147.134832pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.817768 147.134832 30.310659"><svg:metadata><svgmath:metrics top="30.3106591535" bottom="0.0" baseline="10.4928909607" axis="14.4772659607"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.327148" font-family="Times New Roman" fill="black">tgamma</svg:text><svg:g transform="translate(40.654301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.042324, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.143238, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(75.539723, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(91.927746, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(102.028661, -3.984375)"><svg:g transform="translate(0.551601, 0.000000)"><svg:text font-size="18.049366" text-anchor="middle" y="5.374229" x="2.498533" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(0.906914, 14.377422)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(0.000000, -11.906206)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(108.102489, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(124.359500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(137.044989, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(143.537176, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm2.svg b/libs/math/doc/sf_and_dist/equations/gamm2.svg
deleted file mode 100644
index bf7ff87d17..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamm2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="80.270619pt" width="454.349447pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -44.162748 454.349447 80.270619"><svg:metadata><svgmath:metrics top="80.2706194616" axis="40.0922460937" baseline="36.1078710937" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.722008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.822922, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.258561" transform="scale(0.786444, 1)" text-anchor="middle" y="3.281111" x="2.540610" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.828359, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(24.489141, -3.984375)"><svg:text font-size="15.258561" transform="scale(0.786444, 1)" text-anchor="middle" y="3.281111" x="2.540610" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(64.308156, -3.984375)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="31.393555" text-anchor="middle" y="7.495824" x="11.190086" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.579597, 21.493574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.153172, -15.132695)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g><svg:g transform="translate(22.966109, 0.000000)"><svg:g transform="translate(6.282246, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.130566)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(4.354629, -6.999707)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="20.392852" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(46.611562, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.631741, 0.000000)"><svg:g transform="translate(55.717400, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(24.335930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(33.770172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(42.436836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.457015, -3.984375)"><svg:g transform="translate(28.012163, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.720488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(10.502785, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.617112, -2.828906)"><svg:g transform="translate(18.733070, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.108379)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.786021, -2.656250)"><svg:g transform="translate(9.924044, -4.781250)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.617620, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line stroke-width="0.390625" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="27.398870" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="45.016922" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="63.805909" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="117.434799" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(178.648572, 0.000000)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(246.952822, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(253.620142, 0.000000)"/><svg:g transform="translate(265.620142, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(278.435646, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(288.536560, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(294.390076, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(326.336685, 0.000000)"/><svg:g transform="translate(341.670021, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(354.542420, 0.000000)"/><svg:g transform="translate(366.542420, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(380.523939, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(390.624853, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(396.859877, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(406.294119, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(414.960783, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(424.395025, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(430.395025, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(438.915205, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(448.349447, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm3.svg b/libs/math/doc/sf_and_dist/equations/gamm3.svg
deleted file mode 100644
index 5946143ba4..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamm3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.271472pt" width="76.195313pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 76.195313 19.271472"><svg:metadata><svgmath:metrics top="19.2714717877" bottom="0.0" baseline="2.77734375" axis="6.76171875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.784508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.471359, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(17.830727, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="40.723953" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm4.svg b/libs/math/doc/sf_and_dist/equations/gamm4.svg
deleted file mode 100644
index f87d45b615..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamm4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.857500pt" width="67.009797pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 67.009797 20.857500"><svg:metadata><svgmath:metrics top="20.8575" bottom="0.0" baseline="7.164140625" axis="11.148515625"/></svg:metadata><svg:g transform="translate(0.186211, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.000977" font-family="Times New Roman" fill="black">lim</svg:text></svg:g><svg:g transform="translate(0.000000, 7.064297)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="4.260000" font-family="Times New Roman" fill="black">→</svg:text></svg:g><svg:g transform="translate(12.114375, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(16.374375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.447266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(49.151070, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.837922, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(1.054688, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamm5.svg b/libs/math/doc/sf_and_dist/equations/gamm5.svg
deleted file mode 100644
index 4eb369b4d0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamm5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.412097pt" width="116.137370pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -10.886719 116.137370 19.412097"><svg:metadata><svgmath:metrics top="19.4120967877" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.218753, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.986331, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(55.006511, -3.984375)"><svg:g transform="translate(27.372070, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.451172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(35.455078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(15.445313, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(54.896484, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="61.130859" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.svg b/libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.svg
deleted file mode 100644
index 8ee2e0a874..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.110511pt" width="137.244246pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.645966 137.244246 33.110511"><svg:metadata><svgmath:metrics top="33.1105113115" bottom="0.0" baseline="11.464545138" axis="15.448920138"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.268883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.268879, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(35.352863, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.563805, 0.000000)"/><svg:g transform="translate(61.897141, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.998055, 0.000000)"/><svg:g transform="translate(83.998055, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(103.546219, -3.984375)"><svg:g transform="translate(9.130117, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.426489)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.537109, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.420649)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.964844" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.890625" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.882539)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(10.260527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(18.657012, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(9.873047, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.698027" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.svg b/libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.svg
deleted file mode 100644
index ba6c53d21b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamma_dist_ref2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.325749pt" width="136.708875pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.800371 136.708875 29.325749"><svg:metadata><svgmath:metrics top="29.3257491315" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(36.583332, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.794274, 0.000000)"/><svg:g transform="translate(63.127610, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.228524, 0.000000)"/><svg:g transform="translate(85.228524, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.277148, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(105.076219, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(6.896484, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(11.368652, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.691621" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(9.701484, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(4.472578, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(10.294922, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.632656" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_ratio0.svg b/libs/math/doc/sf_and_dist/equations/gamma_ratio0.svg
deleted file mode 100644
index afbd4e9f31..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamma_ratio0.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="152.543629pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 152.543629 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="44.481445" font-family="Times New Roman" fill="black">tgamma_ratio(a,b)</svg:text><svg:g transform="translate(90.962895, 0.000000)"/><svg:g transform="translate(106.296231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(116.397145, 0.000000)"/><svg:g transform="translate(128.983082, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.560547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/gamma_ratio1.svg b/libs/math/doc/sf_and_dist/equations/gamma_ratio1.svg
deleted file mode 100644
index 4139afdcbd..0000000000
--- a/libs/math/doc/sf_and_dist/equations/gamma_ratio1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="236.269535pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 236.269535 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="67.801758" font-family="Times New Roman" fill="black">tgamma_delta_ratio(a,delta)</svg:text><svg:g transform="translate(137.603520, 0.000000)"/><svg:g transform="translate(152.936856, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(163.037770, 0.000000)"/><svg:g transform="translate(175.623707, -3.984375)"><svg:g transform="translate(19.128578, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(24.593094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(29.919266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(33.487625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(37.085281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(47.081375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="60.645828" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/generate.sh b/libs/math/doc/sf_and_dist/equations/generate.sh
deleted file mode 100755
index 27d1d5eff1..0000000000
--- a/libs/math/doc/sf_and_dist/equations/generate.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright John Maddock 2008.
-# Use, modification and distribution are subject to the
-# Boost Software License, Version 1.0. (See accompanying file
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-#
-# Generates SVG and PNG files from the MML masters.
-#
-# Paths to tools come first, change these to match your system:
-#
-math2svg='m:\download\open\SVGMath-0.3.1\math2svg.py'
-python=/cygdrive/c/Python26/python.exe
-inkscape=/cygdrive/c/progra~1/Inkscape/inkscape
-# Image DPI:
-dpi=120
-
-for mmlfile in $*; do
- svgfile=$(basename $mmlfile .mml).svg
- pngfile=$(basename $svgfile .svg).png
- tempfile=temp.mml
- # strip html wrappers put in by MathCast:
- cat $mmlfile | tr -d "\r\n" | sed -e 's/.*\(<math[^>]*>.*<\/math>\).*/\1/' > $tempfile
-
- echo Generating $svgfile
- $python $math2svg $tempfile > $svgfile
- echo Generating $pngfile
- $inkscape -d $dpi -e $(cygpath -a -w $pngfile) $(cygpath -a -w $svgfile)
- rm $tempfile
-done
-
-
-
-
-
diff --git a/libs/math/doc/sf_and_dist/equations/hankel1.svg b/libs/math/doc/sf_and_dist/equations/hankel1.svg
deleted file mode 100644
index 564245a822..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hankel1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.207942pt" width="130.405924pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -9.685559 130.405924 14.207942"><svg:metadata><svgmath:metrics top="14.2079422748" axis="8.5067578125" baseline="4.5223828125" bottom="1.7389453125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.243171, 0.000000)"/><svg:g transform="translate(46.576507, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.677421, 0.000000)"/><svg:g transform="translate(68.677421, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(24.270515, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(24.270515, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(37.919577, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(37.919577, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel2.svg b/libs/math/doc/sf_and_dist/equations/hankel2.svg
deleted file mode 100644
index ced0381288..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hankel2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.436445pt" width="358.626919pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -9.914063 358.626919 14.436445"><svg:metadata><svgmath:metrics top="14.2211274555" axis="8.5067578125" baseline="4.5223828125" bottom="1.7389453125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.274421, 0.000000)"/><svg:g transform="translate(47.607757, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.708671, 0.000000)"/><svg:g transform="translate(69.708671, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(8.844082, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(8.844082, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.684258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(33.684258, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(65.426417, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(74.860659, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.501625" transform="scale(0.888782, 1)" text-anchor="middle" y="3.660294" x="2.248073" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(24.270515, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(24.270515, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(40.586241, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(50.020483, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.488933, -5.920618)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(29.075495, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(29.075495, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(91.936155, -3.984375)"><svg:text font-size="13.501625" transform="scale(0.888782, 1)" text-anchor="middle" y="3.660294" x="2.248073" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(95.932248, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(95.932248, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(119.741174, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(119.741174, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.330078" font-family="Times New Roman" fill="black">cot</svg:text><svg:g transform="translate(14.677734, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(298.693317, 0.000000)"/><svg:g transform="translate(310.693317, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(317.360637, 0.000000)"/><svg:g transform="translate(329.360637, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(8.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∉</svg:text></svg:g><svg:g transform="translate(21.531906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.867188" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℤ</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel3.svg b/libs/math/doc/sf_and_dist/equations/hankel3.svg
deleted file mode 100644
index 21a9bb6ee2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hankel3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.235308pt" width="316.627634pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.712925 316.627634 18.235308"><svg:metadata><svgmath:metrics top="18.2353079686" axis="8.5067578125" baseline="4.5223828125" bottom="0.0391315621643"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.274421, 0.000000)"/><svg:g transform="translate(47.607757, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.708671, 0.000000)"/><svg:g transform="translate(69.708671, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(25.208015, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(25.208015, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="20.035360" transform="scale(0.598941, 1)" text-anchor="middle" y="4.182720" x="3.335966" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(11.785488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.506840, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.527019, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.144531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(8.144531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.055336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(40.489578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(80.308589, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(92.449214, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text></svg:g><svg:g transform="translate(92.449214, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(10.754238, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.668945" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(157.781253, -3.984375)"><svg:text font-size="20.035360" transform="scale(0.598941, 1)" text-anchor="middle" y="4.182720" x="3.335966" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(256.694033, 0.000000)"/><svg:g transform="translate(268.694033, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(275.361353, 0.000000)"/><svg:g transform="translate(287.361353, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(8.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∈</svg:text></svg:g><svg:g transform="translate(21.531906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.867188" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℤ</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel4.svg b/libs/math/doc/sf_and_dist/equations/hankel4.svg
deleted file mode 100644
index 1126b948ea..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hankel4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.579091pt" width="142.473383pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.091328 142.473383 23.579091"><svg:metadata><svgmath:metrics top="23.5790911735" axis="13.4721380485" baseline="9.48776304854" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(6.000000, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.934453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.651250, 0.000000)"/><svg:g transform="translate(44.984586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.085500, 0.000000)"/><svg:g transform="translate(67.565500, -3.984375)"><svg:g transform="translate(12.908203, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -0.438984 L 4.200469 -0.438984 L 8.794429 8.068349 L 8.715400 8.588667 L 3.970069 -0.198984 L 3.610069 -0.198984 L 8.701172 9.228984 L 11.601563 -9.866953 L 21.773438 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(90.404875, -3.984375)"><svg:g transform="translate(3.941168, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 12.710461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.882336" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.873149, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.002578, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(10.048828, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(128.756586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hankel5.svg b/libs/math/doc/sf_and_dist/equations/hankel5.svg
deleted file mode 100644
index 3dd64979a5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hankel5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.579091pt" width="142.473383pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.091328 142.473383 23.579091"><svg:metadata><svgmath:metrics top="23.5790911735" axis="13.4721380485" baseline="9.48776304854" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(6.000000, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.934453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.651250, 0.000000)"/><svg:g transform="translate(44.984586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(55.085500, 0.000000)"/><svg:g transform="translate(67.565500, -3.984375)"><svg:g transform="translate(12.908203, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.558594" y2="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -0.438984 L 4.200469 -0.438984 L 8.794429 8.068349 L 8.715400 8.588667 L 3.970069 -0.198984 L 3.610069 -0.198984 L 8.701172 9.228984 L 11.601563 -9.866953 L 21.773438 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(90.404875, -3.984375)"><svg:g transform="translate(3.941168, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 12.710461 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="13.882336" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.873149, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.002578, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="4.832031" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(10.048828, -6.734238)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(128.756586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hazard.svg b/libs/math/doc/sf_and_dist/equations/hazard.svg
deleted file mode 100644
index 80ddee4349..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hazard.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019531pt" width="196.422543pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494153 196.422543 25.019531"><svg:metadata><svgmath:metrics top="25.01953125" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="15.987305" font-family="Times New Roman" fill="black">hazard</svg:text><svg:g transform="translate(34.003910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.720707, 0.000000)"/><svg:g transform="translate(63.054043, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.154957, 0.000000)"/><svg:g transform="translate(85.154957, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(91.154957, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(104.871754, 0.000000)"/><svg:g transform="translate(120.205090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(130.306004, 0.000000)"/><svg:g transform="translate(142.891942, -3.984375)"><svg:g transform="translate(10.278971, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.039063" font-family="Times New Roman" fill="black">pdf</svg:text><svg:g transform="translate(19.255863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(20.100910, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.661133" font-family="Times New Roman" fill="black">cdf</svg:text></svg:g><svg:g transform="translate(38.641930, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="53.530602" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hermite_0.svg b/libs/math/doc/sf_and_dist/equations/hermite_0.svg
deleted file mode 100644
index 64751fb172..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hermite_0.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="231.354566pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 231.354566 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="18.325195" font-family="Times New Roman" fill="black">hermite</svg:text><svg:g transform="translate(38.650395, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(52.367191, 0.000000)"/><svg:g transform="translate(67.700527, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(77.801442, 0.000000)"/><svg:g transform="translate(89.801442, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(104.110270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(117.827067, 0.000000)"/><svg:g transform="translate(133.160403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(143.261317, 0.000000)"/><svg:g transform="translate(155.261317, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(180.947750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(194.924332, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.648672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(213.158941, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hermite_1.svg b/libs/math/doc/sf_and_dist/equations/hermite_1.svg
deleted file mode 100644
index 64a76f0ba1..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hermite_1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="175.466602pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 175.466602 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(23.373809, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.090605, 0.000000)"/><svg:g transform="translate(52.423941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.524856, 0.000000)"/><svg:g transform="translate(74.524856, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(80.524856, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(86.249465, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(100.558293, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(116.941754, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(126.375996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(132.375996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(138.375996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(161.749805, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric1.svg b/libs/math/doc/sf_and_dist/equations/hypergeometric1.svg
deleted file mode 100644
index 8f273d9d38..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="512.491507pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 512.491507 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" axis="12.5097530377" baseline="8.52537803773" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(62.591140, 0.000000)"/><svg:g transform="translate(77.924476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.025391, 0.000000)"/><svg:g transform="translate(100.611328, -3.984375)"><svg:g transform="translate(37.105135, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.329426, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(21.516273, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(31.571609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(58.417308, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(62.413402, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(30.429031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(98.171859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(10.807941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(14.804035, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(21.990883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(25.986976, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.266918, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(63.263011, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(7.524086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.958328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(26.807937, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.400375, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(99.396468, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.242180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(39.676422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(47.200508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.634750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(66.484359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(171.210253, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="176.378222" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(277.575488, 0.000000)"/><svg:g transform="translate(289.575488, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(296.242808, 0.000000)"/><svg:g transform="translate(308.242808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">max</svg:text></svg:g><svg:g transform="translate(328.902964, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">0,</svg:text><svg:g transform="translate(9.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(21.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(30.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(38.099601, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(47.533844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(56.200508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(65.634750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(75.484359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(411.716753, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(425.151003, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(435.251917, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(444.438769, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(457.873019, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(467.973933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.333984" font-family="Times New Roman" fill="black">min</svg:text></svg:g><svg:g transform="translate(486.641902, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(4.857422, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(11.857418, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(21.853512, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric2.svg b/libs/math/doc/sf_and_dist/equations/hypergeometric2.svg
deleted file mode 100644
index b2c918eb5a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.879883pt" width="86.888676pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.068594 86.888676 34.879883"><svg:metadata><svgmath:metrics top="34.8798828125" axis="16.7956640625" baseline="12.8112890625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(10.807941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(14.804035, 0.000000)"/><svg:g transform="translate(30.137371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(40.238285, 0.000000)"/><svg:g transform="translate(52.238285, -3.984375)"><svg:g transform="translate(1.533619, 0.000000)"><svg:text font-size="19.298776" text-anchor="middle" y="5.466456" x="7.943783" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(3.761348, 16.695820)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, -12.443047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.422852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(12.227832, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(71.193090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(9.691348, -8.133965)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric3.svg b/libs/math/doc/sf_and_dist/equations/hypergeometric3.svg
deleted file mode 100644
index 2d53025e26..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="59.282305pt" width="121.737581pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -36.692539 121.737581 59.282305"><svg:metadata><svgmath:metrics top="59.2823046875" axis="26.574140625" baseline="22.589765625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.693301, 0.000000)"/><svg:g transform="translate(23.026637, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(33.127551, 0.000000)"/><svg:g transform="translate(45.127551, -3.984375)"><svg:text font-size="38.872524" text-anchor="middle" y="9.281574" x="13.855929" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.405607, 24.735352)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(3.753556, -22.199570)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(5.200195, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(8.801758, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.338008" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(13.477773, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(74.839413, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.663086" font-family="Times New Roman" fill="black">flοor</svg:text></svg:g><svg:g transform="translate(100.241761, -3.984375)"><svg:text font-size="38.872524" transform="scale(0.308701, 1)" text-anchor="middle" y="9.281574" x="6.472427" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.428574, -1.781250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(0.585938, 13.762852)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.324219, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="12.331758" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(17.499727, 0.000000)"><svg:text font-size="38.872524" transform="scale(0.308701, 1)" text-anchor="middle" y="9.281574" x="6.472427" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric4.svg b/libs/math/doc/sf_and_dist/equations/hypergeometric4.svg
deleted file mode 100644
index 8814d86186..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.879883pt" width="134.675781pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.068594 134.675781 34.879883"><svg:metadata><svgmath:metrics top="34.8798828125" axis="16.7956640625" baseline="12.8112890625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(62.591140, 0.000000)"/><svg:g transform="translate(77.924476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.025391, 0.000000)"/><svg:g transform="translate(100.025391, -3.984375)"><svg:g transform="translate(1.533619, 0.000000)"><svg:text font-size="19.298776" text-anchor="middle" y="5.466456" x="7.943783" font-family="Times New Roman" fill="black">âˆ</svg:text></svg:g><svg:g transform="translate(3.761348, 16.695820)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, -12.443047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(5.200195, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(7.422852, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(12.227832, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(118.980195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(9.691348, -8.133965)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, 3.128125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric5.mml b/libs/math/doc/sf_and_dist/equations/hypergeometric5.mml
deleted file mode 100644
index a1fc31392a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric5.mml
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
- 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
- [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
-<html xmlns='http://www.w3.org/1999/xhtml'>
-<head><title>hypergeometric5</title>
-<!-- MathML created with MathCast Equation Editor version 0.89 -->
-</head>
-<body>
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>f</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- <mo>;</mo>
- <mi>r</mi>
- <mo>,</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>N</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>r</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>r</mi>
- <mo>+</mo>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <mi>f</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>;</mo>
- <mi>r</mi>
- <mo>,</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>N</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>f</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- <mo>;</mo>
- <mi>r</mi>
- <mo>,</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>N</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <mi>x</mi>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>r</mi>
- <mo>+</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>r</mi>
- <mo>&#x2212;</mo>
- <mi>k</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <mi>f</mi>
- <mfenced>
- <mrow>
- <mi>k</mi>
- <mo>;</mo>
- <mi>r</mi>
- <mo>,</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>N</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric5.png b/libs/math/doc/sf_and_dist/equations/hypergeometric5.png
deleted file mode 100644
index 7e83643fe0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric5.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric5.svg b/libs/math/doc/sf_and_dist/equations/hypergeometric5.svg
deleted file mode 100644
index 143e46d5b7..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="42.750433pt" width="268.636045pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -25.359592 268.636045 42.750433"><svg:metadata><svgmath:metrics top="42.7504330021" axis="21.3752165011" baseline="17.3908415011" bottom="0.0"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -8.045030)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(23.954422, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(30.621742, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(35.479164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(42.479160, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(48.479160, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(55.479156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(68.949859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(80.692047, 0.000000)"/><svg:g transform="translate(96.025383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(106.126297, 0.000000)"/><svg:g transform="translate(118.712234, -3.984375)"><svg:g transform="translate(21.096889, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.682093, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(5.342101, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.040413, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.033636, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(6.049328, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.747639, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.844866, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.682093, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(21.471947, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.170259, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(33.512360, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.210672, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(46.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.958312, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(60.055538, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="86.746732" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(206.044904, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(213.790998, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(7.659308, 16.013780)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(23.954422, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(30.621742, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(35.479164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(42.479160, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(48.479160, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(55.479156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(68.949859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(80.692047, 0.000000)"/><svg:g transform="translate(96.025383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(106.126297, 0.000000)"/><svg:g transform="translate(118.712234, -3.984375)"><svg:g transform="translate(8.661261, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(21.471947, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(28.170259, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(33.512360, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.210672, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(47.203895, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.900971, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.599283, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(32.696509, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.533736, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(5.342101, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.040413, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(18.089740, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.788052, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.885279, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="71.428116" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(190.726288, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(198.472382, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.520836, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.378254, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.378250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(50.848953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric6.mml b/libs/math/doc/sf_and_dist/equations/hypergeometric6.mml
deleted file mode 100644
index f58fa107e7..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric6.mml
+++ /dev/null
@@ -1,295 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN'
- 'http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd'
- [<!ENTITY mathml 'http://www.w3.org/1998/Math/MathML'>]>
-<html xmlns='http://www.w3.org/1999/xhtml'>
-<head><title>hypergeometric6</title>
-<!-- MathML created with MathCast Equation Editor version 0.89 -->
-</head>
-<body>
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mtext>mean</mtext>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <mi>r</mi>
- <mi>n</mi>
- </mrow>
- <mi>N</mi>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>mode</mtext>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mtext>floor</mtext>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>r</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>n</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mi>N</mi>
- <mo>+</mo>
- <mn>2</mn>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>variance</mtext>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <mi>r</mi>
- <mfenced>
- <mrow>
- <mfrac>
- <mi>n</mi>
- <mi>N</mi>
- </mfrac>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mfrac>
- <mi>n</mi>
- <mi>N</mi>
- </mfrac>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>r</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>skewness</mtext>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>2</mn>
- <mi>n</mi>
- </mrow>
- </mfenced>
- <msqrt>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </msqrt>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>2</mn>
- <mi>r</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <msqrt>
- <mrow>
- <mi>r</mi>
- <mi>n</mi>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>r</mi>
- </mrow>
- </mfenced>
- </mrow>
- </msqrt>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>2</mn>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>kurtosis excess</mtext>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mi>r</mi>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>2</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>3</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>r</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mi>N</mi>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mo>&#x2212;</mo>
- <mn>6</mn>
- <mi>N</mi>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>r</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mi>n</mi>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mn>3</mn>
- <mi>r</mi>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mi>r</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>N</mi>
- <mo>+</mo>
- <mn>6</mn>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- </mrow>
- </mfrac>
- <mo>&#x2212;</mo>
- <mn>6</mn>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric6.png b/libs/math/doc/sf_and_dist/equations/hypergeometric6.png
deleted file mode 100644
index d6a7f0c7f2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric6.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/hypergeometric6.svg b/libs/math/doc/sf_and_dist/equations/hypergeometric6.svg
deleted file mode 100644
index ee36304bdb..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypergeometric6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="122.592492pt" width="376.774877pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -65.280621 376.774877 122.592492"><svg:metadata><svgmath:metrics top="122.592491761" axis="61.2962458805" baseline="57.3118708805" bottom="0.0"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(150.943856, -51.847476)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">mean</svg:text><svg:g transform="translate(27.986332, 0.000000)"/><svg:g transform="translate(43.319668, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(53.420582, 0.000000)"/><svg:g transform="translate(66.006520, -3.984375)"><svg:g transform="translate(0.585937, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(1.076836, 7.240781)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="8.880645" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(114.090608, -29.744654)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.330078" font-family="Times New Roman" fill="black">mode</svg:text><svg:g transform="translate(28.660160, 0.000000)"/><svg:g transform="translate(43.993496, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(54.094410, 0.000000)"/><svg:g transform="translate(68.094414, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.663086" font-family="Times New Roman" fill="black">floor</svg:text></svg:g><svg:g transform="translate(93.496762, -3.984375)"><svg:text font-size="20.558777" transform="scale(0.583692, 1)" text-anchor="middle" y="4.908810" x="3.423117" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(5.342101, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.040413, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.137639, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.974866, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(13.177111, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="45.932837" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.100806, 0.000000)"><svg:text font-size="20.558777" transform="scale(0.583692, 1)" text-anchor="middle" y="4.908810" x="3.423117" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(113.447975, -0.350738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="20.317383" font-family="Times New Roman" fill="black">variance</svg:text><svg:g transform="translate(42.634770, 0.000000)"/><svg:g transform="translate(57.968106, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.069020, 0.000000)"/><svg:g transform="translate(80.654957, -3.984375)"><svg:g transform="translate(0.585938, -5.324395)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, -2.828906)"><svg:text font-size="14.416713" transform="scale(0.590981, 1)" text-anchor="middle" y="3.442272" x="2.400439" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(1.574219, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.432598)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.890625" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.148438" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.817695, 0.000000)"><svg:text font-size="14.416713" transform="scale(0.590981, 1)" text-anchor="middle" y="3.442272" x="2.400439" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(17.103691, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.448937" transform="scale(0.684396, 1)" text-anchor="middle" y="3.866958" x="2.072797" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(1.574219, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.416016, 6.432598)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.890625" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.148438" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(23.669339, -2.828906)"><svg:text font-size="12.448937" transform="scale(0.684396, 1)" text-anchor="middle" y="3.866958" x="2.072797" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.610257, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(21.985451, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="69.223970" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(100.570078, 24.512729)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="22.664063" font-family="Times New Roman" fill="black">skewness</svg:text><svg:g transform="translate(47.328129, 0.000000)"/><svg:g transform="translate(62.661465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(72.762379, 0.000000)"/><svg:g transform="translate(85.348317, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(19.578616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.675843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.853869, 0.000000)"><svg:g transform="translate(4.501095, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.364364 L 1.722371 -3.364364 L 3.095297 -0.821908 L 3.038609 -0.453554 L 1.558787 -3.193964 L 1.303187 -3.193964 L 3.027928 0.000000 L 4.037237 -6.558329 L 30.218021 -6.558329" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:g transform="translate(60.412690, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(19.578616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(25.864612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(1.161953, 8.328338)"><svg:g transform="translate(4.501095, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.708770, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.961839, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.364364 L 1.722371 -3.364364 L 3.095297 -0.821908 L 3.038609 -0.453554 L 1.558787 -3.193964 L 1.303187 -3.193964 L 3.027928 0.000000 L 4.037237 -6.558329 L 62.368629 -6.558329" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/><svg:g transform="translate(62.709429, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="90.286404" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.000000, 52.696229)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="36.161133" font-family="Times New Roman" fill="black">kurtosis excess</svg:text><svg:g transform="translate(74.322270, 0.000000)"/><svg:g transform="translate(89.655606, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(99.756520, 0.000000)"/><svg:g transform="translate(111.756520, -3.984375)"><svg:text font-size="27.802410" transform="scale(0.431617, 1)" text-anchor="middle" y="6.638368" x="4.629210" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(21.794290, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.726973, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(3.448770, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.701839, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(53.954908, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="79.568621" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(84.736590, 0.000000)"><svg:text font-size="27.802410" transform="scale(0.431617, 1)" text-anchor="middle" y="6.638368" x="4.629210" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(200.489204, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="22.318293" transform="scale(0.537676, 1)" text-anchor="middle" y="6.128786" x="3.716083" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.873373, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(40.571685, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">6</svg:text></svg:g><svg:g transform="translate(44.831685, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(51.558658, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.829651, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="77.172371" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(80.424973, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(90.445153, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(7.708770, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(21.604612, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.150608, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(8.620304, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.318616, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">6</svg:text></svg:g></svg:g><svg:g transform="translate(22.415843, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.924290, 10.816563)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="58.575552" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(152.273306, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(161.707549, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text></svg:g></svg:g><svg:g transform="translate(172.289580, -3.984375)"><svg:text font-size="22.318293" transform="scale(0.537676, 1)" text-anchor="middle" y="6.128786" x="3.716083" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypot.svg b/libs/math/doc/sf_and_dist/equations/hypot.svg
deleted file mode 100644
index 4c3a8acc81..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypot.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.501328pt" width="137.215641pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.911484 137.215641 15.501328"><svg:metadata><svgmath:metrics top="15.501328125" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">hypot</svg:text><svg:g transform="translate(29.351567, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(22.984371, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.332031, 0.000000)"/><svg:g transform="translate(71.665367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.766281, 0.000000)"/><svg:g transform="translate(94.246281, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 42.969359 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/hypot2.svg b/libs/math/doc/sf_and_dist/equations/hypot2.svg
deleted file mode 100644
index ccd9499beb..0000000000
--- a/libs/math/doc/sf_and_dist/equations/hypot2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.133204pt" width="151.519922pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.625391 151.519922 22.133204"><svg:metadata><svgmath:metrics top="22.1332038802" bottom="0.0407827604726" baseline="5.5078125" axis="9.4921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.666992" font-family="Times New Roman" fill="black">hypot</svg:text><svg:g transform="translate(29.351567, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(22.984371, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(56.332031, 0.000000)"/><svg:g transform="translate(71.665367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.766281, 0.000000)"/><svg:g transform="translate(93.766281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(99.970891, 0.000000)"><svg:g transform="translate(11.281875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, -3.984375)"><svg:text font-size="20.880773" transform="scale(0.574691, 1)" text-anchor="middle" y="4.985692" x="3.476730" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(0.855469, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.435547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.603516, 0.000000)"><svg:text font-size="20.880773" transform="scale(0.574691, 1)" text-anchor="middle" y="4.985692" x="3.476730" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.599609, -5.096720)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -8.312696 L 3.712570 -8.312696 L 7.574936 -1.160166 L 7.495781 -0.640083 L 3.482170 -8.072696 L 3.122170 -8.072696 L 7.481426 0.000000 L 9.975235 -16.385391 L 51.549032 -16.385391" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta1.svg b/libs/math/doc/sf_and_dist/equations/ibeta1.svg
deleted file mode 100644
index 31de12f8e3..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.957215pt" width="254.569764pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.566571 254.569764 22.957215"><svg:metadata><svgmath:metrics top="22.9572152759" bottom="1.7389453125" baseline="6.39064446831" axis="10.3750194683"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.732418, 0.000000)"/><svg:g transform="translate(77.065754, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.166668, 0.000000)"/><svg:g transform="translate(99.166668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(110.836609, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(137.828793, 0.000000)"/><svg:g transform="translate(153.162129, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(163.263043, 0.000000)"/><svg:g transform="translate(175.263043, -3.984375)"><svg:text font-size="18.223244" text-anchor="middle" y="5.336702" x="2.522602" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(5.018511, 8.536230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(5.018511, -8.817254)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(184.541554, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(201.464190, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(25.694656, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.690750, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(244.479921, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(250.972108, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta10.mml b/libs/math/doc/sf_and_dist/equations/ibeta10.mml
deleted file mode 100644
index 0aa5f5966f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta10.mml
+++ /dev/null
@@ -1,202 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mspace width="1em"/>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <msup>
- <mi>x</mi>
- <mi>a</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mi>b</mi>
- </msup>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>j</mi>
- <mo>=</mo>
- <mn>1</mn>
- </mrow>
- <mi>n</mi>
- </munderover>
- <mfrac>
- <mrow>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>b</mi>
- <mo>+</mo>
- <mi>j</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>j</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <msup>
- <mi>x</mi>
- <mrow>
- <mi>j</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </msup>
- <mspace width="1em"/>
- </mtd>
- </mtr>
- <mtr>
- <mtd/>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mspace width="1em"/>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>n</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <msup>
- <mi>x</mi>
- <mi>a</mi>
- </msup>
- <msup>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mi>b</mi>
- </msup>
- </mrow>
- <mi>a</mi>
- </mfrac>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>j</mi>
- <mo>=</mo>
- <mn>0</mn>
- </mrow>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </munderover>
- <mfrac>
- <mrow>
- <msup>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mover>
- <mi>j</mi>
- <mo>&#x2212;</mo>
- </mover>
- </mrow>
- </msup>
- </mrow>
- <mrow>
- <msup>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mrow>
- <mover>
- <mi>j</mi>
- <mo>&#x2212;</mo>
- </mover>
- </mrow>
- </msup>
- </mrow>
- </mfrac>
- <msup>
- <mi>x</mi>
- <mi>j</mi>
- </msup>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta10.png b/libs/math/doc/sf_and_dist/equations/ibeta10.png
deleted file mode 100644
index d54e6651d0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta10.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta10.svg b/libs/math/doc/sf_and_dist/equations/ibeta10.svg
deleted file mode 100644
index e644520bce..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta10.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="59.702795pt" width="313.517248pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -33.835772 313.517248 59.702795"><svg:metadata><svgmath:metrics top="59.7027946261" bottom="0.0" baseline="25.867022313" axis="29.851397313"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -15.162756)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/></svg:g><svg:g transform="translate(57.953531, -19.147131)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.321109, -15.162756)"><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(21.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.121101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(78.555343, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(88.539953, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.817703, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(124.617656, -3.984375)"><svg:text font-size="20.595422" text-anchor="middle" y="4.917559" x="7.341142" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(14.682284, 8.865478)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.682284, -6.939325)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(152.786521, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(31.432282, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(38.130594, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.227821, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(5.489602, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.895957, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(21.857461, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(19.524534, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="55.198426" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(208.570885, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(227.196139, 0.000000)"/></svg:g><svg:g transform="translate(24.176766, 17.372235)"/><svg:g transform="translate(57.953531, 13.387860)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(98.021698, 17.372235)"><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(21.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.121101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.141281, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(8.064473, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.753343, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.590569, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.783458, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.826917" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.554135, -3.984375)"><svg:text font-size="33.264579" text-anchor="middle" y="7.942568" x="11.857003" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(23.714007, 14.624748)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(23.714007, -10.705881)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(153.179060, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.786096, -5.426562)"><svg:g transform="translate(0.455078, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.109375)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 13.299609)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.786096, -5.426562)"><svg:g transform="translate(0.455078, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.470703" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.109375)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="28.469690" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.234688, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta11.svg b/libs/math/doc/sf_and_dist/equations/ibeta11.svg
deleted file mode 100644
index 9584421973..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta11.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.221747pt" width="308.388541pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.725776 308.388541 51.221747"><svg:metadata><svgmath:metrics top="51.2217465259" bottom="0.0" baseline="22.4959709192" axis="26.4803459192"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(11.669941, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.662125, 0.000000)"/><svg:g transform="translate(53.995461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(64.096375, 0.000000)"/><svg:g transform="translate(76.682313, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(13.632484, 11.979766)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.776687" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.044937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(126.714879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(24.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(41.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(174.474632, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(184.494812, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.817703, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(20.617094, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="47.234187" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(232.314937, -3.984375)"><svg:text font-size="38.666196" text-anchor="middle" y="9.232309" x="13.782384" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.332062, 24.641557)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.119894, -18.983744)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(260.465643, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -6.750879)"><svg:g transform="translate(0.338027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.496328)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 15.010879)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -6.750879)"><svg:g transform="translate(0.338027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(0.000000, -6.496328)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.776687" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(298.828268, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta12.svg b/libs/math/doc/sf_and_dist/equations/ibeta12.svg
deleted file mode 100644
index a3eb39416f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta12.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.816960pt" width="319.554828pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.969355 319.554828 36.816960"><svg:metadata><svgmath:metrics top="36.816960069" bottom="0.0" baseline="15.8476046002" axis="19.8319796002"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(51.686867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.787781, 0.000000)"/><svg:g transform="translate(73.787781, -3.984375)"><svg:g transform="translate(1.415869, 0.000000)"><svg:text font-size="24.657344" text-anchor="middle" y="7.188197" x="8.788995" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(11.344746, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.149727, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.841377, -11.343809)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(94.783445, -3.984375)"><svg:g transform="translate(16.631182, -1.781250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(10.807941, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(8.663410, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(12.141273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.575516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(28.905594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(42.898429, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.066398" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(143.435781, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(151.527519, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, -6.734220)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(16.736309, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(177.364726, 0.000000)"/><svg:g transform="translate(189.364726, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(196.032047, 0.000000)"/><svg:g transform="translate(208.032047, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(217.242336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(227.343250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(236.009914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(245.444156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(254.444156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.335938" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:g transform="translate(267.252102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(277.353016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(286.019680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(295.453922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(304.120586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(313.554828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta2.svg b/libs/math/doc/sf_and_dist/equations/ibeta2.svg
deleted file mode 100644
index f7c3fbb758..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="246.417226pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 246.417226 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.685547" font-family="Times New Roman" fill="black">betac</svg:text><svg:g transform="translate(27.341801, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(67.058590, 0.000000)"/><svg:g transform="translate(82.391926, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(92.492840, 0.000000)"/><svg:g transform="translate(104.492840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(113.159504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(122.593746, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(134.263687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(161.255871, 0.000000)"/><svg:g transform="translate(176.589207, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(186.690121, 0.000000)"/><svg:g transform="translate(198.690121, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(219.425043, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta3.svg b/libs/math/doc/sf_and_dist/equations/ibeta3.svg
deleted file mode 100644
index f23c66b390..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.278409pt" width="308.628968pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.321354 308.628968 29.278409"><svg:metadata><svgmath:metrics top="29.2784091112" bottom="0.431676824651" baseline="8.95705486238" axis="12.9414298624"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="11.660156" font-family="Times New Roman" fill="black">ibeta</svg:text><svg:g transform="translate(25.320317, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(65.037105, 0.000000)"/><svg:g transform="translate(80.370441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(90.471356, 0.000000)"/><svg:g transform="translate(102.471356, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(111.832703, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(138.824887, 0.000000)"/><svg:g transform="translate(154.158223, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(164.259137, 0.000000)"/><svg:g transform="translate(176.845074, -3.984375)"><svg:g transform="translate(22.089844, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.022461" font-family="Times New Roman" fill="black">beta</svg:text><svg:g transform="translate(22.015629, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="50.179688" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(227.610699, -3.984375)"><svg:text font-size="24.438225" text-anchor="middle" y="7.235488" x="3.382928" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(6.730058, 11.102641)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(6.730058, -12.572038)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(238.600757, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(255.523394, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(25.694656, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.690750, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(298.539124, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(305.031312, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta4.svg b/libs/math/doc/sf_and_dist/equations/ibeta4.svg
deleted file mode 100644
index f1d9a6b88a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.883548pt" width="245.104726pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 245.104726 12.883548"><svg:metadata><svgmath:metrics top="12.8835477435" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="14.323242" font-family="Times New Roman" fill="black">ibetac</svg:text><svg:g transform="translate(30.646488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(18.999996, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.999992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.720695, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(70.363277, 0.000000)"/><svg:g transform="translate(85.696613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(95.797527, 0.000000)"/><svg:g transform="translate(107.797527, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(116.464191, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(125.898434, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(135.259781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(162.251965, 0.000000)"/><svg:g transform="translate(177.585301, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(187.686215, 0.000000)"/><svg:g transform="translate(199.686215, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(218.112543, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta5.mml b/libs/math/doc/sf_and_dist/equations/ibeta5.mml
deleted file mode 100644
index 4845bd785c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta5.mml
+++ /dev/null
@@ -1,185 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <msup>
- <mi>x</mi>
- <mi>a</mi>
- </msup>
- <msup>
- <mi>y</mi>
- <mi>b</mi>
- </msup>
- </mrow>
- <mrow>
- <mi>a</mi>
- <mi>B</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <mfenced>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <mfrac>
- <msub>
- <mi>d</mi>
- <mn>1</mn>
- </msub>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <mfrac>
- <msub>
- <mi>d</mi>
- <mn>2</mn>
- </msub>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <mo>&#x2026;</mo>
- </mrow>
- </mfrac>
- </mrow>
- </mfrac>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- <msub>
- <mi>d</mi>
- <mrow>
- <mn>2</mn>
- <mi>m</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </msub>
- <mo>=</mo>
- <mfrac>
- <mrow>
- <mo>&#x2212;</mo>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>b</mi>
- <mo>+</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mi>x</mi>
- </mrow>
- <mrow>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <mspace width="1em"/>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mspace width="1em"/>
- <msub>
- <mi>d</mi>
- <mrow>
- <mn>2</mn>
- <mi>m</mi>
- </mrow>
- </msub>
- <mo>=</mo>
- <mfrac>
- <mrow>
- <mi>m</mi>
- <mfenced>
- <mrow>
- <mi>b</mi>
- <mo>&#x2212;</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mi>x</mi>
- </mrow>
- <mrow>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta5.png b/libs/math/doc/sf_and_dist/equations/ibeta5.png
deleted file mode 100644
index d0e3c24314..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta5.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta5.svg b/libs/math/doc/sf_and_dist/equations/ibeta5.svg
deleted file mode 100644
index b1c2f2be85..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="107.923900pt" width="176.920133pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -57.946325 176.920133 107.923900"><svg:metadata><svgmath:metrics top="107.923899705" bottom="0.0" baseline="49.9775748523" axis="53.9619498523"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -20.042350)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(51.686867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.787781, 0.000000)"/><svg:g transform="translate(74.373719, -3.984375)"><svg:g transform="translate(6.742264, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(8.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(4.447207, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(9.659883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.229997, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(16.327224, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="29.996208" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(104.955864, -3.984375)"><svg:text font-size="65.709903" transform="scale(0.182621, 1)" text-anchor="middle" y="15.689523" x="10.940956" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(23.270103, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 14.740020)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.267659, -2.828906)"><svg:g transform="translate(14.016273, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 14.034160)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.457896, -2.656250)"><svg:g transform="translate(7.371310, -4.687500)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.472656)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(5.777776, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(14.289495, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="23.070745" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="36.360672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="50.800206" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(55.968174, 0.000000)"><svg:text font-size="65.709903" transform="scale(0.182621, 1)" text-anchor="middle" y="15.689523" x="10.940956" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(164.920133, 0.000000)"/></svg:g><svg:g transform="translate(19.809864, 24.541703)"><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(10.412871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.217852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.303375, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(51.990227, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.957282, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(34.693384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(67.487893, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.997331, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(28.938968, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(38.953384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="72.724240" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(125.300405, 0.000000)"/></svg:g><svg:g transform="translate(31.046716, 48.600513)"><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.238395, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(42.925246, -3.984375)"><svg:g transform="translate(18.502571, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.831839, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(38.953384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(41.790611, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="71.901453" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta6.mml b/libs/math/doc/sf_and_dist/equations/ibeta6.mml
deleted file mode 100644
index d698c028d8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta6.mml
+++ /dev/null
@@ -1,247 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <msup>
- <mi>x</mi>
- <mi>a</mi>
- </msup>
- <msup>
- <mi>y</mi>
- <mi>b</mi>
- </msup>
- </mrow>
- <mrow>
- <mi>B</mi>
- <mfenced>
- <mrow>
- <mrow>
- <mi>a</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- <mfenced>
- <mrow>
- <mfrac>
- <msub>
- <mi>&#x03B1;</mi>
- <mn>1</mn>
- </msub>
- <mrow>
- <msub>
- <mi>&#x03B2;</mi>
- <mn>1</mn>
- </msub>
- <mo>+</mo>
- <mfrac>
- <msub>
- <mi>&#x03B1;</mi>
- <mn>2</mn>
- </msub>
- <mrow>
- <msub>
- <mi>&#x03B2;</mi>
- <mn>2</mn>
- </msub>
- <mo>+</mo>
- <mfrac>
- <msub>
- <mi>&#x03B1;</mi>
- <mn>3</mn>
- </msub>
- <mrow>
- <msub>
- <mi>&#x03B2;</mi>
- <mn>3</mn>
- </msub>
- <mo>+</mo>
- <mo>&#x2026;</mo>
- </mrow>
- </mfrac>
- </mrow>
- </mfrac>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msub>
- <mi>&#x03B1;</mi>
- <mn>1</mn>
- </msub>
- <mo>=</mo>
- <mn>1</mn>
- <mspace width="1em"/>
- <mo>,</mo>
- <mspace width="1em"/>
- <msub>
- <mi>&#x03B1;</mi>
- <mrow>
- <mi>m</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </msub>
- <mo>=</mo>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>m</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>b</mi>
- <mo>+</mo>
- <mi>m</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mi>m</mi>
- <mfenced>
- <mrow>
- <mi>b</mi>
- <mo>&#x2212;</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <msup>
- <mi>x</mi>
- <mn>2</mn>
- </msup>
- </mrow>
- <mrow>
- <msup>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mn>2</mn>
- </msup>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msub>
- <mi>&#x03B2;</mi>
- <mrow>
- <mi>m</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </msub>
- <mo>=</mo>
- <mi>m</mi>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mi>m</mi>
- <mfenced>
- <mrow>
- <mi>b</mi>
- <mo>&#x2212;</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mi>x</mi>
- </mrow>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfrac>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>&#x2212;</mo>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mi>x</mi>
- <mo>+</mo>
- <mn>1</mn>
- <mo>+</mo>
- <mi>m</mi>
- <mfenced>
- <mrow>
- <mn>2</mn>
- <mo>&#x2212;</mo>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>m</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta6.png b/libs/math/doc/sf_and_dist/equations/ibeta6.png
deleted file mode 100644
index 54b87df880..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta6.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta6.svg b/libs/math/doc/sf_and_dist/equations/ibeta6.svg
deleted file mode 100644
index b9a933eb8f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="112.673206pt" width="228.876494pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -60.320978 228.876494 112.673206"><svg:metadata><svgmath:metrics top="112.673206146" bottom="0.0" baseline="52.352228073" axis="56.336603073"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(27.192273, -22.608821)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(51.686867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.787781, 0.000000)"/><svg:g transform="translate(74.373719, -3.984375)"><svg:g transform="translate(4.612264, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(8.064473, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(4.447207, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(5.399883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.229997, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(16.327224, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.736208" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(100.695864, -3.984375)"><svg:text font-size="65.288851" transform="scale(0.183799, 1)" text-anchor="middle" y="15.588988" x="10.870849" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(28.079927, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.236084" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.472168, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.720488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.691621" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(4.896504, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(10.789835, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.904163, -2.828906)"><svg:g transform="translate(18.678383, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.199219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.108379)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.527344" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(4.597656, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.375432, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.055552, -2.656250)"><svg:g transform="translate(9.734591, -4.781250)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.099609" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(4.199219, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.527344" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(4.597656, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(10.375432, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.887151, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="27.668401" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="45.555984" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="64.632022" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(69.799991, 0.000000)"><svg:text font-size="65.288851" transform="scale(0.183799, 1)" text-anchor="middle" y="15.588988" x="10.870849" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.182751, 25.076708)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(13.892164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.993078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(29.993078, 0.000000)"/><svg:g transform="translate(41.993078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(48.993074, 0.000000)"/><svg:g transform="translate(60.993074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(6.298828, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(10.957852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(85.843090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(96.529942, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(20.897846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(27.596158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(34.693384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(37.530611, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(19.004975, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.703287, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(33.749489, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(40.447801, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(47.545028, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(87.912865, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(94.065736, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(118.744704, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(41.095220, 10.816563)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(38.953384, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(41.790611, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="127.981051" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(0.000000, 52.428400)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text><svg:g transform="translate(6.896484, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(10.957852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(25.447672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.548586, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(46.881266, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(56.901445, -3.984375)"><svg:g transform="translate(1.195861, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.831839, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.288033" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(97.442080, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(107.462259, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(21.841741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(24.678968, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.637740, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(41.595544, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(48.293856, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(54.447187, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(61.145499, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(67.298370, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.753343, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(92.726166, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.649039, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(25.157846, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.856158, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="121.414235" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta7.svg b/libs/math/doc/sf_and_dist/equations/ibeta7.svg
deleted file mode 100644
index 93f5af7abc..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="39.008732pt" width="180.291033pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.319213 180.291033 39.008732"><svg:metadata><svgmath:metrics top="39.0087317694" bottom="0.0" baseline="15.6895186627" axis="19.6738936627"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(51.686867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.787781, 0.000000)"/><svg:g transform="translate(74.373719, -3.984375)"><svg:g transform="translate(12.892459, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.769527" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(110.729184, -3.984375)"><svg:text font-size="29.758584" text-anchor="middle" y="6.087246" x="10.607308" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.944817, 19.574050)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.570394, -15.407651)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(132.529736, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g><svg:g transform="translate(36.604812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.169389, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(39.426426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="47.761297" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta8.mml b/libs/math/doc/sf_and_dist/equations/ibeta8.mml
deleted file mode 100644
index b2d9ddf376..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta8.mml
+++ /dev/null
@@ -1,243 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>,</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>&#x2248;</mo>
- <mspace width="1em"/>
- <mi>M</mi>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>n</mi>
- <mo>=</mo>
- <mn>0</mn>
- </mrow>
- <mi>&#x221E;</mi>
- </munderover>
- <msub>
- <mi>p</mi>
- <mi>n</mi>
- </msub>
- <msub>
- <mi>J</mi>
- <mi>n</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>b</mi>
- <mo>,</mo>
- <mi>u</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>;</mo>
- <mspace width="1em"/>
- <mi>a</mi>
- <mo>></mo>
- <mi>b</mi>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>M</mi>
- <mo>=</mo>
- <mfrac>
- <mrow>
- <mi>H</mi>
- <mfenced>
- <mrow>
- <mi>b</mi>
- <mo>,</mo>
- <mi>u</mi>
- </mrow>
- </mfenced>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>b</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- </mrow>
- </mfenced>
- <msup>
- <mi>T</mi>
- <mi>b</mi>
- </msup>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>H</mi>
- <mfenced>
- <mrow>
- <mi>c</mi>
- <mo>,</mo>
- <mi>u</mi>
- </mrow>
- </mfenced>
- <mo>=</mo>
- <mfrac>
- <mrow>
- <msup>
- <mi>e</mi>
- <mrow>
- <mo>&#x2212;</mo>
- <mi>u</mi>
- </mrow>
- </msup>
- <msup>
- <mi>u</mi>
- <mi>c</mi>
- </msup>
- </mrow>
- <mrow>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>T</mi>
- <mo>=</mo>
- <mi>a</mi>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mi>b</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- <mn>2</mn>
- </mfrac>
- <mspace width="1em"/>
- <mspace width="1em"/>
- <mi>u</mi>
- <mo>=</mo>
- <mo>&#x2212;</mo>
- <mi>T</mi>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msub>
- <mi>p</mi>
- <mn>0</mn>
- </msub>
- <mo>=</mo>
- <mn>1</mn>
- <mspace width="1em"/>
- <msub>
- <mi>p</mi>
- <mi>n</mi>
- </msub>
- <mo>=</mo>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>b</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- </mrow>
- <mrow>
- <mfenced>
- <mrow>
- <mn>2</mn>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mo>!</mo>
- </mrow>
- </mfrac>
- <mo>+</mo>
- <mfrac>
- <mn>1</mn>
- <mi>n</mi>
- </mfrac>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>m</mi>
- <mo>=</mo>
- <mn>1</mn>
- </mrow>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </munderover>
- <mfrac>
- <mfenced>
- <mrow>
- <mi>m</mi>
- <mi>b</mi>
- <mo>&#x2212;</mo>
- <mi>n</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mfenced>
- <mrow>
- <mn>2</mn>
- <mi>m</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mo>!</mo>
- </mrow>
- </mfrac>
- <msub>
- <mi>p</mi>
- <mrow>
- <mi>n</mi>
- <mo>&#x2212;</mo>
- <mi>m</mi>
- </mrow>
- </msub>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta8.png b/libs/math/doc/sf_and_dist/equations/ibeta8.png
deleted file mode 100644
index 6101312054..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta8.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta8.svg b/libs/math/doc/sf_and_dist/equations/ibeta8.svg
deleted file mode 100644
index ecfe73bea2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="115.288979pt" width="215.281384pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -61.628864 215.281384 115.288979"><svg:metadata><svgmath:metrics top="115.288978753" bottom="0.0" baseline="53.6601143763" axis="57.6444893763"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -47.970661)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(51.686867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(61.606141, 0.000000)"/><svg:g transform="translate(73.606141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.390625" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text></svg:g><svg:g transform="translate(85.084656, -3.984375)"><svg:text font-size="15.375596" text-anchor="middle" y="6.313157" x="5.480559" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(10.961118, 10.873477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.961118, -1.762266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(109.370755, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(120.954974, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(132.187630, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(159.179814, 0.000000)"/><svg:g transform="translate(171.179814, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(177.847134, 0.000000)"/><svg:g transform="translate(189.847134, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(199.180470, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(209.281384, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(66.782044, -22.284342)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.390625" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text><svg:g transform="translate(14.811852, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(25.498703, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.301084" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(7.134668, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.229997, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(16.327224, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(26.299118, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(32.260622, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.394814, 10.965000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(15.895957, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.369209" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(5.533008, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="56.218594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(71.809028, 4.915289)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.326168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(22.322262, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(39.700519, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(50.387371, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -3.810703)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(12.293301, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(4.260000, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.690000, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="21.275957" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(35.059480, 27.243483)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(11.126305, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(21.227219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(29.893883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(39.914063, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.011759, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.283518" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(58.783518, 0.000000)"/><svg:g transform="translate(70.783518, 0.000000)"/><svg:g transform="translate(82.783518, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(92.116854, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(104.884432, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(114.318675, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g><svg:g transform="translate(122.111643, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(131.445628, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(3.829666, 50.655544)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(14.917555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(25.018469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(31.018469, 0.000000)"/><svg:g transform="translate(43.018469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(57.936024, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.622875, -3.984375)"><svg:g transform="translate(4.607884, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.948870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.413331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.111643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(24.208870, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(27.992762, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="32.001864" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(103.877341, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(113.897520, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(119.915333, -3.984375)"><svg:text font-size="20.873030" text-anchor="middle" y="5.126700" x="7.440094" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(14.880187, 10.873477)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.957852, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.880187, -4.929952)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(150.599309, -3.984375)"><svg:g transform="translate(2.477884, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(6.152871, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(12.306203, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.004514, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(12.306203, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.004514, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(26.101741, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.885633, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.894735" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(185.079981, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 3.808359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta9.svg b/libs/math/doc/sf_and_dist/equations/ibeta9.svg
deleted file mode 100644
index 9ab97fa8ca..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta9.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="265.476421pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 265.476421 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(11.232656, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.558176, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(51.659090, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(4.482422, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.964844" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(20.132813, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(24.128906, -5.313982)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(84.893934, -3.984375)"><svg:g transform="translate(1.277344, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.313793" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(151.127000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(161.227914, -3.984375)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(16.768230, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(8.832357, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.664714" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(28.832683, 0.000000)"><svg:text font-size="22.156821" transform="scale(0.541594, 1)" text-anchor="middle" y="5.290374" x="3.689197" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.828777, -5.678044)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(203.162628, -3.984375)"><svg:g transform="translate(1.277344, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.649414" font-family="Times New Roman" font-style="italic" fill="black">H</svg:text><svg:g transform="translate(10.048828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(30.100906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(37.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(47.096996, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.313793" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv1.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv1.svg
deleted file mode 100644
index 1d5d77e132..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.596400pt" width="454.584042pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.289940 454.584042 30.596400"><svg:metadata><svgmath:metrics top="30.5963995368" bottom="0.0" baseline="11.3064592005" axis="15.2908342005"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.361855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.354039, 0.000000)"/><svg:g transform="translate(56.687375, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(66.606648, 0.000000)"/><svg:g transform="translate(78.606648, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(142.019402, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(152.039582, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(177.898300, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(241.311054, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(251.331234, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.926664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.360906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(28.360906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(34.360906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(43.027570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(52.461812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(61.128476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(70.562718, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">5</svg:text></svg:g><svg:g transform="translate(76.562718, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:g transform="translate(85.229382, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(94.663624, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g><svg:g transform="translate(104.659718, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.737297, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.093094, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(42.353094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="141.920781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(393.837952, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv2.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv2.svg
deleted file mode 100644
index c9517d47bd..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.641055pt" width="145.513461pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -10.118672 145.513461 14.641055"><svg:metadata><svgmath:metrics top="14.6410546875" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(21.666660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.100902, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(41.993480, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(55.350922, 0.000000)"/><svg:g transform="translate(67.350922, 0.000000)"/><svg:g transform="translate(79.350922, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(86.018242, 0.000000)"/><svg:g transform="translate(98.018242, 0.000000)"/><svg:g transform="translate(110.018242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(120.248062, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(130.828977, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.684484 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv3.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv3.svg
deleted file mode 100644
index 6b6a8de575..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.115234pt" width="173.970727pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.027344 173.970727 17.115234"><svg:metadata><svgmath:metrics top="17.115234375" bottom="0.0" baseline="6.087890625" axis="10.072265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.361348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.353531, 0.000000)"/><svg:g transform="translate(48.353531, 0.000000)"/><svg:g transform="translate(60.353531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(67.020852, 0.000000)"/><svg:g transform="translate(79.020852, 0.000000)"/><svg:g transform="translate(91.020852, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.2</svg:text></svg:g><svg:g transform="translate(109.354188, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(119.859399, -3.984375)"><svg:g transform="translate(9.636391, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(149.051453, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(158.970727, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.8</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv4.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv4.svg
deleted file mode 100644
index 1c1b054942..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.201552pt" width="139.352738pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.679169 139.352738 20.201552"><svg:metadata><svgmath:metrics top="20.201552111" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(14.361855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.354039, 0.000000)"/><svg:g transform="translate(56.687375, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(66.606648, 0.000000)"/><svg:g transform="translate(78.606648, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv5.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv5.svg
deleted file mode 100644
index d9c81907ab..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="309.109336pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 309.109336 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="0.0" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, 0.000000)"/><svg:g transform="translate(22.657555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(32.758469, 0.000000)"/><svg:g transform="translate(44.758469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(53.425133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(62.859375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(68.859375, 0.000000)"/><svg:g transform="translate(84.192711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(94.293625, 0.000000)"/><svg:g transform="translate(106.293625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(115.654973, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(142.647156, 0.000000)"/><svg:g transform="translate(157.980492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(168.081406, 0.000000)"/><svg:g transform="translate(180.081406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(188.748070, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(198.182313, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(207.926395, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(234.918578, 0.000000)"/><svg:g transform="translate(246.918578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(253.585898, 0.000000)"/><svg:g transform="translate(265.585898, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(275.182906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(285.283820, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(293.950484, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(303.384727, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv6.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv6.svg
deleted file mode 100644
index 10bd3e23da..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.221083pt" width="199.827348pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.698701 199.827348 22.221083"><svg:metadata><svgmath:metrics top="22.221083361" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 0.000000)"/><svg:g transform="translate(21.597008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.697922, 0.000000)"/><svg:g transform="translate(43.697922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(52.364586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(61.798828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(76.160684, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(103.152867, 0.000000)"/><svg:g transform="translate(118.486203, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≈</svg:text></svg:g><svg:g transform="translate(128.405477, 0.000000)"/><svg:g transform="translate(140.405477, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">q</svg:text></svg:g><svg:g transform="translate(12.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(19.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(50.593746, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(54.589840, -11.426489)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.420649)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv7.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv7.svg
deleted file mode 100644
index c02734af95..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.926161pt" width="229.495785pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.679169 229.495785 25.926161"><svg:metadata><svgmath:metrics top="25.926161486" bottom="0.0" baseline="10.2469921875" axis="14.2313671875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"/><svg:g transform="translate(25.317945, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.418859, 0.000000)"/><svg:g transform="translate(48.004797, -3.984375)"><svg:g transform="translate(9.636391, -6.121992)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="29.665086" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(78.255820, 0.000000)"/><svg:g transform="translate(90.255820, 0.000000)"/><svg:g transform="translate(102.255820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(108.923141, 0.000000)"/><svg:g transform="translate(120.923141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(131.315445, 0.000000)"/><svg:g transform="translate(146.648781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(156.749696, 0.000000)"/><svg:g transform="translate(168.749696, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g><svg:g transform="translate(13.324219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(20.929688, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(22.996090, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.917965, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.914058, -9.406958)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 4.401118)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/ibeta_inv8.svg b/libs/math/doc/sf_and_dist/equations/ibeta_inv8.svg
deleted file mode 100644
index 3c6fd126f9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/ibeta_inv8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="20.288544pt" width="107.931602pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.698701 107.931602 20.288544"><svg:metadata><svgmath:metrics top="20.2885442985" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 0.000000)"/><svg:g transform="translate(21.597008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.697922, 0.000000)"/><svg:g transform="translate(43.697922, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.771311" transform="scale(0.715508, 1)" text-anchor="middle" y="2.954629" x="2.792489" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -6.734220)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.797705" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text></svg:g><svg:g transform="translate(9.659883, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(6.390000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g></svg:g><svg:g transform="translate(13.487227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(55.405555, -3.984375)"><svg:text font-size="16.771311" transform="scale(0.715508, 1)" text-anchor="middle" y="2.954629" x="2.792489" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(59.401648, -11.426489)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.420649)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma1.svg b/libs/math/doc/sf_and_dist/equations/igamma1.svg
deleted file mode 100644
index fb1d1a9758..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="28.118257pt" width="221.800449pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.817768 221.800449 28.118257"><svg:metadata><svgmath:metrics top="28.1182568097" bottom="0.0" baseline="8.30048861691" axis="12.2848636169"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.327148" font-family="Times New Roman" fill="black">tgamma</svg:text><svg:g transform="translate(40.654301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(66.708984, 0.000000)"/><svg:g transform="translate(82.042320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(92.143235, 0.000000)"/><svg:g transform="translate(104.143235, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(112.539719, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(138.594402, 0.000000)"/><svg:g transform="translate(153.927738, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(164.028653, 0.000000)"/><svg:g transform="translate(176.028653, -3.984375)"><svg:g transform="translate(0.551601, 0.000000)"><svg:text font-size="18.049366" text-anchor="middle" y="5.374229" x="2.498533" font-family="Times New Roman" fill="black">∫</svg:text></svg:g><svg:g transform="translate(1.239727, 12.284864)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.000000, -11.906206)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(182.102481, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(199.025117, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(211.710606, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(218.202793, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma10.svg b/libs/math/doc/sf_and_dist/equations/igamma10.svg
deleted file mode 100644
index 104560b034..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma10.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.069616pt" width="145.720909pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.222012 145.720909 40.069616"><svg:metadata><svgmath:metrics top="40.069616319" bottom="0.0" baseline="15.8476046002" axis="19.8319796002"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.445308, 0.000000)"/><svg:g transform="translate(46.778644, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.879559, 0.000000)"/><svg:g transform="translate(68.879559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(78.864168, -3.984375)"><svg:text font-size="30.751565" text-anchor="middle" y="5.872941" x="10.961251" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.342443, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.924337, -16.310449)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(101.372608, -3.984375)"><svg:g transform="translate(4.425992, -4.166016)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.599070, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.973953, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.970047, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(39.180332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="44.348301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma11.mml b/libs/math/doc/sf_and_dist/equations/igamma11.mml
deleted file mode 100644
index d1fb928e64..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma11.mml
+++ /dev/null
@@ -1,124 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>,</mo>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mrow>
- <mtext>tgamma1pm1</mtext>
- <mfenced>
- <mrow>
- <mi>a</mi>
- </mrow>
- </mfenced>
- <mo>&#x2212;</mo>
- <mtext>powm1</mtext>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mo>,</mo>
- <mi>a</mi>
- </mrow>
- </mfenced>
- </mrow>
- <mi>a</mi>
- </mfrac>
- <mo>+</mo>
- <msup>
- <mi>x</mi>
- <mi>a</mi>
- </msup>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>k</mi>
- <mo>=</mo>
- <mn>1</mn>
- </mrow>
- <mi>&#x221E;</mi>
- </munderover>
- <mfrac>
- <mrow>
- <msup>
- <mfenced>
- <mrow>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mi>k</mi>
- </msup>
- <msup>
- <mi>x</mi>
- <mi>k</mi>
- </msup>
- </mrow>
- <mrow>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- <mi>k</mi>
- <mo>!</mo>
- </mrow>
- </mfrac>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>tgamma1pm1</mtext>
- <mfenced>
- <mrow>
- <mi>a</mi>
- </mrow>
- </mfenced>
- <mo>=</mo>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>a</mi>
- <mo>+</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>powm1</mtext>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mo>,</mo>
- <mi>a</mi>
- </mrow>
- </mfenced>
- <mo>=</mo>
- <msup>
- <mi>x</mi>
- <mi>a</mi>
- </msup>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/igamma11.png b/libs/math/doc/sf_and_dist/equations/igamma11.png
deleted file mode 100644
index 5157220858..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma11.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/igamma11.svg b/libs/math/doc/sf_and_dist/equations/igamma11.svg
deleted file mode 100644
index bfad5d8592..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma11.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="58.183070pt" width="274.177836pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -33.075910 274.177836 58.183070"><svg:metadata><svgmath:metrics top="58.1830700566" bottom="0.0" baseline="25.1071600283" axis="29.0915350283"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -10.978215)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.113277, 0.000000)"/><svg:g transform="translate(50.446613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.547527, 0.000000)"/><svg:g transform="translate(73.133465, -3.984375)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="23.425840" font-family="Times New Roman" fill="black">tgamma1pm1</svg:text><svg:g transform="translate(48.271683, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(7.097227, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.099467, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(68.217782, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="12.809121" font-family="Times New Roman" fill="black">powm1</svg:text></svg:g><svg:g transform="translate(95.226906, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(9.034470, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(16.131696, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(55.553852, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="115.367704" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(191.753770, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(201.188012, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(211.172622, -3.984375)"><svg:text font-size="24.343878" text-anchor="middle" y="4.091908" x="8.677261" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(17.354523, 10.587765)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.354523, -10.201758)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(242.350699, -3.984375)"><svg:g transform="translate(2.356980, -3.421758)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(12.375541, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(15.212767, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(19.130736, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(19.861507, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.698733, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(27.818036, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.827137" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(60.086315, 9.435969)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="32.994141" font-family="Times New Roman" fill="black">tgamma1pm1</svg:text><svg:g transform="translate(67.988285, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(85.313809, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(95.414723, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(103.811207, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(138.570965, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(148.005207, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(83.950129, 26.525129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="18.041016" font-family="Times New Roman" fill="black">powm1</svg:text><svg:g transform="translate(38.041020, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.724605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.091149, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.192063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(90.843336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(100.277578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma11b.svg b/libs/math/doc/sf_and_dist/equations/igamma11b.svg
deleted file mode 100644
index 90bb4ec497..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma11b.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.993764pt" width="475.202659pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.679311 475.202659 25.993764"><svg:metadata><svgmath:metrics top="25.9937641132" bottom="0.0" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="16.666992" font-family="Times New Roman" fill="black">gp1m1</svg:text><svg:g transform="translate(35.333988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(48.388676, 0.000000)"/><svg:g transform="translate(63.722012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.822926, 0.000000)"/><svg:g transform="translate(86.302926, 0.000000)"><svg:g transform="translate(8.826281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(14.892250, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(9.240883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.675125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.847000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -6.266367 L 2.975892 -6.266367 L 5.733834 -1.159068 L 5.654382 -0.639534 L 2.745492 -6.026367 L 2.385492 -6.026367 L 5.639730 0.000000 L 7.519641 -12.292734 L 63.666765 -12.292734" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(150.449691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(61.174469, -10.001948)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(71.431601, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(80.865843, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(86.865843, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(93.528601, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(102.962843, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(106.958937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text></svg:g><svg:g transform="translate(114.019484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(129.740835, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(139.175077, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(145.175077, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">]</svg:text></svg:g><svg:g transform="translate(149.171171, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(61.174469, -10.001948)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(217.936108, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(375.048558, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(384.482800, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(388.958894, 0.000000)"><svg:g transform="translate(8.826281, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(14.892250, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(9.240883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.675125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.847000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -6.266367 L 2.975892 -6.266367 L 5.733834 -1.159068 L 5.654382 -0.639534 L 2.745492 -6.026367 L 2.385492 -6.026367 L 5.639730 0.000000 L 7.519641 -12.292734 L 63.666765 -12.292734" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(455.772323, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(465.206565, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(471.206565, -3.984375)"><svg:text font-size="28.559672" transform="scale(0.420173, 1)" text-anchor="middle" y="6.135071" x="4.755297" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma12.svg b/libs/math/doc/sf_and_dist/equations/igamma12.svg
deleted file mode 100644
index 8b6393414c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma12.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.595222pt" width="239.920687pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.069844 239.920687 26.595222"><svg:metadata><svgmath:metrics top="26.5952217877" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(1.481719, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.352109" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(25.938047, 0.000000)"/><svg:g transform="translate(41.271383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(51.372297, 0.000000)"/><svg:g transform="translate(63.372297, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.869453, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(81.827922, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(23.611648, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(58.115875, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(62.111969, -9.902104)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(148.679891, -3.984375)"><svg:g transform="translate(13.695703, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.810867, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.761250 L 4.436719 -3.761250 L 9.384955 5.402151 L 9.305976 5.922560 L 4.206319 -3.521250 L 3.846319 -3.521250 L 9.291797 6.562969 L 12.389062 -13.845469 L 67.950250 -13.845469" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(217.696078, -3.984375)"><svg:g transform="translate(8.112305, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="22.224609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma13.svg b/libs/math/doc/sf_and_dist/equations/igamma13.svg
deleted file mode 100644
index 597dc67fe9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma13.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.397701pt" width="409.714947pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.083247 409.714947 29.397701"><svg:metadata><svgmath:metrics top="29.3977005925" bottom="0.0" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.869453, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(18.455625, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(23.611648, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(27.341789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(36.776031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.947906" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(58.115875, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(62.111969, -9.902104)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(84.827594, 0.000000)"/><svg:g transform="translate(100.160930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(110.261844, 0.000000)"/><svg:g transform="translate(122.261844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -10.081958)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="17.767452" transform="scale(0.479529, 1)" text-anchor="middle" y="4.164197" x="2.958350" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(5.680003, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="15.147129" font-family="Times New Roman" fill="black">log1pmx</svg:text></svg:g><svg:g transform="translate(37.394263, -2.828906)"><svg:text font-size="17.595585" transform="scale(0.484212, 1)" text-anchor="middle" y="4.201290" x="2.929734" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -2.592524)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.328125, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(12.328125, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.839844, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(21.222656, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.734375, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(4.580078, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(12.894531, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.406250, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="36.566406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(40.235664, 0.000000)"><svg:text font-size="17.595585" transform="scale(0.484212, 1)" text-anchor="middle" y="4.201290" x="2.929734" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(80.467154, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(85.688150, -2.828906)"><svg:g transform="translate(0.416016, -2.592524)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text><svg:g transform="translate(10.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(14.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(21.558594, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.732422, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.511719, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(12.894531, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.406250, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="5.000000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="28.871094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(117.812486, -2.828906)"><svg:text font-size="17.767452" transform="scale(0.479529, 1)" text-anchor="middle" y="4.164197" x="2.958350" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(248.237728, 0.000000)"/><svg:g transform="translate(260.237728, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(266.905049, 0.000000)"/><svg:g transform="translate(280.905053, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="21.333984" font-family="Times New Roman" fill="black">log1pmx</svg:text></svg:g><svg:g transform="translate(325.573025, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(341.961049, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(352.061963, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(361.395947, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(395.218205, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(404.652447, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma16.svg b/libs/math/doc/sf_and_dist/equations/igamma16.svg
deleted file mode 100644
index 7f28d9241f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma16.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.801016pt" width="256.446750pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.240430 256.446750 23.801016"><svg:metadata><svgmath:metrics top="23.801015625" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.457027, 0.000000)"/><svg:g transform="translate(49.790363, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.891277, 0.000000)"/><svg:g transform="translate(72.477215, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(82.235031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text></svg:g><svg:g transform="translate(102.879567, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.948156 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(19.904250, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(129.446574, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(139.466754, -3.984375)"><svg:g transform="translate(5.983043, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(12.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 25.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.544445" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(166.597137, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g><svg:g transform="translate(174.390106, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.568355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(200.954555, 0.000000)"/><svg:g transform="translate(212.954555, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(219.621875, 0.000000)"/><svg:g transform="translate(231.621875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(240.527477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(250.446750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma17.svg b/libs/math/doc/sf_and_dist/equations/igamma17.svg
deleted file mode 100644
index 388cb2161c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma17.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.801016pt" width="257.554172pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.240430 257.554172 23.801016"><svg:metadata><svgmath:metrics top="23.801015625" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.382808, 0.000000)"/><svg:g transform="translate(50.716144, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.817059, 0.000000)"/><svg:g transform="translate(73.402996, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(83.160813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text></svg:g><svg:g transform="translate(103.805348, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.948156 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(19.904250, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(130.372356, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(140.392535, -3.984375)"><svg:g transform="translate(5.983043, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(12.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 25.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.544445" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(167.522918, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text></svg:g><svg:g transform="translate(175.315887, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.568355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(201.880336, 0.000000)"/><svg:g transform="translate(213.880336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(220.547656, 0.000000)"/><svg:g transform="translate(232.547656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(241.453258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(251.554172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma18.svg b/libs/math/doc/sf_and_dist/equations/igamma18.svg
deleted file mode 100644
index 04382789ce..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma18.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="14.085938pt" width="318.445300pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.027344 318.445300 14.085938"><svg:metadata><svgmath:metrics top="14.0859375" bottom="0.0" baseline="3.05859375" axis="7.04296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(8.905602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(19.592453, -3.984375)"><svg:g transform="translate(0.723633, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(27.350266, 0.000000)"/><svg:g transform="translate(39.350266, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(46.350262, 0.000000)"/><svg:g transform="translate(58.350262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(67.947270, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(78.048184, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(84.048184, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(8.238930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.673172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(26.339836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.774078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(45.108062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(54.676422, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(146.054035, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(158.821613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(168.255855, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(174.255855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(28.425125, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.421867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(53.856109, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(64.180328, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(242.432277, 0.000000)"/><svg:g transform="translate(254.432277, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(261.099597, 0.000000)"/><svg:g transform="translate(273.099597, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g><svg:g transform="translate(282.761058, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(293.447910, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(9.498695, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.997391" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma19.svg b/libs/math/doc/sf_and_dist/equations/igamma19.svg
deleted file mode 100644
index b255960a02..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma19.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="43.894277pt" width="279.565602pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.122637 279.565602 43.894277"><svg:metadata><svgmath:metrics top="43.8942773437" bottom="0.0" baseline="19.771640625" axis="23.756015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">T</svg:text><svg:g transform="translate(7.792969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.568355, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.357418, 0.000000)"/><svg:g transform="translate(49.690754, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.791668, 0.000000)"/><svg:g transform="translate(71.791668, -3.984375)"><svg:text font-size="32.441633" text-anchor="middle" y="9.432226" x="11.563668" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.944859, 23.656172)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.200182, -14.497090)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(94.919004, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="32.441633" transform="scale(0.369895, 1)" text-anchor="middle" y="9.432226" x="5.401659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.631436, 0.000000)"><svg:text font-size="16.920000" text-anchor="middle" y="5.617969" x="6.031055" font-family="Times New Roman" fill="black">∑</svg:text></svg:g><svg:g transform="translate(0.000000, 16.333945)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(2.587617, -7.420312)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.827344" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text></svg:g></svg:g><svg:g transform="translate(13.324980, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.443359, -5.703809)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.028340, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(39.346934, -3.984375)"><svg:text font-size="32.441633" transform="scale(0.369895, 1)" text-anchor="middle" y="9.432226" x="5.401659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(138.262031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(153.239648, 0.000000)"/><svg:g transform="translate(165.239648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(171.906969, 0.000000)"/><svg:g transform="translate(183.906969, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(192.302805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(204.403723, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sign</svg:text></svg:g><svg:g transform="translate(226.407633, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(8.238930, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.673172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.669266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(258.552992, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 21.012609 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma1f.svg b/libs/math/doc/sf_and_dist/equations/igamma1f.svg
deleted file mode 100644
index 4516fdaa51..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma1f.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.091270pt" width="184.476250pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.020879 184.476250 35.091270"><svg:metadata><svgmath:metrics top="35.0912695312" bottom="0.0" baseline="13.070390625" axis="17.054765625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.382808, 0.000000)"/><svg:g transform="translate(50.716144, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.817059, 0.000000)"/><svg:g transform="translate(72.817059, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(87.012684, -3.984375)"><svg:text font-size="22.837057" text-anchor="middle" y="4.961924" x="8.140162" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.477672, 16.954922)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(1.477672, -12.278848)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(103.878945, -3.984375)"><svg:g transform="translate(1.258346, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.501301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(116.966183, 0.000000)"/><svg:g transform="translate(128.966183, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(135.633504, 0.000000)"/><svg:g transform="translate(147.633504, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(156.966840, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∈</svg:text></svg:g><svg:g transform="translate(169.839238, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.916016" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℕ</svg:text><svg:g transform="translate(9.832031, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma2.svg b/libs/math/doc/sf_and_dist/equations/igamma2.svg
deleted file mode 100644
index e064cddf18..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.493706pt" width="250.427716pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.000815 250.427716 30.493706"><svg:metadata><svgmath:metrics top="30.4937060285" bottom="0.0" baseline="10.4928909607" axis="14.4772659607"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="35.988281" font-family="Times New Roman" fill="black">tgamma_lower</svg:text><svg:g transform="translate(74.052738, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(100.107422, 0.000000)"/><svg:g transform="translate(115.440758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(125.541672, 0.000000)"/><svg:g transform="translate(137.541672, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(142.270188, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(168.324871, 0.000000)"/><svg:g transform="translate(183.658207, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(193.759121, 0.000000)"/><svg:g transform="translate(205.759121, -3.984375)"><svg:text font-size="18.049366" text-anchor="middle" y="5.374229" x="2.498533" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(0.355313, 14.377422)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(0.688126, -12.351342)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(210.729748, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(227.652384, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(240.337873, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(246.830060, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma2f.svg b/libs/math/doc/sf_and_dist/equations/igamma2f.svg
deleted file mode 100644
index 971e7cb9e8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma2f.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="41.189457pt" width="398.822501pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.679746 398.822501 41.189457"><svg:metadata><svgmath:metrics top="41.1894574257" bottom="0.0" baseline="19.5097113319" axis="23.4940863319"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.382808, 0.000000)"/><svg:g transform="translate(50.716144, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.817059, 0.000000)"/><svg:g transform="translate(74.817063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.322266" font-family="Times New Roman" fill="black">erfc</svg:text></svg:g><svg:g transform="translate(95.461598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 14.409094 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(19.365188, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(121.489543, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(131.509723, -3.984375)"><svg:g transform="translate(3.036715, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 19.097180 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.269055" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(152.364715, -3.984375)"><svg:text font-size="29.919618" text-anchor="middle" y="9.872684" x="10.664708" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(4.002217, 23.394243)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.481143, -12.278848)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(174.280068, -3.984375)"><svg:g transform="translate(37.623812, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.957055)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.030180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="6.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g><svg:g transform="translate(51.363516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="85.232234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(260.098239, 0.000000)"/><svg:g transform="translate(272.098239, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(278.765560, 0.000000)"/><svg:g transform="translate(290.765560, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(300.098896, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(310.199810, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(316.200458, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(326.220638, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(333.978450, 0.000000)"/><svg:g transform="translate(345.978450, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(352.645771, 0.000000)"/><svg:g transform="translate(364.645771, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(371.313091, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∈</svg:text></svg:g><svg:g transform="translate(384.185490, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.916016" font-family="Lucida Sans Unicode" font-style="italic" fill="black">ℕ</svg:text><svg:g transform="translate(9.832031, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma3.svg b/libs/math/doc/sf_and_dist/equations/igamma3.svg
deleted file mode 100644
index 6e240199e8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.749490pt" width="331.202169pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -27.235366 331.202169 37.749490"><svg:metadata><svgmath:metrics top="37.7494904583" bottom="0.0" baseline="10.5141247246" axis="14.4984997246"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="23.660156" font-family="Times New Roman" fill="black">gamma_q</svg:text><svg:g transform="translate(49.320316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.375000, 0.000000)"/><svg:g transform="translate(90.708336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(100.809250, 0.000000)"/><svg:g transform="translate(112.809250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text></svg:g><svg:g transform="translate(121.475266, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(147.529949, 0.000000)"/><svg:g transform="translate(162.863285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(172.964199, 0.000000)"/><svg:g transform="translate(185.550137, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(6.617185, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.623043" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(221.759117, 0.000000)"/><svg:g transform="translate(237.092453, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(247.193367, 0.000000)"/><svg:g transform="translate(259.779305, -3.984375)"><svg:g transform="translate(8.780273, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.560547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(283.925789, -3.984375)"><svg:text font-size="27.518769" text-anchor="middle" y="6.570644" x="3.809361" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(1.992018, 14.498500)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.752291, -19.323803)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(291.504200, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(308.426837, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(321.112325, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(327.604513, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma4.svg b/libs/math/doc/sf_and_dist/equations/igamma4.svg
deleted file mode 100644
index ac0f9d2d33..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="40.151187pt" width="326.615526pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -27.447457 326.615526 40.151187"><svg:metadata><svgmath:metrics top="40.1511871266" bottom="0.0" baseline="12.7037296925" axis="16.6881046925"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="23.660156" font-family="Times New Roman" fill="black">gamma_p</svg:text><svg:g transform="translate(49.320316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.375000, 0.000000)"/><svg:g transform="translate(90.708336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(100.809250, 0.000000)"/><svg:g transform="translate(112.809250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(120.549485, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(146.604168, 0.000000)"/><svg:g transform="translate(161.937504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(172.038418, 0.000000)"/><svg:g transform="translate(184.624356, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.783201, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.955074" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(217.165367, 0.000000)"/><svg:g transform="translate(232.498703, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(242.599617, 0.000000)"/><svg:g transform="translate(255.185555, -3.984375)"><svg:g transform="translate(8.780273, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="23.560547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(279.332039, -3.984375)"><svg:text font-size="27.544576" text-anchor="middle" y="6.565074" x="3.812933" font-family="Times New Roman" fill="black">∫</svg:text><svg:g transform="translate(1.662759, 16.588261)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(1.995571, -19.797985)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(286.917557, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(303.840194, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(316.525682, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text></svg:g><svg:g transform="translate(323.017870, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma5.svg b/libs/math/doc/sf_and_dist/equations/igamma5.svg
deleted file mode 100644
index 820f9eba4e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="125.374992pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 125.374992 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0234626745435" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.049472, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(47.483715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(55.223949, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(81.940742, 0.000000)"/><svg:g transform="translate(97.274078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(107.374992, 0.000000)"/><svg:g transform="translate(119.374992, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma6.svg b/libs/math/doc/sf_and_dist/equations/igamma6.svg
deleted file mode 100644
index aed303bc89..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="137.158195pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 137.158195 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.117832, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(46.552074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(51.280590, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(77.335273, 0.000000)"/><svg:g transform="translate(92.668609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(102.769523, 0.000000)"/><svg:g transform="translate(114.769523, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(123.166008, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma7.svg b/libs/math/doc/sf_and_dist/equations/igamma7.svg
deleted file mode 100644
index fd2f4ba789..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.042969pt" width="243.720043pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 243.720043 25.042969"><svg:metadata><svgmath:metrics top="25.04296875" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.720699, 0.000000)"/><svg:g transform="translate(50.054035, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.154949, 0.000000)"/><svg:g transform="translate(72.740887, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(6.617185, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.623043" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(108.949867, 0.000000)"/><svg:g transform="translate(120.949867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(127.949863, 0.000000)"/><svg:g transform="translate(139.949863, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(147.690097, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(173.744781, 0.000000)"/><svg:g transform="translate(189.078117, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(199.179031, 0.000000)"/><svg:g transform="translate(211.764969, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(22.058590, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(4.783201, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.955074" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma8.svg b/libs/math/doc/sf_and_dist/equations/igamma8.svg
deleted file mode 100644
index aab96f886f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.891862pt" width="288.463548pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.282819 288.463548 38.891862"><svg:metadata><svgmath:metrics top="38.8918624127" bottom="0.0" baseline="17.6090429688" axis="21.5934179688"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(31.445308, 0.000000)"/><svg:g transform="translate(46.778644, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(56.879559, 0.000000)"/><svg:g transform="translate(68.879559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(78.864168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(93.059793, -3.984375)"><svg:text font-size="29.456162" text-anchor="middle" y="7.913953" x="10.499511" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.880702, 21.493574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.462597, -13.371257)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(114.644752, -3.984375)"><svg:g transform="translate(18.625320, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.996094, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(26.644523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.078765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.074859, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="59.639312" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(174.870002, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(184.854612, 0.000000)"/><svg:g transform="translate(200.187948, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(210.288862, 0.000000)"/><svg:g transform="translate(222.288862, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(232.273471, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(246.469096, -3.984375)"><svg:text font-size="29.456162" text-anchor="middle" y="7.913953" x="10.499511" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.880702, 21.493574)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.462597, -13.371257)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(268.054056, -3.984375)"><svg:g transform="translate(5.212441, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 14.130566)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(4.362949, -6.999707)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.409492" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/igamma9.svg b/libs/math/doc/sf_and_dist/equations/igamma9.svg
deleted file mode 100644
index 3f5623f1ac..0000000000
--- a/libs/math/doc/sf_and_dist/equations/igamma9.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="42.214609pt" width="395.578110pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -14.856738 395.578110 42.214609"><svg:metadata><svgmath:metrics top="42.214609375" axis="31.3422460937" baseline="27.3578710937" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.113277, 0.000000)"/><svg:g transform="translate(50.446613, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(60.547527, 0.000000)"/><svg:g transform="translate(73.133465, -3.984375)"><svg:g transform="translate(42.741186, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 14.639160)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(26.492180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.926422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(44.593086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(54.613265, -3.984375)"><svg:g transform="translate(22.857561, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.260000, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.962676)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.260000, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(10.055675, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.170003, -2.828906)"><svg:g transform="translate(9.560763, -4.999004)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(4.000000, 3.769531)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(3.902344, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.414063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.416016, 6.690410)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(4.000000, 3.769531)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(3.902344, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.414063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.191838, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(26.703557, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line stroke-width="0.416016" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="35.535589" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="53.877466" y2="0.000000" fill="none"/></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="109.662606" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(183.382009, 0.000000)"/><svg:g transform="translate(195.382009, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(202.049329, 0.000000)"/><svg:g transform="translate(214.049329, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(227.538661, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(237.639575, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(243.493091, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(275.439700, 0.000000)"/><svg:g transform="translate(287.439700, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(294.107021, 0.000000)"/><svg:g transform="translate(306.107021, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">b</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(319.596353, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(329.697267, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(338.088540, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(347.522782, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(356.189446, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(365.623689, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(371.623689, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(380.143868, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(389.578110, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_0.svg b/libs/math/doc/sf_and_dist/equations/laguerre_0.svg
deleted file mode 100644
index c8491b32d8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/laguerre_0.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.286426pt" width="232.593473pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.398438 232.593473 22.286426"><svg:metadata><svgmath:metrics top="22.2864257812" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.652344" font-family="Times New Roman" fill="black">laguerre</svg:text><svg:g transform="translate(41.304691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.720699, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.021484, 0.000000)"/><svg:g transform="translate(83.354820, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(93.455735, 0.000000)"/><svg:g transform="translate(105.455735, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(116.776281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(130.493078, 0.000000)"/><svg:g transform="translate(145.826414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(155.927328, 0.000000)"/><svg:g transform="translate(168.513266, -3.984375)"><svg:g transform="translate(1.555328, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.501301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(182.186442, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.648672" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(200.421051, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.984609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(28.176328, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_1.svg b/libs/math/doc/sf_and_dist/equations/laguerre_1.svg
deleted file mode 100644
index 37a836bf71..0000000000
--- a/libs/math/doc/sf_and_dist/equations/laguerre_1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.286426pt" width="269.774128pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -15.398438 269.774128 22.286426"><svg:metadata><svgmath:metrics top="22.2864257812" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.652344" font-family="Times New Roman" fill="black">laguerre</svg:text><svg:g transform="translate(41.304691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(12.999996, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(21.666012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.666008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(38.386711, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.687496, 0.000000)"/><svg:g transform="translate(99.020832, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(109.121746, 0.000000)"/><svg:g transform="translate(121.121746, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(134.335164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(148.051961, 0.000000)"/><svg:g transform="translate(163.385297, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(173.486211, 0.000000)"/><svg:g transform="translate(185.486211, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(213.651453, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="19.541543" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(233.778933, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(256.057331, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_2.svg b/libs/math/doc/sf_and_dist/equations/laguerre_2.svg
deleted file mode 100644
index 8031540876..0000000000
--- a/libs/math/doc/sf_and_dist/equations/laguerre_2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.253965pt" width="206.453570pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.728587 206.453570 25.253965"><svg:metadata><svgmath:metrics top="25.2539648438" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(20.385527, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.102324, 0.000000)"/><svg:g transform="translate(49.435660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.536574, 0.000000)"/><svg:g transform="translate(72.122512, -3.984375)"><svg:g transform="translate(0.585938, -4.400449)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(32.767570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(42.201812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(51.922515, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(55.918609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(67.239156, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.622617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(93.056859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(99.056859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(119.442386, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.118982, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="134.331058" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laguerre_3.svg b/libs/math/doc/sf_and_dist/equations/laguerre_3.svg
deleted file mode 100644
index d7c5a7d26d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/laguerre_3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.699219pt" width="244.817785pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 244.817785 19.699219"><svg:metadata><svgmath:metrics top="19.69921875" bottom="0.0" baseline="5.865234375" axis="9.849609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(20.385527, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.102324, 0.000000)"/><svg:g transform="translate(49.435660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.536574, 0.000000)"/><svg:g transform="translate(72.122512, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(11.332680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(26.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(35.433586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(44.867828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(53.534492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(62.968734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(22.882156, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="69.865218" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(142.573668, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(155.787086, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(172.170547, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(182.190726, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(11.332680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.766922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(1.918945, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.938797" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(210.715460, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.060547, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(231.100988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0.svg b/libs/math/doc/sf_and_dist/equations/lanczos0.svg
deleted file mode 100644
index 9c3f6598b0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos0.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="17.197333pt" width="245.451531pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.674950 245.451531 17.197333"><svg:metadata><svgmath:metrics top="17.1973331557" bottom="0.0" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(39.552078, 0.000000)"/><svg:g transform="translate(54.885414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(64.986328, 0.000000)"/><svg:g transform="translate(77.466328, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 21.071203 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(99.017531, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(54.834625, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(58.830719, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(176.897605, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(13.067051, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.872031, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(31.359258, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(221.225242, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text><svg:g transform="translate(6.503906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(232.396844, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0a.svg b/libs/math/doc/sf_and_dist/equations/lanczos0a.svg
deleted file mode 100644
index cace8cd620..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos0a.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="253.907960pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 253.907960 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text><svg:g transform="translate(6.503906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(11.171602, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.226289, 0.000000)"/><svg:g transform="translate(39.559625, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(49.660539, 0.000000)"/><svg:g transform="translate(61.660539, -3.984375)"><svg:text font-size="27.518769" transform="scale(0.436066, 1)" text-anchor="middle" y="6.570644" x="4.581983" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(66.242570, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(74.000383, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(86.927047, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(96.361289, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(107.207227, -3.984375)"><svg:g transform="translate(9.636391, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="24.335281" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(134.795109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(144.229351, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(155.075289, -3.984375)"><svg:g transform="translate(13.632484, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.155594, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(27.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.483062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(221.810953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(234.578531, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="6.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g><svg:g transform="translate(249.911867, -3.984375)"><svg:text font-size="27.518769" transform="scale(0.436066, 1)" text-anchor="middle" y="6.570644" x="4.581983" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos0b.svg b/libs/math/doc/sf_and_dist/equations/lanczos0b.svg
deleted file mode 100644
index cc5ee593a4..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos0b.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="50.230437pt" width="286.452343pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.997586 286.452343 50.230437"><svg:metadata><svgmath:metrics top="50.230437114" bottom="0.0" baseline="21.2328515625" axis="25.2172265625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(10.172637, 0.000000)"/><svg:g transform="translate(25.505973, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.606887, 0.000000)"/><svg:g transform="translate(47.606887, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(73.685956, -3.984375)"><svg:g transform="translate(12.057422, 0.000000)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -2.536641 L 3.945234 -2.536641 L 8.156466 5.261936 L 8.077376 5.782140 L 3.714834 -2.296641 L 3.354834 -2.296641 L 8.063086 6.422344 L 10.750781 -11.255625 L 20.922656 -11.255625" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(95.088613, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(105.082480, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(110.959433, -3.984375)"><svg:text font-size="37.401985" text-anchor="middle" y="8.242033" x="13.331762" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(6.881440, 23.378438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(11.245444, -19.097468)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(137.622957, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(163.470991, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(26.046867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.481109, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.477203, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(50.806629, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(4.270506, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(27.376297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(32.705723, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(36.701816, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(43.437492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="55.974597" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(220.031526, -3.984375)"><svg:text font-size="35.887605" transform="scale(0.334377, 1)" text-anchor="middle" y="8.568867" x="5.975426" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(19.020945, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(0.585938, 12.941250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.069008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.503250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.744133, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.764312, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.368062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(48.536031, 0.000000)"><svg:text font-size="35.887605" transform="scale(0.334377, 1)" text-anchor="middle" y="8.568867" x="5.975426" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(52.532125, -8.589866)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.056660, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos1.svg b/libs/math/doc/sf_and_dist/equations/lanczos1.svg
deleted file mode 100644
index 9f85ae72f5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="29.563066pt" width="143.226160pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.298672 143.226160 29.563066"><svg:metadata><svgmath:metrics top="29.5630664063" bottom="0.0" baseline="10.2643945313" axis="14.2487695313"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.784508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.471359, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(54.834625, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(58.830719, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(22.601873, 14.108145)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(13.067051, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.872031, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="79.051949" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(115.109246, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(126.837488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(139.892176, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos2.svg b/libs/math/doc/sf_and_dist/equations/lanczos2.svg
deleted file mode 100644
index fe346dacfa..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.126875pt" width="123.650182pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.716758 123.650182 37.126875"><svg:metadata><svgmath:metrics top="37.126875" bottom="0.0" baseline="13.4101171875" axis="17.3944921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(11.728242, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(28.116266, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(38.217180, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(53.587203, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(63.021445, -3.984375)"><svg:text font-size="24.870097" text-anchor="middle" y="4.704794" x="8.864829" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.246021, 17.294648)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.968853, -13.974727)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(81.337042, -3.984375)"><svg:g transform="translate(13.571404, -4.412168)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.707023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.141265, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="42.313140" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos3.svg b/libs/math/doc/sf_and_dist/equations/lanczos3.svg
deleted file mode 100644
index 402d143ee2..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="68.702161pt" width="173.283862pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -38.372313 173.283862 68.702161"><svg:metadata><svgmath:metrics top="68.7021612022" bottom="0.0" baseline="30.3298482185" axis="34.3142232185"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.690430" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text><svg:g transform="translate(9.023438, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(18.559566, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(28.660481, -3.984375)"><svg:text font-size="75.483920" transform="scale(0.158974, 1)" text-anchor="middle" y="18.023260" x="18.115404" font-family="Times New Roman" fill="black">{</svg:text></svg:g><svg:g transform="translate(34.420246, -3.984375)"><svg:g transform="translate(27.230246, -25.982192)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(70.520452, -25.982192)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(104.267585, -25.982192)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≠</svg:text></svg:g><svg:g transform="translate(16.586594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(27.230246, -9.693129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(70.520452, -9.693129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(94.459639, -9.693129)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(25.503914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.604828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(23.513123, 6.595933)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(70.520452, 6.595933)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(94.459639, 6.595933)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(25.503914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.604828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 26.857114)"><svg:g transform="translate(0.585938, -6.380078)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.330205" font-family="Times New Roman" font-style="italic" fill="black">D</svg:text><svg:g transform="translate(6.406641, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.222656, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(6.734375, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(12.734375, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(14.957031, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(19.468750, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(29.875391, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(34.135391, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(8.520460, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.218772, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(22.315999, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(22.620859, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.260460, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.958772, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="60.460491" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(70.060491, 30.841489)"/><svg:g transform="translate(91.660491, 30.841489)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">o</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(9.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(15.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(20.923828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(25.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(33.761719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(37.095703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(41.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos4.svg b/libs/math/doc/sf_and_dist/equations/lanczos4.svg
deleted file mode 100644
index af79befee8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="44.934365pt" width="303.981070pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.475664 303.981070 44.934365"><svg:metadata><svgmath:metrics top="44.9343651819" bottom="0.0" baseline="18.4587011719" axis="22.4430761719"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(4.497129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(19.271598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.372512, -3.984375)"><svg:text font-size="49.369946" transform="scale(0.243063, 1)" text-anchor="middle" y="11.788039" x="11.848305" font-family="Times New Roman" fill="black">{</svg:text></svg:g><svg:g transform="translate(35.132277, -3.984375)"><svg:g transform="translate(14.066713, -14.111045)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(44.193386, -14.111045)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(77.550870, -14.111045)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 6.013389)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.000000, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.442019, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.467773" font-family="Times New Roman" font-style="italic" fill="black">X</svg:text></svg:g></svg:g><svg:g transform="translate(44.193386, 6.013389)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(77.550870, 6.013389)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(122.136550, 6.013389)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.735680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≥</svg:text></svg:g><svg:g transform="translate(18.654953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(14.066713, 22.302451)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(43.733425, 22.302451)"/><svg:g transform="translate(65.333425, 22.302451)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">o</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(9.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(15.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(20.923828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(25.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(33.761719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(37.095703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(41.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(179.257765, 0.000000)"/><svg:g transform="translate(191.257765, 0.000000)"/><svg:g transform="translate(203.257765, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(209.925085, 0.000000)"/><svg:g transform="translate(221.925085, 0.000000)"/><svg:g transform="translate(233.925085, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.467773" font-family="Times New Roman" font-style="italic" fill="black">X</svg:text></svg:g><svg:g transform="translate(246.949828, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(257.050742, -3.984375)"><svg:text font-size="28.910849" transform="scale(0.415069, 1)" text-anchor="middle" y="6.903030" x="4.813769" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -5.033203)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(23.503898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(32.938140, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.050453, 10.552734)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.069008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.503250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.934234, 0.000000)"><svg:text font-size="28.910849" transform="scale(0.415069, 1)" text-anchor="middle" y="6.903030" x="4.813769" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos5.svg b/libs/math/doc/sf_and_dist/equations/lanczos5.svg
deleted file mode 100644
index 3d817cfacf..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="48.772155pt" width="306.016857pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.396618 306.016857 48.772155"><svg:metadata><svgmath:metrics top="48.772154857" bottom="0.0" baseline="20.3755371094" axis="24.3599121094"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(4.497129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(20.109488, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(30.210402, -3.984375)"><svg:text font-size="53.586574" transform="scale(0.223937, 1)" text-anchor="middle" y="12.794841" x="12.860254" font-family="Times New Roman" fill="black">{</svg:text></svg:g><svg:g transform="translate(35.970168, -3.984375)"><svg:g transform="translate(12.757025, -17.002646)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(41.005886, -13.018271)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(64.945073, -13.018271)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.667320, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(16.768234, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(25.503914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.604828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(12.472963, 4.053838)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(41.005886, 4.053838)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g></svg:g><svg:g transform="translate(74.662198, 4.053838)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.735680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&gt;</svg:text></svg:g><svg:g transform="translate(18.836594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 24.178271)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.000000, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.442019, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text></svg:g></svg:g><svg:g transform="translate(40.545925, 24.178271)"/><svg:g transform="translate(62.145925, 24.178271)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">o</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g><svg:g transform="translate(9.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text></svg:g><svg:g transform="translate(15.597656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:g transform="translate(20.923828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(25.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">w</svg:text></svg:g><svg:g transform="translate(33.761719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(37.095703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(41.876953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(145.319218, 0.000000)"/><svg:g transform="translate(157.319218, 0.000000)"/><svg:g transform="translate(169.319218, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(175.986538, 0.000000)"/><svg:g transform="translate(187.986538, 0.000000)"/><svg:g transform="translate(199.986538, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text></svg:g><svg:g transform="translate(209.823781, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(219.924695, -3.984375)"><svg:text font-size="27.235231" text-anchor="middle" y="6.502943" x="9.707870" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.089062, 19.603242)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(8.524306, -13.787344)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(19.415741, 0.000000)"><svg:text font-size="24.296455" transform="scale(0.493899, 1)" text-anchor="middle" y="5.801253" x="4.045455" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(1.271484, -2.935547)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.000000, 10.904297)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.873047, 0.000000)"><svg:text font-size="24.296455" transform="scale(0.493899, 1)" text-anchor="middle" y="5.801253" x="4.045455" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(39.284881, 0.000000)"><svg:text font-size="27.235231" transform="scale(0.440606, 1)" text-anchor="middle" y="6.502943" x="4.534772" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(16.469070, -4.048828)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(0.000000, 9.791016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.543617, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.977859, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g><svg:g transform="translate(26.046867, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.481109, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.811187, 0.000000)"><svg:text font-size="27.235231" transform="scale(0.440606, 1)" text-anchor="middle" y="6.502943" x="4.534772" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos6.svg b/libs/math/doc/sf_and_dist/equations/lanczos6.svg
deleted file mode 100644
index 47674c0dd6..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.988822pt" width="131.153476pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.658901 131.153476 31.988822"><svg:metadata><svgmath:metrics top="31.9888224817" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(14.014918, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(24.701770, -3.984375)"><svg:g transform="translate(25.587576, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(13.330078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(18.659504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(22.655598, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(11.839805, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.644785, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(8.663410, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(6.627129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.432109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(30.355520, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(24.675773, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(34.110015, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(53.106109, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(57.102203, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="106.451707" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lanczos7.svg b/libs/math/doc/sf_and_dist/equations/lanczos7.svg
deleted file mode 100644
index c5c47eeb5c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lanczos7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.965874pt" width="149.137742pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.651421 149.137742 25.965874"><svg:metadata><svgmath:metrics top="25.9658738084" bottom="0.0528413668099" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(24.784508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(34.885422, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(61.174469, -7.909389)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.399355, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(115.109246, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(4.667695, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(6.797695, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(132.749070, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(145.803758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/laplace_pdf.svg b/libs/math/doc/sf_and_dist/equations/laplace_pdf.svg
deleted file mode 100644
index 579645acbe..0000000000
--- a/libs/math/doc/sf_and_dist/equations/laplace_pdf.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.333475pt" width="127.037410pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.468240 127.037410 23.333475"><svg:metadata><svgmath:metrics top="23.3334745651" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(19.048180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.048176, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(36.372394, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.583336, 0.000000)"/><svg:g transform="translate(62.916672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.017586, 0.000000)"/><svg:g transform="translate(85.603524, -3.984375)"><svg:g transform="translate(3.750000, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" y2="0.000000" x2="13.500000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(99.689461, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -9.313208)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -2.592524)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="0.801641" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(1.601563, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.417969, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.929688, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(14.367188, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="0.801641" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(6.291016, 4.307368)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.972656" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g><svg:line stroke-width="0.416016" y2="0.000000" x2="16.800781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_0.svg b/libs/math/doc/sf_and_dist/equations/legendre_0.svg
deleted file mode 100644
index 89f6fb14ee..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_0.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.097768pt" width="327.715778pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.035541 327.715778 26.097768"><svg:metadata><svgmath:metrics top="26.0977675215" bottom="0.0" baseline="9.0622265625" axis="13.0466015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_p</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(20.289058, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(79.593750, 0.000000)"/><svg:g transform="translate(94.927086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(105.028000, 0.000000)"/><svg:g transform="translate(117.028000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(127.301770, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(141.018567, 0.000000)"/><svg:g transform="translate(156.351903, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(166.452817, 0.000000)"/><svg:g transform="translate(179.038754, -3.984375)"><svg:g transform="translate(6.301598, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.882539)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(8.533535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(13.435227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.603195" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(198.813824, -3.984375)"><svg:g transform="translate(3.448242, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.882539)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="15.922207" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(215.321969, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(32.081609, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.077703, -6.565630)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(253.933207, 0.000000)"/><svg:g transform="translate(265.933207, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(272.600528, 0.000000)"/><svg:g transform="translate(287.933863, -3.984375)"><svg:text font-size="28.673942" transform="scale(0.418498, 1)" text-anchor="middle" y="6.858182" x="2.870194" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(293.669543, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(302.727489, -3.984375)"><svg:text font-size="28.673942" transform="scale(0.418498, 1)" text-anchor="middle" y="6.858182" x="2.870194" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(311.796504, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.292969" font-family="Times New Roman" fill="black">≤</svg:text></svg:g><svg:g transform="translate(321.715778, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_1.svg b/libs/math/doc/sf_and_dist/equations/legendre_1.svg
deleted file mode 100644
index 0d74439616..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.104727pt" width="306.397984pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.216738 306.397984 25.104727"><svg:metadata><svgmath:metrics top="25.1047265625" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_p</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.234371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.234367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.955070, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.259762, 0.000000)"/><svg:g transform="translate(110.593098, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(120.694012, 0.000000)"/><svg:g transform="translate(132.694012, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(146.587117, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.303914, 0.000000)"/><svg:g transform="translate(175.637250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(185.738164, 0.000000)"/><svg:g transform="translate(197.738164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(225.317468, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.081609, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.077703, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.304688, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.609375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(268.590484, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(12.645059, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(22.918828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(9.718916, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.807500" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_1b.svg b/libs/math/doc/sf_and_dist/equations/legendre_1b.svg
deleted file mode 100644
index 34bb271d73..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_1b.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.104727pt" width="278.818680pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.216738 278.818680 25.104727"><svg:metadata><svgmath:metrics top="25.1047265625" bottom="0.0" baseline="6.88798828125" axis="10.8723632812"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_p</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.234371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.234367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(35.955070, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.259762, 0.000000)"/><svg:g transform="translate(110.593098, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(120.694012, 0.000000)"/><svg:g transform="translate(132.694012, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(146.587117, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(160.303914, 0.000000)"/><svg:g transform="translate(175.637250, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(185.738164, 0.000000)"/><svg:g transform="translate(197.738164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.081609, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.077703, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(1.304688, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="6.609375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(241.011180, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(12.645059, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(22.918828, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(9.718916, 10.731738)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.807500" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_2.mml b/libs/math/doc/sf_and_dist/equations/legendre_2.mml
deleted file mode 100644
index 16371083d3..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_2.mml
+++ /dev/null
@@ -1,103 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mtext>legendre_q</mtext>
- <mfenced>
- <mrow>
- <mn>0,</mn>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <msub>
- <mi>Q</mi>
- <mn>0</mn>
- </msub>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mn>1</mn>
- <mn>2</mn>
- </mfrac>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <mi>x</mi>
- </mrow>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>x</mi>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>legendre_q</mtext>
- <mfenced>
- <mrow>
- <mn>1,</mn>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <msub>
- <mi>Q</mi>
- <mn>1</mn>
- </msub>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <mfrac>
- <mi>x</mi>
- <mn>2</mn>
- </mfrac>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <mi>x</mi>
- </mrow>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>x</mi>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_2.png b/libs/math/doc/sf_and_dist/equations/legendre_2.png
deleted file mode 100644
index 301a4280ff..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_2.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_2.svg b/libs/math/doc/sf_and_dist/equations/legendre_2.svg
deleted file mode 100644
index cd5965421f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.028289pt" width="240.827401pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.998520 240.827401 36.028289"><svg:metadata><svgmath:metrics top="36.028289138" bottom="0.0" baseline="14.029769569" axis="18.014144569"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.050453, -6.556641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_q</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">0,</svg:text><svg:g transform="translate(9.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(18.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(78.025395, 0.000000)"/><svg:g transform="translate(93.358731, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(103.459645, 0.000000)"/><svg:g transform="translate(115.459645, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(128.385660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(142.102457, 0.000000)"/><svg:g transform="translate(157.435793, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(167.536707, 0.000000)"/><svg:g transform="translate(180.122645, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(186.140457, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(195.474442, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.087991" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 14.141098)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="26.654297" font-family="Times New Roman" fill="black">legendre_q</svg:text><svg:g transform="translate(55.308598, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text><svg:g transform="translate(9.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(18.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(78.025395, 0.000000)"/><svg:g transform="translate(93.358731, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(103.459645, 0.000000)"/><svg:g transform="translate(115.459645, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.873047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(128.385660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(142.102457, 0.000000)"/><svg:g transform="translate(157.435793, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(167.536707, 0.000000)"/><svg:g transform="translate(180.122645, -3.984375)"><svg:g transform="translate(0.683701, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(186.140457, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(195.474442, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.087991" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(225.393159, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(234.827401, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_3.mml b/libs/math/doc/sf_and_dist/equations/legendre_3.mml
deleted file mode 100644
index 4fffed8447..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_3.mml
+++ /dev/null
@@ -1,106 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <msubsup>
- <mi>P</mi>
- <mrow>
- <mi>l</mi>
- </mrow>
- <mrow>
- <mo>&#x2212;</mo>
- <mi>m</mi>
- </mrow>
- </msubsup>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <msup>
- <mfenced>
- <mrow>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfenced>
- <mi>m</mi>
- </msup>
- <mfrac>
- <mrow>
- <mfenced>
- <mrow>
- <mi>l</mi>
- <mo>&#x2212;</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mo>!</mo>
- </mrow>
- <mrow>
- <mfenced>
- <mrow>
- <mi>l</mi>
- <mo>+</mo>
- <mi>m</mi>
- </mrow>
- </mfenced>
- <mo>!</mo>
- </mrow>
- </mfrac>
- <msubsup>
- <mi>P</mi>
- <mrow>
- <mi>l</mi>
- </mrow>
- <mi>m</mi>
- </msubsup>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <msubsup>
- <mi>P</mi>
- <mrow>
- <mo>&#x2212;</mo>
- <mi>l</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- <mi>m</mi>
- </msubsup>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <msubsup>
- <mi>P</mi>
- <mrow>
- <mi>l</mi>
- </mrow>
- <mi>m</mi>
- </msubsup>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_3.png b/libs/math/doc/sf_and_dist/equations/legendre_3.png
deleted file mode 100644
index 5c66725bd7..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_3.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_3.svg b/libs/math/doc/sf_and_dist/equations/legendre_3.svg
deleted file mode 100644
index 82ccc6c468..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="36.304845pt" width="154.118484pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.136798 154.118484 36.304845"><svg:metadata><svgmath:metrics top="36.3048454073" bottom="0.0" baseline="14.1680477037" axis="18.1524227037"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -4.822236)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(18.698086, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.414883, 0.000000)"/><svg:g transform="translate(47.748219, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(57.849133, 0.000000)"/><svg:g transform="translate(69.849133, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(98.014374, -3.984375)"><svg:g transform="translate(0.585938, -3.421740)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(4.426867, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.125179, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(20.115276, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.899168, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(4.426867, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.125179, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(20.115276, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.899168, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.908270" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(126.508582, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(140.401687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.606902, 15.193497)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.338516, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.143496, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(24.143730, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.860527, 0.000000)"/><svg:g transform="translate(53.193863, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.294777, 0.000000)"/><svg:g transform="translate(75.294777, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(89.187883, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_4.svg b/libs/math/doc/sf_and_dist/equations/legendre_4.svg
deleted file mode 100644
index f238ebbd32..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.412051pt" width="186.349051pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.886673 186.349051 25.412051"><svg:metadata><svgmath:metrics top="25.4120507812" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.338750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.055547, 0.000000)"/><svg:g transform="translate(48.388883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.489797, 0.000000)"/><svg:g transform="translate(71.075735, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(12.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.665359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.661453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(41.386062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:g><svg:g transform="translate(51.659832, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.043293, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(77.477535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(81.045894, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(100.384644, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.805932, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(25.665359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="115.273316" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/legendre_5.svg b/libs/math/doc/sf_and_dist/equations/legendre_5.svg
deleted file mode 100644
index d31e4d13d1..0000000000
--- a/libs/math/doc/sf_and_dist/equations/legendre_5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.355398pt" width="236.828402pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.830020 236.828402 26.355398"><svg:metadata><svgmath:metrics top="26.355397569" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.338750, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.055547, 0.000000)"/><svg:g transform="translate(48.388883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.489797, 0.000000)"/><svg:g transform="translate(71.075735, -3.984375)"><svg:g transform="translate(0.585938, -4.558535)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(12.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.665359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.661453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(41.386062, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(55.279168, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(71.662629, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(81.096871, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.001945, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.436187, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.432281, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(131.525246, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(2.533535, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.338516, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(150.863996, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(57.662146, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(27.001945, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.436187, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(46.432281, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="165.752667" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm1.svg b/libs/math/doc/sf_and_dist/equations/lgamm1.svg
deleted file mode 100644
index bc879a8af9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="112.733090pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 112.733090 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="19.327148" font-family="Times New Roman" fill="black">lgamma</svg:text><svg:g transform="translate(40.654301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.042324, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.143238, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(79.810559, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(85.546239, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(93.942723, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.330747, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm2.svg b/libs/math/doc/sf_and_dist/equations/lgamm2.svg
deleted file mode 100644
index 6d272808a4..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="80.270619pt" width="485.956792pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -44.162748 485.956792 80.270619"><svg:metadata><svgmath:metrics top="80.2706194616" bottom="0.0" baseline="36.1078710937" axis="40.0922460937"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.248711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(70.349625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(75.412125, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(84.746110, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.564453, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(98.973321, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(108.407563, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(114.642586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(124.076828, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(133.410813, -3.984375)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="26.352911" text-anchor="middle" y="6.292272" x="9.393372" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.263372, 19.044062)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(6.356457, -12.841270)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g><svg:g transform="translate(19.372681, 0.000000)"><svg:g transform="translate(1.458867, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 11.979766)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:g transform="translate(0.125859, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.000000, -4.848906)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.746094" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(33.371376, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(43.391555, 0.000000)"><svg:g transform="translate(38.363564, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 14.396973)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.749344, -3.984375)"><svg:g transform="translate(28.012163, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.720488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(10.502785, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.617112, -2.828906)"><svg:g transform="translate(18.733070, -4.756816)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 12.108379)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.786021, -2.656250)"><svg:g transform="translate(9.924044, -4.781250)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(0.390625, 6.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.328125, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(10.105901, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.617620, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="4.000000" font-family="Times New Roman" fill="black">…</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="27.398870" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="45.016922" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="63.805909" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="82.727127" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(130.700714, 0.000000)"><svg:text font-size="88.194329" transform="scale(0.136063, 1)" text-anchor="middle" y="21.058119" x="14.684700" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(268.107621, 0.000000)"/><svg:g transform="translate(280.107621, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(286.774941, 0.000000)"/><svg:g transform="translate(298.774941, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(311.607086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(324.374664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(333.808906, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.707023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.141265, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.137359, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(382.942359, 0.000000)"/><svg:g transform="translate(398.275695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(411.148093, 0.000000)"/><svg:g transform="translate(423.148093, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(437.146253, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(447.247167, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(454.976331, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(464.410574, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(472.954191, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(482.388433, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm3.svg b/libs/math/doc/sf_and_dist/equations/lgamm3.svg
deleted file mode 100644
index eb9cf43229..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="10.933606pt" width="220.309902pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 220.309902 10.933606"><svg:metadata><svgmath:metrics top="10.9336063373" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(16.492839, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.954433, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(51.019542, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(67.682957, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(77.783871, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(87.117855, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(10.382813, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(104.163425, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(113.597667, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(122.931652, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.447266, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(155.041675, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(164.475917, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(173.809902, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(19.066406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(15.445313, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.503906, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm4.svg b/libs/math/doc/sf_and_dist/equations/lgamm4.svg
deleted file mode 100644
index d15e370ca8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="24.624077pt" width="241.135262pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.309624 241.135262 24.624077"><svg:metadata><svgmath:metrics top="24.6240769334" bottom="0.0528413668099" baseline="8.314453125" axis="12.298828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.248711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(70.349625, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(36.159500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.505219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(119.839203, -3.984375)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(7.729164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.163406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.322266" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(26.404289, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(35.838531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.500000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(23.342117, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="52.010406" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(57.178375, 0.000000)"><svg:text font-size="27.054780" transform="scale(0.443545, 1)" text-anchor="middle" y="6.459857" x="4.504727" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(183.680336, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(193.114578, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(202.448562, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.065000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(5.911582, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:g transform="translate(17.639824, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(34.690605, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm5.mml b/libs/math/doc/sf_and_dist/equations/lgamm5.mml
deleted file mode 100644
index 8c981a241b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm5.mml
+++ /dev/null
@@ -1,157 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mo>|</mo>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>z</mi>
- </mrow>
- </mfenced>
- <mo>|</mo>
- </mrow>
- </mfenced>
- <mo>=</mo>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- <mo>+</mo>
- <mi>g</mi>
- <mo>+</mo>
- <mn>0.5</mn>
- </mrow>
- <mi>e</mi>
- </mfrac>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <mrow>
- <mfrac>
- <mn>1</mn>
- <mn>2</mn>
- </mfrac>
- </mrow>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- </mrow>
- <mrow>
- <mi>g</mi>
- <mo>+</mo>
- <mn>0.5</mn>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>k</mi>
- <mo>=</mo>
- <mn>0</mn>
- </mrow>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </munderover>
- <mfrac>
- <mrow>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- <msub>
- <mi>d</mi>
- <mi>k</mi>
- </msub>
- </mrow>
- <mrow>
- <mi>k</mi>
- <mfenced>
- <mrow>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- <mo>+</mo>
- <mi>k</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- <mo>=</mo>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>z</mi>
- <mspace width="1em"/>
- <mo>&#x2227;</mo>
- <mspace width="1em"/>
- <msub>
- <mi>d</mi>
- <mi>k</mi>
- </msub>
- <mo>=</mo>
- <msqrt>
- <mrow>
- <mfrac>
- <mrow>
- <mi>g</mi>
- <mo>+</mo>
- <mn>0.5</mn>
- </mrow>
- <mi>e</mi>
- </mfrac>
- </mrow>
- </msqrt>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <msub>
- <mi>C</mi>
- <mi>k</mi>
- </msub>
- </mrow>
- <msup>
- <mi>e</mi>
- <mi>g</mi>
- </msup>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
-
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm5.png b/libs/math/doc/sf_and_dist/equations/lgamm5.png
deleted file mode 100644
index b72690207d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm5.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm5.svg b/libs/math/doc/sf_and_dist/equations/lgamm5.svg
deleted file mode 100644
index 1ddc05c726..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="52.411671pt" width="346.481045pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -30.190211 346.481045 52.411671"><svg:metadata><svgmath:metrics top="52.4116712217" bottom="0.0" baseline="22.2214606108" axis="26.2058356108"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -9.646862)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.248711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(72.349629, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text></svg:g><svg:g transform="translate(82.066430, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(87.128930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(96.462915, -3.984375)"><svg:text font-size="20.256799" transform="scale(0.592394, 1)" text-anchor="middle" y="4.836706" x="3.372836" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(12.386635, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.084947, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(25.645974, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(32.344286, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(20.192289, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="44.166161" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(49.334129, 0.000000)"><svg:text font-size="20.256799" transform="scale(0.592394, 1)" text-anchor="middle" y="4.836706" x="3.372836" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(152.459802, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(162.479981, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(168.497794, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(177.831778, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(7.293955, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.081214" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(48.350089, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(232.844625, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(242.278867, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(251.612851, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="27.469077" transform="scale(0.436855, 1)" text-anchor="middle" y="6.498169" x="4.573709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, -3.984375)"><svg:text font-size="22.604759" text-anchor="middle" y="4.467245" x="8.057360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(16.114721, 10.587765)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(16.114721, -6.790117)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(50.593518, -3.984375)"><svg:g transform="translate(8.337913, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(10.493304, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 7.523681)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.257229, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(12.386635, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.084947, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.514813, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="35.696551" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(90.872100, -3.984375)"><svg:text font-size="27.469077" transform="scale(0.436855, 1)" text-anchor="middle" y="6.498169" x="4.573709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(87.007236, 19.177360)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(9.716801, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(18.112637, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(28.213551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(36.880215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(46.314457, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(51.376957, 0.000000)"/><svg:g transform="translate(66.710293, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(79.582692, 0.000000)"/><svg:g transform="translate(91.582692, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(105.580852, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(116.161766, -3.984375)"><svg:g transform="translate(9.841582, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(10.649816, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.081214" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -2.672490 L 3.476479 -2.672490 L 6.984862 3.824516 L 6.905629 4.344455 L 3.246079 -2.432490 L 2.886079 -2.432490 L 6.891196 4.984395 L 9.188262 -10.089375 L 35.576116 -10.089375" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(152.217882, -3.984375)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(5.994785, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(1.460117, 10.561328)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="11.084629" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.252598, 0.000000)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm6.mml b/libs/math/doc/sf_and_dist/equations/lgamm6.mml
deleted file mode 100644
index e43e06d3bd..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm6.mml
+++ /dev/null
@@ -1,166 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mo>|</mo>
- <mi>&#x0393;</mi>
- <mfenced>
- <mrow>
- <mi>z</mi>
- </mrow>
- </mfenced>
- <mo>|</mo>
- </mrow>
- </mfenced>
- <mo>=</mo>
- <mrow>
- <mfrac>
- <mn>3</mn>
- <mn>2</mn>
- </mfrac>
- </mrow>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <mrow>
- <mfrac>
- <mrow>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- </mrow>
- <mrow>
- <mi>g</mi>
- <mo>+</mo>
- <mn>1.5</mn>
- </mrow>
- </mfrac>
- </mrow>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mi>z</mi>
- <mo>+</mo>
- <mi>g</mi>
- <mo>&#x2212;</mo>
- <mn>0.5</mn>
- </mrow>
- <mi>e</mi>
- </mfrac>
- </mrow>
- </mfenced>
- <mo>+</mo>
- <mi>ln</mi>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>+</mo>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>k</mi>
- <mo>=</mo>
- <mn>1</mn>
- </mrow>
- <mrow>
- <mi>N</mi>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </munderover>
- <mfrac>
- <mrow>
- <mo>&#x2212;</mo>
- <msub>
- <mi>d</mi>
- <mi>k</mi>
- </msub>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- </mrow>
- <mrow>
- <mi>z</mi>
- <mo>+</mo>
- <mi>k</mi>
- <mi>z</mi>
- <mo>+</mo>
- <msup>
- <mi>k</mi>
- <mn>2</mn>
- </msup>
- <mo>&#x2212;</mo>
- <mn>1</mn>
- </mrow>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>&#x0394;</mtext>
- <mi>z</mi>
- <mo>=</mo>
- <mi>z</mi>
- <mo>&#x2212;</mo>
- <mn>2</mn>
- <mspace width="1em"/>
- <mo>&#x2227;</mo>
- <mspace width="1em"/>
- <msub>
- <mi>d</mi>
- <mi>k</mi>
- </msub>
- <mo>=</mo>
- <msup>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <mi>g</mi>
- <mo>+</mo>
- <mn>1.5</mn>
- </mrow>
- <mi>e</mi>
- </mfrac>
- </mrow>
- </mfenced>
- <mrow>
- <mn>1.5</mn>
- </mrow>
- </msup>
- <mfenced>
- <mrow>
- <mfrac>
- <mrow>
- <msub>
- <mi>C</mi>
- <mi>k</mi>
- </msub>
- </mrow>
- <msup>
- <mi>e</mi>
- <mi>g</mi>
- </msup>
- </mfrac>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
-
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm6.png b/libs/math/doc/sf_and_dist/equations/lgamm6.png
deleted file mode 100644
index 9a8b1ee725..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm6.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/lgamm6.svg b/libs/math/doc/sf_and_dist/equations/lgamm6.svg
deleted file mode 100644
index 7a1e344796..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lgamm6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="53.980579pt" width="355.857902pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -30.974665 355.857902 53.980579"><svg:metadata><svgmath:metrics top="53.9805790984" bottom="0.0" baseline="23.0059145492" axis="26.9902895492"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -10.429629)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(9.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(7.329430, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(5.735680, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(14.132164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.520188, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="1.202462" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:g transform="translate(43.585297, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.248711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(70.935563, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(76.953375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(86.287360, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(7.293955, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(6.898929, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">1.5</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.081214" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(48.350089, -3.984375)"><svg:text font-size="18.220602" transform="scale(0.658595, 1)" text-anchor="middle" y="5.263679" x="3.033801" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(141.300206, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(152.734452, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text></svg:g><svg:g transform="translate(162.451253, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(167.513753, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(176.847737, -3.984375)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g><svg:g transform="translate(18.747045, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(25.445357, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">0.5</svg:text></svg:g></svg:g><svg:g transform="translate(16.742825, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="37.267232" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(42.435201, 0.000000)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(225.945696, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(235.379938, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.666992" font-family="Times New Roman" fill="black">ln</svg:text></svg:g><svg:g transform="translate(244.713922, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="29.196563" transform="scale(0.411007, 1)" text-anchor="middle" y="7.695937" x="4.861342" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, -3.984375)"><svg:text font-size="24.332245" text-anchor="middle" y="5.665014" x="8.673115" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(17.346229, 12.158359)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.346229, -6.790117)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(51.825026, -3.984375)"><svg:g transform="translate(12.510893, -5.290234)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(5.278314, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(4.609453, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(15.225739, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.739463" font-family="Times New Roman" fill="black">Δ</svg:text></svg:g><svg:g transform="translate(22.124668, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.816563)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.487706, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.186018, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(16.358655, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(21.846362, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(28.544673, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(38.610642, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(45.308953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="50.740828" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(107.147886, -3.984375)"><svg:text font-size="29.196563" transform="scale(0.411007, 1)" text-anchor="middle" y="7.695937" x="4.861342" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(87.516084, 19.961814)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.858398" font-family="Times New Roman" fill="black">Δ</svg:text><svg:g transform="translate(9.716801, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(18.112637, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(28.213551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(35.942715, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(45.376957, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(51.376957, 0.000000)"/><svg:g transform="translate(66.710293, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(79.582692, 0.000000)"/><svg:g transform="translate(91.582692, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(105.580852, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(115.681766, -3.984375)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -3.438398)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.358809" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text><svg:g transform="translate(6.561027, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.259339, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">1.5</svg:text></svg:g></svg:g><svg:g transform="translate(10.649816, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.081214" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(30.249182, 0.000000)"><svg:text font-size="20.229345" transform="scale(0.593198, 1)" text-anchor="middle" y="4.830151" x="3.368265" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(34.245276, -4.799951)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="5.325000" font-family="Times New Roman" fill="black">1.5</svg:text></svg:g></svg:g><svg:g transform="translate(160.577042, -3.984375)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.290234)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.841387" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(5.994785, 3.596875)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(1.460117, 10.561328)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(3.781582, -5.426562)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.214844" font-family="Times New Roman" font-style="italic" fill="black">g</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="11.084629" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.252598, 0.000000)"><svg:text font-size="24.330440" transform="scale(0.493209, 1)" text-anchor="middle" y="5.809368" x="4.051113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/log1pseries.svg b/libs/math/doc/sf_and_dist/equations/log1pseries.svg
deleted file mode 100644
index 1d2ee5cc9f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/log1pseries.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.632129pt" width="150.883026pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -24.222012 150.883026 37.632129"><svg:metadata><svgmath:metrics top="37.6321289063" axis="17.3944921875" baseline="13.4101171875" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.151687, 0.000000)"/><svg:g transform="translate(62.485023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(72.585938, 0.000000)"/><svg:g transform="translate(84.585938, -3.984375)"><svg:text font-size="28.070591" text-anchor="middle" y="4.014062" x="10.005630" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.395142, 17.294648)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.968716, -16.310449)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(105.183136, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(34.647409, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.923187, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="45.699890" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/lognormal_ref.svg b/libs/math/doc/sf_and_dist/equations/lognormal_ref.svg
deleted file mode 100644
index 8e418c9d28..0000000000
--- a/libs/math/doc/sf_and_dist/equations/lognormal_ref.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.978020pt" width="131.394246pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.417434 131.394246 33.978020"><svg:metadata><svgmath:metrics top="33.978019703" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(20.931645, 0.000000)"/><svg:g transform="translate(36.264981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.365895, 0.000000)"/><svg:g transform="translate(58.951832, -3.984375)"><svg:g transform="translate(12.765152, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(10.985859, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 19.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.530305" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(91.068074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -14.856176)"><svg:g transform="translate(0.416016, -2.576882)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.511719, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="3.111328" font-family="Times New Roman" fill="black">ln</svg:text><svg:g transform="translate(6.222656, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(10.039063, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(14.550781, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.888672" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(22.992188, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(25.656250, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.906250, 9.850337)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.630859" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(3.187500, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="35.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel1.svg b/libs/math/doc/sf_and_dist/equations/mbessel1.svg
deleted file mode 100644
index e37f4146a5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="136.954703pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 136.954703 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(46.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(63.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(72.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.005672, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(111.520453, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(120.853789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(130.954703, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel10.svg b/libs/math/doc/sf_and_dist/equations/mbessel10.svg
deleted file mode 100644
index 538f156dad..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel10.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="12.866145pt" width="70.040676pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -8.343763 70.040676 12.866145"><svg:metadata><svgmath:metrics top="12.8661453998" bottom="1.7389453125" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(17.651016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.039039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.139953, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(56.985988, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel11.svg b/libs/math/doc/sf_and_dist/equations/mbessel11.svg
deleted file mode 100644
index 20ca9bb4a5..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel11.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="28.755577pt" width="204.484233pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.330137 204.484233 28.755577"><svg:metadata><svgmath:metrics top="28.7555770005" bottom="0.0" baseline="12.4254402818" axis="16.4098152818"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF1</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(32.678395, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(47.539407, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.226258, -3.984375)"><svg:g transform="translate(0.585938, -4.400449)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(5.118428, 9.544922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="19.315312" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(81.460844, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(92.147696, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(132.251179, -3.984375)"><svg:g transform="translate(16.465804, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 10.945421)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(19.470452, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(11.837540, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.739554" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.992155, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.931608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(175.102061, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(187.118342, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(199.134623, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel12.svg b/libs/math/doc/sf_and_dist/equations/mbessel12.svg
deleted file mode 100644
index 37c92f9178..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel12.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.349358pt" width="239.281488pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -21.823980 239.281488 30.349358"><svg:metadata><svgmath:metrics top="30.3493584687" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.338867" font-family="Times New Roman" fill="black">CF2</svg:text><svg:g transform="translate(26.011074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">:</svg:text></svg:g><svg:g transform="translate(33.264332, -3.984375)"><svg:g transform="translate(0.585938, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.494375" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(47.677981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.364832, -3.984375)"><svg:g transform="translate(21.211910, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(40.484367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.423820" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(107.960528, -3.984375)"><svg:g transform="translate(3.940402, -5.040305)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.687078, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.057270)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(40.484367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.423820" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(157.556223, -3.984375)"><svg:g transform="translate(3.940402, -4.972500)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.687078, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">5</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.957211)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.825516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g><svg:g transform="translate(27.821609, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(40.484367, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="48.423820" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(209.899316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(221.915598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(233.931879, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel13.mml b/libs/math/doc/sf_and_dist/equations/mbessel13.mml
deleted file mode 100644
index 2a874f20fb..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel13.mml
+++ /dev/null
@@ -1 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" ><mtable columnalign="left" class="align"> <mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >K</mi></mrow><mrow ><mi >&#x03BC;</mi></mrow></msub ></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <msqrt><mrow><mi >&#x03C0;</mi></mrow></msqrt><msup><mrow > <mfenced separators="" open="(" close=")" ><mrow><mn>2</mn><mi >x</mi></mrow></mfenced></mrow><mrow ><mi >&#x03BC;</mi></mrow></msup ><msup><mrow ><mi >e</mi></mrow><mrow ><mo class="MathClass-bin">&#x2212;</mo><mi >x</mi></mrow></msup ><msub><mrow ><mi >z</mi></mrow><mrow ><mn>0</mn></mrow></msub ><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr><mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >K</mi></mrow><mrow ><mi >&#x03BC;</mi><mo class="MathClass-bin">+</mo><mn>1</mn></mrow></msub ></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <mfrac><mrow ><msub><mrow ><mi >K</mi></mrow><mrow ><mi >&#x03BC;</mi></mrow></msub ></mrow> <mrow ><mi >x</mi></mrow></mfrac> <mfenced separators="" open="[" close="]" ><mrow><mfrac><mrow ><mn>1</mn></mrow><mrow ><mn>2</mn></mrow></mfrac> <mo class="MathClass-bin">+</mo> <mi >&#x03BC;</mi> <mo class="MathClass-bin">+</mo> <mi >x</mi> <mo class="MathClass-bin">+</mo> <mfenced separators="" open="(" close=")" ><mrow><msup><mrow ><mi >&#x03BC;</mi></mrow><mrow ><mn>2</mn></mrow></msup > <mo class="MathClass-bin">&#x2212;</mo><mfrac><mrow ><mn>1</mn></mrow> <mrow ><mn>4</mn></mrow></mfrac></mrow></mfenced> <mfrac><mrow ><msub><mrow ><mi >z</mi></mrow><mrow ><mn>1</mn></mrow></msub ></mrow> <mrow ><msub><mrow ><mi >z</mi></mrow><mrow ><mn>0</mn></mrow></msub ></mrow></mfrac></mrow></mfenced><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr></mtable></math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel13.png b/libs/math/doc/sf_and_dist/equations/mbessel13.png
deleted file mode 100644
index cda34e5338..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel13.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel13.svg b/libs/math/doc/sf_and_dist/equations/mbessel13.svg
deleted file mode 100644
index d4cee6952b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel13.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="39.985137pt" width="233.804031pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.976943 233.804031 39.985137"><svg:metadata><svgmath:metrics top="39.9851367187" bottom="0.0" baseline="16.0081933594" axis="19.9925683594"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.064980, -9.576592)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(32.455371, -9.576592)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.580914, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 13.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(24.433484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(15.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.716797, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(48.876219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(63.071844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(72.394344, 0.000000)"/></svg:g><svg:g transform="translate(200.204031, -9.576592)"/><svg:g transform="translate(209.804031, -9.576592)"/><svg:g transform="translate(0.000000, 15.170049)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.455371, 15.170049)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.686852, -3.984375)"><svg:g transform="translate(0.585938, -5.231523)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.070195" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(6.435762, 1.905352)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(3.990332, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.045137" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.317926, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.270161" transform="scale(0.622724, 1)" text-anchor="middle" y="4.648002" x="3.208557" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(27.441633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.875875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(45.267148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(54.701390, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(6.656250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(13.582914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(23.603094, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(33.617000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(92.900421, -3.984375)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 5.264707)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(3.594375, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="8.766250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(106.834640, -3.984375)"><svg:text font-size="19.270161" transform="scale(0.622724, 1)" text-anchor="middle" y="4.648002" x="3.208557" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(134.148660, 0.000000)"/></svg:g><svg:g transform="translate(200.204031, 15.170049)"/><svg:g transform="translate(209.804031, 15.170049)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel14.svg b/libs/math/doc/sf_and_dist/equations/mbessel14.svg
deleted file mode 100644
index 75554f277c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel14.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.380341pt" width="86.544824pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.456513 86.544824 23.380341"><svg:metadata><svgmath:metrics top="23.3803411735" bottom="0.0" baseline="5.923828125" axis="9.908203125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.655836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.342688, -3.984375)"><svg:g transform="translate(9.888344, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">S</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.776687" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(49.705313, -3.984375)"><svg:text font-size="21.667025" transform="scale(0.553837, 1)" text-anchor="middle" y="5.173425" x="3.607644" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(3.448242, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(18.064453, 0.000000)"><svg:text font-size="21.667025" transform="scale(0.553837, 1)" text-anchor="middle" y="5.173425" x="3.607644" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(22.060547, -4.371020)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.946934, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel15.mml b/libs/math/doc/sf_and_dist/equations/mbessel15.mml
deleted file mode 100644
index 0c0f1cc1ef..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel15.mml
+++ /dev/null
@@ -1 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" ><mtable columnalign="left" class="align"> <mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >K</mi></mrow><mrow ><mi >&#x03BC;</mi></mrow></msub ></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo><munderover accentunder="false" accent="false"><mrow ><mo mathsize="big" > &#x2211;</mo> </mrow><mrow ><mi >k</mi><mo class="MathClass-rel">=</mo><mn>0</mn></mrow><mrow ><mi >&#x221E;</mi></mrow></munderover ><msub><mrow ><mi >c</mi></mrow><mrow ><mi >k</mi></mrow></msub ><msub><mrow ><mi >f</mi></mrow><mrow ><mi >k</mi></mrow></msub ><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr><mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >K</mi></mrow><mrow ><mi >&#x03BC;</mi><mo class="MathClass-bin">+</mo><mn>1</mn></mrow></msub ></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <mfrac><mrow ><mn>2</mn></mrow> <mrow ><mi >x</mi></mrow></mfrac><munderover accentunder="false" accent="false"><mrow ><mo mathsize="big" >&#x2211;</mo> </mrow><mrow ><mi >k</mi><mo class="MathClass-rel">=</mo><mn>0</mn></mrow><mrow ><mi >&#x221E;</mi></mrow></munderover ><msub><mrow ><mi >c</mi></mrow><mrow ><mi >k</mi></mrow></msub ><msub><mrow ><mi >h</mi></mrow><mrow ><mi >k</mi></mrow></msub ><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr></mtable></math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel15.png b/libs/math/doc/sf_and_dist/equations/mbessel15.png
deleted file mode 100644
index 7bf16963d1..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel15.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel15.svg b/libs/math/doc/sf_and_dist/equations/mbessel15.svg
deleted file mode 100644
index 01f0cd22fb..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel15.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="67.557891pt" width="150.568201pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -37.763320 150.568201 67.557891"><svg:metadata><svgmath:metrics top="67.557890625" bottom="0.0" baseline="29.7945703125" axis="33.7789453125"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.064980, -15.291094)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(32.455371, -15.291094)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.100914, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="7.268360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(0.649552, 16.492031)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.231446, -10.576289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(24.637635, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(34.136443, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(46.055174, 0.000000)"/></svg:g><svg:g transform="translate(116.968201, -15.291094)"/><svg:g transform="translate(126.568201, -15.291094)"/><svg:g transform="translate(0.000000, 21.171445)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.587617" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(4.725937, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.530918, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.455371, 21.171445)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.686852, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.683701, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.704664, -3.984375)"><svg:text font-size="20.391235" text-anchor="middle" y="4.868806" x="7.268360" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(0.649552, 16.492031)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.231446, -10.576289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(31.241385, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(40.740193, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">h</svg:text><svg:g transform="translate(6.000000, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(50.912830, 0.000000)"/></svg:g><svg:g transform="translate(116.968201, 21.171445)"/><svg:g transform="translate(126.568201, 21.171445)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel16.svg b/libs/math/doc/sf_and_dist/equations/mbessel16.svg
deleted file mode 100644
index 7a7038da77..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel16.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.099590pt" width="60.976371pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.218887 60.976371 27.099590"><svg:metadata><svgmath:metrics top="27.0995902423" bottom="0.0552742346939" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">c</svg:text><svg:g transform="translate(5.326172, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(12.832145, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.518996, -3.984375)"><svg:g transform="translate(3.189127, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.378254" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(36.483188, -3.984375)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.578242, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="11.156484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(16.324453, 0.000000)"><svg:text font-size="28.300408" transform="scale(0.424022, 1)" text-anchor="middle" y="6.757275" x="4.712129" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(20.320547, -8.318770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel17.svg b/libs/math/doc/sf_and_dist/equations/mbessel17.svg
deleted file mode 100644
index d4bf989767..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel17.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="35.692309pt" width="183.355106pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.844705 183.355106 35.692309"><svg:metadata><svgmath:metrics top="35.6923093658" axis="19.8319796002" baseline="15.8476046002" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.795254, 0.000000)"/><svg:g transform="translate(38.128590, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.229504, 0.000000)"/><svg:g transform="translate(60.229504, -3.984375)"><svg:text font-size="25.936998" text-anchor="middle" y="6.912022" x="9.245121" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.634633, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(6.208207, -11.933142)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(79.305684, -3.984375)"><svg:g transform="translate(32.062494, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g><svg:g transform="translate(25.947258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.381500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.377594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(57.770172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(64.957019, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="70.124988" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(150.016609, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.723633, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="7.171875" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.339844, 0.000000)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.335938, -5.155896)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.415996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.220977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">v</svg:text></svg:g></svg:g></svg:g></svg:svg>
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel2.svg b/libs/math/doc/sf_and_dist/equations/mbessel2.svg
deleted file mode 100644
index feb9158c36..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.696463pt" width="152.001990pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.288407 152.001990 38.696463"><svg:metadata><svgmath:metrics top="38.6964632812" bottom="0.0" baseline="16.4080558594" axis="20.3924308594"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.466481, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(35.567395, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:g transform="translate(17.402344, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.398438, -11.291072)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(60.747414, -3.984375)"><svg:text font-size="28.751642" text-anchor="middle" y="6.865016" x="10.248388" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.629579, 20.292587)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.211474, -14.376845)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(81.830127, -3.984375)"><svg:g transform="translate(21.040394, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.922344, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(23.918438, -6.783500)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.970695, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(35.404937, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(45.401031, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="70.171863" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel3.svg b/libs/math/doc/sf_and_dist/equations/mbessel3.svg
deleted file mode 100644
index 44dee3ba94..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.236563pt" width="123.011711pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.711184 123.011711 25.236563"><svg:metadata><svgmath:metrics top="25.2365625" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(12.846035, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.234059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.920910, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.398778, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="2.674805" font-family="Lucida Sans Unicode" fill="black">⋅</svg:text></svg:g><svg:g transform="translate(60.667660, -3.984375)"><svg:g transform="translate(0.585938, -4.383047)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(13.883437, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.604789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(39.039031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(48.117488, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.650865, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(17.337242, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.344051" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel4.svg b/libs/math/doc/sf_and_dist/equations/mbessel4.svg
deleted file mode 100644
index 7e51b82472..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="135.835379pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 135.835379 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(18.143437, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(34.531461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(47.299039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(57.319219, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(70.403203, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(79.481660, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.203012, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(104.637254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(122.780691, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel5.svg b/libs/math/doc/sf_and_dist/equations/mbessel5.svg
deleted file mode 100644
index 670f663a38..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.373770pt" width="135.037207pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.833984 135.037207 18.373770"><svg:metadata><svgmath:metrics top="18.3737695312" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.911016, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.299039, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(48.985891, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(3.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(62.069875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(74.915910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(90.637262, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(100.071504, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(121.982520, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel6.svg b/libs/math/doc/sf_and_dist/equations/mbessel6.svg
deleted file mode 100644
index 432a651bb9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="108.669492pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 108.669492 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.466481, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(36.153332, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(43.237317, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(52.315774, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(68.037125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(77.471367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(95.614805, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel7.svg b/libs/math/doc/sf_and_dist/equations/mbessel7.svg
deleted file mode 100644
index dea9d51180..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.677109pt" width="119.972227pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -11.137324 119.972227 15.677109"><svg:metadata><svgmath:metrics top="15.677109375" bottom="1.7389453125" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.064453, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g><svg:g transform="translate(12.846035, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(29.234059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(39.920910, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.717773, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.498047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(47.004895, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(59.850930, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.572281, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(85.006523, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(106.917539, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel8.svg b/libs/math/doc/sf_and_dist/equations/mbessel8.svg
deleted file mode 100644
index 20203189f6..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.233145pt" width="326.047976pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 326.047976 18.233145"><svg:metadata><svgmath:metrics top="18.2331445312" bottom="0.241951436208" baseline="4.53978515625" axis="8.52416015625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.998047" font-family="Times New Roman" font-style="italic" fill="black">W</svg:text><svg:g transform="translate(14.659508, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(24.760422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(33.838879, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.893567, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.064453, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(59.739602, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(75.460953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.895195, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(97.741230, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(110.795918, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(5.296875, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="0.931875" font-family="Times New Roman" font-style="italic" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(119.874375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(136.262398, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(149.029977, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(158.464219, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.078457, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(22.133145, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(44.044160, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(59.765512, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(69.199754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(82.045789, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(95.100476, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.586562, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(113.243914, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(130.294695, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(296.088344, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(308.855922, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(318.876101, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(1.054688, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/mbessel9.svg b/libs/math/doc/sf_and_dist/equations/mbessel9.svg
deleted file mode 100644
index 8fc21946e3..0000000000
--- a/libs/math/doc/sf_and_dist/equations/mbessel9.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="18.215742pt" width="149.613274pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 149.613274 18.215742"><svg:metadata><svgmath:metrics top="18.2157421875" bottom="1.6044140625" baseline="4.5223828125" axis="8.5067578125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(13.883437, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(30.271461, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(40.372375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(49.450832, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(65.172184, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(75.192363, -3.984375)"><svg:g transform="translate(0.779297, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(0.585938, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(86.670231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(104.007473, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:g transform="translate(15.708984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(123.712551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g></svg:g><svg:g transform="translate(136.558586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.svg b/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.svg
deleted file mode 100644
index 1703e68814..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.663770pt" width="200.515974pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.775020 200.515974 31.663770"><svg:metadata><svgmath:metrics top="31.6637695313" bottom="0.0" baseline="12.88875" axis="16.873125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(60.565106, 0.000000)"/><svg:g transform="translate(75.898442, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(85.999356, 0.000000)"/><svg:g transform="translate(97.999356, -3.984375)"><svg:text font-size="21.679914" text-anchor="middle" y="5.030019" x="7.727704" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.011649, 16.773281)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.690790, -10.863457)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(113.454763, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(121.194997, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.799805, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(22.341148, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(147.532240, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(156.893587, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.svg b/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.svg
deleted file mode 100644
index baad52030e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="31.663770pt" width="201.084333pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.775020 201.084333 31.663770"><svg:metadata><svgmath:metrics top="31.6637695313" bottom="0.0" baseline="12.88875" axis="16.873125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.133465, 0.000000)"/><svg:g transform="translate(76.466801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(86.567715, 0.000000)"/><svg:g transform="translate(98.567715, -3.984375)"><svg:text font-size="21.679914" text-anchor="middle" y="5.030019" x="7.727704" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.011649, 16.773281)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(4.690790, -10.863457)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(114.023122, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(121.763357, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.799805, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(22.341148, -3.984375)"><svg:text font-size="21.679914" transform="scale(0.553508, 1)" text-anchor="middle" y="5.030019" x="3.609790" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(148.100599, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(157.461947, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.svg b/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.svg
deleted file mode 100644
index 99834b2034..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.430989pt" width="247.467023pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.509271 247.467023 25.430989"><svg:metadata><svgmath:metrics top="25.4309892756" bottom="0.0" baseline="8.92171875" axis="12.90609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.934570" font-family="Times New Roman" font-style="italic" fill="black">E</svg:text><svg:g transform="translate(7.857422, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.467773" font-family="Times New Roman" font-style="italic" fill="black">X</svg:text></svg:g><svg:g transform="translate(13.687500, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.541016, 0.000000)"/><svg:g transform="translate(40.874352, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">≃</svg:text></svg:g><svg:g transform="translate(53.746750, 0.000000)"/><svg:g transform="translate(65.746750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(74.413414, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(83.847656, -3.984375)"><svg:text font-size="27.493018" transform="scale(0.436474, 1)" text-anchor="middle" y="6.564495" x="4.577695" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(1.359375, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.615234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.783203, 0.000000)"><svg:text font-size="27.493018" transform="scale(0.436474, 1)" text-anchor="middle" y="6.564495" x="4.577695" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(102.626953, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="25.196391" transform="scale(0.476259, 1)" text-anchor="middle" y="7.468201" x="4.195298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(7.151484, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(8.443359, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="19.875234" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(43.144109, -3.984375)"><svg:text font-size="25.196391" transform="scale(0.476259, 1)" text-anchor="middle" y="7.468201" x="4.195298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(149.767156, 0.000000)"/><svg:g transform="translate(161.767156, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(168.434476, 0.000000)"/><svg:g transform="translate(180.434476, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(192.211172, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(202.312086, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(211.277578, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(220.711820, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(230.274969, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(240.295148, -3.984375)"><svg:g transform="translate(0.799805, -1.669922)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.mml b/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.mml
deleted file mode 100644
index 9864e5a1e7..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.mml
+++ /dev/null
@@ -1,119 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mo>;</mo>
- <mi>&#x03B1;</mi>
- <mo>,</mo>
- <mi>&#x03B2;</mi>
- <mo>;</mo>
- <mi>&#x03BB;</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>i</mi>
- <mo>=</mo>
- <mn>0</mn>
- </mrow>
- <mi>&#x221E;</mi>
- </munderover>
- <mi>P</mi>
- <mfenced>
- <mrow>
- <mi>i</mi>
- <mo>;</mo>
- <mfrac>
- <mi>&#x03BB;</mi>
- <mn>2</mn>
- </mfrac>
- </mrow>
- </mfenced>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>&#x03B1;</mi>
- <mo>+</mo>
- <mi>i</mi>
- <mo>,</mo>
- <mi>&#x03B2;</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <mi>F</mi>
- <mfenced>
- <mrow>
- <mi>x</mi>
- <mo>;</mo>
- <mi>&#x03B1;</mi>
- <mo>,</mo>
- <mi>&#x03B2;</mi>
- <mo>;</mo>
- <mi>&#x03BB;</mi>
- </mrow>
- </mfenced>
- <mspace width="1em"/>
- <mo>=</mo>
- <mspace width="1em"/>
- <munderover>
- <mo>&#x2211;</mo>
- <mrow>
- <mi>i</mi>
- <mo>=</mo>
- <mn>0</mn>
- </mrow>
- <mi>&#x221E;</mi>
- </munderover>
- <mi>P</mi>
- <mfenced>
- <mrow>
- <mi>i</mi>
- <mo>;</mo>
- <mfrac>
- <mi>&#x03BB;</mi>
- <mn>2</mn>
- </mfrac>
- </mrow>
- </mfenced>
- <mfenced>
- <mrow>
- <mn>1</mn>
- <mo>&#x2212;</mo>
- <msub>
- <mi>I</mi>
- <mi>x</mi>
- </msub>
- <mfenced>
- <mrow>
- <mi>&#x03B1;</mi>
- <mo>+</mo>
- <mi>i</mi>
- <mo>,</mo>
- <mi>&#x03B2;</mi>
- </mrow>
- </mfenced>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.png b/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.png
deleted file mode 100644
index 910574e2a0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.svg b/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.svg
deleted file mode 100644
index 8fbf8f495b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_beta_ref4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="42.878438pt" width="252.117165pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -25.423594 252.117165 42.878438"><svg:metadata><svgmath:metrics top="42.8784375" bottom="0.0" baseline="17.45484375" axis="21.43921875"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(22.097000, -8.547773)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.133465, 0.000000)"/><svg:g transform="translate(76.466801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(86.567715, 0.000000)"/><svg:g transform="translate(98.567715, -3.984375)"><svg:text font-size="17.677508" text-anchor="middle" y="4.691592" x="6.301065" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(12.602130, 9.748711)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(12.602130, -4.979883)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(122.601954, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(130.342189, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(20.601149, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(154.939431, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(164.300778, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 15.575039)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text></svg:g><svg:g transform="translate(26.415359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text></svg:g><svg:g transform="translate(18.690758, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(25.690754, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g><svg:g transform="translate(32.587238, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(39.254559, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(48.822918, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(79.234371, 0.000000)"/><svg:g transform="translate(94.567707, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(104.668621, 0.000000)"/><svg:g transform="translate(116.668621, -3.984375)"><svg:text font-size="17.677508" text-anchor="middle" y="4.691592" x="6.301065" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(12.602130, 9.748711)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(12.602130, -4.979883)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(140.702860, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(148.443095, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.587242, -3.984375)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(20.601149, -3.984375)"><svg:text font-size="16.413190" transform="scale(0.731119, 1)" text-anchor="middle" y="3.814966" x="2.732860" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(173.040337, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(27.462254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.149414" font-family="Times New Roman" font-style="italic" fill="black">α</svg:text><svg:g transform="translate(8.965492, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.399734, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(21.733719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.733715, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.791016" font-family="Times New Roman" font-style="italic" fill="black">β</svg:text></svg:g></svg:g><svg:g transform="translate(39.626293, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(75.080734, -3.984375)"><svg:text font-size="14.138475" transform="scale(0.848748, 1)" text-anchor="middle" y="5.455388" x="2.354111" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.svg b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.svg
deleted file mode 100644
index 13d5d9dd00..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.743550pt" width="42.733199pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.435193 42.733199 38.743550"><svg:metadata><svgmath:metrics top="38.7435503239" bottom="0.0" baseline="15.3083571932" axis="19.2927321932"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="26.680296" text-anchor="middle" y="6.370442" x="9.510066" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.794012, 19.192888)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(7.423748, -13.535076)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(19.020133, 0.000000)"><svg:text font-size="23.677766" transform="scale(0.506805, 1)" text-anchor="middle" y="5.653529" x="3.942441" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.531250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.764648" font-family="Times New Roman" font-style="italic" fill="black">χ</svg:text><svg:g transform="translate(6.750000, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.796875, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.328125, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.289004" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.456973, 0.000000)"><svg:text font-size="23.677766" transform="scale(0.506805, 1)" text-anchor="middle" y="5.653529" x="3.942441" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.453066, -6.370935)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.svg b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.svg
deleted file mode 100644
index ee068fcf78..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="37.237855pt" width="84.465344pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -23.364730 84.465344 37.237855"><svg:metadata><svgmath:metrics top="37.2378545834" bottom="0.0" baseline="13.873125" axis="17.8575"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 0.000000)"/><svg:g transform="translate(20.905602, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.006516, 0.000000)"/><svg:g transform="translate(43.006516, -3.984375)"><svg:text font-size="25.024192" text-anchor="middle" y="5.292630" x="8.919756" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.203701, 17.757656)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.833438, -13.464612)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(60.846028, -3.984375)"><svg:text font-size="23.523093" transform="scale(0.510137, 1)" text-anchor="middle" y="5.616598" x="3.916687" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -5.531250)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(6.656250, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.750000, 6.761719)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.328125, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.195254" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.363223, 0.000000)"><svg:text font-size="23.523093" transform="scale(0.510137, 1)" text-anchor="middle" y="5.616598" x="3.916687" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.359316, -6.300472)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.svg b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.svg
deleted file mode 100644
index 0cf0c9ad29..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="48.662140pt" width="381.035320pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.754315 381.035320 48.662140"><svg:metadata><svgmath:metrics top="48.662140142" bottom="0.0" baseline="16.9078254493" axis="20.8922004493"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.028644, 0.000000)"/><svg:g transform="translate(61.361981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.462895, 0.000000)"/><svg:g transform="translate(83.462895, -3.984375)"><svg:text font-size="40.376296" text-anchor="middle" y="5.014035" x="14.391941" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.675887, 20.792357)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(11.355027, -23.842752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(112.832715, -3.984375)"><svg:g transform="translate(0.585938, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.351827)"><svg:text font-size="14.227164" transform="scale(0.598854, 1)" text-anchor="middle" y="3.397013" x="2.368878" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(13.306270, 0.000000)"><svg:text font-size="14.227164" transform="scale(0.598854, 1)" text-anchor="middle" y="3.397013" x="2.368878" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.469668, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.506799)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.470600, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="39.604609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(153.023262, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(160.769356, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(20.384766, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(29.819008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(35.819008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(43.149086, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(207.914535, 0.000000)"/><svg:g transform="translate(223.247871, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(233.348785, 0.000000)"/><svg:g transform="translate(245.934723, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(253.692535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -12.745488)"><svg:text font-size="17.904911" transform="scale(0.475847, 1)" text-anchor="middle" y="4.275147" x="2.981238" font-family="Times New Roman" fill="black">[</svg:text><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.058223, 0.000000)"><svg:g transform="translate(0.416016, -2.576882)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.328125, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(14.707031, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(7.101563, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="18.203125" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(26.677363, 0.000000)"><svg:text font-size="17.904911" transform="scale(0.475847, 1)" text-anchor="middle" y="4.275147" x="2.981238" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(288.533297, -3.984375)"><svg:text font-size="22.002148" transform="scale(0.545401, 1)" text-anchor="middle" y="5.253443" x="3.663444" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.662109, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="6.896484" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.064453, 0.000000)"><svg:text font-size="22.002148" transform="scale(0.545401, 1)" text-anchor="middle" y="5.253443" x="3.663444" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(16.060547, -7.199926)"><svg:text font-size="13.797518" transform="scale(0.617502, 1)" text-anchor="middle" y="3.294427" x="2.297341" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(5.248047, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.469043, 0.000000)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(18.970332, 0.000000)"><svg:text font-size="13.797518" transform="scale(0.617502, 1)" text-anchor="middle" y="3.294427" x="2.297341" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(326.401403, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 6.300379)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="14.063898" transform="scale(0.605806, 1)" text-anchor="middle" y="3.236937" x="2.341694" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.457031, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(5.248047, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(10.053027, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.566270, -2.828906)"><svg:text font-size="14.063898" transform="scale(0.605806, 1)" text-anchor="middle" y="3.236937" x="2.341694" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(352.101774, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.476094, 0.000000)"><svg:g transform="translate(7.377844, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -5.059336 L 2.541361 -5.059336 L 4.648084 -1.157996 L 4.568343 -0.638998 L 2.310961 -4.819336 L 1.950961 -4.819336 L 4.553402 0.000000 L 6.071203 -9.878672 L 19.981359 -9.878672" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(24.937453, -3.984375)"><svg:text font-size="13.978002" transform="scale(0.858492, 1)" text-anchor="middle" y="3.557482" x="2.327392" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.svg b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.svg
deleted file mode 100644
index b5aa0d5fc6..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="72.010093pt" width="204.431395pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -39.989421 204.431395 72.010093"><svg:metadata><svgmath:metrics top="72.0100925495" bottom="0.0" baseline="32.0206712747" axis="36.0050462747"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(43.174950, -26.331218)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.022785, 0.000000)"/><svg:g transform="translate(61.356121, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.457035, 0.000000)"/><svg:g transform="translate(83.457035, -3.984375)"><svg:text font-size="14.138475" text-anchor="middle" y="5.455388" x="5.039593" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(10.079186, 9.748711)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.079186, -1.762266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(104.968331, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(112.116710, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 2.551975)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(12.374586, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(22.475500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(36.068836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.169750, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(61.548949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(68.548945, 0.000000)"/><svg:g transform="translate(80.548945, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(91.030660, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(101.131575, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(120.011598, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(129.445840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(137.812969, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(144.812965, 0.000000)"/><svg:g transform="translate(156.812965, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(168.513430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(178.614344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text><svg:g transform="translate(6.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(196.632391, -3.984375)"><svg:g transform="translate(1.921348, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.799004" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(20.824972, 27.071066)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g><svg:g transform="translate(11.190992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(21.877844, -3.984375)"><svg:g transform="translate(13.531769, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.205289)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.436047" transform="scale(0.685105, 1)" text-anchor="middle" y="3.858021" x="2.070650" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.640625, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.141378, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.839690, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.352932, -2.828906)"><svg:text font-size="12.436047" transform="scale(0.685105, 1)" text-anchor="middle" y="3.858021" x="2.070650" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.323538" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(53.787319, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.683701, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -7.199926)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(73.215288, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.507813, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(88.594487, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(95.594483, 0.000000)"/><svg:g transform="translate(107.594483, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(116.892604, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(126.993519, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(142.609222, -3.984375)"><svg:g transform="translate(8.053878, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(16.633225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="20.172229" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.svg b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.svg
deleted file mode 100644
index 4d77d00e8c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="46.447456pt" width="189.533486pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.572896 189.533486 46.447456"><svg:metadata><svgmath:metrics top="46.4474558307" bottom="0.0" baseline="14.8745599235" axis="18.8589349235"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(46.022785, 0.000000)"/><svg:g transform="translate(61.356121, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.457035, 0.000000)"/><svg:g transform="translate(83.457035, -3.984375)"><svg:text font-size="37.940381" text-anchor="middle" y="3.506489" x="13.523671" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.807616, 18.759091)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.486757, -23.661333)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(111.090315, -3.984375)"><svg:g transform="translate(0.585938, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(15.379199, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.506799)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.425365, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.514141" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(145.190393, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 1.438208)"><svg:g transform="translate(0.507813, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(157.762658, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(27.774734, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.svg b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.svg
deleted file mode 100644
index 4b0441d79e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="46.447456pt" width="208.560174pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.572896 208.560174 46.447456"><svg:metadata><svgmath:metrics top="46.4474558307" bottom="0.0" baseline="14.8745599235" axis="18.8589349235"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(25.841141, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.718098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(34.286457, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(64.123691, 0.000000)"/><svg:g transform="translate(79.457027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(89.557941, 0.000000)"/><svg:g transform="translate(101.557941, -3.984375)"><svg:text font-size="37.940381" text-anchor="middle" y="3.506489" x="13.523671" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(7.807616, 18.759091)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(10.486757, -23.661333)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(129.191221, -3.984375)"><svg:g transform="translate(0.585938, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(15.379199, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.506799)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.425365, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.667316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="33.514141" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(163.291299, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 1.438208)"><svg:g transform="translate(0.507813, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(176.789346, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.424477, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(19.858719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(27.774734, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.mml b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.mml
deleted file mode 100644
index 0a5830a814..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.mml
+++ /dev/null
@@ -1,86 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mtext>mean</mtext>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mi>&#x03BD;</mi>
- <mo>+</mo>
- <mi>&#x03BB;</mi>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>variance</mtext>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mn>2</mn>
- <mfenced>
- <mrow>
- <mi>&#x03BD;</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>&#x03BB;</mi>
- </mrow>
- </mfenced>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mtext>skewness</mtext>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mfrac>
- <mrow>
- <msup>
- <mn>2</mn>
- <mrow>
- <mfrac>
- <mn>3</mn>
- <mn>2</mn>
- </mfrac>
- </mrow>
- </msup>
- <mfenced>
- <mrow>
- <mi>&#x03BD;</mi>
- <mo>+</mo>
- <mn>3</mn>
- <mi>&#x03BB;</mi>
- </mrow>
- </mfenced>
- </mrow>
- <msup>
- <mfenced>
- <mrow>
- <mi>&#x03BD;</mi>
- <mo>+</mo>
- <mn>2</mn>
- <mi>&#x03BB;</mi>
- </mrow>
- </mfenced>
- <mrow>
- <mfrac>
- <mn>3</mn>
- <mn>2</mn>
- </mfrac>
- </mrow>
- </msup>
- </mfrac>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.png b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.png
deleted file mode 100644
index b329a41f06..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.svg b/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.svg
deleted file mode 100644
index 9d80b55fbf..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_chi_squ_ref7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="69.449030pt" width="114.287234pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -38.708890 114.287234 69.449030"><svg:metadata><svgmath:metrics top="69.4490302331" bottom="0.0" baseline="30.7401401166" axis="34.7245151166"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(9.670898, -26.392484)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">mean</svg:text></svg:g><svg:g transform="translate(54.928125, -30.376859)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.291797, -26.392484)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(2.346680, -12.517471)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="20.317383" font-family="Times New Roman" fill="black">variance</svg:text></svg:g><svg:g transform="translate(54.928125, -16.501846)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.295703, -12.517471)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(23.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(32.995437, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 19.054681)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="22.664063" font-family="Times New Roman" fill="black">skewness</svg:text></svg:g><svg:g transform="translate(54.928125, 15.070306)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(74.552913, 15.070306)"><svg:g transform="translate(0.585938, -3.421740)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, -9.919359)"><svg:g transform="translate(0.390625, -0.906859)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="4.781250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(9.041250, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(16.633225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(23.426761, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(2.715938, 17.832078)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(16.633225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(23.426761, -2.828906)"><svg:text font-size="8.529151" transform="scale(0.998927, 1)" text-anchor="middle" y="2.826931" x="1.420137" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(26.263987, -9.919359)"><svg:g transform="translate(0.390625, -0.906859)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.390625, 6.219359)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.390625" x2="4.781250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="36.477112" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_f_ref1.svg b/libs/math/doc/sf_and_dist/equations/nc_f_ref1.svg
deleted file mode 100644
index c08ee1c3e9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_f_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.514327pt" width="465.285611pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -36.028260 465.285611 49.514327"><svg:metadata><svgmath:metrics top="49.5143274951" bottom="0.0" baseline="13.486067023" axis="17.470442023"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.978102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.978098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(38.564270, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(45.231590, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(54.799949, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(66.542137, 0.000000)"/><svg:g transform="translate(81.875473, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(91.976387, 0.000000)"/><svg:g transform="translate(103.976387, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -16.668685)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.469043, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.690039, 0.000000)"><svg:g transform="translate(9.253906, -6.190197)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.714844, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(11.265625, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.746094, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(0.416016, 6.432359)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(19.613281, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(26.093750, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.421875, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="38.917969" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(163.910567, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(9.586172, -11.184301)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(181.879551, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.586172, -11.184301)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(199.848535, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(223.436953, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.273250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(40.993953, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(44.990047, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -6.190197)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(22.277344, -2.656250)"><svg:text font-size="11.991407" transform="scale(0.667144, 1)" text-anchor="middle" y="5.415917" x="1.996616" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(10.886719, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="25.773438" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(300.007371, -3.984375)"><svg:g transform="translate(0.585938, -12.837372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(20.186016, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(32.578594, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(40.975078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(24.704656, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.286922, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(83.258094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.723633" font-family="Times New Roman" font-style="italic" fill="black">L</svg:text><svg:g transform="translate(7.060547, 4.965551)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.060547, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(108.182449, -3.984375)"><svg:text font-size="27.889842" transform="scale(0.430264, 1)" text-anchor="middle" y="6.659244" x="4.643768" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(8.020183, 0.000000)"><svg:g transform="translate(11.761622, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(3.956309, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(11.737891, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.527264)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.198625" transform="scale(0.698439, 1)" text-anchor="middle" y="5.371195" x="2.031119" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(24.154807, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(31.056507, -2.828906)"><svg:text font-size="12.198625" transform="scale(0.698439, 1)" text-anchor="middle" y="5.371195" x="2.031119" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="39.325608" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(51.927822, 0.000000)"><svg:text font-size="27.889842" transform="scale(0.430264, 1)" text-anchor="middle" y="6.659244" x="4.643768" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(24.021442, 12.958308)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(15.603984, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(23.189918, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(29.207730, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(43.375933, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(54.977496, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(63.373980, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(35.269344, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(49.865281, -3.984375)"><svg:text font-size="17.467863" transform="scale(0.686976, 1)" text-anchor="middle" y="4.754241" x="2.908467" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="165.278240" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_f_ref2.svg b/libs/math/doc/sf_and_dist/equations/nc_f_ref2.svg
deleted file mode 100644
index 858a225a8b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_f_ref2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.118116pt" width="369.999409pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -31.572896 369.999409 54.118116"><svg:metadata><svgmath:metrics top="54.1181164781" bottom="0.0" baseline="22.545220571" axis="26.529595571"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.978102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(28.978098, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(38.564270, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(45.231590, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(54.799949, -3.984375)"><svg:text font-size="14.157615" transform="scale(0.847600, 1)" text-anchor="middle" y="5.468659" x="2.357298" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(66.542137, 0.000000)"/><svg:g transform="translate(81.875473, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(91.976387, 0.000000)"/><svg:g transform="translate(103.976387, -3.984375)"><svg:text font-size="46.203406" text-anchor="middle" y="9.235735" x="16.468988" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(9.850179, 26.429752)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(13.432074, -23.661333)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(137.500300, -3.984375)"><svg:g transform="translate(16.028330, -5.148004)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.558594, -0.912837)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.982422" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(15.379199, -3.984375)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.737783, -1.649531)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.641976" transform="scale(0.721068, 1)" text-anchor="middle" y="3.973597" x="2.770954" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -3.007580)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 14.415865)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">B</svg:text><svg:g transform="translate(7.605469, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.345865" transform="scale(0.620288, 1)" text-anchor="middle" y="4.600648" x="3.221162" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(1.281729, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.195000" font-family="Times New Roman" fill="black">2,</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="8.953457" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.125332, -3.984375)"><svg:g transform="translate(0.585938, -5.048047)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.781582, 3.448438)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.346729, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="8.953457" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(22.331391, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(31.765633, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(42.224617, -3.984375)"><svg:text font-size="19.345865" transform="scale(0.620288, 1)" text-anchor="middle" y="4.600648" x="3.221162" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(53.826180, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(61.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="66.204433" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(204.290671, -3.984375)"><svg:text font-size="21.125285" transform="scale(0.568040, 1)" text-anchor="middle" y="5.044074" x="3.517442" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 6.902344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.758047" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(15.926016, 0.000000)"><svg:text font-size="21.125285" transform="scale(0.568040, 1)" text-anchor="middle" y="5.044074" x="3.517442" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(19.922109, -4.371020)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(21.029687, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(248.079694, -3.984375)"><svg:text font-size="25.172546" transform="scale(0.476710, 1)" text-anchor="middle" y="6.010437" x="4.191327" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(14.291781, -4.300605)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 8.742188)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(31.273250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.169734" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(43.337703, 0.000000)"><svg:text font-size="25.172546" transform="scale(0.476710, 1)" text-anchor="middle" y="6.010437" x="4.191327" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(47.333797, -4.371020)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="17.071417" transform="scale(0.499080, 1)" text-anchor="middle" y="2.587853" x="2.842458" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(7.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(8.222656, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="20.445313" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(20.861328, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(25.666309, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(33.092187, -2.828906)"><svg:text font-size="17.071417" transform="scale(0.499080, 1)" text-anchor="middle" y="2.587853" x="2.842458" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(331.342905, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -8.355395)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:g transform="translate(0.416016, -4.487055)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, 3.621094)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(2.191406, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.382813" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.798828, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.603809, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(17.776445, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.581426, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(30.094668, -2.828906)"><svg:text font-size="15.722330" transform="scale(0.541904, 1)" text-anchor="middle" y="2.879013" x="2.617829" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref1.svg b/libs/math/doc/sf_and_dist/equations/nc_t_ref1.svg
deleted file mode 100644
index 6bacca1ca1..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.339789pt" width="440.750623pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.223276 440.750623 51.339789"><svg:metadata><svgmath:metrics top="51.3397887877" bottom="0.0" baseline="22.1165130485" axis="26.1008880485"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(17.718102, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(24.385422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(33.959641, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(45.701828, 0.000000)"/><svg:g transform="translate(61.035164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(71.136078, 0.000000)"/><svg:g transform="translate(83.722016, -3.984375)"><svg:g transform="translate(33.622469, -1.763672)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.158203, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(16.817707, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 22.727997)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.686230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.781582, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(23.658535, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.407781, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.403875, -11.184301)"><svg:g transform="translate(0.640625, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(63.894441, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(72.290926, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="88.058738" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(172.366692, -3.984375)"><svg:text font-size="55.401145" transform="scale(0.216602, 1)" text-anchor="middle" y="13.228106" x="9.224507" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -10.258711)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(13.458820, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(19.036945, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(29.021555, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(41.596008, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(24.118719, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(31.371976, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(37.389789, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(44.643047, -3.984375)"><svg:g transform="translate(7.998751, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.980234" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.960469, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.960469, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 10.828438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.753343, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="32.022444" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(81.833460, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.390937, 12.957055)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(31.407781, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(35.403875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(43.800359, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.423172, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.019109, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="128.597436" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(131.850038, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(141.870217, 0.000000)"><svg:g transform="translate(0.585938, -10.258711)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="0.000000" font-family="Times New Roman, Lucida Sans Unicode" fill="black"></svg:text><svg:g transform="translate(0.000000, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.958008" font-family="Times New Roman" font-style="italic" fill="black">F</svg:text><svg:g transform="translate(8.314453, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(16.834453, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(6.017812, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(38.110906, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(45.364164, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(51.381977, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(58.635234, -3.984375)"><svg:g transform="translate(7.759542, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.980234" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.960469, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(7.960469, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 10.828438)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(23.274925, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.544026" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(95.347229, -3.984375)"><svg:text font-size="25.913340" transform="scale(0.463082, 1)" text-anchor="middle" y="7.050851" x="4.314672" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(19.851548, 13.857773)"><svg:g transform="translate(8.008219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.129082 L 2.926470 -6.129082 L 5.610331 -1.158968 L 5.530853 -0.639484 L 2.696070 -5.889082 L 2.336070 -5.889082 L 5.516174 0.000000 L 7.354898 -12.018164 L 36.073226 -12.018164" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(36.553226, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(44.949711, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(8.684476, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.118719, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.700750, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="117.349651" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(264.387837, 0.000000)"><svg:text font-size="55.401145" transform="scale(0.216602, 1)" text-anchor="middle" y="13.228106" x="9.224507" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref2.svg b/libs/math/doc/sf_and_dist/equations/nc_t_ref2.svg
deleted file mode 100644
index 61b67c34c8..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="63.011842pt" width="308.955406pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -35.490296 308.955406 63.011842"><svg:metadata><svgmath:metrics top="63.0118415808" bottom="0.0" baseline="27.5215457904" axis="31.5059207904"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.000000, -18.564554)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.264977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(15.591148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(22.258469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(31.832688, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.569016, 0.000000)"/><svg:g transform="translate(58.902352, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(69.003266, 0.000000)"/><svg:g transform="translate(81.003266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.567383" font-family="Times New Roman" font-style="italic" fill="black">Φ</svg:text></svg:g><svg:g transform="translate(90.138031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(17.008464, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(113.809253, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(123.829433, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(129.847245, -3.984375)"><svg:text font-size="18.930870" text-anchor="middle" y="5.510701" x="6.747820" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(13.495640, 10.838320)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(13.495640, -5.029805)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(154.774995, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.930870" transform="scale(0.633885, 1)" text-anchor="middle" y="5.510701" x="3.152064" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.107363, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(19.468711, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(22.038641, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(29.624574, -3.984375)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(39.638480, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(65.769949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(75.790129, -3.984375)"><svg:g transform="translate(3.213184, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.980234" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 8.311689)"><svg:g transform="translate(4.491105, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -3.356040 L 1.719374 -3.356040 L 3.087811 -0.821898 L 3.031119 -0.453549 L 1.555790 -3.185640 L 1.300190 -3.185640 L 3.020436 0.000000 L 4.027248 -6.541679 L 9.214962 -6.541679" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="10.386837" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(86.762903, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(97.796048, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(107.157396, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(25.020828, -3.984375)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(35.034734, -3.984375)"><svg:text font-size="14.102449" transform="scale(0.850916, 1)" text-anchor="middle" y="4.313671" x="2.348113" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(150.184317, -3.984375)"><svg:text font-size="18.930870" transform="scale(0.633885, 1)" text-anchor="middle" y="5.510701" x="3.152064" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.502804, 20.698837)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(13.440699, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(23.541613, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(43.225500, -3.984375)"><svg:g transform="translate(0.585938, -11.769574)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.220039, 0.000000)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(15.057266, -6.102528)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(6.150388, 7.369746)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.313795, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="1.418613" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.451797" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(62.263234, 0.000000)"/><svg:g transform="translate(74.263234, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(81.263230, 0.000000)"/><svg:g transform="translate(93.263230, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(107.629711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(117.730625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -11.184301)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(137.414512, -3.984375)"><svg:g transform="translate(6.075372, -11.769574)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.253242, 0.000000)"><svg:g transform="translate(0.416016, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.859375" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text><svg:g transform="translate(3.718750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.275391, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="8.550781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(12.220039, 0.000000)"><svg:text font-size="22.468271" transform="scale(0.379201, 1)" text-anchor="middle" y="5.364738" x="3.741055" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(15.057266, -6.102528)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.111328" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 11.078393)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.731143" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(5.961504, 0.000000)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="14.494049" transform="scale(0.587827, 1)" text-anchor="middle" y="3.413862" x="2.413316" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(4.260460, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.374788, -2.828906)"><svg:g transform="translate(0.416016, -1.229473)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(0.416016, 6.541973)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(19.460061, -2.828906)"><svg:text font-size="14.494049" transform="scale(0.587827, 1)" text-anchor="middle" y="3.413862" x="2.413316" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="29.430667" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(167.431116, 0.000000)"/><svg:g transform="translate(179.431116, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(186.431112, 0.000000)"/><svg:g transform="translate(198.431112, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(207.489058, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(218.175909, -3.984375)"><svg:g transform="translate(9.609777, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(2.554336, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 10.828438)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.837227, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(2.554336, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(21.764788, -2.828906)"><svg:text font-size="12.160129" transform="scale(0.700650, 1)" text-anchor="middle" y="2.043292" x="2.024709" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.773889" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref3.svg b/libs/math/doc/sf_and_dist/equations/nc_t_ref3.svg
deleted file mode 100644
index da88ffe5f0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.558340pt" width="205.475645pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.845332 205.475645 33.558340"><svg:metadata><svgmath:metrics top="33.5583398438" bottom="0.0" baseline="14.7130078125" axis="18.6973828125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.277344" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text><svg:g transform="translate(8.554688, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(15.222008, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(20.548180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(27.215500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(36.789719, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(51.859383, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.960297, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(71.293633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(81.394547, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.567383" font-family="Times New Roman" font-style="italic" fill="black">Φ</svg:text></svg:g><svg:g transform="translate(90.529313, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(17.008464, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(114.200535, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(124.220714, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(131.978527, -3.984375)"><svg:text font-size="23.763738" text-anchor="middle" y="6.404545" x="8.470473" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.754418, 18.597539)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.433559, -10.933770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(148.919473, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(12.774027, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.794207, -3.984375)"><svg:g transform="translate(4.286285, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 11.053242)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.150695" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(37.530840, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(52.560078, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref4.svg b/libs/math/doc/sf_and_dist/equations/nc_t_ref4.svg
deleted file mode 100644
index b41cd324fa..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.890176pt" width="408.030453pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.845332 408.030453 34.890176"><svg:metadata><svgmath:metrics top="34.8901757813" bottom="0.0" baseline="16.04484375" axis="20.02921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text></svg:g><svg:g transform="translate(25.841141, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.264977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(15.591148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(22.258469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(31.832688, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.669922, 0.000000)"/><svg:g transform="translate(77.003258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(87.104172, 0.000000)"/><svg:g transform="translate(99.690110, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(107.447922, -3.984375)"><svg:text font-size="25.228614" text-anchor="middle" y="7.420231" x="8.992621" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.276567, 19.929375)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.955707, -10.933770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(125.433165, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.107363, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(19.851445, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(14.757808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(43.118480, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.632683, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.652863, -3.984375)"><svg:g transform="translate(4.286285, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 11.053242)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.150695" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(94.389496, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(105.422640, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.556416" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g></svg:g><svg:g transform="translate(115.166722, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(7.757813, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(14.757808, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(20.758457, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(30.192699, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(40.774730, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(163.933640, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(293.362898, 0.000000)"/><svg:g transform="translate(305.362898, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(312.030219, 0.000000)"/><svg:g transform="translate(324.030219, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text></svg:g><svg:g transform="translate(333.627227, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(343.728141, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(352.394805, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(361.829047, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(370.886992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(381.573844, -3.984375)"><svg:g transform="translate(10.565219, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(7.992836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.427078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.456609" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/nc_t_ref5.svg b/libs/math/doc/sf_and_dist/equations/nc_t_ref5.svg
deleted file mode 100644
index 3500ff7f3e..0000000000
--- a/libs/math/doc/sf_and_dist/equations/nc_t_ref5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.890176pt" width="325.331855pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.845332 325.331855 34.890176"><svg:metadata><svgmath:metrics top="34.8901757813" bottom="0.0" baseline="16.04484375" axis="20.02921875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(10.264977, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(15.591148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(22.258469, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g></svg:g><svg:g transform="translate(31.832688, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.574875, 0.000000)"/><svg:g transform="translate(58.908211, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(69.009125, 0.000000)"/><svg:g transform="translate(81.595063, -3.984375)"><svg:g transform="translate(26.538758, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.252836, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(27.687078, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(33.013250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(43.537570, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(52.971812, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">4</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="62.001343" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(144.182344, -3.984375)"><svg:text font-size="25.228614" text-anchor="middle" y="7.420231" x="8.992621" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.276567, 19.929375)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(7.172109, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.955707, -10.933770)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(162.167586, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g><svg:g transform="translate(10.107363, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(19.468711, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.020828, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.778641, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(31.364574, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(43.118480, -3.984375)"><svg:text font-size="21.357680" transform="scale(0.561859, 1)" text-anchor="middle" y="5.099563" x="3.556137" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(69.249949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(79.270129, -3.984375)"><svg:g transform="translate(4.286285, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.789063" font-family="Times New Roman" font-style="italic" fill="black">δ</svg:text></svg:g><svg:g transform="translate(0.585938, 11.053242)"><svg:g transform="translate(6.325500, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -4.726816 L 2.421654 -4.726816 L 4.349029 -1.157603 L 4.269182 -0.638801 L 2.191254 -4.486816 L 1.831254 -4.486816 L 4.254135 0.000000 L 5.672180 -9.213633 L 12.978820 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="14.150695" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(94.006761, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">Q</svg:text><svg:g transform="translate(8.666016, 3.773203)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text></svg:g></svg:g><svg:g transform="translate(105.039906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(5.296875, -8.196094)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="0.931875" font-family="Times New Roman" fill="black">′</svg:text></svg:g></svg:g><svg:g transform="translate(114.401254, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(6.000648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.434891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.500000" font-family="Times New Roman" fill="black">1,</svg:text></svg:g><svg:g transform="translate(25.020828, -3.984375)"><svg:g transform="translate(0.922852, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.171875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(36.774734, -3.984375)"><svg:text font-size="18.425349" transform="scale(0.651277, 1)" text-anchor="middle" y="5.732420" x="3.067893" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(159.168175, -3.984375)"><svg:text font-size="23.763738" transform="scale(0.504971, 1)" text-anchor="middle" y="6.404545" x="3.956755" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/neg_binomial_ref.svg b/libs/math/doc/sf_and_dist/equations/neg_binomial_ref.svg
deleted file mode 100644
index 4def4af818..0000000000
--- a/libs/math/doc/sf_and_dist/equations/neg_binomial_ref.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="174.765566pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 174.765566 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.544273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(17.378258, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(24.378254, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(35.698566, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.440754, 0.000000)"/><svg:g transform="translate(62.774090, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(72.875004, 0.000000)"/><svg:g transform="translate(85.460942, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text><svg:g transform="translate(7.500648, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(16.934891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(26.807937, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(3.971678, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.334961" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g><svg:g transform="translate(8.830078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="40.372391" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(126.419270, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text><svg:g transform="translate(7.324219, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.657822" font-family="Times New Roman" font-style="italic" fill="black">r</svg:text></svg:g></svg:g><svg:g transform="translate(137.175617, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">p</svg:text></svg:g></svg:g><svg:g transform="translate(29.421219, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.417312, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/normal_ref1.svg b/libs/math/doc/sf_and_dist/equations/normal_ref1.svg
deleted file mode 100644
index 1cdf9669d0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/normal_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.993661pt" width="147.014981pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -26.433076 147.014981 33.993661"><svg:metadata><svgmath:metrics top="33.993661486" bottom="0.0" baseline="7.5605859375" axis="11.5449609375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.391930, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g><svg:g transform="translate(19.048180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.048176, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text></svg:g></svg:g><svg:g transform="translate(36.372394, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(47.583336, 0.000000)"/><svg:g transform="translate(62.916672, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(73.017586, 0.000000)"/><svg:g transform="translate(85.603524, -3.984375)"><svg:g transform="translate(10.676285, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.064961)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.958984" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(6.808125, 0.000000)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 19.372570 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="27.352570" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(113.542031, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -14.856176)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text><svg:g transform="translate(5.220996, 0.000000)"><svg:g transform="translate(0.416016, -2.592524)"><svg:g transform="translate(0.000000, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(2.664063, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.041016" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(3.816406, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.328125, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.429688" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text></svg:g></svg:g><svg:g transform="translate(15.429688, -2.656250)"><svg:text font-size="8.008593" transform="scale(0.998927, 1)" text-anchor="middle" y="2.654395" x="1.333462" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(18.093750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(5.353516, 9.850337)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.000000, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.972656" font-family="Times New Roman" font-style="italic" fill="black">σ</svg:text><svg:g transform="translate(4.218750, -3.578125)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="22.925781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/poisson_ref1.svg b/libs/math/doc/sf_and_dist/equations/poisson_ref1.svg
deleted file mode 100644
index 0f09897ece..0000000000
--- a/libs/math/doc/sf_and_dist/equations/poisson_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="23.118867pt" width="96.348000pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -17.007539 96.348000 23.118867"><svg:metadata><svgmath:metrics top="23.1188671875" bottom="0.0" baseline="6.111328125" axis="10.095703125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(12.544273, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(22.112633, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.323574, 0.000000)"/><svg:g transform="translate(48.656910, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.757824, 0.000000)"/><svg:g transform="translate(71.343762, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.111279" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text></svg:g></svg:g><svg:g transform="translate(14.087461, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.973633" font-family="Times New Roman" font-style="italic" fill="black">λ</svg:text><svg:g transform="translate(5.572266, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(6.898930, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="25.004238" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/roots1.svg b/libs/math/doc/sf_and_dist/equations/roots1.svg
deleted file mode 100644
index 9a5989c6de..0000000000
--- a/libs/math/doc/sf_and_dist/equations/roots1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.066431pt" width="110.682336pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 110.682336 25.066431"><svg:metadata><svgmath:metrics top="25.0664314245" bottom="0.0" baseline="8.54884071227" axis="12.5332157123"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.516562, 0.000000)"/><svg:g transform="translate(36.849899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.950813, 0.000000)"/><svg:g transform="translate(58.950813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(74.069059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.089238, -3.984375)"><svg:g transform="translate(2.565103, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.593098" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/roots2.svg b/libs/math/doc/sf_and_dist/equations/roots2.svg
deleted file mode 100644
index 4c71578957..0000000000
--- a/libs/math/doc/sf_and_dist/equations/roots2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.847513pt" width="195.625930pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.517591 195.625930 27.847513"><svg:metadata><svgmath:metrics top="27.8475125873" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.516562, 0.000000)"/><svg:g transform="translate(36.849899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.950813, 0.000000)"/><svg:g transform="translate(58.950813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(74.069059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.089238, -3.984375)"><svg:g transform="translate(29.326289, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(13.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(27.462891, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(36.542316, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(39.167316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(29.417316, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.413410, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(46.340074, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(55.774316, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(63.520410, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(77.237207, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text></svg:g><svg:g transform="translate(88.316637, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.499023" font-family="Times New Roman" fill="black">″</svg:text></svg:g><svg:g transform="translate(96.648020, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="111.536691" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/roots3.svg b/libs/math/doc/sf_and_dist/equations/roots3.svg
deleted file mode 100644
index 84eaa59657..0000000000
--- a/libs/math/doc/sf_and_dist/equations/roots3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="30.628594pt" width="191.969680pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.298672 191.969680 30.628594"><svg:metadata><svgmath:metrics top="30.62859375" bottom="0.0" baseline="11.329921875" axis="15.314296875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.700996)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text><svg:g transform="translate(6.726973, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(11.531953, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(21.516562, 0.000000)"/><svg:g transform="translate(36.849899, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.950813, 0.000000)"/><svg:g transform="translate(58.950813, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g></svg:g><svg:g transform="translate(74.069059, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(84.089238, -3.984375)"><svg:g transform="translate(2.565103, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="26.593098" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(113.934937, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(123.955117, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(11.079430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.499023" font-family="Times New Roman" fill="black">″</svg:text></svg:g><svg:g transform="translate(19.410813, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.127609, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(25.458984, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(29.455078, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.170576, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(29.417316, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.413410, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="68.014563" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/roots4.mml b/libs/math/doc/sf_and_dist/equations/roots4.mml
deleted file mode 100644
index ae9a4bd0ee..0000000000
--- a/libs/math/doc/sf_and_dist/equations/roots4.mml
+++ /dev/null
@@ -1,67 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
- <mrow>
- <mtable>
- <mtr>
- <mtd>
- <mi>f</mi>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <msup>
- <mi>x</mi>
- <mn>3</mn>
- </msup>
- <mo>&#x2212;</mo>
- <mi>a</mi>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>f</mi>
- <mo>&#x2032;</mo>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mn>3</mn>
- <msup>
- <mi>x</mi>
- <mn>2</mn>
- </msup>
- </mtd>
- </mtr>
- <mtr>
- <mtd>
- <mi>f</mi>
- <mo>&#x2033;</mo>
- <mfenced>
- <mrow>
- <mi>x</mi>
- </mrow>
- </mfenced>
- </mtd>
- <mtd>
- <mo>=</mo>
- </mtd>
- <mtd>
- <mn>6</mn>
- <mi>x</mi>
- </mtd>
- </mtr>
- </mtable>
- </mrow>
-</math>
-
diff --git a/libs/math/doc/sf_and_dist/equations/roots4.png b/libs/math/doc/sf_and_dist/equations/roots4.png
deleted file mode 100644
index 493c4719a7..0000000000
--- a/libs/math/doc/sf_and_dist/equations/roots4.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/roots4.svg b/libs/math/doc/sf_and_dist/equations/roots4.svg
deleted file mode 100644
index 27e8d52a1c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/roots4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="49.097356pt" width="87.180703pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -28.533053 87.180703 49.097356"><svg:metadata><svgmath:metrics top="49.0973563373" bottom="0.0" baseline="20.5643031686" axis="24.5486781686"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(5.832359, -13.423834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(7.746094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.727610, -17.408209)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(59.095188, -13.423834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">3</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g></svg:g><svg:g transform="translate(3.853193, 5.658041)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(9.079426, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.312500" font-family="Times New Roman" fill="black">′</svg:text></svg:g><svg:g transform="translate(11.704426, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.727610, 1.673666)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(65.145641, 5.658041)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">3</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.000000, 21.958834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.735352" font-family="Times New Roman" font-style="italic" fill="black">f</svg:text><svg:g transform="translate(11.079430, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="2.499023" font-family="Times New Roman" fill="black">″</svg:text></svg:g><svg:g transform="translate(19.410813, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(42.727610, 17.974459)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.275641, 21.958834)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">6</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel1.svg b/libs/math/doc/sf_and_dist/equations/sbessel1.svg
deleted file mode 100644
index 3c282a2ddb..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="171.461625pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 171.461625 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(46.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(52.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(69.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(78.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(27.423406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(63.512594, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(146.027375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(155.360711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(165.461625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel2.mml b/libs/math/doc/sf_and_dist/equations/sbessel2.mml
deleted file mode 100644
index 7d28c37cd0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel2.mml
+++ /dev/null
@@ -1 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" ><mtable columnalign="left" class="align"> <mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >j</mi></mrow><mrow ><mi >n</mi></mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <msqrt><mrow> <mfrac> <mrow > <mi >&#x03C0;</mi></mrow><mrow ><mn>2</mn><mi >z</mi></mrow></mfrac></mrow></msqrt><msub><mrow ><mi >J</mi></mrow><mrow ><mi >n</mi><mo class="MathClass-bin">+</mo><mfrac><mrow ><mn>1</mn></mrow><mrow ><mn>2</mn></mrow></mfrac> </mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr><mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >y</mi></mrow><mrow ><mi >n</mi></mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <msqrt><mrow> <mfrac> <mrow > <mi >&#x03C0;</mi></mrow><mrow ><mn>2</mn><mi >z</mi></mrow></mfrac></mrow></msqrt><msub><mrow ><mi >Y</mi> </mrow><mrow ><mi >n</mi><mo class="MathClass-bin">+</mo><mfrac><mrow ><mn>1</mn></mrow><mrow ><mn>2</mn></mrow></mfrac> </mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr></mtable></math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel2.png b/libs/math/doc/sf_and_dist/equations/sbessel2.png
deleted file mode 100644
index 3eaa6acd2d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel2.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel2.svg b/libs/math/doc/sf_and_dist/equations/sbessel2.svg
deleted file mode 100644
index f90d9ac73d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.218729pt" width="166.942324pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.593740 166.942324 51.218729"><svg:metadata><svgmath:metrics top="51.2187292221" bottom="0.0" baseline="21.624989611" axis="25.609364611"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(0.861328, -12.171357)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(5.402344, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.662344, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.178359, -12.171357)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.580914, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.026250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(31.192344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.073242" font-family="Times New Roman" font-style="italic" fill="black">J</svg:text><svg:g transform="translate(6.972656, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(52.478027, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(65.532715, 0.000000)"/></svg:g><svg:g transform="translate(133.342324, -12.171357)"/><svg:g transform="translate(142.942324, -12.171357)"/><svg:g transform="translate(0.000000, 16.121602)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.600586" font-family="Times New Roman" font-style="italic" fill="black">y</svg:text><svg:g transform="translate(6.263672, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.523672, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(33.178359, 16.121602)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.580914, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.026250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(31.192344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(53.509277, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(66.563965, 0.000000)"/></svg:g><svg:g transform="translate(133.342324, 16.121602)"/><svg:g transform="translate(142.942324, 16.121602)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel3.svg b/libs/math/doc/sf_and_dist/equations/sbessel3.svg
deleted file mode 100644
index 49ddd33255..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.730156pt" width="171.461625pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.849453 171.461625 25.730156"><svg:metadata><svgmath:metrics top="25.73015625" bottom="0.0" baseline="8.880703125" axis="12.865078125"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(9.908437, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(10.752188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054687, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.924062" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(31.085101, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(40.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(46.519344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(52.167781, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g></svg:g><svg:g transform="translate(1.054688, 9.931641)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">d</svg:text><svg:g transform="translate(6.492188, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="13.664063" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(69.084445, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(78.518687, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">[</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text><svg:g transform="translate(5.062500, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(11.989164, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.423406, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(27.423406, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(28.097000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(63.512594, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">]</svg:text></svg:g></svg:g><svg:g transform="translate(146.027375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">u</svg:text></svg:g><svg:g transform="translate(155.360711, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(165.461625, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel4.mml b/libs/math/doc/sf_and_dist/equations/sbessel4.mml
deleted file mode 100644
index aed7dc2b91..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel4.mml
+++ /dev/null
@@ -1 +0,0 @@
-<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" ><mtable columnalign="left" class="align"> <mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >i</mi></mrow><mrow ><mi >n</mi></mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <msqrt><mrow> <mfrac> <mrow > <mi >&#x03C0;</mi></mrow><mrow ><mn>2</mn><mi >z</mi></mrow></mfrac></mrow></msqrt><msub><mrow ><mi >I</mi></mrow><mrow ><mi >n</mi><mo class="MathClass-bin">+</mo><mfrac><mrow ><mn>1</mn></mrow><mrow ><mn>2</mn></mrow></mfrac> </mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr><mtr><mtd columnalign="right" class="align-odd"><msub><mrow ><mi >k</mi></mrow><mrow ><mi >n</mi></mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow></mtd> <mtd class="align-even"> <mo class="MathClass-rel">=</mo> <msqrt><mrow> <mfrac> <mrow > <mi >&#x03C0;</mi></mrow><mrow ><mn>2</mn><mi >z</mi></mrow></mfrac></mrow></msqrt><msub><mrow ><mi >K</mi></mrow><mrow ><mi >n</mi><mo class="MathClass-bin">+</mo><mfrac><mrow ><mn>1</mn></mrow><mrow ><mn>2</mn></mrow></mfrac> </mrow></msub ><mrow ><mo class="MathClass-open">(</mo><mrow><mi >z</mi></mrow><mo class="MathClass-close">)</mo></mrow><mspace width="2em"/></mtd> <mtd columnalign="right" class="align-label"></mtd> <mtd class="align-label"> <mspace width="2em"/></mtd></mtr></mtable></math> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel4.png b/libs/math/doc/sf_and_dist/equations/sbessel4.png
deleted file mode 100644
index 1226e6d582..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel4.png
+++ /dev/null
Binary files differ
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel4.svg b/libs/math/doc/sf_and_dist/equations/sbessel4.svg
deleted file mode 100644
index 5c56793412..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="51.218729pt" width="167.616152pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.593740 167.616152 51.218729"><svg:metadata><svgmath:metrics top="51.2187292221" bottom="0.0" baseline="21.624989611" axis="25.609364611"/></svg:metadata><svg:g transform="translate(0.000000, -3.984375)"><svg:g transform="translate(2.542969, -12.171357)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(3.333984, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.593984, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.791641, -12.171357)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.580914, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.026250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(31.192344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.373047" font-family="Times New Roman" font-style="italic" fill="black">I</svg:text><svg:g transform="translate(5.296875, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(50.802246, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(63.856934, 0.000000)"/></svg:g><svg:g transform="translate(134.016152, -12.171357)"/><svg:g transform="translate(143.616152, -12.171357)"/><svg:g transform="translate(0.000000, 16.121602)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.876953, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(10.136953, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(32.791641, 16.121602)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(10.580914, -3.984375)"><svg:g transform="translate(10.451859, 0.000000)"><svg:g transform="translate(2.245840, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.026250" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.288184 L 3.659562 -1.288184 L 7.442447 5.717160 L 7.363276 6.237213 L 3.429162 -1.048184 L 3.069162 -1.048184 L 7.348904 6.877266 L 9.798539 -9.213633 L 20.131430 -9.213633" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(31.192344, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.324219" font-family="Times New Roman" font-style="italic" fill="black">K</svg:text><svg:g transform="translate(9.064453, 6.044458)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.480996, -2.828906)"><svg:g transform="translate(0.416016, -0.865962)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.416016, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="4.832031" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:g transform="translate(54.569824, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(67.624512, 0.000000)"/></svg:g><svg:g transform="translate(134.016152, 16.121602)"/><svg:g transform="translate(143.616152, 16.121602)"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/sbessel5.svg b/libs/math/doc/sf_and_dist/equations/sbessel5.svg
deleted file mode 100644
index 801c51c832..0000000000
--- a/libs/math/doc/sf_and_dist/equations/sbessel5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="38.696463pt" width="169.039361pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -22.288407 169.039361 38.696463"><svg:metadata><svgmath:metrics top="38.6964632812" bottom="0.0" baseline="16.4080558594" axis="20.3924308594"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(5.402344, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(9.183926, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.692383" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(9.058594, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(25.571949, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(36.152863, -3.984375)"><svg:g transform="translate(12.908203, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g><svg:g transform="translate(0.779297, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="7.558594" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -0.438984 L 4.200469 -0.438984 L 8.794429 8.068349 L 8.715400 8.588667 L 3.970069 -0.198984 L 3.610069 -0.198984 L 8.701172 9.228984 L 11.601563 -9.866953 L 21.773438 -9.866953" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(58.406301, -3.984375)"><svg:text font-size="28.751642" text-anchor="middle" y="6.865016" x="10.248388" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(3.629579, 20.292587)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.172637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.977617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(7.211474, -14.376845)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(79.489014, -3.984375)"><svg:g transform="translate(15.928862, -4.972500)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(25.599070, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.918750, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.911592" font-family="Times New Roman" font-style="italic" fill="black">z</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(14.595938, -2.799125)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(8.432637, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(13.237617, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 12.957055)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.210285, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.206379, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(19.602863, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g><svg:g transform="translate(26.644523, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(36.078765, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(44.745429, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(54.765609, -3.984375)"><svg:g transform="translate(0.585938, -1.599609)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(64.779515, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="89.550347" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb1.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb1.svg
deleted file mode 100644
index 48e9ae2517..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="32.715820pt" width="99.844785pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -19.645430 99.844785 32.715820"><svg:metadata><svgmath:metrics top="32.7158203125" bottom="0.0" baseline="13.070390625" axis="17.054765625"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text><svg:g transform="translate(19.326176, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.042973, 0.000000)"/><svg:g transform="translate(48.376309, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(58.477223, 0.000000)"/><svg:g transform="translate(70.477223, -3.984375)"><svg:text font-size="22.837057" text-anchor="middle" y="4.961924" x="8.140162" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.477672, 16.954922)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.103248, -11.733867)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(87.343484, -3.984375)"><svg:g transform="translate(1.258346, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.726563)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.501301" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb15.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb15.svg
deleted file mode 100644
index 56b021f767..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb15.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.238832pt" width="123.481230pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.514223 123.481230 26.238832"><svg:metadata><svgmath:metrics top="26.238832069" bottom="0.0" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.993164" font-family="Times New Roman" fill="black">atanh</svg:text><svg:g transform="translate(27.986332, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.703129, 0.000000)"/><svg:g transform="translate(57.036465, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.137379, 0.000000)"/><svg:g transform="translate(79.723317, -3.984375)"><svg:g transform="translate(0.585938, -5.072344)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text><svg:g transform="translate(15.333984, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(6.153331, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(12.851643, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="18.087991" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(23.255960, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(18.878956, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="43.757913" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb17.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb17.svg
deleted file mode 100644
index 88e5dbfb3b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb17.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="159.038504pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 159.038504 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">asinh</svg:text><svg:g transform="translate(27.330082, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.046879, 0.000000)"/><svg:g transform="translate(56.380215, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(66.481129, 0.000000)"/><svg:g transform="translate(78.481129, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(93.815114, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb18.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb18.svg
deleted file mode 100644
index c8df28f5b9..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb18.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="15.517978pt" width="161.030691pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -12.928135 161.030691 15.517978"><svg:metadata><svgmath:metrics top="15.5179783163" bottom="0.0" baseline="2.58984375" axis="6.57421875"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="13.661133" font-family="Times New Roman" fill="black">acosh</svg:text><svg:g transform="translate(29.322270, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.039067, 0.000000)"/><svg:g transform="translate(58.372403, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.473317, 0.000000)"/><svg:g transform="translate(80.473317, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.666992" font-family="Times New Roman" fill="black">log</svg:text></svg:g><svg:g transform="translate(95.807301, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(8.391273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.305516, 0.000000)"><svg:g transform="translate(9.053531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(5.724609, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(12.651273, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(22.085516, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -6.455742 L 3.044067 -6.455742 L 5.904200 -1.159199 L 5.824784 -0.639600 L 2.813667 -6.215742 L 2.453667 -6.215742 L 5.810168 0.000000 L 7.746891 -12.671484 L 38.445687 -12.671484" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g></svg:g><svg:g transform="translate(61.227297, -3.984375)"><svg:text font-size="17.049796" transform="scale(0.703821, 1)" text-anchor="middle" y="2.894526" x="2.838858" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb20.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb20.svg
deleted file mode 100644
index e8e824e56d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb20.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.262322pt" width="109.437824pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.718299 109.437824 27.262322"><svg:metadata><svgmath:metrics top="27.2623223936" bottom="0.0" baseline="8.5440234375" axis="12.5283984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="9.665039" font-family="Times New Roman" fill="black">sinc</svg:text><svg:g transform="translate(19.330078, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(23.590078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.306875, 0.000000)"/><svg:g transform="translate(52.640211, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.741125, 0.000000)"/><svg:g transform="translate(75.327063, -3.984375)"><svg:g transform="translate(0.585938, -4.161207)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text><svg:g transform="translate(14.003906, -3.984375)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.938887, 0.000000)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(12.169922, 7.064004)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="34.110762" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb22.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb22.svg
deleted file mode 100644
index b0068b889c..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb22.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.262322pt" width="121.437824pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.718299 121.437824 27.262322"><svg:metadata><svgmath:metrics top="27.2623223936" bottom="0.0" baseline="8.5440234375" axis="12.5283984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="12.665039" font-family="Times New Roman" fill="black">sinhc</svg:text><svg:g transform="translate(25.330078, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:g transform="translate(29.590078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(43.306875, 0.000000)"/><svg:g transform="translate(58.640211, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(68.741125, 0.000000)"/><svg:g transform="translate(81.327063, -3.984375)"><svg:g transform="translate(0.585938, -4.161207)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sinh</svg:text><svg:g transform="translate(20.003906, -3.984375)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(14.938887, 0.000000)"><svg:text font-size="14.461869" transform="scale(0.829768, 1)" text-anchor="middle" y="3.453054" x="2.407958" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(15.169922, 7.064004)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.134160" font-family="Times New Roman" font-style="italic" fill="black">Ï€</svg:text><svg:g transform="translate(4.534570, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(2.755459, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">a</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.770918" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="40.110762" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb5.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb5.svg
deleted file mode 100644
index a8c2892d0a..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.218763pt" width="158.526046pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494153 158.526046 22.218763"><svg:metadata><svgmath:metrics top="22.2187625873" bottom="0.0" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.998047" font-family="Times New Roman" fill="black">cosh</svg:text><svg:g transform="translate(23.996098, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.712895, 0.000000)"/><svg:g transform="translate(53.046231, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(63.147145, 0.000000)"/><svg:g transform="translate(75.733082, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text><svg:g transform="translate(17.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.709633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(43.143875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text></svg:g><svg:g transform="translate(60.470047, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.396482, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="82.792964" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb6.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb6.svg
deleted file mode 100644
index fa50ed50d4..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.218763pt" width="156.533859pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494153 156.533859 22.218763"><svg:metadata><svgmath:metrics top="22.2187625873" bottom="0.0" baseline="5.724609375" axis="9.708984375"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sinh</svg:text><svg:g transform="translate(22.003910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(35.720707, 0.000000)"/><svg:g transform="translate(51.054043, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.154957, 0.000000)"/><svg:g transform="translate(73.740895, -3.984375)"><svg:g transform="translate(0.585938, -4.166016)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text><svg:g transform="translate(17.326172, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(33.709633, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(43.143875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="8.663086" font-family="Times New Roman" fill="black">exp</svg:text></svg:g><svg:g transform="translate(60.470047, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g></svg:g><svg:g transform="translate(17.154948, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(38.396482, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="82.792964" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/special_functions_blurb7.svg b/libs/math/doc/sf_and_dist/equations/special_functions_blurb7.svg
deleted file mode 100644
index c4dfd31cd0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/special_functions_blurb7.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="25.019506pt" width="113.281914pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 113.281914 25.019506"><svg:metadata><svgmath:metrics top="25.0195060755" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.330078" font-family="Times New Roman" fill="black">tanh</svg:text><svg:g transform="translate(22.660160, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(36.376957, 0.000000)"/><svg:g transform="translate(51.710293, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(61.811207, 0.000000)"/><svg:g transform="translate(74.397145, -3.984375)"><svg:g transform="translate(1.582031, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.001953" font-family="Times New Roman" fill="black">sinh</svg:text><svg:g transform="translate(22.003910, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="10.998047" font-family="Times New Roman" fill="black">cosh</svg:text><svg:g transform="translate(23.996098, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.884770" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_0.svg b/libs/math/doc/sf_and_dist/equations/spherical_0.svg
deleted file mode 100644
index eb357c7948..0000000000
--- a/libs/math/doc/sf_and_dist/equations/spherical_0.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="234.912715pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 234.912715 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(14.156777, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(23.722652, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(41.875523, 0.000000)"/><svg:g transform="translate(57.208859, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(67.309773, 0.000000)"/><svg:g transform="translate(79.789773, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.443031, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(32.444656, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="41.260410" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 92.114035 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(172.383809, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(186.276914, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(216.353086, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, -6.734238)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">i</svg:text><svg:g transform="translate(2.367129, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(8.520000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.356729" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_1.svg b/libs/math/doc/sf_and_dist/equations/spherical_1.svg
deleted file mode 100644
index bd67f59893..0000000000
--- a/libs/math/doc/sf_and_dist/equations/spherical_1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="276.968321pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 276.968321 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.665039" font-family="Times New Roman" fill="black">Re</svg:text><svg:g transform="translate(13.330078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(14.156777, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(23.722652, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.871617, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(63.197789, 0.000000)"/><svg:g transform="translate(78.531125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.632039, 0.000000)"/><svg:g transform="translate(101.112039, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.443031, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(32.444656, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="41.260410" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 92.114035 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(193.706074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(207.599180, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(237.675352, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text></svg:g><svg:g transform="translate(253.671446, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(19.300781, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_2.svg b/libs/math/doc/sf_and_dist/equations/spherical_2.svg
deleted file mode 100644
index 0266a7d5be..0000000000
--- a/libs/math/doc/sf_and_dist/equations/spherical_2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="274.976133pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 274.976133 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="6.665039" font-family="Times New Roman" fill="black">Im</svg:text><svg:g transform="translate(13.330078, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(14.156777, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(23.722652, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(45.871617, -3.984375)"><svg:text font-size="15.188958" transform="scale(0.790048, 1)" text-anchor="middle" y="5.228672" x="2.529021" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(63.197789, 0.000000)"/><svg:g transform="translate(78.531125, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(88.632039, 0.000000)"/><svg:g transform="translate(101.112039, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(14.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(24.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(9.443031, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.272781" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(32.444656, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(30.763016, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.092441, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="41.260410" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 92.114035 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(193.706074, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(207.599180, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(237.675352, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(251.679258, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text><svg:g transform="translate(8.666016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.319336" font-family="Times New Roman" font-style="italic" fill="black">φ</svg:text></svg:g></svg:g><svg:g transform="translate(19.300781, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/spherical_3.svg b/libs/math/doc/sf_and_dist/equations/spherical_3.svg
deleted file mode 100644
index 541eb6a5da..0000000000
--- a/libs/math/doc/sf_and_dist/equations/spherical_3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="26.806147pt" width="382.157652pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.280769 382.157652 26.806147"><svg:metadata><svgmath:metrics top="26.8061467005" bottom="0.0" baseline="8.52537803773" axis="12.5097530377"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="31.989258" font-family="Times New Roman" fill="black">sph_legendre</svg:text><svg:g transform="translate(65.978520, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(3.568359, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(10.568355, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g><svg:g transform="translate(19.234371, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(26.234367, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(36.318351, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(106.292965, 0.000000)"/><svg:g transform="translate(121.626301, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(131.727215, 0.000000)"/><svg:g transform="translate(143.727215, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.336914" font-family="Times New Roman" font-style="italic" fill="black">Y</svg:text><svg:g transform="translate(8.003906, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(8.003906, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(157.883992, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text><svg:g transform="translate(6.087891, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.500000" font-family="Times New Roman" fill="black">,</svg:text></svg:g><svg:g transform="translate(13.087887, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(23.083980, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(184.964066, 0.000000)"/><svg:g transform="translate(200.297402, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(210.398316, 0.000000)"/><svg:g transform="translate(222.398316, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(250.457620, -3.984375)"><svg:g transform="translate(17.102329, 0.000000)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(12.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(21.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(8.227211, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">4</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="28.841141" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/><svg:g transform="translate(30.013016, 0.000000)"><svg:g transform="translate(0.585938, -4.165990)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(28.331375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.660801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text><svg:g transform="translate(6.235023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(15.669266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.333008" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(28.331375, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(33.660801, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="38.828769" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M 0.000000 -1.133320 L 5.458706 -1.133320 L 11.939612 10.868358 L 11.860789 11.389055 L 5.228306 -0.893320 L 4.868306 -0.893320 L 11.846766 12.029753 L 15.795688 -14.056394 L 87.250754 -14.056394" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/></svg:g><svg:g transform="translate(338.188375, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.952148" font-family="Times New Roman" font-style="italic" fill="black">P</svg:text><svg:g transform="translate(7.740234, 2.859082)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.183564" font-family="Times New Roman" font-style="italic" fill="black">l</svg:text></svg:g><svg:g transform="translate(7.740234, -5.522168)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.076436" font-family="Times New Roman" font-style="italic" fill="black">m</svg:text></svg:g></svg:g><svg:g transform="translate(352.081480, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.998047" font-family="Times New Roman" fill="black">cos</svg:text><svg:g transform="translate(15.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.947266" font-family="Times New Roman" font-style="italic" fill="black">θ</svg:text></svg:g></svg:g><svg:g transform="translate(26.080078, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/students_t_dist.svg b/libs/math/doc/sf_and_dist/equations/students_t_dist.svg
deleted file mode 100644
index d5d07fecbf..0000000000
--- a/libs/math/doc/sf_and_dist/equations/students_t_dist.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="27.859579pt" width="73.025391pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.119141 73.025391 27.859579"><svg:metadata><svgmath:metrics top="27.8595785156" bottom="0.0" baseline="11.7404378906" axis="15.7248128906"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.666992" font-family="Times New Roman" font-style="italic" fill="black">t</svg:text><svg:g transform="translate(3.597656, 0.000000)"/><svg:g transform="translate(18.930992, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(29.031906, 0.000000)"/><svg:g transform="translate(41.617844, -3.984375)"><svg:g transform="translate(0.585938, -4.189453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.644531" font-family="Times New Roman" font-style="italic" fill="black">μ</svg:text><svg:g transform="translate(9.322914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.757156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="5.390625" font-family="Times New Roman" font-style="italic" fill="black">M</svg:text></svg:g></svg:g><svg:g transform="translate(9.274372, 7.064004)"><svg:g transform="translate(4.732057, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(0.585938, 8.320009)"><svg:g transform="translate(4.496097, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.078516" font-family="Times New Roman" font-style="italic" fill="black">N</svg:text></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -3.360200 L 1.720872 -3.360200 L 3.091552 -0.821903 L 3.034862 -0.453552 L 1.557288 -3.189800 L 1.301688 -3.189800 L 3.024180 0.000000 L 4.032240 -6.550000 L 11.686927 -6.550000" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.340800" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="12.858802" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="31.407547" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/students_t_ref1.svg b/libs/math/doc/sf_and_dist/equations/students_t_ref1.svg
deleted file mode 100644
index b3cd54704d..0000000000
--- a/libs/math/doc/sf_and_dist/equations/students_t_ref1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="39.020572pt" width="151.690719pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -20.482184 151.690719 39.020572"><svg:metadata><svgmath:metrics top="39.0205716045" bottom="0.0" baseline="18.5383880485" axis="22.5227630485"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="1.998047" font-family="Times New Roman" fill="black">f</svg:text><svg:g transform="translate(7.214848, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.061523" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text></svg:g><svg:g transform="translate(9.720703, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(20.931645, 0.000000)"/><svg:g transform="translate(36.264981, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(46.365895, 0.000000)"/><svg:g transform="translate(58.951832, -3.984375)"><svg:g transform="translate(28.686620, -5.040305)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text><svg:g transform="translate(8.396484, -3.984375)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.674913, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(12.373225, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(6.772550, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="17.805100" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(22.973069, 0.000000)"><svg:text font-size="16.404039" transform="scale(0.731527, 1)" text-anchor="middle" y="3.916785" x="2.731337" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(0.585938, 19.149872)"><svg:g transform="translate(6.332531, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(5.326172, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text></svg:g></svg:g><svg:path stroke-linejoin="miter" d="M -0.000000 -4.732676 L 2.423763 -4.732676 L 4.354299 -1.157610 L 4.274453 -0.638805 L 2.193363 -4.492676 L 1.833363 -4.492676 L 4.259408 0.000000 L 5.679211 -9.225352 L 18.698742 -9.225352" stroke="black" stroke-linecap="butt" stroke-miterlimit="10" stroke-width="0.480000" fill="none"/><svg:g transform="translate(19.178742, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(27.575227, -3.984375)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(4.582031, 0.000000)"><svg:g transform="translate(0.825146, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:g transform="translate(0.585938, 7.357266)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="5.431875" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g><svg:g transform="translate(10.599844, 0.000000)"><svg:text font-size="16.184404" transform="scale(0.741455, 1)" text-anchor="middle" y="3.864343" x="2.694766" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(42.171164, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(18.686844, -3.984375)"><svg:g transform="translate(0.585938, -1.699453)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.173682" font-family="Times New Roman" font-style="italic" fill="black">x</svg:text><svg:g transform="translate(4.064473, -3.810703)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g></svg:g><svg:g transform="translate(2.727383, 5.364551)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="9.236348" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(32.505223, -3.984375)"><svg:text font-size="19.237809" transform="scale(0.623772, 1)" text-anchor="middle" y="2.422309" x="3.203170" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(36.501316, -11.184301)"><svg:g transform="translate(0.416016, -0.959712)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="1.775391" font-family="Times New Roman" font-style="italic" fill="black">ν</svg:text><svg:g transform="translate(3.550781, -2.656250)"><svg:text font-size="8.000000" text-anchor="middle" y="2.656250" x="2.255859" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(8.062500, 0.000000)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(4.447266, 6.272212)"><svg:text font-size="8.000000" text-anchor="middle" y="0.000000" x="2.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line y2="0.000000" stroke-width="0.416016" x2="12.894531" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:g></svg:g><svg:line y2="0.000000" stroke-width="0.585938" x2="92.738887" stroke="black" stroke-linecap="butt" stroke-dasharray="none" y1="0.000000" x1="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta1.svg b/libs/math/doc/sf_and_dist/equations/zeta1.svg
deleted file mode 100644
index c13aaf628f..0000000000
--- a/libs/math/doc/sf_and_dist/equations/zeta1.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="33.233965pt" width="84.139631pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.482051 84.139631 33.233965"><svg:metadata><svgmath:metrics top="33.2339648438" axis="18.7362890625" baseline="14.7519140625" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(19.136719, 0.000000)"/><svg:g transform="translate(34.470055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.570969, 0.000000)"/><svg:g transform="translate(56.570969, -3.984375)"><svg:text font-size="23.233083" text-anchor="middle" y="6.399891" x="8.281323" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(1.670835, 18.636445)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(5.244409, -10.570488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(73.719553, -3.984375)"><svg:g transform="translate(2.210039, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 11.273438)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(5.853516, -5.908887)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="10.420078" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta2.svg b/libs/math/doc/sf_and_dist/equations/zeta2.svg
deleted file mode 100644
index ffcdb60bb1..0000000000
--- a/libs/math/doc/sf_and_dist/equations/zeta2.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="34.927090pt" width="232.045174pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -18.864785 232.045174 34.927090"><svg:metadata><svgmath:metrics top="34.9270898437" axis="20.0466796875" baseline="16.0623046875" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(19.136719, 0.000000)"/><svg:g transform="translate(34.470055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.570969, 0.000000)"/><svg:g transform="translate(57.156906, -3.984375)"><svg:g transform="translate(15.866225, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="37.732449" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(95.475293, -3.984375)"><svg:text font-size="24.674372" text-anchor="middle" y="7.399223" x="8.795064" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.132574, 19.788750)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(5.758150, -10.570488)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="3.036914" font-family="Times New Roman" font-style="italic" fill="black">∞</svg:text></svg:g></svg:g><svg:g transform="translate(113.651359, -3.984375)"><svg:g transform="translate(7.248428, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.724453)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="20.496855" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(134.734152, -3.984375)"><svg:text font-size="24.674372" text-anchor="middle" y="7.399223" x="8.795064" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.184576, 19.946836)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(6.665064, -11.115469)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(152.324280, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(177.906709, -3.984375)"><svg:text font-size="21.209452" transform="scale(0.565785, 1)" text-anchor="middle" y="5.064171" x="3.531457" font-family="Times New Roman" fill="black">(</svg:text><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -4.338867)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(0.073242, 9.500977)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(9.996094, 0.000000)"><svg:text font-size="21.209452" transform="scale(0.565785, 1)" text-anchor="middle" y="5.064171" x="3.531457" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(191.898896, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(8.520180, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.954422, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.946609, -5.920618)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta3.svg b/libs/math/doc/sf_and_dist/equations/zeta3.svg
deleted file mode 100644
index bac64d66d3..0000000000
--- a/libs/math/doc/sf_and_dist/equations/zeta3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.579602pt" width="203.165808pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.854993 203.165808 19.579602"><svg:metadata><svgmath:metrics top="19.5796019066" axis="9.708984375" baseline="5.724609375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(26.878250, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(37.237625, 0.000000)"/><svg:g transform="translate(52.570961, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(62.671875, 0.000000)"/><svg:g transform="translate(74.671875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:g transform="translate(80.671875, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="7.001953" font-family="Times New Roman" fill="black">sin</svg:text></svg:g><svg:g transform="translate(94.675781, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.972656, -3.984375)"><svg:g transform="translate(0.585938, -1.740234)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(9.027016, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="24.054031" y2="0.000000" fill="none"/></svg:g></svg:g><svg:g transform="translate(35.608719, -3.984375)"><svg:text font-size="21.512352" transform="scale(0.557819, 1)" text-anchor="middle" y="5.066182" x="3.581891" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(134.280594, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.005859" font-family="Times New Roman" font-style="italic" fill="black">π</svg:text><svg:g transform="translate(6.386719, -5.367188)"><svg:g transform="translate(0.000000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(4.804980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(24.582480, -3.984375)"><svg:text font-size="12.892911" transform="scale(0.930744, 1)" text-anchor="middle" y="3.791667" x="2.146720" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(162.859168, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.846680" font-family="Times New Roman" font-style="italic" fill="black">Γ</svg:text></svg:g><svg:g transform="translate(171.255652, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(184.029090, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text></svg:g><svg:g transform="translate(190.392371, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta4.svg b/libs/math/doc/sf_and_dist/equations/zeta4.svg
deleted file mode 100644
index 76829bcb5b..0000000000
--- a/libs/math/doc/sf_and_dist/equations/zeta4.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="22.359362pt" width="108.981109pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -16.494128 108.981109 22.359362"><svg:metadata><svgmath:metrics top="22.3593624127" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.434570" font-family="Times New Roman" font-style="italic" fill="black">ς</svg:text><svg:g transform="translate(5.109375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.216148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.903000, -3.984375)"><svg:g transform="translate(0.585938, -4.165990)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text><svg:g transform="translate(11.110023, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(20.544266, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(28.149734, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(26.878250, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(61.690742, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(71.124984, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:g transform="translate(27.097976, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="77.078109" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta5.svg b/libs/math/doc/sf_and_dist/equations/zeta5.svg
deleted file mode 100644
index d34e595347..0000000000
--- a/libs/math/doc/sf_and_dist/equations/zeta5.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="19.558594pt" width="127.082015pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -13.693359 127.082015 19.558594"><svg:metadata><svgmath:metrics top="19.55859375" axis="9.849609375" baseline="5.865234375" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.434570" font-family="Times New Roman" font-style="italic" fill="black">ς</svg:text><svg:g transform="translate(5.109375, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(21.216148, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(31.317063, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="4.001953" font-family="Times New Roman" font-style="italic" fill="black">C</svg:text></svg:g><svg:g transform="translate(42.427086, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(51.861328, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.940430" font-family="Times New Roman" font-style="italic" fill="black">R</svg:text></svg:g><svg:g transform="translate(59.466797, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(7.447914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.882156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(26.878250, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(93.007804, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(103.027984, -3.984375)"><svg:g transform="translate(9.027016, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 9.708984)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(7.447914, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(16.882156, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="24.054031" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/equations/zeta6.svg b/libs/math/doc/sf_and_dist/equations/zeta6.svg
deleted file mode 100644
index 0ec0db7dd0..0000000000
--- a/libs/math/doc/sf_and_dist/equations/zeta6.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg:svg xmlns="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg" height="54.347624pt" width="580.964075pt" xmlns:svgmath="http://www.grigoriev.ru/svgmath" viewBox="0 -29.596934 580.964075 54.347624"><svg:metadata><svgmath:metrics top="54.3476241315" axis="28.7350655377" baseline="24.7506905377" bottom="0.0"/></svg:metadata><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.428711" font-family="Times New Roman" font-style="italic" fill="black">ζ</svg:text><svg:g transform="translate(6.363281, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(19.136719, 0.000000)"/><svg:g transform="translate(34.470055, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(44.570969, 0.000000)"/><svg:g transform="translate(57.156906, -3.984375)"><svg:g transform="translate(20.665821, -1.599609)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 12.739184)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text><svg:g transform="translate(4.781250, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(9.041250, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g></svg:g><svg:g transform="translate(40.556668, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="2.511659" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="54.765887" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(112.508730, -3.984375)"><svg:text font-size="42.104326" text-anchor="middle" y="10.745011" x="15.007889" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(8.557567, 26.896276)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(6.215399, -19.854902)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(4.260000, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(8.520000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(13.324980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(143.110447, -3.984375)"><svg:g transform="translate(13.450082, -6.121992)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 11.285169)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.706055" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(8.069008, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(17.503250, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(27.499344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(31.495437, -5.920618)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="36.062000" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(179.758384, 0.000000)"/><svg:g transform="translate(194.425048, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">+</svg:text></svg:g><svg:g transform="translate(203.859290, 0.000000)"/><svg:g transform="translate(215.859290, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text></svg:g><svg:g transform="translate(220.587806, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(233.361244, 0.000000)"/><svg:g transform="translate(245.361244, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.666992" font-family="Times New Roman" fill="black">;</svg:text></svg:g><svg:g transform="translate(252.028564, 0.000000)"/><svg:g transform="translate(264.028564, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">e</svg:text><svg:g transform="translate(5.326172, 2.683594)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(276.523736, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(286.624650, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(7.434245, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g></svg:g><svg:g transform="translate(17.430339, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">)</svg:text></svg:g><svg:g transform="translate(21.426433, -6.750879)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text></svg:g></svg:g><svg:g transform="translate(311.886747, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="7.010535" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="24.638010" text-anchor="middle" y="7.192370" x="8.782103" font-family="Times New Roman" fill="black">∑</svg:text><svg:g transform="translate(2.171615, 19.732136)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.890791" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(4.155996, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(8.960977, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">0</svg:text></svg:g></svg:g><svg:g transform="translate(2.331781, -13.036055)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.631299" font-family="Times New Roman" font-style="italic" fill="black">j</svg:text><svg:g transform="translate(3.835664, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(8.640645, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(18.150144, -3.984375)"><svg:g transform="translate(19.150713, -1.763672)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(7.333332, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:g transform="translate(0.585938, 9.943372)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text><svg:g transform="translate(7.186848, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g><svg:g transform="translate(11.182941, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text><svg:g transform="translate(8.666664, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(18.100906, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.663086" font-family="Times New Roman" font-style="italic" fill="black">k</svg:text></svg:g></svg:g><svg:g transform="translate(27.950516, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(44.462883, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="1.998047" font-family="Times New Roman" fill="black">!</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="49.630851" y2="0.000000" fill="none"/></svg:g><svg:g transform="translate(71.033597, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(80.467839, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.686230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(94.723932, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="7.010535" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(410.606773, 0.000000)"/><svg:g transform="translate(425.940109, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.468750" x="4.769531" font-family="Lucida Sans Unicode" fill="black">∧</svg:text></svg:g><svg:g transform="translate(438.812508, 0.000000)"/><svg:g transform="translate(454.145844, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="4.214544" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(459.881523, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.364258" font-family="Times New Roman" font-style="italic" fill="black">γ</svg:text><svg:g transform="translate(4.728516, 3.831797)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g></svg:g><svg:g transform="translate(468.870039, 0.000000)"><svg:g transform="translate(0.000000, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">(</svg:text></svg:g><svg:g transform="translate(3.996094, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="2.446289" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g><svg:g transform="translate(8.777344, -3.984375)"><svg:text font-size="12.012889" transform="scale(0.998927, 1)" text-anchor="middle" y="3.981593" x="2.000193" font-family="Times New Roman" fill="black">)</svg:text></svg:g></svg:g><svg:g transform="translate(484.976812, -3.984375)"><svg:text font-size="42.104326" transform="scale(0.285006, 1)" text-anchor="middle" y="10.745011" x="4.214544" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(494.045828, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">&lt;</svg:text></svg:g><svg:g transform="translate(507.480078, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">=</svg:text></svg:g><svg:g transform="translate(518.166930, -3.984375)"><svg:g transform="translate(28.398572, -1.599609)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(0.585938, 12.739184)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">8</svg:text><svg:g transform="translate(6.000000, -5.686230)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" font-style="italic" fill="black">n</svg:text></svg:g><svg:g transform="translate(13.593336, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="1.509941" font-family="Times New Roman" fill="black">|</svg:text></svg:g><svg:g transform="translate(19.329016, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">1</svg:text></svg:g><svg:g transform="translate(27.995680, -3.984375)"><svg:text font-size="12.000000" text-anchor="middle" y="3.984375" x="3.383789" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(37.429922, 0.000000)"><svg:text font-size="12.000000" text-anchor="middle" y="0.000000" x="3.000000" font-family="Times New Roman" fill="black">2</svg:text><svg:g transform="translate(6.000000, -5.367188)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="2.130000" font-family="Times New Roman" fill="black">1</svg:text><svg:g transform="translate(4.260000, -2.828906)"><svg:text font-size="8.520000" text-anchor="middle" y="2.828906" x="2.402490" font-family="Times New Roman" fill="black">−</svg:text></svg:g><svg:g transform="translate(9.064980, 0.000000)"><svg:text font-size="8.520000" text-anchor="middle" y="0.000000" x="1.736865" font-family="Times New Roman" font-style="italic" fill="black">s</svg:text></svg:g></svg:g></svg:g><svg:g transform="translate(59.222926, -3.984375)"><svg:text font-size="15.084683" transform="scale(0.795509, 1)" text-anchor="middle" y="3.318638" x="1.509941" font-family="Times New Roman" fill="black">|</svg:text></svg:g></svg:g><svg:line stroke-width="0.585938" x1="0.000000" y1="0.000000" stroke="black" stroke-linecap="butt" stroke-dasharray="none" x2="62.797145" y2="0.000000" fill="none"/></svg:g></svg:svg> \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/erf.qbk b/libs/math/doc/sf_and_dist/erf.qbk
deleted file mode 100644
index d5f1204624..0000000000
--- a/libs/math/doc/sf_and_dist/erf.qbk
+++ /dev/null
@@ -1,214 +0,0 @@
-[section:error_function Error Functions]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/erf.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` erf(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erf(T z, const ``__Policy``&);
-
- template <class T>
- ``__sf_result`` erfc(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erfc(T z, const ``__Policy``&);
-
- }} // namespaces
-
-The return type of these functions is computed using the __arg_pomotion_rules:
-the return type is `double` if T is an integer type, and T otherwise.
-
-[optional_policy]
-
-[h4 Description]
-
- template <class T>
- ``__sf_result`` erf(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erf(T z, const ``__Policy``&);
-
-Returns the [@http://en.wikipedia.org/wiki/Error_function error function]
-[@http://functions.wolfram.com/GammaBetaErf/Erf/ erf] of z:
-
-[equation erf1]
-
-[graph erf]
-
- template <class T>
- ``__sf_result`` erfc(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erfc(T z, const ``__Policy``&);
-
-Returns the complement of the [@http://functions.wolfram.com/GammaBetaErf/Erfc/ error function] of z:
-
-[equation erf2]
-
-[graph erfc]
-
-[h4 Accuracy]
-
-The following table shows the peak errors (in units of epsilon)
-found on various platforms with various floating point types,
-along with comparisons to the __gsl, __glibc, __hpc and __cephes libraries.
-Unless otherwise specified any floating point type that is narrower
-than the one shown will have __zero_error.
-
-[table Errors In the Function erf(z)
-[[Significand Size] [Platform and Compiler] [z < 0.5] [0.5 < z < 8] [z > 8]]
-[[53] [Win32, Visual C++ 8] [Peak=0 Mean=0
-
-GSL Peak=2.0 Mean=0.3
-
-__cephes Peak=1.1 Mean=0.7] [Peak=0.9 Mean=0.09
-
-GSL Peak=2.3 Mean=0.3
-
-__cephes Peak=1.3 Mean=0.2] [Peak=0 Mean=0
-
-GSL Peak=0 Mean=0
-
-__cephes Peak=0 Mean=0]]
-[[64] [RedHat Linux IA32, gcc-3.3] [Peak=0.7 Mean=0.07
-
-__glibc Peak=0.9 Mean=0.2] [Peak=0.9 Mean=0.2
-
-__glibc Peak=0.9 Mean=0.07] [Peak=0 Mean=0
-
-__glibc Peak=0 Mean=0]]
-[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=0.7 Mean=0.07
-
-__glibc Peak=0 Mean=0] [Peak=0.9 Mean=0.1
-
-__glibc Peak=0.5 Mean=0.03] [Peak=0 Mean=0
-
-__glibc Peak=0 Mean=0]]
-[[113] [HPUX IA64, aCC A.06.06] [Peak=0.8 Mean=0.1
-
-__hpc Lib Peak=0.9 Mean=0.2] [Peak=0.9 Mean=0.1
-
-__hpc Lib Peak=0.5 Mean=0.02] [Peak=0 Mean=0
-
-__hpc Lib Peak=0 Mean=0]]
-]
-
-[table Errors In the Function erfc(z)
-[[Significand Size] [Platform and Compiler] [z < 0.5] [0.5 < z < 8] [z > 8]]
-[[53] [Win32, Visual C++ 8] [Peak=0.7 Mean=0.06
-
-GSL Peak=1.0 Mean=0.4
-
-__cephes Peak=0.7 Mean=0.06] [Peak=0.99 Mean=0.3
-
-GSL Peak=2.6 Mean=0.6
-
-__cephes Peak=3.6 Mean=0.7] [Peak=1.0 Mean=0.2
-
-GSL Peak=3.9 Mean=0.4
-
-__cephes Peak=2.7 Mean=0.4]]
-[[64] [RedHat Linux IA32, gcc-3.3] [Peak=0 Mean=0
-
-__glibc Peak=0 Mean=0] [Peak=1.4 Mean=0.3
-
-__glibc Peak=1.3 Mean=0.3] [Peak=1.6 Mean=0.4
-
-__glibc Peak=1.3 Mean=0.4]]
-[[64] [Redhat Linux IA64, gcc-3.4.4] [Peak=0 Mean=0
-
-__glibc Peak=0 Mean=0] [Peak=1.4 Mean=0.3
-
-__glibc Peak=0 Mean=0] [Peak=1.5 Mean=0.4
-
-__glibc Peak=0 Mean=0] ]
-[[113] [HPUX IA64, aCC A.06.06] [Peak=0 Mean=0
-
-__hpc Peak=0 Mean=0] [Peak=1.5 Mean=0.3
-
-__hpc Peak=0.9 Mean=0.08] [Peak=1.6 Mean=0.4
-
-__hpc Peak=0.9 Mean=0.1]]
-]
-
-[h4 Testing]
-
-The tests for these functions come in two parts:
-basic sanity checks use spot values calculated using
-[@http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Erf Mathworld's online evaluator],
-while accuracy checks use high-precision test values calculated at 1000-bit precision with
-[@http://shoup.net/ntl/doc/RR.txt NTL::RR] and this implementation.
-Note that the generic and type-specific
-versions of these functions use differing implementations internally, so this
-gives us reasonably independent test data. Using our test data to test other
-"known good" implementations also provides an additional sanity check.
-
-[h4 Implementation]
-
-All versions of these functions first use the usual reflection formulas
-to make their arguments positive:
-
- erf(-z) = 1 - erf(z);
-
- erfc(-z) = 2 - erfc(z); // preferred when -z < -0.5
-
- erfc(-z) = 1 + erf(z); // preferred when -0.5 <= -z < 0
-
-The generic versions of these functions are implemented in terms of
-the incomplete gamma function.
-
-When the significand (mantissa) size is recognised
-(currently for 53, 64 and 113-bit reals, plus single-precision 24-bit handled via promotion to double)
-then a series of rational approximations [jm_rationals] are used.
-
-For `z <= 0.5` then a rational approximation to erf is used, based on the
-observation that erf is an odd function and therefore erf is calculated using:
-
- erf(z) = z * (C + R(z*z));
-
-where the rational approximation R(z*z) is optimised for absolute error:
-as long as its absolute error is small enough compared to the constant C, then any
-round-off error incurred during the computation of R(z*z) will effectively
-disappear from the result. As a result the error for erf and erfc in this
-region is very low: the last bit is incorrect in only a very small number of
-cases.
-
-For `z > 0.5` we observe that over a small interval [a, b) then:
-
- erfc(z) * exp(z*z) * z ~ c
-
-for some constant c.
-
-Therefore for `z > 0.5` we calculate erfc using:
-
- erfc(z) = exp(-z*z) * (C + R(z - B)) / z;
-
-Again R(z - B) is optimised for absolute error, and the constant `C` is
-the average of `erfc(z) * exp(z*z) * z` taken at the endpoints of the range.
-Once again, as long as the absolute error in R(z - B) is small
-compared to `c` then `c + R(z - B)` will be correctly rounded, and the error
-in the result will depend only on the accuracy of the exp function. In practice,
-in all but a very small number of cases, the error is confined to the last bit
-of the result. The constant `B` is chosen so that the left hand end of the range
-of the rational approximation is 0.
-
-For large `z` over a range \[a, +[infin]\] the above approximation is modified to:
-
- erfc(z) = exp(-z*z) * (C + R(1 / z)) / z;
-
-[endsect]
-[/ :error_function The Error Functions]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/erf_inv.qbk b/libs/math/doc/sf_and_dist/erf_inv.qbk
deleted file mode 100644
index 79d3ddca5a..0000000000
--- a/libs/math/doc/sf_and_dist/erf_inv.qbk
+++ /dev/null
@@ -1,132 +0,0 @@
-[section:error_inv Error Function Inverses]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/erf.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` erf_inv(T p);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erf_inv(T p, const ``__Policy``&);
-
- template <class T>
- ``__sf_result`` erfc_inv(T p);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erfc_inv(T p, const ``__Policy``&);
-
- }} // namespaces
-
-The return type of these functions is computed using the __arg_pomotion_rules:
-the return type is `double` if T is an integer type, and T otherwise.
-
-[optional_policy]
-
-[h4 Description]
-
- template <class T>
- ``__sf_result`` erf_inv(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erf_inv(T z, const ``__Policy``&);
-
-Returns the [@http://functions.wolfram.com/GammaBetaErf/InverseErf/ inverse error function]
-of z, that is a value x such that:
-
- p = erf(x);
-
-[graph erf_inv]
-
- template <class T>
- ``__sf_result`` erfc_inv(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` erfc_inv(T z, const ``__Policy``&);
-
-Returns the inverse of the complement of the error function of z, that is a
-value x such that:
-
- p = erfc(x);
-
-[graph erfc_inv]
-
-[h4 Accuracy]
-
-For types up to and including 80-bit long doubles the approximations used
-are accurate to less than ~ 2 epsilon. For higher precision types these
-functions have the same accuracy as the
-[link math_toolkit.special.sf_erf.error_function forward error functions].
-
-[h4 Testing]
-
-There are two sets of tests:
-
-* Basic sanity checks attempt to "round-trip" from
-/x/ to /p/ and back again. These tests have quite
-generous tolerances: in general both the error functions and their
-inverses change so rapidly in some places that round tripping to more than a couple
-of significant digits isn't possible. This is especially true when
-/p/ is very near one: in this case there isn't enough
-"information content" in the input to the inverse function to get
-back where you started.
-* Accuracy checks using high-precision test values. These measure
-the accuracy of the result, given /exact/ input values.
-
-[h4 Implementation]
-
-These functions use a rational approximation [jm_rationals]
-to calculate an initial
-approximation to the result that is accurate to ~10[super -19],
-then only if that has insufficient accuracy compared to the epsilon for T,
-do we clean up the result using
-[@http://en.wikipedia.org/wiki/Simple_rational_approximation Halley iteration].
-
-Constructing rational approximations to the erf/erfc functions is actually
-surprisingly hard, especially at high precision. For this reason no attempt
-has been made to achieve 10[super -34 ] accuracy suitable for use with 128-bit
-reals.
-
-In the following discussion, /p/ is the value passed to erf_inv, and /q/ is
-the value passed to erfc_inv, so that /p = 1 - q/ and /q = 1 - p/ and in both
-cases we want to solve for the same result /x/.
-
-For /p < 0.5/ the inverse erf function is reasonably smooth and the approximation:
-
- x = p(p + 10)(Y + R(p))
-
-Gives a good result for a constant Y, and R(p) optimised for low absolute error
-compared to |Y|.
-
-For q < 0.5 things get trickier, over the interval /0.5 > q > 0.25/
-the following approximation works well:
-
- x = sqrt(-2log(q)) / (Y + R(q))
-
-While for q < 0.25, let
-
- z = sqrt(-log(q))
-
-Then the result is given by:
-
- x = z(Y + R(z - B))
-
-As before Y is a constant and the rational function R is optimised for low
-absolute error compared to |Y|. B is also a constant: it is the smallest value
-of /z/ for which each approximation is valid. There are several approximations
-of this form each of which reaches a little further into the tail of the erfc
-function (at `long double` precision the extended exponent range compared to
-`double` means that the tail goes on for a very long way indeed).
-
-[endsect][/ :error_inv The Error Function Inverses]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/error.qbk b/libs/math/doc/sf_and_dist/error.qbk
deleted file mode 100644
index 6bdc2d35ad..0000000000
--- a/libs/math/doc/sf_and_dist/error.qbk
+++ /dev/null
@@ -1,71 +0,0 @@
-[section:relative_error Relative Error]
-
-Given an actual value /a/ and a found value /v/ the relative error can be
-calculated from:
-
-[equation error2]
-
-However the test programs in the library use the symmetrical form:
-
-[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"
-result, and which is the experimental one. It guarantees to return a value
-at least as large as the relative error.
-
-Special care needs to be taken when one value is zero: we could either take the
-absolute error in this case (but that's cheating as the absolute error is likely
-to be very small), or we could assign a value of either 1 or infinity to the
-relative error in this special case. In the test cases for the special functions
-in this library, everything below a threshold is regarded as "effectively zero",
-otherwise the relative error is assigned the value of 1 if only one of the terms
-is zero. The threshold is currently set at `std::numeric_limits<>::min()`:
-in other words all denormalised numbers are regarded as a zero.
-
-All the test programs calculate /quantized relative error/, whereas the graphs
-in this manual are produced with the /actual error/. The difference is as
-follows: in the test programs, the test data is rounded to the target real type
-under test when the program is compiled,
-so the error observed will then be a whole number of /units in the last place/
-either rounded up from the actual error, or rounded down (possibly to zero).
-In contrast the /true error/ is obtained by extending
-the precision of the calculated value, and then comparing to the actual value:
-in this case the calculated error may be some fraction of /units in the last place/.
-
-Note that throughout this manual and the test programs the relative error is
-usually quoted in units of epsilon. However, remember that /units in the last place/
-more accurately reflect the number of contaminated digits, and that relative
-error can /"wobble"/ by a factor of 2 compared to /units in the last place/.
-In other words: two implementations of the same function, whose
-maximum relative errors differ by a factor of 2, can actually be accurate
-to the same number of binary digits. You have been warned!
-
-[#zero_error][h4 The Impossibility of Zero Error]
-
-For many of the functions in this library, it is assumed that the error is
-"effectively zero" if the computation can be done with a number of guard
-digits. However it should be remembered that if the result is a
-/transcendental number/
-then as a point of principle we can never be sure that the result is accurate
-to more than 1 ulp. This is an example of /the table makers dilemma/: consider what
-happens if the first guard digit is a one, and the remaining guard digits are all zero.
-Do we have a tie or not? Since the only thing we can tell about a transcendental number
-is that its digits have no particular pattern, we can never tell if we have a tie,
-no matter how many guard digits we have. Therefore, we can never be completely sure
-that the result has been rounded in the right direction. Of course, transcendental
-numbers that just happen to be a tie - for however many guard digits we have - are
-extremely rare, and get rarer the more guard digits we have, but even so....
-
-Refer to the classic text
-[@http://docs.sun.com/source/806-3568/ncg_goldberg.html What Every Computer Scientist Should Know About Floating-Point Arithmetic]
-for more information.
-
-[endsect][/section:relative_error Relative Error]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/error_handling.qbk b/libs/math/doc/sf_and_dist/error_handling.qbk
deleted file mode 100644
index 73f1a653a6..0000000000
--- a/libs/math/doc/sf_and_dist/error_handling.qbk
+++ /dev/null
@@ -1,398 +0,0 @@
-[section:error_handling Error Handling]
-
-[def __format [@../../../../format/index.html Boost.Format]]
-
-[heading Quick Reference]
-
-Handling of errors by this library is split into two orthogonal parts:
-
-* What kind of error has been raised?
-* What should be done when the error is raised?
-
-The kinds of errors that can be raised are:
-
-[variablelist
-[[Domain Error][Occurs when one or more arguments to a function
- are out of range.]]
-[[Pole Error][Occurs when the particular arguments cause the function to be
- evaluated at a pole with no well defined residual value. For example if
- __tgamma is evaluated at exactly -2, the function approaches different limiting
- values depending upon whether you approach from just above or just below
- -2. Hence the function has no well defined value at this point and a
- Pole Error will be raised.]]
-[[Overflow Error][Occurs when the result is either infinite, or too large
- to represent in the numeric type being returned by the function.]]
-[[Underflow Error][Occurs when the result is not zero, but is too small
- to be represented by any other value in the type being returned by
- the function.]]
-[[Denormalisation Error][Occurs when the returned result would be a denormalised value.]]
-[[Rounding Error][Occurs when the argument to one of the rounding functions __trunc,
- __round and __modf can not be represented as an integer type, is
- outside the range of the result type.]]
-[[Evaluation Error][Occurs if no method of evaluation is known,
- or when an internal error occurred that prevented the
- result from being evaluated: this should never occur, but if it does, then
- it's likely to be due to an iterative method not converging fast enough.]]
-[[Indeterminate Result Error][Occurs when the result of a function is not
- defined for the values that were passed to it.]]
-]
-
-The action undertaken by each error condition is determined by the current
-__Policy in effect. This can be changed program-wide by setting some
-configuration macros, or at namespace scope, or at the call site (by
-specifying a specific policy in the function call).
-
-The available actions are:
-
-[variablelist
-[[throw_on_error][Throws the exception most appropriate to the error condition.]]
-[[errno_on_error][Sets ::errno to an appropriate value, and then returns the most
-appropriate result]]
-[[ignore_error][Ignores the error and simply the returns the most appropriate result.]]
-[[user_error][Calls a
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol user-supplied error handler].]]
-]
-
-The following tables show all the permutations of errors and actions,
-with the *default action for each error shown in bold*:
-
-[table Possible Actions for Domain Errors
-[[Action] [Behaviour]]
-[[throw_on_error][[*Throws `std::domain_error`]]]
-[[errno_on_error][Sets `::errno` to `EDOM` and returns `std::numeric_limits<T>::quiet_NaN()`]]
-[[ignore_error][Returns `std::numeric_limits<T>::quiet_NaN()`]]
-[[user_error][Returns the result of `boost::math::policies::user_domain_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-[table Possible Actions for Pole Errors
-[[Action] [Behaviour]]
-[[throw_on_error] [[*Throws `std::domain_error`]]]
-[[errno_on_error][Sets `::errno` to `EDOM` and returns `std::numeric_limits<T>::quiet_NaN()`]]
-[[ignore_error][Returns `std::numeric_limits<T>::quiet_NaN()`]]
-[[user_error][Returns the result of `boost::math::policies::user_pole_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-[table Possible Actions for Overflow Errors
-[[Action] [Behaviour]]
-[[throw_on_error][[*Throws `std::overflow_error`]]]
-[[errno_on_error][Sets `::errno` to `ERANGE` and returns `std::numeric_limits<T>::infinity()`]]
-[[ignore_error][Returns `std::numeric_limits<T>::infinity()`]]
-[[user_error][Returns the result of `boost::math::policies::user_overflow_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-[table Possible Actions for Underflow Errors
-[[Action] [Behaviour]]
-[[throw_on_error][Throws `std::underflow_error`]]
-[[errno_on_error][Sets `::errno` to `ERANGE` and returns 0.]]
-[[ignore_error][[*Returns 0]]]
-[[user_error][Returns the result of `boost::math::policies::user_underflow_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-[table Possible Actions for Denorm Errors
-[[Action] [Behaviour]]
-[[throw_on_error][Throws `std::underflow_error`]]
-[[errno_on_error][Sets `::errno` to `ERANGE` and returns the denormalised value.]]
-[[ignore_error][[*Returns the denormalised value.]]]
-[[user_error][Returns the result of `boost::math::policies::user_denorm_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-[table Possible Actions for Rounding Errors
-[[Action] [Behaviour]]
-[[throw_on_error][Throws `boost::math::rounding_error`]]
-[[errno_on_error][Sets `::errno` to `ERANGE` and returns the largest representable value of the target integer type
-(or the most negative value if the argument to the function was less than zero).]]
-[[ignore_error][[*Returns the largest representable value of the target integer type
-(or the most negative value if the argument to the function was less than zero).]]]
-[[user_error][Returns the result of `boost::math::policies::user_rounding_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-[table Possible Actions for Internal Evaluation Errors
-[[Action] [Behaviour]]
-[[throw_on_error][[*Throws `boost::math::evaluation_error`]]]
-[[errno_on_error][Sets `::errno` to `EDOM` and returns the closest approximation found.]]
-[[ignore_error][Returns the closest approximation found.]]
-[[user_error][Returns the result of `boost::math::policies::user_evaluation_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-[table Possible Actions for Indeterminate Result Errors
-[[Action] [Behaviour]]
-[[throw_on_error][Throws `std::domain_error`]]
-[[errno_on_error][Sets `::errno` to `EDOM` and returns the same value as `ignore_error`.]]
-[[ignore_error][[*Returns a default result that depends on the function where the error occurred.]]]
-[[user_error][Returns the result of `boost::math::policies::user_indeterminate_result_error`:
- [link math_toolkit.policy.pol_tutorial.user_def_err_pol
- this function must be defined by the user].]]
-]
-
-All these error conditions are in namespace boost::math::policies,
-made available, for example, a by namespace declaration
-using `namespace boost::math::policies;` or individual using declarations
-`using boost::math::policies::overflow_error;`.
-
-[heading Rationale]
-
-The flexibility of the current implementation should be reasonably obvious: the
-default behaviours were chosen based on feedback during the formal review of
-this library. It was felt that:
-
-* Genuine errors should be flagged with exceptions
-rather than following C-compatible behaviour and setting `::errno`.
-* Numeric underflow and denormalised results were not considered to be
-fatal errors in most cases, so it was felt that these should be ignored.
-
-[heading Finding More Information]
-
-There are some pre-processor macro defines that can be used to
-[link math_toolkit.policy.pol_ref.policy_defaults
-change the policy defaults]. See also the [link math_toolkit.policy
-policy section].
-
-An example is at the Policy tutorial in
-[link math_toolkit.policy.pol_tutorial.changing_policy_defaults
-Changing the Policy Defaults].
-
-Full source code of this typical example of passing a 'bad' argument
-(negative degrees of freedom) to Student's t distribution
-is [link math_toolkit.dist.stat_tut.weg.error_eg in the error handling example].
-
-The various kind of errors are described in more detail below.
-
-[heading [#domain_error]Domain Errors]
-
-When a special function is passed an argument that is outside the range
-of values for which that function is defined, then the function returns
-the result of:
-
- boost::math::policies::raise_domain_error<T>(FunctionName, Message, Val, __Policy);
-
-Where
-`T` is the floating-point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-Val is the value that was out of range, and __Policy is the current policy
-in use for the function that was called.
-
-The default policy behaviour of this function is to throw a
-std::domain_error C++ exception. But if the __Policy is to ignore
-the error, or set global `::errno`, then a NaN will be returned.
-
-This behaviour is chosen to assist compatibility with the behaviour of
-['ISO/IEC 9899:1999 Programming languages - C]
-and with the
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Draft Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph 6]:
-
-[:['"Each of the functions declared above shall return a NaN (Not a Number)
-if any argument value is a NaN, but it shall not report a domain error.
-Otherwise, each of the functions declared above shall report a domain error
-for just those argument values for which:]]
-
-[:['"the function description's Returns clause explicitly specifies a domain, and those arguments fall outside the specified domain; or]
-
-['"the corresponding mathematical function value has a non-zero imaginary component; or]
-
-['"the corresponding mathematical function is not mathematically defined.]]
-
-[:['"Note 2: A mathematical function is mathematically defined
-for a given set of argument values if it is explicitly defined
-for that set of argument values or
-if its limiting value exists and does not depend on the direction of approach."]]
-
-Note that in order to support information-rich error messages when throwing
-exceptions, `Message` must contain
-a __format recognised format specifier: the argument `Val` is inserted into
-the error message according to the specifier used.
-
-For example if `Message` contains a "%1%" then it is replaced by the value of
-`Val` to the full precision of T, where as "%.3g" would contain the value of
-`Val` to 3 digits. See the __format documentation for more details.
-
-[heading [#pole_error]Evaluation at a pole]
-
-When a special function is passed an argument that is at a pole
-without a well defined residual value, then the function returns
-the result of:
-
- boost::math::policies::raise_pole_error<T>(FunctionName, Message, Val, __Policy);
-
-Where
-`T` is the floating point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-`Val` is the value of the argument that is at a pole, and __Policy is the
-current policy in use for the function that was called.
-
-The default behaviour of this function is to throw a std::domain_error exception.
-But __error_policy can be used to change this, for example to `ignore_error`
-and return NaN.
-
-Note that in order to support information-rich error messages when throwing
-exceptions, `Message` must contain
-a __format recognised format specifier: the argument `val` is inserted into
-the error message according to the specifier used.
-
-For example if `Message` contains a "%1%" then it is replaced by the value of
-`val` to the full precision of T, where as "%.3g" would contain the value of
-`val` to 3 digits. See the __format documentation for more details.
-
-[heading [#overflow_error]Numeric Overflow]
-
-When the result of a special function is too large to fit in the argument
-floating-point type, then the function returns the result of:
-
- boost::math::policies::raise_overflow_error<T>(FunctionName, Message, __Policy);
-
-Where
-`T` is the floating-point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-and __Policy is the current policy
-in use for the function that was called.
-
-The default policy for this function is that `std::overflow_error`
-C++ exception is thrown. But if, for example, an `ignore_error` policy
-is used, then returns `std::numeric_limits<T>::infinity()`.
-In this situation if the type `T` doesn't support infinities,
-the maximum value for the type is returned.
-
-[heading [#underflow_error]Numeric Underflow]
-
-If the result of a special function is known to be non-zero, but the
-calculated result underflows to zero, then the function returns the result of:
-
- boost::math::policies::raise_underflow_error<T>(FunctionName, Message, __Policy);
-
-Where
-`T` is the floating point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-and __Policy is the current policy
-in use for the called function.
-
-The default version of this function returns zero.
-But with another policy, like `throw_on_error`,
-throws an `std::underflow_error` C++ exception.
-
-[heading [#denorm_error]Denormalisation Errors]
-
-If the result of a special function is a denormalised value /z/ then the function
-returns the result of:
-
- boost::math::policies::raise_denorm_error<T>(z, FunctionName, Message, __Policy);
-
-Where
-`T` is the floating point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-and __Policy is the current policy
-in use for the called function.
-
-The default version of this function returns /z/.
-But with another policy, like `throw_on_error`
-throws an `std::underflow_error` C++ exception.
-
-[heading [#evaluation_error]Evaluation Errors]
-
-When a special function calculates a result that is known to be erroneous,
-or where the result is incalculable then it calls:
-
- boost::math::policies::raise_evaluation_error<T>(FunctionName, Message, Val, __Policy);
-
-Where
-`T` is the floating point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-`Val` is the erroneous value,
-and __Policy is the current policy
-in use for the called function.
-
-The default behaviour of this function is to throw a `boost::math::evaluation_error`.
-
-Note that in order to support information rich error messages when throwing
-exceptions, `Message` must contain
-a __format recognised format specifier: the argument `val` is inserted into
-the error message according to the specifier used.
-
-For example if `Message` contains a "%1%" then it is replaced by the value of
-`val` to the full precision of T, where as "%.3g" would contain the value of
-`val` to 3 digits. See the __format documentation for more details.
-
-[heading [#indeterminate_result_error]Indeterminate Result Errors]
-
-When the result of a special function is indeterminate for the value that was
-passed to it, then the function returns the result of:
-
- boost::math::policies::raise_overflow_error<T>(FunctionName, Message, Val, Default, __Policy);
-
-Where
-`T` is the floating-point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-Val is the value for which the result is indeterminate, Default is an
-alternative default result that must be returned for `ignore_error` and
-`errno_on_erro` policies, and __Policy is the current policy in use for the
-function that was called.
-
-The default policy for this function is `ignore_error`: note that this error
-type is reserved for situations where the result is mathematically
-undefined or indeterminate, but there is none the less a convention for what
-the result should be: for example the C99 standard specifies that the result
-of 0[super 0] is 1, even though the result is actually mathematically indeterminate.
-
-[heading [#rounding_error]Rounding Errors]
-
-When one of the rounding functions __round, __trunc or __modf is
-called with an argument that has no integer representation, or
-is too large to be represented in the result type then the
-value returned is the result of a call to:
-
- boost::math::policies::raise_rounding_error<T>(FunctionName, Message, Val, __Policy);
-
-Where
-`T` is the floating point type passed to the function, `FunctionName` is the
-name of the function, `Message` is an error message describing the problem,
-`Val` is the erroneous argument,
-and __Policy is the current policy in use for the called function.
-
-The default behaviour of this function is to throw a `boost::math::rounding_error`.
-
-Note that in order to support information rich error messages when throwing
-exceptions, `Message` must contain
-a __format recognised format specifier: the argument `val` is inserted into
-the error message according to the specifier used.
-
-For example if `Message` contains a "%1%" then it is replaced by the value of
-`val` to the full precision of T, where as "%.3g" would contain the value of
-`val` to 3 digits. See the __format documentation for more details.
-
-[heading [#checked_narrowing_cast]Errors from typecasts]
-
-Many special functions evaluate their results at a higher precision
-than their arguments in order to ensure full machine precision in
-the result: for example, a function passed a float argument may evaluate
-its result using double precision internally. Many of the errors listed
-above may therefore occur not during evaluation, but when converting
-the result to the narrower result type. The function:
-
- template <class T, class __Policy, class U>
- T checked_narrowing_cast(U const& val, const char* function);
-
-Is used to perform these conversions, and will call the error handlers
-listed above on [link overflow_error overflow],
-[link underflow_error underflow] or [link denorm_error denormalisation].
-
-[endsect][/section:error_handling Error Handling]
-
-[/
- Copyright 2006 - 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/factorials.qbk b/libs/math/doc/sf_and_dist/factorials.qbk
deleted file mode 100644
index d1747303d4..0000000000
--- a/libs/math/doc/sf_and_dist/factorials.qbk
+++ /dev/null
@@ -1,372 +0,0 @@
-[section:factorials Factorials and Binomial Coefficients]
-
-[section:sf_factorial Factorial]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/factorials.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- T factorial(unsigned i);
-
- template <class T, class ``__Policy``>
- T factorial(unsigned i, const ``__Policy``&);
-
- template <class T>
- T unchecked_factorial(unsigned i);
-
- template <class T>
- struct max_factorial;
-
- }} // namespaces
-
-[h4 Description]
-
-[important
-The functions described below are templates where the template argument T CANNOT be deduced from the
-arguments passed to the function. Therefore if you write something like:
-
- `boost::math::factorial(2);`
-
-You will get a (perhaps perplexing) compiler error, ususally indicating that there is no such function to be found.
-Instead you need to specify the return type explicity and write:
-
- `boost::math::factorial<double>(2);`
-
-So that the return type is known.
-
-Furthermore, the template argument must be a real-valued type such as `float` or `double`
-and not an integer type - that would overflow far too easily for quite small values of parameter `i`!
-
-The source code `static_assert` and comment just after the will be:
-
-``
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- // factorial<unsigned int>(n) is not implemented
- // because it would overflow integral type T for too small n
- // to be useful. Use instead a floating-point type,
- // and convert to an unsigned type if essential, for example:
- // unsigned int nfac = static_cast<unsigned int>(factorial<double>(n));
- // See factorial documentation for more detail.
-``
-]
-
- template <class T>
- T factorial(unsigned i);
-
- template <class T, class ``__Policy``>
- T factorial(unsigned i, const ``__Policy``&);
-
-Returns [^i!].
-
-[optional_policy]
-
-For [^i <= max_factorial<T>::value] this is implemented by table lookup,
-for larger values of [^i], this function is implemented in terms of __tgamma.
-
-If [^i] is so large that the result can not be represented in type T, then
-calls __overflow_error.
-
- template <class T>
- T unchecked_factorial(unsigned i);
-
-Returns [^i!].
-
-Internally this function performs table lookup of the result. Further it performs
-no range checking on the value of i: it is up to the caller to ensure
-that [^i <= max_factorial<T>::value]. This function is intended to be used
-inside inner loops that require fast table lookup of factorials, but requires
-care to ensure that argument [^i] never grows too large.
-
- template <class T>
- struct max_factorial
- {
- static const unsigned value = X;
- };
-
-This traits class defines the largest value that can be passed to
-[^unchecked_factorial]. The member `value` can be used where integral
-constant expressions are required: for example to define the size of
-further tables that depend on the factorials.
-
-[h4 Accuracy]
-
-For arguments smaller than `max_factorial<T>::value`
-the result should be
-correctly rounded. For larger arguments the accuracy will be the same
-as for __tgamma.
-
-[h4 Testing]
-
-Basic sanity checks and spot values to verify the data tables:
-the main tests for the __tgamma function handle those cases already.
-
-[h4 Implementation]
-
-The factorial function is table driven for small arguments, and is
-implemented in terms of __tgamma for larger arguments.
-
-[endsect]
-
-[section:sf_double_factorial Double Factorial]
-
-``
-#include <boost/math/special_functions/factorials.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- T double_factorial(unsigned i);
-
- template <class T, class ``__Policy``>
- T double_factorial(unsigned i, const ``__Policy``&);
-
- }} // namespaces
-
-Returns [^i!!].
-
-[optional_policy]
-
-May return the result of __overflow_error if the result is too large
-to represent in type T. The implementation is designed to be optimised
-for small /i/ where table lookup of i! is possible.
-
-[important
-The functions described above are templates where the template argument T can not be deduced from the
-arguments passed to the function. Therefore if you write something like:
-
- `boost::math::double_factorial(2);`
-
-You will get a (possibly perplexing) compiler error, ususally indicating that there is no such function to be found. Instead you need to specifiy
-the return type explicity and write:
-
- `boost::math::double_factorial<double>(2);`
-
-So that the return type is known. Further, the template argument must be a real-valued type such as `float` or `double`
-and not an integer type - that would overflow far too easily!
-
-The source code `static_assert` and comment just after the will be:
-
-``
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- // factorial<unsigned int>(n) is not implemented
- // because it would overflow integral type T for too small n
- // to be useful. Use instead a floating-point type,
- // and convert to an unsigned type if essential, for example:
- // unsigned int nfac = static_cast<unsigned int>(factorial<double>(n));
- // See factorial documentation for more detail.
-``
-]
-
-[h4 Accuracy]
-
-The implementation uses a trivial adaptation of
-the factorial function, so error rates should be no more than a couple
-of epsilon higher.
-
-[h4 Testing]
-
-The spot tests for the double factorial use data
-generated by functions.wolfram.com.
-
-[h4 Implementation]
-
-The double factorial is implemented in terms of the factorial and gamma
-functions using the relations:
-
-(2n)!! = 2[super n ] * n!
-
-(2n+1)!! = (2n+1)! / (2[super n ] n!)
-
-and
-
-(2n-1)!! = [Gamma]((2n+1)/2) * 2[super n ] / sqrt(pi)
-
-[endsect]
-
-[section:sf_rising_factorial Rising Factorial]
-
-``
-#include <boost/math/special_functions/factorials.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` rising_factorial(T x, int i);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` rising_factorial(T x, int i, const ``__Policy``&);
-
- }} // namespaces
-
-Returns the rising factorial of /x/ and /i/:
-
-rising_factorial(x, i) = [Gamma](x + i) / [Gamma](x);
-
-or
-
-rising_factorial(x, i) = x(x+1)(x+2)(x+3)...(x+i-1)
-
-Note that both /x/ and /i/ can be negative as well as positive.
-
-[optional_policy]
-
-May return the result of __overflow_error if the result is too large
-to represent in type T.
-
-The return type of these functions is computed using the __arg_pomotion_rules:
-the type of the result is `double` if T is an integer type, otherwise the type
-of the result is T.
-
-[h4 Accuracy]
-
-The accuracy will be the same as
-the __tgamma_delta_ratio function.
-
-[h4 Testing]
-
-The spot tests for the rising factorials use data generated
-by functions.wolfram.com.
-
-[h4 Implementation]
-
-Rising and falling factorials are implemented as ratios of gamma functions
-using __tgamma_delta_ratio. Optimisations for
-small integer arguments are handled internally by that function.
-
-[endsect]
-
-[section:sf_falling_factorial Falling Factorial]
-
-``
-#include <boost/math/special_functions/factorials.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` falling_factorial(T x, unsigned i);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` falling_factorial(T x, unsigned i, const ``__Policy``&);
-
- }} // namespaces
-
-Returns the falling factorial of /x/ and /i/:
-
-falling_factorial(x, i) = x(x-1)(x-2)(x-3)...(x-i+1)
-
-Note that this function is only defined for positive /i/, hence the
-`unsigned` second argument. Argument /x/ can be either positive or
-negative however.
-
-[optional_policy]
-
-May return the result of __overflow_error if the result is too large
-to represent in type T.
-
-The return type of these functions is computed using the __arg_pomotion_rules:
-the type of the result is `double` if T is an integer type, otherwise the type
-of the result is T.
-
-[h4 Accuracy]
-
-The accuracy will be the same as
-the __tgamma_delta_ratio function.
-
-[h4 Testing]
-
-The spot tests for the falling factorials use data generated by
-functions.wolfram.com.
-
-[h4 Implementation]
-
-Rising and falling factorials are implemented as ratios of gamma functions
-using __tgamma_delta_ratio. Optimisations for
-small integer arguments are handled internally by that function.
-
-[endsect]
-
-[section:sf_binomial Binomial Coefficients]
-
-``
-#include <boost/math/special_functions/binomial.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- T binomial_coefficient(unsigned n, unsigned k);
-
- template <class T, class ``__Policy``>
- T binomial_coefficient(unsigned n, unsigned k, const ``__Policy``&);
-
- }} // namespaces
-
-Returns the binomial coefficient: [sub n]C[sub k].
-
-Requires k <= n.
-
-[optional_policy]
-
-May return the result of __overflow_error if the result is too large
-to represent in type T.
-
-[important
-The functions described above are templates where the template argument T can not be deduced from the
-arguments passed to the function. Therefore if you write something like:
-
- `boost::math::binomial_coefficient(10, 2);`
-
-You will get a compiler error, ususally indicating that there is no such function to be found. Instead you need to specifiy
-the return type explicity and write:
-
- `boost::math::binomial_coefficient<double>(10, 2);`
-
-So that the return type is known. Further, the template argument must be a real-valued type such as `float` or `double`
-and not an integer type - that would overflow far too easily!
-]
-
-[h4 Accuracy]
-
-The accuracy will be the same as for the
-factorials for small arguments (i.e. no more than one or two epsilon),
-and the __beta function for larger arguments.
-
-[h4 Testing]
-
-The spot tests for the binomial coefficients use data
-generated by functions.wolfram.com.
-
-[h4 Implementation]
-
-Binomial coefficients are calculated using table lookup of factorials
-where possible using:
-
-[sub n]C[sub k] = n! / (k!(n-k)!)
-
-Otherwise it is implemented in terms of the beta function using the relations:
-
-[sub n]C[sub k] = 1 / (k * __beta(k, n-k+1))
-
-and
-
-[sub n]C[sub k] = 1 / ((n-k) * __beta(k+1, n-k))
-
-[endsect]
-
-
-[endsect][/section:factorials Factorials]
-
-[/
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/faq.qbk b/libs/math/doc/sf_and_dist/faq.qbk
deleted file mode 100644
index 58d30686f4..0000000000
--- a/libs/math/doc/sf_and_dist/faq.qbk
+++ /dev/null
@@ -1,95 +0,0 @@
-[section:faq Frequently Asked Questions FAQ]
-
-# ['I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user
-and I don't see where the functions like dnorm(mean, sd) are in Boost.Math?] [br]
-Nearly all are provided, and many more like mean, skewness, quantiles, complements ...
-but Boost.Math makes full use of C++, and it looks a bit different.
-But do not panic! See section on construction and the many examples.
-Briefly, the distribution is constructed with the parameters (like location and scale)
-(things after the | in representation like P(X=k|n, p) or ; in a common represention of pdf f(x; [mu][sigma][super 2]).
-Functions like pdf, cdf are called with the name of that distribution and the random variate often called x or k.
-For example, `normal my_norm(0, 1); pdf(my_norm, 2.0);` [br]
-#I'm a user of [@http://support.sas.com/rnd/app/da/new/probabilityfunctions.html New SAS Functions for Computing Probabilities]. [br]
-You will find the interface more familar, but to be able to select a distribution (perhaps using a string)
-see the Extras/Future Directions section,
-and /boost/libs/math/dot_net_example/boost_math.cpp for an example that is used to create a C# utility
-(that you might also find useful): see [@http://sourceforge.net/projects/distexplorer/ Statistical Distribution Explorer] [br].
-# ['I'm allegic to reading manuals and prefer to learn from examples.][br]
-Fear not - you are not alone! Many examples are available for functions and distributions.
-Some are referenced directly from the text. Others can be found at \boost_latest_release\libs\math\example.
-If you are a Visual Studio user, you should be able to create projects from each of these,
-making sure that the Boost library is in the include directories list.
-# ['How do I make sure that the Boost library is in the Visual Studio include directories list?][br]
-You can add an include path, for example, your Boost place /boost-latest_release,
-for example `X:/boost_1_45_0/` if you have a separate partition X for Boost releases.
-Or you can use an environment variable BOOST_ROOT set to your Boost place, and include that.
-Visual Studio before 2010 provided Tools, Options, VC++ Directories to control directories:
-Visual Studio 2010 instead provides property sheets to assist.
-You may find it convenient to create a new one adding \boost-latest_release;
-to the existing include items in $(IncludePath).
-# ['I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user and
-I don't see where the properties like mean, median, mode, variance, skewness of distributions are in Boost.Math?][br]
-They are all available (if defined for the parameters with which you constructed the distribution) via __usual_accessors.
-# ['I am a C programmer. Can I user Boost.Math with C?][br]
-Yes you can, including all the special functions, and TR1 functions like isnan.
-They appear as C functions, by being declared as "extern C".
-# ['I am a C# (Basic? F# FORTRAN? Other CLI?) programmer. Can I use Boost.Math with C#?] [br]
-Yes you can, including all the special functions, and TR1 functions like isnan.
-But you [*must build the Boost.Math as a dynamic library (.dll) and compile with the /CLI option].
-See the boost/math/dot_net_example folder which contains an example that
-builds a simple statistical distribution app with a GUI.
-See [@http://sourceforge.net/projects/distexplorer/ Statistical Distribution Explorer] [br]
-# ['What these "policies" things for?] [br]
-Policies are a powerful (if necessarily complex) fine-grain mechanism that
-allow you to customise the behaviour of the Boost.Math library according to your precise needs.
-See __policy_section. But if, very probably, the default behaviour suits you, you don't need to know more.
-# ['I am a C user and expect to see global C-style`::errno` set for overflow/errors etc?] [br]
-You can achieve what you want - see __error_policy and __user_error_handling and many examples.
-# ['I am a C user and expect to silently return a max value for overflow?] [br]
-You (and C++ users too) can return whatever you want on overflow
-- see __overflow_error and __error_policy and several examples.
-# ['I don't want any error message for overflow etc?] [br]
-You can control exactly what happens for all the abnormal conditions, including the values returned.
-See __domain_error, __overflow_error __error_policy __user_error_handling etc and examples.
-# ['My environment doesn't allow and/or I don't want exceptions. Can I still user Boost.Math?] [br]
-Yes but you must customise the error handling: see __user_error_handling and __changing_policy_defaults .
-# ['The docs are several hundreds of pages long! Can I read the docs off-line or on paper?] [br]
-Yes - you can download the Boost current release of most documentation
-as a zip of pdfs (including Boost.Math) from Sourceforge, for example
-[@https://sourceforge.net/projects/boost/files/boost-docs/1.45.0/boost_pdf_1_45_0.tar.gz/download].
-And you can print any pages you need (or even print all pages - but be warned that there are several hundred!).
-Both html and pdf versions are highly hyperlinked.
-The entire Boost.Math pdf can be searched with Adobe Reader, Edit, Find ...
-This can often find what you seek, a partial substitute for a full index.
-# ['I want a compact version for an embedded application. Can I use float precision?] [br]
-Yes - by selecting RealType template parameter as float:
-for example normal_distribution<float> your_normal(mean, sd);
-(But double may still be used internally, so space saving may be less that you hope for).
-You can also change the promotion policy, but accuracy might be much reduced.
-# ['I seem to get somewhat different results compared to other programs. Why?]
-We hope Boost.Math to be more accurate: our priority is accuracy (over speed).
-See the section on accuracy. But for evaluations that require iterations
-there are parameters which can change the required accuracy. You might be able to
-squeeze a little more accuracy at the cost of runtime.
-# ['Will my program run more slowly compared to other math functions and statistical libraries?]
-Probably, thought not always, and not by too much: our priority is accuracy.
-For most functions, making sure you have the latest compiler version with all optimisations switched on is the key to speed.
-For evaluations that require iteration, you may be able to gain a little more speed at the expense of accuracy.
-See detailed suggestions and results on __performance.
-# ['How do I handle infinity and NaNs portably?] [br]
-See __fp_facets for Facets for Floating-Point Infinities and NaNs.
-# ['Where are the pre-built libraries?] [br]
-Good news - you probably don't need any! - just #include <boost/math/distribution_you_want>.
-But in the unlikely event that you do, see __building.
-# ['I don't see the function or distribution that I want.] [br]
-You could try an email to ask the authors - but no promises!
-
-[endsect] [/section:faq Frequently Asked Questions]
-
-[/
- Copyright 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/float_next.qbk b/libs/math/doc/sf_and_dist/float_next.qbk
deleted file mode 100644
index 5c3d16db05..0000000000
--- a/libs/math/doc/sf_and_dist/float_next.qbk
+++ /dev/null
@@ -1,201 +0,0 @@
-[section:next_float Floating-Point Representation Distance (ULP),
- and Finding Adjacent Floating-Point Values]
-
-[@http://en.wikipedia.org/wiki/Unit_in_the_last_place Unit of Least Precision or Unit in the Last Place]
-is the gap between two different, but as close as possible, floating-point numbers.
-
-Most decimal values, for example 0.1, cannot be exactly represented as floating-point values,
-but will be stored as the
-[@http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding
-closest representable floating-point].
-
-Functions are provided for finding adjacent greater and lesser floating-point values,
-and estimating the number of gaps between any two floating-point values.
-
-The floating-point type FPT must have has a fixed number of bits in the representation.
-The number of bits may set at runtime, but must be the same for all numbers.
-For example, __NTL_quad_float type (fixed 128-bit representation)
-or __NTL_RR type (arbitrary but fixed decimal digits, default 150)
-but *not* a type that extends the representation to provide an exact representation
-for any number, for example [@http://keithbriggs.info/xrc.html XRC eXact Real in C].
-
-[section:nextafter Finding the Next Representable Value in a Specific Direction (nextafter)]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/next.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class FPT>
- FPT nextafter(FPT val, FPT direction);
-
- }} // namespaces
-
-[h4 Description - nextafter]
-
-This is an implementation of the `nextafter` function included in the C99 standard.
-(It is also effectively an implementation of the C99 'nexttoward' legacy function
-which differs only having a long double direction,
-and can generally serve in its place if required).
-
-[note The C99 functions must use suffixes f and l to distinguish float and long double versions.
-C++ uses the template mechanism instead.]
-
-Returns the next representable value after /x/ in the direction of /y/. If
-`x == y` then returns /x/. If /x/ is non-finite then returns the result of
-a __domain_error. If there is no such value in the direction of /y/ then
-returns an __overflow_error.
-
-[h4 Examples - nextafter]
-
-The two representations using a 32-bit float either side of unity are:
-``
-The nearest (exact) representation of 1.F is 1.00000000
-nextafter(1.F, 999) is 1.00000012
-nextafter(1/f, -999) is 0.99999994
-
-The nearest (not exact) representation of 0.1F is 0.100000001
-nextafter(0.1F, 10) is 0.100000009
-nextafter(0.1F, 10) is 0.099999994
-``
-
-[endsect]
-
-[section:float_next Finding the Next Greater Representable Value (float_next)]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/next.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class FPT>
- FPT float_next(FPT val);
-
- }} // namespaces
-
-[h4 Description - float_next]
-
-Returns the next representable value which is greater than /x/.
-If /x/ is non-finite then returns the result of
-a __domain_error. If there is no such value greater than /x/ then
-returns an __overflow_error.
-
-Has the same effect as
-
- nextafter(val, std::numeric_limits<FPT>::max());
-
-[endsect] [/section:float_next Finding the Next Greater Representable Value (float_prior)]
-
-[section:float_prior Finding the Next Smaller Representable Value (float_prior)]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/next.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class FPT>
- FPT float_prior(FPT val);
-
- }} // namespaces
-
-
-[h4 Description - float_prior]
-
-Returns the next representable value which is less than /x/.
-If /x/ is non-finite then returns the result of
-a __domain_error. If there is no such value less than /x/ then
-returns an __overflow_error.
-
-Has the same effect as
-
- nextafter(val, -std::numeric_limits<FPT>::max()); // Note most negative value -max.
-
-[endsect] [/section:float_prior Finding the Next Smaller Representable Value (float_prior)]
-
-[section:float_distance Calculating the Representation Distance
- Between Two Floating Point Values (ULP) float_distance]
-
-Function float_distance finds the number of gaps/bits/ULP between any two floating-point values.
-If the significands of floating-point numbers are viewed as integers,
-then their difference is the number of ULP/gaps/bits different.
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/next.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class FPT>
- FPT float_distance(FPT a, FPT b);
-
- }} // namespaces
-
-[h4 Description - float_distance]
-
-Returns the distance between /a/ and /b/: the result is always
-a signed integer value (stored in floating-point type FPT)
-representing the number of distinct representations between /a/ and /b/.
-
-Note that
-
-* `float_distance(a, a)` always returns 0.
-* `float_distance(float_next(a), a)` always returns 1.
-* `float_distance(float_prior(a), a)` always returns -1.
-
-The function `float_distance` is equivalent to calculating the number
-of ULP (Units in the Last Place) between /a/ and /b/ except that it
-returns a signed value indicating whether `a > b` or not.
-
-If the distance is too great then it may not be able
-to be represented as an exact integer by type FPT,
-but in practice this is unlikely to be a issue.
-
-[endsect] [/section:float_distance Calculating the Representation Distance
- Between Two Floating Point Values (ULP) float_distance]
-
-[section:float_advance Advancing a Floating Point Value by a Specific
-Representation Distance (ULP) float_advance]
-
-Function float_advance advances a floating point number by a specified number
-of ULP.
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/next.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class FPT>
- FPT float_advance(FPT val, int distance);
-
- }} // namespaces
-
-[h4 Description - float_advance]
-
-Returns a floating point number /r/ such that `float_distance(val, r) == distance`.
-
-[endsect] [/section:float_advance]
-
-[endsect] [/ section:next_float Floating-Point Representation Distance (ULP),
- and Finding Adjacent Floating-Point Values]
-
-[/
- Copyright 2008 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/fp_facets.qbk b/libs/math/doc/sf_and_dist/fp_facets.qbk
deleted file mode 100644
index 6d31ebbd59..0000000000
--- a/libs/math/doc/sf_and_dist/fp_facets.qbk
+++ /dev/null
@@ -1,567 +0,0 @@
-[section:fp_facets Facets for Floating-Point Infinities and NaNs]
-
-[import ../../example/nonfinite_facet_sstream.cpp]
-
-[h4 Synopsis]
-
- namespace boost{ namespace math
- {
- // Values for flags.
- const int legacy;
- const int signed_zero;
- const int trap_infinity;
- const int trap_nan;
-
- template<
- class CharType,
- class OutputIterator = std::ostreambuf_iterator<CharType>
- >
- class nonfinite_num_put : public std::num_put<CharType, OutputIterator>
- {
- public:
- explicit nonfinite_num_put(int flags = 0);
- };
-
- template<
- class CharType,
- class InputIterator = std::istreambuf_iterator<CharType>
- >
- class nonfinite_num_get : public std::num_get<CharType, InputIterator>
- {
- public:
- explicit nonfinite_num_get(int flags = 0); // legacy, sign_zero ...
- };
- }} // namespace boost namespace math
-
-To use these facets
-
- #include <boost\math\special_functions\nonfinite_num_facets.hpp>
-
-
-[section:intro Introduction]
-
-[h5 The Problem]
-
-The C++98 standard does not specify how ['infinity] and ['NaN] are represented in text streams.
-As a result, different platforms use different string representations.
-This can cause undefined behavior when text files are moved between different platforms.
-Some platforms cannot even input parse their own output!
-So 'route-tripping' or loopback of output to input is not possible.
-For instance, the following test fails with MSVC:
-
- stringstream ss;
- double inf = numeric_limits<double>::infinity();
- double r;
- ss << inf; // Write out.
- ss >> r; // Read back in.
-
- cout << "infinity output was " << inf << endl; // 1.#INF
- cout << "infinity input was " << r << endl; // 1
-
- assert(inf == y); // Fails!
-
-[h5 The Solution]
-
-The facets `nonfinite_num_put` and `nonfinite_num_get`
-format and parse all floating-point numbers,
-including `infinity` and `NaN`, in a consistent and portable manner.
-
-The following test succeeds with MSVC.
-
-[nonfinite_facets_sstream_1]
-
-[tip To add two facets, `nonfinite_num_put` and `nonfinite_num_get`,
-you may have to add one at a time, using a temporary locale.
-
-Or you can create a new locale in one step
-
-`std::locale new_locale(std::locale(std::locale(std::locale(), new boost::math::nonfinite_num_put<char>), new boost::math::nonfinite_num_get<char>));`
-
-and, for example, use it to imbue an input and output stringstream.
-]
-
-[tip To just change an input or output stream, you can concisely write
-`cout.imbue (std::locale(std::locale(), new boost::math::nonfinite_num_put<char>));`
-or
-`cin.imbue (std::locale(std::locale(), new boost::math::nonfinite_num_get<char>));`
-]
-
-[nonfinite_facets_sstream_2]
-
-[h4 C++0X standard for output of infinity and NaN]
-
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf C++0X (final) draft standard]
-does not explicitly specify the representation (and input) of nonfinite values,
-leaving it implementation-defined.
-So without some specific action, input and output of nonfinite values is not portable.
-
-[h4 C99 standard for output of infinity and NaN]
-
-The [@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99 standard]
-[*does] specify how infinity and NaN
-are formatted by printf and similar output functions,
-and parsed by scanf and similar input functions.
-
-The following string representations are used:
-
-[table C99 Representation of Infinity and NaN
-[[number] [string]]
-[[Positive infinity]["inf" or "infinity"]]
-[[Positive NaN]["nan" or "nan(...)"]]
-[[Negative infinity]["-inf" or "-infinity"]]
-[[Negative NaN]["-nan" or "-nan(...)"]]
-]
-
-So following C99 provides a sensible 'standard' way
-of handling input and output of nonfinites in C++,
-and this implementation follows most of these formats.
-
-[h5 Signaling NaNs]
-A particular type of NaN is the signaling NaN.
-The usual mechanism of signaling is by raising a floating-point exception.
-Signaling NaNs are defined by
-[@http://en.wikipedia.org/wiki/IEEE_floating-point_standard IEEE 754-2008].
-
-Floating-point values with layout ['s]111 1111 1['a]xx xxxx xxxx xxxx xxxx xxxx
-where ['s] is the sign, ['x] is the payload, and bit ['a] determines the type of NaN.
-
-If bit ['a] = 1, it is a quiet NaN.
-
-If bit ['a] is zero and the payload ['x] is nonzero, then it is a signaling NaN.
-
-Although there has been theoretical interest in the ability of a signaling NaN
-to raise an exception, for example to prevent use of an uninitialised variable,
-in practice there appears to be no useful application of signaling NaNs for
-most current processors.
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf C++0X 18.3.2.2]
-still specifies a (implementation-defined) representation for signaling NaN,
-and `static constexpr bool has_signaling_NaN`
-a method of checking if a floating-point type has a representation for signaling NaN.
-
-But in practice, most platforms treat signaling NaNs in the same as quiet NaNs.
-So, for example, they are represented by "nan" on output in
-[@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99] format,
-and output as `1.#QNAN` by Microsoft compilers.
-
-[note The C99 standard does not distinguish
-between the quiet NaN and signaling NaN values.
-A quiet NaN propagates through almost every arithmetic operation
-without raising a floating-point exception;
-a signaling NaN generally raises a floating-point exception
-when occurring as an arithmetic operand.
-
-C99 specification does not define the behavior of signaling NaNs.
-NaNs created by IEC 60559 operations are always quiet.
-Therefore this implementation follows C99, and treats the signaling NaN bit
-as just a part of the NaN payload field.
-So this implementation does not distinguish between the two classes of NaN.]
-
-[note An implementation may give zero and non-numeric values (such as infinities and NaNs)
-a sign or may leave them unsigned. Wherever such values are unsigned,
-any requirement in the C99 Standard to retrieve the sign shall produce an unspecified sign,
-and any requirement to set the sign shall be ignored.
-
-This might apply to user-defined types, but in practice built-in floating-point
-types `float`, `double` and `long double` have well-behaved signs.]
-
-The numbers can be of type `float`, `double` and `long double`.
-An optional + sign can be used with positive numbers (controlled by ios manipulator `showpos`).
-The function `printf` and similar C++ functions use standard formatting flags
-to put all lower or all upper case
-(controlled by `std::ios` manipulator `uppercase` and `lowercase`).
-
-The function `scanf` and similar input functions are case-insensitive.
-
-The dots in `nan(...)` stand for an arbitrary string.
-The meaning of that string is implementation dependent.
-It can be used to convey extra information about the NaN, from the 'payload'.
-A particular value of the payload might be used to indicate a ['missing value], for example.
-
-This library uses the string representations specified by the C99 standard.
-
-An example of an implementation that optionally includes the NaN payload information is at
-[@http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/fprints.htm AIX NaN fprintf].
-That implementation specifies for Binary Floating Point NANs:
-
-* A NaN ordinal sequence is a left-parenthesis character '(',
-followed by a digit sequence representing
-an integer n, where 1 <= n <= INT_MAX-1,
-followed by a right-parenthesis character ')'.
-
-* The integer value, n, is determined by the fraction bits of the NaN argument value as follows:
-
-* For a signalling NaN value, NaN fraction bits are reversed (left to right)
-to produce bits (right to left) of an even integer value, 2*n.
-Then formatted output functions produce a (signalling) NaN ordinal sequence
-corresponding to the integer value n.
-
-* For a quiet NaN value, NaN fraction bits are reversed (left to right)
-to produce bits (right to left) of an odd integer value, 2*n-1.
-Then formatted output functions produce a (quiet) NaN ordinal sequence
-corresponding to the integer value n.
-
-[warning This implementation does not (yet) provide output of, or access to, the NaN payload.]
-
-[endsect] [/section:intro Introduction]
-
-[section:reference Reference]
-
-[h5 The Facet `nonfinite_num_put`]
-
- template<
- class CharType, class OutputIterator = std::ostreambuf_iterator<CharType>
- >
- class nonfinite_num_put;
-
-The `class nonfinite_num_put<CharType, OutputIterator>`
-is derived from `std::num_put<CharType, OutputIterator>`.
-Thus it is a facet that formats numbers.
-The first template argument is the character type of the formatted strings,
-usually `char` or `wchar_t`.
-The second template argument is the type of iterator used to write the strings.
-It is required to be an output iterator.
-Usually the default `std::ostreambuf_iterator` is used.
-The public interface of the class consists of a single constructor only:
-
- nonfinite_num_put(int flags = 0);
-
-The flags argument (effectively optional because a default of ` no_flags` is provided)
-is discussed below.
-The class template `nonfinite_num_put` is defined in the
-header `boost/math/nonfinite_num_facets.hpp`
-and lives in the namespace `boost::math`.
-
-Unlike the C++ Standard facet `std::num_put`, the facet `nonfinite_num_put`
-formats `infinity` and `NaN` in a consistent and portable manner.
-It uses the following string representations:
-
-[table
-[[Number][String]]
-[[Positive infinity][inf]]
-[[Positive NaN][nan]]
-[[Negative infinity][-inf]]
-[[Negative NaN][-nan]]
-]
-
-The numbers can be of type `float`, `double` and `long double`.
-The strings can be in all lower case or all upper case.
-An optional + sign can be used with positive numbers.
-This can be controlled with the `uppercase`, `lowercase`, `showpos` and `noshowpos` manipulators.
-Formatting of integers, boolean values and finite floating-point numbers is simply delegated to the normal `std::num_put`.
-
-
-[h5 Facet `nonfinite_num_get`]
-
- template<class CharType, class InputIterator = std::istreambuf_iterator<CharType> > class nonfinite_num_get;
-
-The class `nonfinite_num_get<CharType, InputIterator>` is derived from `std::num_get<CharType, IntputIterator>`.
-Thus it is a facet that parses strings that represent numbers.
-The first template argument is the character type of the strings,
-usually `char` or `wchar_t`.
-The second template argument is the type of iterator used to read the strings.
-It is required to be an input iterator. Usually the default is used.
-The public interface of the class consists of a single constructor only:
-
- nonfinite_num_get(int flags = 0);
-
-The flags argument is discussed below.
-The `class template nonfinite_num_get` is defined
-in the header `boost/math/nonfinite_num_facets.hpp`
-and lives in the `namespace boost::math`.
-
-Unlike the facet `std::num_get`, the facet `nonfinite_num_get` parses strings
-that represent `infinity` and `NaN` in a consistent and portable manner.
-It recognizes precisely the string representations specified by the C99 standard:
-
-[table
-[[Number][String]]
-[[Positive infinity][inf, infinity]]
-[[Positive NaN][nan, nan(...)]]
-[[Negative infinity][-inf, -infinity]]
-[[Negative NaN][-nan, -nan(...)]]
-]
-
-The numbers can be of type `float`, `double` and `long double`.
-The facet is case-insensitive. An optional + sign can be used with positive numbers.
-The dots in nan(...) stand for an arbitrary string usually containing the ['NaN payload].
-Parsing of strings that represent integers, boolean values
-and finite floating-point numbers is delegated to `std::num_get`.
-
-When the facet parses a string that represents `infinity` on a platform that lacks infinity,
-then the fail bit of the stream is set.
-
-When the facet parses a string that represents `NaN` on a platform that lacks NaN,
-then the fail bit of the stream is set.
-
-[h4 Flags]
-
-The constructors for `nonfinite_num_put` and `nonfinite_num_get`
-take an optional bit flags argument.
-There are four different bit flags:
-
-* legacy
-* signed_zero
-* trap_infinity
-* trap_nan
-
-The flags can be combined with the OR `operator|`.
-
-The flags are defined in the header `boost/math/nonfinite_num_facets.hpp`
-and live in the `namespace boost::math`.
-
-[h5 legacy]
-
-The legacy flag has no effect with the output facet `nonfinite_num_put`.
-
-If the legacy flag is used with the `nonfinite_num_get` input facet,
-then the facet will recognize all the following string representations of `infinity` and `NaN`:
-
-[table
-[[Number][String]]
-[[Positive infinity][inf, infinity, one#inf]]
-[[Positive NaN][nan, nan(...), nanq, nans, qnan, snan, one#ind, one#qnan, one#snan]]
-[[Negative infinity][-inf, -infinity, -one#inf]]
-[[Negative NaN][-nan, -nan(...), -nanq, -nans, -qnan, -snan, -one#ind, - one#qnan, -one#snan]]
-]
-
-* The numbers can be of type `float`, `double` and `long double`.
-* The facet is case-insensitive.
-* An optional `+` sign can be used with the positive values.
-* The dots in `nan(...)` stand for an arbitrary string.
-* `one` stands for any string that `std::num_get` parses as the number `1`,
-typically "1.#INF", "1.QNAN" but also "000001.#INF"...
-
-The list includes a number of non-standard string representations of infinity and NaN
-that are used by various existing implementations of the C++ standard library,
-and also string representations used by other programming languages.
-
-[h5 signed_zero]
-
-If the `signed_zero` flag is used with `nonfinite_num_put`,
-then the facet will always distinguish between positive and negative zero.
-It will format positive zero as "0" or "+0" and negative zero as "-0".
-The string representation of positive zero can be controlled
-with the `showpos` and `noshowpos` manipulators.
-
-The `signed_zero flag` has no effect with the input facet `nonfinite_num_get`.
-The input facet `nonfinite_num_get` always parses "0" and "+0"
-as positive zero and "-0" as negative zero,
-as do most implementations of `std::num_get`.
-
-[note If the `signed_zero` flag is not set (the default), then a negative zero value
-will be displayed on output in whatever way the platform normally handles it.
-For most platforms, this it will format positive zero as "0" or "+0" and negative zero as "-0".
-But setting the `signed_zero` flag may be more portable.]
-
-[tip A negative zero value can be portably produced using the changesign function
-`(changesign)(static_cast<ValType>(0))` where `ValType` is `float`, `double` or `long double`,
- or a User-Defined floating-point type (UDT) provided that this UDT has a sign
-and that the changesign function is implemented.]
-
-[h5 trap_infinity]
-
-If the `trap_infinity` flag is used with `nonfinite_num_put`,
-then the facet will throw an exception of type `std::ios_base::failure`
-when an attempt is made to format positive or negative infinity.
-If the facet is called from a stream insertion operator,
-then the stream will catch that exception and set either its `fail bit` or its `bad bit`.
-Which bit is set is platform dependent.
-
-If the `trap_infinity` flag is used with `nonfinite_num_get`,
-then the facet will set the `fail bit` of the stream when an attempt is made
-to parse a string that represents positive or negative infinity.
-
-
-(See Design Rationale below for a discussion of this inconsistency.)
-
-[h5 trap_nan]
-
-Same as `trap_infinity`, but positive and negative NaN are trapped instead.
-
-[endsect] [/section:reference Reference]
-
-
-[section:examples Examples]
-
-[h5 Simple example with std::stringstreams]
-
-[nonfinite_facets_sstream_1]
-[nonfinite_facets_sstream_2]
-
-[h5 Use with lexical_cast]
-
-[note From Boost 1.48, lexical_cast no longer uses stringstreams internally,
-and is now able to handle infinities and NaNs natively on most platforms.]
-
-Without using a new locale that contains the nonfinite facets,
-previous versions of `lexical_cast` using stringstream were not portable
-(and often failed) if nonfinite values are found.
-
-[nonfinite_facets_sstream_1]
-
-Although other examples imbue individual streams with the new locale,
-for the streams constructed inside lexical_cast,
-it was necesary to assign to a global locale.
-
- locale::global(new_locale);
-
-`lexical_cast` then works as expected, even with infinity and NaNs.
-
- double x = boost::lexical_cast<double>("inf");
- assert(x == std::numeric:limits<double>::infinity());
-
- string s = boost::lexical_cast<string>(numeric_limits<double>::infinity());
- assert(s == "inf");
-
-[warning If you use stringstream inside your functions,
-you may still need to use a global locale to handle nonfinites correctly.
-Or you need to imbue your stringstream with suitable get and put facets.]
-
-[warning You should be aware that the C++ specification does not explicitly require
-that input from decimal digits strings converts with rounding to the
-nearest representable floating-point binary value.
-(In contrast, decimal digits read by the compiler,
-for example by an assignment like `double d = 1.234567890123456789`,
-are guaranteed to assign the nearest representable value to double d).
-This implies that, no matter how many decimal digits you provide,
-there is a potential uncertainty of 1 least significant bit in the resulting binary value.]
-
-See [@http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding
-for more information on ['nearest representable] and ['rounding]].
-
-Most iostream libraries do in fact achieve the desirable
-['nearest representable floating-point binary value] for all values of input.
-However one popular STL library does not quite achieve this for 64-bit doubles. See
-[@http://connect.microsoft.com/VisualStudio/feedback/details/98770/decimal-digit-string-input-to-double-may-be-1-bit-wrong
-Decimal digit string input to double may be 1 bit wrong] for the bizarre full details.
-
-If you are expecting to 'round-trip' `lexical_cast` or `serialization`,
-for example archiving and loading,
-and want to be [*absolutely certain that you will
-always get an exactly identical double value binary pattern],
-you should use the suggested 'workaround' below that is believed to work on all platforms.
-
-You should output using all potentially significant decimal digits,
-by setting stream precision to `std::numeric_limits<double>::max_digits10`,
-(or for the appropriate floating-point type, if not double)
-and crucially, [*require `scientific` format], not `fixed` or automatic (default), for example:
-
- double output_value = any value;
- std::stringstream s;
- s << setprecison(std::numeric_limits<double>::max_digits10) << scientific << output_value;
- s >> input_value;
-
-
-[h4 Use with serialization archives]
-
-It is vital that the same locale is used
-when an archive is saved and when it is loaded.
-Otherwise, loading the archive may fail.
-By default, archives are saved and loaded with a classic C locale
-with a `boost::archive::codecvt_null` facet added.
-Normally you do not have to worry about that.
-
-The constructors for the archive classes, as a side-effect,
-imbue the stream with such a locale.
-However, if you want to use the
-facets `nonfinite_num_put` and `nonfinite_num_get` with archives,
-then you have to manage the locale manually.
-That is done by calling the archive constructor with the flag
-`boost::archive::no_codecvt`, thereby ensuring that the archive constructor
-will [*not imbue the stream with a new locale].
-
-The following code shows how to use `nonfinite_num_put` with a `text_oarchive`.
-
- locale default_locale(locale::classic(), new boost::archive::codecvt_null<char>);
- locale my_locale(default_locale, new nonfinite_num_put<char>);
-
- ofstream ofs("test.txt");
- ofs.imbue(my_locale);
-
- boost::archive::text_oarchive oa(ofs, no_codecvt);
-
- double x = numeric_limits<double>::infinity();
- oa & x;
-
-The same method works with `nonfinite_num_get` and `text_iarchive`.
-
-If you use the `nonfinite_num_put` with `trap_infinity`
-and/or `trap_nan` flag with a serialization archive,
-then you must set the exception mask of the stream.
-Serialization archives do not check the stream state.
-
-
-[h5 Other examples]
-
-[@../../../example/nonfinite_facet_simple.cpp nonfinite_facet_simple.cpp]
-give some more simple demonstrations of the difference between using classic C locale
-and constructing a C99 infinty and NaN compliant locale for input and output.
-
-See [@../../../example/nonfinite_facet_sstream.cpp nonfinite_facet_sstream.cpp]
-for this example of use with `std::stringstream`s.
-
-For an example of how to enforce the MSVC 'legacy'
-"1.#INF" and "1.#QNAN" representations of infinity and NaNs,
-for input and output,
-see [@../../../example/nonfinite_legacy.cpp nonfinite_legacy.cpp].
-
-Treatment of signaling NaN is demonstrated at
-[@../../../example/nonfinite_signaling_NaN.cpp]
-
-Example [@../../../example/nonfinite_loopback_ok.cpp] shows loopback works OK.
-
-Example [@../../../example/nonfinite_num_facet.cpp] shows output and re-input
-of various finite and nonfinite values.
-
-A simple example of trapping nonfinite output is at
-[@../../../example/nonfinite_num_facet_trap.cpp nonfinite_num_facet_trap.cpp].
-
-A very basic example of using Boost.Archive is at
-[@../../../example/nonfinite_serialization_archives.cpp].
-
-A full demonstration of serialization by Francois Mauger is at
-[@../../../example/nonfinite_num_facet_serialization.cpp]
-
-[endsect] [/section:examples Examples]
-
-[section:portability Portability]
-
-This library uses the floating-point number classification and sign-bit from Boost.Math library,
-and should work on all platforms where that library works.
-See the portability information for that library.
-
-[endsect] [/section:portability Portability]
-
-[section:rationale Design Rationale]
-
-* The flags are implemented as a const data member of the facet.
-Facets are reference counted, and locales can share facets.
-Therefore changing the flags of a facet would have effects that are hard to predict.
-An alternative design would be to implement the flags
-using `std::ios_base::xalloc` and `std::ios_base::iword`.
-Then one could safely modify the flags, and one could define manipulators that do so.
-However, for that to work with dynamically linked libraries,
-a `.cpp` file would have to be added to the library.
-It was judged be more desirable to have a headers only library,
-than to have mutable flags and manipulators.
-
-* The facet `nonfinite_num_put` throws an exception when
-the `trap_infinity` or `trap_nan` flag is set
-and an attempt is made to format infinity or NaN.
-It would be better if the facet set the fail bit of the stream.
-However, facets derived from `std::num_put` do not have access to the stream state.
-
-[endsect] [/section:rationale Design Rationale]
-
-[endsect] [/section:fp_facets Facets for Floating-Point Infinities and NaNs]
-
-[/
- Copyright Johan Rade and Paul A. Bristow 2011.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
-
-
diff --git a/libs/math/doc/sf_and_dist/fpclassify.qbk b/libs/math/doc/sf_and_dist/fpclassify.qbk
deleted file mode 100644
index ab7f7f4b92..0000000000
--- a/libs/math/doc/sf_and_dist/fpclassify.qbk
+++ /dev/null
@@ -1,124 +0,0 @@
-[section:fpclass Floating-Point Classification: Infinities and NaNs]
-
-[h4 Synopsis]
-
- #define FP_ZERO /* implementation specific value */
- #define FP_NORMAL /* implementation specific value */
- #define FP_INFINITE /* implementation specific value */
- #define FP_NAN /* implementation specific value */
- #define FP_SUBNORMAL /* implementation specific value */
-
- template <class T>
- int fpclassify(T t);
-
- template <class T>
- bool isfinite(T z); // Neither infinity nor NaN.
-
- template <class T>
- bool isinf(T t); // Infinity (+ or -).
-
- template <class T>
- bool isnan(T t); // NaN.
-
- template <class T>
- bool isnormal(T t); // isfinite and not denormalised.
-
- #include <boost\math\special_functions\fpclassify.hpp>
-
-to use these functions.
-
-[h4 Description]
-
-These functions provide the same functionality as the macros with the same
-name in C99, indeed if the C99 macros are available, then these functions
-are implemented in terms of them, otherwise they rely on std::numeric_limits<>
-to function.
-
-Note that the definition of these functions
-['does not suppress the definition of these names as macros by math.h]
-on those platforms that already provide
-these as macros. That mean that the following have differing meanings:
-
- using namespace boost::math;
-
- // This might call a global macro if defined,
- // but might not work if the type of z is unsupported
- // by the std lib macro:
- isnan(z);
- //
- // This calls the Boost version
- // (found via the "using namespace boost::math" declaration)
- // it works for any type that has numeric_limits support for type z:
- (isnan)(z);
- //
- // As above but with explicit namespace qualification.
- (boost::math::isnan)(z);
- //
- // This will cause a compiler error if isnan is a native macro:
- boost::math::isnan(z);
- // So always use instead:
- (boost::math::isnan)(z);
- //
- // You can also add a using statement,
- // globally to a .cpp file, or to a local function in a .hpp file.
- using boost::math::isnan;
- // so you can write the shorter and less cluttered
- (isnan)(z)
- // But, as above, if isnan is a native macro, this causes a compiler error,
- // because the macro always 'gets' the name first, unless enclosed in () brackets.
-
-Detailed descriptions for each of these functions follows:
-
- template <class T>
- int fpclassify(T t);
-
-Returns an integer value that classifies the value /t/:
-
-[table
-[[fpclassify value] [class of t.]]
-[[FP_ZERO] [If /t/ is zero.]]
-[[FP_NORMAL] [If /t/ is a non-zero, non-denormalised finite value.]]
-[[FP_INFINITE] [If /t/ is plus or minus infinity.]]
-[[FP_NAN] [If /t/ is a NaN.]]
-[[FP_SUBNORMAL] [If /t/ is a denormalised number.]]
-]
-
- template <class T>
- bool isfinite(T z);
-
-Returns true only if /z/ is not an infinity or a NaN.
-
- template <class T>
- bool isinf(T t);
-
-Returns true only if /z/ is plus or minus infinity.
-
- template <class T>
- bool isnan(T t);
-
-Returns true only if /z/ is a [@http://en.wikipedia.org/wiki/NaN NaN].
-
- template <class T>
- bool isnormal(T t);
-
-Returns true only if /z/ is a normal number (not zero, infinite, NaN, or denormalised).
-
-[h5 Floating-point format]
-
-If you wish to find details of the floating-point format for any particular processor,
-there is a program
-
-[@../../../example/inspect_fp.cpp inspect_fp.cpp]
-
-by Johan Rade which can be used to print out the processor type,
-endianness, and detailed bit layout of a selection of floating-point values,
-including infinity and NaNs.
-
-[endsect] [/section:fpclass Floating Point Classification: Infinities and NaNs]
-
-[/
- Copyright 2006, 2008, 2011 John Maddock, Johan Rade and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/graphs/acosh.svg b/libs/math/doc/sf_and_dist/graphs/acosh.svg
deleted file mode 100644
index 3b70317c09..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/acosh.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,333.2 L84.2,333.2 M82.2,307.4 L84.2,307.4 M82.2,294.5 L84.2,294.5 M82.2,281.7 L84.2,281.7 M82.2,255.9 L84.2,255.9 M82.2,243.1 L84.2,243.1 M82.2,230.2 L84.2,230.2 M82.2,204.4 L84.2,204.4 M82.2,191.6 L84.2,191.6 M82.2,178.7 L84.2,178.7 M82.2,153 L84.2,153 M82.2,140.1 L84.2,140.1 M82.2,127.2 L84.2,127.2 M82.2,101.5 L84.2,101.5 M82.2,88.6 L84.2,88.6 M82.2,75.72 L84.2,75.72 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M97.54,341 L97.54,343 M110.9,341 L110.9,343 M124.2,341 L124.2,343 M150.9,341 L150.9,343 M164.2,341 L164.2,343 M177.6,341 L177.6,343 M204.2,341 L204.2,343 M217.6,341 L217.6,343 M230.9,341 L230.9,343 M257.6,341 L257.6,343 M270.9,341 L270.9,343 M284.3,341 L284.3,343 M311,341 L311,343 M324.3,341 L324.3,343 M337.6,341 L337.6,343 M364.3,341 L364.3,343 M377.7,341 L377.7,343 M391,341 L391,343 M417.7,341 L417.7,343 M431,341 L431,343 M444.3,341 L444.3,343 M471,341 L471,343 M484.4,341 L484.4,343 M497.7,341 L497.7,343 M524.4,341 L524.4,343 M537.7,341 L537.7,343 M551.1,341 L551.1,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,320.3 L84.2,320.3 M79.2,268.8 L84.2,268.8 M79.2,217.3 L84.2,217.3 M79.2,165.8 L84.2,165.8 M79.2,114.3 L84.2,114.3 M79.2,62.85 L84.2,62.85 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M137.6,341 L137.6,346 M190.9,341 L190.9,346 M244.3,341 L244.3,346 M297.6,341 L297.6,346 M351,341 L351,346 M404.3,341 L404.3,346 M457.7,341 L457.7,346 M511,341 L511,346 M564.4,341 L564.4,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="137.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="190.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="244.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="297.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="351" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
-<text x="404.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text>
-<text x="457.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">8</text>
-<text x="511" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">9</text>
-<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="322.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="271.2" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="219.7" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="168.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="73.2" y="116.7" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
-<text x="73.2" y="65.25" text-anchor="end" font-size="12" font-family="Verdana">3</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">acosh(z)</text></g>
-<g id="xLabel">
-<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,371.8 L86.6,341 L89,328.4 L91.4,318.9 L93.8,310.9 L96.2,303.9 L98.61,297.7 L101,292 L103.4,286.8 L105.8,282 L108.2,277.4 L110.6,273.1 L113,269.1 L115.4,265.2 L117.8,261.5 L120.2,258 L122.6,254.6 L125,251.4 L127.4,248.3 L129.8,245.2 L132.2,242.3 L134.6,239.5 L137,236.8 L139.4,234.1 L141.8,231.5 L144.2,229 L146.6,226.6 L149,224.2 L151.4,221.9 L153.8,219.6 L156.2,217.4 L158.6,215.3 L161,213.2 L163.4,211.1 L165.8,209.1 L168.2,207.1 L170.6,205.2 L173,203.3 L175.4,201.4 L177.8,199.6 L180.2,197.8 L182.6,196.1 L185,194.3 L187.4,192.7 L189.8,191 L192.2,189.4 L194.6,187.7 L197,186.2 L199.4,184.6 L201.8,183.1 L204.2,181.6 L206.6,180.1 L209.1,178.6 L211.5,177.2 L213.9,175.7 L216.3,174.3 L218.7,173 L221.1,171.6 L223.5,170.2 L225.9,168.9 L228.3,167.6 L230.7,166.3 L233.1,165 L235.5,163.8 L237.9,162.5 L240.3,161.3 L242.7,160.1 L245.1,158.9 L247.5,157.7 L249.9,156.5 L252.3,155.4 L254.7,154.2 L257.1,153.1 L259.5,152 L261.9,150.9 L264.3,149.8 L266.7,148.7 L269.1,147.6 L271.5,146.6 L273.9,145.5 L276.3,144.5 L278.7,143.5 L281.1,142.4 L283.5,141.4 L285.9,140.4 L288.3,139.5 L290.7,138.5 L293.1,137.5 L295.5,136.6 L297.9,135.6 L300.3,134.7 L302.7,133.7 L305.1,132.8 L307.5,131.9 L309.9,131 L312.3,130.1 L314.7,129.2 L317.1,128.3 L319.5,127.4 L321.9,126.6 L324.3,125.7 L326.7,124.9 L329.1,124 L331.5,123.2 L333.9,122.3 L336.3,121.5 L338.7,120.7 L341.1,119.9 L343.5,119.1 L345.9,118.3 L348.3,117.5 L350.7,116.7 L353.1,115.9 L355.5,115.1 L357.9,114.4 L360.3,113.6 L362.7,112.9 L365.1,112.1 L367.5,111.4 L369.9,110.6 L372.3,109.9 L374.7,109.2 L377.1,108.4 L379.5,107.7 L381.9,107 L384.3,106.3 L386.7,105.6 L389.1,104.9 L391.5,104.2 L393.9,103.5 L396.3,102.8 L398.7,102.1 L401.1,101.4 L403.5,100.8 L405.9,100.1 L408.3,99.44 L410.7,98.78 L413.1,98.13 L415.5,97.47 L417.9,96.83 L420.3,96.18 L422.7,95.55 L425.1,94.91 L427.5,94.28 L429.9,93.65 L432.3,93.03 L434.7,92.41 L437.1,91.79 L439.5,91.18 L441.9,90.57 L444.3,89.97 L446.7,89.37 L449.1,88.77 L451.5,88.18 L454,87.59 L456.4,87 L458.8,86.41 L461.2,85.83 L463.6,85.26 L466,84.68 L468.4,84.11 L470.8,83.54 L473.2,82.98 L475.6,82.42 L478,81.86 L480.4,81.3 L482.8,80.75 L485.2,80.2 L487.6,79.65 L490,79.11 L492.4,78.57 L494.8,78.03 L497.2,77.5 L499.6,76.97 L502,76.44 L504.4,75.91 L506.8,75.38 L509.2,74.86 L511.6,74.34 L514,73.83 L516.4,73.31 L518.8,72.8 L521.2,72.3 L523.6,71.79 L526,71.29 L528.4,70.78 L530.8,70.29 L533.2,69.79 L535.6,69.3 L538,68.8 L540.4,68.32 L542.8,67.83 L545.2,67.34 L547.6,66.86 L550,66.38 L552.4,65.9 L554.8,65.43 L557.2,64.96 L559.6,64.48 L562,64.02 L564.4,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">acosh</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/asinh.svg b/libs/math/doc/sf_and_dist/graphs/asinh.svg
deleted file mode 100644
index 9e69dfda91..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/asinh.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,190.7 L75.8,190.7 M73.8,179.1 L75.8,179.1 M73.8,167.6 L75.8,167.6 M73.8,144.4 L75.8,144.4 M73.8,132.9 L75.8,132.9 M73.8,121.3 L75.8,121.3 M73.8,98.17 L75.8,98.17 M73.8,86.6 L75.8,86.6 M73.8,75.03 L75.8,75.03 M73.8,202.3 L75.8,202.3 M73.8,213.8 L75.8,213.8 M73.8,225.4 L75.8,225.4 M73.8,237 L75.8,237 M73.8,248.5 L75.8,248.5 M73.8,260.1 L75.8,260.1 M73.8,271.7 L75.8,271.7 M73.8,283.2 L75.8,283.2 M73.8,294.8 L75.8,294.8 M73.8,306.4 L75.8,306.4 M73.8,317.9 L75.8,317.9 M73.8,329.5 L75.8,329.5 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.9,341 L136.9,343 M106.3,341 L106.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,156 L75.8,156 M70.8,109.7 L75.8,109.7 M70.8,63.47 L75.8,63.47 M70.8,202.3 L75.8,202.3 M70.8,248.5 L75.8,248.5 M70.8,294.8 L75.8,294.8 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 M320,341 L320,346 M197.9,341 L197.9,346 M75.8,341 L75.8,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
-<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="158.4" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="64.8" y="112.1" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="64.8" y="65.87" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="250.9" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
-<text x="64.8" y="297.2" text-anchor="end" font-size="12" font-family="Verdana">-2</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">asinh(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,340.5 L80.68,340.1 L83.13,339.6 L85.57,339.1 L88.01,338.6 L90.45,338.2 L92.9,337.7 L95.34,337.2 L97.78,336.7 L100.2,336.2 L102.7,335.6 L105.1,335.1 L107.5,334.6 L110,334.1 L112.4,333.5 L114.9,333 L117.3,332.4 L119.8,331.9 L122.2,331.3 L124.6,330.7 L127.1,330.2 L129.5,329.6 L132,329 L134.4,328.4 L136.9,327.8 L139.3,327.2 L141.7,326.5 L144.2,325.9 L146.6,325.3 L149.1,324.6 L151.5,324 L153.9,323.3 L156.4,322.6 L158.8,321.9 L161.3,321.2 L163.7,320.5 L166.2,319.8 L168.6,319.1 L171,318.3 L173.5,317.6 L175.9,316.8 L178.4,316 L180.8,315.2 L183.3,314.4 L185.7,313.6 L188.1,312.8 L190.6,311.9 L193,311.1 L195.5,310.2 L197.9,309.3 L200.3,308.4 L202.8,307.4 L205.2,306.5 L207.7,305.5 L210.1,304.5 L212.6,303.5 L215,302.4 L217.4,301.4 L219.9,300.3 L222.3,299.2 L224.8,298.1 L227.2,296.9 L229.7,295.7 L232.1,294.5 L234.5,293.2 L237,291.9 L239.4,290.6 L241.9,289.3 L244.3,287.9 L246.8,286.4 L249.2,284.9 L251.6,283.4 L254.1,281.8 L256.5,280.2 L259,278.5 L261.4,276.7 L263.8,274.9 L266.3,273.1 L268.7,271.1 L271.2,269.1 L273.6,267 L276.1,264.8 L278.5,262.5 L280.9,260.1 L283.4,257.6 L285.8,254.9 L288.3,252.2 L290.7,249.3 L293.2,246.2 L295.6,243.1 L298,239.7 L300.5,236.2 L302.9,232.5 L305.4,228.6 L307.8,224.5 L310.2,220.3 L312.7,216 L315.1,211.5 L317.6,206.9 L320,202.3 L322.5,197.7 L324.9,193.1 L327.3,188.6 L329.8,184.2 L332.2,180 L334.7,176 L337.1,172.1 L339.6,168.4 L342,164.8 L344.4,161.5 L346.9,158.3 L349.3,155.3 L351.8,152.4 L354.2,149.6 L356.6,147 L359.1,144.5 L361.5,142.1 L364,139.8 L366.4,137.6 L368.9,135.5 L371.3,133.4 L373.7,131.5 L376.2,129.6 L378.6,127.8 L381.1,126.1 L383.5,124.4 L386,122.7 L388.4,121.2 L390.8,119.6 L393.3,118.1 L395.7,116.7 L398.2,115.3 L400.6,113.9 L403,112.6 L405.5,111.3 L407.9,110.1 L410.4,108.8 L412.8,107.7 L415.3,106.5 L417.7,105.4 L420.1,104.2 L422.6,103.2 L425,102.1 L427.5,101.1 L429.9,100 L432.4,99.06 L434.8,98.08 L437.2,97.13 L439.7,96.2 L442.1,95.28 L444.6,94.38 L447,93.5 L449.4,92.63 L451.9,91.78 L454.3,90.95 L456.8,90.13 L459.2,89.32 L461.7,88.53 L464.1,87.75 L466.5,86.98 L469,86.23 L471.4,85.48 L473.9,84.75 L476.3,84.03 L478.8,83.32 L481.2,82.63 L483.6,81.94 L486.1,81.26 L488.5,80.59 L491,79.93 L493.4,79.28 L495.9,78.64 L498.3,78.01 L500.7,77.39 L503.2,76.77 L505.6,76.16 L508.1,75.56 L510.5,74.97 L512.9,74.39 L515.4,73.81 L517.8,73.24 L520.3,72.68 L522.7,72.12 L525.2,71.57 L527.6,71.02 L530,70.49 L532.5,69.96 L534.9,69.43 L537.4,68.91 L539.8,68.4 L542.3,67.89 L544.7,67.39 L547.1,66.89 L549.6,66.4 L552,65.91 L554.5,65.43 L556.9,64.95 L559.3,64.48 L561.8,64.01 L564.2,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">asinh</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/atanh.svg b/libs/math/doc/sf_and_dist/graphs/atanh.svg
deleted file mode 100644
index a74ddba341..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/atanh.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,195.3 L75.8,195.3 M73.8,188.4 L75.8,188.4 M73.8,181.5 L75.8,181.5 M73.8,167.6 L75.8,167.6 M73.8,160.7 L75.8,160.7 M73.8,153.7 L75.8,153.7 M73.8,139.8 L75.8,139.8 M73.8,132.9 L75.8,132.9 M73.8,126 L75.8,126 M73.8,112.1 L75.8,112.1 M73.8,105.2 L75.8,105.2 M73.8,98.23 L75.8,98.23 M73.8,84.36 L75.8,84.36 M73.8,77.42 L75.8,77.42 M73.8,70.49 L75.8,70.49 M73.8,202.3 L75.8,202.3 M73.8,209.2 L75.8,209.2 M73.8,216.1 L75.8,216.1 M73.8,223.1 L75.8,223.1 M73.8,230 L75.8,230 M73.8,237 L75.8,237 M73.8,243.9 L75.8,243.9 M73.8,250.8 L75.8,250.8 M73.8,257.8 L75.8,257.8 M73.8,264.7 L75.8,264.7 M73.8,271.6 L75.8,271.6 M73.8,278.6 L75.8,278.6 M73.8,285.5 L75.8,285.5 M73.8,292.4 L75.8,292.4 M73.8,299.4 L75.8,299.4 M73.8,306.3 L75.8,306.3 M73.8,313.3 L75.8,313.3 M73.8,320.2 L75.8,320.2 M73.8,327.1 L75.8,327.1 M73.8,334.1 L75.8,334.1 M73.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.8,341 L136.8,343 M106.3,341 L106.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,174.5 L75.8,174.5 M70.8,146.8 L75.8,146.8 M70.8,119 L75.8,119 M70.8,91.29 L75.8,91.29 M70.8,63.55 L75.8,63.55 M70.8,202.3 L75.8,202.3 M70.8,230 L75.8,230 M70.8,257.8 L75.8,257.8 M70.8,285.5 L75.8,285.5 M70.8,313.3 L75.8,313.3 M70.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.3,341 L564.3,346 M320,341 L320,346 M197.9,341 L197.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="564.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="64.8" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="64.8" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="64.8" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">4</text>
-<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
-<text x="64.8" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
-<text x="64.8" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">-3</text>
-<text x="64.8" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">-4</text>
-<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">atanh(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,275.6 L80.68,266 L83.13,260.3 L85.57,256.2 L88.01,253.1 L90.45,250.5 L92.9,248.3 L95.34,246.3 L97.78,244.6 L100.2,243.1 L102.7,241.7 L105.1,240.4 L107.5,239.3 L110,238.2 L112.4,237.1 L114.9,236.1 L117.3,235.2 L119.8,234.4 L122.2,233.5 L124.6,232.8 L127.1,232 L129.5,231.3 L132,230.6 L134.4,229.9 L136.9,229.3 L139.3,228.6 L141.7,228 L144.2,227.5 L146.6,226.9 L149.1,226.3 L151.5,225.8 L153.9,225.3 L156.4,224.8 L158.8,224.3 L161.3,223.8 L163.7,223.3 L166.2,222.8 L168.6,222.4 L171,221.9 L173.5,221.5 L175.9,221.1 L178.4,220.7 L180.8,220.2 L183.3,219.8 L185.7,219.4 L188.1,219 L190.6,218.6 L193,218.3 L195.5,217.9 L197.9,217.5 L200.3,217.1 L202.8,216.8 L205.2,216.4 L207.7,216.1 L210.1,215.7 L212.6,215.4 L215,215 L217.4,214.7 L219.9,214.4 L222.3,214 L224.8,213.7 L227.2,213.4 L229.7,213.1 L232.1,212.7 L234.5,212.4 L237,212.1 L239.4,211.8 L241.9,211.5 L244.3,211.2 L246.8,210.9 L249.2,210.6 L251.6,210.3 L254.1,210 L256.5,209.7 L259,209.4 L261.4,209.1 L263.8,208.8 L266.3,208.5 L268.7,208.2 L271.2,207.9 L273.6,207.6 L276.1,207.3 L278.5,207 L280.9,206.8 L283.4,206.5 L285.8,206.2 L288.3,205.9 L290.7,205.6 L293.2,205.3 L295.6,205.1 L298,204.8 L300.5,204.5 L302.9,204.2 L305.4,203.9 L307.8,203.7 L310.2,203.4 L312.7,203.1 L315.1,202.8 L317.6,202.6 L320,202.3 L322.5,202 L324.9,201.7 L327.3,201.4 L329.8,201.2 L332.2,200.9 L334.7,200.6 L337.1,200.3 L339.6,200.1 L342,199.8 L344.4,199.5 L346.9,199.2 L349.3,198.9 L351.8,198.6 L354.2,198.4 L356.6,198.1 L359.1,197.8 L361.5,197.5 L364,197.2 L366.4,196.9 L368.9,196.7 L371.3,196.4 L373.7,196.1 L376.2,195.8 L378.6,195.5 L381.1,195.2 L383.5,194.9 L386,194.6 L388.4,194.3 L390.8,194 L393.3,193.7 L395.7,193.4 L398.2,193.1 L400.6,192.8 L403,192.5 L405.5,192.1 L407.9,191.8 L410.4,191.5 L412.8,191.2 L415.3,190.9 L417.7,190.5 L420.1,190.2 L422.6,189.9 L425,189.5 L427.5,189.2 L429.9,188.8 L432.4,188.5 L434.8,188.1 L437.2,187.8 L439.7,187.4 L442.1,187 L444.6,186.7 L447,186.3 L449.4,185.9 L451.9,185.5 L454.3,185.1 L456.8,184.7 L459.2,184.3 L461.7,183.9 L464.1,183.5 L466.5,183 L469,182.6 L471.4,182.2 L473.9,181.7 L476.3,181.2 L478.8,180.8 L481.2,180.3 L483.6,179.8 L486.1,179.3 L488.5,178.8 L491,178.2 L493.4,177.7 L495.9,177.1 L498.3,176.5 L500.7,175.9 L503.2,175.3 L505.6,174.6 L508.1,174 L510.5,173.3 L512.9,172.6 L515.4,171.8 L517.8,171 L520.3,170.2 L522.7,169.3 L525.2,168.4 L527.6,167.4 L530,166.4 L532.5,165.3 L534.9,164.1 L537.4,162.8 L539.8,161.4 L542.3,159.9 L544.7,158.2 L547.1,156.3 L549.6,154.1 L552,151.5 L554.5,148.3 L556.9,144.3 L559.3,138.6 L561.8,129 L564.2,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">atanh</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.svg b/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.svg
deleted file mode 100644
index fa0d01abf7..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/bernoulli_cdf.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="212.9" y1="58" x2="212.9" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M212.9,341 L212.9,346 M470.3,341 L470.3,346 M212.9,341 L212.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="470.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M116.4,341 L116.4,341 L116.4,148 L180.7,148 L180.7,341 L373.8,341 L373.8,83.73 L438.1,83.73 L438.1,341 L438.1,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M180.7,341 L180.7,341 L180.7,212.4 L245.1,212.4 L245.1,341 L438.1,341 L438.1,83.73 L502.4,83.73 L502.4,341 L502.4,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M245.1,341 L245.1,341 L245.1,276.7 L309.4,276.7 L309.4,341 L502.4,341 L502.4,83.73 L566.8,83.73 L566.8,341 L566.8,341 Z" fill="rgb(0,100,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="105"/><rect x="613" y="58" width="111" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="650.5" y="88" font-size="15" font-family="Verdana">p=0.25</text>
-<text x="650.5" y="118" font-size="15" font-family="Verdana">p=0.5</text>
-<text x="650.5" y="148" font-size="15" font-family="Verdana">p=0.75</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bernoulli Distribution CDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.svg b/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.svg
deleted file mode 100644
index 4e68853c0c..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/bernoulli_pdf.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="212.9" y1="58" x2="212.9" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.3 L84.2,327.3 M82.2,320.4 L84.2,320.4 M82.2,313.6 L84.2,313.6 M82.2,299.8 L84.2,299.8 M82.2,293 L84.2,293 M82.2,286.1 L84.2,286.1 M82.2,279.3 L84.2,279.3 M82.2,265.5 L84.2,265.5 M82.2,258.7 L84.2,258.7 M82.2,251.8 L84.2,251.8 M82.2,245 L84.2,245 M82.2,231.2 L84.2,231.2 M82.2,224.4 L84.2,224.4 M82.2,217.5 L84.2,217.5 M82.2,210.6 L84.2,210.6 M82.2,196.9 L84.2,196.9 M82.2,190.1 L84.2,190.1 M82.2,183.2 L84.2,183.2 M82.2,176.3 L84.2,176.3 M82.2,162.6 L84.2,162.6 M82.2,155.8 L84.2,155.8 M82.2,148.9 L84.2,148.9 M82.2,142 L84.2,142 M82.2,128.3 L84.2,128.3 M82.2,121.5 L84.2,121.5 M82.2,114.6 L84.2,114.6 M82.2,107.7 L84.2,107.7 M82.2,94.02 L84.2,94.02 M82.2,87.16 L84.2,87.16 M82.2,80.3 L84.2,80.3 M82.2,73.44 L84.2,73.44 M82.2,59.72 L84.2,59.72 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306.7 L84.2,306.7 M79.2,272.4 L84.2,272.4 M79.2,238.1 L84.2,238.1 M79.2,203.8 L84.2,203.8 M79.2,169.5 L84.2,169.5 M79.2,135.2 L84.2,135.2 M79.2,100.9 L84.2,100.9 M79.2,66.58 L84.2,66.58 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M212.9,341 L212.9,346 M470.3,341 L470.3,346 M212.9,341 L212.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="470.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="212.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="309.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="274.8" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="206.2" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="171.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="103.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="68.98" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M116.4,341 L116.4,341 L116.4,83.73 L180.7,83.73 L180.7,341 L373.8,341 L373.8,255.2 L438.1,255.2 L438.1,341 L438.1,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M180.7,341 L180.7,341 L180.7,169.5 L245.1,169.5 L245.1,341 L438.1,341 L438.1,169.5 L502.4,169.5 L502.4,341 L502.4,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M245.1,341 L245.1,341 L245.1,255.2 L309.4,255.2 L309.4,341 L502.4,341 L502.4,83.73 L566.8,83.73 L566.8,341 L566.8,341 Z" fill="rgb(0,100,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="105"/><rect x="613" y="58" width="111" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="650.5" y="88" font-size="15" font-family="Verdana">p=0.25</text>
-<text x="650.5" y="118" font-size="15" font-family="Verdana">p=0.5</text>
-<text x="650.5" y="148" font-size="15" font-family="Verdana">p=0.75</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bernoulli Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/beta.svg b/libs/math/doc/sf_and_dist/graphs/beta.svg
deleted file mode 100644
index 3d073e3197..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/beta.svg
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="359.5" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="361.5" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="217.9" x2="437.3" y2="217.9"/><line x1="70.8" y1="341" x2="437.3" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,201.1 L75.8,201.1 M73.8,184.4 L75.8,184.4 M73.8,167.6 L75.8,167.6 M73.8,134.1 L75.8,134.1 M73.8,117.3 L75.8,117.3 M73.8,100.6 L75.8,100.6 M73.8,67.07 L75.8,67.07 M73.8,217.9 L75.8,217.9 M73.8,234.7 L75.8,234.7 M73.8,251.4 L75.8,251.4 M73.8,268.2 L75.8,268.2 M73.8,284.9 L75.8,284.9 M73.8,301.7 L75.8,301.7 M73.8,318.4 L75.8,318.4 M73.8,335.2 L75.8,335.2 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M93.52,341 L93.52,343 M111.2,341 L111.2,343 M129,341 L129,343 M164.4,341 L164.4,343 M182.1,341 L182.1,343 M199.8,341 L199.8,343 M235.3,341 L235.3,343 M253,341 L253,343 M270.7,341 L270.7,343 M306.2,341 L306.2,343 M323.9,341 L323.9,343 M341.6,341 L341.6,343 M377,341 L377,343 M394.8,341 L394.8,343 M412.5,341 L412.5,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,217.9 L75.8,217.9 M70.8,150.9 L75.8,150.9 M70.8,83.83 L75.8,83.83 M70.8,217.9 L75.8,217.9 M70.8,284.9 L75.8,284.9 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.8,341 L75.8,346 M146.7,341 L146.7,346 M217.6,341 L217.6,346 M288.4,341 L288.4,346 M359.3,341 L359.3,346 M430.2,341 L430.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="146.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="217.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="288.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="359.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="430.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="220.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="153.3" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="64.8" y="86.23" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="64.8" y="220.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="287.3" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">log(beta(a, z))</text></g>
-<g id="xLabel">
-<text x="256.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L77.57,168 L79.34,176.9 L81.12,181.9 L82.89,185.4 L84.66,188 L86.43,190.1 L88.2,191.8 L89.98,193.3 L91.75,194.6 L93.52,195.7 L95.29,196.7 L97.06,197.6 L98.84,198.4 L100.6,199.1 L102.4,199.8 L104.2,200.4 L105.9,201 L107.7,201.6 L109.5,202.1 L111.2,202.6 L113,203 L114.8,203.4 L116.6,203.8 L118.3,204.2 L120.1,204.6 L121.9,204.9 L123.6,205.3 L125.4,205.6 L127.2,205.9 L129,206.2 L130.7,206.5 L132.5,206.7 L134.3,207 L136,207.3 L137.8,207.5 L139.6,207.7 L141.4,208 L143.1,208.2 L144.9,208.4 L146.7,208.6 L148.5,208.8 L150.2,209 L152,209.2 L153.8,209.4 L155.5,209.6 L157.3,209.7 L159.1,209.9 L160.9,210.1 L162.6,210.3 L164.4,210.4 L166.2,210.6 L167.9,210.7 L169.7,210.9 L171.5,211 L173.3,211.2 L175,211.3 L176.8,211.4 L178.6,211.6 L180.3,211.7 L182.1,211.8 L183.9,212 L185.7,212.1 L187.4,212.2 L189.2,212.3 L191,212.5 L192.7,212.6 L194.5,212.7 L196.3,212.8 L198.1,212.9 L199.8,213 L201.6,213.1 L203.4,213.2 L205.2,213.4 L206.9,213.5 L208.7,213.6 L210.5,213.7 L212.2,213.8 L214,213.9 L215.8,213.9 L217.6,214 L219.3,214.1 L221.1,214.2 L222.9,214.3 L224.6,214.4 L226.4,214.5 L228.2,214.6 L230,214.7 L231.7,214.8 L233.5,214.8 L235.3,214.9 L237,215 L238.8,215.1 L240.6,215.2 L242.4,215.2 L244.1,215.3 L245.9,215.4 L247.7,215.5 L249.5,215.6 L251.2,215.6 L253,215.7 L254.8,215.8 L256.5,215.8 L258.3,215.9 L260.1,216 L261.9,216.1 L263.6,216.1 L265.4,216.2 L267.2,216.3 L268.9,216.3 L270.7,216.4 L272.5,216.5 L274.3,216.5 L276,216.6 L277.8,216.7 L279.6,216.7 L281.3,216.8 L283.1,216.8 L284.9,216.9 L286.7,217 L288.4,217 L290.2,217.1 L292,217.2 L293.8,217.2 L295.5,217.3 L297.3,217.3 L299.1,217.4 L300.8,217.4 L302.6,217.5 L304.4,217.6 L306.2,217.6 L307.9,217.7 L309.7,217.7 L311.5,217.8 L313.2,217.8 L315,217.9 L316.8,217.9 L318.6,218 L320.3,218 L322.1,218.1 L323.9,218.1 L325.6,218.2 L327.4,218.2 L329.2,218.3 L331,218.3 L332.7,218.4 L334.5,218.4 L336.3,218.5 L338.1,218.5 L339.8,218.6 L341.6,218.6 L343.4,218.7 L345.1,218.7 L346.9,218.8 L348.7,218.8 L350.5,218.9 L352.2,218.9 L354,219 L355.8,219 L357.5,219.1 L359.3,219.1 L361.1,219.1 L362.9,219.2 L364.6,219.2 L366.4,219.3 L368.2,219.3 L369.9,219.4 L371.7,219.4 L373.5,219.4 L375.3,219.5 L377,219.5 L378.8,219.6 L380.6,219.6 L382.3,219.7 L384.1,219.7 L385.9,219.7 L387.7,219.8 L389.4,219.8 L391.2,219.9 L393,219.9 L394.8,219.9 L396.5,220 L398.3,220 L400.1,220.1 L401.8,220.1 L403.6,220.1 L405.4,220.2 L407.2,220.2 L408.9,220.2 L410.7,220.3 L412.5,220.3 L414.2,220.4 L416,220.4 L417.8,220.4 L419.6,220.5 L421.3,220.5 L423.1,220.5 L424.9,220.6 L426.6,220.6 L428.4,220.6 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M75.8,63.55 L77.57,168.4 L79.34,177.7 L81.12,183.2 L82.89,187 L84.66,190 L86.43,192.5 L88.2,194.5 L89.98,196.3 L91.75,197.9 L93.52,199.3 L95.29,200.6 L97.06,201.8 L98.84,202.8 L100.6,203.8 L102.4,204.7 L104.2,205.6 L105.9,206.4 L107.7,207.2 L109.5,207.9 L111.2,208.6 L113,209.3 L114.8,209.9 L116.6,210.5 L118.3,211.1 L120.1,211.6 L121.9,212.1 L123.6,212.6 L125.4,213.1 L127.2,213.6 L129,214 L130.7,214.5 L132.5,214.9 L134.3,215.3 L136,215.7 L137.8,216.1 L139.6,216.5 L141.4,216.9 L143.1,217.2 L144.9,217.6 L146.7,217.9 L148.5,218.2 L150.2,218.6 L152,218.9 L153.8,219.2 L155.5,219.5 L157.3,219.8 L159.1,220.1 L160.9,220.3 L162.6,220.6 L164.4,220.9 L166.2,221.2 L167.9,221.4 L169.7,221.7 L171.5,221.9 L173.3,222.2 L175,222.4 L176.8,222.6 L178.6,222.9 L180.3,223.1 L182.1,223.3 L183.9,223.6 L185.7,223.8 L187.4,224 L189.2,224.2 L191,224.4 L192.7,224.6 L194.5,224.8 L196.3,225 L198.1,225.2 L199.8,225.4 L201.6,225.6 L203.4,225.8 L205.2,226 L206.9,226.1 L208.7,226.3 L210.5,226.5 L212.2,226.7 L214,226.9 L215.8,227 L217.6,227.2 L219.3,227.4 L221.1,227.5 L222.9,227.7 L224.6,227.8 L226.4,228 L228.2,228.2 L230,228.3 L231.7,228.5 L233.5,228.6 L235.3,228.8 L237,228.9 L238.8,229.1 L240.6,229.2 L242.4,229.4 L244.1,229.5 L245.9,229.6 L247.7,229.8 L249.5,229.9 L251.2,230 L253,230.2 L254.8,230.3 L256.5,230.4 L258.3,230.6 L260.1,230.7 L261.9,230.8 L263.6,231 L265.4,231.1 L267.2,231.2 L268.9,231.3 L270.7,231.5 L272.5,231.6 L274.3,231.7 L276,231.8 L277.8,231.9 L279.6,232.1 L281.3,232.2 L283.1,232.3 L284.9,232.4 L286.7,232.5 L288.4,232.6 L290.2,232.7 L292,232.8 L293.8,233 L295.5,233.1 L297.3,233.2 L299.1,233.3 L300.8,233.4 L302.6,233.5 L304.4,233.6 L306.2,233.7 L307.9,233.8 L309.7,233.9 L311.5,234 L313.2,234.1 L315,234.2 L316.8,234.3 L318.6,234.4 L320.3,234.5 L322.1,234.6 L323.9,234.7 L325.6,234.8 L327.4,234.9 L329.2,235 L331,235.1 L332.7,235.2 L334.5,235.3 L336.3,235.3 L338.1,235.4 L339.8,235.5 L341.6,235.6 L343.4,235.7 L345.1,235.8 L346.9,235.9 L348.7,236 L350.5,236.1 L352.2,236.1 L354,236.2 L355.8,236.3 L357.5,236.4 L359.3,236.5 L361.1,236.6 L362.9,236.7 L364.6,236.7 L366.4,236.8 L368.2,236.9 L369.9,237 L371.7,237.1 L373.5,237.1 L375.3,237.2 L377,237.3 L378.8,237.4 L380.6,237.5 L382.3,237.5 L384.1,237.6 L385.9,237.7 L387.7,237.8 L389.4,237.8 L391.2,237.9 L393,238 L394.8,238.1 L396.5,238.1 L398.3,238.2 L400.1,238.3 L401.8,238.4 L403.6,238.4 L405.4,238.5 L407.2,238.6 L408.9,238.6 L410.7,238.7 L412.5,238.8 L414.2,238.9 L416,238.9 L417.8,239 L419.6,239.1 L421.3,239.1 L423.1,239.2 L424.9,239.3 L426.6,239.3 L428.4,239.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M75.8,63.55 L77.57,169.1 L79.34,179.1 L81.12,185.2 L82.89,189.7 L84.66,193.4 L86.43,196.5 L88.2,199.2 L89.98,201.6 L91.75,203.8 L93.52,205.8 L95.29,207.6 L97.06,209.4 L98.84,211 L100.6,212.6 L102.4,214.1 L104.2,215.5 L105.9,216.9 L107.7,218.2 L109.5,219.5 L111.2,220.7 L113,221.9 L114.8,223 L116.6,224.1 L118.3,225.2 L120.1,226.2 L121.9,227.3 L123.6,228.3 L125.4,229.2 L127.2,230.2 L129,231.1 L130.7,232 L132.5,232.9 L134.3,233.8 L136,234.6 L137.8,235.5 L139.6,236.3 L141.4,237.1 L143.1,237.9 L144.9,238.7 L146.7,239.5 L148.5,240.2 L150.2,241 L152,241.7 L153.8,242.4 L155.5,243.2 L157.3,243.9 L159.1,244.6 L160.9,245.2 L162.6,245.9 L164.4,246.6 L166.2,247.2 L167.9,247.9 L169.7,248.5 L171.5,249.2 L173.3,249.8 L175,250.4 L176.8,251 L178.6,251.6 L180.3,252.2 L182.1,252.8 L183.9,253.4 L185.7,254 L187.4,254.6 L189.2,255.1 L191,255.7 L192.7,256.2 L194.5,256.8 L196.3,257.3 L198.1,257.9 L199.8,258.4 L201.6,258.9 L203.4,259.5 L205.2,260 L206.9,260.5 L208.7,261 L210.5,261.5 L212.2,262 L214,262.5 L215.8,263 L217.6,263.5 L219.3,264 L221.1,264.5 L222.9,264.9 L224.6,265.4 L226.4,265.9 L228.2,266.3 L230,266.8 L231.7,267.3 L233.5,267.7 L235.3,268.2 L237,268.6 L238.8,269.1 L240.6,269.5 L242.4,269.9 L244.1,270.4 L245.9,270.8 L247.7,271.2 L249.5,271.6 L251.2,272.1 L253,272.5 L254.8,272.9 L256.5,273.3 L258.3,273.7 L260.1,274.1 L261.9,274.5 L263.6,274.9 L265.4,275.3 L267.2,275.7 L268.9,276.1 L270.7,276.5 L272.5,276.9 L274.3,277.3 L276,277.7 L277.8,278.1 L279.6,278.4 L281.3,278.8 L283.1,279.2 L284.9,279.6 L286.7,279.9 L288.4,280.3 L290.2,280.7 L292,281 L293.8,281.4 L295.5,281.7 L297.3,282.1 L299.1,282.5 L300.8,282.8 L302.6,283.2 L304.4,283.5 L306.2,283.9 L307.9,284.2 L309.7,284.5 L311.5,284.9 L313.2,285.2 L315,285.6 L316.8,285.9 L318.6,286.2 L320.3,286.6 L322.1,286.9 L323.9,287.2 L325.6,287.5 L327.4,287.9 L329.2,288.2 L331,288.5 L332.7,288.8 L334.5,289.1 L336.3,289.5 L338.1,289.8 L339.8,290.1 L341.6,290.4 L343.4,290.7 L345.1,291 L346.9,291.3 L348.7,291.6 L350.5,291.9 L352.2,292.2 L354,292.5 L355.8,292.8 L357.5,293.1 L359.3,293.4 L361.1,293.7 L362.9,294 L364.6,294.3 L366.4,294.6 L368.2,294.9 L369.9,295.2 L371.7,295.5 L373.5,295.8 L375.3,296.1 L377,296.3 L378.8,296.6 L380.6,296.9 L382.3,297.2 L384.1,297.5 L385.9,297.7 L387.7,298 L389.4,298.3 L391.2,298.6 L393,298.8 L394.8,299.1 L396.5,299.4 L398.3,299.7 L400.1,299.9 L401.8,300.2 L403.6,300.5 L405.4,300.7 L407.2,301 L408.9,301.2 L410.7,301.5 L412.5,301.8 L414.2,302 L416,302.3 L417.8,302.5 L419.6,302.8 L421.3,303.1 L423.1,303.3 L424.9,303.6 L426.6,303.8 L428.4,304.1 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M75.8,63.55 L77.57,169.4 L79.34,179.6 L81.12,186 L82.89,190.7 L84.66,194.6 L86.43,197.9 L88.2,200.9 L89.98,203.5 L91.75,206 L93.52,208.2 L95.29,210.3 L97.06,212.3 L98.84,214.2 L100.6,216 L102.4,217.7 L104.2,219.4 L105.9,221 L107.7,222.5 L109.5,224 L111.2,225.5 L113,226.9 L114.8,228.3 L116.6,229.6 L118.3,230.9 L120.1,232.2 L121.9,233.4 L123.6,234.7 L125.4,235.9 L127.2,237 L129,238.2 L130.7,239.3 L132.5,240.5 L134.3,241.5 L136,242.6 L137.8,243.7 L139.6,244.7 L141.4,245.8 L143.1,246.8 L144.9,247.8 L146.7,248.8 L148.5,249.7 L150.2,250.7 L152,251.7 L153.8,252.6 L155.5,253.5 L157.3,254.4 L159.1,255.3 L160.9,256.2 L162.6,257.1 L164.4,258 L166.2,258.9 L167.9,259.7 L169.7,260.6 L171.5,261.4 L173.3,262.3 L175,263.1 L176.8,263.9 L178.6,264.7 L180.3,265.5 L182.1,266.3 L183.9,267.1 L185.7,267.9 L187.4,268.7 L189.2,269.4 L191,270.2 L192.7,270.9 L194.5,271.7 L196.3,272.4 L198.1,273.2 L199.8,273.9 L201.6,274.6 L203.4,275.3 L205.2,276.1 L206.9,276.8 L208.7,277.5 L210.5,278.2 L212.2,278.9 L214,279.6 L215.8,280.2 L217.6,280.9 L219.3,281.6 L221.1,282.3 L222.9,282.9 L224.6,283.6 L226.4,284.2 L228.2,284.9 L230,285.5 L231.7,286.2 L233.5,286.8 L235.3,287.5 L237,288.1 L238.8,288.7 L240.6,289.4 L242.4,290 L244.1,290.6 L245.9,291.2 L247.7,291.8 L249.5,292.4 L251.2,293 L253,293.6 L254.8,294.2 L256.5,294.8 L258.3,295.4 L260.1,296 L261.9,296.6 L263.6,297.1 L265.4,297.7 L267.2,298.3 L268.9,298.9 L270.7,299.4 L272.5,300 L274.3,300.6 L276,301.1 L277.8,301.7 L279.6,302.2 L281.3,302.8 L283.1,303.3 L284.9,303.9 L286.7,304.4 L288.4,304.9 L290.2,305.5 L292,306 L293.8,306.5 L295.5,307.1 L297.3,307.6 L299.1,308.1 L300.8,308.6 L302.6,309.2 L304.4,309.7 L306.2,310.2 L307.9,310.7 L309.7,311.2 L311.5,311.7 L313.2,312.2 L315,312.7 L316.8,313.2 L318.6,313.7 L320.3,314.2 L322.1,314.7 L323.9,315.2 L325.6,315.7 L327.4,316.2 L329.2,316.7 L331,317.1 L332.7,317.6 L334.5,318.1 L336.3,318.6 L338.1,319 L339.8,319.5 L341.6,320 L343.4,320.5 L345.1,320.9 L346.9,321.4 L348.7,321.9 L350.5,322.3 L352.2,322.8 L354,323.2 L355.8,323.7 L357.5,324.1 L359.3,324.6 L361.1,325 L362.9,325.5 L364.6,325.9 L366.4,326.4 L368.2,326.8 L369.9,327.3 L371.7,327.7 L373.5,328.2 L375.3,328.6 L377,329 L378.8,329.5 L380.6,329.9 L382.3,330.3 L384.1,330.8 L385.9,331.2 L387.7,331.6 L389.4,332 L391.2,332.5 L393,332.9 L394.8,333.3 L396.5,333.7 L398.3,334.1 L400.1,334.5 L401.8,335 L403.6,335.4 L405.4,335.8 L407.2,336.2 L408.9,336.6 L410.7,337 L412.5,337.4 L414.2,337.8 L416,338.2 L417.8,338.6 L419.6,339 L421.3,339.4 L423.1,339.8 L424.9,340.2 L426.6,340.6 L428.4,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="126"/><rect x="451.3" y="58" width="122.7" height="126"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
-</g>
-<g id="legendText">
-<text x="486.3" y="86" font-size="14" font-family="Verdana">a = 0.5</text>
-<text x="486.3" y="114" font-size="14" font-family="Verdana">a = 1.0</text>
-<text x="486.3" y="142" font-size="14" font-family="Verdana">a = 5.0</text>
-<text x="486.3" y="170" font-size="14" font-family="Verdana">a = 10.0</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">beta</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/beta_pdf.svg b/libs/math/doc/sf_and_dist/graphs/beta_pdf.svg
deleted file mode 100644
index 102780ac7c..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/beta_pdf.svg
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="410.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="412.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="497" y2="341"/><line x1="79.2" y1="341" x2="497" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,332.1 L84.2,332.1 M82.2,323.1 L84.2,323.1 M82.2,314.2 L84.2,314.2 M82.2,305.3 L84.2,305.3 M82.2,287.4 L84.2,287.4 M82.2,278.5 L84.2,278.5 M82.2,269.6 L84.2,269.6 M82.2,260.6 L84.2,260.6 M82.2,242.8 L84.2,242.8 M82.2,233.8 L84.2,233.8 M82.2,224.9 L84.2,224.9 M82.2,216 L84.2,216 M82.2,198.1 L84.2,198.1 M82.2,189.2 L84.2,189.2 M82.2,180.3 L84.2,180.3 M82.2,171.3 L84.2,171.3 M82.2,153.5 L84.2,153.5 M82.2,144.6 L84.2,144.6 M82.2,135.6 L84.2,135.6 M82.2,126.7 L84.2,126.7 M82.2,108.8 L84.2,108.8 M82.2,99.91 L84.2,99.91 M82.2,90.98 L84.2,90.98 M82.2,82.05 L84.2,82.05 M82.2,64.19 L84.2,64.19 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M92.46,341 L92.46,343 M100.7,341 L100.7,343 M109,341 L109,343 M117.2,341 L117.2,343 M133.7,341 L133.7,343 M142,341 L142,343 M150.3,341 L150.3,343 M158.5,341 L158.5,343 M175,341 L175,343 M183.3,341 L183.3,343 M191.5,341 L191.5,343 M199.8,341 L199.8,343 M216.3,341 L216.3,343 M224.6,341 L224.6,343 M232.8,341 L232.8,343 M241.1,341 L241.1,343 M257.6,341 L257.6,343 M265.8,341 L265.8,343 M274.1,341 L274.1,343 M282.4,341 L282.4,343 M298.9,341 L298.9,343 M307.1,341 L307.1,343 M315.4,341 L315.4,343 M323.6,341 L323.6,343 M340.2,341 L340.2,343 M348.4,341 L348.4,343 M356.7,341 L356.7,343 M364.9,341 L364.9,343 M381.4,341 L381.4,343 M389.7,341 L389.7,343 M398,341 L398,343 M406.2,341 L406.2,343 M422.7,341 L422.7,343 M431,341 L431,343 M439.2,341 L439.2,343 M447.5,341 L447.5,343 M464,341 L464,343 M472.3,341 L472.3,343 M480.5,341 L480.5,343 M488.8,341 L488.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,296.4 L84.2,296.4 M79.2,251.7 L84.2,251.7 M79.2,207.1 L84.2,207.1 M79.2,162.4 L84.2,162.4 M79.2,117.8 L84.2,117.8 M79.2,73.12 L84.2,73.12 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M125.5,341 L125.5,346 M166.8,341 L166.8,346 M208.1,341 L208.1,346 M249.3,341 L249.3,346 M290.6,341 L290.6,346 M331.9,341 L331.9,346 M373.2,341 L373.2,346 M414.5,341 L414.5,346 M455.8,341 L455.8,346 M497,341 L497,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="125.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.1</text>
-<text x="166.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.2</text>
-<text x="208.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.3</text>
-<text x="249.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.4</text>
-<text x="290.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="331.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.6</text>
-<text x="373.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.7</text>
-<text x="414.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.8</text>
-<text x="455.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.9</text>
-<text x="497" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="298.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="254.1" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="209.5" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="164.8" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="73.2" y="120.2" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
-<text x="73.2" y="75.52" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="290.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M86.26,-61.97 L88.33,55.34 L90.39,107.2 L92.46,138 L94.52,158.9 L96.59,174.4 L98.65,186.3 L100.7,196 L102.8,203.9 L104.8,210.6 L106.9,216.3 L109,221.3 L111,225.7 L113.1,229.6 L115.2,233.1 L117.2,236.2 L119.3,239.1 L121.4,241.7 L123.4,244.1 L125.5,246.3 L127.5,248.3 L129.6,250.2 L131.7,251.9 L133.7,253.5 L135.8,255.1 L137.9,256.5 L139.9,257.8 L142,259.1 L144.1,260.3 L146.1,261.4 L148.2,262.5 L150.3,263.5 L152.3,264.4 L154.4,265.3 L156.4,266.2 L158.5,267 L160.6,267.8 L162.6,268.5 L164.7,269.3 L166.8,269.9 L168.8,270.6 L170.9,271.2 L173,271.8 L175,272.4 L177.1,272.9 L179.2,273.5 L181.2,274 L183.3,274.4 L185.3,274.9 L187.4,275.4 L189.5,275.8 L191.5,276.2 L193.6,276.6 L195.7,277 L197.7,277.3 L199.8,277.7 L201.9,278 L203.9,278.4 L206,278.7 L208.1,279 L210.1,279.3 L212.2,279.5 L214.2,279.8 L216.3,280.1 L218.4,280.3 L220.4,280.6 L222.5,280.8 L224.6,281 L226.6,281.2 L228.7,281.4 L230.8,281.6 L232.8,281.8 L234.9,282 L237,282.1 L239,282.3 L241.1,282.4 L243.1,282.6 L245.2,282.7 L247.3,282.9 L249.3,283 L251.4,283.1 L253.5,283.2 L255.5,283.3 L257.6,283.4 L259.7,283.5 L261.7,283.6 L263.8,283.7 L265.8,283.7 L267.9,283.8 L270,283.9 L272,283.9 L274.1,284 L276.2,284 L278.2,284.1 L280.3,284.1 L282.4,284.1 L284.4,284.1 L286.5,284.1 L288.6,284.2 L290.6,284.2 L292.7,284.2 L294.7,284.1 L296.8,284.1 L298.9,284.1 L300.9,284.1 L303,284.1 L305.1,284 L307.1,284 L309.2,283.9 L311.3,283.9 L313.3,283.8 L315.4,283.7 L317.5,283.7 L319.5,283.6 L321.6,283.5 L323.6,283.4 L325.7,283.3 L327.8,283.2 L329.8,283.1 L331.9,283 L334,282.9 L336,282.7 L338.1,282.6 L340.2,282.4 L342.2,282.3 L344.3,282.1 L346.4,282 L348.4,281.8 L350.5,281.6 L352.5,281.4 L354.6,281.2 L356.7,281 L358.7,280.8 L360.8,280.6 L362.9,280.3 L364.9,280.1 L367,279.8 L369.1,279.5 L371.1,279.3 L373.2,279 L375.3,278.7 L377.3,278.4 L379.4,278 L381.4,277.7 L383.5,277.3 L385.6,277 L387.6,276.6 L389.7,276.2 L391.8,275.8 L393.8,275.4 L395.9,274.9 L398,274.4 L400,274 L402.1,273.5 L404.2,272.9 L406.2,272.4 L408.3,271.8 L410.3,271.2 L412.4,270.6 L414.5,269.9 L416.5,269.3 L418.6,268.5 L420.7,267.8 L422.7,267 L424.8,266.2 L426.9,265.3 L428.9,264.4 L431,263.5 L433,262.5 L435.1,261.4 L437.2,260.3 L439.2,259.1 L441.3,257.8 L443.4,256.5 L445.4,255.1 L447.5,253.5 L449.6,251.9 L451.6,250.2 L453.7,248.3 L455.8,246.3 L457.8,244.1 L459.9,241.7 L461.9,239.1 L464,236.2 L466.1,233.1 L468.1,229.6 L470.2,225.7 L472.3,221.3 L474.3,216.3 L476.4,210.6 L478.5,203.9 L480.5,196 L482.6,186.3 L484.7,174.4 L486.7,158.9 L488.8,138 L490.8,107.2 L492.9,55.34 L495,-61.97 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.26,341 L88.33,341 L90.39,341 L92.46,341 L94.52,341 L96.59,341 L98.65,341 L100.7,341 L102.8,341 L104.8,341 L106.9,341 L109,341 L111,341 L113.1,341 L115.2,341 L117.2,341 L119.3,341 L121.4,341 L123.4,341 L125.5,341 L127.5,340.9 L129.6,340.9 L131.7,340.9 L133.7,340.9 L135.8,340.9 L137.9,340.9 L139.9,340.9 L142,340.8 L144.1,340.8 L146.1,340.8 L148.2,340.7 L150.3,340.7 L152.3,340.7 L154.4,340.6 L156.4,340.6 L158.5,340.5 L160.6,340.5 L162.6,340.4 L164.7,340.4 L166.8,340.3 L168.8,340.2 L170.9,340.1 L173,340 L175,340 L177.1,339.9 L179.2,339.8 L181.2,339.6 L183.3,339.5 L185.3,339.4 L187.4,339.3 L189.5,339.1 L191.5,339 L193.6,338.8 L195.7,338.6 L197.7,338.4 L199.8,338.3 L201.9,338.1 L203.9,337.8 L206,337.6 L208.1,337.4 L210.1,337.1 L212.2,336.9 L214.2,336.6 L216.3,336.3 L218.4,336 L220.4,335.7 L222.5,335.4 L224.6,335 L226.6,334.7 L228.7,334.3 L230.8,333.9 L232.8,333.5 L234.9,333.1 L237,332.6 L239,332.2 L241.1,331.7 L243.1,331.2 L245.2,330.7 L247.3,330.1 L249.3,329.6 L251.4,329 L253.5,328.4 L255.5,327.8 L257.6,327.1 L259.7,326.4 L261.7,325.7 L263.8,325 L265.8,324.3 L267.9,323.5 L270,322.7 L272,321.9 L274.1,321 L276.2,320.1 L278.2,319.2 L280.3,318.3 L282.4,317.3 L284.4,316.3 L286.5,315.3 L288.6,314.2 L290.6,313.1 L292.7,312 L294.7,310.8 L296.8,309.6 L298.9,308.4 L300.9,307.1 L303,305.8 L305.1,304.4 L307.1,303 L309.2,301.6 L311.3,300.1 L313.3,298.6 L315.4,297.1 L317.5,295.5 L319.5,293.9 L321.6,292.2 L323.6,290.5 L325.7,288.7 L327.8,286.9 L329.8,285 L331.9,283.1 L334,281.2 L336,279.2 L338.1,277.1 L340.2,275 L342.2,272.9 L344.3,270.7 L346.4,268.4 L348.4,266.1 L350.5,263.7 L352.5,261.3 L354.6,258.8 L356.7,256.3 L358.7,253.7 L360.8,251 L362.9,248.3 L364.9,245.5 L367,242.7 L369.1,239.8 L371.1,236.8 L373.2,233.8 L375.3,230.7 L377.3,227.5 L379.4,224.3 L381.4,221 L383.5,217.6 L385.6,214.2 L387.6,210.7 L389.7,207.1 L391.8,203.5 L393.8,199.7 L395.9,195.9 L398,192 L400,188.1 L402.1,184.1 L404.2,179.9 L406.2,175.7 L408.3,171.5 L410.3,167.1 L412.4,162.7 L414.5,158.1 L416.5,153.5 L418.6,148.8 L420.7,144 L422.7,139.1 L424.8,134.2 L426.9,129.1 L428.9,124 L431,118.7 L433,113.4 L435.1,107.9 L437.2,102.4 L439.2,96.78 L441.3,91.05 L443.4,85.22 L445.4,79.29 L447.5,73.26 L449.6,67.12 L451.6,60.88 L453.7,54.53 L455.8,48.07 L457.8,41.51 L459.9,34.83 L461.9,28.05 L464,21.15 L466.1,14.14 L468.1,7.019 L470.2,-0.2218 L472.3,-7.579 L474.3,-15.06 L476.4,-22.65 L478.5,-30.37 L480.5,-38.21 L482.6,-46.17 L484.7,-54.25 L486.7,-62.47 L488.8,-70.81 L490.8,-79.28 L492.9,-87.88 L495,-96.61 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,73.12 L86.26,75.79 L88.33,78.45 L90.39,81.1 L92.46,83.73 L94.52,86.35 L96.59,88.95 L98.65,91.54 L100.7,94.12 L102.8,96.69 L104.8,99.24 L106.9,101.8 L109,104.3 L111,106.8 L113.1,109.3 L115.2,111.8 L117.2,114.3 L119.3,116.7 L121.4,119.2 L123.4,121.6 L125.5,124 L127.5,126.4 L129.6,128.8 L131.7,131.2 L133.7,133.6 L135.8,135.9 L137.9,138.2 L139.9,140.6 L142,142.9 L144.1,145.2 L146.1,147.5 L148.2,149.7 L150.3,152 L152.3,154.2 L154.4,156.5 L156.4,158.7 L158.5,160.9 L160.6,163.1 L162.6,165.2 L164.7,167.4 L166.8,169.6 L168.8,171.7 L170.9,173.8 L173,175.9 L175,178 L177.1,180.1 L179.2,182.2 L181.2,184.2 L183.3,186.3 L185.3,188.3 L187.4,190.3 L189.5,192.3 L191.5,194.3 L193.6,196.3 L195.7,198.2 L197.7,200.2 L199.8,202.1 L201.9,204.1 L203.9,206 L206,207.9 L208.1,209.7 L210.1,211.6 L212.2,213.5 L214.2,215.3 L216.3,217.1 L218.4,218.9 L220.4,220.7 L222.5,222.5 L224.6,224.3 L226.6,226.1 L228.7,227.8 L230.8,229.6 L232.8,231.3 L234.9,233 L237,234.7 L239,236.4 L241.1,238 L243.1,239.7 L245.2,241.3 L247.3,242.9 L249.3,244.6 L251.4,246.2 L253.5,247.8 L255.5,249.3 L257.6,250.9 L259.7,252.4 L261.7,254 L263.8,255.5 L265.8,257 L267.9,258.5 L270,260 L272,261.4 L274.1,262.9 L276.2,264.3 L278.2,265.8 L280.3,267.2 L282.4,268.6 L284.4,270 L286.5,271.3 L288.6,272.7 L290.6,274 L292.7,275.4 L294.7,276.7 L296.8,278 L298.9,279.3 L300.9,280.6 L303,281.8 L305.1,283.1 L307.1,284.3 L309.2,285.5 L311.3,286.8 L313.3,288 L315.4,289.1 L317.5,290.3 L319.5,291.5 L321.6,292.6 L323.6,293.7 L325.7,294.9 L327.8,296 L329.8,297.1 L331.9,298.1 L334,299.2 L336,300.3 L338.1,301.3 L340.2,302.3 L342.2,303.3 L344.3,304.3 L346.4,305.3 L348.4,306.3 L350.5,307.2 L352.5,308.2 L354.6,309.1 L356.7,310 L358.7,310.9 L360.8,311.8 L362.9,312.7 L364.9,313.6 L367,314.4 L369.1,315.3 L371.1,316.1 L373.2,316.9 L375.3,317.7 L377.3,318.5 L379.4,319.2 L381.4,320 L383.5,320.7 L385.6,321.5 L387.6,322.2 L389.7,322.9 L391.8,323.6 L393.8,324.3 L395.9,324.9 L398,325.6 L400,326.2 L402.1,326.8 L404.2,327.4 L406.2,328 L408.3,328.6 L410.3,329.2 L412.4,329.7 L414.5,330.3 L416.5,330.8 L418.6,331.3 L420.7,331.8 L422.7,332.3 L424.8,332.8 L426.9,333.3 L428.9,333.7 L431,334.1 L433,334.6 L435.1,335 L437.2,335.4 L439.2,335.7 L441.3,336.1 L443.4,336.5 L445.4,336.8 L447.5,337.1 L449.6,337.5 L451.6,337.8 L453.7,338 L455.8,338.3 L457.8,338.6 L459.9,338.8 L461.9,339.1 L464,339.3 L466.1,339.5 L468.1,339.7 L470.2,339.9 L472.3,340 L474.3,340.2 L476.4,340.3 L478.5,340.5 L480.5,340.6 L482.6,340.7 L484.7,340.8 L486.7,340.8 L488.8,340.9 L490.8,340.9 L492.9,341 L495,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.26,338.3 L88.33,335.7 L90.39,333.1 L92.46,330.5 L94.52,327.9 L96.59,325.4 L98.65,322.9 L100.7,320.4 L102.8,318 L104.8,315.6 L106.9,313.2 L109,310.8 L111,308.4 L113.1,306.1 L115.2,303.8 L117.2,301.6 L119.3,299.3 L121.4,297.1 L123.4,294.9 L125.5,292.8 L127.5,290.7 L129.6,288.5 L131.7,286.5 L133.7,284.4 L135.8,282.4 L137.9,280.4 L139.9,278.4 L142,276.5 L144.1,274.6 L146.1,272.7 L148.2,270.8 L150.3,269 L152.3,267.2 L154.4,265.4 L156.4,263.6 L158.5,261.9 L160.6,260.2 L162.6,258.5 L164.7,256.9 L166.8,255.3 L168.8,253.7 L170.9,252.1 L173,250.6 L175,249.1 L177.1,247.6 L179.2,246.1 L181.2,244.7 L183.3,243.3 L185.3,241.9 L187.4,240.5 L189.5,239.2 L191.5,237.9 L193.6,236.6 L195.7,235.4 L197.7,234.2 L199.8,233 L201.9,231.8 L203.9,230.7 L206,229.6 L208.1,228.5 L210.1,227.4 L212.2,226.4 L214.2,225.4 L216.3,224.4 L218.4,223.5 L220.4,222.5 L222.5,221.6 L224.6,220.8 L226.6,219.9 L228.7,219.1 L230.8,218.3 L232.8,217.6 L234.9,216.8 L237,216.1 L239,215.4 L241.1,214.8 L243.1,214.1 L245.2,213.5 L247.3,213 L249.3,212.4 L251.4,211.9 L253.5,211.4 L255.5,210.9 L257.6,210.5 L259.7,210.1 L261.7,209.7 L263.8,209.3 L265.8,209 L267.9,208.7 L270,208.4 L272,208.1 L274.1,207.9 L276.2,207.7 L278.2,207.5 L280.3,207.4 L282.4,207.3 L284.4,207.2 L286.5,207.1 L288.6,207.1 L290.6,207.1 L292.7,207.1 L294.7,207.1 L296.8,207.2 L298.9,207.3 L300.9,207.4 L303,207.5 L305.1,207.7 L307.1,207.9 L309.2,208.1 L311.3,208.4 L313.3,208.7 L315.4,209 L317.5,209.3 L319.5,209.7 L321.6,210.1 L323.6,210.5 L325.7,210.9 L327.8,211.4 L329.8,211.9 L331.9,212.4 L334,213 L336,213.5 L338.1,214.1 L340.2,214.8 L342.2,215.4 L344.3,216.1 L346.4,216.8 L348.4,217.6 L350.5,218.3 L352.5,219.1 L354.6,219.9 L356.7,220.8 L358.7,221.6 L360.8,222.5 L362.9,223.5 L364.9,224.4 L367,225.4 L369.1,226.4 L371.1,227.4 L373.2,228.5 L375.3,229.6 L377.3,230.7 L379.4,231.8 L381.4,233 L383.5,234.2 L385.6,235.4 L387.6,236.6 L389.7,237.9 L391.8,239.2 L393.8,240.5 L395.9,241.9 L398,243.3 L400,244.7 L402.1,246.1 L404.2,247.6 L406.2,249.1 L408.3,250.6 L410.3,252.1 L412.4,253.7 L414.5,255.3 L416.5,256.9 L418.6,258.5 L420.7,260.2 L422.7,261.9 L424.8,263.6 L426.9,265.4 L428.9,267.2 L431,269 L433,270.8 L435.1,272.7 L437.2,274.6 L439.2,276.5 L441.3,278.4 L443.4,280.4 L445.4,282.4 L447.5,284.4 L449.6,286.5 L451.6,288.5 L453.7,290.7 L455.8,292.8 L457.8,294.9 L459.9,297.1 L461.9,299.3 L464,301.6 L466.1,303.8 L468.1,306.1 L470.2,308.4 L472.3,310.8 L474.3,313.2 L476.4,315.6 L478.5,318 L480.5,320.4 L482.6,322.9 L484.7,325.4 L486.7,327.9 L488.8,330.5 L490.8,333.1 L492.9,335.7 L495,338.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.26,327.9 L88.33,315.3 L90.39,303.2 L92.46,291.6 L94.52,280.5 L96.59,269.9 L98.65,259.7 L100.7,250 L102.8,240.7 L104.8,231.9 L106.9,223.5 L109,215.5 L111,207.9 L113.1,200.7 L115.2,193.9 L117.2,187.5 L119.3,181.4 L121.4,175.7 L123.4,170.3 L125.5,165.2 L127.5,160.5 L129.6,156.1 L131.7,152 L133.7,148.2 L135.8,144.7 L137.9,141.5 L139.9,138.5 L142,135.9 L144.1,133.4 L146.1,131.2 L148.2,129.3 L150.3,127.6 L152.3,126.1 L154.4,124.9 L156.4,123.8 L158.5,123 L160.6,122.4 L162.6,121.9 L164.7,121.6 L166.8,121.6 L168.8,121.6 L170.9,121.9 L173,122.3 L175,122.9 L177.1,123.6 L179.2,124.4 L181.2,125.4 L183.3,126.5 L185.3,127.7 L187.4,129.1 L189.5,130.6 L191.5,132.1 L193.6,133.8 L195.7,135.6 L197.7,137.5 L199.8,139.4 L201.9,141.5 L203.9,143.6 L206,145.8 L208.1,148 L210.1,150.4 L212.2,152.8 L214.2,155.2 L216.3,157.7 L218.4,160.3 L220.4,162.9 L222.5,165.5 L224.6,168.2 L226.6,170.9 L228.7,173.6 L230.8,176.4 L232.8,179.2 L234.9,182 L237,184.9 L239,187.7 L241.1,190.6 L243.1,193.5 L245.2,196.3 L247.3,199.2 L249.3,202.1 L251.4,205 L253.5,207.9 L255.5,210.8 L257.6,213.7 L259.7,216.5 L261.7,219.4 L263.8,222.3 L265.8,225.1 L267.9,227.9 L270,230.7 L272,233.5 L274.1,236.2 L276.2,239 L278.2,241.7 L280.3,244.3 L282.4,247 L284.4,249.6 L286.5,252.2 L288.6,254.8 L290.6,257.3 L292.7,259.8 L294.7,262.2 L296.8,264.7 L298.9,267.1 L300.9,269.4 L303,271.7 L305.1,274 L307.1,276.2 L309.2,278.4 L311.3,280.6 L313.3,282.7 L315.4,284.8 L317.5,286.8 L319.5,288.8 L321.6,290.7 L323.6,292.7 L325.7,294.5 L327.8,296.3 L329.8,298.1 L331.9,299.9 L334,301.5 L336,303.2 L338.1,304.8 L340.2,306.4 L342.2,307.9 L344.3,309.4 L346.4,310.8 L348.4,312.2 L350.5,313.6 L352.5,314.9 L354.6,316.1 L356.7,317.4 L358.7,318.6 L360.8,319.7 L362.9,320.8 L364.9,321.9 L367,322.9 L369.1,323.9 L371.1,324.9 L373.2,325.8 L375.3,326.7 L377.3,327.5 L379.4,328.4 L381.4,329.1 L383.5,329.9 L385.6,330.6 L387.6,331.3 L389.7,331.9 L391.8,332.6 L393.8,333.2 L395.9,333.7 L398,334.2 L400,334.8 L402.1,335.2 L404.2,335.7 L406.2,336.1 L408.3,336.5 L410.3,336.9 L412.4,337.2 L414.5,337.6 L416.5,337.9 L418.6,338.2 L420.7,338.4 L422.7,338.7 L424.8,338.9 L426.9,339.1 L428.9,339.3 L431,339.5 L433,339.7 L435.1,339.8 L437.2,340 L439.2,340.1 L441.3,340.2 L443.4,340.3 L445.4,340.4 L447.5,340.5 L449.6,340.6 L451.6,340.7 L453.7,340.7 L455.8,340.8 L457.8,340.8 L459.9,340.8 L461.9,340.9 L464,340.9 L466.1,340.9 L468.1,340.9 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="limitPoints" stroke="rgb(119,136,153)" fill="rgb(250,235,215)"><polygon points=" 79.2,48 89.2,48 84.2,58"/></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="511" y="58" width="213" height="165"/><rect x="511" y="58" width="213" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="88" x2="541" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="118" x2="541" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="148" x2="541" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="178" x2="541" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="208" x2="541" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="548.5" y="88" font-size="15" font-family="Verdana">alpha=0.5, beta=0.5</text>
-<text x="548.5" y="118" font-size="15" font-family="Verdana">alpha=5, beta=1</text>
-<text x="548.5" y="148" font-size="15" font-family="Verdana">alpha=1, beta=3</text>
-<text x="548.5" y="178" font-size="15" font-family="Verdana">alpha=2, beta=2</text>
-<text x="548.5" y="208" font-size="15" font-family="Verdana">alpha=2, beta=5</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Beta Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.svg b/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.svg
deleted file mode 100644
index 701dfe4131..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_1.svg
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="473" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="475" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="97.26" y1="58" x2="97.26" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="567.6" y2="341"/><line x1="87.6" y1="341" x2="567.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,332.8 L92.6,332.8 M90.6,324.5 L92.6,324.5 M90.6,316.3 L92.6,316.3 M90.6,308.1 L92.6,308.1 M90.6,291.6 L92.6,291.6 M90.6,283.4 L92.6,283.4 M90.6,275.1 L92.6,275.1 M90.6,266.9 L92.6,266.9 M90.6,250.4 L92.6,250.4 M90.6,242.2 L92.6,242.2 M90.6,234 L92.6,234 M90.6,225.7 L92.6,225.7 M90.6,209.3 L92.6,209.3 M90.6,201 L92.6,201 M90.6,192.8 L92.6,192.8 M90.6,184.6 L92.6,184.6 M90.6,168.1 L92.6,168.1 M90.6,159.9 L92.6,159.9 M90.6,151.6 L92.6,151.6 M90.6,143.4 L92.6,143.4 M90.6,126.9 L92.6,126.9 M90.6,118.7 L92.6,118.7 M90.6,110.5 L92.6,110.5 M90.6,102.3 L92.6,102.3 M90.6,85.79 L92.6,85.79 M90.6,77.55 L92.6,77.55 M90.6,69.32 L92.6,69.32 M90.6,61.09 L92.6,61.09 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,299.8 L92.6,299.8 M87.6,258.7 L92.6,258.7 M87.6,217.5 L92.6,217.5 M87.6,176.3 L92.6,176.3 M87.6,135.2 L92.6,135.2 M87.6,94.02 L92.6,94.02 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M97.26,341 L97.26,346 M190.4,341 L190.4,346 M283.5,341 L283.5,346 M376.7,341 L376.7,346 M469.8,341 L469.8,346 M562.9,341 L562.9,346 M97.26,341 L97.26,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="97.26" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="190.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="283.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="376.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
-<text x="469.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">40</text>
-<text x="562.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
-<text x="97.26" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="302.2" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="261.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="81.6" y="219.9" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
-<text x="81.6" y="178.7" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="81.6" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.25</text>
-<text x="81.6" y="96.42" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="330.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.76,341 L93.76,341 L93.76,315.3 L96.09,315.3 L96.09,341 L103.1,341 L103.1,212.4 L105.4,212.4 L105.4,341 L112.4,341 L112.4,83.73 L114.7,83.73 L114.7,341 L121.7,341 L121.7,83.73 L124,83.73 L124,341 L131,341 L131,212.4 L133.3,212.4 L133.3,341 L140.3,341 L140.3,315.3 L142.7,315.3 L142.7,341 L149.6,341 L149.6,341 L152,341 L152,341 L159,341 L159,341 L161.3,341 L161.3,341 L168.3,341 L168.3,341 L170.6,341 L170.6,341 L177.6,341 L177.6,341 L179.9,341 L179.9,341 L186.9,341 L186.9,341 L189.2,341 L189.2,341 L196.2,341 L196.2,341 L198.5,341 L198.5,341 L205.5,341 L205.5,341 L207.9,341 L207.9,341 L214.8,341 L214.8,341 L217.2,341 L217.2,341 L224.2,341 L224.2,341 L226.5,341 L226.5,341 L233.5,341 L233.5,341 L235.8,341 L235.8,341 L242.8,341 L242.8,341 L245.1,341 L245.1,341 L252.1,341 L252.1,341 L254.4,341 L254.4,341 L261.4,341 L261.4,341 L263.7,341 L263.7,341 L270.7,341 L270.7,341 L273.1,341 L273.1,341 L280,341 L280,341 L282.4,341 L282.4,341 L289.4,341 L289.4,341 L291.7,341 L291.7,341 L298.7,341 L298.7,341 L301,341 L301,341 L308,341 L308,341 L310.3,341 L310.3,341 L317.3,341 L317.3,341 L319.6,341 L319.6,341 L326.6,341 L326.6,341 L328.9,341 L328.9,341 L335.9,341 L335.9,341 L338.2,341 L338.2,341 L345.2,341 L345.2,341 L347.6,341 L347.6,341 L354.5,341 L354.5,341 L356.9,341 L356.9,341 L363.9,341 L363.9,341 L366.2,341 L366.2,341 L373.2,341 L373.2,341 L375.5,341 L375.5,341 L382.5,341 L382.5,341 L384.8,341 L384.8,341 L391.8,341 L391.8,341 L394.1,341 L394.1,341 L401.1,341 L401.1,341 L403.4,341 L403.4,341 L410.4,341 L410.4,341 L412.8,341 L412.8,341 L419.7,341 L419.7,341 L422.1,341 L422.1,341 L429.1,341 L429.1,341 L431.4,341 L431.4,341 L438.4,341 L438.4,341 L440.7,341 L440.7,341 L447.7,341 L447.7,341 L450,341 L450,341 L457,341 L457,341 L459.3,341 L459.3,341 L466.3,341 L466.3,341 L468.6,341 L468.6,341 L475.6,341 L475.6,341 L478,341 L478,341 L484.9,341 L484.9,341 L487.3,341 L487.3,341 L494.3,341 L494.3,341 L496.6,341 L496.6,341 L503.6,341 L503.6,341 L505.9,341 L505.9,341 L512.9,341 L512.9,341 L515.2,341 L515.2,341 L522.2,341 L522.2,341 L524.5,341 L524.5,341 L531.5,341 L531.5,341 L533.8,341 L533.8,341 L540.8,341 L540.8,341 L543.2,341 L543.2,341 L550.1,341 L550.1,341 L552.5,341 L552.5,341 L559.5,341 L559.5,341 L561.8,341 L561.8,341 L561.8,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M96.09,341 L96.09,341 L96.09,341 L98.42,341 L98.42,341 L105.4,341 L105.4,341 L107.7,341 L107.7,341 L114.7,341 L114.7,340.9 L117,340.9 L117,341 L124,341 L124,340.1 L126.4,340.1 L126.4,341 L133.3,341 L133.3,337.2 L135.7,337.2 L135.7,341 L142.7,341 L142.7,328.8 L145,328.8 L145,341 L152,341 L152,310.6 L154.3,310.6 L154.3,341 L161.3,341 L161.3,280.1 L163.6,280.1 L163.6,341 L170.6,341 L170.6,242.1 L172.9,242.1 L172.9,341 L179.9,341 L179.9,209.1 L182.2,209.1 L182.2,341 L189.2,341 L189.2,195.9 L191.6,195.9 L191.6,341 L198.5,341 L198.5,209.1 L200.9,209.1 L200.9,341 L207.9,341 L207.9,242.1 L210.2,242.1 L210.2,341 L217.2,341 L217.2,280.1 L219.5,280.1 L219.5,341 L226.5,341 L226.5,310.6 L228.8,310.6 L228.8,341 L235.8,341 L235.8,328.8 L238.1,328.8 L238.1,341 L245.1,341 L245.1,337.2 L247.4,337.2 L247.4,341 L254.4,341 L254.4,340.1 L256.8,340.1 L256.8,341 L263.7,341 L263.7,340.9 L266.1,340.9 L266.1,341 L273.1,341 L273.1,341 L275.4,341 L275.4,341 L282.4,341 L282.4,341 L284.7,341 L284.7,341 L291.7,341 L291.7,341 L294,341 L294,341 L301,341 L301,341 L303.3,341 L303.3,341 L310.3,341 L310.3,341 L312.6,341 L312.6,341 L319.6,341 L319.6,341 L322,341 L322,341 L328.9,341 L328.9,341 L331.3,341 L331.3,341 L338.2,341 L338.2,341 L340.6,341 L340.6,341 L347.6,341 L347.6,341 L349.9,341 L349.9,341 L356.9,341 L356.9,341 L359.2,341 L359.2,341 L366.2,341 L366.2,341 L368.5,341 L368.5,341 L375.5,341 L375.5,341 L377.8,341 L377.8,341 L384.8,341 L384.8,341 L387.1,341 L387.1,341 L394.1,341 L394.1,341 L396.5,341 L396.5,341 L403.4,341 L403.4,341 L405.8,341 L405.8,341 L412.8,341 L412.8,341 L415.1,341 L415.1,341 L422.1,341 L422.1,341 L424.4,341 L424.4,341 L431.4,341 L431.4,341 L433.7,341 L433.7,341 L440.7,341 L440.7,341 L443,341 L443,341 L450,341 L450,341 L452.3,341 L452.3,341 L459.3,341 L459.3,341 L461.7,341 L461.7,341 L468.6,341 L468.6,341 L471,341 L471,341 L478,341 L478,341 L480.3,341 L480.3,341 L487.3,341 L487.3,341 L489.6,341 L489.6,341 L496.6,341 L496.6,341 L498.9,341 L498.9,341 L505.9,341 L505.9,341 L508.2,341 L508.2,341 L515.2,341 L515.2,341 L517.5,341 L517.5,341 L524.5,341 L524.5,341 L526.9,341 L526.9,341 L533.8,341 L533.8,341 L536.2,341 L536.2,341 L543.2,341 L543.2,341 L545.5,341 L545.5,341 L552.5,341 L552.5,341 L554.8,341 L554.8,341 L561.8,341 L561.8,341 L564.1,341 L564.1,341 L564.1,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M98.42,341 L98.42,341 L98.42,341 L100.7,341 L100.7,341 L107.7,341 L107.7,341 L110.1,341 L110.1,341 L117,341 L117,341 L119.4,341 L119.4,341 L126.4,341 L126.4,341 L128.7,341 L128.7,341 L135.7,341 L135.7,341 L138,341 L138,341 L145,341 L145,341 L147.3,341 L147.3,341 L154.3,341 L154.3,341 L156.6,341 L156.6,341 L163.6,341 L163.6,341 L165.9,341 L165.9,341 L172.9,341 L172.9,341 L175.3,341 L175.3,341 L182.2,341 L182.2,341 L184.6,341 L184.6,341 L191.6,341 L191.6,341 L193.9,341 L193.9,341 L200.9,341 L200.9,341 L203.2,341 L203.2,341 L210.2,341 L210.2,340.9 L212.5,340.9 L212.5,341 L219.5,341 L219.5,340.7 L221.8,340.7 L221.8,341 L228.8,341 L228.8,340.3 L231.1,340.3 L231.1,341 L238.1,341 L238.1,339.4 L240.5,339.4 L240.5,341 L247.4,341 L247.4,337.4 L249.8,337.4 L249.8,341 L256.8,341 L256.8,333.8 L259.1,333.8 L259.1,341 L266.1,341 L266.1,327.8 L268.4,327.8 L268.4,341 L275.4,341 L275.4,318.8 L277.7,318.8 L277.7,341 L284.7,341 L284.7,306.5 L287,306.5 L287,341 L294,341 L294,291.8 L296.3,291.8 L296.3,341 L303.3,341 L303.3,276.1 L305.7,276.1 L305.7,341 L312.6,341 L312.6,262 L315,262 L315,341 L322,341 L322,252.1 L324.3,252.1 L324.3,341 L331.3,341 L331.3,248.6 L333.6,248.6 L333.6,341 L340.6,341 L340.6,252.1 L342.9,252.1 L342.9,341 L349.9,341 L349.9,262 L352.2,262 L352.2,341 L359.2,341 L359.2,276.1 L361.5,276.1 L361.5,341 L368.5,341 L368.5,291.8 L370.8,291.8 L370.8,341 L377.8,341 L377.8,306.5 L380.2,306.5 L380.2,341 L387.1,341 L387.1,318.8 L389.5,318.8 L389.5,341 L396.5,341 L396.5,327.8 L398.8,327.8 L398.8,341 L405.8,341 L405.8,333.8 L408.1,333.8 L408.1,341 L415.1,341 L415.1,337.4 L417.4,337.4 L417.4,341 L424.4,341 L424.4,339.4 L426.7,339.4 L426.7,341 L433.7,341 L433.7,340.3 L436,340.3 L436,341 L443,341 L443,340.7 L445.4,340.7 L445.4,341 L452.3,341 L452.3,340.9 L454.7,340.9 L454.7,341 L461.7,341 L461.7,341 L464,341 L464,341 L471,341 L471,341 L473.3,341 L473.3,341 L480.3,341 L480.3,341 L482.6,341 L482.6,341 L489.6,341 L489.6,341 L491.9,341 L491.9,341 L498.9,341 L498.9,341 L501.2,341 L501.2,341 L508.2,341 L508.2,341 L510.6,341 L510.6,341 L517.5,341 L517.5,341 L519.9,341 L519.9,341 L526.9,341 L526.9,341 L529.2,341 L529.2,341 L536.2,341 L536.2,341 L538.5,341 L538.5,341 L545.5,341 L545.5,341 L547.8,341 L547.8,341 L554.8,341 L554.8,341 L557.1,341 L557.1,341 L564.1,341 L564.1,341 L566.4,341 L566.4,341 L566.4,341 Z" fill="rgb(0,100,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="105"/><rect x="581.6" y="58" width="142.4" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="619.1" y="88" font-size="15" font-family="Verdana">n=5 p=0.5</text>
-<text x="619.1" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
-<text x="619.1" y="148" font-size="15" font-family="Verdana">n=50 p=0.5</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Binomial Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.svg b/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.svg
deleted file mode 100644
index 9fe5b531cb..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/binomial_pdf_2.svg
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="473" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="475" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="103.9" y1="58" x2="103.9" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="567.6" y2="341"/><line x1="87.6" y1="341" x2="567.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,332 L92.6,332 M90.6,323 L92.6,323 M90.6,313.9 L92.6,313.9 M90.6,304.9 L92.6,304.9 M90.6,286.9 L92.6,286.9 M90.6,277.9 L92.6,277.9 M90.6,268.8 L92.6,268.8 M90.6,259.8 L92.6,259.8 M90.6,241.8 L92.6,241.8 M90.6,232.7 L92.6,232.7 M90.6,223.7 L92.6,223.7 M90.6,214.7 L92.6,214.7 M90.6,196.7 L92.6,196.7 M90.6,187.6 L92.6,187.6 M90.6,178.6 L92.6,178.6 M90.6,169.6 L92.6,169.6 M90.6,151.6 L92.6,151.6 M90.6,142.5 L92.6,142.5 M90.6,133.5 L92.6,133.5 M90.6,124.5 L92.6,124.5 M90.6,106.4 L92.6,106.4 M90.6,97.42 L92.6,97.42 M90.6,88.4 L92.6,88.4 M90.6,79.38 L92.6,79.38 M90.6,61.34 L92.6,61.34 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,295.9 L92.6,295.9 M87.6,250.8 L92.6,250.8 M87.6,205.7 L92.6,205.7 M87.6,160.6 L92.6,160.6 M87.6,115.5 L92.6,115.5 M87.6,70.36 L92.6,70.36 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M103.9,341 L103.9,346 M217,341 L217,346 M330.1,341 L330.1,346 M443.2,341 L443.2,346 M556.3,341 L556.3,346 M103.9,341 L103.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="103.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="217" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="330.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="443.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="556.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="103.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="298.3" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="253.2" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="81.6" y="208.1" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
-<text x="81.6" y="163" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="81.6" y="117.9" text-anchor="end" font-size="12" font-family="Verdana">0.25</text>
-<text x="81.6" y="72.76" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="330.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M95.43,341 L95.43,341 L95.43,231.3 L101.1,231.3 L101.1,341 L118,341 L118,97.27 L123.7,97.27 L123.7,341 L140.7,341 L140.7,83.73 L146.3,83.73 L146.3,341 L163.3,341 L163.3,169.5 L168.9,169.5 L168.9,341 L185.9,341 L185.9,260 L191.6,260 L191.6,341 L208.5,341 L208.5,312.2 L214.2,312.2 L214.2,341 L231.1,341 L231.1,333 L236.8,333 L236.8,341 L253.8,341 L253.8,339.2 L259.4,339.2 L259.4,341 L276.4,341 L276.4,340.7 L282,340.7 L282,341 L299,341 L299,341 L304.7,341 L304.7,341 L321.6,341 L321.6,341 L327.3,341 L327.3,341 L344.2,341 L344.2,341 L349.9,341 L349.9,341 L366.9,341 L366.9,341 L372.5,341 L372.5,341 L389.5,341 L389.5,341 L395.1,341 L395.1,341 L412.1,341 L412.1,341 L417.7,341 L417.7,341 L434.7,341 L434.7,341 L440.4,341 L440.4,341 L457.3,341 L457.3,341 L463,341 L463,341 L480,341 L480,341 L485.6,341 L485.6,341 L502.6,341 L502.6,341 L508.2,341 L508.2,341 L525.2,341 L525.2,341 L530.8,341 L530.8,341 L547.8,341 L547.8,341 L553.5,341 L553.5,341 L553.5,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M101.1,341 L101.1,341 L101.1,341 L106.7,341 L106.7,341 L123.7,341 L123.7,341 L129.4,341 L129.4,341 L146.3,341 L146.3,340.8 L152,340.8 L152,341 L168.9,341 L168.9,340 L174.6,340 L174.6,341 L191.6,341 L191.6,336.8 L197.2,336.8 L197.2,341 L214.2,341 L214.2,327.7 L219.8,327.7 L219.8,341 L236.8,341 L236.8,307.7 L242.5,307.7 L242.5,341 L259.4,341 L259.4,274.3 L265.1,274.3 L265.1,341 L282,341 L282,232.6 L287.7,232.6 L287.7,341 L304.7,341 L304.7,196.5 L310.3,196.5 L310.3,341 L327.3,341 L327.3,182 L332.9,182 L332.9,341 L349.9,341 L349.9,196.5 L355.5,196.5 L355.5,341 L372.5,341 L372.5,232.6 L378.2,232.6 L378.2,341 L395.1,341 L395.1,274.3 L400.8,274.3 L400.8,341 L417.7,341 L417.7,307.7 L423.4,307.7 L423.4,341 L440.4,341 L440.4,327.7 L446,327.7 L446,341 L463,341 L463,336.8 L468.6,336.8 L468.6,341 L485.6,341 L485.6,340 L491.3,340 L491.3,341 L508.2,341 L508.2,340.8 L513.9,340.8 L513.9,341 L530.8,341 L530.8,341 L536.5,341 L536.5,341 L553.5,341 L553.5,341 L559.1,341 L559.1,341 L559.1,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M106.7,341 L106.7,341 L106.7,341 L112.4,341 L112.4,341 L129.4,341 L129.4,341 L135,341 L135,341 L152,341 L152,341 L157.6,341 L157.6,341 L174.6,341 L174.6,341 L180.2,341 L180.2,341 L197.2,341 L197.2,341 L202.9,341 L202.9,341 L219.8,341 L219.8,341 L225.5,341 L225.5,341 L242.5,341 L242.5,341 L248.1,341 L248.1,341 L265.1,341 L265.1,341 L270.7,341 L270.7,341 L287.7,341 L287.7,341 L293.3,341 L293.3,341 L310.3,341 L310.3,341 L316,341 L316,341 L332.9,341 L332.9,341 L338.6,341 L338.6,341 L355.5,341 L355.5,341 L361.2,341 L361.2,341 L378.2,341 L378.2,340.7 L383.8,340.7 L383.8,341 L400.8,341 L400.8,339.2 L406.4,339.2 L406.4,341 L423.4,341 L423.4,333 L429.1,333 L429.1,341 L446,341 L446,312.2 L451.7,312.2 L451.7,341 L468.6,341 L468.6,260 L474.3,260 L474.3,341 L491.3,341 L491.3,169.5 L496.9,169.5 L496.9,341 L513.9,341 L513.9,83.73 L519.5,83.73 L519.5,341 L536.5,341 L536.5,97.27 L542.2,97.27 L542.2,341 L559.1,341 L559.1,231.3 L564.8,231.3 L564.8,341 L564.8,341 Z" fill="rgb(0,100,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="105"/><rect x="581.6" y="58" width="142.4" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="619.1" y="88" font-size="15" font-family="Verdana">n=20 p=0.1</text>
-<text x="619.1" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
-<text x="619.1" y="148" font-size="15" font-family="Verdana">n=20 p=0.9</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Binomial Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.svg b/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.svg
deleted file mode 100644
index 169abb4fe5..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf1.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="457.9" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="459.9" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="314.1" y1="58" x2="314.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="544.1" y2="341"/><line x1="79.2" y1="341" x2="544.1" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,324.8 L84.2,324.8 M82.2,308.7 L84.2,308.7 M82.2,292.5 L84.2,292.5 M82.2,276.3 L84.2,276.3 M82.2,244 L84.2,244 M82.2,227.8 L84.2,227.8 M82.2,211.7 L84.2,211.7 M82.2,195.5 L84.2,195.5 M82.2,163.2 L84.2,163.2 M82.2,147 L84.2,147 M82.2,130.9 L84.2,130.9 M82.2,114.7 L84.2,114.7 M82.2,82.36 L84.2,82.36 M82.2,66.2 L84.2,66.2 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M338.7,341 L338.7,343 M363.3,341 L363.3,343 M387.8,341 L387.8,343 M412.4,341 L412.4,343 M461.6,341 L461.6,343 M486.1,341 L486.1,343 M510.7,341 L510.7,343 M535.3,341 L535.3,343 M289.6,341 L289.6,343 M265,341 L265,343 M240.4,341 L240.4,343 M215.9,341 L215.9,343 M166.7,341 L166.7,343 M142.2,341 L142.2,343 M117.6,341 L117.6,343 M93.02,341 L93.02,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,260.2 L84.2,260.2 M79.2,179.4 L84.2,179.4 M79.2,98.53 L84.2,98.53 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M314.1,341 L314.1,346 M437,341 L437,346 M314.1,341 L314.1,346 M191.3,341 L191.3,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="314.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="437" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="314.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="191.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="262.6" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="181.8" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="100.9" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="314.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,328.1 L86.5,327.6 L88.8,327 L91.1,326.4 L93.4,325.8 L95.7,325.1 L98,324.3 L100.3,323.5 L102.6,322.7 L104.9,321.8 L107.2,320.8 L109.5,319.7 L111.8,318.6 L114.1,317.3 L116.4,316 L118.7,314.6 L121,313 L123.3,311.3 L125.6,309.4 L127.9,307.4 L130.2,305.2 L132.5,302.8 L134.8,300.1 L137.1,297.2 L139.4,293.9 L141.7,290.3 L144,286.4 L146.3,281.9 L148.6,277 L150.9,271.6 L153.2,265.5 L155.5,258.7 L157.8,251.1 L160.1,242.6 L162.4,233.1 L164.7,222.6 L167,211 L169.3,198.3 L171.6,184.5 L173.9,169.8 L176.2,154.4 L178.5,138.8 L180.8,123.6 L183.1,109.6 L185.4,97.85 L187.7,89.2 L190,84.47 L192.3,84.13 L194.6,88.22 L196.9,96.33 L199.2,107.7 L201.5,121.4 L203.8,136.5 L206.1,152 L208.4,167.5 L210.7,182.4 L213,196.3 L215.3,209.2 L217.6,221 L219.9,231.6 L222.2,241.2 L224.5,249.8 L226.8,257.6 L229.1,264.5 L231.4,270.7 L233.7,276.3 L236,281.2 L238.3,285.7 L240.6,289.8 L242.9,293.4 L245.2,296.7 L247.5,299.7 L249.8,302.4 L252.1,304.8 L254.4,307.1 L256.7,309.1 L259,311 L261.3,312.8 L263.6,314.3 L265.9,315.8 L268.2,317.1 L270.5,318.4 L272.8,319.5 L275.1,320.6 L277.3,321.6 L279.6,322.5 L281.9,323.4 L284.2,324.2 L286.5,325 L288.8,325.7 L291.1,326.3 L293.4,326.9 L295.7,327.5 L298,328.1 L300.3,328.6 L302.6,329.1 L304.9,329.5 L307.2,329.9 L309.5,330.4 L311.8,330.7 L314.1,331.1 L316.4,331.5 L318.7,331.8 L321,332.1 L323.3,332.4 L325.6,332.7 L327.9,332.9 L330.2,333.2 L332.5,333.4 L334.8,333.7 L337.1,333.9 L339.4,334.1 L341.7,334.3 L344,334.5 L346.3,334.7 L348.6,334.9 L350.9,335 L353.2,335.2 L355.5,335.4 L357.8,335.5 L360.1,335.7 L362.4,335.8 L364.7,335.9 L367,336.1 L369.3,336.2 L371.6,336.3 L373.9,336.4 L376.2,336.5 L378.5,336.6 L380.8,336.7 L383.1,336.8 L385.4,336.9 L387.7,337 L390,337.1 L392.3,337.2 L394.6,337.3 L396.9,337.4 L399.2,337.5 L401.5,337.5 L403.8,337.6 L406.1,337.7 L408.4,337.7 L410.7,337.8 L413,337.9 L415.3,337.9 L417.6,338 L419.9,338.1 L422.2,338.1 L424.5,338.2 L426.8,338.2 L429.1,338.3 L431.4,338.3 L433.7,338.4 L436,338.4 L438.3,338.5 L440.6,338.5 L442.9,338.6 L445.2,338.6 L447.5,338.7 L449.8,338.7 L452.1,338.7 L454.4,338.8 L456.7,338.8 L459,338.9 L461.3,338.9 L463.6,338.9 L465.9,339 L468.2,339 L470.5,339 L472.8,339.1 L475.1,339.1 L477.4,339.1 L479.7,339.1 L482,339.2 L484.3,339.2 L486.6,339.2 L488.9,339.3 L491.2,339.3 L493.5,339.3 L495.8,339.3 L498.1,339.4 L500.4,339.4 L502.7,339.4 L505,339.4 L507.3,339.5 L509.6,339.5 L511.9,339.5 L514.2,339.5 L516.5,339.5 L518.8,339.6 L521.1,339.6 L523.4,339.6 L525.7,339.6 L528,339.6 L530.3,339.7 L532.6,339.7 L534.9,339.7 L537.2,339.7 L539.5,339.7 L541.8,339.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,338.1 L86.5,338 L88.8,338 L91.1,337.9 L93.4,337.9 L95.7,337.8 L98,337.7 L100.3,337.6 L102.6,337.6 L104.9,337.5 L107.2,337.4 L109.5,337.3 L111.8,337.3 L114.1,337.2 L116.4,337.1 L118.7,337 L121,336.9 L123.3,336.8 L125.6,336.7 L127.9,336.6 L130.2,336.5 L132.5,336.4 L134.8,336.3 L137.1,336.1 L139.4,336 L141.7,335.9 L144,335.7 L146.3,335.6 L148.6,335.5 L150.9,335.3 L153.2,335.1 L155.5,335 L157.8,334.8 L160.1,334.6 L162.4,334.4 L164.7,334.2 L167,334 L169.3,333.8 L171.6,333.6 L173.9,333.3 L176.2,333.1 L178.5,332.8 L180.8,332.6 L183.1,332.3 L185.4,332 L187.7,331.6 L190,331.3 L192.3,331 L194.6,330.6 L196.9,330.2 L199.2,329.8 L201.5,329.3 L203.8,328.9 L206.1,328.4 L208.4,327.8 L210.7,327.3 L213,326.7 L215.3,326 L217.6,325.4 L219.9,324.6 L222.2,323.9 L224.5,323 L226.8,322.1 L229.1,321.2 L231.4,320.2 L233.7,319.1 L236,317.9 L238.3,316.6 L240.6,315.2 L242.9,313.7 L245.2,312 L247.5,310.2 L249.8,308.3 L252.1,306.2 L254.4,303.8 L256.7,301.3 L259,298.4 L261.3,295.3 L263.6,291.9 L265.9,288.1 L268.2,283.9 L270.5,279.2 L272.8,274 L275.1,268.1 L277.3,261.7 L279.6,254.4 L281.9,246.3 L284.2,237.3 L286.5,227.2 L288.8,216.1 L291.1,203.9 L293.4,190.5 L295.7,176.1 L298,161 L300.3,145.4 L302.6,130 L304.9,115.4 L307.2,102.5 L309.5,92.44 L311.8,85.96 L314.1,83.73 L316.4,85.96 L318.7,92.43 L321,102.5 L323.3,115.3 L325.6,129.9 L327.9,145.4 L330.2,161 L332.5,176.1 L334.8,190.5 L337.1,203.8 L339.4,216.1 L341.7,227.2 L344,237.3 L346.3,246.3 L348.6,254.4 L350.9,261.6 L353.2,268.1 L355.5,274 L357.8,279.2 L360.1,283.9 L362.4,288.1 L364.7,291.9 L367,295.3 L369.3,298.4 L371.6,301.3 L373.9,303.8 L376.2,306.2 L378.5,308.3 L380.8,310.2 L383.1,312 L385.4,313.7 L387.7,315.2 L390,316.6 L392.3,317.9 L394.6,319.1 L396.9,320.2 L399.2,321.2 L401.5,322.1 L403.8,323 L406.1,323.9 L408.4,324.6 L410.7,325.4 L413,326 L415.3,326.7 L417.6,327.3 L419.9,327.8 L422.2,328.4 L424.5,328.9 L426.8,329.3 L429.1,329.8 L431.4,330.2 L433.7,330.6 L436,331 L438.3,331.3 L440.6,331.6 L442.9,332 L445.2,332.3 L447.5,332.6 L449.8,332.8 L452.1,333.1 L454.4,333.3 L456.7,333.6 L459,333.8 L461.3,334 L463.6,334.2 L465.9,334.4 L468.2,334.6 L470.5,334.8 L472.8,335 L475.1,335.1 L477.4,335.3 L479.7,335.5 L482,335.6 L484.3,335.7 L486.6,335.9 L488.9,336 L491.2,336.1 L493.5,336.3 L495.8,336.4 L498.1,336.5 L500.4,336.6 L502.7,336.7 L505,336.8 L507.3,336.9 L509.6,337 L511.9,337.1 L514.2,337.2 L516.5,337.3 L518.8,337.3 L521.1,337.4 L523.4,337.5 L525.7,337.6 L528,337.6 L530.3,337.7 L532.6,337.8 L534.9,337.9 L537.2,337.9 L539.5,338 L541.8,338 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,339.8 L86.5,339.7 L88.8,339.7 L91.1,339.7 L93.4,339.7 L95.7,339.7 L98,339.7 L100.3,339.6 L102.6,339.6 L104.9,339.6 L107.2,339.6 L109.5,339.6 L111.8,339.5 L114.1,339.5 L116.4,339.5 L118.7,339.5 L121,339.5 L123.3,339.4 L125.6,339.4 L127.9,339.4 L130.2,339.4 L132.5,339.3 L134.8,339.3 L137.1,339.3 L139.4,339.3 L141.7,339.2 L144,339.2 L146.3,339.2 L148.6,339.1 L150.9,339.1 L153.2,339.1 L155.5,339.1 L157.8,339 L160.1,339 L162.4,339 L164.7,338.9 L167,338.9 L169.3,338.9 L171.6,338.8 L173.9,338.8 L176.2,338.7 L178.5,338.7 L180.8,338.7 L183.1,338.6 L185.4,338.6 L187.7,338.5 L190,338.5 L192.3,338.4 L194.6,338.4 L196.9,338.3 L199.2,338.3 L201.5,338.2 L203.8,338.2 L206.1,338.1 L208.4,338.1 L210.7,338 L213,337.9 L215.3,337.9 L217.6,337.8 L219.9,337.7 L222.2,337.7 L224.5,337.6 L226.8,337.5 L229.1,337.5 L231.4,337.4 L233.7,337.3 L236,337.2 L238.3,337.1 L240.6,337 L242.9,336.9 L245.2,336.8 L247.5,336.7 L249.8,336.6 L252.1,336.5 L254.4,336.4 L256.7,336.3 L259,336.2 L261.3,336.1 L263.6,335.9 L265.9,335.8 L268.2,335.7 L270.5,335.5 L272.8,335.4 L275.1,335.2 L277.3,335 L279.6,334.9 L281.9,334.7 L284.2,334.5 L286.5,334.3 L288.8,334.1 L291.1,333.9 L293.4,333.7 L295.7,333.4 L298,333.2 L300.3,332.9 L302.6,332.7 L304.9,332.4 L307.2,332.1 L309.5,331.8 L311.8,331.5 L314.1,331.1 L316.4,330.7 L318.7,330.4 L321,329.9 L323.3,329.5 L325.6,329.1 L327.9,328.6 L330.2,328.1 L332.5,327.5 L334.8,326.9 L337.1,326.3 L339.4,325.7 L341.7,325 L344,324.2 L346.3,323.4 L348.6,322.5 L350.9,321.6 L353.2,320.6 L355.5,319.5 L357.8,318.4 L360.1,317.1 L362.4,315.8 L364.7,314.3 L367,312.8 L369.3,311 L371.6,309.1 L373.9,307.1 L376.2,304.8 L378.5,302.4 L380.8,299.7 L383.1,296.7 L385.4,293.4 L387.7,289.8 L390,285.7 L392.3,281.2 L394.6,276.3 L396.9,270.7 L399.2,264.5 L401.5,257.6 L403.8,249.9 L406.1,241.2 L408.4,231.6 L410.7,221 L413,209.2 L415.3,196.3 L417.6,182.4 L419.9,167.5 L422.2,152.1 L424.5,136.5 L426.8,121.4 L429.1,107.7 L431.4,96.34 L433.7,88.23 L436,84.14 L438.3,84.47 L440.6,89.19 L442.9,97.84 L445.2,109.6 L447.5,123.6 L449.8,138.8 L452.1,154.4 L454.4,169.8 L456.7,184.5 L459,198.3 L461.3,211 L463.6,222.6 L465.9,233.1 L468.2,242.6 L470.5,251.1 L472.8,258.7 L475.1,265.5 L477.4,271.6 L479.7,277 L482,281.9 L484.3,286.3 L486.6,290.3 L488.9,293.9 L491.2,297.2 L493.5,300.1 L495.8,302.8 L498.1,305.2 L500.4,307.4 L502.7,309.4 L505,311.3 L507.3,313 L509.6,314.6 L511.9,316 L514.2,317.3 L516.5,318.6 L518.8,319.7 L521.1,320.8 L523.4,321.8 L525.7,322.7 L528,323.5 L530.3,324.3 L532.6,325.1 L534.9,325.8 L537.2,326.4 L539.5,327 L541.8,327.6 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="558.1" y="58" width="165.9" height="105"/><rect x="558.1" y="58" width="165.9" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="573.1" y1="88" x2="588.1" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="573.1" y1="118" x2="588.1" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="573.1" y1="148" x2="588.1" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="595.6" y="88" font-size="15" font-family="Verdana">location = -5</text>
-<text x="595.6" y="118" font-size="15" font-family="Verdana">location = 0</text>
-<text x="595.6" y="148" font-size="15" font-family="Verdana">location = 5</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Cauchy Distribution PDF (scale = 1)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.svg b/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.svg
deleted file mode 100644
index 8e06d5ab91..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/cauchy_pdf2.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="322" y1="58" x2="322" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,332.9 L84.2,332.9 M82.2,324.8 L84.2,324.8 M82.2,316.8 L84.2,316.8 M82.2,308.7 L84.2,308.7 M82.2,292.5 L84.2,292.5 M82.2,284.4 L84.2,284.4 M82.2,276.3 L84.2,276.3 M82.2,268.3 L84.2,268.3 M82.2,252.1 L84.2,252.1 M82.2,244 L84.2,244 M82.2,235.9 L84.2,235.9 M82.2,227.8 L84.2,227.8 M82.2,211.7 L84.2,211.7 M82.2,203.6 L84.2,203.6 M82.2,195.5 L84.2,195.5 M82.2,187.4 L84.2,187.4 M82.2,171.3 L84.2,171.3 M82.2,163.2 L84.2,163.2 M82.2,155.1 L84.2,155.1 M82.2,147 L84.2,147 M82.2,130.9 L84.2,130.9 M82.2,122.8 L84.2,122.8 M82.2,114.7 L84.2,114.7 M82.2,106.6 L84.2,106.6 M82.2,90.44 L84.2,90.44 M82.2,82.36 L84.2,82.36 M82.2,74.28 L84.2,74.28 M82.2,66.2 L84.2,66.2 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M349.3,341 L349.3,343 M376.5,341 L376.5,343 M403.8,341 L403.8,343 M431.1,341 L431.1,343 M485.6,341 L485.6,343 M512.9,341 L512.9,343 M540.2,341 L540.2,343 M294.7,341 L294.7,343 M267.4,341 L267.4,343 M240.2,341 L240.2,343 M212.9,341 L212.9,343 M158.3,341 L158.3,343 M131.1,341 L131.1,343 M103.8,341 L103.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,300.6 L84.2,300.6 M79.2,260.2 L84.2,260.2 M79.2,219.8 L84.2,219.8 M79.2,179.4 L84.2,179.4 M79.2,138.9 L84.2,138.9 M79.2,98.53 L84.2,98.53 M79.2,58.11 L84.2,58.11 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M322,341 L322,346 M458.4,341 L458.4,346 M322,341 L322,346 M185.6,341 L185.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="458.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="185.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="303" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="262.6" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="222.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="181.8" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="141.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="100.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="60.51" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,340.2 L86.58,340.1 L88.96,340.1 L91.33,340.1 L93.71,340.1 L96.09,340.1 L98.47,340 L100.8,340 L103.2,340 L105.6,340 L108,340 L110.4,339.9 L112.7,339.9 L115.1,339.9 L117.5,339.9 L119.9,339.8 L122.2,339.8 L124.6,339.8 L127,339.7 L129.4,339.7 L131.8,339.7 L134.1,339.7 L136.5,339.6 L138.9,339.6 L141.3,339.5 L143.6,339.5 L146,339.5 L148.4,339.4 L150.8,339.4 L153.2,339.3 L155.5,339.3 L157.9,339.2 L160.3,339.2 L162.7,339.1 L165,339.1 L167.4,339 L169.8,339 L172.2,338.9 L174.6,338.8 L176.9,338.7 L179.3,338.7 L181.7,338.6 L184.1,338.5 L186.4,338.4 L188.8,338.3 L191.2,338.2 L193.6,338.1 L196,338 L198.3,337.9 L200.7,337.8 L203.1,337.7 L205.5,337.5 L207.8,337.4 L210.2,337.2 L212.6,337.1 L215,336.9 L217.4,336.7 L219.7,336.5 L222.1,336.3 L224.5,336.1 L226.9,335.8 L229.2,335.6 L231.6,335.3 L234,335 L236.4,334.6 L238.8,334.3 L241.1,333.9 L243.5,333.5 L245.9,333 L248.3,332.5 L250.6,331.9 L253,331.3 L255.4,330.6 L257.8,329.9 L260.2,329.1 L262.5,328.1 L264.9,327.1 L267.3,325.9 L269.7,324.6 L272,323.1 L274.4,321.5 L276.8,319.5 L279.2,317.3 L281.6,314.7 L283.9,311.7 L286.3,308.2 L288.7,304 L291.1,299.1 L293.4,293.2 L295.8,286 L298.2,277.3 L300.6,266.7 L303,253.7 L305.3,237.7 L307.7,218.2 L310.1,194.9 L312.5,168 L314.8,139.1 L317.2,111.7 L319.6,91.35 L322,83.73 L324.4,91.29 L326.7,111.6 L329.1,138.9 L331.5,167.9 L333.9,194.8 L336.2,218.1 L338.6,237.6 L341,253.6 L343.4,266.7 L345.8,277.3 L348.1,286 L350.5,293.1 L352.9,299.1 L355.3,304 L357.6,308.2 L360,311.7 L362.4,314.7 L364.8,317.3 L367.2,319.5 L369.5,321.4 L371.9,323.1 L374.3,324.6 L376.7,325.9 L379,327.1 L381.4,328.1 L383.8,329.1 L386.2,329.9 L388.6,330.6 L390.9,331.3 L393.3,331.9 L395.7,332.5 L398.1,333 L400.4,333.5 L402.8,333.9 L405.2,334.3 L407.6,334.6 L410,335 L412.3,335.3 L414.7,335.6 L417.1,335.8 L419.5,336.1 L421.8,336.3 L424.2,336.5 L426.6,336.7 L429,336.9 L431.4,337.1 L433.7,337.2 L436.1,337.4 L438.5,337.5 L440.9,337.7 L443.2,337.8 L445.6,337.9 L448,338 L450.4,338.1 L452.8,338.2 L455.1,338.3 L457.5,338.4 L459.9,338.5 L462.3,338.6 L464.6,338.7 L467,338.7 L469.4,338.8 L471.8,338.9 L474.2,339 L476.5,339 L478.9,339.1 L481.3,339.1 L483.7,339.2 L486,339.2 L488.4,339.3 L490.8,339.3 L493.2,339.4 L495.6,339.4 L497.9,339.5 L500.3,339.5 L502.7,339.5 L505.1,339.6 L507.4,339.6 L509.8,339.7 L512.2,339.7 L514.6,339.7 L517,339.7 L519.3,339.8 L521.7,339.8 L524.1,339.8 L526.5,339.9 L528.8,339.9 L531.2,339.9 L533.6,339.9 L536,340 L538.4,340 L540.7,340 L543.1,340 L545.5,340 L547.9,340.1 L550.2,340.1 L552.6,340.1 L555,340.1 L557.4,340.1 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,339.3 L86.58,339.3 L88.96,339.3 L91.33,339.2 L93.71,339.2 L96.09,339.2 L98.47,339.1 L100.8,339.1 L103.2,339 L105.6,339 L108,338.9 L110.4,338.9 L112.7,338.9 L115.1,338.8 L117.5,338.8 L119.9,338.7 L122.2,338.6 L124.6,338.6 L127,338.5 L129.4,338.5 L131.8,338.4 L134.1,338.3 L136.5,338.3 L138.9,338.2 L141.3,338.1 L143.6,338.1 L146,338 L148.4,337.9 L150.8,337.8 L153.2,337.7 L155.5,337.6 L157.9,337.5 L160.3,337.4 L162.7,337.3 L165,337.2 L167.4,337.1 L169.8,337 L172.2,336.9 L174.6,336.7 L176.9,336.6 L179.3,336.5 L181.7,336.3 L184.1,336.2 L186.4,336 L188.8,335.8 L191.2,335.6 L193.6,335.4 L196,335.2 L198.3,335 L200.7,334.8 L203.1,334.6 L205.5,334.3 L207.8,334.1 L210.2,333.8 L212.6,333.5 L215,333.2 L217.4,332.8 L219.7,332.5 L222.1,332.1 L224.5,331.7 L226.9,331.2 L229.2,330.8 L231.6,330.3 L234,329.7 L236.4,329.1 L238.8,328.5 L241.1,327.9 L243.5,327.1 L245.9,326.4 L248.3,325.5 L250.6,324.6 L253,323.6 L255.4,322.5 L257.8,321.3 L260.2,320 L262.5,318.6 L264.9,317.1 L267.3,315.4 L269.7,313.5 L272,311.4 L274.4,309.2 L276.8,306.6 L279.2,303.9 L281.6,300.8 L283.9,297.3 L286.3,293.5 L288.7,289.3 L291.1,284.7 L293.4,279.6 L295.8,274 L298.2,267.9 L300.6,261.4 L303,254.5 L305.3,247.3 L307.7,240 L310.1,232.9 L312.5,226.3 L314.8,220.6 L317.2,216.2 L319.6,213.3 L322,212.4 L324.4,213.3 L326.7,216.2 L329.1,220.6 L331.5,226.3 L333.9,232.9 L336.2,240 L338.6,247.3 L341,254.4 L343.4,261.4 L345.8,267.9 L348.1,274 L350.5,279.6 L352.9,284.7 L355.3,289.3 L357.6,293.5 L360,297.3 L362.4,300.7 L364.8,303.8 L367.2,306.6 L369.5,309.2 L371.9,311.4 L374.3,313.5 L376.7,315.4 L379,317.1 L381.4,318.6 L383.8,320 L386.2,321.3 L388.6,322.5 L390.9,323.6 L393.3,324.6 L395.7,325.5 L398.1,326.4 L400.4,327.1 L402.8,327.9 L405.2,328.5 L407.6,329.1 L410,329.7 L412.3,330.3 L414.7,330.8 L417.1,331.2 L419.5,331.7 L421.8,332.1 L424.2,332.5 L426.6,332.8 L429,333.2 L431.4,333.5 L433.7,333.8 L436.1,334.1 L438.5,334.3 L440.9,334.6 L443.2,334.8 L445.6,335 L448,335.2 L450.4,335.4 L452.8,335.6 L455.1,335.8 L457.5,336 L459.9,336.2 L462.3,336.3 L464.6,336.5 L467,336.6 L469.4,336.7 L471.8,336.9 L474.2,337 L476.5,337.1 L478.9,337.2 L481.3,337.3 L483.7,337.4 L486,337.5 L488.4,337.6 L490.8,337.7 L493.2,337.8 L495.6,337.9 L497.9,338 L500.3,338.1 L502.7,338.1 L505.1,338.2 L507.4,338.3 L509.8,338.3 L512.2,338.4 L514.6,338.5 L517,338.5 L519.3,338.6 L521.7,338.6 L524.1,338.7 L526.5,338.8 L528.8,338.8 L531.2,338.9 L533.6,338.9 L536,338.9 L538.4,339 L540.7,339 L543.1,339.1 L545.5,339.1 L547.9,339.2 L550.2,339.2 L552.6,339.2 L555,339.3 L557.4,339.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.58,337.7 L88.96,337.7 L91.33,337.6 L93.71,337.5 L96.09,337.5 L98.47,337.4 L100.8,337.3 L103.2,337.2 L105.6,337.2 L108,337.1 L110.4,337 L112.7,336.9 L115.1,336.8 L117.5,336.7 L119.9,336.6 L122.2,336.5 L124.6,336.4 L127,336.3 L129.4,336.2 L131.8,336.1 L134.1,336 L136.5,335.9 L138.9,335.8 L141.3,335.6 L143.6,335.5 L146,335.4 L148.4,335.2 L150.8,335.1 L153.2,334.9 L155.5,334.8 L157.9,334.6 L160.3,334.4 L162.7,334.3 L165,334.1 L167.4,333.9 L169.8,333.7 L172.2,333.5 L174.6,333.3 L176.9,333 L179.3,332.8 L181.7,332.6 L184.1,332.3 L186.4,332 L188.8,331.8 L191.2,331.5 L193.6,331.2 L196,330.9 L198.3,330.5 L200.7,330.2 L203.1,329.8 L205.5,329.4 L207.8,329 L210.2,328.6 L212.6,328.2 L215,327.7 L217.4,327.3 L219.7,326.8 L222.1,326.2 L224.5,325.7 L226.9,325.1 L229.2,324.5 L231.6,323.8 L234,323.1 L236.4,322.4 L238.8,321.7 L241.1,320.9 L243.5,320 L245.9,319.2 L248.3,318.2 L250.6,317.3 L253,316.2 L255.4,315.2 L257.8,314 L260.2,312.8 L262.5,311.6 L264.9,310.3 L267.3,308.9 L269.7,307.5 L272,306 L274.4,304.5 L276.8,302.9 L279.2,301.2 L281.6,299.5 L283.9,297.7 L286.3,295.9 L288.7,294.1 L291.1,292.3 L293.4,290.5 L295.8,288.7 L298.2,287 L300.6,285.3 L303,283.7 L305.3,282.2 L307.7,280.8 L310.1,279.6 L312.5,278.6 L314.8,277.8 L317.2,277.2 L319.6,276.8 L322,276.7 L324.4,276.8 L326.7,277.2 L329.1,277.8 L331.5,278.6 L333.9,279.6 L336.2,280.8 L338.6,282.2 L341,283.7 L343.4,285.3 L345.8,286.9 L348.1,288.7 L350.5,290.5 L352.9,292.3 L355.3,294.1 L357.6,295.9 L360,297.7 L362.4,299.5 L364.8,301.2 L367.2,302.8 L369.5,304.5 L371.9,306 L374.3,307.5 L376.7,308.9 L379,310.3 L381.4,311.6 L383.8,312.8 L386.2,314 L388.6,315.2 L390.9,316.2 L393.3,317.3 L395.7,318.2 L398.1,319.2 L400.4,320 L402.8,320.9 L405.2,321.7 L407.6,322.4 L410,323.1 L412.3,323.8 L414.7,324.5 L417.1,325.1 L419.5,325.7 L421.8,326.2 L424.2,326.7 L426.6,327.3 L429,327.7 L431.4,328.2 L433.7,328.6 L436.1,329 L438.5,329.4 L440.9,329.8 L443.2,330.2 L445.6,330.5 L448,330.9 L450.4,331.2 L452.8,331.5 L455.1,331.8 L457.5,332 L459.9,332.3 L462.3,332.6 L464.6,332.8 L467,333 L469.4,333.3 L471.8,333.5 L474.2,333.7 L476.5,333.9 L478.9,334.1 L481.3,334.3 L483.7,334.4 L486,334.6 L488.4,334.8 L490.8,334.9 L493.2,335.1 L495.6,335.2 L497.9,335.4 L500.3,335.5 L502.7,335.6 L505.1,335.8 L507.4,335.9 L509.8,336 L512.2,336.1 L514.6,336.2 L517,336.3 L519.3,336.4 L521.7,336.5 L524.1,336.6 L526.5,336.7 L528.8,336.8 L531.2,336.9 L533.6,337 L536,337.1 L538.4,337.2 L540.7,337.2 L543.1,337.3 L545.5,337.4 L547.9,337.5 L550.2,337.5 L552.6,337.6 L555,337.7 L557.4,337.7 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="611.3" y="88" font-size="15" font-family="Verdana">scale = 0.5</text>
-<text x="611.3" y="118" font-size="15" font-family="Verdana">scale = 1</text>
-<text x="611.3" y="148" font-size="15" font-family="Verdana">scale = 2</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Cauchy Distribution PDF (location = 0)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cbrt.svg b/libs/math/doc/sf_and_dist/graphs/cbrt.svg
deleted file mode 100644
index 747621e401..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/cbrt.svg
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,186.2 L75.8,186.2 M73.8,170.1 L75.8,170.1 M73.8,154 L75.8,154 M73.8,121.8 L75.8,121.8 M73.8,105.7 L75.8,105.7 M73.8,89.59 L75.8,89.59 M73.8,202.3 L75.8,202.3 M73.8,218.4 L75.8,218.4 M73.8,234.5 L75.8,234.5 M73.8,250.6 L75.8,250.6 M73.8,266.7 L75.8,266.7 M73.8,282.8 L75.8,282.8 M73.8,298.9 L75.8,298.9 M73.8,315 L75.8,315 M73.8,331.1 L75.8,331.1 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.9,341 L136.9,343 M106.3,341 L106.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,137.9 L75.8,137.9 M70.8,73.49 L75.8,73.49 M70.8,202.3 L75.8,202.3 M70.8,266.7 L75.8,266.7 M70.8,331.1 L75.8,331.1 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 M320,341 L320,346 M197.9,341 L197.9,346 M75.8,341 L75.8,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
-<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="140.3" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="64.8" y="75.89" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="269.1" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
-<text x="64.8" y="333.5" text-anchor="end" font-size="12" font-family="Verdana">-2</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cbrt(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,340.5 L80.68,340.1 L83.13,339.6 L85.57,339.1 L88.01,338.6 L90.45,338.2 L92.9,337.7 L95.34,337.2 L97.78,336.7 L100.2,336.2 L102.7,335.7 L105.1,335.2 L107.5,334.7 L110,334.2 L112.4,333.7 L114.9,333.2 L117.3,332.6 L119.8,332.1 L122.2,331.6 L124.6,331.1 L127.1,330.5 L129.5,330 L132,329.4 L134.4,328.9 L136.9,328.3 L139.3,327.8 L141.7,327.2 L144.2,326.6 L146.6,326 L149.1,325.4 L151.5,324.9 L153.9,324.3 L156.4,323.7 L158.8,323.1 L161.3,322.4 L163.7,321.8 L166.2,321.2 L168.6,320.6 L171,319.9 L173.5,319.3 L175.9,318.6 L178.4,318 L180.8,317.3 L183.3,316.6 L185.7,315.9 L188.1,315.2 L190.6,314.5 L193,313.8 L195.5,313.1 L197.9,312.4 L200.3,311.6 L202.8,310.9 L205.2,310.1 L207.7,309.4 L210.1,308.6 L212.6,307.8 L215,307 L217.4,306.2 L219.9,305.3 L222.3,304.5 L224.8,303.6 L227.2,302.8 L229.7,301.9 L232.1,301 L234.5,300 L237,299.1 L239.4,298.1 L241.9,297.2 L244.3,296.2 L246.8,295.1 L249.2,294.1 L251.6,293 L254.1,291.9 L256.5,290.8 L259,289.7 L261.4,288.5 L263.8,287.3 L266.3,286 L268.7,284.7 L271.2,283.4 L273.6,282 L276.1,280.6 L278.5,279.1 L280.9,277.6 L283.4,276 L285.8,274.3 L288.3,272.6 L290.7,270.7 L293.2,268.7 L295.6,266.7 L298,264.4 L300.5,262 L302.9,259.4 L305.4,256.6 L307.8,253.4 L310.2,249.7 L312.7,245.4 L315.1,239.9 L317.6,232.2 L320,202.3 L322.5,172.4 L324.9,164.6 L327.3,159.2 L329.8,154.8 L332.2,151.2 L334.7,148 L337.1,145.1 L339.6,142.5 L342,140.1 L344.4,137.9 L346.9,135.8 L349.3,133.8 L351.8,132 L354.2,130.2 L356.6,128.6 L359.1,127 L361.5,125.4 L364,123.9 L366.4,122.5 L368.9,121.1 L371.3,119.8 L373.7,118.5 L376.2,117.3 L378.6,116.1 L381.1,114.9 L383.5,113.7 L386,112.6 L388.4,111.5 L390.8,110.5 L393.3,109.4 L395.7,108.4 L398.2,107.4 L400.6,106.4 L403,105.5 L405.5,104.5 L407.9,103.6 L410.4,102.7 L412.8,101.8 L415.3,100.9 L417.7,100.1 L420.1,99.22 L422.6,98.38 L425,97.57 L427.5,96.76 L429.9,95.97 L432.4,95.19 L434.8,94.42 L437.2,93.66 L439.7,92.91 L442.1,92.17 L444.6,91.44 L447,90.72 L449.4,90.01 L451.9,89.31 L454.3,88.61 L456.8,87.93 L459.2,87.25 L461.7,86.58 L464.1,85.92 L466.5,85.27 L469,84.62 L471.4,83.98 L473.9,83.35 L476.3,82.72 L478.8,82.11 L481.2,81.49 L483.6,80.88 L486.1,80.28 L488.5,79.69 L491,79.1 L493.4,78.52 L495.9,77.94 L498.3,77.36 L500.7,76.8 L503.2,76.23 L505.6,75.68 L508.1,75.12 L510.5,74.58 L512.9,74.03 L515.4,73.49 L517.8,72.96 L520.3,72.43 L522.7,71.9 L525.2,71.38 L527.6,70.86 L530,70.35 L532.5,69.84 L534.9,69.34 L537.4,68.83 L539.8,68.34 L542.3,67.84 L544.7,67.35 L547.1,66.86 L549.6,66.38 L552,65.9 L554.5,65.42 L556.9,64.95 L559.3,64.48 L561.8,64.01 L564.2,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">cbrt</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.svg b/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.svg
deleted file mode 100644
index a8af900fb0..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/chi_squared_pdf.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="528.4" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="530.4" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="614.6" y2="341"/><line x1="79.2" y1="341" x2="614.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,330.1 L84.2,330.1 M82.2,319.1 L84.2,319.1 M82.2,308.2 L84.2,308.2 M82.2,297.3 L84.2,297.3 M82.2,275.4 L84.2,275.4 M82.2,264.5 L84.2,264.5 M82.2,253.6 L84.2,253.6 M82.2,242.7 L84.2,242.7 M82.2,220.8 L84.2,220.8 M82.2,209.9 L84.2,209.9 M82.2,199 L84.2,199 M82.2,188 L84.2,188 M82.2,166.2 L84.2,166.2 M82.2,155.2 L84.2,155.2 M82.2,144.3 L84.2,144.3 M82.2,133.4 L84.2,133.4 M82.2,111.5 L84.2,111.5 M82.2,100.6 L84.2,100.6 M82.2,89.69 L84.2,89.69 M82.2,78.76 L84.2,78.76 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M108.2,341 L108.2,343 M132.2,341 L132.2,343 M156.1,341 L156.1,343 M180.1,341 L180.1,343 M228.1,341 L228.1,343 M252,341 L252,343 M276,341 L276,343 M300,341 L300,343 M347.9,341 L347.9,343 M371.9,341 L371.9,343 M395.9,341 L395.9,343 M419.9,341 L419.9,343 M467.8,341 L467.8,343 M491.8,341 L491.8,343 M515.8,341 L515.8,343 M539.8,341 L539.8,343 M587.7,341 L587.7,343 M611.7,341 L611.7,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,286.4 L84.2,286.4 M79.2,231.7 L84.2,231.7 M79.2,177.1 L84.2,177.1 M79.2,122.5 L84.2,122.5 M79.2,67.84 L84.2,67.84 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M204.1,341 L204.1,346 M324,341 L324,346 M443.9,341 L443.9,346 M563.7,341 L563.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="204.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="324" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="443.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="563.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="288.8" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="234.1" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="179.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="124.9" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="70.24" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="349.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,67.84 L86.85,82.53 L89.5,96.44 L92.16,109.6 L94.81,122 L97.46,133.8 L100.1,145 L102.8,155.5 L105.4,165.5 L108.1,174.9 L110.7,183.9 L113.4,192.3 L116,200.3 L118.7,207.9 L121.3,215.1 L124,221.8 L126.6,228.3 L129.3,234.3 L131.9,240.1 L134.6,245.5 L137.2,250.6 L139.9,255.5 L142.5,260.1 L145.2,264.4 L147.9,268.6 L150.5,272.5 L153.2,276.1 L155.8,279.6 L158.5,282.9 L161.1,286.1 L163.8,289 L166.4,291.8 L169.1,294.5 L171.7,297 L174.4,299.3 L177,301.6 L179.7,303.7 L182.3,305.7 L185,307.6 L187.6,309.4 L190.3,311.1 L192.9,312.7 L195.6,314.2 L198.2,315.7 L200.9,317 L203.5,318.3 L206.2,319.5 L208.9,320.7 L211.5,321.8 L214.2,322.8 L216.8,323.8 L219.5,324.7 L222.1,325.6 L224.8,326.4 L227.4,327.2 L230.1,328 L232.7,328.7 L235.4,329.3 L238,330 L240.7,330.5 L243.3,331.1 L246,331.6 L248.6,332.1 L251.3,332.6 L253.9,333.1 L256.6,333.5 L259.2,333.9 L261.9,334.3 L264.5,334.6 L267.2,335 L269.9,335.3 L272.5,335.6 L275.2,335.9 L277.8,336.2 L280.5,336.4 L283.1,336.7 L285.8,336.9 L288.4,337.1 L291.1,337.3 L293.7,337.5 L296.4,337.7 L299,337.9 L301.7,338.1 L304.3,338.2 L307,338.4 L309.6,338.5 L312.3,338.7 L314.9,338.8 L317.6,338.9 L320.2,339 L322.9,339.1 L325.6,339.2 L328.2,339.3 L330.9,339.4 L333.5,339.5 L336.2,339.6 L338.8,339.6 L341.5,339.7 L344.1,339.8 L346.8,339.9 L349.4,339.9 L352.1,340 L354.7,340 L357.4,340.1 L360,340.1 L362.7,340.2 L365.3,340.2 L368,340.3 L370.6,340.3 L373.3,340.3 L375.9,340.4 L378.6,340.4 L381.2,340.4 L383.9,340.5 L386.6,340.5 L389.2,340.5 L391.9,340.6 L394.5,340.6 L397.2,340.6 L399.8,340.6 L402.5,340.6 L405.1,340.7 L407.8,340.7 L410.4,340.7 L413.1,340.7 L415.7,340.7 L418.4,340.7 L421,340.8 L423.7,340.8 L426.3,340.8 L429,340.8 L431.6,340.8 L434.3,340.8 L436.9,340.8 L439.6,340.8 L442.2,340.8 L444.9,340.9 L447.6,340.9 L450.2,340.9 L452.9,340.9 L455.5,340.9 L458.2,340.9 L460.8,340.9 L463.5,340.9 L466.1,340.9 L468.8,340.9 L471.4,340.9 L474.1,340.9 L476.7,340.9 L479.4,340.9 L482,340.9 L484.7,340.9 L487.3,340.9 L490,340.9 L492.6,340.9 L495.3,340.9 L497.9,341 L500.6,341 L503.2,341 L505.9,341 L508.6,341 L511.2,341 L513.9,341 L516.5,341 L519.2,341 L521.8,341 L524.5,341 L527.1,341 L529.8,341 L532.4,341 L535.1,341 L537.7,341 L540.4,341 L543,341 L545.7,341 L548.3,341 L551,341 L553.6,341 L556.3,341 L558.9,341 L561.6,341 L564.2,341 L566.9,341 L569.6,341 L572.2,341 L574.9,341 L577.5,341 L580.2,341 L582.8,341 L585.5,341 L588.1,341 L590.8,341 L593.4,341 L596.1,341 L598.7,341 L601.4,341 L604,341 L606.7,341 L609.3,341 L612,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.85,338.5 L89.5,334.2 L92.16,329.2 L94.81,323.9 L97.46,318.3 L100.1,312.8 L102.8,307.4 L105.4,302.1 L108.1,297.1 L110.7,292.4 L113.4,287.9 L116,283.8 L118.7,280 L121.3,276.5 L124,273.3 L126.6,270.4 L129.3,267.8 L131.9,265.6 L134.6,263.6 L137.2,261.9 L139.9,260.5 L142.5,259.3 L145.2,258.4 L147.9,257.7 L150.5,257.2 L153.2,256.9 L155.8,256.8 L158.5,256.8 L161.1,257.1 L163.8,257.4 L166.4,257.9 L169.1,258.6 L171.7,259.3 L174.4,260.2 L177,261.1 L179.7,262.2 L182.3,263.3 L185,264.5 L187.6,265.7 L190.3,267 L192.9,268.3 L195.6,269.7 L198.2,271.1 L200.9,272.6 L203.5,274 L206.2,275.5 L208.9,277 L211.5,278.5 L214.2,280 L216.8,281.5 L219.5,283 L222.1,284.5 L224.8,286 L227.4,287.5 L230.1,288.9 L232.7,290.4 L235.4,291.8 L238,293.3 L240.7,294.6 L243.3,296 L246,297.4 L248.6,298.7 L251.3,300 L253.9,301.3 L256.6,302.5 L259.2,303.8 L261.9,305 L264.5,306.1 L267.2,307.3 L269.9,308.4 L272.5,309.5 L275.2,310.6 L277.8,311.6 L280.5,312.6 L283.1,313.6 L285.8,314.5 L288.4,315.5 L291.1,316.4 L293.7,317.2 L296.4,318.1 L299,318.9 L301.7,319.7 L304.3,320.5 L307,321.2 L309.6,322 L312.3,322.7 L314.9,323.4 L317.6,324 L320.2,324.7 L322.9,325.3 L325.6,325.9 L328.2,326.5 L330.9,327 L333.5,327.5 L336.2,328.1 L338.8,328.6 L341.5,329.1 L344.1,329.5 L346.8,330 L349.4,330.4 L352.1,330.8 L354.7,331.2 L357.4,331.6 L360,332 L362.7,332.4 L365.3,332.7 L368,333 L370.6,333.4 L373.3,333.7 L375.9,334 L378.6,334.3 L381.2,334.5 L383.9,334.8 L386.6,335.1 L389.2,335.3 L391.9,335.5 L394.5,335.8 L397.2,336 L399.8,336.2 L402.5,336.4 L405.1,336.6 L407.8,336.8 L410.4,337 L413.1,337.1 L415.7,337.3 L418.4,337.4 L421,337.6 L423.7,337.7 L426.3,337.9 L429,338 L431.6,338.1 L434.3,338.3 L436.9,338.4 L439.6,338.5 L442.2,338.6 L444.9,338.7 L447.6,338.8 L450.2,338.9 L452.9,339 L455.5,339.1 L458.2,339.2 L460.8,339.2 L463.5,339.3 L466.1,339.4 L468.8,339.5 L471.4,339.5 L474.1,339.6 L476.7,339.7 L479.4,339.7 L482,339.8 L484.7,339.8 L487.3,339.9 L490,339.9 L492.6,340 L495.3,340 L497.9,340.1 L500.6,340.1 L503.2,340.1 L505.9,340.2 L508.6,340.2 L511.2,340.3 L513.9,340.3 L516.5,340.3 L519.2,340.4 L521.8,340.4 L524.5,340.4 L527.1,340.4 L529.8,340.5 L532.4,340.5 L535.1,340.5 L537.7,340.5 L540.4,340.6 L543,340.6 L545.7,340.6 L548.3,340.6 L551,340.6 L553.6,340.6 L556.3,340.7 L558.9,340.7 L561.6,340.7 L564.2,340.7 L566.9,340.7 L569.6,340.7 L572.2,340.7 L574.9,340.8 L577.5,340.8 L580.2,340.8 L582.8,340.8 L585.5,340.8 L588.1,340.8 L590.8,340.8 L593.4,340.8 L596.1,340.8 L598.7,340.8 L601.4,340.8 L604,340.9 L606.7,340.9 L609.3,340.9 L612,340.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.85,341 L89.5,341 L92.16,341 L94.81,341 L97.46,340.9 L100.1,340.9 L102.8,340.8 L105.4,340.7 L108.1,340.6 L110.7,340.4 L113.4,340.2 L116,339.9 L118.7,339.5 L121.3,339.1 L124,338.6 L126.6,338.1 L129.3,337.5 L131.9,336.9 L134.6,336.1 L137.2,335.4 L139.9,334.5 L142.5,333.6 L145.2,332.6 L147.9,331.6 L150.5,330.6 L153.2,329.4 L155.8,328.3 L158.5,327.1 L161.1,325.9 L163.8,324.6 L166.4,323.3 L169.1,322 L171.7,320.6 L174.4,319.3 L177,317.9 L179.7,316.6 L182.3,315.2 L185,313.9 L187.6,312.5 L190.3,311.2 L192.9,309.8 L195.6,308.5 L198.2,307.2 L200.9,306 L203.5,304.8 L206.2,303.5 L208.9,302.4 L211.5,301.2 L214.2,300.2 L216.8,299.1 L219.5,298.1 L222.1,297.1 L224.8,296.2 L227.4,295.3 L230.1,294.5 L232.7,293.7 L235.4,292.9 L238,292.3 L240.7,291.6 L243.3,291 L246,290.5 L248.6,290 L251.3,289.5 L253.9,289.1 L256.6,288.8 L259.2,288.5 L261.9,288.2 L264.5,288 L267.2,287.9 L269.9,287.7 L272.5,287.7 L275.2,287.6 L277.8,287.6 L280.5,287.7 L283.1,287.8 L285.8,287.9 L288.4,288.1 L291.1,288.3 L293.7,288.5 L296.4,288.7 L299,289 L301.7,289.4 L304.3,289.7 L307,290.1 L309.6,290.5 L312.3,290.9 L314.9,291.4 L317.6,291.8 L320.2,292.3 L322.9,292.9 L325.6,293.4 L328.2,293.9 L330.9,294.5 L333.5,295.1 L336.2,295.7 L338.8,296.3 L341.5,296.9 L344.1,297.5 L346.8,298.2 L349.4,298.8 L352.1,299.4 L354.7,300.1 L357.4,300.8 L360,301.4 L362.7,302.1 L365.3,302.8 L368,303.4 L370.6,304.1 L373.3,304.8 L375.9,305.5 L378.6,306.1 L381.2,306.8 L383.9,307.5 L386.6,308.1 L389.2,308.8 L391.9,309.5 L394.5,310.1 L397.2,310.8 L399.8,311.4 L402.5,312 L405.1,312.7 L407.8,313.3 L410.4,313.9 L413.1,314.5 L415.7,315.1 L418.4,315.7 L421,316.3 L423.7,316.9 L426.3,317.5 L429,318.1 L431.6,318.6 L434.3,319.2 L436.9,319.7 L439.6,320.2 L442.2,320.8 L444.9,321.3 L447.6,321.8 L450.2,322.3 L452.9,322.8 L455.5,323.3 L458.2,323.7 L460.8,324.2 L463.5,324.6 L466.1,325.1 L468.8,325.5 L471.4,325.9 L474.1,326.4 L476.7,326.8 L479.4,327.2 L482,327.5 L484.7,327.9 L487.3,328.3 L490,328.7 L492.6,329 L495.3,329.4 L497.9,329.7 L500.6,330 L503.2,330.4 L505.9,330.7 L508.6,331 L511.2,331.3 L513.9,331.6 L516.5,331.9 L519.2,332.1 L521.8,332.4 L524.5,332.7 L527.1,332.9 L529.8,333.2 L532.4,333.4 L535.1,333.7 L537.7,333.9 L540.4,334.1 L543,334.3 L545.7,334.5 L548.3,334.7 L551,334.9 L553.6,335.1 L556.3,335.3 L558.9,335.5 L561.6,335.7 L564.2,335.9 L566.9,336 L569.6,336.2 L572.2,336.4 L574.9,336.5 L577.5,336.7 L580.2,336.8 L582.8,336.9 L585.5,337.1 L588.1,337.2 L590.8,337.3 L593.4,337.5 L596.1,337.6 L598.7,337.7 L601.4,337.8 L604,337.9 L606.7,338 L609.3,338.1 L612,338.2 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="628.6" y="58" width="95.36" height="105"/><rect x="628.6" y="58" width="95.36" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="88" x2="658.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="118" x2="658.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="148" x2="658.6" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="666.1" y="88" font-size="15" font-family="Verdana">v=2</text>
-<text x="666.1" y="118" font-size="15" font-family="Verdana">v=5</text>
-<text x="666.1" y="148" font-size="15" font-family="Verdana">v=10</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Chi Squared Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.svg b/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.svg
deleted file mode 100644
index ee64fb9bea..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_i.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="202.3" x2="453" y2="202.3"/><line x1="79.2" y1="341" x2="453" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,184.9 L84.2,184.9 M82.2,167.6 L84.2,167.6 M82.2,150.3 L84.2,150.3 M82.2,115.6 L84.2,115.6 M82.2,98.23 L84.2,98.23 M82.2,80.89 L84.2,80.89 M82.2,202.3 L84.2,202.3 M82.2,219.6 L84.2,219.6 M82.2,237 L84.2,237 M82.2,254.3 L84.2,254.3 M82.2,271.6 L84.2,271.6 M82.2,289 L84.2,289 M82.2,306.3 L84.2,306.3 M82.2,323.7 L84.2,323.7 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M287.7,341 L287.7,343 M310.5,341 L310.5,343 M333.2,341 L333.2,343 M378.7,341 L378.7,343 M401.4,341 L401.4,343 M424.2,341 L424.2,343 M242.2,341 L242.2,343 M219.5,341 L219.5,343 M196.7,341 L196.7,343 M151.2,341 L151.2,343 M128.5,341 L128.5,343 M105.8,341 L105.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,202.3 L84.2,202.3 M79.2,132.9 L84.2,132.9 M79.2,63.55 L84.2,63.55 M79.2,202.3 L84.2,202.3 M79.2,271.6 L84.2,271.6 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M355.9,341 L355.9,346 M446.9,341 L446.9,346 M265,341 L265,346 M174,341 L174,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="355.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="446.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="174" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">20</text>
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="274" text-anchor="end" font-size="12" font-family="Verdana">-10</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-20</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_bessel_i(v, x)</text></g>
-<g id="xLabel">
-<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M180.3,63.55 L181.2,69.14 L182,74.5 L182.9,79.63 L183.7,84.55 L184.5,89.27 L185.4,93.78 L186.2,98.12 L187.1,102.3 L187.9,106.2 L188.8,110.1 L189.6,113.7 L190.5,117.2 L191.3,120.6 L192.2,123.8 L193,126.9 L193.9,129.8 L194.7,132.7 L195.6,135.4 L196.4,138 L197.2,140.5 L198.1,142.9 L198.9,145.2 L199.8,147.4 L200.6,149.5 L201.5,151.6 L202.3,153.5 L203.2,155.4 L204,157.1 L204.9,158.9 L205.7,160.5 L206.6,162.1 L207.4,163.6 L208.2,165 L209.1,166.4 L209.9,167.8 L210.8,169 L211.6,170.3 L212.5,171.4 L213.3,172.6 L214.2,173.6 L215,174.7 L215.9,175.7 L216.7,176.6 L217.6,177.5 L218.4,178.4 L219.3,179.2 L220.1,180 L220.9,180.8 L221.8,181.6 L222.6,182.3 L223.5,182.9 L224.3,183.6 L225.2,184.2 L226,184.8 L226.9,185.4 L227.7,185.9 L228.6,186.5 L229.4,187 L230.3,187.4 L231.1,187.9 L232,188.3 L232.8,188.8 L233.6,189.2 L234.5,189.6 L235.3,189.9 L236.2,190.3 L237,190.6 L237.9,190.9 L238.7,191.2 L239.6,191.5 L240.4,191.8 L241.3,192.1 L242.1,192.3 L243,192.6 L243.8,192.8 L244.6,193 L245.5,193.2 L246.3,193.4 L247.2,193.6 L248,193.8 L248.9,193.9 L249.7,194.1 L250.6,194.2 L251.4,194.3 L252.3,194.5 L253.1,194.6 L254,194.7 L254.8,194.8 L255.7,194.9 L256.5,195 L257.3,195 L258.2,195.1 L259,195.2 L259.9,195.2 L260.7,195.2 L261.6,195.3 L262.4,195.3 L263.3,195.3 L264.1,195.3 L265,195.3 L265.8,195.3 L266.7,195.3 L267.5,195.3 L268.4,195.3 L269.2,195.2 L270,195.2 L270.9,195.2 L271.7,195.1 L272.6,195 L273.4,195 L274.3,194.9 L275.1,194.8 L276,194.7 L276.8,194.6 L277.7,194.5 L278.5,194.3 L279.4,194.2 L280.2,194.1 L281,193.9 L281.9,193.8 L282.7,193.6 L283.6,193.4 L284.4,193.2 L285.3,193 L286.1,192.8 L287,192.6 L287.8,192.3 L288.7,192.1 L289.5,191.8 L290.4,191.5 L291.2,191.2 L292.1,190.9 L292.9,190.6 L293.7,190.3 L294.6,189.9 L295.4,189.6 L296.3,189.2 L297.1,188.8 L298,188.3 L298.8,187.9 L299.7,187.4 L300.5,187 L301.4,186.5 L302.2,185.9 L303.1,185.4 L303.9,184.8 L304.8,184.2 L305.6,183.6 L306.4,182.9 L307.3,182.3 L308.1,181.6 L309,180.8 L309.8,180 L310.7,179.2 L311.5,178.4 L312.4,177.5 L313.2,176.6 L314.1,175.7 L314.9,174.7 L315.8,173.6 L316.6,172.6 L317.4,171.4 L318.3,170.3 L319.1,169 L320,167.8 L320.8,166.4 L321.7,165 L322.5,163.6 L323.4,162.1 L324.2,160.5 L325.1,158.9 L325.9,157.1 L326.8,155.4 L327.6,153.5 L328.5,151.6 L329.3,149.5 L330.1,147.4 L331,145.2 L331.8,142.9 L332.7,140.5 L333.5,138 L334.4,135.4 L335.2,132.7 L336.1,129.8 L336.9,126.9 L337.8,123.8 L338.6,120.6 L339.5,117.2 L340.3,113.7 L341.2,110.1 L342,106.2 L342.8,102.3 L343.7,98.12 L344.5,93.78 L345.4,89.27 L346.2,84.55 L347.1,79.63 L347.9,74.5 L348.8,69.14 L349.6,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M171.5,63.55 L172.5,70.41 L173.4,76.94 L174.3,83.15 L175.3,89.06 L176.2,94.69 L177.1,100 L178.1,105.1 L179,110 L179.9,114.6 L180.9,118.9 L181.8,123.1 L182.8,127.1 L183.7,130.8 L184.6,134.4 L185.6,137.8 L186.5,141.1 L187.4,144.2 L188.4,147.1 L189.3,149.9 L190.2,152.6 L191.2,155.1 L192.1,157.5 L193,159.8 L194,162 L194.9,164 L195.8,166 L196.8,167.9 L197.7,169.6 L198.6,171.3 L199.6,172.9 L200.5,174.5 L201.4,175.9 L202.4,177.3 L203.3,178.6 L204.2,179.9 L205.2,181.1 L206.1,182.2 L207,183.3 L208,184.3 L208.9,185.3 L209.8,186.2 L210.8,187.1 L211.7,187.9 L212.6,188.7 L213.6,189.5 L214.5,190.2 L215.5,190.9 L216.4,191.5 L217.3,192.1 L218.3,192.7 L219.2,193.3 L220.1,193.8 L221.1,194.3 L222,194.8 L222.9,195.2 L223.9,195.6 L224.8,196 L225.7,196.4 L226.7,196.8 L227.6,197.1 L228.5,197.5 L229.5,197.8 L230.4,198.1 L231.3,198.4 L232.3,198.6 L233.2,198.9 L234.1,199.1 L235.1,199.4 L236,199.6 L236.9,199.8 L237.9,200 L238.8,200.2 L239.7,200.3 L240.7,200.5 L241.6,200.6 L242.5,200.8 L243.5,200.9 L244.4,201 L245.3,201.2 L246.3,201.3 L247.2,201.4 L248.1,201.5 L249.1,201.6 L250,201.7 L251,201.7 L251.9,201.8 L252.8,201.9 L253.8,201.9 L254.7,202 L255.6,202 L256.6,202.1 L257.5,202.1 L258.4,202.2 L259.4,202.2 L260.3,202.2 L261.2,202.2 L262.2,202.3 L263.1,202.3 L264,202.3 L265,202.3 L265.9,202.3 L266.8,202.3 L267.8,202.3 L268.7,202.2 L269.6,202.2 L270.6,202.2 L271.5,202.2 L272.4,202.1 L273.4,202.1 L274.3,202 L275.2,202 L276.2,201.9 L277.1,201.9 L278,201.8 L279,201.7 L279.9,201.7 L280.8,201.6 L281.8,201.5 L282.7,201.4 L283.6,201.3 L284.6,201.2 L285.5,201 L286.5,200.9 L287.4,200.8 L288.3,200.6 L289.3,200.5 L290.2,200.3 L291.1,200.2 L292.1,200 L293,199.8 L293.9,199.6 L294.9,199.4 L295.8,199.1 L296.7,198.9 L297.7,198.6 L298.6,198.4 L299.5,198.1 L300.5,197.8 L301.4,197.5 L302.3,197.1 L303.3,196.8 L304.2,196.4 L305.1,196 L306.1,195.6 L307,195.2 L307.9,194.8 L308.9,194.3 L309.8,193.8 L310.7,193.3 L311.7,192.7 L312.6,192.1 L313.5,191.5 L314.5,190.9 L315.4,190.2 L316.3,189.5 L317.3,188.7 L318.2,187.9 L319.2,187.1 L320.1,186.2 L321,185.3 L322,184.3 L322.9,183.3 L323.8,182.2 L324.8,181.1 L325.7,179.9 L326.6,178.6 L327.6,177.3 L328.5,175.9 L329.4,174.5 L330.4,172.9 L331.3,171.3 L332.2,169.6 L333.2,167.9 L334.1,166 L335,164 L336,162 L336.9,159.8 L337.8,157.5 L338.8,155.1 L339.7,152.6 L340.6,149.9 L341.6,147.1 L342.5,144.2 L343.4,141.1 L344.4,137.8 L345.3,134.4 L346.2,130.8 L347.2,127.1 L348.1,123.1 L349,118.9 L350,114.6 L350.9,110 L351.8,105.1 L352.8,100 L353.7,94.69 L354.7,89.06 L355.6,83.15 L356.5,76.94 L357.5,70.41 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M142.1,341 L143.4,330.2 L144.6,320.2 L145.8,311 L147,302.4 L148.3,294.5 L149.5,287.2 L150.7,280.4 L152,274.2 L153.2,268.4 L154.4,263.1 L155.6,258.2 L156.9,253.6 L158.1,249.4 L159.3,245.5 L160.6,242 L161.8,238.7 L163,235.6 L164.2,232.8 L165.5,230.3 L166.7,227.9 L167.9,225.7 L169.1,223.7 L170.4,221.9 L171.6,220.2 L172.8,218.6 L174.1,217.2 L175.3,215.8 L176.5,214.6 L177.7,213.5 L179,212.5 L180.2,211.6 L181.4,210.7 L182.7,209.9 L183.9,209.2 L185.1,208.6 L186.3,208 L187.6,207.4 L188.8,206.9 L190,206.5 L191.3,206.1 L192.5,205.7 L193.7,205.3 L194.9,205 L196.2,204.7 L197.4,204.5 L198.6,204.3 L199.9,204 L201.1,203.9 L202.3,203.7 L203.5,203.5 L204.8,203.4 L206,203.3 L207.2,203.1 L208.5,203 L209.7,203 L210.9,202.9 L212.1,202.8 L213.4,202.7 L214.6,202.7 L215.8,202.6 L217.1,202.6 L218.3,202.5 L219.5,202.5 L220.7,202.5 L222,202.4 L223.2,202.4 L224.4,202.4 L225.7,202.4 L226.9,202.4 L228.1,202.3 L229.3,202.3 L230.6,202.3 L231.8,202.3 L233,202.3 L234.3,202.3 L235.5,202.3 L236.7,202.3 L237.9,202.3 L239.2,202.3 L240.4,202.3 L241.6,202.3 L242.9,202.3 L244.1,202.3 L245.3,202.3 L246.5,202.3 L247.8,202.3 L249,202.3 L250.2,202.3 L251.5,202.3 L252.7,202.3 L253.9,202.3 L255.1,202.3 L256.4,202.3 L257.6,202.3 L258.8,202.3 L260.1,202.3 L261.3,202.3 L262.5,202.3 L263.7,202.3 L265,202.3 L266.2,202.3 L267.4,202.3 L268.6,202.3 L269.9,202.3 L271.1,202.3 L272.3,202.3 L273.6,202.3 L274.8,202.3 L276,202.3 L277.2,202.3 L278.5,202.3 L279.7,202.3 L280.9,202.3 L282.2,202.3 L283.4,202.3 L284.6,202.3 L285.8,202.3 L287.1,202.3 L288.3,202.3 L289.5,202.3 L290.8,202.3 L292,202.3 L293.2,202.3 L294.4,202.3 L295.7,202.2 L296.9,202.2 L298.1,202.2 L299.4,202.2 L300.6,202.2 L301.8,202.2 L303,202.2 L304.3,202.2 L305.5,202.2 L306.7,202.1 L308,202.1 L309.2,202.1 L310.4,202 L311.6,202 L312.9,202 L314.1,201.9 L315.3,201.9 L316.6,201.8 L317.8,201.7 L319,201.7 L320.2,201.6 L321.5,201.5 L322.7,201.4 L323.9,201.3 L325.2,201.2 L326.4,201 L327.6,200.9 L328.8,200.7 L330.1,200.5 L331.3,200.3 L332.5,200.1 L333.8,199.8 L335,199.5 L336.2,199.2 L337.4,198.9 L338.7,198.5 L339.9,198.1 L341.1,197.6 L342.4,197.1 L343.6,196.6 L344.8,196 L346,195.3 L347.3,194.6 L348.5,193.8 L349.7,193 L351,192 L352.2,191 L353.4,189.9 L354.6,188.7 L355.9,187.4 L357.1,186 L358.3,184.4 L359.6,182.7 L360.8,180.8 L362,178.8 L363.2,176.6 L364.5,174.3 L365.7,171.7 L366.9,168.9 L368.1,165.9 L369.4,162.6 L370.6,159 L371.8,155.1 L373.1,150.9 L374.3,146.4 L375.5,141.5 L376.7,136.1 L378,130.4 L379.2,124.1 L380.4,117.4 L381.7,110 L382.9,102.1 L384.1,93.58 L385.3,84.34 L386.6,74.35 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M119.5,341 L120.9,327.3 L122.4,314.9 L123.8,303.7 L125.3,293.6 L126.8,284.4 L128.2,276.2 L129.7,268.7 L131.1,261.9 L132.6,255.8 L134,250.3 L135.5,245.3 L136.9,240.9 L138.4,236.8 L139.9,233.2 L141.3,229.9 L142.8,227 L144.2,224.4 L145.7,222 L147.1,219.8 L148.6,217.9 L150,216.2 L151.5,214.7 L152.9,213.3 L154.4,212.1 L155.9,211 L157.3,210 L158.8,209.1 L160.2,208.3 L161.7,207.6 L163.1,207 L164.6,206.4 L166,205.9 L167.5,205.5 L168.9,205.1 L170.4,204.7 L171.9,204.4 L173.3,204.2 L174.8,203.9 L176.2,203.7 L177.7,203.5 L179.1,203.4 L180.6,203.2 L182,203.1 L183.5,203 L184.9,202.9 L186.4,202.8 L187.9,202.7 L189.3,202.7 L190.8,202.6 L192.2,202.6 L193.7,202.5 L195.1,202.5 L196.6,202.4 L198,202.4 L199.5,202.4 L201,202.4 L202.4,202.4 L203.9,202.3 L205.3,202.3 L206.8,202.3 L208.2,202.3 L209.7,202.3 L211.1,202.3 L212.6,202.3 L214,202.3 L215.5,202.3 L217,202.3 L218.4,202.3 L219.9,202.3 L221.3,202.3 L222.8,202.3 L224.2,202.3 L225.7,202.3 L227.1,202.3 L228.6,202.3 L230,202.3 L231.5,202.3 L233,202.3 L234.4,202.3 L235.9,202.3 L237.3,202.3 L238.8,202.3 L240.2,202.3 L241.7,202.3 L243.1,202.3 L244.6,202.3 L246.1,202.3 L247.5,202.3 L249,202.3 L250.4,202.3 L251.9,202.3 L253.3,202.3 L254.8,202.3 L256.2,202.3 L257.7,202.3 L259.1,202.3 L260.6,202.3 L262.1,202.3 L263.5,202.3 L265,202.3 L266.4,202.3 L267.9,202.3 L269.3,202.3 L270.8,202.3 L272.2,202.3 L273.7,202.3 L275.1,202.3 L276.6,202.3 L278.1,202.3 L279.5,202.3 L281,202.3 L282.4,202.3 L283.9,202.3 L285.3,202.3 L286.8,202.3 L288.2,202.3 L289.7,202.3 L291.2,202.3 L292.6,202.3 L294.1,202.3 L295.5,202.3 L297,202.3 L298.4,202.3 L299.9,202.3 L301.3,202.3 L302.8,202.3 L304.2,202.3 L305.7,202.3 L307.2,202.3 L308.6,202.3 L310.1,202.3 L311.5,202.3 L313,202.3 L314.4,202.3 L315.9,202.3 L317.3,202.3 L318.8,202.2 L320.2,202.2 L321.7,202.2 L323.2,202.2 L324.6,202.2 L326.1,202.2 L327.5,202.2 L329,202.2 L330.4,202.1 L331.9,202.1 L333.3,202.1 L334.8,202.1 L336.3,202 L337.7,202 L339.2,201.9 L340.6,201.9 L342.1,201.8 L343.5,201.7 L345,201.7 L346.4,201.6 L347.9,201.5 L349.3,201.3 L350.8,201.2 L352.3,201 L353.7,200.8 L355.2,200.6 L356.6,200.4 L358.1,200.1 L359.5,199.8 L361,199.5 L362.4,199.1 L363.9,198.6 L365.3,198.1 L366.8,197.6 L368.3,197 L369.7,196.3 L371.2,195.5 L372.6,194.6 L374.1,193.6 L375.5,192.5 L377,191.3 L378.4,189.9 L379.9,188.3 L381.4,186.6 L382.8,184.7 L384.3,182.6 L385.7,180.2 L387.2,177.6 L388.6,174.6 L390.1,171.3 L391.5,167.7 L393,163.7 L394.4,159.2 L395.9,154.2 L397.4,148.7 L398.8,142.6 L400.3,135.9 L401.7,128.4 L403.2,120.1 L404.6,110.9 L406.1,100.8 L407.5,89.6 L409,77.22 L410.4,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,63.55 L86.01,81.54 L87.82,97.28 L89.62,111 L91.43,123 L93.24,133.5 L95.05,142.7 L96.85,150.6 L98.66,157.6 L100.5,163.6 L102.3,168.9 L104.1,173.5 L105.9,177.4 L107.7,180.9 L109.5,183.8 L111.3,186.4 L113.1,188.7 L114.9,190.6 L116.7,192.3 L118.5,193.7 L120.4,195 L122.2,196 L124,196.9 L125.8,197.7 L127.6,198.4 L129.4,199 L131.2,199.5 L133,199.9 L134.8,200.3 L136.6,200.6 L138.4,200.9 L140.2,201.1 L142,201.3 L143.9,201.4 L145.7,201.6 L147.5,201.7 L149.3,201.8 L151.1,201.9 L152.9,201.9 L154.7,202 L156.5,202 L158.3,202.1 L160.1,202.1 L161.9,202.1 L163.7,202.2 L165.5,202.2 L167.4,202.2 L169.2,202.2 L171,202.2 L172.8,202.2 L174.6,202.2 L176.4,202.3 L178.2,202.3 L180,202.3 L181.8,202.3 L183.6,202.3 L185.4,202.3 L187.2,202.3 L189,202.3 L190.9,202.3 L192.7,202.3 L194.5,202.3 L196.3,202.3 L198.1,202.3 L199.9,202.3 L201.7,202.3 L203.5,202.3 L205.3,202.3 L207.1,202.3 L208.9,202.3 L210.7,202.3 L212.5,202.3 L214.4,202.3 L216.2,202.3 L218,202.3 L219.8,202.3 L221.6,202.3 L223.4,202.3 L225.2,202.3 L227,202.3 L228.8,202.3 L230.6,202.3 L232.4,202.3 L234.2,202.3 L236,202.3 L237.8,202.3 L239.7,202.3 L241.5,202.3 L243.3,202.3 L245.1,202.3 L246.9,202.3 L248.7,202.3 L250.5,202.3 L252.3,202.3 L254.1,202.3 L255.9,202.3 L257.7,202.3 L259.5,202.3 L261.3,202.3 L263.2,202.3 L265,202.3 L266.8,202.3 L268.6,202.3 L270.4,202.3 L272.2,202.3 L274,202.3 L275.8,202.3 L277.6,202.3 L279.4,202.3 L281.2,202.3 L283,202.3 L284.8,202.3 L286.7,202.3 L288.5,202.3 L290.3,202.3 L292.1,202.3 L293.9,202.3 L295.7,202.3 L297.5,202.3 L299.3,202.3 L301.1,202.3 L302.9,202.3 L304.7,202.3 L306.5,202.3 L308.3,202.3 L310.2,202.3 L312,202.3 L313.8,202.3 L315.6,202.3 L317.4,202.3 L319.2,202.3 L321,202.3 L322.8,202.3 L324.6,202.3 L326.4,202.3 L328.2,202.3 L330,202.3 L331.8,202.3 L333.7,202.3 L335.5,202.3 L337.3,202.3 L339.1,202.3 L340.9,202.3 L342.7,202.3 L344.5,202.3 L346.3,202.3 L348.1,202.3 L349.9,202.3 L351.7,202.3 L353.5,202.3 L355.3,202.2 L357.2,202.2 L359,202.2 L360.8,202.2 L362.6,202.2 L364.4,202.2 L366.2,202.2 L368,202.1 L369.8,202.1 L371.6,202.1 L373.4,202 L375.2,202 L377,201.9 L378.8,201.9 L380.7,201.8 L382.5,201.7 L384.3,201.6 L386.1,201.4 L387.9,201.3 L389.7,201.1 L391.5,200.9 L393.3,200.6 L395.1,200.3 L396.9,199.9 L398.7,199.5 L400.5,199 L402.3,198.4 L404.2,197.7 L406,196.9 L407.8,196 L409.6,195 L411.4,193.7 L413.2,192.3 L415,190.6 L416.8,188.7 L418.6,186.4 L420.4,183.8 L422.2,180.9 L424,177.4 L425.8,173.5 L427.7,168.9 L429.5,163.6 L431.3,157.6 L433.1,150.6 L434.9,142.7 L436.7,133.5 L438.5,123 L440.3,111 L442.1,97.28 L443.9,81.54 L445.7,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
-<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
-<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
-<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
-<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel I</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.svg b/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.svg
deleted file mode 100644
index bf6cf0c84c..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_j.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="366.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="368.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="273.1" y1="58" x2="273.1" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="239" x2="460.8" y2="239"/><line x1="87.6" y1="341" x2="460.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,217.1 L92.6,217.1 M90.6,195.1 L92.6,195.1 M90.6,173.2 L92.6,173.2 M90.6,129.3 L92.6,129.3 M90.6,107.4 L92.6,107.4 M90.6,85.48 L92.6,85.48 M90.6,239 L92.6,239 M90.6,260.9 L92.6,260.9 M90.6,282.8 L92.6,282.8 M90.6,304.8 L92.6,304.8 M90.6,326.7 L92.6,326.7 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M295.7,341 L295.7,343 M318.2,341 L318.2,343 M340.8,341 L340.8,343 M385.9,341 L385.9,343 M408.5,341 L408.5,343 M431,341 L431,343 M250.5,341 L250.5,343 M228,341 L228,343 M205.4,341 L205.4,343 M160.3,341 L160.3,343 M137.7,341 L137.7,343 M115.2,341 L115.2,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,239 L92.6,239 M87.6,151.3 L92.6,151.3 M87.6,63.55 L92.6,63.55 M87.6,239 L92.6,239 M87.6,326.7 L92.6,326.7 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M273.1,341 L273.1,346 M363.3,341 L363.3,346 M453.6,341 L453.6,346 M273.1,341 L273.1,346 M182.8,341 L182.8,346 M92.6,341 L92.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="363.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="453.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="182.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
-<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="241.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="153.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="81.6" y="241.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="329.1" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_bessel_j(v, x)</text></g>
-<g id="xLabel">
-<text x="276.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,209.7 L94.4,207.9 L96.21,207.4 L98.01,208.1 L99.82,210.1 L101.6,213.3 L103.4,217.5 L105.2,222.6 L107,228.4 L108.8,234.8 L110.6,241.3 L112.5,247.9 L114.3,254.1 L116.1,259.9 L117.9,264.8 L119.7,268.8 L121.5,271.6 L123.3,273.2 L125.1,273.4 L126.9,272.2 L128.7,269.7 L130.5,265.9 L132.3,261 L134.1,255.1 L135.9,248.5 L137.7,241.5 L139.5,234.2 L141.3,227.1 L143.1,220.3 L144.9,214.2 L146.7,209 L148.6,204.9 L150.4,202.1 L152.2,200.8 L154,201 L155.8,202.7 L157.6,205.9 L159.4,210.5 L161.2,216.3 L163,223.1 L164.8,230.6 L166.6,238.6 L168.4,246.8 L170.2,254.8 L172,262.3 L173.8,269 L175.6,274.6 L177.4,278.9 L179.2,281.7 L181,282.8 L182.8,282.1 L184.6,279.7 L186.5,275.6 L188.3,270 L190.1,263 L191.9,254.8 L193.7,245.9 L195.5,236.4 L197.3,226.8 L199.1,217.5 L200.9,208.9 L202.7,201.2 L204.5,194.8 L206.3,190.1 L208.1,187.2 L209.9,186.3 L211.7,187.6 L213.5,190.9 L215.3,196.3 L217.1,203.6 L218.9,212.6 L220.7,222.9 L222.6,234.3 L224.4,246.2 L226.2,258.3 L228,270.1 L229.8,281.2 L231.6,290.9 L233.4,299 L235.2,305 L237,308.7 L238.8,309.6 L240.6,307.7 L242.4,302.9 L244.2,295.2 L246,284.6 L247.8,271.4 L249.6,256 L251.4,238.5 L253.2,219.6 L255,199.7 L256.8,179.3 L258.7,159.1 L260.5,139.5 L262.3,121.2 L264.1,104.7 L265.9,90.52 L267.7,78.99 L269.5,70.5 L271.3,65.3 L273.1,63.55 L274.9,65.3 L276.7,70.5 L278.5,78.99 L280.3,90.52 L282.1,104.7 L283.9,121.2 L285.7,139.5 L287.5,159.1 L289.3,179.3 L291.1,199.7 L292.9,219.6 L294.7,238.5 L296.6,256 L298.4,271.4 L300.2,284.6 L302,295.2 L303.8,302.9 L305.6,307.7 L307.4,309.6 L309.2,308.7 L311,305 L312.8,299 L314.6,290.9 L316.4,281.2 L318.2,270.1 L320,258.3 L321.8,246.2 L323.6,234.3 L325.4,222.9 L327.2,212.6 L329,203.6 L330.8,196.3 L332.7,190.9 L334.5,187.6 L336.3,186.3 L338.1,187.2 L339.9,190.1 L341.7,194.8 L343.5,201.2 L345.3,208.9 L347.1,217.5 L348.9,226.8 L350.7,236.4 L352.5,245.9 L354.3,254.8 L356.1,263 L357.9,270 L359.7,275.6 L361.5,279.7 L363.3,282.1 L365.1,282.8 L366.9,281.7 L368.7,278.9 L370.6,274.6 L372.4,269 L374.2,262.3 L376,254.8 L377.8,246.8 L379.6,238.6 L381.4,230.6 L383.2,223.1 L385,216.3 L386.8,210.5 L388.6,205.9 L390.4,202.7 L392.2,201 L394,200.8 L395.8,202.1 L397.6,204.9 L399.4,209 L401.2,214.2 L403,220.3 L404.8,227.1 L406.7,234.2 L408.5,241.5 L410.3,248.5 L412.1,255.1 L413.9,261 L415.7,265.9 L417.5,269.7 L419.3,272.2 L421.1,273.4 L422.9,273.2 L424.7,271.6 L426.5,268.8 L428.3,264.8 L430.1,259.9 L431.9,254.1 L433.7,247.9 L435.5,241.3 L437.3,234.8 L439.1,228.4 L440.9,222.6 L442.8,217.5 L444.6,213.3 L446.4,210.1 L448.2,208.1 L450,207.4 L451.8,207.9 L453.6,209.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,250.7 L94.4,244.7 L96.21,238.5 L98.01,232.2 L99.82,226.1 L101.6,220.4 L103.4,215.5 L105.2,211.4 L107,208.4 L108.8,206.6 L110.6,206 L112.5,206.8 L114.3,208.8 L116.1,212.1 L117.9,216.5 L119.7,221.8 L121.5,227.9 L123.3,234.6 L125.1,241.4 L126.9,248.3 L128.7,254.8 L130.5,260.9 L132.3,266.1 L134.1,270.3 L135.9,273.3 L137.7,275 L139.5,275.2 L141.3,274 L143.1,271.4 L144.9,267.5 L146.7,262.4 L148.6,256.2 L150.4,249.3 L152.2,241.9 L154,234.2 L155.8,226.6 L157.6,219.4 L159.4,212.9 L161.2,207.3 L163,202.8 L164.8,199.8 L166.6,198.2 L168.4,198.3 L170.2,200 L172,203.2 L173.8,208 L175.6,214 L177.4,221.2 L179.2,229.3 L181,237.8 L182.8,246.6 L184.6,255.3 L186.5,263.5 L188.3,270.8 L190.1,277.1 L191.9,282 L193.7,285.3 L195.5,286.8 L197.3,286.5 L199.1,284.2 L200.9,280.1 L202.7,274.3 L204.5,266.9 L206.3,258.2 L208.1,248.5 L209.9,238.2 L211.7,227.5 L213.5,217.1 L215.3,207.1 L217.1,198.1 L218.9,190.4 L220.7,184.4 L222.6,180.3 L224.4,178.4 L226.2,178.8 L228,181.5 L229.8,186.6 L231.6,194 L233.4,203.4 L235.2,214.7 L237,227.4 L238.8,241.2 L240.6,255.7 L242.4,270.4 L244.2,284.8 L246,298.5 L247.8,310.9 L249.6,321.6 L251.4,330.2 L253.2,336.5 L255,340.2 L256.8,341 L258.7,339 L260.5,334.1 L262.3,326.4 L264.1,316.2 L265.9,303.7 L267.7,289.3 L269.5,273.4 L271.3,256.4 L273.1,239 L274.9,221.5 L276.7,204.6 L278.5,188.7 L280.3,174.3 L282.1,161.8 L283.9,151.6 L285.7,143.9 L287.5,139 L289.3,137 L291.1,137.8 L292.9,141.4 L294.7,147.7 L296.6,156.4 L298.4,167.1 L300.2,179.5 L302,193.1 L303.8,207.5 L305.6,222.2 L307.4,236.7 L309.2,250.6 L311,263.3 L312.8,274.6 L314.6,284 L316.4,291.3 L318.2,296.5 L320,299.2 L321.8,299.6 L323.6,297.6 L325.4,293.5 L327.2,287.5 L329,279.8 L330.8,270.8 L332.7,260.9 L334.5,250.4 L336.3,239.8 L338.1,229.5 L339.9,219.8 L341.7,211.1 L343.5,203.7 L345.3,197.8 L347.1,193.7 L348.9,191.5 L350.7,191.1 L352.5,192.7 L354.3,195.9 L356.1,200.8 L357.9,207.1 L359.7,214.5 L361.5,222.7 L363.3,231.4 L365.1,240.1 L366.9,248.7 L368.7,256.7 L370.6,263.9 L372.4,270 L374.2,274.7 L376,278 L377.8,279.7 L379.6,279.7 L381.4,278.2 L383.2,275.1 L385,270.7 L386.8,265.1 L388.6,258.5 L390.4,251.3 L392.2,243.7 L394,236.1 L395.8,228.6 L397.6,221.7 L399.4,215.6 L401.2,210.5 L403,206.5 L404.8,203.9 L406.7,202.7 L408.5,203 L410.3,204.7 L412.1,207.7 L413.9,211.9 L415.7,217.1 L417.5,223.1 L419.3,229.7 L421.1,236.5 L422.9,243.4 L424.7,250 L426.5,256.1 L428.3,261.5 L430.1,265.9 L431.9,269.1 L433.7,271.2 L435.5,272 L437.3,271.4 L439.1,269.6 L440.9,266.6 L442.8,262.5 L444.6,257.5 L446.4,251.9 L448.2,245.8 L450,239.5 L451.8,233.2 L453.6,227.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,267.1 L94.4,269.5 L96.21,270.6 L98.01,270.5 L99.82,269.2 L101.6,266.7 L103.4,263 L105.2,258.3 L107,252.9 L108.8,246.8 L110.6,240.3 L112.5,233.7 L114.3,227.3 L116.1,221.2 L117.9,215.8 L119.7,211.2 L121.5,207.7 L123.3,205.3 L125.1,204.3 L126.9,204.6 L128.7,206.3 L130.5,209.3 L132.3,213.5 L134.1,218.8 L135.9,224.9 L137.7,231.7 L139.5,238.8 L141.3,246.1 L143.1,253.2 L144.9,259.8 L146.7,265.7 L148.6,270.6 L150.4,274.3 L152.2,276.7 L154,277.7 L155.8,277.2 L157.6,275.1 L159.4,271.7 L161.2,266.8 L163,260.8 L164.8,253.9 L166.6,246.2 L168.4,238.2 L170.2,230 L172,222 L173.8,214.6 L175.6,208 L177.4,202.4 L179.2,198.2 L181,195.4 L182.8,194.3 L184.6,194.9 L186.5,197.2 L188.3,201.2 L190.1,206.7 L191.9,213.6 L193.7,221.6 L195.5,230.4 L197.3,239.8 L199.1,249.4 L200.9,258.8 L202.7,267.7 L204.5,275.8 L206.3,282.7 L208.1,288.1 L209.9,291.9 L211.7,293.8 L213.5,293.7 L215.3,291.6 L217.1,287.6 L218.9,281.6 L220.7,273.9 L222.6,264.7 L224.4,254.2 L226.2,242.8 L228,230.8 L229.8,218.6 L231.6,206.6 L233.4,195.1 L235.2,184.5 L237,175.1 L238.8,167.2 L240.6,160.9 L242.4,156.6 L244.2,154.2 L246,153.7 L247.8,155.2 L249.6,158.5 L251.4,163.4 L253.2,169.7 L255,177.1 L256.8,185.3 L258.7,193.9 L260.5,202.6 L262.3,211 L264.1,218.8 L265.9,225.7 L267.7,231.3 L269.5,235.5 L271.3,238.1 L273.1,239 L274.9,238.1 L276.7,235.5 L278.5,231.3 L280.3,225.7 L282.1,218.8 L283.9,211 L285.7,202.6 L287.5,193.9 L289.3,185.3 L291.1,177.1 L292.9,169.7 L294.7,163.4 L296.6,158.5 L298.4,155.2 L300.2,153.7 L302,154.2 L303.8,156.6 L305.6,160.9 L307.4,167.2 L309.2,175.1 L311,184.5 L312.8,195.1 L314.6,206.6 L316.4,218.6 L318.2,230.8 L320,242.8 L321.8,254.2 L323.6,264.7 L325.4,273.9 L327.2,281.6 L329,287.6 L330.8,291.6 L332.7,293.7 L334.5,293.8 L336.3,291.9 L338.1,288.1 L339.9,282.7 L341.7,275.8 L343.5,267.7 L345.3,258.8 L347.1,249.4 L348.9,239.8 L350.7,230.4 L352.5,221.6 L354.3,213.6 L356.1,206.7 L357.9,201.2 L359.7,197.2 L361.5,194.9 L363.3,194.3 L365.1,195.4 L366.9,198.2 L368.7,202.4 L370.6,208 L372.4,214.6 L374.2,222 L376,230 L377.8,238.2 L379.6,246.2 L381.4,253.9 L383.2,260.8 L385,266.8 L386.8,271.7 L388.6,275.1 L390.4,277.2 L392.2,277.7 L394,276.7 L395.8,274.3 L397.6,270.6 L399.4,265.7 L401.2,259.8 L403,253.2 L404.8,246.1 L406.7,238.8 L408.5,231.7 L410.3,224.9 L412.1,218.8 L413.9,213.5 L415.7,209.3 L417.5,206.3 L419.3,204.6 L421.1,204.3 L422.9,205.3 L424.7,207.7 L426.5,211.2 L428.3,215.8 L430.1,221.2 L431.9,227.3 L433.7,233.7 L435.5,240.3 L437.3,246.8 L439.1,252.9 L440.9,258.3 L442.8,263 L444.6,266.7 L446.4,269.2 L448.2,270.5 L450,270.6 L451.8,269.5 L453.6,267.1 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,221.6 L94.4,227.1 L96.21,233 L98.01,239.3 L99.82,245.6 L101.6,251.7 L103.4,257.4 L105.2,262.4 L107,266.6 L108.8,269.7 L110.6,271.7 L112.5,272.4 L114.3,271.8 L116.1,269.9 L117.9,266.9 L119.7,262.7 L121.5,257.5 L123.3,251.5 L125.1,245 L126.9,238.2 L128.7,231.3 L130.5,224.6 L132.3,218.4 L134.1,212.9 L135.9,208.4 L137.7,204.9 L139.5,202.8 L141.3,202 L143.1,202.6 L144.9,204.6 L146.7,208 L148.6,212.6 L150.4,218.2 L152.2,224.8 L154,232 L155.8,239.6 L157.6,247.2 L159.4,254.7 L161.2,261.7 L163,268 L164.8,273.2 L166.6,277.3 L168.4,280 L170.2,281.2 L172,280.8 L173.8,278.9 L175.6,275.4 L177.4,270.5 L179.2,264.4 L181,257.2 L182.8,249.2 L184.6,240.7 L186.5,231.9 L188.3,223.2 L190.1,214.9 L191.9,207.2 L193.7,200.6 L195.5,195.1 L197.3,191.1 L199.1,188.6 L200.9,187.9 L202.7,188.9 L204.5,191.7 L206.3,196.1 L208.1,202.2 L209.9,209.6 L211.7,218.2 L213.5,227.7 L215.3,237.9 L217.1,248.5 L218.9,259.1 L220.7,269.5 L222.6,279.3 L224.4,288.3 L226.2,296.3 L228,303 L229.8,308.3 L231.6,312.2 L233.4,314.4 L235.2,315.2 L237,314.4 L238.8,312.3 L240.6,308.9 L242.4,304.5 L244.2,299.2 L246,293.2 L247.8,286.8 L249.6,280.3 L251.4,273.7 L253.2,267.5 L255,261.6 L256.8,256.3 L258.7,251.7 L260.5,247.8 L262.3,244.7 L264.1,242.4 L265.9,240.8 L267.7,239.8 L269.5,239.2 L271.3,239 L273.1,239 L274.9,239 L276.7,238.8 L278.5,238.2 L280.3,237.2 L282.1,235.6 L283.9,233.2 L285.7,230.1 L287.5,226.3 L289.3,221.6 L291.1,216.4 L292.9,210.5 L294.7,204.2 L296.6,197.7 L298.4,191.1 L300.2,184.8 L302,178.8 L303.8,173.5 L305.6,169 L307.4,165.6 L309.2,163.5 L311,162.8 L312.8,163.5 L314.6,165.8 L316.4,169.6 L318.2,175 L320,181.7 L321.8,189.7 L323.6,198.7 L325.4,208.5 L327.2,218.8 L329,229.5 L330.8,240 L332.7,250.2 L334.5,259.8 L336.3,268.4 L338.1,275.8 L339.9,281.8 L341.7,286.3 L343.5,289 L345.3,290.1 L347.1,289.3 L348.9,286.9 L350.7,282.9 L352.5,277.4 L354.3,270.7 L356.1,263.1 L357.9,254.8 L359.7,246.1 L361.5,237.3 L363.3,228.7 L365.1,220.7 L366.9,213.5 L368.7,207.4 L370.6,202.5 L372.4,199.1 L374.2,197.2 L376,196.8 L377.8,198 L379.6,200.7 L381.4,204.7 L383.2,210 L385,216.3 L386.8,223.3 L388.6,230.7 L390.4,238.4 L392.2,246 L394,253.2 L395.8,259.7 L397.6,265.4 L399.4,270 L401.2,273.4 L403,275.4 L404.8,276 L406.7,275.2 L408.5,273 L410.3,269.6 L412.1,265 L413.9,259.5 L415.7,253.3 L417.5,246.7 L419.3,239.8 L421.1,233 L422.9,226.4 L424.7,220.5 L426.5,215.3 L428.3,211.1 L430.1,208 L431.9,206.2 L433.7,205.6 L435.5,206.3 L437.3,208.3 L439.1,211.4 L440.9,215.6 L442.8,220.6 L444.6,226.3 L446.4,232.4 L448.2,238.7 L450,244.9 L451.8,250.9 L453.6,256.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,216.1 L94.4,212.1 L96.21,209.2 L98.01,207.3 L99.82,206.7 L101.6,207.3 L103.4,209.1 L105.2,212.1 L107,216.1 L108.8,221.1 L110.6,226.8 L112.5,233 L114.3,239.5 L116.1,246.1 L117.9,252.5 L119.7,258.4 L121.5,263.7 L123.3,268.1 L125.1,271.5 L126.9,273.6 L128.7,274.5 L130.5,274.1 L132.3,272.4 L134.1,269.3 L135.9,265.1 L137.7,259.9 L139.5,253.8 L141.3,247.1 L143.1,240 L144.9,232.7 L146.7,225.6 L148.6,218.9 L150.4,212.8 L152.2,207.6 L154,203.4 L155.8,200.5 L157.6,199 L159.4,198.8 L161.2,200.1 L163,202.9 L164.8,207 L166.6,212.3 L168.4,218.6 L170.2,225.8 L172,233.5 L173.8,241.6 L175.6,249.8 L177.4,257.7 L179.2,265.1 L181,271.8 L182.8,277.5 L184.6,282 L186.5,285.2 L188.3,286.8 L190.1,287 L191.9,285.6 L193.7,282.6 L195.5,278.2 L197.3,272.4 L199.1,265.4 L200.9,257.5 L202.7,248.8 L204.5,239.5 L206.3,230 L208.1,220.5 L209.9,211.3 L211.7,202.5 L213.5,194.5 L215.3,187.3 L217.1,181.2 L218.9,176.2 L220.7,172.5 L222.6,170.1 L224.4,169 L226.2,169.1 L228,170.3 L229.8,172.7 L231.6,175.9 L233.4,180 L235.2,184.6 L237,189.7 L238.8,195 L240.6,200.4 L242.4,205.8 L244.2,211 L246,215.8 L247.8,220.3 L249.6,224.2 L251.4,227.7 L253.2,230.6 L255,233 L256.8,234.9 L258.7,236.4 L260.5,237.4 L262.3,238.1 L264.1,238.5 L265.9,238.8 L267.7,238.9 L269.5,239 L271.3,239 L273.1,239 L274.9,239 L276.7,239 L278.5,238.9 L280.3,238.8 L282.1,238.5 L283.9,238.1 L285.7,237.4 L287.5,236.4 L289.3,234.9 L291.1,233 L292.9,230.6 L294.7,227.7 L296.6,224.2 L298.4,220.3 L300.2,215.8 L302,211 L303.8,205.8 L305.6,200.4 L307.4,195 L309.2,189.7 L311,184.6 L312.8,180 L314.6,175.9 L316.4,172.7 L318.2,170.3 L320,169.1 L321.8,169 L323.6,170.1 L325.4,172.5 L327.2,176.2 L329,181.2 L330.8,187.3 L332.7,194.5 L334.5,202.5 L336.3,211.3 L338.1,220.5 L339.9,230 L341.7,239.5 L343.5,248.8 L345.3,257.5 L347.1,265.4 L348.9,272.4 L350.7,278.2 L352.5,282.6 L354.3,285.6 L356.1,287 L357.9,286.8 L359.7,285.2 L361.5,282 L363.3,277.5 L365.1,271.8 L366.9,265.1 L368.7,257.7 L370.6,249.8 L372.4,241.6 L374.2,233.5 L376,225.8 L377.8,218.6 L379.6,212.3 L381.4,207 L383.2,202.9 L385,200.1 L386.8,198.8 L388.6,199 L390.4,200.5 L392.2,203.4 L394,207.6 L395.8,212.8 L397.6,218.9 L399.4,225.6 L401.2,232.7 L403,240 L404.8,247.1 L406.7,253.8 L408.5,259.9 L410.3,265.1 L412.1,269.3 L413.9,272.4 L415.7,274.1 L417.5,274.5 L419.3,273.6 L421.1,271.5 L422.9,268.1 L424.7,263.7 L426.5,258.4 L428.3,252.5 L430.1,246.1 L431.9,239.5 L433.7,233 L435.5,226.8 L437.3,221.1 L439.1,216.1 L440.9,212.1 L442.8,209.1 L444.6,207.3 L446.4,206.7 L448.2,207.3 L450,209.2 L451.8,212.1 L453.6,216.1 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="509.8" y="86" font-size="14" font-family="Verdana">v = 0</text>
-<text x="509.8" y="114" font-size="14" font-family="Verdana">v = 1</text>
-<text x="509.8" y="142" font-size="14" font-family="Verdana">v = 2</text>
-<text x="509.8" y="170" font-size="14" font-family="Verdana">v = 3</text>
-<text x="509.8" y="198" font-size="14" font-family="Verdana">v = 4</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel J</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.svg b/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.svg
deleted file mode 100644
index ba4c54f707..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/cyl_bessel_k.svg
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="375.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="377.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="341" x2="453" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,334.1 L75.8,334.1 M73.8,327.1 L75.8,327.1 M73.8,320.2 L75.8,320.2 M73.8,306.3 L75.8,306.3 M73.8,299.4 L75.8,299.4 M73.8,292.4 L75.8,292.4 M73.8,278.6 L75.8,278.6 M73.8,271.6 L75.8,271.6 M73.8,264.7 L75.8,264.7 M73.8,250.8 L75.8,250.8 M73.8,243.9 L75.8,243.9 M73.8,237 L75.8,237 M73.8,223.1 L75.8,223.1 M73.8,216.1 L75.8,216.1 M73.8,209.2 L75.8,209.2 M73.8,195.3 L75.8,195.3 M73.8,188.4 L75.8,188.4 M73.8,181.5 L75.8,181.5 M73.8,167.6 L75.8,167.6 M73.8,160.7 L75.8,160.7 M73.8,153.7 L75.8,153.7 M73.8,139.8 L75.8,139.8 M73.8,132.9 L75.8,132.9 M73.8,126 L75.8,126 M73.8,112.1 L75.8,112.1 M73.8,105.2 L75.8,105.2 M73.8,98.23 L75.8,98.23 M73.8,84.36 L75.8,84.36 M73.8,77.42 L75.8,77.42 M73.8,70.49 L75.8,70.49 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M85.04,341 L85.04,343 M94.29,341 L94.29,343 M103.5,341 L103.5,343 M122,341 L122,343 M131.3,341 L131.3,343 M140.5,341 L140.5,343 M159,341 L159,343 M168.2,341 L168.2,343 M177.5,341 L177.5,343 M196,341 L196,343 M205.2,341 L205.2,343 M214.5,341 L214.5,343 M232.9,341 L232.9,343 M242.2,341 L242.2,343 M251.4,341 L251.4,343 M269.9,341 L269.9,343 M279.2,341 L279.2,343 M288.4,341 L288.4,343 M306.9,341 L306.9,343 M316.1,341 L316.1,343 M325.4,341 L325.4,343 M343.9,341 L343.9,343 M353.1,341 L353.1,343 M362.4,341 L362.4,343 M380.9,341 L380.9,343 M390.1,341 L390.1,343 M399.3,341 L399.3,343 M417.8,341 L417.8,343 M427.1,341 L427.1,343 M436.3,341 L436.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,341 L75.8,341 M70.8,313.3 L75.8,313.3 M70.8,285.5 L75.8,285.5 M70.8,257.8 L75.8,257.8 M70.8,230 L75.8,230 M70.8,202.3 L75.8,202.3 M70.8,174.5 L75.8,174.5 M70.8,146.8 L75.8,146.8 M70.8,119 L75.8,119 M70.8,91.29 L75.8,91.29 M70.8,63.55 L75.8,63.55 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.8,341 L75.8,346 M112.8,341 L112.8,346 M149.8,341 L149.8,346 M186.7,341 L186.7,346 M223.7,341 L223.7,346 M260.7,341 L260.7,346 M297.7,341 L297.7,346 M334.6,341 L334.6,346 M371.6,341 L371.6,346 M408.6,341 L408.6,346 M445.6,341 L445.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="112.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="149.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="186.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="223.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="260.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="297.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
-<text x="334.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text>
-<text x="371.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">8</text>
-<text x="408.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">9</text>
-<text x="445.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="64.8" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="64.8" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="64.8" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">4</text>
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="64.8" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">6</text>
-<text x="64.8" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">7</text>
-<text x="64.8" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">8</text>
-<text x="64.8" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">9</text>
-<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">10</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_bessel_k(v, x)</text></g>
-<g id="xLabel">
-<text x="264.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L77.65,254.6 L79.5,273.7 L81.35,284.7 L83.2,292.4 L85.04,298.2 L86.89,302.9 L88.74,306.8 L90.59,310.1 L92.44,312.9 L94.29,315.4 L96.14,317.5 L97.99,319.4 L99.83,321.1 L101.7,322.7 L103.5,324.1 L105.4,325.3 L107.2,326.5 L109.1,327.5 L110.9,328.4 L112.8,329.3 L114.6,330.1 L116.5,330.9 L118.3,331.5 L120.2,332.2 L122,332.7 L123.9,333.3 L125.7,333.8 L127.6,334.2 L129.4,334.7 L131.3,335.1 L133.1,335.4 L135,335.8 L136.8,336.1 L138.7,336.4 L140.5,336.7 L142.4,337 L144.2,337.2 L146.1,337.4 L147.9,337.6 L149.8,337.8 L151.6,338 L153.5,338.2 L155.3,338.4 L157.1,338.5 L159,338.7 L160.8,338.8 L162.7,338.9 L164.5,339.1 L166.4,339.2 L168.2,339.3 L170.1,339.4 L171.9,339.5 L173.8,339.6 L175.6,339.6 L177.5,339.7 L179.3,339.8 L181.2,339.9 L183,339.9 L184.9,340 L186.7,340 L188.6,340.1 L190.4,340.1 L192.3,340.2 L194.1,340.2 L196,340.3 L197.8,340.3 L199.7,340.4 L201.5,340.4 L203.4,340.4 L205.2,340.5 L207.1,340.5 L208.9,340.5 L210.8,340.5 L212.6,340.6 L214.5,340.6 L216.3,340.6 L218.2,340.6 L220,340.7 L221.9,340.7 L223.7,340.7 L225.6,340.7 L227.4,340.7 L229.3,340.7 L231.1,340.8 L233,340.8 L234.8,340.8 L236.6,340.8 L238.5,340.8 L240.3,340.8 L242.2,340.8 L244,340.8 L245.9,340.8 L247.7,340.9 L249.6,340.9 L251.4,340.9 L253.3,340.9 L255.1,340.9 L257,340.9 L258.8,340.9 L260.7,340.9 L262.5,340.9 L264.4,340.9 L266.2,340.9 L268.1,340.9 L269.9,340.9 L271.8,340.9 L273.6,340.9 L275.5,340.9 L277.3,340.9 L279.2,340.9 L281,340.9 L282.9,340.9 L284.7,341 L286.6,341 L288.4,341 L290.3,341 L292.1,341 L294,341 L295.8,341 L297.7,341 L299.5,341 L301.4,341 L303.2,341 L305.1,341 L306.9,341 L308.8,341 L310.6,341 L312.4,341 L314.3,341 L316.1,341 L318,341 L319.8,341 L321.7,341 L323.5,341 L325.4,341 L327.2,341 L329.1,341 L330.9,341 L332.8,341 L334.6,341 L336.5,341 L338.3,341 L340.2,341 L342,341 L343.9,341 L345.7,341 L347.6,341 L349.4,341 L351.3,341 L353.1,341 L355,341 L356.8,341 L358.7,341 L360.5,341 L362.4,341 L364.2,341 L366.1,341 L367.9,341 L369.8,341 L371.6,341 L373.5,341 L375.3,341 L377.2,341 L379,341 L380.9,341 L382.7,341 L384.6,341 L386.4,341 L388.3,341 L390.1,341 L391.9,341 L393.8,341 L395.6,341 L397.5,341 L399.3,341 L401.2,341 L403,341 L404.9,341 L406.7,341 L408.6,341 L410.4,341 L412.3,341 L414.1,341 L416,341 L417.8,341 L419.7,341 L421.5,341 L423.4,341 L425.2,341 L427.1,341 L428.9,341 L430.8,341 L432.6,341 L434.5,341 L436.3,341 L438.2,341 L440,341 L441.9,341 L443.7,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M91.97,63.55 L93.74,117.7 L95.5,158 L97.27,188.6 L99.04,212.5 L100.8,231.5 L102.6,246.8 L104.3,259.3 L106.1,269.6 L107.9,278.2 L109.6,285.5 L111.4,291.8 L113.2,297.1 L115,301.7 L116.7,305.7 L118.5,309.2 L120.3,312.2 L122,314.9 L123.8,317.3 L125.6,319.4 L127.3,321.3 L129.1,323 L130.9,324.5 L132.6,325.8 L134.4,327.1 L136.2,328.2 L137.9,329.2 L139.7,330.1 L141.5,330.9 L143.2,331.7 L145,332.4 L146.8,333 L148.5,333.6 L150.3,334.1 L152.1,334.6 L153.8,335.1 L155.6,335.5 L157.4,335.9 L159.2,336.2 L160.9,336.5 L162.7,336.8 L164.5,337.1 L166.2,337.4 L168,337.6 L169.8,337.8 L171.5,338 L173.3,338.2 L175.1,338.4 L176.8,338.6 L178.6,338.7 L180.4,338.9 L182.1,339 L183.9,339.1 L185.7,339.2 L187.4,339.3 L189.2,339.4 L191,339.5 L192.7,339.6 L194.5,339.7 L196.3,339.8 L198,339.9 L199.8,339.9 L201.6,340 L203.4,340 L205.1,340.1 L206.9,340.2 L208.7,340.2 L210.4,340.2 L212.2,340.3 L214,340.3 L215.7,340.4 L217.5,340.4 L219.3,340.4 L221,340.5 L222.8,340.5 L224.6,340.5 L226.3,340.6 L228.1,340.6 L229.9,340.6 L231.6,340.6 L233.4,340.6 L235.2,340.7 L236.9,340.7 L238.7,340.7 L240.5,340.7 L242.2,340.7 L244,340.8 L245.8,340.8 L247.6,340.8 L249.3,340.8 L251.1,340.8 L252.9,340.8 L254.6,340.8 L256.4,340.8 L258.2,340.8 L259.9,340.8 L261.7,340.9 L263.5,340.9 L265.2,340.9 L267,340.9 L268.8,340.9 L270.5,340.9 L272.3,340.9 L274.1,340.9 L275.8,340.9 L277.6,340.9 L279.4,340.9 L281.1,340.9 L282.9,340.9 L284.7,340.9 L286.4,340.9 L288.2,340.9 L290,340.9 L291.8,340.9 L293.5,340.9 L295.3,341 L297.1,341 L298.8,341 L300.6,341 L302.4,341 L304.1,341 L305.9,341 L307.7,341 L309.4,341 L311.2,341 L313,341 L314.7,341 L316.5,341 L318.3,341 L320,341 L321.8,341 L323.6,341 L325.3,341 L327.1,341 L328.9,341 L330.6,341 L332.4,341 L334.2,341 L335.9,341 L337.7,341 L339.5,341 L341.3,341 L343,341 L344.8,341 L346.6,341 L348.3,341 L350.1,341 L351.9,341 L353.6,341 L355.4,341 L357.2,341 L358.9,341 L360.7,341 L362.5,341 L364.2,341 L366,341 L367.8,341 L369.5,341 L371.3,341 L373.1,341 L374.8,341 L376.6,341 L378.4,341 L380.1,341 L381.9,341 L383.7,341 L385.5,341 L387.2,341 L389,341 L390.8,341 L392.5,341 L394.3,341 L396.1,341 L397.8,341 L399.6,341 L401.4,341 L403.1,341 L404.9,341 L406.7,341 L408.4,341 L410.2,341 L412,341 L413.7,341 L415.5,341 L417.3,341 L419,341 L420.8,341 L422.6,341 L424.3,341 L426.1,341 L427.9,341 L429.7,341 L431.4,341 L433.2,341 L435,341 L436.7,341 L438.5,341 L440.3,341 L442,341 L443.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M149,63.55 L150.4,92.37 L151.9,117.8 L153.4,140.3 L154.9,160.2 L156.4,177.8 L157.9,193.6 L159.3,207.6 L160.8,220.1 L162.3,231.3 L163.8,241.3 L165.3,250.3 L166.8,258.4 L168.2,265.6 L169.7,272.2 L171.2,278.1 L172.7,283.4 L174.2,288.3 L175.7,292.7 L177.1,296.6 L178.6,300.2 L180.1,303.5 L181.6,306.5 L183.1,309.2 L184.6,311.7 L186,314 L187.5,316.1 L189,318 L190.5,319.7 L192,321.3 L193.5,322.8 L194.9,324.1 L196.4,325.3 L197.9,326.5 L199.4,327.5 L200.9,328.5 L202.4,329.4 L203.8,330.2 L205.3,330.9 L206.8,331.6 L208.3,332.3 L209.8,332.9 L211.2,333.4 L212.7,333.9 L214.2,334.4 L215.7,334.8 L217.2,335.2 L218.7,335.6 L220.1,336 L221.6,336.3 L223.1,336.6 L224.6,336.9 L226.1,337.1 L227.6,337.4 L229,337.6 L230.5,337.8 L232,338 L233.5,338.2 L235,338.4 L236.5,338.5 L237.9,338.7 L239.4,338.8 L240.9,339 L242.4,339.1 L243.9,339.2 L245.4,339.3 L246.8,339.4 L248.3,339.5 L249.8,339.6 L251.3,339.7 L252.8,339.8 L254.3,339.8 L255.7,339.9 L257.2,340 L258.7,340 L260.2,340.1 L261.7,340.1 L263.2,340.2 L264.6,340.2 L266.1,340.3 L267.6,340.3 L269.1,340.3 L270.6,340.4 L272.1,340.4 L273.5,340.5 L275,340.5 L276.5,340.5 L278,340.5 L279.5,340.6 L281,340.6 L282.4,340.6 L283.9,340.6 L285.4,340.7 L286.9,340.7 L288.4,340.7 L289.8,340.7 L291.3,340.7 L292.8,340.7 L294.3,340.7 L295.8,340.8 L297.3,340.8 L298.7,340.8 L300.2,340.8 L301.7,340.8 L303.2,340.8 L304.7,340.8 L306.2,340.8 L307.6,340.8 L309.1,340.9 L310.6,340.9 L312.1,340.9 L313.6,340.9 L315.1,340.9 L316.5,340.9 L318,340.9 L319.5,340.9 L321,340.9 L322.5,340.9 L324,340.9 L325.4,340.9 L326.9,340.9 L328.4,340.9 L329.9,340.9 L331.4,340.9 L332.9,340.9 L334.3,340.9 L335.8,340.9 L337.3,340.9 L338.8,340.9 L340.3,341 L341.8,341 L343.2,341 L344.7,341 L346.2,341 L347.7,341 L349.2,341 L350.7,341 L352.1,341 L353.6,341 L355.1,341 L356.6,341 L358.1,341 L359.6,341 L361,341 L362.5,341 L364,341 L365.5,341 L367,341 L368.4,341 L369.9,341 L371.4,341 L372.9,341 L374.4,341 L375.9,341 L377.3,341 L378.8,341 L380.3,341 L381.8,341 L383.3,341 L384.8,341 L386.2,341 L387.7,341 L389.2,341 L390.7,341 L392.2,341 L393.7,341 L395.1,341 L396.6,341 L398.1,341 L399.6,341 L401.1,341 L402.6,341 L404,341 L405.5,341 L407,341 L408.5,341 L410,341 L411.5,341 L412.9,341 L414.4,341 L415.9,341 L417.4,341 L418.9,341 L420.4,341 L421.8,341 L423.3,341 L424.8,341 L426.3,341 L427.8,341 L429.3,341 L430.7,341 L432.2,341 L433.7,341 L435.2,341 L436.7,341 L438.1,341 L439.6,341 L441.1,341 L442.6,341 L444.1,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M192.4,63.55 L193.6,85.91 L194.9,106.3 L196.2,124.9 L197.4,141.9 L198.7,157.4 L200,171.6 L201.2,184.6 L202.5,196.6 L203.8,207.5 L205,217.5 L206.3,226.7 L207.5,235.2 L208.8,242.9 L210.1,250.1 L211.3,256.7 L212.6,262.7 L213.9,268.3 L215.1,273.5 L216.4,278.2 L217.7,282.6 L218.9,286.7 L220.2,290.4 L221.5,293.9 L222.7,297.1 L224,300.1 L225.3,302.9 L226.5,305.4 L227.8,307.8 L229.1,310 L230.3,312 L231.6,313.9 L232.9,315.7 L234.1,317.3 L235.4,318.9 L236.7,320.3 L237.9,321.6 L239.2,322.8 L240.5,324 L241.7,325 L243,326 L244.3,327 L245.5,327.8 L246.8,328.6 L248.1,329.4 L249.3,330.1 L250.6,330.8 L251.9,331.4 L253.1,332 L254.4,332.5 L255.7,333 L256.9,333.5 L258.2,333.9 L259.5,334.3 L260.7,334.7 L262,335.1 L263.3,335.4 L264.5,335.8 L265.8,336.1 L267.1,336.3 L268.3,336.6 L269.6,336.9 L270.9,337.1 L272.1,337.3 L273.4,337.5 L274.6,337.7 L275.9,337.9 L277.2,338.1 L278.4,338.2 L279.7,338.4 L281,338.5 L282.2,338.7 L283.5,338.8 L284.8,338.9 L286,339 L287.3,339.1 L288.6,339.2 L289.8,339.3 L291.1,339.4 L292.4,339.5 L293.6,339.6 L294.9,339.7 L296.2,339.7 L297.4,339.8 L298.7,339.9 L300,339.9 L301.2,340 L302.5,340 L303.8,340.1 L305,340.1 L306.3,340.2 L307.6,340.2 L308.8,340.3 L310.1,340.3 L311.4,340.3 L312.6,340.4 L313.9,340.4 L315.2,340.4 L316.4,340.5 L317.7,340.5 L319,340.5 L320.2,340.5 L321.5,340.6 L322.8,340.6 L324,340.6 L325.3,340.6 L326.6,340.6 L327.8,340.7 L329.1,340.7 L330.4,340.7 L331.6,340.7 L332.9,340.7 L334.2,340.7 L335.4,340.7 L336.7,340.8 L338,340.8 L339.2,340.8 L340.5,340.8 L341.7,340.8 L343,340.8 L344.3,340.8 L345.5,340.8 L346.8,340.8 L348.1,340.8 L349.3,340.9 L350.6,340.9 L351.9,340.9 L353.1,340.9 L354.4,340.9 L355.7,340.9 L356.9,340.9 L358.2,340.9 L359.5,340.9 L360.7,340.9 L362,340.9 L363.3,340.9 L364.5,340.9 L365.8,340.9 L367.1,340.9 L368.3,340.9 L369.6,340.9 L370.9,340.9 L372.1,340.9 L373.4,340.9 L374.7,340.9 L375.9,340.9 L377.2,340.9 L378.5,341 L379.7,341 L381,341 L382.3,341 L383.5,341 L384.8,341 L386.1,341 L387.3,341 L388.6,341 L389.9,341 L391.1,341 L392.4,341 L393.7,341 L394.9,341 L396.2,341 L397.5,341 L398.7,341 L400,341 L401.3,341 L402.5,341 L403.8,341 L405.1,341 L406.3,341 L407.6,341 L408.8,341 L410.1,341 L411.4,341 L412.6,341 L413.9,341 L415.2,341 L416.4,341 L417.7,341 L419,341 L420.2,341 L421.5,341 L422.8,341 L424,341 L425.3,341 L426.6,341 L427.8,341 L429.1,341 L430.4,341 L431.6,341 L432.9,341 L434.2,341 L435.4,341 L436.7,341 L438,341 L439.2,341 L440.5,341 L441.8,341 L443,341 L444.3,341 L445.6,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M260.3,63.55 L261.2,78.8 L262.1,93.16 L263.1,106.7 L264,119.4 L264.9,131.4 L265.8,142.7 L266.8,153.4 L267.7,163.4 L268.6,172.9 L269.5,181.8 L270.5,190.3 L271.4,198.2 L272.3,205.7 L273.3,212.8 L274.2,219.5 L275.1,225.8 L276,231.8 L277,237.5 L277.9,242.8 L278.8,247.8 L279.7,252.6 L280.7,257.1 L281.6,261.4 L282.5,265.4 L283.4,269.2 L284.4,272.8 L285.3,276.3 L286.2,279.5 L287.1,282.6 L288.1,285.5 L289,288.2 L289.9,290.8 L290.9,293.3 L291.8,295.6 L292.7,297.9 L293.6,300 L294.6,302 L295.5,303.9 L296.4,305.7 L297.3,307.4 L298.3,309 L299.2,310.5 L300.1,312 L301,313.3 L302,314.7 L302.9,315.9 L303.8,317.1 L304.7,318.2 L305.7,319.3 L306.6,320.3 L307.5,321.3 L308.5,322.2 L309.4,323.1 L310.3,323.9 L311.2,324.7 L312.2,325.4 L313.1,326.2 L314,326.8 L314.9,327.5 L315.9,328.1 L316.8,328.7 L317.7,329.2 L318.6,329.8 L319.6,330.3 L320.5,330.8 L321.4,331.2 L322.4,331.7 L323.3,332.1 L324.2,332.5 L325.1,332.9 L326.1,333.2 L327,333.6 L327.9,333.9 L328.8,334.2 L329.8,334.5 L330.7,334.8 L331.6,335.1 L332.5,335.3 L333.5,335.6 L334.4,335.8 L335.3,336 L336.2,336.2 L337.2,336.4 L338.1,336.6 L339,336.8 L340,337 L340.9,337.2 L341.8,337.3 L342.7,337.5 L343.7,337.6 L344.6,337.8 L345.5,337.9 L346.4,338.1 L347.4,338.2 L348.3,338.3 L349.2,338.4 L350.1,338.5 L351.1,338.6 L352,338.7 L352.9,338.8 L353.8,338.9 L354.8,339 L355.7,339.1 L356.6,339.2 L357.6,339.2 L358.5,339.3 L359.4,339.4 L360.3,339.4 L361.3,339.5 L362.2,339.6 L363.1,339.6 L364,339.7 L365,339.7 L365.9,339.8 L366.8,339.8 L367.7,339.9 L368.7,339.9 L369.6,340 L370.5,340 L371.5,340 L372.4,340.1 L373.3,340.1 L374.2,340.2 L375.2,340.2 L376.1,340.2 L377,340.3 L377.9,340.3 L378.9,340.3 L379.8,340.3 L380.7,340.4 L381.6,340.4 L382.6,340.4 L383.5,340.4 L384.4,340.5 L385.3,340.5 L386.3,340.5 L387.2,340.5 L388.1,340.5 L389.1,340.6 L390,340.6 L390.9,340.6 L391.8,340.6 L392.8,340.6 L393.7,340.6 L394.6,340.6 L395.5,340.7 L396.5,340.7 L397.4,340.7 L398.3,340.7 L399.2,340.7 L400.2,340.7 L401.1,340.7 L402,340.7 L402.9,340.8 L403.9,340.8 L404.8,340.8 L405.7,340.8 L406.7,340.8 L407.6,340.8 L408.5,340.8 L409.4,340.8 L410.4,340.8 L411.3,340.8 L412.2,340.8 L413.1,340.8 L414.1,340.8 L415,340.8 L415.9,340.9 L416.8,340.9 L417.8,340.9 L418.7,340.9 L419.6,340.9 L420.6,340.9 L421.5,340.9 L422.4,340.9 L423.3,340.9 L424.3,340.9 L425.2,340.9 L426.1,340.9 L427,340.9 L428,340.9 L428.9,340.9 L429.8,340.9 L430.7,340.9 L431.7,340.9 L432.6,340.9 L433.5,340.9 L434.4,340.9 L435.4,340.9 L436.3,340.9 L437.2,340.9 L438.2,340.9 L439.1,340.9 L440,340.9 L440.9,340.9 L441.9,340.9 L442.8,341 L443.7,341 L444.6,341 L445.6,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
-<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
-<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
-<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
-<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel K</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/cyl_neumann.svg b/libs/math/doc/sf_and_dist/graphs/cyl_neumann.svg
deleted file mode 100644
index a2099337c5..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/cyl_neumann.svg
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="383" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="385" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="89.72" x2="460.8" y2="89.72"/><line x1="70.8" y1="341" x2="460.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,77.16 L75.8,77.16 M73.8,64.59 L75.8,64.59 M73.8,89.72 L75.8,89.72 M73.8,102.3 L75.8,102.3 M73.8,114.8 L75.8,114.8 M73.8,127.4 L75.8,127.4 M73.8,140 L75.8,140 M73.8,152.5 L75.8,152.5 M73.8,165.1 L75.8,165.1 M73.8,177.7 L75.8,177.7 M73.8,190.2 L75.8,190.2 M73.8,202.8 L75.8,202.8 M73.8,215.4 L75.8,215.4 M73.8,227.9 L75.8,227.9 M73.8,240.5 L75.8,240.5 M73.8,253.1 L75.8,253.1 M73.8,265.6 L75.8,265.6 M73.8,278.2 L75.8,278.2 M73.8,290.7 L75.8,290.7 M73.8,303.3 L75.8,303.3 M73.8,315.9 L75.8,315.9 M73.8,328.4 L75.8,328.4 M73.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M99.38,341 L99.38,343 M123,341 L123,343 M146.6,341 L146.6,343 M193.7,341 L193.7,343 M217.3,341 L217.3,343 M240.9,341 L240.9,343 M288.1,341 L288.1,343 M311.7,341 L311.7,343 M335.3,341 L335.3,343 M382.5,341 L382.5,343 M406.1,341 L406.1,343 M429.7,341 L429.7,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,89.72 L75.8,89.72 M70.8,89.72 L75.8,89.72 M70.8,140 L75.8,140 M70.8,190.2 L75.8,190.2 M70.8,240.5 L75.8,240.5 M70.8,290.7 L75.8,290.7 M70.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.79,341 L75.79,346 M170.2,341 L170.2,346 M264.5,341 L264.5,346 M358.9,341 L358.9,346 M453.3,341 L453.3,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="75.79" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="170.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="264.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="358.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="453.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="92.12" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="92.12" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="142.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
-<text x="64.8" y="192.6" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
-<text x="64.8" y="242.9" text-anchor="end" font-size="12" font-family="Verdana">-3</text>
-<text x="64.8" y="293.1" text-anchor="end" font-size="12" font-family="Verdana">-4</text>
-<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">cyl_neumann(v, x)</text></g>
-<g id="xLabel">
-<text x="268.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L77.69,166.7 L79.57,144 L81.46,130.2 L83.35,120.1 L85.24,112 L87.12,105.2 L89.01,99.28 L90.9,94.06 L92.79,89.42 L94.67,85.27 L96.56,81.56 L98.45,78.25 L100.3,75.31 L102.2,72.73 L104.1,70.49 L106,68.59 L107.9,67 L109.8,65.72 L111.7,64.75 L113.5,64.07 L115.4,63.67 L117.3,63.55 L119.2,63.69 L121.1,64.07 L123,64.69 L124.9,65.54 L126.8,66.58 L128.6,67.82 L130.5,69.23 L132.4,70.79 L134.3,72.48 L136.2,74.3 L138.1,76.21 L140,78.19 L141.9,80.23 L143.7,82.31 L145.6,84.4 L147.5,86.49 L149.4,88.55 L151.3,90.58 L153.2,92.55 L155.1,94.44 L157,96.24 L158.8,97.94 L160.7,99.51 L162.6,101 L164.5,102.3 L166.4,103.4 L168.3,104.4 L170.2,105.2 L172,105.9 L173.9,106.4 L175.8,106.7 L177.7,106.8 L179.6,106.8 L181.5,106.6 L183.4,106.2 L185.3,105.7 L187.1,105 L189,104.2 L190.9,103.3 L192.8,102.2 L194.7,101 L196.6,99.77 L198.5,98.42 L200.4,97.02 L202.2,95.56 L204.1,94.06 L206,92.54 L207.9,91.02 L209.8,89.51 L211.7,88.02 L213.6,86.56 L215.5,85.16 L217.3,83.82 L219.2,82.56 L221.1,81.39 L223,80.31 L224.9,79.34 L226.8,78.49 L228.7,77.75 L230.6,77.15 L232.4,76.68 L234.3,76.34 L236.2,76.14 L238.1,76.08 L240,76.15 L241.9,76.36 L243.8,76.7 L245.7,77.16 L247.5,77.75 L249.4,78.44 L251.3,79.24 L253.2,80.14 L255.1,81.12 L257,82.18 L258.9,83.3 L260.8,84.47 L262.6,85.68 L264.5,86.93 L266.4,88.18 L268.3,89.44 L270.2,90.69 L272.1,91.92 L274,93.12 L275.8,94.27 L277.7,95.36 L279.6,96.39 L281.5,97.34 L283.4,98.21 L285.3,98.98 L287.2,99.66 L289.1,100.2 L290.9,100.7 L292.8,101 L294.7,101.3 L296.6,101.4 L298.5,101.4 L300.4,101.3 L302.3,101 L304.2,100.7 L306,100.3 L307.9,99.7 L309.8,99.06 L311.7,98.32 L313.6,97.51 L315.5,96.63 L317.4,95.69 L319.3,94.69 L321.1,93.65 L323,92.58 L324.9,91.49 L326.8,90.39 L328.7,89.29 L330.6,88.21 L332.5,87.15 L334.4,86.12 L336.2,85.13 L338.1,84.2 L340,83.33 L341.9,82.53 L343.8,81.8 L345.7,81.16 L347.6,80.61 L349.5,80.16 L351.3,79.8 L353.2,79.54 L355.1,79.39 L357,79.34 L358.9,79.4 L360.8,79.55 L362.7,79.81 L364.6,80.16 L366.4,80.61 L368.3,81.15 L370.2,81.76 L372.1,82.46 L374,83.22 L375.9,84.04 L377.8,84.91 L379.6,85.82 L381.5,86.77 L383.4,87.74 L385.3,88.72 L387.2,89.71 L389.1,90.7 L391,91.66 L392.9,92.61 L394.7,93.51 L396.6,94.38 L398.5,95.19 L400.4,95.94 L402.3,96.63 L404.2,97.25 L406.1,97.78 L408,98.24 L409.8,98.6 L411.7,98.88 L413.6,99.06 L415.5,99.15 L417.4,99.14 L419.3,99.04 L421.2,98.85 L423.1,98.57 L424.9,98.2 L426.8,97.75 L428.7,97.22 L430.6,96.62 L432.5,95.95 L434.4,95.23 L436.3,94.45 L438.2,93.63 L440,92.78 L441.9,91.9 L443.8,91 L445.7,90.1 L447.6,89.19 L449.5,88.3 L451.4,87.42 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M78.25,341 L80.12,236.7 L82,195.9 L83.87,174.1 L85.75,160.4 L87.62,150.7 L89.5,143.4 L91.37,137.4 L93.25,132.4 L95.12,127.9 L97,123.9 L98.87,120.1 L100.7,116.5 L102.6,113.1 L104.5,109.7 L106.4,106.5 L108.2,103.4 L110.1,100.4 L112,97.44 L113.9,94.6 L115.7,91.85 L117.6,89.22 L119.5,86.7 L121.4,84.31 L123.2,82.07 L125.1,79.97 L127,78.03 L128.9,76.26 L130.7,74.67 L132.6,73.25 L134.5,72.03 L136.4,71 L138.2,70.16 L140.1,69.52 L142,69.08 L143.9,68.83 L145.7,68.78 L147.6,68.92 L149.5,69.25 L151.4,69.75 L153.2,70.42 L155.1,71.26 L157,72.24 L158.9,73.37 L160.7,74.61 L162.6,75.98 L164.5,77.44 L166.4,78.98 L168.2,80.6 L170.1,82.26 L172,83.96 L173.9,85.69 L175.7,87.42 L177.6,89.14 L179.5,90.83 L181.4,92.48 L183.2,94.08 L185.1,95.61 L187,97.06 L188.9,98.41 L190.7,99.66 L192.6,100.8 L194.5,101.8 L196.4,102.7 L198.2,103.4 L200.1,104 L202,104.5 L203.9,104.8 L205.7,104.9 L207.6,104.9 L209.5,104.8 L211.4,104.5 L213.2,104.1 L215.1,103.6 L217,102.9 L218.9,102.1 L220.7,101.2 L222.6,100.2 L224.5,99.09 L226.4,97.92 L228.2,96.69 L230.1,95.41 L232,94.09 L233.9,92.74 L235.7,91.37 L237.6,90.01 L239.5,88.66 L241.4,87.34 L243.2,86.05 L245.1,84.81 L247,83.64 L248.9,82.54 L250.7,81.51 L252.6,80.58 L254.5,79.75 L256.4,79.02 L258.2,78.41 L260.1,77.91 L262,77.53 L263.9,77.27 L265.7,77.13 L267.6,77.12 L269.5,77.23 L271.4,77.47 L273.2,77.82 L275.1,78.28 L277,78.85 L278.9,79.51 L280.7,80.28 L282.6,81.12 L284.5,82.05 L286.4,83.04 L288.2,84.08 L290.1,85.18 L292,86.3 L293.9,87.45 L295.8,88.61 L297.6,89.78 L299.5,90.93 L301.4,92.06 L303.3,93.16 L305.1,94.22 L307,95.22 L308.9,96.17 L310.8,97.04 L312.6,97.83 L314.5,98.54 L316.4,99.16 L318.3,99.68 L320.1,100.1 L322,100.4 L323.9,100.6 L325.8,100.7 L327.6,100.7 L329.5,100.6 L331.4,100.4 L333.3,100 L335.1,99.62 L337,99.11 L338.9,98.5 L340.8,97.82 L342.6,97.06 L344.5,96.23 L346.4,95.35 L348.3,94.41 L350.1,93.44 L352,92.44 L353.9,91.41 L355.8,90.38 L357.6,89.35 L359.5,88.33 L361.4,87.33 L363.3,86.36 L365.1,85.43 L367,84.54 L368.9,83.72 L370.8,82.95 L372.6,82.26 L374.5,81.65 L376.4,81.11 L378.3,80.67 L380.1,80.32 L382,80.06 L383.9,79.9 L385.8,79.83 L387.6,79.86 L389.5,79.99 L391.4,80.22 L393.3,80.53 L395.1,80.93 L397,81.42 L398.9,81.99 L400.8,82.62 L402.6,83.33 L404.5,84.09 L406.4,84.9 L408.3,85.76 L410.1,86.65 L412,87.57 L413.9,88.5 L415.8,89.43 L417.6,90.37 L419.5,91.29 L421.4,92.2 L423.3,93.07 L425.1,93.91 L427,94.7 L428.9,95.44 L430.8,96.12 L432.6,96.73 L434.5,97.27 L436.4,97.73 L438.3,98.12 L440.1,98.41 L442,98.63 L443.9,98.75 L445.8,98.78 L447.6,98.73 L449.5,98.58 L451.4,98.35 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M85.67,341 L87.51,273.8 L89.34,232.1 L91.18,204.5 L93.02,185.3 L94.86,171.4 L96.7,160.9 L98.53,152.8 L100.4,146.4 L102.2,141.1 L104,136.7 L105.9,132.9 L107.7,129.5 L109.6,126.5 L111.4,123.8 L113.2,121.2 L115.1,118.7 L116.9,116.3 L118.8,114 L120.6,111.8 L122.4,109.5 L124.3,107.3 L126.1,105.2 L127.9,103 L129.8,100.8 L131.6,98.7 L133.5,96.59 L135.3,94.51 L137.1,92.46 L139,90.46 L140.8,88.52 L142.6,86.63 L144.5,84.82 L146.3,83.09 L148.2,81.44 L150,79.89 L151.8,78.45 L153.7,77.12 L155.5,75.92 L157.3,74.84 L159.2,73.9 L161,73.09 L162.9,72.43 L164.7,71.91 L166.5,71.54 L168.4,71.32 L170.2,71.24 L172,71.32 L173.9,71.54 L175.7,71.9 L177.6,72.39 L179.4,73.02 L181.2,73.78 L183.1,74.65 L184.9,75.63 L186.8,76.71 L188.6,77.88 L190.4,79.13 L192.3,80.45 L194.1,81.83 L195.9,83.25 L197.8,84.7 L199.6,86.18 L201.5,87.67 L203.3,89.15 L205.1,90.61 L207,92.05 L208.8,93.45 L210.6,94.79 L212.5,96.07 L214.3,97.28 L216.2,98.41 L218,99.45 L219.8,100.4 L221.7,101.2 L223.5,101.9 L225.3,102.6 L227.2,103 L229,103.4 L230.9,103.6 L232.7,103.7 L234.5,103.7 L236.4,103.6 L238.2,103.3 L240.1,103 L241.9,102.5 L243.7,101.9 L245.6,101.2 L247.4,100.4 L249.2,99.47 L251.1,98.5 L252.9,97.47 L254.8,96.38 L256.6,95.24 L258.4,94.06 L260.3,92.85 L262.1,91.63 L263.9,90.4 L265.8,89.18 L267.6,87.97 L269.5,86.79 L271.3,85.65 L273.1,84.56 L275,83.53 L276.8,82.56 L278.6,81.66 L280.5,80.85 L282.3,80.12 L284.2,79.49 L286,78.95 L287.8,78.52 L289.7,78.2 L291.5,77.98 L293.4,77.88 L295.2,77.88 L297,77.99 L298.9,78.21 L300.7,78.53 L302.5,78.95 L304.4,79.47 L306.2,80.07 L308.1,80.76 L309.9,81.53 L311.7,82.37 L313.6,83.26 L315.4,84.22 L317.2,85.21 L319.1,86.24 L320.9,87.29 L322.8,88.36 L324.6,89.43 L326.4,90.49 L328.3,91.54 L330.1,92.57 L331.9,93.56 L333.8,94.51 L335.6,95.41 L337.5,96.25 L339.3,97.03 L341.1,97.73 L343,98.35 L344.8,98.89 L346.7,99.34 L348.5,99.7 L350.3,99.96 L352.2,100.1 L354,100.2 L355.8,100.2 L357.7,100 L359.5,99.82 L361.4,99.51 L363.2,99.11 L365,98.62 L366.9,98.05 L368.7,97.41 L370.5,96.71 L372.4,95.94 L374.2,95.12 L376.1,94.25 L377.9,93.35 L379.7,92.42 L381.6,91.47 L383.4,90.51 L385.2,89.55 L387.1,88.59 L388.9,87.65 L390.8,86.74 L392.6,85.86 L394.4,85.02 L396.3,84.22 L398.1,83.49 L400,82.82 L401.8,82.21 L403.6,81.68 L405.5,81.22 L407.3,80.85 L409.1,80.57 L411,80.37 L412.8,80.25 L414.7,80.23 L416.5,80.3 L418.3,80.45 L420.2,80.69 L422,81.01 L423.8,81.41 L425.7,81.89 L427.5,82.44 L429.4,83.05 L431.2,83.72 L433,84.45 L434.9,85.22 L436.7,86.03 L438.5,86.87 L440.4,87.73 L442.2,88.6 L444.1,89.49 L445.9,90.37 L447.7,91.24 L449.6,92.09 L451.4,92.91 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M95.76,341 L97.55,290 L99.33,253.1 L101.1,225.8 L102.9,205 L104.7,189 L106.5,176.5 L108.3,166.4 L110.1,158.3 L111.8,151.7 L113.6,146.1 L115.4,141.5 L117.2,137.5 L119,134 L120.8,131 L122.6,128.3 L124.4,125.8 L126.1,123.6 L127.9,121.5 L129.7,119.6 L131.5,117.7 L133.3,115.9 L135.1,114.1 L136.9,112.4 L138.7,110.7 L140.4,109 L142.2,107.4 L144,105.7 L145.8,104 L147.6,102.3 L149.4,100.7 L151.2,98.98 L153,97.3 L154.7,95.63 L156.5,93.98 L158.3,92.34 L160.1,90.72 L161.9,89.13 L163.7,87.58 L165.5,86.07 L167.3,84.62 L169,83.21 L170.8,81.87 L172.6,80.6 L174.4,79.41 L176.2,78.3 L178,77.28 L179.8,76.35 L181.6,75.52 L183.3,74.8 L185.1,74.18 L186.9,73.67 L188.7,73.28 L190.5,73.01 L192.3,72.85 L194.1,72.81 L195.9,72.88 L197.6,73.07 L199.4,73.38 L201.2,73.79 L203,74.31 L204.8,74.93 L206.6,75.66 L208.4,76.47 L210.2,77.37 L211.9,78.35 L213.7,79.4 L215.5,80.51 L217.3,81.67 L219.1,82.89 L220.9,84.13 L222.7,85.41 L224.5,86.7 L226.2,88 L228,89.3 L229.8,90.58 L231.6,91.85 L233.4,93.08 L235.2,94.28 L237,95.42 L238.8,96.51 L240.5,97.53 L242.3,98.48 L244.1,99.35 L245.9,100.1 L247.7,100.8 L249.5,101.4 L251.3,101.9 L253.1,102.3 L254.8,102.6 L256.6,102.8 L258.4,102.9 L260.2,102.9 L262,102.7 L263.8,102.5 L265.6,102.1 L267.4,101.7 L269.1,101.2 L270.9,100.6 L272.7,99.85 L274.5,99.08 L276.3,98.23 L278.1,97.32 L279.9,96.35 L281.7,95.34 L283.4,94.29 L285.2,93.21 L287,92.12 L288.8,91.01 L290.6,89.9 L292.4,88.8 L294.2,87.71 L296,86.65 L297.7,85.63 L299.5,84.64 L301.3,83.71 L303.1,82.84 L304.9,82.03 L306.7,81.29 L308.5,80.62 L310.3,80.04 L312,79.55 L313.8,79.14 L315.6,78.82 L317.4,78.61 L319.2,78.48 L321,78.45 L322.8,78.52 L324.6,78.68 L326.3,78.93 L328.1,79.28 L329.9,79.71 L331.7,80.22 L333.5,80.81 L335.3,81.47 L337.1,82.19 L338.9,82.98 L340.6,83.81 L342.4,84.7 L344.2,85.62 L346,86.56 L347.8,87.53 L349.6,88.51 L351.4,89.5 L353.2,90.48 L354.9,91.45 L356.7,92.39 L358.5,93.31 L360.3,94.19 L362.1,95.03 L363.9,95.82 L365.7,96.55 L367.5,97.21 L369.2,97.81 L371,98.33 L372.8,98.78 L374.6,99.15 L376.4,99.43 L378.2,99.63 L380,99.74 L381.8,99.76 L383.5,99.7 L385.3,99.55 L387.1,99.32 L388.9,99.01 L390.7,98.61 L392.5,98.15 L394.3,97.61 L396.1,97.01 L397.8,96.34 L399.6,95.63 L401.4,94.86 L403.2,94.06 L405,93.22 L406.8,92.36 L408.6,91.48 L410.4,90.59 L412.1,89.69 L413.9,88.8 L415.7,87.92 L417.5,87.07 L419.3,86.24 L421.1,85.44 L422.9,84.69 L424.7,83.99 L426.4,83.33 L428.2,82.74 L430,82.21 L431.8,81.75 L433.6,81.36 L435.4,81.05 L437.2,80.81 L439,80.65 L440.7,80.57 L442.5,80.57 L444.3,80.66 L446.1,80.82 L447.9,81.05 L449.7,81.36 L451.5,81.75 L453.3,82.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M107.4,341 L109.1,299.1 L110.8,266.5 L112.6,240.7 L114.3,220.1 L116,203.5 L117.8,190 L119.5,178.8 L121.2,169.6 L123,161.8 L124.7,155.3 L126.4,149.7 L128.1,145 L129.9,140.9 L131.6,137.3 L133.3,134.2 L135.1,131.4 L136.8,128.9 L138.5,126.7 L140.2,124.6 L142,122.7 L143.7,121 L145.4,119.3 L147.2,117.8 L148.9,116.3 L150.6,114.8 L152.4,113.4 L154.1,112 L155.8,110.7 L157.5,109.3 L159.3,108 L161,106.6 L162.7,105.3 L164.5,103.9 L166.2,102.5 L167.9,101.2 L169.6,99.79 L171.4,98.4 L173.1,97.02 L174.8,95.64 L176.6,94.25 L178.3,92.88 L180,91.52 L181.8,90.17 L183.5,88.84 L185.2,87.54 L186.9,86.27 L188.7,85.03 L190.4,83.83 L192.1,82.68 L193.9,81.58 L195.6,80.54 L197.3,79.56 L199,78.64 L200.8,77.79 L202.5,77.02 L204.2,76.33 L206,75.72 L207.7,75.19 L209.4,74.75 L211.1,74.41 L212.9,74.15 L214.6,73.99 L216.3,73.93 L218.1,73.96 L219.8,74.08 L221.5,74.29 L223.3,74.6 L225,75 L226.7,75.48 L228.4,76.05 L230.2,76.7 L231.9,77.42 L233.6,78.21 L235.4,79.07 L237.1,79.99 L238.8,80.96 L240.5,81.98 L242.3,83.04 L244,84.13 L245.7,85.25 L247.5,86.39 L249.2,87.54 L250.9,88.69 L252.7,89.84 L254.4,90.98 L256.1,92.09 L257.8,93.18 L259.6,94.24 L261.3,95.25 L263,96.22 L264.8,97.13 L266.5,97.98 L268.2,98.76 L269.9,99.48 L271.7,100.1 L273.4,100.7 L275.1,101.2 L276.9,101.5 L278.6,101.8 L280.3,102.1 L282,102.2 L283.8,102.2 L285.5,102.1 L287.2,102 L289,101.8 L290.7,101.4 L292.4,101 L294.2,100.5 L295.9,99.98 L297.6,99.34 L299.3,98.64 L301.1,97.88 L302.8,97.06 L304.5,96.2 L306.3,95.29 L308,94.35 L309.7,93.38 L311.4,92.39 L313.2,91.39 L314.9,90.38 L316.6,89.38 L318.4,88.39 L320.1,87.41 L321.8,86.45 L323.6,85.53 L325.3,84.65 L327,83.81 L328.7,83.02 L330.5,82.29 L332.2,81.62 L333.9,81.01 L335.7,80.48 L337.4,80.02 L339.1,79.64 L340.8,79.34 L342.6,79.12 L344.3,78.98 L346,78.93 L347.8,78.96 L349.5,79.07 L351.2,79.26 L353,79.54 L354.7,79.89 L356.4,80.32 L358.1,80.81 L359.9,81.37 L361.6,82 L363.3,82.68 L365.1,83.41 L366.8,84.18 L368.5,85 L370.2,85.84 L372,86.72 L373.7,87.61 L375.4,88.51 L377.2,89.41 L378.9,90.32 L380.6,91.21 L382.3,92.08 L384.1,92.94 L385.8,93.76 L387.5,94.55 L389.3,95.29 L391,95.99 L392.7,96.63 L394.5,97.22 L396.2,97.74 L397.9,98.19 L399.6,98.58 L401.4,98.9 L403.1,99.14 L404.8,99.3 L406.6,99.39 L408.3,99.4 L410,99.33 L411.7,99.19 L413.5,98.97 L415.2,98.68 L416.9,98.33 L418.7,97.9 L420.4,97.41 L422.1,96.86 L423.9,96.26 L425.6,95.61 L427.3,94.92 L429,94.18 L430.8,93.42 L432.5,92.63 L434.2,91.82 L436,91 L437.7,90.17 L439.4,89.34 L441.1,88.52 L442.9,87.71 L444.6,86.92 L446.3,86.16 L448.1,85.43 L449.8,84.73 L451.5,84.09 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="509.8" y="86" font-size="14" font-family="Verdana">v = 0</text>
-<text x="509.8" y="114" font-size="14" font-family="Verdana">v = 1</text>
-<text x="509.8" y="142" font-size="14" font-family="Verdana">v = 2</text>
-<text x="509.8" y="170" font-size="14" font-family="Verdana">v = 3</text>
-<text x="509.8" y="198" font-size="14" font-family="Verdana">v = 4</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel Y</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/digamma.svg b/libs/math/doc/sf_and_dist/graphs/digamma.svg
deleted file mode 100644
index f7236a78c9..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/digamma.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="219.3" y1="58" x2="219.3" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="199.9" x2="574" y2="199.9"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,182.3 L84.2,182.3 M82.2,164.7 L84.2,164.7 M82.2,147 L84.2,147 M82.2,111.8 L84.2,111.8 M82.2,94.13 L84.2,94.13 M82.2,76.49 L84.2,76.49 M82.2,199.9 L84.2,199.9 M82.2,217.6 L84.2,217.6 M82.2,235.2 L84.2,235.2 M82.2,252.8 L84.2,252.8 M82.2,270.5 L84.2,270.5 M82.2,288.1 L84.2,288.1 M82.2,305.7 L84.2,305.7 M82.2,323.4 L84.2,323.4 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M262.4,341 L262.4,343 M305.6,341 L305.6,343 M348.7,341 L348.7,343 M435,341 L435,343 M478.1,341 L478.1,343 M521.3,341 L521.3,343 M176.2,341 L176.2,343 M133,341 L133,343 M89.89,341 L89.89,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,199.9 L84.2,199.9 M79.2,129.4 L84.2,129.4 M79.2,58.86 L84.2,58.86 M79.2,199.9 L84.2,199.9 M79.2,270.5 L84.2,270.5 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M219.3,341 L219.3,346 M391.9,341 L391.9,346 M564.4,341 L564.4,346 M219.3,341 L219.3,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="219.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="391.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="219.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="202.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="131.8" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="73.2" y="61.26" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="73.2" y="202.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="272.9" text-anchor="end" font-size="12" font-family="Verdana">-5</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">digamma(z)</text></g>
-<g id="xLabel">
-<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M222.9,341 L224.6,296.6 L226.3,273.3 L228,258.9 L229.7,249 L231.4,241.6 L233.2,235.9 L234.9,231.4 L236.6,227.6 L238.3,224.4 L240,221.7 L241.7,219.3 L243.4,217.2 L245.1,215.3 L246.8,213.6 L248.5,212.1 L250.2,210.7 L251.9,209.4 L253.6,208.2 L255.3,207.1 L257.1,206 L258.8,205.1 L260.5,204.1 L262.2,203.3 L263.9,202.4 L265.6,201.7 L267.3,200.9 L269,200.2 L270.7,199.6 L272.4,198.9 L274.1,198.3 L275.8,197.7 L277.5,197.1 L279.3,196.6 L281,196 L282.7,195.5 L284.4,195 L286.1,194.6 L287.8,194.1 L289.5,193.7 L291.2,193.2 L292.9,192.8 L294.6,192.4 L296.3,192 L298,191.6 L299.7,191.2 L301.4,190.9 L303.2,190.5 L304.9,190.2 L306.6,189.8 L308.3,189.5 L310,189.2 L311.7,188.8 L313.4,188.5 L315.1,188.2 L316.8,187.9 L318.5,187.6 L320.2,187.3 L321.9,187.1 L323.6,186.8 L325.4,186.5 L327.1,186.2 L328.8,186 L330.5,185.7 L332.2,185.5 L333.9,185.2 L335.6,185 L337.3,184.7 L339,184.5 L340.7,184.3 L342.4,184.1 L344.1,183.8 L345.8,183.6 L347.5,183.4 L349.3,183.2 L351,183 L352.7,182.8 L354.4,182.6 L356.1,182.4 L357.8,182.2 L359.5,182 L361.2,181.8 L362.9,181.6 L364.6,181.4 L366.3,181.2 L368,181 L369.7,180.8 L371.5,180.7 L373.2,180.5 L374.9,180.3 L376.6,180.1 L378.3,180 L380,179.8 L381.7,179.6 L383.4,179.5 L385.1,179.3 L386.8,179.1 L388.5,179 L390.2,178.8 L391.9,178.7 L393.7,178.5 L395.4,178.4 L397.1,178.2 L398.8,178.1 L400.5,177.9 L402.2,177.8 L403.9,177.6 L405.6,177.5 L407.3,177.3 L409,177.2 L410.7,177.1 L412.4,176.9 L414.1,176.8 L415.8,176.7 L417.6,176.5 L419.3,176.4 L421,176.3 L422.7,176.1 L424.4,176 L426.1,175.9 L427.8,175.8 L429.5,175.6 L431.2,175.5 L432.9,175.4 L434.6,175.3 L436.3,175.1 L438,175 L439.8,174.9 L441.5,174.8 L443.2,174.7 L444.9,174.6 L446.6,174.4 L448.3,174.3 L450,174.2 L451.7,174.1 L453.4,174 L455.1,173.9 L456.8,173.8 L458.5,173.7 L460.2,173.5 L461.9,173.4 L463.7,173.3 L465.4,173.2 L467.1,173.1 L468.8,173 L470.5,172.9 L472.2,172.8 L473.9,172.7 L475.6,172.6 L477.3,172.5 L479,172.4 L480.7,172.3 L482.4,172.2 L484.1,172.1 L485.9,172 L487.6,171.9 L489.3,171.8 L491,171.7 L492.7,171.6 L494.4,171.5 L496.1,171.5 L497.8,171.4 L499.5,171.3 L501.2,171.2 L502.9,171.1 L504.6,171 L506.3,170.9 L508.1,170.8 L509.8,170.7 L511.5,170.6 L513.2,170.6 L514.9,170.5 L516.6,170.4 L518.3,170.3 L520,170.2 L521.7,170.1 L523.4,170 L525.1,170 L526.8,169.9 L528.5,169.8 L530.2,169.7 L532,169.6 L533.7,169.6 L535.4,169.5 L537.1,169.4 L538.8,169.3 L540.5,169.2 L542.2,169.2 L543.9,169.1 L545.6,169 L547.3,168.9 L549,168.8 L550.7,168.8 L552.4,168.7 L554.2,168.6 L555.9,168.5 L557.6,168.5 L559.3,168.4 L561,168.3 L562.7,168.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M188,341 L188.2,334.6 L188.3,328.7 L188.5,323.2 L188.6,318.1 L188.7,313.4 L188.9,309 L189,304.9 L189.2,301 L189.3,297.3 L189.4,293.9 L189.6,290.7 L189.7,287.6 L189.9,284.7 L190,282 L190.1,279.3 L190.3,276.8 L190.4,274.5 L190.6,272.2 L190.7,270 L190.8,268 L191,266 L191.1,264.1 L191.3,262.2 L191.4,260.5 L191.5,258.8 L191.7,257.1 L191.8,255.6 L192,254 L192.1,252.6 L192.2,251.1 L192.4,249.8 L192.5,248.4 L192.7,247.1 L192.8,245.9 L192.9,244.7 L193.1,243.5 L193.2,242.4 L193.4,241.2 L193.5,240.1 L193.6,239.1 L193.8,238.1 L193.9,237.1 L194.1,236.1 L194.2,235.1 L194.3,234.2 L194.5,233.3 L194.6,232.4 L194.8,231.5 L194.9,230.6 L195,229.8 L195.2,229 L195.3,228.2 L195.5,227.4 L195.6,226.6 L195.7,225.8 L195.9,225.1 L196,224.3 L196.2,223.6 L196.3,222.9 L196.4,222.2 L196.6,221.5 L196.7,220.8 L196.9,220.2 L197,219.5 L197.1,218.8 L197.3,218.2 L197.4,217.6 L197.6,216.9 L197.7,216.3 L197.9,215.7 L198,215.1 L198.1,214.5 L198.3,213.9 L198.4,213.3 L198.6,212.7 L198.7,212.2 L198.8,211.6 L199,211 L199.1,210.5 L199.3,209.9 L199.4,209.4 L199.5,208.8 L199.7,208.3 L199.8,207.7 L200,207.2 L200.1,206.7 L200.2,206.1 L200.4,205.6 L200.5,205.1 L200.7,204.5 L200.8,204 L200.9,203.5 L201.1,203 L201.2,202.5 L201.4,201.9 L201.5,201.4 L201.6,200.9 L201.8,200.4 L201.9,199.9 L202.1,199.4 L202.2,198.9 L202.3,198.4 L202.5,197.8 L202.6,197.3 L202.8,196.8 L202.9,196.3 L203,195.8 L203.2,195.3 L203.3,194.7 L203.5,194.2 L203.6,193.7 L203.7,193.2 L203.9,192.7 L204,192.1 L204.2,191.6 L204.3,191.1 L204.4,190.5 L204.6,190 L204.7,189.5 L204.9,188.9 L205,188.4 L205.1,187.8 L205.3,187.3 L205.4,186.7 L205.6,186.1 L205.7,185.5 L205.8,185 L206,184.4 L206.1,183.8 L206.3,183.2 L206.4,182.6 L206.6,182 L206.7,181.4 L206.8,180.8 L207,180.1 L207.1,179.5 L207.3,178.8 L207.4,178.2 L207.5,177.5 L207.7,176.8 L207.8,176.1 L208,175.4 L208.1,174.7 L208.2,174 L208.4,173.3 L208.5,172.5 L208.7,171.8 L208.8,171 L208.9,170.2 L209.1,169.4 L209.2,168.6 L209.4,167.7 L209.5,166.9 L209.6,166 L209.8,165.1 L209.9,164.2 L210.1,163.3 L210.2,162.3 L210.3,161.3 L210.5,160.3 L210.6,159.3 L210.8,158.2 L210.9,157.1 L211,156 L211.2,154.8 L211.3,153.6 L211.5,152.4 L211.6,151.1 L211.7,149.8 L211.9,148.4 L212,147 L212.2,145.6 L212.3,144.1 L212.4,142.5 L212.6,140.9 L212.7,139.3 L212.9,137.5 L213,135.7 L213.1,133.8 L213.3,131.9 L213.4,129.8 L213.6,127.6 L213.7,125.4 L213.8,123 L214,120.6 L214.1,118 L214.3,115.2 L214.4,112.3 L214.5,109.3 L214.7,106.1 L214.8,102.6 L215,98.99 L215.1,95.12 L215.2,90.99 L215.4,86.57 L215.5,81.84 L215.7,76.74 L215.8,71.25 L216,65.31 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M153.4,341 L153.5,334 L153.7,327.6 L153.8,321.6 L153.9,316.2 L154.1,311.1 L154.2,306.3 L154.3,301.9 L154.5,297.7 L154.6,293.8 L154.8,290.2 L154.9,286.7 L155,283.5 L155.2,280.4 L155.3,277.5 L155.5,274.7 L155.6,272 L155.7,269.5 L155.9,267.1 L156,264.8 L156.2,262.7 L156.3,260.6 L156.4,258.5 L156.6,256.6 L156.7,254.8 L156.9,253 L157,251.3 L157.1,249.6 L157.3,248 L157.4,246.5 L157.6,245 L157.7,243.5 L157.8,242.1 L158,240.8 L158.1,239.5 L158.3,238.2 L158.4,237 L158.5,235.8 L158.7,234.6 L158.8,233.5 L159,232.4 L159.1,231.3 L159.2,230.2 L159.4,229.2 L159.5,228.2 L159.7,227.2 L159.8,226.3 L159.9,225.3 L160.1,224.4 L160.2,223.5 L160.4,222.6 L160.5,221.8 L160.6,220.9 L160.8,220.1 L160.9,219.3 L161,218.5 L161.2,217.7 L161.3,216.9 L161.5,216.2 L161.6,215.4 L161.7,214.7 L161.9,214 L162,213.3 L162.2,212.6 L162.3,211.9 L162.4,211.2 L162.6,210.5 L162.7,209.9 L162.9,209.2 L163,208.5 L163.1,207.9 L163.3,207.3 L163.4,206.6 L163.6,206 L163.7,205.4 L163.8,204.8 L164,204.2 L164.1,203.6 L164.3,203 L164.4,202.4 L164.5,201.8 L164.7,201.3 L164.8,200.7 L165,200.1 L165.1,199.5 L165.2,199 L165.4,198.4 L165.5,197.9 L165.7,197.3 L165.8,196.8 L165.9,196.2 L166.1,195.7 L166.2,195.1 L166.4,194.6 L166.5,194 L166.6,193.5 L166.8,193 L166.9,192.4 L167.1,191.9 L167.2,191.3 L167.3,190.8 L167.5,190.3 L167.6,189.7 L167.8,189.2 L167.9,188.7 L168,188.1 L168.2,187.6 L168.3,187.1 L168.4,186.5 L168.6,186 L168.7,185.4 L168.9,184.9 L169,184.4 L169.1,183.8 L169.3,183.3 L169.4,182.7 L169.6,182.2 L169.7,181.6 L169.8,181 L170,180.5 L170.1,179.9 L170.3,179.4 L170.4,178.8 L170.5,178.2 L170.7,177.6 L170.8,177 L171,176.4 L171.1,175.9 L171.2,175.3 L171.4,174.6 L171.5,174 L171.7,173.4 L171.8,172.8 L171.9,172.2 L172.1,171.5 L172.2,170.9 L172.4,170.2 L172.5,169.6 L172.6,168.9 L172.8,168.2 L172.9,167.5 L173.1,166.8 L173.2,166.1 L173.3,165.4 L173.5,164.7 L173.6,163.9 L173.8,163.2 L173.9,162.4 L174,161.6 L174.2,160.8 L174.3,160 L174.5,159.2 L174.6,158.4 L174.7,157.5 L174.9,156.6 L175,155.8 L175.1,154.8 L175.3,153.9 L175.4,153 L175.6,152 L175.7,151 L175.8,150 L176,148.9 L176.1,147.9 L176.3,146.8 L176.4,145.6 L176.5,144.5 L176.7,143.3 L176.8,142 L177,140.8 L177.1,139.5 L177.2,138.1 L177.4,136.7 L177.5,135.3 L177.7,133.8 L177.8,132.3 L177.9,130.7 L178.1,129.1 L178.2,127.3 L178.4,125.6 L178.5,123.7 L178.6,121.8 L178.8,119.8 L178.9,117.7 L179.1,115.5 L179.2,113.2 L179.3,110.9 L179.5,108.4 L179.6,105.7 L179.8,103 L179.9,100 L180,96.97 L180.2,93.72 L180.3,90.27 L180.5,86.62 L180.6,82.73 L180.7,78.59 L180.9,74.17 L181,69.43 L181.2,64.34 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M118.8,341 L118.9,333.6 L119.1,326.8 L119.2,320.6 L119.3,314.8 L119.5,309.5 L119.6,304.5 L119.7,299.9 L119.9,295.6 L120,291.5 L120.2,287.7 L120.3,284.1 L120.4,280.7 L120.6,277.5 L120.7,274.5 L120.9,271.6 L121,268.9 L121.1,266.3 L121.3,263.8 L121.4,261.5 L121.6,259.2 L121.7,257 L121.8,255 L122,253 L122.1,251.1 L122.3,249.2 L122.4,247.5 L122.5,245.8 L122.7,244.1 L122.8,242.5 L122.9,241 L123.1,239.5 L123.2,238.1 L123.4,236.7 L123.5,235.4 L123.6,234.1 L123.8,232.8 L123.9,231.6 L124.1,230.4 L124.2,229.2 L124.3,228.1 L124.5,227 L124.6,225.9 L124.8,224.8 L124.9,223.8 L125,222.8 L125.2,221.8 L125.3,220.9 L125.5,219.9 L125.6,219 L125.7,218.1 L125.9,217.3 L126,216.4 L126.1,215.5 L126.3,214.7 L126.4,213.9 L126.6,213.1 L126.7,212.3 L126.8,211.5 L127,210.8 L127.1,210 L127.3,209.3 L127.4,208.6 L127.5,207.8 L127.7,207.1 L127.8,206.4 L128,205.8 L128.1,205.1 L128.2,204.4 L128.4,203.7 L128.5,203.1 L128.7,202.4 L128.8,201.8 L128.9,201.2 L129.1,200.5 L129.2,199.9 L129.4,199.3 L129.5,198.7 L129.6,198.1 L129.8,197.5 L129.9,196.9 L130,196.3 L130.2,195.7 L130.3,195.2 L130.5,194.6 L130.6,194 L130.7,193.4 L130.9,192.9 L131,192.3 L131.2,191.7 L131.3,191.2 L131.4,190.6 L131.6,190.1 L131.7,189.5 L131.9,189 L132,188.4 L132.1,187.9 L132.3,187.3 L132.4,186.8 L132.6,186.2 L132.7,185.7 L132.8,185.1 L133,184.6 L133.1,184.1 L133.2,183.5 L133.4,183 L133.5,182.4 L133.7,181.9 L133.8,181.3 L133.9,180.8 L134.1,180.3 L134.2,179.7 L134.4,179.2 L134.5,178.6 L134.6,178 L134.8,177.5 L134.9,176.9 L135.1,176.4 L135.2,175.8 L135.3,175.2 L135.5,174.7 L135.6,174.1 L135.8,173.5 L135.9,172.9 L136,172.4 L136.2,171.8 L136.3,171.2 L136.4,170.6 L136.6,170 L136.7,169.4 L136.9,168.8 L137,168.1 L137.1,167.5 L137.3,166.9 L137.4,166.2 L137.6,165.6 L137.7,164.9 L137.8,164.3 L138,163.6 L138.1,162.9 L138.3,162.2 L138.4,161.6 L138.5,160.8 L138.7,160.1 L138.8,159.4 L139,158.7 L139.1,157.9 L139.2,157.2 L139.4,156.4 L139.5,155.6 L139.7,154.8 L139.8,154 L139.9,153.2 L140.1,152.3 L140.2,151.4 L140.3,150.6 L140.5,149.7 L140.6,148.8 L140.8,147.8 L140.9,146.9 L141,145.9 L141.2,144.9 L141.3,143.9 L141.5,142.8 L141.6,141.7 L141.7,140.6 L141.9,139.5 L142,138.3 L142.2,137.1 L142.3,135.9 L142.4,134.6 L142.6,133.3 L142.7,132 L142.9,130.6 L143,129.2 L143.1,127.7 L143.3,126.1 L143.4,124.6 L143.5,122.9 L143.7,121.2 L143.8,119.4 L144,117.6 L144.1,115.7 L144.2,113.7 L144.4,111.6 L144.5,109.4 L144.7,107.2 L144.8,104.8 L144.9,102.3 L145.1,99.7 L145.2,96.96 L145.4,94.07 L145.5,91.03 L145.6,87.81 L145.8,84.41 L145.9,80.8 L146.1,76.97 L146.2,72.88 L146.3,68.53 L146.5,63.86 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L84.34,333.3 L84.48,326.3 L84.62,319.8 L84.76,313.9 L84.89,308.3 L85.03,303.2 L85.17,298.4 L85.31,294 L85.45,289.8 L85.59,285.9 L85.73,282.2 L85.87,278.7 L86.01,275.4 L86.14,272.3 L86.28,269.4 L86.42,266.6 L86.56,263.9 L86.7,261.4 L86.84,259 L86.98,256.6 L87.12,254.4 L87.26,252.3 L87.39,250.3 L87.53,248.3 L87.67,246.5 L87.81,244.7 L87.95,242.9 L88.09,241.3 L88.23,239.7 L88.37,238.1 L88.51,236.6 L88.64,235.1 L88.78,233.7 L88.92,232.4 L89.06,231 L89.2,229.7 L89.34,228.5 L89.48,227.3 L89.62,226.1 L89.76,224.9 L89.89,223.8 L90.03,222.7 L90.17,221.7 L90.31,220.6 L90.45,219.6 L90.59,218.6 L90.73,217.6 L90.87,216.7 L91,215.7 L91.14,214.8 L91.28,213.9 L91.42,213.1 L91.56,212.2 L91.7,211.4 L91.84,210.5 L91.98,209.7 L92.12,208.9 L92.25,208.2 L92.39,207.4 L92.53,206.6 L92.67,205.9 L92.81,205.1 L92.95,204.4 L93.09,203.7 L93.23,203 L93.37,202.3 L93.5,201.6 L93.64,200.9 L93.78,200.3 L93.92,199.6 L94.06,199 L94.2,198.3 L94.34,197.7 L94.48,197 L94.62,196.4 L94.75,195.8 L94.89,195.2 L95.03,194.6 L95.17,194 L95.31,193.4 L95.45,192.8 L95.59,192.2 L95.73,191.6 L95.87,191 L96,190.4 L96.14,189.8 L96.28,189.3 L96.42,188.7 L96.56,188.1 L96.7,187.6 L96.84,187 L96.98,186.5 L97.12,185.9 L97.25,185.3 L97.39,184.8 L97.53,184.2 L97.67,183.7 L97.81,183.1 L97.95,182.6 L98.09,182 L98.23,181.5 L98.37,181 L98.5,180.4 L98.64,179.9 L98.78,179.3 L98.92,178.8 L99.06,178.2 L99.2,177.7 L99.34,177.1 L99.48,176.6 L99.62,176 L99.75,175.5 L99.89,174.9 L100,174.4 L100.2,173.8 L100.3,173.2 L100.4,172.7 L100.6,172.1 L100.7,171.5 L100.9,171 L101,170.4 L101.1,169.8 L101.3,169.2 L101.4,168.7 L101.6,168.1 L101.7,167.5 L101.8,166.9 L102,166.3 L102.1,165.7 L102.3,165.1 L102.4,164.4 L102.5,163.8 L102.7,163.2 L102.8,162.5 L102.9,161.9 L103.1,161.3 L103.2,160.6 L103.4,159.9 L103.5,159.3 L103.6,158.6 L103.8,157.9 L103.9,157.2 L104.1,156.5 L104.2,155.7 L104.3,155 L104.5,154.3 L104.6,153.5 L104.8,152.7 L104.9,152 L105,151.2 L105.2,150.4 L105.3,149.5 L105.4,148.7 L105.6,147.9 L105.7,147 L105.9,146.1 L106,145.2 L106.1,144.3 L106.3,143.3 L106.4,142.4 L106.6,141.4 L106.7,140.4 L106.8,139.3 L107,138.3 L107.1,137.2 L107.3,136.1 L107.4,134.9 L107.5,133.8 L107.7,132.6 L107.8,131.3 L107.9,130 L108.1,128.7 L108.2,127.4 L108.4,126 L108.5,124.5 L108.6,123 L108.8,121.5 L108.9,119.9 L109.1,118.2 L109.2,116.5 L109.3,114.8 L109.5,112.9 L109.6,111 L109.8,109 L109.9,106.9 L110,104.7 L110.2,102.4 L110.3,100 L110.4,97.53 L110.6,94.91 L110.7,92.15 L110.9,89.24 L111,86.18 L111.1,82.95 L111.3,79.52 L111.4,75.89 L111.6,72.04 L111.7,67.93 L111.8,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">digamma</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp b/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp
deleted file mode 100644
index 535108d659..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp
+++ /dev/null
@@ -1,645 +0,0 @@
-/*! \file dist_graphs.cpp
- \brief Produces Scalable Vector Graphic (.svg) files for all distributions.
- \details These files can be viewed using most browsers,
- though MS Internet Explorer requires a plugin from Adobe.
- These file can be converted to .png using Inkscape
- (see www.inkscape.org) Export Bit option which by default produces
- a Portable Network Graphic file with that same filename but .png suffix instead of .svg.
- Using Python, generate.sh does this conversion automatically for all .svg files in a folder.
-
- \author John Maddock and Paul A. Bristow
- */
-// Copyright John Maddock 2008.
-// Copyright Paul A. Bristow 2008, 2009, 2012
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifdef _MSC_VER
-# pragma warning (disable : 4180) // qualifier applied to function type has no meaning; ignored
-# pragma warning (disable : 4503) // decorated name length exceeded, name was truncated
-# pragma warning (disable : 4512) // assignment operator could not be generated
-# pragma warning (disable : 4224) // nonstandard extension used : formal parameter 'function_ptr' was previously defined as a type
-# pragma warning (disable : 4127) // conditional expression is constant
-#endif
-
-#define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error
-
-#include <boost/math/distributions.hpp>
-#include <boost/math/tools/roots.hpp>
-#include <boost/svg_plot/svg_2d_plot.hpp>
-
-#include <list>
-#include <map>
-#include <string>
-
-template <class Dist>
-struct is_discrete_distribution
- : public boost::mpl::false_{};
-
-template<class T, class P>
-struct is_discrete_distribution<boost::math::bernoulli_distribution<T,P> >
- : public boost::mpl::true_{};
-template<class T, class P>
-struct is_discrete_distribution<boost::math::binomial_distribution<T,P> >
- : public boost::mpl::true_{};
-template<class T, class P>
-struct is_discrete_distribution<boost::math::negative_binomial_distribution<T,P> >
- : public boost::mpl::true_{};
-template<class T, class P>
-struct is_discrete_distribution<boost::math::poisson_distribution<T,P> >
- : public boost::mpl::true_{};
-template<class T, class P>
-struct is_discrete_distribution<boost::math::hypergeometric_distribution<T,P> >
- : public boost::mpl::true_{};
-
-
-template <class Dist>
-struct value_finder
-{
- value_finder(Dist const& d, typename Dist::value_type v)
- : m_dist(d), m_value(v) {}
-
- inline typename Dist::value_type operator()(const typename Dist::value_type& x)
- {
- return pdf(m_dist, x) - m_value;
- }
-
-private:
- Dist m_dist;
- typename Dist::value_type m_value;
-};
-
-template <class Dist>
-class distribution_plotter
-{
-public:
- distribution_plotter() : m_pdf(true), m_min_x(0), m_max_x(0), m_min_y(0), m_max_y(0) {}
- distribution_plotter(bool pdf) : m_pdf(pdf), m_min_x(0), m_max_x(0), m_min_y(0), m_max_y(0) {}
-
- void add(const Dist& d, const std::string& name)
- {
- //
- // Add to our list for later:
- //
- m_distributions.push_back(std::make_pair(name, d));
- //
- // Get the extent:
- //
- double a, b;
- std::tr1::tie(a, b) = support(d);
- //
- // PDF maximimum is at the mode:
- //
- double mod;
- try
- {
- mod = mode(d);
- }
- catch(const std::domain_error& )
- {
- mod = a;
- }
- if((mod <= a) && !is_discrete_distribution<Dist>::value)
- {
- if((a != 0) && (fabs(a) > 1e-2))
- mod = a * (1 + 1e-2);
- else
- mod = 1e-2;
- }
- double peek_y = pdf(d, mod);
- double min_y = peek_y / 20;
- //
- // If the extent is "infinite" then find out how large it
- // has to be for the PDF to decay to min_y:
- //
- if(a <= -(std::numeric_limits<double>::max)())
- {
- boost::uintmax_t max_iter = 500;
- double guess = mod;
- if((pdf(d, 0) > min_y) || (guess == 0))
- guess = -1e-3;
- a = boost::math::tools::bracket_and_solve_root(
- value_finder<Dist>(d, min_y),
- guess,
- 8.0,
- true,
- boost::math::tools::eps_tolerance<double>(10),
- max_iter).first;
- }
- if(b >= (std::numeric_limits<double>::max)())
- {
- boost::uintmax_t max_iter = 500;
- double guess = mod;
- if(a <= 0)
- if((pdf(d, 0) > min_y) || (guess == 0))
- guess = 1e-3;
- b = boost::math::tools::bracket_and_solve_root(
- value_finder<Dist>(d, min_y),
- guess,
- 8.0,
- false,
- boost::math::tools::eps_tolerance<double>(10),
- max_iter).first;
- }
- //
- // Recalculate peek_y and location of mod so that
- // it's not too close to one end of the graph:
- // otherwise we may be shooting off to infinity.
- //
- if(!is_discrete_distribution<Dist>::value)
- {
- if(mod <= a + (b-a)/50)
- {
- mod = a + (b-a)/50;
- }
- if(mod >= b - (b-a)/50)
- {
- mod = b - (b-a)/50;
- }
- peek_y = pdf(d, mod);
- }
- //
- // Now set our limits:
- //
- if(peek_y > m_max_y)
- m_max_y = peek_y;
- if(m_max_x == m_min_x)
- {
- m_max_x = b;
- m_min_x = a;
- }
- else
- {
- if(a < m_min_x)
- m_min_x = a;
- if(b > m_max_x)
- m_max_x = b;
- }
- }
-
- void plot(const std::string& title, const std::string& file)
- {
- using namespace boost::svg;
-
- static const svg_color colors[5] =
- {
- darkblue,
- darkred,
- darkgreen,
- darkorange,
- chartreuse
- };
-
- if(m_pdf == false)
- {
- m_min_y = 0;
- m_max_y = 1;
- }
-
- svg_2d_plot plot;
- plot.image_x_size(750);
- plot.image_y_size(400);
- plot.coord_precision(4); // Avoids any visible steps.
- plot.title_font_size(20);
- plot.legend_title_font_size(15);
- plot.title(title);
- if((m_distributions.size() == 1) && (m_distributions.begin()->first == ""))
- plot.legend_on(false);
- else
- plot.legend_on(true);
- plot.title_on(true);
- //plot.x_major_labels_on(true).y_major_labels_on(true);
- //double x_delta = (m_max_x - m_min_x) / 10;
- double y_delta = (m_max_y - m_min_y) / 10;
- if(is_discrete_distribution<Dist>::value)
- plot.x_range(m_min_x - 0.5, m_max_x + 0.5)
- .y_range(m_min_y, m_max_y + y_delta);
- else
- plot.x_range(m_min_x, m_max_x)
- .y_range(m_min_y, m_max_y + y_delta);
- plot.x_label_on(true).x_label("Random Variable");
- plot.y_label_on(true).y_label("Probability");
- plot.plot_border_color(lightslategray)
- .background_border_color(lightslategray)
- .legend_border_color(lightslategray)
- .legend_background_color(white);
- //
- // Work out axis tick intervals:
- //
- double l = std::floor(std::log10((m_max_x - m_min_x) / 10) + 0.5);
- double interval = std::pow(10.0, (int)l);
- if(((m_max_x - m_min_x) / interval) > 10)
- interval *= 5;
- if(is_discrete_distribution<Dist>::value)
- {
- interval = interval > 1 ? std::floor(interval) : 1;
- plot.x_num_minor_ticks(0);
- }
- plot.x_major_interval(interval);
- l = std::floor(std::log10((m_max_y - m_min_y) / 10) + 0.5);
- interval = std::pow(10.0, (int)l);
- if(((m_max_y - m_min_y) / interval) > 10)
- interval *= 5;
- plot.y_major_interval(interval);
-
- int color_index = 0;
-
- if(!is_discrete_distribution<Dist>::value)
- {
- //
- // Continuous distribution:
- //
- for(std::list<std::pair<std::string, Dist> >::const_iterator i = m_distributions.begin();
- i != m_distributions.end(); ++i)
- {
- double x = m_min_x;
- double interval = (m_max_x - m_min_x) / 200;
- std::map<double, double> data;
- while(x <= m_max_x)
- {
- data[x] = m_pdf ? pdf(i->second, x) : cdf(i->second, x);
- x += interval;
- }
- plot.plot(data, i->first)
- .line_on(true)
- .line_color(colors[color_index])
- .line_width(1.)
- .shape(none);
- //.bezier_on(true) // Bezier can't cope with badly behaved like uniform & triangular.
- ++color_index;
- color_index = color_index % (sizeof(colors)/sizeof(colors[0]));
- }
- }
- else
- {
- //
- // Discrete distribution:
- //
- double x_width = 0.75 / m_distributions.size();
- double x_off = -0.5 * 0.75;
- for(std::list<std::pair<std::string, Dist> >::const_iterator i = m_distributions.begin();
- i != m_distributions.end(); ++i)
- {
- double x = ceil(m_min_x);
- double interval = 1;
- std::map<double, double> data;
- while(x <= m_max_x)
- {
- double p;
- try{
- p = m_pdf ? pdf(i->second, x) : cdf(i->second, x);
- }
- catch(const std::domain_error&)
- {
- p = 0;
- }
- data[x + x_off] = 0;
- data[x + x_off + 0.00001] = p;
- data[x + x_off + x_width] = p;
- data[x + x_off + x_width + 0.00001] = 0;
- x += interval;
- }
- x_off += x_width;
- svg_2d_plot_series& s = plot.plot(data, i->first);
- s.line_on(true)
- .line_color(colors[color_index])
- .line_width(1.)
- .shape(none)
- .area_fill(colors[color_index]);
- ++color_index;
- color_index = color_index % (sizeof(colors)/sizeof(colors[0]));
- }
- }
- plot.write(file);
- }
-
-private:
- bool m_pdf;
- std::list<std::pair<std::string, Dist> > m_distributions;
- double m_min_x, m_max_x, m_min_y, m_max_y;
-};
-
-int main()
-{
- distribution_plotter<boost::math::gamma_distribution<> >
- gamma_plotter;
- gamma_plotter.add(boost::math::gamma_distribution<>(0.75), "shape = 0.75");
- gamma_plotter.add(boost::math::gamma_distribution<>(1), "shape = 1");
- gamma_plotter.add(boost::math::gamma_distribution<>(3), "shape = 3");
- gamma_plotter.plot("Gamma Distribution PDF With Scale = 1", "gamma1_pdf.svg");
-
- distribution_plotter<boost::math::gamma_distribution<> >
- gamma_plotter2;
- gamma_plotter2.add(boost::math::gamma_distribution<>(2, 0.5), "scale = 0.5");
- gamma_plotter2.add(boost::math::gamma_distribution<>(2, 1), "scale = 1");
- gamma_plotter2.add(boost::math::gamma_distribution<>(2, 2), "scale = 2");
- gamma_plotter2.plot("Gamma Distribution PDF With Shape = 2", "gamma2_pdf.svg");
-
- distribution_plotter<boost::math::normal>
- normal_plotter;
- normal_plotter.add(boost::math::normal(0, 1), "&#x3BC; = 0, &#x3C3; = 1");
- normal_plotter.add(boost::math::normal(0, 0.5), "&#x3BC; = 0, &#x3C3; = 0.5");
- normal_plotter.add(boost::math::normal(0, 2), "&#x3BC; = 0, &#x3C3; = 2");
- normal_plotter.add(boost::math::normal(-1, 1), "&#x3BC; = -1, &#x3C3; = 1");
- normal_plotter.add(boost::math::normal(1, 1), "&#x3BC; = 1, &#x3C3; = 1");
- normal_plotter.plot("Normal Distribution PDF", "normal_pdf.svg");
-
- distribution_plotter<boost::math::laplace>
- laplace_plotter;
- laplace_plotter.add(boost::math::laplace(0, 1), "&#x3BC; = 0, &#x3C3; = 1");
- laplace_plotter.add(boost::math::laplace(0, 0.5), "&#x3BC; = 0, &#x3C3; = 0.5");
- laplace_plotter.add(boost::math::laplace(0, 2), "&#x3BC; = 0, &#x3C3; = 2");
- laplace_plotter.add(boost::math::laplace(-1, 1), "&#x3BC; = -1, &#x3C3; = 1");
- laplace_plotter.add(boost::math::laplace(1, 1), "&#x3BC; = 1, &#x3C3; = 1");
- laplace_plotter.plot("Laplace Distribution PDF", "laplace_pdf.svg");
-
- distribution_plotter<boost::math::non_central_chi_squared>
- nc_cs_plotter;
- nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 0), "v=20, &#x3BB;=0");
- nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 1), "v=20, &#x3BB;=1");
- nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 5), "v=20, &#x3BB;=5");
- nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 10), "v=20, &#x3BB;=10");
- nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 20), "v=20, &#x3BB;=20");
- nc_cs_plotter.add(boost::math::non_central_chi_squared(20, 100), "v=20, &#x3BB;=100");
- nc_cs_plotter.plot("Non Central Chi Squared PDF", "nccs_pdf.svg");
-
- distribution_plotter<boost::math::non_central_beta>
- nc_beta_plotter;
- nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 0), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=0");
- nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 1), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=1");
- nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 5), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=5");
- nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 10), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=10");
- nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 40), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=40");
- nc_beta_plotter.add(boost::math::non_central_beta(10, 15, 100), "&#x3B1;=10, &#x3B2;=15, &#x3B4;=100");
- nc_beta_plotter.plot("Non Central Beta PDF", "nc_beta_pdf.svg");
-
- distribution_plotter<boost::math::non_central_f>
- nc_f_plotter;
- nc_f_plotter.add(boost::math::non_central_f(10, 20, 0), "v1=10, v2=20, &#x3BB;=0");
- nc_f_plotter.add(boost::math::non_central_f(10, 20, 1), "v1=10, v2=20, &#x3BB;=1");
- nc_f_plotter.add(boost::math::non_central_f(10, 20, 5), "v1=10, v2=20, &#x3BB;=5");
- nc_f_plotter.add(boost::math::non_central_f(10, 20, 10), "v1=10, v2=20, &#x3BB;=10");
- nc_f_plotter.add(boost::math::non_central_f(10, 20, 40), "v1=10, v2=20, &#x3BB;=40");
- nc_f_plotter.add(boost::math::non_central_f(10, 20, 100), "v1=10, v2=20, &#x3BB;=100");
- nc_f_plotter.plot("Non Central F PDF", "nc_f_pdf.svg");
-
- distribution_plotter<boost::math::non_central_t>
- nc_t_plotter;
- nc_t_plotter.add(boost::math::non_central_t(10, -10), "v=10, &#x3B4;=-10");
- nc_t_plotter.add(boost::math::non_central_t(10, -5), "v=10, &#x3B4;=-5");
- nc_t_plotter.add(boost::math::non_central_t(10, 0), "v=10, &#x3B4;=0");
- nc_t_plotter.add(boost::math::non_central_t(10, 5), "v=10, &#x3B4;=5");
- nc_t_plotter.add(boost::math::non_central_t(10, 10), "v=10, &#x3B4;=10");
- nc_t_plotter.plot("Non Central T PDF", "nc_t_pdf.svg");
-
- distribution_plotter<boost::math::beta_distribution<> >
- beta_plotter;
- beta_plotter.add(boost::math::beta_distribution<>(0.5, 0.5), "alpha=0.5, beta=0.5");
- beta_plotter.add(boost::math::beta_distribution<>(5, 1), "alpha=5, beta=1");
- beta_plotter.add(boost::math::beta_distribution<>(1, 3), "alpha=1, beta=3");
- beta_plotter.add(boost::math::beta_distribution<>(2, 2), "alpha=2, beta=2");
- beta_plotter.add(boost::math::beta_distribution<>(2, 5), "alpha=2, beta=5");
- beta_plotter.plot("Beta Distribution PDF", "beta_pdf.svg");
-
- distribution_plotter<boost::math::cauchy_distribution<> >
- cauchy_plotter;
- cauchy_plotter.add(boost::math::cauchy_distribution<>(-5, 1), "location = -5");
- cauchy_plotter.add(boost::math::cauchy_distribution<>(0, 1), "location = 0");
- cauchy_plotter.add(boost::math::cauchy_distribution<>(5, 1), "location = 5");
- cauchy_plotter.plot("Cauchy Distribution PDF (scale = 1)", "cauchy_pdf1.svg");
-
- distribution_plotter<boost::math::cauchy_distribution<> >
- cauchy_plotter2;
- cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 0.5), "scale = 0.5");
- cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 1), "scale = 1");
- cauchy_plotter2.add(boost::math::cauchy_distribution<>(0, 2), "scale = 2");
- cauchy_plotter2.plot("Cauchy Distribution PDF (location = 0)", "cauchy_pdf2.svg");
-
- distribution_plotter<boost::math::chi_squared_distribution<> >
- chi_squared_plotter;
- //chi_squared_plotter.add(boost::math::chi_squared_distribution<>(1), "v=1");
- chi_squared_plotter.add(boost::math::chi_squared_distribution<>(2), "v=2");
- chi_squared_plotter.add(boost::math::chi_squared_distribution<>(5), "v=5");
- chi_squared_plotter.add(boost::math::chi_squared_distribution<>(10), "v=10");
- chi_squared_plotter.plot("Chi Squared Distribution PDF", "chi_squared_pdf.svg");
-
- distribution_plotter<boost::math::exponential_distribution<> >
- exponential_plotter;
- exponential_plotter.add(boost::math::exponential_distribution<>(0.5), "&#x3BB;=0.5");
- exponential_plotter.add(boost::math::exponential_distribution<>(1), "&#x3BB;=1");
- exponential_plotter.add(boost::math::exponential_distribution<>(2), "&#x3BB;=2");
- exponential_plotter.plot("Exponential Distribution PDF", "exponential_pdf.svg");
-
- distribution_plotter<boost::math::extreme_value_distribution<> >
- extreme_value_plotter;
- extreme_value_plotter.add(boost::math::extreme_value_distribution<>(-5), "location=-5");
- extreme_value_plotter.add(boost::math::extreme_value_distribution<>(0), "location=0");
- extreme_value_plotter.add(boost::math::extreme_value_distribution<>(5), "location=5");
- extreme_value_plotter.plot("Extreme Value Distribution PDF (shape=1)", "extreme_value_pdf1.svg");
-
- distribution_plotter<boost::math::extreme_value_distribution<> >
- extreme_value_plotter2;
- extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 0.5), "shape=0.5");
- extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 1), "shape=1");
- extreme_value_plotter2.add(boost::math::extreme_value_distribution<>(0, 2), "shape=2");
- extreme_value_plotter2.plot("Extreme Value Distribution PDF (location=0)", "extreme_value_pdf2.svg");
-
- distribution_plotter<boost::math::fisher_f_distribution<> >
- fisher_f_plotter;
- fisher_f_plotter.add(boost::math::fisher_f_distribution<>(4, 4), "n=4, m=4");
- fisher_f_plotter.add(boost::math::fisher_f_distribution<>(10, 4), "n=10, m=4");
- fisher_f_plotter.add(boost::math::fisher_f_distribution<>(10, 10), "n=10, m=10");
- fisher_f_plotter.add(boost::math::fisher_f_distribution<>(4, 10), "n=4, m=10");
- fisher_f_plotter.plot("F Distribution PDF", "fisher_f_pdf.svg");
-
- distribution_plotter<boost::math::lognormal_distribution<> >
- lognormal_plotter;
- lognormal_plotter.add(boost::math::lognormal_distribution<>(-1), "location=-1");
- lognormal_plotter.add(boost::math::lognormal_distribution<>(0), "location=0");
- lognormal_plotter.add(boost::math::lognormal_distribution<>(1), "location=1");
- lognormal_plotter.plot("Lognormal Distribution PDF (scale=1)", "lognormal_pdf1.svg");
-
- distribution_plotter<boost::math::lognormal_distribution<> >
- lognormal_plotter2;
- lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 0.5), "scale=0.5");
- lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 1), "scale=1");
- lognormal_plotter2.add(boost::math::lognormal_distribution<>(0, 2), "scale=2");
- lognormal_plotter2.plot("Lognormal Distribution PDF (location=0)", "lognormal_pdf2.svg");
-
- distribution_plotter<boost::math::pareto_distribution<> >
- pareto_plotter; // Rely on 2nd parameter shape = 1 default.
- pareto_plotter.add(boost::math::pareto_distribution<>(1), "scale=1");
- pareto_plotter.add(boost::math::pareto_distribution<>(2), "scale=2");
- pareto_plotter.add(boost::math::pareto_distribution<>(3), "scale=3");
- pareto_plotter.plot("Pareto Distribution PDF (shape=1)", "pareto_pdf1.svg");
-
- distribution_plotter<boost::math::pareto_distribution<> >
- pareto_plotter2;
- pareto_plotter2.add(boost::math::pareto_distribution<>(1, 0.5), "shape=0.5");
- pareto_plotter2.add(boost::math::pareto_distribution<>(1, 1), "shape=1");
- pareto_plotter2.add(boost::math::pareto_distribution<>(1, 2), "shape=2");
- pareto_plotter2.plot("Pareto Distribution PDF (scale=1)", "pareto_pdf2.svg");
-
- distribution_plotter<boost::math::rayleigh_distribution<> >
- rayleigh_plotter;
- rayleigh_plotter.add(boost::math::rayleigh_distribution<>(0.5), "&#x3C3;=0.5");
- rayleigh_plotter.add(boost::math::rayleigh_distribution<>(1), "&#x3C3;=1");
- rayleigh_plotter.add(boost::math::rayleigh_distribution<>(2), "&#x3C3;=2");
- rayleigh_plotter.add(boost::math::rayleigh_distribution<>(4), "&#x3C3;=4");
- rayleigh_plotter.add(boost::math::rayleigh_distribution<>(10), "&#x3C3;=10");
- rayleigh_plotter.plot("Rayleigh Distribution PDF", "rayleigh_pdf.svg");
-
- distribution_plotter<boost::math::rayleigh_distribution<> >
- rayleigh_cdf_plotter(false);
- rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(0.5), "&#x3C3;=0.5");
- rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(1), "&#x3C3;=1");
- rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(2), "&#x3C3;=2");
- rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(4), "&#x3C3;=4");
- rayleigh_cdf_plotter.add(boost::math::rayleigh_distribution<>(10), "&#x3C3;=10");
- rayleigh_cdf_plotter.plot("Rayleigh Distribution CDF", "rayleigh_cdf.svg");
-
- distribution_plotter<boost::math::skew_normal_distribution<> >
- skew_normal_plotter;
- skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,0), "{0,1,0}");
- skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,1), "{0,1,1}");
- skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,4), "{0,1,4}");
- skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,20), "{0,1,20}");
- skew_normal_plotter.add(boost::math::skew_normal_distribution<>(0,1,-2), "{0,1,-2}");
- skew_normal_plotter.add(boost::math::skew_normal_distribution<>(-2,0.5,-1), "{-2,0.5,-1}");
- skew_normal_plotter.plot("Skew Normal Distribution PDF", "skew_normal_pdf.svg");
-
- distribution_plotter<boost::math::skew_normal_distribution<> >
- skew_normal_cdf_plotter(false);
- skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,0), "{0,1,0}");
- skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,1), "{0,1,1}");
- skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,4), "{0,1,4}");
- skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,20), "{0,1,20}");
- skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(0,1,-2), "{0,1,-2}");
- skew_normal_cdf_plotter.add(boost::math::skew_normal_distribution<>(-2,0.5,-1), "{-2,0.5,-1}");
- skew_normal_cdf_plotter.plot("Skew Normal Distribution CDF", "skew_normal_cdf.svg");
-
- distribution_plotter<boost::math::triangular_distribution<> >
- triangular_plotter;
- triangular_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}");
- triangular_plotter.add(boost::math::triangular_distribution<>(0,1,1), "{0,1,1}");
- triangular_plotter.add(boost::math::triangular_distribution<>(0,1,3), "{0,1,3}");
- triangular_plotter.add(boost::math::triangular_distribution<>(0,0.5,1), "{0,0.5,1}");
- triangular_plotter.add(boost::math::triangular_distribution<>(-2,0,3), "{-2,0,3}");
- triangular_plotter.plot("Triangular Distribution PDF", "triangular_pdf.svg");
-
- distribution_plotter<boost::math::triangular_distribution<> >
- triangular_cdf_plotter(false);
- triangular_cdf_plotter.add(boost::math::triangular_distribution<>(-1,0,1), "{-1,0,1}");
- triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,1,1), "{0,1,1}");
- triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,1,3), "{0,1,3}");
- triangular_cdf_plotter.add(boost::math::triangular_distribution<>(0,0.5,1), "{0,0.5,1}");
- triangular_cdf_plotter.add(boost::math::triangular_distribution<>(-2,0,3), "{-2,0,3}");
- triangular_cdf_plotter.plot("Triangular Distribution CDF", "triangular_cdf.svg");
-
- distribution_plotter<boost::math::students_t_distribution<> >
- students_t_plotter;
- students_t_plotter.add(boost::math::students_t_distribution<>(1), "v=1");
- students_t_plotter.add(boost::math::students_t_distribution<>(5), "v=5");
- students_t_plotter.add(boost::math::students_t_distribution<>(30), "v=30");
- students_t_plotter.plot("Students T Distribution PDF", "students_t_pdf.svg");
-
- distribution_plotter<boost::math::weibull_distribution<> >
- weibull_plotter;
- weibull_plotter.add(boost::math::weibull_distribution<>(0.75), "shape=0.75");
- weibull_plotter.add(boost::math::weibull_distribution<>(1), "shape=1");
- weibull_plotter.add(boost::math::weibull_distribution<>(5), "shape=5");
- weibull_plotter.add(boost::math::weibull_distribution<>(10), "shape=10");
- weibull_plotter.plot("Weibull Distribution PDF (scale=1)", "weibull_pdf1.svg");
-
- distribution_plotter<boost::math::weibull_distribution<> >
- weibull_plotter2;
- weibull_plotter2.add(boost::math::weibull_distribution<>(3, 0.5), "scale=0.5");
- weibull_plotter2.add(boost::math::weibull_distribution<>(3, 1), "scale=1");
- weibull_plotter2.add(boost::math::weibull_distribution<>(3, 2), "scale=2");
- weibull_plotter2.plot("Weibull Distribution PDF (shape=3)", "weibull_pdf2.svg");
-
- distribution_plotter<boost::math::uniform_distribution<> >
- uniform_plotter;
- uniform_plotter.add(boost::math::uniform_distribution<>(0, 1), "{0,1}");
- uniform_plotter.add(boost::math::uniform_distribution<>(0, 3), "{0,3}");
- uniform_plotter.add(boost::math::uniform_distribution<>(-2, 3), "{-2,3}");
- uniform_plotter.add(boost::math::uniform_distribution<>(-1, 1), "{-1,1}");
- uniform_plotter.plot("Uniform Distribution PDF", "uniform_pdf.svg");
-
- distribution_plotter<boost::math::uniform_distribution<> >
- uniform_cdf_plotter(false);
- uniform_cdf_plotter.add(boost::math::uniform_distribution<>(0, 1), "{0,1}");
- uniform_cdf_plotter.add(boost::math::uniform_distribution<>(0, 3), "{0,3}");
- uniform_cdf_plotter.add(boost::math::uniform_distribution<>(-2, 3), "{-2,3}");
- uniform_cdf_plotter.add(boost::math::uniform_distribution<>(-1, 1), "{-1,1}");
- uniform_cdf_plotter.plot("Uniform Distribution CDF", "uniform_cdf.svg");
-
- distribution_plotter<boost::math::bernoulli_distribution<> >
- bernoulli_plotter;
- bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.25), "p=0.25");
- bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.5), "p=0.5");
- bernoulli_plotter.add(boost::math::bernoulli_distribution<>(0.75), "p=0.75");
- bernoulli_plotter.plot("Bernoulli Distribution PDF", "bernoulli_pdf.svg");
-
- distribution_plotter<boost::math::bernoulli_distribution<> >
- bernoulli_cdf_plotter(false);
- bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.25), "p=0.25");
- bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.5), "p=0.5");
- bernoulli_cdf_plotter.add(boost::math::bernoulli_distribution<>(0.75), "p=0.75");
- bernoulli_cdf_plotter.plot("Bernoulli Distribution CDF", "bernoulli_cdf.svg");
-
- distribution_plotter<boost::math::binomial_distribution<> >
- binomial_plotter;
- binomial_plotter.add(boost::math::binomial_distribution<>(5, 0.5), "n=5 p=0.5");
- binomial_plotter.add(boost::math::binomial_distribution<>(20, 0.5), "n=20 p=0.5");
- binomial_plotter.add(boost::math::binomial_distribution<>(50, 0.5), "n=50 p=0.5");
- binomial_plotter.plot("Binomial Distribution PDF", "binomial_pdf_1.svg");
-
- distribution_plotter<boost::math::binomial_distribution<> >
- binomial_plotter2;
- binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.1), "n=20 p=0.1");
- binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.5), "n=20 p=0.5");
- binomial_plotter2.add(boost::math::binomial_distribution<>(20, 0.9), "n=20 p=0.9");
- binomial_plotter2.plot("Binomial Distribution PDF", "binomial_pdf_2.svg");
-
- distribution_plotter<boost::math::negative_binomial_distribution<> >
- negative_binomial_plotter;
- negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.25), "n=20 p=0.25");
- negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.5), "n=20 p=0.5");
- negative_binomial_plotter.add(boost::math::negative_binomial_distribution<>(20, 0.75), "n=20 p=0.75");
- negative_binomial_plotter.plot("Negative Binomial Distribution PDF", "negative_binomial_pdf_1.svg");
-
- distribution_plotter<boost::math::negative_binomial_distribution<> >
- negative_binomial_plotter2;
- negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(10, 0.5), "n=10 p=0.5");
- negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(20, 0.5), "n=20 p=0.5");
- negative_binomial_plotter2.add(boost::math::negative_binomial_distribution<>(70, 0.5), "n=70 p=0.5");
- negative_binomial_plotter2.plot("Negative Binomial Distribution PDF", "negative_binomial_pdf_2.svg");
-
- distribution_plotter<boost::math::poisson_distribution<> >
- poisson_plotter;
- poisson_plotter.add(boost::math::poisson_distribution<>(5), "&#x3BB;=5");
- poisson_plotter.add(boost::math::poisson_distribution<>(10), "&#x3BB;=10");
- poisson_plotter.add(boost::math::poisson_distribution<>(20), "&#x3BB;=20");
- poisson_plotter.plot("Poisson Distribution PDF", "poisson_pdf_1.svg");
-
- distribution_plotter<boost::math::hypergeometric_distribution<> >
- hypergeometric_plotter;
- hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 50, 500), "N=500, r=50, n=30");
- hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 100, 500), "N=500, r=100, n=30");
- hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 250, 500), "N=500, r=250, n=30");
- hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 400, 500), "N=500, r=400, n=30");
- hypergeometric_plotter.add(boost::math::hypergeometric_distribution<>(30, 450, 500), "N=500, r=450, n=30");
- hypergeometric_plotter.plot("Hypergeometric Distribution PDF", "hypergeometric_pdf_1.svg");
-
- distribution_plotter<boost::math::hypergeometric_distribution<> >
- hypergeometric_plotter2;
- hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(50, 50, 500), "N=500, r=50, n=50");
- hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(100, 50, 500), "N=500, r=50, n=100");
- hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(250, 50, 500), "N=500, r=50, n=250");
- hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(400, 50, 500), "N=500, r=50, n=400");
- hypergeometric_plotter2.add(boost::math::hypergeometric_distribution<>(450, 50, 500), "N=500, r=50, n=450");
- hypergeometric_plotter2.plot("Hypergeometric Distribution PDF", "hypergeometric_pdf_2.svg");
-
-} // int main()
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_1.svg b/libs/math/doc/sf_and_dist/graphs/ellint_1.svg
deleted file mode 100644
index 8481c1f52d..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/ellint_1.svg
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,321.5 L84.2,321.5 M82.2,302 L84.2,302 M82.2,282.6 L84.2,282.6 M82.2,243.6 L84.2,243.6 M82.2,224.1 L84.2,224.1 M82.2,204.7 L84.2,204.7 M82.2,165.7 L84.2,165.7 M82.2,146.2 L84.2,146.2 M82.2,126.7 L84.2,126.7 M82.2,87.79 L84.2,87.79 M82.2,68.31 L84.2,68.31 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M290.1,341 L290.1,343 M315.2,341 L315.2,343 M340.3,341 L340.3,343 M390.5,341 L390.5,343 M415.6,341 L415.6,343 M440.7,341 L440.7,343 M239.9,341 L239.9,343 M214.8,341 L214.8,343 M189.6,341 L189.6,343 M139.4,341 L139.4,343 M114.3,341 L114.3,343 M89.22,341 L89.22,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,263.1 L84.2,263.1 M79.2,185.2 L84.2,185.2 M79.2,107.3 L84.2,107.3 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M365.4,341 L365.4,346 M265,341 L265,346 M164.5,341 L164.5,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="365.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="164.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="265.5" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="187.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="109.7" text-anchor="end" font-size="12" font-family="Verdana">2</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ellint_1(k, phi)</text></g>
-<g id="xLabel">
-<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,338.3 L86.01,338.3 L87.82,338.4 L89.62,338.4 L91.43,338.5 L93.24,338.5 L95.05,338.6 L96.85,338.7 L98.66,338.7 L100.5,338.8 L102.3,338.8 L104.1,338.9 L105.9,338.9 L107.7,339 L109.5,339 L111.3,339.1 L113.1,339.1 L114.9,339.2 L116.7,339.2 L118.5,339.3 L120.4,339.3 L122.2,339.3 L124,339.4 L125.8,339.4 L127.6,339.5 L129.4,339.5 L131.2,339.6 L133,339.6 L134.8,339.6 L136.6,339.7 L138.4,339.7 L140.2,339.8 L142,339.8 L143.9,339.8 L145.7,339.9 L147.5,339.9 L149.3,339.9 L151.1,340 L152.9,340 L154.7,340 L156.5,340.1 L158.3,340.1 L160.1,340.1 L161.9,340.2 L163.7,340.2 L165.5,340.2 L167.4,340.3 L169.2,340.3 L171,340.3 L172.8,340.3 L174.6,340.4 L176.4,340.4 L178.2,340.4 L180,340.4 L181.8,340.5 L183.6,340.5 L185.4,340.5 L187.2,340.5 L189,340.6 L190.9,340.6 L192.7,340.6 L194.5,340.6 L196.3,340.6 L198.1,340.7 L199.9,340.7 L201.7,340.7 L203.5,340.7 L205.3,340.7 L207.1,340.7 L208.9,340.8 L210.7,340.8 L212.5,340.8 L214.4,340.8 L216.2,340.8 L218,340.8 L219.8,340.8 L221.6,340.9 L223.4,340.9 L225.2,340.9 L227,340.9 L228.8,340.9 L230.6,340.9 L232.4,340.9 L234.2,340.9 L236,340.9 L237.9,340.9 L239.7,341 L241.5,341 L243.3,341 L245.1,341 L246.9,341 L248.7,341 L250.5,341 L252.3,341 L254.1,341 L255.9,341 L257.7,341 L259.5,341 L261.3,341 L263.2,341 L265,341 L266.8,341 L268.6,341 L270.4,341 L272.2,341 L274,341 L275.8,341 L277.6,341 L279.4,341 L281.2,341 L283,341 L284.8,341 L286.7,341 L288.5,341 L290.3,341 L292.1,340.9 L293.9,340.9 L295.7,340.9 L297.5,340.9 L299.3,340.9 L301.1,340.9 L302.9,340.9 L304.7,340.9 L306.5,340.9 L308.3,340.9 L310.2,340.8 L312,340.8 L313.8,340.8 L315.6,340.8 L317.4,340.8 L319.2,340.8 L321,340.8 L322.8,340.7 L324.6,340.7 L326.4,340.7 L328.2,340.7 L330,340.7 L331.8,340.7 L333.7,340.6 L335.5,340.6 L337.3,340.6 L339.1,340.6 L340.9,340.6 L342.7,340.5 L344.5,340.5 L346.3,340.5 L348.1,340.5 L349.9,340.4 L351.7,340.4 L353.5,340.4 L355.3,340.4 L357.2,340.3 L359,340.3 L360.8,340.3 L362.6,340.3 L364.4,340.2 L366.2,340.2 L368,340.2 L369.8,340.1 L371.6,340.1 L373.4,340.1 L375.2,340 L377,340 L378.8,340 L380.7,339.9 L382.5,339.9 L384.3,339.9 L386.1,339.8 L387.9,339.8 L389.7,339.8 L391.5,339.7 L393.3,339.7 L395.1,339.6 L396.9,339.6 L398.7,339.6 L400.5,339.5 L402.3,339.5 L404.2,339.4 L406,339.4 L407.8,339.3 L409.6,339.3 L411.4,339.3 L413.2,339.2 L415,339.2 L416.8,339.1 L418.6,339.1 L420.4,339 L422.2,339 L424,338.9 L425.8,338.9 L427.7,338.8 L429.5,338.8 L431.3,338.7 L433.1,338.7 L434.9,338.6 L436.7,338.5 L438.5,338.5 L440.3,338.4 L442.1,338.4 L443.9,338.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,292.3 L86.01,292.5 L87.82,292.8 L89.62,293 L91.43,293.2 L93.24,293.4 L95.05,293.7 L96.85,293.9 L98.66,294.1 L100.5,294.3 L102.3,294.5 L104.1,294.7 L105.9,294.9 L107.7,295.1 L109.5,295.3 L111.3,295.4 L113.1,295.6 L114.9,295.8 L116.7,296 L118.5,296.1 L120.4,296.3 L122.2,296.5 L124,296.6 L125.8,296.8 L127.6,296.9 L129.4,297.1 L131.2,297.2 L133,297.4 L134.8,297.5 L136.6,297.6 L138.4,297.8 L140.2,297.9 L142,298 L143.9,298.2 L145.7,298.3 L147.5,298.4 L149.3,298.5 L151.1,298.7 L152.9,298.8 L154.7,298.9 L156.5,299 L158.3,299.1 L160.1,299.2 L161.9,299.3 L163.7,299.4 L165.5,299.5 L167.4,299.6 L169.2,299.7 L171,299.8 L172.8,299.9 L174.6,300 L176.4,300.1 L178.2,300.1 L180,300.2 L181.8,300.3 L183.6,300.4 L185.4,300.5 L187.2,300.5 L189,300.6 L190.9,300.7 L192.7,300.7 L194.5,300.8 L196.3,300.9 L198.1,300.9 L199.9,301 L201.7,301.1 L203.5,301.1 L205.3,301.2 L207.1,301.2 L208.9,301.3 L210.7,301.3 L212.5,301.4 L214.4,301.4 L216.2,301.5 L218,301.5 L219.8,301.5 L221.6,301.6 L223.4,301.6 L225.2,301.7 L227,301.7 L228.8,301.7 L230.6,301.8 L232.4,301.8 L234.2,301.8 L236,301.8 L237.9,301.9 L239.7,301.9 L241.5,301.9 L243.3,301.9 L245.1,301.9 L246.9,302 L248.7,302 L250.5,302 L252.3,302 L254.1,302 L255.9,302 L257.7,302 L259.5,302 L261.3,302 L263.2,302 L265,302 L266.8,302 L268.6,302 L270.4,302 L272.2,302 L274,302 L275.8,302 L277.6,302 L279.4,302 L281.2,302 L283,302 L284.8,301.9 L286.7,301.9 L288.5,301.9 L290.3,301.9 L292.1,301.9 L293.9,301.8 L295.7,301.8 L297.5,301.8 L299.3,301.8 L301.1,301.7 L302.9,301.7 L304.7,301.7 L306.5,301.6 L308.3,301.6 L310.2,301.5 L312,301.5 L313.8,301.5 L315.6,301.4 L317.4,301.4 L319.2,301.3 L321,301.3 L322.8,301.2 L324.6,301.2 L326.4,301.1 L328.2,301.1 L330,301 L331.8,300.9 L333.7,300.9 L335.5,300.8 L337.3,300.7 L339.1,300.7 L340.9,300.6 L342.7,300.5 L344.5,300.5 L346.3,300.4 L348.1,300.3 L349.9,300.2 L351.7,300.1 L353.5,300.1 L355.3,300 L357.2,299.9 L359,299.8 L360.8,299.7 L362.6,299.6 L364.4,299.5 L366.2,299.4 L368,299.3 L369.8,299.2 L371.6,299.1 L373.4,299 L375.2,298.9 L377,298.8 L378.8,298.7 L380.7,298.5 L382.5,298.4 L384.3,298.3 L386.1,298.2 L387.9,298 L389.7,297.9 L391.5,297.8 L393.3,297.6 L395.1,297.5 L396.9,297.4 L398.7,297.2 L400.5,297.1 L402.3,296.9 L404.2,296.8 L406,296.6 L407.8,296.5 L409.6,296.3 L411.4,296.1 L413.2,296 L415,295.8 L416.8,295.6 L418.6,295.4 L420.4,295.3 L422.2,295.1 L424,294.9 L425.8,294.7 L427.7,294.5 L429.5,294.3 L431.3,294.1 L433.1,293.9 L434.9,293.7 L436.7,293.4 L438.5,293.2 L440.3,293 L442.1,292.8 L443.9,292.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,171.3 L86.01,173.3 L87.82,175.2 L89.62,177 L91.43,178.8 L93.24,180.4 L95.05,182 L96.85,183.5 L98.66,184.9 L100.5,186.3 L102.3,187.6 L104.1,188.9 L105.9,190.1 L107.7,191.2 L109.5,192.4 L111.3,193.4 L113.1,194.5 L114.9,195.5 L116.7,196.5 L118.5,197.4 L120.4,198.3 L122.2,199.2 L124,200 L125.8,200.9 L127.6,201.7 L129.4,202.4 L131.2,203.2 L133,203.9 L134.8,204.6 L136.6,205.3 L138.4,205.9 L140.2,206.6 L142,207.2 L143.9,207.8 L145.7,208.4 L147.5,209 L149.3,209.5 L151.1,210.1 L152.9,210.6 L154.7,211.1 L156.5,211.6 L158.3,212.1 L160.1,212.5 L161.9,213 L163.7,213.4 L165.5,213.9 L167.4,214.3 L169.2,214.7 L171,215.1 L172.8,215.5 L174.6,215.8 L176.4,216.2 L178.2,216.6 L180,216.9 L181.8,217.2 L183.6,217.6 L185.4,217.9 L187.2,218.2 L189,218.5 L190.9,218.7 L192.7,219 L194.5,219.3 L196.3,219.6 L198.1,219.8 L199.9,220 L201.7,220.3 L203.5,220.5 L205.3,220.7 L207.1,220.9 L208.9,221.1 L210.7,221.3 L212.5,221.5 L214.4,221.7 L216.2,221.9 L218,222.1 L219.8,222.2 L221.6,222.4 L223.4,222.5 L225.2,222.7 L227,222.8 L228.8,222.9 L230.6,223 L232.4,223.1 L234.2,223.3 L236,223.4 L237.9,223.5 L239.7,223.5 L241.5,223.6 L243.3,223.7 L245.1,223.8 L246.9,223.8 L248.7,223.9 L250.5,223.9 L252.3,224 L254.1,224 L255.9,224.1 L257.7,224.1 L259.5,224.1 L261.3,224.1 L263.2,224.1 L265,224.1 L266.8,224.1 L268.6,224.1 L270.4,224.1 L272.2,224.1 L274,224.1 L275.8,224 L277.6,224 L279.4,223.9 L281.2,223.9 L283,223.8 L284.8,223.8 L286.7,223.7 L288.5,223.6 L290.3,223.5 L292.1,223.5 L293.9,223.4 L295.7,223.3 L297.5,223.1 L299.3,223 L301.1,222.9 L302.9,222.8 L304.7,222.7 L306.5,222.5 L308.3,222.4 L310.2,222.2 L312,222.1 L313.8,221.9 L315.6,221.7 L317.4,221.5 L319.2,221.3 L321,221.1 L322.8,220.9 L324.6,220.7 L326.4,220.5 L328.2,220.3 L330,220 L331.8,219.8 L333.7,219.6 L335.5,219.3 L337.3,219 L339.1,218.7 L340.9,218.5 L342.7,218.2 L344.5,217.9 L346.3,217.6 L348.1,217.2 L349.9,216.9 L351.7,216.6 L353.5,216.2 L355.3,215.8 L357.2,215.5 L359,215.1 L360.8,214.7 L362.6,214.3 L364.4,213.9 L366.2,213.4 L368,213 L369.8,212.5 L371.6,212.1 L373.4,211.6 L375.2,211.1 L377,210.6 L378.8,210.1 L380.7,209.5 L382.5,209 L384.3,208.4 L386.1,207.8 L387.9,207.2 L389.7,206.6 L391.5,205.9 L393.3,205.3 L395.1,204.6 L396.9,203.9 L398.7,203.2 L400.5,202.4 L402.3,201.7 L404.2,200.9 L406,200 L407.8,199.2 L409.6,198.3 L411.4,197.4 L413.2,196.5 L415,195.5 L416.8,194.5 L418.6,193.4 L420.4,192.4 L422.2,191.2 L424,190.1 L425.8,188.9 L427.7,187.6 L429.5,186.3 L431.3,184.9 L433.1,183.5 L434.9,182 L436.7,180.4 L438.5,178.8 L440.3,177 L442.1,175.2 L443.9,173.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,63.55 L86.01,69.32 L87.82,74.58 L89.62,79.4 L91.43,83.85 L93.24,87.97 L95.05,91.81 L96.85,95.39 L98.66,98.75 L100.5,101.9 L102.3,104.9 L104.1,107.7 L105.9,110.4 L107.7,112.9 L109.5,115.3 L111.3,117.6 L113.1,119.7 L114.9,121.8 L116.7,123.8 L118.5,125.7 L120.4,127.5 L122.2,129.3 L124,130.9 L125.8,132.6 L127.6,134.1 L129.4,135.6 L131.2,137 L133,138.4 L134.8,139.7 L136.6,141 L138.4,142.3 L140.2,143.5 L142,144.6 L143.9,145.7 L145.7,146.8 L147.5,147.9 L149.3,148.9 L151.1,149.9 L152.9,150.8 L154.7,151.7 L156.5,152.6 L158.3,153.5 L160.1,154.3 L161.9,155.1 L163.7,155.9 L165.5,156.7 L167.4,157.4 L169.2,158.1 L171,158.8 L172.8,159.5 L174.6,160.1 L176.4,160.7 L178.2,161.3 L180,161.9 L181.8,162.5 L183.6,163.1 L185.4,163.6 L187.2,164.1 L189,164.6 L190.9,165.1 L192.7,165.6 L194.5,166 L196.3,166.5 L198.1,166.9 L199.9,167.3 L201.7,167.7 L203.5,168.1 L205.3,168.5 L207.1,168.8 L208.9,169.2 L210.7,169.5 L212.5,169.8 L214.4,170.1 L216.2,170.4 L218,170.7 L219.8,171 L221.6,171.2 L223.4,171.5 L225.2,171.7 L227,171.9 L228.8,172.1 L230.6,172.3 L232.4,172.5 L234.2,172.7 L236,172.9 L237.9,173 L239.7,173.2 L241.5,173.3 L243.3,173.4 L245.1,173.5 L246.9,173.6 L248.7,173.7 L250.5,173.8 L252.3,173.9 L254.1,174 L255.9,174 L257.7,174.1 L259.5,174.1 L261.3,174.1 L263.2,174.1 L265,174.1 L266.8,174.1 L268.6,174.1 L270.4,174.1 L272.2,174.1 L274,174 L275.8,174 L277.6,173.9 L279.4,173.8 L281.2,173.7 L283,173.6 L284.8,173.5 L286.7,173.4 L288.5,173.3 L290.3,173.2 L292.1,173 L293.9,172.9 L295.7,172.7 L297.5,172.5 L299.3,172.3 L301.1,172.1 L302.9,171.9 L304.7,171.7 L306.5,171.5 L308.3,171.2 L310.2,171 L312,170.7 L313.8,170.4 L315.6,170.1 L317.4,169.8 L319.2,169.5 L321,169.2 L322.8,168.8 L324.6,168.5 L326.4,168.1 L328.2,167.7 L330,167.3 L331.8,166.9 L333.7,166.5 L335.5,166 L337.3,165.6 L339.1,165.1 L340.9,164.6 L342.7,164.1 L344.5,163.6 L346.3,163.1 L348.1,162.5 L349.9,161.9 L351.7,161.3 L353.5,160.7 L355.3,160.1 L357.2,159.5 L359,158.8 L360.8,158.1 L362.6,157.4 L364.4,156.7 L366.2,155.9 L368,155.1 L369.8,154.3 L371.6,153.5 L373.4,152.6 L375.2,151.7 L377,150.8 L378.8,149.9 L380.7,148.9 L382.5,147.9 L384.3,146.8 L386.1,145.7 L387.9,144.6 L389.7,143.5 L391.5,142.3 L393.3,141 L395.1,139.7 L396.9,138.4 L398.7,137 L400.5,135.6 L402.3,134.1 L404.2,132.6 L406,130.9 L407.8,129.3 L409.6,127.5 L411.4,125.7 L413.2,123.8 L415,121.8 L416.8,119.7 L418.6,117.6 L420.4,115.3 L422.2,112.9 L424,110.4 L425.8,107.7 L427.7,104.9 L429.5,101.9 L431.3,98.75 L433.1,95.39 L434.9,91.81 L436.7,87.97 L438.5,83.85 L440.3,79.4 L442.1,74.58 L443.9,69.32 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="126"/><rect x="467" y="58" width="107" height="126"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
-</g>
-<g id="legendText">
-<text x="502" y="86" font-size="14" font-family="Verdana">&#x3C6;=0.5</text>
-<text x="502" y="114" font-size="14" font-family="Verdana">&#x3C6;=0.75</text>
-<text x="502" y="142" font-size="14" font-family="Verdana">&#x3C6;=1.25</text>
-<text x="502" y="170" font-size="14" font-family="Verdana">&#x3C6;=&#x3C0;/2</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Of the First Kind</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_2.svg b/libs/math/doc/sf_and_dist/graphs/ellint_2.svg
deleted file mode 100644
index 74dce7e479..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/ellint_2.svg
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="265" y1="58" x2="265" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,304 L84.2,304 M82.2,272.2 L84.2,272.2 M82.2,240.4 L84.2,240.4 M82.2,176.9 L84.2,176.9 M82.2,145.1 L84.2,145.1 M82.2,113.3 L84.2,113.3 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 M242.4,341 L242.4,343 M219.8,341 L219.8,343 M197.2,341 L197.2,343 M152,341 L152,343 M129.4,341 L129.4,343 M106.8,341 L106.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,335.8 L84.2,335.8 M79.2,208.7 L84.2,208.7 M79.2,81.55 L84.2,81.55 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M265,341 L265,346 M174.6,341 L174.6,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="338.2" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="211.1" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="83.95" text-anchor="end" font-size="12" font-family="Verdana">1.5</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ellint_2(k, phi)</text></g>
-<g id="xLabel">
-<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.01,340.9 L87.82,340.8 L89.62,340.7 L91.43,340.6 L93.24,340.5 L95.05,340.4 L96.85,340.3 L98.66,340.2 L100.5,340.1 L102.3,340 L104.1,339.9 L105.9,339.8 L107.7,339.7 L109.5,339.6 L111.3,339.5 L113.1,339.4 L114.9,339.3 L116.7,339.2 L118.5,339.2 L120.4,339.1 L122.2,339 L124,338.9 L125.8,338.8 L127.6,338.7 L129.4,338.7 L131.2,338.6 L133,338.5 L134.8,338.4 L136.6,338.4 L138.4,338.3 L140.2,338.2 L142,338.1 L143.9,338.1 L145.7,338 L147.5,337.9 L149.3,337.9 L151.1,337.8 L152.9,337.7 L154.7,337.7 L156.5,337.6 L158.3,337.5 L160.1,337.5 L161.9,337.4 L163.7,337.4 L165.5,337.3 L167.4,337.3 L169.2,337.2 L171,337.1 L172.8,337.1 L174.6,337 L176.4,337 L178.2,336.9 L180,336.9 L181.8,336.8 L183.6,336.8 L185.4,336.8 L187.2,336.7 L189,336.7 L190.9,336.6 L192.7,336.6 L194.5,336.5 L196.3,336.5 L198.1,336.5 L199.9,336.4 L201.7,336.4 L203.5,336.4 L205.3,336.3 L207.1,336.3 L208.9,336.3 L210.7,336.2 L212.5,336.2 L214.4,336.2 L216.2,336.1 L218,336.1 L219.8,336.1 L221.6,336.1 L223.4,336 L225.2,336 L227,336 L228.8,336 L230.6,336 L232.4,335.9 L234.2,335.9 L236,335.9 L237.9,335.9 L239.7,335.9 L241.5,335.9 L243.3,335.8 L245.1,335.8 L246.9,335.8 L248.7,335.8 L250.5,335.8 L252.3,335.8 L254.1,335.8 L255.9,335.8 L257.7,335.8 L259.5,335.8 L261.3,335.8 L263.2,335.8 L265,335.8 L266.8,335.8 L268.6,335.8 L270.4,335.8 L272.2,335.8 L274,335.8 L275.8,335.8 L277.6,335.8 L279.4,335.8 L281.2,335.8 L283,335.8 L284.8,335.8 L286.7,335.8 L288.5,335.9 L290.3,335.9 L292.1,335.9 L293.9,335.9 L295.7,335.9 L297.5,335.9 L299.3,336 L301.1,336 L302.9,336 L304.7,336 L306.5,336 L308.3,336.1 L310.2,336.1 L312,336.1 L313.8,336.1 L315.6,336.2 L317.4,336.2 L319.2,336.2 L321,336.3 L322.8,336.3 L324.6,336.3 L326.4,336.4 L328.2,336.4 L330,336.4 L331.8,336.5 L333.7,336.5 L335.5,336.5 L337.3,336.6 L339.1,336.6 L340.9,336.7 L342.7,336.7 L344.5,336.8 L346.3,336.8 L348.1,336.8 L349.9,336.9 L351.7,336.9 L353.5,337 L355.3,337 L357.2,337.1 L359,337.1 L360.8,337.2 L362.6,337.3 L364.4,337.3 L366.2,337.4 L368,337.4 L369.8,337.5 L371.6,337.5 L373.4,337.6 L375.2,337.7 L377,337.7 L378.8,337.8 L380.7,337.9 L382.5,337.9 L384.3,338 L386.1,338.1 L387.9,338.1 L389.7,338.2 L391.5,338.3 L393.3,338.4 L395.1,338.4 L396.9,338.5 L398.7,338.6 L400.5,338.7 L402.3,338.7 L404.2,338.8 L406,338.9 L407.8,339 L409.6,339.1 L411.4,339.2 L413.2,339.2 L415,339.3 L416.8,339.4 L418.6,339.5 L420.4,339.6 L422.2,339.7 L424,339.8 L425.8,339.9 L427.7,340 L429.5,340.1 L431.3,340.2 L433.1,340.3 L434.9,340.4 L436.7,340.5 L438.5,340.6 L440.3,340.7 L442.1,340.8 L443.9,340.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,289.6 L86.01,289.2 L87.82,288.8 L89.62,288.5 L91.43,288.1 L93.24,287.7 L95.05,287.4 L96.85,287 L98.66,286.7 L100.5,286.4 L102.3,286 L104.1,285.7 L105.9,285.4 L107.7,285.1 L109.5,284.8 L111.3,284.4 L113.1,284.1 L114.9,283.8 L116.7,283.5 L118.5,283.3 L120.4,283 L122.2,282.7 L124,282.4 L125.8,282.1 L127.6,281.9 L129.4,281.6 L131.2,281.3 L133,281.1 L134.8,280.8 L136.6,280.6 L138.4,280.3 L140.2,280.1 L142,279.9 L143.9,279.6 L145.7,279.4 L147.5,279.2 L149.3,279 L151.1,278.7 L152.9,278.5 L154.7,278.3 L156.5,278.1 L158.3,277.9 L160.1,277.7 L161.9,277.5 L163.7,277.3 L165.5,277.2 L167.4,277 L169.2,276.8 L171,276.6 L172.8,276.4 L174.6,276.3 L176.4,276.1 L178.2,276 L180,275.8 L181.8,275.6 L183.6,275.5 L185.4,275.4 L187.2,275.2 L189,275.1 L190.9,274.9 L192.7,274.8 L194.5,274.7 L196.3,274.5 L198.1,274.4 L199.9,274.3 L201.7,274.2 L203.5,274.1 L205.3,274 L207.1,273.9 L208.9,273.8 L210.7,273.7 L212.5,273.6 L214.4,273.5 L216.2,273.4 L218,273.3 L219.8,273.2 L221.6,273.1 L223.4,273.1 L225.2,273 L227,272.9 L228.8,272.9 L230.6,272.8 L232.4,272.7 L234.2,272.7 L236,272.6 L237.9,272.6 L239.7,272.5 L241.5,272.5 L243.3,272.4 L245.1,272.4 L246.9,272.4 L248.7,272.3 L250.5,272.3 L252.3,272.3 L254.1,272.3 L255.9,272.3 L257.7,272.2 L259.5,272.2 L261.3,272.2 L263.2,272.2 L265,272.2 L266.8,272.2 L268.6,272.2 L270.4,272.2 L272.2,272.2 L274,272.3 L275.8,272.3 L277.6,272.3 L279.4,272.3 L281.2,272.3 L283,272.4 L284.8,272.4 L286.7,272.4 L288.5,272.5 L290.3,272.5 L292.1,272.6 L293.9,272.6 L295.7,272.7 L297.5,272.7 L299.3,272.8 L301.1,272.9 L302.9,272.9 L304.7,273 L306.5,273.1 L308.3,273.1 L310.2,273.2 L312,273.3 L313.8,273.4 L315.6,273.5 L317.4,273.6 L319.2,273.7 L321,273.8 L322.8,273.9 L324.6,274 L326.4,274.1 L328.2,274.2 L330,274.3 L331.8,274.4 L333.7,274.5 L335.5,274.7 L337.3,274.8 L339.1,274.9 L340.9,275.1 L342.7,275.2 L344.5,275.4 L346.3,275.5 L348.1,275.6 L349.9,275.8 L351.7,276 L353.5,276.1 L355.3,276.3 L357.2,276.4 L359,276.6 L360.8,276.8 L362.6,277 L364.4,277.2 L366.2,277.3 L368,277.5 L369.8,277.7 L371.6,277.9 L373.4,278.1 L375.2,278.3 L377,278.5 L378.8,278.7 L380.7,279 L382.5,279.2 L384.3,279.4 L386.1,279.6 L387.9,279.9 L389.7,280.1 L391.5,280.3 L393.3,280.6 L395.1,280.8 L396.9,281.1 L398.7,281.3 L400.5,281.6 L402.3,281.9 L404.2,282.1 L406,282.4 L407.8,282.7 L409.6,283 L411.4,283.3 L413.2,283.5 L415,283.8 L416.8,284.1 L418.6,284.4 L420.4,284.8 L422.2,285.1 L424,285.4 L425.8,285.7 L427.7,286 L429.5,286.4 L431.3,286.7 L433.1,287 L434.9,287.4 L436.7,287.7 L438.5,288.1 L440.3,288.5 L442.1,288.8 L443.9,289.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,221.6 L86.01,219.5 L87.82,217.4 L89.62,215.4 L91.43,213.4 L93.24,211.5 L95.05,209.7 L96.85,208 L98.66,206.3 L100.5,204.6 L102.3,203 L104.1,201.4 L105.9,199.8 L107.7,198.3 L109.5,196.9 L111.3,195.4 L113.1,194 L114.9,192.7 L116.7,191.3 L118.5,190 L120.4,188.8 L122.2,187.5 L124,186.3 L125.8,185.1 L127.6,183.9 L129.4,182.8 L131.2,181.7 L133,180.6 L134.8,179.5 L136.6,178.4 L138.4,177.4 L140.2,176.4 L142,175.4 L143.9,174.4 L145.7,173.5 L147.5,172.6 L149.3,171.7 L151.1,170.8 L152.9,169.9 L154.7,169.1 L156.5,168.2 L158.3,167.4 L160.1,166.6 L161.9,165.8 L163.7,165.1 L165.5,164.3 L167.4,163.6 L169.2,162.9 L171,162.2 L172.8,161.5 L174.6,160.8 L176.4,160.2 L178.2,159.6 L180,158.9 L181.8,158.3 L183.6,157.7 L185.4,157.2 L187.2,156.6 L189,156.1 L190.9,155.5 L192.7,155 L194.5,154.5 L196.3,154 L198.1,153.6 L199.9,153.1 L201.7,152.6 L203.5,152.2 L205.3,151.8 L207.1,151.4 L208.9,151 L210.7,150.6 L212.5,150.3 L214.4,149.9 L216.2,149.6 L218,149.2 L219.8,148.9 L221.6,148.6 L223.4,148.3 L225.2,148 L227,147.8 L228.8,147.5 L230.6,147.3 L232.4,147.1 L234.2,146.9 L236,146.7 L237.9,146.5 L239.7,146.3 L241.5,146.1 L243.3,146 L245.1,145.8 L246.9,145.7 L248.7,145.6 L250.5,145.5 L252.3,145.4 L254.1,145.3 L255.9,145.3 L257.7,145.2 L259.5,145.2 L261.3,145.1 L263.2,145.1 L265,145.1 L266.8,145.1 L268.6,145.1 L270.4,145.2 L272.2,145.2 L274,145.3 L275.8,145.3 L277.6,145.4 L279.4,145.5 L281.2,145.6 L283,145.7 L284.8,145.8 L286.7,146 L288.5,146.1 L290.3,146.3 L292.1,146.5 L293.9,146.7 L295.7,146.9 L297.5,147.1 L299.3,147.3 L301.1,147.5 L302.9,147.8 L304.7,148 L306.5,148.3 L308.3,148.6 L310.2,148.9 L312,149.2 L313.8,149.6 L315.6,149.9 L317.4,150.3 L319.2,150.6 L321,151 L322.8,151.4 L324.6,151.8 L326.4,152.2 L328.2,152.6 L330,153.1 L331.8,153.6 L333.7,154 L335.5,154.5 L337.3,155 L339.1,155.5 L340.9,156.1 L342.7,156.6 L344.5,157.2 L346.3,157.7 L348.1,158.3 L349.9,158.9 L351.7,159.6 L353.5,160.2 L355.3,160.8 L357.2,161.5 L359,162.2 L360.8,162.9 L362.6,163.6 L364.4,164.3 L366.2,165.1 L368,165.8 L369.8,166.6 L371.6,167.4 L373.4,168.2 L375.2,169.1 L377,169.9 L378.8,170.8 L380.7,171.7 L382.5,172.6 L384.3,173.5 L386.1,174.4 L387.9,175.4 L389.7,176.4 L391.5,177.4 L393.3,178.4 L395.1,179.5 L396.9,180.6 L398.7,181.7 L400.5,182.8 L402.3,183.9 L404.2,185.1 L406,186.3 L407.8,187.5 L409.6,188.8 L411.4,190 L413.2,191.3 L415,192.7 L416.8,194 L418.6,195.4 L420.4,196.9 L422.2,198.3 L424,199.8 L425.8,201.4 L427.7,203 L429.5,204.6 L431.3,206.3 L433.1,208 L434.9,209.7 L436.7,211.5 L438.5,213.4 L440.3,215.4 L442.1,217.4 L443.9,219.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,208.7 L86.01,201.4 L87.82,195.9 L89.62,191.1 L91.43,186.7 L93.24,182.5 L95.05,178.7 L96.85,175 L98.66,171.5 L100.5,168.2 L102.3,165 L104.1,161.9 L105.9,159 L107.7,156.1 L109.5,153.3 L111.3,150.7 L113.1,148.1 L114.9,145.5 L116.7,143.1 L118.5,140.7 L120.4,138.4 L122.2,136.1 L124,134 L125.8,131.8 L127.6,129.7 L129.4,127.7 L131.2,125.7 L133,123.8 L134.8,121.9 L136.6,120 L138.4,118.2 L140.2,116.5 L142,114.8 L143.9,113.1 L145.7,111.4 L147.5,109.8 L149.3,108.3 L151.1,106.8 L152.9,105.3 L154.7,103.8 L156.5,102.4 L158.3,101 L160.1,99.62 L161.9,98.29 L163.7,96.99 L165.5,95.72 L167.4,94.48 L169.2,93.27 L171,92.09 L172.8,90.94 L174.6,89.82 L176.4,88.72 L178.2,87.65 L180,86.61 L181.8,85.6 L183.6,84.61 L185.4,83.64 L187.2,82.7 L189,81.79 L190.9,80.9 L192.7,80.04 L194.5,79.2 L196.3,78.38 L198.1,77.59 L199.9,76.82 L201.7,76.07 L203.5,75.35 L205.3,74.65 L207.1,73.98 L208.9,73.32 L210.7,72.69 L212.5,72.08 L214.4,71.49 L216.2,70.93 L218,70.39 L219.8,69.86 L221.6,69.36 L223.4,68.88 L225.2,68.43 L227,67.99 L228.8,67.57 L230.6,67.18 L232.4,66.8 L234.2,66.45 L236,66.12 L237.9,65.8 L239.7,65.51 L241.5,65.24 L243.3,64.99 L245.1,64.76 L246.9,64.55 L248.7,64.36 L250.5,64.19 L252.3,64.04 L254.1,63.91 L255.9,63.8 L257.7,63.71 L259.5,63.64 L261.3,63.59 L263.2,63.56 L265,63.55 L266.8,63.56 L268.6,63.59 L270.4,63.64 L272.2,63.71 L274,63.8 L275.8,63.91 L277.6,64.04 L279.4,64.19 L281.2,64.36 L283,64.55 L284.8,64.76 L286.7,64.99 L288.5,65.24 L290.3,65.51 L292.1,65.8 L293.9,66.12 L295.7,66.45 L297.5,66.8 L299.3,67.18 L301.1,67.57 L302.9,67.99 L304.7,68.43 L306.5,68.88 L308.3,69.36 L310.2,69.86 L312,70.39 L313.8,70.93 L315.6,71.49 L317.4,72.08 L319.2,72.69 L321,73.32 L322.8,73.98 L324.6,74.65 L326.4,75.35 L328.2,76.07 L330,76.82 L331.8,77.59 L333.7,78.38 L335.5,79.2 L337.3,80.04 L339.1,80.9 L340.9,81.79 L342.7,82.7 L344.5,83.64 L346.3,84.61 L348.1,85.6 L349.9,86.61 L351.7,87.65 L353.5,88.72 L355.3,89.82 L357.2,90.94 L359,92.09 L360.8,93.27 L362.6,94.48 L364.4,95.72 L366.2,96.99 L368,98.29 L369.8,99.62 L371.6,101 L373.4,102.4 L375.2,103.8 L377,105.3 L378.8,106.8 L380.7,108.3 L382.5,109.8 L384.3,111.4 L386.1,113.1 L387.9,114.8 L389.7,116.5 L391.5,118.2 L393.3,120 L395.1,121.9 L396.9,123.8 L398.7,125.7 L400.5,127.7 L402.3,129.7 L404.2,131.8 L406,134 L407.8,136.1 L409.6,138.4 L411.4,140.7 L413.2,143.1 L415,145.5 L416.8,148.1 L418.6,150.7 L420.4,153.3 L422.2,156.1 L424,159 L425.8,161.9 L427.7,165 L429.5,168.2 L431.3,171.5 L433.1,175 L434.9,178.7 L436.7,182.5 L438.5,186.7 L440.3,191.1 L442.1,195.9 L443.9,201.4 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="126"/><rect x="467" y="58" width="107" height="126"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
-</g>
-<g id="legendText">
-<text x="502" y="86" font-size="14" font-family="Verdana">&#x3C6;=0.5</text>
-<text x="502" y="114" font-size="14" font-family="Verdana">&#x3C6;=0.75</text>
-<text x="502" y="142" font-size="14" font-family="Verdana">&#x3C6;=1.25</text>
-<text x="502" y="170" font-size="14" font-family="Verdana">&#x3C6;=&#x3C0;/2</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Of the Second Kind</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_3.svg b/libs/math/doc/sf_and_dist/graphs/ellint_3.svg
deleted file mode 100644
index 061af8f9bb..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/ellint_3.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="319.7" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="321.7" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="241.9" y1="58" x2="241.9" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="405.9" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328.4 L84.2,328.4 M82.2,303.2 L84.2,303.2 M82.2,290.6 L84.2,290.6 M82.2,277.9 L84.2,277.9 M82.2,252.7 L84.2,252.7 M82.2,240.1 L84.2,240.1 M82.2,227.5 L84.2,227.5 M82.2,202.3 L84.2,202.3 M82.2,189.7 L84.2,189.7 M82.2,177.1 L84.2,177.1 M82.2,151.8 L84.2,151.8 M82.2,139.2 L84.2,139.2 M82.2,126.6 L84.2,126.6 M82.2,101.4 L84.2,101.4 M82.2,88.77 L84.2,88.77 M82.2,76.16 L84.2,76.16 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M261.6,341 L261.6,343 M281.3,341 L281.3,343 M301,341 L301,343 M340.5,341 L340.5,343 M360.2,341 L360.2,343 M379.9,341 L379.9,343 M222.2,341 L222.2,343 M202.5,341 L202.5,343 M182.8,341 L182.8,343 M143.3,341 L143.3,343 M123.6,341 L123.6,343 M103.9,341 L103.9,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,315.8 L84.2,315.8 M79.2,265.3 L84.2,265.3 M79.2,214.9 L84.2,214.9 M79.2,164.4 L84.2,164.4 M79.2,114 L84.2,114 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M241.9,341 L241.9,346 M320.8,341 L320.8,346 M399.6,341 L399.6,346 M241.9,341 L241.9,346 M163.1,341 L163.1,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="241.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="320.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="399.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="241.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="163.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="318.2" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="267.7" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="73.2" y="217.3" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
-<text x="73.2" y="166.8" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="73.2" y="116.4" text-anchor="end" font-size="12" font-family="Verdana">3.5</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">4</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ellint_3(k, n, phi)</text></g>
-<g id="xLabel">
-<text x="245.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">k</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,283.3 L85.78,287 L87.35,290.1 L88.93,292.9 L90.51,295.5 L92.09,297.8 L93.66,299.9 L95.24,301.8 L96.82,303.6 L98.39,305.2 L99.97,306.8 L101.5,308.2 L103.1,309.6 L104.7,310.9 L106.3,312.1 L107.9,313.3 L109.4,314.4 L111,315.4 L112.6,316.4 L114.2,317.3 L115.7,318.3 L117.3,319.1 L118.9,320 L120.5,320.7 L122,321.5 L123.6,322.2 L125.2,322.9 L126.8,323.6 L128.4,324.3 L129.9,324.9 L131.5,325.5 L133.1,326.1 L134.7,326.7 L136.2,327.2 L137.8,327.7 L139.4,328.3 L141,328.7 L142.6,329.2 L144.1,329.7 L145.7,330.1 L147.3,330.6 L148.9,331 L150.4,331.4 L152,331.8 L153.6,332.2 L155.2,332.5 L156.7,332.9 L158.3,333.2 L159.9,333.6 L161.5,333.9 L163.1,334.2 L164.6,334.5 L166.2,334.8 L167.8,335.1 L169.4,335.4 L170.9,335.6 L172.5,335.9 L174.1,336.1 L175.7,336.4 L177.2,336.6 L178.8,336.9 L180.4,337.1 L182,337.3 L183.6,337.5 L185.1,337.7 L186.7,337.9 L188.3,338.1 L189.9,338.2 L191.4,338.4 L193,338.6 L194.6,338.7 L196.2,338.9 L197.7,339 L199.3,339.2 L200.9,339.3 L202.5,339.5 L204.1,339.6 L205.6,339.7 L207.2,339.8 L208.8,339.9 L210.4,340 L211.9,340.1 L213.5,340.2 L215.1,340.3 L216.7,340.4 L218.3,340.5 L219.8,340.5 L221.4,340.6 L223,340.7 L224.6,340.7 L226.1,340.8 L227.7,340.8 L229.3,340.8 L230.9,340.9 L232.4,340.9 L234,340.9 L235.6,341 L237.2,341 L238.8,341 L240.3,341 L241.9,341 L243.5,341 L245.1,341 L246.6,341 L248.2,341 L249.8,340.9 L251.4,340.9 L252.9,340.9 L254.5,340.8 L256.1,340.8 L257.7,340.8 L259.3,340.7 L260.8,340.7 L262.4,340.6 L264,340.5 L265.6,340.5 L267.1,340.4 L268.7,340.3 L270.3,340.2 L271.9,340.1 L273.4,340 L275,339.9 L276.6,339.8 L278.2,339.7 L279.8,339.6 L281.3,339.5 L282.9,339.3 L284.5,339.2 L286.1,339 L287.6,338.9 L289.2,338.7 L290.8,338.6 L292.4,338.4 L293.9,338.2 L295.5,338.1 L297.1,337.9 L298.7,337.7 L300.3,337.5 L301.8,337.3 L303.4,337.1 L305,336.9 L306.6,336.6 L308.1,336.4 L309.7,336.1 L311.3,335.9 L312.9,335.6 L314.5,335.4 L316,335.1 L317.6,334.8 L319.2,334.5 L320.8,334.2 L322.3,333.9 L323.9,333.6 L325.5,333.2 L327.1,332.9 L328.6,332.5 L330.2,332.2 L331.8,331.8 L333.4,331.4 L335,331 L336.5,330.6 L338.1,330.1 L339.7,329.7 L341.3,329.2 L342.8,328.7 L344.4,328.3 L346,327.7 L347.6,327.2 L349.1,326.7 L350.7,326.1 L352.3,325.5 L353.9,324.9 L355.5,324.3 L357,323.6 L358.6,322.9 L360.2,322.2 L361.8,321.5 L363.3,320.7 L364.9,320 L366.5,319.1 L368.1,318.3 L369.6,317.3 L371.2,316.4 L372.8,315.4 L374.4,314.4 L376,313.3 L377.5,312.1 L379.1,310.9 L380.7,309.6 L382.3,308.2 L383.8,306.8 L385.4,305.2 L387,303.6 L388.6,301.8 L390.1,299.9 L391.7,297.8 L393.3,295.5 L394.9,292.9 L396.5,290.1 L398,287 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,215.5 L85.78,221.5 L87.35,226.7 L88.93,231.2 L90.51,235.3 L92.09,239 L93.66,242.4 L95.24,245.5 L96.82,248.3 L98.39,250.9 L99.97,253.4 L101.5,255.7 L103.1,257.9 L104.7,259.9 L106.3,261.8 L107.9,263.6 L109.4,265.3 L111,266.9 L112.6,268.5 L114.2,269.9 L115.7,271.3 L117.3,272.7 L118.9,274 L120.5,275.2 L122,276.4 L123.6,277.5 L125.2,278.6 L126.8,279.6 L128.4,280.6 L129.9,281.6 L131.5,282.5 L133.1,283.4 L134.7,284.2 L136.2,285.1 L137.8,285.9 L139.4,286.6 L141,287.4 L142.6,288.1 L144.1,288.8 L145.7,289.5 L147.3,290.1 L148.9,290.7 L150.4,291.4 L152,291.9 L153.6,292.5 L155.2,293.1 L156.7,293.6 L158.3,294.1 L159.9,294.6 L161.5,295.1 L163.1,295.6 L164.6,296 L166.2,296.5 L167.8,296.9 L169.4,297.3 L170.9,297.7 L172.5,298.1 L174.1,298.5 L175.7,298.8 L177.2,299.2 L178.8,299.5 L180.4,299.9 L182,300.2 L183.6,300.5 L185.1,300.8 L186.7,301.1 L188.3,301.3 L189.9,301.6 L191.4,301.9 L193,302.1 L194.6,302.3 L196.2,302.6 L197.7,302.8 L199.3,303 L200.9,303.2 L202.5,303.4 L204.1,303.6 L205.6,303.7 L207.2,303.9 L208.8,304.1 L210.4,304.2 L211.9,304.4 L213.5,304.5 L215.1,304.6 L216.7,304.8 L218.3,304.9 L219.8,305 L221.4,305.1 L223,305.2 L224.6,305.2 L226.1,305.3 L227.7,305.4 L229.3,305.4 L230.9,305.5 L232.4,305.5 L234,305.6 L235.6,305.6 L237.2,305.6 L238.8,305.7 L240.3,305.7 L241.9,305.7 L243.5,305.7 L245.1,305.7 L246.6,305.6 L248.2,305.6 L249.8,305.6 L251.4,305.5 L252.9,305.5 L254.5,305.4 L256.1,305.4 L257.7,305.3 L259.3,305.2 L260.8,305.2 L262.4,305.1 L264,305 L265.6,304.9 L267.1,304.8 L268.7,304.6 L270.3,304.5 L271.9,304.4 L273.4,304.2 L275,304.1 L276.6,303.9 L278.2,303.7 L279.8,303.6 L281.3,303.4 L282.9,303.2 L284.5,303 L286.1,302.8 L287.6,302.6 L289.2,302.3 L290.8,302.1 L292.4,301.9 L293.9,301.6 L295.5,301.3 L297.1,301.1 L298.7,300.8 L300.3,300.5 L301.8,300.2 L303.4,299.9 L305,299.5 L306.6,299.2 L308.1,298.8 L309.7,298.5 L311.3,298.1 L312.9,297.7 L314.5,297.3 L316,296.9 L317.6,296.5 L319.2,296 L320.8,295.6 L322.3,295.1 L323.9,294.6 L325.5,294.1 L327.1,293.6 L328.6,293.1 L330.2,292.5 L331.8,291.9 L333.4,291.4 L335,290.7 L336.5,290.1 L338.1,289.5 L339.7,288.8 L341.3,288.1 L342.8,287.4 L344.4,286.6 L346,285.9 L347.6,285.1 L349.1,284.2 L350.7,283.4 L352.3,282.5 L353.9,281.6 L355.5,280.6 L357,279.6 L358.6,278.6 L360.2,277.5 L361.8,276.4 L363.3,275.2 L364.9,274 L366.5,272.7 L368.1,271.3 L369.6,269.9 L371.2,268.5 L372.8,266.9 L374.4,265.3 L376,263.6 L377.5,261.8 L379.1,259.9 L380.7,257.9 L382.3,255.7 L383.8,253.4 L385.4,250.9 L387,248.3 L388.6,245.5 L390.1,242.4 L391.7,239 L393.3,235.3 L394.9,231.2 L396.5,226.7 L398,221.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M86.09,63.55 L87.65,102 L89.21,125.4 L90.77,142.1 L92.32,155 L93.88,165.5 L95.44,174.2 L97,181.8 L98.56,188.3 L100.1,194.1 L101.7,199.3 L103.2,204 L104.8,208.3 L106.3,212.2 L107.9,215.8 L109.5,219.1 L111,222.2 L112.6,225.1 L114.1,227.8 L115.7,230.3 L117.3,232.7 L118.8,235 L120.4,237.1 L121.9,239.1 L123.5,241 L125,242.8 L126.6,244.6 L128.2,246.2 L129.7,247.8 L131.3,249.3 L132.8,250.7 L134.4,252.1 L136,253.4 L137.5,254.7 L139.1,255.9 L140.6,257 L142.2,258.1 L143.7,259.2 L145.3,260.3 L146.9,261.2 L148.4,262.2 L150,263.1 L151.5,264 L153.1,264.9 L154.7,265.7 L156.2,266.5 L157.8,267.3 L159.3,268 L160.9,268.7 L162.4,269.4 L164,270.1 L165.6,270.8 L167.1,271.4 L168.7,272 L170.2,272.6 L171.8,273.1 L173.3,273.7 L174.9,274.2 L176.5,274.7 L178,275.2 L179.6,275.7 L181.1,276.1 L182.7,276.6 L184.3,277 L185.8,277.4 L187.4,277.8 L188.9,278.2 L190.5,278.6 L192,278.9 L193.6,279.3 L195.2,279.6 L196.7,279.9 L198.3,280.2 L199.8,280.5 L201.4,280.8 L203,281 L204.5,281.3 L206.1,281.5 L207.6,281.7 L209.2,282 L210.7,282.2 L212.3,282.4 L213.9,282.5 L215.4,282.7 L217,282.9 L218.5,283 L220.1,283.2 L221.7,283.3 L223.2,283.4 L224.8,283.5 L226.3,283.6 L227.9,283.7 L229.4,283.8 L231,283.9 L232.6,283.9 L234.1,284 L235.7,284 L237.2,284.1 L238.8,284.1 L240.3,284.1 L241.9,284.1 L243.5,284.1 L245,284.1 L246.6,284.1 L248.1,284 L249.7,284 L251.3,283.9 L252.8,283.9 L254.4,283.8 L255.9,283.7 L257.5,283.6 L259,283.5 L260.6,283.4 L262.2,283.3 L263.7,283.2 L265.3,283 L266.8,282.9 L268.4,282.7 L270,282.5 L271.5,282.4 L273.1,282.2 L274.6,282 L276.2,281.7 L277.7,281.5 L279.3,281.3 L280.9,281 L282.4,280.8 L284,280.5 L285.5,280.2 L287.1,279.9 L288.6,279.6 L290.2,279.3 L291.8,278.9 L293.3,278.6 L294.9,278.2 L296.4,277.8 L298,277.4 L299.6,277 L301.1,276.6 L302.7,276.1 L304.2,275.7 L305.8,275.2 L307.3,274.7 L308.9,274.2 L310.5,273.7 L312,273.1 L313.6,272.6 L315.1,272 L316.7,271.4 L318.3,270.8 L319.8,270.1 L321.4,269.4 L322.9,268.7 L324.5,268 L326,267.3 L327.6,266.5 L329.2,265.7 L330.7,264.9 L332.3,264 L333.8,263.1 L335.4,262.2 L337,261.2 L338.5,260.3 L340.1,259.2 L341.6,258.1 L343.2,257 L344.7,255.9 L346.3,254.7 L347.9,253.4 L349.4,252.1 L351,250.7 L352.5,249.3 L354.1,247.8 L355.6,246.2 L357.2,244.6 L358.8,242.8 L360.3,241 L361.9,239.1 L363.4,237.1 L365,235 L366.6,232.7 L368.1,230.3 L369.7,227.8 L371.2,225.1 L372.8,222.2 L374.3,219.1 L375.9,215.8 L377.5,212.2 L379,208.3 L380.6,204 L382.1,199.3 L383.7,194.1 L385.3,188.3 L386.8,181.8 L388.4,174.2 L389.9,165.5 L391.5,155 L393,142.1 L394.6,125.4 L396.2,102 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M127.4,63.55 L128.5,66.3 L129.7,68.95 L130.8,71.51 L132,73.98 L133.1,76.37 L134.3,78.67 L135.4,80.91 L136.6,83.07 L137.7,85.16 L138.8,87.19 L140,89.15 L141.1,91.06 L142.3,92.9 L143.4,94.7 L144.6,96.43 L145.7,98.12 L146.9,99.76 L148,101.4 L149.1,102.9 L150.3,104.4 L151.4,105.9 L152.6,107.3 L153.7,108.7 L154.9,110 L156,111.3 L157.2,112.6 L158.3,113.9 L159.5,115.1 L160.6,116.2 L161.7,117.4 L162.9,118.5 L164,119.6 L165.2,120.7 L166.3,121.7 L167.5,122.7 L168.6,123.7 L169.8,124.6 L170.9,125.5 L172.1,126.4 L173.2,127.3 L174.3,128.2 L175.5,129 L176.6,129.8 L177.8,130.6 L178.9,131.4 L180.1,132.1 L181.2,132.9 L182.4,133.6 L183.5,134.3 L184.6,135 L185.8,135.6 L186.9,136.2 L188.1,136.9 L189.2,137.5 L190.4,138.1 L191.5,138.6 L192.7,139.2 L193.8,139.7 L195,140.2 L196.1,140.7 L197.2,141.2 L198.4,141.7 L199.5,142.2 L200.7,142.6 L201.8,143 L203,143.5 L204.1,143.9 L205.3,144.2 L206.4,144.6 L207.6,145 L208.7,145.3 L209.8,145.7 L211,146 L212.1,146.3 L213.3,146.6 L214.4,146.9 L215.6,147.2 L216.7,147.4 L217.9,147.7 L219,147.9 L220.1,148.1 L221.3,148.3 L222.4,148.5 L223.6,148.7 L224.7,148.9 L225.9,149.1 L227,149.2 L228.2,149.3 L229.3,149.5 L230.5,149.6 L231.6,149.7 L232.7,149.8 L233.9,149.9 L235,150 L236.2,150 L237.3,150.1 L238.5,150.1 L239.6,150.1 L240.8,150.1 L241.9,150.2 L243.1,150.1 L244.2,150.1 L245.3,150.1 L246.5,150.1 L247.6,150 L248.8,150 L249.9,149.9 L251.1,149.8 L252.2,149.7 L253.4,149.6 L254.5,149.5 L255.6,149.3 L256.8,149.2 L257.9,149.1 L259.1,148.9 L260.2,148.7 L261.4,148.5 L262.5,148.3 L263.7,148.1 L264.8,147.9 L266,147.7 L267.1,147.4 L268.2,147.2 L269.4,146.9 L270.5,146.6 L271.7,146.3 L272.8,146 L274,145.7 L275.1,145.3 L276.3,145 L277.4,144.6 L278.6,144.2 L279.7,143.9 L280.8,143.5 L282,143 L283.1,142.6 L284.3,142.2 L285.4,141.7 L286.6,141.2 L287.7,140.7 L288.9,140.2 L290,139.7 L291.1,139.2 L292.3,138.6 L293.4,138.1 L294.6,137.5 L295.7,136.9 L296.9,136.2 L298,135.6 L299.2,135 L300.3,134.3 L301.5,133.6 L302.6,132.9 L303.7,132.1 L304.9,131.4 L306,130.6 L307.2,129.8 L308.3,129 L309.5,128.2 L310.6,127.3 L311.8,126.4 L312.9,125.5 L314.1,124.6 L315.2,123.7 L316.3,122.7 L317.5,121.7 L318.6,120.7 L319.8,119.6 L320.9,118.5 L322.1,117.4 L323.2,116.2 L324.4,115.1 L325.5,113.9 L326.6,112.6 L327.8,111.3 L328.9,110 L330.1,108.7 L331.2,107.3 L332.4,105.9 L333.5,104.4 L334.7,102.9 L335.8,101.4 L337,99.76 L338.1,98.12 L339.2,96.43 L340.4,94.7 L341.5,92.9 L342.7,91.06 L343.8,89.15 L345,87.19 L346.1,85.16 L347.3,83.07 L348.4,80.91 L349.6,78.67 L350.7,76.37 L351.8,73.98 L353,71.51 L354.1,68.95 L355.3,66.3 L356.4,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="419.9" y="58" width="154.1" height="126"/><rect x="419.9" y="58" width="154.1" height="126"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="86" x2="447.9" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="114" x2="447.9" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="142" x2="447.9" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="170" x2="447.9" y2="170"/></g>
-</g>
-<g id="legendText">
-<text x="454.9" y="86" font-size="14" font-family="Verdana">n=0 &#x3C6;=1.25</text>
-<text x="454.9" y="114" font-size="14" font-family="Verdana">n=0.5 &#x3C6;=1.25</text>
-<text x="454.9" y="142" font-size="14" font-family="Verdana">n=0.25 &#x3C6;=&#x3C0;/2</text>
-<text x="454.9" y="170" font-size="14" font-family="Verdana">n=0.75 &#x3C6;=&#x3C0;/2</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Of the Third Kind</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ellint_carlson.svg b/libs/math/doc/sf_and_dist/graphs/ellint_carlson.svg
deleted file mode 100644
index 25b0797a56..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/ellint_carlson.svg
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="48.8" y="59" width="434.5" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="47.8" y="58" width="436.5" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="47.8" y1="58" x2="47.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="47.8" y1="341" x2="484.3" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M45.8,337.5 L47.8,337.5 M45.8,330.5 L47.8,330.5 M45.8,323.5 L47.8,323.5 M45.8,309.4 L47.8,309.4 M45.8,302.4 L47.8,302.4 M45.8,295.4 L47.8,295.4 M45.8,281.3 L47.8,281.3 M45.8,274.3 L47.8,274.3 M45.8,267.3 L47.8,267.3 M45.8,253.2 L47.8,253.2 M45.8,246.2 L47.8,246.2 M45.8,239.2 L47.8,239.2 M45.8,225.1 L47.8,225.1 M45.8,218.1 L47.8,218.1 M45.8,211.1 L47.8,211.1 M45.8,197 L47.8,197 M45.8,190 L47.8,190 M45.8,183 L47.8,183 M45.8,168.9 L47.8,168.9 M45.8,161.9 L47.8,161.9 M45.8,154.9 L47.8,154.9 M45.8,140.8 L47.8,140.8 M45.8,133.8 L47.8,133.8 M45.8,126.8 L47.8,126.8 M45.8,112.7 L47.8,112.7 M45.8,105.7 L47.8,105.7 M45.8,98.67 L47.8,98.67 M45.8,84.62 L47.8,84.62 M45.8,77.6 L47.8,77.6 M45.8,70.57 L47.8,70.57 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.54,341 L73.54,343 M100.4,341 L100.4,343 M127.2,341 L127.2,343 M180.8,341 L180.8,343 M207.6,341 L207.6,343 M234.4,341 L234.4,343 M288.1,341 L288.1,343 M314.9,341 L314.9,343 M341.7,341 L341.7,343 M395.3,341 L395.3,343 M422.1,341 L422.1,343 M448.9,341 L448.9,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M42.8,316.4 L47.8,316.4 M42.8,288.3 L47.8,288.3 M42.8,260.2 L47.8,260.2 M42.8,232.1 L47.8,232.1 M42.8,204 L47.8,204 M42.8,175.9 L47.8,175.9 M42.8,147.8 L47.8,147.8 M42.8,119.7 L47.8,119.7 M42.8,91.65 L47.8,91.65 M42.8,63.55 L47.8,63.55 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M154,341 L154,346 M261.2,341 L261.2,346 M368.5,341 L368.5,346 M475.8,341 L475.8,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="154" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="261.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="368.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="475.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text></g>
-<g id="yTicksValues">
-<text x="36.8" y="318.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="36.8" y="290.7" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="36.8" y="262.6" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="36.8" y="234.5" text-anchor="end" font-size="12" font-family="Verdana">4</text>
-<text x="36.8" y="206.4" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="36.8" y="178.3" text-anchor="end" font-size="12" font-family="Verdana">6</text>
-<text x="36.8" y="150.2" text-anchor="end" font-size="12" font-family="Verdana">7</text>
-<text x="36.8" y="122.1" text-anchor="end" font-size="12" font-family="Verdana">8</text>
-<text x="36.8" y="94.05" text-anchor="end" font-size="12" font-family="Verdana">9</text>
-<text x="36.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">10</text></g>
-<g id="yLabel">
-<text x="14.9" y="199.5" text-anchor="middle" transform = "rotate(-90 14.9 199.5 )" font-size="14" font-family="Verdana"></text></g>
-<g id="xLabel">
-<text x="266.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M69.84,63.55 L71.87,96.88 L73.89,124.1 L75.92,146.7 L77.95,165.7 L79.98,181.8 L82.01,195.6 L84.04,207.6 L86.07,218.1 L88.1,227.3 L90.13,235.4 L92.16,242.6 L94.19,249.1 L96.22,254.9 L98.25,260.1 L100.3,264.9 L102.3,269.2 L104.3,273.2 L106.4,276.8 L108.4,280.1 L110.4,283.1 L112.5,286 L114.5,288.6 L116.5,291 L118.5,293.3 L120.6,295.4 L122.6,297.3 L124.6,299.1 L126.7,300.9 L128.7,302.5 L130.7,304 L132.8,305.4 L134.8,306.8 L136.8,308 L138.8,309.2 L140.9,310.4 L142.9,311.4 L144.9,312.5 L147,313.4 L149,314.4 L151,315.2 L153.1,316.1 L155.1,316.9 L157.1,317.6 L159.1,318.3 L161.2,319 L163.2,319.7 L165.2,320.3 L167.3,320.9 L169.3,321.5 L171.3,322.1 L173.3,322.6 L175.4,323.1 L177.4,323.6 L179.4,324.1 L181.5,324.6 L183.5,325 L185.5,325.4 L187.6,325.9 L189.6,326.3 L191.6,326.6 L193.6,327 L195.7,327.4 L197.7,327.7 L199.7,328 L201.8,328.4 L203.8,328.7 L205.8,329 L207.9,329.3 L209.9,329.6 L211.9,329.8 L213.9,330.1 L216,330.4 L218,330.6 L220,330.9 L222.1,331.1 L224.1,331.3 L226.1,331.5 L228.1,331.8 L230.2,332 L232.2,332.2 L234.2,332.4 L236.3,332.6 L238.3,332.8 L240.3,332.9 L242.4,333.1 L244.4,333.3 L246.4,333.5 L248.4,333.6 L250.5,333.8 L252.5,334 L254.5,334.1 L256.6,334.3 L258.6,334.4 L260.6,334.6 L262.7,334.7 L264.7,334.8 L266.7,335 L268.7,335.1 L270.8,335.2 L272.8,335.4 L274.8,335.5 L276.9,335.6 L278.9,335.7 L280.9,335.8 L282.9,335.9 L285,336 L287,336.2 L289,336.3 L291.1,336.4 L293.1,336.5 L295.1,336.6 L297.2,336.7 L299.2,336.8 L301.2,336.8 L303.2,336.9 L305.3,337 L307.3,337.1 L309.3,337.2 L311.4,337.3 L313.4,337.4 L315.4,337.5 L317.4,337.5 L319.5,337.6 L321.5,337.7 L323.5,337.8 L325.6,337.8 L327.6,337.9 L329.6,338 L331.7,338 L333.7,338.1 L335.7,338.2 L337.7,338.3 L339.8,338.3 L341.8,338.4 L343.8,338.4 L345.9,338.5 L347.9,338.6 L349.9,338.6 L352,338.7 L354,338.7 L356,338.8 L358,338.9 L360.1,338.9 L362.1,339 L364.1,339 L366.2,339.1 L368.2,339.1 L370.2,339.2 L372.2,339.2 L374.3,339.3 L376.3,339.3 L378.3,339.4 L380.4,339.4 L382.4,339.5 L384.4,339.5 L386.5,339.6 L388.5,339.6 L390.5,339.6 L392.5,339.7 L394.6,339.7 L396.6,339.8 L398.6,339.8 L400.7,339.8 L402.7,339.9 L404.7,339.9 L406.8,340 L408.8,340 L410.8,340 L412.8,340.1 L414.9,340.1 L416.9,340.2 L418.9,340.2 L421,340.2 L423,340.3 L425,340.3 L427,340.3 L429.1,340.4 L431.1,340.4 L433.1,340.4 L435.2,340.5 L437.2,340.5 L439.2,340.5 L441.3,340.6 L443.3,340.6 L445.3,340.6 L447.3,340.6 L449.4,340.7 L451.4,340.7 L453.4,340.7 L455.5,340.8 L457.5,340.8 L459.5,340.8 L461.6,340.8 L463.6,340.9 L465.6,340.9 L467.6,340.9 L469.7,340.9 L471.7,341 L473.7,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M47.8,63.55 L49.94,182.2 L52.08,218.7 L54.22,238.2 L56.36,250.8 L58.5,259.7 L60.64,266.5 L62.78,271.9 L64.92,276.3 L67.06,280 L69.2,283.1 L71.34,285.9 L73.48,288.3 L75.62,290.4 L77.76,292.3 L79.9,294 L82.04,295.6 L84.18,297 L86.32,298.3 L88.46,299.5 L90.6,300.6 L92.74,301.6 L94.88,302.6 L97.02,303.5 L99.16,304.3 L101.3,305.1 L103.4,305.9 L105.6,306.6 L107.7,307.3 L109.9,307.9 L112,308.5 L114.1,309.1 L116.3,309.6 L118.4,310.2 L120.6,310.7 L122.7,311.1 L124.8,311.6 L127,312.1 L129.1,312.5 L131.3,312.9 L133.4,313.3 L135.5,313.7 L137.7,314 L139.8,314.4 L142,314.7 L144.1,315 L146.2,315.4 L148.4,315.7 L150.5,316 L152.7,316.3 L154.8,316.5 L156.9,316.8 L159.1,317.1 L161.2,317.3 L163.3,317.6 L165.5,317.8 L167.6,318.1 L169.8,318.3 L171.9,318.5 L174,318.7 L176.2,319 L178.3,319.2 L180.5,319.4 L182.6,319.6 L184.7,319.8 L186.9,320 L189,320.1 L191.2,320.3 L193.3,320.5 L195.4,320.7 L197.6,320.8 L199.7,321 L201.9,321.2 L204,321.3 L206.1,321.5 L208.3,321.6 L210.4,321.8 L212.6,321.9 L214.7,322.1 L216.8,322.2 L219,322.4 L221.1,322.5 L223.3,322.6 L225.4,322.8 L227.5,322.9 L229.7,323 L231.8,323.1 L234,323.3 L236.1,323.4 L238.2,323.5 L240.4,323.6 L242.5,323.7 L244.7,323.9 L246.8,324 L248.9,324.1 L251.1,324.2 L253.2,324.3 L255.4,324.4 L257.5,324.5 L259.6,324.6 L261.8,324.7 L263.9,324.8 L266.1,324.9 L268.2,325 L270.3,325.1 L272.5,325.2 L274.6,325.3 L276.8,325.4 L278.9,325.4 L281,325.5 L283.2,325.6 L285.3,325.7 L287.5,325.8 L289.6,325.9 L291.7,325.9 L293.9,326 L296,326.1 L298.2,326.2 L300.3,326.3 L302.4,326.3 L304.6,326.4 L306.7,326.5 L308.9,326.6 L311,326.6 L313.1,326.7 L315.3,326.8 L317.4,326.8 L319.6,326.9 L321.7,327 L323.8,327.1 L326,327.1 L328.1,327.2 L330.3,327.3 L332.4,327.3 L334.5,327.4 L336.7,327.4 L338.8,327.5 L341,327.6 L343.1,327.6 L345.2,327.7 L347.4,327.8 L349.5,327.8 L351.7,327.9 L353.8,327.9 L355.9,328 L358.1,328 L360.2,328.1 L362.4,328.2 L364.5,328.2 L366.6,328.3 L368.8,328.3 L370.9,328.4 L373.1,328.4 L375.2,328.5 L377.3,328.5 L379.5,328.6 L381.6,328.6 L383.7,328.7 L385.9,328.7 L388,328.8 L390.2,328.8 L392.3,328.9 L394.4,328.9 L396.6,329 L398.7,329 L400.9,329.1 L403,329.1 L405.1,329.2 L407.3,329.2 L409.4,329.3 L411.6,329.3 L413.7,329.3 L415.8,329.4 L418,329.4 L420.1,329.5 L422.3,329.5 L424.4,329.6 L426.5,329.6 L428.7,329.6 L430.8,329.7 L433,329.7 L435.1,329.8 L437.2,329.8 L439.4,329.9 L441.5,329.9 L443.7,329.9 L445.8,330 L447.9,330 L450.1,330 L452.2,330.1 L454.4,330.1 L456.5,330.2 L458.6,330.2 L460.8,330.2 L462.9,330.3 L465.1,330.3 L467.2,330.3 L469.3,330.4 L471.5,330.4 L473.6,330.5 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="498.3" y="58" width="75.68" height="70"/><rect x="498.3" y="58" width="75.68" height="70"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="86" x2="526.3" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="512.3" y1="114" x2="526.3" y2="114"/></g>
-</g>
-<g id="legendText">
-<text x="533.3" y="86" font-size="14" font-family="Verdana">RJ</text>
-<text x="533.3" y="114" font-size="14" font-family="Verdana">RF</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Elliptic Integrals</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erf.svg b/libs/math/doc/sf_and_dist/graphs/erf.svg
deleted file mode 100644
index 46f0057efb..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/erf.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="328.6" y1="58" x2="328.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="574" y2="202.3"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,184.9 L92.6,184.9 M90.6,167.6 L92.6,167.6 M90.6,150.3 L92.6,150.3 M90.6,115.6 L92.6,115.6 M90.6,98.23 L92.6,98.23 M90.6,80.89 L92.6,80.89 M90.6,202.3 L92.6,202.3 M90.6,219.6 L92.6,219.6 M90.6,237 L92.6,237 M90.6,254.3 L92.6,254.3 M90.6,271.6 L92.6,271.6 M90.6,289 L92.6,289 M90.6,306.3 L92.6,306.3 M90.6,323.7 L92.6,323.7 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M348.2,341 L348.2,343 M367.9,341 L367.9,343 M387.6,341 L387.6,343 M426.9,341 L426.9,343 M446.6,341 L446.6,343 M466.2,341 L466.2,343 M505.6,341 L505.6,343 M525.2,341 L525.2,343 M544.9,341 L544.9,343 M308.9,341 L308.9,343 M289.3,341 L289.3,343 M269.6,341 L269.6,343 M230.3,341 L230.3,343 M210.6,341 L210.6,343 M190.9,341 L190.9,343 M151.6,341 L151.6,343 M131.9,341 L131.9,343 M112.3,341 L112.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,132.9 L92.6,132.9 M87.6,63.55 L92.6,63.55 M87.6,202.3 L92.6,202.3 M87.6,271.6 L92.6,271.6 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M328.6,341 L328.6,346 M407.2,341 L407.2,346 M485.9,341 L485.9,346 M564.6,341 L564.6,346 M328.6,341 L328.6,346 M249.9,341 L249.9,346 M171.3,341 L171.3,346 M92.6,341 L92.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="407.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="485.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="249.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="274" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erf(z)</text></g>
-<g id="xLabel">
-<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.96,341 L97.32,341 L99.68,341 L102,341 L104.4,341 L106.8,341 L109.1,341 L111.5,341 L113.8,341 L116.2,341 L118.6,341 L120.9,341 L123.3,341 L125.6,341 L128,341 L130.4,341 L132.7,340.9 L135.1,340.9 L137.4,340.9 L139.8,340.9 L142.2,340.9 L144.5,340.9 L146.9,340.9 L149.2,340.8 L151.6,340.8 L154,340.8 L156.3,340.7 L158.7,340.7 L161,340.6 L163.4,340.6 L165.8,340.5 L168.1,340.5 L170.5,340.4 L172.8,340.3 L175.2,340.2 L177.6,340.1 L179.9,340 L182.3,339.8 L184.6,339.7 L187,339.5 L189.4,339.3 L191.7,339.1 L194.1,338.8 L196.4,338.6 L198.8,338.3 L201.2,338 L203.5,337.6 L205.9,337.2 L208.2,336.8 L210.6,336.3 L212.9,335.8 L215.3,335.2 L217.7,334.6 L220,333.9 L222.4,333.2 L224.7,332.4 L227.1,331.6 L229.5,330.6 L231.8,329.6 L234.2,328.6 L236.5,327.4 L238.9,326.2 L241.3,324.8 L243.6,323.4 L246,321.9 L248.3,320.3 L250.7,318.6 L253.1,316.8 L255.4,314.9 L257.8,312.8 L260.1,310.7 L262.5,308.4 L264.9,306 L267.2,303.5 L269.6,300.9 L271.9,298.2 L274.3,295.3 L276.7,292.4 L279,289.3 L281.4,286 L283.7,282.7 L286.1,279.3 L288.5,275.7 L290.8,272 L293.2,268.2 L295.5,264.4 L297.9,260.4 L300.3,256.3 L302.6,252.1 L305,247.9 L307.3,243.5 L309.7,239.1 L312.1,234.7 L314.4,230.2 L316.8,225.6 L319.1,221 L321.5,216.3 L323.9,211.7 L326.2,207 L328.6,202.3 L330.9,197.6 L333.3,192.9 L335.7,188.2 L338,183.6 L340.4,179 L342.7,174.4 L345.1,169.9 L347.5,165.4 L349.8,161 L352.2,156.7 L354.5,152.4 L356.9,148.3 L359.3,144.2 L361.6,140.2 L364,136.3 L366.3,132.5 L368.7,128.9 L371.1,125.3 L373.4,121.8 L375.8,118.5 L378.1,115.3 L380.5,112.2 L382.9,109.2 L385.2,106.4 L387.6,103.6 L389.9,101 L392.3,98.51 L394.7,96.13 L397,93.87 L399.4,91.72 L401.7,89.69 L404.1,87.76 L406.5,85.95 L408.8,84.24 L411.2,82.63 L413.5,81.12 L415.9,79.7 L418.3,78.38 L420.6,77.14 L423,75.99 L425.3,74.91 L427.7,73.92 L430.1,72.99 L432.4,72.14 L434.8,71.35 L437.1,70.62 L439.5,69.95 L441.9,69.33 L444.2,68.77 L446.6,68.25 L448.9,67.77 L451.3,67.34 L453.6,66.95 L456,66.59 L458.4,66.27 L460.7,65.97 L463.1,65.71 L465.4,65.47 L467.8,65.25 L470.2,65.06 L472.5,64.89 L474.9,64.73 L477.2,64.59 L479.6,64.46 L482,64.35 L484.3,64.25 L486.7,64.17 L489,64.09 L491.4,64.02 L493.8,63.96 L496.1,63.91 L498.5,63.86 L500.8,63.82 L503.2,63.78 L505.6,63.75 L507.9,63.72 L510.3,63.7 L512.6,63.68 L515,63.66 L517.4,63.64 L519.7,63.63 L522.1,63.62 L524.4,63.61 L526.8,63.6 L529.2,63.59 L531.5,63.58 L533.9,63.58 L536.2,63.57 L538.6,63.57 L541,63.56 L543.3,63.56 L545.7,63.56 L548,63.56 L550.4,63.56 L552.8,63.55 L555.1,63.55 L557.5,63.55 L559.8,63.55 L562.2,63.55 L564.6,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erf</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erf_inv.svg b/libs/math/doc/sf_and_dist/graphs/erf_inv.svg
deleted file mode 100644
index 45584c6be5..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/erf_inv.svg
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="168.3" x2="574" y2="168.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,154 L75.8,154 M73.8,139.6 L75.8,139.6 M73.8,125.2 L75.8,125.2 M73.8,96.4 L75.8,96.4 M73.8,82.01 L75.8,82.01 M73.8,67.63 L75.8,67.63 M73.8,168.3 L75.8,168.3 M73.8,182.7 L75.8,182.7 M73.8,197.1 L75.8,197.1 M73.8,211.5 L75.8,211.5 M73.8,225.9 L75.8,225.9 M73.8,240.3 L75.8,240.3 M73.8,254.7 L75.8,254.7 M73.8,269.1 L75.8,269.1 M73.8,283.4 L75.8,283.4 M73.8,297.8 L75.8,297.8 M73.8,312.2 L75.8,312.2 M73.8,326.6 L75.8,326.6 M73.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 M289.5,341 L289.5,343 M259,341 L259,343 M228.4,341 L228.4,343 M167.4,341 L167.4,343 M136.8,341 L136.8,343 M106.3,341 L106.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,168.3 L75.8,168.3 M70.8,110.8 L75.8,110.8 M70.8,168.3 L75.8,168.3 M70.8,225.9 L75.8,225.9 M70.8,283.4 L75.8,283.4 M70.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 M320,341 L320,346 M197.9,341 L197.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="170.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="113.2" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="64.8" y="170.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="228.3" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
-<text x="64.8" y="285.8" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
-<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-3</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erf_inv(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L78.24,273.1 L80.68,263 L83.13,256.6 L85.57,251.9 L88.01,248.1 L90.45,244.9 L92.9,242.1 L95.34,239.6 L97.78,237.3 L100.2,235.3 L102.7,233.4 L105.1,231.6 L107.5,230 L110,228.4 L112.4,226.9 L114.9,225.5 L117.3,224.2 L119.8,222.9 L122.2,221.7 L124.6,220.5 L127.1,219.4 L129.5,218.3 L132,217.2 L134.4,216.2 L136.9,215.2 L139.3,214.2 L141.7,213.2 L144.2,212.3 L146.6,211.4 L149.1,210.5 L151.5,209.7 L153.9,208.8 L156.4,208 L158.8,207.2 L161.3,206.4 L163.7,205.6 L166.2,204.8 L168.6,204.1 L171,203.3 L173.5,202.6 L175.9,201.9 L178.4,201.2 L180.8,200.5 L183.3,199.8 L185.7,199.1 L188.1,198.4 L190.6,197.7 L193,197.1 L195.5,196.4 L197.9,195.8 L200.4,195.2 L202.8,194.5 L205.2,193.9 L207.7,193.3 L210.1,192.7 L212.6,192.1 L215,191.5 L217.4,190.9 L219.9,190.3 L222.3,189.7 L224.8,189.1 L227.2,188.5 L229.7,187.9 L232.1,187.4 L234.5,186.8 L237,186.2 L239.4,185.7 L241.9,185.1 L244.3,184.6 L246.8,184 L249.2,183.5 L251.6,182.9 L254.1,182.4 L256.5,181.8 L259,181.3 L261.4,180.8 L263.8,180.2 L266.3,179.7 L268.7,179.2 L271.2,178.7 L273.6,178.1 L276.1,177.6 L278.5,177.1 L280.9,176.6 L283.4,176 L285.8,175.5 L288.3,175 L290.7,174.5 L293.2,174 L295.6,173.5 L298,172.9 L300.5,172.4 L302.9,171.9 L305.4,171.4 L307.8,170.9 L310.2,170.4 L312.7,169.9 L315.1,169.4 L317.6,168.9 L320,168.3 L322.5,167.8 L324.9,167.3 L327.3,166.8 L329.8,166.3 L332.2,165.8 L334.7,165.3 L337.1,164.8 L339.6,164.3 L342,163.7 L344.4,163.2 L346.9,162.7 L349.3,162.2 L351.8,161.7 L354.2,161.2 L356.6,160.6 L359.1,160.1 L361.5,159.6 L364,159.1 L366.4,158.6 L368.9,158 L371.3,157.5 L373.7,157 L376.2,156.4 L378.6,155.9 L381.1,155.4 L383.5,154.8 L386,154.3 L388.4,153.8 L390.8,153.2 L393.3,152.7 L395.7,152.1 L398.2,151.6 L400.6,151 L403,150.4 L405.5,149.9 L407.9,149.3 L410.4,148.7 L412.8,148.2 L415.3,147.6 L417.7,147 L420.1,146.4 L422.6,145.8 L425,145.2 L427.5,144.6 L429.9,144 L432.4,143.4 L434.8,142.8 L437.2,142.2 L439.7,141.5 L442.1,140.9 L444.6,140.3 L447,139.6 L449.5,138.9 L451.9,138.3 L454.3,137.6 L456.8,136.9 L459.2,136.2 L461.7,135.5 L464.1,134.8 L466.5,134.1 L469,133.4 L471.4,132.6 L473.9,131.9 L476.3,131.1 L478.8,130.3 L481.2,129.5 L483.6,128.7 L486.1,127.9 L488.5,127 L491,126.2 L493.4,125.3 L495.9,124.4 L498.3,123.5 L500.7,122.5 L503.2,121.5 L505.6,120.5 L508.1,119.5 L510.5,118.4 L512.9,117.3 L515.4,116.2 L517.8,115 L520.3,113.8 L522.7,112.5 L525.2,111.2 L527.6,109.8 L530,108.3 L532.5,106.7 L534.9,105.1 L537.4,103.3 L539.8,101.4 L542.3,99.35 L544.7,97.1 L547.1,94.61 L549.6,91.81 L552,88.59 L554.5,84.77 L556.9,80.04 L559.3,73.69 L561.8,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erf_inv</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erfc.svg b/libs/math/doc/sf_and_dist/graphs/erfc.svg
deleted file mode 100644
index 876367f89f..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/erfc.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="324.3" y1="58" x2="324.3" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,323.7 L84.2,323.7 M82.2,306.3 L84.2,306.3 M82.2,289 L84.2,289 M82.2,254.3 L84.2,254.3 M82.2,237 L84.2,237 M82.2,219.6 L84.2,219.6 M82.2,184.9 L84.2,184.9 M82.2,167.6 L84.2,167.6 M82.2,150.3 L84.2,150.3 M82.2,115.6 L84.2,115.6 M82.2,98.23 L84.2,98.23 M82.2,80.89 L84.2,80.89 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M344.3,341 L344.3,343 M364.3,341 L364.3,343 M384.3,341 L384.3,343 M424.3,341 L424.3,343 M444.3,341 L444.3,343 M464.4,341 L464.4,343 M504.4,341 L504.4,343 M524.4,341 L524.4,343 M544.4,341 L544.4,343 M304.3,341 L304.3,343 M284.3,341 L284.3,343 M264.3,341 L264.3,343 M224.3,341 L224.3,343 M204.2,341 L204.2,343 M184.2,341 L184.2,343 M144.2,341 L144.2,343 M124.2,341 L124.2,343 M104.2,341 L104.2,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,271.6 L84.2,271.6 M79.2,202.3 L84.2,202.3 M79.2,132.9 L84.2,132.9 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M324.3,341 L324.3,346 M404.3,341 L404.3,346 M484.4,341 L484.4,346 M564.4,341 L564.4,346 M324.3,341 L324.3,346 M244.3,341 L244.3,346 M164.2,341 L164.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="404.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="484.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="244.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="164.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="274" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">2</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erfc(z)</text></g>
-<g id="xLabel">
-<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,63.55 L86.6,63.55 L89,63.55 L91.4,63.55 L93.8,63.55 L96.2,63.55 L98.61,63.56 L101,63.56 L103.4,63.56 L105.8,63.56 L108.2,63.56 L110.6,63.57 L113,63.57 L115.4,63.58 L117.8,63.58 L120.2,63.59 L122.6,63.6 L125,63.61 L127.4,63.62 L129.8,63.63 L132.2,63.64 L134.6,63.66 L137,63.68 L139.4,63.7 L141.8,63.72 L144.2,63.75 L146.6,63.78 L149,63.82 L151.4,63.86 L153.8,63.91 L156.2,63.96 L158.6,64.02 L161,64.09 L163.4,64.17 L165.8,64.25 L168.2,64.35 L170.6,64.46 L173,64.59 L175.4,64.73 L177.8,64.89 L180.2,65.06 L182.6,65.25 L185,65.47 L187.4,65.71 L189.8,65.97 L192.2,66.27 L194.6,66.59 L197,66.95 L199.4,67.34 L201.8,67.77 L204.2,68.25 L206.6,68.77 L209.1,69.33 L211.5,69.95 L213.9,70.62 L216.3,71.35 L218.7,72.14 L221.1,72.99 L223.5,73.92 L225.9,74.91 L228.3,75.99 L230.7,77.14 L233.1,78.38 L235.5,79.7 L237.9,81.12 L240.3,82.63 L242.7,84.24 L245.1,85.95 L247.5,87.76 L249.9,89.69 L252.3,91.72 L254.7,93.87 L257.1,96.13 L259.5,98.51 L261.9,101 L264.3,103.6 L266.7,106.4 L269.1,109.2 L271.5,112.2 L273.9,115.3 L276.3,118.5 L278.7,121.8 L281.1,125.3 L283.5,128.9 L285.9,132.5 L288.3,136.3 L290.7,140.2 L293.1,144.2 L295.5,148.3 L297.9,152.4 L300.3,156.7 L302.7,161 L305.1,165.4 L307.5,169.9 L309.9,174.4 L312.3,179 L314.7,183.6 L317.1,188.2 L319.5,192.9 L321.9,197.6 L324.3,202.3 L326.7,207 L329.1,211.7 L331.5,216.3 L333.9,221 L336.3,225.6 L338.7,230.2 L341.1,234.7 L343.5,239.1 L345.9,243.5 L348.3,247.9 L350.7,252.1 L353.1,256.3 L355.5,260.4 L357.9,264.4 L360.3,268.2 L362.7,272 L365.1,275.7 L367.5,279.3 L369.9,282.7 L372.3,286 L374.7,289.3 L377.1,292.4 L379.5,295.3 L381.9,298.2 L384.3,300.9 L386.7,303.5 L389.1,306 L391.5,308.4 L393.9,310.7 L396.3,312.8 L398.7,314.9 L401.1,316.8 L403.5,318.6 L405.9,320.3 L408.3,321.9 L410.7,323.4 L413.1,324.8 L415.5,326.2 L417.9,327.4 L420.3,328.6 L422.7,329.6 L425.1,330.6 L427.5,331.6 L429.9,332.4 L432.3,333.2 L434.7,333.9 L437.1,334.6 L439.5,335.2 L441.9,335.8 L444.3,336.3 L446.7,336.8 L449.1,337.2 L451.5,337.6 L454,338 L456.4,338.3 L458.8,338.6 L461.2,338.8 L463.6,339.1 L466,339.3 L468.4,339.5 L470.8,339.7 L473.2,339.8 L475.6,340 L478,340.1 L480.4,340.2 L482.8,340.3 L485.2,340.4 L487.6,340.5 L490,340.5 L492.4,340.6 L494.8,340.6 L497.2,340.7 L499.6,340.7 L502,340.8 L504.4,340.8 L506.8,340.8 L509.2,340.9 L511.6,340.9 L514,340.9 L516.4,340.9 L518.8,340.9 L521.2,340.9 L523.6,340.9 L526,341 L528.4,341 L530.8,341 L533.2,341 L535.6,341 L538,341 L540.4,341 L542.8,341 L545.2,341 L547.6,341 L550,341 L552.4,341 L554.8,341 L557.2,341 L559.6,341 L562,341 L564.4,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erfc</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/erfc_inv.svg b/libs/math/doc/sf_and_dist/graphs/erfc_inv.svg
deleted file mode 100644
index 53c4c4a998..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/erfc_inv.svg
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="202.3" x2="574" y2="202.3"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,190.7 L75.8,190.7 M73.8,179.2 L75.8,179.2 M73.8,167.6 L75.8,167.6 M73.8,144.5 L75.8,144.5 M73.8,132.9 L75.8,132.9 M73.8,121.4 L75.8,121.4 M73.8,98.23 L75.8,98.23 M73.8,86.67 L75.8,86.67 M73.8,75.11 L75.8,75.11 M73.8,202.3 L75.8,202.3 M73.8,213.8 L75.8,213.8 M73.8,225.4 L75.8,225.4 M73.8,237 L75.8,237 M73.8,248.5 L75.8,248.5 M73.8,260.1 L75.8,260.1 M73.8,271.6 L75.8,271.6 M73.8,283.2 L75.8,283.2 M73.8,294.8 L75.8,294.8 M73.8,306.3 L75.8,306.3 M73.8,317.9 L75.8,317.9 M73.8,329.4 L75.8,329.4 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.3,341 L106.3,343 M136.8,341 L136.8,343 M167.4,341 L167.4,343 M228.4,341 L228.4,343 M259,341 L259,343 M289.5,341 L289.5,343 M350.5,341 L350.5,343 M381.1,341 L381.1,343 M411.6,341 L411.6,343 M472.7,341 L472.7,343 M503.2,341 L503.2,343 M533.7,341 L533.7,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,202.3 L75.8,202.3 M70.8,156 L75.8,156 M70.8,109.8 L75.8,109.8 M70.8,63.55 L75.8,63.55 M70.8,202.3 L75.8,202.3 M70.8,248.5 L75.8,248.5 M70.8,294.8 L75.8,294.8 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M75.79,341 L75.79,346 M197.9,341 L197.9,346 M320,341 L320,346 M442.1,341 L442.1,346 M564.2,341 L564.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="75.79" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="197.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="442.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
-<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="158.4" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="64.8" y="112.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="64.8" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="250.9" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
-<text x="64.8" y="297.2" text-anchor="end" font-size="12" font-family="Verdana">-2</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">erfc_inv(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L78.24,118.1 L80.68,126.2 L83.13,131.3 L85.57,135.1 L88.01,138.2 L90.45,140.8 L92.9,143 L95.34,145 L97.78,146.8 L100.2,148.5 L102.7,150 L105.1,151.4 L107.5,152.8 L110,154 L112.4,155.2 L114.9,156.3 L117.3,157.4 L119.8,158.4 L122.2,159.4 L124.6,160.4 L127.1,161.3 L129.5,162.2 L132,163 L134.4,163.9 L136.9,164.7 L139.3,165.4 L141.7,166.2 L144.2,167 L146.6,167.7 L149.1,168.4 L151.5,169.1 L153.9,169.8 L156.4,170.4 L158.8,171.1 L161.3,171.7 L163.7,172.3 L166.2,173 L168.6,173.6 L171,174.2 L173.5,174.8 L175.9,175.3 L178.4,175.9 L180.8,176.5 L183.3,177 L185.7,177.6 L188.1,178.1 L190.6,178.7 L193,179.2 L195.5,179.7 L197.9,180.2 L200.4,180.7 L202.8,181.2 L205.2,181.7 L207.7,182.2 L210.1,182.7 L212.6,183.2 L215,183.7 L217.4,184.2 L219.9,184.7 L222.3,185.1 L224.8,185.6 L227.2,186.1 L229.7,186.5 L232.1,187 L234.5,187.4 L237,187.9 L239.4,188.3 L241.9,188.8 L244.3,189.2 L246.8,189.7 L249.2,190.1 L251.6,190.6 L254.1,191 L256.5,191.4 L259,191.9 L261.4,192.3 L263.8,192.7 L266.3,193.1 L268.7,193.6 L271.2,194 L273.6,194.4 L276.1,194.8 L278.5,195.3 L280.9,195.7 L283.4,196.1 L285.8,196.5 L288.3,196.9 L290.7,197.3 L293.2,197.8 L295.6,198.2 L298,198.6 L300.5,199 L302.9,199.4 L305.4,199.8 L307.8,200.2 L310.2,200.6 L312.7,201 L315.1,201.5 L317.6,201.9 L320,202.3 L322.5,202.7 L324.9,203.1 L327.3,203.5 L329.8,203.9 L332.2,204.3 L334.7,204.7 L337.1,205.1 L339.6,205.6 L342,206 L344.4,206.4 L346.9,206.8 L349.3,207.2 L351.8,207.6 L354.2,208 L356.6,208.5 L359.1,208.9 L361.5,209.3 L364,209.7 L366.4,210.1 L368.9,210.6 L371.3,211 L373.7,211.4 L376.2,211.8 L378.6,212.3 L381.1,212.7 L383.5,213.1 L386,213.6 L388.4,214 L390.8,214.4 L393.3,214.9 L395.7,215.3 L398.2,215.8 L400.6,216.2 L403,216.7 L405.5,217.1 L407.9,217.6 L410.4,218 L412.8,218.5 L415.3,219 L417.7,219.4 L420.1,219.9 L422.6,220.4 L425,220.8 L427.5,221.3 L429.9,221.8 L432.4,222.3 L434.8,222.8 L437.2,223.3 L439.7,223.8 L442.1,224.3 L444.6,224.8 L447,225.4 L449.4,225.9 L451.9,226.4 L454.3,227 L456.8,227.5 L459.2,228.1 L461.7,228.6 L464.1,229.2 L466.5,229.8 L469,230.4 L471.4,231 L473.9,231.6 L476.3,232.2 L478.8,232.8 L481.2,233.5 L483.6,234.1 L486.1,234.8 L488.5,235.5 L491,236.2 L493.4,236.9 L495.9,237.6 L498.3,238.3 L500.7,239.1 L503.2,239.9 L505.6,240.7 L508.1,241.5 L510.5,242.4 L512.9,243.3 L515.4,244.2 L517.8,245.1 L520.3,246.1 L522.7,247.1 L525.2,248.2 L527.6,249.3 L530,250.5 L532.5,251.8 L534.9,253.1 L537.4,254.5 L539.8,256.1 L542.3,257.7 L544.7,259.5 L547.1,261.5 L549.6,263.8 L552,266.4 L554.5,269.4 L556.9,273.2 L559.3,278.3 L561.8,286.5 L564.2,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">erfc_inv</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/expint2.svg b/libs/math/doc/sf_and_dist/graphs/expint2.svg
deleted file mode 100644
index 8c6eaef559..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/expint2.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="453" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334 L84.2,334 M82.2,326.9 L84.2,326.9 M82.2,312.6 L84.2,312.6 M82.2,305.5 L84.2,305.5 M82.2,298.4 L84.2,298.4 M82.2,284.2 L84.2,284.2 M82.2,277 L84.2,277 M82.2,269.9 L84.2,269.9 M82.2,255.7 L84.2,255.7 M82.2,248.6 L84.2,248.6 M82.2,241.5 L84.2,241.5 M82.2,227.2 L84.2,227.2 M82.2,220.1 L84.2,220.1 M82.2,213 L84.2,213 M82.2,198.8 L84.2,198.8 M82.2,191.6 L84.2,191.6 M82.2,184.5 L84.2,184.5 M82.2,170.3 L84.2,170.3 M82.2,163.2 L84.2,163.2 M82.2,156.1 L84.2,156.1 M82.2,141.8 L84.2,141.8 M82.2,134.7 L84.2,134.7 M82.2,127.6 L84.2,127.6 M82.2,113.4 L84.2,113.4 M82.2,106.2 L84.2,106.2 M82.2,99.13 L84.2,99.13 M82.2,84.9 L84.2,84.9 M82.2,77.78 L84.2,77.78 M82.2,70.67 L84.2,70.67 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.8,341 L106.8,343 M129.4,341 L129.4,343 M152,341 L152,343 M197.2,341 L197.2,343 M219.8,341 L219.8,343 M242.4,341 L242.4,343 M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,319.7 L84.2,319.7 M79.2,291.3 L84.2,291.3 M79.2,262.8 L84.2,262.8 M79.2,234.3 L84.2,234.3 M79.2,205.9 L84.2,205.9 M79.2,177.4 L84.2,177.4 M79.2,148.9 L84.2,148.9 M79.2,120.5 L84.2,120.5 M79.2,92.02 L84.2,92.02 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M174.6,341 L174.6,346 M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
-<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="322.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="293.7" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="265.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="236.7" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="208.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="179.8" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="151.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="122.9" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="94.42" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">expint(n, z)</text></g>
-<g id="xLabel">
-<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M132.1,63.55 L133.6,70.56 L135.2,77.3 L136.8,83.78 L138.3,90.01 L139.9,96.01 L141.5,101.8 L143,107.4 L144.6,112.8 L146.2,118 L147.7,123 L149.3,127.8 L150.9,132.6 L152.4,137.1 L154,141.5 L155.6,145.8 L157.1,150 L158.7,154 L160.3,157.9 L161.9,161.7 L163.4,165.4 L165,169 L166.6,172.4 L168.1,175.8 L169.7,179.1 L171.3,182.3 L172.8,185.5 L174.4,188.5 L176,191.5 L177.5,194.4 L179.1,197.2 L180.7,199.9 L182.2,202.6 L183.8,205.2 L185.4,207.8 L186.9,210.3 L188.5,212.7 L190.1,215.1 L191.7,217.4 L193.2,219.7 L194.8,221.9 L196.4,224.1 L197.9,226.2 L199.5,228.2 L201.1,230.3 L202.6,232.2 L204.2,234.2 L205.8,236.1 L207.3,237.9 L208.9,239.7 L210.5,241.5 L212,243.3 L213.6,245 L215.2,246.6 L216.7,248.3 L218.3,249.9 L219.9,251.4 L221.5,253 L223,254.5 L224.6,256 L226.2,257.4 L227.7,258.8 L229.3,260.2 L230.9,261.6 L232.4,262.9 L234,264.2 L235.6,265.5 L237.1,266.8 L238.7,268 L240.3,269.3 L241.8,270.4 L243.4,271.6 L245,272.8 L246.5,273.9 L248.1,275 L249.7,276.1 L251.3,277.2 L252.8,278.2 L254.4,279.3 L256,280.3 L257.5,281.3 L259.1,282.2 L260.7,283.2 L262.2,284.2 L263.8,285.1 L265.4,286 L266.9,286.9 L268.5,287.8 L270.1,288.6 L271.6,289.5 L273.2,290.3 L274.8,291.1 L276.3,292 L277.9,292.8 L279.5,293.5 L281.1,294.3 L282.6,295.1 L284.2,295.8 L285.8,296.5 L287.3,297.3 L288.9,298 L290.5,298.7 L292,299.4 L293.6,300 L295.2,300.7 L296.7,301.3 L298.3,302 L299.9,302.6 L301.4,303.2 L303,303.9 L304.6,304.5 L306.1,305.1 L307.7,305.6 L309.3,306.2 L310.8,306.8 L312.4,307.3 L314,307.9 L315.6,308.4 L317.1,309 L318.7,309.5 L320.3,310 L321.8,310.5 L323.4,311 L325,311.5 L326.5,312 L328.1,312.5 L329.7,312.9 L331.2,313.4 L332.8,313.9 L334.4,314.3 L335.9,314.8 L337.5,315.2 L339.1,315.6 L340.6,316 L342.2,316.5 L343.8,316.9 L345.4,317.3 L346.9,317.7 L348.5,318.1 L350.1,318.5 L351.6,318.9 L353.2,319.2 L354.8,319.6 L356.3,320 L357.9,320.3 L359.5,320.7 L361,321 L362.6,321.4 L364.2,321.7 L365.7,322.1 L367.3,322.4 L368.9,322.7 L370.4,323 L372,323.4 L373.6,323.7 L375.2,324 L376.7,324.3 L378.3,324.6 L379.9,324.9 L381.4,325.2 L383,325.5 L384.6,325.7 L386.1,326 L387.7,326.3 L389.3,326.6 L390.8,326.8 L392.4,327.1 L394,327.4 L395.5,327.6 L397.1,327.9 L398.7,328.1 L400.2,328.4 L401.8,328.6 L403.4,328.9 L405,329.1 L406.5,329.3 L408.1,329.6 L409.7,329.8 L411.2,330 L412.8,330.2 L414.4,330.5 L415.9,330.7 L417.5,330.9 L419.1,331.1 L420.6,331.3 L422.2,331.5 L423.8,331.7 L425.3,331.9 L426.9,332.1 L428.5,332.3 L430,332.5 L431.6,332.7 L433.2,332.9 L434.8,333.1 L436.3,333.2 L437.9,333.4 L439.5,333.6 L441,333.8 L442.6,334 L444.2,334.1 L445.7,334.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,63.55 L86.01,77.88 L87.82,88.28 L89.62,97.23 L91.43,105.2 L93.24,112.6 L95.05,119.3 L96.85,125.7 L98.66,131.6 L100.5,137.2 L102.3,142.5 L104.1,147.6 L105.9,152.4 L107.7,157 L109.5,161.5 L111.3,165.7 L113.1,169.8 L114.9,173.8 L116.7,177.6 L118.5,181.2 L120.4,184.8 L122.2,188.2 L124,191.5 L125.8,194.7 L127.6,197.8 L129.4,200.8 L131.2,203.8 L133,206.6 L134.8,209.4 L136.6,212.1 L138.4,214.7 L140.2,217.2 L142,219.7 L143.9,222.1 L145.7,224.5 L147.5,226.7 L149.3,229 L151.1,231.2 L152.9,233.3 L154.7,235.3 L156.5,237.4 L158.3,239.3 L160.1,241.3 L161.9,243.2 L163.7,245 L165.5,246.8 L167.4,248.6 L169.2,250.3 L171,252 L172.8,253.6 L174.6,255.2 L176.4,256.8 L178.2,258.3 L180,259.9 L181.8,261.3 L183.6,262.8 L185.4,264.2 L187.2,265.6 L189,267 L190.9,268.3 L192.7,269.6 L194.5,270.9 L196.3,272.1 L198.1,273.4 L199.9,274.6 L201.7,275.7 L203.5,276.9 L205.3,278 L207.1,279.2 L208.9,280.3 L210.7,281.3 L212.5,282.4 L214.4,283.4 L216.2,284.4 L218,285.4 L219.8,286.4 L221.6,287.4 L223.4,288.3 L225.2,289.2 L227,290.1 L228.8,291 L230.6,291.9 L232.4,292.8 L234.2,293.6 L236,294.4 L237.9,295.3 L239.7,296.1 L241.5,296.9 L243.3,297.6 L245.1,298.4 L246.9,299.1 L248.7,299.9 L250.5,300.6 L252.3,301.3 L254.1,302 L255.9,302.7 L257.7,303.4 L259.5,304 L261.3,304.7 L263.2,305.3 L265,305.9 L266.8,306.6 L268.6,307.2 L270.4,307.8 L272.2,308.4 L274,308.9 L275.8,309.5 L277.6,310.1 L279.4,310.6 L281.2,311.2 L283,311.7 L284.8,312.2 L286.7,312.7 L288.5,313.2 L290.3,313.7 L292.1,314.2 L293.9,314.7 L295.7,315.2 L297.5,315.7 L299.3,316.1 L301.1,316.6 L302.9,317 L304.7,317.5 L306.5,317.9 L308.3,318.3 L310.2,318.8 L312,319.2 L313.8,319.6 L315.6,320 L317.4,320.4 L319.2,320.8 L321,321.1 L322.8,321.5 L324.6,321.9 L326.4,322.3 L328.2,322.6 L330,323 L331.8,323.3 L333.7,323.7 L335.5,324 L337.3,324.3 L339.1,324.7 L340.9,325 L342.7,325.3 L344.5,325.6 L346.3,325.9 L348.1,326.2 L349.9,326.5 L351.7,326.8 L353.5,327.1 L355.3,327.4 L357.2,327.7 L359,328 L360.8,328.2 L362.6,328.5 L364.4,328.8 L366.2,329 L368,329.3 L369.8,329.5 L371.6,329.8 L373.4,330 L375.2,330.3 L377,330.5 L378.8,330.8 L380.7,331 L382.5,331.2 L384.3,331.5 L386.1,331.7 L387.9,331.9 L389.7,332.1 L391.5,332.3 L393.3,332.5 L395.1,332.8 L396.9,333 L398.7,333.2 L400.5,333.4 L402.3,333.6 L404.2,333.7 L406,333.9 L407.8,334.1 L409.6,334.3 L411.4,334.5 L413.2,334.7 L415,334.9 L416.8,335 L418.6,335.2 L420.4,335.4 L422.2,335.5 L424,335.7 L425.8,335.9 L427.7,336 L429.5,336.2 L431.3,336.3 L433.1,336.5 L434.9,336.7 L436.7,336.8 L438.5,337 L440.3,337.1 L442.1,337.2 L443.9,337.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,205.9 L86.01,208.6 L87.82,211.3 L89.62,213.9 L91.43,216.3 L93.24,218.7 L95.05,221 L96.85,223.3 L98.66,225.5 L100.5,227.6 L102.3,229.7 L104.1,231.7 L105.9,233.7 L107.7,235.7 L109.5,237.5 L111.3,239.4 L113.1,241.2 L114.9,243 L116.7,244.7 L118.5,246.4 L120.4,248 L122.2,249.6 L124,251.2 L125.8,252.8 L127.6,254.3 L129.4,255.8 L131.2,257.2 L133,258.7 L134.8,260.1 L136.6,261.5 L138.4,262.8 L140.2,264.1 L142,265.4 L143.9,266.7 L145.7,267.9 L147.5,269.2 L149.3,270.4 L151.1,271.6 L152.9,272.7 L154.7,273.9 L156.5,275 L158.3,276.1 L160.1,277.1 L161.9,278.2 L163.7,279.2 L165.5,280.3 L167.4,281.3 L169.2,282.3 L171,283.2 L172.8,284.2 L174.6,285.1 L176.4,286 L178.2,287 L180,287.8 L181.8,288.7 L183.6,289.6 L185.4,290.4 L187.2,291.3 L189,292.1 L190.9,292.9 L192.7,293.7 L194.5,294.5 L196.3,295.2 L198.1,296 L199.9,296.7 L201.7,297.5 L203.5,298.2 L205.3,298.9 L207.1,299.6 L208.9,300.3 L210.7,300.9 L212.5,301.6 L214.4,302.3 L216.2,302.9 L218,303.5 L219.8,304.2 L221.6,304.8 L223.4,305.4 L225.2,306 L227,306.5 L228.8,307.1 L230.6,307.7 L232.4,308.3 L234.2,308.8 L236,309.3 L237.9,309.9 L239.7,310.4 L241.5,310.9 L243.3,311.4 L245.1,311.9 L246.9,312.4 L248.7,312.9 L250.5,313.4 L252.3,313.9 L254.1,314.3 L255.9,314.8 L257.7,315.2 L259.5,315.7 L261.3,316.1 L263.2,316.6 L265,317 L266.8,317.4 L268.6,317.8 L270.4,318.2 L272.2,318.6 L274,319 L275.8,319.4 L277.6,319.8 L279.4,320.2 L281.2,320.5 L283,320.9 L284.8,321.3 L286.7,321.6 L288.5,322 L290.3,322.3 L292.1,322.7 L293.9,323 L295.7,323.3 L297.5,323.7 L299.3,324 L301.1,324.3 L302.9,324.6 L304.7,324.9 L306.5,325.2 L308.3,325.5 L310.2,325.8 L312,326.1 L313.8,326.4 L315.6,326.7 L317.4,327 L319.2,327.3 L321,327.5 L322.8,327.8 L324.6,328.1 L326.4,328.3 L328.2,328.6 L330,328.8 L331.8,329.1 L333.7,329.3 L335.5,329.6 L337.3,329.8 L339.1,330.1 L340.9,330.3 L342.7,330.5 L344.5,330.8 L346.3,331 L348.1,331.2 L349.9,331.4 L351.7,331.6 L353.5,331.8 L355.3,332.1 L357.2,332.3 L359,332.5 L360.8,332.7 L362.6,332.9 L364.4,333.1 L366.2,333.3 L368,333.4 L369.8,333.6 L371.6,333.8 L373.4,334 L375.2,334.2 L377,334.4 L378.8,334.5 L380.7,334.7 L382.5,334.9 L384.3,335 L386.1,335.2 L387.9,335.4 L389.7,335.5 L391.5,335.7 L393.3,335.9 L395.1,336 L396.9,336.2 L398.7,336.3 L400.5,336.5 L402.3,336.6 L404.2,336.8 L406,336.9 L407.8,337 L409.6,337.2 L411.4,337.3 L413.2,337.5 L415,337.6 L416.8,337.7 L418.6,337.9 L420.4,338 L422.2,338.1 L424,338.2 L425.8,338.4 L427.7,338.5 L429.5,338.6 L431.3,338.7 L433.1,338.8 L434.9,339 L436.7,339.1 L438.5,339.2 L440.3,339.3 L442.1,339.4 L443.9,339.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,253.3 L86.01,254.7 L87.82,256.1 L89.62,257.5 L91.43,258.8 L93.24,260.1 L95.05,261.4 L96.85,262.7 L98.66,263.9 L100.5,265.1 L102.3,266.3 L104.1,267.5 L105.9,268.6 L107.7,269.8 L109.5,270.9 L111.3,272 L113.1,273.1 L114.9,274.1 L116.7,275.2 L118.5,276.2 L120.4,277.2 L122.2,278.2 L124,279.2 L125.8,280.1 L127.6,281.1 L129.4,282 L131.2,282.9 L133,283.8 L134.8,284.7 L136.6,285.6 L138.4,286.5 L140.2,287.3 L142,288.1 L143.9,289 L145.7,289.8 L147.5,290.6 L149.3,291.3 L151.1,292.1 L152.9,292.9 L154.7,293.6 L156.5,294.4 L158.3,295.1 L160.1,295.8 L161.9,296.5 L163.7,297.2 L165.5,297.9 L167.4,298.6 L169.2,299.2 L171,299.9 L172.8,300.5 L174.6,301.2 L176.4,301.8 L178.2,302.4 L180,303 L181.8,303.6 L183.6,304.2 L185.4,304.8 L187.2,305.4 L189,305.9 L190.9,306.5 L192.7,307 L194.5,307.6 L196.3,308.1 L198.1,308.6 L199.9,309.2 L201.7,309.7 L203.5,310.2 L205.3,310.7 L207.1,311.2 L208.9,311.6 L210.7,312.1 L212.5,312.6 L214.4,313.1 L216.2,313.5 L218,314 L219.8,314.4 L221.6,314.8 L223.4,315.3 L225.2,315.7 L227,316.1 L228.8,316.5 L230.6,316.9 L232.4,317.3 L234.2,317.7 L236,318.1 L237.9,318.5 L239.7,318.9 L241.5,319.3 L243.3,319.6 L245.1,320 L246.9,320.4 L248.7,320.7 L250.5,321.1 L252.3,321.4 L254.1,321.8 L255.9,322.1 L257.7,322.4 L259.5,322.8 L261.3,323.1 L263.2,323.4 L265,323.7 L266.8,324 L268.6,324.3 L270.4,324.6 L272.2,324.9 L274,325.2 L275.8,325.5 L277.6,325.8 L279.4,326.1 L281.2,326.4 L283,326.6 L284.8,326.9 L286.7,327.2 L288.5,327.4 L290.3,327.7 L292.1,328 L293.9,328.2 L295.7,328.5 L297.5,328.7 L299.3,328.9 L301.1,329.2 L302.9,329.4 L304.7,329.7 L306.5,329.9 L308.3,330.1 L310.2,330.3 L312,330.6 L313.8,330.8 L315.6,331 L317.4,331.2 L319.2,331.4 L321,331.6 L322.8,331.8 L324.6,332 L326.4,332.2 L328.2,332.4 L330,332.6 L331.8,332.8 L333.7,333 L335.5,333.2 L337.3,333.4 L339.1,333.6 L340.9,333.8 L342.7,333.9 L344.5,334.1 L346.3,334.3 L348.1,334.4 L349.9,334.6 L351.7,334.8 L353.5,335 L355.3,335.1 L357.2,335.3 L359,335.4 L360.8,335.6 L362.6,335.7 L364.4,335.9 L366.2,336 L368,336.2 L369.8,336.3 L371.6,336.5 L373.4,336.6 L375.2,336.8 L377,336.9 L378.8,337 L380.7,337.2 L382.5,337.3 L384.3,337.4 L386.1,337.6 L387.9,337.7 L389.7,337.8 L391.5,338 L393.3,338.1 L395.1,338.2 L396.9,338.3 L398.7,338.5 L400.5,338.6 L402.3,338.7 L404.2,338.8 L406,338.9 L407.8,339 L409.6,339.1 L411.4,339.2 L413.2,339.4 L415,339.5 L416.8,339.6 L418.6,339.7 L420.4,339.8 L422.2,339.9 L424,340 L425.8,340.1 L427.7,340.2 L429.5,340.3 L431.3,340.4 L433.1,340.5 L434.9,340.6 L436.7,340.6 L438.5,340.7 L440.3,340.8 L442.1,340.9 L443.9,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="126"/><rect x="467" y="58" width="107" height="126"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
-</g>
-<g id="legendText">
-<text x="502" y="86" font-size="14" font-family="Verdana">n = 1 </text>
-<text x="502" y="114" font-size="14" font-family="Verdana">n = 2 </text>
-<text x="502" y="142" font-size="14" font-family="Verdana">n = 3 </text>
-<text x="502" y="170" font-size="14" font-family="Verdana">n = 4 </text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Exponential Integral En</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/expint_i.svg b/libs/math/doc/sf_and_dist/graphs/expint_i.svg
deleted file mode 100644
index 57eac0370e..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/expint_i.svg
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="290" y1="58" x2="290" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="202.3" x2="574" y2="202.3"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,184.6 L84.2,184.6 M82.2,166.9 L84.2,166.9 M82.2,149.3 L84.2,149.3 M82.2,113.9 L84.2,113.9 M82.2,96.27 L84.2,96.27 M82.2,78.61 L84.2,78.61 M82.2,202.3 L84.2,202.3 M82.2,219.9 L84.2,219.9 M82.2,237.6 L84.2,237.6 M82.2,255.3 L84.2,255.3 M82.2,272.9 L84.2,272.9 M82.2,290.6 L84.2,290.6 M82.2,308.3 L84.2,308.3 M82.2,325.9 L84.2,325.9 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M307.1,341 L307.1,343 M324.3,341 L324.3,343 M341.4,341 L341.4,343 M375.7,341 L375.7,343 M392.9,341 L392.9,343 M410,341 L410,343 M444.3,341 L444.3,343 M461.5,341 L461.5,343 M478.6,341 L478.6,343 M512.9,341 L512.9,343 M530.1,341 L530.1,343 M547.2,341 L547.2,343 M272.8,341 L272.8,343 M255.7,341 L255.7,343 M238.5,341 L238.5,343 M204.2,341 L204.2,343 M187.1,341 L187.1,343 M169.9,341 L169.9,343 M135.6,341 L135.6,343 M118.5,341 L118.5,343 M101.3,341 L101.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,202.3 L84.2,202.3 M79.2,131.6 L84.2,131.6 M79.2,60.94 L84.2,60.94 M79.2,202.3 L84.2,202.3 M79.2,272.9 L84.2,272.9 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M290,341 L290,346 M358.6,341 L358.6,346 M427.2,341 L427.2,346 M495.8,341 L495.8,346 M564.4,341 L564.4,346 M290,341 L290,346 M221.4,341 L221.4,346 M152.8,341 L152.8,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="290" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="358.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="427.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="495.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="290" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="221.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="152.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="134" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="73.2" y="63.34" text-anchor="end" font-size="12" font-family="Verdana">20</text>
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="275.3" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">expint(z)</text></g>
-<g id="xLabel">
-<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M290,341 L291.4,225.7 L292.7,220.7 L294.1,217.6 L295.5,215.5 L296.9,213.7 L298.2,212.3 L299.6,211.1 L301,210 L302.3,209 L303.7,208.1 L305.1,207.3 L306.5,206.5 L307.8,205.8 L309.2,205.1 L310.6,204.4 L312,203.8 L313.3,203.2 L314.7,202.6 L316.1,202.1 L317.4,201.5 L318.8,201 L320.2,200.5 L321.6,200 L322.9,199.5 L324.3,199.1 L325.7,198.6 L327,198.2 L328.4,197.7 L329.8,197.3 L331.2,196.8 L332.5,196.4 L333.9,196 L335.3,195.6 L336.6,195.2 L338,194.7 L339.4,194.3 L340.8,193.9 L342.1,193.5 L343.5,193.1 L344.9,192.8 L346.2,192.4 L347.6,192 L349,191.6 L350.4,191.2 L351.7,190.8 L353.1,190.4 L354.5,190 L355.9,189.7 L357.2,189.3 L358.6,188.9 L360,188.5 L361.3,188.1 L362.7,187.7 L364.1,187.3 L365.5,187 L366.8,186.6 L368.2,186.2 L369.6,185.8 L370.9,185.4 L372.3,185 L373.7,184.6 L375.1,184.2 L376.4,183.8 L377.8,183.4 L379.2,183 L380.5,182.6 L381.9,182.2 L383.3,181.8 L384.7,181.4 L386,181 L387.4,180.6 L388.8,180.2 L390.2,179.8 L391.5,179.4 L392.9,178.9 L394.3,178.5 L395.6,178.1 L397,177.7 L398.4,177.2 L399.8,176.8 L401.1,176.4 L402.5,175.9 L403.9,175.5 L405.2,175 L406.6,174.6 L408,174.1 L409.4,173.6 L410.7,173.2 L412.1,172.7 L413.5,172.2 L414.8,171.8 L416.2,171.3 L417.6,170.8 L419,170.3 L420.3,169.8 L421.7,169.3 L423.1,168.8 L424.5,168.3 L425.8,167.8 L427.2,167.3 L428.6,166.7 L429.9,166.2 L431.3,165.7 L432.7,165.1 L434.1,164.6 L435.4,164 L436.8,163.5 L438.2,162.9 L439.5,162.3 L440.9,161.8 L442.3,161.2 L443.7,160.6 L445,160 L446.4,159.4 L447.8,158.8 L449.1,158.2 L450.5,157.5 L451.9,156.9 L453.3,156.3 L454.6,155.6 L456,155 L457.4,154.3 L458.8,153.6 L460.1,153 L461.5,152.3 L462.9,151.6 L464.2,150.9 L465.6,150.2 L467,149.5 L468.4,148.7 L469.7,148 L471.1,147.3 L472.5,146.5 L473.8,145.7 L475.2,145 L476.6,144.2 L478,143.4 L479.3,142.6 L480.7,141.8 L482.1,140.9 L483.4,140.1 L484.8,139.3 L486.2,138.4 L487.6,137.5 L488.9,136.7 L490.3,135.8 L491.7,134.9 L493.1,133.9 L494.4,133 L495.8,132.1 L497.2,131.1 L498.5,130.2 L499.9,129.2 L501.3,128.2 L502.7,127.2 L504,126.2 L505.4,125.1 L506.8,124.1 L508.1,123 L509.5,121.9 L510.9,120.9 L512.3,119.7 L513.6,118.6 L515,117.5 L516.4,116.3 L517.7,115.2 L519.1,114 L520.5,112.8 L521.9,111.6 L523.2,110.3 L524.6,109.1 L526,107.8 L527.4,106.5 L528.7,105.2 L530.1,103.9 L531.5,102.5 L532.8,101.2 L534.2,99.77 L535.6,98.36 L537,96.94 L538.3,95.49 L539.7,94.02 L541.1,92.53 L542.4,91.02 L543.8,89.49 L545.2,87.93 L546.6,86.35 L547.9,84.75 L549.3,83.12 L550.7,81.47 L552,79.8 L553.4,78.1 L554.8,76.37 L556.2,74.62 L557.5,72.84 L558.9,71.04 L560.3,69.21 L561.7,67.35 L563,65.46 L564.4,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,202.4 L85.23,202.4 L86.26,202.4 L87.29,202.4 L88.32,202.4 L89.34,202.4 L90.37,202.4 L91.4,202.4 L92.43,202.4 L93.46,202.4 L94.49,202.4 L95.52,202.4 L96.55,202.4 L97.58,202.4 L98.61,202.4 L99.63,202.4 L100.7,202.4 L101.7,202.4 L102.7,202.4 L103.8,202.4 L104.8,202.4 L105.8,202.4 L106.8,202.4 L107.9,202.4 L108.9,202.4 L109.9,202.4 L111,202.4 L112,202.4 L113,202.4 L114,202.4 L115.1,202.4 L116.1,202.4 L117.1,202.4 L118.2,202.4 L119.2,202.5 L120.2,202.5 L121.2,202.5 L122.3,202.5 L123.3,202.5 L124.3,202.5 L125.4,202.5 L126.4,202.5 L127.4,202.5 L128.4,202.5 L129.5,202.5 L130.5,202.5 L131.5,202.5 L132.6,202.5 L133.6,202.5 L134.6,202.5 L135.6,202.5 L136.7,202.5 L137.7,202.5 L138.7,202.5 L139.8,202.5 L140.8,202.5 L141.8,202.6 L142.9,202.6 L143.9,202.6 L144.9,202.6 L145.9,202.6 L147,202.6 L148,202.6 L149,202.6 L150.1,202.6 L151.1,202.6 L152.1,202.6 L153.1,202.6 L154.2,202.6 L155.2,202.6 L156.2,202.6 L157.3,202.7 L158.3,202.7 L159.3,202.7 L160.3,202.7 L161.4,202.7 L162.4,202.7 L163.4,202.7 L164.5,202.7 L165.5,202.7 L166.5,202.7 L167.5,202.7 L168.6,202.8 L169.6,202.8 L170.6,202.8 L171.7,202.8 L172.7,202.8 L173.7,202.8 L174.8,202.8 L175.8,202.8 L176.8,202.8 L177.8,202.9 L178.9,202.9 L179.9,202.9 L180.9,202.9 L182,202.9 L183,202.9 L184,202.9 L185,203 L186.1,203 L187.1,203 L188.1,203 L189.2,203 L190.2,203 L191.2,203 L192.2,203.1 L193.3,203.1 L194.3,203.1 L195.3,203.1 L196.4,203.1 L197.4,203.2 L198.4,203.2 L199.4,203.2 L200.5,203.2 L201.5,203.2 L202.5,203.3 L203.6,203.3 L204.6,203.3 L205.6,203.3 L206.6,203.4 L207.7,203.4 L208.7,203.4 L209.7,203.4 L210.8,203.5 L211.8,203.5 L212.8,203.5 L213.9,203.6 L214.9,203.6 L215.9,203.6 L216.9,203.7 L218,203.7 L219,203.7 L220,203.8 L221.1,203.8 L222.1,203.9 L223.1,203.9 L224.1,203.9 L225.2,204 L226.2,204 L227.2,204.1 L228.3,204.1 L229.3,204.2 L230.3,204.2 L231.3,204.3 L232.4,204.3 L233.4,204.4 L234.4,204.4 L235.5,204.5 L236.5,204.6 L237.5,204.6 L238.5,204.7 L239.6,204.7 L240.6,204.8 L241.6,204.9 L242.7,205 L243.7,205 L244.7,205.1 L245.8,205.2 L246.8,205.3 L247.8,205.4 L248.8,205.5 L249.9,205.6 L250.9,205.7 L251.9,205.8 L253,205.9 L254,206 L255,206.1 L256,206.3 L257.1,206.4 L258.1,206.5 L259.1,206.7 L260.2,206.8 L261.2,207 L262.2,207.2 L263.2,207.4 L264.3,207.5 L265.3,207.7 L266.3,208 L267.4,208.2 L268.4,208.4 L269.4,208.7 L270.4,208.9 L271.5,209.2 L272.5,209.5 L273.5,209.9 L274.6,210.2 L275.6,210.6 L276.6,211.1 L277.7,211.5 L278.7,212 L279.7,212.6 L280.7,213.3 L281.8,214 L282.8,214.8 L283.8,215.8 L284.9,217 L285.9,218.5 L286.9,220.4 L287.9,223.2 L289,228 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Exponential Integral Ei</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/expm1.svg b/libs/math/doc/sf_and_dist/graphs/expm1.svg
deleted file mode 100644
index 8b02394819..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/expm1.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="68.4" y="59" width="504.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="506.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="398.5" y1="58" x2="398.5" y2="346"/><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="62.4" y1="304" x2="574" y2="304"/><line x1="62.4" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,294.6 L67.4,294.6 M65.4,285.2 L67.4,285.2 M65.4,275.8 L67.4,275.8 M65.4,257 L67.4,257 M65.4,247.6 L67.4,247.6 M65.4,238.2 L67.4,238.2 M65.4,219.4 L67.4,219.4 M65.4,209.9 L67.4,209.9 M65.4,200.5 L67.4,200.5 M65.4,181.7 L67.4,181.7 M65.4,172.3 L67.4,172.3 M65.4,162.9 L67.4,162.9 M65.4,144.1 L67.4,144.1 M65.4,134.7 L67.4,134.7 M65.4,125.2 L67.4,125.2 M65.4,106.4 L67.4,106.4 M65.4,97.02 L67.4,97.02 M65.4,87.6 L67.4,87.6 M65.4,68.78 L67.4,68.78 M65.4,59.37 L67.4,59.37 M65.4,304 L67.4,304 M65.4,313.5 L67.4,313.5 M65.4,322.9 L67.4,322.9 M65.4,332.3 L67.4,332.3 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M419.2,341 L419.2,343 M439.9,341 L439.9,343 M460.6,341 L460.6,343 M502,341 L502,343 M522.7,341 L522.7,343 M543.4,341 L543.4,343 M377.8,341 L377.8,343 M357.1,341 L357.1,343 M336.4,341 L336.4,343 M295,341 L295,343 M274.3,341 L274.3,343 M253.7,341 L253.7,343 M212.3,341 L212.3,343 M191.6,341 L191.6,343 M170.9,341 L170.9,343 M129.5,341 L129.5,343 M108.8,341 L108.8,343 M88.09,341 L88.09,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,304 L67.4,304 M62.4,266.4 L67.4,266.4 M62.4,228.8 L67.4,228.8 M62.4,191.1 L67.4,191.1 M62.4,153.5 L67.4,153.5 M62.4,115.8 L67.4,115.8 M62.4,78.19 L67.4,78.19 M62.4,304 L67.4,304 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M398.5,341 L398.5,346 M481.3,341 L481.3,346 M564.1,341 L564.1,346 M398.5,341 L398.5,346 M315.7,341 L315.7,346 M233,341 L233,346 M150.2,341 L150.2,346 M67.4,341 L67.4,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="398.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="481.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="564.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="398.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="315.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="233" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="150.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
-<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text></g>
-<g id="yTicksValues">
-<text x="56.4" y="306.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="56.4" y="268.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="56.4" y="231.2" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="56.4" y="193.5" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="56.4" y="155.9" text-anchor="end" font-size="12" font-family="Verdana">4</text>
-<text x="56.4" y="118.2" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="56.4" y="80.59" text-anchor="end" font-size="12" font-family="Verdana">6</text>
-<text x="56.4" y="306.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">expm1(z)</text></g>
-<g id="xLabel">
-<text x="320.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,341 L69.88,341 L72.37,341 L74.85,340.9 L77.33,340.9 L79.82,340.9 L82.3,340.9 L84.78,340.8 L87.27,340.8 L89.75,340.8 L92.23,340.8 L94.72,340.7 L97.2,340.7 L99.68,340.7 L102.2,340.6 L104.6,340.6 L107.1,340.6 L109.6,340.5 L112.1,340.5 L114.6,340.5 L117.1,340.4 L119.5,340.4 L122,340.4 L124.5,340.3 L127,340.3 L129.5,340.2 L132,340.2 L134.4,340.1 L136.9,340.1 L139.4,340 L141.9,340 L144.4,339.9 L146.9,339.9 L149.3,339.8 L151.8,339.8 L154.3,339.7 L156.8,339.7 L159.3,339.6 L161.8,339.5 L164.2,339.5 L166.7,339.4 L169.2,339.3 L171.7,339.3 L174.2,339.2 L176.7,339.1 L179.1,339 L181.6,338.9 L184.1,338.9 L186.6,338.8 L189.1,338.7 L191.6,338.6 L194,338.5 L196.5,338.4 L199,338.3 L201.5,338.2 L204,338.1 L206.5,338 L208.9,337.9 L211.4,337.8 L213.9,337.6 L216.4,337.5 L218.9,337.4 L221.4,337.3 L223.8,337.1 L226.3,337 L228.8,336.8 L231.3,336.7 L233.8,336.5 L236.3,336.4 L238.7,336.2 L241.2,336.1 L243.7,335.9 L246.2,335.7 L248.7,335.5 L251.2,335.3 L253.6,335.1 L256.1,334.9 L258.6,334.7 L261.1,334.5 L263.6,334.3 L266.1,334.1 L268.5,333.9 L271,333.6 L273.5,333.4 L276,333.1 L278.5,332.9 L281,332.6 L283.4,332.3 L285.9,332 L288.4,331.7 L290.9,331.4 L293.4,331.1 L295.9,330.8 L298.3,330.5 L300.8,330.1 L303.3,329.8 L305.8,329.4 L308.3,329 L310.8,328.6 L313.2,328.3 L315.7,327.8 L318.2,327.4 L320.7,327 L323.2,326.5 L325.7,326.1 L328.1,325.6 L330.6,325.1 L333.1,324.6 L335.6,324.1 L338.1,323.5 L340.6,323 L343,322.4 L345.5,321.8 L348,321.2 L350.5,320.6 L353,320 L355.5,319.3 L357.9,318.6 L360.4,317.9 L362.9,317.2 L365.4,316.5 L367.9,315.7 L370.4,314.9 L372.8,314.1 L375.3,313.2 L377.8,312.4 L380.3,311.5 L382.8,310.6 L385.3,309.6 L387.7,308.6 L390.2,307.6 L392.7,306.6 L395.2,305.5 L397.7,304.4 L400.2,303.3 L402.6,302.1 L405.1,300.9 L407.6,299.7 L410.1,298.4 L412.6,297.1 L415.1,295.7 L417.5,294.3 L420,292.9 L422.5,291.4 L425,289.9 L427.5,288.3 L430,286.6 L432.4,285 L434.9,283.2 L437.4,281.5 L439.9,279.6 L442.4,277.7 L444.9,275.8 L447.3,273.8 L449.8,271.7 L452.3,269.6 L454.8,267.4 L457.3,265.1 L459.8,262.8 L462.2,260.4 L464.7,257.9 L467.2,255.4 L469.7,252.7 L472.2,250 L474.7,247.2 L477.1,244.4 L479.6,241.4 L482.1,238.3 L484.6,235.2 L487.1,231.9 L489.6,228.6 L492,225.2 L494.5,221.6 L497,218 L499.5,214.2 L502,210.3 L504.5,206.3 L506.9,202.2 L509.4,197.9 L511.9,193.6 L514.4,189 L516.9,184.4 L519.4,179.6 L521.8,174.7 L524.3,169.6 L526.8,164.3 L529.3,158.9 L531.8,153.4 L534.3,147.6 L536.7,141.7 L539.2,135.6 L541.7,129.4 L544.2,122.9 L546.7,116.2 L549.2,109.4 L551.6,102.3 L554.1,95 L556.6,87.49 L559.1,79.75 L561.6,71.77 L564.1,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">expm1</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/exponential_pdf.svg b/libs/math/doc/sf_and_dist/graphs/exponential_pdf.svg
deleted file mode 100644
index 21f82b5a29..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/exponential_pdf.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="520.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="522.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="606.8" y2="341"/><line x1="79.2" y1="341" x2="606.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,327.3 L84.2,327.3 M82.2,313.7 L84.2,313.7 M82.2,300 L84.2,300 M82.2,286.3 L84.2,286.3 M82.2,259 L84.2,259 M82.2,245.4 L84.2,245.4 M82.2,231.7 L84.2,231.7 M82.2,218 L84.2,218 M82.2,190.7 L84.2,190.7 M82.2,177 L84.2,177 M82.2,163.4 L84.2,163.4 M82.2,149.7 L84.2,149.7 M82.2,122.4 L84.2,122.4 M82.2,108.7 L84.2,108.7 M82.2,95.06 L84.2,95.06 M82.2,81.4 L84.2,81.4 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M101.6,341 L101.6,343 M119,341 L119,343 M136.4,341 L136.4,343 M153.9,341 L153.9,343 M188.7,341 L188.7,343 M206.1,341 L206.1,343 M223.5,341 L223.5,343 M240.9,341 L240.9,343 M275.8,341 L275.8,343 M293.2,341 L293.2,343 M310.6,341 L310.6,343 M328,341 L328,343 M362.9,341 L362.9,343 M380.3,341 L380.3,343 M397.7,341 L397.7,343 M415.1,341 L415.1,343 M449.9,341 L449.9,343 M467.3,341 L467.3,343 M484.8,341 L484.8,343 M502.2,341 L502.2,343 M537,341 L537,343 M554.4,341 L554.4,343 M571.8,341 L571.8,343 M589.3,341 L589.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,272.7 L84.2,272.7 M79.2,204.4 L84.2,204.4 M79.2,136 L84.2,136 M79.2,67.73 L84.2,67.73 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M171.3,341 L171.3,346 M258.4,341 L258.4,346 M345.4,341 L345.4,346 M432.5,341 L432.5,346 M519.6,341 L519.6,346 M606.7,341 L606.7,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="258.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="345.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="432.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="519.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="606.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="275.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="206.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="138.4" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="70.13" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="345.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,272.7 L86.81,273.7 L89.43,274.7 L92.04,275.7 L94.65,276.7 L97.27,277.6 L99.88,278.6 L102.5,279.5 L105.1,280.4 L107.7,281.3 L110.3,282.2 L112.9,283.1 L115.6,283.9 L118.2,284.8 L120.8,285.6 L123.4,286.5 L126,287.3 L128.6,288.1 L131.2,288.9 L133.8,289.6 L136.5,290.4 L139.1,291.1 L141.7,291.9 L144.3,292.6 L146.9,293.3 L149.5,294.1 L152.1,294.7 L154.8,295.4 L157.4,296.1 L160,296.8 L162.6,297.4 L165.2,298.1 L167.8,298.7 L170.4,299.4 L173,300 L175.7,300.6 L178.3,301.2 L180.9,301.8 L183.5,302.4 L186.1,302.9 L188.7,303.5 L191.3,304.1 L193.9,304.6 L196.6,305.2 L199.2,305.7 L201.8,306.2 L204.4,306.7 L207,307.2 L209.6,307.8 L212.2,308.2 L214.8,308.7 L217.5,309.2 L220.1,309.7 L222.7,310.2 L225.3,310.6 L227.9,311.1 L230.5,311.5 L233.1,312 L235.8,312.4 L238.4,312.8 L241,313.2 L243.6,313.6 L246.2,314.1 L248.8,314.5 L251.4,314.8 L254,315.2 L256.7,315.6 L259.3,316 L261.9,316.4 L264.5,316.7 L267.1,317.1 L269.7,317.5 L272.3,317.8 L274.9,318.2 L277.6,318.5 L280.2,318.8 L282.8,319.2 L285.4,319.5 L288,319.8 L290.6,320.1 L293.2,320.4 L295.9,320.7 L298.5,321 L301.1,321.3 L303.7,321.6 L306.3,321.9 L308.9,322.2 L311.5,322.5 L314.1,322.8 L316.8,323 L319.4,323.3 L322,323.6 L324.6,323.8 L327.2,324.1 L329.8,324.3 L332.4,324.6 L335,324.8 L337.7,325.1 L340.3,325.3 L342.9,325.5 L345.5,325.8 L348.1,326 L350.7,326.2 L353.3,326.4 L356,326.6 L358.6,326.9 L361.2,327.1 L363.8,327.3 L366.4,327.5 L369,327.7 L371.6,327.9 L374.2,328.1 L376.9,328.3 L379.5,328.5 L382.1,328.6 L384.7,328.8 L387.3,329 L389.9,329.2 L392.5,329.4 L395.1,329.5 L397.8,329.7 L400.4,329.9 L403,330 L405.6,330.2 L408.2,330.4 L410.8,330.5 L413.4,330.7 L416.1,330.8 L418.7,331 L421.3,331.1 L423.9,331.3 L426.5,331.4 L429.1,331.6 L431.7,331.7 L434.3,331.9 L437,332 L439.6,332.1 L442.2,332.3 L444.8,332.4 L447.4,332.5 L450,332.6 L452.6,332.8 L455.2,332.9 L457.9,333 L460.5,333.1 L463.1,333.2 L465.7,333.4 L468.3,333.5 L470.9,333.6 L473.5,333.7 L476.2,333.8 L478.8,333.9 L481.4,334 L484,334.1 L486.6,334.2 L489.2,334.3 L491.8,334.4 L494.4,334.5 L497.1,334.6 L499.7,334.7 L502.3,334.8 L504.9,334.9 L507.5,335 L510.1,335.1 L512.7,335.2 L515.3,335.3 L518,335.3 L520.6,335.4 L523.2,335.5 L525.8,335.6 L528.4,335.7 L531,335.7 L533.6,335.8 L536.2,335.9 L538.9,336 L541.5,336.1 L544.1,336.1 L546.7,336.2 L549.3,336.3 L551.9,336.3 L554.5,336.4 L557.2,336.5 L559.8,336.5 L562.4,336.6 L565,336.7 L567.6,336.7 L570.2,336.8 L572.8,336.9 L575.4,336.9 L578.1,337 L580.7,337.1 L583.3,337.1 L585.9,337.2 L588.5,337.2 L591.1,337.3 L593.7,337.3 L596.3,337.4 L599,337.4 L601.6,337.5 L604.2,337.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,204.4 L86.81,208.4 L89.43,212.3 L92.04,216.1 L94.65,219.8 L97.27,223.4 L99.88,226.9 L102.5,230.3 L105.1,233.5 L107.7,236.7 L110.3,239.8 L112.9,242.8 L115.6,245.7 L118.2,248.5 L120.8,251.2 L123.4,253.9 L126,256.5 L128.6,259 L131.2,261.4 L133.8,263.7 L136.5,266 L139.1,268.2 L141.7,270.4 L144.3,272.5 L146.9,274.5 L149.5,276.5 L152.1,278.4 L154.8,280.2 L157.4,282 L160,283.8 L162.6,285.5 L165.2,287.1 L167.8,288.7 L170.4,290.2 L173,291.7 L175.7,293.2 L178.3,294.6 L180.9,296 L183.5,297.3 L186.1,298.6 L188.7,299.9 L191.3,301.1 L193.9,302.3 L196.6,303.4 L199.2,304.5 L201.8,305.6 L204.4,306.6 L207,307.7 L209.6,308.6 L212.2,309.6 L214.8,310.5 L217.5,311.4 L220.1,312.3 L222.7,313.1 L225.3,314 L227.9,314.8 L230.5,315.5 L233.1,316.3 L235.8,317 L238.4,317.7 L241,318.4 L243.6,319.1 L246.2,319.7 L248.8,320.4 L251.4,321 L254,321.6 L256.7,322.1 L259.3,322.7 L261.9,323.2 L264.5,323.8 L267.1,324.3 L269.7,324.8 L272.3,325.3 L274.9,325.7 L277.6,326.2 L280.2,326.6 L282.8,327 L285.4,327.4 L288,327.8 L290.6,328.2 L293.2,328.6 L295.9,329 L298.5,329.3 L301.1,329.7 L303.7,330 L306.3,330.3 L308.9,330.7 L311.5,331 L314.1,331.3 L316.8,331.5 L319.4,331.8 L322,332.1 L324.6,332.4 L327.2,332.6 L329.8,332.9 L332.4,333.1 L335,333.3 L337.7,333.6 L340.3,333.8 L342.9,334 L345.5,334.2 L348.1,334.4 L350.7,334.6 L353.3,334.8 L356,335 L358.6,335.1 L361.2,335.3 L363.8,335.5 L366.4,335.7 L369,335.8 L371.6,336 L374.2,336.1 L376.9,336.3 L379.5,336.4 L382.1,336.5 L384.7,336.7 L387.3,336.8 L389.9,336.9 L392.5,337 L395.1,337.2 L397.8,337.3 L400.4,337.4 L403,337.5 L405.6,337.6 L408.2,337.7 L410.8,337.8 L413.4,337.9 L416.1,338 L418.7,338.1 L421.3,338.2 L423.9,338.2 L426.5,338.3 L429.1,338.4 L431.7,338.5 L434.3,338.5 L437,338.6 L439.6,338.7 L442.2,338.8 L444.8,338.8 L447.4,338.9 L450,339 L452.6,339 L455.2,339.1 L457.9,339.1 L460.5,339.2 L463.1,339.2 L465.7,339.3 L468.3,339.3 L470.9,339.4 L473.5,339.4 L476.2,339.5 L478.8,339.5 L481.4,339.6 L484,339.6 L486.6,339.7 L489.2,339.7 L491.8,339.7 L494.4,339.8 L497.1,339.8 L499.7,339.8 L502.3,339.9 L504.9,339.9 L507.5,339.9 L510.1,340 L512.7,340 L515.3,340 L518,340.1 L520.6,340.1 L523.2,340.1 L525.8,340.1 L528.4,340.2 L531,340.2 L533.6,340.2 L536.2,340.2 L538.9,340.3 L541.5,340.3 L544.1,340.3 L546.7,340.3 L549.3,340.3 L551.9,340.4 L554.5,340.4 L557.2,340.4 L559.8,340.4 L562.4,340.4 L565,340.5 L567.6,340.5 L570.2,340.5 L572.8,340.5 L575.4,340.5 L578.1,340.5 L580.7,340.5 L583.3,340.6 L585.9,340.6 L588.5,340.6 L591.1,340.6 L593.7,340.6 L596.3,340.6 L599,340.6 L601.6,340.6 L604.2,340.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,67.73 L86.81,83.65 L89.43,98.64 L92.04,112.8 L94.65,126.1 L97.27,138.6 L99.88,150.4 L102.5,161.5 L105.1,171.9 L107.7,181.8 L110.3,191 L112.9,199.8 L115.6,208 L118.2,215.8 L120.8,223.1 L123.4,229.9 L126,236.4 L128.6,242.5 L131.2,248.2 L133.8,253.6 L136.5,258.7 L139.1,263.5 L141.7,268 L144.3,272.3 L146.9,276.3 L149.5,280 L152.1,283.6 L154.8,286.9 L157.4,290.1 L160,293.1 L162.6,295.8 L165.2,298.5 L167.8,301 L170.4,303.3 L173,305.5 L175.7,307.6 L178.3,309.5 L180.9,311.3 L183.5,313.1 L186.1,314.7 L188.7,316.2 L191.3,317.7 L193.9,319 L196.6,320.3 L199.2,321.5 L201.8,322.6 L204.4,323.7 L207,324.7 L209.6,325.7 L212.2,326.6 L214.8,327.4 L217.5,328.2 L220.1,328.9 L222.7,329.6 L225.3,330.3 L227.9,330.9 L230.5,331.5 L233.1,332.1 L235.8,332.6 L238.4,333.1 L241,333.5 L243.6,334 L246.2,334.4 L248.8,334.8 L251.4,335.1 L254,335.5 L256.7,335.8 L259.3,336.1 L261.9,336.4 L264.5,336.7 L267.1,336.9 L269.7,337.1 L272.3,337.4 L274.9,337.6 L277.6,337.8 L280.2,338 L282.8,338.1 L285.4,338.3 L288,338.5 L290.6,338.6 L293.2,338.8 L295.9,338.9 L298.5,339 L301.1,339.1 L303.7,339.2 L306.3,339.3 L308.9,339.4 L311.5,339.5 L314.1,339.6 L316.8,339.7 L319.4,339.8 L322,339.8 L324.6,339.9 L327.2,340 L329.8,340 L332.4,340.1 L335,340.1 L337.7,340.2 L340.3,340.2 L342.9,340.3 L345.5,340.3 L348.1,340.4 L350.7,340.4 L353.3,340.4 L356,340.5 L358.6,340.5 L361.2,340.5 L363.8,340.6 L366.4,340.6 L369,340.6 L371.6,340.6 L374.2,340.7 L376.9,340.7 L379.5,340.7 L382.1,340.7 L384.7,340.7 L387.3,340.7 L389.9,340.8 L392.5,340.8 L395.1,340.8 L397.8,340.8 L400.4,340.8 L403,340.8 L405.6,340.8 L408.2,340.8 L410.8,340.8 L413.4,340.9 L416.1,340.9 L418.7,340.9 L421.3,340.9 L423.9,340.9 L426.5,340.9 L429.1,340.9 L431.7,340.9 L434.3,340.9 L437,340.9 L439.6,340.9 L442.2,340.9 L444.8,340.9 L447.4,340.9 L450,340.9 L452.6,340.9 L455.2,340.9 L457.9,340.9 L460.5,341 L463.1,341 L465.7,341 L468.3,341 L470.9,341 L473.5,341 L476.2,341 L478.8,341 L481.4,341 L484,341 L486.6,341 L489.2,341 L491.8,341 L494.4,341 L497.1,341 L499.7,341 L502.3,341 L504.9,341 L507.5,341 L510.1,341 L512.7,341 L515.3,341 L518,341 L520.6,341 L523.2,341 L525.8,341 L528.4,341 L531,341 L533.6,341 L536.2,341 L538.9,341 L541.5,341 L544.1,341 L546.7,341 L549.3,341 L551.9,341 L554.5,341 L557.2,341 L559.8,341 L562.4,341 L565,341 L567.6,341 L570.2,341 L572.8,341 L575.4,341 L578.1,341 L580.7,341 L583.3,341 L585.9,341 L588.5,341 L591.1,341 L593.7,341 L596.3,341 L599,341 L601.6,341 L604.2,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="620.8" y="58" width="103.2" height="105"/><rect x="620.8" y="58" width="103.2" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="635.8" y1="88" x2="650.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="635.8" y1="118" x2="650.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="635.8" y1="148" x2="650.8" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="658.3" y="88" font-size="15" font-family="Verdana">&#x3BB;=0.5</text>
-<text x="658.3" y="118" font-size="15" font-family="Verdana">&#x3BB;=1</text>
-<text x="658.3" y="148" font-size="15" font-family="Verdana">&#x3BB;=2</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Exponential Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.svg b/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.svg
deleted file mode 100644
index 9930ed28f7..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf1.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="288.3" y1="58" x2="288.3" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,327 L84.2,327 M82.2,313 L84.2,313 M82.2,299 L84.2,299 M82.2,285.1 L84.2,285.1 M82.2,257.1 L84.2,257.1 M82.2,243.1 L84.2,243.1 M82.2,229.1 L84.2,229.1 M82.2,215.1 L84.2,215.1 M82.2,187.1 L84.2,187.1 M82.2,173.2 L84.2,173.2 M82.2,159.2 L84.2,159.2 M82.2,145.2 L84.2,145.2 M82.2,117.2 L84.2,117.2 M82.2,103.2 L84.2,103.2 M82.2,89.24 L84.2,89.24 M82.2,75.25 L84.2,75.25 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M318.6,341 L318.6,343 M348.8,341 L348.8,343 M379.1,341 L379.1,343 M409.3,341 L409.3,343 M469.8,341 L469.8,343 M500.1,341 L500.1,343 M530.3,341 L530.3,343 M258.1,341 L258.1,343 M227.8,341 L227.8,343 M197.6,341 L197.6,343 M167.3,341 L167.3,343 M106.8,341 L106.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,271.1 L84.2,271.1 M79.2,201.1 L84.2,201.1 M79.2,131.2 L84.2,131.2 M79.2,61.26 L84.2,61.26 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M288.3,341 L288.3,346 M439.6,341 L439.6,346 M288.3,341 L288.3,346 M137.1,341 L137.1,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="288.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="439.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="288.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="137.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="273.5" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="203.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="133.6" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="63.66" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,328.1 L86.58,322.6 L88.96,315.7 L91.33,307 L93.71,296.8 L96.09,284.9 L98.47,271.4 L100.8,256.7 L103.2,240.9 L105.6,224.3 L108,207.4 L110.4,190.5 L112.7,173.9 L115.1,158.1 L117.5,143.3 L119.9,129.9 L122.2,117.9 L124.6,107.7 L127,99.26 L129.4,92.67 L131.8,87.93 L134.1,84.99 L136.5,83.77 L138.9,84.18 L141.3,86.07 L143.6,89.3 L146,93.73 L148.4,99.2 L150.8,105.5 L153.2,112.6 L155.5,120.3 L157.9,128.4 L160.3,136.9 L162.7,145.6 L165,154.4 L167.4,163.3 L169.8,172.1 L172.2,180.8 L174.6,189.3 L176.9,197.7 L179.3,205.8 L181.7,213.7 L184.1,221.3 L186.4,228.5 L188.8,235.5 L191.2,242.1 L193.6,248.4 L196,254.4 L198.3,260.1 L200.7,265.5 L203.1,270.5 L205.5,275.3 L207.8,279.8 L210.2,284 L212.6,287.9 L215,291.7 L217.4,295.1 L219.7,298.4 L222.1,301.4 L224.5,304.2 L226.9,306.9 L229.2,309.3 L231.6,311.6 L234,313.7 L236.4,315.7 L238.8,317.6 L241.1,319.3 L243.5,320.9 L245.9,322.4 L248.3,323.7 L250.6,325 L253,326.2 L255.4,327.3 L257.8,328.3 L260.2,329.2 L262.5,330.1 L264.9,330.9 L267.3,331.7 L269.7,332.4 L272,333 L274.4,333.6 L276.8,334.2 L279.2,334.7 L281.6,335.2 L283.9,335.6 L286.3,336 L288.7,336.4 L291.1,336.7 L293.4,337 L295.8,337.3 L298.2,337.6 L300.6,337.9 L303,338.1 L305.3,338.3 L307.7,338.5 L310.1,338.7 L312.5,338.9 L314.8,339 L317.2,339.2 L319.6,339.3 L322,339.5 L324.4,339.6 L326.7,339.7 L329.1,339.8 L331.5,339.9 L333.9,340 L336.2,340 L338.6,340.1 L341,340.2 L343.4,340.2 L345.8,340.3 L348.1,340.3 L350.5,340.4 L352.9,340.4 L355.3,340.5 L357.6,340.5 L360,340.6 L362.4,340.6 L364.8,340.6 L367.2,340.7 L369.5,340.7 L371.9,340.7 L374.3,340.7 L376.7,340.7 L379,340.8 L381.4,340.8 L383.8,340.8 L386.2,340.8 L388.6,340.8 L390.9,340.8 L393.3,340.9 L395.7,340.9 L398.1,340.9 L400.4,340.9 L402.8,340.9 L405.2,340.9 L407.6,340.9 L410,340.9 L412.3,340.9 L414.7,340.9 L417.1,340.9 L419.5,340.9 L421.8,340.9 L424.2,340.9 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,340.9 L217.4,340.8 L219.7,340.6 L222.1,340.2 L224.5,339.5 L226.9,338.4 L229.2,336.7 L231.6,334.3 L234,330.8 L236.4,326.2 L238.8,320.1 L241.1,312.5 L243.5,303.2 L245.9,292.3 L248.3,279.8 L250.6,265.8 L253,250.6 L255.4,234.4 L257.8,217.7 L260.2,200.7 L262.5,183.9 L264.9,167.6 L267.3,152.2 L269.7,137.9 L272,125 L274.4,113.7 L276.8,104.2 L279.2,96.46 L281.6,90.59 L283.9,86.56 L286.3,84.31 L288.7,83.75 L291.1,84.75 L293.4,87.18 L295.8,90.9 L298.2,95.76 L300.6,101.6 L303,108.2 L305.3,115.6 L307.7,123.4 L310.1,131.7 L312.5,140.3 L314.8,149 L317.2,157.9 L319.6,166.7 L322,175.5 L324.4,184.2 L326.7,192.6 L329.1,200.9 L331.5,208.9 L333.9,216.7 L336.2,224.1 L338.6,231.3 L341,238.1 L343.4,244.6 L345.8,250.8 L348.1,256.7 L350.5,262.2 L352.9,267.5 L355.3,272.4 L357.6,277.1 L360,281.5 L362.4,285.6 L364.8,289.4 L367.2,293 L369.5,296.4 L371.9,299.6 L374.3,302.5 L376.7,305.3 L379,307.8 L381.4,310.2 L383.8,312.5 L386.2,314.5 L388.6,316.5 L390.9,318.3 L393.3,319.9 L395.7,321.5 L398.1,322.9 L400.4,324.2 L402.8,325.5 L405.2,326.6 L407.6,327.7 L410,328.7 L412.3,329.6 L414.7,330.4 L417.1,331.2 L419.5,332 L421.8,332.6 L424.2,333.3 L426.6,333.8 L429,334.4 L431.4,334.9 L433.7,335.3 L436.1,335.8 L438.5,336.1 L440.9,336.5 L443.2,336.9 L445.6,337.2 L448,337.5 L450.4,337.7 L452.8,338 L455.1,338.2 L457.5,338.4 L459.9,338.6 L462.3,338.8 L464.6,338.9 L467,339.1 L469.4,339.2 L471.8,339.4 L474.2,339.5 L476.5,339.6 L478.9,339.7 L481.3,339.8 L483.7,339.9 L486,340 L488.4,340.1 L490.8,340.1 L493.2,340.2 L495.6,340.3 L497.9,340.3 L500.3,340.4 L502.7,340.4 L505.1,340.5 L507.4,340.5 L509.8,340.5 L512.2,340.6 L514.6,340.6 L517,340.6 L519.3,340.7 L521.7,340.7 L524.1,340.7 L526.5,340.7 L528.8,340.8 L531.2,340.8 L533.6,340.8 L536,340.8 L538.4,340.8 L540.7,340.8 L543.1,340.8 L545.5,340.9 L547.9,340.9 L550.2,340.9 L552.6,340.9 L555,340.9 L557.4,340.9 L559.8,340.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,340.9 L367.2,340.9 L369.5,340.7 L371.9,340.4 L374.3,339.9 L376.7,339.1 L379,337.8 L381.4,335.9 L383.8,333.1 L386.2,329.2 L388.6,324 L390.9,317.3 L393.3,309.1 L395.7,299.1 L398.1,287.6 L400.4,274.5 L402.8,260 L405.2,244.4 L407.6,227.9 L410,211.1 L412.3,194.1 L414.7,177.5 L417.1,161.4 L419.5,146.4 L421.8,132.7 L424.2,120.4 L426.6,109.8 L429,100.9 L431.4,93.94 L433.7,88.8 L436.1,85.48 L438.5,83.9 L440.9,83.96 L443.2,85.54 L445.6,88.5 L448,92.68 L450.4,97.93 L452.8,104.1 L455.1,111 L457.5,118.6 L459.9,126.6 L462.3,135 L464.6,143.7 L467,152.5 L469.4,161.3 L471.8,170.2 L474.2,178.9 L476.5,187.5 L478.9,195.9 L481.3,204.1 L483.7,212 L486,219.6 L488.4,227 L490.8,234 L493.2,240.7 L495.6,247.1 L497.9,253.1 L500.3,258.9 L502.7,264.3 L505.1,269.5 L507.4,274.3 L509.8,278.8 L512.2,283.1 L514.6,287.1 L517,290.9 L519.3,294.4 L521.7,297.7 L524.1,300.8 L526.5,303.6 L528.8,306.3 L531.2,308.8 L533.6,311.1 L536,313.3 L538.4,315.3 L540.7,317.2 L543.1,318.9 L545.5,320.5 L547.9,322 L550.2,323.4 L552.6,324.7 L555,325.9 L557.4,327.1 L559.8,328.1 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="611.3" y="88" font-size="15" font-family="Verdana">location=-5</text>
-<text x="611.3" y="118" font-size="15" font-family="Verdana">location=0</text>
-<text x="611.3" y="148" font-size="15" font-family="Verdana">location=5</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Extreme Value Distribution PDF (shape=1)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.svg b/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.svg
deleted file mode 100644
index 945612c050..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/extreme_value_pdf2.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="234.2" y1="58" x2="234.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334 L84.2,334 M82.2,327 L84.2,327 M82.2,320 L84.2,320 M82.2,313 L84.2,313 M82.2,299 L84.2,299 M82.2,292 L84.2,292 M82.2,285.1 L84.2,285.1 M82.2,278.1 L84.2,278.1 M82.2,264.1 L84.2,264.1 M82.2,257.1 L84.2,257.1 M82.2,250.1 L84.2,250.1 M82.2,243.1 L84.2,243.1 M82.2,229.1 L84.2,229.1 M82.2,222.1 L84.2,222.1 M82.2,215.1 L84.2,215.1 M82.2,208.1 L84.2,208.1 M82.2,194.1 L84.2,194.1 M82.2,187.1 L84.2,187.1 M82.2,180.2 L84.2,180.2 M82.2,173.2 L84.2,173.2 M82.2,159.2 L84.2,159.2 M82.2,152.2 L84.2,152.2 M82.2,145.2 L84.2,145.2 M82.2,138.2 L84.2,138.2 M82.2,124.2 L84.2,124.2 M82.2,117.2 L84.2,117.2 M82.2,110.2 L84.2,110.2 M82.2,103.2 L84.2,103.2 M82.2,89.24 L84.2,89.24 M82.2,82.24 L84.2,82.24 M82.2,75.25 L84.2,75.25 M82.2,68.26 L84.2,68.26 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M277.1,341 L277.1,343 M320.1,341 L320.1,343 M363,341 L363,343 M405.9,341 L405.9,343 M491.7,341 L491.7,343 M534.6,341 L534.6,343 M191.3,341 L191.3,343 M148.4,341 L148.4,343 M105.5,341 L105.5,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306 L84.2,306 M79.2,271.1 L84.2,271.1 M79.2,236.1 L84.2,236.1 M79.2,201.1 L84.2,201.1 M79.2,166.2 L84.2,166.2 M79.2,131.2 L84.2,131.2 M79.2,96.23 L84.2,96.23 M79.2,61.26 L84.2,61.26 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M234.2,341 L234.2,346 M448.8,341 L448.8,346 M234.2,341 L234.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="234.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="448.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="234.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="308.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="273.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="238.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="203.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="168.6" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="133.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="98.63" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="63.66" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,340.9 L184.9,340.7 L187.4,340.1 L189.8,339 L192.3,336.8 L194.7,332.9 L197.2,326.8 L199.6,317.7 L202.1,305.2 L204.6,289.3 L207,270 L209.5,248 L211.9,224.1 L214.4,199.4 L216.8,175.1 L219.3,152.3 L221.7,131.9 L224.2,114.7 L226.7,101.2 L229.1,91.53 L231.6,85.77 L234,83.74 L236.5,85.1 L238.9,89.44 L241.4,96.29 L243.9,105.2 L246.3,115.7 L248.8,127.3 L251.2,139.6 L253.7,152.4 L256.1,165.3 L258.6,178.1 L261,190.5 L263.5,202.6 L266,214.1 L268.4,225 L270.9,235.3 L273.3,244.8 L275.8,253.7 L278.2,261.9 L280.7,269.5 L283.2,276.4 L285.6,282.8 L288.1,288.6 L290.5,293.8 L293,298.6 L295.4,302.9 L297.9,306.8 L300.3,310.3 L302.8,313.5 L305.3,316.4 L307.7,319 L310.2,321.3 L312.6,323.4 L315.1,325.2 L317.5,326.9 L320,328.4 L322.5,329.7 L324.9,330.9 L327.4,332 L329.8,333 L332.3,333.8 L334.7,334.6 L337.2,335.3 L339.6,335.9 L342.1,336.4 L344.6,336.9 L347,337.4 L349.5,337.8 L351.9,338.1 L354.4,338.4 L356.8,338.7 L359.3,338.9 L361.8,339.2 L364.2,339.4 L366.7,339.5 L369.1,339.7 L371.6,339.8 L374,340 L376.5,340.1 L378.9,340.2 L381.4,340.3 L383.9,340.3 L386.3,340.4 L388.8,340.5 L391.2,340.5 L393.7,340.6 L396.1,340.6 L398.6,340.7 L401,340.7 L403.5,340.7 L406,340.8 L408.4,340.8 L410.9,340.8 L413.3,340.8 L415.8,340.9 L418.2,340.9 L420.7,340.9 L423.2,340.9 L425.6,340.9 L428.1,340.9 L430.5,340.9 L433,340.9 L435.4,340.9 L437.9,340.9 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,340.9 L133.3,340.9 L135.8,340.8 L138.2,340.7 L140.7,340.6 L143.1,340.3 L145.6,340 L148.1,339.5 L150.5,338.8 L153,338 L155.4,336.9 L157.9,335.5 L160.3,333.7 L162.8,331.6 L165.3,329.1 L167.7,326.2 L170.2,322.8 L172.6,319 L175.1,314.8 L177.5,310.1 L180,305.1 L182.4,299.7 L184.9,294 L187.4,288.1 L189.8,282 L192.3,275.9 L194.7,269.7 L197.2,263.6 L199.6,257.6 L202.1,251.8 L204.6,246.2 L207,241 L209.5,236.1 L211.9,231.6 L214.4,227.5 L216.8,224 L219.3,220.9 L221.7,218.2 L224.2,216.1 L226.7,214.5 L229.1,213.3 L231.6,212.6 L234,212.4 L236.5,212.5 L238.9,213.1 L241.4,214.1 L243.9,215.3 L246.3,216.9 L248.8,218.8 L251.2,220.9 L253.7,223.3 L256.1,225.8 L258.6,228.6 L261,231.4 L263.5,234.4 L266,237.4 L268.4,240.6 L270.9,243.7 L273.3,247 L275.8,250.2 L278.2,253.4 L280.7,256.6 L283.2,259.8 L285.6,262.9 L288.1,266 L290.5,269.1 L293,272 L295.4,274.9 L297.9,277.8 L300.3,280.5 L302.8,283.2 L305.3,285.8 L307.7,288.3 L310.2,290.8 L312.6,293.1 L315.1,295.4 L317.5,297.5 L320,299.6 L322.5,301.6 L324.9,303.6 L327.4,305.4 L329.8,307.2 L332.3,308.9 L334.7,310.5 L337.2,312 L339.6,313.5 L342.1,314.9 L344.6,316.2 L347,317.5 L349.5,318.7 L351.9,319.9 L354.4,321 L356.8,322 L359.3,323 L361.8,324 L364.2,324.9 L366.7,325.7 L369.1,326.6 L371.6,327.3 L374,328.1 L376.5,328.8 L378.9,329.4 L381.4,330 L383.9,330.6 L386.3,331.2 L388.8,331.7 L391.2,332.2 L393.7,332.7 L396.1,333.1 L398.6,333.6 L401,334 L403.5,334.4 L406,334.7 L408.4,335.1 L410.9,335.4 L413.3,335.7 L415.8,336 L418.2,336.3 L420.7,336.5 L423.2,336.8 L425.6,337 L428.1,337.2 L430.5,337.4 L433,337.6 L435.4,337.8 L437.9,338 L440.3,338.2 L442.8,338.3 L445.3,338.5 L447.7,338.6 L450.2,338.7 L452.6,338.9 L455.1,339 L457.5,339.1 L460,339.2 L462.5,339.3 L464.9,339.4 L467.4,339.5 L469.8,339.6 L472.3,339.6 L474.7,339.7 L477.2,339.8 L479.6,339.9 L482.1,339.9 L484.6,340 L487,340 L489.5,340.1 L491.9,340.1 L494.4,340.2 L496.8,340.2 L499.3,340.3 L501.8,340.3 L504.2,340.4 L506.7,340.4 L509.1,340.4 L511.6,340.5 L514,340.5 L516.5,340.5 L518.9,340.5 L521.4,340.6 L523.9,340.6 L526.3,340.6 L528.8,340.6 L531.2,340.7 L533.7,340.7 L536.1,340.7 L538.6,340.7 L541.1,340.7 L543.5,340.7 L546,340.8 L548.4,340.8 L550.9,340.8 L553.3,340.8 L555.8,340.8 L558.2,340.8 L560.7,340.8 L563.2,340.8 L565.6,340.8 L568.1,340.9 L570.5,340.9 L573,340.9 L575.4,340.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.66,337.3 L89.11,336.8 L91.57,336.3 L94.02,335.7 L96.48,335 L98.94,334.3 L101.4,333.5 L103.8,332.7 L106.3,331.8 L108.8,330.9 L111.2,329.9 L113.7,328.9 L116.1,327.8 L118.6,326.7 L121,325.5 L123.5,324.2 L126,322.9 L128.4,321.6 L130.9,320.2 L133.3,318.8 L135.8,317.4 L138.2,315.9 L140.7,314.4 L143.1,312.9 L145.6,311.4 L148.1,309.9 L150.5,308.3 L153,306.8 L155.4,305.2 L157.9,303.7 L160.3,302.2 L162.8,300.7 L165.3,299.2 L167.7,297.7 L170.2,296.3 L172.6,294.9 L175.1,293.5 L177.5,292.2 L180,290.9 L182.4,289.6 L184.9,288.4 L187.4,287.3 L189.8,286.2 L192.3,285.2 L194.7,284.2 L197.2,283.3 L199.6,282.4 L202.1,281.6 L204.6,280.9 L207,280.2 L209.5,279.6 L211.9,279 L214.4,278.5 L216.8,278.1 L219.3,277.7 L221.7,277.4 L224.2,277.1 L226.7,276.9 L229.1,276.8 L231.6,276.7 L234,276.7 L236.5,276.7 L238.9,276.8 L241.4,276.9 L243.9,277.1 L246.3,277.3 L248.8,277.5 L251.2,277.9 L253.7,278.2 L256.1,278.6 L258.6,279 L261,279.5 L263.5,279.9 L266,280.5 L268.4,281 L270.9,281.6 L273.3,282.2 L275.8,282.8 L278.2,283.5 L280.7,284.1 L283.2,284.8 L285.6,285.5 L288.1,286.3 L290.5,287 L293,287.8 L295.4,288.5 L297.9,289.3 L300.3,290.1 L302.8,290.8 L305.3,291.6 L307.7,292.4 L310.2,293.2 L312.6,294 L315.1,294.8 L317.5,295.7 L320,296.5 L322.5,297.3 L324.9,298.1 L327.4,298.9 L329.8,299.7 L332.3,300.5 L334.7,301.2 L337.2,302 L339.6,302.8 L342.1,303.6 L344.6,304.3 L347,305.1 L349.5,305.8 L351.9,306.6 L354.4,307.3 L356.8,308 L359.3,308.7 L361.8,309.4 L364.2,310.1 L366.7,310.8 L369.1,311.5 L371.6,312.2 L374,312.8 L376.5,313.5 L378.9,314.1 L381.4,314.7 L383.9,315.3 L386.3,315.9 L388.8,316.5 L391.2,317.1 L393.7,317.7 L396.1,318.2 L398.6,318.8 L401,319.3 L403.5,319.8 L406,320.4 L408.4,320.9 L410.9,321.4 L413.3,321.8 L415.8,322.3 L418.2,322.8 L420.7,323.2 L423.2,323.7 L425.6,324.1 L428.1,324.5 L430.5,325 L433,325.4 L435.4,325.8 L437.9,326.2 L440.3,326.5 L442.8,326.9 L445.3,327.3 L447.7,327.6 L450.2,328 L452.6,328.3 L455.1,328.6 L457.5,329 L460,329.3 L462.5,329.6 L464.9,329.9 L467.4,330.2 L469.8,330.5 L472.3,330.7 L474.7,331 L477.2,331.3 L479.6,331.5 L482.1,331.8 L484.6,332 L487,332.3 L489.5,332.5 L491.9,332.7 L494.4,333 L496.8,333.2 L499.3,333.4 L501.8,333.6 L504.2,333.8 L506.7,334 L509.1,334.2 L511.6,334.4 L514,334.5 L516.5,334.7 L518.9,334.9 L521.4,335.1 L523.9,335.2 L526.3,335.4 L528.8,335.5 L531.2,335.7 L533.7,335.8 L536.1,336 L538.6,336.1 L541.1,336.2 L543.5,336.4 L546,336.5 L548.4,336.6 L550.9,336.7 L553.3,336.9 L555.8,337 L558.2,337.1 L560.7,337.2 L563.2,337.3 L565.6,337.4 L568.1,337.5 L570.5,337.6 L573,337.7 L575.4,337.8 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="626.9" y="88" font-size="15" font-family="Verdana">shape=0.5</text>
-<text x="626.9" y="118" font-size="15" font-family="Verdana">shape=1</text>
-<text x="626.9" y="148" font-size="15" font-family="Verdana">shape=2</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Extreme Value Distribution PDF (location=0)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.svg b/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.svg
deleted file mode 100644
index a628164210..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/fisher_f_pdf.svg
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="481.4" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="483.4" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="567.6" y2="341"/><line x1="79.2" y1="341" x2="567.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.2 L84.2,334.2 M82.2,327.3 L84.2,327.3 M82.2,320.5 L84.2,320.5 M82.2,313.6 L84.2,313.6 M82.2,300 L84.2,300 M82.2,293.1 L84.2,293.1 M82.2,286.3 L84.2,286.3 M82.2,279.5 L84.2,279.5 M82.2,265.8 L84.2,265.8 M82.2,258.9 L84.2,258.9 M82.2,252.1 L84.2,252.1 M82.2,245.3 L84.2,245.3 M82.2,231.6 L84.2,231.6 M82.2,224.8 L84.2,224.8 M82.2,217.9 L84.2,217.9 M82.2,211.1 L84.2,211.1 M82.2,197.4 L84.2,197.4 M82.2,190.6 L84.2,190.6 M82.2,183.7 L84.2,183.7 M82.2,176.9 L84.2,176.9 M82.2,163.2 L84.2,163.2 M82.2,156.4 L84.2,156.4 M82.2,149.5 L84.2,149.5 M82.2,142.7 L84.2,142.7 M82.2,129 L84.2,129 M82.2,122.2 L84.2,122.2 M82.2,115.3 L84.2,115.3 M82.2,108.5 L84.2,108.5 M82.2,94.83 L84.2,94.83 M82.2,87.99 L84.2,87.99 M82.2,81.15 L84.2,81.15 M82.2,74.31 L84.2,74.31 M82.2,60.64 L84.2,60.64 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.4,341 L106.4,343 M128.5,341 L128.5,343 M150.7,341 L150.7,343 M172.8,341 L172.8,343 M217.1,341 L217.1,343 M239.3,341 L239.3,343 M261.5,341 L261.5,343 M283.6,341 L283.6,343 M327.9,341 L327.9,343 M350.1,341 L350.1,343 M372.3,341 L372.3,343 M394.4,341 L394.4,343 M438.7,341 L438.7,343 M460.9,341 L460.9,343 M483,341 L483,343 M505.2,341 L505.2,343 M549.5,341 L549.5,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306.8 L84.2,306.8 M79.2,272.6 L84.2,272.6 M79.2,238.4 L84.2,238.4 M79.2,204.2 L84.2,204.2 M79.2,170 L84.2,170 M79.2,135.9 L84.2,135.9 M79.2,101.7 L84.2,101.7 M79.2,67.48 L84.2,67.48 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M195,341 L195,346 M305.8,341 L305.8,346 M416.6,341 L416.6,346 M527.4,341 L527.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="195" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="305.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="416.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="527.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="309.2" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="275" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="240.8" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="206.6" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="172.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="138.3" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="104.1" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="69.88" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="325.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.62,299.9 L89.03,265.5 L91.45,236.8 L93.87,212.9 L96.28,193.1 L98.7,176.8 L101.1,163.6 L103.5,152.9 L106,144.4 L108.4,137.8 L110.8,132.8 L113.2,129.1 L115.6,126.7 L118,125.2 L120.5,124.7 L122.9,124.8 L125.3,125.6 L127.7,126.9 L130.1,128.6 L132.5,130.7 L135,133.1 L137.4,135.8 L139.8,138.6 L142.2,141.7 L144.6,144.8 L147,148.1 L149.5,151.5 L151.9,154.9 L154.3,158.3 L156.7,161.8 L159.1,165.3 L161.5,168.8 L164,172.2 L166.4,175.7 L168.8,179.1 L171.2,182.4 L173.6,185.8 L176,189 L178.5,192.3 L180.9,195.4 L183.3,198.5 L185.7,201.6 L188.1,204.6 L190.5,207.5 L193,210.4 L195.4,213.2 L197.8,216 L200.2,218.7 L202.6,221.3 L205.1,223.9 L207.5,226.4 L209.9,228.9 L212.3,231.3 L214.7,233.6 L217.1,235.9 L219.6,238.1 L222,240.3 L224.4,242.4 L226.8,244.5 L229.2,246.5 L231.6,248.5 L234.1,250.4 L236.5,252.3 L238.9,254.1 L241.3,255.9 L243.7,257.6 L246.1,259.3 L248.6,261 L251,262.6 L253.4,264.2 L255.8,265.7 L258.2,267.2 L260.6,268.7 L263.1,270.1 L265.5,271.5 L267.9,272.9 L270.3,274.2 L272.7,275.5 L275.1,276.7 L277.6,278 L280,279.2 L282.4,280.3 L284.8,281.5 L287.2,282.6 L289.6,283.7 L292.1,284.8 L294.5,285.8 L296.9,286.8 L299.3,287.8 L301.7,288.8 L304.1,289.7 L306.6,290.6 L309,291.5 L311.4,292.4 L313.8,293.3 L316.2,294.1 L318.6,295 L321.1,295.8 L323.5,296.6 L325.9,297.3 L328.3,298.1 L330.7,298.8 L333.2,299.5 L335.6,300.2 L338,300.9 L340.4,301.6 L342.8,302.3 L345.2,302.9 L347.7,303.5 L350.1,304.2 L352.5,304.8 L354.9,305.3 L357.3,305.9 L359.7,306.5 L362.2,307 L364.6,307.6 L367,308.1 L369.4,308.6 L371.8,309.2 L374.2,309.7 L376.7,310.1 L379.1,310.6 L381.5,311.1 L383.9,311.6 L386.3,312 L388.7,312.4 L391.2,312.9 L393.6,313.3 L396,313.7 L398.4,314.1 L400.8,314.5 L403.2,314.9 L405.7,315.3 L408.1,315.7 L410.5,316.1 L412.9,316.4 L415.3,316.8 L417.7,317.1 L420.2,317.5 L422.6,317.8 L425,318.1 L427.4,318.5 L429.8,318.8 L432.2,319.1 L434.7,319.4 L437.1,319.7 L439.5,320 L441.9,320.3 L444.3,320.6 L446.7,320.9 L449.2,321.1 L451.6,321.4 L454,321.7 L456.4,321.9 L458.8,322.2 L461.3,322.4 L463.7,322.7 L466.1,322.9 L468.5,323.2 L470.9,323.4 L473.3,323.6 L475.8,323.8 L478.2,324.1 L480.6,324.3 L483,324.5 L485.4,324.7 L487.8,324.9 L490.3,325.1 L492.7,325.3 L495.1,325.5 L497.5,325.7 L499.9,325.9 L502.3,326.1 L504.8,326.3 L507.2,326.5 L509.6,326.6 L512,326.8 L514.4,327 L516.8,327.2 L519.3,327.3 L521.7,327.5 L524.1,327.7 L526.5,327.8 L528.9,328 L531.3,328.1 L533.8,328.3 L536.2,328.4 L538.6,328.6 L541,328.7 L543.4,328.9 L545.8,329 L548.3,329.1 L550.7,329.3 L553.1,329.4 L555.5,329.5 L557.9,329.7 L560.3,329.8 L562.8,329.9 L565.2,330.1 L567.6,330.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.62,340.8 L89.03,339.2 L91.45,334.6 L93.87,326.4 L96.28,314.8 L98.7,300.5 L101.1,284.4 L103.5,267.3 L106,250.1 L108.4,233.2 L110.8,217.2 L113.2,202.3 L115.6,188.8 L118,176.7 L120.5,166.1 L122.9,156.9 L125.3,149.1 L127.7,142.6 L130.1,137.3 L132.5,133.1 L135,130 L137.4,127.8 L139.8,126.5 L142.2,125.8 L144.6,125.9 L147,126.5 L149.5,127.6 L151.9,129.1 L154.3,131 L156.7,133.3 L159.1,135.8 L161.5,138.5 L164,141.5 L166.4,144.6 L168.8,147.8 L171.2,151.1 L173.6,154.5 L176,158 L178.5,161.5 L180.9,165 L183.3,168.5 L185.7,172 L188.1,175.5 L190.5,179 L193,182.5 L195.4,185.9 L197.8,189.2 L200.2,192.6 L202.6,195.8 L205.1,199 L207.5,202.2 L209.9,205.3 L212.3,208.3 L214.7,211.3 L217.1,214.2 L219.6,217.1 L222,219.8 L224.4,222.6 L226.8,225.2 L229.2,227.8 L231.6,230.4 L234.1,232.8 L236.5,235.3 L238.9,237.6 L241.3,239.9 L243.7,242.2 L246.1,244.3 L248.6,246.5 L251,248.6 L253.4,250.6 L255.8,252.6 L258.2,254.5 L260.6,256.3 L263.1,258.2 L265.5,260 L267.9,261.7 L270.3,263.4 L272.7,265 L275.1,266.6 L277.6,268.2 L280,269.7 L282.4,271.2 L284.8,272.6 L287.2,274 L289.6,275.4 L292.1,276.8 L294.5,278.1 L296.9,279.3 L299.3,280.6 L301.7,281.8 L304.1,283 L306.6,284.1 L309,285.2 L311.4,286.3 L313.8,287.4 L316.2,288.4 L318.6,289.5 L321.1,290.4 L323.5,291.4 L325.9,292.4 L328.3,293.3 L330.7,294.2 L333.2,295.1 L335.6,295.9 L338,296.7 L340.4,297.6 L342.8,298.4 L345.2,299.1 L347.7,299.9 L350.1,300.6 L352.5,301.4 L354.9,302.1 L357.3,302.8 L359.7,303.4 L362.2,304.1 L364.6,304.7 L367,305.4 L369.4,306 L371.8,306.6 L374.2,307.2 L376.7,307.8 L379.1,308.3 L381.5,308.9 L383.9,309.4 L386.3,310 L388.7,310.5 L391.2,311 L393.6,311.5 L396,312 L398.4,312.4 L400.8,312.9 L403.2,313.4 L405.7,313.8 L408.1,314.2 L410.5,314.7 L412.9,315.1 L415.3,315.5 L417.7,315.9 L420.2,316.3 L422.6,316.7 L425,317 L427.4,317.4 L429.8,317.8 L432.2,318.1 L434.7,318.5 L437.1,318.8 L439.5,319.1 L441.9,319.5 L444.3,319.8 L446.7,320.1 L449.2,320.4 L451.6,320.7 L454,321 L456.4,321.3 L458.8,321.6 L461.3,321.9 L463.7,322.1 L466.1,322.4 L468.5,322.7 L470.9,322.9 L473.3,323.2 L475.8,323.4 L478.2,323.7 L480.6,323.9 L483,324.2 L485.4,324.4 L487.8,324.6 L490.3,324.9 L492.7,325.1 L495.1,325.3 L497.5,325.5 L499.9,325.7 L502.3,325.9 L504.8,326.1 L507.2,326.3 L509.6,326.5 L512,326.7 L514.4,326.9 L516.8,327.1 L519.3,327.3 L521.7,327.4 L524.1,327.6 L526.5,327.8 L528.9,328 L531.3,328.1 L533.8,328.3 L536.2,328.4 L538.6,328.6 L541,328.8 L543.4,328.9 L545.8,329.1 L548.3,329.2 L550.7,329.4 L553.1,329.5 L555.5,329.6 L557.9,329.8 L560.3,329.9 L562.8,330 L565.2,330.2 L567.6,330.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.62,341 L89.03,340.5 L91.45,338.9 L93.87,335.6 L96.28,330.2 L98.7,322.5 L101.1,312.7 L103.5,301 L106,287.7 L108.4,273.2 L110.8,257.9 L113.2,242.1 L115.6,226.2 L118,210.6 L120.5,195.4 L122.9,180.8 L125.3,167.1 L127.7,154.4 L130.1,142.7 L132.5,132.1 L135,122.6 L137.4,114.2 L139.8,107 L142.2,100.8 L144.6,95.7 L147,91.57 L149.5,88.37 L151.9,86.06 L154.3,84.57 L156.7,83.83 L159.1,83.79 L161.5,84.38 L164,85.55 L166.4,87.24 L168.8,89.4 L171.2,91.97 L173.6,94.9 L176,98.16 L178.5,101.7 L180.9,105.5 L183.3,109.5 L185.7,113.6 L188.1,117.9 L190.5,122.3 L193,126.8 L195.4,131.4 L197.8,136 L200.2,140.7 L202.6,145.3 L205.1,150 L207.5,154.6 L209.9,159.2 L212.3,163.8 L214.7,168.3 L217.1,172.8 L219.6,177.2 L222,181.6 L224.4,185.9 L226.8,190.1 L229.2,194.2 L231.6,198.2 L234.1,202.2 L236.5,206.1 L238.9,209.8 L241.3,213.5 L243.7,217.2 L246.1,220.7 L248.6,224.1 L251,227.5 L253.4,230.7 L255.8,233.9 L258.2,237 L260.6,240 L263.1,242.9 L265.5,245.8 L267.9,248.5 L270.3,251.2 L272.7,253.8 L275.1,256.4 L277.6,258.8 L280,261.2 L282.4,263.5 L284.8,265.8 L287.2,267.9 L289.6,270.1 L292.1,272.1 L294.5,274.1 L296.9,276 L299.3,277.9 L301.7,279.7 L304.1,281.5 L306.6,283.2 L309,284.8 L311.4,286.4 L313.8,288 L316.2,289.5 L318.6,291 L321.1,292.4 L323.5,293.8 L325.9,295.1 L328.3,296.4 L330.7,297.6 L333.2,298.9 L335.6,300 L338,301.2 L340.4,302.3 L342.8,303.3 L345.2,304.4 L347.7,305.4 L350.1,306.4 L352.5,307.3 L354.9,308.2 L357.3,309.1 L359.7,310 L362.2,310.8 L364.6,311.7 L367,312.4 L369.4,313.2 L371.8,313.9 L374.2,314.7 L376.7,315.4 L379.1,316 L381.5,316.7 L383.9,317.3 L386.3,318 L388.7,318.6 L391.2,319.2 L393.6,319.7 L396,320.3 L398.4,320.8 L400.8,321.3 L403.2,321.8 L405.7,322.3 L408.1,322.8 L410.5,323.3 L412.9,323.7 L415.3,324.1 L417.7,324.6 L420.2,325 L422.6,325.4 L425,325.8 L427.4,326.1 L429.8,326.5 L432.2,326.9 L434.7,327.2 L437.1,327.6 L439.5,327.9 L441.9,328.2 L444.3,328.5 L446.7,328.8 L449.2,329.1 L451.6,329.4 L454,329.7 L456.4,329.9 L458.8,330.2 L461.3,330.5 L463.7,330.7 L466.1,330.9 L468.5,331.2 L470.9,331.4 L473.3,331.6 L475.8,331.9 L478.2,332.1 L480.6,332.3 L483,332.5 L485.4,332.7 L487.8,332.9 L490.3,333 L492.7,333.2 L495.1,333.4 L497.5,333.6 L499.9,333.7 L502.3,333.9 L504.8,334.1 L507.2,334.2 L509.6,334.4 L512,334.5 L514.4,334.6 L516.8,334.8 L519.3,334.9 L521.7,335.1 L524.1,335.2 L526.5,335.3 L528.9,335.4 L531.3,335.6 L533.8,335.7 L536.2,335.8 L538.6,335.9 L541,336 L543.4,336.1 L545.8,336.2 L548.3,336.3 L550.7,336.4 L553.1,336.5 L555.5,336.6 L557.9,336.7 L560.3,336.8 L562.8,336.9 L565.2,337 L567.6,337 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.62,307.3 L89.03,277.6 L91.45,251.4 L93.87,228.4 L96.28,208.2 L98.7,190.7 L101.1,175.5 L103.5,162.4 L106,151.2 L108.4,141.7 L110.8,133.7 L113.2,127 L115.6,121.6 L118,117.3 L120.5,114 L122.9,111.5 L125.3,109.9 L127.7,108.9 L130.1,108.6 L132.5,108.8 L135,109.5 L137.4,110.6 L139.8,112.1 L142.2,114 L144.6,116.1 L147,118.5 L149.5,121.2 L151.9,124 L154.3,127 L156.7,130.1 L159.1,133.3 L161.5,136.6 L164,140 L166.4,143.5 L168.8,147 L171.2,150.6 L173.6,154.2 L176,157.7 L178.5,161.3 L180.9,164.9 L183.3,168.5 L185.7,172 L188.1,175.5 L190.5,179 L193,182.5 L195.4,185.9 L197.8,189.2 L200.2,192.6 L202.6,195.8 L205.1,199.1 L207.5,202.2 L209.9,205.3 L212.3,208.4 L214.7,211.4 L217.1,214.4 L219.6,217.3 L222,220.1 L224.4,222.9 L226.8,225.6 L229.2,228.3 L231.6,230.9 L234.1,233.4 L236.5,236 L238.9,238.4 L241.3,240.8 L243.7,243.1 L246.1,245.4 L248.6,247.6 L251,249.8 L253.4,252 L255.8,254 L258.2,256.1 L260.6,258 L263.1,260 L265.5,261.9 L267.9,263.7 L270.3,265.5 L272.7,267.3 L275.1,269 L277.6,270.7 L280,272.3 L282.4,273.9 L284.8,275.4 L287.2,276.9 L289.6,278.4 L292.1,279.9 L294.5,281.3 L296.9,282.6 L299.3,284 L301.7,285.3 L304.1,286.5 L306.6,287.8 L309,289 L311.4,290.2 L313.8,291.3 L316.2,292.4 L318.6,293.5 L321.1,294.6 L323.5,295.7 L325.9,296.7 L328.3,297.7 L330.7,298.6 L333.2,299.6 L335.6,300.5 L338,301.4 L340.4,302.3 L342.8,303.1 L345.2,303.9 L347.7,304.8 L350.1,305.5 L352.5,306.3 L354.9,307.1 L357.3,307.8 L359.7,308.5 L362.2,309.2 L364.6,309.9 L367,310.6 L369.4,311.2 L371.8,311.9 L374.2,312.5 L376.7,313.1 L379.1,313.7 L381.5,314.3 L383.9,314.8 L386.3,315.4 L388.7,315.9 L391.2,316.4 L393.6,317 L396,317.5 L398.4,317.9 L400.8,318.4 L403.2,318.9 L405.7,319.3 L408.1,319.8 L410.5,320.2 L412.9,320.6 L415.3,321.1 L417.7,321.5 L420.2,321.9 L422.6,322.2 L425,322.6 L427.4,323 L429.8,323.3 L432.2,323.7 L434.7,324 L437.1,324.4 L439.5,324.7 L441.9,325 L444.3,325.3 L446.7,325.7 L449.2,326 L451.6,326.2 L454,326.5 L456.4,326.8 L458.8,327.1 L461.3,327.4 L463.7,327.6 L466.1,327.9 L468.5,328.1 L470.9,328.4 L473.3,328.6 L475.8,328.8 L478.2,329.1 L480.6,329.3 L483,329.5 L485.4,329.7 L487.8,329.9 L490.3,330.2 L492.7,330.4 L495.1,330.6 L497.5,330.7 L499.9,330.9 L502.3,331.1 L504.8,331.3 L507.2,331.5 L509.6,331.7 L512,331.8 L514.4,332 L516.8,332.2 L519.3,332.3 L521.7,332.5 L524.1,332.6 L526.5,332.8 L528.9,332.9 L531.3,333.1 L533.8,333.2 L536.2,333.3 L538.6,333.5 L541,333.6 L543.4,333.7 L545.8,333.9 L548.3,334 L550.7,334.1 L553.1,334.2 L555.5,334.4 L557.9,334.5 L560.3,334.6 L562.8,334.7 L565.2,334.8 L567.6,334.9 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="135"/><rect x="581.6" y="58" width="142.4" height="135"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="178" x2="611.6" y2="178"/></g>
-</g>
-<g id="legendText">
-<text x="619.1" y="88" font-size="15" font-family="Verdana">n=4, m=4</text>
-<text x="619.1" y="118" font-size="15" font-family="Verdana">n=10, m=4</text>
-<text x="619.1" y="148" font-size="15" font-family="Verdana">n=10, m=10</text>
-<text x="619.1" y="178" font-size="15" font-family="Verdana">n=4, m=10</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">F Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.svg b/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.svg
deleted file mode 100644
index 380ce0f585..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/gamma1_pdf.svg
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="465.7" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="467.7" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="551.9" y2="341"/><line x1="79.2" y1="341" x2="551.9" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,326.9 L84.2,326.9 M82.2,312.9 L84.2,312.9 M82.2,298.8 L84.2,298.8 M82.2,284.8 L84.2,284.8 M82.2,256.7 L84.2,256.7 M82.2,242.6 L84.2,242.6 M82.2,228.6 L84.2,228.6 M82.2,214.5 L84.2,214.5 M82.2,186.4 L84.2,186.4 M82.2,172.4 L84.2,172.4 M82.2,158.3 L84.2,158.3 M82.2,144.3 L84.2,144.3 M82.2,116.2 L84.2,116.2 M82.2,102.1 L84.2,102.1 M82.2,88.1 L84.2,88.1 M82.2,74.05 L84.2,74.05 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M96.37,341 L96.37,343 M108.5,341 L108.5,343 M120.7,341 L120.7,343 M132.9,341 L132.9,343 M157.2,341 L157.2,343 M169.4,341 L169.4,343 M181.5,341 L181.5,343 M193.7,341 L193.7,343 M218,341 L218,343 M230.2,341 L230.2,343 M242.4,341 L242.4,343 M254.5,341 L254.5,343 M278.9,341 L278.9,343 M291,341 L291,343 M303.2,341 L303.2,343 M315.4,341 L315.4,343 M339.7,341 L339.7,343 M351.9,341 L351.9,343 M364,341 L364,343 M376.2,341 L376.2,343 M400.5,341 L400.5,343 M412.7,341 L412.7,343 M424.8,341 L424.8,343 M437,341 L437,343 M461.3,341 L461.3,343 M473.5,341 L473.5,343 M485.7,341 L485.7,343 M497.8,341 L497.8,343 M522.2,341 L522.2,343 M534.3,341 L534.3,343 M546.5,341 L546.5,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,270.7 L84.2,270.7 M79.2,200.5 L84.2,200.5 M79.2,130.2 L84.2,130.2 M79.2,60 L84.2,60 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M145,341 L145,346 M205.9,341 L205.9,346 M266.7,341 L266.7,346 M327.5,341 L327.5,346 M388.3,341 L388.3,346 M449.2,341 L449.2,346 M510,341 L510,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="145" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="205.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="266.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="327.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="388.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="449.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
-<text x="510" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="273.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="202.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="132.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="62.4" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="318.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,-9.388e+078 L86.54,91.83 L88.88,139.4 L91.22,165.7 L93.55,184 L95.89,198.1 L98.23,209.6 L100.6,219.4 L102.9,227.8 L105.2,235.2 L107.6,241.9 L109.9,247.9 L112.3,253.3 L114.6,258.3 L116.9,262.9 L119.3,267.1 L121.6,271 L124,274.7 L126.3,278.1 L128.6,281.3 L131,284.2 L133.3,287 L135.6,289.7 L138,292.2 L140.3,294.5 L142.7,296.7 L145,298.8 L147.3,300.8 L149.7,302.6 L152,304.4 L154.4,306.1 L156.7,307.7 L159,309.2 L161.4,310.6 L163.7,312 L166.1,313.3 L168.4,314.5 L170.7,315.7 L173.1,316.8 L175.4,317.9 L177.7,318.9 L180.1,319.8 L182.4,320.8 L184.8,321.6 L187.1,322.5 L189.4,323.3 L191.8,324 L194.1,324.8 L196.5,325.5 L198.8,326.1 L201.1,326.8 L203.5,327.4 L205.8,327.9 L208.1,328.5 L210.5,329 L212.8,329.5 L215.2,330 L217.5,330.5 L219.8,330.9 L222.2,331.3 L224.5,331.7 L226.9,332.1 L229.2,332.5 L231.5,332.8 L233.9,333.2 L236.2,333.5 L238.5,333.8 L240.9,334.1 L243.2,334.4 L245.6,334.7 L247.9,334.9 L250.2,335.2 L252.6,335.4 L254.9,335.6 L257.3,335.9 L259.6,336.1 L261.9,336.3 L264.3,336.5 L266.6,336.7 L268.9,336.8 L271.3,337 L273.6,337.2 L276,337.3 L278.3,337.5 L280.6,337.6 L283,337.8 L285.3,337.9 L287.7,338 L290,338.1 L292.3,338.2 L294.7,338.4 L297,338.5 L299.4,338.6 L301.7,338.7 L304,338.8 L306.4,338.8 L308.7,338.9 L311,339 L313.4,339.1 L315.7,339.2 L318.1,339.2 L320.4,339.3 L322.7,339.4 L325.1,339.5 L327.4,339.5 L329.8,339.6 L332.1,339.6 L334.4,339.7 L336.8,339.7 L339.1,339.8 L341.4,339.8 L343.8,339.9 L346.1,339.9 L348.5,340 L350.8,340 L353.1,340 L355.5,340.1 L357.8,340.1 L360.2,340.2 L362.5,340.2 L364.8,340.2 L367.2,340.3 L369.5,340.3 L371.8,340.3 L374.2,340.3 L376.5,340.4 L378.9,340.4 L381.2,340.4 L383.5,340.4 L385.9,340.5 L388.2,340.5 L390.6,340.5 L392.9,340.5 L395.2,340.5 L397.6,340.6 L399.9,340.6 L402.2,340.6 L404.6,340.6 L406.9,340.6 L409.3,340.6 L411.6,340.7 L413.9,340.7 L416.3,340.7 L418.6,340.7 L421,340.7 L423.3,340.7 L425.6,340.7 L428,340.7 L430.3,340.7 L432.7,340.8 L435,340.8 L437.3,340.8 L439.7,340.8 L442,340.8 L444.3,340.8 L446.7,340.8 L449,340.8 L451.4,340.8 L453.7,340.8 L456,340.8 L458.4,340.8 L460.7,340.9 L463.1,340.9 L465.4,340.9 L467.7,340.9 L470.1,340.9 L472.4,340.9 L474.7,340.9 L477.1,340.9 L479.4,340.9 L481.8,340.9 L484.1,340.9 L486.4,340.9 L488.8,340.9 L491.1,340.9 L493.5,340.9 L495.8,340.9 L498.1,340.9 L500.5,340.9 L502.8,340.9 L505.1,340.9 L507.5,340.9 L509.8,340.9 L512.2,340.9 L514.5,340.9 L516.8,340.9 L519.2,340.9 L521.5,340.9 L523.9,340.9 L526.2,341 L528.5,341 L530.9,341 L533.2,341 L535.5,341 L537.9,341 L540.2,341 L542.6,341 L544.9,341 L547.2,341 L549.6,341 L551.9,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,200.5 L86.54,205.8 L88.88,210.9 L91.22,215.8 L93.55,220.5 L95.89,225.1 L98.23,229.4 L100.6,233.6 L102.9,237.7 L105.2,241.6 L107.6,245.3 L109.9,249 L112.3,252.4 L114.6,255.8 L116.9,259 L119.3,262.1 L121.6,265 L124,267.9 L126.3,270.7 L128.6,273.3 L131,275.9 L133.3,278.3 L135.6,280.7 L138,283 L140.3,285.2 L142.7,287.3 L145,289.3 L147.3,291.2 L149.7,293.1 L152,294.9 L154.4,296.7 L156.7,298.3 L159,299.9 L161.4,301.5 L163.7,303 L166.1,304.4 L168.4,305.8 L170.7,307.1 L173.1,308.4 L175.4,309.6 L177.7,310.8 L180.1,312 L182.4,313 L184.8,314.1 L187.1,315.1 L189.4,316.1 L191.8,317 L194.1,317.9 L196.5,318.8 L198.8,319.6 L201.1,320.4 L203.5,321.2 L205.8,322 L208.1,322.7 L210.5,323.4 L212.8,324 L215.2,324.7 L217.5,325.3 L219.8,325.9 L222.2,326.5 L224.5,327 L226.9,327.5 L229.2,328 L231.5,328.5 L233.9,329 L236.2,329.5 L238.5,329.9 L240.9,330.3 L243.2,330.7 L245.6,331.1 L247.9,331.5 L250.2,331.8 L252.6,332.2 L254.9,332.5 L257.3,332.8 L259.6,333.1 L261.9,333.4 L264.3,333.7 L266.6,334 L268.9,334.3 L271.3,334.5 L273.6,334.8 L276,335 L278.3,335.2 L280.6,335.4 L283,335.6 L285.3,335.9 L287.7,336 L290,336.2 L292.3,336.4 L294.7,336.6 L297,336.8 L299.4,336.9 L301.7,337.1 L304,337.2 L306.4,337.4 L308.7,337.5 L311,337.6 L313.4,337.8 L315.7,337.9 L318.1,338 L320.4,338.1 L322.7,338.2 L325.1,338.3 L327.4,338.4 L329.8,338.5 L332.1,338.6 L334.4,338.7 L336.8,338.8 L339.1,338.9 L341.4,339 L343.8,339 L346.1,339.1 L348.5,339.2 L350.8,339.2 L353.1,339.3 L355.5,339.4 L357.8,339.4 L360.2,339.5 L362.5,339.6 L364.8,339.6 L367.2,339.7 L369.5,339.7 L371.8,339.8 L374.2,339.8 L376.5,339.9 L378.9,339.9 L381.2,339.9 L383.5,340 L385.9,340 L388.2,340.1 L390.6,340.1 L392.9,340.1 L395.2,340.2 L397.6,340.2 L399.9,340.2 L402.2,340.2 L404.6,340.3 L406.9,340.3 L409.3,340.3 L411.6,340.4 L413.9,340.4 L416.3,340.4 L418.6,340.4 L421,340.4 L423.3,340.5 L425.6,340.5 L428,340.5 L430.3,340.5 L432.7,340.5 L435,340.6 L437.3,340.6 L439.7,340.6 L442,340.6 L444.3,340.6 L446.7,340.6 L449,340.7 L451.4,340.7 L453.7,340.7 L456,340.7 L458.4,340.7 L460.7,340.7 L463.1,340.7 L465.4,340.7 L467.7,340.7 L470.1,340.8 L472.4,340.8 L474.7,340.8 L477.1,340.8 L479.4,340.8 L481.8,340.8 L484.1,340.8 L486.4,340.8 L488.8,340.8 L491.1,340.8 L493.5,340.8 L495.8,340.8 L498.1,340.8 L500.5,340.9 L502.8,340.9 L505.1,340.9 L507.5,340.9 L509.8,340.9 L512.2,340.9 L514.5,340.9 L516.8,340.9 L519.2,340.9 L521.5,340.9 L523.9,340.9 L526.2,340.9 L528.5,340.9 L530.9,340.9 L533.2,340.9 L535.5,340.9 L537.9,340.9 L540.2,340.9 L542.6,340.9 L544.9,340.9 L547.2,340.9 L549.6,340.9 L551.9,340.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.54,340.9 L88.88,340.6 L91.22,340.2 L93.55,339.6 L95.89,338.9 L98.23,338 L100.6,337.1 L102.9,336.1 L105.2,335 L107.6,333.9 L109.9,332.8 L112.3,331.6 L114.6,330.4 L116.9,329.1 L119.3,327.9 L121.6,326.6 L124,325.4 L126.3,324.2 L128.6,322.9 L131,321.7 L133.3,320.6 L135.6,319.4 L138,318.3 L140.3,317.2 L142.7,316.2 L145,315.2 L147.3,314.2 L149.7,313.3 L152,312.4 L154.4,311.5 L156.7,310.7 L159,309.9 L161.4,309.2 L163.7,308.5 L166.1,307.9 L168.4,307.3 L170.7,306.7 L173.1,306.2 L175.4,305.7 L177.7,305.3 L180.1,304.9 L182.4,304.6 L184.8,304.2 L187.1,304 L189.4,303.7 L191.8,303.5 L194.1,303.3 L196.5,303.2 L198.8,303.1 L201.1,303 L203.5,303 L205.8,303 L208.1,303 L210.5,303 L212.8,303.1 L215.2,303.2 L217.5,303.3 L219.8,303.4 L222.2,303.6 L224.5,303.8 L226.9,304 L229.2,304.2 L231.5,304.4 L233.9,304.7 L236.2,305 L238.5,305.2 L240.9,305.5 L243.2,305.8 L245.6,306.2 L247.9,306.5 L250.2,306.8 L252.6,307.2 L254.9,307.6 L257.3,307.9 L259.6,308.3 L261.9,308.7 L264.3,309.1 L266.6,309.5 L268.9,309.9 L271.3,310.3 L273.6,310.7 L276,311.2 L278.3,311.6 L280.6,312 L283,312.4 L285.3,312.9 L287.7,313.3 L290,313.7 L292.3,314.1 L294.7,314.6 L297,315 L299.4,315.4 L301.7,315.9 L304,316.3 L306.4,316.7 L308.7,317.1 L311,317.5 L313.4,318 L315.7,318.4 L318.1,318.8 L320.4,319.2 L322.7,319.6 L325.1,320 L327.4,320.4 L329.8,320.8 L332.1,321.2 L334.4,321.6 L336.8,321.9 L339.1,322.3 L341.4,322.7 L343.8,323.1 L346.1,323.4 L348.5,323.8 L350.8,324.1 L353.1,324.5 L355.5,324.8 L357.8,325.2 L360.2,325.5 L362.5,325.8 L364.8,326.2 L367.2,326.5 L369.5,326.8 L371.8,327.1 L374.2,327.4 L376.5,327.7 L378.9,328 L381.2,328.3 L383.5,328.6 L385.9,328.9 L388.2,329.2 L390.6,329.4 L392.9,329.7 L395.2,329.9 L397.6,330.2 L399.9,330.5 L402.2,330.7 L404.6,330.9 L406.9,331.2 L409.3,331.4 L411.6,331.6 L413.9,331.9 L416.3,332.1 L418.6,332.3 L421,332.5 L423.3,332.7 L425.6,332.9 L428,333.1 L430.3,333.3 L432.7,333.5 L435,333.7 L437.3,333.9 L439.7,334 L442,334.2 L444.3,334.4 L446.7,334.6 L449,334.7 L451.4,334.9 L453.7,335 L456,335.2 L458.4,335.3 L460.7,335.5 L463.1,335.6 L465.4,335.8 L467.7,335.9 L470.1,336 L472.4,336.2 L474.7,336.3 L477.1,336.4 L479.4,336.5 L481.8,336.6 L484.1,336.8 L486.4,336.9 L488.8,337 L491.1,337.1 L493.5,337.2 L495.8,337.3 L498.1,337.4 L500.5,337.5 L502.8,337.6 L505.1,337.7 L507.5,337.8 L509.8,337.9 L512.2,337.9 L514.5,338 L516.8,338.1 L519.2,338.2 L521.5,338.3 L523.9,338.3 L526.2,338.4 L528.5,338.5 L530.9,338.5 L533.2,338.6 L535.5,338.7 L537.9,338.7 L540.2,338.8 L542.6,338.9 L544.9,338.9 L547.2,339 L549.6,339 L551.9,339.1 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="565.9" y="58" width="158.1" height="105"/><rect x="565.9" y="58" width="158.1" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="580.9" y1="88" x2="595.9" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="580.9" y1="118" x2="595.9" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="580.9" y1="148" x2="595.9" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="603.4" y="88" font-size="15" font-family="Verdana">shape = 0.75</text>
-<text x="603.4" y="118" font-size="15" font-family="Verdana">shape = 1</text>
-<text x="603.4" y="148" font-size="15" font-family="Verdana">shape = 3</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Gamma Distribution PDF With Scale = 1</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.svg b/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.svg
deleted file mode 100644
index f37068392a..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/gamma2_pdf.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334 L84.2,334 M82.2,327 L84.2,327 M82.2,320 L84.2,320 M82.2,313 L84.2,313 M82.2,299 L84.2,299 M82.2,292 L84.2,292 M82.2,285.1 L84.2,285.1 M82.2,278.1 L84.2,278.1 M82.2,264.1 L84.2,264.1 M82.2,257.1 L84.2,257.1 M82.2,250.1 L84.2,250.1 M82.2,243.1 L84.2,243.1 M82.2,229.1 L84.2,229.1 M82.2,222.1 L84.2,222.1 M82.2,215.1 L84.2,215.1 M82.2,208.1 L84.2,208.1 M82.2,194.1 L84.2,194.1 M82.2,187.1 L84.2,187.1 M82.2,180.2 L84.2,180.2 M82.2,173.2 L84.2,173.2 M82.2,159.2 L84.2,159.2 M82.2,152.2 L84.2,152.2 M82.2,145.2 L84.2,145.2 M82.2,138.2 L84.2,138.2 M82.2,124.2 L84.2,124.2 M82.2,117.2 L84.2,117.2 M82.2,110.2 L84.2,110.2 M82.2,103.2 L84.2,103.2 M82.2,89.24 L84.2,89.24 M82.2,82.24 L84.2,82.24 M82.2,75.25 L84.2,75.25 M82.2,68.26 L84.2,68.26 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M125.6,341 L125.6,343 M167,341 L167,343 M208.4,341 L208.4,343 M249.8,341 L249.8,343 M332.6,341 L332.6,343 M374,341 L374,343 M415.4,341 L415.4,343 M456.8,341 L456.8,343 M539.6,341 L539.6,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,306 L84.2,306 M79.2,271.1 L84.2,271.1 M79.2,236.1 L84.2,236.1 M79.2,201.1 L84.2,201.1 M79.2,166.2 L84.2,166.2 M79.2,131.2 L84.2,131.2 M79.2,96.23 L84.2,96.23 M79.2,61.26 L84.2,61.26 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M291.2,341 L291.2,346 M498.2,341 L498.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="291.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="498.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="308.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="273.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="238.5" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="203.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="168.6" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="133.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="98.63" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="63.66" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.58,269.4 L88.96,213.3 L91.33,170.3 L93.71,138 L96.09,114.8 L98.47,99.06 L100.8,89.36 L103.2,84.62 L105.6,83.87 L108,86.3 L110.4,91.23 L112.7,98.09 L115.1,106.4 L117.5,115.8 L119.9,125.9 L122.2,136.4 L124.6,147.2 L127,158.1 L129.4,168.9 L131.8,179.5 L134.1,189.8 L136.5,199.8 L138.9,209.4 L141.3,218.6 L143.6,227.3 L146,235.6 L148.4,243.4 L150.8,250.8 L153.2,257.7 L155.5,264.2 L157.9,270.2 L160.3,275.9 L162.7,281.1 L165,286 L167.4,290.5 L169.8,294.7 L172.2,298.6 L174.6,302.2 L176.9,305.5 L179.3,308.5 L181.7,311.3 L184.1,313.9 L186.4,316.3 L188.8,318.4 L191.2,320.4 L193.6,322.3 L196,323.9 L198.3,325.5 L200.7,326.9 L203.1,328.1 L205.5,329.3 L207.8,330.4 L210.2,331.3 L212.6,332.2 L215,333 L217.4,333.8 L219.7,334.4 L222.1,335 L224.5,335.6 L226.9,336.1 L229.2,336.6 L231.6,337 L234,337.4 L236.4,337.7 L238.8,338 L241.1,338.3 L243.5,338.6 L245.9,338.8 L248.3,339 L250.6,339.2 L253,339.4 L255.4,339.5 L257.8,339.7 L260.2,339.8 L262.5,339.9 L264.9,340 L267.3,340.1 L269.7,340.2 L272,340.3 L274.4,340.3 L276.8,340.4 L279.2,340.5 L281.6,340.5 L283.9,340.6 L286.3,340.6 L288.7,340.6 L291.1,340.7 L293.4,340.7 L295.8,340.7 L298.2,340.8 L300.6,340.8 L303,340.8 L305.3,340.8 L307.7,340.8 L310.1,340.9 L312.5,340.9 L314.8,340.9 L317.2,340.9 L319.6,340.9 L322,340.9 L324.4,340.9 L326.7,340.9 L329.1,340.9 L331.5,340.9 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,322 L88.96,305.2 L91.33,290.3 L93.71,277.2 L96.09,265.7 L98.47,255.6 L100.8,247 L103.2,239.5 L105.6,233.2 L108,227.9 L110.4,223.6 L112.7,220 L115.1,217.3 L117.5,215.2 L119.9,213.7 L122.2,212.8 L124.6,212.4 L127,212.4 L129.4,212.9 L131.8,213.7 L134.1,214.7 L136.5,216.1 L138.9,217.7 L141.3,219.5 L143.6,221.5 L146,223.7 L148.4,226 L150.8,228.4 L153.2,230.9 L155.5,233.4 L157.9,236.1 L160.3,238.7 L162.7,241.4 L165,244.1 L167.4,246.8 L169.8,249.5 L172.2,252.3 L174.6,254.9 L176.9,257.6 L179.3,260.2 L181.7,262.8 L184.1,265.4 L186.4,267.9 L188.8,270.4 L191.2,272.8 L193.6,275.2 L196,277.5 L198.3,279.8 L200.7,282 L203.1,284.2 L205.5,286.3 L207.8,288.3 L210.2,290.3 L212.6,292.2 L215,294.1 L217.4,295.9 L219.7,297.7 L222.1,299.4 L224.5,301 L226.9,302.6 L229.2,304.1 L231.6,305.6 L234,307.1 L236.4,308.4 L238.8,309.8 L241.1,311.1 L243.5,312.3 L245.9,313.5 L248.3,314.7 L250.6,315.8 L253,316.8 L255.4,317.9 L257.8,318.9 L260.2,319.8 L262.5,320.7 L264.9,321.6 L267.3,322.4 L269.7,323.2 L272,324 L274.4,324.8 L276.8,325.5 L279.2,326.2 L281.6,326.8 L283.9,327.4 L286.3,328.1 L288.7,328.6 L291.1,329.2 L293.4,329.7 L295.8,330.2 L298.2,330.7 L300.6,331.2 L303,331.6 L305.3,332.1 L307.7,332.5 L310.1,332.9 L312.5,333.2 L314.8,333.6 L317.2,333.9 L319.6,334.3 L322,334.6 L324.4,334.9 L326.7,335.1 L329.1,335.4 L331.5,335.7 L333.9,335.9 L336.2,336.2 L338.6,336.4 L341,336.6 L343.4,336.8 L345.8,337 L348.1,337.2 L350.5,337.4 L352.9,337.6 L355.3,337.7 L357.6,337.9 L360,338 L362.4,338.2 L364.8,338.3 L367.2,338.4 L369.5,338.6 L371.9,338.7 L374.3,338.8 L376.7,338.9 L379,339 L381.4,339.1 L383.8,339.2 L386.2,339.3 L388.6,339.4 L390.9,339.4 L393.3,339.5 L395.7,339.6 L398.1,339.6 L400.4,339.7 L402.8,339.8 L405.2,339.8 L407.6,339.9 L410,339.9 L412.3,340 L414.7,340 L417.1,340.1 L419.5,340.1 L421.8,340.2 L424.2,340.2 L426.6,340.3 L429,340.3 L431.4,340.3 L433.7,340.4 L436.1,340.4 L438.5,340.4 L440.9,340.5 L443.2,340.5 L445.6,340.5 L448,340.5 L450.4,340.6 L452.8,340.6 L455.1,340.6 L457.5,340.6 L459.9,340.6 L462.3,340.7 L464.6,340.7 L467,340.7 L469.4,340.7 L471.8,340.7 L474.2,340.7 L476.5,340.7 L478.9,340.8 L481.3,340.8 L483.7,340.8 L486,340.8 L488.4,340.8 L490.8,340.8 L493.2,340.8 L495.6,340.8 L497.9,340.8 L500.3,340.8 L502.7,340.9 L505.1,340.9 L507.4,340.9 L509.8,340.9 L512.2,340.9 L514.6,340.9 L517,340.9 L519.3,340.9 L521.7,340.9 L524.1,340.9 L526.5,340.9 L528.8,340.9 L531.2,340.9 L533.6,340.9 L536,340.9 L538.4,340.9 L540.7,340.9 L543.1,340.9 L545.5,340.9 L547.9,340.9 L550.2,340.9 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,336.1 L88.96,331.5 L91.33,327.2 L93.71,323.1 L96.09,319.3 L98.47,315.6 L100.8,312.3 L103.2,309.1 L105.6,306.1 L108,303.3 L110.4,300.7 L112.7,298.3 L115.1,296.1 L117.5,294 L119.9,292 L122.2,290.3 L124.6,288.6 L127,287.1 L129.4,285.7 L131.8,284.5 L134.1,283.3 L136.5,282.3 L138.9,281.3 L141.3,280.5 L143.6,279.8 L146,279.1 L148.4,278.6 L150.8,278.1 L153.2,277.7 L155.5,277.4 L157.9,277.1 L160.3,276.9 L162.7,276.8 L165,276.7 L167.4,276.7 L169.8,276.7 L172.2,276.8 L174.6,276.9 L176.9,277.1 L179.3,277.3 L181.7,277.6 L184.1,277.9 L186.4,278.2 L188.8,278.6 L191.2,278.9 L193.6,279.4 L196,279.8 L198.3,280.3 L200.7,280.8 L203.1,281.3 L205.5,281.8 L207.8,282.4 L210.2,282.9 L212.6,283.5 L215,284.1 L217.4,284.7 L219.7,285.3 L222.1,285.9 L224.5,286.6 L226.9,287.2 L229.2,287.9 L231.6,288.5 L234,289.2 L236.4,289.9 L238.8,290.5 L241.1,291.2 L243.5,291.9 L245.9,292.6 L248.3,293.2 L250.6,293.9 L253,294.6 L255.4,295.3 L257.8,296 L260.2,296.6 L262.5,297.3 L264.9,298 L267.3,298.6 L269.7,299.3 L272,300 L274.4,300.6 L276.8,301.3 L279.2,301.9 L281.6,302.6 L283.9,303.2 L286.3,303.8 L288.7,304.5 L291.1,305.1 L293.4,305.7 L295.8,306.3 L298.2,306.9 L300.6,307.5 L303,308.1 L305.3,308.7 L307.7,309.3 L310.1,309.8 L312.5,310.4 L314.8,311 L317.2,311.5 L319.6,312 L322,312.6 L324.4,313.1 L326.7,313.6 L329.1,314.1 L331.5,314.6 L333.9,315.1 L336.2,315.6 L338.6,316.1 L341,316.6 L343.4,317.1 L345.8,317.5 L348.1,318 L350.5,318.4 L352.9,318.9 L355.3,319.3 L357.6,319.8 L360,320.2 L362.4,320.6 L364.8,321 L367.2,321.4 L369.5,321.8 L371.9,322.2 L374.3,322.6 L376.7,322.9 L379,323.3 L381.4,323.7 L383.8,324 L386.2,324.4 L388.6,324.7 L390.9,325.1 L393.3,325.4 L395.7,325.7 L398.1,326 L400.4,326.3 L402.8,326.7 L405.2,327 L407.6,327.3 L410,327.5 L412.3,327.8 L414.7,328.1 L417.1,328.4 L419.5,328.7 L421.8,328.9 L424.2,329.2 L426.6,329.4 L429,329.7 L431.4,329.9 L433.7,330.2 L436.1,330.4 L438.5,330.6 L440.9,330.9 L443.2,331.1 L445.6,331.3 L448,331.5 L450.4,331.7 L452.8,331.9 L455.1,332.1 L457.5,332.3 L459.9,332.5 L462.3,332.7 L464.6,332.9 L467,333.1 L469.4,333.2 L471.8,333.4 L474.2,333.6 L476.5,333.7 L478.9,333.9 L481.3,334.1 L483.7,334.2 L486,334.4 L488.4,334.5 L490.8,334.7 L493.2,334.8 L495.6,335 L497.9,335.1 L500.3,335.2 L502.7,335.4 L505.1,335.5 L507.4,335.6 L509.8,335.7 L512.2,335.9 L514.6,336 L517,336.1 L519.3,336.2 L521.7,336.3 L524.1,336.4 L526.5,336.5 L528.8,336.6 L531.2,336.7 L533.6,336.8 L536,336.9 L538.4,337 L540.7,337.1 L543.1,337.2 L545.5,337.3 L547.9,337.4 L550.2,337.5 L552.6,337.5 L555,337.6 L557.4,337.7 L559.8,337.8 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="611.3" y="88" font-size="15" font-family="Verdana">scale = 0.5</text>
-<text x="611.3" y="118" font-size="15" font-family="Verdana">scale = 1</text>
-<text x="611.3" y="148" font-size="15" font-family="Verdana">scale = 2</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Gamma Distribution PDF With Shape = 2</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma_p.svg b/libs/math/doc/sf_and_dist/graphs/gamma_p.svg
deleted file mode 100644
index d091c22e6b..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/gamma_p.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="351.1" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="353.1" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="437.3" y2="341"/><line x1="79.2" y1="341" x2="437.3" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.1 L84.2,327.1 M82.2,320.2 L84.2,320.2 M82.2,306.3 L84.2,306.3 M82.2,299.4 L84.2,299.4 M82.2,292.4 L84.2,292.4 M82.2,278.6 L84.2,278.6 M82.2,271.6 L84.2,271.6 M82.2,264.7 L84.2,264.7 M82.2,250.8 L84.2,250.8 M82.2,243.9 L84.2,243.9 M82.2,237 L84.2,237 M82.2,223.1 L84.2,223.1 M82.2,216.1 L84.2,216.1 M82.2,209.2 L84.2,209.2 M82.2,195.3 L84.2,195.3 M82.2,188.4 L84.2,188.4 M82.2,181.5 L84.2,181.5 M82.2,167.6 L84.2,167.6 M82.2,160.7 L84.2,160.7 M82.2,153.7 L84.2,153.7 M82.2,139.8 L84.2,139.8 M82.2,132.9 L84.2,132.9 M82.2,126 L84.2,126 M82.2,112.1 L84.2,112.1 M82.2,105.2 L84.2,105.2 M82.2,98.23 L84.2,98.23 M82.2,84.36 L84.2,84.36 M82.2,77.42 L84.2,77.42 M82.2,70.49 L84.2,70.49 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M105.8,341 L105.8,343 M127.5,341 L127.5,343 M149.1,341 L149.1,343 M192.4,341 L192.4,343 M214,341 L214,343 M235.6,341 L235.6,343 M278.9,341 L278.9,343 M300.5,341 L300.5,343 M322.2,341 L322.2,343 M365.5,341 L365.5,343 M387.1,341 L387.1,343 M408.7,341 L408.7,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,313.3 L84.2,313.3 M79.2,285.5 L84.2,285.5 M79.2,257.8 L84.2,257.8 M79.2,230 L84.2,230 M79.2,202.3 L84.2,202.3 M79.2,174.5 L84.2,174.5 M79.2,146.8 L84.2,146.8 M79.2,119 L84.2,119 M79.2,91.29 L84.2,91.29 M79.2,63.55 L84.2,63.55 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M170.7,341 L170.7,346 M257.3,341 L257.3,346 M343.8,341 L343.8,346 M430.4,341 L430.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="170.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="257.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="343.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="430.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">gamma_p(a, z)</text></g>
-<g id="xLabel">
-<text x="260.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L85.93,245.2 L87.66,209.8 L89.39,185.2 L91.12,166.5 L92.85,151.6 L94.58,139.4 L96.32,129.2 L98.05,120.7 L99.78,113.4 L101.5,107.2 L103.2,101.8 L105,97.21 L106.7,93.2 L108.4,89.7 L110.2,86.65 L111.9,83.98 L113.6,81.64 L115.4,79.58 L117.1,77.77 L118.8,76.17 L120.5,74.76 L122.3,73.52 L124,72.42 L125.7,71.45 L127.5,70.58 L129.2,69.82 L130.9,69.14 L132.7,68.53 L134.4,68 L136.1,67.52 L137.9,67.09 L139.6,66.72 L141.3,66.38 L143,66.08 L144.8,65.81 L146.5,65.57 L148.2,65.36 L150,65.17 L151.7,65 L153.4,64.85 L155.2,64.71 L156.9,64.59 L158.6,64.48 L160.4,64.38 L162.1,64.3 L163.8,64.22 L165.5,64.15 L167.3,64.09 L169,64.03 L170.7,63.98 L172.5,63.94 L174.2,63.9 L175.9,63.86 L177.7,63.83 L179.4,63.8 L181.1,63.78 L182.9,63.75 L184.6,63.73 L186.3,63.71 L188,63.7 L189.8,63.68 L191.5,63.67 L193.2,63.66 L195,63.65 L196.7,63.64 L198.4,63.63 L200.2,63.62 L201.9,63.61 L203.6,63.61 L205.4,63.6 L207.1,63.59 L208.8,63.59 L210.5,63.59 L212.3,63.58 L214,63.58 L215.7,63.58 L217.5,63.57 L219.2,63.57 L220.9,63.57 L222.7,63.57 L224.4,63.56 L226.1,63.56 L227.9,63.56 L229.6,63.56 L231.3,63.56 L233,63.56 L234.8,63.56 L236.5,63.56 L238.2,63.56 L240,63.56 L241.7,63.55 L243.4,63.55 L245.2,63.55 L246.9,63.55 L248.6,63.55 L250.4,63.55 L252.1,63.55 L253.8,63.55 L255.5,63.55 L257.3,63.55 L259,63.55 L260.7,63.55 L262.5,63.55 L264.2,63.55 L265.9,63.55 L267.7,63.55 L269.4,63.55 L271.1,63.55 L272.9,63.55 L274.6,63.55 L276.3,63.55 L278,63.55 L279.8,63.55 L281.5,63.55 L283.2,63.55 L285,63.55 L286.7,63.55 L288.4,63.55 L290.2,63.55 L291.9,63.55 L293.6,63.55 L295.4,63.55 L297.1,63.55 L298.8,63.55 L300.5,63.55 L302.3,63.55 L304,63.55 L305.7,63.55 L307.5,63.55 L309.2,63.55 L310.9,63.55 L312.7,63.55 L314.4,63.55 L316.1,63.55 L317.9,63.55 L319.6,63.55 L321.3,63.55 L323,63.55 L324.8,63.55 L326.5,63.55 L328.2,63.55 L330,63.55 L331.7,63.55 L333.4,63.55 L335.2,63.55 L336.9,63.55 L338.6,63.55 L340.4,63.55 L342.1,63.55 L343.8,63.55 L345.5,63.55 L347.3,63.55 L349,63.55 L350.7,63.55 L352.5,63.55 L354.2,63.55 L355.9,63.55 L357.7,63.55 L359.4,63.55 L361.1,63.55 L362.9,63.55 L364.6,63.55 L366.3,63.55 L368,63.55 L369.8,63.55 L371.5,63.55 L373.2,63.55 L375,63.55 L376.7,63.55 L378.4,63.55 L380.2,63.55 L381.9,63.55 L383.6,63.55 L385.4,63.55 L387.1,63.55 L388.8,63.55 L390.5,63.55 L392.3,63.55 L394,63.55 L395.7,63.55 L397.5,63.55 L399.2,63.55 L400.9,63.55 L402.7,63.55 L404.4,63.55 L406.1,63.55 L407.9,63.55 L409.6,63.55 L411.3,63.55 L413,63.55 L414.8,63.55 L416.5,63.55 L418.2,63.55 L420,63.55 L421.7,63.55 L423.4,63.55 L425.2,63.55 L426.9,63.55 L428.6,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L85.93,314.6 L87.66,290.7 L89.39,269.1 L91.12,249.5 L92.85,231.8 L94.58,215.8 L96.32,201.3 L98.05,188.2 L99.78,176.4 L101.5,165.6 L103.2,155.9 L105,147.1 L106.7,139.2 L108.4,132 L110.2,125.5 L111.9,119.6 L113.6,114.2 L115.4,109.4 L117.1,105 L118.8,101.1 L120.5,97.52 L122.3,94.29 L124,91.37 L125.7,88.72 L127.5,86.32 L129.2,84.16 L130.9,82.2 L132.7,80.42 L134.4,78.82 L136.1,77.36 L137.9,76.05 L139.6,74.86 L141.3,73.78 L143,72.81 L144.8,71.93 L146.5,71.13 L148.2,70.41 L150,69.76 L151.7,69.17 L153.4,68.63 L155.2,68.15 L156.9,67.71 L158.6,67.31 L160.4,66.96 L162.1,66.63 L163.8,66.34 L165.5,66.07 L167.3,65.83 L169,65.62 L170.7,65.42 L172.5,65.24 L174.2,65.08 L175.9,64.93 L177.7,64.8 L179.4,64.68 L181.1,64.57 L182.9,64.48 L184.6,64.39 L186.3,64.31 L188,64.24 L189.8,64.17 L191.5,64.11 L193.2,64.06 L195,64.01 L196.7,63.97 L198.4,63.93 L200.2,63.89 L201.9,63.86 L203.6,63.83 L205.4,63.8 L207.1,63.78 L208.8,63.76 L210.5,63.74 L212.3,63.72 L214,63.7 L215.7,63.69 L217.5,63.67 L219.2,63.66 L220.9,63.65 L222.7,63.64 L224.4,63.63 L226.1,63.63 L227.9,63.62 L229.6,63.61 L231.3,63.61 L233,63.6 L234.8,63.6 L236.5,63.59 L238.2,63.59 L240,63.58 L241.7,63.58 L243.4,63.58 L245.2,63.57 L246.9,63.57 L248.6,63.57 L250.4,63.57 L252.1,63.57 L253.8,63.56 L255.5,63.56 L257.3,63.56 L259,63.56 L260.7,63.56 L262.5,63.56 L264.2,63.56 L265.9,63.56 L267.7,63.56 L269.4,63.56 L271.1,63.55 L272.9,63.55 L274.6,63.55 L276.3,63.55 L278,63.55 L279.8,63.55 L281.5,63.55 L283.2,63.55 L285,63.55 L286.7,63.55 L288.4,63.55 L290.2,63.55 L291.9,63.55 L293.6,63.55 L295.4,63.55 L297.1,63.55 L298.8,63.55 L300.5,63.55 L302.3,63.55 L304,63.55 L305.7,63.55 L307.5,63.55 L309.2,63.55 L310.9,63.55 L312.7,63.55 L314.4,63.55 L316.1,63.55 L317.9,63.55 L319.6,63.55 L321.3,63.55 L323,63.55 L324.8,63.55 L326.5,63.55 L328.2,63.55 L330,63.55 L331.7,63.55 L333.4,63.55 L335.2,63.55 L336.9,63.55 L338.6,63.55 L340.4,63.55 L342.1,63.55 L343.8,63.55 L345.5,63.55 L347.3,63.55 L349,63.55 L350.7,63.55 L352.5,63.55 L354.2,63.55 L355.9,63.55 L357.7,63.55 L359.4,63.55 L361.1,63.55 L362.9,63.55 L364.6,63.55 L366.3,63.55 L368,63.55 L369.8,63.55 L371.5,63.55 L373.2,63.55 L375,63.55 L376.7,63.55 L378.4,63.55 L380.2,63.55 L381.9,63.55 L383.6,63.55 L385.4,63.55 L387.1,63.55 L388.8,63.55 L390.5,63.55 L392.3,63.55 L394,63.55 L395.7,63.55 L397.5,63.55 L399.2,63.55 L400.9,63.55 L402.7,63.55 L404.4,63.55 L406.1,63.55 L407.9,63.55 L409.6,63.55 L411.3,63.55 L413,63.55 L414.8,63.55 L416.5,63.55 L418.2,63.55 L420,63.55 L421.7,63.55 L423.4,63.55 L425.2,63.55 L426.9,63.55 L428.6,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L85.93,341 L87.66,341 L89.39,341 L91.12,341 L92.85,341 L94.58,340.9 L96.32,340.8 L98.05,340.6 L99.78,340.3 L101.5,340 L103.2,339.5 L105,338.9 L106.7,338 L108.4,337 L110.2,335.8 L111.9,334.4 L113.6,332.8 L115.4,330.9 L117.1,328.8 L118.8,326.4 L120.5,323.8 L122.3,320.9 L124,317.8 L125.7,314.4 L127.5,310.8 L129.2,307 L130.9,303 L132.7,298.7 L134.4,294.3 L136.1,289.7 L137.9,285 L139.6,280.1 L141.3,275.1 L143,270 L144.8,264.8 L146.5,259.6 L148.2,254.2 L150,248.8 L151.7,243.4 L153.4,238 L155.2,232.6 L156.9,227.2 L158.6,221.8 L160.4,216.5 L162.1,211.2 L163.8,205.9 L165.5,200.8 L167.3,195.7 L169,190.7 L170.7,185.8 L172.5,180.9 L174.2,176.2 L175.9,171.6 L177.7,167.1 L179.4,162.7 L181.1,158.5 L182.9,154.3 L184.6,150.3 L186.3,146.4 L188,142.6 L189.8,139 L191.5,135.5 L193.2,132.1 L195,128.8 L196.7,125.6 L198.4,122.6 L200.2,119.6 L201.9,116.8 L203.6,114.1 L205.4,111.5 L207.1,109.1 L208.8,106.7 L210.5,104.4 L212.3,102.3 L214,100.2 L215.7,98.21 L217.5,96.33 L219.2,94.53 L220.9,92.82 L222.7,91.19 L224.4,89.64 L226.1,88.17 L227.9,86.77 L229.6,85.44 L231.3,84.18 L233,82.99 L234.8,81.85 L236.5,80.78 L238.2,79.76 L240,78.8 L241.7,77.89 L243.4,77.03 L245.2,76.21 L246.9,75.45 L248.6,74.72 L250.4,74.04 L252.1,73.39 L253.8,72.78 L255.5,72.21 L257.3,71.67 L259,71.16 L260.7,70.68 L262.5,70.23 L264.2,69.8 L265.9,69.4 L267.7,69.03 L269.4,68.67 L271.1,68.34 L272.9,68.03 L274.6,67.74 L276.3,67.47 L278,67.21 L279.8,66.97 L281.5,66.74 L283.2,66.53 L285,66.33 L286.7,66.15 L288.4,65.97 L290.2,65.81 L291.9,65.66 L293.6,65.52 L295.4,65.38 L297.1,65.26 L298.8,65.14 L300.5,65.03 L302.3,64.93 L304,64.84 L305.7,64.75 L307.5,64.66 L309.2,64.59 L310.9,64.51 L312.7,64.45 L314.4,64.38 L316.1,64.33 L317.9,64.27 L319.6,64.22 L321.3,64.17 L323,64.13 L324.8,64.09 L326.5,64.05 L328.2,64.01 L330,63.98 L331.7,63.95 L333.4,63.92 L335.2,63.89 L336.9,63.87 L338.6,63.85 L340.4,63.83 L342.1,63.81 L343.8,63.79 L345.5,63.77 L347.3,63.75 L349,63.74 L350.7,63.72 L352.5,63.71 L354.2,63.7 L355.9,63.69 L357.7,63.68 L359.4,63.67 L361.1,63.66 L362.9,63.65 L364.6,63.64 L366.3,63.64 L368,63.63 L369.8,63.62 L371.5,63.62 L373.2,63.61 L375,63.61 L376.7,63.6 L378.4,63.6 L380.2,63.6 L381.9,63.59 L383.6,63.59 L385.4,63.59 L387.1,63.58 L388.8,63.58 L390.5,63.58 L392.3,63.58 L394,63.57 L395.7,63.57 L397.5,63.57 L399.2,63.57 L400.9,63.57 L402.7,63.57 L404.4,63.56 L406.1,63.56 L407.9,63.56 L409.6,63.56 L411.3,63.56 L413,63.56 L414.8,63.56 L416.5,63.56 L418.2,63.56 L420,63.56 L421.7,63.56 L423.4,63.56 L425.2,63.56 L426.9,63.55 L428.6,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L85.93,341 L87.66,341 L89.39,341 L91.12,341 L92.85,341 L94.58,341 L96.32,341 L98.05,341 L99.78,341 L101.5,341 L103.2,341 L105,341 L106.7,341 L108.4,341 L110.2,341 L111.9,341 L113.6,341 L115.4,341 L117.1,341 L118.8,341 L120.5,341 L122.3,341 L124,341 L125.7,340.9 L127.5,340.9 L129.2,340.9 L130.9,340.9 L132.7,340.8 L134.4,340.8 L136.1,340.7 L137.9,340.6 L139.6,340.5 L141.3,340.4 L143,340.2 L144.8,340.1 L146.5,339.9 L148.2,339.7 L150,339.4 L151.7,339.1 L153.4,338.7 L155.2,338.4 L156.9,337.9 L158.6,337.4 L160.4,336.9 L162.1,336.3 L163.8,335.6 L165.5,334.8 L167.3,334 L169,333.1 L170.7,332.2 L172.5,331.1 L174.2,330 L175.9,328.8 L177.7,327.5 L179.4,326.1 L181.1,324.6 L182.9,323 L184.6,321.3 L186.3,319.6 L188,317.7 L189.8,315.8 L191.5,313.7 L193.2,311.6 L195,309.3 L196.7,307 L198.4,304.6 L200.2,302 L201.9,299.4 L203.6,296.7 L205.4,294 L207.1,291.1 L208.8,288.2 L210.5,285.2 L212.3,282.1 L214,279 L215.7,275.8 L217.5,272.5 L219.2,269.2 L220.9,265.8 L222.7,262.4 L224.4,258.9 L226.1,255.4 L227.9,251.9 L229.6,248.3 L231.3,244.7 L233,241.1 L234.8,237.5 L236.5,233.8 L238.2,230.2 L240,226.5 L241.7,222.9 L243.4,219.2 L245.2,215.6 L246.9,211.9 L248.6,208.3 L250.4,204.7 L252.1,201.2 L253.8,197.6 L255.5,194.1 L257.3,190.6 L259,187.1 L260.7,183.7 L262.5,180.4 L264.2,177 L265.9,173.7 L267.7,170.5 L269.4,167.3 L271.1,164.2 L272.9,161.1 L274.6,158 L276.3,155 L278,152.1 L279.8,149.2 L281.5,146.4 L283.2,143.7 L285,141 L286.7,138.3 L288.4,135.8 L290.2,133.3 L291.9,130.8 L293.6,128.4 L295.4,126.1 L297.1,123.8 L298.8,121.6 L300.5,119.4 L302.3,117.3 L304,115.3 L305.7,113.3 L307.5,111.4 L309.2,109.6 L310.9,107.7 L312.7,106 L314.4,104.3 L316.1,102.7 L317.9,101.1 L319.6,99.54 L321.3,98.06 L323,96.62 L324.8,95.24 L326.5,93.9 L328.2,92.61 L330,91.37 L331.7,90.17 L333.4,89.01 L335.2,87.9 L336.9,86.83 L338.6,85.79 L340.4,84.8 L342.1,83.85 L343.8,82.93 L345.5,82.05 L347.3,81.2 L349,80.39 L350.7,79.61 L352.5,78.86 L354.2,78.14 L355.9,77.46 L357.7,76.8 L359.4,76.17 L361.1,75.56 L362.9,74.98 L364.6,74.43 L366.3,73.9 L368,73.39 L369.8,72.91 L371.5,72.45 L373.2,72.01 L375,71.58 L376.7,71.18 L378.4,70.8 L380.2,70.43 L381.9,70.08 L383.6,69.75 L385.4,69.43 L387.1,69.13 L388.8,68.84 L390.5,68.56 L392.3,68.3 L394,68.05 L395.7,67.82 L397.5,67.59 L399.2,67.38 L400.9,67.17 L402.7,66.98 L404.4,66.8 L406.1,66.62 L407.9,66.46 L409.6,66.3 L411.3,66.15 L413,66.01 L414.8,65.87 L416.5,65.74 L418.2,65.62 L420,65.51 L421.7,65.4 L423.4,65.3 L425.2,65.2 L426.9,65.11 L428.6,65.02 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="126"/><rect x="451.3" y="58" width="122.7" height="126"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
-</g>
-<g id="legendText">
-<text x="486.3" y="86" font-size="14" font-family="Verdana">a = 0.5</text>
-<text x="486.3" y="114" font-size="14" font-family="Verdana">a = 1.0</text>
-<text x="486.3" y="142" font-size="14" font-family="Verdana">a = 5.0</text>
-<text x="486.3" y="170" font-size="14" font-family="Verdana">a = 10.0</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">gamma_p</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/gamma_q.svg b/libs/math/doc/sf_and_dist/graphs/gamma_q.svg
deleted file mode 100644
index 8533734342..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/gamma_q.svg
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="351.1" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="353.1" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="341" x2="437.3" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.1 L84.2,327.1 M82.2,320.2 L84.2,320.2 M82.2,306.3 L84.2,306.3 M82.2,299.4 L84.2,299.4 M82.2,292.4 L84.2,292.4 M82.2,278.6 L84.2,278.6 M82.2,271.6 L84.2,271.6 M82.2,264.7 L84.2,264.7 M82.2,250.8 L84.2,250.8 M82.2,243.9 L84.2,243.9 M82.2,237 L84.2,237 M82.2,223.1 L84.2,223.1 M82.2,216.1 L84.2,216.1 M82.2,209.2 L84.2,209.2 M82.2,195.3 L84.2,195.3 M82.2,188.4 L84.2,188.4 M82.2,181.5 L84.2,181.5 M82.2,167.6 L84.2,167.6 M82.2,160.7 L84.2,160.7 M82.2,153.7 L84.2,153.7 M82.2,139.8 L84.2,139.8 M82.2,132.9 L84.2,132.9 M82.2,126 L84.2,126 M82.2,112.1 L84.2,112.1 M82.2,105.2 L84.2,105.2 M82.2,98.23 L84.2,98.23 M82.2,84.36 L84.2,84.36 M82.2,77.42 L84.2,77.42 M82.2,70.49 L84.2,70.49 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M105.8,341 L105.8,343 M127.5,341 L127.5,343 M149.1,341 L149.1,343 M192.4,341 L192.4,343 M214,341 L214,343 M235.6,341 L235.6,343 M278.9,341 L278.9,343 M300.5,341 L300.5,343 M322.2,341 L322.2,343 M365.5,341 L365.5,343 M387.1,341 L387.1,343 M408.7,341 L408.7,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,313.3 L84.2,313.3 M79.2,285.5 L84.2,285.5 M79.2,257.8 L84.2,257.8 M79.2,230 L84.2,230 M79.2,202.3 L84.2,202.3 M79.2,174.5 L84.2,174.5 M79.2,146.8 L84.2,146.8 M79.2,119 L84.2,119 M79.2,91.29 L84.2,91.29 M79.2,63.55 L84.2,63.55 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M170.7,341 L170.7,346 M257.3,341 L257.3,346 M343.8,341 L343.8,346 M430.4,341 L430.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="170.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="257.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="343.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="430.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">gamma_q(a, z)</text></g>
-<g id="xLabel">
-<text x="260.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,63.55 L85.93,159.3 L87.66,194.8 L89.39,219.3 L91.12,238 L92.85,253 L94.58,265.2 L96.32,275.3 L98.05,283.9 L99.78,291.1 L101.5,297.4 L103.2,302.7 L105,307.3 L106.7,311.4 L108.4,314.8 L110.2,317.9 L111.9,320.6 L113.6,322.9 L115.4,325 L117.1,326.8 L118.8,328.4 L120.5,329.8 L122.3,331 L124,332.1 L125.7,333.1 L127.5,334 L129.2,334.7 L130.9,335.4 L132.7,336 L134.4,336.6 L136.1,337 L137.9,337.5 L139.6,337.8 L141.3,338.2 L143,338.5 L144.8,338.7 L146.5,339 L148.2,339.2 L150,339.4 L151.7,339.6 L153.4,339.7 L155.2,339.8 L156.9,340 L158.6,340.1 L160.4,340.2 L162.1,340.3 L163.8,340.3 L165.5,340.4 L167.3,340.5 L169,340.5 L170.7,340.6 L172.5,340.6 L174.2,340.7 L175.9,340.7 L177.7,340.7 L179.4,340.7 L181.1,340.8 L182.9,340.8 L184.6,340.8 L186.3,340.8 L188,340.9 L189.8,340.9 L191.5,340.9 L193.2,340.9 L195,340.9 L196.7,340.9 L198.4,340.9 L200.2,340.9 L201.9,340.9 L203.6,340.9 L205.4,340.9 L207.1,341 L208.8,341 L210.5,341 L212.3,341 L214,341 L215.7,341 L217.5,341 L219.2,341 L220.9,341 L222.7,341 L224.4,341 L226.1,341 L227.9,341 L229.6,341 L231.3,341 L233,341 L234.8,341 L236.5,341 L238.2,341 L240,341 L241.7,341 L243.4,341 L245.2,341 L246.9,341 L248.6,341 L250.4,341 L252.1,341 L253.8,341 L255.5,341 L257.3,341 L259,341 L260.7,341 L262.5,341 L264.2,341 L265.9,341 L267.7,341 L269.4,341 L271.1,341 L272.9,341 L274.6,341 L276.3,341 L278,341 L279.8,341 L281.5,341 L283.2,341 L285,341 L286.7,341 L288.4,341 L290.2,341 L291.9,341 L293.6,341 L295.4,341 L297.1,341 L298.8,341 L300.5,341 L302.3,341 L304,341 L305.7,341 L307.5,341 L309.2,341 L310.9,341 L312.7,341 L314.4,341 L316.1,341 L317.9,341 L319.6,341 L321.3,341 L323,341 L324.8,341 L326.5,341 L328.2,341 L330,341 L331.7,341 L333.4,341 L335.2,341 L336.9,341 L338.6,341 L340.4,341 L342.1,341 L343.8,341 L345.5,341 L347.3,341 L349,341 L350.7,341 L352.5,341 L354.2,341 L355.9,341 L357.7,341 L359.4,341 L361.1,341 L362.9,341 L364.6,341 L366.3,341 L368,341 L369.8,341 L371.5,341 L373.2,341 L375,341 L376.7,341 L378.4,341 L380.2,341 L381.9,341 L383.6,341 L385.4,341 L387.1,341 L388.8,341 L390.5,341 L392.3,341 L394,341 L395.7,341 L397.5,341 L399.2,341 L400.9,341 L402.7,341 L404.4,341 L406.1,341 L407.9,341 L409.6,341 L411.3,341 L413,341 L414.8,341 L416.5,341 L418.2,341 L420,341 L421.7,341 L423.4,341 L425.2,341 L426.9,341 L428.6,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,63.55 L85.93,89.95 L87.66,113.8 L89.39,135.5 L91.12,155 L92.85,172.7 L94.58,188.7 L96.32,203.2 L98.05,216.3 L99.78,228.2 L101.5,238.9 L103.2,248.6 L105,257.4 L106.7,265.4 L108.4,272.6 L110.2,279.1 L111.9,285 L113.6,290.3 L115.4,295.1 L117.1,299.5 L118.8,303.5 L120.5,307 L122.3,310.3 L124,313.2 L125.7,315.8 L127.5,318.2 L129.2,320.4 L130.9,322.4 L132.7,324.1 L134.4,325.7 L136.1,327.2 L137.9,328.5 L139.6,329.7 L141.3,330.8 L143,331.7 L144.8,332.6 L146.5,333.4 L148.2,334.1 L150,334.8 L151.7,335.4 L153.4,335.9 L155.2,336.4 L156.9,336.8 L158.6,337.2 L160.4,337.6 L162.1,337.9 L163.8,338.2 L165.5,338.5 L167.3,338.7 L169,338.9 L170.7,339.1 L172.5,339.3 L174.2,339.5 L175.9,339.6 L177.7,339.7 L179.4,339.9 L181.1,340 L182.9,340.1 L184.6,340.2 L186.3,340.2 L188,340.3 L189.8,340.4 L191.5,340.4 L193.2,340.5 L195,340.5 L196.7,340.6 L198.4,340.6 L200.2,340.7 L201.9,340.7 L203.6,340.7 L205.4,340.7 L207.1,340.8 L208.8,340.8 L210.5,340.8 L212.3,340.8 L214,340.8 L215.7,340.9 L217.5,340.9 L219.2,340.9 L220.9,340.9 L222.7,340.9 L224.4,340.9 L226.1,340.9 L227.9,340.9 L229.6,340.9 L231.3,340.9 L233,340.9 L234.8,341 L236.5,341 L238.2,341 L240,341 L241.7,341 L243.4,341 L245.2,341 L246.9,341 L248.6,341 L250.4,341 L252.1,341 L253.8,341 L255.5,341 L257.3,341 L259,341 L260.7,341 L262.5,341 L264.2,341 L265.9,341 L267.7,341 L269.4,341 L271.1,341 L272.9,341 L274.6,341 L276.3,341 L278,341 L279.8,341 L281.5,341 L283.2,341 L285,341 L286.7,341 L288.4,341 L290.2,341 L291.9,341 L293.6,341 L295.4,341 L297.1,341 L298.8,341 L300.5,341 L302.3,341 L304,341 L305.7,341 L307.5,341 L309.2,341 L310.9,341 L312.7,341 L314.4,341 L316.1,341 L317.9,341 L319.6,341 L321.3,341 L323,341 L324.8,341 L326.5,341 L328.2,341 L330,341 L331.7,341 L333.4,341 L335.2,341 L336.9,341 L338.6,341 L340.4,341 L342.1,341 L343.8,341 L345.5,341 L347.3,341 L349,341 L350.7,341 L352.5,341 L354.2,341 L355.9,341 L357.7,341 L359.4,341 L361.1,341 L362.9,341 L364.6,341 L366.3,341 L368,341 L369.8,341 L371.5,341 L373.2,341 L375,341 L376.7,341 L378.4,341 L380.2,341 L381.9,341 L383.6,341 L385.4,341 L387.1,341 L388.8,341 L390.5,341 L392.3,341 L394,341 L395.7,341 L397.5,341 L399.2,341 L400.9,341 L402.7,341 L404.4,341 L406.1,341 L407.9,341 L409.6,341 L411.3,341 L413,341 L414.8,341 L416.5,341 L418.2,341 L420,341 L421.7,341 L423.4,341 L425.2,341 L426.9,341 L428.6,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,63.55 L85.93,63.55 L87.66,63.55 L89.39,63.55 L91.12,63.57 L92.85,63.6 L94.58,63.66 L96.32,63.77 L98.05,63.94 L99.78,64.2 L101.5,64.56 L103.2,65.06 L105,65.7 L106.7,66.51 L108.4,67.5 L110.2,68.7 L111.9,70.12 L113.6,71.77 L115.4,73.65 L117.1,75.78 L118.8,78.16 L120.5,80.79 L122.3,83.66 L124,86.79 L125.7,90.15 L127.5,93.74 L129.2,97.56 L130.9,101.6 L132.7,105.8 L134.4,110.2 L136.1,114.8 L137.9,119.5 L139.6,124.4 L141.3,129.4 L143,134.5 L144.8,139.7 L146.5,145 L148.2,150.3 L150,155.7 L151.7,161.1 L153.4,166.5 L155.2,171.9 L156.9,177.4 L158.6,182.7 L160.4,188.1 L162.1,193.4 L163.8,198.6 L165.5,203.8 L167.3,208.9 L169,213.9 L170.7,218.8 L172.5,223.6 L174.2,228.3 L175.9,232.9 L177.7,237.4 L179.4,241.8 L181.1,246.1 L182.9,250.2 L184.6,254.2 L186.3,258.1 L188,261.9 L189.8,265.6 L191.5,269.1 L193.2,272.5 L195,275.8 L196.7,278.9 L198.4,282 L200.2,284.9 L201.9,287.7 L203.6,290.4 L205.4,293 L207.1,295.5 L208.8,297.9 L210.5,300.1 L212.3,302.3 L214,304.4 L215.7,306.3 L217.5,308.2 L219.2,310 L220.9,311.7 L222.7,313.4 L224.4,314.9 L226.1,316.4 L227.9,317.8 L229.6,319.1 L231.3,320.4 L233,321.6 L234.8,322.7 L236.5,323.8 L238.2,324.8 L240,325.8 L241.7,326.7 L243.4,327.5 L245.2,328.3 L246.9,329.1 L248.6,329.8 L250.4,330.5 L252.1,331.2 L253.8,331.8 L255.5,332.3 L257.3,332.9 L259,333.4 L260.7,333.9 L262.5,334.3 L264.2,334.7 L265.9,335.1 L267.7,335.5 L269.4,335.9 L271.1,336.2 L272.9,336.5 L274.6,336.8 L276.3,337.1 L278,337.3 L279.8,337.6 L281.5,337.8 L283.2,338 L285,338.2 L286.7,338.4 L288.4,338.6 L290.2,338.7 L291.9,338.9 L293.6,339 L295.4,339.2 L297.1,339.3 L298.8,339.4 L300.5,339.5 L302.3,339.6 L304,339.7 L305.7,339.8 L307.5,339.9 L309.2,340 L310.9,340 L312.7,340.1 L314.4,340.2 L316.1,340.2 L317.9,340.3 L319.6,340.3 L321.3,340.4 L323,340.4 L324.8,340.5 L326.5,340.5 L328.2,340.5 L330,340.6 L331.7,340.6 L333.4,340.6 L335.2,340.7 L336.9,340.7 L338.6,340.7 L340.4,340.7 L342.1,340.7 L343.8,340.8 L345.5,340.8 L347.3,340.8 L349,340.8 L350.7,340.8 L352.5,340.8 L354.2,340.8 L355.9,340.9 L357.7,340.9 L359.4,340.9 L361.1,340.9 L362.9,340.9 L364.6,340.9 L366.3,340.9 L368,340.9 L369.8,340.9 L371.5,340.9 L373.2,340.9 L375,340.9 L376.7,340.9 L378.4,340.9 L380.2,341 L381.9,341 L383.6,341 L385.4,341 L387.1,341 L388.8,341 L390.5,341 L392.3,341 L394,341 L395.7,341 L397.5,341 L399.2,341 L400.9,341 L402.7,341 L404.4,341 L406.1,341 L407.9,341 L409.6,341 L411.3,341 L413,341 L414.8,341 L416.5,341 L418.2,341 L420,341 L421.7,341 L423.4,341 L425.2,341 L426.9,341 L428.6,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,63.55 L85.93,63.55 L87.66,63.55 L89.39,63.55 L91.12,63.55 L92.85,63.55 L94.58,63.55 L96.32,63.55 L98.05,63.55 L99.78,63.55 L101.5,63.55 L103.2,63.55 L105,63.55 L106.7,63.55 L108.4,63.55 L110.2,63.55 L111.9,63.55 L113.6,63.55 L115.4,63.55 L117.1,63.56 L118.8,63.56 L120.5,63.57 L122.3,63.58 L124,63.59 L125.7,63.6 L127.5,63.63 L129.2,63.65 L130.9,63.69 L132.7,63.73 L134.4,63.79 L136.1,63.85 L137.9,63.94 L139.6,64.04 L141.3,64.16 L143,64.3 L144.8,64.47 L146.5,64.67 L148.2,64.89 L150,65.16 L151.7,65.46 L153.4,65.81 L155.2,66.2 L156.9,66.64 L158.6,67.13 L160.4,67.68 L162.1,68.29 L163.8,68.97 L165.5,69.71 L167.3,70.52 L169,71.41 L170.7,72.38 L172.5,73.43 L174.2,74.56 L175.9,75.77 L177.7,77.08 L179.4,78.47 L181.1,79.95 L182.9,81.53 L184.6,83.2 L186.3,84.97 L188,86.83 L189.8,88.79 L191.5,90.84 L193.2,92.99 L195,95.23 L196.7,97.57 L198.4,100 L200.2,102.5 L201.9,105.1 L203.6,107.8 L205.4,110.6 L207.1,113.4 L208.8,116.4 L210.5,119.4 L212.3,122.4 L214,125.6 L215.7,128.8 L217.5,132.1 L219.2,135.4 L220.9,138.8 L222.7,142.2 L224.4,145.6 L226.1,149.1 L227.9,152.7 L229.6,156.2 L231.3,159.8 L233,163.4 L234.8,167.1 L236.5,170.7 L238.2,174.4 L240,178 L241.7,181.7 L243.4,185.3 L245.2,189 L246.9,192.6 L248.6,196.2 L250.4,199.8 L252.1,203.4 L253.8,206.9 L255.5,210.5 L257.3,213.9 L259,217.4 L260.7,220.8 L262.5,224.2 L264.2,227.5 L265.9,230.8 L267.7,234.1 L269.4,237.3 L271.1,240.4 L272.9,243.5 L274.6,246.5 L276.3,249.5 L278,252.4 L279.8,255.3 L281.5,258.1 L283.2,260.9 L285,263.6 L286.7,266.2 L288.4,268.8 L290.2,271.3 L291.9,273.7 L293.6,276.1 L295.4,278.5 L297.1,280.7 L298.8,283 L300.5,285.1 L302.3,287.2 L304,289.2 L305.7,291.2 L307.5,293.1 L309.2,295 L310.9,296.8 L312.7,298.5 L314.4,300.2 L316.1,301.9 L317.9,303.5 L319.6,305 L321.3,306.5 L323,307.9 L324.8,309.3 L326.5,310.6 L328.2,311.9 L330,313.2 L331.7,314.4 L333.4,315.5 L335.2,316.7 L336.9,317.7 L338.6,318.8 L340.4,319.7 L342.1,320.7 L343.8,321.6 L345.5,322.5 L347.3,323.3 L349,324.2 L350.7,324.9 L352.5,325.7 L354.2,326.4 L355.9,327.1 L357.7,327.8 L359.4,328.4 L361.1,329 L362.9,329.6 L364.6,330.1 L366.3,330.6 L368,331.2 L369.8,331.6 L371.5,332.1 L373.2,332.5 L375,333 L376.7,333.4 L378.4,333.8 L380.2,334.1 L381.9,334.5 L383.6,334.8 L385.4,335.1 L387.1,335.4 L388.8,335.7 L390.5,336 L392.3,336.2 L394,336.5 L395.7,336.7 L397.5,337 L399.2,337.2 L400.9,337.4 L402.7,337.6 L404.4,337.8 L406.1,337.9 L407.9,338.1 L409.6,338.3 L411.3,338.4 L413,338.5 L414.8,338.7 L416.5,338.8 L418.2,338.9 L420,339 L421.7,339.2 L423.4,339.3 L425.2,339.4 L426.9,339.4 L428.6,339.5 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="126"/><rect x="451.3" y="58" width="122.7" height="126"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
-</g>
-<g id="legendText">
-<text x="486.3" y="86" font-size="14" font-family="Verdana">a = 0.5</text>
-<text x="486.3" y="114" font-size="14" font-family="Verdana">a = 1.0</text>
-<text x="486.3" y="142" font-size="14" font-family="Verdana">a = 5.0</text>
-<text x="486.3" y="170" font-size="14" font-family="Verdana">a = 10.0</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">gamma_q</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/hermite.svg b/libs/math/doc/sf_and_dist/graphs/hermite.svg
deleted file mode 100644
index 40f982f0f0..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/hermite.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="374.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="376.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="268.8" y1="58" x2="268.8" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="200.6" x2="460.8" y2="200.6"/><line x1="79.2" y1="341" x2="460.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,186.5 L84.2,186.5 M82.2,172.5 L84.2,172.5 M82.2,158.5 L84.2,158.5 M82.2,130.5 L84.2,130.5 M82.2,116.5 L84.2,116.5 M82.2,102.5 L84.2,102.5 M82.2,74.43 L84.2,74.43 M82.2,60.42 L84.2,60.42 M82.2,200.6 L84.2,200.6 M82.2,214.6 L84.2,214.6 M82.2,228.6 L84.2,228.6 M82.2,242.6 L84.2,242.6 M82.2,256.6 L84.2,256.6 M82.2,270.6 L84.2,270.6 M82.2,284.6 L84.2,284.6 M82.2,298.6 L84.2,298.6 M82.2,312.7 L84.2,312.7 M82.2,326.7 L84.2,326.7 M82.2,340.7 L84.2,340.7 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M294.4,341 L294.4,343 M320.1,341 L320.1,343 M345.7,341 L345.7,343 M397,341 L397,343 M422.6,341 L422.6,343 M448.3,341 L448.3,343 M243.2,341 L243.2,343 M217.5,341 L217.5,343 M191.9,341 L191.9,343 M140.6,341 L140.6,343 M115,341 L115,343 M89.33,341 L89.33,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,200.6 L84.2,200.6 M79.2,144.5 L84.2,144.5 M79.2,88.45 L84.2,88.45 M79.2,200.6 L84.2,200.6 M79.2,256.6 L84.2,256.6 M79.2,312.7 L84.2,312.7 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M268.8,341 L268.8,346 M371.4,341 L371.4,346 M268.8,341 L268.8,346 M166.2,341 L166.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="268.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="371.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="268.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="166.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="203" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="146.9" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="73.2" y="90.85" text-anchor="end" font-size="12" font-family="Verdana">20</text>
-<text x="73.2" y="203" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="259" text-anchor="end" font-size="12" font-family="Verdana">-10</text>
-<text x="73.2" y="315.1" text-anchor="end" font-size="12" font-family="Verdana">-20</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">hermite(n, x)</text></g>
-<g id="xLabel">
-<text x="272.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,194.9 L86.05,194.9 L87.89,194.9 L89.74,194.9 L91.58,194.9 L93.43,194.9 L95.28,194.9 L97.12,194.9 L98.97,194.9 L100.8,194.9 L102.7,194.9 L104.5,194.9 L106.4,194.9 L108.2,194.9 L110,194.9 L111.9,194.9 L113.7,194.9 L115.6,194.9 L117.4,194.9 L119.3,194.9 L121.1,194.9 L123,194.9 L124.8,194.9 L126.7,194.9 L128.5,194.9 L130.4,194.9 L132.2,194.9 L134,194.9 L135.9,194.9 L137.7,194.9 L139.6,194.9 L141.4,194.9 L143.3,194.9 L145.1,194.9 L147,194.9 L148.8,194.9 L150.7,194.9 L152.5,194.9 L154.4,194.9 L156.2,194.9 L158,194.9 L159.9,194.9 L161.7,194.9 L163.6,194.9 L165.4,194.9 L167.3,194.9 L169.1,194.9 L171,194.9 L172.8,194.9 L174.7,194.9 L176.5,194.9 L178.4,194.9 L180.2,194.9 L182,194.9 L183.9,194.9 L185.7,194.9 L187.6,194.9 L189.4,194.9 L191.3,194.9 L193.1,194.9 L195,194.9 L196.8,194.9 L198.7,194.9 L200.5,194.9 L202.3,194.9 L204.2,194.9 L206,194.9 L207.9,194.9 L209.7,194.9 L211.6,194.9 L213.4,194.9 L215.3,194.9 L217.1,194.9 L219,194.9 L220.8,194.9 L222.7,194.9 L224.5,194.9 L226.3,194.9 L228.2,194.9 L230,194.9 L231.9,194.9 L233.7,194.9 L235.6,194.9 L237.4,194.9 L239.3,194.9 L241.1,194.9 L243,194.9 L244.8,194.9 L246.7,194.9 L248.5,194.9 L250.3,194.9 L252.2,194.9 L254,194.9 L255.9,194.9 L257.7,194.9 L259.6,194.9 L261.4,194.9 L263.3,194.9 L265.1,194.9 L267,194.9 L268.8,194.9 L270.7,194.9 L272.5,194.9 L274.3,194.9 L276.2,194.9 L278,194.9 L279.9,194.9 L281.7,194.9 L283.6,194.9 L285.4,194.9 L287.3,194.9 L289.1,194.9 L291,194.9 L292.8,194.9 L294.7,194.9 L296.5,194.9 L298.3,194.9 L300.2,194.9 L302,194.9 L303.9,194.9 L305.7,194.9 L307.6,194.9 L309.4,194.9 L311.3,194.9 L313.1,194.9 L315,194.9 L316.8,194.9 L318.7,194.9 L320.5,194.9 L322.3,194.9 L324.2,194.9 L326,194.9 L327.9,194.9 L329.7,194.9 L331.6,194.9 L333.4,194.9 L335.3,194.9 L337.1,194.9 L339,194.9 L340.8,194.9 L342.7,194.9 L344.5,194.9 L346.3,194.9 L348.2,194.9 L350,194.9 L351.9,194.9 L353.7,194.9 L355.6,194.9 L357.4,194.9 L359.3,194.9 L361.1,194.9 L363,194.9 L364.8,194.9 L366.7,194.9 L368.5,194.9 L370.3,194.9 L372.2,194.9 L374,194.9 L375.9,194.9 L377.7,194.9 L379.6,194.9 L381.4,194.9 L383.3,194.9 L385.1,194.9 L387,194.9 L388.8,194.9 L390.6,194.9 L392.5,194.9 L394.3,194.9 L396.2,194.9 L398,194.9 L399.9,194.9 L401.7,194.9 L403.6,194.9 L405.4,194.9 L407.3,194.9 L409.1,194.9 L411,194.9 L412.8,194.9 L414.6,194.9 L416.5,194.9 L418.3,194.9 L420.2,194.9 L422,194.9 L423.9,194.9 L425.7,194.9 L427.6,194.9 L429.4,194.9 L431.3,194.9 L433.1,194.9 L435,194.9 L436.8,194.9 L438.6,194.9 L440.5,194.9 L442.3,194.9 L444.2,194.9 L446,194.9 L447.9,194.9 L449.7,194.9 L451.6,194.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,220.7 L86.05,220.5 L87.89,220.3 L89.74,220.1 L91.58,219.9 L93.43,219.7 L95.28,219.5 L97.12,219.3 L98.97,219.1 L100.8,218.9 L102.7,218.7 L104.5,218.5 L106.4,218.3 L108.2,218.1 L110,217.9 L111.9,217.7 L113.7,217.5 L115.6,217.3 L117.4,217.1 L119.3,216.9 L121.1,216.7 L123,216.5 L124.8,216.3 L126.7,216.1 L128.5,215.9 L130.4,215.7 L132.2,215.5 L134,215.3 L135.9,215.1 L137.7,214.9 L139.6,214.7 L141.4,214.5 L143.3,214.3 L145.1,214.1 L147,213.9 L148.8,213.7 L150.7,213.5 L152.5,213.3 L154.4,213.1 L156.2,212.9 L158,212.7 L159.9,212.5 L161.7,212.3 L163.6,212.1 L165.4,211.9 L167.3,211.7 L169.1,211.4 L171,211.2 L172.8,211 L174.7,210.8 L176.5,210.6 L178.4,210.4 L180.2,210.2 L182,210 L183.9,209.8 L185.7,209.6 L187.6,209.4 L189.4,209.2 L191.3,209 L193.1,208.8 L195,208.6 L196.8,208.4 L198.7,208.2 L200.5,208 L202.3,207.8 L204.2,207.6 L206,207.4 L207.9,207.2 L209.7,207 L211.6,206.8 L213.4,206.6 L215.3,206.4 L217.1,206.2 L219,206 L220.8,205.8 L222.7,205.6 L224.5,205.4 L226.3,205.2 L228.2,205 L230,204.8 L231.9,204.6 L233.7,204.4 L235.6,204.2 L237.4,204 L239.3,203.8 L241.1,203.6 L243,203.4 L244.8,203.2 L246.7,203 L248.5,202.8 L250.3,202.6 L252.2,202.4 L254,202.2 L255.9,202 L257.7,201.8 L259.6,201.6 L261.4,201.4 L263.3,201.2 L265.1,201 L267,200.8 L268.8,200.6 L270.7,200.4 L272.5,200.1 L274.3,199.9 L276.2,199.7 L278,199.5 L279.9,199.3 L281.7,199.1 L283.6,198.9 L285.4,198.7 L287.3,198.5 L289.1,198.3 L291,198.1 L292.8,197.9 L294.7,197.7 L296.5,197.5 L298.3,197.3 L300.2,197.1 L302,196.9 L303.9,196.7 L305.7,196.5 L307.6,196.3 L309.4,196.1 L311.3,195.9 L313.1,195.7 L315,195.5 L316.8,195.3 L318.7,195.1 L320.5,194.9 L322.3,194.7 L324.2,194.5 L326,194.3 L327.9,194.1 L329.7,193.9 L331.6,193.7 L333.4,193.5 L335.3,193.3 L337.1,193.1 L339,192.9 L340.8,192.7 L342.7,192.5 L344.5,192.3 L346.3,192.1 L348.2,191.9 L350,191.7 L351.9,191.5 L353.7,191.3 L355.6,191.1 L357.4,190.9 L359.3,190.7 L361.1,190.5 L363,190.3 L364.8,190.1 L366.7,189.9 L368.5,189.7 L370.3,189.5 L372.2,189.3 L374,189.1 L375.9,188.8 L377.7,188.6 L379.6,188.4 L381.4,188.2 L383.3,188 L385.1,187.8 L387,187.6 L388.8,187.4 L390.6,187.2 L392.5,187 L394.3,186.8 L396.2,186.6 L398,186.4 L399.9,186.2 L401.7,186 L403.6,185.8 L405.4,185.6 L407.3,185.4 L409.1,185.2 L411,185 L412.8,184.8 L414.6,184.6 L416.5,184.4 L418.3,184.2 L420.2,184 L422,183.8 L423.9,183.6 L425.7,183.4 L427.6,183.2 L429.4,183 L431.3,182.8 L433.1,182.6 L435,182.4 L436.8,182.2 L438.6,182 L440.5,181.8 L442.3,181.6 L444.2,181.4 L446,181.2 L447.9,181 L449.7,180.8 L451.6,180.6 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,139.1 L86.05,140.6 L87.89,142 L89.74,143.4 L91.58,144.8 L93.43,146.2 L95.28,147.6 L97.12,148.9 L98.97,150.3 L100.8,151.6 L102.7,152.9 L104.5,154.2 L106.4,155.5 L108.2,156.8 L110,158 L111.9,159.3 L113.7,160.5 L115.6,161.7 L117.4,162.9 L119.3,164.1 L121.1,165.3 L123,166.4 L124.8,167.6 L126.7,168.7 L128.5,169.8 L130.4,170.9 L132.2,172 L134,173.1 L135.9,174.1 L137.7,175.1 L139.6,176.2 L141.4,177.2 L143.3,178.2 L145.1,179.2 L147,180.1 L148.8,181.1 L150.7,182 L152.5,182.9 L154.4,183.8 L156.2,184.7 L158,185.6 L159.9,186.5 L161.7,187.3 L163.6,188.2 L165.4,189 L167.3,189.8 L169.1,190.6 L171,191.4 L172.8,192.1 L174.7,192.9 L176.5,193.6 L178.4,194.3 L180.2,195 L182,195.7 L183.9,196.4 L185.7,197.1 L187.6,197.7 L189.4,198.3 L191.3,198.9 L193.1,199.6 L195,200.1 L196.8,200.7 L198.7,201.3 L200.5,201.8 L202.3,202.3 L204.2,202.9 L206,203.4 L207.9,203.9 L209.7,204.3 L211.6,204.8 L213.4,205.2 L215.3,205.7 L217.1,206.1 L219,206.5 L220.8,206.9 L222.7,207.2 L224.5,207.6 L226.3,207.9 L228.2,208.2 L230,208.6 L231.9,208.9 L233.7,209.1 L235.6,209.4 L237.4,209.7 L239.3,209.9 L241.1,210.1 L243,210.3 L244.8,210.5 L246.7,210.7 L248.5,210.9 L250.3,211 L252.2,211.2 L254,211.3 L255.9,211.4 L257.7,211.5 L259.6,211.6 L261.4,211.6 L263.3,211.7 L265.1,211.7 L267,211.8 L268.8,211.8 L270.7,211.8 L272.5,211.7 L274.3,211.7 L276.2,211.6 L278,211.6 L279.9,211.5 L281.7,211.4 L283.6,211.3 L285.4,211.2 L287.3,211 L289.1,210.9 L291,210.7 L292.8,210.5 L294.7,210.3 L296.5,210.1 L298.3,209.9 L300.2,209.7 L302,209.4 L303.9,209.1 L305.7,208.9 L307.6,208.6 L309.4,208.2 L311.3,207.9 L313.1,207.6 L315,207.2 L316.8,206.9 L318.7,206.5 L320.5,206.1 L322.3,205.7 L324.2,205.2 L326,204.8 L327.9,204.3 L329.7,203.9 L331.6,203.4 L333.4,202.9 L335.3,202.3 L337.1,201.8 L339,201.3 L340.8,200.7 L342.7,200.1 L344.5,199.6 L346.3,198.9 L348.2,198.3 L350,197.7 L351.9,197.1 L353.7,196.4 L355.6,195.7 L357.4,195 L359.3,194.3 L361.1,193.6 L363,192.9 L364.8,192.1 L366.7,191.4 L368.5,190.6 L370.3,189.8 L372.2,189 L374,188.2 L375.9,187.3 L377.7,186.5 L379.6,185.6 L381.4,184.7 L383.3,183.8 L385.1,182.9 L387,182 L388.8,181.1 L390.6,180.1 L392.5,179.2 L394.3,178.2 L396.2,177.2 L398,176.2 L399.9,175.1 L401.7,174.1 L403.6,173.1 L405.4,172 L407.3,170.9 L409.1,169.8 L411,168.7 L412.8,167.6 L414.6,166.4 L416.5,165.3 L418.3,164.1 L420.2,162.9 L422,161.7 L423.9,160.5 L425.7,159.3 L427.6,158 L429.4,156.8 L431.3,155.5 L433.1,154.2 L435,152.9 L436.8,151.6 L438.6,150.3 L440.5,148.9 L442.3,147.6 L444.2,146.2 L446,144.8 L447.9,143.4 L449.7,142 L451.6,140.6 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.05,334.4 L87.89,328 L89.74,321.8 L91.58,315.7 L93.43,309.8 L95.28,304 L97.12,298.3 L98.97,292.8 L100.8,287.4 L102.7,282.2 L104.5,277.2 L106.4,272.2 L108.2,267.4 L110,262.8 L111.9,258.2 L113.7,253.9 L115.6,249.6 L117.4,245.5 L119.3,241.5 L121.1,237.6 L123,233.8 L124.8,230.2 L126.7,226.7 L128.5,223.3 L130.4,220.1 L132.2,216.9 L134,213.9 L135.9,211 L137.7,208.2 L139.6,205.5 L141.4,202.9 L143.3,200.5 L145.1,198.1 L147,195.8 L148.8,193.7 L150.7,191.6 L152.5,189.7 L154.4,187.8 L156.2,186.1 L158,184.4 L159.9,182.8 L161.7,181.4 L163.6,180 L165.4,178.7 L167.3,177.5 L169.1,176.4 L171,175.3 L172.8,174.4 L174.7,173.5 L176.5,172.7 L178.4,172 L180.2,171.4 L182,170.8 L183.9,170.3 L185.7,169.9 L187.6,169.6 L189.4,169.3 L191.3,169.1 L193.1,168.9 L195,168.9 L196.8,168.8 L198.7,168.9 L200.5,169 L202.3,169.2 L204.2,169.4 L206,169.7 L207.9,170 L209.7,170.4 L211.6,170.8 L213.4,171.3 L215.3,171.8 L217.1,172.4 L219,173 L220.8,173.7 L222.7,174.4 L224.5,175.1 L226.3,175.9 L228.2,176.7 L230,177.5 L231.9,178.4 L233.7,179.3 L235.6,180.3 L237.4,181.3 L239.3,182.3 L241.1,183.3 L243,184.3 L244.8,185.4 L246.7,186.5 L248.5,187.6 L250.3,188.7 L252.2,189.8 L254,191 L255.9,192.2 L257.7,193.3 L259.6,194.5 L261.4,195.7 L263.3,196.9 L265.1,198.1 L267,199.3 L268.8,200.6 L270.7,201.8 L272.5,203 L274.3,204.2 L276.2,205.4 L278,206.6 L279.9,207.8 L281.7,208.9 L283.6,210.1 L285.4,211.3 L287.3,212.4 L289.1,213.5 L291,214.6 L292.8,215.7 L294.7,216.8 L296.5,217.8 L298.3,218.9 L300.2,219.9 L302,220.8 L303.9,221.8 L305.7,222.7 L307.6,223.6 L309.4,224.4 L311.3,225.2 L313.1,226 L315,226.7 L316.8,227.4 L318.7,228.1 L320.5,228.7 L322.3,229.3 L324.2,229.8 L326,230.3 L327.9,230.7 L329.7,231.1 L331.6,231.4 L333.4,231.7 L335.3,231.9 L337.1,232.1 L339,232.2 L340.8,232.3 L342.7,232.2 L344.5,232.2 L346.3,232 L348.2,231.8 L350,231.5 L351.9,231.2 L353.7,230.8 L355.6,230.3 L357.4,229.7 L359.3,229.1 L361.1,228.4 L363,227.6 L364.8,226.7 L366.7,225.8 L368.5,224.8 L370.3,223.6 L372.2,222.4 L374,221.1 L375.9,219.8 L377.7,218.3 L379.6,216.7 L381.4,215 L383.3,213.3 L385.1,211.4 L387,209.5 L388.8,207.4 L390.6,205.3 L392.5,203 L394.3,200.7 L396.2,198.2 L398,195.6 L399.9,192.9 L401.7,190.1 L403.6,187.2 L405.4,184.2 L407.3,181 L409.1,177.8 L411,174.4 L412.8,170.9 L414.6,167.3 L416.5,163.5 L418.3,159.6 L420.2,155.6 L422,151.5 L423.9,147.3 L425.7,142.9 L427.6,138.3 L429.4,133.7 L431.3,128.9 L433.1,123.9 L435,118.9 L436.8,113.7 L438.6,108.3 L440.5,102.8 L442.3,97.15 L444.2,91.35 L446,85.41 L447.9,79.31 L449.7,73.06 L451.6,66.66 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,63.55 L86.05,83.3 L87.89,102.1 L89.74,120 L91.58,137 L93.43,153.2 L95.28,168.5 L97.12,183 L98.97,196.7 L100.8,209.6 L102.7,221.7 L104.5,233.1 L106.4,243.8 L108.2,253.7 L110,263 L111.9,271.7 L113.7,279.7 L115.6,287 L117.4,293.8 L119.3,300 L121.1,305.6 L123,310.6 L124.8,315.2 L126.7,319.2 L128.5,322.7 L130.4,325.8 L132.2,328.3 L134,330.5 L135.9,332.2 L137.7,333.5 L139.6,334.4 L141.4,334.9 L143.3,335.1 L145.1,334.9 L147,334.4 L148.8,333.5 L150.7,332.4 L152.5,331 L154.4,329.3 L156.2,327.3 L158,325.1 L159.9,322.7 L161.7,320 L163.6,317.1 L165.4,314.1 L167.3,310.8 L169.1,307.4 L171,303.9 L172.8,300.2 L174.7,296.3 L176.5,292.4 L178.4,288.3 L180.2,284.2 L182,279.9 L183.9,275.6 L185.7,271.2 L187.6,266.8 L189.4,262.3 L191.3,257.8 L193.1,253.2 L195,248.7 L196.8,244.1 L198.7,239.5 L200.5,235 L202.3,230.5 L204.2,225.9 L206,221.5 L207.9,217.1 L209.7,212.7 L211.6,208.4 L213.4,204.1 L215.3,199.9 L217.1,195.8 L219,191.8 L220.8,187.9 L222.7,184.1 L224.5,180.4 L226.3,176.8 L228.2,173.3 L230,169.9 L231.9,166.7 L233.7,163.5 L235.6,160.5 L237.4,157.7 L239.3,155 L241.1,152.4 L243,150 L244.8,147.8 L246.7,145.6 L248.5,143.7 L250.3,141.9 L252.2,140.3 L254,138.8 L255.9,137.5 L257.7,136.4 L259.6,135.5 L261.4,134.7 L263.3,134.1 L265.1,133.6 L267,133.4 L268.8,133.3 L270.7,133.4 L272.5,133.6 L274.3,134.1 L276.2,134.7 L278,135.5 L279.9,136.4 L281.7,137.5 L283.6,138.8 L285.4,140.3 L287.3,141.9 L289.1,143.7 L291,145.6 L292.8,147.8 L294.7,150 L296.5,152.4 L298.3,155 L300.2,157.7 L302,160.5 L303.9,163.5 L305.7,166.7 L307.6,169.9 L309.4,173.3 L311.3,176.8 L313.1,180.4 L315,184.1 L316.8,187.9 L318.7,191.8 L320.5,195.8 L322.3,199.9 L324.2,204.1 L326,208.4 L327.9,212.7 L329.7,217.1 L331.6,221.5 L333.4,225.9 L335.3,230.5 L337.1,235 L339,239.5 L340.8,244.1 L342.7,248.7 L344.5,253.2 L346.3,257.8 L348.2,262.3 L350,266.8 L351.9,271.2 L353.7,275.6 L355.6,279.9 L357.4,284.2 L359.3,288.3 L361.1,292.4 L363,296.3 L364.8,300.2 L366.7,303.9 L368.5,307.4 L370.3,310.8 L372.2,314.1 L374,317.1 L375.9,320 L377.7,322.7 L379.6,325.1 L381.4,327.3 L383.3,329.3 L385.1,331 L387,332.4 L388.8,333.5 L390.6,334.4 L392.5,334.9 L394.3,335.1 L396.2,334.9 L398,334.4 L399.9,333.5 L401.7,332.2 L403.6,330.5 L405.4,328.3 L407.3,325.8 L409.1,322.7 L411,319.2 L412.8,315.2 L414.6,310.6 L416.5,305.6 L418.3,300 L420.2,293.8 L422,287 L423.9,279.7 L425.7,271.7 L427.6,263 L429.4,253.7 L431.3,243.8 L433.1,233.1 L435,221.7 L436.8,209.6 L438.6,196.7 L440.5,183 L442.3,168.5 L444.2,153.2 L446,137 L447.9,120 L449.7,102.1 L451.6,83.3 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="509.8" y="86" font-size="14" font-family="Verdana">n = 0</text>
-<text x="509.8" y="114" font-size="14" font-family="Verdana">n = 1</text>
-<text x="509.8" y="142" font-size="14" font-family="Verdana">n = 2</text>
-<text x="509.8" y="170" font-size="14" font-family="Verdana">n = 3</text>
-<text x="509.8" y="198" font-size="14" font-family="Verdana">n = 4</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Hermite Polynomials</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_1.svg b/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_1.svg
deleted file mode 100644
index 3bb8bd9efb..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_1.svg
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="410.3" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="412.3" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="99.25" y1="58" x2="99.25" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="504.9" y2="341"/><line x1="87.6" y1="341" x2="504.9" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,330.4 L92.6,330.4 M90.6,319.9 L92.6,319.9 M90.6,309.3 L92.6,309.3 M90.6,298.7 L92.6,298.7 M90.6,277.6 L92.6,277.6 M90.6,267 L92.6,267 M90.6,256.5 L92.6,256.5 M90.6,245.9 L92.6,245.9 M90.6,224.8 L92.6,224.8 M90.6,214.2 L92.6,214.2 M90.6,203.6 L92.6,203.6 M90.6,193.1 L92.6,193.1 M90.6,171.9 L92.6,171.9 M90.6,161.4 L92.6,161.4 M90.6,150.8 L92.6,150.8 M90.6,140.2 L92.6,140.2 M90.6,119.1 L92.6,119.1 M90.6,108.5 L92.6,108.5 M90.6,97.97 L92.6,97.97 M90.6,87.4 L92.6,87.4 M90.6,66.27 L92.6,66.27 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,288.2 L92.6,288.2 M87.6,235.3 L92.6,235.3 M87.6,182.5 L92.6,182.5 M87.6,129.7 L92.6,129.7 M87.6,76.84 L92.6,76.84 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M99.25,341 L99.25,346 M165.7,341 L165.7,346 M232.2,341 L232.2,346 M298.7,341 L298.7,346 M365.2,341 L365.2,346 M431.7,341 L431.7,346 M498.2,341 L498.2,346 M99.25,341 L99.25,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="99.25" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="165.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="232.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="298.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="365.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="431.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">25</text>
-<text x="498.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
-<text x="99.25" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="290.6" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="237.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="81.6" y="184.9" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
-<text x="81.6" y="132.1" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="81.6" y="79.24" text-anchor="end" font-size="12" font-family="Verdana">0.25</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="298.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M94.26,341 L94.26,341 L94.26,300.5 L96.26,300.5 L96.26,341 L107.6,341 L107.6,196.7 L109.6,196.7 L109.6,341 L120.9,341 L120.9,98.08 L122.9,98.08 L122.9,341 L134.2,341 L134.2,83.73 L136.2,83.73 L136.2,341 L147.5,341 L147.5,148.5 L149.5,148.5 L149.5,341 L160.8,341 L160.8,232.7 L162.8,232.7 L162.8,341 L174.1,341 L174.1,293.3 L176.1,293.3 L176.1,341 L187.4,341 L187.4,324.2 L189.4,324.2 L189.4,341 L200.7,341 L200.7,336.1 L202.7,336.1 L202.7,341 L214,341 L214,339.8 L216,339.8 L216,341 L227.3,341 L227.3,340.8 L229.3,340.8 L229.3,341 L240.6,341 L240.6,341 L242.6,341 L242.6,341 L253.9,341 L253.9,341 L255.8,341 L255.8,341 L267.2,341 L267.2,341 L269.1,341 L269.1,341 L280.5,341 L280.5,341 L282.4,341 L282.4,341 L293.8,341 L293.8,341 L295.7,341 L295.7,341 L307.1,341 L307.1,341 L309,341 L309,341 L320.4,341 L320.4,341 L322.3,341 L322.3,341 L333.7,341 L333.7,341 L335.6,341 L335.6,341 L347,341 L347,341 L348.9,341 L348.9,341 L360.2,341 L360.2,341 L362.2,341 L362.2,341 L373.5,341 L373.5,341 L375.5,341 L375.5,341 L386.8,341 L386.8,341 L388.8,341 L388.8,341 L400.1,341 L400.1,341 L402.1,341 L402.1,341 L413.4,341 L413.4,341 L415.4,341 L415.4,341 L426.7,341 L426.7,341 L428.7,341 L428.7,341 L440,341 L440,341 L442,341 L442,341 L453.3,341 L453.3,341 L455.3,341 L455.3,341 L466.6,341 L466.6,341 L468.6,341 L468.6,341 L479.9,341 L479.9,341 L481.9,341 L481.9,341 L493.2,341 L493.2,341 L495.2,341 L495.2,341 L495.2,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M96.26,341 L96.26,341 L96.26,340 L98.25,340 L98.25,341 L109.6,341 L109.6,332.6 L111.6,332.6 L111.6,341 L122.9,341 L122.9,308.5 L124.9,308.5 L124.9,341 L136.2,341 L136.2,261.3 L138.2,261.3 L138.2,341 L149.5,341 L149.5,201.4 L151.4,201.4 L151.4,341 L162.8,341 L162.8,155.2 L164.7,155.2 L164.7,341 L176.1,341 L176.1,145.4 L178,145.4 L178,341 L189.4,341 L189.4,173.8 L191.3,173.8 L191.3,341 L202.7,341 L202.7,222.7 L204.6,222.7 L204.6,341 L216,341 L216,270.8 L217.9,270.8 L217.9,341 L229.3,341 L229.3,305.7 L231.2,305.7 L231.2,341 L242.6,341 L242.6,325.8 L244.5,325.8 L244.5,341 L255.8,341 L255.8,335.4 L257.8,335.4 L257.8,341 L269.1,341 L269.1,339.2 L271.1,339.2 L271.1,341 L282.4,341 L282.4,340.5 L284.4,340.5 L284.4,341 L295.7,341 L295.7,340.9 L297.7,340.9 L297.7,341 L309,341 L309,341 L311,341 L311,341 L322.3,341 L322.3,341 L324.3,341 L324.3,341 L335.6,341 L335.6,341 L337.6,341 L337.6,341 L348.9,341 L348.9,341 L350.9,341 L350.9,341 L362.2,341 L362.2,341 L364.2,341 L364.2,341 L375.5,341 L375.5,341 L377.5,341 L377.5,341 L388.8,341 L388.8,341 L390.8,341 L390.8,341 L402.1,341 L402.1,341 L404.1,341 L404.1,341 L415.4,341 L415.4,341 L417.4,341 L417.4,341 L428.7,341 L428.7,341 L430.7,341 L430.7,341 L442,341 L442,341 L444,341 L444,341 L455.3,341 L455.3,341 L457.3,341 L457.3,341 L468.6,341 L468.6,341 L470.6,341 L470.6,341 L481.9,341 L481.9,341 L483.9,341 L483.9,341 L495.2,341 L495.2,341 L497.2,341 L497.2,341 L497.2,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M98.25,341 L98.25,341 L98.25,341 L100.2,341 L100.2,341 L111.6,341 L111.6,341 L113.5,341 L113.5,341 L124.9,341 L124.9,341 L126.8,341 L126.8,341 L138.2,341 L138.2,341 L140.1,341 L140.1,341 L151.4,341 L151.4,341 L153.4,341 L153.4,341 L164.7,341 L164.7,340.9 L166.7,340.9 L166.7,341 L178,341 L178,340.6 L180,340.6 L180,341 L191.3,341 L191.3,339.4 L193.3,339.4 L193.3,341 L204.6,341 L204.6,336.2 L206.6,336.2 L206.6,341 L217.9,341 L217.9,328.5 L219.9,328.5 L219.9,341 L231.2,341 L231.2,313.6 L233.2,313.6 L233.2,341 L244.5,341 L244.5,289.2 L246.5,289.2 L246.5,341 L257.8,341 L257.8,256.5 L259.8,256.5 L259.8,341 L271.1,341 L271.1,221.5 L273.1,221.5 L273.1,341 L284.4,341 L284.4,194 L286.4,194 L286.4,341 L297.7,341 L297.7,183.6 L299.7,183.6 L299.7,341 L311,341 L311,194 L313,194 L313,341 L324.3,341 L324.3,221.5 L326.3,221.5 L326.3,341 L337.6,341 L337.6,256.5 L339.6,256.5 L339.6,341 L350.9,341 L350.9,289.2 L352.9,289.2 L352.9,341 L364.2,341 L364.2,313.6 L366.2,313.6 L366.2,341 L377.5,341 L377.5,328.5 L379.5,328.5 L379.5,341 L390.8,341 L390.8,336.2 L392.8,336.2 L392.8,341 L404.1,341 L404.1,339.4 L406.1,339.4 L406.1,341 L417.4,341 L417.4,340.6 L419.4,340.6 L419.4,341 L430.7,341 L430.7,340.9 L432.7,340.9 L432.7,341 L444,341 L444,341 L446,341 L446,341 L457.3,341 L457.3,341 L459.3,341 L459.3,341 L470.6,341 L470.6,341 L472.6,341 L472.6,341 L483.9,341 L483.9,341 L485.9,341 L485.9,341 L497.2,341 L497.2,341 L499.2,341 L499.2,341 L499.2,341 Z" fill="rgb(0,100,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" fill="rgb(255,140,0)" stroke-width="1"><path d="M100.2,341 L100.2,341 L100.2,341 L102.2,341 L102.2,341 L113.5,341 L113.5,341 L115.5,341 L115.5,341 L126.8,341 L126.8,341 L128.8,341 L128.8,341 L140.1,341 L140.1,341 L142.1,341 L142.1,341 L153.4,341 L153.4,341 L155.4,341 L155.4,341 L166.7,341 L166.7,341 L168.7,341 L168.7,341 L180,341 L180,341 L182,341 L182,341 L193.3,341 L193.3,341 L195.3,341 L195.3,341 L206.6,341 L206.6,341 L208.6,341 L208.6,341 L219.9,341 L219.9,341 L221.9,341 L221.9,341 L233.2,341 L233.2,341 L235.2,341 L235.2,341 L246.5,341 L246.5,341 L248.5,341 L248.5,341 L259.8,341 L259.8,341 L261.8,341 L261.8,341 L273.1,341 L273.1,341 L275.1,341 L275.1,341 L286.4,341 L286.4,341 L288.4,341 L288.4,341 L299.7,341 L299.7,340.9 L301.7,340.9 L301.7,341 L313,341 L313,340.5 L315,340.5 L315,341 L326.3,341 L326.3,339.2 L328.3,339.2 L328.3,341 L339.6,341 L339.6,335.4 L341.6,335.4 L341.6,341 L352.9,341 L352.9,325.8 L354.9,325.8 L354.9,341 L366.2,341 L366.2,305.7 L368.2,305.7 L368.2,341 L379.5,341 L379.5,270.8 L381.5,270.8 L381.5,341 L392.8,341 L392.8,222.7 L394.8,222.7 L394.8,341 L406.1,341 L406.1,173.8 L408.1,173.8 L408.1,341 L419.4,341 L419.4,145.4 L421.4,145.4 L421.4,341 L432.7,341 L432.7,155.2 L434.7,155.2 L434.7,341 L446,341 L446,201.4 L448,201.4 L448,341 L459.3,341 L459.3,261.3 L461.3,261.3 L461.3,341 L472.6,341 L472.6,308.5 L474.6,308.5 L474.6,341 L485.9,341 L485.9,332.6 L487.9,332.6 L487.9,341 L499.2,341 L499.2,340 L501.2,340 L501.2,341 L501.2,341 Z" fill="rgb(255,140,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" fill="rgb(127,255,0)" stroke-width="1"><path d="M102.2,341 L102.2,341 L102.2,341 L104.2,341 L104.2,341 L115.5,341 L115.5,341 L117.5,341 L117.5,341 L128.8,341 L128.8,341 L130.8,341 L130.8,341 L142.1,341 L142.1,341 L144.1,341 L144.1,341 L155.4,341 L155.4,341 L157.4,341 L157.4,341 L168.7,341 L168.7,341 L170.7,341 L170.7,341 L182,341 L182,341 L184,341 L184,341 L195.3,341 L195.3,341 L197.3,341 L197.3,341 L208.6,341 L208.6,341 L210.6,341 L210.6,341 L221.9,341 L221.9,341 L223.9,341 L223.9,341 L235.2,341 L235.2,341 L237.2,341 L237.2,341 L248.5,341 L248.5,341 L250.5,341 L250.5,341 L261.8,341 L261.8,341 L263.8,341 L263.8,341 L275.1,341 L275.1,341 L277.1,341 L277.1,341 L288.4,341 L288.4,341 L290.4,341 L290.4,341 L301.7,341 L301.7,341 L303.7,341 L303.7,341 L315,341 L315,341 L317,341 L317,341 L328.3,341 L328.3,341 L330.3,341 L330.3,341 L341.6,341 L341.6,341 L343.6,341 L343.6,341 L354.9,341 L354.9,341 L356.9,341 L356.9,341 L368.2,341 L368.2,340.8 L370.2,340.8 L370.2,341 L381.5,341 L381.5,339.8 L383.5,339.8 L383.5,341 L394.8,341 L394.8,336.1 L396.8,336.1 L396.8,341 L408.1,341 L408.1,324.2 L410.1,324.2 L410.1,341 L421.4,341 L421.4,293.3 L423.4,293.3 L423.4,341 L434.7,341 L434.7,232.7 L436.7,232.7 L436.7,341 L448,341 L448,148.5 L450,148.5 L450,341 L461.3,341 L461.3,83.73 L463.3,83.73 L463.3,341 L474.6,341 L474.6,98.08 L476.6,98.08 L476.6,341 L487.9,341 L487.9,196.7 L489.9,196.7 L489.9,341 L501.2,341 L501.2,300.5 L503.2,300.5 L503.2,341 L503.2,341 Z" fill="rgb(127,255,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="518.9" y="58" width="205.1" height="165"/><rect x="518.9" y="58" width="205.1" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="88" x2="548.9" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="118" x2="548.9" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="148" x2="548.9" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="178" x2="548.9" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="208" x2="548.9" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="556.4" y="88" font-size="15" font-family="Verdana">N=500, r=50, n=30</text>
-<text x="556.4" y="118" font-size="15" font-family="Verdana">N=500, r=100, n=30</text>
-<text x="556.4" y="148" font-size="15" font-family="Verdana">N=500, r=250, n=30</text>
-<text x="556.4" y="178" font-size="15" font-family="Verdana">N=500, r=400, n=30</text>
-<text x="556.4" y="208" font-size="15" font-family="Verdana">N=500, r=450, n=30</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Hypergeometric Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_2.svg b/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_2.svg
deleted file mode 100644
index 904e0a3869..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/hypergeometric_pdf_2.svg
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="410.3" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="412.3" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="96.64" y1="58" x2="96.64" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="504.9" y2="341"/><line x1="87.6" y1="341" x2="504.9" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,327.8 L92.6,327.8 M90.6,314.6 L92.6,314.6 M90.6,301.4 L92.6,301.4 M90.6,288.2 L92.6,288.2 M90.6,261.8 L92.6,261.8 M90.6,248.6 L92.6,248.6 M90.6,235.4 L92.6,235.4 M90.6,222.2 L92.6,222.2 M90.6,195.8 L92.6,195.8 M90.6,182.6 L92.6,182.6 M90.6,169.4 L92.6,169.4 M90.6,156.2 L92.6,156.2 M90.6,129.8 L92.6,129.8 M90.6,116.6 L92.6,116.6 M90.6,103.4 L92.6,103.4 M90.6,90.18 L92.6,90.18 M90.6,63.78 L92.6,63.78 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,275 L92.6,275 M87.6,209 L92.6,209 M87.6,143 L92.6,143 M87.6,76.98 L92.6,76.98 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M96.64,341 L96.64,346 M177.5,341 L177.5,346 M258.3,341 L258.3,346 M339.2,341 L339.2,346 M420,341 L420,346 M500.8,341 L500.8,346 M96.64,341 L96.64,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="96.64" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="177.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="258.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="339.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
-<text x="420" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">40</text>
-<text x="500.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
-<text x="96.64" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="277.4" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="211.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="81.6" y="145.4" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
-<text x="81.6" y="79.38" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="298.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.61,341 L93.61,341 L93.61,335.9 L94.82,335.9 L94.82,341 L101.7,341 L101.7,309.4 L102.9,309.4 L102.9,341 L109.8,341 L109.8,246.5 L111,246.5 L111,341 L117.9,341 L117.9,160.9 L119.1,160.9 L119.1,341 L125.9,341 L125.9,94.79 L127.2,94.79 L127.2,341 L134,341 L134,83.73 L135.2,83.73 L135.2,341 L142.1,341 L142.1,127.1 L143.3,127.1 L143.3,341 L150.2,341 L150.2,195.7 L151.4,195.7 L151.4,341 L158.3,341 L158.3,258.7 L159.5,258.7 L159.5,341 L166.4,341 L166.4,301.5 L167.6,301.5 L167.6,341 L174.4,341 L174.4,324.8 L175.7,324.8 L175.7,341 L182.5,341 L182.5,335.3 L183.7,335.3 L183.7,341 L190.6,341 L190.6,339.2 L191.8,339.2 L191.8,341 L198.7,341 L198.7,340.5 L199.9,340.5 L199.9,341 L206.8,341 L206.8,340.9 L208,340.9 L208,341 L214.9,341 L214.9,341 L216.1,341 L216.1,341 L223,341 L223,341 L224.2,341 L224.2,341 L231,341 L231,341 L232.2,341 L232.2,341 L239.1,341 L239.1,341 L240.3,341 L240.3,341 L247.2,341 L247.2,341 L248.4,341 L248.4,341 L255.3,341 L255.3,341 L256.5,341 L256.5,341 L263.4,341 L263.4,341 L264.6,341 L264.6,341 L271.5,341 L271.5,341 L272.7,341 L272.7,341 L279.5,341 L279.5,341 L280.8,341 L280.8,341 L287.6,341 L287.6,341 L288.8,341 L288.8,341 L295.7,341 L295.7,341 L296.9,341 L296.9,341 L303.8,341 L303.8,341 L305,341 L305,341 L311.9,341 L311.9,341 L313.1,341 L313.1,341 L320,341 L320,341 L321.2,341 L321.2,341 L328,341 L328,341 L329.3,341 L329.3,341 L336.1,341 L336.1,341 L337.3,341 L337.3,341 L344.2,341 L344.2,341 L345.4,341 L345.4,341 L352.3,341 L352.3,341 L353.5,341 L353.5,341 L360.4,341 L360.4,341 L361.6,341 L361.6,341 L368.5,341 L368.5,341 L369.7,341 L369.7,341 L376.5,341 L376.5,341 L377.8,341 L377.8,341 L384.6,341 L384.6,341 L385.8,341 L385.8,341 L392.7,341 L392.7,341 L393.9,341 L393.9,341 L400.8,341 L400.8,341 L402,341 L402,341 L408.9,341 L408.9,341 L410.1,341 L410.1,341 L417,341 L417,341 L418.2,341 L418.2,341 L425.1,341 L425.1,341 L426.3,341 L426.3,341 L433.1,341 L433.1,341 L434.3,341 L434.3,341 L441.2,341 L441.2,341 L442.4,341 L442.4,341 L449.3,341 L449.3,341 L450.5,341 L450.5,341 L457.4,341 L457.4,341 L458.6,341 L458.6,341 L465.5,341 L465.5,341 L466.7,341 L466.7,341 L473.6,341 L473.6,341 L474.8,341 L474.8,341 L481.6,341 L481.6,341 L482.9,341 L482.9,341 L489.7,341 L489.7,341 L490.9,341 L490.9,341 L497.8,341 L497.8,341 L499,341 L499,341 L499,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M94.82,341 L94.82,341 L94.82,341 L96.04,341 L96.04,341 L102.9,341 L102.9,340.9 L104.1,340.9 L104.1,341 L111,341 L111,340 L112.2,340 L112.2,341 L119.1,341 L119.1,336.8 L120.3,336.8 L120.3,341 L127.2,341 L127.2,327.4 L128.4,327.4 L128.4,341 L135.2,341 L135.2,307.1 L136.5,307.1 L136.5,341 L143.3,341 L143.3,273.1 L144.5,273.1 L144.5,341 L151.4,341 L151.4,228.6 L152.6,228.6 L152.6,341 L159.5,341 L159.5,184 L160.7,184 L160.7,341 L167.6,341 L167.6,153.3 L168.8,153.3 L168.8,341 L175.7,341 L175.7,146.5 L176.9,146.5 L176.9,341 L183.7,341 L183.7,164.6 L185,164.6 L185,341 L191.8,341 L191.8,200.1 L193,200.1 L193,341 L199.9,341 L199.9,241.1 L201.1,241.1 L201.1,341 L208,341 L208,277.9 L209.2,277.9 L209.2,341 L216.1,341 L216.1,305.3 L217.3,305.3 L217.3,341 L224.2,341 L224.2,322.9 L225.4,322.9 L225.4,341 L232.2,341 L232.2,332.7 L233.5,332.7 L233.5,341 L240.3,341 L240.3,337.6 L241.5,337.6 L241.5,341 L248.4,341 L248.4,339.7 L249.6,339.7 L249.6,341 L256.5,341 L256.5,340.6 L257.7,340.6 L257.7,341 L264.6,341 L264.6,340.9 L265.8,340.9 L265.8,341 L272.7,341 L272.7,341 L273.9,341 L273.9,341 L280.8,341 L280.8,341 L282,341 L282,341 L288.8,341 L288.8,341 L290,341 L290,341 L296.9,341 L296.9,341 L298.1,341 L298.1,341 L305,341 L305,341 L306.2,341 L306.2,341 L313.1,341 L313.1,341 L314.3,341 L314.3,341 L321.2,341 L321.2,341 L322.4,341 L322.4,341 L329.3,341 L329.3,341 L330.5,341 L330.5,341 L337.3,341 L337.3,341 L338.6,341 L338.6,341 L345.4,341 L345.4,341 L346.6,341 L346.6,341 L353.5,341 L353.5,341 L354.7,341 L354.7,341 L361.6,341 L361.6,341 L362.8,341 L362.8,341 L369.7,341 L369.7,341 L370.9,341 L370.9,341 L377.8,341 L377.8,341 L379,341 L379,341 L385.8,341 L385.8,341 L387.1,341 L387.1,341 L393.9,341 L393.9,341 L395.1,341 L395.1,341 L402,341 L402,341 L403.2,341 L403.2,341 L410.1,341 L410.1,341 L411.3,341 L411.3,341 L418.2,341 L418.2,341 L419.4,341 L419.4,341 L426.3,341 L426.3,341 L427.5,341 L427.5,341 L434.3,341 L434.3,341 L435.6,341 L435.6,341 L442.4,341 L442.4,341 L443.6,341 L443.6,341 L450.5,341 L450.5,341 L451.7,341 L451.7,341 L458.6,341 L458.6,341 L459.8,341 L459.8,341 L466.7,341 L466.7,341 L467.9,341 L467.9,341 L474.8,341 L474.8,341 L476,341 L476,341 L482.9,341 L482.9,341 L484.1,341 L484.1,341 L490.9,341 L490.9,341 L492.1,341 L492.1,341 L499,341 L499,341 L500.2,341 L500.2,341 L500.2,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M96.04,341 L96.04,341 L96.04,341 L97.25,341 L97.25,341 L104.1,341 L104.1,341 L105.3,341 L105.3,341 L112.2,341 L112.2,341 L113.4,341 L113.4,341 L120.3,341 L120.3,341 L121.5,341 L121.5,341 L128.4,341 L128.4,341 L129.6,341 L129.6,341 L136.5,341 L136.5,341 L137.7,341 L137.7,341 L144.5,341 L144.5,341 L145.8,341 L145.8,341 L152.6,341 L152.6,341 L153.8,341 L153.8,341 L160.7,341 L160.7,341 L161.9,341 L161.9,341 L168.8,341 L168.8,341 L170,341 L170,341 L176.9,341 L176.9,341 L178.1,341 L178.1,341 L185,341 L185,341 L186.2,341 L186.2,341 L193,341 L193,340.9 L194.3,340.9 L194.3,341 L201.1,341 L201.1,340.8 L202.3,340.8 L202.3,341 L209.2,341 L209.2,340.3 L210.4,340.3 L210.4,341 L217.3,341 L217.3,339.2 L218.5,339.2 L218.5,341 L225.4,341 L225.4,336.8 L226.6,336.8 L226.6,341 L233.5,341 L233.5,331.8 L234.7,331.8 L234.7,341 L241.5,341 L241.5,323 L242.8,323 L242.8,341 L249.6,341 L249.6,309 L250.8,309 L250.8,341 L257.7,341 L257.7,288.9 L258.9,288.9 L258.9,341 L265.8,341 L265.8,263.5 L267,263.5 L267,341 L273.9,341 L273.9,235.6 L275.1,235.6 L275.1,341 L282,341 L282,209.8 L283.2,209.8 L283.2,341 L290,341 L290,191.5 L291.3,191.5 L291.3,341 L298.1,341 L298.1,184.8 L299.3,184.8 L299.3,341 L306.2,341 L306.2,191.5 L307.4,191.5 L307.4,341 L314.3,341 L314.3,209.8 L315.5,209.8 L315.5,341 L322.4,341 L322.4,235.6 L323.6,235.6 L323.6,341 L330.5,341 L330.5,263.5 L331.7,263.5 L331.7,341 L338.6,341 L338.6,288.9 L339.8,288.9 L339.8,341 L346.6,341 L346.6,309 L347.8,309 L347.8,341 L354.7,341 L354.7,323 L355.9,323 L355.9,341 L362.8,341 L362.8,331.8 L364,331.8 L364,341 L370.9,341 L370.9,336.8 L372.1,336.8 L372.1,341 L379,341 L379,339.2 L380.2,339.2 L380.2,341 L387.1,341 L387.1,340.3 L388.3,340.3 L388.3,341 L395.1,341 L395.1,340.8 L396.4,340.8 L396.4,341 L403.2,341 L403.2,340.9 L404.4,340.9 L404.4,341 L411.3,341 L411.3,341 L412.5,341 L412.5,341 L419.4,341 L419.4,341 L420.6,341 L420.6,341 L427.5,341 L427.5,341 L428.7,341 L428.7,341 L435.6,341 L435.6,341 L436.8,341 L436.8,341 L443.6,341 L443.6,341 L444.9,341 L444.9,341 L451.7,341 L451.7,341 L452.9,341 L452.9,341 L459.8,341 L459.8,341 L461,341 L461,341 L467.9,341 L467.9,341 L469.1,341 L469.1,341 L476,341 L476,341 L477.2,341 L477.2,341 L484.1,341 L484.1,341 L485.3,341 L485.3,341 L492.1,341 L492.1,341 L493.4,341 L493.4,341 L500.2,341 L500.2,341 L501.4,341 L501.4,341 L501.4,341 Z" fill="rgb(0,100,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" fill="rgb(255,140,0)" stroke-width="1"><path d="M97.25,341 L97.25,341 L97.25,341 L98.46,341 L98.46,341 L105.3,341 L105.3,341 L106.5,341 L106.5,341 L113.4,341 L113.4,341 L114.6,341 L114.6,341 L121.5,341 L121.5,341 L122.7,341 L122.7,341 L129.6,341 L129.6,341 L130.8,341 L130.8,341 L137.7,341 L137.7,341 L138.9,341 L138.9,341 L145.8,341 L145.8,341 L147,341 L147,341 L153.8,341 L153.8,341 L155,341 L155,341 L161.9,341 L161.9,341 L163.1,341 L163.1,341 L170,341 L170,341 L171.2,341 L171.2,341 L178.1,341 L178.1,341 L179.3,341 L179.3,341 L186.2,341 L186.2,341 L187.4,341 L187.4,341 L194.3,341 L194.3,341 L195.5,341 L195.5,341 L202.3,341 L202.3,341 L203.6,341 L203.6,341 L210.4,341 L210.4,341 L211.6,341 L211.6,341 L218.5,341 L218.5,341 L219.7,341 L219.7,341 L226.6,341 L226.6,341 L227.8,341 L227.8,341 L234.7,341 L234.7,341 L235.9,341 L235.9,341 L242.8,341 L242.8,341 L244,341 L244,341 L250.8,341 L250.8,341 L252.1,341 L252.1,341 L258.9,341 L258.9,341 L260.1,341 L260.1,341 L267,341 L267,341 L268.2,341 L268.2,341 L275.1,341 L275.1,341 L276.3,341 L276.3,341 L283.2,341 L283.2,341 L284.4,341 L284.4,341 L291.3,341 L291.3,341 L292.5,341 L292.5,341 L299.3,341 L299.3,341 L300.6,341 L300.6,341 L307.4,341 L307.4,341 L308.6,341 L308.6,341 L315.5,341 L315.5,341 L316.7,341 L316.7,341 L323.6,341 L323.6,341 L324.8,341 L324.8,341 L331.7,341 L331.7,340.9 L332.9,340.9 L332.9,341 L339.8,341 L339.8,340.6 L341,340.6 L341,341 L347.8,341 L347.8,339.7 L349.1,339.7 L349.1,341 L355.9,341 L355.9,337.6 L357.1,337.6 L357.1,341 L364,341 L364,332.7 L365.2,332.7 L365.2,341 L372.1,341 L372.1,322.9 L373.3,322.9 L373.3,341 L380.2,341 L380.2,305.3 L381.4,305.3 L381.4,341 L388.3,341 L388.3,277.9 L389.5,277.9 L389.5,341 L396.4,341 L396.4,241.1 L397.6,241.1 L397.6,341 L404.4,341 L404.4,200.1 L405.6,200.1 L405.6,341 L412.5,341 L412.5,164.6 L413.7,164.6 L413.7,341 L420.6,341 L420.6,146.5 L421.8,146.5 L421.8,341 L428.7,341 L428.7,153.3 L429.9,153.3 L429.9,341 L436.8,341 L436.8,184 L438,184 L438,341 L444.9,341 L444.9,228.6 L446.1,228.6 L446.1,341 L452.9,341 L452.9,273.1 L454.2,273.1 L454.2,341 L461,341 L461,307.1 L462.2,307.1 L462.2,341 L469.1,341 L469.1,327.4 L470.3,327.4 L470.3,341 L477.2,341 L477.2,336.8 L478.4,336.8 L478.4,341 L485.3,341 L485.3,340 L486.5,340 L486.5,341 L493.4,341 L493.4,340.9 L494.6,340.9 L494.6,341 L501.4,341 L501.4,341 L502.7,341 L502.7,341 L502.7,341 Z" fill="rgb(255,140,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" fill="rgb(127,255,0)" stroke-width="1"><path d="M98.46,341 L98.46,341 L98.46,341 L99.67,341 L99.67,341 L106.5,341 L106.5,341 L107.8,341 L107.8,341 L114.6,341 L114.6,341 L115.8,341 L115.8,341 L122.7,341 L122.7,341 L123.9,341 L123.9,341 L130.8,341 L130.8,341 L132,341 L132,341 L138.9,341 L138.9,341 L140.1,341 L140.1,341 L147,341 L147,341 L148.2,341 L148.2,341 L155,341 L155,341 L156.3,341 L156.3,341 L163.1,341 L163.1,341 L164.3,341 L164.3,341 L171.2,341 L171.2,341 L172.4,341 L172.4,341 L179.3,341 L179.3,341 L180.5,341 L180.5,341 L187.4,341 L187.4,341 L188.6,341 L188.6,341 L195.5,341 L195.5,341 L196.7,341 L196.7,341 L203.6,341 L203.6,341 L204.8,341 L204.8,341 L211.6,341 L211.6,341 L212.8,341 L212.8,341 L219.7,341 L219.7,341 L220.9,341 L220.9,341 L227.8,341 L227.8,341 L229,341 L229,341 L235.9,341 L235.9,341 L237.1,341 L237.1,341 L244,341 L244,341 L245.2,341 L245.2,341 L252.1,341 L252.1,341 L253.3,341 L253.3,341 L260.1,341 L260.1,341 L261.4,341 L261.4,341 L268.2,341 L268.2,341 L269.4,341 L269.4,341 L276.3,341 L276.3,341 L277.5,341 L277.5,341 L284.4,341 L284.4,341 L285.6,341 L285.6,341 L292.5,341 L292.5,341 L293.7,341 L293.7,341 L300.6,341 L300.6,341 L301.8,341 L301.8,341 L308.6,341 L308.6,341 L309.9,341 L309.9,341 L316.7,341 L316.7,341 L317.9,341 L317.9,341 L324.8,341 L324.8,341 L326,341 L326,341 L332.9,341 L332.9,341 L334.1,341 L334.1,341 L341,341 L341,341 L342.2,341 L342.2,341 L349.1,341 L349.1,341 L350.3,341 L350.3,341 L357.1,341 L357.1,341 L358.4,341 L358.4,341 L365.2,341 L365.2,341 L366.4,341 L366.4,341 L373.3,341 L373.3,341 L374.5,341 L374.5,341 L381.4,341 L381.4,341 L382.6,341 L382.6,341 L389.5,341 L389.5,340.9 L390.7,340.9 L390.7,341 L397.6,341 L397.6,340.5 L398.8,340.5 L398.8,341 L405.6,341 L405.6,339.2 L406.9,339.2 L406.9,341 L413.7,341 L413.7,335.3 L414.9,335.3 L414.9,341 L421.8,341 L421.8,324.8 L423,324.8 L423,341 L429.9,341 L429.9,301.5 L431.1,301.5 L431.1,341 L438,341 L438,258.7 L439.2,258.7 L439.2,341 L446.1,341 L446.1,195.7 L447.3,195.7 L447.3,341 L454.2,341 L454.2,127.1 L455.4,127.1 L455.4,341 L462.2,341 L462.2,83.73 L463.4,83.73 L463.4,341 L470.3,341 L470.3,94.79 L471.5,94.79 L471.5,341 L478.4,341 L478.4,160.9 L479.6,160.9 L479.6,341 L486.5,341 L486.5,246.5 L487.7,246.5 L487.7,341 L494.6,341 L494.6,309.4 L495.8,309.4 L495.8,341 L502.7,341 L502.7,335.9 L503.9,335.9 L503.9,341 L503.9,341 Z" fill="rgb(127,255,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="518.9" y="58" width="205.1" height="165"/><rect x="518.9" y="58" width="205.1" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="88" x2="548.9" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="118" x2="548.9" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="148" x2="548.9" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="178" x2="548.9" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="533.9" y1="208" x2="548.9" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="556.4" y="88" font-size="15" font-family="Verdana">N=500, r=50, n=50</text>
-<text x="556.4" y="118" font-size="15" font-family="Verdana">N=500, r=50, n=100</text>
-<text x="556.4" y="148" font-size="15" font-family="Verdana">N=500, r=50, n=250</text>
-<text x="556.4" y="178" font-size="15" font-family="Verdana">N=500, r=50, n=400</text>
-<text x="556.4" y="208" font-size="15" font-family="Verdana">N=500, r=50, n=450</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Hypergeometric Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/ibeta.svg b/libs/math/doc/sf_and_dist/graphs/ibeta.svg
deleted file mode 100644
index dff6f0fd60..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/ibeta.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="319.7" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="321.7" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="405.9" y2="341"/><line x1="79.2" y1="341" x2="405.9" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.1 L84.2,334.1 M82.2,327.1 L84.2,327.1 M82.2,320.2 L84.2,320.2 M82.2,306.3 L84.2,306.3 M82.2,299.4 L84.2,299.4 M82.2,292.4 L84.2,292.4 M82.2,278.6 L84.2,278.6 M82.2,271.6 L84.2,271.6 M82.2,264.7 L84.2,264.7 M82.2,250.8 L84.2,250.8 M82.2,243.9 L84.2,243.9 M82.2,237 L84.2,237 M82.2,223.1 L84.2,223.1 M82.2,216.1 L84.2,216.1 M82.2,209.2 L84.2,209.2 M82.2,195.3 L84.2,195.3 M82.2,188.4 L84.2,188.4 M82.2,181.5 L84.2,181.5 M82.2,167.6 L84.2,167.6 M82.2,160.7 L84.2,160.7 M82.2,153.7 L84.2,153.7 M82.2,139.8 L84.2,139.8 M82.2,132.9 L84.2,132.9 M82.2,126 L84.2,126 M82.2,112.1 L84.2,112.1 M82.2,105.2 L84.2,105.2 M82.2,98.23 L84.2,98.23 M82.2,84.36 L84.2,84.36 M82.2,77.42 L84.2,77.42 M82.2,70.49 L84.2,70.49 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M92.09,341 L92.09,343 M99.97,341 L99.97,343 M107.9,341 L107.9,343 M123.6,341 L123.6,343 M131.5,341 L131.5,343 M139.4,341 L139.4,343 M155.2,341 L155.2,343 M163.1,341 L163.1,343 M170.9,341 L170.9,343 M186.7,341 L186.7,343 M194.6,341 L194.6,343 M202.5,341 L202.5,343 M218.3,341 L218.3,343 M226.1,341 L226.1,343 M234,341 L234,343 M249.8,341 L249.8,343 M257.7,341 L257.7,343 M265.6,341 L265.6,343 M281.3,341 L281.3,343 M289.2,341 L289.2,343 M297.1,341 L297.1,343 M312.9,341 L312.9,343 M320.8,341 L320.8,343 M328.6,341 L328.6,343 M344.4,341 L344.4,343 M352.3,341 L352.3,343 M360.2,341 L360.2,343 M376,341 L376,343 M383.8,341 L383.8,343 M391.7,341 L391.7,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,313.3 L84.2,313.3 M79.2,285.5 L84.2,285.5 M79.2,257.8 L84.2,257.8 M79.2,230 L84.2,230 M79.2,202.3 L84.2,202.3 M79.2,174.5 L84.2,174.5 M79.2,146.8 L84.2,146.8 M79.2,119 L84.2,119 M79.2,91.29 L84.2,91.29 M79.2,63.55 L84.2,63.55 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M115.7,341 L115.7,346 M147.3,341 L147.3,346 M178.8,341 L178.8,346 M210.4,341 L210.4,346 M241.9,341 L241.9,346 M273.4,341 L273.4,346 M305,341 L305,346 M336.5,341 L336.5,346 M368.1,341 L368.1,346 M399.6,341 L399.6,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="115.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.1</text>
-<text x="147.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.2</text>
-<text x="178.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.3</text>
-<text x="210.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.4</text>
-<text x="241.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="273.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.6</text>
-<text x="305" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.7</text>
-<text x="336.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.8</text>
-<text x="368.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.9</text>
-<text x="399.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="93.69" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">ibeta(a, b, z)</text></g>
-<g id="xLabel">
-<text x="245.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L85.78,341 L87.35,341 L88.93,341 L90.51,341 L92.09,341 L93.66,341 L95.24,341 L96.82,341 L98.39,341 L99.97,341 L101.5,341 L103.1,341 L104.7,341 L106.3,341 L107.9,341 L109.4,341 L111,341 L112.6,341 L114.2,341 L115.7,341 L117.3,341 L118.9,341 L120.5,341 L122,341 L123.6,341 L125.2,341 L126.8,341 L128.4,341 L129.9,341 L131.5,341 L133.1,341 L134.7,341 L136.2,341 L137.8,341 L139.4,341 L141,341 L142.6,341 L144.1,341 L145.7,341 L147.3,341 L148.9,341 L150.4,341 L152,341 L153.6,341 L155.2,341 L156.7,341 L158.3,341 L159.9,341 L161.5,341 L163.1,341 L164.6,341 L166.2,341 L167.8,341 L169.4,341 L170.9,341 L172.5,341 L174.1,341 L175.7,341 L177.2,341 L178.8,341 L180.4,341 L182,341 L183.6,341 L185.1,341 L186.7,341 L188.3,341 L189.9,341 L191.4,341 L193,341 L194.6,341 L196.2,341 L197.7,341 L199.3,341 L200.9,341 L202.5,341 L204.1,341 L205.6,340.9 L207.2,340.9 L208.8,340.9 L210.4,340.9 L211.9,340.9 L213.5,340.9 L215.1,340.9 L216.7,340.9 L218.3,340.9 L219.8,340.9 L221.4,340.8 L223,340.8 L224.6,340.8 L226.1,340.8 L227.7,340.8 L229.3,340.7 L230.9,340.7 L232.4,340.7 L234,340.7 L235.6,340.6 L237.2,340.6 L238.8,340.5 L240.3,340.5 L241.9,340.5 L243.5,340.4 L245.1,340.4 L246.6,340.3 L248.2,340.2 L249.8,340.2 L251.4,340.1 L252.9,340 L254.5,339.9 L256.1,339.8 L257.7,339.7 L259.3,339.6 L260.8,339.5 L262.4,339.4 L264,339.2 L265.6,339.1 L267.1,338.9 L268.7,338.8 L270.3,338.6 L271.9,338.4 L273.4,338.2 L275,338 L276.6,337.8 L278.2,337.5 L279.8,337.2 L281.3,337 L282.9,336.7 L284.5,336.3 L286.1,336 L287.6,335.6 L289.2,335.3 L290.8,334.8 L292.4,334.4 L293.9,333.9 L295.5,333.5 L297.1,332.9 L298.7,332.4 L300.3,331.8 L301.8,331.2 L303.4,330.5 L305,329.8 L306.6,329.1 L308.1,328.3 L309.7,327.4 L311.3,326.6 L312.9,325.6 L314.5,324.7 L316,323.6 L317.6,322.5 L319.2,321.4 L320.8,320.2 L322.3,318.9 L323.9,317.5 L325.5,316.1 L327.1,314.6 L328.6,313 L330.2,311.3 L331.8,309.6 L333.4,307.7 L335,305.8 L336.5,303.8 L338.1,301.6 L339.7,299.4 L341.3,297 L342.8,294.5 L344.4,291.9 L346,289.1 L347.6,286.3 L349.1,283.2 L350.7,280.1 L352.3,276.7 L353.9,273.3 L355.5,269.6 L357,265.8 L358.6,261.8 L360.2,257.6 L361.8,253.2 L363.3,248.6 L364.9,243.8 L366.5,238.8 L368.1,233.5 L369.6,228 L371.2,222.3 L372.8,216.3 L374.4,210 L376,203.4 L377.5,196.6 L379.1,189.5 L380.7,182 L382.3,174.2 L383.8,166.1 L385.4,157.7 L387,148.9 L388.6,139.7 L390.1,130.1 L391.7,120.1 L393.3,109.7 L394.9,98.83 L396.5,87.54 L398,75.79 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L85.78,341 L87.35,341 L88.93,341 L90.51,341 L92.09,341 L93.66,341 L95.24,341 L96.82,341 L98.39,341 L99.97,341 L101.5,341 L103.1,341 L104.7,341 L106.3,341 L107.9,341 L109.4,341 L111,341 L112.6,341 L114.2,341 L115.7,341 L117.3,341 L118.9,341 L120.5,341 L122,341 L123.6,341 L125.2,341 L126.8,341 L128.4,341 L129.9,341 L131.5,341 L133.1,341 L134.7,341 L136.2,341 L137.8,341 L139.4,341 L141,341 L142.6,341 L144.1,341 L145.7,341 L147.3,341 L148.9,341 L150.4,341 L152,341 L153.6,341 L155.2,340.9 L156.7,340.9 L158.3,340.9 L159.9,340.9 L161.5,340.9 L163.1,340.9 L164.6,340.9 L166.2,340.9 L167.8,340.8 L169.4,340.8 L170.9,340.8 L172.5,340.8 L174.1,340.7 L175.7,340.7 L177.2,340.7 L178.8,340.6 L180.4,340.6 L182,340.6 L183.6,340.5 L185.1,340.5 L186.7,340.4 L188.3,340.3 L189.9,340.3 L191.4,340.2 L193,340.1 L194.6,340 L196.2,339.9 L197.7,339.8 L199.3,339.7 L200.9,339.6 L202.5,339.4 L204.1,339.3 L205.6,339.2 L207.2,339 L208.8,338.8 L210.4,338.6 L211.9,338.4 L213.5,338.2 L215.1,338 L216.7,337.8 L218.3,337.5 L219.8,337.2 L221.4,336.9 L223,336.6 L224.6,336.3 L226.1,336 L227.7,335.6 L229.3,335.2 L230.9,334.8 L232.4,334.4 L234,333.9 L235.6,333.4 L237.2,332.9 L238.8,332.4 L240.3,331.8 L241.9,331.2 L243.5,330.6 L245.1,330 L246.6,329.3 L248.2,328.6 L249.8,327.8 L251.4,327 L252.9,326.2 L254.5,325.3 L256.1,324.4 L257.7,323.5 L259.3,322.5 L260.8,321.4 L262.4,320.4 L264,319.3 L265.6,318.1 L267.1,316.9 L268.7,315.6 L270.3,314.3 L271.9,312.9 L273.4,311.5 L275,310 L276.6,308.5 L278.2,306.9 L279.8,305.2 L281.3,303.5 L282.9,301.8 L284.5,299.9 L286.1,298 L287.6,296.1 L289.2,294.1 L290.8,292 L292.4,289.8 L293.9,287.6 L295.5,285.3 L297.1,283 L298.7,280.6 L300.3,278.1 L301.8,275.5 L303.4,272.9 L305,270.2 L306.6,267.4 L308.1,264.5 L309.7,261.6 L311.3,258.6 L312.9,255.6 L314.5,252.4 L316,249.2 L317.6,245.9 L319.2,242.6 L320.8,239.2 L322.3,235.7 L323.9,232.1 L325.5,228.5 L327.1,224.8 L328.6,221 L330.2,217.2 L331.8,213.3 L333.4,209.4 L335,205.4 L336.5,201.4 L338.1,197.3 L339.7,193.1 L341.3,188.9 L342.8,184.7 L344.4,180.4 L346,176.1 L347.6,171.8 L349.1,167.4 L350.7,163.1 L352.3,158.7 L353.9,154.3 L355.5,149.9 L357,145.5 L358.6,141.1 L360.2,136.7 L361.8,132.4 L363.3,128.1 L364.9,123.8 L366.5,119.6 L368.1,115.4 L369.6,111.3 L371.2,107.3 L372.8,103.4 L374.4,99.55 L376,95.84 L377.5,92.26 L379.1,88.81 L380.7,85.51 L382.3,82.38 L383.8,79.43 L385.4,76.68 L387,74.13 L388.6,71.82 L390.1,69.75 L391.7,67.94 L393.3,66.42 L394.9,65.19 L396.5,64.3 L398,63.74 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L85.78,341 L87.35,341 L88.93,341 L90.51,341 L92.09,341 L93.66,341 L95.24,341 L96.82,341 L98.39,341 L99.97,341 L101.5,341 L103.1,341 L104.7,341 L106.3,341 L107.9,340.9 L109.4,340.9 L111,340.9 L112.6,340.8 L114.2,340.8 L115.7,340.8 L117.3,340.7 L118.9,340.6 L120.5,340.5 L122,340.4 L123.6,340.3 L125.2,340.2 L126.8,340 L128.4,339.9 L129.9,339.7 L131.5,339.4 L133.1,339.2 L134.7,338.9 L136.2,338.6 L137.8,338.3 L139.4,337.9 L141,337.5 L142.6,337.1 L144.1,336.6 L145.7,336.1 L147.3,335.6 L148.9,335 L150.4,334.3 L152,333.6 L153.6,332.9 L155.2,332.1 L156.7,331.3 L158.3,330.4 L159.9,329.5 L161.5,328.5 L163.1,327.4 L164.6,326.3 L166.2,325.1 L167.8,323.9 L169.4,322.6 L170.9,321.3 L172.5,319.9 L174.1,318.4 L175.7,316.9 L177.2,315.3 L178.8,313.6 L180.4,311.9 L182,310.1 L183.6,308.2 L185.1,306.3 L186.7,304.3 L188.3,302.2 L189.9,300.1 L191.4,297.9 L193,295.7 L194.6,293.4 L196.2,291 L197.7,288.6 L199.3,286.1 L200.9,283.5 L202.5,280.9 L204.1,278.2 L205.6,275.5 L207.2,272.7 L208.8,269.9 L210.4,267 L211.9,264.1 L213.5,261.1 L215.1,258.1 L216.7,255.1 L218.3,252 L219.8,248.8 L221.4,245.7 L223,242.5 L224.6,239.2 L226.1,236 L227.7,232.7 L229.3,229.4 L230.9,226 L232.4,222.7 L234,219.3 L235.6,215.9 L237.2,212.5 L238.8,209.1 L240.3,205.7 L241.9,202.3 L243.5,198.9 L245.1,195.5 L246.6,192 L248.2,188.6 L249.8,185.3 L251.4,181.9 L252.9,178.5 L254.5,175.2 L256.1,171.9 L257.7,168.6 L259.3,165.3 L260.8,162.1 L262.4,158.9 L264,155.7 L265.6,152.6 L267.1,149.5 L268.7,146.4 L270.3,143.4 L271.9,140.4 L273.4,137.5 L275,134.6 L276.6,131.8 L278.2,129 L279.8,126.3 L281.3,123.6 L282.9,121 L284.5,118.5 L286.1,116 L287.6,113.6 L289.2,111.2 L290.8,108.9 L292.4,106.6 L293.9,104.5 L295.5,102.3 L297.1,100.3 L298.7,98.28 L300.3,96.35 L301.8,94.49 L303.4,92.7 L305,90.96 L306.6,89.3 L308.1,87.69 L309.7,86.15 L311.3,84.68 L312.9,83.27 L314.5,81.92 L316,80.63 L317.6,79.4 L319.2,78.23 L320.8,77.12 L322.3,76.07 L323.9,75.08 L325.5,74.14 L327.1,73.25 L328.6,72.42 L330.2,71.63 L331.8,70.9 L333.4,70.22 L335,69.58 L336.5,68.98 L338.1,68.43 L339.7,67.92 L341.3,67.45 L342.8,67.02 L344.4,66.62 L346,66.26 L347.6,65.93 L349.1,65.63 L350.7,65.35 L352.3,65.11 L353.9,64.89 L355.5,64.7 L357,64.52 L358.6,64.37 L360.2,64.24 L361.8,64.12 L363.3,64.02 L364.9,63.93 L366.5,63.86 L368.1,63.8 L369.6,63.74 L371.2,63.7 L372.8,63.66 L374.4,63.64 L376,63.61 L377.5,63.6 L379.1,63.58 L380.7,63.57 L382.3,63.56 L383.8,63.56 L385.4,63.55 L387,63.55 L388.6,63.55 L390.1,63.55 L391.7,63.55 L393.3,63.55 L394.9,63.55 L396.5,63.55 L398,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L85.78,340.8 L87.35,340.3 L88.93,339.4 L90.51,338.1 L92.09,336.6 L93.66,334.8 L95.24,332.7 L96.82,330.4 L98.39,327.9 L99.97,325.1 L101.5,322.2 L103.1,319 L104.7,315.7 L106.3,312.3 L107.9,308.7 L109.4,305 L111,301.2 L112.6,297.3 L114.2,293.2 L115.7,289.1 L117.3,285 L118.9,280.8 L120.5,276.5 L122,272.2 L123.6,267.8 L125.2,263.5 L126.8,259.1 L128.4,254.7 L129.9,250.3 L131.5,245.9 L133.1,241.5 L134.7,237.1 L136.2,232.8 L137.8,228.4 L139.4,224.1 L141,219.9 L142.6,215.6 L144.1,211.4 L145.7,207.3 L147.3,203.2 L148.9,199.1 L150.4,195.2 L152,191.2 L153.6,187.3 L155.2,183.5 L156.7,179.8 L158.3,176.1 L159.9,172.4 L161.5,168.9 L163.1,165.4 L164.6,162 L166.2,158.6 L167.8,155.3 L169.4,152.1 L170.9,149 L172.5,145.9 L174.1,142.9 L175.7,140 L177.2,137.2 L178.8,134.4 L180.4,131.7 L182,129 L183.6,126.5 L185.1,124 L186.7,121.6 L188.3,119.2 L189.9,116.9 L191.4,114.7 L193,112.6 L194.6,110.5 L196.2,108.5 L197.7,106.5 L199.3,104.6 L200.9,102.8 L202.5,101 L204.1,99.31 L205.6,97.66 L207.2,96.07 L208.8,94.54 L210.4,93.06 L211.9,91.64 L213.5,90.27 L215.1,88.95 L216.7,87.69 L218.3,86.47 L219.8,85.3 L221.4,84.18 L223,83.1 L224.6,82.07 L226.1,81.08 L227.7,80.13 L229.3,79.23 L230.9,78.36 L232.4,77.53 L234,76.74 L235.6,75.99 L237.2,75.27 L238.8,74.58 L240.3,73.93 L241.9,73.3 L243.5,72.71 L245.1,72.15 L246.6,71.61 L248.2,71.11 L249.8,70.63 L251.4,70.17 L252.9,69.74 L254.5,69.33 L256.1,68.94 L257.7,68.58 L259.3,68.23 L260.8,67.91 L262.4,67.6 L264,67.31 L265.6,67.04 L267.1,66.79 L268.7,66.55 L270.3,66.32 L271.9,66.11 L273.4,65.91 L275,65.73 L276.6,65.56 L278.2,65.39 L279.8,65.24 L281.3,65.1 L282.9,64.97 L284.5,64.85 L286.1,64.74 L287.6,64.64 L289.2,64.54 L290.8,64.45 L292.4,64.37 L293.9,64.29 L295.5,64.22 L297.1,64.16 L298.7,64.1 L300.3,64.04 L301.8,63.99 L303.4,63.95 L305,63.91 L306.6,63.87 L308.1,63.83 L309.7,63.8 L311.3,63.78 L312.9,63.75 L314.5,63.73 L316,63.71 L317.6,63.69 L319.2,63.67 L320.8,63.65 L322.3,63.64 L323.9,63.63 L325.5,63.62 L327.1,63.61 L328.6,63.6 L330.2,63.59 L331.8,63.59 L333.4,63.58 L335,63.58 L336.5,63.57 L338.1,63.57 L339.7,63.57 L341.3,63.56 L342.8,63.56 L344.4,63.56 L346,63.56 L347.6,63.56 L349.1,63.55 L350.7,63.55 L352.3,63.55 L353.9,63.55 L355.5,63.55 L357,63.55 L358.6,63.55 L360.2,63.55 L361.8,63.55 L363.3,63.55 L364.9,63.55 L366.5,63.55 L368.1,63.55 L369.6,63.55 L371.2,63.55 L372.8,63.55 L374.4,63.55 L376,63.55 L377.5,63.55 L379.1,63.55 L380.7,63.55 L382.3,63.55 L383.8,63.55 L385.4,63.55 L387,63.55 L388.6,63.55 L390.1,63.55 L391.7,63.55 L393.3,63.55 L394.9,63.55 L396.5,63.55 L398,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L85.78,328.8 L87.35,317 L88.93,305.7 L90.51,294.9 L92.09,284.5 L93.66,274.5 L95.24,264.9 L96.82,255.7 L98.39,246.9 L99.97,238.4 L101.5,230.3 L103.1,222.5 L104.7,215.1 L106.3,207.9 L107.9,201.1 L109.4,194.6 L111,188.3 L112.6,182.3 L114.2,176.5 L115.7,171 L117.3,165.8 L118.9,160.8 L120.5,155.9 L122,151.4 L123.6,147 L125.2,142.8 L126.8,138.8 L128.4,134.9 L129.9,131.3 L131.5,127.8 L133.1,124.5 L134.7,121.3 L136.2,118.3 L137.8,115.4 L139.4,112.7 L141,110.1 L142.6,107.6 L144.1,105.2 L145.7,102.9 L147.3,100.8 L148.9,98.74 L150.4,96.8 L152,94.96 L153.6,93.2 L155.2,91.53 L156.7,89.95 L158.3,88.45 L159.9,87.02 L161.5,85.67 L163.1,84.38 L164.6,83.16 L166.2,82.01 L167.8,80.92 L169.4,79.88 L170.9,78.9 L172.5,77.98 L174.1,77.1 L175.7,76.27 L177.2,75.49 L178.8,74.75 L180.4,74.05 L182,73.39 L183.6,72.76 L185.1,72.17 L186.7,71.62 L188.3,71.1 L189.9,70.61 L191.4,70.14 L193,69.71 L194.6,69.3 L196.2,68.91 L197.7,68.55 L199.3,68.21 L200.9,67.89 L202.5,67.59 L204.1,67.3 L205.6,67.04 L207.2,66.79 L208.8,66.56 L210.4,66.35 L211.9,66.14 L213.5,65.95 L215.1,65.78 L216.7,65.61 L218.3,65.46 L219.8,65.31 L221.4,65.18 L223,65.05 L224.6,64.94 L226.1,64.83 L227.7,64.73 L229.3,64.63 L230.9,64.55 L232.4,64.46 L234,64.39 L235.6,64.32 L237.2,64.26 L238.8,64.2 L240.3,64.14 L241.9,64.09 L243.5,64.04 L245.1,64 L246.6,63.96 L248.2,63.92 L249.8,63.89 L251.4,63.86 L252.9,63.83 L254.5,63.8 L256.1,63.78 L257.7,63.76 L259.3,63.74 L260.8,63.72 L262.4,63.7 L264,63.69 L265.6,63.67 L267.1,63.66 L268.7,63.65 L270.3,63.64 L271.9,63.63 L273.4,63.62 L275,63.61 L276.6,63.61 L278.2,63.6 L279.8,63.59 L281.3,63.59 L282.9,63.59 L284.5,63.58 L286.1,63.58 L287.6,63.57 L289.2,63.57 L290.8,63.57 L292.4,63.57 L293.9,63.56 L295.5,63.56 L297.1,63.56 L298.7,63.56 L300.3,63.56 L301.8,63.56 L303.4,63.56 L305,63.55 L306.6,63.55 L308.1,63.55 L309.7,63.55 L311.3,63.55 L312.9,63.55 L314.5,63.55 L316,63.55 L317.6,63.55 L319.2,63.55 L320.8,63.55 L322.3,63.55 L323.9,63.55 L325.5,63.55 L327.1,63.55 L328.6,63.55 L330.2,63.55 L331.8,63.55 L333.4,63.55 L335,63.55 L336.5,63.55 L338.1,63.55 L339.7,63.55 L341.3,63.55 L342.8,63.55 L344.4,63.55 L346,63.55 L347.6,63.55 L349.1,63.55 L350.7,63.55 L352.3,63.55 L353.9,63.55 L355.5,63.55 L357,63.55 L358.6,63.55 L360.2,63.55 L361.8,63.55 L363.3,63.55 L364.9,63.55 L366.5,63.55 L368.1,63.55 L369.6,63.55 L371.2,63.55 L372.8,63.55 L374.4,63.55 L376,63.55 L377.5,63.55 L379.1,63.55 L380.7,63.55 L382.3,63.55 L383.8,63.55 L385.4,63.55 L387,63.55 L388.6,63.55 L390.1,63.55 L391.7,63.55 L393.3,63.55 L394.9,63.55 L396.5,63.55 L398,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="419.9" y="58" width="154.1" height="154"/><rect x="419.9" y="58" width="154.1" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="86" x2="447.9" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="114" x2="447.9" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="142" x2="447.9" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="170" x2="447.9" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="198" x2="447.9" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="454.9" y="86" font-size="14" font-family="Verdana">a = 9, b = 1</text>
-<text x="454.9" y="114" font-size="14" font-family="Verdana">a = 7, b = 2</text>
-<text x="454.9" y="142" font-size="14" font-family="Verdana">a = 5, b = 5</text>
-<text x="454.9" y="170" font-size="14" font-family="Verdana">a = 2, b = 7</text>
-<text x="454.9" y="198" font-size="14" font-family="Verdana">a = 1, b = 9</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">ibeta</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/laguerre.svg b/libs/math/doc/sf_and_dist/graphs/laguerre.svg
deleted file mode 100644
index 47d47c7cde..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/laguerre.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="374.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="376.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="204.5" y1="58" x2="204.5" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="238.2" x2="460.8" y2="238.2"/><line x1="79.2" y1="341" x2="460.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,216.4 L84.2,216.4 M82.2,194.6 L84.2,194.6 M82.2,172.7 L84.2,172.7 M82.2,129.1 L84.2,129.1 M82.2,107.2 L84.2,107.2 M82.2,85.39 L84.2,85.39 M82.2,238.2 L84.2,238.2 M82.2,260.1 L84.2,260.1 M82.2,281.9 L84.2,281.9 M82.2,303.8 L84.2,303.8 M82.2,325.6 L84.2,325.6 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M234.5,341 L234.5,343 M264.6,341 L264.6,343 M294.6,341 L294.6,343 M354.8,341 L354.8,343 M384.8,341 L384.8,343 M414.9,341 L414.9,343 M174.4,341 L174.4,343 M144.3,341 L144.3,343 M114.3,341 L114.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,238.2 L84.2,238.2 M79.2,150.9 L84.2,150.9 M79.2,63.55 L84.2,63.55 M79.2,238.2 L84.2,238.2 M79.2,325.6 L84.2,325.6 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M204.5,341 L204.5,346 M324.7,341 L324.7,346 M445,341 L445,346 M204.5,341 L204.5,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="204.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="324.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="445" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="204.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="240.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="153.3" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">20</text>
-<text x="73.2" y="240.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="328" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">laguerre(n, x)</text></g>
-<g id="xLabel">
-<text x="272.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,229.5 L86,229.5 L87.81,229.5 L89.61,229.5 L91.42,229.5 L93.22,229.5 L95.02,229.5 L96.83,229.5 L98.63,229.5 L100.4,229.5 L102.2,229.5 L104,229.5 L105.8,229.5 L107.6,229.5 L109.5,229.5 L111.3,229.5 L113.1,229.5 L114.9,229.5 L116.7,229.5 L118.5,229.5 L120.3,229.5 L122.1,229.5 L123.9,229.5 L125.7,229.5 L127.5,229.5 L129.3,229.5 L131.1,229.5 L132.9,229.5 L134.7,229.5 L136.5,229.5 L138.3,229.5 L140.1,229.5 L141.9,229.5 L143.7,229.5 L145.5,229.5 L147.3,229.5 L149.1,229.5 L150.9,229.5 L152.7,229.5 L154.5,229.5 L156.4,229.5 L158.2,229.5 L160,229.5 L161.8,229.5 L163.6,229.5 L165.4,229.5 L167.2,229.5 L169,229.5 L170.8,229.5 L172.6,229.5 L174.4,229.5 L176.2,229.5 L178,229.5 L179.8,229.5 L181.6,229.5 L183.4,229.5 L185.2,229.5 L187,229.5 L188.8,229.5 L190.6,229.5 L192.4,229.5 L194.2,229.5 L196,229.5 L197.8,229.5 L199.6,229.5 L201.4,229.5 L203.3,229.5 L205.1,229.5 L206.9,229.5 L208.7,229.5 L210.5,229.5 L212.3,229.5 L214.1,229.5 L215.9,229.5 L217.7,229.5 L219.5,229.5 L221.3,229.5 L223.1,229.5 L224.9,229.5 L226.7,229.5 L228.5,229.5 L230.3,229.5 L232.1,229.5 L233.9,229.5 L235.7,229.5 L237.5,229.5 L239.3,229.5 L241.1,229.5 L242.9,229.5 L244.7,229.5 L246.5,229.5 L248.3,229.5 L250.2,229.5 L252,229.5 L253.8,229.5 L255.6,229.5 L257.4,229.5 L259.2,229.5 L261,229.5 L262.8,229.5 L264.6,229.5 L266.4,229.5 L268.2,229.5 L270,229.5 L271.8,229.5 L273.6,229.5 L275.4,229.5 L277.2,229.5 L279,229.5 L280.8,229.5 L282.6,229.5 L284.4,229.5 L286.2,229.5 L288,229.5 L289.8,229.5 L291.6,229.5 L293.4,229.5 L295.2,229.5 L297,229.5 L298.9,229.5 L300.7,229.5 L302.5,229.5 L304.3,229.5 L306.1,229.5 L307.9,229.5 L309.7,229.5 L311.5,229.5 L313.3,229.5 L315.1,229.5 L316.9,229.5 L318.7,229.5 L320.5,229.5 L322.3,229.5 L324.1,229.5 L325.9,229.5 L327.7,229.5 L329.5,229.5 L331.3,229.5 L333.1,229.5 L334.9,229.5 L336.7,229.5 L338.5,229.5 L340.3,229.5 L342.1,229.5 L343.9,229.5 L345.8,229.5 L347.6,229.5 L349.4,229.5 L351.2,229.5 L353,229.5 L354.8,229.5 L356.6,229.5 L358.4,229.5 L360.2,229.5 L362,229.5 L363.8,229.5 L365.6,229.5 L367.4,229.5 L369.2,229.5 L371,229.5 L372.8,229.5 L374.6,229.5 L376.4,229.5 L378.2,229.5 L380,229.5 L381.8,229.5 L383.6,229.5 L385.4,229.5 L387.2,229.5 L389,229.5 L390.8,229.5 L392.7,229.5 L394.5,229.5 L396.3,229.5 L398.1,229.5 L399.9,229.5 L401.7,229.5 L403.5,229.5 L405.3,229.5 L407.1,229.5 L408.9,229.5 L410.7,229.5 L412.5,229.5 L414.3,229.5 L416.1,229.5 L417.9,229.5 L419.7,229.5 L421.5,229.5 L423.3,229.5 L425.1,229.5 L426.9,229.5 L428.7,229.5 L430.5,229.5 L432.3,229.5 L434.1,229.5 L435.9,229.5 L437.7,229.5 L439.6,229.5 L441.4,229.5 L443.2,229.5 L445,229.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,185.8 L86,186.5 L87.81,187.1 L89.61,187.8 L91.42,188.5 L93.22,189.1 L95.02,189.8 L96.83,190.4 L98.63,191.1 L100.4,191.7 L102.2,192.4 L104,193 L105.8,193.7 L107.6,194.3 L109.5,195 L111.3,195.7 L113.1,196.3 L114.9,197 L116.7,197.6 L118.5,198.3 L120.3,198.9 L122.1,199.6 L123.9,200.2 L125.7,200.9 L127.5,201.6 L129.3,202.2 L131.1,202.9 L132.9,203.5 L134.7,204.2 L136.5,204.8 L138.3,205.5 L140.1,206.1 L141.9,206.8 L143.7,207.5 L145.5,208.1 L147.3,208.8 L149.1,209.4 L150.9,210.1 L152.7,210.7 L154.5,211.4 L156.4,212 L158.2,212.7 L160,213.3 L161.8,214 L163.6,214.7 L165.4,215.3 L167.2,216 L169,216.6 L170.8,217.3 L172.6,217.9 L174.4,218.6 L176.2,219.2 L178,219.9 L179.8,220.6 L181.6,221.2 L183.4,221.9 L185.2,222.5 L187,223.2 L188.8,223.8 L190.6,224.5 L192.4,225.1 L194.2,225.8 L196,226.4 L197.8,227.1 L199.6,227.8 L201.4,228.4 L203.3,229.1 L205.1,229.7 L206.9,230.4 L208.7,231 L210.5,231.7 L212.3,232.3 L214.1,233 L215.9,233.7 L217.7,234.3 L219.5,235 L221.3,235.6 L223.1,236.3 L224.9,236.9 L226.7,237.6 L228.5,238.2 L230.3,238.9 L232.1,239.6 L233.9,240.2 L235.7,240.9 L237.5,241.5 L239.3,242.2 L241.1,242.8 L242.9,243.5 L244.7,244.1 L246.5,244.8 L248.3,245.4 L250.2,246.1 L252,246.8 L253.8,247.4 L255.6,248.1 L257.4,248.7 L259.2,249.4 L261,250 L262.8,250.7 L264.6,251.3 L266.4,252 L268.2,252.7 L270,253.3 L271.8,254 L273.6,254.6 L275.4,255.3 L277.2,255.9 L279,256.6 L280.8,257.2 L282.6,257.9 L284.4,258.5 L286.2,259.2 L288,259.9 L289.8,260.5 L291.6,261.2 L293.4,261.8 L295.2,262.5 L297,263.1 L298.9,263.8 L300.7,264.4 L302.5,265.1 L304.3,265.8 L306.1,266.4 L307.9,267.1 L309.7,267.7 L311.5,268.4 L313.3,269 L315.1,269.7 L316.9,270.3 L318.7,271 L320.5,271.7 L322.3,272.3 L324.1,273 L325.9,273.6 L327.7,274.3 L329.5,274.9 L331.3,275.6 L333.1,276.2 L334.9,276.9 L336.7,277.5 L338.5,278.2 L340.3,278.9 L342.1,279.5 L343.9,280.2 L345.8,280.8 L347.6,281.5 L349.4,282.1 L351.2,282.8 L353,283.4 L354.8,284.1 L356.6,284.8 L358.4,285.4 L360.2,286.1 L362,286.7 L363.8,287.4 L365.6,288 L367.4,288.7 L369.2,289.3 L371,290 L372.8,290.6 L374.6,291.3 L376.4,292 L378.2,292.6 L380,293.3 L381.8,293.9 L383.6,294.6 L385.4,295.2 L387.2,295.9 L389,296.5 L390.8,297.2 L392.7,297.9 L394.5,298.5 L396.3,299.2 L398.1,299.8 L399.9,300.5 L401.7,301.1 L403.5,301.8 L405.3,302.4 L407.1,303.1 L408.9,303.8 L410.7,304.4 L412.5,305.1 L414.3,305.7 L416.1,306.4 L417.9,307 L419.7,307.7 L421.5,308.3 L423.3,309 L425.1,309.6 L426.9,310.3 L428.7,311 L430.5,311.6 L432.3,312.3 L434.1,312.9 L435.9,313.6 L437.7,314.2 L439.6,314.9 L441.4,315.5 L443.2,316.2 L445,316.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M96.69,63.55 L98.25,67.2 L99.81,70.81 L101.4,74.39 L102.9,77.93 L104.5,81.43 L106,84.9 L107.6,88.33 L109.2,91.72 L110.7,95.08 L112.3,98.4 L113.8,101.7 L115.4,104.9 L117,108.1 L118.5,111.3 L120.1,114.4 L121.6,117.5 L123.2,120.6 L124.7,123.6 L126.3,126.6 L127.9,129.6 L129.4,132.5 L131,135.4 L132.5,138.2 L134.1,141 L135.7,143.8 L137.2,146.5 L138.8,149.2 L140.3,151.9 L141.9,154.5 L143.4,157.1 L145,159.6 L146.6,162.2 L148.1,164.6 L149.7,167.1 L151.2,169.5 L152.8,171.8 L154.4,174.2 L155.9,176.5 L157.5,178.7 L159,180.9 L160.6,183.1 L162.2,185.3 L163.7,187.4 L165.3,189.5 L166.8,191.5 L168.4,193.5 L169.9,195.5 L171.5,197.4 L173.1,199.3 L174.6,201.1 L176.2,202.9 L177.7,204.7 L179.3,206.5 L180.9,208.2 L182.4,209.8 L184,211.5 L185.5,213.1 L187.1,214.6 L188.7,216.1 L190.2,217.6 L191.8,219.1 L193.3,220.5 L194.9,221.9 L196.4,223.2 L198,224.5 L199.6,225.8 L201.1,227 L202.7,228.2 L204.2,229.3 L205.8,230.5 L207.4,231.5 L208.9,232.6 L210.5,233.6 L212,234.6 L213.6,235.5 L215.1,236.4 L216.7,237.3 L218.3,238.1 L219.8,238.9 L221.4,239.6 L222.9,240.4 L224.5,241 L226.1,241.7 L227.6,242.3 L229.2,242.8 L230.7,243.4 L232.3,243.9 L233.9,244.3 L235.4,244.8 L237,245.1 L238.5,245.5 L240.1,245.8 L241.6,246.1 L243.2,246.3 L244.8,246.5 L246.3,246.7 L247.9,246.8 L249.4,246.9 L251,247 L252.6,247 L254.1,247 L255.7,246.9 L257.2,246.8 L258.8,246.7 L260.3,246.5 L261.9,246.3 L263.5,246.1 L265,245.8 L266.6,245.5 L268.1,245.1 L269.7,244.8 L271.3,244.3 L272.8,243.9 L274.4,243.4 L275.9,242.8 L277.5,242.3 L279.1,241.7 L280.6,241 L282.2,240.4 L283.7,239.6 L285.3,238.9 L286.8,238.1 L288.4,237.3 L290,236.4 L291.5,235.5 L293.1,234.6 L294.6,233.6 L296.2,232.6 L297.8,231.5 L299.3,230.5 L300.9,229.3 L302.4,228.2 L304,227 L305.6,225.8 L307.1,224.5 L308.7,223.2 L310.2,221.9 L311.8,220.5 L313.3,219.1 L314.9,217.6 L316.5,216.1 L318,214.6 L319.6,213.1 L321.1,211.5 L322.7,209.8 L324.3,208.2 L325.8,206.5 L327.4,204.7 L328.9,202.9 L330.5,201.1 L332,199.3 L333.6,197.4 L335.2,195.5 L336.7,193.5 L338.3,191.5 L339.8,189.5 L341.4,187.4 L343,185.3 L344.5,183.1 L346.1,180.9 L347.6,178.7 L349.2,176.5 L350.8,174.2 L352.3,171.8 L353.9,169.5 L355.4,167.1 L357,164.6 L358.5,162.2 L360.1,159.6 L361.7,157.1 L363.2,154.5 L364.8,151.9 L366.3,149.2 L367.9,146.5 L369.5,143.8 L371,141 L372.6,138.2 L374.1,135.4 L375.7,132.5 L377.2,129.6 L378.8,126.6 L380.4,123.6 L381.9,120.6 L383.5,117.5 L385,114.4 L386.6,111.3 L388.2,108.1 L389.7,104.9 L391.3,101.7 L392.8,98.4 L394.4,95.08 L396,91.72 L397.5,88.33 L399.1,84.9 L400.6,81.43 L402.2,77.93 L403.7,74.39 L405.3,70.81 L406.9,67.2 L408.4,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M145.2,63.55 L146.4,69.62 L147.7,75.57 L149,81.38 L150.2,87.07 L151.5,92.63 L152.7,98.07 L154,103.4 L155.2,108.6 L156.5,113.7 L157.8,118.6 L159,123.4 L160.3,128.2 L161.5,132.8 L162.8,137.2 L164.1,141.6 L165.3,145.9 L166.6,150 L167.8,154.1 L169.1,158 L170.3,161.8 L171.6,165.6 L172.9,169.2 L174.1,172.7 L175.4,176.1 L176.6,179.4 L177.9,182.6 L179.2,185.8 L180.4,188.8 L181.7,191.7 L182.9,194.5 L184.2,197.3 L185.4,199.9 L186.7,202.5 L188,204.9 L189.2,207.3 L190.5,209.6 L191.7,211.8 L193,213.9 L194.3,215.9 L195.5,217.9 L196.8,219.8 L198,221.5 L199.3,223.3 L200.5,224.9 L201.8,226.5 L203.1,227.9 L204.3,229.4 L205.6,230.7 L206.8,232 L208.1,233.2 L209.4,234.3 L210.6,235.4 L211.9,236.4 L213.1,237.3 L214.4,238.2 L215.6,239 L216.9,239.8 L218.2,240.5 L219.4,241.1 L220.7,241.7 L221.9,242.2 L223.2,242.7 L224.5,243.1 L225.7,243.4 L227,243.8 L228.2,244 L229.5,244.2 L230.8,244.4 L232,244.5 L233.3,244.6 L234.5,244.6 L235.8,244.6 L237,244.6 L238.3,244.5 L239.6,244.4 L240.8,244.2 L242.1,244 L243.3,243.8 L244.6,243.5 L245.9,243.2 L247.1,242.9 L248.4,242.5 L249.6,242.1 L250.9,241.7 L252.1,241.3 L253.4,240.8 L254.7,240.4 L255.9,239.8 L257.2,239.3 L258.4,238.8 L259.7,238.2 L261,237.6 L262.2,237 L263.5,236.4 L264.7,235.8 L266,235.2 L267.2,234.5 L268.5,233.9 L269.8,233.2 L271,232.5 L272.3,231.9 L273.5,231.2 L274.8,230.5 L276.1,229.8 L277.3,229.1 L278.6,228.4 L279.8,227.8 L281.1,227.1 L282.3,226.4 L283.6,225.7 L284.9,225.1 L286.1,224.4 L287.4,223.8 L288.6,223.1 L289.9,222.5 L291.2,221.9 L292.4,221.3 L293.7,220.7 L294.9,220.2 L296.2,219.6 L297.4,219.1 L298.7,218.6 L300,218.1 L301.2,217.7 L302.5,217.2 L303.7,216.8 L305,216.4 L306.3,216.1 L307.5,215.8 L308.8,215.5 L310,215.2 L311.3,215 L312.5,214.8 L313.8,214.6 L315.1,214.5 L316.3,214.4 L317.6,214.4 L318.8,214.4 L320.1,214.4 L321.4,214.5 L322.6,214.6 L323.9,214.8 L325.1,215 L326.4,215.3 L327.6,215.6 L328.9,216 L330.2,216.4 L331.4,216.9 L332.7,217.4 L333.9,218 L335.2,218.6 L336.5,219.3 L337.7,220.1 L339,220.9 L340.2,221.8 L341.5,222.7 L342.7,223.8 L344,224.8 L345.3,226 L346.5,227.2 L347.8,228.5 L349,229.8 L350.3,231.2 L351.6,232.7 L352.8,234.3 L354.1,236 L355.3,237.7 L356.6,239.5 L357.8,241.4 L359.1,243.3 L360.4,245.4 L361.6,247.5 L362.9,249.7 L364.1,252 L365.4,254.4 L366.7,256.9 L367.9,259.4 L369.2,262.1 L370.4,264.8 L371.7,267.7 L373,270.6 L374.2,273.6 L375.5,276.8 L376.7,280 L378,283.3 L379.2,286.7 L380.5,290.3 L381.8,293.9 L383,297.6 L384.3,301.5 L385.5,305.4 L386.8,309.5 L388.1,313.6 L389.3,317.9 L390.6,322.3 L391.8,326.8 L393.1,331.4 L394.3,336.2 L395.6,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M163.7,63.55 L165.1,74.23 L166.6,84.48 L168,94.3 L169.5,103.7 L170.9,112.7 L172.4,121.3 L173.8,129.5 L175.3,137.3 L176.7,144.8 L178.2,151.9 L179.6,158.6 L181.1,165 L182.5,171.1 L184,176.9 L185.4,182.4 L186.9,187.5 L188.3,192.4 L189.8,197 L191.2,201.3 L192.6,205.3 L194.1,209.1 L195.5,212.7 L197,216 L198.4,219 L199.9,221.9 L201.3,224.5 L202.8,227 L204.2,229.2 L205.7,231.2 L207.1,233.1 L208.6,234.8 L210,236.3 L211.5,237.6 L212.9,238.8 L214.4,239.9 L215.8,240.8 L217.3,241.5 L218.7,242.2 L220.2,242.7 L221.6,243.1 L223.1,243.4 L224.5,243.6 L226,243.7 L227.4,243.7 L228.9,243.7 L230.3,243.5 L231.8,243.3 L233.2,243 L234.7,242.7 L236.1,242.3 L237.6,241.8 L239,241.3 L240.5,240.8 L241.9,240.2 L243.4,239.6 L244.8,239 L246.3,238.3 L247.7,237.7 L249.1,237 L250.6,236.3 L252,235.6 L253.5,234.9 L254.9,234.2 L256.4,233.5 L257.8,232.8 L259.3,232.1 L260.7,231.5 L262.2,230.8 L263.6,230.2 L265.1,229.6 L266.5,229.1 L268,228.6 L269.4,228.1 L270.9,227.6 L272.3,227.2 L273.8,226.8 L275.2,226.5 L276.7,226.2 L278.1,226 L279.6,225.8 L281,225.7 L282.5,225.6 L283.9,225.5 L285.4,225.6 L286.8,225.7 L288.3,225.8 L289.7,226 L291.2,226.3 L292.6,226.6 L294.1,227 L295.5,227.4 L297,227.9 L298.4,228.5 L299.9,229.1 L301.3,229.8 L302.8,230.6 L304.2,231.4 L305.6,232.3 L307.1,233.2 L308.5,234.3 L310,235.3 L311.4,236.5 L312.9,237.7 L314.3,238.9 L315.8,240.2 L317.2,241.6 L318.7,243 L320.1,244.5 L321.6,246 L323,247.6 L324.5,249.3 L325.9,250.9 L327.4,252.7 L328.8,254.4 L330.3,256.3 L331.7,258.1 L333.2,260 L334.6,261.9 L336.1,263.9 L337.5,265.9 L339,267.9 L340.4,269.9 L341.9,272 L343.3,274 L344.8,276.1 L346.2,278.2 L347.7,280.3 L349.1,282.4 L350.6,284.5 L352,286.6 L353.5,288.7 L354.9,290.8 L356.4,292.9 L357.8,294.9 L359.3,296.9 L360.7,298.9 L362.1,300.8 L363.6,302.7 L365,304.6 L366.5,306.4 L367.9,308.2 L369.4,309.9 L370.8,311.5 L372.3,313 L373.7,314.5 L375.2,315.9 L376.6,317.2 L378.1,318.4 L379.5,319.5 L381,320.5 L382.4,321.4 L383.9,322.2 L385.3,322.9 L386.8,323.4 L388.2,323.7 L389.7,324 L391.1,324 L392.6,324 L394,323.7 L395.5,323.3 L396.9,322.6 L398.4,321.8 L399.8,320.8 L401.3,319.6 L402.7,318.2 L404.2,316.6 L405.6,314.7 L407.1,312.6 L408.5,310.2 L410,307.6 L411.4,304.7 L412.9,301.6 L414.3,298.1 L415.7,294.4 L417.2,290.4 L418.6,286 L420.1,281.4 L421.5,276.4 L423,271.1 L424.4,265.4 L425.9,259.4 L427.3,253 L428.8,246.3 L430.2,239.1 L431.7,231.6 L433.1,223.6 L434.6,215.3 L436,206.5 L437.5,197.2 L438.9,187.6 L440.4,177.4 L441.8,166.8 L443.3,155.7 L444.7,144.1 L446.2,132 L447.6,119.4 L449.1,106.3 L450.5,92.58 L452,78.35 L453.4,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M173.4,63.55 L174.6,75.83 L175.9,87.5 L177.1,98.59 L178.3,109.1 L179.5,119.1 L180.8,128.5 L182,137.4 L183.2,145.9 L184.5,153.8 L185.7,161.3 L186.9,168.3 L188.2,174.9 L189.4,181.2 L190.6,187 L191.9,192.4 L193.1,197.5 L194.3,202.2 L195.5,206.6 L196.8,210.6 L198,214.4 L199.2,217.8 L200.5,221 L201.7,223.9 L202.9,226.6 L204.2,229 L205.4,231.1 L206.6,233.1 L207.9,234.8 L209.1,236.4 L210.3,237.8 L211.5,238.9 L212.8,240 L214,240.8 L215.2,241.5 L216.5,242.1 L217.7,242.6 L218.9,242.9 L220.2,243.1 L221.4,243.3 L222.6,243.3 L223.9,243.2 L225.1,243.1 L226.3,242.9 L227.5,242.6 L228.8,242.2 L230,241.8 L231.2,241.4 L232.5,240.9 L233.7,240.4 L234.9,239.9 L236.2,239.3 L237.4,238.7 L238.6,238.2 L239.9,237.6 L241.1,237 L242.3,236.3 L243.5,235.8 L244.8,235.2 L246,234.6 L247.2,234 L248.5,233.5 L249.7,233 L250.9,232.5 L252.2,232 L253.4,231.5 L254.6,231.1 L255.9,230.8 L257.1,230.4 L258.3,230.1 L259.5,229.9 L260.8,229.6 L262,229.5 L263.2,229.3 L264.5,229.2 L265.7,229.2 L266.9,229.2 L268.2,229.2 L269.4,229.3 L270.6,229.5 L271.9,229.7 L273.1,229.9 L274.3,230.2 L275.5,230.5 L276.8,230.9 L278,231.3 L279.2,231.8 L280.5,232.3 L281.7,232.8 L282.9,233.4 L284.2,234 L285.4,234.7 L286.6,235.4 L287.9,236.2 L289.1,237 L290.3,237.8 L291.5,238.7 L292.8,239.5 L294,240.5 L295.2,241.4 L296.5,242.4 L297.7,243.4 L298.9,244.4 L300.2,245.4 L301.4,246.4 L302.6,247.5 L303.9,248.6 L305.1,249.6 L306.3,250.7 L307.5,251.8 L308.8,252.9 L310,254 L311.2,255.1 L312.5,256.2 L313.7,257.2 L314.9,258.3 L316.2,259.3 L317.4,260.3 L318.6,261.3 L319.9,262.3 L321.1,263.3 L322.3,264.2 L323.5,265.1 L324.8,265.9 L326,266.8 L327.2,267.5 L328.5,268.3 L329.7,269 L330.9,269.6 L332.2,270.2 L333.4,270.7 L334.6,271.2 L335.9,271.6 L337.1,271.9 L338.3,272.2 L339.5,272.4 L340.8,272.5 L342,272.6 L343.2,272.6 L344.5,272.5 L345.7,272.3 L346.9,272 L348.2,271.6 L349.4,271.2 L350.6,270.6 L351.9,270 L353.1,269.3 L354.3,268.4 L355.5,267.5 L356.8,266.5 L358,265.3 L359.2,264.1 L360.5,262.7 L361.7,261.3 L362.9,259.7 L364.2,258 L365.4,256.2 L366.6,254.2 L367.9,252.2 L369.1,250 L370.3,247.8 L371.5,245.3 L372.8,242.8 L374,240.2 L375.2,237.4 L376.5,234.5 L377.7,231.5 L378.9,228.4 L380.2,225.1 L381.4,221.7 L382.6,218.2 L383.9,214.6 L385.1,210.8 L386.3,207 L387.5,203 L388.8,198.8 L390,194.6 L391.2,190.3 L392.5,185.8 L393.7,181.2 L394.9,176.5 L396.2,171.7 L397.4,166.8 L398.6,161.8 L399.9,156.7 L401.1,151.5 L402.3,146.1 L403.5,140.7 L404.8,135.2 L406,129.6 L407.2,124 L408.5,118.2 L409.7,112.4 L410.9,106.5 L412.2,100.5 L413.4,94.48 L414.6,88.38 L415.9,82.24 L417.1,76.05 L418.3,69.82 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="182"/><rect x="474.8" y="58" width="99.2" height="182"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
-<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="226" x2="502.8" y2="226"/></g>
-</g>
-<g id="legendText">
-<text x="509.8" y="86" font-size="14" font-family="Verdana">n = 0</text>
-<text x="509.8" y="114" font-size="14" font-family="Verdana">n = 1</text>
-<text x="509.8" y="142" font-size="14" font-family="Verdana">n = 2</text>
-<text x="509.8" y="170" font-size="14" font-family="Verdana">n = 3</text>
-<text x="509.8" y="198" font-size="14" font-family="Verdana">n = 4</text>
-<text x="509.8" y="226" font-size="14" font-family="Verdana">n = 5</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Laguerre Polynomials</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/laplace_pdf.svg b/libs/math/doc/sf_and_dist/graphs/laplace_pdf.svg
deleted file mode 100644
index ab49434bdc..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/laplace_pdf.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="450" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="452" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="310.4" y1="58" x2="310.4" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="536.2" y2="341"/><line x1="79.2" y1="341" x2="536.2" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M348.1,341 L348.1,343 M385.9,341 L385.9,343 M423.6,341 L423.6,343 M461.3,341 L461.3,343 M272.6,341 L272.6,343 M234.9,341 L234.9,343 M197.1,341 L197.1,343 M159.4,341 L159.4,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M310.4,341 L310.4,346 M499.1,341 L499.1,346 M310.4,341 L310.4,346 M121.6,341 L121.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="310.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="499.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="310.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="121.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="310.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,340.7 L86.46,340.7 L88.72,340.6 L90.98,340.6 L93.24,340.6 L95.5,340.6 L97.76,340.5 L100,340.5 L102.3,340.5 L104.5,340.4 L106.8,340.4 L109.1,340.4 L111.3,340.3 L113.6,340.3 L115.8,340.3 L118.1,340.2 L120.4,340.2 L122.6,340.1 L124.9,340.1 L127.1,340 L129.4,339.9 L131.7,339.9 L133.9,339.8 L136.2,339.7 L138.4,339.6 L140.7,339.6 L143,339.5 L145.2,339.4 L147.5,339.3 L149.7,339.2 L152,339.1 L154.3,338.9 L156.5,338.8 L158.8,338.7 L161,338.5 L163.3,338.4 L165.6,338.2 L167.8,338.1 L170.1,337.9 L172.3,337.7 L174.6,337.5 L176.9,337.3 L179.1,337 L181.4,336.8 L183.6,336.5 L185.9,336.2 L188.2,335.9 L190.4,335.6 L192.7,335.3 L194.9,335 L197.2,334.6 L199.5,334.2 L201.7,333.8 L204,333.3 L206.3,332.8 L208.5,332.3 L210.8,331.8 L213,331.2 L215.3,330.6 L217.6,330 L219.8,329.3 L222.1,328.6 L224.3,327.8 L226.6,327 L228.9,326.2 L231.1,325.2 L233.4,324.3 L235.6,323.2 L237.9,322.1 L240.2,321 L242.4,319.7 L244.7,318.4 L246.9,317 L249.2,315.6 L251.5,314 L253.7,312.3 L256,310.5 L258.2,308.7 L260.5,306.7 L262.8,304.6 L265,302.3 L267.3,299.9 L269.5,297.4 L271.8,294.7 L274.1,291.8 L276.3,288.8 L278.6,285.6 L280.8,282.2 L283.1,278.5 L285.4,274.7 L287.6,270.6 L289.9,266.2 L292.1,261.6 L294.4,256.7 L296.7,251.5 L298.9,246 L301.2,240.1 L303.4,233.9 L305.7,227.3 L308,220.3 L310.2,212.8 L312.5,219.4 L314.7,226.5 L317,233.1 L319.3,239.4 L321.5,245.3 L323.8,250.9 L326,256.1 L328.3,261 L330.6,265.7 L332.8,270.1 L335.1,274.2 L337.3,278.1 L339.6,281.7 L341.9,285.2 L344.1,288.4 L346.4,291.5 L348.6,294.3 L350.9,297.1 L353.2,299.6 L355.4,302 L357.7,304.3 L359.9,306.4 L362.2,308.4 L364.5,310.3 L366.7,312.1 L369,313.8 L371.2,315.4 L373.5,316.9 L375.8,318.3 L378,319.6 L380.3,320.8 L382.5,322 L384.8,323.1 L387.1,324.1 L389.3,325.1 L391.6,326 L393.8,326.9 L396.1,327.7 L398.4,328.5 L400.6,329.2 L402.9,329.9 L405.1,330.6 L407.4,331.2 L409.7,331.7 L411.9,332.3 L414.2,332.8 L416.4,333.3 L418.7,333.7 L421,334.1 L423.2,334.5 L425.5,334.9 L427.8,335.3 L430,335.6 L432.3,335.9 L434.5,336.2 L436.8,336.5 L439.1,336.7 L441.3,337 L443.6,337.2 L445.8,337.4 L448.1,337.7 L450.4,337.8 L452.6,338 L454.9,338.2 L457.1,338.4 L459.4,338.5 L461.7,338.7 L463.9,338.8 L466.2,338.9 L468.4,339 L470.7,339.2 L473,339.3 L475.2,339.4 L477.5,339.5 L479.7,339.6 L482,339.6 L484.3,339.7 L486.5,339.8 L488.8,339.9 L491,339.9 L493.3,340 L495.6,340 L497.8,340.1 L500.1,340.2 L502.3,340.2 L504.6,340.3 L506.9,340.3 L509.1,340.3 L511.4,340.4 L513.6,340.4 L515.9,340.4 L518.2,340.5 L520.4,340.5 L522.7,340.5 L524.9,340.6 L527.2,340.6 L529.5,340.6 L531.7,340.6 L534,340.7 L536.2,340.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,341 L131.7,341 L133.9,341 L136.2,341 L138.4,341 L140.7,341 L143,341 L145.2,341 L147.5,341 L149.7,340.9 L152,340.9 L154.3,340.9 L156.5,340.9 L158.8,340.9 L161,340.9 L163.3,340.9 L165.6,340.9 L167.8,340.9 L170.1,340.8 L172.3,340.8 L174.6,340.8 L176.9,340.8 L179.1,340.8 L181.4,340.7 L183.6,340.7 L185.9,340.6 L188.2,340.6 L190.4,340.6 L192.7,340.5 L194.9,340.4 L197.2,340.4 L199.5,340.3 L201.7,340.2 L204,340.1 L206.3,340 L208.5,339.8 L210.8,339.7 L213,339.5 L215.3,339.3 L217.6,339.1 L219.8,338.9 L222.1,338.6 L224.3,338.3 L226.6,338 L228.9,337.6 L231.1,337.1 L233.4,336.6 L235.6,336.1 L237.9,335.5 L240.2,334.8 L242.4,334 L244.7,333.1 L246.9,332.1 L249.2,330.9 L251.5,329.7 L253.7,328.2 L256,326.6 L258.2,324.7 L260.5,322.7 L262.8,320.3 L265,317.7 L267.3,314.8 L269.5,311.4 L271.8,307.7 L274.1,303.4 L276.3,298.6 L278.6,293.2 L280.8,287.2 L283.1,280.3 L285.4,272.6 L287.6,263.9 L289.9,254.1 L292.1,243 L294.4,230.6 L296.7,216.5 L298.9,200.7 L301.2,182.8 L303.4,162.7 L305.7,140 L308,114.4 L310.2,85.61 L312.5,111.1 L314.7,137 L317,160 L319.3,180.5 L321.5,198.6 L323.8,214.7 L326,228.9 L328.3,241.6 L330.6,252.8 L332.8,262.7 L335.1,271.6 L337.3,279.4 L339.6,286.4 L341.9,292.5 L344.1,298 L346.4,302.9 L348.6,307.2 L350.9,311 L353.2,314.4 L355.4,317.4 L357.7,320 L359.9,322.4 L362.2,324.5 L364.5,326.4 L366.7,328 L369,329.5 L371.2,330.8 L373.5,331.9 L375.8,333 L378,333.9 L380.3,334.7 L382.5,335.4 L384.8,336 L387.1,336.6 L389.3,337.1 L391.6,337.5 L393.8,337.9 L396.1,338.3 L398.4,338.6 L400.6,338.8 L402.9,339.1 L405.1,339.3 L407.4,339.5 L409.7,339.7 L411.9,339.8 L414.2,340 L416.4,340.1 L418.7,340.2 L421,340.3 L423.2,340.3 L425.5,340.4 L427.8,340.5 L430,340.5 L432.3,340.6 L434.5,340.6 L436.8,340.7 L439.1,340.7 L441.3,340.8 L443.6,340.8 L445.8,340.8 L448.1,340.8 L450.4,340.8 L452.6,340.9 L454.9,340.9 L457.1,340.9 L459.4,340.9 L461.7,340.9 L463.9,340.9 L466.2,340.9 L468.4,340.9 L470.7,340.9 L473,341 L475.2,341 L477.5,341 L479.7,341 L482,341 L484.3,341 L486.5,341 L488.8,341 L491,341 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.46,337.7 L88.72,337.6 L90.98,337.5 L93.24,337.4 L95.5,337.3 L97.76,337.2 L100,337 L102.3,336.9 L104.5,336.8 L106.8,336.7 L109.1,336.5 L111.3,336.4 L113.6,336.3 L115.8,336.1 L118.1,336 L120.4,335.8 L122.6,335.7 L124.9,335.5 L127.1,335.3 L129.4,335.1 L131.7,335 L133.9,334.8 L136.2,334.6 L138.4,334.4 L140.7,334.2 L143,334 L145.2,333.8 L147.5,333.6 L149.7,333.3 L152,333.1 L154.3,332.9 L156.5,332.6 L158.8,332.4 L161,332.1 L163.3,331.8 L165.6,331.6 L167.8,331.3 L170.1,331 L172.3,330.7 L174.6,330.3 L176.9,330 L179.1,329.7 L181.4,329.3 L183.6,329 L185.9,328.6 L188.2,328.3 L190.4,327.9 L192.7,327.5 L194.9,327.1 L197.2,326.6 L199.5,326.2 L201.7,325.7 L204,325.3 L206.3,324.8 L208.5,324.3 L210.8,323.8 L213,323.3 L215.3,322.7 L217.6,322.2 L219.8,321.6 L222.1,321 L224.3,320.4 L226.6,319.8 L228.9,319.2 L231.1,318.5 L233.4,317.8 L235.6,317.1 L237.9,316.4 L240.2,315.6 L242.4,314.9 L244.7,314.1 L246.9,313.2 L249.2,312.4 L251.5,311.5 L253.7,310.6 L256,309.7 L258.2,308.8 L260.5,307.8 L262.8,306.8 L265,305.7 L267.3,304.7 L269.5,303.5 L271.8,302.4 L274.1,301.2 L276.3,300 L278.6,298.8 L280.8,297.5 L283.1,296.2 L285.4,294.8 L287.6,293.4 L289.9,292 L292.1,290.5 L294.4,288.9 L296.7,287.4 L298.9,285.7 L301.2,284 L303.4,282.3 L305.7,280.5 L308,278.7 L310.2,276.8 L312.5,278.5 L314.7,280.3 L317,282.1 L319.3,283.8 L321.5,285.5 L323.8,287.2 L326,288.7 L328.3,290.3 L330.6,291.8 L332.8,293.2 L335.1,294.6 L337.3,296 L339.6,297.3 L341.9,298.6 L344.1,299.9 L346.4,301.1 L348.6,302.3 L350.9,303.4 L353.2,304.5 L355.4,305.6 L357.7,306.6 L359.9,307.7 L362.2,308.6 L364.5,309.6 L366.7,310.5 L369,311.4 L371.2,312.3 L373.5,313.1 L375.8,314 L378,314.8 L380.3,315.5 L382.5,316.3 L384.8,317 L387.1,317.7 L389.3,318.4 L391.6,319.1 L393.8,319.7 L396.1,320.3 L398.4,321 L400.6,321.5 L402.9,322.1 L405.1,322.7 L407.4,323.2 L409.7,323.7 L411.9,324.2 L414.2,324.7 L416.4,325.2 L418.7,325.7 L421,326.1 L423.2,326.6 L425.5,327 L427.8,327.4 L430,327.8 L432.3,328.2 L434.5,328.6 L436.8,328.9 L439.1,329.3 L441.3,329.6 L443.6,330 L445.8,330.3 L448.1,330.6 L450.4,330.9 L452.6,331.2 L454.9,331.5 L457.1,331.8 L459.4,332.1 L461.7,332.3 L463.9,332.6 L466.2,332.8 L468.4,333.1 L470.7,333.3 L473,333.5 L475.2,333.8 L477.5,334 L479.7,334.2 L482,334.4 L484.3,334.6 L486.5,334.8 L488.8,334.9 L491,335.1 L493.3,335.3 L495.6,335.5 L497.8,335.6 L500.1,335.8 L502.3,335.9 L504.6,336.1 L506.9,336.2 L509.1,336.4 L511.4,336.5 L513.6,336.6 L515.9,336.8 L518.2,336.9 L520.4,337 L522.7,337.1 L524.9,337.3 L527.2,337.4 L529.5,337.5 L531.7,337.6 L534,337.7 L536.2,337.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,340.1 L86.46,340.1 L88.72,340 L90.98,340 L93.24,339.9 L95.5,339.8 L97.76,339.7 L100,339.7 L102.3,339.6 L104.5,339.5 L106.8,339.4 L109.1,339.3 L111.3,339.2 L113.6,339.1 L115.8,339 L118.1,338.9 L120.4,338.7 L122.6,338.6 L124.9,338.4 L127.1,338.3 L129.4,338.1 L131.7,337.9 L133.9,337.7 L136.2,337.5 L138.4,337.3 L140.7,337.1 L143,336.9 L145.2,336.6 L147.5,336.3 L149.7,336 L152,335.7 L154.3,335.4 L156.5,335.1 L158.8,334.7 L161,334.3 L163.3,333.9 L165.6,333.5 L167.8,333 L170.1,332.5 L172.3,332 L174.6,331.4 L176.9,330.8 L179.1,330.2 L181.4,329.5 L183.6,328.8 L185.9,328.1 L188.2,327.3 L190.4,326.4 L192.7,325.5 L194.9,324.6 L197.2,323.5 L199.5,322.5 L201.7,321.3 L204,320.1 L206.3,318.8 L208.5,317.5 L210.8,316 L213,314.5 L215.3,312.8 L217.6,311.1 L219.8,309.2 L222.1,307.3 L224.3,305.2 L226.6,303 L228.9,300.6 L231.1,298.2 L233.4,295.5 L235.6,292.7 L237.9,289.7 L240.2,286.6 L242.4,283.2 L244.7,279.6 L246.9,275.8 L249.2,271.8 L251.5,267.6 L253.7,263 L256,258.2 L258.2,253.1 L260.5,247.7 L262.8,241.9 L265,235.8 L267.3,229.3 L269.5,222.4 L271.8,215.1 L274.1,217.2 L276.3,224.4 L278.6,231.2 L280.8,237.6 L283.1,243.6 L285.4,249.2 L287.6,254.6 L289.9,259.6 L292.1,264.3 L294.4,268.8 L296.7,273 L298.9,276.9 L301.2,280.6 L303.4,284.2 L305.7,287.5 L308,290.6 L310.2,293.5 L312.5,296.3 L314.7,298.9 L317,301.3 L319.3,303.6 L321.5,305.8 L323.8,307.8 L326,309.8 L328.3,311.6 L330.6,313.3 L332.8,314.9 L335.1,316.4 L337.3,317.8 L339.6,319.2 L341.9,320.5 L344.1,321.7 L346.4,322.8 L348.6,323.8 L350.9,324.8 L353.2,325.8 L355.4,326.7 L357.7,327.5 L359.9,328.3 L362.2,329 L364.5,329.7 L366.7,330.4 L369,331 L371.2,331.6 L373.5,332.1 L375.8,332.6 L378,333.1 L380.3,333.6 L382.5,334 L384.8,334.4 L387.1,334.8 L389.3,335.2 L391.6,335.5 L393.8,335.8 L396.1,336.1 L398.4,336.4 L400.6,336.7 L402.9,336.9 L405.1,337.2 L407.4,337.4 L409.7,337.6 L411.9,337.8 L414.2,338 L416.4,338.2 L418.7,338.3 L421,338.5 L423.2,338.6 L425.5,338.8 L427.8,338.9 L430,339 L432.3,339.1 L434.5,339.2 L436.8,339.3 L439.1,339.4 L441.3,339.5 L443.6,339.6 L445.8,339.7 L448.1,339.8 L450.4,339.8 L452.6,339.9 L454.9,340 L457.1,340 L459.4,340.1 L461.7,340.1 L463.9,340.2 L466.2,340.2 L468.4,340.3 L470.7,340.3 L473,340.4 L475.2,340.4 L477.5,340.4 L479.7,340.5 L482,340.5 L484.3,340.5 L486.5,340.6 L488.8,340.6 L491,340.6 L493.3,340.6 L495.6,340.6 L497.8,340.7 L500.1,340.7 L502.3,340.7 L504.6,340.7 L506.9,340.7 L509.1,340.8 L511.4,340.8 L513.6,340.8 L515.9,340.8 L518.2,340.8 L520.4,340.8 L522.7,340.8 L524.9,340.8 L527.2,340.8 L529.5,340.9 L531.7,340.9 L534,340.9 L536.2,340.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,340.9 L86.46,340.9 L88.72,340.9 L90.98,340.9 L93.24,340.8 L95.5,340.8 L97.76,340.8 L100,340.8 L102.3,340.8 L104.5,340.8 L106.8,340.8 L109.1,340.8 L111.3,340.8 L113.6,340.7 L115.8,340.7 L118.1,340.7 L120.4,340.7 L122.6,340.7 L124.9,340.7 L127.1,340.6 L129.4,340.6 L131.7,340.6 L133.9,340.6 L136.2,340.5 L138.4,340.5 L140.7,340.5 L143,340.4 L145.2,340.4 L147.5,340.4 L149.7,340.3 L152,340.3 L154.3,340.2 L156.5,340.2 L158.8,340.1 L161,340.1 L163.3,340 L165.6,340 L167.8,339.9 L170.1,339.8 L172.3,339.8 L174.6,339.7 L176.9,339.6 L179.1,339.5 L181.4,339.4 L183.6,339.4 L185.9,339.2 L188.2,339.1 L190.4,339 L192.7,338.9 L194.9,338.8 L197.2,338.6 L199.5,338.5 L201.7,338.3 L204,338.2 L206.3,338 L208.5,337.8 L210.8,337.6 L213,337.4 L215.3,337.2 L217.6,337 L219.8,336.7 L222.1,336.4 L224.3,336.2 L226.6,335.9 L228.9,335.5 L231.1,335.2 L233.4,334.8 L235.6,334.5 L237.9,334.1 L240.2,333.6 L242.4,333.2 L244.7,332.7 L246.9,332.2 L249.2,331.6 L251.5,331.1 L253.7,330.4 L256,329.8 L258.2,329.1 L260.5,328.4 L262.8,327.6 L265,326.8 L267.3,325.9 L269.5,325 L271.8,324 L274.1,322.9 L276.3,321.8 L278.6,320.6 L280.8,319.4 L283.1,318 L285.4,316.6 L287.6,315.1 L289.9,313.5 L292.1,311.8 L294.4,310 L296.7,308.1 L298.9,306 L301.2,303.9 L303.4,301.6 L305.7,299.2 L308,296.6 L310.2,293.9 L312.5,290.9 L314.7,287.9 L317,284.6 L319.3,281.1 L321.5,277.4 L323.8,273.5 L326,269.3 L328.3,264.9 L330.6,260.2 L332.8,255.2 L335.1,249.9 L337.3,244.3 L339.6,238.3 L341.9,232 L344.1,225.2 L346.4,218.1 L348.6,214.2 L350.9,221.6 L353.2,228.5 L355.4,235 L357.7,241.2 L359.9,247 L362.2,252.5 L364.5,257.6 L366.7,262.5 L369,267 L371.2,271.3 L373.5,275.4 L375.8,279.2 L378,282.8 L380.3,286.2 L382.5,289.3 L384.8,292.3 L387.1,295.2 L389.3,297.8 L391.6,300.3 L393.8,302.7 L396.1,304.9 L398.4,307 L400.6,309 L402.9,310.9 L405.1,312.6 L407.4,314.3 L409.7,315.8 L411.9,317.3 L414.2,318.7 L416.4,320 L418.7,321.2 L421,322.3 L423.2,323.4 L425.5,324.4 L427.8,325.4 L430,326.3 L432.3,327.2 L434.5,328 L436.8,328.7 L439.1,329.4 L441.3,330.1 L443.6,330.7 L445.8,331.3 L448.1,331.9 L450.4,332.4 L452.6,332.9 L454.9,333.4 L457.1,333.8 L459.4,334.3 L461.7,334.6 L463.9,335 L466.2,335.4 L468.4,335.7 L470.7,336 L473,336.3 L475.2,336.6 L477.5,336.8 L479.7,337.1 L482,337.3 L484.3,337.5 L486.5,337.7 L488.8,337.9 L491,338.1 L493.3,338.3 L495.6,338.4 L497.8,338.6 L500.1,338.7 L502.3,338.8 L504.6,339 L506.9,339.1 L509.1,339.2 L511.4,339.3 L513.6,339.4 L515.9,339.5 L518.2,339.6 L520.4,339.7 L522.7,339.7 L524.9,339.8 L527.2,339.9 L529.5,339.9 L531.7,340 L534,340.1 L536.2,340.1 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="550.2" y="58" width="173.8" height="165"/><rect x="550.2" y="58" width="173.8" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="88" x2="580.2" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="118" x2="580.2" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="148" x2="580.2" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="178" x2="580.2" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="208" x2="580.2" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="587.7" y="88" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 1</text>
-<text x="587.7" y="118" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 0.5</text>
-<text x="587.7" y="148" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 2</text>
-<text x="587.7" y="178" font-size="15" font-family="Verdana">&#x3BC; = -1, &#x3C3; = 1</text>
-<text x="587.7" y="208" font-size="15" font-family="Verdana">&#x3BC; = 1, &#x3C3; = 1</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Laplace Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/legendre_p.svg b/libs/math/doc/sf_and_dist/graphs/legendre_p.svg
deleted file mode 100644
index 94ba2f7698..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/legendre_p.svg
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="366.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="368.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="273.1" y1="58" x2="273.1" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="460.8" y2="202.3"/><line x1="87.6" y1="341" x2="460.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,184.9 L92.6,184.9 M90.6,167.6 L92.6,167.6 M90.6,150.3 L92.6,150.3 M90.6,115.6 L92.6,115.6 M90.6,98.23 L92.6,98.23 M90.6,80.89 L92.6,80.89 M90.6,202.3 L92.6,202.3 M90.6,219.6 L92.6,219.6 M90.6,237 L92.6,237 M90.6,254.3 L92.6,254.3 M90.6,271.6 L92.6,271.6 M90.6,289 L92.6,289 M90.6,306.3 L92.6,306.3 M90.6,323.7 L92.6,323.7 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M295.7,341 L295.7,343 M318.2,341 L318.2,343 M340.8,341 L340.8,343 M385.9,341 L385.9,343 M408.5,341 L408.5,343 M431,341 L431,343 M250.5,341 L250.5,343 M228,341 L228,343 M205.4,341 L205.4,343 M160.3,341 L160.3,343 M137.7,341 L137.7,343 M115.2,341 L115.2,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,132.9 L92.6,132.9 M87.6,63.55 L92.6,63.55 M87.6,202.3 L92.6,202.3 M87.6,271.6 L92.6,271.6 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M273.1,341 L273.1,346 M363.3,341 L363.3,346 M453.6,341 L453.6,346 M273.1,341 L273.1,346 M182.8,341 L182.8,346 M92.6,341 L92.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="363.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="453.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="182.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text>
-<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="135.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="81.6" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="274" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">legendre_p(l, x)</text></g>
-<g id="xLabel">
-<text x="276.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.4,339.6 L96.21,338.2 L98.01,336.8 L99.82,335.5 L101.6,334.1 L103.4,332.7 L105.2,331.3 L107,329.9 L108.8,328.5 L110.6,327.1 L112.5,325.7 L114.3,324.4 L116.1,323 L117.9,321.6 L119.7,320.2 L121.5,318.8 L123.3,317.4 L125.1,316 L126.9,314.6 L128.7,313.3 L130.5,311.9 L132.3,310.5 L134.1,309.1 L135.9,307.7 L137.7,306.3 L139.5,304.9 L141.3,303.5 L143.1,302.2 L144.9,300.8 L146.7,299.4 L148.6,298 L150.4,296.6 L152.2,295.2 L154,293.8 L155.8,292.4 L157.6,291.1 L159.4,289.7 L161.2,288.3 L163,286.9 L164.8,285.5 L166.6,284.1 L168.4,282.7 L170.2,281.3 L172,280 L173.8,278.6 L175.6,277.2 L177.4,275.8 L179.2,274.4 L181,273 L182.8,271.6 L184.7,270.2 L186.5,268.9 L188.3,267.5 L190.1,266.1 L191.9,264.7 L193.7,263.3 L195.5,261.9 L197.3,260.5 L199.1,259.2 L200.9,257.8 L202.7,256.4 L204.5,255 L206.3,253.6 L208.1,252.2 L209.9,250.8 L211.7,249.4 L213.5,248.1 L215.3,246.7 L217.1,245.3 L218.9,243.9 L220.7,242.5 L222.6,241.1 L224.4,239.7 L226.2,238.3 L228,237 L229.8,235.6 L231.6,234.2 L233.4,232.8 L235.2,231.4 L237,230 L238.8,228.6 L240.6,227.2 L242.4,225.9 L244.2,224.5 L246,223.1 L247.8,221.7 L249.6,220.3 L251.4,218.9 L253.2,217.5 L255,216.1 L256.8,214.8 L258.7,213.4 L260.5,212 L262.3,210.6 L264.1,209.2 L265.9,207.8 L267.7,206.4 L269.5,205 L271.3,203.7 L273.1,202.3 L274.9,200.9 L276.7,199.5 L278.5,198.1 L280.3,196.7 L282.1,195.3 L283.9,194 L285.7,192.6 L287.5,191.2 L289.3,189.8 L291.1,188.4 L292.9,187 L294.7,185.6 L296.6,184.2 L298.4,182.9 L300.2,181.5 L302,180.1 L303.8,178.7 L305.6,177.3 L307.4,175.9 L309.2,174.5 L311,173.1 L312.8,171.8 L314.6,170.4 L316.4,169 L318.2,167.6 L320,166.2 L321.8,164.8 L323.6,163.4 L325.4,162 L327.2,160.7 L329,159.3 L330.8,157.9 L332.7,156.5 L334.5,155.1 L336.3,153.7 L338.1,152.3 L339.9,150.9 L341.7,149.6 L343.5,148.2 L345.3,146.8 L347.1,145.4 L348.9,144 L350.7,142.6 L352.5,141.2 L354.3,139.8 L356.1,138.5 L357.9,137.1 L359.7,135.7 L361.5,134.3 L363.3,132.9 L365.1,131.5 L366.9,130.1 L368.8,128.7 L370.6,127.4 L372.4,126 L374.2,124.6 L376,123.2 L377.8,121.8 L379.6,120.4 L381.4,119 L383.2,117.7 L385,116.3 L386.8,114.9 L388.6,113.5 L390.4,112.1 L392.2,110.7 L394,109.3 L395.8,107.9 L397.6,106.6 L399.4,105.2 L401.2,103.8 L403,102.4 L404.8,101 L406.7,99.62 L408.5,98.23 L410.3,96.84 L412.1,95.46 L413.9,94.07 L415.7,92.68 L417.5,91.29 L419.3,89.91 L421.1,88.52 L422.9,87.13 L424.7,85.75 L426.5,84.36 L428.3,82.97 L430.1,81.58 L431.9,80.2 L433.7,78.81 L435.5,77.42 L437.3,76.03 L439.1,74.65 L440.9,73.26 L442.8,71.87 L444.6,70.49 L446.4,69.1 L448.2,67.71 L450,66.32 L451.8,64.94 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,63.55 L94.4,67.69 L96.21,71.79 L98.01,75.85 L99.82,79.86 L101.6,83.84 L103.4,87.77 L105.2,91.66 L107,95.51 L108.8,99.32 L110.6,103.1 L112.5,106.8 L114.3,110.5 L116.1,114.1 L117.9,117.7 L119.7,121.3 L121.5,124.8 L123.3,128.3 L125.1,131.7 L126.9,135.1 L128.7,138.5 L130.5,141.8 L132.3,145 L134.1,148.3 L135.9,151.4 L137.7,154.6 L139.5,157.7 L141.3,160.7 L143.1,163.8 L144.9,166.7 L146.7,169.7 L148.6,172.6 L150.4,175.4 L152.2,178.2 L154,181 L155.8,183.7 L157.6,186.4 L159.4,189 L161.2,191.6 L163,194.2 L164.8,196.7 L166.6,199.2 L168.4,201.6 L170.2,204 L172,206.4 L173.8,208.7 L175.6,211 L177.4,213.2 L179.2,215.4 L181,217.5 L182.8,219.6 L184.7,221.7 L186.5,223.7 L188.3,225.7 L190.1,227.6 L191.9,229.5 L193.7,231.4 L195.5,233.2 L197.3,234.9 L199.1,236.7 L200.9,238.3 L202.7,240 L204.5,241.6 L206.3,243.1 L208.1,244.7 L209.9,246.1 L211.7,247.6 L213.5,249 L215.3,250.3 L217.1,251.6 L218.9,252.9 L220.7,254.1 L222.6,255.3 L224.4,256.5 L226.2,257.6 L228,258.6 L229.8,259.7 L231.6,260.6 L233.4,261.6 L235.2,262.5 L237,263.3 L238.8,264.1 L240.6,264.9 L242.4,265.6 L244.2,266.3 L246,267 L247.8,267.6 L249.6,268.1 L251.4,268.6 L253.2,269.1 L255,269.6 L256.8,270 L258.7,270.3 L260.5,270.6 L262.3,270.9 L264.1,271.1 L265.9,271.3 L267.7,271.4 L269.5,271.6 L271.3,271.6 L273.1,271.6 L274.9,271.6 L276.7,271.6 L278.5,271.4 L280.3,271.3 L282.1,271.1 L283.9,270.9 L285.7,270.6 L287.5,270.3 L289.3,270 L291.1,269.6 L292.9,269.1 L294.7,268.6 L296.6,268.1 L298.4,267.6 L300.2,267 L302,266.3 L303.8,265.6 L305.6,264.9 L307.4,264.1 L309.2,263.3 L311,262.5 L312.8,261.6 L314.6,260.6 L316.4,259.7 L318.2,258.6 L320,257.6 L321.8,256.5 L323.6,255.3 L325.4,254.1 L327.2,252.9 L329,251.6 L330.8,250.3 L332.7,249 L334.5,247.6 L336.3,246.1 L338.1,244.7 L339.9,243.1 L341.7,241.6 L343.5,240 L345.3,238.3 L347.1,236.7 L348.9,234.9 L350.7,233.2 L352.5,231.4 L354.3,229.5 L356.1,227.6 L357.9,225.7 L359.7,223.7 L361.5,221.7 L363.3,219.6 L365.1,217.5 L366.9,215.4 L368.8,213.2 L370.6,211 L372.4,208.7 L374.2,206.4 L376,204 L377.8,201.6 L379.6,199.2 L381.4,196.7 L383.2,194.2 L385,191.6 L386.8,189 L388.6,186.4 L390.4,183.7 L392.2,181 L394,178.2 L395.8,175.4 L397.6,172.6 L399.4,169.7 L401.2,166.7 L403,163.8 L404.8,160.7 L406.7,157.7 L408.5,154.6 L410.3,151.4 L412.1,148.3 L413.9,145 L415.7,141.8 L417.5,138.5 L419.3,135.1 L421.1,131.7 L422.9,128.3 L424.7,124.8 L426.5,121.3 L428.3,117.7 L430.1,114.1 L431.9,110.5 L433.7,106.8 L435.5,103.1 L437.3,99.32 L439.1,95.51 L440.9,91.66 L442.8,87.77 L444.6,83.84 L446.4,79.86 L448.2,75.85 L450,71.79 L451.8,67.69 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,341 L94.4,332.8 L96.21,324.8 L98.01,317 L99.82,309.3 L101.6,301.9 L103.4,294.7 L105.2,287.7 L107,280.9 L108.8,274.3 L110.6,267.8 L112.5,261.6 L114.3,255.5 L116.1,249.6 L117.9,243.9 L119.7,238.4 L121.5,233 L123.3,227.9 L125.1,222.9 L126.9,218 L128.7,213.4 L130.5,208.9 L132.3,204.5 L134.1,200.4 L135.9,196.4 L137.7,192.5 L139.5,188.8 L141.3,185.3 L143.1,181.9 L144.9,178.7 L146.7,175.6 L148.6,172.6 L150.4,169.8 L152.2,167.2 L154,164.6 L155.8,162.3 L157.6,160 L159.4,157.9 L161.2,155.9 L163,154.1 L164.8,152.3 L166.6,150.7 L168.4,149.3 L170.2,147.9 L172,146.7 L173.8,145.5 L175.6,144.5 L177.4,143.6 L179.2,142.8 L181,142.2 L182.8,141.6 L184.7,141.1 L186.5,140.7 L188.3,140.5 L190.1,140.3 L191.9,140.2 L193.7,140.3 L195.5,140.4 L197.3,140.6 L199.1,140.9 L200.9,141.2 L202.7,141.7 L204.5,142.2 L206.3,142.8 L208.1,143.5 L209.9,144.3 L211.7,145.2 L213.5,146.1 L215.3,147.1 L217.1,148.1 L218.9,149.2 L220.7,150.4 L222.6,151.6 L224.4,152.9 L226.2,154.3 L228,155.7 L229.8,157.1 L231.6,158.6 L233.4,160.2 L235.2,161.8 L237,163.4 L238.8,165.1 L240.6,166.8 L242.4,168.6 L244.2,170.4 L246,172.2 L247.8,174.1 L249.6,176 L251.4,177.9 L253.2,179.8 L255,181.8 L256.8,183.8 L258.7,185.8 L260.5,187.8 L262.3,189.9 L264.1,191.9 L265.9,194 L267.7,196 L269.5,198.1 L271.3,200.2 L273.1,202.3 L274.9,204.4 L276.7,206.4 L278.5,208.5 L280.3,210.6 L282.1,212.6 L283.9,214.7 L285.7,216.7 L287.5,218.7 L289.3,220.7 L291.1,222.7 L292.9,224.7 L294.7,226.6 L296.6,228.6 L298.4,230.5 L300.2,232.3 L302,234.1 L303.8,235.9 L305.6,237.7 L307.4,239.4 L309.2,241.1 L311,242.8 L312.8,244.4 L314.6,245.9 L316.4,247.4 L318.2,248.9 L320,250.3 L321.8,251.6 L323.6,252.9 L325.4,254.2 L327.2,255.3 L329,256.4 L330.8,257.5 L332.7,258.5 L334.5,259.4 L336.3,260.2 L338.1,261 L339.9,261.7 L341.7,262.3 L343.5,262.9 L345.3,263.3 L347.1,263.7 L348.9,264 L350.7,264.2 L352.5,264.3 L354.3,264.3 L356.1,264.2 L357.9,264.1 L359.7,263.8 L361.5,263.4 L363.3,263 L365.1,262.4 L366.9,261.7 L368.8,260.9 L370.6,260 L372.4,259 L374.2,257.9 L376,256.7 L377.8,255.3 L379.6,253.8 L381.4,252.2 L383.2,250.5 L385,248.6 L386.8,246.7 L388.6,244.5 L390.4,242.3 L392.2,239.9 L394,237.4 L395.8,234.7 L397.6,231.9 L399.4,229 L401.2,225.9 L403,222.7 L404.8,219.3 L406.7,215.7 L408.5,212 L410.3,208.2 L412.1,204.2 L413.9,200 L415.7,195.7 L417.5,191.2 L419.3,186.5 L421.1,181.7 L422.9,176.7 L424.7,171.5 L426.5,166.2 L428.3,160.6 L430.1,154.9 L431.9,149 L433.7,143 L435.5,136.7 L437.3,130.3 L439.1,123.7 L440.9,116.8 L442.8,109.8 L444.6,102.6 L446.4,95.2 L448.2,87.59 L450,79.78 L451.8,71.77 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,63.55 L94.4,77.11 L96.21,90.06 L98.01,102.4 L99.82,114.2 L101.6,125.4 L103.4,136.1 L105.2,146.2 L107,155.8 L108.8,164.8 L110.6,173.4 L112.5,181.5 L114.3,189.1 L116.1,196.3 L117.9,203 L119.7,209.3 L121.5,215.2 L123.3,220.6 L125.1,225.6 L126.9,230.3 L128.7,234.6 L130.5,238.5 L132.3,242.1 L134.1,245.3 L135.9,248.2 L137.7,250.8 L139.5,253.1 L141.3,255.1 L143.1,256.8 L144.9,258.3 L146.7,259.4 L148.6,260.4 L150.4,261 L152.2,261.5 L154,261.7 L155.8,261.7 L157.6,261.5 L159.4,261.1 L161.2,260.5 L163,259.8 L164.8,258.9 L166.6,257.8 L168.4,256.6 L170.2,255.2 L172,253.7 L173.8,252.1 L175.6,250.3 L177.4,248.5 L179.2,246.5 L181,244.5 L182.8,242.4 L184.7,240.2 L186.5,237.9 L188.3,235.6 L190.1,233.2 L191.9,230.7 L193.7,228.2 L195.5,225.7 L197.3,223.1 L199.1,220.6 L200.9,218 L202.7,215.3 L204.5,212.7 L206.3,210.1 L208.1,207.5 L209.9,204.9 L211.7,202.3 L213.5,199.7 L215.3,197.2 L217.1,194.6 L218.9,192.2 L220.7,189.7 L222.6,187.3 L224.4,185 L226.2,182.6 L228,180.4 L229.8,178.2 L231.6,176.1 L233.4,174 L235.2,172 L237,170.1 L238.8,168.2 L240.6,166.5 L242.4,164.8 L244.2,163.2 L246,161.7 L247.8,160.2 L249.6,158.9 L251.4,157.6 L253.2,156.5 L255,155.4 L256.8,154.4 L258.7,153.6 L260.5,152.8 L262.3,152.1 L264.1,151.5 L265.9,151.1 L267.7,150.7 L269.5,150.5 L271.3,150.3 L273.1,150.3 L274.9,150.3 L276.7,150.5 L278.5,150.7 L280.3,151.1 L282.1,151.5 L283.9,152.1 L285.7,152.8 L287.5,153.6 L289.3,154.4 L291.1,155.4 L292.9,156.5 L294.7,157.6 L296.6,158.9 L298.4,160.2 L300.2,161.7 L302,163.2 L303.8,164.8 L305.6,166.5 L307.4,168.2 L309.2,170.1 L311,172 L312.8,174 L314.6,176.1 L316.4,178.2 L318.2,180.4 L320,182.6 L321.8,185 L323.6,187.3 L325.4,189.7 L327.2,192.2 L329,194.6 L330.8,197.2 L332.7,199.7 L334.5,202.3 L336.3,204.9 L338.1,207.5 L339.9,210.1 L341.7,212.7 L343.5,215.3 L345.3,218 L347.1,220.6 L348.9,223.1 L350.7,225.7 L352.5,228.2 L354.3,230.7 L356.1,233.2 L357.9,235.6 L359.7,237.9 L361.5,240.2 L363.3,242.4 L365.1,244.5 L366.9,246.5 L368.8,248.5 L370.6,250.3 L372.4,252.1 L374.2,253.7 L376,255.2 L377.8,256.6 L379.6,257.8 L381.4,258.9 L383.2,259.8 L385,260.5 L386.8,261.1 L388.6,261.5 L390.4,261.7 L392.2,261.7 L394,261.5 L395.8,261 L397.6,260.4 L399.4,259.4 L401.2,258.3 L403,256.8 L404.8,255.1 L406.7,253.1 L408.5,250.8 L410.3,248.2 L412.1,245.3 L413.9,242.1 L415.7,238.5 L417.5,234.6 L419.3,230.3 L421.1,225.6 L422.9,220.6 L424.7,215.2 L426.5,209.3 L428.3,203 L430.1,196.3 L431.9,189.1 L433.7,181.5 L435.5,173.4 L437.3,164.8 L439.1,155.8 L440.9,146.2 L442.8,136.1 L444.6,125.4 L446.4,114.2 L448.2,102.4 L450,90.06 L451.8,77.11 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,341 L94.4,320.9 L96.21,302.2 L98.01,284.9 L99.82,268.8 L101.6,254 L103.4,240.3 L105.2,227.8 L107,216.4 L108.8,206 L110.6,196.6 L112.5,188.1 L114.3,180.5 L116.1,173.8 L117.9,167.8 L119.7,162.6 L121.5,158.2 L123.3,154.4 L125.1,151.3 L126.9,148.8 L128.7,146.9 L130.5,145.4 L132.3,144.5 L134.1,144.1 L135.9,144.1 L137.7,144.5 L139.5,145.3 L141.3,146.4 L143.1,147.9 L144.9,149.6 L146.7,151.6 L148.6,153.9 L150.4,156.3 L152.2,159 L154,161.8 L155.8,164.8 L157.6,167.8 L159.4,171 L161.2,174.3 L163,177.7 L164.8,181.1 L166.6,184.5 L168.4,188 L170.2,191.5 L172,194.9 L173.8,198.4 L175.6,201.8 L177.4,205.1 L179.2,208.4 L181,211.6 L182.8,214.7 L184.7,217.8 L186.5,220.7 L188.3,223.6 L190.1,226.3 L191.9,228.9 L193.7,231.3 L195.5,233.7 L197.3,235.9 L199.1,237.9 L200.9,239.8 L202.7,241.6 L204.5,243.2 L206.3,244.6 L208.1,245.9 L209.9,247 L211.7,248 L213.5,248.8 L215.3,249.4 L217.1,249.9 L218.9,250.2 L220.7,250.3 L222.6,250.3 L224.4,250.2 L226.2,249.9 L228,249.4 L229.8,248.8 L231.6,248 L233.4,247.1 L235.2,246.1 L237,244.9 L238.8,243.6 L240.6,242.2 L242.4,240.7 L244.2,239 L246,237.3 L247.8,235.4 L249.6,233.5 L251.4,231.4 L253.2,229.3 L255,227.1 L256.8,224.8 L258.7,222.5 L260.5,220.1 L262.3,217.6 L264.1,215.1 L265.9,212.6 L267.7,210 L269.5,207.5 L271.3,204.9 L273.1,202.3 L274.9,199.7 L276.7,197.1 L278.5,194.5 L280.3,191.9 L282.1,189.4 L283.9,186.9 L285.7,184.5 L287.5,182.1 L289.3,179.7 L291.1,177.5 L292.9,175.3 L294.7,173.1 L296.6,171.1 L298.4,169.1 L300.2,167.3 L302,165.5 L303.8,163.9 L305.6,162.3 L307.4,160.9 L309.2,159.6 L311,158.4 L312.8,157.4 L314.6,156.5 L316.4,155.8 L318.2,155.1 L320,154.7 L321.8,154.4 L323.6,154.2 L325.4,154.2 L327.2,154.4 L329,154.7 L330.8,155.1 L332.7,155.8 L334.5,156.6 L336.3,157.5 L338.1,158.7 L339.9,159.9 L341.7,161.4 L343.5,163 L345.3,164.7 L347.1,166.6 L348.9,168.7 L350.7,170.9 L352.5,173.2 L354.3,175.7 L356.1,178.3 L357.9,181 L359.7,183.8 L361.5,186.8 L363.3,189.8 L365.1,192.9 L366.9,196.2 L368.8,199.4 L370.6,202.8 L372.4,206.2 L374.2,209.6 L376,213.1 L377.8,216.5 L379.6,220 L381.4,223.4 L383.2,226.9 L385,230.2 L386.8,233.5 L388.6,236.7 L390.4,239.8 L392.2,242.8 L394,245.6 L395.8,248.2 L397.6,250.7 L399.4,252.9 L401.2,254.9 L403,256.7 L404.8,258.1 L406.7,259.3 L408.5,260 L410.3,260.4 L412.1,260.4 L413.9,260 L415.7,259.1 L417.5,257.7 L419.3,255.8 L421.1,253.2 L422.9,250.1 L424.7,246.4 L426.5,241.9 L428.3,236.7 L430.1,230.8 L431.9,224.1 L433.7,216.5 L435.5,208 L437.3,198.6 L439.1,188.2 L440.9,176.7 L442.8,164.2 L444.6,150.6 L446.4,135.7 L448.2,119.7 L450,102.3 L451.8,83.64 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="509.8" y="86" font-size="14" font-family="Verdana">l = 1</text>
-<text x="509.8" y="114" font-size="14" font-family="Verdana">l = 2</text>
-<text x="509.8" y="142" font-size="14" font-family="Verdana">l = 3</text>
-<text x="509.8" y="170" font-size="14" font-family="Verdana">l = 4</text>
-<text x="509.8" y="198" font-size="14" font-family="Verdana">l = 5</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Legendre Polynomials</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/legendre_q.svg b/libs/math/doc/sf_and_dist/graphs/legendre_q.svg
deleted file mode 100644
index 304f95121e..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/legendre_q.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="366.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="368.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="273.1" y1="58" x2="273.1" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="193" x2="460.8" y2="193"/><line x1="87.6" y1="341" x2="460.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,174.5 L92.6,174.5 M90.6,156 L92.6,156 M90.6,137.5 L92.6,137.5 M90.6,100.5 L92.6,100.5 M90.6,81.97 L92.6,81.97 M90.6,63.47 L92.6,63.47 M90.6,193 L92.6,193 M90.6,211.5 L92.6,211.5 M90.6,230 L92.6,230 M90.6,248.5 L92.6,248.5 M90.6,267 L92.6,267 M90.6,285.5 L92.6,285.5 M90.6,304 L92.6,304 M90.6,322.5 L92.6,322.5 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M296.8,341 L296.8,343 M320.6,341 L320.6,343 M344.3,341 L344.3,343 M391.8,341 L391.8,343 M415.6,341 L415.6,343 M439.3,341 L439.3,343 M249.3,341 L249.3,343 M225.6,341 L225.6,343 M201.8,341 L201.8,343 M154.3,341 L154.3,343 M130.6,341 L130.6,343 M106.8,341 L106.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,193 L92.6,193 M87.6,119 L92.6,119 M87.6,193 L92.6,193 M87.6,267 L92.6,267 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M273.1,341 L273.1,346 M368.1,341 L368.1,346 M273.1,341 L273.1,346 M178.1,341 L178.1,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="368.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="273.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="178.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-0.5</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="195.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="121.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="81.6" y="195.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="269.4" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">legendre_q(l, x)</text></g>
-<g id="xLabel">
-<text x="276.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,83.42 L94.4,98.44 L96.21,111.4 L98.01,122.9 L99.82,133.2 L101.6,142.6 L103.4,151.1 L105.2,159 L107,166.4 L108.8,173.3 L110.6,179.7 L112.5,185.8 L114.3,191.6 L116.1,197 L117.9,202.2 L119.7,207.2 L121.5,211.9 L123.3,216.4 L125.1,220.8 L126.9,224.9 L128.7,228.9 L130.5,232.8 L132.3,236.5 L134.1,240.1 L135.9,243.6 L137.7,246.9 L139.5,250.1 L141.3,253.3 L143.1,256.3 L144.9,259.2 L146.7,262.1 L148.6,264.8 L150.4,267.5 L152.2,270.1 L154,272.7 L155.8,275.1 L157.6,277.5 L159.4,279.8 L161.2,282.1 L163,284.2 L164.8,286.4 L166.6,288.4 L168.4,290.4 L170.2,292.4 L172,294.3 L173.8,296.2 L175.6,298 L177.4,299.7 L179.2,301.4 L181,303.1 L182.8,304.7 L184.6,306.3 L186.5,307.8 L188.3,309.3 L190.1,310.7 L191.9,312.1 L193.7,313.5 L195.5,314.8 L197.3,316 L199.1,317.3 L200.9,318.5 L202.7,319.7 L204.5,320.8 L206.3,321.9 L208.1,323 L209.9,324 L211.7,325 L213.5,325.9 L215.3,326.9 L217.1,327.8 L218.9,328.6 L220.7,329.5 L222.6,330.3 L224.4,331 L226.2,331.8 L228,332.5 L229.8,333.2 L231.6,333.8 L233.4,334.4 L235.2,335 L237,335.6 L238.8,336.1 L240.6,336.6 L242.4,337.1 L244.2,337.6 L246,338 L247.8,338.4 L249.6,338.7 L251.4,339.1 L253.2,339.4 L255,339.7 L256.8,339.9 L258.7,340.1 L260.5,340.3 L262.3,340.5 L264.1,340.7 L265.9,340.8 L267.7,340.9 L269.5,340.9 L271.3,341 L273.1,341 L274.9,341 L276.7,340.9 L278.5,340.9 L280.3,340.8 L282.1,340.7 L283.9,340.5 L285.7,340.3 L287.5,340.1 L289.3,339.9 L291.1,339.7 L292.9,339.4 L294.7,339.1 L296.6,338.7 L298.4,338.4 L300.2,338 L302,337.6 L303.8,337.1 L305.6,336.6 L307.4,336.1 L309.2,335.6 L311,335 L312.8,334.4 L314.6,333.8 L316.4,333.2 L318.2,332.5 L320,331.8 L321.8,331 L323.6,330.3 L325.4,329.5 L327.2,328.6 L329,327.8 L330.8,326.9 L332.7,325.9 L334.5,325 L336.3,324 L338.1,323 L339.9,321.9 L341.7,320.8 L343.5,319.7 L345.3,318.5 L347.1,317.3 L348.9,316 L350.7,314.8 L352.5,313.5 L354.3,312.1 L356.1,310.7 L357.9,309.3 L359.7,307.8 L361.5,306.3 L363.3,304.7 L365.1,303.1 L366.9,301.4 L368.7,299.7 L370.6,298 L372.4,296.2 L374.2,294.3 L376,292.4 L377.8,290.4 L379.6,288.4 L381.4,286.4 L383.2,284.2 L385,282.1 L386.8,279.8 L388.6,277.5 L390.4,275.1 L392.2,272.7 L394,270.1 L395.8,267.5 L397.6,264.8 L399.4,262.1 L401.2,259.2 L403,256.3 L404.8,253.3 L406.7,250.1 L408.5,246.9 L410.3,243.6 L412.1,240.1 L413.9,236.5 L415.7,232.8 L417.5,228.9 L419.3,224.9 L421.1,220.8 L422.9,216.4 L424.7,211.9 L426.5,207.2 L428.3,202.2 L430.1,197 L431.9,191.6 L433.7,185.8 L435.5,179.7 L437.3,173.3 L439.1,166.4 L440.9,159 L442.8,151.1 L444.6,142.6 L446.4,133.2 L448.2,122.9 L450,111.4 L451.8,98.44 L453.6,83.42 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,213.5 L94.4,197.4 L96.21,183.6 L98.01,171.5 L99.82,160.8 L101.6,151.3 L103.4,142.7 L105.2,135 L107,128 L108.8,121.5 L110.6,115.7 L112.5,110.3 L114.3,105.4 L116.1,100.9 L117.9,96.74 L119.7,92.94 L121.5,89.46 L123.3,86.27 L125.1,83.35 L126.9,80.69 L128.7,78.27 L130.5,76.08 L132.3,74.1 L134.1,72.32 L135.9,70.73 L137.7,69.32 L139.5,68.09 L141.3,67.02 L143.1,66.1 L144.9,65.34 L146.7,64.72 L148.6,64.23 L150.4,63.88 L152.2,63.65 L154,63.55 L155.8,63.56 L157.6,63.68 L159.4,63.91 L161.2,64.25 L163,64.68 L164.8,65.21 L166.6,65.84 L168.4,66.55 L170.2,67.36 L172,68.24 L173.8,69.21 L175.6,70.25 L177.4,71.37 L179.2,72.57 L181,73.83 L182.8,75.17 L184.6,76.57 L186.5,78.03 L188.3,79.56 L190.1,81.15 L191.9,82.79 L193.7,84.49 L195.5,86.25 L197.3,88.06 L199.1,89.92 L200.9,91.83 L202.7,93.79 L204.5,95.79 L206.3,97.84 L208.1,99.93 L209.9,102.1 L211.7,104.2 L213.5,106.4 L215.3,108.7 L217.1,111 L218.9,113.3 L220.7,115.6 L222.6,118 L224.4,120.4 L226.2,122.9 L228,125.4 L229.8,127.9 L231.6,130.4 L233.4,132.9 L235.2,135.5 L237,138.1 L238.8,140.7 L240.6,143.4 L242.4,146 L244.2,148.7 L246,151.4 L247.8,154.1 L249.6,156.8 L251.4,159.5 L253.2,162.3 L255,165 L256.8,167.8 L258.7,170.6 L260.5,173.4 L262.3,176.1 L264.1,178.9 L265.9,181.7 L267.7,184.5 L269.5,187.4 L271.3,190.2 L273.1,193 L274.9,195.8 L276.7,198.6 L278.5,201.4 L280.3,204.2 L282.1,207 L283.9,209.8 L285.7,212.6 L287.5,215.4 L289.3,218.2 L291.1,220.9 L292.9,223.7 L294.7,226.4 L296.6,229.2 L298.4,231.9 L300.2,234.6 L302,237.3 L303.8,240 L305.6,242.6 L307.4,245.2 L309.2,247.9 L311,250.5 L312.8,253 L314.6,255.6 L316.4,258.1 L318.2,260.6 L320,263.1 L321.8,265.5 L323.6,267.9 L325.4,270.3 L327.2,272.7 L329,275 L330.8,277.3 L332.7,279.5 L334.5,281.7 L336.3,283.9 L338.1,286 L339.9,288.1 L341.7,290.2 L343.5,292.2 L345.3,294.1 L347.1,296 L348.9,297.9 L350.7,299.7 L352.5,301.5 L354.3,303.2 L356.1,304.8 L357.9,306.4 L359.7,307.9 L361.5,309.4 L363.3,310.8 L365.1,312.1 L366.9,313.4 L368.7,314.6 L370.6,315.7 L372.4,316.8 L374.2,317.7 L376,318.6 L377.8,319.4 L379.6,320.1 L381.4,320.7 L383.2,321.3 L385,321.7 L386.8,322.1 L388.6,322.3 L390.4,322.4 L392.2,322.4 L394,322.3 L395.8,322.1 L397.6,321.7 L399.4,321.2 L401.2,320.6 L403,319.9 L404.8,318.9 L406.7,317.9 L408.5,316.6 L410.3,315.2 L412.1,313.6 L413.9,311.9 L415.7,309.9 L417.5,307.7 L419.3,305.3 L421.1,302.6 L422.9,299.7 L424.7,296.5 L426.5,293 L428.3,289.2 L430.1,285.1 L431.9,280.6 L433.7,275.7 L435.5,270.3 L437.3,264.4 L439.1,258 L440.9,251 L442.8,243.2 L444.6,234.7 L446.4,225.1 L448.2,214.5 L450,202.4 L451.8,188.6 L453.6,172.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,233.5 L94.4,249.1 L96.21,261.9 L98.01,272.7 L99.82,281.7 L101.6,289.3 L103.4,295.7 L105.2,301 L107,305.4 L108.8,309.1 L110.6,312 L112.5,314.3 L114.3,316 L116.1,317.2 L117.9,317.9 L119.7,318.2 L121.5,318.1 L123.3,317.6 L125.1,316.8 L126.9,315.7 L128.7,314.3 L130.5,312.7 L132.3,310.8 L134.1,308.7 L135.9,306.4 L137.7,303.9 L139.5,301.2 L141.3,298.4 L143.1,295.4 L144.9,292.3 L146.7,289.1 L148.6,285.7 L150.4,282.3 L152.2,278.7 L154,275.1 L155.8,271.4 L157.6,267.7 L159.4,263.8 L161.2,260 L163,256.1 L164.8,252.1 L166.6,248.1 L168.4,244.1 L170.2,240.1 L172,236 L173.8,232 L175.6,227.9 L177.4,223.9 L179.2,219.8 L181,215.8 L182.8,211.8 L184.6,207.8 L186.5,203.8 L188.3,199.9 L190.1,196 L191.9,192.1 L193.7,188.2 L195.5,184.5 L197.3,180.7 L199.1,177 L200.9,173.4 L202.7,169.8 L204.5,166.2 L206.3,162.8 L208.1,159.4 L209.9,156 L211.7,152.8 L213.5,149.6 L215.3,146.4 L217.1,143.4 L218.9,140.4 L220.7,137.5 L222.6,134.7 L224.4,132 L226.2,129.3 L228,126.7 L229.8,124.3 L231.6,121.9 L233.4,119.6 L235.2,117.4 L237,115.3 L238.8,113.3 L240.6,111.4 L242.4,109.5 L244.2,107.8 L246,106.2 L247.8,104.7 L249.6,103.3 L251.4,101.9 L253.2,100.7 L255,99.62 L256.8,98.62 L258.7,97.71 L260.5,96.92 L262.3,96.22 L264.1,95.64 L265.9,95.16 L267.7,94.78 L269.5,94.52 L271.3,94.36 L273.1,94.3 L274.9,94.36 L276.7,94.52 L278.5,94.78 L280.3,95.16 L282.1,95.64 L283.9,96.22 L285.7,96.92 L287.5,97.71 L289.3,98.62 L291.1,99.62 L292.9,100.7 L294.7,101.9 L296.6,103.3 L298.4,104.7 L300.2,106.2 L302,107.8 L303.8,109.5 L305.6,111.4 L307.4,113.3 L309.2,115.3 L311,117.4 L312.8,119.6 L314.6,121.9 L316.4,124.3 L318.2,126.7 L320,129.3 L321.8,132 L323.6,134.7 L325.4,137.5 L327.2,140.4 L329,143.4 L330.8,146.4 L332.7,149.6 L334.5,152.8 L336.3,156 L338.1,159.4 L339.9,162.8 L341.7,166.2 L343.5,169.8 L345.3,173.4 L347.1,177 L348.9,180.7 L350.7,184.5 L352.5,188.2 L354.3,192.1 L356.1,196 L357.9,199.9 L359.7,203.8 L361.5,207.8 L363.3,211.8 L365.1,215.8 L366.9,219.8 L368.7,223.9 L370.6,227.9 L372.4,232 L374.2,236 L376,240.1 L377.8,244.1 L379.6,248.1 L381.4,252.1 L383.2,256.1 L385,260 L386.8,263.8 L388.6,267.7 L390.4,271.4 L392.2,275.1 L394,278.7 L395.8,282.3 L397.6,285.7 L399.4,289.1 L401.2,292.3 L403,295.4 L404.8,298.4 L406.7,301.2 L408.5,303.9 L410.3,306.4 L412.1,308.7 L413.9,310.8 L415.7,312.7 L417.5,314.3 L419.3,315.7 L421.1,316.8 L422.9,317.6 L424.7,318.1 L426.5,318.2 L428.3,317.9 L430.1,317.2 L431.9,316 L433.7,314.3 L435.5,312 L437.3,309.1 L439.1,305.4 L440.9,301 L442.8,295.7 L444.6,289.3 L446.4,281.7 L448.2,272.7 L450,261.9 L451.8,249.1 L453.6,233.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,110.2 L94.4,97.34 L96.21,87.68 L98.01,80.56 L99.82,75.5 L101.6,72.14 L103.4,70.19 L105.2,69.46 L107,69.76 L108.8,70.94 L110.6,72.9 L112.5,75.53 L114.3,78.73 L116.1,82.44 L117.9,86.58 L119.7,91.1 L121.5,95.94 L123.3,101.1 L125.1,106.4 L126.9,111.9 L128.7,117.6 L130.5,123.5 L132.3,129.4 L134.1,135.4 L135.9,141.4 L137.7,147.4 L139.5,153.5 L141.3,159.5 L143.1,165.5 L144.9,171.5 L146.7,177.4 L148.6,183.1 L150.4,188.9 L152.2,194.4 L154,199.9 L155.8,205.3 L157.6,210.5 L159.4,215.6 L161.2,220.5 L163,225.2 L164.8,229.8 L166.6,234.3 L168.4,238.5 L170.2,242.6 L172,246.5 L173.8,250.2 L175.6,253.7 L177.4,257 L179.2,260.1 L181,263 L182.8,265.7 L184.6,268.2 L186.5,270.5 L188.3,272.7 L190.1,274.6 L191.9,276.3 L193.7,277.8 L195.5,279.1 L197.3,280.2 L199.1,281.2 L200.9,281.9 L202.7,282.4 L204.5,282.8 L206.3,282.9 L208.1,282.9 L209.9,282.7 L211.7,282.3 L213.5,281.7 L215.3,281 L217.1,280.1 L218.9,279 L220.7,277.7 L222.6,276.3 L224.4,274.8 L226.2,273.1 L228,271.2 L229.8,269.2 L231.6,267.1 L233.4,264.9 L235.2,262.5 L237,260 L238.8,257.4 L240.6,254.6 L242.4,251.8 L244.2,248.9 L246,245.8 L247.8,242.7 L249.6,239.5 L251.4,236.2 L253.2,232.9 L255,229.5 L256.8,226 L258.7,222.5 L260.5,218.9 L262.3,215.3 L264.1,211.6 L265.9,207.9 L267.7,204.2 L269.5,200.5 L271.3,196.7 L273.1,193 L274.9,189.2 L276.7,185.5 L278.5,181.8 L280.3,178 L282.1,174.4 L283.9,170.7 L285.7,167.1 L287.5,163.5 L289.3,160 L291.1,156.5 L292.9,153.1 L294.7,149.7 L296.6,146.5 L298.4,143.3 L300.2,140.1 L302,137.1 L303.8,134.2 L305.6,131.3 L307.4,128.6 L309.2,126 L311,123.5 L312.8,121.1 L314.6,118.9 L316.4,116.7 L318.2,114.7 L320,112.9 L321.8,111.2 L323.6,109.6 L325.4,108.2 L327.2,107 L329,105.9 L330.8,105 L332.7,104.3 L334.5,103.7 L336.3,103.3 L338.1,103.1 L339.9,103 L341.7,103.2 L343.5,103.5 L345.3,104.1 L347.1,104.8 L348.9,105.7 L350.7,106.8 L352.5,108.2 L354.3,109.7 L356.1,111.4 L357.9,113.3 L359.7,115.4 L361.5,117.7 L363.3,120.2 L365.1,123 L366.9,125.9 L368.7,129 L370.6,132.3 L372.4,135.8 L374.2,139.5 L376,143.4 L377.8,147.5 L379.6,151.7 L381.4,156.1 L383.2,160.7 L385,165.5 L386.8,170.4 L388.6,175.5 L390.4,180.7 L392.2,186 L394,191.5 L395.8,197.1 L397.6,202.8 L399.4,208.6 L401.2,214.5 L403,220.4 L404.8,226.4 L406.7,232.5 L408.5,238.5 L410.3,244.6 L412.1,250.6 L413.9,256.6 L415.7,262.5 L417.5,268.3 L419.3,274 L421.1,279.6 L422.9,284.9 L424.7,290 L426.5,294.9 L428.3,299.4 L430.1,303.5 L431.9,307.2 L433.7,310.4 L435.5,313.1 L437.3,315 L439.1,316.2 L440.9,316.5 L442.8,315.8 L444.6,313.8 L446.4,310.5 L448.2,305.4 L450,298.3 L451.8,288.6 L453.6,275.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,302.1 L94.4,310 L96.21,314.3 L98.01,315.7 L99.82,314.9 L101.6,312.3 L103.4,308.2 L105.2,303 L107,296.9 L108.8,290 L110.6,282.6 L112.5,274.7 L114.3,266.5 L116.1,258.1 L117.9,249.5 L119.7,240.9 L121.5,232.3 L123.3,223.8 L125.1,215.3 L126.9,207.1 L128.7,199 L130.5,191.1 L132.3,183.6 L134.1,176.3 L135.9,169.3 L137.7,162.7 L139.5,156.4 L141.3,150.4 L143.1,144.8 L144.9,139.6 L146.7,134.8 L148.6,130.4 L150.4,126.3 L152.2,122.7 L154,119.4 L155.8,116.6 L157.6,114.1 L159.4,112 L161.2,110.2 L163,108.9 L164.8,107.9 L166.6,107.2 L168.4,106.9 L170.2,107 L172,107.3 L173.8,108 L175.6,109 L177.4,110.3 L179.2,111.8 L181,113.7 L182.8,115.8 L184.6,118.1 L186.5,120.6 L188.3,123.4 L190.1,126.4 L191.9,129.6 L193.7,132.9 L195.5,136.5 L197.3,140.1 L199.1,143.9 L200.9,147.9 L202.7,151.9 L204.5,156 L206.3,160.2 L208.1,164.5 L209.9,168.9 L211.7,173.2 L213.5,177.7 L215.3,182.1 L217.1,186.5 L218.9,190.9 L220.7,195.3 L222.6,199.7 L224.4,204 L226.2,208.3 L228,212.5 L229.8,216.7 L231.6,220.7 L233.4,224.7 L235.2,228.5 L237,232.2 L238.8,235.8 L240.6,239.3 L242.4,242.6 L244.2,245.8 L246,248.8 L247.8,251.7 L249.6,254.4 L251.4,256.9 L253.2,259.3 L255,261.4 L256.8,263.4 L258.7,265.2 L260.5,266.7 L262.3,268.1 L264.1,269.3 L265.9,270.2 L267.7,271 L269.5,271.5 L271.3,271.8 L273.1,271.9 L274.9,271.8 L276.7,271.5 L278.5,271 L280.3,270.2 L282.1,269.3 L283.9,268.1 L285.7,266.7 L287.5,265.2 L289.3,263.4 L291.1,261.4 L292.9,259.3 L294.7,256.9 L296.6,254.4 L298.4,251.7 L300.2,248.8 L302,245.8 L303.8,242.6 L305.6,239.3 L307.4,235.8 L309.2,232.2 L311,228.5 L312.8,224.7 L314.6,220.7 L316.4,216.7 L318.2,212.5 L320,208.3 L321.8,204 L323.6,199.7 L325.4,195.3 L327.2,190.9 L329,186.5 L330.8,182.1 L332.7,177.7 L334.5,173.2 L336.3,168.9 L338.1,164.5 L339.9,160.2 L341.7,156 L343.5,151.9 L345.3,147.9 L347.1,143.9 L348.9,140.1 L350.7,136.5 L352.5,132.9 L354.3,129.6 L356.1,126.4 L357.9,123.4 L359.7,120.6 L361.5,118.1 L363.3,115.8 L365.1,113.7 L366.9,111.8 L368.7,110.3 L370.6,109 L372.4,108 L374.2,107.3 L376,107 L377.8,106.9 L379.6,107.2 L381.4,107.9 L383.2,108.9 L385,110.2 L386.8,112 L388.6,114.1 L390.4,116.6 L392.2,119.4 L394,122.7 L395.8,126.3 L397.6,130.4 L399.4,134.8 L401.2,139.6 L403,144.8 L404.8,150.4 L406.7,156.4 L408.5,162.7 L410.3,169.3 L412.1,176.3 L413.9,183.6 L415.7,191.1 L417.5,199 L419.3,207.1 L421.1,215.3 L422.9,223.8 L424.7,232.3 L426.5,240.9 L428.3,249.5 L430.1,258.1 L431.9,266.5 L433.7,274.7 L435.5,282.6 L437.3,290 L439.1,296.9 L440.9,303 L442.8,308.2 L444.6,312.3 L446.4,314.9 L448.2,315.7 L450,314.3 L451.8,310 L453.6,302.1 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="474.8" y="58" width="99.2" height="154"/><rect x="474.8" y="58" width="99.2" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="86" x2="502.8" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="114" x2="502.8" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="142" x2="502.8" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="170" x2="502.8" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="488.8" y1="198" x2="502.8" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="509.8" y="86" font-size="14" font-family="Verdana">l = 1</text>
-<text x="509.8" y="114" font-size="14" font-family="Verdana">l = 2</text>
-<text x="509.8" y="142" font-size="14" font-family="Verdana">l = 3</text>
-<text x="509.8" y="170" font-size="14" font-family="Verdana">l = 4</text>
-<text x="509.8" y="198" font-size="14" font-family="Verdana">l = 5</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Legendre Polynomials of the Second Kind</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/lgamma.svg b/libs/math/doc/sf_and_dist/graphs/lgamma.svg
deleted file mode 100644
index 2e5b728665..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/lgamma.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="238.6" y1="58" x2="238.6" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="289.2" x2="574" y2="289.2"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,267.1 L75.8,267.1 M73.8,245.1 L75.8,245.1 M73.8,223.1 L75.8,223.1 M73.8,179 L75.8,179 M73.8,157 L75.8,157 M73.8,135 L75.8,135 M73.8,90.9 L75.8,90.9 M73.8,68.87 L75.8,68.87 M73.8,289.2 L75.8,289.2 M73.8,311.2 L75.8,311.2 M73.8,333.2 L75.8,333.2 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M279.3,341 L279.3,343 M320,341 L320,343 M360.7,341 L360.7,343 M442.1,341 L442.1,343 M482.8,341 L482.8,343 M523.5,341 L523.5,343 M197.9,341 L197.9,343 M157.2,341 L157.2,343 M116.5,341 L116.5,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,289.2 L75.8,289.2 M70.8,201 L75.8,201 M70.8,112.9 L75.8,112.9 M70.8,289.2 L75.8,289.2 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M238.6,341 L238.6,346 M401.4,341 L401.4,346 M564.2,341 L564.2,346 M238.6,341 L238.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="238.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="401.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="238.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="291.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="203.4" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="64.8" y="115.3" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="64.8" y="291.6" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">lgamma(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M238.6,63.55 L240.2,236.8 L241.9,249.5 L243.5,256.9 L245.1,262.3 L246.8,266.5 L248.4,269.8 L250,272.7 L251.6,275.1 L253.3,277.2 L254.9,279.1 L256.5,280.7 L258.1,282.1 L259.8,283.4 L261.4,284.6 L263,285.6 L264.7,286.5 L266.3,287.3 L267.9,288 L269.5,288.6 L271.2,289.2 L272.8,289.6 L274.4,290 L276.1,290.4 L277.7,290.7 L279.3,290.9 L280.9,291.1 L282.6,291.2 L284.2,291.3 L285.8,291.3 L287.5,291.3 L289.1,291.2 L290.7,291.1 L292.3,291 L294,290.8 L295.6,290.6 L297.2,290.4 L298.9,290.1 L300.5,289.8 L302.1,289.5 L303.7,289.2 L305.4,288.8 L307,288.4 L308.6,287.9 L310.2,287.5 L311.9,287 L313.5,286.4 L315.1,285.9 L316.8,285.3 L318.4,284.8 L320,284.1 L321.6,283.5 L323.3,282.9 L324.9,282.2 L326.5,281.5 L328.2,280.8 L329.8,280.1 L331.4,279.3 L333,278.5 L334.7,277.7 L336.3,276.9 L337.9,276.1 L339.6,275.3 L341.2,274.4 L342.8,273.6 L344.4,272.7 L346.1,271.8 L347.7,270.8 L349.3,269.9 L350.9,269 L352.6,268 L354.2,267 L355.8,266 L357.5,265 L359.1,264 L360.7,263 L362.3,261.9 L364,260.8 L365.6,259.8 L367.2,258.7 L368.9,257.6 L370.5,256.5 L372.1,255.3 L373.7,254.2 L375.4,253.1 L377,251.9 L378.6,250.7 L380.3,249.5 L381.9,248.3 L383.5,247.1 L385.1,245.9 L386.8,244.7 L388.4,243.4 L390,242.2 L391.7,240.9 L393.3,239.7 L394.9,238.4 L396.5,237.1 L398.2,235.8 L399.8,234.5 L401.4,233.2 L403,231.8 L404.7,230.5 L406.3,229.1 L407.9,227.8 L409.6,226.4 L411.2,225 L412.8,223.6 L414.4,222.2 L416.1,220.8 L417.7,219.4 L419.3,218 L421,216.6 L422.6,215.1 L424.2,213.7 L425.8,212.2 L427.5,210.7 L429.1,209.3 L430.7,207.8 L432.4,206.3 L434,204.8 L435.6,203.3 L437.2,201.8 L438.9,200.2 L440.5,198.7 L442.1,197.2 L443.8,195.6 L445.4,194.1 L447,192.5 L448.6,190.9 L450.3,189.4 L451.9,187.8 L453.5,186.2 L455.1,184.6 L456.8,183 L458.4,181.4 L460,179.8 L461.7,178.1 L463.3,176.5 L464.9,174.9 L466.5,173.2 L468.2,171.6 L469.8,169.9 L471.4,168.2 L473.1,166.6 L474.7,164.9 L476.3,163.2 L477.9,161.5 L479.6,159.8 L481.2,158.1 L482.8,156.4 L484.5,154.7 L486.1,152.9 L487.7,151.2 L489.3,149.5 L491,147.7 L492.6,146 L494.2,144.2 L495.9,142.5 L497.5,140.7 L499.1,138.9 L500.7,137.1 L502.4,135.4 L504,133.6 L505.6,131.8 L507.2,130 L508.9,128.2 L510.5,126.3 L512.1,124.5 L513.8,122.7 L515.4,120.9 L517,119 L518.6,117.2 L520.3,115.3 L521.9,113.5 L523.5,111.6 L525.2,109.8 L526.8,107.9 L528.4,106 L530,104.2 L531.7,102.3 L533.3,100.4 L534.9,98.49 L536.6,96.59 L538.2,94.69 L539.8,92.78 L541.4,90.86 L543.1,88.94 L544.7,87.02 L546.3,85.09 L548,83.15 L549.6,81.22 L551.2,79.27 L552.8,77.32 L554.5,75.37 L556.1,73.41 L557.7,71.45 L559.3,69.48 L561,67.51 L562.6,65.53 L564.2,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M206,63.55 L206.2,195.8 L206.4,207.9 L206.5,215 L206.7,220.1 L206.9,224 L207,227.1 L207.2,229.8 L207.4,232.1 L207.5,234.1 L207.7,235.9 L207.8,237.6 L208,239 L208.2,240.4 L208.3,241.7 L208.5,242.8 L208.7,243.9 L208.8,244.9 L209,245.9 L209.1,246.8 L209.3,247.6 L209.5,248.4 L209.6,249.2 L209.8,249.9 L210,250.6 L210.1,251.2 L210.3,251.8 L210.4,252.4 L210.6,253 L210.8,253.6 L210.9,254.1 L211.1,254.6 L211.3,255.1 L211.4,255.5 L211.6,256 L211.7,256.4 L211.9,256.8 L212.1,257.2 L212.2,257.6 L212.4,258 L212.6,258.4 L212.7,258.7 L212.9,259.1 L213,259.4 L213.2,259.7 L213.4,260 L213.5,260.3 L213.7,260.6 L213.9,260.9 L214,261.1 L214.2,261.4 L214.4,261.6 L214.5,261.9 L214.7,262.1 L214.8,262.3 L215,262.6 L215.2,262.8 L215.3,263 L215.5,263.2 L215.7,263.4 L215.8,263.6 L216,263.7 L216.1,263.9 L216.3,264.1 L216.5,264.2 L216.6,264.4 L216.8,264.6 L217,264.7 L217.1,264.8 L217.3,265 L217.4,265.1 L217.6,265.2 L217.8,265.3 L217.9,265.5 L218.1,265.6 L218.3,265.7 L218.4,265.8 L218.6,265.9 L218.7,266 L218.9,266 L219.1,266.1 L219.2,266.2 L219.4,266.3 L219.6,266.3 L219.7,266.4 L219.9,266.5 L220.1,266.5 L220.2,266.6 L220.4,266.6 L220.5,266.7 L220.7,266.7 L220.9,266.7 L221,266.8 L221.2,266.8 L221.4,266.8 L221.5,266.8 L221.7,266.8 L221.8,266.8 L222,266.9 L222.2,266.9 L222.3,266.9 L222.5,266.9 L222.7,266.8 L222.8,266.8 L223,266.8 L223.1,266.8 L223.3,266.8 L223.5,266.7 L223.6,266.7 L223.8,266.7 L224,266.6 L224.1,266.6 L224.3,266.5 L224.4,266.5 L224.6,266.4 L224.8,266.4 L224.9,266.3 L225.1,266.2 L225.3,266.2 L225.4,266.1 L225.6,266 L225.7,265.9 L225.9,265.8 L226.1,265.7 L226.2,265.6 L226.4,265.5 L226.6,265.4 L226.7,265.3 L226.9,265.2 L227.1,265 L227.2,264.9 L227.4,264.8 L227.5,264.6 L227.7,264.5 L227.9,264.4 L228,264.2 L228.2,264 L228.4,263.9 L228.5,263.7 L228.7,263.5 L228.8,263.3 L229,263.2 L229.2,263 L229.3,262.8 L229.5,262.5 L229.7,262.3 L229.8,262.1 L230,261.9 L230.1,261.6 L230.3,261.4 L230.5,261.1 L230.6,260.9 L230.8,260.6 L231,260.3 L231.1,260.1 L231.3,259.8 L231.4,259.4 L231.6,259.1 L231.8,258.8 L231.9,258.5 L232.1,258.1 L232.3,257.8 L232.4,257.4 L232.6,257 L232.7,256.6 L232.9,256.2 L233.1,255.7 L233.2,255.3 L233.4,254.8 L233.6,254.3 L233.7,253.8 L233.9,253.3 L234.1,252.8 L234.2,252.2 L234.4,251.6 L234.5,251 L234.7,250.4 L234.9,249.7 L235,249 L235.2,248.2 L235.4,247.4 L235.5,246.6 L235.7,245.7 L235.8,244.7 L236,243.7 L236.2,242.7 L236.3,241.5 L236.5,240.3 L236.7,238.9 L236.8,237.4 L237,235.8 L237.1,234 L237.3,232 L237.5,229.7 L237.6,227 L237.8,223.9 L238,220 L238.1,215 L238.3,207.9 L238.4,195.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M173.5,63.55 L173.6,207.9 L173.8,220.1 L174,227.1 L174.1,232.1 L174.3,235.9 L174.5,239.1 L174.6,241.7 L174.8,244 L175,245.9 L175.1,247.7 L175.3,249.3 L175.4,250.7 L175.6,252 L175.8,253.2 L175.9,254.4 L176.1,255.4 L176.3,256.4 L176.4,257.3 L176.6,258.1 L176.7,258.9 L176.9,259.7 L177.1,260.4 L177.2,261.1 L177.4,261.7 L177.6,262.3 L177.7,262.9 L177.9,263.4 L178,263.9 L178.2,264.4 L178.4,264.9 L178.5,265.4 L178.7,265.8 L178.9,266.2 L179,266.6 L179.2,267 L179.3,267.4 L179.5,267.7 L179.7,268.1 L179.8,268.4 L180,268.7 L180.2,269 L180.3,269.3 L180.5,269.6 L180.6,269.9 L180.8,270.1 L181,270.4 L181.1,270.6 L181.3,270.8 L181.5,271 L181.6,271.3 L181.8,271.5 L182,271.6 L182.1,271.8 L182.3,272 L182.4,272.2 L182.6,272.3 L182.8,272.5 L182.9,272.6 L183.1,272.8 L183.3,272.9 L183.4,273 L183.6,273.2 L183.7,273.3 L183.9,273.4 L184.1,273.5 L184.2,273.6 L184.4,273.7 L184.6,273.8 L184.7,273.8 L184.9,273.9 L185,274 L185.2,274.1 L185.4,274.1 L185.5,274.2 L185.7,274.2 L185.9,274.3 L186,274.3 L186.2,274.3 L186.3,274.4 L186.5,274.4 L186.7,274.4 L186.8,274.4 L187,274.5 L187.2,274.5 L187.3,274.5 L187.5,274.5 L187.7,274.5 L187.8,274.4 L188,274.4 L188.1,274.4 L188.3,274.4 L188.5,274.4 L188.6,274.3 L188.8,274.3 L189,274.3 L189.1,274.2 L189.3,274.2 L189.4,274.1 L189.6,274.1 L189.8,274 L189.9,273.9 L190.1,273.9 L190.3,273.8 L190.4,273.7 L190.6,273.6 L190.7,273.6 L190.9,273.5 L191.1,273.4 L191.2,273.3 L191.4,273.2 L191.6,273.1 L191.7,273 L191.9,272.8 L192,272.7 L192.2,272.6 L192.4,272.5 L192.5,272.3 L192.7,272.2 L192.9,272.1 L193,271.9 L193.2,271.8 L193.3,271.6 L193.5,271.5 L193.7,271.3 L193.8,271.1 L194,271 L194.2,270.8 L194.3,270.6 L194.5,270.4 L194.7,270.2 L194.8,270 L195,269.8 L195.1,269.6 L195.3,269.4 L195.5,269.2 L195.6,268.9 L195.8,268.7 L196,268.5 L196.1,268.2 L196.3,268 L196.4,267.7 L196.6,267.4 L196.8,267.2 L196.9,266.9 L197.1,266.6 L197.3,266.3 L197.4,266 L197.6,265.7 L197.7,265.4 L197.9,265.1 L198.1,264.7 L198.2,264.4 L198.4,264.1 L198.6,263.7 L198.7,263.3 L198.9,263 L199,262.6 L199.2,262.2 L199.4,261.8 L199.5,261.3 L199.7,260.9 L199.9,260.4 L200,260 L200.2,259.5 L200.3,259 L200.5,258.5 L200.7,258 L200.8,257.4 L201,256.9 L201.2,256.3 L201.3,255.7 L201.5,255.1 L201.7,254.4 L201.8,253.8 L202,253.1 L202.1,252.3 L202.3,251.6 L202.5,250.8 L202.6,250 L202.8,249.1 L203,248.2 L203.1,247.2 L203.3,246.2 L203.4,245.1 L203.6,243.9 L203.8,242.7 L203.9,241.4 L204.1,239.9 L204.3,238.4 L204.4,236.7 L204.6,234.8 L204.7,232.7 L204.9,230.3 L205.1,227.6 L205.2,224.3 L205.4,220.4 L205.6,215.3 L205.7,208.1 L205.9,195.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M140.9,63.55 L141.1,227.3 L141.2,239.4 L141.4,246.4 L141.6,251.3 L141.7,255.2 L141.9,258.3 L142.1,260.8 L142.2,263.1 L142.4,265 L142.6,266.8 L142.7,268.3 L142.9,269.7 L143,271 L143.2,272.2 L143.4,273.3 L143.5,274.3 L143.7,275.2 L143.9,276.1 L144,276.9 L144.2,277.7 L144.3,278.4 L144.5,279.1 L144.7,279.7 L144.8,280.3 L145,280.9 L145.2,281.5 L145.3,282 L145.5,282.5 L145.6,282.9 L145.8,283.4 L146,283.8 L146.1,284.2 L146.3,284.6 L146.5,285 L146.6,285.3 L146.8,285.7 L146.9,286 L147.1,286.3 L147.3,286.6 L147.4,286.9 L147.6,287.1 L147.8,287.4 L147.9,287.6 L148.1,287.9 L148.3,288.1 L148.4,288.3 L148.6,288.5 L148.7,288.7 L148.9,288.9 L149.1,289.1 L149.2,289.2 L149.4,289.4 L149.6,289.6 L149.7,289.7 L149.9,289.8 L150,290 L150.2,290.1 L150.4,290.2 L150.5,290.3 L150.7,290.4 L150.9,290.5 L151,290.6 L151.2,290.7 L151.3,290.8 L151.5,290.8 L151.7,290.9 L151.8,291 L152,291 L152.2,291.1 L152.3,291.1 L152.5,291.1 L152.6,291.2 L152.8,291.2 L153,291.2 L153.1,291.2 L153.3,291.2 L153.5,291.2 L153.6,291.2 L153.8,291.2 L153.9,291.2 L154.1,291.2 L154.3,291.2 L154.4,291.2 L154.6,291.2 L154.8,291.1 L154.9,291.1 L155.1,291.1 L155.3,291 L155.4,291 L155.6,290.9 L155.7,290.9 L155.9,290.8 L156.1,290.7 L156.2,290.7 L156.4,290.6 L156.6,290.5 L156.7,290.4 L156.9,290.3 L157,290.2 L157.2,290.2 L157.4,290.1 L157.5,289.9 L157.7,289.8 L157.9,289.7 L158,289.6 L158.2,289.5 L158.3,289.4 L158.5,289.2 L158.7,289.1 L158.8,289 L159,288.8 L159.2,288.7 L159.3,288.5 L159.5,288.4 L159.6,288.2 L159.8,288.1 L160,287.9 L160.1,287.7 L160.3,287.5 L160.5,287.4 L160.6,287.2 L160.8,287 L160.9,286.8 L161.1,286.6 L161.3,286.4 L161.4,286.2 L161.6,285.9 L161.8,285.7 L161.9,285.5 L162.1,285.3 L162.3,285 L162.4,284.8 L162.6,284.5 L162.7,284.3 L162.9,284 L163.1,283.8 L163.2,283.5 L163.4,283.2 L163.6,282.9 L163.7,282.6 L163.9,282.4 L164,282 L164.2,281.7 L164.4,281.4 L164.5,281.1 L164.7,280.8 L164.9,280.4 L165,280.1 L165.2,279.7 L165.3,279.4 L165.5,279 L165.7,278.6 L165.8,278.2 L166,277.8 L166.2,277.4 L166.3,277 L166.5,276.6 L166.6,276.1 L166.8,275.7 L167,275.2 L167.1,274.7 L167.3,274.3 L167.5,273.8 L167.6,273.2 L167.8,272.7 L168,272.2 L168.1,271.6 L168.3,271 L168.4,270.4 L168.6,269.8 L168.8,269.2 L168.9,268.5 L169.1,267.8 L169.3,267.1 L169.4,266.4 L169.6,265.6 L169.7,264.8 L169.9,264 L170.1,263.1 L170.2,262.2 L170.4,261.2 L170.6,260.2 L170.7,259.1 L170.9,258 L171,256.8 L171.2,255.5 L171.4,254.2 L171.5,252.7 L171.7,251.1 L171.9,249.3 L172,247.4 L172.2,245.3 L172.3,242.8 L172.5,240 L172.7,236.8 L172.8,232.7 L173,227.6 L173.2,220.4 L173.3,208.1 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M108.4,63.55 L108.5,251.7 L108.7,263.7 L108.9,270.8 L109,275.7 L109.2,279.5 L109.3,282.5 L109.5,285.1 L109.7,287.3 L109.8,289.3 L110,291 L110.2,292.5 L110.3,293.9 L110.5,295.2 L110.6,296.3 L110.8,297.4 L111,298.4 L111.1,299.3 L111.3,300.1 L111.5,300.9 L111.6,301.7 L111.8,302.4 L111.9,303 L112.1,303.6 L112.3,304.2 L112.4,304.8 L112.6,305.3 L112.8,305.8 L112.9,306.3 L113.1,306.7 L113.2,307.1 L113.4,307.5 L113.6,307.9 L113.7,308.3 L113.9,308.6 L114.1,309 L114.2,309.3 L114.4,309.6 L114.5,309.9 L114.7,310.1 L114.9,310.4 L115,310.6 L115.2,310.9 L115.4,311.1 L115.5,311.3 L115.7,311.5 L115.9,311.7 L116,311.9 L116.2,312.1 L116.3,312.2 L116.5,312.4 L116.7,312.5 L116.8,312.7 L117,312.8 L117.2,312.9 L117.3,313 L117.5,313.1 L117.6,313.2 L117.8,313.3 L118,313.4 L118.1,313.5 L118.3,313.5 L118.5,313.6 L118.6,313.7 L118.8,313.7 L118.9,313.8 L119.1,313.8 L119.3,313.8 L119.4,313.9 L119.6,313.9 L119.8,313.9 L119.9,313.9 L120.1,313.9 L120.2,313.9 L120.4,313.9 L120.6,313.9 L120.7,313.9 L120.9,313.9 L121.1,313.9 L121.2,313.8 L121.4,313.8 L121.5,313.8 L121.7,313.7 L121.9,313.7 L122,313.6 L122.2,313.6 L122.4,313.5 L122.5,313.5 L122.7,313.4 L122.9,313.3 L123,313.2 L123.2,313.2 L123.3,313.1 L123.5,313 L123.7,312.9 L123.8,312.8 L124,312.7 L124.2,312.6 L124.3,312.5 L124.5,312.3 L124.6,312.2 L124.8,312.1 L125,312 L125.1,311.8 L125.3,311.7 L125.5,311.6 L125.6,311.4 L125.8,311.3 L125.9,311.1 L126.1,311 L126.3,310.8 L126.4,310.6 L126.6,310.5 L126.8,310.3 L126.9,310.1 L127.1,309.9 L127.2,309.7 L127.4,309.5 L127.6,309.3 L127.7,309.1 L127.9,308.9 L128.1,308.7 L128.2,308.5 L128.4,308.3 L128.6,308 L128.7,307.8 L128.9,307.6 L129,307.3 L129.2,307.1 L129.4,306.8 L129.5,306.6 L129.7,306.3 L129.9,306 L130,305.8 L130.2,305.5 L130.3,305.2 L130.5,304.9 L130.7,304.6 L130.8,304.3 L131,304 L131.2,303.7 L131.3,303.4 L131.5,303 L131.6,302.7 L131.8,302.4 L132,302 L132.1,301.6 L132.3,301.3 L132.5,300.9 L132.6,300.5 L132.8,300.1 L132.9,299.7 L133.1,299.3 L133.3,298.9 L133.4,298.5 L133.6,298.1 L133.8,297.6 L133.9,297.2 L134.1,296.7 L134.2,296.2 L134.4,295.7 L134.6,295.2 L134.7,294.7 L134.9,294.2 L135.1,293.6 L135.2,293.1 L135.4,292.5 L135.6,291.9 L135.7,291.3 L135.9,290.7 L136,290 L136.2,289.4 L136.4,288.7 L136.5,287.9 L136.7,287.2 L136.9,286.4 L137,285.6 L137.2,284.8 L137.3,283.9 L137.5,283 L137.7,282.1 L137.8,281.1 L138,280.1 L138.2,279 L138.3,277.8 L138.5,276.6 L138.6,275.3 L138.8,273.9 L139,272.4 L139.1,270.8 L139.3,269 L139.5,267 L139.6,264.9 L139.8,262.4 L139.9,259.6 L140.1,256.3 L140.3,252.2 L140.4,247 L140.6,239.8 L140.8,227.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L75.96,280 L76.13,292.1 L76.29,299.1 L76.45,304 L76.61,307.8 L76.78,310.8 L76.94,313.4 L77.1,315.6 L77.27,317.5 L77.43,319.2 L77.59,320.7 L77.75,322 L77.92,323.3 L78.08,324.4 L78.24,325.5 L78.4,326.4 L78.57,327.3 L78.73,328.2 L78.89,328.9 L79.06,329.7 L79.22,330.4 L79.38,331 L79.54,331.6 L79.71,332.2 L79.87,332.7 L80.03,333.2 L80.2,333.7 L80.36,334.1 L80.52,334.6 L80.68,335 L80.85,335.4 L81.01,335.7 L81.17,336.1 L81.34,336.4 L81.5,336.7 L81.66,337 L81.82,337.3 L81.99,337.5 L82.15,337.8 L82.31,338 L82.48,338.3 L82.64,338.5 L82.8,338.7 L82.96,338.9 L83.13,339.1 L83.29,339.2 L83.45,339.4 L83.61,339.6 L83.78,339.7 L83.94,339.8 L84.1,340 L84.27,340.1 L84.43,340.2 L84.59,340.3 L84.75,340.4 L84.92,340.5 L85.08,340.6 L85.24,340.6 L85.41,340.7 L85.57,340.7 L85.73,340.8 L85.89,340.8 L86.06,340.9 L86.22,340.9 L86.38,340.9 L86.55,341 L86.71,341 L86.87,341 L87.03,341 L87.2,341 L87.36,341 L87.52,341 L87.69,341 L87.85,340.9 L88.01,340.9 L88.17,340.9 L88.34,340.8 L88.5,340.8 L88.66,340.8 L88.82,340.7 L88.99,340.7 L89.15,340.6 L89.31,340.5 L89.48,340.5 L89.64,340.4 L89.8,340.3 L89.96,340.2 L90.13,340.1 L90.29,340 L90.45,339.9 L90.62,339.8 L90.78,339.7 L90.94,339.6 L91.1,339.5 L91.27,339.4 L91.43,339.3 L91.59,339.1 L91.76,339 L91.92,338.9 L92.08,338.7 L92.24,338.6 L92.41,338.4 L92.57,338.3 L92.73,338.1 L92.9,338 L93.06,337.8 L93.22,337.6 L93.38,337.5 L93.55,337.3 L93.71,337.1 L93.87,336.9 L94.03,336.7 L94.2,336.5 L94.36,336.3 L94.52,336.1 L94.69,335.9 L94.85,335.7 L95.01,335.5 L95.17,335.3 L95.34,335 L95.5,334.8 L95.66,334.6 L95.83,334.3 L95.99,334.1 L96.15,333.8 L96.31,333.6 L96.48,333.3 L96.64,333 L96.8,332.8 L96.97,332.5 L97.13,332.2 L97.29,331.9 L97.45,331.6 L97.62,331.3 L97.78,331 L97.94,330.7 L98.11,330.4 L98.27,330.1 L98.43,329.7 L98.59,329.4 L98.76,329 L98.92,328.7 L99.08,328.3 L99.24,328 L99.41,327.6 L99.57,327.2 L99.73,326.8 L99.9,326.5 L100.1,326.1 L100.2,325.6 L100.4,325.2 L100.5,324.8 L100.7,324.4 L100.9,323.9 L101,323.5 L101.2,323 L101.4,322.5 L101.5,322 L101.7,321.5 L101.8,321 L102,320.5 L102.2,320 L102.3,319.4 L102.5,318.8 L102.7,318.3 L102.8,317.7 L103,317 L103.2,316.4 L103.3,315.8 L103.5,315.1 L103.6,314.4 L103.8,313.7 L104,313 L104.1,312.2 L104.3,311.4 L104.5,310.6 L104.6,309.7 L104.8,308.9 L104.9,307.9 L105.1,307 L105.3,306 L105.4,304.9 L105.6,303.8 L105.8,302.6 L105.9,301.4 L106.1,300 L106.2,298.6 L106.4,297.1 L106.6,295.4 L106.7,293.6 L106.9,291.7 L107.1,289.5 L107.2,287 L107.4,284.1 L107.5,280.8 L107.7,276.7 L107.9,271.5 L108,264.3 L108.2,251.9 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">lgamma</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/log1p.svg b/libs/math/doc/sf_and_dist/graphs/log1p.svg
deleted file mode 100644
index 7d4e5dfdf6..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/log1p.svg
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="127.9" y1="58" x2="127.9" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="117.2" x2="574" y2="117.2"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,89.24 L84.2,89.24 M82.2,61.26 L84.2,61.26 M82.2,117.2 L84.2,117.2 M82.2,145.2 L84.2,145.2 M82.2,173.2 L84.2,173.2 M82.2,201.1 L84.2,201.1 M82.2,229.1 L84.2,229.1 M82.2,257.1 L84.2,257.1 M82.2,285.1 L84.2,285.1 M82.2,313 L84.2,313 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M182.4,341 L182.4,343 M237,341 L237,343 M291.6,341 L291.6,343 M400.7,341 L400.7,343 M455.3,341 L455.3,343 M509.8,341 L509.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,117.2 L84.2,117.2 M79.2,117.2 L84.2,117.2 M79.2,229.1 L84.2,229.1 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M127.9,341 L127.9,346 M346.1,341 L346.1,346 M564.4,341 L564.4,346 M127.9,341 L127.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="127.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="346.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="127.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="119.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="119.6" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="231.5" text-anchor="end" font-size="12" font-family="Verdana">-5</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">log1p(z)</text></g>
-<g id="xLabel">
-<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.6,182.1 L89,166.6 L91.4,157.5 L93.8,151.1 L96.2,146.1 L98.61,142 L101,138.6 L103.4,135.6 L105.8,132.9 L108.2,130.6 L110.6,128.5 L113,126.5 L115.4,124.7 L117.8,123.1 L120.2,121.5 L122.6,120.1 L125,118.7 L127.4,117.4 L129.8,116.2 L132.2,115.1 L134.6,114 L137,112.9 L139.4,111.9 L141.8,111 L144.2,110.1 L146.6,109.2 L149,108.4 L151.4,107.5 L153.8,106.8 L156.2,106 L158.6,105.3 L161,104.6 L163.4,103.9 L165.8,103.2 L168.2,102.6 L170.6,101.9 L173,101.3 L175.4,100.7 L177.8,100.1 L180.2,99.57 L182.6,99.01 L185,98.47 L187.4,97.95 L189.8,97.43 L192.2,96.93 L194.6,96.44 L197,95.96 L199.4,95.49 L201.8,95.02 L204.2,94.57 L206.6,94.13 L209.1,93.69 L211.5,93.27 L213.9,92.85 L216.3,92.44 L218.7,92.04 L221.1,91.64 L223.5,91.25 L225.9,90.87 L228.3,90.49 L230.7,90.12 L233.1,89.76 L235.5,89.4 L237.9,89.05 L240.3,88.7 L242.7,88.36 L245.1,88.02 L247.5,87.69 L249.9,87.36 L252.3,87.04 L254.7,86.73 L257.1,86.41 L259.5,86.1 L261.9,85.8 L264.3,85.5 L266.7,85.2 L269.1,84.91 L271.5,84.62 L273.9,84.34 L276.3,84.05 L278.7,83.78 L281.1,83.5 L283.5,83.23 L285.9,82.96 L288.3,82.7 L290.7,82.44 L293.1,82.18 L295.5,81.92 L297.9,81.67 L300.3,81.42 L302.7,81.17 L305.1,80.93 L307.5,80.68 L309.9,80.45 L312.3,80.21 L314.7,79.97 L317.1,79.74 L319.5,79.51 L321.9,79.29 L324.3,79.06 L326.7,78.84 L329.1,78.62 L331.5,78.4 L333.9,78.18 L336.3,77.97 L338.7,77.76 L341.1,77.55 L343.5,77.34 L345.9,77.13 L348.3,76.93 L350.7,76.73 L353.1,76.52 L355.5,76.33 L357.9,76.13 L360.3,75.93 L362.7,75.74 L365.1,75.55 L367.5,75.36 L369.9,75.17 L372.3,74.98 L374.7,74.79 L377.1,74.61 L379.5,74.43 L381.9,74.25 L384.3,74.07 L386.7,73.89 L389.1,73.71 L391.5,73.54 L393.9,73.36 L396.3,73.19 L398.7,73.02 L401.1,72.85 L403.5,72.68 L405.9,72.51 L408.3,72.34 L410.7,72.18 L413.1,72.02 L415.5,71.85 L417.9,71.69 L420.3,71.53 L422.7,71.37 L425.1,71.21 L427.5,71.06 L429.9,70.9 L432.3,70.75 L434.7,70.59 L437.1,70.44 L439.5,70.29 L441.9,70.14 L444.3,69.99 L446.7,69.84 L449.1,69.69 L451.6,69.54 L454,69.4 L456.4,69.25 L458.8,69.11 L461.2,68.97 L463.6,68.82 L466,68.68 L468.4,68.54 L470.8,68.4 L473.2,68.26 L475.6,68.13 L478,67.99 L480.4,67.85 L482.8,67.72 L485.2,67.58 L487.6,67.45 L490,67.32 L492.4,67.19 L494.8,67.05 L497.2,66.92 L499.6,66.79 L502,66.67 L504.4,66.54 L506.8,66.41 L509.2,66.28 L511.6,66.16 L514,66.03 L516.4,65.91 L518.8,65.78 L521.2,65.66 L523.6,65.54 L526,65.41 L528.4,65.29 L530.8,65.17 L533.2,65.05 L535.6,64.93 L538,64.81 L540.4,64.7 L542.8,64.58 L545.2,64.46 L547.6,64.35 L550,64.23 L552.4,64.12 L554.8,64 L557.2,63.89 L559.6,63.77 L562,63.66 L564.4,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">log1p</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/logistic_pdf.svg b/libs/math/doc/sf_and_dist/graphs/logistic_pdf.svg
deleted file mode 100644
index 40a48fd642..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/logistic_pdf.svg
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="71.2" y="63" width="423.2" height="271.4"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="70.2" y="62" width="425.2" height="273.4"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="282.8" y1="62" x2="282.8" y2="340.4"/><line x1="70.2" y1="62" x2="70.2" y2="335.4"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="65.2" y1="335.4" x2="495.4" y2="335.4"/><line x1="65.2" y1="335.4" x2="495.4" y2="335.4"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.2,325.5 L70.2,325.5 M68.2,315.5 L70.2,315.5 M68.2,305.6 L70.2,305.6 M68.2,295.6 L70.2,295.6 M68.2,275.7 L70.2,275.7 M68.2,265.8 L70.2,265.8 M68.2,255.9 L70.2,255.9 M68.2,245.9 L70.2,245.9 M68.2,226 L70.2,226 M68.2,216.1 L70.2,216.1 M68.2,206.2 L70.2,206.2 M68.2,196.2 L70.2,196.2 M68.2,176.3 L70.2,176.3 M68.2,166.4 L70.2,166.4 M68.2,156.4 L70.2,156.4 M68.2,146.5 L70.2,146.5 M68.2,126.6 L70.2,126.6 M68.2,116.7 L70.2,116.7 M68.2,106.7 L70.2,106.7 M68.2,96.8 L70.2,96.8 M68.2,76.91 L70.2,76.91 M68.2,66.97 L70.2,66.97 M68.2,335.4 L70.2,335.4 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M299,335.4 L299,337.4 M315.3,335.4 L315.3,337.4 M331.6,335.4 L331.6,337.4 M347.8,335.4 L347.8,337.4 M380.4,335.4 L380.4,337.4 M396.6,335.4 L396.6,337.4 M412.9,335.4 L412.9,337.4 M429.2,335.4 L429.2,337.4 M461.7,335.4 L461.7,337.4 M478,335.4 L478,337.4 M494.2,335.4 L494.2,337.4 M266.5,335.4 L266.5,337.4 M250.3,335.4 L250.3,337.4 M234,335.4 L234,337.4 M217.7,335.4 L217.7,337.4 M185.2,335.4 L185.2,337.4 M168.9,335.4 L168.9,337.4 M152.7,335.4 L152.7,337.4 M136.4,335.4 L136.4,337.4 M103.9,335.4 L103.9,337.4 M87.6,335.4 L87.6,337.4 M71.33,335.4 L71.33,337.4 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M65.2,335.4 L70.2,335.4 M65.2,285.7 L70.2,285.7 M65.2,236 L70.2,236 M65.2,186.3 L70.2,186.3 M65.2,136.6 L70.2,136.6 M65.2,86.85 L70.2,86.85 M65.2,335.4 L70.2,335.4 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M282.8,335.4 L282.8,340.4 M364.1,335.4 L364.1,340.4 M445.4,335.4 L445.4,340.4 M282.8,335.4 L282.8,340.4 M201.5,335.4 L201.5,340.4 M120.1,335.4 L120.1,340.4 " fill="none"/></g>
-<g id="plotLabels">
-<text x="282.8" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
-<text x="364.1" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">5</text>
-<text x="445.4" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">10</text>
-<text x="282.8" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
-<text x="201.5" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">-5</text>
-<text x="120.1" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">-10</text>
-<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="59.2" y="288.1" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="59.2" y="238.4" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="59.2" y="188.7" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="59.2" y="139" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="59.2" y="89.25" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="30.2" y="198.7" text-anchor="middle" transform = "rotate(-90 30.2 198.7 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="282.8" y="388" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M70.2,335.4 L72.33,335.4 L74.45,335.4 L76.58,335.4 L78.7,335.4 L80.83,335.4 L82.95,335.4 L85.08,335.4 L87.21,335.4 L89.33,335.4 L91.46,335.4 L93.58,335.4 L95.71,335.4 L97.84,335.4 L99.96,335.4 L102.1,335.4 L104.2,335.4 L106.3,335.4 L108.5,335.4 L110.6,335.4 L112.7,335.4 L114.8,335.4 L117,335.4 L119.1,335.4 L121.2,335.4 L123.3,335.4 L125.5,335.4 L127.6,335.4 L129.7,335.4 L131.8,335.4 L134,335.3 L136.1,335.3 L138.2,335.3 L140.4,335.3 L142.5,335.3 L144.6,335.3 L146.7,335.3 L148.9,335.3 L151,335.2 L153.1,335.2 L155.2,335.2 L157.4,335.2 L159.5,335.1 L161.6,335.1 L163.7,335.1 L165.9,335 L168,335 L170.1,334.9 L172.2,334.8 L174.4,334.8 L176.5,334.7 L178.6,334.6 L180.7,334.5 L182.9,334.3 L185,334.2 L187.1,334 L189.2,333.8 L191.4,333.6 L193.5,333.4 L195.6,333.1 L197.7,332.8 L199.9,332.4 L202,332 L204.1,331.5 L206.3,331 L208.4,330.4 L210.5,329.7 L212.6,328.9 L214.8,328 L216.9,327 L219,325.9 L221.1,324.7 L223.3,323.2 L225.4,321.6 L227.5,319.8 L229.6,317.8 L231.8,315.6 L233.9,313.1 L236,310.3 L238.1,307.2 L240.3,303.8 L242.4,300.1 L244.5,296 L246.6,291.5 L248.8,286.8 L250.9,281.6 L253,276.2 L255.1,270.4 L257.3,264.5 L259.4,258.3 L261.5,252.1 L263.6,245.8 L265.8,239.7 L267.9,233.9 L270,228.4 L272.2,223.5 L274.3,219.2 L276.4,215.8 L278.5,213.2 L280.7,211.7 L282.8,211.1 L284.9,211.7 L287,213.2 L289.2,215.8 L291.3,219.2 L293.4,223.5 L295.5,228.4 L297.7,233.9 L299.8,239.7 L301.9,245.8 L304,252.1 L306.2,258.3 L308.3,264.5 L310.4,270.4 L312.5,276.2 L314.7,281.6 L316.8,286.7 L318.9,291.5 L321,296 L323.2,300.1 L325.3,303.8 L327.4,307.2 L329.5,310.3 L331.7,313.1 L333.8,315.6 L335.9,317.8 L338.1,319.8 L340.2,321.6 L342.3,323.2 L344.4,324.7 L346.6,325.9 L348.7,327 L350.8,328 L352.9,328.9 L355.1,329.7 L357.2,330.4 L359.3,331 L361.4,331.5 L363.6,332 L365.7,332.4 L367.8,332.8 L369.9,333.1 L372.1,333.4 L374.2,333.6 L376.3,333.8 L378.4,334 L380.6,334.2 L382.7,334.3 L384.8,334.5 L386.9,334.6 L389.1,334.7 L391.2,334.8 L393.3,334.8 L395.4,334.9 L397.6,335 L399.7,335 L401.8,335.1 L404,335.1 L406.1,335.1 L408.2,335.2 L410.3,335.2 L412.5,335.2 L414.6,335.2 L416.7,335.3 L418.8,335.3 L421,335.3 L423.1,335.3 L425.2,335.3 L427.3,335.3 L429.5,335.3 L431.6,335.3 L433.7,335.4 L435.8,335.4 L438,335.4 L440.1,335.4 L442.2,335.4 L444.3,335.4 L446.5,335.4 L448.6,335.4 L450.7,335.4 L452.8,335.4 L455,335.4 L457.1,335.4 L459.2,335.4 L461.3,335.4 L463.5,335.4 L465.6,335.4 L467.7,335.4 L469.9,335.4 L472,335.4 L474.1,335.4 L476.2,335.4 L478.4,335.4 L480.5,335.4 L482.6,335.4 L484.7,335.4 L486.9,335.4 L489,335.4 L491.1,335.4 L493.2,335.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M70.2,333.3 L72.33,333.2 L74.45,333.1 L76.58,333 L78.7,332.9 L80.83,332.8 L82.95,332.7 L85.08,332.6 L87.21,332.5 L89.33,332.4 L91.46,332.2 L93.58,332.1 L95.71,332 L97.84,331.8 L99.96,331.7 L102.1,331.5 L104.2,331.3 L106.3,331.2 L108.5,331 L110.6,330.8 L112.7,330.6 L114.8,330.4 L117,330.2 L119.1,330 L121.2,329.8 L123.3,329.5 L125.5,329.3 L127.6,329.1 L129.7,328.8 L131.8,328.5 L134,328.2 L136.1,328 L138.2,327.7 L140.4,327.3 L142.5,327 L144.6,326.7 L146.7,326.4 L148.9,326 L151,325.6 L153.1,325.3 L155.2,324.9 L157.4,324.5 L159.5,324 L161.6,323.6 L163.7,323.2 L165.9,322.7 L168,322.3 L170.1,321.8 L172.2,321.3 L174.4,320.8 L176.5,320.3 L178.6,319.7 L180.7,319.2 L182.9,318.6 L185,318.1 L187.1,317.5 L189.2,316.9 L191.4,316.3 L193.5,315.7 L195.6,315 L197.7,314.4 L199.9,313.7 L202,313.1 L204.1,312.4 L206.3,311.8 L208.4,311.1 L210.5,310.4 L212.6,309.7 L214.8,309 L216.9,308.3 L219,307.6 L221.1,306.9 L223.3,306.2 L225.4,305.5 L227.5,304.9 L229.6,304.2 L231.8,303.5 L233.9,302.9 L236,302.2 L238.1,301.6 L240.3,300.9 L242.4,300.3 L244.5,299.7 L246.6,299.2 L248.8,298.6 L250.9,298.1 L253,297.6 L255.1,297.1 L257.3,296.7 L259.4,296.3 L261.5,295.9 L263.6,295.5 L265.8,295.2 L267.9,294.9 L270,294.7 L272.2,294.5 L274.3,294.3 L276.4,294.2 L278.5,294.1 L280.7,294 L282.8,294 L284.9,294 L287,294.1 L289.2,294.2 L291.3,294.3 L293.4,294.5 L295.5,294.7 L297.7,294.9 L299.8,295.2 L301.9,295.5 L304,295.9 L306.2,296.3 L308.3,296.7 L310.4,297.1 L312.5,297.6 L314.7,298.1 L316.8,298.6 L318.9,299.2 L321,299.7 L323.2,300.3 L325.3,300.9 L327.4,301.6 L329.5,302.2 L331.7,302.9 L333.8,303.5 L335.9,304.2 L338.1,304.9 L340.2,305.5 L342.3,306.2 L344.4,306.9 L346.6,307.6 L348.7,308.3 L350.8,309 L352.9,309.7 L355.1,310.4 L357.2,311.1 L359.3,311.8 L361.4,312.4 L363.6,313.1 L365.7,313.7 L367.8,314.4 L369.9,315 L372.1,315.7 L374.2,316.3 L376.3,316.9 L378.4,317.5 L380.6,318.1 L382.7,318.6 L384.8,319.2 L386.9,319.7 L389.1,320.3 L391.2,320.8 L393.3,321.3 L395.4,321.8 L397.6,322.3 L399.7,322.7 L401.8,323.2 L404,323.6 L406.1,324 L408.2,324.5 L410.3,324.9 L412.5,325.3 L414.6,325.6 L416.7,326 L418.8,326.4 L421,326.7 L423.1,327 L425.2,327.3 L427.3,327.7 L429.5,328 L431.6,328.2 L433.7,328.5 L435.8,328.8 L438,329.1 L440.1,329.3 L442.2,329.5 L444.3,329.8 L446.5,330 L448.6,330.2 L450.7,330.4 L452.8,330.6 L455,330.8 L457.1,331 L459.2,331.2 L461.3,331.3 L463.5,331.5 L465.6,331.7 L467.7,331.8 L469.9,332 L472,332.1 L474.1,332.2 L476.2,332.4 L478.4,332.5 L480.5,332.6 L482.6,332.7 L484.7,332.8 L486.9,332.9 L489,333 L491.1,333.1 L493.2,333.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M70.2,335.4 L72.33,335.4 L74.45,335.4 L76.58,335.4 L78.7,335.4 L80.83,335.4 L82.95,335.4 L85.08,335.4 L87.21,335.4 L89.33,335.4 L91.46,335.4 L93.58,335.4 L95.71,335.4 L97.84,335.4 L99.96,335.4 L102.1,335.4 L104.2,335.4 L106.3,335.4 L108.5,335.4 L110.6,335.4 L112.7,335.4 L114.8,335.4 L117,335.4 L119.1,335.4 L121.2,335.4 L123.3,335.4 L125.5,335.4 L127.6,335.4 L129.7,335.4 L131.8,335.4 L134,335.4 L136.1,335.4 L138.2,335.4 L140.4,335.4 L142.5,335.4 L144.6,335.4 L146.7,335.4 L148.9,335.4 L151,335.4 L153.1,335.4 L155.2,335.4 L157.4,335.4 L159.5,335.4 L161.6,335.4 L163.7,335.4 L165.9,335.4 L168,335.4 L170.1,335.4 L172.2,335.4 L174.4,335.4 L176.5,335.4 L178.6,335.4 L180.7,335.4 L182.9,335.4 L185,335.4 L187.1,335.4 L189.2,335.4 L191.4,335.4 L193.5,335.4 L195.6,335.4 L197.7,335.4 L199.9,335.4 L202,335.4 L204.1,335.3 L206.3,335.3 L208.4,335.3 L210.5,335.3 L212.6,335.2 L214.8,335.2 L216.9,335.1 L219,335 L221.1,334.9 L223.3,334.7 L225.4,334.5 L227.5,334.3 L229.6,334 L231.8,333.5 L233.9,333 L236,332.3 L238.1,331.3 L240.3,330.1 L242.4,328.6 L244.5,326.6 L246.6,324 L248.8,320.7 L250.9,316.5 L253,311.1 L255.1,304.3 L257.3,295.7 L259.4,285.2 L261.5,272.2 L263.6,256.5 L265.8,238.1 L267.9,217 L270,193.5 L272.2,168.8 L274.3,144.1 L276.4,121.5 L278.5,103.1 L280.7,91.06 L282.8,86.85 L284.9,91.05 L287,103.1 L289.2,121.5 L291.3,144.1 L293.4,168.7 L295.5,193.5 L297.7,216.9 L299.8,238.1 L301.9,256.5 L304,272.2 L306.2,285.2 L308.3,295.7 L310.4,304.3 L312.5,311.1 L314.7,316.4 L316.8,320.7 L318.9,324 L321,326.6 L323.2,328.6 L325.3,330.1 L327.4,331.3 L329.5,332.3 L331.7,333 L333.8,333.5 L335.9,334 L338.1,334.3 L340.2,334.5 L342.3,334.7 L344.4,334.9 L346.6,335 L348.7,335.1 L350.8,335.2 L352.9,335.2 L355.1,335.3 L357.2,335.3 L359.3,335.3 L361.4,335.3 L363.6,335.4 L365.7,335.4 L367.8,335.4 L369.9,335.4 L372.1,335.4 L374.2,335.4 L376.3,335.4 L378.4,335.4 L380.6,335.4 L382.7,335.4 L384.8,335.4 L386.9,335.4 L389.1,335.4 L391.2,335.4 L393.3,335.4 L395.4,335.4 L397.6,335.4 L399.7,335.4 L401.8,335.4 L404,335.4 L406.1,335.4 L408.2,335.4 L410.3,335.4 L412.5,335.4 L414.6,335.4 L416.7,335.4 L418.8,335.4 L421,335.4 L423.1,335.4 L425.2,335.4 L427.3,335.4 L429.5,335.4 L431.6,335.4 L433.7,335.4 L435.8,335.4 L438,335.4 L440.1,335.4 L442.2,335.4 L444.3,335.4 L446.5,335.4 L448.6,335.4 L450.7,335.4 L452.8,335.4 L455,335.4 L457.1,335.4 L459.2,335.4 L461.3,335.4 L463.5,335.4 L465.6,335.4 L467.7,335.4 L469.9,335.4 L472,335.4 L474.1,335.4 L476.2,335.4 L478.4,335.4 L480.5,335.4 L482.6,335.4 L484.7,335.4 L486.9,335.4 L489,335.4 L491.1,335.4 L493.2,335.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M70.2,335.4 L72.33,335.4 L74.45,335.4 L76.58,335.4 L78.7,335.4 L80.83,335.4 L82.95,335.4 L85.08,335.4 L87.21,335.4 L89.33,335.4 L91.46,335.4 L93.58,335.4 L95.71,335.4 L97.84,335.4 L99.96,335.4 L102.1,335.4 L104.2,335.4 L106.3,335.4 L108.5,335.4 L110.6,335.4 L112.7,335.4 L114.8,335.4 L117,335.4 L119.1,335.4 L121.2,335.4 L123.3,335.4 L125.5,335.4 L127.6,335.4 L129.7,335.4 L131.8,335.4 L134,335.4 L136.1,335.4 L138.2,335.4 L140.4,335.4 L142.5,335.4 L144.6,335.4 L146.7,335.4 L148.9,335.4 L151,335.4 L153.1,335.4 L155.2,335.4 L157.4,335.4 L159.5,335.4 L161.6,335.4 L163.7,335.4 L165.9,335.4 L168,335.4 L170.1,335.4 L172.2,335.4 L174.4,335.4 L176.5,335.4 L178.6,335.4 L180.7,335.4 L182.9,335.4 L185,335.4 L187.1,335.4 L189.2,335.4 L191.4,335.4 L193.5,335.4 L195.6,335.4 L197.7,335.4 L199.9,335.4 L202,335.4 L204.1,335.4 L206.3,335.4 L208.4,335.4 L210.5,335.4 L212.6,335.4 L214.8,335.3 L216.9,335.3 L219,335.3 L221.1,335.3 L223.3,335.3 L225.4,335.3 L227.5,335.3 L229.6,335.3 L231.8,335.3 L233.9,335.2 L236,335.2 L238.1,335.2 L240.3,335.2 L242.4,335.1 L244.5,335.1 L246.6,335 L248.8,335 L250.9,334.9 L253,334.9 L255.1,334.8 L257.3,334.7 L259.4,334.6 L261.5,334.5 L263.6,334.4 L265.8,334.2 L267.9,334.1 L270,333.9 L272.2,333.7 L274.3,333.4 L276.4,333.2 L278.5,332.8 L280.7,332.5 L282.8,332.1 L284.9,331.6 L287,331.1 L289.2,330.5 L291.3,329.9 L293.4,329.1 L295.5,328.3 L297.7,327.3 L299.8,326.2 L301.9,325 L304,323.6 L306.2,322.1 L308.3,320.3 L310.4,318.4 L312.5,316.2 L314.7,313.7 L316.8,311 L318.9,308 L321,304.7 L323.2,301 L325.3,297.1 L327.4,292.7 L329.5,288 L331.7,283 L333.8,277.6 L335.9,271.9 L338.1,266 L340.2,259.9 L342.3,253.7 L344.4,247.4 L346.6,241.3 L348.7,235.4 L350.8,229.8 L352.9,224.7 L355.1,220.3 L357.2,216.6 L359.3,213.8 L361.4,212 L363.6,211.2 L365.7,211.4 L367.8,212.7 L369.9,215 L372.1,218.3 L374.2,222.3 L376.3,227.1 L378.4,232.4 L380.6,238.2 L382.7,244.3 L384.8,250.5 L386.9,256.7 L389.1,262.9 L391.2,268.9 L393.3,274.7 L395.4,280.2 L397.6,285.5 L399.7,290.3 L401.8,294.9 L404,299 L406.1,302.9 L408.2,306.3 L410.3,309.5 L412.5,312.4 L414.6,315 L416.7,317.3 L418.8,319.3 L421,321.2 L423.1,322.8 L425.2,324.3 L427.3,325.6 L429.5,326.8 L431.6,327.8 L433.7,328.7 L435.8,329.5 L438,330.2 L440.1,330.8 L442.2,331.4 L444.3,331.9 L446.5,332.3 L448.6,332.7 L450.7,333 L452.8,333.3 L455,333.6 L457.1,333.8 L459.2,334 L461.3,334.1 L463.5,334.3 L465.6,334.4 L467.7,334.6 L469.9,334.7 L472,334.7 L474.1,334.8 L476.2,334.9 L478.4,335 L480.5,335 L482.6,335.1 L484.7,335.1 L486.9,335.1 L489,335.2 L491.1,335.2 L493.2,335.2 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="509.4" y="62" width="228.6" height="135"/><rect x="509.4" y="62" width="228.6" height="135"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" stroke-width="1"><line x1="524.4" y1="92" x2="539.4" y2="92"/></g>
-<g stroke="rgb(139,0,0)" stroke-width="1"><line x1="524.4" y1="122" x2="539.4" y2="122"/></g>
-<g stroke="rgb(0,100,0)" stroke-width="1"><line x1="524.4" y1="152" x2="539.4" y2="152"/></g>
-<g stroke="rgb(255,140,0)" stroke-width="1"><line x1="524.4" y1="182" x2="539.4" y2="182"/></g>
-</g>
-<g id="legendText">
-<text x="546.9" y="92" font-size="15" font-family="Verdana">location=0, scale=1</text>
-<text x="546.9" y="122" font-size="15" font-family="Verdana">location=0, scale=3</text>
-<text x="546.9" y="152" font-size="15" font-family="Verdana">location=0, scale=0.5</text>
-<text x="546.9" y="182" font-size="15" font-family="Verdana">location=5, scale=1</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Logistic Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.svg b/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.svg
deleted file mode 100644
index b7e41bb62d..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf1.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,326.6 L84.2,326.6 M82.2,312.2 L84.2,312.2 M82.2,297.8 L84.2,297.8 M82.2,283.4 L84.2,283.4 M82.2,254.7 L84.2,254.7 M82.2,240.3 L84.2,240.3 M82.2,225.9 L84.2,225.9 M82.2,211.5 L84.2,211.5 M82.2,182.7 L84.2,182.7 M82.2,168.3 L84.2,168.3 M82.2,153.9 L84.2,153.9 M82.2,139.5 L84.2,139.5 M82.2,110.8 L84.2,110.8 M82.2,96.38 L84.2,96.38 M82.2,81.99 L84.2,81.99 M82.2,67.6 L84.2,67.6 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M125.3,341 L125.3,343 M166.5,341 L166.5,343 M207.6,341 L207.6,343 M248.8,341 L248.8,343 M331.1,341 L331.1,343 M372.2,341 L372.2,343 M413.4,341 L413.4,343 M454.5,341 L454.5,343 M536.8,341 L536.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,269.1 L84.2,269.1 M79.2,197.1 L84.2,197.1 M79.2,125.2 L84.2,125.2 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M289.9,341 L289.9,346 M495.7,341 L495.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="289.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="495.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="271.5" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="199.5" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="127.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.58,161.9 L88.96,86.91 L91.33,91.5 L93.71,118.1 L96.09,148 L98.47,175.7 L100.8,199.7 L103.2,220 L105.6,237 L108,251.3 L110.4,263.2 L112.7,273.3 L115.1,281.8 L117.5,289 L119.9,295.1 L122.2,300.4 L124.6,304.9 L127,308.8 L129.4,312.2 L131.8,315.2 L134.1,317.8 L136.5,320.1 L138.9,322.1 L141.3,323.8 L143.6,325.4 L146,326.8 L148.4,328 L150.8,329.2 L153.2,330.2 L155.5,331 L157.9,331.8 L160.3,332.6 L162.7,333.2 L165,333.8 L167.4,334.4 L169.8,334.8 L172.2,335.3 L174.6,335.7 L176.9,336.1 L179.3,336.4 L181.7,336.7 L184.1,337 L186.4,337.3 L188.8,337.5 L191.2,337.7 L193.6,337.9 L196,338.1 L198.3,338.3 L200.7,338.5 L203.1,338.6 L205.5,338.8 L207.8,338.9 L210.2,339 L212.6,339.1 L215,339.2 L217.4,339.3 L219.7,339.4 L222.1,339.5 L224.5,339.6 L226.9,339.7 L229.2,339.7 L231.6,339.8 L234,339.9 L236.4,339.9 L238.8,340 L241.1,340 L243.5,340.1 L245.9,340.1 L248.3,340.2 L250.6,340.2 L253,340.2 L255.4,340.3 L257.8,340.3 L260.2,340.3 L262.5,340.4 L264.9,340.4 L267.3,340.4 L269.7,340.4 L272,340.5 L274.4,340.5 L276.8,340.5 L279.2,340.5 L281.6,340.6 L283.9,340.6 L286.3,340.6 L288.7,340.6 L291.1,340.6 L293.4,340.6 L295.8,340.7 L298.2,340.7 L300.6,340.7 L303,340.7 L305.3,340.7 L307.7,340.7 L310.1,340.7 L312.5,340.7 L314.8,340.7 L317.2,340.8 L319.6,340.8 L322,340.8 L324.4,340.8 L326.7,340.8 L329.1,340.8 L331.5,340.8 L333.9,340.8 L336.2,340.8 L338.6,340.8 L341,340.8 L343.4,340.8 L345.8,340.8 L348.1,340.8 L350.5,340.9 L352.9,340.9 L355.3,340.9 L357.6,340.9 L360,340.9 L362.4,340.9 L364.8,340.9 L367.2,340.9 L369.5,340.9 L371.9,340.9 L374.3,340.9 L376.7,340.9 L379,340.9 L381.4,340.9 L383.8,340.9 L386.2,340.9 L388.6,340.9 L390.9,340.9 L393.3,340.9 L395.7,340.9 L398.1,340.9 L400.4,340.9 L402.8,340.9 L405.2,340.9 L407.6,340.9 L410,340.9 L412.3,340.9 L414.7,340.9 L417.1,340.9 L419.5,340.9 L421.8,340.9 L424.2,340.9 L426.6,340.9 L429,340.9 L431.4,340.9 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,323.9 L88.96,292.6 L91.33,269.7 L93.71,256 L96.09,249.1 L98.47,246.5 L100.8,246.8 L103.2,248.8 L105.6,251.9 L108,255.5 L110.4,259.5 L112.7,263.6 L115.1,267.6 L117.5,271.6 L119.9,275.4 L122.2,279.1 L124.6,282.6 L127,285.9 L129.4,288.9 L131.8,291.8 L134.1,294.6 L136.5,297.1 L138.9,299.5 L141.3,301.8 L143.6,303.9 L146,305.8 L148.4,307.7 L150.8,309.4 L153.2,311 L155.5,312.5 L157.9,314 L160.3,315.3 L162.7,316.6 L165,317.7 L167.4,318.9 L169.8,319.9 L172.2,320.9 L174.6,321.8 L176.9,322.7 L179.3,323.5 L181.7,324.3 L184.1,325 L186.4,325.7 L188.8,326.4 L191.2,327 L193.6,327.6 L196,328.2 L198.3,328.7 L200.7,329.2 L203.1,329.7 L205.5,330.1 L207.8,330.6 L210.2,331 L212.6,331.4 L215,331.7 L217.4,332.1 L219.7,332.4 L222.1,332.8 L224.5,333.1 L226.9,333.4 L229.2,333.6 L231.6,333.9 L234,334.2 L236.4,334.4 L238.8,334.6 L241.1,334.9 L243.5,335.1 L245.9,335.3 L248.3,335.5 L250.6,335.7 L253,335.8 L255.4,336 L257.8,336.2 L260.2,336.3 L262.5,336.5 L264.9,336.6 L267.3,336.8 L269.7,336.9 L272,337 L274.4,337.2 L276.8,337.3 L279.2,337.4 L281.6,337.5 L283.9,337.6 L286.3,337.7 L288.7,337.8 L291.1,337.9 L293.4,338 L295.8,338.1 L298.2,338.2 L300.6,338.2 L303,338.3 L305.3,338.4 L307.7,338.5 L310.1,338.5 L312.5,338.6 L314.8,338.7 L317.2,338.7 L319.6,338.8 L322,338.9 L324.4,338.9 L326.7,339 L329.1,339 L331.5,339.1 L333.9,339.1 L336.2,339.2 L338.6,339.2 L341,339.3 L343.4,339.3 L345.8,339.4 L348.1,339.4 L350.5,339.4 L352.9,339.5 L355.3,339.5 L357.6,339.6 L360,339.6 L362.4,339.6 L364.8,339.7 L367.2,339.7 L369.5,339.7 L371.9,339.8 L374.3,339.8 L376.7,339.8 L379,339.8 L381.4,339.9 L383.8,339.9 L386.2,339.9 L388.6,340 L390.9,340 L393.3,340 L395.7,340 L398.1,340 L400.4,340.1 L402.8,340.1 L405.2,340.1 L407.6,340.1 L410,340.1 L412.3,340.2 L414.7,340.2 L417.1,340.2 L419.5,340.2 L421.8,340.2 L424.2,340.3 L426.6,340.3 L429,340.3 L431.4,340.3 L433.7,340.3 L436.1,340.3 L438.5,340.3 L440.9,340.4 L443.2,340.4 L445.6,340.4 L448,340.4 L450.4,340.4 L452.8,340.4 L455.1,340.4 L457.5,340.4 L459.9,340.5 L462.3,340.5 L464.6,340.5 L467,340.5 L469.4,340.5 L471.8,340.5 L474.2,340.5 L476.5,340.5 L478.9,340.5 L481.3,340.5 L483.7,340.6 L486,340.6 L488.4,340.6 L490.8,340.6 L493.2,340.6 L495.6,340.6 L497.9,340.6 L500.3,340.6 L502.7,340.6 L505.1,340.6 L507.4,340.6 L509.8,340.6 L512.2,340.6 L514.6,340.7 L517,340.7 L519.3,340.7 L521.7,340.7 L524.1,340.7 L526.5,340.7 L528.8,340.7 L531.2,340.7 L533.6,340.7 L536,340.7 L538.4,340.7 L540.7,340.7 L543.1,340.7 L545.5,340.7 L547.9,340.7 L550.2,340.7 L552.6,340.7 L555,340.7 L557.4,340.7 L559.8,340.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,340.4 L88.96,337.6 L91.33,333.5 L93.71,329.1 L96.09,324.9 L98.47,321.1 L100.8,317.9 L103.2,315.1 L105.6,312.9 L108,311 L110.4,309.6 L112.7,308.4 L115.1,307.6 L117.5,307 L119.9,306.5 L122.2,306.3 L124.6,306.2 L127,306.2 L129.4,306.3 L131.8,306.5 L134.1,306.8 L136.5,307.2 L138.9,307.6 L141.3,308 L143.6,308.5 L146,309 L148.4,309.5 L150.8,310 L153.2,310.5 L155.5,311.1 L157.9,311.6 L160.3,312.2 L162.7,312.7 L165,313.3 L167.4,313.8 L169.8,314.4 L172.2,314.9 L174.6,315.4 L176.9,316 L179.3,316.5 L181.7,317 L184.1,317.5 L186.4,318 L188.8,318.5 L191.2,318.9 L193.6,319.4 L196,319.9 L198.3,320.3 L200.7,320.7 L203.1,321.2 L205.5,321.6 L207.8,322 L210.2,322.4 L212.6,322.8 L215,323.2 L217.4,323.5 L219.7,323.9 L222.1,324.2 L224.5,324.6 L226.9,324.9 L229.2,325.3 L231.6,325.6 L234,325.9 L236.4,326.2 L238.8,326.5 L241.1,326.8 L243.5,327.1 L245.9,327.4 L248.3,327.6 L250.6,327.9 L253,328.1 L255.4,328.4 L257.8,328.6 L260.2,328.9 L262.5,329.1 L264.9,329.4 L267.3,329.6 L269.7,329.8 L272,330 L274.4,330.2 L276.8,330.4 L279.2,330.6 L281.6,330.8 L283.9,331 L286.3,331.2 L288.7,331.4 L291.1,331.5 L293.4,331.7 L295.8,331.9 L298.2,332.1 L300.6,332.2 L303,332.4 L305.3,332.5 L307.7,332.7 L310.1,332.8 L312.5,333 L314.8,333.1 L317.2,333.3 L319.6,333.4 L322,333.5 L324.4,333.7 L326.7,333.8 L329.1,333.9 L331.5,334 L333.9,334.1 L336.2,334.3 L338.6,334.4 L341,334.5 L343.4,334.6 L345.8,334.7 L348.1,334.8 L350.5,334.9 L352.9,335 L355.3,335.1 L357.6,335.2 L360,335.3 L362.4,335.4 L364.8,335.5 L367.2,335.6 L369.5,335.7 L371.9,335.7 L374.3,335.8 L376.7,335.9 L379,336 L381.4,336.1 L383.8,336.1 L386.2,336.2 L388.6,336.3 L390.9,336.4 L393.3,336.4 L395.7,336.5 L398.1,336.6 L400.4,336.6 L402.8,336.7 L405.2,336.8 L407.6,336.8 L410,336.9 L412.3,337 L414.7,337 L417.1,337.1 L419.5,337.1 L421.8,337.2 L424.2,337.3 L426.6,337.3 L429,337.4 L431.4,337.4 L433.7,337.5 L436.1,337.5 L438.5,337.6 L440.9,337.6 L443.2,337.7 L445.6,337.7 L448,337.8 L450.4,337.8 L452.8,337.9 L455.1,337.9 L457.5,337.9 L459.9,338 L462.3,338 L464.6,338.1 L467,338.1 L469.4,338.1 L471.8,338.2 L474.2,338.2 L476.5,338.3 L478.9,338.3 L481.3,338.3 L483.7,338.4 L486,338.4 L488.4,338.4 L490.8,338.5 L493.2,338.5 L495.6,338.5 L497.9,338.6 L500.3,338.6 L502.7,338.6 L505.1,338.7 L507.4,338.7 L509.8,338.7 L512.2,338.8 L514.6,338.8 L517,338.8 L519.3,338.8 L521.7,338.9 L524.1,338.9 L526.5,338.9 L528.8,339 L531.2,339 L533.6,339 L536,339 L538.4,339.1 L540.7,339.1 L543.1,339.1 L545.5,339.1 L547.9,339.1 L550.2,339.2 L552.6,339.2 L555,339.2 L557.4,339.2 L559.8,339.3 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="611.3" y="88" font-size="15" font-family="Verdana">location=-1</text>
-<text x="611.3" y="118" font-size="15" font-family="Verdana">location=0</text>
-<text x="611.3" y="148" font-size="15" font-family="Verdana">location=1</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Lognormal Distribution PDF (scale=1)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.svg b/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.svg
deleted file mode 100644
index a8ec63f767..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/lognormal_pdf2.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,321.3 L84.2,321.3 M82.2,301.6 L84.2,301.6 M82.2,281.9 L84.2,281.9 M82.2,262.2 L84.2,262.2 M82.2,222.8 L84.2,222.8 M82.2,203.1 L84.2,203.1 M82.2,183.4 L84.2,183.4 M82.2,163.7 L84.2,163.7 M82.2,124.3 L84.2,124.3 M82.2,104.6 L84.2,104.6 M82.2,84.92 L84.2,84.92 M82.2,65.22 L84.2,65.22 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M107.3,341 L107.3,343 M130.4,341 L130.4,343 M153.5,341 L153.5,343 M176.6,341 L176.6,343 M222.8,341 L222.8,343 M245.9,341 L245.9,343 M269.1,341 L269.1,343 M292.2,341 L292.2,343 M338.4,341 L338.4,343 M361.5,341 L361.5,343 M384.6,341 L384.6,343 M407.7,341 L407.7,343 M453.9,341 L453.9,343 M477,341 L477,343 M500.1,341 L500.1,343 M523.2,341 L523.2,343 M569.4,341 L569.4,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,242.5 L84.2,242.5 M79.2,144 L84.2,144 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M199.7,341 L199.7,346 M315.3,341 L315.3,346 M430.8,341 L430.8,346 M546.3,341 L546.3,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="199.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="315.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="430.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="546.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="244.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="146.4" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,340.9 L98.94,340.7 L101.4,340.3 L103.8,339.3 L106.3,337.5 L108.8,334.9 L111.2,331.1 L113.7,326.3 L116.1,320.2 L118.6,313 L121,304.8 L123.5,295.9 L126,286.2 L128.4,276.1 L130.9,265.8 L133.3,255.4 L135.8,245.1 L138.2,235.1 L140.7,225.5 L143.1,216.5 L145.6,208 L148.1,200.2 L150.5,193.2 L153,186.9 L155.4,181.3 L157.9,176.6 L160.3,172.6 L162.8,169.3 L165.3,166.7 L167.7,164.9 L170.2,163.6 L172.6,163 L175.1,162.9 L177.5,163.4 L180,164.3 L182.4,165.6 L184.9,167.4 L187.4,169.4 L189.8,171.8 L192.3,174.5 L194.7,177.4 L197.2,180.4 L199.6,183.7 L202.1,187.1 L204.6,190.6 L207,194.2 L209.5,197.9 L211.9,201.7 L214.4,205.4 L216.8,209.2 L219.3,213 L221.7,216.8 L224.2,220.5 L226.7,224.2 L229.1,227.9 L231.6,231.5 L234,235.1 L236.5,238.6 L238.9,242.1 L241.4,245.4 L243.9,248.7 L246.3,251.9 L248.8,255.1 L251.2,258.1 L253.7,261.1 L256.1,264 L258.6,266.8 L261,269.5 L263.5,272.2 L266,274.7 L268.4,277.2 L270.9,279.6 L273.3,281.9 L275.8,284.2 L278.2,286.3 L280.7,288.4 L283.2,290.4 L285.6,292.4 L288.1,294.3 L290.5,296.1 L293,297.8 L295.4,299.5 L297.9,301.1 L300.3,302.7 L302.8,304.2 L305.3,305.6 L307.7,307 L310.2,308.3 L312.6,309.6 L315.1,310.8 L317.5,312 L320,313.2 L322.5,314.3 L324.9,315.3 L327.4,316.3 L329.8,317.3 L332.3,318.2 L334.7,319.1 L337.2,320 L339.6,320.8 L342.1,321.6 L344.6,322.4 L347,323.1 L349.5,323.8 L351.9,324.5 L354.4,325.1 L356.8,325.8 L359.3,326.3 L361.8,326.9 L364.2,327.5 L366.7,328 L369.1,328.5 L371.6,329 L374,329.5 L376.5,329.9 L378.9,330.3 L381.4,330.8 L383.9,331.1 L386.3,331.5 L388.8,331.9 L391.2,332.2 L393.7,332.6 L396.1,332.9 L398.6,333.2 L401,333.5 L403.5,333.8 L406,334.1 L408.4,334.3 L410.9,334.6 L413.3,334.8 L415.8,335.1 L418.2,335.3 L420.7,335.5 L423.2,335.7 L425.6,335.9 L428.1,336.1 L430.5,336.3 L433,336.5 L435.4,336.6 L437.9,336.8 L440.3,337 L442.8,337.1 L445.3,337.3 L447.7,337.4 L450.2,337.5 L452.6,337.7 L455.1,337.8 L457.5,337.9 L460,338 L462.5,338.1 L464.9,338.2 L467.4,338.3 L469.8,338.4 L472.3,338.5 L474.7,338.6 L477.2,338.7 L479.6,338.8 L482.1,338.9 L484.6,338.9 L487,339 L489.5,339.1 L491.9,339.1 L494.4,339.2 L496.8,339.3 L499.3,339.3 L501.8,339.4 L504.2,339.5 L506.7,339.5 L509.1,339.6 L511.6,339.6 L514,339.7 L516.5,339.7 L518.9,339.8 L521.4,339.8 L523.9,339.8 L526.3,339.9 L528.8,339.9 L531.2,340 L533.7,340 L536.1,340 L538.6,340.1 L541.1,340.1 L543.5,340.1 L546,340.2 L548.4,340.2 L550.9,340.2 L553.3,340.2 L555.8,340.3 L558.2,340.3 L560.7,340.3 L563.2,340.3 L565.6,340.4 L568.1,340.4 L570.5,340.4 L573,340.4 L575.4,340.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,338.8 L89.11,328.4 L91.57,313.1 L94.02,296.7 L96.48,281.1 L98.94,267.1 L101.4,255 L103.8,244.8 L106.3,236.4 L108.8,229.5 L111.2,224.1 L113.7,219.8 L116.1,216.6 L118.6,214.3 L121,212.8 L123.5,211.8 L126,211.5 L128.4,211.5 L130.9,212 L133.3,212.8 L135.8,213.8 L138.2,215.1 L140.7,216.6 L143.1,218.2 L145.6,219.9 L148.1,221.7 L150.5,223.6 L153,225.6 L155.4,227.6 L157.9,229.6 L160.3,231.7 L162.8,233.7 L165.3,235.8 L167.7,237.9 L170.2,239.9 L172.6,241.9 L175.1,243.9 L177.5,245.9 L180,247.9 L182.4,249.8 L184.9,251.7 L187.4,253.6 L189.8,255.4 L192.3,257.2 L194.7,258.9 L197.2,260.7 L199.6,262.4 L202.1,264 L204.6,265.6 L207,267.2 L209.5,268.8 L211.9,270.3 L214.4,271.7 L216.8,273.2 L219.3,274.6 L221.7,276 L224.2,277.3 L226.7,278.7 L229.1,279.9 L231.6,281.2 L234,282.4 L236.5,283.6 L238.9,284.8 L241.4,285.9 L243.9,287 L246.3,288.1 L248.8,289.2 L251.2,290.2 L253.7,291.2 L256.1,292.2 L258.6,293.2 L261,294.1 L263.5,295 L266,295.9 L268.4,296.8 L270.9,297.6 L273.3,298.5 L275.8,299.3 L278.2,300.1 L280.7,300.9 L283.2,301.6 L285.6,302.4 L288.1,303.1 L290.5,303.8 L293,304.5 L295.4,305.2 L297.9,305.8 L300.3,306.5 L302.8,307.1 L305.3,307.7 L307.7,308.3 L310.2,308.9 L312.6,309.5 L315.1,310.1 L317.5,310.6 L320,311.1 L322.5,311.7 L324.9,312.2 L327.4,312.7 L329.8,313.2 L332.3,313.7 L334.7,314.1 L337.2,314.6 L339.6,315.1 L342.1,315.5 L344.6,315.9 L347,316.4 L349.5,316.8 L351.9,317.2 L354.4,317.6 L356.8,318 L359.3,318.3 L361.8,318.7 L364.2,319.1 L366.7,319.4 L369.1,319.8 L371.6,320.1 L374,320.5 L376.5,320.8 L378.9,321.1 L381.4,321.4 L383.9,321.8 L386.3,322.1 L388.8,322.4 L391.2,322.7 L393.7,322.9 L396.1,323.2 L398.6,323.5 L401,323.8 L403.5,324 L406,324.3 L408.4,324.6 L410.9,324.8 L413.3,325.1 L415.8,325.3 L418.2,325.5 L420.7,325.8 L423.2,326 L425.6,326.2 L428.1,326.4 L430.5,326.6 L433,326.9 L435.4,327.1 L437.9,327.3 L440.3,327.5 L442.8,327.7 L445.3,327.9 L447.7,328.1 L450.2,328.2 L452.6,328.4 L455.1,328.6 L457.5,328.8 L460,328.9 L462.5,329.1 L464.9,329.3 L467.4,329.5 L469.8,329.6 L472.3,329.8 L474.7,329.9 L477.2,330.1 L479.6,330.2 L482.1,330.4 L484.6,330.5 L487,330.7 L489.5,330.8 L491.9,330.9 L494.4,331.1 L496.8,331.2 L499.3,331.3 L501.8,331.5 L504.2,331.6 L506.7,331.7 L509.1,331.8 L511.6,332 L514,332.1 L516.5,332.2 L518.9,332.3 L521.4,332.4 L523.9,332.5 L526.3,332.7 L528.8,332.8 L531.2,332.9 L533.7,333 L536.1,333.1 L538.6,333.2 L541.1,333.3 L543.5,333.4 L546,333.5 L548.4,333.6 L550.9,333.7 L553.3,333.7 L555.8,333.8 L558.2,333.9 L560.7,334 L563.2,334.1 L565.6,334.2 L568.1,334.3 L570.5,334.4 L573,334.4 L575.4,334.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,51.47 L89.11,75.3 L91.57,102 L94.02,124.8 L96.48,143.7 L98.94,159.7 L101.4,173.3 L103.8,184.9 L106.3,195.1 L108.8,204 L111.2,212 L113.7,219 L116.1,225.4 L118.6,231.1 L121,236.3 L123.5,241.1 L126,245.5 L128.4,249.5 L130.9,253.2 L133.3,256.7 L135.8,259.9 L138.2,262.8 L140.7,265.6 L143.1,268.2 L145.6,270.7 L148.1,273 L150.5,275.1 L153,277.2 L155.4,279.1 L157.9,280.9 L160.3,282.7 L162.8,284.3 L165.3,285.9 L167.7,287.4 L170.2,288.8 L172.6,290.1 L175.1,291.4 L177.5,292.6 L180,293.8 L182.4,294.9 L184.9,296 L187.4,297.1 L189.8,298.1 L192.3,299 L194.7,299.9 L197.2,300.8 L199.6,301.7 L202.1,302.5 L204.6,303.3 L207,304.1 L209.5,304.8 L211.9,305.5 L214.4,306.2 L216.8,306.9 L219.3,307.5 L221.7,308.1 L224.2,308.7 L226.7,309.3 L229.1,309.9 L231.6,310.4 L234,311 L236.5,311.5 L238.9,312 L241.4,312.5 L243.9,312.9 L246.3,313.4 L248.8,313.8 L251.2,314.3 L253.7,314.7 L256.1,315.1 L258.6,315.5 L261,315.9 L263.5,316.3 L266,316.7 L268.4,317 L270.9,317.4 L273.3,317.7 L275.8,318.1 L278.2,318.4 L280.7,318.7 L283.2,319 L285.6,319.3 L288.1,319.6 L290.5,319.9 L293,320.2 L295.4,320.5 L297.9,320.7 L300.3,321 L302.8,321.3 L305.3,321.5 L307.7,321.8 L310.2,322 L312.6,322.2 L315.1,322.5 L317.5,322.7 L320,322.9 L322.5,323.2 L324.9,323.4 L327.4,323.6 L329.8,323.8 L332.3,324 L334.7,324.2 L337.2,324.4 L339.6,324.6 L342.1,324.8 L344.6,324.9 L347,325.1 L349.5,325.3 L351.9,325.5 L354.4,325.6 L356.8,325.8 L359.3,326 L361.8,326.1 L364.2,326.3 L366.7,326.5 L369.1,326.6 L371.6,326.8 L374,326.9 L376.5,327.1 L378.9,327.2 L381.4,327.3 L383.9,327.5 L386.3,327.6 L388.8,327.7 L391.2,327.9 L393.7,328 L396.1,328.1 L398.6,328.3 L401,328.4 L403.5,328.5 L406,328.6 L408.4,328.7 L410.9,328.9 L413.3,329 L415.8,329.1 L418.2,329.2 L420.7,329.3 L423.2,329.4 L425.6,329.5 L428.1,329.6 L430.5,329.7 L433,329.8 L435.4,329.9 L437.9,330 L440.3,330.1 L442.8,330.2 L445.3,330.3 L447.7,330.4 L450.2,330.5 L452.6,330.6 L455.1,330.7 L457.5,330.8 L460,330.8 L462.5,330.9 L464.9,331 L467.4,331.1 L469.8,331.2 L472.3,331.3 L474.7,331.3 L477.2,331.4 L479.6,331.5 L482.1,331.6 L484.6,331.7 L487,331.7 L489.5,331.8 L491.9,331.9 L494.4,331.9 L496.8,332 L499.3,332.1 L501.8,332.2 L504.2,332.2 L506.7,332.3 L509.1,332.4 L511.6,332.4 L514,332.5 L516.5,332.6 L518.9,332.6 L521.4,332.7 L523.9,332.7 L526.3,332.8 L528.8,332.9 L531.2,332.9 L533.7,333 L536.1,333 L538.6,333.1 L541.1,333.2 L543.5,333.2 L546,333.3 L548.4,333.3 L550.9,333.4 L553.3,333.4 L555.8,333.5 L558.2,333.5 L560.7,333.6 L563.2,333.6 L565.6,333.7 L568.1,333.7 L570.5,333.8 L573,333.8 L575.4,333.9 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="626.9" y="88" font-size="15" font-family="Verdana">scale=0.5</text>
-<text x="626.9" y="118" font-size="15" font-family="Verdana">scale=1</text>
-<text x="626.9" y="148" font-size="15" font-family="Verdana">scale=2</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Lognormal Distribution PDF (location=0)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.svg b/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.svg
deleted file mode 100644
index 1688d90ccc..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/nc_beta_pdf.svg
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="68.4" y="59" width="443.3" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="445.3" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="58" x2="67.4" y2="346"/><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="62.4" y1="341" x2="512.7" y2="341"/><line x1="62.4" y1="341" x2="512.7" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,334.6 L67.4,334.6 M65.4,328.3 L67.4,328.3 M65.4,321.9 L67.4,321.9 M65.4,315.6 L67.4,315.6 M65.4,302.9 L67.4,302.9 M65.4,296.5 L67.4,296.5 M65.4,290.1 L67.4,290.1 M65.4,283.8 L67.4,283.8 M65.4,271.1 L67.4,271.1 M65.4,264.7 L67.4,264.7 M65.4,258.4 L67.4,258.4 M65.4,252 L67.4,252 M65.4,239.3 L67.4,239.3 M65.4,232.9 L67.4,232.9 M65.4,226.6 L67.4,226.6 M65.4,220.2 L67.4,220.2 M65.4,207.5 L67.4,207.5 M65.4,201.2 L67.4,201.2 M65.4,194.8 L67.4,194.8 M65.4,188.4 L67.4,188.4 M65.4,175.7 L67.4,175.7 M65.4,169.4 L67.4,169.4 M65.4,163 L67.4,163 M65.4,156.7 L67.4,156.7 M65.4,143.9 L67.4,143.9 M65.4,137.6 L67.4,137.6 M65.4,131.2 L67.4,131.2 M65.4,124.9 L67.4,124.9 M65.4,112.2 L67.4,112.2 M65.4,105.8 L67.4,105.8 M65.4,99.45 L67.4,99.45 M65.4,93.09 L67.4,93.09 M65.4,80.38 L67.4,80.38 M65.4,74.02 L67.4,74.02 M65.4,67.66 L67.4,67.66 M65.4,61.31 L67.4,61.31 M65.4,341 L67.4,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M76.31,341 L76.31,343 M85.21,341 L85.21,343 M94.12,341 L94.12,343 M103,341 L103,343 M120.8,341 L120.8,343 M129.7,341 L129.7,343 M138.7,341 L138.7,343 M147.6,341 L147.6,343 M165.4,341 L165.4,343 M174.3,341 L174.3,343 M183.2,341 L183.2,343 M192.1,341 L192.1,343 M209.9,341 L209.9,343 M218.8,341 L218.8,343 M227.7,341 L227.7,343 M236.6,341 L236.6,343 M254.4,341 L254.4,343 M263.3,341 L263.3,343 M272.2,341 L272.2,343 M281.2,341 L281.2,343 M299,341 L299,343 M307.9,341 L307.9,343 M316.8,341 L316.8,343 M325.7,341 L325.7,343 M343.5,341 L343.5,343 M352.4,341 L352.4,343 M361.3,341 L361.3,343 M370.2,341 L370.2,343 M388,341 L388,343 M396.9,341 L396.9,343 M405.8,341 L405.8,343 M414.7,341 L414.7,343 M432.6,341 L432.6,343 M441.5,341 L441.5,343 M450.4,341 L450.4,343 M459.3,341 L459.3,343 M477.1,341 L477.1,343 M486,341 L486,343 M494.9,341 L494.9,343 M503.8,341 L503.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,341 L67.4,341 M62.4,309.2 L67.4,309.2 M62.4,277.4 L67.4,277.4 M62.4,245.6 L67.4,245.6 M62.4,213.9 L67.4,213.9 M62.4,182.1 L67.4,182.1 M62.4,150.3 L67.4,150.3 M62.4,118.5 L67.4,118.5 M62.4,86.73 L67.4,86.73 M62.4,341 L67.4,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M67.4,341 L67.4,346 M111.9,341 L111.9,346 M156.5,341 L156.5,346 M201,341 L201,346 M245.5,341 L245.5,346 M290.1,341 L290.1,346 M334.6,341 L334.6,346 M379.1,341 L379.1,346 M423.7,341 L423.7,346 M468.2,341 L468.2,346 M512.7,341 L512.7,346 M67.4,341 L67.4,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="111.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.1</text>
-<text x="156.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.2</text>
-<text x="201" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.3</text>
-<text x="245.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.4</text>
-<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="334.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.6</text>
-<text x="379.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.7</text>
-<text x="423.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.8</text>
-<text x="468.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.9</text>
-<text x="512.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="56.4" y="311.6" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="56.4" y="279.8" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="56.4" y="248" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="56.4" y="216.3" text-anchor="end" font-size="12" font-family="Verdana">4</text>
-<text x="56.4" y="184.5" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="56.4" y="152.7" text-anchor="end" font-size="12" font-family="Verdana">6</text>
-<text x="56.4" y="120.9" text-anchor="end" font-size="12" font-family="Verdana">7</text>
-<text x="56.4" y="89.13" text-anchor="end" font-size="12" font-family="Verdana">8</text>
-<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="290.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,340.9 L109.7,340.9 L111.9,340.9 L114.2,340.8 L116.4,340.7 L118.6,340.6 L120.8,340.5 L123.1,340.3 L125.3,340.1 L127.5,339.8 L129.7,339.4 L132,339 L134.2,338.5 L136.4,338 L138.7,337.3 L140.9,336.5 L143.1,335.6 L145.3,334.5 L147.6,333.3 L149.8,332 L152,330.5 L154.2,328.8 L156.5,327 L158.7,324.9 L160.9,322.7 L163.1,320.4 L165.4,317.8 L167.6,315 L169.8,312.1 L172.1,309 L174.3,305.7 L176.5,302.2 L178.7,298.6 L181,294.9 L183.2,291 L185.4,287.1 L187.6,283 L189.9,278.8 L192.1,274.7 L194.3,270.4 L196.5,266.2 L198.8,262 L201,257.8 L203.2,253.7 L205.4,249.6 L207.7,245.7 L209.9,241.9 L212.1,238.2 L214.4,234.7 L216.6,231.4 L218.8,228.4 L221,225.5 L223.3,222.9 L225.5,220.6 L227.7,218.5 L229.9,216.8 L232.2,215.3 L234.4,214.1 L236.6,213.3 L238.8,212.7 L241.1,212.5 L243.3,212.6 L245.5,212.9 L247.8,213.6 L250,214.6 L252.2,215.9 L254.4,217.4 L256.7,219.2 L258.9,221.3 L261.1,223.6 L263.3,226.1 L265.6,228.8 L267.8,231.7 L270,234.7 L272.2,237.9 L274.5,241.3 L276.7,244.7 L278.9,248.3 L281.2,251.9 L283.4,255.6 L285.6,259.3 L287.8,263 L290.1,266.7 L292.3,270.4 L294.5,274.1 L296.7,277.7 L299,281.3 L301.2,284.8 L303.4,288.2 L305.6,291.5 L307.9,294.8 L310.1,297.9 L312.3,300.9 L314.6,303.8 L316.8,306.6 L319,309.2 L321.2,311.7 L323.5,314.1 L325.7,316.4 L327.9,318.5 L330.1,320.5 L332.4,322.4 L334.6,324.1 L336.8,325.8 L339,327.3 L341.3,328.7 L343.5,330 L345.7,331.1 L348,332.2 L350.2,333.2 L352.4,334.1 L354.6,334.9 L356.9,335.7 L359.1,336.3 L361.3,336.9 L363.5,337.4 L365.8,337.9 L368,338.3 L370.2,338.7 L372.4,339 L374.7,339.3 L376.9,339.6 L379.1,339.8 L381.4,340 L383.6,340.1 L385.8,340.3 L388,340.4 L390.3,340.5 L392.5,340.6 L394.7,340.7 L396.9,340.7 L399.2,340.8 L401.4,340.8 L403.6,340.9 L405.8,340.9 L408.1,340.9 L410.3,340.9 L412.5,340.9 L414.7,341 L417,341 L419.2,341 L421.4,341 L423.7,341 L425.9,341 L428.1,341 L430.3,341 L432.6,341 L434.8,341 L437,341 L439.2,341 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,340.9 L111.9,340.9 L114.2,340.9 L116.4,340.8 L118.6,340.7 L120.8,340.6 L123.1,340.5 L125.3,340.3 L127.5,340.1 L129.7,339.9 L132,339.6 L134.2,339.2 L136.4,338.8 L138.7,338.2 L140.9,337.6 L143.1,336.9 L145.3,336.1 L147.6,335.2 L149.8,334.1 L152,332.9 L154.2,331.6 L156.5,330.1 L158.7,328.4 L160.9,326.6 L163.1,324.6 L165.4,322.5 L167.6,320.2 L169.8,317.7 L172.1,315 L174.3,312.2 L176.5,309.1 L178.7,306 L181,302.6 L183.2,299.2 L185.4,295.6 L187.6,291.8 L189.9,288 L192.1,284.1 L194.3,280.1 L196.5,276 L198.8,271.9 L201,267.8 L203.2,263.7 L205.4,259.7 L207.7,255.6 L209.9,251.7 L212.1,247.8 L214.4,244.1 L216.6,240.5 L218.8,237 L221,233.7 L223.3,230.6 L225.5,227.8 L227.7,225.1 L229.9,222.7 L232.2,220.6 L234.4,218.7 L236.6,217.2 L238.8,215.9 L241.1,214.9 L243.3,214.2 L245.5,213.8 L247.8,213.7 L250,213.9 L252.2,214.4 L254.4,215.2 L256.7,216.3 L258.9,217.6 L261.1,219.2 L263.3,221.1 L265.6,223.2 L267.8,225.6 L270,228.1 L272.2,230.9 L274.5,233.8 L276.7,236.9 L278.9,240.1 L281.2,243.4 L283.4,246.9 L285.6,250.4 L287.8,254 L290.1,257.6 L292.3,261.3 L294.5,265 L296.7,268.7 L299,272.4 L301.2,276 L303.4,279.6 L305.6,283.1 L307.9,286.6 L310.1,290 L312.3,293.2 L314.6,296.4 L316.8,299.5 L319,302.4 L321.2,305.3 L323.5,308 L325.7,310.6 L327.9,313.1 L330.1,315.4 L332.4,317.6 L334.6,319.7 L336.8,321.6 L339,323.4 L341.3,325.1 L343.5,326.7 L345.7,328.1 L348,329.5 L350.2,330.7 L352.4,331.8 L354.6,332.9 L356.9,333.8 L359.1,334.7 L361.3,335.4 L363.5,336.1 L365.8,336.8 L368,337.3 L370.2,337.8 L372.4,338.3 L374.7,338.6 L376.9,339 L379.1,339.3 L381.4,339.5 L383.6,339.8 L385.8,340 L388,340.1 L390.3,340.3 L392.5,340.4 L394.7,340.5 L396.9,340.6 L399.2,340.7 L401.4,340.7 L403.6,340.8 L405.8,340.8 L408.1,340.9 L410.3,340.9 L412.5,340.9 L414.7,340.9 L417,340.9 L419.2,341 L421.4,341 L423.7,341 L425.9,341 L428.1,341 L430.3,341 L432.6,341 L434.8,341 L437,341 L439.2,341 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,340.9 L120.8,340.9 L123.1,340.9 L125.3,340.8 L127.5,340.8 L129.7,340.7 L132,340.6 L134.2,340.5 L136.4,340.4 L138.7,340.2 L140.9,340 L143.1,339.7 L145.3,339.5 L147.6,339.1 L149.8,338.7 L152,338.3 L154.2,337.7 L156.5,337.1 L158.7,336.4 L160.9,335.7 L163.1,334.8 L165.4,333.8 L167.6,332.7 L169.8,331.5 L172.1,330.2 L174.3,328.7 L176.5,327.1 L178.7,325.4 L181,323.5 L183.2,321.4 L185.4,319.3 L187.6,316.9 L189.9,314.5 L192.1,311.9 L194.3,309.1 L196.5,306.2 L198.8,303.2 L201,300 L203.2,296.7 L205.4,293.3 L207.7,289.8 L209.9,286.2 L212.1,282.6 L214.4,278.8 L216.6,275.1 L218.8,271.3 L221,267.4 L223.3,263.6 L225.5,259.8 L227.7,256.1 L229.9,252.4 L232.2,248.8 L234.4,245.2 L236.6,241.8 L238.8,238.6 L241.1,235.5 L243.3,232.5 L245.5,229.8 L247.8,227.2 L250,224.9 L252.2,222.8 L254.4,221 L256.7,219.4 L258.9,218 L261.1,217 L263.3,216.2 L265.6,215.7 L267.8,215.5 L270,215.6 L272.2,216 L274.5,216.6 L276.7,217.6 L278.9,218.8 L281.2,220.3 L283.4,222 L285.6,224 L287.8,226.2 L290.1,228.6 L292.3,231.3 L294.5,234.1 L296.7,237.1 L299,240.2 L301.2,243.5 L303.4,246.9 L305.6,250.4 L307.9,254 L310.1,257.7 L312.3,261.4 L314.6,265.1 L316.8,268.8 L319,272.5 L321.2,276.2 L323.5,279.9 L325.7,283.5 L327.9,287 L330.1,290.5 L332.4,293.8 L334.6,297.1 L336.8,300.3 L339,303.3 L341.3,306.2 L343.5,309 L345.7,311.6 L348,314.1 L350.2,316.5 L352.4,318.8 L354.6,320.9 L356.9,322.8 L359.1,324.6 L361.3,326.3 L363.5,327.9 L365.8,329.3 L368,330.7 L370.2,331.9 L372.4,333 L374.7,334 L376.9,334.9 L379.1,335.7 L381.4,336.4 L383.6,337 L385.8,337.6 L388,338.1 L390.3,338.5 L392.5,338.9 L394.7,339.2 L396.9,339.5 L399.2,339.8 L401.4,340 L403.6,340.2 L405.8,340.3 L408.1,340.5 L410.3,340.6 L412.5,340.6 L414.7,340.7 L417,340.8 L419.2,340.8 L421.4,340.9 L423.7,340.9 L425.9,340.9 L428.1,340.9 L430.3,341 L432.6,341 L434.8,341 L437,341 L439.2,341 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,341 L120.8,341 L123.1,341 L125.3,341 L127.5,341 L129.7,340.9 L132,340.9 L134.2,340.9 L136.4,340.9 L138.7,340.8 L140.9,340.8 L143.1,340.7 L145.3,340.7 L147.6,340.6 L149.8,340.5 L152,340.3 L154.2,340.2 L156.5,340 L158.7,339.8 L160.9,339.5 L163.1,339.3 L165.4,338.9 L167.6,338.6 L169.8,338.1 L172.1,337.6 L174.3,337.1 L176.5,336.4 L178.7,335.7 L181,335 L183.2,334.1 L185.4,333.1 L187.6,332 L189.9,330.9 L192.1,329.6 L194.3,328.2 L196.5,326.6 L198.8,325 L201,323.2 L203.2,321.3 L205.4,319.3 L207.7,317.1 L209.9,314.8 L212.1,312.3 L214.4,309.7 L216.6,307 L218.8,304.1 L221,301.1 L223.3,298 L225.5,294.8 L227.7,291.4 L229.9,288 L232.2,284.5 L234.4,280.9 L236.6,277.2 L238.8,273.5 L241.1,269.8 L243.3,266 L245.5,262.2 L247.8,258.5 L250,254.8 L252.2,251.1 L254.4,247.5 L256.7,244 L258.9,240.6 L261.1,237.3 L263.3,234.2 L265.6,231.2 L267.8,228.4 L270,225.8 L272.2,223.4 L274.5,221.3 L276.7,219.4 L278.9,217.8 L281.2,216.4 L283.4,215.3 L285.6,214.5 L287.8,214 L290.1,213.8 L292.3,213.9 L294.5,214.3 L296.7,215 L299,216 L301.2,217.3 L303.4,218.9 L305.6,220.7 L307.9,222.9 L310.1,225.2 L312.3,227.8 L314.6,230.7 L316.8,233.7 L319,236.9 L321.2,240.3 L323.5,243.8 L325.7,247.5 L327.9,251.3 L330.1,255.1 L332.4,259 L334.6,263 L336.8,267 L339,270.9 L341.3,274.9 L343.5,278.8 L345.7,282.7 L348,286.5 L350.2,290.2 L352.4,293.9 L354.6,297.4 L356.9,300.7 L359.1,304 L361.3,307.1 L363.5,310 L365.8,312.8 L368,315.5 L370.2,318 L372.4,320.3 L374.7,322.5 L376.9,324.5 L379.1,326.3 L381.4,328 L383.6,329.6 L385.8,331 L388,332.3 L390.3,333.4 L392.5,334.5 L394.7,335.4 L396.9,336.2 L399.2,336.9 L401.4,337.6 L403.6,338.1 L405.8,338.6 L408.1,339 L410.3,339.4 L412.5,339.7 L414.7,339.9 L417,340.1 L419.2,340.3 L421.4,340.5 L423.7,340.6 L425.9,340.7 L428.1,340.7 L430.3,340.8 L432.6,340.9 L434.8,340.9 L437,340.9 L439.2,340.9 L441.5,341 L443.7,341 L445.9,341 L448.1,341 L450.4,341 L452.6,341 L454.8,341 L457.1,341 L459.3,341 L461.5,341 L463.7,341 L466,341 L468.2,341 L470.4,341 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,341 L120.8,341 L123.1,341 L125.3,341 L127.5,341 L129.7,341 L132,341 L134.2,341 L136.4,341 L138.7,341 L140.9,341 L143.1,341 L145.3,341 L147.6,341 L149.8,341 L152,341 L154.2,341 L156.5,341 L158.7,341 L160.9,341 L163.1,341 L165.4,341 L167.6,341 L169.8,341 L172.1,341 L174.3,341 L176.5,341 L178.7,341 L181,341 L183.2,341 L185.4,341 L187.6,341 L189.9,341 L192.1,341 L194.3,341 L196.5,341 L198.8,341 L201,341 L203.2,341 L205.4,341 L207.7,340.9 L209.9,340.9 L212.1,340.9 L214.4,340.9 L216.6,340.9 L218.8,340.8 L221,340.8 L223.3,340.8 L225.5,340.7 L227.7,340.7 L229.9,340.6 L232.2,340.5 L234.4,340.4 L236.6,340.3 L238.8,340.2 L241.1,340 L243.3,339.8 L245.5,339.6 L247.8,339.4 L250,339.1 L252.2,338.8 L254.4,338.4 L256.7,338 L258.9,337.6 L261.1,337 L263.3,336.4 L265.6,335.7 L267.8,335 L270,334.1 L272.2,333.1 L274.5,332.1 L276.7,330.9 L278.9,329.5 L281.2,328.1 L283.4,326.4 L285.6,324.6 L287.8,322.7 L290.1,320.6 L292.3,318.2 L294.5,315.7 L296.7,313 L299,310 L301.2,306.9 L303.4,303.5 L305.6,299.9 L307.9,296 L310.1,292 L312.3,287.7 L314.6,283.2 L316.8,278.4 L319,273.5 L321.2,268.4 L323.5,263.2 L325.7,257.8 L327.9,252.3 L330.1,246.7 L332.4,241 L334.6,235.3 L336.8,229.6 L339,224 L341.3,218.5 L343.5,213.2 L345.7,208 L348,203.1 L350.2,198.5 L352.4,194.2 L354.6,190.4 L356.9,187 L359.1,184 L361.3,181.6 L363.5,179.8 L365.8,178.5 L368,177.9 L370.2,178 L372.4,178.7 L374.7,180.1 L376.9,182.2 L379.1,184.9 L381.4,188.3 L383.6,192.3 L385.8,196.9 L388,202.1 L390.3,207.7 L392.5,213.8 L394.7,220.2 L396.9,227 L399.2,234 L401.4,241.2 L403.6,248.5 L405.8,255.7 L408.1,263 L410.3,270.1 L412.5,277 L414.7,283.7 L417,290.1 L419.2,296.1 L421.4,301.7 L423.7,307 L425.9,311.8 L428.1,316.2 L430.3,320.1 L432.6,323.6 L434.8,326.7 L437,329.4 L439.2,331.6 L441.5,333.6 L443.7,335.2 L445.9,336.5 L448.1,337.6 L450.4,338.5 L452.6,339.2 L454.8,339.7 L457.1,340.1 L459.3,340.4 L461.5,340.6 L463.7,340.7 L466,340.8 L468.2,340.9 L470.4,340.9 L472.6,341 L474.9,341 L477.1,341 L479.3,341 L481.5,341 L483.8,341 L486,341 L488.2,341 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,341 L69.63,341 L71.85,341 L74.08,341 L76.31,341 L78.53,341 L80.76,341 L82.99,341 L85.21,341 L87.44,341 L89.67,341 L91.89,341 L94.12,341 L96.35,341 L98.57,341 L100.8,341 L103,341 L105.3,341 L107.5,341 L109.7,341 L111.9,341 L114.2,341 L116.4,341 L118.6,341 L120.8,341 L123.1,341 L125.3,341 L127.5,341 L129.7,341 L132,341 L134.2,341 L136.4,341 L138.7,341 L140.9,341 L143.1,341 L145.3,341 L147.6,341 L149.8,341 L152,341 L154.2,341 L156.5,341 L158.7,341 L160.9,341 L163.1,341 L165.4,341 L167.6,341 L169.8,341 L172.1,341 L174.3,341 L176.5,341 L178.7,341 L181,341 L183.2,341 L185.4,341 L187.6,341 L189.9,341 L192.1,341 L194.3,341 L196.5,341 L198.8,341 L201,341 L203.2,341 L205.4,341 L207.7,341 L209.9,341 L212.1,341 L214.4,341 L216.6,341 L218.8,341 L221,341 L223.3,341 L225.5,341 L227.7,341 L229.9,341 L232.2,341 L234.4,341 L236.6,341 L238.8,341 L241.1,341 L243.3,341 L245.5,341 L247.8,341 L250,341 L252.2,341 L254.4,341 L256.7,341 L258.9,341 L261.1,341 L263.3,341 L265.6,341 L267.8,341 L270,341 L272.2,341 L274.5,341 L276.7,341 L278.9,341 L281.2,341 L283.4,341 L285.6,341 L287.8,341 L290.1,341 L292.3,341 L294.5,341 L296.7,341 L299,341 L301.2,341 L303.4,341 L305.6,341 L307.9,341 L310.1,340.9 L312.3,340.9 L314.6,340.9 L316.8,340.9 L319,340.8 L321.2,340.8 L323.5,340.7 L325.7,340.7 L327.9,340.6 L330.1,340.5 L332.4,340.3 L334.6,340.1 L336.8,339.9 L339,339.6 L341.3,339.3 L343.5,338.9 L345.7,338.4 L348,337.8 L350.2,337.1 L352.4,336.2 L354.6,335.1 L356.9,333.9 L359.1,332.4 L361.3,330.6 L363.5,328.6 L365.8,326.1 L368,323.3 L370.2,320 L372.4,316.2 L374.7,311.9 L376.9,306.9 L379.1,301.3 L381.4,294.9 L383.6,287.9 L385.8,280 L388,271.3 L390.3,261.8 L392.5,251.4 L394.7,240.3 L396.9,228.5 L399.2,216 L401.4,202.9 L403.6,189.5 L405.8,175.8 L408.1,162.1 L410.3,148.7 L412.5,135.7 L414.7,123.5 L417,112.4 L419.2,102.7 L421.4,94.67 L423.7,88.68 L425.9,84.96 L428.1,83.73 L430.3,85.15 L432.6,89.3 L434.8,96.2 L437,105.8 L439.2,117.8 L441.5,132 L443.7,148.2 L445.9,165.7 L448.1,184.2 L450.4,203.1 L452.6,222 L454.8,240.3 L457.1,257.6 L459.3,273.5 L461.5,287.7 L463.7,300 L466,310.4 L468.2,318.9 L470.4,325.6 L472.6,330.7 L474.9,334.4 L477.1,336.9 L479.3,338.7 L481.5,339.7 L483.8,340.4 L486,340.7 L488.2,340.9 L490.5,341 L492.7,341 L494.9,341 L497.1,341 L499.4,341 L501.6,341 L503.8,341 L506,341 L508.3,341 L510.5,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="526.7" y="58" width="197.3" height="195"/><rect x="526.7" y="58" width="197.3" height="195"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="88" x2="556.7" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="118" x2="556.7" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="148" x2="556.7" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="178" x2="556.7" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="208" x2="556.7" y2="208"/></g>
-<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="541.7" y1="238" x2="556.7" y2="238"/></g>
-</g>
-<g id="legendText">
-<text x="564.2" y="88" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=0</text>
-<text x="564.2" y="118" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=1</text>
-<text x="564.2" y="148" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=5</text>
-<text x="564.2" y="178" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=10</text>
-<text x="564.2" y="208" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=40</text>
-<text x="564.2" y="238" font-size="15" font-family="Verdana">&#x3B1;=10, &#x3B2;=15, &#x3B4;=100</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central Beta PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.svg b/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.svg
deleted file mode 100644
index 5988e07f5e..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/nc_f_pdf.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="410.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="412.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="497" y2="341"/><line x1="79.2" y1="341" x2="497" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.8 L84.2,334.8 M82.2,328.7 L84.2,328.7 M82.2,322.5 L84.2,322.5 M82.2,316.3 L84.2,316.3 M82.2,304 L84.2,304 M82.2,297.9 L84.2,297.9 M82.2,291.7 L84.2,291.7 M82.2,285.5 L84.2,285.5 M82.2,273.2 L84.2,273.2 M82.2,267 L84.2,267 M82.2,260.9 L84.2,260.9 M82.2,254.7 L84.2,254.7 M82.2,242.4 L84.2,242.4 M82.2,236.2 L84.2,236.2 M82.2,230.1 L84.2,230.1 M82.2,223.9 L84.2,223.9 M82.2,211.6 L84.2,211.6 M82.2,205.4 L84.2,205.4 M82.2,199.2 L84.2,199.2 M82.2,193.1 L84.2,193.1 M82.2,180.7 L84.2,180.7 M82.2,174.6 L84.2,174.6 M82.2,168.4 L84.2,168.4 M82.2,162.3 L84.2,162.3 M82.2,149.9 L84.2,149.9 M82.2,143.8 L84.2,143.8 M82.2,137.6 L84.2,137.6 M82.2,131.4 L84.2,131.4 M82.2,119.1 L84.2,119.1 M82.2,112.9 L84.2,112.9 M82.2,106.8 L84.2,106.8 M82.2,100.6 L84.2,100.6 M82.2,88.3 L84.2,88.3 M82.2,82.13 L84.2,82.13 M82.2,75.97 L84.2,75.97 M82.2,69.8 L84.2,69.8 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M100.9,341 L100.9,343 M117.5,341 L117.5,343 M134.2,341 L134.2,343 M150.8,341 L150.8,343 M184.1,341 L184.1,343 M200.8,341 L200.8,343 M217.5,341 L217.5,343 M234.1,341 L234.1,343 M267.4,341 L267.4,343 M284.1,341 L284.1,343 M300.8,341 L300.8,343 M317.4,341 L317.4,343 M350.7,341 L350.7,343 M367.4,341 L367.4,343 M384,341 L384,343 M400.7,341 L400.7,343 M434,341 L434,343 M450.7,341 L450.7,343 M467.3,341 L467.3,343 M484,341 L484,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,310.2 L84.2,310.2 M79.2,279.4 L84.2,279.4 M79.2,248.5 L84.2,248.5 M79.2,217.7 L84.2,217.7 M79.2,186.9 L84.2,186.9 M79.2,156.1 L84.2,156.1 M79.2,125.3 L84.2,125.3 M79.2,94.46 L84.2,94.46 M79.2,63.64 L84.2,63.64 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M167.5,341 L167.5,346 M250.8,341 L250.8,346 M334.1,341 L334.1,346 M417.4,341 L417.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="167.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="250.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="334.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="417.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="312.6" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="281.8" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="250.9" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="220.1" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="189.3" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="158.5" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="127.7" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="96.86" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="66.04" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="290.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.26,331.8 L88.33,277.9 L90.39,198.3 L92.46,130.9 L94.52,93 L96.59,83.91 L98.65,95.48 L100.7,119 L102.8,147.5 L104.8,176.7 L106.9,204 L109,228.3 L111,249 L113.1,266.4 L115.2,280.8 L117.2,292.5 L119.3,301.9 L121.4,309.6 L123.4,315.7 L125.5,320.6 L127.5,324.5 L129.6,327.7 L131.7,330.2 L133.7,332.2 L135.8,333.9 L137.9,335.2 L139.9,336.2 L142,337.1 L144.1,337.8 L146.1,338.4 L148.2,338.8 L150.3,339.2 L152.3,339.5 L154.4,339.7 L156.4,340 L158.5,340.1 L160.6,340.3 L162.6,340.4 L164.7,340.5 L166.8,340.6 L168.8,340.6 L170.9,340.7 L173,340.7 L175,340.8 L177.1,340.8 L179.2,340.8 L181.2,340.9 L183.3,340.9 L185.3,340.9 L187.4,340.9 L189.5,340.9 L191.5,340.9 L193.6,340.9 L195.7,340.9 L197.7,341 L199.8,341 L201.9,341 L203.9,341 L206,341 L208.1,341 L210.1,341 L212.2,341 L214.2,341 L216.3,341 L218.4,341 L220.4,341 L222.5,341 L224.6,341 L226.6,341 L228.7,341 L230.8,341 L232.8,341 L234.9,341 L237,341 L239,341 L241.1,341 L243.1,341 L245.2,341 L247.3,341 L249.3,341 L251.4,341 L253.5,341 L255.5,341 L257.6,341 L259.7,341 L261.7,341 L263.8,341 L265.8,341 L267.9,341 L270,341 L272,341 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.26,334.9 L88.33,295.9 L90.39,231.8 L92.46,170.1 L94.52,127.9 L96.59,108.9 L98.65,109.1 L100.7,122.4 L102.8,143.2 L104.8,167.1 L106.9,191.3 L109,214 L111,234.5 L113.1,252.4 L115.2,267.7 L117.2,280.6 L119.3,291.4 L121.4,300.2 L123.4,307.6 L125.5,313.6 L127.5,318.5 L129.6,322.5 L131.7,325.8 L133.7,328.5 L135.8,330.7 L137.9,332.5 L139.9,333.9 L142,335.1 L144.1,336.1 L146.1,336.9 L148.2,337.6 L150.3,338.2 L152.3,338.6 L154.4,339 L156.4,339.3 L158.5,339.6 L160.6,339.8 L162.6,340 L164.7,340.1 L166.8,340.3 L168.8,340.4 L170.9,340.5 L173,340.5 L175,340.6 L177.1,340.7 L179.2,340.7 L181.2,340.7 L183.3,340.8 L185.3,340.8 L187.4,340.8 L189.5,340.9 L191.5,340.9 L193.6,340.9 L195.7,340.9 L197.7,340.9 L199.8,340.9 L201.9,340.9 L203.9,340.9 L206,341 L208.1,341 L210.1,341 L212.2,341 L214.2,341 L216.3,341 L218.4,341 L220.4,341 L222.5,341 L224.6,341 L226.6,341 L228.7,341 L230.8,341 L232.8,341 L234.9,341 L237,341 L239,341 L241.1,341 L243.1,341 L245.2,341 L247.3,341 L249.3,341 L251.4,341 L253.5,341 L255.5,341 L257.6,341 L259.7,341 L261.7,341 L263.8,341 L265.8,341 L267.9,341 L270,341 L272,341 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.26,339.8 L88.33,329.6 L90.39,305.4 L92.46,271.8 L94.52,236.5 L96.59,206 L98.65,183.7 L100.7,170.8 L102.8,166.4 L104.8,168.9 L106.9,176.5 L109,187.4 L111,200.2 L113.1,213.8 L115.2,227.4 L117.2,240.5 L119.3,252.7 L121.4,263.9 L123.4,273.9 L125.5,282.9 L127.5,290.8 L129.6,297.7 L131.7,303.7 L133.7,308.9 L135.8,313.4 L137.9,317.3 L139.9,320.6 L142,323.5 L144.1,325.9 L146.1,328 L148.2,329.8 L150.3,331.4 L152.3,332.7 L154.4,333.8 L156.4,334.8 L158.5,335.6 L160.6,336.4 L162.6,337 L164.7,337.5 L166.8,338 L168.8,338.4 L170.9,338.7 L173,339 L175,339.2 L177.1,339.5 L179.2,339.7 L181.2,339.8 L183.3,340 L185.3,340.1 L187.4,340.2 L189.5,340.3 L191.5,340.4 L193.6,340.4 L195.7,340.5 L197.7,340.6 L199.8,340.6 L201.9,340.7 L203.9,340.7 L206,340.7 L208.1,340.8 L210.1,340.8 L212.2,340.8 L214.2,340.8 L216.3,340.8 L218.4,340.9 L220.4,340.9 L222.5,340.9 L224.6,340.9 L226.6,340.9 L228.7,340.9 L230.8,340.9 L232.8,340.9 L234.9,340.9 L237,340.9 L239,341 L241.1,341 L243.1,341 L245.2,341 L247.3,341 L249.3,341 L251.4,341 L253.5,341 L255.5,341 L257.6,341 L259.7,341 L261.7,341 L263.8,341 L265.8,341 L267.9,341 L270,341 L272,341 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.26,340.9 L88.33,339 L90.39,333 L92.46,321.3 L94.52,304.5 L96.59,284.6 L98.65,264.1 L100.7,245.2 L102.8,229.3 L104.8,217.4 L106.9,209.7 L109,205.9 L111,205.7 L113.1,208.2 L115.2,213 L117.2,219.5 L119.3,226.9 L121.4,235 L123.4,243.3 L125.5,251.6 L127.5,259.7 L129.6,267.4 L131.7,274.7 L133.7,281.5 L135.8,287.7 L137.9,293.3 L139.9,298.5 L142,303.2 L144.1,307.4 L146.1,311.1 L148.2,314.5 L150.3,317.5 L152.3,320.1 L154.4,322.5 L156.4,324.6 L158.5,326.4 L160.6,328.1 L162.6,329.6 L164.7,330.8 L166.8,332 L168.8,333 L170.9,333.9 L173,334.7 L175,335.4 L177.1,336 L179.2,336.5 L181.2,337 L183.3,337.5 L185.3,337.8 L187.4,338.2 L189.5,338.5 L191.5,338.7 L193.6,339 L195.7,339.2 L197.7,339.4 L199.8,339.5 L201.9,339.7 L203.9,339.8 L206,339.9 L208.1,340 L210.1,340.1 L212.2,340.2 L214.2,340.3 L216.3,340.4 L218.4,340.4 L220.4,340.5 L222.5,340.5 L224.6,340.6 L226.6,340.6 L228.7,340.7 L230.8,340.7 L232.8,340.7 L234.9,340.7 L237,340.8 L239,340.8 L241.1,340.8 L243.1,340.8 L245.2,340.8 L247.3,340.9 L249.3,340.9 L251.4,340.9 L253.5,340.9 L255.5,340.9 L257.6,340.9 L259.7,340.9 L261.7,340.9 L263.8,340.9 L265.8,340.9 L267.9,340.9 L270,340.9 L272,340.9 L274.1,341 L276.2,341 L278.2,341 L280.3,341 L282.4,341 L284.4,341 L286.5,341 L288.6,341 L290.6,341 L292.7,341 L294.7,341 L296.8,341 L298.9,341 L300.9,341 L303,341 L305.1,341 L307.1,341 L309.2,341 L311.3,341 L313.3,341 L315.4,341 L317.5,341 L319.5,341 L321.6,341 L323.6,341 L325.7,341 L327.8,341 L329.8,341 L331.9,341 L334,341 L336,341 L338.1,341 L340.2,341 L342.2,341 L344.3,341 L346.4,341 L348.4,341 L350.5,341 L352.5,341 L354.6,341 L356.7,341 L358.7,341 L360.8,341 L362.9,341 L364.9,341 L367,341 L369.1,341 L371.1,341 L373.2,341 L375.3,341 L377.3,341 L379.4,341 L381.4,341 L383.5,341 L385.6,341 L387.6,341 L389.7,341 L391.8,341 L393.8,341 L395.9,341 L398,341 L400,341 L402.1,341 L404.2,341 L406.2,341 L408.3,341 L410.3,341 L412.4,341 L414.5,341 L416.5,341 L418.6,341 L420.7,341 L422.7,341 L424.8,341 L426.9,341 L428.9,341 L431,341 L433,341 L435.1,341 L437.2,341 L439.2,341 L441.3,341 L443.4,341 L445.4,341 L447.5,341 L449.6,341 L451.6,341 L453.7,341 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.26,341 L88.33,341 L90.39,341 L92.46,341 L94.52,341 L96.59,341 L98.65,340.9 L100.7,340.7 L102.8,340.4 L104.8,339.8 L106.9,339 L109,337.8 L111,336.2 L113.1,334.1 L115.2,331.5 L117.2,328.6 L119.3,325.2 L121.4,321.5 L123.4,317.5 L125.5,313.4 L127.5,309.2 L129.6,305 L131.7,301 L133.7,297.1 L135.8,293.5 L137.9,290.2 L139.9,287.3 L142,284.7 L144.1,282.6 L146.1,280.8 L148.2,279.5 L150.3,278.5 L152.3,277.9 L154.4,277.7 L156.4,277.8 L158.5,278.1 L160.6,278.8 L162.6,279.7 L164.7,280.7 L166.8,282 L168.8,283.4 L170.9,285 L173,286.6 L175,288.3 L177.1,290.1 L179.2,291.9 L181.2,293.8 L183.3,295.7 L185.3,297.5 L187.4,299.3 L189.5,301.2 L191.5,303 L193.6,304.7 L195.7,306.4 L197.7,308.1 L199.8,309.7 L201.9,311.2 L203.9,312.7 L206,314.2 L208.1,315.6 L210.1,316.9 L212.2,318.2 L214.2,319.4 L216.3,320.5 L218.4,321.6 L220.4,322.7 L222.5,323.7 L224.6,324.6 L226.6,325.5 L228.7,326.4 L230.8,327.2 L232.8,328 L234.9,328.7 L237,329.4 L239,330.1 L241.1,330.7 L243.1,331.3 L245.2,331.8 L247.3,332.3 L249.3,332.8 L251.4,333.3 L253.5,333.7 L255.5,334.1 L257.6,334.5 L259.7,334.9 L261.7,335.2 L263.8,335.6 L265.8,335.9 L267.9,336.1 L270,336.4 L272,336.7 L274.1,336.9 L276.2,337.1 L278.2,337.4 L280.3,337.6 L282.4,337.8 L284.4,337.9 L286.5,338.1 L288.6,338.3 L290.6,338.4 L292.7,338.6 L294.7,338.7 L296.8,338.8 L298.9,338.9 L300.9,339.1 L303,339.2 L305.1,339.3 L307.1,339.3 L309.2,339.4 L311.3,339.5 L313.3,339.6 L315.4,339.7 L317.5,339.7 L319.5,339.8 L321.6,339.9 L323.6,339.9 L325.7,340 L327.8,340 L329.8,340.1 L331.9,340.1 L334,340.2 L336,340.2 L338.1,340.3 L340.2,340.3 L342.2,340.3 L344.3,340.4 L346.4,340.4 L348.4,340.4 L350.5,340.5 L352.5,340.5 L354.6,340.5 L356.7,340.5 L358.7,340.6 L360.8,340.6 L362.9,340.6 L364.9,340.6 L367,340.6 L369.1,340.7 L371.1,340.7 L373.2,340.7 L375.3,340.7 L377.3,340.7 L379.4,340.7 L381.4,340.7 L383.5,340.8 L385.6,340.8 L387.6,340.8 L389.7,340.8 L391.8,340.8 L393.8,340.8 L395.9,340.8 L398,340.8 L400,340.8 L402.1,340.8 L404.2,340.9 L406.2,340.9 L408.3,340.9 L410.3,340.9 L412.4,340.9 L414.5,340.9 L416.5,340.9 L418.6,340.9 L420.7,340.9 L422.7,340.9 L424.8,340.9 L426.9,340.9 L428.9,340.9 L431,340.9 L433,340.9 L435.1,340.9 L437.2,340.9 L439.2,340.9 L441.3,340.9 L443.4,340.9 L445.4,340.9 L447.5,340.9 L449.6,340.9 L451.6,340.9 L453.7,340.9 L455.8,341 L457.8,341 L459.9,341 L461.9,341 L464,341 L466.1,341 L468.1,341 L470.2,341 L472.3,341 L474.3,341 L476.4,341 L478.5,341 L480.5,341 L482.6,341 L484.7,341 L486.7,341 L488.8,341 L490.8,341 L492.9,341 L495,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.26,341 L88.33,341 L90.39,341 L92.46,341 L94.52,341 L96.59,341 L98.65,341 L100.7,341 L102.8,341 L104.8,341 L106.9,341 L109,341 L111,341 L113.1,341 L115.2,341 L117.2,341 L119.3,341 L121.4,341 L123.4,341 L125.5,341 L127.5,341 L129.6,341 L131.7,340.9 L133.7,340.9 L135.8,340.9 L137.9,340.8 L139.9,340.7 L142,340.6 L144.1,340.5 L146.1,340.3 L148.2,340.1 L150.3,339.9 L152.3,339.6 L154.4,339.3 L156.4,338.9 L158.5,338.4 L160.6,337.9 L162.6,337.4 L164.7,336.7 L166.8,336.1 L168.8,335.3 L170.9,334.5 L173,333.7 L175,332.8 L177.1,331.9 L179.2,330.9 L181.2,329.9 L183.3,328.9 L185.3,327.9 L187.4,326.8 L189.5,325.7 L191.5,324.7 L193.6,323.6 L195.7,322.6 L197.7,321.5 L199.8,320.5 L201.9,319.5 L203.9,318.5 L206,317.6 L208.1,316.7 L210.1,315.9 L212.2,315.1 L214.2,314.3 L216.3,313.6 L218.4,312.9 L220.4,312.3 L222.5,311.7 L224.6,311.2 L226.6,310.8 L228.7,310.3 L230.8,310 L232.8,309.7 L234.9,309.4 L237,309.2 L239,309.1 L241.1,309 L243.1,308.9 L245.2,308.9 L247.3,308.9 L249.3,308.9 L251.4,309 L253.5,309.2 L255.5,309.3 L257.6,309.5 L259.7,309.8 L261.7,310 L263.8,310.3 L265.8,310.6 L267.9,310.9 L270,311.3 L272,311.6 L274.1,312 L276.2,312.4 L278.2,312.8 L280.3,313.3 L282.4,313.7 L284.4,314.2 L286.5,314.6 L288.6,315.1 L290.6,315.5 L292.7,316 L294.7,316.5 L296.8,317 L298.9,317.4 L300.9,317.9 L303,318.4 L305.1,318.9 L307.1,319.4 L309.2,319.8 L311.3,320.3 L313.3,320.8 L315.4,321.2 L317.5,321.7 L319.5,322.2 L321.6,322.6 L323.6,323 L325.7,323.5 L327.8,323.9 L329.8,324.3 L331.9,324.8 L334,325.2 L336,325.6 L338.1,326 L340.2,326.4 L342.2,326.7 L344.3,327.1 L346.4,327.5 L348.4,327.8 L350.5,328.2 L352.5,328.5 L354.6,328.9 L356.7,329.2 L358.7,329.5 L360.8,329.9 L362.9,330.2 L364.9,330.5 L367,330.8 L369.1,331 L371.1,331.3 L373.2,331.6 L375.3,331.9 L377.3,332.1 L379.4,332.4 L381.4,332.6 L383.5,332.9 L385.6,333.1 L387.6,333.3 L389.7,333.5 L391.8,333.7 L393.8,334 L395.9,334.2 L398,334.4 L400,334.6 L402.1,334.7 L404.2,334.9 L406.2,335.1 L408.3,335.3 L410.3,335.4 L412.4,335.6 L414.5,335.8 L416.5,335.9 L418.6,336.1 L420.7,336.2 L422.7,336.3 L424.8,336.5 L426.9,336.6 L428.9,336.7 L431,336.9 L433,337 L435.1,337.1 L437.2,337.2 L439.2,337.3 L441.3,337.4 L443.4,337.5 L445.4,337.6 L447.5,337.7 L449.6,337.8 L451.6,337.9 L453.7,338 L455.8,338.1 L457.8,338.2 L459.9,338.3 L461.9,338.4 L464,338.4 L466.1,338.5 L468.1,338.6 L470.2,338.6 L472.3,338.7 L474.3,338.8 L476.4,338.8 L478.5,338.9 L480.5,339 L482.6,339 L484.7,339.1 L486.7,339.1 L488.8,339.2 L490.8,339.2 L492.9,339.3 L495,339.3 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="511" y="58" width="213" height="195"/><rect x="511" y="58" width="213" height="195"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="88" x2="541" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="118" x2="541" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="148" x2="541" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="178" x2="541" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="208" x2="541" y2="208"/></g>
-<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="526" y1="238" x2="541" y2="238"/></g>
-</g>
-<g id="legendText">
-<text x="548.5" y="88" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=0</text>
-<text x="548.5" y="118" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=1</text>
-<text x="548.5" y="148" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=5</text>
-<text x="548.5" y="178" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=10</text>
-<text x="548.5" y="208" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=40</text>
-<text x="548.5" y="238" font-size="15" font-family="Verdana">v1=10, v2=20, &#x3BB;=100</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central F PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.svg b/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.svg
deleted file mode 100644
index f209e23724..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/nc_t_pdf.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="473.6" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="475.6" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="322" y1="58" x2="322" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="559.8" y2="341"/><line x1="79.2" y1="341" x2="559.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,327.8 L84.2,327.8 M82.2,314.6 L84.2,314.6 M82.2,301.3 L84.2,301.3 M82.2,288.1 L84.2,288.1 M82.2,261.7 L84.2,261.7 M82.2,248.4 L84.2,248.4 M82.2,235.2 L84.2,235.2 M82.2,222 L84.2,222 M82.2,195.5 L84.2,195.5 M82.2,182.3 L84.2,182.3 M82.2,169.1 L84.2,169.1 M82.2,155.9 L84.2,155.9 M82.2,129.4 L84.2,129.4 M82.2,116.2 L84.2,116.2 M82.2,103 L84.2,103 M82.2,89.75 L84.2,89.75 M82.2,63.3 L84.2,63.3 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M347.7,341 L347.7,343 M373.4,341 L373.4,343 M399.1,341 L399.1,343 M424.8,341 L424.8,343 M476.2,341 L476.2,343 M501.9,341 L501.9,343 M527.6,341 L527.6,343 M553.3,341 L553.3,343 M296.3,341 L296.3,343 M270.6,341 L270.6,343 M244.9,341 L244.9,343 M219.2,341 L219.2,343 M167.8,341 L167.8,343 M142.1,341 L142.1,343 M116.4,341 L116.4,343 M90.7,341 L90.7,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,274.9 L84.2,274.9 M79.2,208.8 L84.2,208.8 M79.2,142.6 L84.2,142.6 M79.2,76.53 L84.2,76.53 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M322,341 L322,346 M450.5,341 L450.5,346 M322,341 L322,346 M193.5,341 L193.5,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="450.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="322" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="193.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="277.3" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="211.2" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="145" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="78.93" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="322" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,335.6 L86.58,335.1 L88.96,334.7 L91.33,334.2 L93.71,333.6 L96.09,333 L98.47,332.4 L100.8,331.7 L103.2,331 L105.6,330.2 L108,329.3 L110.4,328.3 L112.7,327.3 L115.1,326.2 L117.5,325.1 L119.9,323.8 L122.2,322.4 L124.6,321 L127,319.4 L129.4,317.7 L131.8,315.9 L134.1,314 L136.5,312 L138.9,309.8 L141.3,307.4 L143.6,304.9 L146,302.3 L148.4,299.5 L150.8,296.6 L153.2,293.5 L155.5,290.3 L157.9,286.9 L160.3,283.4 L162.7,279.8 L165,276.1 L167.4,272.2 L169.8,268.3 L172.2,264.4 L174.6,260.5 L176.9,256.6 L179.3,252.8 L181.7,249.1 L184.1,245.7 L186.4,242.5 L188.8,239.6 L191.2,237.1 L193.6,235.1 L196,233.6 L198.3,232.8 L200.7,232.6 L203.1,233.3 L205.5,234.7 L207.8,237 L210.2,240.1 L212.6,244.1 L215,248.9 L217.4,254.5 L219.7,260.8 L222.1,267.6 L224.5,274.9 L226.9,282.4 L229.2,289.9 L231.6,297.4 L234,304.5 L236.4,311.2 L238.8,317.2 L241.1,322.6 L243.5,327.1 L245.9,330.9 L248.3,333.9 L250.6,336.2 L253,337.9 L255.4,339.1 L257.8,339.9 L260.2,340.4 L262.5,340.7 L264.9,340.8 L267.3,340.9 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,340.9 L91.33,340.9 L93.71,340.9 L96.09,340.9 L98.47,340.9 L100.8,340.9 L103.2,340.9 L105.6,340.9 L108,340.9 L110.4,340.9 L112.7,340.9 L115.1,340.8 L117.5,340.8 L119.9,340.8 L122.2,340.8 L124.6,340.8 L127,340.7 L129.4,340.7 L131.8,340.7 L134.1,340.6 L136.5,340.6 L138.9,340.5 L141.3,340.5 L143.6,340.4 L146,340.3 L148.4,340.2 L150.8,340.1 L153.2,340 L155.5,339.9 L157.9,339.7 L160.3,339.6 L162.7,339.4 L165,339.1 L167.4,338.9 L169.8,338.6 L172.2,338.3 L174.6,337.9 L176.9,337.5 L179.3,337 L181.7,336.4 L184.1,335.8 L186.4,335 L188.8,334.2 L191.2,333.2 L193.6,332.1 L196,330.8 L198.3,329.3 L200.7,327.6 L203.1,325.7 L205.5,323.5 L207.8,321 L210.2,318.1 L212.6,314.9 L215,311.2 L217.4,307.1 L219.7,302.4 L222.1,297.1 L224.5,291.3 L226.9,284.7 L229.2,277.5 L231.6,269.6 L234,261.1 L236.4,251.8 L238.8,242 L241.1,231.7 L243.5,221.2 L245.9,210.5 L248.3,200.1 L250.6,190.2 L253,181.3 L255.4,173.9 L257.8,168.5 L260.2,165.5 L262.5,165.5 L264.9,168.7 L267.3,175.4 L269.7,185.5 L272,198.7 L274.4,214.5 L276.8,232.1 L279.2,250.5 L281.6,268.5 L283.9,285.4 L286.3,300.2 L288.7,312.5 L291.1,322.1 L293.4,329.1 L295.8,333.9 L298.2,337 L300.6,338.9 L303,339.9 L305.3,340.5 L307.7,340.8 L310.1,340.9 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,341 L379,341 L381.4,341 L383.8,341 L386.2,341 L388.6,341 L390.9,341 L393.3,341 L395.7,341 L398.1,341 L400.4,341 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,340.9 L245.9,340.9 L248.3,340.9 L250.6,340.9 L253,340.9 L255.4,340.8 L257.8,340.7 L260.2,340.6 L262.5,340.5 L264.9,340.4 L267.3,340.1 L269.7,339.8 L272,339.4 L274.4,338.8 L276.8,337.9 L279.2,336.8 L281.6,335.2 L283.9,332.9 L286.3,329.9 L288.7,325.7 L291.1,320.1 L293.4,312.6 L295.8,302.8 L298.2,290.1 L300.6,274.1 L303,254.5 L305.3,231.4 L307.7,205.3 L310.1,177.3 L312.5,149.1 L314.8,123.3 L317.2,102.3 L319.6,88.52 L322,83.73 L324.4,88.52 L326.7,102.3 L329.1,123.3 L331.5,149.1 L333.9,177.2 L336.2,205.3 L338.6,231.4 L341,254.5 L343.4,274.1 L345.8,290.1 L348.1,302.8 L350.5,312.6 L352.9,320.1 L355.3,325.7 L357.6,329.9 L360,332.9 L362.4,335.2 L364.8,336.8 L367.2,337.9 L369.5,338.8 L371.9,339.4 L374.3,339.8 L376.7,340.1 L379,340.4 L381.4,340.5 L383.8,340.6 L386.2,340.7 L388.6,340.8 L390.9,340.9 L393.3,340.9 L395.7,340.9 L398.1,340.9 L400.4,340.9 L402.8,341 L405.2,341 L407.6,341 L410,341 L412.3,341 L414.7,341 L417.1,341 L419.5,341 L421.8,341 L424.2,341 L426.6,341 L429,341 L431.4,341 L433.7,341 L436.1,341 L438.5,341 L440.9,341 L443.2,341 L445.6,341 L448,341 L450.4,341 L452.8,341 L455.1,341 L457.5,341 L459.9,341 L462.3,341 L464.6,341 L467,341 L469.4,341 L471.8,341 L474.2,341 L476.5,341 L478.9,341 L481.3,341 L483.7,341 L486,341 L488.4,341 L490.8,341 L493.2,341 L495.6,341 L497.9,341 L500.3,341 L502.7,341 L505.1,341 L507.4,341 L509.8,341 L512.2,341 L514.6,341 L517,341 L519.3,341 L521.7,341 L524.1,341 L526.5,341 L528.8,341 L531.2,341 L533.6,341 L536,341 L538.4,341 L540.7,341 L543.1,341 L545.5,341 L547.9,341 L550.2,341 L552.6,341 L555,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,340.9 L336.2,340.8 L338.6,340.5 L341,339.9 L343.4,338.9 L345.8,337 L348.1,333.9 L350.5,329.1 L352.9,322.1 L355.3,312.5 L357.6,300.2 L360,285.4 L362.4,268.6 L364.8,250.5 L367.2,232.1 L369.5,214.5 L371.9,198.7 L374.3,185.5 L376.7,175.4 L379,168.7 L381.4,165.5 L383.8,165.5 L386.2,168.5 L388.6,173.9 L390.9,181.3 L393.3,190.2 L395.7,200 L398.1,210.5 L400.4,221.1 L402.8,231.7 L405.2,242 L407.6,251.8 L410,261.1 L412.3,269.6 L414.7,277.5 L417.1,284.7 L419.5,291.3 L421.8,297.1 L424.2,302.4 L426.6,307.1 L429,311.2 L431.4,314.9 L433.7,318.1 L436.1,321 L438.5,323.5 L440.9,325.7 L443.2,327.6 L445.6,329.3 L448,330.8 L450.4,332.1 L452.8,333.2 L455.1,334.2 L457.5,335 L459.9,335.7 L462.3,336.4 L464.6,337 L467,337.5 L469.4,337.9 L471.8,338.3 L474.2,338.6 L476.5,338.9 L478.9,339.1 L481.3,339.4 L483.7,339.6 L486,339.7 L488.4,339.9 L490.8,340 L493.2,340.1 L495.6,340.2 L497.9,340.3 L500.3,340.4 L502.7,340.5 L505.1,340.5 L507.4,340.6 L509.8,340.6 L512.2,340.7 L514.6,340.7 L517,340.7 L519.3,340.8 L521.7,340.8 L524.1,340.8 L526.5,340.8 L528.8,340.8 L531.2,340.9 L533.6,340.9 L536,340.9 L538.4,340.9 L540.7,340.9 L543.1,340.9 L545.5,340.9 L547.9,340.9 L550.2,340.9 L552.6,340.9 L555,340.9 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.58,341 L88.96,341 L91.33,341 L93.71,341 L96.09,341 L98.47,341 L100.8,341 L103.2,341 L105.6,341 L108,341 L110.4,341 L112.7,341 L115.1,341 L117.5,341 L119.9,341 L122.2,341 L124.6,341 L127,341 L129.4,341 L131.8,341 L134.1,341 L136.5,341 L138.9,341 L141.3,341 L143.6,341 L146,341 L148.4,341 L150.8,341 L153.2,341 L155.5,341 L157.9,341 L160.3,341 L162.7,341 L165,341 L167.4,341 L169.8,341 L172.2,341 L174.6,341 L176.9,341 L179.3,341 L181.7,341 L184.1,341 L186.4,341 L188.8,341 L191.2,341 L193.6,341 L196,341 L198.3,341 L200.7,341 L203.1,341 L205.5,341 L207.8,341 L210.2,341 L212.6,341 L215,341 L217.4,341 L219.7,341 L222.1,341 L224.5,341 L226.9,341 L229.2,341 L231.6,341 L234,341 L236.4,341 L238.8,341 L241.1,341 L243.5,341 L245.9,341 L248.3,341 L250.6,341 L253,341 L255.4,341 L257.8,341 L260.2,341 L262.5,341 L264.9,341 L267.3,341 L269.7,341 L272,341 L274.4,341 L276.8,341 L279.2,341 L281.6,341 L283.9,341 L286.3,341 L288.7,341 L291.1,341 L293.4,341 L295.8,341 L298.2,341 L300.6,341 L303,341 L305.3,341 L307.7,341 L310.1,341 L312.5,341 L314.8,341 L317.2,341 L319.6,341 L322,341 L324.4,341 L326.7,341 L329.1,341 L331.5,341 L333.9,341 L336.2,341 L338.6,341 L341,341 L343.4,341 L345.8,341 L348.1,341 L350.5,341 L352.9,341 L355.3,341 L357.6,341 L360,341 L362.4,341 L364.8,341 L367.2,341 L369.5,341 L371.9,341 L374.3,341 L376.7,340.9 L379,340.8 L381.4,340.7 L383.8,340.4 L386.2,339.9 L388.6,339.1 L390.9,337.9 L393.3,336.2 L395.7,333.9 L398.1,330.9 L400.4,327.1 L402.8,322.6 L405.2,317.2 L407.6,311.2 L410,304.5 L412.3,297.4 L414.7,289.9 L417.1,282.4 L419.5,274.9 L421.8,267.6 L424.2,260.8 L426.6,254.5 L429,248.9 L431.4,244.1 L433.7,240.1 L436.1,237 L438.5,234.7 L440.9,233.3 L443.2,232.6 L445.6,232.8 L448,233.6 L450.4,235.1 L452.8,237.1 L455.1,239.6 L457.5,242.5 L459.9,245.7 L462.3,249.1 L464.6,252.8 L467,256.6 L469.4,260.5 L471.8,264.4 L474.2,268.3 L476.5,272.2 L478.9,276.1 L481.3,279.8 L483.7,283.4 L486,286.9 L488.4,290.3 L490.8,293.5 L493.2,296.6 L495.6,299.5 L497.9,302.3 L500.3,304.9 L502.7,307.4 L505.1,309.8 L507.4,312 L509.8,314 L512.2,315.9 L514.6,317.7 L517,319.4 L519.3,321 L521.7,322.4 L524.1,323.8 L526.5,325.1 L528.8,326.2 L531.2,327.3 L533.6,328.3 L536,329.3 L538.4,330.2 L540.7,331 L543.1,331.7 L545.5,332.4 L547.9,333 L550.2,333.6 L552.6,334.2 L555,334.7 L557.4,335.1 L559.8,335.6 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="165"/><rect x="573.8" y="58" width="150.2" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="178" x2="603.8" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="208" x2="603.8" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="611.3" y="88" font-size="15" font-family="Verdana">v=10, &#x3B4;=-10</text>
-<text x="611.3" y="118" font-size="15" font-family="Verdana">v=10, &#x3B4;=-5</text>
-<text x="611.3" y="148" font-size="15" font-family="Verdana">v=10, &#x3B4;=0</text>
-<text x="611.3" y="178" font-size="15" font-family="Verdana">v=10, &#x3B4;=5</text>
-<text x="611.3" y="208" font-size="15" font-family="Verdana">v=10, &#x3B4;=10</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central T PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/nccs_pdf.svg b/libs/math/doc/sf_and_dist/graphs/nccs_pdf.svg
deleted file mode 100644
index 7ff8d1dd0b..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/nccs_pdf.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="465.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="467.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="92.6" y1="58" x2="92.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="559.8" y2="341"/><line x1="87.6" y1="341" x2="559.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,333.2 L92.6,333.2 M90.6,325.4 L92.6,325.4 M90.6,317.6 L92.6,317.6 M90.6,309.8 L92.6,309.8 M90.6,294.1 L92.6,294.1 M90.6,286.3 L92.6,286.3 M90.6,278.5 L92.6,278.5 M90.6,270.7 L92.6,270.7 M90.6,255.1 L92.6,255.1 M90.6,247.3 L92.6,247.3 M90.6,239.5 L92.6,239.5 M90.6,231.7 L92.6,231.7 M90.6,216 L92.6,216 M90.6,208.2 L92.6,208.2 M90.6,200.4 L92.6,200.4 M90.6,192.6 L92.6,192.6 M90.6,177 L92.6,177 M90.6,169.2 L92.6,169.2 M90.6,161.4 L92.6,161.4 M90.6,153.5 L92.6,153.5 M90.6,137.9 L92.6,137.9 M90.6,130.1 L92.6,130.1 M90.6,122.3 L92.6,122.3 M90.6,114.5 L92.6,114.5 M90.6,98.87 L92.6,98.87 M90.6,91.06 L92.6,91.06 M90.6,83.25 L92.6,83.25 M90.6,75.44 L92.6,75.44 M90.6,59.82 L92.6,59.82 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M119.5,341 L119.5,343 M146.3,341 L146.3,343 M173.2,341 L173.2,343 M200,341 L200,343 M253.8,341 L253.8,343 M280.6,341 L280.6,343 M307.5,341 L307.5,343 M334.3,341 L334.3,343 M388.1,341 L388.1,343 M414.9,341 L414.9,343 M441.8,341 L441.8,343 M468.6,341 L468.6,343 M522.4,341 L522.4,343 M549.2,341 L549.2,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,301.9 L92.6,301.9 M87.6,262.9 L92.6,262.9 M87.6,223.8 L92.6,223.8 M87.6,184.8 L92.6,184.8 M87.6,145.7 L92.6,145.7 M87.6,106.7 L92.6,106.7 M87.6,67.63 L92.6,67.63 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M92.6,341 L92.6,346 M226.9,341 L226.9,346 M361.2,341 L361.2,346 M495.5,341 L495.5,346 M92.6,341 L92.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="226.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
-<text x="361.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">100</text>
-<text x="495.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">150</text>
-<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="304.3" text-anchor="end" font-size="12" font-family="Verdana">0.01</text>
-<text x="81.6" y="265.3" text-anchor="end" font-size="12" font-family="Verdana">0.02</text>
-<text x="81.6" y="226.2" text-anchor="end" font-size="12" font-family="Verdana">0.03</text>
-<text x="81.6" y="187.2" text-anchor="end" font-size="12" font-family="Verdana">0.04</text>
-<text x="81.6" y="148.1" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="109.1" text-anchor="end" font-size="12" font-family="Verdana">0.06</text>
-<text x="81.6" y="70.03" text-anchor="end" font-size="12" font-family="Verdana">0.07</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="326.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,340.9 L104.3,340.3 L106.6,338.8 L109,335.3 L111.3,328.6 L113.6,317.9 L116,302.3 L118.3,282 L120.6,257.4 L123,229.8 L125.3,200.7 L127.6,172 L130,145.4 L132.3,122.5 L134.6,104.4 L137,91.85 L139.3,85.07 L141.7,83.97 L144,88.08 L146.3,96.72 L148.7,109 L151,124.2 L153.3,141.2 L155.7,159.3 L158,177.8 L160.3,196.1 L162.7,213.8 L165,230.4 L167.3,245.7 L169.7,259.6 L172,272.1 L174.4,283.1 L176.7,292.7 L179,301 L181.4,308 L183.7,314 L186,319.1 L188.4,323.3 L190.7,326.8 L193,329.6 L195.4,331.9 L197.7,333.8 L200,335.3 L202.4,336.5 L204.7,337.5 L207.1,338.3 L209.4,338.9 L211.7,339.4 L214.1,339.7 L216.4,340 L218.7,340.3 L221.1,340.4 L223.4,340.6 L225.7,340.7 L228.1,340.8 L230.4,340.8 L232.7,340.9 L235.1,340.9 L237.4,340.9 L239.8,340.9 L242.1,341 L244.4,341 L246.8,341 L249.1,341 L251.4,341 L253.8,341 L256.1,341 L258.4,341 L260.8,341 L263.1,341 L265.4,341 L267.8,341 L270.1,341 L272.5,341 L274.8,341 L277.1,341 L279.5,341 L281.8,341 L284.1,341 L286.5,341 L288.8,341 L291.1,341 L293.5,341 L295.8,341 L298.2,341 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,340.9 L104.3,340.6 L106.6,339.5 L109,336.9 L111.3,332.1 L113.6,324 L116,311.9 L118.3,295.7 L120.6,275.4 L123,251.8 L125.3,226.1 L127.6,199.7 L130,173.9 L132.3,150.4 L134.6,130.2 L137,114.3 L139.3,103.2 L141.7,97.11 L144,95.95 L146.3,99.33 L148.7,106.7 L151,117.4 L153.3,130.6 L155.7,145.7 L158,162 L160.3,178.7 L162.7,195.5 L165,211.8 L167.3,227.4 L169.7,242 L172,255.4 L174.4,267.6 L176.7,278.5 L179,288.2 L181.4,296.6 L183.7,304 L186,310.3 L188.4,315.6 L190.7,320.2 L193,324 L195.4,327.2 L197.7,329.8 L200,332 L202.4,333.8 L204.7,335.3 L207.1,336.4 L209.4,337.4 L211.7,338.1 L214.1,338.8 L216.4,339.2 L218.7,339.6 L221.1,339.9 L223.4,340.2 L225.7,340.4 L228.1,340.5 L230.4,340.6 L232.7,340.7 L235.1,340.8 L237.4,340.8 L239.8,340.9 L242.1,340.9 L244.4,340.9 L246.8,340.9 L249.1,341 L251.4,341 L253.8,341 L256.1,341 L258.4,341 L260.8,341 L263.1,341 L265.4,341 L267.8,341 L270.1,341 L272.5,341 L274.8,341 L277.1,341 L279.5,341 L281.8,341 L284.1,341 L286.5,341 L288.8,341 L291.1,341 L293.5,341 L295.8,341 L298.2,341 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,340.9 L106.6,340.7 L109,340 L111.3,338.7 L113.6,336.1 L116,332 L118.3,325.9 L120.6,317.4 L123,306.3 L125.3,292.8 L127.6,277.1 L130,259.6 L132.3,241.1 L134.6,222.1 L137,203.5 L139.3,185.9 L141.7,170.2 L144,156.8 L146.3,146.1 L148.7,138.3 L151,133.7 L153.3,132 L155.7,133.3 L158,137.2 L160.3,143.4 L162.7,151.6 L165,161.3 L167.3,172.2 L169.7,183.9 L172,196 L174.4,208.3 L176.7,220.5 L179,232.4 L181.4,243.8 L183.7,254.6 L186,264.7 L188.4,274 L190.7,282.5 L193,290.2 L195.4,297.1 L197.7,303.3 L200,308.7 L202.4,313.5 L204.7,317.7 L207.1,321.3 L209.4,324.5 L211.7,327.2 L214.1,329.5 L216.4,331.4 L218.7,333.1 L221.1,334.4 L223.4,335.6 L225.7,336.6 L228.1,337.4 L230.4,338.1 L232.7,338.6 L235.1,339.1 L237.4,339.4 L239.8,339.7 L242.1,340 L244.4,340.2 L246.8,340.3 L249.1,340.5 L251.4,340.6 L253.8,340.7 L256.1,340.7 L258.4,340.8 L260.8,340.8 L263.1,340.9 L265.4,340.9 L267.8,340.9 L270.1,340.9 L272.5,341 L274.8,341 L277.1,341 L279.5,341 L281.8,341 L284.1,341 L286.5,341 L288.8,341 L291.1,341 L293.5,341 L295.8,341 L298.2,341 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,341 L106.6,340.9 L109,340.8 L111.3,340.6 L113.6,340 L116,339.1 L118.3,337.5 L120.6,335 L123,331.5 L125.3,326.6 L127.6,320.3 L130,312.6 L132.3,303.3 L134.6,292.6 L137,280.7 L139.3,267.8 L141.7,254.3 L144,240.6 L146.3,227 L148.7,213.9 L151,201.7 L153.3,190.7 L155.7,181.3 L158,173.5 L160.3,167.6 L162.7,163.6 L165,161.6 L167.3,161.4 L169.7,163 L172,166.2 L174.4,170.9 L176.7,176.8 L179,183.8 L181.4,191.6 L183.7,200.1 L186,209 L188.4,218.1 L190.7,227.4 L193,236.5 L195.4,245.5 L197.7,254.2 L200,262.5 L202.4,270.3 L204.7,277.7 L207.1,284.6 L209.4,291 L211.7,296.8 L214.1,302.1 L216.4,307 L218.7,311.3 L221.1,315.2 L223.4,318.6 L225.7,321.7 L228.1,324.4 L230.4,326.8 L232.7,328.8 L235.1,330.6 L237.4,332.2 L239.8,333.5 L242.1,334.7 L244.4,335.7 L246.8,336.6 L249.1,337.3 L251.4,337.9 L253.8,338.4 L256.1,338.8 L258.4,339.2 L260.8,339.5 L263.1,339.8 L265.4,340 L267.8,340.2 L270.1,340.3 L272.5,340.4 L274.8,340.5 L277.1,340.6 L279.5,340.7 L281.8,340.8 L284.1,340.8 L286.5,340.8 L288.8,340.9 L291.1,340.9 L293.5,340.9 L295.8,340.9 L298.2,340.9 L300.5,341 L302.8,341 L305.2,341 L307.5,341 L309.8,341 L312.2,341 L314.5,341 L316.8,341 L319.2,341 L321.5,341 L323.8,341 L326.2,341 L328.5,341 L330.9,341 L333.2,341 L335.5,341 L337.9,341 L340.2,341 L342.5,341 L344.9,341 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,341 L106.6,341 L109,341 L111.3,341 L113.6,341 L116,340.9 L118.3,340.8 L120.6,340.7 L123,340.4 L125.3,340 L127.6,339.4 L130,338.5 L132.3,337.3 L134.6,335.6 L137,333.4 L139.3,330.6 L141.7,327.2 L144,323.1 L146.3,318.2 L148.7,312.7 L151,306.4 L153.3,299.5 L155.7,291.9 L158,283.9 L160.3,275.6 L162.7,267 L165,258.3 L167.3,249.7 L169.7,241.2 L172,233.2 L174.4,225.7 L176.7,218.8 L179,212.7 L181.4,207.4 L183.7,203.1 L186,199.7 L188.4,197.3 L190.7,195.9 L193,195.5 L195.4,196.1 L197.7,197.6 L200,199.9 L202.4,203 L204.7,206.8 L207.1,211.2 L209.4,216.1 L211.7,221.4 L214.1,227.1 L216.4,233 L218.7,239 L221.1,245.2 L223.4,251.3 L225.7,257.5 L228.1,263.5 L230.4,269.3 L232.7,275 L235.1,280.4 L237.4,285.6 L239.8,290.6 L242.1,295.2 L244.4,299.5 L246.8,303.6 L249.1,307.4 L251.4,310.9 L253.8,314.1 L256.1,317 L258.4,319.7 L260.8,322.1 L263.1,324.3 L265.4,326.3 L267.8,328 L270.1,329.6 L272.5,331 L274.8,332.3 L277.1,333.4 L279.5,334.4 L281.8,335.3 L284.1,336.1 L286.5,336.7 L288.8,337.3 L291.1,337.8 L293.5,338.3 L295.8,338.7 L298.2,339 L300.5,339.3 L302.8,339.6 L305.2,339.8 L307.5,340 L309.8,340.1 L312.2,340.3 L314.5,340.4 L316.8,340.5 L319.2,340.6 L321.5,340.6 L323.8,340.7 L326.2,340.7 L328.5,340.8 L330.9,340.8 L333.2,340.8 L335.5,340.9 L337.9,340.9 L340.2,340.9 L342.5,340.9 L344.9,340.9 L347.2,341 L349.5,341 L351.9,341 L354.2,341 L356.5,341 L358.9,341 L361.2,341 L363.6,341 L365.9,341 L368.2,341 L370.6,341 L372.9,341 L375.2,341 L377.6,341 L379.9,341 L382.2,341 L384.6,341 L386.9,341 L389.2,341 L391.6,341 L393.9,341 L396.3,341 L398.6,341 L400.9,341 L403.3,341 L405.6,341 L407.9,341 L410.3,341 L412.6,341 L414.9,341 L417.3,341 L419.6,341 L421.9,341 L424.3,341 L426.6,341 L429,341 L431.3,341 L433.6,341 L436,341 L438.3,341 L440.6,341 L443,341 L445.3,341 L447.6,341 L450,341 L452.3,341 L454.6,341 L457,341 L459.3,341 L461.7,341 L464,341 L466.3,341 L468.7,341 L471,341 L473.3,341 L475.7,341 L478,341 L480.3,341 L482.7,341 L485,341 L487.4,341 L489.7,341 L492,341 L494.4,341 L496.7,341 L499,341 L501.4,341 L503.7,341 L506,341 L508.4,341 L510.7,341 L513,341 L515.4,341 L517.7,341 L520.1,341 L522.4,341 L524.7,341 L527.1,341 L529.4,341 L531.7,341 L534.1,341 L536.4,341 L538.7,341 L541.1,341 L543.4,341 L545.7,341 L548.1,341 L550.4,341 L552.8,341 L555.1,341 L557.4,341 L559.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.94,341 L97.27,341 L99.61,341 L101.9,341 L104.3,341 L106.6,341 L109,341 L111.3,341 L113.6,341 L116,341 L118.3,341 L120.6,341 L123,341 L125.3,341 L127.6,341 L130,341 L132.3,341 L134.6,341 L137,341 L139.3,341 L141.7,341 L144,341 L146.3,341 L148.7,341 L151,341 L153.3,341 L155.7,341 L158,341 L160.3,341 L162.7,341 L165,341 L167.3,341 L169.7,341 L172,341 L174.4,341 L176.7,341 L179,341 L181.4,341 L183.7,341 L186,341 L188.4,341 L190.7,341 L193,341 L195.4,341 L197.7,341 L200,341 L202.4,341 L204.7,341 L207.1,341 L209.4,341 L211.7,341 L214.1,341 L216.4,341 L218.7,341 L221.1,341 L223.4,341 L225.7,341 L228.1,341 L230.4,341 L232.7,340.9 L235.1,340.9 L237.4,340.9 L239.8,340.9 L242.1,340.9 L244.4,340.8 L246.8,340.8 L249.1,340.7 L251.4,340.7 L253.8,340.6 L256.1,340.5 L258.4,340.4 L260.8,340.3 L263.1,340.1 L265.4,340 L267.8,339.8 L270.1,339.6 L272.5,339.3 L274.8,339.1 L277.1,338.8 L279.5,338.4 L281.8,338 L284.1,337.6 L286.5,337.1 L288.8,336.6 L291.1,336 L293.5,335.3 L295.8,334.6 L298.2,333.8 L300.5,333 L302.8,332.1 L305.2,331.1 L307.5,330 L309.8,328.9 L312.2,327.7 L314.5,326.4 L316.8,325 L319.2,323.6 L321.5,322.1 L323.8,320.5 L326.2,318.8 L328.5,317.1 L330.9,315.3 L333.2,313.5 L335.5,311.6 L337.9,309.6 L340.2,307.6 L342.5,305.6 L344.9,303.6 L347.2,301.5 L349.5,299.4 L351.9,297.3 L354.2,295.2 L356.5,293.1 L358.9,291.1 L361.2,289.1 L363.6,287.1 L365.9,285.1 L368.2,283.2 L370.6,281.4 L372.9,279.7 L375.2,278 L377.6,276.4 L379.9,274.9 L382.2,273.5 L384.6,272.3 L386.9,271.1 L389.2,270 L391.6,269.1 L393.9,268.3 L396.3,267.6 L398.6,267.1 L400.9,266.7 L403.3,266.4 L405.6,266.3 L407.9,266.2 L410.3,266.3 L412.6,266.6 L414.9,267 L417.3,267.4 L419.6,268 L421.9,268.8 L424.3,269.6 L426.6,270.5 L429,271.5 L431.3,272.7 L433.6,273.9 L436,275.2 L438.3,276.5 L440.6,277.9 L443,279.4 L445.3,281 L447.6,282.6 L450,284.2 L452.3,285.8 L454.6,287.5 L457,289.2 L459.3,291 L461.7,292.7 L464,294.4 L466.3,296.1 L468.7,297.9 L471,299.6 L473.3,301.3 L475.7,303 L478,304.6 L480.3,306.2 L482.7,307.8 L485,309.4 L487.4,310.9 L489.7,312.4 L492,313.8 L494.4,315.2 L496.7,316.6 L499,317.9 L501.4,319.2 L503.7,320.4 L506,321.6 L508.4,322.7 L510.7,323.8 L513,324.8 L515.4,325.8 L517.7,326.8 L520.1,327.7 L522.4,328.5 L524.7,329.3 L527.1,330.1 L529.4,330.9 L531.7,331.5 L534.1,332.2 L536.4,332.8 L538.7,333.4 L541.1,334 L543.4,334.5 L545.7,334.9 L548.1,335.4 L550.4,335.8 L552.8,336.2 L555.1,336.6 L557.4,336.9 L559.8,337.3 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="195"/><rect x="573.8" y="58" width="150.2" height="195"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="178" x2="603.8" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="208" x2="603.8" y2="208"/></g>
-<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="238" x2="603.8" y2="238"/></g>
-</g>
-<g id="legendText">
-<text x="611.3" y="88" font-size="15" font-family="Verdana">v=20, &#x3BB;=0</text>
-<text x="611.3" y="118" font-size="15" font-family="Verdana">v=20, &#x3BB;=1</text>
-<text x="611.3" y="148" font-size="15" font-family="Verdana">v=20, &#x3BB;=5</text>
-<text x="611.3" y="178" font-size="15" font-family="Verdana">v=20, &#x3BB;=10</text>
-<text x="611.3" y="208" font-size="15" font-family="Verdana">v=20, &#x3BB;=20</text>
-<text x="611.3" y="238" font-size="15" font-family="Verdana">v=20, &#x3BB;=100</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Non Central Chi Squared PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg b/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg
deleted file mode 100644
index 9e7f220803..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_1.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="465.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="467.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="94.9" y1="58" x2="94.9" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="559.8" y2="341"/><line x1="87.6" y1="341" x2="559.8" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,322.2 L92.6,322.2 M90.6,303.5 L92.6,303.5 M90.6,284.7 L92.6,284.7 M90.6,265.9 L92.6,265.9 M90.6,228.4 L92.6,228.4 M90.6,209.7 L92.6,209.7 M90.6,190.9 L92.6,190.9 M90.6,172.1 L92.6,172.1 M90.6,134.6 L92.6,134.6 M90.6,115.8 L92.6,115.8 M90.6,97.08 L92.6,97.08 M90.6,78.31 L92.6,78.31 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,247.2 L92.6,247.2 M87.6,153.4 L92.6,153.4 M87.6,59.55 L92.6,59.55 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M94.9,341 L94.9,346 M324.6,341 L324.6,346 M554.3,341 L554.3,346 M94.9,341 L94.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="94.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="324.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
-<text x="554.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">100</text>
-<text x="94.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="249.6" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="155.8" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="81.6" y="61.95" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="326.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.17,341 L93.17,341 L93.17,341 L94.32,341 L94.32,341 L97.77,341 L97.77,341 L98.92,341 L98.92,341 L102.4,341 L102.4,341 L103.5,341 L103.5,341 L107,341 L107,341 L108.1,341 L108.1,341 L111.5,341 L111.5,341 L112.7,341 L112.7,341 L116.1,341 L116.1,341 L117.3,341 L117.3,341 L120.7,341 L120.7,341 L121.9,341 L121.9,341 L125.3,341 L125.3,341 L126.5,341 L126.5,341 L129.9,341 L129.9,341 L131.1,341 L131.1,341 L134.5,341 L134.5,341 L135.7,341 L135.7,341 L139.1,341 L139.1,341 L140.3,341 L140.3,341 L143.7,341 L143.7,341 L144.9,341 L144.9,341 L148.3,341 L148.3,341 L149.4,341 L149.4,341 L152.9,341 L152.9,341 L154,341 L154,341 L157.5,341 L157.5,341 L158.6,341 L158.6,341 L162.1,341 L162.1,341 L163.2,341 L163.2,341 L166.7,341 L166.7,340.9 L167.8,340.9 L167.8,341 L171.3,341 L171.3,340.9 L172.4,340.9 L172.4,341 L175.9,341 L175.9,340.8 L177,340.8 L177,341 L180.5,341 L180.5,340.7 L181.6,340.7 L181.6,341 L185,341 L185,340.6 L186.2,340.6 L186.2,341 L189.6,341 L189.6,340.5 L190.8,340.5 L190.8,341 L194.2,341 L194.2,340.3 L195.4,340.3 L195.4,341 L198.8,341 L198.8,340 L200,340 L200,341 L203.4,341 L203.4,339.6 L204.6,339.6 L204.6,341 L208,341 L208,339.2 L209.2,339.2 L209.2,341 L212.6,341 L212.6,338.7 L213.8,338.7 L213.8,341 L217.2,341 L217.2,338 L218.4,338 L218.4,341 L221.8,341 L221.8,337.2 L222.9,337.2 L222.9,341 L226.4,341 L226.4,336.3 L227.5,336.3 L227.5,341 L231,341 L231,335.3 L232.1,335.3 L232.1,341 L235.6,341 L235.6,334.1 L236.7,334.1 L236.7,341 L240.2,341 L240.2,332.7 L241.3,332.7 L241.3,341 L244.8,341 L244.8,331.2 L245.9,331.2 L245.9,341 L249.4,341 L249.4,329.5 L250.5,329.5 L250.5,341 L254,341 L254,327.7 L255.1,327.7 L255.1,341 L258.5,341 L258.5,325.8 L259.7,325.8 L259.7,341 L263.1,341 L263.1,323.7 L264.3,323.7 L264.3,341 L267.7,341 L267.7,321.6 L268.9,321.6 L268.9,341 L272.3,341 L272.3,319.3 L273.5,319.3 L273.5,341 L276.9,341 L276.9,317 L278.1,317 L278.1,341 L281.5,341 L281.5,314.7 L282.7,314.7 L282.7,341 L286.1,341 L286.1,312.3 L287.3,312.3 L287.3,341 L290.7,341 L290.7,310 L291.8,310 L291.8,341 L295.3,341 L295.3,307.7 L296.4,307.7 L296.4,341 L299.9,341 L299.9,305.5 L301,305.5 L301,341 L304.5,341 L304.5,303.4 L305.6,303.4 L305.6,341 L309.1,341 L309.1,301.4 L310.2,301.4 L310.2,341 L313.7,341 L313.7,299.5 L314.8,299.5 L314.8,341 L318.3,341 L318.3,297.8 L319.4,297.8 L319.4,341 L322.9,341 L322.9,296.3 L324,296.3 L324,341 L327.4,341 L327.4,295 L328.6,295 L328.6,341 L332,341 L332,293.9 L333.2,293.9 L333.2,341 L336.6,341 L336.6,293 L337.8,293 L337.8,341 L341.2,341 L341.2,292.3 L342.4,292.3 L342.4,341 L345.8,341 L345.8,291.9 L347,291.9 L347,341 L350.4,341 L350.4,291.7 L351.6,291.7 L351.6,341 L355,341 L355,291.7 L356.2,291.7 L356.2,341 L359.6,341 L359.6,291.9 L360.8,291.9 L360.8,341 L364.2,341 L364.2,292.3 L365.3,292.3 L365.3,341 L368.8,341 L368.8,292.9 L369.9,292.9 L369.9,341 L373.4,341 L373.4,293.7 L374.5,293.7 L374.5,341 L378,341 L378,294.6 L379.1,294.6 L379.1,341 L382.6,341 L382.6,295.7 L383.7,295.7 L383.7,341 L387.2,341 L387.2,297 L388.3,297 L388.3,341 L391.8,341 L391.8,298.3 L392.9,298.3 L392.9,341 L396.4,341 L396.4,299.8 L397.5,299.8 L397.5,341 L400.9,341 L400.9,301.3 L402.1,301.3 L402.1,341 L405.5,341 L405.5,302.9 L406.7,302.9 L406.7,341 L410.1,341 L410.1,304.6 L411.3,304.6 L411.3,341 L414.7,341 L414.7,306.3 L415.9,306.3 L415.9,341 L419.3,341 L419.3,308 L420.5,308 L420.5,341 L423.9,341 L423.9,309.7 L425.1,309.7 L425.1,341 L428.5,341 L428.5,311.4 L429.7,311.4 L429.7,341 L433.1,341 L433.1,313.1 L434.2,313.1 L434.2,341 L437.7,341 L437.7,314.8 L438.8,314.8 L438.8,341 L442.3,341 L442.3,316.4 L443.4,316.4 L443.4,341 L446.9,341 L446.9,318 L448,318 L448,341 L451.5,341 L451.5,319.6 L452.6,319.6 L452.6,341 L456.1,341 L456.1,321.1 L457.2,321.1 L457.2,341 L460.7,341 L460.7,322.5 L461.8,322.5 L461.8,341 L465.3,341 L465.3,323.9 L466.4,323.9 L466.4,341 L469.9,341 L469.9,325.2 L471,325.2 L471,341 L474.4,341 L474.4,326.4 L475.6,326.4 L475.6,341 L479,341 L479,327.6 L480.2,327.6 L480.2,341 L483.6,341 L483.6,328.7 L484.8,328.7 L484.8,341 L488.2,341 L488.2,329.7 L489.4,329.7 L489.4,341 L492.8,341 L492.8,330.7 L494,330.7 L494,341 L497.4,341 L497.4,331.6 L498.6,331.6 L498.6,341 L502,341 L502,332.5 L503.2,332.5 L503.2,341 L506.6,341 L506.6,333.2 L507.7,333.2 L507.7,341 L511.2,341 L511.2,334 L512.3,334 L512.3,341 L515.8,341 L515.8,334.6 L516.9,334.6 L516.9,341 L520.4,341 L520.4,335.2 L521.5,335.2 L521.5,341 L525,341 L525,335.8 L526.1,335.8 L526.1,341 L529.6,341 L529.6,336.3 L530.7,336.3 L530.7,341 L534.2,341 L534.2,336.8 L535.3,336.8 L535.3,341 L538.8,341 L538.8,337.2 L539.9,337.2 L539.9,341 L543.3,341 L543.3,337.6 L544.5,337.6 L544.5,341 L547.9,341 L547.9,338 L549.1,338 L549.1,341 L552.5,341 L552.5,338.3 L553.7,338.3 L553.7,341 L553.7,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M94.32,341 L94.32,341 L94.32,341 L95.47,341 L95.47,341 L98.92,341 L98.92,341 L100.1,341 L100.1,341 L103.5,341 L103.5,340.9 L104.7,340.9 L104.7,341 L108.1,341 L108.1,340.7 L109.3,340.7 L109.3,341 L112.7,341 L112.7,340 L113.8,340 L113.8,341 L117.3,341 L117.3,338.6 L118.4,338.6 L118.4,341 L121.9,341 L121.9,336 L123,336 L123,341 L126.5,341 L126.5,331.8 L127.6,331.8 L127.6,341 L131.1,341 L131.1,325.5 L132.2,325.5 L132.2,341 L135.7,341 L135.7,316.9 L136.8,316.9 L136.8,341 L140.3,341 L140.3,306 L141.4,306 L141.4,341 L144.9,341 L144.9,293.3 L146,293.3 L146,341 L149.4,341 L149.4,279.3 L150.6,279.3 L150.6,341 L154,341 L154,265.1 L155.2,265.1 L155.2,341 L158.6,341 L158.6,251.6 L159.8,251.6 L159.8,341 L163.2,341 L163.2,239.6 L164.4,239.6 L164.4,341 L167.8,341 L167.8,230.1 L169,230.1 L169,341 L172.4,341 L172.4,223.6 L173.6,223.6 L173.6,341 L177,341 L177,220.4 L178.2,220.4 L178.2,341 L181.6,341 L181.6,220.4 L182.7,220.4 L182.7,341 L186.2,341 L186.2,223.4 L187.3,223.4 L187.3,341 L190.8,341 L190.8,229 L191.9,229 L191.9,341 L195.4,341 L195.4,236.6 L196.5,236.6 L196.5,341 L200,341 L200,245.7 L201.1,245.7 L201.1,341 L204.6,341 L204.6,255.6 L205.7,255.6 L205.7,341 L209.2,341 L209.2,265.9 L210.3,265.9 L210.3,341 L213.8,341 L213.8,276 L214.9,276 L214.9,341 L218.4,341 L218.4,285.6 L219.5,285.6 L219.5,341 L222.9,341 L222.9,294.5 L224.1,294.5 L224.1,341 L227.5,341 L227.5,302.5 L228.7,302.5 L228.7,341 L232.1,341 L232.1,309.6 L233.3,309.6 L233.3,341 L236.7,341 L236.7,315.7 L237.9,315.7 L237.9,341 L241.3,341 L241.3,320.8 L242.5,320.8 L242.5,341 L245.9,341 L245.9,325.1 L247.1,325.1 L247.1,341 L250.5,341 L250.5,328.6 L251.7,328.6 L251.7,341 L255.1,341 L255.1,331.4 L256.2,331.4 L256.2,341 L259.7,341 L259.7,333.7 L260.8,333.7 L260.8,341 L264.3,341 L264.3,335.5 L265.4,335.5 L265.4,341 L268.9,341 L268.9,336.9 L270,336.9 L270,341 L273.5,341 L273.5,337.9 L274.6,337.9 L274.6,341 L278.1,341 L278.1,338.7 L279.2,338.7 L279.2,341 L282.7,341 L282.7,339.3 L283.8,339.3 L283.8,341 L287.3,341 L287.3,339.8 L288.4,339.8 L288.4,341 L291.8,341 L291.8,340.1 L293,340.1 L293,341 L296.4,341 L296.4,340.4 L297.6,340.4 L297.6,341 L301,341 L301,340.6 L302.2,340.6 L302.2,341 L305.6,341 L305.6,340.7 L306.8,340.7 L306.8,341 L310.2,341 L310.2,340.8 L311.4,340.8 L311.4,341 L314.8,341 L314.8,340.8 L316,340.8 L316,341 L319.4,341 L319.4,340.9 L320.6,340.9 L320.6,341 L324,341 L324,340.9 L325.2,340.9 L325.2,341 L328.6,341 L328.6,340.9 L329.7,340.9 L329.7,341 L333.2,341 L333.2,341 L334.3,341 L334.3,341 L337.8,341 L337.8,341 L338.9,341 L338.9,341 L342.4,341 L342.4,341 L343.5,341 L343.5,341 L347,341 L347,341 L348.1,341 L348.1,341 L351.6,341 L351.6,341 L352.7,341 L352.7,341 L356.2,341 L356.2,341 L357.3,341 L357.3,341 L360.8,341 L360.8,341 L361.9,341 L361.9,341 L365.3,341 L365.3,341 L366.5,341 L366.5,341 L369.9,341 L369.9,341 L371.1,341 L371.1,341 L374.5,341 L374.5,341 L375.7,341 L375.7,341 L379.1,341 L379.1,341 L380.3,341 L380.3,341 L383.7,341 L383.7,341 L384.9,341 L384.9,341 L388.3,341 L388.3,341 L389.5,341 L389.5,341 L392.9,341 L392.9,341 L394.1,341 L394.1,341 L397.5,341 L397.5,341 L398.6,341 L398.6,341 L402.1,341 L402.1,341 L403.2,341 L403.2,341 L406.7,341 L406.7,341 L407.8,341 L407.8,341 L411.3,341 L411.3,341 L412.4,341 L412.4,341 L415.9,341 L415.9,341 L417,341 L417,341 L420.5,341 L420.5,341 L421.6,341 L421.6,341 L425.1,341 L425.1,341 L426.2,341 L426.2,341 L429.7,341 L429.7,341 L430.8,341 L430.8,341 L434.2,341 L434.2,341 L435.4,341 L435.4,341 L438.8,341 L438.8,341 L440,341 L440,341 L443.4,341 L443.4,341 L444.6,341 L444.6,341 L448,341 L448,341 L449.2,341 L449.2,341 L452.6,341 L452.6,341 L453.8,341 L453.8,341 L457.2,341 L457.2,341 L458.4,341 L458.4,341 L461.8,341 L461.8,341 L463,341 L463,341 L466.4,341 L466.4,341 L467.6,341 L467.6,341 L471,341 L471,341 L472.1,341 L472.1,341 L475.6,341 L475.6,341 L476.7,341 L476.7,341 L480.2,341 L480.2,341 L481.3,341 L481.3,341 L484.8,341 L484.8,341 L485.9,341 L485.9,341 L489.4,341 L489.4,341 L490.5,341 L490.5,341 L494,341 L494,341 L495.1,341 L495.1,341 L498.6,341 L498.6,341 L499.7,341 L499.7,341 L503.2,341 L503.2,341 L504.3,341 L504.3,341 L507.7,341 L507.7,341 L508.9,341 L508.9,341 L512.3,341 L512.3,341 L513.5,341 L513.5,341 L516.9,341 L516.9,341 L518.1,341 L518.1,341 L521.5,341 L521.5,341 L522.7,341 L522.7,341 L526.1,341 L526.1,341 L527.3,341 L527.3,341 L530.7,341 L530.7,341 L531.9,341 L531.9,341 L535.3,341 L535.3,341 L536.5,341 L536.5,341 L539.9,341 L539.9,341 L541.1,341 L541.1,341 L544.5,341 L544.5,341 L545.6,341 L545.6,341 L549.1,341 L549.1,341 L550.2,341 L550.2,341 L553.7,341 L553.7,341 L554.8,341 L554.8,341 L554.8,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M95.47,341 L95.47,341 L95.47,335 L96.62,335 L96.62,341 L100.1,341 L100.1,311.2 L101.2,311.2 L101.2,341 L104.7,341 L104.7,262.9 L105.8,262.9 L105.8,341 L109.3,341 L109.3,197.8 L110.4,197.8 L110.4,341 L113.8,341 L113.8,135.2 L115,135.2 L115,341 L118.4,341 L118.4,94.02 L119.6,94.02 L119.6,341 L123,341 L123,83.73 L124.2,83.73 L124.2,341 L127.6,341 L127.6,102.1 L128.8,102.1 L128.8,341 L132.2,341 L132.2,139.4 L133.4,139.4 L133.4,341 L136.8,341 L136.8,184.2 L138,184.2 L138,341 L141.4,341 L141.4,227.3 L142.6,227.3 L142.6,341 L146,341 L146,263.5 L147.1,263.5 L147.1,341 L150.6,341 L150.6,290.9 L151.7,290.9 L151.7,341 L155.2,341 L155.2,310.2 L156.3,310.2 L156.3,341 L159.8,341 L159.8,322.8 L160.9,322.8 L160.9,341 L164.4,341 L164.4,330.7 L165.5,330.7 L165.5,341 L169,341 L169,335.4 L170.1,335.4 L170.1,341 L173.6,341 L173.6,338 L174.7,338 L174.7,341 L178.2,341 L178.2,339.5 L179.3,339.5 L179.3,341 L182.7,341 L182.7,340.2 L183.9,340.2 L183.9,341 L187.3,341 L187.3,340.6 L188.5,340.6 L188.5,341 L191.9,341 L191.9,340.8 L193.1,340.8 L193.1,341 L196.5,341 L196.5,340.9 L197.7,340.9 L197.7,341 L201.1,341 L201.1,341 L202.3,341 L202.3,341 L205.7,341 L205.7,341 L206.9,341 L206.9,341 L210.3,341 L210.3,341 L211.5,341 L211.5,341 L214.9,341 L214.9,341 L216.1,341 L216.1,341 L219.5,341 L219.5,341 L220.6,341 L220.6,341 L224.1,341 L224.1,341 L225.2,341 L225.2,341 L228.7,341 L228.7,341 L229.8,341 L229.8,341 L233.3,341 L233.3,341 L234.4,341 L234.4,341 L237.9,341 L237.9,341 L239,341 L239,341 L242.5,341 L242.5,341 L243.6,341 L243.6,341 L247.1,341 L247.1,341 L248.2,341 L248.2,341 L251.7,341 L251.7,341 L252.8,341 L252.8,341 L256.2,341 L256.2,341 L257.4,341 L257.4,341 L260.8,341 L260.8,341 L262,341 L262,341 L265.4,341 L265.4,341 L266.6,341 L266.6,341 L270,341 L270,341 L271.2,341 L271.2,341 L274.6,341 L274.6,341 L275.8,341 L275.8,341 L279.2,341 L279.2,341 L280.4,341 L280.4,341 L283.8,341 L283.8,341 L285,341 L285,341 L288.4,341 L288.4,341 L289.6,341 L289.6,341 L293,341 L293,341 L294.1,341 L294.1,341 L297.6,341 L297.6,341 L298.7,341 L298.7,341 L302.2,341 L302.2,341 L303.3,341 L303.3,341 L306.8,341 L306.8,341 L307.9,341 L307.9,341 L311.4,341 L311.4,341 L312.5,341 L312.5,341 L316,341 L316,341 L317.1,341 L317.1,341 L320.6,341 L320.6,341 L321.7,341 L321.7,341 L325.2,341 L325.2,341 L326.3,341 L326.3,341 L329.7,341 L329.7,341 L330.9,341 L330.9,341 L334.3,341 L334.3,341 L335.5,341 L335.5,341 L338.9,341 L338.9,341 L340.1,341 L340.1,341 L343.5,341 L343.5,341 L344.7,341 L344.7,341 L348.1,341 L348.1,341 L349.3,341 L349.3,341 L352.7,341 L352.7,341 L353.9,341 L353.9,341 L357.3,341 L357.3,341 L358.5,341 L358.5,341 L361.9,341 L361.9,341 L363,341 L363,341 L366.5,341 L366.5,341 L367.6,341 L367.6,341 L371.1,341 L371.1,341 L372.2,341 L372.2,341 L375.7,341 L375.7,341 L376.8,341 L376.8,341 L380.3,341 L380.3,341 L381.4,341 L381.4,341 L384.9,341 L384.9,341 L386,341 L386,341 L389.5,341 L389.5,341 L390.6,341 L390.6,341 L394.1,341 L394.1,341 L395.2,341 L395.2,341 L398.6,341 L398.6,341 L399.8,341 L399.8,341 L403.2,341 L403.2,341 L404.4,341 L404.4,341 L407.8,341 L407.8,341 L409,341 L409,341 L412.4,341 L412.4,341 L413.6,341 L413.6,341 L417,341 L417,341 L418.2,341 L418.2,341 L421.6,341 L421.6,341 L422.8,341 L422.8,341 L426.2,341 L426.2,341 L427.4,341 L427.4,341 L430.8,341 L430.8,341 L432,341 L432,341 L435.4,341 L435.4,341 L436.5,341 L436.5,341 L440,341 L440,341 L441.1,341 L441.1,341 L444.6,341 L444.6,341 L445.7,341 L445.7,341 L449.2,341 L449.2,341 L450.3,341 L450.3,341 L453.8,341 L453.8,341 L454.9,341 L454.9,341 L458.4,341 L458.4,341 L459.5,341 L459.5,341 L463,341 L463,341 L464.1,341 L464.1,341 L467.6,341 L467.6,341 L468.7,341 L468.7,341 L472.1,341 L472.1,341 L473.3,341 L473.3,341 L476.7,341 L476.7,341 L477.9,341 L477.9,341 L481.3,341 L481.3,341 L482.5,341 L482.5,341 L485.9,341 L485.9,341 L487.1,341 L487.1,341 L490.5,341 L490.5,341 L491.7,341 L491.7,341 L495.1,341 L495.1,341 L496.3,341 L496.3,341 L499.7,341 L499.7,341 L500.9,341 L500.9,341 L504.3,341 L504.3,341 L505.5,341 L505.5,341 L508.9,341 L508.9,341 L510,341 L510,341 L513.5,341 L513.5,341 L514.6,341 L514.6,341 L518.1,341 L518.1,341 L519.2,341 L519.2,341 L522.7,341 L522.7,341 L523.8,341 L523.8,341 L527.3,341 L527.3,341 L528.4,341 L528.4,341 L531.9,341 L531.9,341 L533,341 L533,341 L536.5,341 L536.5,341 L537.6,341 L537.6,341 L541.1,341 L541.1,341 L542.2,341 L542.2,341 L545.6,341 L545.6,341 L546.8,341 L546.8,341 L550.2,341 L550.2,341 L551.4,341 L551.4,341 L554.8,341 L554.8,341 L556,341 L556,341 L556,341 Z" fill="rgb(0,100,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="573.8" y="58" width="150.2" height="105"/><rect x="573.8" y="58" width="150.2" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="88" x2="603.8" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="118" x2="603.8" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="588.8" y1="148" x2="603.8" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="611.3" y="88" font-size="15" font-family="Verdana">n=20 p=0.25</text>
-<text x="611.3" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
-<text x="611.3" y="148" font-size="15" font-family="Verdana">n=20 p=0.75</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Negative Binomial Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg b/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg
deleted file mode 100644
index a907128b27..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/negative_binomial_pdf_2.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="473" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="475" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="94.95" y1="58" x2="94.95" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="567.6" y2="341"/><line x1="87.6" y1="341" x2="567.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,335.5 L92.6,335.5 M90.6,329.9 L92.6,329.9 M90.6,324.4 L92.6,324.4 M90.6,318.8 L92.6,318.8 M90.6,307.7 L92.6,307.7 M90.6,302.2 L92.6,302.2 M90.6,296.6 L92.6,296.6 M90.6,291.1 L92.6,291.1 M90.6,280 L92.6,280 M90.6,274.4 L92.6,274.4 M90.6,268.9 L92.6,268.9 M90.6,263.3 L92.6,263.3 M90.6,252.2 L92.6,252.2 M90.6,246.7 L92.6,246.7 M90.6,241.1 L92.6,241.1 M90.6,235.6 L92.6,235.6 M90.6,224.5 L92.6,224.5 M90.6,218.9 L92.6,218.9 M90.6,213.4 L92.6,213.4 M90.6,207.8 L92.6,207.8 M90.6,196.7 L92.6,196.7 M90.6,191.2 L92.6,191.2 M90.6,185.6 L92.6,185.6 M90.6,180.1 L92.6,180.1 M90.6,169 L92.6,169 M90.6,163.4 L92.6,163.4 M90.6,157.9 L92.6,157.9 M90.6,152.3 L92.6,152.3 M90.6,141.3 L92.6,141.3 M90.6,135.7 L92.6,135.7 M90.6,130.2 L92.6,130.2 M90.6,124.6 L92.6,124.6 M90.6,113.5 L92.6,113.5 M90.6,108 L92.6,108 M90.6,102.4 L92.6,102.4 M90.6,96.86 L92.6,96.86 M90.6,85.77 L92.6,85.77 M90.6,80.22 L92.6,80.22 M90.6,74.67 L92.6,74.67 M90.6,69.12 L92.6,69.12 M90.6,58.02 L92.6,58.02 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,313.3 L92.6,313.3 M87.6,285.5 L92.6,285.5 M87.6,257.8 L92.6,257.8 M87.6,230 L92.6,230 M87.6,202.3 L92.6,202.3 M87.6,174.5 L92.6,174.5 M87.6,146.8 L92.6,146.8 M87.6,119.1 L92.6,119.1 M87.6,91.32 L92.6,91.32 M87.6,63.57 L92.6,63.57 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M94.95,341 L94.95,346 M329.5,341 L329.5,346 M564.1,341 L564.1,346 M94.95,341 L94.95,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="94.95" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="329.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">50</text>
-<text x="564.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">100</text>
-<text x="94.95" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="315.7" text-anchor="end" font-size="12" font-family="Verdana">0.01</text>
-<text x="81.6" y="287.9" text-anchor="end" font-size="12" font-family="Verdana">0.02</text>
-<text x="81.6" y="260.2" text-anchor="end" font-size="12" font-family="Verdana">0.03</text>
-<text x="81.6" y="232.4" text-anchor="end" font-size="12" font-family="Verdana">0.04</text>
-<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="176.9" text-anchor="end" font-size="12" font-family="Verdana">0.06</text>
-<text x="81.6" y="149.2" text-anchor="end" font-size="12" font-family="Verdana">0.07</text>
-<text x="81.6" y="121.5" text-anchor="end" font-size="12" font-family="Verdana">0.08</text>
-<text x="81.6" y="93.72" text-anchor="end" font-size="12" font-family="Verdana">0.09</text>
-<text x="81.6" y="65.97" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="330.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M93.19,341 L93.19,341 L93.19,338.3 L94.36,338.3 L94.36,341 L97.88,341 L97.88,327.5 L99.05,327.5 L99.05,341 L102.6,341 L102.6,303.7 L103.7,303.7 L103.7,341 L107.3,341 L107.3,266.5 L108.4,266.5 L108.4,341 L112,341 L112,219.9 L113.1,219.9 L113.1,341 L116.6,341 L116.6,171.5 L117.8,171.5 L117.8,341 L121.3,341 L121.3,129.1 L122.5,129.1 L122.5,341 L126,341 L126,98.86 L127.2,98.86 L127.2,341 L130.7,341 L130.7,83.73 L131.9,83.73 L131.9,341 L135.4,341 L135.4,83.73 L136.6,83.73 L136.6,341 L140.1,341 L140.1,96.59 L141.3,96.59 L141.3,341 L144.8,341 L144.8,118.8 L146,118.8 L146,341 L149.5,341 L149.5,146.6 L150.7,146.6 L150.7,341 L154.2,341 L154.2,176.5 L155.4,176.5 L155.4,341 L158.9,341 L158.9,205.9 L160,205.9 L160,341 L163.6,341 L163.6,232.9 L164.7,232.9 L164.7,341 L168.3,341 L168.3,256.5 L169.4,256.5 L169.4,341 L172.9,341 L172.9,276.4 L174.1,276.4 L174.1,341 L177.6,341 L177.6,292.6 L178.8,292.6 L178.8,341 L182.3,341 L182.3,305.3 L183.5,305.3 L183.5,341 L187,341 L187,315.1 L188.2,315.1 L188.2,341 L191.7,341 L191.7,322.5 L192.9,322.5 L192.9,341 L196.4,341 L196.4,328 L197.6,328 L197.6,341 L201.1,341 L201.1,331.9 L202.3,331.9 L202.3,341 L205.8,341 L205.8,334.8 L207,334.8 L207,341 L210.5,341 L210.5,336.8 L211.7,336.8 L211.7,341 L215.2,341 L215.2,338.1 L216.3,338.1 L216.3,341 L219.9,341 L219.9,339.1 L221,339.1 L221,341 L224.6,341 L224.6,339.7 L225.7,339.7 L225.7,341 L229.3,341 L229.3,340.2 L230.4,340.2 L230.4,341 L233.9,341 L233.9,340.5 L235.1,340.5 L235.1,341 L238.6,341 L238.6,340.7 L239.8,340.7 L239.8,341 L243.3,341 L243.3,340.8 L244.5,340.8 L244.5,341 L248,341 L248,340.9 L249.2,340.9 L249.2,341 L252.7,341 L252.7,340.9 L253.9,340.9 L253.9,341 L257.4,341 L257.4,340.9 L258.6,340.9 L258.6,341 L262.1,341 L262.1,341 L263.3,341 L263.3,341 L266.8,341 L266.8,341 L268,341 L268,341 L271.5,341 L271.5,341 L272.7,341 L272.7,341 L276.2,341 L276.2,341 L277.3,341 L277.3,341 L280.9,341 L280.9,341 L282,341 L282,341 L285.6,341 L285.6,341 L286.7,341 L286.7,341 L290.2,341 L290.2,341 L291.4,341 L291.4,341 L294.9,341 L294.9,341 L296.1,341 L296.1,341 L299.6,341 L299.6,341 L300.8,341 L300.8,341 L304.3,341 L304.3,341 L305.5,341 L305.5,341 L309,341 L309,341 L310.2,341 L310.2,341 L313.7,341 L313.7,341 L314.9,341 L314.9,341 L318.4,341 L318.4,341 L319.6,341 L319.6,341 L323.1,341 L323.1,341 L324.3,341 L324.3,341 L327.8,341 L327.8,341 L329,341 L329,341 L332.5,341 L332.5,341 L333.6,341 L333.6,341 L337.2,341 L337.2,341 L338.3,341 L338.3,341 L341.9,341 L341.9,341 L343,341 L343,341 L346.6,341 L346.6,341 L347.7,341 L347.7,341 L351.2,341 L351.2,341 L352.4,341 L352.4,341 L355.9,341 L355.9,341 L357.1,341 L357.1,341 L360.6,341 L360.6,341 L361.8,341 L361.8,341 L365.3,341 L365.3,341 L366.5,341 L366.5,341 L370,341 L370,341 L371.2,341 L371.2,341 L374.7,341 L374.7,341 L375.9,341 L375.9,341 L379.4,341 L379.4,341 L380.6,341 L380.6,341 L384.1,341 L384.1,341 L385.3,341 L385.3,341 L388.8,341 L388.8,341 L390,341 L390,341 L393.5,341 L393.5,341 L394.6,341 L394.6,341 L398.2,341 L398.2,341 L399.3,341 L399.3,341 L402.9,341 L402.9,341 L404,341 L404,341 L407.5,341 L407.5,341 L408.7,341 L408.7,341 L412.2,341 L412.2,341 L413.4,341 L413.4,341 L416.9,341 L416.9,341 L418.1,341 L418.1,341 L421.6,341 L421.6,341 L422.8,341 L422.8,341 L426.3,341 L426.3,341 L427.5,341 L427.5,341 L431,341 L431,341 L432.2,341 L432.2,341 L435.7,341 L435.7,341 L436.9,341 L436.9,341 L440.4,341 L440.4,341 L441.6,341 L441.6,341 L445.1,341 L445.1,341 L446.3,341 L446.3,341 L449.8,341 L449.8,341 L450.9,341 L450.9,341 L454.5,341 L454.5,341 L455.6,341 L455.6,341 L459.2,341 L459.2,341 L460.3,341 L460.3,341 L463.8,341 L463.8,341 L465,341 L465,341 L468.5,341 L468.5,341 L469.7,341 L469.7,341 L473.2,341 L473.2,341 L474.4,341 L474.4,341 L477.9,341 L477.9,341 L479.1,341 L479.1,341 L482.6,341 L482.6,341 L483.8,341 L483.8,341 L487.3,341 L487.3,341 L488.5,341 L488.5,341 L492,341 L492,341 L493.2,341 L493.2,341 L496.7,341 L496.7,341 L497.9,341 L497.9,341 L501.4,341 L501.4,341 L502.6,341 L502.6,341 L506.1,341 L506.1,341 L507.2,341 L507.2,341 L510.8,341 L510.8,341 L511.9,341 L511.9,341 L515.5,341 L515.5,341 L516.6,341 L516.6,341 L520.2,341 L520.2,341 L521.3,341 L521.3,341 L524.8,341 L524.8,341 L526,341 L526,341 L529.5,341 L529.5,341 L530.7,341 L530.7,341 L534.2,341 L534.2,341 L535.4,341 L535.4,341 L538.9,341 L538.9,341 L540.1,341 L540.1,341 L543.6,341 L543.6,341 L544.8,341 L544.8,341 L548.3,341 L548.3,341 L549.5,341 L549.5,341 L553,341 L553,341 L554.2,341 L554.2,341 L557.7,341 L557.7,341 L558.9,341 L558.9,341 L562.4,341 L562.4,341 L563.6,341 L563.6,341 L563.6,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M94.36,341 L94.36,341 L94.36,341 L95.53,341 L95.53,341 L99.05,341 L99.05,341 L100.2,341 L100.2,341 L103.7,341 L103.7,340.9 L104.9,340.9 L104.9,341 L108.4,341 L108.4,340.5 L109.6,340.5 L109.6,341 L113.1,341 L113.1,339.5 L114.3,339.5 L114.3,341 L117.8,341 L117.8,337.5 L119,337.5 L119,341 L122.5,341 L122.5,333.7 L123.7,333.7 L123.7,341 L127.2,341 L127.2,327.4 L128.4,327.4 L128.4,341 L131.9,341 L131.9,318.1 L133.1,318.1 L133.1,341 L136.6,341 L136.6,305.3 L137.8,305.3 L137.8,341 L141.3,341 L141.3,289.2 L142.5,289.2 L142.5,341 L146,341 L146,270.4 L147.1,270.4 L147.1,341 L150.7,341 L150.7,249.8 L151.8,249.8 L151.8,341 L155.4,341 L155.4,228.8 L156.5,228.8 L156.5,341 L160,341 L160,208.8 L161.2,208.8 L161.2,341 L164.7,341 L164.7,191.1 L165.9,191.1 L165.9,341 L169.4,341 L169.4,177.1 L170.6,177.1 L170.6,341 L174.1,341 L174.1,167.5 L175.3,167.5 L175.3,341 L178.8,341 L178.8,162.6 L180,162.6 L180,341 L183.5,341 L183.5,162.6 L184.7,162.6 L184.7,341 L188.2,341 L188.2,167.1 L189.4,167.1 L189.4,341 L192.9,341 L192.9,175.4 L194.1,175.4 L194.1,341 L197.6,341 L197.6,186.7 L198.8,186.7 L198.8,341 L202.3,341 L202.3,200.1 L203.4,200.1 L203.4,341 L207,341 L207,214.8 L208.1,214.8 L208.1,341 L211.7,341 L211.7,229.9 L212.8,229.9 L212.8,341 L216.3,341 L216.3,244.9 L217.5,244.9 L217.5,341 L221,341 L221,259.1 L222.2,259.1 L222.2,341 L225.7,341 L225.7,272.3 L226.9,272.3 L226.9,341 L230.4,341 L230.4,284.1 L231.6,284.1 L231.6,341 L235.1,341 L235.1,294.5 L236.3,294.5 L236.3,341 L239.8,341 L239.8,303.5 L241,303.5 L241,341 L244.5,341 L244.5,311.1 L245.7,311.1 L245.7,341 L249.2,341 L249.2,317.5 L250.4,317.5 L250.4,341 L253.9,341 L253.9,322.7 L255.1,322.7 L255.1,341 L258.6,341 L258.6,326.9 L259.7,326.9 L259.7,341 L263.3,341 L263.3,330.2 L264.4,330.2 L264.4,341 L268,341 L268,332.8 L269.1,332.8 L269.1,341 L272.7,341 L272.7,334.9 L273.8,334.9 L273.8,341 L277.3,341 L277.3,336.4 L278.5,336.4 L278.5,341 L282,341 L282,337.6 L283.2,337.6 L283.2,341 L286.7,341 L286.7,338.5 L287.9,338.5 L287.9,341 L291.4,341 L291.4,339.2 L292.6,339.2 L292.6,341 L296.1,341 L296.1,339.7 L297.3,339.7 L297.3,341 L300.8,341 L300.8,340.1 L302,340.1 L302,341 L305.5,341 L305.5,340.3 L306.7,340.3 L306.7,341 L310.2,341 L310.2,340.5 L311.4,340.5 L311.4,341 L314.9,341 L314.9,340.7 L316.1,340.7 L316.1,341 L319.6,341 L319.6,340.8 L320.7,340.8 L320.7,341 L324.3,341 L324.3,340.8 L325.4,340.8 L325.4,341 L329,341 L329,340.9 L330.1,340.9 L330.1,341 L333.6,341 L333.6,340.9 L334.8,340.9 L334.8,341 L338.3,341 L338.3,340.9 L339.5,340.9 L339.5,341 L343,341 L343,341 L344.2,341 L344.2,341 L347.7,341 L347.7,341 L348.9,341 L348.9,341 L352.4,341 L352.4,341 L353.6,341 L353.6,341 L357.1,341 L357.1,341 L358.3,341 L358.3,341 L361.8,341 L361.8,341 L363,341 L363,341 L366.5,341 L366.5,341 L367.7,341 L367.7,341 L371.2,341 L371.2,341 L372.4,341 L372.4,341 L375.9,341 L375.9,341 L377,341 L377,341 L380.6,341 L380.6,341 L381.7,341 L381.7,341 L385.3,341 L385.3,341 L386.4,341 L386.4,341 L390,341 L390,341 L391.1,341 L391.1,341 L394.6,341 L394.6,341 L395.8,341 L395.8,341 L399.3,341 L399.3,341 L400.5,341 L400.5,341 L404,341 L404,341 L405.2,341 L405.2,341 L408.7,341 L408.7,341 L409.9,341 L409.9,341 L413.4,341 L413.4,341 L414.6,341 L414.6,341 L418.1,341 L418.1,341 L419.3,341 L419.3,341 L422.8,341 L422.8,341 L424,341 L424,341 L427.5,341 L427.5,341 L428.7,341 L428.7,341 L432.2,341 L432.2,341 L433.4,341 L433.4,341 L436.9,341 L436.9,341 L438,341 L438,341 L441.6,341 L441.6,341 L442.7,341 L442.7,341 L446.3,341 L446.3,341 L447.4,341 L447.4,341 L450.9,341 L450.9,341 L452.1,341 L452.1,341 L455.6,341 L455.6,341 L456.8,341 L456.8,341 L460.3,341 L460.3,341 L461.5,341 L461.5,341 L465,341 L465,341 L466.2,341 L466.2,341 L469.7,341 L469.7,341 L470.9,341 L470.9,341 L474.4,341 L474.4,341 L475.6,341 L475.6,341 L479.1,341 L479.1,341 L480.3,341 L480.3,341 L483.8,341 L483.8,341 L485,341 L485,341 L488.5,341 L488.5,341 L489.7,341 L489.7,341 L493.2,341 L493.2,341 L494.3,341 L494.3,341 L497.9,341 L497.9,341 L499,341 L499,341 L502.6,341 L502.6,341 L503.7,341 L503.7,341 L507.2,341 L507.2,341 L508.4,341 L508.4,341 L511.9,341 L511.9,341 L513.1,341 L513.1,341 L516.6,341 L516.6,341 L517.8,341 L517.8,341 L521.3,341 L521.3,341 L522.5,341 L522.5,341 L526,341 L526,341 L527.2,341 L527.2,341 L530.7,341 L530.7,341 L531.9,341 L531.9,341 L535.4,341 L535.4,341 L536.6,341 L536.6,341 L540.1,341 L540.1,341 L541.3,341 L541.3,341 L544.8,341 L544.8,341 L546,341 L546,341 L549.5,341 L549.5,341 L550.6,341 L550.6,341 L554.2,341 L554.2,341 L555.3,341 L555.3,341 L558.9,341 L558.9,341 L560,341 L560,341 L563.6,341 L563.6,341 L564.7,341 L564.7,341 L564.7,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M95.53,341 L95.53,341 L95.53,341 L96.71,341 L96.71,341 L100.2,341 L100.2,341 L101.4,341 L101.4,341 L104.9,341 L104.9,341 L106.1,341 L106.1,341 L109.6,341 L109.6,341 L110.8,341 L110.8,341 L114.3,341 L114.3,341 L115.5,341 L115.5,341 L119,341 L119,341 L120.2,341 L120.2,341 L123.7,341 L123.7,341 L124.9,341 L124.9,341 L128.4,341 L128.4,341 L129.5,341 L129.5,341 L133.1,341 L133.1,341 L134.2,341 L134.2,341 L137.8,341 L137.8,341 L138.9,341 L138.9,341 L142.5,341 L142.5,341 L143.6,341 L143.6,341 L147.1,341 L147.1,341 L148.3,341 L148.3,341 L151.8,341 L151.8,341 L153,341 L153,341 L156.5,341 L156.5,341 L157.7,341 L157.7,341 L161.2,341 L161.2,341 L162.4,341 L162.4,341 L165.9,341 L165.9,341 L167.1,341 L167.1,341 L170.6,341 L170.6,341 L171.8,341 L171.8,341 L175.3,341 L175.3,341 L176.5,341 L176.5,341 L180,341 L180,341 L181.2,341 L181.2,341 L184.7,341 L184.7,341 L185.9,341 L185.9,341 L189.4,341 L189.4,341 L190.5,341 L190.5,341 L194.1,341 L194.1,341 L195.2,341 L195.2,341 L198.8,341 L198.8,341 L199.9,341 L199.9,341 L203.4,341 L203.4,341 L204.6,341 L204.6,341 L208.1,341 L208.1,341 L209.3,341 L209.3,341 L212.8,341 L212.8,341 L214,341 L214,341 L217.5,341 L217.5,341 L218.7,341 L218.7,341 L222.2,341 L222.2,341 L223.4,341 L223.4,341 L226.9,341 L226.9,341 L228.1,341 L228.1,341 L231.6,341 L231.6,341 L232.8,341 L232.8,341 L236.3,341 L236.3,341 L237.5,341 L237.5,341 L241,341 L241,340.9 L242.2,340.9 L242.2,341 L245.7,341 L245.7,340.9 L246.8,340.9 L246.8,341 L250.4,341 L250.4,340.8 L251.5,340.8 L251.5,341 L255.1,341 L255.1,340.7 L256.2,340.7 L256.2,341 L259.7,341 L259.7,340.6 L260.9,340.6 L260.9,341 L264.4,341 L264.4,340.4 L265.6,340.4 L265.6,341 L269.1,341 L269.1,340.2 L270.3,340.2 L270.3,341 L273.8,341 L273.8,339.8 L275,339.8 L275,341 L278.5,341 L278.5,339.4 L279.7,339.4 L279.7,341 L283.2,341 L283.2,338.8 L284.4,338.8 L284.4,341 L287.9,341 L287.9,338 L289.1,338 L289.1,341 L292.6,341 L292.6,337.1 L293.8,337.1 L293.8,341 L297.3,341 L297.3,335.9 L298.5,335.9 L298.5,341 L302,341 L302,334.4 L303.1,334.4 L303.2,341 L306.7,341 L306.7,332.7 L307.8,332.7 L307.8,341 L311.4,341 L311.4,330.6 L312.5,330.6 L312.5,341 L316.1,341 L316.1,328.2 L317.2,328.2 L317.2,341 L320.7,341 L320.7,325.4 L321.9,325.4 L321.9,341 L325.4,341 L325.4,322.2 L326.6,322.2 L326.6,341 L330.1,341 L330.1,318.6 L331.3,318.6 L331.3,341 L334.8,341 L334.8,314.7 L336,314.7 L336,341 L339.5,341 L339.5,310.4 L340.7,310.4 L340.7,341 L344.2,341 L344.2,305.8 L345.4,305.8 L345.4,341 L348.9,341 L348.9,300.9 L350.1,300.9 L350.1,341 L353.6,341 L353.6,295.8 L354.8,295.8 L354.8,341 L358.3,341 L358.3,290.5 L359.5,290.5 L359.5,341 L363,341 L363,285.2 L364.1,285.2 L364.1,341 L367.7,341 L367.7,279.9 L368.8,279.9 L368.8,341 L372.4,341 L372.4,274.8 L373.5,274.8 L373.5,341 L377,341 L377,269.8 L378.2,269.8 L378.2,341 L381.7,341 L381.7,265.1 L382.9,265.1 L382.9,341 L386.4,341 L386.4,260.8 L387.6,260.8 L387.6,341 L391.1,341 L391.1,257 L392.3,257 L392.3,341 L395.8,341 L395.8,253.7 L397,253.7 L397,341 L400.5,341 L400.5,251.1 L401.7,251.1 L401.7,341 L405.2,341 L405.2,249 L406.4,249 L406.4,341 L409.9,341 L409.9,247.6 L411.1,247.6 L411.1,341 L414.6,341 L414.6,247 L415.8,247 L415.8,341 L419.3,341 L419.3,247 L420.4,247 L420.4,341 L424,341 L424,247.6 L425.1,247.6 L425.1,341 L428.7,341 L428.7,248.9 L429.8,248.9 L429.8,341 L433.4,341 L433.4,250.9 L434.5,250.9 L434.5,341 L438,341 L438,253.3 L439.2,253.3 L439.2,341 L442.7,341 L442.7,256.3 L443.9,256.3 L443.9,341 L447.4,341 L447.4,259.7 L448.6,259.7 L448.6,341 L452.1,341 L452.1,263.4 L453.3,263.4 L453.3,341 L456.8,341 L456.8,267.5 L458,267.5 L458,341 L461.5,341 L461.5,271.7 L462.7,271.7 L462.7,341 L466.2,341 L466.2,276.1 L467.4,276.1 L467.4,341 L470.9,341 L470.9,280.5 L472.1,280.5 L472.1,341 L475.6,341 L475.6,285 L476.8,285 L476.8,341 L480.3,341 L480.3,289.5 L481.4,289.5 L481.4,341 L485,341 L485,293.8 L486.1,293.8 L486.1,341 L489.7,341 L489.7,298 L490.8,298 L490.8,341 L494.3,341 L494.3,302.1 L495.5,302.1 L495.5,341 L499,341 L499,305.9 L500.2,305.9 L500.2,341 L503.7,341 L503.7,309.5 L504.9,309.5 L504.9,341 L508.4,341 L508.4,312.9 L509.6,312.9 L509.6,341 L513.1,341 L513.1,316.1 L514.3,316.1 L514.3,341 L517.8,341 L517.8,319 L519,319 L519,341 L522.5,341 L522.5,321.7 L523.7,321.7 L523.7,341 L527.2,341 L527.2,324.1 L528.4,324.1 L528.4,341 L531.9,341 L531.9,326.3 L533.1,326.3 L533.1,341 L536.6,341 L536.6,328.2 L537.7,328.2 L537.7,341 L541.3,341 L541.3,330 L542.4,330 L542.4,341 L546,341 L546,331.5 L547.1,331.5 L547.1,341 L550.6,341 L550.6,332.9 L551.8,332.9 L551.8,341 L555.3,341 L555.3,334.1 L556.5,334.1 L556.5,341 L560,341 L560,335.1 L561.2,335.1 L561.2,341 L564.7,341 L564.7,336 L565.9,336 L565.9,341 L565.9,341 Z" fill="rgb(0,100,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="105"/><rect x="581.6" y="58" width="142.4" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="619.1" y="88" font-size="15" font-family="Verdana">n=10 p=0.5</text>
-<text x="619.1" y="118" font-size="15" font-family="Verdana">n=20 p=0.5</text>
-<text x="619.1" y="148" font-size="15" font-family="Verdana">n=70 p=0.5</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Negative Binomial Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/normal_pdf.svg b/libs/math/doc/sf_and_dist/graphs/normal_pdf.svg
deleted file mode 100644
index 8e6e1e8668..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/normal_pdf.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="450" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="452" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="310.2" y1="58" x2="310.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="536.2" y2="341"/><line x1="79.2" y1="341" x2="536.2" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,334.6 L84.2,334.6 M82.2,328.1 L84.2,328.1 M82.2,321.7 L84.2,321.7 M82.2,315.2 L84.2,315.2 M82.2,302.3 L84.2,302.3 M82.2,295.9 L84.2,295.9 M82.2,289.4 L84.2,289.4 M82.2,283 L84.2,283 M82.2,270.1 L84.2,270.1 M82.2,263.6 L84.2,263.6 M82.2,257.2 L84.2,257.2 M82.2,250.7 L84.2,250.7 M82.2,237.8 L84.2,237.8 M82.2,231.4 L84.2,231.4 M82.2,224.9 L84.2,224.9 M82.2,218.5 L84.2,218.5 M82.2,205.6 L84.2,205.6 M82.2,199.1 L84.2,199.1 M82.2,192.7 L84.2,192.7 M82.2,186.2 L84.2,186.2 M82.2,173.3 L84.2,173.3 M82.2,166.9 L84.2,166.9 M82.2,160.4 L84.2,160.4 M82.2,154 L84.2,154 M82.2,141.1 L84.2,141.1 M82.2,134.6 L84.2,134.6 M82.2,128.2 L84.2,128.2 M82.2,121.7 L84.2,121.7 M82.2,108.8 L84.2,108.8 M82.2,102.4 L84.2,102.4 M82.2,95.94 L84.2,95.94 M82.2,89.49 L84.2,89.49 M82.2,76.6 L84.2,76.6 M82.2,70.15 L84.2,70.15 M82.2,63.7 L84.2,63.7 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M319.5,341 L319.5,343 M328.7,341 L328.7,343 M337.9,341 L337.9,343 M347.2,341 L347.2,343 M365.6,341 L365.6,343 M374.9,341 L374.9,343 M384.1,341 L384.1,343 M393.3,341 L393.3,343 M411.8,341 L411.8,343 M421,341 L421,343 M430.3,341 L430.3,343 M439.5,341 L439.5,343 M458,341 L458,343 M467.2,341 L467.2,343 M476.4,341 L476.4,343 M485.7,341 L485.7,343 M504.1,341 L504.1,343 M513.4,341 L513.4,343 M522.6,341 L522.6,343 M531.8,341 L531.8,343 M301,341 L301,343 M291.8,341 L291.8,343 M282.5,341 L282.5,343 M273.3,341 L273.3,343 M254.8,341 L254.8,343 M245.6,341 L245.6,343 M236.4,341 L236.4,343 M227.1,341 L227.1,343 M208.7,341 L208.7,343 M199.4,341 L199.4,343 M190.2,341 L190.2,343 M181,341 L181,343 M162.5,341 L162.5,343 M153.2,341 L153.2,343 M144,341 L144,343 M134.8,341 L134.8,343 M116.3,341 L116.3,343 M107.1,341 L107.1,343 M97.85,341 L97.85,343 M88.61,341 L88.61,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,308.8 L84.2,308.8 M79.2,276.5 L84.2,276.5 M79.2,244.3 L84.2,244.3 M79.2,212 L84.2,212 M79.2,179.8 L84.2,179.8 M79.2,147.5 L84.2,147.5 M79.2,115.3 L84.2,115.3 M79.2,83.05 L84.2,83.05 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M310.2,341 L310.2,346 M356.4,341 L356.4,346 M402.6,341 L402.6,346 M448.7,341 L448.7,346 M494.9,341 L494.9,346 M310.2,341 L310.2,346 M264.1,341 L264.1,346 M217.9,341 L217.9,346 M171.7,341 L171.7,346 M125.5,341 L125.5,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="310.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="356.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="402.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="448.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="494.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="310.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="264.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="217.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="171.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
-<text x="125.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="311.2" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="278.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="246.7" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="214.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="182.2" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="149.9" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="117.7" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="85.45" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="310.2" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,340.9 L131.7,340.9 L133.9,340.9 L136.2,340.9 L138.4,340.9 L140.7,340.8 L143,340.8 L145.2,340.8 L147.5,340.7 L149.7,340.7 L152,340.6 L154.3,340.6 L156.5,340.5 L158.8,340.4 L161,340.3 L163.3,340.2 L165.6,340.1 L167.8,339.9 L170.1,339.7 L172.3,339.5 L174.6,339.3 L176.9,339 L179.1,338.7 L181.4,338.4 L183.6,338 L185.9,337.6 L188.2,337.1 L190.4,336.6 L192.7,336 L194.9,335.3 L197.2,334.6 L199.5,333.8 L201.7,332.9 L204,331.9 L206.3,330.8 L208.5,329.6 L210.8,328.4 L213,327 L215.3,325.5 L217.6,323.8 L219.8,322.1 L222.1,320.2 L224.3,318.2 L226.6,316.1 L228.9,313.8 L231.1,311.4 L233.4,308.8 L235.6,306.1 L237.9,303.3 L240.2,300.3 L242.4,297.3 L244.7,294 L246.9,290.7 L249.2,287.3 L251.5,283.8 L253.7,280.2 L256,276.5 L258.2,272.8 L260.5,269 L262.8,265.2 L265,261.4 L267.3,257.5 L269.5,253.8 L271.8,250 L274.1,246.4 L276.3,242.8 L278.6,239.3 L280.8,235.9 L283.1,232.8 L285.4,229.7 L287.6,226.9 L289.9,224.3 L292.1,221.9 L294.4,219.7 L296.7,217.8 L298.9,216.2 L301.2,214.8 L303.4,213.7 L305.7,213 L308,212.5 L310.2,212.4 L312.5,212.5 L314.7,213 L317,213.7 L319.3,214.8 L321.5,216.2 L323.8,217.8 L326,219.7 L328.3,221.9 L330.6,224.3 L332.8,226.9 L335.1,229.7 L337.3,232.7 L339.6,235.9 L341.9,239.3 L344.1,242.8 L346.4,246.3 L348.6,250 L350.9,253.7 L353.2,257.5 L355.4,261.3 L357.7,265.2 L359.9,269 L362.2,272.8 L364.5,276.5 L366.7,280.2 L369,283.8 L371.2,287.3 L373.5,290.7 L375.8,294 L378,297.2 L380.3,300.3 L382.5,303.3 L384.8,306.1 L387.1,308.8 L389.3,311.4 L391.6,313.8 L393.8,316.1 L396.1,318.2 L398.4,320.2 L400.6,322.1 L402.9,323.8 L405.1,325.5 L407.4,327 L409.7,328.4 L411.9,329.6 L414.2,330.8 L416.4,331.9 L418.7,332.9 L421,333.8 L423.2,334.6 L425.5,335.3 L427.8,336 L430,336.6 L432.3,337.1 L434.5,337.6 L436.8,338 L439.1,338.4 L441.3,338.7 L443.6,339 L445.8,339.3 L448.1,339.5 L450.4,339.7 L452.6,339.9 L454.9,340 L457.1,340.2 L459.4,340.3 L461.7,340.4 L463.9,340.5 L466.2,340.6 L468.4,340.6 L470.7,340.7 L473,340.7 L475.2,340.8 L477.5,340.8 L479.7,340.8 L482,340.9 L484.3,340.9 L486.5,340.9 L488.8,340.9 L491,340.9 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,341 L131.7,341 L133.9,341 L136.2,341 L138.4,341 L140.7,341 L143,341 L145.2,341 L147.5,341 L149.7,341 L152,341 L154.3,341 L156.5,341 L158.8,341 L161,341 L163.3,341 L165.6,341 L167.8,341 L170.1,341 L172.3,341 L174.6,341 L176.9,341 L179.1,341 L181.4,341 L183.6,341 L185.9,341 L188.2,341 L190.4,341 L192.7,341 L194.9,341 L197.2,341 L199.5,341 L201.7,341 L204,341 L206.3,341 L208.5,341 L210.8,341 L213,341 L215.3,340.9 L217.6,340.9 L219.8,340.9 L222.1,340.8 L224.3,340.7 L226.6,340.6 L228.9,340.5 L231.1,340.3 L233.4,340 L235.6,339.6 L237.9,339.1 L240.2,338.4 L242.4,337.6 L244.7,336.4 L246.9,335 L249.2,333.2 L251.5,330.9 L253.7,328.1 L256,324.7 L258.2,320.6 L260.5,315.7 L262.8,309.9 L265,303.2 L267.3,295.4 L269.5,286.6 L271.8,276.6 L274.1,265.6 L276.3,253.5 L278.6,240.5 L280.8,226.6 L283.1,212 L285.4,197 L287.6,181.7 L289.9,166.5 L292.1,151.7 L294.4,137.6 L296.7,124.5 L298.9,112.8 L301.2,102.7 L303.4,94.6 L305.7,88.62 L308,84.96 L310.2,83.73 L312.5,84.95 L314.7,88.61 L317,94.58 L319.3,102.7 L321.5,112.8 L323.8,124.5 L326,137.6 L328.3,151.7 L330.6,166.5 L332.8,181.7 L335.1,196.9 L337.3,212 L339.6,226.5 L341.9,240.4 L344.1,253.5 L346.4,265.6 L348.6,276.6 L350.9,286.5 L353.2,295.4 L355.4,303.2 L357.7,309.9 L359.9,315.7 L362.2,320.6 L364.5,324.7 L366.7,328.1 L369,330.9 L371.2,333.2 L373.5,335 L375.8,336.4 L378,337.6 L380.3,338.4 L382.5,339.1 L384.8,339.6 L387.1,340 L389.3,340.3 L391.6,340.5 L393.8,340.6 L396.1,340.7 L398.4,340.8 L400.6,340.9 L402.9,340.9 L405.1,340.9 L407.4,341 L409.7,341 L411.9,341 L414.2,341 L416.4,341 L418.7,341 L421,341 L423.2,341 L425.5,341 L427.8,341 L430,341 L432.3,341 L434.5,341 L436.8,341 L439.1,341 L441.3,341 L443.6,341 L445.8,341 L448.1,341 L450.4,341 L452.6,341 L454.9,341 L457.1,341 L459.4,341 L461.7,341 L463.9,341 L466.2,341 L468.4,341 L470.7,341 L473,341 L475.2,341 L477.5,341 L479.7,341 L482,341 L484.3,341 L486.5,341 L488.8,341 L491,341 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,337.8 L86.46,337.6 L88.72,337.4 L90.98,337.2 L93.24,336.9 L95.5,336.7 L97.76,336.4 L100,336.2 L102.3,335.9 L104.5,335.6 L106.8,335.3 L109.1,335 L111.3,334.7 L113.6,334.3 L115.8,334 L118.1,333.6 L120.4,333.2 L122.6,332.8 L124.9,332.4 L127.1,332 L129.4,331.5 L131.7,331.1 L133.9,330.6 L136.2,330.1 L138.4,329.6 L140.7,329.1 L143,328.5 L145.2,328 L147.5,327.4 L149.7,326.8 L152,326.2 L154.3,325.6 L156.5,324.9 L158.8,324.2 L161,323.6 L163.3,322.9 L165.6,322.1 L167.8,321.4 L170.1,320.7 L172.3,319.9 L174.6,319.1 L176.9,318.3 L179.1,317.5 L181.4,316.7 L183.6,315.9 L185.9,315 L188.2,314.2 L190.4,313.3 L192.7,312.4 L194.9,311.5 L197.2,310.6 L199.5,309.7 L201.7,308.7 L204,307.8 L206.3,306.9 L208.5,305.9 L210.8,305 L213,304 L215.3,303.1 L217.6,302.1 L219.8,301.2 L222.1,300.2 L224.3,299.3 L226.6,298.3 L228.9,297.4 L231.1,296.4 L233.4,295.5 L235.6,294.6 L237.9,293.7 L240.2,292.8 L242.4,291.9 L244.7,291 L246.9,290.1 L249.2,289.3 L251.5,288.5 L253.7,287.7 L256,286.9 L258.2,286.1 L260.5,285.4 L262.8,284.6 L265,283.9 L267.3,283.3 L269.5,282.6 L271.8,282 L274.1,281.4 L276.3,280.9 L278.6,280.4 L280.8,279.9 L283.1,279.4 L285.4,279 L287.6,278.6 L289.9,278.2 L292.1,277.9 L294.4,277.6 L296.7,277.4 L298.9,277.2 L301.2,277 L303.4,276.9 L305.7,276.8 L308,276.7 L310.2,276.7 L312.5,276.7 L314.7,276.8 L317,276.9 L319.3,277 L321.5,277.2 L323.8,277.4 L326,277.6 L328.3,277.9 L330.6,278.2 L332.8,278.6 L335.1,279 L337.3,279.4 L339.6,279.9 L341.9,280.3 L344.1,280.9 L346.4,281.4 L348.6,282 L350.9,282.6 L353.2,283.3 L355.4,283.9 L357.7,284.6 L359.9,285.4 L362.2,286.1 L364.5,286.9 L366.7,287.7 L369,288.5 L371.2,289.3 L373.5,290.1 L375.8,291 L378,291.9 L380.3,292.8 L382.5,293.7 L384.8,294.6 L387.1,295.5 L389.3,296.4 L391.6,297.4 L393.8,298.3 L396.1,299.3 L398.4,300.2 L400.6,301.2 L402.9,302.1 L405.1,303.1 L407.4,304 L409.7,305 L411.9,305.9 L414.2,306.9 L416.4,307.8 L418.7,308.7 L421,309.7 L423.2,310.6 L425.5,311.5 L427.8,312.4 L430,313.3 L432.3,314.1 L434.5,315 L436.8,315.9 L439.1,316.7 L441.3,317.5 L443.6,318.3 L445.8,319.1 L448.1,319.9 L450.4,320.7 L452.6,321.4 L454.9,322.1 L457.1,322.9 L459.4,323.6 L461.7,324.2 L463.9,324.9 L466.2,325.6 L468.4,326.2 L470.7,326.8 L473,327.4 L475.2,328 L477.5,328.5 L479.7,329.1 L482,329.6 L484.3,330.1 L486.5,330.6 L488.8,331.1 L491,331.5 L493.3,332 L495.6,332.4 L497.8,332.8 L500.1,333.2 L502.3,333.6 L504.6,334 L506.9,334.3 L509.1,334.7 L511.4,335 L513.6,335.3 L515.9,335.6 L518.2,335.9 L520.4,336.2 L522.7,336.4 L524.9,336.7 L527.2,336.9 L529.5,337.2 L531.7,337.4 L534,337.6 L536.2,337.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,340.9 L86.46,340.9 L88.72,340.9 L90.98,340.9 L93.24,340.9 L95.5,340.8 L97.76,340.8 L100,340.8 L102.3,340.7 L104.5,340.7 L106.8,340.6 L109.1,340.5 L111.3,340.5 L113.6,340.4 L115.8,340.3 L118.1,340.1 L120.4,340 L122.6,339.8 L124.9,339.6 L127.1,339.4 L129.4,339.2 L131.7,338.9 L133.9,338.6 L136.2,338.2 L138.4,337.8 L140.7,337.4 L143,336.9 L145.2,336.3 L147.5,335.7 L149.7,335 L152,334.2 L154.3,333.4 L156.5,332.5 L158.8,331.4 L161,330.3 L163.3,329.1 L165.6,327.8 L167.8,326.3 L170.1,324.8 L172.3,323.1 L174.6,321.3 L176.9,319.4 L179.1,317.3 L181.4,315.1 L183.6,312.8 L185.9,310.3 L188.2,307.7 L190.4,304.9 L192.7,302 L194.9,299 L197.2,295.9 L199.5,292.6 L201.7,289.3 L204,285.8 L206.3,282.3 L208.5,278.6 L210.8,274.9 L213,271.2 L215.3,267.4 L217.6,263.5 L219.8,259.7 L222.1,255.9 L224.3,252.2 L226.6,248.4 L228.9,244.8 L231.1,241.3 L233.4,237.8 L235.6,234.6 L237.9,231.4 L240.2,228.5 L242.4,225.7 L244.7,223.2 L246.9,220.9 L249.2,218.9 L251.5,217.1 L253.7,215.5 L256,214.3 L258.2,213.4 L260.5,212.7 L262.8,212.4 L265,212.4 L267.3,212.7 L269.5,213.3 L271.8,214.2 L274.1,215.3 L276.3,216.8 L278.6,218.6 L280.8,220.6 L283.1,222.9 L285.4,225.4 L287.6,228.1 L289.9,231 L292.1,234.1 L294.4,237.4 L296.7,240.8 L298.9,244.3 L301.2,247.9 L303.4,251.6 L305.7,255.4 L308,259.2 L310.2,263 L312.5,266.8 L314.7,270.6 L317,274.4 L319.3,278.1 L321.5,281.7 L323.8,285.3 L326,288.8 L328.3,292.2 L330.6,295.4 L332.8,298.6 L335.1,301.6 L337.3,304.5 L339.6,307.3 L341.9,309.9 L344.1,312.4 L346.4,314.8 L348.6,317 L350.9,319.1 L353.2,321 L355.4,322.8 L357.7,324.5 L359.9,326.1 L362.2,327.6 L364.5,328.9 L366.7,330.1 L369,331.3 L371.2,332.3 L373.5,333.3 L375.8,334.1 L378,334.9 L380.3,335.6 L382.5,336.2 L384.8,336.8 L387.1,337.3 L389.3,337.8 L391.6,338.2 L393.8,338.5 L396.1,338.8 L398.4,339.1 L400.6,339.4 L402.9,339.6 L405.1,339.8 L407.4,340 L409.7,340.1 L411.9,340.2 L414.2,340.3 L416.4,340.4 L418.7,340.5 L421,340.6 L423.2,340.7 L425.5,340.7 L427.8,340.8 L430,340.8 L432.3,340.8 L434.5,340.9 L436.8,340.9 L439.1,340.9 L441.3,340.9 L443.6,340.9 L445.8,340.9 L448.1,341 L450.4,341 L452.6,341 L454.9,341 L457.1,341 L459.4,341 L461.7,341 L463.9,341 L466.2,341 L468.4,341 L470.7,341 L473,341 L475.2,341 L477.5,341 L479.7,341 L482,341 L484.3,341 L486.5,341 L488.8,341 L491,341 L493.3,341 L495.6,341 L497.8,341 L500.1,341 L502.3,341 L504.6,341 L506.9,341 L509.1,341 L511.4,341 L513.6,341 L515.9,341 L518.2,341 L520.4,341 L522.7,341 L524.9,341 L527.2,341 L529.5,341 L531.7,341 L534,341 L536.2,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.46,341 L88.72,341 L90.98,341 L93.24,341 L95.5,341 L97.76,341 L100,341 L102.3,341 L104.5,341 L106.8,341 L109.1,341 L111.3,341 L113.6,341 L115.8,341 L118.1,341 L120.4,341 L122.6,341 L124.9,341 L127.1,341 L129.4,341 L131.7,341 L133.9,341 L136.2,341 L138.4,341 L140.7,341 L143,341 L145.2,341 L147.5,341 L149.7,341 L152,341 L154.3,341 L156.5,341 L158.8,341 L161,341 L163.3,341 L165.6,341 L167.8,341 L170.1,341 L172.3,341 L174.6,340.9 L176.9,340.9 L179.1,340.9 L181.4,340.9 L183.6,340.9 L185.9,340.9 L188.2,340.8 L190.4,340.8 L192.7,340.8 L194.9,340.7 L197.2,340.7 L199.5,340.6 L201.7,340.5 L204,340.4 L206.3,340.3 L208.5,340.2 L210.8,340.1 L213,340 L215.3,339.8 L217.6,339.6 L219.8,339.4 L222.1,339.1 L224.3,338.8 L226.6,338.5 L228.9,338.2 L231.1,337.8 L233.4,337.3 L235.6,336.8 L237.9,336.2 L240.2,335.6 L242.4,334.9 L244.7,334.1 L246.9,333.3 L249.2,332.3 L251.5,331.3 L253.7,330.2 L256,328.9 L258.2,327.6 L260.5,326.1 L262.8,324.5 L265,322.9 L267.3,321 L269.5,319.1 L271.8,317 L274.1,314.8 L276.3,312.4 L278.6,309.9 L280.8,307.3 L283.1,304.5 L285.4,301.6 L287.6,298.6 L289.9,295.4 L292.1,292.2 L294.4,288.8 L296.7,285.3 L298.9,281.7 L301.2,278.1 L303.4,274.4 L305.7,270.6 L308,266.8 L310.2,263 L312.5,259.2 L314.7,255.4 L317,251.6 L319.3,247.9 L321.5,244.3 L323.8,240.8 L326,237.4 L328.3,234.1 L330.6,231 L332.8,228.1 L335.1,225.4 L337.3,222.9 L339.6,220.6 L341.9,218.6 L344.1,216.8 L346.4,215.4 L348.6,214.2 L350.9,213.3 L353.2,212.7 L355.4,212.4 L357.7,212.4 L359.9,212.7 L362.2,213.4 L364.5,214.3 L366.7,215.5 L369,217.1 L371.2,218.9 L373.5,220.9 L375.8,223.2 L378,225.7 L380.3,228.5 L382.5,231.4 L384.8,234.6 L387.1,237.8 L389.3,241.3 L391.6,244.8 L393.8,248.4 L396.1,252.1 L398.4,255.9 L400.6,259.7 L402.9,263.5 L405.1,267.3 L407.4,271.1 L409.7,274.9 L411.9,278.6 L414.2,282.2 L416.4,285.8 L418.7,289.3 L421,292.6 L423.2,295.9 L425.5,299 L427.8,302 L430,304.9 L432.3,307.7 L434.5,310.3 L436.8,312.8 L439.1,315.1 L441.3,317.3 L443.6,319.4 L445.8,321.3 L448.1,323.1 L450.4,324.8 L452.6,326.3 L454.9,327.8 L457.1,329.1 L459.4,330.3 L461.7,331.4 L463.9,332.5 L466.2,333.4 L468.4,334.2 L470.7,335 L473,335.7 L475.2,336.3 L477.5,336.9 L479.7,337.4 L482,337.8 L484.3,338.2 L486.5,338.6 L488.8,338.9 L491,339.2 L493.3,339.4 L495.6,339.6 L497.8,339.8 L500.1,340 L502.3,340.1 L504.6,340.3 L506.9,340.4 L509.1,340.5 L511.4,340.5 L513.6,340.6 L515.9,340.7 L518.2,340.7 L520.4,340.8 L522.7,340.8 L524.9,340.8 L527.2,340.9 L529.5,340.9 L531.7,340.9 L534,340.9 L536.2,340.9 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="550.2" y="58" width="173.8" height="165"/><rect x="550.2" y="58" width="173.8" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="88" x2="580.2" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="118" x2="580.2" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="148" x2="580.2" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="178" x2="580.2" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="565.2" y1="208" x2="580.2" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="587.7" y="88" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 1</text>
-<text x="587.7" y="118" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 0.5</text>
-<text x="587.7" y="148" font-size="15" font-family="Verdana">&#x3BC; = 0, &#x3C3; = 2</text>
-<text x="587.7" y="178" font-size="15" font-family="Verdana">&#x3BC; = -1, &#x3C3; = 1</text>
-<text x="587.7" y="208" font-size="15" font-family="Verdana">&#x3BC; = 1, &#x3C3; = 1</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Normal Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.svg b/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.svg
deleted file mode 100644
index b3733a913a..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/pareto_pdf1.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="504.9" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="506.9" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="591.1" y2="341"/><line x1="79.2" y1="341" x2="591.1" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.1 L84.2,335.1 M82.2,329.2 L84.2,329.2 M82.2,323.3 L84.2,323.3 M82.2,317.4 L84.2,317.4 M82.2,305.6 L84.2,305.6 M82.2,299.7 L84.2,299.7 M82.2,293.8 L84.2,293.8 M82.2,287.9 L84.2,287.9 M82.2,276.2 L84.2,276.2 M82.2,270.3 L84.2,270.3 M82.2,264.4 L84.2,264.4 M82.2,258.5 L84.2,258.5 M82.2,246.7 L84.2,246.7 M82.2,240.8 L84.2,240.8 M82.2,234.9 L84.2,234.9 M82.2,229 L84.2,229 M82.2,217.2 L84.2,217.2 M82.2,211.3 L84.2,211.3 M82.2,205.4 L84.2,205.4 M82.2,199.5 L84.2,199.5 M82.2,187.7 L84.2,187.7 M82.2,181.8 L84.2,181.8 M82.2,175.9 L84.2,175.9 M82.2,170.1 L84.2,170.1 M82.2,158.3 L84.2,158.3 M82.2,152.4 L84.2,152.4 M82.2,146.5 L84.2,146.5 M82.2,140.6 L84.2,140.6 M82.2,128.8 L84.2,128.8 M82.2,122.9 L84.2,122.9 M82.2,117 L84.2,117 M82.2,111.1 L84.2,111.1 M82.2,99.32 L84.2,99.32 M82.2,93.42 L84.2,93.42 M82.2,87.53 L84.2,87.53 M82.2,81.63 L84.2,81.63 M82.2,69.84 L84.2,69.84 M82.2,63.95 L84.2,63.95 M82.2,58.05 L84.2,58.05 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M84.2,341 L84.2,343 M124.6,341 L124.6,343 M165,341 L165,343 M205.4,341 L205.4,343 M286.2,341 L286.2,343 M326.5,341 L326.5,343 M366.9,341 L366.9,343 M407.3,341 L407.3,343 M488.1,341 L488.1,343 M528.5,341 L528.5,343 M568.9,341 L568.9,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,311.5 L84.2,311.5 M79.2,282.1 L84.2,282.1 M79.2,252.6 L84.2,252.6 M79.2,223.1 L84.2,223.1 M79.2,193.6 L84.2,193.6 M79.2,164.2 L84.2,164.2 M79.2,134.7 L84.2,134.7 M79.2,105.2 L84.2,105.2 M79.2,75.74 L84.2,75.74 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M245.8,341 L245.8,346 M447.7,341 L447.7,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="245.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="447.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="313.9" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="284.5" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="255" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="225.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="196" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="166.6" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="137.1" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="107.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="78.14" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="337.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,46.26 L86.73,80.04 L89.27,108.3 L91.8,132.3 L94.34,152.7 L96.87,170.2 L99.41,185.4 L101.9,198.7 L104.5,210.4 L107,220.6 L109.5,229.7 L112.1,237.8 L114.6,245.1 L117.1,251.6 L119.7,257.5 L122.2,262.8 L124.8,267.6 L127.3,272 L129.8,276 L132.4,279.7 L134.9,283 L137.4,286.1 L140,289 L142.5,291.6 L145,294.1 L147.6,296.3 L150.1,298.4 L152.6,300.4 L155.2,302.2 L157.7,303.9 L160.2,305.5 L162.8,307 L165.3,308.4 L167.8,309.7 L170.4,311 L172.9,312.2 L175.4,313.3 L178,314.3 L180.5,315.3 L183,316.2 L185.6,317.1 L188.1,317.9 L190.7,318.7 L193.2,319.5 L195.7,320.2 L198.3,320.8 L200.8,321.5 L203.3,322.1 L205.9,322.7 L208.4,323.2 L210.9,323.8 L213.5,324.3 L216,324.8 L218.5,325.2 L221.1,325.7 L223.6,326.1 L226.1,326.5 L228.7,326.9 L231.2,327.3 L233.7,327.7 L236.3,328 L238.8,328.4 L241.3,328.7 L243.9,329 L246.4,329.3 L248.9,329.6 L251.5,329.9 L254,330.1 L256.6,330.4 L259.1,330.6 L261.6,330.9 L264.2,331.1 L266.7,331.3 L269.2,331.5 L271.8,331.7 L274.3,331.9 L276.8,332.1 L279.4,332.3 L281.9,332.5 L284.4,332.7 L287,332.9 L289.5,333 L292,333.2 L294.6,333.4 L297.1,333.5 L299.6,333.7 L302.2,333.8 L304.7,333.9 L307.2,334.1 L309.8,334.2 L312.3,334.3 L314.8,334.5 L317.4,334.6 L319.9,334.7 L322.5,334.8 L325,334.9 L327.5,335 L330.1,335.1 L332.6,335.2 L335.1,335.3 L337.7,335.4 L340.2,335.5 L342.7,335.6 L345.3,335.7 L347.8,335.8 L350.3,335.9 L352.9,336 L355.4,336 L357.9,336.1 L360.5,336.2 L363,336.3 L365.5,336.4 L368.1,336.4 L370.6,336.5 L373.1,336.6 L375.7,336.6 L378.2,336.7 L380.7,336.8 L383.3,336.8 L385.8,336.9 L388.4,336.9 L390.9,337 L393.4,337.1 L396,337.1 L398.5,337.2 L401,337.2 L403.6,337.3 L406.1,337.3 L408.6,337.4 L411.2,337.4 L413.7,337.5 L416.2,337.5 L418.8,337.6 L421.3,337.6 L423.8,337.7 L426.4,337.7 L428.9,337.8 L431.4,337.8 L434,337.8 L436.5,337.9 L439,337.9 L441.6,338 L444.1,338 L446.6,338 L449.2,338.1 L451.7,338.1 L454.3,338.1 L456.8,338.2 L459.3,338.2 L461.9,338.2 L464.4,338.3 L466.9,338.3 L469.5,338.3 L472,338.4 L474.5,338.4 L477.1,338.4 L479.6,338.5 L482.1,338.5 L484.7,338.5 L487.2,338.6 L489.7,338.6 L492.3,338.6 L494.8,338.6 L497.3,338.7 L499.9,338.7 L502.4,338.7 L504.9,338.7 L507.5,338.8 L510,338.8 L512.5,338.8 L515.1,338.8 L517.6,338.9 L520.2,338.9 L522.7,338.9 L525.2,338.9 L527.8,338.9 L530.3,339 L532.8,339 L535.4,339 L537.9,339 L540.4,339.1 L543,339.1 L545.5,339.1 L548,339.1 L550.6,339.1 L553.1,339.1 L555.6,339.2 L558.2,339.2 L560.7,339.2 L563.2,339.2 L565.8,339.2 L568.3,339.3 L570.8,339.3 L573.4,339.3 L575.9,339.3 L578.4,339.3 L581,339.3 L583.5,339.3 L586.1,339.4 L588.6,339.4 L591.1,339.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.73,341 L89.27,341 L91.8,341 L94.34,341 L96.87,341 L99.41,341 L101.9,341 L104.5,341 L107,341 L109.5,341 L112.1,341 L114.6,341 L117.1,341 L119.7,341 L122.2,341 L124.8,194.2 L127.3,203 L129.8,211 L132.4,218.4 L134.9,225.1 L137.4,231.3 L140,237 L142.5,242.3 L145,247.1 L147.6,251.7 L150.1,255.9 L152.6,259.8 L155.2,263.5 L157.7,266.9 L160.2,270.1 L162.8,273 L165.3,275.9 L167.8,278.5 L170.4,281 L172.9,283.3 L175.4,285.5 L178,287.6 L180.5,289.5 L183,291.4 L185.6,293.2 L188.1,294.8 L190.7,296.4 L193.2,297.9 L195.7,299.3 L198.3,300.7 L200.8,302 L203.3,303.2 L205.9,304.4 L208.4,305.5 L210.9,306.6 L213.5,307.6 L216,308.6 L218.5,309.5 L221.1,310.4 L223.6,311.3 L226.1,312.1 L228.7,312.9 L231.2,313.6 L233.7,314.3 L236.3,315 L238.8,315.7 L241.3,316.4 L243.9,317 L246.4,317.6 L248.9,318.1 L251.5,318.7 L254,319.2 L256.6,319.8 L259.1,320.2 L261.6,320.7 L264.2,321.2 L266.7,321.6 L269.2,322.1 L271.8,322.5 L274.3,322.9 L276.8,323.3 L279.4,323.7 L281.9,324 L284.4,324.4 L287,324.7 L289.5,325.1 L292,325.4 L294.6,325.7 L297.1,326 L299.6,326.3 L302.2,326.6 L304.7,326.9 L307.2,327.1 L309.8,327.4 L312.3,327.7 L314.8,327.9 L317.4,328.2 L319.9,328.4 L322.5,328.6 L325,328.8 L327.5,329.1 L330.1,329.3 L332.6,329.5 L335.1,329.7 L337.7,329.9 L340.2,330.1 L342.7,330.2 L345.3,330.4 L347.8,330.6 L350.3,330.8 L352.9,330.9 L355.4,331.1 L357.9,331.3 L360.5,331.4 L363,331.6 L365.5,331.7 L368.1,331.9 L370.6,332 L373.1,332.1 L375.7,332.3 L378.2,332.4 L380.7,332.5 L383.3,332.7 L385.8,332.8 L388.4,332.9 L390.9,333 L393.4,333.1 L396,333.2 L398.5,333.4 L401,333.5 L403.6,333.6 L406.1,333.7 L408.6,333.8 L411.2,333.9 L413.7,334 L416.2,334.1 L418.8,334.2 L421.3,334.3 L423.8,334.3 L426.4,334.4 L428.9,334.5 L431.4,334.6 L434,334.7 L436.5,334.8 L439,334.8 L441.6,334.9 L444.1,335 L446.6,335.1 L449.2,335.1 L451.7,335.2 L454.3,335.3 L456.8,335.4 L459.3,335.4 L461.9,335.5 L464.4,335.6 L466.9,335.6 L469.5,335.7 L472,335.8 L474.5,335.8 L477.1,335.9 L479.6,335.9 L482.1,336 L484.7,336.1 L487.2,336.1 L489.7,336.2 L492.3,336.2 L494.8,336.3 L497.3,336.3 L499.9,336.4 L502.4,336.4 L504.9,336.5 L507.5,336.5 L510,336.6 L512.5,336.6 L515.1,336.7 L517.6,336.7 L520.2,336.8 L522.7,336.8 L525.2,336.9 L527.8,336.9 L530.3,336.9 L532.8,337 L535.4,337 L537.9,337.1 L540.4,337.1 L543,337.1 L545.5,337.2 L548,337.2 L550.6,337.3 L553.1,337.3 L555.6,337.3 L558.2,337.4 L560.7,337.4 L563.2,337.4 L565.8,337.5 L568.3,337.5 L570.8,337.5 L573.4,337.6 L575.9,337.6 L578.4,337.6 L581,337.7 L583.5,337.7 L586.1,337.7 L588.6,337.8 L591.1,337.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.73,341 L89.27,341 L91.8,341 L94.34,341 L96.87,341 L99.41,341 L101.9,341 L104.5,341 L107,341 L109.5,341 L112.1,341 L114.6,341 L117.1,341 L119.7,341 L122.2,341 L124.8,341 L127.3,341 L129.8,341 L132.4,341 L134.9,341 L137.4,341 L140,341 L142.5,341 L145,341 L147.6,341 L150.1,341 L152.6,341 L155.2,341 L157.7,341 L160.2,341 L162.8,341 L165.3,243.3 L167.8,247.2 L170.4,251 L172.9,254.5 L175.4,257.8 L178,260.9 L180.5,263.8 L183,266.6 L185.6,269.2 L188.1,271.7 L190.7,274.1 L193.2,276.4 L195.7,278.5 L198.3,280.5 L200.8,282.5 L203.3,284.3 L205.9,286.1 L208.4,287.7 L210.9,289.4 L213.5,290.9 L216,292.3 L218.5,293.7 L221.1,295.1 L223.6,296.4 L226.1,297.6 L228.7,298.8 L231.2,299.9 L233.7,301 L236.3,302.1 L238.8,303.1 L241.3,304 L243.9,305 L246.4,305.9 L248.9,306.7 L251.5,307.6 L254,308.4 L256.6,309.1 L259.1,309.9 L261.6,310.6 L264.2,311.3 L266.7,312 L269.2,312.6 L271.8,313.2 L274.3,313.8 L276.8,314.4 L279.4,315 L281.9,315.6 L284.4,316.1 L287,316.6 L289.5,317.1 L292,317.6 L294.6,318.1 L297.1,318.5 L299.6,319 L302.2,319.4 L304.7,319.8 L307.2,320.2 L309.8,320.6 L312.3,321 L314.8,321.4 L317.4,321.7 L319.9,322.1 L322.5,322.4 L325,322.8 L327.5,323.1 L330.1,323.4 L332.6,323.7 L335.1,324 L337.7,324.3 L340.2,324.6 L342.7,324.9 L345.3,325.1 L347.8,325.4 L350.3,325.6 L352.9,325.9 L355.4,326.1 L357.9,326.4 L360.5,326.6 L363,326.8 L365.5,327.1 L368.1,327.3 L370.6,327.5 L373.1,327.7 L375.7,327.9 L378.2,328.1 L380.7,328.3 L383.3,328.5 L385.8,328.7 L388.4,328.8 L390.9,329 L393.4,329.2 L396,329.4 L398.5,329.5 L401,329.7 L403.6,329.9 L406.1,330 L408.6,330.2 L411.2,330.3 L413.7,330.5 L416.2,330.6 L418.8,330.7 L421.3,330.9 L423.8,331 L426.4,331.1 L428.9,331.3 L431.4,331.4 L434,331.5 L436.5,331.6 L439,331.8 L441.6,331.9 L444.1,332 L446.6,332.1 L449.2,332.2 L451.7,332.3 L454.3,332.4 L456.8,332.5 L459.3,332.6 L461.9,332.7 L464.4,332.8 L466.9,332.9 L469.5,333 L472,333.1 L474.5,333.2 L477.1,333.3 L479.6,333.4 L482.1,333.5 L484.7,333.6 L487.2,333.7 L489.7,333.7 L492.3,333.8 L494.8,333.9 L497.3,334 L499.9,334.1 L502.4,334.1 L504.9,334.2 L507.5,334.3 L510,334.4 L512.5,334.4 L515.1,334.5 L517.6,334.6 L520.2,334.6 L522.7,334.7 L525.2,334.8 L527.8,334.8 L530.3,334.9 L532.8,335 L535.4,335 L537.9,335.1 L540.4,335.2 L543,335.2 L545.5,335.3 L548,335.3 L550.6,335.4 L553.1,335.4 L555.6,335.5 L558.2,335.5 L560.7,335.6 L563.2,335.7 L565.8,335.7 L568.3,335.8 L570.8,335.8 L573.4,335.9 L575.9,335.9 L578.4,336 L581,336 L583.5,336 L586.1,336.1 L588.6,336.1 L591.1,336.2 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="605.1" y="58" width="118.9" height="105"/><rect x="605.1" y="58" width="118.9" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="620.1" y1="88" x2="635.1" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="620.1" y1="118" x2="635.1" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="620.1" y1="148" x2="635.1" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="642.6" y="88" font-size="15" font-family="Verdana">scale=1</text>
-<text x="642.6" y="118" font-size="15" font-family="Verdana">scale=2</text>
-<text x="642.6" y="148" font-size="15" font-family="Verdana">scale=3</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Pareto Distribution PDF (shape=1)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.svg b/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.svg
deleted file mode 100644
index 99de4b6b38..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/pareto_pdf2.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,326.7 L84.2,326.7 M82.2,312.5 L84.2,312.5 M82.2,298.2 L84.2,298.2 M82.2,284 L84.2,284 M82.2,255.5 L84.2,255.5 M82.2,241.2 L84.2,241.2 M82.2,227 L84.2,227 M82.2,212.7 L84.2,212.7 M82.2,184.2 L84.2,184.2 M82.2,169.9 L84.2,169.9 M82.2,155.7 L84.2,155.7 M82.2,141.4 L84.2,141.4 M82.2,112.9 L84.2,112.9 M82.2,98.66 L84.2,98.66 M82.2,84.41 L84.2,84.41 M82.2,70.15 L84.2,70.15 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M99.48,341 L99.48,343 M114.8,341 L114.8,343 M130,341 L130,343 M145.3,341 L145.3,343 M175.9,341 L175.9,343 M191.1,341 L191.1,343 M206.4,341 L206.4,343 M221.7,341 L221.7,343 M252.3,341 L252.3,343 M267.5,341 L267.5,343 M282.8,341 L282.8,343 M298.1,341 L298.1,343 M328.7,341 L328.7,343 M343.9,341 L343.9,343 M359.2,341 L359.2,343 M374.5,341 L374.5,343 M405,341 L405,343 M420.3,341 L420.3,343 M435.6,341 L435.6,343 M450.9,341 L450.9,343 M481.4,341 L481.4,343 M496.7,341 L496.7,343 M512,341 L512,343 M527.3,341 L527.3,343 M557.8,341 L557.8,343 M573.1,341 L573.1,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,269.7 L84.2,269.7 M79.2,198.4 L84.2,198.4 M79.2,127.2 L84.2,127.2 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M160.6,341 L160.6,346 M237,341 L237,346 M313.4,341 L313.4,346 M389.8,341 L389.8,346 M466.2,341 L466.2,346 M542.5,341 L542.5,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="160.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="237" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="313.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="389.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="466.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
-<text x="542.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">7</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="272.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="200.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="129.6" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,269.7 L86.66,273 L89.11,276.1 L91.57,278.9 L94.02,281.6 L96.48,284 L98.94,286.3 L101.4,288.4 L103.8,290.4 L106.3,292.3 L108.8,294.1 L111.2,295.7 L113.7,297.3 L116.1,298.8 L118.6,300.2 L121,301.5 L123.5,302.8 L126,303.9 L128.4,305.1 L130.9,306.1 L133.3,307.2 L135.8,308.1 L138.2,309.1 L140.7,309.9 L143.1,310.8 L145.6,311.6 L148.1,312.3 L150.5,313.1 L153,313.8 L155.4,314.5 L157.9,315.1 L160.3,315.7 L162.8,316.3 L165.3,316.9 L167.7,317.5 L170.2,318 L172.6,318.5 L175.1,319 L177.5,319.5 L180,319.9 L182.4,320.4 L184.9,320.8 L187.4,321.2 L189.8,321.6 L192.3,322 L194.7,322.4 L197.2,322.7 L199.6,323.1 L202.1,323.4 L204.6,323.8 L207,324.1 L209.5,324.4 L211.9,324.7 L214.4,325 L216.8,325.3 L219.3,325.5 L221.7,325.8 L224.2,326.1 L226.7,326.3 L229.1,326.5 L231.6,326.8 L234,327 L236.5,327.2 L238.9,327.5 L241.4,327.7 L243.9,327.9 L246.3,328.1 L248.8,328.3 L251.2,328.5 L253.7,328.7 L256.1,328.8 L258.6,329 L261,329.2 L263.5,329.4 L266,329.5 L268.4,329.7 L270.9,329.8 L273.3,330 L275.8,330.2 L278.2,330.3 L280.7,330.4 L283.2,330.6 L285.6,330.7 L288.1,330.9 L290.5,331 L293,331.1 L295.4,331.2 L297.9,331.4 L300.3,331.5 L302.8,331.6 L305.3,331.7 L307.7,331.8 L310.2,331.9 L312.6,332.1 L315.1,332.2 L317.5,332.3 L320,332.4 L322.5,332.5 L324.9,332.6 L327.4,332.7 L329.8,332.8 L332.3,332.9 L334.7,332.9 L337.2,333 L339.6,333.1 L342.1,333.2 L344.6,333.3 L347,333.4 L349.5,333.5 L351.9,333.5 L354.4,333.6 L356.8,333.7 L359.3,333.8 L361.8,333.9 L364.2,333.9 L366.7,334 L369.1,334.1 L371.6,334.1 L374,334.2 L376.5,334.3 L378.9,334.3 L381.4,334.4 L383.9,334.5 L386.3,334.5 L388.8,334.6 L391.2,334.7 L393.7,334.7 L396.1,334.8 L398.6,334.8 L401,334.9 L403.5,335 L406,335 L408.4,335.1 L410.9,335.1 L413.3,335.2 L415.8,335.2 L418.2,335.3 L420.7,335.3 L423.2,335.4 L425.6,335.4 L428.1,335.5 L430.5,335.5 L433,335.6 L435.4,335.6 L437.9,335.7 L440.3,335.7 L442.8,335.8 L445.3,335.8 L447.7,335.8 L450.2,335.9 L452.6,335.9 L455.1,336 L457.5,336 L460,336.1 L462.5,336.1 L464.9,336.1 L467.4,336.2 L469.8,336.2 L472.3,336.2 L474.7,336.3 L477.2,336.3 L479.6,336.4 L482.1,336.4 L484.6,336.4 L487,336.5 L489.5,336.5 L491.9,336.5 L494.4,336.6 L496.8,336.6 L499.3,336.6 L501.8,336.7 L504.2,336.7 L506.7,336.7 L509.1,336.8 L511.6,336.8 L514,336.8 L516.5,336.9 L518.9,336.9 L521.4,336.9 L523.9,336.9 L526.3,337 L528.8,337 L531.2,337 L533.7,337.1 L536.1,337.1 L538.6,337.1 L541.1,337.1 L543.5,337.2 L546,337.2 L548.4,337.2 L550.9,337.2 L553.3,337.3 L555.8,337.3 L558.2,337.3 L560.7,337.3 L563.2,337.4 L565.6,337.4 L568.1,337.4 L570.5,337.4 L573,337.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,198.4 L86.66,207.2 L89.11,215.2 L91.57,222.4 L94.02,229.1 L96.48,235.2 L98.94,240.8 L101.4,246 L103.8,250.8 L106.3,255.3 L108.8,259.4 L111.2,263.2 L113.7,266.8 L116.1,270.1 L118.6,273.2 L121,276.1 L123.5,278.8 L126,281.4 L128.4,283.8 L130.9,286.1 L133.3,288.2 L135.8,290.2 L138.2,292.1 L140.7,293.9 L143.1,295.6 L145.6,297.2 L148.1,298.7 L150.5,300.2 L153,301.5 L155.4,302.8 L157.9,304.1 L160.3,305.2 L162.8,306.4 L165.3,307.4 L167.7,308.5 L170.2,309.4 L172.6,310.4 L175.1,311.3 L177.5,312.1 L180,312.9 L182.4,313.7 L184.9,314.5 L187.4,315.2 L189.8,315.9 L192.3,316.6 L194.7,317.2 L197.2,317.8 L199.6,318.4 L202.1,319 L204.6,319.5 L207,320 L209.5,320.5 L211.9,321 L214.4,321.5 L216.8,322 L219.3,322.4 L221.7,322.8 L224.2,323.2 L226.7,323.6 L229.1,324 L231.6,324.4 L234,324.7 L236.5,325.1 L238.9,325.4 L241.4,325.8 L243.9,326.1 L246.3,326.4 L248.8,326.7 L251.2,327 L253.7,327.2 L256.1,327.5 L258.6,327.8 L261,328 L263.5,328.3 L266,328.5 L268.4,328.8 L270.9,329 L273.3,329.2 L275.8,329.4 L278.2,329.6 L280.7,329.8 L283.2,330 L285.6,330.2 L288.1,330.4 L290.5,330.6 L293,330.8 L295.4,330.9 L297.9,331.1 L300.3,331.3 L302.8,331.4 L305.3,331.6 L307.7,331.8 L310.2,331.9 L312.6,332 L315.1,332.2 L317.5,332.3 L320,332.5 L322.5,332.6 L324.9,332.7 L327.4,332.9 L329.8,333 L332.3,333.1 L334.7,333.2 L337.2,333.3 L339.6,333.4 L342.1,333.6 L344.6,333.7 L347,333.8 L349.5,333.9 L351.9,334 L354.4,334.1 L356.8,334.2 L359.3,334.3 L361.8,334.4 L364.2,334.5 L366.7,334.5 L369.1,334.6 L371.6,334.7 L374,334.8 L376.5,334.9 L378.9,335 L381.4,335 L383.9,335.1 L386.3,335.2 L388.8,335.3 L391.2,335.3 L393.7,335.4 L396.1,335.5 L398.6,335.6 L401,335.6 L403.5,335.7 L406,335.8 L408.4,335.8 L410.9,335.9 L413.3,335.9 L415.8,336 L418.2,336.1 L420.7,336.1 L423.2,336.2 L425.6,336.2 L428.1,336.3 L430.5,336.3 L433,336.4 L435.4,336.5 L437.9,336.5 L440.3,336.6 L442.8,336.6 L445.3,336.7 L447.7,336.7 L450.2,336.7 L452.6,336.8 L455.1,336.8 L457.5,336.9 L460,336.9 L462.5,337 L464.9,337 L467.4,337.1 L469.8,337.1 L472.3,337.1 L474.7,337.2 L477.2,337.2 L479.6,337.3 L482.1,337.3 L484.6,337.3 L487,337.4 L489.5,337.4 L491.9,337.5 L494.4,337.5 L496.8,337.5 L499.3,337.6 L501.8,337.6 L504.2,337.6 L506.7,337.7 L509.1,337.7 L511.6,337.7 L514,337.8 L516.5,337.8 L518.9,337.8 L521.4,337.8 L523.9,337.9 L526.3,337.9 L528.8,337.9 L531.2,338 L533.7,338 L536.1,338 L538.6,338 L541.1,338.1 L543.5,338.1 L546,338.1 L548.4,338.2 L550.9,338.2 L553.3,338.2 L555.8,338.2 L558.2,338.3 L560.7,338.3 L563.2,338.3 L565.6,338.3 L568.1,338.3 L570.5,338.4 L573,338.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,55.9 L86.66,81.72 L89.11,104.5 L91.57,124.7 L94.02,142.7 L96.48,158.7 L98.94,173.1 L101.4,185.9 L103.8,197.5 L106.3,208 L108.8,217.5 L111.2,226.1 L113.7,233.9 L116.1,241 L118.6,247.5 L121,253.5 L123.5,258.9 L126,263.9 L128.4,268.5 L130.9,272.8 L133.3,276.7 L135.8,280.4 L138.2,283.7 L140.7,286.8 L143.1,289.7 L145.6,292.4 L148.1,294.9 L150.5,297.3 L153,299.5 L155.4,301.5 L157.9,303.4 L160.3,305.2 L162.8,306.9 L165.3,308.4 L167.7,309.9 L170.2,311.3 L172.6,312.6 L175.1,313.8 L177.5,315 L180,316.1 L182.4,317.1 L184.9,318.1 L187.4,319 L189.8,319.9 L192.3,320.8 L194.7,321.5 L197.2,322.3 L199.6,323 L202.1,323.7 L204.6,324.3 L207,324.9 L209.5,325.5 L211.9,326.1 L214.4,326.6 L216.8,327.1 L219.3,327.6 L221.7,328 L224.2,328.5 L226.7,328.9 L229.1,329.3 L231.6,329.7 L234,330 L236.5,330.4 L238.9,330.7 L241.4,331 L243.9,331.3 L246.3,331.6 L248.8,331.9 L251.2,332.2 L253.7,332.4 L256.1,332.7 L258.6,332.9 L261,333.2 L263.5,333.4 L266,333.6 L268.4,333.8 L270.9,334 L273.3,334.2 L275.8,334.4 L278.2,334.6 L280.7,334.7 L283.2,334.9 L285.6,335.1 L288.1,335.2 L290.5,335.4 L293,335.5 L295.4,335.7 L297.9,335.8 L300.3,335.9 L302.8,336 L305.3,336.2 L307.7,336.3 L310.2,336.4 L312.6,336.5 L315.1,336.6 L317.5,336.7 L320,336.8 L322.5,336.9 L324.9,337 L327.4,337.1 L329.8,337.2 L332.3,337.3 L334.7,337.4 L337.2,337.4 L339.6,337.5 L342.1,337.6 L344.6,337.7 L347,337.7 L349.5,337.8 L351.9,337.9 L354.4,337.9 L356.8,338 L359.3,338.1 L361.8,338.1 L364.2,338.2 L366.7,338.2 L369.1,338.3 L371.6,338.4 L374,338.4 L376.5,338.5 L378.9,338.5 L381.4,338.6 L383.9,338.6 L386.3,338.7 L388.8,338.7 L391.2,338.7 L393.7,338.8 L396.1,338.8 L398.6,338.9 L401,338.9 L403.5,338.9 L406,339 L408.4,339 L410.9,339.1 L413.3,339.1 L415.8,339.1 L418.2,339.2 L420.7,339.2 L423.2,339.2 L425.6,339.3 L428.1,339.3 L430.5,339.3 L433,339.3 L435.4,339.4 L437.9,339.4 L440.3,339.4 L442.8,339.5 L445.3,339.5 L447.7,339.5 L450.2,339.5 L452.6,339.6 L455.1,339.6 L457.5,339.6 L460,339.6 L462.5,339.6 L464.9,339.7 L467.4,339.7 L469.8,339.7 L472.3,339.7 L474.7,339.8 L477.2,339.8 L479.6,339.8 L482.1,339.8 L484.6,339.8 L487,339.8 L489.5,339.9 L491.9,339.9 L494.4,339.9 L496.8,339.9 L499.3,339.9 L501.8,339.9 L504.2,340 L506.7,340 L509.1,340 L511.6,340 L514,340 L516.5,340 L518.9,340 L521.4,340.1 L523.9,340.1 L526.3,340.1 L528.8,340.1 L531.2,340.1 L533.7,340.1 L536.1,340.1 L538.6,340.2 L541.1,340.2 L543.5,340.2 L546,340.2 L548.4,340.2 L550.9,340.2 L553.3,340.2 L555.8,340.2 L558.2,340.2 L560.7,340.2 L563.2,340.3 L565.6,340.3 L568.1,340.3 L570.5,340.3 L573,340.3 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="626.9" y="88" font-size="15" font-family="Verdana">shape=0.5</text>
-<text x="626.9" y="118" font-size="15" font-family="Verdana">shape=1</text>
-<text x="626.9" y="148" font-size="15" font-family="Verdana">shape=2</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Pareto Distribution PDF (scale=1)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.svg b/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.svg
deleted file mode 100644
index 9d1a759a1a..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/poisson_pdf_1.svg
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="520" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="522" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="100.7" y1="58" x2="100.7" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="341" x2="614.6" y2="341"/><line x1="87.6" y1="341" x2="614.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,326.3 L92.6,326.3 M90.6,311.7 L92.6,311.7 M90.6,297 L92.6,297 M90.6,282.4 L92.6,282.4 M90.6,253 L92.6,253 M90.6,238.4 L92.6,238.4 M90.6,223.7 L92.6,223.7 M90.6,209 L92.6,209 M90.6,179.7 L92.6,179.7 M90.6,165.1 L92.6,165.1 M90.6,150.4 L92.6,150.4 M90.6,135.7 L92.6,135.7 M90.6,106.4 L92.6,106.4 M90.6,91.74 L92.6,91.74 M90.6,77.08 L92.6,77.08 M90.6,62.42 L92.6,62.42 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,341 L92.6,341 M87.6,267.7 L92.6,267.7 M87.6,194.4 L92.6,194.4 M87.6,121.1 L92.6,121.1 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M100.7,341 L100.7,346 M181.2,341 L181.2,346 M261.7,341 L261.7,346 M342.2,341 L342.2,346 M422.7,341 L422.7,346 M503.2,341 L503.2,346 M583.8,341 L583.8,346 M100.7,341 L100.7,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="100.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="181.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="261.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="342.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="422.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="503.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">25</text>
-<text x="583.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
-<text x="100.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="270.1" text-anchor="end" font-size="12" font-family="Verdana">0.05</text>
-<text x="81.6" y="196.8" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="81.6" y="123.5" text-anchor="end" font-size="12" font-family="Verdana">0.15</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="353.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" fill="rgb(0,0,139)" stroke-width="1"><path d="M94.61,341 L94.61,341 L94.61,331.1 L98.64,331.1 L98.64,341 L110.7,341 L110.7,291.6 L114.7,291.6 L114.7,341 L126.8,341 L126.8,217.5 L130.8,217.5 L130.8,341 L142.9,341 L142.9,135.2 L147,135.2 L147,341 L159,341 L159,83.73 L163.1,83.73 L163.1,341 L175.1,341 L175.1,83.73 L179.2,83.73 L179.2,341 L191.2,341 L191.2,126.6 L195.3,126.6 L195.3,341 L207.3,341 L207.3,187.9 L211.4,187.9 L211.4,341 L223.4,341 L223.4,245.3 L227.5,245.3 L227.5,341 L239.5,341 L239.5,287.8 L243.6,287.8 L243.6,341 L255.7,341 L255.7,314.4 L259.7,314.4 L259.7,341 L271.8,341 L271.8,328.9 L275.8,328.9 L275.8,341 L287.9,341 L287.9,336 L291.9,336 L291.9,341 L304,341 L304,339.1 L308,339.1 L308,341 L320.1,341 L320.1,340.3 L324.1,340.3 L324.1,341 L336.2,341 L336.2,340.8 L340.2,340.8 L340.2,341 L352.3,341 L352.3,340.9 L356.3,340.9 L356.3,341 L368.4,341 L368.4,341 L372.4,341 L372.4,341 L384.5,341 L384.5,341 L388.5,341 L388.5,341 L400.6,341 L400.6,341 L404.6,341 L404.6,341 L416.7,341 L416.7,341 L420.7,341 L420.7,341 L432.8,341 L432.8,341 L436.8,341 L436.8,341 L448.9,341 L448.9,341 L452.9,341 L452.9,341 L465,341 L465,341 L469,341 L469,341 L481.1,341 L481.1,341 L485.1,341 L485.1,341 L497.2,341 L497.2,341 L501.2,341 L501.2,341 L513.3,341 L513.3,341 L517.3,341 L517.3,341 L529.4,341 L529.4,341 L533.4,341 L533.4,341 L545.5,341 L545.5,341 L549.5,341 L549.5,341 L561.6,341 L561.6,341 L565.7,341 L565.7,341 L577.7,341 L577.7,341 L581.8,341 L581.8,341 L593.8,341 L593.8,341 L597.9,341 L597.9,341 L597.9,341 Z" fill="rgb(0,0,139)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" fill="rgb(139,0,0)" stroke-width="1"><path d="M98.64,341 L98.64,341 L98.64,340.9 L102.7,340.9 L102.7,341 L114.7,341 L114.7,340.3 L118.8,340.3 L118.8,341 L130.8,341 L130.8,337.7 L134.9,337.7 L134.9,341 L147,341 L147,329.9 L151,329.9 L151,341 L163.1,341 L163.1,313.3 L167.1,313.3 L167.1,341 L179.2,341 L179.2,285.5 L183.2,285.5 L183.2,341 L195.3,341 L195.3,248.5 L199.3,248.5 L199.3,341 L211.4,341 L211.4,208.9 L215.4,208.9 L215.4,341 L227.5,341 L227.5,175.9 L231.5,175.9 L231.5,341 L243.6,341 L243.6,157.6 L247.6,157.6 L247.6,341 L259.7,341 L259.7,157.6 L263.7,157.6 L263.7,341 L275.8,341 L275.8,174.2 L279.8,174.2 L279.8,341 L291.9,341 L291.9,202 L295.9,202 L295.9,341 L308,341 L308,234.1 L312,234.1 L312,341 L324.1,341 L324.1,264.6 L328.1,264.6 L328.1,341 L340.2,341 L340.2,290.1 L344.2,290.1 L344.2,341 L356.3,341 L356.3,309.2 L360.3,309.2 L360.3,341 L372.4,341 L372.4,322.3 L376.4,322.3 L376.4,341 L388.5,341 L388.5,330.6 L392.5,330.6 L392.5,341 L404.6,341 L404.6,335.5 L408.6,335.5 L408.6,341 L420.7,341 L420.7,338.3 L424.7,338.3 L424.7,341 L436.8,341 L436.8,339.7 L440.8,339.7 L440.8,341 L452.9,341 L452.9,340.4 L457,340.4 L457,341 L469,341 L469,340.7 L473.1,340.7 L473.1,341 L485.1,341 L485.1,340.9 L489.2,340.9 L489.2,341 L501.2,341 L501.2,341 L505.3,341 L505.3,341 L517.3,341 L517.3,341 L521.4,341 L521.4,341 L533.4,341 L533.4,341 L537.5,341 L537.5,341 L549.5,341 L549.5,341 L553.6,341 L553.6,341 L565.7,341 L565.7,341 L569.7,341 L569.7,341 L581.8,341 L581.8,341 L585.8,341 L585.8,341 L597.9,341 L597.9,341 L601.9,341 L601.9,341 L601.9,341 Z" fill="rgb(139,0,0)"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" fill="rgb(0,100,0)" stroke-width="1"><path d="M102.7,341 L102.7,341 L102.7,341 L106.7,341 L106.7,341 L118.8,341 L118.8,341 L122.8,341 L122.8,341 L134.9,341 L134.9,341 L138.9,341 L138.9,341 L151,341 L151,341 L155,341 L155,341 L167.1,341 L167.1,341 L171.1,341 L171.1,341 L183.2,341 L183.2,340.9 L187.2,340.9 L187.2,341 L199.3,341 L199.3,340.7 L203.3,340.7 L203.3,341 L215.4,341 L215.4,340.2 L219.4,340.2 L219.4,341 L231.5,341 L231.5,339.1 L235.5,339.1 L235.5,341 L247.6,341 L247.6,336.7 L251.6,336.7 L251.6,341 L263.7,341 L263.7,332.5 L267.7,332.5 L267.7,341 L279.8,341 L279.8,325.5 L283.8,325.5 L283.8,341 L295.9,341 L295.9,315.2 L299.9,315.2 L299.9,341 L312,341 L312,301.2 L316,301.2 L316,341 L328.1,341 L328.1,284.2 L332.1,284.2 L332.1,341 L344.2,341 L344.2,265.3 L348.2,265.3 L348.2,341 L360.3,341 L360.3,246.3 L364.4,246.3 L364.4,341 L376.4,341 L376.4,229.6 L380.5,229.6 L380.5,341 L392.5,341 L392.5,217.3 L396.6,217.3 L396.6,341 L408.6,341 L408.6,210.7 L412.7,210.7 L412.7,341 L424.7,341 L424.7,210.7 L428.8,210.7 L428.8,341 L440.8,341 L440.8,217 L444.9,217 L444.9,341 L457,341 L457,228.2 L461,228.2 L461,341 L473.1,341 L473.1,242.9 L477.1,242.9 L477.1,341 L489.2,341 L489.2,259.3 L493.2,259.3 L493.2,341 L505.3,341 L505.3,275.6 L509.3,275.6 L509.3,341 L521.4,341 L521.4,290.7 L525.4,290.7 L525.4,341 L537.5,341 L537.5,303.7 L541.5,303.7 L541.5,341 L553.6,341 L553.6,314.4 L557.6,314.4 L557.6,341 L569.7,341 L569.7,322.6 L573.7,322.6 L573.7,341 L585.8,341 L585.8,328.8 L589.8,328.8 L589.8,341 L601.9,341 L601.9,333.1 L605.9,333.1 L605.9,341 L605.9,341 Z" fill="rgb(0,100,0)"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="628.6" y="58" width="95.36" height="105"/><rect x="628.6" y="58" width="95.36" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="88" x2="658.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="118" x2="658.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="148" x2="658.6" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="666.1" y="88" font-size="15" font-family="Verdana">&#x3BB;=5</text>
-<text x="666.1" y="118" font-size="15" font-family="Verdana">&#x3BB;=10</text>
-<text x="666.1" y="148" font-size="15" font-family="Verdana">&#x3BB;=20</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Poisson Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/powm1.svg b/libs/math/doc/sf_and_dist/graphs/powm1.svg
deleted file mode 100644
index 3ea0e4bedb..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/powm1.svg
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="359.5" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="361.5" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="253" y1="58" x2="253" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="315.8" x2="437.3" y2="315.8"/><line x1="70.8" y1="341" x2="437.3" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,284.2 L75.8,284.2 M73.8,252.7 L75.8,252.7 M73.8,221.2 L75.8,221.2 M73.8,158.1 L75.8,158.1 M73.8,126.6 L75.8,126.6 M73.8,95.08 L75.8,95.08 M73.8,315.8 L75.8,315.8 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M261.9,341 L261.9,343 M270.7,341 L270.7,343 M279.6,341 L279.6,343 M297.3,341 L297.3,343 M306.2,341 L306.2,343 M315,341 L315,343 M332.7,341 L332.7,343 M341.6,341 L341.6,343 M350.5,341 L350.5,343 M368.2,341 L368.2,343 M377,341 L377,343 M385.9,341 L385.9,343 M403.6,341 L403.6,343 M412.5,341 L412.5,343 M421.3,341 L421.3,343 M244.1,341 L244.1,343 M235.3,341 L235.3,343 M226.4,341 L226.4,343 M208.7,341 L208.7,343 M199.8,341 L199.8,343 M191,341 L191,343 M173.3,341 L173.3,343 M164.4,341 L164.4,343 M155.5,341 L155.5,343 M137.8,341 L137.8,343 M129,341 L129,343 M120.1,341 L120.1,343 M102.4,341 L102.4,343 M93.52,341 L93.52,343 M84.66,341 L84.66,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,315.8 L75.8,315.8 M70.8,189.7 L75.8,189.7 M70.8,63.55 L75.8,63.55 M70.8,315.8 L75.8,315.8 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M253,341 L253,346 M288.4,341 L288.4,346 M323.9,341 L323.9,346 M359.3,341 L359.3,346 M394.8,341 L394.8,346 M430.2,341 L430.2,346 M253,341 L253,346 M217.6,341 L217.6,346 M182.1,341 L182.1,346 M146.7,341 L146.7,346 M111.2,341 L111.2,346 M75.8,341 L75.8,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="253" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="288.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="323.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="359.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="394.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="430.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="253" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="217.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="182.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="146.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
-<text x="111.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text>
-<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="318.2" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="192.1" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="64.8" y="318.2" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">powm1(a, z)</text></g>
-<g id="xLabel">
-<text x="256.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M243.8,63.55 L244.7,123.2 L245.6,170.1 L246.6,206.9 L247.5,235.7 L248.4,258.4 L249.4,276.1 L250.3,290.1 L251.2,301 L252.2,309.6 L253.1,316.4 L254,321.7 L255,325.8 L255.9,329.1 L256.8,331.7 L257.8,333.7 L258.7,335.2 L259.6,336.5 L260.5,337.5 L261.5,338.2 L262.4,338.8 L263.3,339.3 L264.3,339.7 L265.2,339.9 L266.1,340.2 L267.1,340.3 L268,340.5 L268.9,340.6 L269.9,340.7 L270.8,340.8 L271.7,340.8 L272.7,340.8 L273.6,340.9 L274.5,340.9 L275.5,340.9 L276.4,340.9 L277.3,341 L278.3,341 L279.2,341 L280.1,341 L281.1,341 L282,341 L282.9,341 L283.9,341 L284.8,341 L285.7,341 L286.6,341 L287.6,341 L288.5,341 L289.4,341 L290.4,341 L291.3,341 L292.2,341 L293.2,341 L294.1,341 L295,341 L296,341 L296.9,341 L297.8,341 L298.8,341 L299.7,341 L300.6,341 L301.6,341 L302.5,341 L303.4,341 L304.4,341 L305.3,341 L306.2,341 L307.2,341 L308.1,341 L309,341 L309.9,341 L310.9,341 L311.8,341 L312.7,341 L313.7,341 L314.6,341 L315.5,341 L316.5,341 L317.4,341 L318.3,341 L319.3,341 L320.2,341 L321.1,341 L322.1,341 L323,341 L323.9,341 L324.9,341 L325.8,341 L326.7,341 L327.7,341 L328.6,341 L329.5,341 L330.5,341 L331.4,341 L332.3,341 L333.3,341 L334.2,341 L335.1,341 L336,341 L337,341 L337.9,341 L338.8,341 L339.8,341 L340.7,341 L341.6,341 L342.6,341 L343.5,341 L344.4,341 L345.4,341 L346.3,341 L347.2,341 L348.2,341 L349.1,341 L350,341 L351,341 L351.9,341 L352.8,341 L353.8,341 L354.7,341 L355.6,341 L356.6,341 L357.5,341 L358.4,341 L359.4,341 L360.3,341 L361.2,341 L362.1,341 L363.1,341 L364,341 L364.9,341 L365.9,341 L366.8,341 L367.7,341 L368.7,341 L369.6,341 L370.5,341 L371.5,341 L372.4,341 L373.3,341 L374.3,341 L375.2,341 L376.1,341 L377.1,341 L378,341 L378.9,341 L379.9,341 L380.8,341 L381.7,341 L382.7,341 L383.6,341 L384.5,341 L385.5,341 L386.4,341 L387.3,341 L388.2,341 L389.2,341 L390.1,341 L391,341 L392,341 L392.9,341 L393.8,341 L394.8,341 L395.7,341 L396.6,341 L397.6,341 L398.5,341 L399.4,341 L400.4,341 L401.3,341 L402.2,341 L403.2,341 L404.1,341 L405,341 L406,341 L406.9,341 L407.8,341 L408.8,341 L409.7,341 L410.6,341 L411.5,341 L412.5,341 L413.4,341 L414.3,341 L415.3,341 L416.2,341 L417.1,341 L418.1,341 L419,341 L419.9,341 L420.9,341 L421.8,341 L422.7,341 L423.7,341 L424.6,341 L425.5,341 L426.5,341 L427.4,341 L428.3,341 L429.3,341 L430.2,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M240.7,63.55 L241.6,110.3 L242.6,149.2 L243.5,181.6 L244.5,208.5 L245.4,230.8 L246.4,249.4 L247.3,264.8 L248.3,277.7 L249.2,288.4 L250.2,297.2 L251.1,304.6 L252.1,310.8 L253,315.9 L254,320.1 L254.9,323.6 L255.9,326.5 L256.8,329 L257.7,331 L258.7,332.7 L259.6,334.1 L260.6,335.3 L261.5,336.2 L262.5,337 L263.4,337.7 L264.4,338.3 L265.3,338.7 L266.3,339.1 L267.2,339.4 L268.2,339.7 L269.1,339.9 L270.1,340.1 L271,340.2 L272,340.4 L272.9,340.5 L273.9,340.6 L274.8,340.6 L275.8,340.7 L276.7,340.8 L277.6,340.8 L278.6,340.8 L279.5,340.9 L280.5,340.9 L281.4,340.9 L282.4,340.9 L283.3,340.9 L284.3,340.9 L285.2,341 L286.2,341 L287.1,341 L288.1,341 L289,341 L290,341 L290.9,341 L291.9,341 L292.8,341 L293.8,341 L294.7,341 L295.6,341 L296.6,341 L297.5,341 L298.5,341 L299.4,341 L300.4,341 L301.3,341 L302.3,341 L303.2,341 L304.2,341 L305.1,341 L306.1,341 L307,341 L308,341 L308.9,341 L309.9,341 L310.8,341 L311.8,341 L312.7,341 L313.7,341 L314.6,341 L315.5,341 L316.5,341 L317.4,341 L318.4,341 L319.3,341 L320.3,341 L321.2,341 L322.2,341 L323.1,341 L324.1,341 L325,341 L326,341 L326.9,341 L327.9,341 L328.8,341 L329.8,341 L330.7,341 L331.7,341 L332.6,341 L333.5,341 L334.5,341 L335.4,341 L336.4,341 L337.3,341 L338.3,341 L339.2,341 L340.2,341 L341.1,341 L342.1,341 L343,341 L344,341 L344.9,341 L345.9,341 L346.8,341 L347.8,341 L348.7,341 L349.7,341 L350.6,341 L351.6,341 L352.5,341 L353.4,341 L354.4,341 L355.3,341 L356.3,341 L357.2,341 L358.2,341 L359.1,341 L360.1,341 L361,341 L362,341 L362.9,341 L363.9,341 L364.8,341 L365.8,341 L366.7,341 L367.7,341 L368.6,341 L369.6,341 L370.5,341 L371.4,341 L372.4,341 L373.3,341 L374.3,341 L375.2,341 L376.2,341 L377.1,341 L378.1,341 L379,341 L380,341 L380.9,341 L381.9,341 L382.8,341 L383.8,341 L384.7,341 L385.7,341 L386.6,341 L387.6,341 L388.5,341 L389.5,341 L390.4,341 L391.3,341 L392.3,341 L393.2,341 L394.2,341 L395.1,341 L396.1,341 L397,341 L398,341 L398.9,341 L399.9,341 L400.8,341 L401.8,341 L402.7,341 L403.7,341 L404.6,341 L405.6,341 L406.5,341 L407.5,341 L408.4,341 L409.3,341 L410.3,341 L411.2,341 L412.2,341 L413.1,341 L414.1,341 L415,341 L416,341 L416.9,341 L417.9,341 L418.8,341 L419.8,341 L420.7,341 L421.7,341 L422.6,341 L423.6,341 L424.5,341 L425.5,341 L426.4,341 L427.3,341 L428.3,341 L429.2,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M234.5,63.55 L235.5,96.67 L236.5,125.8 L237.5,151.5 L238.5,174.1 L239.4,194.1 L240.4,211.6 L241.4,227 L242.4,240.6 L243.3,252.6 L244.3,263.2 L245.3,272.5 L246.3,280.6 L247.3,287.9 L248.2,294.2 L249.2,299.8 L250.2,304.7 L251.2,309 L252.2,312.9 L253.1,316.2 L254.1,319.2 L255.1,321.8 L256.1,324.1 L257,326.1 L258,327.9 L259,329.4 L260,330.8 L261,332 L261.9,333.1 L262.9,334 L263.9,334.9 L264.9,335.6 L265.8,336.3 L266.8,336.8 L267.8,337.3 L268.8,337.8 L269.8,338.1 L270.7,338.5 L271.7,338.8 L272.7,339 L273.7,339.3 L274.7,339.5 L275.6,339.7 L276.6,339.8 L277.6,340 L278.6,340.1 L279.5,340.2 L280.5,340.3 L281.5,340.4 L282.5,340.5 L283.5,340.5 L284.4,340.6 L285.4,340.6 L286.4,340.7 L287.4,340.7 L288.3,340.7 L289.3,340.8 L290.3,340.8 L291.3,340.8 L292.3,340.8 L293.2,340.9 L294.2,340.9 L295.2,340.9 L296.2,340.9 L297.2,340.9 L298.1,340.9 L299.1,340.9 L300.1,340.9 L301.1,341 L302,341 L303,341 L304,341 L305,341 L306,341 L306.9,341 L307.9,341 L308.9,341 L309.9,341 L310.8,341 L311.8,341 L312.8,341 L313.8,341 L314.8,341 L315.7,341 L316.7,341 L317.7,341 L318.7,341 L319.7,341 L320.6,341 L321.6,341 L322.6,341 L323.6,341 L324.5,341 L325.5,341 L326.5,341 L327.5,341 L328.5,341 L329.4,341 L330.4,341 L331.4,341 L332.4,341 L333.3,341 L334.3,341 L335.3,341 L336.3,341 L337.3,341 L338.2,341 L339.2,341 L340.2,341 L341.2,341 L342.2,341 L343.1,341 L344.1,341 L345.1,341 L346.1,341 L347,341 L348,341 L349,341 L350,341 L351,341 L351.9,341 L352.9,341 L353.9,341 L354.9,341 L355.8,341 L356.8,341 L357.8,341 L358.8,341 L359.8,341 L360.7,341 L361.7,341 L362.7,341 L363.7,341 L364.6,341 L365.6,341 L366.6,341 L367.6,341 L368.6,341 L369.5,341 L370.5,341 L371.5,341 L372.5,341 L373.5,341 L374.4,341 L375.4,341 L376.4,341 L377.4,341 L378.3,341 L379.3,341 L380.3,341 L381.3,341 L382.3,341 L383.2,341 L384.2,341 L385.2,341 L386.2,341 L387.1,341 L388.1,341 L389.1,341 L390.1,341 L391.1,341 L392,341 L393,341 L394,341 L395,341 L396,341 L396.9,341 L397.9,341 L398.9,341 L399.9,341 L400.8,341 L401.8,341 L402.8,341 L403.8,341 L404.8,341 L405.7,341 L406.7,341 L407.7,341 L408.7,341 L409.6,341 L410.6,341 L411.6,341 L412.6,341 L413.6,341 L414.5,341 L415.5,341 L416.5,341 L417.5,341 L418.5,341 L419.4,341 L420.4,341 L421.4,341 L422.4,341 L423.3,341 L424.3,341 L425.3,341 L426.3,341 L427.3,341 L428.2,341 L429.2,341 L430.2,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M216.1,63.55 L217.2,82.19 L218.2,99.58 L219.3,115.8 L220.4,130.9 L221.4,145 L222.5,158.2 L223.6,170.5 L224.7,182 L225.7,192.6 L226.8,202.6 L227.9,211.9 L228.9,220.6 L230,228.7 L231.1,236.2 L232.1,243.3 L233.2,249.8 L234.3,256 L235.4,261.7 L236.4,267 L237.5,272 L238.6,276.6 L239.6,280.9 L240.7,285 L241.8,288.7 L242.9,292.2 L243.9,295.5 L245,298.6 L246.1,301.4 L247.1,304.1 L248.2,306.6 L249.3,308.9 L250.3,311 L251.4,313.1 L252.5,314.9 L253.6,316.7 L254.6,318.3 L255.7,319.8 L256.8,321.3 L257.8,322.6 L258.9,323.8 L260,325 L261.1,326.1 L262.1,327.1 L263.2,328 L264.3,328.9 L265.3,329.7 L266.4,330.4 L267.5,331.2 L268.5,331.8 L269.6,332.4 L270.7,333 L271.8,333.5 L272.8,334 L273.9,334.5 L275,334.9 L276,335.4 L277.1,335.7 L278.2,336.1 L279.3,336.4 L280.3,336.7 L281.4,337 L282.5,337.3 L283.5,337.5 L284.6,337.8 L285.7,338 L286.7,338.2 L287.8,338.4 L288.9,338.6 L290,338.7 L291,338.9 L292.1,339 L293.2,339.1 L294.2,339.3 L295.3,339.4 L296.4,339.5 L297.4,339.6 L298.5,339.7 L299.6,339.8 L300.7,339.9 L301.7,339.9 L302.8,340 L303.9,340.1 L304.9,340.1 L306,340.2 L307.1,340.2 L308.2,340.3 L309.2,340.3 L310.3,340.4 L311.4,340.4 L312.4,340.5 L313.5,340.5 L314.6,340.5 L315.6,340.6 L316.7,340.6 L317.8,340.6 L318.9,340.7 L319.9,340.7 L321,340.7 L322.1,340.7 L323.1,340.7 L324.2,340.8 L325.3,340.8 L326.4,340.8 L327.4,340.8 L328.5,340.8 L329.6,340.8 L330.6,340.8 L331.7,340.8 L332.8,340.9 L333.8,340.9 L334.9,340.9 L336,340.9 L337.1,340.9 L338.1,340.9 L339.2,340.9 L340.3,340.9 L341.3,340.9 L342.4,340.9 L343.5,340.9 L344.6,340.9 L345.6,340.9 L346.7,340.9 L347.8,340.9 L348.8,341 L349.9,341 L351,341 L352,341 L353.1,341 L354.2,341 L355.3,341 L356.3,341 L357.4,341 L358.5,341 L359.5,341 L360.6,341 L361.7,341 L362.7,341 L363.8,341 L364.9,341 L366,341 L367,341 L368.1,341 L369.2,341 L370.2,341 L371.3,341 L372.4,341 L373.5,341 L374.5,341 L375.6,341 L376.7,341 L377.7,341 L378.8,341 L379.9,341 L380.9,341 L382,341 L383.1,341 L384.2,341 L385.2,341 L386.3,341 L387.4,341 L388.4,341 L389.5,341 L390.6,341 L391.7,341 L392.7,341 L393.8,341 L394.9,341 L395.9,341 L397,341 L398.1,341 L399.1,341 L400.2,341 L401.3,341 L402.4,341 L403.4,341 L404.5,341 L405.6,341 L406.6,341 L407.7,341 L408.8,341 L409.9,341 L410.9,341 L412,341 L413.1,341 L414.1,341 L415.2,341 L416.3,341 L417.3,341 L418.4,341 L419.5,341 L420.6,341 L421.6,341 L422.7,341 L423.8,341 L424.8,341 L425.9,341 L427,341 L428.1,341 L429.1,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M75.8,234.7 L77.57,236.2 L79.34,237.7 L81.12,239.2 L82.89,240.7 L84.66,242.1 L86.43,243.5 L88.2,244.9 L89.98,246.3 L91.75,247.6 L93.52,249 L95.29,250.3 L97.06,251.6 L98.84,252.8 L100.6,254.1 L102.4,255.3 L104.2,256.6 L105.9,257.8 L107.7,259 L109.5,260.1 L111.2,261.3 L113,262.4 L114.8,263.5 L116.6,264.7 L118.3,265.7 L120.1,266.8 L121.9,267.9 L123.6,268.9 L125.4,269.9 L127.2,271 L129,272 L130.7,272.9 L132.5,273.9 L134.3,274.9 L136,275.8 L137.8,276.8 L139.6,277.7 L141.4,278.6 L143.1,279.5 L144.9,280.3 L146.7,281.2 L148.5,282.1 L150.2,282.9 L152,283.7 L153.8,284.6 L155.5,285.4 L157.3,286.2 L159.1,286.9 L160.9,287.7 L162.6,288.5 L164.4,289.2 L166.2,290 L167.9,290.7 L169.7,291.4 L171.5,292.1 L173.3,292.8 L175,293.5 L176.8,294.2 L178.6,294.9 L180.3,295.5 L182.1,296.2 L183.9,296.8 L185.7,297.4 L187.4,298.1 L189.2,298.7 L191,299.3 L192.7,299.9 L194.5,300.5 L196.3,301 L198.1,301.6 L199.8,302.2 L201.6,302.7 L203.4,303.3 L205.2,303.8 L206.9,304.3 L208.7,304.9 L210.5,305.4 L212.2,305.9 L214,306.4 L215.8,306.9 L217.6,307.4 L219.3,307.8 L221.1,308.3 L222.9,308.8 L224.6,309.2 L226.4,309.7 L228.2,310.2 L230,310.6 L231.7,311 L233.5,311.5 L235.3,311.9 L237,312.3 L238.8,312.7 L240.6,313.1 L242.4,313.5 L244.1,313.9 L245.9,314.3 L247.7,314.7 L249.5,315 L251.2,315.4 L253,315.8 L254.8,316.1 L256.5,316.5 L258.3,316.8 L260.1,317.2 L261.9,317.5 L263.6,317.9 L265.4,318.2 L267.2,318.5 L268.9,318.8 L270.7,319.2 L272.5,319.5 L274.3,319.8 L276,320.1 L277.8,320.4 L279.6,320.7 L281.3,321 L283.1,321.2 L284.9,321.5 L286.7,321.8 L288.4,322.1 L290.2,322.4 L292,322.6 L293.8,322.9 L295.5,323.1 L297.3,323.4 L299.1,323.6 L300.8,323.9 L302.6,324.1 L304.4,324.4 L306.2,324.6 L307.9,324.9 L309.7,325.1 L311.5,325.3 L313.2,325.5 L315,325.8 L316.8,326 L318.6,326.2 L320.3,326.4 L322.1,326.6 L323.9,326.8 L325.6,327 L327.4,327.2 L329.2,327.4 L331,327.6 L332.7,327.8 L334.5,328 L336.3,328.2 L338.1,328.4 L339.8,328.5 L341.6,328.7 L343.4,328.9 L345.1,329.1 L346.9,329.2 L348.7,329.4 L350.5,329.6 L352.2,329.7 L354,329.9 L355.8,330 L357.5,330.2 L359.3,330.4 L361.1,330.5 L362.9,330.7 L364.6,330.8 L366.4,331 L368.2,331.1 L369.9,331.2 L371.7,331.4 L373.5,331.5 L375.3,331.7 L377,331.8 L378.8,331.9 L380.6,332 L382.3,332.2 L384.1,332.3 L385.9,332.4 L387.7,332.5 L389.4,332.7 L391.2,332.8 L393,332.9 L394.8,333 L396.5,333.1 L398.3,333.2 L400.1,333.4 L401.8,333.5 L403.6,333.6 L405.4,333.7 L407.2,333.8 L408.9,333.9 L410.7,334 L412.5,334.1 L414.2,334.2 L416,334.3 L417.8,334.4 L419.6,334.5 L421.3,334.6 L423.1,334.7 L424.9,334.8 L426.6,334.8 L428.4,334.9 L430.2,335 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,332.7 L77.57,332.6 L79.34,332.5 L81.12,332.5 L82.89,332.4 L84.66,332.3 L86.43,332.2 L88.2,332.1 L89.98,332 L91.75,331.9 L93.52,331.8 L95.29,331.7 L97.06,331.6 L98.84,331.4 L100.6,331.3 L102.4,331.2 L104.2,331.1 L105.9,331 L107.7,330.9 L109.5,330.8 L111.2,330.7 L113,330.6 L114.8,330.4 L116.6,330.3 L118.3,330.2 L120.1,330.1 L121.9,330 L123.6,329.8 L125.4,329.7 L127.2,329.6 L129,329.4 L130.7,329.3 L132.5,329.2 L134.3,329.1 L136,328.9 L137.8,328.8 L139.6,328.6 L141.4,328.5 L143.1,328.4 L144.9,328.2 L146.7,328.1 L148.5,327.9 L150.2,327.8 L152,327.6 L153.8,327.5 L155.5,327.3 L157.3,327.2 L159.1,327 L160.9,326.9 L162.6,326.7 L164.4,326.6 L166.2,326.4 L167.9,326.2 L169.7,326.1 L171.5,325.9 L173.3,325.7 L175,325.6 L176.8,325.4 L178.6,325.2 L180.3,325 L182.1,324.9 L183.9,324.7 L185.7,324.5 L187.4,324.3 L189.2,324.1 L191,323.9 L192.7,323.7 L194.5,323.5 L196.3,323.4 L198.1,323.2 L199.8,323 L201.6,322.7 L203.4,322.5 L205.2,322.3 L206.9,322.1 L208.7,321.9 L210.5,321.7 L212.2,321.5 L214,321.3 L215.8,321 L217.6,320.8 L219.3,320.6 L221.1,320.4 L222.9,320.1 L224.6,319.9 L226.4,319.7 L228.2,319.4 L230,319.2 L231.7,318.9 L233.5,318.7 L235.3,318.4 L237,318.2 L238.8,317.9 L240.6,317.7 L242.4,317.4 L244.1,317.1 L245.9,316.9 L247.7,316.6 L249.5,316.3 L251.2,316.1 L253,315.8 L254.8,315.5 L256.5,315.2 L258.3,314.9 L260.1,314.6 L261.9,314.3 L263.6,314 L265.4,313.7 L267.2,313.4 L268.9,313.1 L270.7,312.8 L272.5,312.5 L274.3,312.2 L276,311.8 L277.8,311.5 L279.6,311.2 L281.3,310.8 L283.1,310.5 L284.9,310.2 L286.7,309.8 L288.4,309.5 L290.2,309.1 L292,308.8 L293.8,308.4 L295.5,308 L297.3,307.7 L299.1,307.3 L300.8,306.9 L302.6,306.5 L304.4,306.1 L306.2,305.8 L307.9,305.4 L309.7,305 L311.5,304.6 L313.2,304.1 L315,303.7 L316.8,303.3 L318.6,302.9 L320.3,302.5 L322.1,302 L323.9,301.6 L325.6,301.1 L327.4,300.7 L329.2,300.2 L331,299.8 L332.7,299.3 L334.5,298.9 L336.3,298.4 L338.1,297.9 L339.8,297.4 L341.6,296.9 L343.4,296.4 L345.1,295.9 L346.9,295.4 L348.7,294.9 L350.5,294.4 L352.2,293.9 L354,293.4 L355.8,292.8 L357.5,292.3 L359.3,291.7 L361.1,291.2 L362.9,290.6 L364.6,290.1 L366.4,289.5 L368.2,288.9 L369.9,288.3 L371.7,287.7 L373.5,287.1 L375.3,286.5 L377,285.9 L378.8,285.3 L380.6,284.7 L382.3,284 L384.1,283.4 L385.9,282.8 L387.7,282.1 L389.4,281.4 L391.2,280.8 L393,280.1 L394.8,279.4 L396.5,278.7 L398.3,278 L400.1,277.3 L401.8,276.6 L403.6,275.9 L405.4,275.2 L407.2,274.4 L408.9,273.7 L410.7,272.9 L412.5,272.2 L414.2,271.4 L416,270.6 L417.8,269.8 L419.6,269 L421.3,268.2 L423.1,267.4 L424.9,266.6 L426.6,265.7 L428.4,264.9 L430.2,264 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="451.3" y="58" width="122.7" height="182"/><rect x="451.3" y="58" width="122.7" height="182"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="86" x2="479.3" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="114" x2="479.3" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="142" x2="479.3" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="170" x2="479.3" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="198" x2="479.3" y2="198"/></g>
-<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="465.3" y1="226" x2="479.3" y2="226"/></g>
-</g>
-<g id="legendText">
-<text x="486.3" y="86" font-size="14" font-family="Verdana">a=0.0001</text>
-<text x="486.3" y="114" font-size="14" font-family="Verdana">a=0.001</text>
-<text x="486.3" y="142" font-size="14" font-family="Verdana">a=0.01</text>
-<text x="486.3" y="170" font-size="14" font-family="Verdana">a=0.1</text>
-<text x="486.3" y="198" font-size="14" font-family="Verdana">a=0.75</text>
-<text x="486.3" y="226" font-size="14" font-family="Verdana">a=1.25</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">powm1</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.svg b/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.svg
deleted file mode 100644
index be8d99dbb2..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/rayleigh_cdf.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="71.2" y="63" width="548.6" height="271.4"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="70.2" y="62" width="550.6" height="273.4"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.2" y1="62" x2="70.2" y2="340.4"/><line x1="70.2" y1="62" x2="70.2" y2="335.4"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.2,330.4 L70.2,330.4 M68.2,325.5 L70.2,325.5 M68.2,320.5 L70.2,320.5 M68.2,315.5 L70.2,315.5 M68.2,305.6 L70.2,305.6 M68.2,300.6 L70.2,300.6 M68.2,295.6 L70.2,295.6 M68.2,290.7 L70.2,290.7 M68.2,280.7 L70.2,280.7 M68.2,275.7 L70.2,275.7 M68.2,270.8 L70.2,270.8 M68.2,265.8 L70.2,265.8 M68.2,255.9 L70.2,255.9 M68.2,250.9 L70.2,250.9 M68.2,245.9 L70.2,245.9 M68.2,241 L70.2,241 M68.2,231 L70.2,231 M68.2,226 L70.2,226 M68.2,221.1 L70.2,221.1 M68.2,216.1 L70.2,216.1 M68.2,206.2 L70.2,206.2 M68.2,201.2 L70.2,201.2 M68.2,196.2 L70.2,196.2 M68.2,191.2 L70.2,191.2 M68.2,181.3 L70.2,181.3 M68.2,176.3 L70.2,176.3 M68.2,171.4 L70.2,171.4 M68.2,166.4 L70.2,166.4 M68.2,156.4 L70.2,156.4 M68.2,151.5 L70.2,151.5 M68.2,146.5 L70.2,146.5 M68.2,141.5 L70.2,141.5 M68.2,131.6 L70.2,131.6 M68.2,126.6 L70.2,126.6 M68.2,121.7 L70.2,121.7 M68.2,116.7 L70.2,116.7 M68.2,106.7 L70.2,106.7 M68.2,101.8 L70.2,101.8 M68.2,96.8 L70.2,96.8 M68.2,91.83 L70.2,91.83 M68.2,81.88 L70.2,81.88 M68.2,76.91 L70.2,76.91 M68.2,71.94 L70.2,71.94 M68.2,66.97 L70.2,66.97 M68.2,335.4 L70.2,335.4 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M88.34,335.4 L88.34,337.4 M106.5,335.4 L106.5,337.4 M124.6,335.4 L124.6,337.4 M142.8,335.4 L142.8,337.4 M179,335.4 L179,337.4 M197.2,335.4 L197.2,337.4 M215.3,335.4 L215.3,337.4 M233.5,335.4 L233.5,337.4 M269.8,335.4 L269.8,337.4 M287.9,335.4 L287.9,337.4 M306,335.4 L306,337.4 M324.2,335.4 L324.2,337.4 M360.5,335.4 L360.5,337.4 M378.6,335.4 L378.6,337.4 M396.7,335.4 L396.7,337.4 M414.9,335.4 L414.9,337.4 M451.2,335.4 L451.2,337.4 M469.3,335.4 L469.3,337.4 M487.4,335.4 L487.4,337.4 M505.6,335.4 L505.6,337.4 M541.9,335.4 L541.9,337.4 M560,335.4 L560,337.4 M578.1,335.4 L578.1,337.4 M596.3,335.4 L596.3,337.4 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M65.2,335.4 L70.2,335.4 M65.2,310.5 L70.2,310.5 M65.2,285.7 L70.2,285.7 M65.2,260.8 L70.2,260.8 M65.2,236 L70.2,236 M65.2,211.1 L70.2,211.1 M65.2,186.3 L70.2,186.3 M65.2,161.4 L70.2,161.4 M65.2,136.6 L70.2,136.6 M65.2,111.7 L70.2,111.7 M65.2,86.85 L70.2,86.85 M65.2,62 L70.2,62 M65.2,335.4 L70.2,335.4 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.2,335.4 L70.2,340.4 M160.9,335.4 L160.9,340.4 M251.6,335.4 L251.6,340.4 M342.3,335.4 L342.3,340.4 M433,335.4 L433,340.4 M523.7,335.4 L523.7,340.4 M614.4,335.4 L614.4,340.4 M70.2,335.4 L70.2,340.4 " fill="none"/></g>
-<g id="plotLabels">
-<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
-<text x="160.9" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">5</text>
-<text x="251.6" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">10</text>
-<text x="342.3" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">15</text>
-<text x="433" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">20</text>
-<text x="523.7" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">25</text>
-<text x="614.4" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">30</text>
-<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
-<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="59.2" y="312.9" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="59.2" y="288.1" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="59.2" y="263.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="59.2" y="238.4" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="59.2" y="213.5" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="59.2" y="188.7" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="59.2" y="163.8" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="59.2" y="139" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="59.2" y="114.1" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="59.2" y="89.25" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="59.2" y="64.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
-<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="30.2" y="198.7" text-anchor="middle" transform = "rotate(-90 30.2 198.7 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="345.5" y="388" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M70.2,335.4 L72.95,324.2 L75.71,293.6 L78.46,251.1 L81.21,205.8 L83.97,165.4 L86.72,134.2 L89.47,112.9 L92.22,99.89 L94.98,92.81 L97.73,89.34 L100.5,87.8 L103.2,87.18 L106,86.96 L108.7,86.88 L111.5,86.86 L114.2,86.86 L117,86.85 L119.8,86.85 L122.5,86.85 L125.3,86.85 L128,86.85 L130.8,86.85 L133.5,86.85 L136.3,86.85 L139,86.85 L141.8,86.85 L144.5,86.85 L147.3,86.85 L150,86.85 L152.8,86.85 L155.5,86.85 L158.3,86.85 L161,86.85 L163.8,86.85 L166.6,86.85 L169.3,86.85 L172.1,86.85 L174.8,86.85 L177.6,86.85 L180.3,86.85 L183.1,86.85 L185.8,86.85 L188.6,86.85 L191.3,86.85 L194.1,86.85 L196.8,86.85 L199.6,86.85 L202.3,86.85 L205.1,86.85 L207.8,86.85 L210.6,86.85 L213.4,86.85 L216.1,86.85 L218.9,86.85 L221.6,86.85 L224.4,86.85 L227.1,86.85 L229.9,86.85 L232.6,86.85 L235.4,86.85 L238.1,86.85 L240.9,86.85 L243.6,86.85 L246.4,86.85 L249.1,86.85 L251.9,86.85 L254.7,86.85 L257.4,86.85 L260.2,86.85 L262.9,86.85 L265.7,86.85 L268.4,86.85 L271.2,86.85 L273.9,86.85 L276.7,86.85 L279.4,86.85 L282.2,86.85 L284.9,86.85 L287.7,86.85 L290.4,86.85 L293.2,86.85 L295.9,86.85 L298.7,86.85 L301.5,86.85 L304.2,86.85 L307,86.85 L309.7,86.85 L312.5,86.85 L315.2,86.85 L318,86.85 L320.7,86.85 L323.5,86.85 L326.2,86.85 L329,86.85 L331.7,86.85 L334.5,86.85 L337.2,86.85 L340,86.85 L342.7,86.85 L345.5,86.85 L348.3,86.85 L351,86.85 L353.8,86.85 L356.5,86.85 L359.3,86.85 L362,86.85 L364.8,86.85 L367.5,86.85 L370.3,86.85 L373,86.85 L375.8,86.85 L378.5,86.85 L381.3,86.85 L384,86.85 L386.8,86.85 L389.5,86.85 L392.3,86.85 L395.1,86.85 L397.8,86.85 L400.6,86.85 L403.3,86.85 L406.1,86.85 L408.8,86.85 L411.6,86.85 L414.3,86.85 L417.1,86.85 L419.8,86.85 L422.6,86.85 L425.3,86.85 L428.1,86.85 L430.8,86.85 L433.6,86.85 L436.3,86.85 L439.1,86.85 L441.9,86.85 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,332.6 L75.71,324.2 L78.46,310.9 L81.21,293.6 L83.97,273.2 L86.72,251.1 L89.47,228.2 L92.22,205.8 L94.98,184.7 L97.73,165.4 L100.5,148.6 L103.2,134.2 L106,122.4 L108.7,112.9 L111.5,105.5 L114.2,99.89 L117,95.77 L119.8,92.81 L122.5,90.75 L125.3,89.34 L128,88.4 L130.8,87.8 L133.5,87.42 L136.3,87.18 L139,87.04 L141.8,86.96 L144.5,86.91 L147.3,86.88 L150,86.87 L152.8,86.86 L155.5,86.86 L158.3,86.86 L161,86.86 L163.8,86.85 L166.6,86.85 L169.3,86.85 L172.1,86.85 L174.8,86.85 L177.6,86.85 L180.3,86.85 L183.1,86.85 L185.8,86.85 L188.6,86.85 L191.3,86.85 L194.1,86.85 L196.8,86.85 L199.6,86.85 L202.3,86.85 L205.1,86.85 L207.8,86.85 L210.6,86.85 L213.4,86.85 L216.1,86.85 L218.9,86.85 L221.6,86.85 L224.4,86.85 L227.1,86.85 L229.9,86.85 L232.6,86.85 L235.4,86.85 L238.1,86.85 L240.9,86.85 L243.6,86.85 L246.4,86.85 L249.1,86.85 L251.9,86.85 L254.7,86.85 L257.4,86.85 L260.2,86.85 L262.9,86.85 L265.7,86.85 L268.4,86.85 L271.2,86.85 L273.9,86.85 L276.7,86.85 L279.4,86.85 L282.2,86.85 L284.9,86.85 L287.7,86.85 L290.4,86.85 L293.2,86.85 L295.9,86.85 L298.7,86.85 L301.5,86.85 L304.2,86.85 L307,86.85 L309.7,86.85 L312.5,86.85 L315.2,86.85 L318,86.85 L320.7,86.85 L323.5,86.85 L326.2,86.85 L329,86.85 L331.7,86.85 L334.5,86.85 L337.2,86.85 L340,86.85 L342.7,86.85 L345.5,86.85 L348.3,86.85 L351,86.85 L353.8,86.85 L356.5,86.85 L359.3,86.85 L362,86.85 L364.8,86.85 L367.5,86.85 L370.3,86.85 L373,86.85 L375.8,86.85 L378.5,86.85 L381.3,86.85 L384,86.85 L386.8,86.85 L389.5,86.85 L392.3,86.85 L395.1,86.85 L397.8,86.85 L400.6,86.85 L403.3,86.85 L406.1,86.85 L408.8,86.85 L411.6,86.85 L414.3,86.85 L417.1,86.85 L419.8,86.85 L422.6,86.85 L425.3,86.85 L428.1,86.85 L430.8,86.85 L433.6,86.85 L436.3,86.85 L439.1,86.85 L441.9,86.85 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,334.7 L75.71,332.6 L78.46,329 L81.21,324.2 L83.97,318.1 L86.72,310.9 L89.47,302.7 L92.22,293.6 L94.98,283.7 L97.73,273.2 L100.5,262.3 L103.2,251.1 L106,239.7 L108.7,228.2 L111.5,216.9 L114.2,205.8 L117,195 L119.8,184.7 L122.5,174.8 L125.3,165.4 L128,156.7 L130.8,148.6 L133.5,141.1 L136.3,134.2 L139,128 L141.8,122.4 L144.5,117.3 L147.3,112.9 L150,108.9 L152.8,105.5 L155.5,102.5 L158.3,99.89 L161,97.67 L163.8,95.77 L166.6,94.16 L169.3,92.81 L172.1,91.68 L174.8,90.75 L177.6,89.97 L180.3,89.34 L183.1,88.82 L185.8,88.4 L188.6,88.07 L191.3,87.8 L194.1,87.59 L196.8,87.42 L199.6,87.28 L202.3,87.18 L205.1,87.1 L207.8,87.04 L210.6,86.99 L213.4,86.96 L216.1,86.93 L218.9,86.91 L221.6,86.9 L224.4,86.88 L227.1,86.88 L229.9,86.87 L232.6,86.87 L235.4,86.86 L238.1,86.86 L240.9,86.86 L243.6,86.86 L246.4,86.86 L249.1,86.86 L251.9,86.86 L254.7,86.86 L257.4,86.85 L260.2,86.85 L262.9,86.85 L265.7,86.85 L268.4,86.85 L271.2,86.85 L273.9,86.85 L276.7,86.85 L279.4,86.85 L282.2,86.85 L284.9,86.85 L287.7,86.85 L290.4,86.85 L293.2,86.85 L295.9,86.85 L298.7,86.85 L301.5,86.85 L304.2,86.85 L307,86.85 L309.7,86.85 L312.5,86.85 L315.2,86.85 L318,86.85 L320.7,86.85 L323.5,86.85 L326.2,86.85 L329,86.85 L331.7,86.85 L334.5,86.85 L337.2,86.85 L340,86.85 L342.7,86.85 L345.5,86.85 L348.3,86.85 L351,86.85 L353.8,86.85 L356.5,86.85 L359.3,86.85 L362,86.85 L364.8,86.85 L367.5,86.85 L370.3,86.85 L373,86.85 L375.8,86.85 L378.5,86.85 L381.3,86.85 L384,86.85 L386.8,86.85 L389.5,86.85 L392.3,86.85 L395.1,86.85 L397.8,86.85 L400.6,86.85 L403.3,86.85 L406.1,86.85 L408.8,86.85 L411.6,86.85 L414.3,86.85 L417.1,86.85 L419.8,86.85 L422.6,86.85 L425.3,86.85 L428.1,86.85 L430.8,86.85 L433.6,86.85 L436.3,86.85 L439.1,86.85 L441.9,86.85 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,335.2 L75.71,334.7 L78.46,333.8 L81.21,332.6 L83.97,331 L86.72,329 L89.47,326.8 L92.22,324.2 L94.98,321.3 L97.73,318.1 L100.5,314.7 L103.2,310.9 L106,306.9 L108.7,302.7 L111.5,298.2 L114.2,293.6 L117,288.7 L119.8,283.7 L122.5,278.5 L125.3,273.2 L128,267.8 L130.8,262.3 L133.5,256.7 L136.3,251.1 L139,245.4 L141.8,239.7 L144.5,233.9 L147.3,228.2 L150,222.5 L152.8,216.9 L155.5,211.3 L158.3,205.8 L161,200.4 L163.8,195 L166.6,189.8 L169.3,184.7 L172.1,179.6 L174.8,174.8 L177.6,170 L180.3,165.4 L183.1,161 L185.8,156.7 L188.6,152.5 L191.3,148.6 L194.1,144.7 L196.8,141.1 L199.6,137.6 L202.3,134.2 L205.1,131 L207.8,128 L210.6,125.1 L213.4,122.4 L216.1,119.8 L218.9,117.3 L221.6,115 L224.4,112.9 L227.1,110.8 L229.9,108.9 L232.6,107.2 L235.4,105.5 L238.1,103.9 L240.9,102.5 L243.6,101.1 L246.4,99.89 L249.1,98.74 L251.9,97.67 L254.7,96.68 L257.4,95.77 L260.2,94.93 L262.9,94.16 L265.7,93.46 L268.4,92.81 L271.2,92.22 L273.9,91.68 L276.7,91.19 L279.4,90.75 L282.2,90.34 L284.9,89.97 L287.7,89.64 L290.4,89.34 L293.2,89.07 L295.9,88.82 L298.7,88.6 L301.5,88.4 L304.2,88.23 L307,88.07 L309.7,87.93 L312.5,87.8 L315.2,87.69 L318,87.59 L320.7,87.5 L323.5,87.42 L326.2,87.35 L329,87.28 L331.7,87.23 L334.5,87.18 L337.2,87.14 L340,87.1 L342.7,87.07 L345.5,87.04 L348.3,87.02 L351,86.99 L353.8,86.97 L356.5,86.96 L359.3,86.94 L362,86.93 L364.8,86.92 L367.5,86.91 L370.3,86.9 L373,86.9 L375.8,86.89 L378.5,86.88 L381.3,86.88 L384,86.88 L386.8,86.87 L389.5,86.87 L392.3,86.87 L395.1,86.87 L397.8,86.86 L400.6,86.86 L403.3,86.86 L406.1,86.86 L408.8,86.86 L411.6,86.86 L414.3,86.86 L417.1,86.86 L419.8,86.86 L422.6,86.86 L425.3,86.86 L428.1,86.86 L430.8,86.86 L433.6,86.86 L436.3,86.86 L439.1,86.86 L441.9,86.86 L444.6,86.85 L447.4,86.85 L450.1,86.85 L452.9,86.85 L455.6,86.85 L458.4,86.85 L461.1,86.85 L463.9,86.85 L466.6,86.85 L469.4,86.85 L472.1,86.85 L474.9,86.85 L477.6,86.85 L480.4,86.85 L483.2,86.85 L485.9,86.85 L488.7,86.85 L491.4,86.85 L494.2,86.85 L496.9,86.85 L499.7,86.85 L502.4,86.85 L505.2,86.85 L507.9,86.85 L510.7,86.85 L513.4,86.85 L516.2,86.85 L518.9,86.85 L521.7,86.85 L524.4,86.85 L527.2,86.85 L530,86.85 L532.7,86.85 L535.5,86.85 L538.2,86.85 L541,86.85 L543.7,86.85 L546.5,86.85 L549.2,86.85 L552,86.85 L554.7,86.85 L557.5,86.85 L560.2,86.85 L563,86.85 L565.7,86.85 L568.5,86.85 L571.2,86.85 L574,86.85 L576.8,86.85 L579.5,86.85 L582.3,86.85 L585,86.85 L587.8,86.85 L590.5,86.85 L593.3,86.85 L596,86.85 L598.8,86.85 L601.5,86.85 L604.3,86.85 L607,86.85 L609.8,86.85 L612.5,86.85 L615.3,86.85 L618,86.85 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,335.4 L75.71,335.3 L78.46,335.1 L81.21,334.9 L83.97,334.7 L86.72,334.4 L89.47,334 L92.22,333.6 L94.98,333.1 L97.73,332.6 L100.5,332 L103.2,331.3 L106,330.6 L108.7,329.9 L111.5,329 L114.2,328.2 L117,327.3 L119.8,326.3 L122.5,325.3 L125.3,324.2 L128,323.1 L130.8,321.9 L133.5,320.7 L136.3,319.4 L139,318.1 L141.8,316.8 L144.5,315.4 L147.3,313.9 L150,312.5 L152.8,310.9 L155.5,309.4 L158.3,307.8 L161,306.1 L163.8,304.4 L166.6,302.7 L169.3,300.9 L172.1,299.2 L174.8,297.3 L177.6,295.5 L180.3,293.6 L183.1,291.7 L185.8,289.7 L188.6,287.7 L191.3,285.7 L194.1,283.7 L196.8,281.7 L199.6,279.6 L202.3,277.5 L205.1,275.4 L207.8,273.2 L210.6,271.1 L213.4,268.9 L216.1,266.7 L218.9,264.5 L221.6,262.3 L224.4,260.1 L227.1,257.8 L229.9,255.6 L232.6,253.3 L235.4,251.1 L238.1,248.8 L240.9,246.5 L243.6,244.2 L246.4,241.9 L249.1,239.7 L251.9,237.4 L254.7,235.1 L257.4,232.8 L260.2,230.5 L262.9,228.2 L265.7,225.9 L268.4,223.7 L271.2,221.4 L273.9,219.2 L276.7,216.9 L279.4,214.7 L282.2,212.4 L284.9,210.2 L287.7,208 L290.4,205.8 L293.2,203.6 L295.9,201.4 L298.7,199.3 L301.5,197.1 L304.2,195 L307,192.9 L309.7,190.8 L312.5,188.7 L315.2,186.7 L318,184.7 L320.7,182.6 L323.5,180.6 L326.2,178.7 L329,176.7 L331.7,174.8 L334.5,172.9 L337.2,171 L340,169.1 L342.7,167.3 L345.5,165.4 L348.3,163.6 L351,161.9 L353.8,160.1 L356.5,158.4 L359.3,156.7 L362,155 L364.8,153.4 L367.5,151.7 L370.3,150.1 L373,148.6 L375.8,147 L378.5,145.5 L381.3,144 L384,142.5 L386.8,141.1 L389.5,139.6 L392.3,138.2 L395.1,136.9 L397.8,135.5 L400.6,134.2 L403.3,132.9 L406.1,131.6 L408.8,130.4 L411.6,129.2 L414.3,128 L417.1,126.8 L419.8,125.7 L422.6,124.5 L425.3,123.4 L428.1,122.4 L430.8,121.3 L433.6,120.3 L436.3,119.3 L439.1,118.3 L441.9,117.3 L444.6,116.4 L447.4,115.5 L450.1,114.6 L452.9,113.7 L455.6,112.9 L458.4,112 L461.1,111.2 L463.9,110.4 L466.6,109.7 L469.4,108.9 L472.1,108.2 L474.9,107.5 L477.6,106.8 L480.4,106.1 L483.2,105.5 L485.9,104.8 L488.7,104.2 L491.4,103.6 L494.2,103.1 L496.9,102.5 L499.7,101.9 L502.4,101.4 L505.2,100.9 L507.9,100.4 L510.7,99.89 L513.4,99.42 L516.2,98.96 L518.9,98.52 L521.7,98.08 L524.4,97.67 L527.2,97.26 L530,96.87 L532.7,96.49 L535.5,96.13 L538.2,95.77 L541,95.43 L543.7,95.09 L546.5,94.77 L549.2,94.46 L552,94.16 L554.7,93.87 L557.5,93.59 L560.2,93.32 L563,93.06 L565.7,92.81 L568.5,92.57 L571.2,92.34 L574,92.11 L576.8,91.89 L579.5,91.68 L582.3,91.48 L585,91.29 L587.8,91.1 L590.5,90.92 L593.3,90.75 L596,90.58 L598.8,90.42 L601.5,90.26 L604.3,90.11 L607,89.97 L609.8,89.83 L612.5,89.7 L615.3,89.58 L618,89.45 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="634.8" y="62" width="103.2" height="165"/><rect x="634.8" y="62" width="103.2" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" stroke-width="1"><line x1="649.8" y1="92" x2="664.8" y2="92"/></g>
-<g stroke="rgb(139,0,0)" stroke-width="1"><line x1="649.8" y1="122" x2="664.8" y2="122"/></g>
-<g stroke="rgb(0,100,0)" stroke-width="1"><line x1="649.8" y1="152" x2="664.8" y2="152"/></g>
-<g stroke="rgb(255,140,0)" stroke-width="1"><line x1="649.8" y1="182" x2="664.8" y2="182"/></g>
-<g stroke="rgb(127,255,0)" stroke-width="1"><line x1="649.8" y1="212" x2="664.8" y2="212"/></g>
-</g>
-<g id="legendText">
-<text x="672.3" y="92" font-size="15" font-family="Verdana">&#x3C3;=0.5</text>
-<text x="672.3" y="122" font-size="15" font-family="Verdana">&#x3C3;=1</text>
-<text x="672.3" y="152" font-size="15" font-family="Verdana">&#x3C3;=2</text>
-<text x="672.3" y="182" font-size="15" font-family="Verdana">&#x3C3;=4</text>
-<text x="672.3" y="212" font-size="15" font-family="Verdana">&#x3C3;=10</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Rayleigh Distribution CDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.svg b/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.svg
deleted file mode 100644
index a9fce8b80e..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/rayleigh_pdf.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="71.2" y="63" width="548.6" height="271.4"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="70.2" y="62" width="550.6" height="273.4"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.2" y1="62" x2="70.2" y2="340.4"/><line x1="70.2" y1="62" x2="70.2" y2="335.4"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/><line x1="65.2" y1="335.4" x2="620.8" y2="335.4"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M68.2,314.9 L70.2,314.9 M68.2,294.4 L70.2,294.4 M68.2,273.9 L70.2,273.9 M68.2,253.4 L70.2,253.4 M68.2,212.5 L70.2,212.5 M68.2,192 L70.2,192 M68.2,171.5 L70.2,171.5 M68.2,151 L70.2,151 M68.2,110 L70.2,110 M68.2,89.53 L70.2,89.53 M68.2,69.04 L70.2,69.04 M68.2,335.4 L70.2,335.4 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M88.34,335.4 L88.34,337.4 M106.5,335.4 L106.5,337.4 M124.6,335.4 L124.6,337.4 M142.8,335.4 L142.8,337.4 M179,335.4 L179,337.4 M197.2,335.4 L197.2,337.4 M215.3,335.4 L215.3,337.4 M233.5,335.4 L233.5,337.4 M269.8,335.4 L269.8,337.4 M287.9,335.4 L287.9,337.4 M306,335.4 L306,337.4 M324.2,335.4 L324.2,337.4 M360.5,335.4 L360.5,337.4 M378.6,335.4 L378.6,337.4 M396.7,335.4 L396.7,337.4 M414.9,335.4 L414.9,337.4 M451.2,335.4 L451.2,337.4 M469.3,335.4 L469.3,337.4 M487.4,335.4 L487.4,337.4 M505.6,335.4 L505.6,337.4 M541.9,335.4 L541.9,337.4 M560,335.4 L560,337.4 M578.1,335.4 L578.1,337.4 M596.3,335.4 L596.3,337.4 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M65.2,335.4 L70.2,335.4 M65.2,233 L70.2,233 M65.2,130.5 L70.2,130.5 M65.2,335.4 L70.2,335.4 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.2,335.4 L70.2,340.4 M160.9,335.4 L160.9,340.4 M251.6,335.4 L251.6,340.4 M342.3,335.4 L342.3,340.4 M433,335.4 L433,340.4 M523.7,335.4 L523.7,340.4 M614.4,335.4 L614.4,340.4 M70.2,335.4 L70.2,340.4 " fill="none"/></g>
-<g id="plotLabels">
-<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
-<text x="160.9" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">5</text>
-<text x="251.6" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">10</text>
-<text x="342.3" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">15</text>
-<text x="433" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">20</text>
-<text x="523.7" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">25</text>
-<text x="614.4" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">30</text>
-<text x="70.2" y="357.2" text-anchor="middle" font-size="14" font-family="Verdana">0</text>
-<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="59.2" y="235.4" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="59.2" y="132.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="59.2" y="337.8" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="30.2" y="198.7" text-anchor="middle" transform = "rotate(-90 30.2 198.7 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="345.5" y="388" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M70.2,335.4 L72.95,216.6 L75.71,128.5 L78.46,88.9 L81.21,97.31 L83.97,138.8 L86.72,193.2 L89.47,244.3 L92.22,283.2 L94.98,308.6 L97.73,323 L100.5,330.2 L103.2,333.4 L106,334.7 L108.7,335.2 L111.5,335.3 L114.2,335.4 L117,335.4 L119.8,335.4 L122.5,335.4 L125.3,335.4 L128,335.4 L130.8,335.4 L133.5,335.4 L136.3,335.4 L139,335.4 L141.8,335.4 L144.5,335.4 L147.3,335.4 L150,335.4 L152.8,335.4 L155.5,335.4 L158.3,335.4 L161,335.4 L163.8,335.4 L166.6,335.4 L169.3,335.4 L172.1,335.4 L174.8,335.4 L177.6,335.4 L180.3,335.4 L183.1,335.4 L185.8,335.4 L188.6,335.4 L191.3,335.4 L194.1,335.4 L196.8,335.4 L199.6,335.4 L202.3,335.4 L205.1,335.4 L207.8,335.4 L210.6,335.4 L213.4,335.4 L216.1,335.4 L218.9,335.4 L221.6,335.4 L224.4,335.4 L227.1,335.4 L229.9,335.4 L232.6,335.4 L235.4,335.4 L238.1,335.4 L240.9,335.4 L243.6,335.4 L246.4,335.4 L249.1,335.4 L251.9,335.4 L254.7,335.4 L257.4,335.4 L260.2,335.4 L262.9,335.4 L265.7,335.4 L268.4,335.4 L271.2,335.4 L273.9,335.4 L276.7,335.4 L279.4,335.4 L282.2,335.4 L284.9,335.4 L287.7,335.4 L290.4,335.4 L293.2,335.4 L295.9,335.4 L298.7,335.4 L301.5,335.4 L304.2,335.4 L307,335.4 L309.7,335.4 L312.5,335.4 L315.2,335.4 L318,335.4 L320.7,335.4 L323.5,335.4 L326.2,335.4 L329,335.4 L331.7,335.4 L334.5,335.4 L337.2,335.4 L340,335.4 L342.7,335.4 L345.5,335.4 L348.3,335.4 L351,335.4 L353.8,335.4 L356.5,335.4 L359.3,335.4 L362,335.4 L364.8,335.4 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,304.7 L75.71,276 L78.46,251.3 L81.21,232 L83.97,218.8 L86.72,212.1 L89.47,211.6 L92.22,216.4 L94.98,225.3 L97.73,237.1 L100.5,250.5 L103.2,264.3 L106,277.7 L108.7,289.8 L111.5,300.4 L114.2,309.3 L117,316.4 L119.8,322 L122.5,326.2 L125.3,329.2 L128,331.3 L130.8,332.8 L133.5,333.8 L136.3,334.4 L139,334.8 L141.8,335.1 L144.5,335.2 L147.3,335.3 L150,335.3 L152.8,335.4 L155.5,335.4 L158.3,335.4 L161,335.4 L163.8,335.4 L166.6,335.4 L169.3,335.4 L172.1,335.4 L174.8,335.4 L177.6,335.4 L180.3,335.4 L183.1,335.4 L185.8,335.4 L188.6,335.4 L191.3,335.4 L194.1,335.4 L196.8,335.4 L199.6,335.4 L202.3,335.4 L205.1,335.4 L207.8,335.4 L210.6,335.4 L213.4,335.4 L216.1,335.4 L218.9,335.4 L221.6,335.4 L224.4,335.4 L227.1,335.4 L229.9,335.4 L232.6,335.4 L235.4,335.4 L238.1,335.4 L240.9,335.4 L243.6,335.4 L246.4,335.4 L249.1,335.4 L251.9,335.4 L254.7,335.4 L257.4,335.4 L260.2,335.4 L262.9,335.4 L265.7,335.4 L268.4,335.4 L271.2,335.4 L273.9,335.4 L276.7,335.4 L279.4,335.4 L282.2,335.4 L284.9,335.4 L287.7,335.4 L290.4,335.4 L293.2,335.4 L295.9,335.4 L298.7,335.4 L301.5,335.4 L304.2,335.4 L307,335.4 L309.7,335.4 L312.5,335.4 L315.2,335.4 L318,335.4 L320.7,335.4 L323.5,335.4 L326.2,335.4 L329,335.4 L331.7,335.4 L334.5,335.4 L337.2,335.4 L340,335.4 L342.7,335.4 L345.5,335.4 L348.3,335.4 L351,335.4 L353.8,335.4 L356.5,335.4 L359.3,335.4 L362,335.4 L364.8,335.4 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,327.6 L75.71,320 L78.46,312.7 L81.21,305.7 L83.97,299.2 L86.72,293.4 L89.47,288.1 L92.22,283.7 L94.98,280 L97.73,277.1 L100.5,275 L103.2,273.8 L106,273.3 L108.7,273.5 L111.5,274.4 L114.2,275.9 L117,277.9 L119.8,280.3 L122.5,283.2 L125.3,286.2 L128,289.5 L130.8,292.9 L133.5,296.4 L136.3,299.9 L139,303.3 L141.8,306.5 L144.5,309.7 L147.3,312.6 L150,315.4 L152.8,317.9 L155.5,320.2 L158.3,322.4 L161,324.2 L163.8,325.9 L166.6,327.4 L169.3,328.7 L172.1,329.8 L174.8,330.8 L177.6,331.6 L180.3,332.3 L183.1,332.9 L185.8,333.4 L188.6,333.8 L191.3,334.1 L194.1,334.4 L196.8,334.6 L199.6,334.8 L202.3,334.9 L205.1,335 L207.8,335.1 L210.6,335.2 L213.4,335.2 L216.1,335.3 L218.9,335.3 L221.6,335.3 L224.4,335.3 L227.1,335.4 L229.9,335.4 L232.6,335.4 L235.4,335.4 L238.1,335.4 L240.9,335.4 L243.6,335.4 L246.4,335.4 L249.1,335.4 L251.9,335.4 L254.7,335.4 L257.4,335.4 L260.2,335.4 L262.9,335.4 L265.7,335.4 L268.4,335.4 L271.2,335.4 L273.9,335.4 L276.7,335.4 L279.4,335.4 L282.2,335.4 L284.9,335.4 L287.7,335.4 L290.4,335.4 L293.2,335.4 L295.9,335.4 L298.7,335.4 L301.5,335.4 L304.2,335.4 L307,335.4 L309.7,335.4 L312.5,335.4 L315.2,335.4 L318,335.4 L320.7,335.4 L323.5,335.4 L326.2,335.4 L329,335.4 L331.7,335.4 L334.5,335.4 L337.2,335.4 L340,335.4 L342.7,335.4 L345.5,335.4 L348.3,335.4 L351,335.4 L353.8,335.4 L356.5,335.4 L359.3,335.4 L362,335.4 L364.8,335.4 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,333.5 L75.71,331.5 L78.46,329.6 L81.21,327.7 L83.97,325.9 L86.72,324 L89.47,322.3 L92.22,320.6 L94.98,318.9 L97.73,317.3 L100.5,315.8 L103.2,314.4 L106,313 L108.7,311.8 L111.5,310.6 L114.2,309.5 L117,308.6 L119.8,307.7 L122.5,306.9 L125.3,306.3 L128,305.7 L130.8,305.2 L133.5,304.9 L136.3,304.6 L139,304.4 L141.8,304.3 L144.5,304.4 L147.3,304.4 L150,304.6 L152.8,304.9 L155.5,305.2 L158.3,305.6 L161,306.1 L163.8,306.6 L166.6,307.2 L169.3,307.9 L172.1,308.6 L174.8,309.3 L177.6,310 L180.3,310.8 L183.1,311.6 L185.8,312.5 L188.6,313.3 L191.3,314.2 L194.1,315 L196.8,315.9 L199.6,316.8 L202.3,317.6 L205.1,318.5 L207.8,319.3 L210.6,320.2 L213.4,321 L216.1,321.8 L218.9,322.5 L221.6,323.3 L224.4,324 L227.1,324.7 L229.9,325.4 L232.6,326 L235.4,326.7 L238.1,327.3 L240.9,327.8 L243.6,328.4 L246.4,328.9 L249.1,329.4 L251.9,329.8 L254.7,330.3 L257.4,330.7 L260.2,331 L262.9,331.4 L265.7,331.7 L268.4,332 L271.2,332.3 L273.9,332.6 L276.7,332.9 L279.4,333.1 L282.2,333.3 L284.9,333.5 L287.7,333.7 L290.4,333.8 L293.2,334 L295.9,334.1 L298.7,334.3 L301.5,334.4 L304.2,334.5 L307,334.6 L309.7,334.7 L312.5,334.8 L315.2,334.8 L318,334.9 L320.7,334.9 L323.5,335 L326.2,335 L329,335.1 L331.7,335.1 L334.5,335.2 L337.2,335.2 L340,335.2 L342.7,335.2 L345.5,335.3 L348.3,335.3 L351,335.3 L353.8,335.3 L356.5,335.3 L359.3,335.3 L362,335.3 L364.8,335.3 L367.5,335.4 L370.3,335.4 L373,335.4 L375.8,335.4 L378.5,335.4 L381.3,335.4 L384,335.4 L386.8,335.4 L389.5,335.4 L392.3,335.4 L395.1,335.4 L397.8,335.4 L400.6,335.4 L403.3,335.4 L406.1,335.4 L408.8,335.4 L411.6,335.4 L414.3,335.4 L417.1,335.4 L419.8,335.4 L422.6,335.4 L425.3,335.4 L428.1,335.4 L430.8,335.4 L433.6,335.4 L436.3,335.4 L439.1,335.4 L441.9,335.4 L444.6,335.4 L447.4,335.4 L450.1,335.4 L452.9,335.4 L455.6,335.4 L458.4,335.4 L461.1,335.4 L463.9,335.4 L466.6,335.4 L469.4,335.4 L472.1,335.4 L474.9,335.4 L477.6,335.4 L480.4,335.4 L483.2,335.4 L485.9,335.4 L488.7,335.4 L491.4,335.4 L494.2,335.4 L496.9,335.4 L499.7,335.4 L502.4,335.4 L505.2,335.4 L507.9,335.4 L510.7,335.4 L513.4,335.4 L516.2,335.4 L518.9,335.4 L521.7,335.4 L524.4,335.4 L527.2,335.4 L530,335.4 L532.7,335.4 L535.5,335.4 L538.2,335.4 L541,335.4 L543.7,335.4 L546.5,335.4 L549.2,335.4 L552,335.4 L554.7,335.4 L557.5,335.4 L560.2,335.4 L563,335.4 L565.7,335.4 L568.5,335.4 L571.2,335.4 L574,335.4 L576.8,335.4 L579.5,335.4 L582.3,335.4 L585,335.4 L587.8,335.4 L590.5,335.4 L593.3,335.4 L596,335.4 L598.8,335.4 L601.5,335.4 L604.3,335.4 L607,335.4 L609.8,335.4 L612.5,335.4 L615.3,335.4 L618,335.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M70.2,335.4 L72.95,335.1 L75.71,334.8 L78.46,334.5 L81.21,334.2 L83.97,333.8 L86.72,333.5 L89.47,333.2 L92.22,332.9 L94.98,332.6 L97.73,332.3 L100.5,332 L103.2,331.7 L106,331.4 L108.7,331.1 L111.5,330.9 L114.2,330.6 L117,330.3 L119.8,330 L122.5,329.7 L125.3,329.5 L128,329.2 L130.8,328.9 L133.5,328.7 L136.3,328.4 L139,328.2 L141.8,327.9 L144.5,327.7 L147.3,327.4 L150,327.2 L152.8,327 L155.5,326.8 L158.3,326.6 L161,326.3 L163.8,326.1 L166.6,325.9 L169.3,325.8 L172.1,325.6 L174.8,325.4 L177.6,325.2 L180.3,325.1 L183.1,324.9 L185.8,324.7 L188.6,324.6 L191.3,324.5 L194.1,324.3 L196.8,324.2 L199.6,324.1 L202.3,324 L205.1,323.8 L207.8,323.7 L210.6,323.6 L213.4,323.6 L216.1,323.5 L218.9,323.4 L221.6,323.3 L224.4,323.3 L227.1,323.2 L229.9,323.2 L232.6,323.1 L235.4,323.1 L238.1,323 L240.9,323 L243.6,323 L246.4,323 L249.1,323 L251.9,323 L254.7,323 L257.4,323 L260.2,323 L262.9,323 L265.7,323 L268.4,323.1 L271.2,323.1 L273.9,323.2 L276.7,323.2 L279.4,323.2 L282.2,323.3 L284.9,323.4 L287.7,323.4 L290.4,323.5 L293.2,323.6 L295.9,323.6 L298.7,323.7 L301.5,323.8 L304.2,323.9 L307,324 L309.7,324.1 L312.5,324.2 L315.2,324.3 L318,324.4 L320.7,324.5 L323.5,324.6 L326.2,324.7 L329,324.8 L331.7,325 L334.5,325.1 L337.2,325.2 L340,325.3 L342.7,325.4 L345.5,325.6 L348.3,325.7 L351,325.8 L353.8,326 L356.5,326.1 L359.3,326.2 L362,326.4 L364.8,326.5 L367.5,326.6 L370.3,326.8 L373,326.9 L375.8,327 L378.5,327.2 L381.3,327.3 L384,327.5 L386.8,327.6 L389.5,327.7 L392.3,327.9 L395.1,328 L397.8,328.2 L400.6,328.3 L403.3,328.4 L406.1,328.6 L408.8,328.7 L411.6,328.8 L414.3,329 L417.1,329.1 L419.8,329.2 L422.6,329.4 L425.3,329.5 L428.1,329.6 L430.8,329.8 L433.6,329.9 L436.3,330 L439.1,330.1 L441.9,330.3 L444.6,330.4 L447.4,330.5 L450.1,330.6 L452.9,330.7 L455.6,330.8 L458.4,331 L461.1,331.1 L463.9,331.2 L466.6,331.3 L469.4,331.4 L472.1,331.5 L474.9,331.6 L477.6,331.7 L480.4,331.8 L483.2,331.9 L485.9,332 L488.7,332.1 L491.4,332.2 L494.2,332.3 L496.9,332.4 L499.7,332.5 L502.4,332.5 L505.2,332.6 L507.9,332.7 L510.7,332.8 L513.4,332.9 L516.2,332.9 L518.9,333 L521.7,333.1 L524.4,333.2 L527.2,333.2 L530,333.3 L532.7,333.4 L535.5,333.4 L538.2,333.5 L541,333.6 L543.7,333.6 L546.5,333.7 L549.2,333.7 L552,333.8 L554.7,333.9 L557.5,333.9 L560.2,334 L563,334 L565.7,334.1 L568.5,334.1 L571.2,334.2 L574,334.2 L576.8,334.2 L579.5,334.3 L582.3,334.3 L585,334.4 L587.8,334.4 L590.5,334.4 L593.3,334.5 L596,334.5 L598.8,334.5 L601.5,334.6 L604.3,334.6 L607,334.6 L609.8,334.7 L612.5,334.7 L615.3,334.7 L618,334.8 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="634.8" y="62" width="103.2" height="165"/><rect x="634.8" y="62" width="103.2" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" stroke-width="1"><line x1="649.8" y1="92" x2="664.8" y2="92"/></g>
-<g stroke="rgb(139,0,0)" stroke-width="1"><line x1="649.8" y1="122" x2="664.8" y2="122"/></g>
-<g stroke="rgb(0,100,0)" stroke-width="1"><line x1="649.8" y1="152" x2="664.8" y2="152"/></g>
-<g stroke="rgb(255,140,0)" stroke-width="1"><line x1="649.8" y1="182" x2="664.8" y2="182"/></g>
-<g stroke="rgb(127,255,0)" stroke-width="1"><line x1="649.8" y1="212" x2="664.8" y2="212"/></g>
-</g>
-<g id="legendText">
-<text x="672.3" y="92" font-size="15" font-family="Verdana">&#x3C3;=0.5</text>
-<text x="672.3" y="122" font-size="15" font-family="Verdana">&#x3C3;=1</text>
-<text x="672.3" y="152" font-size="15" font-family="Verdana">&#x3C3;=2</text>
-<text x="672.3" y="182" font-size="15" font-family="Verdana">&#x3C3;=4</text>
-<text x="672.3" y="212" font-size="15" font-family="Verdana">&#x3C3;=10</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Rayleigh Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp b/libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp
deleted file mode 100644
index d672149bef..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp
+++ /dev/null
@@ -1,573 +0,0 @@
-// (C) Copyright John Maddock 2008.
-// Use, modification and distribution are subject to the
-// Boost Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifdef _MSC_VER
-# pragma warning (disable : 4127) // conditional expression is constant
-# pragma warning (disable : 4180) // qualifier applied to function type has no meaning; ignored
-# pragma warning (disable : 4503) // decorated name length exceeded, name was truncated
-# pragma warning (disable : 4512) // assignment operator could not be generated
-# pragma warning (disable : 4224) // nonstandard extension used : formal parameter 'function_ptr' was previously defined as a type
-#endif
-
-#include <boost/math/special_functions.hpp>
-#include <boost/math/tools/roots.hpp>
-#include <boost/function.hpp>
-#include <boost/bind.hpp>
-
-#include <list>
-#include <map>
-#include <string>
-#include <boost/svg_plot/svg_2d_plot.hpp>
-#include <boost/svg_plot/show_2d_settings.hpp>
-
-class function_arity1_plotter
-{
-public:
- function_arity1_plotter() : m_min_x(0), m_max_x(0), m_min_y(0), m_max_y(0), m_has_legend(false) {}
-
- void add(boost::function<double(double)> f, double a, double b, const std::string& name)
- {
- if(name.size())
- m_has_legend = true;
- //
- // Now set our x-axis limits:
- //
- if(m_max_x == m_min_x)
- {
- m_max_x = b;
- m_min_x = a;
- }
- else
- {
- if(a < m_min_x)
- m_min_x = a;
- if(b > m_max_x)
- m_max_x = b;
- }
- m_points.push_back(std::pair<std::string, std::map<double,double> >(name, std::map<double,double>()));
- std::map<double,double>& points = m_points.rbegin()->second;
- double interval = (b - a) / 200;
- for(double x = a; x <= b; x += interval)
- {
- //
- // Evaluate the function, set the Y axis limits
- // if needed and then store the pair of points:
- //
- double y = f(x);
- if((m_min_y == m_max_y) && (m_min_y == 0))
- m_min_y = m_max_y = y;
- if(m_min_y > y)
- m_min_y = y;
- if(m_max_y < y)
- m_max_y = y;
- points[x] = y;
- }
- }
-
- void add(const std::map<double, double>& m, const std::string& name)
- {
- if(name.size())
- m_has_legend = true;
- m_points.push_back(std::pair<std::string, std::map<double,double> >(name, m));
- std::map<double, double>::const_iterator i = m.begin();
-
- while(i != m.end())
- {
- if((m_min_x == m_min_y) && (m_min_y == 0))
- {
- m_min_x = m_max_x = i->first;
- }
- if(i->first < m_min_x)
- {
- m_min_x = i->first;
- }
- if(i->first > m_max_x)
- {
- m_max_x = i->first;
- }
-
- if((m_min_y == m_max_y) && (m_min_y == 0))
- {
- m_min_y = m_max_y = i->second;
- }
- if(i->second < m_min_y)
- {
- m_min_y = i->second;
- }
- if(i->second > m_max_y)
- {
- m_max_y = i->second;
- }
-
- ++i;
- }
- }
-
- void plot(const std::string& title, const std::string& file,
- const std::string& x_lable = std::string(),
- const std::string& y_lable = std::string())
- {
- using namespace boost::svg;
-
- static const svg_color colors[5] =
- {
- darkblue,
- darkred,
- darkgreen,
- darkorange,
- chartreuse
- };
-
- svg_2d_plot plot;
- plot.image_x_size(600);
- plot.image_y_size(400);
- plot.copyright_holder("John Maddock").copyright_date("2008").boost_license_on(true);
- plot.coord_precision(4); // Could be 3 for smaller plots?
- plot.title(title).title_font_size(20).title_on(true);
- plot.legend_on(m_has_legend);
-
- double x_delta = (m_max_x - m_min_x) / 50;
- double y_delta = (m_max_y - m_min_y) / 50;
- plot.x_range(m_min_x, m_max_x + x_delta)
- .y_range(m_min_y, m_max_y + y_delta);
- plot.x_label_on(true).x_label(x_lable);
- plot.y_label_on(true).y_label(y_lable);
- plot.y_major_grid_on(false).x_major_grid_on(false);
- plot.x_num_minor_ticks(3);
- plot.y_num_minor_ticks(3);
- //
- // Work out axis tick intervals:
- //
- double l = std::floor(std::log10((m_max_x - m_min_x) / 10) + 0.5);
- double interval = std::pow(10.0, (int)l);
- if(((m_max_x - m_min_x) / interval) > 10)
- interval *= 5;
- plot.x_major_interval(interval);
- l = std::floor(std::log10((m_max_y - m_min_y) / 10) + 0.5);
- interval = std::pow(10.0, (int)l);
- if(((m_max_y - m_min_y) / interval) > 10)
- interval *= 5;
- plot.y_major_interval(interval);
- plot.plot_window_on(true);
- plot.plot_border_color(lightslategray)
- .background_border_color(lightslategray)
- .legend_border_color(lightslategray)
- .legend_background_color(white);
-
- int color_index = 0;
-
- for(std::list<std::pair<std::string, std::map<double,double> > >::const_iterator i = m_points.begin();
- i != m_points.end(); ++i)
- {
- plot.plot(i->second, i->first)
- .line_on(true)
- .line_color(colors[color_index])
- .line_width(1.)
- .shape(none);
- if(i->first.size())
- ++color_index;
- color_index = color_index % (sizeof(colors)/sizeof(colors[0]));
- }
- plot.write(file);
- }
-
- void clear()
- {
- m_points.clear();
- m_min_x = m_min_y = m_max_x = m_max_y = 0;
- m_has_legend = false;
- }
-
-private:
- std::list<std::pair<std::string, std::map<double, double> > > m_points;
- double m_min_x, m_max_x, m_min_y, m_max_y;
- bool m_has_legend;
-};
-
-template <class F>
-struct location_finder
-{
- location_finder(F _f, double t, double x0) : f(_f), target(t), x_off(x0){}
-
- double operator()(double x)
- {
- try
- {
- return f(x + x_off) - target;
- }
- catch(const std::overflow_error&)
- {
- return boost::math::tools::max_value<double>();
- }
- catch(const std::domain_error&)
- {
- if(x + x_off == x_off)
- return f(x_off + boost::math::tools::epsilon<double>() * x_off);
- throw;
- }
- }
-
-private:
- F f;
- double target;
- double x_off;
-};
-
-template <class F>
-double find_end_point(F f, double x0, double target, bool rising, double x_off = 0)
-{
- boost::math::tools::eps_tolerance<double> tol(50);
- boost::uintmax_t max_iter = 1000;
- return boost::math::tools::bracket_and_solve_root(
- location_finder<F>(f, target, x_off),
- x0,
- double(1.5),
- rising,
- tol,
- max_iter).first;
-}
-
-double sqrt1pm1(double x)
-{
- return boost::math::sqrt1pm1(x);
-}
-
-double lbeta(double a, double b)
-{
- return std::log(boost::math::beta(a, b));
-}
-
-int main()
-{
- function_arity1_plotter plot;
- double (*f)(double);
- double (*f2)(double, double);
- double (*f2u)(unsigned, double);
- double (*f2i)(int, double);
- double (*f3)(double, double, double);
- double (*f4)(double, double, double, double);
-
- f = boost::math::zeta;
- plot.add(f, 1 + find_end_point(f, 0.1, 40.0, false, 1.0), 10, "");
- plot.add(f, -20, 1 + find_end_point(f, -0.1, -40.0, false, 1.0), "");
- plot.plot("Zeta Function Over [-20,10]", "zeta1.svg", "z", "zeta(z)");
-
- plot.clear();
- plot.add(f, -14, 0, "");
- plot.plot("Zeta Function Over [-14,0]", "zeta2.svg", "z", "zeta(z)");
-
- f = boost::math::tgamma;
- double max_val = f(6);
- plot.clear();
- plot.add(f, find_end_point(f, 0.1, max_val, false), 6, "");
- plot.add(f, -1 + find_end_point(f, 0.1, -max_val, true, -1), find_end_point(f, -0.1, -max_val, false), "");
- plot.add(f, -2 + find_end_point(f, 0.1, max_val, false, -2), -1 + find_end_point(f, -0.1, max_val, true, -1), "");
- plot.add(f, -3 + find_end_point(f, 0.1, -max_val, true, -3), -2 + find_end_point(f, -0.1, -max_val, false, -2), "");
- plot.add(f, -4 + find_end_point(f, 0.1, max_val, false, -4), -3 + find_end_point(f, -0.1, max_val, true, -3), "");
- plot.plot("tgamma", "tgamma.svg", "z", "tgamma(z)");
-
- f = boost::math::lgamma;
- max_val = f(10);
- plot.clear();
- plot.add(f, find_end_point(f, 0.1, max_val, false), 10, "");
- plot.add(f, -1 + find_end_point(f, 0.1, max_val, false, -1), find_end_point(f, -0.1, max_val, true), "");
- plot.add(f, -2 + find_end_point(f, 0.1, max_val, false, -2), -1 + find_end_point(f, -0.1, max_val, true, -1), "");
- plot.add(f, -3 + find_end_point(f, 0.1, max_val, false, -3), -2 + find_end_point(f, -0.1, max_val, true, -2), "");
- plot.add(f, -4 + find_end_point(f, 0.1, max_val, false, -4), -3 + find_end_point(f, -0.1, max_val, true, -3), "");
- plot.add(f, -5 + find_end_point(f, 0.1, max_val, false, -5), -4 + find_end_point(f, -0.1, max_val, true, -4), "");
- plot.plot("lgamma", "lgamma.svg", "z", "lgamma(z)");
-
- f = boost::math::digamma;
- max_val = 10;
- plot.clear();
- plot.add(f, find_end_point(f, 0.1, -max_val, true), 10, "");
- plot.add(f, -1 + find_end_point(f, 0.1, -max_val, true, -1), find_end_point(f, -0.1, max_val, true), "");
- plot.add(f, -2 + find_end_point(f, 0.1, -max_val, true, -2), -1 + find_end_point(f, -0.1, max_val, true, -1), "");
- plot.add(f, -3 + find_end_point(f, 0.1, -max_val, true, -3), -2 + find_end_point(f, -0.1, max_val, true, -2), "");
- plot.add(f, -4 + find_end_point(f, 0.1, -max_val, true, -4), -3 + find_end_point(f, -0.1, max_val, true, -3), "");
- plot.plot("digamma", "digamma.svg", "z", "digamma(z)");
-
- f = boost::math::erf;
- plot.clear();
- plot.add(f, -3, 3, "");
- plot.plot("erf", "erf.svg", "z", "erf(z)");
- f = boost::math::erfc;
- plot.clear();
- plot.add(f, -3, 3, "");
- plot.plot("erfc", "erfc.svg", "z", "erfc(z)");
-
- f = boost::math::erf_inv;
- plot.clear();
- plot.add(f, -1 + find_end_point(f, 0.1, -3, true, -1), 1 + find_end_point(f, -0.1, 3, true, 1), "");
- plot.plot("erf_inv", "erf_inv.svg", "z", "erf_inv(z)");
- f = boost::math::erfc_inv;
- plot.clear();
- plot.add(f, find_end_point(f, 0.1, 3, false), 2 + find_end_point(f, -0.1, -3, false, 2), "");
- plot.plot("erfc_inv", "erfc_inv.svg", "z", "erfc_inv(z)");
-
- f = boost::math::log1p;
- plot.clear();
- plot.add(f, -1 + find_end_point(f, 0.1, -10, true, -1), 10, "");
- plot.plot("log1p", "log1p.svg", "z", "log1p(z)");
-
- f = boost::math::expm1;
- plot.clear();
- plot.add(f, -4, 2, "");
- plot.plot("expm1", "expm1.svg", "z", "expm1(z)");
-
- f = boost::math::cbrt;
- plot.clear();
- plot.add(f, -10, 10, "");
- plot.plot("cbrt", "cbrt.svg", "z", "cbrt(z)");
-
- f = sqrt1pm1;
- plot.clear();
- plot.add(f, -1 + find_end_point(f, 0.1, -10, true, -1), 5, "");
- plot.plot("sqrt1pm1", "sqrt1pm1.svg", "z", "sqrt1pm1(z)");
-
- f2 = boost::math::powm1;
- plot.clear();
- plot.add(boost::bind(f2, 0.0001, _1), find_end_point(boost::bind(f2, 0.0001, _1), -1, 10, false), 5, "a=0.0001");
- plot.add(boost::bind(f2, 0.001, _1), find_end_point(boost::bind(f2, 0.001, _1), -1, 10, false), 5, "a=0.001");
- plot.add(boost::bind(f2, 0.01, _1), find_end_point(boost::bind(f2, 0.01, _1), -1, 10, false), 5, "a=0.01");
- plot.add(boost::bind(f2, 0.1, _1), find_end_point(boost::bind(f2, 0.1, _1), -1, 10, false), 5, "a=0.1");
- plot.add(boost::bind(f2, 0.75, _1), -5, 5, "a=0.75");
- plot.add(boost::bind(f2, 1.25, _1), -5, 5, "a=1.25");
- plot.plot("powm1", "powm1.svg", "z", "powm1(a, z)");
-
- f = boost::math::sinc_pi;
- plot.clear();
- plot.add(f, -10, 10, "");
- plot.plot("sinc_pi", "sinc_pi.svg", "z", "sinc_pi(z)");
-
- f = boost::math::sinhc_pi;
- plot.clear();
- plot.add(f, -5, 5, "");
- plot.plot("sinhc_pi", "sinhc_pi.svg", "z", "sinhc_pi(z)");
-
- f = boost::math::acosh;
- plot.clear();
- plot.add(f, 1, 10, "");
- plot.plot("acosh", "acosh.svg", "z", "acosh(z)");
-
- f = boost::math::asinh;
- plot.clear();
- plot.add(f, -10, 10, "");
- plot.plot("asinh", "asinh.svg", "z", "asinh(z)");
-
- f = boost::math::atanh;
- plot.clear();
- plot.add(f, -1 + find_end_point(f, 0.1, -5, true, -1), 1 + find_end_point(f, -0.1, 5, true, 1), "");
- plot.plot("atanh", "atanh.svg", "z", "atanh(z)");
-
- f2 = boost::math::tgamma_delta_ratio;
- plot.clear();
- plot.add(boost::bind(f2, _1, -0.5), 1, 40, "delta = -0.5");
- plot.add(boost::bind(f2, _1, -0.2), 1, 40, "delta = -0.2");
- plot.add(boost::bind(f2, _1, -0.1), 1, 40, "delta = -0.1");
- plot.add(boost::bind(f2, _1, 0.1), 1, 40, "delta = 0.1");
- plot.add(boost::bind(f2, _1, 0.2), 1, 40, "delta = 0.2");
- plot.add(boost::bind(f2, _1, 0.5), 1, 40, "delta = 0.5");
- plot.add(boost::bind(f2, _1, 1.0), 1, 40, "delta = 1.0");
- plot.plot("tgamma_delta_ratio", "tgamma_delta_ratio.svg", "z", "tgamma_delta_ratio(delta, z)");
-
- f2 = boost::math::gamma_p;
- plot.clear();
- plot.add(boost::bind(f2, 0.5, _1), 0, 20, "a = 0.5");
- plot.add(boost::bind(f2, 1.0, _1), 0, 20, "a = 1.0");
- plot.add(boost::bind(f2, 5.0, _1), 0, 20, "a = 5.0");
- plot.add(boost::bind(f2, 10.0, _1), 0, 20, "a = 10.0");
- plot.plot("gamma_p", "gamma_p.svg", "z", "gamma_p(a, z)");
-
- f2 = boost::math::gamma_q;
- plot.clear();
- plot.add(boost::bind(f2, 0.5, _1), 0, 20, "a = 0.5");
- plot.add(boost::bind(f2, 1.0, _1), 0, 20, "a = 1.0");
- plot.add(boost::bind(f2, 5.0, _1), 0, 20, "a = 5.0");
- plot.add(boost::bind(f2, 10.0, _1), 0, 20, "a = 10.0");
- plot.plot("gamma_q", "gamma_q.svg", "z", "gamma_q(a, z)");
-
- f2 = lbeta;
- plot.clear();
- plot.add(boost::bind(f2, 0.5, _1), 0.00001, 5, "a = 0.5");
- plot.add(boost::bind(f2, 1.0, _1), 0.00001, 5, "a = 1.0");
- plot.add(boost::bind(f2, 5.0, _1), 0.00001, 5, "a = 5.0");
- plot.add(boost::bind(f2, 10.0, _1), 0.00001, 5, "a = 10.0");
- plot.plot("beta", "beta.svg", "z", "log(beta(a, z))");
-
- f = boost::math::expint;
- max_val = f(4);
- plot.clear();
- plot.add(f, find_end_point(f, 0.1, -max_val, true), 4, "");
- plot.add(f, -3, find_end_point(f, -0.1, -max_val, false), "");
- plot.plot("Exponential Integral Ei", "expint_i.svg", "z", "expint(z)");
-
- f2u = boost::math::expint;
- max_val = 1;
- plot.clear();
- plot.add(boost::bind(f2u, 1, _1), find_end_point(boost::bind(f2u, 1, _1), 0.1, max_val, false), 2, "n = 1 ");
- plot.add(boost::bind(f2u, 2, _1), find_end_point(boost::bind(f2u, 2, _1), 0.1, max_val, false), 2, "n = 2 ");
- plot.add(boost::bind(f2u, 3, _1), 0, 2, "n = 3 ");
- plot.add(boost::bind(f2u, 4, _1), 0, 2, "n = 4 ");
- plot.plot("Exponential Integral En", "expint2.svg", "z", "expint(n, z)");
-
- f3 = boost::math::ibeta;
- plot.clear();
- plot.add(boost::bind(f3, 9, 1, _1), 0, 1, "a = 9, b = 1");
- plot.add(boost::bind(f3, 7, 2, _1), 0, 1, "a = 7, b = 2");
- plot.add(boost::bind(f3, 5, 5, _1), 0, 1, "a = 5, b = 5");
- plot.add(boost::bind(f3, 2, 7, _1), 0, 1, "a = 2, b = 7");
- plot.add(boost::bind(f3, 1, 9, _1), 0, 1, "a = 1, b = 9");
- plot.plot("ibeta", "ibeta.svg", "z", "ibeta(a, b, z)");
-
- f2i = boost::math::legendre_p;
- plot.clear();
- plot.add(boost::bind(f2i, 1, _1), -1, 1, "l = 1");
- plot.add(boost::bind(f2i, 2, _1), -1, 1, "l = 2");
- plot.add(boost::bind(f2i, 3, _1), -1, 1, "l = 3");
- plot.add(boost::bind(f2i, 4, _1), -1, 1, "l = 4");
- plot.add(boost::bind(f2i, 5, _1), -1, 1, "l = 5");
- plot.plot("Legendre Polynomials", "legendre_p.svg", "x", "legendre_p(l, x)");
-
- f2u = boost::math::legendre_q;
- plot.clear();
- plot.add(boost::bind(f2u, 1, _1), -0.95, 0.95, "l = 1");
- plot.add(boost::bind(f2u, 2, _1), -0.95, 0.95, "l = 2");
- plot.add(boost::bind(f2u, 3, _1), -0.95, 0.95, "l = 3");
- plot.add(boost::bind(f2u, 4, _1), -0.95, 0.95, "l = 4");
- plot.add(boost::bind(f2u, 5, _1), -0.95, 0.95, "l = 5");
- plot.plot("Legendre Polynomials of the Second Kind", "legendre_q.svg", "x", "legendre_q(l, x)");
-
- f2u = boost::math::laguerre;
- plot.clear();
- plot.add(boost::bind(f2u, 0, _1), -5, 10, "n = 0");
- plot.add(boost::bind(f2u, 1, _1), -5, 10, "n = 1");
- plot.add(boost::bind(f2u, 2, _1),
- find_end_point(boost::bind(f2u, 2, _1), -2, 20, false),
- find_end_point(boost::bind(f2u, 2, _1), 4, 20, true),
- "n = 2");
- plot.add(boost::bind(f2u, 3, _1),
- find_end_point(boost::bind(f2u, 3, _1), -2, 20, false),
- 8 + find_end_point(boost::bind(f2u, 3, _1), 1, 20, false, 8),
- "n = 3");
- plot.add(boost::bind(f2u, 4, _1),
- find_end_point(boost::bind(f2u, 4, _1), -2, 20, false),
- 8 + find_end_point(boost::bind(f2u, 4, _1), 1, 20, true, 8),
- "n = 4");
- plot.add(boost::bind(f2u, 5, _1),
- find_end_point(boost::bind(f2u, 5, _1), -2, 20, false),
- 8 + find_end_point(boost::bind(f2u, 5, _1), 1, 20, true, 8),
- "n = 5");
- plot.plot("Laguerre Polynomials", "laguerre.svg", "x", "laguerre(n, x)");
-
- f2u = boost::math::hermite;
- plot.clear();
- plot.add(boost::bind(f2u, 0, _1), -1.8, 1.8, "n = 0");
- plot.add(boost::bind(f2u, 1, _1), -1.8, 1.8, "n = 1");
- plot.add(boost::bind(f2u, 2, _1), -1.8, 1.8, "n = 2");
- plot.add(boost::bind(f2u, 3, _1), -1.8, 1.8, "n = 3");
- plot.add(boost::bind(f2u, 4, _1), -1.8, 1.8, "n = 4");
- plot.plot("Hermite Polynomials", "hermite.svg", "x", "hermite(n, x)");
-
- f2 = boost::math::cyl_bessel_j;
- plot.clear();
- plot.add(boost::bind(f2, 0, _1), -20, 20, "v = 0");
- plot.add(boost::bind(f2, 1, _1), -20, 20, "v = 1");
- plot.add(boost::bind(f2, 2, _1), -20, 20, "v = 2");
- plot.add(boost::bind(f2, 3, _1), -20, 20, "v = 3");
- plot.add(boost::bind(f2, 4, _1), -20, 20, "v = 4");
- plot.plot("Bessel J", "cyl_bessel_j.svg", "x", "cyl_bessel_j(v, x)");
-
- f2 = boost::math::cyl_neumann;
- plot.clear();
- plot.add(boost::bind(f2, 0, _1), find_end_point(boost::bind(f2, 0, _1), 0.1, -5, true), 20, "v = 0");
- plot.add(boost::bind(f2, 1, _1), find_end_point(boost::bind(f2, 1, _1), 0.1, -5, true), 20, "v = 1");
- plot.add(boost::bind(f2, 2, _1), find_end_point(boost::bind(f2, 2, _1), 0.1, -5, true), 20, "v = 2");
- plot.add(boost::bind(f2, 3, _1), find_end_point(boost::bind(f2, 3, _1), 0.1, -5, true), 20, "v = 3");
- plot.add(boost::bind(f2, 4, _1), find_end_point(boost::bind(f2, 4, _1), 0.1, -5, true), 20, "v = 4");
- plot.plot("Bessel Y", "cyl_neumann.svg", "x", "cyl_neumann(v, x)");
-
- f2 = boost::math::cyl_bessel_i;
- plot.clear();
- plot.add(boost::bind(f2, 0, _1), find_end_point(boost::bind(f2, 0, _1), -0.1, 20, false), find_end_point(boost::bind(f2, 0, _1), 0.1, 20, true), "v = 0");
- plot.add(boost::bind(f2, 2, _1), find_end_point(boost::bind(f2, 2, _1), -0.1, 20, false), find_end_point(boost::bind(f2, 2, _1), 0.1, 20, true), "v = 2");
- plot.add(boost::bind(f2, 5, _1), find_end_point(boost::bind(f2, 5, _1), -0.1, -20, true), find_end_point(boost::bind(f2, 5, _1), 0.1, 20, true), "v = 5");
- plot.add(boost::bind(f2, 7, _1), find_end_point(boost::bind(f2, 7, _1), -0.1, -20, true), find_end_point(boost::bind(f2, 7, _1), 0.1, 20, true), "v = 7");
- plot.add(boost::bind(f2, 10, _1), find_end_point(boost::bind(f2, 10, _1), -0.1, 20, false), find_end_point(boost::bind(f2, 10, _1), 0.1, 20, true), "v = 10");
- plot.plot("Bessel I", "cyl_bessel_i.svg", "x", "cyl_bessel_i(v, x)");
-
- f2 = boost::math::cyl_bessel_k;
- plot.clear();
- plot.add(boost::bind(f2, 0, _1), find_end_point(boost::bind(f2, 0, _1), 0.1, 10, false), 10, "v = 0");
- plot.add(boost::bind(f2, 2, _1), find_end_point(boost::bind(f2, 2, _1), 0.1, 10, false), 10, "v = 2");
- plot.add(boost::bind(f2, 5, _1), find_end_point(boost::bind(f2, 5, _1), 0.1, 10, false), 10, "v = 5");
- plot.add(boost::bind(f2, 7, _1), find_end_point(boost::bind(f2, 7, _1), 0.1, 10, false), 10, "v = 7");
- plot.add(boost::bind(f2, 10, _1), find_end_point(boost::bind(f2, 10, _1), 0.1, 10, false), 10, "v = 10");
- plot.plot("Bessel K", "cyl_bessel_k.svg", "x", "cyl_bessel_k(v, x)");
-
- f2u = boost::math::sph_bessel;
- plot.clear();
- plot.add(boost::bind(f2u, 0, _1), 0, 20, "v = 0");
- plot.add(boost::bind(f2u, 2, _1), 0, 20, "v = 2");
- plot.add(boost::bind(f2u, 5, _1), 0, 20, "v = 5");
- plot.add(boost::bind(f2u, 7, _1), 0, 20, "v = 7");
- plot.add(boost::bind(f2u, 10, _1), 0, 20, "v = 10");
- plot.plot("Bessel j", "sph_bessel.svg", "x", "sph_bessel(v, x)");
-
- f2u = boost::math::sph_neumann;
- plot.clear();
- plot.add(boost::bind(f2u, 0, _1), find_end_point(boost::bind(f2u, 0, _1), 0.1, -5, true), 20, "v = 0");
- plot.add(boost::bind(f2u, 2, _1), find_end_point(boost::bind(f2u, 2, _1), 0.1, -5, true), 20, "v = 2");
- plot.add(boost::bind(f2u, 5, _1), find_end_point(boost::bind(f2u, 5, _1), 0.1, -5, true), 20, "v = 5");
- plot.add(boost::bind(f2u, 7, _1), find_end_point(boost::bind(f2u, 7, _1), 0.1, -5, true), 20, "v = 7");
- plot.add(boost::bind(f2u, 10, _1), find_end_point(boost::bind(f2u, 10, _1), 0.1, -5, true), 20, "v = 10");
- plot.plot("Bessel y", "sph_neumann.svg", "x", "sph_neumann(v, x)");
-
- f4 = boost::math::ellint_rj;
- plot.clear();
- plot.add(boost::bind(f4, _1, _1, _1, _1), find_end_point(boost::bind(f4, _1, _1, _1, _1), 0.1, 10, false), 4, "RJ");
- f3 = boost::math::ellint_rf;
- plot.add(boost::bind(f3, _1, _1, _1), find_end_point(boost::bind(f3, _1, _1, _1), 0.1, 10, false), 4, "RF");
- plot.plot("Elliptic Integrals", "ellint_carlson.svg", "x", "");
-
- f2 = boost::math::ellint_1;
- plot.clear();
- plot.add(boost::bind(f2, _1, 0.5), -0.9, 0.9, "&#x3C6;=0.5");
- plot.add(boost::bind(f2, _1, 0.75), -0.9, 0.9, "&#x3C6;=0.75");
- plot.add(boost::bind(f2, _1, 1.25), -0.9, 0.9, "&#x3C6;=1.25");
- plot.add(boost::bind(f2, _1, boost::math::constants::pi<double>() / 2), -0.9, 0.9, "&#x3C6;=&#x3C0;/2");
- plot.plot("Elliptic Of the First Kind", "ellint_1.svg", "k", "ellint_1(k, phi)");
-
- f2 = boost::math::ellint_2;
- plot.clear();
- plot.add(boost::bind(f2, _1, 0.5), -1, 1, "&#x3C6;=0.5");
- plot.add(boost::bind(f2, _1, 0.75), -1, 1, "&#x3C6;=0.75");
- plot.add(boost::bind(f2, _1, 1.25), -1, 1, "&#x3C6;=1.25");
- plot.add(boost::bind(f2, _1, boost::math::constants::pi<double>() / 2), -1, 1, "&#x3C6;=&#x3C0;/2");
- plot.plot("Elliptic Of the Second Kind", "ellint_2.svg", "k", "ellint_2(k, phi)");
-
- f3 = boost::math::ellint_3;
- plot.clear();
- plot.add(boost::bind(f3, _1, 0, 1.25), -1, 1, "n=0 &#x3C6;=1.25");
- plot.add(boost::bind(f3, _1, 0.5, 1.25), -1, 1, "n=0.5 &#x3C6;=1.25");
- plot.add(boost::bind(f3, _1, 0.25, boost::math::constants::pi<double>() / 2),
- find_end_point(
- boost::bind(f3, _1, 0.25, boost::math::constants::pi<double>() / 2),
- 0.5, 4, false, -1) - 1,
- find_end_point(
- boost::bind(f3, _1, 0.25, boost::math::constants::pi<double>() / 2),
- -0.5, 4, true, 1) + 1, "n=0.25 &#x3C6;=&#x3C0;/2");
- plot.add(boost::bind(f3, _1, 0.75, boost::math::constants::pi<double>() / 2),
- find_end_point(
- boost::bind(f3, _1, 0.75, boost::math::constants::pi<double>() / 2),
- 0.5, 4, false, -1) - 1,
- find_end_point(
- boost::bind(f3, _1, 0.75, boost::math::constants::pi<double>() / 2),
- -0.5, 4, true, 1) + 1, "n=0.75 &#x3C6;=&#x3C0;/2");
- plot.plot("Elliptic Of the Third Kind", "ellint_3.svg", "k", "ellint_3(k, n, phi)");
-
- return 0;
-}
-
diff --git a/libs/math/doc/sf_and_dist/graphs/sinc_pi.svg b/libs/math/doc/sf_and_dist/graphs/sinc_pi.svg
deleted file mode 100644
index b254d898aa..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/sinc_pi.svg
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="487.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="489.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="324.3" y1="58" x2="324.3" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="291.5" x2="574" y2="291.5"/><line x1="79.2" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,263 L84.2,263 M82.2,234.5 L84.2,234.5 M82.2,206 L84.2,206 M82.2,149 L84.2,149 M82.2,120.5 L84.2,120.5 M82.2,92.04 L84.2,92.04 M82.2,291.5 L84.2,291.5 M82.2,320 L84.2,320 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M354.3,341 L354.3,343 M384.3,341 L384.3,343 M414.3,341 L414.3,343 M474.4,341 L474.4,343 M504.4,341 L504.4,343 M534.4,341 L534.4,343 M294.3,341 L294.3,343 M264.3,341 L264.3,343 M234.3,341 L234.3,343 M174.2,341 L174.2,343 M144.2,341 L144.2,343 M114.2,341 L114.2,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,291.5 L84.2,291.5 M79.2,177.5 L84.2,177.5 M79.2,63.55 L84.2,63.55 M79.2,291.5 L84.2,291.5 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M324.3,341 L324.3,346 M444.3,341 L444.3,346 M564.4,341 L564.4,346 M324.3,341 L324.3,346 M204.2,341 L204.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="444.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="324.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="204.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="179.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sinc_pi(z)</text></g>
-<g id="xLabel">
-<text x="329.1" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,303.9 L86.6,302 L89,300 L91.4,297.9 L93.8,295.6 L96.2,293.3 L98.61,290.9 L101,288.4 L103.4,286 L105.8,283.5 L108.2,281 L110.6,278.7 L113,276.3 L115.4,274.1 L117.8,272 L120.2,270.1 L122.6,268.3 L125,266.7 L127.4,265.3 L129.8,264.2 L132.2,263.3 L134.6,262.7 L137,262.3 L139.4,262.2 L141.8,262.5 L144.2,263 L146.6,263.8 L149,264.9 L151.4,266.4 L153.8,268.1 L156.2,270.1 L158.6,272.4 L161,274.9 L163.4,277.7 L165.8,280.7 L168.2,283.9 L170.6,287.3 L173,290.9 L175.4,294.5 L177.8,298.3 L180.2,302.1 L182.6,305.9 L185,309.7 L187.4,313.5 L189.8,317.2 L192.2,320.7 L194.6,324.1 L197,327.3 L199.4,330.2 L201.8,332.9 L204.2,335.2 L206.6,337.2 L209.1,338.8 L211.5,340 L213.9,340.7 L216.3,341 L218.7,340.8 L221.1,340.1 L223.5,338.8 L225.9,337 L228.3,334.6 L230.7,331.7 L233.1,328.2 L235.5,324.1 L237.9,319.5 L240.3,314.3 L242.7,308.6 L245.1,302.4 L247.5,295.6 L249.9,288.4 L252.3,280.8 L254.7,272.7 L257.1,264.2 L259.5,255.4 L261.9,246.3 L264.3,236.9 L266.7,227.3 L269.1,217.6 L271.5,207.7 L273.9,197.8 L276.3,187.9 L278.7,178 L281.1,168.2 L283.5,158.5 L285.9,149.1 L288.3,139.9 L290.7,131 L293.1,122.5 L295.5,114.4 L297.9,106.8 L300.3,99.68 L302.7,93.1 L305.1,87.1 L307.5,81.71 L309.9,76.98 L312.3,72.93 L314.7,69.58 L317.1,66.95 L319.5,65.07 L321.9,63.93 L324.3,63.55 L326.7,63.93 L329.1,65.07 L331.5,66.95 L333.9,69.58 L336.3,72.93 L338.7,76.98 L341.1,81.71 L343.5,87.1 L345.9,93.1 L348.3,99.68 L350.7,106.8 L353.1,114.4 L355.5,122.5 L357.9,131 L360.3,139.9 L362.7,149.1 L365.1,158.5 L367.5,168.2 L369.9,178 L372.3,187.9 L374.7,197.8 L377.1,207.7 L379.5,217.6 L381.9,227.3 L384.3,236.9 L386.7,246.3 L389.1,255.4 L391.5,264.2 L393.9,272.7 L396.3,280.8 L398.7,288.4 L401.1,295.6 L403.5,302.4 L405.9,308.6 L408.3,314.3 L410.7,319.5 L413.1,324.1 L415.5,328.2 L417.9,331.7 L420.3,334.6 L422.7,337 L425.1,338.8 L427.5,340.1 L429.9,340.8 L432.3,341 L434.7,340.7 L437.1,340 L439.5,338.8 L441.9,337.2 L444.3,335.2 L446.7,332.9 L449.1,330.2 L451.5,327.3 L454,324.1 L456.4,320.7 L458.8,317.2 L461.2,313.5 L463.6,309.7 L466,305.9 L468.4,302.1 L470.8,298.3 L473.2,294.5 L475.6,290.9 L478,287.3 L480.4,283.9 L482.8,280.7 L485.2,277.7 L487.6,274.9 L490,272.4 L492.4,270.1 L494.8,268.1 L497.2,266.4 L499.6,264.9 L502,263.8 L504.4,263 L506.8,262.5 L509.2,262.2 L511.6,262.3 L514,262.7 L516.4,263.3 L518.8,264.2 L521.2,265.3 L523.6,266.7 L526,268.3 L528.4,270.1 L530.8,272 L533.2,274.1 L535.6,276.3 L538,278.7 L540.4,281 L542.8,283.5 L545.2,286 L547.6,288.4 L550,290.9 L552.4,293.3 L554.8,295.6 L557.2,297.9 L559.6,300 L562,302 L564.4,303.9 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">sinc_pi</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sinhc_pi.svg b/libs/math/doc/sf_and_dist/graphs/sinhc_pi.svg
deleted file mode 100644
index b8a15b6e7f..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/sinhc_pi.svg
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="320" y1="58" x2="320" y2="341"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,336 L75.8,336 M73.8,310.9 L75.8,310.9 M73.8,285.9 L75.8,285.9 M73.8,235.8 L75.8,235.8 M73.8,210.7 L75.8,210.7 M73.8,185.6 L75.8,185.6 M73.8,135.5 L75.8,135.5 M73.8,110.5 L75.8,110.5 M73.8,85.41 L75.8,85.41 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M332.2,341 L332.2,343 M344.4,341 L344.4,343 M356.6,341 L356.6,343 M381.1,341 L381.1,343 M393.3,341 L393.3,343 M405.5,341 L405.5,343 M429.9,341 L429.9,343 M442.1,341 L442.1,343 M454.3,341 L454.3,343 M478.8,341 L478.8,343 M491,341 L491,343 M503.2,341 L503.2,343 M527.6,341 L527.6,343 M539.8,341 L539.8,343 M552,341 L552,343 M307.8,341 L307.8,343 M295.6,341 L295.6,343 M283.4,341 L283.4,343 M259,341 L259,343 M246.8,341 L246.8,343 M234.5,341 L234.5,343 M210.1,341 L210.1,343 M197.9,341 L197.9,343 M185.7,341 L185.7,343 M161.3,341 L161.3,343 M149.1,341 L149.1,343 M136.9,341 L136.9,343 M112.4,341 L112.4,343 M100.2,341 L100.2,343 M88.01,341 L88.01,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,260.8 L75.8,260.8 M70.8,160.6 L75.8,160.6 M70.8,60.35 L75.8,60.35 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M320,341 L320,346 M368.9,341 L368.9,346 M417.7,341 L417.7,346 M466.5,341 L466.5,346 M515.4,341 L515.4,346 M564.2,341 L564.2,346 M320,341 L320,346 M271.2,341 L271.2,346 M222.3,341 L222.3,346 M173.5,341 L173.5,346 M124.6,341 L124.6,346 M75.8,341 L75.8,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="368.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="417.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="466.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="515.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="271.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="222.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="173.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
-<text x="124.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text>
-<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="263.2" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="64.8" y="163" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="64.8" y="62.75" text-anchor="end" font-size="12" font-family="Verdana">15</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sinhc_pi(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,63.55 L78.24,75.2 L80.68,86.37 L83.13,97.07 L85.57,107.3 L88.01,117.2 L90.45,126.6 L92.9,135.6 L95.34,144.3 L97.78,152.6 L100.2,160.6 L102.7,168.2 L105.1,175.5 L107.5,182.6 L110,189.3 L112.4,195.7 L114.9,201.9 L117.3,207.9 L119.8,213.6 L122.2,219 L124.6,224.3 L127.1,229.3 L129.5,234.1 L132,238.8 L134.4,243.2 L136.9,247.5 L139.3,251.5 L141.7,255.5 L144.2,259.2 L146.6,262.8 L149.1,266.3 L151.5,269.6 L153.9,272.8 L156.4,275.9 L158.8,278.8 L161.3,281.6 L163.7,284.3 L166.2,286.9 L168.6,289.4 L171,291.8 L173.5,294.1 L175.9,296.3 L178.4,298.4 L180.8,300.5 L183.3,302.4 L185.7,304.3 L188.1,306.1 L190.6,307.8 L193,309.4 L195.5,311 L197.9,312.5 L200.3,314 L202.8,315.4 L205.2,316.7 L207.7,318 L210.1,319.3 L212.6,320.4 L215,321.6 L217.4,322.7 L219.9,323.7 L222.3,324.7 L224.8,325.6 L227.2,326.6 L229.7,327.4 L232.1,328.3 L234.5,329.1 L237,329.8 L239.4,330.6 L241.9,331.3 L244.3,332 L246.8,332.6 L249.2,333.2 L251.6,333.8 L254.1,334.3 L256.5,334.9 L259,335.4 L261.4,335.8 L263.8,336.3 L266.3,336.7 L268.7,337.1 L271.2,337.5 L273.6,337.8 L276.1,338.2 L278.5,338.5 L280.9,338.8 L283.4,339.1 L285.8,339.3 L288.3,339.6 L290.7,339.8 L293.2,340 L295.6,340.2 L298,340.3 L300.5,340.5 L302.9,340.6 L305.4,340.7 L307.8,340.8 L310.2,340.9 L312.7,340.9 L315.1,341 L317.6,341 L320,341 L322.5,341 L324.9,341 L327.3,340.9 L329.8,340.9 L332.2,340.8 L334.7,340.7 L337.1,340.6 L339.6,340.5 L342,340.3 L344.4,340.2 L346.9,340 L349.3,339.8 L351.8,339.6 L354.2,339.3 L356.6,339.1 L359.1,338.8 L361.5,338.5 L364,338.2 L366.4,337.8 L368.9,337.5 L371.3,337.1 L373.7,336.7 L376.2,336.3 L378.6,335.8 L381.1,335.4 L383.5,334.9 L386,334.3 L388.4,333.8 L390.8,333.2 L393.3,332.6 L395.7,332 L398.2,331.3 L400.6,330.6 L403,329.8 L405.5,329.1 L407.9,328.3 L410.4,327.4 L412.8,326.6 L415.3,325.6 L417.7,324.7 L420.1,323.7 L422.6,322.7 L425,321.6 L427.5,320.4 L429.9,319.3 L432.4,318 L434.8,316.7 L437.2,315.4 L439.7,314 L442.1,312.5 L444.6,311 L447,309.4 L449.4,307.8 L451.9,306.1 L454.3,304.3 L456.8,302.4 L459.2,300.5 L461.7,298.4 L464.1,296.3 L466.5,294.1 L469,291.8 L471.4,289.4 L473.9,286.9 L476.3,284.3 L478.8,281.6 L481.2,278.8 L483.6,275.9 L486.1,272.8 L488.5,269.6 L491,266.3 L493.4,262.8 L495.9,259.2 L498.3,255.5 L500.7,251.5 L503.2,247.5 L505.6,243.2 L508.1,238.8 L510.5,234.1 L512.9,229.3 L515.4,224.3 L517.8,219 L520.3,213.6 L522.7,207.9 L525.2,201.9 L527.6,195.7 L530,189.3 L532.5,182.6 L534.9,175.5 L537.4,168.2 L539.8,160.6 L542.3,152.6 L544.7,144.3 L547.1,135.6 L549.6,126.6 L552,117.2 L554.5,107.3 L556.9,97.07 L559.3,86.37 L561.8,75.2 L564.2,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">sinhc_pi</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sph_bessel.svg b/libs/math/doc/sf_and_dist/graphs/sph_bessel.svg
deleted file mode 100644
index c53d32a41f..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/sph_bessel.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="366.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="368.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="291.5" x2="453" y2="291.5"/><line x1="79.2" y1="341" x2="453" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,263 L84.2,263 M82.2,234.5 L84.2,234.5 M82.2,206 L84.2,206 M82.2,149 L84.2,149 M82.2,120.5 L84.2,120.5 M82.2,92.04 L84.2,92.04 M82.2,291.5 L84.2,291.5 M82.2,320 L84.2,320 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M106.8,341 L106.8,343 M129.4,341 L129.4,343 M152,341 L152,343 M197.2,341 L197.2,343 M219.8,341 L219.8,343 M242.4,341 L242.4,343 M287.6,341 L287.6,343 M310.2,341 L310.2,343 M332.8,341 L332.8,343 M377.9,341 L377.9,343 M400.5,341 L400.5,343 M423.1,341 L423.1,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,291.5 L84.2,291.5 M79.2,177.5 L84.2,177.5 M79.2,63.55 L84.2,63.55 M79.2,291.5 L84.2,291.5 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M174.6,341 L174.6,346 M265,341 L265,346 M355.3,341 L355.3,346 M445.7,341 L445.7,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="174.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="265" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="355.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="445.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="179.9" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="293.9" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sph_bessel(v, x)</text></g>
-<g id="xLabel">
-<text x="268.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,63.55 L86.01,63.93 L87.82,65.07 L89.62,66.95 L91.43,69.58 L93.24,72.93 L95.05,76.98 L96.85,81.71 L98.66,87.1 L100.5,93.1 L102.3,99.68 L104.1,106.8 L105.9,114.4 L107.7,122.5 L109.5,131 L111.3,139.9 L113.1,149.1 L114.9,158.5 L116.7,168.2 L118.5,178 L120.4,187.9 L122.2,197.8 L124,207.7 L125.8,217.6 L127.6,227.3 L129.4,236.9 L131.2,246.3 L133,255.4 L134.8,264.2 L136.6,272.7 L138.4,280.8 L140.2,288.4 L142,295.6 L143.9,302.4 L145.7,308.6 L147.5,314.3 L149.3,319.5 L151.1,324.1 L152.9,328.2 L154.7,331.7 L156.5,334.6 L158.3,337 L160.1,338.8 L161.9,340.1 L163.7,340.8 L165.5,341 L167.4,340.7 L169.2,340 L171,338.8 L172.8,337.2 L174.6,335.2 L176.4,332.9 L178.2,330.2 L180,327.3 L181.8,324.1 L183.6,320.7 L185.4,317.2 L187.2,313.5 L189,309.7 L190.9,305.9 L192.7,302.1 L194.5,298.3 L196.3,294.5 L198.1,290.9 L199.9,287.3 L201.7,283.9 L203.5,280.7 L205.3,277.7 L207.1,274.9 L208.9,272.4 L210.7,270.1 L212.5,268.1 L214.4,266.4 L216.2,264.9 L218,263.8 L219.8,263 L221.6,262.5 L223.4,262.2 L225.2,262.3 L227,262.7 L228.8,263.3 L230.6,264.2 L232.4,265.3 L234.2,266.7 L236,268.3 L237.8,270.1 L239.7,272 L241.5,274.1 L243.3,276.3 L245.1,278.7 L246.9,281 L248.7,283.5 L250.5,286 L252.3,288.4 L254.1,290.9 L255.9,293.3 L257.7,295.6 L259.5,297.9 L261.3,300 L263.2,302 L265,303.9 L266.8,305.6 L268.6,307.1 L270.4,308.5 L272.2,309.6 L274,310.6 L275.8,311.3 L277.6,311.9 L279.4,312.2 L281.2,312.3 L283,312.2 L284.8,311.9 L286.7,311.4 L288.5,310.7 L290.3,309.9 L292.1,308.8 L293.9,307.7 L295.7,306.3 L297.5,304.9 L299.3,303.3 L301.1,301.7 L302.9,300 L304.7,298.2 L306.5,296.4 L308.3,294.5 L310.2,292.7 L312,290.9 L313.8,289.1 L315.6,287.4 L317.4,285.7 L319.2,284.1 L321,282.6 L322.8,281.3 L324.6,280 L326.4,278.9 L328.2,277.9 L330,277.1 L331.8,276.4 L333.7,275.9 L335.5,275.5 L337.3,275.4 L339.1,275.3 L340.9,275.5 L342.7,275.8 L344.5,276.2 L346.3,276.8 L348.1,277.5 L349.9,278.4 L351.7,279.3 L353.5,280.4 L355.3,281.6 L357.2,282.9 L359,284.2 L360.8,285.6 L362.6,287 L364.4,288.4 L366.2,289.9 L368,291.4 L369.8,292.8 L371.6,294.2 L373.4,295.6 L375.2,296.9 L377,298.1 L378.8,299.3 L380.7,300.4 L382.5,301.3 L384.3,302.2 L386.1,302.9 L387.9,303.5 L389.7,304 L391.5,304.4 L393.3,304.6 L395.1,304.7 L396.9,304.7 L398.7,304.5 L400.5,304.2 L402.3,303.8 L404.2,303.2 L406,302.6 L407.8,301.8 L409.6,301 L411.4,300.1 L413.2,299.1 L415,298 L416.8,296.9 L418.6,295.7 L420.4,294.5 L422.2,293.3 L424,292.1 L425.8,290.9 L427.7,289.7 L429.5,288.5 L431.3,287.4 L433.1,286.3 L434.9,285.3 L436.7,284.4 L438.5,283.6 L440.3,282.8 L442.1,282.1 L443.9,281.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.3 L87.82,290.9 L89.62,290.1 L91.43,289.1 L93.24,287.8 L95.05,286.2 L96.85,284.3 L98.66,282.2 L100.5,279.9 L102.3,277.3 L104.1,274.6 L105.9,271.8 L107.7,268.8 L109.5,265.7 L111.3,262.5 L113.1,259.2 L114.9,255.9 L116.7,252.7 L118.5,249.4 L120.4,246.3 L122.2,243.2 L124,240.2 L125.8,237.4 L127.6,234.7 L129.4,232.2 L131.2,229.9 L133,227.9 L134.8,226.1 L136.6,224.6 L138.4,223.4 L140.2,222.5 L142,221.9 L143.9,221.6 L145.7,221.6 L147.5,222 L149.3,222.6 L151.1,223.6 L152.9,225 L154.7,226.6 L156.5,228.5 L158.3,230.7 L160.1,233.2 L161.9,236 L163.7,239 L165.5,242.2 L167.4,245.6 L169.2,249.2 L171,252.9 L172.8,256.8 L174.6,260.8 L176.4,264.8 L178.2,268.9 L180,273 L181.8,277.1 L183.6,281.2 L185.4,285.2 L187.2,289.1 L189,292.9 L190.9,296.5 L192.7,300 L194.5,303.3 L196.3,306.4 L198.1,309.3 L199.9,311.9 L201.7,314.3 L203.5,316.4 L205.3,318.3 L207.1,319.8 L208.9,321.1 L210.7,322.1 L212.5,322.8 L214.4,323.2 L216.2,323.3 L218,323.1 L219.8,322.7 L221.6,322 L223.4,321 L225.2,319.8 L227,318.4 L228.8,316.8 L230.6,315 L232.4,313 L234.2,310.9 L236,308.7 L237.8,306.3 L239.7,303.9 L241.5,301.4 L243.3,298.9 L245.1,296.4 L246.9,293.8 L248.7,291.4 L250.5,288.9 L252.3,286.6 L254.1,284.3 L255.9,282.2 L257.7,280.2 L259.5,278.3 L261.3,276.6 L263.2,275.1 L265,273.7 L266.8,272.6 L268.6,271.6 L270.4,270.8 L272.2,270.3 L274,270 L275.8,269.8 L277.6,269.9 L279.4,270.2 L281.2,270.6 L283,271.3 L284.8,272.1 L286.7,273.1 L288.5,274.3 L290.3,275.6 L292.1,277 L293.9,278.6 L295.7,280.2 L297.5,281.9 L299.3,283.7 L301.1,285.5 L302.9,287.4 L304.7,289.2 L306.5,291.1 L308.3,292.9 L310.2,294.7 L312,296.4 L313.8,298 L315.6,299.6 L317.4,301.1 L319.2,302.4 L321,303.6 L322.8,304.7 L324.6,305.6 L326.4,306.4 L328.2,307.1 L330,307.5 L331.8,307.9 L333.7,308 L335.5,308 L337.3,307.8 L339.1,307.5 L340.9,307.1 L342.7,306.4 L344.5,305.7 L346.3,304.8 L348.1,303.8 L349.9,302.7 L351.7,301.5 L353.5,300.3 L355.3,298.9 L357.2,297.5 L359,296.1 L360.8,294.6 L362.6,293.2 L364.4,291.7 L366.2,290.2 L368,288.8 L369.8,287.4 L371.6,286.1 L373.4,284.9 L375.2,283.7 L377,282.6 L378.8,281.6 L380.7,280.8 L382.5,280 L384.3,279.4 L386.1,278.8 L387.9,278.5 L389.7,278.2 L391.5,278.1 L393.3,278.1 L395.1,278.2 L396.9,278.5 L398.7,278.9 L400.5,279.4 L402.3,280 L404.2,280.7 L406,281.6 L407.8,282.5 L409.6,283.5 L411.4,284.5 L413.2,285.6 L415,286.8 L416.8,288 L418.6,289.2 L420.4,290.4 L422.2,291.6 L424,292.8 L425.8,294 L427.7,295.1 L429.5,296.2 L431.3,297.3 L433.1,298.2 L434.9,299.1 L436.7,299.9 L438.5,300.7 L440.3,301.3 L442.1,301.8 L443.9,302.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.5 L87.82,291.5 L89.62,291.5 L91.43,291.5 L93.24,291.5 L95.05,291.5 L96.85,291.5 L98.66,291.5 L100.5,291.5 L102.3,291.5 L104.1,291.5 L105.9,291.4 L107.7,291.4 L109.5,291.4 L111.3,291.3 L113.1,291.3 L114.9,291.2 L116.7,291.1 L118.5,291 L120.4,290.9 L122.2,290.7 L124,290.5 L125.8,290.3 L127.6,290.1 L129.4,289.8 L131.2,289.5 L133,289.1 L134.8,288.7 L136.6,288.3 L138.4,287.7 L140.2,287.2 L142,286.6 L143.9,285.9 L145.7,285.2 L147.5,284.4 L149.3,283.6 L151.1,282.7 L152.9,281.7 L154.7,280.7 L156.5,279.7 L158.3,278.6 L160.1,277.4 L161.9,276.2 L163.7,275 L165.5,273.8 L167.4,272.5 L169.2,271.2 L171,269.8 L172.8,268.5 L174.6,267.1 L176.4,265.8 L178.2,264.5 L180,263.2 L181.8,261.9 L183.6,260.7 L185.4,259.5 L187.2,258.3 L189,257.3 L190.9,256.3 L192.7,255.4 L194.5,254.5 L196.3,253.8 L198.1,253.2 L199.9,252.7 L201.7,252.3 L203.5,252 L205.3,251.9 L207.1,251.8 L208.9,252 L210.7,252.2 L212.5,252.7 L214.4,253.2 L216.2,253.9 L218,254.7 L219.8,255.7 L221.6,256.9 L223.4,258.1 L225.2,259.5 L227,261 L228.8,262.6 L230.6,264.4 L232.4,266.2 L234.2,268.2 L236,270.2 L237.8,272.3 L239.7,274.4 L241.5,276.6 L243.3,278.9 L245.1,281.2 L246.9,283.4 L248.7,285.7 L250.5,288 L252.3,290.2 L254.1,292.5 L255.9,294.6 L257.7,296.7 L259.5,298.7 L261.3,300.6 L263.2,302.4 L265,304.1 L266.8,305.7 L268.6,307.2 L270.4,308.5 L272.2,309.7 L274,310.7 L275.8,311.5 L277.6,312.2 L279.4,312.8 L281.2,313.1 L283,313.3 L284.8,313.4 L286.7,313.2 L288.5,313 L290.3,312.5 L292.1,311.9 L293.9,311.2 L295.7,310.3 L297.5,309.2 L299.3,308.1 L301.1,306.9 L302.9,305.5 L304.7,304.1 L306.5,302.6 L308.3,301 L310.2,299.4 L312,297.7 L313.8,296 L315.6,294.3 L317.4,292.6 L319.2,290.9 L321,289.3 L322.8,287.7 L324.6,286.1 L326.4,284.6 L328.2,283.2 L330,281.9 L331.8,280.7 L333.7,279.6 L335.5,278.6 L337.3,277.7 L339.1,277 L340.9,276.4 L342.7,275.9 L344.5,275.6 L346.3,275.4 L348.1,275.3 L349.9,275.4 L351.7,275.6 L353.5,276 L355.3,276.4 L357.2,277.1 L359,277.8 L360.8,278.6 L362.6,279.5 L364.4,280.6 L366.2,281.7 L368,282.8 L369.8,284.1 L371.6,285.3 L373.4,286.7 L375.2,288 L377,289.4 L378.8,290.7 L380.7,292.1 L382.5,293.4 L384.3,294.7 L386.1,296 L387.9,297.2 L389.7,298.3 L391.5,299.4 L393.3,300.4 L395.1,301.2 L396.9,302 L398.7,302.7 L400.5,303.3 L402.3,303.8 L404.2,304.1 L406,304.3 L407.8,304.5 L409.6,304.5 L411.4,304.3 L413.2,304.1 L415,303.8 L416.8,303.3 L418.6,302.7 L420.4,302.1 L422.2,301.4 L424,300.5 L425.8,299.6 L427.7,298.7 L429.5,297.7 L431.3,296.6 L433.1,295.5 L434.9,294.4 L436.7,293.2 L438.5,292.1 L440.3,291 L442.1,289.8 L443.9,288.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.5 L87.82,291.5 L89.62,291.5 L91.43,291.5 L93.24,291.5 L95.05,291.5 L96.85,291.5 L98.66,291.5 L100.5,291.5 L102.3,291.5 L104.1,291.5 L105.9,291.5 L107.7,291.5 L109.5,291.5 L111.3,291.5 L113.1,291.5 L114.9,291.5 L116.7,291.5 L118.5,291.5 L120.4,291.5 L122.2,291.5 L124,291.5 L125.8,291.5 L127.6,291.4 L129.4,291.4 L131.2,291.4 L133,291.4 L134.8,291.4 L136.6,291.3 L138.4,291.3 L140.2,291.3 L142,291.2 L143.9,291.1 L145.7,291.1 L147.5,291 L149.3,290.9 L151.1,290.8 L152.9,290.7 L154.7,290.5 L156.5,290.3 L158.3,290.2 L160.1,290 L161.9,289.7 L163.7,289.5 L165.5,289.2 L167.4,288.9 L169.2,288.6 L171,288.2 L172.8,287.8 L174.6,287.4 L176.4,286.9 L178.2,286.5 L180,285.9 L181.8,285.4 L183.6,284.8 L185.4,284.1 L187.2,283.5 L189,282.8 L190.9,282.1 L192.7,281.3 L194.5,280.5 L196.3,279.7 L198.1,278.8 L199.9,278 L201.7,277.1 L203.5,276.1 L205.3,275.2 L207.1,274.3 L208.9,273.3 L210.7,272.4 L212.5,271.4 L214.4,270.4 L216.2,269.5 L218,268.6 L219.8,267.7 L221.6,266.8 L223.4,265.9 L225.2,265.1 L227,264.3 L228.8,263.6 L230.6,262.9 L232.4,262.3 L234.2,261.8 L236,261.3 L237.8,260.9 L239.7,260.5 L241.5,260.3 L243.3,260.1 L245.1,260 L246.9,260 L248.7,260.2 L250.5,260.4 L252.3,260.7 L254.1,261.1 L255.9,261.6 L257.7,262.2 L259.5,262.9 L261.3,263.7 L263.2,264.6 L265,265.6 L266.8,266.7 L268.6,267.9 L270.4,269.2 L272.2,270.6 L274,272 L275.8,273.5 L277.6,275 L279.4,276.6 L281.2,278.3 L283,280 L284.8,281.7 L286.7,283.5 L288.5,285.2 L290.3,287 L292.1,288.8 L293.9,290.5 L295.7,292.2 L297.5,293.9 L299.3,295.6 L301.1,297.1 L302.9,298.7 L304.7,300.1 L306.5,301.5 L308.3,302.8 L310.2,304 L312,305.1 L313.8,306.2 L315.6,307 L317.4,307.8 L319.2,308.5 L321,309 L322.8,309.4 L324.6,309.7 L326.4,309.9 L328.2,309.9 L330,309.8 L331.8,309.6 L333.7,309.2 L335.5,308.8 L337.3,308.2 L339.1,307.5 L340.9,306.7 L342.7,305.8 L344.5,304.8 L346.3,303.7 L348.1,302.6 L349.9,301.4 L351.7,300.1 L353.5,298.8 L355.3,297.5 L357.2,296.1 L359,294.7 L360.8,293.3 L362.6,291.9 L364.4,290.5 L366.2,289.2 L368,287.9 L369.8,286.6 L371.6,285.4 L373.4,284.2 L375.2,283.1 L377,282.1 L378.8,281.2 L380.7,280.4 L382.5,279.6 L384.3,279 L386.1,278.5 L387.9,278.1 L389.7,277.8 L391.5,277.6 L393.3,277.5 L395.1,277.5 L396.9,277.7 L398.7,277.9 L400.5,278.3 L402.3,278.8 L404.2,279.3 L406,280 L407.8,280.7 L409.6,281.6 L411.4,282.5 L413.2,283.4 L415,284.4 L416.8,285.5 L418.6,286.6 L420.4,287.7 L422.2,288.9 L424,290.1 L425.8,291.2 L427.7,292.4 L429.5,293.5 L431.3,294.6 L433.1,295.7 L434.9,296.7 L436.7,297.7 L438.5,298.6 L440.3,299.4 L442.1,300.1 L443.9,300.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,291.5 L86.01,291.5 L87.82,291.5 L89.62,291.5 L91.43,291.5 L93.24,291.5 L95.05,291.5 L96.85,291.5 L98.66,291.5 L100.5,291.5 L102.3,291.5 L104.1,291.5 L105.9,291.5 L107.7,291.5 L109.5,291.5 L111.3,291.5 L113.1,291.5 L114.9,291.5 L116.7,291.5 L118.5,291.5 L120.4,291.5 L122.2,291.5 L124,291.5 L125.8,291.5 L127.6,291.5 L129.4,291.5 L131.2,291.5 L133,291.5 L134.8,291.5 L136.6,291.5 L138.4,291.5 L140.2,291.5 L142,291.5 L143.9,291.5 L145.7,291.5 L147.5,291.5 L149.3,291.5 L151.1,291.5 L152.9,291.5 L154.7,291.5 L156.5,291.5 L158.3,291.5 L160.1,291.5 L161.9,291.5 L163.7,291.5 L165.5,291.4 L167.4,291.4 L169.2,291.4 L171,291.4 L172.8,291.4 L174.6,291.4 L176.4,291.4 L178.2,291.4 L180,291.3 L181.8,291.3 L183.6,291.3 L185.4,291.2 L187.2,291.2 L189,291.1 L190.9,291.1 L192.7,291 L194.5,291 L196.3,290.9 L198.1,290.8 L199.9,290.7 L201.7,290.6 L203.5,290.5 L205.3,290.4 L207.1,290.3 L208.9,290.1 L210.7,290 L212.5,289.8 L214.4,289.6 L216.2,289.4 L218,289.2 L219.8,288.9 L221.6,288.7 L223.4,288.4 L225.2,288.1 L227,287.8 L228.8,287.4 L230.6,287.1 L232.4,286.7 L234.2,286.3 L236,285.9 L237.8,285.5 L239.7,285 L241.5,284.5 L243.3,284 L245.1,283.5 L246.9,283 L248.7,282.4 L250.5,281.8 L252.3,281.2 L254.1,280.6 L255.9,280 L257.7,279.4 L259.5,278.7 L261.3,278.1 L263.2,277.4 L265,276.8 L266.8,276.1 L268.6,275.4 L270.4,274.8 L272.2,274.1 L274,273.5 L275.8,272.9 L277.6,272.2 L279.4,271.7 L281.2,271.1 L283,270.5 L284.8,270 L286.7,269.5 L288.5,269.1 L290.3,268.7 L292.1,268.3 L293.9,268 L295.7,267.7 L297.5,267.5 L299.3,267.3 L301.1,267.2 L302.9,267.1 L304.7,267.1 L306.5,267.2 L308.3,267.3 L310.2,267.5 L312,267.8 L313.8,268.1 L315.6,268.5 L317.4,269 L319.2,269.5 L321,270.1 L322.8,270.8 L324.6,271.6 L326.4,272.4 L328.2,273.2 L330,274.1 L331.8,275.1 L333.7,276.2 L335.5,277.2 L337.3,278.4 L339.1,279.5 L340.9,280.7 L342.7,282 L344.5,283.2 L346.3,284.5 L348.1,285.8 L349.9,287.1 L351.7,288.4 L353.5,289.8 L355.3,291.1 L357.2,292.3 L359,293.6 L360.8,294.8 L362.6,296 L364.4,297.2 L366.2,298.3 L368,299.4 L369.8,300.4 L371.6,301.3 L373.4,302.2 L375.2,303 L377,303.8 L378.8,304.4 L380.7,305 L382.5,305.5 L384.3,305.9 L386.1,306.2 L387.9,306.4 L389.7,306.5 L391.5,306.5 L393.3,306.5 L395.1,306.3 L396.9,306 L398.7,305.7 L400.5,305.3 L402.3,304.8 L404.2,304.2 L406,303.5 L407.8,302.8 L409.6,302 L411.4,301.1 L413.2,300.2 L415,299.3 L416.8,298.3 L418.6,297.2 L420.4,296.2 L422.2,295.1 L424,294 L425.8,292.9 L427.7,291.8 L429.5,290.7 L431.3,289.6 L433.1,288.6 L434.9,287.5 L436.7,286.6 L438.5,285.6 L440.3,284.7 L442.1,283.9 L443.9,283.1 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
-<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
-<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
-<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
-<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel j</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sph_neumann.svg b/libs/math/doc/sf_and_dist/graphs/sph_neumann.svg
deleted file mode 100644
index ed1ea6f279..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/sph_neumann.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="375.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="377.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="81.04" x2="453" y2="81.04"/><line x1="70.8" y1="341" x2="453" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,68.04 L75.8,68.04 M73.8,81.04 L75.8,81.04 M73.8,94.04 L75.8,94.04 M73.8,107 L75.8,107 M73.8,120 L75.8,120 M73.8,133 L75.8,133 M73.8,146 L75.8,146 M73.8,159 L75.8,159 M73.8,172 L75.8,172 M73.8,185 L75.8,185 M73.8,198 L75.8,198 M73.8,211 L75.8,211 M73.8,224 L75.8,224 M73.8,237 L75.8,237 M73.8,250 L75.8,250 M73.8,263 L75.8,263 M73.8,276 L75.8,276 M73.8,289 L75.8,289 M73.8,302 L75.8,302 M73.8,315 L75.8,315 M73.8,328 L75.8,328 M73.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M95.48,341 L95.48,343 M118.8,341 L118.8,343 M142.2,341 L142.2,343 M188.8,341 L188.8,343 M212.2,341 L212.2,343 M235.5,341 L235.5,343 M282.2,341 L282.2,343 M305.5,341 L305.5,343 M328.9,341 L328.9,343 M375.5,341 L375.5,343 M398.9,341 L398.9,343 M422.2,341 L422.2,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,81.04 L75.8,81.04 M70.8,81.04 L75.8,81.04 M70.8,133 L75.8,133 M70.8,185 L75.8,185 M70.8,237 L75.8,237 M70.8,289 L75.8,289 M70.8,341 L75.8,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M165.5,341 L165.5,346 M258.9,341 L258.9,346 M352.2,341 L352.2,346 M445.6,341 L445.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="165.5" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="258.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="352.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">15</text>
-<text x="445.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="83.44" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="83.44" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="135.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text>
-<text x="64.8" y="187.4" text-anchor="end" font-size="12" font-family="Verdana">-2</text>
-<text x="64.8" y="239.4" text-anchor="end" font-size="12" font-family="Verdana">-3</text>
-<text x="64.8" y="291.4" text-anchor="end" font-size="12" font-family="Verdana">-4</text>
-<text x="64.8" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-5</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sph_neumann(v, x)</text></g>
-<g id="xLabel">
-<text x="264.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">x</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,341 L77.65,249.6 L79.5,202.8 L81.35,173.9 L83.2,153.9 L85.04,139 L86.89,127.3 L88.74,117.9 L90.59,110 L92.44,103.3 L94.29,97.47 L96.14,92.43 L97.99,88 L99.83,84.1 L101.7,80.66 L103.5,77.62 L105.4,74.96 L107.2,72.63 L109.1,70.62 L110.9,68.89 L112.8,67.44 L114.6,66.24 L116.5,65.27 L118.3,64.54 L120.2,64.01 L122,63.69 L123.9,63.55 L125.7,63.59 L127.6,63.79 L129.4,64.14 L131.3,64.63 L133.1,65.24 L135,65.97 L136.8,66.8 L138.7,67.72 L140.5,68.72 L142.4,69.78 L144.2,70.9 L146.1,72.05 L147.9,73.24 L149.8,74.44 L151.6,75.65 L153.5,76.86 L155.3,78.06 L157.1,79.23 L159,80.36 L160.8,81.46 L162.7,82.51 L164.5,83.5 L166.4,84.43 L168.2,85.29 L170.1,86.08 L171.9,86.79 L173.8,87.42 L175.6,87.96 L177.5,88.42 L179.3,88.8 L181.2,89.08 L183,89.28 L184.9,89.39 L186.7,89.42 L188.6,89.37 L190.4,89.23 L192.3,89.03 L194.1,88.75 L196,88.4 L197.8,88 L199.7,87.54 L201.5,87.03 L203.4,86.47 L205.2,85.88 L207.1,85.26 L208.9,84.62 L210.8,83.95 L212.6,83.28 L214.5,82.6 L216.3,81.93 L218.2,81.26 L220,80.61 L221.9,79.98 L223.7,79.37 L225.6,78.79 L227.4,78.25 L229.3,77.75 L231.1,77.29 L232.9,76.88 L234.8,76.52 L236.6,76.21 L238.5,75.96 L240.3,75.76 L242.2,75.61 L244,75.52 L245.9,75.49 L247.7,75.51 L249.6,75.58 L251.4,75.71 L253.3,75.88 L255.1,76.1 L257,76.37 L258.8,76.67 L260.7,77.01 L262.5,77.39 L264.4,77.79 L266.2,78.21 L268.1,78.66 L269.9,79.12 L271.8,79.59 L273.6,80.06 L275.5,80.54 L277.3,81.01 L279.2,81.47 L281,81.92 L282.9,82.36 L284.7,82.77 L286.6,83.16 L288.4,83.53 L290.3,83.86 L292.1,84.16 L294,84.42 L295.8,84.65 L297.7,84.84 L299.5,84.99 L301.4,85.1 L303.2,85.16 L305.1,85.19 L306.9,85.17 L308.8,85.12 L310.6,85.02 L312.4,84.89 L314.3,84.73 L316.1,84.53 L318,84.29 L319.8,84.03 L321.7,83.75 L323.5,83.44 L325.4,83.12 L327.2,82.78 L329.1,82.42 L330.9,82.06 L332.8,81.7 L334.6,81.33 L336.5,80.96 L338.3,80.6 L340.2,80.25 L342,79.91 L343.9,79.59 L345.7,79.29 L347.6,79.01 L349.4,78.75 L351.3,78.51 L353.1,78.31 L355,78.13 L356.8,77.98 L358.7,77.87 L360.5,77.79 L362.4,77.74 L364.2,77.72 L366.1,77.74 L367.9,77.79 L369.8,77.86 L371.6,77.97 L373.5,78.11 L375.3,78.27 L377.2,78.46 L379,78.68 L380.9,78.91 L382.7,79.16 L384.6,79.42 L386.4,79.7 L388.3,79.99 L390.1,80.28 L391.9,80.58 L393.8,80.88 L395.6,81.18 L397.5,81.47 L399.3,81.76 L401.2,82.04 L403,82.3 L404.9,82.55 L406.7,82.78 L408.6,82.99 L410.4,83.17 L412.3,83.34 L414.1,83.48 L416,83.6 L417.8,83.69 L419.7,83.75 L421.5,83.79 L423.4,83.8 L425.2,83.78 L427.1,83.74 L428.9,83.67 L430.8,83.57 L432.6,83.45 L434.5,83.31 L436.3,83.15 L438.2,82.97 L440,82.77 L441.9,82.56 L443.7,82.33 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M88.65,341 L90.43,278.7 L92.22,236.3 L94,206.3 L95.79,184.5 L97.57,168.1 L99.36,155.6 L101.1,145.8 L102.9,138 L104.7,131.6 L106.5,126.3 L108.3,121.8 L110.1,118 L111.8,114.7 L113.6,111.7 L115.4,109.1 L117.2,106.7 L119,104.4 L120.8,102.4 L122.6,100.4 L124.3,98.58 L126.1,96.83 L127.9,95.14 L129.7,93.53 L131.5,91.97 L133.3,90.46 L135,89 L136.8,87.58 L138.6,86.22 L140.4,84.9 L142.2,83.63 L144,82.41 L145.8,81.24 L147.5,80.12 L149.3,79.06 L151.1,78.07 L152.9,77.13 L154.7,76.26 L156.5,75.45 L158.2,74.71 L160,74.05 L161.8,73.45 L163.6,72.93 L165.4,72.48 L167.2,72.11 L169,71.82 L170.7,71.59 L172.5,71.45 L174.3,71.37 L176.1,71.37 L177.9,71.44 L179.7,71.58 L181.4,71.78 L183.2,72.04 L185,72.36 L186.8,72.74 L188.6,73.17 L190.4,73.64 L192.2,74.16 L193.9,74.71 L195.7,75.3 L197.5,75.92 L199.3,76.56 L201.1,77.21 L202.9,77.88 L204.6,78.56 L206.4,79.23 L208.2,79.91 L210,80.57 L211.8,81.22 L213.6,81.86 L215.4,82.47 L217.1,83.06 L218.9,83.61 L220.7,84.13 L222.5,84.61 L224.3,85.05 L226.1,85.45 L227.8,85.81 L229.6,86.11 L231.4,86.37 L233.2,86.58 L235,86.73 L236.8,86.84 L238.6,86.89 L240.3,86.9 L242.1,86.85 L243.9,86.76 L245.7,86.63 L247.5,86.44 L249.3,86.22 L251,85.96 L252.8,85.66 L254.6,85.32 L256.4,84.96 L258.2,84.57 L260,84.16 L261.8,83.73 L263.5,83.29 L265.3,82.83 L267.1,82.37 L268.9,81.9 L270.7,81.43 L272.5,80.97 L274.2,80.52 L276,80.08 L277.8,79.66 L279.6,79.26 L281.4,78.87 L283.2,78.52 L285,78.19 L286.7,77.89 L288.5,77.62 L290.3,77.39 L292.1,77.19 L293.9,77.03 L295.7,76.91 L297.4,76.82 L299.2,76.77 L301,76.76 L302.8,76.79 L304.6,76.85 L306.4,76.95 L308.2,77.09 L309.9,77.25 L311.7,77.45 L313.5,77.67 L315.3,77.92 L317.1,78.2 L318.9,78.49 L320.6,78.81 L322.4,79.13 L324.2,79.47 L326,79.82 L327.8,80.18 L329.6,80.54 L331.4,80.89 L333.1,81.25 L334.9,81.59 L336.7,81.93 L338.5,82.26 L340.3,82.57 L342.1,82.86 L343.8,83.13 L345.6,83.38 L347.4,83.61 L349.2,83.81 L351,83.98 L352.8,84.13 L354.6,84.25 L356.3,84.33 L358.1,84.39 L359.9,84.42 L361.7,84.41 L363.5,84.38 L365.3,84.32 L367,84.22 L368.8,84.11 L370.6,83.96 L372.4,83.79 L374.2,83.6 L376,83.39 L377.8,83.16 L379.5,82.92 L381.3,82.66 L383.1,82.39 L384.9,82.11 L386.7,81.82 L388.5,81.53 L390.2,81.24 L392,80.95 L393.8,80.66 L395.6,80.39 L397.4,80.11 L399.2,79.86 L401,79.61 L402.7,79.38 L404.5,79.17 L406.3,78.97 L408.1,78.8 L409.9,78.65 L411.7,78.52 L413.4,78.41 L415.2,78.33 L417,78.28 L418.8,78.25 L420.6,78.24 L422.4,78.26 L424.1,78.31 L425.9,78.37 L427.7,78.46 L429.5,78.58 L431.3,78.71 L433.1,78.87 L434.9,79.04 L436.6,79.23 L438.4,79.43 L440.2,79.64 L442,79.87 L443.8,80.1 L445.6,80.34 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M119.8,341 L121.5,299.9 L123.1,266.7 L124.7,239.7 L126.4,217.7 L128,199.5 L129.6,184.4 L131.2,171.8 L132.9,161.3 L134.5,152.3 L136.1,144.8 L137.8,138.3 L139.4,132.7 L141,128 L142.6,123.8 L144.3,120.2 L145.9,117.1 L147.5,114.3 L149.2,111.9 L150.8,109.8 L152.4,107.8 L154,106.1 L155.7,104.6 L157.3,103.2 L158.9,101.9 L160.6,100.7 L162.2,99.65 L163.8,98.66 L165.4,97.73 L167.1,96.85 L168.7,96.03 L170.3,95.25 L172,94.5 L173.6,93.78 L175.2,93.08 L176.8,92.41 L178.5,91.75 L180.1,91.11 L181.7,90.48 L183.4,89.85 L185,89.24 L186.6,88.63 L188.2,88.02 L189.9,87.43 L191.5,86.83 L193.1,86.24 L194.8,85.66 L196.4,85.08 L198,84.5 L199.6,83.93 L201.3,83.37 L202.9,82.82 L204.5,82.27 L206.2,81.73 L207.8,81.21 L209.4,80.69 L211,80.19 L212.7,79.71 L214.3,79.23 L215.9,78.78 L217.6,78.35 L219.2,77.93 L220.8,77.54 L222.4,77.17 L224.1,76.82 L225.7,76.5 L227.3,76.2 L229,75.93 L230.6,75.69 L232.2,75.47 L233.8,75.29 L235.5,75.13 L237.1,75 L238.7,74.91 L240.4,74.85 L242,74.81 L243.6,74.81 L245.2,74.84 L246.9,74.89 L248.5,74.98 L250.1,75.09 L251.8,75.24 L253.4,75.41 L255,75.6 L256.6,75.82 L258.3,76.07 L259.9,76.33 L261.5,76.62 L263.2,76.93 L264.8,77.25 L266.4,77.58 L268,77.93 L269.7,78.3 L271.3,78.67 L272.9,79.04 L274.6,79.43 L276.2,79.81 L277.8,80.2 L279.4,80.59 L281.1,80.97 L282.7,81.34 L284.3,81.71 L286,82.07 L287.6,82.42 L289.2,82.76 L290.8,83.07 L292.5,83.38 L294.1,83.66 L295.7,83.93 L297.4,84.17 L299,84.39 L300.6,84.59 L302.2,84.76 L303.9,84.91 L305.5,85.04 L307.1,85.13 L308.8,85.2 L310.4,85.25 L312,85.27 L313.6,85.26 L315.3,85.22 L316.9,85.16 L318.5,85.08 L320.2,84.97 L321.8,84.83 L323.4,84.68 L325,84.5 L326.7,84.31 L328.3,84.09 L329.9,83.86 L331.6,83.62 L333.2,83.36 L334.8,83.09 L336.4,82.81 L338.1,82.52 L339.7,82.23 L341.3,81.93 L343,81.63 L344.6,81.33 L346.2,81.03 L347.8,80.73 L349.5,80.44 L351.1,80.16 L352.7,79.89 L354.4,79.62 L356,79.37 L357.6,79.14 L359.2,78.91 L360.9,78.71 L362.5,78.52 L364.1,78.35 L365.8,78.2 L367.4,78.08 L369,77.97 L370.6,77.88 L372.3,77.82 L373.9,77.78 L375.5,77.76 L377.2,77.76 L378.8,77.79 L380.4,77.83 L382,77.9 L383.7,77.99 L385.3,78.1 L386.9,78.22 L388.6,78.37 L390.2,78.53 L391.8,78.7 L393.4,78.89 L395.1,79.1 L396.7,79.31 L398.3,79.53 L400,79.77 L401.6,80 L403.2,80.25 L404.8,80.49 L406.5,80.74 L408.1,80.99 L409.7,81.23 L411.4,81.47 L413,81.71 L414.6,81.94 L416.2,82.16 L417.9,82.37 L419.5,82.57 L421.1,82.76 L422.8,82.93 L424.4,83.09 L426,83.23 L427.7,83.36 L429.3,83.47 L430.9,83.56 L432.5,83.63 L434.2,83.69 L435.8,83.72 L437.4,83.74 L439.1,83.74 L440.7,83.72 L442.3,83.68 L443.9,83.62 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M144.3,341 L145.8,307.7 L147.3,279.4 L148.8,255.4 L150.3,234.9 L151.8,217.3 L153.4,202.2 L154.9,189.2 L156.4,177.9 L157.9,168.1 L159.4,159.6 L160.9,152.1 L162.4,145.6 L163.9,139.8 L165.4,134.7 L166.9,130.3 L168.4,126.3 L169.9,122.8 L171.4,119.6 L172.9,116.8 L174.4,114.3 L175.9,112.1 L177.5,110.1 L179,108.3 L180.5,106.6 L182,105.1 L183.5,103.8 L185,102.5 L186.5,101.4 L188,100.4 L189.5,99.4 L191,98.53 L192.5,97.71 L194,96.95 L195.5,96.25 L197,95.58 L198.5,94.96 L200,94.37 L201.6,93.82 L203.1,93.29 L204.6,92.78 L206.1,92.29 L207.6,91.82 L209.1,91.36 L210.6,90.92 L212.1,90.49 L213.6,90.06 L215.1,89.65 L216.6,89.24 L218.1,88.83 L219.6,88.43 L221.1,88.03 L222.6,87.64 L224.1,87.24 L225.7,86.85 L227.2,86.46 L228.7,86.07 L230.2,85.68 L231.7,85.3 L233.2,84.91 L234.7,84.52 L236.2,84.14 L237.7,83.75 L239.2,83.37 L240.7,82.99 L242.2,82.62 L243.7,82.25 L245.2,81.88 L246.7,81.51 L248.2,81.15 L249.8,80.8 L251.3,80.45 L252.8,80.11 L254.3,79.78 L255.8,79.46 L257.3,79.14 L258.8,78.84 L260.3,78.55 L261.8,78.27 L263.3,78 L264.8,77.75 L266.3,77.51 L267.8,77.28 L269.3,77.07 L270.8,76.88 L272.3,76.7 L273.9,76.54 L275.4,76.39 L276.9,76.27 L278.4,76.16 L279.9,76.07 L281.4,76 L282.9,75.95 L284.4,75.92 L285.9,75.91 L287.4,75.92 L288.9,75.94 L290.4,75.99 L291.9,76.05 L293.4,76.13 L294.9,76.23 L296.4,76.35 L298,76.48 L299.5,76.63 L301,76.8 L302.5,76.98 L304,77.18 L305.5,77.39 L307,77.61 L308.5,77.84 L310,78.08 L311.5,78.34 L313,78.6 L314.5,78.87 L316,79.14 L317.5,79.42 L319,79.7 L320.5,79.99 L322.1,80.28 L323.6,80.56 L325.1,80.85 L326.6,81.13 L328.1,81.41 L329.6,81.68 L331.1,81.95 L332.6,82.21 L334.1,82.46 L335.6,82.71 L337.1,82.94 L338.6,83.16 L340.1,83.37 L341.6,83.56 L343.1,83.74 L344.6,83.91 L346.2,84.06 L347.7,84.19 L349.2,84.31 L350.7,84.41 L352.2,84.5 L353.7,84.56 L355.2,84.61 L356.7,84.64 L358.2,84.65 L359.7,84.65 L361.2,84.62 L362.7,84.58 L364.2,84.52 L365.7,84.45 L367.2,84.35 L368.7,84.25 L370.3,84.12 L371.8,83.99 L373.3,83.84 L374.8,83.67 L376.3,83.5 L377.8,83.31 L379.3,83.12 L380.8,82.91 L382.3,82.7 L383.8,82.48 L385.3,82.26 L386.8,82.03 L388.3,81.8 L389.8,81.57 L391.3,81.33 L392.8,81.1 L394.4,80.87 L395.9,80.64 L397.4,80.42 L398.9,80.2 L400.4,79.99 L401.9,79.78 L403.4,79.59 L404.9,79.4 L406.4,79.22 L407.9,79.06 L409.4,78.91 L410.9,78.77 L412.4,78.64 L413.9,78.53 L415.4,78.43 L416.9,78.35 L418.5,78.28 L420,78.23 L421.5,78.19 L423,78.17 L424.5,78.17 L426,78.18 L427.5,78.2 L429,78.25 L430.5,78.3 L432,78.37 L433.5,78.46 L435,78.56 L436.5,78.67 L438,78.79 L439.5,78.93 L441,79.08 L442.6,79.23 L444.1,79.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M184.1,341 L185.4,315.8 L186.7,293.5 L188,273.6 L189.3,255.9 L190.6,240.2 L191.9,226.1 L193.2,213.5 L194.5,202.2 L195.9,192.1 L197.2,183 L198.5,174.8 L199.8,167.4 L201.1,160.7 L202.4,154.6 L203.7,149.2 L205,144.2 L206.3,139.7 L207.6,135.6 L208.9,131.9 L210.2,128.5 L211.5,125.4 L212.9,122.6 L214.2,120 L215.5,117.6 L216.8,115.4 L218.1,113.4 L219.4,111.6 L220.7,109.9 L222,108.4 L223.3,106.9 L224.6,105.6 L225.9,104.4 L227.2,103.2 L228.5,102.2 L229.8,101.2 L231.2,100.3 L232.5,99.46 L233.8,98.67 L235.1,97.94 L236.4,97.26 L237.7,96.62 L239,96.02 L240.3,95.45 L241.6,94.92 L242.9,94.43 L244.2,93.96 L245.5,93.51 L246.8,93.09 L248.2,92.69 L249.5,92.31 L250.8,91.95 L252.1,91.6 L253.4,91.27 L254.7,90.95 L256,90.64 L257.3,90.34 L258.6,90.06 L259.9,89.78 L261.2,89.51 L262.5,89.24 L263.8,88.98 L265.1,88.73 L266.5,88.48 L267.8,88.24 L269.1,87.99 L270.4,87.76 L271.7,87.52 L273,87.28 L274.3,87.05 L275.6,86.82 L276.9,86.59 L278.2,86.36 L279.5,86.13 L280.8,85.9 L282.1,85.67 L283.5,85.44 L284.8,85.21 L286.1,84.98 L287.4,84.75 L288.7,84.52 L290,84.29 L291.3,84.05 L292.6,83.82 L293.9,83.59 L295.2,83.36 L296.5,83.13 L297.8,82.89 L299.1,82.66 L300.4,82.43 L301.8,82.2 L303.1,81.97 L304.4,81.75 L305.7,81.52 L307,81.3 L308.3,81.08 L309.6,80.86 L310.9,80.64 L312.2,80.43 L313.5,80.22 L314.8,80.01 L316.1,79.81 L317.4,79.61 L318.7,79.41 L320.1,79.22 L321.4,79.04 L322.7,78.86 L324,78.69 L325.3,78.52 L326.6,78.37 L327.9,78.21 L329.2,78.07 L330.5,77.93 L331.8,77.8 L333.1,77.68 L334.4,77.57 L335.7,77.46 L337.1,77.37 L338.4,77.28 L339.7,77.2 L341,77.14 L342.3,77.08 L343.6,77.03 L344.9,76.99 L346.2,76.96 L347.5,76.94 L348.8,76.93 L350.1,76.94 L351.4,76.95 L352.7,76.97 L354,77 L355.4,77.04 L356.7,77.09 L358,77.15 L359.3,77.22 L360.6,77.3 L361.9,77.39 L363.2,77.49 L364.5,77.6 L365.8,77.71 L367.1,77.83 L368.4,77.96 L369.7,78.1 L371,78.25 L372.4,78.4 L373.7,78.55 L375,78.72 L376.3,78.88 L377.6,79.06 L378.9,79.23 L380.2,79.41 L381.5,79.6 L382.8,79.78 L384.1,79.97 L385.4,80.16 L386.7,80.35 L388,80.55 L389.3,80.74 L390.7,80.93 L392,81.12 L393.3,81.31 L394.6,81.49 L395.9,81.67 L397.2,81.85 L398.5,82.03 L399.8,82.2 L401.1,82.36 L402.4,82.53 L403.7,82.68 L405,82.83 L406.3,82.97 L407.7,83.1 L409,83.23 L410.3,83.35 L411.6,83.46 L412.9,83.56 L414.2,83.65 L415.5,83.73 L416.8,83.8 L418.1,83.87 L419.4,83.92 L420.7,83.96 L422,84 L423.3,84.02 L424.6,84.03 L426,84.04 L427.3,84.03 L428.6,84.01 L429.9,83.98 L431.2,83.95 L432.5,83.9 L433.8,83.84 L435.1,83.78 L436.4,83.7 L437.7,83.62 L439,83.53 L440.3,83.43 L441.6,83.32 L442.9,83.2 L444.3,83.08 L445.6,82.95 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="467" y="58" width="107" height="154"/><rect x="467" y="58" width="107" height="154"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="86" x2="495" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="114" x2="495" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="142" x2="495" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="170" x2="495" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="481" y1="198" x2="495" y2="198"/></g>
-</g>
-<g id="legendText">
-<text x="502" y="86" font-size="14" font-family="Verdana">v = 0</text>
-<text x="502" y="114" font-size="14" font-family="Verdana">v = 2</text>
-<text x="502" y="142" font-size="14" font-family="Verdana">v = 5</text>
-<text x="502" y="170" font-size="14" font-family="Verdana">v = 7</text>
-<text x="502" y="198" font-size="14" font-family="Verdana">v = 10</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Bessel y</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.svg b/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.svg
deleted file mode 100644
index 2142883d11..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/sqrt1pm1.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="171.3" y1="58" x2="171.3" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="227.7" x2="574" y2="227.7"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,213.6 L92.6,213.6 M90.6,199.4 L92.6,199.4 M90.6,185.3 L92.6,185.3 M90.6,156.9 L92.6,156.9 M90.6,142.8 L92.6,142.8 M90.6,128.6 L92.6,128.6 M90.6,100.3 L92.6,100.3 M90.6,86.15 L92.6,86.15 M90.6,71.99 L92.6,71.99 M90.6,227.7 L92.6,227.7 M90.6,241.9 L92.6,241.9 M90.6,256 L92.6,256 M90.6,270.2 L92.6,270.2 M90.6,284.4 L92.6,284.4 M90.6,298.5 L92.6,298.5 M90.6,312.7 L92.6,312.7 M90.6,326.8 L92.6,326.8 M90.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M190.9,341 L190.9,343 M210.6,341 L210.6,343 M230.3,341 L230.3,343 M269.6,341 L269.6,343 M289.3,341 L289.3,343 M308.9,341 L308.9,343 M348.2,341 L348.2,343 M367.9,341 L367.9,343 M387.6,341 L387.6,343 M426.9,341 L426.9,343 M446.6,341 L446.6,343 M466.2,341 L466.2,343 M505.6,341 L505.6,343 M525.2,341 L525.2,343 M544.9,341 L544.9,343 M151.6,341 L151.6,343 M131.9,341 L131.9,343 M112.3,341 L112.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,227.7 L92.6,227.7 M87.6,171.1 L92.6,171.1 M87.6,114.5 L92.6,114.5 M87.6,227.7 L92.6,227.7 M87.6,284.4 L92.6,284.4 M87.6,341 L92.6,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M171.3,341 L171.3,346 M249.9,341 L249.9,346 M328.6,341 L328.6,346 M407.2,341 L407.2,346 M485.9,341 L485.9,346 M564.6,341 L564.6,346 M171.3,341 L171.3,346 M92.6,341 L92.6,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="249.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="407.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="485.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="171.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="92.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="230.1" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="173.5" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="81.6" y="116.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="81.6" y="230.1" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="286.8" text-anchor="end" font-size="12" font-family="Verdana">-0.5</text>
-<text x="81.6" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">-1</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">sqrt1pm1(z)</text></g>
-<g id="xLabel">
-<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,341 L94.96,321.4 L97.32,313.3 L99.68,307 L102,301.8 L104.4,297.1 L106.8,292.9 L109.1,289.1 L111.5,285.5 L113.8,282.1 L116.2,279 L118.6,275.9 L120.9,273 L123.3,270.3 L125.6,267.6 L128,265 L130.4,262.5 L132.7,260.1 L135.1,257.8 L137.4,255.5 L139.8,253.3 L142.2,251.1 L144.5,249 L146.9,246.9 L149.2,244.9 L151.6,242.9 L154,241 L156.3,239.1 L158.7,237.2 L161,235.3 L163.4,233.5 L165.8,231.8 L168.1,230 L170.5,228.3 L172.8,226.6 L175.2,224.9 L177.6,223.3 L179.9,221.7 L182.3,220.1 L184.6,218.5 L187,216.9 L189.4,215.4 L191.7,213.9 L194.1,212.4 L196.4,210.9 L198.8,209.4 L201.2,207.9 L203.5,206.5 L205.9,205.1 L208.2,203.7 L210.6,202.3 L213,200.9 L215.3,199.5 L217.7,198.2 L220,196.8 L222.4,195.5 L224.7,194.2 L227.1,192.9 L229.5,191.6 L231.8,190.3 L234.2,189 L236.5,187.8 L238.9,186.5 L241.3,185.3 L243.6,184.1 L246,182.8 L248.3,181.6 L250.7,180.4 L253.1,179.2 L255.4,178 L257.8,176.9 L260.1,175.7 L262.5,174.5 L264.9,173.4 L267.2,172.2 L269.6,171.1 L271.9,170 L274.3,168.8 L276.7,167.7 L279,166.6 L281.4,165.5 L283.7,164.4 L286.1,163.3 L288.5,162.3 L290.8,161.2 L293.2,160.1 L295.5,159.1 L297.9,158 L300.3,157 L302.6,155.9 L305,154.9 L307.3,153.8 L309.7,152.8 L312.1,151.8 L314.4,150.8 L316.8,149.8 L319.1,148.8 L321.5,147.8 L323.9,146.8 L326.2,145.8 L328.6,144.8 L330.9,143.8 L333.3,142.9 L335.7,141.9 L338,140.9 L340.4,140 L342.7,139 L345.1,138.1 L347.5,137.1 L349.8,136.2 L352.2,135.2 L354.5,134.3 L356.9,133.4 L359.3,132.4 L361.6,131.5 L364,130.6 L366.3,129.7 L368.7,128.8 L371.1,127.9 L373.4,127 L375.8,126.1 L378.1,125.2 L380.5,124.3 L382.9,123.4 L385.2,122.5 L387.6,121.7 L389.9,120.8 L392.3,119.9 L394.7,119 L397,118.2 L399.4,117.3 L401.7,116.5 L404.1,115.6 L406.5,114.7 L408.8,113.9 L411.2,113.1 L413.5,112.2 L415.9,111.4 L418.3,110.5 L420.6,109.7 L423,108.9 L425.3,108 L427.7,107.2 L430.1,106.4 L432.4,105.6 L434.8,104.8 L437.1,103.9 L439.5,103.1 L441.9,102.3 L444.2,101.5 L446.6,100.7 L448.9,99.92 L451.3,99.12 L453.6,98.33 L456,97.54 L458.4,96.75 L460.7,95.96 L463.1,95.18 L465.4,94.4 L467.8,93.62 L470.2,92.84 L472.5,92.07 L474.9,91.29 L477.2,90.52 L479.6,89.76 L482,88.99 L484.3,88.23 L486.7,87.47 L489,86.71 L491.4,85.96 L493.8,85.2 L496.1,84.45 L498.5,83.7 L500.8,82.96 L503.2,82.21 L505.6,81.47 L507.9,80.73 L510.3,79.99 L512.6,79.25 L515,78.52 L517.4,77.79 L519.7,77.06 L522.1,76.33 L524.4,75.6 L526.8,74.88 L529.2,74.16 L531.5,73.44 L533.9,72.72 L536.2,72 L538.6,71.29 L541,70.57 L543.3,69.86 L545.7,69.15 L548,68.45 L550.4,67.74 L552.8,67.04 L555.1,66.34 L557.5,65.64 L559.8,64.94 L562.2,64.24 L564.6,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">sqrt1pm1</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/students_t_pdf.svg b/libs/math/doc/sf_and_dist/graphs/students_t_pdf.svg
deleted file mode 100644
index 37e2c26919..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/students_t_pdf.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="528.4" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="530.4" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="349.4" y1="58" x2="349.4" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="614.6" y2="341"/><line x1="79.2" y1="341" x2="614.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328 L84.2,328 M82.2,315 L84.2,315 M82.2,302 L84.2,302 M82.2,289 L84.2,289 M82.2,263 L84.2,263 M82.2,250 L84.2,250 M82.2,237 L84.2,237 M82.2,223.9 L84.2,223.9 M82.2,197.9 L84.2,197.9 M82.2,184.9 L84.2,184.9 M82.2,171.9 L84.2,171.9 M82.2,158.9 L84.2,158.9 M82.2,132.9 L84.2,132.9 M82.2,119.9 L84.2,119.9 M82.2,106.9 L84.2,106.9 M82.2,93.89 L84.2,93.89 M82.2,67.88 L84.2,67.88 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M361.6,341 L361.6,343 M373.8,341 L373.8,343 M385.9,341 L385.9,343 M398.1,341 L398.1,343 M422.4,341 L422.4,343 M434.6,341 L434.6,343 M446.8,341 L446.8,343 M458.9,341 L458.9,343 M483.3,341 L483.3,343 M495.5,341 L495.5,343 M507.6,341 L507.6,343 M519.8,341 L519.8,343 M544.1,341 L544.1,343 M556.3,341 L556.3,343 M568.5,341 L568.5,343 M580.6,341 L580.6,343 M605,341 L605,343 M337.3,341 L337.3,343 M325.1,341 L325.1,343 M312.9,341 L312.9,343 M300.7,341 L300.7,343 M276.4,341 L276.4,343 M264.2,341 L264.2,343 M252.1,341 L252.1,343 M239.9,341 L239.9,343 M215.6,341 L215.6,343 M203.4,341 L203.4,343 M191.2,341 L191.2,343 M179.1,341 L179.1,343 M154.7,341 L154.7,343 M142.5,341 L142.5,343 M130.4,341 L130.4,343 M118.2,341 L118.2,343 M93.87,341 L93.87,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,276 L84.2,276 M79.2,210.9 L84.2,210.9 M79.2,145.9 L84.2,145.9 M79.2,80.89 L84.2,80.89 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M349.4,341 L349.4,346 M410.3,341 L410.3,346 M471.1,341 L471.1,346 M532,341 L532,346 M592.8,341 L592.8,346 M349.4,341 L349.4,346 M288.6,341 L288.6,346 M227.7,341 L227.7,346 M166.9,341 L166.9,346 M106,341 L106,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="349.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="410.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="471.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="532" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="592.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="349.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="288.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="227.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="166.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text>
-<text x="106" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-4</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="278.4" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="213.3" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="148.3" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="83.29" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="349.4" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,330.7 L86.85,330.5 L89.5,330.2 L92.16,330 L94.81,329.8 L97.46,329.6 L100.1,329.4 L102.8,329.1 L105.4,328.9 L108.1,328.6 L110.7,328.4 L113.4,328.1 L116,327.8 L118.7,327.5 L121.3,327.2 L124,326.9 L126.6,326.6 L129.3,326.3 L131.9,326 L134.6,325.6 L137.2,325.3 L139.9,324.9 L142.5,324.5 L145.2,324.1 L147.9,323.7 L150.5,323.3 L153.2,322.9 L155.8,322.4 L158.5,321.9 L161.1,321.4 L163.8,320.9 L166.4,320.4 L169.1,319.8 L171.7,319.3 L174.4,318.7 L177,318.1 L179.7,317.4 L182.3,316.8 L185,316.1 L187.6,315.4 L190.3,314.6 L192.9,313.8 L195.6,313 L198.2,312.1 L200.9,311.3 L203.5,310.3 L206.2,309.4 L208.9,308.3 L211.5,307.3 L214.2,306.2 L216.8,305 L219.5,303.8 L222.1,302.5 L224.8,301.2 L227.4,299.8 L230.1,298.3 L232.7,296.8 L235.4,295.1 L238,293.4 L240.7,291.6 L243.3,289.8 L246,287.8 L248.6,285.7 L251.3,283.5 L253.9,281.2 L256.6,278.8 L259.2,276.2 L261.9,273.6 L264.5,270.7 L267.2,267.8 L269.9,264.6 L272.5,261.3 L275.2,257.9 L277.8,254.2 L280.5,250.4 L283.1,246.4 L285.8,242.2 L288.4,237.8 L291.1,233.2 L293.7,228.4 L296.4,223.4 L299,218.2 L301.7,212.9 L304.3,207.4 L307,201.8 L309.6,196 L312.3,190.2 L314.9,184.3 L317.6,178.5 L320.2,172.7 L322.9,167.1 L325.6,161.6 L328.2,156.5 L330.9,151.6 L333.5,147.3 L336.2,143.4 L338.8,140.1 L341.5,137.5 L344.1,135.6 L346.8,134.4 L349.4,134 L352.1,134.4 L354.7,135.6 L357.4,137.5 L360,140.1 L362.7,143.4 L365.3,147.3 L368,151.6 L370.6,156.4 L373.3,161.6 L375.9,167 L378.6,172.7 L381.2,178.5 L383.9,184.3 L386.6,190.2 L389.2,196 L391.9,201.7 L394.5,207.4 L397.2,212.9 L399.8,218.2 L402.5,223.4 L405.1,228.4 L407.8,233.2 L410.4,237.8 L413.1,242.2 L415.7,246.4 L418.4,250.4 L421,254.2 L423.7,257.9 L426.3,261.3 L429,264.6 L431.6,267.7 L434.3,270.7 L436.9,273.6 L439.6,276.2 L442.2,278.8 L444.9,281.2 L447.6,283.5 L450.2,285.7 L452.9,287.8 L455.5,289.8 L458.2,291.6 L460.8,293.4 L463.5,295.1 L466.1,296.8 L468.8,298.3 L471.4,299.8 L474.1,301.2 L476.7,302.5 L479.4,303.8 L482,305 L484.7,306.2 L487.3,307.3 L490,308.3 L492.6,309.4 L495.3,310.3 L497.9,311.3 L500.6,312.1 L503.2,313 L505.9,313.8 L508.6,314.6 L511.2,315.3 L513.9,316.1 L516.5,316.8 L519.2,317.4 L521.8,318.1 L524.5,318.7 L527.1,319.3 L529.8,319.8 L532.4,320.4 L535.1,320.9 L537.7,321.4 L540.4,321.9 L543,322.4 L545.7,322.8 L548.3,323.3 L551,323.7 L553.6,324.1 L556.3,324.5 L558.9,324.9 L561.6,325.3 L564.2,325.6 L566.9,326 L569.6,326.3 L572.2,326.6 L574.9,326.9 L577.5,327.2 L580.2,327.5 L582.8,327.8 L585.5,328.1 L588.1,328.4 L590.8,328.6 L593.4,328.9 L596.1,329.1 L598.7,329.4 L601.4,329.6 L604,329.8 L606.7,330 L609.3,330.2 L612,330.5 L614.6,330.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,338.8 L86.85,338.7 L89.5,338.5 L92.16,338.4 L94.81,338.3 L97.46,338.2 L100.1,338 L102.8,337.9 L105.4,337.7 L108.1,337.5 L110.7,337.4 L113.4,337.2 L116,337 L118.7,336.8 L121.3,336.5 L124,336.3 L126.6,336.1 L129.3,335.8 L131.9,335.5 L134.6,335.2 L137.2,334.9 L139.9,334.6 L142.5,334.2 L145.2,333.8 L147.9,333.4 L150.5,333 L153.2,332.6 L155.8,332.1 L158.5,331.6 L161.1,331 L163.8,330.5 L166.4,329.9 L169.1,329.2 L171.7,328.5 L174.4,327.8 L177,327 L179.7,326.2 L182.3,325.4 L185,324.4 L187.6,323.5 L190.3,322.4 L192.9,321.3 L195.6,320.1 L198.2,318.9 L200.9,317.6 L203.5,316.1 L206.2,314.7 L208.9,313.1 L211.5,311.4 L214.2,309.6 L216.8,307.7 L219.5,305.7 L222.1,303.6 L224.8,301.3 L227.4,299 L230.1,296.5 L232.7,293.8 L235.4,291 L238,288 L240.7,284.9 L243.3,281.6 L246,278.2 L248.6,274.6 L251.3,270.7 L253.9,266.8 L256.6,262.6 L259.2,258.2 L261.9,253.7 L264.5,248.9 L267.2,244 L269.9,238.9 L272.5,233.6 L275.2,228.1 L277.8,222.5 L280.5,216.7 L283.1,210.8 L285.8,204.7 L288.4,198.5 L291.1,192.3 L293.7,185.9 L296.4,179.5 L299,173.2 L301.7,166.8 L304.3,160.4 L307,154.2 L309.6,148 L312.3,142 L314.9,136.2 L317.6,130.6 L320.2,125.3 L322.9,120.3 L325.6,115.6 L328.2,111.3 L330.9,107.4 L333.5,104 L336.2,101.1 L338.8,98.6 L341.5,96.67 L344.1,95.27 L346.8,94.43 L349.4,94.15 L352.1,94.43 L354.7,95.27 L357.4,96.66 L360,98.59 L362.7,101 L365.3,104 L368,107.4 L370.6,111.3 L373.3,115.6 L375.9,120.3 L378.6,125.3 L381.2,130.6 L383.9,136.2 L386.6,142 L389.2,148 L391.9,154.1 L394.5,160.4 L397.2,166.7 L399.8,173.1 L402.5,179.5 L405.1,185.9 L407.8,192.2 L410.4,198.5 L413.1,204.7 L415.7,210.7 L418.4,216.7 L421,222.5 L423.7,228.1 L426.3,233.6 L429,238.9 L431.6,244 L434.3,248.9 L436.9,253.6 L439.6,258.2 L442.2,262.6 L444.9,266.7 L447.6,270.7 L450.2,274.5 L452.9,278.2 L455.5,281.6 L458.2,284.9 L460.8,288 L463.5,291 L466.1,293.8 L468.8,296.4 L471.4,299 L474.1,301.3 L476.7,303.6 L479.4,305.7 L482,307.7 L484.7,309.6 L487.3,311.4 L490,313.1 L492.6,314.6 L495.3,316.1 L497.9,317.5 L500.6,318.9 L503.2,320.1 L505.9,321.3 L508.6,322.4 L511.2,323.5 L513.9,324.4 L516.5,325.4 L519.2,326.2 L521.8,327 L524.5,327.8 L527.1,328.5 L529.8,329.2 L532.4,329.9 L535.1,330.5 L537.7,331 L540.4,331.6 L543,332.1 L545.7,332.6 L548.3,333 L551,333.4 L553.6,333.8 L556.3,334.2 L558.9,334.6 L561.6,334.9 L564.2,335.2 L566.9,335.5 L569.6,335.8 L572.2,336.1 L574.9,336.3 L577.5,336.5 L580.2,336.8 L582.8,337 L585.5,337.2 L588.1,337.4 L590.8,337.5 L593.4,337.7 L596.1,337.9 L598.7,338 L601.4,338.2 L604,338.3 L606.7,338.4 L609.3,338.5 L612,338.7 L614.6,338.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,340.9 L86.85,340.9 L89.5,340.8 L92.16,340.8 L94.81,340.8 L97.46,340.8 L100.1,340.7 L102.8,340.7 L105.4,340.7 L108.1,340.6 L110.7,340.6 L113.4,340.5 L116,340.5 L118.7,340.4 L121.3,340.3 L124,340.3 L126.6,340.2 L129.3,340.1 L131.9,339.9 L134.6,339.8 L137.2,339.7 L139.9,339.5 L142.5,339.4 L145.2,339.2 L147.9,339 L150.5,338.7 L153.2,338.5 L155.8,338.2 L158.5,337.8 L161.1,337.5 L163.8,337.1 L166.4,336.7 L169.1,336.2 L171.7,335.7 L174.4,335.1 L177,334.5 L179.7,333.8 L182.3,333 L185,332.2 L187.6,331.3 L190.3,330.3 L192.9,329.3 L195.6,328.1 L198.2,326.9 L200.9,325.5 L203.5,324 L206.2,322.4 L208.9,320.7 L211.5,318.8 L214.2,316.8 L216.8,314.6 L219.5,312.3 L222.1,309.9 L224.8,307.2 L227.4,304.4 L230.1,301.4 L232.7,298.2 L235.4,294.8 L238,291.2 L240.7,287.4 L243.3,283.4 L246,279.2 L248.6,274.7 L251.3,270.1 L253.9,265.3 L256.6,260.2 L259.2,255 L261.9,249.5 L264.5,243.9 L267.2,238 L269.9,232.1 L272.5,225.9 L275.2,219.6 L277.8,213.2 L280.5,206.7 L283.1,200.1 L285.8,193.4 L288.4,186.6 L291.1,179.9 L293.7,173.1 L296.4,166.4 L299,159.8 L301.7,153.2 L304.3,146.8 L307,140.5 L309.6,134.4 L312.3,128.5 L314.9,122.9 L317.6,117.5 L320.2,112.4 L322.9,107.7 L325.6,103.4 L328.2,99.37 L330.9,95.8 L333.5,92.66 L336.2,89.96 L338.8,87.74 L341.5,85.99 L344.1,84.74 L346.8,83.98 L349.4,83.73 L352.1,83.98 L354.7,84.73 L357.4,85.99 L360,87.73 L362.7,89.96 L365.3,92.65 L368,95.79 L370.6,99.36 L373.3,103.3 L375.9,107.7 L378.6,112.4 L381.2,117.5 L383.9,122.9 L386.6,128.5 L389.2,134.4 L391.9,140.5 L394.5,146.8 L397.2,153.2 L399.8,159.8 L402.5,166.4 L405.1,173.1 L407.8,179.9 L410.4,186.6 L413.1,193.4 L415.7,200 L418.4,206.7 L421,213.2 L423.7,219.6 L426.3,225.9 L429,232 L431.6,238 L434.3,243.8 L436.9,249.5 L439.6,254.9 L442.2,260.2 L444.9,265.2 L447.6,270.1 L450.2,274.7 L452.9,279.1 L455.5,283.4 L458.2,287.4 L460.8,291.2 L463.5,294.8 L466.1,298.2 L468.8,301.4 L471.4,304.4 L474.1,307.2 L476.7,309.8 L479.4,312.3 L482,314.6 L484.7,316.8 L487.3,318.8 L490,320.7 L492.6,322.4 L495.3,324 L497.9,325.5 L500.6,326.8 L503.2,328.1 L505.9,329.3 L508.6,330.3 L511.2,331.3 L513.9,332.2 L516.5,333 L519.2,333.8 L521.8,334.5 L524.5,335.1 L527.1,335.7 L529.8,336.2 L532.4,336.7 L535.1,337.1 L537.7,337.5 L540.4,337.8 L543,338.2 L545.7,338.5 L548.3,338.7 L551,338.9 L553.6,339.2 L556.3,339.4 L558.9,339.5 L561.6,339.7 L564.2,339.8 L566.9,339.9 L569.6,340.1 L572.2,340.2 L574.9,340.3 L577.5,340.3 L580.2,340.4 L582.8,340.5 L585.5,340.5 L588.1,340.6 L590.8,340.6 L593.4,340.7 L596.1,340.7 L598.7,340.7 L601.4,340.8 L604,340.8 L606.7,340.8 L609.3,340.8 L612,340.9 L614.6,340.9 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="628.6" y="58" width="95.36" height="105"/><rect x="628.6" y="58" width="95.36" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="88" x2="658.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="118" x2="658.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="643.6" y1="148" x2="658.6" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="666.1" y="88" font-size="15" font-family="Verdana">v=1</text>
-<text x="666.1" y="118" font-size="15" font-family="Verdana">v=5</text>
-<text x="666.1" y="148" font-size="15" font-family="Verdana">v=30</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Students T Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/tgamma.svg b/libs/math/doc/sf_and_dist/graphs/tgamma.svg
deleted file mode 100644
index 5409fa2676..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/tgamma.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="281.4" y1="58" x2="281.4" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="202.3" x2="574" y2="202.3"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,187.8 L92.6,187.8 M90.6,173.4 L92.6,173.4 M90.6,158.9 L92.6,158.9 M90.6,130 L92.6,130 M90.6,115.6 L92.6,115.6 M90.6,101.1 L92.6,101.1 M90.6,72.22 L92.6,72.22 M90.6,202.3 L92.6,202.3 M90.6,216.7 L92.6,216.7 M90.6,231.2 L92.6,231.2 M90.6,245.6 L92.6,245.6 M90.6,260.1 L92.6,260.1 M90.6,274.5 L92.6,274.5 M90.6,289 L92.6,289 M90.6,303.4 L92.6,303.4 M90.6,317.9 L92.6,317.9 M90.6,332.3 L92.6,332.3 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M293.2,341 L293.2,343 M305,341 L305,343 M316.8,341 L316.8,343 M340.4,341 L340.4,343 M352.2,341 L352.2,343 M364,341 L364,343 M387.6,341 L387.6,343 M399.4,341 L399.4,343 M411.2,341 L411.2,343 M434.8,341 L434.8,343 M446.6,341 L446.6,343 M458.4,341 L458.4,343 M482,341 L482,343 M493.8,341 L493.8,343 M505.6,341 L505.6,343 M529.2,341 L529.2,343 M541,341 L541,343 M552.8,341 L552.8,343 M269.6,341 L269.6,343 M257.8,341 L257.8,343 M246,341 L246,343 M222.4,341 L222.4,343 M210.6,341 L210.6,343 M198.8,341 L198.8,343 M175.2,341 L175.2,343 M163.4,341 L163.4,343 M151.6,341 L151.6,343 M128,341 L128,343 M116.2,341 L116.2,343 M104.4,341 L104.4,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,202.3 L92.6,202.3 M87.6,144.5 L92.6,144.5 M87.6,86.67 L92.6,86.67 M87.6,202.3 L92.6,202.3 M87.6,260.1 L92.6,260.1 M87.6,317.9 L92.6,317.9 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M281.4,341 L281.4,346 M328.6,341 L328.6,346 M375.8,341 L375.8,346 M423,341 L423,346 M470.2,341 L470.2,346 M517.4,341 L517.4,346 M564.6,341 L564.6,346 M281.4,341 L281.4,346 M234.2,341 L234.2,346 M187,341 L187,346 M139.8,341 L139.8,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="281.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="328.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="375.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="423" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="470.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">4</text>
-<text x="517.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">6</text>
-<text x="281.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="234.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="187" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text>
-<text x="139.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-3</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="146.9" text-anchor="end" font-size="12" font-family="Verdana">50</text>
-<text x="81.6" y="89.07" text-anchor="end" font-size="12" font-family="Verdana">100</text>
-<text x="81.6" y="204.7" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="262.5" text-anchor="end" font-size="12" font-family="Verdana">-50</text>
-<text x="81.6" y="320.3" text-anchor="end" font-size="12" font-family="Verdana">-100</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">tgamma(z)</text></g>
-<g id="xLabel">
-<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M281.8,63.55 L283.2,172.7 L284.6,185.9 L286,191.1 L287.4,193.8 L288.8,195.5 L290.2,196.6 L291.7,197.4 L293.1,198 L294.5,198.5 L295.9,198.9 L297.3,199.2 L298.7,199.5 L300.1,199.7 L301.6,199.9 L303,200 L304.4,200.2 L305.8,200.3 L307.2,200.4 L308.6,200.5 L310,200.6 L311.5,200.6 L312.9,200.7 L314.3,200.8 L315.7,200.8 L317.1,200.9 L318.5,200.9 L319.9,201 L321.4,201 L322.8,201 L324.2,201 L325.6,201.1 L327,201.1 L328.4,201.1 L329.8,201.1 L331.3,201.2 L332.7,201.2 L334.1,201.2 L335.5,201.2 L336.9,201.2 L338.3,201.2 L339.7,201.2 L341.2,201.2 L342.6,201.2 L344,201.2 L345.4,201.2 L346.8,201.2 L348.2,201.2 L349.6,201.3 L351.1,201.3 L352.5,201.2 L353.9,201.2 L355.3,201.2 L356.7,201.2 L358.1,201.2 L359.5,201.2 L360.9,201.2 L362.4,201.2 L363.8,201.2 L365.2,201.2 L366.6,201.2 L368,201.2 L369.4,201.2 L370.8,201.2 L372.3,201.2 L373.7,201.1 L375.1,201.1 L376.5,201.1 L377.9,201.1 L379.3,201.1 L380.7,201.1 L382.2,201 L383.6,201 L385,201 L386.4,201 L387.8,201 L389.2,200.9 L390.6,200.9 L392.1,200.9 L393.5,200.9 L394.9,200.8 L396.3,200.8 L397.7,200.8 L399.1,200.7 L400.5,200.7 L402,200.7 L403.4,200.6 L404.8,200.6 L406.2,200.6 L407.6,200.5 L409,200.5 L410.4,200.4 L411.9,200.4 L413.3,200.3 L414.7,200.3 L416.1,200.2 L417.5,200.2 L418.9,200.1 L420.3,200.1 L421.7,200 L423.2,200 L424.6,199.9 L426,199.8 L427.4,199.7 L428.8,199.7 L430.2,199.6 L431.6,199.5 L433.1,199.4 L434.5,199.3 L435.9,199.3 L437.3,199.2 L438.7,199.1 L440.1,199 L441.5,198.9 L443,198.7 L444.4,198.6 L445.8,198.5 L447.2,198.4 L448.6,198.2 L450,198.1 L451.4,198 L452.9,197.8 L454.3,197.7 L455.7,197.5 L457.1,197.3 L458.5,197.1 L459.9,197 L461.3,196.8 L462.8,196.6 L464.2,196.3 L465.6,196.1 L467,195.9 L468.4,195.7 L469.8,195.4 L471.2,195.1 L472.7,194.9 L474.1,194.6 L475.5,194.3 L476.9,194 L478.3,193.6 L479.7,193.3 L481.1,192.9 L482.6,192.5 L484,192.1 L485.4,191.7 L486.8,191.3 L488.2,190.8 L489.6,190.4 L491,189.9 L492.4,189.3 L493.9,188.8 L495.3,188.2 L496.7,187.6 L498.1,187 L499.5,186.3 L500.9,185.6 L502.3,184.9 L503.8,184.1 L505.2,183.3 L506.6,182.5 L508,181.6 L509.4,180.7 L510.8,179.7 L512.2,178.7 L513.7,177.6 L515.1,176.5 L516.5,175.3 L517.9,174 L519.3,172.7 L520.7,171.4 L522.1,169.9 L523.6,168.4 L525,166.8 L526.4,165.1 L527.8,163.4 L529.2,161.5 L530.6,159.5 L532,157.5 L533.5,155.3 L534.9,153 L536.3,150.6 L537.7,148.1 L539.1,145.5 L540.5,142.7 L541.9,139.7 L543.4,136.6 L544.8,133.3 L546.2,129.9 L547.6,126.2 L549,122.4 L550.4,118.4 L551.8,114.1 L553.2,109.6 L554.7,104.9 L556.1,99.89 L557.5,94.61 L558.9,89.05 L560.3,83.18 L561.7,76.99 L563.1,70.45 L564.6,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M234.6,341 L234.8,289.8 L235,266.3 L235.3,252.8 L235.5,244.1 L235.7,237.9 L236,233.4 L236.2,229.9 L236.4,227.1 L236.7,224.8 L236.9,223 L237.1,221.4 L237.4,220 L237.6,218.9 L237.8,217.9 L238.1,217 L238.3,216.2 L238.5,215.5 L238.7,214.9 L239,214.3 L239.2,213.8 L239.4,213.3 L239.7,212.9 L239.9,212.5 L240.1,212.1 L240.4,211.8 L240.6,211.5 L240.8,211.2 L241.1,210.9 L241.3,210.7 L241.5,210.5 L241.8,210.2 L242,210 L242.2,209.8 L242.5,209.7 L242.7,209.5 L242.9,209.3 L243.2,209.2 L243.4,209 L243.6,208.9 L243.9,208.8 L244.1,208.7 L244.3,208.5 L244.5,208.4 L244.8,208.3 L245,208.2 L245.2,208.1 L245.5,208 L245.7,208 L245.9,207.9 L246.2,207.8 L246.4,207.7 L246.6,207.7 L246.9,207.6 L247.1,207.5 L247.3,207.5 L247.6,207.4 L247.8,207.3 L248,207.3 L248.3,207.2 L248.5,207.2 L248.7,207.1 L249,207.1 L249.2,207 L249.4,207 L249.7,207 L249.9,206.9 L250.1,206.9 L250.4,206.9 L250.6,206.8 L250.8,206.8 L251,206.8 L251.3,206.7 L251.5,206.7 L251.7,206.7 L252,206.6 L252.2,206.6 L252.4,206.6 L252.7,206.6 L252.9,206.6 L253.1,206.5 L253.4,206.5 L253.6,206.5 L253.8,206.5 L254.1,206.5 L254.3,206.5 L254.5,206.5 L254.8,206.4 L255,206.4 L255.2,206.4 L255.5,206.4 L255.7,206.4 L255.9,206.4 L256.2,206.4 L256.4,206.4 L256.6,206.4 L256.8,206.4 L257.1,206.4 L257.3,206.4 L257.5,206.4 L257.8,206.4 L258,206.4 L258.2,206.4 L258.5,206.4 L258.7,206.4 L258.9,206.4 L259.2,206.4 L259.4,206.4 L259.6,206.4 L259.9,206.4 L260.1,206.4 L260.3,206.4 L260.6,206.4 L260.8,206.5 L261,206.5 L261.3,206.5 L261.5,206.5 L261.7,206.5 L262,206.5 L262.2,206.6 L262.4,206.6 L262.6,206.6 L262.9,206.6 L263.1,206.6 L263.3,206.7 L263.6,206.7 L263.8,206.7 L264,206.7 L264.3,206.8 L264.5,206.8 L264.7,206.8 L265,206.9 L265.2,206.9 L265.4,206.9 L265.7,207 L265.9,207 L266.1,207.1 L266.4,207.1 L266.6,207.1 L266.8,207.2 L267.1,207.2 L267.3,207.3 L267.5,207.3 L267.8,207.4 L268,207.5 L268.2,207.5 L268.4,207.6 L268.7,207.7 L268.9,207.7 L269.1,207.8 L269.4,207.9 L269.6,208 L269.8,208 L270.1,208.1 L270.3,208.2 L270.5,208.3 L270.8,208.4 L271,208.5 L271.2,208.6 L271.5,208.7 L271.7,208.9 L271.9,209 L272.2,209.1 L272.4,209.3 L272.6,209.4 L272.9,209.6 L273.1,209.8 L273.3,210 L273.6,210.1 L273.8,210.3 L274,210.6 L274.3,210.8 L274.5,211.1 L274.7,211.3 L274.9,211.6 L275.2,211.9 L275.4,212.3 L275.6,212.6 L275.9,213 L276.1,213.4 L276.3,213.9 L276.6,214.4 L276.8,215 L277,215.6 L277.3,216.3 L277.5,217.1 L277.7,218 L278,219 L278.2,220.2 L278.4,221.5 L278.7,223.1 L278.9,225 L279.1,227.2 L279.4,230 L279.6,233.5 L279.8,238.1 L280.1,244.2 L280.3,253 L280.5,266.5 L280.7,289.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M187.2,63.55 L187.4,138.4 L187.6,160.6 L187.9,171.3 L188.1,177.6 L188.3,181.7 L188.6,184.6 L188.8,186.8 L189,188.5 L189.3,189.8 L189.5,190.9 L189.7,191.8 L190,192.6 L190.2,193.2 L190.4,193.8 L190.7,194.3 L190.9,194.7 L191.1,195.1 L191.4,195.4 L191.6,195.7 L191.8,196 L192.1,196.3 L192.3,196.5 L192.5,196.7 L192.8,196.9 L193,197.1 L193.2,197.2 L193.5,197.4 L193.7,197.5 L193.9,197.6 L194.2,197.8 L194.4,197.9 L194.6,198 L194.9,198.1 L195.1,198.2 L195.3,198.2 L195.6,198.3 L195.8,198.4 L196,198.5 L196.3,198.5 L196.5,198.6 L196.7,198.7 L197,198.7 L197.2,198.8 L197.4,198.8 L197.7,198.9 L197.9,198.9 L198.1,199 L198.4,199 L198.6,199.1 L198.8,199.1 L199.1,199.1 L199.3,199.2 L199.5,199.2 L199.8,199.2 L200,199.2 L200.2,199.3 L200.5,199.3 L200.7,199.3 L200.9,199.3 L201.2,199.4 L201.4,199.4 L201.6,199.4 L201.9,199.4 L202.1,199.4 L202.3,199.5 L202.6,199.5 L202.8,199.5 L203,199.5 L203.3,199.5 L203.5,199.5 L203.7,199.5 L204,199.6 L204.2,199.6 L204.4,199.6 L204.7,199.6 L204.9,199.6 L205.1,199.6 L205.4,199.6 L205.6,199.6 L205.8,199.6 L206.1,199.6 L206.3,199.6 L206.5,199.6 L206.8,199.6 L207,199.6 L207.2,199.6 L207.5,199.6 L207.7,199.6 L207.9,199.6 L208.2,199.6 L208.4,199.6 L208.6,199.6 L208.8,199.6 L209.1,199.6 L209.3,199.6 L209.5,199.6 L209.8,199.6 L210,199.6 L210.2,199.6 L210.5,199.5 L210.7,199.5 L210.9,199.5 L211.2,199.5 L211.4,199.5 L211.6,199.5 L211.9,199.5 L212.1,199.5 L212.3,199.5 L212.6,199.4 L212.8,199.4 L213,199.4 L213.3,199.4 L213.5,199.4 L213.7,199.3 L214,199.3 L214.2,199.3 L214.4,199.3 L214.7,199.3 L214.9,199.2 L215.1,199.2 L215.4,199.2 L215.6,199.2 L215.8,199.1 L216.1,199.1 L216.3,199.1 L216.5,199.1 L216.8,199 L217,199 L217.2,199 L217.5,198.9 L217.7,198.9 L217.9,198.8 L218.2,198.8 L218.4,198.8 L218.6,198.7 L218.9,198.7 L219.1,198.6 L219.3,198.6 L219.6,198.5 L219.8,198.5 L220,198.4 L220.3,198.4 L220.5,198.3 L220.7,198.2 L221,198.2 L221.2,198.1 L221.4,198.1 L221.7,198 L221.9,197.9 L222.1,197.8 L222.4,197.7 L222.6,197.7 L222.8,197.6 L223.1,197.5 L223.3,197.4 L223.5,197.3 L223.8,197.2 L224,197.1 L224.2,196.9 L224.5,196.8 L224.7,196.7 L224.9,196.6 L225.2,196.4 L225.4,196.3 L225.6,196.1 L225.9,195.9 L226.1,195.7 L226.3,195.5 L226.6,195.3 L226.8,195.1 L227,194.9 L227.3,194.6 L227.5,194.4 L227.7,194.1 L228,193.8 L228.2,193.4 L228.4,193.1 L228.7,192.7 L228.9,192.3 L229.1,191.8 L229.4,191.3 L229.6,190.7 L229.8,190.1 L230.1,189.4 L230.3,188.6 L230.5,187.7 L230.8,186.7 L231,185.5 L231.2,184.2 L231.5,182.6 L231.7,180.8 L231.9,178.5 L232.2,175.7 L232.4,172.2 L232.6,167.7 L232.9,161.5 L233.1,152.7 L233.3,139.1 L233.6,115.4 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M139.8,341 L140.1,232.8 L140.3,219.5 L140.6,214.3 L140.8,211.6 L141,209.9 L141.3,208.7 L141.5,207.9 L141.7,207.2 L142,206.7 L142.2,206.3 L142.4,206 L142.7,205.7 L142.9,205.5 L143.1,205.3 L143.4,205.1 L143.6,204.9 L143.8,204.8 L144.1,204.7 L144.3,204.6 L144.5,204.5 L144.8,204.4 L145,204.3 L145.2,204.2 L145.5,204.2 L145.7,204.1 L145.9,204.1 L146.2,204 L146.4,204 L146.7,203.9 L146.9,203.9 L147.1,203.8 L147.4,203.8 L147.6,203.8 L147.8,203.7 L148.1,203.7 L148.3,203.7 L148.5,203.7 L148.8,203.6 L149,203.6 L149.2,203.6 L149.5,203.6 L149.7,203.6 L149.9,203.5 L150.2,203.5 L150.4,203.5 L150.6,203.5 L150.9,203.5 L151.1,203.5 L151.3,203.4 L151.6,203.4 L151.8,203.4 L152.1,203.4 L152.3,203.4 L152.5,203.4 L152.8,203.4 L153,203.4 L153.2,203.4 L153.5,203.4 L153.7,203.4 L153.9,203.4 L154.2,203.3 L154.4,203.3 L154.6,203.3 L154.9,203.3 L155.1,203.3 L155.3,203.3 L155.6,203.3 L155.8,203.3 L156,203.3 L156.3,203.3 L156.5,203.3 L156.7,203.3 L157,203.3 L157.2,203.3 L157.4,203.3 L157.7,203.3 L157.9,203.3 L158.2,203.3 L158.4,203.3 L158.6,203.3 L158.9,203.3 L159.1,203.3 L159.3,203.3 L159.6,203.3 L159.8,203.3 L160,203.3 L160.3,203.3 L160.5,203.3 L160.7,203.3 L161,203.3 L161.2,203.3 L161.4,203.3 L161.7,203.3 L161.9,203.3 L162.1,203.3 L162.4,203.3 L162.6,203.3 L162.8,203.4 L163.1,203.4 L163.3,203.4 L163.5,203.4 L163.8,203.4 L164,203.4 L164.3,203.4 L164.5,203.4 L164.7,203.4 L165,203.4 L165.2,203.4 L165.4,203.4 L165.7,203.4 L165.9,203.4 L166.1,203.5 L166.4,203.5 L166.6,203.5 L166.8,203.5 L167.1,203.5 L167.3,203.5 L167.5,203.5 L167.8,203.5 L168,203.6 L168.2,203.6 L168.5,203.6 L168.7,203.6 L168.9,203.6 L169.2,203.6 L169.4,203.6 L169.7,203.7 L169.9,203.7 L170.1,203.7 L170.4,203.7 L170.6,203.7 L170.8,203.7 L171.1,203.8 L171.3,203.8 L171.5,203.8 L171.8,203.8 L172,203.9 L172.2,203.9 L172.5,203.9 L172.7,203.9 L172.9,204 L173.2,204 L173.4,204 L173.6,204.1 L173.9,204.1 L174.1,204.1 L174.3,204.2 L174.6,204.2 L174.8,204.2 L175,204.3 L175.3,204.3 L175.5,204.4 L175.8,204.4 L176,204.4 L176.2,204.5 L176.5,204.5 L176.7,204.6 L176.9,204.7 L177.2,204.7 L177.4,204.8 L177.6,204.9 L177.9,204.9 L178.1,205 L178.3,205.1 L178.6,205.2 L178.8,205.2 L179,205.3 L179.3,205.4 L179.5,205.5 L179.7,205.7 L180,205.8 L180.2,205.9 L180.4,206.1 L180.7,206.2 L180.9,206.4 L181.2,206.5 L181.4,206.7 L181.6,206.9 L181.9,207.2 L182.1,207.4 L182.3,207.7 L182.6,208 L182.8,208.3 L183,208.7 L183.3,209.2 L183.5,209.7 L183.7,210.2 L184,210.9 L184.2,211.6 L184.4,212.5 L184.7,213.6 L184.9,214.9 L185.1,216.6 L185.4,218.8 L185.6,221.7 L185.8,225.8 L186.1,232.1 L186.3,242.8 L186.5,265.1 L186.8,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,63.55 L92.84,193.2 L93.07,197.5 L93.31,199.1 L93.54,199.8 L93.78,200.3 L94.01,200.6 L94.25,200.8 L94.48,201 L94.72,201.1 L94.96,201.2 L95.19,201.3 L95.43,201.4 L95.66,201.5 L95.9,201.5 L96.13,201.6 L96.37,201.6 L96.6,201.6 L96.84,201.7 L97.08,201.7 L97.31,201.7 L97.55,201.7 L97.78,201.7 L98.02,201.8 L98.25,201.8 L98.49,201.8 L98.73,201.8 L98.96,201.8 L99.2,201.8 L99.43,201.8 L99.67,201.9 L99.9,201.9 L100.1,201.9 L100.4,201.9 L100.6,201.9 L100.8,201.9 L101.1,201.9 L101.3,201.9 L101.6,201.9 L101.8,201.9 L102,201.9 L102.3,201.9 L102.5,201.9 L102.7,201.9 L103,201.9 L103.2,201.9 L103.4,202 L103.7,202 L103.9,202 L104.1,202 L104.4,202 L104.6,202 L104.9,202 L105.1,202 L105.3,202 L105.6,202 L105.8,202 L106,202 L106.3,202 L106.5,202 L106.7,202 L107,202 L107.2,202 L107.4,202 L107.7,202 L107.9,202 L108.1,202 L108.4,202 L108.6,202 L108.9,202 L109.1,202 L109.3,202 L109.6,202 L109.8,202 L110,202 L110.3,202 L110.5,202 L110.7,202 L111,202 L111.2,202 L111.4,202 L111.7,202 L111.9,202 L112.2,202 L112.4,202 L112.6,202 L112.9,202 L113.1,202 L113.3,202 L113.6,202 L113.8,202 L114,202 L114.3,202 L114.5,202 L114.7,202 L115,202 L115.2,202 L115.5,202 L115.7,202 L115.9,202 L116.2,202 L116.4,202 L116.6,202 L116.9,202 L117.1,202 L117.3,202 L117.6,201.9 L117.8,201.9 L118,201.9 L118.3,201.9 L118.5,201.9 L118.7,201.9 L119,201.9 L119.2,201.9 L119.5,201.9 L119.7,201.9 L119.9,201.9 L120.2,201.9 L120.4,201.9 L120.6,201.9 L120.9,201.9 L121.1,201.9 L121.3,201.9 L121.6,201.9 L121.8,201.9 L122,201.9 L122.3,201.9 L122.5,201.9 L122.8,201.9 L123,201.9 L123.2,201.8 L123.5,201.8 L123.7,201.8 L123.9,201.8 L124.2,201.8 L124.4,201.8 L124.6,201.8 L124.9,201.8 L125.1,201.8 L125.3,201.8 L125.6,201.8 L125.8,201.8 L126.1,201.8 L126.3,201.7 L126.5,201.7 L126.8,201.7 L127,201.7 L127.2,201.7 L127.5,201.7 L127.7,201.7 L127.9,201.7 L128.2,201.6 L128.4,201.6 L128.6,201.6 L128.9,201.6 L129.1,201.6 L129.4,201.6 L129.6,201.5 L129.8,201.5 L130.1,201.5 L130.3,201.5 L130.5,201.5 L130.8,201.4 L131,201.4 L131.2,201.4 L131.5,201.4 L131.7,201.3 L131.9,201.3 L132.2,201.3 L132.4,201.2 L132.6,201.2 L132.9,201.1 L133.1,201.1 L133.4,201 L133.6,201 L133.8,200.9 L134.1,200.9 L134.3,200.8 L134.5,200.7 L134.8,200.7 L135,200.6 L135.2,200.5 L135.5,200.4 L135.7,200.2 L135.9,200.1 L136.2,200 L136.4,199.8 L136.7,199.6 L136.9,199.3 L137.1,199.1 L137.4,198.7 L137.6,198.3 L137.8,197.8 L138.1,197.2 L138.3,196.4 L138.5,195.2 L138.8,193.5 L139,190.7 L139.2,185.6 L139.5,172.3 L139.7,63.55 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">tgamma</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.svg b/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.svg
deleted file mode 100644
index 8cc086362b..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/tgamma_delta_ratio.svg
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="68.4" y="59" width="336.5" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="338.5" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="341" x2="405.9" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,331 L67.4,331 M65.4,319.8 L67.4,319.8 M65.4,308.7 L67.4,308.7 M65.4,286.4 L67.4,286.4 M65.4,275.3 L67.4,275.3 M65.4,264.1 L67.4,264.1 M65.4,241.8 L67.4,241.8 M65.4,230.7 L67.4,230.7 M65.4,219.5 L67.4,219.5 M65.4,197.3 L67.4,197.3 M65.4,186.1 L67.4,186.1 M65.4,175 L67.4,175 M65.4,152.7 L67.4,152.7 M65.4,141.5 L67.4,141.5 M65.4,130.4 L67.4,130.4 M65.4,108.1 L67.4,108.1 M65.4,96.96 L67.4,96.96 M65.4,85.81 L67.4,85.81 M65.4,63.53 L67.4,63.53 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M80.16,341 L80.16,343 M101.4,341 L101.4,343 M122.7,341 L122.7,343 M165.3,341 L165.3,343 M186.5,341 L186.5,343 M207.8,341 L207.8,343 M250.4,341 L250.4,343 M271.6,341 L271.6,343 M292.9,341 L292.9,343 M335.5,341 L335.5,343 M356.7,341 L356.7,343 M378,341 L378,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,297.5 L67.4,297.5 M62.4,253 L67.4,253 M62.4,208.4 L67.4,208.4 M62.4,163.8 L67.4,163.8 M62.4,119.2 L67.4,119.2 M62.4,74.67 L67.4,74.67 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M144,341 L144,346 M229.1,341 L229.1,346 M314.2,341 L314.2,346 M399.3,341 L399.3,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="144" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="229.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">20</text>
-<text x="314.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">30</text>
-<text x="399.3" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">40</text></g>
-<g id="yTicksValues">
-<text x="56.4" y="299.9" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="56.4" y="255.4" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="56.4" y="210.8" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="56.4" y="166.2" text-anchor="end" font-size="12" font-family="Verdana">4</text>
-<text x="56.4" y="121.6" text-anchor="end" font-size="12" font-family="Verdana">5</text>
-<text x="56.4" y="77.07" text-anchor="end" font-size="12" font-family="Verdana">6</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">tgamma_delta_ratio(delta, z)</text></g>
-<g id="xLabel">
-<text x="236.7" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,317 L69.06,310.7 L70.72,305.4 L72.38,300.6 L74.04,296.3 L75.7,292.3 L77.36,288.6 L79.02,285.1 L80.68,281.9 L82.33,278.8 L83.99,275.8 L85.65,273 L87.31,270.2 L88.97,267.6 L90.63,265 L92.29,262.6 L93.95,260.2 L95.61,257.9 L97.27,255.6 L98.93,253.4 L100.6,251.2 L102.2,249.1 L103.9,247.1 L105.6,245.1 L107.2,243.1 L108.9,241.1 L110.5,239.3 L112.2,237.4 L113.9,235.6 L115.5,233.8 L117.2,232 L118.8,230.2 L120.5,228.5 L122.2,226.8 L123.8,225.2 L125.5,223.5 L127.1,221.9 L128.8,220.3 L130.5,218.7 L132.1,217.2 L133.8,215.6 L135.4,214.1 L137.1,212.6 L138.8,211.1 L140.4,209.6 L142.1,208.2 L143.7,206.7 L145.4,205.3 L147.1,203.9 L148.7,202.5 L150.4,201.1 L152,199.8 L153.7,198.4 L155.3,197.1 L157,195.7 L158.7,194.4 L160.3,193.1 L162,191.8 L163.6,190.5 L165.3,189.3 L167,188 L168.6,186.8 L170.3,185.5 L171.9,184.3 L173.6,183.1 L175.3,181.9 L176.9,180.6 L178.6,179.5 L180.2,178.3 L181.9,177.1 L183.6,175.9 L185.2,174.8 L186.9,173.6 L188.5,172.5 L190.2,171.3 L191.9,170.2 L193.5,169.1 L195.2,168 L196.8,166.8 L198.5,165.7 L200.2,164.6 L201.8,163.6 L203.5,162.5 L205.1,161.4 L206.8,160.3 L208.5,159.3 L210.1,158.2 L211.8,157.2 L213.4,156.1 L215.1,155.1 L216.7,154 L218.4,153 L220.1,152 L221.7,151 L223.4,150 L225,149 L226.7,148 L228.4,147 L230,146 L231.7,145 L233.3,144 L235,143 L236.7,142.1 L238.3,141.1 L240,140.1 L241.6,139.2 L243.3,138.2 L245,137.3 L246.6,136.3 L248.3,135.4 L249.9,134.5 L251.6,133.5 L253.3,132.6 L254.9,131.7 L256.6,130.8 L258.2,129.9 L259.9,128.9 L261.6,128 L263.2,127.1 L264.9,126.2 L266.5,125.3 L268.2,124.4 L269.8,123.6 L271.5,122.7 L273.2,121.8 L274.8,120.9 L276.5,120 L278.1,119.2 L279.8,118.3 L281.5,117.4 L283.1,116.6 L284.8,115.7 L286.4,114.9 L288.1,114 L289.8,113.2 L291.4,112.3 L293.1,111.5 L294.7,110.6 L296.4,109.8 L298.1,109 L299.7,108.1 L301.4,107.3 L303,106.5 L304.7,105.7 L306.4,104.9 L308,104 L309.7,103.2 L311.3,102.4 L313,101.6 L314.7,100.8 L316.3,100 L318,99.21 L319.6,98.42 L321.3,97.62 L322.9,96.83 L324.6,96.04 L326.3,95.26 L327.9,94.47 L329.6,93.69 L331.2,92.91 L332.9,92.14 L334.6,91.36 L336.2,90.59 L337.9,89.82 L339.5,89.06 L341.2,88.29 L342.9,87.53 L344.5,86.77 L346.2,86.01 L347.8,85.26 L349.5,84.5 L351.2,83.75 L352.8,83 L354.5,82.26 L356.1,81.51 L357.8,80.77 L359.5,80.03 L361.1,79.29 L362.8,78.56 L364.4,77.82 L366.1,77.09 L367.8,76.36 L369.4,75.63 L371.1,74.91 L372.7,74.18 L374.4,73.46 L376.1,72.74 L377.7,72.02 L379.4,71.31 L381,70.59 L382.7,69.88 L384.3,69.17 L386,68.46 L387.7,67.75 L389.3,67.05 L391,66.34 L392.6,65.64 L394.3,64.94 L396,64.25 L397.6,63.55 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,303.8 L69.06,301.3 L70.72,299.1 L72.38,297.4 L74.04,295.8 L75.7,294.4 L77.36,293.2 L79.02,292.1 L80.68,291 L82.33,290.1 L83.99,289.2 L85.65,288.3 L87.31,287.5 L88.97,286.8 L90.63,286.1 L92.29,285.4 L93.95,284.8 L95.61,284.1 L97.27,283.5 L98.93,283 L100.6,282.4 L102.2,281.9 L103.9,281.4 L105.6,280.9 L107.2,280.4 L108.9,279.9 L110.5,279.5 L112.2,279 L113.9,278.6 L115.5,278.2 L117.2,277.8 L118.8,277.4 L120.5,277 L122.2,276.6 L123.8,276.3 L125.5,275.9 L127.1,275.6 L128.8,275.2 L130.5,274.9 L132.1,274.5 L133.8,274.2 L135.4,273.9 L137.1,273.6 L138.8,273.3 L140.4,273 L142.1,272.7 L143.7,272.4 L145.4,272.1 L147.1,271.8 L148.7,271.5 L150.4,271.3 L152,271 L153.7,270.7 L155.3,270.5 L157,270.2 L158.7,269.9 L160.3,269.7 L162,269.4 L163.6,269.2 L165.3,269 L167,268.7 L168.6,268.5 L170.3,268.3 L171.9,268 L173.6,267.8 L175.3,267.6 L176.9,267.4 L178.6,267.1 L180.2,266.9 L181.9,266.7 L183.6,266.5 L185.2,266.3 L186.9,266.1 L188.5,265.9 L190.2,265.7 L191.9,265.5 L193.5,265.3 L195.2,265.1 L196.8,264.9 L198.5,264.7 L200.2,264.5 L201.8,264.3 L203.5,264.1 L205.1,263.9 L206.8,263.8 L208.5,263.6 L210.1,263.4 L211.8,263.2 L213.4,263.1 L215.1,262.9 L216.7,262.7 L218.4,262.5 L220.1,262.4 L221.7,262.2 L223.4,262 L225,261.9 L226.7,261.7 L228.4,261.5 L230,261.4 L231.7,261.2 L233.3,261 L235,260.9 L236.7,260.7 L238.3,260.6 L240,260.4 L241.6,260.3 L243.3,260.1 L245,260 L246.6,259.8 L248.3,259.7 L249.9,259.5 L251.6,259.4 L253.3,259.2 L254.9,259.1 L256.6,258.9 L258.2,258.8 L259.9,258.7 L261.6,258.5 L263.2,258.4 L264.9,258.2 L266.5,258.1 L268.2,258 L269.8,257.8 L271.5,257.7 L273.2,257.6 L274.8,257.4 L276.5,257.3 L278.1,257.2 L279.8,257 L281.5,256.9 L283.1,256.8 L284.8,256.6 L286.4,256.5 L288.1,256.4 L289.8,256.2 L291.4,256.1 L293.1,256 L294.7,255.9 L296.4,255.8 L298.1,255.6 L299.7,255.5 L301.4,255.4 L303,255.3 L304.7,255.1 L306.4,255 L308,254.9 L309.7,254.8 L311.3,254.7 L313,254.6 L314.7,254.4 L316.3,254.3 L318,254.2 L319.6,254.1 L321.3,254 L322.9,253.9 L324.6,253.7 L326.3,253.6 L327.9,253.5 L329.6,253.4 L331.2,253.3 L332.9,253.2 L334.6,253.1 L336.2,253 L337.9,252.9 L339.5,252.8 L341.2,252.7 L342.9,252.5 L344.5,252.4 L346.2,252.3 L347.8,252.2 L349.5,252.1 L351.2,252 L352.8,251.9 L354.5,251.8 L356.1,251.7 L357.8,251.6 L359.5,251.5 L361.1,251.4 L362.8,251.3 L364.4,251.2 L366.1,251.1 L367.8,251 L369.4,250.9 L371.1,250.8 L372.7,250.7 L374.4,250.6 L376.1,250.5 L377.7,250.4 L379.4,250.3 L381,250.2 L382.7,250.1 L384.3,250 L386,249.9 L387.7,249.8 L389.3,249.7 L391,249.6 L392.6,249.6 L394.3,249.5 L396,249.4 L397.6,249.3 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M67.4,300.4 L69.06,299.1 L70.72,298.1 L72.38,297.2 L74.04,296.5 L75.7,295.9 L77.36,295.3 L79.02,294.8 L80.68,294.3 L82.33,293.8 L83.99,293.4 L85.65,293.1 L87.31,292.7 L88.97,292.4 L90.63,292.1 L92.29,291.8 L93.95,291.5 L95.61,291.2 L97.27,291 L98.93,290.7 L100.6,290.5 L102.2,290.2 L103.9,290 L105.6,289.8 L107.2,289.6 L108.9,289.4 L110.5,289.2 L112.2,289 L113.9,288.9 L115.5,288.7 L117.2,288.5 L118.8,288.4 L120.5,288.2 L122.2,288.1 L123.8,287.9 L125.5,287.8 L127.1,287.6 L128.8,287.5 L130.5,287.3 L132.1,287.2 L133.8,287.1 L135.4,286.9 L137.1,286.8 L138.8,286.7 L140.4,286.6 L142.1,286.5 L143.7,286.3 L145.4,286.2 L147.1,286.1 L148.7,286 L150.4,285.9 L152,285.8 L153.7,285.7 L155.3,285.6 L157,285.5 L158.7,285.4 L160.3,285.3 L162,285.2 L163.6,285.1 L165.3,285 L167,284.9 L168.6,284.8 L170.3,284.7 L171.9,284.6 L173.6,284.5 L175.3,284.5 L176.9,284.4 L178.6,284.3 L180.2,284.2 L181.9,284.1 L183.6,284 L185.2,284 L186.9,283.9 L188.5,283.8 L190.2,283.7 L191.9,283.7 L193.5,283.6 L195.2,283.5 L196.8,283.4 L198.5,283.4 L200.2,283.3 L201.8,283.2 L203.5,283.1 L205.1,283.1 L206.8,283 L208.5,282.9 L210.1,282.9 L211.8,282.8 L213.4,282.7 L215.1,282.7 L216.7,282.6 L218.4,282.5 L220.1,282.5 L221.7,282.4 L223.4,282.4 L225,282.3 L226.7,282.2 L228.4,282.2 L230,282.1 L231.7,282 L233.3,282 L235,281.9 L236.7,281.9 L238.3,281.8 L240,281.8 L241.6,281.7 L243.3,281.6 L245,281.6 L246.6,281.5 L248.3,281.5 L249.9,281.4 L251.6,281.4 L253.3,281.3 L254.9,281.3 L256.6,281.2 L258.2,281.2 L259.9,281.1 L261.6,281.1 L263.2,281 L264.9,281 L266.5,280.9 L268.2,280.9 L269.8,280.8 L271.5,280.8 L273.2,280.7 L274.8,280.7 L276.5,280.6 L278.1,280.6 L279.8,280.5 L281.5,280.5 L283.1,280.4 L284.8,280.4 L286.4,280.3 L288.1,280.3 L289.8,280.2 L291.4,280.2 L293.1,280.1 L294.7,280.1 L296.4,280.1 L298.1,280 L299.7,280 L301.4,279.9 L303,279.9 L304.7,279.8 L306.4,279.8 L308,279.8 L309.7,279.7 L311.3,279.7 L313,279.6 L314.7,279.6 L316.3,279.5 L318,279.5 L319.6,279.5 L321.3,279.4 L322.9,279.4 L324.6,279.3 L326.3,279.3 L327.9,279.3 L329.6,279.2 L331.2,279.2 L332.9,279.2 L334.6,279.1 L336.2,279.1 L337.9,279 L339.5,279 L341.2,279 L342.9,278.9 L344.5,278.9 L346.2,278.8 L347.8,278.8 L349.5,278.8 L351.2,278.7 L352.8,278.7 L354.5,278.7 L356.1,278.6 L357.8,278.6 L359.5,278.6 L361.1,278.5 L362.8,278.5 L364.4,278.4 L366.1,278.4 L367.8,278.4 L369.4,278.3 L371.1,278.3 L372.7,278.3 L374.4,278.2 L376.1,278.2 L377.7,278.2 L379.4,278.1 L381,278.1 L382.7,278.1 L384.3,278 L386,278 L387.7,278 L389.3,277.9 L391,277.9 L392.6,277.9 L394.3,277.8 L396,277.8 L397.6,277.8 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M67.4,295.3 L69.06,296.5 L70.72,297.4 L72.38,298.2 L74.04,298.9 L75.7,299.5 L77.36,300 L79.02,300.4 L80.68,300.8 L82.33,301.1 L83.99,301.5 L85.65,301.8 L87.31,302.1 L88.97,302.3 L90.63,302.6 L92.29,302.8 L93.95,303 L95.61,303.2 L97.27,303.4 L98.93,303.6 L100.6,303.7 L102.2,303.9 L103.9,304.1 L105.6,304.2 L107.2,304.3 L108.9,304.5 L110.5,304.6 L112.2,304.7 L113.9,304.9 L115.5,305 L117.2,305.1 L118.8,305.2 L120.5,305.3 L122.2,305.4 L123.8,305.5 L125.5,305.6 L127.1,305.7 L128.8,305.8 L130.5,305.9 L132.1,306 L133.8,306.1 L135.4,306.2 L137.1,306.2 L138.8,306.3 L140.4,306.4 L142.1,306.5 L143.7,306.5 L145.4,306.6 L147.1,306.7 L148.7,306.8 L150.4,306.8 L152,306.9 L153.7,306.9 L155.3,307 L157,307.1 L158.7,307.1 L160.3,307.2 L162,307.3 L163.6,307.3 L165.3,307.4 L167,307.4 L168.6,307.5 L170.3,307.5 L171.9,307.6 L173.6,307.6 L175.3,307.7 L176.9,307.7 L178.6,307.8 L180.2,307.8 L181.9,307.9 L183.6,307.9 L185.2,308 L186.9,308 L188.5,308.1 L190.2,308.1 L191.9,308.2 L193.5,308.2 L195.2,308.2 L196.8,308.3 L198.5,308.3 L200.2,308.4 L201.8,308.4 L203.5,308.5 L205.1,308.5 L206.8,308.5 L208.5,308.6 L210.1,308.6 L211.8,308.6 L213.4,308.7 L215.1,308.7 L216.7,308.8 L218.4,308.8 L220.1,308.8 L221.7,308.9 L223.4,308.9 L225,308.9 L226.7,309 L228.4,309 L230,309 L231.7,309.1 L233.3,309.1 L235,309.1 L236.7,309.2 L238.3,309.2 L240,309.2 L241.6,309.2 L243.3,309.3 L245,309.3 L246.6,309.3 L248.3,309.4 L249.9,309.4 L251.6,309.4 L253.3,309.5 L254.9,309.5 L256.6,309.5 L258.2,309.5 L259.9,309.6 L261.6,309.6 L263.2,309.6 L264.9,309.6 L266.5,309.7 L268.2,309.7 L269.8,309.7 L271.5,309.8 L273.2,309.8 L274.8,309.8 L276.5,309.8 L278.1,309.9 L279.8,309.9 L281.5,309.9 L283.1,309.9 L284.8,310 L286.4,310 L288.1,310 L289.8,310 L291.4,310 L293.1,310.1 L294.7,310.1 L296.4,310.1 L298.1,310.1 L299.7,310.2 L301.4,310.2 L303,310.2 L304.7,310.2 L306.4,310.2 L308,310.3 L309.7,310.3 L311.3,310.3 L313,310.3 L314.7,310.4 L316.3,310.4 L318,310.4 L319.6,310.4 L321.3,310.4 L322.9,310.5 L324.6,310.5 L326.3,310.5 L327.9,310.5 L329.6,310.5 L331.2,310.6 L332.9,310.6 L334.6,310.6 L336.2,310.6 L337.9,310.6 L339.5,310.7 L341.2,310.7 L342.9,310.7 L344.5,310.7 L346.2,310.7 L347.8,310.7 L349.5,310.8 L351.2,310.8 L352.8,310.8 L354.5,310.8 L356.1,310.8 L357.8,310.9 L359.5,310.9 L361.1,310.9 L362.8,310.9 L364.4,310.9 L366.1,310.9 L367.8,311 L369.4,311 L371.1,311 L372.7,311 L374.4,311 L376.1,311 L377.7,311.1 L379.4,311.1 L381,311.1 L382.7,311.1 L384.3,311.1 L386,311.1 L387.7,311.2 L389.3,311.2 L391,311.2 L392.6,311.2 L394.3,311.2 L396,311.2 L397.6,311.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M67.4,293.6 L69.06,295.9 L70.72,297.8 L72.38,299.3 L74.04,300.5 L75.7,301.5 L77.36,302.5 L79.02,303.3 L80.68,304 L82.33,304.6 L83.99,305.2 L85.65,305.7 L87.31,306.2 L88.97,306.7 L90.63,307.1 L92.29,307.5 L93.95,307.9 L95.61,308.2 L97.27,308.5 L98.93,308.8 L100.6,309.1 L102.2,309.4 L103.9,309.7 L105.6,309.9 L107.2,310.2 L108.9,310.4 L110.5,310.6 L112.2,310.8 L113.9,311 L115.5,311.2 L117.2,311.4 L118.8,311.6 L120.5,311.8 L122.2,312 L123.8,312.1 L125.5,312.3 L127.1,312.4 L128.8,312.6 L130.5,312.7 L132.1,312.9 L133.8,313 L135.4,313.1 L137.1,313.3 L138.8,313.4 L140.4,313.5 L142.1,313.6 L143.7,313.7 L145.4,313.9 L147.1,314 L148.7,314.1 L150.4,314.2 L152,314.3 L153.7,314.4 L155.3,314.5 L157,314.6 L158.7,314.7 L160.3,314.8 L162,314.9 L163.6,315 L165.3,315.1 L167,315.1 L168.6,315.2 L170.3,315.3 L171.9,315.4 L173.6,315.5 L175.3,315.5 L176.9,315.6 L178.6,315.7 L180.2,315.8 L181.9,315.8 L183.6,315.9 L185.2,316 L186.9,316.1 L188.5,316.1 L190.2,316.2 L191.9,316.3 L193.5,316.3 L195.2,316.4 L196.8,316.5 L198.5,316.5 L200.2,316.6 L201.8,316.6 L203.5,316.7 L205.1,316.8 L206.8,316.8 L208.5,316.9 L210.1,316.9 L211.8,317 L213.4,317 L215.1,317.1 L216.7,317.2 L218.4,317.2 L220.1,317.3 L221.7,317.3 L223.4,317.4 L225,317.4 L226.7,317.5 L228.4,317.5 L230,317.6 L231.7,317.6 L233.3,317.7 L235,317.7 L236.7,317.8 L238.3,317.8 L240,317.8 L241.6,317.9 L243.3,317.9 L245,318 L246.6,318 L248.3,318.1 L249.9,318.1 L251.6,318.2 L253.3,318.2 L254.9,318.2 L256.6,318.3 L258.2,318.3 L259.9,318.4 L261.6,318.4 L263.2,318.4 L264.9,318.5 L266.5,318.5 L268.2,318.6 L269.8,318.6 L271.5,318.6 L273.2,318.7 L274.8,318.7 L276.5,318.7 L278.1,318.8 L279.8,318.8 L281.5,318.8 L283.1,318.9 L284.8,318.9 L286.4,318.9 L288.1,319 L289.8,319 L291.4,319 L293.1,319.1 L294.7,319.1 L296.4,319.1 L298.1,319.2 L299.7,319.2 L301.4,319.2 L303,319.3 L304.7,319.3 L306.4,319.3 L308,319.4 L309.7,319.4 L311.3,319.4 L313,319.5 L314.7,319.5 L316.3,319.5 L318,319.5 L319.6,319.6 L321.3,319.6 L322.9,319.6 L324.6,319.7 L326.3,319.7 L327.9,319.7 L329.6,319.7 L331.2,319.8 L332.9,319.8 L334.6,319.8 L336.2,319.9 L337.9,319.9 L339.5,319.9 L341.2,319.9 L342.9,320 L344.5,320 L346.2,320 L347.8,320 L349.5,320.1 L351.2,320.1 L352.8,320.1 L354.5,320.1 L356.1,320.2 L357.8,320.2 L359.5,320.2 L361.1,320.2 L362.8,320.3 L364.4,320.3 L366.1,320.3 L367.8,320.3 L369.4,320.4 L371.1,320.4 L372.7,320.4 L374.4,320.4 L376.1,320.5 L377.7,320.5 L379.4,320.5 L381,320.5 L382.7,320.5 L384.3,320.6 L386,320.6 L387.7,320.6 L389.3,320.6 L391,320.7 L392.6,320.7 L394.3,320.7 L396,320.7 L397.6,320.7 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,291.8 L69.06,297 L70.72,300.8 L72.38,303.9 L74.04,306.3 L75.7,308.4 L77.36,310.1 L79.02,311.6 L80.68,312.9 L82.33,314 L83.99,315 L85.65,316 L87.31,316.8 L88.97,317.6 L90.63,318.3 L92.29,318.9 L93.95,319.5 L95.61,320 L97.27,320.5 L98.93,321 L100.6,321.5 L102.2,321.9 L103.9,322.3 L105.6,322.6 L107.2,323 L108.9,323.3 L110.5,323.7 L112.2,324 L113.9,324.2 L115.5,324.5 L117.2,324.8 L118.8,325 L120.5,325.3 L122.2,325.5 L123.8,325.7 L125.5,325.9 L127.1,326.1 L128.8,326.3 L130.5,326.5 L132.1,326.7 L133.8,326.9 L135.4,327 L137.1,327.2 L138.8,327.4 L140.4,327.5 L142.1,327.7 L143.7,327.8 L145.4,328 L147.1,328.1 L148.7,328.2 L150.4,328.4 L152,328.5 L153.7,328.6 L155.3,328.7 L157,328.8 L158.7,329 L160.3,329.1 L162,329.2 L163.6,329.3 L165.3,329.4 L167,329.5 L168.6,329.6 L170.3,329.7 L171.9,329.8 L173.6,329.9 L175.3,330 L176.9,330 L178.6,330.1 L180.2,330.2 L181.9,330.3 L183.6,330.4 L185.2,330.5 L186.9,330.5 L188.5,330.6 L190.2,330.7 L191.9,330.8 L193.5,330.8 L195.2,330.9 L196.8,331 L198.5,331 L200.2,331.1 L201.8,331.2 L203.5,331.2 L205.1,331.3 L206.8,331.4 L208.5,331.4 L210.1,331.5 L211.8,331.5 L213.4,331.6 L215.1,331.6 L216.7,331.7 L218.4,331.8 L220.1,331.8 L221.7,331.9 L223.4,331.9 L225,332 L226.7,332 L228.4,332.1 L230,332.1 L231.7,332.2 L233.3,332.2 L235,332.3 L236.7,332.3 L238.3,332.4 L240,332.4 L241.6,332.4 L243.3,332.5 L245,332.5 L246.6,332.6 L248.3,332.6 L249.9,332.7 L251.6,332.7 L253.3,332.7 L254.9,332.8 L256.6,332.8 L258.2,332.9 L259.9,332.9 L261.6,332.9 L263.2,333 L264.9,333 L266.5,333 L268.2,333.1 L269.8,333.1 L271.5,333.2 L273.2,333.2 L274.8,333.2 L276.5,333.3 L278.1,333.3 L279.8,333.3 L281.5,333.4 L283.1,333.4 L284.8,333.4 L286.4,333.5 L288.1,333.5 L289.8,333.5 L291.4,333.6 L293.1,333.6 L294.7,333.6 L296.4,333.6 L298.1,333.7 L299.7,333.7 L301.4,333.7 L303,333.8 L304.7,333.8 L306.4,333.8 L308,333.8 L309.7,333.9 L311.3,333.9 L313,333.9 L314.7,334 L316.3,334 L318,334 L319.6,334 L321.3,334.1 L322.9,334.1 L324.6,334.1 L326.3,334.1 L327.9,334.2 L329.6,334.2 L331.2,334.2 L332.9,334.2 L334.6,334.3 L336.2,334.3 L337.9,334.3 L339.5,334.3 L341.2,334.4 L342.9,334.4 L344.5,334.4 L346.2,334.4 L347.8,334.4 L349.5,334.5 L351.2,334.5 L352.8,334.5 L354.5,334.5 L356.1,334.6 L357.8,334.6 L359.5,334.6 L361.1,334.6 L362.8,334.6 L364.4,334.7 L366.1,334.7 L367.8,334.7 L369.4,334.7 L371.1,334.7 L372.7,334.8 L374.4,334.8 L376.1,334.8 L377.7,334.8 L379.4,334.8 L381,334.9 L382.7,334.9 L384.3,334.9 L386,334.9 L387.7,334.9 L389.3,334.9 L391,335 L392.6,335 L394.3,335 L396,335 L397.6,335 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,297.5 L69.06,304.8 L70.72,310.1 L72.38,314 L74.04,317.1 L75.7,319.6 L77.36,321.6 L79.02,323.3 L80.68,324.7 L82.33,325.9 L83.99,327 L85.65,327.9 L87.31,328.8 L88.97,329.5 L90.63,330.2 L92.29,330.8 L93.95,331.3 L95.61,331.8 L97.27,332.2 L98.93,332.6 L100.6,333 L102.2,333.4 L103.9,333.7 L105.6,334 L107.2,334.3 L108.9,334.5 L110.5,334.8 L112.2,335 L113.9,335.2 L115.5,335.4 L117.2,335.6 L118.8,335.8 L120.5,336 L122.2,336.1 L123.8,336.3 L125.5,336.4 L127.1,336.6 L128.8,336.7 L130.5,336.8 L132.1,336.9 L133.8,337.1 L135.4,337.2 L137.1,337.3 L138.8,337.4 L140.4,337.5 L142.1,337.6 L143.7,337.6 L145.4,337.7 L147.1,337.8 L148.7,337.9 L150.4,338 L152,338 L153.7,338.1 L155.3,338.2 L157,338.3 L158.7,338.3 L160.3,338.4 L162,338.4 L163.6,338.5 L165.3,338.6 L167,338.6 L168.6,338.7 L170.3,338.7 L171.9,338.8 L173.6,338.8 L175.3,338.9 L176.9,338.9 L178.6,339 L180.2,339 L181.9,339 L183.6,339.1 L185.2,339.1 L186.9,339.2 L188.5,339.2 L190.2,339.2 L191.9,339.3 L193.5,339.3 L195.2,339.3 L196.8,339.4 L198.5,339.4 L200.2,339.4 L201.8,339.5 L203.5,339.5 L205.1,339.5 L206.8,339.6 L208.5,339.6 L210.1,339.6 L211.8,339.6 L213.4,339.7 L215.1,339.7 L216.7,339.7 L218.4,339.7 L220.1,339.8 L221.7,339.8 L223.4,339.8 L225,339.8 L226.7,339.9 L228.4,339.9 L230,339.9 L231.7,339.9 L233.3,339.9 L235,340 L236.7,340 L238.3,340 L240,340 L241.6,340 L243.3,340.1 L245,340.1 L246.6,340.1 L248.3,340.1 L249.9,340.1 L251.6,340.2 L253.3,340.2 L254.9,340.2 L256.6,340.2 L258.2,340.2 L259.9,340.2 L261.6,340.2 L263.2,340.3 L264.9,340.3 L266.5,340.3 L268.2,340.3 L269.8,340.3 L271.5,340.3 L273.2,340.3 L274.8,340.4 L276.5,340.4 L278.1,340.4 L279.8,340.4 L281.5,340.4 L283.1,340.4 L284.8,340.4 L286.4,340.5 L288.1,340.5 L289.8,340.5 L291.4,340.5 L293.1,340.5 L294.7,340.5 L296.4,340.5 L298.1,340.5 L299.7,340.5 L301.4,340.6 L303,340.6 L304.7,340.6 L306.4,340.6 L308,340.6 L309.7,340.6 L311.3,340.6 L313,340.6 L314.7,340.6 L316.3,340.6 L318,340.7 L319.6,340.7 L321.3,340.7 L322.9,340.7 L324.6,340.7 L326.3,340.7 L327.9,340.7 L329.6,340.7 L331.2,340.7 L332.9,340.7 L334.6,340.7 L336.2,340.8 L337.9,340.8 L339.5,340.8 L341.2,340.8 L342.9,340.8 L344.5,340.8 L346.2,340.8 L347.8,340.8 L349.5,340.8 L351.2,340.8 L352.8,340.8 L354.5,340.8 L356.1,340.8 L357.8,340.9 L359.5,340.9 L361.1,340.9 L362.8,340.9 L364.4,340.9 L366.1,340.9 L367.8,340.9 L369.4,340.9 L371.1,340.9 L372.7,340.9 L374.4,340.9 L376.1,340.9 L377.7,340.9 L379.4,340.9 L381,340.9 L382.7,340.9 L384.3,341 L386,341 L387.7,341 L389.3,341 L391,341 L392.6,341 L394.3,341 L396,341 L397.6,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="419.9" y="58" width="154.1" height="210"/><rect x="419.9" y="58" width="154.1" height="210"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="86" x2="447.9" y2="86"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="114" x2="447.9" y2="114"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="142" x2="447.9" y2="142"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="170" x2="447.9" y2="170"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="198" x2="447.9" y2="198"/></g>
-<g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="226" x2="447.9" y2="226"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="433.9" y1="254" x2="447.9" y2="254"/></g>
-</g>
-<g id="legendText">
-<text x="454.9" y="86" font-size="14" font-family="Verdana">delta = -0.5</text>
-<text x="454.9" y="114" font-size="14" font-family="Verdana">delta = -0.2</text>
-<text x="454.9" y="142" font-size="14" font-family="Verdana">delta = -0.1</text>
-<text x="454.9" y="170" font-size="14" font-family="Verdana">delta = 0.1</text>
-<text x="454.9" y="198" font-size="14" font-family="Verdana">delta = 0.2</text>
-<text x="454.9" y="226" font-size="14" font-family="Verdana">delta = 0.5</text>
-<text x="454.9" y="254" font-size="14" font-family="Verdana">delta = 1.0</text></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">tgamma_delta_ratio</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/triangular_cdf.svg b/libs/math/doc/sf_and_dist/graphs/triangular_cdf.svg
deleted file mode 100644
index 28fe1db87a..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/triangular_cdf.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="280.7" y1="58" x2="280.7" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M300.3,341 L300.3,343 M320,341 L320,343 M339.6,341 L339.6,343 M359.3,341 L359.3,343 M398.6,341 L398.6,343 M418.2,341 L418.2,343 M437.9,341 L437.9,343 M457.5,341 L457.5,343 M496.8,341 L496.8,343 M516.5,341 L516.5,343 M536.1,341 L536.1,343 M555.8,341 L555.8,343 M261,341 L261,343 M241.4,341 L241.4,343 M221.7,341 L221.7,343 M202.1,341 L202.1,343 M162.8,341 L162.8,343 M143.1,341 L143.1,343 M123.5,341 L123.5,343 M103.8,341 L103.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M280.7,341 L280.7,346 M378.9,341 L378.9,346 M477.2,341 L477.2,346 M575.4,341 L575.4,346 M280.7,341 L280.7,346 M182.4,341 L182.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="378.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="477.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="575.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="182.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,340.9 L187.4,340.7 L189.8,340.3 L192.3,339.7 L194.7,339 L197.2,338.1 L199.6,337.1 L202.1,335.9 L204.6,334.5 L207,333 L209.5,331.3 L211.9,329.4 L214.4,327.4 L216.8,325.2 L219.3,322.9 L221.7,320.4 L224.2,317.8 L226.7,315 L229.1,312 L231.6,308.8 L234,305.5 L236.5,302.1 L238.9,298.5 L241.4,294.7 L243.9,290.8 L246.3,286.7 L248.8,282.4 L251.2,278 L253.7,273.4 L256.1,268.6 L258.6,263.7 L261,258.7 L263.5,253.4 L266,248.1 L268.4,242.5 L270.9,236.8 L273.3,230.9 L275.8,224.9 L278.2,218.7 L280.7,212.4 L283.2,206 L285.6,199.8 L288.1,193.8 L290.5,187.9 L293,182.2 L295.4,176.7 L297.9,171.3 L300.3,166.1 L302.8,161 L305.3,156.1 L307.7,151.3 L310.2,146.8 L312.6,142.3 L315.1,138.1 L317.5,134 L320,130 L322.5,126.3 L324.9,122.6 L327.4,119.2 L329.8,115.9 L332.3,112.8 L334.7,109.8 L337.2,107 L339.6,104.3 L342.1,101.8 L344.6,99.49 L347,97.31 L349.5,95.3 L351.9,93.46 L354.4,91.77 L356.8,90.24 L359.3,88.87 L361.8,87.67 L364.2,86.62 L366.7,85.74 L369.1,85.01 L371.6,84.45 L374,84.05 L376.5,83.81 L378.9,83.73 L381.4,83.73 L383.9,83.73 L386.3,83.73 L388.8,83.73 L391.2,83.73 L393.7,83.73 L396.1,83.73 L398.6,83.73 L401,83.73 L403.5,83.73 L406,83.73 L408.4,83.73 L410.9,83.73 L413.3,83.73 L415.8,83.73 L418.2,83.73 L420.7,83.73 L423.2,83.73 L425.6,83.73 L428.1,83.73 L430.5,83.73 L433,83.73 L435.4,83.73 L437.9,83.73 L440.3,83.73 L442.8,83.73 L445.3,83.73 L447.7,83.73 L450.2,83.73 L452.6,83.73 L455.1,83.73 L457.5,83.73 L460,83.73 L462.5,83.73 L464.9,83.73 L467.4,83.73 L469.8,83.73 L472.3,83.73 L474.7,83.73 L477.2,83.73 L479.6,83.73 L482.1,83.73 L484.6,83.73 L487,83.73 L489.5,83.73 L491.9,83.73 L494.4,83.73 L496.8,83.73 L499.3,83.73 L501.8,83.73 L504.2,83.73 L506.7,83.73 L509.1,83.73 L511.6,83.73 L514,83.73 L516.5,83.73 L518.9,83.73 L521.4,83.73 L523.9,83.73 L526.3,83.73 L528.8,83.73 L531.2,83.73 L533.7,83.73 L536.1,83.73 L538.6,83.73 L541.1,83.73 L543.5,83.73 L546,83.73 L548.4,83.73 L550.9,83.73 L553.3,83.73 L555.8,83.73 L558.2,83.73 L560.7,83.73 L563.2,83.73 L565.6,83.73 L568.1,83.73 L570.5,83.73 L573,83.73 L575.4,83.73 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,340.8 L285.6,340.4 L288.1,339.6 L290.5,338.4 L293,337 L295.4,335.2 L297.9,333.1 L300.3,330.7 L302.8,328 L305.3,324.9 L307.7,321.5 L310.2,317.8 L312.6,313.8 L315.1,309.5 L317.5,304.8 L320,299.8 L322.5,294.5 L324.9,288.9 L327.4,283 L329.8,276.7 L332.3,270.1 L334.7,263.2 L337.2,255.9 L339.6,248.4 L342.1,240.5 L344.6,232.3 L347,223.8 L349.5,214.9 L351.9,205.8 L354.4,196.3 L356.8,186.5 L359.3,176.3 L361.8,165.9 L364.2,155.1 L366.7,144 L369.1,132.6 L371.6,120.9 L374,108.8 L376.5,96.43 L378.9,83.73 L381.4,83.73 L383.9,83.73 L386.3,83.73 L388.8,83.73 L391.2,83.73 L393.7,83.73 L396.1,83.73 L398.6,83.73 L401,83.73 L403.5,83.73 L406,83.73 L408.4,83.73 L410.9,83.73 L413.3,83.73 L415.8,83.73 L418.2,83.73 L420.7,83.73 L423.2,83.73 L425.6,83.73 L428.1,83.73 L430.5,83.73 L433,83.73 L435.4,83.73 L437.9,83.73 L440.3,83.73 L442.8,83.73 L445.3,83.73 L447.7,83.73 L450.2,83.73 L452.6,83.73 L455.1,83.73 L457.5,83.73 L460,83.73 L462.5,83.73 L464.9,83.73 L467.4,83.73 L469.8,83.73 L472.3,83.73 L474.7,83.73 L477.2,83.73 L479.6,83.73 L482.1,83.73 L484.6,83.73 L487,83.73 L489.5,83.73 L491.9,83.73 L494.4,83.73 L496.8,83.73 L499.3,83.73 L501.8,83.73 L504.2,83.73 L506.7,83.73 L509.1,83.73 L511.6,83.73 L514,83.73 L516.5,83.73 L518.9,83.73 L521.4,83.73 L523.9,83.73 L526.3,83.73 L528.8,83.73 L531.2,83.73 L533.7,83.73 L536.1,83.73 L538.6,83.73 L541.1,83.73 L543.5,83.73 L546,83.73 L548.4,83.73 L550.9,83.73 L553.3,83.73 L555.8,83.73 L558.2,83.73 L560.7,83.73 L563.2,83.73 L565.6,83.73 L568.1,83.73 L570.5,83.73 L573,83.73 L575.4,83.73 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,340.9 L285.6,340.8 L288.1,340.5 L290.5,340.1 L293,339.7 L295.4,339.1 L297.9,338.4 L300.3,337.6 L302.8,336.7 L305.3,335.6 L307.7,334.5 L310.2,333.3 L312.6,331.9 L315.1,330.5 L317.5,328.9 L320,327.3 L322.5,325.5 L324.9,323.6 L327.4,321.7 L329.8,319.6 L332.3,317.4 L334.7,315.1 L337.2,312.6 L339.6,310.1 L342.1,307.5 L344.6,304.8 L347,301.9 L349.5,299 L351.9,295.9 L354.4,292.8 L356.8,289.5 L359.3,286.1 L361.8,282.6 L364.2,279 L366.7,275.3 L369.1,271.5 L371.6,267.6 L374,263.6 L376.5,259.5 L378.9,255.2 L381.4,251 L383.9,246.8 L386.3,242.6 L388.8,238.5 L391.2,234.5 L393.7,230.5 L396.1,226.5 L398.6,222.7 L401,218.8 L403.5,215 L406,211.3 L408.4,207.6 L410.9,204 L413.3,200.5 L415.8,197 L418.2,193.5 L420.7,190.1 L423.2,186.7 L425.6,183.4 L428.1,180.2 L430.5,177 L433,173.9 L435.4,170.8 L437.9,167.8 L440.3,164.8 L442.8,161.9 L445.3,159 L447.7,156.2 L450.2,153.4 L452.6,150.7 L455.1,148.1 L457.5,145.5 L460,142.9 L462.5,140.4 L464.9,138 L467.4,135.6 L469.8,133.3 L472.3,131 L474.7,128.8 L477.2,126.6 L479.6,124.5 L482.1,122.4 L484.6,120.4 L487,118.5 L489.5,116.6 L491.9,114.7 L494.4,112.9 L496.8,111.2 L499.3,109.5 L501.8,107.8 L504.2,106.3 L506.7,104.7 L509.1,103.3 L511.6,101.8 L514,100.5 L516.5,99.16 L518.9,97.9 L521.4,96.7 L523.9,95.55 L526.3,94.45 L528.8,93.4 L531.2,92.41 L533.7,91.47 L536.1,90.59 L538.6,89.76 L541.1,88.98 L543.5,88.26 L546,87.59 L548.4,86.97 L550.9,86.41 L553.3,85.9 L555.8,85.44 L558.2,85.04 L560.7,84.69 L563.2,84.4 L565.6,84.16 L568.1,83.97 L570.5,83.83 L573,83.75 L575.4,83.73 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,340.7 L285.6,339.7 L288.1,338.1 L290.5,335.9 L293,333 L295.4,329.4 L297.9,325.2 L300.3,320.4 L302.8,315 L305.3,308.8 L307.7,302.1 L310.2,294.7 L312.6,286.7 L315.1,278 L317.5,268.6 L320,258.7 L322.5,248.1 L324.9,236.8 L327.4,224.9 L329.8,212.4 L332.3,199.8 L334.7,187.9 L337.2,176.7 L339.6,166.1 L342.1,156.1 L344.6,146.8 L347,138.1 L349.5,130 L351.9,122.6 L354.4,115.9 L356.8,109.8 L359.3,104.3 L361.8,99.49 L364.2,95.3 L366.7,91.77 L369.1,88.87 L371.6,86.62 L374,85.01 L376.5,84.05 L378.9,83.73 L381.4,83.73 L383.9,83.73 L386.3,83.73 L388.8,83.73 L391.2,83.73 L393.7,83.73 L396.1,83.73 L398.6,83.73 L401,83.73 L403.5,83.73 L406,83.73 L408.4,83.73 L410.9,83.73 L413.3,83.73 L415.8,83.73 L418.2,83.73 L420.7,83.73 L423.2,83.73 L425.6,83.73 L428.1,83.73 L430.5,83.73 L433,83.73 L435.4,83.73 L437.9,83.73 L440.3,83.73 L442.8,83.73 L445.3,83.73 L447.7,83.73 L450.2,83.73 L452.6,83.73 L455.1,83.73 L457.5,83.73 L460,83.73 L462.5,83.73 L464.9,83.73 L467.4,83.73 L469.8,83.73 L472.3,83.73 L474.7,83.73 L477.2,83.73 L479.6,83.73 L482.1,83.73 L484.6,83.73 L487,83.73 L489.5,83.73 L491.9,83.73 L494.4,83.73 L496.8,83.73 L499.3,83.73 L501.8,83.73 L504.2,83.73 L506.7,83.73 L509.1,83.73 L511.6,83.73 L514,83.73 L516.5,83.73 L518.9,83.73 L521.4,83.73 L523.9,83.73 L526.3,83.73 L528.8,83.73 L531.2,83.73 L533.7,83.73 L536.1,83.73 L538.6,83.73 L541.1,83.73 L543.5,83.73 L546,83.73 L548.4,83.73 L550.9,83.73 L553.3,83.73 L555.8,83.73 L558.2,83.73 L560.7,83.73 L563.2,83.73 L565.6,83.73 L568.1,83.73 L570.5,83.73 L573,83.73 L575.4,83.73 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,340.9 L91.57,340.9 L94.02,340.7 L96.48,340.6 L98.94,340.4 L101.4,340.2 L103.8,340 L106.3,339.7 L108.8,339.4 L111.2,339.1 L113.7,338.7 L116.1,338.3 L118.6,337.8 L121,337.4 L123.5,336.9 L126,336.4 L128.4,335.8 L130.9,335.2 L133.3,334.6 L135.8,333.9 L138.2,333.2 L140.7,332.5 L143.1,331.7 L145.6,331 L148.1,330.1 L150.5,329.3 L153,328.4 L155.4,327.5 L157.9,326.5 L160.3,325.5 L162.8,324.5 L165.3,323.5 L167.7,322.4 L170.2,321.3 L172.6,320.2 L175.1,319 L177.5,317.8 L180,316.5 L182.4,315.3 L184.9,314 L187.4,312.6 L189.8,311.3 L192.3,309.9 L194.7,308.4 L197.2,307 L199.6,305.5 L202.1,304 L204.6,302.4 L207,300.8 L209.5,299.2 L211.9,297.5 L214.4,295.8 L216.8,294.1 L219.3,292.4 L221.7,290.6 L224.2,288.8 L226.7,286.9 L229.1,285 L231.6,283.1 L234,281.2 L236.5,279.2 L238.9,277.2 L241.4,275.1 L243.9,273.1 L246.3,271 L248.8,268.8 L251.2,266.6 L253.7,264.4 L256.1,262.2 L258.6,259.9 L261,257.6 L263.5,255.3 L266,252.9 L268.4,250.6 L270.9,248.1 L273.3,245.7 L275.8,243.2 L278.2,240.6 L280.7,238.1 L283.2,235.5 L285.6,233 L288.1,230.5 L290.5,228 L293,225.5 L295.4,223 L297.9,220.6 L300.3,218.2 L302.8,215.8 L305.3,213.4 L307.7,211.1 L310.2,208.8 L312.6,206.5 L315.1,204.2 L317.5,201.9 L320,199.7 L322.5,197.5 L324.9,195.3 L327.4,193.1 L329.8,190.9 L332.3,188.8 L334.7,186.7 L337.2,184.6 L339.6,182.5 L342.1,180.5 L344.6,178.4 L347,176.4 L349.5,174.5 L351.9,172.5 L354.4,170.6 L356.8,168.6 L359.3,166.7 L361.8,164.9 L364.2,163 L366.7,161.2 L369.1,159.4 L371.6,157.6 L374,155.8 L376.5,154.1 L378.9,152.3 L381.4,150.6 L383.9,148.9 L386.3,147.3 L388.8,145.6 L391.2,144 L393.7,142.4 L396.1,140.9 L398.6,139.3 L401,137.8 L403.5,136.3 L406,134.8 L408.4,133.3 L410.9,131.8 L413.3,130.4 L415.8,129 L418.2,127.6 L420.7,126.3 L423.2,124.9 L425.6,123.6 L428.1,122.3 L430.5,121 L433,119.8 L435.4,118.6 L437.9,117.3 L440.3,116.2 L442.8,115 L445.3,113.8 L447.7,112.7 L450.2,111.6 L452.6,110.5 L455.1,109.5 L457.5,108.4 L460,107.4 L462.5,106.4 L464.9,105.4 L467.4,104.5 L469.8,103.5 L472.3,102.6 L474.7,101.7 L477.2,100.9 L479.6,100 L482.1,99.21 L484.6,98.4 L487,97.62 L489.5,96.86 L491.9,96.12 L494.4,95.4 L496.8,94.7 L499.3,94.03 L501.8,93.38 L504.2,92.74 L506.7,92.13 L509.1,91.54 L511.6,90.97 L514,90.43 L516.5,89.9 L518.9,89.4 L521.4,88.92 L523.9,88.45 L526.3,88.02 L528.8,87.6 L531.2,87.2 L533.7,86.83 L536.1,86.47 L538.6,86.14 L541.1,85.83 L543.5,85.54 L546,85.27 L548.4,85.02 L550.9,84.8 L553.3,84.6 L555.8,84.41 L558.2,84.25 L560.7,84.11 L563.2,84 L565.6,83.9 L568.1,83.82 L570.5,83.77 L573,83.74 L575.4,83.73 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="165"/><rect x="589.4" y="58" width="134.6" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="178" x2="619.4" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="208" x2="619.4" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="626.9" y="88" font-size="15" font-family="Verdana">{-1,0,1}</text>
-<text x="626.9" y="118" font-size="15" font-family="Verdana">{0,1,1}</text>
-<text x="626.9" y="148" font-size="15" font-family="Verdana">{0,1,3}</text>
-<text x="626.9" y="178" font-size="15" font-family="Verdana">{0,0.5,1}</text>
-<text x="626.9" y="208" font-size="15" font-family="Verdana">{-2,0,3}</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Triangular Distribution CDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/triangular_pdf.svg b/libs/math/doc/sf_and_dist/graphs/triangular_pdf.svg
deleted file mode 100644
index 8336dba7c4..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/triangular_pdf.svg
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="280.7" y1="58" x2="280.7" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,328.1 L84.2,328.1 M82.2,315.3 L84.2,315.3 M82.2,302.4 L84.2,302.4 M82.2,289.5 L84.2,289.5 M82.2,263.8 L84.2,263.8 M82.2,251 L84.2,251 M82.2,238.1 L84.2,238.1 M82.2,225.2 L84.2,225.2 M82.2,199.5 L84.2,199.5 M82.2,186.6 L84.2,186.6 M82.2,173.8 L84.2,173.8 M82.2,160.9 L84.2,160.9 M82.2,135.2 L84.2,135.2 M82.2,122.3 L84.2,122.3 M82.2,109.5 L84.2,109.5 M82.2,96.59 L84.2,96.59 M82.2,70.86 L84.2,70.86 M82.2,58 L84.2,58 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M300.3,341 L300.3,343 M320,341 L320,343 M339.6,341 L339.6,343 M359.3,341 L359.3,343 M398.6,341 L398.6,343 M418.2,341 L418.2,343 M437.9,341 L437.9,343 M457.5,341 L457.5,343 M496.8,341 L496.8,343 M516.5,341 L516.5,343 M536.1,341 L536.1,343 M555.8,341 L555.8,343 M261,341 L261,343 M241.4,341 L241.4,343 M221.7,341 L221.7,343 M202.1,341 L202.1,343 M162.8,341 L162.8,343 M143.1,341 L143.1,343 M123.5,341 L123.5,343 M103.8,341 L103.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,276.7 L84.2,276.7 M79.2,212.4 L84.2,212.4 M79.2,148 L84.2,148 M79.2,83.73 L84.2,83.73 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M280.7,341 L280.7,346 M378.9,341 L378.9,346 M477.2,341 L477.2,346 M575.4,341 L575.4,346 M280.7,341 L280.7,346 M182.4,341 L182.4,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="378.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="477.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="575.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="280.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="182.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="279.1" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="150.4" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,337.8 L187.4,334.6 L189.8,331.4 L192.3,328.1 L194.7,324.9 L197.2,321.7 L199.6,318.5 L202.1,315.3 L204.6,312.1 L207,308.8 L209.5,305.6 L211.9,302.4 L214.4,299.2 L216.8,296 L219.3,292.8 L221.7,289.5 L224.2,286.3 L226.7,283.1 L229.1,279.9 L231.6,276.7 L234,273.5 L236.5,270.3 L238.9,267 L241.4,263.8 L243.9,260.6 L246.3,257.4 L248.8,254.2 L251.2,251 L253.7,247.7 L256.1,244.5 L258.6,241.3 L261,238.1 L263.5,234.9 L266,231.7 L268.4,228.4 L270.9,225.2 L273.3,222 L275.8,218.8 L278.2,215.6 L280.7,212.4 L283.2,215.6 L285.6,218.8 L288.1,222 L290.5,225.2 L293,228.4 L295.4,231.7 L297.9,234.9 L300.3,238.1 L302.8,241.3 L305.3,244.5 L307.7,247.7 L310.2,251 L312.6,254.2 L315.1,257.4 L317.5,260.6 L320,263.8 L322.5,267 L324.9,270.2 L327.4,273.5 L329.8,276.7 L332.3,279.9 L334.7,283.1 L337.2,286.3 L339.6,289.5 L342.1,292.8 L344.6,296 L347,299.2 L349.5,302.4 L351.9,305.6 L354.4,308.8 L356.8,312.1 L359.3,315.3 L361.8,318.5 L364.2,321.7 L366.7,324.9 L369.1,328.1 L371.6,331.4 L374,334.6 L376.5,337.8 L378.9,341 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,334.6 L285.6,328.1 L288.1,321.7 L290.5,315.3 L293,308.8 L295.4,302.4 L297.9,296 L300.3,289.5 L302.8,283.1 L305.3,276.7 L307.7,270.3 L310.2,263.8 L312.6,257.4 L315.1,251 L317.5,244.5 L320,238.1 L322.5,231.7 L324.9,225.2 L327.4,218.8 L329.8,212.4 L332.3,205.9 L334.7,199.5 L337.2,193.1 L339.6,186.6 L342.1,180.2 L344.6,173.8 L347,167.3 L349.5,160.9 L351.9,154.5 L354.4,148 L356.8,141.6 L359.3,135.2 L361.8,128.8 L364.2,122.3 L366.7,115.9 L369.1,109.5 L371.6,103 L374,96.59 L376.5,90.16 L378.9,83.73 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,338.9 L285.6,336.7 L288.1,334.6 L290.5,332.4 L293,330.3 L295.4,328.1 L297.9,326 L300.3,323.8 L302.8,321.7 L305.3,319.6 L307.7,317.4 L310.2,315.3 L312.6,313.1 L315.1,311 L317.5,308.8 L320,306.7 L322.5,304.6 L324.9,302.4 L327.4,300.3 L329.8,298.1 L332.3,296 L334.7,293.8 L337.2,291.7 L339.6,289.5 L342.1,287.4 L344.6,285.3 L347,283.1 L349.5,281 L351.9,278.8 L354.4,276.7 L356.8,274.5 L359.3,272.4 L361.8,270.3 L364.2,268.1 L366.7,266 L369.1,263.8 L371.6,261.7 L374,259.5 L376.5,257.4 L378.9,255.2 L381.4,256.3 L383.9,257.4 L386.3,258.5 L388.8,259.5 L391.2,260.6 L393.7,261.7 L396.1,262.7 L398.6,263.8 L401,264.9 L403.5,266 L406,267 L408.4,268.1 L410.9,269.2 L413.3,270.2 L415.8,271.3 L418.2,272.4 L420.7,273.5 L423.2,274.5 L425.6,275.6 L428.1,276.7 L430.5,277.8 L433,278.8 L435.4,279.9 L437.9,281 L440.3,282 L442.8,283.1 L445.3,284.2 L447.7,285.3 L450.2,286.3 L452.6,287.4 L455.1,288.5 L457.5,289.5 L460,290.6 L462.5,291.7 L464.9,292.8 L467.4,293.8 L469.8,294.9 L472.3,296 L474.7,297 L477.2,298.1 L479.6,299.2 L482.1,300.3 L484.6,301.3 L487,302.4 L489.5,303.5 L491.9,304.6 L494.4,305.6 L496.8,306.7 L499.3,307.8 L501.8,308.8 L504.2,309.9 L506.7,311 L509.1,312.1 L511.6,313.1 L514,314.2 L516.5,315.3 L518.9,316.3 L521.4,317.4 L523.9,318.5 L526.3,319.6 L528.8,320.6 L531.2,321.7 L533.7,322.8 L536.1,323.8 L538.6,324.9 L541.1,326 L543.5,327.1 L546,328.1 L548.4,329.2 L550.9,330.3 L553.3,331.4 L555.8,332.4 L558.2,333.5 L560.7,334.6 L563.2,335.6 L565.6,336.7 L568.1,337.8 L570.5,338.9 L573,339.9 L575.4,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,341 L94.02,341 L96.48,341 L98.94,341 L101.4,341 L103.8,341 L106.3,341 L108.8,341 L111.2,341 L113.7,341 L116.1,341 L118.6,341 L121,341 L123.5,341 L126,341 L128.4,341 L130.9,341 L133.3,341 L135.8,341 L138.2,341 L140.7,341 L143.1,341 L145.6,341 L148.1,341 L150.5,341 L153,341 L155.4,341 L157.9,341 L160.3,341 L162.8,341 L165.3,341 L167.7,341 L170.2,341 L172.6,341 L175.1,341 L177.5,341 L180,341 L182.4,341 L184.9,341 L187.4,341 L189.8,341 L192.3,341 L194.7,341 L197.2,341 L199.6,341 L202.1,341 L204.6,341 L207,341 L209.5,341 L211.9,341 L214.4,341 L216.8,341 L219.3,341 L221.7,341 L224.2,341 L226.7,341 L229.1,341 L231.6,341 L234,341 L236.5,341 L238.9,341 L241.4,341 L243.9,341 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,328.1 L285.6,315.3 L288.1,302.4 L290.5,289.5 L293,276.7 L295.4,263.8 L297.9,251 L300.3,238.1 L302.8,225.2 L305.3,212.4 L307.7,199.5 L310.2,186.6 L312.6,173.8 L315.1,160.9 L317.5,148 L320,135.2 L322.5,122.3 L324.9,109.5 L327.4,96.59 L329.8,83.73 L332.3,96.59 L334.7,109.5 L337.2,122.3 L339.6,135.2 L342.1,148 L344.6,160.9 L347,173.8 L349.5,186.6 L351.9,199.5 L354.4,212.4 L356.8,225.2 L359.3,238.1 L361.8,251 L364.2,263.8 L366.7,276.7 L369.1,289.5 L371.6,302.4 L374,315.3 L376.5,328.1 L378.9,341 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 L575.4,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(127,255,0)" stroke-width="1"><path d="M84.2,341 L86.66,340.4 L89.11,339.7 L91.57,339.1 L94.02,338.4 L96.48,337.8 L98.94,337.1 L101.4,336.5 L103.8,335.9 L106.3,335.2 L108.8,334.6 L111.2,333.9 L113.7,333.3 L116.1,332.6 L118.6,332 L121,331.4 L123.5,330.7 L126,330.1 L128.4,329.4 L130.9,328.8 L133.3,328.1 L135.8,327.5 L138.2,326.9 L140.7,326.2 L143.1,325.6 L145.6,324.9 L148.1,324.3 L150.5,323.6 L153,323 L155.4,322.3 L157.9,321.7 L160.3,321.1 L162.8,320.4 L165.3,319.8 L167.7,319.1 L170.2,318.5 L172.6,317.8 L175.1,317.2 L177.5,316.6 L180,315.9 L182.4,315.3 L184.9,314.6 L187.4,314 L189.8,313.3 L192.3,312.7 L194.7,312.1 L197.2,311.4 L199.6,310.8 L202.1,310.1 L204.6,309.5 L207,308.8 L209.5,308.2 L211.9,307.6 L214.4,306.9 L216.8,306.3 L219.3,305.6 L221.7,305 L224.2,304.3 L226.7,303.7 L229.1,303.1 L231.6,302.4 L234,301.8 L236.5,301.1 L238.9,300.5 L241.4,299.8 L243.9,299.2 L246.3,298.6 L248.8,297.9 L251.2,297.3 L253.7,296.6 L256.1,296 L258.6,295.3 L261,294.7 L263.5,294 L266,293.4 L268.4,292.8 L270.9,292.1 L273.3,291.5 L275.8,290.8 L278.2,290.2 L280.7,289.5 L283.2,290 L285.6,290.4 L288.1,290.8 L290.5,291.3 L293,291.7 L295.4,292.1 L297.9,292.5 L300.3,293 L302.8,293.4 L305.3,293.8 L307.7,294.3 L310.2,294.7 L312.6,295.1 L315.1,295.5 L317.5,296 L320,296.4 L322.5,296.8 L324.9,297.3 L327.4,297.7 L329.8,298.1 L332.3,298.5 L334.7,299 L337.2,299.4 L339.6,299.8 L342.1,300.3 L344.6,300.7 L347,301.1 L349.5,301.6 L351.9,302 L354.4,302.4 L356.8,302.8 L359.3,303.3 L361.8,303.7 L364.2,304.1 L366.7,304.6 L369.1,305 L371.6,305.4 L374,305.8 L376.5,306.3 L378.9,306.7 L381.4,307.1 L383.9,307.6 L386.3,308 L388.8,308.4 L391.2,308.8 L393.7,309.3 L396.1,309.7 L398.6,310.1 L401,310.6 L403.5,311 L406,311.4 L408.4,311.8 L410.9,312.3 L413.3,312.7 L415.8,313.1 L418.2,313.6 L420.7,314 L423.2,314.4 L425.6,314.8 L428.1,315.3 L430.5,315.7 L433,316.1 L435.4,316.6 L437.9,317 L440.3,317.4 L442.8,317.8 L445.3,318.3 L447.7,318.7 L450.2,319.1 L452.6,319.6 L455.1,320 L457.5,320.4 L460,320.8 L462.5,321.3 L464.9,321.7 L467.4,322.1 L469.8,322.6 L472.3,323 L474.7,323.4 L477.2,323.8 L479.6,324.3 L482.1,324.7 L484.6,325.1 L487,325.6 L489.5,326 L491.9,326.4 L494.4,326.8 L496.8,327.3 L499.3,327.7 L501.8,328.1 L504.2,328.6 L506.7,329 L509.1,329.4 L511.6,329.9 L514,330.3 L516.5,330.7 L518.9,331.1 L521.4,331.6 L523.9,332 L526.3,332.4 L528.8,332.9 L531.2,333.3 L533.7,333.7 L536.1,334.1 L538.6,334.6 L541.1,335 L543.5,335.4 L546,335.9 L548.4,336.3 L550.9,336.7 L553.3,337.1 L555.8,337.6 L558.2,338 L560.7,338.4 L563.2,338.9 L565.6,339.3 L568.1,339.7 L570.5,340.1 L573,340.6 L575.4,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="165"/><rect x="589.4" y="58" width="134.6" height="165"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="178" x2="619.4" y2="178"/></g>
-<g stroke="rgb(127,255,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="208" x2="619.4" y2="208"/></g>
-</g>
-<g id="legendText">
-<text x="626.9" y="88" font-size="15" font-family="Verdana">{-1,0,1}</text>
-<text x="626.9" y="118" font-size="15" font-family="Verdana">{0,1,1}</text>
-<text x="626.9" y="148" font-size="15" font-family="Verdana">{0,1,3}</text>
-<text x="626.9" y="178" font-size="15" font-family="Verdana">{0,0.5,1}</text>
-<text x="626.9" y="208" font-size="15" font-family="Verdana">{-2,0,3}</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Triangular Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/uniform_cdf.svg b/libs/math/doc/sf_and_dist/graphs/uniform_cdf.svg
deleted file mode 100644
index 5ecad5b508..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/uniform_cdf.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="290.1" y1="58" x2="290.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M310.7,341 L310.7,343 M331.3,341 L331.3,343 M351.9,341 L351.9,343 M372.5,341 L372.5,343 M413.6,341 L413.6,343 M434.2,341 L434.2,343 M454.8,341 L454.8,343 M475.4,341 L475.4,343 M516.6,341 L516.6,343 M537.2,341 L537.2,343 M557.8,341 L557.8,343 M578.4,341 L578.4,343 M269.5,341 L269.5,343 M248.9,341 L248.9,343 M228.3,341 L228.3,343 M207.7,341 L207.7,343 M166.6,341 L166.6,343 M146,341 L146,343 M125.4,341 L125.4,343 M104.8,341 L104.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M290.1,341 L290.1,346 M393.1,341 L393.1,346 M496,341 L496,346 M599,341 L599,346 M290.1,341 L290.1,346 M187.2,341 L187.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="393.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="496" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="599" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="187.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,334.6 L295.3,328.1 L297.8,321.7 L300.4,315.3 L303,308.8 L305.5,302.4 L308.1,296 L310.7,289.5 L313.3,283.1 L315.8,276.7 L318.4,270.3 L321,263.8 L323.6,257.4 L326.1,251 L328.7,244.5 L331.3,238.1 L333.9,231.7 L336.4,225.2 L339,218.8 L341.6,212.4 L344.2,205.9 L346.7,199.5 L349.3,193.1 L351.9,186.6 L354.4,180.2 L357,173.8 L359.6,167.3 L362.2,160.9 L364.7,154.5 L367.3,148 L369.9,141.6 L372.5,135.2 L375,128.8 L377.6,122.3 L380.2,115.9 L382.8,109.5 L385.3,103 L387.9,96.59 L390.5,90.16 L393.1,83.73 L395.6,83.73 L398.2,83.73 L400.8,83.73 L403.4,83.73 L405.9,83.73 L408.5,83.73 L411.1,83.73 L413.6,83.73 L416.2,83.73 L418.8,83.73 L421.4,83.73 L423.9,83.73 L426.5,83.73 L429.1,83.73 L431.7,83.73 L434.2,83.73 L436.8,83.73 L439.4,83.73 L442,83.73 L444.5,83.73 L447.1,83.73 L449.7,83.73 L452.3,83.73 L454.8,83.73 L457.4,83.73 L460,83.73 L462.5,83.73 L465.1,83.73 L467.7,83.73 L470.3,83.73 L472.8,83.73 L475.4,83.73 L478,83.73 L480.6,83.73 L483.1,83.73 L485.7,83.73 L488.3,83.73 L490.9,83.73 L493.4,83.73 L496,83.73 L498.6,83.73 L501.2,83.73 L503.7,83.73 L506.3,83.73 L508.9,83.73 L511.5,83.73 L514,83.73 L516.6,83.73 L519.2,83.73 L521.7,83.73 L524.3,83.73 L526.9,83.73 L529.5,83.73 L532,83.73 L534.6,83.73 L537.2,83.73 L539.8,83.73 L542.3,83.73 L544.9,83.73 L547.5,83.73 L550.1,83.73 L552.6,83.73 L555.2,83.73 L557.8,83.73 L560.4,83.73 L562.9,83.73 L565.5,83.73 L568.1,83.73 L570.6,83.73 L573.2,83.73 L575.8,83.73 L578.4,83.73 L580.9,83.73 L583.5,83.73 L586.1,83.73 L588.7,83.73 L591.2,83.73 L593.8,83.73 L596.4,83.73 L599,83.73 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,338.9 L295.3,336.7 L297.8,334.6 L300.4,332.4 L303,330.3 L305.5,328.1 L308.1,326 L310.7,323.8 L313.3,321.7 L315.8,319.6 L318.4,317.4 L321,315.3 L323.6,313.1 L326.1,311 L328.7,308.8 L331.3,306.7 L333.9,304.6 L336.4,302.4 L339,300.3 L341.6,298.1 L344.2,296 L346.7,293.8 L349.3,291.7 L351.9,289.5 L354.4,287.4 L357,285.3 L359.6,283.1 L362.2,281 L364.7,278.8 L367.3,276.7 L369.9,274.5 L372.5,272.4 L375,270.3 L377.6,268.1 L380.2,266 L382.8,263.8 L385.3,261.7 L387.9,259.5 L390.5,257.4 L393.1,255.2 L395.6,253.1 L398.2,251 L400.8,248.8 L403.4,246.7 L405.9,244.5 L408.5,242.4 L411.1,240.2 L413.6,238.1 L416.2,235.9 L418.8,233.8 L421.4,231.7 L423.9,229.5 L426.5,227.4 L429.1,225.2 L431.7,223.1 L434.2,220.9 L436.8,218.8 L439.4,216.7 L442,214.5 L444.5,212.4 L447.1,210.2 L449.7,208.1 L452.3,205.9 L454.8,203.8 L457.4,201.6 L460,199.5 L462.5,197.4 L465.1,195.2 L467.7,193.1 L470.3,190.9 L472.8,188.8 L475.4,186.6 L478,184.5 L480.6,182.3 L483.1,180.2 L485.7,178.1 L488.3,175.9 L490.9,173.8 L493.4,171.6 L496,169.5 L498.6,167.3 L501.2,165.2 L503.7,163.1 L506.3,160.9 L508.9,158.8 L511.5,156.6 L514,154.5 L516.6,152.3 L519.2,150.2 L521.7,148 L524.3,145.9 L526.9,143.8 L529.5,141.6 L532,139.5 L534.6,137.3 L537.2,135.2 L539.8,133 L542.3,130.9 L544.9,128.8 L547.5,126.6 L550.1,124.5 L552.6,122.3 L555.2,120.2 L557.8,118 L560.4,115.9 L562.9,113.7 L565.5,111.6 L568.1,109.5 L570.6,107.3 L573.2,105.2 L575.8,103 L578.4,100.9 L580.9,98.73 L583.5,96.59 L586.1,94.45 L588.7,92.3 L591.2,90.16 L593.8,88.02 L596.4,85.87 L599,83.73 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.77,339.7 L89.35,338.4 L91.92,337.1 L94.5,335.9 L97.07,334.6 L99.64,333.3 L102.2,332 L104.8,330.7 L107.4,329.4 L109.9,328.1 L112.5,326.9 L115.1,325.6 L117.7,324.3 L120.2,323 L122.8,321.7 L125.4,320.4 L128,319.1 L130.5,317.8 L133.1,316.6 L135.7,315.3 L138.2,314 L140.8,312.7 L143.4,311.4 L146,310.1 L148.5,308.8 L151.1,307.6 L153.7,306.3 L156.3,305 L158.8,303.7 L161.4,302.4 L164,301.1 L166.6,299.8 L169.1,298.6 L171.7,297.3 L174.3,296 L176.9,294.7 L179.4,293.4 L182,292.1 L184.6,290.8 L187.2,289.5 L189.7,288.3 L192.3,287 L194.9,285.7 L197.4,284.4 L200,283.1 L202.6,281.8 L205.2,280.5 L207.7,279.3 L210.3,278 L212.9,276.7 L215.5,275.4 L218,274.1 L220.6,272.8 L223.2,271.5 L225.8,270.3 L228.3,269 L230.9,267.7 L233.5,266.4 L236.1,265.1 L238.6,263.8 L241.2,262.5 L243.8,261.2 L246.3,260 L248.9,258.7 L251.5,257.4 L254.1,256.1 L256.6,254.8 L259.2,253.5 L261.8,252.2 L264.4,251 L266.9,249.7 L269.5,248.4 L272.1,247.1 L274.7,245.8 L277.2,244.5 L279.8,243.2 L282.4,242 L285,240.7 L287.5,239.4 L290.1,238.1 L292.7,236.8 L295.3,235.5 L297.8,234.2 L300.4,232.9 L303,231.7 L305.5,230.4 L308.1,229.1 L310.7,227.8 L313.3,226.5 L315.8,225.2 L318.4,223.9 L321,222.7 L323.6,221.4 L326.1,220.1 L328.7,218.8 L331.3,217.5 L333.9,216.2 L336.4,214.9 L339,213.7 L341.6,212.4 L344.2,211.1 L346.7,209.8 L349.3,208.5 L351.9,207.2 L354.4,205.9 L357,204.6 L359.6,203.4 L362.2,202.1 L364.7,200.8 L367.3,199.5 L369.9,198.2 L372.5,196.9 L375,195.6 L377.6,194.4 L380.2,193.1 L382.8,191.8 L385.3,190.5 L387.9,189.2 L390.5,187.9 L393.1,186.6 L395.6,185.4 L398.2,184.1 L400.8,182.8 L403.4,181.5 L405.9,180.2 L408.5,178.9 L411.1,177.6 L413.6,176.3 L416.2,175.1 L418.8,173.8 L421.4,172.5 L423.9,171.2 L426.5,169.9 L429.1,168.6 L431.7,167.3 L434.2,166.1 L436.8,164.8 L439.4,163.5 L442,162.2 L444.5,160.9 L447.1,159.6 L449.7,158.3 L452.3,157.1 L454.8,155.8 L457.4,154.5 L460,153.2 L462.5,151.9 L465.1,150.6 L467.7,149.3 L470.3,148 L472.8,146.8 L475.4,145.5 L478,144.2 L480.6,142.9 L483.1,141.6 L485.7,140.3 L488.3,139 L490.9,137.8 L493.4,136.5 L496,135.2 L498.6,133.9 L501.2,132.6 L503.7,131.3 L506.3,130 L508.9,128.8 L511.5,127.5 L514,126.2 L516.6,124.9 L519.2,123.6 L521.7,122.3 L524.3,121 L526.9,119.7 L529.5,118.5 L532,117.2 L534.6,115.9 L537.2,114.6 L539.8,113.3 L542.3,112 L544.9,110.7 L547.5,109.5 L550.1,108.2 L552.6,106.9 L555.2,105.6 L557.8,104.3 L560.4,103 L562.9,101.7 L565.5,100.5 L568.1,99.16 L570.6,97.88 L573.2,96.59 L575.8,95.3 L578.4,94.02 L580.9,92.73 L583.5,91.45 L586.1,90.16 L588.7,88.87 L591.2,87.59 L593.8,86.3 L596.4,85.01 L599,83.73 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,337.8 L192.3,334.6 L194.9,331.4 L197.4,328.1 L200,324.9 L202.6,321.7 L205.2,318.5 L207.7,315.3 L210.3,312.1 L212.9,308.8 L215.5,305.6 L218,302.4 L220.6,299.2 L223.2,296 L225.8,292.8 L228.3,289.5 L230.9,286.3 L233.5,283.1 L236.1,279.9 L238.6,276.7 L241.2,273.5 L243.8,270.3 L246.3,267 L248.9,263.8 L251.5,260.6 L254.1,257.4 L256.6,254.2 L259.2,251 L261.8,247.7 L264.4,244.5 L266.9,241.3 L269.5,238.1 L272.1,234.9 L274.7,231.7 L277.2,228.4 L279.8,225.2 L282.4,222 L285,218.8 L287.5,215.6 L290.1,212.4 L292.7,209.1 L295.3,205.9 L297.8,202.7 L300.4,199.5 L303,196.3 L305.5,193.1 L308.1,189.9 L310.7,186.6 L313.3,183.4 L315.8,180.2 L318.4,177 L321,173.8 L323.6,170.6 L326.1,167.3 L328.7,164.1 L331.3,160.9 L333.9,157.7 L336.4,154.5 L339,151.3 L341.6,148 L344.2,144.8 L346.7,141.6 L349.3,138.4 L351.9,135.2 L354.4,132 L357,128.8 L359.6,125.5 L362.2,122.3 L364.7,119.1 L367.3,115.9 L369.9,112.7 L372.5,109.5 L375,106.2 L377.6,103 L380.2,99.81 L382.8,96.59 L385.3,93.38 L387.9,90.16 L390.5,86.94 L393.1,83.73 L395.6,83.73 L398.2,83.73 L400.8,83.73 L403.4,83.73 L405.9,83.73 L408.5,83.73 L411.1,83.73 L413.6,83.73 L416.2,83.73 L418.8,83.73 L421.4,83.73 L423.9,83.73 L426.5,83.73 L429.1,83.73 L431.7,83.73 L434.2,83.73 L436.8,83.73 L439.4,83.73 L442,83.73 L444.5,83.73 L447.1,83.73 L449.7,83.73 L452.3,83.73 L454.8,83.73 L457.4,83.73 L460,83.73 L462.5,83.73 L465.1,83.73 L467.7,83.73 L470.3,83.73 L472.8,83.73 L475.4,83.73 L478,83.73 L480.6,83.73 L483.1,83.73 L485.7,83.73 L488.3,83.73 L490.9,83.73 L493.4,83.73 L496,83.73 L498.6,83.73 L501.2,83.73 L503.7,83.73 L506.3,83.73 L508.9,83.73 L511.5,83.73 L514,83.73 L516.6,83.73 L519.2,83.73 L521.7,83.73 L524.3,83.73 L526.9,83.73 L529.5,83.73 L532,83.73 L534.6,83.73 L537.2,83.73 L539.8,83.73 L542.3,83.73 L544.9,83.73 L547.5,83.73 L550.1,83.73 L552.6,83.73 L555.2,83.73 L557.8,83.73 L560.4,83.73 L562.9,83.73 L565.5,83.73 L568.1,83.73 L570.6,83.73 L573.2,83.73 L575.8,83.73 L578.4,83.73 L580.9,83.73 L583.5,83.73 L586.1,83.73 L588.7,83.73 L591.2,83.73 L593.8,83.73 L596.4,83.73 L599,83.73 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="135"/><rect x="613" y="58" width="111" height="135"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="178" x2="643" y2="178"/></g>
-</g>
-<g id="legendText">
-<text x="650.5" y="88" font-size="15" font-family="Verdana">{0,1}</text>
-<text x="650.5" y="118" font-size="15" font-family="Verdana">{0,3}</text>
-<text x="650.5" y="148" font-size="15" font-family="Verdana">{-2,3}</text>
-<text x="650.5" y="178" font-size="15" font-family="Verdana">{-1,1}</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Uniform Distribution CDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/uniform_pdf.svg b/libs/math/doc/sf_and_dist/graphs/uniform_pdf.svg
deleted file mode 100644
index ff3ab7dac7..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/uniform_pdf.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="512.8" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="514.8" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="290.1" y1="58" x2="290.1" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="599" y2="341"/><line x1="79.2" y1="341" x2="599" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,335.9 L84.2,335.9 M82.2,330.7 L84.2,330.7 M82.2,325.6 L84.2,325.6 M82.2,320.4 L84.2,320.4 M82.2,310.1 L84.2,310.1 M82.2,305 L84.2,305 M82.2,299.8 L84.2,299.8 M82.2,294.7 L84.2,294.7 M82.2,284.4 L84.2,284.4 M82.2,279.3 L84.2,279.3 M82.2,274.1 L84.2,274.1 M82.2,269 L84.2,269 M82.2,258.7 L84.2,258.7 M82.2,253.5 L84.2,253.5 M82.2,248.4 L84.2,248.4 M82.2,243.2 L84.2,243.2 M82.2,232.9 L84.2,232.9 M82.2,227.8 L84.2,227.8 M82.2,222.7 L84.2,222.7 M82.2,217.5 L84.2,217.5 M82.2,207.2 L84.2,207.2 M82.2,202.1 L84.2,202.1 M82.2,196.9 L84.2,196.9 M82.2,191.8 L84.2,191.8 M82.2,181.5 L84.2,181.5 M82.2,176.3 L84.2,176.3 M82.2,171.2 L84.2,171.2 M82.2,166.1 L84.2,166.1 M82.2,155.8 L84.2,155.8 M82.2,150.6 L84.2,150.6 M82.2,145.5 L84.2,145.5 M82.2,140.3 L84.2,140.3 M82.2,130 L84.2,130 M82.2,124.9 L84.2,124.9 M82.2,119.7 L84.2,119.7 M82.2,114.6 L84.2,114.6 M82.2,104.3 L84.2,104.3 M82.2,99.16 L84.2,99.16 M82.2,94.02 L84.2,94.02 M82.2,88.87 L84.2,88.87 M82.2,78.58 L84.2,78.58 M82.2,73.44 L84.2,73.44 M82.2,68.29 L84.2,68.29 M82.2,63.15 L84.2,63.15 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M310.7,341 L310.7,343 M331.3,341 L331.3,343 M351.9,341 L351.9,343 M372.5,341 L372.5,343 M413.6,341 L413.6,343 M434.2,341 L434.2,343 M454.8,341 L454.8,343 M475.4,341 L475.4,343 M516.6,341 L516.6,343 M537.2,341 L537.2,343 M557.8,341 L557.8,343 M578.4,341 L578.4,343 M269.5,341 L269.5,343 M248.9,341 L248.9,343 M228.3,341 L228.3,343 M207.7,341 L207.7,343 M166.6,341 L166.6,343 M146,341 L146,343 M125.4,341 L125.4,343 M104.8,341 L104.8,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,315.3 L84.2,315.3 M79.2,289.5 L84.2,289.5 M79.2,263.8 L84.2,263.8 M79.2,238.1 L84.2,238.1 M79.2,212.4 L84.2,212.4 M79.2,186.6 L84.2,186.6 M79.2,160.9 L84.2,160.9 M79.2,135.2 L84.2,135.2 M79.2,109.5 L84.2,109.5 M79.2,83.73 L84.2,83.73 M79.2,58 L84.2,58 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M290.1,341 L290.1,346 M393.1,341 L393.1,346 M496,341 L496,346 M599,341 L599,346 M290.1,341 L290.1,346 M187.2,341 L187.2,346 M84.2,341 L84.2,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="393.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="496" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="599" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text>
-<text x="290.1" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="187.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-1</text>
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-2</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="317.7" text-anchor="end" font-size="12" font-family="Verdana">0.1</text>
-<text x="73.2" y="291.9" text-anchor="end" font-size="12" font-family="Verdana">0.2</text>
-<text x="73.2" y="266.2" text-anchor="end" font-size="12" font-family="Verdana">0.3</text>
-<text x="73.2" y="240.5" text-anchor="end" font-size="12" font-family="Verdana">0.4</text>
-<text x="73.2" y="214.8" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="189" text-anchor="end" font-size="12" font-family="Verdana">0.6</text>
-<text x="73.2" y="163.3" text-anchor="end" font-size="12" font-family="Verdana">0.7</text>
-<text x="73.2" y="137.6" text-anchor="end" font-size="12" font-family="Verdana">0.8</text>
-<text x="73.2" y="111.9" text-anchor="end" font-size="12" font-family="Verdana">0.9</text>
-<text x="73.2" y="86.13" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="60.4" text-anchor="end" font-size="12" font-family="Verdana">1.1</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="341.6" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,83.73 L295.3,83.73 L297.8,83.73 L300.4,83.73 L303,83.73 L305.5,83.73 L308.1,83.73 L310.7,83.73 L313.3,83.73 L315.8,83.73 L318.4,83.73 L321,83.73 L323.6,83.73 L326.1,83.73 L328.7,83.73 L331.3,83.73 L333.9,83.73 L336.4,83.73 L339,83.73 L341.6,83.73 L344.2,83.73 L346.7,83.73 L349.3,83.73 L351.9,83.73 L354.4,83.73 L357,83.73 L359.6,83.73 L362.2,83.73 L364.7,83.73 L367.3,83.73 L369.9,83.73 L372.5,83.73 L375,83.73 L377.6,83.73 L380.2,83.73 L382.8,83.73 L385.3,83.73 L387.9,83.73 L390.5,83.73 L393.1,83.73 L395.6,341 L398.2,341 L400.8,341 L403.4,341 L405.9,341 L408.5,341 L411.1,341 L413.6,341 L416.2,341 L418.8,341 L421.4,341 L423.9,341 L426.5,341 L429.1,341 L431.7,341 L434.2,341 L436.8,341 L439.4,341 L442,341 L444.5,341 L447.1,341 L449.7,341 L452.3,341 L454.8,341 L457.4,341 L460,341 L462.5,341 L465.1,341 L467.7,341 L470.3,341 L472.8,341 L475.4,341 L478,341 L480.6,341 L483.1,341 L485.7,341 L488.3,341 L490.9,341 L493.4,341 L496,341 L498.6,341 L501.2,341 L503.7,341 L506.3,341 L508.9,341 L511.5,341 L514,341 L516.6,341 L519.2,341 L521.7,341 L524.3,341 L526.9,341 L529.5,341 L532,341 L534.6,341 L537.2,341 L539.8,341 L542.3,341 L544.9,341 L547.5,341 L550.1,341 L552.6,341 L555.2,341 L557.8,341 L560.4,341 L562.9,341 L565.5,341 L568.1,341 L570.6,341 L573.2,341 L575.8,341 L578.4,341 L580.9,341 L583.5,341 L586.1,341 L588.7,341 L591.2,341 L593.8,341 L596.4,341 L599,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,341 L192.3,341 L194.9,341 L197.4,341 L200,341 L202.6,341 L205.2,341 L207.7,341 L210.3,341 L212.9,341 L215.5,341 L218,341 L220.6,341 L223.2,341 L225.8,341 L228.3,341 L230.9,341 L233.5,341 L236.1,341 L238.6,341 L241.2,341 L243.8,341 L246.3,341 L248.9,341 L251.5,341 L254.1,341 L256.6,341 L259.2,341 L261.8,341 L264.4,341 L266.9,341 L269.5,341 L272.1,341 L274.7,341 L277.2,341 L279.8,341 L282.4,341 L285,341 L287.5,341 L290.1,341 L292.7,255.2 L295.3,255.2 L297.8,255.2 L300.4,255.2 L303,255.2 L305.5,255.2 L308.1,255.2 L310.7,255.2 L313.3,255.2 L315.8,255.2 L318.4,255.2 L321,255.2 L323.6,255.2 L326.1,255.2 L328.7,255.2 L331.3,255.2 L333.9,255.2 L336.4,255.2 L339,255.2 L341.6,255.2 L344.2,255.2 L346.7,255.2 L349.3,255.2 L351.9,255.2 L354.4,255.2 L357,255.2 L359.6,255.2 L362.2,255.2 L364.7,255.2 L367.3,255.2 L369.9,255.2 L372.5,255.2 L375,255.2 L377.6,255.2 L380.2,255.2 L382.8,255.2 L385.3,255.2 L387.9,255.2 L390.5,255.2 L393.1,255.2 L395.6,255.2 L398.2,255.2 L400.8,255.2 L403.4,255.2 L405.9,255.2 L408.5,255.2 L411.1,255.2 L413.6,255.2 L416.2,255.2 L418.8,255.2 L421.4,255.2 L423.9,255.2 L426.5,255.2 L429.1,255.2 L431.7,255.2 L434.2,255.2 L436.8,255.2 L439.4,255.2 L442,255.2 L444.5,255.2 L447.1,255.2 L449.7,255.2 L452.3,255.2 L454.8,255.2 L457.4,255.2 L460,255.2 L462.5,255.2 L465.1,255.2 L467.7,255.2 L470.3,255.2 L472.8,255.2 L475.4,255.2 L478,255.2 L480.6,255.2 L483.1,255.2 L485.7,255.2 L488.3,255.2 L490.9,255.2 L493.4,255.2 L496,255.2 L498.6,255.2 L501.2,255.2 L503.7,255.2 L506.3,255.2 L508.9,255.2 L511.5,255.2 L514,255.2 L516.6,255.2 L519.2,255.2 L521.7,255.2 L524.3,255.2 L526.9,255.2 L529.5,255.2 L532,255.2 L534.6,255.2 L537.2,255.2 L539.8,255.2 L542.3,255.2 L544.9,255.2 L547.5,255.2 L550.1,255.2 L552.6,255.2 L555.2,255.2 L557.8,255.2 L560.4,255.2 L562.9,255.2 L565.5,255.2 L568.1,255.2 L570.6,255.2 L573.2,255.2 L575.8,255.2 L578.4,255.2 L580.9,255.2 L583.5,255.2 L586.1,255.2 L588.7,255.2 L591.2,255.2 L593.8,255.2 L596.4,255.2 L599,255.2 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,289.5 L86.77,289.5 L89.35,289.5 L91.92,289.5 L94.5,289.5 L97.07,289.5 L99.64,289.5 L102.2,289.5 L104.8,289.5 L107.4,289.5 L109.9,289.5 L112.5,289.5 L115.1,289.5 L117.7,289.5 L120.2,289.5 L122.8,289.5 L125.4,289.5 L128,289.5 L130.5,289.5 L133.1,289.5 L135.7,289.5 L138.2,289.5 L140.8,289.5 L143.4,289.5 L146,289.5 L148.5,289.5 L151.1,289.5 L153.7,289.5 L156.3,289.5 L158.8,289.5 L161.4,289.5 L164,289.5 L166.6,289.5 L169.1,289.5 L171.7,289.5 L174.3,289.5 L176.9,289.5 L179.4,289.5 L182,289.5 L184.6,289.5 L187.2,289.5 L189.7,289.5 L192.3,289.5 L194.9,289.5 L197.4,289.5 L200,289.5 L202.6,289.5 L205.2,289.5 L207.7,289.5 L210.3,289.5 L212.9,289.5 L215.5,289.5 L218,289.5 L220.6,289.5 L223.2,289.5 L225.8,289.5 L228.3,289.5 L230.9,289.5 L233.5,289.5 L236.1,289.5 L238.6,289.5 L241.2,289.5 L243.8,289.5 L246.3,289.5 L248.9,289.5 L251.5,289.5 L254.1,289.5 L256.6,289.5 L259.2,289.5 L261.8,289.5 L264.4,289.5 L266.9,289.5 L269.5,289.5 L272.1,289.5 L274.7,289.5 L277.2,289.5 L279.8,289.5 L282.4,289.5 L285,289.5 L287.5,289.5 L290.1,289.5 L292.7,289.5 L295.3,289.5 L297.8,289.5 L300.4,289.5 L303,289.5 L305.5,289.5 L308.1,289.5 L310.7,289.5 L313.3,289.5 L315.8,289.5 L318.4,289.5 L321,289.5 L323.6,289.5 L326.1,289.5 L328.7,289.5 L331.3,289.5 L333.9,289.5 L336.4,289.5 L339,289.5 L341.6,289.5 L344.2,289.5 L346.7,289.5 L349.3,289.5 L351.9,289.5 L354.4,289.5 L357,289.5 L359.6,289.5 L362.2,289.5 L364.7,289.5 L367.3,289.5 L369.9,289.5 L372.5,289.5 L375,289.5 L377.6,289.5 L380.2,289.5 L382.8,289.5 L385.3,289.5 L387.9,289.5 L390.5,289.5 L393.1,289.5 L395.6,289.5 L398.2,289.5 L400.8,289.5 L403.4,289.5 L405.9,289.5 L408.5,289.5 L411.1,289.5 L413.6,289.5 L416.2,289.5 L418.8,289.5 L421.4,289.5 L423.9,289.5 L426.5,289.5 L429.1,289.5 L431.7,289.5 L434.2,289.5 L436.8,289.5 L439.4,289.5 L442,289.5 L444.5,289.5 L447.1,289.5 L449.7,289.5 L452.3,289.5 L454.8,289.5 L457.4,289.5 L460,289.5 L462.5,289.5 L465.1,289.5 L467.7,289.5 L470.3,289.5 L472.8,289.5 L475.4,289.5 L478,289.5 L480.6,289.5 L483.1,289.5 L485.7,289.5 L488.3,289.5 L490.9,289.5 L493.4,289.5 L496,289.5 L498.6,289.5 L501.2,289.5 L503.7,289.5 L506.3,289.5 L508.9,289.5 L511.5,289.5 L514,289.5 L516.6,289.5 L519.2,289.5 L521.7,289.5 L524.3,289.5 L526.9,289.5 L529.5,289.5 L532,289.5 L534.6,289.5 L537.2,289.5 L539.8,289.5 L542.3,289.5 L544.9,289.5 L547.5,289.5 L550.1,289.5 L552.6,289.5 L555.2,289.5 L557.8,289.5 L560.4,289.5 L562.9,289.5 L565.5,289.5 L568.1,289.5 L570.6,289.5 L573.2,289.5 L575.8,289.5 L578.4,289.5 L580.9,289.5 L583.5,289.5 L586.1,289.5 L588.7,289.5 L591.2,289.5 L593.8,289.5 L596.4,289.5 L599,289.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M84.2,341 L86.77,341 L89.35,341 L91.92,341 L94.5,341 L97.07,341 L99.64,341 L102.2,341 L104.8,341 L107.4,341 L109.9,341 L112.5,341 L115.1,341 L117.7,341 L120.2,341 L122.8,341 L125.4,341 L128,341 L130.5,341 L133.1,341 L135.7,341 L138.2,341 L140.8,341 L143.4,341 L146,341 L148.5,341 L151.1,341 L153.7,341 L156.3,341 L158.8,341 L161.4,341 L164,341 L166.6,341 L169.1,341 L171.7,341 L174.3,341 L176.9,341 L179.4,341 L182,341 L184.6,341 L187.2,341 L189.7,212.4 L192.3,212.4 L194.9,212.4 L197.4,212.4 L200,212.4 L202.6,212.4 L205.2,212.4 L207.7,212.4 L210.3,212.4 L212.9,212.4 L215.5,212.4 L218,212.4 L220.6,212.4 L223.2,212.4 L225.8,212.4 L228.3,212.4 L230.9,212.4 L233.5,212.4 L236.1,212.4 L238.6,212.4 L241.2,212.4 L243.8,212.4 L246.3,212.4 L248.9,212.4 L251.5,212.4 L254.1,212.4 L256.6,212.4 L259.2,212.4 L261.8,212.4 L264.4,212.4 L266.9,212.4 L269.5,212.4 L272.1,212.4 L274.7,212.4 L277.2,212.4 L279.8,212.4 L282.4,212.4 L285,212.4 L287.5,212.4 L290.1,212.4 L292.7,212.4 L295.3,212.4 L297.8,212.4 L300.4,212.4 L303,212.4 L305.5,212.4 L308.1,212.4 L310.7,212.4 L313.3,212.4 L315.8,212.4 L318.4,212.4 L321,212.4 L323.6,212.4 L326.1,212.4 L328.7,212.4 L331.3,212.4 L333.9,212.4 L336.4,212.4 L339,212.4 L341.6,212.4 L344.2,212.4 L346.7,212.4 L349.3,212.4 L351.9,212.4 L354.4,212.4 L357,212.4 L359.6,212.4 L362.2,212.4 L364.7,212.4 L367.3,212.4 L369.9,212.4 L372.5,212.4 L375,212.4 L377.6,212.4 L380.2,212.4 L382.8,212.4 L385.3,212.4 L387.9,212.4 L390.5,212.4 L393.1,212.4 L395.6,341 L398.2,341 L400.8,341 L403.4,341 L405.9,341 L408.5,341 L411.1,341 L413.6,341 L416.2,341 L418.8,341 L421.4,341 L423.9,341 L426.5,341 L429.1,341 L431.7,341 L434.2,341 L436.8,341 L439.4,341 L442,341 L444.5,341 L447.1,341 L449.7,341 L452.3,341 L454.8,341 L457.4,341 L460,341 L462.5,341 L465.1,341 L467.7,341 L470.3,341 L472.8,341 L475.4,341 L478,341 L480.6,341 L483.1,341 L485.7,341 L488.3,341 L490.9,341 L493.4,341 L496,341 L498.6,341 L501.2,341 L503.7,341 L506.3,341 L508.9,341 L511.5,341 L514,341 L516.6,341 L519.2,341 L521.7,341 L524.3,341 L526.9,341 L529.5,341 L532,341 L534.6,341 L537.2,341 L539.8,341 L542.3,341 L544.9,341 L547.5,341 L550.1,341 L552.6,341 L555.2,341 L557.8,341 L560.4,341 L562.9,341 L565.5,341 L568.1,341 L570.6,341 L573.2,341 L575.8,341 L578.4,341 L580.9,341 L583.5,341 L586.1,341 L588.7,341 L591.2,341 L593.8,341 L596.4,341 L599,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="613" y="58" width="111" height="135"/><rect x="613" y="58" width="111" height="135"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="88" x2="643" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="118" x2="643" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="148" x2="643" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="628" y1="178" x2="643" y2="178"/></g>
-</g>
-<g id="legendText">
-<text x="650.5" y="88" font-size="15" font-family="Verdana">{0,1}</text>
-<text x="650.5" y="118" font-size="15" font-family="Verdana">{0,3}</text>
-<text x="650.5" y="148" font-size="15" font-family="Verdana">{-2,3}</text>
-<text x="650.5" y="178" font-size="15" font-family="Verdana">{-1,1}</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Uniform Distribution PDF</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.svg b/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.svg
deleted file mode 100644
index 397a40894d..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/weibull_pdf1.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="68.4" y="59" width="498.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="67.4" y="58" width="500.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="67.4" y1="58" x2="67.4" y2="346"/><line x1="67.4" y1="58" x2="67.4" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="62.4" y1="341" x2="567.6" y2="341"/><line x1="62.4" y1="341" x2="567.6" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M65.4,327.1 L67.4,327.1 M65.4,313.2 L67.4,313.2 M65.4,299.3 L67.4,299.3 M65.4,285.3 L67.4,285.3 M65.4,257.5 L67.4,257.5 M65.4,243.6 L67.4,243.6 M65.4,229.7 L67.4,229.7 M65.4,215.8 L67.4,215.8 M65.4,187.9 L67.4,187.9 M65.4,174 L67.4,174 M65.4,160.1 L67.4,160.1 M65.4,146.2 L67.4,146.2 M65.4,118.4 L67.4,118.4 M65.4,104.5 L67.4,104.5 M65.4,90.54 L67.4,90.54 M65.4,76.62 L67.4,76.62 M65.4,341 L67.4,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M84.05,341 L84.05,343 M100.7,341 L100.7,343 M117.4,341 L117.4,343 M134,341 L134,343 M167.3,341 L167.3,343 M184,341 L184,343 M200.6,341 L200.6,343 M217.3,341 L217.3,343 M250.6,341 L250.6,343 M267.2,341 L267.2,343 M283.9,341 L283.9,343 M300.5,341 L300.5,343 M333.8,341 L333.8,343 M350.5,341 L350.5,343 M367.1,341 L367.1,343 M383.8,341 L383.8,343 M417.1,341 L417.1,343 M433.7,341 L433.7,343 M450.4,341 L450.4,343 M467,341 L467,343 M500.3,341 L500.3,343 M517,341 L517,343 M533.6,341 L533.6,343 M550.3,341 L550.3,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M62.4,341 L67.4,341 M62.4,271.4 L67.4,271.4 M62.4,201.9 L67.4,201.9 M62.4,132.3 L67.4,132.3 M62.4,62.71 L67.4,62.71 M62.4,341 L67.4,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M67.4,341 L67.4,346 M150.7,341 L150.7,346 M233.9,341 L233.9,346 M317.2,341 L317.2,346 M400.4,341 L400.4,346 M483.7,341 L483.7,346 M566.9,341 L566.9,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="67.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="150.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0.5</text>
-<text x="233.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="317.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1.5</text>
-<text x="400.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="483.7" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2.5</text>
-<text x="566.9" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text></g>
-<g id="yTicksValues">
-<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="56.4" y="273.8" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="56.4" y="204.3" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="56.4" y="134.7" text-anchor="end" font-size="12" font-family="Verdana">3</text>
-<text x="56.4" y="65.11" text-anchor="end" font-size="12" font-family="Verdana">4</text>
-<text x="56.4" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="317.5" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M67.4,-4.272e+078 L69.9,198.2 L72.4,224.4 L74.9,238.3 L77.4,247.6 L79.91,254.6 L82.41,260.2 L84.91,264.8 L87.41,268.7 L89.91,272.1 L92.41,275.2 L94.91,277.8 L97.41,280.3 L99.91,282.5 L102.4,284.5 L104.9,286.4 L107.4,288.1 L109.9,289.7 L112.4,291.3 L114.9,292.7 L117.4,294 L119.9,295.3 L122.4,296.5 L124.9,297.6 L127.4,298.7 L129.9,299.7 L132.4,300.7 L134.9,301.7 L137.4,302.6 L139.9,303.4 L142.4,304.3 L144.9,305.1 L147.4,305.8 L149.9,306.6 L152.4,307.3 L154.9,307.9 L157.4,308.6 L159.9,309.2 L162.4,309.9 L164.9,310.5 L167.4,311 L169.9,311.6 L172.4,312.2 L174.9,312.7 L177.4,313.2 L179.9,313.7 L182.4,314.2 L184.9,314.6 L187.4,315.1 L189.9,315.5 L192.5,316 L195,316.4 L197.5,316.8 L200,317.2 L202.5,317.6 L205,318 L207.5,318.4 L210,318.7 L212.5,319.1 L215,319.4 L217.5,319.8 L220,320.1 L222.5,320.4 L225,320.7 L227.5,321 L230,321.3 L232.5,321.6 L235,321.9 L237.5,322.2 L240,322.5 L242.5,322.8 L245,323 L247.5,323.3 L250,323.5 L252.5,323.8 L255,324 L257.5,324.3 L260,324.5 L262.5,324.7 L265,325 L267.5,325.2 L270,325.4 L272.5,325.6 L275,325.8 L277.5,326 L280,326.2 L282.5,326.4 L285,326.6 L287.5,326.8 L290,327 L292.5,327.2 L295,327.4 L297.5,327.5 L300,327.7 L302.5,327.9 L305,328.1 L307.5,328.2 L310,328.4 L312.5,328.6 L315,328.7 L317.5,328.9 L320,329 L322.5,329.2 L325,329.3 L327.5,329.5 L330,329.6 L332.5,329.7 L335,329.9 L337.5,330 L340,330.2 L342.5,330.3 L345,330.4 L347.5,330.5 L350,330.7 L352.5,330.8 L355,330.9 L357.5,331 L360,331.2 L362.5,331.3 L365,331.4 L367.5,331.5 L370,331.6 L372.5,331.7 L375,331.8 L377.5,331.9 L380,332 L382.5,332.1 L385,332.2 L387.5,332.3 L390,332.4 L392.5,332.5 L395,332.6 L397.5,332.7 L400,332.8 L402.5,332.9 L405,333 L407.5,333.1 L410,333.2 L412.5,333.3 L415,333.4 L417.5,333.4 L420,333.5 L422.5,333.6 L425,333.7 L427.5,333.8 L430,333.8 L432.5,333.9 L435,334 L437.5,334.1 L440,334.2 L442.5,334.2 L445.1,334.3 L447.6,334.4 L450.1,334.4 L452.6,334.5 L455.1,334.6 L457.6,334.7 L460.1,334.7 L462.6,334.8 L465.1,334.9 L467.6,334.9 L470.1,335 L472.6,335 L475.1,335.1 L477.6,335.2 L480.1,335.2 L482.6,335.3 L485.1,335.4 L487.6,335.4 L490.1,335.5 L492.6,335.5 L495.1,335.6 L497.6,335.6 L500.1,335.7 L502.6,335.7 L505.1,335.8 L507.6,335.9 L510.1,335.9 L512.6,336 L515.1,336 L517.6,336.1 L520.1,336.1 L522.6,336.2 L525.1,336.2 L527.6,336.3 L530.1,336.3 L532.6,336.3 L535.1,336.4 L537.6,336.4 L540.1,336.5 L542.6,336.5 L545.1,336.6 L547.6,336.6 L550.1,336.7 L552.6,336.7 L555.1,336.7 L557.6,336.8 L560.1,336.8 L562.6,336.9 L565.1,336.9 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M67.4,271.4 L69.9,272.5 L72.4,273.5 L74.9,274.5 L77.4,275.5 L79.91,276.5 L82.41,277.4 L84.91,278.4 L87.41,279.3 L89.91,280.2 L92.41,281.1 L94.91,282 L97.41,282.9 L99.91,283.8 L102.4,284.6 L104.9,285.5 L107.4,286.3 L109.9,287.1 L112.4,287.9 L114.9,288.7 L117.4,289.5 L119.9,290.2 L122.4,291 L124.9,291.7 L127.4,292.5 L129.9,293.2 L132.4,293.9 L134.9,294.6 L137.4,295.3 L139.9,296 L142.4,296.7 L144.9,297.3 L147.4,298 L149.9,298.6 L152.4,299.2 L154.9,299.9 L157.4,300.5 L159.9,301.1 L162.4,301.7 L164.9,302.3 L167.4,302.8 L169.9,303.4 L172.4,304 L174.9,304.5 L177.4,305.1 L179.9,305.6 L182.4,306.1 L184.9,306.7 L187.4,307.2 L189.9,307.7 L192.5,308.2 L195,308.7 L197.5,309.1 L200,309.6 L202.5,310.1 L205,310.5 L207.5,311 L210,311.4 L212.5,311.9 L215,312.3 L217.5,312.7 L220,313.2 L222.5,313.6 L225,314 L227.5,314.4 L230,314.8 L232.5,315.2 L235,315.6 L237.5,315.9 L240,316.3 L242.5,316.7 L245,317.1 L247.5,317.4 L250,317.8 L252.5,318.1 L255,318.4 L257.5,318.8 L260,319.1 L262.5,319.4 L265,319.8 L267.5,320.1 L270,320.4 L272.5,320.7 L275,321 L277.5,321.3 L280,321.6 L282.5,321.9 L285,322.2 L287.5,322.4 L290,322.7 L292.5,323 L295,323.3 L297.5,323.5 L300,323.8 L302.5,324 L305,324.3 L307.5,324.5 L310,324.8 L312.5,325 L315,325.3 L317.5,325.5 L320,325.7 L322.5,326 L325,326.2 L327.5,326.4 L330,326.6 L332.5,326.8 L335,327.1 L337.5,327.3 L340,327.5 L342.5,327.7 L345,327.9 L347.5,328.1 L350,328.3 L352.5,328.4 L355,328.6 L357.5,328.8 L360,329 L362.5,329.2 L365,329.4 L367.5,329.5 L370,329.7 L372.5,329.9 L375,330 L377.5,330.2 L380,330.4 L382.5,330.5 L385,330.7 L387.5,330.8 L390,331 L392.5,331.1 L395,331.3 L397.5,331.4 L400,331.6 L402.5,331.7 L405,331.8 L407.5,332 L410,332.1 L412.5,332.2 L415,332.4 L417.5,332.5 L420,332.6 L422.5,332.8 L425,332.9 L427.5,333 L430,333.1 L432.5,333.2 L435,333.4 L437.5,333.5 L440,333.6 L442.5,333.7 L445.1,333.8 L447.6,333.9 L450.1,334 L452.6,334.1 L455.1,334.2 L457.6,334.3 L460.1,334.4 L462.6,334.5 L465.1,334.6 L467.6,334.7 L470.1,334.8 L472.6,334.9 L475.1,335 L477.6,335.1 L480.1,335.2 L482.6,335.3 L485.1,335.3 L487.6,335.4 L490.1,335.5 L492.6,335.6 L495.1,335.7 L497.6,335.7 L500.1,335.8 L502.6,335.9 L505.1,336 L507.6,336.1 L510.1,336.1 L512.6,336.2 L515.1,336.3 L517.6,336.3 L520.1,336.4 L522.6,336.5 L525.1,336.5 L527.6,336.6 L530.1,336.7 L532.6,336.7 L535.1,336.8 L537.6,336.9 L540.1,336.9 L542.6,337 L545.1,337.1 L547.6,337.1 L550.1,337.2 L552.6,337.2 L555.1,337.3 L557.6,337.3 L560.1,337.4 L562.6,337.4 L565.1,337.5 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M67.4,341 L69.9,341 L72.4,341 L74.9,341 L77.4,341 L79.91,341 L82.41,341 L84.91,341 L87.41,340.9 L89.91,340.9 L92.41,340.8 L94.91,340.7 L97.41,340.6 L99.91,340.5 L102.4,340.3 L104.9,340.1 L107.4,339.8 L109.9,339.5 L112.4,339.1 L114.9,338.7 L117.4,338.2 L119.9,337.6 L122.4,336.9 L124.9,336.1 L127.4,335.2 L129.9,334.1 L132.4,333 L134.9,331.7 L137.4,330.3 L139.9,328.7 L142.4,326.9 L144.9,325 L147.4,322.9 L149.9,320.6 L152.4,318.1 L154.9,315.5 L157.4,312.6 L159.9,309.5 L162.4,306.3 L164.9,302.8 L167.4,299.1 L169.9,295.2 L172.4,291.1 L174.9,286.9 L177.4,282.5 L179.9,278 L182.4,273.3 L184.9,268.5 L187.4,263.7 L189.9,258.8 L192.5,253.9 L195,249 L197.5,244.2 L200,239.5 L202.5,235 L205,230.7 L207.5,226.7 L210,223 L212.5,219.7 L215,216.8 L217.5,214.4 L220,212.5 L222.5,211.1 L225,210.4 L227.5,210.3 L230,210.8 L232.5,212 L235,213.9 L237.5,216.4 L240,219.6 L242.5,223.4 L245,227.7 L247.5,232.6 L250,237.9 L252.5,243.7 L255,249.7 L257.5,256 L260,262.4 L262.5,268.9 L265,275.4 L267.5,281.8 L270,288 L272.5,294 L275,299.6 L277.5,305 L280,309.9 L282.5,314.4 L285,318.5 L287.5,322.2 L290,325.4 L292.5,328.3 L295,330.7 L297.5,332.8 L300,334.5 L302.5,335.9 L305,337.1 L307.5,338 L310,338.8 L312.5,339.4 L315,339.8 L317.5,340.2 L320,340.4 L322.5,340.6 L325,340.7 L327.5,340.8 L330,340.9 L332.5,340.9 L335,340.9 L337.5,341 L340,341 L342.5,341 L345,341 L347.5,341 L350,341 L352.5,341 L355,341 L357.5,341 L360,341 L362.5,341 L365,341 L367.5,341 L370,341 L372.5,341 L375,341 L377.5,341 L380,341 L382.5,341 L385,341 L387.5,341 L390,341 L392.5,341 L395,341 L397.5,341 L400,341 L402.5,341 L405,341 L407.5,341 L410,341 L412.5,341 L415,341 L417.5,341 L420,341 L422.5,341 L425,341 L427.5,341 L430,341 L432.5,341 L435,341 L437.5,341 L440,341 L442.5,341 L445.1,341 L447.6,341 L450.1,341 L452.6,341 L455.1,341 L457.6,341 L460.1,341 L462.6,341 L465.1,341 L467.6,341 L470.1,341 L472.6,341 L475.1,341 L477.6,341 L480.1,341 L482.6,341 L485.1,341 L487.6,341 L490.1,341 L492.6,341 L495.1,341 L497.6,341 L500.1,341 L502.6,341 L505.1,341 L507.6,341 L510.1,341 L512.6,341 L515.1,341 L517.6,341 L520.1,341 L522.6,341 L525.1,341 L527.6,341 L530.1,341 L532.6,341 L535.1,341 L537.6,341 L540.1,341 L542.6,341 L545.1,341 L547.6,341 L550.1,341 L552.6,341 L555.1,341 L557.6,341 L560.1,341 L562.6,341 L565.1,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(255,140,0)" stroke-width="1"><path d="M67.4,341 L69.9,341 L72.4,341 L74.9,341 L77.4,341 L79.91,341 L82.41,341 L84.91,341 L87.41,341 L89.91,341 L92.41,341 L94.91,341 L97.41,341 L99.91,341 L102.4,341 L104.9,341 L107.4,341 L109.9,341 L112.4,341 L114.9,341 L117.4,341 L119.9,341 L122.4,341 L124.9,341 L127.4,340.9 L129.9,340.9 L132.4,340.9 L134.9,340.8 L137.4,340.7 L139.9,340.6 L142.4,340.5 L144.9,340.3 L147.4,340 L149.9,339.7 L152.4,339.4 L154.9,338.9 L157.4,338.3 L159.9,337.5 L162.4,336.5 L164.9,335.4 L167.4,333.9 L169.9,332.2 L172.4,330.1 L174.9,327.6 L177.4,324.5 L179.9,320.9 L182.4,316.7 L184.9,311.6 L187.4,305.8 L189.9,298.9 L192.5,291.1 L195,282.1 L197.5,271.9 L200,260.4 L202.5,247.6 L205,233.5 L207.5,218.2 L210,201.9 L212.5,184.7 L215,167.1 L217.5,149.4 L220,132.4 L222.5,116.6 L225,103 L227.5,92.42 L230,85.73 L232.5,83.77 L235,87.18 L237.5,96.34 L240,111.2 L242.5,131.4 L245,155.8 L247.5,183.1 L250,211.7 L252.5,239.6 L255,265.3 L257.5,287.5 L260,305.4 L262.5,318.8 L265,328.2 L267.5,334.2 L270,337.7 L272.5,339.5 L275,340.4 L277.5,340.8 L280,340.9 L282.5,341 L285,341 L287.5,341 L290,341 L292.5,341 L295,341 L297.5,341 L300,341 L302.5,341 L305,341 L307.5,341 L310,341 L312.5,341 L315,341 L317.5,341 L320,341 L322.5,341 L325,341 L327.5,341 L330,341 L332.5,341 L335,341 L337.5,341 L340,341 L342.5,341 L345,341 L347.5,341 L350,341 L352.5,341 L355,341 L357.5,341 L360,341 L362.5,341 L365,341 L367.5,341 L370,341 L372.5,341 L375,341 L377.5,341 L380,341 L382.5,341 L385,341 L387.5,341 L390,341 L392.5,341 L395,341 L397.5,341 L400,341 L402.5,341 L405,341 L407.5,341 L410,341 L412.5,341 L415,341 L417.5,341 L420,341 L422.5,341 L425,341 L427.5,341 L430,341 L432.5,341 L435,341 L437.5,341 L440,341 L442.5,341 L445.1,341 L447.6,341 L450.1,341 L452.6,341 L455.1,341 L457.6,341 L460.1,341 L462.6,341 L465.1,341 L467.6,341 L470.1,341 L472.6,341 L475.1,341 L477.6,341 L480.1,341 L482.6,341 L485.1,341 L487.6,341 L490.1,341 L492.6,341 L495.1,341 L497.6,341 L500.1,341 L502.6,341 L505.1,341 L507.6,341 L510.1,341 L512.6,341 L515.1,341 L517.6,341 L520.1,341 L522.6,341 L525.1,341 L527.6,341 L530.1,341 L532.6,341 L535.1,341 L537.6,341 L540.1,341 L542.6,341 L545.1,341 L547.6,341 L550.1,341 L552.6,341 L555.1,341 L557.6,341 L560.1,341 L562.6,341 L565.1,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="581.6" y="58" width="142.4" height="135"/><rect x="581.6" y="58" width="142.4" height="135"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="88" x2="611.6" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="118" x2="611.6" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="148" x2="611.6" y2="148"/></g>
-<g stroke="rgb(255,140,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="596.6" y1="178" x2="611.6" y2="178"/></g>
-</g>
-<g id="legendText">
-<text x="619.1" y="88" font-size="15" font-family="Verdana">shape=0.75</text>
-<text x="619.1" y="118" font-size="15" font-family="Verdana">shape=1</text>
-<text x="619.1" y="148" font-size="15" font-family="Verdana">shape=5</text>
-<text x="619.1" y="178" font-size="15" font-family="Verdana">shape=10</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Weibull Distribution PDF (scale=1)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.svg b/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.svg
deleted file mode 100644
index 44225995de..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/weibull_pdf2.svg
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="750" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="85.2" y="59" width="489.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="750" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="84.2" y="58" width="491.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="84.2" y1="58" x2="84.2" y2="346"/><line x1="84.2" y1="58" x2="84.2" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="79.2" y1="341" x2="575.4" y2="341"/><line x1="79.2" y1="341" x2="575.4" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M82.2,330.1 L84.2,330.1 M82.2,319.1 L84.2,319.1 M82.2,308.2 L84.2,308.2 M82.2,297.2 L84.2,297.2 M82.2,275.3 L84.2,275.3 M82.2,264.4 L84.2,264.4 M82.2,253.4 L84.2,253.4 M82.2,242.5 L84.2,242.5 M82.2,220.6 L84.2,220.6 M82.2,209.7 L84.2,209.7 M82.2,198.7 L84.2,198.7 M82.2,187.8 L84.2,187.8 M82.2,165.9 L84.2,165.9 M82.2,155 L84.2,155 M82.2,144 L84.2,144 M82.2,133.1 L84.2,133.1 M82.2,111.2 L84.2,111.2 M82.2,100.2 L84.2,100.2 M82.2,89.29 L84.2,89.29 M82.2,78.35 L84.2,78.35 M82.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M112.9,341 L112.9,343 M141.6,341 L141.6,343 M170.4,341 L170.4,343 M199.1,341 L199.1,343 M256.5,341 L256.5,343 M285.3,341 L285.3,343 M314,341 L314,343 M342.7,341 L342.7,343 M400.2,341 L400.2,343 M428.9,341 L428.9,343 M457.6,341 L457.6,343 M486.3,341 L486.3,343 M543.8,341 L543.8,343 M572.5,341 L572.5,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M79.2,341 L84.2,341 M79.2,286.3 L84.2,286.3 M79.2,231.6 L84.2,231.6 M79.2,176.8 L84.2,176.8 M79.2,122.1 L84.2,122.1 M79.2,67.41 L84.2,67.41 M79.2,341 L84.2,341 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M84.2,341 L84.2,346 M227.8,341 L227.8,346 M371.4,341 L371.4,346 M515,341 L515,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="84.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="227.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">1</text>
-<text x="371.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">2</text>
-<text x="515" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">3</text></g>
-<g id="yTicksValues">
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="73.2" y="288.7" text-anchor="end" font-size="12" font-family="Verdana">0.5</text>
-<text x="73.2" y="234" text-anchor="end" font-size="12" font-family="Verdana">1</text>
-<text x="73.2" y="179.2" text-anchor="end" font-size="12" font-family="Verdana">1.5</text>
-<text x="73.2" y="124.5" text-anchor="end" font-size="12" font-family="Verdana">2</text>
-<text x="73.2" y="69.81" text-anchor="end" font-size="12" font-family="Verdana">2.5</text>
-<text x="73.2" y="343.4" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">Probability</text></g>
-<g id="xLabel">
-<text x="329.8" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">Random Variable</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M84.2,341 L86.66,340.2 L89.11,337.9 L91.57,334.1 L94.02,328.7 L96.48,321.9 L98.94,313.6 L101.4,303.9 L103.8,292.8 L106.3,280.6 L108.8,267.2 L111.2,252.9 L113.7,237.8 L116.1,222.1 L118.6,206.1 L121,190 L123.5,174.1 L126,158.6 L128.4,143.9 L130.9,130.2 L133.3,117.9 L135.8,107.1 L138.2,98.18 L140.7,91.26 L143.1,86.52 L145.6,84.07 L148.1,83.98 L150.5,86.24 L153,90.8 L155.4,97.55 L157.9,106.3 L160.3,116.9 L162.8,129 L165.3,142.4 L167.7,156.8 L170.2,171.8 L172.6,187.1 L175.1,202.5 L177.5,217.6 L180,232.2 L182.4,246.1 L184.9,259.1 L187.4,271.1 L189.8,282 L192.3,291.8 L194.7,300.4 L197.2,307.9 L199.6,314.4 L202.1,319.8 L204.6,324.4 L207,328.1 L209.5,331.1 L211.9,333.5 L214.4,335.4 L216.8,336.9 L219.3,338 L221.7,338.9 L224.2,339.5 L226.7,339.9 L229.1,340.3 L231.6,340.5 L234,340.7 L236.5,340.8 L238.9,340.9 L241.4,340.9 L243.9,340.9 L246.3,341 L248.8,341 L251.2,341 L253.7,341 L256.1,341 L258.6,341 L261,341 L263.5,341 L266,341 L268.4,341 L270.9,341 L273.3,341 L275.8,341 L278.2,341 L280.7,341 L283.2,341 L285.6,341 L288.1,341 L290.5,341 L293,341 L295.4,341 L297.9,341 L300.3,341 L302.8,341 L305.3,341 L307.7,341 L310.2,341 L312.6,341 L315.1,341 L317.5,341 L320,341 L322.5,341 L324.9,341 L327.4,341 L329.8,341 L332.3,341 L334.7,341 L337.2,341 L339.6,341 L342.1,341 L344.6,341 L347,341 L349.5,341 L351.9,341 L354.4,341 L356.8,341 L359.3,341 L361.8,341 L364.2,341 L366.7,341 L369.1,341 L371.6,341 L374,341 L376.5,341 L378.9,341 L381.4,341 L383.9,341 L386.3,341 L388.8,341 L391.2,341 L393.7,341 L396.1,341 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(139,0,0)" stroke-width="1"><path d="M84.2,341 L86.66,340.9 L89.11,340.6 L91.57,340.1 L94.02,339.5 L96.48,338.6 L98.94,337.5 L101.4,336.3 L103.8,334.9 L106.3,333.2 L108.8,331.4 L111.2,329.5 L113.7,327.3 L116.1,324.9 L118.6,322.4 L121,319.8 L123.5,316.9 L126,313.9 L128.4,310.8 L130.9,307.5 L133.3,304.1 L135.8,300.6 L138.2,296.9 L140.7,293.2 L143.1,289.4 L145.6,285.5 L148.1,281.5 L150.5,277.6 L153,273.5 L155.4,269.5 L157.9,265.5 L160.3,261.5 L162.8,257.5 L165.3,253.6 L167.7,249.8 L170.2,246.1 L172.6,242.5 L175.1,239 L177.5,235.6 L180,232.4 L182.4,229.4 L184.9,226.6 L187.4,224.1 L189.8,221.7 L192.3,219.6 L194.7,217.7 L197.2,216.1 L199.6,214.8 L202.1,213.8 L204.6,213 L207,212.5 L209.5,212.4 L211.9,212.5 L214.4,212.9 L216.8,213.6 L219.3,214.6 L221.7,215.9 L224.2,217.5 L226.7,219.3 L229.1,221.3 L231.6,223.7 L234,226.2 L236.5,228.9 L238.9,231.9 L241.4,235 L243.9,238.3 L246.3,241.7 L248.8,245.2 L251.2,248.9 L253.7,252.6 L256.1,256.4 L258.6,260.2 L261,264.1 L263.5,267.9 L266,271.7 L268.4,275.5 L270.9,279.3 L273.3,283 L275.8,286.6 L278.2,290.1 L280.7,293.5 L283.2,296.9 L285.6,300.1 L288.1,303.1 L290.5,306.1 L293,308.9 L295.4,311.5 L297.9,314 L300.3,316.4 L302.8,318.6 L305.3,320.7 L307.7,322.7 L310.2,324.5 L312.6,326.1 L315.1,327.7 L317.5,329.1 L320,330.4 L322.5,331.6 L324.9,332.7 L327.4,333.7 L329.8,334.5 L332.3,335.3 L334.7,336.1 L337.2,336.7 L339.6,337.3 L342.1,337.8 L344.6,338.2 L347,338.6 L349.5,338.9 L351.9,339.2 L354.4,339.5 L356.8,339.7 L359.3,339.9 L361.8,340.1 L364.2,340.2 L366.7,340.4 L369.1,340.5 L371.6,340.6 L374,340.6 L376.5,340.7 L378.9,340.8 L381.4,340.8 L383.9,340.8 L386.3,340.9 L388.8,340.9 L391.2,340.9 L393.7,340.9 L396.1,340.9 L398.6,341 L401,341 L403.5,341 L406,341 L408.4,341 L410.9,341 L413.3,341 L415.8,341 L418.2,341 L420.7,341 L423.2,341 L425.6,341 L428.1,341 L430.5,341 L433,341 L435.4,341 L437.9,341 L440.3,341 L442.8,341 L445.3,341 L447.7,341 L450.2,341 L452.6,341 L455.1,341 L457.5,341 L460,341 L462.5,341 L464.9,341 L467.4,341 L469.8,341 L472.3,341 L474.7,341 L477.2,341 L479.6,341 L482.1,341 L484.6,341 L487,341 L489.5,341 L491.9,341 L494.4,341 L496.8,341 L499.3,341 L501.8,341 L504.2,341 L506.7,341 L509.1,341 L511.6,341 L514,341 L516.5,341 L518.9,341 L521.4,341 L523.9,341 L526.3,341 L528.8,341 L531.2,341 L533.7,341 L536.1,341 L538.6,341 L541.1,341 L543.5,341 L546,341 L548.4,341 L550.9,341 L553.3,341 L555.8,341 L558.2,341 L560.7,341 L563.2,341 L565.6,341 L568.1,341 L570.5,341 L573,341 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,100,0)" stroke-width="1"><path d="M84.2,341 L86.66,341 L89.11,341 L91.57,340.9 L94.02,340.8 L96.48,340.7 L98.94,340.6 L101.4,340.4 L103.8,340.2 L106.3,340 L108.8,339.8 L111.2,339.5 L113.7,339.3 L116.1,339 L118.6,338.7 L121,338.3 L123.5,337.9 L126,337.5 L128.4,337.1 L130.9,336.7 L133.3,336.2 L135.8,335.7 L138.2,335.2 L140.7,334.7 L143.1,334.1 L145.6,333.6 L148.1,333 L150.5,332.4 L153,331.7 L155.4,331.1 L157.9,330.4 L160.3,329.7 L162.8,329 L165.3,328.2 L167.7,327.5 L170.2,326.7 L172.6,325.9 L175.1,325.1 L177.5,324.3 L180,323.4 L182.4,322.5 L184.9,321.7 L187.4,320.8 L189.8,319.9 L192.3,319 L194.7,318 L197.2,317.1 L199.6,316.2 L202.1,315.2 L204.6,314.2 L207,313.2 L209.5,312.3 L211.9,311.3 L214.4,310.3 L216.8,309.3 L219.3,308.3 L221.7,307.3 L224.2,306.3 L226.7,305.3 L229.1,304.3 L231.6,303.2 L234,302.2 L236.5,301.2 L238.9,300.3 L241.4,299.3 L243.9,298.3 L246.3,297.3 L248.8,296.4 L251.2,295.4 L253.7,294.5 L256.1,293.5 L258.6,292.6 L261,291.7 L263.5,290.8 L266,290 L268.4,289.1 L270.9,288.3 L273.3,287.5 L275.8,286.7 L278.2,286 L280.7,285.2 L283.2,284.5 L285.6,283.8 L288.1,283.2 L290.5,282.5 L293,281.9 L295.4,281.4 L297.9,280.8 L300.3,280.3 L302.8,279.8 L305.3,279.4 L307.7,278.9 L310.2,278.6 L312.6,278.2 L315.1,277.9 L317.5,277.6 L320,277.4 L322.5,277.2 L324.9,277 L327.4,276.9 L329.8,276.8 L332.3,276.7 L334.7,276.7 L337.2,276.7 L339.6,276.7 L342.1,276.8 L344.6,277 L347,277.1 L349.5,277.3 L351.9,277.5 L354.4,277.8 L356.8,278.1 L359.3,278.5 L361.8,278.8 L364.2,279.2 L366.7,279.7 L369.1,280.1 L371.6,280.6 L374,281.2 L376.5,281.7 L378.9,282.3 L381.4,283 L383.9,283.6 L386.3,284.3 L388.8,285 L391.2,285.7 L393.7,286.4 L396.1,287.2 L398.6,288 L401,288.8 L403.5,289.6 L406,290.5 L408.4,291.4 L410.9,292.2 L413.3,293.1 L415.8,294 L418.2,294.9 L420.7,295.9 L423.2,296.8 L425.6,297.7 L428.1,298.7 L430.5,299.6 L433,300.6 L435.4,301.6 L437.9,302.5 L440.3,303.5 L442.8,304.5 L445.3,305.4 L447.7,306.4 L450.2,307.3 L452.6,308.3 L455.1,309.2 L457.5,310.1 L460,311.1 L462.5,312 L464.9,312.9 L467.4,313.8 L469.8,314.7 L472.3,315.6 L474.7,316.4 L477.2,317.3 L479.6,318.1 L482.1,318.9 L484.6,319.7 L487,320.5 L489.5,321.3 L491.9,322.1 L494.4,322.8 L496.8,323.5 L499.3,324.2 L501.8,324.9 L504.2,325.6 L506.7,326.3 L509.1,326.9 L511.6,327.5 L514,328.1 L516.5,328.7 L518.9,329.3 L521.4,329.8 L523.9,330.3 L526.3,330.9 L528.8,331.4 L531.2,331.8 L533.7,332.3 L536.1,332.7 L538.6,333.2 L541.1,333.6 L543.5,334 L546,334.3 L548.4,334.7 L550.9,335.1 L553.3,335.4 L555.8,335.7 L558.2,336 L560.7,336.3 L563.2,336.6 L565.6,336.8 L568.1,337.1 L570.5,337.3 L573,337.6 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="legendBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="1"><rect x="589.4" y="58" width="134.6" height="105"/><rect x="589.4" y="58" width="134.6" height="105"/></g>
-<g id="legendPoints"><g stroke="rgb(0,0,139)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="88" x2="619.4" y2="88"/></g>
-<g stroke="rgb(139,0,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="118" x2="619.4" y2="118"/></g>
-<g stroke="rgb(0,100,0)" fill="rgb(255,255,255)" stroke-width="1"><line x1="604.4" y1="148" x2="619.4" y2="148"/></g>
-</g>
-<g id="legendText">
-<text x="626.9" y="88" font-size="15" font-family="Verdana">scale=0.5</text>
-<text x="626.9" y="118" font-size="15" font-family="Verdana">scale=1</text>
-<text x="626.9" y="148" font-size="15" font-family="Verdana">scale=2</text></g>
-<g id="title">
-<text x="375" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Weibull Distribution PDF (shape=3)</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/zeta1.svg b/libs/math/doc/sf_and_dist/graphs/zeta1.svg
deleted file mode 100644
index 782cb13eaf..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/zeta1.svg
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="76.8" y="59" width="496.2" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="75.8" y="58" width="498.2" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="401.4" y1="58" x2="401.4" y2="346"/><line x1="75.8" y1="58" x2="75.8" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="70.8" y1="298.9" x2="574" y2="298.9"/><line x1="70.8" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M73.8,284.2 L75.8,284.2 M73.8,269.5 L75.8,269.5 M73.8,254.8 L75.8,254.8 M73.8,225.4 L75.8,225.4 M73.8,210.7 L75.8,210.7 M73.8,195.9 L75.8,195.9 M73.8,166.5 L75.8,166.5 M73.8,151.8 L75.8,151.8 M73.8,137.1 L75.8,137.1 M73.8,107.7 L75.8,107.7 M73.8,92.97 L75.8,92.97 M73.8,78.26 L75.8,78.26 M73.8,298.9 L75.8,298.9 M73.8,313.6 L75.8,313.6 M73.8,328.3 L75.8,328.3 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M421.8,341 L421.8,343 M442.1,341 L442.1,343 M462.5,341 L462.5,343 M503.2,341 L503.2,343 M523.5,341 L523.5,343 M543.9,341 L543.9,343 M381.1,341 L381.1,343 M360.7,341 L360.7,343 M340.4,341 L340.4,343 M299.7,341 L299.7,343 M279.3,341 L279.3,343 M259,341 L259,343 M218.3,341 L218.3,343 M197.9,341 L197.9,343 M177.6,341 L177.6,343 M136.9,341 L136.9,343 M116.5,341 L116.5,343 M96.15,341 L96.15,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M70.8,298.9 L75.8,298.9 M70.8,240.1 L75.8,240.1 M70.8,181.2 L75.8,181.2 M70.8,122.4 L75.8,122.4 M70.8,63.55 L75.8,63.55 M70.8,298.9 L75.8,298.9 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M401.4,341 L401.4,346 M482.8,341 L482.8,346 M564.2,341 L564.2,346 M401.4,341 L401.4,346 M320,341 L320,346 M238.6,341 L238.6,346 M157.2,341 L157.2,346 M75.8,341 L75.8,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="401.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="482.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">5</text>
-<text x="564.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">10</text>
-<text x="401.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="320" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
-<text x="238.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text>
-<text x="157.2" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-15</text>
-<text x="75.8" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-20</text></g>
-<g id="yTicksValues">
-<text x="64.8" y="301.3" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="64.8" y="242.5" text-anchor="end" font-size="12" font-family="Verdana">10</text>
-<text x="64.8" y="183.6" text-anchor="end" font-size="12" font-family="Verdana">20</text>
-<text x="64.8" y="124.8" text-anchor="end" font-size="12" font-family="Verdana">30</text>
-<text x="64.8" y="65.95" text-anchor="end" font-size="12" font-family="Verdana">40</text>
-<text x="64.8" y="301.3" text-anchor="end" font-size="12" font-family="Verdana">0</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">zeta(z)</text></g>
-<g id="xLabel">
-<text x="324.9" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M418.1,63.55 L418.8,211.7 L419.6,244.4 L420.3,258.7 L421,266.7 L421.8,271.8 L422.5,275.4 L423.2,278 L424,280 L424.7,281.6 L425.4,282.9 L426.2,284 L426.9,284.8 L427.6,285.6 L428.3,286.2 L429.1,286.8 L429.8,287.3 L430.5,287.7 L431.3,288.1 L432,288.5 L432.7,288.8 L433.5,289 L434.2,289.3 L434.9,289.5 L435.6,289.7 L436.4,289.9 L437.1,290.1 L437.8,290.3 L438.6,290.4 L439.3,290.6 L440,290.7 L440.8,290.8 L441.5,290.9 L442.2,291 L443,291.1 L443.7,291.2 L444.4,291.3 L445.1,291.4 L445.9,291.5 L446.6,291.5 L447.3,291.6 L448.1,291.7 L448.8,291.7 L449.5,291.8 L450.3,291.8 L451,291.9 L451.7,291.9 L452.5,292 L453.2,292 L453.9,292.1 L454.6,292.1 L455.4,292.1 L456.1,292.2 L456.8,292.2 L457.6,292.2 L458.3,292.3 L459,292.3 L459.8,292.3 L460.5,292.4 L461.2,292.4 L461.9,292.4 L462.7,292.4 L463.4,292.5 L464.1,292.5 L464.9,292.5 L465.6,292.5 L466.3,292.5 L467.1,292.6 L467.8,292.6 L468.5,292.6 L469.3,292.6 L470,292.6 L470.7,292.6 L471.4,292.6 L472.2,292.7 L472.9,292.7 L473.6,292.7 L474.4,292.7 L475.1,292.7 L475.8,292.7 L476.6,292.7 L477.3,292.7 L478,292.8 L478.8,292.8 L479.5,292.8 L480.2,292.8 L480.9,292.8 L481.7,292.8 L482.4,292.8 L483.1,292.8 L483.9,292.8 L484.6,292.8 L485.3,292.8 L486.1,292.8 L486.8,292.8 L487.5,292.9 L488.3,292.9 L489,292.9 L489.7,292.9 L490.4,292.9 L491.2,292.9 L491.9,292.9 L492.6,292.9 L493.4,292.9 L494.1,292.9 L494.8,292.9 L495.6,292.9 L496.3,292.9 L497,292.9 L497.7,292.9 L498.5,292.9 L499.2,292.9 L499.9,292.9 L500.7,292.9 L501.4,292.9 L502.1,292.9 L502.9,292.9 L503.6,292.9 L504.3,292.9 L505.1,292.9 L505.8,293 L506.5,293 L507.2,293 L508,293 L508.7,293 L509.4,293 L510.2,293 L510.9,293 L511.6,293 L512.4,293 L513.1,293 L513.8,293 L514.6,293 L515.3,293 L516,293 L516.7,293 L517.5,293 L518.2,293 L518.9,293 L519.7,293 L520.4,293 L521.1,293 L521.9,293 L522.6,293 L523.3,293 L524,293 L524.8,293 L525.5,293 L526.2,293 L527,293 L527.7,293 L528.4,293 L529.2,293 L529.9,293 L530.6,293 L531.4,293 L532.1,293 L532.8,293 L533.5,293 L534.3,293 L535,293 L535.7,293 L536.5,293 L537.2,293 L537.9,293 L538.7,293 L539.4,293 L540.1,293 L540.9,293 L541.6,293 L542.3,293 L543,293 L543.8,293 L544.5,293 L545.2,293 L546,293 L546.7,293 L547.4,293 L548.2,293 L548.9,293 L549.6,293 L550.4,293 L551.1,293 L551.8,293 L552.5,293 L553.3,293 L554,293 L554.7,293 L555.5,293 L556.2,293 L556.9,293 L557.7,293 L558.4,293 L559.1,293 L559.8,293 L560.6,293 L561.3,293 L562,293 L562.8,293 L563.5,293 " fill="none"/></g>
-<g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M75.8,298.9 L77.51,227.1 L79.22,173.7 L80.92,136.5 L82.63,113.4 L84.34,102.1 L86.05,100.4 L87.75,106.3 L89.46,117.9 L91.17,133.7 L92.88,152 L94.58,171.8 L96.29,192 L98,211.8 L99.71,230.6 L101.4,247.9 L103.1,263.5 L104.8,277.1 L106.5,288.7 L108.2,298.3 L110,306 L111.7,311.9 L113.4,316.1 L115.1,318.9 L116.8,320.4 L118.5,320.9 L120.2,320.6 L121.9,319.5 L123.6,318 L125.3,316.1 L127,314 L128.7,311.8 L130.4,309.5 L132.1,307.4 L133.9,305.3 L135.6,303.4 L137.3,301.8 L139,300.3 L140.7,299.1 L142.4,298.1 L144.1,297.3 L145.8,296.6 L147.5,296.2 L149.2,296 L150.9,295.9 L152.6,295.9 L154.3,296 L156.1,296.1 L157.8,296.4 L159.5,296.7 L161.2,297 L162.9,297.3 L164.6,297.6 L166.3,297.9 L168,298.2 L169.7,298.4 L171.4,298.7 L173.1,298.9 L174.8,299 L176.5,299.2 L178.3,299.3 L180,299.4 L181.7,299.4 L183.4,299.5 L185.1,299.5 L186.8,299.5 L188.5,299.4 L190.2,299.4 L191.9,299.3 L193.6,299.3 L195.3,299.2 L197,299.2 L198.7,299.1 L200.4,299.1 L202.2,299 L203.9,299 L205.6,298.9 L207.3,298.9 L209,298.9 L210.7,298.8 L212.4,298.8 L214.1,298.8 L215.8,298.8 L217.5,298.8 L219.2,298.8 L220.9,298.8 L222.6,298.8 L224.4,298.8 L226.1,298.8 L227.8,298.8 L229.5,298.8 L231.2,298.9 L232.9,298.9 L234.6,298.9 L236.3,298.9 L238,298.9 L239.7,298.9 L241.4,298.9 L243.1,298.9 L244.8,298.9 L246.6,299 L248.3,299 L250,299 L251.7,299 L253.4,299 L255.1,299 L256.8,299 L258.5,298.9 L260.2,298.9 L261.9,298.9 L263.6,298.9 L265.3,298.9 L267,298.9 L268.7,298.9 L270.5,298.9 L272.2,298.9 L273.9,298.9 L275.6,298.9 L277.3,298.9 L279,298.9 L280.7,298.9 L282.4,298.9 L284.1,298.9 L285.8,298.9 L287.5,298.9 L289.2,298.9 L290.9,298.9 L292.7,298.9 L294.4,298.9 L296.1,298.9 L297.8,298.9 L299.5,298.9 L301.2,298.9 L302.9,298.9 L304.6,298.9 L306.3,298.9 L308,298.9 L309.7,298.9 L311.4,298.9 L313.1,298.9 L314.9,298.9 L316.6,298.9 L318.3,298.9 L320,298.9 L321.7,298.9 L323.4,298.9 L325.1,298.9 L326.8,298.9 L328.5,298.9 L330.2,298.9 L331.9,298.9 L333.6,298.9 L335.3,298.9 L337,298.9 L338.8,298.9 L340.5,298.9 L342.2,298.9 L343.9,298.9 L345.6,298.9 L347.3,298.9 L349,298.9 L350.7,298.9 L352.4,298.9 L354.1,298.9 L355.8,298.9 L357.5,298.9 L359.2,298.9 L361,298.9 L362.7,298.9 L364.4,298.9 L366.1,298.9 L367.8,298.9 L369.5,298.9 L371.2,298.9 L372.9,299 L374.6,299 L376.3,299 L378,299.1 L379.7,299.1 L381.4,299.2 L383.2,299.3 L384.9,299.4 L386.6,299.5 L388.3,299.6 L390,299.8 L391.7,299.9 L393.4,300.1 L395.1,300.4 L396.8,300.7 L398.5,301 L400.2,301.5 L401.9,302 L403.6,302.7 L405.3,303.6 L407.1,304.8 L408.8,306.5 L410.5,309 L412.2,313 L413.9,320.7 L415.6,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Zeta Function Over [-20,10]</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/graphs/zeta2.svg b/libs/math/doc/sf_and_dist/graphs/zeta2.svg
deleted file mode 100644
index 4c3245e082..0000000000
--- a/libs/math/doc/sf_and_dist/graphs/zeta2.svg
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="600" height ="400" version="1.1"
-xmlns:svg ="http://www.w3.org/2000/svg"
-xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-xmlns:cc="http://web.resource.org/cc/"
-xmlns:dc="http://purl.org/dc/elements/1.1/"
-xmlns ="http://www.w3.org/2000/svg"
->
-<!-- SVG plot written using Boost.Plot program (Creator Jacob Voytko) -->
-<!-- Use, modification and distribution of Boost.Plot subject to the -->
-<!-- Boost Software License, Version 1.0.-->
-<!-- (See accompanying file LICENSE_1_0.txt -->
-<!-- or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<!-- SVG Plot Copyright John Maddock 2008 -->
-<meta name="copyright" content="John Maddock" />
-<meta name="date" content="2008" />
-<!-- Use, modification and distribution of this Scalable Vector Graphic file -->
-<!-- are subject to the Boost Software License, Version 1.0. -->
-<!-- (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
-
-<clipPath id="plot_window"><rect x="93.6" y="59" width="479.4" height="281"/></clipPath>
-<g id="imageBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="0" y="0" width="600" height="400"/></g>
-<g id="plotBackground" stroke="rgb(119,136,153)" fill="rgb(255,255,255)" stroke-width="2"><rect x="92.6" y="58" width="481.4" height="283"/></g>
-<g id="yMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="yMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="xMinorGrid" stroke="rgb(200,220,255)" stroke-width="0.5"></g>
-<g id="xMajorGrid" stroke="rgb(200,220,255)" stroke-width="1"></g>
-<g id="yAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="564.6" y1="58" x2="564.6" y2="346"/><line x1="92.6" y1="58" x2="92.6" y2="341"/></g>
-<g id="xAxis" stroke="rgb(0,0,0)" stroke-width="1"><line x1="87.6" y1="77.16" x2="574" y2="77.16"/><line x1="87.6" y1="341" x2="574" y2="341"/></g>
-<g id="yMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M90.6,62.17 L92.6,62.17 M90.6,77.16 L92.6,77.16 M90.6,92.14 L92.6,92.14 M90.6,107.1 L92.6,107.1 M90.6,122.1 L92.6,122.1 M90.6,137.1 L92.6,137.1 M90.6,152.1 L92.6,152.1 M90.6,167 L92.6,167 M90.6,182 L92.6,182 M90.6,197 L92.6,197 M90.6,197 L92.6,197 M90.6,212 L92.6,212 M90.6,227 L92.6,227 M90.6,242 L92.6,242 M90.6,256.9 L92.6,256.9 M90.6,271.9 L92.6,271.9 M90.6,286.9 L92.6,286.9 M90.6,301.9 L92.6,301.9 M90.6,316.9 L92.6,316.9 M90.6,331.8 L92.6,331.8 " fill="none"/></g>
-<g id="xMinorTicks" stroke="rgb(0,0,0)" stroke-width="1"><path d="M522.4,341 L522.4,343 M480.3,341 L480.3,343 M438.1,341 L438.1,343 M353.9,341 L353.9,343 M311.7,341 L311.7,343 M269.6,341 L269.6,343 M185.3,341 L185.3,343 M143.2,341 L143.2,343 M101,341 L101,343 " fill="none"/></g>
-<g id="yMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M87.6,77.16 L92.6,77.16 M87.6,77.16 L92.6,77.16 M87.6,137.1 L92.6,137.1 M87.6,197 L92.6,197 M87.6,256.9 L92.6,256.9 M87.6,316.9 L92.6,316.9 " fill="none"/></g>
-<g id="xMajorTicks" stroke="rgb(0,0,0)" stroke-width="2"><path d="M564.6,341 L564.6,346 M564.6,341 L564.6,346 M396,341 L396,346 M227.4,341 L227.4,346 " fill="none"/></g>
-<g id="xTicksValues">
-<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="564.6" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">0</text>
-<text x="396" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-5</text>
-<text x="227.4" y="361.6" text-anchor="middle" font-size="12" font-family="Verdana">-10</text></g>
-<g id="yTicksValues">
-<text x="81.6" y="79.56" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="79.56" text-anchor="end" font-size="12" font-family="Verdana">0</text>
-<text x="81.6" y="139.5" text-anchor="end" font-size="12" font-family="Verdana">-0.1</text>
-<text x="81.6" y="199.4" text-anchor="end" font-size="12" font-family="Verdana">-0.2</text>
-<text x="81.6" y="259.3" text-anchor="end" font-size="12" font-family="Verdana">-0.3</text>
-<text x="81.6" y="319.3" text-anchor="end" font-size="12" font-family="Verdana">-0.4</text></g>
-<g id="yLabel">
-<text x="42.9" y="199.5" text-anchor="middle" transform = "rotate(-90 42.9 199.5 )" font-size="14" font-family="Verdana">zeta(z)</text></g>
-<g id="xLabel">
-<text x="333.3" y="376.7" text-anchor="middle" font-size="14" font-family="Verdana">z</text></g>
-<g id="plotLines" stroke-width="2"><g clip-path="url(#plot_window)" stroke="rgb(0,0,139)" stroke-width="1"><path d="M92.6,77.16 L94.96,88.67 L97.32,98.76 L99.68,107.4 L102,114.7 L104.4,120.7 L106.8,125.4 L109.1,129 L111.5,131.4 L113.8,132.8 L116.2,133.3 L118.6,133 L120.9,131.9 L123.3,130.1 L125.6,127.8 L128,125.1 L130.4,121.9 L132.7,118.5 L135.1,114.8 L137.4,111 L139.8,107.1 L142.2,103.2 L144.5,99.25 L146.9,95.42 L149.2,91.71 L151.6,88.15 L154,84.79 L156.3,81.63 L158.7,78.71 L161,76.04 L163.4,73.63 L165.8,71.48 L168.1,69.6 L170.5,67.99 L172.8,66.65 L175.2,65.56 L177.6,64.72 L179.9,64.11 L182.3,63.73 L184.6,63.55 L187,63.56 L189.4,63.76 L191.7,64.1 L194.1,64.59 L196.4,65.2 L198.8,65.92 L201.2,66.72 L203.5,67.59 L205.9,68.52 L208.2,69.49 L210.6,70.48 L213,71.47 L215.3,72.47 L217.7,73.45 L220,74.41 L222.4,75.33 L224.7,76.21 L227.1,77.04 L229.5,77.81 L231.8,78.53 L234.2,79.17 L236.5,79.75 L238.9,80.26 L241.3,80.7 L243.6,81.06 L246,81.36 L248.3,81.58 L250.7,81.74 L253.1,81.83 L255.4,81.86 L257.8,81.83 L260.1,81.75 L262.5,81.61 L264.9,81.43 L267.2,81.21 L269.6,80.95 L271.9,80.66 L274.3,80.34 L276.7,80 L279,79.65 L281.4,79.28 L283.7,78.9 L286.1,78.52 L288.5,78.15 L290.8,77.77 L293.2,77.41 L295.5,77.06 L297.9,76.72 L300.3,76.4 L302.6,76.11 L305,75.83 L307.3,75.58 L309.7,75.36 L312.1,75.17 L314.4,75.01 L316.8,74.87 L319.1,74.77 L321.5,74.7 L323.9,74.65 L326.2,74.64 L328.6,74.66 L330.9,74.7 L333.3,74.77 L335.7,74.87 L338,74.99 L340.4,75.14 L342.7,75.3 L345.1,75.48 L347.5,75.68 L349.8,75.89 L352.2,76.12 L354.5,76.35 L356.9,76.59 L359.3,76.84 L361.6,77.08 L364,77.33 L366.3,77.58 L368.7,77.82 L371.1,78.05 L373.4,78.27 L375.8,78.48 L378.1,78.68 L380.5,78.86 L382.9,79.02 L385.2,79.16 L387.6,79.29 L389.9,79.39 L392.3,79.46 L394.7,79.52 L397,79.54 L399.4,79.54 L401.7,79.51 L404.1,79.46 L406.5,79.37 L408.8,79.26 L411.2,79.12 L413.5,78.96 L415.9,78.77 L418.3,78.55 L420.6,78.3 L423,78.04 L425.3,77.75 L427.7,77.44 L430.1,77.11 L432.4,76.76 L434.8,76.4 L437.1,76.03 L439.5,75.65 L441.9,75.27 L444.2,74.88 L446.6,74.49 L448.9,74.11 L451.3,73.74 L453.7,73.38 L456,73.05 L458.4,72.73 L460.7,72.44 L463.1,72.19 L465.4,71.98 L467.8,71.82 L470.2,71.71 L472.5,71.67 L474.9,71.69 L477.2,71.79 L479.6,71.98 L482,72.26 L484.3,72.66 L486.7,73.17 L489,73.8 L491.4,74.58 L493.8,75.52 L496.1,76.63 L498.5,77.92 L500.8,79.41 L503.2,81.13 L505.6,83.09 L507.9,85.31 L510.3,87.83 L512.6,90.66 L515,93.83 L517.4,97.39 L519.7,101.4 L522.1,105.8 L524.4,110.7 L526.8,116.2 L529.2,122.3 L531.5,129.1 L533.9,136.7 L536.2,145 L538.6,154.4 L541,164.8 L543.3,176.4 L545.7,189.4 L548,203.9 L550.4,220.2 L552.8,238.6 L555.1,259.4 L557.5,283.1 L559.8,310 L562.2,341 " fill="none"/></g>
-</g>
-<g id="plotPoints" clip-path="url(#plot_window)"></g>
-<g id="title">
-<text x="300" y="40" text-anchor="middle" font-size="20" font-family="Verdana">Zeta Function Over [-14,0]</text></g>
-<g id="plotXValues"></g>
-<g id="plotYValues"></g>
-</svg>
diff --git a/libs/math/doc/sf_and_dist/html/index.html b/libs/math/doc/sf_and_dist/html/index.html
deleted file mode 100644
index f0094e8ccd..0000000000
--- a/libs/math/doc/sf_and_dist/html/index.html
+++ /dev/null
@@ -1,550 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Math Toolkit</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="Math Toolkit">
-<link rel="next" href="math_toolkit/main_overview.html" title="Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="math_toolkit/main_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="article">
-<div class="titlepage">
-<div>
-<div><h2 class="title">
-<a name="math_toolkit"></a>Math Toolkit</h2></div>
-<div><div class="authorgroup">
-<div class="author"><h3 class="author">
-<span class="firstname">John</span> <span class="surname">Maddock</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Paul A.</span> <span class="surname">Bristow</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Hubert</span> <span class="surname">Holin</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Xiaogang</span> <span class="surname">Zhang</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Bruno</span> <span class="surname">Lalande</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Johan</span> <span class="surname">R&#229;de</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Gautam</span> <span class="surname">Sewani</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Thijs</span> <span class="surname">van den Berg</span>
-</h3></div>
-<div class="author"><h3 class="author">
-<span class="firstname">Benjamin</span> <span class="surname">Sobotta</span>
-</h3></div>
-</div></div>
-<div><p class="copyright">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta</p></div>
-<div><div class="legalnotice">
-<a name="math_toolkit.legal"></a><p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="math_toolkit/main_overview.html">Overview</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/main_overview/intro.html">About the Math Toolkit</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/navigation.html">Navigation</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/conventions.html">Document Conventions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/hints.html">Other Hints and tips</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/directories.html">Directory and
- File Structure</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/namespaces.html">Namespaces</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/result_type.html">Calculation of
- the Type of the Result</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/error_handling.html">Error Handling</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/compilers_overview.html">Compilers</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/config_macros.html">Configuration
- Macros</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/pol_overview.html">Policies</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/threads.html">Thread Safety</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/perf_over.html">Performance</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/building.html">If and How to Build
- a Boost.Math Library, and its Examples and Tests</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/history1.html">History and What's
- New</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/tr1.html">C99 and C++ TR1 C-style
- Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/faq.html">Frequently Asked Questions
- FAQ</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/main_overview/contact.html">Contact Info and
- Support</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/dist.html">Statistical Distributions and Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut.html">Statistical Distributions
- Tutorial</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/overview.html">Overview of Distributions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/overview/headers.html">Headers
- and Namespaces</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/overview/objects.html">Distributions
- are Objects</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/overview/generic.html">Generic
- operations common to all distributions are non-member functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/overview/complements.html">Complements
- are supported too - and when to use them</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/overview/parameters.html">Parameters
- can be calculated</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/overview/summary.html">Summary</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg.html">Worked Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/dist_construct_eg.html">Distribution
- Construction Example</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/st_eg.html">Student's t
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/cs_eg.html">Chi Squared
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/f_eg.html">F Distribution
- Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/binom_eg.html">Binomial
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/geometric_eg.html">Geometric
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/neg_binom_eg.html">Negative
- Binomial Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/normal_example.html">Normal
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html">Inverse
- Chi-Squared Distribution Bayes Example</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/nccs_eg.html">Non Central
- Chi Squared Example</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/error_eg.html">Error Handling
- Example</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/find_eg.html">Find Location
- and Scale Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/nag_library.html">Comparison
- with C, R, FORTRAN-style Free Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/weg/c_sharp.html">Using the
- Distributions from Within C#</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/variates.html">Random Variates
- and Distribution Parameters</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/stat_tut/dist_params.html">Discrete Probability
- Distributions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref.html">Statistical Distributions
- Reference</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/nmp.html">Non-Member Properties</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists.html">Distributions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/bernoulli_dist.html">Bernoulli
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/beta_dist.html">Beta
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/binomial_dist.html">Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/cauchy_dist.html">Cauchy-Lorentz
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/chi_squared_dist.html">Chi
- Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/exp_dist.html">Exponential
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/extreme_dist.html">Extreme
- Value Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/f_dist.html">F Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/gamma_dist.html">Gamma
- (and Erlang) Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/geometric_dist.html">Geometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html">Hypergeometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html">Inverse
- Chi Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html">Inverse
- Gamma Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html">Inverse
- Gaussian (or Inverse Normal) Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/laplace_dist.html">Laplace
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/logistic_dist.html">Logistic
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/lognormal_dist.html">Log
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html">Negative
- Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/nc_beta_dist.html">Noncentral
- Beta Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html">Noncentral
- Chi-Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/nc_f_dist.html">Noncentral
- F Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/nc_t_dist.html">Noncentral
- T Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/normal_dist.html">Normal
- (Gaussian) Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/pareto.html">Pareto Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/poisson_dist.html">Poisson
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/rayleigh.html">Rayleigh
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/skew_normal_dist.html">Skew
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/students_t_dist.html">Students
- t Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/triangular_dist.html">Triangular
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/uniform_dist.html">Uniform
- Distribution</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dists/weibull_dist.html">Weibull
- Distribution</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/dist/dist_ref/dist_algorithms.html">Distribution
- Algorithms</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/dist/future.html">Extras/Future Directions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special.html">Special Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma.html">Gamma Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma/tgamma.html">Gamma</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma/lgamma.html">Log Gamma</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma/digamma.html">Digamma</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma/gamma_ratios.html">Ratios
- of Gamma Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma/igamma.html">Incomplete Gamma
- Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma/igamma_inv.html">Incomplete
- Gamma Function Inverses</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_gamma/gamma_derivatives.html">Derivative
- of the Incomplete Gamma Function</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/factorials.html">Factorials and Binomial
- Coefficients</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/factorials/sf_factorial.html">Factorial</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/factorials/sf_double_factorial.html">Double
- Factorial</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/factorials/sf_rising_factorial.html">Rising
- Factorial</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/factorials/sf_falling_factorial.html">Falling
- Factorial</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/factorials/sf_binomial.html">Binomial
- Coefficients</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/sf_beta.html">Beta Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/sf_beta/beta_function.html">Beta</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_beta/ibeta_function.html">Incomplete
- Beta Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_beta/ibeta_inv_function.html">The
- Incomplete Beta Function Inverses</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_beta/beta_derivative.html">Derivative
- of the Incomplete Beta Function</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/sf_erf.html">Error Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/sf_erf/error_function.html">Error Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_erf/error_inv.html">Error Function
- Inverses</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/sf_poly.html">Polynomials</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/sf_poly/legendre.html">Legendre (and
- Associated) Polynomials</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_poly/laguerre.html">Laguerre (and
- Associated) Polynomials</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_poly/hermite.html">Hermite Polynomials</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sf_poly/sph_harm.html">Spherical Harmonics</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/bessel.html">Bessel Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/bessel/bessel_over.html">Bessel Function
- Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/bessel/bessel.html">Bessel Functions
- of the First and Second Kinds</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/bessel/mbessel.html">Modified Bessel
- Functions of the First and Second Kinds</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/bessel/sph_bessel.html">Spherical Bessel
- Functions of the First and Second Kinds</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/hankel.html">Hankel Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/hankel/cyl_hankel.html">Cyclic Hankel
- Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/hankel/sph_hankel.html">Spherical Hankel
- Functions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/ellint.html">Elliptic Integrals</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/ellint/ellint_intro.html">Elliptic
- Integral Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/ellint/ellint_carlson.html">Elliptic
- Integrals - Carlson Form</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/ellint/ellint_1.html">Elliptic Integrals
- of the First Kind - Legendre Form</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/ellint/ellint_2.html">Elliptic Integrals
- of the Second Kind - Legendre Form</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/ellint/ellint_3.html">Elliptic Integrals
- of the Third Kind - Legendre Form</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/zetas.html">Zeta Functions</a></span></dt>
-<dd><dl><dt><span class="section"><a href="math_toolkit/special/zetas/zeta.html">Riemann Zeta Function</a></span></dt></dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/expint.html">Exponential Integrals</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/expint/expint_n.html">Exponential Integral
- En</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/expint/expint_i.html">Exponential Integral
- Ei</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/powers.html">Logs, Powers, Roots and
- Exponentials</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/powers/log1p.html">log1p</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/powers/expm1.html">expm1</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/powers/cbrt.html">cbrt</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/powers/sqrt1pm1.html">sqrt1pm1</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/powers/powm1.html">powm1</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/powers/hypot.html">hypot</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/powers/ct_pow.html">Compile Time Power
- of a Runtime Base</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/sinc.html">Sinus Cardinal and Hyperbolic
- Sinus Cardinal Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/sinc/sinc_overview.html">Sinus Cardinal
- and Hyperbolic Sinus Cardinal Functions Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sinc/sinc_pi.html">sinc_pi</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/sinc/sinhc_pi.html">sinhc_pi</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/inv_hyper.html">Inverse Hyperbolic Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/special/inv_hyper/inv_hyper_over.html">Inverse
- Hyperbolic Functions Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/inv_hyper/acosh.html">acosh</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/inv_hyper/asinh.html">asinh</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/special/inv_hyper/atanh.html">atanh</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/owens_t.html">Owen's T function</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/utils.html">Floating Point Utilities</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/utils/rounding.html">Rounding Truncation and
- Integer Conversion</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/utils/rounding/round.html">Rounding Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/rounding/trunc.html">Truncation Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/rounding/modf.html">Integer and Fractional
- Part Splitting (modf)</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/utils/fpclass.html">Floating-Point Classification:
- Infinities and NaNs</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/sign_functions.html">Sign Manipulation
- Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/fp_facets.html">Facets for Floating-Point
- Infinities and NaNs</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/utils/fp_facets/intro.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/fp_facets/reference.html">Reference</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/fp_facets/examples.html">Examples</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/fp_facets/portability.html">Portability</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/fp_facets/rationale.html">Design Rationale</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/utils/next_float.html">Floating-Point Representation
- Distance (ULP), and Finding Adjacent Floating-Point Values</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/utils/next_float/nextafter.html">Finding the
- Next Representable Value in a Specific Direction (nextafter)</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/next_float/float_next.html">Finding the
- Next Greater Representable Value (float_next)</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/next_float/float_prior.html">Finding
- the Next Smaller Representable Value (float_prior)</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/next_float/float_distance.html">Calculating
- the Representation Distance Between Two Floating Point Values (ULP) float_distance</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/utils/next_float/float_advance.html">Advancing
- a Floating Point Value by a Specific Representation Distance (ULP) float_advance</a></span></dt>
-</dl></dd>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/extern_c.html">TR1 and C99 external "C"
- Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/extern_c/tr1.html">C99 and TR1 C Functions Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/extern_c/c99.html">C99 C Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/extern_c/tr1_ref.html">TR1 C Functions Quick
- Reference</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/constants.html">Mathematical Constants</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/constants/intro.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/constants/tutorial.html">Tutorial</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/constants/tutorial/non_templ.html">Use in non-template
- code</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/constants/tutorial/templ.html">Use in template
- code</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/constants/tutorial/user_def.html">Use With
- User Defined Types</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/constants/constants.html">The Mathematical Constants</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/constants/new_const.html">Defining New Constants</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/constants/FAQ.html">FAQs</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/toolkit.html">Tools and Internal Details</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals_overview.html">Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1.html">Utilities &amp; Tools</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1/series_evaluation.html">Series
- Evaluation</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1/cf.html">Continued Fraction
- Evaluation</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1/rational.html">Polynomial
- and Rational Function Evaluation</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1/roots.html">Root Finding
- With Derivatives: Newton-Raphson, Halley &amp; Schroeder</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1/roots2.html">Root Finding
- Without Derivatives: Bisection, Bracket and TOMS748</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1/minima.html">Locating Function
- Minima: Brent's algorithm</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals1/tuples.html">Tuples</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals2.html">Testing and Development</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals2/polynomials.html">Polynomials</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals2/minimax.html">Minimax Approximations
- and the Remez Algorithm</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals2/error_test.html">Relative
- Error and Testing</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/toolkit/internals2/test_data.html">Graphing,
- Profiling, and Generating Test Data for Special Functions</a></span></dt>
-</dl></dd>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/using_udt.html">Use with User-Defined Floating-Point
- Types</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/using_udt/use_ntl.html">Using With NTL - a High-Precision
- Floating-Point Library</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/using_udt/use_mpfr.html">Using With MPFR / GMP
- - a High-Precision Floating-Point Library</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/using_udt/e_float.html">e_float Support</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/using_udt/concepts.html">Conceptual Requirements
- for Real Number Types</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/using_udt/dist_concept.html">Conceptual Requirements
- for Distribution Types</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/using_udt/archetypes.html">Conceptual Archetypes
- for Reals and Distributions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/policy.html">Policies</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/policy/pol_overview.html">Policy Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial.html">Policy Tutorial</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/what_is_a_policy.html">So
- Just What is a Policy Anyway?</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/policy_tut_defaults.html">Policies
- Have Sensible Defaults</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/policy_usage.html">So How
- are Policies Used Anyway?</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/changing_policy_defaults.html">Changing
- the Policy Defaults</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html">Setting
- Policies for Distributions on an Ad Hoc Basis</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html">Changing
- the Policy on an Ad Hoc Basis for the Special Functions</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/namespace_policies.html">Setting
- Policies at Namespace or Translation Unit Scope</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/user_def_err_pol.html">Calling
- User Defined Error Handlers</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_tutorial/understand_dis_quant.html">Understanding
- Quantiles of Discrete Distributions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref.html">Policy Reference</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/error_handling_policies.html">Error
- Handling Policies</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/internal_promotion.html">Internal
- Floating-point Promotion Policies</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/assert_undefined.html">Mathematically
- Undefined Function Policies</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/discrete_quant_ref.html">Discrete
- Quantile Policies</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/precision_pol.html">Precision
- Policies</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/iteration_pol.html">Iteration
- Limits Policies</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/policy_defaults.html">Using
- Macros to Change the Policy Defaults</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/namespace_pol.html">Setting
- Polices at Namespace Scope</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/policy/pol_ref/pol_ref_ref.html">Policy Class
- Reference</a></span></dt>
-</dl></dd>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/perf.html">Performance</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/perf/perf_over.html">Performance Overview</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/perf/interp.html">Interpreting these Results</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/perf/getting_best.html">Getting the Best Performance
- from this Library</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/perf/comp_compilers.html">Comparing Compilers</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/perf/tuning.html">Performance Tuning Macros</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/perf/comparisons.html">Comparisons to Other Open
- Source Libraries</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/perf/perf_test_app.html">The Performance Test
- Application</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/backgrounders.html">Backgrounders</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/backgrounders/implementation.html">Additional
- Implementation Notes</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/backgrounders/relative_error.html">Relative Error</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/backgrounders/lanczos.html">The Lanczos Approximation</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/backgrounders/remez.html">The Remez Method</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/backgrounders/refs.html">References</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="math_toolkit/status.html">Library Status</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="math_toolkit/status/history1.html">History and What's New</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/status/issues.html">Known Issues, and TODO List</a></span></dt>
-<dt><span class="section"><a href="math_toolkit/status/credits.html">Credits and Acknowledgements</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="index/s13.html">Function Index</a></span></dt>
-<dt><span class="section"><a href="index/s14.html">Class Index</a></span></dt>
-<dt><span class="section"><a href="index/s15.html">Typedef Index</a></span></dt>
-<dt><span class="section"><a href="index/s16.html">Macro Index</a></span></dt>
-<dt><span class="section"><a href="index/s17.html">Index</a></span></dt>
-</dl>
-</div>
-<p>
- This manual is also available in <a href="http://sourceforge.net/projects/boost/files/boost-docs/" target="_top">printer
- friendly PDF format</a>, and as a CD ISBN 0-9504833-2-X 978-0-9504833-2-0,
- Classification 519.2-dc22.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: May 14, 2012 at 18:06:46 GMT</small></p></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="math_toolkit/main_overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/index/s13.html b/libs/math/doc/sf_and_dist/html/index/s13.html
deleted file mode 100644
index b73f963b6c..0000000000
--- a/libs/math/doc/sf_and_dist/html/index/s13.html
+++ /dev/null
@@ -1,2299 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Function Index</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="../math_toolkit/status/credits.html" title="Credits and Acknowledgements">
-<link rel="next" href="s14.html" title="Class Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../math_toolkit/status/credits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s14.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section id1277851">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1277851"></a>Function Index</h2></div></div></div>
-<p><a class="link" href="s13.html#idx_id_0">A</a> <a class="link" href="s13.html#idx_id_1">B</a> <a class="link" href="s13.html#idx_id_2">C</a> <a class="link" href="s13.html#idx_id_3">D</a> <a class="link" href="s13.html#idx_id_4">E</a> <a class="link" href="s13.html#idx_id_5">F</a> <a class="link" href="s13.html#idx_id_6">G</a> <a class="link" href="s13.html#idx_id_7">H</a> <a class="link" href="s13.html#idx_id_8">I</a> <a class="link" href="s13.html#idx_id_9">K</a> <a class="link" href="s13.html#idx_id_10">L</a> <a class="link" href="s13.html#idx_id_11">M</a> <a class="link" href="s13.html#idx_id_12">N</a> <a class="link" href="s13.html#idx_id_13">O</a> <a class="link" href="s13.html#idx_id_14">P</a> <a class="link" href="s13.html#idx_id_15">Q</a> <a class="link" href="s13.html#idx_id_16">R</a> <a class="link" href="s13.html#idx_id_17">S</a> <a class="link" href="s13.html#idx_id_18">T</a> <a class="link" href="s13.html#idx_id_19">U</a> <a class="link" href="s13.html#idx_id_20">V</a> <a class="link" href="s13.html#idx_id_21">W</a> <a class="link" href="s13.html#idx_id_22">Z</a></p>
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_0"></a><span class="term">A</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">acosh</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/inv_hyper/acosh.html" title="acosh"><span class="index-entry-level-1">acosh</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">acoshf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">acoshl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">asinh</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/inv_hyper/asinh.html" title="asinh"><span class="index-entry-level-1">asinh</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">asinhf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">asinhl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_laguerre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_laguerref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_laguerrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_legendre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_legendref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_legendrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">atanh</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/inv_hyper/atanh.html" title="atanh"><span class="index-entry-level-1">atanh</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">atanhf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">atanhl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_1"></a><span class="term">B</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">beta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Beta</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_beta_a__b__x_" title="Table&#160;28.&#160;Errors In the Function beta(a, b, x)"><span class="index-entry-level-1">Errors In the Function beta(a, b, x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">betac</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_betac_a_b_x_" title="Table&#160;29.&#160;Errors In the Function betac(a,b,x)"><span class="index-entry-level-1">Errors In the Function betac(a,b,x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">betaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">betal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">binomial_coefficient</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">brent_find_minima</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_2"></a><span class="term">C</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">c</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cbrt</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/cbrt.html" title="cbrt"><span class="index-entry-level-1">cbrt</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cbrtf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cbrtl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cdf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example"><span class="index-entry-level-1">Binomial Coin-Flipping Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies"><span class="index-entry-level-1">Discrete Quantile Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/future.html" title="Extras/Future Directions"><span class="index-entry-level-1">Extras/Future Directions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">changesign</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">checked_narrowing_cast</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/error_handling.html" title="Error Handling"><span class="index-entry-level-1">Error Handling</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">chf</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_1</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_1f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_1l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_3</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_3f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_3l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">conf_hyperg</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">conf_hypergf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">conf_hypergl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">continued_fraction_a</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">continued_fraction_b</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">copysign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">copysignf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">copysignl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_i</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_if</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_il</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_j</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_jf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_jl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_k</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_kf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_kl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_neumann</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_neumannf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_neumannl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_3"></a><span class="term">D</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-0">digamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_double_factorial.html" title="Double Factorial"><span class="index-entry-level-0">double_factorial</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_4"></a><span class="term">E</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_1</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the First Kind - Legendre Form</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_1f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_1l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Second Kind - Legendre Form</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_3</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Third Kind - Legendre Form</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_3f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_3l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rc</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rd</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rf</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rj</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">epsilon</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html#math_toolkit.special.sf_erf.error_function.errors_in_the_function_erf_z_" title="Table&#160;30.&#160;Errors In the Function erf(z)"><span class="index-entry-level-1">Errors In the Function erf(z)</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfc</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html#math_toolkit.special.sf_erf.error_function.errors_in_the_function_erfc_z_" title="Table&#160;31.&#160;Errors In the Function erfc(z)"><span class="index-entry-level-1">Errors In the Function erfc(z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfcf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfcl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfc_inv</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erff</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erf_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_even_polynomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_odd_polynomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_polynomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_rational</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exp2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exp2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exp2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_n.html#math_toolkit.special.expint.expint_n.errors_in_the_function_expint_n__z_" title="Table&#160;48.&#160;Errors In the Function expint(n, z)"><span class="index-entry-level-1">Errors In the Function expint(n, z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html#math_toolkit.special.expint.expint_i.errors_in_the_function_expint_z_" title="Table&#160;49.&#160;Errors In the Function expint(z)"><span class="index-entry-level-1">Errors In the Function expint(z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_n.html" title="Exponential Integral En"><span class="index-entry-level-1">Exponential Integral En</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expm1</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/expm1.html" title="expm1"><span class="index-entry-level-1">expm1</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expm1f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expm1l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">e_float</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/e_float.html" title="e_float Support"><span class="index-entry-level-1">e_float Support</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_5"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-0">factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_falling_factorial.html" title="Falling Factorial"><span class="index-entry-level-0">falling_factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fdim</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fdimf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fdiml</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_beta</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_degrees_of_freedom</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_location</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_lower_bound_on_p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_non_centrality</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_scale</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_upper_bound_on_p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_advance</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_distance</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_next.html" title="Finding the Next Greater Representable Value (float_next)"><span class="index-entry-level-1">Finding the Next Greater Representable Value (float_next)</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_prior</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)"><span class="index-entry-level-1">Finding the Next Smaller Representable Value (float_prior)</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmax</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmaxf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmaxl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmin</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fminf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fminl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fpclassify</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_6"></a><span class="term">G</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_p_a_z_" title="Table&#160;21.&#160;Errors In the Function gamma_p(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_p(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p_derivative</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function"><span class="index-entry-level-1">Derivative of the Incomplete Gamma Function</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p_inva</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_q</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_q_a_z_" title="Table&#160;22.&#160;Errors In the Function gamma_q(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_q(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_q_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_q_inva</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">get</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">Use With User Defined Types</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">get_from_string</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">get_user_parameter_info</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_7"></a><span class="term">H</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">halley_iterate</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hazard</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermite</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermitef</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermitel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermite_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hyperg</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypergf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypergl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypot</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/hypot.html" title="hypot"><span class="index-entry-level-1">hypot</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypotf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypotl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_8"></a><span class="term">I</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b_x_" title="Table&#160;26.&#160;Errors In the Function ibeta(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibeta(a,b,x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_b_x_" title="Table&#160;27.&#160;Errors In the Function ibetac(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibetac(a,b,x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac_inva</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac_invb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_derivative</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function"><span class="index-entry-level-1">Derivative of the Incomplete Beta Function</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_inva</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_invb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ilogb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ilogbf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ilogbl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">infinity</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">insert</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">iround</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isfinite</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isinf</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isnan</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isnormal</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">itrunc</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_9"></a><span class="term">K</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">kahan_sum_series</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">kurtosis</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">kurtosis_excess</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_10"></a><span class="term">L</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerre_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ldexp</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre_p</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre_q</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lgamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lgammaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lgammal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llrint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llrintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llrintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llround</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llroundf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llroundl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lltrunc</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">location</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1pf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1pl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logbf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logbl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lrint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lrintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lrintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lround</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lroundf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lroundl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ltrunc</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_11"></a><span class="term">M</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_periodic_param</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_policy</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_power_param</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_random_param</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">mean</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">median</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">mode</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">msg</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_12"></a><span class="term">N</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nan</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets/intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets/reference.html" title="Reference"><span class="index-entry-level-1">Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nanf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nanl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nearbyint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nearbyintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nearbyintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">newton_raphson_iterate</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nextafter</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)"><span class="index-entry-level-1">Finding the Next Representable Value in a Specific Direction (nextafter)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nextafterf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nextafterl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nexttoward</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nexttowardf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nexttowardl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">norm</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_13"></a><span class="term">O</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">owens_t</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/owens_t.html" title="Owen's T function"><span class="index-entry-level-1">Owen's T function</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_14"></a><span class="term">P</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">pdf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/powm1.html" title="powm1"><span class="index-entry-level-0">powm1</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_15"></a><span class="term">Q</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">quantile</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview.html" title="Overview of Distributions"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">Conceptual Requirements for Distribution Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_16"></a><span class="term">R</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">r</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">range</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/compilers_overview.html" title="Compilers"><span class="index-entry-level-1">Compilers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">relative_error</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">Relative Error and Testing</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remainder</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remainderf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remainderl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remquo</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remquof</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remquol</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">riemann_zeta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">riemann_zetaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">riemann_zetal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_rising_factorial.html" title="Rising Factorial"><span class="index-entry-level-0">rising_factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">round</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">roundf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">roundl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">RR</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">Distribution Construction Example</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_17"></a><span class="term">S</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbln</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalblnf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalblnl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbn</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbnf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbnl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scale</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">schroeder_iterate</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">shape</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sign</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">signbit</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sinc/sinc_pi.html" title="sinc_pi"><span class="index-entry-level-0">sinc_pi</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sinc/sinhc_pi.html" title="sinhc_pi"><span class="index-entry-level-0">sinhc_pi</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">skewness</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">spherical_harmonic</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">spherical_harmonic_i</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">spherical_harmonic_r</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_bessel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_besself</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_bessell</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_legendre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_legendref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_legendrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_neumann</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_neumannf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_neumannl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/sqrt1pm1.html" title="sqrt1pm1"><span class="index-entry-level-0">sqrt1pm1</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">standard_deviation</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sum_series</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_18"></a><span class="term">T</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">test</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">Relative Error and Testing</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions"><span class="index-entry-level-1">Changing the Policy on an Ad Hoc Basis for the Special Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_a_z_" title="Table&#160;24.&#160;Errors In the Function tgamma(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma1pm1</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgammaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgammal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma_delta_ratio</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_delta_ratio_a__delta_" title="Table&#160;19.&#160;Errors In the Function tgamma_delta_ratio(a, delta)"><span class="index-entry-level-1">Errors In the Function tgamma_delta_ratio(a, delta)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma_lower</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_lower_a_z_" title="Table&#160;23.&#160;Errors In the Function tgamma_lower(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma_lower(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma_ratio</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ratio_a__b_" title="Table&#160;20.&#160;Errors In the Function tgamma_ratio(a, b)"><span class="index-entry-level-1">Errors In the Function tgamma_ratio(a, b)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tol</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trunc</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">truncf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">truncl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_19"></a><span class="term">U</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_denorm_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_domain_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_evaluation_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_indeterminate_result_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_overflow_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_pole_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_rounding_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_underflow_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_20"></a><span class="term">V</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">value</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">variance</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation"><span class="index-entry-level-1">Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_21"></a><span class="term">W</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">write_code</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">write_csv</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_22"></a><span class="term">Z</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">zeta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html#math_toolkit.special.zetas.zeta.errors_in_the_function_zeta_z_" title="Table&#160;47.&#160;Errors In the Function zeta(z)"><span class="index-entry-level-1">Errors In the Function zeta(z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">Riemann Zeta Function</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../math_toolkit/status/credits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s14.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/index/s14.html b/libs/math/doc/sf_and_dist/html/index/s14.html
deleted file mode 100644
index b6ad66578b..0000000000
--- a/libs/math/doc/sf_and_dist/html/index/s14.html
+++ /dev/null
@@ -1,245 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class Index</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="s13.html" title="Function Index">
-<link rel="next" href="s15.html" title="Typedef Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s13.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s15.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section id1293285">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1293285"></a>Class Index</h2></div></div></div>
-<p><a class="link" href="s14.html#idx_id_24">B</a> <a class="link" href="s14.html#idx_id_25">C</a> <a class="link" href="s14.html#idx_id_26">D</a> <a class="link" href="s14.html#idx_id_27">E</a> <a class="link" href="s14.html#idx_id_28">F</a> <a class="link" href="s14.html#idx_id_29">G</a> <a class="link" href="s14.html#idx_id_30">H</a> <a class="link" href="s14.html#idx_id_31">I</a> <a class="link" href="s14.html#idx_id_33">L</a> <a class="link" href="s14.html#idx_id_34">M</a> <a class="link" href="s14.html#idx_id_35">N</a> <a class="link" href="s14.html#idx_id_37">P</a> <a class="link" href="s14.html#idx_id_39">R</a> <a class="link" href="s14.html#idx_id_40">S</a> <a class="link" href="s14.html#idx_id_41">T</a> <a class="link" href="s14.html#idx_id_42">U</a> <a class="link" href="s14.html#idx_id_44">W</a></p>
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_24"></a><span class="term">B</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-0">bernoulli_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-0">beta_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-0">binomial_distribution</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_25"></a><span class="term">C</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cauchy_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-0">chi_squared_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">construction_traits</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">Use With User Defined Types</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_26"></a><span class="term">D</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">default_policy</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_27"></a><span class="term">E</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">eps_tolerance</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">equal_ceil</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">equal_floor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">equal_nearest_integer</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-0">exponential_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-0">extreme_value_distribution</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_28"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fisher_f_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_29"></a><span class="term">G</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-0">geometric_distribution</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_30"></a><span class="term">H</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-0">hypergeometric_distribution</span></a></p></li></ul></div></dd>
-<dt>
-<a name="idx_id_31"></a><span class="term">I</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-0">inverse_chi_squared_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-0">inverse_gamma_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">inverse_gaussian_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_33"></a><span class="term">L</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-0">laplace_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1p_series</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-0">logistic_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lognormal_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_34"></a><span class="term">M</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">max_factorial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_35"></a><span class="term">N</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-0">negative_binomial_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nonfinite_num_get</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nonfinite_num_put</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_beta_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_chi_squared_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_f_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_t_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">normalise</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">normal_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_37"></a><span class="term">P</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-0">pareto_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-0">poisson_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">promote_args</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_39"></a><span class="term">R</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-0">rayleigh_distribution</span></a></p></li></ul></div></dd>
-<dt>
-<a name="idx_id_40"></a><span class="term">S</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-0">skew_normal_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-0">students_t_distribution</span></a></p></li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_41"></a><span class="term">T</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">test_data</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">triangular_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></strong></span></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_42"></a><span class="term">U</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-0">uniform_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">upper_incomplete_gamma_fract</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_44"></a><span class="term">W</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-0">weibull_distribution</span></a></p></li></ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s13.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s15.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/index/s15.html b/libs/math/doc/sf_and_dist/html/index/s15.html
deleted file mode 100644
index 5c7fd584b1..0000000000
--- a/libs/math/doc/sf_and_dist/html/index/s15.html
+++ /dev/null
@@ -1,405 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Typedef Index</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="s14.html" title="Class Index">
-<link rel="next" href="s16.html" title="Macro Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s14.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s16.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section id1294226">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1294226"></a>Typedef Index</h2></div></div></div>
-<p><a class="link" href="s15.html#idx_id_46">A</a> <a class="link" href="s15.html#idx_id_47">B</a> <a class="link" href="s15.html#idx_id_48">C</a> <a class="link" href="s15.html#idx_id_49">D</a> <a class="link" href="s15.html#idx_id_50">E</a> <a class="link" href="s15.html#idx_id_51">F</a> <a class="link" href="s15.html#idx_id_52">G</a> <a class="link" href="s15.html#idx_id_53">H</a> <a class="link" href="s15.html#idx_id_54">I</a> <a class="link" href="s15.html#idx_id_56">L</a> <a class="link" href="s15.html#idx_id_58">N</a> <a class="link" href="s15.html#idx_id_59">O</a> <a class="link" href="s15.html#idx_id_60">P</a> <a class="link" href="s15.html#idx_id_62">R</a> <a class="link" href="s15.html#idx_id_63">S</a> <a class="link" href="s15.html#idx_id_64">T</a> <a class="link" href="s15.html#idx_id_65">U</a> <a class="link" href="s15.html#idx_id_66">V</a> <a class="link" href="s15.html#idx_id_67">W</a></p>
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_46"></a><span class="term">A</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assert_undefined_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_47"></a><span class="term">B</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">bernoulli</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">beta</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">binomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_48"></a><span class="term">C</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cauchy</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">chi_squared</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_49"></a><span class="term">D</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">denorm_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">discrete_quantile_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">domain_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">double_t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_50"></a><span class="term">E</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluation_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exponential</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">extreme_value</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_51"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fisher_f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">Setting Policies for Distributions on an Ad Hoc Basis</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_52"></a><span class="term">G</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">geometric</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_53"></a><span class="term">H</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypergeometric</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_54"></a><span class="term">I</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">indeterminate_result_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">inverse_chi_squared</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">inverse_gaussian</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_56"></a><span class="term">L</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laplace</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logistic</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lognormal</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_58"></a><span class="term">N</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">negative_binomial</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">Distribution Construction Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_beta</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_chi_squared</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_f</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_t</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">normal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_59"></a><span class="term">O</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">overflow_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_60"></a><span class="term">P</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">pareto</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">poisson</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">pole_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">policy_type</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">precision_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">promote_double_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">promote_float_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_62"></a><span class="term">R</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rayleigh</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rounding_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_63"></a><span class="term">S</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">students_t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/namespaces.html" title="Namespaces"><span class="index-entry-level-1">Namespaces</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_64"></a><span class="term">T</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">triangular</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_65"></a><span class="term">U</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">underflow_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">uniform</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_66"></a><span class="term">V</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">value_type</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_67"></a><span class="term">W</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">weibull</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li></ul></div>
-</li></ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s14.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s16.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/index/s16.html b/libs/math/doc/sf_and_dist/html/index/s16.html
deleted file mode 100644
index 61968a82e1..0000000000
--- a/libs/math/doc/sf_and_dist/html/index/s16.html
+++ /dev/null
@@ -1,303 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Macro Index</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="s15.html" title="Typedef Index">
-<link rel="next" href="s17.html" title="Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s15.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s17.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section id1299320">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1299320"></a>Macro Index</h2></div></div></div>
-<p><a class="link" href="s16.html#idx_id_70">B</a> <a class="link" href="s16.html#idx_id_74">F</a></p>
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_70"></a><span class="term">B</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_CONSTANTS_GENERATE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_DEFINE_MATH_CONSTANT</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/FAQ.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_FPU_EXCEPTION_GUARD</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_LOG1P</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">Mathematically Undefined Function Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_CONTROL_FP</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DENORM_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DIGITS10_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">Binomial Quiz Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DOMAIN_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EVALUATION_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_CODE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_FPU</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_VARIABLE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INT_TABLE_TYPE</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INT_VALUE_SUFFIX</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_MAX_POLY_ORDER</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/compilers_overview.html#math_toolkit.main_overview.compilers_overview.supported_tested_compilers" title="Table&#160;9.&#160;Supported/Tested Compilers"><span class="index-entry-level-1">Supported/Tested Compilers</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_POLE_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_POLY_METHOD</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_FLOAT_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_RATIONAL_METHOD</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_ROUNDING_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_SMALL_CONSTANT</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_STD_USING</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_UNDERFLOW_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_USE_C99</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_74"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_INFINITE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_NAN</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_NORMAL</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_SUBNORMAL</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_ZERO</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s15.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s17.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/index/s17.html b/libs/math/doc/sf_and_dist/html/index/s17.html
deleted file mode 100644
index b7344d7e32..0000000000
--- a/libs/math/doc/sf_and_dist/html/index/s17.html
+++ /dev/null
@@ -1,4796 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Index</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="s16.html" title="Macro Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s16.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section id1301093">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1301093"></a>Index</h2></div></div></div>
-<p><a class="link" href="s17.html#idx_id_92">A</a> <a class="link" href="s17.html#idx_id_93">B</a> <a class="link" href="s17.html#idx_id_94">C</a> <a class="link" href="s17.html#idx_id_95">D</a> <a class="link" href="s17.html#idx_id_96">E</a> <a class="link" href="s17.html#idx_id_97">F</a> <a class="link" href="s17.html#idx_id_98">G</a> <a class="link" href="s17.html#idx_id_99">H</a> <a class="link" href="s17.html#idx_id_100">I</a> <a class="link" href="s17.html#idx_id_101">K</a> <a class="link" href="s17.html#idx_id_102">L</a> <a class="link" href="s17.html#idx_id_103">M</a> <a class="link" href="s17.html#idx_id_104">N</a> <a class="link" href="s17.html#idx_id_105">O</a> <a class="link" href="s17.html#idx_id_106">P</a> <a class="link" href="s17.html#idx_id_107">Q</a> <a class="link" href="s17.html#idx_id_108">R</a> <a class="link" href="s17.html#idx_id_109">S</a> <a class="link" href="s17.html#idx_id_110">T</a> <a class="link" href="s17.html#idx_id_111">U</a> <a class="link" href="s17.html#idx_id_112">V</a> <a class="link" href="s17.html#idx_id_113">W</a> <a class="link" href="s17.html#idx_id_114">Z</a></p>
-<div class="variablelist"><dl>
-<dt>
-<a name="idx_id_92"></a><span class="term">A</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">acosh</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/inv_hyper/acosh.html" title="acosh"><span class="index-entry-level-1">acosh</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">acoshf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">acoshl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">float_advance</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">float_distance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">asinh</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/inv_hyper/asinh.html" title="asinh"><span class="index-entry-level-1">asinh</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">asinhf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">asinhl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assert_undefined_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_laguerre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_laguerref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_laguerrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_legendre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_legendref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">assoc_legendrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">atanh</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/inv_hyper/atanh.html" title="atanh"><span class="index-entry-level-1">atanh</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">atanhf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">atanhl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_93"></a><span class="term">B</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">bernoulli</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Bernoulli Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">bernoulli</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">bernoulli_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">skewness</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-0">bernoulli_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Bessel Functions of the First and Second Kinds</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Beta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">beta</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">beta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Beta</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_beta_a__b__x_" title="Table&#160;28.&#160;Errors In the Function beta(a, b, x)"><span class="index-entry-level-1">Errors In the Function beta(a, b, x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Beta Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">beta_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">find_beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibetac</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibetac_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_inva</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">ibeta_invb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">betac</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_betac_a_b_x_" title="Table&#160;29.&#160;Errors In the Function betac(a,b,x)"><span class="index-entry-level-1">Errors In the Function betac(a,b,x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">betaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">betal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-0">beta_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">binomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Binomial Coefficients</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">binomial_coefficient</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Binomial Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">binomial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">binomial_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">find_lower_bound_on_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">find_upper_bound_on_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">binomial_coefficient</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_binomial.html" title="Binomial Coefficients"><span class="index-entry-level-1">Binomial Coefficients</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-0">binomial_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Boost.Math Macros</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_FPU_EXCEPTION_GUARD</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_CONTROL_FP</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_INSTRUMENT_CODE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_INSTRUMENT_FPU</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_INSTRUMENT_VARIABLE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_SMALL_CONSTANT</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_STD_USING</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">BOOST_MATH_USE_C99</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">constants</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Boost.Math Tuning</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_INT_TABLE_TYPE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_INT_VALUE_SUFFIX</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_MAX_POLY_ORDER</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_POLY_METHOD</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">BOOST_MATH_RATIONAL_METHOD</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">constants</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_CONSTANTS_GENERATE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_DEFINE_MATH_CONSTANT</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/FAQ.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_FPU_EXCEPTION_GUARD</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_HAS_LOG1P</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">Mathematically Undefined Function Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_CONTROL_FP</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DENORM_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DIGITS10_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">Binomial Quiz Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_DOMAIN_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EVALUATION_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_CODE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_FPU</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INSTRUMENT_VARIABLE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INT_TABLE_TYPE</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_INT_VALUE_SUFFIX</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_MAX_POLY_ORDER</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">Iteration Limits Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/compilers_overview.html#math_toolkit.main_overview.compilers_overview.supported_tested_compilers" title="Table&#160;9.&#160;Supported/Tested Compilers"><span class="index-entry-level-1">Supported/Tested Compilers</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">Changing the Policy Defaults</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_POLE_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_POLY_METHOD</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_PROMOTE_FLOAT_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_RATIONAL_METHOD</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_ROUNDING_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_SMALL_CONSTANT</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_STD_USING</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_UNDERFLOW_ERROR_POLICY</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">Using Macros to Change the Policy Defaults</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">BOOST_MATH_USE_C99</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">brent_find_minima</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_94"></a><span class="term">C</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">c</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">C99 and C++ TR1 C-style Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">acosh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">acoshf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">acoshl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">asinh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">asinhf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">asinhl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_laguerre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_laguerref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_laguerrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">assoc_legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">atanh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">atanhf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">atanhl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">betaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">betal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cbrt</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cbrtf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cbrtl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_3</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_3f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">comp_ellint_3l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">conf_hyperg</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">conf_hypergf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">conf_hypergl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">copysign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">copysignf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">copysignl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_if</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_il</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_jf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_jl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_kf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_bessel_kl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_neumannf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">cyl_neumannl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">double_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_3</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_3f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ellint_3l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfcf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfcl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erff</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">erfl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">exp2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">exp2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">exp2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expm1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expm1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">expm1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fdim</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fdimf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fdiml</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">float_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmax</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmaxf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmaxl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fmin</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fminf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">fminl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hermite</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hermitef</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hermitel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hyperg</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypergf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypergl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypot</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypotf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">hypotl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ilogb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ilogbf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">ilogbl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">laguerre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">laguerref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">laguerrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lgammaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lgammal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llrint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llrintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llrintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llroundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">llroundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log1p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log1pf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log1pl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">log2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">logb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">logbf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">logbl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lrint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lrintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lrintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lroundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">lroundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nan</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nanf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nanl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nearbyint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nearbyintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nearbyintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nextafter</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nextafterf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nextafterl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nexttoward</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nexttowardf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">nexttowardl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remainder</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remainderf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remainderl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remquo</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remquof</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">remquol</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">riemann_zeta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">riemann_zetaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">riemann_zetal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">rint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">rintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">rintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">round</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">roundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">roundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbln</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalblnf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalblnl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbn</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbnf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">scalbnl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_besself</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_bessell</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_neumannf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">sph_neumannl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">tgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">tgammaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">tgammal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">trunc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">truncf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">truncl</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">C99 and TR1 C Functions Overview</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">acosh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">acoshf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">acoshl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">asinh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">asinhf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">asinhl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_laguerre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_laguerref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_laguerrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">assoc_legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">atanh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">atanhf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">atanhl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">betaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">betal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cbrt</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cbrtf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cbrtl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_3</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_3f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">comp_ellint_3l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">conf_hyperg</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">conf_hypergf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">conf_hypergl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">copysign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">copysignf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">copysignl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_if</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_il</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_jf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_jl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_kf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_bessel_kl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_neumannf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">cyl_neumannl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">double_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_3</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_3f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ellint_3l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfcf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfcl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erff</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">erfl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">exp2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">exp2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">exp2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expm1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expm1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">expm1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fdim</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fdimf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fdiml</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">float_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmax</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmaxf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmaxl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fmin</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fminf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">fminl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hermite</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hermitef</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hermitel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hyperg</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypergf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypergl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypot</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypotf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">hypotl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ilogb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ilogbf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">ilogbl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">laguerre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">laguerref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">laguerrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lgammaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lgammal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llrint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llrintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llrintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llroundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">llroundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log1p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log1pf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log1pl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">log2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">logb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">logbf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">logbl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lrint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lrintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lrintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lroundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">lroundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nan</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nanf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nanl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nearbyint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nearbyintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nearbyintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nextafter</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nextafterf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nextafterl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nexttoward</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nexttowardf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">nexttowardl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remainder</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remainderf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remainderl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remquo</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remquof</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">remquol</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">riemann_zeta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">riemann_zetaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">riemann_zetal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">rint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">rintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">rintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">round</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">roundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">roundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbln</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalblnf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalblnl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbn</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbnf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">scalbnl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_besself</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_bessell</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_neumannf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">sph_neumannl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">tgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">tgammaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">tgammal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">trunc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">truncf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">truncl</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">C99 C Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">acosh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">acoshf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">acoshl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">asinh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">asinhf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">asinhl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">atanh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">atanhf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">atanhl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">cbrt</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">cbrtf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">cbrtl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">copysign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">copysignf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">copysignl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">double_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfcf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfcl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erff</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">erfl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expm1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expm1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expm1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">float_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmax</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmaxf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmaxl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fmin</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fminf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">fminl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">hypot</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">hypotf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">hypotl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lgammaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lgammal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">llround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">llroundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">llroundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">log1p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">log1pf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">log1pl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lroundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">lroundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nextafter</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nextafterf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nextafterl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nexttoward</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nexttowardf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">nexttowardl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">round</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">roundf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">roundl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">tgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">tgammaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">tgammal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">trunc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">truncf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">truncl</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Calling User Defined Error Handlers</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">erf_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">msg</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">promote_args</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">tgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_denorm_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_domain_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_evaluation_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_indeterminate_result_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_overflow_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_pole_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_rounding_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">user_underflow_error</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cauchy</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Cauchy-Lorentz Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">cauchy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">cauchy_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cauchy_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cbrt</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/cbrt.html" title="cbrt"><span class="index-entry-level-1">cbrt</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cbrtf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cbrtl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cdf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example"><span class="index-entry-level-1">Binomial Coin-Flipping Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies"><span class="index-entry-level-1">Discrete Quantile Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/future.html" title="Extras/Future Directions"><span class="index-entry-level-1">Extras/Future Directions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">changesign</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Changing the Policy Defaults</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Changing the Policy on an Ad Hoc Basis for the Special Functions</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions"><span class="index-entry-level-1">tgamma</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">checked_narrowing_cast</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/error_handling.html" title="Error Handling"><span class="index-entry-level-1">Error Handling</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">chf</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Chi Squared Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">chi_squared</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">chi_squared_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">find_degrees_of_freedom</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">gamma_p_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">gamma_q_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">value</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">chi_squared</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-0">chi_squared_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Compile Time Power of a Runtime Base</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">log2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">user_overflow_error</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Compilers</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/compilers_overview.html" title="Compilers"><span class="index-entry-level-1">range</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Complements are supported too - and when to use them</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview.html" title="Overview of Distributions"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview.html" title="Overview of Distributions"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview.html" title="Overview of Distributions"><span class="index-entry-level-1">quantile</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_1</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_1f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_1l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_3</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_3f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">comp_ellint_3l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Conceptual Requirements for Distribution Types</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">quantile</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Conceptual Requirements for Real Number Types</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">iround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">itrunc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">ldexp</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">round</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">trunc</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">confidence intervals on the mean with the Students-t distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">t</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">conf_hyperg</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">conf_hypergf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">conf_hypergl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">constants</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">Binomial Quiz Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_macros" title="Table&#160;11.&#160;Boost.Math Macros"><span class="index-entry-level-1">Boost.Math Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/config_macros.html#math_toolkit.main_overview.config_macros.boost_math_tuning" title="Table&#160;12.&#160;Boost.Math Tuning"><span class="index-entry-level-1">Boost.Math Tuning</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview.html" title="Overview of Distributions"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">Credits and Acknowledgements</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">Digamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/directories.html" title="Directory and File Structure"><span class="index-entry-level-1">Directory and File Structure</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/FAQ.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants.html" title="Mathematical Constants"><span class="index-entry-level-1">Mathematical Constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm"><span class="index-entry-level-1">Minimax Approximations and the Remez Algorithm</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">Riemann Zeta Function</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">The Lanczos Approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/constants.html" title="The Mathematical Constants"><span class="index-entry-level-1">The Mathematical Constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/remez.html" title="The Remez Method"><span class="index-entry-level-1">The Remez Method</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/non_templ.html" title="Use in non-template code"><span class="index-entry-level-1">Use in non-template code</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">Use in template code</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">Use With User Defined Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">construction_traits</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">Use With User Defined Types</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Continued Fraction Evaluation</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">continued_fraction_a</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">continued_fraction_b</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">expression</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">continued_fraction_a</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">continued_fraction_b</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">conventions</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/conventions.html" title="Document Conventions"><span class="index-entry-level-1">Document Conventions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">copysign</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">copysignf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">copysignl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Credits and Acknowledgements</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">expression</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_i</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_if</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_il</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_j</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_jf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_jl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_k</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_kf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_bessel_kl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_neumann</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_neumannf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">cyl_neumannl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_95"></a><span class="term">D</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">default_policy</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Defining New Constants</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">BOOST_CONSTANTS_GENERATE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">BOOST_DEFINE_MATH_CONSTANT</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">BOOST_MATH_STD_USING</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">get</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">get_from_string</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">denorm_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Derivative of the Incomplete Beta Function</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Derivative of the Incomplete Gamma Function</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function"><span class="index-entry-level-1">gamma_p_derivative</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Digamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">digamma</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-0">digamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Directory and File Structure</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/directories.html" title="Directory and File Structure"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Discrete Quantile Policies</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies"><span class="index-entry-level-1">cdf</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">discrete_quantile_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Distribution Algorithms</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">find_location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">find_scale</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">domain_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_double_factorial.html" title="Double Factorial"><span class="index-entry-level-0">Double Factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_double_factorial.html" title="Double Factorial"><span class="index-entry-level-0">double_factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">double_t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_96"></a><span class="term">E</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_1</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the First Kind - Legendre Form</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_1f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_1l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Second Kind - Legendre Form</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_3</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"><span class="index-entry-level-1">Elliptic Integrals of the Third Kind - Legendre Form</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_3f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_3l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rc</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rd</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rf</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ellint_rj</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">Elliptic Integrals - Carlson Form</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Elliptic Integral Overview</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_intro.html" title="Elliptic Integral Overview"><span class="index-entry-level-1">expression</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Elliptic Integrals - Carlson Form</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rd</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_carlson.html" title="Elliptic Integrals - Carlson Form"><span class="index-entry-level-1">ellint_rj</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Elliptic Integrals of the First Kind - Legendre Form</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form"><span class="index-entry-level-1">ellint_1</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Elliptic Integrals of the Second Kind - Legendre Form</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form"><span class="index-entry-level-1">ellint_2</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Elliptic Integrals of the Third Kind - Legendre Form</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form"><span class="index-entry-level-1">ellint_3</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">epsilon</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">Locating Function Minima: Brent's algorithm</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">eps_tolerance</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">equal_ceil</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">equal_floor</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">equal_nearest_integer</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html#math_toolkit.special.sf_erf.error_function.errors_in_the_function_erf_z_" title="Table&#160;30.&#160;Errors In the Function erf(z)"><span class="index-entry-level-1">Errors In the Function erf(z)</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfc</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">Error Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html#math_toolkit.special.sf_erf.error_function.errors_in_the_function_erfc_z_" title="Table&#160;31.&#160;Errors In the Function erfc(z)"><span class="index-entry-level-1">Errors In the Function erfc(z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfcf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfcl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfc_inv</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erff</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erfl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">erf_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Error Function Inverses</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">erfc_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">erf_inv</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Error Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">erf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html" title="Error Functions"><span class="index-entry-level-1">erfc</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Error Handling</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/error_handling.html" title="Error Handling"><span class="index-entry-level-1">checked_narrowing_cast</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Error Handling Policies</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_denorm_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_domain_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_evaluation_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_indeterminate_result_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_overflow_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_pole_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_rounding_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">user_underflow_error</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function beta(a, b, x)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_beta_a__b__x_" title="Table&#160;28.&#160;Errors In the Function beta(a, b, x)"><span class="index-entry-level-1">beta</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function betac(a,b,x)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_betac_a_b_x_" title="Table&#160;29.&#160;Errors In the Function betac(a,b,x)"><span class="index-entry-level-1">betac</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function erf(z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html#math_toolkit.special.sf_erf.error_function.errors_in_the_function_erf_z_" title="Table&#160;30.&#160;Errors In the Function erf(z)"><span class="index-entry-level-1">erf</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function erfc(z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_erf/error_function.html#math_toolkit.special.sf_erf.error_function.errors_in_the_function_erfc_z_" title="Table&#160;31.&#160;Errors In the Function erfc(z)"><span class="index-entry-level-1">erfc</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function expint(n, z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_n.html#math_toolkit.special.expint.expint_n.errors_in_the_function_expint_n__z_" title="Table&#160;48.&#160;Errors In the Function expint(n, z)"><span class="index-entry-level-1">expint</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function expint(z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html#math_toolkit.special.expint.expint_i.errors_in_the_function_expint_z_" title="Table&#160;49.&#160;Errors In the Function expint(z)"><span class="index-entry-level-1">expint</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function gamma_p(a,z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_p_a_z_" title="Table&#160;21.&#160;Errors In the Function gamma_p(a,z)"><span class="index-entry-level-1">gamma_p</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function gamma_q(a,z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_q_a_z_" title="Table&#160;22.&#160;Errors In the Function gamma_q(a,z)"><span class="index-entry-level-1">gamma_q</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function ibeta(a,b,x)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b_x_" title="Table&#160;26.&#160;Errors In the Function ibeta(a,b,x)"><span class="index-entry-level-1">ibeta</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function ibetac(a,b,x)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_b_x_" title="Table&#160;27.&#160;Errors In the Function ibetac(a,b,x)"><span class="index-entry-level-1">ibetac</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function tgamma(a,z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_a_z_" title="Table&#160;24.&#160;Errors In the Function tgamma(a,z)"><span class="index-entry-level-1">tgamma</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function tgamma_delta_ratio(a, delta)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_delta_ratio_a__delta_" title="Table&#160;19.&#160;Errors In the Function tgamma_delta_ratio(a, delta)"><span class="index-entry-level-1">tgamma_delta_ratio</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function tgamma_lower(a,z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_lower_a_z_" title="Table&#160;23.&#160;Errors In the Function tgamma_lower(a,z)"><span class="index-entry-level-1">tgamma_lower</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function tgamma_ratio(a, b)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ratio_a__b_" title="Table&#160;20.&#160;Errors In the Function tgamma_ratio(a, b)"><span class="index-entry-level-1">tgamma_ratio</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Errors In the Function zeta(z)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html#math_toolkit.special.zetas.zeta.errors_in_the_function_zeta_z_" title="Table&#160;47.&#160;Errors In the Function zeta(z)"><span class="index-entry-level-1">zeta</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_even_polynomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_odd_polynomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_polynomial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluate_rational</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">evaluation_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Examples</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">cauchy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example"><span class="index-entry-level-1">cdf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html" title="Binomial Quiz Example"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">infinity</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">mean</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">negative_binomial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">normal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">pdf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">RR</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">standard_deviation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">test</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exp2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exp2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exp2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_n.html#math_toolkit.special.expint.expint_n.errors_in_the_function_expint_n__z_" title="Table&#160;48.&#160;Errors In the Function expint(n, z)"><span class="index-entry-level-1">Errors In the Function expint(n, z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html#math_toolkit.special.expint.expint_i.errors_in_the_function_expint_z_" title="Table&#160;49.&#160;Errors In the Function expint(z)"><span class="index-entry-level-1">Errors In the Function expint(z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_n.html" title="Exponential Integral En"><span class="index-entry-level-1">Exponential Integral En</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expm1</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/expm1.html" title="expm1"><span class="index-entry-level-1">expm1</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expm1f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expm1l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">exponential</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Exponential Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">exponential</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">exponential_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Exponential Integral Ei</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">expint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">zeta</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Exponential Integral En</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_n.html" title="Exponential Integral En"><span class="index-entry-level-1">expint</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-0">exponential_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">expression</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview.html" title="Overview of Distributions"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">Conceptual Requirements for Distribution Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/cf.html" title="Continued Fraction Evaluation"><span class="index-entry-level-1">Continued Fraction Evaluation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">Credits and Acknowledgements</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/ellint/ellint_intro.html" title="Elliptic Integral Overview"><span class="index-entry-level-1">Elliptic Integral Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/FAQ.html" title="FAQs"><span class="index-entry-level-1">FAQs</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">Mathematically Undefined Function Policies</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">The Lanczos Approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/remez.html" title="The Remez Method"><span class="index-entry-level-1">The Remez Method</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">Use in template code</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/use_mpfr.html" title="Using With MPFR / GMP - a High-Precision Floating-Point Library"><span class="index-entry-level-1">Using With MPFR / GMP - a High-Precision Floating-Point Library</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Extras/Future Directions</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/future.html" title="Extras/Future Directions"><span class="index-entry-level-1">cdf</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Extreme Value Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">extreme_value</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">extreme_value_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">extreme_value</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-0">extreme_value_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">e_float</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/e_float.html" title="e_float Support"><span class="index-entry-level-1">e_float Support</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">e_float Support</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/e_float.html" title="e_float Support"><span class="index-entry-level-1">e_float</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_97"></a><span class="term">F</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">F Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">fisher_f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">fisher_f_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">ibeta_derivative</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Facets for Floating-Point Infinities and NaNs</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">nonfinite_num_get</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">nonfinite_num_put</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Factorial</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">factorial</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">max_factorial</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-0">factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_falling_factorial.html" title="Falling Factorial"><span class="index-entry-level-0">Falling Factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_falling_factorial.html" title="Falling Factorial"><span class="index-entry-level-0">falling_factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FAQs</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/FAQ.html" title="FAQs"><span class="index-entry-level-1">BOOST_DEFINE_MATH_CONSTANT</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/FAQ.html" title="FAQs"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/FAQ.html" title="FAQs"><span class="index-entry-level-1">expression</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fdim</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fdimf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fdiml</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Finding the Next Greater Representable Value (float_next)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_next.html" title="Finding the Next Greater Representable Value (float_next)"><span class="index-entry-level-1">float_next</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Finding the Next Representable Value in a Specific Direction (nextafter)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)"><span class="index-entry-level-1">nextafter</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Finding the Next Smaller Representable Value (float_prior)</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)"><span class="index-entry-level-1">float_prior</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_beta</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_degrees_of_freedom</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_location</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_lower_bound_on_p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_non_centrality</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_scale</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dist_algorithms.html" title="Distribution Algorithms"><span class="index-entry-level-1">Distribution Algorithms</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">find_upper_bound_on_p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fisher_f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">Setting Policies for Distributions on an Ad Hoc Basis</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fisher_f_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Floating-Point Classification: Infinities and NaNs</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">fpclassify</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_INFINITE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_NAN</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_NORMAL</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_SUBNORMAL</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">FP_ZERO</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isfinite</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isinf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isnan</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">isnormal</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_advance</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_distance</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance"><span class="index-entry-level-1">Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_next.html" title="Finding the Next Greater Representable Value (float_next)"><span class="index-entry-level-1">Finding the Next Greater Representable Value (float_next)</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_prior</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)"><span class="index-entry-level-1">Finding the Next Smaller Representable Value (float_prior)</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">float_t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmax</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmaxf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmaxl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fmin</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fminf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fminl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">fpclassify</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_INFINITE</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_NAN</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_NORMAL</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_SUBNORMAL</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">FP_ZERO</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_98"></a><span class="term">G</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Gamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">tgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">tgamma1pm1</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Gamma (and Erlang) Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma_p_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">gamma_q_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">mode</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_p_a_z_" title="Table&#160;21.&#160;Errors In the Function gamma_p(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_p(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p_derivative</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function"><span class="index-entry-level-1">Derivative of the Incomplete Gamma Function</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_p_inva</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_q</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_q_a_z_" title="Table&#160;22.&#160;Errors In the Function gamma_q(a,z)"><span class="index-entry-level-1">Errors In the Function gamma_q(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_q_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">gamma_q_inva</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">Incomplete Gamma Function Inverses</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Generic operations common to all distributions are non-member functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">cdf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">pdf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">value</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">geometric</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Geometric Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">find_lower_bound_on_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">find_upper_bound_on_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">geometric</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">geometric_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">skewness</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-0">geometric_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">get</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">Use With User Defined Types</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">get_from_string</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/new_const.html" title="Defining New Constants"><span class="index-entry-level-1">Defining New Constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">get_user_parameter_info</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Graphing, Profiling, and Generating Test Data for Special Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">get_user_parameter_info</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">insert</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">make_periodic_param</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">make_power_param</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">make_random_param</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">test_data</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">upper_incomplete_gamma_fract</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">write_code</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">write_csv</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_99"></a><span class="term">H</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">halley_iterate</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hazard</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermite</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Hermite Polynomials</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">hermite</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">hermite_next</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermitef</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermitel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hermite_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/hermite.html" title="Hermite Polynomials"><span class="index-entry-level-1">Hermite Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">History and What's New</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">mode</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">nextafter</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">value</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hyperg</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypergeometric</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Hypergeometric Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">hypergeometric</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">hypergeometric_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-0">hypergeometric_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypergf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypergl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypot</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/hypot.html" title="hypot"><span class="index-entry-level-1">hypot</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypotf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">hypotl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_100"></a><span class="term">I</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b_x_" title="Table&#160;26.&#160;Errors In the Function ibeta(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibeta(a,b,x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_b_x_" title="Table&#160;27.&#160;Errors In the Function ibetac(a,b,x)"><span class="index-entry-level-1">Errors In the Function ibetac(a,b,x)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">Incomplete Beta Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac_inva</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibetac_invb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_derivative</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function"><span class="index-entry-level-1">Derivative of the Incomplete Beta Function</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_inv</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_inva</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ibeta_invb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">The Incomplete Beta Function Inverses</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ilogb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ilogbf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ilogbl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Implementation Notes</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">BOOST_DEFINE_MATH_CONSTANT</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">infinity</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">median</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">triangular_distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Incomplete Beta Function Inverses</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibetac_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibetac_inva</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibetac_invb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibeta_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibeta_inva</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses"><span class="index-entry-level-1">ibeta_invb</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Incomplete Beta Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">betac</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">ibeta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions"><span class="index-entry-level-1">ibetac</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Incomplete Gamma Function Inverses</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_p_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_p_inva</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_q_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses"><span class="index-entry-level-1">gamma_q_inva</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Incomplete Gamma Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">gamma_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">gamma_q</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">tgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">tgamma_lower</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">indeterminate_result_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">infinity</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">insert</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Introduction</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/intro.html" title="Introduction"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/intro.html" title="Introduction"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets/intro.html" title="Introduction"><span class="index-entry-level-1">nan</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Inverse Chi Squared Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">inverse_chi_squared</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">inverse_chi_squared_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Inverse Gamma Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">inverse_gamma_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">kurtosis_excess</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Inverse Gaussian (or Inverse Normal) Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">inverse_gaussian</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">inverse_gaussian_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">inverse_chi_squared</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-0">inverse_chi_squared_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-0">inverse_gamma_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">inverse_gaussian</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">inverse_gaussian_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">iround</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isfinite</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isinf</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isnan</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">isnormal</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fpclass.html" title="Floating-Point Classification: Infinities and NaNs"><span class="index-entry-level-1">Floating-Point Classification: Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Iteration Limits Policies</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/iteration_pol.html" title="Iteration Limits Policies"><span class="index-entry-level-1">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">itrunc</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_101"></a><span class="term">K</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">kahan_sum_series</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Known Issues, and TODO List</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">T</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">kurtosis</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">kurtosis_excess</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_102"></a><span class="term">L</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Laguerre (and Associated) Polynomials</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">laguerre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">laguerre_next</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laguerre_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials"><span class="index-entry-level-1">Laguerre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Lanczos approximation</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_beta/beta_function.html" title="Beta"><span class="index-entry-level-1">Beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/digamma.html" title="Digamma"><span class="index-entry-level-1">Digamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/backgrounders/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">Lanczos approximation</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Performance Tuning Macros</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/refs.html" title="References"><span class="index-entry-level-1">References</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/lanczos.html" title="The Lanczos Approximation"><span class="index-entry-level-1">The Lanczos Approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/use_mpfr.html" title="Using With MPFR / GMP - a High-Precision Floating-Point Library"><span class="index-entry-level-1">Using With MPFR / GMP - a High-Precision Floating-Point Library</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library"><span class="index-entry-level-1">Using With NTL - a High-Precision Floating-Point Library</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">laplace</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Laplace Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">laplace</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">laplace_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-0">laplace_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ldexp</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Legendre (and Associated) Polynomials</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">legendre_next</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">legendre_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">legendre_q</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre_next</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre_p</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">legendre_q</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials"><span class="index-entry-level-1">Legendre (and Associated) Polynomials</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lgamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lgammaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lgammal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llrint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llrintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llrintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llround</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llroundf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">llroundl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lltrunc</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Locating Function Minima: Brent's algorithm</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">brent_find_minima</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm"><span class="index-entry-level-1">epsilon</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">location</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Log Gamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">lgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">tgamma</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Log Normal Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">lognormal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">lognormal_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1p</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/log1p.html" title="log1p"><span class="index-entry-level-1">BOOST_HAS_LOG1P</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/special/powers/log1p.html" title="log1p"><span class="index-entry-level-1">log1p</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1pf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1pl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log1p_series</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log2</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log2f</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">log2l</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logb</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logbf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logbl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">logistic</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Logistic Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">logistic</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">logistic_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-0">logistic_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lognormal</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lognormal_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lrint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lrintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lrintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lround</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lroundf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">lroundl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">ltrunc</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_103"></a><span class="term">M</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_periodic_param</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_policy</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_power_param</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">make_random_param</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Mathematical Constants</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants.html" title="Mathematical Constants"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Mathematically Undefined Function Policies</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies"><span class="index-entry-level-1">expression</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">max_factorial</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_factorial.html" title="Factorial"><span class="index-entry-level-1">Factorial</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">mean</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">median</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Minimax Approximations and the Remez Algorithm</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">mode</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Modified Bessel Functions of the First and Second Kinds</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">msg</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_104"></a><span class="term">N</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Namespaces</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/namespaces.html" title="Namespaces"><span class="index-entry-level-1">students_t</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nan</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets/intro.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets/reference.html" title="Reference"><span class="index-entry-level-1">Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nanf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nanl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/navigation.html" title="Navigation"><span class="index-entry-level-0">navigation</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nearbyint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nearbyintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nearbyintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Negative Binomial Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">find_lower_bound_on_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">find_upper_bound_on_p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibetac_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibetac_inva</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibetac_invb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibeta_inv</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibeta_inva</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">ibeta_invb</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">negative_binomial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">negative_binomial_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">r</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">negative_binomial</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">Distribution Construction Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-0">negative_binomial_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">newton_raphson_iterate</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nextafter</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)"><span class="index-entry-level-1">Finding the Next Representable Value in a Specific Direction (nextafter)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nextafterf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nextafterl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nexttoward</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nexttowardf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nexttowardl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Non-Member Properties</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">cdf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">chf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">hazard</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">kurtosis</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">kurtosis_excess</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">mean</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">median</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">mode</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">pdf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">range</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">skewness</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">standard_deviation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Noncentral Beta Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">non_central_beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">non_central_beta_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Noncentral Chi-Squared Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">find_degrees_of_freedom</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">find_non_centrality</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">non_central_chi_squared</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">non_central_chi_squared_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Noncentral F Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">non_central_f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">non_central_f_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Noncentral T Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">non_central_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">non_central_t_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nonfinite_num_get</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">nonfinite_num_put</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs"><span class="index-entry-level-1">Facets for Floating-Point Infinities and NaNs</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_beta</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_beta_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_chi_squared</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_chi_squared_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_f</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_f_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_t</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">non_central_t_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">norm</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">normal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Normal (Gaussian) Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">erfc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">normal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">normal_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">standard_deviation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">normalise</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">normal_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_105"></a><span class="term">O</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">overflow_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Owen's T function</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/owens_t.html" title="Owen's T function"><span class="index-entry-level-1">owens_t</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">owens_t</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/owens_t.html" title="Owen's T function"><span class="index-entry-level-1">Owen's T function</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_106"></a><span class="term">P</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">pareto</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Pareto Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">pareto</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">pareto_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-0">pareto_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">pdf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/geometric_eg.html" title="Geometric Distribution Examples"><span class="index-entry-level-1">Geometric Distribution Examples</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Performance Tuning Macros</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_INT_TABLE_TYPE</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_MAX_POLY_ORDER</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_POLY_METHOD</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">BOOST_MATH_RATIONAL_METHOD</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/perf/tuning.html" title="Performance Tuning Macros"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">poisson</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Poisson Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">poisson</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">poisson_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-0">poisson_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">pole_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Policy Class Reference</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">assert_undefined_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">default_policy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">denorm_error_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">discrete_quantile_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">domain_error_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">evaluation_error_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">indeterminate_result_error_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">make_policy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">normalise</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">overflow_error_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">pole_error_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">precision_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">promote_double_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">promote_float_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">rounding_error_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">underflow_error_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">policy_type</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Polynomial and Rational Function Evaluation</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_even_polynomial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_odd_polynomial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_polynomial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">evaluate_rational</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">T</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Polynomials</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">value_type</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/powm1.html" title="powm1"><span class="index-entry-level-0">powm1</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">precision_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">promote_args</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">promote_double_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">promote_float_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_107"></a><span class="term">Q</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">quantile</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview.html" title="Overview of Distributions"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/dist_concept.html" title="Conceptual Requirements for Distribution Types"><span class="index-entry-level-1">Conceptual Requirements for Distribution Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html" title="Negative Binomial Sales Quota Example."><span class="index-entry-level-1">Negative Binomial Sales Quota Example.</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-<dt>
-<a name="idx_id_108"></a><span class="term">R</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">r</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">range</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/compilers_overview.html" title="Compilers"><span class="index-entry-level-1">Compilers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Ratios of Gamma Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">tgamma_delta_ratio</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">tgamma_ratio</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rayleigh</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rayleigh Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">rayleigh</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">rayleigh_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-0">rayleigh_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Reference</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/fp_facets/reference.html" title="Reference"><span class="index-entry-level-1">nan</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">References</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/refs.html" title="References"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Relative Error and Testing</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">relative_error</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">test</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">relative_error</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">Relative Error and Testing</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remainder</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remainderf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remainderl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Remez Method</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/remez.html" title="The Remez Method"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/remez.html" title="The Remez Method"><span class="index-entry-level-1">expression</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remquo</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remquof</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">remquol</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Representation Distance Between Two Floating Point Values (ULP) float_distance</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">float_distance</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">value</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Riemann Zeta Function</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">zeta</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">riemann_zeta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">riemann_zetaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">riemann_zetal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rint</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rintf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rintl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_rising_factorial.html" title="Rising Factorial"><span class="index-entry-level-0">Rising Factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/factorials/sf_rising_factorial.html" title="Rising Factorial"><span class="index-entry-level-0">rising_factorial</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">cbrt</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">halley_iterate</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">newton_raphson_iterate</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">schroeder_iterate</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">eps_tolerance</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">equal_ceil</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">equal_floor</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">equal_nearest_integer</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">tol</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">round</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">Rounding Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">roundf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Rounding Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">iround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">llround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">lround</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/round.html" title="Rounding Functions"><span class="index-entry-level-1">round</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">rounding_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">roundl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">RR</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Example"><span class="index-entry-level-1">Distribution Construction Example</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_109"></a><span class="term">S</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbln</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalblnf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalblnl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbn</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbnf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scalbnl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">scale</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example"><span class="index-entry-level-1">Find mean and standard deviation example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">schroeder_iterate</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder"><span class="index-entry-level-1">Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Series Evaluation</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">kahan_sum_series</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">log1p</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">log1p_series</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">sum_series</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Setting Polices at Namespace Scope</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">cauchy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">lgamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">tgamma</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Setting Policies at Namespace or Translation Unit Scope</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_DISTRIBUTIONS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">cauchy</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">norm</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">normal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">promote_args</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">tgamma</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Setting Policies for Distributions on an Ad Hoc Basis</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis"><span class="index-entry-level-1">fisher_f</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">shape</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sign</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Sign Manipulation Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">changesign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">copysign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">sign</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">signbit</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">signbit</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/sign_functions.html" title="Sign Manipulation Functions"><span class="index-entry-level-1">Sign Manipulation Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sinc/sinc_pi.html" title="sinc_pi"><span class="index-entry-level-0">sinc_pi</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sinc/sinhc_pi.html" title="sinhc_pi"><span class="index-entry-level-0">sinhc_pi</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Skew Normal Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">location</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">normal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">skew_normal_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">T</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">skewness</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-0">skew_normal_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Spherical Bessel Functions of the First and Second Kinds</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Spherical Harmonics</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">spherical_harmonic</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">spherical_harmonic_i</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">spherical_harmonic_r</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">spherical_harmonic</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">spherical_harmonic_i</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">spherical_harmonic_r</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_poly/sph_harm.html" title="Spherical Harmonics"><span class="index-entry-level-1">Spherical Harmonics</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_bessel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_besself</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_bessell</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_legendre</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_legendref</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_legendrel</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_neumann</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_neumannf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sph_neumannl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">TR1 C Functions Quick Reference</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/sqrt1pm1.html" title="sqrt1pm1"><span class="index-entry-level-0">sqrt1pm1</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">standard_deviation</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html" title="Find Location (Mean) Example"><span class="index-entry-level-1">Find Location (Mean) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html" title="Find Scale (Standard Deviation) Example"><span class="index-entry-level-1">Find Scale (Standard Deviation) Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Students t Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">find_degrees_of_freedom</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">ibetac</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">students_t</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">students_t_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">students_t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/namespaces.html" title="Namespaces"><span class="index-entry-level-1">Namespaces</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-0">students_t_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">sum_series</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/series_evaluation.html" title="Series Evaluation"><span class="index-entry-level-1">Series Evaluation</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Supported/Tested Compilers</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/compilers_overview.html#math_toolkit.main_overview.compilers_overview.supported_tested_compilers" title="Table&#160;9.&#160;Supported/Tested Compilers"><span class="index-entry-level-1">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_110"></a><span class="term">T</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">t</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution"><span class="index-entry-level-1">Calculating confidence intervals on the mean with the Students-t distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/status/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation"><span class="index-entry-level-1">Polynomial and Rational Function Evaluation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">test</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/error_test.html" title="Relative Error and Testing"><span class="index-entry-level-1">Relative Error and Testing</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution"><span class="index-entry-level-1">Some Miscellaneous Examples of the Normal (Gaussian) Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">test_data</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions"><span class="index-entry-level-1">Changing the Policy on an Ad Hoc Basis for the Special Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_a_z_" title="Table&#160;24.&#160;Errors In the Function tgamma(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/lgamma.html" title="Log Gamma"><span class="index-entry-level-1">Log Gamma</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope"><span class="index-entry-level-1">Setting Polices at Namespace Scope</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma1pm1</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/tgamma.html" title="Gamma"><span class="index-entry-level-1">Gamma</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgammaf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgammal</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma_delta_ratio</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_delta_ratio_a__delta_" title="Table&#160;19.&#160;Errors In the Function tgamma_delta_ratio(a, delta)"><span class="index-entry-level-1">Errors In the Function tgamma_delta_ratio(a, delta)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma_lower</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html#math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_lower_a_z_" title="Table&#160;23.&#160;Errors In the Function tgamma_lower(a,z)"><span class="index-entry-level-1">Errors In the Function tgamma_lower(a,z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/igamma.html" title="Incomplete Gamma Functions"><span class="index-entry-level-1">Incomplete Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tgamma_ratio</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ratio_a__b_" title="Table&#160;20.&#160;Errors In the Function tgamma_ratio(a, b)"><span class="index-entry-level-1">Errors In the Function tgamma_ratio(a, b)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions"><span class="index-entry-level-1">Ratios of Gamma Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">tol</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748"><span class="index-entry-level-1">Root Finding Without Derivatives: Bisection, Bracket and TOMS748</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">TR1 C Functions Quick Reference</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_laguerre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_laguerref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_laguerrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">assoc_legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">beta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">betaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">betal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_3</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_3f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">comp_ellint_3l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">conf_hyperg</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">conf_hypergf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">conf_hypergl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_i</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_if</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_il</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_j</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_jf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_jl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_k</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_kf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_bessel_kl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_neumann</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_neumannf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">cyl_neumannl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_1</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_1f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_1l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_2</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_2f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_2l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_3</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_3f</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">ellint_3l</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">expint</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">expintf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">expintl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hermite</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hermitef</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hermitel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hyperg</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hypergf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">hypergl</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">laguerre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">laguerref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">laguerrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">riemann_zeta</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">riemann_zetaf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">riemann_zetal</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_bessel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_besself</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_bessell</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_legendre</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_legendref</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_legendrel</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_neumann</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_neumannf</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference"><span class="index-entry-level-1">sph_neumannl</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">triangular</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Triangular Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">c</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">mode</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">quantile</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">skewness</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">triangular</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">triangular_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">triangular_distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/backgrounders/implementation.html" title="Additional Implementation Notes"><span class="index-entry-level-1">Additional Implementation Notes</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">trunc</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/concepts.html" title="Conceptual Requirements for Real Number Types"><span class="index-entry-level-1">Conceptual Requirements for Real Number Types</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">Truncation Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Truncation Functions</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">itrunc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">lltrunc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">ltrunc</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/rounding/trunc.html" title="Truncation Functions"><span class="index-entry-level-1">trunc</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">truncf</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">truncl</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/tr1.html" title="C99 and C++ TR1 C-style Functions"><span class="index-entry-level-1">C99 and C++ TR1 C-style Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/tr1.html" title="C99 and TR1 C Functions Overview"><span class="index-entry-level-1">C99 and TR1 C Functions Overview</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/extern_c/c99.html" title="C99 C Functions"><span class="index-entry-level-1">C99 C Functions</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_111"></a><span class="term">U</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">underflow_error_type</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference"><span class="index-entry-level-1">Policy Class Reference</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">uniform</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Uniform Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">mean</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">uniform</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">uniform_distribution</span></a></strong></span></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">variance</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-0">uniform_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">upper_incomplete_gamma_fract</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Use in non-template code</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/non_templ.html" title="Use in non-template code"><span class="index-entry-level-1">constants</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Use in template code</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/templ.html" title="Use in template code"><span class="index-entry-level-1">expression</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Use With User Defined Types</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">construction_traits</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants/tutorial/user_def.html" title="Use With User Defined Types"><span class="index-entry-level-1">get</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_denorm_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_domain_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_evaluation_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_indeterminate_result_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_overflow_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/powers/ct_pow.html" title="Compile Time Power of a Runtime Base"><span class="index-entry-level-1">Compile Time Power of a Runtime Base</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_pole_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_rounding_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">user_underflow_error</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers"><span class="index-entry-level-1">Calling User Defined Error Handlers</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/error_handling_policies.html" title="Error Handling Policies"><span class="index-entry-level-1">Error Handling Policies</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Using Macros to Change the Policy Defaults</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DENORM_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DIGITS10_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_DOMAIN_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_EVALUATION_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_OVERFLOW_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_POLE_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_PROMOTE_FLOAT_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_ROUNDING_ERROR_POLICY</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults"><span class="index-entry-level-1">BOOST_MATH_UNDERFLOW_ERROR_POLICY</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Using With MPFR / GMP - a High-Precision Floating-Point Library</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/use_mpfr.html" title="Using With MPFR / GMP - a High-Precision Floating-Point Library"><span class="index-entry-level-1">expression</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/use_mpfr.html" title="Using With MPFR / GMP - a High-Precision Floating-Point Library"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Using With NTL - a High-Precision Floating-Point Library</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/using_udt/use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library"><span class="index-entry-level-1">Lanczos approximation</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_112"></a><span class="term">V</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">value</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/utils/next_float/float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance"><span class="index-entry-level-1">Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_overview/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">value_type</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/bernoulli_dist.html" title="Bernoulli Distribution"><span class="index-entry-level-1">Bernoulli Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution"><span class="index-entry-level-1">Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution"><span class="index-entry-level-1">Cauchy-Lorentz Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution"><span class="index-entry-level-1">Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution"><span class="index-entry-level-1">Exponential Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/extreme_dist.html" title="Extreme Value Distribution"><span class="index-entry-level-1">Extreme Value Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution"><span class="index-entry-level-1">Gamma (and Erlang) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html" title="Hypergeometric Distribution"><span class="index-entry-level-1">Hypergeometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution"><span class="index-entry-level-1">Inverse Gaussian (or Inverse Normal) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/laplace_dist.html" title="Laplace Distribution"><span class="index-entry-level-1">Laplace Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-1">Negative Binomial Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_beta_dist.html" title="Noncentral Beta Distribution"><span class="index-entry-level-1">Noncentral Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution"><span class="index-entry-level-1">Noncentral F Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution"><span class="index-entry-level-1">Noncentral T Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution"><span class="index-entry-level-1">Normal (Gaussian) Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/pareto.html" title="Pareto Distribution"><span class="index-entry-level-1">Pareto Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution"><span class="index-entry-level-1">Poisson Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/rayleigh.html" title="Rayleigh Distribution"><span class="index-entry-level-1">Rayleigh Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution"><span class="index-entry-level-1">Skew Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-1">Students t Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">variance</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/beta_dist.html" title="Beta Distribution"><span class="index-entry-level-1">Beta Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation"><span class="index-entry-level-1">Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-1">Geometric Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example"><span class="index-entry-level-1">Inverse Chi-Squared Distribution Bayes Example</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html" title="Inverse Gamma Distribution"><span class="index-entry-level-1">Inverse Gamma Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution"><span class="index-entry-level-1">Log Normal Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution"><span class="index-entry-level-1">Logistic Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/nmp.html" title="Non-Member Properties"><span class="index-entry-level-1">Non-Member Properties</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/triangular_dist.html" title="Triangular Distribution"><span class="index-entry-level-1">Triangular Distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/uniform_dist.html" title="Uniform Distribution"><span class="index-entry-level-1">Uniform Distribution</span></a></p></li>
-</ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_113"></a><span class="term">W</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">weibull</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">Weibull Distribution</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">Weibull Distribution</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">constants</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">policy_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">scale</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">shape</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">value_type</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">weibull</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-1">weibull_distribution</span></a></strong></span></p></li>
-</ul></div>
-</li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution"><span class="index-entry-level-0">weibull_distribution</span></a></p></li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">write_code</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-<li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">write_csv</span></p>
-<div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li></ul></div>
-</li>
-</ul></div></dd>
-<dt>
-<a name="idx_id_114"></a><span class="term">Z</span>
-</dt>
-<dd><div class="index"><ul class="index" type="none" compact><li class="listitem" style="list-style-type: none">
-<p><span class="index-entry-level-0">zeta</span></p>
-<div class="index"><ul class="index" type="none" compact>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html#math_toolkit.special.zetas.zeta.errors_in_the_function_zeta_z_" title="Table&#160;47.&#160;Errors In the Function zeta(z)"><span class="index-entry-level-1">Errors In the Function zeta(z)</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/expint/expint_i.html" title="Exponential Integral Ei"><span class="index-entry-level-1">Exponential Integral Ei</span></a></p></li>
-<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special/zetas/zeta.html" title="Riemann Zeta Function"><span class="index-entry-level-1">Riemann Zeta Function</span></a></p></li>
-</ul></div>
-</li></ul></div></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s16.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders.html b/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders.html
deleted file mode 100644
index c90615900e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Backgrounders</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="perf/perf_test_app.html" title="The Performance Test Application">
-<link rel="next" href="backgrounders/implementation.html" title="Additional Implementation Notes">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="perf/perf_test_app.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="backgrounders/implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_backgrounders">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.backgrounders"></a><a class="link" href="backgrounders.html" title="Backgrounders">Backgrounders</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="backgrounders/implementation.html">Additional
- Implementation Notes</a></span></dt>
-<dt><span class="section"><a href="backgrounders/relative_error.html">Relative Error</a></span></dt>
-<dt><span class="section"><a href="backgrounders/lanczos.html">The Lanczos Approximation</a></span></dt>
-<dt><span class="section"><a href="backgrounders/remez.html">The Remez Method</a></span></dt>
-<dt><span class="section"><a href="backgrounders/refs.html">References</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="perf/perf_test_app.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="backgrounders/implementation.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html b/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html
deleted file mode 100644
index f39825a76e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html
+++ /dev/null
@@ -1,770 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Additional Implementation Notes</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../backgrounders.html" title="Backgrounders">
-<link rel="prev" href="../backgrounders.html" title="Backgrounders">
-<link rel="next" href="relative_error.html" title="Relative Error">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="relative_error.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_backgrounders_implementation">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.backgrounders.implementation"></a><a class="link" href="implementation.html" title="Additional Implementation Notes">Additional
- Implementation Notes</a>
-</h3></div></div></div>
-<p>
- The majority of the implementation notes are included with the documentation
- of each function or distribution. The notes here are of a more general nature,
- and reflect more the general implementation philosophy used.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h0"></a>
- <span><a name="math_toolkit.backgrounders.implementation.implemention_philosophy"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.implemention_philosophy">Implemention
- philosophy</a>
- </h5>
-<p>
- "First be right, then be fast."
- </p>
-<p>
- There will always be potential compromises to be made between speed and accuracy.
- It may be possible to find faster methods, particularly for certain limited
- ranges of arguments, but for most applications of math functions and distributions,
- we judge that speed is rarely as important as accuracy.
- </p>
-<p>
- So our priority is accuracy.
- </p>
-<p>
- To permit evaluation of accuracy of the special functions, production of
- extremely accurate tables of test values has received considerable effort.
- </p>
-<p>
- (It also required much CPU effort - there was some danger of molten plastic
- dripping from the bottom of JM's laptop, so instead, PAB's Dual-core desktop
- was kept 50% busy for <span class="bold"><strong>days</strong></span> calculating some
- tables of test values!)
- </p>
-<p>
- For a specific RealType, say float or double, it may be possible to find
- approximations for some functions that are simpler and thus faster, but less
- accurate (perhaps because there are no refining iterations, for example,
- when calculating inverse functions).
- </p>
-<p>
- If these prove accurate enough to be "fit for his purpose", then
- a user may substitute his custom specialization.
- </p>
-<p>
- For example, there are approximations dating back from times when computation
- was a <span class="bold"><strong>lot</strong></span> more expensive:
- </p>
-<p>
- H Goldberg and H Levine, Approximate formulas for percentage points and normalisation
- of t and chi squared, Ann. Math. Stat., 17(4), 216 - 225 (Dec 1946).
- </p>
-<p>
- A H Carter, Approximations to percentage points of the z-distribution, Biometrika
- 34(2), 352 - 358 (Dec 1947).
- </p>
-<p>
- These could still provide sufficient accuracy for some speed-critical applications.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h1"></a>
- <span><a name="math_toolkit.backgrounders.implementation.accuracy_and_representation_of_test_values"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.accuracy_and_representation_of_test_values">Accuracy
- and Representation of Test Values</a>
- </h5>
-<p>
- In order to be accurate enough for as many as possible real types, constant
- values are given to 50 decimal digits if available (though many sources proved
- only accurate near to 64-bit double precision). Values are specified as long
- double types by appending L, unless they are exactly representable, for example
- integers, or binary fractions like 0.125. This avoids the risk of loss of
- accuracy converting from double, the default type. Values are used after
- static_cast&lt;RealType&gt;(1.2345L) to provide the appropriate RealType
- for spot tests.
- </p>
-<p>
- Functions that return constants values, like kurtosis for example, are written
- as
- </p>
-<p>
- <code class="computeroutput"><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(-</span><span class="number">3</span><span class="special">)</span> <span class="special">/</span>
- <span class="number">5</span><span class="special">;</span></code>
- </p>
-<p>
- to provide the most accurate value that the compiler can compute for the
- real type. (The denominator is an integer and so will be promoted exactly).
- </p>
-<p>
- So tests for one third, <span class="bold"><strong>not</strong></span> exactly representable
- with radix two floating-point, (should) use, for example:
- </p>
-<p>
- <code class="computeroutput"><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="number">1</span><span class="special">)</span> <span class="special">/</span>
- <span class="number">3</span><span class="special">;</span></code>
- </p>
-<p>
- If a function is very sensitive to changes in input, specifying an inexact
- value as input (such as 0.1) can throw the result off by a noticeable amount:
- 0.1f is "wrong" by ~1e-7 for example (because 0.1 has no exact
- binary representation). That is why exact binary values - halves, quarters,
- and eighths etc - are used in test code along with the occasional fraction
- <code class="computeroutput"><span class="identifier">a</span><span class="special">/</span><span class="identifier">b</span></code> with <code class="computeroutput"><span class="identifier">b</span></code>
- a power of two (in order to ensure that the result is an exactly representable
- binary value).
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h2"></a>
- <span><a name="math_toolkit.backgrounders.implementation.tolerance_of_tests"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.tolerance_of_tests">Tolerance
- of Tests</a>
- </h5>
-<p>
- The tolerances need to be set to the maximum of:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Some epsilon value.
- </li>
-<li class="listitem">
- The accuracy of the data (often only near 64-bit double).
- </li>
-</ul></div>
-<p>
- Otherwise when long double has more digits than the test data, then no amount
- of tweaking an epsilon based tolerance will work.
- </p>
-<p>
- A common problem is when tolerances that are suitable for implementations
- like Microsoft VS.NET where double and long double are the same size: tests
- fail on other systems where long double is more accurate than double. Check
- first that the suffix L is present, and then that the tolerance is big enough.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h3"></a>
- <span><a name="math_toolkit.backgrounders.implementation.handling_unsuitable_arguments"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.handling_unsuitable_arguments">Handling
- Unsuitable Arguments</a>
- </h5>
-<p>
- In <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1665.pdf" target="_top">Errors
- in Mathematical Special Functions</a>, J. Marraffino &amp; M. Paterno
- it is proposed that signalling a domain error is mandatory when the argument
- would give an mathematically undefined result.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Guideline 1
- </li></ul></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- A mathematical function is said to be defined at a point a = (a1, a2, .
- . .) if the limits as x = (x1, x2, . . .) 'approaches a from all directions
- agree'. The defined value may be any number, or +infinity, or -infinity.
- </p></blockquote></div>
-<p>
- Put crudely, if the function goes to + infinity and then emerges 'round-the-back'
- with - infinity, it is NOT defined.
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- The library function which approximates a mathematical function shall signal
- a domain error whenever evaluated with argument values for which the mathematical
- function is undefined.
- </p></blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Guideline 2
- </li></ul></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- The library function which approximates a mathematical function shall signal
- a domain error whenever evaluated with argument values for which the mathematical
- function obtains a non-real value.
- </p></blockquote></div>
-<p>
- This implementation is believed to follow these proposals and to assist compatibility
- with <span class="emphasis"><em>ISO/IEC 9899:1999 Programming languages - C</em></span> and
- with the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Draft
- Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph
- 5</a>. <a class="link" href="../main_overview/error_handling.html" title="Error Handling">See
- also domain_error</a>.
- </p>
-<p>
- See <a class="link" href="../policy/pol_ref.html" title="Policy Reference">policy reference</a> for
- details of the error handling policies that should allow a user to comply
- with any of these recommendations, as well as other behaviour.
- </p>
-<p>
- See <a class="link" href="../main_overview/error_handling.html" title="Error Handling">error handling</a>
- for a detailed explanation of the mechanism, and <a class="link" href="../dist/stat_tut/weg/error_eg.html" title="Error Handling Example">error_handling
- example</a> and <a href="../../../../../example/error_handling_example.cpp" target="_top">error_handling_example.cpp</a>
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If you enable throw but do NOT have try &amp; catch block, then the program
- will terminate with an uncaught exception and probably abort. Therefore
- to get the benefit of helpful error messages, enabling <span class="bold"><strong>all</strong></span>
- exceptions <span class="bold"><strong>and</strong></span> using try&amp;catch is
- recommended for all applications. However, for simplicity, this is not
- done for most examples.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h4"></a>
- <span><a name="math_toolkit.backgrounders.implementation.handling_of_functions_that_are_not_mathematically_defined"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.handling_of_functions_that_are_not_mathematically_defined">Handling
- of Functions that are Not Mathematically defined</a>
- </h5>
-<p>
- Functions that are not mathematically defined, like the Cauchy mean, fail
- to compile by default. A <a class="link" href="../policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">policy</a>
- allows control of this.
- </p>
-<p>
- If the policy is to permit undefined functions, then calling them throws
- a domain error, by default. But the error policy can be set to not throw,
- and to return NaN instead. For example,
- </p>
-<p>
- <code class="computeroutput"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span>
- <span class="identifier">ignore_error</span></code>
- </p>
-<p>
- appears before the first Boost include, then if the un-implemented function
- is called, mean(cauchy&lt;&gt;()) will return std::numeric_limits&lt;T&gt;::quiet_NaN().
- </p>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">has_quiet_NaN</span></code> is false (for example T
- is a User-defined type), then an exception will always be thrown when a
- domain error occurs. Catching exceptions is therefore strongly recommended.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h5"></a>
- <span><a name="math_toolkit.backgrounders.implementation.median_of_distributions"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.median_of_distributions">Median
- of distributions</a>
- </h5>
-<p>
- There are many distributions for which we have been unable to find an analytic
- formula, and this has deterred us from implementing <a href="http://en.wikipedia.org/wiki/Median" target="_top">median
- functions</a>, the mid-point in a list of values.
- </p>
-<p>
- However a useful numerical approximation for distribution <code class="computeroutput"><span class="identifier">dist</span></code>
- is available as usual as an accessor non-member function median using <code class="computeroutput"><span class="identifier">median</span><span class="special">(</span><span class="identifier">dist</span><span class="special">)</span></code>,
- that may be evaluated (in the absence of an analytic formula) by calling
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span></code> (this
- is the <span class="emphasis"><em>mathematical</em></span> definition of course).
- </p>
-<p>
- <a href="http://www.amstat.org/publications/jse/v13n2/vonhippel.html" target="_top">Mean,
- Median, and Skew, Paul T von Hippel</a>
- </p>
-<p>
- <a href="http://documents.wolfram.co.jp/teachersedition/MathematicaBook/24.5.html" target="_top">Descriptive
- Statistics,</a>
- </p>
-<p>
- <a href="http://documents.wolfram.co.jp/v5/Add-onsLinks/StandardPackages/Statistics/DescriptiveStatistics.html" target="_top">and
- </a>
- </p>
-<p>
- <a href="http://documents.wolfram.com/v5/TheMathematicaBook/AdvancedMathematicsInMathematica/NumericalOperationsOnData/3.8.1.html" target="_top">Mathematica
- Basic Statistics.</a> give more detail, in particular for discrete distributions.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h6"></a>
- <span><a name="math_toolkit.backgrounders.implementation.handling_of_floating_point_infinity"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.handling_of_floating_point_infinity">Handling
- of Floating-Point Infinity</a>
- </h5>
-<p>
- Some functions and distributions are well defined with + or - infinity as
- argument(s), but after some experiments with handling infinite arguments
- as special cases, we concluded that it was generally more useful to forbid
- this, and instead to return the result of <a class="link" href="../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- Handling infinity as special cases is additionally complicated because, unlike
- built-in types on most - but not all - platforms, not all User-Defined Types
- are specialized to provide <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code> and would return zero rather than any representation
- of infinity.
- </p>
-<p>
- The rationale is that non-finiteness may happen because of error or overflow
- in the users code, and it will be more helpful for this to be diagnosed promptly
- rather than just continuing. The code also became much more complicated,
- more error-prone, much more work to test, and much less readable.
- </p>
-<p>
- However in a few cases, for example normal, where we felt it obvious, we
- have permitted argument(s) to be infinity, provided infinity is implemented
- for the realType on that implementation.
- </p>
-<p>
- Users who require special handling of infinity (or other specific value)
- can, of course, always intercept this before calling a distribution or function
- and return their own choice of value, or other behavior. This will often
- be simpler than trying to handle the aftermath of the error policy.
- </p>
-<p>
- Overflow, underflow, denorm can be handled using <a class="link" href="../policy/pol_ref/error_handling_policies.html" title="Error Handling Policies">error
- handling policies</a>.
- </p>
-<p>
- We have also tried to catch boundary cases where the mathematical specification
- would result in divide by zero or overflow and signalling these similarly.
- What happens at (and near), poles can be controlled through <a class="link" href="../policy/pol_ref/error_handling_policies.html" title="Error Handling Policies">error
- handling policies</a>.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h7"></a>
- <span><a name="math_toolkit.backgrounders.implementation.scale__shape_and_location"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.scale__shape_and_location">Scale,
- Shape and Location</a>
- </h5>
-<p>
- We considered adding location and scale to the list of functions, for example:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">triangular_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="identifier">dist</span><span class="special">.</span><span class="identifier">lower</span><span class="special">();</span>
- <span class="identifier">RealType</span> <span class="identifier">mode</span> <span class="special">=</span> <span class="identifier">dist</span><span class="special">.</span><span class="identifier">mode</span><span class="special">();</span>
- <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="identifier">dist</span><span class="special">.</span><span class="identifier">upper</span><span class="special">();</span>
- <span class="identifier">RealType</span> <span class="identifier">result</span><span class="special">;</span> <span class="comment">// of checks.</span>
- <span class="keyword">if</span><span class="special">(</span><span class="keyword">false</span> <span class="special">==</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">check_triangular</span><span class="special">(</span><span class="identifier">BOOST_CURRENT_FUNCTION</span><span class="special">,</span> <span class="identifier">lower</span><span class="special">,</span> <span class="identifier">mode</span><span class="special">,</span> <span class="identifier">upper</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">result</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">return</span> <span class="special">(</span><span class="identifier">upper</span> <span class="special">-</span> <span class="identifier">lower</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- but found that these concepts are not defined (or their definition too contentious)
- for too many distributions to be generally applicable. Because they are non-member
- functions, they can be added if required.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h8"></a>
- <span><a name="math_toolkit.backgrounders.implementation.notes_on_implementation_of_specific_functions__amp__distributions"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.notes_on_implementation_of_specific_functions__amp__distributions">Notes
- on Implementation of Specific Functions &amp; Distributions</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Default parameters for the Triangular Distribution. We are uncertain
- about the best default parameters. Some sources suggest that the Standard
- Triangular Distribution has lower = 0, mode = half and upper = 1. However
- as a approximation for the normal distribution, the most common usage,
- lower = -1, mode = 0 and upper = 1 would be more suitable.
- </li></ul></div>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h9"></a>
- <span><a name="math_toolkit.backgrounders.implementation.rational_approximations_used"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">Rational
- Approximations Used</a>
- </h5>
-<p>
- Some of the special functions in this library are implemented via rational
- approximations. These are either taken from the literature, or devised by
- John Maddock using <a class="link" href="../toolkit/internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm">our
- Remez code</a>.
- </p>
-<p>
- Rational rather than Polynomial approximations are used to ensure accuracy:
- polynomial approximations are often wonderful up to a certain level of accuracy,
- but then quite often fail to provide much greater accuracy no matter how
- many more terms are added.
- </p>
-<p>
- Our own approximations were devised either for added accuracy (to support
- 128-bit long doubles for example), or because literature methods were unavailable
- or under non-BSL compatible license. Our Remez code is known to produce good
- agreement with literature results in fairly simple "toy" cases.
- All approximations were checked for convergence and to ensure that they were
- not ill-conditioned (the coefficients can give a theoretically good solution,
- but the resulting rational function may be un-computable at fixed precision).
- </p>
-<p>
- Recomputing using different Remez implementations may well produce differing
- coefficients: the problem is well known to be ill conditioned in general,
- and our Remez implementation often found a broad and ill-defined minima for
- many of these approximations (of course for simple "toy" examples
- like approximating <code class="computeroutput"><span class="identifier">exp</span></code> the
- minima is well defined, and the coeffiecents should agree no matter whose
- Remez implementation is used). This should not in general effect the validity
- of the approximations: there's good literature supporting the idea that coefficients
- can be "in error" without necessarily adversely effecting the result.
- Note that "in error" has a special meaning in this context, see
- <a href="http://front.math.ucdavis.edu/0101.5042" target="_top">"Approximate construction
- of rational approximations and the effect of error autocorrection.",
- Grigori Litvinov, eprint arXiv:math/0101042</a>. Therefore the coefficients
- still need to be accurately calculated, even if they can be in error compared
- to the "true" minimax solution.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h10"></a>
- <span><a name="math_toolkit.backgrounders.implementation.representation_of_mathematical_constants"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.representation_of_mathematical_constants">Representation
- of Mathematical Constants</a>
- </h5>
-<p>
- A macro BOOST_DEFINE_MATH_CONSTANT in constants.hpp is used to provide high
- accuracy constants to mathematical functions and distributions, since it
- is important to provide values uniformly for both built-in float, double
- and long double types, and for User Defined types like NTL::quad_float and
- NTL::RR.
- </p>
-<p>
- To permit calculations in this Math ToolKit and its tests, (and elsewhere)
- at about 100 decimal digits with NTL::RR type, it is obviously necessary
- to define constants to this accuracy.
- </p>
-<p>
- However, some compilers do not accept decimal digits strings as long as this.
- So the constant is split into two parts, with the 1st containing at least
- long double precision, and the 2nd zero if not needed or known. The 3rd part
- permits an exponent to be provided if necessary (use zero if none) - the
- other two parameters may only contain decimal digits (and sign and decimal
- point), and may NOT include an exponent like 1.234E99 (nor a trailing F or
- L). The second digit string is only used if T is a User-Defined Type, when
- the constant is converted to a long string literal and lexical_casted to
- type T. (This is necessary because you can't use a numeric constant since
- even a long double might not have enough digits).
- </p>
-<p>
- For example, pi is defined:
- </p>
-<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">pi</span><span class="special">,</span>
- <span class="number">3.141592653589793238462643383279502884197169399375105820974944</span><span class="special">,</span>
- <span class="number">5923078164062862089986280348253421170679821480865132823066470938446095505</span><span class="special">,</span>
- <span class="number">0</span><span class="special">)</span>
-</pre>
-<p>
- And used thus:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">diameter</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">radius</span> <span class="special">=</span> <span class="identifier">diameter</span> <span class="special">*</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;();</span>
-
-<span class="keyword">or</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;()</span>
-</pre>
-<p>
- Note that it is necessary (if inconvenient) to specify the type explicitly.
- </p>
-<p>
- So you cannot write
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;&gt;();</span> <span class="comment">// could not deduce template argument for 'T'</span>
-</pre>
-<p>
- Neither can you write:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">;</span> <span class="comment">// Context does not allow for disambiguation of overloaded function</span>
-<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">();</span> <span class="comment">// Context does not allow for disambiguation of overloaded function</span>
-</pre>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h11"></a>
- <span><a name="math_toolkit.backgrounders.implementation.thread_safety"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.thread_safety">Thread
- safety</a>
- </h5>
-<p>
- Reporting of error by setting errno should be thread safe already (otherwise
- none of the std lib math functions would be thread safe?). If you turn on
- reporting of errors via exceptions, errno gets left unused anyway.
- </p>
-<p>
- Other than that, the code is intended to be thread safe <span class="bold"><strong>for
- built in real-number types</strong></span> : so float, double and long double
- are all thread safe.
- </p>
-<p>
- For non-built-in types - NTL::RR for example - initialisation of the various
- constants used in the implementation is potentially <span class="bold"><strong>not</strong></span>
- thread safe. This most undesiable, but it would be a signficant challenge
- to fix it. Some compilers may offer the option of having static-constants
- initialised in a thread safe manner (Commeau, and maybe others?), if that's
- the case then the problem is solved. This is a topic of hot debate for the
- next C++ std revision, so hopefully all compilers will be required to do
- the right thing here at some point.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h12"></a>
- <span><a name="math_toolkit.backgrounders.implementation.sources_of_test_data"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.sources_of_test_data">Sources
- of Test Data</a>
- </h5>
-<p>
- We found a large number of sources of test data. We have assumed that these
- are <span class="emphasis"><em>"known good"</em></span> if they agree with the results
- from our test and only consulted other sources for their <span class="emphasis"><em>'vote'</em></span>
- in the case of serious disagreement. The accuracy, actual and claimed, vary
- very widely. Only <a href="http://functions.wolfram.com/" target="_top">Wolfram Mathematica
- functions</a> provided a higher accuracy than C++ double (64-bit floating-point)
- and was regarded as the most-trusted source by far. The <a href="http://www.r-project.org/" target="_top">The
- R Project for Statistical Computing</a> provided the widest range of
- distributions, but the usual Intel X86 distribution uses 64-but doubles,
- so our use was limited to the 15 to 17 decimal digit accuracy.
- </p>
-<p>
- A useful index of sources is: <a href="http://www.sal.hut.fi/Teaching/Resources/ProbStat/table.html" target="_top">Web-oriented
- Teaching Resources in Probability and Statistics</a>
- </p>
-<p>
- <a href="http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm" target="_top">Statlet</a>:
- Is a Javascript application that calculates and plots probability distributions,
- and provides the most complete range of distributions:
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- Bernoulli, Binomial, discrete uniform, geometric, hypergeometric, negative
- binomial, Poisson, beta, Cauchy-Lorentz, chi-sequared, Erlang, exponential,
- extreme value, Fisher, gamma, Laplace, logistic, lognormal, normal, Parteo,
- Student's t, triangular, uniform, and Weibull.
- </p></blockquote></div>
-<p>
- It calculates pdf, cdf, survivor, log survivor, hazard, tail areas, &amp;
- critical values for 5 tail values.
- </p>
-<p>
- It is also the only independent source found for the Weibull distribution;
- unfortunately it appears to suffer from very poor accuracy in areas where
- the underlying special function is known to be difficult to implement.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h13"></a>
- <span><a name="math_toolkit.backgrounders.implementation.creating_and_managing_the_equations"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.creating_and_managing_the_equations">Creating
- and Managing the Equations</a>
- </h5>
-<p>
- Equations that fit on a single line can most easily be produced by inline
- Quickbook code using templates for Unicode Greek and Unicode Math symbols.
- All Greek letter and small set of Math symbols is available at /boost-path/libs/math/doc/sf_and_dist/html4_symbols.qbk
- </p>
-<p>
- Where equations need to use more than one line, real Math editors were used.
- </p>
-<p>
- The primary source for the equations is now <a href="http://www.w3.org/Math/" target="_top">MathML</a>:
- see the *.mml files in libs/math/doc/sf_and_dist/equations/.
- </p>
-<p>
- These are most easily edited by a GUI editor such as <a href="http://mathcast.sourceforge.net/home.html" target="_top">Mathcast</a>,
- please note that the equation editor supplied with Open Office currently
- mangles these files and should not currently be used.
- </p>
-<p>
- Conversion to SVG was achieved using <a href="http://www.grigoriev.ru/svgmath/" target="_top">SVGMath</a>
- and a command line such as:
- </p>
-<pre class="programlisting">$for file in *.mml; do
-&gt;/cygdrive/c/Python25/python.exe 'C:\download\open\SVGMath-0.3.1\math2svg.py' \
-&gt;&gt;$file &gt; $(basename $file .mml).svg
-&gt;done
-</pre>
-<p>
- See also the section on "Using Python to run Inkscape" and "Using
- inkscape to convert scalable vector SVG files to Portable Network graphic
- PNG".
- </p>
-<p>
- Note that SVGMath requires that the mml files are <span class="bold"><strong>not</strong></span>
- 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.
- </p>
-<p>
- If neccessary the XHTML wrapper can be removed with:
- </p>
-<pre class="programlisting">cat filename | tr -d "\r\n" | sed -e 's/.*\(&lt;math[^&gt;]*&gt;.*&lt;/math&gt;\).*/\1/' &gt; newfile</pre>
-<p>
- Setting up fonts for SVGMath is currently rather tricky, on a Windows XP
- system JM's font setup is the same as the sample config file provided with
- SVGMath but with:
- </p>
-<pre class="programlisting">&lt;!-- Double-struck --&gt;
- &lt;mathvariant name="double-struck" family="Mathematica7, Lucida Sans Unicode"/&gt;
-</pre>
-<p>
- changed to:
- </p>
-<pre class="programlisting">&lt;!-- Double-struck --&gt;
- &lt;mathvariant name="double-struck" family="Lucida Sans Unicode"/&gt;
-</pre>
-<p>
- Note that unlike the sample config file supplied with SVGMath, this does
- not make use of the <a href="http://support.wolfram.com/technotes/fonts/windows/latestfonts.html" target="_top">Mathematica
- 7 font</a> as this lacks sufficient Unicode information for it to be
- used with either SVGMath or XEP "as is".
- </p>
-<p>
- Also note that the SVG files in the repository are almost certainly Windows-specific
- since they reference various Windows Fonts.
- </p>
-<p>
- PNG files can be created from the SVGs using <a href="http://xmlgraphics.apache.org/batik/tools/rasterizer.html" target="_top">Batik</a>
- and a command such as:
- </p>
-<pre class="programlisting">java -jar 'C:\download\open\batik-1.7\batik-rasterizer.jar' -dpi 120 *.svg</pre>
-<p>
- Or using Inkscape (File, Export bitmap, Drawing tab, bitmap size (default
- size, 100 dpi), Filename (default). png)
- </p>
-<p>
- or Using Cygwin, a command such as:
- </p>
-<pre class="programlisting">for file in *.svg; do
- /cygdrive/c/progra~1/Inkscape/inkscape -d 120 -e $(cygpath -a -w $(basename $file .svg).png) $(cygpath -a -w $file);
-done</pre>
-<p>
- Currently Inkscape seems to generate the better looking png's.
- </p>
-<p>
- The PDF is generated into \pdf\math.pdf using a command from a shell or command
- window with current directory \math_toolkit\libs\math\doc\sf_and_dist, typically:
- </p>
-<pre class="programlisting">bjam -a pdf &gt;math_pdf.log</pre>
-<p>
- Note that XEP will have to be configured to <span class="bold"><strong>use and
- embed</strong></span> whatever fonts are used by the SVG equations (almost certainly
- editing the sample xep.xml provided by the XEP installation). If you fail
- to do this you will get XEP warnings in the log file like
- </p>
-<pre class="programlisting">[warning]could not find any font family matching "Times New Roman"; replaced by Helvetica</pre>
-<p>
- (html is the default so it is generated at math_toolkit\libs\math\doc\sf_and_dist\html\index.html
- using command line &gt;bjam -a &gt; math_docs.log).
- </p>
-<pre class="programlisting"><span class="special">&lt;!--</span> <span class="identifier">Sample</span> <span class="identifier">configuration</span> <span class="keyword">for</span> <span class="identifier">Windows</span> <span class="identifier">TrueType</span> <span class="identifier">fonts</span><span class="special">.</span> <span class="special">--&gt;</span>
-</pre>
-<p>
- is provided in the xep.xml downloaded, but the Windows TrueType fonts are
- commented out.
- </p>
-<p>
- JM's XEP config file \xep\xep.xml has the following font configuration section
- added:
- </p>
-<pre class="programlisting">&lt;font-group xml:base="file:/C:/Windows/Fonts/" label="Windows TrueType" embed="true" subset="true"&gt;
- &lt;font-family name="Arial"&gt;
- &lt;font&gt;&lt;font-data ttf="arial.ttf"/&gt;&lt;/font&gt;
- &lt;font style="oblique"&gt;&lt;font-data ttf="ariali.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold"&gt;&lt;font-data ttf="arialbd.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold" style="oblique"&gt;&lt;font-data ttf="arialbi.ttf"/&gt;&lt;/font&gt;
- &lt;/font-family&gt;
-
- &lt;font-family name="Times New Roman" ligatures="&amp;#xFB01; &amp;#xFB02;"&gt;
- &lt;font&gt;&lt;font-data ttf="times.ttf"/&gt;&lt;/font&gt;
- &lt;font style="italic"&gt;&lt;font-data ttf="timesi.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold"&gt;&lt;font-data ttf="timesbd.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold" style="italic"&gt;&lt;font-data ttf="timesbi.ttf"/&gt;&lt;/font&gt;
- &lt;/font-family&gt;
-
- &lt;font-family name="Courier New"&gt;
- &lt;font&gt;&lt;font-data ttf="cour.ttf"/&gt;&lt;/font&gt;
- &lt;font style="oblique"&gt;&lt;font-data ttf="couri.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold"&gt;&lt;font-data ttf="courbd.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold" style="oblique"&gt;&lt;font-data ttf="courbi.ttf"/&gt;&lt;/font&gt;
- &lt;/font-family&gt;
-
- &lt;font-family name="Tahoma" embed="true"&gt;
- &lt;font&gt;&lt;font-data ttf="tahoma.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold"&gt;&lt;font-data ttf="tahomabd.ttf"/&gt;&lt;/font&gt;
- &lt;/font-family&gt;
-
- &lt;font-family name="Verdana" embed="true"&gt;
- &lt;font&gt;&lt;font-data ttf="verdana.ttf"/&gt;&lt;/font&gt;
- &lt;font style="oblique"&gt;&lt;font-data ttf="verdanai.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold"&gt;&lt;font-data ttf="verdanab.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold" style="oblique"&gt;&lt;font-data ttf="verdanaz.ttf"/&gt;&lt;/font&gt;
- &lt;/font-family&gt;
-
- &lt;font-family name="Palatino" embed="true" ligatures="&amp;#xFB00; &amp;#xFB01; &amp;#xFB02; &amp;#xFB03; &amp;#xFB04;"&gt;
- &lt;font&gt;&lt;font-data ttf="pala.ttf"/&gt;&lt;/font&gt;
- &lt;font style="italic"&gt;&lt;font-data ttf="palai.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold"&gt;&lt;font-data ttf="palab.ttf"/&gt;&lt;/font&gt;
- &lt;font weight="bold" style="italic"&gt;&lt;font-data ttf="palabi.ttf"/&gt;&lt;/font&gt;
- &lt;/font-family&gt;
-
- &lt;font-family name="Lucida Sans Unicode"&gt;
- &lt;!-- &lt;font&gt;&lt;font-data ttf="lsansuni.ttf"&gt;&lt;<span class="emphasis"><em>font&gt; --&gt;
- &lt;!-- actually called l_10646.ttf on Windows 2000 and Vista Sp1 --&gt;
- &lt;font&gt;&lt;font-data ttf="l_10646.ttf"</em></span>&gt;&lt;/font&gt;
- &lt;/font-family&gt;
-</pre>
-<p>
- PAB had to alter his because the Lucida Sans Unicode font had a different
- name. Other changes are very likely to be required if you are not using Windows.
- </p>
-<p>
- XZ authored his equations using the venerable Latex, JM converted these to
- MathML using <a href="http://gentoo-wiki.com/HOWTO_Convert_LaTeX_to_HTML_with_MathML" target="_top">mxlatex</a>.
- 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.
- </p>
-<p>
- Equations are embedded in the quickbook source using the <span class="emphasis"><em>equation</em></span>
- template defined in math.qbk. This outputs Docbook XML that looks like:
- </p>
-<pre class="programlisting">&lt;inlinemediaobject&gt;
-&lt;imageobject role="html"&gt;
-&lt;imagedata fileref="../equations/myfile.png"&gt;&lt;/imagedata&gt;
-&lt;/imageobject&gt;
-&lt;imageobject role="print"&gt;
-&lt;imagedata fileref="../equations/myfile.svg"&gt;&lt;/imagedata&gt;
-&lt;/imageobject&gt;
-&lt;/inlinemediaobject&gt;
-</pre>
-<p>
- MathML is not currently present in the Docbook output, or in the generated
- HTML: this needs further investigation.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.implementation.h14"></a>
- <span><a name="math_toolkit.backgrounders.implementation.producing_graphs"></a></span><a class="link" href="implementation.html#math_toolkit.backgrounders.implementation.producing_graphs">Producing
- Graphs</a>
- </h5>
-<p>
- Graphs were produced in SVG format and then converted to PNG's using the
- same process as the equations.
- </p>
-<p>
- The programs <code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">doc</span><span class="special">/</span><span class="identifier">sf_and_dist</span><span class="special">/</span><span class="identifier">graphs</span><span class="special">/</span><span class="identifier">dist_graphs</span><span class="special">.</span><span class="identifier">cpp</span></code> and
- <code class="computeroutput"><span class="special">/</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">doc</span><span class="special">/</span><span class="identifier">sf_and_dist</span><span class="special">/</span><span class="identifier">graphs</span><span class="special">/</span><span class="identifier">sf_graphs</span><span class="special">.</span><span class="identifier">cpp</span></code> generate
- the SVG's directly using the <a href="http://code.google.com/soc/2007/boost/about.html" target="_top">Google
- Summer of Code 2007</a> project of Jacob Voytko (whose work so far, considerably
- enhanced and now reasonably mature and usable, by Paul A. Bristow, is at
- .\boost-sandbox\SOC\2007\visualization).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="relative_error.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html b/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html
deleted file mode 100644
index c189b94859..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html
+++ /dev/null
@@ -1,574 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>The Lanczos Approximation</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../backgrounders.html" title="Backgrounders">
-<link rel="prev" href="relative_error.html" title="Relative Error">
-<link rel="next" href="remez.html" title="The Remez Method">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="relative_error.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remez.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_backgrounders_lanczos">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.backgrounders.lanczos"></a><a class="link" href="lanczos.html" title="The Lanczos Approximation">The Lanczos Approximation</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.backgrounders.lanczos.h0"></a>
- <span><a name="math_toolkit.backgrounders.lanczos.motivation"></a></span><a class="link" href="lanczos.html#math_toolkit.backgrounders.lanczos.motivation">Motivation</a>
- </h5>
-<p>
- <span class="emphasis"><em>Why base gamma and gamma-like functions on the Lanczos approximation?</em></span>
- </p>
-<p>
- First of all I should make clear that for the gamma function over real numbers
- (as opposed to complex ones) the Lanczos approximation (See <a href="http://en.wikipedia.org/wiki/Lanczos_approximation" target="_top">Wikipedia
- or </a> <a href="http://mathworld.wolfram.com/LanczosApproximation.html" target="_top">Mathworld</a>)
- appears to offer no clear advantage over more traditional methods such as
- <a href="http://en.wikipedia.org/wiki/Stirling_approximation" target="_top">Stirling's
- approximation</a>. <a class="link" href="lanczos.html#pugh">Pugh</a> carried out an extensive
- comparison of the various methods available and discovered that they were
- all very similar in terms of complexity and relative error. However, the
- Lanczos approximation does have a couple of properties that make it worthy
- of further consideration:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- The approximation has an easy to compute truncation error that holds
- for all <span class="emphasis"><em>z &gt; 0</em></span>. In practice that means we can
- use the same approximation for all <span class="emphasis"><em>z &gt; 0</em></span>, and
- be certain that no matter how large or small <span class="emphasis"><em>z</em></span> is,
- the truncation error will <span class="emphasis"><em>at worst</em></span> be bounded by
- some finite value.
- </li>
-<li class="listitem">
- The approximation has a form that is particularly amenable to analytic
- manipulation, in particular ratios of gamma or gamma-like functions are
- particularly easy to compute without resorting to logarithms.
- </li>
-</ul></div>
-<p>
- It is the combination of these two properties that make the approximation
- attractive: Stirling's approximation is highly accurate for large z, and
- has some of the same analytic properties as the Lanczos approximation, but
- can't easily be used across the whole range of z.
- </p>
-<p>
- As the simplest example, consider the ratio of two gamma functions: one could
- compute the result via lgamma:
- </p>
-<pre class="programlisting"><span class="identifier">exp</span><span class="special">(</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">b</span><span class="special">));</span>
-</pre>
-<p>
- However, even if lgamma is uniformly accurate to 0.5ulp, the worst case relative
- error in the above can easily be shown to be:
- </p>
-<pre class="programlisting"><span class="identifier">Erel</span> <span class="special">&gt;</span> <span class="identifier">a</span> <span class="special">*</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">a</span><span class="special">)/</span><span class="number">2</span> <span class="special">+</span> <span class="identifier">b</span> <span class="special">*</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">b</span><span class="special">)/</span><span class="number">2</span>
-</pre>
-<p>
- For small <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> that's not a
- problem, but to put the relationship another way: <span class="emphasis"><em>each time a and
- b increase in magnitude by a factor of 10, at least one decimal digit of
- precision will be lost.</em></span>
- </p>
-<p>
- In contrast, by analytically combining like power terms in a ratio of Lanczos
- approximation's, these errors can be virtually eliminated for small <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>b</em></span>, and kept under control for very large (or very
- small for that matter) <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>.
- Of course, computing large powers is itself a notoriously hard problem, but
- even so, analytic combinations of Lanczos approximations can make the difference
- between obtaining a valid result, or simply garbage. Refer to the implementation
- notes for the <a class="link" href="../special/sf_beta/beta_function.html" title="Beta">beta</a>
- function for an example of this method in practice. The incomplete <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p gamma</a> and
- <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">beta</a> functions
- use similar analytic combinations of power terms, to combine gamma and beta
- functions divided by large powers into single (simpler) expressions.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.lanczos.h1"></a>
- <span><a name="math_toolkit.backgrounders.lanczos.the_approximation"></a></span><a class="link" href="lanczos.html#math_toolkit.backgrounders.lanczos.the_approximation">The Approximation</a>
- </h5>
-<p>
- The Lanczos Approximation to the Gamma Function is given by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos0.png"></span>
- </p>
-<p>
- Where S<sub>g</sub>(z) is an infinite sum, that is convergent for all z &gt; 0, and
- <span class="emphasis"><em>g</em></span> is an arbitrary parameter that controls the "shape"
- of the terms in the sum which is given by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos0a.png"></span>
- </p>
-<p>
- With individual coefficients defined in closed form by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos0b.png"></span>
- </p>
-<p>
- 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
- we're multiplying by a series of numbers very close to 1, so roundoff errors
- can accumulate quite rapidly).
- </p>
-<p>
- The Lanczos approximation is therefore often written in partial fraction
- form with the leading constants absorbed by the coefficients in the sum:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos1.png"></span>
- </p>
-<p>
- where:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos2.png"></span>
- </p>
-<p>
- Again parameter <span class="emphasis"><em>g</em></span> is an arbitrarily chosen constant,
- and <span class="emphasis"><em>N</em></span> is an arbitrarily chosen number of terms to evaluate
- in the "Lanczos sum" part.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Some authors choose to define the sum from k=1 to N, and hence end up with
- N+1 coefficients. This happens to confuse both the following discussion
- and the code (since C++ deals with half open array ranges, rather than
- the closed range of the sum). This convention is consistent with <a class="link" href="lanczos.html#godfrey">Godfrey</a>, but not <a class="link" href="lanczos.html#pugh">Pugh</a>,
- so take care when referring to the literature in this field.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.backgrounders.lanczos.h2"></a>
- <span><a name="math_toolkit.backgrounders.lanczos.computing_the_coefficients"></a></span><a class="link" href="lanczos.html#math_toolkit.backgrounders.lanczos.computing_the_coefficients">Computing
- the Coefficients</a>
- </h5>
-<p>
- The coefficients C0..CN-1 need to be computed from <span class="emphasis"><em>N</em></span>
- and <span class="emphasis"><em>g</em></span> at high precision, and then stored as part of
- the program. Calculation of the coefficients is performed via the method
- of <a class="link" href="lanczos.html#godfrey">Godfrey</a>; let the constants be contained
- in a column vector P, then:
- </p>
-<p>
- P = B D C F
- </p>
-<p>
- where B is an NxN matrix:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos4.png"></span>
- </p>
-<p>
- D is an NxN matrix:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos3.png"></span>
- </p>
-<p>
- C is an NxN matrix:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos5.png"></span>
- </p>
-<p>
- and F is an N element column vector:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos6.png"></span>
- </p>
-<p>
- Note than the matrices B, D and C contain all integer terms and depend only
- on <span class="emphasis"><em>N</em></span>, this product should be computed first, and then
- multiplied by <span class="emphasis"><em>F</em></span> as the last step.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.lanczos.h3"></a>
- <span><a name="math_toolkit.backgrounders.lanczos.choosing_the_right_parameters"></a></span><a class="link" href="lanczos.html#math_toolkit.backgrounders.lanczos.choosing_the_right_parameters">Choosing
- the Right Parameters</a>
- </h5>
-<p>
- The trick is to choose <span class="emphasis"><em>N</em></span> and <span class="emphasis"><em>g</em></span>
- to give the desired level of accuracy: choosing a small value for <span class="emphasis"><em>g</em></span>
- leads to a strictly convergent series, but one which converges only slowly.
- Choosing a larger value of <span class="emphasis"><em>g</em></span> causes the terms in the
- series to be large and/or divergent for about the first <span class="emphasis"><em>g-1</em></span>
- terms, and to then suddenly converge with a "crunch".
- </p>
-<p>
- <a class="link" href="lanczos.html#pugh">Pugh</a> has determined the optimal value of <span class="emphasis"><em>g</em></span>
- for <span class="emphasis"><em>N</em></span> in the range <span class="emphasis"><em>1 &lt;= N &lt;= 60</em></span>:
- unfortunately in practice choosing these values leads to cancellation errors
- in the Lanczos sum as the largest term in the (alternating) series is approximately
- 1000 times larger than the result. These optimal values appear not to be
- useful in practice unless the evaluation can be done with a number of guard
- digits <span class="emphasis"><em>and</em></span> the coefficients are stored at higher precision
- than that desired in the result. These values are best reserved for say,
- computing to float precision with double precision arithmetic.
- </p>
-<div class="table">
-<a name="math_toolkit.backgrounders.lanczos.optimal_choices_for_n_and_g_when_computing_with_guard_digits__source__pugh_"></a><p class="title"><b>Table&#160;58.&#160;Optimal choices for N and g when computing with guard digits (source:
- Pugh)</b></p>
-<div class="table-contents"><table class="table" summary="Optimal choices for N and g when computing with guard digits (source:
- Pugh)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- N
- </p>
- </th>
-<th>
- <p>
- g
- </p>
- </th>
-<th>
- <p>
- Max Error
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 24
- </p>
- </td>
-<td>
- <p>
- 6
- </p>
- </td>
-<td>
- <p>
- 5.581
- </p>
- </td>
-<td>
- <p>
- 9.51e-12
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- 13
- </p>
- </td>
-<td>
- <p>
- 13.144565
- </p>
- </td>
-<td>
- <p>
- 9.2213e-23
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- The alternative described by <a class="link" href="lanczos.html#godfrey">Godfrey</a> is to
- perform an exhaustive search of the <span class="emphasis"><em>N</em></span> and <span class="emphasis"><em>g</em></span>
- parameter space to determine the optimal combination for a given <span class="emphasis"><em>p</em></span>
- digit floating-point type. Repeating this work found a good approximation
- for double precision arithmetic (close to the one <a class="link" href="lanczos.html#godfrey">Godfrey</a>
- found), but failed to find really good approximations for 80 or 128-bit long
- doubles. Further it was observed that the approximations obtained tended
- to optimised for the small values of z (1 &lt; z &lt; 200) used to test the
- implementation against the factorials. Computing ratios of gamma functions
- with large arguments were observed to suffer from error resulting from the
- truncation of the Lancozos series.
- </p>
-<p>
- <a class="link" href="lanczos.html#pugh">Pugh</a> identified all the locations where the theoretical
- error of the approximation were at a minimum, but unfortunately has published
- only the largest of these minima. However, he makes the observation that
- the minima coincide closely with the location where the first neglected term
- (a<sub>N</sub>) in the Lanczos series S<sub>g</sub>(z) changes sign. These locations are quite
- easy to locate, albeit with considerable computer time. These "sweet
- spots" need only be computed once, tabulated, and then searched when
- required for an approximation that delivers the required precision for some
- fixed precision type.
- </p>
-<p>
- Unfortunately, following this path failed to find a really good approximation
- for 128-bit long doubles, and those found for 64 and 80-bit reals required
- an excessive number of terms. There are two competing issues here: high precision
- requires a large value of <span class="emphasis"><em>g</em></span>, but avoiding cancellation
- errors in the evaluation requires a small <span class="emphasis"><em>g</em></span>.
- </p>
-<p>
- At this point note that the Lanczos sum can be converted into rational form
- (a ratio of two polynomials, obtained from the partial-fraction form using
- polynomial arithmetic), and doing so changes the coefficients so that <span class="emphasis"><em>they
- are all positive</em></span>. That means that the sum in rational form can
- be evaluated without cancellation error, albeit with double the number of
- coefficients for a given N. Repeating the search of the "sweet spots",
- this time evaluating the Lanczos sum in rational form, and testing only those
- "sweet spots" whose theoretical error is less than the machine
- epsilon for the type being tested, yielded good approximations for all the
- types tested. The optimal values found were quite close to the best cases
- reported by <a class="link" href="lanczos.html#pugh">Pugh</a> (just slightly larger <span class="emphasis"><em>N</em></span>
- and slightly smaller <span class="emphasis"><em>g</em></span> for a given precision than <a class="link" href="lanczos.html#pugh">Pugh</a> reports), and even though converting to rational
- form doubles the number of stored coefficients, it should be noted that half
- of them are integers (and therefore require less storage space) and the approximations
- require a smaller <span class="emphasis"><em>N</em></span> than would otherwise be required,
- so fewer floating point operations may be required overall.
- </p>
-<p>
- The following table shows the optimal values for <span class="emphasis"><em>N</em></span> and
- <span class="emphasis"><em>g</em></span> when computing at fixed precision. These should be
- taken as work in progress: there are no values for 106-bit significand machines
- (Darwin long doubles &amp; NTL quad_float), and further optimisation of the
- values of <span class="emphasis"><em>g</em></span> may be possible. Errors given in the table
- are estimates of the error due to truncation of the Lanczos infinite series
- to <span class="emphasis"><em>N</em></span> terms. They are calculated from the sum of the
- first five neglected terms - and are known to be rather pessimistic estimates
- - although it is noticeable that the best combinations of <span class="emphasis"><em>N</em></span>
- and <span class="emphasis"><em>g</em></span> occurred when the estimated truncation error almost
- exactly matches the machine epsilon for the type in question.
- </p>
-<div class="table">
-<a name="math_toolkit.backgrounders.lanczos.optimum_value_for_n_and_g_when_computing_at_fixed_precision"></a><p class="title"><b>Table&#160;59.&#160;Optimum value for N and g when computing at fixed precision</b></p>
-<div class="table-contents"><table class="table" summary="Optimum value for N and g when computing at fixed precision">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform/Compiler Used
- </p>
- </th>
-<th>
- <p>
- N
- </p>
- </th>
-<th>
- <p>
- g
- </p>
- </th>
-<th>
- <p>
- Max Truncation Error
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 24
- </p>
- </td>
-<td>
- <p>
- Win32, VC++ 7.1
- </p>
- </td>
-<td>
- <p>
- 6
- </p>
- </td>
-<td>
- <p>
- 1.428456135094165802001953125
- </p>
- </td>
-<td>
- <p>
- 9.41e-007
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, VC++ 7.1
- </p>
- </td>
-<td>
- <p>
- 13
- </p>
- </td>
-<td>
- <p>
- 6.024680040776729583740234375
- </p>
- </td>
-<td>
- <p>
- 3.23e-016
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Suse Linux 9 IA64, gcc-3.3.3
- </p>
- </td>
-<td>
- <p>
- 17
- </p>
- </td>
-<td>
- <p>
- 12.2252227365970611572265625
- </p>
- </td>
-<td>
- <p>
- 2.34e-024
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 116
- </p>
- </td>
-<td>
- <p>
- HP Tru64 Unix 5.1B / Alpha, Compaq C++ V7.1-006
- </p>
- </td>
-<td>
- <p>
- 24
- </p>
- </td>
-<td>
- <p>
- 20.3209821879863739013671875
- </p>
- </td>
-<td>
- <p>
- 4.75e-035
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Finally note that the Lanczos approximation can be written as follows by
- removing a factor of exp(g) from the denominator, and then dividing all the
- coefficients by exp(g):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lanczos7.png"></span>
- </p>
-<p>
- This form is more convenient for calculating lgamma, but for the gamma function
- the division by <span class="emphasis"><em>e</em></span> turns a possibly exact quality into
- an inexact value: this reduces accuracy in the common case that the input
- is exact, and so isn't used for the gamma function.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.lanczos.h4"></a>
- <span><a name="math_toolkit.backgrounders.lanczos.references"></a></span><a class="link" href="lanczos.html#math_toolkit.backgrounders.lanczos.references">References</a>
- </h5>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- <a name="godfrey"></a>Paul Godfrey, <a href="http://my.fit.edu/~gabdo/gamma.txt" target="_top">"A
- note on the computation of the convergent Lanczos complex Gamma approximation"</a>.
- </li>
-<li class="listitem">
- <a name="pugh"></a>Glendon Ralph Pugh, <a href="http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf" target="_top">"An
- Analysis of the Lanczos Gamma Approximation"</a>, PhD Thesis
- November 2004.
- </li>
-<li class="listitem">
- Viktor T. Toth, <a href="http://www.rskey.org/gamma.htm" target="_top">"Calculators
- and the Gamma Function"</a>.
- </li>
-<li class="listitem">
- Mathworld, <a href="http://mathworld.wolfram.com/LanczosApproximation.html" target="_top">The
- Lanczos Approximation</a>.
- </li>
-</ol></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="relative_error.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remez.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html b/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html
deleted file mode 100644
index 236f5da6ce..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>References</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../backgrounders.html" title="Backgrounders">
-<link rel="prev" href="remez.html" title="The Remez Method">
-<link rel="next" href="../status.html" title="Library Status">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remez.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../status.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_backgrounders_refs">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.backgrounders.refs"></a><a class="link" href="refs.html" title="References">References</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.backgrounders.refs.h0"></a>
- <span><a name="math_toolkit.backgrounders.refs.general_references"></a></span><a class="link" href="refs.html#math_toolkit.backgrounders.refs.general_references">General
- references</a>
- </h5>
-<p>
- (Specific detailed sources for individual functions and distributions are
- given at the end of each individual section).
- </p>
-<p>
- <a href="http://dlmf.nist.gov/" target="_top">DLMF (NIST Digital Library of Mathematical
- Functions)</a> is a replacement for the legendary Abramowitz and Stegun's
- Handbook of Mathematical Functions (often called simply A&amp;S),
- </p>
-<p>
- M. Abramowitz and I. A. Stegun (Eds.) (1964) Handbook of Mathematical Functions
- with Formulas, Graphs, and Mathematical Tables, National Bureau of Standards
- Applied Mathematics Series, U.S. Government Printing Office, Washington,
- D.C.
- </p>
-<p>
- NIST Handbook of Mathematical Functions
- </p>
-<p>
- Edited by: Frank W. J. Olver, University of Maryland and National Institute
- of Standards and Technology, Maryland, Daniel W. Lozier, National Institute
- of Standards and Technology, Maryland, Ronald F. Boisvert, National Institute
- of Standards and Technology, Maryland, Charles W. Clark, National Institute
- of Standards and Technology, Maryland and University of Maryland.
- </p>
-<p>
- ISBN: 978-0521140638 (paperback), 9780521192255 (hardback), July 2010, Cambridge
- University Press.
- </p>
-<p>
- <a href="http://www.itl.nist.gov/div898/handbook/index.htm" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods</a>
- </p>
-<p>
- <a href="http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/DiscreteDistributions.html" target="_top">Mathematica
- Documentation: DiscreteDistributions</a> The Wolfram Research Documentation
- Center is a collection of online reference materials about Mathematica, CalculationCenter,
- and other Wolfram Research products.
- </p>
-<p>
- <a href="http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/ContinuousDistributions.html" target="_top">Mathematica
- Documentation: ContinuousDistributions</a> The Wolfram Research Documentation
- Center is a collection of online reference materials about Mathematica, CalculationCenter,
- and other Wolfram Research products.
- </p>
-<p>
- Statistical Distributions (Wiley Series in Probability &amp; Statistics)
- (Paperback) by N.A.J. Hastings, Brian Peacock, Merran Evans, ISBN: 0471371246,
- Wiley 2000.
- </p>
-<p>
- <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme Value
- Distributions, Theory and Applications</a> Samuel Kotz &amp; Saralees
- Nadarajah, ISBN 978-1-86094-224-2 &amp; 1-86094-224-5 Oct 2000, Chapter 1.2
- discusses the various extreme value distributions.
- </p>
-<p>
- <a href="http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf" target="_top">pugh.pdf
- (application/pdf Object)</a> Pugh Msc Thesis on the Lanczos approximation
- to the gamma function.
- </p>
-<p>
- <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003" target="_top">N1514,
- 03-0097, A Proposal to Add Mathematical Special Functions to the C++ Standard
- Library (version 2), Walter E. Brown</a>
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.refs.h1"></a>
- <span><a name="math_toolkit.backgrounders.refs.calculators"></a></span><a class="link" href="refs.html#math_toolkit.backgrounders.refs.calculators">Calculators</a>
- </h5>
-<p>
- We found (and used to create cross-check spot values - as far as their accuracy
- allowed).
- </p>
-<p>
- <a href="http://functions.wolfram.com/" target="_top">The Wolfram Functions Site</a>
- The Wolfram Functions Site - Providing the mathematical and scientific community
- with the world's largest (and most authorititive) collection of formulas
- and graphics about mathematical functions.
- </p>
-<p>
- <a href="http://www.moshier.net/cephes28.zip" target="_top">100-decimal digit calculator</a>
- provided some spot values.
- </p>
-<p>
- <a href="http://www.adsciengineering.com/bpdcalc/" target="_top">http://www.adsciengineering.com/bpdcalc/</a>
- Binomial Probability Distribution Calculator.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.refs.h2"></a>
- <span><a name="math_toolkit.backgrounders.refs.other_libraries"></a></span><a class="link" href="refs.html#math_toolkit.backgrounders.refs.other_libraries">Other
- Libraries</a>
- </h5>
-<p>
- <a href="http://www.moshier.net/#Cephes" target="_top">Cephes library</a> by Shephen
- Moshier and his book:
- </p>
-<p>
- Methods and programs for mathematical functions, Stephen L B Moshier, Ellis
- Horwood (1989) ISBN 0745802893 0470216093 provided inspiration.
- </p>
-<p>
- <a href="http://lib.stat.cmu.edu/general/cdflib" target="_top">CDFLIB Library of Fortran
- Routines for Cumulative Distribution functions.</a>
- </p>
-<p>
- <a href="http://www.csit.fsu.edu/~burkardt/cpp_src/dcdflib/dcdflib.html" target="_top">DCFLIB
- C++ version</a>.
- </p>
-<p>
- <a href="http://www.csit.fsu.edu/~burkardt/f_src/dcdflib/dcdflib.html" target="_top">DCDFLIB
- C++ version</a> DCDFLIB is a library of C++ routines, using double precision
- arithmetic, for evaluating cumulative probability density functions.
- </p>
-<p>
- <a href="http://www.softintegration.com/docs/package/chnagstat/" target="_top">http://www.softintegration.com/docs/package/chnagstat/</a>
- </p>
-<p>
- <a href="http://www.nag.com/numeric/numerical_libraries.asp" target="_top">NAG</a>
- libraries.
- </p>
-<p>
- <a href="http://www.mathcad.com" target="_top">MathCAD</a>
- </p>
-<p>
- <a href="http://www.vni.com/products/imsl/jmsl/v30/api/com/imsl/stat/Cdf.html" target="_top">JMSL
- Numerical Library</a> (Java).
- </p>
-<p>
- John F Hart, Computer Approximations, (1978) ISBN 0 088275 642-7.
- </p>
-<p>
- William J Cody, Software Manual for the Elementary Functions, Prentice-Hall
- (1980) ISBN 0138220646.
- </p>
-<p>
- Nico Temme, Special Functions, An Introduction to the Classical Functions
- of Mathematical Physics, Wiley, ISBN: 0471-11313-1 (1996) who also gave valueable
- advice.
- </p>
-<p>
- <a href="http://www.cas.lancs.ac.uk/glossary_v1.1/prob.html#probdistn" target="_top">Statistics
- Glossary</a>, Valerie Easton and John H. McColl.
- </p>
-<p>
- <span class="underline">_R</span> R Development Core Team (2010).
- R: A language and environment for statistical computing. R Foundation for
- Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org.
- </p>
-<p>
- For use of R, see:
- </p>
-<p>
- Jim Albert, Bayesian Computation with R, ISBN 978-0-387-71384-7.
- </p>
-<p>
- <a href="http://www.quantnet.com/cplusplus-statistical-distributions-boost" target="_top">C++
- Statistical Distributions in Boost - QuantNetwork forum</a> discusses
- using Boost.Math in finance.
- </p>
-<p>
- <a href="http://www.quantnet.com/boost-and-computational-finance/" target="_top">Quantnet
- Boost and computational finance</a>. Robert Demming &amp; Daniel J. Duffy,
- Introduction to the C++ Boost Libraries - Volume I - Foundations and Volume
- II ISBN 978-94-91028-01-4, Advanced Libraries and Applications, ISBN 978-94-91028-02-1
- (to be published in 2011). discusses application of Boost.Math, especially
- in finance.]
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="remez.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../status.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html b/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html
deleted file mode 100644
index f3f749d05a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Relative Error</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../backgrounders.html" title="Backgrounders">
-<link rel="prev" href="implementation.html" title="Additional Implementation Notes">
-<link rel="next" href="lanczos.html" title="The Lanczos Approximation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="implementation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lanczos.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_backgrounders_relative_error">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.backgrounders.relative_error"></a><a class="link" href="relative_error.html" title="Relative Error">Relative Error</a>
-</h3></div></div></div>
-<p>
- Given an actual value <span class="emphasis"><em>a</em></span> and a found value <span class="emphasis"><em>v</em></span>
- the relative error can be calculated from:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/error2.png"></span>
- </p>
-<p>
- However the test programs in the library use the symmetrical form:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/error1.png"></span>
- </p>
-<p>
- which measures <span class="emphasis"><em>relative difference</em></span> and happens to be
- less error prone in use since we don't have to worry which value is the "true"
- result, and which is the experimental one. It guarantees to return a value
- at least as large as the relative error.
- </p>
-<p>
- Special care needs to be taken when one value is zero: we could either take
- the absolute error in this case (but that's cheating as the absolute error
- is likely to be very small), or we could assign a value of either 1 or infinity
- to the relative error in this special case. In the test cases for the special
- functions in this library, everything below a threshold is regarded as "effectively
- zero", otherwise the relative error is assigned the value of 1 if only
- one of the terms is zero. The threshold is currently set at <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;::</span><span class="identifier">min</span><span class="special">()</span></code>: in other words all denormalised numbers
- are regarded as a zero.
- </p>
-<p>
- All the test programs calculate <span class="emphasis"><em>quantized relative error</em></span>,
- whereas the graphs in this manual are produced with the <span class="emphasis"><em>actual
- error</em></span>. The difference is as follows: in the test programs, the
- test data is rounded to the target real type under test when the program
- is compiled, so the error observed will then be a whole number of <span class="emphasis"><em>units
- in the last place</em></span> either rounded up from the actual error, or
- rounded down (possibly to zero). In contrast the <span class="emphasis"><em>true error</em></span>
- is obtained by extending the precision of the calculated value, and then
- comparing to the actual value: in this case the calculated error may be some
- fraction of <span class="emphasis"><em>units in the last place</em></span>.
- </p>
-<p>
- Note that throughout this manual and the test programs the relative error
- is usually quoted in units of epsilon. However, remember that <span class="emphasis"><em>units
- in the last place</em></span> more accurately reflect the number of contaminated
- digits, and that relative error can <span class="emphasis"><em>"wobble"</em></span>
- by a factor of 2 compared to <span class="emphasis"><em>units in the last place</em></span>.
- In other words: two implementations of the same function, whose maximum relative
- errors differ by a factor of 2, can actually be accurate to the same number
- of binary digits. You have been warned!
- </p>
-<a name="zero_error"></a><h5>
-<a name="math_toolkit.backgrounders.relative_error.h0"></a>
- <span><a name="math_toolkit.backgrounders.relative_error.the_impossibility_of_zero_error"></a></span><a class="link" href="relative_error.html#math_toolkit.backgrounders.relative_error.the_impossibility_of_zero_error">The
- Impossibility of Zero Error</a>
- </h5>
-<p>
- For many of the functions in this library, it is assumed that the error is
- "effectively zero" if the computation can be done with a number
- of guard digits. However it should be remembered that if the result is a
- <span class="emphasis"><em>transcendental number</em></span> then as a point of principle we
- can never be sure that the result is accurate to more than 1 ulp. This is
- an example of <span class="emphasis"><em>the table makers dilemma</em></span>: consider what
- happens if the first guard digit is a one, and the remaining guard digits
- are all zero. Do we have a tie or not? Since the only thing we can tell about
- a transcendental number is that its digits have no particular pattern, we
- can never tell if we have a tie, no matter how many guard digits we have.
- Therefore, we can never be completely sure that the result has been rounded
- in the right direction. Of course, transcendental numbers that just happen
- to be a tie - for however many guard digits we have - are extremely rare,
- and get rarer the more guard digits we have, but even so....
- </p>
-<p>
- Refer to the classic text <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_top">What
- Every Computer Scientist Should Know About Floating-Point Arithmetic</a>
- for more information.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="implementation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lanczos.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html b/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html
deleted file mode 100644
index 370a8d95ba..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html
+++ /dev/null
@@ -1,542 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>The Remez Method</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../backgrounders.html" title="Backgrounders">
-<link rel="prev" href="lanczos.html" title="The Lanczos Approximation">
-<link rel="next" href="refs.html" title="References">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lanczos.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_backgrounders_remez">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.backgrounders.remez"></a><a class="link" href="remez.html" title="The Remez Method">The Remez Method</a>
-</h3></div></div></div>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Remez_algorithm" target="_top">Remez algorithm</a>
- is a methodology for locating the minimax rational approximation to a function.
- This short article gives a brief overview of the method, but it should not
- be regarded as a thorough theoretical treatment, for that you should consult
- your favorite textbook.
- </p>
-<p>
- Imagine that you want to approximate some function f(x) by way of a rational
- function R(x), where R(x) may be either a polynomial P(x) or a ratio of two
- polynomials P(x)/Q(x) (a rational function). Initially we'll concentrate
- on the polynomial case, as it's by far the easier to deal with, later we'll
- extend to the full rational function case.
- </p>
-<p>
- We want to find the "best" rational approximation, where "best"
- is defined to be the approximation that has the least deviation from f(x).
- We can measure the deviation by way of an error function:
- </p>
-<p>
- E<sub>abs</sub>(x) = f(x) - R(x)
- </p>
-<p>
- which is expressed in terms of absolute error, but we can equally use relative
- error:
- </p>
-<p>
- E<sub>rel</sub>(x) = (f(x) - R(x)) / |f(x)|
- </p>
-<p>
- And indeed in general we can scale the error function in any way we want,
- it makes no difference to the maths, although the two forms above cover almost
- every practical case that you're likely to encounter.
- </p>
-<p>
- The minimax rational function R(x) is then defined to be the function that
- yields the smallest maximal value of the error function. Chebyshev showed
- that there is a unique minimax solution for R(x) that has the following properties:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- If R(x) is a polynomial of degree N, then there are N+2 unknowns: the
- N+1 coefficients of the polynomial, and maximal value of the error function.
- </li>
-<li class="listitem">
- The error function has N+1 roots, and N+2 extrema (minima and maxima).
- </li>
-<li class="listitem">
- The extrema alternate in sign, and all have the same magnitude.
- </li>
-</ul></div>
-<p>
- That means that if we know the location of the extrema of the error function
- then we can write N+2 simultaneous equations:
- </p>
-<p>
- R(x<sub>i</sub>) + (-1)<sup>i</sup>E = f(x<sub>i</sub>)
- </p>
-<p>
- where E is the maximal error term, and x<sub>i</sub> are the abscissa values of the N+2
- extrema of the error function. It is then trivial to solve the simultaneous
- equations to obtain the polynomial coefficients and the error term.
- </p>
-<p>
- <span class="emphasis"><em>Unfortunately we don't know where the extrema of the error function
- are located!</em></span>
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h0"></a>
- <span><a name="math_toolkit.backgrounders.remez.the_remez_method"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.the_remez_method">The
- Remez Method</a>
- </h5>
-<p>
- The Remez method is an iterative technique which, given a broad range of
- assumptions, will converge on the extrema of the error function, and therefore
- the minimax solution.
- </p>
-<p>
- In the following discussion we'll use a concrete example to illustrate the
- Remez method: an approximation to the function e<sup>x</sup> &#160; over the range [-1, 1].
- </p>
-<p>
- Before we can begin the Remez method, we must obtain an initial value for
- the location of the extrema of the error function. We could "guess"
- these, but a much closer first approximation can be obtained by first constructing
- an interpolated polynomial approximation to f(x).
- </p>
-<p>
- In order to obtain the N+1 coefficients of the interpolated polynomial we
- need N+1 points (x<sub>0</sub>...x<sub>N</sub>): with our interpolated form passing through each
- of those points that yields N+1 simultaneous equations:
- </p>
-<p>
- f(x<sub>i</sub>) = P(x<sub>i</sub>) = c<sub>0</sub> + c<sub>1</sub>x<sub>i</sub> ... + c<sub>N</sub>x<sub>i</sub><sup>N</sup>
- </p>
-<p>
- Which can be solved for the coefficients c<sub>0</sub>...c<sub>N</sub> in P(x).
- </p>
-<p>
- Obviously this is not a minimax solution, indeed our only guarantee is that
- f(x) and P(x) touch at N+1 locations, away from those points the error may
- be arbitrarily large. However, we would clearly like this initial approximation
- to be as close to f(x) as possible, and it turns out that using the zeros
- of an orthogonal polynomial as the initial interpolation points is a good
- choice. In our example we'll use the zeros of a Chebyshev polynomial as these
- are particularly easy to calculate, interpolating for a polynomial of degree
- 4, and measuring <span class="emphasis"><em>relative error</em></span> we get the following
- error function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/remez-2.png" alt="remez-2"></span>
- </p>
-<p>
- Which has a peak relative error of 1.2x10<sup>-3</sup>.
- </p>
-<p>
- While this is a pretty good approximation already, judging by the shape of
- the error function we can clearly do better. Before starting on the Remez
- method propper, we have one more step to perform: locate all the extrema
- of the error function, and store these locations as our initial <span class="emphasis"><em>Chebyshev
- control points</em></span>.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- In the simple case of a polynomial approximation, by interpolating through
- the roots of a Chebyshev polynomial we have in fact created a <span class="emphasis"><em>Chebyshev
- approximation</em></span> to the function: in terms of <span class="emphasis"><em>absolute
- error</em></span> this is the best a priori choice for the interpolated
- form we can achieve, and typically is very close to the minimax solution.
- </p>
-<p>
- However, if we want to optimise for <span class="emphasis"><em>relative error</em></span>,
- or if the approximation is a rational function, then the initial Chebyshev
- solution can be quite far from the ideal minimax solution.
- </p>
-<p>
- A more technical discussion of the theory involved can be found in this
- <a href="http://math.fullerton.edu/mathews/n2003/ChebyshevPolyMod.html" target="_top">online
- course</a>.
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h1"></a>
- <span><a name="math_toolkit.backgrounders.remez.remez_step_1"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.remez_step_1">Remez
- Step 1</a>
- </h5>
-<p>
- The first step in the Remez method, given our current set of N+2 Chebyshev
- control points x<sub>i</sub>, is to solve the N+2 simultaneous equations:
- </p>
-<p>
- P(x<sub>i</sub>) + (-1)<sup>i</sup>E = f(x<sub>i</sub>)
- </p>
-<p>
- To obtain the error term E, and the coefficients of the polynomial P(x).
- </p>
-<p>
- This gives us a new approximation to f(x) that has the same error <span class="emphasis"><em>E</em></span>
- at each of the control points, and whose error function <span class="emphasis"><em>alternates
- in sign</em></span> at the control points. This is still not necessarily the
- minimax solution though: since the control points may not be at the extrema
- of the error function. After this first step here's what our approximation's
- error function looks like:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/remez-3.png" alt="remez-3"></span>
- </p>
-<p>
- Clearly this is still not the minimax solution since the control points are
- not located at the extrema, but the maximum relative error has now dropped
- to 5.6x10<sup>-4</sup>.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h2"></a>
- <span><a name="math_toolkit.backgrounders.remez.remez_step_2"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.remez_step_2">Remez
- Step 2</a>
- </h5>
-<p>
- The second step is to locate the extrema of the new approximation, which
- we do in two stages: first, since the error function changes sign at each
- control point, we must have N+1 roots of the error function located between
- each pair of N+2 control points. Once these roots are found by standard root
- finding techniques, we know that N extrema are bracketed between each pair
- of roots, plus two more between the endpoints of the range and the first
- and last roots. The N+2 extrema can then be found using standard function
- minimisation techniques.
- </p>
-<p>
- We now have a choice: multi-point exchange, or single point exchange.
- </p>
-<p>
- In single point exchange, we move the control point nearest to the largest
- extrema to the absissa value of the extrema.
- </p>
-<p>
- In multi-point exchange we swap all the current control points, for the locations
- of the extrema.
- </p>
-<p>
- In our example we perform multi-point exchange.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h3"></a>
- <span><a name="math_toolkit.backgrounders.remez.iteration"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.iteration">Iteration</a>
- </h5>
-<p>
- The Remez method then performs steps 1 and 2 above iteratively until the
- control points are located at the extrema of the error function: this is
- then the minimax solution.
- </p>
-<p>
- For our current example, two more iterations converges on a minimax solution
- with a peak relative error of 5x10<sup>-4</sup> and an error function that looks like:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/remez-4.png" alt="remez-4"></span>
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h4"></a>
- <span><a name="math_toolkit.backgrounders.remez.rational_approximations"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.rational_approximations">Rational
- Approximations</a>
- </h5>
-<p>
- If we wish to extend the Remez method to a rational approximation of the
- form
- </p>
-<p>
- f(x) = R(x) = P(x) / Q(x)
- </p>
-<p>
- where P(x) and Q(x) are polynomials, then we proceed as before, except that
- now we have N+M+2 unknowns if P(x) is of order N and Q(x) is of order M.
- This assumes that Q(x) is normalised so that its leading coefficient is 1,
- giving N+M+1 polynomial coefficients in total, plus the error term E.
- </p>
-<p>
- The simultaneous equations to be solved are now:
- </p>
-<p>
- P(x<sub>i</sub>) / Q(x<sub>i</sub>) + (-1)<sup>i</sup>E = f(x<sub>i</sub>)
- </p>
-<p>
- Evaluated at the N+M+2 control points x<sub>i</sub>.
- </p>
-<p>
- Unfortunately these equations are non-linear in the error term E: we can
- only solve them if we know E, and yet E is one of the unknowns!
- </p>
-<p>
- The method usually adopted to solve these equations is an iterative one:
- we guess the value of E, solve the equations to obtain a new value for E
- (as well as the polynomial coefficients), then use the new value of E as
- the next guess. The method is repeated until E converges on a stable value.
- </p>
-<p>
- These complications extend the running time required for the development
- of rational approximations quite considerably. It is often desirable to obtain
- a rational rather than polynomial approximation none the less: rational approximations
- will often match more difficult to approximate functions, to greater accuracy,
- and with greater efficiency, than their polynomial alternatives. For example,
- if we takes our previous example of an approximation to e<sup>x</sup>, we obtained 5x10<sup>-4</sup> accuracy
- with an order 4 polynomial. If we move two of the unknowns into the denominator
- to give a pair of order 2 polynomials, and re-minimise, then the peak relative
- error drops to 8.7x10<sup>-5</sup>. That's a 5 fold increase in accuracy, for the same
- number of terms overall.
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h5"></a>
- <span><a name="math_toolkit.backgrounders.remez.practical_considerations"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.practical_considerations">Practical
- Considerations</a>
- </h5>
-<p>
- Most treatises on approximation theory stop at this point. However, from
- a practical point of view, most of the work involves finding the right approximating
- form, and then persuading the Remez method to converge on a solution.
- </p>
-<p>
- So far we have used a direct approximation:
- </p>
-<p>
- f(x) = R(x)
- </p>
-<p>
- But this will converge to a useful approximation only if f(x) is smooth.
- In addition round-off errors when evaluating the rational form mean that
- this will never get closer than within a few epsilon of machine precision.
- Therefore this form of direct approximation is often reserved for situations
- where we want efficiency, rather than accuracy.
- </p>
-<p>
- The first step in improving the situation is generally to split f(x) into
- a dominant part that we can compute accurately by another method, and a slowly
- changing remainder which can be approximated by a rational approximation.
- We might be tempted to write:
- </p>
-<p>
- f(x) = g(x) + R(x)
- </p>
-<p>
- where g(x) is the dominant part of f(x), but if f(x)/g(x) is approximately
- constant over the interval of interest then:
- </p>
-<p>
- f(x) = g(x)(c + R(x))
- </p>
-<p>
- Will yield a much better solution: here <span class="emphasis"><em>c</em></span> is a constant
- that is the approximate value of f(x)/g(x) and R(x) is typically tiny compared
- to <span class="emphasis"><em>c</em></span>. In this situation if R(x) is optimised for absolute
- error, then as long as its error is small compared to the constant <span class="emphasis"><em>c</em></span>,
- that error will effectively get wiped out when R(x) is added to <span class="emphasis"><em>c</em></span>.
- </p>
-<p>
- The difficult part is obviously finding the right g(x) to extract from your
- function: often the asymptotic behaviour of the function will give a clue,
- so for example the function <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erfc</a>
- becomes proportional to e<sup>-x<sup>2</sup></sup>/x as x becomes large. Therefore using:
- </p>
-<p>
- erfc(z) = (C + R(x)) e<sup>-x<sup>2</sup></sup>/x
- </p>
-<p>
- as the approximating form seems like an obvious thing to try, and does indeed
- yield a useful approximation.
- </p>
-<p>
- However, the difficulty then becomes one of converging the minimax solution.
- Unfortunately, it is known that for some functions the Remez method can lead
- to divergent behaviour, even when the initial starting approximation is quite
- good. Furthermore, it is not uncommon for the solution obtained in the first
- Remez step above to be a bad one: the equations to be solved are generally
- "stiff", often very close to being singular, and assuming a solution
- is found at all, round-off errors and a rapidly changing error function,
- can lead to a situation where the error function does not in fact change
- sign at each control point as required. If this occurs, it is fatal to the
- Remez method. It is also possible to obtain solutions that are perfectly
- valid mathematically, but which are quite useless computationally: either
- because there is an unavoidable amount of roundoff error in the computation
- of the rational function, or because the denominator has one or more roots
- over the interval of the approximation. In the latter case while the approximation
- may have the correct limiting value at the roots, the approximation is nonetheless
- useless.
- </p>
-<p>
- Assuming that the approximation does not have any fatal errors, and that
- the only issue is converging adequately on the minimax solution, the aim
- is to get as close as possible to the minimax solution before beginning the
- Remez method. Using the zeros of a Chebyshev polynomial for the initial interpolation
- is a good start, but may not be ideal when dealing with relative errors and/or
- rational (rather than polynomial) approximations. One approach is to skew
- the initial interpolation points to one end: for example if we raise the
- roots of the Chebyshev polynomial to a positive power greater than 1 then
- the roots will be skewed towards the middle of the [-1,1] interval, while
- a positive power less than one will skew them towards either end. More usefully,
- if we initially rescale the points over [0,1] and then raise to a positive
- power, we can skew them to the left or right. Returning to our example of
- e<sup>x</sup> &#160; over [-1,1], the initial interpolated form was some way from the minimax
- solution:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/remez-2.png" alt="remez-2"></span>
- </p>
-<p>
- However, if we first skew the interpolation points to the left (rescale them
- to [0, 1], raise to the power 1.3, and then rescale back to [-1,1]) we reduce
- the error from 1.3x10<sup>-3</sup> &#160;to 6x10<sup>-4</sup>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/remez-5.png" alt="remez-5"></span>
- </p>
-<p>
- It's clearly still not ideal, but it is only a few percent away from our
- desired minimax solution (5x10<sup>-4</sup>).
- </p>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h6"></a>
- <span><a name="math_toolkit.backgrounders.remez.remez_method_checklist"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.remez_method_checklist">Remez Method
- Checklist</a>
- </h5>
-<p>
- The following lists some of the things to check if the Remez method goes
- wrong, it is by no means an exhaustive list, but is provided in the hopes
- that it will prove useful.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Is the function smooth enough? Can it be better separated into a rapidly
- changing part, and an asymptotic part?
- </li>
-<li class="listitem">
- Does the function being approximated have any "blips" in it?
- Check for problems as the function changes computation method, or if
- a root, or an infinity has been divided out. The telltale sign is if
- there is a narrow region where the Remez method will not converge.
- </li>
-<li class="listitem">
- Check you have enough accuracy in your calculations: remember that the
- Remez method works on the difference between the approximation and the
- function being approximated: so you must have more digits of precision
- available than the precision of the approximation being constructed.
- So for example at double precision, you shouldn't expect to be able to
- get better than a float precision approximation.
- </li>
-<li class="listitem">
- Try skewing the initial interpolated approximation to minimise the error
- before you begin the Remez steps.
- </li>
-<li class="listitem">
- If the approximation won't converge or is ill-conditioned from one starting
- location, try starting from a different location.
- </li>
-<li class="listitem">
- If a rational function won't converge, one can minimise a polynomial
- (which presents no problems), then rotate one term from the numerator
- to the denominator and minimise again. In theory one can continue moving
- terms one at a time from numerator to denominator, and then re-minimising,
- retaining the last set of control points at each stage.
- </li>
-<li class="listitem">
- Try using a smaller interval. It may also be possible to optimise over
- one (small) interval, rescale the control points over a larger interval,
- and then re-minimise.
- </li>
-<li class="listitem">
- Keep absissa values small: use a change of variable to keep the abscissa
- over, say [0, b], for some smallish value <span class="emphasis"><em>b</em></span>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.backgrounders.remez.h7"></a>
- <span><a name="math_toolkit.backgrounders.remez.references"></a></span><a class="link" href="remez.html#math_toolkit.backgrounders.remez.references">References</a>
- </h5>
-<p>
- The original references for the Remez Method and it's extension to rational
- functions are unfortunately in Russian:
- </p>
-<p>
- Remez, E.Ya., <span class="emphasis"><em>Fundamentals of numerical methods for Chebyshev approximations</em></span>,
- "Naukova Dumka", Kiev, 1969.
- </p>
-<p>
- Remez, E.Ya., Gavrilyuk, V.T., <span class="emphasis"><em>Computer development of certain
- approaches to the approximate construction of solutions of Chebyshev problems
- nonlinearly depending on parameters</em></span>, Ukr. Mat. Zh. 12 (1960),
- 324-338.
- </p>
-<p>
- Gavrilyuk, V.T., <span class="emphasis"><em>Generalization of the first polynomial algorithm
- of E.Ya.Remez for the problem of constructing rational-fractional Chebyshev
- approximations</em></span>, Ukr. Mat. Zh. 16 (1961), 575-585.
- </p>
-<p>
- Some English language sources include:
- </p>
-<p>
- Fraser, W., Hart, J.F., <span class="emphasis"><em>On the computation of rational approximations
- to continuous functions</em></span>, Comm. of the ACM 5 (1962), 401-403, 414.
- </p>
-<p>
- Ralston, A., <span class="emphasis"><em>Rational Chebyshev approximation by Remes' algorithms</em></span>,
- Numer.Math. 7 (1965), no. 4, 322-330.
- </p>
-<p>
- A. Ralston, <span class="emphasis"><em>Rational Chebyshev approximation, Mathematical Methods
- for Digital Computers v. 2</em></span> (Ralston A., Wilf H., eds.), Wiley,
- New York, 1967, pp. 264-284.
- </p>
-<p>
- Hart, J.F. e.a., <span class="emphasis"><em>Computer approximations</em></span>, Wiley, New
- York a.o., 1968.
- </p>
-<p>
- Cody, W.J., Fraser, W., Hart, J.F., <span class="emphasis"><em>Rational Chebyshev approximation
- using linear equations</em></span>, Numer.Math. 12 (1968), 242-251.
- </p>
-<p>
- Cody, W.J., <span class="emphasis"><em>A survey of practical rational and polynomial approximation
- of functions</em></span>, SIAM Review 12 (1970), no. 3, 400-423.
- </p>
-<p>
- Barrar, R.B., Loeb, H.J., <span class="emphasis"><em>On the Remez algorithm for non-linear
- families</em></span>, Numer.Math. 15 (1970), 382-391.
- </p>
-<p>
- Dunham, Ch.B., <span class="emphasis"><em>Convergence of the Fraser-Hart algorithm for rational
- Chebyshev approximation</em></span>, Math. Comp. 29 (1975), no. 132, 1078-1082.
- </p>
-<p>
- G. L. Litvinov, <span class="emphasis"><em>Approximate construction of rational approximations
- and the effect of error autocorrection</em></span>, Russian Journal of Mathematical
- Physics, vol.1, No. 3, 1994.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lanczos.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="refs.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants.html
deleted file mode 100644
index ac07998d59..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Mathematical Constants</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="extern_c/tr1_ref.html" title="TR1 C Functions Quick Reference">
-<link rel="next" href="constants/intro.html" title="Introduction">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="extern_c/tr1_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="constants/intro.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.constants"></a><a class="link" href="constants.html" title="Mathematical Constants">Mathematical Constants</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="constants/intro.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="constants/tutorial.html">Tutorial</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="constants/tutorial/non_templ.html">Use in non-template
- code</a></span></dt>
-<dt><span class="section"><a href="constants/tutorial/templ.html">Use in template
- code</a></span></dt>
-<dt><span class="section"><a href="constants/tutorial/user_def.html">Use With
- User Defined Types</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="constants/constants.html">The Mathematical Constants</a></span></dt>
-<dt><span class="section"><a href="constants/new_const.html">Defining New Constants</a></span></dt>
-<dt><span class="section"><a href="constants/FAQ.html">FAQs</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="extern_c/tr1_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="constants/intro.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/FAQ.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/FAQ.html
deleted file mode 100644
index 0c5b058306..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/FAQ.html
+++ /dev/null
@@ -1,480 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>FAQs</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../constants.html" title="Mathematical Constants">
-<link rel="prev" href="new_const.html" title="Defining New Constants">
-<link rel="next" href="../toolkit.html" title="Tools and Internal Details">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="new_const.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../toolkit.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_FAQ">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.constants.FAQ"></a><a class="link" href="FAQ.html" title="FAQs">FAQs</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.constants.FAQ.h0"></a>
- <span><a name="math_toolkit.constants.FAQ.why_are__emphasis_these__emphasis__constants_chosen_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.why_are__emphasis_these__emphasis__constants_chosen_">Why
- are <span class="emphasis"><em>these</em></span> Constants Chosen?</a>
- </h5>
-<p>
- It is, of course, impossible to please everyone with a list like this.
- </p>
-<p>
- Some of the criteria we have used are:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Used in Boost.Math.
- </li>
-<li class="listitem">
- Commonly used.
- </li>
-<li class="listitem">
- Expensive to compute.
- </li>
-<li class="listitem">
- Requested by users.
- </li>
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Mathematical_constant" target="_top">Used
- in science and mathematics.</a>
- </li>
-<li class="listitem">
- No integer values (because so cheap to construct).<br> (You can easily
- define your own if found convenient, for example: <code class="computeroutput"><span class="identifier">FPT</span>
- <span class="identifier">one</span> <span class="special">=</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;(</span><span class="number">42</span><span class="special">);</span></code>).
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.constants.FAQ.h1"></a>
- <span><a name="math_toolkit.constants.FAQ.how_are_constants_named_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_are_constants_named_">How
- are constants named?</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Not macros, so no upper case.
- </li>
-<li class="listitem">
- All lower case (following C++ standard names).
- </li>
-<li class="listitem">
- No CamelCase.
- </li>
-<li class="listitem">
- Underscore as _ delimiter between words.
- </li>
-<li class="listitem">
- Numbers spelt as words rather than decimal digits (except following pow).
- </li>
-<li class="listitem">
- Abbreviation conventions:
- <div class="itemizedlist"><ul class="itemizedlist" type="circle">
-<li class="listitem">
- root for square root.
- </li>
-<li class="listitem">
- cbrt for cube root.
- </li>
-<li class="listitem">
- pow for pow function using decimal digits like pow23 for n<sup>2/3</sup>.
- </li>
-<li class="listitem">
- div for divided by or operator /.
- </li>
-<li class="listitem">
- minus for operator -, plus for operator +.
- </li>
-<li class="listitem">
- sqr for squared.
- </li>
-<li class="listitem">
- cubed for cubed n<sup>3</sup>.
- </li>
-<li class="listitem">
- words for greek, like &#960;, &#950; and &#915;.
- </li>
-<li class="listitem">
- words like half, third, three_quarters, sixth for fractions. (Digit(s)
- can get muddled).
- </li>
-<li class="listitem">
- log10 for log<sub>10</sub>
- </li>
-<li class="listitem">
- ln for log<sub>e</sub>
- </li>
-</ul></div>
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.constants.FAQ.h2"></a>
- <span><a name="math_toolkit.constants.FAQ.how_are_the_constants_derived_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_are_the_constants_derived_">How are
- the constants derived?</a>
- </h5>
-<p>
- The constants have all been calculated using high-precision software working
- with up to 300-bit precision giving about 100 decimal digits. (The precision
- can be arbitrarily chosen and is limited only by compute time).
- </p>
-<h5>
-<a name="math_toolkit.constants.FAQ.h3"></a>
- <span><a name="math_toolkit.constants.FAQ.how_accurate_are_the_constants_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_accurate_are_the_constants_">How
- Accurate are the constants?</a>
- </h5>
-<p>
- The minimum accuracy chosen (100 decimal digits) exceeds the accuracy of
- reasonably-foreseeable floating-point hardware (256-bit) and should meet
- most high-precision computations.
- </p>
-<h5>
-<a name="math_toolkit.constants.FAQ.h4"></a>
- <span><a name="math_toolkit.constants.FAQ.how_are_the_constants_tested_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.how_are_the_constants_tested_">How are
- the constants tested?</a>
- </h5>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Comparison using Boost.Test BOOST_CHECK_CLOSE_FRACTION using long double
- literals, with at least 35 decimal digits, enough to be accurate for
- all long double implementations. The tolerance is usually twice <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span>
- <span class="identifier">epsilon</span></code>.
- </li>
-<li class="listitem">
- Comparison with calculation at long double precision. This often requires
- a slightly higher tolerance than two epsilon because of computational
- noise from round-off etc, especially when trig and other functions are
- called.
- </li>
-<li class="listitem">
- Comparison with independent published values, for example, using <a href="http://oeis.org/" target="_top">The On-Line Encyclopedia of Integer Sequences
- (OEIS)</a> again using at least 35 decimal digits strings.
- </li>
-<li class="listitem">
- Comparison with independely calculated values using arbitrary precision
- tools like <a href="http://www.wolfram.com/mathematica/" target="_top">Mathematica</a>,
- again using at least 35 decimal digits literal strings.
- </li>
-</ol></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- We have not yet been able to <span class="bold"><strong>check</strong></span> that
- <span class="bold"><strong>all</strong></span> constants are accurate at the full
- arbitrary precision, at present 100 decimal digits. But certain key values
- like <code class="computeroutput"><span class="identifier">e</span></code> and <code class="computeroutput"><span class="identifier">pi</span></code> appear to be accurate and internal
- consistencies suggest that others are this accurate too.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.constants.FAQ.h5"></a>
- <span><a name="math_toolkit.constants.FAQ.why_is_portability_important_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.why_is_portability_important_">Why is
- Portability important?</a>
- </h5>
-<p>
- Code written using math constants is easily portable even when using different
- floating-point types with differing precision.
- </p>
-<p>
- It is a mistake to expect that results of computations will be <span class="bold"><strong>identical</strong></span>, but you can achieve the <span class="bold"><strong>best
- accuracy possible for the floating-point type in use</strong></span>.
- </p>
-<p>
- This has no extra cost to the user, but reduces irritating, and often confusing
- and very hard-to-trace effects, caused by the intrinsically limited precision
- of floating-point calculations.
- </p>
-<p>
- A harmless symptom of this limit is a spurious least-significant digit; at
- worst, slightly inaccurate constants sometimes cause iterating algorithms
- to diverge wildly because internal comparisons just fail.
- </p>
-<h5>
-<a name="math_toolkit.constants.FAQ.h6"></a>
- <span><a name="math_toolkit.constants.FAQ.what_is_the_internal_format_of_the_constants__and_why_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.what_is_the_internal_format_of_the_constants__and_why_">What
- is the Internal Format of the constants, and why?</a>
- </h5>
-<p>
- See <a class="link" href="tutorial.html" title="Tutorial">tutorial</a> above
- for normal use, but this FAQ explains the internal details used for the constants.
- </p>
-<p>
- Constants are stored as 100 decimal digit values. However, some compilers
- do not accept decimal digits strings as long as this. So the constant is
- split into two parts, with the first containing at least 128-bit long double
- precision (35 decimal digits), and for consistency should be in scientific
- format with a signed exponent.
- </p>
-<p>
- The second part is the value of the constant expressed as a string literal,
- accurate to at least 100 decimal digits (in practice that means at least
- 102 digits). Again for consistency use scientific format with a signed exponent.
- </p>
-<p>
- For types with precision greater than a long double, then if T is constructible
- <code class="computeroutput"><span class="identifier">T</span> </code>is constructible from a
- <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span></code> then it's directly constructed from the
- string, otherwise we fall back on lexical_cast to convert to type <code class="computeroutput"><span class="identifier">T</span></code>. (Using a string is necessary because
- you can't use a numeric constant since even a <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> might not have enough digits).
- </p>
-<p>
- So, for example, a constant like pi is internally defined as
- </p>
-<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">pi</span><span class="special">,</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">,</span> <span class="string">"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00"</span><span class="special">);</span>
-</pre>
-<p>
- In this case the significand is 109 decimal digits, ensuring 100 decimal
- digits are exact, and exponent is zero.
- </p>
-<p>
- See <a class="link" href="new_const.html" title="Defining New Constants">defining new constants</a>
- to calculate new constants.
- </p>
-<p>
- A macro definition like this can be pasted into user code where convenient,
- or into <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> if
- it is to be added to the Boost.Math library.
- </p>
-<h5>
-<a name="math_toolkit.constants.FAQ.h7"></a>
- <span><a name="math_toolkit.constants.FAQ.what_floating_point_types_could_i_use_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.what_floating_point_types_could_i_use_">What
- Floating-point Types could I use?</a>
- </h5>
-<p>
- Apart from the built-in floating-point types <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, there are several arbitrary
- precision floating-point classes available, but most are not licensed for
- commercial use.
- </p>
-<h6>
-<a name="math_toolkit.constants.FAQ.h8"></a>
- <span><a name="math_toolkit.constants.FAQ.boost_multiprecision_by_christopher_kormanyos"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.boost_multiprecision_by_christopher_kormanyos">Boost.Multiprecision
- by Christopher Kormanyos</a>
- </h6>
-<p>
- This work is based on an earlier work called e-float: Algorithm 910: A Portable
- C++ Multiple-Precision System for Special-Function Calculations, in ACM TOMS,
- {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. <a href="http://doi.acm.org/10.1145/1916461.1916469" target="_top">http://doi.acm.org/10.1145/1916461.1916469</a>
- <a href="https://svn.boost.org/svn/boost/sandbox/e_float/" target="_top">e_float</a>
- but is now re-factored and available under the Boost license in the Boost-sandbox
- at <a href="https://svn.boost.org/svn/boost/sandbox/multiprecision/" target="_top">multiprecision</a>
- where it is being refined and prepared for review.
- </p>
-<h6>
-<a name="math_toolkit.constants.FAQ.h9"></a>
- <span><a name="math_toolkit.constants.FAQ.boost_cpp_float_by_john_maddock_using_expression_templates"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.boost_cpp_float_by_john_maddock_using_expression_templates">Boost.cpp_float
- by John Maddock using Expression Templates</a>
- </h6>
-<p>
- <a href="https://svn.boost.org/svn/boost/sandbox/big_number/" target="_top">Big Number</a>
- which is a reworking of <a href="https://svn.boost.org/svn/boost/sandbox/e_float/" target="_top">e_float</a>
- by Christopher Kormanyos to use expression templates for faster execution.
- </p>
-<h6>
-<a name="math_toolkit.constants.FAQ.h10"></a>
- <span><a name="math_toolkit.constants.FAQ.ntl_class_quad_float"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.ntl_class_quad_float">NTL
- class quad_float</a>
- </h6>
-<p>
- <a href="http://shoup.net/ntl/" target="_top">NTL</a> by Victor Shoup has fixed
- and arbitrary high precision fixed and floating-point types. However none
- of these are licenced for commercial use.
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">/</span><span class="identifier">quad_float</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span> <span class="comment">// quad precision 106-bit, about 32 decimal digits.</span>
-<span class="keyword">using</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">to_quad_float</span><span class="special">;</span> <span class="comment">// Less precise than arbitrary precision NTL::RR.</span>
-</pre>
-<p>
- NTL class <code class="computeroutput"><span class="identifier">quad_float</span></code>, which
- gives a form of quadruple precision, 106-bit significand (but without an
- extended exponent range.) With an IEC559/IEEE 754 compatible processor, for
- example Intel X86 family, with 64-bit double, and 53-bit significand, using
- the significands of <span class="bold"><strong>two</strong></span> 64-bit doubles,
- if <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">digits10</span></code> is 16, then we get about twice
- the precision, so <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">quad_float</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">()</span></code>
- should be 32. (the default <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RR</span><span class="special">&gt;::</span><span class="identifier">digits10</span><span class="special">()</span></code> should be about 40). (which seems to agree
- with experiments). We output constants (including some noisy bits, an approximation
- to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">RR</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">()</span></code>)
- by adding 2 extra decimal digits, so using <code class="computeroutput"><span class="identifier">quad_float</span><span class="special">::</span><span class="identifier">SetOutputPrecision</span><span class="special">(</span><span class="number">32</span> <span class="special">+</span>
- <span class="number">2</span><span class="special">);</span></code>
- </p>
-<p>
- Apple Mac/Darwin uses a similar <span class="emphasis"><em>doubledouble</em></span> 106-bit
- for its built-in <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
- type.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The precision of all <code class="computeroutput"><span class="identifier">doubledouble</span></code>
- floating-point types is rather odd and values given are only approximate.
- </p></td></tr>
-</table></div>
-<h6>
-<a name="math_toolkit.constants.FAQ.h11"></a>
- <span><a name="math_toolkit.constants.FAQ.ntl_class_rr"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.ntl_class_rr">NTL
- class RR</a>
- </h6>
-<p>
- Arbitrary precision floating point with NTL class RR, default is 150 bit
- (about 50 decimal digits) used here with 300 bit to output 100 decimal digits,
- enough for many practical non-'number-theoretic' C++ applications.
- </p>
-<p>
- NTL is <span class="bold"><strong>not licenced for commercial use</strong></span>.
- </p>
-<p>
- This class is used in Boost.Math and an option when using big_number projects
- to calculate new math constants.
- </p>
-<h6>
-<a name="math_toolkit.constants.FAQ.h12"></a>
- <span><a name="math_toolkit.constants.FAQ.gmp_and_mpfr"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.gmp_and_mpfr">GMP
- and MPFR</a>
- </h6>
-<p>
- <a href="../../gmplib.org" target="_top">GMP</a> and <a href="http://www.mpfr.org/" target="_top">MPFR</a>
- have also been used to compute constants, but are licensed under the <a href="http://www.gnu.org/copyleft/lesser.html" target="_top">Lesser GPL license</a>
- and are <span class="bold"><strong>not licensed for commercial use</strong></span>.
- </p>
-<h5>
-<a name="math_toolkit.constants.FAQ.h13"></a>
- <span><a name="math_toolkit.constants.FAQ.what_happened_to_a_previous_collection_of_constants_proposed_for_boost_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.what_happened_to_a_previous_collection_of_constants_proposed_for_boost_">What
- happened to a previous collection of constants proposed for Boost?</a>
- </h5>
-<p>
- A review concluded that the way in which the constants were presented did
- not meet many peoples needs. None of the methods proposed met many users'
- essential requirement to allow writing simply <code class="computeroutput"><span class="identifier">pi</span></code>
- rather than <code class="computeroutput"><span class="identifier">pi</span><span class="special">()</span></code>.
- Many science and engineering equations look difficult to read when because
- function call brackets can be confused with the many other brackets often
- needed. All the methods then proposed of avoiding the brackets failed to
- meet all needs, often on grounds of complexity and lack of applicability
- to various realistic scenarios.
- </p>
-<p>
- So the simple namespace method, proposed on its own, but rejected at the
- first review, has been added to allow users to have convenient access to
- float, double and long double values, but combined with template struct and
- functions to allow simultaneous use with other non-built-in floating-point
- types.
- </p>
-<h5>
-<a name="math_toolkit.constants.FAQ.h14"></a>
- <span><a name="math_toolkit.constants.FAQ.why_do_the_constants__internally__have_a_struct_rather_than_a_simple_function_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.why_do_the_constants__internally__have_a_struct_rather_than_a_simple_function_">Why
- do the constants (internally) have a struct rather than a simple function?</a>
- </h5>
-<p>
- A function mechanism was provided by in previous versions of Boost.Math.
- </p>
-<p>
- The new mechanism is to permit partial specialization. See Custom Specializing
- a constant above. It should also allow use with other packages like <a href="http://www.ttmath.org/" target="_top">ttmath Bignum C++ library.</a>
- </p>
-<h5>
-<a name="math_toolkit.constants.FAQ.h15"></a>
- <span><a name="math_toolkit.constants.FAQ.where_can_i_find_other_high_precision_constants_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.where_can_i_find_other_high_precision_constants_">Where
- can I find other high precision constants?</a>
- </h5>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Constants with very high precision and good accuracy (&gt;40 decimal
- digits) from Simon Plouffe's web based collection <a href="http://pi.lacim.uqam.ca/eng/" target="_top">http://pi.lacim.uqam.ca/eng/</a>.
- </li>
-<li class="listitem">
- <a href="https://oeis.org/" target="_top">The On-Line Encyclopedia of Integer Sequences
- (OEIS)</a>
- </li>
-<li class="listitem">
- Checks using printed text optically scanned values and converted from:
- D. E. Knuth, Art of Computer Programming, Appendix A, Table 1, Vol 1,
- ISBN 0 201 89683 4 (1997)
- </li>
-<li class="listitem">
- M. Abrahamovitz &amp; I. E. Stegun, National Bureau of Standards, Handbook
- of Mathematical Functions, a reference source for formulae now superceded
- by
- </li>
-<li class="listitem">
- Frank W. Olver, Daniel W. Lozier, Ronald F. Boisvert, Charles W. Clark,
- NIST Handbook of Mathemetical Functions, Cambridge University Press,
- ISBN 978-0-521-14063-8, 2010.
- </li>
-<li class="listitem">
- John F Hart, Computer Approximations, Kreiger (1978) ISBN 0 88275 642
- 7.
- </li>
-<li class="listitem">
- Some values from Cephes Mathematical Library, Stephen L. Moshier and
- CALC100 100 decimal digit Complex Variable Calculator Program, a DOS
- utility.
- </li>
-<li class="listitem">
- Xavier Gourdon, Pascal Sebah, 50 decimal digits constants at <a href="http://numbers.computation.free.fr/Constants/constants.html" target="_top">Number,
- constants and computation</a>.
- </li>
-</ol></div>
-<h5>
-<a name="math_toolkit.constants.FAQ.h16"></a>
- <span><a name="math_toolkit.constants.FAQ.where_are_physical_constants_"></a></span><a class="link" href="FAQ.html#math_toolkit.constants.FAQ.where_are_physical_constants_">Where
- are Physical Constants?</a>
- </h5>
-<p>
- Not here in this Boost.Math collection, because physical constants:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Are measurements.
- </li>
-<li class="listitem">
- Are not truly constant and keeping changing as mensuration technology
- improves.
- </li>
-<li class="listitem">
- Have a instrinsic uncertainty.
- </li>
-<li class="listitem">
- Mathematical constants are stored and represented at varying precision,
- but should never be inaccurate.
- </li>
-</ul></div>
-<p>
- Some physical constants may be available in Boost.Units.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="new_const.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../toolkit.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/constants.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/constants.html
deleted file mode 100644
index e232c66181..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/constants.html
+++ /dev/null
@@ -1,1489 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>The Mathematical Constants</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../constants.html" title="Mathematical Constants">
-<link rel="prev" href="tutorial/user_def.html" title="Use With User Defined Types">
-<link rel="next" href="new_const.html" title="Defining New Constants">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tutorial/user_def.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="new_const.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_constants">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.constants.constants"></a><a class="link" href="constants.html" title="The Mathematical Constants">The Mathematical Constants</a>
-</h3></div></div></div>
-<p>
- This section lists the mathematical constants, their use(s) (and sometimes
- rationale for their inclusion).
- </p>
-<div class="table">
-<a name="math_toolkit.constants.constants.mathematical_constants"></a><p class="title"><b>Table&#160;51.&#160;Mathematical Constants</b></p>
-<div class="table-contents"><table class="table" summary="Mathematical Constants">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- name
- </p>
- </th>
-<th>
- <p>
- formula
- </p>
- </th>
-<th>
- <p>
- Value (6 decimals)
- </p>
- </th>
-<th>
- <p>
- Uses and Rationale
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>Rational fractions</strong></span>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- half
- </p>
- </td>
-<td>
- <p>
- 1/2
- </p>
- </td>
-<td>
- <p>
- 0.5
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- third
- </p>
- </td>
-<td>
- <p>
- 1/3
- </p>
- </td>
-<td>
- <p>
- 0.333333
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- two_thirds
- </p>
- </td>
-<td>
- <p>
- 2/3
- </p>
- </td>
-<td>
- <p>
- 0.66667
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- three_quarters
- </p>
- </td>
-<td>
- <p>
- 3/4
- </p>
- </td>
-<td>
- <p>
- 0.75
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>two and related</strong></span>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_two
- </p>
- </td>
-<td>
- <p>
- &#8730;2
- </p>
- </td>
-<td>
- <p>
- 1.41421
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_three
- </p>
- </td>
-<td>
- <p>
- &#8730;3
- </p>
- </td>
-<td>
- <p>
- 1.73205
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- half_root_two
- </p>
- </td>
-<td>
- <p>
- &#8730;2 /2
- </p>
- </td>
-<td>
- <p>
- 0.707106
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ln_two
- </p>
- </td>
-<td>
- <p>
- ln(2)
- </p>
- </td>
-<td>
- <p>
- 0.693147
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ln_ten
- </p>
- </td>
-<td>
- <p>
- ln(10)
- </p>
- </td>
-<td>
- <p>
- 2.30258
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ln_ln_two
- </p>
- </td>
-<td>
- <p>
- ln(ln(2))
- </p>
- </td>
-<td>
- <p>
- -0.366512
- </p>
- </td>
-<td>
- <p>
- Gumbel distribution median
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_ln_four
- </p>
- </td>
-<td>
- <p>
- &#8730;ln(4)
- </p>
- </td>
-<td>
- <p>
- 1.177410
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_root_two
- </p>
- </td>
-<td>
- <p>
- 1/&#8730;2
- </p>
- </td>
-<td>
- <p>
- 0.707106
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>&#960; and related</strong></span>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pi
- </p>
- </td>
-<td>
- <p>
- pi
- </p>
- </td>
-<td>
- <p>
- 3.14159
- </p>
- </td>
-<td>
- <p>
- Ubiquitous. Archimedes constant <a href="http://en.wikipedia.org/wiki/Pi" target="_top">&#960;</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- half_pi
- </p>
- </td>
-<td>
- <p>
- &#960;/2
- </p>
- </td>
-<td>
- <p>
- 1.570796
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- third_pi
- </p>
- </td>
-<td>
- <p>
- &#960;/3
- </p>
- </td>
-<td>
- <p>
- 1.04719
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- sixth_pi
- </p>
- </td>
-<td>
- <p>
- &#960;/6
- </p>
- </td>
-<td>
- <p>
- 0.523598
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- two_pi
- </p>
- </td>
-<td>
- <p>
- 2&#960;
- </p>
- </td>
-<td>
- <p>
- 6.28318
- </p>
- </td>
-<td>
- <p>
- Many uses, most simply, circumference of a circle
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- two_thirds_pi
- </p>
- </td>
-<td>
- <p>
- 2/3 &#960;
- </p>
- </td>
-<td>
- <p>
- 2.09439
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere" target="_top">volume
- of a hemi-sphere</a> = 4/3 &#960; r&#179;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- three_quarters_pi
- </p>
- </td>
-<td>
- <p>
- 3/4 &#960;
- </p>
- </td>
-<td>
- <p>
- 2.35619
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere" target="_top">volume
- of a hemi-sphere</a> = 4/3 &#960; r&#179;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- four_thirds_pi
- </p>
- </td>
-<td>
- <p>
- 4/3 &#960;
- </p>
- </td>
-<td>
- <p>
- 4.18879
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Sphere#Volume_of_a_sphere" target="_top">volume
- of a sphere</a> = 4/3 &#960; r&#179;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_two_pi
- </p>
- </td>
-<td>
- <p>
- 1/(2&#960;)
- </p>
- </td>
-<td>
- <p>
- 1.59155
- </p>
- </td>
-<td>
- <p>
- Widely used
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_pi
- </p>
- </td>
-<td>
- <p>
- &#8730;&#960;
- </p>
- </td>
-<td>
- <p>
- 1.77245
- </p>
- </td>
-<td>
- <p>
- Widely used
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_half_pi
- </p>
- </td>
-<td>
- <p>
- &#8730; &#960;/2
- </p>
- </td>
-<td>
- <p>
- 1.25331
- </p>
- </td>
-<td>
- <p>
- Widely used
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_two_pi
- </p>
- </td>
-<td>
- <p>
- &#8730; &#960;*2
- </p>
- </td>
-<td>
- <p>
- 2.50662
- </p>
- </td>
-<td>
- <p>
- Widely used
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_root_pi
- </p>
- </td>
-<td>
- <p>
- 1/&#8730;&#960;
- </p>
- </td>
-<td>
- <p>
- 0.564189
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_root_two_pi
- </p>
- </td>
-<td>
- <p>
- 1/&#8730;(2&#960;)
- </p>
- </td>
-<td>
- <p>
- 0.398942
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_one_div_pi
- </p>
- </td>
-<td>
- <p>
- &#8730;(1/&#960;
- </p>
- </td>
-<td>
- <p>
- 0.564189
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pi_minus_three
- </p>
- </td>
-<td>
- <p>
- &#960;-3
- </p>
- </td>
-<td>
- <p>
- 1.41593
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- four_minus_pi
- </p>
- </td>
-<td>
- <p>
- 4 -&#960;
- </p>
- </td>
-<td>
- <p>
- 0.858407
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pow23_four_minus_pi
- </p>
- </td>
-<td>
- <p>
- 4<sup>2/3</sup> - &#960;
- </p>
- </td>
-<td>
- <p>
- 0.795316
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pi_pow_e
- </p>
- </td>
-<td>
- <p>
- &#960;<sup>e</sup>
- </p>
- </td>
-<td>
- <p>
- 22.4591
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pi_sqr
- </p>
- </td>
-<td>
- <p>
- &#960;<sup>2</sup>
- </p>
- </td>
-<td>
- <p>
- 9.86960
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pi_sqr_div_six
- </p>
- </td>
-<td>
- <p>
- &#960;<sup>2</sup>/6
- </p>
- </td>
-<td>
- <p>
- 1.64493
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pi_cubed
- </p>
- </td>
-<td>
- <p>
- &#960;<sup>3</sup>
- </p>
- </td>
-<td>
- <p>
- 31.00627
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cbrt_pi
- </p>
- </td>
-<td>
- <p>
- &#8730;<sup>3</sup> &#960;
- </p>
- </td>
-<td>
- <p>
- 1.46459
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_cbrt_pi
- </p>
- </td>
-<td>
- <p>
- 1/&#8730;<sup>3</sup> &#960;
- </p>
- </td>
-<td>
- <p>
- 0.682784
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>Euler's e and related</strong></span>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- e
- </p>
- </td>
-<td>
- <p>
- e
- </p>
- </td>
-<td>
- <p>
- 2.71828
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/E_(mathematical_constant)" target="_top">Euler's
- constant e</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- exp_minus_half
- </p>
- </td>
-<td>
- <p>
- e <sup>-1/2</sup>
- </p>
- </td>
-<td>
- <p>
- 0.606530
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- e_pow_pi
- </p>
- </td>
-<td>
- <p>
- e <sup>&#960;</sup>
- </p>
- </td>
-<td>
- <p>
- 23.14069
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- root_e
- </p>
- </td>
-<td>
- <p>
- &#8730; e
- </p>
- </td>
-<td>
- <p>
- 1.64872
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- log10_e
- </p>
- </td>
-<td>
- <p>
- log10(e)
- </p>
- </td>
-<td>
- <p>
- 0.434294
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_log10_e
- </p>
- </td>
-<td>
- <p>
- 1/log10(e)
- </p>
- </td>
-<td>
- <p>
- 2.30258
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>Trigonometric</strong></span>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- degree
- </p>
- </td>
-<td>
- <p>
- radians = &#960; / 180
- </p>
- </td>
-<td>
- <p>
- 0.017453
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- radian
- </p>
- </td>
-<td>
- <p>
- degrees = 180 / &#960;
- </p>
- </td>
-<td>
- <p>
- 57.2957
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- sin_one
- </p>
- </td>
-<td>
- <p>
- sin(1)
- </p>
- </td>
-<td>
- <p>
- 0.841470
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cos_one
- </p>
- </td>
-<td>
- <p>
- cos(1)
- </p>
- </td>
-<td>
- <p>
- 0.54030
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- sinh_one
- </p>
- </td>
-<td>
- <p>
- sinh(1)
- </p>
- </td>
-<td>
- <p>
- 1.17520
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cosh_one
- </p>
- </td>
-<td>
- <p>
- cosh(1)
- </p>
- </td>
-<td>
- <p>
- 1.54308
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>Phi</strong></span>
- </p>
- </td>
-<td>
- <p>
- Phidias golden ratio
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Golden_ratio" target="_top">Phidias
- golden ratio</a>
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- phi
- </p>
- </td>
-<td>
- <p>
- (1 + &#8730;5) /2
- </p>
- </td>
-<td>
- <p>
- 1.61803
- </p>
- </td>
-<td>
- <p>
- finance
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ln_phi
- </p>
- </td>
-<td>
- <p>
- ln(&#966;)
- </p>
- </td>
-<td>
- <p>
- 0.48121
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_ln_phi
- </p>
- </td>
-<td>
- <p>
- 1/ln(&#966;)
- </p>
- </td>
-<td>
- <p>
- 2.07808
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>Euler's Gamma</strong></span>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- euler
- </p>
- </td>
-<td>
- <p>
- euler
- </p>
- </td>
-<td>
- <p>
- 0.577215
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Euler%E2%80%93Mascheroni_constant" target="_top">Euler-Mascheroni
- gamma constant</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- one_div_euler
- </p>
- </td>
-<td>
- <p>
- 1/euler
- </p>
- </td>
-<td>
- <p>
- 1.73245
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- euler_sqr
- </p>
- </td>
-<td>
- <p>
- euler<sup>2</sup>
- </p>
- </td>
-<td>
- <p>
- 0.333177
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <span class="bold"><strong>Misc</strong></span>
- </p>
- </td>
-<td>
- </td>
-<td>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- zeta_two
- </p>
- </td>
-<td>
- <p>
- &#950;(2)
- </p>
- </td>
-<td>
- <p>
- 1.64493
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Riemann_zeta_function" target="_top">Riemann
- zeta function</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- zeta_three
- </p>
- </td>
-<td>
- <p>
- &#950;(3)
- </p>
- </td>
-<td>
- <p>
- 1.20205
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Riemann_zeta_function" target="_top">Riemann
- zeta function</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- catalan
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>K</em></span>
- </p>
- </td>
-<td>
- <p>
- 0.915965
- </p>
- </td>
-<td>
- <p>
- <a href="http://mathworld.wolfram.com/CatalansConstant.html" target="_top">Catalan
- (or Glaisher) combinatorial constant</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- glaisher
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>A</em></span>
- </p>
- </td>
-<td>
- <p>
- 1.28242
- </p>
- </td>
-<td>
- <p>
- <a href="https://oeis.org/A074962/constant" target="_top">Decimal expansion
- of Glaisher-Kinkelin constant</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- khinchin
- </p>
- </td>
-<td>
- <p>
- <span class="emphasis"><em>k</em></span>
- </p>
- </td>
-<td>
- <p>
- 2.685452
- </p>
- </td>
-<td>
- <p>
- <a href="https://oeis.org/A002210/constant" target="_top">Decimal expansion
- of Khinchin constant</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- extreme_value_skewness
- </p>
- </td>
-<td>
- <p>
- 12&#8730;6 &#950;(3)/ &#960;<sup>3</sup>
- </p>
- </td>
-<td>
- <p>
- 1.139547
- </p>
- </td>
-<td>
- <p>
- Extreme value distribution
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- rayleigh_skewness
- </p>
- </td>
-<td>
- <p>
- 2&#8730;&#960;(&#960;-3)/(4 - &#960;)<sup>3/2</sup>
- </p>
- </td>
-<td>
- <p>
- 0.631110
- </p>
- </td>
-<td>
- <p>
- Rayleigh distribution skewness
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- rayleigh_kurtosis_excess
- </p>
- </td>
-<td>
- <p>
- -(6&#960;<sup>2</sup>-24&#960;+16)/(4-&#960;)<sup>2</sup>
- </p>
- </td>
-<td>
- <p>
- 0.245089
- </p>
- </td>
-<td>
- <p>
- <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
- distribution kurtosis excess</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- rayleigh_kurtosis
- </p>
- </td>
-<td>
- <p>
- 3+(6&#960;<sup>2</sup>-24&#960;+16)/(4-&#960;)<sup>2</sup>
- </p>
- </td>
-<td>
- <p>
- 3.245089
- </p>
- </td>
-<td>
- <p>
- Rayleigh distribution kurtosis
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Integer values are <span class="bold"><strong>not included</strong></span> in this
- list of math constants, however interesting, because they can be so easily
- and exactly constructed, even for UDT, for example: <code class="computeroutput"><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">cpp_float</span><span class="special">&gt;(</span><span class="number">42</span><span class="special">)</span></code>.
- </p></td></tr>
-</table></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If you know the approximate value of the constant, you can search for the
- value to find Boost.Math chosen name in this table.
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tutorial/user_def.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="new_const.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/intro.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/intro.html
deleted file mode 100644
index e0cfc65866..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/intro.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Introduction</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../constants.html" title="Mathematical Constants">
-<link rel="prev" href="../constants.html" title="Mathematical Constants">
-<link rel="next" href="tutorial.html" title="Tutorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_intro">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.constants.intro"></a><a class="link" href="intro.html" title="Introduction">Introduction</a>
-</h3></div></div></div>
-<p>
- Boost.Math provides a collection of mathematical constants.
- </p>
-<h5>
-<a name="math_toolkit.constants.intro.h0"></a>
- <span><a name="math_toolkit.constants.intro.why_use_boost_math_mathematical_constants_"></a></span><a class="link" href="intro.html#math_toolkit.constants.intro.why_use_boost_math_mathematical_constants_">Why
- use Boost.Math mathematical constants?</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Readable. For the very many jobs just using built-in like <code class="computeroutput"><span class="keyword">double</span></code>, you can just write expressions
- like
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">area</span> <span class="special">=</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span></pre>
- (If that's all you want, jump direct to <a class="link" href="tutorial/non_templ.html" title="Use in non-template code">use
- in non-template code</a>!)
- </li>
-<li class="listitem">
- Effortless - avoiding a search of reference sources.
- </li>
-<li class="listitem">
- Usable with both builtin floating point types, and user-defined, possibly
- extended precision, types such as NTL, MPFR/GMP, mp_float: in the latter
- case the constants are computed to the necessary precision and then cached.
- </li>
-<li class="listitem">
- Accurate - ensuring that the values are as accurate as possible for the
- chosen floating-point type
- <div class="itemizedlist"><ul class="itemizedlist" type="circle">
-<li class="listitem">
- No loss of accuracy from repeated rounding of intermediate computations.
- </li>
-<li class="listitem">
- Result is computed with higher precision and only rounded once.
- </li>
-<li class="listitem">
- Less risk of inaccurate result from functions pow, trig and log
- at <a href="http://en.wikipedia.org/wiki/Corner_case" target="_top">corner
- cases</a>.
- </li>
-<li class="listitem">
- Less risk of <a href="http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html" target="_top">cancellation
- error</a>.
- </li>
-</ul></div>
- </li>
-<li class="listitem">
- Faster - can avoid (re-)calculation at runtime. This can be significant
- if:
- <div class="itemizedlist"><ul class="itemizedlist" type="circle">
-<li class="listitem">
- Functions pow, trig or log are used.
- </li>
-<li class="listitem">
- Inside an inner loop.
- </li>
-<li class="listitem">
- Using a high-precision UDT.
- </li>
-<li class="listitem">
- Compiler optimizations possible with built-in types, especially
- <code class="computeroutput"><span class="keyword">double</span></code>, are not available.
- </li>
-</ul></div>
- </li>
-<li class="listitem">
- Portable - as possible between different systems using different floating-point
- precisions: see <a class="link" href="tutorial/templ.html" title="Use in template code">use
- in template code</a>.
- </li>
-<li class="listitem">
- Tested - by comparison with other published sources, or separately computed
- at long double precision.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/new_const.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/new_const.html
deleted file mode 100644
index 75e90fa9e0..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/new_const.html
+++ /dev/null
@@ -1,267 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Defining New Constants</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../constants.html" title="Mathematical Constants">
-<link rel="prev" href="constants.html" title="The Mathematical Constants">
-<link rel="next" href="FAQ.html" title="FAQs">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="FAQ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_new_const">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.constants.new_const"></a><a class="link" href="new_const.html" title="Defining New Constants">Defining New Constants</a>
-</h3></div></div></div>
-<p>
- The library provides some helper code to assist in defining new constants;
- the process for defining a constant called <code class="computeroutput"><span class="identifier">my_constant</span></code>
- goes like this:
- </p>
-<p>
- 1. <span class="bold"><strong>Define a function that calculates the value of the
- constant</strong></span>. This should be a template function, and be placed in
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">calculate_constants</span><span class="special">.</span><span class="identifier">hpp</span></code> if
- the constant is to be added to this library, or else defined at the top of
- your source file if not.
- </p>
-<p>
- The function should look like this:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">&gt;</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">Real</span> <span class="identifier">constant_my_constant</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;::</span><span class="identifier">compute</span><span class="special">(</span><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;))</span>
-<span class="special">{</span>
- <span class="keyword">int</span> <span class="identifier">required_precision</span> <span class="special">=</span> <span class="identifier">N</span> <span class="special">?</span> <span class="identifier">N</span> <span class="special">:</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;();</span>
- <span class="identifier">Real</span> <span class="identifier">result</span> <span class="special">=</span> <span class="comment">/* value computed to required_precision bits */</span> <span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
-<span class="special">}</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Then define a placeholder for the constant itself:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span>
-
-<span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">my_constant</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span> <span class="string">"0"</span><span class="special">);</span>
-
-<span class="special">}}}</span>
-</pre>
-<p>
- For example, to calculate &#960;/2, add to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">calculate_constants</span><span class="special">.</span><span class="identifier">hpp</span></code>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">constant_half_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">compute</span><span class="special">(</span><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;))</span>
-<span class="special">{</span>
- <span class="identifier">BOOST_MATH_STD_USING</span>
- <span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;()</span> <span class="special">/</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- Then to <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> add:
- </p>
-<pre class="programlisting"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">half_pi</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span> <span class="string">"0"</span><span class="special">);</span> <span class="comment">// Actual values are temporary, we'll replace them later.</span>
-</pre>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Previously defined constants like pi and e can be used, but by <span class="bold"><strong>not simply calling</strong></span> <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>; specifying the precision via the
- policy <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;()</span></code> is essential to ensure full accuracy.
- </p></td></tr>
-</table></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- Newly defined constants can only be used once they are included in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code>. So if you add <code class="computeroutput"><span class="keyword">template</span>
- <span class="special">&lt;</span><span class="keyword">class</span>
- <span class="identifier">T</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="identifier">T</span> <span class="identifier">constant_my_constant</span><span class="special">{...}</span></code>,
- then you cannot define <code class="computeroutput"><span class="identifier">constant_my_constant</span></code>
- until you add the temporary <code class="computeroutput"><span class="identifier">BOOST_DEFINE_MATH_CONSTANT</span><span class="special">(</span><span class="identifier">my_constant</span><span class="special">,</span> <span class="number">0.0</span><span class="special">,</span>
- <span class="string">"0"</span><span class="special">)</span></code>.
- Failing to do this will result in surprising compile errors:
-</p>
-<pre class="programlisting"><span class="identifier">error</span> <span class="identifier">C2143</span><span class="special">:</span> <span class="identifier">syntax</span> <span class="identifier">error</span> <span class="special">:</span> <span class="identifier">missing</span> <span class="char">';'</span> <span class="identifier">before</span> <span class="char">'&lt;'</span>
-<span class="identifier">error</span> <span class="identifier">C2433</span><span class="special">:</span> <span class="char">'constant_root_two_div_pi'</span> <span class="special">:</span> <span class="char">'inline'</span> <span class="keyword">not</span> <span class="identifier">permitted</span> <span class="identifier">on</span> <span class="identifier">data</span> <span class="identifier">declarations</span>
-<span class="identifier">error</span> <span class="identifier">C2888</span><span class="special">:</span> <span class="char">'T constant_root_two_div_pi'</span> <span class="special">:</span> <span class="identifier">symbol</span> <span class="identifier">cannot</span> <span class="identifier">be</span> <span class="identifier">defined</span> <span class="identifier">within</span> <span class="keyword">namespace</span> <span class="char">'detail'</span>
-<span class="identifier">error</span> <span class="identifier">C2988</span><span class="special">:</span> <span class="identifier">unrecognizable</span> <span class="keyword">template</span> <span class="identifier">declaration</span><span class="special">/</span><span class="identifier">definition</span>
-</pre>
-<p>
- </p>
-</td></tr>
-</table></div>
-<p>
- 2. <span class="bold"><strong>You will need an arbitrary precision type to use
- to calculate the value</strong></span>. This library currently supports either
- <code class="computeroutput"><span class="identifier">cpp_float</span></code>, <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>
- or <code class="computeroutput"><span class="identifier">mpfr_class</span></code> used via the
- bindings in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span></code>.
- The default is to use <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> unless
- you define an alternate macro, for example, <code class="computeroutput"><span class="identifier">USE_MPFR</span></code>
- or <code class="computeroutput"><span class="identifier">USE_CPP_FLOAT</span></code> at the start
- of your program.
- </p>
-<p>
- 3. It is necessary to link to the Boost.Regex library, and probably to your
- chosen arbitrary precision type library.
- </p>
-<p>
- 4. The complete program to generate the constant <code class="computeroutput"><span class="identifier">half_pi</span></code>
- using function <code class="computeroutput"><span class="identifier">calculate_half_pi</span></code>
- is then:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">USE_CPP_FLOAT</span> <span class="comment">// If required.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">generate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">BOOST_CONSTANTS_GENERATE</span><span class="special">(</span><span class="identifier">half_pi</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- The output from the program is a snippet of C++ code (actually a macro call)
- that can be cut and pasted into <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span></code> or else into your own code, for example:
- </p>
-<pre class="programlisting">BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00");
-</pre>
-<p>
- This macro BOOST_DEFINE_MATH_CONSTANT inserts a C++ struct code snippet that
- declares the <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> versions of the constant, plus
- a decimal digit string representation correct to 100 decimal digits, and
- all the meta-programming machinery needed to select between them.
- </p>
-<p>
- The result of an expanded macro for Pi is shown below.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// Preprocessed pi constant, annotated.</span>
-
-<span class="keyword">namespace</span> <span class="identifier">boost</span>
-<span class="special">{</span>
- <span class="keyword">namespace</span> <span class="identifier">math</span>
- <span class="special">{</span>
- <span class="keyword">namespace</span> <span class="identifier">constants</span>
- <span class="special">{</span>
- <span class="keyword">namespace</span> <span class="identifier">detail</span>
- <span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">struct</span> <span class="identifier">constant_pi</span>
- <span class="special">{</span>
- <span class="keyword">private</span><span class="special">:</span>
- <span class="comment">// Default implementations from string of decimal digits:</span>
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get_from_string</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">result</span>
- <span class="special">=</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">convert_from_string</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="string">"3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00"</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="identifier">T</span><span class="special">&gt;());</span>
- <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="keyword">static</span> <span class="identifier">T</span> <span class="identifier">compute</span><span class="special">();</span>
-
- <span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// Default implementations from string of decimal digits:</span>
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_string</span><span class="special">&gt;&amp;)</span>
- <span class="special">{</span>
- <span class="identifier">constant_initializer</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="special">&amp;</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">get_from_string</span> <span class="special">&gt;::</span><span class="identifier">do_nothing</span><span class="special">();</span>
- <span class="keyword">return</span> <span class="identifier">get_from_string</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="comment">// Float, double and long double versions:</span>
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_float</span><span class="special">&gt;)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00F</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_double</span><span class="special">&gt;&amp;)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_long_double</span><span class="special">&gt;&amp;)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="number">3.141592653589793238462643383279502884e+00L</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="comment">// For very high precision that is nonetheless can be calculated at compile time:</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">n</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">constant_initializer2</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">N</span><span class="special">,</span> <span class="special">&amp;</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="keyword">template</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">do_nothing</span><span class="special">();</span>
- <span class="keyword">return</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;();</span>
- <span class="special">}</span>
- <span class="comment">//For true arbitrary precision, which may well vary at runtime.</span>
- <span class="keyword">static</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;&amp;)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span> <span class="special">&gt;</span> <span class="identifier">max_string_digits</span> <span class="special">?</span> <span class="identifier">compute</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;()</span> <span class="special">:</span> <span class="identifier">get</span><span class="special">(</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">construct_from_string</span><span class="special">&gt;());</span>
- <span class="special">}</span>
- <span class="special">};</span> <span class="comment">// template &lt;class T&gt; struct constant_pi</span>
- <span class="special">}</span> <span class="comment">// namespace detail</span>
-
- <span class="comment">// The actual forwarding function (including policy to control precision).</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">pi</span><span class="special">(</span> <span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">get</span><span class="special">(</span><span class="keyword">typename</span> <span class="identifier">construction_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">());</span>
- <span class="special">}</span>
- <span class="comment">// The actual forwarding function (using default policy to control precision).</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">pi</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;()</span>
- <span class="special">}</span>
- <span class="special">}</span> <span class="comment">// namespace constants</span>
-
- <span class="comment">// Namespace specific versions, for the three built-in floats:</span>
- <span class="keyword">namespace</span> <span class="identifier">float_constants</span>
- <span class="special">{</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">float</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00F</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">namespace</span> <span class="identifier">double_constants</span>
- <span class="special">{</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">namespace</span> <span class="identifier">long_double_constants</span>
- <span class="special">{</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">pi</span> <span class="special">=</span> <span class="number">3.141592653589793238462643383279502884e+00L</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{;</span>
- <span class="special">}</span> <span class="comment">// namespace constants</span>
- <span class="special">}</span> <span class="comment">// namespace math</span>
-<span class="special">}</span> <span class="comment">// namespace boost</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="constants.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="FAQ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial.html
deleted file mode 100644
index cfecd87834..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Tutorial</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../constants.html" title="Mathematical Constants">
-<link rel="prev" href="intro.html" title="Introduction">
-<link rel="next" href="tutorial/non_templ.html" title="Use in non-template code">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/non_templ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_tutorial">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.constants.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial">Tutorial</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial/non_templ.html">Use in non-template
- code</a></span></dt>
-<dt><span class="section"><a href="tutorial/templ.html">Use in template
- code</a></span></dt>
-<dt><span class="section"><a href="tutorial/user_def.html">Use With
- User Defined Types</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../constants.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tutorial/non_templ.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/non_templ.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/non_templ.html
deleted file mode 100644
index a9c7339bbe..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/non_templ.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Use in non-template code</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../tutorial.html" title="Tutorial">
-<link rel="prev" href="../tutorial.html" title="Tutorial">
-<link rel="next" href="templ.html" title="Use in template code">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="templ.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_tutorial_non_templ">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.constants.tutorial.non_templ"></a><a class="link" href="non_templ.html" title="Use in non-template code">Use in non-template
- code</a>
-</h4></div></div></div>
-<p>
- When using the math constants at your chosen fixed precision in non-template
- code, you can simply add a <code class="computeroutput"><span class="keyword">using</span></code>
- declaration, for example, <code class="computeroutput"><span class="keyword">using</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span></code>, to make the constants
- of the correct precision for your code visible in the current scope, and
- then use each constant <span class="emphasis"><em>as a simple variable</em></span>:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">double</span> <span class="identifier">area</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">r</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Had our function been written as taking a <code class="computeroutput"><span class="keyword">float</span></code>
- rather than a <code class="computeroutput"><span class="keyword">double</span></code>, we could
- have written instead:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">float</span> <span class="identifier">area</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">r</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">float_constants</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">pi</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Likewise, constants that are suitable for use at <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> precision are available in
- the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">long_double_constants</span></code>.
- </p>
-<p>
- You can see the full list of available constants at <a class="link" href="../constants.html" title="The Mathematical Constants">math_toolkit.constants.constants</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="templ.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/templ.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/templ.html
deleted file mode 100644
index 7df04bb57a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/templ.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Use in template code</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../tutorial.html" title="Tutorial">
-<link rel="prev" href="non_templ.html" title="Use in non-template code">
-<link rel="next" href="user_def.html" title="Use With User Defined Types">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="non_templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_tutorial_templ">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.constants.tutorial.templ"></a><a class="link" href="templ.html" title="Use in template code">Use in template
- code</a>
-</h4></div></div></div>
-<p>
- When using the constants inside a function template, we need to ensure
- that we use a constant of the correct precision for our template parameters.
- We can do this by calling the function-template versions, <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">FPType</span><span class="special">&gt;()</span></code>,
- of the constants like this:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Real</span><span class="special">&gt;</span>
-<span class="identifier">Real</span> <span class="identifier">area</span><span class="special">(</span><span class="identifier">Real</span> <span class="identifier">r</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">Real</span><span class="special">&gt;()</span> <span class="special">*</span> <span class="identifier">r</span> <span class="special">*</span> <span class="identifier">r</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Although this syntax is a little less "cute" than the non-template
- version, the code is no less efficient (at least for the built-in types
- <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>
- and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>)
- : the function template versions of the constants are simple inline functions
- that return a constant of the correct precision for the type used. In addition,
- these functions are declared <code class="computeroutput"><span class="identifier">constexp</span></code>
- for those compilers that support this, allowing the result to be used in
- constant-expressions provided the template argument is a literal type.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Keep in mind the difference between the variable version, just <code class="computeroutput"><span class="identifier">pi</span></code>, and the template-function version:
- the template-function requires both a &lt;<em class="replaceable"><code>floating-point-type</code></em>&gt;
- and function call <code class="computeroutput"><span class="special">()</span></code> brackets,
- for example: <code class="computeroutput"><span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;()</span></code>.
- You cannot write <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">&lt;&gt;()</span></code>,
- nor <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">p</span>
- <span class="special">=</span> <span class="identifier">pi</span><span class="special">()</span></code>.
- </p></td></tr>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- You can always use <span class="bold"><strong>both</strong></span> variable and
- template-function versions <span class="bold"><strong>provided calls are fully
- qualified</strong></span>, for example:
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">my_pi1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;();</span>
-<span class="keyword">double</span> <span class="identifier">my_pi2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-</td></tr>
-</table></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- It may be tempting to simply define
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_constants</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">;</span>
-</pre>
-<p>
- but if you do define two namespaces, this will, of course, create ambiguity!
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">my_pi</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">();</span> <span class="comment">// error C2872: 'pi' : ambiguous symbol</span>
-<span class="keyword">double</span> <span class="identifier">my_pi2</span> <span class="special">=</span> <span class="identifier">pi</span><span class="special">;</span> <span class="comment">// Context does not allow for disambiguation of overloaded function</span>
-</pre>
-<p>
- Although the mistake above is fairly obvious, it is also not too difficult
- to do this accidentally, or worse, create it in someone elses code.
- </p>
-<p>
- Therefore is it prudent to avoid this risk by <span class="bold"><strong>localising
- the scope of such definitions</strong></span>, as shown above.
- </p>
-</td></tr>
-</table></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- Be very careful with the type provided as parameter. For example, providing
- an <span class="bold"><strong>integer</strong></span> instead of a floating-point
- type can be disastrous (a C++ feature).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">area</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Area = 12!!!</span></pre>
-<p>
- </p>
-<p>
- You should get a compiler warning
- </p>
-<pre class="programlisting">warning : 'return' : conversion from 'double' to 'int', possible loss of data
-</pre>
-<p>
- Failure to heed this warning can lead to very wrong answers!
- </p>
-<p>
- You can also avoid this by being explicit about the type of <code class="computeroutput"><span class="identifier">Area</span></code>.
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">area</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Area = 12.566371</span></pre>
-<p>
- </p>
-</td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="non_templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/user_def.html b/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/user_def.html
deleted file mode 100644
index b4a3f60a8e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/constants/tutorial/user_def.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Use With User Defined Types</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../tutorial.html" title="Tutorial">
-<link rel="prev" href="templ.html" title="Use in template code">
-<link rel="next" href="../constants.html" title="The Mathematical Constants">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_constants_tutorial_user_def">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.constants.tutorial.user_def"></a><a class="link" href="user_def.html" title="Use With User Defined Types">Use With
- User Defined Types</a>
-</h4></div></div></div>
-<p>
- The syntax for using the function-call constants with user-defined types
- is the same as it is in the template class, which is to say we use:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">UserDefinedType</span><span class="special">&gt;();</span>
-</pre>
-<p>
- However, since the precision of the user-defined type may be much greater
- than that of the built-in floating pointer types, how the value returned
- is created is as follows:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- If the precision of the type is known at compile time:
- <div class="itemizedlist"><ul class="itemizedlist" type="circle">
-<li class="listitem">
- If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">float</span></code> and the type is constructable
- from a <code class="computeroutput"><span class="keyword">float</span></code> then
- our code returns a <code class="computeroutput"><span class="keyword">float</span></code>
- literal. If the user-defined type is a literal type then the
- function call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
- </li>
-<li class="listitem">
- If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">double</span></code> and the type is constructable
- from a <code class="computeroutput"><span class="keyword">double</span></code> then
- our code returns a <code class="computeroutput"><span class="keyword">double</span></code>
- literal. If the user-defined type is a literal type then the
- function call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
- </li>
-<li class="listitem">
- If the precision is less than or equal to that of a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
- and the type is constructable from a <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> then our code returns
- a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
- literal. If the user-defined type is a literal type then the
- function call that returns the constant will be a <code class="computeroutput"><span class="identifier">constexp</span></code>.
- </li>
-<li class="listitem">
- If the precision is less than 100 decimal digits, then the constant
- will be constructed (just the once, then cached in a thread-safe
- manner) from a string representation of the constant.
- </li>
-<li class="listitem">
- Otherwise the value is computed (just once, then cached in a
- thread-safe manner).
- </li>
-</ul></div>
- </li>
-<li class="listitem">
- If the precision is unknown at compile time then:
- <div class="itemizedlist"><ul class="itemizedlist" type="circle">
-<li class="listitem">
- If the runtime precision (obtained from a call to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;()</span></code>)
- is less than 100 decimal digits, then the constant is constructed
- "on the fly" from the string representation of the
- constant.
- </li>
-<li class="listitem">
- Otherwise the value is constructed "on the fly" by
- calculating then value of the constant using the current default
- precision of the type. Note that this can make use of the constants
- rather expensive.
- </li>
-</ul></div>
- </li>
-</ul></div>
-<p>
- In addition, it is possible to pass a <code class="computeroutput"><span class="identifier">Policy</span></code>
- type as a second template argument, and use this to control the precision:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">constants</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="number">80</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_policy_type</span><span class="special">;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">&lt;</span><span class="identifier">MyType</span><span class="special">,</span> <span class="identifier">my_policy_type</span><span class="special">&gt;();</span>
-</pre>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Boost.Math doesn't know how to control the internal precision of <code class="computeroutput"><span class="identifier">MyType</span></code>, the policy just controls how
- the selection process above is carried out, and the calculation precision
- if the result is computed.
- </p></td></tr>
-</table></div>
-<p>
- It is also possible to control which method is used to construct the constant
- by specialising the traits class <code class="computeroutput"><span class="identifier">construction_traits</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constant</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">construction_traits</span>
-<span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Where <span class="emphasis"><em>N</em></span> takes one of the following values:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- <span class="emphasis"><em>N</em></span>
- </p>
- </th>
-<th>
- <p>
- Meaning
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 0
- </p>
- </td>
-<td>
- <p>
- The precision is unavailable at compile time; either construct
- from a decimal digit string or calculate on the fly depending
- upon the runtime precision.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 1
- </p>
- </td>
-<td>
- <p>
- Return a float precision constant.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 2
- </p>
- </td>
-<td>
- <p>
- Return a double precision constant.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 3
- </p>
- </td>
-<td>
- <p>
- Return a long double precision constant.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 4
- </p>
- </td>
-<td>
- <p>
- Construct the result from the string representation, and cache
- the result.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Any other value <span class="emphasis"><em>N</em></span>
- </p>
- </td>
-<td>
- <p>
- Sets the compile time precision to <span class="emphasis"><em>N</em></span> bits.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="math_toolkit.constants.tutorial.user_def.h0"></a>
- <span><a name="math_toolkit.constants.tutorial.user_def.custom_specializing_a_constant"></a></span><a class="link" href="user_def.html#math_toolkit.constants.tutorial.user_def.custom_specializing_a_constant">Custom
- Specializing a constant</a>
- </h6>
-<p>
- In addition, for user-defined types that need special handling, it's possible
- to [partially-] specialize the internal structure used by each constant.
- For example, suppose we're using the C++ wrapper around MPFR <code class="computeroutput"><span class="identifier">mpfr_class</span></code>: this has its own representation
- of Pi which we may well wish to use in place of the above mechanism. We
- can achieve this by specialising the class template <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">constant_pi</span></code>:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">constants</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">constant_pi</span><span class="special">&lt;</span><span class="identifier">mpfr_class</span><span class="special">&gt;</span>
-<span class="special">{</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
- <span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;&amp;)</span>
- <span class="special">{</span>
- <span class="comment">// The template param N is one of the values in the table above,</span>
- <span class="comment">// we can either handle all cases in one as is the case here,</span>
- <span class="comment">// or overload "get" for the different options.</span>
- <span class="identifier">mpfr_class</span> <span class="identifier">result</span><span class="special">;</span>
- <span class="identifier">mpfr_const_pi</span><span class="special">(</span><span class="identifier">result</span><span class="special">.</span><span class="identifier">get_mpfr_t</span><span class="special">(),</span> <span class="identifier">GMP_RNDN</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">result</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h6>
-<a name="math_toolkit.constants.tutorial.user_def.h1"></a>
- <span><a name="math_toolkit.constants.tutorial.user_def.diagnosing_what_meta_programmed_code_is_doing"></a></span><a class="link" href="user_def.html#math_toolkit.constants.tutorial.user_def.diagnosing_what_meta_programmed_code_is_doing">Diagnosing
- what meta-programmed code is doing</a>
- </h6>
-<p>
- Finally, since it can be tricky to diagnose what meta-programmed code is
- doing, there is a diagnostic routine that prints information about how
- this library will handle a specific type, it can be used like this:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">constants</span><span class="special">/</span><span class="identifier">info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">print_info_on_type</span><span class="special">&lt;</span><span class="identifier">MyType</span><span class="special">&gt;();</span>
-<span class="special">}</span>
-</pre>
-<p>
- If you wish, you can also pass an optional std::ostream argument to the
- <code class="computeroutput"><span class="identifier">print_info_on_type</span></code> function.
- Typical output for a user-defined type looks like this:
- </p>
-<pre class="programlisting">Information on the Implementation and Handling of
-Mathematical Constants for Type class boost::math::concepts::real_concept
-
-Checking for std::numeric_limits&lt;class boost::math::concepts::real_concept&gt; specialisation: no
-boost::math::policies::precision&lt;class boost::math::concepts::real_concept, Policy&gt;
-reports that there is no compile type precision available.
-boost::math::tools::digits&lt;class boost::math::concepts::real_concept&gt;()
-reports that the current runtime precision is
-53 binary digits.
-No compile time precision is available, the construction method
-will be decided at runtime and results will not be cached
-- this may lead to poor runtime performance.
-Current runtime precision indicates that
-the constant will be constructed from a string on each call.
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="templ.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist.html
deleted file mode 100644
index b82807d677..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Statistical Distributions and Functions</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="main_overview/contact.html" title="Contact Info and Support">
-<link rel="next" href="dist/stat_tut.html" title="Statistical Distributions Tutorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="main_overview/contact.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist/stat_tut.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.dist"></a><a class="link" href="dist.html" title="Statistical Distributions and Functions">Statistical Distributions and Functions</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="dist/stat_tut.html">Statistical Distributions
- Tutorial</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/overview.html">Overview of Distributions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/overview/headers.html">Headers
- and Namespaces</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/overview/objects.html">Distributions
- are Objects</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/overview/generic.html">Generic
- operations common to all distributions are non-member functions</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/overview/complements.html">Complements
- are supported too - and when to use them</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/overview/parameters.html">Parameters
- can be calculated</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/overview/summary.html">Summary</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg.html">Worked Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/weg/dist_construct_eg.html">Distribution
- Construction Example</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/st_eg.html">Student's t
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/weg/st_eg/tut_mean_intervals.html">Calculating
- confidence intervals on the mean with the Students-t distribution</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/st_eg/tut_mean_test.html">Testing
- a sample mean for difference from a "true" mean</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/st_eg/tut_mean_size.html">Estimating
- how large a sample size would have to become in order to give a significant
- Students-t test result with a single sample test</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/st_eg/two_sample_students_t.html">Comparing
- the means of two samples with the Students-t test</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/st_eg/paired_st.html">Comparing
- two paired samples with the Student's t distribution</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg/cs_eg.html">Chi Squared
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/weg/cs_eg/chi_sq_intervals.html">Confidence
- Intervals on the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/cs_eg/chi_sq_test.html">Chi-Square
- Test for the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/cs_eg/chi_sq_size.html">Estimating
- the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg/f_eg.html">F Distribution
- Examples</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/binom_eg.html">Binomial
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html">Binomial
- Coin-Flipping Example</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/binom_eg/binomial_quiz_example.html">Binomial
- Quiz Example</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/binom_eg/binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/binom_eg/binom_size_eg.html">Estimating
- Sample Sizes for a Binomial Distribution.</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg/geometric_eg.html">Geometric
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/neg_binom_eg.html">Negative
- Binomial Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/weg/neg_binom_eg/neg_binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for the Negative Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html">Estimating
- Sample Sizes for the Negative Binomial.</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html">Negative
- Binomial Sales Quota Example.</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html">Negative
- Binomial Table Printing Example.</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg/normal_example.html">Normal
- Distribution Examples</a></span></dt>
-<dd><dl><dt><span class="section"><a href="dist/stat_tut/weg/normal_example/normal_misc.html">Some
- Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg/inverse_chi_squared_eg.html">Inverse
- Chi-Squared Distribution Bayes Example</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/nccs_eg.html">Non Central
- Chi Squared Example</a></span></dt>
-<dd><dl><dt><span class="section"><a href="dist/stat_tut/weg/nccs_eg/nccs_power_eg.html">Tables
- of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg/error_eg.html">Error Handling
- Example</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/find_eg.html">Find Location
- and Scale Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/stat_tut/weg/find_eg/find_location_eg.html">Find
- Location (Mean) Example</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/find_eg/find_scale_eg.html">Find
- Scale (Standard Deviation) Example</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html">Find
- mean and standard deviation example</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/weg/nag_library.html">Comparison
- with C, R, FORTRAN-style Free Functions</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/weg/c_sharp.html">Using the
- Distributions from Within C#</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/stat_tut/variates.html">Random Variates
- and Distribution Parameters</a></span></dt>
-<dt><span class="section"><a href="dist/stat_tut/dist_params.html">Discrete Probability
- Distributions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/dist_ref.html">Statistical Distributions
- Reference</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/dist_ref/nmp.html">Non-Member Properties</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists.html">Distributions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist/dist_ref/dists/bernoulli_dist.html">Bernoulli
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/beta_dist.html">Beta
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/binomial_dist.html">Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/cauchy_dist.html">Cauchy-Lorentz
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/chi_squared_dist.html">Chi
- Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/exp_dist.html">Exponential
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/extreme_dist.html">Extreme
- Value Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/f_dist.html">F Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/gamma_dist.html">Gamma
- (and Erlang) Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/geometric_dist.html">Geometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/hypergeometric_dist.html">Hypergeometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/inverse_chi_squared_dist.html">Inverse
- Chi Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/inverse_gamma_dist.html">Inverse
- Gamma Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/inverse_gaussian_dist.html">Inverse
- Gaussian (or Inverse Normal) Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/laplace_dist.html">Laplace
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/logistic_dist.html">Logistic
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/lognormal_dist.html">Log
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/negative_binomial_dist.html">Negative
- Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/nc_beta_dist.html">Noncentral
- Beta Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/nc_chi_squared_dist.html">Noncentral
- Chi-Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/nc_f_dist.html">Noncentral
- F Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/nc_t_dist.html">Noncentral
- T Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/normal_dist.html">Normal
- (Gaussian) Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/pareto.html">Pareto Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/poisson_dist.html">Poisson
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/rayleigh.html">Rayleigh
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/skew_normal_dist.html">Skew
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/students_t_dist.html">Students
- t Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/triangular_dist.html">Triangular
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/uniform_dist.html">Uniform
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist/dist_ref/dists/weibull_dist.html">Weibull
- Distribution</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/dist_ref/dist_algorithms.html">Distribution
- Algorithms</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist/future.html">Extras/Future Directions</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="main_overview/contact.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist/stat_tut.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref.html
deleted file mode 100644
index f5894db886..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Statistical Distributions Reference</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../dist.html" title="Statistical Distributions and Functions">
-<link rel="prev" href="stat_tut/dist_params.html" title="Discrete Probability Distributions">
-<link rel="next" href="dist_ref/nmp.html" title="Non-Member Properties">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="stat_tut/dist_params.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_ref/nmp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.dist.dist_ref"></a><a class="link" href="dist_ref.html" title="Statistical Distributions Reference">Statistical Distributions
- Reference</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="dist_ref/nmp.html">Non-Member Properties</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists.html">Distributions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="dist_ref/dists/bernoulli_dist.html">Bernoulli
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/beta_dist.html">Beta
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/binomial_dist.html">Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/cauchy_dist.html">Cauchy-Lorentz
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/chi_squared_dist.html">Chi
- Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/exp_dist.html">Exponential
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/extreme_dist.html">Extreme
- Value Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/f_dist.html">F Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/gamma_dist.html">Gamma
- (and Erlang) Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/geometric_dist.html">Geometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/hypergeometric_dist.html">Hypergeometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/inverse_chi_squared_dist.html">Inverse
- Chi Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/inverse_gamma_dist.html">Inverse
- Gamma Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/inverse_gaussian_dist.html">Inverse
- Gaussian (or Inverse Normal) Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/laplace_dist.html">Laplace
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/logistic_dist.html">Logistic
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/lognormal_dist.html">Log
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/negative_binomial_dist.html">Negative
- Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/nc_beta_dist.html">Noncentral
- Beta Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/nc_chi_squared_dist.html">Noncentral
- Chi-Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/nc_f_dist.html">Noncentral
- F Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/nc_t_dist.html">Noncentral
- T Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/normal_dist.html">Normal
- (Gaussian) Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/pareto.html">Pareto Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/poisson_dist.html">Poisson
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/rayleigh.html">Rayleigh
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/skew_normal_dist.html">Skew
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/students_t_dist.html">Students
- t Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/triangular_dist.html">Triangular
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/uniform_dist.html">Uniform
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dist_ref/dists/weibull_dist.html">Weibull
- Distribution</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="dist_ref/dist_algorithms.html">Distribution
- Algorithms</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="stat_tut/dist_params.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_ref/nmp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dist_algorithms.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dist_algorithms.html
deleted file mode 100644
index 1eb55821af..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dist_algorithms.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Distribution Algorithms</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dist_ref.html" title="Statistical Distributions Reference">
-<link rel="prev" href="dists/weibull_dist.html" title="Weibull Distribution">
-<link rel="next" href="../future.html" title="Extras/Future Directions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dists/weibull_dist.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../future.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dist_algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.dist.dist_ref.dist_algorithms"></a><a class="link" href="dist_algorithms.html" title="Distribution Algorithms">Distribution
- Algorithms</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dist_algorithms.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dist_algorithms.finding_the_location_and_scale_for_normal_and_similar_distributions"></a></span><a class="link" href="dist_algorithms.html#math_toolkit.dist.dist_ref.dist_algorithms.finding_the_location_and_scale_for_normal_and_similar_distributions">Finding
- the Location and Scale for Normal and similar distributions</a>
- </h5>
-<p>
- Two functions aid finding location and scale of random variable z to give
- probability p (given a scale or location). Only applies to distributions
- like normal, lognormal, extreme value, Cauchy, (and symmetrical triangular),
- that have scale and location properties.
- </p>
-<p>
- These functions are useful to predict the mean and/or standard deviation
- that will be needed to meet a specified minimum weight or maximum dose.
- </p>
-<p>
- Complement versions are also provided, both with explicit and implicit
- (default) policy.
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span> <span class="comment">// May be needed by users defining their own policies.</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span> <span class="comment">// Will be needed by users who want to use complements.</span>
-</pre>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dist_algorithms.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dist_algorithms.find_location_function"></a></span><a class="link" href="dist_algorithms.html#math_toolkit.dist.dist_ref.dist_algorithms.find_location_function">find_location
- function</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span> <span class="comment">// explicit error handling policy</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_location</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
- <span class="comment">// For example, a nominal minimum acceptable z, so that p * 100 % are &gt; z</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">scale</span><span class="special">,</span> <span class="comment">// scale parameter, for example, normal standard deviation.</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">&gt;</span> <span class="comment">// with default policy.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_location</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
- <span class="comment">// For example, a nominal minimum acceptable z, so that p * 100 % are &gt; z</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">scale</span><span class="special">);</span> <span class="comment">// scale parameter, for example, normal standard deviation.</span>
-
- <span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dist_algorithms.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dist_algorithms.find_scale_function"></a></span><a class="link" href="dist_algorithms.html#math_toolkit.dist.dist_ref.dist_algorithms.find_scale_function">find_scale
- function</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_scale</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
- <span class="comment">// For example, a nominal minimum acceptable weight z, so that p * 100 % are &gt; z</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">location</span><span class="special">,</span> <span class="comment">// location parameter, for example, normal distribution mean.</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;</span> <span class="identifier">pol</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">&gt;</span> <span class="comment">// with default policy.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">find_scale</span><span class="special">(</span> <span class="comment">// For example, normal mean.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">z</span><span class="special">,</span> <span class="comment">// location of random variable z to give probability, P(X &gt; z) == p.</span>
- <span class="comment">// For example, a nominal minimum acceptable z, so that p * 100 % are &gt; z</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// probability value desired at x, say 0.95 for 95% &gt; z.</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">location</span><span class="special">)</span> <span class="comment">// location parameter, for example, normal distribution mean.</span>
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- All argument must be finite, otherwise <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called.
- </p>
-<p>
- Probability arguments must be [0, 1], otherwise <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called.
- </p>
-<p>
- If the choice of arguments would give a negative scale, <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called, unless the policy is to ignore, when the negative (impossible)
- value of scale is returned.
- </p>
-<p>
- <a class="link" href="../stat_tut/weg/find_eg.html" title="Find Location and Scale Examples">Find Mean and standard
- deviation examples</a> gives simple examples of use of both find_scale
- and find_location, and a longer example finding means and standard deviations
- of normally distributed weights to meet a specification.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dists/weibull_dist.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../future.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists.html
deleted file mode 100644
index fdad858084..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Distributions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dist_ref.html" title="Statistical Distributions Reference">
-<link rel="prev" href="nmp.html" title="Non-Member Properties">
-<link rel="next" href="dists/bernoulli_dist.html" title="Bernoulli Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nmp.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists/bernoulli_dist.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.dist.dist_ref.dists"></a><a class="link" href="dists.html" title="Distributions">Distributions</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="dists/bernoulli_dist.html">Bernoulli
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/beta_dist.html">Beta
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/binomial_dist.html">Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/cauchy_dist.html">Cauchy-Lorentz
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/chi_squared_dist.html">Chi
- Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/exp_dist.html">Exponential
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/extreme_dist.html">Extreme
- Value Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/f_dist.html">F Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/gamma_dist.html">Gamma
- (and Erlang) Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/geometric_dist.html">Geometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/hypergeometric_dist.html">Hypergeometric
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/inverse_chi_squared_dist.html">Inverse
- Chi Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/inverse_gamma_dist.html">Inverse
- Gamma Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/inverse_gaussian_dist.html">Inverse
- Gaussian (or Inverse Normal) Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/laplace_dist.html">Laplace
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/logistic_dist.html">Logistic
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/lognormal_dist.html">Log
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/negative_binomial_dist.html">Negative
- Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/nc_beta_dist.html">Noncentral
- Beta Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/nc_chi_squared_dist.html">Noncentral
- Chi-Squared Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/nc_f_dist.html">Noncentral
- F Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/nc_t_dist.html">Noncentral
- T Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/normal_dist.html">Normal
- (Gaussian) Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/pareto.html">Pareto Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/poisson_dist.html">Poisson
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/rayleigh.html">Rayleigh
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/skew_normal_dist.html">Skew
- Normal Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/students_t_dist.html">Students
- t Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/triangular_dist.html">Triangular
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/uniform_dist.html">Uniform
- Distribution</a></span></dt>
-<dt><span class="section"><a href="dists/weibull_dist.html">Weibull
- Distribution</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nmp.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists/bernoulli_dist.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/bernoulli_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/bernoulli_dist.html
deleted file mode 100644
index cf96ccaeab..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/bernoulli_dist.html
+++ /dev/null
@@ -1,357 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Bernoulli Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="../dists.html" title="Distributions">
-<link rel="next" href="beta_dist.html" title="Beta Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../dists.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_bernoulli_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist"></a><a class="link" href="bernoulli_dist.html" title="Bernoulli Distribution">Bernoulli
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">bernoulli</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">bernoulli_distribution</span><span class="special">;</span>
-
- <span class="keyword">typedef</span> <span class="identifier">bernoulli_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">bernoulli</span><span class="special">;</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">bernoulli_distribution</span>
- <span class="special">{</span>
- <span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">bernoulli_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// Constructor.</span>
- <span class="comment">// Accessor function.</span>
- <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span>
- <span class="comment">// Probability of success (as a fraction).</span>
- <span class="special">};</span>
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The Bernoulli distribution is a discrete distribution of the outcome
- of a single trial with only two results, 0 (failure) or 1 (success),
- with a probability of success p.
- </p>
-<p>
- The Bernoulli distribution is the simplest building block on which other
- discrete distributions of sequences of independent Bernoulli trials can
- be based.
- </p>
-<p>
- The Bernoulli is the binomial distribution (k = 1, p) with only one trial.
- </p>
-<p>
- <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function pdf</a> f(0) = 1 - p, f(1) = p. <a href="http://en.wikipedia.org/wiki/Cumulative_Distribution_Function" target="_top">Cumulative
- distribution function</a> D(k) = if (k == 0) 1 - p else 1.
- </p>
-<p>
- The following graph illustrates how the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function pdf</a> varies with the outcome of the single trial:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/bernoulli_pdf.png" align="middle"></span>
- </p>
-<p>
- and the <a href="http://en.wikipedia.org/wiki/Cumulative_Distribution_Function" target="_top">Cumulative
- distribution function</a>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/bernoulli_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.member_functions"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist.dist_ref.dists.bernoulli_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">bernoulli_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a <a href="http://en.wikipedia.org/wiki/bernoulli_distribution" target="_top">bernoulli
- distribution</a> with success_fraction <span class="emphasis"><em>p</em></span>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>success_fraction</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.non_member_accessors"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist.dist_ref.dists.bernoulli_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is 0 and 1, and the useful supported
- range is only 0 or 1.
- </p>
-<p>
- Outside this range, functions are undefined, or may throw domain_error
- exception and make an error message available.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.accuracy"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist.dist_ref.dists.bernoulli_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The Bernoulli distribution is implemented with simple arithmetic operators
- and so should have errors within an epsilon or two.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.implementation"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist.dist_ref.dists.bernoulli_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>p</em></span> is the probability of success
- and <span class="emphasis"><em>q = 1-p</em></span>. <span class="emphasis"><em>k</em></span> is the random
- variate, either 0 or 1.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The Bernoulli distribution is implemented here as a <span class="emphasis"><em>strict
- discrete</em></span> distribution. If a generalised version, allowing
- k to be any real, is required then the binomial distribution with a
- single trial should be used, for example:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="number">1</span><span class="special">,</span>
- <span class="number">0.25</span><span class="special">)</span></code>
- </p>
-</td></tr>
-</table></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Supported range
- </p>
- </td>
-<td>
- <p>
- {0, 1}
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = 1 - p for k = 0, else p
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: cdf = 1 - p for k = 0, else 1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- q = 1 - p
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- if x &lt;= (1-p) 0 else 1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- if x &lt;= (1-p) 1 else 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- p
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- p * (1 - p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- if (p &lt; 0.5) 0 else 1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- (1 - 2 * p) / sqrt(p * q)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 6 * p * p - 6 * p +1/ p * q
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- kurtosis -3
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.bernoulli_dist.references"></a></span><a class="link" href="bernoulli_dist.html#math_toolkit.dist.dist_ref.dists.bernoulli_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Wikpedia
- Bernoulli distribution</a>
- </li>
-<li class="listitem">
- <a href="../../../../Weisstein," target="_top">Eric W. "Bernoulli Distribution."
- From MathWorld--A Wolfram Web Resource.</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../dists.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/beta_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/beta_dist.html
deleted file mode 100644
index bbc7f3cb5d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/beta_dist.html
+++ /dev/null
@@ -1,626 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Beta Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="bernoulli_dist.html" title="Bernoulli Distribution">
-<link rel="next" href="binomial_dist.html" title="Binomial Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bernoulli_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_beta_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist"></a><a class="link" href="beta_dist.html" title="Beta Distribution">Beta
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">beta_distribution</span><span class="special">;</span>
-
-<span class="comment">// typedef beta_distribution&lt;double&gt; beta;</span>
-<span class="comment">// Note that this is deliberately NOT provided,</span>
-<span class="comment">// to avoid a clash with the function name beta.</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">beta_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Constructor from two shape parameters, alpha &amp; beta:</span>
- <span class="identifier">beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">b</span><span class="special">);</span>
-
- <span class="comment">// Parameter accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Parameter estimators of alpha or beta from mean and variance.</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
- <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
-
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
- <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
-
- <span class="comment">// Parameter estimators from from</span>
- <span class="comment">// either alpha or beta, and x and probability.</span>
-
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="comment">// from beta.</span>
- <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// x.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// cdf</span>
-
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="comment">// alpha.</span>
- <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// probability x.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf.</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The class type <code class="computeroutput"><span class="identifier">beta_distribution</span></code>
- represents a <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">beta
- </a> <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">probability
- distribution function</a>.
- </p>
-<p>
- The <a href="http://mathworld.wolfram.com/BetaDistribution.htm" target="_top">beta
- distribution </a> is used as a <a href="http://en.wikipedia.org/wiki/Prior_distribution" target="_top">prior
- distribution</a> for binomial proportions in <a href="http://mathworld.wolfram.com/BayesianAnalysis.html" target="_top">Bayesian
- analysis</a>.
- </p>
-<p>
- See also: <a href="http://documents.wolfram.com/calculationcenter/v2/Functions/ListsMatrices/Statistics/BetaDistribution.html" target="_top">beta
- distribution</a> and <a href="http://en.wikipedia.org/wiki/Bayesian_statistics" target="_top">Bayesian
- statistics</a>.
- </p>
-<p>
- How the beta distribution is used for <a href="http://home.uchicago.edu/~grynav/bayes/ABSLec5.ppt" target="_top">Bayesian
- analysis of one parameter models</a> is discussed by Jeff Grynaviski.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function PDF</a> for the <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">beta
- distribution</a> defined on the interval [0,1] is given by:
- </p>
-<p>
- f(x;&#945;,&#946;) = x<sup>&#945; - 1</sup> (1 - x)<sup>&#946; -1</sup> / B(&#945;, &#946;)
- </p>
-<p>
- where B(&#945;, &#946;) is the <a href="http://en.wikipedia.org/wiki/Beta_function" target="_top">beta
- function</a>, implemented in this library as <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta</a>.
- Division by the beta function ensures that the pdf is normalized to the
- range zero to unity.
- </p>
-<p>
- The following graph illustrates examples of the pdf for various values
- of the shape parameters. Note the &#945; = &#946; = 2 (blue line) is dome-shaped, and
- might be approximated by a symmetrical triangular distribution.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/beta_pdf.png" align="middle"></span>
- </p>
-<p>
- If &#945; = &#946; = 1, then it is a __space <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
- distribution</a>, equal to unity in the entire interval x = 0 to
- 1. If &#945; __space and &#946; __space are &lt; 1, then the pdf is U-shaped. If &#945; !=
- &#946;, then the shape is asymmetric and could be approximated by a triangle
- whose apex is away from the centre (where x = half).
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.member_functions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.member_functions">Member
- Functions</a>
- </h5>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.constructor"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.constructor">Constructor</a>
- </h6>
-<pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a beta distribution with shape parameters <span class="emphasis"><em>alpha</em></span>
- and <span class="emphasis"><em>beta</em></span>.
- </p>
-<p>
- Requires alpha,beta &gt; 0,otherwise <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called. Note that technically the beta distribution is defined for
- alpha,beta &gt;= 0, but it's not clear whether any program can actually
- make use of that latitude or how many of the non-member functions can
- be usefully defined in that case. Therefore for now, we regard it as
- an error if alpha or beta is zero.
- </p>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybeta</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a the beta distribution with alpha=2 and beta=5 (shown in
- yellow in the graph above).
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.parameter_accessors"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.parameter_accessors">Parameter
- Accessors</a>
- </h6>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>alpha</em></span> from which this distribution
- was constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>beta</em></span> from which this distribution
- was constructed.
- </p>
-<p>
- So for example:
- </p>
-<pre class="programlisting"><span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybeta</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">mybeta</span><span class="special">.</span><span class="identifier">alpha</span><span class="special">()</span> <span class="special">==</span> <span class="number">2.</span><span class="special">);</span> <span class="comment">// mybeta.alpha() returns 2</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">mybeta</span><span class="special">.</span><span class="identifier">beta</span><span class="special">()</span> <span class="special">==</span> <span class="number">5.</span><span class="special">);</span> <span class="comment">// mybeta.beta() returns 5</span>
-</pre>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.parameter_estimators"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.parameter_estimators">Parameter
- Estimators</a>
- </h5>
-<p>
- Two pairs of parameter estimators are provided.
- </p>
-<p>
- One estimates either &#945; __space or &#946; __space from presumed-known mean and
- variance.
- </p>
-<p>
- The other pair estimates either &#945; __space or &#946; __space from the cdf and x.
- </p>
-<p>
- It is also possible to estimate &#945; __space and &#946; __space from 'known' mode
- &amp; quantile. For example, calculators are provided by the <a href="http://www.ausvet.com.au/pprev/content.php?page=PPscript" target="_top">Pooled
- Prevalence Calculator</a> and <a href="http://www.epi.ucdavis.edu/diagnostictests/betabuster.html" target="_top">Beta
- Buster</a> but this is not yet implemented here.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
- <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
-</pre>
-<p>
- Returns the unique value of &#945; &#160; that corresponds to a beta distribution with
- mean <span class="emphasis"><em>mean</em></span> and variance <span class="emphasis"><em>variance</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">,</span> <span class="comment">// Expected value of mean.</span>
- <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">);</span> <span class="comment">// Expected value of variance.</span>
-</pre>
-<p>
- Returns the unique value of &#946; &#160; that corresponds to a beta distribution with
- mean <span class="emphasis"><em>mean</em></span> and variance <span class="emphasis"><em>variance</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_alpha</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="comment">// from beta.</span>
- <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// x.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf</span>
-</pre>
-<p>
- Returns the value of &#945; &#160; that gives: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">beta_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">beta</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">probability</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_beta</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="comment">// alpha.</span>
- <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// probability x.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// probability cdf.</span>
-</pre>
-<p>
- Returns the value of &#946; &#160; that gives: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">beta_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">beta</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">probability</span></code>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.non_member_accessor_functions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.non_member_accessor_functions">Non-member
- Accessor Functions</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The formulae for calculating these are shown in the table below, and
- at <a href="http://mathworld.wolfram.com/BetaDistribution.html" target="_top">Wolfram
- Mathworld</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.applications"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.applications">Applications</a>
- </h5>
-<p>
- The beta distribution can be used to model events constrained to take
- place within an interval defined by a minimum and maximum value: so it
- is used in project management systems.
- </p>
-<p>
- It is also widely used in <a href="http://en.wikipedia.org/wiki/Bayesian_inference" target="_top">Bayesian
- statistical inference</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h6"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.related_distributions"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.related_distributions">Related
- distributions</a>
- </h5>
-<p>
- The beta distribution with both &#945; __space and &#946; = 1 follows a <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
- distribution</a>.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">triangular</a>
- is used when less precise information is available.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Binomial_distribution" target="_top">binomial
- distribution</a> is closely related when &#945; __space and &#946; __space are
- integers.
- </p>
-<p>
- With integer values of &#945; __space and &#946; __space the distribution B(i, j) is
- that of the j-th highest of a sample of i + j + 1 independent random
- variables uniformly distributed between 0 and 1. The cumulative probability
- from 0 to x is thus the probability that the j-th highest value is less
- than x. Or it is the probability that that at least i of the random variables
- are less than x, a probability given by summing over the <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a> with its p parameter set to x.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h7"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.accuracy"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- This distribution is implemented using the <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta
- functions</a> <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta</a>
- and <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">incomplete
- beta functions</a> <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>;
- please refer to these functions for information on accuracy.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h8"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.implementation"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
- are the parameters &#945; &#160; and &#946;, <span class="emphasis"><em>x</em></span> is the random variable,
- <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- f(x;&#945;,&#946;) = x<sup>&#945; - 1</sup> (1 - x)<sup>&#946; -1</sup> / B(&#945;, &#946;)
- </p>
- <p>
- Implemented using <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>(a,
- b, x).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the incomplete beta function <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(a,
- b, x)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(a,
- b, x)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the inverse incomplete beta function <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>(a,
- b, p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>(a,
- b, q)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span><span class="special">/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">a</span> <span class="special">*</span>
- <span class="identifier">b</span> <span class="special">/</span>
- <span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">)^</span><span class="number">2</span>
- <span class="special">*</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">+</span>
- <span class="identifier">b</span> <span class="special">+</span>
- <span class="number">1</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="special">(</span><span class="identifier">a</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">/</span>
- <span class="special">(</span><span class="identifier">a</span>
- <span class="special">+</span> <span class="identifier">b</span>
- <span class="special">-</span> <span class="number">2</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="number">2</span> <span class="special">(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span>
- <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">1</span><span class="special">)/(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">2</span><span class="special">)</span>
- <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span>
- <span class="special">*</span> <span class="identifier">b</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- <span class="inlinemediaobject"><img src="../../../../../equations/beta_dist_kurtosis.png"></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">kurtosis</span> <span class="special">+</span>
- <span class="number">3</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- parameter estimation
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- alpha
- </p>
- <p>
- from mean and variance
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">mean</span> <span class="special">*</span>
- <span class="special">((</span> <span class="special">(</span><span class="identifier">mean</span> <span class="special">*</span>
- <span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span> <span class="special">/</span>
- <span class="identifier">variance</span><span class="special">)-</span>
- <span class="number">1</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- beta
- </p>
- <p>
- from mean and variance
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">*</span>
- <span class="special">(((</span><span class="identifier">mean</span>
- <span class="special">*</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span>
- <span class="identifier">mean</span><span class="special">))</span>
- <span class="special">/</span><span class="identifier">variance</span><span class="special">)-</span><span class="number">1</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The member functions <code class="computeroutput"><span class="identifier">find_alpha</span></code>
- and <code class="computeroutput"><span class="identifier">find_beta</span></code>
- </p>
- <p>
- from cdf and probability x
- </p>
- <p>
- and <span class="bold"><strong>either</strong></span> <code class="computeroutput"><span class="identifier">alpha</span></code>
- or <code class="computeroutput"><span class="identifier">beta</span></code>
- </p>
- </td>
-<td>
- <p>
- Implemented in terms of the inverse incomplete beta functions
- </p>
- <p>
- <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
- and <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
- respectively.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_alpha</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">beta</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">probability</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_beta</span></code>
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">probability</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.beta_dist.h9"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.beta_dist.references"></a></span><a class="link" href="beta_dist.html#math_toolkit.dist.dist_ref.dists.beta_dist.references">References</a>
- </h5>
-<p>
- <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">Wikipedia
- Beta distribution</a>
- </p>
-<p>
- <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda366h.htm" target="_top">NIST
- Exploratory Data Analysis</a>
- </p>
-<p>
- <a href="http://mathworld.wolfram.com/BetaDistribution.html" target="_top">Wolfram
- MathWorld</a>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bernoulli_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/binomial_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/binomial_dist.html
deleted file mode 100644
index faae0f690d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/binomial_dist.html
+++ /dev/null
@@ -1,918 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Binomial Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="beta_dist.html" title="Beta Distribution">
-<link rel="next" href="cauchy_dist.html" title="Cauchy-Lorentz Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="beta_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cauchy_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_binomial_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist"></a><a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">binomial_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">binomial</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">binomial_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">;</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">jeffreys_prior_interval</span><span class="special">;</span>
-
- <span class="comment">// construct:</span>
- <span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-
- <span class="comment">// parameter access::</span>
- <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Bounds on success fraction:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">,</span>
- <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">,</span>
- <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
-
- <span class="comment">// estimate min/max number of trials:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// risk level</span>
-
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// risk level</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The class type <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
- represents a <a href="http://mathworld.wolfram.com/BinomialDistribution.html" target="_top">binomial
- distribution</a>: it is used when there are exactly two mutually
- exclusive outcomes of a trial. These outcomes are labelled "success"
- and "failure". The <a href="../../../../binomial" target="_top">distribution</a>
- is used to obtain the probability of observing k successes in N trials,
- with the probability of success on a single trial denoted by p. The binomial
- distribution assumes that p is fixed for all trials.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The random variable for the binomial distribution is the number of
- successes, (the number of trials is a fixed property of the distribution)
- whereas for the negative binomial, the random variable is the number
- of trials, for a fixed number of successes.
- </p></td></tr>
-</table></div>
-<p>
- The PDF for the binomial distribution is given by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/binomial_ref2.png"></span>
- </p>
-<p>
- The following two graphs illustrate how the PDF changes depending upon
- the distributions parameters, first we'll keep the success fraction
- <span class="emphasis"><em>p</em></span> fixed at 0.5, and vary the sample size:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/binomial_pdf_1.png" align="middle"></span>
- </p>
-<p>
- Alternatively, we can keep the sample size fixed at N=20 and vary the
- success fraction <span class="emphasis"><em>p</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/binomial_pdf_2.png" align="middle"></span>
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The Binomial distribution is a discrete distribution: internally, functions
- like the <code class="computeroutput"><span class="identifier">cdf</span></code> and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated "as if"
- they are continuous functions, but in reality the results returned
- from these functions only have meaning if an integer value is provided
- for the random variate argument.
- </p>
-<p>
- The quantile function will by default return an integer result that
- has been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower
- quantiles (where the probability is less than 0.5) are rounded downward,
- and upper quantiles (where the probability is greater than 0.5) are
- rounded upwards. This behaviour ensures that if an X% quantile is requested,
- then <span class="emphasis"><em>at least</em></span> the requested coverage will be present
- in the central region, and <span class="emphasis"><em>no more than</em></span> the requested
- coverage will be present in the tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are rounded
- differently, or even return a real-valued result using <a class="link" href="../../../policy/pol_overview.html" title="Policy Overview">Policies</a>.
- It is strongly recommended that you read the tutorial <a class="link" href="../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on the Binomial distribution. The <a class="link" href="../../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these distributions.
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.member_functions"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.member_functions">Member
- Functions</a>
- </h5>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.construct"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.construct">Construct</a>
- </h6>
-<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- Constructor: <span class="emphasis"><em>n</em></span> is the total number of trials, <span class="emphasis"><em>p</em></span>
- is the probability of success of a single trial.
- </p>
-<p>
- Requires <code class="computeroutput"><span class="number">0</span> <span class="special">&lt;=</span>
- <span class="identifier">p</span> <span class="special">&lt;=</span>
- <span class="number">1</span></code>, and <code class="computeroutput"><span class="identifier">n</span>
- <span class="special">&gt;=</span> <span class="number">0</span></code>,
- otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.accessors"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.accessors">Accessors</a>
- </h6>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>p</em></span> from which this distribution
- was constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>n</em></span> from which this distribution
- was constructed.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.lower_bound_on_the_success_fraction"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.lower_bound_on_the_success_fraction">Lower
- Bound on the Success Fraction</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
- <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
-</pre>
-<p>
- Returns a lower bound on the success fraction:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">trials</span></dt>
-<dd><p>
- The total number of trials conducted.
- </p></dd>
-<dt><span class="term">successes</span></dt>
-<dd><p>
- The number of successes that occurred.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The largest acceptable probability that the true value of the success
- fraction is <span class="bold"><strong>less than</strong></span> the value
- returned.
- </p></dd>
-<dt><span class="term">method</span></dt>
-<dd><p>
- An optional parameter that specifies the method to be used to compute
- the interval (See below).
- </p></dd>
-</dl>
-</div>
-<p>
- For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
- trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
- but if you want to be 95% sure that the true value is <span class="bold"><strong>greater
- than</strong></span> some value, <span class="emphasis"><em>p<sub>min</sub></em></span>, then:
- </p>
-<pre class="programlisting"><span class="identifier">p</span><sub>min</sub> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">n</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- <a class="link" href="../../stat_tut/weg/binom_eg/binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">See
- worked example.</a>
- </p>
-<p>
- There are currently two possible values available for the <span class="emphasis"><em>method</em></span>
- optional parameter: <span class="emphasis"><em>clopper_pearson_exact_interval</em></span>
- or <span class="emphasis"><em>jeffreys_prior_interval</em></span>. These constants are
- both members of class template <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>,
- so usage is for example:
- </p>
-<pre class="programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">n</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">jeffreys_prior_interval</span><span class="special">);</span>
-</pre>
-<p>
- The default method if this parameter is not specified is the Clopper
- Pearson "exact" interval. This produces an interval that guarantees
- at least <code class="computeroutput"><span class="number">100</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">)%</span></code> coverage, but which is known to be
- overly conservative, sometimes producing intervals with much greater
- than the requested coverage.
- </p>
-<p>
- The alternative calculation method produces a non-informative Jeffreys
- Prior interval. It produces <code class="computeroutput"><span class="number">100</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">)%</span></code>
- coverage only <span class="emphasis"><em>in the average case</em></span>, though is typically
- very close to the requested coverage level. It is one of the main methods
- of calculation recommended in the review by Brown, Cai and DasGupta.
- </p>
-<p>
- Please note that the "textbook" calculation method using a
- normal approximation (the Wald interval) is deliberately not provided:
- it is known to produce consistently poor results, even when the sample
- size is surprisingly large. Refer to Brown, Cai and DasGupta for a full
- explanation. Many other methods of calculation are available, and may
- be more appropriate for specific situations. Unfortunately there appears
- to be no consensus amongst statisticians as to which is "best":
- refer to the discussion at the end of Brown, Cai and DasGupta for examples.
- </p>
-<p>
- The two methods provided here were chosen principally because they can
- be used for both one and two sided intervals. See also:
- </p>
-<p>
- Lawrence D. Brown, T. Tony Cai and Anirban DasGupta (2001), Interval
- Estimation for a Binomial Proportion, Statistical Science, Vol. 16, No.
- 2, 101-133.
- </p>
-<p>
- T. Tony Cai (2005), One-sided confidence intervals in discrete distributions,
- Journal of Statistical Planning and Inference 131, 63-88.
- </p>
-<p>
- Agresti, A. and Coull, B. A. (1998). Approximate is better than "exact"
- for interval estimation of binomial proportions. Amer. Statist. 52 119-126.
- </p>
-<p>
- Clopper, C. J. and Pearson, E. S. (1934). The use of confidence or fiducial
- limits illustrated in the case of the binomial. Biometrika 26 404-413.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.upper_bound_on_the_success_fraction"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.upper_bound_on_the_success_fraction">Upper
- Bound on the Success Fraction</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
- <span class="emphasis"><em>unspecified-type</em></span> <span class="identifier">method</span> <span class="special">=</span> <span class="identifier">clopper_pearson_exact_interval</span><span class="special">);</span>
-</pre>
-<p>
- Returns an upper bound on the success fraction:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">trials</span></dt>
-<dd><p>
- The total number of trials conducted.
- </p></dd>
-<dt><span class="term">successes</span></dt>
-<dd><p>
- The number of successes that occurred.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The largest acceptable probability that the true value of the success
- fraction is <span class="bold"><strong>greater than</strong></span> the value
- returned.
- </p></dd>
-<dt><span class="term">method</span></dt>
-<dd><p>
- An optional parameter that specifies the method to be used to compute
- the interval. Refer to the documentation for <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
- above for the meaning of the method options.
- </p></dd>
-</dl>
-</div>
-<p>
- For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
- trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
- but if you want to be 95% sure that the true value is <span class="bold"><strong>less
- than</strong></span> some value, <span class="emphasis"><em>p<sub>max</sub></em></span>, then:
- </p>
-<pre class="programlisting"><span class="identifier">p</span><sub>max</sub> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">n</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- <a class="link" href="../../stat_tut/weg/binom_eg/binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">See
- worked example.</a>
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- In order to obtain a two sided bound on the success fraction, you call
- both <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
- <span class="bold"><strong>and</strong></span> <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
- each with the same arguments.
- </p>
-<p>
- If the desired risk level that the true success fraction lies outside
- the bounds is &#945;, then you pass &#945;/2 to these functions.
- </p>
-<p>
- So for example a two sided 95% confidence interval would be obtained
- by passing &#945; = 0.025 to each of the functions.
- </p>
-<p>
- <a class="link" href="../../stat_tut/weg/binom_eg/binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">See
- worked example.</a>
- </p>
-</td></tr>
-</table></div>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.estimating_the_number_of_trials_required_for_a_certain_number_of_successes"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.estimating_the_number_of_trials_required_for_a_certain_number_of_successes">Estimating
- the Number of Trials Required for a Certain Number of Successes</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold</span>
-</pre>
-<p>
- This function estimates the minimum number of trials required to ensure
- that more than k events is observed with a level of risk <span class="emphasis"><em>alpha</em></span>
- that k or fewer events occur.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">k</span></dt>
-<dd><p>
- The number of success observed.
- </p></dd>
-<dt><span class="term">p</span></dt>
-<dd><p>
- The probability of success for each trial.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable probability that k events or fewer will
- be observed.
- </p></dd>
-</dl>
-</div>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- Returns the smallest number of trials we must conduct to be 95% sure
- of seeing 10 events that occur with frequency one half.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h6"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.estimating_the_maximum_number_of_trials_to_ensure_no_more_than_a_certain_number_of_successes"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.estimating_the_maximum_number_of_trials_to_ensure_no_more_than_a_certain_number_of_successes">Estimating
- the Maximum Number of Trials to Ensure no more than a Certain Number
- of Successes</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of events</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold</span>
-</pre>
-<p>
- This function estimates the maximum number of trials we can conduct to
- ensure that k successes or fewer are observed, with a risk <span class="emphasis"><em>alpha</em></span>
- that more than k occur.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">k</span></dt>
-<dd><p>
- The number of success observed.
- </p></dd>
-<dt><span class="term">p</span></dt>
-<dd><p>
- The probability of success for each trial.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable probability that more than k events will
- be observed.
- </p></dd>
-</dl>
-</div>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1e-6</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- Returns the largest number of trials we can conduct and still be 95%
- certain of not observing any events that occur with one in a million
- frequency. This is typically used in failure analysis.
- </p>
-<p>
- <a class="link" href="../../stat_tut/weg/binom_eg/binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">See
- Worked Example.</a>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h7"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.non_member_accessors"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain for the random variable <span class="emphasis"><em>k</em></span> is <code class="computeroutput"><span class="number">0</span> <span class="special">&lt;=</span> <span class="identifier">k</span> <span class="special">&lt;=</span> <span class="identifier">N</span></code>, otherwise a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- is returned.
- </p>
-<p>
- It's worth taking a moment to define what these accessors actually mean
- in the context of this distribution:
- </p>
-<div class="table">
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.meaning_of_the_non_member_accessors"></a><p class="title"><b>Table&#160;13.&#160;Meaning of the non-member accessors</b></p>
-<div class="table-contents"><table class="table" summary="Meaning of the non-member accessors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Meaning
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>exactly
- k successes</strong></span> from n trials with success fraction
- p. For example:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
- <span class="identifier">p</span><span class="special">),</span>
- <span class="identifier">k</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>k successes
- or fewer</strong></span> from n trials with success fraction p.
- For example:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
- <span class="identifier">p</span><span class="special">),</span>
- <span class="identifier">k</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.ccdf">Complement of the Cumulative
- Distribution Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>more than
- k successes</strong></span> from n trials with success fraction
- p. For example:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
- <span class="identifier">p</span><span class="special">),</span>
- <span class="identifier">k</span><span class="special">))</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>
- </p>
- </td>
-<td>
- <p>
- The <span class="bold"><strong>greatest</strong></span> number of successes
- that may be observed from n trials with success fraction p,
- at probability P. Note that the value returned is a real-number,
- and not an integer. Depending on the use case you may want
- to take either the floor or ceiling of the result. For example:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
- <span class="identifier">p</span><span class="special">),</span>
- <span class="identifier">P</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.quantile_c">Quantile from the complement
- of the probability</a>
- </p>
- </td>
-<td>
- <p>
- The <span class="bold"><strong>smallest</strong></span> number of successes
- that may be observed from n trials with success fraction p,
- at probability P. Note that the value returned is a real-number,
- and not an integer. Depending on the use case you may want
- to take either the floor or ceiling of the result. For example:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span>
- <span class="identifier">p</span><span class="special">),</span>
- <span class="identifier">P</span><span class="special">))</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h8"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.examples"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.examples">Examples</a>
- </h5>
-<p>
- Various <a class="link" href="../../stat_tut/weg/binom_eg.html" title="Binomial Distribution Examples">worked
- examples</a> are available illustrating the use of the binomial distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h9"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.accuracy"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- This distribution is implemented using the incomplete beta functions
- <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>,
- please refer to these functions for information on accuracy.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h10"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.implementation"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>p</em></span> is the probability that
- one trial will be successful (the success fraction), <span class="emphasis"><em>n</em></span>
- is the number of trials, <span class="emphasis"><em>k</em></span> is the number of successes,
- <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Implementation is in terms of <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>:
- if <sub>n</sub>C<sub>k </sub> is the binomial coefficient of a and b, then we have:
- </p>
- <p>
- <span class="inlinemediaobject"><img src="../../../../../equations/binomial_ref1.png"></span>
- </p>
- <p>
- Which can be evaluated as <code class="computeroutput"><span class="identifier">ibeta_derivative</span><span class="special">(</span><span class="identifier">k</span><span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="identifier">n</span><span class="special">-</span><span class="identifier">k</span><span class="special">+</span><span class="number">1</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
- <span class="special">(</span><span class="identifier">n</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code>
- </p>
- <p>
- The function <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>
- is used here, since it has already been optimised for the lowest
- possible error - indeed this is really just a thin wrapper
- around part of the internals of the incomplete beta function.
- </p>
- <p>
- There are also various special cases: refer to the code for
- details.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
-</p>
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">I</span><span class="special">[</span><span class="identifier">sub</span> <span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">](</span><span class="identifier">n</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">k</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span>
- <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">I</span><span class="special">[</span><span class="identifier">sub</span> <span class="identifier">p</span><span class="special">](</span><span class="identifier">k</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">)</span>
- <span class="special">=</span> <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a><span class="special">(</span><span class="identifier">k</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">n</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span></pre>
-<p>
- </p>
- <p>
- There are also various special cases: refer to the code for
- details.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(k
- + 1, n - k, p)
- </p>
- <p>
- There are also various special cases: refer to the code for
- details.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Since the cdf is non-linear in variate <span class="emphasis"><em>k</em></span>
- none of the inverse incomplete beta functions can be used here.
- Instead the quantile is found numerically using a derivative
- free method (<a class="link" href="../../../toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">TOMS
- Algorithm 748</a>).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Found numerically as above.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">p</span> <span class="special">*</span>
- <span class="identifier">n</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">p</span> <span class="special">*</span>
- <span class="identifier">n</span> <span class="special">*</span>
- <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">p</span> <span class="special">*</span>
- <span class="special">(</span><span class="identifier">n</span>
- <span class="special">+</span> <span class="number">1</span><span class="special">))</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="number">2</span>
- <span class="special">*</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
- <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">n</span> <span class="special">*</span>
- <span class="identifier">p</span> <span class="special">*</span>
- <span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">p</span><span class="special">))</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="number">3</span> <span class="special">-</span>
- <span class="special">(</span><span class="number">6</span>
- <span class="special">/</span> <span class="identifier">n</span><span class="special">)</span> <span class="special">+</span>
- <span class="special">(</span><span class="number">1</span>
- <span class="special">/</span> <span class="special">(</span><span class="identifier">n</span> <span class="special">*</span>
- <span class="identifier">p</span> <span class="special">*</span>
- <span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">p</span><span class="special">)))</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="number">6</span>
- <span class="special">*</span> <span class="identifier">p</span>
- <span class="special">*</span> <span class="identifier">q</span><span class="special">)</span> <span class="special">/</span>
- <span class="special">(</span><span class="identifier">n</span>
- <span class="special">*</span> <span class="identifier">p</span>
- <span class="special">*</span> <span class="identifier">q</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- parameter estimation
- </p>
- </td>
-<td>
- <p>
- The member functions <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
- <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
- and <code class="computeroutput"><span class="identifier">find_number_of_trials</span></code>
- are implemented in terms of the inverse incomplete beta functions
- <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>,
- <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>,
- and <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
- respectively
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.binomial_dist.h11"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.binomial_dist.references"></a></span><a class="link" href="binomial_dist.html#math_toolkit.dist.dist_ref.dists.binomial_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/BinomialDistribution.html" target="_top">Weisstein,
- Eric W. "Binomial Distribution." From MathWorld--A Wolfram
- Web Resource</a>.
- </li>
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Beta_distribution" target="_top">Wikipedia
- binomial distribution</a>.
- </li>
-<li class="listitem">
- <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda366i.htm" target="_top">NIST
- Explorary Data Analysis</a>.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="beta_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cauchy_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/cauchy_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/cauchy_dist.html
deleted file mode 100644
index 8d19fa1b19..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/cauchy_dist.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Cauchy-Lorentz Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="binomial_dist.html" title="Binomial Distribution">
-<link rel="next" href="chi_squared_dist.html" title="Chi Squared Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binomial_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_cauchy_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.cauchy_dist"></a><a class="link" href="cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy-Lorentz
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">cauchy_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">cauchy_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">cauchy</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">cauchy_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">cauchy_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-
- <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Cauchy_distribution" target="_top">Cauchy-Lorentz
- distribution</a> is named after Augustin Cauchy and Hendrik Lorentz.
- It is a <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">continuous
- probability distribution</a> with <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">probability
- distribution function PDF</a> given by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/cauchy_ref1.png"></span>
- </p>
-<p>
- The location parameter x<sub>0</sub> &#160; is the location of the peak of the distribution
- (the mode of the distribution), while the scale parameter &#947; &#160; specifies half
- the width of the PDF at half the maximum height. If the location is zero,
- and the scale 1, then the result is a standard Cauchy distribution.
- </p>
-<p>
- The distribution is important in physics as it is the solution to the
- differential equation describing forced resonance, while in spectroscopy
- it is the description of the line shape of spectral lines.
- </p>
-<p>
- The following graph shows how the distributions moves as the location
- parameter changes:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/cauchy_pdf1.png" align="middle"></span>
- </p>
-<p>
- While the following graph shows how the shape (scale) parameter alters
- the distribution:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/cauchy_pdf2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.member_functions"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist.dist_ref.dists.cauchy_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">cauchy_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a Cauchy distribution, with location parameter <span class="emphasis"><em>location</em></span>
- and scale parameter <span class="emphasis"><em>scale</em></span>. When these parameters
- take their default values (location = 0, scale = 1) then the result is
- a Standard Cauchy Distribution.
- </p>
-<p>
- Requires scale &gt; 0, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the location parameter of the distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the scale parameter of the distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.non_member_accessors"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist.dist_ref.dists.cauchy_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- Note however that the Cauchy distribution does not have a mean, standard
- deviation, etc. See <a class="link" href="../../../policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">mathematically
- undefined function</a> to control whether these should fail to compile
- with a BOOST_STATIC_ASSERTION_FAILURE, which is the default.
- </p>
-<p>
- Alternately, the functions <a class="link" href="../nmp.html#math.dist.mean">mean</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>, <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>
- and <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>
- will all return a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a> if
- called.
- </p>
-<p>
- The domain of the random variable is [-[max_value], +[min_value]].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.accuracy"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist.dist_ref.dists.cauchy_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The Cauchy distribution is implemented in terms of the standard library
- <code class="computeroutput"><span class="identifier">tan</span></code> and <code class="computeroutput"><span class="identifier">atan</span></code> functions, and as such should
- have very low error rates.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.implementation"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist.dist_ref.dists.cauchy_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table x<sub>0 </sub> is the location parameter of the distribution,
- &#947; &#160; is its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate,
- <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = 1 / (&#960; * &#947; * (1 + ((x - x<sub>0 </sub>) / &#947;)<sup>2</sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf and its complement
- </p>
- </td>
-<td>
- <p>
- The cdf is normally given by:
- </p>
- <p>
- p = 0.5 + atan(x)/&#960;
- </p>
- <p>
- But that suffers from cancellation error as x -&gt; -&#8734;. So recall
- that for <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span> <span class="number">0</span></code>:
- </p>
- <p>
- atan(x) = -&#960;/2 - atan(1/x)
- </p>
- <p>
- Substituting into the above we get:
- </p>
- <p>
- p = -atan(1/x) ; x &lt; 0
- </p>
- <p>
- So the procedure is to calculate the cdf for -fabs(x) using
- the above formula. Note that to factor in the location and
- scale parameters you must substitute (x - x<sub>0 </sub>) / &#947; &#160; for x in the
- above.
- </p>
- <p>
- This procedure yields the smaller of <span class="emphasis"><em>p</em></span>
- and <span class="emphasis"><em>q</em></span>, so the result may need subtracting
- from 1 depending on whether we want the complement or not,
- and whether <span class="emphasis"><em>x</em></span> is less than x<sub>0 </sub> or not.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- The same procedure is used irrespective of whether we're starting
- from the probability or its complement. First the argument
- <span class="emphasis"><em>p</em></span> is reduced to the range [-0.5, 0.5],
- then the relation
- </p>
- <p>
- x = x<sub>0 </sub> &#177; &#947; &#160; / tan(&#960; * p)
- </p>
- <p>
- is used to obtain the result. Whether we're adding or subtracting
- from x<sub>0 </sub> is determined by whether we're starting from the complement
- or not.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- The location parameter.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.cauchy_dist.references"></a></span><a class="link" href="cauchy_dist.html#math_toolkit.dist.dist_ref.dists.cauchy_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Cauchy_distribution" target="_top">Cauchy-Lorentz
- distribution</a>
- </li>
-<li class="listitem">
- <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3663.htm" target="_top">NIST
- Exploratory Data Analysis</a>
- </li>
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/CauchyDistribution.html" target="_top">Weisstein,
- Eric W. "Cauchy Distribution." From MathWorld--A Wolfram
- Web Resource.</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binomial_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/chi_squared_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/chi_squared_dist.html
deleted file mode 100644
index 133854cc84..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/chi_squared_dist.html
+++ /dev/null
@@ -1,414 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Chi Squared Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="cauchy_dist.html" title="Cauchy-Lorentz Distribution">
-<link rel="next" href="exp_dist.html" title="Exponential Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cauchy_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_chi_squared_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist"></a><a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi
- Squared Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">chi_squared_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">chi_squared_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">chi_squared</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">chi_squared_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="comment">// Constructor:</span>
- <span class="identifier">chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">i</span><span class="special">);</span>
-
- <span class="comment">// Accessor to parameter:</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Parameter estimation:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">difference_from_mean</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">sd</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The Chi-Squared distribution is one of the most widely used distributions
- in statistical tests. If &#967;<sub>i</sub> &#160; are &#957; &#160;
-independent, normally distributed random
- variables with means &#956;<sub>i</sub> &#160; and variances &#963;<sub>i</sub><sup>2</sup>, then the random variable:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/chi_squ_ref1.png"></span>
- </p>
-<p>
- is distributed according to the Chi-Squared distribution.
- </p>
-<p>
- The Chi-Squared distribution is a special case of the gamma distribution
- and has a single parameter &#957; &#160; that specifies the number of degrees of freedom.
- The following graph illustrates how the distribution changes for different
- values of &#957;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/chi_squared_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.member_functions"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.chi_squared_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a Chi-Squared distribution with <span class="emphasis"><em>v</em></span> degrees
- of freedom.
- </p>
-<p>
- Requires v &gt; 0, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
- constructed.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">difference_from_variance</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
-</pre>
-<p>
- Estimates the sample size required to detect a difference from a nominal
- variance in a Chi-Squared test for equal standard deviations.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">difference_from_variance</span></dt>
-<dd><p>
- The difference from the assumed nominal variance that is to be
- detected: Note that the sign of this value is critical, see below.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable risk of rejecting the null hypothesis when
- it is in fact true.
- </p></dd>
-<dt><span class="term">beta</span></dt>
-<dd><p>
- The maximum acceptable risk of falsely failing to reject the null
- hypothesis.
- </p></dd>
-<dt><span class="term">variance</span></dt>
-<dd><p>
- The nominal variance being tested against.
- </p></dd>
-<dt><span class="term">hint</span></dt>
-<dd><p>
- An optional hint on where to start looking for a result: the current
- sample size would be a good choice.
- </p></dd>
-</dl>
-</div>
-<p>
- Note that this calculation works with <span class="emphasis"><em>variances</em></span>
- and not <span class="emphasis"><em>standard deviations</em></span>.
- </p>
-<p>
- The sign of the parameter <span class="emphasis"><em>difference_from_variance</em></span>
- is important: the Chi Squared distribution is asymmetric, and the caller
- must decide in advance whether they are testing for a variance greater
- than a nominal value (positive <span class="emphasis"><em>difference_from_variance</em></span>)
- or testing for a variance less than a nominal value (negative <span class="emphasis"><em>difference_from_variance</em></span>).
- If the latter, then obviously it is a requirement that <code class="computeroutput"><span class="identifier">variance</span> <span class="special">+</span>
- <span class="identifier">difference_from_variance</span> <span class="special">&gt;</span>
- <span class="number">0</span></code>, since no sample can have a negative
- variance!
- </p>
-<p>
- This procedure uses the method in Diamond, W. J. (1989). Practical Experiment
- Designs, Van-Nostrand Reinhold, New York.
- </p>
-<p>
- See also section on Sample sizes required in <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc232.htm" target="_top">the
- NIST Engineering Statistics Handbook, Section 7.2.3.2</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.non_member_accessors"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.chi_squared_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- (We have followed the usual restriction of the mode to degrees of freedom
- &gt;= 2, but note that the maximum of the pdf is actually zero for degrees
- of freedom from 2 down to 0, and provide an extended definition that
- would avoid a discontinuity in the mode as alternative code in a comment).
- </p>
-<p>
- The domain of the random variable is [0, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.examples"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.chi_squared_dist.examples">Examples</a>
- </h5>
-<p>
- Various <a class="link" href="../../stat_tut/weg/cs_eg.html" title="Chi Squared Distribution Examples">worked examples</a>
- are available illustrating the use of the Chi Squared Distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.accuracy"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.chi_squared_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The Chi-Squared distribution is implemented in terms of the <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">incomplete
- gamma functions</a>: please refer to the accuracy data for those functions.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.implementation"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.chi_squared_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>v</em></span> is the number of degrees
- of freedom of the distribution, <span class="emphasis"><em>x</em></span> is the random
- variate, <span class="emphasis"><em>p</em></span> is the probability, and <span class="emphasis"><em>q =
- 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = <a class="link" href="../../../special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(v
- / 2, x / 2) / 2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(v
- / 2, x / 2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(v
- / 2, x / 2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = 2 * <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(v
- / 2, p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = 2 * <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(v
- / 2, p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- v
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- 2v
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- v - 2 (if v &gt;= 2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 2 * sqrt(2 / v) == sqrt(8 / v)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 3 + 12 / v
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 12 / v
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.chi_squared_dist.references"></a></span><a class="link" href="chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.chi_squared_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm" target="_top">NIST
- Exploratory Data Analysis</a>
- </li>
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Chi-square_distribution" target="_top">Chi-square
- distribution</a>
- </li>
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/Chi-SquaredDistribution.html" target="_top">Weisstein,
- Eric W. "Chi-Squared Distribution." From MathWorld--A Wolfram
- Web Resource.</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cauchy_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exp_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/exp_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/exp_dist.html
deleted file mode 100644
index 5f1fc10835..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/exp_dist.html
+++ /dev/null
@@ -1,332 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Exponential Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="chi_squared_dist.html" title="Chi Squared Distribution">
-<link rel="next" href="extreme_dist.html" title="Extreme Value Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extreme_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_exp_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.exp_dist"></a><a class="link" href="exp_dist.html" title="Exponential Distribution">Exponential
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">exponential</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">exponential_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">exponential_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">exponential</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">exponential_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">exponential_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-
- <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">exponential
- distribution</a> is a <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">continuous
- probability distribution</a> with PDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/exponential_dist_ref1.png"></span>
- </p>
-<p>
- It is often used to model the time between independent events that happen
- at a constant average rate.
- </p>
-<p>
- The following graph shows how the distribution changes for different
- values of the rate parameter lambda:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/exponential_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.exp_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.exp_dist.member_functions"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist.dist_ref.dists.exp_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">exponential_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs an <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">Exponential
- distribution</a> with parameter <span class="emphasis"><em>lambda</em></span>. Lambda
- is defined as the reciprocal of the scale parameter.
- </p>
-<p>
- Requires lambda &gt; 0, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Accessor function returns the lambda parameter of the distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.exp_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.exp_dist.non_member_accessors"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist.dist_ref.dists.exp_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.exp_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.exp_dist.accuracy"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist.dist_ref.dists.exp_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The exponential distribution is implemented in terms of the standard
- library functions <code class="computeroutput"><span class="identifier">exp</span></code>,
- <code class="computeroutput"><span class="identifier">log</span></code>, <code class="computeroutput"><span class="identifier">log1p</span></code>
- and <code class="computeroutput"><span class="identifier">expm1</span></code> and as such
- should have very low error rates.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.exp_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.exp_dist.implementation"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist.dist_ref.dists.exp_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#955; is the parameter lambda of the distribution,
- <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
- is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = &#955; * exp(-&#955; * x)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = 1 - exp(-x * &#955;) = -expm1(-x * &#955;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = exp(-x * &#955;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = -log(1-p) / &#955; = -log1p(-p) / &#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = -log(q) / &#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- 1/&#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- standard deviation
- </p>
- </td>
-<td>
- <p>
- 1/&#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 9
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 6
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.exp_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.exp_dist.references"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist.dist_ref.dists.exp_dist.references">references</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/ExponentialDistribution.html" target="_top">Weisstein,
- Eric W. "Exponential Distribution." From MathWorld--A Wolfram
- Web Resource</a>
- </li>
-<li class="listitem">
- <a href="http://documents.wolfram.com/calccenter/Functions/ListsMatrices/Statistics/ExponentialDistribution.html" target="_top">Wolfram
- Mathematica calculator</a>
- </li>
-<li class="listitem">
- <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3667.htm" target="_top">NIST
- Exploratory Data Analysis</a>
- </li>
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">Wikipedia
- Exponential distribution</a>
- </li>
-</ul></div>
-<p>
- (See also the reference documentation for the related <a class="link" href="extreme_dist.html" title="Extreme Value Distribution">Extreme
- Distributions</a>.)
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme
- Value Distributions, Theory and Applications Samuel Kotz &amp; Saralees
- Nadarajah</a> discuss the relationship of the types of extreme
- value distributions.
- </li></ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extreme_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/extreme_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/extreme_dist.html
deleted file mode 100644
index b4e1b90e8a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/extreme_dist.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Extreme Value Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="exp_dist.html" title="Exponential Distribution">
-<link rel="next" href="f_dist.html" title="F Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="exp_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_extreme_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.extreme_dist"></a><a class="link" href="extreme_dist.html" title="Extreme Value Distribution">Extreme
- Value Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">extreme</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">extreme_value_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">extreme_value_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">extreme_value</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">extreme_value_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
-
- <span class="identifier">extreme_value_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- There are various <a href="http://mathworld.wolfram.com/ExtremeValueDistribution.html" target="_top">extreme
- value distributions</a> : this implementation represents the maximum
- case, and is variously known as a Fisher-Tippett distribution, a log-Weibull
- distribution or a Gumbel distribution.
- </p>
-<p>
- Extreme value theory is important for assessing risk for highly unusual
- events, such as 100-year floods.
- </p>
-<p>
- More information can be found on the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda366g.htm" target="_top">NIST</a>,
- <a href="http://en.wikipedia.org/wiki/Extreme_value_distribution" target="_top">Wikipedia</a>,
- <a href="http://mathworld.wolfram.com/ExtremeValueDistribution.html" target="_top">Mathworld</a>,
- and <a href="http://en.wikipedia.org/wiki/Extreme_value_theory" target="_top">Extreme
- value theory</a> websites.
- </p>
-<p>
- The relationship of the types of extreme value distributions, of which
- this is but one, is discussed by <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme
- Value Distributions, Theory and Applications Samuel Kotz &amp; Saralees
- Nadarajah</a>.
- </p>
-<p>
- The distribution has a PDF given by:
- </p>
-<p>
- f(x) = (1/scale) e<sup>-(x-location)/scale</sup> e<sup>-e<sup>-(x-location)/scale</sup></sup>
- </p>
-<p>
- Which in the standard case (scale = 1, location = 0) reduces to:
- </p>
-<p>
- f(x) = e<sup>-x</sup>e<sup>-e<sup>-x</sup></sup>
- </p>
-<p>
- The following graph illustrates how the PDF varies with the location
- parameter:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/extreme_value_pdf1.png" align="middle"></span>
- </p>
-<p>
- And this graph illustrates how the PDF varies with the shape parameter:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/extreme_value_pdf2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.extreme_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.extreme_dist.member_functions"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist.dist_ref.dists.extreme_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">extreme_value_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs an Extreme Value distribution with the specified location
- and scale parameters.
- </p>
-<p>
- Requires <code class="computeroutput"><span class="identifier">scale</span> <span class="special">&gt;</span>
- <span class="number">0</span></code>, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the location parameter of the distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the scale parameter of the distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.extreme_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.extreme_dist.non_member_accessors"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist.dist_ref.dists.extreme_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random parameter is [-&#8734;, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.extreme_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.extreme_dist.accuracy"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist.dist_ref.dists.extreme_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The extreme value distribution is implemented in terms of the standard
- library <code class="computeroutput"><span class="identifier">exp</span></code> and <code class="computeroutput"><span class="identifier">log</span></code> functions and as such should have
- very low error rates.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.extreme_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.extreme_dist.implementation"></a></span><a class="link" href="extreme_dist.html#math_toolkit.dist.dist_ref.dists.extreme_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table: <span class="emphasis"><em>a</em></span> is the location parameter,
- <span class="emphasis"><em>b</em></span> is the scale parameter, <span class="emphasis"><em>x</em></span>
- is the random variate, <span class="emphasis"><em>p</em></span> is the probability and
- <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = exp((a-x)/b) * exp(-exp((a-x)/b))
- / b
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = exp(-exp((a-x)/b))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = -expm1(-exp((a-x)/b))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: a - log(-log(p)) * b
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: a - log(-log1p(-q)) * b
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- a + <a href="http://en.wikipedia.org/wiki/Euler-Mascheroni_constant" target="_top">Euler-Mascheroni-constant</a>
- * b
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- standard deviation
- </p>
- </td>
-<td>
- <p>
- pi * b / sqrt(6)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- The same as the location parameter <span class="emphasis"><em>a</em></span>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 12 * sqrt(6) * zeta(3) / pi<sup>3</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 27 / 5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- kurtosis - 3 or 12 / 5
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="exp_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="f_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/f_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/f_dist.html
deleted file mode 100644
index 05a0f6a21e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/f_dist.html
+++ /dev/null
@@ -1,441 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>F Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="extreme_dist.html" title="Extreme Value Distribution">
-<link rel="next" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="extreme_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_f_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.f_dist"></a><a class="link" href="f_dist.html" title="F Distribution">F Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">fisher_f</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">fisher_f_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">fisher_f_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">fisher_f</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">fisher_f_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
-
- <span class="comment">// Construct:</span>
- <span class="identifier">fisher_f_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">j</span><span class="special">);</span>
-
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">//namespaces</span>
-</pre>
-<p>
- The F distribution is a continuous distribution that arises when testing
- whether two samples have the same variance. If &#967;<sup>2</sup><sub>m</sub> &#160; and &#967;<sup>2</sup><sub>n</sub> &#160; are independent
- variates each distributed as Chi-Squared with <span class="emphasis"><em>m</em></span>
- and <span class="emphasis"><em>n</em></span> degrees of freedom, then the test statistic:
- </p>
-<p>
- F<sub>n,m</sub> &#160; = (&#967;<sup>2</sup><sub>n</sub> &#160; / n) / (&#967;<sup>2</sup><sub>m</sub> &#160; / m)
- </p>
-<p>
- Is distributed over the range [0, &#8734;] with an F distribution, and has the
- PDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/fisher_pdf.png"></span>
- </p>
-<p>
- The following graph illustrates how the PDF varies depending on the two
- degrees of freedom parameters.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/fisher_f_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.f_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.f_dist.member_functions"></a></span><a class="link" href="f_dist.html#math_toolkit.dist.dist_ref.dists.f_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">fisher_f_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">df1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">df2</span><span class="special">);</span>
-</pre>
-<p>
- Constructs an F-distribution with numerator degrees of freedom <span class="emphasis"><em>df1</em></span>
- and denominator degrees of freedom <span class="emphasis"><em>df2</em></span>.
- </p>
-<p>
- Requires that <span class="emphasis"><em>df1</em></span> and <span class="emphasis"><em>df2</em></span> are
- both greater than zero, otherwise <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the numerator degrees of freedom parameter of the distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the denominator degrees of freedom parameter of the distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.f_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.f_dist.non_member_accessors"></a></span><a class="link" href="f_dist.html#math_toolkit.dist.dist_ref.dists.f_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.f_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.f_dist.examples"></a></span><a class="link" href="f_dist.html#math_toolkit.dist.dist_ref.dists.f_dist.examples">Examples</a>
- </h5>
-<p>
- Various <a class="link" href="../../stat_tut/weg/f_eg.html" title="F Distribution Examples">worked examples</a>
- are available illustrating the use of the F Distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.f_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.f_dist.accuracy"></a></span><a class="link" href="f_dist.html#math_toolkit.dist.dist_ref.dists.f_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The normal distribution is implemented in terms of the <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">incomplete
- beta function</a> and its <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">inverses</a>,
- refer to those functions for accuracy data.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.f_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.f_dist.implementation"></a></span><a class="link" href="f_dist.html#math_toolkit.dist.dist_ref.dists.f_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>v1</em></span> and <span class="emphasis"><em>v2</em></span>
- are the first and second degrees of freedom parameters of the distribution,
- <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
- is the probability, and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- The usual form of the PDF is given by:
- </p>
- <p>
- <span class="inlinemediaobject"><img src="../../../../../equations/fisher_pdf.png"></span>
- </p>
- <p>
- However, that form is hard to evaluate directly without incurring
- problems with either accuracy or numeric overflow.
- </p>
- <p>
- Direct differentiation of the CDF expressed in terms of the
- incomplete beta function
- </p>
- <p>
- led to the following two formulas:
- </p>
- <p>
- f<sub>v1,v2</sub>(x) = y * <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>(v2
- / 2, v1 / 2, v2 / (v2 + v1 * x))
- </p>
- <p>
- with y = (v2 * v1) / ((v2 + v1 * x) * (v2 + v1 * x))
- </p>
- <p>
- and
- </p>
- <p>
- f<sub>v1,v2</sub>(x) = y * <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>(v1
- / 2, v2 / 2, v1 * x / (v2 + v1 * x))
- </p>
- <p>
- with y = (z * v1 - x * v1 * v1) / z<sup>2</sup>
- </p>
- <p>
- and z = v2 + v1 * x
- </p>
- <p>
- The first of these is used for v1 * x &gt; v2, otherwise the
- second is used.
- </p>
- <p>
- The aim is to keep the <span class="emphasis"><em>x</em></span> argument to
- <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>
- away from 1 to avoid rounding error.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relations:
- </p>
- <p>
- p = <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(v1
- / 2, v2 / 2, v1 * x / (v2 + v1 * x))
- </p>
- <p>
- and
- </p>
- <p>
- p = <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(v2
- / 2, v1 / 2, v2 / (v2 + v1 * x))
- </p>
- <p>
- The first is used for v1 * x &gt; v2, otherwise the second
- is used.
- </p>
- <p>
- The aim is to keep the <span class="emphasis"><em>x</em></span> argument to
- <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- well away from 1 to avoid rounding error.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relations:
- </p>
- <p>
- p = <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(v1
- / 2, v2 / 2, v1 * x / (v2 + v1 * x))
- </p>
- <p>
- and
- </p>
- <p>
- p = <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(v2
- / 2, v1 / 2, v2 / (v2 + v1 * x))
- </p>
- <p>
- The first is used for v1 * x &lt; v2, otherwise the second
- is used.
- </p>
- <p>
- The aim is to keep the <span class="emphasis"><em>x</em></span> argument to
- <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- well away from 1 to avoid rounding error.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- x = v2 * a / (v1 * b)
- </p>
- <p>
- where:
- </p>
- <p>
- a = <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>(v1
- / 2, v2 / 2, p)
- </p>
- <p>
- and
- </p>
- <p>
- b = 1 - a
- </p>
- <p>
- Quantities <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
- are both computed by <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
- without the subtraction implied above.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- <p>
- from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- x = v2 * a / (v1 * b)
- </p>
- <p>
- where
- </p>
- <p>
- a = <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>(v1
- / 2, v2 / 2, p)
- </p>
- <p>
- and
- </p>
- <p>
- b = 1 - a
- </p>
- <p>
- Quantities <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
- are both computed by <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
- without the subtraction implied above.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- v2 / (v2 - 2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- 2 * v2<sup>2 </sup> * (v1 + v2 - 2) / (v1 * (v2 - 2) * (v2 - 2) * (v2 -
- 4))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- v2 * (v1 - 2) / (v1 * (v2 + 2))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 2 * (v2 + 2 * v1 - 2) * sqrt((2 * v2 - 8) / (v1 * (v2 + v1
- - 2))) / (v2 - 6)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis and kurtosis excess
- </p>
- </td>
-<td>
- <p>
- Refer to, <a href="http://mathworld.wolfram.com/F-Distribution.html" target="_top">Weisstein,
- Eric W. "F-Distribution." From MathWorld--A Wolfram
- Web Resource.</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="extreme_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/gamma_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/gamma_dist.html
deleted file mode 100644
index d4bfb8b27a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/gamma_dist.html
+++ /dev/null
@@ -1,375 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Gamma (and Erlang) Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="f_dist.html" title="F Distribution">
-<link rel="next" href="geometric_dist.html" title="Geometric Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="f_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="geometric_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_gamma_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.gamma_dist"></a><a class="link" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
- (and Erlang) Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">gamma_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
-
- <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The gamma distribution is a continuous probability distribution. When
- the shape parameter is an integer then it is known as the Erlang Distribution.
- It is also closely related to the Poisson and Chi Squared Distributions.
- </p>
-<p>
- When the shape parameter has an integer value, the distribution is the
- <a href="http://en.wikipedia.org/wiki/Erlang_distribution" target="_top">Erlang
- distribution</a>. Since this can be produced by ensuring that the
- shape parameter has an integer value &gt; 0, the Erlang distribution
- is not separately implemented.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- To avoid potential confusion with the gamma functions, this distribution
- does not provide the typedef:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span></pre>
-<p>
- </p>
-<p>
- Instead if you want a double precision gamma distribution you can write
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gamma_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">my_gamma</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span></pre>
-<p>
- </p>
-</td></tr>
-</table></div>
-<p>
- For shape parameter <span class="emphasis"><em>k</em></span> and scale parameter &#952; &#160; it is
- defined by the probability density function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/gamma_dist_ref1.png"></span>
- </p>
-<p>
- Sometimes an alternative formulation is used: given parameters &#945; &#160;= k and
- &#946; &#160;= 1 / &#952;, then the distribution can be defined by the PDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/gamma_dist_ref2.png"></span>
- </p>
-<p>
- In this form the inverse scale parameter is called a <span class="emphasis"><em>rate parameter</em></span>.
- </p>
-<p>
- Both forms are in common usage: this library uses the first definition
- throughout. Therefore to construct a Gamma Distribution from a <span class="emphasis"><em>rate
- parameter</em></span>, you should pass the reciprocal of the rate as the
- scale parameter.
- </p>
-<p>
- The following two graphs illustrate how the PDF of the gamma distribution
- varies as the parameters vary:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/gamma1_pdf.png" align="middle"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/gamma2_pdf.png" align="middle"></span>
- </p>
-<p>
- The <span class="bold"><strong>Erlang Distribution</strong></span> is the same
- as the Gamma, but with the shape parameter an integer. It is often expressed
- using a <span class="emphasis"><em>rate</em></span> rather than a <span class="emphasis"><em>scale</em></span>
- as the second parameter (remember that the rate is the reciprocal of
- the scale).
- </p>
-<p>
- Internally the functions used to implement the Gamma Distribution are
- already optimised for small-integer arguments, so in general there should
- be no great loss of performance from using a Gamma Distribution rather
- than a dedicated Erlang Distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.gamma_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.gamma_dist.member_functions"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist.dist_ref.dists.gamma_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a gamma distribution with shape <span class="emphasis"><em>shape</em></span>
- and scale <span class="emphasis"><em>scale</em></span>.
- </p>
-<p>
- Requires that the shape and scale parameters are greater than zero, otherwise
- calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>shape</em></span> parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.gamma_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.gamma_dist.non_member_accessors"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist.dist_ref.dists.gamma_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0,+&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.gamma_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.gamma_dist.accuracy"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist.dist_ref.dists.gamma_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The lognormal distribution is implemented in terms of the incomplete
- gamma functions <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- and their inverses <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
- and <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>:
- refer to the accuracy data for those functions for more information.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.gamma_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.gamma_dist.implementation"></a></span><a class="link" href="gamma_dist.html#math_toolkit.dist.dist_ref.dists.gamma_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>k</em></span> is the shape parameter
- of the distribution, &#952; &#160; is its scale parameter, <span class="emphasis"><em>x</em></span> is
- the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
- = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = <a class="link" href="../../../special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(k,
- x / &#952;) / &#952;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(k,
- x / &#952;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(k,
- x / &#952;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#952; &#160;* <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(k,
- p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#952; &#160;* <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(k,
- p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- k&#952;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- k&#952;<sup>2</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- (k-1)&#952; &#160; for <span class="emphasis"><em>k&gt;1</em></span> otherwise a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 2 / sqrt(k)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 3 + 6 / k
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 6 / k
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="f_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="geometric_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/geometric_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/geometric_dist.html
deleted file mode 100644
index fe09827a1f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/geometric_dist.html
+++ /dev/null
@@ -1,863 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Geometric Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">
-<link rel="next" href="hypergeometric_dist.html" title="Hypergeometric Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="gamma_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypergeometric_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_geometric_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist"></a><a class="link" href="geometric_dist.html" title="Geometric Distribution">Geometric
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">geometric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">geometric_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">geometric_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">geometric</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">geometric_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Constructor from success_fraction:</span>
- <span class="identifier">geometric_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-
- <span class="comment">// Parameter accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Bounds on success fraction:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
-
- <span class="comment">// Estimate min/max number of trials:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The class type <code class="computeroutput"><span class="identifier">geometric_distribution</span></code>
- represents a <a href="http://en.wikipedia.org/wiki/geometric_distribution" target="_top">geometric
- distribution</a>: it is used when there are exactly two mutually
- exclusive outcomes of a <a href="http://en.wikipedia.org/wiki/Bernoulli_trial" target="_top">Bernoulli
- trial</a>: these outcomes are labelled "success" and "failure".
- </p>
-<p>
- For <a href="http://en.wikipedia.org/wiki/Bernoulli_trial" target="_top">Bernoulli
- trials</a> each with success fraction <span class="emphasis"><em>p</em></span>, the
- geometric distribution gives the probability of observing <span class="emphasis"><em>k</em></span>
- trials (failures, events, occurrences, or arrivals) before the first
- success.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- For this implementation, the set of trials <span class="bold"><strong>includes
- zero</strong></span> (unlike another definition where the set of trials
- starts at one, sometimes named <span class="emphasis"><em>shifted</em></span>).
- </p></td></tr>
-</table></div>
-<p>
- The geometric distribution assumes that success_fraction <span class="emphasis"><em>p</em></span>
- is fixed for all <span class="emphasis"><em>k</em></span> trials.
- </p>
-<p>
- The probability that there are <span class="emphasis"><em>k</em></span> failures before
- the first success is
- </p>
-<p>
- &#8192;&#8192; Pr(Y=<span class="emphasis"><em>k</em></span>) = (1-<span class="emphasis"><em>p</em></span>)<sup><span class="emphasis"><em>k</em></span></sup><span class="emphasis"><em>p</em></span>
- </p>
-<p>
- For example, when throwing a 6-face dice the success probability <span class="emphasis"><em>p</em></span>
- = 1/6 = 0.1666&#8202;&#775; &#160;. Throwing repeatedly until a <span class="emphasis"><em>three</em></span>
- appears, the probability distribution of the number of times <span class="emphasis"><em>not-a-three</em></span>
- is thrown is geometric.
- </p>
-<p>
- Geometric distribution has the Probability Density Function PDF:
- </p>
-<p>
- &#8192;&#8192; (1-<span class="emphasis"><em>p</em></span>)<sup><span class="emphasis"><em>k</em></span></sup><span class="emphasis"><em>p</em></span>
- </p>
-<p>
- The following graph illustrates how the PDF and CDF vary for three examples
- of the success fraction <span class="emphasis"><em>p</em></span>, (when considering the
- geometric distribution as a continuous function),
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/geometric_pdf_2.png" align="middle"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/geometric_cdf_2.png" align="middle"></span>
- </p>
-<p>
- and as discrete.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/geometric_pdf_discrete.png" align="middle"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/geometric_cdf_discrete.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.related_distributions"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.related_distributions">Related
- Distributions</a>
- </h5>
-<p>
- The geometric distribution is a special case of the <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a> with successes parameter <span class="emphasis"><em>r</em></span>
- = 1, so only one first and only success is required : thus by definition
- &#8192;&#8192; <code class="computeroutput"><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">1</span><span class="special">,</span>
- <span class="identifier">p</span><span class="special">)</span></code>
- </p>
-<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">);</span>
-<span class="identifier">negative_binomial</span> <span class="identifier">nb</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
-<span class="identifier">geometric</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">success_fraction</span><span class="special">);</span>
-<span class="identifier">ASSERT</span><span class="special">(</span><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="number">1</span><span class="special">));</span>
-</pre>
-<p>
- This implementation uses real numbers for the computation throughout
- (because it uses the <span class="bold"><strong>real-valued</strong></span> power
- and exponential functions). So to obtain a conventional strictly-discrete
- geometric distribution you must ensure that an integer value is provided
- for the number of trials (random variable) <span class="emphasis"><em>k</em></span>, and
- take integer values (floor or ceil functions) from functions that return
- a number of successes.
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The geometric distribution is a discrete distribution: internally,
- functions like the <code class="computeroutput"><span class="identifier">cdf</span></code>
- and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated
- "as if" they are continuous functions, but in reality the
- results returned from these functions only have meaning if an integer
- value is provided for the random variate argument.
- </p>
-<p>
- The quantile function will by default return an integer result that
- has been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower
- quantiles (where the probability is less than 0.5) are rounded downward,
- and upper quantiles (where the probability is greater than 0.5) are
- rounded upwards. This behaviour ensures that if an X% quantile is requested,
- then <span class="emphasis"><em>at least</em></span> the requested coverage will be present
- in the central region, and <span class="emphasis"><em>no more than</em></span> the requested
- coverage will be present in the tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are rounded
- differently, or even return a real-valued result using <a class="link" href="../../../policy/pol_overview.html" title="Policy Overview">Policies</a>.
- It is strongly recommended that you read the tutorial <a class="link" href="../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on the geometric distribution. The <a class="link" href="../../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these distributions.
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.member_functions"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.member_functions">Member
- Functions</a>
- </h5>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.constructor"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.constructor">Constructor</a>
- </h6>
-<pre class="programlisting"><span class="identifier">geometric_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- Constructor: <span class="emphasis"><em>p</em></span> or success_fraction is the probability
- of success of a single trial.
- </p>
-<p>
- Requires: <code class="computeroutput"><span class="number">0</span> <span class="special">&lt;=</span>
- <span class="identifier">p</span> <span class="special">&lt;=</span>
- <span class="number">1</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.accessors"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.accessors">Accessors</a>
- </h6>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// successes / trials (0 &lt;= p &lt;= 1)</span>
-</pre>
-<p>
- Returns the success_fraction parameter <span class="emphasis"><em>p</em></span> from which
- this distribution was constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// required successes always one,</span>
-<span class="comment">// included for compatibility with negative binomial distribution</span>
-<span class="comment">// with successes r == 1.</span>
-</pre>
-<p>
- Returns unity.
- </p>
-<p>
- The following functions are equivalent to those provided for the negative
- binomial, with successes = 1, but are provided here for completeness.
- </p>
-<p>
- The best method of calculation for the following functions is disputed:
- see <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a> and <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a> for more discussion.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.lower_bound_on_success_fraction_parameter__emphasis_p__emphasis_"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.lower_bound_on_success_fraction_parameter__emphasis_p__emphasis_">Lower
- Bound on success_fraction Parameter <span class="emphasis"><em>p</em></span></a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">failures</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">)</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
-</pre>
-<p>
- Returns a <span class="bold"><strong>lower bound</strong></span> on the success
- fraction:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">failures</span></dt>
-<dd><p>
- The total number of failures before the 1st success.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The largest acceptable probability that the true value of the success
- fraction is <span class="bold"><strong>less than</strong></span> the value
- returned.
- </p></dd>
-</dl>
-</div>
-<p>
- For example, if you observe <span class="emphasis"><em>k</em></span> failures from <span class="emphasis"><em>n</em></span>
- trials the best estimate for the success fraction is simply 1/<span class="emphasis"><em>n</em></span>,
- but if you want to be 95% sure that the true value is <span class="bold"><strong>greater
- than</strong></span> some value, <span class="emphasis"><em>p<sub>min</sub></em></span>, then:
- </p>
-<pre class="programlisting"><span class="identifier">p</span><sub>min</sub> <span class="special">=</span> <span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span>
- <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
- negative_binomial confidence interval example.</a>
- </p>
-<p>
- This function uses the Clopper-Pearson method of computing the lower
- bound on the success fraction, whilst many texts refer to this method
- as giving an "exact" result in practice it produces an interval
- that guarantees <span class="emphasis"><em>at least</em></span> the coverage required,
- and may produce pessimistic estimates for some combinations of <span class="emphasis"><em>failures</em></span>
- and <span class="emphasis"><em>successes</em></span>. See:
- </p>
-<p>
- <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
- Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
- Discrete Distributions. Computational statistics and data analysis, 2005,
- vol. 48, no3, 605-621</a>.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.upper_bound_on_success_fraction_parameter_p"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.upper_bound_on_success_fraction_parameter_p">Upper
- Bound on success_fraction Parameter p</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
-</pre>
-<p>
- Returns an <span class="bold"><strong>upper bound</strong></span> on the success
- fraction:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">trials</span></dt>
-<dd><p>
- The total number of trials conducted.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The largest acceptable probability that the true value of the success
- fraction is <span class="bold"><strong>greater than</strong></span> the value
- returned.
- </p></dd>
-</dl>
-</div>
-<p>
- For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
- trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
- but if you want to be 95% sure that the true value is <span class="bold"><strong>less
- than</strong></span> some value, <span class="emphasis"><em>p<sub>max</sub></em></span>, then:
- </p>
-<pre class="programlisting"><span class="identifier">p</span><sub>max</sub> <span class="special">=</span> <span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
- negative binomial confidence interval example.</a>
- </p>
-<p>
- This function uses the Clopper-Pearson method of computing the lower
- bound on the success fraction, whilst many texts refer to this method
- as giving an "exact" result in practice it produces an interval
- that guarantees <span class="emphasis"><em>at least</em></span> the coverage required,
- and may produce pessimistic estimates for some combinations of <span class="emphasis"><em>failures</em></span>
- and <span class="emphasis"><em>successes</em></span>. See:
- </p>
-<p>
- <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
- Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
- Discrete Distributions. Computational statistics and data analysis, 2005,
- vol. 48, no3, 605-621</a>.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h6"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_ensure_at_least_a_certain_number_of_failures"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_ensure_at_least_a_certain_number_of_failures">Estimating
- Number of Trials to Ensure at Least a Certain Number of Failures</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
-</pre>
-<p>
- This functions estimates the number of trials required to achieve a certain
- probability that <span class="bold"><strong>more than <span class="emphasis"><em>k</em></span>
- failures will be observed</strong></span>.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">k</span></dt>
-<dd><p>
- The target number of failures to be observed.
- </p></dd>
-<dt><span class="term">p</span></dt>
-<dd><p>
- The probability of <span class="emphasis"><em>success</em></span> for each trial.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable <span class="emphasis"><em>risk</em></span> that only <span class="emphasis"><em>k</em></span>
- failures or fewer will be observed.
- </p></dd>
-</dl>
-</div>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- Returns the smallest number of trials we must conduct to be 95% (1-0.05)
- sure of seeing 10 failures that occur with frequency one half.
- </p>
-<p>
- <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">Worked
- Example.</a>
- </p>
-<p>
- This function uses numeric inversion of the geometric distribution to
- obtain the result: another interpretation of the result is that it finds
- the number of trials (failures) that will lead to an <span class="emphasis"><em>alpha</em></span>
- probability of observing <span class="emphasis"><em>k</em></span> failures or fewer.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h7"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_ensure_a_maximum_number_of_failures_or_less"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.estimating_number_of_trials_to_ensure_a_maximum_number_of_failures_or_less">Estimating
- Number of Trials to Ensure a Maximum Number of Failures or Less</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
-</pre>
-<p>
- This functions estimates the maximum number of trials we can conduct
- and achieve a certain probability that <span class="bold"><strong>k failures
- or fewer will be observed</strong></span>.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">k</span></dt>
-<dd><p>
- The maximum number of failures to be observed.
- </p></dd>
-<dt><span class="term">p</span></dt>
-<dd><p>
- The probability of <span class="emphasis"><em>success</em></span> for each trial.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable <span class="emphasis"><em>risk</em></span> that more than
- <span class="emphasis"><em>k</em></span> failures will be observed.
- </p></dd>
-</dl>
-</div>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">geometric_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1.0</span><span class="special">-</span><span class="number">1.0</span><span class="special">/</span><span class="number">1000000</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- Returns the largest number of trials we can conduct and still be 95%
- sure of seeing no failures that occur with frequency one in one million.
- </p>
-<p>
- This function uses numeric inversion of the geometric distribution to
- obtain the result: another interpretation of the result, is that it finds
- the number of trials that will lead to an <span class="emphasis"><em>alpha</em></span>
- probability of observing more than k failures.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h8"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.non_member_accessors"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- However it's worth taking a moment to define what these actually mean
- in the context of this distribution:
- </p>
-<div class="table">
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.meaning_of_the_non_member_accessors_"></a><p class="title"><b>Table&#160;14.&#160;Meaning of the non-member accessors.</b></p>
-<div class="table-contents"><table class="table" summary="Meaning of the non-member accessors.">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Meaning
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>exactly
- k failures</strong></span> from <span class="emphasis"><em>k</em></span> trials with
- success fraction p. For example:
- </p>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>k failures
- or fewer</strong></span> from <span class="emphasis"><em>k</em></span> trials with
- success fraction p and success on the last trial. For example:
- </p>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.ccdf">Complement of the Cumulative
- Distribution Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>more than
- k failures</strong></span> from <span class="emphasis"><em>k</em></span> trials with
- success fraction p and success on the last trial. For example:
- </p>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">))</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>
- </p>
- </td>
-<td>
- <p>
- The <span class="bold"><strong>greatest</strong></span> number of failures
- <span class="emphasis"><em>k</em></span> expected to be observed from <span class="emphasis"><em>k</em></span>
- trials with success fraction <span class="emphasis"><em>p</em></span>, at probability
- <span class="emphasis"><em>P</em></span>. Note that the value returned is a real-number,
- and not an integer. Depending on the use case you may want
- to take either the floor or ceiling of the real result. For
- example:
-</p>
-<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">)</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.quantile_c">Quantile from the complement
- of the probability</a>
- </p>
- </td>
-<td>
- <p>
- The <span class="bold"><strong>smallest</strong></span> number of failures
- <span class="emphasis"><em>k</em></span> expected to be observed from <span class="emphasis"><em>k</em></span>
- trials with success fraction <span class="emphasis"><em>p</em></span>, at probability
- <span class="emphasis"><em>P</em></span>. Note that the value returned is a real-number,
- and not an integer. Depending on the use case you may want
- to take either the floor or ceiling of the real result. For
- example:
-</p>
-<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">geometric</span><span class="special">(</span><span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">))</span></pre>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h9"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.accuracy"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- This distribution is implemented using the pow and exp functions, so
- most results are accurate within a few epsilon for the RealType. For
- extreme values of <code class="computeroutput"><span class="keyword">double</span></code>
- <span class="emphasis"><em>p</em></span>, for example 0.9999999999, accuracy can fall significantly,
- for example to 10 decimal digits (from 16).
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.geometric_dist.h10"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.geometric_dist.implementation"></a></span><a class="link" href="geometric_dist.html#math_toolkit.dist.dist_ref.dists.geometric_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table, <span class="emphasis"><em>p</em></span> is the probability that
- any one trial will be successful (the success fraction), <span class="emphasis"><em>k</em></span>
- is the number of failures, <span class="emphasis"><em>p</em></span> is the probability
- and <span class="emphasis"><em>q = 1-p</em></span>, <span class="emphasis"><em>x</em></span> is the given
- probability to estimate the expected number of failures using the quantile.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- pdf = p * pow(q, k)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- cdf = 1 - q<sup>k=1</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- exp(log1p(-p) * (k+1))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- k = log1p(-x) / log1p(-p) -1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- k = log(x) / log1p(-p) -1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- (1-p)/p
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- (1-p)/p&#178;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- (2-p)/&#8730;q
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 9+p&#178;/q
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 6 +p&#178;/q
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- parameter estimation member functions
- </p>
- </td>
-<td>
- <p>
- See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
- </p>
- </td>
-<td>
- <p>
- See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
- </p>
- </td>
-<td>
- <p>
- See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
- </p>
- </td>
-<td>
- <p>
- See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_maximum_number_of_trials</span></code>
- </p>
- </td>
-<td>
- <p>
- See <a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="gamma_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypergeometric_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html
deleted file mode 100644
index 5ab8ced41f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/hypergeometric_dist.html
+++ /dev/null
@@ -1,342 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Hypergeometric Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="geometric_dist.html" title="Geometric Distribution">
-<link rel="next" href="inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="geometric_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_hypergeometric_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist"></a><a class="link" href="hypergeometric_dist.html" title="Hypergeometric Distribution">Hypergeometric
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">hypergeometric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">hypergeometric_distribution</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">hypergeometric_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Construct:</span>
- <span class="identifier">hypergeometric_distribution</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">r</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">);</span>
- <span class="comment">// Accessors:</span>
- <span class="keyword">unsigned</span> <span class="identifier">total</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">unsigned</span> <span class="identifier">defective</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">unsigned</span> <span class="identifier">sample_count</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">typedef</span> <span class="identifier">hypergeometric_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">hypergeometric</span><span class="special">;</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The hypergeometric distribution describes the number of "events"
- <span class="emphasis"><em>k</em></span> from a sample <span class="emphasis"><em>n</em></span> drawn from
- a total population <span class="emphasis"><em>N</em></span> <span class="emphasis"><em>without replacement</em></span>.
- </p>
-<p>
- Imagine we have a sample of <span class="emphasis"><em>N</em></span> objects of which
- <span class="emphasis"><em>r</em></span> are "defective" and N-r are "not
- defective" (the terms "success/failure" or "red/blue"
- are also used). If we sample <span class="emphasis"><em>n</em></span> items <span class="emphasis"><em>without
- replacement</em></span> then what is the probability that exactly <span class="emphasis"><em>k</em></span>
- items in the sample are defective? The answer is given by the pdf of
- the hypergeometric distribution <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">k</span><span class="special">;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">N</span><span class="special">)</span></code>, whilst the probability of <span class="emphasis"><em>k</em></span>
- defectives or fewer is given by F(k; r, n, N), where F(k) is the CDF
- of the hypergeometric distribution.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Unlike almost all of the other distributions in this library, the hypergeometric
- distribution is strictly discrete: it can not be extended to real valued
- arguments of its parameters or random variable.
- </p></td></tr>
-</table></div>
-<p>
- The following graph shows how the distribution changes as the proportion
- of "defective" items changes, while keeping the population
- and sample sizes constant:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/hypergeometric_pdf_1.png" align="middle"></span>
- </p>
-<p>
- Note that since the distribution is symmetrical in parameters <span class="emphasis"><em>n</em></span>
- and <span class="emphasis"><em>r</em></span>, if we change the sample size and keep the
- population and proportion "defective" the same then we obtain
- basically the same graphs:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/hypergeometric_pdf_2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.member_functions"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist.dist_ref.dists.hypergeometric_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">hypergeometric_distribution</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">r</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a hypergeometric distribution with with a population of <span class="emphasis"><em>N</em></span>
- objects, of which <span class="emphasis"><em>r</em></span> are defective, and from which
- <span class="emphasis"><em>n</em></span> are sampled.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="identifier">total</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the total number of objects <span class="emphasis"><em>N</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="identifier">defective</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the number of objects <span class="emphasis"><em>r</em></span> in population <span class="emphasis"><em>N</em></span>
- which are defective.
- </p>
-<pre class="programlisting"><span class="keyword">unsigned</span> <span class="identifier">sample_count</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the number of objects <span class="emphasis"><em>n</em></span> which are sampled
- from the population <span class="emphasis"><em>N</em></span>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.non_member_accessors"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist.dist_ref.dists.hypergeometric_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is the unsigned integers in the range
- [max(0, n + r - N), min(n, r)]. A <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- is raised if the random variable is outside this range, or is not an
- integral value.
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The quantile function will by default return an integer result that
- has been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower
- quantiles (where the probability is less than 0.5) are rounded downward,
- and upper quantiles (where the probability is greater than 0.5) are
- rounded upwards. This behaviour ensures that if an X% quantile is requested,
- then <span class="emphasis"><em>at least</em></span> the requested coverage will be present
- in the central region, and <span class="emphasis"><em>no more than</em></span> the requested
- coverage will be present in the tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are rounded
- differently using <a class="link" href="../../../policy/pol_overview.html" title="Policy Overview">Policies</a>.
- It is strongly recommended that you read the tutorial <a class="link" href="../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on the Hypergeometric distribution. The <a class="link" href="../../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these distributions.
- </p>
-<p>
- However, note that the implementation method of the quantile function
- always returns an integral value, therefore attempting to use a <a class="link" href="../../../policy.html" title="Policies">Policy</a> that requires (or produces)
- a real valued result will result in a compile time error.
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.accuracy"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist.dist_ref.dists.hypergeometric_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- For small N such that <code class="computeroutput"><span class="identifier">N</span> <span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
- then table based lookup of the results gives an accuracy to a few epsilon.
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">value</span></code> is 170 at double or long double
- precision.
- </p>
-<p>
- For larger N such that <code class="computeroutput"><span class="identifier">N</span> <span class="special">&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">prime</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_prime</span><span class="special">)</span></code> then only basic arithmetic is required
- for the calculation and the accuracy is typically &lt; 20 epsilon. This
- takes care of N up to 104729.
- </p>
-<p>
- For <code class="computeroutput"><span class="identifier">N</span> <span class="special">&gt;</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">prime</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">max_prime</span><span class="special">)</span></code>
- then accuracy quickly degrades, with 5 or 6 decimal digits being lost
- for N = 110000.
- </p>
-<p>
- In general for very large N, the user should expect to loose log<sub>10</sub>N decimal
- digits of precision during the calculation, with the results becoming
- meaningless for N &gt;= 10<sup>15</sup>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.testing"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist.dist_ref.dists.hypergeometric_dist.testing">Testing</a>
- </h5>
-<p>
- There are three sets of tests: our implementation is tested against a
- table of values produced by Mathematica's implementation of this distribution.
- We also sanity check our implementation against some spot values computed
- using the online calculator here <a href="http://stattrek.com/Tables/Hypergeometric.aspx" target="_top">http://stattrek.com/Tables/Hypergeometric.aspx</a>.
- Finally we test accuracy against some high precision test data using
- this implementation and NTL::RR.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.hypergeometric_dist.implementation"></a></span><a class="link" href="hypergeometric_dist.html#math_toolkit.dist.dist_ref.dists.hypergeometric_dist.implementation">Implementation</a>
- </h5>
-<p>
- The PDF can be calculated directly using the formula:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/hypergeometric1.png"></span>
- </p>
-<p>
- However, this can only be used directly when the largest of the factorials
- is guaranteed not to overflow the floating point representation used.
- This formula is used directly when <code class="computeroutput"><span class="identifier">N</span>
- <span class="special">&lt;</span> <span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
- in which case table lookup of the factorials gives a rapid and accurate
- implementation method.
- </p>
-<p>
- For larger <span class="emphasis"><em>N</em></span> the method described in "An Accurate
- Computation of the Hypergeometric Distribution Function", Trong
- Wu, ACM Transactions on Mathematical Software, Vol. 19, No. 1, March
- 1993, Pages 33-43 is used. The method relies on the fact that there is
- an easy method for factorising a factorial into the product of prime
- numbers:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/hypergeometric2.png"></span>
- </p>
-<p>
- Where p<sub>i</sub> is the i'th prime number, and e<sub>i</sub> is a small positive integer or
- zero, which can be calculated via:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/hypergeometric3.png"></span>
- </p>
-<p>
- Further we can combine the factorials in the expression for the PDF to
- yield the PDF directly as the product of prime numbers:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/hypergeometric4.png"></span>
- </p>
-<p>
- With this time the exponents e<sub>i</sub> being either positive, negative or zero.
- Indeed such a degree of cancellation occurs in the calculation of the
- e<sub>i</sub> that many are zero, and typically most have a magnitude or no more
- than 1 or 2.
- </p>
-<p>
- Calculation of the product of the primes requires some care to prevent
- numerical overflow, we use a novel recursive method which splits the
- calculation into a series of sub-products, with a new sub-product started
- each time the next multiplication would cause either overflow or underflow.
- The sub-products are stored in a linked list on the program stack, and
- combined in an order that will guarantee no overflow or unnecessary-underflow
- once the last sub-product has been calculated.
- </p>
-<p>
- This method can be used as long as N is smaller than the largest prime
- number we have stored in our table of primes (currently 104729). The
- method is relatively slow (calculating the exponents requires the most
- time), but requires only a small number of arithmetic operations to calculate
- the result (indeed there is no shorter method involving only basic arithmetic
- once the exponents have been found), the method is therefore much more
- accurate than the alternatives.
- </p>
-<p>
- For much larger N, we can calculate the PDF from the factorials using
- either lgamma, or by directly combining lanczos approximations to avoid
- calculating via logarithms. We use the latter method, as it is usually
- 1 or 2 decimal digits more accurate than computing via logarithms with
- lgamma. However, in this area where N &gt; 104729, the user should expect
- to loose around log<sub>10</sub>N decimal digits during the calculation in the worst
- case.
- </p>
-<p>
- The CDF and its complement is calculated by directly summing the PDF's.
- We start by deciding whether the CDF, or its complement, is likely to
- be the smaller of the two and then calculate the PDF at <span class="emphasis"><em>k</em></span>
- (or <span class="emphasis"><em>k+1</em></span> if we're calculating the complement) and
- calculate successive PDF values via the recurrence relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/hypergeometric5.png"></span>
- </p>
-<p>
- Until we either reach the end of the distributions domain, or the next
- PDF value to be summed would be too small to affect the result.
- </p>
-<p>
- The quantile is calculated in a similar manner to the CDF: we first guess
- which end of the distribution we're nearer to, and then sum PDFs starting
- from the end of the distribution this time, until we have some value
- <span class="emphasis"><em>k</em></span> that gives the required CDF.
- </p>
-<p>
- The median is simply the quantile at 0.5, and the remaining properties
- are calculated via:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/hypergeometric6.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="geometric_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html
deleted file mode 100644
index 2436766a37..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_chi_squared_dist.html
+++ /dev/null
@@ -1,481 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Inverse Chi Squared Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="hypergeometric_dist.html" title="Hypergeometric Distribution">
-<link rel="next" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hypergeometric_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gamma_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_inverse_chi_squared_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist"></a><a class="link" href="inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">Inverse
- Chi Squared Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">inverse_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">inverse_chi_squared_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Not explicitly scaled, default 1/df.</span>
- <span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">/</span><span class="identifier">df</span><span class="special">);</span> <span class="comment">// Scaled.</span>
-
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Default 1.</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Optional scale [xi] (variance), default 1/degrees_of_freedom.</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespace boost // namespace math</span>
-</pre>
-<p>
- The inverse chi squared distribution is a continuous probability distribution
- of the <span class="bold"><strong>reciprocal</strong></span> of a variable distributed
- according to the chi squared distribution.
- </p>
-<p>
- The sources below give confusingly different formulae using different
- symbols for the distribution pdf, but they are all the same, or related
- by a change of variable, or choice of scale.
- </p>
-<p>
- Two constructors are available to implement both the scaled and (implicitly)
- unscaled versions.
- </p>
-<p>
- The main version has an explicit scale parameter which implements the
- <a href="http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution" target="_top">scaled
- inverse chi_squared distribution</a>.
- </p>
-<p>
- A second version has an implicit scale = 1/degrees of freedom and gives
- the 1st definition in the <a href="http://en.wikipedia.org/wiki/Inverse-chi-square_distribution" target="_top">Wikipedia
- inverse chi_squared distribution</a>. The 2nd Wikipedia inverse chi_squared
- distribution definition can be implemented by explicitly specifying a
- scale = 1.
- </p>
-<p>
- Both definitions are also available in Wolfram Mathematica and in <a href="http://www.r-project.org/" target="_top">The R Project for Statistical Computing</a>
- (geoR) with default scale = 1/degrees of freedom.
- </p>
-<p>
- See
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Inverse chi_squared distribution <a href="http://en.wikipedia.org/wiki/Inverse-chi-square_distribution" target="_top">http://en.wikipedia.org/wiki/Inverse-chi-square_distribution</a>
- </li>
-<li class="listitem">
- Scaled inverse chi_squared distribution<a href="http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution" target="_top">http://en.wikipedia.org/wiki/Scaled-inverse-chi-square_distribution</a>
- </li>
-<li class="listitem">
- R inverse chi_squared distribution functions <a href="http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/geoR/html/InvChisquare.html" target="_top">R
- </a>
- </li>
-<li class="listitem">
- Inverse chi_squared distribution functions <a href="http://mathworld.wolfram.com/InverseChi-SquaredDistribution.html" target="_top">Weisstein,
- Eric W. "Inverse Chi-Squared Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </li>
-<li class="listitem">
- Inverse chi_squared distribution reference <a href="http://reference.wolfram.com/mathematica/ref/InverseChiSquareDistribution.html" target="_top">Weisstein,
- Eric W. "Inverse Chi-Squared Distribution reference." From
- Wolfram Mathematica.</a>
- </li>
-</ul></div>
-<p>
- The inverse_chi_squared distribution is used in <a href="http://en.wikipedia.org/wiki/Bayesian_statistics" target="_top">Bayesian
- statistics</a>: the scaled inverse chi-square is conjugate prior
- for the normal distribution with known mean, model parameter &#963;&#178; (variance).
- </p>
-<p>
- See <a href="http://en.wikipedia.org/wiki/Conjugate_prior" target="_top">conjugate
- priors including a table of distributions and their priors.</a>
- </p>
-<p>
- See also <a class="link" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
- Gamma Distribution</a> and <a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi
- Squared Distribution</a>.
- </p>
-<p>
- The inverse_chi_squared distribution is a special case of a inverse_gamma
- distribution with &#957; (degrees_of_freedom) shape (&#945;) and scale (&#946;) where
- </p>
-<p>
- &#8192;&#8192; &#945;= &#957; /2 and &#946; = &#189;.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- This distribution <span class="bold"><strong>does</strong></span> provide the
- typedef:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">inverse_chi_squared_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">inverse_chi_squared</span><span class="special">;</span></pre>
-<p>
- </p>
-<p>
- If you want a <code class="computeroutput"><span class="keyword">double</span></code> precision
- inverse_chi_squared distribution you can use
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_chi_squared_distribution</span><span class="special">&lt;&gt;</span></pre>
-<p>
- </p>
-<p>
- or you can write <code class="computeroutput"><span class="identifier">inverse_chi_squared</span>
- <span class="identifier">my_invchisqr</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span></code>
- </p>
-</td></tr>
-</table></div>
-<p>
- For degrees of freedom parameter &#957;, the (<span class="bold"><strong>unscaled</strong></span>)
- inverse chi_squared distribution is defined by the probability density
- function (PDF):
- </p>
-<p>
- &#8192;&#8192; f(x;&#957;) = 2<sup>-&#957;/2</sup> x<sup>-&#957;/2-1</sup> e<sup>-1/2x</sup> / &#915;(&#957;/2)
- </p>
-<p>
- and Cumulative Density Function (CDF)
- </p>
-<p>
- &#8192;&#8192; F(x;&#957;) = &#915;(&#957;/2, 1/2x) / &#915;(&#957;/2)
- </p>
-<p>
- For degrees of freedom parameter &#957; and scale parameter &#958;, the <span class="bold"><strong>scaled</strong></span> inverse chi_squared distribution is defined
- by the probability density function (PDF):
- </p>
-<p>
- &#8192;&#8192; f(x;&#957;, &#958;) = (&#958;&#957;/2)<sup>&#957;/2</sup> e<sup>-&#957;&#958;/2x</sup> x<sup>-1-&#957;/2</sup> / &#915;(&#957;/2)
- </p>
-<p>
- and Cumulative Density Function (CDF)
- </p>
-<p>
- &#8192;&#8192; F(x;&#957;, &#958;) = &#915;(&#957;/2, &#957;&#958;/2x) / &#915;(&#957;/2)
- </p>
-<p>
- The following graphs illustrate how the PDF and CDF of the inverse chi_squared
- distribution varies for a few values of parameters &#957; and &#958;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/inverse_chi_squared_pdf.png" align="middle"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/inverse_chi_squared_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.member_functions"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Implicitly scaled 1/df.</span>
-<span class="identifier">inverse_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">);</span> <span class="comment">// Explicitly scaled.</span>
-</pre>
-<p>
- Constructs an inverse chi_squared distribution with &#957; degrees of freedom
- <span class="emphasis"><em>df</em></span>, and scale <span class="emphasis"><em>scale</em></span> with default
- value 1/df.
- </p>
-<p>
- Requires that the degrees of freedom &#957; parameter is greater than zero,
- otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the degrees_of_freedom &#957; parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the scale &#958; parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.non_member_accessors"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variate is [0,+&#8734;].
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Unlike some definitions, this implementation supports a random variate
- equal to zero as a special case, returning zero for both pdf and cdf.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.accuracy"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The inverse gamma distribution is implemented in terms of the incomplete
- gamma functions like the <a class="link" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
- Gamma Distribution</a> that use <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- and their inverses <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
- and <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>:
- refer to the accuracy data for those functions for more information.
- But in general, gamma (and thus inverse gamma) results are often accurate
- to a few epsilon, &gt;14 decimal digits accuracy for 64-bit double. unless
- iteration is involved, as for the estimation of degrees of freedom.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.implementation"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#957; is the degrees of freedom parameter and &#958; is the
- scale parameter of the distribution, <span class="emphasis"><em>x</em></span> is the random
- variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q =
- 1-p</em></span> its complement. Parameters &#945; for shape and &#946; for scale are
- used for the inverse gamma function: &#945; = &#957;/2 and &#946; = &#957; * &#958;/2.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = <a class="link" href="../../../special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(&#945;,
- &#946;/ x, &#946;) / x * x
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(&#945;,
- &#946; / x)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(&#945;,
- &#946; / x)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#946; &#160;/ <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(&#945;,
- p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#945; &#160;/ <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(&#945;,
- q)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- &#957; * &#958; / (&#957; + 2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- median
- </p>
- </td>
-<td>
- <p>
- no closed form analytic equation is known, but is evaluated
- as quantile(0.5)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#957;&#958; / (&#957; - 2) for &#957; &gt; 2, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- 2 &#957;&#178; &#958;&#178; / ((&#957; -2)&#178; (&#957; -4)) for &#957; &gt;4, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 4 &#8730;2 &#8730;(&#957;-4) /(&#957;-6) for &#957; &gt;6, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis_excess
- </p>
- </td>
-<td>
- <p>
- 12 * (5&#957; - 22) / ((&#957; - 6) * (&#957; - 8)) for &#957; &gt;8, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 3 + 12 * (5&#957; - 22) / ((&#957; - 6) * (&#957;-8)) for &#957; &gt;8, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.references"></a></span><a class="link" href="inverse_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist.references">References</a>
- </h5>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Bayesian Data Analysis, Andrew Gelman, John B. Carlin, Hal S. Stern,
- Donald B. Rubin, ISBN-13: 978-1584883883, Chapman &amp; Hall; 2 edition
- (29 July 2003).
- </li>
-<li class="listitem">
- Bayesian Computation with R, Jim Albert, ISBN-13: 978-0387922973,
- Springer; 2nd ed. edition (10 Jun 2009)
- </li>
-</ol></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hypergeometric_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gamma_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html
deleted file mode 100644
index 0a9f625a97..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gamma_dist.html
+++ /dev/null
@@ -1,378 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Inverse Gamma Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">
-<link rel="next" href="inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gaussian_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_inverse_gamma_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist"></a><a class="link" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">Inverse
- Gamma Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">inverse_gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">inverse_gamma_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">inverse_gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
-
- <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The inverse_gamma distribution is a continuous probability distribution
- of the reciprocal of a variable distributed according to the gamma distribution.
- </p>
-<p>
- The inverse_gamma distribution is used in Bayesian statistics.
- </p>
-<p>
- See <a href="http://en.wikipedia.org/wiki/Inverse-gamma_distribution" target="_top">inverse
- gamma distribution</a>.
- </p>
-<p>
- <a href="http://rss.acs.unt.edu/Rdoc/library/pscl/html/igamma.html" target="_top">R
- inverse gamma distribution functions</a>.
- </p>
-<p>
- <a href="http://reference.wolfram.com/mathematica/ref/InverseGammaDistribution.html" target="_top">Wolfram
- inverse gamma distribution</a>.
- </p>
-<p>
- See also <a class="link" href="gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
- Distribution</a>.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- In spite of potential confusion with the inverse gamma function, this
- distribution <span class="bold"><strong>does</strong></span> provide the typedef:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">inverse_gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span></pre>
-<p>
- </p>
-<p>
- If you want a <code class="computeroutput"><span class="keyword">double</span></code> precision
- gamma distribution you can use
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_gamma_distribution</span><span class="special">&lt;&gt;</span></pre>
-<p>
- </p>
-<p>
- or you can write <code class="computeroutput"><span class="identifier">inverse_gamma</span>
- <span class="identifier">my_ig</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span></code>
- </p>
-</td></tr>
-</table></div>
-<p>
- For shape parameter &#945; and scale parameter &#946;, it is defined by the probability
- density function (PDF):
- </p>
-<p>
- &#8192;&#8192; f(x;&#945;, &#946;) = &#946;<sup>&#945;</sup> * (1/x) <sup>&#945;+1</sup> exp(-&#946;/x) / &#915;(&#945;)
- </p>
-<p>
- and cumulative density function (CDF)
- </p>
-<p>
- &#8192;&#8192; F(x;&#945;, &#946;) = &#915;(&#945;, &#946;/x) / &#915;(&#945;)
- </p>
-<p>
- The following graphs illustrate how the PDF and CDF of the inverse gamma
- distribution varies as the parameters vary:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/inverse_gamma_pdf.png" align="middle"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/inverse_gamma_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.member_functions"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">inverse_gamma_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs an inverse gamma distribution with shape &#945; and scale &#946;.
- </p>
-<p>
- Requires that the shape and scale parameters are greater than zero, otherwise
- calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the &#945; shape parameter of this inverse gamma distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the &#946; scale parameter of this inverse gamma distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.non_member_accessors"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variate is [0,+&#8734;].
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Unlike some definitions, this implementation supports a random variate
- equal to zero as a special case, returning zero for pdf and cdf.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.accuracy"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The inverse gamma distribution is implemented in terms of the incomplete
- gamma functions <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- and their inverses <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
- and <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>:
- refer to the accuracy data for those functions for more information.
- But in general, inverse_gamma results are accurate to a few epsilon,
- &gt;14 decimal digits accuracy for 64-bit double.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.implementation"></a></span><a class="link" href="inverse_gamma_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gamma_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#945; is the shape parameter of the distribution, &#945; &#160; is
- its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
- is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = <a class="link" href="../../../special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>(&#945;,
- &#946;/ x, &#946;) / x * x
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(&#945;,
- &#946; / x)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(&#945;,
- &#946; / x)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#946; &#160;/ <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>(&#945;,
- p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#945; &#160;/ <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>(&#945;,
- q)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- &#946; / (&#945; + 1)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- median
- </p>
- </td>
-<td>
- <p>
- no analytic equation is known, but is evaluated as quantile(0.5)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#946; / (&#945; - 1) for &#945; &gt; 1, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- (&#946; * &#946;) / ((&#945; - 1) * (&#945; - 1) * (&#945; - 2)) for &#945; &gt;2, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 4 * sqrt (&#945; -2) / (&#945; -3) for &#945; &gt;3, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis_excess
- </p>
- </td>
-<td>
- <p>
- (30 * &#945; - 66) / ((&#945;-3)*(&#945; - 4)) for &#945; &gt;4, else a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inverse_gaussian_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html
deleted file mode 100644
index 16dc6afcad..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/inverse_gaussian_dist.html
+++ /dev/null
@@ -1,451 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Inverse Gaussian (or Inverse Normal) Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="inverse_gamma_dist.html" title="Inverse Gamma Distribution">
-<link rel="next" href="laplace_dist.html" title="Laplace Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_gamma_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laplace_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_inverse_gaussian_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist"></a><a class="link" href="inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution">Inverse
- Gaussian (or Inverse Normal) Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">inverse_gaussian</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">inverse_gaussian_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">inverse_gaussian_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-
- <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// mean default 1.</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Optional scale, default 1 (unscaled).</span>
- <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Shape = scale/mean.</span>
-<span class="special">};</span>
-<span class="keyword">typedef</span> <span class="identifier">inverse_gaussian_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">inverse_gaussian</span><span class="special">;</span>
-
-<span class="special">}}</span> <span class="comment">// namespace boost // namespace math</span>
-</pre>
-<p>
- The Inverse Gaussian distribution distribution is a continuous probability
- distribution.
- </p>
-<p>
- The distribution is also called 'normal-inverse Gaussian distribution',
- and 'normal Inverse' distribution.
- </p>
-<p>
- It is also convenient to provide unity as default for both mean and scale.
- This is the Standard form for all distributions. The Inverse Gaussian
- distribution was first studied in relation to Brownian motion. In 1956
- M.C.K. Tweedie used the name Inverse Gaussian because there is an inverse
- relationship between the time to cover a unit distance and distance covered
- in unit time. The inverse Gaussian is one of family of distributions
- that have been called the <a href="http://en.wikipedia.org/wiki/Tweedie_distributions" target="_top">Tweedie
- distributions</a>.
- </p>
-<p>
- (So <span class="emphasis"><em>inverse</em></span> in the name may mislead: it does <span class="bold"><strong>not</strong></span> relate to the inverse of a distribution).
- </p>
-<p>
- The tails of the distribution decrease more slowly than the normal distribution.
- It is therefore suitable to model phenomena where numerically large values
- are more probable than is the case for the normal distribution. For stock
- market returns and prices, a key characteristic is that it models that
- extremely large variations from typical (crashes) can occur even when
- almost all (normal) variations are small.
- </p>
-<p>
- Examples are returns from financial assets and turbulent wind speeds.
- </p>
-<p>
- The normal-inverse Gaussian distributions form a subclass of the generalised
- hyperbolic distributions.
- </p>
-<p>
- See <a href="http://en.wikipedia.org/wiki/Normal-inverse_Gaussian_distribution" target="_top">distribution</a>.
- <a href="http://mathworld.wolfram.com/InverseGaussianDistribution.html" target="_top">Weisstein,
- Eric W. "Inverse Gaussian Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
-<p>
- If you want a <code class="computeroutput"><span class="keyword">double</span></code> precision
- inverse_gaussian distribution you can use
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_gaussian_distribution</span><span class="special">&lt;&gt;</span></pre>
-<p>
- </p>
-<p>
- or, more conveniently, you can write
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">inverse_gaussian</span><span class="special">;</span>
-<span class="identifier">inverse_gaussian</span> <span class="identifier">my_ig</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span>
-</pre>
-<p>
- For mean parameters &#956; and scale (also called precision) parameter &#955;, and
- random variate x, the inverse_gaussian distribution is defined by the
- probability density function (PDF):
- </p>
-<p>
- &#8192;&#8192; f(x;&#956;, &#955;) = &#8730;(&#955;/2&#960;x<sup>3</sup>) e<sup>-&#955;(x-&#956;)&#178;/2&#956;&#178;x</sup>
- </p>
-<p>
- and Cumulative Density Function (CDF):
- </p>
-<p>
- &#8192;&#8192; F(x;&#956;, &#955;) = &#934;{&#8730;(&#955;<span class="emphasis"><em>x) (x</em></span>&#956;-1)} + e<sup>2&#956;/&#955;</sup> &#934;{-&#8730;(&#955;/&#956;) (1+x/&#956;)}
- </p>
-<p>
- where &#934; is the standard normal distribution CDF.
- </p>
-<p>
- The following graphs illustrate how the PDF and CDF of the inverse_gaussian
- distribution varies for a few values of parameters &#956; and &#955;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/inverse_gaussian_pdf.png" align="middle"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/inverse_gaussian_cdf.png" align="middle"></span>
- </p>
-<p>
- Tweedie also provided 3 other parameterisations where (&#956; and &#955;) are replaced
- by their ratio &#966; = &#955;/&#956; and by 1/&#956;: these forms may be more suitable for Bayesian
- applications. These can be found on Seshadri, page 2 and are also discussed
- by Chhikara and Folks on page 105. Another related parameterisation,
- the __wald_distrib (where mean &#956; is unity) is also provided.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.member_functions"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">inverse_gaussian_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">df</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// optionally scaled.</span>
-</pre>
-<p>
- Constructs an inverse_gaussian distribution with &#956; mean, and scale &#955;, with
- both default values 1.
- </p>
-<p>
- Requires that both the mean &#956; parameter and scale &#955; are greater than zero,
- otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the mean &#956; parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the scale &#955; parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.non_member_accessors"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variate is [0,+&#8734;).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Unlike some definitions, this implementation supports a random variate
- equal to zero as a special case, returning zero for both pdf and cdf.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.accuracy"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The inverse_gaussian distribution is implemented in terms of the exponential
- function and standard normal distribution <span class="emphasis"><em>N</em></span>0,1 &#934; :
- refer to the accuracy data for those functions for more information.
- But in general, gamma (and thus inverse gamma) results are often accurate
- to a few epsilon, &gt;14 decimal digits accuracy for 64-bit double.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.implementation"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#956; is the mean parameter and &#955; is the scale parameter
- of the inverse_gaussian distribution, <span class="emphasis"><em>x</em></span> is the random
- variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q =
- 1-p</em></span> its complement. Parameters &#956; for shape and &#955; for scale are
- used for the inverse gaussian function.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- &#8730;(&#955;/ 2&#960;x<sup>3</sup>) e<sup>-&#955;(x - &#956;)&#178;/ 2&#956;&#178;x</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- &#934;{&#8730;(&#955;<span class="emphasis"><em>x) (x</em></span>&#956;-1)} + e<sup>2&#956;/&#955;</sup> &#934;{-&#8730;(&#955;/&#956;) (1+x/&#956;)}
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- using complement of &#934; above.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- No closed form known. Estimated using a guess refined by Newton-Raphson
- iteration.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- No closed form known. Estimated using a guess refined by Newton-Raphson
- iteration.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- &#956; {&#8730;(1+9&#956;&#178;/4&#955;&#178;)&#178; - 3&#956;/2&#955;}
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- median
- </p>
- </td>
-<td>
- <p>
- No closed form analytic equation is known, but is evaluated
- as quantile(0.5)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#956;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- &#956;&#179;/&#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 3 &#8730; (&#956;/&#955;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis_excess
- </p>
- </td>
-<td>
- <p>
- 15&#956;/&#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 12&#956;/&#955;
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.references"></a></span><a class="link" href="inverse_gaussian_dist.html#math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist.references">References</a>
- </h5>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Wald, A. (1947). Sequential analysis. Wiley, NY.
- </li>
-<li class="listitem">
- The Inverse Gaussian distribution : theory, methodology, and applications,
- Raj S. Chhikara, J. Leroy Folks. ISBN 0824779975 (1989).
- </li>
-<li class="listitem">
- The Inverse Gaussian distribution : statistical theory and applications,
- Seshadri, V , ISBN - 0387986189 (pbk) (Dewey 519.2) (1998).
- </li>
-<li class="listitem">
- <a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.wald.html" target="_top">Numpy
- and Scipy Documentation</a>.
- </li>
-<li class="listitem">
- <a href="http://bm2.genes.nig.ac.jp/RGM2/R_current/library/statmod/man/invgauss.html" target="_top">R
- statmod invgauss functions</a>.
- </li>
-<li class="listitem">
- <a href="http://cran.r-project.org/web/packages/SuppDists/index.html" target="_top">R
- SuppDists invGauss functions</a>. (Note that these R implementations
- names differ in case).
- </li>
-<li class="listitem">
- <a href="http://www.statsci.org/s/invgauss.html" target="_top">StatSci.org invgauss
- help</a>.
- </li>
-<li class="listitem">
- <a href="http://www.statsci.org/s/invgauss.statSci.org" target="_top">invgauss
- R source</a>.
- </li>
-<li class="listitem">
- <a href="http://www.biostat.wustl.edu/archives/html/s-news/2001-12/msg00144.html" target="_top">pwald,
- qwald</a>.
- </li>
-<li class="listitem">
- <a href="http://www.brighton-webs.co.uk/distributions/wald.asp" target="_top">Brighton
- Webs wald</a>.
- </li>
-</ol></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_gamma_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laplace_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/laplace_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/laplace_dist.html
deleted file mode 100644
index 66a30cf10f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/laplace_dist.html
+++ /dev/null
@@ -1,364 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Laplace Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="inverse_gaussian_dist.html" title="Inverse Gaussian (or Inverse Normal) Distribution">
-<link rel="next" href="logistic_dist.html" title="Logistic Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_gaussian_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logistic_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_laplace_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.laplace_dist"></a><a class="link" href="laplace_dist.html" title="Laplace Distribution">Laplace
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">laplace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">laplace_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">laplace_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">laplace</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">laplace_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Construct:</span>
- <span class="identifier">laplace_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Laplace distribution is the distribution of differences between two independent
- variates with identical exponential distributions (Abramowitz and Stegun
- 1972, p. 930). It is also called the double exponential distribution.
- </p>
-<p>
- For location parameter &#956; &#160; and scale parameter &#963; &#160; it is defined by the probability
- density function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/laplace_pdf.png"></span>
- </p>
-<p>
- The location and scale parameters are equivalent to the mean and standard
- deviation of the normal or Gaussian distribution.
- </p>
-<p>
- The following graph illustrates the effect of the parameters &#956; &#160; and &#963; &#160; on the
- PDF. Note that the range of the random variable remains [-&#8734;,+&#8734;] irrespective
- of the value of the location parameter:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/laplace_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.laplace_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.laplace_dist.member_functions"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist.dist_ref.dists.laplace_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">laplace_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a laplace distribution with location <span class="emphasis"><em>location</em></span>
- and scale <span class="emphasis"><em>scale</em></span>.
- </p>
-<p>
- The location parameter is the same as the mean of the random variate.
- </p>
-<p>
- The scale parameter is proportional to the standard deviation of the
- random variate.
- </p>
-<p>
- Requires that the scale parameter is greater than zero, otherwise calls
- <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>location</em></span> parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.laplace_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.laplace_dist.non_member_accessors"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist.dist_ref.dists.laplace_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [-&#8734;,+&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.laplace_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.laplace_dist.accuracy"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist.dist_ref.dists.laplace_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The laplace distribution is implemented in terms of the standard library
- log and exp functions and as such should have very small errors.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.laplace_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.laplace_dist.implementation"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist.dist_ref.dists.laplace_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#956; is the location parameter of the distribution,
- &#963; is its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate,
- <span class="emphasis"><em>p</em></span> is the probability and its complement <span class="emphasis"><em>q
- = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = e<sup>-abs(x-&#956;) / &#963;</sup> / (2 * &#963;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relations:
- </p>
- <p>
- x &lt; &#956; : p = e<sup>(x-&#956;)/&#963; </sup> / &#963;
- </p>
- <p>
- x &gt;= &#956; : p = 1 - e<sup>(&#956;-x)/&#963; </sup> / &#963;
-
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- -x &lt; &#956; : q = e<sup>(-x-&#956;)/&#963; </sup> / &#963;
- </p>
- <p>
- -x &gt;= &#956; : q = 1 - e<sup>(&#956;+x)/&#963; </sup> / &#963;
-
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relations:
- </p>
- <p>
- p &lt; 0.5 : x = &#956; + &#963; * log(2*p)
- </p>
- <p>
- p &gt;= 0.5 : x = &#956; - &#963; * log(2-2*p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- q &gt; 0.5: x = &#956; + &#963;*log(2-2*q)
- </p>
- <p>
- q &lt;=0.5: x = &#956; - &#963;*log( 2*q )
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#956;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- 2 * &#963;<sup>2</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- &#956;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 6
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 3
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.laplace_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.laplace_dist.references"></a></span><a class="link" href="laplace_dist.html#math_toolkit.dist.dist_ref.dists.laplace_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/LaplaceDistribution.html" target="_top">Weisstein,
- Eric W. "Laplace Distribution."</a> From MathWorld--A
- Wolfram Web Resource.
- </li>
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Laplace_distribution" target="_top">Laplace
- Distribution</a>
- </li>
-<li class="listitem">
- M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions,
- 1972, p. 930.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_gaussian_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="logistic_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/logistic_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/logistic_dist.html
deleted file mode 100644
index e3c1e1c2e6..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/logistic_dist.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Logistic Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="laplace_dist.html" title="Laplace Distribution">
-<link rel="next" href="lognormal_dist.html" title="Log Normal Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="laplace_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lognormal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_logistic_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.logistic_dist"></a><a class="link" href="logistic_dist.html" title="Logistic Distribution">Logistic
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">logistic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">logistic_distribution</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">logistic_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Construct:</span>
- <span class="identifier">logistic_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// location.</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// scale.</span>
-
-<span class="special">};</span>
-
-<span class="keyword">typedef</span> <span class="identifier">logistic_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">logistic</span><span class="special">;</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The logistic distribution is a continous probability distribution. It
- has two parameters - location and scale. The cumulative distribution
- function of the logistic distribution appears in logistic regression
- and feedforward neural networks. Among other applications, United State
- Chess Federation and FIDE use it to calculate chess ratings.
- </p>
-<p>
- The following graph shows how the distribution changes as the parameters
- change:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/logistic_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.logistic_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.logistic_dist.member_functions"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">logistic_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">u</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">s</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a logistic distribution with location <span class="emphasis"><em>u</em></span>
- and scale <span class="emphasis"><em>s</em></span>.
- </p>
-<p>
- Requires <code class="computeroutput"><span class="identifier">scale</span> <span class="special">&gt;</span>
- <span class="number">0</span></code>, otherwise a <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- is raised.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the location of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the scale of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.logistic_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.logistic_dist.non_member_accessors"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [-[max_value], +[min_value]]. However,
- the pdf and cdf support inputs of +&#8734; and -&#8734;
-as special cases if RealType
- permits.
- </p>
-<p>
- At <code class="computeroutput"><span class="identifier">p</span><span class="special">=</span><span class="number">1</span></code> and <code class="computeroutput"><span class="identifier">p</span><span class="special">=</span><span class="number">0</span></code>, the
- quantile function returns the result of +<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a>
- and -<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a>, while the
- complement quantile function returns the result of -<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a>
- and +<a class="link" href="../../../main_overview/error_handling.html#overflow_error">overflow_error</a> respectively.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.logistic_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.logistic_dist.accuracy"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The logistic distribution is implemented in terms of the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">exp</span></code> and the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">log</span></code>
- functions, so its accuracy is related to the accurate implementations
- of those functions on a given platform. When calculating the quantile
- with a non-zero <span class="emphasis"><em>position</em></span> parameter catastrophic
- cancellation errors can occur: in such cases, only a low <span class="emphasis"><em>absolute
- error</em></span> can be guarenteed.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.logistic_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.logistic_dist.implementation"></a></span><a class="link" href="logistic_dist.html#math_toolkit.dist.dist_ref.dists.logistic_dist.implementation">Implementation</a>
- </h5>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = e<sup>-(x-u)/s</sup> / (s*(1+e<sup>-(x-u)/s</sup>)<sup>2</sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = 1/(1+e<sup>-(x-u)/s</sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = 1/(1+e<sup>(x-u)/s</sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = u - s*log(1/p-1)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = u + s*log(p/1-p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- u
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- The same as the mean.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 6/5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- (&#960;*s)<sup>2</sup> / 3
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="laplace_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lognormal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/lognormal_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/lognormal_dist.html
deleted file mode 100644
index d1f4705754..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/lognormal_dist.html
+++ /dev/null
@@ -1,332 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Log Normal Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="logistic_dist.html" title="Logistic Distribution">
-<link rel="next" href="negative_binomial_dist.html" title="Negative Binomial Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="logistic_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_lognormal_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.lognormal_dist"></a><a class="link" href="lognormal_dist.html" title="Log Normal Distribution">Log
- Normal Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">lognormal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">lognormal_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">lognormal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">lognormal</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">lognormal_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Construct:</span>
- <span class="identifier">lognormal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The lognormal distribution is the distribution that arises when the logarithm
- of the random variable is normally distributed. A lognormal distribution
- results when the variable is the product of a large number of independent,
- identically-distributed variables.
- </p>
-<p>
- For location and scale parameters <span class="emphasis"><em>m</em></span> and <span class="emphasis"><em>s</em></span>
- it is defined by the probability density function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/lognormal_ref.png"></span>
- </p>
-<p>
- The location and scale parameters are equivalent to the mean and standard
- deviation of the logarithm of the random variable.
- </p>
-<p>
- The following graph illustrates the effect of the location parameter
- on the PDF, note that the range of the random variable remains [0,+&#8734;]
- irrespective of the value of the location parameter:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/lognormal_pdf1.png" align="middle"></span>
- </p>
-<p>
- The next graph illustrates the effect of the scale parameter on the PDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/lognormal_pdf2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.member_functions"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist.dist_ref.dists.lognormal_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">lognormal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a lognormal distribution with location <span class="emphasis"><em>location</em></span>
- and scale <span class="emphasis"><em>scale</em></span>.
- </p>
-<p>
- The location parameter is the same as the mean of the logarithm of the
- random variate.
- </p>
-<p>
- The scale parameter is the same as the standard deviation of the logarithm
- of the random variate.
- </p>
-<p>
- Requires that the scale parameter is greater than zero, otherwise calls
- <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>location</em></span> parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.non_member_accessors"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist.dist_ref.dists.lognormal_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0,+&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.accuracy"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist.dist_ref.dists.lognormal_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The lognormal distribution is implemented in terms of the standard library
- log and exp functions, plus the <a class="link" href="../../../special/sf_erf/error_function.html" title="Error Functions">error
- function</a>, and as such should have very low error rates.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.lognormal_dist.implementation"></a></span><a class="link" href="lognormal_dist.html#math_toolkit.dist.dist_ref.dists.lognormal_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>m</em></span> is the location parameter
- of the distribution, <span class="emphasis"><em>s</em></span> is its scale parameter,
- <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
- is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = e<sup>-(ln(x) - m)<sup>2 </sup> / 2s<sup>2 </sup> </sup> / (x * s * sqrt(2pi))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = cdf(normal_distribtion&lt;RealType&gt;(m,
- s), log(x))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = cdf(complement(normal_distribtion&lt;RealType&gt;(m,
- s), log(x)))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = exp(quantile(normal_distribtion&lt;RealType&gt;(m,
- s), p))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = exp(quantile(complement(normal_distribtion&lt;RealType&gt;(m,
- s), q)))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- e<sup>m + s<sup>2 </sup> / 2 </sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- (e<sup>s<sup>2</sup> </sup> - 1) * e<sup>2m + s<sup>2 </sup> </sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- e<sup>m + s<sup>2 </sup> </sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- sqrt(e<sup>s<sup>2</sup> </sup> - 1) * (2 + e<sup>s<sup>2</sup> </sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- e<sup>4s<sup>2</sup> </sup> + 2e<sup>3s<sup>2</sup> </sup> + 3e<sup>2s<sup>2</sup> </sup> - 3
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- e<sup>4s<sup>2</sup> </sup> + 2e<sup>3s<sup>2</sup> </sup> + 3e<sup>2s<sup>2</sup> </sup> - 6
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="logistic_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html
deleted file mode 100644
index a04e51808b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html
+++ /dev/null
@@ -1,416 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Noncentral Beta Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="negative_binomial_dist.html" title="Negative Binomial Distribution">
-<link rel="next" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="negative_binomial_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_nc_beta_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist"></a><a class="link" href="nc_beta_dist.html" title="Noncentral Beta Distribution">Noncentral
- Beta Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_beta_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">non_central_beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_beta</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_beta_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="comment">// Constructor:</span>
- <span class="identifier">non_central_beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
-
- <span class="comment">// Accessor to shape parameters:</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Accessor to non-centrality parameter lambda:</span>
- <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The noncentral beta distribution is a generalization of the <a class="link" href="beta_dist.html" title="Beta Distribution">Beta
- Distribution</a>.
- </p>
-<p>
- It is defined as the ratio X = &#967;<sub>m</sub><sup>2</sup>(&#955;) / (&#967;<sub>m</sub><sup>2</sup>(&#955;) + &#967;<sub>n</sub><sup>2</sup>) where &#967;<sub>m</sub><sup>2</sup>(&#955;) is a noncentral
- &#967;<sup>2</sup>
-random variable with <span class="emphasis"><em>m</em></span> degrees of freedom, and
- &#967;<sub>n</sub><sup>2</sup>
-is a central &#967;<sup>2</sup> random variable with <span class="emphasis"><em>n</em></span> degrees of
- freedom.
- </p>
-<p>
- This gives a PDF that can be expressed as a Poisson mixture of beta distribution
- PDFs:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref1.png"></span>
- </p>
-<p>
- where P(i;&#955;/2) is the discrete Poisson probablity at <span class="emphasis"><em>i</em></span>,
- with mean &#955;/2, and I<sub>x</sub><sup>'</sup>(&#945;, &#946;) is the derivative of the incomplete beta function.
- This leads to the usual form of the CDF as:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref2.png"></span>
- </p>
-<p>
- The following graph illustrates how the distribution changes for different
- values of &#955;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/nc_beta_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.member_functions"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist.dist_ref.dists.nc_beta_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">non_central_beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a noncentral beta distribution with shape parameters <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>b</em></span> and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
- </p>
-<p>
- Requires a &gt; 0, b &gt; 0 and lambda &gt;= 0, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>a</em></span> from which this object was
- constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>b</em></span> from which this object was
- constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>lambda</em></span> from which this object
- was constructed.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.non_member_accessors"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist.dist_ref.dists.nc_beta_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- Most of the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> are supported: <a class="link" href="../nmp.html#math.dist.cdf">Cumulative
- Distribution Function</a>, <a class="link" href="../nmp.html#math.dist.pdf">Probability
- Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- Mean and variance are implemented using hypergeometric pfq functions
- and relations given in <a href="http://reference.wolfram.com/mathematica/ref/NoncentralBetaDistribution.html" target="_top">Wolfram
- Noncentral Beta Distribution</a>.
- </p>
-<p>
- However, the following are not currently implemented: <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a> and <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>.
- </p>
-<p>
- The domain of the random variable is [0, 1].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.accuracy"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist.dist_ref.dists.nc_beta_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>)
- found on various platforms with various floating point types. No comparison
- to the <a href="http://www.r-project.org/" target="_top">R-2.5.1 Math library</a>,
- or to the FORTRAN implementations of AS226 or AS310 are given since these
- appear to only guarantee absolute error: this would causes our test harness
- to assign an <span class="emphasis"><em>"infinite"</em></span> error to these
- libraries for some of our test values when measuring <span class="emphasis"><em>relative
- error</em></span>. Unless otherwise specified any floating-point type
- that is narrower than the one shown will have <a class="link" href="../../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.errors_in_cdf_of_the_noncentral_beta"></a><p class="title"><b>Table&#160;16.&#160;Errors In CDF of the Noncentral Beta</b></p>
-<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral Beta">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- &#945;, &#946;,&#955; &lt; 200
- </p>
- </th>
-<th>
- <p>
- &#945;,&#946;,&#955; &gt; 200
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=620 Mean=22
- </p>
- </td>
-<td>
- <p>
- Peak=8670 Mean=1040
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-4.1.1
- </p>
- </td>
-<td>
- <p>
- Peak=825 Mean=50
- </p>
- </td>
-<td>
- <p>
- Peak=2.5x10<sup>4</sup> Mean=4000
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=825 Mean=30
- </p>
- </td>
-<td>
- <p>
- Peak=1.7x10<sup>4</sup> Mean=2500
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=420 Mean=50
- </p>
- </td>
-<td>
- <p>
- Peak=9200 Mean=1200
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Error rates for the PDF, the complement of the CDF and for the quantile
- functions are broadly similar.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.tests"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist.dist_ref.dists.nc_beta_dist.tests">Tests</a>
- </h5>
-<p>
- There are two sets of test data used to verify this implementation: firstly
- we can compare with a few sample values generated by the <a href="http://www.r-project.org/" target="_top">R
- library</a>. Secondly, we have tables of test data, computed with
- this implementation and using interval arithmetic - this data should
- be accurate to at least 50 decimal digits - and is the used for our accuracy
- tests.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.implementation"></a></span><a class="link" href="nc_beta_dist.html#math_toolkit.dist.dist_ref.dists.nc_beta_dist.implementation">Implementation</a>
- </h5>
-<p>
- The CDF and its complement are evaluated as follows:
- </p>
-<p>
- First we determine which of the two values (the CDF or its complement)
- is likely to be the smaller, the crossover point is taken to be the mean
- of the distribution: for this we use the approximation due to: R. Chattamvelli
- and R. Shanmugam, "Algorithm AS 310: Computing the Non-Central Beta
- Distribution Function", Applied Statistics, Vol. 46, No. 1. (1997),
- pp. 146-156.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref3.png"></span>
- </p>
-<p>
- Then either the CDF or its complement is computed using the relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref4.png"></span>
- </p>
-<p>
- The summation is performed by starting at i = &#955;/2, and then recursing
- in both directions, using the usual recurrence relations for the Poisson
- PDF and incomplete beta functions. This is the "Method 2" described
- by:
- </p>
-<p>
- Denise Benton and K. Krishnamoorthy, "Computing discrete mixtures
- of continuous distributions: noncentral chisquare, noncentral t and the
- distribution of the square of the sample multiple correlation coefficient",
- Computational Statistics &amp; Data Analysis 43 (2003) 249-267.
- </p>
-<p>
- Specific applications of the above formulae to the noncentral beta distribution
- can be found in:
- </p>
-<p>
- Russell V. Lenth, "Algorithm AS 226: Computing Noncentral Beta Probabilities",
- Applied Statistics, Vol. 36, No. 2. (1987), pp. 241-244.
- </p>
-<p>
- H. Frick, "Algorithm AS R84: A Remark on Algorithm AS 226: Computing
- Non-Central Beta Probabilities", Applied Statistics, Vol. 39, No.
- 2. (1990), pp. 311-312.
- </p>
-<p>
- Ming Long Lam, "Remark AS R95: A Remark on Algorithm AS 226: Computing
- Non-Central Beta Probabilities", Applied Statistics, Vol. 44, No.
- 4. (1995), pp. 551-552.
- </p>
-<p>
- Harry O. Posten, "An Effective Algorithm for the Noncentral Beta
- Distribution Function", The American Statistician, Vol. 47, No.
- 2. (May, 1993), pp. 129-131.
- </p>
-<p>
- R. Chattamvelli, "A Note on the Noncentral Beta Distribution Function",
- The American Statistician, Vol. 49, No. 2. (May, 1995), pp. 231-234.
- </p>
-<p>
- Of these, the Posten reference provides the most complete overview, and
- includes the modification starting iteration at &#955;/2.
- </p>
-<p>
- The main difference between this implementation and the above references
- is the direct computation of the complement when most efficient to do
- so, and the accumulation of the sum to -1 rather than subtracting the
- result from 1 at the end: this can substantially reduce the number of
- iterations required when the result is near 1.
- </p>
-<p>
- The PDF is computed using the methodology of Benton and Krishnamoorthy
- and the relation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref1.png"></span>
- </p>
-<p>
- Quantiles are computed using a specially modified version of <a class="link" href="../../../toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">bracket_and_solve_root</a>,
- starting the search for the root at the mean of the distribution. (A
- Cornish-Fisher type expansion was also tried, but while this gets quite
- close to the root in many cases, when it is wrong it tends to introduce
- quite pathological behaviour: more investigation in this area is probably
- warranted).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="negative_binomial_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html
deleted file mode 100644
index 2a8271538d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html
+++ /dev/null
@@ -1,514 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Noncentral Chi-Squared Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="nc_beta_dist.html" title="Noncentral Beta Distribution">
-<link rel="next" href="nc_f_dist.html" title="Noncentral F Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_beta_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_f_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_nc_chi_squared_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist"></a><a class="link" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
- Chi-Squared Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_chi_squared_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">non_central_chi_squared_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_chi_squared</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_chi_squared_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="comment">// Constructor:</span>
- <span class="identifier">non_central_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
-
- <span class="comment">// Accessor to degrees of freedom parameter v:</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Accessor to non centrality parameter lambda:</span>
- <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Parameter finders:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
-
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The noncentral chi-squared distribution is a generalization of the <a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi Squared
- Distribution</a>. If X<sub>i</sub> are &#957; independent, normally distributed random
- variables with means &#956;<sub>i</sub> and variances &#963;<sub>i</sub><sup>2</sup>, then the random variable
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref1.png"></span>
- </p>
-<p>
- is distributed according to the noncentral chi-squared distribution.
- </p>
-<p>
- The noncentral chi-squared distribution has two parameters: &#957; which specifies
- the number of degrees of freedom (i.e. the number of X<sub>i</sub>), and &#955; which is
- related to the mean of the random variables X<sub>i</sub> by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref2.png"></span>
- </p>
-<p>
- (Note that some references define &#955; as one half of the above sum).
- </p>
-<p>
- This leads to a PDF of:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref3.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>f(x;k)</em></span> is the central chi-squared distribution
- PDF, and <span class="emphasis"><em>I<sub>v</sub>(x)</em></span> is a modified Bessel function of
- the first kind.
- </p>
-<p>
- The following graph illustrates how the distribution changes for different
- values of &#955;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/nccs_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.member_functions"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">non_central_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a Chi-Squared distribution with <span class="emphasis"><em>v</em></span> degrees
- of freedom and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
- </p>
-<p>
- Requires v &gt; 0 and lambda &gt;= 0, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
- constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>lambda</em></span> from which this object
- was constructed.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- This function returns the number of degrees of freedom <span class="emphasis"><em>v</em></span>
- such that: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
- <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
- <span class="identifier">x</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">p</span></code>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
-<span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- When called with argument <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">q</span><span class="special">)</span></code> this function returns the number of
- degrees of freedom <span class="emphasis"><em>v</em></span> such that:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
- <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
- <span class="identifier">x</span><span class="special">))</span>
- <span class="special">==</span> <span class="identifier">q</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- This function returns the non centrality parameter <span class="emphasis"><em>lambda</em></span>
- such that:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
- <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
- <span class="identifier">x</span><span class="special">)</span>
- <span class="special">==</span> <span class="identifier">p</span></code>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
-<span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
-</pre>
-<p>
- When called with argument <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">q</span><span class="special">)</span></code> this function returns the non centrality
- parameter <span class="emphasis"><em>lambda</em></span> such that:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
- <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
- <span class="identifier">x</span><span class="special">))</span>
- <span class="special">==</span> <span class="identifier">q</span></code>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.non_member_accessors"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.examples"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.examples">Examples</a>
- </h5>
-<p>
- There is a <a class="link" href="../../stat_tut/weg/nccs_eg.html" title="Non Central Chi Squared Example">worked
- example</a> for the noncentral chi-squared distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.accuracy"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>)
- found on various platforms with various floating-point types, along with
- comparisons to the <a href="http://www.r-project.org/" target="_top">R-2.5.1 Math
- library</a>. Unless otherwise specified, any floating-point type
- that is narrower than the one shown will have <a class="link" href="../../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.errors_in_cdf_of_the_noncentral_chi_squared"></a><p class="title"><b>Table&#160;17.&#160;Errors In CDF of the Noncentral Chi-Squared</b></p>
-<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral Chi-Squared">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- &#957;,&#955; &lt; 200
- </p>
- </th>
-<th>
- <p>
- &#957;,&#955; &gt; 200
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=50 Mean=9.9
- </p>
- <p>
- R Peak=685 Mean=109
- </p>
- </td>
-<td>
- <p>
- Peak=9780 Mean=718
- </p>
- <p>
- R Peak=3x10<sup>8</sup> Mean=2x10<sup>7</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-4.1.1
- </p>
- </td>
-<td>
- <p>
- Peak=270 Mean=27
- </p>
- </td>
-<td>
- <p>
- Peak=7900 Mean=900
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=107 Mean=17
- </p>
- </td>
-<td>
- <p>
- Peak=5000 Mean=630
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=270 Mean=20
- </p>
- </td>
-<td>
- <p>
- Peak=4600 Mean=560
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Error rates for the complement of the CDF and for the quantile functions
- are broadly similar. Special mention should go to the <code class="computeroutput"><span class="identifier">mode</span></code>
- function: there is no closed form for this function, so it is evaluated
- numerically by finding the maxima of the PDF: in principal this can not
- produce an accuracy greater than the square root of the machine epsilon.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.tests"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.tests">Tests</a>
- </h5>
-<p>
- There are two sets of test data used to verify this implementation: firstly
- we can compare with published data, for example with Table 6 of "Self-Validating
- Computations of Probabilities for Selected Central and Noncentral Univariate
- Probability Functions", Morgan C. Wang and William J. Kennedy, Journal
- of the American Statistical Association, Vol. 89, No. 427. (Sep., 1994),
- pp. 878-887. Secondly, we have tables of test data, computed with this
- implementation and using interval arithmetic - this data should be accurate
- to at least 50 decimal digits - and is the used for our accuracy tests.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.implementation"></a></span><a class="link" href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.implementation">Implementation</a>
- </h5>
-<p>
- The CDF and its complement are evaluated as follows:
- </p>
-<p>
- First we determine which of the two values (the CDF or its complement)
- is likely to be the smaller: for this we can use the relation due to
- Temme (see "Asymptotic and Numerical Aspects of the Noncentral Chi-Square
- Distribution", N. M. Temme, Computers Math. Applic. Vol 25, No.
- 5, 55-63, 1993) that:
- </p>
-<p>
- F(&#957;,&#955;;&#957;+&#955;) &#8776; 0.5
- </p>
-<p>
- and so compute the CDF when the random variable is less than &#957;+&#955;, and its
- complement when the random variable is greater than &#957;+&#955;. If necessary the
- computed result is then subtracted from 1 to give the desired result
- (the CDF or its complement).
- </p>
-<p>
- For small values of the non centrality parameter, the CDF is computed
- using the method of Ding (see "Algorithm AS 275: Computing the Non-Central
- #2 Distribution Function", Cherng G. Ding, Applied Statistics, Vol.
- 41, No. 2. (1992), pp. 478-482). This uses the following series representation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref4.png"></span>
- </p>
-<p>
- which requires just one call to <a class="link" href="../../../special/sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">gamma_p_derivative</a>
- with the subsequent terms being computed by recursion as shown above.
- </p>
-<p>
- For larger values of the non-centrality parameter, Ding's method can
- take an unreasonable number of terms before convergence is achieved.
- Furthermore, the largest term is not the first term, so in extreme cases
- the first term may be zero, leading to a zero result, even though the
- true value may be non-zero.
- </p>
-<p>
- Therefore, when the non-centrality parameter is greater than 200, the
- method due to Krishnamoorthy (see "Computing discrete mixtures of
- continuous distributions: noncentral chisquare, noncentral t and the
- distribution of the square of the sample multiple correlation coefficient",
- Denise Benton and K. Krishnamoorthy, Computational Statistics &amp; Data
- Analysis, 43, (2003), 249-267) is used.
- </p>
-<p>
- This method uses the well known sum:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref5.png"></span>
- </p>
-<p>
- Where P<sub>a</sub>(x) is the incomplete gamma function.
- </p>
-<p>
- The method starts at the &#955;th term, which is where the Poisson weighting
- function achieves its maximum value, although this is not necessarily
- the largest overall term. Subsequent terms are calculated via the normal
- recurrence relations for the incomplete gamma function, and iteration
- proceeds both forwards and backwards until sufficient precision has been
- achieved. It should be noted that recurrence in the forwards direction
- of P<sub>a</sub>(x) is numerically unstable. However, since we always start <span class="emphasis"><em>after</em></span>
- the largest term in the series, numeric instability is introduced more
- slowly than the series converges.
- </p>
-<p>
- Computation of the complement of the CDF uses an extension of Krishnamoorthy's
- method, given that:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref6.png"></span>
- </p>
-<p>
- we can again start at the &#955;'th term and proceed in both directions from
- there until the required precision is achieved. This time it is backwards
- recursion on the incomplete gamma function Q<sub>a</sub>(x) which is unstable. However,
- as long as we start well <span class="emphasis"><em>before</em></span> the largest term,
- this is not an issue in practice.
- </p>
-<p>
- The PDF is computed directly using the relation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref3.png"></span>
- </p>
-<p>
- Where <span class="emphasis"><em>f(x; v)</em></span> is the PDF of the central <a class="link" href="chi_squared_dist.html" title="Chi Squared Distribution">Chi
- Squared Distribution</a> and <span class="emphasis"><em>I<sub>v</sub>(x)</em></span> is a modified
- Bessel function, see <a class="link" href="../../../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>.
- For small values of the non-centrality parameter the relation in terms
- of <a class="link" href="../../../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
- is used. However, this method fails for large values of the non-centrality
- parameter, so in that case the infinite sum is evaluated using the method
- of Benton and Krishnamoorthy, and the usual recurrence relations for
- successive terms.
- </p>
-<p>
- The quantile functions are computed by numeric inversion of the CDF.
- </p>
-<p>
- There is no <a href="http://en.wikipedia.org/wiki/Closed_form" target="_top">closed
- form</a> for the mode of the noncentral chi-squared distribution:
- it is computed numerically by finding the maximum of the PDF. Likewise,
- the median is computed numerically via the quantile.
- </p>
-<p>
- The remaining non-member functions use the following formulas:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref7.png"></span>
- </p>
-<p>
- Some analytic properties of noncentral distributions (particularly unimodality,
- and monotonicity of their modes) are surveyed and summarized by:
- </p>
-<p>
- Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
- 141 (2003) 3-12.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_beta_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_f_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html
deleted file mode 100644
index 84603934b0..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html
+++ /dev/null
@@ -1,416 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Noncentral F Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">
-<link rel="next" href="nc_t_dist.html" title="Noncentral T Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_t_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_nc_f_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist"></a><a class="link" href="nc_f_dist.html" title="Noncentral F Distribution">Noncentral
- F Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_f</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_f_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">non_central_f_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_f</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_f_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="comment">// Constructor:</span>
- <span class="identifier">non_central_f_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">v2</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
-
- <span class="comment">// Accessor to degrees_of_freedom parameters v1 &amp; v2:</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Accessor to non-centrality parameter lambda:</span>
- <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The noncentral F distribution is a generalization of the <a class="link" href="f_dist.html" title="F Distribution">Fisher
- F Distribution</a>. It is defined as the ratio
- </p>
-<pre class="programlisting"><span class="identifier">F</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">X</span><span class="special">/</span><span class="identifier">v1</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">Y</span><span class="special">/</span><span class="identifier">v2</span><span class="special">)</span>
-</pre>
-<p>
- where X is a noncentral &#967;<sup>2</sup>
-random variable with <span class="emphasis"><em>v1</em></span>
- degrees of freedom and non-centrality parameter &#955;, and Y is a central
- &#967;<sup>2</sup> random variable with <span class="emphasis"><em>v2</em></span> degrees of freedom.
- </p>
-<p>
- This gives the following PDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_f_ref1.png"></span>
- </p>
-<p>
- where L<sub>a</sub><sup>b</sup>(c) is a generalised Laguerre polynomial and B(a,b) is the
- <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta</a>
- function, or
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_f_ref2.png"></span>
- </p>
-<p>
- The following graph illustrates how the distribution changes for different
- values of &#955;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/nc_f_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.member_functions"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist.dist_ref.dists.nc_f_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">non_central_f_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">v2</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a non-central beta distribution with parameters <span class="emphasis"><em>v1</em></span>
- and <span class="emphasis"><em>v2</em></span> and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
- </p>
-<p>
- Requires v1 &gt; 0, v2 &gt; 0 and lambda &gt;= 0, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>v1</em></span> from which this object
- was constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>v2</em></span> from which this object
- was constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the non-centrality parameter <span class="emphasis"><em>lambda</em></span> from
- which this object was constructed.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.non_member_accessors"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist.dist_ref.dists.nc_f_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.accuracy"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist.dist_ref.dists.nc_f_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- This distribution is implemented in terms of the <a class="link" href="nc_beta_dist.html" title="Noncentral Beta Distribution">Noncentral
- Beta Distribution</a>: refer to that distribution for accuracy data.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.tests"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist.dist_ref.dists.nc_f_dist.tests">Tests</a>
- </h5>
-<p>
- Since this distribution is implemented by adapting another distribution,
- the tests consist of basic sanity checks computed by the <a href="http://www.r-project.org/" target="_top">R-2.5.1
- Math library statistical package</a> and its pbeta and dbeta functions.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.implementation"></a></span><a class="link" href="nc_f_dist.html#math_toolkit.dist.dist_ref.dists.nc_f_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>v1</em></span> and <span class="emphasis"><em>v2</em></span>
- are the first and second degrees of freedom parameters of the distribution,
- &#955;
-is the non-centrality parameter, <span class="emphasis"><em>x</em></span> is the random
- variate, <span class="emphasis"><em>p</em></span> is the probability, and <span class="emphasis"><em>q =
- 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Implemented in terms of the non-central beta PDF using the
- relation:
- </p>
- <p>
- f(x;v1,v2;&#955;) = (v1/v2) / ((1+y)*(1+y)) * g(y/(1+y);v1/2,v2/2;&#955;)
- </p>
- <p>
- where g(x; a, b; &#955;) is the non central beta PDF, and:
- </p>
- <p>
- y = x * v1 / v2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- p = B<sub>y</sub>(v1/2, v2/2; &#955;)
- </p>
- <p>
- where B<sub>x</sub>(a, b; &#955;) is the noncentral beta distribution CDF and
- </p>
- <p>
- y = x * v1 / v2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- q = 1 - B<sub>y</sub>(v1/2, v2/2; &#955;)
- </p>
- <p>
- where 1 - B<sub>x</sub>(a, b; &#955;) is the complement of the noncentral beta
- distribution CDF and
- </p>
- <p>
- y = x * v1 / v2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- x = (bx / (1-bx)) * (v1 / v2)
- </p>
- <p>
- where
- </p>
- <p>
- bx = Q<sub>p</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
- </p>
- <p>
- and
- </p>
- <p>
- Q<sub>p</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
- </p>
- <p>
- is the noncentral beta quantile.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- <p>
- from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- x = (bx / (1-bx)) * (v1 / v2)
- </p>
- <p>
- where
- </p>
- <p>
- bx = QC<sub>q</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
- </p>
- <p>
- and
- </p>
- <p>
- QC<sub>q</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
- </p>
- <p>
- is the noncentral beta quantile from the complement.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- v2 * (v1 + l) / (v1 * (v2 - 2))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- By numeric maximalisation of the PDF.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
- Eric W. "Noncentral F-Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
- Eric W. "Noncentral F-Distribution." From MathWorld--A
- Wolfram Web Resource.</a>, and to the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html" target="_top">Mathematica
- documentation</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis and kurtosis excess
- </p>
- </td>
-<td>
- <p>
- Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
- Eric W. "Noncentral F-Distribution." From MathWorld--A
- Wolfram Web Resource.</a>, and to the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html" target="_top">Mathematica
- documentation</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Some analytic properties of noncentral distributions (particularly unimodality,
- and monotonicity of their modes) are surveyed and summarized by:
- </p>
-<p>
- Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
- 141 (2003) 3-12.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_t_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html
deleted file mode 100644
index db8f62d9aa..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html
+++ /dev/null
@@ -1,365 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Noncentral T Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="nc_f_dist.html" title="Noncentral F Distribution">
-<link rel="next" href="normal_dist.html" title="Normal (Gaussian) Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_nc_t_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist"></a><a class="link" href="nc_t_dist.html" title="Noncentral T Distribution">Noncentral
- T Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">non_central_t_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_t</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="comment">// Constructor:</span>
- <span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">delta</span><span class="special">);</span>
-
- <span class="comment">// Accessor to degrees_of_freedom parameter v:</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Accessor to non-centrality parameter lambda:</span>
- <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The noncentral T distribution is a generalization of the <a class="link" href="students_t_dist.html" title="Students t Distribution">Students
- t Distribution</a>. Let X have a normal distribution with mean &#948; and
- variance 1, and let &#957; S<sup>2</sup> have a chi-squared distribution with degrees of
- freedom &#957;. Assume that X and S<sup>2</sup> are independent. The distribution of t<sub>&#957;</sub>(&#948;)=X/S
- is called a noncentral t distribution with degrees of freedom &#957; and noncentrality
- parameter &#948;.
- </p>
-<p>
- This gives the following PDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref1.png"></span>
- </p>
-<p>
- where <sub>1</sub>F<sub>1</sub>(a;b;x) is a confluent hypergeometric function.
- </p>
-<p>
- The following graph illustrates how the distribution changes for different
- values of &#948;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/nc_t_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.member_functions"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist.dist_ref.dists.nc_t_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a non-central t distribution with degrees of freedom parameter
- <span class="emphasis"><em>v</em></span> and non-centrality parameter <span class="emphasis"><em>delta</em></span>.
- </p>
-<p>
- Requires v &gt; 0 and finite delta, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
- constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the non-centrality parameter <span class="emphasis"><em>delta</em></span> from
- which this object was constructed.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.non_member_accessors"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist.dist_ref.dists.nc_t_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [-&#8734;, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.accuracy"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist.dist_ref.dists.nc_t_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of <a href="http://en.wikipedia.org/wiki/Machine_epsilon" target="_top">epsilon</a>)
- found on various platforms with various floating-point types. Unless
- otherwise specified, any floating-point type that is narrower than the
- one shown will have <a class="link" href="../../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.errors_in_cdf_of_the_noncentral_t_distribution"></a><p class="title"><b>Table&#160;18.&#160;Errors In CDF of the Noncentral T Distribution</b></p>
-<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral T Distribution">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- &#957;,&#948; &lt; 600
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=120 Mean=26
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-4.1.1
- </p>
- </td>
-<td>
- <p>
- Peak=121 Mean=26
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=122 Mean=25
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=115 Mean=24
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The complexity of the current algorithm is dependent upon &#948;<sup>2</sup>: consequently
- the time taken to evaluate the CDF increases rapidly for &#948; &gt; 500,
- likewise the accuracy decreases rapidly for very large &#948;.
- </p></td></tr>
-</table></div>
-<p>
- Accuracy for the quantile and PDF functions should be broadly similar,
- note however that the <span class="emphasis"><em>mode</em></span> is determined numerically
- and can not in principal be more accurate than the square root of machine
- epsilon.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.tests"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist.dist_ref.dists.nc_t_dist.tests">Tests</a>
- </h5>
-<p>
- There are two sets of tests of this distribution: basic sanity checks
- compare this implementation to the test values given in "Computing
- discrete mixtures of continuous distributions: noncentral chisquare,
- noncentral t and the distribution of the square of the sample multiple
- correlation coefficient." Denise Benton, K. Krishnamoorthy, Computational
- Statistics &amp; Data Analysis 43 (2003) 249-267. While accuracy checks
- use test data computed with this implementation and arbitary precision
- interval arithmetic: this test data is believed to be accurate to at
- least 50 decimal places.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.implementation"></a></span><a class="link" href="nc_t_dist.html#math_toolkit.dist.dist_ref.dists.nc_t_dist.implementation">Implementation</a>
- </h5>
-<p>
- The CDF is computed using a modification of the method described in "Computing
- discrete mixtures of continuous distributions: noncentral chisquare,
- noncentral t and the distribution of the square of the sample multiple
- correlation coefficient." Denise Benton, K. Krishnamoorthy, Computational
- Statistics &amp; Data Analysis 43 (2003) 249-267.
- </p>
-<p>
- This uses the following formula for the CDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref2.png"></span>
- </p>
-<p>
- Where I<sub>x</sub>(a,b) is the incomplete beta function, and &#934;(x) is the normal
- CDF at x.
- </p>
-<p>
- Iteration starts at the largest of the Poisson weighting terms (at i
- = &#948;<sup>2</sup> / 2) and then proceeds in both directions as per Benton and Krishnamoorthy's
- paper.
- </p>
-<p>
- Alternatively, by considering what happens when t = &#8734;, we have x = 1,
- and therefore I<sub>x</sub>(a,b) = 1 and:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref3.png"></span>
- </p>
-<p>
- From this we can easily show that:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref4.png"></span>
- </p>
-<p>
- and therefore we have a means to compute either the probability or its
- complement directly without the risk of cancellation error. The crossover
- criterion for choosing whether to calculate the CDF or its complement
- is the same as for the <a class="link" href="nc_beta_dist.html" title="Noncentral Beta Distribution">Noncentral
- Beta Distribution</a>.
- </p>
-<p>
- The PDF can be computed by a very similar method using:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref5.png"></span>
- </p>
-<p>
- Where I<sub>x</sub><sup>'</sup>(a,b) is the derivative of the incomplete beta function.
- </p>
-<p>
- The quantile is calculated via the usual <a class="link" href="../../../toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">derivative-free
- root-finding techniques</a>, with the initial guess taken as the quantile
- of a normal approximation to the noncentral T.
- </p>
-<p>
- There is no closed form for the mode, so this is computed via functional
- maximisation of the PDF.
- </p>
-<p>
- The remaining functions (mean, variance etc) are implemented using the
- formulas given in Weisstein, Eric W. "Noncentral Student's t-Distribution."
- From MathWorld--A Wolfram Web Resource. <a href="http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html" target="_top">http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html</a>
- and in the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html" target="_top">Mathematica
- documentation</a>.
- </p>
-<p>
- Some analytic properties of noncentral distributions (particularly unimodality,
- and monotonicity of their modes) are surveyed and summarized by:
- </p>
-<p>
- Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
- 141 (2003) 3-12.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html
deleted file mode 100644
index 66794effd6..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/negative_binomial_dist.html
+++ /dev/null
@@ -1,908 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Negative Binomial Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="lognormal_dist.html" title="Log Normal Distribution">
-<link rel="next" href="nc_beta_dist.html" title="Noncentral Beta Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lognormal_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_beta_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_negative_binomial_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist"></a><a class="link" href="negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">negative_binomial</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">negative_binomial_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Constructor from successes and success_fraction:</span>
- <span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-
- <span class="comment">// Parameter accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// Bounds on success fraction:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// alpha</span>
-
- <span class="comment">// Estimate min/max number of trials:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// Number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// Success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">);</span> <span class="comment">// Probability threshold alpha.</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The class type <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span></code>
- represents a <a href="http://en.wikipedia.org/wiki/Negative_binomial_distribution" target="_top">negative_binomial
- distribution</a>: it is used when there are exactly two mutually
- exclusive outcomes of a <a href="http://en.wikipedia.org/wiki/Bernoulli_trial" target="_top">Bernoulli
- trial</a>: these outcomes are labelled "success" and "failure".
- </p>
-<p>
- For k + r Bernoulli trials each with success fraction p, the negative_binomial
- distribution gives the probability of observing k failures and r successes
- with success on the last trial. The negative_binomial distribution assumes
- that success_fraction p is fixed for all (k + r) trials.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The random variable for the negative binomial distribution is the number
- of trials, (the number of successes is a fixed property of the distribution)
- whereas for the binomial, the random variable is the number of successes,
- for a fixed number of trials.
- </p></td></tr>
-</table></div>
-<p>
- It has the PDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/neg_binomial_ref.png"></span>
- </p>
-<p>
- The following graph illustrate how the PDF varies as the success fraction
- <span class="emphasis"><em>p</em></span> changes:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/negative_binomial_pdf_1.png" align="middle"></span>
- </p>
-<p>
- Alternatively, this graph shows how the shape of the PDF varies as the
- number of successes changes:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/negative_binomial_pdf_2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.related_distributions"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.related_distributions">Related
- Distributions</a>
- </h5>
-<p>
- The name negative binomial distribution is reserved by some to the case
- where the successes parameter r is an integer. This integer version is
- also called the <a href="http://mathworld.wolfram.com/PascalDistribution.html" target="_top">Pascal
- distribution</a>.
- </p>
-<p>
- This implementation uses real numbers for the computation throughout
- (because it uses the <span class="bold"><strong>real-valued</strong></span> incomplete
- beta function family of functions). This real-valued version is also
- called the Polya Distribution.
- </p>
-<p>
- The Poisson distribution is a generalization of the Pascal distribution,
- where the success parameter r is an integer: to obtain the Pascal distribution
- you must ensure that an integer value is provided for r, and take integer
- values (floor or ceiling) from functions that return a number of successes.
- </p>
-<p>
- For large values of r (successes), the negative binomial distribution
- converges to the Poisson distribution.
- </p>
-<p>
- The geometric distribution is a special case where the successes parameter
- r = 1, so only a first and only success is required. geometric(p) = negative_binomial(1,
- p).
- </p>
-<p>
- The Poisson distribution is a special case for large successes
- </p>
-<p>
- poisson(&#955;) = lim <sub>r &#8594; &#8734;</sub> &#160; negative_binomial(r, r / (&#955; + r)))
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The Negative Binomial distribution is a discrete distribution: internally,
- functions like the <code class="computeroutput"><span class="identifier">cdf</span></code>
- and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated
- "as if" they are continuous functions, but in reality the
- results returned from these functions only have meaning if an integer
- value is provided for the random variate argument.
- </p>
-<p>
- The quantile function will by default return an integer result that
- has been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower
- quantiles (where the probability is less than 0.5) are rounded downward,
- and upper quantiles (where the probability is greater than 0.5) are
- rounded upwards. This behaviour ensures that if an X% quantile is requested,
- then <span class="emphasis"><em>at least</em></span> the requested coverage will be present
- in the central region, and <span class="emphasis"><em>no more than</em></span> the requested
- coverage will be present in the tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are rounded
- differently, or even return a real-valued result using <a class="link" href="../../../policy/pol_overview.html" title="Policy Overview">Policies</a>.
- It is strongly recommended that you read the tutorial <a class="link" href="../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on the Negative Binomial distribution. The <a class="link" href="../../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these distributions.
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.member_functions"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.member_functions">Member
- Functions</a>
- </h5>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.construct"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.construct">Construct</a>
- </h6>
-<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- Constructor: <span class="emphasis"><em>r</em></span> is the total number of successes,
- <span class="emphasis"><em>p</em></span> is the probability of success of a single trial.
- </p>
-<p>
- Requires: <code class="computeroutput"><span class="identifier">r</span> <span class="special">&gt;</span>
- <span class="number">0</span></code> and <code class="computeroutput"><span class="number">0</span>
- <span class="special">&lt;=</span> <span class="identifier">p</span>
- <span class="special">&lt;=</span> <span class="number">1</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.accessors"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.accessors">Accessors</a>
- </h6>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">success_fraction</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// successes / trials (0 &lt;= p &lt;= 1)</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>p</em></span> from which this distribution
- was constructed.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span> <span class="comment">// required successes (r &gt; 0)</span>
-</pre>
-<p>
- Returns the parameter <span class="emphasis"><em>r</em></span> from which this distribution
- was constructed.
- </p>
-<p>
- The best method of calculation for the following functions is disputed:
- see <a class="link" href="binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a> for more discussion.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.lower_bound_on_parameter_p"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.lower_bound_on_parameter_p">Lower
- Bound on Parameter p</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">failures</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">probability</span><span class="special">)</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
-</pre>
-<p>
- Returns a <span class="bold"><strong>lower bound</strong></span> on the success
- fraction:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">failures</span></dt>
-<dd><p>
- The total number of failures before the r th success.
- </p></dd>
-<dt><span class="term">successes</span></dt>
-<dd><p>
- The number of successes required.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The largest acceptable probability that the true value of the success
- fraction is <span class="bold"><strong>less than</strong></span> the value
- returned.
- </p></dd>
-</dl>
-</div>
-<p>
- For example, if you observe <span class="emphasis"><em>k</em></span> failures and <span class="emphasis"><em>r</em></span>
- successes from <span class="emphasis"><em>n</em></span> = k + r trials the best estimate
- for the success fraction is simply <span class="emphasis"><em>r/n</em></span>, but if you
- want to be 95% sure that the true value is <span class="bold"><strong>greater
- than</strong></span> some value, <span class="emphasis"><em>p<sub>min</sub></em></span>, then:
- </p>
-<pre class="programlisting"><span class="identifier">p</span><sub>min</sub> <span class="special">=</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">failures</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
- negative binomial confidence interval example.</a>
- </p>
-<p>
- This function uses the Clopper-Pearson method of computing the lower
- bound on the success fraction, whilst many texts refer to this method
- as giving an "exact" result in practice it produces an interval
- that guarantees <span class="emphasis"><em>at least</em></span> the coverage required,
- and may produce pessimistic estimates for some combinations of <span class="emphasis"><em>failures</em></span>
- and <span class="emphasis"><em>successes</em></span>. See:
- </p>
-<p>
- <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
- Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
- Discrete Distributions. Computational statistics and data analysis, 2005,
- vol. 48, no3, 605-621</a>.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.upper_bound_on_parameter_p"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.upper_bound_on_parameter_p">Upper
- Bound on Parameter p</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">trials</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">successes</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// (0 &lt;= alpha &lt;= 1), 0.05 equivalent to 95% confidence.</span>
-</pre>
-<p>
- Returns an <span class="bold"><strong>upper bound</strong></span> on the success
- fraction:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">trials</span></dt>
-<dd><p>
- The total number of trials conducted.
- </p></dd>
-<dt><span class="term">successes</span></dt>
-<dd><p>
- The number of successes that occurred.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The largest acceptable probability that the true value of the success
- fraction is <span class="bold"><strong>greater than</strong></span> the value
- returned.
- </p></dd>
-</dl>
-</div>
-<p>
- For example, if you observe <span class="emphasis"><em>k</em></span> successes from <span class="emphasis"><em>n</em></span>
- trials the best estimate for the success fraction is simply <span class="emphasis"><em>k/n</em></span>,
- but if you want to be 95% sure that the true value is <span class="bold"><strong>less
- than</strong></span> some value, <span class="emphasis"><em>p<sub>max</sub></em></span>, then:
- </p>
-<pre class="programlisting"><span class="identifier">p</span><sub>max</sub> <span class="special">=</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">r</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
- negative binomial confidence interval example.</a>
- </p>
-<p>
- This function uses the Clopper-Pearson method of computing the lower
- bound on the success fraction, whilst many texts refer to this method
- as giving an "exact" result in practice it produces an interval
- that guarantees <span class="emphasis"><em>at least</em></span> the coverage required,
- and may produce pessimistic estimates for some combinations of <span class="emphasis"><em>failures</em></span>
- and <span class="emphasis"><em>successes</em></span>. See:
- </p>
-<p>
- <a href="http://www.ucs.louisiana.edu/~kxk4695/Discrete_new.pdf" target="_top">Yong
- Cai and K. Krishnamoorthy, A Simple Improved Inferential Method for Some
- Discrete Distributions. Computational statistics and data analysis, 2005,
- vol. 48, no3, 605-621</a>.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h6"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_ensure_at_least_a_certain_number_of_failures"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_ensure_at_least_a_certain_number_of_failures">Estimating
- Number of Trials to Ensure at Least a Certain Number of Failures</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
-</pre>
-<p>
- This functions estimates the number of trials required to achieve a certain
- probability that <span class="bold"><strong>more than k failures will be observed</strong></span>.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">k</span></dt>
-<dd><p>
- The target number of failures to be observed.
- </p></dd>
-<dt><span class="term">p</span></dt>
-<dd><p>
- The probability of <span class="emphasis"><em>success</em></span> for each trial.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable risk that only k failures or fewer will
- be observed.
- </p></dd>
-</dl>
-</div>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- Returns the smallest number of trials we must conduct to be 95% sure
- of seeing 10 failures that occur with frequency one half.
- </p>
-<p>
- <a class="link" href="../../stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">Worked
- Example.</a>
- </p>
-<p>
- This function uses numeric inversion of the negative binomial distribution
- to obtain the result: another interpretation of the result, is that it
- finds the number of trials (success+failures) that will lead to an <span class="emphasis"><em>alpha</em></span>
- probability of observing k failures or fewer.
- </p>
-<h6>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h7"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_ensure_a_maximum_number_of_failures_or_less"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.estimating_number_of_trials_to_ensure_a_maximum_number_of_failures_or_less">Estimating
- Number of Trials to Ensure a Maximum Number of Failures or Less</a>
- </h6>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">k</span><span class="special">,</span> <span class="comment">// number of failures.</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success fraction.</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">);</span> <span class="comment">// probability threshold (0.05 equivalent to 95%).</span>
-</pre>
-<p>
- This functions estimates the maximum number of trials we can conduct
- and achieve a certain probability that <span class="bold"><strong>k failures
- or fewer will be observed</strong></span>.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">k</span></dt>
-<dd><p>
- The maximum number of failures to be observed.
- </p></dd>
-<dt><span class="term">p</span></dt>
-<dd><p>
- The probability of <span class="emphasis"><em>success</em></span> for each trial.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable <span class="emphasis"><em>risk</em></span> that more than
- k failures will be observed.
- </p></dd>
-</dl>
-</div>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1.0</span><span class="special">-</span><span class="number">1.0</span><span class="special">/</span><span class="number">1000000</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- Returns the largest number of trials we can conduct and still be 95%
- sure of seeing no failures that occur with frequency one in one million.
- </p>
-<p>
- This function uses numeric inversion of the negative binomial distribution
- to obtain the result: another interpretation of the result, is that it
- finds the number of trials (success+failures) that will lead to an <span class="emphasis"><em>alpha</em></span>
- probability of observing more than k failures.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h8"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.non_member_accessors"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- However it's worth taking a moment to define what these actually mean
- in the context of this distribution:
- </p>
-<div class="table">
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.meaning_of_the_non_member_accessors_"></a><p class="title"><b>Table&#160;15.&#160;Meaning of the non-member accessors.</b></p>
-<div class="table-contents"><table class="table" summary="Meaning of the non-member accessors.">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Meaning
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>exactly
- k failures</strong></span> from k+r trials with success fraction
- p. For example:
- </p>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>k failures
- or fewer</strong></span> from k+r trials with success fraction p
- and success on the last trial. For example:
- </p>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">)</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.ccdf">Complement of the Cumulative
- Distribution Function</a>
- </p>
- </td>
-<td>
- <p>
- The probability of obtaining <span class="bold"><strong>more than
- k failures</strong></span> from k+r trials with success fraction
- p and success on the last trial. For example:
- </p>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">))</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>
- </p>
- </td>
-<td>
- <p>
- The <span class="bold"><strong>greatest</strong></span> number of failures
- k expected to be observed from k+r trials with success fraction
- p, at probability P. Note that the value returned is a real-number,
- and not an integer. Depending on the use case you may want
- to take either the floor or ceiling of the real result. For
- example:
- </p>
- <p>
-</p>
-<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">)</span></pre>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../nmp.html#math.dist.quantile_c">Quantile from the complement
- of the probability</a>
- </p>
- </td>
-<td>
- <p>
- The <span class="bold"><strong>smallest</strong></span> number of failures
- k expected to be observed from k+r trials with success fraction
- p, at probability P. Note that the value returned is a real-number,
- and not an integer. Depending on the use case you may want
- to take either the floor or ceiling of the real result. For
- example:
-</p>
-<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">P</span><span class="special">))</span></pre>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h9"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.accuracy"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- This distribution is implemented using the incomplete beta functions
- <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>:
- please refer to these functions for information on accuracy.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.h10"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.negative_binomial_dist.implementation"></a></span><a class="link" href="negative_binomial_dist.html#math_toolkit.dist.dist_ref.dists.negative_binomial_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table, <span class="emphasis"><em>p</em></span> is the probability that
- any one trial will be successful (the success fraction), <span class="emphasis"><em>r</em></span>
- is the number of successes, <span class="emphasis"><em>k</em></span> is the number of failures,
- <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- pdf = exp(lgamma(r + k) - lgamma(r) - lgamma(k+1)) * pow(p,
- r) * pow((1-p), k)
- </p>
- <p>
- Implementation is in terms of <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>:
- </p>
- <p>
- (p/(r + k)) * ibeta_derivative(r, static_cast&lt;RealType&gt;(k+1),
- p) The function <a class="link" href="../../../special/sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">ibeta_derivative</a>
- is used here, since it has already been optimised for the lowest
- possible error - indeed this is really just a thin wrapper
- around part of the internals of the incomplete beta function.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- cdf = I<sub>p</sub>(r, k+1) = ibeta(r, k+1, p)
- </p>
- <p>
- = ibeta(r, static_cast&lt;RealType&gt;(k+1), p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation:
- </p>
- <p>
- 1 - cdf = I<sub>p</sub>(k+1, r)
- </p>
- <p>
- = ibetac(r, static_cast&lt;RealType&gt;(k+1), p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- ibeta_invb(r, p, P) - 1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- ibetac_invb(r, p, Q) -1)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">)/</span><span class="identifier">p</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">p</span><span class="special">)</span>
- <span class="special">/</span> <span class="identifier">p</span>
- <span class="special">*</span> <span class="identifier">p</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">floor</span><span class="special">((</span><span class="identifier">r</span><span class="special">-</span><span class="number">1</span><span class="special">)</span>
- <span class="special">*</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span>
- <span class="identifier">p</span><span class="special">)/</span><span class="identifier">p</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="special">(</span><span class="number">2</span>
- <span class="special">-</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
- <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">r</span> <span class="special">*</span>
- <span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">p</span><span class="special">))</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="number">6</span> <span class="special">/</span>
- <span class="identifier">r</span> <span class="special">+</span>
- <span class="special">(</span><span class="identifier">p</span>
- <span class="special">*</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
- <span class="identifier">r</span> <span class="special">*</span>
- <span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">p</span>
- <span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- <code class="computeroutput"><span class="number">6</span> <span class="special">/</span>
- <span class="identifier">r</span> <span class="special">+</span>
- <span class="special">(</span><span class="identifier">p</span>
- <span class="special">*</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">/</span>
- <span class="identifier">r</span> <span class="special">*</span>
- <span class="special">(</span><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">p</span>
- <span class="special">)</span> <span class="special">-</span><span class="number">3</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- parameter estimation member functions
- </p>
- </td>
-<td>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
- </p>
- </td>
-<td>
- <p>
- ibeta_inv(successes, failures + 1, alpha)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
- </p>
- </td>
-<td>
- <p>
- ibetac_inv(successes, failures, alpha) plus see comments in
- code.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
- </p>
- </td>
-<td>
- <p>
- ibeta_inva(k + 1, p, alpha)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">find_maximum_number_of_trials</span></code>
- </p>
- </td>
-<td>
- <p>
- ibetac_inva(k + 1, p, alpha)
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Implementation notes:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- The real concept type (that deliberately lacks the Lanczos approximation),
- was found to take several minutes to evaluate some extreme test values,
- so the test has been disabled for this type.
- </li>
-<li class="listitem">
- Much greater speed, and perhaps greater accuracy, might be achieved
- for extreme values by using a normal approximation. This is NOT been
- tested or implemented.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lognormal_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nc_beta_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/normal_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/normal_dist.html
deleted file mode 100644
index 33143f1354..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/normal_dist.html
+++ /dev/null
@@ -1,327 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Normal (Gaussian) Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="nc_t_dist.html" title="Noncentral T Distribution">
-<link rel="next" href="pareto.html" title="Pareto Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_t_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pareto.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_normal_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.normal_dist"></a><a class="link" href="normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- (Gaussian) Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">normal_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">normal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">normal_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Construct:</span>
- <span class="identifier">normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// location.</span>
- <span class="identifier">RealType</span> <span class="identifier">standard_deviation</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// scale.</span>
- <span class="comment">// Synonyms, provided to allow generic use of find_location and find_scale.</span>
- <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The normal distribution is probably the most well known statistical distribution:
- it is also known as the Gaussian Distribution. A normal distribution
- with mean zero and standard deviation one is known as the <span class="emphasis"><em>Standard
- Normal Distribution</em></span>.
- </p>
-<p>
- Given mean &#956; &#160;and standard deviation &#963; &#160;it has the PDF:
- </p>
-<p>
- &#160; <span class="inlinemediaobject"><img src="../../../../../equations/normal_ref1.png"></span>
- </p>
-<p>
- The variation the PDF with its parameters is illustrated in the following
- graph:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/normal_pdf.png" align="middle"></span>
- </p>
-<p>
- The cumulative distribution function is given by
- </p>
-<p>
- &#160; <span class="inlinemediaobject"><img src="../../../../../equations/normal_cdf.png"></span>
- </p>
-<p>
- and illustrated by this graph
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/normal_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.normal_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.normal_dist.member_functions"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist.dist_ref.dists.normal_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a normal distribution with mean <span class="emphasis"><em>mean</em></span>
- and standard deviation <span class="emphasis"><em>sd</em></span>.
- </p>
-<p>
- Requires sd &gt; 0, otherwise <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- both return the <span class="emphasis"><em>mean</em></span> of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">standard_deviation</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- both return the <span class="emphasis"><em>standard deviation</em></span> of this distribution.
- (Redundant location and scale function are provided to match other similar
- distributions, allowing the functions find_location and find_scale to
- be used generically).
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.normal_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.normal_dist.non_member_accessors"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist.dist_ref.dists.normal_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [-[max_value], +[min_value]]. However,
- the pdf of +&#8734; and -&#8734; = 0 is also supported, and cdf at -&#8734; = 0, cdf at +&#8734; = 1,
- and complement cdf -&#8734; = 1 and +&#8734; = 0, if RealType permits.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.normal_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.normal_dist.accuracy"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist.dist_ref.dists.normal_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The normal distribution is implemented in terms of the <a class="link" href="../../../special/sf_erf/error_function.html" title="Error Functions">error
- function</a>, and as such should have very low error rates.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.normal_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.normal_dist.implementation"></a></span><a class="link" href="normal_dist.html#math_toolkit.dist.dist_ref.dists.normal_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>m</em></span> is the mean of the distribution,
- and <span class="emphasis"><em>s</em></span> is its standard deviation.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = e<sup>-(x-m)<sup>2</sup>/(2s<sup>2</sup>)</sup> / (s * sqrt(2*pi))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = 0.5 * <a class="link" href="../../../special/sf_erf/error_function.html" title="Error Functions">erfc</a>(-(x-m)/(s*sqrt(2)))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = 0.5 * <a class="link" href="../../../special/sf_erf/error_function.html" title="Error Functions">erfc</a>((x-m)/(s*sqrt(2)))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = m - s * sqrt(2) * <a class="link" href="../../../special/sf_erf/error_inv.html" title="Error Function Inverses">erfc_inv</a>(2*p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = m + s * sqrt(2) * <a class="link" href="../../../special/sf_erf/error_inv.html" title="Error Function Inverses">erfc_inv</a>(2*p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean and standard deviation
- </p>
- </td>
-<td>
- <p>
- The same as <code class="computeroutput"><span class="identifier">dist</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">dist</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- The same as the mean.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- median
- </p>
- </td>
-<td>
- <p>
- The same as the mean.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 3
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nc_t_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pareto.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/pareto.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/pareto.html
deleted file mode 100644
index 2a7331a6fd..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/pareto.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Pareto Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="normal_dist.html" title="Normal (Gaussian) Distribution">
-<link rel="next" href="poisson_dist.html" title="Poisson Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="normal_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poisson_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_pareto">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.pareto"></a><a class="link" href="pareto.html" title="Pareto Distribution">Pareto Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">pareto</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">pareto_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">pareto_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">pareto</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">pareto_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="comment">// Constructor:</span>
- <span class="identifier">pareto_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">Pareto
- distribution</a> is a continuous distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function (pdf)</a>:
- </p>
-<p>
- f(x; &#945;, &#946;) = &#945;&#946;<sup>&#945;</sup> / x<sup>&#945;+ 1</sup>
- </p>
-<p>
- For shape parameter &#945; &#160; &gt; 0, and scale parameter &#946; &#160; &gt; 0. If x &lt; &#946; &#160;, the
- pdf is zero.
- </p>
-<p>
- The <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Pareto
- distribution</a> often describes the larger compared to the smaller.
- A classic example is that 80% of the wealth is owned by 20% of the population.
- </p>
-<p>
- The following graph illustrates how the PDF varies with the scale parameter
- &#946;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/pareto_pdf1.png" align="middle"></span>
- </p>
-<p>
- And this graph illustrates how the PDF varies with the shape parameter
- &#945;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/pareto_pdf2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.pareto.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.pareto.related_distributions"></a></span><a class="link" href="pareto.html#math_toolkit.dist.dist_ref.dists.pareto.related_distributions">Related
- distributions</a>
- </h5>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.pareto.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.pareto.member_functions"></a></span><a class="link" href="pareto.html#math_toolkit.dist.dist_ref.dists.pareto.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">pareto_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">pareto
- distribution</a> with shape <span class="emphasis"><em>shape</em></span> and scale
- <span class="emphasis"><em>scale</em></span>.
- </p>
-<p>
- Requires that the <span class="emphasis"><em>shape</em></span> and <span class="emphasis"><em>scale</em></span>
- parameters are both greater than zero, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>shape</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.pareto.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.pareto.non_member_accessors"></a></span><a class="link" href="pareto.html#math_toolkit.dist.dist_ref.dists.pareto.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The supported domain of the random variable is [scale, &#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.pareto.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.pareto.accuracy"></a></span><a class="link" href="pareto.html#math_toolkit.dist.dist_ref.dists.pareto.accuracy">Accuracy</a>
- </h5>
-<p>
- The Pareto distribution is implemented in terms of the standard library
- <code class="computeroutput"><span class="identifier">exp</span></code> functions plus <a class="link" href="../../../special/powers/expm1.html" title="expm1">expm1</a> and so should
- have very small errors, usually only a few epsilon.
- </p>
-<p>
- If probability is near to unity (or the complement of a probability near
- zero) see also <a class="link" href="../../stat_tut/overview/complements.html#why_complements">why complements?</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.pareto.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.pareto.implementation"></a></span><a class="link" href="pareto.html#math_toolkit.dist.dist_ref.dists.pareto.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#945; &#160; is the shape parameter of the distribution, and
- &#946; &#160; is its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate,
- <span class="emphasis"><em>p</em></span> is the probability and its complement <span class="emphasis"><em>q
- = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf p = &#945;&#946;<sup>&#945;</sup>/x<sup>&#945; +1</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: cdf p = 1 - (&#946; &#160; / x)<sup>&#945;</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = 1 - p = -(&#946; &#160; / x)<sup>&#945;</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#946; / (1 - p)<sup>1/&#945;</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#946; / (q)<sup>1/&#945;</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#945;&#946; / (&#946; - 1)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- &#946;&#945;<sup>2</sup> / (&#946; - 1)<sup>2</sup> (&#946; - 2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- &#945;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
- Eric W. "Pareto Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
- Eric W. "Pareto Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- Refer to <a href="http://mathworld.wolfram.com/ParetoDistribution.html" target="_top">Weisstein,
- Eric W. "pareto Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.pareto.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.pareto.references"></a></span><a class="link" href="pareto.html#math_toolkit.dist.dist_ref.dists.pareto.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/pareto_distribution" target="_top">Pareto
- Distribution</a>
- </li>
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/paretoDistribution.html" target="_top">Weisstein,
- Eric W. "Pareto Distribution." From MathWorld--A Wolfram
- Web Resource.</a>
- </li>
-<li class="listitem">
- Handbook of Statistical Distributions with Applications, K Krishnamoorthy,
- ISBN 1-58488-635-8, Chapter 23, pp 257 - 267. (Note the meaning of
- a and b is reversed in Wolfram and Krishnamoorthy).
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="normal_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="poisson_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/poisson_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/poisson_dist.html
deleted file mode 100644
index 5f7b4d590d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/poisson_dist.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Poisson Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="pareto.html" title="Pareto Distribution">
-<link rel="next" href="rayleigh.html" title="Rayleigh Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pareto.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rayleigh.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_poisson_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.poisson_dist"></a><a class="link" href="poisson_dist.html" title="Poisson Distribution">Poisson
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">poisson</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">poisson_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">poisson_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">poisson</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">poisson_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">poisson_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Constructor.</span>
- <span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// Accessor.</span>
-<span class="special">}</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces boost::math</span>
-</pre>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Poisson_distribution" target="_top">Poisson
- distribution</a> is a well-known statistical discrete distribution.
- It expresses the probability of a number of events (or failures, arrivals,
- occurrences ...) occurring in a fixed period of time, provided these
- events occur with a known mean rate &#955; &#160;
-(events/time), and are independent
- of the time since the last event.
- </p>
-<p>
- The distribution was discovered by Sim&#233; on-Denis Poisson (1781 to 1840).
- </p>
-<p>
- It has the Probability Mass Function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/poisson_ref1.png"></span>
- </p>
-<p>
- for k events, with an expected number of events &#955;.
- </p>
-<p>
- The following graph illustrates how the PDF varies with the parameter
- &#955;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/poisson_pdf_1.png" align="middle"></span>
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The Poisson distribution is a discrete distribution: internally, functions
- like the <code class="computeroutput"><span class="identifier">cdf</span></code> and <code class="computeroutput"><span class="identifier">pdf</span></code> are treated "as if"
- they are continuous functions, but in reality the results returned
- from these functions only have meaning if an integer value is provided
- for the random variate argument.
- </p>
-<p>
- The quantile function will by default return an integer result that
- has been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower
- quantiles (where the probability is less than 0.5) are rounded downward,
- and upper quantiles (where the probability is greater than 0.5) are
- rounded upwards. This behaviour ensures that if an X% quantile is requested,
- then <span class="emphasis"><em>at least</em></span> the requested coverage will be present
- in the central region, and <span class="emphasis"><em>no more than</em></span> the requested
- coverage will be present in the tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are rounded
- differently, or even return a real-valued result using <a class="link" href="../../../policy/pol_overview.html" title="Policy Overview">Policies</a>.
- It is strongly recommended that you read the tutorial <a class="link" href="../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on the Poisson distribution. The <a class="link" href="../../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these distributions.
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.poisson_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.poisson_dist.member_functions"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist.dist_ref.dists.poisson_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">poisson_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a poisson distribution with mean <span class="emphasis"><em>mean</em></span>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>mean</em></span> of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.poisson_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.poisson_dist.non_member_accessors"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist.dist_ref.dists.poisson_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0, &#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.poisson_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.poisson_dist.accuracy"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist.dist_ref.dists.poisson_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The Poisson distribution is implemented in terms of the incomplete gamma
- functions <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- and as such should have low error rates: but refer to the documentation
- of those functions for more information. The quantile and its complement
- use the inverse gamma functions and are therefore probably slightly less
- accurate: this is because the inverse gamma functions are implemented
- using an iterative method with a lower tolerance to avoid excessive computation.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.poisson_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.poisson_dist.implementation"></a></span><a class="link" href="poisson_dist.html#math_toolkit.dist.dist_ref.dists.poisson_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#955; &#160; is the mean of the distribution, <span class="emphasis"><em>k</em></span>
- is the random variable, <span class="emphasis"><em>p</em></span> is the probability and
- <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = e<sup>-&#955;</sup> &#955;<sup>k</sup> / k!
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = &#915;(k+1, &#955;) / k! = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>(k+1,
- &#955;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = <a class="link" href="../../../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>(k+1,
- &#955;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: k = <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>(&#955;,
- p) - 1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: k = <a class="link" href="../../../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>(&#955;,
- q) - 1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- floor (&#955;) or &#8970;&#955;&#8971;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 1/&#8730;&#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 3 + 1/&#955;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 1/&#955;
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pareto.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rayleigh.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/rayleigh.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/rayleigh.html
deleted file mode 100644
index 0663b5d26d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/rayleigh.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Rayleigh Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="poisson_dist.html" title="Poisson Distribution">
-<link rel="next" href="skew_normal_dist.html" title="Skew Normal Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="poisson_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="skew_normal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_rayleigh">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.rayleigh"></a><a class="link" href="rayleigh.html" title="Rayleigh Distribution">Rayleigh
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">rayleigh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">rayleigh_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">rayleigh_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">rayleigh</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">rayleigh_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Construct:</span>
- <span class="identifier">rayleigh_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">sigma</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">sigma</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
- distribution</a> is a continuous distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function</a>:
- </p>
-<p>
- f(x; sigma) = x * exp(-x<sup>2</sup>/2 &#963;<sup>2</sup>) / &#963;<sup>2</sup>
- </p>
-<p>
- For sigma parameter &#963; &#160; &gt; 0, and x &gt; 0.
- </p>
-<p>
- The Rayleigh distribution is often used where two orthogonal components
- have an absolute value, for example, wind velocity and direction may
- be combined to yield a wind speed, or real and imaginary components may
- have absolute values that are Rayleigh distributed.
- </p>
-<p>
- The following graph illustrates how the Probability density Function(pdf)
- varies with the shape parameter &#963;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/rayleigh_pdf.png" align="middle"></span>
- </p>
-<p>
- and the Cumulative Distribution Function (cdf)
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/rayleigh_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.rayleigh.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.rayleigh.related_distributions"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist.dist_ref.dists.rayleigh.related_distributions">Related
- distributions</a>
- </h5>
-<p>
- The absolute value of two independent normal distributions X and Y, &#8730; (X<sup>2</sup> +
- Y<sup>2</sup>) is a Rayleigh distribution.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Chi_distribution" target="_top">Chi</a>,
- <a href="http://en.wikipedia.org/wiki/Rice_distribution" target="_top">Rice</a>
- and <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull</a>
- distributions are generalizations of the <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
- distribution</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.rayleigh.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.rayleigh.member_functions"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist.dist_ref.dists.rayleigh.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">rayleigh_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">sigma</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">Rayleigh
- distribution</a> with &#963; <span class="emphasis"><em>sigma</em></span>.
- </p>
-<p>
- Requires that the &#963; parameter is greater than zero, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">sigma</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>sigma</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.rayleigh.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.rayleigh.non_member_accessors"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist.dist_ref.dists.rayleigh.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0, max_value].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.rayleigh.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.rayleigh.accuracy"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist.dist_ref.dists.rayleigh.accuracy">Accuracy</a>
- </h5>
-<p>
- The Rayleigh distribution is implemented in terms of the standard library
- <code class="computeroutput"><span class="identifier">sqrt</span></code> and <code class="computeroutput"><span class="identifier">exp</span></code> and as such should have very low
- error rates. Some constants such as skewness and kurtosis were calculated
- using NTL RR type with 150-bit accuracy, about 50 decimal digits.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.rayleigh.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.rayleigh.implementation"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist.dist_ref.dists.rayleigh.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#963; &#160; is the sigma parameter of the distribution, <span class="emphasis"><em>x</em></span>
- is the random variate, <span class="emphasis"><em>p</em></span> is the probability and
- <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = x * exp(-x<sup>2</sup>)/2 &#963;<sup>2</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = 1 - exp(-x<sup>2</sup>/2) &#963;<sup>2</sup> &#160; = -<a class="link" href="../../../special/powers/expm1.html" title="expm1">expm1</a>(-x<sup>2</sup>/2)
- &#963;<sup>2</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = exp(-x<sup>2</sup>/ 2) * &#963;<sup>2</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = sqrt(-2 * &#963; <sup>2</sup>) * log(1 - p)) = sqrt(-2
- * &#963; <sup>2</sup>) * <a class="link" href="../../../special/powers/log1p.html" title="log1p">log1p</a>(-p))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = sqrt(-2 * &#963; <sup>2</sup>) * log(q))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#963; * sqrt(&#960;/2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- &#963;<sup>2</sup> * (4 - &#960;/2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- &#963;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- Constant from <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
- Eric W. "Weibull Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- Constant from <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
- Eric W. "Weibull Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- Constant from <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
- Eric W. "Weibull Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.rayleigh.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.rayleigh.references"></a></span><a class="link" href="rayleigh.html#math_toolkit.dist.dist_ref.dists.rayleigh.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Rayleigh_distribution" target="_top">http://en.wikipedia.org/wiki/Rayleigh_distribution</a>
- </li>
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/RayleighDistribution.html" target="_top">Weisstein,
- Eric W. "Rayleigh Distribution." From MathWorld--A Wolfram
- Web Resource.</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="poisson_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="skew_normal_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/skew_normal_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/skew_normal_dist.html
deleted file mode 100644
index 73bd8b63b3..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/skew_normal_dist.html
+++ /dev/null
@@ -1,504 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Skew Normal Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="rayleigh.html" title="Rayleigh Distribution">
-<link rel="next" href="students_t_dist.html" title="Students t Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rayleigh.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="students_t_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_skew_normal_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist"></a><a class="link" href="skew_normal_dist.html" title="Skew Normal Distribution">Skew
- Normal Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">skew_normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">skew_normal_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">skew_normal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">skew_normal_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Constructor:</span>
- <span class="identifier">skew_normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// mean if normal.</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// width, standard deviation if normal.</span>
- <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="comment">// The distribution is right skewed if shape &gt; 0 and is left skewed if shape &lt; 0.</span>
- <span class="comment">// The distribution is normal if shape is zero.</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The skew normal distribution is a variant of the most well known Gaussian
- statistical distribution.
- </p>
-<p>
- The skew normal distribution with shape zero resembles the <a href="http://en.wikipedia.org/wiki/Normal_distribution" target="_top">Normal
- Distribution</a>, hence the latter can be regarded as a special case
- of the more generic skew normal distribution.
- </p>
-<p>
- If the standard (mean = 0, scale = 1) normal distribution probability
- density function is
- </p>
-<p>
- &#160; &#160; <span class="inlinemediaobject"><img src="../../../../../equations/normal01_pdf.png"></span>
- </p>
-<p>
- and the cumulative distribution function
- </p>
-<p>
- &#160; &#160; <span class="inlinemediaobject"><img src="../../../../../equations/normal01_cdf.png"></span>
- </p>
-<p>
- then the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">PDF</a>
- of the <a href="http://en.wikipedia.org/wiki/Skew_normal_distribution" target="_top">skew
- normal distribution</a> with shape parameter &#945;, defined by O'Hagan
- and Leonhard (1976) is
- </p>
-<p>
- &#160; &#160; <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_pdf0.png"></span>
- </p>
-<p>
- Given <a href="http://en.wikipedia.org/wiki/Location_parameter" target="_top">location</a>
- &#958;, <a href="http://en.wikipedia.org/wiki/Scale_parameter" target="_top">scale</a>
- &#969;, and <a href="http://en.wikipedia.org/wiki/Shape_parameter" target="_top">shape</a>
- &#945;, it can be <a href="http://en.wikipedia.org/wiki/Skew_normal_distribution" target="_top">transformed</a>,
- to the form:
- </p>
-<p>
- &#160; &#160; <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_pdf.png"></span>
- </p>
-<p>
- and <a href="http://en.wikipedia.org/wiki/Cumulative_distribution_function" target="_top">CDF</a>:
- </p>
-<p>
- &#160; &#160; <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_cdf.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>T(h,a)</em></span> is Owen's T function, and <span class="emphasis"><em>&#934;(x)</em></span>
- is the normal distribution.
- </p>
-<p>
- The variation the PDF and CDF with its parameters is illustrated in the
- following graphs:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/skew_normal_pdf.png" align="middle"></span>
- <span class="inlinemediaobject"><img src="../../../../../graphs/skew_normal_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.member_functions"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist.dist_ref.dists.skew_normal_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">skew_normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">location</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a skew_normal distribution with location &#958;, scale &#969; and shape
- &#945;.
- </p>
-<p>
- Requires scale &gt; 0, otherwise <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">location</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- returns the location &#958; of this distribution,
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- returns the scale &#969; of this distribution,
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- returns the shape &#945; of this distribution.
- </p>
-<p>
- (Location and scale function match other similar distributions, allowing
- the functions <code class="computeroutput"><span class="identifier">find_location</span></code>
- and <code class="computeroutput"><span class="identifier">find_scale</span></code> to be
- used generically).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- While the shape parameter may be chosen arbitrarily (finite), the resulting
- <span class="bold"><strong>skewness</strong></span> of the distribution is in
- fact limited to about (-1, 1); strictly, the interval is (-0.9952717,
- 0.9952717).
- </p>
-<p>
- A parameter &#948; is related to the shape &#945; by &#948; = &#945; / (1 + &#945;&#178;), and used in the
- expression for skewness <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_skewness.png"></span>
-
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.references"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist.dist_ref.dists.skew_normal_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://azzalini.stat.unipd.it/SN/" target="_top">Skew-Normal Probability
- Distribution</a> for many links and bibliography.
- </li>
-<li class="listitem">
- <a href="http://azzalini.stat.unipd.it/SN/Intro/intro.html" target="_top">A
- very brief introduction to the skew-normal distribution</a> by
- Adelchi Azzalini (2005-11-2).
- </li>
-<li class="listitem">
- See a <a href="http://www.tri.org.au/azzalini.html" target="_top">skew-normal
- function animation</a>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.non_member_accessors"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist.dist_ref.dists.skew_normal_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is <span class="emphasis"><em>-[max_value</em></span>,
- +[min_value]]. Infinite values are not supported.
- </p>
-<p>
- There are no <a href="http://en.wikipedia.org/wiki/Closed-form_expression" target="_top">closed-form
- expression</a> known for the mode and median, but these are computed
- for the
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- mode - by finding the maximum of the PDF.
- </li>
-<li class="listitem">
- median - by computing <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="number">1</span><span class="special">/</span><span class="number">2</span><span class="special">)</span></code>.
- </li>
-</ul></div>
-<p>
- The maximum of the PDF is sought through searching the root of f'(x)=0.
- </p>
-<p>
- Both involve iterative methods that will have lower accuracy than other
- estimates.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.testing"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist.dist_ref.dists.skew_normal_dist.testing">Testing</a>
- </h5>
-<p>
- <a href="http://www.r-project.org/" target="_top">The R Project for Statistical
- Computing</a> using library(sn) described at <a href="http://azzalini.stat.unipd.it/SN/" target="_top">Skew-Normal
- Probability Distribution</a>, and at <a href="http://cran.r-project.org/web/packages/sn/sn.pd" target="_top">R
- skew-normal(sn) package</a>.
- </p>
-<p>
- Package sn provides functions related to the skew-normal (SN) and the
- skew-t (ST) probability distributions, both for the univariate and for
- the the multivariate case, including regression models.
- </p>
-<p>
- <a href="http://www.wolfram.com/products/mathematica/index.html" target="_top">Wolfram
- Mathematica</a> was also used to generate some more accurate spot
- test data.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.accuracy"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist.dist_ref.dists.skew_normal_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The skew_normal distribution with shape = zero is implemented as a special
- case, equivalent to the normal distribution in terms of the <a class="link" href="../../../special/sf_erf/error_function.html" title="Error Functions">error
- function</a>, and therefore should have excellent accuracy.
- </p>
-<p>
- The PDF and mean, variance, skewness and kurtosis are also accurately
- evaluated using <a href="http://en.wikipedia.org/wiki/Analytical_expression" target="_top">analytical
- expressions</a>. The CDF requires <a href="http://en.wikipedia.org/wiki/Owen%27s_T_function" target="_top">Owen's
- T function</a> that is evaluated using a Boost C++ <a class="link" href="../../../special/owens_t.html" title="Owen's T function">Owens
- T</a> implementation of the algorithms of M. Patefield and D. Tandy,
- Journal of Statistical Software, 5(5), 1-25 (2000); the complicated accuracy
- of this function is discussed in detail at <a class="link" href="../../../special/owens_t.html" title="Owen's T function">Owens
- T</a>.
- </p>
-<p>
- The median and mode are calculated by iterative root finding, and both
- will be less accurate.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.skew_normal_dist.implementation"></a></span><a class="link" href="skew_normal_dist.html#math_toolkit.dist.dist_ref.dists.skew_normal_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table, &#958; is the location of the distribution, and &#969; is its
- scale, and &#945; is its shape.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using: <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_pdf.png"></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using: <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_cdf.png"></span><br> where <span class="emphasis"><em>T(h,a)</em></span>
- is Owen's T function, and <span class="emphasis"><em>&#934;(x)</em></span> is the normal
- distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using: complement of normal distribution + 2 * Owens_t
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Maximum of the pdf is sought through searching the root of
- f'(x)=0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- -quantile(SN(-location &#958;, scale &#969;, -shape&#945;), p)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- location
- </p>
- </td>
-<td>
- <p>
- location &#958;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- scale
- </p>
- </td>
-<td>
- <p>
- scale &#969;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- shape
- </p>
- </td>
-<td>
- <p>
- shape &#945;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- median
- </p>
- </td>
-<td>
- <p>
- quantile(1/2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_mean.png"></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- Maximum of the pdf is sought through searching the root of
- f'(x)=0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_variance.png"></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_skewness.png"></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- kurtosis excess-3
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- <span class="inlinemediaobject"><img src="../../../../../equations/skew_normal_kurt_ex.png"></span>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rayleigh.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="students_t_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/students_t_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/students_t_dist.html
deleted file mode 100644
index 40df64738c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/students_t_dist.html
+++ /dev/null
@@ -1,422 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Students t Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="skew_normal_dist.html" title="Skew Normal Distribution">
-<link rel="next" href="triangular_dist.html" title="Triangular Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="skew_normal_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="triangular_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_students_t_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.students_t_dist"></a><a class="link" href="students_t_dist.html" title="Students t Distribution">Students
- t Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">students_t_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">students_t_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">students_t</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">students_t_distribution</span>
-<span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="comment">// Construct:</span>
- <span class="identifier">students_t_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
- <span class="comment">// Accessor:</span>
- <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// degrees of freedom estimation:</span>
- <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">difference_from_mean</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">sd</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- A statistical distribution published by William Gosset in 1908. His employer,
- Guinness Breweries, required him to publish under a pseudonym, so he
- chose "Student". Given N independent measurements, let
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/students_t_dist.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>M</em></span> is the population mean,<span class="emphasis"><em>&#956;</em></span>
- is the sample mean, and <span class="emphasis"><em>s</em></span> is the sample variance.
- </p>
-<p>
- Student's t-distribution is defined as the distribution of the random
- 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:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../equations/students_t_ref1.png"></span>
- </p>
-<p>
- The Student's t-distribution takes a single parameter: the number of
- degrees of freedom of the sample. When the degrees of freedom is <span class="emphasis"><em>one</em></span>
- then this distribution is the same as the Cauchy-distribution. As the
- number of degrees of freedom tends towards infinity, then this distribution
- approaches the normal-distribution. The following graph illustrates how
- the PDF varies with the degrees of freedom &#957;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/students_t_pdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.students_t_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.students_t_dist.member_functions"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist.dist_ref.dists.students_t_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">students_t_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a Student's t-distribution with <span class="emphasis"><em>v</em></span> degrees
- of freedom.
- </p>
-<p>
- Requires v &gt; 0, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- Note that non-integral degrees of freedom are supported, and meaningful
- under certain circumstances.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the number of degrees of freedom of this distribution.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="identifier">RealType</span> <span class="identifier">difference_from_mean</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">sd</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">hint</span> <span class="special">=</span> <span class="number">100</span><span class="special">);</span>
-</pre>
-<p>
- Returns the number of degrees of freedom required to observe a significant
- result in the Student's t test when the mean differs from the "true"
- mean by <span class="emphasis"><em>difference_from_mean</em></span>.
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">difference_from_mean</span></dt>
-<dd><p>
- The difference between the true mean and the sample mean that we
- wish to show is significant.
- </p></dd>
-<dt><span class="term">alpha</span></dt>
-<dd><p>
- The maximum acceptable probability of rejecting the null hypothesis
- when it is in fact true.
- </p></dd>
-<dt><span class="term">beta</span></dt>
-<dd><p>
- The maximum acceptable probability of failing to reject the null
- hypothesis when it is in fact false.
- </p></dd>
-<dt><span class="term">sd</span></dt>
-<dd><p>
- The sample standard deviation.
- </p></dd>
-<dt><span class="term">hint</span></dt>
-<dd><p>
- A hint for the location to start looking for the result, a good
- choice for this would be the sample size of a previous borderline
- Student's t test.
- </p></dd>
-</dl>
-</div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Remember that for a two-sided test, you must divide alpha by two before
- calling this function.
- </p></td></tr>
-</table></div>
-<p>
- For more information on this function see the <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc222.htm" target="_top">NIST
- Engineering Statistics Handbook</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.students_t_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.students_t_dist.non_member_accessors"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist.dist_ref.dists.students_t_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [-&#8734;, +&#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.students_t_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.students_t_dist.examples"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist.dist_ref.dists.students_t_dist.examples">Examples</a>
- </h5>
-<p>
- Various <a class="link" href="../../stat_tut/weg/st_eg.html" title="Student's t Distribution Examples">worked examples</a>
- are available illustrating the use of the Student's t distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.students_t_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.students_t_dist.accuracy"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist.dist_ref.dists.students_t_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The normal distribution is implemented in terms of the <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">incomplete
- beta function</a> and <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">its
- inverses</a>, refer to accuracy data on those functions for more information.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.students_t_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.students_t_dist.implementation"></a></span><a class="link" href="students_t_dist.html#math_toolkit.dist.dist_ref.dists.students_t_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table <span class="emphasis"><em>v</em></span> is the degrees of freedom
- of the distribution, <span class="emphasis"><em>t</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
- is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = (v / (v + t<sup>2</sup>))<sup>(1+v)/2 </sup> / (sqrt(v)
- * <a class="link" href="../../../special/sf_beta/beta_function.html" title="Beta">beta</a>(v/2,
- 0.5))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relations:
- </p>
- <p>
- p = 1 - z <span class="emphasis"><em>iff t &gt; 0</em></span>
- </p>
- <p>
- p = z <span class="emphasis"><em>otherwise</em></span>
- </p>
- <p>
- where z is given by:
- </p>
- <p>
- <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>(v
- / 2, 0.5, v / (v + t<sup>2</sup>)) / 2 <span class="emphasis"><em>iff v &lt; 2t<sup>2</sup></em></span>
- </p>
- <p>
- <a class="link" href="../../../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>(0.5,
- v / 2, t<sup>2 </sup> / (v + t<sup>2</sup>) / 2 <span class="emphasis"><em>otherwise</em></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = cdf(-t)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: t = sign(p - 0.5) * sqrt(v * y / x)
- </p>
- <p>
- where:
- </p>
- <p>
- x = <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>(v
- / 2, 0.5, 2 * min(p, q))
- </p>
- <p>
- y = 1 - x
- </p>
- <p>
- The quantities <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>
- are both returned by <a class="link" href="../../../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
- without the subtraction implied above.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: t = -quantile(q)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- v / (v - 2)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 3 * (v - 2) / (v - 4)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- 6 / (df - 4)
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="skew_normal_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="triangular_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/triangular_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/triangular_dist.html
deleted file mode 100644
index 977829a0bf..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/triangular_dist.html
+++ /dev/null
@@ -1,428 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Triangular Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="students_t_dist.html" title="Students t Distribution">
-<link rel="next" href="uniform_dist.html" title="Uniform Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="students_t_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="uniform_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_triangular_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.triangular_dist"></a><a class="link" href="triangular_dist.html" title="Triangular Distribution">Triangular
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">triangular</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">triangular_distribution</span><span class="special">;</span>
-
- <span class="keyword">typedef</span> <span class="identifier">triangular_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">triangular</span><span class="special">;</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">triangular_distribution</span>
- <span class="special">{</span>
- <span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
-
- <span class="identifier">triangular_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">mode</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Constructor.</span>
- <span class="special">:</span> <span class="identifier">m_lower</span><span class="special">(</span><span class="identifier">lower</span><span class="special">),</span> <span class="identifier">m_mode</span><span class="special">(</span><span class="identifier">mode</span><span class="special">),</span> <span class="identifier">m_upper</span><span class="special">(</span><span class="identifier">upper</span><span class="special">)</span> <span class="comment">// Default is -1, 0, +1 triangular distribution.</span>
- <span class="comment">// Accessor functions.</span>
- <span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">mode</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="special">};</span> <span class="comment">// class triangular_distribution</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">triangular
- distribution</a> is a <a href="http://en.wikipedia.org/wiki/Continuous_distribution" target="_top">continuous</a>
- <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">probability
- distribution</a> with a lower limit a, <a href="http://en.wikipedia.org/wiki/Mode_%28statistics%29" target="_top">mode
- c</a>, and upper limit b.
- </p>
-<p>
- The triangular distribution is often used where the distribution is only
- vaguely known, but, like the <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">uniform
- distribution</a>, upper and limits are 'known', but a 'best guess',
- the mode or center point, is also added. It has been recommended as a
- <a href="http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf" target="_top">proxy
- for the beta distribution.</a> The distribution is used in business
- decision making and project planning.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">triangular
- distribution</a> is a distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function</a>:
- </p>
-<p>
- f(x) =
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- 2(x-a)/(b-a) (c-a) for a &lt;= x &lt;= c
- </li>
-<li class="listitem">
- 2(b-x)/(b-a)(b-c) for c &lt; x &lt;= b
- </li>
-</ul></div>
-<p>
- Parameter a (lower) can be any finite value. Parameter b (upper) can
- be any finite value &gt; a (lower). Parameter c (mode) a &lt;= c &lt;=
- b. This is the most probable value.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random variate</a>
- x must also be finite, and is supported lower &lt;= x &lt;= upper.
- </p>
-<p>
- The triangular distribution may be appropriate when an assumption of
- a normal distribution is unjustified because uncertainty is caused by
- rounding and quantization from analog to digital conversion. Upper and
- lower limits are known, and the most probable value lies midway.
- </p>
-<p>
- The distribution simplifies when the 'best guess' is either the lower
- or upper limit - a 90 degree angle triangle. The default chosen is the
- 001 triangular distribution which expresses an estimate that the lowest
- value is the most likely; for example, you believe that the next-day
- quoted delivery date is most likely (knowing that a quicker delivery
- is impossible - the postman only comes once a day), and that longer delays
- are decreasingly likely, and delivery is assumed to never take more than
- your upper limit.
- </p>
-<p>
- The following graph illustrates how the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function PDF</a> varies with the various parameters:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/triangular_pdf.png" align="middle"></span>
- </p>
-<p>
- and cumulative distribution function
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/triangular_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.triangular_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.triangular_dist.member_functions"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist.dist_ref.dists.triangular_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">triangular_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">mode</span> <span class="special">=</span> <span class="number">0</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a <a href="http://en.wikipedia.org/wiki/triangular_distribution" target="_top">triangular
- distribution</a> with lower <span class="emphasis"><em>lower</em></span> (a) and upper
- <span class="emphasis"><em>upper</em></span> (b).
- </p>
-<p>
- Requires that the <span class="emphasis"><em>lower</em></span>, <span class="emphasis"><em>mode</em></span>
- and <span class="emphasis"><em>upper</em></span> parameters are all finite, otherwise calls
- <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>lower</em></span> parameter of this distribution
- (default -1).
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">mode</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>mode</em></span> parameter of this distribution
- (default 0).
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>upper</em></span> parameter of this distribution
- (default+1).
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.triangular_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.triangular_dist.non_member_accessors"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist.dist_ref.dists.triangular_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is \lowerto \upper, and the supported
- range is lower &lt;= x &lt;= upper.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.triangular_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.triangular_dist.accuracy"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist.dist_ref.dists.triangular_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The triangular distribution is implemented with simple arithmetic operators
- and so should have errors within an epsilon or two, except quantiles
- with arguments nearing the extremes of zero and unity.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.triangular_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.triangular_dist.implementation"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist.dist_ref.dists.triangular_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table, a is the <span class="emphasis"><em>lower</em></span> parameter
- of the distribution, c is the <span class="emphasis"><em>mode</em></span> parameter, b
- is the <span class="emphasis"><em>upper</em></span> parameter, <span class="emphasis"><em>x</em></span> is
- the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
- = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = 0 for x &lt; mode, 2(x-a)/(b-a)(c-a)
- else 2*(b-x)/((b-a)(b-c))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: cdf = 0 for x &lt; mode (x-a)<sup>2</sup>/((b-a)(c-a))
- else 1 - (b-x)<sup>2</sup>/((b-a)(b-c))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = 1 - p
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- let p0 = (c-a)/(b-a) the point of inflection on the cdf, then
- given probability p and q = 1-p:
- </p>
- <p>
- x = sqrt((b-a)(c-a)p) + a ; for p &lt; p0
- </p>
- <p>
- x = c ; for p == p0
- </p>
- <p>
- x = b - sqrt((b-a)(b-c)q) ; for p &gt; p0
- </p>
- <p>
- (See <a href="../../../../../../../../../boost/math/distributions/triangular.hpp" target="_top">/boost/math/distributions/triangular.hpp</a>
- for details.)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- As quantile (See <a href="../../../../../../../../../boost/math/distributions/triangular.hpp" target="_top">/boost/math/distributions/triangular.hpp</a>
- for details.)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- (a + b + 3) / 3
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- (a<sup>2</sup>+b<sup>2</sup>+c<sup>2</sup> - ab - ac - bc)/18
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- c
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- (See <a href="../../../../../../../../../boost/math/distributions/triangular.hpp" target="_top">/boost/math/distributions/triangular.hpp</a>
- for details).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 12/5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- -3/5
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Some 'known good' test values were obtained from <a href="http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm" target="_top">Statlet:
- Calculate and plot probability distributions</a>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.triangular_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.triangular_dist.references"></a></span><a class="link" href="triangular_dist.html#math_toolkit.dist.dist_ref.dists.triangular_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Triangular_distribution" target="_top">Wikpedia
- triangular distribution</a>
- </li>
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/TriangularDistribution.html" target="_top">Weisstein,
- Eric W. "Triangular Distribution." From MathWorld--A Wolfram
- Web Resource.</a>
- </li>
-<li class="listitem">
- Evans, M.; Hastings, N.; and Peacock, B. "Triangular Distribution."
- Ch. 40 in Statistical Distributions, 3rd ed. New York: Wiley, pp.
- 187-188, 2000, ISBN - 0471371246]
- </li>
-<li class="listitem">
- <a href="http://www.brighton-webs.co.uk/distributions/triangular.asp" target="_top">Brighton
- Webs Ltd. BW D-Calc 1.0 Distribution Calculator</a>
- </li>
-<li class="listitem">
- <a href="http://www.worldscibooks.com/mathematics/etextbook/5720/5720_chap1.pdf" target="_top">The
- Triangular Distribution including its history.</a>
- </li>
-<li class="listitem">
- <a href="http://www.measurement.sk/2002/S1/Wimmer2.pdf" target="_top">Gejza
- Wimmer, Viktor Witkovsky and Tomas Duby, Measurement Science Review,
- Volume 2, Section 1, 2002, Proper Rounding Of The Measurement Results
- Under The Assumption Of Triangular Distribution.</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="students_t_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="uniform_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/uniform_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/uniform_dist.html
deleted file mode 100644
index 76bcfddd0c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/uniform_dist.html
+++ /dev/null
@@ -1,371 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Uniform Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="triangular_dist.html" title="Triangular Distribution">
-<link rel="next" href="weibull_dist.html" title="Weibull Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="triangular_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weibull_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_uniform_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.uniform_dist"></a><a class="link" href="uniform_dist.html" title="Uniform Distribution">Uniform
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">uniform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">uniform_distribution</span><span class="special">;</span>
-
- <span class="keyword">typedef</span> <span class="identifier">uniform_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">uniform</span><span class="special">;</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">uniform_distribution</span>
- <span class="special">{</span>
- <span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
-
- <span class="identifier">uniform_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Constructor.</span>
- <span class="special">:</span> <span class="identifier">m_lower</span><span class="special">(</span><span class="identifier">lower</span><span class="special">),</span> <span class="identifier">m_upper</span><span class="special">(</span><span class="identifier">upper</span><span class="special">)</span> <span class="comment">// Default is standard uniform distribution.</span>
- <span class="comment">// Accessor functions.</span>
- <span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="special">};</span> <span class="comment">// class uniform_distribution</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The uniform distribution, also known as a rectangular distribution, is
- a probability distribution that has constant probability.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">continuous
- uniform distribution</a> is a distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function</a>:
- </p>
-<p>
- f(x) =
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- 1 / (upper - lower) for lower &lt; x &lt; upper
- </li>
-<li class="listitem">
- zero for x &lt; lower or x &gt; upper
- </li>
-</ul></div>
-<p>
- and in this implementation:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- 1 / (upper - lower) for x = lower or x = upper
- </li></ul></div>
-<p>
- The choice of x = lower or x = upper is made because statistical use
- of this distribution judged is most likely: the method of maximum likelihood
- uses this definition.
- </p>
-<p>
- There is also a <a href="http://en.wikipedia.org/wiki/Discrete_uniform_distribution" target="_top"><span class="bold"><strong>discrete</strong></span> uniform distribution</a>.
- </p>
-<p>
- Parameters lower and upper can be any finite value.
- </p>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random variate</a>
- x must also be finite, and is supported lower &lt;= x &lt;= upper.
- </p>
-<p>
- The lower parameter is also called the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm" target="_top">location
- parameter</a>, <a href="http://en.wikipedia.org/wiki/Location_parameter" target="_top">that
- is where the origin of a plot will lie</a>, and (upper - lower) is
- also called the <a href="http://en.wikipedia.org/wiki/Scale_parameter" target="_top">scale
- parameter</a>.
- </p>
-<p>
- The following graph illustrates how the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function PDF</a> varies with the shape parameter:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/uniform_pdf.png" align="middle"></span>
- </p>
-<p>
- Likewise for the CDF:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/uniform_cdf.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.uniform_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.uniform_dist.member_functions"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist.dist_ref.dists.uniform_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">uniform_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a <a href="http://en.wikipedia.org/wiki/uniform_distribution" target="_top">uniform
- distribution</a> with lower <span class="emphasis"><em>lower</em></span> (a) and upper
- <span class="emphasis"><em>upper</em></span> (b).
- </p>
-<p>
- Requires that the <span class="emphasis"><em>lower</em></span> and <span class="emphasis"><em>upper</em></span>
- parameters are both finite; otherwise if infinity or NaN then calls
- <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">lower</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>lower</em></span> parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">upper</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>upper</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.uniform_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.uniform_dist.non_member_accessors"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist.dist_ref.dists.uniform_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is any finite value, but the supported
- range is only <span class="emphasis"><em>lower</em></span> &lt;= x &lt;= <span class="emphasis"><em>upper</em></span>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.uniform_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.uniform_dist.accuracy"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist.dist_ref.dists.uniform_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The uniform distribution is implemented with simple arithmetic operators
- and so should have errors within an epsilon or two.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.uniform_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.uniform_dist.implementation"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist.dist_ref.dists.uniform_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table a is the <span class="emphasis"><em>lower</em></span> parameter
- of the distribution, b is the <span class="emphasis"><em>upper</em></span> parameter,
- <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
- is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = 0 for x &lt; a, 1 / (b - a) for a
- &lt;= x &lt;= b, 0 for x &gt; b
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: cdf = 0 for x &lt; a, (x - a) / (b - a)
- for a &lt;= x &lt;= b, 1 for x &gt; b
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = 1 - p, (b - x) / (b - a)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = p * (b - a) + a;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- x = -q * (b - a) + b
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- (a + b) / 2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- (b - a) <sup>2</sup> / 12
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- any value in [a, b] but a is chosen. (Would NaN be better?)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- -6/5 = -1.2 exactly. (kurtosis - 3)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- 9/5
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.uniform_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.uniform_dist.references"></a></span><a class="link" href="uniform_dist.html#math_toolkit.dist.dist_ref.dists.uniform_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29" target="_top">Wikpedia
- continuous uniform distribution</a>
- </li>
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/UniformDistribution.html" target="_top">Weisstein,
- Weisstein, Eric W. "Uniform Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </li>
-<li class="listitem">
- <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3662.htm" target="_top">http://www.itl.nist.gov/div898/handbook/eda/section3/eda3662.htm</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="triangular_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weibull_dist.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/weibull_dist.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/weibull_dist.html
deleted file mode 100644
index 4e210c1cdc..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/weibull_dist.html
+++ /dev/null
@@ -1,371 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Weibull Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dists.html" title="Distributions">
-<link rel="prev" href="uniform_dist.html" title="Uniform Distribution">
-<link rel="next" href="../dist_algorithms.html" title="Distribution Algorithms">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="uniform_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_algorithms.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_dists_weibull_dist">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.dist_ref.dists.weibull_dist"></a><a class="link" href="weibull_dist.html" title="Weibull Distribution">Weibull
- Distribution</a>
-</h5></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">weibull</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
- <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a> <span class="special">=</span> <a class="link" href="../../../policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy&lt;&gt;</a> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">weibull_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">weibull_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">weibull</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">weibull_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
- <span class="comment">// Construct:</span>
- <span class="identifier">weibull_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
- <span class="comment">// Accessors:</span>
- <span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull
- distribution</a> is a continuous distribution with the <a href="http://en.wikipedia.org/wiki/Probability_density_function" target="_top">probability
- density function</a>:
- </p>
-<p>
- f(x; &#945;, &#946;) = (&#945;/&#946;) * (x / &#946;)<sup>&#945; - 1</sup> * e<sup>-(x/&#946;)<sup>&#945;</sup></sup>
- </p>
-<p>
- For shape parameter &#945; &#160; &gt; 0, and scale parameter &#946; &#160; &gt; 0, and x &gt; 0.
- </p>
-<p>
- The Weibull distribution is often used in the field of failure analysis;
- in particular it can mimic distributions where the failure rate varies
- over time. If the failure rate is:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- constant over time, then &#945; &#160; = 1, suggests that items are failing from
- random events.
- </li>
-<li class="listitem">
- decreases over time, then &#945; &#160; &lt; 1, suggesting "infant mortality".
- </li>
-<li class="listitem">
- increases over time, then &#945; &#160; &gt; 1, suggesting "wear out"
- - more likely to fail as time goes by.
- </li>
-</ul></div>
-<p>
- The following graph illustrates how the PDF varies with the shape parameter
- &#945;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/weibull_pdf1.png" align="middle"></span>
- </p>
-<p>
- While this graph illustrates how the PDF varies with the scale parameter
- &#946;:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/weibull_pdf2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.weibull_dist.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.weibull_dist.related_distributions"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist.dist_ref.dists.weibull_dist.related_distributions">Related
- distributions</a>
- </h5>
-<p>
- When &#945; &#160; = 3, the <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull
- distribution</a> appears similar to the <a href="http://en.wikipedia.org/wiki/Normal_distribution" target="_top">normal
- distribution</a>. When &#945; &#160; = 1, the Weibull distribution reduces to the
- <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">exponential
- distribution</a>. The relationship of the types of extreme value
- distributions, of which the Weibull is but one, is discussed by <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme Value
- Distributions, Theory and Applications Samuel Kotz &amp; Saralees Nadarajah</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.weibull_dist.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.weibull_dist.member_functions"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist.dist_ref.dists.weibull_dist.member_functions">Member
- Functions</a>
- </h5>
-<pre class="programlisting"><span class="identifier">weibull_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Constructs a <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">Weibull
- distribution</a> with shape <span class="emphasis"><em>shape</em></span> and scale
- <span class="emphasis"><em>scale</em></span>.
- </p>
-<p>
- Requires that the <span class="emphasis"><em>shape</em></span> and <span class="emphasis"><em>scale</em></span>
- parameters are both greater than zero, otherwise calls <a class="link" href="../../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">shape</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>shape</em></span> parameter of this distribution.
- </p>
-<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">scale</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-</pre>
-<p>
- Returns the <span class="emphasis"><em>scale</em></span> parameter of this distribution.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.weibull_dist.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.weibull_dist.non_member_accessors"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist.dist_ref.dists.weibull_dist.non_member_accessors">Non-member
- Accessors</a>
- </h5>
-<p>
- All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member
- accessor functions</a> that are generic to all distributions are supported:
- <a class="link" href="../nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../nmp.html#math.dist.mean">mean</a>, <a class="link" href="../nmp.html#math.dist.median">median</a>,
- <a class="link" href="../nmp.html#math.dist.mode">mode</a>, <a class="link" href="../nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../nmp.html#math.dist.range">range</a> and <a class="link" href="../nmp.html#math.dist.support">support</a>.
- </p>
-<p>
- The domain of the random variable is [0, &#8734;].
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.weibull_dist.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.weibull_dist.accuracy"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist.dist_ref.dists.weibull_dist.accuracy">Accuracy</a>
- </h5>
-<p>
- The Weibull distribution is implemented in terms of the standard library
- <code class="computeroutput"><span class="identifier">log</span></code> and <code class="computeroutput"><span class="identifier">exp</span></code> functions plus <a class="link" href="../../../special/powers/expm1.html" title="expm1">expm1</a>
- and <a class="link" href="../../../special/powers/log1p.html" title="log1p">log1p</a> and
- as such should have very low error rates.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.weibull_dist.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.weibull_dist.implementation"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist.dist_ref.dists.weibull_dist.implementation">Implementation</a>
- </h5>
-<p>
- In the following table &#945; &#160; is the shape parameter of the distribution, &#946; &#160; is
- its scale parameter, <span class="emphasis"><em>x</em></span> is the random variate, <span class="emphasis"><em>p</em></span>
- is the probability and <span class="emphasis"><em>q = 1-p</em></span>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Implementation Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- pdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: pdf = &#945;&#946;<sup>-&#945; </sup>x<sup>&#945; - 1</sup> e<sup>-(x/beta)<sup>alpha</sup></sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf
- </p>
- </td>
-<td>
- <p>
- Using the relation: p = -<a class="link" href="../../../special/powers/expm1.html" title="expm1">expm1</a>(-(x/&#946;)<sup>&#945;</sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: q = e<sup>-(x/&#946;)<sup>&#945;</sup></sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#946; * (-<a class="link" href="../../../special/powers/log1p.html" title="log1p">log1p</a>(-p))<sup>1/&#945;</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile from the complement
- </p>
- </td>
-<td>
- <p>
- Using the relation: x = &#946; * (-log(q))<sup>1/&#945;</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean
- </p>
- </td>
-<td>
- <p>
- &#946; * &#915;(1 + 1/&#945;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance
- </p>
- </td>
-<td>
- <p>
- &#946;<sup>2</sup>(&#915;(1 + 2/&#945;) - &#915;<sup>2</sup>(1 + 1/&#945;))
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode
- </p>
- </td>
-<td>
- <p>
- &#946;((&#945; - 1) / &#945;)<sup>1/&#945;</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness
- </p>
- </td>
-<td>
- <p>
- Refer to <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
- Eric W. "Weibull Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis
- </p>
- </td>
-<td>
- <p>
- Refer to <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
- Eric W. "Weibull Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis excess
- </p>
- </td>
-<td>
- <p>
- Refer to <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
- Eric W. "Weibull Distribution." From MathWorld--A
- Wolfram Web Resource.</a>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.dists.weibull_dist.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.dists.weibull_dist.references"></a></span><a class="link" href="weibull_dist.html#math_toolkit.dist.dist_ref.dists.weibull_dist.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a href="http://en.wikipedia.org/wiki/Weibull_distribution" target="_top">http://en.wikipedia.org/wiki/Weibull_distribution</a>
- </li>
-<li class="listitem">
- <a href="http://mathworld.wolfram.com/WeibullDistribution.html" target="_top">Weisstein,
- Eric W. "Weibull Distribution." From MathWorld--A Wolfram
- Web Resource.</a>
- </li>
-<li class="listitem">
- <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3668.htm" target="_top">Weibull
- in NIST Exploratory Data Analysis</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="uniform_dist.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_algorithms.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/nmp.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/nmp.html
deleted file mode 100644
index 487d769c63..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/nmp.html
+++ /dev/null
@@ -1,675 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Non-Member Properties</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../dist_ref.html" title="Statistical Distributions Reference">
-<link rel="prev" href="../dist_ref.html" title="Statistical Distributions Reference">
-<link rel="next" href="dists.html" title="Distributions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_dist_ref_nmp">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.dist.dist_ref.nmp"></a><a class="link" href="nmp.html" title="Non-Member Properties">Non-Member Properties</a>
-</h4></div></div></div>
-<p>
- Properties that are common to all distributions are accessed via non-member
- getter functions: non-membership allows more of these functions to be added
- over time, as the need arises. Unfortunately the literature uses many different
- and confusing names to refer to a rather small number of actual concepts;
- refer to the <a class="link" href="nmp.html#concept_index">concept index</a> to find
- the property you want by the name you are most familiar with. Or use the
- <a class="link" href="nmp.html#function_index">function index</a> to go straight to
- the function you want if you already know its name.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h0"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__function_index___function_index"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__function_index___function_index"><a name="function_index"></a>Function Index</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.cdf">cdf</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.ccdf">cdf complement</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.chf">chf</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.hazard">hazard</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.kurtosis">kurtosis</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.mean">mean</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.median">median</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.mode">mode</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.pdf">pdf</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.range">range</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.quantile">quantile</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.quantile_c">quantile from the complement</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.skewness">skewness</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.sd">standard_deviation</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.support">support</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.variance">variance</a>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h1"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__concept_index___conceptual_index"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__concept_index___conceptual_index"><a name="concept_index"></a>Conceptual Index</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.ccdf">Complement of the Cumulative Distribution
- Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.cdf">Cumulative Distribution Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.chf">Cumulative Hazard Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#cdf_inv">Inverse Cumulative Distribution Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#survival_inv">Inverse Survival Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.hazard">Hazard Function</a>
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#lower_critical">Lower Critical Value</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.kurtosis">kurtosis</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.mean">mean</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.median">median</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.mode">mode</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#cdfPQ">P</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#percent">Percent Point Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.pdf">Probability Density Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#pmf">Probability Mass Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.range">range</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#cdfPQ">Q</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.quantile">Quantile</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.quantile_c">Quantile from the complement of
- the probability</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.skewness">skewness</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.sd">standard deviation</a>
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#survival">Survival Function</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.support">support</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#upper_critical">Upper Critical Value</a>.
- </li>
-<li class="listitem">
- <a class="link" href="nmp.html#math.dist.variance">variance</a>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h2"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_cdf___cumulative_distribution_function"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_cdf___cumulative_distribution_function"><a name="math.dist.cdf"></a>Cumulative Distribution Function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">cdf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- The <a class="link" href="nmp.html#math.dist.cdf">Cumulative Distribution Function</a>
- is the probability that the variable takes a value less than or equal to
- x. It is equivalent to the integral from -infinity to x of the <a class="link" href="nmp.html#math.dist.pdf">Probability
- Density Function</a>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the random variable is outside the defined range for the distribution.
- </p>
-<p>
- For example, the following graph shows the cdf for the normal distribution:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/cdf.png" alt="cdf"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h3"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_ccdf___complement_of_the_cumulative_distribution_function"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_ccdf___complement_of_the_cumulative_distribution_function"><a name="math.dist.ccdf"></a>Complement of the Cumulative Distribution Function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">cdf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Unspecified-Complement-Type</em></span><span class="special">&lt;</span><span class="identifier">Distribution</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">comp</span><span class="special">);</span>
-</pre>
-<p>
- The complement of the <a class="link" href="nmp.html#math.dist.cdf">Cumulative Distribution
- Function</a> is the probability that the variable takes a value greater
- than x. It is equivalent to the integral from x to infinity of the <a class="link" href="nmp.html#math.dist.pdf">Probability Density Function</a>, or 1 minus
- the <a class="link" href="nmp.html#math.dist.cdf">Cumulative Distribution Function</a>
- of x.
- </p>
-<p>
- This is also known as the survival function.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the random variable is outside the defined range for the distribution.
- </p>
-<p>
- In this library, it is obtained by wrapping the arguments to the <code class="computeroutput"><span class="identifier">cdf</span></code> function in a call to <code class="computeroutput"><span class="identifier">complement</span></code>, for example:
- </p>
-<pre class="programlisting"><span class="comment">// standard normal distribution object:</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">;</span>
-<span class="comment">// print survival function for x=2.0:</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">2.0</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- For example, the following graph shows the __complement of the cdf for
- the normal distribution:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/survival.png" alt="survival"></span>
- </p>
-<p>
- See <a class="link" href="../stat_tut/overview/complements.html#why_complements">why complements?</a> for why the
- complement is useful and when it should be used.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h4"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_hazard___hazard_function"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_hazard___hazard_function"><a name="math.dist.hazard"></a>Hazard Function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">hazard</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the <a class="link" href="nmp.html#math.dist.hazard">Hazard Function</a> of
- <span class="emphasis"><em>x</em></span> and distibution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the random variable is outside the defined range for the distribution.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/hazard.png"></span>
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Some authors refer to this as the conditional failure density function
- rather than the hazard function.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h5"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_chf___cumulative_hazard_function"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_chf___cumulative_hazard_function"><a name="math.dist.chf"></a>Cumulative Hazard Function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">chf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the <a class="link" href="nmp.html#math.dist.chf">Cumulative Hazard Function</a>
- of <span class="emphasis"><em>x</em></span> and distibution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the random variable is outside the defined range for the distribution.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/chf.png"></span>
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Some authors refer to this as simply the "Hazard Function".
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h6"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_mean___mean"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_mean___mean"><a name="math.dist.mean"></a>mean</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">mean</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the mean of the distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the distribution does not have a defined mean (for example the Cauchy
- distribution).
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h7"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_median___median"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_median___median"><a name="math.dist.median"></a>median</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">median</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the median of the distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h8"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_mode___mode"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_mode___mode"><a name="math.dist.mode"></a>mode</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">mode</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the mode of the distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the distribution does not have a defined mode.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h9"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_pdf___probability_density_function"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_pdf___probability_density_function"><a name="math.dist.pdf"></a>Probability Density Function</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">pdf</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- For a continuous function, the probability density function (pdf) returns
- the probability that the variate has the value x. Since for continuous
- distributions the probability at a single point is actually zero, the probability
- is better expressed as the integral of the pdf between two points: see
- the <a class="link" href="nmp.html#math.dist.cdf">Cumulative Distribution Function</a>.
- </p>
-<p>
- For a discrete distribution, the pdf is the probability that the variate
- takes the value x.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the random variable is outside the defined range for the distribution.
- </p>
-<p>
- For example, for a standard normal distribution the pdf looks like this:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/pdf.png" alt="pdf"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h10"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_range___range"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_range___range"><a name="math.dist.range"></a>Range</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">range</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the valid range of the random variable over distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h11"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_quantile___quantile"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_quantile___quantile"><a name="math.dist.quantile"></a>Quantile</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">quantile</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">RealType</span><span class="special">&amp;</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- The quantile is best viewed as the inverse of the <a class="link" href="nmp.html#math.dist.cdf">Cumulative
- Distribution Function</a>, it returns a value <span class="emphasis"><em>x</em></span>
- such that <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span>
- <span class="identifier">p</span></code>.
- </p>
-<p>
- This is also known as the <span class="emphasis"><em>percent point function</em></span>,
- or <span class="emphasis"><em>percentile</em></span>, or <span class="emphasis"><em>fractile</em></span>, it
- is also the same as calculating the <span class="emphasis"><em>lower critical value</em></span>
- of a distribution.
- </p>
-<p>
- This function returns a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the probability lies outside [0,1]. The function may return an <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a> if there is no finite value
- that has the specified probability.
- </p>
-<p>
- The following graph shows the quantile function for a standard normal distribution:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/quantile.png" alt="quantile"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h12"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_quantile_c___quantile_from_the_complement_of_the_probability_"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_quantile_c___quantile_from_the_complement_of_the_probability_"><a name="math.dist.quantile_c"></a>Quantile from the complement of the probability.</a>
- </h5>
-<p>
- <a class="link" href="../stat_tut/overview/complements.html#complements">complements</a>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">quantile</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Unspecified-Complement-Type</em></span><span class="special">&lt;</span><span class="identifier">Distribution</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">comp</span><span class="special">);</span>
-</pre>
-<p>
- This is the inverse of the <a class="link" href="nmp.html#math.dist.ccdf">Complement of
- the Cumulative Distribution Function</a>. It is calculated by wrapping
- the arguments in a call to the quantile function in a call to <span class="emphasis"><em>complement</em></span>.
- For example:
- </p>
-<pre class="programlisting"><span class="comment">// define a standard normal distribution:</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">;</span>
-<span class="comment">// print the value of x for which the complement</span>
-<span class="comment">// of the probability is 0.05:</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- The function computes a value <span class="emphasis"><em>x</em></span> such that <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">x</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">q</span></code>
- where <span class="emphasis"><em>q</em></span> is complement of the probability.
- </p>
-<p>
- <a class="link" href="../stat_tut/overview/complements.html#why_complements">Why complements?</a>
- </p>
-<p>
- This function is also called the inverse survival function, and is the
- same as calculating the <span class="emphasis"><em>upper critical value</em></span> of a
- distribution.
- </p>
-<p>
- This function returns a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the probablity lies outside [0,1]. The function may return an <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a> if there is no finite value
- that has the specified probability.
- </p>
-<p>
- The following graph show the inverse survival function for the normal distribution:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/survival_inv.png" alt="survival_inv"></span>
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h13"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_sd___standard_deviation"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_sd___standard_deviation"><a name="math.dist.sd"></a>Standard Deviation</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the standard deviation of distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the distribution does not have a defined standard deviation.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h14"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_support___support"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_support___support"><a name="math.dist.support"></a>support</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <span class="identifier">RealType</span><span class="special">&gt;</span> <span class="identifier">support</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the supported range of random variable over the distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- The distribution is said to be 'supported' over a range that is <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">"the smallest
- closed set whose complement has probability zero"</a>. Non-mathematicians
- might say it means the 'interesting' smallest range of random variate x
- that has the cdf going from zero to unity. Outside are uninteresting zones
- where the pdf is zero, and the cdf zero or unity.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h15"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_variance___variance"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_variance___variance"><a name="math.dist.variance"></a>Variance</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">variance</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the variance of the distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the distribution does not have a defined variance.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h16"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_skewness___skewness"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_skewness___skewness"><a name="math.dist.skewness"></a>Skewness</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">skewness</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the skewness of the distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the distribution does not have a defined skewness.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h17"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_kurtosis___kurtosis"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_kurtosis___kurtosis"><a name="math.dist.kurtosis"></a>Kurtosis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">kurtosis</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the 'proper' kurtosis (normalized fourth moment) of the distribution
- <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- kertosis = &#946;<sub>2</sub> &#160;= &#956;<sub>4</sub> &#160; / &#956;<sub>2</sub><sup>2</sup>
- </p>
-<p>
- Where &#956;<sub>i</sub> &#160; is the i'th central moment of the distribution, and in particular
- &#956;<sub>2</sub> &#160; is the variance of the distribution.
- </p>
-<p>
- The kurtosis is a measure of the "peakedness" of a distribution.
- </p>
-<p>
- Note that the literature definition of kurtosis is confusing. The definition
- used here is that used by for example <a href="http://mathworld.wolfram.com/Kurtosis.html" target="_top">Wolfram
- MathWorld</a> (that includes a table of formulae for kurtosis excess
- for various distributions) but NOT the definition of <a href="http://en.wikipedia.org/wiki/Kurtosis" target="_top">kurtosis
- used by Wikipedia</a> which treats "kurtosis" and "kurtosis
- excess" as the same quantity.
- </p>
-<pre class="programlisting"><span class="identifier">kurtosis_excess</span> <span class="special">=</span> <span class="char">'proper'</span> <span class="identifier">kurtosis</span> <span class="special">-</span> <span class="number">3</span>
-</pre>
-<p>
- This subtraction of 3 is convenient so that the <span class="emphasis"><em>kurtosis excess</em></span>
- of a normal distribution is zero.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the distribution does not have a defined kurtosis.
- </p>
-<p>
- 'Proper' kurtosis can have a value from zero to + infinity.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h18"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_kurtosis_excess___kurtosis_excess"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__math_dist_kurtosis_excess___kurtosis_excess"><a name="math.dist.kurtosis_excess"></a>Kurtosis excess</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">kurtosis_excess</span><span class="special">(</span><span class="keyword">const</span> <span class="emphasis"><em>Distribution-Type</em></span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
-</pre>
-<p>
- Returns the kurtosis excess of the distribution <span class="emphasis"><em>dist</em></span>.
- </p>
-<p>
- kurtosis excess = &#947;<sub>2</sub> &#160;= &#956;<sub>4</sub> &#160; / &#956;<sub>2</sub><sup>2</sup> &#160;- 3 = kurtosis - 3
- </p>
-<p>
- Where &#956;<sub>i</sub> &#160; is the i'th central moment of the distribution, and in particular
- &#956;<sub>2</sub> &#160; is the variance of the distribution.
- </p>
-<p>
- The kurtosis excess is a measure of the "peakedness" of a distribution,
- and is more widely used than the "kurtosis proper". It is defined
- so that the kurtosis excess of a normal distribution is zero.
- </p>
-<p>
- This function may return a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- if the distribution does not have a defined kurtosis excess.
- </p>
-<p>
- Kurtosis excess can have a value from -2 to + infinity.
- </p>
-<pre class="programlisting"><span class="identifier">kurtosis</span> <span class="special">=</span> <span class="identifier">kurtosis_excess</span> <span class="special">+</span><span class="number">3</span><span class="special">;</span>
-</pre>
-<p>
- The kurtosis excess of a normal distribution is zero.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h19"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__cdfpq___p_and_q"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__cdfpq___p_and_q"><a name="cdfPQ"></a>P and Q</a>
- </h5>
-<p>
- The terms P and Q are sometimes used to refer to the <a class="link" href="nmp.html#math.dist.cdf">Cumulative
- Distribution Function</a> and its <a class="link" href="nmp.html#math.dist.ccdf">complement</a>
- respectively. Lowercase p and q are sometimes used to refer to the values
- returned by these functions.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h20"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__percent___percent_point_function_or_percentile"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__percent___percent_point_function_or_percentile"><a name="percent"></a>Percent Point Function or Percentile</a>
- </h5>
-<p>
- The percent point function, also known as the percentile, is the same as
- the <a class="link" href="nmp.html#math.dist.quantile">Quantile</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h21"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__cdf_inv___inverse_cdf_function_"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__cdf_inv___inverse_cdf_function_"><a name="cdf_inv"></a>Inverse CDF Function.</a>
- </h5>
-<p>
- The inverse of the cumulative distribution function, is the same as the
- <a class="link" href="nmp.html#math.dist.quantile">Quantile</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h22"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__survival_inv___inverse_survival_function_"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__survival_inv___inverse_survival_function_"><a name="survival_inv"></a>Inverse Survival Function.</a>
- </h5>
-<p>
- The inverse of the survival function, is the same as computing the <a class="link" href="nmp.html#math.dist.quantile_c">quantile from the complement of the probability</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h23"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__pmf___probability_mass_function"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__pmf___probability_mass_function"><a name="pmf"></a>Probability Mass Function</a>
- </h5>
-<p>
- The Probability Mass Function is the same as the <a class="link" href="nmp.html#math.dist.pdf">Probability
- Density Function</a>.
- </p>
-<p>
- The term Mass Function is usually applied to discrete distributions, while
- the term <a class="link" href="nmp.html#math.dist.pdf">Probability Density Function</a>
- applies to continuous distributions.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h24"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__lower_critical___lower_critical_value_"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__lower_critical___lower_critical_value_"><a name="lower_critical"></a>Lower Critical Value.</a>
- </h5>
-<p>
- The lower critical value calculates the value of the random variable given
- the area under the left tail of the distribution. It is equivalent to calculating
- the <a class="link" href="nmp.html#math.dist.quantile">Quantile</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h25"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__upper_critical___upper_critical_value_"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__upper_critical___upper_critical_value_"><a name="upper_critical"></a>Upper Critical Value.</a>
- </h5>
-<p>
- The upper critical value calculates the value of the random variable given
- the area under the right tail of the distribution. It is equivalent to
- calculating the <a class="link" href="nmp.html#math.dist.quantile_c">quantile from the
- complement of the probability</a>.
- </p>
-<h5>
-<a name="math_toolkit.dist.dist_ref.nmp.h26"></a>
- <span><a name="math_toolkit.dist.dist_ref.nmp._anchor_id__survival___survival_function"></a></span><a class="link" href="nmp.html#math_toolkit.dist.dist_ref.nmp._anchor_id__survival___survival_function"><a name="survival"></a>Survival Function</a>
- </h5>
-<p>
- Refer to the <a class="link" href="nmp.html#math.dist.ccdf">Complement of the Cumulative
- Distribution Function</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dists.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/future.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/future.html
deleted file mode 100644
index 9d909633ae..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/future.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Extras/Future Directions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../dist.html" title="Statistical Distributions and Functions">
-<link rel="prev" href="dist_ref/dist_algorithms.html" title="Distribution Algorithms">
-<link rel="next" href="../special.html" title="Special Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist_ref/dist_algorithms.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../special.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_future">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.dist.future"></a><a class="link" href="future.html" title="Extras/Future Directions">Extras/Future Directions</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.dist.future.h0"></a>
- <span><a name="math_toolkit.dist.future.adding_additional_location_and_scale_parameters"></a></span><a class="link" href="future.html#math_toolkit.dist.future.adding_additional_location_and_scale_parameters">Adding
- Additional Location and Scale Parameters</a>
- </h5>
-<p>
- In some modelling applications we require a distribution with a specific
- location and scale: often this equates to a specific mean and standard deviation,
- although for many distributions the relationship between these properties
- and the location and scale parameters are non-trivial. See <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm" target="_top">http://www.itl.nist.gov/div898/handbook/eda/section3/eda364.htm</a>
- for more information.
- </p>
-<p>
- The obvious way to handle this is via an adapter template:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Dist</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">scaled_distribution</span>
-<span class="special">{</span>
- <span class="identifier">scaled_distribution</span><span class="special">(</span>
- <span class="keyword">const</span> <span class="identifier">Dist</span> <span class="identifier">dist</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">location</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">Dist</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">scale</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-<span class="special">};</span>
-</pre>
-<p>
- Which would then have its own set of overloads for the non-member accessor
- functions.
- </p>
-<h5>
-<a name="math_toolkit.dist.future.h1"></a>
- <span><a name="math_toolkit.dist.future.an__quot_any_distribution_quot__class"></a></span><a class="link" href="future.html#math_toolkit.dist.future.an__quot_any_distribution_quot__class">An
- "any_distribution" class</a>
- </h5>
-<p>
- It is easy to add a distribution object that virtualises the actual type
- of the distribution, and can therefore hold "any" object that conforms
- to the conceptual requirements of a distribution:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">any_distribution</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">&gt;</span>
- <span class="identifier">any_distribution</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Distribution</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="comment">// Get the cdf of the underlying distribution:</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">cdf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">any_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;&amp;</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="comment">// etc....</span>
-</pre>
-<p>
- Such a class would facilitate the writing of non-template code that can function
- with any distribution type.
- </p>
-<p>
- The <a href="http://sourceforge.net/projects/distexplorer/" target="_top">Statistical
- Distribution Explorer</a> utility for Windows is a usage example.
- </p>
-<p>
- It's not clear yet whether there is a compelling use case though. Possibly
- tests for goodness of fit might provide such a use case: this needs more
- investigation.
- </p>
-<h5>
-<a name="math_toolkit.dist.future.h2"></a>
- <span><a name="math_toolkit.dist.future.higher_level_hypothesis_tests"></a></span><a class="link" href="future.html#math_toolkit.dist.future.higher_level_hypothesis_tests">Higher Level
- Hypothesis Tests</a>
- </h5>
-<p>
- Higher-level tests roughly corresponding to the <a href="http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/HypothesisTests.html" target="_top">Mathematica
- Hypothesis Tests</a> package could be added reasonably easily, for example:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">InputIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span>
- <span class="identifier">test_equal_mean</span><span class="special">(</span>
- <span class="identifier">InputIterator</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">InputIterator</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span><span class="identifier">InputIterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">expected_mean</span><span class="special">);</span>
-</pre>
-<p>
- Returns the probability that the data in the sequence [a,b) has the mean
- <span class="emphasis"><em>expected_mean</em></span>.
- </p>
-<h5>
-<a name="math_toolkit.dist.future.h3"></a>
- <span><a name="math_toolkit.dist.future.integration_with_statistical_accumulators"></a></span><a class="link" href="future.html#math_toolkit.dist.future.integration_with_statistical_accumulators">Integration
- With Statistical Accumulators</a>
- </h5>
-<p>
- <a href="http://boost-sandbox.sourceforge.net/libs/accumulators/doc/html/index.html" target="_top">Eric
- Niebler's accumulator framework</a> - also work in progress - provides
- the means to calculate various statistical properties from experimental data.
- There is an opportunity to integrate the statistical tests with this framework
- at some later date:
- </p>
-<pre class="programlisting"><span class="comment">// Define an accumulator, all required statistics to calculate the test</span>
-<span class="comment">// are calculated automatically:</span>
-<span class="identifier">accumulator_set</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">features</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">test_expected_mean</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">acc</span><span class="special">(</span><span class="identifier">expected_mean</span><span class="special">=</span><span class="number">4</span><span class="special">);</span>
-<span class="comment">// Pass our data to the accumulator:</span>
-<span class="identifier">acc</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">mydata</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">mydata</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">acc</span><span class="special">);</span>
-<span class="comment">// Extract the result:</span>
-<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">probability</span><span class="special">(</span><span class="identifier">acc</span><span class="special">);</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist_ref/dist_algorithms.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../special.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut.html
deleted file mode 100644
index e9f0a041a3..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Statistical Distributions Tutorial</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../dist.html" title="Statistical Distributions and Functions">
-<link rel="prev" href="../dist.html" title="Statistical Distributions and Functions">
-<link rel="next" href="stat_tut/overview.html" title="Overview of Distributions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stat_tut/overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.dist.stat_tut"></a><a class="link" href="stat_tut.html" title="Statistical Distributions Tutorial">Statistical Distributions
- Tutorial</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="stat_tut/overview.html">Overview of Distributions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="stat_tut/overview/headers.html">Headers
- and Namespaces</a></span></dt>
-<dt><span class="section"><a href="stat_tut/overview/objects.html">Distributions
- are Objects</a></span></dt>
-<dt><span class="section"><a href="stat_tut/overview/generic.html">Generic
- operations common to all distributions are non-member functions</a></span></dt>
-<dt><span class="section"><a href="stat_tut/overview/complements.html">Complements
- are supported too - and when to use them</a></span></dt>
-<dt><span class="section"><a href="stat_tut/overview/parameters.html">Parameters
- can be calculated</a></span></dt>
-<dt><span class="section"><a href="stat_tut/overview/summary.html">Summary</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="stat_tut/weg.html">Worked Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="stat_tut/weg/dist_construct_eg.html">Distribution
- Construction Example</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/st_eg.html">Student's t
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_intervals.html">Calculating
- confidence intervals on the mean with the Students-t distribution</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_test.html">Testing
- a sample mean for difference from a "true" mean</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_size.html">Estimating
- how large a sample size would have to become in order to give a significant
- Students-t test result with a single sample test</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/st_eg/two_sample_students_t.html">Comparing
- the means of two samples with the Students-t test</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/st_eg/paired_st.html">Comparing
- two paired samples with the Student's t distribution</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="stat_tut/weg/cs_eg.html">Chi Squared
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_intervals.html">Confidence
- Intervals on the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_test.html">Chi-Square
- Test for the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_size.html">Estimating
- the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="stat_tut/weg/f_eg.html">F Distribution
- Examples</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/binom_eg.html">Binomial
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="stat_tut/weg/binom_eg/binomial_coinflip_example.html">Binomial
- Coin-Flipping Example</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/binom_eg/binomial_quiz_example.html">Binomial
- Quiz Example</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/binom_eg/binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/binom_eg/binom_size_eg.html">Estimating
- Sample Sizes for a Binomial Distribution.</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="stat_tut/weg/geometric_eg.html">Geometric
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg.html">Negative
- Binomial Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/neg_binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for the Negative Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html">Estimating
- Sample Sizes for the Negative Binomial.</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/negative_binomial_example1.html">Negative
- Binomial Sales Quota Example.</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/negative_binomial_example2.html">Negative
- Binomial Table Printing Example.</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="stat_tut/weg/normal_example.html">Normal
- Distribution Examples</a></span></dt>
-<dd><dl><dt><span class="section"><a href="stat_tut/weg/normal_example/normal_misc.html">Some
- Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></dd>
-<dt><span class="section"><a href="stat_tut/weg/inverse_chi_squared_eg.html">Inverse
- Chi-Squared Distribution Bayes Example</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/nccs_eg.html">Non Central
- Chi Squared Example</a></span></dt>
-<dd><dl><dt><span class="section"><a href="stat_tut/weg/nccs_eg/nccs_power_eg.html">Tables
- of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></dd>
-<dt><span class="section"><a href="stat_tut/weg/error_eg.html">Error Handling
- Example</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/find_eg.html">Find Location
- and Scale Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="stat_tut/weg/find_eg/find_location_eg.html">Find
- Location (Mean) Example</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/find_eg/find_scale_eg.html">Find
- Scale (Standard Deviation) Example</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/find_eg/find_mean_and_sd_eg.html">Find
- mean and standard deviation example</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="stat_tut/weg/nag_library.html">Comparison
- with C, R, FORTRAN-style Free Functions</a></span></dt>
-<dt><span class="section"><a href="stat_tut/weg/c_sharp.html">Using the
- Distributions from Within C#</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="stat_tut/variates.html">Random Variates
- and Distribution Parameters</a></span></dt>
-<dt><span class="section"><a href="stat_tut/dist_params.html">Discrete Probability
- Distributions</a></span></dt>
-</dl></div>
-<p>
- This library is centred around statistical distributions, this tutorial will
- give you an overview of what they are, how they can be used, and provides
- a few worked examples of applying the library to statistical tests.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stat_tut/overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/dist_params.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/dist_params.html
deleted file mode 100644
index 5f747760ce..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/dist_params.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Discrete Probability Distributions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
-<link rel="prev" href="variates.html" title="Random Variates and Distribution Parameters">
-<link rel="next" href="../dist_ref.html" title="Statistical Distributions Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="variates.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_dist_params">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.dist.stat_tut.dist_params"></a><a class="link" href="dist_params.html" title="Discrete Probability Distributions">Discrete Probability
- Distributions</a>
-</h4></div></div></div>
-<p>
- Note that the <a href="http://en.wikipedia.org/wiki/Discrete_probability_distribution" target="_top">discrete
- distributions</a>, including the binomial, negative binomial, Poisson
- &amp; Bernoulli, are all mathematically defined as discrete functions:
- only integral values of the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a> are envisaged and the functions are only defined at these
- integral values. However because the method of calculation often uses continuous
- functions, it is convenient to treat them as if they were continuous functions,
- and permit non-integral values of their parameters.
- </p>
-<p>
- To enforce a strict mathematical model, users may use floor or ceil functions
- on the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a>, prior to calling the distribution function, to enforce
- integral values.
- </p>
-<p>
- For similar reasons, in continuous distributions, parameters like degrees
- of freedom that might appear to be integral, are treated as real values
- (and are promoted from integer to floating-point if necessary). In this
- case however, that there are a small number of situations where non-integral
- degrees of freedom do have a genuine meaning.
- </p>
-<p>
- Generally speaking there is no loss of performance from allowing real-values
- parameters: the underlying special functions contain optimizations for
- integer-valued arguments when applicable.
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The quantile function of a discrete distribution will by default return
- an integer result that has been <span class="emphasis"><em>rounded outwards</em></span>.
- That is to say lower quantiles (where the probability is less than 0.5)
- are rounded downward, and upper quantiles (where the probability is greater
- than 0.5) are rounded upwards. This behaviour ensures that if an X% quantile
- is requested, then <span class="emphasis"><em>at least</em></span> the requested coverage
- will be present in the central region, and <span class="emphasis"><em>no more than</em></span>
- the requested coverage will be present in the tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are rounded
- differently, or even return a real-valued result using <a class="link" href="../../policy/pol_overview.html" title="Policy Overview">Policies</a>.
- It is strongly recommended that you read the tutorial <a class="link" href="../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on a discrete distribution. The <a class="link" href="../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these distributions.
- </p>
-</td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="variates.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview.html
deleted file mode 100644
index ebe9959f2e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Overview of Distributions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
-<link rel="prev" href="../stat_tut.html" title="Statistical Distributions Tutorial">
-<link rel="next" href="overview/headers.html" title="Headers and Namespaces">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/headers.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_overview">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.dist.stat_tut.overview"></a><a class="link" href="overview.html" title="Overview of Distributions">Overview of Distributions</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="overview/headers.html">Headers
- and Namespaces</a></span></dt>
-<dt><span class="section"><a href="overview/objects.html">Distributions
- are Objects</a></span></dt>
-<dt><span class="section"><a href="overview/generic.html">Generic
- operations common to all distributions are non-member functions</a></span></dt>
-<dt><span class="section"><a href="overview/complements.html">Complements
- are supported too - and when to use them</a></span></dt>
-<dt><span class="section"><a href="overview/parameters.html">Parameters
- can be calculated</a></span></dt>
-<dt><span class="section"><a href="overview/summary.html">Summary</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overview/headers.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/complements.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/complements.html
deleted file mode 100644
index e3f7a3bba8..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/complements.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Complements are supported too - and when to use them</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../overview.html" title="Overview of Distributions">
-<link rel="prev" href="generic.html" title="Generic operations common to all distributions are non-member functions">
-<link rel="next" href="parameters.html" title="Parameters can be calculated">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="generic.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="parameters.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_overview_complements">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.overview.complements"></a><a name="complements"></a><a class="link" href="complements.html" title="Complements are supported too - and when to use them">Complements
- are supported too - and when to use them</a>
-</h5></div></div></div>
-<p>
- Often you don't want the value of the CDF, but its complement, which
- is to say <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">p</span></code> rather than <code class="computeroutput"><span class="identifier">p</span></code>.
- It is tempting to calculate the CDF and subtract it from <code class="computeroutput"><span class="number">1</span></code>, but if <code class="computeroutput"><span class="identifier">p</span></code>
- is very close to <code class="computeroutput"><span class="number">1</span></code> then cancellation
- error will cause you to lose accuracy, perhaps totally.
- </p>
-<p>
- <a class="link" href="complements.html#why_complements">See below <span class="emphasis"><em>"Why and when
- to use complements?"</em></span></a>
- </p>
-<p>
- In this library, whenever you want to receive a complement, just wrap
- all the function arguments in a call to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>, for example:
- </p>
-<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"CDF at t = 1 is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">1.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Complement of CDF at t = 1 is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">1.0</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- But wait, now that we have a complement, we have to be able to use it
- as well. Any function that accepts a probability as an argument can also
- accept a complement by wrapping all of its arguments in a call to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>,
- for example:
- </p>
-<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="number">1e10</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">*=</span> <span class="number">10</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// Calculate the quantile for a 1 in i chance:</span>
- <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="number">1</span><span class="special">/</span><span class="identifier">i</span><span class="special">));</span>
- <span class="comment">// Print it out:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of students-t with 5 degrees of freedom\n"</span>
- <span class="string">"for a 1 in "</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="string">" chance is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="bold"><strong>Critical values are just quantiles</strong></span>
- </p>
-<p>
- Some texts talk about quantiles, or percentiles or fractiles, others
- about critical values, the basic rule is:
- </p>
-<p>
- <span class="emphasis"><em>Lower critical values</em></span> are the same as the quantile.
- </p>
-<p>
- <span class="emphasis"><em>Upper critical values</em></span> are the same as the quantile
- from the complement of the probability.
- </p>
-<p>
- For example, suppose we have a Bernoulli process, giving rise to a
- binomial distribution with success ratio 0.1 and 100 trials in total.
- The <span class="emphasis"><em>lower critical value</em></span> for a probability of
- 0.05 is given by:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">100</span><span class="special">,</span> <span class="number">0.1</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span></code>
- </p>
-<p>
- and the <span class="emphasis"><em>upper critical value</em></span> is given by:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">100</span><span class="special">,</span> <span class="number">0.1</span><span class="special">),</span> <span class="number">0.05</span><span class="special">))</span></code>
- </p>
-<p>
- which return 4.82 and 14.63 respectively.
- </p>
-</td></tr>
-</table></div>
-<a name="why_complements"></a><div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="bold"><strong>Why bother with complements anyway?</strong></span>
- </p>
-<p>
- It's very tempting to dispense with complements, and simply subtract
- the probability from 1 when required. However, consider what happens
- when the probability is very close to 1: let's say the probability
- expressed at float precision is <code class="computeroutput"><span class="number">0.999999940f</span></code>,
- then <code class="computeroutput"><span class="number">1</span> <span class="special">-</span>
- <span class="number">0.999999940f</span> <span class="special">=</span>
- <span class="number">5.96046448e-008</span></code>, but the result
- is actually accurate to just <span class="emphasis"><em>one single bit</em></span>: the
- only bit that didn't cancel out!
- </p>
-<p>
- Or to look at this another way: consider that we want the risk of falsely
- rejecting the null-hypothesis in the Student's t test to be 1 in 1
- billion, for a sample size of 10,000. This gives a probability of 1
- - 10<sup>-9</sup>, which is exactly 1 when calculated at float precision. In this
- case calculating the quantile from the complement neatly solves the
- problem, so for example:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">students_t</span><span class="special">(</span><span class="number">10000</span><span class="special">),</span> <span class="number">1e-9</span><span class="special">))</span></code>
- </p>
-<p>
- returns the expected t-statistic <code class="computeroutput"><span class="number">6.00336</span></code>,
- where as:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">students_t</span><span class="special">(</span><span class="number">10000</span><span class="special">),</span> <span class="number">1</span><span class="special">-</span><span class="number">1e-9f</span><span class="special">)</span></code>
- </p>
-<p>
- raises an overflow error, since it is the same as:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">students_t</span><span class="special">(</span><span class="number">10000</span><span class="special">),</span> <span class="number">1</span><span class="special">)</span></code>
- </p>
-<p>
- Which has no finite result.
- </p>
-<p>
- With all distributions, even for more reasonable probability (unless
- the value of p can be represented exactly in the floating-point type)
- the loss of accuracy quickly becomes significant if you simply calculate
- probability from 1 - p (because it will be mostly garbage digits for
- p ~ 1).
- </p>
-<p>
- So always avoid, for example, using a probability near to unity like
- 0.99999
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_distribution</span><span class="special">,</span>
- <span class="number">0.99999</span><span class="special">)</span></code>
- </p>
-<p>
- and instead use
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">my_distribution</span><span class="special">,</span>
- <span class="number">0.00001</span><span class="special">))</span></code>
- </p>
-<p>
- since 1 - 0.99999 is not exactly equal to 0.00001 when using floating-point
- arithmetic.
- </p>
-<p>
- This assumes that the 0.00001 value is either a constant, or can be
- computed by some manner other than subtracting 0.99999 from 1.
- </p>
-</td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="generic.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="parameters.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/generic.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/generic.html
deleted file mode 100644
index 9d20e96040..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/generic.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Generic operations common to all distributions are non-member functions</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../overview.html" title="Overview of Distributions">
-<link rel="prev" href="objects.html" title="Distributions are Objects">
-<link rel="next" href="complements.html" title="Complements are supported too - and when to use them">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="objects.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complements.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_overview_generic">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.overview.generic"></a><a class="link" href="generic.html" title="Generic operations common to all distributions are non-member functions">Generic
- operations common to all distributions are non-member functions</a>
-</h5></div></div></div>
-<p>
- Want to calculate the PDF (Probability Density Function) of a distribution?
- No problem, just use:
- </p>
-<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span> <span class="comment">// Returns PDF (density) at point x of distribution my_dist.</span>
-</pre>
-<p>
- Or how about the CDF (Cumulative Distribution Function):
- </p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="identifier">x</span><span class="special">);</span> <span class="comment">// Returns CDF (integral from -infinity to point x)</span>
- <span class="comment">// of distribution my_dist.</span>
-</pre>
-<p>
- And quantiles are just the same:
- </p>
-<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="identifier">p</span><span class="special">);</span> <span class="comment">// Returns the value of the random variable x</span>
- <span class="comment">// such that cdf(my_dist, x) == p.</span>
-</pre>
-<p>
- If you're wondering why these aren't member functions, it's to make the
- library more easily extensible: if you want to add additional generic
- operations - let's say the <span class="emphasis"><em>n'th moment</em></span> - then all
- you have to do is add the appropriate non-member functions, overloaded
- for each implemented distribution type.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="bold"><strong>Random numbers that approximate Quantiles of
- Distributions</strong></span>
- </p>
-<p>
- If you want random numbers that are distributed in a specific way,
- for example in a uniform, normal or triangular, see <a href="http://www.boost.org/libs/random/" target="_top">Boost.Random</a>.
- </p>
-<p>
- Whilst in principal there's nothing to prevent you from using the quantile
- function to convert a uniformly distributed random number to another
- distribution, in practice there are much more efficient algorithms
- available that are specific to random number generation.
- </p>
-</td></tr>
-</table></div>
-<p>
- For example, the binomial distribution has two parameters: n (the number
- of trials) and p (the probability of success on any one trial).
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
- constructor therefore has two parameters:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span>
- <span class="identifier">n</span><span class="special">,</span>
- <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span></code>
- </p>
-<p>
- For this distribution the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a> is k: the number of successes observed. The probability
- density/mass function (pdf) is therefore written as <span class="emphasis"><em>f(k; n,
- p)</em></span>.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="bold"><strong>Random Variates and Distribution Parameters</strong></span>
- </p>
-<p>
- The concept of a <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random
- variable</a> is closely linked to the term <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a>: a random variate is a particular value (outcome) of
- a random variable. and <a href="http://en.wikipedia.org/wiki/Parameter" target="_top">distribution
- parameters</a> are conventionally distinguished (for example in
- Wikipedia and Wolfram MathWorld) by placing a semi-colon or vertical
- bar) <span class="emphasis"><em>after</em></span> the <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random
- variable</a> (whose value you 'choose'), to separate the variate
- from the parameter(s) that defines the shape of the distribution.<br>
- For example, the binomial distribution probability distribution function
- (PDF) is written as <span class="emphasis"><em>f(k| n, p)</em></span> = Pr(K = k|n, p)
- = probability of observing k successes out of n trials. K is the <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random variable</a>,
- k is the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a>, the parameters are n (trials) and p (probability).
- </p>
-</td></tr>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- By convention, <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a> are lower case, usually k is integral, x if real, and
- <a href="http://en.wikipedia.org/wiki/Random_variable" target="_top">random variable</a>
- are upper case, K if integral, X if real. But this implementation treats
- all as floating point values <code class="computeroutput"><span class="identifier">RealType</span></code>,
- so if you really want an integral result, you must round: see note
- on Discrete Probability Distributions below for details.
- </p></td></tr>
-</table></div>
-<p>
- As noted above the non-member function <code class="computeroutput"><span class="identifier">pdf</span></code>
- has one parameter for the distribution object, and a second for the random
- variate. So taking our binomial distribution example, we would write:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">);</span></code>
- </p>
-<p>
- The ranges of <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a> values that are permitted and are supported can be tested
- by using two functions <code class="computeroutput"><span class="identifier">range</span></code>
- and <code class="computeroutput"><span class="identifier">support</span></code>.
- </p>
-<p>
- The distribution (effectively the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a>) is said to be 'supported' over a range that is <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">"the
- smallest closed set whose complement has probability zero"</a>.
- MathWorld uses the word 'defined' for this range. Non-mathematicians
- might say it means the 'interesting' smallest range of random variate
- x that has the cdf going from zero to unity. Outside are uninteresting
- zones where the pdf is zero, and the cdf zero or unity.
- </p>
-<p>
- For most distributions, with probability distribution functions one might
- describe as 'well-behaved', we have decided that it is most useful for
- the supported range to <span class="bold"><strong>exclude</strong></span> random
- variate values like exact zero <span class="bold"><strong>if the end point
- is discontinuous</strong></span>. For example, the Weibull (scale 1, shape
- 1) distribution smoothly heads for unity as the random variate x declines
- towards zero. But at x = zero, the value of the pdf is suddenly exactly
- zero, by definition. If you are plotting the PDF, or otherwise calculating,
- zero is not the most useful value for the lower limit of supported, as
- we discovered. So for this, and similar distributions, we have decided
- it is most numerically useful to use the closest value to zero, min_value,
- for the limit of the supported range. (The <code class="computeroutput"><span class="identifier">range</span></code>
- remains from zero, so you will still get <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">weibull</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">==</span> <span class="number">0</span></code>).
- (Exponential and gamma distributions have similarly discontinuous functions).
- </p>
-<p>
- Mathematically, the functions may make sense with an (+ or -) infinite
- value, but except for a few special cases (in the Normal and Cauchy distributions)
- this implementation limits random variates to finite values from the
- <code class="computeroutput"><span class="identifier">max</span></code> to <code class="computeroutput"><span class="identifier">min</span></code> for the <code class="computeroutput"><span class="identifier">RealType</span></code>.
- (See <a class="link" href="../../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.handling_of_floating_point_infinity">Handling
- of Floating-Point Infinity</a> for rationale).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="bold"><strong>Discrete Probability Distributions</strong></span>
- </p>
-<p>
- Note that the <a href="http://en.wikipedia.org/wiki/Discrete_probability_distribution" target="_top">discrete
- distributions</a>, including the binomial, negative binomial, Poisson
- &amp; Bernoulli, are all mathematically defined as discrete functions:
- that is to say the functions <code class="computeroutput"><span class="identifier">cdf</span></code>
- and <code class="computeroutput"><span class="identifier">pdf</span></code> are only defined
- for integral values of the random variate.
- </p>
-<p>
- However, because the method of calculation often uses continuous functions
- it is convenient to treat them as if they were continuous functions,
- and permit non-integral values of their parameters.
- </p>
-<p>
- Users wanting to enforce a strict mathematical model may use <code class="computeroutput"><span class="identifier">floor</span></code> or <code class="computeroutput"><span class="identifier">ceil</span></code>
- functions on the random variate prior to calling the distribution function.
- </p>
-<p>
- The quantile functions for these distributions are hard to specify
- in a manner that will satisfy everyone all of the time. The default
- behaviour is to return an integer result, that has been rounded <span class="emphasis"><em>outwards</em></span>:
- that is to say, lower quantiles - where the probablity is less than
- 0.5 are rounded down, while upper quantiles - where the probability
- is greater than 0.5 - are rounded up. This behaviour ensures that if
- an X% quantile is requested, then <span class="emphasis"><em>at least</em></span> the
- requested coverage will be present in the central region, and <span class="emphasis"><em>no
- more than</em></span> the requested coverage will be present in the
- tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are rounded
- differently, or return a real-valued result using <a class="link" href="../../../policy/pol_overview.html" title="Policy Overview">Policies</a>.
- It is strongly recommended that you read the tutorial <a class="link" href="../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on a discrete distribtion. The <a class="link" href="../../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these distributions.
- </p>
-<p>
- For similar reasons continuous distributions with parameters like "degrees
- of freedom" that might appear to be integral, are treated as real
- values (and are promoted from integer to floating-point if necessary).
- In this case however, there are a small number of situations where
- non-integral degrees of freedom do have a genuine meaning.
- </p>
-</td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="objects.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="complements.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/headers.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/headers.html
deleted file mode 100644
index e37ec40b58..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/headers.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Headers and Namespaces</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../overview.html" title="Overview of Distributions">
-<link rel="prev" href="../overview.html" title="Overview of Distributions">
-<link rel="next" href="objects.html" title="Distributions are Objects">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../overview.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="objects.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_overview_headers">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.overview.headers"></a><a class="link" href="headers.html" title="Headers and Namespaces">Headers
- and Namespaces</a>
-</h5></div></div></div>
-<p>
- All the code in this library is inside namespace boost::math.
- </p>
-<p>
- In order to use a distribution <span class="emphasis"><em>my_distribution</em></span> you
- will need to include either the header &lt;boost/math/distributions/my_distribution.hpp&gt;
- or the "include all the distributions" header: &lt;boost/math/distributions.hpp&gt;.
- </p>
-<p>
- For example, to use the Students-t distribution include either &lt;boost/math/distributions/students_t.hpp&gt;
- or &lt;boost/math/distributions.hpp&gt;
- </p>
-<p>
- You also need to bring distribution names into scope, perhaps with a
- <code class="computeroutput"><span class="keyword">using</span> <span class="keyword">namespace</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span></code>
- declaration,
- </p>
-<p>
- or specific <code class="computeroutput"><span class="keyword">using</span></code> declarations
- like <code class="computeroutput"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span></code> (<span class="bold"><strong>recommended</strong></span>).
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Some math function names are also used in namespace std so including
- &lt;random&gt; could cause ambiguity!
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../overview.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="objects.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/objects.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/objects.html
deleted file mode 100644
index dc772c0781..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/objects.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Distributions are Objects</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../overview.html" title="Overview of Distributions">
-<link rel="prev" href="headers.html" title="Headers and Namespaces">
-<link rel="next" href="generic.html" title="Generic operations common to all distributions are non-member functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="headers.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_overview_objects">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.overview.objects"></a><a class="link" href="objects.html" title="Distributions are Objects">Distributions
- are Objects</a>
-</h5></div></div></div>
-<p>
- Each kind of distribution in this library is a class type - an object.
- </p>
-<p>
- <a class="link" href="../../../policy.html" title="Policies">Policies</a> provide fine-grained
- control of the behaviour of these classes, allowing the user to customise
- behaviour such as how errors are handled, or how the quantiles of discrete
- distribtions behave.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If you are familiar with statistics libraries using functions, and
- 'Distributions as Objects' seem alien, see <a class="link" href="../weg/nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">the
- comparison to other statistics libraries.</a>
- </p></td></tr>
-</table></div>
-<p>
- Making distributions class types does two things:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- It encapsulates the kind of distribution in the C++ type system;
- so, for example, Students-t distributions are always a different
- C++ type from Chi-Squared distributions.
- </li>
-<li class="listitem">
- The distribution objects store any parameters associated with the
- distribution: for example, the Students-t distribution has a <span class="emphasis"><em>degrees
- of freedom</em></span> parameter that controls the shape of the distribution.
- This <span class="emphasis"><em>degrees of freedom</em></span> parameter has to be
- provided to the Students-t object when it is constructed.
- </li>
-</ul></div>
-<p>
- Although the distribution classes in this library are templates, there
- are typedefs on type <span class="emphasis"><em>double</em></span> that mostly take the
- usual name of the distribution (except where there is a clash with a
- function of the same name: beta and gamma, in which case using the default
- template arguments - <code class="computeroutput"><span class="identifier">RealType</span>
- <span class="special">=</span> <span class="keyword">double</span></code>
- - is nearly as convenient). Probably 95% of uses are covered by these
- typedefs:
- </p>
-<pre class="programlisting"><span class="comment">// using namespace boost::math; // Avoid potential ambiguity with names in std &lt;random&gt;</span>
-<span class="comment">// Safer to declare specific functions with using statement(s):</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">beta_distribution</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t</span><span class="special">;</span>
-
-<span class="comment">// Construct a students_t distribution with 4 degrees of freedom:</span>
-<span class="identifier">students_t</span> <span class="identifier">d1</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
-
-<span class="comment">// Construct a double-precision beta distribution</span>
-<span class="comment">// with parameters a = 10, b = 20</span>
-<span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">d2</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">20</span><span class="special">);</span> <span class="comment">// Note: _distribution&lt;&gt; suffix !</span>
-</pre>
-<p>
- If you need to use the distributions with a type other than <code class="computeroutput"><span class="keyword">double</span></code>, then you can instantiate the template
- directly: the names of the templates are the same as the <code class="computeroutput"><span class="keyword">double</span></code> typedef but with <code class="computeroutput"><span class="identifier">_distribution</span></code> appended, for example:
- <a class="link" href="../../dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
- t Distribution</a> or <a class="link" href="../../dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a>:
- </p>
-<pre class="programlisting"><span class="comment">// Construct a students_t distribution, of float type,</span>
-<span class="comment">// with 4 degrees of freedom:</span>
-<span class="identifier">students_t_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">d3</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
-
-<span class="comment">// Construct a binomial distribution, of long double type,</span>
-<span class="comment">// with probability of success 0.3</span>
-<span class="comment">// and 20 trials in total:</span>
-<span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">d4</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">);</span>
-</pre>
-<p>
- The parameters passed to the distributions can be accessed via getter
- member functions:
- </p>
-<pre class="programlisting"><span class="identifier">d1</span><span class="special">.</span><span class="identifier">degrees_of_freedom</span><span class="special">();</span> <span class="comment">// returns 4.0</span>
-</pre>
-<p>
- This is all well and good, but not very useful so far. What we often
- want is to be able to calculate the <span class="emphasis"><em>cumulative distribution
- functions</em></span> and <span class="emphasis"><em>quantiles</em></span> etc for these
- distributions.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="headers.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="generic.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/parameters.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/parameters.html
deleted file mode 100644
index c56b7bcb05..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/parameters.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Parameters can be calculated</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../overview.html" title="Overview of Distributions">
-<link rel="prev" href="complements.html" title="Complements are supported too - and when to use them">
-<link rel="next" href="summary.html" title="Summary">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="complements.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_overview_parameters">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.overview.parameters"></a><a class="link" href="parameters.html" title="Parameters can be calculated">Parameters
- can be calculated</a>
-</h5></div></div></div>
-<p>
- Sometimes it's the parameters that define the distribution that you need
- to find. Suppose, for example, you have conducted a Students-t test for
- equal means and the result is borderline. Maybe your two samples differ
- from each other, or maybe they don't; based on the result of the test
- you can't be sure. A legitimate question to ask then is "How many
- more measurements would I have to take before I would get an X% probability
- that the difference is real?" Parameter finders can answer questions
- like this, and are necessarily different for each distribution. They
- are implemented as static member functions of the distributions, for
- example:
- </p>
-<pre class="programlisting"><span class="identifier">students_t</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="number">1.3</span><span class="special">,</span> <span class="comment">// difference from true mean to detect</span>
- <span class="number">0.05</span><span class="special">,</span> <span class="comment">// maximum risk of falsely rejecting the null-hypothesis.</span>
- <span class="number">0.1</span><span class="special">,</span> <span class="comment">// maximum risk of falsely failing to reject the null-hypothesis.</span>
- <span class="number">0.13</span><span class="special">);</span> <span class="comment">// sample standard deviation</span>
-</pre>
-<p>
- Returns the number of degrees of freedom required to obtain a 95% probability
- that the observed differences in means is not down to chance alone. In
- the case that a borderline Students-t test result was previously obtained,
- this can be used to estimate how large the sample size would have to
- become before the observed difference was considered significant. It
- assumes, of course, that the sample mean and standard deviation are invariant
- with sample size.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="complements.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="summary.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/summary.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/summary.html
deleted file mode 100644
index ee92a5a19d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/overview/summary.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Summary</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../overview.html" title="Overview of Distributions">
-<link rel="prev" href="parameters.html" title="Parameters can be calculated">
-<link rel="next" href="../weg.html" title="Worked Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="parameters.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../weg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_overview_summary">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.overview.summary"></a><a class="link" href="summary.html" title="Summary">Summary</a>
-</h5></div></div></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Distributions are objects, which are constructed from whatever parameters
- the distribution may have.
- </li>
-<li class="listitem">
- Member functions allow you to retrieve the parameters of a distribution.
- </li>
-<li class="listitem">
- Generic non-member functions provide access to the properties that
- are common to all the distributions (PDF, CDF, quantile etc).
- </li>
-<li class="listitem">
- Complements of probabilities are calculated by wrapping the function's
- arguments in a call to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>.
- </li>
-<li class="listitem">
- Functions that accept a probability can accept a complement of the
- probability as well, by wrapping the function's arguments in a call
- to <code class="computeroutput"><span class="identifier">complement</span><span class="special">(...)</span></code>.
- </li>
-<li class="listitem">
- Static member functions allow the parameters of a distribution to
- be found from other information.
- </li>
-</ul></div>
-<p>
- Now that you have the basics, the next section looks at some worked examples.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="parameters.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../weg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/variates.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/variates.html
deleted file mode 100644
index 13bb6242d4..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/variates.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Random Variates and Distribution Parameters</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
-<link rel="prev" href="weg/c_sharp.html" title="Using the Distributions from Within C#">
-<link rel="next" href="dist_params.html" title="Discrete Probability Distributions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="weg/c_sharp.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_params.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_variates">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.dist.stat_tut.variates"></a><a class="link" href="variates.html" title="Random Variates and Distribution Parameters">Random Variates
- and Distribution Parameters</a>
-</h4></div></div></div>
-<p>
- <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">Random variates</a>
- and <a href="http://en.wikipedia.org/wiki/Parameter" target="_top">distribution parameters</a>
- are conventionally distinguished (for example in Wikipedia and Wolfram
- MathWorld by placing a semi-colon after the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a> (whose value you 'choose'), to separate the variate from
- the parameter(s) that defines the shape of the distribution.
- </p>
-<p>
- For example, the binomial distribution has two parameters: n (the number
- of trials) and p (the probability of success on one trial). It also has
- the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random variate</a>
- <span class="emphasis"><em>k</em></span>: the number of successes observed. This means the
- probability density/mass function (pdf) is written as <span class="emphasis"><em>f(k; n,
- p)</em></span>.
- </p>
-<p>
- Translating this into code the <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
- constructor therefore has two parameters:
- </p>
-<pre class="programlisting"><span class="identifier">binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- While the function <code class="computeroutput"><span class="identifier">pdf</span></code>
- has one argument specifying the distribution type (which includes its parameters,
- if any), and a second argument for the <a href="http://en.wikipedia.org/wiki/Random_variate" target="_top">random
- variate</a>. So taking our binomial distribution example, we would
- write:
- </p>
-<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">p</span><span class="special">),</span> <span class="identifier">k</span><span class="special">);</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="weg/c_sharp.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_params.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg.html
deleted file mode 100644
index 1ff7ff852a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Worked Examples</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../stat_tut.html" title="Statistical Distributions Tutorial">
-<link rel="prev" href="overview/summary.html" title="Summary">
-<link rel="next" href="weg/dist_construct_eg.html" title="Distribution Construction Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="overview/summary.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weg/dist_construct_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.dist.stat_tut.weg"></a><a class="link" href="weg.html" title="Worked Examples">Worked Examples</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="weg/dist_construct_eg.html">Distribution
- Construction Example</a></span></dt>
-<dt><span class="section"><a href="weg/st_eg.html">Student's t
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="weg/st_eg/tut_mean_intervals.html">Calculating
- confidence intervals on the mean with the Students-t distribution</a></span></dt>
-<dt><span class="section"><a href="weg/st_eg/tut_mean_test.html">Testing
- a sample mean for difference from a "true" mean</a></span></dt>
-<dt><span class="section"><a href="weg/st_eg/tut_mean_size.html">Estimating
- how large a sample size would have to become in order to give a significant
- Students-t test result with a single sample test</a></span></dt>
-<dt><span class="section"><a href="weg/st_eg/two_sample_students_t.html">Comparing
- the means of two samples with the Students-t test</a></span></dt>
-<dt><span class="section"><a href="weg/st_eg/paired_st.html">Comparing
- two paired samples with the Student's t distribution</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="weg/cs_eg.html">Chi Squared
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="weg/cs_eg/chi_sq_intervals.html">Confidence
- Intervals on the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="weg/cs_eg/chi_sq_test.html">Chi-Square
- Test for the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="weg/cs_eg/chi_sq_size.html">Estimating
- the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="weg/f_eg.html">F Distribution
- Examples</a></span></dt>
-<dt><span class="section"><a href="weg/binom_eg.html">Binomial
- Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="weg/binom_eg/binomial_coinflip_example.html">Binomial
- Coin-Flipping Example</a></span></dt>
-<dt><span class="section"><a href="weg/binom_eg/binomial_quiz_example.html">Binomial
- Quiz Example</a></span></dt>
-<dt><span class="section"><a href="weg/binom_eg/binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="weg/binom_eg/binom_size_eg.html">Estimating
- Sample Sizes for a Binomial Distribution.</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="weg/geometric_eg.html">Geometric
- Distribution Examples</a></span></dt>
-<dt><span class="section"><a href="weg/neg_binom_eg.html">Negative
- Binomial Distribution Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="weg/neg_binom_eg/neg_binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for the Negative Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="weg/neg_binom_eg/neg_binom_size_eg.html">Estimating
- Sample Sizes for the Negative Binomial.</a></span></dt>
-<dt><span class="section"><a href="weg/neg_binom_eg/negative_binomial_example1.html">Negative
- Binomial Sales Quota Example.</a></span></dt>
-<dt><span class="section"><a href="weg/neg_binom_eg/negative_binomial_example2.html">Negative
- Binomial Table Printing Example.</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="weg/normal_example.html">Normal
- Distribution Examples</a></span></dt>
-<dd><dl><dt><span class="section"><a href="weg/normal_example/normal_misc.html">Some
- Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></dd>
-<dt><span class="section"><a href="weg/inverse_chi_squared_eg.html">Inverse
- Chi-Squared Distribution Bayes Example</a></span></dt>
-<dt><span class="section"><a href="weg/nccs_eg.html">Non Central
- Chi Squared Example</a></span></dt>
-<dd><dl><dt><span class="section"><a href="weg/nccs_eg/nccs_power_eg.html">Tables
- of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></dd>
-<dt><span class="section"><a href="weg/error_eg.html">Error Handling
- Example</a></span></dt>
-<dt><span class="section"><a href="weg/find_eg.html">Find Location
- and Scale Examples</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="weg/find_eg/find_location_eg.html">Find
- Location (Mean) Example</a></span></dt>
-<dt><span class="section"><a href="weg/find_eg/find_scale_eg.html">Find
- Scale (Standard Deviation) Example</a></span></dt>
-<dt><span class="section"><a href="weg/find_eg/find_mean_and_sd_eg.html">Find
- mean and standard deviation example</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="weg/nag_library.html">Comparison
- with C, R, FORTRAN-style Free Functions</a></span></dt>
-<dt><span class="section"><a href="weg/c_sharp.html">Using the
- Distributions from Within C#</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="overview/summary.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stat_tut.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="weg/dist_construct_eg.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg.html
deleted file mode 100644
index 39cee90963..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Binomial Distribution Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="f_eg.html" title="F Distribution Examples">
-<link rel="next" href="binom_eg/binomial_coinflip_example.html" title="Binomial Coin-Flipping Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="f_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg/binomial_coinflip_example.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_binom_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.binom_eg"></a><a class="link" href="binom_eg.html" title="Binomial Distribution Examples">Binomial
- Distribution Examples</a>
-</h5></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="binom_eg/binomial_coinflip_example.html">Binomial
- Coin-Flipping Example</a></span></dt>
-<dt><span class="section"><a href="binom_eg/binomial_quiz_example.html">Binomial
- Quiz Example</a></span></dt>
-<dt><span class="section"><a href="binom_eg/binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a></span></dt>
-<dt><span class="section"><a href="binom_eg/binom_size_eg.html">Estimating
- Sample Sizes for a Binomial Distribution.</a></span></dt>
-</dl></div>
-<p>
- See also the reference documentation for the <a class="link" href="../../dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="f_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg/binomial_coinflip_example.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_conf.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_conf.html
deleted file mode 100644
index 901a98ea4b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_conf.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
-<link rel="prev" href="binomial_quiz_example.html" title="Binomial Quiz Example">
-<link rel="next" href="binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binomial_quiz_example.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_size_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_binom_eg_binom_conf">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.binom_eg.binom_conf"></a><a class="link" href="binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">Calculating
- Confidence Limits on the Frequency of Occurrence for a Binomial Distribution</a>
-</h6></div></div></div>
-<p>
- Imagine you have a process that follows a binomial distribution: for
- each trial conducted, an event either occurs or does it does not, referred
- to as "successes" and "failures". If, by experiment,
- you want to measure the frequency with which successes occur, the best
- estimate is given simply by <span class="emphasis"><em>k</em></span> / <span class="emphasis"><em>N</em></span>,
- for <span class="emphasis"><em>k</em></span> successes out of <span class="emphasis"><em>N</em></span>
- trials. However our confidence in that estimate will be shaped by how
- many trials were conducted, and how many successes were observed. The
- static member functions <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span></code>
- and <code class="computeroutput"><span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span></code>
- allow you to calculate the confidence intervals for your estimate of
- the occurrence frequency.
- </p>
-<p>
- The sample program <a href="../../../../../../../../example/binomial_confidence_limits.cpp" target="_top">binomial_confidence_limits.cpp</a>
- illustrates their use. It begins by defining a procedure that will
- print a table of confidence limits for various degrees of certainty:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">void</span> <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">trials</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">successes</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">//</span>
- <span class="comment">// trials = Total number of trials.</span>
- <span class="comment">// successes = Total number of observed successes.</span>
- <span class="comment">//</span>
- <span class="comment">// Calculate confidence limits for an observed</span>
- <span class="comment">// frequency of occurrence that follows a binomial</span>
- <span class="comment">// distribution.</span>
- <span class="comment">//</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-
- <span class="comment">// Print out general info:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"___________________________________________\n"</span>
- <span class="string">"2-Sided Confidence Limits For Success Ratio\n"</span>
- <span class="string">"___________________________________________\n\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of successes"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample frequency of occurrence"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="keyword">double</span><span class="special">(</span><span class="identifier">successes</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-</pre>
-<p>
- The procedure now defines a table of significance levels: these are
- the probabilities that the true occurrence frequency lies outside the
- calculated interval:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- Some pretty printing of the table header follows:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
- <span class="string">"_______________________________________________________________________\n"</span>
- <span class="string">"Confidence Lower CP Upper CP Lower JP Upper JP\n"</span>
- <span class="string">" Value (%) Limit Limit Limit Limit\n"</span>
- <span class="string">"_______________________________________________________________________\n"</span><span class="special">;</span>
-</pre>
-<p>
- And now for the important part - the intervals themselves - for each
- value of <span class="emphasis"><em>alpha</em></span>, we call <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
- and <code class="computeroutput"><span class="identifier">find_lower_upper_on_p</span></code>
- to obtain lower and upper bounds respectively. Note that since we are
- calculating a two-sided interval, we must divide the value of alpha
- in two.
- </p>
-<p>
- Please note that calculating two separate <span class="emphasis"><em>single sided bounds</em></span>,
- each with risk level &#945; &#160;is not the same thing as calculating a two sided
- interval. Had we calculate two single-sided intervals each with a risk
- that the true value is outside the interval of &#945;, then:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- The risk that it is less than the lower bound is &#945;.
- </li></ul></div>
-<p>
- and
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- The risk that it is greater than the upper bound is also &#945;.
- </li></ul></div>
-<p>
- So the risk it is outside <span class="bold"><strong>upper or lower bound</strong></span>,
- is <span class="bold"><strong>twice</strong></span> alpha, and the probability
- that it is inside the bounds is therefore not nearly as high as one
- might have thought. This is why &#945;/2 must be used in the calculations
- below.
- </p>
-<p>
- In contrast, had we been calculating a single-sided interval, for example:
- <span class="emphasis"><em>"Calculate a lower bound so that we are P% sure that
- the true occurrence frequency is greater than some value"</em></span>
- then we would <span class="bold"><strong>not</strong></span> have divided by
- two.
- </p>
-<p>
- Finally note that <code class="computeroutput"><span class="identifier">binomial_distribution</span></code>
- provides a choice of two methods for the calculation, we print out
- the results from both methods in this example:
- </p>
-<pre class="programlisting"> <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Confidence value:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="comment">// Calculate Clopper Pearson bounds:</span>
- <span class="keyword">double</span> <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
- <span class="keyword">double</span> <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
- <span class="comment">// Print Clopper Pearson Limits:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">u</span><span class="special">;</span>
- <span class="comment">// Calculate Jeffreys Prior Bounds:</span>
- <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span>
- <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">,</span>
- <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">jeffreys_prior_interval</span><span class="special">);</span>
- <span class="identifier">u</span> <span class="special">=</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span>
- <span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">,</span>
- <span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">jeffreys_prior_interval</span><span class="special">);</span>
- <span class="comment">// Print Jeffreys Prior Limits:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">u</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- And that's all there is to it. Let's see some sample output for a 2
- in 10 success ratio, first for 20 trials:
- </p>
-<pre class="programlisting">___________________________________________
-2-Sided Confidence Limits For Success Ratio
-___________________________________________
-
-Number of Observations = 20
-Number of successes = 4
-Sample frequency of occurrence = 0.2
-
-
-_______________________________________________________________________
-Confidence Lower CP Upper CP Lower JP Upper JP
- Value (%) Limit Limit Limit Limit
-_______________________________________________________________________
- 50.000 0.12840 0.29588 0.14974 0.26916
- 75.000 0.09775 0.34633 0.11653 0.31861
- 90.000 0.07135 0.40103 0.08734 0.37274
- 95.000 0.05733 0.43661 0.07152 0.40823
- 99.000 0.03576 0.50661 0.04655 0.47859
- 99.900 0.01905 0.58632 0.02634 0.55960
- 99.990 0.01042 0.64997 0.01530 0.62495
- 99.999 0.00577 0.70216 0.00901 0.67897
-</pre>
-<p>
- As you can see, even at the 95% confidence level the bounds are really
- quite wide (this example is chosen to be easily compared to the one
- in the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a> <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc241.htm" target="_top">here</a>).
- Note also that the Clopper-Pearson calculation method (CP above) produces
- quite noticeably more pessimistic estimates than the Jeffreys Prior
- method (JP above).
- </p>
-<p>
- Compare that with the program output for 2000 trials:
- </p>
-<pre class="programlisting">___________________________________________
-2-Sided Confidence Limits For Success Ratio
-___________________________________________
-
-Number of Observations = 2000
-Number of successes = 400
-Sample frequency of occurrence = 0.2000000
-
-
-_______________________________________________________________________
-Confidence Lower CP Upper CP Lower JP Upper JP
- Value (%) Limit Limit Limit Limit
-_______________________________________________________________________
- 50.000 0.19382 0.20638 0.19406 0.20613
- 75.000 0.18965 0.21072 0.18990 0.21047
- 90.000 0.18537 0.21528 0.18561 0.21503
- 95.000 0.18267 0.21821 0.18291 0.21796
- 99.000 0.17745 0.22400 0.17769 0.22374
- 99.900 0.17150 0.23079 0.17173 0.23053
- 99.990 0.16658 0.23657 0.16681 0.23631
- 99.999 0.16233 0.24169 0.16256 0.24143
-</pre>
-<p>
- Now even when the confidence level is very high, the limits are really
- quite close to the experimentally calculated value of 0.2. Furthermore
- the difference between the two calculation methods is now really quite
- small.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binomial_quiz_example.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_size_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_size_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_size_eg.html
deleted file mode 100644
index 707e16e49c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binom_size_eg.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Estimating Sample Sizes for a Binomial Distribution.</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
-<link rel="prev" href="binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">
-<link rel="next" href="../geometric_eg.html" title="Geometric Distribution Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binom_conf.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../geometric_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_binom_eg_binom_size_eg">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.binom_eg.binom_size_eg"></a><a class="link" href="binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">Estimating
- Sample Sizes for a Binomial Distribution.</a>
-</h6></div></div></div>
-<p>
- Imagine you have a critical component that you know will fail in 1
- in N "uses" (for some suitable definition of "use").
- You may want to schedule routine replacement of the component so that
- its chance of failure between routine replacements is less than P%.
- If the failures follow a binomial distribution (each time the component
- is "used" it either fails or does not) then the static member
- function <code class="computeroutput"><span class="identifier">binomial_distibution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_maximum_number_of_trials</span></code>
- can be used to estimate the maximum number of "uses" of that
- component for some acceptable risk level <span class="emphasis"><em>alpha</em></span>.
- </p>
-<p>
- The example program <a href="../../../../../../../../example/binomial_sample_sizes.cpp" target="_top">binomial_sample_sizes.cpp</a>
- demonstrates its usage. It centres on a routine that prints out a table
- of maximum sample sizes for various probability thresholds:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">find_max_sample_size</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">p</span><span class="special">,</span> <span class="comment">// success ratio.</span>
- <span class="keyword">unsigned</span> <span class="identifier">successes</span><span class="special">)</span> <span class="comment">// Total number of observed successes permitted.</span>
-<span class="special">{</span>
-</pre>
-<p>
- The routine then declares a table of probability thresholds: these
- are the maximum acceptable probability that <span class="emphasis"><em>successes</em></span>
- or fewer events will be observed. In our example, <span class="emphasis"><em>successes</em></span>
- will be always zero, since we want no component failures, but in other
- situations non-zero values may well make sense.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- Much of the rest of the program is pretty-printing, the important part
- is in the calculation of maximum number of permitted trials for each
- value of alpha:
- </p>
-<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// Confidence value:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="comment">// calculate trials:</span>
- <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">binomial</span><span class="special">::</span><span class="identifier">find_maximum_number_of_trials</span><span class="special">(</span>
- <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">floor</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
- <span class="comment">// Print Trials:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Note that since we're calculating the maximum number of trials permitted,
- we'll err on the safe side and take the floor of the result. Had we
- been calculating the <span class="emphasis"><em>minimum</em></span> number of trials
- required to observe a certain number of <span class="emphasis"><em>successes</em></span>
- using <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
- we would have taken the ceiling instead.
- </p>
-<p>
- We'll finish off by looking at some sample output, firstly for a 1
- in 1000 chance of component failure with each use:
- </p>
-<pre class="programlisting">________________________
-Maximum Number of Trials
-________________________
-
-Success ratio = 0.001
-Maximum Number of "successes" permitted = 0
-
-
-____________________________
-Confidence Max Number
- Value (%) Of Trials
-____________________________
- 50.000 692
- 75.000 287
- 90.000 105
- 95.000 51
- 99.000 10
- 99.900 0
- 99.990 0
- 99.999 0
-</pre>
-<p>
- So 51 "uses" of the component would yield a 95% chance that
- no component failures would be observed.
- </p>
-<p>
- Compare that with a 1 in 1 million chance of component failure:
- </p>
-<pre class="programlisting">________________________
-Maximum Number of Trials
-________________________
-
-Success ratio = 0.0000010
-Maximum Number of "successes" permitted = 0
-
-
-____________________________
-Confidence Max Number
- Value (%) Of Trials
-____________________________
- 50.000 693146
- 75.000 287681
- 90.000 105360
- 95.000 51293
- 99.000 10050
- 99.900 1000
- 99.990 100
- 99.999 10
-</pre>
-<p>
- In this case, even 1000 uses of the component would still yield a less
- than 1 in 1000 chance of observing a component failure (i.e. a 99.9%
- chance of no failure).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binom_conf.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../geometric_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html
deleted file mode 100644
index 546c83e699..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_coinflip_example.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Binomial Coin-Flipping Example</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
-<link rel="prev" href="../binom_eg.html" title="Binomial Distribution Examples">
-<link rel="next" href="binomial_quiz_example.html" title="Binomial Quiz Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_quiz_example.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_binom_eg_binomial_coinflip_example">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.binom_eg.binomial_coinflip_example"></a><a class="link" href="binomial_coinflip_example.html" title="Binomial Coin-Flipping Example">Binomial
- Coin-Flipping Example</a>
-</h6></div></div></div>
-<p>
- An example of a <a href="http://en.wikipedia.org/wiki/Bernoulli_process" target="_top">Bernoulli
- process</a> is coin flipping. A variable in such a sequence may
- be called a Bernoulli variable.
- </p>
-<p>
- This example shows using the Binomial distribution to predict the probability
- of heads and tails when throwing a coin.
- </p>
-<p>
- The number of correct answers (say heads), X, is distributed as a binomial
- random variable with binomial distribution parameters number of trials
- (flips) n = 10 and probability (success_fraction) of getting a head
- p = 0.5 (a 'fair' coin).
- </p>
-<p>
- (Our coin is assumed fair, but we could easily change the success_fraction
- parameter p from 0.5 to some other value to simulate an unfair coin,
- say 0.6 for one with chewing gum on the tail, so it is more likely
- to fall tails down and heads up).
- </p>
-<p>
- First we need some includes and using statements to be able to use
- the binomial distribution, some std input and output, and get started:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Using Binomial distribution to predict how many heads and tails."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
-</pre>
-<p>
- </p>
-<p>
- See note <a class="link" href="binomial_coinflip_example.html#coinflip_eg_catch">with the catch block</a>
- about why a try and catch block is always a good idea.
- </p>
-<p>
- First, construct a binomial distribution with parameters success_fraction
- 1/2, and how many flips.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// = 50% = 1/2 for a 'fair' coin.</span>
-<span class="keyword">int</span> <span class="identifier">flips</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
-<span class="identifier">binomial</span> <span class="identifier">flip</span><span class="special">(</span><span class="identifier">flips</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
-
-<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- Then some examples of using Binomial moments (and echoing the parameters).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"From "</span> <span class="special">&lt;&lt;</span> <span class="identifier">flips</span> <span class="special">&lt;&lt;</span> <span class="string">" one can expect to get on average "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" heads (or tails)."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Mode is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mode</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"So about 2/3 will lie within 1 standard deviation and get between "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">flip</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">floor</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">flip</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" correct."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Skewness is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">skewness</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Skewness of binomial distributions is only zero (symmetrical)</span>
-<span class="comment">// if success_fraction is exactly one half,</span>
-<span class="comment">// for example, when flipping 'fair' coins.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Skewness if success_fraction is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">flip</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">skewness</span><span class="special">(</span><span class="identifier">flip</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Expect zero for a 'fair' coin.</span>
-</pre>
-<p>
- </p>
-<p>
- Now we show a variety of predictions on the probability of heads:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"For "</span> <span class="special">&lt;&lt;</span> <span class="identifier">flip</span><span class="special">.</span><span class="identifier">trials</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" coin flips: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting no heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting at least one head is "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">-</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- When we want to calculate the probability for a range or values we
- can sum the PDF's:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 0 or 1 heads is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// sum of exactly == probabilities</span>
-</pre>
-<p>
- </p>
-<p>
- Or we can use the cdf.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 0 or 1 (&lt;= 1) heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 9 or 10 heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">9</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Note that using
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 9 or 10 heads is "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">8</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- is less accurate than using the complement
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting 9 or 10 heads is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">8</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Since the subtraction may involve <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_top">cancellation
- error</a>, where as <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">8</span><span class="special">))</span></code>
- does not use such a subtraction internally, and so does not exhibit
- the problem.
- </p>
-<p>
- To get the probability for a range of heads, we can either add the
- pdfs for each number of heads
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of between 4 and 6 heads (4 or 5 or 6) is "</span>
- <span class="comment">// P(X == 4) + P(X == 5) + P(X == 6)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">5</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- But this is probably less efficient than using the cdf
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of between 4 and 6 heads (4 or 5 or 6) is "</span>
- <span class="comment">// P(X &lt;= 6) - P(X &lt;= 3) == P(X &lt; 4)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Certainly for a bigger range like, 3 to 7
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of between 3 and 7 heads (3, 4, 5, 6 or 7) is "</span>
- <span class="comment">// P(X &lt;= 7) - P(X &lt;= 2) == P(X &lt; 3)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">7</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Finally, print two tables of probability for the <span class="emphasis"><em>exactly</em></span>
- and <span class="emphasis"><em>at least</em></span> a number of heads.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// Print a table of probability for the exactly a number of heads.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly (==) heads"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">successes</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">successes</span> <span class="special">&lt;=</span> <span class="identifier">flips</span><span class="special">;</span> <span class="identifier">successes</span><span class="special">++)</span>
-<span class="special">{</span> <span class="comment">// Say success means getting a head (or equally success means getting a tail).</span>
- <span class="keyword">double</span> <span class="identifier">probability</span> <span class="special">=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">);</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="string">" or 1 in "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">/</span> <span class="identifier">probability</span>
- <span class="special">&lt;&lt;</span> <span class="string">", or "</span> <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="string">"%"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// for i</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="comment">// Tabulate the probability of getting between zero heads and 0 upto 10 heads.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting upto (&lt;=) heads"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">successes</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">successes</span> <span class="special">&lt;=</span> <span class="identifier">flips</span><span class="special">;</span> <span class="identifier">successes</span><span class="special">++)</span>
-<span class="special">{</span> <span class="comment">// Say success means getting a head</span>
- <span class="comment">// (equally success could mean getting a tail).</span>
- <span class="keyword">double</span> <span class="identifier">probability</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">flip</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">);</span> <span class="comment">// P(X &lt;= heads)</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="string">" or 1 in "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span> <span class="special">/</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="string">", or "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="string">"%"</span><span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// for i</span>
-</pre>
-<p>
- </p>
-<p>
- The last (0 to 10 heads) must, of course, be 100% probability.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="special">}</span>
-<span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">//</span>
-</pre>
-<p>
- </p>
-<p>
- <a name="coinflip_eg_catch"></a>It is always essential to include try
- &amp; catch blocks because default policies are to throw exceptions
- on arguments that are out of domain or cause errors like numeric-overflow.
- </p>
-<p>
- Lacking try &amp; catch blocks, the program will abort, whereas the
- message below from the thrown exception will give some helpful clues
- as to the cause of the problem.
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"\n"</span><span class="string">"Message from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- See <a href="../../../../../../../../example/binomial_coinflip_example.cpp" target="_top">binomial_coinflip_example.cpp</a>
- for full source code, the program output looks like this:
- </p>
-<pre class="programlisting">Using Binomial distribution to predict how many heads and tails.
-From 10 one can expect to get on average 5 heads (or tails).
-Mode is 5
-Standard deviation is 1.581
-So about 2/3 will lie within 1 standard deviation and get between 4 and 6 correct.
-Skewness is 0
-Skewness if success_fraction is 0.5 is 0
-
-For 10 coin flips:
-Probability of getting no heads is 0.0009766
-Probability of getting at least one head is 0.999
-Probability of getting 0 or 1 heads is 0.01074
-Probability of getting 0 or 1 (&lt;= 1) heads is 0.01074
-Probability of getting 9 or 10 heads is 0.01074
-Probability of getting 9 or 10 heads is 0.01074
-Probability of getting 9 or 10 heads is 0.01074
-Probability of between 4 and 6 heads (4 or 5 or 6) is 0.6562
-Probability of between 4 and 6 heads (4 or 5 or 6) is 0.6563
-Probability of between 3 and 7 heads (3, 4, 5, 6 or 7) is 0.8906
-
-Probability of getting exactly (==) heads
-0 0.0009766 or 1 in 1024, or 0.09766%
-1 0.009766 or 1 in 102.4, or 0.9766%
-2 0.04395 or 1 in 22.76, or 4.395%
-3 0.1172 or 1 in 8.533, or 11.72%
-4 0.2051 or 1 in 4.876, or 20.51%
-5 0.2461 or 1 in 4.063, or 24.61%
-6 0.2051 or 1 in 4.876, or 20.51%
-7 0.1172 or 1 in 8.533, or 11.72%
-8 0.04395 or 1 in 22.76, or 4.395%
-9 0.009766 or 1 in 102.4, or 0.9766%
-10 0.0009766 or 1 in 1024, or 0.09766%
-
-Probability of getting upto (&lt;=) heads
-0 0.0009766 or 1 in 1024, or 0.09766%
-1 0.01074 or 1 in 93.09, or 1.074%
-2 0.05469 or 1 in 18.29, or 5.469%
-3 0.1719 or 1 in 5.818, or 17.19%
-4 0.377 or 1 in 2.653, or 37.7%
-5 0.623 or 1 in 1.605, or 62.3%
-6 0.8281 or 1 in 1.208, or 82.81%
-7 0.9453 or 1 in 1.058, or 94.53%
-8 0.9893 or 1 in 1.011, or 98.93%
-9 0.999 or 1 in 1.001, or 99.9%
-10 1 or 1 in 1, or 100%
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binomial_quiz_example.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html
deleted file mode 100644
index 2259eba730..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/binom_eg/binomial_quiz_example.html
+++ /dev/null
@@ -1,559 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Binomial Quiz Example</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../binom_eg.html" title="Binomial Distribution Examples">
-<link rel="prev" href="binomial_coinflip_example.html" title="Binomial Coin-Flipping Example">
-<link rel="next" href="binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for a Binomial Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binomial_coinflip_example.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_conf.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_binom_eg_binomial_quiz_example">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.binom_eg.binomial_quiz_example"></a><a class="link" href="binomial_quiz_example.html" title="Binomial Quiz Example">Binomial
- Quiz Example</a>
-</h6></div></div></div>
-<p>
- A multiple choice test has four possible answers to each of 16 questions.
- A student guesses the answer to each question, so the probability of
- getting a correct answer on any given question is one in four, a quarter,
- 1/4, 25% or fraction 0.25. The conditions of the binomial experiment
- are assumed to be met: n = 16 questions constitute the trials; each
- question results in one of two possible outcomes (correct or incorrect);
- the probability of being correct is 0.25 and is constant if no knowledge
- about the subject is assumed; the questions are answered independently
- if the student's answer to a question in no way influences his/her
- answer to another question.
- </p>
-<p>
- First, we need to be able to use the binomial distribution constructor
- (and some std input/output, of course).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">flush</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">exception</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- The number of correct answers, X, is distributed as a binomial random
- variable with binomial distribution parameters: questions n and success
- fraction probability p. So we construct a binomial distribution:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">questions</span> <span class="special">=</span> <span class="number">16</span><span class="special">;</span> <span class="comment">// All the questions in the quiz.</span>
-<span class="keyword">int</span> <span class="identifier">answers</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span> <span class="comment">// Possible answers to each question.</span>
-<span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">1.</span> <span class="special">/</span> <span class="identifier">answers</span><span class="special">;</span> <span class="comment">// If a random guess, p = 1/4 = 0.25.</span>
-<span class="identifier">binomial</span> <span class="identifier">quiz</span><span class="special">(</span><span class="identifier">questions</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- and display the distribution parameters we used thus:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"In a quiz with "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quiz</span><span class="special">.</span><span class="identifier">trials</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" questions and with a probability of guessing right of "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quiz</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">*</span> <span class="number">100</span> <span class="special">&lt;&lt;</span> <span class="string">" %"</span>
- <span class="special">&lt;&lt;</span> <span class="string">" or 1 in "</span> <span class="special">&lt;&lt;</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="number">1.</span> <span class="special">/</span> <span class="identifier">quiz</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Show a few probabilities of just guessing:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting none right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.010023</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly one right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly two right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">int</span> <span class="identifier">pass_score</span> <span class="special">=</span> <span class="number">11</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting exactly "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by chance is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting all "</span> <span class="special">&lt;&lt;</span> <span class="identifier">questions</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by chance is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">questions</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting none right is 0.0100226
-Probability of getting exactly one right is 0.0534538
-Probability of getting exactly two right is 0.133635
-Probability of getting exactly 11 right is 0.000247132
-Probability of getting exactly all 16 answers right by chance is 2.32831e-010
-</pre>
-<p>
- These don't give any encouragement to guessers!
- </p>
-<p>
- We can tabulate the 'getting exactly right' ( == ) probabilities thus:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span> <span class="string">"Guessed Probability"</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">successes</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">successes</span> <span class="special">&lt;=</span> <span class="identifier">questions</span><span class="special">;</span> <span class="identifier">successes</span><span class="special">++)</span>
-<span class="special">{</span>
- <span class="keyword">double</span> <span class="identifier">probability</span> <span class="special">=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">);</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">probability</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Guessed Probability
- 0 0.0100226
- 1 0.0534538
- 2 0.133635
- 3 0.207876
- 4 0.225199
- 5 0.180159
- 6 0.110097
- 7 0.0524273
- 8 0.0196602
- 9 0.00582526
-10 0.00135923
-11 0.000247132
-12 3.43239e-005
-13 3.5204e-006
-14 2.51457e-007
-15 1.11759e-008
-16 2.32831e-010
-</pre>
-<p>
- Then we can add the probabilities of some 'exactly right' like this:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting none or one right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting none or one right is 0.0634764
-</pre>
-<p>
- But if more than a couple of scores are involved, it is more convenient
- (and may be more accurate) to use the Cumulative Distribution Function
- (cdf) instead:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting none or one right is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting none or one right is 0.0634764
-</pre>
-<p>
- Since the cdf is inclusive, we can get the probability of getting up
- to 10 right ( &lt;= )
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting &lt;= 10 right (to fail) is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting &lt;= 10 right (to fail) is 0.999715
-</pre>
-<p>
- To get the probability of getting 11 or more right (to pass), it is
- tempting to use
-</p>
-<pre class="programlisting"><span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span></pre>
-<p>
- to get the probability of &gt; 10
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting &gt; 10 right (to pass) is "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting &gt; 10 right (to pass) is 0.000285239
-</pre>
-<p>
- But this should be resisted in favor of using the complement function.
- <a class="link" href="../../overview/complements.html#why_complements">Why complements?</a>
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting &gt; 10 right (to pass) is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting &gt; 10 right (to pass) is 0.000285239
-</pre>
-<p>
- And we can check that these two, &lt;= 10 and &gt; 10, add up to unity.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">BOOST_ASSERT</span><span class="special">((</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">10</span><span class="special">)))</span> <span class="special">==</span> <span class="number">1.</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- If we want a &lt; rather than a &lt;= test, because the CDF is inclusive,
- we must subtract one from the score.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting less than "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span>
- <span class="special">&lt;&lt;</span> <span class="string">" (&lt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span> <span class="special">&lt;&lt;</span> <span class="string">") answers right by guessing is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting less than 11 (&lt; 11) answers right by guessing is 0.999715
-</pre>
-<p>
- and similarly to get a &gt;= rather than a &gt; test we also need to
- subtract one from the score (and can again check the sum is unity).
- This is because if the cdf is <span class="emphasis"><em>inclusive</em></span>, then
- its complement must be <span class="emphasis"><em>exclusive</em></span> otherwise there
- would be one possible outcome counted twice!
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting at least "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span>
- <span class="special">&lt;&lt;</span> <span class="string">"(&gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pass_score</span> <span class="special">&lt;&lt;</span> <span class="string">") answers right by guessing is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">-</span><span class="number">1</span><span class="special">))</span>
- <span class="special">&lt;&lt;</span> <span class="string">", only 1 in "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span><span class="special">/</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">-</span><span class="number">1</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">BOOST_ASSERT</span><span class="special">((</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">pass_score</span><span class="special">-</span><span class="number">1</span><span class="special">)))</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting at least 11 (&gt;= 11) answers right by guessing is 0.000285239, only 1 in 3505.83
-</pre>
-<p>
- Finally we can tabulate some probabilities:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span> <span class="string">"At most (&lt;=)"</span><span class="string">"\n"</span><span class="string">"Guessed OK Probability"</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">score</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">score</span> <span class="special">&lt;=</span> <span class="identifier">questions</span><span class="special">;</span> <span class="identifier">score</span><span class="special">++)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">score</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">10</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">score</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">At most (&lt;=)
-Guessed OK Probability
- 0 0.01002259576
- 1 0.0634764398
- 2 0.1971110499
- 3 0.4049871101
- 4 0.6301861752
- 5 0.8103454274
- 6 0.9204427481
- 7 0.9728700437
- 8 0.9925302796
- 9 0.9983555346
-10 0.9997147608
-11 0.9999618928
-12 0.9999962167
-13 0.9999997371
-14 0.9999999886
-15 0.9999999998
-16 1
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span> <span class="string">"At least (&gt;)"</span><span class="string">"\n"</span><span class="string">"Guessed OK Probability"</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">score</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">score</span> <span class="special">&lt;=</span> <span class="identifier">questions</span><span class="special">;</span> <span class="identifier">score</span><span class="special">++)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">score</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">10</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">score</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">At least (&gt;)
-Guessed OK Probability
- 0 0.9899774042
- 1 0.9365235602
- 2 0.8028889501
- 3 0.5950128899
- 4 0.3698138248
- 5 0.1896545726
- 6 0.07955725188
- 7 0.02712995629
- 8 0.00746972044
- 9 0.001644465374
-10 0.0002852391917
-11 3.810715862e-005
-12 3.783265129e-006
-13 2.628657967e-007
-14 1.140870154e-008
-15 2.328306437e-010
-16 0
-</pre>
-<p>
- We now consider the probabilities of <span class="bold"><strong>ranges</strong></span>
- of correct guesses.
- </p>
-<p>
- First, calculate the probability of getting a range of guesses right,
- by adding the exact probabilities of each from low ... high.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">low</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Getting at least 3 right.</span>
-<span class="keyword">int</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">5</span><span class="special">;</span> <span class="comment">// Getting as most 5 right.</span>
-<span class="keyword">double</span> <span class="identifier">sum</span> <span class="special">=</span> <span class="number">0.</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">low</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;=</span> <span class="identifier">high</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span>
-<span class="special">{</span>
- <span class="identifier">sum</span> <span class="special">+=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">i</span><span class="special">);</span>
-<span class="special">}</span>
-<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">4</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">sum</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.61323</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting between 3 and 5 answers right by guessing is 0.6132
-</pre>
-<p>
- Or, usually better, we can use the difference of cdfs instead:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.61323</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting between 3 and 5 answers right by guessing is 0.6132
-</pre>
-<p>
- And we can also try a few more combinations of high and low choices:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">low</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">6</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 and 6 P= 0.91042</span>
-<span class="identifier">low</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">8</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 &lt;= x 8 P = 0.9825</span>
-<span class="identifier">low</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span> <span class="identifier">high</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of getting between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">low</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">high</span> <span class="special">&lt;&lt;</span> <span class="string">" answers right by guessing is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">high</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="identifier">low</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 4 &lt;= x 4 P = 0.22520</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of getting between 1 and 6 answers right by guessing is 0.9104
-Probability of getting between 1 and 8 answers right by guessing is 0.9825
-Probability of getting between 4 and 4 answers right by guessing is 0.2252
-</pre>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.binom_eg.binomial_quiz_example.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.binom_eg.binomial_quiz_example.using_binomial_distribution_moments"></a></span><a class="link" href="binomial_quiz_example.html#math_toolkit.dist.stat_tut.weg.binom_eg.binomial_quiz_example.using_binomial_distribution_moments">Using
- Binomial distribution moments</a>
- </h5>
-<p>
- Using moments of the distribution, we can say more about the spread
- of results from guessing.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"By guessing, on average, one can expect to get "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" correct answers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"So about 2/3 will lie within 1 standard deviation and get between "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">floor</span><span class="special">(</span><span class="identifier">mean</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">standard_deviation</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" correct."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Mode (the most frequent) is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mode</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Skewness is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">skewness</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">By guessing, on average, one can expect to get 4 correct answers.
-Standard deviation is 1.732
-So about 2/3 will lie within 1 standard deviation and get between 3 and 5 correct.
-Mode (the most frequent) is 4
-Skewness is 0.2887
-</pre>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.binom_eg.binomial_quiz_example.h1"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.binom_eg.binomial_quiz_example.quantiles"></a></span><a class="link" href="binomial_quiz_example.html#math_toolkit.dist.stat_tut.weg.binom_eg.binomial_quiz_example.quantiles">Quantiles</a>
- </h5>
-<p>
- The quantiles (percentiles or percentage points) for a few probability
- levels:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quartiles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.25</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Quartiles</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"1 standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.33</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.67</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 sd</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Deciles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.1</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Deciles</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"5 to 95% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5 to 95%</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2.5 to 97.5% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.025</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2.5 to 97.5%</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2 to 98% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.02</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.02</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2 to 98%</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If guessing then percentiles 1 to 99% will get "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.01</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">" to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.01</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" right."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Notice that these output integral values because the default policy
- is <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>.
- </p>
-<pre class="programlisting">Quartiles 2 to 5
-1 standard deviation 2 to 5
-Deciles 1 to 6
-5 to 95% 0 to 7
-2.5 to 97.5% 0 to 8
-2 to 98% 0 to 8
-</pre>
-<p>
- Quantiles values are controlled by the <a class="link" href="../../../../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">discrete
- quantile policy</a> chosen. The default is <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>,
- so the lower quantile is rounded down, and the upper quantile is rounded
- up.
- </p>
-<p>
- But we might believe that the real values tell us a little more - see
- <a class="link" href="../../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Discrete Quantile Policy</a>.
- </p>
-<p>
- We could control the policy for <span class="bold"><strong>all</strong></span>
- distributions by
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
-
-<span class="identifier">at</span> <span class="identifier">the</span> <span class="identifier">head</span> <span class="identifier">of</span> <span class="identifier">the</span> <span class="identifier">program</span> <span class="identifier">would</span> <span class="identifier">make</span> <span class="keyword">this</span> <span class="identifier">policy</span> <span class="identifier">apply</span>
-</pre>
-<p>
- to this <span class="bold"><strong>one, and only</strong></span>, translation
- unit.
- </p>
-<p>
- Or we can now create a (typedef for) policy that has discrete quantiles
- real (here avoiding any 'using namespaces ...' statements):
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">real</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_outwards</span><span class="special">;</span> <span class="comment">// Default.</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">real</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">real_quantile_policy</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Add a custom binomial distribution called
-</p>
-<pre class="programlisting"><span class="identifier">real_quantile_binomial</span></pre>
-<p>
- that uses
-</p>
-<pre class="programlisting"><span class="identifier">real_quantile_policy</span></pre>
-<p>
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">real_quantile_policy</span><span class="special">&gt;</span> <span class="identifier">real_quantile_binomial</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Construct an object of this custom distribution:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">real_quantile_binomial</span> <span class="identifier">quiz_real</span><span class="special">(</span><span class="identifier">questions</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- And use this to show some quantiles - that now have real rather than
- integer values.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quartiles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz</span><span class="special">,</span> <span class="number">0.25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.25</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Quartiles 2 to 4.6212</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"1 standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.33</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.67</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1 sd 2.6654 4.194</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Deciles "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.1</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Deciles 1.3487 5.7583</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"5 to 95% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5 to 95% 0.83739 6.4559</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2.5 to 97.5% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.025</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2.5 to 97.5% 0.42806 7.0688</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2 to 98% "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.02</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.02</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 2 to 98% 0.31311 7.7880</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If guessing, then percentiles 1 to 99% will get "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.01</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">" to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">quiz_real</span><span class="special">,</span> <span class="number">0.01</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" right."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Real Quantiles
-Quartiles 2 to 4.621
-1 standard deviation 2.665 to 4.194
-Deciles 1.349 to 5.758
-5 to 95% 0.8374 to 6.456
-2.5 to 97.5% 0.4281 to 7.069
-2 to 98% 0.3131 to 7.252
-If guessing then percentiles 1 to 99% will get 0 to 7.788 right.
-</pre>
-<p>
- See <a href="../../../../../../../../example/binomial_quiz_example.cpp" target="_top">binomial_quiz_example.cpp</a>
- for full source code and output.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binomial_coinflip_example.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_conf.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/c_sharp.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/c_sharp.html
deleted file mode 100644
index 51d811b549..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/c_sharp.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Using the Distributions from Within C#</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">
-<link rel="next" href="../variates.html" title="Random Variates and Distribution Parameters">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nag_library.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../variates.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_c_sharp">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.c_sharp"></a><a class="link" href="c_sharp.html" title="Using the Distributions from Within C#">Using the
- Distributions from Within C#</a>
-</h5></div></div></div>
-<p>
- The distributions in this library can be used from the C# programming
- language when they are built using Microsofts Common Language Runtime
- option.
- </p>
-<p>
- An example of this kind of usage is given in the <a href="../../../../../../distexplorer/html/index.html" target="_top">distribution_explorer</a>
- example: see <code class="literal">boost-root/libs/math/dot_net_example</code>
- for the source code: the application consists of a C++ dll that contains
- the actual distributions, and a C# GUI that allows you to explore their
- properties.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nag_library.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../variates.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg.html
deleted file mode 100644
index 09256043b9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Chi Squared Distribution Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="st_eg/paired_st.html" title="Comparing two paired samples with the Student's t distribution">
-<link rel="next" href="cs_eg/chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="st_eg/paired_st.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cs_eg/chi_sq_intervals.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_cs_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.cs_eg"></a><a class="link" href="cs_eg.html" title="Chi Squared Distribution Examples">Chi Squared
- Distribution Examples</a>
-</h5></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="cs_eg/chi_sq_intervals.html">Confidence
- Intervals on the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="cs_eg/chi_sq_test.html">Chi-Square
- Test for the Standard Deviation</a></span></dt>
-<dt><span class="section"><a href="cs_eg/chi_sq_size.html">Estimating
- the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="st_eg/paired_st.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cs_eg/chi_sq_intervals.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_intervals.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_intervals.html
deleted file mode 100644
index 6be1a9d280..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_intervals.html
+++ /dev/null
@@ -1,235 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Confidence Intervals on the Standard Deviation</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../cs_eg.html" title="Chi Squared Distribution Examples">
-<link rel="prev" href="../cs_eg.html" title="Chi Squared Distribution Examples">
-<link rel="next" href="chi_sq_test.html" title="Chi-Square Test for the Standard Deviation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_test.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_cs_eg_chi_sq_intervals">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.cs_eg.chi_sq_intervals"></a><a class="link" href="chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">Confidence
- Intervals on the Standard Deviation</a>
-</h6></div></div></div>
-<p>
- Once you have calculated the standard deviation for your data, a legitimate
- question to ask is "How reliable is the calculated standard deviation?".
- For this situation the Chi Squared distribution can be used to calculate
- confidence intervals for the standard deviation.
- </p>
-<p>
- The full example code &amp; sample output is in <a href="../../../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_deviation_test.cpp</a>.
- </p>
-<p>
- We'll begin by defining the procedure that will calculate and print
- out the confidence intervals:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">confidence_limits_on_std_deviation</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="comment">// Sample Standard Deviation</span>
- <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">)</span> <span class="comment">// Sample size</span>
-<span class="special">{</span>
-</pre>
-<p>
- We'll begin by printing out some general information:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"________________________________________________\n"</span>
- <span class="string">"2-Sided Confidence Limits For Standard Deviation\n"</span>
- <span class="string">"________________________________________________\n\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sd</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-</pre>
-<p>
- and then define a table of significance levels for which we'll calculate
- intervals:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- The distribution we'll need to calculate the confidence intervals is
- a Chi Squared distribution, with N-1 degrees of freedom:
- </p>
-<pre class="programlisting"><span class="identifier">chi_squared</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- For each value of alpha, the formula for the confidence interval is
- given by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../../equations/chi_squ_tut1.png"></span>
- </p>
-<p>
- Where <span class="inlinemediaobject"><img src="../../../../../../equations/chi_squ_tut2.png"></span> is the upper critical value, and <span class="inlinemediaobject"><img src="../../../../../../equations/chi_squ_tut3.png"></span> is
- the lower critical value of the Chi Squared distribution.
- </p>
-<p>
- In code we begin by printing out a table header:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
- <span class="string">"_____________________________________________\n"</span>
- <span class="string">"Confidence Lower Upper\n"</span>
- <span class="string">" Value (%) Limit Limit\n"</span>
- <span class="string">"_____________________________________________\n"</span><span class="special">;</span>
-</pre>
-<p>
- and then loop over the values of alpha and calculate the intervals
- for each: remember that the lower critical value is the same as the
- quantile, and the upper critical value is the same as the quantile
- from the complement of the probability:
- </p>
-<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// Confidence value:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="comment">// Calculate limits:</span>
- <span class="keyword">double</span> <span class="identifier">lower_limit</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">((</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span> <span class="number">2</span><span class="special">)));</span>
- <span class="keyword">double</span> <span class="identifier">upper_limit</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">((</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
- <span class="comment">// Print Limits:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">lower_limit</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">upper_limit</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- To see some example output we'll use the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm" target="_top">gear
- data</a> from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a>. The data represents measurements
- of gear diameter from a manufacturing process.
- </p>
-<pre class="programlisting">________________________________________________
-2-Sided Confidence Limits For Standard Deviation
-________________________________________________
-
-Number of Observations = 100
-Standard Deviation = 0.006278908
-
-
-_____________________________________________
-Confidence Lower Upper
- Value (%) Limit Limit
-_____________________________________________
- 50.000 0.00601 0.00662
- 75.000 0.00582 0.00685
- 90.000 0.00563 0.00712
- 95.000 0.00551 0.00729
- 99.000 0.00530 0.00766
- 99.900 0.00507 0.00812
- 99.990 0.00489 0.00855
- 99.999 0.00474 0.00895
-</pre>
-<p>
- So at the 95% confidence level we conclude that the standard deviation
- is between 0.00551 and 0.00729.
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.cs_eg.chi_sq_intervals.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.cs_eg.chi_sq_intervals.confidence_intervals_as_a_function_of_the_number_of_observations"></a></span><a class="link" href="chi_sq_intervals.html#math_toolkit.dist.stat_tut.weg.cs_eg.chi_sq_intervals.confidence_intervals_as_a_function_of_the_number_of_observations">Confidence
- intervals as a function of the number of observations</a>
- </h5>
-<p>
- Similarly, we can also list the confidence intervals for the standard
- deviation for the common confidence levels 95%, for increasing numbers
- of observations.
- </p>
-<p>
- The standard deviation used to compute these values is unity, so the
- limits listed are <span class="bold"><strong>multipliers</strong></span> for
- any particular standard deviation. For example, given a standard deviation
- of 0.0062789 as in the example above; for 100 observations the multiplier
- is 0.8780 giving the lower confidence limit of 0.8780 * 0.006728 =
- 0.00551.
- </p>
-<pre class="programlisting">____________________________________________________
-Confidence level (two-sided) = 0.0500000
-Standard Deviation = 1.0000000
-________________________________________
-Observations Lower Upper
- Limit Limit
-________________________________________
- 2 0.4461 31.9102
- 3 0.5207 6.2847
- 4 0.5665 3.7285
- 5 0.5991 2.8736
- 6 0.6242 2.4526
- 7 0.6444 2.2021
- 8 0.6612 2.0353
- 9 0.6755 1.9158
- 10 0.6878 1.8256
- 15 0.7321 1.5771
- 20 0.7605 1.4606
- 30 0.7964 1.3443
- 40 0.8192 1.2840
- 50 0.8353 1.2461
- 60 0.8476 1.2197
- 100 0.8780 1.1617
- 120 0.8875 1.1454
- 1000 0.9580 1.0459
- 10000 0.9863 1.0141
- 50000 0.9938 1.0062
- 100000 0.9956 1.0044
- 1000000 0.9986 1.0014
-</pre>
-<p>
- With just 2 observations the limits are from <span class="bold"><strong>0.445</strong></span>
- up to to <span class="bold"><strong>31.9</strong></span>, so the standard deviation
- might be about <span class="bold"><strong>half</strong></span> the observed value
- up to <span class="bold"><strong>30 times</strong></span> the observed value!
- </p>
-<p>
- Estimating a standard deviation with just a handful of values leaves
- a very great uncertainty, especially the upper limit. Note especially
- how far the upper limit is skewed from the most likely standard deviation.
- </p>
-<p>
- Even for 10 observations, normally considered a reasonable number,
- the range is still from 0.69 to 1.8, about a range of 0.7 to 2, and
- is still highly skewed with an upper limit <span class="bold"><strong>twice</strong></span>
- the median.
- </p>
-<p>
- When we have 1000 observations, the estimate of the standard deviation
- is starting to look convincing, with a range from 0.95 to 1.05 - now
- near symmetrical, but still about + or - 5%.
- </p>
-<p>
- Only when we have 10000 or more repeated observations can we start
- to be reasonably confident (provided we are sure that other factors
- like drift are not creeping in).
- </p>
-<p>
- For 10000 observations, the interval is 0.99 to 1.1 - finally a really
- convincing + or -1% confidence.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_test.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html
deleted file mode 100644
index bb2197d594..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_size.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../cs_eg.html" title="Chi Squared Distribution Examples">
-<link rel="prev" href="chi_sq_test.html" title="Chi-Square Test for the Standard Deviation">
-<link rel="next" href="../f_eg.html" title="F Distribution Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="chi_sq_test.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../f_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_cs_eg_chi_sq_size">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.cs_eg.chi_sq_size"></a><a class="link" href="chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation">Estimating
- the Required Sample Sizes for a Chi-Square Test for the Standard Deviation</a>
-</h6></div></div></div>
-<p>
- Suppose we conduct a Chi Squared test for standard deviation and the
- result is borderline, a legitimate question to ask is "How large
- would the sample size have to be in order to produce a definitive result?"
- </p>
-<p>
- The class template <a class="link" href="../../../dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">chi_squared_distribution</a>
- has a static method <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>
- that will calculate this value for some acceptable risk of type I failure
- <span class="emphasis"><em>alpha</em></span>, type II failure <span class="emphasis"><em>beta</em></span>,
- and difference from the standard deviation <span class="emphasis"><em>diff</em></span>.
- Please note that the method used works on variance, and not standard
- deviation as is usual for the Chi Squared Test.
- </p>
-<p>
- The code for this example is located in <a href="../../../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_dev_test.cpp</a>.
- </p>
-<p>
- We begin by defining a procedure to print out the sample sizes required
- for various risk levels:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">chi_squared_sample_sized</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">diff</span><span class="special">,</span> <span class="comment">// difference from variance to detect</span>
- <span class="keyword">double</span> <span class="identifier">variance</span><span class="special">)</span> <span class="comment">// true variance</span>
-<span class="special">{</span>
-</pre>
-<p>
- The procedure begins by printing out the input data:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-
-<span class="comment">// Print out general info:</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"_____________________________________________________________\n"</span>
- <span class="string">"Estimated sample sizes required for various confidence levels\n"</span>
- <span class="string">"_____________________________________________________________\n\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"True Variance"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">variance</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Difference to detect"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">diff</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-</pre>
-<p>
- And defines a table of significance levels for which we'll calculate
- sample sizes:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- For each value of alpha we can calculate two sample sizes: one where
- the sample variance is less than the true value by <span class="emphasis"><em>diff</em></span>
- and one where it is greater than the true value by <span class="emphasis"><em>diff</em></span>.
- Thanks to the asymmetric nature of the Chi Squared distribution these
- two values will not be the same, the difference in their calculation
- differs only in the sign of <span class="emphasis"><em>diff</em></span> that's passed
- to <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>.
- Finally in this example we'll simply things, and let risk level <span class="emphasis"><em>beta</em></span>
- be the same as <span class="emphasis"><em>alpha</em></span>:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
- <span class="string">"_______________________________________________________________\n"</span>
- <span class="string">"Confidence Estimated Estimated\n"</span>
- <span class="string">" Value (%) Sample Size Sample Size\n"</span>
- <span class="string">" (lower one (upper one\n"</span>
- <span class="string">" sided test) sided test)\n"</span>
- <span class="string">"_______________________________________________________________\n"</span><span class="special">;</span>
-<span class="comment">//</span>
-<span class="comment">// Now print out the data for the table rows.</span>
-<span class="comment">//</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// Confidence value:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="comment">// calculate df for a lower single sided test:</span>
- <span class="keyword">double</span> <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">chi_squared</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="special">-</span><span class="identifier">diff</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">variance</span><span class="special">);</span>
- <span class="comment">// convert to sample size:</span>
- <span class="keyword">double</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
- <span class="comment">// Print size:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span><span class="special">;</span>
- <span class="comment">// calculate df for an upper single sided test:</span>
- <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">chi_squared</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="identifier">diff</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">variance</span><span class="special">);</span>
- <span class="comment">// convert to sample size:</span>
- <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
- <span class="comment">// Print size:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- For some example output, consider the <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm" target="_top">silicon
- wafer data</a> from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a>. In this scenario a supplier
- of 100 ohm.cm silicon wafers claims that his fabrication process can
- produce wafers with sufficient consistency so that the standard deviation
- of resistivity for the lot does not exceed 10 ohm.cm. A sample of N
- = 10 wafers taken from the lot has a standard deviation of 13.97 ohm.cm,
- and the question we ask ourselves is "How large would our sample
- have to be to reliably detect this difference?".
- </p>
-<p>
- To use our procedure above, we have to convert the standard deviations
- to variance (square them), after which the program output looks like
- this:
- </p>
-<pre class="programlisting">_____________________________________________________________
-Estimated sample sizes required for various confidence levels
-_____________________________________________________________
-
-True Variance = 100.00000
-Difference to detect = 95.16090
-
-
-_______________________________________________________________
-Confidence Estimated Estimated
- Value (%) Sample Size Sample Size
- (lower one (upper one
- sided test) sided test)
-_______________________________________________________________
- 50.000 2 2
- 75.000 2 10
- 90.000 4 32
- 95.000 5 51
- 99.000 7 99
- 99.900 11 174
- 99.990 15 251
- 99.999 20 330
-</pre>
-<p>
- In this case we are interested in a upper single sided test. So for
- example, if the maximum acceptable risk of falsely rejecting the null-hypothesis
- is 0.05 (Type I error), and the maximum acceptable risk of failing
- to reject the null-hypothesis is also 0.05 (Type II error), we estimate
- that we would need a sample size of 51.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="chi_sq_test.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../f_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_test.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_test.html
deleted file mode 100644
index 4e154e43db..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg/chi_sq_test.html
+++ /dev/null
@@ -1,295 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Chi-Square Test for the Standard Deviation</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../cs_eg.html" title="Chi Squared Distribution Examples">
-<link rel="prev" href="chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">
-<link rel="next" href="chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="chi_sq_intervals.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_size.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_cs_eg_chi_sq_test">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.cs_eg.chi_sq_test"></a><a class="link" href="chi_sq_test.html" title="Chi-Square Test for the Standard Deviation">Chi-Square
- Test for the Standard Deviation</a>
-</h6></div></div></div>
-<p>
- We use this test to determine whether the standard deviation of a sample
- differs from a specified value. Typically this occurs in process change
- situations where we wish to compare the standard deviation of a new
- process to an established one.
- </p>
-<p>
- The code for this example is contained in <a href="../../../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_dev_test.cpp</a>,
- and we'll begin by defining the procedure that will print out the test
- statistics:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">chi_squared_test</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="comment">// Sample std deviation</span>
- <span class="keyword">double</span> <span class="identifier">D</span><span class="special">,</span> <span class="comment">// True std deviation</span>
- <span class="keyword">unsigned</span> <span class="identifier">N</span><span class="special">,</span> <span class="comment">// Sample size</span>
- <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span> <span class="comment">// Significance level</span>
-<span class="special">{</span>
-</pre>
-<p>
- The procedure begins by printing a summary of the input data:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-
-<span class="comment">// Print header:</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"______________________________________________\n"</span>
- <span class="string">"Chi Squared test for sample standard deviation\n"</span>
- <span class="string">"______________________________________________\n\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sd</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Expected True Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-</pre>
-<p>
- The test statistic (T) is simply the ratio of the sample and "true"
- standard deviations squared, multiplied by the number of degrees of
- freedom (the sample size less one):
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">D</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">D</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Test Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-</pre>
-<p>
- The distribution we need to use, is a Chi Squared distribution with
- N-1 degrees of freedom:
- </p>
-<pre class="programlisting"><span class="identifier">chi_squared</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">N</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- The various hypothesis that can be tested are summarised in the following
- table:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Hypothesis
- </p>
- </th>
-<th>
- <p>
- Test
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- The null-hypothesis: there is no difference in standard deviation
- from the specified value
- </p>
- </td>
-<td>
- <p>
- Reject if T &lt; &#967;<sup>2</sup><sub>(1-alpha/2; N-1)</sub> or T &gt; &#967;<sup>2</sup><sub>(alpha/2; N-1)</sub>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The alternative hypothesis: there is a difference in standard
- deviation from the specified value
- </p>
- </td>
-<td>
- <p>
- Reject if &#967;<sup>2</sup><sub>(1-alpha/2; N-1)</sub> &gt;= T &gt;= &#967;<sup>2</sup><sub>(alpha/2; N-1)</sub>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The alternative hypothesis: the standard deviation is less
- than the specified value
- </p>
- </td>
-<td>
- <p>
- Reject if &#967;<sup>2</sup><sub>(1-alpha; N-1)</sub> &lt;= T
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The alternative hypothesis: the standard deviation is greater
- than the specified value
- </p>
- </td>
-<td>
- <p>
- Reject if &#967;<sup>2</sup><sub>(alpha; N-1)</sub> &gt;= T
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Where &#967;<sup>2</sup><sub>(alpha; N-1)</sub> is the upper critical value of the Chi Squared distribution,
- and &#967;<sup>2</sup><sub>(1-alpha; N-1)</sub> is the lower critical value.
- </p>
-<p>
- Recall that the lower critical value is the same as the quantile, and
- the upper critical value is the same as the quantile from the complement
- of the probability, that gives us the following code to calculate the
- critical values:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ucv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">));</span>
-<span class="keyword">double</span> <span class="identifier">ucv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
-<span class="keyword">double</span> <span class="identifier">lcv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">lcv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-</pre>
-<p>
- Now that we have the critical values, we can compare these to our test
- statistic, and print out the result of each hypothesis and test:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span>
- <span class="string">"Results for Alternative Hypothesis and alpha"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Alternative Hypothesis Conclusion\n"</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation != "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span><span class="special">;</span>
-<span class="keyword">if</span><span class="special">((</span><span class="identifier">ucv2</span> <span class="special">&lt;</span> <span class="identifier">t_stat</span><span class="special">)</span> <span class="special">||</span> <span class="special">(</span><span class="identifier">lcv2</span> <span class="special">&gt;</span> <span class="identifier">t_stat</span><span class="special">))</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
-<span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation &lt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span><span class="special">;</span>
-<span class="keyword">if</span><span class="special">(</span><span class="identifier">lcv</span> <span class="special">&gt;</span> <span class="identifier">t_stat</span><span class="special">)</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
-<span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">D</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span><span class="special">;</span>
-<span class="keyword">if</span><span class="special">(</span><span class="identifier">ucv</span> <span class="special">&lt;</span> <span class="identifier">t_stat</span><span class="special">)</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
-<span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- To see some example output we'll use the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3581.htm" target="_top">gear
- data</a> from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a>. The data represents measurements
- of gear diameter from a manufacturing process. The program output is
- deliberately designed to mirror the DATAPLOT output shown in the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda358.htm" target="_top">NIST
- Handbook Example</a>.
- </p>
-<pre class="programlisting">______________________________________________
-Chi Squared test for sample standard deviation
-______________________________________________
-
-Number of Observations = 100
-Sample Standard Deviation = 0.00628
-Expected True Standard Deviation = 0.10000
-
-Test Statistic = 0.39030
-CDF of test statistic: = 1.438e-099
-Upper Critical Value at alpha: = 1.232e+002
-Upper Critical Value at alpha/2: = 1.284e+002
-Lower Critical Value at alpha: = 7.705e+001
-Lower Critical Value at alpha/2: = 7.336e+001
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion
-Standard Deviation != 0.100 ACCEPTED
-Standard Deviation &lt; 0.100 ACCEPTED
-Standard Deviation &gt; 0.100 REJECTED
-</pre>
-<p>
- In this case we are testing whether the sample standard deviation is
- 0.1, and the null-hypothesis is rejected, so we conclude that the standard
- deviation <span class="emphasis"><em>is not</em></span> 0.1.
- </p>
-<p>
- For an alternative example, consider the <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc23.htm" target="_top">silicon
- wafer data</a> again from the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a>. In this scenario a supplier
- of 100 ohm.cm silicon wafers claims that his fabrication process can
- produce wafers with sufficient consistency so that the standard deviation
- of resistivity for the lot does not exceed 10 ohm.cm. A sample of N
- = 10 wafers taken from the lot has a standard deviation of 13.97 ohm.cm,
- and the question we ask ourselves is "Is the suppliers claim correct?".
- </p>
-<p>
- The program output now looks like this:
- </p>
-<pre class="programlisting">______________________________________________
-Chi Squared test for sample standard deviation
-______________________________________________
-
-Number of Observations = 10
-Sample Standard Deviation = 13.97000
-Expected True Standard Deviation = 10.00000
-
-Test Statistic = 17.56448
-CDF of test statistic: = 9.594e-001
-Upper Critical Value at alpha: = 1.692e+001
-Upper Critical Value at alpha/2: = 1.902e+001
-Lower Critical Value at alpha: = 3.325e+000
-Lower Critical Value at alpha/2: = 2.700e+000
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion
-Standard Deviation != 10.000 REJECTED
-Standard Deviation &lt; 10.000 REJECTED
-Standard Deviation &gt; 10.000 ACCEPTED
-</pre>
-<p>
- In this case, our null-hypothesis is that the standard deviation of
- the sample is less than 10: this hypothesis is rejected in the analysis
- above, and so we reject the manufacturers claim.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="chi_sq_intervals.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="chi_sq_size.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/dist_construct_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/dist_construct_eg.html
deleted file mode 100644
index a92b6cdf64..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/dist_construct_eg.html
+++ /dev/null
@@ -1,304 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Distribution Construction Example</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="../weg.html" title="Worked Examples">
-<link rel="next" href="st_eg.html" title="Student's t Distribution Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../weg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_dist_construct_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.dist_construct_eg"></a><a class="link" href="dist_construct_eg.html" title="Distribution Construction Example">Distribution
- Construction Example</a>
-</h5></div></div></div>
-<p>
- See <a href="../../../../../../../example/distribution_construction.cpp" target="_top">distribution_construction.cpp</a>
- for full source code.
- </p>
-<p>
- The structure of distributions is rather different from some other statistical
- libraries, for example in less object-oriented language like FORTRAN
- and C, that provide a few arguments to each free function. This library
- provides each distribution as a template C++ class. A distribution is
- constructed with a few arguments, and then member and non-member functions
- are used to find values of the distribution, often a function of a random
- variate.
- </p>
-<p>
- First we need some includes to access the negative binomial distribution
- (and the binomial, beta and gamma too).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for negative_binomial_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span> <span class="comment">// default type is double.</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for binomial_distribution.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for beta_distribution.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for gamma_distribution.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution.</span>
-</pre>
-<p>
- </p>
-<p>
- Several examples of constructing distributions follow:
- </p>
-<p>
- First, a negative binomial distribution with 8 successes and a success
- fraction 0.25, 25% or 1 in 4, is constructed like this:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist0</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- But this is inconveniently long, so we might be tempted to write
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- but this might risk ambiguity with names in std random so *much better
- is explicit <code class="computeroutput"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span> </code> * ... statements like
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- and we can still reduce typing.
- </p>
-<p>
- Since the vast majority of applications use will be using double precision,
- the template argument to the distribution (RealType) defaults to type
- double, so we can also write:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mydist9</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span> <span class="comment">// Uses default RealType = double.</span>
-</pre>
-<p>
- </p>
-<p>
- But the name "negative_binomial_distribution" is still inconveniently
- long, so for most distributions, a convenience typedef is provided, for
- example:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// Reserved name of type double.</span>
-</pre>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- This convenience typedef is <span class="emphasis"><em>not</em></span> provided if a
- clash would occur with the name of a function: currently only "beta"
- and "gamma" fall into this category.
- </p></td></tr>
-</table></div>
-<p>
- So, after a using statement,
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- we have a convenient typedef to <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span></code>:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- Some more examples using the convenience typedef:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist10</span><span class="special">(</span><span class="number">5.</span><span class="special">,</span> <span class="number">0.4</span><span class="special">);</span> <span class="comment">// Both arguments double.</span>
-</pre>
-<p>
- </p>
-<p>
- And automatic conversion takes place, so you can use integers and floats:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist11</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">0.4</span><span class="special">);</span> <span class="comment">// Using provided typedef double, int and double arguments.</span>
-</pre>
-<p>
- </p>
-<p>
- This is probably the most common usage.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">mydist12</span><span class="special">(</span><span class="number">5.</span><span class="special">,</span> <span class="number">0.4F</span><span class="special">);</span> <span class="comment">// Double and float arguments.</span>
-<span class="identifier">negative_binomial</span> <span class="identifier">mydist13</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Both arguments integer.</span>
-</pre>
-<p>
- </p>
-<p>
- Similarly for most other distributions like the binomial.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">binomial</span> <span class="identifier">mybinomial</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// is more concise than</span>
-<span class="identifier">binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybinomd1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- For cases when the typdef distribution name would clash with a math special
- function (currently only beta and gamma) the typedef is deliberately
- not provided, and the longer version of the name must be used. For example
- do not use:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">beta</span><span class="special">;</span>
-<span class="identifier">beta</span> <span class="identifier">mybetad0</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// Error beta is a math FUNCTION!</span>
-</pre>
-<p>
- Which produces the error messages:
- </p>
-<pre class="programlisting">error C2146: syntax error : missing ';' before identifier 'mybetad0'
-warning C4551: function call missing argument list
-error C3861: 'mybetad0': identifier not found
-</pre>
-<p>
- Instead you should use:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">beta_distribution</span><span class="special">;</span>
-<span class="identifier">beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mybetad1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- or for the gamma distribution:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">gamma_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mygammad1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- We can, of course, still provide the type explicitly thus:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// Explicit double precision:</span>
-<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist1</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
-
-<span class="comment">// Explicit float precision, double arguments are truncated to float:</span>
-<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist2</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
-
-<span class="comment">// Explicit float precision, integer &amp; double arguments converted to float.</span>
-<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist3</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
-
-<span class="comment">// Explicit float precision, float arguments, so no conversion:</span>
-<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist4</span><span class="special">(</span><span class="number">8.F</span><span class="special">,</span> <span class="number">0.25F</span><span class="special">);</span>
-
-<span class="comment">// Explicit float precision, integer arguments promoted to float.</span>
-<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">mydist5</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
-
-<span class="comment">// Explicit double precision:</span>
-<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist6</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
-
-<span class="comment">// Explicit long double precision:</span>
-<span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">mydist7</span><span class="special">(</span><span class="number">8.</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- And if you have your own RealType called MyFPType, for example NTL RR
- (an arbitrary precision type), then we can write:
- </p>
-<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span><span class="identifier">MyFPType</span><span class="special">&gt;</span> <span class="identifier">mydist6</span><span class="special">(</span><span class="number">8</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="comment">// Integer arguments -&gt; MyFPType.</span>
-</pre>
-<h6>
-<a name="math_toolkit.dist.stat_tut.weg.dist_construct_eg.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.dist_construct_eg.default_arguments_to_distribution_constructors_"></a></span><a class="link" href="dist_construct_eg.html#math_toolkit.dist.stat_tut.weg.dist_construct_eg.default_arguments_to_distribution_constructors_">Default
- arguments to distribution constructors.</a>
- </h6>
-<p>
- Note that default constructor arguments are only provided for some distributions.
- So if you wrongly assume a default argument you will get an error message,
- for example:
- </p>
-<pre class="programlisting"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">mydist8</span><span class="special">;</span>
-</pre>
-<pre class="programlisting">error C2512 no appropriate default constructor available.</pre>
-<p>
- No default constructors are provided for the negative binomial, because
- it is difficult to chose any sensible default values for this distribution.
- For other distributions, like the normal distribution, it is obviously
- very useful to provide 'standard' defaults for the mean and standard
- deviation thus:
- </p>
-<pre class="programlisting"><span class="identifier">normal_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- So in this case we can write:
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span>
-
- <span class="identifier">normal</span> <span class="identifier">norm1</span><span class="special">;</span> <span class="comment">// Standard normal distribution.</span>
- <span class="identifier">normal</span> <span class="identifier">norm2</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// Mean = 2, std deviation = 1.</span>
- <span class="identifier">normal</span> <span class="identifier">norm3</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">);</span> <span class="comment">// Mean = 2, std deviation = 3.</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<p>
- There is no useful output from this program, of course.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../weg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/error_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/error_eg.html
deleted file mode 100644
index e2bfdc4538..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/error_eg.html
+++ /dev/null
@@ -1,213 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Error Handling Example</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="nccs_eg/nccs_power_eg.html" title="Tables of the power function of the chi2 test.">
-<link rel="next" href="find_eg.html" title="Find Location and Scale Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_error_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.error_eg"></a><a class="link" href="error_eg.html" title="Error Handling Example">Error Handling
- Example</a>
-</h5></div></div></div>
-<p>
- See <a class="link" href="../../../main_overview/error_handling.html" title="Error Handling">error handling
- documentation</a> for a detailed explanation of the mechanism of handling
- errors, including the common "bad" arguments to distributions
- and functions, and how to use <a class="link" href="../../../policy.html" title="Policies">Policies</a>
- to control it.
- </p>
-<p>
- But, by default, <span class="bold"><strong>exceptions will be raised</strong></span>,
- for domain errors, pole errors, numeric overflow, and internal evaluation
- errors. To avoid the exceptions from getting thrown and instead get an
- appropriate value returned, usually a NaN (domain errors pole errors
- or internal errors), or infinity (from overflow), you need to change
- the policy.
- </p>
-<p>
- The following example demonstrates the effect of setting the macro BOOST_MATH_DOMAIN_ERROR_POLICY
- when an invalid argument is encountered. For the purposes of this example,
- we'll pass a negative degrees of freedom parameter to the student's t
- distribution.
- </p>
-<p>
- Since we know that this is a single file program we could just add:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
-</pre>
-<p>
- to the top of the source file to change the default policy to one that
- simply returns a NaN when a domain error occurs. Alternatively we could
- use:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
-</pre>
-<p>
- To ensure the <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- is set when a domain error occurs as well as returning a NaN.
- </p>
-<p>
- This is safe provided the program consists of a single translation unit
- <span class="emphasis"><em>and</em></span> we place the define <span class="emphasis"><em>before</em></span>
- any #includes. Note that should we add the define after the includes
- then it will have no effect! A warning such as:
- </p>
-<pre class="programlisting">warning C4005: 'BOOST_MATH_OVERFLOW_ERROR_POLICY' : macro redefinition</pre>
-<p>
- is a certain sign that it will <span class="emphasis"><em>not</em></span> have the desired
- effect.
- </p>
-<p>
- We'll begin our sample program with the needed includes:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// Boost</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t</span><span class="special">;</span> <span class="comment">// Probability of students_t(df, t).</span>
-
-<span class="comment">// std</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">stdexcept</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cstddef</span><span class="special">&gt;</span>
- <span class="comment">// using ::errno</span>
-</pre>
-<p>
- </p>
-<p>
- Next we'll define the program's main() to call the student's t distribution
- with an invalid degrees of freedom parameter, the program is set up to
- handle either an exception or a NaN:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Example error handling using Student's t function. "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"BOOST_MATH_DOMAIN_ERROR_POLICY is set to: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="keyword">double</span> <span class="identifier">degrees_of_freedom</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="comment">// A bad argument!</span>
- <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
-
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="comment">// Clear/reset.</span>
- <span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">degrees_of_freedom</span><span class="special">);</span> <span class="comment">// exception is thrown here if enabled.</span>
- <span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
- <span class="comment">// Test for error reported by other means:</span>
- <span class="keyword">if</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">p</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf returned a NaN!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">errno</span> <span class="special">!=</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span> <span class="comment">// So errno has been set.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno is set to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of Student's t is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"\n"</span><span class="string">"Message from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<p>
- Here's what the program output looks like with a default build (one that
- <span class="bold"><strong>does throw exceptions</strong></span>):
- </p>
-<pre class="programlisting">Example error handling using Student's t function.
-BOOST_MATH_DOMAIN_ERROR_POLICY is set to: throw_on_error
-
-Message from thrown exception was:
- Error in function boost::math::students_t_distribution&lt;double&gt;::students_t_distribution:
- Degrees of freedom argument is -1, but must be &gt; 0 !
-</pre>
-<p>
- Alternatively let's build with:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
-</pre>
-<p>
- Now the program output is:
- </p>
-<pre class="programlisting">Example error handling using Student's t function.
-BOOST_MATH_DOMAIN_ERROR_POLICY is set to: ignore_error
-cdf returned a NaN!
-</pre>
-<p>
- And finally let's build with:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
-</pre>
-<p>
- Which gives the output show errno:
- </p>
-<pre class="programlisting">Example error handling using Student's t function.
-BOOST_MATH_DOMAIN_ERROR_POLICY is set to: errno_on_error
-cdf returned a NaN!
-errno is set to: 33
-</pre>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- If throwing of exceptions is enabled (the default) but you do <span class="bold"><strong>not</strong></span> have try &amp; catch block, then the program
- will terminate with an uncaught exception and probably abort.
- </p>
-<p>
- Therefore to get the benefit of helpful error messages, enabling <span class="bold"><strong>all exceptions and using try &amp; catch</strong></span> is
- recommended for most applications.
- </p>
-<p>
- However, for simplicity, the is not done for most examples.
- </p>
-</td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/f_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/f_eg.html
deleted file mode 100644
index 263781cd0c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/f_eg.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>F Distribution Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="cs_eg/chi_sq_size.html" title="Estimating the Required Sample Sizes for a Chi-Square Test for the Standard Deviation">
-<link rel="next" href="binom_eg.html" title="Binomial Distribution Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cs_eg/chi_sq_size.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_f_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.f_eg"></a><a class="link" href="f_eg.html" title="F Distribution Examples">F Distribution
- Examples</a>
-</h5></div></div></div>
-<p>
- Imagine that you want to compare the standard deviations of two sample
- to determine if they differ in any significant way, in this situation
- you use the F distribution and perform an F-test. This situation commonly
- occurs when conducting a process change comparison: "is a new process
- more consistent that the old one?".
- </p>
-<p>
- In this example we'll be using the data for ceramic strength from <a href="http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm" target="_top">http://www.itl.nist.gov/div898/handbook/eda/section4/eda42a1.htm</a>.
- The data for this case study were collected by Said Jahanmir of the NIST
- Ceramics Division in 1996 in connection with a NIST/industry ceramics
- consortium for strength optimization of ceramic strength.
- </p>
-<p>
- The example program is <a href="../../../../../../../example/f_test.cpp" target="_top">f_test.cpp</a>,
- program output has been deliberately made as similar as possible to the
- DATAPLOT output in the corresponding <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda359.htm" target="_top">NIST
- EngineeringStatistics Handbook example</a>.
- </p>
-<p>
- We'll begin by defining the procedure to conduct the test:
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">f_test</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">sd1</span><span class="special">,</span> <span class="comment">// Sample 1 std deviation</span>
- <span class="keyword">double</span> <span class="identifier">sd2</span><span class="special">,</span> <span class="comment">// Sample 2 std deviation</span>
- <span class="keyword">double</span> <span class="identifier">N1</span><span class="special">,</span> <span class="comment">// Sample 1 size</span>
- <span class="keyword">double</span> <span class="identifier">N2</span><span class="special">,</span> <span class="comment">// Sample 2 size</span>
- <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span> <span class="comment">// Significance level</span>
-<span class="special">{</span>
-</pre>
-<p>
- The procedure begins by printing out a summary of our input data:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-
-<span class="comment">// Print header:</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"____________________________________\n"</span>
- <span class="string">"F test for equal standard deviations\n"</span>
- <span class="string">"____________________________________\n\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample 1:\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N1</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd1</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample 2:\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Sample Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-</pre>
-<p>
- The test statistic for an F-test is simply the ratio of the square of
- the two standard deviations:
- </p>
-<p>
- F = s<sub>1</sub><sup>2</sup> / s<sub>2</sub><sup>2</sup>
- </p>
-<p>
- where s<sub>1</sub> is the standard deviation of the first sample and s<sub>2</sub>
-is the standard
- deviation of the second sample. Or in code:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">F</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">sd1</span> <span class="special">/</span> <span class="identifier">sd2</span><span class="special">);</span>
-<span class="identifier">F</span> <span class="special">*=</span> <span class="identifier">F</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Test Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">F</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-</pre>
-<p>
- At this point a word of caution: the F distribution is asymmetric, so
- we have to be careful how we compute the tests, the following table summarises
- the options available:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Hypothesis
- </p>
- </th>
-<th>
- <p>
- Test
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- The null-hypothesis: there is no difference in standard deviations
- (two sided test)
- </p>
- </td>
-<td>
- <p>
- Reject if F &lt;= F<sub>(1-alpha/2; N1-1, N2-1)</sub> or F &gt;= F<sub>(alpha/2;
- N1-1, N2-1)</sub>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The alternative hypothesis: there is a difference in means
- (two sided test)
- </p>
- </td>
-<td>
- <p>
- Reject if F<sub>(1-alpha/2; N1-1, N2-1)</sub> &lt;= F &lt;= F<sub>(alpha/2;
- N1-1, N2-1)</sub>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The alternative hypothesis: Standard deviation of sample 1
- is greater than that of sample 2
- </p>
- </td>
-<td>
- <p>
- Reject if F &lt; F<sub>(alpha; N1-1, N2-1)</sub>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The alternative hypothesis: Standard deviation of sample 1
- is less than that of sample 2
- </p>
- </td>
-<td>
- <p>
- Reject if F &gt; F<sub>(1-alpha; N1-1, N2-1)</sub>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Where F<sub>(1-alpha; N1-1, N2-1)</sub> is the lower critical value of the F distribution
- with degrees of freedom N1-1 and N2-1, and F<sub>(alpha; N1-1, N2-1)</sub> is the
- upper critical value of the F distribution with degrees of freedom N1-1
- and N2-1.
- </p>
-<p>
- The upper and lower critical values can be computed using the quantile
- function:
- </p>
-<p>
- F<sub>(1-alpha; N1-1, N2-1)</sub> = <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">fisher_f</span><span class="special">(</span><span class="identifier">N1</span><span class="special">-</span><span class="number">1</span><span class="special">,</span>
- <span class="identifier">N2</span><span class="special">-</span><span class="number">1</span><span class="special">),</span> <span class="identifier">alpha</span><span class="special">)</span></code>
- </p>
-<p>
- F<sub>(alpha; N1-1, N2-1)</sub> = <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">fisher_f</span><span class="special">(</span><span class="identifier">N1</span><span class="special">-</span><span class="number">1</span><span class="special">,</span>
- <span class="identifier">N2</span><span class="special">-</span><span class="number">1</span><span class="special">),</span> <span class="identifier">alpha</span><span class="special">))</span></code>
- </p>
-<p>
- In our example program we need both upper and lower critical values for
- alpha and for alpha/2:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ucv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">));</span>
-<span class="keyword">double</span> <span class="identifier">ucv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
-<span class="keyword">double</span> <span class="identifier">lcv</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">lcv2</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span> <span class="special">/</span> <span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Upper Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">ucv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Lower Critical Value at alpha/2: "</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">lcv2</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-</pre>
-<p>
- The final step is to perform the comparisons given above, and print out
- whether the hypothesis is rejected or not:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span>
- <span class="string">"Results for Alternative Hypothesis and alpha"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Alternative Hypothesis Conclusion\n"</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviations are unequal (two sided test) "</span><span class="special">;</span>
-<span class="keyword">if</span><span class="special">((</span><span class="identifier">ucv2</span> <span class="special">&lt;</span> <span class="identifier">F</span><span class="special">)</span> <span class="special">||</span> <span class="special">(</span><span class="identifier">lcv2</span> <span class="special">&gt;</span> <span class="identifier">F</span><span class="special">))</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
-<span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation 1 is less than standard deviation 2 "</span><span class="special">;</span>
-<span class="keyword">if</span><span class="special">(</span><span class="identifier">lcv</span> <span class="special">&gt;</span> <span class="identifier">F</span><span class="special">)</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
-<span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard deviation 1 is greater than standard deviation 2 "</span><span class="special">;</span>
-<span class="keyword">if</span><span class="special">(</span><span class="identifier">ucv</span> <span class="special">&lt;</span> <span class="identifier">F</span><span class="special">)</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"ACCEPTED\n"</span><span class="special">;</span>
-<span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"REJECTED\n"</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- Using the ceramic strength data as an example we get the following output:
- </p>
-<pre class="programlisting">F test for equal standard deviations
-____________________________________
-
-Sample 1:
-Number of Observations = 240
-Sample Standard Deviation = 65.549
-
-Sample 2:
-Number of Observations = 240
-Sample Standard Deviation = 61.854
-
-Test Statistic = 1.123
-
-CDF of test statistic: = 8.148e-001
-Upper Critical Value at alpha: = 1.238e+000
-Upper Critical Value at alpha/2: = 1.289e+000
-Lower Critical Value at alpha: = 8.080e-001
-Lower Critical Value at alpha/2: = 7.756e-001
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion
-Standard deviations are unequal (two sided test) REJECTED
-Standard deviation 1 is less than standard deviation 2 REJECTED
-Standard deviation 1 is greater than standard deviation 2 REJECTED
-</pre>
-<p>
- In this case we are unable to reject the null-hypothesis, and must instead
- reject the alternative hypothesis.
- </p>
-<p>
- By contrast let's see what happens when we use some different <a href="http://www.itl.nist.gov/div898/handbook/prc/section3/prc32.htm" target="_top">sample
- data</a>:, once again from the NIST Engineering Statistics Handbook:
- A new procedure to assemble a device is introduced and tested for possible
- improvement in time of assembly. The question being addressed is whether
- the standard deviation of the new assembly process (sample 2) is better
- (i.e., smaller) than the standard deviation for the old assembly process
- (sample 1).
- </p>
-<pre class="programlisting">____________________________________
-F test for equal standard deviations
-____________________________________
-
-Sample 1:
-Number of Observations = 11.00000
-Sample Standard Deviation = 4.90820
-
-Sample 2:
-Number of Observations = 9.00000
-Sample Standard Deviation = 2.58740
-
-Test Statistic = 3.59847
-
-CDF of test statistic: = 9.589e-001
-Upper Critical Value at alpha: = 3.347e+000
-Upper Critical Value at alpha/2: = 4.295e+000
-Lower Critical Value at alpha: = 3.256e-001
-Lower Critical Value at alpha/2: = 2.594e-001
-
-Results for Alternative Hypothesis and alpha = 0.0500
-
-Alternative Hypothesis Conclusion
-Standard deviations are unequal (two sided test) REJECTED
-Standard deviation 1 is less than standard deviation 2 REJECTED
-Standard deviation 1 is greater than standard deviation 2 ACCEPTED
-</pre>
-<p>
- In this case we take our null hypothesis as "standard deviation
- 1 is less than or equal to standard deviation 2", since this represents
- the "no change" situation. So we want to compare the upper
- critical value at <span class="emphasis"><em>alpha</em></span> (a one sided test) with
- the test statistic, and since 3.35 &lt; 3.6 this hypothesis must be rejected.
- We therefore conclude that there is a change for the better in our standard
- deviation.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cs_eg/chi_sq_size.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binom_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg.html
deleted file mode 100644
index 43b01c9d6f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Find Location and Scale Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="error_eg.html" title="Error Handling Example">
-<link rel="next" href="find_eg/find_location_eg.html" title="Find Location (Mean) Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg/find_location_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_find_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.find_eg"></a><a class="link" href="find_eg.html" title="Find Location and Scale Examples">Find Location
- and Scale Examples</a>
-</h5></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="find_eg/find_location_eg.html">Find
- Location (Mean) Example</a></span></dt>
-<dt><span class="section"><a href="find_eg/find_scale_eg.html">Find
- Scale (Standard Deviation) Example</a></span></dt>
-<dt><span class="section"><a href="find_eg/find_mean_and_sd_eg.html">Find
- mean and standard deviation example</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_eg/find_location_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html
deleted file mode 100644
index c24476f506..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_location_eg.html
+++ /dev/null
@@ -1,225 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Find Location (Mean) Example</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../find_eg.html" title="Find Location and Scale Examples">
-<link rel="prev" href="../find_eg.html" title="Find Location and Scale Examples">
-<link rel="next" href="find_scale_eg.html" title="Find Scale (Standard Deviation) Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_scale_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_find_eg_find_location_eg">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_location_eg"></a><a class="link" href="find_location_eg.html" title="Find Location (Mean) Example">Find
- Location (Mean) Example</a>
-</h6></div></div></div>
-<p>
- First we need some includes to access the normal distribution, the
- algorithms to find location (and some std output of course).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for cauchy_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_location</span><span class="special">;</span> <span class="comment">// for mean</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_scale</span><span class="special">;</span> <span class="comment">// for standard devation</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span> <span class="comment">// Needed if you want to use the complement version.</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- For this example, we will use the standard normal distribution, with
- mean (location) zero and standard deviation (scale) unity. This is
- also the default for this implementation.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">N01</span><span class="special">;</span> <span class="comment">// Default 'standard' normal distribution with zero mean and </span>
-<span class="keyword">double</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span> <span class="comment">// normal default standard deviation is 1.</span>
-</pre>
-<p>
- </p>
-<p>
- Suppose we want to find a different normal distribution whose mean
- is shifted so that only fraction p (here 0.001 or 0.1%) are below a
- certain chosen limit (here -2, two standard deviations).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">2.</span><span class="special">;</span> <span class="comment">// z to give prob p</span>
-<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.001</span><span class="special">;</span> <span class="comment">// only 0.1% below z</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Note: uses complement.</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Normal distribution with mean = 0, standard deviation 1, has fraction &lt;= -2, p = 0.0227501
-Normal distribution with mean = 0, standard deviation 1, has fraction &gt; -2, p = 0.97725
-</pre>
-<p>
- We can now use ''find_location'' to give a new offset mean.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"offset location (mean) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- that outputs:
- </p>
-<pre class="programlisting">offset location (mean) = 1.09023
-</pre>
-<p>
- showing that we need to shift the mean just over one standard deviation
- from its previous value of zero.
- </p>
-<p>
- Then we can check that we have achieved our objective by constructing
- a new distribution with the offset mean (but same standard deviation):
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">np001pc</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span> <span class="comment">// Same standard_deviation (scale) but with mean (location) shifted.</span>
-</pre>
-<p>
- </p>
-<p>
- And re-calculating the fraction below our chosen limit.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
- <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
- <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Normal distribution with mean = 1.09023 has fraction &lt;= -2, p = 0.001
-Normal distribution with mean = 1.09023 has fraction &gt; -2, p = 0.999
-</pre>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_location_eg.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.find_eg.find_location_eg.controlling_error_handling_from_find_location"></a></span><a class="link" href="find_location_eg.html#math_toolkit.dist.stat_tut.weg.find_eg.find_location_eg.controlling_error_handling_from_find_location">Controlling
- Error Handling from find_location</a>
- </h5>
-<p>
- We can also control the policy for handling various errors. For example,
- we can define a new (possibly unwise) policy to ignore domain errors
- ('bad' arguments).
- </p>
-<p>
- Unless we are using the boost::math namespace, we will need:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Using a typedef is often convenient, especially if it is re-used, although
- it is not required, as the various examples below show.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">ignore_domain_policy</span><span class="special">;</span>
-<span class="comment">// find_location with new policy, using typedef.</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">ignore_domain_policy</span><span class="special">());</span>
-<span class="comment">// Default policy policy&lt;&gt;, needs "using boost::math::policies::policy;"</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
-<span class="comment">// Default policy, fully specified.</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
-<span class="comment">// A new policy, ignoring domain errors, without using a typedef.</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;());</span>
-</pre>
-<p>
- </p>
-<p>
- If we want to use a probability that is the <a class="link" href="../../overview/complements.html#complements">complement
- of our probability</a>, we should not even think of writing <code class="computeroutput"><span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">)</span></code>,
- but, <a class="link" href="../../overview/complements.html#why_complements">to avoid loss of accuracy</a>,
- use the complement version.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">z</span> <span class="special">=</span> <span class="number">2.</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="number">0.95</span><span class="special">;</span> <span class="comment">// = 1 - p; // complement.</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">));</span>
-
-<span class="identifier">normal</span> <span class="identifier">np95pc</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span> <span class="comment">// Same standard_deviation (scale) but with mean(location) shifted</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- See <a href="../../../../../../../../example/find_location_example.cpp" target="_top">find_location_example.cpp</a>
- for full source code: the program output looks like this:
- </p>
-<pre class="programlisting">Example: Find location (mean).
-Normal distribution with mean = 0, standard deviation 1, has fraction &lt;= -2, p = 0.0227501
-Normal distribution with mean = 0, standard deviation 1, has fraction &gt; -2, p = 0.97725
-offset location (mean) = 1.09023
-Normal distribution with mean = 1.09023 has fraction &lt;= -2, p = 0.001
-Normal distribution with mean = 1.09023 has fraction &gt; -2, p = 0.999
-Normal distribution with mean = 0.355146 has fraction &lt;= 2 = 0.95
-Normal distribution with mean = 0.355146 has fraction &gt; 2 = 0.05
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_scale_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html
deleted file mode 100644
index 39dec71bf9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_mean_and_sd_eg.html
+++ /dev/null
@@ -1,549 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Find mean and standard deviation example</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../find_eg.html" title="Find Location and Scale Examples">
-<link rel="prev" href="find_scale_eg.html" title="Find Scale (Standard Deviation) Example">
-<link rel="next" href="../nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="find_scale_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nag_library.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_find_eg_find_mean_and_sd_eg">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg"></a><a class="link" href="find_mean_and_sd_eg.html" title="Find mean and standard deviation example">Find
- mean and standard deviation example</a>
-</h6></div></div></div>
-<p>
- First we need some includes to access the normal distribution, the
- algorithms to find location and scale (and some std output of course).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for cauchy_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_location</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_scale</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">showpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">stdexcept</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_find_location_and_find_scale_to_meet_dispensing_and_measurement_specifications"></a></span><a class="link" href="find_mean_and_sd_eg.html#math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_find_location_and_find_scale_to_meet_dispensing_and_measurement_specifications">Using
- find_location and find_scale to meet dispensing and measurement specifications</a>
- </h5>
-<p>
- Consider an example from K Krishnamoorthy, Handbook of Statistical
- Distributions with Applications, ISBN 1-58488-635-8, (2006) p 126,
- example 10.3.7.
- </p>
-<p>
- "A machine is set to pack 3 kg of ground beef per pack. Over a
- long period of time it is found that the average packed was 3 kg with
- a standard deviation of 0.1 kg. Assume the packing is normally distributed."
- </p>
-<p>
- We start by constructing a normal distribution with the given parameters:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">3.</span><span class="special">;</span> <span class="comment">// kg</span>
-<span class="keyword">double</span> <span class="identifier">standard_deviation</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span> <span class="comment">// kg</span>
-<span class="identifier">normal</span> <span class="identifier">packs</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- We can then find the fraction (or %) of packages that weigh more than
- 3.1 kg.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">max_weight</span> <span class="special">=</span> <span class="number">3.1</span><span class="special">;</span> <span class="comment">// kg</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Percentage of packs &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">max_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span>
-<span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">max_weight</span><span class="special">))</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &gt; 3.1)</span>
-</pre>
-<p>
- </p>
-<p>
- We might want to ensure that 95% of packs are over a minimum weight
- specification, then we want the value of the mean such that P(X &lt;
- 2.9) = 0.05.
- </p>
-<p>
- Using the mean of 3 kg, we can estimate the fraction of packs that
- fail to meet the specification of 2.9 kg.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">minimum_weight</span> <span class="special">=</span> <span class="number">2.9</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// fraction of packs &lt;= 2.9 with a mean of 3 is 0.841345</span>
-</pre>
-<p>
- </p>
-<p>
- This is 0.84 - more than the target fraction of 0.95. If we want 95%
- to be over the minimum weight, what should we set the mean weight to
- be?
- </p>
-<p>
- Using the KK StatCalc program supplied with the book and the method
- given on page 126 gives 3.06449.
- </p>
-<p>
- We can confirm this by constructing a new distribution which we call
- 'xpacks' with a safety margin mean of 3.06449 thus:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">over_mean</span> <span class="special">=</span> <span class="number">3.06449</span><span class="special">;</span>
-<span class="identifier">normal</span> <span class="identifier">xpacks</span><span class="special">(</span><span class="identifier">over_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
-<span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">xpacks</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">xpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// fraction of packs &gt;= 2.9 with a mean of 3.06449 is 0.950005</span>
-</pre>
-<p>
- </p>
-<p>
- Using this Math Toolkit, we can calculate the required mean directly
- thus:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">under_fraction</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// so 95% are above the minimum weight mean - sd = 2.9</span>
-<span class="keyword">double</span> <span class="identifier">low_limit</span> <span class="special">=</span> <span class="identifier">standard_deviation</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">offset</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">-</span> <span class="identifier">low_limit</span> <span class="special">-</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">nominal_mean</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">+</span> <span class="identifier">offset</span><span class="special">;</span>
-<span class="comment">// mean + (mean - low_limit - quantile(packs, under_fraction));</span>
-
-<span class="identifier">normal</span> <span class="identifier">nominal_packs</span><span class="special">(</span><span class="identifier">nominal_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nominal_mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">nominal_packs</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Setting the packer to 3.06449 will mean that fraction of packs &gt;= 2.9 is 0.95</span>
-</pre>
-<p>
- </p>
-<p>
- This calculation is generalized as the free function called <a class="link" href="../../../dist_ref/dist_algorithms.html" title="Distribution Algorithms">find_location</a>.
- </p>
-<p>
- To use this we will need to
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_location</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_location</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- and then use find_location function to find safe_mean, &amp; construct
- a new normal distribution called 'goodpacks'.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">safe_mean</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">normal</span> <span class="identifier">good_packs</span><span class="special">(</span><span class="identifier">safe_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- with the same confirmation as before:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nominal_mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">good_packs</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Setting the packer to 3.06449 will mean that fraction of packs &gt;= 2.9 is 0.95</span>
-</pre>
-<p>
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.h1"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_cauchy_lorentz_instead_of_normal_distribution"></a></span><a class="link" href="find_mean_and_sd_eg.html#math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.using_cauchy_lorentz_instead_of_normal_distribution">Using
- Cauchy-Lorentz instead of normal distribution</a>
- </h5>
-<p>
- After examining the weight distribution of a large number of packs,
- we might decide that, after all, the assumption of a normal distribution
- is not really justified. We might find that the fit is better to a
- <a class="link" href="../../../dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
- Distribution</a>. This distribution has wider 'wings', so that whereas
- most of the values are closer to the mean than the normal, there are
- also more values than 'normal' that lie further from the mean than
- the normal.
- </p>
-<p>
- This might happen because a larger than normal lump of meat is either
- included or excluded.
- </p>
-<p>
- We first create a <a class="link" href="../../../dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
- Distribution</a> with the original mean and standard deviation,
- and estimate the fraction that lie below our minimum weight specification.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cauchy</span> <span class="identifier">cpacks</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Cauchy Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">cpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Cauchy Setting the packer to 3 will mean that fraction of packs &gt;= 2.9 is 0.75</span>
-</pre>
-<p>
- </p>
-<p>
- Note that far fewer of the packs meet the specification, only 75% instead
- of 95%. Now we can repeat the find_location, using the cauchy distribution
- as template parameter, in place of the normal used above.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">lc</span> <span class="special">=</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">cauchy</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_location&lt;cauchy&gt;(minimum_weight, over fraction, standard_deviation); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">lc</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// find_location&lt;cauchy&gt;(minimum_weight, over fraction, packs.standard_deviation()); 3.53138</span>
-</pre>
-<p>
- </p>
-<p>
- Note that the safe_mean setting needs to be much higher, 3.53138 instead
- of 3.06449, so we will make rather less profit.
- </p>
-<p>
- And again confirm that the fraction meeting specification is as expected.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cauchy</span> <span class="identifier">goodcpacks</span><span class="special">(</span><span class="identifier">lc</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Cauchy Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">lc</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">goodcpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Cauchy Setting the packer to 3.53138 will mean that fraction of packs &gt;= 2.9 is 0.95</span>
-</pre>
-<p>
- </p>
-<p>
- Finally we could estimate the effect of a much tighter specification,
- that 99% of packs met the specification.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Cauchy Setting the packer to "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">find_location</span><span class="special">&lt;</span><span class="identifier">cauchy</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="number">0.99</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">goodcpacks</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Setting the packer to 3.13263 will mean that fraction of packs &gt;=
- 2.9 is 0.99, but will more than double the mean loss from 0.0644 to
- 0.133 kg per pack.
- </p>
-<p>
- Of course, this calculation is not limited to packs of meat, it applies
- to dispensing anything, and it also applies to a 'virtual' material
- like any measurement.
- </p>
-<p>
- The only caveat is that the calculation assumes that the standard deviation
- (scale) is known with a reasonably low uncertainty, something that
- is not so easy to ensure in practice. And that the distribution is
- well defined, <a class="link" href="../../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a> or <a class="link" href="../../../dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
- Distribution</a>, or some other.
- </p>
-<p>
- If one is simply dispensing a very large number of packs, then it may
- be feasible to measure the weight of hundreds or thousands of packs.
- With a healthy 'degrees of freedom', the confidence intervals for the
- standard deviation are not too wide, typically about + and - 10% for
- hundreds of observations.
- </p>
-<p>
- For other applications, where it is more difficult or expensive to
- make many observations, the confidence intervals are depressingly wide.
- </p>
-<p>
- See <a class="link" href="../cs_eg/chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation">Confidence
- Intervals on the standard deviation</a> for a worked example <a href="../../../../../../../../example/chi_square_std_dev_test.cpp" target="_top">chi_square_std_dev_test.cpp</a>
- of estimating these intervals.
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.h2"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.changing_the_scale_or_standard_deviation"></a></span><a class="link" href="find_mean_and_sd_eg.html#math_toolkit.dist.stat_tut.weg.find_eg.find_mean_and_sd_eg.changing_the_scale_or_standard_deviation">Changing
- the scale or standard deviation</a>
- </h5>
-<p>
- Alternatively, we could invest in a better (more precise) packer (or
- measuring device) with a lower standard deviation, or scale.
- </p>
-<p>
- This might cost more, but would reduce the amount we have to 'give
- away' in order to meet the specification.
- </p>
-<p>
- To estimate how much better (how much smaller standard deviation) it
- would have to be, we need to get the 5% quantile to be located at the
- under_weight limit, 2.9
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// wanted p th quantile.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Quantile of 0.05 = 2.83551, mean = 3, sd = 0.1
- </p>
-<p>
- With the current packer (mean = 3, sd = 0.1), the 5% quantile is at
- 2.8551 kg, a little below our target of 2.9 kg. So we know that the
- standard deviation is going to have to be smaller.
- </p>
-<p>
- Let's start by guessing that it (now 0.1) needs to be halved, to a
- standard deviation of 0.05 kg.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack05</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Quantile of 0.05 = 2.91776, mean = 3, sd = 0.05</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.05 is 0.97725</span>
-</pre>
-<p>
- </p>
-<p>
- So 0.05 was quite a good guess, but we are a little over the 2.9 target,
- so the standard deviation could be a tiny bit more. So we could do
- some more guessing to get closer, say by increasing standard deviation
- to 0.06 kg, constructing another new distribution called pack06.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack06</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.06</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Quantile of 0.05 = 2.90131, mean = 3, sd = 0.06</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.06 is 0.95221</span>
-</pre>
-<p>
- </p>
-<p>
- Now we are getting really close, but to do the job properly, we might
- need to use root finding method, for example the tools provided, and
- used elsewhere, in the Math Toolkit, see <a class="link" href="../../../../toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">Root
- Finding Without Derivatives</a>.
- </p>
-<p>
- But in this (normal) distribution case, we can and should be even smarter
- and make a direct calculation.
- </p>
-<p>
- Our required limit is minimum_weight = 2.9 kg, often called the random
- variate z. For a standard normal distribution, then probability p =
- N((minimum_weight - mean) / sd).
- </p>
-<p>
- We want to find the standard deviation that would be required to meet
- this limit, so that the p th quantile is located at z (minimum_weight).
- In this case, the 0.05 (5%) quantile is at 2.9 kg pack weight, when
- the mean is 3 kg, ensuring that 0.95 (95%) of packs are above the minimum
- weight.
- </p>
-<p>
- Rearranging, we can directly calculate the required standard deviation:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">N01</span><span class="special">;</span> <span class="comment">// standard normal distribution with meamn zero and unit standard deviation.</span>
-<span class="identifier">p</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">qp</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">p</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">sd95</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">minimum_weight</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">qp</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"For the "</span><span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">"th quantile to be located at "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">", would need a standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd95</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// For the 0.05th quantile to be located at 2.9, would need a standard deviation of 0.0607957</span>
-</pre>
-<p>
- </p>
-<p>
- We can now construct a new (normal) distribution pack95 for the 'better'
- packer, and check that our distribution will meet the specification.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack95</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">sd95</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack95</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack95</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.0607957 is 0.95</span>
-</pre>
-<p>
- </p>
-<p>
- This calculation is generalized in the free function find_scale, as
- shown below, giving the same standard deviation.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ss</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">());</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); 0.0607957</span>
-</pre>
-<p>
- </p>
-<p>
- If we had defined an over_fraction, or percentage that must pass specification
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">over_fraction</span> <span class="special">=</span> <span class="number">0.95</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- And (wrongly) written
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">sso</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">over_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">());</span>
-</pre>
-<p>
- With the default policy, we would get a message like
- </p>
-<pre class="programlisting">Message from thrown exception was:
- Error in function boost::math::find_scale&lt;Dist, Policy&gt;(double, double, double, Policy):
- Computed scale (-0.060795683191176959) is &lt;= 0! Was the complement intended?
-</pre>
-<p>
- But this would return a <span class="bold"><strong>negative</strong></span> standard
- deviation - obviously impossible. The probability should be 1 - over_fraction,
- not over_fraction, thus:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ss1o</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">over_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">());</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss1o</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// find_scale&lt;normal&gt;(minimum_weight, under_fraction, packs.mean()); 0.0607957</span>
-</pre>
-<p>
- </p>
-<p>
- But notice that using '1 - over_fraction' - will lead to a <a class="link" href="../../overview/complements.html#why_complements">loss
- of accuracy, especially if over_fraction was close to unity.</a>
- In this (very common) case, we should instead use the <a class="link" href="../../overview/complements.html#complements">complements</a>,
- giving the most accurate result.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">ssc</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">minimum_weight</span><span class="special">,</span> <span class="identifier">over_fraction</span><span class="special">,</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()));</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"find_scale&lt;normal&gt;(complement(minimum_weight, over_fraction, packs.mean())); "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ssc</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// find_scale&lt;normal&gt;(complement(minimum_weight, over_fraction, packs.mean())); 0.0607957</span>
-</pre>
-<p>
- </p>
-<p>
- Note that our guess of 0.06 was close to the accurate value of 0.060795683191176959.
- </p>
-<p>
- We can again confirm our prediction thus:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack95c</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">ssc</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">minimum_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack95c</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack95c</span><span class="special">,</span> <span class="identifier">minimum_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.0607957 is 0.95</span>
-</pre>
-<p>
- </p>
-<p>
- Notice that these two deceptively simple questions:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Do we over-fill to make sure we meet a minimum specification (or
- under-fill to avoid an overdose)?
- </li></ul></div>
-<p>
- and/or
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Do we measure better?
- </li></ul></div>
-<p>
- are actually extremely common.
- </p>
-<p>
- The weight of beef might be replaced by a measurement of more or less
- anything, from drug tablet content, Apollo landing rocket firing, X-ray
- treatment doses...
- </p>
-<p>
- The scale can be variation in dispensing or uncertainty in measurement.
- </p>
-<p>
- See <a href="../../../../../../../../example/find_mean_and_sd_normal.cpp" target="_top">find_mean_and_sd_normal.cpp</a>
- for full source code &amp; appended program output.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="find_scale_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../nag_library.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html
deleted file mode 100644
index 1ac81d7d4d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/find_eg/find_scale_eg.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Find Scale (Standard Deviation) Example</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../find_eg.html" title="Find Location and Scale Examples">
-<link rel="prev" href="find_location_eg.html" title="Find Location (Mean) Example">
-<link rel="next" href="find_mean_and_sd_eg.html" title="Find mean and standard deviation example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="find_location_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_mean_and_sd_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_find_eg_find_scale_eg">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_scale_eg"></a><a class="link" href="find_scale_eg.html" title="Find Scale (Standard Deviation) Example">Find
- Scale (Standard Deviation) Example</a>
-</h6></div></div></div>
-<p>
- First we need some includes to access the <a class="link" href="../../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a>, the algorithms to find scale (and some std output
- of course).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">find_scale</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">find_scale</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">;</span> <span class="comment">// Needed if you want to use the complement version.</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span> <span class="comment">// Needed to specify the error handling policy.</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- For this example, we will use the standard <a class="link" href="../../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a>, with location (mean) zero and standard deviation
- (scale) unity. Conveniently, this is also the default for this implementation's
- constructor.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">N01</span><span class="special">;</span> <span class="comment">// Default 'standard' normal distribution with zero mean</span>
-<span class="keyword">double</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span> <span class="comment">// and standard deviation is 1.</span>
-</pre>
-<p>
- </p>
-<p>
- Suppose we want to find a different normal distribution with standard
- deviation so that only fraction p (here 0.001 or 0.1%) are below a
- certain chosen limit (here -2. standard deviations).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">2.</span><span class="special">;</span> <span class="comment">// z to give prob p</span>
-<span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.001</span><span class="special">;</span> <span class="comment">// only 0.1% below z = -2</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span> <span class="comment">// aka N01.mean()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span> <span class="comment">// aka N01.standard_deviation()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", standard deviation "</span> <span class="special">&lt;&lt;</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">scale</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">N01</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Note: uses complement.</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Normal distribution with mean = 0 has fraction &lt;= -2, p = 0.0227501
-Normal distribution with mean = 0 has fraction &gt; -2, p = 0.97725
-</pre>
-<p>
- Noting that p = 0.02 instead of our target of 0.001, we can now use
- <code class="computeroutput"><span class="identifier">find_scale</span></code> to give
- a new standard deviation.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">l</span> <span class="special">=</span> <span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">();</span>
-<span class="keyword">double</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"scale (standard deviation) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- that outputs:
- </p>
-<pre class="programlisting">scale (standard deviation) = 0.647201
-</pre>
-<p>
- showing that we need to reduce the standard deviation from 1. to 0.65.
- </p>
-<p>
- Then we can check that we have achieved our objective by constructing
- a new distribution with the new standard deviation (but same zero mean):
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">np001pc</span><span class="special">(</span><span class="identifier">N01</span><span class="special">.</span><span class="identifier">location</span><span class="special">(),</span> <span class="identifier">s</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- And re-calculating the fraction below (and above) our chosen limit.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
- <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span>
- <span class="special">&lt;&lt;</span> <span class="string">" has "</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span>
- <span class="special">&lt;&lt;</span> <span class="string">", p = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np001pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Normal distribution with mean = 0 has fraction &lt;= -2, p = 0.001
-Normal distribution with mean = 0 has fraction &gt; -2, p = 0.999
-</pre>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.find_eg.find_scale_eg.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.find_eg.find_scale_eg.controlling_how_errors_from_find_scale_are_handled"></a></span><a class="link" href="find_scale_eg.html#math_toolkit.dist.stat_tut.weg.find_eg.find_scale_eg.controlling_how_errors_from_find_scale_are_handled">Controlling
- how Errors from find_scale are handled</a>
- </h5>
-<p>
- We can also control the policy for handling various errors. For example,
- we can define a new (possibly unwise) policy to ignore domain errors
- ('bad' arguments).
- </p>
-<p>
- Unless we are using the boost::math namespace, we will need:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Using a typedef is convenient, especially if it is re-used, although
- it is not required, as the various examples below show.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">ignore_domain_policy</span><span class="special">;</span>
-<span class="comment">// find_scale with new policy, using typedef.</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">ignore_domain_policy</span><span class="special">());</span>
-<span class="comment">// Default policy policy&lt;&gt;, needs using boost::math::policies::policy;</span>
-
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
-<span class="comment">// Default policy, fully specified.</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
-<span class="comment">// New policy, without typedef.</span>
-<span class="identifier">l</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span> <span class="special">&gt;());</span>
-</pre>
-<p>
- </p>
-<p>
- If we want to express a probability, say 0.999, that is a complement,
- <code class="computeroutput"><span class="number">1</span> <span class="special">-</span>
- <span class="identifier">p</span></code> we should not even think
- of writing <code class="computeroutput"><span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">l</span><span class="special">)</span></code>, but <a class="link" href="../../overview/complements.html#why_complements">instead</a>,
- use the <a class="link" href="../../overview/complements.html#complements">complements</a> version.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="number">2.</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="number">0.999</span><span class="special">;</span> <span class="comment">// = 1 - p; // complement of 0.001.</span>
-<span class="identifier">sd</span> <span class="special">=</span> <span class="identifier">find_scale</span><span class="special">&lt;</span><span class="identifier">normal</span><span class="special">&gt;(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">l</span><span class="special">));</span>
-
-<span class="identifier">normal</span> <span class="identifier">np95pc</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">sd</span><span class="special">);</span> <span class="comment">// Same standard_deviation (scale) but with mean(scale) shifted</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Normal distribution with mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">l</span> <span class="special">&lt;&lt;</span> <span class="string">" has "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">np95pc</span><span class="special">,</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Sadly, it is all too easy to get probabilities the wrong way round,
- when you may get a warning like this:
- </p>
-<pre class="programlisting">Message from thrown exception was:
- Error in function boost::math::find_scale&lt;Dist, Policy&gt;(complement(double, double, double, Policy)):
- Computed scale (-0.48043523852179076) is &lt;= 0! Was the complement intended?
-</pre>
-<p>
- The default error handling policy is to throw an exception with this
- message, but if you chose a policy to ignore the error, the (impossible)
- negative scale is quietly returned.
- </p>
-<p>
- See <a href="../../../../../../../../example/find_scale_example.cpp" target="_top">find_scale_example.cpp</a>
- for full source code: the program output looks like this:
- </p>
-<pre class="programlisting">Example: Find scale (standard deviation).
-Normal distribution with mean = 0, standard deviation 1, has fraction &lt;= -2, p = 0.0227501
-Normal distribution with mean = 0, standard deviation 1, has fraction &gt; -2, p = 0.97725
-scale (standard deviation) = 0.647201
-Normal distribution with mean = 0 has fraction &lt;= -2, p = 0.001
-Normal distribution with mean = 0 has fraction &gt; -2, p = 0.999
-Normal distribution with mean = 0.946339 has fraction &lt;= -2 = 0.001
-Normal distribution with mean = 0.946339 has fraction &gt; -2 = 0.999
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="find_location_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../find_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_mean_and_sd_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/geometric_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/geometric_eg.html
deleted file mode 100644
index 6a56334ae9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/geometric_eg.html
+++ /dev/null
@@ -1,512 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Geometric Distribution Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="binom_eg/binom_size_eg.html" title="Estimating Sample Sizes for a Binomial Distribution.">
-<link rel="next" href="neg_binom_eg.html" title="Negative Binomial Distribution Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binom_eg/binom_size_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_geometric_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.geometric_eg"></a><a class="link" href="geometric_eg.html" title="Geometric Distribution Examples">Geometric
- Distribution Examples</a>
-</h5></div></div></div>
-<p>
- For this example, we will opt to #define two macros to control the error
- and discrete handling policies. For this simple example, we want to avoid
- throwing an exception (the default policy) and just return infinity.
- We want to treat the distribution as if it was continuous, so we choose
- a discrete_quantile policy of real, rather than the default policy integer_round_outwards.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
-</pre>
-<p>
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- It is vital to #include distributions etc <span class="bold"><strong>after</strong></span>
- the above #defines
- </p></td></tr>
-</table></div>
-<p>
- After that we need some includes to provide easy access to the negative
- binomial distribution, and we need some std library iostream, of course.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">geometric</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="comment">// for geometric_distribution</span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">geometric_distribution</span><span class="special">;</span> <span class="comment">// </span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">geometric</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">pdf</span><span class="special">;</span> <span class="comment">// Probability mass function.</span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">;</span> <span class="comment">// Cumulative density function.</span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="comment">// for negative_binomial_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="comment">// for negative_binomial_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- It is always sensible to use try and catch blocks because defaults policies
- are to throw an exception if anything goes wrong.
- </p>
-<p>
- Simple try'n'catch blocks (see below) will ensure that you get a helpful
- error message instead of an abrupt (and silent) program abort.
- </p>
-<h6>
-<a name="math_toolkit.dist.stat_tut.weg.geometric_eg.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.geometric_eg.throwing_a_dice"></a></span><a class="link" href="geometric_eg.html#math_toolkit.dist.stat_tut.weg.geometric_eg.throwing_a_dice">Throwing
- a dice</a>
- </h6>
-<p>
- The Geometric distribution describes the probability (<span class="emphasis"><em>p</em></span>)
- of a number of failures to get the first success in <span class="emphasis"><em>k</em></span>
- Bernoulli trials. (A <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
- trial</a> is one with only two possible outcomes, success of failure,
- and <span class="emphasis"><em>p</em></span> is the probability of success).
- </p>
-<p>
- Suppose an 'fair' 6-face dice is thrown repeatedly:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">1.</span><span class="special">/</span><span class="number">6</span><span class="special">;</span> <span class="comment">// success_fraction (p) = 0.1666</span>
-<span class="comment">// (so failure_fraction is 1 - success_fraction = 5./6 = 1- 0.1666 = 0.8333)</span>
-</pre>
-<p>
- </p>
-<p>
- If the dice is thrown repeatedly until the <span class="bold"><strong>first</strong></span>
- time a <span class="emphasis"><em>three</em></span> appears. The probablility distribution
- of the number of times it is thrown <span class="bold"><strong>not</strong></span>
- getting a <span class="emphasis"><em>three</em></span> (<span class="emphasis"><em>not-a-threes</em></span>
- number of failures to get a <span class="emphasis"><em>three</em></span>) is a geometric
- distribution with the success_fraction = 1/6 = 0.1666&#8202;&#775;.
- </p>
-<p>
- We therefore start by constructing a geometric distribution with the
- one parameter success_fraction, the probability of success.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">geometric</span> <span class="identifier">g6</span><span class="special">(</span><span class="identifier">success_fraction</span><span class="special">);</span> <span class="comment">// type double by default.</span>
-</pre>
-<p>
- </p>
-<p>
- To confirm, we can echo the success_fraction parameter of the distribution.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"success fraction of a six-sided dice is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">g6</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- So the probability of getting a three at the first throw (zero failures)
- is
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1667</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1667</span>
-</pre>
-<p>
- </p>
-<p>
- Note that the cdf and pdf are identical because the is only one throw.
- If we want the probability of getting the first <span class="emphasis"><em>three</em></span>
- on the 2nd throw:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1389</span>
-</pre>
-<p>
- </p>
-<p>
- If we want the probability of getting the first <span class="emphasis"><em>three</em></span>
- on the 1st or 2nd throw (allowing one failure):
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"pdf(g6, 0) + pdf(g6, 1) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Or more conveniently, and more generally, we can use the Cumulative Distribution
- Function CDF.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(g6, 1) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.3056</span>
-</pre>
-<p>
- </p>
-<p>
- If we allow many more (12) throws, the probability of getting our <span class="emphasis"><em>three</em></span>
- gets very high:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(g6, 12) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">12</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.9065 or 90% probability.</span>
-</pre>
-<p>
- </p>
-<p>
- If we want to be much more confident, say 99%, we can estimate the number
- of throws to be this sure using the inverse or quantile.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"quantile(g6, 0.99) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0.99</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 24.26</span>
-</pre>
-<p>
- </p>
-<p>
- Note that the value returned is not an integer: if you want an integer
- result you should use either floor, round or ceil functions, or use the
- policies mechanism. See <a class="link" href="../../../policy/pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a>
- </p>
-<p>
- The geometric distribution is related to the negative binomial &#8192;&#8192; <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">RealType</span>
- <span class="identifier">p</span><span class="special">);</span></code>
- with parameter <span class="emphasis"><em>r</em></span> = 1. So we could get the same result
- using the negative binomial, but using the geometric the results will
- be faster, and may be more accurate.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">nb</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.1389</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.3056</span>
-</pre>
-<p>
- </p>
-<p>
- We could also the complement to express the required probability as 1
- - 0.99 = 0.01 (and get the same result):
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"quantile(complement(g6, 1 - p)) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">g6</span><span class="special">,</span> <span class="number">0.01</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 24.26</span>
-</pre>
-<p>
- </p>
-<p>
- Note too that Boost.Math geometric distribution is implemented as a continuous
- function. Unlike other implementations (for example R) it <span class="bold"><strong>uses</strong></span>
- the number of failures as a <span class="bold"><strong>real</strong></span> parameter,
- not as an integer. If you want this integer behaviour, you may need to
- enforce this by rounding the parameter you pass, probably rounding down,
- to the nearest integer. For example, R returns the success fraction probability
- for all values of failures from 0 to 0.999999 thus:
- </p>
-<pre class="programlisting">&#8192;&#8192; R&gt; formatC(pgeom(0.0001,0.5, FALSE), digits=17) " 0.5"
-</pre>
-<p>
- So in Boost.Math the equivalent is
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="identifier">geometric</span> <span class="identifier">g05</span><span class="special">(</span><span class="number">0.5</span><span class="special">);</span> <span class="comment">// Probability of success = 0.5 or 50%</span>
- <span class="comment">// Output all potentially significant digits for the type, here double.</span>
-
-<span class="preprocessor">#ifdef</span> <span class="identifier">BOOST_NO_NUMERIC_LIMITS_LOWEST</span>
- <span class="keyword">int</span> <span class="identifier">max_digits10</span> <span class="special">=</span> <span class="number">2</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;()</span> <span class="special">*</span> <span class="number">30103UL</span><span class="special">)</span> <span class="special">/</span> <span class="number">100000UL</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"BOOST_NO_NUMERIC_LIMITS_LOWEST is defined"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="preprocessor">#else</span>
- <span class="keyword">int</span> <span class="identifier">max_digits10</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">;</span>
-<span class="preprocessor">#endif</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Show all potentially significant decimal digits std::numeric_limits&lt;double&gt;::max_digits10 = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">max_digits10</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">max_digits10</span><span class="special">);</span> <span class="comment">// </span>
-
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g05</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// returns 0.5000346561579232, not exact 0.5.</span>
-</pre>
-<p>
- </p>
-<p>
- To get the R discrete behaviour, you simply need to round with, for example,
- the <code class="computeroutput"><span class="identifier">floor</span></code> function.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">g05</span><span class="special">,</span> <span class="identifier">floor</span><span class="special">(</span><span class="number">0.0001</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// returns exactly 0.5</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><code class="computeroutput"><span class="special">&gt;</span> <span class="identifier">formatC</span><span class="special">(</span><span class="identifier">pgeom</span><span class="special">(</span><span class="number">0.9999999</span><span class="special">,</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">FALSE</span><span class="special">),</span> <span class="identifier">digits</span><span class="special">=</span><span class="number">17</span><span class="special">)</span> <span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="string">" 0.25"</span></code>
-<code class="computeroutput"><span class="special">&gt;</span> <span class="identifier">formatC</span><span class="special">(</span><span class="identifier">pgeom</span><span class="special">(</span><span class="number">1.999999</span><span class="special">,</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">FALSE</span><span class="special">),</span> <span class="identifier">digits</span><span class="special">=</span><span class="number">17</span><span class="special">)[</span><span class="number">1</span><span class="special">]</span> <span class="string">" 0.25"</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">1</span></code>
-<code class="computeroutput"><span class="special">&gt;</span> <span class="identifier">formatC</span><span class="special">(</span><span class="identifier">pgeom</span><span class="special">(</span><span class="number">1.9999999</span><span class="special">,</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">FALSE</span><span class="special">),</span> <span class="identifier">digits</span><span class="special">=</span><span class="number">17</span><span class="special">)[</span><span class="number">1</span><span class="special">]</span> <span class="string">"0.12500000000000003"</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">2</span></code>
-</pre>
-<p>
- shows that R makes an arbitrary round-up decision at about 1e7 from the
- next integer above. This may be convenient in practice, and could be
- replicated in C++ if desired.
- </p>
-<h6>
-<a name="math_toolkit.dist.stat_tut.weg.geometric_eg.h1"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.geometric_eg.surveying_customers_to_find_one_with_a_faulty_product"></a></span><a class="link" href="geometric_eg.html#math_toolkit.dist.stat_tut.weg.geometric_eg.surveying_customers_to_find_one_with_a_faulty_product">Surveying
- customers to find one with a faulty product</a>
- </h6>
-<p>
- A company knows from warranty claims that 2% of their products will be
- faulty, so the 'success_fraction' of finding a fault is 0.02. It wants
- to interview a purchaser of faulty products to assess their 'user experience'.
- </p>
-<p>
- To estimate how many customers they will probably need to contact in
- order to find one who has suffered from the fault, we first construct
- a geometric distribution with probability 0.02, and then chose a confidence,
- say 80%, 95%, or 99% to finding a customer with a fault. Finally, we
- probably want to round up the result to the integer above using the
- <code class="computeroutput"><span class="identifier">ceil</span></code> function. (We could
- also use a policy, but that is hardly worthwhile for this simple application.)
- </p>
-<p>
- (This also assumes that each customer only buys one product: if customers
- bought more than one item, the probability of finding a customer with
- a fault obviously improves.)
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-<span class="identifier">geometric</span> <span class="identifier">g</span><span class="special">(</span><span class="number">0.02</span><span class="special">);</span> <span class="comment">// On average, 2 in 100 products are faulty.</span>
-<span class="keyword">double</span> <span class="identifier">c</span> <span class="special">=</span> <span class="number">0.95</span><span class="special">;</span> <span class="comment">// 95% confidence.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" quantile(g, "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"To be "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">*</span> <span class="number">100</span>
- <span class="special">&lt;&lt;</span> <span class="string">"% confident of finding we customer with a fault, need to survey "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" customers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 148</span>
-<span class="identifier">c</span> <span class="special">=</span> <span class="number">0.99</span><span class="special">;</span> <span class="comment">// Very confident.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"To be "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">*</span> <span class="number">100</span>
- <span class="special">&lt;&lt;</span> <span class="string">"% confident of finding we customer with a fault, need to survey "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" customers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 227</span>
-<span class="identifier">c</span> <span class="special">=</span> <span class="number">0.80</span><span class="special">;</span> <span class="comment">// Only reasonably confident.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"To be "</span> <span class="special">&lt;&lt;</span> <span class="identifier">c</span> <span class="special">*</span> <span class="number">100</span>
- <span class="special">&lt;&lt;</span> <span class="string">"% confident of finding we customer with a fault, need to survey "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="identifier">c</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" customers."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 79</span>
-</pre>
-<p>
- </p>
-<h6>
-<a name="math_toolkit.dist.stat_tut.weg.geometric_eg.h2"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.geometric_eg.basket_ball_shooters"></a></span><a class="link" href="geometric_eg.html#math_toolkit.dist.stat_tut.weg.geometric_eg.basket_ball_shooters">Basket
- Ball Shooters</a>
- </h6>
-<p>
- According to Wikipedia, average pro basket ball players get <a href="http://en.wikipedia.org/wiki/Free_throw" target="_top">free
- throws</a> in the baskets 70 to 80 % of the time, but some get as
- high as 95%, and others as low as 50%. Suppose we want to compare the
- probabilities of failing to get a score only on the first or on the fifth
- shot? To start we will consider the average shooter, say 75%. So we construct
- a geometric distribution with success_fraction parameter 75/100 = 0.75.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
-<span class="identifier">geometric</span> <span class="identifier">gav</span><span class="special">(</span><span class="number">0.75</span><span class="special">);</span> <span class="comment">// Shooter averages 7.5 out of 10 in the basket.</span>
-</pre>
-<p>
- </p>
-<p>
- What is probability of getting 1st try in the basket, that is with no
- failures?
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 1st try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gav</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.75</span>
-</pre>
-<p>
- </p>
-<p>
- This is, of course, the success_fraction probability 75%. What is the
- probability that the shooter only scores on the fifth shot? So there
- are 5-1 = 4 failures before the first success.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 5th try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gav</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.0029</span>
-</pre>
-<p>
- </p>
-<p>
- Now compare this with the poor and the best players success fraction.
- We need to constructing new distributions with the different success
- fractions, and then get the corresponding probability density functions
- values:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">geometric</span> <span class="identifier">gbest</span><span class="special">(</span><span class="number">0.95</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 5th try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gbest</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5.9e-6</span>
-<span class="identifier">geometric</span> <span class="identifier">gmediocre</span><span class="special">(</span><span class="number">0.50</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of score on 5th try = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">gmediocre</span><span class="special">,</span> <span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.031</span>
-</pre>
-<p>
- </p>
-<p>
- So we can see the very much smaller chance (0.000006) of 4 failures by
- the best shooters, compared to the 0.03 of the mediocre.
- </p>
-<h6>
-<a name="math_toolkit.dist.stat_tut.weg.geometric_eg.h3"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.geometric_eg.estimating_failures"></a></span><a class="link" href="geometric_eg.html#math_toolkit.dist.stat_tut.weg.geometric_eg.estimating_failures">Estimating
- failures</a>
- </h6>
-<p>
- Of course one man's failure is an other man's success. So a fault can
- be defined as a 'success'.
- </p>
-<p>
- If a fault occurs once after 100 flights, then one might naively say
- that the risk of fault is obviously 1 in 100 = 1/100, a probability of
- 0.01.
- </p>
-<p>
- This is the best estimate we can make, but while it is the truth, it
- is not the whole truth, for it hides the big uncertainty when estimating
- from a single event. "One swallow doesn't make a summer." To
- show the magnitude of the uncertainty, the geometric (or the negative
- binomial) distribution can be used.
- </p>
-<p>
- If we chose the popular 95% confidence in the limits, corresponding to
- an alpha of 0.05, because we are calculating a two-sided interval, we
- must divide alpha by two.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span> <span class="comment">// So frequency of occurence is 1/100.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability is failure is "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span><span class="special">/</span><span class="identifier">k</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_lower_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.00025</span>
-<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_upper_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.037</span>
-</pre>
-<p>
- </p>
-<p>
- So while we estimate the probability is 0.01, it might lie between 0.0003
- and 0.04. Even if we relax our confidence to alpha = 90%, the bounds
- only contract to 0.0005 and 0.03. And if we require a high confidence,
- they widen to 0.00005 to 0.05.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">alpha</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span> <span class="comment">// 90% confidence.</span>
-<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_lower_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.0005</span>
-<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_upper_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.03</span>
-
-<span class="identifier">alpha</span> <span class="special">=</span> <span class="number">0.01</span><span class="special">;</span> <span class="comment">// 99% confidence.</span>
-<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_lower_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 5e-005</span>
-<span class="identifier">t</span> <span class="special">=</span> <span class="identifier">geometric</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"geometric::find_upper_bound_on_p("</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">k</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="string">") = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">t</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 0.052</span>
-</pre>
-<p>
- </p>
-<p>
- In real life, there will usually be more than one event (fault or success),
- when the negative binomial, which has the neccessary extra parameter,
- will be needed.
- </p>
-<p>
- As noted above, using a catch block is always a good idea, even if you
- hope not to use it!
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="special">}</span>
-<span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span> <span class="comment">// Since we have set an overflow policy of ignore_error,</span>
- <span class="comment">// an overflow exception should never be thrown.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nMessage from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- For example, without a ignore domain error policy, if we asked for
-</p>
-<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">g</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span></pre>
-<p>
- for example, we would get an unhelpful abort, but with a catch:
- </p>
-<pre class="programlisting">Message from thrown exception was:
- Error in function boost::math::pdf(const exponential_distribution&lt;double&gt;&amp;, double):
- Number of failures argument is -1, but must be &gt;= 0 !
-</pre>
-<p>
- See full source C++ of this example at <a href="../../../../../../../example/geometric_examples.cpp" target="_top">geometric_examples.cpp</a>
- </p>
-<p>
- <a class="link" href="neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">See
- negative_binomial confidence interval example.</a>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="binom_eg/binom_size_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html
deleted file mode 100644
index 96fccf19c6..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/inverse_chi_squared_eg.html
+++ /dev/null
@@ -1,375 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Inverse Chi-Squared Distribution Bayes Example</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution">
-<link rel="next" href="nccs_eg.html" title="Non Central Chi Squared Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="normal_example/normal_misc.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_inverse_chi_squared_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.inverse_chi_squared_eg"></a><a class="link" href="inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example">Inverse
- Chi-Squared Distribution Bayes Example</a>
-</h5></div></div></div>
-<p>
- The scaled-inversed-chi-squared distribution is the conjugate prior distribution
- for the variance (&#963;<sup>2</sup>) parameter of a normal distribution with known expectation
- (&#956;). As such it has widespread application in Bayesian statistics:
- </p>
-<p>
- In <a href="http://en.wikipedia.org/wiki/Bayesian_inference" target="_top">Bayesian
- inference</a>, the strength of belief into certain parameter values
- is itself described through a distribution. Parameters hence become themselves
- modelled and interpreted as random variables.
- </p>
-<p>
- In this worked example, we perform such a Bayesian analysis by using
- the scaled-inverse-chi-squared distribution as prior and posterior distribution
- for the variance parameter of a normal distribution.
- </p>
-<p>
- For more general information on Bayesian type of analyses, see:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Andrew Gelman, John B. Carlin, Hal E. Stern, Donald B. Rubin, Bayesian
- Data Analysis, 2003, ISBN 978-1439840955.
- </li>
-<li class="listitem">
- Jim Albert, Bayesian Compution with R, Springer, 2009, ISBN 978-0387922973.
- </li>
-</ul></div>
-<p>
- (As the scaled-inversed-chi-squared is another parameterization of the
- inverse-gamma distribution, this example could also have used the inverse-gamma
- distribution).
- </p>
-<p>
- Consider precision machines which produce balls for a high-quality ball
- bearing. Ideally each ball should have a diameter of precisely 3000 &#956;m
- (3 mm). Assume that machines generally produce balls of that size on
- average (mean), but individual balls can vary slightly in either direction
- following (approximately) a normal distribution. Depending on various
- production conditions (e.g. raw material used for balls, workplace temperature
- and humidity, maintenance frequency and quality) some machines produce
- balls tighter distributed around the target of 3000 &#956;m, while others produce
- balls with a wider distribution. Therefore the variance parameter of
- the normal distribution of the ball sizes varies from machine to machine.
- An extensive survey by the precision machinery manufacturer, however,
- has shown that most machines operate with a variance between 15 and 50,
- and near 25 &#956;m<sup>2</sup> on average.
- </p>
-<p>
- Using this information, we want to model the variance of the machines.
- The variance is strictly positive, and therefore we look for a statistical
- distribution with support in the positive domain of the real numbers.
- Given the expectation of the normal distribution of the balls is known
- (3000 &#956;m), for reasons of conjugacy, it is customary practice in Bayesian
- statistics to model the variance to be scaled-inverse-chi-squared distributed.
- </p>
-<p>
- In a first step, we will try to use the survey information to model the
- general knowledge about the variance parameter of machines measured by
- the manufacturer. This will provide us with a generic prior distribution
- that is applicable if nothing more specific is known about a particular
- machine.
- </p>
-<p>
- In a second step, we will then combine the prior-distribution information
- in a Bayesian analysis with data on a specific single machine to derive
- a posterior distribution for that machine.
- </p>
-<h6>
-<a name="math_toolkit.dist.stat_tut.weg.inverse_chi_squared_eg.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.inverse_chi_squared_eg.step_one__using_the_survey_information_"></a></span><a class="link" href="inverse_chi_squared_eg.html#math_toolkit.dist.stat_tut.weg.inverse_chi_squared_eg.step_one__using_the_survey_information_">Step
- one: Using the survey information.</a>
- </h6>
-<p>
- Using the survey results, we try to find the parameter set of a scaled-inverse-chi-squared
- distribution so that the properties of this distribution match the results.
- Using the mathematical properties of the scaled-inverse-chi-squared distribution
- as guideline, we see that that both the mean and mode of the scaled-inverse-chi-squared
- distribution are approximately given by the scale parameter (s) of the
- distribution. As the survey machines operated at a variance of 25 &#956;m<sup>2</sup> on
- average, we hence set the scale parameter (s<sub>prior</sub>) of our prior distribution
- equal to this value. Using some trial-and-error and calls to the global
- quantile function, we also find that a value of 20 for the degrees-of-freedom
- (&#957;<sub>prior</sub>) parameter is adequate so that most of the prior distribution
- mass is located between 15 and 50 (see figure below).
- </p>
-<p>
- We first construct our prior distribution using these values, and then
- list out a few quantiles:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">priorDF</span> <span class="special">=</span> <span class="number">20.0</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">priorScale</span> <span class="special">=</span> <span class="number">25.0</span><span class="special">;</span>
-
-<span class="identifier">inverse_chi_squared</span> <span class="identifier">prior</span><span class="special">(</span><span class="identifier">priorDF</span><span class="special">,</span> <span class="identifier">priorScale</span><span class="special">);</span>
-<span class="comment">// Using an inverse_gamma distribution instead, we could equivalently write</span>
-<span class="comment">// inverse_gamma prior(priorDF / 2.0, priorScale * priorDF / 2.0);</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Prior distribution:"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 2.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 50% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 97.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- This produces this output:
- </p>
-<pre class="programlisting"><span class="identifier">Prior</span> <span class="identifier">distribution</span><span class="special">:</span>
-
-<span class="number">2.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">14.6</span>
-<span class="number">50</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">25.9</span>
-<span class="number">97.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">52.1</span>
-</pre>
-<p>
- Based on this distribution, we can now calculate the probability of having
- a machine working with an unusual work precision (variance) at &lt;=
- 15 or &gt; 50. For this task, we use calls to the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span></code> functions <code class="computeroutput"><span class="identifier">cdf</span></code>
- and <code class="computeroutput"><span class="identifier">complement</span></code>, respectively,
- and find a probability of about 0.031 (3.1%) for each case.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 15: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">15.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 25: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">25.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &gt; 50: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">prior</span><span class="special">,</span> <span class="number">50.0</span><span class="special">))</span>
-<span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- This produces this output:
- </p>
-<pre class="programlisting"><span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">15</span><span class="special">:</span> <span class="number">0.031</span>
-<span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">25</span><span class="special">:</span> <span class="number">0.458</span>
-<span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&gt;</span> <span class="number">50</span><span class="special">:</span> <span class="number">0.0318</span>
-</pre>
-<p>
- Therefore, only 3.1% of all precision machines produce balls with a variance
- of 15 or less (particularly precise machines), but also only 3.2% of
- all machines produce balls with a variance of as high as 50 or more (particularly
- imprecise machines). Moreover, slightly more than one-half (1 - 0.458
- = 54.2%) of the machines work at a variance greater than 25.
- </p>
-<p>
- Notice here the distinction between a <a href="http://en.wikipedia.org/wiki/Bayesian_inference" target="_top">Bayesian</a>
- analysis and a <a href="http://en.wikipedia.org/wiki/Frequentist_inference" target="_top">frequentist</a>
- analysis: because we model the variance as random variable itself, we
- can calculate and straightforwardly interpret probabilities for given
- parameter values directly, while such an approach is not possible (and
- interpretationally a strict <span class="emphasis"><em>must-not</em></span>) in the frequentist
- world.
- </p>
-<h6>
-<a name="math_toolkit.dist.stat_tut.weg.inverse_chi_squared_eg.h1"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.inverse_chi_squared_eg.step_2__investigate_a_single_machine"></a></span><a class="link" href="inverse_chi_squared_eg.html#math_toolkit.dist.stat_tut.weg.inverse_chi_squared_eg.step_2__investigate_a_single_machine">Step
- 2: Investigate a single machine</a>
- </h6>
-<p>
- In the second step, we investigate a single machine, which is suspected
- to suffer from a major fault as the produced balls show fairly high size
- variability. Based on the prior distribution of generic machinery performance
- (derived above) and data on balls produced by the suspect machine, we
- calculate the posterior distribution for that machine and use its properties
- for guidance regarding continued machine operation or suspension.
- </p>
-<p>
- It can be shown that if the prior distribution was chosen to be scaled-inverse-chi-square
- distributed, then the posterior distribution is also scaled-inverse-chi-squared-distributed
- (prior and posterior distributions are hence conjugate). For more details
- regarding conjugacy and formula to derive the parameters set for the
- posterior distribution see <a href="http://en.wikipedia.org/wiki/Conjugate_prior" target="_top">Conjugate
- prior</a>.
- </p>
-<p>
- Given the prior distribution parameters and sample data (of size n),
- the posterior distribution parameters are given by the two expressions:
- </p>
-<p>
- &#8192;&#8192; &#957;<sub>posterior</sub> = &#957;<sub>prior</sub> + n
- </p>
-<p>
- which gives the posteriorDF below, and
- </p>
-<p>
- &#8192;&#8192; s<sub>posterior</sub> = (&#957;<sub>prior</sub>s<sub>prior</sub> + &#931;<sup>n</sup><sub>i=1</sub>(x<sub>i</sub> - &#956;)<sup>2</sup>) / (&#957;<sub>prior</sub> + n)
- </p>
-<p>
- which after some rearrangement gives the formula for the posteriorScale
- below.
- </p>
-<p>
- Machine-specific data consist of 100 balls which were accurately measured
- and show the expected mean of 3000 &#956;m and a sample variance of 55 (calculated
- for a sample mean defined to be 3000 exactly). From these data, the prior
- parameterization, and noting that the term &#931;<sup>n</sup><sub>i=1</sub>(x<sub>i</sub> - &#956;)<sup>2</sup> equals the sample
- variance multiplied by n - 1, it follows that the posterior distribution
- of the variance parameter is scaled-inverse-chi-squared distribution
- with degrees-of-freedom (&#957;<sub>posterior</sub>) = 120 and scale (s<sub>posterior</sub>) = 49.54.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">ballsSampleSize</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"balls sample size: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ballsSampleSize</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">ballsSampleVariance</span> <span class="special">=</span> <span class="number">55.0</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"balls sample variance: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ballsSampleVariance</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">posteriorDF</span> <span class="special">=</span> <span class="identifier">priorDF</span> <span class="special">+</span> <span class="identifier">ballsSampleSize</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"prior degrees-of-freedom: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">priorDF</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"posterior degrees-of-freedom: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">posteriorDF</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">posteriorScale</span> <span class="special">=</span>
- <span class="special">(</span><span class="identifier">priorDF</span> <span class="special">*</span> <span class="identifier">priorScale</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">ballsSampleVariance</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">ballsSampleSize</span> <span class="special">-</span> <span class="number">1</span><span class="special">)))</span> <span class="special">/</span> <span class="identifier">posteriorDF</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"prior scale: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">priorScale</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"posterior scale: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">posteriorScale</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- An interesting feature here is that one needs only to know a summary
- statistics of the sample to parameterize the posterior distribution:
- the 100 individual ball measurements are irrelevant, just knowledge of
- the sample variance and number of measurements is sufficient.
- </p>
-<p>
- That produces this output:
- </p>
-<pre class="programlisting"><span class="identifier">balls</span> <span class="identifier">sample</span> <span class="identifier">size</span><span class="special">:</span> <span class="number">100</span>
-<span class="identifier">balls</span> <span class="identifier">sample</span> <span class="identifier">variance</span><span class="special">:</span> <span class="number">55</span>
-<span class="identifier">prior</span> <span class="identifier">degrees</span><span class="special">-</span><span class="identifier">of</span><span class="special">-</span><span class="identifier">freedom</span><span class="special">:</span> <span class="number">20</span>
-<span class="identifier">posterior</span> <span class="identifier">degrees</span><span class="special">-</span><span class="identifier">of</span><span class="special">-</span><span class="identifier">freedom</span><span class="special">:</span> <span class="number">120</span>
-<span class="identifier">prior</span> <span class="identifier">scale</span><span class="special">:</span> <span class="number">25</span>
-<span class="identifier">posterior</span> <span class="identifier">scale</span><span class="special">:</span> <span class="number">49.5</span>
-
-</pre>
-<p>
- To compare the generic machinery performance with our suspect machine,
- we calculate again the same quantiles and probabilities as above, and
- find a distribution clearly shifted to greater values (see figure).
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../graphs/prior_posterior_plot.png" align="middle"></span>
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">inverse_chi_squared</span> <span class="identifier">posterior</span><span class="special">(</span><span class="identifier">posteriorDF</span><span class="special">,</span> <span class="identifier">posteriorScale</span><span class="special">);</span>
-
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Posterior distribution:"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 2.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">0.025</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 50% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" 97.5% quantile: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 15: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">15.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &lt;= 25: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">25.0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" probability variance &gt; 50: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">posterior</span><span class="special">,</span> <span class="number">50.0</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- This produces this output:
- </p>
-<pre class="programlisting"><span class="identifier">Posterior</span> <span class="identifier">distribution</span><span class="special">:</span>
-
- <span class="number">2.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">39.1</span>
- <span class="number">50</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">49.8</span>
- <span class="number">97.5</span><span class="special">%</span> <span class="identifier">quantile</span><span class="special">:</span> <span class="number">64.9</span>
-
- <span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">15</span><span class="special">:</span> <span class="number">2.97e-031</span>
- <span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&lt;=</span> <span class="number">25</span><span class="special">:</span> <span class="number">8.85e-010</span>
- <span class="identifier">probability</span> <span class="identifier">variance</span> <span class="special">&gt;</span> <span class="number">50</span><span class="special">:</span> <span class="number">0.489</span>
-</pre>
-<p>
- Indeed, the probability that the machine works at a low variance (&lt;=
- 15) is almost zero, and even the probability of working at average or
- better performance is negligibly small (less than one-millionth of a
- permille). On the other hand, with an almost near-half probability (49%),
- the machine operates in the extreme high variance range of &gt; 50 characteristic
- for poorly performing machines.
- </p>
-<p>
- Based on this information the operation of the machine is taken out of
- use and serviced.
- </p>
-<p>
- In summary, the Bayesian analysis allowed us to make exact probabilistic
- statements about a parameter of interest, and hence provided us results
- with straightforward interpretation.
- </p>
-<p>
- A full sample output is:
- </p>
-<pre class="programlisting">Inverse_chi_squared_distribution Bayes example:
-
- Prior distribution:
-
- 2.5% quantile: 14.6
- 50% quantile: 25.9
- 97.5% quantile: 52.1
-
- probability variance &lt;= 15: 0.031
- probability variance &lt;= 25: 0.458
- probability variance &gt; 50: 0.0318
-
- balls sample size: 100
- balls sample variance: 55
- prior degrees-of-freedom: 20
- posterior degrees-of-freedom: 120
- prior scale: 25
- posterior scale: 49.5
- Posterior distribution:
-
- 2.5% quantile: 39.1
- 50% quantile: 49.8
- 97.5% quantile: 64.9
-
- probability variance &lt;= 15: 2.97e-031
- probability variance &lt;= 25: 8.85e-010
- probability variance &gt; 50: 0.489
-
-</pre>
-<p>
- (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution">Inverse
- chi squared Distribution</a>.)
- </p>
-<p>
- See the full source C++ of this example at <a href="../../../../../../../example/inverse_chi_squared_bayes_eg.cpp" target="_top">../../../example/inverse_chi_squared_bayes_eg.cpp</a>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="normal_example/normal_misc.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nag_library.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nag_library.html
deleted file mode 100644
index 07f39002ba..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nag_library.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Comparison with C, R, FORTRAN-style Free Functions</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="find_eg/find_mean_and_sd_eg.html" title="Find mean and standard deviation example">
-<link rel="next" href="c_sharp.html" title="Using the Distributions from Within C#">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="find_eg/find_mean_and_sd_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c_sharp.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_nag_library">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.nag_library"></a><a class="link" href="nag_library.html" title="Comparison with C, R, FORTRAN-style Free Functions">Comparison
- with C, R, FORTRAN-style Free Functions</a>
-</h5></div></div></div>
-<p>
- You are probably familiar with a statistics library that has free functions,
- for example the classic <a href="http://nag.com/numeric/CL/CLdescription.asp" target="_top">NAG
- C library</a> and matching <a href="http://nag.com/numeric/FL/FLdescription.asp" target="_top">NAG
- FORTRAN Library</a>, <a href="http://office.microsoft.com/en-us/excel/HP052090051033.aspx" target="_top">Microsoft
- Excel BINOMDIST(number_s,trials,probability_s,cumulative)</a>, <a href="http://www.r-project.org/" target="_top">R</a>, <a href="http://www.ptc.com/products/mathcad/mathcad14/mathcad_func_chart.htm" target="_top">MathCAD
- pbinom</a> and many others.
- </p>
-<p>
- If so, you may find 'Distributions as Objects' unfamiliar, if not alien.
- </p>
-<p>
- However, <span class="bold"><strong>do not panic</strong></span>, both definition
- and usage are not really very different.
- </p>
-<p>
- A very simple example of generating the same values as the <a href="http://nag.com/numeric/CL/CLdescription.asp" target="_top">NAG
- C library</a> for the binomial distribution follows. (If you find
- slightly different values, the Boost C++ version, using double or better,
- is very likely to be the more accurate. Of course, accuracy is not usually
- a concern for most applications of this function).
- </p>
-<p>
- The <a href="http://www.nag.co.uk/numeric/cl/manual/pdf/G01/g01bjc.pdf" target="_top">NAG
- function specification</a> is
- </p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">nag_binomial_dist</span><span class="special">(</span><span class="identifier">Integer</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">Integer</span> <span class="identifier">k</span><span class="special">,</span>
-<span class="keyword">double</span> <span class="special">*</span><span class="identifier">plek</span><span class="special">,</span> <span class="keyword">double</span> <span class="special">*</span><span class="identifier">pgtk</span><span class="special">,</span> <span class="keyword">double</span> <span class="special">*</span><span class="identifier">peqk</span><span class="special">,</span> <span class="identifier">NagError</span> <span class="special">*</span><span class="identifier">fail</span><span class="special">)</span>
-</pre>
-<p>
- and is called
- </p>
-<pre class="programlisting"><span class="identifier">g01bjc</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">k</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">plek</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">pgtk</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">peqk</span><span class="special">,</span> <span class="identifier">NAGERR_DEFAULT</span><span class="special">);</span>
-</pre>
-<p>
- The equivalent using this Boost C++ library is:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span> <span class="comment">// Using declaration avoids very long names.</span>
-<span class="identifier">binomial</span> <span class="identifier">my_dist</span><span class="special">(</span><span class="number">4</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span> <span class="comment">// c.f. NAG n = 4, p = 0.5</span>
-</pre>
-<p>
- and values can be output thus:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">my_dist</span><span class="special">.</span><span class="identifier">trials</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// Echo the NAG input n = 4 trials.</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">my_dist</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// Echo the NAG input p = 0.5</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// NAG plek with k = 2</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="number">2</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="comment">// NAG pgtk with k = 2</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">my_dist</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// NAG peqk with k = 2</span>
-</pre>
-<p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">k</span><span class="special">)</span></code>
- is equivalent to NAG library <code class="computeroutput"><span class="identifier">plek</span></code>,
- lower tail probability of &lt;= k
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">k</span><span class="special">))</span></code>
- is equivalent to NAG library <code class="computeroutput"><span class="identifier">pgtk</span></code>,
- upper tail probability of &gt; k
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">k</span><span class="special">)</span></code>
- is equivalent to NAG library <code class="computeroutput"><span class="identifier">peqk</span></code>,
- point probability of == k
- </p>
-<p>
- See <a href="../../../../../../../example/binomial_example_nag.cpp" target="_top">binomial_example_nag.cpp</a>
- for details.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="find_eg/find_mean_and_sd_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c_sharp.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html
deleted file mode 100644
index 080f80ce26..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Non Central Chi Squared Example</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example">
-<link rel="next" href="nccs_eg/nccs_power_eg.html" title="Tables of the power function of the chi2 test.">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_chi_squared_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_nccs_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.nccs_eg"></a><a class="link" href="nccs_eg.html" title="Non Central Chi Squared Example">Non Central
- Chi Squared Example</a>
-</h5></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="nccs_eg/nccs_power_eg.html">Tables
- of the power function of the chi<sup>2</sup> test.</a></span></dt></dl></div>
-<p>
- (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
- Chi Squared Distribution</a>.)
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inverse_chi_squared_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html
deleted file mode 100644
index 841e8e6ff9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html
+++ /dev/null
@@ -1,1309 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Tables of the power function of the chi2 test.</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../nccs_eg.html" title="Non Central Chi Squared Example">
-<link rel="prev" href="../nccs_eg.html" title="Non Central Chi Squared Example">
-<link rel="next" href="../error_eg.html" title="Error Handling Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_nccs_eg_nccs_power_eg">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.nccs_eg.nccs_power_eg"></a><a class="link" href="nccs_power_eg.html" title="Tables of the power function of the chi2 test.">Tables
- of the power function of the chi<sup>2</sup> test.</a>
-</h6></div></div></div>
-<p>
- This example computes a table of the power of the &#967;<sup>2</sup>
-test at the 5% significance
- level, for various degrees of freedom and non-centrality parameters.
- The table is deliberately the same as Table 6 from "The Non-Central
- &#967;<sup>2</sup> and F-Distributions and their applications.", P. B. Patnaik,
- Biometrika, Vol. 36, No. 1/2 (June 1949), 202-232.
- </p>
-<p>
- First we need some includes to access the non-central chi squared distribution
- (and some basic std output of course).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">chi_squared</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">non_central_chi_squared</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
-</pre>
-<p>
- </p>
-<p>
- Create a table of the power of the &#967;<sup>2</sup> test at 5% significance level,
- start with a table header:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[table\n[[[nu]]"</span><span class="special">;</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">lam</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">+=</span> <span class="number">2</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[[lambda]="</span> <span class="special">&lt;&lt;</span> <span class="identifier">lam</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]\n"</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- (Note: the enclosing [] brackets are to format as a table in Boost.Quickbook).
- </p>
-<p>
- Enumerate the rows and columns and print the power of the test for
- each table cell:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">n</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="special">++</span><span class="identifier">n</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[["</span> <span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
- <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">lam</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">+=</span> <span class="number">2</span><span class="special">)</span>
- <span class="special">{</span>
-</pre>
-<p>
- </p>
-<p>
- Calculate the &#967;<sup>2</sup> statistic for a 5% significance:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">cs</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">chi_squared</span><span class="special">(</span><span class="identifier">n</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span>
-</pre>
-<p>
- </p>
-<p>
- The power of the test is given by the complement of the CDF of the
- non-central &#967;<sup>2</sup> distribution:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">beta</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">lam</span><span class="special">),</span> <span class="identifier">cs</span><span class="special">));</span>
-</pre>
-<p>
- </p>
-<p>
- Then output the cell value:
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"["</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">beta</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- The output from this program is a table in Boost.Quickbook format as
- shown below.
- </p>
-<p>
- We can interpret this as follows - for example if &#957;=10 and &#955;=10 then
- the power of the test is 0.542 - so we have only a 54% chance of correctly
- detecting that our null hypothesis is false, and a 46% chance of incurring
- a type II error (failing to reject the null hypothesis when it is in
- fact false):
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- &#957;
- </p>
- </th>
-<th>
- <p>
- &#955;=2
- </p>
- </th>
-<th>
- <p>
- &#955;=4
- </p>
- </th>
-<th>
- <p>
- &#955;=6
- </p>
- </th>
-<th>
- <p>
- &#955;=8
- </p>
- </th>
-<th>
- <p>
- &#955;=10
- </p>
- </th>
-<th>
- <p>
- &#955;=12
- </p>
- </th>
-<th>
- <p>
- &#955;=14
- </p>
- </th>
-<th>
- <p>
- &#955;=16
- </p>
- </th>
-<th>
- <p>
- &#955;=18
- </p>
- </th>
-<th>
- <p>
- &#955;=20
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 2
- </p>
- </td>
-<td>
- <p>
- 0.226
- </p>
- </td>
-<td>
- <p>
- 0.415
- </p>
- </td>
-<td>
- <p>
- 0.584
- </p>
- </td>
-<td>
- <p>
- 0.718
- </p>
- </td>
-<td>
- <p>
- 0.815
- </p>
- </td>
-<td>
- <p>
- 0.883
- </p>
- </td>
-<td>
- <p>
- 0.928
- </p>
- </td>
-<td>
- <p>
- 0.957
- </p>
- </td>
-<td>
- <p>
- 0.974
- </p>
- </td>
-<td>
- <p>
- 0.985
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 3
- </p>
- </td>
-<td>
- <p>
- 0.192
- </p>
- </td>
-<td>
- <p>
- 0.359
- </p>
- </td>
-<td>
- <p>
- 0.518
- </p>
- </td>
-<td>
- <p>
- 0.654
- </p>
- </td>
-<td>
- <p>
- 0.761
- </p>
- </td>
-<td>
- <p>
- 0.84
- </p>
- </td>
-<td>
- <p>
- 0.896
- </p>
- </td>
-<td>
- <p>
- 0.934
- </p>
- </td>
-<td>
- <p>
- 0.959
- </p>
- </td>
-<td>
- <p>
- 0.975
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 4
- </p>
- </td>
-<td>
- <p>
- 0.171
- </p>
- </td>
-<td>
- <p>
- 0.32
- </p>
- </td>
-<td>
- <p>
- 0.47
- </p>
- </td>
-<td>
- <p>
- 0.605
- </p>
- </td>
-<td>
- <p>
- 0.716
- </p>
- </td>
-<td>
- <p>
- 0.802
- </p>
- </td>
-<td>
- <p>
- 0.866
- </p>
- </td>
-<td>
- <p>
- 0.912
- </p>
- </td>
-<td>
- <p>
- 0.943
- </p>
- </td>
-<td>
- <p>
- 0.964
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 5
- </p>
- </td>
-<td>
- <p>
- 0.157
- </p>
- </td>
-<td>
- <p>
- 0.292
- </p>
- </td>
-<td>
- <p>
- 0.433
- </p>
- </td>
-<td>
- <p>
- 0.564
- </p>
- </td>
-<td>
- <p>
- 0.677
- </p>
- </td>
-<td>
- <p>
- 0.769
- </p>
- </td>
-<td>
- <p>
- 0.839
- </p>
- </td>
-<td>
- <p>
- 0.89
- </p>
- </td>
-<td>
- <p>
- 0.927
- </p>
- </td>
-<td>
- <p>
- 0.952
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 6
- </p>
- </td>
-<td>
- <p>
- 0.146
- </p>
- </td>
-<td>
- <p>
- 0.27
- </p>
- </td>
-<td>
- <p>
- 0.403
- </p>
- </td>
-<td>
- <p>
- 0.531
- </p>
- </td>
-<td>
- <p>
- 0.644
- </p>
- </td>
-<td>
- <p>
- 0.738
- </p>
- </td>
-<td>
- <p>
- 0.813
- </p>
- </td>
-<td>
- <p>
- 0.869
- </p>
- </td>
-<td>
- <p>
- 0.911
- </p>
- </td>
-<td>
- <p>
- 0.94
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 7
- </p>
- </td>
-<td>
- <p>
- 0.138
- </p>
- </td>
-<td>
- <p>
- 0.252
- </p>
- </td>
-<td>
- <p>
- 0.378
- </p>
- </td>
-<td>
- <p>
- 0.502
- </p>
- </td>
-<td>
- <p>
- 0.614
- </p>
- </td>
-<td>
- <p>
- 0.71
- </p>
- </td>
-<td>
- <p>
- 0.788
- </p>
- </td>
-<td>
- <p>
- 0.849
- </p>
- </td>
-<td>
- <p>
- 0.895
- </p>
- </td>
-<td>
- <p>
- 0.928
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 8
- </p>
- </td>
-<td>
- <p>
- 0.131
- </p>
- </td>
-<td>
- <p>
- 0.238
- </p>
- </td>
-<td>
- <p>
- 0.357
- </p>
- </td>
-<td>
- <p>
- 0.477
- </p>
- </td>
-<td>
- <p>
- 0.588
- </p>
- </td>
-<td>
- <p>
- 0.685
- </p>
- </td>
-<td>
- <p>
- 0.765
- </p>
- </td>
-<td>
- <p>
- 0.829
- </p>
- </td>
-<td>
- <p>
- 0.879
- </p>
- </td>
-<td>
- <p>
- 0.915
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 9
- </p>
- </td>
-<td>
- <p>
- 0.125
- </p>
- </td>
-<td>
- <p>
- 0.225
- </p>
- </td>
-<td>
- <p>
- 0.339
- </p>
- </td>
-<td>
- <p>
- 0.454
- </p>
- </td>
-<td>
- <p>
- 0.564
- </p>
- </td>
-<td>
- <p>
- 0.661
- </p>
- </td>
-<td>
- <p>
- 0.744
- </p>
- </td>
-<td>
- <p>
- 0.811
- </p>
- </td>
-<td>
- <p>
- 0.863
- </p>
- </td>
-<td>
- <p>
- 0.903
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 10
- </p>
- </td>
-<td>
- <p>
- 0.121
- </p>
- </td>
-<td>
- <p>
- 0.215
- </p>
- </td>
-<td>
- <p>
- 0.323
- </p>
- </td>
-<td>
- <p>
- 0.435
- </p>
- </td>
-<td>
- <p>
- 0.542
- </p>
- </td>
-<td>
- <p>
- 0.64
- </p>
- </td>
-<td>
- <p>
- 0.723
- </p>
- </td>
-<td>
- <p>
- 0.793
- </p>
- </td>
-<td>
- <p>
- 0.848
- </p>
- </td>
-<td>
- <p>
- 0.891
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 11
- </p>
- </td>
-<td>
- <p>
- 0.117
- </p>
- </td>
-<td>
- <p>
- 0.206
- </p>
- </td>
-<td>
- <p>
- 0.309
- </p>
- </td>
-<td>
- <p>
- 0.417
- </p>
- </td>
-<td>
- <p>
- 0.523
- </p>
- </td>
-<td>
- <p>
- 0.62
- </p>
- </td>
-<td>
- <p>
- 0.704
- </p>
- </td>
-<td>
- <p>
- 0.775
- </p>
- </td>
-<td>
- <p>
- 0.833
- </p>
- </td>
-<td>
- <p>
- 0.878
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 12
- </p>
- </td>
-<td>
- <p>
- 0.113
- </p>
- </td>
-<td>
- <p>
- 0.198
- </p>
- </td>
-<td>
- <p>
- 0.297
- </p>
- </td>
-<td>
- <p>
- 0.402
- </p>
- </td>
-<td>
- <p>
- 0.505
- </p>
- </td>
-<td>
- <p>
- 0.601
- </p>
- </td>
-<td>
- <p>
- 0.686
- </p>
- </td>
-<td>
- <p>
- 0.759
- </p>
- </td>
-<td>
- <p>
- 0.818
- </p>
- </td>
-<td>
- <p>
- 0.866
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 13
- </p>
- </td>
-<td>
- <p>
- 0.11
- </p>
- </td>
-<td>
- <p>
- 0.191
- </p>
- </td>
-<td>
- <p>
- 0.286
- </p>
- </td>
-<td>
- <p>
- 0.387
- </p>
- </td>
-<td>
- <p>
- 0.488
- </p>
- </td>
-<td>
- <p>
- 0.584
- </p>
- </td>
-<td>
- <p>
- 0.669
- </p>
- </td>
-<td>
- <p>
- 0.743
- </p>
- </td>
-<td>
- <p>
- 0.804
- </p>
- </td>
-<td>
- <p>
- 0.854
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 14
- </p>
- </td>
-<td>
- <p>
- 0.108
- </p>
- </td>
-<td>
- <p>
- 0.185
- </p>
- </td>
-<td>
- <p>
- 0.276
- </p>
- </td>
-<td>
- <p>
- 0.374
- </p>
- </td>
-<td>
- <p>
- 0.473
- </p>
- </td>
-<td>
- <p>
- 0.567
- </p>
- </td>
-<td>
- <p>
- 0.653
- </p>
- </td>
-<td>
- <p>
- 0.728
- </p>
- </td>
-<td>
- <p>
- 0.791
- </p>
- </td>
-<td>
- <p>
- 0.842
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 15
- </p>
- </td>
-<td>
- <p>
- 0.105
- </p>
- </td>
-<td>
- <p>
- 0.179
- </p>
- </td>
-<td>
- <p>
- 0.267
- </p>
- </td>
-<td>
- <p>
- 0.362
- </p>
- </td>
-<td>
- <p>
- 0.459
- </p>
- </td>
-<td>
- <p>
- 0.552
- </p>
- </td>
-<td>
- <p>
- 0.638
- </p>
- </td>
-<td>
- <p>
- 0.713
- </p>
- </td>
-<td>
- <p>
- 0.777
- </p>
- </td>
-<td>
- <p>
- 0.83
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 16
- </p>
- </td>
-<td>
- <p>
- 0.103
- </p>
- </td>
-<td>
- <p>
- 0.174
- </p>
- </td>
-<td>
- <p>
- 0.259
- </p>
- </td>
-<td>
- <p>
- 0.351
- </p>
- </td>
-<td>
- <p>
- 0.446
- </p>
- </td>
-<td>
- <p>
- 0.538
- </p>
- </td>
-<td>
- <p>
- 0.623
- </p>
- </td>
-<td>
- <p>
- 0.699
- </p>
- </td>
-<td>
- <p>
- 0.764
- </p>
- </td>
-<td>
- <p>
- 0.819
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 17
- </p>
- </td>
-<td>
- <p>
- 0.101
- </p>
- </td>
-<td>
- <p>
- 0.169
- </p>
- </td>
-<td>
- <p>
- 0.251
- </p>
- </td>
-<td>
- <p>
- 0.341
- </p>
- </td>
-<td>
- <p>
- 0.434
- </p>
- </td>
-<td>
- <p>
- 0.525
- </p>
- </td>
-<td>
- <p>
- 0.609
- </p>
- </td>
-<td>
- <p>
- 0.686
- </p>
- </td>
-<td>
- <p>
- 0.752
- </p>
- </td>
-<td>
- <p>
- 0.807
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 18
- </p>
- </td>
-<td>
- <p>
- 0.0992
- </p>
- </td>
-<td>
- <p>
- 0.165
- </p>
- </td>
-<td>
- <p>
- 0.244
- </p>
- </td>
-<td>
- <p>
- 0.332
- </p>
- </td>
-<td>
- <p>
- 0.423
- </p>
- </td>
-<td>
- <p>
- 0.512
- </p>
- </td>
-<td>
- <p>
- 0.596
- </p>
- </td>
-<td>
- <p>
- 0.673
- </p>
- </td>
-<td>
- <p>
- 0.74
- </p>
- </td>
-<td>
- <p>
- 0.796
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 19
- </p>
- </td>
-<td>
- <p>
- 0.0976
- </p>
- </td>
-<td>
- <p>
- 0.161
- </p>
- </td>
-<td>
- <p>
- 0.238
- </p>
- </td>
-<td>
- <p>
- 0.323
- </p>
- </td>
-<td>
- <p>
- 0.412
- </p>
- </td>
-<td>
- <p>
- 0.5
- </p>
- </td>
-<td>
- <p>
- 0.584
- </p>
- </td>
-<td>
- <p>
- 0.66
- </p>
- </td>
-<td>
- <p>
- 0.728
- </p>
- </td>
-<td>
- <p>
- 0.786
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 20
- </p>
- </td>
-<td>
- <p>
- 0.0961
- </p>
- </td>
-<td>
- <p>
- 0.158
- </p>
- </td>
-<td>
- <p>
- 0.232
- </p>
- </td>
-<td>
- <p>
- 0.315
- </p>
- </td>
-<td>
- <p>
- 0.402
- </p>
- </td>
-<td>
- <p>
- 0.489
- </p>
- </td>
-<td>
- <p>
- 0.572
- </p>
- </td>
-<td>
- <p>
- 0.648
- </p>
- </td>
-<td>
- <p>
- 0.716
- </p>
- </td>
-<td>
- <p>
- 0.775
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- See <a href="../../../../../../../../example/nc_chi_sq_example.cpp" target="_top">nc_chi_sq_example.cpp</a>
- for the full C++ source code.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../error_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg.html
deleted file mode 100644
index 0ddf31ea55..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Negative Binomial Distribution Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="geometric_eg.html" title="Geometric Distribution Examples">
-<link rel="next" href="neg_binom_eg/neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="geometric_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg/neg_binom_conf.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_neg_binom_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.neg_binom_eg"></a><a class="link" href="neg_binom_eg.html" title="Negative Binomial Distribution Examples">Negative
- Binomial Distribution Examples</a>
-</h5></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="neg_binom_eg/neg_binom_conf.html">Calculating
- Confidence Limits on the Frequency of Occurrence for the Negative Binomial
- Distribution</a></span></dt>
-<dt><span class="section"><a href="neg_binom_eg/neg_binom_size_eg.html">Estimating
- Sample Sizes for the Negative Binomial.</a></span></dt>
-<dt><span class="section"><a href="neg_binom_eg/negative_binomial_example1.html">Negative
- Binomial Sales Quota Example.</a></span></dt>
-<dt><span class="section"><a href="neg_binom_eg/negative_binomial_example2.html">Negative
- Binomial Table Printing Example.</a></span></dt>
-</dl></div>
-<p>
- (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a>.)
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="geometric_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_eg/neg_binom_conf.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_conf.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_conf.html
deleted file mode 100644
index 523eb5e665..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_conf.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
-<link rel="prev" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
-<link rel="next" href="neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_size_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_neg_binom_eg_neg_binom_conf">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_conf"></a><a class="link" href="neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">Calculating
- Confidence Limits on the Frequency of Occurrence for the Negative Binomial
- Distribution</a>
-</h6></div></div></div>
-<p>
- Imagine you have a process that follows a negative binomial distribution:
- for each trial conducted, an event either occurs or does it does not,
- referred to as "successes" and "failures". The
- frequency with which successes occur is variously referred to as the
- success fraction, success ratio, success percentage, occurrence frequency,
- or probability of occurrence.
- </p>
-<p>
- If, by experiment, you want to measure the the best estimate of success
- fraction is given simply by <span class="emphasis"><em>k</em></span> / <span class="emphasis"><em>N</em></span>,
- for <span class="emphasis"><em>k</em></span> successes out of <span class="emphasis"><em>N</em></span>
- trials.
- </p>
-<p>
- However our confidence in that estimate will be shaped by how many
- trials were conducted, and how many successes were observed. The static
- member functions <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_lower_bound_on_p</span></code>
- and <code class="computeroutput"><span class="identifier">negative_binomial_distribution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_upper_bound_on_p</span></code>
- allow you to calculate the confidence intervals for your estimate of
- the success fraction.
- </p>
-<p>
- The sample program <a href="../../../../../../../../example/neg_binom_confidence_limits.cpp" target="_top">neg_binom_confidence_limits.cpp</a>
- illustrates their use.
- </p>
-<p>
- First we need some includes to access the negative binomial distribution
- (and some basic std output of course).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- First define a table of significance levels: these are the probabilities
- that the true occurrence frequency lies outside the calculated interval:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- Confidence value as % is (1 - alpha) * 100, so alpha 0.05 == 95% confidence
- that the true occurence frequency lies <span class="bold"><strong>inside</strong></span>
- the calculated interval.
- </p>
-<p>
- We need a function to calculate and print confidence limits for an
- observed frequency of occurrence that follows a negative binomial distribution.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">trials</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">successes</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// trials = Total number of trials.</span>
- <span class="comment">// successes = Total number of observed successes.</span>
- <span class="comment">// failures = trials - successes.</span>
- <span class="comment">// success_fraction = successes /trials.</span>
- <span class="comment">// Print out general info:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"______________________________________________\n"</span>
- <span class="string">"2-Sided Confidence Limits For Success Fraction\n"</span>
- <span class="string">"______________________________________________\n\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of trials"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of successes"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of failures"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">trials</span> <span class="special">-</span> <span class="identifier">successes</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Observed frequency of occurrence"</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="keyword">double</span><span class="special">(</span><span class="identifier">successes</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">trials</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-
- <span class="comment">// Print table header:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
- <span class="string">"___________________________________________\n"</span>
- <span class="string">"Confidence Lower Upper\n"</span>
- <span class="string">" Value (%) Limit Limit\n"</span>
- <span class="string">"___________________________________________\n"</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- And now for the important part - the bounds themselves. For each value
- of <span class="emphasis"><em>alpha</em></span>, we call <code class="computeroutput"><span class="identifier">find_lower_bound_on_p</span></code>
- and <code class="computeroutput"><span class="identifier">find_upper_bound_on_p</span></code>
- to obtain lower and upper bounds respectively. Note that since we are
- calculating a two-sided interval, we must divide the value of alpha
- in two. Had we been calculating a single-sided interval, for example:
- <span class="emphasis"><em>"Calculate a lower bound so that we are P% sure that
- the true occurrence frequency is greater than some value"</em></span>
- then we would <span class="bold"><strong>not</strong></span> have divided by
- two.
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="comment">// Now print out the upper and lower limits for the alpha table values.</span>
- <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Confidence value:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="comment">// Calculate bounds:</span>
- <span class="keyword">double</span> <span class="identifier">lower</span> <span class="special">=</span> <span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_lower_bound_on_p</span><span class="special">(</span><span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
- <span class="keyword">double</span> <span class="identifier">upper</span> <span class="special">=</span> <span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_upper_bound_on_p</span><span class="special">(</span><span class="identifier">trials</span><span class="special">,</span> <span class="identifier">successes</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">);</span>
- <span class="comment">// Print limits:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">lower</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">upper</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// void confidence_limits_on_frequency(unsigned trials, unsigned successes)</span>
-</pre>
-<p>
- </p>
-<p>
- And then call confidence_limits_on_frequency with increasing numbers
- of trials, but always the same success fraction 0.1, or 1 in 10.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span> <span class="comment">// 20 trials, 2 successes, 2 in 20, = 1 in 10 = 0.1 success fraction.</span>
- <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="number">200</span><span class="special">,</span> <span class="number">20</span><span class="special">);</span> <span class="comment">// More trials, but same 0.1 success fraction.</span>
- <span class="identifier">confidence_limits_on_frequency</span><span class="special">(</span><span class="number">2000</span><span class="special">,</span> <span class="number">200</span><span class="special">);</span> <span class="comment">// Many more trials, but same 0.1 success fraction.</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<p>
- Let's see some sample output for a 1 in 10 success ratio, first for
- a mere 20 trials:
- </p>
-<pre class="programlisting">______________________________________________
-2-Sided Confidence Limits For Success Fraction
-______________________________________________
-Number of trials = 20
-Number of successes = 2
-Number of failures = 18
-Observed frequency of occurrence = 0.1
-___________________________________________
-Confidence Lower Upper
- Value (%) Limit Limit
-___________________________________________
- 50.000 0.04812 0.13554
- 75.000 0.03078 0.17727
- 90.000 0.01807 0.22637
- 95.000 0.01235 0.26028
- 99.000 0.00530 0.33111
- 99.900 0.00164 0.41802
- 99.990 0.00051 0.49202
- 99.999 0.00016 0.55574
-</pre>
-<p>
- As you can see, even at the 95% confidence level the bounds (0.012
- to 0.26) are really very wide, and very asymmetric about the observed
- value 0.1.
- </p>
-<p>
- Compare that with the program output for a mass 2000 trials:
- </p>
-<pre class="programlisting">______________________________________________
-2-Sided Confidence Limits For Success Fraction
-______________________________________________
-Number of trials = 2000
-Number of successes = 200
-Number of failures = 1800
-Observed frequency of occurrence = 0.1
-___________________________________________
-Confidence Lower Upper
- Value (%) Limit Limit
-___________________________________________
- 50.000 0.09536 0.10445
- 75.000 0.09228 0.10776
- 90.000 0.08916 0.11125
- 95.000 0.08720 0.11352
- 99.000 0.08344 0.11802
- 99.900 0.07921 0.12336
- 99.990 0.07577 0.12795
- 99.999 0.07282 0.13206
-</pre>
-<p>
- Now even when the confidence level is very high, the limits (at 99.999%,
- 0.07 to 0.13) are really quite close and nearly symmetric to the observed
- value of 0.1.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="neg_binom_size_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html
deleted file mode 100644
index 2171cbfca3..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html
+++ /dev/null
@@ -1,221 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Estimating Sample Sizes for the Negative Binomial.</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
-<link rel="prev" href="neg_binom_conf.html" title="Calculating Confidence Limits on the Frequency of Occurrence for the Negative Binomial Distribution">
-<link rel="next" href="negative_binomial_example1.html" title="Negative Binomial Sales Quota Example.">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="neg_binom_conf.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example1.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_neg_binom_eg_neg_binom_size_eg">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.neg_binom_eg.neg_binom_size_eg"></a><a class="link" href="neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">Estimating
- Sample Sizes for the Negative Binomial.</a>
-</h6></div></div></div>
-<p>
- Imagine you have an event (let's call it a "failure" - though
- we could equally well call it a success if we felt it was a 'good'
- event) that you know will occur in 1 in N trials. You may want to know
- how many trials you need to conduct to be P% sure of observing at least
- k such failures. If the failure events follow a negative binomial distribution
- (each trial either succeeds or fails) then the static member function
- <code class="computeroutput"><span class="identifier">negative_binomial_distibution</span><span class="special">&lt;&gt;::</span><span class="identifier">find_minimum_number_of_trials</span></code>
- can be used to estimate the minimum number of trials required to be
- P% sure of observing the desired number of failures.
- </p>
-<p>
- The example program <a href="../../../../../../../../example/neg_binomial_sample_sizes.cpp" target="_top">neg_binomial_sample_sizes.cpp</a>
- demonstrates its usage.
- </p>
-<p>
- It centres around a routine that prints out a table of minimum sample
- sizes (number of trials) for various probability thresholds:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">failures</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">p</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- First define a table of significance levels: these are the maximum
- acceptable probability that <span class="emphasis"><em>failure</em></span> or fewer events
- will be observed.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- Confidence value as % is (1 - alpha) * 100, so alpha 0.05 == 95% confidence
- that the desired number of failures will be observed. The values range
- from a very low 0.5 or 50% confidence up to an extremely high confidence
- of 99.999.
- </p>
-<p>
- Much of the rest of the program is pretty-printing, the important part
- is in the calculation of minimum number of trials required for each
- value of alpha using:
- </p>
-<pre class="programlisting"><span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
-</pre>
-<p>
- find_minimum_number_of_trials returns a double, so <code class="computeroutput"><span class="identifier">ceil</span></code>
- rounds this up to ensure we have an integral minimum number of trials.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">failures</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">p</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// trials = number of trials</span>
- <span class="comment">// failures = number of failures before achieving required success(es).</span>
- <span class="comment">// p = success fraction (0 &lt;= p &lt;= 1.).</span>
- <span class="comment">//</span>
- <span class="comment">// Calculate how many trials we need to ensure the</span>
- <span class="comment">// required number of failures DOES exceed "failures".</span>
-
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="string">"Target number of failures = "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">failures</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">", Success fraction = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">"%"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Print table header:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"____________________________\n"</span>
- <span class="string">"Confidence Min Number\n"</span>
- <span class="string">" Value (%) Of Trials \n"</span>
- <span class="string">"____________________________\n"</span><span class="special">;</span>
- <span class="comment">// Now print out the data for the alpha table values.</span>
- <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
- <span class="special">{</span> <span class="comment">// Confidence values %:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">])</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span>
- <span class="comment">// find_minimum_number_of_trials</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]))</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// void find_number_of_trials(double failures, double p)</span>
-</pre>
-<p>
- </p>
-<p>
- finally we can produce some tables of minimum trials for the chosen
- confidence levels:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
- <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
- <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">500</span><span class="special">,</span> <span class="number">0.5</span><span class="special">);</span>
- <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.1</span><span class="special">);</span>
- <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">500</span><span class="special">,</span> <span class="number">0.1</span><span class="special">);</span>
- <span class="identifier">find_number_of_trials</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">0.9</span><span class="special">);</span>
-
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- Since we're calculating the <span class="emphasis"><em>minimum</em></span> number of
- trials required, we'll err on the safe side and take the ceiling
- of the result. Had we been calculating the <span class="emphasis"><em>maximum</em></span>
- number of trials permitted to observe less than a certain number
- of <span class="emphasis"><em>failures</em></span> then we would have taken the floor
- instead. We would also have called <code class="computeroutput"><span class="identifier">find_minimum_number_of_trials</span></code>
- like this:
-</p>
-<pre class="programlisting"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">::</span><span class="identifier">find_minimum_number_of_trials</span><span class="special">(</span><span class="identifier">failures</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]))</span>
-</pre>
-<p>
- which would give us the largest number of trials we could conduct
- and still be P% sure of observing <span class="emphasis"><em>failures or less</em></span>
- failure events, when the probability of success is <span class="emphasis"><em>p</em></span>.
- </p>
-</td></tr>
-</table></div>
-<p>
- We'll finish off by looking at some sample output, firstly suppose
- we wish to observe at least 5 "failures" with a 50/50 (0.5)
- chance of success or failure:
- </p>
-<pre class="programlisting">Target number of failures = 5, Success fraction = 50%
-
-____________________________
-Confidence Min Number
- Value (%) Of Trials
-____________________________
- 50.000 11
- 75.000 14
- 90.000 17
- 95.000 18
- 99.000 22
- 99.900 27
- 99.990 31
- 99.999 36
-
-</pre>
-<p>
- So 18 trials or more would yield a 95% chance that at least our 5 required
- failures would be observed.
- </p>
-<p>
- Compare that to what happens if the success ratio is 90%:
- </p>
-<pre class="programlisting">Target number of failures = 5.000, Success fraction = 90.000%
-
-____________________________
-Confidence Min Number
- Value (%) Of Trials
-____________________________
- 50.000 57
- 75.000 73
- 90.000 91
- 95.000 103
- 99.000 127
- 99.900 159
- 99.990 189
- 99.999 217
-</pre>
-<p>
- So now 103 trials are required to observe at least 5 failures with
- 95% certainty.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="neg_binom_conf.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example1.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html
deleted file mode 100644
index 3380bd50d6..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example1.html
+++ /dev/null
@@ -1,611 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Negative Binomial Sales Quota Example.</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
-<link rel="prev" href="neg_binom_size_eg.html" title="Estimating Sample Sizes for the Negative Binomial.">
-<link rel="next" href="negative_binomial_example2.html" title="Negative Binomial Table Printing Example.">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="neg_binom_size_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example2.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_neg_binom_eg_negative_binomial_example1">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.neg_binom_eg.negative_binomial_example1"></a><a class="link" href="negative_binomial_example1.html" title="Negative Binomial Sales Quota Example.">Negative
- Binomial Sales Quota Example.</a>
-</h6></div></div></div>
-<p>
- This example program <a href="../../../../../../../../example/negative_binomial_example1.cpp" target="_top">negative_binomial_example1.cpp
- (full source code)</a> demonstrates a simple use to find the probability
- of meeting a sales quota.
- </p>
-<p>
- Based on <a href="http://en.wikipedia.org/wiki/Negative_binomial_distribution" target="_top">a
- problem by Dr. Diane Evans, Professor of Mathematics at Rose-Hulman
- Institute of Technology</a>.
- </p>
-<p>
- Pat is required to sell candy bars to raise money for the 6th grade
- field trip. There are thirty houses in the neighborhood, and Pat is
- not supposed to return home until five candy bars have been sold. So
- the child goes door to door, selling candy bars. At each house, there
- is a 0.4 probability (40%) of selling one candy bar and a 0.6 probability
- (60%) of selling nothing.
- </p>
-<p>
- What is the probability mass (density) function (pdf) for selling the
- last (fifth) candy bar at the nth house?
- </p>
-<p>
- The Negative Binomial(r, p) distribution describes the probability
- of k failures and r successes in k+r Bernoulli(p) trials with success
- on the last trial. (A <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
- trial</a> is one with only two possible outcomes, success of failure,
- and p is the probability of success). See also <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
- distribution</a> and <a href="http://www.math.uah.edu/stat/bernoulli/Introduction.xhtml" target="_top">Bernoulli
- applications</a>.
- </p>
-<p>
- In this example, we will deliberately produce a variety of calculations
- and outputs to demonstrate the ways that the negative binomial distribution
- can be implemented with this library: it is also deliberately over-commented.
- </p>
-<p>
- First we need to #define macros to control the error and discrete handling
- policies. For this simple example, we want to avoid throwing an exception
- (the default policy) and just return infinity. We want to treat the
- distribution as if it was continuous, so we choose a discrete_quantile
- policy of real, rather than the default policy integer_round_outwards.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
-</pre>
-<p>
- </p>
-<p>
- After that we need some includes to provide easy access to the negative
- binomial distribution,
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- It is vital to #include distributions etc <span class="bold"><strong>after</strong></span>
- the above #defines
- </p></td></tr>
-</table></div>
-<p>
- and we need some std library iostream, of course.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="comment">// for negative_binomial_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">pdf</span><span class="special">;</span> <span class="comment">// Probability mass function.</span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">;</span> <span class="comment">// Cumulative density function.</span>
- <span class="keyword">using</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quantile</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- It is always sensible to use try and catch blocks because defaults
- policies are to throw an exception if anything goes wrong.
- </p>
-<p>
- A simple catch block (see below) will ensure that you get a helpful
- error message instead of an abrupt program abort.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">try</span>
-<span class="special">{</span>
-</pre>
-<p>
- </p>
-<p>
- Selling five candy bars means getting five successes, so successes
- r = 5. The total number of trials (n, in this case, houses visited)
- this takes is therefore = sucesses + failures or k + r = k + 5.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">sales_quota</span> <span class="special">=</span> <span class="number">5</span><span class="special">;</span> <span class="comment">// Pat's sales quota - successes (r).</span>
-</pre>
-<p>
- </p>
-<p>
- At each house, there is a 0.4 probability (40%) of selling one candy
- bar and a 0.6 probability (60%) of selling nothing.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">success_fraction</span> <span class="special">=</span> <span class="number">0.4</span><span class="special">;</span> <span class="comment">// success_fraction (p) - so failure_fraction is 0.6.</span>
-</pre>
-<p>
- </p>
-<p>
- The Negative Binomial(r, p) distribution describes the probability
- of k failures and r successes in k+r Bernoulli(p) trials with success
- on the last trial. (A <a href="http://en.wikipedia.org/wiki/Bernoulli_distribution" target="_top">Bernoulli
- trial</a> is one with only two possible outcomes, success of failure,
- and p is the probability of success).
- </p>
-<p>
- We therefore start by constructing a negative binomial distribution
- with parameters sales_quota (required successes) and probability of
- success.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">negative_binomial</span> <span class="identifier">nb</span><span class="special">(</span><span class="identifier">sales_quota</span><span class="special">,</span> <span class="identifier">success_fraction</span><span class="special">);</span> <span class="comment">// type double by default.</span>
-</pre>
-<p>
- </p>
-<p>
- To confirm, display the success_fraction &amp; successes parameters
- of the distribution.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Pat has a sales per house success rate of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">success_fraction</span>
- <span class="special">&lt;&lt;</span> <span class="string">".\nTherefore he would, on average, sell "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nb</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span> <span class="special">*</span> <span class="number">100</span>
- <span class="special">&lt;&lt;</span> <span class="string">" bars after trying 100 houses."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">all_houses</span> <span class="special">=</span> <span class="number">30</span><span class="special">;</span> <span class="comment">// The number of houses on the estate.</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"With a success rate of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nb</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", he might expect, on average,\n"</span>
- <span class="string">"to need to visit about "</span> <span class="special">&lt;&lt;</span> <span class="identifier">success_fraction</span> <span class="special">*</span> <span class="identifier">all_houses</span>
- <span class="special">&lt;&lt;</span> <span class="string">" houses in order to sell all "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nb</span><span class="special">.</span><span class="identifier">successes</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" bars. "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Pat has a sales per house success rate of 0.4.
-Therefore he would, on average, sell 40 bars after trying 100 houses.
-With a success rate of 0.4, he might expect, on average,
-to need to visit about 12 houses in order to sell all 5 bars.
-</pre>
-<p>
- The random variable of interest is the number of houses that must be
- visited to sell five candy bars, so we substitute k = n - 5 into a
- negative_binomial(5, 0.4) and obtain the <a class="link" href="../../../dist_ref/nmp.html#math.dist.pdf">probability
- mass (density) function (pdf or pmf)</a> of the distribution of
- houses visited. Obviously, the best possible case is that Pat makes
- sales on all the first five houses.
- </p>
-<p>
- We calculate this using the pdf function:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">5</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// == pdf(nb, 0)</span>
-</pre>
-<p>
- </p>
-<p>
- Of course, he could not finish on fewer than 5 houses because he must
- sell 5 candy bars. So the 5th house is the first that he could possibly
- finish on.
- </p>
-<p>
- To finish on or before the 8th house, Pat must finish at the 5th, 6th,
- 7th or 8th house. The probability that he will finish on <span class="bold"><strong>exactly</strong></span> ( == ) on any house is the Probability
- Density Function (pdf).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the 6th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">6</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the 7th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">7</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the 8th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability that Pat finishes on the 6th house is 0.03072
-Probability that Pat finishes on the 7th house is 0.055296
-Probability that Pat finishes on the 8th house is 0.077414
-</pre>
-<p>
- The sum of the probabilities for these houses is the Cumulative Distribution
- Function (cdf). We can calculate it by adding the individual probabilities.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on or before the 8th house is sum "</span>
- <span class="string">"\n"</span> <span class="special">&lt;&lt;</span> <span class="string">"pdf(sales_quota) + pdf(6) + pdf(7) + pdf(8) = "</span>
- <span class="comment">// Sum each of the mass/density probabilities for houses sales_quota = 5, 6, 7, &amp; 8.</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">5</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 0 failures.</span>
- <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">6</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 1 failure.</span>
- <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">7</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 2 failures.</span>
- <span class="special">+</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="comment">// 3 failures.</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">pdf(sales_quota) + pdf(6) + pdf(7) + pdf(8) = 0.17367
-</pre>
-<p>
- Or, usually better, by using the negative binomial <span class="bold"><strong>cumulative</strong></span>
- distribution function.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
- <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">8</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of selling his quota of 5 bars on or before the 8th house is 0.17367
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability that Pat finishes exactly on the 10th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">10</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
- <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">10</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">10</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability that Pat finishes exactly on the 10th house is 0.10033
-Probability of selling his quota of 5 bars on or before the 10th house is 0.3669
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes exactly on the 11th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">11</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
- <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">11</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">11</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability that Pat finishes on the 11th house is 0.10033
-Probability of selling his quota of 5 candy bars
-on or before the 11th house is 0.46723
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes exactly on the 12th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">12</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
- <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="number">12</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">12</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability that Pat finishes on the 12th house is 0.094596
-Probability of selling his quota of 5 candy bars
-on or before the 12th house is 0.56182
-</pre>
-<p>
- Finally consider the risk of Pat not selling his quota of 5 bars even
- after visiting all the houses. Calculate the probability that he <span class="emphasis"><em>will</em></span>
- sell on or before the last house: Calculate the probability that he
- would sell all his quota on the very last house.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that Pat finishes on the "</span> <span class="special">&lt;&lt;</span> <span class="identifier">all_houses</span>
- <span class="special">&lt;&lt;</span> <span class="string">" house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Probability of selling his quota of 5 bars on the 30th house is
- </p>
-<pre class="programlisting">Probability that Pat finishes on the 30 house is 0.00069145
-</pre>
-<p>
- when he'd be very unlucky indeed!
- </p>
-<p>
- What is the probability that Pat exhausts all 30 houses in the neighborhood,
- and <span class="bold"><strong>still</strong></span> doesn't sell the required
- 5 candy bars?
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of selling his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
- <span class="special">&lt;&lt;</span> <span class="string">" bars\non or before the "</span> <span class="special">&lt;&lt;</span> <span class="identifier">all_houses</span> <span class="special">&lt;&lt;</span> <span class="string">"th house is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of selling his quota of 5 bars
-on or before the 30th house is 0.99849
-</pre>
-<p>
- /*<code class="computeroutput"><span class="identifier">So</span> <span class="identifier">the</span>
- <span class="identifier">risk</span> <span class="identifier">of</span>
- <span class="identifier">failing</span> <span class="identifier">even</span>
- <span class="identifier">after</span> <span class="identifier">visiting</span>
- <span class="identifier">all</span> <span class="identifier">the</span>
- <span class="identifier">houses</span> <span class="identifier">is</span>
- <span class="number">1</span> <span class="special">-</span>
- <span class="keyword">this</span> <span class="identifier">probability</span><span class="special">,</span> </code><code class="computeroutput"><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span>
- <span class="special">-</span> <span class="identifier">sales_quota</span></code><code class="computeroutput">
- <span class="identifier">But</span> <span class="keyword">using</span>
- <span class="keyword">this</span> <span class="identifier">expression</span>
- <span class="identifier">may</span> <span class="identifier">cause</span>
- <span class="identifier">serious</span> <span class="identifier">inaccuracy</span><span class="special">,</span> <span class="identifier">so</span> <span class="identifier">it</span> <span class="identifier">would</span>
- <span class="identifier">be</span> <span class="identifier">much</span>
- <span class="identifier">better</span> <span class="identifier">to</span>
- <span class="identifier">use</span> <span class="identifier">the</span>
- <span class="identifier">complement</span> <span class="identifier">of</span>
- <span class="identifier">the</span> <span class="identifier">cdf</span><span class="special">:</span> <span class="identifier">So</span> <span class="identifier">the</span> <span class="identifier">risk</span>
- <span class="identifier">of</span> <span class="identifier">failing</span>
- <span class="identifier">even</span> <span class="identifier">at</span><span class="special">,</span> <span class="keyword">or</span> <span class="identifier">after</span><span class="special">,</span>
- <span class="identifier">the</span> <span class="number">31</span><span class="identifier">th</span> <span class="special">(</span><span class="identifier">non</span><span class="special">-</span><span class="identifier">existent</span><span class="special">)</span>
- <span class="identifier">houses</span> <span class="identifier">is</span>
- <span class="number">1</span> <span class="special">-</span>
- <span class="keyword">this</span> <span class="identifier">probability</span><span class="special">,</span> </code><code class="computeroutput"><span class="number">1</span>
- <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span>
- <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span></code>` But using this expression may cause
- serious inaccuracy. So it would be much better to use the complement
- of the cdf. <a class="link" href="../../overview/complements.html#why_complements">Why complements?</a>
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nProbability of failing to sell his quota of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span>
- <span class="special">&lt;&lt;</span> <span class="string">" bars\neven after visiting all "</span> <span class="special">&lt;&lt;</span> <span class="identifier">all_houses</span> <span class="special">&lt;&lt;</span> <span class="string">" houses is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">all_houses</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of failing to sell his quota of 5 bars
-even after visiting all 30 houses is 0.0015101
-</pre>
-<p>
- We can also use the quantile (percentile), the inverse of the cdf,
- to predict which house Pat will finish on. So for the 8th house:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="special">(</span><span class="number">8</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">));</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of meeting sales quota on or before 8th house is "</span><span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">Probability of meeting sales quota on or before 8th house is 0.174
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span>
- <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span><span class="special">&lt;&lt;</span> <span class="string">" quantile(nb, p) = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">If the confidence of meeting sales quota is 0.17367, then the finishing house is 8
-</pre>
-<p>
- Demanding absolute certainty that all 5 will be sold, implies an infinite
- number of trials. (Of course, there are only 30 houses on the estate,
- so he can't ever be <span class="bold"><strong>certain</strong></span> of selling
- his quota).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">1.</span>
- <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// 1.#INF == infinity.</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">If the confidence of meeting sales quota is 1, then the finishing house is 1.#INF
-</pre>
-<p>
- And similarly for a few other probabilities:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">0.</span>
- <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">0.</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">0.5</span>
- <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">0.5</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If the confidence of meeting sales quota is "</span> <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="number">0.00151</span> <span class="comment">// 30 th</span>
- <span class="special">&lt;&lt;</span> <span class="string">", then the finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="number">1</span> <span class="special">-</span> <span class="number">0.00151</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">If the confidence of meeting sales quota is 0, then the finishing house is 5
-If the confidence of meeting sales quota is 0.5, then the finishing house is 11.337
-If the confidence of meeting sales quota is 0.99849, then the finishing house is 30
-</pre>
-<p>
- Notice that because we chose a discrete quantile policy of real, the
- result can be an 'unreal' fractional house.
- </p>
-<p>
- If the opposite is true, we don't want to assume any confidence, then
- this is tantamount to assuming that all the first sales_quota trials
- will be successful sales.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If confidence of meeting quota is zero\n(we assume all houses are successful sales)"</span>
- <span class="string">", then finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">If confidence of meeting quota is zero (we assume all houses are successful sales), then finishing house is 5
-If confidence of meeting quota is 0, then finishing house is 5
-</pre>
-<p>
- We can list quantiles for a few probabilities:
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="keyword">double</span> <span class="identifier">ps</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.9</span><span class="special">,</span> <span class="number">0.95</span><span class="special">,</span> <span class="number">0.99</span><span class="special">,</span> <span class="number">0.999</span><span class="special">,</span> <span class="number">1.</span><span class="special">};</span>
- <span class="comment">// Confidence as fraction = 1-alpha, as percent = 100 * (1-alpha[i]) %</span>
- <span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
- <span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">ps</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">ps</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="identifier">i</span><span class="special">++)</span>
- <span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If confidence of meeting quota is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ps</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span>
- <span class="special">&lt;&lt;</span> <span class="string">", then finishing house is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">ps</span><span class="special">[</span><span class="identifier">i</span><span class="special">])</span> <span class="special">+</span> <span class="identifier">sales_quota</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">If confidence of meeting quota is 0, then finishing house is 5
-If confidence of meeting quota is 0.001, then finishing house is 5
-If confidence of meeting quota is 0.01, then finishing house is 5
-If confidence of meeting quota is 0.05, then finishing house is 6.2
-If confidence of meeting quota is 0.1, then finishing house is 7.06
-If confidence of meeting quota is 0.5, then finishing house is 11.3
-If confidence of meeting quota is 0.9, then finishing house is 17.8
-If confidence of meeting quota is 0.95, then finishing house is 20.1
-If confidence of meeting quota is 0.99, then finishing house is 24.8
-If confidence of meeting quota is 0.999, then finishing house is 31.1
-If confidence of meeting quota is 1, then finishing house is 1.#INF
-</pre>
-<p>
- We could have applied a ceil function to obtain a 'worst case' integer
- value for house.
-</p>
-<pre class="programlisting"><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">ps</span><span class="special">[</span><span class="identifier">i</span><span class="special">]))</span></pre>
-<p>
- </p>
-<p>
- Or, if we had used the default discrete quantile policy, integer_outside,
- by omitting
-</p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span></pre>
-<p>
- we would have achieved the same effect.
- </p>
-<p>
- The real result gives some suggestion which house is most likely. For
- example, compare the real and integer_outside for 95% confidence.
- </p>
-<pre class="programlisting">If confidence of meeting quota is 0.95, then finishing house is 20.1
-If confidence of meeting quota is 0.95, then finishing house is 21
-</pre>
-<p>
- The real value 20.1 is much closer to 20 than 21, so integer_outside
- is pessimistic. We could also use integer_round_nearest policy to suggest
- that 20 is more likely.
- </p>
-<p>
- Finally, we can tabulate the probability for the last sale being exactly
- on each house.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nHouse for "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sales_quota</span> <span class="special">&lt;&lt;</span> <span class="string">"th (last) sale. Probability (%)"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="special">(</span><span class="keyword">int</span><span class="special">)</span><span class="identifier">sales_quota</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">all_houses</span><span class="special">+</span><span class="number">1</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">8</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="identifier">i</span> <span class="special">-</span> <span class="identifier">sales_quota</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting">House for 5 th (last) sale. Probability (%)
-5 0.01024
-6 0.04096
-7 0.096256
-8 0.17367
-9 0.26657
-10 0.3669
-11 0.46723
-12 0.56182
-13 0.64696
-14 0.72074
-15 0.78272
-16 0.83343
-17 0.874
-18 0.90583
-19 0.93039
-20 0.94905
-21 0.96304
-22 0.97342
-23 0.98103
-24 0.98655
-25 0.99053
-26 0.99337
-27 0.99539
-28 0.99681
-29 0.9978
-30 0.99849
-</pre>
-<p>
- As noted above, using a catch block is always a good idea, even if
- you do not expect to use it.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="special">}</span>
-<span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
-<span class="special">{</span> <span class="comment">// Since we have set an overflow policy of ignore_error,</span>
- <span class="comment">// an overflow exception should never be thrown.</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\nMessage from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- For example, without a ignore domain error policy, if we asked for
-</p>
-<pre class="programlisting"><span class="identifier">pdf</span><span class="special">(</span><span class="identifier">nb</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span></pre>
-<p>
- for example, we would get:
- </p>
-<pre class="programlisting">Message from thrown exception was:
- Error in function boost::math::pdf(const negative_binomial_distribution&lt;double&gt;&amp;, double):
- Number of failures argument is -1, but must be &gt;= 0 !
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="neg_binom_size_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="negative_binomial_example2.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html
deleted file mode 100644
index a0d451a758..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/neg_binom_eg/negative_binomial_example2.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Negative Binomial Table Printing Example.</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../neg_binom_eg.html" title="Negative Binomial Distribution Examples">
-<link rel="prev" href="negative_binomial_example1.html" title="Negative Binomial Sales Quota Example.">
-<link rel="next" href="../normal_example.html" title="Normal Distribution Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="negative_binomial_example1.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../normal_example.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_neg_binom_eg_negative_binomial_example2">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.neg_binom_eg.negative_binomial_example2"></a><a class="link" href="negative_binomial_example2.html" title="Negative Binomial Table Printing Example.">Negative
- Binomial Table Printing Example.</a>
-</h6></div></div></div>
-<p>
- Example program showing output of a table of values of cdf and pdf
- for various k failures.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// Print a table of values that can be used to plot</span>
-<span class="comment">// using Excel, or some other superior graphical display tool.</span>
-
-<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">17</span><span class="special">);</span> <span class="comment">// Use max_digits10 precision, the maximum available for a reference table.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">showpoint</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// include trailing zeros.</span>
-<span class="comment">// This is a maximum possible precision for the type (here double) to suit a reference table.</span>
-<span class="keyword">int</span> <span class="identifier">maxk</span> <span class="special">=</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="number">2.</span> <span class="special">*</span> <span class="identifier">mynbdist</span><span class="special">.</span><span class="identifier">successes</span><span class="special">()</span> <span class="special">/</span> <span class="identifier">mynbdist</span><span class="special">.</span><span class="identifier">success_fraction</span><span class="special">());</span>
-<span class="comment">// This maxk shows most of the range of interest, probability about 0.0001 to 0.999.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="string">" k pdf cdf"</span><span class="string">"\n"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">k</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">k</span> <span class="special">&lt;</span> <span class="identifier">maxk</span><span class="special">;</span> <span class="identifier">k</span><span class="special">++)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">17</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">showpoint</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">k</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">mynbdist</span><span class="special">,</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">k</span><span class="special">))</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">mynbdist</span><span class="special">,</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">k</span><span class="special">))</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">k</span> <span class="identifier">pdf</span> <span class="identifier">cdf</span>
- <span class="number">0</span><span class="special">,</span> <span class="number">1.5258789062500000e-005</span> <span class="number">1.5258789062500003e-005</span>
- <span class="number">1</span><span class="special">,</span> <span class="number">9.1552734375000000e-005</span> <span class="number">0.00010681152343750000</span>
- <span class="number">2</span><span class="special">,</span> <span class="number">0.00030899047851562522</span> <span class="number">0.00041580200195312500</span>
- <span class="number">3</span><span class="special">,</span> <span class="number">0.00077247619628906272</span> <span class="number">0.0011882781982421875</span>
- <span class="number">4</span><span class="special">,</span> <span class="number">0.0015932321548461918</span> <span class="number">0.0027815103530883789</span>
- <span class="number">5</span><span class="special">,</span> <span class="number">0.0028678178787231476</span> <span class="number">0.0056493282318115234</span>
- <span class="number">6</span><span class="special">,</span> <span class="number">0.0046602040529251142</span> <span class="number">0.010309532284736633</span>
- <span class="number">7</span><span class="special">,</span> <span class="number">0.0069903060793876605</span> <span class="number">0.017299838364124298</span>
- <span class="number">8</span><span class="special">,</span> <span class="number">0.0098301179241389001</span> <span class="number">0.027129956288263202</span>
- <span class="number">9</span><span class="special">,</span> <span class="number">0.013106823898851871</span> <span class="number">0.040236780187115073</span>
-<span class="number">10</span><span class="special">,</span> <span class="number">0.016711200471036140</span> <span class="number">0.056947980658151209</span>
-<span class="number">11</span><span class="special">,</span> <span class="number">0.020509200578089786</span> <span class="number">0.077457181236241013</span>
-<span class="number">12</span><span class="special">,</span> <span class="number">0.024354675686481652</span> <span class="number">0.10181185692272265</span>
-<span class="number">13</span><span class="special">,</span> <span class="number">0.028101548869017230</span> <span class="number">0.12991340579173993</span>
-<span class="number">14</span><span class="special">,</span> <span class="number">0.031614242477644432</span> <span class="number">0.16152764826938440</span>
-<span class="number">15</span><span class="special">,</span> <span class="number">0.034775666725408917</span> <span class="number">0.19630331499479325</span>
-<span class="number">16</span><span class="special">,</span> <span class="number">0.037492515688331451</span> <span class="number">0.23379583068312471</span>
-<span class="number">17</span><span class="special">,</span> <span class="number">0.039697957787645101</span> <span class="number">0.27349378847076977</span>
-<span class="number">18</span><span class="special">,</span> <span class="number">0.041352039362130305</span> <span class="number">0.31484582783290005</span>
-<span class="number">19</span><span class="special">,</span> <span class="number">0.042440250924291580</span> <span class="number">0.35728607875719176</span>
-<span class="number">20</span><span class="special">,</span> <span class="number">0.042970754060845245</span> <span class="number">0.40025683281803687</span>
-<span class="number">21</span><span class="special">,</span> <span class="number">0.042970754060845225</span> <span class="number">0.44322758687888220</span>
-<span class="number">22</span><span class="special">,</span> <span class="number">0.042482450037426581</span> <span class="number">0.48571003691630876</span>
-<span class="number">23</span><span class="special">,</span> <span class="number">0.041558918514873783</span> <span class="number">0.52726895543118257</span>
-<span class="number">24</span><span class="special">,</span> <span class="number">0.040260202311284021</span> <span class="number">0.56752915774246648</span>
-<span class="number">25</span><span class="special">,</span> <span class="number">0.038649794218832620</span> <span class="number">0.60617895196129912</span>
-<span class="number">26</span><span class="special">,</span> <span class="number">0.036791631035234917</span> <span class="number">0.64297058299653398</span>
-<span class="number">27</span><span class="special">,</span> <span class="number">0.034747651533277427</span> <span class="number">0.67771823452981139</span>
-<span class="number">28</span><span class="special">,</span> <span class="number">0.032575923312447595</span> <span class="number">0.71029415784225891</span>
-<span class="number">29</span><span class="special">,</span> <span class="number">0.030329307911589130</span> <span class="number">0.74062346575384819</span>
-<span class="number">30</span><span class="special">,</span> <span class="number">0.028054609818219924</span> <span class="number">0.76867807557206813</span>
-<span class="number">31</span><span class="special">,</span> <span class="number">0.025792141284492545</span> <span class="number">0.79447021685656061</span>
-<span class="number">32</span><span class="special">,</span> <span class="number">0.023575629142856460</span> <span class="number">0.81804584599941710</span>
-<span class="number">33</span><span class="special">,</span> <span class="number">0.021432390129869489</span> <span class="number">0.83947823612928651</span>
-<span class="number">34</span><span class="special">,</span> <span class="number">0.019383705779220189</span> <span class="number">0.85886194190850684</span>
-<span class="number">35</span><span class="special">,</span> <span class="number">0.017445335201298231</span> <span class="number">0.87630727710980494</span>
-<span class="number">36</span><span class="special">,</span> <span class="number">0.015628112784496322</span> <span class="number">0.89193538989430121</span>
-<span class="number">37</span><span class="special">,</span> <span class="number">0.013938587078064250</span> <span class="number">0.90587397697236549</span>
-<span class="number">38</span><span class="special">,</span> <span class="number">0.012379666154859701</span> <span class="number">0.91825364312722524</span>
-<span class="number">39</span><span class="special">,</span> <span class="number">0.010951243136991251</span> <span class="number">0.92920488626421649</span>
-<span class="number">40</span><span class="special">,</span> <span class="number">0.0096507830144735539</span> <span class="number">0.93885566927869002</span>
-<span class="number">41</span><span class="special">,</span> <span class="number">0.0084738582566109364</span> <span class="number">0.94732952753530097</span>
-<span class="number">42</span><span class="special">,</span> <span class="number">0.0074146259745345548</span> <span class="number">0.95474415350983555</span>
-<span class="number">43</span><span class="special">,</span> <span class="number">0.0064662435824429246</span> <span class="number">0.96121039709227851</span>
-<span class="number">44</span><span class="special">,</span> <span class="number">0.0056212231142827853</span> <span class="number">0.96683162020656122</span>
-<span class="number">45</span><span class="special">,</span> <span class="number">0.0048717266990450708</span> <span class="number">0.97170334690560634</span>
-<span class="number">46</span><span class="special">,</span> <span class="number">0.0042098073105878630</span> <span class="number">0.97591315421619418</span>
-<span class="number">47</span><span class="special">,</span> <span class="number">0.0036275999165703964</span> <span class="number">0.97954075413276465</span>
-<span class="number">48</span><span class="special">,</span> <span class="number">0.0031174686783026818</span> <span class="number">0.98265822281106729</span>
-<span class="number">49</span><span class="special">,</span> <span class="number">0.0026721160099737302</span> <span class="number">0.98533033882104104</span>
-<span class="number">50</span><span class="special">,</span> <span class="number">0.0022846591885275322</span> <span class="number">0.98761499800956853</span>
-<span class="number">51</span><span class="special">,</span> <span class="number">0.0019486798960970148</span> <span class="number">0.98956367790566557</span>
-<span class="number">52</span><span class="special">,</span> <span class="number">0.0016582516423517923</span> <span class="number">0.99122192954801736</span>
-<span class="number">53</span><span class="special">,</span> <span class="number">0.0014079495076571762</span> <span class="number">0.99262987905567457</span>
-<span class="number">54</span><span class="special">,</span> <span class="number">0.0011928461106539983</span> <span class="number">0.99382272516632852</span>
-<span class="number">55</span><span class="special">,</span> <span class="number">0.0010084971662802015</span> <span class="number">0.99483122233260868</span>
-<span class="number">56</span><span class="special">,</span> <span class="number">0.00085091948404891532</span> <span class="number">0.99568214181665760</span>
-<span class="number">57</span><span class="special">,</span> <span class="number">0.00071656377604119542</span> <span class="number">0.99639870559269883</span>
-<span class="number">58</span><span class="special">,</span> <span class="number">0.00060228420831048650</span> <span class="number">0.99700098980100937</span>
-<span class="number">59</span><span class="special">,</span> <span class="number">0.00050530624256557675</span> <span class="number">0.99750629604357488</span>
-<span class="number">60</span><span class="special">,</span> <span class="number">0.00042319397814867202</span> <span class="number">0.99792949002172360</span>
-<span class="number">61</span><span class="special">,</span> <span class="number">0.00035381791615708398</span> <span class="number">0.99828330793788067</span>
-<span class="number">62</span><span class="special">,</span> <span class="number">0.00029532382517950324</span> <span class="number">0.99857863176306016</span>
-<span class="number">63</span><span class="special">,</span> <span class="number">0.00024610318764958566</span> <span class="number">0.99882473495070978</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="negative_binomial_example1.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../neg_binom_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../normal_example.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example.html
deleted file mode 100644
index 447cc27377..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Normal Distribution Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="neg_binom_eg/negative_binomial_example2.html" title="Negative Binomial Table Printing Example.">
-<link rel="next" href="normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="neg_binom_eg/negative_binomial_example2.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_example/normal_misc.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_normal_example">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.normal_example"></a><a class="link" href="normal_example.html" title="Normal Distribution Examples">Normal
- Distribution Examples</a>
-</h5></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="normal_example/normal_misc.html">Some
- Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></div>
-<p>
- (See also the reference documentation for the <a class="link" href="../../dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a>.)
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="neg_binom_eg/negative_binomial_example2.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="normal_example/normal_misc.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html
deleted file mode 100644
index 6ac4cc272a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html
+++ /dev/null
@@ -1,612 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Some Miscellaneous Examples of the Normal (Gaussian) Distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../normal_example.html" title="Normal Distribution Examples">
-<link rel="prev" href="../normal_example.html" title="Normal Distribution Examples">
-<link rel="next" href="../inverse_chi_squared_eg.html" title="Inverse Chi-Squared Distribution Bayes Example">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../normal_example.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../normal_example.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inverse_chi_squared_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_normal_example_normal_misc">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc"></a><a class="link" href="normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution">Some
- Miscellaneous Examples of the Normal (Gaussian) Distribution</a>
-</h6></div></div></div>
-<p>
- The sample program <a href="../../../../../../../../example/normal_misc_examples.cpp" target="_top">normal_misc_examples.cpp</a>
- illustrates their use.
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.h0"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.traditional_tables"></a></span><a class="link" href="normal_misc.html#math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.traditional_tables">Traditional
- Tables</a>
- </h5>
-<p>
- First we need some includes to access the normal distribution (and
- some std output of course).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// for normal_distribution</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal</span><span class="special">;</span> <span class="comment">// typedef provides default type is double.</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">showpoint</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">noshowpoint</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Example: Normal distribution, Miscellaneous Applications."</span><span class="special">;</span>
-
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="special">{</span> <span class="comment">// Traditional tables and values.</span>
-</pre>
-<p>
- </p>
-<p>
- Let's start by printing some traditional tables.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">step</span> <span class="special">=</span> <span class="number">1.</span><span class="special">;</span> <span class="comment">// in z </span>
-<span class="keyword">double</span> <span class="identifier">range</span> <span class="special">=</span> <span class="number">4</span><span class="special">;</span> <span class="comment">// min and max z = -range to +range.</span>
-<span class="keyword">int</span> <span class="identifier">precision</span> <span class="special">=</span> <span class="number">17</span><span class="special">;</span> <span class="comment">// traditional tables are only computed to much lower precision.</span>
-<span class="comment">// but std::numeric_limits&lt;double&gt;::max_digits10; on new Standard Libraries gives</span>
-<span class="comment">// 17, the maximum number of digits that can possibly be significant.</span>
-<span class="comment">// std::numeric_limits&lt;double&gt;::digits10; == 15 is number of guaranteed digits,</span>
-<span class="comment">// the other two digits being 'noisy'.</span>
-
-<span class="comment">// Construct a standard normal distribution s</span>
- <span class="identifier">normal</span> <span class="identifier">s</span><span class="special">;</span> <span class="comment">// (default mean = zero, and standard deviation = unity)</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard normal distribution, mean = "</span><span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", standard deviation = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- First the probability distribution function (pdf).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability distribution function values"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" z "</span> <span class="string">" pdf "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">5</span><span class="special">);</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="identifier">range</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">&lt;</span> <span class="identifier">range</span> <span class="special">+</span> <span class="identifier">step</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">+=</span> <span class="identifier">step</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">precision</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">12</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">6</span><span class="special">);</span> <span class="comment">// default</span>
-</pre>
-<p>
- </p>
-<p>
- And the area under the normal curve from -&#8734; up to z, the cumulative distribution
- function (cdf).
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// For a standard normal distribution </span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard normal mean = "</span><span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">", standard deviation = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Integral (area under the curve) from - infinity up to z "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">" z "</span> <span class="string">" cdf "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="special">-</span><span class="identifier">range</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">&lt;</span> <span class="identifier">range</span> <span class="special">+</span> <span class="identifier">step</span><span class="special">;</span> <span class="identifier">z</span> <span class="special">+=</span> <span class="identifier">step</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">6</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">precision</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">12</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">6</span><span class="special">);</span> <span class="comment">// default</span>
-</pre>
-<p>
- </p>
-<p>
- And all this you can do with a nanoscopic amount of work compared to
- the team of <span class="bold"><strong>human computers</strong></span> toiling
- with Milton Abramovitz and Irene Stegen at the US National Bureau of
- Standards (now <a href="http://www.nist.gov" target="_top">NIST</a>). Starting
- in 1938, their "Handbook of Mathematical Functions with Formulas,
- Graphs and Mathematical Tables", was eventually published in 1964,
- and has been reprinted numerous times since. (A major replacement is
- planned at <a href="http://dlmf.nist.gov" target="_top">Digital Library of Mathematical
- Functions</a>).
- </p>
-<p>
- Pretty-printing a traditional 2-dimensional table is left as an exercise
- for the student, but why bother now that the Math Toolkit lets you
- write
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">z</span> <span class="special">=</span> <span class="number">2.</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Area for z = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">z</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// to get the area for z.</span>
-</pre>
-<p>
- </p>
-<p>
- Correspondingly, we can obtain the traditional 'critical' values for
- significance levels. For the 95% confidence level, the significance
- level usually called alpha, is 0.05 = 1 - 0.95 (for a one-sided test),
- so we can write
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"95% of area has a z below "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.95</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// 95% of area has a z below 1.64485</span>
-</pre>
-<p>
- </p>
-<p>
- and a two-sided test (a comparison between two levels, rather than
- a one-sided test)
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"95% of area has a z between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="special">-</span><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.975</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// 95% of area has a z between 1.95996 and -1.95996</span>
-</pre>
-<p>
- </p>
-<p>
- First, define a table of significance levels: these are the probabilities
- that the true occurrence frequency lies outside the calculated interval.
- </p>
-<p>
- It is convenient to have an alpha level for the probability that z
- lies outside just one standard deviation. This will not be some nice
- neat number like 0.05, but we can easily calculate it,
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha1</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="number">2</span><span class="special">;</span> <span class="comment">// 0.3173105078629142</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">17</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">"Significance level for z == 1 is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha1</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- and place in our array of favorite alpha values.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">0.3173105078629142</span><span class="special">,</span> <span class="comment">// z for 1 standard deviation.</span>
- <span class="number">0.20</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- </p>
-<p>
- Confidence value as % is (1 - alpha) * 100 (so alpha 0.05 == 95% confidence)
- that the true occurrence frequency lies <span class="bold"><strong>inside</strong></span>
- the calculated interval.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"level of significance (alpha)"</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">4</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"2-sided 1 -sided z(alpha) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">for</span> <span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span><span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Use quantile(complement(s, alpha[i]/2)) to avoid potential loss of accuracy from quantile(s, 1 - alpha[i]/2) </span>
-<span class="special">}</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Notice the distinction between one-sided (also called one-tailed) where
- we are using a &gt; <span class="bold"><strong>or</strong></span> &lt; test (and
- not both) and considering the area of the tail (integral) from z up
- to +&#8734;, and a two-sided test where we are using two &gt; <span class="bold"><strong>and</strong></span>
- &lt; tests, and thus considering two tails, from -&#8734; up to z low and z
- high up to +&#8734;.
- </p>
-<p>
- So the 2-sided values alpha[i] are calculated using alpha[i]/2.
- </p>
-<p>
- If we consider a simple example of alpha = 0.05, then for a two-sided
- test, the lower tail area from -&#8734; up to -1.96 is 0.025 (alpha/2) and
- the upper tail area from +z up to +1.96 is also 0.025 (alpha/2), and
- the area between -1.96 up to 12.96 is alpha = 0.95. and the sum of
- the two tails is 0.025 + 0.025 = 0.05,
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.h1"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.standard_deviations_either_side_of_the_mean"></a></span><a class="link" href="normal_misc.html#math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.standard_deviations_either_side_of_the_mean">Standard
- deviations either side of the Mean</a>
- </h5>
-<p>
- Armed with the cumulative distribution function, we can easily calculate
- the easy to remember proportion of values that lie within 1, 2 and
- 3 standard deviations from the mean.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">showpoint</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(s, s.standard_deviation()) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// from -infinity to 1 sd</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf(complement(s, s.standard_deviation())) = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction 1 standard deviation within either side of mean is "</span>
- <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">*</span> <span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction 2 standard deviations within either side of mean is "</span>
- <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">2</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">*</span> <span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction 3 standard deviations within either side of mean is "</span>
- <span class="special">&lt;&lt;</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">3</span> <span class="special">*</span> <span class="identifier">s</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()))</span> <span class="special">*</span> <span class="number">2</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- To a useful precision, the 1, 2 &amp; 3 percentages are 68, 95 and
- 99.7, and these are worth memorising as useful 'rules of thumb', as,
- for example, in <a href="http://en.wikipedia.org/wiki/Standard_deviation" target="_top">standard
- deviation</a>:
- </p>
-<pre class="programlisting">Fraction 1 standard deviation within either side of mean is 0.683
-Fraction 2 standard deviations within either side of mean is 0.954
-Fraction 3 standard deviations within either side of mean is 0.997
-</pre>
-<p>
- We could of course get some really accurate values for these <a href="http://en.wikipedia.org/wiki/Confidence_interval" target="_top">confidence intervals</a>
- by using cout.precision(15);
- </p>
-<pre class="programlisting">Fraction 1 standard deviation within either side of mean is 0.682689492137086
-Fraction 2 standard deviations within either side of mean is 0.954499736103642
-Fraction 3 standard deviations within either side of mean is 0.997300203936740
-</pre>
-<p>
- But before you get too excited about this impressive precision, don't
- forget that the <span class="bold"><strong>confidence intervals of the standard
- deviation</strong></span> are surprisingly wide, especially if you have
- estimated the standard deviation from only a few measurements.
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.h2"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.some_simple_examples"></a></span><a class="link" href="normal_misc.html#math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.some_simple_examples">Some
- simple examples</a>
- </h5>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.h3"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.life_of_light_bulbs"></a></span><a class="link" href="normal_misc.html#math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.life_of_light_bulbs">Life
- of light bulbs</a>
- </h5>
-<p>
- Examples from K. Krishnamoorthy, Handbook of Statistical Distributions
- with Applications, ISBN 1 58488 635 8, page 125... implemented using
- the Math Toolkit library.
- </p>
-<p>
- A few very simple examples are shown here:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// K. Krishnamoorthy, Handbook of Statistical Distributions with Applications,</span>
- <span class="comment">// ISBN 1 58488 635 8, page 125, example 10.3.5</span>
-</pre>
-<p>
- </p>
-<p>
- Mean lifespan of 100 W bulbs is 1100 h with standard deviation of 100
- h. Assuming, perhaps with little evidence and much faith, that the
- distribution is normal, we construct a normal distribution called
- <span class="emphasis"><em>bulbs</em></span> with these values:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean_life</span> <span class="special">=</span> <span class="number">1100.</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">life_standard_deviation</span> <span class="special">=</span> <span class="number">100.</span><span class="special">;</span>
-<span class="identifier">normal</span> <span class="identifier">bulbs</span><span class="special">(</span><span class="identifier">mean_life</span><span class="special">,</span> <span class="identifier">life_standard_deviation</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">expected_life</span> <span class="special">=</span> <span class="number">1000.</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- The we can use the Cumulative distribution function to predict fractions
- (or percentages, if * 100) that will last various lifetimes.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of bulbs that will last at best (&lt;=) "</span> <span class="comment">// P(X &lt;= 1000)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">expected_life</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span><span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">expected_life</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of bulbs that will last at least (&gt;) "</span> <span class="comment">// P(X &gt; 1000)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">expected_life</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span><span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">expected_life</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">min_life</span> <span class="special">=</span> <span class="number">900</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">max_life</span> <span class="special">=</span> <span class="number">1200</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction of bulbs that will last between "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">min_life</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">max_life</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">max_life</span><span class="special">)</span> <span class="comment">// P(X &lt;= 1200)</span>
- <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bulbs</span><span class="special">,</span> <span class="identifier">min_life</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &lt;= 900)</span>
-</pre>
-<p>
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Real-life failures are often very ab-normal, with a significant number
- that 'dead-on-arrival' or suffer failure very early in their life:
- the lifetime of the survivors of 'early mortality' may be well described
- by the normal distribution.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.h4"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.how_many_onions_"></a></span><a class="link" href="normal_misc.html#math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.how_many_onions_">How
- many onions?</a>
- </h5>
-<p>
- Weekly demand for 5 lb sacks of onions at a store is normally distributed
- with mean 140 sacks and standard deviation 10.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">140.</span><span class="special">;</span> <span class="comment">// sacks per week.</span>
-<span class="keyword">double</span> <span class="identifier">standard_deviation</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
-<span class="identifier">normal</span> <span class="identifier">sacks</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">stock</span> <span class="special">=</span> <span class="number">160.</span><span class="special">;</span> <span class="comment">// per week.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Percentage of weeks overstocked "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">sacks</span><span class="special">,</span> <span class="identifier">stock</span><span class="special">)</span> <span class="special">*</span> <span class="number">100.</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &lt;=160)</span>
-<span class="comment">// Percentage of weeks overstocked 97.7</span>
-</pre>
-<p>
- </p>
-<p>
- So there will be lots of mouldy onions! So we should be able to say
- what stock level will meet demand 95% of the weeks.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">stock_95</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">sacks</span><span class="special">,</span> <span class="number">0.95</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Store should stock "</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">stock_95</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" sacks to meet 95% of demands."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- And it is easy to estimate how to meet 80% of demand, and waste even
- less.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">stock_80</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">sacks</span><span class="special">,</span> <span class="number">0.80</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Store should stock "</span> <span class="special">&lt;&lt;</span> <span class="keyword">int</span><span class="special">(</span><span class="identifier">stock_80</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" sacks to meet 8 out of 10 demands."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.h5"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.packing_beef"></a></span><a class="link" href="normal_misc.html#math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.packing_beef">Packing
- beef</a>
- </h5>
-<p>
- A machine is set to pack 3 kg of ground beef per pack. Over a long
- period of time it is found that the average packed was 3 kg with a
- standard deviation of 0.1 kg. Assuming the packing is normally distributed,
- we can find the fraction (or %) of packages that weigh more than 3.1
- kg.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">mean</span> <span class="special">=</span> <span class="number">3.</span><span class="special">;</span> <span class="comment">// kg</span>
-<span class="keyword">double</span> <span class="identifier">standard_deviation</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span> <span class="comment">// kg</span>
-<span class="identifier">normal</span> <span class="identifier">packs</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">max_weight</span> <span class="special">=</span> <span class="number">3.1</span><span class="special">;</span> <span class="comment">// kg</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Percentage of packs &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">max_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span>
-<span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">max_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// P(X &gt; 3.1)</span>
-
-<span class="keyword">double</span> <span class="identifier">under_weight</span> <span class="special">=</span> <span class="number">2.9</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"fraction of packs &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// fraction of packs &lt;= 2.9 with a mean of 3 is 0.841345</span>
-<span class="comment">// This is 0.84 - more than the target 0.95</span>
-<span class="comment">// Want 95% to be over this weight, so what should we set the mean weight to be?</span>
-<span class="comment">// KK StatCalc says:</span>
-<span class="keyword">double</span> <span class="identifier">over_mean</span> <span class="special">=</span> <span class="number">3.0664</span><span class="special">;</span>
-<span class="identifier">normal</span> <span class="identifier">xpacks</span><span class="special">(</span><span class="identifier">over_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span>
-<span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">xpacks</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">xpacks</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// fraction of packs &gt;= 2.9 with a mean of 3.06449 is 0.950005</span>
-<span class="keyword">double</span> <span class="identifier">under_fraction</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// so 95% are above the minimum weight mean - sd = 2.9</span>
-<span class="keyword">double</span> <span class="identifier">low_limit</span> <span class="special">=</span> <span class="identifier">standard_deviation</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">offset</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">-</span> <span class="identifier">low_limit</span> <span class="special">-</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">under_fraction</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">nominal_mean</span> <span class="special">=</span> <span class="identifier">mean</span> <span class="special">+</span> <span class="identifier">offset</span><span class="special">;</span>
-
-<span class="identifier">normal</span> <span class="identifier">nominal_packs</span><span class="special">(</span><span class="identifier">nominal_mean</span><span class="special">,</span> <span class="identifier">standard_deviation</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Setting the packer to "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nominal_mean</span> <span class="special">&lt;&lt;</span> <span class="string">" will mean that "</span>
- <span class="special">&lt;&lt;</span> <span class="string">"fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">nominal_packs</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Setting the packer to 3.06449 will mean that fraction of packs &gt;=
- 2.9 is 0.95.
- </p>
-<p>
- Setting the packer to 3.13263 will mean that fraction of packs &gt;=
- 2.9 is 0.99, but will more than double the mean loss from 0.0644 to
- 0.133.
- </p>
-<p>
- Alternatively, we could invest in a better (more precise) packer with
- a lower standard deviation.
- </p>
-<p>
- To estimate how much better (how much smaller standard deviation) it
- would have to be, we need to get the 5% quantile to be located at the
- under_weight limit, 2.9
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="number">0.05</span><span class="special">;</span> <span class="comment">// wanted p th quantile.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">packs</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">packs</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">//</span>
-</pre>
-<p>
- </p>
-<p>
- Quantile of 0.05 = 2.83551, mean = 3, sd = 0.1
- </p>
-<p>
- With the current packer (mean = 3, sd = 0.1), the 5% quantile is at
- 2.8551 kg, a little below our target of 2.9 kg. So we know that the
- standard deviation is going to have to be smaller.
- </p>
-<p>
- Let's start by guessing that it (now 0.1) needs to be halved, to a
- standard deviation of 0.05
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack05</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.05</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack05</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack05</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">//</span>
-</pre>
-<p>
- </p>
-<p>
- Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation
- of 0.05 is 0.9772
- </p>
-<p>
- So 0.05 was quite a good guess, but we are a little over the 2.9 target,
- so the standard deviation could be a tiny bit more. So we could do
- some more guessing to get closer, say by increasing to 0.06
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">pack06</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="number">0.06</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Quantile of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">p</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="string">", mean = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">", sd = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack06</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack06</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation
- of 0.06 is 0.9522
- </p>
-<p>
- Now we are getting really close, but to do the job properly, we could
- use root finding method, for example the tools provided, and used elsewhere,
- in the Math Toolkit, see <a class="link" href="../../../../toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">Root
- Finding Without Derivatives</a>.
- </p>
-<p>
- But in this normal distribution case, we could be even smarter and
- make a direct calculation.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">normal</span> <span class="identifier">s</span><span class="special">;</span> <span class="comment">// For standard normal distribution, </span>
-<span class="keyword">double</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">0.1</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">2.9</span><span class="special">;</span> <span class="comment">// Our required limit.</span>
-<span class="comment">// then probability p = N((x - mean) / sd)</span>
-<span class="comment">// So if we want to find the standard deviation that would be required to meet this limit,</span>
-<span class="comment">// so that the p th quantile is located at x,</span>
-<span class="comment">// in this case the 0.95 (95%) quantile at 2.9 kg pack weight, when the mean is 3 kg.</span>
-
-<span class="keyword">double</span> <span class="identifier">prob</span> <span class="special">=</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">sd</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">qp</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="number">0.95</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"prob = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">prob</span> <span class="special">&lt;&lt;</span> <span class="string">", quantile(p) "</span> <span class="special">&lt;&lt;</span> <span class="identifier">qp</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// p = 0.241971, quantile(p) 1.64485</span>
-<span class="comment">// Rearranging, we can directly calculate the required standard deviation:</span>
-<span class="keyword">double</span> <span class="identifier">sd95</span> <span class="special">=</span> <span class="identifier">abs</span><span class="special">((</span><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">mean</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">qp</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"If we want the "</span><span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="string">" th quantile to be located at "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">x</span> <span class="special">&lt;&lt;</span> <span class="string">", would need a standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd95</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">normal</span> <span class="identifier">pack95</span><span class="special">(</span><span class="identifier">mean</span><span class="special">,</span> <span class="identifier">sd95</span><span class="special">);</span> <span class="comment">// Distribution of the 'ideal better' packer.</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span><span class="string">"Fraction of packs &gt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">under_weight</span> <span class="special">&lt;&lt;</span> <span class="string">" with a mean of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span>
- <span class="special">&lt;&lt;</span> <span class="string">" and standard deviation of "</span> <span class="special">&lt;&lt;</span> <span class="identifier">pack95</span><span class="special">.</span><span class="identifier">standard_deviation</span><span class="special">()</span>
- <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">pack95</span><span class="special">,</span> <span class="identifier">under_weight</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="comment">// Fraction of packs &gt;= 2.9 with a mean of 3 and standard deviation of 0.0608 is 0.95</span>
-</pre>
-<p>
- </p>
-<p>
- Notice that these two deceptively simple questions (do we over-fill
- or measure better) are actually very common. The weight of beef might
- be replaced by a measurement of more or less anything. But the calculations
- rely on the accuracy of the standard deviation - something that is
- almost always less good than we might wish, especially if based on
- a few measurements.
- </p>
-<h5>
-<a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.h6"></a>
- <span><a name="math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.length_of_bolts"></a></span><a class="link" href="normal_misc.html#math_toolkit.dist.stat_tut.weg.normal_example.normal_misc.length_of_bolts">Length
- of bolts</a>
- </h5>
-<p>
- A bolt is usable if between 3.9 and 4.1 long. From a large batch of
- bolts, a sample of 50 show a mean length of 3.95 with standard deviation
- 0.1. Assuming a normal distribution, what proportion is usable? The
- true sample mean is unknown, but we can use the sample mean and standard
- deviation to find approximate solutions.
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="identifier">normal</span> <span class="identifier">bolts</span><span class="special">(</span><span class="number">3.95</span><span class="special">,</span> <span class="number">0.1</span><span class="special">);</span>
- <span class="keyword">double</span> <span class="identifier">top</span> <span class="special">=</span> <span class="number">4.1</span><span class="special">;</span>
- <span class="keyword">double</span> <span class="identifier">bottom</span> <span class="special">=</span> <span class="number">3.9</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction long enough [ P(X &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span> <span class="special">&lt;&lt;</span> <span class="string">") ] is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">top</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction too short [ P(X &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bottom</span> <span class="special">&lt;&lt;</span> <span class="string">") ] is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">bottom</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction OK -between "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bottom</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span>
- <span class="special">&lt;&lt;</span> <span class="string">"[ P(X &lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span> <span class="special">&lt;&lt;</span> <span class="string">") - P(X&lt;= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bottom</span> <span class="special">&lt;&lt;</span> <span class="string">" ) ] is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">top</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">bottom</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Fraction too long [ P(X &gt; "</span> <span class="special">&lt;&lt;</span> <span class="identifier">top</span> <span class="special">&lt;&lt;</span> <span class="string">") ] is "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="identifier">top</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"95% of bolts are shorter than "</span> <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">bolts</span><span class="special">,</span> <span class="number">0.95</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../normal_example.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../normal_example.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inverse_chi_squared_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg.html
deleted file mode 100644
index c888c5f487..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Student's t Distribution Examples</title>
-<link rel="stylesheet" href="../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../weg.html" title="Worked Examples">
-<link rel="prev" href="dist_construct_eg.html" title="Distribution Construction Example">
-<link rel="next" href="st_eg/tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist_construct_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg/tut_mean_intervals.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_st_eg">
-<div class="titlepage"><div><div><h5 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.st_eg"></a><a class="link" href="st_eg.html" title="Student's t Distribution Examples">Student's t
- Distribution Examples</a>
-</h5></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="st_eg/tut_mean_intervals.html">Calculating
- confidence intervals on the mean with the Students-t distribution</a></span></dt>
-<dt><span class="section"><a href="st_eg/tut_mean_test.html">Testing
- a sample mean for difference from a "true" mean</a></span></dt>
-<dt><span class="section"><a href="st_eg/tut_mean_size.html">Estimating
- how large a sample size would have to become in order to give a significant
- Students-t test result with a single sample test</a></span></dt>
-<dt><span class="section"><a href="st_eg/two_sample_students_t.html">Comparing
- the means of two samples with the Students-t test</a></span></dt>
-<dt><span class="section"><a href="st_eg/paired_st.html">Comparing
- two paired samples with the Student's t distribution</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist_construct_eg.html"><img src="../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="st_eg/tut_mean_intervals.html"><img src="../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/paired_st.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/paired_st.html
deleted file mode 100644
index 9e0bf08faa..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/paired_st.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Comparing two paired samples with the Student's t distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
-<link rel="prev" href="two_sample_students_t.html" title="Comparing the means of two samples with the Students-t test">
-<link rel="next" href="../cs_eg.html" title="Chi Squared Distribution Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="two_sample_students_t.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_st_eg_paired_st">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.st_eg.paired_st"></a><a class="link" href="paired_st.html" title="Comparing two paired samples with the Student's t distribution">Comparing
- two paired samples with the Student's t distribution</a>
-</h6></div></div></div>
-<p>
- Imagine that we have a before and after reading for each item in the
- sample: for example we might have measured blood pressure before and
- after administration of a new drug. We can't pool the results and compare
- the means before and after the change, because each patient will have
- a different baseline reading. Instead we calculate the difference between
- before and after measurements in each patient, and calculate the mean
- and standard deviation of the differences. To test whether a significant
- change has taken place, we can then test the null-hypothesis that the
- true mean is zero using the same procedure we used in the single sample
- cases previously discussed.
- </p>
-<p>
- That means we can:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a class="link" href="tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">Calculate
- confidence intervals of the mean</a>. If the endpoints of the
- interval differ in sign then we are unable to reject the null-hypothesis
- that there is no change.
- </li>
-<li class="listitem">
- <a class="link" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>Test
- whether the true mean is zero</a>. If the result is consistent
- with a true mean of zero, then we are unable to reject the null-hypothesis
- that there is no change.
- </li>
-<li class="listitem">
- <a class="link" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">Calculate
- how many pairs of readings we would need in order to obtain a significant
- result</a>.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="two_sample_students_t.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../cs_eg.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html
deleted file mode 100644
index 30c04a1ba8..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_intervals.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Calculating confidence intervals on the mean with the Students-t distribution</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
-<link rel="prev" href="../st_eg.html" title="Student's t Distribution Examples">
-<link rel="next" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_test.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_st_eg_tut_mean_intervals">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.st_eg.tut_mean_intervals"></a><a class="link" href="tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">Calculating
- confidence intervals on the mean with the Students-t distribution</a>
-</h6></div></div></div>
-<p>
- Let's say you have a sample mean, you may wish to know what confidence
- intervals you can place on that mean. Colloquially: "I want an
- interval that I can be P% sure contains the true mean". (On a
- technical point, note that the interval either contains the true mean
- or it does not: the meaning of the confidence level is subtly different
- from this colloquialism. More background information can be found on
- the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">NIST
- site</a>).
- </p>
-<p>
- The formula for the interval can be expressed as:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../../equations/dist_tutorial4.png"></span>
- </p>
-<p>
- Where, <span class="emphasis"><em>Y<sub>s</sub></em></span> is the sample mean, <span class="emphasis"><em>s</em></span>
- is the sample standard deviation, <span class="emphasis"><em>N</em></span> is the sample
- size, /&#945;/ is the desired significance level and <span class="emphasis"><em>t<sub>(&#945;/2,N-1)</sub></em></span>
- is the upper critical value of the Students-t distribution with <span class="emphasis"><em>N-1</em></span>
- degrees of freedom.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The quantity &#945; &#160; is the maximum acceptable risk of falsely rejecting
- the null-hypothesis. The smaller the value of &#945; the greater the strength
- of the test.
- </p>
-<p>
- The confidence level of the test is defined as 1 - &#945;, and often expressed
- as a percentage. So for example a significance level of 0.05, is
- equivalent to a 95% confidence level. Refer to <a href="http://www.itl.nist.gov/div898/handbook/prc/section1/prc14.htm" target="_top">"What
- are confidence intervals?"</a> in <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a> for more information.
- </p>
-</td></tr>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The usual assumptions of <a href="http://en.wikipedia.org/wiki/Independent_and_identically-distributed_random_variables" target="_top">independent
- and identically distributed (i.i.d.)</a> variables and <a href="http://en.wikipedia.org/wiki/Normal_distribution" target="_top">normal distribution</a>
- of course apply here, as they do in other examples.
- </p></td></tr>
-</table></div>
-<p>
- From the formula, it should be clear that:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- The width of the confidence interval decreases as the sample size
- increases.
- </li>
-<li class="listitem">
- The width increases as the standard deviation increases.
- </li>
-<li class="listitem">
- The width increases as the <span class="emphasis"><em>confidence level increases</em></span>
- (0.5 towards 0.99999 - stronger).
- </li>
-<li class="listitem">
- The width increases as the <span class="emphasis"><em>significance level decreases</em></span>
- (0.5 towards 0.00000...01 - stronger).
- </li>
-</ul></div>
-<p>
- The following example code is taken from the example program <a href="../../../../../../../../example/students_t_single_sample.cpp" target="_top">students_t_single_sample.cpp</a>.
- </p>
-<p>
- We'll begin by defining a procedure to calculate intervals for various
- confidence levels; the procedure will print these out as a table:
- </p>
-<pre class="programlisting"><span class="comment">// Needed includes:</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
-<span class="comment">// Bring everything into global namespace for ease of use:</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
-
-<span class="keyword">void</span> <span class="identifier">confidence_limits_on_mean</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">Sm</span><span class="special">,</span> <span class="comment">// Sm = Sample Mean.</span>
- <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="comment">// Sd = Sample Standard Deviation.</span>
- <span class="keyword">unsigned</span> <span class="identifier">Sn</span><span class="special">)</span> <span class="comment">// Sn = Sample Size.</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-
- <span class="comment">// Print out general info:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"__________________________________\n"</span>
- <span class="string">"2-Sided Confidence Limits For Mean\n"</span>
- <span class="string">"__________________________________\n\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">7</span><span class="special">);</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Number of Observations"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sn</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Mean"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sm</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">40</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">Sd</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-</pre>
-<p>
- We'll define a table of significance/risk levels for which we'll compute
- intervals:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- Note that these are the complements of the confidence/probability levels:
- 0.5, 0.75, 0.9 .. 0.99999).
- </p>
-<p>
- Next we'll declare the distribution object we'll need, note that the
- <span class="emphasis"><em>degrees of freedom</em></span> parameter is the sample size
- less one:
- </p>
-<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">Sn</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
-</pre>
-<p>
- Most of what follows in the program is pretty printing, so let's focus
- on the calculation of the interval. First we need the t-statistic,
- computed using the <span class="emphasis"><em>quantile</em></span> function and our significance
- level. Note that since the significance levels are the complement of
- the probability, we have to wrap the arguments in a call to <span class="emphasis"><em>complement(...)</em></span>:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]</span> <span class="special">/</span> <span class="number">2</span><span class="special">));</span>
-</pre>
-<p>
- Note that alpha was divided by two, since we'll be calculating both
- the upper and lower bounds: had we been interested in a single sided
- interval then we would have omitted this step.
- </p>
-<p>
- Now to complete the picture, we'll get the (one-sided) width of the
- interval from the t-statistic by multiplying by the standard deviation,
- and dividing by the square root of the sample size:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">w</span> <span class="special">=</span> <span class="identifier">T</span> <span class="special">*</span> <span class="identifier">Sd</span> <span class="special">/</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="keyword">double</span><span class="special">(</span><span class="identifier">Sn</span><span class="special">));</span>
-</pre>
-<p>
- The two-sided interval is then the sample mean plus and minus this
- width.
- </p>
-<p>
- And apart from some more pretty-printing that completes the procedure.
- </p>
-<p>
- Let's take a look at some sample output, first using the <a href="http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm" target="_top">Heat
- flow data</a> from the NIST site. The data set was collected by
- Bob Zarr of NIST in January, 1990 from a heat flow meter calibration
- and stability analysis. The corresponding dataplot output for this
- test can be found in <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">section
- 3.5.2</a> of the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a>.
- </p>
-<pre class="programlisting"> __________________________________
- 2-Sided Confidence Limits For Mean
- __________________________________
-
- Number of Observations = 195
- Mean = 9.26146
- Standard Deviation = 0.02278881
-
-
- ___________________________________________________________________
- Confidence T Interval Lower Upper
- Value (%) Value Width Limit Limit
- ___________________________________________________________________
- 50.000 0.676 1.103e-003 9.26036 9.26256
- 75.000 1.154 1.883e-003 9.25958 9.26334
- 90.000 1.653 2.697e-003 9.25876 9.26416
- 95.000 1.972 3.219e-003 9.25824 9.26468
- 99.000 2.601 4.245e-003 9.25721 9.26571
- 99.900 3.341 5.453e-003 9.25601 9.26691
- 99.990 3.973 6.484e-003 9.25498 9.26794
- 99.999 4.537 7.404e-003 9.25406 9.26886
-</pre>
-<p>
- As you can see the large sample size (195) and small standard deviation
- (0.023) have combined to give very small intervals, indeed we can be
- very confident that the true mean is 9.2.
- </p>
-<p>
- For comparison the next example data output is taken from <span class="emphasis"><em>P.K.Hou,
- O. W. Lau &amp; M.C. Wong, Analyst (1983) vol. 108, p 64. and from
- Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55 J. C.
- Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.</em></span>
- The values result from the determination of mercury by cold-vapour
- atomic absorption.
- </p>
-<pre class="programlisting"> __________________________________
- 2-Sided Confidence Limits For Mean
- __________________________________
-
- Number of Observations = 3
- Mean = 37.8000000
- Standard Deviation = 0.9643650
-
-
- ___________________________________________________________________
- Confidence T Interval Lower Upper
- Value (%) Value Width Limit Limit
- ___________________________________________________________________
- 50.000 0.816 0.455 37.34539 38.25461
- 75.000 1.604 0.893 36.90717 38.69283
- 90.000 2.920 1.626 36.17422 39.42578
- 95.000 4.303 2.396 35.40438 40.19562
- 99.000 9.925 5.526 32.27408 43.32592
- 99.900 31.599 17.594 20.20639 55.39361
- 99.990 99.992 55.673 -17.87346 93.47346
- 99.999 316.225 176.067 -138.26683 213.86683
-</pre>
-<p>
- This time the fact that there are only three measurements leads to
- much wider intervals, indeed such large intervals that it's hard to
- be very confident in the location of the mean.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_test.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_size.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_size.html
deleted file mode 100644
index a05fa0da16..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_size.html
+++ /dev/null
@@ -1,179 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
-<link rel="prev" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>
-<link rel="next" href="two_sample_students_t.html" title="Comparing the means of two samples with the Students-t test">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tut_mean_test.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="two_sample_students_t.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_st_eg_tut_mean_size">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.st_eg.tut_mean_size"></a><a class="link" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">Estimating
- how large a sample size would have to become in order to give a significant
- Students-t test result with a single sample test</a>
-</h6></div></div></div>
-<p>
- Imagine you have conducted a Students-t test on a single sample in
- order to check for systematic errors in your measurements. Imagine
- that the result is borderline. At this point one might go off and collect
- more data, but it might be prudent to first ask the question "How
- much more?". The parameter estimators of the students_t_distribution
- class can provide this information.
- </p>
-<p>
- This section is based on the example code in <a href="../../../../../../../../example/students_t_single_sample.cpp" target="_top">students_t_single_sample.cpp</a>
- and we begin by defining a procedure that will print out a table of
- estimated sample sizes for various confidence levels:
- </p>
-<pre class="programlisting"><span class="comment">// Needed includes:</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
-<span class="comment">// Bring everything into global namespace for ease of use:</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
-
-<span class="keyword">void</span> <span class="identifier">single_sample_find_df</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">M</span><span class="special">,</span> <span class="comment">// M = true mean.</span>
- <span class="keyword">double</span> <span class="identifier">Sm</span><span class="special">,</span> <span class="comment">// Sm = Sample Mean.</span>
- <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">)</span> <span class="comment">// Sd = Sample Standard Deviation.</span>
-<span class="special">{</span>
-</pre>
-<p>
- Next we define a table of significance levels:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0.5</span><span class="special">,</span> <span class="number">0.25</span><span class="special">,</span> <span class="number">0.1</span><span class="special">,</span> <span class="number">0.05</span><span class="special">,</span> <span class="number">0.01</span><span class="special">,</span> <span class="number">0.001</span><span class="special">,</span> <span class="number">0.0001</span><span class="special">,</span> <span class="number">0.00001</span> <span class="special">};</span>
-</pre>
-<p>
- Printing out the table of sample sizes required for various confidence
- levels begins with the table header:
- </p>
-<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span>
- <span class="string">"_______________________________________________________________\n"</span>
- <span class="string">"Confidence Estimated Estimated\n"</span>
- <span class="string">" Value (%) Sample Size Sample Size\n"</span>
- <span class="string">" (one sided test) (two sided test)\n"</span>
- <span class="string">"_______________________________________________________________\n"</span><span class="special">;</span>
-</pre>
-<p>
- And now the important part: the sample sizes required. Class <code class="computeroutput"><span class="identifier">students_t_distribution</span></code> has a static
- member function <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>
- that will calculate how large a sample size needs to be in order to
- give a definitive result.
- </p>
-<p>
- The first argument is the difference between the means that you wish
- to be able to detect, here it's the absolute value of the difference
- between the sample mean, and the true mean.
- </p>
-<p>
- Then come two probability values: alpha and beta. Alpha is the maximum
- acceptable risk of rejecting the null-hypothesis when it is in fact
- true. Beta is the maximum acceptable risk of failing to reject the
- null-hypothesis when in fact it is false. Also note that for a two-sided
- test, alpha must be divided by 2.
- </p>
-<p>
- The final parameter of the function is the standard deviation of the
- sample.
- </p>
-<p>
- In this example, we assume that alpha and beta are the same, and call
- <code class="computeroutput"><span class="identifier">find_degrees_of_freedom</span></code>
- twice: once with alpha for a one-sided test, and once with alpha/2
- for a two-sided test.
- </p>
-<pre class="programlisting"> <span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">)/</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">alpha</span><span class="special">[</span><span class="number">0</span><span class="special">]);</span> <span class="special">++</span><span class="identifier">i</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">// Confidence value:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="number">100</span> <span class="special">*</span> <span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]);</span>
- <span class="comment">// calculate df for single sided test:</span>
- <span class="keyword">double</span> <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">students_t</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">M</span> <span class="special">-</span> <span class="identifier">Sm</span><span class="special">),</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">Sd</span><span class="special">);</span>
- <span class="comment">// convert to sample size:</span>
- <span class="keyword">double</span> <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
- <span class="comment">// Print size:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span><span class="special">;</span>
- <span class="comment">// calculate df for two sided test:</span>
- <span class="identifier">df</span> <span class="special">=</span> <span class="identifier">students_t</span><span class="special">::</span><span class="identifier">find_degrees_of_freedom</span><span class="special">(</span>
- <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">M</span> <span class="special">-</span> <span class="identifier">Sm</span><span class="special">),</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">]/</span><span class="number">2</span><span class="special">,</span> <span class="identifier">alpha</span><span class="special">[</span><span class="identifier">i</span><span class="special">],</span> <span class="identifier">Sd</span><span class="special">);</span>
- <span class="comment">// convert to sample size:</span>
- <span class="identifier">size</span> <span class="special">=</span> <span class="identifier">ceil</span><span class="special">(</span><span class="identifier">df</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">;</span>
- <span class="comment">// Print size:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">fixed</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">16</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span> <span class="special">&lt;&lt;</span> <span class="identifier">size</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Let's now look at some sample output using data taken from <span class="emphasis"><em>P.K.Hou,
- O. W. Lau &amp; M.C. Wong, Analyst (1983) vol. 108, p 64. and from
- Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55 J. C.
- Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.</em></span>
- The values result from the determination of mercury by cold-vapour
- atomic absorption.
- </p>
-<p>
- Only three measurements were made, and the Students-t test above gave
- a borderline result, so this example will show us how many samples
- would need to be collected:
- </p>
-<pre class="programlisting">_____________________________________________________________
-Estimated sample sizes required for various confidence levels
-_____________________________________________________________
-
-True Mean = 38.90000
-Sample Mean = 37.80000
-Sample Standard Deviation = 0.96437
-
-
-_______________________________________________________________
-Confidence Estimated Estimated
- Value (%) Sample Size Sample Size
- (one sided test) (two sided test)
-_______________________________________________________________
- 75.000 3 4
- 90.000 7 9
- 95.000 11 13
- 99.000 20 22
- 99.900 35 37
- 99.990 50 53
- 99.999 66 68
-</pre>
-<p>
- So in this case, many more measurements would have had to be made,
- for example at the 95% level, 14 measurements in total for a two-sided
- test.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tut_mean_test.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="two_sample_students_t.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_test.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_test.html
deleted file mode 100644
index 51bad107cd..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/tut_mean_test.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Testing a sample mean for difference from a "true" mean</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
-<link rel="prev" href="tut_mean_intervals.html" title="Calculating confidence intervals on the mean with the Students-t distribution">
-<link rel="next" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tut_mean_intervals.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_size.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_st_eg_tut_mean_test">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.st_eg.tut_mean_test"></a><a class="link" href="tut_mean_test.html" title='Testing a sample mean for difference from a "true" mean'>Testing
- a sample mean for difference from a "true" mean</a>
-</h6></div></div></div>
-<p>
- When calibrating or comparing a scientific instrument or measurement
- method of some kind, we want to be answer the question "Does an
- observed sample mean differ from the "true" mean in any significant
- way?". If it does, then we have evidence of a systematic difference.
- This question can be answered with a Students-t test: more information
- can be found <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">on
- the NIST site</a>.
- </p>
-<p>
- Of course, the assignment of "true" to one mean may be quite
- arbitrary, often this is simply a "traditional" method of
- measurement.
- </p>
-<p>
- The following example code is taken from the example program <a href="../../../../../../../../example/students_t_single_sample.cpp" target="_top">students_t_single_sample.cpp</a>.
- </p>
-<p>
- We'll begin by defining a procedure to determine which of the possible
- hypothesis are rejected or not-rejected at a given significance level:
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Non-statisticians might say 'not-rejected' means 'accepted', (often
- of the null-hypothesis) implying, wrongly, that there really <span class="bold"><strong>IS</strong></span> no difference, but statisticans eschew
- this to avoid implying that there is positive evidence of 'no difference'.
- 'Not-rejected' here means there is <span class="bold"><strong>no evidence</strong></span>
- of difference, but there still might well be a difference. For example,
- see <a href="http://en.wikipedia.org/wiki/Argument_from_ignorance" target="_top">argument
- from ignorance</a> and <a href="http://www.bmj.com/cgi/content/full/311/7003/485" target="_top">Absence
- of evidence does not constitute evidence of absence.</a>
- </p></td></tr>
-</table></div>
-<pre class="programlisting"><span class="comment">// Needed includes:</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
-<span class="comment">// Bring everything into global namespace for ease of use:</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
-
-<span class="keyword">void</span> <span class="identifier">single_sample_t_test</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">M</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">Sm</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">Sd</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">Sn</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">//</span>
- <span class="comment">// M = true mean.</span>
- <span class="comment">// Sm = Sample Mean.</span>
- <span class="comment">// Sd = Sample Standard Deviation.</span>
- <span class="comment">// Sn = Sample Size.</span>
- <span class="comment">// alpha = Significance Level.</span>
-</pre>
-<p>
- Most of the procedure is pretty-printing, so let's just focus on the
- calculation, we begin by calculating the t-statistic:
- </p>
-<pre class="programlisting"><span class="comment">// Difference in means:</span>
-<span class="keyword">double</span> <span class="identifier">diff</span> <span class="special">=</span> <span class="identifier">Sm</span> <span class="special">-</span> <span class="identifier">M</span><span class="special">;</span>
-<span class="comment">// Degrees of freedom:</span>
-<span class="keyword">unsigned</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sn</span> <span class="special">-</span> <span class="number">1</span><span class="special">;</span>
-<span class="comment">// t-statistic:</span>
-<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="identifier">diff</span> <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="keyword">double</span><span class="special">(</span><span class="identifier">Sn</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">Sd</span><span class="special">;</span>
-</pre>
-<p>
- Finally calculate the probability from the t-statistic. If we're interested
- in simply whether there is a difference (either less or greater) or
- not, we don't care about the sign of the t-statistic, and we take the
- complement of the probability for comparison to the significance level:
- </p>
-<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t_stat</span><span class="special">)));</span>
-</pre>
-<p>
- The procedure then prints out the results of the various tests that
- can be done, these can be summarised in the following table:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Hypothesis
- </p>
- </th>
-<th>
- <p>
- Test
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- The Null-hypothesis: there is <span class="bold"><strong>no difference</strong></span>
- in means
- </p>
- </td>
-<td>
- <p>
- Reject if complement of CDF for |t| &lt; significance level
- / 2:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
- <span class="special">&lt;</span> <span class="identifier">alpha</span>
- <span class="special">/</span> <span class="number">2</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The Alternative-hypothesis: there <span class="bold"><strong>is
- difference</strong></span> in means
- </p>
- </td>
-<td>
- <p>
- Reject if complement of CDF for |t| &gt; significance level
- / 2:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
- <span class="special">&gt;</span> <span class="identifier">alpha</span>
- <span class="special">/</span> <span class="number">2</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The Alternative-hypothesis: the sample mean <span class="bold"><strong>is
- less</strong></span> than the true mean.
- </p>
- </td>
-<td>
- <p>
- Reject if CDF of t &gt; significance level:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">t</span><span class="special">)</span>
- <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The Alternative-hypothesis: the sample mean <span class="bold"><strong>is
- greater</strong></span> than the true mean.
- </p>
- </td>
-<td>
- <p>
- Reject if complement of CDF of t &gt; significance level:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">t</span><span class="special">))</span>
- <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Notice that the comparisons are against <code class="computeroutput"><span class="identifier">alpha</span>
- <span class="special">/</span> <span class="number">2</span></code>
- for a two-sided test and against <code class="computeroutput"><span class="identifier">alpha</span></code>
- for a one-sided test
- </p></td></tr>
-</table></div>
-<p>
- Now that we have all the parts in place, let's take a look at some
- sample output, first using the <a href="http://www.itl.nist.gov/div898/handbook/eda/section4/eda428.htm" target="_top">Heat
- flow data</a> from the NIST site. The data set was collected by
- Bob Zarr of NIST in January, 1990 from a heat flow meter calibration
- and stability analysis. The corresponding dataplot output for this
- test can be found in <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm" target="_top">section
- 3.5.2</a> of the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a>.
- </p>
-<pre class="programlisting"> __________________________________
- Student t test for a single sample
- __________________________________
-
- Number of Observations = 195
- Sample Mean = 9.26146
- Sample Standard Deviation = 0.02279
- Expected True Mean = 5.00000
-
- Sample Mean - Expected Test Mean = 4.26146
- Degrees of Freedom = 194
- T Statistic = 2611.28380
- Probability that difference is due to chance = 0.000e+000
-
- Results for Alternative Hypothesis and alpha = 0.0500
-
- Alternative Hypothesis Conclusion
- Mean != 5.000 NOT REJECTED
- Mean &lt; 5.000 REJECTED
- Mean &gt; 5.000 NOT REJECTED
-</pre>
-<p>
- You will note the line that says the probability that the difference
- is due to chance is zero. From a philosophical point of view, of course,
- the probability can never reach zero. However, in this case the calculated
- probability is smaller than the smallest representable double precision
- number, hence the appearance of a zero here. Whatever its "true"
- value is, we know it must be extraordinarily small, so the alternative
- hypothesis - that there is a difference in means - is not rejected.
- </p>
-<p>
- For comparison the next example data output is taken from <span class="emphasis"><em>P.K.Hou,
- O. W. Lau &amp; M.C. Wong, Analyst (1983) vol. 108, p 64. and from
- Statistics for Analytical Chemistry, 3rd ed. (1994), pp 54-55 J. C.
- Miller and J. N. Miller, Ellis Horwood ISBN 0 13 0309907.</em></span>
- The values result from the determination of mercury by cold-vapour
- atomic absorption.
- </p>
-<pre class="programlisting"> __________________________________
- Student t test for a single sample
- __________________________________
-
- Number of Observations = 3
- Sample Mean = 37.80000
- Sample Standard Deviation = 0.96437
- Expected True Mean = 38.90000
-
- Sample Mean - Expected Test Mean = -1.10000
- Degrees of Freedom = 2
- T Statistic = -1.97566
- Probability that difference is due to chance = 1.869e-001
-
- Results for Alternative Hypothesis and alpha = 0.0500
-
- Alternative Hypothesis Conclusion
- Mean != 38.900 REJECTED
- Mean &lt; 38.900 REJECTED
- Mean &gt; 38.900 REJECTED
-</pre>
-<p>
- As you can see the small number of measurements (3) has led to a large
- uncertainty in the location of the true mean. So even though there
- appears to be a difference between the sample mean and the expected
- true mean, we conclude that there is no significant difference, and
- are unable to reject the null hypothesis. However, if we were to lower
- the bar for acceptance down to alpha = 0.1 (a 90% confidence level)
- we see a different output:
- </p>
-<pre class="programlisting">__________________________________
-Student t test for a single sample
-__________________________________
-
-Number of Observations = 3
-Sample Mean = 37.80000
-Sample Standard Deviation = 0.96437
-Expected True Mean = 38.90000
-
-Sample Mean - Expected Test Mean = -1.10000
-Degrees of Freedom = 2
-T Statistic = -1.97566
-Probability that difference is due to chance = 1.869e-001
-
-Results for Alternative Hypothesis and alpha = 0.1000
-
-Alternative Hypothesis Conclusion
-Mean != 38.900 REJECTED
-Mean &lt; 38.900 NOT REJECTED
-Mean &gt; 38.900 REJECTED
-</pre>
-<p>
- In this case, we really have a borderline result, and more data (and/or
- more accurate data), is needed for a more convincing conclusion.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tut_mean_intervals.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tut_mean_size.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/two_sample_students_t.html b/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/two_sample_students_t.html
deleted file mode 100644
index 2789de4bb9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/st_eg/two_sample_students_t.html
+++ /dev/null
@@ -1,358 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Comparing the means of two samples with the Students-t test</title>
-<link rel="stylesheet" href="../../../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../../../index.html" title="Math Toolkit">
-<link rel="up" href="../st_eg.html" title="Student's t Distribution Examples">
-<link rel="prev" href="tut_mean_size.html" title="Estimating how large a sample size would have to become in order to give a significant Students-t test result with a single sample test">
-<link rel="next" href="paired_st.html" title="Comparing two paired samples with the Student's t distribution">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tut_mean_size.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="paired_st.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_dist_stat_tut_weg_st_eg_two_sample_students_t">
-<div class="titlepage"><div><div><h6 class="title">
-<a name="math_toolkit.dist.stat_tut.weg.st_eg.two_sample_students_t"></a><a class="link" href="two_sample_students_t.html" title="Comparing the means of two samples with the Students-t test">Comparing
- the means of two samples with the Students-t test</a>
-</h6></div></div></div>
-<p>
- Imagine that we have two samples, and we wish to determine whether
- their means are different or not. This situation often arises when
- determining whether a new process or treatment is better than an old
- one.
- </p>
-<p>
- In this example, we'll be using the <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3531.htm" target="_top">Car
- Mileage sample data</a> from the <a href="http://www.itl.nist.gov" target="_top">NIST
- website</a>. The data compares miles per gallon of US cars with
- miles per gallon of Japanese cars.
- </p>
-<p>
- The sample code is in <a href="../../../../../../../../example/students_t_two_samples.cpp" target="_top">students_t_two_samples.cpp</a>.
- </p>
-<p>
- There are two ways in which this test can be conducted: we can assume
- that the true standard deviations of the two samples are equal or not.
- If the standard deviations are assumed to be equal, then the calculation
- of the t-statistic is greatly simplified, so we'll examine that case
- first. In real life we should verify whether this assumption is valid
- with a Chi-Squared test for equal variances.
- </p>
-<p>
- We begin by defining a procedure that will conduct our test assuming
- equal variances:
- </p>
-<pre class="programlisting"><span class="comment">// Needed headers:</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
-<span class="comment">// Simplify usage:</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
-
-<span class="keyword">void</span> <span class="identifier">two_samples_t_test_equal_sd</span><span class="special">(</span>
- <span class="keyword">double</span> <span class="identifier">Sm1</span><span class="special">,</span> <span class="comment">// Sm1 = Sample 1 Mean.</span>
- <span class="keyword">double</span> <span class="identifier">Sd1</span><span class="special">,</span> <span class="comment">// Sd1 = Sample 1 Standard Deviation.</span>
- <span class="keyword">unsigned</span> <span class="identifier">Sn1</span><span class="special">,</span> <span class="comment">// Sn1 = Sample 1 Size.</span>
- <span class="keyword">double</span> <span class="identifier">Sm2</span><span class="special">,</span> <span class="comment">// Sm2 = Sample 2 Mean.</span>
- <span class="keyword">double</span> <span class="identifier">Sd2</span><span class="special">,</span> <span class="comment">// Sd2 = Sample 2 Standard Deviation.</span>
- <span class="keyword">unsigned</span> <span class="identifier">Sn2</span><span class="special">,</span> <span class="comment">// Sn2 = Sample 2 Size.</span>
- <span class="keyword">double</span> <span class="identifier">alpha</span><span class="special">)</span> <span class="comment">// alpha = Significance Level.</span>
-<span class="special">{</span>
-</pre>
-<p>
- Our procedure will begin by calculating the t-statistic, assuming equal
- variances the needed formulae are:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../../equations/dist_tutorial1.png"></span>
- </p>
-<p>
- where Sp is the "pooled" standard deviation of the two samples,
- and <span class="emphasis"><em>v</em></span> is the number of degrees of freedom of the
- two combined samples. We can now write the code to calculate the t-statistic:
- </p>
-<pre class="programlisting"><span class="comment">// Degrees of freedom:</span>
-<span class="keyword">double</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sn2</span> <span class="special">-</span> <span class="number">2</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Degrees of Freedom"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="comment">// Pooled variance:</span>
-<span class="keyword">double</span> <span class="identifier">sp</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">(((</span><span class="identifier">Sn1</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">Sn2</span><span class="special">-</span><span class="number">1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">v</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Pooled Standard Deviation"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="comment">// t-statistic:</span>
-<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Sm1</span> <span class="special">-</span> <span class="identifier">Sm2</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">sp</span> <span class="special">*</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="number">1.0</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="number">1.0</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">));</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"T Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-</pre>
-<p>
- The next step is to define our distribution object, and calculate the
- complement of the probability:
- </p>
-<pre class="programlisting"><span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t_stat</span><span class="special">)));</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability that difference is due to chance"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="number">2</span> <span class="special">*</span> <span class="identifier">q</span> <span class="special">&lt;&lt;</span> <span class="string">"\n\n"</span><span class="special">;</span>
-</pre>
-<p>
- Here we've used the absolute value of the t-statistic, because we initially
- want to know simply whether there is a difference or not (a two-sided
- test). However, we can also test whether the mean of the second sample
- is greater or is less (one-sided test) than that of the first: all
- the possible tests are summed up in the following table:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Hypothesis
- </p>
- </th>
-<th>
- <p>
- Test
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- The Null-hypothesis: there is <span class="bold"><strong>no difference</strong></span>
- in means
- </p>
- </td>
-<td>
- <p>
- Reject if complement of CDF for |t| &lt; significance level
- / 2:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
- <span class="special">&lt;</span> <span class="identifier">alpha</span>
- <span class="special">/</span> <span class="number">2</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The Alternative-hypothesis: there is a <span class="bold"><strong>difference</strong></span>
- in means
- </p>
- </td>
-<td>
- <p>
- Reject if complement of CDF for |t| &gt; significance level
- / 2:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">t</span><span class="special">)))</span>
- <span class="special">&lt;</span> <span class="identifier">alpha</span>
- <span class="special">/</span> <span class="number">2</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The Alternative-hypothesis: Sample 1 Mean is <span class="bold"><strong>less</strong></span>
- than Sample 2 Mean.
- </p>
- </td>
-<td>
- <p>
- Reject if CDF of t &gt; significance level:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">t</span><span class="special">)</span>
- <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- The Alternative-hypothesis: Sample 1 Mean is <span class="bold"><strong>greater</strong></span>
- than Sample 2 Mean.
- </p>
- </td>
-<td>
- <p>
- Reject if complement of CDF of t &gt; significance level:
- </p>
- <p>
- <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span>
- <span class="identifier">t</span><span class="special">))</span>
- <span class="special">&gt;</span> <span class="identifier">alpha</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- For a two-sided test we must compare against alpha / 2 and not alpha.
- </p></td></tr>
-</table></div>
-<p>
- Most of the rest of the sample program is pretty-printing, so we'll
- skip over that, and take a look at the sample output for alpha=0.05
- (a 95% probability level). For comparison the dataplot output for the
- same data is in <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda353.htm" target="_top">section
- 1.3.5.3</a> of the <a href="http://www.itl.nist.gov/div898/handbook/" target="_top">NIST/SEMATECH
- e-Handbook of Statistical Methods.</a>.
- </p>
-<pre class="programlisting"> ________________________________________________
- Student t test for two samples (equal variances)
- ________________________________________________
-
- Number of Observations (Sample 1) = 249
- Sample 1 Mean = 20.14458
- Sample 1 Standard Deviation = 6.41470
- Number of Observations (Sample 2) = 79
- Sample 2 Mean = 30.48101
- Sample 2 Standard Deviation = 6.10771
- Degrees of Freedom = 326.00000
- Pooled Standard Deviation = 326.00000
- T Statistic = -12.62059
- Probability that difference is due to chance = 5.273e-030
-
- Results for Alternative Hypothesis and alpha = 0.0500
-
- Alternative Hypothesis Conclusion
- Sample 1 Mean != Sample 2 Mean NOT REJECTED
- Sample 1 Mean &lt; Sample 2 Mean NOT REJECTED
- Sample 1 Mean &gt; Sample 2 Mean REJECTED
-</pre>
-<p>
- So with a probability that the difference is due to chance of just
- 5.273e-030, we can safely conclude that there is indeed a difference.
- </p>
-<p>
- The tests on the alternative hypothesis show that we must also reject
- the hypothesis that Sample 1 Mean is greater than that for Sample 2:
- in this case Sample 1 represents the miles per gallon for Japanese
- cars, and Sample 2 the miles per gallon for US cars, so we conclude
- that Japanese cars are on average more fuel efficient.
- </p>
-<p>
- Now that we have the simple case out of the way, let's look for a moment
- 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:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../../equations/dist_tutorial2.png"></span>
- </p>
-<p>
- And for the combined degrees of freedom we use the <a href="http://en.wikipedia.org/wiki/Welch-Satterthwaite_equation" target="_top">Welch-Satterthwaite</a>
- approximation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../../../equations/dist_tutorial3.png"></span>
- </p>
-<p>
- 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 integer value.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Some statistical packages truncate the effective degrees of freedom
- to an integer value: this may be necessary if you are relying on
- lookup tables, but since our code fully supports non-integer degrees
- of freedom there is no need to truncate in this case. Also note that
- when the degrees of freedom is small then the Welch-Satterthwaite
- approximation may be a significant source of error.
- </p></td></tr>
-</table></div>
-<p>
- Putting these formulae into code we get:
- </p>
-<pre class="programlisting"><span class="comment">// Degrees of freedom:</span>
-<span class="keyword">double</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">;</span>
-<span class="identifier">v</span> <span class="special">*=</span> <span class="identifier">v</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">t1</span> <span class="special">=</span> <span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span><span class="special">;</span>
-<span class="identifier">t1</span> <span class="special">*=</span> <span class="identifier">t1</span><span class="special">;</span>
-<span class="identifier">t1</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">Sn1</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">t2</span> <span class="special">=</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">;</span>
-<span class="identifier">t2</span> <span class="special">*=</span> <span class="identifier">t2</span><span class="special">;</span>
-<span class="identifier">t2</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">Sn2</span> <span class="special">-</span> <span class="number">1</span><span class="special">);</span>
-<span class="identifier">v</span> <span class="special">/=</span> <span class="special">(</span><span class="identifier">t1</span> <span class="special">+</span> <span class="identifier">t2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"Degrees of Freedom"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-<span class="comment">// t-statistic:</span>
-<span class="keyword">double</span> <span class="identifier">t_stat</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">Sm1</span> <span class="special">-</span> <span class="identifier">Sm2</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">Sd1</span> <span class="special">*</span> <span class="identifier">Sd1</span> <span class="special">/</span> <span class="identifier">Sn1</span> <span class="special">+</span> <span class="identifier">Sd2</span> <span class="special">*</span> <span class="identifier">Sd2</span> <span class="special">/</span> <span class="identifier">Sn2</span><span class="special">);</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">55</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">left</span> <span class="special">&lt;&lt;</span> <span class="string">"T Statistic"</span> <span class="special">&lt;&lt;</span> <span class="string">"= "</span> <span class="special">&lt;&lt;</span> <span class="identifier">t_stat</span> <span class="special">&lt;&lt;</span> <span class="string">"\n"</span><span class="special">;</span>
-</pre>
-<p>
- Thereafter the code and the tests are performed the same as before.
- Using are car mileage data again, here's what the output looks like:
- </p>
-<pre class="programlisting"> __________________________________________________
- Student t test for two samples (unequal variances)
- __________________________________________________
-
- Number of Observations (Sample 1) = 249
- Sample 1 Mean = 20.145
- Sample 1 Standard Deviation = 6.4147
- Number of Observations (Sample 2) = 79
- Sample 2 Mean = 30.481
- Sample 2 Standard Deviation = 6.1077
- Degrees of Freedom = 136.87
- T Statistic = -12.946
- Probability that difference is due to chance = 1.571e-025
-
- Results for Alternative Hypothesis and alpha = 0.0500
-
- Alternative Hypothesis Conclusion
- Sample 1 Mean != Sample 2 Mean NOT REJECTED
- Sample 1 Mean &lt; Sample 2 Mean NOT REJECTED
- Sample 1 Mean &gt; Sample 2 Mean REJECTED
-</pre>
-<p>
- This time allowing the variances in the two samples to differ has yielded
- a higher likelihood that the observed difference is down to chance
- alone (1.571e-025 compared to 5.273e-030 when equal variances were
- assumed). However, the conclusion remains the same: US cars are less
- fuel efficient than Japanese models.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tut_mean_size.html"><img src="../../../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../st_eg.html"><img src="../../../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="paired_st.html"><img src="../../../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c.html b/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c.html
deleted file mode 100644
index a530bb2e93..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>TR1 and C99 external "C" Functions</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="utils/next_float/float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance">
-<link rel="next" href="extern_c/tr1.html" title="C99 and TR1 C Functions Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="utils/next_float/float_advance.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extern_c/tr1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_extern_c">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.extern_c"></a><a class="link" href="extern_c.html" title='TR1 and C99 external "C" Functions'>TR1 and C99 external "C"
- Functions</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="extern_c/tr1.html">C99 and TR1 C Functions Overview</a></span></dt>
-<dt><span class="section"><a href="extern_c/c99.html">C99 C Functions</a></span></dt>
-<dt><span class="section"><a href="extern_c/tr1_ref.html">TR1 C Functions Quick
- Reference</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="utils/next_float/float_advance.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extern_c/tr1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/c99.html b/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/c99.html
deleted file mode 100644
index 77cd4d1525..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/c99.html
+++ /dev/null
@@ -1,477 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>C99 C Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../extern_c.html" title='TR1 and C99 external "C" Functions'>
-<link rel="prev" href="tr1.html" title="C99 and TR1 C Functions Overview">
-<link rel="next" href="tr1_ref.html" title="TR1 C Functions Quick Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tr1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1_ref.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_extern_c_c99">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.extern_c.c99"></a><a class="link" href="c99.html" title="C99 C Functions">C99 C Functions</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.extern_c.c99.h0"></a>
- <span><a name="math_toolkit.extern_c.c99.supported_c99_functions"></a></span><a class="link" href="c99.html#math_toolkit.extern_c.c99.supported_c99_functions">Supported
- C99 Functions</a>
- </h5>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
-
-<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
- versions of the above functions are provided, so that calling the function
- with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
- arguments is supported, with the return type determined by the <a class="link" href="../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>.
- </p>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">acoshf</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// float version, returns float.</span>
-<span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// also calls the float version and returns float.</span>
-<span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0</span><span class="special">);</span> <span class="comment">// double version, returns double.</span>
-<span class="identifier">acoshl</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// long double version, returns a long double.</span>
-<span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// also calls the long double version.</span>
-<span class="identifier">acosh</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// integer argument is treated as a double, returns double.</span>
-</pre>
-<h5>
-<a name="math_toolkit.extern_c.c99.h1"></a>
- <span><a name="math_toolkit.extern_c.c99.quick_reference"></a></span><a class="link" href="c99.html#math_toolkit.extern_c.c99.quick_reference">Quick
- Reference</a>
- </h5>
-<p>
- More detailed descriptions of these functions are available in the C99 standard.
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
-</pre>
-<p>
- In this implementation <code class="computeroutput"><span class="identifier">float_t</span></code>
- is the same as type <code class="computeroutput"><span class="keyword">float</span></code>, and
- <code class="computeroutput"><span class="identifier">double_t</span></code> the same as type
- <code class="computeroutput"><span class="keyword">double</span></code> unless the preprocessor
- symbol FLT_EVAL_METHOD is defined, in which case these are set as follows:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- FLT_EVAL_METHOD
- </p>
- </th>
-<th>
- <p>
- float_t
- </p>
- </th>
-<th>
- <p>
- double_t
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 0
- </p>
- </td>
-<td>
- <p>
- float
- </p>
- </td>
-<td>
- <p>
- double
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 1
- </p>
- </td>
-<td>
- <p>
- double
- </p>
- </td>
-<td>
- <p>
- double
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 2
- </p>
- </td>
-<td>
- <p>
- long double
- </p>
- </td>
-<td>
- <p>
- long double
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the inverse hyperbolic cosine of <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- See also <a class="link" href="../special/inv_hyper/acosh.html" title="acosh">acosh</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the inverse hyperbolic sine of <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- See also <a class="link" href="../special/inv_hyper/asinh.html" title="asinh">asinh</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the inverse hyperbolic tangent of <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- See also <a class="link" href="../special/inv_hyper/atanh.html" title="atanh">atanh</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the cubed root of <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- See also <a class="link" href="../special/powers/cbrt.html" title="cbrt">cbrt</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- Returns a value with the magnitude of <span class="emphasis"><em>x</em></span> and the sign
- of <span class="emphasis"><em>y</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the error function of <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/erf1.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the complementary error function of <span class="emphasis"><em>x</em></span> <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">erf</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
- without the loss of precision implied by the subtraction.
- </p>
-<p>
- See also <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erfc</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns <code class="computeroutput"><span class="identifier">exp</span><span class="special">(</span><span class="identifier">x</span><span class="special">)-</span><span class="number">1</span></code>
- without the loss of precision implied by the subtraction.
- </p>
-<p>
- See also <a class="link" href="../special/powers/expm1.html" title="expm1">expm1</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- Returns the larger (most positive) of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- Returns the smaller (most negative) of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- Returns <code class="computeroutput"><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">x</span><span class="special">*</span><span class="identifier">x</span>
- <span class="special">+</span> <span class="identifier">y</span><span class="special">*</span><span class="identifier">y</span><span class="special">)</span></code>
- without the danger of numeric overflow implied by that formulation.
- </p>
-<p>
- See also <a class="link" href="../special/powers/hypot.html" title="hypot">hypot</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the log of the gamma function of <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/lgamm1.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_gamma/lgamma.html" title="Log Gamma">lgamma</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer as
- a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>:
- equivalent to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code>
- </p>
-<p>
- See also <a class="link" href="../utils/rounding/round.html" title="Rounding Functions">round</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code> without the loss of precision implied by
- that formulation.
- </p>
-<p>
- See also <a class="link" href="../special/powers/log1p.html" title="log1p">log1p</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer as
- a <code class="computeroutput"><span class="keyword">long</span></code>: equivalent to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code>
- </p>
-<p>
- See also <a class="link" href="../utils/rounding/round.html" title="Rounding Functions">round</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- Returns the next representable floating point number after <span class="emphasis"><em>x</em></span>
- in the direction of <span class="emphasis"><em>y</em></span>, or <span class="emphasis"><em>x</em></span> if
- <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span>
- <span class="identifier">y</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- As <code class="computeroutput"><span class="identifier">nextafter</span></code>, but with <span class="emphasis"><em>y</em></span>
- always expressed as a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer:
- equivalent to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code>
- </p>
-<p>
- See also <a class="link" href="../utils/rounding/round.html" title="Rounding Functions">round</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the gamma function of <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/gamm1.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_gamma/tgamma.html" title="Gamma">tgamma</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns <span class="emphasis"><em>x</em></span> truncated to the nearest integer.
- </p>
-<p>
- See also <a class="link" href="../utils/rounding/trunc.html" title="Truncation Functions">trunc</a> for
- the full template (header only) version of this function.
- </p>
-<p>
- See also <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf" target="_top">C99
- ISO Standard</a>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tr1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1_ref.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1.html
deleted file mode 100644
index a503b29156..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1.html
+++ /dev/null
@@ -1,619 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>C99 and TR1 C Functions Overview</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../extern_c.html" title='TR1 and C99 external "C" Functions'>
-<link rel="prev" href="../extern_c.html" title='TR1 and C99 external "C" Functions'>
-<link rel="next" href="c99.html" title="C99 C Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../extern_c.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c99.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_extern_c_tr1">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.extern_c.tr1"></a><a class="link" href="tr1.html" title="C99 and TR1 C Functions Overview">C99 and TR1 C Functions Overview</a>
-</h3></div></div></div>
-<p>
- Many of the special functions included in this library are also a part of
- the either the <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
- Standard ISO/IEC 9899:1999</a> or the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
- Report on C++ Library Extensions</a>. Therefore this library includes
- a thin wrapper header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span></code>
- that provides compatibility with these two standards.
- </p>
-<p>
- There are various pros and cons to using the library in this way:
- </p>
-<p>
- Pros:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- The header to include is lightweight (i.e. fast to compile).
- </li>
-<li class="listitem">
- The functions have extern "C" linkage, and so are usable from
- other languages (not just C and C++).
- </li>
-<li class="listitem">
- C99 and C++ TR1 Standard compatibility.
- </li>
-</ul></div>
-<p>
- Cons:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- You will need to compile and link to the external Boost.Math libraries.
- </li>
-<li class="listitem">
- Limited to support for the types, <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
- </li>
-<li class="listitem">
- Error handling is handled via setting ::errno and returning NaN's and
- infinities: this may be less flexible than an C++ exception based approach.
- </li>
-</ul></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The separate libraries are required <span class="bold"><strong>only</strong></span>
- if you choose to use boost/math/tr1.hpp rather than some other Boost.Math
- header, the rest of Boost.Math remains header-only.
- </p></td></tr>
-</table></div>
-<p>
- The separate libraries required in order to use tr1.hpp can be compiled using
- bjam from within the libs/math/build directory, or from the Boost root directory
- using the usual Boost-wide install procedure. Alternatively the source files
- are located in libs/math/src and each have the same name as the function
- they implement. The various libraries are named as follows:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Type
- </p>
- </th>
-<th>
- <p>
- Functions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- boost_math_c99f-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- float
- </p>
- </td>
-<td>
- <p>
- C99 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_c99-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- double
- </p>
- </td>
-<td>
- <p>
- C99 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_c99l-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- long double
- </p>
- </td>
-<td>
- <p>
- C99 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_tr1f-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- float
- </p>
- </td>
-<td>
- <p>
- TR1 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_tr1-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- double
- </p>
- </td>
-<td>
- <p>
- TR1 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_tr1l-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- long double
- </p>
- </td>
-<td>
- <p>
- TR1 Functions
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Where <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> encodes the compiler and build options
- used to build the libraries: for example "libboost_math_tr1-vc80-mt-gd.lib"
- would be the statically linked TR1 library to use with Visual C++ 8.0, in
- multithreading debug mode, with the DLL VC++ runtime, where as "boost_math_tr1-vc80-mt.lib"
- would be import library for the TR1 DLL to be used with Visual C++ 8.0 with
- the release multithreaded DLL VC++ runtime. Refer to the getting started
- guide for a <a href="http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming" target="_top">full
- explanation of the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> meanings</a>.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- Visual C++ users will typically have the correct library variant to link
- against selected for them by boost/math/tr1.hpp based on your compiler
- settings.
- </p>
-<p>
- Users will need to define BOOST_MATH_TR1_DYN_LINK when building their code
- if they want to link against the DLL versions of these libraries rather
- than the static versions.
- </p>
-<p>
- Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when building:
- this is typically only used when linking against a customised build of
- the libraries.
- </p>
-</td></tr>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Linux and Unix users will generally only have one variant of these libraries
- installed, and can generally just link against -lboost_math_tr1 etc.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.extern_c.tr1.h0"></a>
- <span><a name="math_toolkit.extern_c.tr1.usage_recomendations"></a></span><a class="link" href="tr1.html#math_toolkit.extern_c.tr1.usage_recomendations">Usage
- Recomendations</a>
- </h5>
-<p>
- This library now presents the user with a choice:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- To include the header only versions of the functions and have an easier
- time linking, but a longer compile time.
- </li>
-<li class="listitem">
- To include the TR1 headers and link against an external library.
- </li>
-</ul></div>
-<p>
- Which option you choose depends largely on how you prefer to work and how
- your system is set up.
- </p>
-<p>
- For example a casual user who just needs the acosh function, would probably
- be better off including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> in their
- code.
- </p>
-<p>
- However, for large scale software development where compile times are significant,
- and where the Boost libraries are already built and installed on the system,
- then including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> will
- speed up compile times, reduce object files sizes (since there are no templates
- being instantiated any more), and also speed up debugging runtimes - since
- the externally compiled libraries can be compiler optimised, rather than
- built using full settings - the difference in performance between <a class="link" href="../perf/getting_best.html" title="Getting the Best Performance from this Library">release
- and debug builds can be as much as 20 times</a>, so for complex applications
- this can be a big win.
- </p>
-<h5>
-<a name="math_toolkit.extern_c.tr1.h1"></a>
- <span><a name="math_toolkit.extern_c.tr1.supported_c99_functions"></a></span><a class="link" href="tr1.html#math_toolkit.extern_c.tr1.supported_c99_functions">Supported
- C99 Functions</a>
- </h5>
-<p>
- See also the <a class="link" href="c99.html" title="C99 C Functions">quick reference guide
- for these functions</a>.
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
-
-<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.extern_c.tr1.h2"></a>
- <span><a name="math_toolkit.extern_c.tr1.supported_tr1_functions"></a></span><a class="link" href="tr1.html#math_toolkit.extern_c.tr1.supported_tr1_functions">Supported
- TR1 Functions</a>
- </h5>
-<p>
- See also the <a class="link" href="tr1.html" title="C99 and TR1 C Functions Overview">quick reference guide
- for these functions</a>.
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
-
-<span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.2] associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.3] beta function:</span>
-<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
-<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.15] exponential integral:</span>
-<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.16] Hermite polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.19] Legendre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.20] Riemann zeta function:</span>
-<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
-<span class="comment">// spherical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
- versions of the above functions are provided, so that calling the function
- with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
- arguments is supported, with the return type determined by the <a class="link" href="../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>.
- </p>
-<h5>
-<a name="math_toolkit.extern_c.tr1.h3"></a>
- <span><a name="math_toolkit.extern_c.tr1.currently_unsupported_c99_functions"></a></span><a class="link" href="tr1.html#math_toolkit.extern_c.tr1.currently_unsupported_c99_functions">Currently
- Unsupported C99 Functions</a>
- </h5>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">exp2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">exp2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">exp2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fdim</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fdimf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fdiml</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fmaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">z</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">int</span> <span class="identifier">ilogb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">ilogbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">ilogbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">log2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">log2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">logb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">logbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">logbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="identifier">lrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nan</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nanf</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nanl</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nearbyint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nearbyintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nearbyintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">remainder</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">remainderf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remainderl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">remquo</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">remquof</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remquol</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">rint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">rintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">rintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">scalbln</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">scalblnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalblnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">scalbn</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">scalbnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalbnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="math_toolkit.extern_c.tr1.h4"></a>
- <span><a name="math_toolkit.extern_c.tr1.currently_unsupported_tr1_functions"></a></span><a class="link" href="tr1.html#math_toolkit.extern_c.tr1.currently_unsupported_tr1_functions">Currently
- Unsupported TR1 Functions</a>
- </h5>
-<pre class="programlisting"><span class="comment">// [5.2.1.7] confluent hypergeometric functions:</span>
-<span class="keyword">double</span> <span class="identifier">conf_hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">conf_hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">conf_hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.17] hypergeometric functions:</span>
-<span class="keyword">double</span> <span class="identifier">hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../extern_c.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="c99.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1_ref.html b/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1_ref.html
deleted file mode 100644
index 322e382bb2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/extern_c/tr1_ref.html
+++ /dev/null
@@ -1,538 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>TR1 C Functions Quick Reference</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../extern_c.html" title='TR1 and C99 external "C" Functions'>
-<link rel="prev" href="c99.html" title="C99 C Functions">
-<link rel="next" href="../constants.html" title="Mathematical Constants">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="c99.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_extern_c_tr1_ref">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.extern_c.tr1_ref"></a><a class="link" href="tr1_ref.html" title="TR1 C Functions Quick Reference">TR1 C Functions Quick
- Reference</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.extern_c.tr1_ref.h0"></a>
- <span><a name="math_toolkit.extern_c.tr1_ref.supported_tr1_functions"></a></span><a class="link" href="tr1_ref.html#math_toolkit.extern_c.tr1_ref.supported_tr1_functions">Supported
- TR1 Functions</a>
- </h5>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
-
-<span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.2] associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.3] beta function:</span>
-<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
-<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.15] exponential integral:</span>
-<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.16] Hermite polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.19] Legendre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.20] Riemann zeta function:</span>
-<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
-<span class="comment">// spherical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
- versions of the above functions are provided, so that calling the function
- with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
- arguments is supported, with the return type determined by the <a class="link" href="../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>.
- </p>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">expintf</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// float version, returns float.</span>
-<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// also calls the float version and returns float.</span>
-<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0</span><span class="special">);</span> <span class="comment">// double version, returns double.</span>
-<span class="identifier">expintl</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// long double version, returns a long double.</span>
-<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// also calls the long double version.</span>
-<span class="identifier">expint</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// integer argument is treated as a double, returns double.</span>
-</pre>
-<h5>
-<a name="math_toolkit.extern_c.tr1_ref.h1"></a>
- <span><a name="math_toolkit.extern_c.tr1_ref.quick_reference"></a></span><a class="link" href="tr1_ref.html#math_toolkit.extern_c.tr1_ref.quick_reference">Quick
- Reference</a>
- </h5>
-<pre class="programlisting"><span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- The assoc_laguerre functions return:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/laguerre_1.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials">laguerre</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.2] associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- The assoc_legendre functions return:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/legendre_1b.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">legendre_p</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.3] beta function:</span>
-<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- Returns the beta function of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/beta1.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_beta/beta_function.html" title="Beta">beta</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-</pre>
-<p>
- Returns the complete elliptic integral of the first kind of <span class="emphasis"><em>k</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/ellint6.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">ellint_1</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-</pre>
-<p>
- Returns the complete elliptic integral of the second kind of <span class="emphasis"><em>k</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/ellint7.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">ellint_2</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-</pre>
-<p>
- Returns the complete elliptic integral of the third kind of <span class="emphasis"><em>k</em></span>
- and <span class="emphasis"><em>nu</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/ellint8.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the modified bessel function of the first kind of <span class="emphasis"><em>nu</em></span>
- and <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/mbessel2.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the bessel function of the first kind of <span class="emphasis"><em>nu</em></span>
- and <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/bessel2.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the modified bessel function of the second kind of <span class="emphasis"><em>nu</em></span>
- and <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/mbessel3.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
-<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the bessel function of the second kind (Neumann function) of <span class="emphasis"><em>nu</em></span>
- and <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/bessel3.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-</pre>
-<p>
- Returns the incomplete elliptic integral of the first kind of <span class="emphasis"><em>k</em></span>
- and <span class="emphasis"><em>phi</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/ellint2.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">ellint_1</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-</pre>
-<p>
- Returns the incomplete elliptic integral of the second kind of <span class="emphasis"><em>k</em></span>
- and <span class="emphasis"><em>phi</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/ellint3.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">ellint_2</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-</pre>
-<p>
- Returns the incomplete elliptic integral of the third kind of <span class="emphasis"><em>k</em></span>,
- <span class="emphasis"><em>nu</em></span> and <span class="emphasis"><em>phi</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/ellint4.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.15] exponential integral:</span>
-<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the exponential integral Ei of <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/expint_i_1.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/expint/expint_i.html" title="Exponential Integral Ei">expint</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.16] Hermite polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the n'th Hermite polynomial of <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/hermite_0.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_poly/hermite.html" title="Hermite Polynomials">hermite</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the n'th Laguerre polynomial of <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/laguerre_0.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials">laguerre</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.19] Legendre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the l'th Legendre polynomial of <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/legendre_0.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">legendre_p</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.20] Riemann zeta function:</span>
-<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
-</pre>
-<p>
- Returns the Riemann Zeta function of <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/zeta1.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/zetas/zeta.html" title="Riemann Zeta Function">zeta</a> for
- the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the spherical Bessel function of the first kind of <span class="emphasis"><em>x</em></span>
- j<sub>n</sub>(x):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/sbessel2.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-</pre>
-<p>
- Returns the spherical associated Legendre function of <span class="emphasis"><em>l</em></span>,
- <span class="emphasis"><em>m</em></span> and <span class="emphasis"><em>theta</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/spherical_3.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/sf_poly/sph_harm.html" title="Spherical Harmonics">spherical_harmonic</a>
- for the full template (header only) version of this function.
- </p>
-<pre class="programlisting"><span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
-<span class="comment">// spherical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns the spherical Neumann function of <span class="emphasis"><em>x</em></span> y<sub>n</sub>(x):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../equations/sbessel2.png"></span>
- </p>
-<p>
- See also <a class="link" href="../special/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a>
- for the full template (header only) version of this function.
- </p>
-<h5>
-<a name="math_toolkit.extern_c.tr1_ref.h2"></a>
- <span><a name="math_toolkit.extern_c.tr1_ref.currently_unsupported_tr1_functions"></a></span><a class="link" href="tr1_ref.html#math_toolkit.extern_c.tr1_ref.currently_unsupported_tr1_functions">Currently
- Unsupported TR1 Functions</a>
- </h5>
-<pre class="programlisting"><span class="comment">// [5.2.1.7] confluent hypergeometric functions:</span>
-<span class="keyword">double</span> <span class="identifier">conf_hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">conf_hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">conf_hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.17] hypergeometric functions:</span>
-<span class="keyword">double</span> <span class="identifier">hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- These two functions are not implemented as they are not believed to be
- numerically stable.
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="c99.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../constants.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview.html
deleted file mode 100644
index fb3a92ee73..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Overview</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="../index.html" title="Math Toolkit">
-<link rel="next" href="main_overview/intro.html" title="About the Math Toolkit">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="main_overview/intro.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.main_overview"></a><a class="link" href="main_overview.html" title="Overview">Overview</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="main_overview/intro.html">About the Math Toolkit</a></span></dt>
-<dt><span class="section"><a href="main_overview/navigation.html">Navigation</a></span></dt>
-<dt><span class="section"><a href="main_overview/conventions.html">Document Conventions</a></span></dt>
-<dt><span class="section"><a href="main_overview/hints.html">Other Hints and tips</a></span></dt>
-<dt><span class="section"><a href="main_overview/directories.html">Directory and
- File Structure</a></span></dt>
-<dt><span class="section"><a href="main_overview/namespaces.html">Namespaces</a></span></dt>
-<dt><span class="section"><a href="main_overview/result_type.html">Calculation of
- the Type of the Result</a></span></dt>
-<dt><span class="section"><a href="main_overview/error_handling.html">Error Handling</a></span></dt>
-<dt><span class="section"><a href="main_overview/compilers_overview.html">Compilers</a></span></dt>
-<dt><span class="section"><a href="main_overview/config_macros.html">Configuration
- Macros</a></span></dt>
-<dt><span class="section"><a href="main_overview/pol_overview.html">Policies</a></span></dt>
-<dt><span class="section"><a href="main_overview/threads.html">Thread Safety</a></span></dt>
-<dt><span class="section"><a href="main_overview/perf_over.html">Performance</a></span></dt>
-<dt><span class="section"><a href="main_overview/building.html">If and How to Build
- a Boost.Math Library, and its Examples and Tests</a></span></dt>
-<dt><span class="section"><a href="main_overview/history1.html">History and What's
- New</a></span></dt>
-<dt><span class="section"><a href="main_overview/tr1.html">C99 and C++ TR1 C-style
- Functions</a></span></dt>
-<dt><span class="section"><a href="main_overview/faq.html">Frequently Asked Questions
- FAQ</a></span></dt>
-<dt><span class="section"><a href="main_overview/contact.html">Contact Info and
- Support</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="main_overview/intro.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/building.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/building.html
deleted file mode 100644
index e9aa84d6e4..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/building.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>If and How to Build a Boost.Math Library, and its Examples and Tests</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="perf_over.html" title="Performance">
-<link rel="next" href="history1.html" title="History and What's New">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history1.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_building">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.building"></a><a class="link" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">If and How to Build
- a Boost.Math Library, and its Examples and Tests</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.main_overview.building.h0"></a>
- <span><a name="math_toolkit.main_overview.building.building_a_library__shared__dynamic__dll_or_static__lib_"></a></span><a class="link" href="building.html#math_toolkit.main_overview.building.building_a_library__shared__dynamic__dll_or_static__lib_">Building
- a Library (shared, dynamic .dll or static .lib)</a>
- </h5>
-<p>
- The first thing you need to ask yourself is "Do I need to build anything
- at all?" as the bulk of this library is header only: meaning you can
- use it just by #including the necessary header(s).
- </p>
-<p>
- For most simple uses, including a header (or few) is best for compile time
- and program size.
- </p>
-<p>
- Refer to <a class="link" href="../extern_c.html" title='TR1 and C99 external "C" Functions'>C99 and C++ TR1 C-style Functions</a>
- for pros and cons of using the TR1 components as opposed to the header only
- ones.
- </p>
-<p>
- The <span class="emphasis"><em>only</em></span> time you <span class="emphasis"><em>need</em></span> to build
- the library is if you want to use the <code class="computeroutput"><span class="keyword">extern</span>
- <span class="string">"C"</span></code> functions declared in
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>. To build this using Boost.Build, from
- a commandline boost-root directory issue a command like:
- </p>
-<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">gcc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">math</span> <span class="identifier">install</span>
-</pre>
-<p>
- that will do the job on Linux, while:
- </p>
-<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">msvc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">math</span> <span class="special">--</span><span class="identifier">build</span><span class="special">-</span><span class="identifier">type</span><span class="special">=</span><span class="identifier">complete</span> <span class="identifier">stage</span>
-</pre>
-<p>
- will work better on Windows (leaving libraries built in sub-folder <code class="computeroutput"><span class="special">/</span><span class="identifier">stage</span></code>
- below your Boost root directory). Either way you should consult the <a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html" target="_top">getting
- started guide</a> for more information.
- </p>
-<p>
- You can also build the libraries from your favourite IDE or command line
- tool: each <code class="computeroutput"><span class="keyword">extern</span> <span class="string">"C"</span></code>
- function declared in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> has its own source file with the same
- name in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span></code>. Just
- select the sources corresponding to the functions you are using and build
- them into a library, or else add them directly to your project. Note that
- the directory <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span></code> will
- need to be in your compiler's #include path as well as the boost-root directory
- (MSVC Tools, Options, Projects and Solutions, VC++ Directories, Include files).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If you are using a Windows compiler that supports auto-linking and you
- have built the sources yourself (or added them directly to your project)
- then you will need to prevent <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- from trying to auto-link to the binaries that Boost.Build generates. You
- can do this by defining either BOOST_MATH_NO_LIB or BOOST_ALL_NO_LIB at
- project level (so the defines get passed to each compiler invocation).
- </p></td></tr>
-</table></div>
-<p>
- Optionally the sources in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span></code>
- have support for using <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">src</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">/</span><span class="identifier">pch</span><span class="special">.</span><span class="identifier">hpp</span></code> as a precompiled header <span class="emphasis"><em>if
- your compiler supports precompiled headers.</em></span> Note that normally
- this header is a do-nothing include: to activate the header so that it #includes
- everything required by all the sources you will need to define BOOST_BUILD_PCH_ENABLED
- on the command line, both when building the pre-compiled header and when
- building the sources. Boost.Build will do this automatically when appropriate.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.building.h1"></a>
- <span><a name="math_toolkit.main_overview.building.building_the_examples"></a></span><a class="link" href="building.html#math_toolkit.main_overview.building.building_the_examples">Building
- the Examples</a>
- </h5>
-<p>
- The examples are all located in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">example</span></code>, they can all be built without
- reference to any external libraries, either with Boost.Build using the supplied
- Jamfile, or from your compiler's command line. The only requirement is that
- the Boost headers are in your compilers #include search path.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.building.h2"></a>
- <span><a name="math_toolkit.main_overview.building.building_the_tests"></a></span><a class="link" href="building.html#math_toolkit.main_overview.building.building_the_tests">Building
- the Tests</a>
- </h5>
-<p>
- The tests are located in <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">test</span></code> and are best built using Boost.Build
- and the supplied Jamfile. If you plan to build them separately from your
- favourite IDE then you will need to add <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">test</span></code> to the list of your compiler's search
- paths.
- </p>
-<p>
- You will also need to build and link to the Boost.Regex library for many
- of the tests: this can built from the command line by following the <a href="http://www.boost.org/doc/libs/release/more/getting_started/index.html" target="_top">getting
- started guide</a>, using a command such as:
- </p>
-<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">gcc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">regex</span> <span class="identifier">install</span>
-</pre>
-<p>
- or
- </p>
-<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">toolset</span><span class="special">=</span><span class="identifier">msvc</span> <span class="special">--</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">regex</span> <span class="special">--</span><span class="identifier">build</span><span class="special">-</span><span class="identifier">type</span><span class="special">=</span><span class="identifier">complete</span> <span class="identifier">stage</span>
-</pre>
-<p>
- depending on whether you are on Linux or Windows.
- </p>
-<p>
- Many of the tests have optional precompiled header support using the header
- <code class="computeroutput"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">pch</span><span class="special">.</span><span class="identifier">hpp</span></code>. Note that normally this header is
- a do-nothing include: to activate the header so that it #includes everything
- required by all the sources you will need to define BOOST_BUILD_PCH_ENABLED
- on the command line, both when building the pre-compiled header and when
- building the sources. Boost.Build will do this automatically when appropriate.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history1.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/compilers_overview.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/compilers_overview.html
deleted file mode 100644
index bdb6ab8b69..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/compilers_overview.html
+++ /dev/null
@@ -1,615 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Compilers</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="error_handling.html" title="Error Handling">
-<link rel="next" href="config_macros.html" title="Configuration Macros">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_handling.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="config_macros.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_compilers_overview">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.compilers_overview"></a><a class="link" href="compilers_overview.html" title="Compilers">Compilers</a>
-</h3></div></div></div>
-<p>
- This section contains some information about how various compilers work with
- this library. It is not comprehensive and updated experiences are always
- welcome. Some effort has been made to suppress unhelpful warnings but it
- is difficult to achieve this on all systems.
- </p>
-<div class="table">
-<a name="math_toolkit.main_overview.compilers_overview.supported_tested_compilers"></a><p class="title"><b>Table&#160;9.&#160;Supported/Tested Compilers</b></p>
-<div class="table-contents"><table class="table" summary="Supported/Tested Compilers">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Platform
- </p>
- </th>
-<th>
- <p>
- Compiler
- </p>
- </th>
-<th>
- <p>
- Has long double support
- </p>
- </th>
-<th>
- <p>
- Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Windows
- </p>
- </td>
-<td>
- <p>
- MSVC 7.1 and later
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- We aim to keep our headers warning free at level 4 with this compiler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Windows
- </p>
- </td>
-<td>
- <p>
- Intel 8.1 and later
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- We aim to keep our headers warning free at level 4 with this compiler.
- However, The tests cases tend to generate a lot of warnings relating
- to numeric underflow of the test data: these are harmless.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Windows
- </p>
- </td>
-<td>
- <p>
- GNU Mingw32 C++
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- We aim to keep our headers warning free with -Wall with this compiler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Windows
- </p>
- </td>
-<td>
- <p>
- GNU Cygwin C++
- </p>
- </td>
-<td>
- <p>
- No
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- We aim to keep our headers warning free with -Wall with this compiler.
- </p>
- <p>
- Long double support has been disabled because there are no native
- long double C std library functions available.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Windows
- </p>
- </td>
-<td>
- <p>
- Borland C++ 5.8.2 (Developer studio 2006)
- </p>
- </td>
-<td>
- <p>
- No
- </p>
- </td>
-<td>
- <p>
- We have only partial compatability with this compiler:
- </p>
- <p>
- Long double support has been disabled because the native long double
- C standard library functions really only forward to the double
- versions. This can result in unpredictable behaviour when using
- the long double overloads: for example <code class="computeroutput"><span class="identifier">sqrtl</span></code>
- applied to a finite value, can result in an infinite result.
- </p>
- <p>
- Some functions still fail to compile, there are no known workarounds
- at present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Linux
- </p>
- </td>
-<td>
- <p>
- GNU C++ 3.4 and later
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- We aim to keep our headers warning free with -Wall with this compiler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Linux
- </p>
- </td>
-<td>
- <p>
- Intel C++ 10.0 and later
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- We aim to keep our headers warning free with -Wall with this compiler.
- However, The tests cases tend to generate a lot of warnings relating
- to numeric underflow of the test data: these are harmless.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Linux
- </p>
- </td>
-<td>
- <p>
- Intel C++ 8.1 and 9.1
- </p>
- </td>
-<td>
- <p>
- No
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- Long double support has been disabled with these compiler releases
- because calling the standard library long double math functions
- can result in a segfault. The issue is Linux distribution and glibc
- version specific and is Intel bug report #409291. Fully up to date
- releases of Intel 9.1 (post version l_cc_c_9.1.046) shouldn't have
- this problem. If you need long double support with this compiler,
- then comment out the define of BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
- at line 55 of <a href="../../../../../../../boost/math/tools/config.hpp" target="_top">boost/math/tools/config.hpp</a>.
- </p>
- <p>
- We aim to keep our headers warning free with -Wall with this compiler.
- However, The tests cases tend to generate a lot of warnings relating
- to numeric underflow of the test data: these are harmless.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Linux
- </p>
- </td>
-<td>
- <p>
- QLogic PathScale 3.0
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- Some tests involving conceptual checks fail to build, otherwise
- there appear to be no issues.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Linux
- </p>
- </td>
-<td>
- <p>
- Sun Studio 12
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- Some tests involving function overload resolution fail to build,
- these issues should be rairly encountered in practice.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Solaris
- </p>
- </td>
-<td>
- <p>
- Sun Studio 12
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- Some tests involving function overload resolution fail to build,
- these issues should be rairly encountered in practice.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Solaris
- </p>
- </td>
-<td>
- <p>
- GNU C++ 4.x
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- We aim to keep our headers warning free with -Wall with this compiler.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- HP Tru64
- </p>
- </td>
-<td>
- <p>
- Compaq C++ 7.1
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- HP-UX Itanium
- </p>
- </td>
-<td>
- <p>
- HP aCC 6.x
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- Unfortunately this compiler emits quite a few warnings from libraries
- upon which we depend (TR1, Array etc).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- HP-UX PA-RISC
- </p>
- </td>
-<td>
- <p>
- GNU C++ 3.4
- </p>
- </td>
-<td>
- <p>
- No
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Apple Mac OS X, Intel
- </p>
- </td>
-<td>
- <p>
- Darwin/GNU C++ 4.x
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Apple Mac OS X, PowerPC
- </p>
- </td>
-<td>
- <p>
- Darwin/GNU C++ 4.x
- </p>
- </td>
-<td>
- <p>
- No
- </p>
- </td>
-<td>
- <p>
- All tests OK.
- </p>
- <p>
- Long double support has been disabled on this platform due to the
- rather strange nature of Darwin's 106-bit long double implementation.
- It should be possible to make this work if someone is prepared
- to offer assistance.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- IMB AIX
- </p>
- </td>
-<td>
- <p>
- IBM xlc 5.3
- </p>
- </td>
-<td>
- <p>
- Yes
- </p>
- </td>
-<td>
- <p>
- All tests pass except for our fpclassify tests which fail due to
- a bug in <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>, the bug effects
- the test code, not fpclassify itself. The IBM compiler group are
- aware of the problem.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.compilers_overview.unsupported_compilers"></a><p class="title"><b>Table&#160;10.&#160;Unsupported Compilers</b></p>
-<div class="table-contents"><table class="table" summary="Unsupported Compilers">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Platform
- </p>
- </th>
-<th>
- <p>
- Compiler
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Windows
- </p>
- </td>
-<td>
- <p>
- Borland C++ 5.9.2 (Borland Developer Studio 2007)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Windows
- </p>
- </td>
-<td>
- <p>
- MSVC 6 and 7
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- If your compiler or platform is not listed above, please try running the
- regression tests: cd into boost-root/libs/math/test and do a:
- </p>
-<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">mytoolset</span>
-</pre>
-<p>
- where "mytoolset" is the name of the <a href="../../../../../../../tools/build/index.html" target="_top">Boost.Build</a>
- toolset used for your compiler. The chances are that <span class="bold"><strong>many
- of the accuracy tests will fail at this stage</strong></span> - don't panic -
- the default acceptable error tolerances are quite tight, especially for long
- double types with an extended exponent range (these cause more extreme test
- cases to be executed for some functions). You will need to cast an eye over
- the output from the failing tests and make a judgement as to whether the
- error rates are acceptable or not.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_handling.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="config_macros.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/config_macros.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/config_macros.html
deleted file mode 100644
index cefc0a7f83..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/config_macros.html
+++ /dev/null
@@ -1,413 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Configuration Macros</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="compilers_overview.html" title="Compilers">
-<link rel="next" href="pol_overview.html" title="Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="compilers_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_config_macros">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.config_macros"></a><a class="link" href="config_macros.html" title="Configuration Macros">Configuration
- Macros</a>
-</h3></div></div></div>
-<p>
- Almost all configuration details are set up automatically by <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">tools</span><span class="special">\</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
- </p>
-<p>
- In normal use, only policy configuration macros are likely to be used. See
- <a class="link" href="../policy/pol_ref.html" title="Policy Reference">policy reference</a>.
- </p>
-<p>
- For reference, information on Boost.Math macros used internally are described
- briefly below.
- </p>
-<div class="table">
-<a name="math_toolkit.main_overview.config_macros.boost_math_macros"></a><p class="title"><b>Table&#160;11.&#160;Boost.Math Macros</b></p>
-<div class="table-contents"><table class="table" summary="Boost.Math Macros">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- MACRO
- </p>
- </th>
-<th>
- <p>
- Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_NO_REAL_CONCEPT_TESTS</span></code>
- </p>
- </td>
-<td>
- <p>
- Do not try to use real concept tests (hardware or software does
- not support real_concept type).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS</span></code>
- </p>
- </td>
-<td>
- <p>
- Do not produce or use long double functions: this macro gets set
- when the platform's long double or standard library long double
- support is absent or buggy.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_CONTROL_FP</span></code>
- </p>
- </td>
-<td>
- <p>
- Controls FP hardware exceptions - our tests don't support hardware
- exceptions on MSVC. May get set to something like: <code class="computeroutput"> <span class="identifier">_control87</span><span class="special">(</span><span class="identifier">MCW_EM</span><span class="special">,</span><span class="identifier">MCW_EM</span><span class="special">)</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_NO_DEDUCED_FUNCTION_POINTERS</span></code>
- </p>
- </td>
-<td>
- <p>
- This macro is used by our test cases, it is set when an assignment
- of a function template to a function pointer requires explicit
- template arguments to be provided on the function name.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_USE_C99</span></code>
- </p>
- </td>
-<td>
- <p>
- Use C99 math functions.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY</span></code>
- </p>
- </td>
-<td>
- <p>
- define if no native (or buggy) <code class="computeroutput"><span class="identifier">fpclassify</span><span class="special">(</span><span class="keyword">long</span>
- <span class="keyword">double</span><span class="special">)</span></code>
- even though the other C99 functions are present.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_TYPE</span></code>
- </p>
- </td>
-<td>
- <p>
- Workaround helper macro for broken compilers - composed from other
- Boost.Config macros, do not edit.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE</span></code>
- </p>
- </td>
-<td>
- <p>
- Workaround helper macro for broken compilers - composed from other
- Boost.Config macros, do not edit.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC</span></code>
- </p>
- </td>
-<td>
- <p>
- Workaround helper macro for broken compilers - composed from other
- Boost.Config macros, do not edit.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC</span></code>
- </p>
- </td>
-<td>
- <p>
- Workaround helper macro for broken compilers - composed from other
- Boost.Config macros, do not edit.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_SMALL_CONSTANT</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Helper macro used in our test cases to set underflowing constants
- set to zero if this would cause compiler issues.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_BUGGY_LARGE_FLOAT_CONSTANTS</span></code>
- </p>
- </td>
-<td>
- <p>
- Set if constants too large for a float, will cause "bad"
- values to be stored in the data, rather than infinity or a suitably
- large value.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_STD_USING</span></code>
- </p>
- </td>
-<td>
- <p>
- Provides <code class="computeroutput"><span class="keyword">using</span></code> statements
- for many std:: (abs to sqrt) and boost::math (rounds, modf) functions.
- This allows these functions to be called unqualified so that if
- <a href="http://en.wikipedia.org/wiki/Argument-dependent_name_lookup" target="_top">argument-dependent
- Argument Dependent Lookup</a> fails to find a suitable overload,
- then the std:: versions will also be considered.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_FPU_EXCEPTION_GUARD</span></code>
- </p>
- </td>
-<td>
- <p>
- Used at the entrypoint to each special function to reset all FPU
- exception flags prior to internal calculations, and then merge
- the old and new exception flags on function exit. Used as a workaround
- on platforms or hardware that behave strangely if any FPU exception
- flags are set when calling standard library functions.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
- </p>
- </td>
-<td>
- <p>
- Define to output diagnostics for math functions. This is rather
- 'global' to Boost.Math and so coarse-grained that it will probably
- produce copious output! (Especially because full precision values
- are output). Designed primarily for internal use and development.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_CODE</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Output selected named variable, for example <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_CODE</span><span class="special">(</span><span class="string">"guess = "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">guess</span><span class="special">)</span></code>; Used by <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_VARIABLE</span><span class="special">(</span><span class="identifier">name</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- Output selected variable, for example <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_VARIABLE</span><span class="special">(</span><span class="identifier">result</span><span class="special">);</span></code> Used by <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_INSTRUMENT_FPU</span></code>
- </p>
- </td>
-<td>
- <p>
- Output the state of the FPU's control flags.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.config_macros.boost_math_tuning"></a><p class="title"><b>Table&#160;12.&#160;Boost.Math Tuning</b></p>
-<div class="table-contents"><table class="table" summary="Boost.Math Tuning">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Macros for Tuning performance options for specific compilers
- </p>
- </th>
-<th>
- <p>
- Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
- </p>
- </td>
-<td>
- <p>
- See the <a class="link" href="../perf/tuning.html" title="Performance Tuning Macros">performance tuning
- section</a>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>
- </p>
- </td>
-<td>
- <p>
- See the <a class="link" href="../perf/tuning.html" title="Performance Tuning Macros">performance tuning
- section</a>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>
- </p>
- </td>
-<td>
- <p>
- See the <a class="link" href="../perf/tuning.html" title="Performance Tuning Macros">performance tuning
- section</a>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_INT_TABLE_TYPE</span></code>
- </p>
- </td>
-<td>
- <p>
- See the <a class="link" href="../perf/tuning.html" title="Performance Tuning Macros">performance tuning
- section</a>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">BOOST_MATH_INT_VALUE_SUFFIX</span></code>
- </p>
- </td>
-<td>
- <p>
- Helper macro for appending the correct suffix to integer constants
- which may actually be stored as reals depending on the value of
- BOOST_MATH_INT_TABLE_TYPE.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="compilers_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/contact.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/contact.html
deleted file mode 100644
index 8b15267594..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/contact.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Contact Info and Support</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="faq.html" title="Frequently Asked Questions FAQ">
-<link rel="next" href="../dist.html" title="Statistical Distributions and Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="faq.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_contact">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.contact"></a><a class="link" href="contact.html" title="Contact Info and Support">Contact Info and
- Support</a>
-</h3></div></div></div>
-<p>
- The main support for this library is via the Boost mailing lists:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Use the <a href="http://www.boost.org/more/mailing_lists.htm#users" target="_top">boost-user
- list</a> for general support questions.
- </li>
-<li class="listitem">
- Use the <a href="http://www.boost.org/more/mailing_lists.htm#main" target="_top">boost-developer
- list</a> for discussion about implementation and or submission of
- extensions.
- </li>
-</ul></div>
-<p>
- You can also find JM at john - at - johnmaddock.co.uk and PAB at pbristow
- - at - hetp.u-net.com.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="faq.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html
deleted file mode 100644
index 72bbf68da7..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Document Conventions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="navigation.html" title="Navigation">
-<link rel="next" href="hints.html" title="Other Hints and tips">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="navigation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hints.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_conventions">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.conventions"></a><a class="link" href="conventions.html" title="Document Conventions">Document Conventions</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="id818653"></a>
- </p>
-<p>
- This documentation aims to use of the following naming and formatting conventions.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- C++ Code is in <code class="computeroutput"><span class="identifier">fixed</span> <span class="identifier">width</span> <span class="identifier">font</span></code>
- and is syntax-highlighted in color, for example <code class="computeroutput"><span class="keyword">double</span></code>.
- </li>
-<li class="listitem">
- Other code is in block <code class="literal">teletype fixed-width font</code>.
- </li>
-<li class="listitem">
- Replaceable text that <span class="bold"><strong>you</strong></span> will need
- to supply is in <em class="replaceable"><code>italics</code></em>.
- </li>
-<li class="listitem">
- If a name refers to a free function, it is specified like this: <code class="computeroutput"><span class="identifier">free_function</span><span class="special">()</span></code>;
- that is, it is in <em class="replaceable"><code>code font</code></em> and its name is
- followed by <code class="computeroutput"><span class="special">()</span></code> to indicate
- that it is a free function.
- </li>
-<li class="listitem">
- If a name refers to a class template, it is specified like this: <code class="computeroutput"><span class="identifier">class_template</span><span class="special">&lt;&gt;</span></code>;
- that is, it is in code font and its name is followed by <code class="computeroutput"><span class="special">&lt;&gt;</span></code> to indicate that it is a class
- template.
- </li>
-<li class="listitem">
- If a name refers to a function-like macro, it is specified like this:
- <code class="computeroutput"><span class="identifier">MACRO</span><span class="special">()</span></code>;
- that is, it is uppercase in code font and its name is followed by <code class="computeroutput"><span class="special">()</span></code> to indicate that it is a function-like
- macro. Object-like macros appear without the trailing <code class="computeroutput"><span class="special">()</span></code>.
- </li>
-<li class="listitem">
- Names that refer to <span class="emphasis"><em>concepts</em></span> in the generic programming
- sense (like template parameter names) are specified in CamelCase.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="navigation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hints.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/directories.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/directories.html
deleted file mode 100644
index f11c459cb7..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/directories.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Directory and File Structure</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="hints.html" title="Other Hints and tips">
-<link rel="next" href="namespaces.html" title="Namespaces">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hints.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespaces.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_directories">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.directories"></a><a class="link" href="directories.html" title="Directory and File Structure">Directory and
- File Structure</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.main_overview.directories.h0"></a>
- <span><a name="math_toolkit.main_overview.directories.boost_math"></a></span><a class="link" href="directories.html#math_toolkit.main_overview.directories.boost_math">boost/math</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">/concepts/</span></dt>
-<dd><p>
- Prototype defining the <span class="bold"><strong>essential</strong></span> features
- of a RealType class (see real_concept.hpp). Most applications will
- use <code class="computeroutput"><span class="keyword">double</span></code> as the RealType
- (and short <code class="computeroutput"><span class="keyword">typedef</span></code> names
- of distributions are reserved for this type where possible), a few
- will use <code class="computeroutput"><span class="keyword">float</span></code> or <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>,
- but it is also possible to use higher precision types like <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>,
- <a href="http://gmplib.org/" target="_top">GNU Multiple Precision Arithmetic Library</a>,
- <a href="http://www.mpfr.org/" target="_top">MPFR</a> that conform to the
- requirements specified by real_concept.
- </p></dd>
-<dt><span class="term">/constants/</span></dt>
-<dd><p>
- Templated definition of some highly accurate math constants (in constants.hpp).
- </p></dd>
-<dt><span class="term">/distributions/</span></dt>
-<dd><p>
- Distributions used in mathematics and, especially, statistics: Gaussian,
- Students-t, Fisher, Binomial etc
- </p></dd>
-<dt><span class="term">/policies/</span></dt>
-<dd><p>
- Policy framework, for handling user requested behaviour modifications.
- </p></dd>
-<dt><span class="term">/special_functions/</span></dt>
-<dd><p>
- Math functions generally regarded as 'special', like beta, cbrt, erf,
- gamma, lgamma, tgamma ... (Some of these are specified in C++, and
- C99/TR1, and perhaps TR2).
- </p></dd>
-<dt><span class="term">/tools/</span></dt>
-<dd><p>
- Tools used by functions, like evaluating polynomials, continued fractions,
- root finding, precision and limits, and by tests. Some will find application
- outside this package.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="math_toolkit.main_overview.directories.h1"></a>
- <span><a name="math_toolkit.main_overview.directories.boost_libs"></a></span><a class="link" href="directories.html#math_toolkit.main_overview.directories.boost_libs">boost/libs</a>
- </h5>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">/doc/</span></dt>
-<dd><p>
- Documentation source files in Quickbook format processed into html
- and pdf formats.
- </p></dd>
-<dt><span class="term">/examples/</span></dt>
-<dd><p>
- Examples and demos of using math functions and distributions.
- </p></dd>
-<dt><span class="term">/performance/</span></dt>
-<dd><p>
- Performance testing and tuning program.
- </p></dd>
-<dt><span class="term">/test/</span></dt>
-<dd><p>
- Test files, in many .cpp files, most using Boost.Test (some with test
- data as .ipp files, usually generated using NTL RR type with ample
- precision for the type, often for precisions suitable for up to 256-bit
- significand real types).
- </p></dd>
-<dt><span class="term">/tools/</span></dt>
-<dd><p>
- Programs used to generate test data. Also changes to the <a href="http://shoup.net/ntl/" target="_top">NTL</a>
- released package to provide a few additional (and vital) extra features.
- </p></dd>
-</dl>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hints.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespaces.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/error_handling.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/error_handling.html
deleted file mode 100644
index c1ee394ec8..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/error_handling.html
+++ /dev/null
@@ -1,1105 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Error Handling</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="result_type.html" title="Calculation of the Type of the Result">
-<link rel="next" href="compilers_overview.html" title="Compilers">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="result_type.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compilers_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_error_handling">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.error_handling"></a><a class="link" href="error_handling.html" title="Error Handling">Error Handling</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h0"></a>
- <span><a name="math_toolkit.main_overview.error_handling.quick_reference"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling.quick_reference">Quick
- Reference</a>
- </h5>
-<p>
- Handling of errors by this library is split into two orthogonal parts:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- What kind of error has been raised?
- </li>
-<li class="listitem">
- What should be done when the error is raised?
- </li>
-</ul></div>
-<p>
- The kinds of errors that can be raised are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">Domain Error</span></dt>
-<dd><p>
- Occurs when one or more arguments to a function are out of range.
- </p></dd>
-<dt><span class="term">Pole Error</span></dt>
-<dd><p>
- Occurs when the particular arguments cause the function to be evaluated
- at a pole with no well defined residual value. For example if <a class="link" href="../special/sf_gamma/tgamma.html" title="Gamma">tgamma</a> is evaluated
- at exactly -2, the function approaches different limiting values depending
- upon whether you approach from just above or just below -2. Hence the
- function has no well defined value at this point and a Pole Error will
- be raised.
- </p></dd>
-<dt><span class="term">Overflow Error</span></dt>
-<dd><p>
- Occurs when the result is either infinite, or too large to represent
- in the numeric type being returned by the function.
- </p></dd>
-<dt><span class="term">Underflow Error</span></dt>
-<dd><p>
- Occurs when the result is not zero, but is too small to be represented
- by any other value in the type being returned by the function.
- </p></dd>
-<dt><span class="term">Denormalisation Error</span></dt>
-<dd><p>
- Occurs when the returned result would be a denormalised value.
- </p></dd>
-<dt><span class="term">Rounding Error</span></dt>
-<dd><p>
- Occurs when the argument to one of the rounding functions <a class="link" href="../utils/rounding/trunc.html" title="Truncation Functions">trunc</a>,
- <a class="link" href="../utils/rounding/round.html" title="Rounding Functions">round</a> and
- <a class="link" href="../utils/rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">modf</a> can not
- be represented as an integer type, is outside the range of the result
- type.
- </p></dd>
-<dt><span class="term">Evaluation Error</span></dt>
-<dd><p>
- Occurs if no method of evaluation is known, or when an internal error
- occurred that prevented the result from being evaluated: this should
- never occur, but if it does, then it's likely to be due to an iterative
- method not converging fast enough.
- </p></dd>
-<dt><span class="term">Indeterminate Result Error</span></dt>
-<dd><p>
- Occurs when the result of a function is not defined for the values
- that were passed to it.
- </p></dd>
-</dl>
-</div>
-<p>
- The action undertaken by each error condition is determined by the current
- <a class="link" href="../policy.html" title="Policies">Policy</a> in effect. This can be
- changed program-wide by setting some configuration macros, or at namespace
- scope, or at the call site (by specifying a specific policy in the function
- call).
- </p>
-<p>
- The available actions are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">throw_on_error</span></dt>
-<dd><p>
- Throws the exception most appropriate to the error condition.
- </p></dd>
-<dt><span class="term">errno_on_error</span></dt>
-<dd><p>
- Sets ::errno to an appropriate value, and then returns the most appropriate
- result
- </p></dd>
-<dt><span class="term">ignore_error</span></dt>
-<dd><p>
- Ignores the error and simply the returns the most appropriate result.
- </p></dd>
-<dt><span class="term">user_error</span></dt>
-<dd><p>
- Calls a <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user-supplied
- error handler</a>.
- </p></dd>
-</dl>
-</div>
-<p>
- The following tables show all the permutations of errors and actions, with
- the <span class="bold"><strong>default action for each error shown in bold</strong></span>:
- </p>
-<div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_domain_errors"></a><p class="title"><b>Table&#160;1.&#160;Possible Actions for Domain Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Domain Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code></strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- Returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_domain_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_pole_errors"></a><p class="title"><b>Table&#160;2.&#160;Possible Actions for Pole Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Pole Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code></strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- Returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_pole_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_overflow_errors"></a><p class="title"><b>Table&#160;3.&#160;Possible Actions for Overflow Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Overflow Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code></strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- Returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_overflow_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_underflow_errors"></a><p class="title"><b>Table&#160;4.&#160;Possible Actions for Underflow Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Underflow Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
- 0.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Returns 0</strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_underflow_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_denorm_errors"></a><p class="title"><b>Table&#160;5.&#160;Possible Actions for Denorm Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Denorm Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
- the denormalised value.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Returns the denormalised value.</strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_denorm_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_rounding_errors"></a><p class="title"><b>Table&#160;6.&#160;Possible Actions for Rounding Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Rounding Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- Throws <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
- the largest representable value of the target integer type (or
- the most negative value if the argument to the function was less
- than zero).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Returns the largest representable value of
- the target integer type (or the most negative value if the argument
- to the function was less than zero).</strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_rounding_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_internal_evaluation_errors"></a><p class="title"><b>Table&#160;7.&#160;Possible Actions for Internal Evaluation Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Internal Evaluation Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Throws <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code></strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
- the closest approximation found.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- Returns the closest approximation found.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_evaluation_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.main_overview.error_handling.possible_actions_for_indeterminate_result_errors"></a><p class="title"><b>Table&#160;8.&#160;Possible Actions for Indeterminate Result Errors</b></p>
-<div class="table-contents"><table class="table" summary="Possible Actions for Indeterminate Result Errors">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Action
- </p>
- </th>
-<th>
- <p>
- Behaviour
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- throw_on_error
- </p>
- </td>
-<td>
- <p>
- Throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- errno_on_error
- </p>
- </td>
-<td>
- <p>
- Sets <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
- the same value as <code class="computeroutput"><span class="identifier">ignore_error</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- ignore_error
- </p>
- </td>
-<td>
- <p>
- <span class="bold"><strong>Returns a default result that depends on
- the function where the error occurred.</strong></span>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- user_error
- </p>
- </td>
-<td>
- <p>
- Returns the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_indeterminate_result_error</span></code>:
- <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">this
- function must be defined by the user</a>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- All these error conditions are in namespace boost::math::policies, made available,
- for example, a by namespace declaration using <code class="computeroutput"><span class="keyword">namespace</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span></code>
- or individual using declarations <code class="computeroutput"><span class="keyword">using</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span></code>.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h1"></a>
- <span><a name="math_toolkit.main_overview.error_handling.rationale"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling.rationale">Rationale</a>
- </h5>
-<p>
- The flexibility of the current implementation should be reasonably obvious:
- the default behaviours were chosen based on feedback during the formal review
- of this library. It was felt that:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Genuine errors should be flagged with exceptions rather than following
- C-compatible behaviour and setting <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>.
- </li>
-<li class="listitem">
- Numeric underflow and denormalised results were not considered to be
- fatal errors in most cases, so it was felt that these should be ignored.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h2"></a>
- <span><a name="math_toolkit.main_overview.error_handling.finding_more_information"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling.finding_more_information">Finding
- More Information</a>
- </h5>
-<p>
- There are some pre-processor macro defines that can be used to <a class="link" href="../policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">change
- the policy defaults</a>. See also the <a class="link" href="../policy.html" title="Policies">policy
- section</a>.
- </p>
-<p>
- An example is at the Policy tutorial in <a class="link" href="../policy/pol_tutorial/changing_policy_defaults.html" title="Changing the Policy Defaults">Changing
- the Policy Defaults</a>.
- </p>
-<p>
- Full source code of this typical example of passing a 'bad' argument (negative
- degrees of freedom) to Student's t distribution is <a class="link" href="../dist/stat_tut/weg/error_eg.html" title="Error Handling Example">in
- the error handling example</a>.
- </p>
-<p>
- The various kind of errors are described in more detail below.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h3"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__domain_error___domain_errors"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__domain_error___domain_errors"><a name="domain_error"></a>Domain Errors</a>
- </h5>
-<p>
- When a special function is passed an argument that is outside the range of
- values for which that function is defined, then the function returns the
- result of:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_domain_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating-point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, Val is the value that was out
- of range, and <a class="link" href="../policy.html" title="Policies">Policy</a> is the current
- policy in use for the function that was called.
- </p>
-<p>
- The default policy behaviour of this function is to throw a std::domain_error
- C++ exception. But if the <a class="link" href="../policy.html" title="Policies">Policy</a>
- is to ignore the error, or set global <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>, then a NaN will be returned.
- </p>
-<p>
- This behaviour is chosen to assist compatibility with the behaviour of <span class="emphasis"><em>ISO/IEC
- 9899:1999 Programming languages - C</em></span> and with the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Draft
- Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph
- 6</a>:
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>"Each of the functions declared above shall return a NaN
- (Not a Number) if any argument value is a NaN, but it shall not report
- a domain error. Otherwise, each of the functions declared above shall report
- a domain error for just those argument values for which:</em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
- <span class="emphasis"><em>"the function description's Returns clause explicitly specifies
- a domain, and those arguments fall outside the specified domain; or</em></span>
- </p>
-<p>
- <span class="emphasis"><em>"the corresponding mathematical function value has a non-zero
- imaginary component; or</em></span>
- </p>
-<p>
- <span class="emphasis"><em>"the corresponding mathematical function is not mathematically
- defined.</em></span>
- </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>"Note 2: A mathematical function is mathematically defined
- for a given set of argument values if it is explicitly defined for that
- set of argument values or if its limiting value exists and does not depend
- on the direction of approach."</em></span>
- </p></blockquote></div>
-<p>
- Note that in order to support information-rich error messages when throwing
- exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must
- contain a <a href="../../../../../../format/index.html" target="_top">Boost.Format</a>
- recognised format specifier: the argument <code class="computeroutput"><span class="identifier">Val</span></code>
- is inserted into the error message according to the specifier used.
- </p>
-<p>
- For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
- a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">Val</span></code>
- to the full precision of T, where as "%.3g" would contain the value
- of <code class="computeroutput"><span class="identifier">Val</span></code> to 3 digits. See the
- <a href="../../../../../../format/index.html" target="_top">Boost.Format</a> documentation
- for more details.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h4"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__pole_error___evaluation_at_a_pole"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__pole_error___evaluation_at_a_pole"><a name="pole_error"></a>Evaluation at a pole</a>
- </h5>
-<p>
- When a special function is passed an argument that is at a pole without a
- well defined residual value, then the function returns the result of:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_pole_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, <code class="computeroutput"><span class="identifier">Val</span></code>
- is the value of the argument that is at a pole, and <a class="link" href="../policy.html" title="Policies">Policy</a>
- is the current policy in use for the function that was called.
- </p>
-<p>
- The default behaviour of this function is to throw a std::domain_error exception.
- But <a class="link" href="../policy/pol_ref/error_handling_policies.html" title="Error Handling Policies">error
- handling policies</a> can be used to change this, for example to <code class="computeroutput"><span class="identifier">ignore_error</span></code> and return NaN.
- </p>
-<p>
- Note that in order to support information-rich error messages when throwing
- exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must
- contain a <a href="../../../../../../format/index.html" target="_top">Boost.Format</a>
- recognised format specifier: the argument <code class="computeroutput"><span class="identifier">val</span></code>
- is inserted into the error message according to the specifier used.
- </p>
-<p>
- For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
- a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">val</span></code>
- to the full precision of T, where as "%.3g" would contain the value
- of <code class="computeroutput"><span class="identifier">val</span></code> to 3 digits. See the
- <a href="../../../../../../format/index.html" target="_top">Boost.Format</a> documentation
- for more details.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h5"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__overflow_error___numeric_overflow"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__overflow_error___numeric_overflow"><a name="overflow_error"></a>Numeric Overflow</a>
- </h5>
-<p>
- When the result of a special function is too large to fit in the argument
- floating-point type, then the function returns the result of:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_overflow_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating-point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, and <a class="link" href="../policy.html" title="Policies">Policy</a>
- is the current policy in use for the function that was called.
- </p>
-<p>
- The default policy for this function is that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code>
- C++ exception is thrown. But if, for example, an <code class="computeroutput"><span class="identifier">ignore_error</span></code>
- policy is used, then returns <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
- In this situation if the type <code class="computeroutput"><span class="identifier">T</span></code>
- doesn't support infinities, the maximum value for the type is returned.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h6"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__underflow_error___numeric_underflow"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__underflow_error___numeric_underflow"><a name="underflow_error"></a>Numeric Underflow</a>
- </h5>
-<p>
- If the result of a special function is known to be non-zero, but the calculated
- result underflows to zero, then the function returns the result of:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_underflow_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, and <a class="link" href="../policy.html" title="Policies">Policy</a>
- is the current policy in use for the called function.
- </p>
-<p>
- The default version of this function returns zero. But with another policy,
- like <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, throws
- an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code> C++ exception.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h7"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__denorm_error___denormalisation_errors"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__denorm_error___denormalisation_errors"><a name="denorm_error"></a>Denormalisation Errors</a>
- </h5>
-<p>
- If the result of a special function is a denormalised value <span class="emphasis"><em>z</em></span>
- then the function returns the result of:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_denorm_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, and <a class="link" href="../policy.html" title="Policies">Policy</a>
- is the current policy in use for the called function.
- </p>
-<p>
- The default version of this function returns <span class="emphasis"><em>z</em></span>. But
- with another policy, like <code class="computeroutput"><span class="identifier">throw_on_error</span></code>
- throws an <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code> C++ exception.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h8"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__evaluation_error___evaluation_errors"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__evaluation_error___evaluation_errors"><a name="evaluation_error"></a>Evaluation Errors</a>
- </h5>
-<p>
- When a special function calculates a result that is known to be erroneous,
- or where the result is incalculable then it calls:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_evaluation_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, <code class="computeroutput"><span class="identifier">Val</span></code>
- is the erroneous value, and <a class="link" href="../policy.html" title="Policies">Policy</a>
- is the current policy in use for the called function.
- </p>
-<p>
- The default behaviour of this function is to throw a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code>.
- </p>
-<p>
- Note that in order to support information rich error messages when throwing
- exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must
- contain a <a href="../../../../../../format/index.html" target="_top">Boost.Format</a>
- recognised format specifier: the argument <code class="computeroutput"><span class="identifier">val</span></code>
- is inserted into the error message according to the specifier used.
- </p>
-<p>
- For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
- a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">val</span></code>
- to the full precision of T, where as "%.3g" would contain the value
- of <code class="computeroutput"><span class="identifier">val</span></code> to 3 digits. See the
- <a href="../../../../../../format/index.html" target="_top">Boost.Format</a> documentation
- for more details.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h9"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__indeterminate_result_error___indeterminate_result_errors"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__indeterminate_result_error___indeterminate_result_errors"><a name="indeterminate_result_error"></a>Indeterminate Result Errors</a>
- </h5>
-<p>
- When the result of a special function is indeterminate for the value that
- was passed to it, then the function returns the result of:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_overflow_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <span class="identifier">Default</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating-point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, Val is the value for which the
- result is indeterminate, Default is an alternative default result that must
- be returned for <code class="computeroutput"><span class="identifier">ignore_error</span></code>
- and <code class="computeroutput"><span class="identifier">errno_on_erro</span></code> policies,
- and <a class="link" href="../policy.html" title="Policies">Policy</a> is the current policy
- in use for the function that was called.
- </p>
-<p>
- The default policy for this function is <code class="computeroutput"><span class="identifier">ignore_error</span></code>:
- note that this error type is reserved for situations where the result is
- mathematically undefined or indeterminate, but there is none the less a convention
- for what the result should be: for example the C99 standard specifies that
- the result of 0<sup>0</sup> is 1, even though the result is actually mathematically indeterminate.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h10"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__rounding_error___rounding_errors"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__rounding_error___rounding_errors"><a name="rounding_error"></a>Rounding Errors</a>
- </h5>
-<p>
- When one of the rounding functions <a class="link" href="../utils/rounding/round.html" title="Rounding Functions">round</a>,
- <a class="link" href="../utils/rounding/trunc.html" title="Truncation Functions">trunc</a> or <a class="link" href="../utils/rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">modf</a>
- is called with an argument that has no integer representation, or is too
- large to be represented in the result type then the value returned is the
- result of a call to:
- </p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">raise_rounding_error</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">FunctionName</span><span class="special">,</span> <span class="identifier">Message</span><span class="special">,</span> <span class="identifier">Val</span><span class="special">,</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">);</span>
-</pre>
-<p>
- Where <code class="computeroutput"><span class="identifier">T</span></code> is the floating point
- type passed to the function, <code class="computeroutput"><span class="identifier">FunctionName</span></code>
- is the name of the function, <code class="computeroutput"><span class="identifier">Message</span></code>
- is an error message describing the problem, <code class="computeroutput"><span class="identifier">Val</span></code>
- is the erroneous argument, and <a class="link" href="../policy.html" title="Policies">Policy</a>
- is the current policy in use for the called function.
- </p>
-<p>
- The default behaviour of this function is to throw a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code>.
- </p>
-<p>
- Note that in order to support information rich error messages when throwing
- exceptions, <code class="computeroutput"><span class="identifier">Message</span></code> must
- contain a <a href="../../../../../../format/index.html" target="_top">Boost.Format</a>
- recognised format specifier: the argument <code class="computeroutput"><span class="identifier">val</span></code>
- is inserted into the error message according to the specifier used.
- </p>
-<p>
- For example if <code class="computeroutput"><span class="identifier">Message</span></code> contains
- a "%1%" then it is replaced by the value of <code class="computeroutput"><span class="identifier">val</span></code>
- to the full precision of T, where as "%.3g" would contain the value
- of <code class="computeroutput"><span class="identifier">val</span></code> to 3 digits. See the
- <a href="../../../../../../format/index.html" target="_top">Boost.Format</a> documentation
- for more details.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.error_handling.h11"></a>
- <span><a name="math_toolkit.main_overview.error_handling._anchor_id__checked_narrowing_cast___errors_from_typecasts"></a></span><a class="link" href="error_handling.html#math_toolkit.main_overview.error_handling._anchor_id__checked_narrowing_cast___errors_from_typecasts"><a name="checked_narrowing_cast"></a>Errors from typecasts</a>
- </h5>
-<p>
- Many special functions evaluate their results at a higher precision than
- their arguments in order to ensure full machine precision in the result:
- for example, a function passed a float argument may evaluate its result using
- double precision internally. Many of the errors listed above may therefore
- occur not during evaluation, but when converting the result to the narrower
- result type. The function:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">checked_narrowing_cast</span><span class="special">(</span><span class="identifier">U</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">);</span>
-</pre>
-<p>
- Is used to perform these conversions, and will call the error handlers listed
- above on <a class="link" href="error_handling.html#overflow_error">overflow</a>, <a class="link" href="error_handling.html#underflow_error">underflow</a>
- or <a class="link" href="error_handling.html#denorm_error">denormalisation</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="result_type.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="compilers_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/faq.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/faq.html
deleted file mode 100644
index aee1d0c020..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/faq.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Frequently Asked Questions FAQ</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="tr1.html" title="C99 and C++ TR1 C-style Functions">
-<link rel="next" href="contact.html" title="Contact Info and Support">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tr1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="contact.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_faq">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.faq"></a><a class="link" href="faq.html" title="Frequently Asked Questions FAQ">Frequently Asked Questions
- FAQ</a>
-</h3></div></div></div>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- <span class="emphasis"><em>I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user and I don't
- see where the functions like dnorm(mean, sd) are in Boost.Math?</em></span>
- <br> Nearly all are provided, and many more like mean, skewness, quantiles,
- complements ... but Boost.Math makes full use of C++, and it looks a
- bit different. But do not panic! See section on construction and the
- many examples. Briefly, the distribution is constructed with the parameters
- (like location and scale) (things after the | in representation like
- P(X=k|n, p) or ; in a common represention of pdf f(x; &#956;&#963;<sup>2</sup>). Functions like
- pdf, cdf are called with the name of that distribution and the random
- variate often called x or k. For example, <code class="computeroutput"><span class="identifier">normal</span>
- <span class="identifier">my_norm</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span> <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">my_norm</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span></code>
- <br>
- </li>
-<li class="listitem">
- I'm a user of <a href="http://support.sas.com/rnd/app/da/new/probabilityfunctions.html" target="_top">New
- SAS Functions for Computing Probabilities</a>. <br> You will find
- the interface more familar, but to be able to select a distribution (perhaps
- using a string) see the Extras/Future Directions section, and /boost/libs/math/dot_net_example/boost_math.cpp
- for an example that is used to create a C# utility (that you might also
- find useful): see <a href="http://sourceforge.net/projects/distexplorer/" target="_top">Statistical
- Distribution Explorer</a> <br> .
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I'm allegic to reading manuals and prefer to learn from examples.</em></span><br>
- Fear not - you are not alone! Many examples are available for functions
- and distributions. Some are referenced directly from the text. Others
- can be found at \boost_latest_release\libs\math\example. If you are a
- Visual Studio user, you should be able to create projects from each of
- these, making sure that the Boost library is in the include directories
- list.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>How do I make sure that the Boost library is in the Visual
- Studio include directories list?</em></span><br> You can add an include
- path, for example, your Boost place /boost-latest_release, for example
- <code class="computeroutput"><span class="identifier">X</span><span class="special">:/</span><span class="identifier">boost_1_45_0</span><span class="special">/</span></code>
- if you have a separate partition X for Boost releases. Or you can use
- an environment variable BOOST_ROOT set to your Boost place, and include
- that. Visual Studio before 2010 provided Tools, Options, VC++ Directories
- to control directories: Visual Studio 2010 instead provides property
- sheets to assist. You may find it convenient to create a new one adding
- \boost-latest_release; to the existing include items in $(IncludePath).
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I'm a FORTRAN/NAG/SPSS/SAS/Cephes/MathCad/R user and I don't
- see where the properties like mean, median, mode, variance, skewness
- of distributions are in Boost.Math?</em></span><br> They are all available
- (if defined for the parameters with which you constructed the distribution)
- via <a class="link" href="../dist/dist_ref/nmp.html#math.dist.cdf">Cumulative Distribution Function</a>,
- <a class="link" href="../dist/dist_ref/nmp.html#math.dist.pdf">Probability Density Function</a>, <a class="link" href="../dist/dist_ref/nmp.html#math.dist.quantile">Quantile</a>, <a class="link" href="../dist/dist_ref/nmp.html#math.dist.hazard">Hazard
- Function</a>, <a class="link" href="../dist/dist_ref/nmp.html#math.dist.chf">Cumulative Hazard Function</a>,
- <a class="link" href="../dist/dist_ref/nmp.html#math.dist.mean">mean</a>, <a class="link" href="../dist/dist_ref/nmp.html#math.dist.median">median</a>,
- <a class="link" href="../dist/dist_ref/nmp.html#math.dist.mode">mode</a>, <a class="link" href="../dist/dist_ref/nmp.html#math.dist.variance">variance</a>,
- <a class="link" href="../dist/dist_ref/nmp.html#math.dist.sd">standard deviation</a>, <a class="link" href="../dist/dist_ref/nmp.html#math.dist.skewness">skewness</a>,
- <a class="link" href="../dist/dist_ref/nmp.html#math.dist.kurtosis">kurtosis</a>, <a class="link" href="../dist/dist_ref/nmp.html#math.dist.kurtosis_excess">kurtosis_excess</a>,
- <a class="link" href="../dist/dist_ref/nmp.html#math.dist.range">range</a> and <a class="link" href="../dist/dist_ref/nmp.html#math.dist.support">support</a>.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I am a C programmer. Can I user Boost.Math with C?</em></span><br>
- Yes you can, including all the special functions, and TR1 functions like
- isnan. They appear as C functions, by being declared as "extern
- C".
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I am a C# (Basic? F# FORTRAN? Other CLI?) programmer. Can I
- use Boost.Math with C#?</em></span> <br> Yes you can, including all
- the special functions, and TR1 functions like isnan. But you <span class="bold"><strong>must build the Boost.Math as a dynamic library (.dll) and
- compile with the /CLI option</strong></span>. See the boost/math/dot_net_example
- folder which contains an example that builds a simple statistical distribution
- app with a GUI. See <a href="http://sourceforge.net/projects/distexplorer/" target="_top">Statistical
- Distribution Explorer</a> <br>
- </li>
-<li class="listitem">
- <span class="emphasis"><em>What these "policies" things for?</em></span> <br>
- Policies are a powerful (if necessarily complex) fine-grain mechanism
- that allow you to customise the behaviour of the Boost.Math library according
- to your precise needs. See <a class="link" href="../policy.html" title="Policies">Policies</a>.
- But if, very probably, the default behaviour suits you, you don't need
- to know more.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I am a C user and expect to see global C-style<code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- set for overflow/errors etc?</em></span> <br> You can achieve what you
- want - see <a class="link" href="../policy/pol_ref/error_handling_policies.html" title="Error Handling Policies">error
- handling policies</a> and <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user
- error handling</a> and many examples.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I am a C user and expect to silently return a max value for
- overflow?</em></span> <br> You (and C++ users too) can return whatever
- you want on overflow - see <a class="link" href="error_handling.html#overflow_error">overflow_error</a>
- and <a class="link" href="../policy/pol_ref/error_handling_policies.html" title="Error Handling Policies">error
- handling policies</a> and several examples.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I don't want any error message for overflow etc?</em></span>
- <br> You can control exactly what happens for all the abnormal conditions,
- including the values returned. See <a class="link" href="error_handling.html#domain_error">domain_error</a>,
- <a class="link" href="error_handling.html#overflow_error">overflow_error</a> <a class="link" href="../policy/pol_ref/error_handling_policies.html" title="Error Handling Policies">error
- handling policies</a> <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user
- error handling</a> etc and examples.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>My environment doesn't allow and/or I don't want exceptions.
- Can I still user Boost.Math?</em></span> <br> Yes but you must customise
- the error handling: see <a class="link" href="../policy/pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">user
- error handling</a> and <a class="link" href="../policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">changing
- policies defaults</a> .
- </li>
-<li class="listitem">
- <span class="emphasis"><em>The docs are several hundreds of pages long! Can I read the
- docs off-line or on paper?</em></span> <br> Yes - you can download the
- Boost current release of most documentation as a zip of pdfs (including
- Boost.Math) from Sourceforge, for example <a href="https://sourceforge.net/projects/boost/files/boost-docs/1.45.0/boost_pdf_1_45_0.tar.gz/download" target="_top">https://sourceforge.net/projects/boost/files/boost-docs/1.45.0/boost_pdf_1_45_0.tar.gz/download</a>.
- And you can print any pages you need (or even print all pages - but be
- warned that there are several hundred!). Both html and pdf versions are
- highly hyperlinked. The entire Boost.Math pdf can be searched with Adobe
- Reader, Edit, Find ... This can often find what you seek, a partial substitute
- for a full index.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I want a compact version for an embedded application. Can I
- use float precision?</em></span> <br> Yes - by selecting RealType template
- parameter as float: for example normal_distribution&lt;float&gt; your_normal(mean,
- sd); (But double may still be used internally, so space saving may be
- less that you hope for). You can also change the promotion policy, but
- accuracy might be much reduced.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I seem to get somewhat different results compared to other
- programs. Why?</em></span> We hope Boost.Math to be more accurate: our
- priority is accuracy (over speed). See the section on accuracy. But for
- evaluations that require iterations there are parameters which can change
- the required accuracy. You might be able to squeeze a little more accuracy
- at the cost of runtime.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>Will my program run more slowly compared to other math functions
- and statistical libraries?</em></span> Probably, thought not always, and
- not by too much: our priority is accuracy. For most functions, making
- sure you have the latest compiler version with all optimisations switched
- on is the key to speed. For evaluations that require iteration, you may
- be able to gain a little more speed at the expense of accuracy. See detailed
- suggestions and results on <a class="link" href="../perf.html" title="Performance">performance</a>.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>How do I handle infinity and NaNs portably?</em></span> <br>
- See <a class="link" href="../utils/fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">nonfinite fp_facets</a>
- for Facets for Floating-Point Infinities and NaNs.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>Where are the pre-built libraries?</em></span> <br> Good news
- - you probably don't need any! - just #include &lt;boost/math/distribution_you_want&gt;.
- But in the unlikely event that you do, see <a class="link" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">building
- libraries</a>.
- </li>
-<li class="listitem">
- <span class="emphasis"><em>I don't see the function or distribution that I want.</em></span>
- <br> You could try an email to ask the authors - but no promises!
- </li>
-</ol></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tr1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="contact.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/hints.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/hints.html
deleted file mode 100644
index 53a2dae49f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/hints.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Other Hints and tips</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="conventions.html" title="Document Conventions">
-<link rel="next" href="directories.html" title="Directory and File Structure">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="conventions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="directories.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_hints">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.hints"></a><a class="link" href="hints.html" title="Other Hints and tips">Other Hints and tips</a>
-</h3></div></div></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- If you have a feature request, or if it appears that the implementation
- is in error, please search first in the <a href="https://svn.boost.org/trac/boost/" target="_top">Boost
- Trac</a>.
- </li>
-<li class="listitem">
- <a href="https://svn.boost.org/trac/boost/" target="_top">Trac</a> entries may
- indicate that updates or corrections that solve your problem are in
- <a href="http://svn.boost.org/svn/boost/trunk" target="_top">Boost-trunk</a>
- where changes are being assembled and tested ready for the next release.
- You may, at your own risk, download new versions from there.
- </li>
-<li class="listitem">
- If you do not understand why things work the way they do, see the <span class="emphasis"><em>rationale</em></span>
- section.
- </li>
-<li class="listitem">
- If you do not find your idea/feature/complaint, please reach the author
- preferably through the Boost development list, or email the author(s)
- direct.
- </li>
-</ul></div>
-<h6>
-<a name="math_toolkit.main_overview.hints.h0"></a>
- <span><a name="math_toolkit.main_overview.hints.admonishments"></a></span><a class="link" href="hints.html#math_toolkit.main_overview.hints.admonishments">Admonishments</a>
- </h6>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- In addition, notes such as this one specify non-essential information that
- provides additional background or rationale.
- </p></td></tr>
-</table></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- These blocks contain information that you may find helpful while coding.
- </p></td></tr>
-</table></div>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- These contain information that is imperative to understanding a concept.
- Failure to follow suggestions in these blocks will probably result in undesired
- behavior. Read all of these you find.
- </p></td></tr>
-</table></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Failure to heed this will lead to incorrect, and very likely undesired,
- results.
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="conventions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="directories.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html
deleted file mode 100644
index f1340d05e1..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html
+++ /dev/null
@@ -1,489 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>History and What's New</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">
-<link rel="next" href="tr1.html" title="C99 and C++ TR1 C-style Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="building.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_history1">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.history1"></a><a class="link" href="history1.html" title="History and What's New">History and What's
- New</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h0"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_50"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_50">Boost-1.50</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Promoted math constants to be 1st class citizens, including convenient
- access to the most widely used built-in float, double, long double via
- three namespaces.
- </li>
-<li class="listitem">
- Added the Owen's T function and Skew Normal distribution written by Benjamin
- Sobotta: see <a class="link" href="../special/owens_t.html" title="Owen's T function">Owens T</a>
- and skew_normal_distrib.
- </li>
-<li class="listitem">
- Added Hankel functions <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>,
- <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>,
- <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a>
- and <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>.
- </li>
-<li class="listitem">
- Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627" target="_top">#6627
- nonfinite_num_put formatting of 0.0 is incorrect</a> based on a patch
- submitted by K R Walker.
- </li>
-<li class="listitem">
- Changed constant initialization mechanism so that it is thread safe even
- for user-defined types, also so that user defined types get the full
- precision of the constant, even when <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> does not. So for example
- 128-bit rational approximations will work with UDT's and do the right
- thing, even though <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> may be only 64 or 80 bits.
- </li>
-<li class="listitem">
- Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
- which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h1"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_49"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_49">Boost-1.49</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Deprecated wrongly named <code class="computeroutput"><span class="identifier">twothirds</span></code>
- math constant in favour of <code class="computeroutput"><span class="identifier">two_thirds</span></code>
- (with underscore separator). (issue <a href="https://svn.boost.org/trac/boost/ticket/6199" target="_top">#6199</a>).
- </li>
-<li class="listitem">
- Refactored test data and some special function code to improve support
- for arbitary precision and/or expression-template-enabled types.
- </li>
-<li class="listitem">
- Added new faster zeta function evaluation method.
- </li>
-</ul></div>
-<p>
- Fixed issues:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Corrected CDF complement for Laplace distribution (issue <a href="https://svn.boost.org/trac/boost/ticket/6151" target="_top">#6151</a>).
- </li>
-<li class="listitem">
- Corrected branch cuts on the complex inverse trig functions, to handle
- signed zeros (issue <a href="https://svn.boost.org/trac/boost/ticket/6171" target="_top">#6171</a>).
- </li>
-<li class="listitem">
- Fixed bug in <code class="computeroutput"><span class="identifier">bessel_yn</span></code>
- which caused incorrect overflow errors to be raised for negative <span class="emphasis"><em>n</em></span>
- (issue <a href="https://svn.boost.org/trac/boost/ticket/6367" target="_top">#6367</a>).
- </li>
-<li class="listitem">
- Also fixed minor/cosmetic/configuration issues <a href="https://svn.boost.org/trac/boost/ticket/6120" target="_top">#6120</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6191" target="_top">#6191</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6130" target="_top">#6130</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6234" target="_top">#6234</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6307" target="_top">#6307</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6192" target="_top">#6192</a>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h2"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_48"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_48">Boost-1.48</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added new series evaluation methods to the cyclic Bessel I, J, K and
- Y functions. Also taken great care to avoid spurious over and underflow
- of these functions. Fixes issue <a href="https://svn.boost.org/trac/boost/ticket/5560" target="_top">#5560</a>
- </li>
-<li class="listitem">
- Added an example of using Inverse Chi-Squared distribution for Bayesian
- statistics, provided by Thomas Mang.
- </li>
-<li class="listitem">
- Added tests to use improved version of lexical_cast which handles C99
- nonfinites without using globale facets.
- </li>
-<li class="listitem">
- Corrected wrong out-of-bound uniform distribution CDF complement values
- <a href="https://svn.boost.org/trac/boost/ticket/5733" target="_top">#5733</a>.
- </li>
-<li class="listitem">
- Enabled long double support on OpenBSD (issue <a href="https://svn.boost.org/trac/boost/ticket/6014" target="_top">#6014</a>).
- </li>
-<li class="listitem">
- Changed nextafter and related functions to behave in the same way as
- other implementations - so that nextafter(+INF, 0) is a finite value
- (issue <a href="https://svn.boost.org/trac/boost/ticket/5823" target="_top">#5832</a>).
- </li>
-<li class="listitem">
- Changed tuple include configuration to fix issue when using in conjunction
- with Boost.Tr1 (issue <a href="https://svn.boost.org/trac/boost/ticket/5934" target="_top">#5934</a>).
- </li>
-<li class="listitem">
- Changed class eps_tolerance to behave correctly when both ends of the
- range are zero (issue <a href="https://svn.boost.org/trac/boost/ticket/6001" target="_top">#6001</a>).
- </li>
-<li class="listitem">
- Fixed missing include guards on prime.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5927" target="_top">#5927</a>).
- </li>
-<li class="listitem">
- Removed unused/undocumented constants from constants.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>).
- </li>
-<li class="listitem">
- Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5914" target="_top">#5914</a>).
- </li>
-<li class="listitem">
- Minor patches for Cray compiler compatibility.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h3"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_47"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_47">Boost-1.47</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added changesign function to sign.hpp to facilitate addition of nonfinite
- facets.
- </li>
-<li class="listitem">
- Addition of nonfinite facets from Johan Rade, with tests, examples of
- use for C99 format infinity and NaN, and documentation.
- </li>
-<li class="listitem">
- Added tests and documentation of changesign from Johan Rade.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h4"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_46_1"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_46_1">Boost-1.46.1</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5095</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5113</a>.
- </li></ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h5"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_46_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_46_0">Boost-1.46.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Wald, Inverse Gaussian and geometric distributions.
- </li>
-<li class="listitem">
- Added information about configuration macros.
- </li>
-<li class="listitem">
- Added support for mpreal as a real-numbered type.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h6"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_45_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_45_0">Boost-1.45.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added warnings about potential ambiguity with std random library in distribution
- and function names.
- </li>
-<li class="listitem">
- Added inverse gamma distribution and inverse chi_square and scaled inverse
- chi_square.
- </li>
-<li class="listitem">
- Editorial revision of documentation, and added FAQ.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h7"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_44_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_44_0">Boost-1.44.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Fixed incorrect range and support for Rayleigh distribution.
- </li>
-<li class="listitem">
- Fixed numerical error in the quantile of the Student's T distribution:
- the function was returning garbage values for non-integer degrees of
- freedom between 2 and 3.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h8"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_41_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_41_0">Boost-1.41.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Significantly improved performance for the incomplete gamma function
- and its inverse.
- </li></ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h9"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_40_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_40_0">Boost-1.40.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added support for MPFR as a bignum type.
- </li>
-<li class="listitem">
- Added some full specializations of the policy classes to reduce compile
- times.
- </li>
-<li class="listitem">
- Added logistic and hypergeometric distributions, from Gautam Sewani's
- Google Summer of Code project.
- </li>
-<li class="listitem">
- Added Laplace distribution submitted by Thijs van den Berg.
- </li>
-<li class="listitem">
- Updated performance test code to include new distributions, and improved
- the performance of the non-central distributions.
- </li>
-<li class="listitem">
- Added SSE2 optimised <a class="link" href="../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> code, from Gautam Sewani's Google Summer of Code
- project.
- </li>
-<li class="listitem">
- Fixed bug in cyl_bessel_i that used an incorrect approximation for &#957; =
- 0.5, also effects the non-central Chi Square Distribution when &#957; = 3, see
- bug report <a href="https://svn.boost.org/trac/boost/ticket/2877" target="_top">#2877</a>.
- </li>
-<li class="listitem">
- Fixed minor bugs <a href="https://svn.boost.org/trac/boost/ticket/2873" target="_top">#2873</a>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h10"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_38_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_38_0">Boost-1.38.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Johan R&#229;de's optimised floating point classification routines.
- </li>
-<li class="listitem">
- Fixed code so that it compiles in GCC's -pedantic mode (bug report <a href="https://svn.boost.org/trac/boost/ticket/1451" target="_top">#1451</a>).
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h11"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_37_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_37_0">Boost-1.37.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Improved accuracy and testing of the inverse hypergeometric functions.
- </li></ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h12"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_36_0"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_36_0">Boost-1.36.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Noncentral Chi Squared Distribution.
- </li>
-<li class="listitem">
- Added Noncentral Beta Distribution.
- </li>
-<li class="listitem">
- Added Noncentral F Distribution.
- </li>
-<li class="listitem">
- Added Noncentral T Distribution.
- </li>
-<li class="listitem">
- Added Exponential Integral Functions.
- </li>
-<li class="listitem">
- Added Zeta Function.
- </li>
-<li class="listitem">
- Added Rounding and Truncation functions.
- </li>
-<li class="listitem">
- Added Compile time powers of runtime bases.
- </li>
-<li class="listitem">
- Added SSE2 optimizations for Lanczos evaluation.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h13"></a>
- <span><a name="math_toolkit.main_overview.history1.boost_1_35_0__post_review_first_official_release"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.boost_1_35_0__post_review_first_official_release">Boost-1.35.0:
- Post Review First Official Release</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Policy based framework that allows fine grained control over function
- behaviour.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Breaking change:</strong></span> Changed default behaviour
- for domain, pole and overflow errors to throw an exception (based on
- review feedback), this behaviour can be customised using <a class="link" href="../policy.html" title="Policies">Policy</a>'s.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Breaking change:</strong></span> Changed exception thrown
- when an internal evaluation error occurs to boost::math::evaluation_error.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Breaking change:</strong></span> Changed discrete quantiles
- to return an integer result: this is anything up to 20 times faster than
- finding the true root, this behaviour can be customised using <a class="link" href="../policy.html" title="Policies">Policy</a>'s.
- </li>
-<li class="listitem">
- Polynomial/rational function evaluation is now customisable and hopefully
- faster than before.
- </li>
-<li class="listitem">
- Added performance test program.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h14"></a>
- <span><a name="math_toolkit.main_overview.history1.milestone_4__second_review_candidate__1st_march_2007_"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.milestone_4__second_review_candidate__1st_march_2007_">Milestone
- 4: Second Review Candidate (1st March 2007)</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Moved Xiaogang Zhang's Bessel Functions code into the library, and brought
- them into line with the rest of the code.
- </li>
-<li class="listitem">
- Added C# "Distribution Explorer" demo application.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h15"></a>
- <span><a name="math_toolkit.main_overview.history1.milestone_3__first_review_candidate__31st_dec_2006_"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.milestone_3__first_review_candidate__31st_dec_2006_">Milestone
- 3: First Review Candidate (31st Dec 2006)</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Implemented the main probability distribution and density functions.
- </li>
-<li class="listitem">
- Implemented digamma.
- </li>
-<li class="listitem">
- Added more factorial functions.
- </li>
-<li class="listitem">
- Implemented the Hermite, Legendre and Laguerre polynomials plus the spherical
- harmonic functions from TR1.
- </li>
-<li class="listitem">
- Moved Xiaogang Zhang's elliptic integral code into the library, and brought
- them into line with the rest of the code.
- </li>
-<li class="listitem">
- Moved Hubert Holin's existing Boost.Math special functions into this
- library and brought them into line with the rest of the code.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h16"></a>
- <span><a name="math_toolkit.main_overview.history1.milestone_2__released_september_10th_2006"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.milestone_2__released_september_10th_2006">Milestone
- 2: Released September 10th 2006</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Implement preview release of the statistical distributions.
- </li>
-<li class="listitem">
- Added statistical distributions tutorial.
- </li>
-<li class="listitem">
- Implemented root finding algorithms.
- </li>
-<li class="listitem">
- Implemented the inverses of the incomplete gamma and beta functions.
- </li>
-<li class="listitem">
- Rewrite erf/erfc as rational approximations (valid to 128-bit precision).
- </li>
-<li class="listitem">
- Integrated the statistical results generated from the test data with
- Boost.Test: uses a database of expected results, indexed by test, floating
- point type, platform, and compiler.
- </li>
-<li class="listitem">
- Improved lgamma near 1 and 2 (rational approximations).
- </li>
-<li class="listitem">
- Improved erf/erfc inverses (rational approximations).
- </li>
-<li class="listitem">
- Implemented Rational function generation (the Remez method).
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.main_overview.history1.h17"></a>
- <span><a name="math_toolkit.main_overview.history1.milestone_1__released_march_31st_2006"></a></span><a class="link" href="history1.html#math_toolkit.main_overview.history1.milestone_1__released_march_31st_2006">Milestone
- 1: Released March 31st 2006</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Implement gamma/beta/erf functions along with their incomplete counterparts.
- </li>
-<li class="listitem">
- Generate high quality test data, against which future improvements can
- be judged.
- </li>
-<li class="listitem">
- Provide tools for the evaluation of infinite series, continued fractions,
- and rational functions.
- </li>
-<li class="listitem">
- Provide tools for testing against tabulated test data, and collecting
- statistics on error rates.
- </li>
-<li class="listitem">
- Provide sufficient docs for people to be able to find their way around
- the library.
- </li>
-</ul></div>
-<p>
- SVN Revisions:
- </p>
-<p>
- Sandbox and trunk last synchonised at revision: .
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="building.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/intro.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/intro.html
deleted file mode 100644
index 25b5f635f4..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/intro.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>About the Math Toolkit</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="../main_overview.html" title="Overview">
-<link rel="next" href="navigation.html" title="Navigation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../main_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="navigation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_intro">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.intro"></a><a class="link" href="intro.html" title="About the Math Toolkit">About the Math Toolkit</a>
-</h3></div></div></div>
-<p>
- This library is divided into three interconnected parts:
- </p>
-<h5>
-<a name="math_toolkit.main_overview.intro.h0"></a>
- <span><a name="math_toolkit.main_overview.intro.statistical_distributions"></a></span><a class="link" href="intro.html#math_toolkit.main_overview.intro.statistical_distributions">Statistical
- Distributions</a>
- </h5>
-<p>
- Provides a reasonably comprehensive set of <a class="link" href="../dist.html" title="Statistical Distributions and Functions">statistical
- distributions</a>, upon which higher level statistical tests can be built.
- </p>
-<p>
- The initial focus is on the central <a href="http://en.wikipedia.org/wiki/Univariate" target="_top">univariate
- </a> <a href="http://mathworld.wolfram.com/StatisticalDistribution.html" target="_top">distributions</a>.
- Both <a href="http://mathworld.wolfram.com/ContinuousDistribution.html" target="_top">continuous</a>
- (like <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">normal</a>
- &amp; <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher</a>)
- and <a href="http://mathworld.wolfram.com/DiscreteDistribution.html" target="_top">discrete</a>
- (like <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">binomial</a>
- &amp; <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson</a>)
- distributions are provided.
- </p>
-<p>
- A <a class="link" href="../dist/stat_tut.html" title="Statistical Distributions Tutorial">comprehensive tutorial is provided</a>,
- along with a series of <a class="link" href="../dist/stat_tut/weg.html" title="Worked Examples">worked
- examples</a> illustrating how the library is used to conduct statistical
- tests.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.intro.h1"></a>
- <span><a name="math_toolkit.main_overview.intro.mathematical_special_functions"></a></span><a class="link" href="intro.html#math_toolkit.main_overview.intro.mathematical_special_functions">Mathematical
- Special Functions</a>
- </h5>
-<p>
- Provides a small number of high quality <a class="link" href="../special.html" title="Special Functions">special
- functions</a>, initially these were concentrated on functions used in
- statistical applications along with those in the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
- Report on C++ Library Extensions</a>.
- </p>
-<p>
- The function families currently implemented are the gamma, beta &amp; erf
- functions along with the incomplete gamma and beta functions (four variants
- of each) and all the possible inverses of these, plus digamma, various factorial
- functions, Bessel functions, elliptic integrals, sinus cardinals (along with
- their hyperbolic variants), inverse hyperbolic functions, Legrendre/Laguerre/Hermite
- polynomials and various special power and logarithmic functions.
- </p>
-<p>
- All the implementations are fully generic and support the use of arbitrary
- "real-number" types, although they are optimised for use with types
- with known-about <a href="http://en.wikipedia.org/wiki/Significand" target="_top">significand
- (or mantissa)</a> sizes: typically <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code> or <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.intro.h2"></a>
- <span><a name="math_toolkit.main_overview.intro.implementation_toolkit"></a></span><a class="link" href="intro.html#math_toolkit.main_overview.intro.implementation_toolkit">Implementation
- Toolkit</a>
- </h5>
-<p>
- Provides <a class="link" href="../toolkit.html" title="Tools and Internal Details">many of the tools</a> required
- to implement mathematical special functions: hopefully the presence of these
- will encourage other authors to contribute more special function implementations
- in the future. These tools are currently considered experimental: they are
- "exposed implementation details" whose interfaces and/or implementations
- may change.
- </p>
-<p>
- There are helpers for the <a class="link" href="../toolkit/internals1/series_evaluation.html" title="Series Evaluation">evaluation
- of infinite series</a>, <a class="link" href="../toolkit/internals1/cf.html" title="Continued Fraction Evaluation">continued
- fractions</a> and <a class="link" href="../toolkit/internals1/rational.html" title="Polynomial and Rational Function Evaluation">rational
- approximations</a>.
- </p>
-<p>
- There is a fairly comprehensive set of root finding and <a class="link" href="../toolkit/internals1/minima.html" title="Locating Function Minima: Brent's algorithm">function
- minimisation algorithms</a>: the root finding algorithms are both <a class="link" href="../toolkit/internals1/roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">with</a> and <a class="link" href="../toolkit/internals1/roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">without</a>
- derivative support.
- </p>
-<p>
- A <a class="link" href="../toolkit/internals2/minimax.html" title="Minimax Approximations and the Remez Algorithm">Remez algorithm
- implementation</a> allows for the locating of minimax rational approximations.
- </p>
-<p>
- There are also (experimental) classes for the <a class="link" href="../toolkit/internals2/polynomials.html" title="Polynomials">manipulation
- of polynomials</a>, for <a class="link" href="../toolkit/internals2/error_test.html" title="Relative Error and Testing">testing
- a special function against tabulated test data</a>, and for the <a class="link" href="../toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">rapid generation of test
- data</a> and/or data for output to an external graphing application.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../main_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="navigation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/namespaces.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/namespaces.html
deleted file mode 100644
index c1e51f122a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/namespaces.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Namespaces</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="directories.html" title="Directory and File Structure">
-<link rel="next" href="result_type.html" title="Calculation of the Type of the Result">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="directories.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_type.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_namespaces">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.namespaces"></a><a class="link" href="namespaces.html" title="Namespaces">Namespaces</a>
-</h3></div></div></div>
-<p>
- All math functions and distributions are in <code class="computeroutput"><span class="keyword">namespace</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>
- </p>
-<p>
- So, for example, the Students-t distribution template in <code class="computeroutput"><span class="keyword">namespace</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code> is
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">students_t_distribution</span>
-</pre>
-<p>
- and can be instantiated with the help of the reserved name <code class="computeroutput"><span class="identifier">students_t</span></code>(for <code class="computeroutput"><span class="identifier">RealType</span>
- <span class="keyword">double</span></code>)
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">students_t_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">students_t</span><span class="special">;</span>
-
-<span class="identifier">student_t</span> <span class="identifier">mydist</span><span class="special">(</span><span class="number">10</span><span class="special">);</span>
-</pre>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Some distribution names are also used in std random library, so to avoid
- the risk of ambiguity it is better to make explicit using declarations,
- for example: <code class="computeroutput"><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t_distribution</span></code>
- </p></td></tr>
-</table></div>
-<p>
- Functions not intended for use by applications are in <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">detail</span></code>.
- </p>
-<p>
- Functions that may have more general use, like <code class="computeroutput"><span class="identifier">digits</span></code>
- (significand), <code class="computeroutput"><span class="identifier">max_value</span></code>,
- <code class="computeroutput"><span class="identifier">min_value</span></code> and <code class="computeroutput"><span class="identifier">epsilon</span></code> are in <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span></code>.
- </p>
-<p>
- <a class="link" href="../policy.html" title="Policies">Policy</a> and configuration information
- is in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span></code>.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Many code snippets assume implicit namespace(s), for example, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span></code>
- or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="directories.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="result_type.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html
deleted file mode 100644
index 1be09a2206..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Navigation</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="intro.html" title="About the Math Toolkit">
-<link rel="next" href="conventions.html" title="Document Conventions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conventions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_navigation">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.navigation"></a><a class="link" href="navigation.html" title="Navigation">Navigation</a>
-</h3></div></div></div>
-<p>
- <a class="indexterm" name="id818524"></a>
- </p>
-<p>
- Boost.Math documentation is provided in both HTML and PDF formats.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <span class="bold"><strong>Tutorials</strong></span> are listed in the <span class="emphasis"><em>Table
- of Contents</em></span> and include many examples that should help you
- get started quickly.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Source code</strong></span> of the many <span class="emphasis"><em>Examples</em></span>
- will often be your quickest starting point.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Index</strong></span> (general) includes all entries.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Specific Indexes</strong></span> list only functions,
- class signatures, macros and typedefs.
- </li>
-</ul></div>
-<h6>
-<a name="math_toolkit.main_overview.navigation.h0"></a>
- <span><a name="math_toolkit.main_overview.navigation.using_the_indexes"></a></span><a class="link" href="navigation.html#math_toolkit.main_overview.navigation.using_the_indexes">Using the
- Indexes</a>
- </h6>
-<p>
- The main index will usually help, especially if you know a word describing
- what it does, without needing to know the exact name chosen for the function.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- When using the index, keep in mind that clicking on an index term only
- takes you to the <span class="bold"><strong>section</strong></span> containing the
- index entry. This section may be several pages long, so you may need to
- use the <span class="bold"><strong>find</strong></span> facility of your browser
- or PDF reader to get to the index term itself.
- </p></td></tr>
-</table></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- A PDF reader usually allows a <span class="bold"><strong>global</strong></span> find;
- this can be really useful if the term you expect to be indexed is not the
- one chosen by the authors. You might find searching the PDF version and
- viewing the HTML version will locate an elusive item.
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conventions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/perf_over.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/perf_over.html
deleted file mode 100644
index a30695657c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/perf_over.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Performance</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="threads.html" title="Thread Safety">
-<link rel="next" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="threads.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="building.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_perf_over">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.perf_over"></a><a class="link" href="perf_over.html" title="Performance">Performance</a>
-</h3></div></div></div>
-<p>
- By and large the performance of this library should be acceptable for most
- needs. However, you should note that this library's primary emphasis is on
- accuracy and numerical stability, and <span class="emphasis"><em>not</em></span> speed.
- </p>
-<p>
- In terms of the algorithms used, this library aims to use the same "best
- of breed" algorithms as many other libraries: the principle difference
- is that this library is implemented in C++ - taking advantage of all the
- abstraction mechanisms that C++ offers - where as most traditional numeric
- libraries are implemented in C or FORTRAN. Traditionally languages such as
- C or FORTRAN are perceived as easier to optimise than more complex languages
- like C++, so in a sense this library provides a good test of current compiler
- technology, and the "abstraction penalty" - if any - of C++ compared
- to other languages.
- </p>
-<p>
- The two most important things you can do to ensure the best performance from
- this library are:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Turn on your compilers optimisations: the difference between "release"
- and "debug" builds can easily be a <a class="link" href="../perf/getting_best.html" title="Getting the Best Performance from this Library">factor
- of 20</a>.
- </li>
-<li class="listitem">
- Pick your compiler carefully: <a class="link" href="../perf/comp_compilers.html" title="Comparing Compilers">performance
- differences of up to 8 fold</a> have been found between some Windows
- compilers for example.
- </li>
-</ol></div>
-<p>
- The <a class="link" href="../perf.html" title="Performance">performance section</a> contains
- more information on the performance of this library, what you can do to fine
- tune it, and how this library compares to some other open source alternatives.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="threads.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="building.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/pol_overview.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/pol_overview.html
deleted file mode 100644
index c52c2c652a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/pol_overview.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Policies</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="config_macros.html" title="Configuration Macros">
-<link rel="next" href="threads.html" title="Thread Safety">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="config_macros.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="threads.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_pol_overview">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.pol_overview"></a><a class="link" href="pol_overview.html" title="Policies">Policies</a>
-</h3></div></div></div>
-<p>
- Policies are a powerful fine-grain mechanism that allow you to customise
- the behaviour of this library according to your needs. There is more information
- available in the <a class="link" href="../policy/pol_tutorial.html" title="Policy Tutorial">policy
- tutorial</a> and the <a class="link" href="../policy/pol_ref.html" title="Policy Reference">policy
- reference</a>.
- </p>
-<p>
- Generally speaking, unless you find that the <a class="link" href="../policy/pol_tutorial/policy_tut_defaults.html" title="Policies Have Sensible Defaults">default
- policy behaviour</a> when encountering 'bad' argument values does not
- meet your needs, you should not need to worry about policies.
- </p>
-<p>
- Policies are a compile-time mechanism that allow you to change error-handling
- or calculation precision either program wide, or at the call site.
- </p>
-<p>
- Although the policy mechanism itself is rather complicated, in practice it
- is easy to use, and very flexible.
- </p>
-<p>
- Using policies you can control:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a class="link" href="../policy/pol_ref/error_handling_policies.html" title="Error Handling Policies">How
- results from 'bad' arguments are handled</a>, including those that
- cannot be fully evaluated.
- </li>
-<li class="listitem">
- How <a class="link" href="../policy/pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">accuracy
- is controlled by internal promotion</a> to use more precise types.
- </li>
-<li class="listitem">
- What working <a class="link" href="../policy/pol_ref/precision_pol.html" title="Precision Policies">precision</a>
- should be used to calculate results.
- </li>
-<li class="listitem">
- What to do when a <a class="link" href="../policy/pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">mathematically
- undefined function</a> is used: Should this raise a run-time or compile-time
- error?
- </li>
-<li class="listitem">
- Whether <a class="link" href="../policy/pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">discrete
- functions</a>, like the binomial, should return real or only integral
- values, and how they are rounded.
- </li>
-<li class="listitem">
- How many iterations a special function is permitted to perform in a series
- evaluation or root finding algorithm before it gives up and raises an
- <a class="link" href="error_handling.html#evaluation_error">evaluation_error</a>.
- </li>
-</ul></div>
-<p>
- You can control policies:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Using <a class="link" href="../policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">macros</a>
- to change any default policy: the is the prefered method for installation
- wide policies.
- </li>
-<li class="listitem">
- At your chosen <a class="link" href="../policy/pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope">namespace
- scope</a> for distributions and/or functions: this is the prefered
- method for project, namespace, or translation unit scope policies.
- </li>
-<li class="listitem">
- In an ad-hoc manner <a class="link" href="../policy/pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">by
- passing a specific policy to a special function</a>, or to a <a class="link" href="../policy/pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">statistical
- distribution</a>.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="config_macros.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="threads.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/result_type.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/result_type.html
deleted file mode 100644
index 8490bf68f2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/result_type.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Calculation of the Type of the Result</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="namespaces.html" title="Namespaces">
-<link rel="next" href="error_handling.html" title="Error Handling">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="namespaces.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_handling.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_result_type">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.result_type"></a><a class="link" href="result_type.html" title="Calculation of the Type of the Result">Calculation of
- the Type of the Result</a>
-</h3></div></div></div>
-<p>
- The functions in this library are all overloaded to accept mixed floating
- point (or mixed integer and floating point type) arguments. So for example:
- </p>
-<pre class="programlisting"><span class="identifier">foo</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">);</span>
-<span class="identifier">foo</span><span class="special">(</span><span class="number">1.0f</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
-<span class="identifier">foo</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2L</span><span class="special">);</span>
-</pre>
-<p>
- etc, are all valid calls, as long as "foo" is a function taking
- two floating-point arguments. But that leaves the question:
- </p>
-<div class="sidebar">
-<div class="titlepage"></div>
-<p>
- <span class="emphasis"><em>"Given a special function with N arguments of types T1, T2,
- T3 ... TN, then what type is the result?"</em></span>
- </p>
-</div>
-<p>
- <span class="bold"><strong>If all the arguments are of the same (floating point)
- type then the result is the same type as the arguments.</strong></span>
- </p>
-<p>
- Otherwise, the type of the result is computed using the following logic:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Any arguments that are not template arguments are disregarded from further
- analysis.
- </li>
-<li class="listitem">
- For each type in the argument list, if that type is an integer type then
- it is treated as if it were of type double for the purposes of further
- analysis.
- </li>
-<li class="listitem">
- If any of the arguments is a user-defined class type, then the result
- type is the first such class type that is constructible from all of the
- other argument types.
- </li>
-<li class="listitem">
- If any of the arguments is of type <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, then the result is of
- type <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
- </li>
-<li class="listitem">
- If any of the arguments is of type <code class="computeroutput"><span class="keyword">double</span></code>,
- then the result is of type <code class="computeroutput"><span class="keyword">double</span></code>.
- </li>
-<li class="listitem">
- Otherwise the result is of type <code class="computeroutput"><span class="keyword">float</span></code>.
- </li>
-</ol></div>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="identifier">cyl_bessel</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3.0</span><span class="special">);</span>
-</pre>
-<p>
- Returns a <code class="computeroutput"><span class="keyword">double</span></code> result, as
- does:
- </p>
-<pre class="programlisting"><span class="identifier">cyl_bessel</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3.0f</span><span class="special">);</span>
-</pre>
-<p>
- as in this case the integer first argument is treated as a <code class="computeroutput"><span class="keyword">double</span></code> and takes precedence over the <code class="computeroutput"><span class="keyword">float</span></code> second argument. To get a <code class="computeroutput"><span class="keyword">float</span></code> result we would need all the arguments
- to be of type float:
- </p>
-<pre class="programlisting"><span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="number">2.0f</span><span class="special">,</span> <span class="number">3.0f</span><span class="special">);</span>
-</pre>
-<p>
- When one or more of the arguments is not a template argument then it doesn't
- effect the return type at all, for example:
- </p>
-<pre class="programlisting"><span class="identifier">sph_bessel</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">3.0f</span><span class="special">);</span>
-</pre>
-<p>
- returns a <code class="computeroutput"><span class="keyword">float</span></code>, since the first
- argument is not a template argument and so doesn't effect the result: without
- this rule functions that take explicitly integer arguments could never return
- <code class="computeroutput"><span class="keyword">float</span></code>.
- </p>
-<p>
- And for user defined types, all of the following return an NTL::RR result:
- </p>
-<pre class="programlisting"><span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="number">2</span><span class="special">));</span>
-
-<span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="number">2</span><span class="special">),</span> <span class="number">3</span><span class="special">);</span>
-
-<span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">quad_float</span><span class="special">(</span><span class="number">2</span><span class="special">),</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
-</pre>
-<p>
- In the last case, quad_float is convertible to RR, but not vice-versa, so
- the result will be an NTL::RR. Note that this assumes that you are using
- a <a class="link" href="../using_udt/use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library">patched NTL library</a>.
- </p>
-<p>
- These rules are chosen to be compatible with the behaviour of <span class="emphasis"><em>ISO/IEC
- 9899:1999 Programming languages - C</em></span> and with the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Draft
- Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph
- 5</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="namespaces.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_handling.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/threads.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/threads.html
deleted file mode 100644
index 5d51a9c51c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/threads.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Thread Safety</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="pol_overview.html" title="Policies">
-<link rel="next" href="perf_over.html" title="Performance">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pol_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_over.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_threads">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.threads"></a><a class="link" href="threads.html" title="Thread Safety">Thread Safety</a>
-</h3></div></div></div>
-<p>
- The library is fully thread safe and re-entrant for all functions regards
- of the data type they are instantiated on. Thread safety limitations relating
- to user defined types present in previous releases (prior to 1.50.0) have
- been removed.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pol_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_over.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html
deleted file mode 100644
index d750405695..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html
+++ /dev/null
@@ -1,620 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>C99 and C++ TR1 C-style Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../main_overview.html" title="Overview">
-<link rel="prev" href="history1.html" title="History and What's New">
-<link rel="next" href="faq.html" title="Frequently Asked Questions FAQ">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="faq.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_main_overview_tr1">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.main_overview.tr1"></a><a class="link" href="tr1.html" title="C99 and C++ TR1 C-style Functions">C99 and C++ TR1 C-style
- Functions</a>
-</h3></div></div></div>
-<p>
- Many of the special functions included in this library are also a part of
- the either the <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
- Standard ISO/IEC 9899:1999</a> or the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
- Report on C++ Library Extensions</a>. Therefore this library includes
- a thin wrapper header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span></code>
- that provides compatibility with these two standards.
- </p>
-<p>
- There are various pros and cons to using the library in this way:
- </p>
-<p>
- Pros:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- The header to include is lightweight (i.e. fast to compile).
- </li>
-<li class="listitem">
- The functions have extern "C" linkage, and so are usable from
- other languages (not just C and C++).
- </li>
-<li class="listitem">
- C99 and C++ TR1 Standard compatibility.
- </li>
-</ul></div>
-<p>
- Cons:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- You will need to compile and link to the external Boost.Math libraries.
- </li>
-<li class="listitem">
- Limited to support for the types, <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
- </li>
-<li class="listitem">
- Error handling is handled via setting ::errno and returning NaN's and
- infinities: this may be less flexible than an C++ exception based approach.
- </li>
-</ul></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The separate libraries are required <span class="bold"><strong>only</strong></span>
- if you choose to use boost/math/tr1.hpp rather than some other Boost.Math
- header, the rest of Boost.Math remains header-only.
- </p></td></tr>
-</table></div>
-<p>
- The separate libraries required in order to use tr1.hpp can be compiled using
- bjam from within the libs/math/build directory, or from the Boost root directory
- using the usual Boost-wide install procedure. Alternatively the source files
- are located in libs/math/src and each have the same name as the function
- they implement. The various libraries are named as follows:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Name
- </p>
- </th>
-<th>
- <p>
- Type
- </p>
- </th>
-<th>
- <p>
- Functions
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- boost_math_c99f-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- float
- </p>
- </td>
-<td>
- <p>
- C99 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_c99-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- double
- </p>
- </td>
-<td>
- <p>
- C99 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_c99l-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- long double
- </p>
- </td>
-<td>
- <p>
- C99 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_tr1f-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- float
- </p>
- </td>
-<td>
- <p>
- TR1 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_tr1-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- double
- </p>
- </td>
-<td>
- <p>
- TR1 Functions
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- boost_math_tr1l-&lt;suffix&gt;
- </p>
- </td>
-<td>
- <p>
- long double
- </p>
- </td>
-<td>
- <p>
- TR1 Functions
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Where <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> encodes the compiler and build options
- used to build the libraries: for example "libboost_math_tr1-vc80-mt-gd.lib"
- would be the statically linked TR1 library to use with Visual C++ 8.0, in
- multithreading debug mode, with the DLL VC++ runtime, where as "boost_math_tr1-vc80-mt.lib"
- would be import library for the TR1 DLL to be used with Visual C++ 8.0 with
- the release multithreaded DLL VC++ runtime. Refer to the getting started
- guide for a <a href="http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming" target="_top">full
- explanation of the <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">suffix</span><span class="special">&gt;</span></code> meanings</a>.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- Visual C++ users will typically have the correct library variant to link
- against selected for them by boost/math/tr1.hpp based on your compiler
- settings.
- </p>
-<p>
- Users will need to define BOOST_MATH_TR1_DYN_LINK when building their code
- if they want to link against the DLL versions of these libraries rather
- than the static versions.
- </p>
-<p>
- Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when building:
- this is typically only used when linking against a customised build of
- the libraries.
- </p>
-</td></tr>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Linux and Unix users will generally only have one variant of these libraries
- installed, and can generally just link against -lboost_math_tr1 etc.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.main_overview.tr1.h0"></a>
- <span><a name="math_toolkit.main_overview.tr1.usage_recomendations"></a></span><a class="link" href="tr1.html#math_toolkit.main_overview.tr1.usage_recomendations">Usage
- Recomendations</a>
- </h5>
-<p>
- This library now presents the user with a choice:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- To include the header only versions of the functions and have an easier
- time linking, but a longer compile time.
- </li>
-<li class="listitem">
- To include the TR1 headers and link against an external library.
- </li>
-</ul></div>
-<p>
- Which option you choose depends largely on how you prefer to work and how
- your system is set up.
- </p>
-<p>
- For example a casual user who just needs the acosh function, would probably
- be better off including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> in their
- code.
- </p>
-<p>
- However, for large scale software development where compile times are significant,
- and where the Boost libraries are already built and installed on the system,
- then including <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tr1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> and using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tr1</span><span class="special">::</span><span class="identifier">acosh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> will
- speed up compile times, reduce object files sizes (since there are no templates
- being instantiated any more), and also speed up debugging runtimes - since
- the externally compiled libraries can be compiler optimised, rather than
- built using full settings - the difference in performance between <a class="link" href="../perf/getting_best.html" title="Getting the Best Performance from this Library">release
- and debug builds can be as much as 20 times</a>, so for complex applications
- this can be a big win.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.tr1.h1"></a>
- <span><a name="math_toolkit.main_overview.tr1.supported_c99_functions"></a></span><a class="link" href="tr1.html#math_toolkit.main_overview.tr1.supported_c99_functions">Supported
- C99 Functions</a>
- </h5>
-<p>
- See also the <a class="link" href="../extern_c/c99.html" title="C99 C Functions">quick reference guide
- for these functions</a>.
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
-
-<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.main_overview.tr1.h2"></a>
- <span><a name="math_toolkit.main_overview.tr1.supported_tr1_functions"></a></span><a class="link" href="tr1.html#math_toolkit.main_overview.tr1.supported_tr1_functions">Supported
- TR1 Functions</a>
- </h5>
-<p>
- See also the <a class="link" href="../extern_c/tr1.html" title="C99 and TR1 C Functions Overview">quick reference guide
- for these functions</a>.
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span>
-
-<span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.2] associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.3] beta function:</span>
-<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span>
-<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span>
-<span class="comment">// cylindrical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span>
-<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.15] exponential integral:</span>
-<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.16] Hermite polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.18] Laguerre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.19] Legendre polynomials:</span>
-<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.20] Riemann zeta function:</span>
-<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span>
-<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.23] spherical Neumann functions;</span>
-<span class="comment">// spherical Bessel functions (of the second kind):</span>
-<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="special">}}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code>
- versions of the above functions are provided, so that calling the function
- with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span>
- arguments is supported, with the return type determined by the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>.
- </p>
-<h5>
-<a name="math_toolkit.main_overview.tr1.h3"></a>
- <span><a name="math_toolkit.main_overview.tr1.currently_unsupported_c99_functions"></a></span><a class="link" href="tr1.html#math_toolkit.main_overview.tr1.currently_unsupported_c99_functions">Currently
- Unsupported C99 Functions</a>
- </h5>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">exp2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">exp2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">exp2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fdim</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fdimf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fdiml</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">fma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">fmaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">z</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">int</span> <span class="identifier">ilogb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">ilogbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">int</span> <span class="identifier">ilogbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">log2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">log2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">logb</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">logbf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">logbl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">long</span> <span class="identifier">lrint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lrintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="identifier">lrintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nan</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nanf</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nanl</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span><span class="identifier">str</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">nearbyint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">nearbyintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nearbyintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">remainder</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">remainderf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remainderl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">remquo</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">remquof</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">remquol</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">int</span> <span class="special">*</span><span class="identifier">pquo</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">rint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">rintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">rintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">scalbln</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">scalblnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalblnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="identifier">ex</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">scalbn</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">scalbnf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">scalbnl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">ex</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="math_toolkit.main_overview.tr1.h4"></a>
- <span><a name="math_toolkit.main_overview.tr1.currently_unsupported_tr1_functions"></a></span><a class="link" href="tr1.html#math_toolkit.main_overview.tr1.currently_unsupported_tr1_functions">Currently
- Unsupported TR1 Functions</a>
- </h5>
-<pre class="programlisting"><span class="comment">// [5.2.1.7] confluent hypergeometric functions:</span>
-<span class="keyword">double</span> <span class="identifier">conf_hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">conf_hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">conf_hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="comment">// [5.2.1.17] hypergeometric functions:</span>
-<span class="keyword">double</span> <span class="identifier">hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">float</span> <span class="identifier">hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span>
-<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="faq.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf.html
deleted file mode 100644
index 6674369292..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Performance</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="policy/pol_ref/pol_ref_ref.html" title="Policy Class Reference">
-<link rel="next" href="perf/perf_over.html" title="Performance Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy/pol_ref/pol_ref_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf/perf_over.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.perf"></a><a class="link" href="perf.html" title="Performance">Performance</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="perf/perf_over.html">Performance Overview</a></span></dt>
-<dt><span class="section"><a href="perf/interp.html">Interpreting these Results</a></span></dt>
-<dt><span class="section"><a href="perf/getting_best.html">Getting the Best Performance
- from this Library</a></span></dt>
-<dt><span class="section"><a href="perf/comp_compilers.html">Comparing Compilers</a></span></dt>
-<dt><span class="section"><a href="perf/tuning.html">Performance Tuning Macros</a></span></dt>
-<dt><span class="section"><a href="perf/comparisons.html">Comparisons to Other Open
- Source Libraries</a></span></dt>
-<dt><span class="section"><a href="perf/perf_test_app.html">The Performance Test
- Application</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy/pol_ref/pol_ref_ref.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf/perf_over.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html
deleted file mode 100644
index 734f7d1f0e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html
+++ /dev/null
@@ -1,377 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Comparing Compilers</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../perf.html" title="Performance">
-<link rel="prev" href="getting_best.html" title="Getting the Best Performance from this Library">
-<link rel="next" href="tuning.html" title="Performance Tuning Macros">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="getting_best.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuning.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf_comp_compilers">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.perf.comp_compilers"></a><a class="link" href="comp_compilers.html" title="Comparing Compilers">Comparing Compilers</a>
-</h3></div></div></div>
-<p>
- After a good choice of build settings the next most important thing you can
- do, is choose your compiler - and the standard C library it sits on top of
- - very carefully. GCC-3.x in particular has been found to be particularly
- bad at inlining code, and performing the kinds of high level transformations
- that good C++ performance demands (thankfully GCC-4.x is somewhat better
- in this respect).
- </p>
-<div class="table">
-<a name="math_toolkit.perf.comp_compilers.performance_comparison_of_various_windows_compilers"></a><p class="title"><b>Table&#160;53.&#160;Performance Comparison of Various Windows Compilers</b></p>
-<div class="table-contents"><table class="table" summary="Performance Comparison of Various Windows Compilers">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Intel C++ 10.0
- </p>
- <p>
- ( /Ox /Qipo /QxN )
- </p>
- </th>
-<th>
- <p>
- Microsoft Visual C++ 8.0
- </p>
- <p>
- ( /Ox /arch:SSE2 )
- </p>
- </th>
-<th>
- <p>
- Cygwin G++ 3.4
- </p>
- <p>
- ( /O3 )
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.118e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.483e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.24</p>
-<p> </p>
-<p>(1.336e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.439e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.888e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>7.88</p>
-<p> </p>
-<p>(3.500e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.631e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.14</p>
-<p> </p>
-<p>(1.852e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.05</p>
-<p> </p>
-<p>(4.975e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
- and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.133e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.19</p>
-<p> </p>
-<p>(7.311e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.60</p>
-<p> </p>
-<p>(1.597e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
- and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.453e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.16</p>
-<p> </p>
-<p>(2.847e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.83</p>
-<p> </p>
-<p>(6.947e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.735e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.41</p>
-<p> </p>
-<p>(9.504e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.78</p>
-<p> </p>
-<p>(1.872e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
- and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.637e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.38</p>
-<p> </p>
-<p>(3.631e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.31</p>
-<p> </p>
-<p>(8.736e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
- and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(7.716e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.29</p>
-<p> </p>
-<p>(9.982e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.56</p>
-<p> </p>
-<p>(1.974e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="getting_best.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuning.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html
deleted file mode 100644
index df7a48af55..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html
+++ /dev/null
@@ -1,3132 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Comparisons to Other Open Source Libraries</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../perf.html" title="Performance">
-<link rel="prev" href="tuning.html" title="Performance Tuning Macros">
-<link rel="next" href="perf_test_app.html" title="The Performance Test Application">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tuning.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf_comparisons">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.perf.comparisons"></a><a class="link" href="comparisons.html" title="Comparisons to Other Open Source Libraries">Comparisons to Other Open
- Source Libraries</a>
-</h3></div></div></div>
-<p>
- We've run our performance tests both for our own code, and against other
- open source implementations of the same functions. The results are presented
- below to give you a rough idea of how they all compare.
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- You should exercise extreme caution when interpreting these results, relative
- performance may vary by platform, the tests use data that gives good code
- coverage of <span class="emphasis"><em>our</em></span> code, but which may skew the results
- towards the corner cases. Finally, remember that different libraries make
- different choices with regard to performance verses numerical stability.
- </p></td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.perf.comparisons.h0"></a>
- <span><a name="math_toolkit.perf.comparisons.comparison_to_gsl_1_13_and_cephes"></a></span><a class="link" href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_gsl_1_13_and_cephes">Comparison
- to GSL-1.13 and Cephes</a>
- </h5>
-<p>
- All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
- Windows Vista machine, with the test program compiled with Microsoft Visual
- C++ 2009 using the /Ox option.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Boost
- </p>
- </th>
-<th>
- <p>
- GSL-1.9
- </p>
- </th>
-<th>
- <p>
- Cephes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/powers/cbrt.html" title="cbrt">cbrt</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.873e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- N/A
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.699e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/powers/log1p.html" title="log1p">log1p</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.664e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.677e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.189e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/powers/expm1.html" title="expm1">expm1</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.760e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.248e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.169e-008s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/tgamma.html" title="Gamma">tgamma</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.80</p>
-<p> </p>
-<p>(2.997e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.54</p>
-<p> </p>
-<p>(2.569e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.666e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/lgamma.html" title="Log Gamma">lgamma</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.20</p>
-<p> </p>
-<p>(3.045e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>4.14</p>
-<p> </p>
-<p>(5.713e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.381e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
- and <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erfc</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.483e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(7.052e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.722e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.182e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.57</p>
-<p> </p>
-<p>(2.209e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>4.29</p>
-<p> </p>
-<p>(2.651e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
- and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.943e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- N/A
- </p>
- </td>
-<td>
- <p>
- +INF <sup>[<a name="math_toolkit.perf.comparisons.f0" href="#ftn.math_toolkit.perf.comparisons.f0" class="footnote">1</a>]</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.670e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.16</p>
-<p> </p>
-<p>(1.935e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.16</p>
-<p> </p>
-<p>(1.935e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
- and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.075e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- N/A
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.45</p>
-<p> </p>
-<p>(1.489e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>17.89<sup>[<a name="math_toolkit.perf.comparisons.f1" href="#ftn.math_toolkit.perf.comparisons.f1" class="footnote">2</a>]</sup></p>
-<p> </p>
-<p>(4.248e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.214e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.374e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.924e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.487e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.823e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.783e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.927e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- N/A
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.465e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.230e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.977e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-<tbody class="footnotes"><tr><td colspan="4">
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f0" href="#math_toolkit.perf.comparisons.f0" class="para">1</a>] </sup>
- Cephes gets stuck in an infinite loop while trying to execute
- our test cases.
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f1" href="#math_toolkit.perf.comparisons.f1" class="para">2</a>] </sup>
- The performance here is dominated by a few cases where the parameters
- grow very large: faster asymptotic expansions are available,
- but are of limited (or even frankly terrible) precision. The
- same issue effects all of our Bessel function implementations,
- but doesn't necessarily show in the current performance data.
- More investigation is needed here.
- </p></div>
-</td></tr></tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.perf.comparisons.h1"></a>
- <span><a name="math_toolkit.perf.comparisons.comparison_to_the_r_and_dcdflib_statistical_libraries_on_windows"></a></span><a class="link" href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_the_r_and_dcdflib_statistical_libraries_on_windows">Comparison
- to the R and DCDFLIB Statistical Libraries on Windows</a>
- </h5>
-<p>
- All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
- Windows Vista machine, with the test program compiled with Microsoft Visual
- C++ 2009, and R-2.9.2 compiled in "standalone mode" with MinGW-4.3
- (R-2.9.2 appears not to be buildable with Visual C++).
- </p>
-<div class="table">
-<a name="math_toolkit.perf.comparisons.a_comparison_to_the_r_statistical_library_on_windows_xp"></a><p class="title"><b>Table&#160;56.&#160;A Comparison to the R Statistical Library on Windows XP</b></p>
-<div class="table-contents"><table class="table" summary="A Comparison to the R Statistical Library on Windows XP">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Statistical Function
- </p>
- </th>
-<th>
- <p>
- Boost
- </p>
- </th>
-<th>
- <p>
- R
- </p>
- </th>
-<th>
- <p>
- DCDFLIB
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.08</p>
-<p> </p>
-<p>(1.385e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.278e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.06</p>
-<p> </p>
-<p>(1.349e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.975e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>67.66<sup>[<a name="math_toolkit.perf.comparisons.f2" href="#ftn.math_toolkit.perf.comparisons.f2" class="footnote">1</a>]</sup></p>
-<p> </p>
-<p>(3.366e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>4.23</p>
-<p> </p>
-<p>(2.103e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.06</p>
-<p> </p>
-<p>(4.503e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.81</p>
-<p> </p>
-<p>(7.680e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.239e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.254e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.15</p>
-<p> </p>
-<p>(3.746e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>7.25</p>
-<p> </p>
-<p>(2.358e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.134e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.08</p>
-<p> </p>
-<p>(1.227e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.203e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.203e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
- Squared Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.21</p>
-<p> </p>
-<p>(5.021e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.83</p>
-<p> </p>
-<p>(1.176e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.155e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
- Squared Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.930e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.72</p>
-<p> </p>
-<p>(5.243e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>5.73</p>
-<p> </p>
-<p>(1.106e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.798e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>5.89</p>
-<p> </p>
-<p>(2.236e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.41</p>
-<p> </p>
-<p>(9.006e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.380e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
- F Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.556e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.34</p>
-<p> </p>
-<p>(1.283e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.24</p>
-<p> </p>
-<p>(1.183e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
- F Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.987e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.33</p>
-<p> </p>
-<p>(9.325e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.16</p>
-<p> </p>
-<p>(2.205e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.52</p>
-<p> </p>
-<p>(6.240e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.11</p>
-<p> </p>
-<p>(1.279e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.111e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.24</p>
-<p> </p>
-<p>(2.179e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>6.25</p>
-<p> </p>
-<p>(1.102e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.764e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- __hypergeometric_distrib CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.60<sup>[<a name="math_toolkit.perf.comparisons.f3" href="#ftn.math_toolkit.perf.comparisons.f3" class="footnote">2</a>]</sup></p>
-<p> </p>
-<p>(5.987e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.665e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- __hypergeometric_distrib Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.684e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.53</p>
-<p> </p>
-<p>(2.004e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.714e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>5.24</p>
-<p> </p>
-<p>(8.984e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.02</p>
-<p> </p>
-<p>(2.084e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.043e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.579e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.49</p>
-<p> </p>
-<p>(5.332e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.622e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.57</p>
-<p> </p>
-<p>(1.507e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.227e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.25</p>
-<p> </p>
-<p>(1.403e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.21</p>
-<p> </p>
-<p>(1.378e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.594e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>43.43<sup>[<a name="math_toolkit.perf.comparisons.f4" href="#ftn.math_toolkit.perf.comparisons.f4" class="footnote">3</a>]</sup></p>
-<p> </p>
-<p>(3.732e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.48</p>
-<p> </p>
-<p>(2.994e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
- Chi Squared Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.16</p>
-<p> </p>
-<p>(3.926e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>79.93</p>
-<p> </p>
-<p>(1.450e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.814e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
- Chi Squared Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>5.00</p>
-<p> </p>
-<p>(3.393e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>393.90<sup>[<a name="math_toolkit.perf.comparisons.f5" href="#ftn.math_toolkit.perf.comparisons.f5" class="footnote">4</a>]</sup></p>
-<p> </p>
-<p>(2.673e-002s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.786e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
- F Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.59</p>
-<p> </p>
-<p>(1.128e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(7.087e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.274e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
- F Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.750e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.62</p>
-<p> </p>
-<p>(7.681e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.274e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
- T distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.41</p>
-<p> </p>
-<p>(1.852e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.436e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
- T distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.31</p>
-<p> </p>
-<p>(5.768e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span><sup>[<a name="math_toolkit.perf.comparisons.f6" href="#ftn.math_toolkit.perf.comparisons.f6" class="footnote">5</a>]</sup></p>
-<p> </p>
-<p>(4.411e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.373e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.68</p>
-<p> </p>
-<p>(1.409e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>6.01</p>
-<p> </p>
-<p>(5.029e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.29</p>
-<p> </p>
-<p>(1.521e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.182e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>10.85</p>
-<p> </p>
-<p>(1.283e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.18</p>
-<p> </p>
-<p>(5.193e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.98</p>
-<p> </p>
-<p>(1.314e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.410e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
- Distribution</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.203e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.20</p>
-<p> </p>
-<p>(2.642e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>7.86</p>
-<p> </p>
-<p>(9.457e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
- t Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.655e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.06</p>
-<p> </p>
-<p>(9.166e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.04</p>
-<p> </p>
-<p>(8.999e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
- t Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.294e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.36</p>
-<p> </p>
-<p>(3.131e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>4.82</p>
-<p> </p>
-<p>(1.106e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.865e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.33</p>
-<p> </p>
-<p>(4.341e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.608e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.22</p>
-<p> </p>
-<p>(4.410e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-</tbody>
-<tbody class="footnotes"><tr><td colspan="4">
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f2" href="#math_toolkit.perf.comparisons.f2" class="para">1</a>] </sup>
- There are a small number of our test cases where the R library
- fails to converge on a result: these tend to dominate the performance
- result.
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f3" href="#math_toolkit.perf.comparisons.f3" class="para">2</a>] </sup>
- This result is somewhat misleading: for small values of the parameters
- there is virtually no difference between the two libraries, but
- for large values the Boost implementation is <span class="emphasis"><em>much</em></span>
- slower, albeit with much improved precision.
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f4" href="#math_toolkit.perf.comparisons.f4" class="para">3</a>] </sup>
- The R library appears to use a linear-search strategy, that can
- perform very badly in a small number of pathological cases, but
- may or may not be more efficient in "typical" cases
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f5" href="#math_toolkit.perf.comparisons.f5" class="para">4</a>] </sup>
- There are a small number of our test cases where the R library
- fails to converge on a result: these tend to dominate the performance
- result.
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f6" href="#math_toolkit.perf.comparisons.f6" class="para">5</a>] </sup>
- There are a small number of our test cases where the R library
- fails to converge on a result: these tend to dominate the performance
- result.
- </p></div>
-</td></tr></tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.perf.comparisons.h2"></a>
- <span><a name="math_toolkit.perf.comparisons.comparison_to_the_r_statistical_library_on_linux"></a></span><a class="link" href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_the_r_statistical_library_on_linux">Comparison
- to the R Statistical Library on Linux</a>
- </h5>
-<p>
- All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
- Ubuntu Linux 9 machine, with the test program and R-2.9.2 compiled with GNU
- G++ 4.3.3 using -O3 -DNDEBUG=1.
- </p>
-<div class="table">
-<a name="math_toolkit.perf.comparisons.a_comparison_to_the_r_statistical_library_on_linux"></a><p class="title"><b>Table&#160;57.&#160;A Comparison to the R Statistical Library on Linux</b></p>
-<div class="table-contents"><table class="table" summary="A Comparison to the R Statistical Library on Linux">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Statistical Function
- </p>
- </th>
-<th>
- <p>
- Boost
- </p>
- </th>
-<th>
- <p>
- R
- </p>
- </th>
-<th>
- <p>
- DCDFLIB
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.09</p>
-<p> </p>
-<p>(3.189e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.526e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.19</p>
-<p> </p>
-<p>(1.822e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.185e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>30.51<sup>[<a name="math_toolkit.perf.comparisons.f7" href="#ftn.math_toolkit.perf.comparisons.f7" class="footnote">1</a>]</sup></p>
-<p> </p>
-<p>(3.616e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.52</p>
-<p> </p>
-<p>(2.989e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>4.41</p>
-<p> </p>
-<p>(9.175e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.59</p>
-<p> </p>
-<p>(7.476e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.081e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.57</p>
-<p> </p>
-<p>(6.925e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.407e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>7.43</p>
-<p> </p>
-<p>(3.274e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.594e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.04</p>
-<p> </p>
-<p>(1.654e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.21</p>
-<p> </p>
-<p>(1.752e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.448e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
- Squared Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.61</p>
-<p> </p>
-<p>(1.376e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.36</p>
-<p> </p>
-<p>(1.243e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.270e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
- Squared Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.252e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.34</p>
-<p> </p>
-<p>(5.700e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.47</p>
-<p> </p>
-<p>(1.477e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.342e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.25</p>
-<p> </p>
-<p>(1.677e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.827e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.07</p>
-<p> </p>
-<p>(9.470e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
- F Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.62</p>
-<p> </p>
-<p>(2.324e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.19</p>
-<p> </p>
-<p>(1.711e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.437e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
- F Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.53</p>
-<p> </p>
-<p>(1.577e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.033e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.63</p>
-<p> </p>
-<p>(2.719e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.18</p>
-<p> </p>
-<p>(1.582e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.63</p>
-<p> </p>
-<p>(1.309e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.980e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.19</p>
-<p> </p>
-<p>(4.770e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>6.94</p>
-<p> </p>
-<p>(1.513e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.179e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- __hypergeometric_distrib CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.20<sup>[<a name="math_toolkit.perf.comparisons.f8" href="#ftn.math_toolkit.perf.comparisons.f8" class="footnote">2</a>]</sup></p>
-<p> </p>
-<p>(3.522e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.601e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- __hypergeometric_distrib Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.279e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.57</p>
-<p> </p>
-<p>(2.125e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.398e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.75</p>
-<p> </p>
-<p>(2.588e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.893e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.30</p>
-<p> </p>
-<p>(1.285e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.831e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.39</p>
-<p> </p>
-<p>(2.539e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.10</p>
-<p> </p>
-<p>(5.551e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.037e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.08</p>
-<p> </p>
-<p>(1.563e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.444e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.444e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
- Binomial Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.700e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>25.92<sup>[<a name="math_toolkit.perf.comparisons.f9" href="#ftn.math_toolkit.perf.comparisons.f9" class="footnote">3</a>]</sup></p>
-<p> </p>
-<p>(4.407e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.93</p>
-<p> </p>
-<p>(3.274e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
- Chi Squared Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>5.06</p>
-<p> </p>
-<p>(2.841e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>25.01</p>
-<p> </p>
-<p>(1.405e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.617e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
- Chi Squared Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>8.47</p>
-<p> </p>
-<p>(1.879e-003s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>144.91<sup>[<a name="math_toolkit.perf.comparisons.f10" href="#ftn.math_toolkit.perf.comparisons.f10" class="footnote">4</a>]</sup></p>
-<p> </p>
-<p>(3.214e-002s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.218e-004s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
- F Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>10.33</p>
-<p> </p>
-<p>(5.868e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.42</p>
-<p> </p>
-<p>(8.058e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.682e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
- F Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>5.64</p>
-<p> </p>
-<p>(7.869e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>6.63</p>
-<p> </p>
-<p>(9.256e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.396e-004s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
- T distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>4.91</p>
-<p> </p>
-<p>(3.357e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(6.844e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
- T distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.57</p>
-<p> </p>
-<p>(9.265e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span><sup>[<a name="math_toolkit.perf.comparisons.f11" href="#ftn.math_toolkit.perf.comparisons.f11" class="footnote">5</a>]</sup></p>
-<p> </p>
-<p>(5.916e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.074e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.16</p>
-<p> </p>
-<p>(1.245e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>5.36</p>
-<p> </p>
-<p>(5.762e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.28</p>
-<p> </p>
-<p>(1.902e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.490e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>10.35</p>
-<p> </p>
-<p>(1.542e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.43</p>
-<p> </p>
-<p>(1.198e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.25</p>
-<p> </p>
-<p>(1.110e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.937e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
- Distribution</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.11</p>
-<p> </p>
-<p>(3.032e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.724e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>4.07</p>
-<p> </p>
-<p>(1.110e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
- t Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>2.17</p>
-<p> </p>
-<p>(2.020e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.321e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.10</p>
-<p> </p>
-<p>(1.021e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
- t Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.18</p>
-<p> </p>
-<p>(3.972e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.364e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>3.89</p>
-<p> </p>
-<p>(1.308e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
- Distribution</a> CDF
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.662e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.04</p>
-<p> </p>
-<p>(3.808e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
- Distribution</a> Quantile
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.112e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.05</p>
-<p> </p>
-<p>(4.317e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- NA
- </p>
- </td>
-</tr>
-</tbody>
-<tbody class="footnotes"><tr><td colspan="4">
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f7" href="#math_toolkit.perf.comparisons.f7" class="para">1</a>] </sup>
- There are a small number of our test cases where the R library
- fails to converge on a result: these tend to dominate the performance
- result.
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f8" href="#math_toolkit.perf.comparisons.f8" class="para">2</a>] </sup>
- This result is somewhat misleading: for small values of the parameters
- there is virtually no difference between the two libraries, but
- for large values the Boost implementation is <span class="emphasis"><em>much</em></span>
- slower, albeit with much improved precision.
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f9" href="#math_toolkit.perf.comparisons.f9" class="para">3</a>] </sup>
- The R library appears to use a linear-search strategy, that can
- perform very badly in a small number of pathological cases, but
- may or may not be more efficient in "typical" cases
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f10" href="#math_toolkit.perf.comparisons.f10" class="para">4</a>] </sup>
- There are a small number of our test cases where the R library
- fails to converge on a result: these tend to dominate the performance
- result.
- </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f11" href="#math_toolkit.perf.comparisons.f11" class="para">5</a>] </sup>
- There are a small number of our test cases where the R library
- fails to converge on a result: these tend to dominate the performance
- result.
- </p></div>
-</td></tr></tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tuning.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html
deleted file mode 100644
index f4a8ceaeda..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html
+++ /dev/null
@@ -1,294 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Getting the Best Performance from this Library</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../perf.html" title="Performance">
-<link rel="prev" href="interp.html" title="Interpreting these Results">
-<link rel="next" href="comp_compilers.html" title="Comparing Compilers">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="interp.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf_getting_best">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.perf.getting_best"></a><a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">Getting the Best Performance
- from this Library</a>
-</h3></div></div></div>
-<p>
- By far the most important thing you can do when using this library is turn
- on your compiler's optimisation options. As the following table shows the
- penalty for using the library in debug mode can be quite large.
- </p>
-<div class="table">
-<a name="math_toolkit.perf.getting_best.performance_comparison_of_release_and_debug_settings"></a><p class="title"><b>Table&#160;52.&#160;Performance Comparison of Release and Debug Settings</b></p>
-<div class="table-contents"><table class="table" summary="Performance Comparison of Release and Debug Settings">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- Microsoft Visual C++ 8.0
- </p>
- <p>
- Debug Settings: /Od /ZI
- </p>
- </th>
-<th>
- <p>
- Microsoft Visual C++ 8.0
- </p>
- <p>
- Release settings: /Ox /arch:SSE2
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>16.65</p>
-<p> </p>
-<p>(1.028e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.483e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>19.28</p>
-<p> </p>
-<p>(1.215e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.888e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>8.32</p>
-<p> </p>
-<p>(1.540e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.852e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
- and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>10.25</p>
-<p> </p>
-<p>(7.492e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(7.311e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
- and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>8.57</p>
-<p> </p>
-<p>(2.441e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.847e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>10.98</p>
-<p> </p>
-<p>(1.044e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.504e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
- and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>10.25</p>
-<p> </p>
-<p>(3.721e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.631e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
- and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>11.26</p>
-<p> </p>
-<p>(1.124e-004s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.982e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="interp.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html
deleted file mode 100644
index 9f2f2174c8..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Interpreting these Results</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../perf.html" title="Performance">
-<link rel="prev" href="perf_over.html" title="Performance Overview">
-<link rel="next" href="getting_best.html" title="Getting the Best Performance from this Library">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="getting_best.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf_interp">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.perf.interp"></a><a class="link" href="interp.html" title="Interpreting these Results">Interpreting these Results</a>
-</h3></div></div></div>
-<p>
- In all of the following tables, the best performing result in each row, is
- assigned a relative value of "1" and shown in bold, so a score
- of "2" means <span class="emphasis"><em>"twice as slow as the best performing
- result".</em></span> Actual timings in seconds per function call are
- also shown in parenthesis.
- </p>
-<p>
- Result were obtained on a system with an Intel 2.8GHz Pentium 4 processor
- with 2Gb of RAM and running either Windows XP or Mandriva Linux.
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- As usual with performance results these should be taken with a large pinch
- of salt: relative performance is known to shift quite a bit depending upon
- the architecture of the particular test system used. Further more, our
- performance results were obtained using our own test data: these test values
- are designed to provide good coverage of our code and test all the appropriate
- corner cases. They do not necessarily represent "typical" usage:
- whatever that may be!
- </p></td></tr>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Since these tests were run, most compilers have improved their code optimisation,
- and processor speeds have improved too, so these results are known to be
- out of date.
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="getting_best.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html
deleted file mode 100644
index 6da85de646..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Performance Overview</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../perf.html" title="Performance">
-<link rel="prev" href="../perf.html" title="Performance">
-<link rel="next" href="interp.html" title="Interpreting these Results">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../perf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf_perf_over">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.perf.perf_over"></a><a class="link" href="perf_over.html" title="Performance Overview">Performance Overview</a>
-</h3></div></div></div>
-<p>
- By and large the performance of this library should be acceptable for most
- needs. However, you should note that this library's primary emphasis is on
- accuracy and numerical stability, and <span class="emphasis"><em>not</em></span> speed.
- </p>
-<p>
- In terms of the algorithms used, this library aims to use the same "best
- of breed" algorithms as many other libraries: the principle difference
- is that this library is implemented in C++ - taking advantage of all the
- abstraction mechanisms that C++ offers - where as most traditional numeric
- libraries are implemented in C or FORTRAN. Traditionally languages such as
- C or FORTRAN are perceived as easier to optimise than more complex languages
- like C++, so in a sense this library provides a good test of current compiler
- technology, and the "abstraction penalty" - if any - of C++ compared
- to other languages.
- </p>
-<p>
- The two most important things you can do to ensure the best performance from
- this library are:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- Turn on your compilers optimisations: the difference between "release"
- and "debug" builds can easily be a <a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">factor
- of 20</a>.
- </li>
-<li class="listitem">
- Pick your compiler carefully: <a class="link" href="comp_compilers.html" title="Comparing Compilers">performance
- differences of up to 8 fold</a> have been found between some Windows
- compilers for example.
- </li>
-</ol></div>
-<p>
- The <a class="link" href="../perf.html" title="Performance">performance section</a> contains
- more information on the performance of this library, what you can do to fine
- tune it, and how this library compares to some other open source alternatives.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../perf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html
deleted file mode 100644
index 68cbbd24c7..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>The Performance Test Application</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../perf.html" title="Performance">
-<link rel="prev" href="comparisons.html" title="Comparisons to Other Open Source Libraries">
-<link rel="next" href="../backgrounders.html" title="Backgrounders">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="comparisons.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf_perf_test_app">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.perf.perf_test_app"></a><a class="link" href="perf_test_app.html" title="The Performance Test Application">The Performance Test
- Application</a>
-</h3></div></div></div>
-<p>
- Under <span class="emphasis"><em>boost-path</em></span>/libs/math/performance you will find
- a (fairly rudimentary) performance test application for this library.
- </p>
-<p>
- To run this application yourself, build the all the .cpp files in <span class="emphasis"><em>boost-path</em></span>/libs/math/performance
- into an application using your usual release-build settings. Run the application
- with --help to see a full list of options, or with --all to test everything
- (which takes quite a while), or with --tune to test the <a class="link" href="tuning.html" title="Performance Tuning Macros">available
- performance tuning options</a>.
- </p>
-<p>
- If you want to use this application to test the effect of changing any of
- the <a class="link" href="../policy.html" title="Policies">Policies</a>, then you will need
- to build and run it twice: once with the default <a class="link" href="../policy.html" title="Policies">Policies</a>,
- and then a second time with the <a class="link" href="../policy.html" title="Policies">Policies</a>
- you want to test set as the default.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="comparisons.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html
deleted file mode 100644
index 86fd950531..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html
+++ /dev/null
@@ -1,901 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Performance Tuning Macros</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../perf.html" title="Performance">
-<link rel="prev" href="comp_compilers.html" title="Comparing Compilers">
-<link rel="next" href="comparisons.html" title="Comparisons to Other Open Source Libraries">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparisons.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_perf_tuning">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.perf.tuning"></a><a class="link" href="tuning.html" title="Performance Tuning Macros">Performance Tuning Macros</a>
-</h3></div></div></div>
-<p>
- There are a small number of performance tuning options that are determined
- by configuration macros. These should be set in boost/math/tools/user.hpp;
- or else reported to the Boost-development mailing list so that the appropriate
- option for a given compiler and OS platform can be set automatically in our
- configuration setup.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Macro
- </p>
- </th>
-<th>
- <p>
- Meaning
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- BOOST_MATH_POLY_METHOD
- </p>
- </td>
-<td>
- <p>
- Determines how polynomials and most rational functions are evaluated.
- Define to one of the values 0, 1, 2 or 3: see below for the meaning
- of these values.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- BOOST_MATH_RATIONAL_METHOD
- </p>
- </td>
-<td>
- <p>
- Determines how symmetrical rational functions are evaluated: mostly
- this only effects how the Lanczos approximation is evaluated, and
- how the <code class="computeroutput"><span class="identifier">evaluate_rational</span></code>
- function behaves. Define to one of the values 0, 1, 2 or 3: see
- below for the meaning of these values.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- BOOST_MATH_MAX_POLY_ORDER
- </p>
- </td>
-<td>
- <p>
- The maximum order of polynomial or rational function that will
- be evaluated by a method other than 0 (a simple "for"
- loop).
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- BOOST_MATH_INT_TABLE_TYPE(RT, IT)
- </p>
- </td>
-<td>
- <p>
- Many of the coefficients to the polynomials and rational functions
- used by this library are integers. Normally these are stored as
- tables as integers, but if mixed integer / floating point arithmetic
- is much slower than regular floating point arithmetic then they
- can be stored as tables of floating point values instead. If mixed
- arithmetic is slow then add:
- </p>
- <p>
- #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
- </p>
- <p>
- to boost/math/tools/user.hpp, otherwise the default of:
- </p>
- <p>
- #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
- </p>
- <p>
- Set in boost/math/config.hpp is fine, and may well result in smaller
- code.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The values to which <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
- and <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>
- may be set are as follows:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Value
- </p>
- </th>
-<th>
- <p>
- Effect
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 0
- </p>
- </td>
-<td>
- <p>
- The polynomial or rational function is evaluated using Horner's
- method, and a simple for-loop.
- </p>
- <p>
- Note that if the order of the polynomial or rational function is
- a runtime parameter, or the order is greater than the value of
- <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>,
- then this method is always used, irrespective of the value of
- <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
- or <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 1
- </p>
- </td>
-<td>
- <p>
- The polynomial or rational function is evaluated without the use
- of a loop, and using Horner's method. This only occurs if the order
- of the polynomial is known at compile time and is less than or
- equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 2
- </p>
- </td>
-<td>
- <p>
- The polynomial or rational function is evaluated without the use
- of a loop, and using a second order Horner's method. In theory
- this permits two operations to occur in parallel for polynomials,
- and four in parallel for rational functions. This only occurs if
- the order of the polynomial is known at compile time and is less
- than or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 3
- </p>
- </td>
-<td>
- <p>
- The polynomial or rational function is evaluated without the use
- of a loop, and using a second order Horner's method. In theory
- this permits two operations to occur in parallel for polynomials,
- and four in parallel for rational functions. This differs from
- method "2" in that the code is carefully ordered to make
- the parallelisation more obvious to the compiler: rather than relying
- on the compiler's optimiser to spot the parallelisation opportunities.
- This only occurs if the order of the polynomial is known at compile
- time and is less than or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- To determine which of these options is best for your particular compiler/platform
- build the performance test application with your usual release settings,
- and run the program with the --tune command line option.
- </p>
-<p>
- In practice the difference between methods is rather small at present, as
- the following table shows. However, parallelisation /vectorisation is likely
- to become more important in the future: quite likely the methods currently
- supported will need to be supplemented or replaced by ones more suited to
- highly vectorisable processors in the future.
- </p>
-<div class="table">
-<a name="math_toolkit.perf.tuning.a_comparison_of_polynomial_evaluation_methods"></a><p class="title"><b>Table&#160;54.&#160;A Comparison of Polynomial Evaluation Methods</b></p>
-<div class="table-contents"><table class="table" summary="A Comparison of Polynomial Evaluation Methods">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Compiler/platform
- </p>
- </th>
-<th>
- <p>
- Method 0
- </p>
- </th>
-<th>
- <p>
- Method 1
- </p>
- </th>
-<th>
- <p>
- Method 2
- </p>
- </th>
-<th>
- <p>
- Method 3
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Microsoft C++ 9.0, Polynomial evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.26</p>
-<p> </p>
-<p>(7.421e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.22</p>
-<p> </p>
-<p>(7.226e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.901e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.04</p>
-<p> </p>
-<p>(6.115e-008s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Microsoft C++ 9.0, Rational evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.008e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.008e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.43</p>
-<p> </p>
-<p>(1.445e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.40</p>
-<p> </p>
-<p>(1.409e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Intel C++ 11.1 (Windows), Polynomial evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.18</p>
-<p> </p>
-<p>(6.517e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.18</p>
-<p> </p>
-<p>(6.505e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.516e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.516e-008s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Intel C++ 11.1 (Windows), Rational evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(8.947e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.02</p>
-<p> </p>
-<p>(9.130e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.49</p>
-<p> </p>
-<p>(1.333e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.04</p>
-<p> </p>
-<p>(9.325e-008s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- GNU G++ 4.2 (Linux), Polynomial evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.61</p>
-<p> </p>
-<p>(1.220e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.68</p>
-<p> </p>
-<p>(1.269e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.23</p>
-<p> </p>
-<p>(9.275e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(7.566e-008s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- GNU G++ 4.2 (Linux), Rational evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.26</p>
-<p> </p>
-<p>(1.660e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.33</p>
-<p> </p>
-<p>(1.758e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.318e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.15</p>
-<p> </p>
-<p>(1.513e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Intel C++ 10.0 (Linux), Polynomial evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.15</p>
-<p> </p>
-<p>(9.154e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.15</p>
-<p> </p>
-<p>(9.154e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(7.934e-008s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(7.934e-008s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Intel C++ 10.0 (Linux), Rational evaluation
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.245e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.245e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.35</p>
-<p> </p>
-<p>(1.684e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.04</p>
-<p> </p>
-<p>(1.294e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- There is one final performance tuning option that is available as a compile
- time <a class="link" href="../policy.html" title="Policies">policy</a>. Normally when evaluating
- functions at <code class="computeroutput"><span class="keyword">double</span></code> precision,
- these are actually evaluated at <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> precision internally: this
- helps to ensure that as close to full <code class="computeroutput"><span class="keyword">double</span></code>
- precision as possible is achieved, but may slow down execution in some environments.
- The defaults for this policy can be changed by <a class="link" href="../policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">defining
- the macro <code class="computeroutput"><span class="identifier">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></code></a>
- to <code class="computeroutput"><span class="keyword">false</span></code>, or <a class="link" href="../policy/pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">by
- specifying a specific policy</a> when calling the special functions or
- distributions. See also the <a class="link" href="../policy/pol_tutorial.html" title="Policy Tutorial">policy
- tutorial</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.perf.tuning.performance_comparison_with_and_without_internal_promotion_to_long_double"></a><p class="title"><b>Table&#160;55.&#160;Performance Comparison with and Without Internal Promotion to long
- double</b></p>
-<div class="table-contents"><table class="table" summary="Performance Comparison with and Without Internal Promotion to long
- double">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Function
- </p>
- </th>
-<th>
- <p>
- GCC 4.2 , Linux
- </p>
- <p>
- (with internal promotion of double to long double).
- </p>
- </th>
-<th>
- <p>
- GCC 4.2, Linux
- </p>
- <p>
- (without promotion of double).
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.48</p>
-<p> </p>
-<p>(1.387e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.377e-008s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.11</p>
-<p> </p>
-<p>(4.009e-007s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(3.598e-007s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.29</p>
-<p> </p>
-<p>(5.354e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(4.137e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
- and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.44</p>
-<p> </p>
-<p>(2.220e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(1.538e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
- <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
- and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.25</p>
-<p> </p>
-<p>(7.009e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(5.607e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.26</p>
-<p> </p>
-<p>(3.116e-006s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.464e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
- and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.27</p>
-<p> </p>
-<p>(1.178e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(9.291e-006s)</p>
-<p>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
- and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p>1.20</p>
-<p> </p>
-<p>(2.765e-005s)</p>
-<p>
- </p>
- </td>
-<td>
- <p>
- </p>
-<p><span class="bold"><strong>1.00</strong></span></p>
-<p> </p>
-<p>(2.311e-005s)</p>
-<p>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparisons.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy.html
deleted file mode 100644
index 04f720d5a2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Policies</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="using_udt/archetypes.html" title="Conceptual Archetypes for Reals and Distributions">
-<link rel="next" href="policy/pol_overview.html" title="Policy Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="using_udt/archetypes.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy/pol_overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.policy"></a><a class="link" href="policy.html" title="Policies">Policies</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="policy/pol_overview.html">Policy Overview</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial.html">Policy Tutorial</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="policy/pol_tutorial/what_is_a_policy.html">So
- Just What is a Policy Anyway?</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/policy_tut_defaults.html">Policies
- Have Sensible Defaults</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/policy_usage.html">So How
- are Policies Used Anyway?</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/changing_policy_defaults.html">Changing
- the Policy Defaults</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/ad_hoc_dist_policies.html">Setting
- Policies for Distributions on an Ad Hoc Basis</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/ad_hoc_sf_policies.html">Changing
- the Policy on an Ad Hoc Basis for the Special Functions</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/namespace_policies.html">Setting
- Policies at Namespace or Translation Unit Scope</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/user_def_err_pol.html">Calling
- User Defined Error Handlers</a></span></dt>
-<dt><span class="section"><a href="policy/pol_tutorial/understand_dis_quant.html">Understanding
- Quantiles of Discrete Distributions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="policy/pol_ref.html">Policy Reference</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="policy/pol_ref/error_handling_policies.html">Error
- Handling Policies</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/internal_promotion.html">Internal
- Floating-point Promotion Policies</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/assert_undefined.html">Mathematically
- Undefined Function Policies</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/discrete_quant_ref.html">Discrete
- Quantile Policies</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/precision_pol.html">Precision
- Policies</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/iteration_pol.html">Iteration
- Limits Policies</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/policy_defaults.html">Using
- Macros to Change the Policy Defaults</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/namespace_pol.html">Setting
- Polices at Namespace Scope</a></span></dt>
-<dt><span class="section"><a href="policy/pol_ref/pol_ref_ref.html">Policy Class
- Reference</a></span></dt>
-</dl></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="using_udt/archetypes.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy/pol_overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_overview.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_overview.html
deleted file mode 100644
index 839e71e632..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_overview.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Policy Overview</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../policy.html" title="Policies">
-<link rel="prev" href="../policy.html" title="Policies">
-<link rel="next" href="pol_tutorial.html" title="Policy Tutorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../policy.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_overview">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.policy.pol_overview"></a><a class="link" href="pol_overview.html" title="Policy Overview">Policy Overview</a>
-</h3></div></div></div>
-<p>
- Policies are a powerful fine-grain mechanism that allow you to customise
- the behaviour of this library according to your needs. There is more information
- available in the <a class="link" href="pol_tutorial.html" title="Policy Tutorial">policy
- tutorial</a> and the <a class="link" href="pol_ref.html" title="Policy Reference">policy
- reference</a>.
- </p>
-<p>
- Generally speaking, unless you find that the <a class="link" href="pol_tutorial/policy_tut_defaults.html" title="Policies Have Sensible Defaults">default
- policy behaviour</a> when encountering 'bad' argument values does not
- meet your needs, you should not need to worry about policies.
- </p>
-<p>
- Policies are a compile-time mechanism that allow you to change error-handling
- or calculation precision either program wide, or at the call site.
- </p>
-<p>
- Although the policy mechanism itself is rather complicated, in practice it
- is easy to use, and very flexible.
- </p>
-<p>
- Using policies you can control:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <a class="link" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">How
- results from 'bad' arguments are handled</a>, including those that
- cannot be fully evaluated.
- </li>
-<li class="listitem">
- How <a class="link" href="pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">accuracy
- is controlled by internal promotion</a> to use more precise types.
- </li>
-<li class="listitem">
- What working <a class="link" href="pol_ref/precision_pol.html" title="Precision Policies">precision</a>
- should be used to calculate results.
- </li>
-<li class="listitem">
- What to do when a <a class="link" href="pol_ref/assert_undefined.html" title="Mathematically Undefined Function Policies">mathematically
- undefined function</a> is used: Should this raise a run-time or compile-time
- error?
- </li>
-<li class="listitem">
- Whether <a class="link" href="pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">discrete
- functions</a>, like the binomial, should return real or only integral
- values, and how they are rounded.
- </li>
-<li class="listitem">
- How many iterations a special function is permitted to perform in a series
- evaluation or root finding algorithm before it gives up and raises an
- <a class="link" href="../main_overview/error_handling.html#evaluation_error">evaluation_error</a>.
- </li>
-</ul></div>
-<p>
- You can control policies:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Using <a class="link" href="pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">macros</a>
- to change any default policy: the is the prefered method for installation
- wide policies.
- </li>
-<li class="listitem">
- At your chosen <a class="link" href="pol_ref/namespace_pol.html" title="Setting Polices at Namespace Scope">namespace
- scope</a> for distributions and/or functions: this is the prefered
- method for project, namespace, or translation unit scope policies.
- </li>
-<li class="listitem">
- In an ad-hoc manner <a class="link" href="pol_tutorial/ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">by
- passing a specific policy to a special function</a>, or to a <a class="link" href="pol_tutorial/ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">statistical
- distribution</a>.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../policy.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref.html
deleted file mode 100644
index f204c91652..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Policy Reference</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../policy.html" title="Policies">
-<link rel="prev" href="pol_tutorial/understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">
-<link rel="next" href="pol_ref/error_handling_policies.html" title="Error Handling Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pol_tutorial/understand_dis_quant.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref/error_handling_policies.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.policy.pol_ref"></a><a class="link" href="pol_ref.html" title="Policy Reference">Policy Reference</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="pol_ref/error_handling_policies.html">Error
- Handling Policies</a></span></dt>
-<dt><span class="section"><a href="pol_ref/internal_promotion.html">Internal
- Floating-point Promotion Policies</a></span></dt>
-<dt><span class="section"><a href="pol_ref/assert_undefined.html">Mathematically
- Undefined Function Policies</a></span></dt>
-<dt><span class="section"><a href="pol_ref/discrete_quant_ref.html">Discrete
- Quantile Policies</a></span></dt>
-<dt><span class="section"><a href="pol_ref/precision_pol.html">Precision
- Policies</a></span></dt>
-<dt><span class="section"><a href="pol_ref/iteration_pol.html">Iteration
- Limits Policies</a></span></dt>
-<dt><span class="section"><a href="pol_ref/policy_defaults.html">Using
- Macros to Change the Policy Defaults</a></span></dt>
-<dt><span class="section"><a href="pol_ref/namespace_pol.html">Setting
- Polices at Namespace Scope</a></span></dt>
-<dt><span class="section"><a href="pol_ref/pol_ref_ref.html">Policy Class
- Reference</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pol_tutorial/understand_dis_quant.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref/error_handling_policies.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/assert_undefined.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/assert_undefined.html
deleted file mode 100644
index fdc82f5227..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/assert_undefined.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Mathematically Undefined Function Policies</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="internal_promotion.html" title="Internal Floating-point Promotion Policies">
-<link rel="next" href="discrete_quant_ref.html" title="Discrete Quantile Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="internal_promotion.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="discrete_quant_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_assert_undefined">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.assert_undefined"></a><a class="link" href="assert_undefined.html" title="Mathematically Undefined Function Policies">Mathematically
- Undefined Function Policies</a>
-</h4></div></div></div>
-<p>
- There are some functions that are generic (they are present for all the
- statistical distributions supported) but which may be mathematically undefined
- for certain distributions, but defined for others.
- </p>
-<p>
- For example, the Cauchy distribution does not have a meaningful mean, so
- what should
- </p>
-<pre class="programlisting"><span class="identifier">mean</span><span class="special">(</span><span class="identifier">cauchy</span><span class="special">&lt;&gt;());</span>
-</pre>
-<p>
- return, and should such an expression even compile at all?
- </p>
-<p>
- The default behaviour is for all such functions to not compile at all -
- in fact they will raise a <a href="http://www.boost.org/libs/static_assert/index.html" target="_top">static
- assertion</a> - but by changing the policy we can have them return
- the result of a domain error instead (which may well throw an exception,
- depending on the error handling policy).
- </p>
-<p>
- This behaviour is controlled by the <code class="computeroutput"><span class="identifier">assert_undefined</span><span class="special">&lt;&gt;</span></code> policy:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">bool</span> <span class="identifier">b</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">assert_undefined</span><span class="special">;</span>
-
-<span class="special">}}}</span> <span class="comment">//namespaces</span>
-</pre>
-<p>
- For example:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-
-<span class="comment">// This will not compile, cauchy has no mean!</span>
-<span class="keyword">double</span> <span class="identifier">m1</span> <span class="special">=</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">cauchy</span><span class="special">());</span>
-
-<span class="comment">// This will compile, but raises a domain error!</span>
-<span class="keyword">double</span> <span class="identifier">m2</span> <span class="special">=</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">cauchy_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;());</span>
-</pre>
-<p>
- <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span></code>
- behaviour can also be obtained by defining the macro
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span> <span class="keyword">false</span>
-</pre>
-<p>
- at the head of the file - see <a class="link" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">Using
- Macros to Change the Policy Defaults</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="internal_promotion.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="discrete_quant_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html
deleted file mode 100644
index 95cb6d4bb5..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Discrete Quantile Policies</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="assert_undefined.html" title="Mathematically Undefined Function Policies">
-<link rel="next" href="precision_pol.html" title="Precision Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="assert_undefined.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="precision_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_discrete_quant_ref">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.discrete_quant_ref"></a><a class="link" href="discrete_quant_ref.html" title="Discrete Quantile Policies">Discrete
- Quantile Policies</a>
-</h4></div></div></div>
-<p>
- If a statistical distribution is <span class="emphasis"><em>discrete</em></span> then the
- random variable can only have integer values - this leaves us with a problem
- when calculating quantiles - we can either ignore the discreteness of the
- distribution and return a real value, or we can round to an integer. As
- it happens, computing integer values can be substantially faster than calculating
- a real value, so there are definite advantages to returning an integer,
- but we do then need to decide how best to round the result. The <code class="computeroutput"><span class="identifier">discrete_quantile</span></code> policy defines how
- discrete quantiles work, and how integer results are rounded:
- </p>
-<pre class="programlisting"><span class="keyword">enum</span> <span class="identifier">discrete_quantile_policy_type</span>
-<span class="special">{</span>
- <span class="identifier">real</span><span class="special">,</span>
- <span class="identifier">integer_round_outwards</span><span class="special">,</span> <span class="comment">// default</span>
- <span class="identifier">integer_round_inwards</span><span class="special">,</span>
- <span class="identifier">integer_round_down</span><span class="special">,</span>
- <span class="identifier">integer_round_up</span><span class="special">,</span>
- <span class="identifier">integer_round_nearest</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">discrete_quantile_policy_type</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">discrete_quantile</span><span class="special">;</span>
-</pre>
-<p>
- The values that <code class="computeroutput"><span class="identifier">discrete_quantile</span></code>
- can take have the following meanings:
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.discrete_quant_ref.h0"></a>
- <span><a name="math_toolkit.policy.pol_ref.discrete_quant_ref.real"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.real">real</a>
- </h6>
-<p>
- Ignores the discreteness of the distribution, and returns a real-valued
- result. For example:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">real</span><span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">dist_type</span><span class="special">;</span>
-
-<span class="comment">// Lower 5% quantile:</span>
-<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span>
-<span class="comment">// Upper 95% quantile:</span>
-<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span>
-</pre>
-<p>
- </p>
-<p>
- Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
- <span class="number">27.3898</span></code> and <code class="computeroutput"><span class="identifier">y</span>
- <span class="special">=</span> <span class="number">68.1584</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.discrete_quant_ref.h1"></a>
- <span><a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_outwards"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_outwards">integer_round_outwards</a>
- </h6>
-<p>
- This is the default policy: an integer value is returned so that:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Lower quantiles (where the probability is less than 0.5) are rounded
- down.
- </li>
-<li class="listitem">
- Upper quantiles (where the probability is greater than 0.5) are rounded
- up.
- </li>
-</ul></div>
-<p>
- This is normally the safest rounding policy, since it ensures that both
- one and two sided intervals are guaranteed to have <span class="emphasis"><em>at least</em></span>
- the requested coverage. For example:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial</span><span class="special">;</span>
-
-<span class="comment">// Use the default rounding policy integer_round_outwards.</span>
-<span class="comment">// Lower quantile rounded down:</span>
-<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// rounded up 27 from 27.3898</span>
-<span class="comment">// Upper quantile rounded up:</span>
-<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span> <span class="comment">// rounded down to 69 from 68.1584</span>
-</pre>
-<p>
- </p>
-<p>
- Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
- <span class="number">27</span></code> (rounded down from 27.3898) and
- <code class="computeroutput"><span class="identifier">y</span> <span class="special">=</span>
- <span class="number">69</span></code> (rounded up from 68.1584).
- </p>
-<p>
- The variables x and y are now defined so that:
- </p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0.05</span>
-<span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="number">0.95</span>
-</pre>
-<p>
- In other words we guarantee <span class="emphasis"><em>at least 90% coverage in the central
- region overall</em></span>, and also <span class="emphasis"><em>no more than 5% coverage
- in each tail</em></span>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.discrete_quant_ref.h2"></a>
- <span><a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_inwards"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_inwards">integer_round_inwards</a>
- </h6>
-<p>
- This is the opposite of <span class="emphasis"><em>integer_round_outwards</em></span>: an
- integer value is returned so that:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Lower quantiles (where the probability is less than 0.5) are rounded
- <span class="emphasis"><em>up</em></span>.
- </li>
-<li class="listitem">
- Upper quantiles (where the probability is greater than 0.5) are rounded
- <span class="emphasis"><em>down</em></span>.
- </li>
-</ul></div>
-<p>
- For example:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_inwards</span><span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">dist_type</span><span class="special">;</span>
-
-<span class="comment">// Lower quantile rounded up:</span>
-<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// 28 rounded up from 27.3898</span>
-<span class="comment">// Upper quantile rounded down:</span>
-<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span> <span class="comment">// 68 rounded down from 68.1584</span>
-</pre>
-<p>
- </p>
-<p>
- Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
- <span class="number">28</span></code> (rounded up from 27.3898) and
- <code class="computeroutput"><span class="identifier">y</span> <span class="special">=</span>
- <span class="number">68</span></code> (rounded down from 68.1584).
- </p>
-<p>
- The variables x and y are now defined so that:
- </p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="number">0.05</span>
-<span class="identifier">cdf</span><span class="special">(</span><span class="identifier">negative_binomial</span><span class="special">(</span><span class="number">20</span><span class="special">),</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0.95</span>
-</pre>
-<p>
- In other words we guarantee <span class="emphasis"><em>at no more than 90% coverage in the
- central region overall</em></span>, and also <span class="emphasis"><em>at least 5% coverage
- in each tail</em></span>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.discrete_quant_ref.h3"></a>
- <span><a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_down"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_down">integer_round_down</a>
- </h6>
-<p>
- Always rounds down to an integer value, no matter whether it's an upper
- or a lower quantile.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.discrete_quant_ref.h4"></a>
- <span><a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_up"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_up">integer_round_up</a>
- </h6>
-<p>
- Always rounds up to an integer value, no matter whether it's an upper or
- a lower quantile.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.discrete_quant_ref.h5"></a>
- <span><a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_nearest"></a></span><a class="link" href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_nearest">integer_round_nearest</a>
- </h6>
-<p>
- Always rounds to the nearest integer value, no matter whether it's an upper
- or a lower quantile. This will produce the requested coverage <span class="emphasis"><em>in
- the average case</em></span>, but for any specific example may results in
- either significantly more or less coverage than the requested amount. For
- example:
- </p>
-<p>
- For example:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">negative_binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">negative_binomial_distribution</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">negative_binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">dist_type</span><span class="special">;</span>
-
-<span class="comment">// Lower quantile rounded (down) to nearest:</span>
-<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// 27</span>
-<span class="comment">// Upper quantile rounded (down) to nearest:</span>
-<span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">dist_type</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.3</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span> <span class="comment">// 68</span>
-</pre>
-<p>
- </p>
-<p>
- Results in <code class="computeroutput"><span class="identifier">x</span> <span class="special">=</span>
- <span class="number">27</span></code> (rounded from 27.3898) and <code class="computeroutput"><span class="identifier">y</span> <span class="special">=</span> <span class="number">68</span></code> (rounded from 68.1584).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="assert_undefined.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="precision_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html
deleted file mode 100644
index 7bf1bb9b11..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html
+++ /dev/null
@@ -1,781 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Error Handling Policies</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="../pol_ref.html" title="Policy Reference">
-<link rel="next" href="internal_promotion.html" title="Internal Floating-point Promotion Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internal_promotion.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_error_handling_policies">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.error_handling_policies"></a><a class="link" href="error_handling_policies.html" title="Error Handling Policies">Error
- Handling Policies</a>
-</h4></div></div></div>
-<p>
- There are two orthogonal aspects to error handling:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- What to do (if anything) with the error.
- </li>
-<li class="listitem">
- What kind of error is being raised.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.policy.pol_ref.error_handling_policies.h0"></a>
- <span><a name="math_toolkit.policy.pol_ref.error_handling_policies.available_actions_when_an_error_is_raised"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.available_actions_when_an_error_is_raised">Available
- Actions When an Error is Raised</a>
- </h5>
-<p>
- What to do with the error is encapsulated by an enumerated type:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span> <span class="special">{</span>
-
-<span class="keyword">enum</span> <span class="identifier">error_policy_type</span>
-<span class="special">{</span>
- <span class="identifier">throw_on_error</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="comment">// throw an exception.</span>
- <span class="identifier">errno_on_error</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="comment">// set ::errno &amp; return 0, NaN, infinity or best guess.</span>
- <span class="identifier">ignore_error</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="comment">// return 0, NaN, infinity or best guess.</span>
- <span class="identifier">user_error</span> <span class="special">=</span> <span class="number">3</span> <span class="comment">// call a user-defined error handler.</span>
-<span class="special">};</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The various enumerated values have the following meanings:
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.error_handling_policies.h1"></a>
- <span><a name="math_toolkit.policy.pol_ref.error_handling_policies.throw_on_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.throw_on_error">throw_on_error</a>
- </h6>
-<p>
- Will throw one of the following exceptions, depending upon the type of
- the error:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Error Type
- </p>
- </th>
-<th>
- <p>
- Exception
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Domain Error
- </p>
- </td>
-<td>
- <p>
- std::domain_error
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Pole Error
- </p>
- </td>
-<td>
- <p>
- std::domain_error
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Overflow Error
- </p>
- </td>
-<td>
- <p>
- std::overflow_error
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Underflow Error
- </p>
- </td>
-<td>
- <p>
- std::underflow_error
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Denorm Error
- </p>
- </td>
-<td>
- <p>
- std::underflow_error
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Evaluation Error
- </p>
- </td>
-<td>
- <p>
- boost::math::evaluation_error
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Indeterminate Result Error
- </p>
- </td>
-<td>
- <p>
- std::domain_error
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="math_toolkit.policy.pol_ref.error_handling_policies.h2"></a>
- <span><a name="math_toolkit.policy.pol_ref.error_handling_policies.errno_on_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.errno_on_error">errno_on_error</a>
- </h6>
-<p>
- Will set global <a href="http://en.wikipedia.org/wiki/Errno" target="_top"><code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code></a>
- <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to one of the following values depending upon the error type (often EDOM
- = 33 and ERANGE = 34), and then return the same value as if the error had
- been ignored:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Error Type
- </p>
- </th>
-<th>
- <p>
- errno value
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Domain Error
- </p>
- </td>
-<td>
- <p>
- EDOM
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Pole Error
- </p>
- </td>
-<td>
- <p>
- EDOM
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Overflow Error
- </p>
- </td>
-<td>
- <p>
- ERANGE
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Underflow Error
- </p>
- </td>
-<td>
- <p>
- ERANGE
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Denorm Error
- </p>
- </td>
-<td>
- <p>
- ERANGE
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Evaluation Error
- </p>
- </td>
-<td>
- <p>
- EDOM
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Indeterminate Result Error
- </p>
- </td>
-<td>
- <p>
- EDOM
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="math_toolkit.policy.pol_ref.error_handling_policies.h3"></a>
- <span><a name="math_toolkit.policy.pol_ref.error_handling_policies.ignore_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.ignore_error">ignore_error</a>
- </h6>
-<p>
- Will return one of the values below depending on the error type (<code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- is NOT changed)::
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Error Type
- </p>
- </th>
-<th>
- <p>
- Returned Value
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Domain Error
- </p>
- </td>
-<td>
- <p>
- std::numeric_limits&lt;T&gt;::quiet_NaN()
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Pole Error
- </p>
- </td>
-<td>
- <p>
- std::numeric_limits&lt;T&gt;::quiet_NaN()
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Overflow Error
- </p>
- </td>
-<td>
- <p>
- std::numeric_limits&lt;T&gt;::infinity()
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Underflow Error
- </p>
- </td>
-<td>
- <p>
- 0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Denorm Error
- </p>
- </td>
-<td>
- <p>
- The denormalised value.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Evaluation Error
- </p>
- </td>
-<td>
- <p>
- The best guess (perhaps NaN) as to the result: which may be significantly
- in error.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Indeterminate Result Error
- </p>
- </td>
-<td>
- <p>
- Depends on the function where the error occurred
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="math_toolkit.policy.pol_ref.error_handling_policies.h4"></a>
- <span><a name="math_toolkit.policy.pol_ref.error_handling_policies.user_error"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.user_error">user_error</a>
- </h6>
-<p>
- Will call a user defined error handler: these are forward declared in boost/math/policies/error_handling.hpp,
- but the actual definitions must be provided by the user:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_underflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_denorm_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_rounding_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_evaluation_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_indeterminate_result_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Note that the strings <span class="emphasis"><em>function</em></span> and <span class="emphasis"><em>message</em></span>
- may contain "%1%" format specifiers designed to be used in conjunction
- with Boost.Format. If these strings are to be presented to the program's
- end-user then the "%1%" format specifier should be replaced with
- the name of type T in the <span class="emphasis"><em>function</em></span> string, and if
- there is a %1% specifier in the <span class="emphasis"><em>message</em></span> string then
- it should be replaced with the value of <span class="emphasis"><em>val</em></span>.
- </p>
-<p>
- There is more information on user-defined error handlers in the <a class="link" href="../pol_tutorial/user_def_err_pol.html" title="Calling User Defined Error Handlers">tutorial
- here</a>.
- </p>
-<h5>
-<a name="math_toolkit.policy.pol_ref.error_handling_policies.h5"></a>
- <span><a name="math_toolkit.policy.pol_ref.error_handling_policies.kinds_of_error_raised"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.kinds_of_error_raised">Kinds
- of Error Raised</a>
- </h5>
-<p>
- There are six kinds of error reported by this library, which are summarised
- in the following table:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Error Type
- </p>
- </th>
-<th>
- <p>
- Policy Class
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Domain Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::domain_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised when more or more arguments are outside the defined range
- of the function.
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
- </p>
- <p>
- When the action is set to <span class="emphasis"><em>throw_on_error</em></span>
- then throws <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Pole Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::pole_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised when more or more arguments would cause the function to
- be evaluated at a pole.
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
- </p>
- <p>
- When the action is <span class="emphasis"><em>throw_on_error</em></span> then throw
- a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Overflow Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::overflow_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised when the result of the function is outside the representable
- range of the floating point type used.
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>.
- </p>
- <p>
- When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
- a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code>.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Underflow Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::underflow_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised when the result of the function is too small to be represented
- in the floating point type used.
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">underflow_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span></code>
- </p>
- <p>
- When the specified action is <span class="emphasis"><em>throw_on_error</em></span>
- then throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Denorm Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::denorm_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised when the result of the function is a denormalised value.
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">denorm_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span></code>
- </p>
- <p>
- When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
- a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">underflow_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Rounding Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::rounding_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised When one of the rounding functions <a class="link" href="../../utils/rounding/round.html" title="Rounding Functions">round</a>,
- <a class="link" href="../../utils/rounding/trunc.html" title="Truncation Functions">trunc</a>
- or <a class="link" href="../../utils/rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">modf</a>
- is called with an argument that has no integer representation,
- or is too large to be represented in the result type
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">rounding_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
- </p>
- <p>
- When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Evaluation Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::evaluation_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised when the result of the function is well defined and finite,
- but we were unable to compute it. Typically this occurs when
- an iterative method fails to converge. Of course ideally this
- error should never be raised: feel free to report it as a bug
- if it is!
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">throw_on_error</span><span class="special">&gt;</span></code>
- </p>
- <p>
- When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Indeterminate Result Error
- </p>
- </td>
-<td>
- <p>
- boost::math::policies::indeterminate_result_error&lt;<span class="emphasis"><em>action</em></span>&gt;
- </p>
- </td>
-<td>
- <p>
- Raised when the result of a function is not defined for the values
- that were passed to it.
- </p>
- <p>
- Defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">indeterminate_result_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span></code>
- </p>
- <p>
- When the action is <span class="emphasis"><em>throw_on_error</em></span> then throws
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.policy.pol_ref.error_handling_policies.h6"></a>
- <span><a name="math_toolkit.policy.pol_ref.error_handling_policies.examples"></a></span><a class="link" href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.examples">Examples</a>
- </h5>
-<p>
- Suppose we want a call to <code class="computeroutput"><span class="identifier">tgamma</span></code>
- to behave in a C-compatible way and set global <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> rather than throw an exception,
- we can achieve this at the call site using:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
-
-<span class="comment">//using namespace boost::math::policies; may also be convenient.</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
-
-<span class="comment">// Define a policy:</span>
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
-<span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">my_value</span> <span class="special">=</span> <span class="number">0.</span><span class="special">;</span> <span class="comment">// </span>
-
-<span class="comment">// Call the function applying my_policy:</span>
-<span class="keyword">double</span> <span class="identifier">t1</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">my_value</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">());</span>
-
-<span class="comment">// Alternatively (and equivalently) we could use helpful function</span>
-<span class="comment">// make_policy and define everything at the call site:</span>
-<span class="keyword">double</span> <span class="identifier">t2</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">my_value</span><span class="special">,</span>
- <span class="identifier">make_policy</span><span class="special">(</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;()</span> <span class="special">)</span>
- <span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- Suppose we want a statistical distribution to return infinities, rather
- than throw exceptions, then we can use:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="comment">// Define a specific policy:</span>
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">ignore_error</span><span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-
-<span class="comment">// Define the distribution, using my_policy:</span>
-<span class="keyword">typedef</span> <span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">my_norm</span><span class="special">;</span>
-
-<span class="comment">// Construct a my_norm distribution, using default mean and standard deviation,</span>
-<span class="comment">// and get a 0.05 or 5% quantile:</span>
-<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_norm</span><span class="special">(),</span> <span class="number">0.05</span><span class="special">);</span> <span class="comment">// = -1.64485</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internal_promotion.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html
deleted file mode 100644
index e8aee29057..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Internal Floating-point Promotion Policies</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="error_handling_policies.html" title="Error Handling Policies">
-<link rel="next" href="assert_undefined.html" title="Mathematically Undefined Function Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_handling_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_undefined.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_internal_promotion">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.internal_promotion"></a><a class="link" href="internal_promotion.html" title="Internal Floating-point Promotion Policies">Internal
- Floating-point Promotion Policies</a>
-</h4></div></div></div>
-<p>
- Normally when evaluating a function at say <code class="computeroutput"><span class="keyword">float</span></code>
- precision, maximal accuracy is assured by conducting the calculation at
- <code class="computeroutput"><span class="keyword">double</span></code> precision internally,
- and then rounding the result. There are two policies that control whether
- internal promotion to a higher precision floating-point type takes place,
- or not:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Policy
- </p>
- </th>
-<th>
- <p>
- Meaning
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- Indicates whether <code class="computeroutput"><span class="keyword">float</span></code>
- arguments should be promoted to <code class="computeroutput"><span class="keyword">double</span></code>
- precision internally: defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="keyword">true</span><span class="special">&gt;</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_double</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- Indicates whether <code class="computeroutput"><span class="keyword">double</span></code>
- arguments should be promoted to <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> precision internally:
- defaults to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">true</span><span class="special">&gt;</span></code>
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.policy.pol_ref.internal_promotion.h0"></a>
- <span><a name="math_toolkit.policy.pol_ref.internal_promotion.examples"></a></span><a class="link" href="internal_promotion.html#math_toolkit.policy.pol_ref.internal_promotion.examples">Examples</a>
- </h5>
-<p>
- Suppose we want <code class="computeroutput"><span class="identifier">tgamma</span></code>
- to be evaluated without internal promotion to <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, then we could use:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
-
-<span class="comment">// Define a new policy *not* internally promoting RealType to double:</span>
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-
-<span class="comment">// Call the function, applying the new policy:</span>
-<span class="keyword">double</span> <span class="identifier">t1</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">some_value</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">());</span>
-
-<span class="comment">// Alternatively we could use helper function make_policy,</span>
-<span class="comment">// and concisely define everything at the call site:</span>
-<span class="keyword">double</span> <span class="identifier">t2</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">some_value</span><span class="special">,</span> <span class="identifier">make_policy</span><span class="special">(</span><span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;()));</span>
-</pre>
-<p>
- </p>
-<p>
- Alternatively, suppose we want a distribution to perform calculations without
- promoting <code class="computeroutput"><span class="keyword">float</span></code> to <code class="computeroutput"><span class="keyword">double</span></code>, then we could use:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="comment">// Define a policy:</span>
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">promote_float</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-
-<span class="comment">// Define the new normal distribution using my_policy:</span>
-<span class="keyword">typedef</span> <span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">my_norm</span><span class="special">;</span>
-
-<span class="comment">// Get a quantile:</span>
-<span class="keyword">float</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">my_norm</span><span class="special">(),</span> <span class="number">0.05f</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_handling_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assert_undefined.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/iteration_pol.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/iteration_pol.html
deleted file mode 100644
index 8219eb7d2d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/iteration_pol.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Iteration Limits Policies</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="precision_pol.html" title="Precision Policies">
-<link rel="next" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="precision_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_defaults.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_iteration_pol">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.iteration_pol"></a><a class="link" href="iteration_pol.html" title="Iteration Limits Policies">Iteration
- Limits Policies</a>
-</h4></div></div></div>
-<p>
- There are two policies that effect the iterative algorithms used to implement
- the special functions in this library:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">limit</span> <span class="special">=</span> <span class="identifier">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">max_series_iterations</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">limit</span> <span class="special">=</span> <span class="identifier">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">max_root_iterations</span><span class="special">;</span>
-</pre>
-<p>
- The class <code class="computeroutput"><span class="identifier">max_series_iterations</span></code>
- determines the maximum number of iterations permitted in a series evaluation,
- before the special function gives up and returns the result of <a class="link" href="../../main_overview/error_handling.html#evaluation_error">evaluation_error</a>.
- </p>
-<p>
- The class <code class="computeroutput"><span class="identifier">max_root_iterations</span></code>
- determines the maximum number of iterations permitted in a root-finding
- algorithm before the special function gives up and returns the result of
- <a class="link" href="../../main_overview/error_handling.html#evaluation_error">evaluation_error</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="precision_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_defaults.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/namespace_pol.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/namespace_pol.html
deleted file mode 100644
index c66cc6e63c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/namespace_pol.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Setting Polices at Namespace Scope</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">
-<link rel="next" href="pol_ref_ref.html" title="Policy Class Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy_defaults.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_namespace_pol">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.namespace_pol"></a><a class="link" href="namespace_pol.html" title="Setting Polices at Namespace Scope">Setting
- Polices at Namespace Scope</a>
-</h4></div></div></div>
-<p>
- Sometimes what you really want to do is bring all the special functions,
- or all the distributions into a specific namespace-scope, along with a
- specific policy to use with them. There are two macros defined to assist
- with that:
- </p>
-<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">Policy</span><span class="special">)</span>
-</pre>
-<p>
- and:
- </p>
-<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="identifier">Type</span><span class="special">,</span> <span class="identifier">Policy</span><span class="special">)</span>
-</pre>
-<p>
- You can use either of these macros after including any special function
- or distribution header. For example:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="comment">//using boost::math::tgamma;</span>
-<span class="comment">// Need not declare using boost::math::tgamma here,</span>
-<span class="comment">// because will define tgamma in myspace using macro below.</span>
-
-<span class="keyword">namespace</span> <span class="identifier">myspace</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
- <span class="comment">// Define a policy that does not throw on overflow:</span>
- <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-
- <span class="comment">// Define the special functions in this scope to use the policy: </span>
- <span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">my_policy</span><span class="special">)</span>
-<span class="special">}</span>
-
-<span class="comment">// Now we can use myspace::tgamma etc.</span>
-<span class="comment">// They will automatically use "my_policy":</span>
-<span class="comment">//</span>
-<span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">myspace</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="number">30.0</span><span class="special">);</span> <span class="comment">// Will *not* throw on overflow,</span>
-<span class="comment">// despite the large value of factorial 30 = 265252859812191058636308480000000</span>
-<span class="comment">// unlike default policy boost::math::tgamma;</span>
-</pre>
-<p>
- </p>
-<p>
- In this example, using BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS results in
- a set of thin inline forwarding functions being defined:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">){</span> <span class="keyword">return</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">());</span> <span class="special">}</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">(</span> <span class="keyword">return</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">());</span> <span class="special">}</span>
-</pre>
-<p>
- and so on. Note that while a forwarding function is defined for all the
- special functions, however, unless you include the specific header for
- the special function you use (or boost/math/special_functions.hpp to include
- everything), you will get linker errors from functions that are forward
- declared, but not defined.
- </p>
-<p>
- We can do the same thing with the distributions, but this time we need
- to specify the floating-point type to use:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">cauchy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">namespace</span> <span class="identifier">myspace</span>
-<span class="special">{</span> <span class="comment">// using namespace boost::math::policies; // May be convenient in myspace.</span>
-
- <span class="comment">// Define a policy called my_policy to use.</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-
-<span class="comment">// In this case we want all the distribution accessor functions to compile,</span>
-<span class="comment">// even if they are mathematically undefined, so</span>
-<span class="comment">// make the policy assert_undefined.</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">assert_undefined</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-
-<span class="comment">// Finally apply this policy to type double.</span>
-<span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">)</span>
-<span class="special">}</span> <span class="comment">// namespace myspace</span>
-
-<span class="comment">// Now we can use myspace::cauchy etc, which will use policy</span>
-<span class="comment">// myspace::mypolicy:</span>
-<span class="comment">//</span>
-<span class="comment">// This compiles but throws a domain error exception at runtime.</span>
-<span class="comment">// Caution! If you omit the try'n'catch blocks, </span>
-<span class="comment">// it will just silently terminate, giving no clues as to why! </span>
-<span class="comment">// So try'n'catch blocks are very strongly recommended.</span>
-
-<span class="keyword">void</span> <span class="identifier">test_cauchy</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="keyword">double</span> <span class="identifier">d</span> <span class="special">=</span> <span class="identifier">mean</span><span class="special">(</span><span class="identifier">myspace</span><span class="special">::</span><span class="identifier">cauchy</span><span class="special">());</span> <span class="comment">// Cauchy does not have a mean!</span>
- <span class="special">}</span>
- <span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- In this example the result of BOOST_MATH_DECLARE_DISTRIBUTIONS is to declare
- a typedef for each distribution like this:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">cauchy</span><span class="special">;</span>
-<span class="identifier">tyepdef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span>
-</pre>
-<p>
- and so on. The name given to each typedef is the name of the distribution
- with the "_distribution" suffix removed.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy_defaults.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_ref_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/pol_ref_ref.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/pol_ref_ref.html
deleted file mode 100644
index 5735006e45..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/pol_ref_ref.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Policy Class Reference</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="namespace_pol.html" title="Setting Polices at Namespace Scope">
-<link rel="next" href="../../perf.html" title="Performance">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="namespace_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../perf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_pol_ref_ref">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.pol_ref_ref"></a><a class="link" href="pol_ref_ref.html" title="Policy Class Reference">Policy Class
- Reference</a>
-</h4></div></div></div>
-<p>
- There's very little to say here, the <code class="computeroutput"><span class="identifier">policy</span></code>
- class is just a rag-bag compile-time container for a collection of policies:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">policies</span><span class="special">/</span><span class="identifier">policy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">policies</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">policy</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">domain_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">pole_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">overflow_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">underflow_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">denorm_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">rounding_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">evaluation_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">indeterminate_result_error_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">precision_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">promote_float_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">promote_double_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">discrete_quantile_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em>computed-from-template-arguments</em></span> <span class="identifier">assert_undefined_type</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special">&lt;</span><span class="identifier">policy</span><span class="special">&lt;&gt;,</span> <span class="identifier">A1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">make_policy</span><span class="special">(...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">..);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">normalise</span>
-<span class="special">{</span>
- <span class="keyword">typedef</span> computed-from-template-arguments <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The member typedefs of class <code class="computeroutput"><span class="identifier">policy</span></code>
- are intended for internal use but are documented briefly here for the sake
- of completeness.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">domain_error_type</span>
-</pre>
-<p>
- Specifies how domain errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">domain_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">pole_error_type</span>
-</pre>
-<p>
- Specifies how pole-errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">pole_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">overflow_error_type</span>
-</pre>
-<p>
- Specifies how overflow errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">overflow_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">underflow_error_type</span>
-</pre>
-<p>
- Specifies how underflow errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">underflow_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">underflow_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">denorm_error_type</span>
-</pre>
-<p>
- Specifies how denorm errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">denorm_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">denorm_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">rounding_error_type</span>
-</pre>
-<p>
- Specifies how rounding errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">rounding_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">rounding_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">evaluation_error_type</span>
-</pre>
-<p>
- Specifies how evaluation errors are handled, will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">evaluation_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">indeterminate_error_type</span>
-</pre>
-<p>
- Specifies how indeterminate result errors are handled, will be an instance
- of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">indeterminate_result_error</span><span class="special">&lt;&gt;</span></code>
- with the template argument to <code class="computeroutput"><span class="identifier">indeterminate_result_error</span></code>
- one of the <code class="computeroutput"><span class="identifier">error_policy_type</span></code>
- enumerated values.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">precision_type</span>
-</pre>
-<p>
- Specifies the internal precision to use in binary digits (uses zero to
- represent whatever the default precision is). Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code>
- which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code>.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">promote_float_type</span>
-</pre>
-<p>
- Specifies whether or not to promote <code class="computeroutput"><span class="keyword">float</span></code>
- arguments to <code class="computeroutput"><span class="keyword">double</span></code> precision
- internally. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code> which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">promote_double_type</span>
-</pre>
-<p>
- Specifies whether or not to promote <code class="computeroutput"><span class="keyword">double</span></code>
- arguments to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
- precision internally. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code> which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">discrete_quantile_type</span>
-</pre>
-<p>
- Specifies how discrete quantiles are evaluated, will be an instance of
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">&lt;&gt;</span></code>
- instantiated with one of the <code class="computeroutput"><span class="identifier">discrete_quantile_policy_type</span></code>
- enumerated type.
- </p>
-<pre class="programlisting"><span class="identifier">policy</span><span class="special">&lt;...&gt;::</span><span class="identifier">assert_undefined_type</span>
-</pre>
-<p>
- Specifies whether mathematically-undefined properties are asserted as compile-time
- errors, or treated as runtime errors instead. Will be an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">assert_undefined</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>
- which in turn inherits from <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">bool_</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">...&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">normalise</span><span class="special">&lt;</span><span class="identifier">policy</span><span class="special">&lt;&gt;,</span> <span class="identifier">A1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">make_policy</span><span class="special">(...</span><span class="identifier">argument</span> <span class="identifier">list</span><span class="special">..);</span>
-</pre>
-<p>
- <code class="computeroutput"><span class="identifier">make_policy</span></code> is a helper
- function that converts a list of policies into a normalised <code class="computeroutput"><span class="identifier">policy</span></code> class.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A1</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A2</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A3</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A4</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A5</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A6</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A7</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A8</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A9</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A10</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A11</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A12</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">A13</span> <span class="special">=</span> <span class="identifier">default_policy</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">normalise</span>
-<span class="special">{</span>
- <span class="keyword">typedef</span> computed-from-template-arguments <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">normalise</span></code> class template
- converts one instantiation of the <code class="computeroutput"><span class="identifier">policy</span></code>
- class into a normalised form. This is used internally to reduce code bloat:
- so that instantiating a special function on <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">&gt;</span></code>
- or <code class="computeroutput"><span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">A</span><span class="special">&gt;</span></code> actually both generate the same code
- internally.
- </p>
-<p>
- Further more, <code class="computeroutput"><span class="identifier">normalise</span></code>
- can be used to combine a policy with one or more policies: for example
- many of the special functions will use this to set policies which they
- don't make use of to their default values, before forwarding to the actual
- implementation. In this way code bloat is reduced, since the actual implementation
- depends only on the policy types that they actually use.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="namespace_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../perf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html
deleted file mode 100644
index 7c0c1dd167..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Using Macros to Change the Policy Defaults</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="iteration_pol.html" title="Iteration Limits Policies">
-<link rel="next" href="namespace_pol.html" title="Setting Polices at Namespace Scope">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="iteration_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_policy_defaults">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.policy_defaults"></a><a class="link" href="policy_defaults.html" title="Using Macros to Change the Policy Defaults">Using
- Macros to Change the Policy Defaults</a>
-</h4></div></div></div>
-<p>
- You can use the various macros below to change any (or all) of the policies.
- </p>
-<p>
- You can make a local change by placing a macro definition <span class="bold"><strong>before</strong></span>
- a function or distribution #include.
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- There is a danger of One-Definition-Rule violations if you add ad-hoc
- macros to more than one source files: these must be set the same in
- <span class="bold"><strong>every translation unit</strong></span>.
- </p></td></tr>
-</table></div>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If you place it after the #include it will have no effect, (and it will
- affect only any other following #includes). This is probably not what
- you intend!
- </p></td></tr>
-</table></div>
-<p>
- If you want to alter the defaults for any or all of the policies for <span class="bold"><strong>all</strong></span> functions and distributions, installation-wide,
- then you can do so by defining various macros in <a href="../../../../../../../../boost/math/tools/user.hpp" target="_top">boost/math/tools/user.hpp</a>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h0"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_domain_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_domain_error_policy">BOOST_MATH_DOMAIN_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when a domain error occurs, if not defined then defaults
- to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, but
- can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h1"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_pole_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_pole_error_policy">BOOST_MATH_POLE_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when a pole error occurs, if not defined then defaults
- to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, but
- can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h2"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_overflow_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_overflow_error_policy">BOOST_MATH_OVERFLOW_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when an overflow error occurs, if not defined then
- defaults to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>,
- but can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h3"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_rounding_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_rounding_error_policy">BOOST_MATH_ROUNDING_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when a rounding error occurs, if not defined then
- defaults to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>,
- but can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h4"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_evaluation_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_evaluation_error_policy">BOOST_MATH_EVALUATION_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when an internal evaluation error occurs, if not defined
- then defaults to <code class="computeroutput"><span class="identifier">throw_on_error</span></code>,
- but can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h5"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_underflow_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_underflow_error_policy">BOOST_MATH_UNDERFLOW_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when an overflow error occurs, if not defined then
- defaults to <code class="computeroutput"><span class="identifier">ignore_error</span></code>,
- but can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h6"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_denorm_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_denorm_error_policy">BOOST_MATH_DENORM_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when a denormalisation error occurs, if not defined
- then defaults to <code class="computeroutput"><span class="identifier">ignore_error</span></code>,
- but can be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h7"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_indeterminate_result_error_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_indeterminate_result_error_policy">BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY</a>
- </h6>
-<p>
- Defines what happens when the result is indeterminate, but where there
- is none the less a convention for the result. If not defined then defaults
- to <code class="computeroutput"><span class="identifier">ignore_error</span></code>, but can
- be set to any of the enumerated actions for error handing: <code class="computeroutput"><span class="identifier">throw_on_error</span></code>, <code class="computeroutput"><span class="identifier">errno_on_error</span></code>,
- <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h8"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_digits10_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_digits10_policy">BOOST_MATH_DIGITS10_POLICY</a>
- </h6>
-<p>
- Defines how many decimal digits to use in internal computations: defaults
- to <code class="computeroutput"><span class="number">0</span></code> - meaning use all available
- digits - but can be set to some other decimal value. Since setting this
- is likely to have a substantial impact on accuracy, it's not generally
- recommended that you change this from the default.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h9"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_float_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_float_policy">BOOST_MATH_PROMOTE_FLOAT_POLICY</a>
- </h6>
-<p>
- Determines whether <code class="computeroutput"><span class="keyword">float</span></code> types
- get promoted to <code class="computeroutput"><span class="keyword">double</span></code> internally
- to ensure maximum precision in the result, defaults to <code class="computeroutput"><span class="keyword">true</span></code>,
- but can be set to <code class="computeroutput"><span class="keyword">false</span></code> to
- turn promotion of <code class="computeroutput"><span class="keyword">float</span></code>'s
- off.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h10"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_double_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_double_policy">BOOST_MATH_PROMOTE_DOUBLE_POLICY</a>
- </h6>
-<p>
- Determines whether <code class="computeroutput"><span class="keyword">double</span></code>
- types get promoted to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> internally to ensure maximum precision
- in the result, defaults to <code class="computeroutput"><span class="keyword">true</span></code>,
- but can be set to <code class="computeroutput"><span class="keyword">false</span></code> to
- turn promotion of <code class="computeroutput"><span class="keyword">double</span></code>'s
- off.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h11"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_discrete_quantile_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_discrete_quantile_policy">BOOST_MATH_DISCRETE_QUANTILE_POLICY</a>
- </h6>
-<p>
- Determines how discrete quantiles return their results: either as an integer,
- or as a real value, can be set to one of the enumerated values: <code class="computeroutput"><span class="identifier">real</span></code>, <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>,
- <code class="computeroutput"><span class="identifier">integer_round_inwards</span></code>,
- <code class="computeroutput"><span class="identifier">integer_round_down</span></code>, <code class="computeroutput"><span class="identifier">integer_round_up</span></code>, <code class="computeroutput"><span class="identifier">integer_round_nearest</span></code>.
- Defaults to <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h12"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_assert_undefined_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_assert_undefined_policy">BOOST_MATH_ASSERT_UNDEFINED_POLICY</a>
- </h6>
-<p>
- Determines whether functions that are mathematically undefined for a specific
- distribution compile or raise a static (i.e. compile-time) assertion. Defaults
- to <code class="computeroutput"><span class="keyword">true</span></code>: meaning that any
- mathematically undefined function will not compile. When set to <code class="computeroutput"><span class="keyword">false</span></code> then the function will compile but
- return the result of a domain error: this can be useful for some generic
- code, that needs to work with all distributions and determine at runtime
- whether or not a particular property is well defined.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h13"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_series_iteration_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_series_iteration_policy">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</a>
- </h6>
-<p>
- Determines how many series iterations a special function is permitted to
- perform before it gives up and returns an <a class="link" href="../../main_overview/error_handling.html#evaluation_error">evaluation_error</a>:
- Defaults to 1000000.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h14"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_root_iteration_policy"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_root_iteration_policy">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</a>
- </h6>
-<p>
- Determines how many root-finding iterations a special function is permitted
- to perform before it gives up and returns an <a class="link" href="../../main_overview/error_handling.html#evaluation_error">evaluation_error</a>:
- Defaults to 200.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_ref.policy_defaults.h15"></a>
- <span><a name="math_toolkit.policy.pol_ref.policy_defaults.example"></a></span><a class="link" href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.example">Example</a>
- </h6>
-<p>
- Suppose we want overflow errors to set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> and return an infinity, discrete
- quantiles to return a real-valued result (rather than round to integer),
- and for mathematically undefined functions to compile, but return a domain
- error. Then we could add the following to boost/math/tools/user.hpp:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DISCRETE_QUANTILE_POLICY</span> <span class="identifier">real</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span> <span class="keyword">false</span>
-</pre>
-<p>
- or we could place these definitions <span class="bold"><strong>before</strong></span>
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
-</pre>
-<p>
- in a source .cpp file.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="iteration_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/precision_pol.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/precision_pol.html
deleted file mode 100644
index d893131e72..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/precision_pol.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Precision Policies</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_ref.html" title="Policy Reference">
-<link rel="prev" href="discrete_quant_ref.html" title="Discrete Quantile Policies">
-<link rel="next" href="iteration_pol.html" title="Iteration Limits Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="discrete_quant_ref.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_ref_precision_pol">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_ref.precision_pol"></a><a class="link" href="precision_pol.html" title="Precision Policies">Precision
- Policies</a>
-</h4></div></div></div>
-<p>
- There are two equivalent policies that effect the <span class="emphasis"><em>working precision</em></span>
- used to calculate results, these policies both default to 0 - meaning calculate
- to the maximum precision available in the type being used - but can be
- set to other values to cause lower levels of precision to be used. One
- might want to trade precision for evaluation speed.
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">digits10</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">&gt;</span>
-<span class="identifier">digits2</span><span class="special">;</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- As you would expect, <span class="emphasis"><em>digits10</em></span> specifies the number
- of decimal digits to use, and <span class="emphasis"><em>digits2</em></span> the number of
- binary digits. Internally, whichever is used, the precision is always converted
- to <span class="emphasis"><em>binary digits</em></span>.
- </p>
-<p>
- These policies are specified at compile-time, because many of the special
- functions use compile-time-dispatch to select which approximation to use
- based on the precision requested and the numeric type being used.
- </p>
-<p>
- For example we could calculate <code class="computeroutput"><span class="identifier">tgamma</span></code>
- to approximately 5 decimal digits using:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">digits10</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">digits10</span><span class="special">&lt;</span><span class="number">5</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">my_pol_5</span><span class="special">;</span> <span class="comment">// Define a new, non-default, policy</span>
-<span class="comment">// to calculate tgamma to accuracy of approximately 5 decimal digits.</span>
-</pre>
-<p>
- </p>
-<p>
- Or again using helper function <code class="computeroutput"><span class="identifier">make_policy</span></code>:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">digits10</span><span class="special">&lt;</span><span class="number">5</span><span class="special">&gt;</span> <span class="special">&gt;());</span> <span class="comment">// Concise make_policy.</span>
-</pre>
-<p>
- </p>
-<p>
- And for a quantile of a distribution to approximately 25-bit precision:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">normal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">bits</span> <span class="special">=</span> <span class="number">25</span><span class="special">;</span> <span class="comment">// approximate precision.</span>
-
-<span class="keyword">double</span> <span class="identifier">q</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span>
- <span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">digits2</span><span class="special">&lt;</span><span class="identifier">bits</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;(),</span>
- <span class="number">0.05</span><span class="special">);</span> <span class="comment">// 5% quantile.</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="discrete_quant_ref.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial.html
deleted file mode 100644
index b098878e78..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Policy Tutorial</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../policy.html" title="Policies">
-<link rel="prev" href="pol_overview.html" title="Policy Overview">
-<link rel="next" href="pol_tutorial/what_is_a_policy.html" title="So Just What is a Policy Anyway?">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pol_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial/what_is_a_policy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.policy.pol_tutorial"></a><a class="link" href="pol_tutorial.html" title="Policy Tutorial">Policy Tutorial</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="pol_tutorial/what_is_a_policy.html">So
- Just What is a Policy Anyway?</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/policy_tut_defaults.html">Policies
- Have Sensible Defaults</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/policy_usage.html">So How
- are Policies Used Anyway?</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/changing_policy_defaults.html">Changing
- the Policy Defaults</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/ad_hoc_dist_policies.html">Setting
- Policies for Distributions on an Ad Hoc Basis</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/ad_hoc_sf_policies.html">Changing
- the Policy on an Ad Hoc Basis for the Special Functions</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/namespace_policies.html">Setting
- Policies at Namespace or Translation Unit Scope</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/user_def_err_pol.html">Calling
- User Defined Error Handlers</a></span></dt>
-<dt><span class="section"><a href="pol_tutorial/understand_dis_quant.html">Understanding
- Quantiles of Discrete Distributions</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="pol_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../policy.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_tutorial/what_is_a_policy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html
deleted file mode 100644
index 0ed804df9a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_dist_policies.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Setting Policies for Distributions on an Ad Hoc Basis</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="changing_policy_defaults.html" title="Changing the Policy Defaults">
-<link rel="next" href="ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="changing_policy_defaults.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_sf_policies.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_ad_hoc_dist_policies">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.ad_hoc_dist_policies"></a><a class="link" href="ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">Setting
- Policies for Distributions on an Ad Hoc Basis</a>
-</h4></div></div></div>
-<p>
- All of the statistical distributions in this library are class templates
- that accept two template parameters: real type (float, double ...) and
- policy (how to handle exceptional events), both with sensible defaults,
- for example:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span> <span class="special">=</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span> <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">fisher_f_distribution</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">fisher_f_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">fisher_f</span><span class="special">;</span>
-
-<span class="special">}}</span>
-</pre>
-<p>
- This policy gets used by all the accessor functions that accept a distribution
- as an argument, and forwarded to all the functions called by these. So
- if you use the shorthand-typedef for the distribution, then you get <code class="computeroutput"><span class="keyword">double</span></code> precision arithmetic and all the
- default policies.
- </p>
-<p>
- However, say for example we wanted to evaluate the quantile of the binomial
- distribution at float precision, without internal promotion to double,
- and with the result rounded to the <span class="emphasis"><em>nearest</em></span> integer,
- then here's how it can be done:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
-
-<span class="comment">// Begin by defining a policy type, that gives the behaviour we want:</span>
-
-<span class="comment">//using namespace boost::math::policies; or explicitly</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">promote_float</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_nearest</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">promote_float</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span> <span class="comment">// Do not promote to double.</span>
- <span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span> <span class="comment">// Round result to nearest integer.</span>
-<span class="special">&gt;</span> <span class="identifier">mypolicy</span><span class="special">;</span>
-<span class="comment">//</span>
-<span class="comment">// Then define a new distribution that uses it:</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">&gt;</span> <span class="identifier">mybinom</span><span class="special">;</span>
-
-<span class="comment">// And now use it to get the quantile:</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"quantile(mybinom(200, 0.25), 0.05) is: "</span> <span class="special">&lt;&lt;</span>
- <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">mybinom</span><span class="special">(</span><span class="number">200</span><span class="special">,</span> <span class="number">0.25</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Which outputs:
- </p>
-<pre class="programlisting">quantile is: 40</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="changing_policy_defaults.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_sf_policies.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html
deleted file mode 100644
index 142629ce85..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/ad_hoc_sf_policies.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Changing the Policy on an Ad Hoc Basis for the Special Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">
-<link rel="next" href="namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ad_hoc_dist_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_policies.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_ad_hoc_sf_policies">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.ad_hoc_sf_policies"></a><a class="link" href="ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">Changing
- the Policy on an Ad Hoc Basis for the Special Functions</a>
-</h4></div></div></div>
-<p>
- All of the special functions in this library come in two overloaded forms,
- one with a final "policy" parameter, and one without. For example:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="identifier">RealType</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RealType</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Normally, the second version is just a forwarding wrapper to the first
- like this:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">RealType</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;());</span>
-<span class="special">}</span>
-</pre>
-<p>
- So calling a special function with a specific policy is just a matter of
- defining the policy type to use and passing it as the final parameter.
- For example, suppose we want <code class="computeroutput"><span class="identifier">tgamma</span></code>
- to behave in a C-compatible fashion and set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> when an error occurs, and never
- throw an exception:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
-
-<span class="comment">// Define the policy to use:</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span> <span class="comment">// may be convenient, or</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-<span class="comment">// Types of error whose action can be altered by policies:.</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
-<span class="comment">// Actions on error (in enum error_policy_type):</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">ignore_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">throw_on_error</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_error</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
-<span class="special">&gt;</span> <span class="identifier">c_policy</span><span class="special">;</span>
-<span class="comment">//</span>
-<span class="comment">// Now use the policy when calling tgamma:</span>
-
-<span class="comment">// http://msdn.microsoft.com/en-us/library/t3ayayh1.aspx </span>
-<span class="comment">// Microsoft errno declared in STDLIB.H as "extern int errno;" </span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="comment">// Reset.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="number">30000</span><span class="special">,</span> <span class="identifier">c_policy</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Too big parameter</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// errno 34 Numerical result out of range.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">,</span> <span class="identifier">c_policy</span><span class="special">())</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Negative parameter.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// error 33 Numerical argument out of domain.</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<p>
- which outputs:
- </p>
-<pre class="programlisting">Result of tgamma(30000) is: 1.#INF
-errno = 34
-Result of tgamma(-10) is: 1.#QNAN
-errno = 33
-</pre>
-<p>
- Alternatively, for ad hoc use, we can use the <code class="computeroutput"><span class="identifier">make_policy</span></code>
- helper function to create a policy for us: this usage is more verbose,
- so is probably only preferred when a policy is going to be used once only:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="comment">// using namespace boost::math::policies; // or</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">make_policy</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
-
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span>
- <span class="number">30000</span><span class="special">,</span>
- <span class="identifier">make_policy</span><span class="special">(</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;()</span>
- <span class="special">)</span>
- <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Check errno was set:</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// and again with evaluation at a pole:</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span>
- <span class="special">-</span><span class="number">10</span><span class="special">,</span>
- <span class="identifier">make_policy</span><span class="special">(</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;(),</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;()</span>
- <span class="special">)</span>
- <span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Check errno was set:</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ad_hoc_dist_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="namespace_policies.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/changing_policy_defaults.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/changing_policy_defaults.html
deleted file mode 100644
index 76ac9a9c0c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/changing_policy_defaults.html
+++ /dev/null
@@ -1,276 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Changing the Policy Defaults</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="policy_usage.html" title="So How are Policies Used Anyway?">
-<link rel="next" href="ad_hoc_dist_policies.html" title="Setting Policies for Distributions on an Ad Hoc Basis">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy_usage.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_dist_policies.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_changing_policy_defaults">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.changing_policy_defaults"></a><a class="link" href="changing_policy_defaults.html" title="Changing the Policy Defaults">Changing
- the Policy Defaults</a>
-</h4></div></div></div>
-<p>
- The default policies used by the library are changed by the usual configuration
- macro method.
- </p>
-<p>
- For example, passing <code class="computeroutput"><span class="special">-</span><span class="identifier">DBOOST_MATH_DOMAIN_ERROR_POLICY</span><span class="special">=</span><span class="identifier">errno_on_error</span></code>
- to your compiler will cause domain errors to set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> and return a <a href="http://en.wikipedia.org/wiki/NaN" target="_top">NaN</a>
- rather than the usual default behaviour of throwing a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
- exception.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- For Microsoft Visual Studio,you can add to the Project Property Page,
- C/C++, Preprocessor, Preprocessor definitions like:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span><span class="special">=</span><span class="number">0</span>
-<span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span><span class="special">=</span><span class="identifier">errno_on_error</span></pre>
-<p>
- </p>
-<p>
- This may be helpful to avoid complications with pre-compiled headers
- that may mean that the equivalent definitions in source code:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_ASSERT_UNDEFINED_POLICY</span> <span class="keyword">false</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">errno_on_error</span></pre>
-<p>
- </p>
-<p>
- <span class="bold"><strong>may be ignored</strong></span>.
- </p>
-<p>
- The compiler command line shows:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="special">/</span><span class="identifier">D</span> <span class="string">"BOOST_MATH_ASSERT_UNDEFINED_POLICY=0"</span>
-<span class="special">/</span><span class="identifier">D</span> <span class="string">"BOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error"</span></pre>
-<p>
- </p>
-</td></tr>
-</table></div>
-<p>
- There is however a very important caveat to this:
- </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="bold"><strong><span class="emphasis"><em>Default policies changed by setting configuration
- macros must be changed uniformly in every translation unit in the program.</em></span></strong></span>
- </p>
-<p>
- Failure to follow this rule may result in violations of the "One
- Definition Rule (ODR)" and result in unpredictable program behaviour.
- </p>
-</td></tr>
-</table></div>
-<p>
- That means there are only two safe ways to use these macros:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Edit them in <a href="../../../../../../../../boost/math/tools/user.hpp" target="_top">boost/math/tools/user.hpp</a>,
- so that the defaults are set on an installation-wide basis. Unfortunately
- this may not be convenient if you are using a pre-installed Boost distribution
- (on Linux for example).
- </li>
-<li class="listitem">
- Set the defines in your project's Makefile or build environment, so
- that they are set uniformly across all translation units.
- </li>
-</ul></div>
-<p>
- What you should <span class="bold"><strong>not</strong></span> do is:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Set the defines in the source file using <code class="computeroutput"><span class="preprocessor">#define</span></code>
- as doing so almost certainly will break your program, unless you're
- absolutely certain that the program is restricted to a single translation
- unit.
- </li></ul></div>
-<p>
- And, yes, you will find examples in our test programs where we break this
- rule: but only because we know there will always be a single translation
- unit only: <span class="emphasis"><em>don't say that you weren't warned!</em></span>
- </p>
-<p>
- The following example demonstrates the effect of setting the macro BOOST_MATH_DOMAIN_ERROR_POLICY
- when an invalid argument is encountered. For the purposes of this example,
- we'll pass a negative degrees of freedom parameter to the student's t distribution.
- </p>
-<p>
- Since we know that this is a single file program we could just add:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
-</pre>
-<p>
- to the top of the source file to change the default policy to one that
- simply returns a NaN when a domain error occurs. Alternatively we could
- use:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
-</pre>
-<p>
- To ensure the <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- is set when a domain error occurs as well as returning a NaN.
- </p>
-<p>
- This is safe provided the program consists of a single translation unit
- <span class="emphasis"><em>and</em></span> we place the define <span class="emphasis"><em>before</em></span>
- any #includes. Note that should we add the define after the includes then
- it will have no effect! A warning such as:
- </p>
-<pre class="programlisting">warning C4005: 'BOOST_MATH_OVERFLOW_ERROR_POLICY' : macro redefinition</pre>
-<p>
- is a certain sign that it will <span class="emphasis"><em>not</em></span> have the desired
- effect.
- </p>
-<p>
- We'll begin our sample program with the needed includes:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// Boost</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">students_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">students_t</span><span class="special">;</span> <span class="comment">// Probability of students_t(df, t).</span>
-
-<span class="comment">// std</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">stdexcept</span><span class="special">&gt;</span>
- <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cstddef</span><span class="special">&gt;</span>
- <span class="comment">// using ::errno</span>
-</pre>
-<p>
- </p>
-<p>
- Next we'll define the program's main() to call the student's t distribution
- with an invalid degrees of freedom parameter, the program is set up to
- handle either an exception or a NaN:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Example error handling using Student's t function. "</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"BOOST_MATH_DOMAIN_ERROR_POLICY is set to: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">BOOST_STRINGIZE</span><span class="special">(</span><span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="keyword">double</span> <span class="identifier">degrees_of_freedom</span> <span class="special">=</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="comment">// A bad argument!</span>
- <span class="keyword">double</span> <span class="identifier">t</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
-
- <span class="keyword">try</span>
- <span class="special">{</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="comment">// Clear/reset.</span>
- <span class="identifier">students_t</span> <span class="identifier">dist</span><span class="special">(</span><span class="identifier">degrees_of_freedom</span><span class="special">);</span> <span class="comment">// exception is thrown here if enabled.</span>
- <span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">dist</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
- <span class="comment">// Test for error reported by other means:</span>
- <span class="keyword">if</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">p</span><span class="special">))</span>
- <span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"cdf returned a NaN!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">errno</span> <span class="special">!=</span> <span class="number">0</span><span class="special">)</span>
- <span class="special">{</span> <span class="comment">// So errno has been set.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno is set to: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="special">}</span>
- <span class="keyword">else</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Probability of Student's t is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">catch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"\n"</span><span class="string">"Message from thrown exception was:\n "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
- <span class="special">}</span>
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<p>
- Here's what the program output looks like with a default build (one that
- <span class="bold"><strong>does throw exceptions</strong></span>):
- </p>
-<pre class="programlisting">Example error handling using Student's t function.
-BOOST_MATH_DOMAIN_ERROR_POLICY is set to: throw_on_error
-
-Message from thrown exception was:
- Error in function boost::math::students_t_distribution&lt;double&gt;::students_t_distribution:
- Degrees of freedom argument is -1, but must be &gt; 0 !
-</pre>
-<p>
- Alternatively let's build with:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">ignore_error</span>
-</pre>
-<p>
- Now the program output is:
- </p>
-<pre class="programlisting">Example error handling using Student's t function.
-BOOST_MATH_DOMAIN_ERROR_POLICY is set to: ignore_error
-cdf returned a NaN!
-</pre>
-<p>
- And finally let's build with:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_DOMAIN_ERROR_POLICY</span> <span class="identifier">errno_on_error</span>
-</pre>
-<p>
- Which gives the output show errno:
- </p>
-<pre class="programlisting">Example error handling using Student's t function.
-BOOST_MATH_DOMAIN_ERROR_POLICY is set to: errno_on_error
-cdf returned a NaN!
-errno is set to: 33
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy_usage.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ad_hoc_dist_policies.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/namespace_policies.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/namespace_policies.html
deleted file mode 100644
index b75c334c53..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/namespace_policies.html
+++ /dev/null
@@ -1,416 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Setting Policies at Namespace or Translation Unit Scope</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="ad_hoc_sf_policies.html" title="Changing the Policy on an Ad Hoc Basis for the Special Functions">
-<link rel="next" href="user_def_err_pol.html" title="Calling User Defined Error Handlers">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ad_hoc_sf_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def_err_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_namespace_policies">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.namespace_policies"></a><a class="link" href="namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope">Setting
- Policies at Namespace or Translation Unit Scope</a>
-</h4></div></div></div>
-<p>
- Sometimes what you want to do is just change a set of policies within the
- current scope: <span class="bold"><strong>the one thing you should not do in
- this situation is use the configuration macros</strong></span>, as this can
- lead to "One Definition Rule" violations. Instead this library
- provides a pair of macros especially for this purpose.
- </p>
-<p>
- Let's consider the special functions first: we can declare a set of forwarding
- functions that all use a specific policy using the macro BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(<span class="emphasis"><em>Policy</em></span>).
- This macro should be used either inside a unique namespace set aside for
- the purpose (for example, a C namespace for a C-style policy), or an unnamed
- namespace if you just want the functions visible in global scope for the
- current file only.
- </p>
-<p>
- Suppose we want <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">foo</span><span class="special">()</span></code>
- to behave in a C-compatible way and set <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code> on error rather than throwing any
- exceptions.
- </p>
-<p>
- We'll begin by including the needed header for our function:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="comment">//using boost::math::tgamma; // Not needed because using C::tgamma.</span>
-</pre>
-<p>
- </p>
-<p>
- Open up the "C" namespace that we'll use for our functions, and
- define the policy type we want: in this case a C-style one that sets ::errno
- and returns a standard value, rather than throwing exceptions.
- </p>
-<p>
- Any policies we don't specify here will inherit the defaults.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">C</span>
-<span class="special">{</span> <span class="comment">// To hold our C-style policy.</span>
- <span class="comment">//using namespace boost::math::policies; or explicitly:</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">pole_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">overflow_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">evaluation_error</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">errno_on_error</span><span class="special">;</span>
-
- <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">c_policy</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- All we need do now is invoke the BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS macro
- passing our policy type c_policy as the single argument:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">c_policy</span><span class="special">)</span>
-
-<span class="special">}</span> <span class="comment">// close namespace C</span>
-</pre>
-<p>
- </p>
-<p>
- We now have a set of forwarding functions defined in namespace C that all
- look something like this:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">RT</span><span class="special">&gt;::</span><span class="identifier">type</span>
- <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RT</span> <span class="identifier">z</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">c_policy</span><span class="special">());</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- So that when we call <code class="computeroutput"><span class="identifier">C</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>,
- we really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
- <span class="identifier">C</span><span class="special">::</span><span class="identifier">c_policy</span><span class="special">())</span></code>:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="number">30000</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Note using C::tgamma</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// errno = 34</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// errno = 33, overwriting previous value of 34.</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Which outputs:
- </p>
-<pre class="programlisting">Result of C::tgamma(30000) is: 1.#INF
-errno = 34
-Result of C::tgamma(-10) is: 1.#QNAN
-errno = 33
-</pre>
-<p>
- This mechanism is particularly useful when we want to define a project-wide
- policy, and don't want to modify the Boost source, or to set project wide
- build macros (possibly fragile and easy to forget).
- </p>
-<p>
- The same mechanism works well at file scope as well, by using an unnamed
- namespace, we can ensure that these declarations don't conflict with any
- alternate policies present in other translation units:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="comment">// using boost::math::tgamma; // Would create an ambiguity between</span>
-<span class="comment">// 'double boost::math::tgamma&lt;int&gt;(T)' and</span>
-<span class="comment">// 'double 'anonymous-namespace'::tgamma&lt;int&gt;(RT)'.</span>
-
-<span class="keyword">namespace</span>
-<span class="special">{</span> <span class="comment">// unnamed</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;</span>
-<span class="special">&gt;</span> <span class="identifier">c_policy</span><span class="special">;</span>
-
-<span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">c_policy</span><span class="special">)</span>
-</pre>
-<p>
- </p>
-<p>
- So that when we call <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>,
- we really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
- <span class="identifier">anonymous</span><span class="special">-</span><span class="keyword">namespace</span><span class="special">::</span><span class="identifier">c_policy</span><span class="special">())</span></code>.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="special">}</span> <span class="comment">// close unnamed namespace</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(30000) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="number">30000</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// tgamma in unnamed namespace in this translation unit (file) only.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Default tgamma policy would throw an exception, and abort.</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Handling policies for the statistical distributions is very similar except
- that now the macro BOOST_MATH_DECLARE_DISTRIBUTIONS accepts two parameters:
- the floating point type to use, and the policy type to apply. For example:
- </p>
-<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">)</span>
-</pre>
-<p>
- Results a set of typedefs being defined like this:
- </p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">mypolicy</span><span class="special">&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
-</pre>
-<p>
- The name of each typedef is the same as the name of the distribution class
- template, but without the "_distribution" suffix.
- </p>
-<p>
- Suppose we want a set of distributions to behave as follows:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Return infinity on overflow, rather than throwing an exception.
- </li>
-<li class="listitem">
- Don't perform any promotion from double to long double internally.
- </li>
-<li class="listitem">
- Return the closest integer result from the quantiles of discrete distributions.
- </li>
-</ul></div>
-<p>
- We'll begin by including the needed header for all the distributions:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<p>
- Open up an appropriate namespace, calling it <code class="computeroutput"><span class="identifier">my_distributions</span></code>,
- for our distributions, and define the policy type we want. Any policies
- we don't specify here will inherit the defaults:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">my_distributions</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
- <span class="comment">// using boost::math::policies::errno_on_error; // etc.</span>
-
- <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="comment">// return infinity and set errno rather than throw:</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="comment">// Don't promote double -&gt; long double internally:</span>
- <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span>
- <span class="comment">// Return the closest integer result for discrete quantiles:</span>
- <span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- All we need do now is invoke the BOOST_MATH_DECLARE_DISTRIBUTIONS macro
- passing the floating point type <code class="computeroutput"><span class="keyword">double</span></code>
- and policy types <code class="computeroutput"><span class="identifier">my_policy</span></code>
- as arguments:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">)</span>
-
-<span class="special">}</span> <span class="comment">// close namespace my_namespace</span>
-</pre>
-<p>
- </p>
-<p>
- We now have a set of typedefs defined in namespace my_distributions that
- all look something like this:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">normal</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">cauchy_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">cauchy</span><span class="special">;</span>
-<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gamma_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span> <span class="identifier">gamma</span><span class="special">;</span>
-<span class="comment">// etc</span>
-</pre>
-<p>
- </p>
-<p>
- So that when we use my_distributions::normal we really end up using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">&gt;</span></code>:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="comment">// Construct distribution with something we know will overflow</span>
- <span class="comment">// (using double rather than if promoted to long double):</span>
- <span class="identifier">my_distributions</span><span class="special">::</span><span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
-
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 0) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// -infinity.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 1) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// +infinity.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Now try a discrete distribution.</span>
- <span class="identifier">my_distributions</span><span class="special">::</span><span class="identifier">binomial</span> <span class="identifier">binom</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(binom, 0.05) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// To check we get integer results.</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(complement(binom, 0.05)) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Which outputs:
- </p>
-<pre class="programlisting">Result of quantile(norm, 0) is: -1.#INF
-errno = 34
-Result of quantile(norm, 1) is: 1.#INF
-errno = 34
-Result of quantile(binom, 0.05) is: 1
-Result of quantile(complement(binom, 0.05)) is: 8
-</pre>
-<p>
- This mechanism is particularly useful when we want to define a project-wide
- policy, and don't want to modify the Boost source or set project wide build
- macros (possibly fragile and easy to forget).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- There is an important limitation to note: you can *not use the macros
- BOOST_MATH_DECLARE_DISTRIBUTIONS and BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS
- <span class="emphasis"><em>in the same namespace</em></span>*, as doing so creates ambiguities
- between functions and distributions of the same name.
- </p></td></tr>
-</table></div>
-<p>
- As before, the same mechanism works well at file scope as well: by using
- an unnamed namespace, we can ensure that these declarations don't conflict
- with any alternate policies present in other translation units:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="comment">// All distributions.</span>
-<span class="comment">// using boost::math::normal; // Would create an ambguity between</span>
-<span class="comment">// boost::math::normal_distribution&lt;RealType&gt; boost::math::normal and</span>
-<span class="comment">// 'anonymous-namespace'::normal'.</span>
-
-<span class="keyword">namespace</span>
-<span class="special">{</span> <span class="comment">// anonymous or unnnamed (rather than named as in policy_eg_6.cpp).</span>
-
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
- <span class="comment">// using boost::math::policies::errno_on_error; // etc.</span>
- <span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="comment">// return infinity and set errno rather than throw:</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span>
- <span class="comment">// Don't promote double -&gt; long double internally:</span>
- <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;,</span>
- <span class="comment">// Return the closest integer result for discrete quantiles:</span>
- <span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span>
- <span class="special">&gt;</span> <span class="identifier">my_policy</span><span class="special">;</span>
-
- <span class="identifier">BOOST_MATH_DECLARE_DISTRIBUTIONS</span><span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">my_policy</span><span class="special">)</span>
-
-<span class="special">}</span> <span class="comment">// close namespace my_namespace</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="comment">// Construct distribution with something we know will overflow.</span>
- <span class="identifier">normal</span> <span class="identifier">norm</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span> <span class="comment">// using 'anonymous-namespace'::normal</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 0) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">0</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">errno</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(norm, 1) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">norm</span><span class="special">,</span> <span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"errno = "</span> <span class="special">&lt;&lt;</span> <span class="identifier">errno</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">//</span>
- <span class="comment">// Now try a discrete distribution:</span>
- <span class="identifier">binomial</span> <span class="identifier">binom</span><span class="special">(</span><span class="number">20</span><span class="special">,</span> <span class="number">0.25</span><span class="special">);</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(binom, 0.05) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of quantile(complement(binom, 0.05)) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">binom</span><span class="special">,</span> <span class="number">0.05</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ad_hoc_sf_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user_def_err_pol.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_tut_defaults.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_tut_defaults.html
deleted file mode 100644
index ff8c959133..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_tut_defaults.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Policies Have Sensible Defaults</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="what_is_a_policy.html" title="So Just What is a Policy Anyway?">
-<link rel="next" href="policy_usage.html" title="So How are Policies Used Anyway?">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="what_is_a_policy.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_usage.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_policy_tut_defaults">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.policy_tut_defaults"></a><a class="link" href="policy_tut_defaults.html" title="Policies Have Sensible Defaults">Policies
- Have Sensible Defaults</a>
-</h4></div></div></div>
-<p>
- Most of the time you can just ignore the policy framework.
- </p>
-<p>
- <span class="emphasis"><em>*The defaults for the various policies are as follows, if these
- work OK for you then you can stop reading now!</em></span>
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">Domain Error</span></dt>
-<dd><p>
- Throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code> exception.
- </p></dd>
-<dt><span class="term">Pole Error</span></dt>
-<dd><p>
- Occurs when a function is evaluated at a pole: throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code> exception.
- </p></dd>
-<dt><span class="term">Overflow Error</span></dt>
-<dd><p>
- Throws a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code> exception.
- </p></dd>
-<dt><span class="term">Underflow</span></dt>
-<dd><p>
- Ignores the underflow, and returns zero.
- </p></dd>
-<dt><span class="term">Denormalised Result</span></dt>
-<dd><p>
- Ignores the fact that the result is denormalised, and returns it.
- </p></dd>
-<dt><span class="term">Rounding Error</span></dt>
-<dd><p>
- Throws a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">rounding_error</span></code> exception.
- </p></dd>
-<dt><span class="term">Internal Evaluation Error</span></dt>
-<dd><p>
- Throws a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">evaluation_error</span></code> exception.
- </p></dd>
-<dt><span class="term">Indeterminate Result Error</span></dt>
-<dd><p>
- Returns a result that depends on the function where the error occurred.
- </p></dd>
-<dt><span class="term">Promotion of float to double</span></dt>
-<dd><p>
- Does occur by default - gives full float precision results.
- </p></dd>
-<dt><span class="term">Promotion of double to long double</span></dt>
-<dd><p>
- Does occur by default if long double offers more precision than double.
- </p></dd>
-<dt><span class="term">Precision of Approximation Used</span></dt>
-<dd><p>
- By default uses an approximation that will result in the lowest level
- of error for the type of the result.
- </p></dd>
-<dt><span class="term">Behaviour of Discrete Quantiles</span></dt>
-<dd>
-<p>
- The quantile function will by default return an integer result that
- has been <span class="emphasis"><em>rounded outwards</em></span>. That is to say lower
- quantiles (where the probability is less than 0.5) are rounded downward,
- and upper quantiles (where the probability is greater than 0.5) are
- rounded upwards. This behaviour ensures that if an X% quantile is
- requested, then <span class="emphasis"><em>at least</em></span> the requested coverage
- will be present in the central region, and <span class="emphasis"><em>no more than</em></span>
- the requested coverage will be present in the tails.
- </p>
-<p>
- This behaviour can be changed so that the quantile functions are
- rounded differently, or even return a real-valued result using <a class="link" href="../pol_overview.html" title="Policy Overview">Policies</a>. It is
- strongly recommended that you read the tutorial <a class="link" href="understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a> before using the quantile
- function on a discrete distribution. The <a class="link" href="../pol_ref/discrete_quant_ref.html" title="Discrete Quantile Policies">reference
- docs</a> describe how to change the rounding policy for these
- distributions.
- </p>
-</dd>
-</dl>
-</div>
-<p>
- What's more, if you define your own policy type, then it automatically
- inherits the defaults for any policies not explicitly set, so given:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-<span class="comment">//</span>
-<span class="comment">// Define a policy that sets ::errno on overflow, and does</span>
-<span class="comment">// not promote double to long double internally:</span>
-<span class="comment">//</span>
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span> <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">mypolicy</span><span class="special">;</span>
-</pre>
-<p>
- then <code class="computeroutput"><span class="identifier">mypolicy</span></code> defines a
- policy where only the overflow error handling and <code class="computeroutput"><span class="keyword">double</span></code>-promotion
- policies differ from the defaults.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="what_is_a_policy.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_usage.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_usage.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_usage.html
deleted file mode 100644
index bb66b9990a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/policy_usage.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>So How are Policies Used Anyway?</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="policy_tut_defaults.html" title="Policies Have Sensible Defaults">
-<link rel="next" href="changing_policy_defaults.html" title="Changing the Policy Defaults">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy_tut_defaults.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="changing_policy_defaults.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_policy_usage">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.policy_usage"></a><a class="link" href="policy_usage.html" title="So How are Policies Used Anyway?">So How
- are Policies Used Anyway?</a>
-</h4></div></div></div>
-<p>
- The details follow later, but basically policies can be set by either:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Defining some macros that change the default behaviour: <span class="bold"><strong>this
- is the recommended method for setting installation-wide policies</strong></span>.
- </li>
-<li class="listitem">
- By instantiating a distribution object with an explicit policy: this
- is mainly reserved for ad hoc policy changes.
- </li>
-<li class="listitem">
- By passing a policy to a special function as an optional final argument:
- this is mainly reserved for ad hoc policy changes.
- </li>
-<li class="listitem">
- By using some helper macros to define a set of functions or distributions
- in the current namespace that use a specific policy: <span class="bold"><strong>this
- is the recommended method for setting policies on a project- or translation-unit-wide
- basis</strong></span>.
- </li>
-</ul></div>
-<p>
- The following sections introduce these methods in more detail.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="policy_tut_defaults.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="changing_policy_defaults.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html
deleted file mode 100644
index b251aae7b0..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html
+++ /dev/null
@@ -1,430 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Understanding Quantiles of Discrete Distributions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="user_def_err_pol.html" title="Calling User Defined Error Handlers">
-<link rel="next" href="../pol_ref.html" title="Policy Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="user_def_err_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_understand_dis_quant">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.understand_dis_quant"></a><a class="link" href="understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">Understanding
- Quantiles of Discrete Distributions</a>
-</h4></div></div></div>
-<p>
- Discrete distributions present us with a problem when calculating the quantile:
- we are starting from a continuous real-valued variable - the probability
- - but the result (the value of the random variable) should really be discrete.
- </p>
-<p>
- Consider for example a Binomial distribution, with a sample size of 50,
- and a success fraction of 0.5. There are a variety of ways we can plot
- a discrete distribution, but if we plot the PDF as a step-function then
- it looks something like this:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/binomial_pdf.png" alt="binomial_pdf"></span>
- </p>
-<p>
- Now lets suppose that the user asks for a the quantile that corresponds
- to a probability of 0.05, if we zoom in on the CDF for that region here's
- what we see:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/binomial_quantile_1.png" alt="binomial_quantile_1"></span>
- </p>
-<p>
- As can be seen there is no random variable that corresponds to a probability
- of exactly 0.05, so we're left with two choices as shown in the figure:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- We could round the result down to 18.
- </li>
-<li class="listitem">
- We could round the result up to 19.
- </li>
-</ul></div>
-<p>
- In fact there's actually a third choice as well: we could "pretend"
- that the distribution was continuous and return a real valued result: in
- this case we would calculate a result of approximately 18.701 (this accurately
- reflects the fact that the result is nearer to 19 than 18).
- </p>
-<p>
- By using policies we can offer any of the above as options, but that still
- leaves the question: <span class="emphasis"><em>What is actually the right thing to do?</em></span>
- </p>
-<p>
- And in particular: <span class="emphasis"><em>What policy should we use by default?</em></span>
- </p>
-<p>
- In coming to an answer we should realise that:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Calculating an integer result is often much faster than calculating
- a real-valued result: in fact in our tests it was up to 20 times faster.
- </li>
-<li class="listitem">
- Normally people calculate quantiles so that they can perform a test
- of some kind: <span class="emphasis"><em>"If the random variable is less than N
- then we can reject our null-hypothesis with 90% confidence."</em></span>
- </li>
-</ul></div>
-<p>
- So there is a genuine benefit to calculating an integer result as well
- as it being "the right thing to do" from a philosophical point
- of view. What's more if someone asks for a quantile at 0.05, then we can
- normally assume that they are asking for <span class="emphasis"><em><span class="bold"><strong>at
- least</strong></span> 95% of the probability to the right of the value chosen,
- and <span class="bold"><strong>no more than</strong></span> 5% of the probability
- to the left of the value chosen.</em></span>
- </p>
-<p>
- In the above binomial example we would therefore round the result down
- to 18.
- </p>
-<p>
- The converse applies to upper-quantiles: If the probability is greater
- than 0.5 we would want to round the quantile up, <span class="emphasis"><em>so that <span class="bold"><strong>at least</strong></span> the requested probability is to the left
- of the value returned, and <span class="bold"><strong>no more than</strong></span>
- 1 - the requested probability is to the right of the value returned.</em></span>
- </p>
-<p>
- Likewise for two-sided intervals, we would round lower quantiles down,
- and upper quantiles up. This ensures that we have <span class="emphasis"><em>at least the
- requested probability in the central region</em></span> and <span class="emphasis"><em>no
- more than 1 minus the requested probability in the tail areas.</em></span>
- </p>
-<p>
- For example, taking our 50 sample binomial distribution with a success
- fraction of 0.5, if we wanted a two sided 90% confidence interval, then
- we would ask for the 0.05 and 0.95 quantiles with the results <span class="emphasis"><em>rounded
- outwards</em></span> so that <span class="emphasis"><em>at least 90% of the probability</em></span>
- is in the central area:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/binomial_pdf_3.png" alt="binomial_pdf_3"></span>
- </p>
-<p>
- So far so good, but there is in fact a trap waiting for the unwary here:
- </p>
-<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">);</span>
-</pre>
-<p>
- returns 18 as the result, which is what we would expect from the graph
- above, and indeed there is no x greater than 18 for which:
- </p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0.05</span><span class="special">;</span>
-</pre>
-<p>
- However:
- </p>
-<pre class="programlisting"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">);</span>
-</pre>
-<p>
- returns 31, and indeed while there is no x less than 31 for which:
- </p>
-<pre class="programlisting"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">binomial</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="number">0.95</span><span class="special">;</span>
-</pre>
-<p>
- We might naively expect that for this symmetrical distribution the result
- would be 32 (since 32 = 50 - 18), but we need to remember that the cdf
- of the binomial is <span class="emphasis"><em>inclusive</em></span> of the random variable.
- So while the left tail area <span class="emphasis"><em>includes</em></span> the quantile
- returned, the right tail area always excludes an upper quantile value:
- since that "belongs" to the central area.
- </p>
-<p>
- Look at the graph above to see what's going on here: the lower quantile
- of 18 belongs to the left tail, so any value &lt;= 18 is in the left tail.
- The upper quantile of 31 on the other hand belongs to the central area,
- so the tail area actually starts at 32, so any value &gt; 31 is in the
- right tail.
- </p>
-<p>
- Therefore if U and L are the upper and lower quantiles respectively, then
- a random variable X is in the tail area - where we would reject the null
- hypothesis if:
- </p>
-<pre class="programlisting"><span class="identifier">X</span> <span class="special">&lt;=</span> <span class="identifier">L</span> <span class="special">||</span> <span class="identifier">X</span> <span class="special">&gt;</span> <span class="identifier">U</span>
-</pre>
-<p>
- And the a variable X is inside the central region if:
- </p>
-<pre class="programlisting"><span class="identifier">L</span> <span class="special">&lt;</span> <span class="identifier">X</span> <span class="special">&lt;=</span> <span class="identifier">U</span>
-</pre>
-<p>
- The moral here is to <span class="emphasis"><em>always be very careful with your comparisons
- when dealing with a discrete distribution</em></span>, and if in doubt,
- <span class="emphasis"><em>base your comparisons on CDF's instead</em></span>.
- </p>
-<h6>
-<a name="math_toolkit.policy.pol_tutorial.understand_dis_quant.h0"></a>
- <span><a name="math_toolkit.policy.pol_tutorial.understand_dis_quant.other_rounding_policies_are_available"></a></span><a class="link" href="understand_dis_quant.html#math_toolkit.policy.pol_tutorial.understand_dis_quant.other_rounding_policies_are_available">Other
- Rounding Policies are Available</a>
- </h6>
-<p>
- As you would expect from a section on policies, you won't be surprised
- to know that other rounding options are available:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">integer_round_outwards</span></dt>
-<dd>
-<p>
- This is the default policy as described above: lower quantiles are
- rounded down (probability &lt; 0.5), and upper quantiles (probability
- &gt; 0.5) are rounded up.
- </p>
-<p>
- This gives <span class="emphasis"><em>no more than</em></span> the requested probability
- in the tails, and <span class="emphasis"><em>at least</em></span> the requested probability
- in the central area.
- </p>
-</dd>
-<dt><span class="term">integer_round_inwards</span></dt>
-<dd>
-<p>
- This is the exact opposite of the default policy: lower quantiles
- are rounded up (probability &lt; 0.5), and upper quantiles (probability
- &gt; 0.5) are rounded down.
- </p>
-<p>
- This gives <span class="emphasis"><em>at least</em></span> the requested probability
- in the tails, and <span class="emphasis"><em>no more than</em></span> the requested
- probability in the central area.
- </p>
-</dd>
-<dt><span class="term">integer_round_down</span></dt>
-<dd><p>
- This policy will always round the result down no matter whether it
- is an upper or lower quantile
- </p></dd>
-<dt><span class="term">integer_round_up</span></dt>
-<dd><p>
- This policy will always round the result up no matter whether it
- is an upper or lower quantile
- </p></dd>
-<dt><span class="term">integer_round_nearest</span></dt>
-<dd><p>
- This policy will always round the result to the nearest integer no
- matter whether it is an upper or lower quantile
- </p></dd>
-<dt><span class="term">real</span></dt>
-<dd><p>
- This policy will return a real valued result for the quantile of
- a discrete distribution: this is generally much slower than finding
- an integer result but does allow for more sophisticated rounding
- policies.
- </p></dd>
-</dl>
-</div>
-<p>
- To understand how the rounding policies for the discrete distributions
- can be used, we'll use the 50-sample binomial distribution with a success
- fraction of 0.5 once again, and calculate all the possible quantiles at
- 0.05 and 0.95.
- </p>
-<p>
- Begin by including the needed headers (and some using statements for conciseness):
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">left</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">fixed</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">right</span><span class="special">;</span> <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">scientific</span><span class="special">;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iomanip</span><span class="special">&gt;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setw</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<p>
- Next we'll bring the needed declarations into scope, and define distribution
- types for all the available rounding policies:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="comment">// Avoid </span>
-<span class="comment">// using namespace std; // and </span>
-<span class="comment">// using namespace boost::math;</span>
-<span class="comment">// to avoid potential ambiguity of names, like binomial.</span>
-<span class="comment">// using namespace boost::math::policies; is small risk, but</span>
-<span class="comment">// the necessary items are brought into scope thus:</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">discrete_quantile</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_outwards</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_down</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_up</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_nearest</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">integer_round_inwards</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">real</span><span class="special">;</span>
-
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_distribution</span><span class="special">;</span> <span class="comment">// Not std::binomial_distribution.</span>
-
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_outwards</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="identifier">binom_round_outwards</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_inwards</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="identifier">binom_round_inwards</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_down</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="identifier">binom_round_down</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_up</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="identifier">binom_round_up</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">integer_round_nearest</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="identifier">binom_round_nearest</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">binomial_distribution</span><span class="special">&lt;</span>
- <span class="keyword">double</span><span class="special">,</span>
- <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">discrete_quantile</span><span class="special">&lt;</span><span class="identifier">real</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="identifier">binom_real_quantile</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Now let's set to work calling those quantiles:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span>
- <span class="string">"Testing rounding policies for a 50 sample binomial distribution,\n"</span>
- <span class="string">"with a success fraction of 0.5.\n\n"</span>
- <span class="string">"Lower quantiles are calculated at p = 0.05\n\n"</span>
- <span class="string">"Upper quantiles at p = 0.95.\n\n"</span><span class="special">;</span>
-
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"Policy"</span><span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"Lower Quantile"</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"Upper Quantile"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Test integer_round_outwards:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"integer_round_outwards"</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_outwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_outwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Test integer_round_inwards:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"integer_round_inwards"</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_inwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_inwards</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Test integer_round_down:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"integer_round_down"</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_down</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_down</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Test integer_round_up:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"integer_round_up"</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_up</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_up</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Test integer_round_nearest:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"integer_round_nearest"</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_nearest</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_round_nearest</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Test real:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">25</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="string">"real"</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_real_quantile</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.05</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">setw</span><span class="special">(</span><span class="number">18</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">right</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">binom_real_quantile</span><span class="special">(</span><span class="number">50</span><span class="special">,</span> <span class="number">0.5</span><span class="special">),</span> <span class="number">0.95</span><span class="special">)</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<p>
- Which produces the program output:
- </p>
-<pre class="programlisting">policy_eg_10.vcxproj -&gt; J:\Cpp\MathToolkit\test\Math_test\Release\policy_eg_10.exe
- Testing rounding policies for a 50 sample binomial distribution,
- with a success fraction of 0.5.
-
- Lower quantiles are calculated at p = 0.05
-
- Upper quantiles at p = 0.95.
-
- Policy Lower Quantile Upper Quantile
- integer_round_outwards 18 31
- integer_round_inwards 19 30
- integer_round_down 18 30
- integer_round_up 19 31
- integer_round_nearest 19 30
- real 18.701 30.299
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="user_def_err_pol.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../pol_ref.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/user_def_err_pol.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/user_def_err_pol.html
deleted file mode 100644
index b1cac051cb..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/user_def_err_pol.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Calling User Defined Error Handlers</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope">
-<link rel="next" href="understand_dis_quant.html" title="Understanding Quantiles of Discrete Distributions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="namespace_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="understand_dis_quant.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_user_def_err_pol">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.user_def_err_pol"></a><a class="link" href="user_def_err_pol.html" title="Calling User Defined Error Handlers">Calling
- User Defined Error Handlers</a>
-</h4></div></div></div>
-<p>
- Suppose we want our own user-defined error handlers rather than the any
- of the default ones supplied by the library to be used. If we set the policy
- for a specific type of error to <code class="computeroutput"><span class="identifier">user_error</span></code>
- then the library will call a user-supplied error handler. These are forward
- declared, but not defined in boost/math/policies/error_handling.hpp like
- this:
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_underflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_denorm_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_evaluation_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">TargetType</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_rounding_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">TargetType</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_indeterminate_result_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- So out first job is to include the header we want to use, and then provide
- definitions for our user-defined error handlers that we want to use. We
- only provide our special domain and pole error handlers; other errors like
- overflow and underflow use the default.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span>
-<span class="special">{</span>
- <span class="keyword">namespace</span> <span class="identifier">policies</span>
- <span class="special">{</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
- <span class="special">{</span> <span class="comment">// Ignoring function, message and val for this example, perhaps unhelpfully.</span>
- <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Domain Error!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
- <span class="special">}</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
- <span class="special">{</span> <span class="comment">// Ignoring function, message and val for this example, perhaps unhelpfully.</span>
- <span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="string">"Pole Error!"</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
- <span class="special">}</span>
- <span class="special">}</span> <span class="comment">// namespace policies</span>
-<span class="special">}}</span> <span class="comment">// namespace boost{ namespace math</span>
-</pre>
-<p>
- </p>
-<p>
- Now we'll need to define a suitable policy that will call these handlers,
- and define some forwarding functions that make use of the policy:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">namespace</span><span class="special">{</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;</span>
-<span class="special">&gt;</span> <span class="identifier">user_error_policy</span><span class="special">;</span>
-
-<span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">user_error_policy</span><span class="special">)</span>
-
-<span class="special">}</span> <span class="comment">// close unnamed namespace</span>
-</pre>
-<p>
- </p>
-<p>
- We now have a set of forwarding functions defined in an unnamed namespace
- that all look something like this:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">RT</span><span class="special">&gt;::</span><span class="identifier">type</span>
- <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RT</span> <span class="identifier">z</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">user_error_policy</span><span class="special">());</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- So that when we call <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>
- we really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
- <span class="identifier">user_error_policy</span><span class="special">())</span></code>,
- and any errors will get directed to our own error handlers.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of erf_inv(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">erf_inv</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Which outputs:
- </p>
-<pre class="programlisting">Domain Error!
- Pole Error!
- Result of erf_inv(-10) is: 1.#QNAN
- Result of tgamma(-10) is: 1.#QNAN
-</pre>
-<p>
- The previous example was all well and good, but the custom error handlers
- didn't really do much of any use. In this example we'll implement all the
- custom handlers and show how the information provided to them can be used
- to generate nice formatted error messages.
- </p>
-<p>
- Each error handler has the general form:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_</span><span class="emphasis"><em>error_type</em></span><span class="special">(</span>
- <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-</pre>
-<p>
- and accepts three arguments:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">const char* function</span></dt>
-<dd><p>
- The name of the function that raised the error, this string contains
- one or more %1% format specifiers that should be replaced by the
- name of real type T, like float or double.
- </p></dd>
-<dt><span class="term">const char* message</span></dt>
-<dd><p>
- A message associated with the error, normally this contains a %1%
- format specifier that should be replaced with the value of <span class="emphasis"><em>value</em></span>:
- however note that overflow and underflow messages do not contain
- this %1% specifier (since the value of <span class="emphasis"><em>value</em></span>
- is immaterial in these cases).
- </p></dd>
-<dt><span class="term">const T&amp; value</span></dt>
-<dd><p>
- The value that caused the error: either an argument to the function
- if this is a domain or pole error, the tentative result if this is
- a denorm or evaluation error, or zero or infinity for underflow or
- overflow errors.
- </p></dd>
-</dl>
-</div>
-<p>
- As before we'll include the headers we need first:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<p>
- Next we'll implement our own error handlers for each type of error, starting
- with domain errors:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">policies</span>
-<span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
-<span class="special">{</span>
-</pre>
-<p>
- </p>
-<p>
- We'll begin with a bit of defensive programming in case function or message
- are empty:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
-<span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Cause unknown with bad argument %1%"</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Next we'll format the name of the function with the name of type T, perhaps
- double:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
-<span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- Then likewise format the error message with the value of parameter <span class="emphasis"><em>val</em></span>,
- making sure we output all the potentially significant digits of <span class="emphasis"><em>val</em></span>:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
-<span class="keyword">int</span> <span class="identifier">prec</span> <span class="special">=</span> <span class="number">2</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">*</span> <span class="number">30103UL</span><span class="special">)</span> <span class="special">/</span> <span class="number">100000UL</span><span class="special">;</span>
-<span class="comment">// int prec = std::numeric_limits&lt;T&gt;::max_digits10; // For C++0X Standard Library</span>
-<span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">message</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">io</span><span class="special">::</span><span class="identifier">group</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">prec</span><span class="special">),</span> <span class="identifier">val</span><span class="special">)).</span><span class="identifier">str</span><span class="special">();</span>
-</pre>
-<p>
- </p>
-<p>
- Now we just have to do something with the message, we could throw an exception,
- but for the purposes of this example we'll just dump the message to std::cerr:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-</pre>
-<p>
- </p>
-<p>
- Finally the only sensible value we can return from a domain error is a
- NaN:
- </p>
-<p>
-</p>
-<pre class="programlisting"> <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Pole errors are essentially a special case of domain errors, so in this
- example we'll just return the result of a domain error:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_pole_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">user_domain_error</span><span class="special">(</span><span class="identifier">function</span><span class="special">,</span> <span class="identifier">message</span><span class="special">,</span> <span class="identifier">val</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Overflow errors are very similar to domain errors, except that there's
- no %1% format specifier in the <span class="emphasis"><em>message</em></span> parameter:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Result of function is too large to represent"</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
-
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="identifier">message</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Value passed to the function is an infinity, just return it:</span>
- <span class="keyword">return</span> <span class="identifier">val</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Underflow errors are much the same as overflow:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_underflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Result of function is too small to represent"</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
-
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="identifier">message</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Value passed to the function is zero, just return it:</span>
- <span class="keyword">return</span> <span class="identifier">val</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Denormalised results are much the same as underflow:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_denorm_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">message</span> <span class="special">=</span> <span class="string">"Result of function is denormalised"</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
-
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="identifier">message</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// Value passed to the function is denormalised, just return it:</span>
- <span class="keyword">return</span> <span class="identifier">val</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- Which leaves us with evaluation errors: these occur when an internal error
- occurs that prevents the function being fully evaluated. The parameter
- <span class="emphasis"><em>val</em></span> contains the closest approximation to the result
- found so far:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_evaluation_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">function</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">message</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">function</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">function</span> <span class="special">=</span> <span class="string">"Unknown function with arguments of type %1%"</span><span class="special">;</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">message</span> <span class="special">==</span> <span class="number">0</span><span class="special">)</span>
- <span class="identifier">message</span> <span class="special">=</span> <span class="string">"An internal evaluation error occurred with "</span>
- <span class="string">"the best value calculated so far of %1%"</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">msg</span><span class="special">(</span><span class="string">"Error in function "</span><span class="special">);</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">function</span><span class="special">)</span> <span class="special">%</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()).</span><span class="identifier">str</span><span class="special">();</span>
-
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="string">": \n"</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">prec</span> <span class="special">=</span> <span class="number">2</span> <span class="special">+</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">*</span> <span class="number">30103UL</span><span class="special">)</span> <span class="special">/</span> <span class="number">100000UL</span><span class="special">;</span>
- <span class="comment">// int prec = std::numeric_limits&lt;T&gt;::max_digits10; // For C++0X Standard Library</span>
- <span class="identifier">msg</span> <span class="special">+=</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">(</span><span class="identifier">message</span><span class="special">)</span> <span class="special">%</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">io</span><span class="special">::</span><span class="identifier">group</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="identifier">prec</span><span class="special">),</span> <span class="identifier">val</span><span class="special">)).</span><span class="identifier">str</span><span class="special">();</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span> <span class="special">&lt;&lt;</span> <span class="identifier">msg</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-
- <span class="comment">// What do we return here? This is generally a fatal error, that should never occur,</span>
- <span class="comment">// so we just return a NaN for the purposes of the example:</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">quiet_NaN</span><span class="special">();</span>
-<span class="special">}</span>
-
-<span class="special">}</span> <span class="comment">// policies</span>
-<span class="special">}}</span> <span class="comment">// boost::math</span>
-</pre>
-<p>
- </p>
-<p>
- Now we'll need to define a suitable policy that will call these handlers,
- and define some forwarding functions that make use of the policy:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">namespace</span>
-<span class="special">{</span> <span class="comment">// unnamed.</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span>
- <span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
- <span class="identifier">pole_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
- <span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
- <span class="identifier">underflow_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
- <span class="identifier">denorm_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;,</span>
- <span class="identifier">evaluation_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;</span>
-<span class="special">&gt;</span> <span class="identifier">user_error_policy</span><span class="special">;</span>
-
-<span class="identifier">BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS</span><span class="special">(</span><span class="identifier">user_error_policy</span><span class="special">)</span>
-
-<span class="special">}</span> <span class="comment">// unnamed namespace</span>
-</pre>
-<p>
- </p>
-<p>
- We now have a set of forwarding functions, defined in an unnamed namespace,
- that all look something like this:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">promote_args</span><span class="special">&lt;</span><span class="identifier">RT</span><span class="special">&gt;::</span><span class="identifier">type</span>
- <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">RT</span> <span class="identifier">z</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">user_error_policy</span><span class="special">());</span>
-<span class="special">}</span>
-</pre>
-<p>
- </p>
-<p>
- So that when we call <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code>
- we really end up calling <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span>
- <span class="identifier">user_error_policy</span><span class="special">())</span></code>,
- and any errors will get directed to our own error handlers:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="comment">// Raise a domain error:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of erf_inv(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">erf_inv</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Raise a pole error:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-10) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(-</span><span class="number">10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Raise an overflow error:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(3000) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="number">3000</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Raise an underflow error:</span>
- <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Result of tgamma(-190.5) is: "</span>
- <span class="special">&lt;&lt;</span> <span class="identifier">tgamma</span><span class="special">(-</span><span class="number">190.5</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
- <span class="comment">// Unfortunately we can't predicably raise a denormalised</span>
- <span class="comment">// result, nor can we raise an evaluation error in this example</span>
- <span class="comment">// since these should never really occur!</span>
-<span class="special">}</span> <span class="comment">// int main()</span>
-</pre>
-<p>
- </p>
-<p>
- Which outputs:
- </p>
-<pre class="programlisting">Error in function boost::math::erf_inv&lt;double&gt;(double, double):
-Argument outside range [-1, 1] in inverse erf function (got p=-10).
-Result of erf_inv(-10) is: 1.#QNAN
-
-Error in function boost::math::tgamma&lt;long double&gt;(long double):
-Evaluation of tgamma at a negative integer -10.
-Result of tgamma(-10) is: 1.#QNAN
-
-Error in function boost::math::tgamma&lt;long double&gt;(long double):
-Result of tgamma is too large to represent.
-Error in function boost::math::tgamma&lt;double&gt;(double):
-Result of function is too large to represent
-Result of tgamma(3000) is: 1.#INF
-
-Error in function boost::math::tgamma&lt;long double&gt;(long double):
-Result of tgamma is too large to represent.
-Error in function boost::math::tgamma&lt;long double&gt;(long double):
-Result of tgamma is too small to represent.
-Result of tgamma(-190.5) is: 0
-</pre>
-<p>
- Notice how some of the calls result in an error handler being called more
- than once, or for more than one handler to be called: this is an artefact
- of the fact that many functions are implemented in terms of one or more
- sub-routines each of which may have it's own error handling. For example
- <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(-</span><span class="number">190.5</span><span class="special">)</span></code> is
- implemented in terms of <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="number">190.5</span><span class="special">)</span></code>
- - which overflows - the reflection formula for <code class="computeroutput"><span class="identifier">tgamma</span></code>
- then notices that it is dividing by infinity and so underflows.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="namespace_policies.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="understand_dis_quant.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/what_is_a_policy.html b/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/what_is_a_policy.html
deleted file mode 100644
index b211664e10..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/what_is_a_policy.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>So Just What is a Policy Anyway?</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="prev" href="../pol_tutorial.html" title="Policy Tutorial">
-<link rel="next" href="policy_tut_defaults.html" title="Policies Have Sensible Defaults">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_tut_defaults.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_policy_pol_tutorial_what_is_a_policy">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.policy.pol_tutorial.what_is_a_policy"></a><a class="link" href="what_is_a_policy.html" title="So Just What is a Policy Anyway?">So
- Just What is a Policy Anyway?</a>
-</h4></div></div></div>
-<p>
- A policy is a compile-time mechanism for customising the behaviour of a
- special function, or a statistical distribution. With Policies you can
- control:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- What action to take when an error occurs.
- </li>
-<li class="listitem">
- What happens when you call a function that is mathematically undefined
- (for example, if you ask for the mean of a Cauchy distribution).
- </li>
-<li class="listitem">
- What happens when you ask for a quantile of a discrete distribution.
- </li>
-<li class="listitem">
- Whether the library is allowed to internally promote <code class="computeroutput"><span class="keyword">float</span></code> to <code class="computeroutput"><span class="keyword">double</span></code>
- and <code class="computeroutput"><span class="keyword">double</span></code> to <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
- in order to improve precision.
- </li>
-<li class="listitem">
- What precision to use when calculating the result.
- </li>
-</ul></div>
-<p>
- Some of these policies could arguably be runtime variables, but then we
- couldn't use compile-time dispatch internally to select the best evaluation
- method for the given policies.
- </p>
-<p>
- For this reason a Policy is a <span class="emphasis"><em>type</em></span>: in fact it's an
- instance of the class template <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">policy</span><span class="special">&lt;&gt;</span></code>. This class is just a compile-time-container
- of user-selected policies (sometimes called a type-list):
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-<span class="comment">//</span>
-<span class="comment">// Define a policy that sets ::errno on overflow, and does</span>
-<span class="comment">// not promote double to long double internally:</span>
-<span class="comment">//</span>
-<span class="keyword">typedef</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">domain_error</span><span class="special">&lt;</span><span class="identifier">errno_on_error</span><span class="special">&gt;,</span> <span class="identifier">promote_double</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">mypolicy</span><span class="special">;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../pol_tutorial.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="policy_tut_defaults.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special.html
deleted file mode 100644
index e31d061bea..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Special Functions</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="dist/future.html" title="Extras/Future Directions">
-<link rel="next" href="special/sf_gamma.html" title="Gamma Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist/future.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special/sf_gamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.special"></a><a class="link" href="special.html" title="Special Functions">Special Functions</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="special/sf_gamma.html">Gamma Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/sf_gamma/tgamma.html">Gamma</a></span></dt>
-<dt><span class="section"><a href="special/sf_gamma/lgamma.html">Log Gamma</a></span></dt>
-<dt><span class="section"><a href="special/sf_gamma/digamma.html">Digamma</a></span></dt>
-<dt><span class="section"><a href="special/sf_gamma/gamma_ratios.html">Ratios
- of Gamma Functions</a></span></dt>
-<dt><span class="section"><a href="special/sf_gamma/igamma.html">Incomplete Gamma
- Functions</a></span></dt>
-<dt><span class="section"><a href="special/sf_gamma/igamma_inv.html">Incomplete
- Gamma Function Inverses</a></span></dt>
-<dt><span class="section"><a href="special/sf_gamma/gamma_derivatives.html">Derivative
- of the Incomplete Gamma Function</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/factorials.html">Factorials and Binomial
- Coefficients</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/factorials/sf_factorial.html">Factorial</a></span></dt>
-<dt><span class="section"><a href="special/factorials/sf_double_factorial.html">Double
- Factorial</a></span></dt>
-<dt><span class="section"><a href="special/factorials/sf_rising_factorial.html">Rising
- Factorial</a></span></dt>
-<dt><span class="section"><a href="special/factorials/sf_falling_factorial.html">Falling
- Factorial</a></span></dt>
-<dt><span class="section"><a href="special/factorials/sf_binomial.html">Binomial
- Coefficients</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/sf_beta.html">Beta Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/sf_beta/beta_function.html">Beta</a></span></dt>
-<dt><span class="section"><a href="special/sf_beta/ibeta_function.html">Incomplete
- Beta Functions</a></span></dt>
-<dt><span class="section"><a href="special/sf_beta/ibeta_inv_function.html">The
- Incomplete Beta Function Inverses</a></span></dt>
-<dt><span class="section"><a href="special/sf_beta/beta_derivative.html">Derivative
- of the Incomplete Beta Function</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/sf_erf.html">Error Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/sf_erf/error_function.html">Error Functions</a></span></dt>
-<dt><span class="section"><a href="special/sf_erf/error_inv.html">Error Function
- Inverses</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/sf_poly.html">Polynomials</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/sf_poly/legendre.html">Legendre (and
- Associated) Polynomials</a></span></dt>
-<dt><span class="section"><a href="special/sf_poly/laguerre.html">Laguerre (and
- Associated) Polynomials</a></span></dt>
-<dt><span class="section"><a href="special/sf_poly/hermite.html">Hermite Polynomials</a></span></dt>
-<dt><span class="section"><a href="special/sf_poly/sph_harm.html">Spherical Harmonics</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/bessel.html">Bessel Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/bessel/bessel_over.html">Bessel Function
- Overview</a></span></dt>
-<dt><span class="section"><a href="special/bessel/bessel.html">Bessel Functions
- of the First and Second Kinds</a></span></dt>
-<dt><span class="section"><a href="special/bessel/mbessel.html">Modified Bessel
- Functions of the First and Second Kinds</a></span></dt>
-<dt><span class="section"><a href="special/bessel/sph_bessel.html">Spherical Bessel
- Functions of the First and Second Kinds</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/hankel.html">Hankel Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/hankel/cyl_hankel.html">Cyclic Hankel
- Functions</a></span></dt>
-<dt><span class="section"><a href="special/hankel/sph_hankel.html">Spherical Hankel
- Functions</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/ellint.html">Elliptic Integrals</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/ellint/ellint_intro.html">Elliptic
- Integral Overview</a></span></dt>
-<dt><span class="section"><a href="special/ellint/ellint_carlson.html">Elliptic
- Integrals - Carlson Form</a></span></dt>
-<dt><span class="section"><a href="special/ellint/ellint_1.html">Elliptic Integrals
- of the First Kind - Legendre Form</a></span></dt>
-<dt><span class="section"><a href="special/ellint/ellint_2.html">Elliptic Integrals
- of the Second Kind - Legendre Form</a></span></dt>
-<dt><span class="section"><a href="special/ellint/ellint_3.html">Elliptic Integrals
- of the Third Kind - Legendre Form</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/zetas.html">Zeta Functions</a></span></dt>
-<dd><dl><dt><span class="section"><a href="special/zetas/zeta.html">Riemann Zeta Function</a></span></dt></dl></dd>
-<dt><span class="section"><a href="special/expint.html">Exponential Integrals</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/expint/expint_n.html">Exponential Integral
- En</a></span></dt>
-<dt><span class="section"><a href="special/expint/expint_i.html">Exponential Integral
- Ei</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/powers.html">Logs, Powers, Roots and
- Exponentials</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/powers/log1p.html">log1p</a></span></dt>
-<dt><span class="section"><a href="special/powers/expm1.html">expm1</a></span></dt>
-<dt><span class="section"><a href="special/powers/cbrt.html">cbrt</a></span></dt>
-<dt><span class="section"><a href="special/powers/sqrt1pm1.html">sqrt1pm1</a></span></dt>
-<dt><span class="section"><a href="special/powers/powm1.html">powm1</a></span></dt>
-<dt><span class="section"><a href="special/powers/hypot.html">hypot</a></span></dt>
-<dt><span class="section"><a href="special/powers/ct_pow.html">Compile Time Power
- of a Runtime Base</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/sinc.html">Sinus Cardinal and Hyperbolic
- Sinus Cardinal Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/sinc/sinc_overview.html">Sinus Cardinal
- and Hyperbolic Sinus Cardinal Functions Overview</a></span></dt>
-<dt><span class="section"><a href="special/sinc/sinc_pi.html">sinc_pi</a></span></dt>
-<dt><span class="section"><a href="special/sinc/sinhc_pi.html">sinhc_pi</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/inv_hyper.html">Inverse Hyperbolic Functions</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="special/inv_hyper/inv_hyper_over.html">Inverse
- Hyperbolic Functions Overview</a></span></dt>
-<dt><span class="section"><a href="special/inv_hyper/acosh.html">acosh</a></span></dt>
-<dt><span class="section"><a href="special/inv_hyper/asinh.html">asinh</a></span></dt>
-<dt><span class="section"><a href="special/inv_hyper/atanh.html">atanh</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="special/owens_t.html">Owen's T function</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist/future.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="special/sf_gamma.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel.html
deleted file mode 100644
index 1e92928adc..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Bessel Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="sf_poly/sph_harm.html" title="Spherical Harmonics">
-<link rel="next" href="bessel/bessel_over.html" title="Bessel Function Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_poly/sph_harm.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel/bessel_over.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_bessel">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.bessel"></a><a class="link" href="bessel.html" title="Bessel Functions">Bessel Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="bessel/bessel_over.html">Bessel Function
- Overview</a></span></dt>
-<dt><span class="section"><a href="bessel/bessel.html">Bessel Functions
- of the First and Second Kinds</a></span></dt>
-<dt><span class="section"><a href="bessel/mbessel.html">Modified Bessel
- Functions of the First and Second Kinds</a></span></dt>
-<dt><span class="section"><a href="bessel/sph_bessel.html">Spherical Bessel
- Functions of the First and Second Kinds</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_poly/sph_harm.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel/bessel_over.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html
deleted file mode 100644
index fc23e89f17..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html
+++ /dev/null
@@ -1,695 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Bessel Functions of the First and Second Kinds</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../bessel.html" title="Bessel Functions">
-<link rel="prev" href="bessel_over.html" title="Bessel Function Overview">
-<link rel="next" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bessel_over.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mbessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_bessel_bessel">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.bessel.bessel"></a><a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">Bessel Functions
- of the First and Second Kinds</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.bessel.bessel.h0"></a>
- <span><a name="math_toolkit.special.bessel.bessel.synopsis"></a></span><a class="link" href="bessel.html#math_toolkit.special.bessel.bessel.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.bessel.bessel.h1"></a>
- <span><a name="math_toolkit.special.bessel.bessel.description"></a></span><a class="link" href="bessel.html#math_toolkit.special.bessel.bessel.description">Description</a>
- </h5>
-<p>
- The functions <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- and <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
- return the result of the Bessel functions of the first and second kinds
- respectively:
- </p>
-<p>
- cyl_bessel_j(v, x) = J<sub>v</sub>(x)
- </p>
-<p>
- cyl_neumann(v, x) = Y<sub>v</sub>(x) = N<sub>v</sub>(x)
- </p>
-<p>
- where:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel2.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel3.png"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types.
- The functions are also optimised for the relatively common case that T1
- is an integer.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- The functions return the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- whenever the result is undefined or complex. For <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
- <span class="number">0</span></code> and v is not an integer, or when
- <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span>
- <span class="number">0</span></code> and <code class="computeroutput"><span class="identifier">v</span>
- <span class="special">!=</span> <span class="number">0</span></code>.
- For <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
- this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;=</span>
- <span class="number">0</span></code>.
- </p>
-<p>
- The following graph illustrates the cyclic nature of J<sub>v</sub>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/cyl_bessel_j.png" align="middle"></span>
- </p>
-<p>
- The following graph shows the behaviour of Y<sub>v</sub>: this is also cyclic for
- large <span class="emphasis"><em>x</em></span>, but tends to -&#8734; &#160; for small <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/cyl_neumann.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.bessel.h2"></a>
- <span><a name="math_toolkit.special.bessel.bessel.testing"></a></span><a class="link" href="bessel.html#math_toolkit.special.bessel.bessel.testing">Testing</a>
- </h5>
-<p>
- There are two sets of test values: spot values calculated using <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>, and a
- much larger set of tests computed using a simplified version of this implementation
- (with all the special case handling removed).
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.bessel.h3"></a>
- <span><a name="math_toolkit.special.bessel.bessel.accuracy"></a></span><a class="link" href="bessel.html#math_toolkit.special.bessel.bessel.accuracy">Accuracy</a>
- </h5>
-<p>
- The following tables show how the accuracy of these functions varies on
- various platforms, along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
- and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
- Note that the cyclic nature of these functions means that they have an
- infinite number of irrational roots: in general these functions have arbitrarily
- large <span class="emphasis"><em>relative</em></span> errors when the arguments are sufficiently
- close to a root. Of course the absolute error in such cases is always small.
- Note that only results for the widest floating-point type on the system
- are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>. All values are relative errors in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.bessel.bessel.errors_rates_in_cyl_bessel_j"></a><p class="title"><b>Table&#160;39.&#160;Errors Rates in cyl_bessel_j</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_j">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- J<sub>0</sub> &#160; and J<sub>1</sub>
- </p>
- </th>
-<th>
- <p>
- J<sub>v</sub>
- </p>
- </th>
-<th>
- <p>
- J<sub>v</sub> &#160; (large values of x &gt; 1000)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=2.5 Mean=1.1
- </p>
- <p>
- GSL Peak=6.6
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2.5
- Mean=1.1
- </p>
- </td>
-<td>
- <p>
- Peak=11 Mean=2.2
- </p>
- <p>
- GSL Peak=11
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=17
- Mean=2.5
- </p>
- </td>
-<td>
- <p>
- Peak=413 Mean=110
- </p>
- <p>
- GSL Peak=6x10<sup>11</sup>
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2x10<sup>5</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64 / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=7 Mean=3
- </p>
- </td>
-<td>
- <p>
- Peak=117 Mean=10
- </p>
- </td>
-<td>
- <p>
- Peak=2x10<sup>4</sup> &#160; Mean=6x10<sup>3</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux AMD64 / G++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=7 Mean=3
- </p>
- </td>
-<td>
- <p>
- Peak=400 Mean=40
- </p>
- </td>
-<td>
- <p>
- Peak=2x10<sup>4</sup> &#160; Mean=1x10<sup>4</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=14 Mean=6
- </p>
- </td>
-<td>
- <p>
- Peak=29 Mean=3
- </p>
- </td>
-<td>
- <p>
- Peak=2700 Mean=450
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.bessel.bessel.errors_rates_in_cyl_neumann"></a><p class="title"><b>Table&#160;40.&#160;Errors Rates in cyl_neumann</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in cyl_neumann">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- J<sub>0</sub> &#160; and J<sub>1</sub>
- </p>
- </th>
-<th>
- <p>
- J<sub>n</sub> (integer orders)
- </p>
- </th>
-<th>
- <p>
- J<sub>v</sub> (fractional orders)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=330 Mean=54
- </p>
- <p>
- GSL Peak=34 Mean=9
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=330
- Mean=54
- </p>
- </td>
-<td>
- <p>
- Peak=923 Mean=83
- </p>
- <p>
- GSL Peak=500 Mean=54
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=923
- Mean=83
- </p>
- </td>
-<td>
- <p>
- Peak=561 Mean=36
- </p>
- <p>
- GSL Peak=1.4x10<sup>6</sup> &#160; Mean=7x10<sup>4</sup> &#160;
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=+INF
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64 / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=470 Mean=56
- </p>
- </td>
-<td>
- <p>
- Peak=843 Mean=51
- </p>
- </td>
-<td>
- <p>
- Peak=741 Mean=51
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux AMD64 / G++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=1300 Mean=424
- </p>
- </td>
-<td>
- <p>
- Peak=2x10<sup>4</sup> &#160; Mean=8x10<sup>3</sup>
- </p>
- </td>
-<td>
- <p>
- Peak=1x10<sup>5</sup> &#160; Mean=6x10<sup>3</sup>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=180 Mean=63
- </p>
- </td>
-<td>
- <p>
- Peak=340 Mean=150
- </p>
- </td>
-<td>
- <p>
- Peak=2x10<sup>4</sup> &#160; Mean=1200
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Note that for large <span class="emphasis"><em>x</em></span> these functions are largely
- dependent on the accuracy of the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">sin</span></code>
- and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cos</span></code> functions.
- </p>
-<p>
- Comparison to GSL and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
- is interesting: both <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
- and this library optimise the integer order case - leading to identical
- results - simply using the general case is for the most part slightly more
- accurate though, as noted by the better accuracy of GSL in the integer
- argument cases. This implementation tends to perform much better when the
- arguments become large, <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
- in particular produces some remarkably inaccurate results with some of
- the test data (no significant figures correct), and even GSL performs badly
- with some inputs to J<sub>v</sub>. Note that by way of double-checking these results,
- the worst performing <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>
- and GSL cases were recomputed using <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
- and the result checked against our test data: no errors in the test data
- were found.
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.bessel.h4"></a>
- <span><a name="math_toolkit.special.bessel.bessel.implementation"></a></span><a class="link" href="bessel.html#math_toolkit.special.bessel.bessel.implementation">Implementation</a>
- </h5>
-<p>
- The implementation is mostly about filtering off various special cases:
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is negative, then the order <span class="emphasis"><em>v</em></span>
- must be an integer or the result is a domain error. If the order is an
- integer then the function is odd for odd orders and even for even orders,
- so we reflect to <span class="emphasis"><em>x &gt; 0</em></span>.
- </p>
-<p>
- When the order <span class="emphasis"><em>v</em></span> is negative then the reflection formulae
- can be used to move to <span class="emphasis"><em>v &gt; 0</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel9.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel10.png"></span>
- </p>
-<p>
- Note that if the order is an integer, then these formulae reduce to:
- </p>
-<p>
- J<sub>-n</sub> = (-1)<sup>n</sup>J<sub>n</sub>
- </p>
-<p>
- Y<sub>-n</sub> = (-1)<sup>n</sup>Y<sub>n</sub>
- </p>
-<p>
- However, in general, a negative order implies that we will need to compute
- both J and Y.
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is large compared to the order <span class="emphasis"><em>v</em></span>
- then the asymptotic expansions for large <span class="emphasis"><em>x</em></span> in M. Abramowitz
- and I.A. Stegun, <span class="emphasis"><em>Handbook of Mathematical Functions</em></span>
- 9.2.19 are used (these were found to be more reliable than those in A&amp;S
- 9.2.5).
- </p>
-<p>
- When the order <span class="emphasis"><em>v</em></span> is an integer the method first relates
- the result to J<sub>0</sub>, J<sub>1</sub>, Y<sub>0</sub> &#160; and Y<sub>1</sub> &#160; using either forwards or backwards recurrence
- (Miller's algorithm) depending upon which is stable. The values for J<sub>0</sub>,
- J<sub>1</sub>, Y<sub>0</sub> &#160; and Y<sub>1</sub> &#160; are calculated using the rational minimax approximations on
- root-bracketing intervals for small <span class="emphasis"><em>|x|</em></span> and Hankel
- asymptotic expansion for large <span class="emphasis"><em>|x|</em></span>. The coefficients
- are from:
- </p>
-<p>
- W.J. Cody, <span class="emphasis"><em>ALGORITHM 715: SPECFUN - A Portable FORTRAN Package
- of Special Function Routines and Test Drivers</em></span>, ACM Transactions
- on Mathematical Software, vol 19, 22 (1993).
- </p>
-<p>
- and
- </p>
-<p>
- J.F. Hart et al, <span class="emphasis"><em>Computer Approximations</em></span>, John Wiley
- &amp; Sons, New York, 1968.
- </p>
-<p>
- These approximations are accurate to around 19 decimal digits: therefore
- these methods are not used when type T has more than 64 binary digits.
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is smaller than machine epsilon then the following
- approximations for Y<sub>0</sub>(x), Y<sub>1</sub>(x), Y<sub>2</sub>(x) and Y<sub>n</sub>(x) can be used (see: <a href="http://functions.wolfram.com/03.03.06.0037.01" target="_top">http://functions.wolfram.com/03.03.06.0037.01</a>,
- <a href="http://functions.wolfram.com/03.03.06.0038.01" target="_top">http://functions.wolfram.com/03.03.06.0038.01</a>,
- <a href="http://functions.wolfram.com/03.03.06.0039.01" target="_top">http://functions.wolfram.com/03.03.06.0039.01</a>
- and <a href="http://functions.wolfram.com/03.03.06.0040.01" target="_top">http://functions.wolfram.com/03.03.06.0040.01</a>):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel_y0_small_z.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel_y1_small_z.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel_y2_small_z.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel_yn_small_z.png"></span>
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is small compared to <span class="emphasis"><em>v</em></span>
- and <span class="emphasis"><em>v</em></span> is not an integer, then the following series
- approximation can be used for Y<sub>v</sub>(x), this is also an area where other approximations
- are often too slow to converge to be used (see <a href="http://functions.wolfram.com/03.03.06.0034.01" target="_top">http://functions.wolfram.com/03.03.06.0034.01</a>):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel_yv_small_z.png"></span>
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is small compared to <span class="emphasis"><em>v</em></span>,
- J<sub>v</sub>x &#160; is best computed directly from the series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel2.png"></span>
- </p>
-<p>
- In the general case we compute J<sub>v</sub> &#160; and Y<sub>v</sub> &#160; simultaneously.
- </p>
-<p>
- To get the initial values, let &#956; &#160; = &#957; - floor(&#957; + 1/2), then &#956; &#160; is the fractional
- part of &#957; &#160; such that |&#956;| &lt;= 1/2 (we need this for convergence later). The
- idea is to calculate J<sub>&#956;</sub>(x), J<sub>&#956;+1</sub>(x), Y<sub>&#956;</sub>(x), Y<sub>&#956;+1</sub>(x) and use them to obtain
- J<sub>&#957;</sub>(x), Y<sub>&#957;</sub>(x).
- </p>
-<p>
- The algorithm is called Steed's method, which needs two continued fractions
- as well as the Wronskian:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel8.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel11.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel12.png"></span>
- </p>
-<p>
- See: F.S. Acton, <span class="emphasis"><em>Numerical Methods that Work</em></span>, The
- Mathematical Association of America, Washington, 1997.
- </p>
-<p>
- The continued fractions are computed using the modified Lentz's method
- (W.J. Lentz, <span class="emphasis"><em>Generating Bessel functions in Mie scattering calculations
- using continued fractions</em></span>, Applied Optics, vol 15, 668 (1976)).
- Their convergence rates depend on <span class="emphasis"><em>x</em></span>, therefore we
- need different strategies for large <span class="emphasis"><em>x</em></span> and small <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- <span class="emphasis"><em>x &gt; v</em></span>, CF1 needs O(<span class="emphasis"><em>x</em></span>) iterations
- to converge, CF2 converges rapidly
- </p>
-<p>
- <span class="emphasis"><em>x &lt;= v</em></span>, CF1 converges rapidly, CF2 fails to converge
- when <span class="emphasis"><em>x</em></span> <code class="literal">-&gt;</code> 0
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is large (<span class="emphasis"><em>x</em></span> &gt; 2), both
- continued fractions converge (CF1 may be slow for really large <span class="emphasis"><em>x</em></span>).
- J<sub>&#956;</sub>, J<sub>&#956;+1</sub>, Y<sub>&#956;</sub>, Y<sub>&#956;+1</sub> can be calculated by
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel13.png"></span>
- </p>
-<p>
- where
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel14.png"></span>
- </p>
-<p>
- J<sub>&#957;</sub> and Y<sub>&#956;</sub> are then calculated using backward (Miller's algorithm) and forward
- recurrence respectively.
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is small (<span class="emphasis"><em>x</em></span> &lt;= 2),
- CF2 convergence may fail (but CF1 works very well). The solution here is
- Temme's series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel15.png"></span>
- </p>
-<p>
- where
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel16.png"></span>
- </p>
-<p>
- g<sub>k</sub> &#160; and h<sub>k</sub> &#160;
-are also computed by recursions (involving gamma functions), but
- the formulas are a little complicated, readers are refered to N.M. Temme,
- <span class="emphasis"><em>On the numerical evaluation of the ordinary Bessel function of
- the second kind</em></span>, Journal of Computational Physics, vol 21, 343
- (1976). Note Temme's series converge only for |&#956;| &lt;= 1/2.
- </p>
-<p>
- As the previous case, Y<sub>&#957;</sub> &#160; is calculated from the forward recurrence, so is
- Y<sub>&#957;+1</sub>. With these two values and f<sub>&#957;</sub>, the Wronskian yields J<sub>&#957;</sub>(x) directly without
- backward recurrence.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bessel_over.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mbessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html
deleted file mode 100644
index 5ead6c678a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html
+++ /dev/null
@@ -1,213 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Bessel Function Overview</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../bessel.html" title="Bessel Functions">
-<link rel="prev" href="../bessel.html" title="Bessel Functions">
-<link rel="next" href="bessel.html" title="Bessel Functions of the First and Second Kinds">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../bessel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_bessel_bessel_over">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.bessel.bessel_over"></a><a class="link" href="bessel_over.html" title="Bessel Function Overview">Bessel Function
- Overview</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.bessel.bessel_over.h0"></a>
- <span><a name="math_toolkit.special.bessel.bessel_over.ordinary_bessel_functions"></a></span><a class="link" href="bessel_over.html#math_toolkit.special.bessel.bessel_over.ordinary_bessel_functions">Ordinary
- Bessel Functions</a>
- </h5>
-<p>
- Bessel Functions are solutions to Bessel's ordinary differential equation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel1.png"></span>
- </p>
-<p>
- where &#957; &#160; is the <span class="emphasis"><em>order</em></span> of the equation, and may be an
- arbitrary real or complex number, although integer orders are the most
- common occurrence.
- </p>
-<p>
- This library supports either integer or real orders.
- </p>
-<p>
- Since this is a second order differential equation, there must be two linearly
- independent solutions, the first of these is denoted J<sub>v</sub> &#160;
-and known as a Bessel
- function of the first kind:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel2.png"></span>
- </p>
-<p>
- This function is implemented in this library as <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>.
- </p>
-<p>
- The second solution is denoted either Y<sub>v</sub> &#160; or N<sub>v</sub> &#160;
-and is known as either a Bessel
- Function of the second kind, or as a Neumann function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel3.png"></span>
- </p>
-<p>
- This function is implemented in this library as <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
- </p>
-<p>
- The Bessel functions satisfy the recurrence relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel4.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel5.png"></span>
- </p>
-<p>
- Have the derivatives:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel6.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel7.png"></span>
- </p>
-<p>
- Have the Wronskian relation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel8.png"></span>
- </p>
-<p>
- and the reflection formulae:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel9.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/bessel10.png"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.bessel_over.h1"></a>
- <span><a name="math_toolkit.special.bessel.bessel_over.modified_bessel_functions"></a></span><a class="link" href="bessel_over.html#math_toolkit.special.bessel.bessel_over.modified_bessel_functions">Modified
- Bessel Functions</a>
- </h5>
-<p>
- The Bessel functions are valid for complex argument <span class="emphasis"><em>x</em></span>,
- and an important special case is the situation where <span class="emphasis"><em>x</em></span>
- is purely imaginary: giving a real valued result. In this case the functions
- are the two linearly independent solutions to the modified Bessel equation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel1.png"></span>
- </p>
-<p>
- 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</sub> &#160; and K<sub>v</sub> &#160;
-respectively:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel2.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel3.png"></span>
- </p>
-<p>
- These functions are implemented in this library as <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
- and <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a>
- respectively.
- </p>
-<p>
- The modified Bessel functions satisfy the recurrence relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel4.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel5.png"></span>
- </p>
-<p>
- Have the derivatives:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel6.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel7.png"></span>
- </p>
-<p>
- Have the Wronskian relation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel8.png"></span>
- </p>
-<p>
- and the reflection formulae:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel9.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel10.png"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.bessel_over.h2"></a>
- <span><a name="math_toolkit.special.bessel.bessel_over.spherical_bessel_functions"></a></span><a class="link" href="bessel_over.html#math_toolkit.special.bessel.bessel_over.spherical_bessel_functions">Spherical
- Bessel Functions</a>
- </h5>
-<p>
- When solving the Helmholtz equation in spherical coordinates by separation
- of variables, the radial equation has the form:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/sbessel1.png"></span>
- </p>
-<p>
- The two linearly independent solutions to this equation are called the
- spherical Bessel functions j<sub>n</sub> &#160; and y<sub>n</sub> &#160;, and are related to the ordinary Bessel
- functions J<sub>n</sub> &#160; and Y<sub>n</sub> &#160; by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/sbessel2.png"></span>
- </p>
-<p>
- The spherical Bessel function of the second kind y<sub>n</sub> &#160;
-is also known as the
- spherical Neumann function n<sub>n</sub>.
- </p>
-<p>
- These functions are implemented in this library as <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a>
- and <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_neumann</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../bessel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html
deleted file mode 100644
index 5d6adc8a12..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html
+++ /dev/null
@@ -1,486 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Modified Bessel Functions of the First and Second Kinds</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../bessel.html" title="Bessel Functions">
-<link rel="prev" href="bessel.html" title="Bessel Functions of the First and Second Kinds">
-<link rel="next" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bessel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_bessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_bessel_mbessel">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.bessel.mbessel"></a><a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">Modified Bessel
- Functions of the First and Second Kinds</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.bessel.mbessel.h0"></a>
- <span><a name="math_toolkit.special.bessel.mbessel.synopsis"></a></span><a class="link" href="mbessel.html#math_toolkit.special.bessel.mbessel.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.bessel.mbessel.h1"></a>
- <span><a name="math_toolkit.special.bessel.mbessel.description"></a></span><a class="link" href="mbessel.html#math_toolkit.special.bessel.mbessel.description">Description</a>
- </h5>
-<p>
- The functions <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
- and <a class="link" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a>
- return the result of the modified Bessel functions of the first and second
- kind respectively:
- </p>
-<p>
- cyl_bessel_i(v, x) = I<sub>v</sub>(x)
- </p>
-<p>
- cyl_bessel_k(v, x) = K<sub>v</sub>(x)
- </p>
-<p>
- where:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel2.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel3.png"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types.
- The functions are also optimised for the relatively common case that T1
- is an integer.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- The functions return the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- whenever the result is undefined or complex. For <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
- <span class="number">0</span></code> and v is not an integer, or when
- <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span>
- <span class="number">0</span></code> and <code class="computeroutput"><span class="identifier">v</span>
- <span class="special">!=</span> <span class="number">0</span></code>.
- For <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
- this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;=</span>
- <span class="number">0</span></code>.
- </p>
-<p>
- The following graph illustrates the exponential behaviour of I<sub>v</sub>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/cyl_bessel_i.png" align="middle"></span>
- </p>
-<p>
- The following graph illustrates the exponential decay of K<sub>v</sub>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/cyl_bessel_k.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.mbessel.h2"></a>
- <span><a name="math_toolkit.special.bessel.mbessel.testing"></a></span><a class="link" href="mbessel.html#math_toolkit.special.bessel.mbessel.testing">Testing</a>
- </h5>
-<p>
- There are two sets of test values: spot values calculated using <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>, and a
- much larger set of tests computed using a simplified version of this implementation
- (with all the special case handling removed).
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.mbessel.h3"></a>
- <span><a name="math_toolkit.special.bessel.mbessel.accuracy"></a></span><a class="link" href="mbessel.html#math_toolkit.special.bessel.mbessel.accuracy">Accuracy</a>
- </h5>
-<p>
- The following tables show how the accuracy of these functions varies on
- various platforms, along with a comparison to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
- library. Note that only results for the widest floating-point type on the
- system are given, as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>. All values are relative errors in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.bessel.mbessel.errors_rates_in_cyl_bessel_i"></a><p class="title"><b>Table&#160;41.&#160;Errors Rates in cyl_bessel_i</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_i">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- I<sub>v</sub>
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=10 Mean=3.4 GSL Peak=6000
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64 / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=11 Mean=3
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux AMD64 / G++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=11 Mean=4
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=15 Mean=4
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.bessel.mbessel.errors_rates_in_cyl_bessel_k"></a><p class="title"><b>Table&#160;42.&#160;Errors Rates in cyl_bessel_k</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_k">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- K<sub>v</sub>
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=9 Mean=2
- </p>
- <p>
- GSL Peak=9
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64 / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=10 Mean=2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux AMD64 / G++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=10 Mean=2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=12 Mean=5
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.special.bessel.mbessel.h4"></a>
- <span><a name="math_toolkit.special.bessel.mbessel.implementation"></a></span><a class="link" href="mbessel.html#math_toolkit.special.bessel.mbessel.implementation">Implementation</a>
- </h5>
-<p>
- The following are handled as special cases first:
- </p>
-<p>
- When computing I<sub>v</sub> &#160; for <span class="emphasis"><em>x &lt; 0</em></span>, then &#957; &#160; must be an integer
- or a domain error occurs. If &#957; &#160; is an integer, then the function is odd if
- &#957; &#160; is odd and even if &#957; &#160; is even, and we can reflect to <span class="emphasis"><em>x &gt; 0</em></span>.
- </p>
-<p>
- For I<sub>v</sub> &#160; with v equal to 0, 1 or 0.5 are handled as special cases.
- </p>
-<p>
- The 0 and 1 cases use minimax rational approximations on finite and infinite
- intervals. The coefficients are from:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- J.M. Blair and C.A. Edwards, <span class="emphasis"><em>Stable rational minimax approximations
- to the modified Bessel functions I_0(x) and I_1(x)</em></span>, Atomic
- Energy of Canada Limited Report 4928, Chalk River, 1974.
- </li>
-<li class="listitem">
- S. Moshier, <span class="emphasis"><em>Methods and Programs for Mathematical Functions</em></span>,
- Ellis Horwood Ltd, Chichester, 1989.
- </li>
-</ul></div>
-<p>
- While the 0.5 case is a simple trigonometric function:
- </p>
-<p>
- I<sub>0.5</sub>(x) = sqrt(2 / &#960;x) * sinh(x)
- </p>
-<p>
- For K<sub>v</sub> &#160; with <span class="emphasis"><em>v</em></span> an integer, the result is calculated
- using the recurrence relation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel5.png"></span>
- </p>
-<p>
- starting from K<sub>0</sub> &#160; and K<sub>1</sub> &#160; which are calculated using rational the approximations
- above. These rational approximations are accurate to around 19 digits,
- and are therefore only used when T has no more than 64 binary digits of
- precision.
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is small compared to <span class="emphasis"><em>v</em></span>,
- I<sub>v</sub>x &#160; is best computed directly from the series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel17.png"></span>
- </p>
-<p>
- In the general case, we first normalize &#957; &#160; to [<code class="literal">0, [inf</code>])
- with the help of the reflection formulae:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel9.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel10.png"></span>
- </p>
-<p>
- Let &#956; &#160; = &#957; - floor(&#957; + 1/2), then &#956; &#160; is the fractional part of &#957; &#160; such that |&#956;| &lt;=
- 1/2 (we need this for convergence later). The idea is to calculate K<sub>&#956;</sub>(x)
- and K<sub>&#956;+1</sub>(x), and use them to obtain I<sub>&#957;</sub>(x) and K<sub>&#957;</sub>(x).
- </p>
-<p>
- The algorithm is proposed by Temme in N.M. Temme, <span class="emphasis"><em>On the numerical
- evaluation of the modified bessel function of the third kind</em></span>,
- Journal of Computational Physics, vol 19, 324 (1975), which needs two continued
- fractions as well as the Wronskian:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel11.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel12.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel8.png"></span>
- </p>
-<p>
- The continued fractions are computed using the modified Lentz's method
- (W.J. Lentz, <span class="emphasis"><em>Generating Bessel functions in Mie scattering calculations
- using continued fractions</em></span>, Applied Optics, vol 15, 668 (1976)).
- Their convergence rates depend on <span class="emphasis"><em>x</em></span>, therefore we
- need different strategies for large <span class="emphasis"><em>x</em></span> and small <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- <span class="emphasis"><em>x &gt; v</em></span>, CF1 needs O(<span class="emphasis"><em>x</em></span>) iterations
- to converge, CF2 converges rapidly.
- </p>
-<p>
- <span class="emphasis"><em>x &lt;= v</em></span>, CF1 converges rapidly, CF2 fails to converge
- when <span class="emphasis"><em>x</em></span> <code class="literal">-&gt;</code> 0.
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is large (<span class="emphasis"><em>x</em></span> &gt; 2), both
- continued fractions converge (CF1 may be slow for really large <span class="emphasis"><em>x</em></span>).
- K<sub>&#956;</sub> &#160; and K<sub>&#956;+1</sub> &#160;
-can be calculated by
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel13.png"></span>
- </p>
-<p>
- where
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel14.png"></span>
- </p>
-<p>
- <span class="emphasis"><em>S</em></span> is also a series that is summed along with CF2,
- see I.J. Thompson and A.R. Barnett, <span class="emphasis"><em>Modified Bessel functions
- I_v and K_v of real order and complex argument to selected accuracy</em></span>,
- Computer Physics Communications, vol 47, 245 (1987).
- </p>
-<p>
- When <span class="emphasis"><em>x</em></span> is small (<span class="emphasis"><em>x</em></span> &lt;= 2),
- CF2 convergence may fail (but CF1 works very well). The solution here is
- Temme's series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel15.png"></span>
- </p>
-<p>
- where
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/mbessel16.png"></span>
- </p>
-<p>
- f<sub>k</sub> &#160; and h<sub>k</sub> &#160;
-are also computed by recursions (involving gamma functions), but
- the formulas are a little complicated, readers are referred to N.M. Temme,
- <span class="emphasis"><em>On the numerical evaluation of the modified Bessel function of
- the third kind</em></span>, Journal of Computational Physics, vol 19, 324
- (1975). Note: Temme's series converge only for |&#956;| &lt;= 1/2.
- </p>
-<p>
- K<sub>&#957;</sub>(x) is then calculated from the forward recurrence, as is K<sub>&#957;+1</sub>(x). With
- these two values and f<sub>&#957;</sub>, the Wronskian yields I<sub>&#957;</sub>(x) directly.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bessel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_bessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html
deleted file mode 100644
index 8bd007accd..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Spherical Bessel Functions of the First and Second Kinds</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../bessel.html" title="Bessel Functions">
-<link rel="prev" href="mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">
-<link rel="next" href="../hankel.html" title="Hankel Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mbessel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../hankel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_bessel_sph_bessel">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.bessel.sph_bessel"></a><a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">Spherical Bessel
- Functions of the First and Second Kinds</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.bessel.sph_bessel.h0"></a>
- <span><a name="math_toolkit.special.bessel.sph_bessel.synopsis"></a></span><a class="link" href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.bessel.sph_bessel.h1"></a>
- <span><a name="math_toolkit.special.bessel.sph_bessel.description"></a></span><a class="link" href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.description">Description</a>
- </h5>
-<p>
- The functions <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a>
- and <a class="link" href="sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_neumann</a>
- return the result of the Spherical Bessel functions of the first and second
- kinds respectively:
- </p>
-<p>
- sph_bessel(v, x) = j<sub>v</sub>(x)
- </p>
-<p>
- sph_neumann(v, x) = y<sub>v</sub>(x) = n<sub>v</sub>(x)
- </p>
-<p>
- where:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/sbessel2.png"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> for the single argument type T.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- The functions return the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- whenever the result is undefined or complex: this occurs when <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span> <span class="number">0</span></code>.
- </p>
-<p>
- The j<sub>v</sub> &#160; function is cyclic like J<sub>v</sub> &#160; but differs in its behaviour at the origin:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/sph_bessel.png" align="middle"></span>
- </p>
-<p>
- Likewise y<sub>v</sub> &#160; is also cyclic for large x, but tends to -&#8734; &#160;
-for small <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/sph_neumann.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.sph_bessel.h2"></a>
- <span><a name="math_toolkit.special.bessel.sph_bessel.testing"></a></span><a class="link" href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.testing">Testing</a>
- </h5>
-<p>
- There are two sets of test values: spot values calculated using <a href="http://functions.wolfram.com/" target="_top">functions.wolfram.com</a>, and
- a much larger set of tests computed using a simplified version of this
- implementation (with all the special case handling removed).
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.sph_bessel.h3"></a>
- <span><a name="math_toolkit.special.bessel.sph_bessel.accuracy"></a></span><a class="link" href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.accuracy">Accuracy</a>
- </h5>
-<p>
- Other than for some special cases, these functions are computed in terms
- of <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- and <a class="link" href="bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>:
- refer to these functions for accuracy data.
- </p>
-<h5>
-<a name="math_toolkit.special.bessel.sph_bessel.h4"></a>
- <span><a name="math_toolkit.special.bessel.sph_bessel.implementation"></a></span><a class="link" href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.implementation">Implementation</a>
- </h5>
-<p>
- Other than error handling and a couple of special cases these functions
- are implemented directly in terms of their definitions:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/sbessel2.png"></span>
- </p>
-<p>
- The special cases occur for:
- </p>
-<p>
- j<sub>0</sub> &#160;= <a class="link" href="../sinc/sinc_pi.html" title="sinc_pi">sinc_pi</a>(x)
- = sin(x) / x
- </p>
-<p>
- and for small <span class="emphasis"><em>x &lt; 1</em></span>, we can use the series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/sbessel5.png"></span>
- </p>
-<p>
- which neatly avoids the problem of calculating 0/0 that can occur with
- the main definition as x &#8594; 0.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="mbessel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bessel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../hankel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint.html
deleted file mode 100644
index f4760ebf66..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Elliptic Integrals</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="hankel/sph_hankel.html" title="Spherical Hankel Functions">
-<link rel="next" href="ellint/ellint_intro.html" title="Elliptic Integral Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hankel/sph_hankel.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint/ellint_intro.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_ellint">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.ellint"></a><a class="link" href="ellint.html" title="Elliptic Integrals">Elliptic Integrals</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="ellint/ellint_intro.html">Elliptic
- Integral Overview</a></span></dt>
-<dt><span class="section"><a href="ellint/ellint_carlson.html">Elliptic
- Integrals - Carlson Form</a></span></dt>
-<dt><span class="section"><a href="ellint/ellint_1.html">Elliptic Integrals
- of the First Kind - Legendre Form</a></span></dt>
-<dt><span class="section"><a href="ellint/ellint_2.html">Elliptic Integrals
- of the Second Kind - Legendre Form</a></span></dt>
-<dt><span class="section"><a href="ellint/ellint_3.html">Elliptic Integrals
- of the Third Kind - Legendre Form</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hankel/sph_hankel.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint/ellint_intro.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html
deleted file mode 100644
index c096ca02e2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Elliptic Integrals of the First Kind - Legendre Form</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../ellint.html" title="Elliptic Integrals">
-<link rel="prev" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form">
-<link rel="next" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_carlson.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_ellint_ellint_1">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.ellint.ellint_1"></a><a class="link" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">Elliptic Integrals
- of the First Kind - Legendre Form</a>
-</h4></div></div></div>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_1.h0"></a>
- <span><a name="math_toolkit.special.ellint.ellint_1.synopsis"></a></span><a class="link" href="ellint_1.html#math_toolkit.special.ellint.ellint_1.synopsis">Synopsis</a>
- </h6>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_1.h1"></a>
- <span><a name="math_toolkit.special.ellint.ellint_1.description"></a></span><a class="link" href="ellint_1.html#math_toolkit.special.ellint.ellint_1.description">Description</a>
- </h6>
-<p>
- These two functions evaluate the incomplete elliptic integral of the first
- kind <span class="emphasis"><em>F(&#966;, k)</em></span> and its complete counterpart <span class="emphasis"><em>K(k)
- = F(&#960;/2, k)</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/ellint_1.png" align="middle"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types:
- when they are the same type then the result is the same type as the arguments.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the incomplete elliptic integral of the first kind <span class="emphasis"><em>F(&#966;,
- k)</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint2.png"></span>
- </p>
-<p>
- Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the complete elliptic integral of the first kind <span class="emphasis"><em>K(k)</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint6.png"></span>
- </p>
-<p>
- Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_1.h2"></a>
- <span><a name="math_toolkit.special.ellint.ellint_1.accuracy"></a></span><a class="link" href="ellint_1.html#math_toolkit.special.ellint.ellint_1.accuracy">Accuracy</a>
- </h6>
-<p>
- These functions are computed using only basic arithmetic operations, so
- there isn't much variation in accuracy over differing platforms. Note that
- only results for the widest floating point type on the system are given
- as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- All values are relative errors in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.ellint.ellint_1.errors_rates_in_the_elliptic_integrals_of_the_first_kind"></a><p class="title"><b>Table&#160;44.&#160;Errors Rates in the Elliptic Integrals of the First Kind</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the First Kind">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- F(&#966;, k)
- </p>
- </th>
-<th>
- <p>
- K(k)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=3 Mean=0.8
- </p>
- </td>
-<td>
- <p>
- Peak=1.8 Mean=0.7
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=2.6 Mean=1.7
- </p>
- </td>
-<td>
- <p>
- Peak=2.2 Mean=1.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=4.6 Mean=1.5
- </p>
- </td>
-<td>
- <p>
- Peak=3.7 Mean=1.5
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h6>
-<a name="math_toolkit.special.ellint.ellint_1.h3"></a>
- <span><a name="math_toolkit.special.ellint.ellint_1.testing"></a></span><a class="link" href="ellint_1.html#math_toolkit.special.ellint.ellint_1.testing">Testing</a>
- </h6>
-<p>
- The tests use a mixture of spot test values calculated using the online
- calculator at <a href="http://functions.wolfram.com/" target="_top">functions.wolfram.com</a>,
- and random test data generated using NTL::RR at 1000-bit precision and
- this implementation.
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_1.h4"></a>
- <span><a name="math_toolkit.special.ellint.ellint_1.implementation"></a></span><a class="link" href="ellint_1.html#math_toolkit.special.ellint.ellint_1.implementation">Implementation</a>
- </h6>
-<p>
- These functions are implemented in terms of Carlson's integrals using the
- relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint19.png"></span>
- </p>
-<p>
- and
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint20.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_carlson.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html
deleted file mode 100644
index e124a8fc57..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Elliptic Integrals of the Second Kind - Legendre Form</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../ellint.html" title="Elliptic Integrals">
-<link rel="prev" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">
-<link rel="next" href="ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_3.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_ellint_ellint_2">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.ellint.ellint_2"></a><a class="link" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">Elliptic Integrals
- of the Second Kind - Legendre Form</a>
-</h4></div></div></div>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_2.h0"></a>
- <span><a name="math_toolkit.special.ellint.ellint_2.synopsis"></a></span><a class="link" href="ellint_2.html#math_toolkit.special.ellint.ellint_2.synopsis">Synopsis</a>
- </h6>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_2</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_2.h1"></a>
- <span><a name="math_toolkit.special.ellint.ellint_2.description"></a></span><a class="link" href="ellint_2.html#math_toolkit.special.ellint.ellint_2.description">Description</a>
- </h6>
-<p>
- These two functions evaluate the incomplete elliptic integral of the second
- kind <span class="emphasis"><em>E(&#966;, k)</em></span> and its complete counterpart <span class="emphasis"><em>E(k)
- = E(&#960;/2, k)</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/ellint_2.png" align="middle"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types:
- when they are the same type then the result is the same type as the arguments.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the incomplete elliptic integral of the second kind <span class="emphasis"><em>E(&#966;,
- k)</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint3.png"></span>
- </p>
-<p>
- Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_2</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the complete elliptic integral of the second kind <span class="emphasis"><em>E(k)</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint7.png"></span>
- </p>
-<p>
- Requires -1 &lt;= k &lt;= 1, otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_2.h2"></a>
- <span><a name="math_toolkit.special.ellint.ellint_2.accuracy"></a></span><a class="link" href="ellint_2.html#math_toolkit.special.ellint.ellint_2.accuracy">Accuracy</a>
- </h6>
-<p>
- These functions are computed using only basic arithmetic operations, so
- there isn't much variation in accuracy over differing platforms. Note that
- only results for the widest floating point type on the system are given
- as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- All values are relative errors in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.ellint.ellint_2.errors_rates_in_the_elliptic_integrals_of_the_second_kind"></a><p class="title"><b>Table&#160;45.&#160;Errors Rates in the Elliptic Integrals of the Second Kind</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the Second Kind">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- F(&#966;, k)
- </p>
- </th>
-<th>
- <p>
- K(k)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=4.6 Mean=1.2
- </p>
- </td>
-<td>
- <p>
- Peak=3.5 Mean=1.0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=4.3 Mean=1.1
- </p>
- </td>
-<td>
- <p>
- Peak=4.6 Mean=1.2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=5.8 Mean=2.2
- </p>
- </td>
-<td>
- <p>
- Peak=10.8 Mean=2.3
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h6>
-<a name="math_toolkit.special.ellint.ellint_2.h3"></a>
- <span><a name="math_toolkit.special.ellint.ellint_2.testing"></a></span><a class="link" href="ellint_2.html#math_toolkit.special.ellint.ellint_2.testing">Testing</a>
- </h6>
-<p>
- The tests use a mixture of spot test values calculated using the online
- calculator at <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
- and random test data generated using NTL::RR at 1000-bit precision and
- this implementation.
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_2.h4"></a>
- <span><a name="math_toolkit.special.ellint.ellint_2.implementation"></a></span><a class="link" href="ellint_2.html#math_toolkit.special.ellint.ellint_2.implementation">Implementation</a>
- </h6>
-<p>
- These functions are implemented in terms of Carlson's integrals using the
- relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint21.png"></span>
- </p>
-<p>
- and
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint22.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_3.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html
deleted file mode 100644
index 6b6e33dcc7..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html
+++ /dev/null
@@ -1,322 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Elliptic Integrals of the Third Kind - Legendre Form</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../ellint.html" title="Elliptic Integrals">
-<link rel="prev" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">
-<link rel="next" href="../zetas.html" title="Zeta Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../zetas.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_ellint_ellint_3">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.ellint.ellint_3"></a><a class="link" href="ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">Elliptic Integrals
- of the Third Kind - Legendre Form</a>
-</h4></div></div></div>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_3.h0"></a>
- <span><a name="math_toolkit.special.ellint.ellint_3.synopsis"></a></span><a class="link" href="ellint_3.html#math_toolkit.special.ellint.ellint_3.synopsis">Synopsis</a>
- </h6>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_3</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_3.h1"></a>
- <span><a name="math_toolkit.special.ellint.ellint_3.description"></a></span><a class="link" href="ellint_3.html#math_toolkit.special.ellint.ellint_3.description">Description</a>
- </h6>
-<p>
- These two functions evaluate the incomplete elliptic integral of the third
- kind <span class="emphasis"><em>&#928;(n, &#966;, k)</em></span> and its complete counterpart <span class="emphasis"><em>&#928;(n,
- k) = E(n, &#960;/2, k)</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/ellint_3.png" align="middle"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when the arguments are of different
- types: when they are the same type then the result is the same type as
- the arguments.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the incomplete elliptic integral of the third kind <span class="emphasis"><em>&#928;(n,
- &#966;, k)</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint4.png"></span>
- </p>
-<p>
- Requires <span class="emphasis"><em>-1 &lt;= k &lt;= 1</em></span> and <span class="emphasis"><em>n &lt; 1/sin<sup>2</sup>(&#966;)</em></span>,
- otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- (outside this range the result would be complex).
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the complete elliptic integral of the first kind <span class="emphasis"><em>&#928;(n,
- k)</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint8.png"></span>
- </p>
-<p>
- Requires <span class="emphasis"><em>-1 &lt;= k &lt;= 1</em></span> and <span class="emphasis"><em>n &lt; 1</em></span>,
- otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- (outside this range the result would be complex).
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_3.h2"></a>
- <span><a name="math_toolkit.special.ellint.ellint_3.accuracy"></a></span><a class="link" href="ellint_3.html#math_toolkit.special.ellint.ellint_3.accuracy">Accuracy</a>
- </h6>
-<p>
- These functions are computed using only basic arithmetic operations, so
- there isn't much variation in accuracy over differing platforms. Note that
- only results for the widest floating point type on the system are given
- as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- All values are relative errors in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.ellint.ellint_3.errors_rates_in_the_elliptic_integrals_of_the_third_kind"></a><p class="title"><b>Table&#160;46.&#160;Errors Rates in the Elliptic Integrals of the Third Kind</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the Third Kind">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- &#928;(n, &#966;, k)
- </p>
- </th>
-<th>
- <p>
- &#928;(n, k)
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=29 Mean=2.2
- </p>
- </td>
-<td>
- <p>
- Peak=3 Mean=0.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=14 Mean=1.3
- </p>
- </td>
-<td>
- <p>
- Peak=2.3 Mean=0.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=10 Mean=1.4
- </p>
- </td>
-<td>
- <p>
- Peak=4.2 Mean=1.1
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h6>
-<a name="math_toolkit.special.ellint.ellint_3.h3"></a>
- <span><a name="math_toolkit.special.ellint.ellint_3.testing"></a></span><a class="link" href="ellint_3.html#math_toolkit.special.ellint.ellint_3.testing">Testing</a>
- </h6>
-<p>
- The tests use a mixture of spot test values calculated using the online
- calculator at <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
- and random test data generated using NTL::RR at 1000-bit precision and
- this implementation.
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_3.h4"></a>
- <span><a name="math_toolkit.special.ellint.ellint_3.implementation"></a></span><a class="link" href="ellint_3.html#math_toolkit.special.ellint.ellint_3.implementation">Implementation</a>
- </h6>
-<p>
- The implementation for &#928;(n, &#966;, k) first siphons off the special cases:
- </p>
-<p>
- <span class="emphasis"><em>&#928;(0, &#966;, k) = F(&#966;, k)</em></span>
- </p>
-<p>
- <span class="emphasis"><em>&#928;(n, &#960;/2, k) = &#928;(n, k)</em></span>
- </p>
-<p>
- and
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint23.png"></span>
- </p>
-<p>
- Then if n &lt; 0 the relations (A&amp;S 17.7.15/16):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint24.png"></span>
- </p>
-<p>
- are used to shift <span class="emphasis"><em>n</em></span> to the range [0, 1].
- </p>
-<p>
- Then the relations:
- </p>
-<p>
- <span class="emphasis"><em>&#928;(n, -&#966;, k) = -&#928;(n, &#966;, k)</em></span>
- </p>
-<p>
- <span class="emphasis"><em>&#928;(n, &#966;+m&#960;, k) = &#928;(n, &#966;, k) + 2m&#928;(n, k) ; n &lt;= 1</em></span>
- </p>
-<p>
- <span class="emphasis"><em>&#928;(n, &#966;+m&#960;, k) = &#928;(n, &#966;, k) ; n &gt; 1</em></span> <sup>[<a name="math_toolkit.special.ellint.ellint_3.f0" href="#ftn.math_toolkit.special.ellint.ellint_3.f0" class="footnote">1</a>]</sup>
- </p>
-<p>
- are used to move &#966; &#160; to the range [0, &#960;/2].
- </p>
-<p>
- The functions are then implemented in terms of Carlson's integrals using
- the relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint25.png"></span>
- </p>
-<p>
- and
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint26.png"></span>
- </p>
-<div class="footnotes">
-<br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.special.ellint.ellint_3.f0" href="#math_toolkit.special.ellint.ellint_3.f0" class="para">1</a>] </sup>
- I haven't been able to find a literature reference for this relation,
- but it appears to be the convention used by Mathematica. Intuitively
- the first <span class="emphasis"><em>2 * m * &#928;(n, k)</em></span> terms cancel out as the
- derivative alternates between +&#8734; and -&#8734;.
- </p></div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../zetas.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html
deleted file mode 100644
index dbc8d5ad3c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html
+++ /dev/null
@@ -1,442 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Elliptic Integrals - Carlson Form</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../ellint.html" title="Elliptic Integrals">
-<link rel="prev" href="ellint_intro.html" title="Elliptic Integral Overview">
-<link rel="next" href="ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_intro.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_ellint_ellint_carlson">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.ellint.ellint_carlson"></a><a class="link" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form">Elliptic
- Integrals - Carlson Form</a>
-</h4></div></div></div>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_carlson.h0"></a>
- <span><a name="math_toolkit.special.ellint.ellint_carlson.synopsis"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.synopsis">Synopsis</a>
- </h6>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rj</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_rc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_carlson.h1"></a>
- <span><a name="math_toolkit.special.ellint.ellint_carlson.description"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.description">Description</a>
- </h6>
-<p>
- These functions return Carlson's symmetrical elliptic integrals, the functions
- have complicated behavior over all their possible domains, but the following
- graph gives an idea of their behavior:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/ellint_carlson.png" align="middle"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when the arguments are of different
- types: otherwise the return is the same type as the arguments.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rf</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-</pre>
-<p>
- Returns Carlson's Elliptic Integral R<sub>F</sub>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint9.png"></span>
- </p>
-<p>
- Requires that all of the arguments are non-negative, and at most one may
- be zero. Otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rd</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-</pre>
-<p>
- Returns Carlson's elliptic integral R<sub>D</sub>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint10.png"></span>
- </p>
-<p>
- Requires that x and y are non-negative, with at most one of them zero,
- and that z &gt;= 0. Otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rj</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">T4</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-</pre>
-<p>
- Returns Carlson's elliptic integral R<sub>J</sub>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint11.png"></span>
- </p>
-<p>
- Requires that x, y and z are non-negative, with at most one of them zero,
- and that <span class="emphasis"><em>p != 0</em></span>. Otherwise returns the result of
- <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- When <span class="emphasis"><em>p &lt; 0</em></span> the function returns the <a href="http://en.wikipedia.org/wiki/Cauchy_principal_value" target="_top">Cauchy
- principal value</a> using the relation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint17.png"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_rc</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;)</span>
-</pre>
-<p>
- Returns Carlson's elliptic integral R<sub>C</sub>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint12.png"></span>
- </p>
-<p>
- Requires that <span class="emphasis"><em>x &gt; 0</em></span> and that <span class="emphasis"><em>y != 0</em></span>.
- Otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- When <span class="emphasis"><em>y &lt; 0</em></span> the function returns the <a href="http://mathworld.wolfram.com/CauchyPrincipalValue.html" target="_top">Cauchy
- principal value</a> using the relation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint18.png"></span>
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_carlson.h2"></a>
- <span><a name="math_toolkit.special.ellint.ellint_carlson.testing"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.testing">Testing</a>
- </h6>
-<p>
- There are two sets of tests.
- </p>
-<p>
- Spot tests compare selected values with test data given in:
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- B. C. Carlson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9409227" target="_top">Numerical
- computation of real or complex elliptic integrals</a></em></span>.
- Numerical Algorithms, Volume 10, Number 1 / March, 1995, pp 13-26.
- </p></blockquote></div>
-<p>
- Random test data generated using NTL::RR at 1000-bit precision and our
- implementation checks for rounding-errors and/or regressions.
- </p>
-<p>
- There are also sanity checks that use the inter-relations between the integrals
- to verify their correctness: see the above Carlson paper for details.
- </p>
-<h6>
-<a name="math_toolkit.special.ellint.ellint_carlson.h3"></a>
- <span><a name="math_toolkit.special.ellint.ellint_carlson.accuracy"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.accuracy">Accuracy</a>
- </h6>
-<p>
- These functions are computed using only basic arithmetic operations, so
- there isn't much variation in accuracy over differing platforms. Note that
- only results for the widest floating-point type on the system are given
- as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- All values are relative errors in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.ellint.ellint_carlson.errors_rates_in_the_carlson_elliptic_integrals"></a><p class="title"><b>Table&#160;43.&#160;Errors Rates in the Carlson Elliptic Integrals</b></p>
-<div class="table-contents"><table class="table" summary="Errors Rates in the Carlson Elliptic Integrals">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- R<sub>F</sub>
- </p>
- </th>
-<th>
- <p>
- R<sub>D</sub>
- </p>
- </th>
-<th>
- <p>
- R<sub>J</sub>
- </p>
- </th>
-<th>
- <p>
- R<sub>C</sub>
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 / Visual C++ 8.0
- </p>
- </td>
-<td>
- <p>
- Peak=2.9 Mean=0.75
- </p>
- </td>
-<td>
- <p>
- Peak=2.6 Mean=0.9
- </p>
- </td>
-<td>
- <p>
- Peak=108 Mean=6.9
- </p>
- </td>
-<td>
- <p>
- Peak=2.4 Mean=0.6
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux / G++ 3.4
- </p>
- </td>
-<td>
- <p>
- Peak=2.5 Mean=0.75
- </p>
- </td>
-<td>
- <p>
- Peak=2.7 Mean=0.9
- </p>
- </td>
-<td>
- <p>
- Peak=105 Mean=8
- </p>
- </td>
-<td>
- <p>
- Peak=1.9 Mean=0.7
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HP-UX / HP aCC 6
- </p>
- </td>
-<td>
- <p>
- Peak=5.3 Mean=1.6
- </p>
- </td>
-<td>
- <p>
- Peak=2.9 Mean=0.99
- </p>
- </td>
-<td>
- <p>
- Peak=180 Mean=12
- </p>
- </td>
-<td>
- <p>
- Peak=1.8 Mean=0.7
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h6>
-<a name="math_toolkit.special.ellint.ellint_carlson.h4"></a>
- <span><a name="math_toolkit.special.ellint.ellint_carlson.implementation"></a></span><a class="link" href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.implementation">Implementation</a>
- </h6>
-<p>
- The key of Carlson's algorithm [<a class="link" href="ellint_intro.html#ellint_ref_carlson79">Carlson79</a>]
- is the duplication theorem:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint13.png"></span>
- </p>
-<p>
- By applying it repeatedly, <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>,
- <span class="emphasis"><em>z</em></span> get closer and closer. When they are nearly equal,
- the special case equation
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint16.png"></span>
- </p>
-<p>
- is used. More specifically, <span class="emphasis"><em>[R F</em></span>] is evaluated from
- a Taylor series expansion to the fifth order. The calculations of the other
- three integrals are analogous.
- </p>
-<p>
- For <span class="emphasis"><em>p &lt; 0</em></span> in <span class="emphasis"><em>R<sub>J</sub>(x, y, z, p)</em></span>
- and <span class="emphasis"><em>y &lt; 0</em></span> in <span class="emphasis"><em>R<sub>C</sub>(x, y)</em></span>, the
- integrals are singular and their <a href="http://mathworld.wolfram.com/CauchyPrincipalValue.html" target="_top">Cauchy
- principal values</a> are returned via the relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint17.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint18.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint_intro.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html
deleted file mode 100644
index b65ccd86a8..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html
+++ /dev/null
@@ -1,408 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Elliptic Integral Overview</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../ellint.html" title="Elliptic Integrals">
-<link rel="prev" href="../ellint.html" title="Elliptic Integrals">
-<link rel="next" href="ellint_carlson.html" title="Elliptic Integrals - Carlson Form">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../ellint.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_carlson.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_ellint_ellint_intro">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.ellint.ellint_intro"></a><a class="link" href="ellint_intro.html" title="Elliptic Integral Overview">Elliptic
- Integral Overview</a>
-</h4></div></div></div>
-<p>
- The main reference for the elliptic integrals is:
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- M. Abramowitz and I. A. Stegun (Eds.) (1964) Handbook of Mathematical
- Functions with Formulas, Graphs, and Mathematical Tables, National Bureau
- of Standards Applied Mathematics Series, U.S. Government Printing Office,
- Washington, D.C.
- </p></blockquote></div>
-<p>
- Mathworld also contain a lot of useful background information:
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <a href="http://mathworld.wolfram.com/EllipticIntegral.html" target="_top">Weisstein,
- Eric W. "Elliptic Integral." From MathWorld--A Wolfram Web
- Resource.</a>
- </p></blockquote></div>
-<p>
- As does <a href="http://en.wikipedia.org/wiki/Elliptic_integral" target="_top">Wikipedia
- Elliptic integral</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.ellint.ellint_intro.h0"></a>
- <span><a name="math_toolkit.special.ellint.ellint_intro.notation"></a></span><a class="link" href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.notation">Notation</a>
- </h5>
-<p>
- All variables are real numbers unless otherwise noted.
- </p>
-<h5>
-<a name="math_toolkit.special.ellint.ellint_intro.h1"></a>
- <span><a name="math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_def___definition"></a></span><a class="link" href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_def___definition"><a name="ellint_def"></a>Definition</a>
- </h5>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint1.png"></span>
- </p>
-<p>
- is called elliptic integral if <span class="emphasis"><em>R(t, s)</em></span> is a rational
- function of <span class="emphasis"><em>t</em></span> and <span class="emphasis"><em>s</em></span>, and <span class="emphasis"><em>s<sup>2</sup></em></span>
- is a cubic or quartic polynomial in <span class="emphasis"><em>t</em></span>.
- </p>
-<p>
- Elliptic integrals generally can not be expressed in terms of elementary
- functions. However, Legendre showed that all elliptic integrals can be
- reduced to the following three canonical forms:
- </p>
-<p>
- Elliptic Integral of the First Kind (Legendre form)
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint2.png"></span>
- </p>
-<p>
- Elliptic Integral of the Second Kind (Legendre form)
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint3.png"></span>
- </p>
-<p>
- Elliptic Integral of the Third Kind (Legendre form)
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint4.png"></span>
- </p>
-<p>
- where
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint5.png"></span>
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="emphasis"><em>&#966;</em></span> is called the amplitude.
- </p>
-<p>
- <span class="emphasis"><em>k</em></span> is called the modulus.
- </p>
-<p>
- <span class="emphasis"><em>&#945;</em></span> is called the modular angle.
- </p>
-<p>
- <span class="emphasis"><em>n</em></span> is called the characteristic.
- </p>
-</td></tr>
-</table></div>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- Perhaps more than any other special functions the elliptic integrals
- are expressed in a variety of different ways. In particular, the final
- parameter <span class="emphasis"><em>k</em></span> (the modulus) may be expressed using
- a modular angle &#945;, or a parameter <span class="emphasis"><em>m</em></span>. These are related
- by:
- </p>
-<p>
- k = sin&#945;
- </p>
-<p>
- m = k<sup>2</sup> = sin<sup>2</sup>&#945;
- </p>
-<p>
- So that the integral of the third kind (for example) may be expressed
- as either:
- </p>
-<p>
- &#928;(n, &#966;, k)
- </p>
-<p>
- &#928;(n, &#966; \ &#945;)
- </p>
-<p>
- &#928;(n, &#966;| m)
- </p>
-<p>
- To further complicate matters, some texts refer to the <span class="emphasis"><em>complement
- of the parameter m</em></span>, or 1 - m, where:
- </p>
-<p>
- 1 - m = 1 - k<sup>2</sup> = cos<sup>2</sup>&#945;
- </p>
-<p>
- This implementation uses <span class="emphasis"><em>k</em></span> throughout: this matches
- the requirements of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
- Report on C++ Library Extensions</a>. However, you should be extra
- careful when using these functions!
- </p>
-</td></tr>
-</table></div>
-<p>
- When <span class="emphasis"><em>&#966;</em></span> = <span class="emphasis"><em>&#960;</em></span> / 2, the elliptic integrals
- are called <span class="emphasis"><em>complete</em></span>.
- </p>
-<p>
- Complete Elliptic Integral of the First Kind (Legendre form)
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint6.png"></span>
- </p>
-<p>
- Complete Elliptic Integral of the Second Kind (Legendre form)
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint7.png"></span>
- </p>
-<p>
- Complete Elliptic Integral of the Third Kind (Legendre form)
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint8.png"></span>
- </p>
-<p>
- Carlson [<a class="link" href="ellint_intro.html#ellint_ref_carlson77">Carlson77</a>] [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>] gives an alternative definition
- of elliptic integral's canonical forms:
- </p>
-<p>
- Carlson's Elliptic Integral of the First Kind
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint9.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span>
- are nonnegative and at most one of them may be zero.
- </p>
-<p>
- Carlson's Elliptic Integral of the Second Kind
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint10.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span> are nonnegative, at
- most one of them may be zero, and <span class="emphasis"><em>z</em></span> must be positive.
- </p>
-<p>
- Carlson's Elliptic Integral of the Third Kind
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint11.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>x</em></span>, <span class="emphasis"><em>y</em></span>, <span class="emphasis"><em>z</em></span>
- are nonnegative, at most one of them may be zero, and <span class="emphasis"><em>p</em></span>
- must be nonzero.
- </p>
-<p>
- Carlson's Degenerate Elliptic Integral
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint12.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>x</em></span> is nonnegative and <span class="emphasis"><em>y</em></span>
- is nonzero.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- <span class="emphasis"><em>R<sub>C</sub>(x, y) = R<sub>F</sub>(x, y, y)</em></span>
- </p>
-<p>
- <span class="emphasis"><em>R<sub>D</sub>(x, y, z) = R<sub>J</sub>(x, y, z, z)</em></span>
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.special.ellint.ellint_intro.h2"></a>
- <span><a name="math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_theorem___duplication_theorem"></a></span><a class="link" href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_theorem___duplication_theorem"><a name="ellint_theorem"></a>Duplication Theorem</a>
- </h5>
-<p>
- Carlson proved in [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>]
- that
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint13.png"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.ellint.ellint_intro.h3"></a>
- <span><a name="math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_formula___carlson_s_formulas"></a></span><a class="link" href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_formula___carlson_s_formulas"><a name="ellint_formula"></a>Carlson's Formulas</a>
- </h5>
-<p>
- The Legendre form and Carlson form of elliptic integrals are related by
- equations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint14.png"></span>
- </p>
-<p>
- In particular,
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ellint15.png"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.ellint.ellint_intro.h4"></a>
- <span><a name="math_toolkit.special.ellint.ellint_intro.numerical_algorithms"></a></span><a class="link" href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.numerical_algorithms">Numerical
- Algorithms</a>
- </h5>
-<p>
- The conventional methods for computing elliptic integrals are Gauss and
- Landen transformations, which converge quadratically and work well for
- elliptic integrals of the first and second kinds. Unfortunately they suffer
- from loss of significant digits for the third kind. Carlson's algorithm
- [<a class="link" href="ellint_intro.html#ellint_ref_carlson79">Carlson79</a>] [<a class="link" href="ellint_intro.html#ellint_ref_carlson78">Carlson78</a>],
- by contrast, provides a unified method for all three kinds of elliptic
- integrals with satisfactory precisions.
- </p>
-<h5>
-<a name="math_toolkit.special.ellint.ellint_intro.h5"></a>
- <span><a name="math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_refs___references"></a></span><a class="link" href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro._anchor_id__ellint_refs___references"><a name="ellint_refs"></a>References</a>
- </h5>
-<p>
- Special mention goes to:
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- A. M. Legendre, <span class="emphasis"><em>Traitd des Fonctions Elliptiques et des Integrales
- Euleriennes</em></span>, Vol. 1. Paris (1825).
- </p></blockquote></div>
-<p>
- However the main references are:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- <a name="ellint_ref_AS"></a>M. Abramowitz and I. A. Stegun (Eds.) (1964)
- Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical
- Tables, National Bureau of Standards Applied Mathematics Series, U.S.
- Government Printing Office, Washington, D.C.
- </li>
-<li class="listitem">
- <a name="ellint_ref_carlson79"></a>B.C. Carlson, <span class="emphasis"><em>Computing
- elliptic integrals by duplication</em></span>, Numerische Mathematik,
- vol 33, 1 (1979).
- </li>
-<li class="listitem">
- <a name="ellint_ref_carlson77"></a>B.C. Carlson, <span class="emphasis"><em>Elliptic
- Integrals of the First Kind</em></span>, SIAM Journal on Mathematical
- Analysis, vol 8, 231 (1977).
- </li>
-<li class="listitem">
- <a name="ellint_ref_carlson78"></a>B.C. Carlson, <span class="emphasis"><em>Short Proofs
- of Three Theorems on Elliptic Integrals</em></span>, SIAM Journal on
- Mathematical Analysis, vol 9, 524 (1978).
- </li>
-<li class="listitem">
- <a name="ellint_ref_carlson81"></a>B.C. Carlson and E.M. Notis, <span class="emphasis"><em>ALGORITHM
- 577: Algorithms for Incomplete Elliptic Integrals</em></span>, ACM Transactions
- on Mathematmal Software, vol 7, 398 (1981).
- </li>
-<li class="listitem">
- B. C. Carlson, <span class="emphasis"><em>On computing elliptic integrals and functions</em></span>.
- J. Math. and Phys., 44 (1965), pp. 36-51.
- </li>
-<li class="listitem">
- B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals of the second
- kind</em></span>. Math. Comp., 49 (1987), pp. 595-606. (Supplement,
- ibid., pp. S13-S17.)
- </li>
-<li class="listitem">
- B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals of the third
- kind</em></span>. Math. Comp., 51 (1988), pp. 267-280. (Supplement,
- ibid., pp. S1-S5.)
- </li>
-<li class="listitem">
- B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: cubic cases</em></span>.
- Math. Comp., 53 (1989), pp. 327-333.
- </li>
-<li class="listitem">
- B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: one quadratic
- factor</em></span>. Math. Comp., 56 (1991), pp. 267-280.
- </li>
-<li class="listitem">
- B. C. Carlson, <span class="emphasis"><em>A table of elliptic integrals: two quadratic
- factors</em></span>. Math. Comp., 59 (1992), pp. 165-180.
- </li>
-<li class="listitem">
- B. C. Carlson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9409227" target="_top">Numerical
- computation of real or complex elliptic integrals</a></em></span>.
- Numerical Algorithms, Volume 10, Number 1 / March, 1995, p13-26.
- </li>
-<li class="listitem">
- B. C. Carlson and John L. Gustafson, <span class="emphasis"><em><a href="http://arxiv.org/abs/math.CA/9310223" target="_top">Asymptotic
- Approximations for Symmetric Elliptic Integrals</a></em></span>,
- SIAM Journal on Mathematical Analysis, Volume 25, Issue 2 (March 1994),
- 288-303.
- </li>
-</ol></div>
-<p>
- The following references, while not directly relevent to our implementation,
- may also be of interest:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- R. Burlisch, <span class="emphasis"><em>Numerical Compuation of Elliptic Integrals and
- Elliptic Functions.</em></span> Numerical Mathematik 7, 78-90.
- </li>
-<li class="listitem">
- R. Burlisch, <span class="emphasis"><em>An extension of the Bartky Transformation to
- Incomplete Elliptic Integrals of the Third Kind</em></span>. Numerical
- Mathematik 13, 266-284.
- </li>
-<li class="listitem">
- R. Burlisch, <span class="emphasis"><em>Numerical Compuation of Elliptic Integrals and
- Elliptic Functions. III</em></span>. Numerical Mathematik 13, 305-315.
- </li>
-<li class="listitem">
- T. Fukushima and H. Ishizaki, <span class="emphasis"><em><a href="http://adsabs.harvard.edu/abs/1994CeMDA..59..237F" target="_top">Numerical
- Computation of Incomplete Elliptic Integrals of a General Form.</a></em></span>
- Celestial Mechanics and Dynamical Astronomy, Volume 59, Number 3 /
- July, 1994, 237-251.
- </li>
-</ol></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../ellint.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ellint_carlson.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html
deleted file mode 100644
index 7297239be2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Exponential Integrals</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="zetas/zeta.html" title="Riemann Zeta Function">
-<link rel="next" href="expint/expint_n.html" title="Exponential Integral En">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="zetas/zeta.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint/expint_n.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_expint">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.expint"></a><a class="link" href="expint.html" title="Exponential Integrals">Exponential Integrals</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="expint/expint_n.html">Exponential Integral
- En</a></span></dt>
-<dt><span class="section"><a href="expint/expint_i.html">Exponential Integral
- Ei</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="zetas/zeta.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint/expint_n.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html
deleted file mode 100644
index 79ad1377a1..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Exponential Integral Ei</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../expint.html" title="Exponential Integrals">
-<link rel="prev" href="expint_n.html" title="Exponential Integral En">
-<link rel="next" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="expint_n.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../powers.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_expint_expint_i">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.expint.expint_i"></a><a class="link" href="expint_i.html" title="Exponential Integral Ei">Exponential Integral
- Ei</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.expint.expint_i.h0"></a>
- <span><a name="math_toolkit.special.expint.expint_i.synopsis"></a></span><a class="link" href="expint_i.html#math_toolkit.special.expint.expint_i.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.expint.expint_i.h1"></a>
- <span><a name="math_toolkit.special.expint.expint_i.description"></a></span><a class="link" href="expint_i.html#math_toolkit.special.expint.expint_i.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the <a href="http://mathworld.wolfram.com/ExponentialIntegral.html" target="_top">exponential
- integral</a> of z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_i_1.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/expint_i.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.expint.expint_i.h2"></a>
- <span><a name="math_toolkit.special.expint.expint_i.accuracy"></a></span><a class="link" href="expint_i.html#math_toolkit.special.expint.expint_i.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types, along with comparisons
- to Cody's SPECFUN implementation and the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
- library. Unless otherwise specified any floating point type that is narrower
- than the one shown will have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero
- error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.expint.expint_i.errors_in_the_function_expint_z_"></a><p class="title"><b>Table&#160;49.&#160;Errors In the Function expint(z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function expint(z)">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Error
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=2.4 Mean=0.6
- </p>
- <p>
- GSL Peak=8.9 Mean=0.7
- </p>
- <p>
- SPECFUN (Cody) Peak=2.5 Mean=0.6
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA_EM64, gcc-4.1
- </p>
- </td>
-<td>
- <p>
- Peak=5.1 Mean=0.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-4.1
- </p>
- </td>
-<td>
- <p>
- Peak=5.0 Mean=0.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=1.9 Mean=0.63
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- It should be noted that all three libraries tested above offer sub-epsilon
- precision over most of their range.
- </p>
-<p>
- GSL has the greatest difficulty near the positive root of En, while Cody's
- SPECFUN along with this implementation increase their error rates very
- slightly over the range [4,6].
- </p>
-<h5>
-<a name="math_toolkit.special.expint.expint_i.h3"></a>
- <span><a name="math_toolkit.special.expint.expint_i.testing"></a></span><a class="link" href="expint_i.html#math_toolkit.special.expint.expint_i.testing">Testing</a>
- </h5>
-<p>
- The tests for these functions come in two parts: basic sanity checks use
- spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralEi" target="_top">Mathworld's
- online evaluator</a>, while accuracy checks use high-precision test
- values calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
- and this implementation. Note that the generic and type-specific versions
- of these functions use differing implementations internally, so this gives
- us reasonably independent test data. Using our test data to test other
- "known good" implementations also provides an additional sanity
- check.
- </p>
-<h5>
-<a name="math_toolkit.special.expint.expint_i.h4"></a>
- <span><a name="math_toolkit.special.expint.expint_i.implementation"></a></span><a class="link" href="expint_i.html#math_toolkit.special.expint.expint_i.implementation">Implementation</a>
- </h5>
-<p>
- For x &lt; 0 this function just calls <a class="link" href="expint_n.html" title="Exponential Integral En">zeta</a>(1,
- -x): which in turn is implemented in terms of rational approximations when
- the type of x has 113 or fewer bits of precision.
- </p>
-<p>
- For x &gt; 0 the generic version is implemented using the infinte series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_i_2.png"></span>
- </p>
-<p>
- However, when the precision of the argument type is known at compile time
- and is 113 bits or less, then rational approximations <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> are used.
- </p>
-<p>
- For 0 &lt; z &lt; 6 a root-preserving approximation of the form:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_i_3.png"></span>
- </p>
-<p>
- is used, where z<sub>0</sub> is the positive root of the function, and R(z/3 - 1) is
- a minimax rational approximation rescaled so that it is evaluated over
- [-1,1]. Note that while the rational approximation over [0,6] converges
- rapidly to the minimax solution it is rather ill-conditioned in practice.
- Cody and Thacher <sup>[<a name="math_toolkit.special.expint.expint_i.f0" href="#ftn.math_toolkit.special.expint.expint_i.f0" class="footnote">2</a>]</sup> experienced the same issue and converted the polynomials into
- Chebeshev form to ensure stable computation. By experiment we found that
- the polynomials are just as stable in polynomial as Chebyshev form, <span class="emphasis"><em>provided</em></span>
- they are computed over the interval [-1,1].
- </p>
-<p>
- Over the a series of intervals [a,b] and [b,INF] the rational approximation
- takes the form:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_i_4.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>c</em></span> is a constant, and R(t) is a minimax solution
- optimised for low absolute error compared to <span class="emphasis"><em>c</em></span>. Variable
- <span class="emphasis"><em>t</em></span> is <code class="computeroutput"><span class="number">1</span><span class="special">/</span><span class="identifier">z</span></code> when
- the range in infinite and <code class="computeroutput"><span class="number">2</span><span class="identifier">z</span><span class="special">/(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span>
- <span class="special">-</span> <span class="special">(</span><span class="number">2</span><span class="identifier">a</span><span class="special">/(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span></code> otherwise: this has the effect of scaling
- z to the interval [-1,1]. As before rational approximations over arbitrary
- intervals were found to be ill-conditioned: Cody and Thacher solved this
- issue by converting the polynomials to their J-Fraction equivalent. However,
- as long as the interval of evaluation was [-1,1] and the number of terms
- carefully chosen, it was found that the polynomials <span class="emphasis"><em>could</em></span>
- be evaluated to suitable precision: error rates are typically 2 to 3 epsilon
- which is comparible to the error rate that Cody and Thacher achieved using
- J-Fractions, but marginally more efficient given that fewer divisions are
- involved.
- </p>
-<div class="footnotes">
-<br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.special.expint.expint_i.f0" href="#math_toolkit.special.expint.expint_i.f0" class="para">2</a>] </sup>
- W. J. Cody and H. C. Thacher, Jr., Rational Chebyshev approximations
- for the exponential integral E<sub>1</sub>(x), Math. Comp. 22 (1968), 641-649, and
- W. J. Cody and H. C. Thacher, Jr., Chebyshev approximations for the exponential
- integral Ei(x), Math. Comp. 23 (1969), 289-303.
- </p></div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="expint_n.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../powers.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html
deleted file mode 100644
index bf87a9991b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Exponential Integral En</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../expint.html" title="Exponential Integrals">
-<link rel="prev" href="../expint.html" title="Exponential Integrals">
-<link rel="next" href="expint_i.html" title="Exponential Integral Ei">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../expint.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint_i.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_expint_expint_n">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.expint.expint_n"></a><a class="link" href="expint_n.html" title="Exponential Integral En">Exponential Integral
- En</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.expint.expint_n.h0"></a>
- <span><a name="math_toolkit.special.expint.expint_n.synopsis"></a></span><a class="link" href="expint_n.html#math_toolkit.special.expint.expint_n.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.expint.expint_n.h1"></a>
- <span><a name="math_toolkit.special.expint.expint_n.description"></a></span><a class="link" href="expint_n.html#math_toolkit.special.expint.expint_n.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the <a href="http://mathworld.wolfram.com/En-Function.html" target="_top">exponential
- integral En</a> of z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_n_1.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/expint2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.expint.expint_n.h2"></a>
- <span><a name="math_toolkit.special.expint.expint_n.accuracy"></a></span><a class="link" href="expint_n.html#math_toolkit.special.expint.expint_n.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types, along with comparisons
- to the <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> library.
- Unless otherwise specified any floating point type that is narrower than
- the one shown will have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.expint.expint_n.errors_in_the_function_expint_n__z_"></a><p class="title"><b>Table&#160;48.&#160;Errors In the Function expint(n, z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function expint(n, z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- En
- </p>
- </th>
-<th>
- <p>
- E1
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=7.1 Mean=1.8
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=5.1
- Mean=1.3
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.5
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=3.1
- Mean=1.1
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA_EM64, gcc-4.1
- </p>
- </td>
-<td>
- <p>
- Peak=9.9 Mean=2.1
- </p>
- </td>
-<td>
- <p>
- Peak=0.97 Mean=0.4
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-4.1
- </p>
- </td>
-<td>
- <p>
- Peak=9.9 Mean=2.1
- </p>
- </td>
-<td>
- <p>
- Peak=0.97 Mean=0.4
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=23.3 Mean=3.7
- </p>
- </td>
-<td>
- <p>
- Peak=1.6 Mean=0.5
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.special.expint.expint_n.h3"></a>
- <span><a name="math_toolkit.special.expint.expint_n.testing"></a></span><a class="link" href="expint_n.html#math_toolkit.special.expint.expint_n.testing">Testing</a>
- </h5>
-<p>
- The tests for these functions come in two parts: basic sanity checks use
- spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralE" target="_top">Mathworld's
- online evaluator</a>, while accuracy checks use high-precision test
- values calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
- and this implementation. Note that the generic and type-specific versions
- of these functions use differing implementations internally, so this gives
- us reasonably independent test data. Using our test data to test other
- "known good" implementations also provides an additional sanity
- check.
- </p>
-<h5>
-<a name="math_toolkit.special.expint.expint_n.h4"></a>
- <span><a name="math_toolkit.special.expint.expint_n.implementation"></a></span><a class="link" href="expint_n.html#math_toolkit.special.expint.expint_n.implementation">Implementation</a>
- </h5>
-<p>
- The generic version of this function uses the continued fraction:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_n_3.png"></span>
- </p>
-<p>
- for large <span class="emphasis"><em>x</em></span> and the infinite series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_n_2.png"></span>
- </p>
-<p>
- for small <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- Where the precision of <span class="emphasis"><em>x</em></span> is known at compile time
- and is 113 bits or fewer in precision, then rational approximations <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> are used for the <code class="computeroutput"><span class="identifier">n</span>
- <span class="special">==</span> <span class="number">1</span></code>
- case.
- </p>
-<p>
- For <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
- <span class="number">1</span></code> the approximating form is a minimax
- approximation:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_n_4.png"></span>
- </p>
-<p>
- and for <code class="computeroutput"><span class="identifier">x</span> <span class="special">&gt;</span>
- <span class="number">1</span></code> a Chebyshev interpolated approximation
- of the form:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/expint_n_5.png"></span>
- </p>
-<p>
- is used.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../expint.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expint_i.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials.html
deleted file mode 100644
index 976b1c5b05..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Factorials and Binomial Coefficients</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="sf_gamma/gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">
-<link rel="next" href="factorials/sf_factorial.html" title="Factorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_gamma/gamma_derivatives.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="factorials/sf_factorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_factorials">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.factorials"></a><a class="link" href="factorials.html" title="Factorials and Binomial Coefficients">Factorials and Binomial
- Coefficients</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="factorials/sf_factorial.html">Factorial</a></span></dt>
-<dt><span class="section"><a href="factorials/sf_double_factorial.html">Double
- Factorial</a></span></dt>
-<dt><span class="section"><a href="factorials/sf_rising_factorial.html">Rising
- Factorial</a></span></dt>
-<dt><span class="section"><a href="factorials/sf_falling_factorial.html">Falling
- Factorial</a></span></dt>
-<dt><span class="section"><a href="factorials/sf_binomial.html">Binomial
- Coefficients</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_gamma/gamma_derivatives.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="factorials/sf_factorial.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_binomial.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_binomial.html
deleted file mode 100644
index c525b11dbb..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_binomial.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Binomial Coefficients</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
-<link rel="prev" href="sf_falling_factorial.html" title="Falling Factorial">
-<link rel="next" href="../sf_beta.html" title="Beta Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_falling_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_factorials_sf_binomial">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.factorials.sf_binomial"></a><a class="link" href="sf_binomial.html" title="Binomial Coefficients">Binomial
- Coefficients</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">binomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">binomial_coefficient</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">k</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">binomial_coefficient</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns the binomial coefficient: <sub>n</sub>C<sub>k</sub>.
- </p>
-<p>
- Requires k &lt;= n.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- May return the result of <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>
- if the result is too large to represent in type T.
- </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The functions described above are templates where the template argument
- T can not be deduced from the arguments passed to the function. Therefore
- if you write something like:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_coefficient</span><span class="special">(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span></code>
- </p>
-<p>
- You will get a compiler error, ususally indicating that there is no such
- function to be found. Instead you need to specifiy the return type explicity
- and write:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">binomial_coefficient</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">10</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span></code>
- </p>
-<p>
- So that the return type is known. Further, the template argument must
- be a real-valued type such as <code class="computeroutput"><span class="keyword">float</span></code>
- or <code class="computeroutput"><span class="keyword">double</span></code> and not an integer
- type - that would overflow far too easily!
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.special.factorials.sf_binomial.h0"></a>
- <span><a name="math_toolkit.special.factorials.sf_binomial.accuracy"></a></span><a class="link" href="sf_binomial.html#math_toolkit.special.factorials.sf_binomial.accuracy">Accuracy</a>
- </h5>
-<p>
- The accuracy will be the same as for the factorials for small arguments
- (i.e. no more than one or two epsilon), and the <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>
- function for larger arguments.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_binomial.h1"></a>
- <span><a name="math_toolkit.special.factorials.sf_binomial.testing"></a></span><a class="link" href="sf_binomial.html#math_toolkit.special.factorials.sf_binomial.testing">Testing</a>
- </h5>
-<p>
- The spot tests for the binomial coefficients use data generated by functions.wolfram.com.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_binomial.h2"></a>
- <span><a name="math_toolkit.special.factorials.sf_binomial.implementation"></a></span><a class="link" href="sf_binomial.html#math_toolkit.special.factorials.sf_binomial.implementation">Implementation</a>
- </h5>
-<p>
- Binomial coefficients are calculated using table lookup of factorials where
- possible using:
- </p>
-<p>
- <sub>n</sub>C<sub>k</sub> = n! / (k!(n-k)!)
- </p>
-<p>
- Otherwise it is implemented in terms of the beta function using the relations:
- </p>
-<p>
- <sub>n</sub>C<sub>k</sub> = 1 / (k * <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>(k,
- n-k+1))
- </p>
-<p>
- and
- </p>
-<p>
- <sub>n</sub>C<sub>k</sub> = 1 / ((n-k) * <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>(k+1,
- n-k))
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_falling_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_double_factorial.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_double_factorial.html
deleted file mode 100644
index 779003b067..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_double_factorial.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Double Factorial</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
-<link rel="prev" href="sf_factorial.html" title="Factorial">
-<link rel="next" href="sf_rising_factorial.html" title="Rising Factorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_rising_factorial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_factorials_sf_double_factorial">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.factorials.sf_double_factorial"></a><a class="link" href="sf_double_factorial.html" title="Double Factorial">Double
- Factorial</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">double_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">double_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns <code class="literal">i!!</code>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- May return the result of <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>
- if the result is too large to represent in type T. The implementation is
- designed to be optimised for small <span class="emphasis"><em>i</em></span> where table lookup
- of i! is possible.
- </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The functions described above are templates where the template argument
- T can not be deduced from the arguments passed to the function. Therefore
- if you write something like:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_factorial</span><span class="special">(</span><span class="number">2</span><span class="special">);</span></code>
- </p>
-<p>
- You will get a (possibly perplexing) compiler error, ususally indicating
- that there is no such function to be found. Instead you need to specifiy
- the return type explicity and write:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">double_factorial</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">);</span></code>
- </p>
-<p>
- So that the return type is known. Further, the template argument must
- be a real-valued type such as <code class="computeroutput"><span class="keyword">float</span></code>
- or <code class="computeroutput"><span class="keyword">double</span></code> and not an integer
- type - that would overflow far too easily!
- </p>
-<p>
- The source code <code class="computeroutput"><span class="identifier">static_assert</span></code>
- and comment just after the will be:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(!</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">);</span>
-<span class="comment">// factorial&lt;unsigned int&gt;(n) is not implemented</span>
-<span class="comment">// because it would overflow integral type T for too small n</span>
-<span class="comment">// to be useful. Use instead a floating-point type,</span>
-<span class="comment">// and convert to an unsigned type if essential, for example:</span>
-<span class="comment">// unsigned int nfac = static_cast&lt;unsigned int&gt;(factorial&lt;double&gt;(n));</span>
-<span class="comment">// See factorial documentation for more detail.</span>
-</pre>
-<p>
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.special.factorials.sf_double_factorial.h0"></a>
- <span><a name="math_toolkit.special.factorials.sf_double_factorial.accuracy"></a></span><a class="link" href="sf_double_factorial.html#math_toolkit.special.factorials.sf_double_factorial.accuracy">Accuracy</a>
- </h5>
-<p>
- The implementation uses a trivial adaptation of the factorial function,
- so error rates should be no more than a couple of epsilon higher.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_double_factorial.h1"></a>
- <span><a name="math_toolkit.special.factorials.sf_double_factorial.testing"></a></span><a class="link" href="sf_double_factorial.html#math_toolkit.special.factorials.sf_double_factorial.testing">Testing</a>
- </h5>
-<p>
- The spot tests for the double factorial use data generated by functions.wolfram.com.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_double_factorial.h2"></a>
- <span><a name="math_toolkit.special.factorials.sf_double_factorial.implementation"></a></span><a class="link" href="sf_double_factorial.html#math_toolkit.special.factorials.sf_double_factorial.implementation">Implementation</a>
- </h5>
-<p>
- The double factorial is implemented in terms of the factorial and gamma
- functions using the relations:
- </p>
-<p>
- (2n)!! = 2<sup>n </sup> * n!
- </p>
-<p>
- (2n+1)!! = (2n+1)! / (2<sup>n </sup> n!)
- </p>
-<p>
- and
- </p>
-<p>
- (2n-1)!! = &#915;((2n+1)/2) * 2<sup>n </sup> / sqrt(pi)
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_rising_factorial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_factorial.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_factorial.html
deleted file mode 100644
index d4731e1408..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_factorial.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Factorial</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
-<link rel="prev" href="../factorials.html" title="Factorials and Binomial Coefficients">
-<link rel="next" href="sf_double_factorial.html" title="Double Factorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../factorials.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_double_factorial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_factorials_sf_factorial">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.factorials.sf_factorial"></a><a class="link" href="sf_factorial.html" title="Factorial">Factorial</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.factorials.sf_factorial.h0"></a>
- <span><a name="math_toolkit.special.factorials.sf_factorial.synopsis"></a></span><a class="link" href="sf_factorial.html#math_toolkit.special.factorials.sf_factorial.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">unchecked_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">max_factorial</span><span class="special">;</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.factorials.sf_factorial.h1"></a>
- <span><a name="math_toolkit.special.factorials.sf_factorial.description"></a></span><a class="link" href="sf_factorial.html#math_toolkit.special.factorials.sf_factorial.description">Description</a>
- </h5>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The functions described below are templates where the template argument
- T CANNOT be deduced from the arguments passed to the function. Therefore
- if you write something like:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">factorial</span><span class="special">(</span><span class="number">2</span><span class="special">);</span></code>
- </p>
-<p>
- You will get a (perhaps perplexing) compiler error, ususally indicating
- that there is no such function to be found. Instead you need to specify
- the return type explicity and write:
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">factorial</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="number">2</span><span class="special">);</span></code>
- </p>
-<p>
- So that the return type is known.
- </p>
-<p>
- Furthermore, the template argument must be a real-valued type such as
- <code class="computeroutput"><span class="keyword">float</span></code> or <code class="computeroutput"><span class="keyword">double</span></code>
- and not an integer type - that would overflow far too easily for quite
- small values of parameter <code class="computeroutput"><span class="identifier">i</span></code>!
- </p>
-<p>
- The source code <code class="computeroutput"><span class="identifier">static_assert</span></code>
- and comment just after the will be:
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(!</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">);</span>
-<span class="comment">// factorial&lt;unsigned int&gt;(n) is not implemented</span>
-<span class="comment">// because it would overflow integral type T for too small n</span>
-<span class="comment">// to be useful. Use instead a floating-point type,</span>
-<span class="comment">// and convert to an unsigned type if essential, for example:</span>
-<span class="comment">// unsigned int nfac = static_cast&lt;unsigned int&gt;(factorial&lt;double&gt;(n));</span>
-<span class="comment">// See factorial documentation for more detail.</span>
-</pre>
-<p>
- </p>
-</td></tr>
-</table></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns <code class="literal">i!</code>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- For <code class="literal">i &lt;= max_factorial&lt;T&gt;::value</code> this is implemented
- by table lookup, for larger values of <code class="literal">i</code>, this function
- is implemented in terms of <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a>.
- </p>
-<p>
- If <code class="literal">i</code> is so large that the result can not be represented
- in type T, then calls <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">unchecked_factorial</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
-</pre>
-<p>
- Returns <code class="literal">i!</code>.
- </p>
-<p>
- Internally this function performs table lookup of the result. Further it
- performs no range checking on the value of i: it is up to the caller to
- ensure that <code class="literal">i &lt;= max_factorial&lt;T&gt;::value</code>. This
- function is intended to be used inside inner loops that require fast table
- lookup of factorials, but requires care to ensure that argument <code class="literal">i</code>
- never grows too large.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">max_factorial</span>
-<span class="special">{</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">unsigned</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">X</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- This traits class defines the largest value that can be passed to <code class="literal">unchecked_factorial</code>.
- The member <code class="computeroutput"><span class="identifier">value</span></code> can be
- used where integral constant expressions are required: for example to define
- the size of further tables that depend on the factorials.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_factorial.h2"></a>
- <span><a name="math_toolkit.special.factorials.sf_factorial.accuracy"></a></span><a class="link" href="sf_factorial.html#math_toolkit.special.factorials.sf_factorial.accuracy">Accuracy</a>
- </h5>
-<p>
- For arguments smaller than <code class="computeroutput"><span class="identifier">max_factorial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value</span></code>
- the result should be correctly rounded. For larger arguments the accuracy
- will be the same as for <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_factorial.h3"></a>
- <span><a name="math_toolkit.special.factorials.sf_factorial.testing"></a></span><a class="link" href="sf_factorial.html#math_toolkit.special.factorials.sf_factorial.testing">Testing</a>
- </h5>
-<p>
- Basic sanity checks and spot values to verify the data tables: the main
- tests for the <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a>
- function handle those cases already.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_factorial.h4"></a>
- <span><a name="math_toolkit.special.factorials.sf_factorial.implementation"></a></span><a class="link" href="sf_factorial.html#math_toolkit.special.factorials.sf_factorial.implementation">Implementation</a>
- </h5>
-<p>
- The factorial function is table driven for small arguments, and is implemented
- in terms of <a class="link" href="../sf_gamma/tgamma.html" title="Gamma">tgamma</a>
- for larger arguments.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../factorials.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_double_factorial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_falling_factorial.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_falling_factorial.html
deleted file mode 100644
index 3dcb4d48af..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_falling_factorial.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Falling Factorial</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
-<link rel="prev" href="sf_rising_factorial.html" title="Rising Factorial">
-<link rel="next" href="sf_binomial.html" title="Binomial Coefficients">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_rising_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_binomial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_factorials_sf_falling_factorial">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.factorials.sf_falling_factorial"></a><a class="link" href="sf_falling_factorial.html" title="Falling Factorial">Falling
- Factorial</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">falling_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">falling_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns the falling factorial of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>i</em></span>:
- </p>
-<p>
- falling_factorial(x, i) = x(x-1)(x-2)(x-3)...(x-i+1)
- </p>
-<p>
- Note that this function is only defined for positive <span class="emphasis"><em>i</em></span>,
- hence the <code class="computeroutput"><span class="keyword">unsigned</span></code> second
- argument. Argument <span class="emphasis"><em>x</em></span> can be either positive or negative
- however.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- May return the result of <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>
- if the result is too large to represent in type T.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the type of the result is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, otherwise
- the type of the result is T.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_falling_factorial.h0"></a>
- <span><a name="math_toolkit.special.factorials.sf_falling_factorial.accuracy"></a></span><a class="link" href="sf_falling_factorial.html#math_toolkit.special.factorials.sf_falling_factorial.accuracy">Accuracy</a>
- </h5>
-<p>
- The accuracy will be the same as the <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
- function.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_falling_factorial.h1"></a>
- <span><a name="math_toolkit.special.factorials.sf_falling_factorial.testing"></a></span><a class="link" href="sf_falling_factorial.html#math_toolkit.special.factorials.sf_falling_factorial.testing">Testing</a>
- </h5>
-<p>
- The spot tests for the falling factorials use data generated by functions.wolfram.com.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_falling_factorial.h2"></a>
- <span><a name="math_toolkit.special.factorials.sf_falling_factorial.implementation"></a></span><a class="link" href="sf_falling_factorial.html#math_toolkit.special.factorials.sf_falling_factorial.implementation">Implementation</a>
- </h5>
-<p>
- Rising and falling factorials are implemented as ratios of gamma functions
- using <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>.
- Optimisations for small integer arguments are handled internally by that
- function.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_rising_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_binomial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_rising_factorial.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_rising_factorial.html
deleted file mode 100644
index 809abcd4dc..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/factorials/sf_rising_factorial.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Rising Factorial</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../factorials.html" title="Factorials and Binomial Coefficients">
-<link rel="prev" href="sf_double_factorial.html" title="Double Factorial">
-<link rel="next" href="sf_falling_factorial.html" title="Falling Factorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_double_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_falling_factorial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_factorials_sf_rising_factorial">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.factorials.sf_rising_factorial"></a><a class="link" href="sf_rising_factorial.html" title="Rising Factorial">Rising
- Factorial</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">factorials</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">rising_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">i</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">rising_factorial</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">i</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns the rising factorial of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>i</em></span>:
- </p>
-<p>
- rising_factorial(x, i) = &#915;(x + i) / &#915;(x);
- </p>
-<p>
- or
- </p>
-<p>
- rising_factorial(x, i) = x(x+1)(x+2)(x+3)...(x+i-1)
- </p>
-<p>
- Note that both <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>i</em></span> can be
- negative as well as positive.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- May return the result of <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>
- if the result is too large to represent in type T.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the type of the result is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, otherwise
- the type of the result is T.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_rising_factorial.h0"></a>
- <span><a name="math_toolkit.special.factorials.sf_rising_factorial.accuracy"></a></span><a class="link" href="sf_rising_factorial.html#math_toolkit.special.factorials.sf_rising_factorial.accuracy">Accuracy</a>
- </h5>
-<p>
- The accuracy will be the same as the <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>
- function.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_rising_factorial.h1"></a>
- <span><a name="math_toolkit.special.factorials.sf_rising_factorial.testing"></a></span><a class="link" href="sf_rising_factorial.html#math_toolkit.special.factorials.sf_rising_factorial.testing">Testing</a>
- </h5>
-<p>
- The spot tests for the rising factorials use data generated by functions.wolfram.com.
- </p>
-<h5>
-<a name="math_toolkit.special.factorials.sf_rising_factorial.h2"></a>
- <span><a name="math_toolkit.special.factorials.sf_rising_factorial.implementation"></a></span><a class="link" href="sf_rising_factorial.html#math_toolkit.special.factorials.sf_rising_factorial.implementation">Implementation</a>
- </h5>
-<p>
- Rising and falling factorials are implemented as ratios of gamma functions
- using <a class="link" href="../sf_gamma/gamma_ratios.html" title="Ratios of Gamma Functions">tgamma_delta_ratio</a>.
- Optimisations for small integer arguments are handled internally by that
- function.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_double_factorial.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../factorials.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_falling_factorial.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel.html
deleted file mode 100644
index c37dc139a7..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Hankel Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">
-<link rel="next" href="hankel/cyl_hankel.html" title="Cyclic Hankel Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bessel/sph_bessel.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hankel/cyl_hankel.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_hankel">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.hankel"></a><a class="link" href="hankel.html" title="Hankel Functions">Hankel Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="hankel/cyl_hankel.html">Cyclic Hankel
- Functions</a></span></dt>
-<dt><span class="section"><a href="hankel/sph_hankel.html">Spherical Hankel
- Functions</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="bessel/sph_bessel.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hankel/cyl_hankel.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html
deleted file mode 100644
index b4e890ea80..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Cyclic Hankel Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../hankel.html" title="Hankel Functions">
-<link rel="prev" href="../hankel.html" title="Hankel Functions">
-<link rel="next" href="sph_hankel.html" title="Spherical Hankel Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../hankel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_hankel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_hankel_cyl_hankel">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.hankel.cyl_hankel"></a><a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">Cyclic Hankel
- Functions</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h0"></a>
- <span><a name="math_toolkit.special.hankel.cyl_hankel.synopsis"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h1"></a>
- <span><a name="math_toolkit.special.hankel.cyl_hankel.description"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.description">Description</a>
- </h5>
-<p>
- The functions <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>
- and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>
- return the result of the <a href="http://dlmf.nist.gov/10.2#P3" target="_top">Hankel
- functions</a> of the first and second kind respectively:
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>cyl_hankel_1(v, x) = H<sub>v</sub><sup>(1)</sup>(x) = J<sub>v</sub>(x) + i Y<sub>v</sub>(x)</em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>cyl_hankel_2(v, x) = H<sub>v</sub><sup>(2)</sup>(x) = J<sub>v</sub>(x) - i Y<sub>v</sub>(x)</em></span>
- </p></blockquote></div>
-<p>
- where:
- </p>
-<p>
- <span class="emphasis"><em>J<sub>v</sub>(x)</em></span> is the Bessel function of the first kind, and
- <span class="emphasis"><em>Y<sub>v</sub>(x)</em></span> is the Bessel function of the second kind.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types.
- The functions are also optimised for the relatively common case that T1
- is an integer.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Note that while the arguments to these functions are real values, the results
- are complex. That means that the functions can only be instantiated on
- types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>. The functions have also
- been extended to operate over the whole range of <span class="emphasis"><em>v</em></span>
- and <span class="emphasis"><em>x</em></span> (unlike <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- and <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>).
- </p>
-<h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h2"></a>
- <span><a name="math_toolkit.special.hankel.cyl_hankel.performance"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.performance">Performance</a>
- </h5>
-<p>
- These functions are generally more efficient than two separate calls to
- the underlying Bessel functions as internally Bessel J and Y can be computed
- simultaneously.
- </p>
-<h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h3"></a>
- <span><a name="math_toolkit.special.hankel.cyl_hankel.testing"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.testing">Testing</a>
- </h5>
-<p>
- There are just a few spot tests to exercise all the special case handling
- - the bulk of the testing is done on the Bessel functions upon which these
- are based.
- </p>
-<h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h4"></a>
- <span><a name="math_toolkit.special.hankel.cyl_hankel.accuracy"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.accuracy">Accuracy</a>
- </h5>
-<p>
- Refer to <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- and <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h5"></a>
- <span><a name="math_toolkit.special.hankel.cyl_hankel.implementation"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.implementation">Implementation</a>
- </h5>
-<p>
- For <span class="emphasis"><em>x &lt; 0</em></span> the following reflection formulae are
- used:
- </p>
-<p>
- <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselJ/16/01/01/" target="_top">
- <span class="inlinemediaobject"><img src="../../../../equations/hankel1.png"></span></a>
- </p>
-<p>
- <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/" target="_top">
- <span class="inlinemediaobject"><img src="../../../../equations/hankel2.png"></span></a>
- </p>
-<p>
- <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/" target="_top">
- <span class="inlinemediaobject"><img src="../../../../equations/hankel3.png"></span></a>
- </p>
-<p>
- Otherwise the implementation is trivially in terms of the Bessel J and
- Y functions.
- </p>
-<p>
- Note however, that the Hankel functions compute the Bessel J and Y functions
- simultaneously, and therefore a single Hankel function call is more efficient
- than two Bessel function calls. The one exception is when <span class="emphasis"><em>v</em></span>
- is a small positive integer, in which case the usual Bessel function routines
- for integer order are used.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../hankel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_hankel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html
deleted file mode 100644
index b7779eddf2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Spherical Hankel Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../hankel.html" title="Hankel Functions">
-<link rel="prev" href="cyl_hankel.html" title="Cyclic Hankel Functions">
-<link rel="next" href="../ellint.html" title="Elliptic Integrals">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cyl_hankel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ellint.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_hankel_sph_hankel">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.hankel.sph_hankel"></a><a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">Spherical Hankel
- Functions</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.hankel.sph_hankel.h0"></a>
- <span><a name="math_toolkit.special.hankel.sph_hankel.synopsis"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.hankel.sph_hankel.h1"></a>
- <span><a name="math_toolkit.special.hankel.sph_hankel.description"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.description">Description</a>
- </h5>
-<p>
- The functions <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a>
- and <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>
- return the result of the <a href="http://dlmf.nist.gov/10.47#P1" target="_top">spherical
- Hankel functions</a> of the first and second kind respectively:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/hankel4.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/hankel5.png"></span>
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types.
- The functions are also optimised for the relatively common case that T1
- is an integer.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Note that while the arguments to these functions are real values, the results
- are complex. That means that the functions can only be instantiated on
- types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>. The functions have also
- been extended to operate over the whole range of <span class="emphasis"><em>v</em></span>
- and <span class="emphasis"><em>x</em></span> (unlike <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- and <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>).
- </p>
-<h5>
-<a name="math_toolkit.special.hankel.sph_hankel.h2"></a>
- <span><a name="math_toolkit.special.hankel.sph_hankel.testing"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.testing">Testing</a>
- </h5>
-<p>
- There are just a few spot tests to exercise all the special case handling
- - the bulk of the testing is done on the Bessel functions upon which these
- are based.
- </p>
-<h5>
-<a name="math_toolkit.special.hankel.sph_hankel.h3"></a>
- <span><a name="math_toolkit.special.hankel.sph_hankel.accuracy"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.accuracy">Accuracy</a>
- </h5>
-<p>
- Refer to <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
- and <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.hankel.sph_hankel.h4"></a>
- <span><a name="math_toolkit.special.hankel.sph_hankel.implementation"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.implementation">Implementation</a>
- </h5>
-<p>
- These functions are trivially implemented in terms of <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>
- and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cyl_hankel.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../hankel.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../ellint.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper.html
deleted file mode 100644
index af3e29f019..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Inverse Hyperbolic Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="sinc/sinhc_pi.html" title="sinhc_pi">
-<link rel="next" href="inv_hyper/inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sinc/sinhc_pi.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inv_hyper/inv_hyper_over.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_inv_hyper">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.inv_hyper"></a><a class="link" href="inv_hyper.html" title="Inverse Hyperbolic Functions">Inverse Hyperbolic Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="inv_hyper/inv_hyper_over.html">Inverse
- Hyperbolic Functions Overview</a></span></dt>
-<dt><span class="section"><a href="inv_hyper/acosh.html">acosh</a></span></dt>
-<dt><span class="section"><a href="inv_hyper/asinh.html">asinh</a></span></dt>
-<dt><span class="section"><a href="inv_hyper/atanh.html">atanh</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sinc/sinhc_pi.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="inv_hyper/inv_hyper_over.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/acosh.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/acosh.html
deleted file mode 100644
index 2140a9e046..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/acosh.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>acosh</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
-<link rel="prev" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">
-<link rel="next" href="asinh.html" title="asinh">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inv_hyper_over.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_inv_hyper_acosh">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.inv_hyper.acosh"></a><a class="link" href="acosh.html" title="acosh">acosh</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">acosh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Computes the reciprocal of (the restriction to the range of <code class="literal">[0;+&#8734;[</code>)
- <a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">the hyperbolic
- cosine function</a>, at x. Values returned are positive.
- </p>
-<p>
- If x is in the range <code class="literal">]-&#8734;;+1[</code> then returns the result
- of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and T
- otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/acosh.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.acosh.h0"></a>
- <span><a name="math_toolkit.special.inv_hyper.acosh.accuracy"></a></span><a class="link" href="acosh.html#math_toolkit.special.inv_hyper.acosh.accuracy">Accuracy</a>
- </h5>
-<p>
- Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.acosh.h1"></a>
- <span><a name="math_toolkit.special.inv_hyper.acosh.testing"></a></span><a class="link" href="acosh.html#math_toolkit.special.inv_hyper.acosh.testing">Testing</a>
- </h5>
-<p>
- This function is tested using a combination of random test values designed
- to give full function coverage computed at high precision using the "naive"
- formula:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/acosh1.png"></span>
- </p>
-<p>
- along with a selection of sanity check values computed using functions.wolfram.com
- to at least 50 decimal digits.
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.acosh.h2"></a>
- <span><a name="math_toolkit.special.inv_hyper.acosh.implementation"></a></span><a class="link" href="acosh.html#math_toolkit.special.inv_hyper.acosh.implementation">Implementation</a>
- </h5>
-<p>
- For sufficiently large x, we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/06/01/0001/" target="_top">approximation</a>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/acosh2.png"></span>
- </p>
-<p>
- For x sufficiently close to 1 we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/04/01/0001/" target="_top">approximation</a>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/acosh4.png"></span>
- </p>
-<p>
- Otherwise for x close to 1 we can use the following rearrangement of the
- primary definition to preserve accuracy:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/acosh3.png"></span>
- </p>
-<p>
- Otherwise the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcCosh/02/" target="_top">primary
- definition</a> is used:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/acosh1.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inv_hyper_over.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="asinh.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/asinh.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/asinh.html
deleted file mode 100644
index a1d386ffc4..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/asinh.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>asinh</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
-<link rel="prev" href="acosh.html" title="acosh">
-<link rel="next" href="atanh.html" title="atanh">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acosh.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_inv_hyper_asinh">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.inv_hyper.asinh"></a><a class="link" href="asinh.html" title="asinh">asinh</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">asinh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Computes the reciprocal of <a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">the
- hyperbolic sine function</a>.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and T
- otherwise.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/asinh.png" align="middle"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.asinh.h0"></a>
- <span><a name="math_toolkit.special.inv_hyper.asinh.accuracy"></a></span><a class="link" href="asinh.html#math_toolkit.special.inv_hyper.asinh.accuracy">Accuracy</a>
- </h5>
-<p>
- Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.asinh.h1"></a>
- <span><a name="math_toolkit.special.inv_hyper.asinh.testing"></a></span><a class="link" href="asinh.html#math_toolkit.special.inv_hyper.asinh.testing">Testing</a>
- </h5>
-<p>
- This function is tested using a combination of random test values designed
- to give full function coverage computed at high precision using the "naive"
- formula:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/asinh1.png"></span>
- </p>
-<p>
- along with a selection of sanity check values computed using functions.wolfram.com
- to at least 50 decimal digits.
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.asinh.h2"></a>
- <span><a name="math_toolkit.special.inv_hyper.asinh.implementation"></a></span><a class="link" href="asinh.html#math_toolkit.special.inv_hyper.asinh.implementation">Implementation</a>
- </h5>
-<p>
- For sufficiently large x we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/06/01/0001/" target="_top">approximation</a>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/asinh2.png"></span>
- </p>
-<p>
- While for very small x we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/03/01/0001/" target="_top">approximation</a>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/asinh3.png"></span>
- </p>
-<p>
- For 0.5 &gt; x &gt; &#949; the following rearrangement of the primary definition
- is used:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/asinh4.png"></span>
- </p>
-<p>
- Otherwise evalution is via the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcSinh/02/" target="_top">primary
- definition</a>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/asinh4.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="acosh.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="atanh.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/atanh.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/atanh.html
deleted file mode 100644
index 6df001bed1..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/atanh.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>atanh</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
-<link rel="prev" href="asinh.html" title="asinh">
-<link rel="next" href="../owens_t.html" title="Owen's T function">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="asinh.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../owens_t.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_inv_hyper_atanh">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.inv_hyper.atanh"></a><a class="link" href="atanh.html" title="atanh">atanh</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">atanh</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Computes the reciprocal of <a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">the
- hyperbolic tangent function</a>, at x.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- If x is in the range <code class="literal">]-&#8734;;-1[</code> or in the range <code class="literal">]+1;+&#8734;[</code>
- then returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- If x is in the range <code class="literal">[-1;-1+&#949;[</code>, then the result of -<a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a> is returned, with &#949; &#160;
-denoting
- numeric_limits&lt;T&gt;::epsilon().
- </p>
-<p>
- If x is in the range <code class="literal">]+1-&#949;;+1]</code>, then the result of <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a> is returned, with &#949; &#160;
-denoting
- numeric_limits&lt;T&gt;::epsilon().
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and T
- otherwise.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/atanh.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.atanh.h0"></a>
- <span><a name="math_toolkit.special.inv_hyper.atanh.accuracy"></a></span><a class="link" href="atanh.html#math_toolkit.special.inv_hyper.atanh.accuracy">Accuracy</a>
- </h5>
-<p>
- Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.atanh.h1"></a>
- <span><a name="math_toolkit.special.inv_hyper.atanh.testing"></a></span><a class="link" href="atanh.html#math_toolkit.special.inv_hyper.atanh.testing">Testing</a>
- </h5>
-<p>
- This function is tested using a combination of random test values designed
- to give full function coverage computed at high precision using the "naive"
- formula:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/atanh1.png"></span>
- </p>
-<p>
- along with a selection of sanity check values computed using functions.wolfram.com
- to at least 50 decimal digits.
- </p>
-<h5>
-<a name="math_toolkit.special.inv_hyper.atanh.h2"></a>
- <span><a name="math_toolkit.special.inv_hyper.atanh.implementation"></a></span><a class="link" href="atanh.html#math_toolkit.special.inv_hyper.atanh.implementation">Implementation</a>
- </h5>
-<p>
- For sufficiently small x we can use the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcTanh/06/01/03/01/" target="_top">approximation</a>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/atanh2.png"></span>
- </p>
-<p>
- Otherwise the <a href="http://functions.wolfram.com/ElementaryFunctions/ArcTanh/02/" target="_top">primary
- definition</a>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/atanh1.png"></span>
- </p>
-<p>
- or its equivalent form:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/atanh3.png"></span>
- </p>
-<p>
- is used.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="asinh.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../owens_t.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/inv_hyper_over.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/inv_hyper_over.html
deleted file mode 100644
index d6579df647..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/inv_hyper/inv_hyper_over.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Inverse Hyperbolic Functions Overview</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
-<link rel="prev" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
-<link rel="next" href="acosh.html" title="acosh">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_inv_hyper_inv_hyper_over">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.inv_hyper.inv_hyper_over"></a><a class="link" href="inv_hyper_over.html" title="Inverse Hyperbolic Functions Overview">Inverse
- Hyperbolic Functions Overview</a>
-</h4></div></div></div>
-<p>
- The exponential funtion is defined, for all objects for which this makes
- sense, as the power series <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb1.png"></span>,
- with <span class="emphasis"><em><code class="literal">n! = 1x2x3x4x5...xn</code></em></span> (and
- <span class="emphasis"><em><code class="literal">0! = 1</code></em></span> by definition) being the
- factorial of <span class="emphasis"><em><code class="literal">n</code></em></span>. In particular,
- the exponential function is well defined for real numbers, complex number,
- quaternions, octonions, and matrices of complex numbers, among others.
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em><span class="bold"><strong>Graph of exp on R</strong></span></em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="inlinemediaobject"><img src="../../../../graphs/exp_on_r.png" alt="exp_on_r"></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em><span class="bold"><strong>Real and Imaginary parts of exp on C</strong></span></em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="inlinemediaobject"><img src="../../../../graphs/im_exp_on_c.png" alt="im_exp_on_c"></span>
- </p></blockquote></div>
-<p>
- The hyperbolic functions are defined as power series which can be computed
- (for reals, complex, quaternions and octonions) as:
- </p>
-<p>
- Hyperbolic cosine: <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb5.png"></span>
- </p>
-<p>
- Hyperbolic sine: <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb6.png"></span>
- </p>
-<p>
- Hyperbolic tangent: <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb7.png"></span>
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em><span class="bold"><strong>Trigonometric functions on R (cos: purple;
- sin: red; tan: blue)</strong></span></em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="inlinemediaobject"><img src="../../../../graphs/trigonometric.png" alt="trigonometric"></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em><span class="bold"><strong>Hyperbolic functions on r (cosh: purple;
- sinh: red; tanh: blue)</strong></span></em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="inlinemediaobject"><img src="../../../../graphs/hyperbolic.png" alt="hyperbolic"></span>
- </p></blockquote></div>
-<p>
- The hyperbolic sine is one to one on the set of real numbers, with range
- the full set of reals, while the hyperbolic tangent is also one to one
- on the set of real numbers but with range <code class="literal">[0;+&#8734;[</code>, and
- therefore both have inverses. The hyperbolic cosine is one to one from
- <code class="literal">]-&#8734;;+1[</code> onto <code class="literal">]-&#8734;;-1[</code> (and from <code class="literal">]+1;+&#8734;[</code>
- onto <code class="literal">]-&#8734;;-1[</code>); the inverse function we use here is defined
- on <code class="literal">]-&#8734;;-1[</code> with range <code class="literal">]-&#8734;;+1[</code>.
- </p>
-<p>
- The inverse of the hyperbolic tangent is called the Argument hyperbolic
- tangent, and can be computed as <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb15.png"></span>.
- </p>
-<p>
- The inverse of the hyperbolic sine is called the Argument hyperbolic sine,
- and can be computed (for <code class="literal">[-1;-1+&#949;[</code>) as <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb17.png"></span>.
- </p>
-<p>
- The inverse of the hyperbolic cosine is called the Argument hyperbolic
- cosine, and can be computed as <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb18.png"></span>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acosh.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/owens_t.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/owens_t.html
deleted file mode 100644
index a80c5febaf..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/owens_t.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Owen's T function</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="inv_hyper/atanh.html" title="atanh">
-<link rel="next" href="../utils.html" title="Floating Point Utilities">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inv_hyper/atanh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../utils.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_owens_t">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.owens_t"></a><a class="link" href="owens_t.html" title="Owen's T function">Owen's T function</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.special.owens_t.h0"></a>
- <span><a name="math_toolkit.special.owens_t.synopsis"></a></span><a class="link" href="owens_t.html#math_toolkit.special.owens_t.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">owens_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">owens_t</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">h</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">owens_t</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">h</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.owens_t.h1"></a>
- <span><a name="math_toolkit.special.owens_t.description"></a></span><a class="link" href="owens_t.html#math_toolkit.special.owens_t.description">Description</a>
- </h5>
-<p>
- Returns the <a href="http://en.wikipedia.org/wiki/Owen%27s_T_function" target="_top">Owens_t
- function</a> of <span class="emphasis"><em>h</em></span> and <span class="emphasis"><em>a</em></span>.
- </p>
-<p>
- The final <a class="link" href="../policy.html" title="Policies">Policy</a> argument is optional
- and can be used to control the behaviour of the function: how it handles
- errors, what level of precision to use etc. Refer to the <a class="link" href="../policy.html" title="Policies">policy
- documentation for more details</a>.
- </p>
-<p>
- &#8198; &#8198; <span class="inlinemediaobject"><img src="../../../equations/owens_t.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/plot_owens_t.png" alt="plot_owens_t"></span>
- </p>
-<p>
- The function <code class="computeroutput"><span class="identifier">owens_t</span><span class="special">(</span><span class="identifier">h</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code> gives the probability of the event <span class="emphasis"><em>(X
- &gt; h and 0 &lt; Y &lt; a * X)</em></span>, where <span class="emphasis"><em>X</em></span>
- and <span class="emphasis"><em>Y</em></span> are independent standard normal random variables.
- </p>
-<p>
- For h and a &gt; 0, T(h,a), gives the volume of an uncorrelated bivariate
- normal distribution with zero means and unit variances over the area between
- <span class="emphasis"><em>y = ax</em></span> and <span class="emphasis"><em>y = 0</em></span> and to the right
- of <span class="emphasis"><em>x = h</em></span>.
- </p>
-<p>
- That is the area shaded in the figure below (Owens 1956).
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/owens_integration_area.png" align="middle"></span>
- </p>
-<p>
- and is also illustrated by a 3D plot.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../graphs/plot_owens_3d_xyp.png" alt="plot_owens_3d_xyp"></span>
- </p>
-<p>
- This function is used in the computation of the <a class="link" href="../dist/dist_ref/dists/skew_normal_dist.html" title="Skew Normal Distribution">Skew
- Normal Distribution</a>. It is also used in the computation of bivariate
- and multivariate normal distribution probabilities. The return type of this
- function is computed using the <a class="link" href="../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the result is of type <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and type
- T otherwise.
- </p>
-<p>
- Owen's original paper (page 1077) provides some additional corner cases.
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>T(h, 0) = 0</em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>T(0, a) = &#189;&#960; arctan(a)</em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>T(h, 1) = &#189; G(h) [1 - G(h)]</em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>T(h, &#8734;) = G(|h|)</em></span>
- </p></blockquote></div>
-<p>
- where G(h) is the univariate normal with zero mean and unit variance integral
- from -&#8734; to h.
- </p>
-<h5>
-<a name="math_toolkit.special.owens_t.h2"></a>
- <span><a name="math_toolkit.special.owens_t.accuracy"></a></span><a class="link" href="owens_t.html#math_toolkit.special.owens_t.accuracy">Accuracy</a>
- </h5>
-<p>
- Over the built-in types and range tested, errors are less than 10 * std::numeric_limits&lt;RealType&gt;::epsilon().
- </p>
-<h5>
-<a name="math_toolkit.special.owens_t.h3"></a>
- <span><a name="math_toolkit.special.owens_t.testing"></a></span><a class="link" href="owens_t.html#math_toolkit.special.owens_t.testing">Testing</a>
- </h5>
-<p>
- Test data was generated by Patefield and Tandy algorithms T1 and T4, and
- also the suggested reference routine T7.
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- T1 was rejected if the result was too small compared to <code class="computeroutput"><span class="identifier">atan</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>
- (ie cancellation),
- </li>
-<li class="listitem">
- T4 was rejected if there was no convergence,
- </li>
-<li class="listitem">
- Both were rejected if they didn't agree.
- </li>
-</ul></div>
-<p>
- Over the built-in types and range tested, errors are less than 10 std::numeric_limits&lt;RealType&gt;::epsilon().
- </p>
-<p>
- However, that there was a whole domain (large <span class="emphasis"><em>h</em></span>, small
- <span class="emphasis"><em>a</em></span>) where it was not possible to generate any reliable
- test values (all the methods got rejected for one reason or another).
- </p>
-<p>
- There are also two sets of sanity tests: spot values are computed using
- <a href="http://www.wolfram.com/products/mathematica/index.html" target="_top">Wolfram
- Mathematica</a> and <a href="http://www.r-project.org/" target="_top">The R Project
- for Statistical Computing</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.owens_t.h4"></a>
- <span><a name="math_toolkit.special.owens_t.implementation"></a></span><a class="link" href="owens_t.html#math_toolkit.special.owens_t.implementation">Implementation</a>
- </h5>
-<p>
- The function was proposed and evaluated by <a href="http://projecteuclid.org/DPubS?service=UI&amp;version=1.0&amp;verb=Display&amp;handle=euclid.aoms/1177728074" target="_top">Donald.
- B. Owen, Tables for computing bivariate normal probabilities, Ann. Math.
- Statist., 27, 1075-1090 (1956)</a>.
- </p>
-<p>
- The algorithms of Patefield, M. and Tandy, D. "Fast and accurate Calculation
- of Owen's T-Function", Journal of Statistical Software, 5 (5), 1 - 25
- (2000) are adapted for C++ with arbitrary RealType.
- </p>
-<p>
- The Patefield-Tandy algorithm provides six methods of evalualution (T1 to
- T6); the best method is selected according to the values of <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>h</em></span>. See the original paper and the source in <a href="../../../../../../../boost/math/special_functions/owens_t.hpp" target="_top">owens_t.hpp</a>
- for details.
- </p>
-<p>
- The Patefield-Tandy algorithm is accurate to approximately 20 decimal places,
- so for types with greater precision we use:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- A modified version of T1 which folds the calculation of <span class="emphasis"><em>atan(h)</em></span>
- into the T1 series (to avoid subtracting two values similar in magnitude),
- and then accelerates the resulting alternating series using method 1
- from H. Cohen, F. Rodriguez Villegas, D. Zagier, "Convergence acceleration
- of alternating series", Bonn, (1991). The result is valid everywhere,
- but doesn't always converge, or may become too divergent in the first
- few terms to sum accurately. This is used for <span class="emphasis"><em>ah &lt; 1</em></span>.
- </li>
-<li class="listitem">
- A modified version of T2 which is accelerated in the same manner as T1.
- This is used for <span class="emphasis"><em>h &gt; 1</em></span>.
- </li>
-<li class="listitem">
- A version of T4 only when both T1 and T2 have failed to produce an accurate
- answer.
- </li>
-<li class="listitem">
- Fallback to the Patefiled Tandy algorithm when all the above methods
- fail: this happens not at all for our test data at 100 decimal digits
- precision. However, there is a difficult area when <span class="emphasis"><em>a</em></span>
- is very close to 1 and the precision increases which may cause this to
- happen in very exceptional circumstances.
- </li>
-</ul></div>
-<p>
- Using the above algorithm and a 100-decimal digit type, results accurate
- to 80 decimal places were obtained in the difficult area where <span class="emphasis"><em>a</em></span>
- is close to 1, and greater than 95 decimal places elsewhere.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="inv_hyper/atanh.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../utils.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers.html
deleted file mode 100644
index 19307c0125..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Logs, Powers, Roots and Exponentials</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="expint/expint_i.html" title="Exponential Integral Ei">
-<link rel="next" href="powers/log1p.html" title="log1p">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="expint/expint_i.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powers/log1p.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.powers"></a><a class="link" href="powers.html" title="Logs, Powers, Roots and Exponentials">Logs, Powers, Roots and
- Exponentials</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="powers/log1p.html">log1p</a></span></dt>
-<dt><span class="section"><a href="powers/expm1.html">expm1</a></span></dt>
-<dt><span class="section"><a href="powers/cbrt.html">cbrt</a></span></dt>
-<dt><span class="section"><a href="powers/sqrt1pm1.html">sqrt1pm1</a></span></dt>
-<dt><span class="section"><a href="powers/powm1.html">powm1</a></span></dt>
-<dt><span class="section"><a href="powers/hypot.html">hypot</a></span></dt>
-<dt><span class="section"><a href="powers/ct_pow.html">Compile Time Power
- of a Runtime Base</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="expint/expint_i.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powers/log1p.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html
deleted file mode 100644
index 15be4ffa1d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>cbrt</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="prev" href="expm1.html" title="expm1">
-<link rel="next" href="sqrt1pm1.html" title="sqrt1pm1">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="expm1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sqrt1pm1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers_cbrt">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.powers.cbrt"></a><a class="link" href="cbrt.html" title="cbrt">cbrt</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">cbrt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns the cubed root of x: x<sup>1/3</sup>.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
- when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Implemented using Halley iteration.
- </p>
-<p>
- The following graph illustrates the behaviour of cbrt:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/cbrt.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.powers.cbrt.h0"></a>
- <span><a name="math_toolkit.special.powers.cbrt.accuracy"></a></span><a class="link" href="cbrt.html#math_toolkit.special.powers.cbrt.accuracy">Accuracy</a>
- </h5>
-<p>
- For built in floating-point types <code class="computeroutput"><span class="identifier">cbrt</span></code>
- should have approximately 2 epsilon accuracy.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.cbrt.h1"></a>
- <span><a name="math_toolkit.special.powers.cbrt.testing"></a></span><a class="link" href="cbrt.html#math_toolkit.special.powers.cbrt.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot test sanity checks, and random high precision test values
- calculated using NTL::RR at 1000-bit precision.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="expm1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sqrt1pm1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html
deleted file mode 100644
index af35730140..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html
+++ /dev/null
@@ -1,264 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Compile Time Power of a Runtime Base</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="prev" href="hypot.html" title="hypot">
-<link rel="next" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hypot.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sinc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers_ct_pow">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.powers.ct_pow"></a><a class="link" href="ct_pow.html" title="Compile Time Power of a Runtime Base">Compile Time Power
- of a Runtime Base</a>
-</h4></div></div></div>
-<p>
- The <code class="computeroutput"><span class="identifier">pow</span></code> function effectively
- computes the compile-time integral power of a run-time base.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.ct_pow.h0"></a>
- <span><a name="math_toolkit.special.powers.ct_pow.synopsis"></a></span><a class="link" href="ct_pow.html#math_toolkit.special.powers.ct_pow.synopsis">Synopsis</a>
- </h5>
-<p>
- <a href="../../../../../../../../boost/math/special_functions/pow.hpp" target="_top"><code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">pow</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code></a>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">base</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">pow</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">base</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">policy</span><span class="special">);</span>
-
-<span class="special">}}</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.powers.ct_pow.h1"></a>
- <span><a name="math_toolkit.special.powers.ct_pow.rationale_and_usage"></a></span><a class="link" href="ct_pow.html#math_toolkit.special.powers.ct_pow.rationale_and_usage">Rationale
- and Usage</a>
- </h5>
-<p>
- Computing the power of a number with an exponent that is known at compile
- time is a common need for programmers. In such cases, the usual method
- is to avoid the overhead implied by the <code class="computeroutput"><span class="identifier">pow</span></code>,
- <code class="computeroutput"><span class="identifier">powf</span></code> and <code class="computeroutput"><span class="identifier">powl</span></code> C functions by hardcoding an expression
- such as:
- </p>
-<pre class="programlisting"><span class="comment">// Hand-written 8th power of a 'base' variable</span>
-<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">;</span>
-</pre>
-<p>
- However, this kind of expression is not really readable (knowing the value
- of the exponent involves counting the number of occurrences of <span class="emphasis"><em>base</em></span>),
- error-prone (it's easy to forget an occurrence), syntactically bulky, and
- non-optimal in terms of performance.
- </p>
-<p>
- The pow function of Boost.Math helps writing this kind expression along
- with solving all the problems listed above:
- </p>
-<pre class="programlisting"><span class="comment">// 8th power of a 'base' variable using math::pow</span>
-<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;</span><span class="number">8</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">);</span>
-</pre>
-<p>
- The expression is now shorter, easier to read, safer, and even faster.
- Indeed, <code class="computeroutput"><span class="identifier">pow</span></code> will compute
- the expression such that only log2(N) products are made for a power of
- N. For instance in the example above, the resulting expression will be
- the same as if we had written this, with only one computation of each identical
- subexpression:
- </p>
-<pre class="programlisting"><span class="comment">// Internal effect of pow&lt;8&gt;(base)</span>
-<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="special">((</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">)*(</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">))*((</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">)*(</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">));</span>
-</pre>
-<p>
- Only 3 different products were actually computed.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.ct_pow.h2"></a>
- <span><a name="math_toolkit.special.powers.ct_pow.return_type"></a></span><a class="link" href="ct_pow.html#math_toolkit.special.powers.ct_pow.return_type">Return
- Type</a>
- </h5>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>. For example:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- If T is a <code class="computeroutput"><span class="keyword">float</span></code>, the return
- type is a <code class="computeroutput"><span class="keyword">float</span></code>.
- </li>
-<li class="listitem">
- If T is a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>,
- the return type is a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
- </li>
-<li class="listitem">
- Otherwise, the return type is a <code class="computeroutput"><span class="keyword">double</span></code>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.special.powers.ct_pow.h3"></a>
- <span><a name="math_toolkit.special.powers.ct_pow.policies"></a></span><a class="link" href="ct_pow.html#math_toolkit.special.powers.ct_pow.policies">Policies</a>
- </h5>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.ct_pow.h4"></a>
- <span><a name="math_toolkit.special.powers.ct_pow.error_handling"></a></span><a class="link" href="ct_pow.html#math_toolkit.special.powers.ct_pow.error_handling">Error
- Handling</a>
- </h5>
-<p>
- Two cases of errors can occur when using <code class="computeroutput"><span class="identifier">pow</span></code>:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- In case of null base and negative exponent, an <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>
- occurs since this operation is a division by 0 (it equals to 1/0).
- </li>
-<li class="listitem">
- In case of null base and null exponent, an <a class="link" href="../../main_overview/error_handling.html#indeterminate_result_error">indeterminate_result_error</a>
- occurs since the result of this operation is indeterminate. Those errors
- follow the <a class="link" href="../../main_overview/error_handling.html" title="Error Handling">general
- policies of error handling in Boost.Math</a>.
- </li>
-</ul></div>
-<p>
- The default overflow error policy is <code class="computeroutput"><span class="identifier">throw_on_error</span></code>.
- A call like <code class="computeroutput"><span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">2</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">)</span></code> will thus throw a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code>
- exception. As shown in the link given above, other error handling policies
- can be used:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">errno_on_error</span></code>: Sets
- <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">ignore_error</span></code>: Returns
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">user_error</span></code>: Returns
- the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_overflow_error</span></code>:
- this function must be defined by the user.
- </li>
-</ul></div>
-<p>
- The default indeterminate result error policy is <code class="computeroutput"><span class="identifier">ignore_error</span></code>,
- which for this function returns 1 since it's the most commonly chosen result
- for a power of 0. Here again, other error handling policies can be used:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">throw_on_error</span></code>: Throws
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span></code>
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">errno_on_error</span></code>: Sets
- <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
- to <code class="computeroutput"><span class="identifier">EDOM</span></code> and returns
- 1.
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">user_error</span></code>: Returns
- the result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_indeterminate_result_error</span></code>:
- this function must be defined by the user.
- </li>
-</ul></div>
-<p>
- Here is an example of error handling customization where we want to specify
- the result that has to be returned in case of error. We will thus use the
- <code class="computeroutput"><span class="identifier">user_error</span></code> policy, by passing
- as second argument an instance of an overflow_error policy templated with
- <code class="computeroutput"><span class="identifier">user_error</span></code>:
- </p>
-<pre class="programlisting"><span class="comment">// First we open the boost::math::policies namespace and define the `user_overflow_error`</span>
-<span class="comment">// by making it return the value we want in case of error (-1 here)</span>
-
-<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span> <span class="special">{</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span>
-<span class="special">{</span> <span class="keyword">return</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="special">}</span>
-<span class="special">}}}</span>
-
-
-<span class="comment">// Then we invoke pow and indicate that we want to use the user_error policy</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">5</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;</span> <span class="special">&gt;());</span>
-
-<span class="comment">// We can now test the returned value and treat the special case if needed:</span>
-<span class="keyword">if</span> <span class="special">(</span><span class="identifier">result</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// there was an error, do something...</span>
-<span class="special">}</span>
-</pre>
-<p>
- Another way is to redefine the default <code class="computeroutput"><span class="identifier">overflow_error</span></code>
- policy by using the BOOST_MATH_OVERFLOW_ERROR_POLICY macro. Once the <code class="computeroutput"><span class="identifier">user_overflow_error</span></code> function is defined
- as above, we can achieve the same result like this:
- </p>
-<pre class="programlisting"><span class="comment">// Redefine the default error_overflow policy</span>
-<span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">user_error</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">pow</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="comment">// From this point, passing a policy in argument is no longer needed, a call like this one</span>
-<span class="comment">// will return -1 in case of error:</span>
-
-<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">5</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.powers.ct_pow.h5"></a>
- <span><a name="math_toolkit.special.powers.ct_pow.acknowledgements"></a></span><a class="link" href="ct_pow.html#math_toolkit.special.powers.ct_pow.acknowledgements">Acknowledgements</a>
- </h5>
-<p>
- Bruno Lalande submitted this addition to Boost.Math.
- </p>
-<p>
- Thanks to Joaqu&#237;n L&#243;pez Mu&#241;oz and Scott McMurray for their help in
-improving the implementation.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.ct_pow.h6"></a>
- <span><a name="math_toolkit.special.powers.ct_pow.references"></a></span><a class="link" href="ct_pow.html#math_toolkit.special.powers.ct_pow.references">References</a>
- </h5>
-<p>
- D.E. Knuth, <span class="emphasis"><em>The Art of Computer Programming, Vol. 2: Seminumerical
- Algorithms</em></span>, 2nd ed., Addison-Wesley, Reading, MA, 1981
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hypot.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sinc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html
deleted file mode 100644
index 414973e33a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>expm1</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="prev" href="log1p.html" title="log1p">
-<link rel="next" href="cbrt.html" title="cbrt">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="log1p.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cbrt.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers_expm1">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.powers.expm1"></a><a class="link" href="expm1.html" title="expm1">expm1</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expm1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">expm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns e<sup>x</sup> - 1.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
- when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- For small x, then <code class="computeroutput">e<sup>x</sup></code> is very close to 1, as a result calculating <code class="computeroutput">e<sup>x</sup> - 1</code> results in
- catastrophic cancellation errors when x is small. <code class="computeroutput"><span class="identifier">expm1</span></code>
- calculates <code class="computeroutput">e<sup>x</sup> - 1</code> using rational approximations (for up to 128-bit long doubles),
- otherwise via a series expansion when x is small (giving an accuracy of
- less than 2&#603;).
- </p>
-<p>
- Finally when BOOST_HAS_EXPM1 is defined then the <code class="computeroutput"><span class="keyword">float</span><span class="special">/</span><span class="keyword">double</span><span class="special">/</span><span class="keyword">long</span> <span class="keyword">double</span></code>
- specializations of this template simply forward to the platform's native
- (POSIX) implementation of this function.
- </p>
-<p>
- The following graph illustrates the behaviour of expm1:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/expm1.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.powers.expm1.h0"></a>
- <span><a name="math_toolkit.special.powers.expm1.accuracy"></a></span><a class="link" href="expm1.html#math_toolkit.special.powers.expm1.accuracy">Accuracy</a>
- </h5>
-<p>
- For built in floating point types <code class="computeroutput"><span class="identifier">expm1</span></code>
- should have approximately 1 epsilon accuracy.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.expm1.h1"></a>
- <span><a name="math_toolkit.special.powers.expm1.testing"></a></span><a class="link" href="expm1.html#math_toolkit.special.powers.expm1.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot test sanity checks, and random high precision test values
- calculated using NTL::RR at 1000-bit precision.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="log1p.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cbrt.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html
deleted file mode 100644
index 56a162888f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>hypot</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="prev" href="powm1.html" title="powm1">
-<link rel="next" href="ct_pow.html" title="Compile Time Power of a Runtime Base">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="powm1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ct_pow.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers_hypot">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.powers.hypot"></a><a class="link" href="hypot.html" title="hypot">hypot</a>
-</h4></div></div></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hypot</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hypot</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- <span class="bold"><strong>Effects: </strong></span> computes <span class="inlinemediaobject"><img src="../../../../equations/hypot.png"></span>
-in such a
- way as to avoid undue underflow and overflow.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are of different
- types.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- When calculating <span class="inlinemediaobject"><img src="../../../../equations/hypot.png"></span> it's quite easy for the intermediate terms to
- either overflow or underflow, even though the result is in fact perfectly
- representable.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.hypot.h0"></a>
- <span><a name="math_toolkit.special.powers.hypot.implementation"></a></span><a class="link" href="hypot.html#math_toolkit.special.powers.hypot.implementation">Implementation</a>
- </h5>
-<p>
- The function is even and symmetric in x and y, so first take assume <span class="emphasis"><em>x,y
- &gt; 0</em></span> and <span class="emphasis"><em>x &gt; y</em></span> (we can permute the
- arguments if this is not the case).
- </p>
-<p>
- Then if <span class="emphasis"><em>x * &#949; &#160; &gt;= y</em></span> we can simply return <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- Otherwise the result is given by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/hypot2.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="powm1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ct_pow.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html
deleted file mode 100644
index 3ed0735f8e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>log1p</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="prev" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="next" href="expm1.html" title="expm1">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../powers.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expm1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers_log1p">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.powers.log1p"></a><a class="link" href="log1p.html" title="log1p">log1p</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">log1p</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">log1p</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">log1p</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns the natural logarithm of <code class="computeroutput"><span class="identifier">x</span><span class="special">+</span><span class="number">1</span></code>.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
- when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- There are many situations where it is desirable to compute <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code>. However, for small <code class="computeroutput"><span class="identifier">x</span></code>
- then <code class="computeroutput"><span class="identifier">x</span><span class="special">+</span><span class="number">1</span></code> suffers from catastrophic cancellation
- errors so that <code class="computeroutput"><span class="identifier">x</span><span class="special">+</span><span class="number">1</span> <span class="special">==</span> <span class="number">1</span></code>
- and <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span></code>,
- when in fact for very small x, the best approximation to <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code> would be <code class="computeroutput"><span class="identifier">x</span></code>.
- <code class="computeroutput"><span class="identifier">log1p</span></code> calculates the best
- approximation to <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span></code> using a Taylor series expansion for accuracy
- (less than 2&#603;). Alternatively note that there are faster methods available,
- for example using the equivalence:
- </p>
-<pre class="programlisting"><span class="identifier">log</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">log</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">/</span> <span class="special">((</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span><span class="special">)</span>
-</pre>
-<p>
- However, experience has shown that these methods tend to fail quite spectacularly
- once the compiler's optimizations are turned on, consequently they are
- used only when known not to break with a particular compiler. In contrast,
- the series expansion method seems to be reasonably immune to optimizer-induced
- errors.
- </p>
-<p>
- Finally when BOOST_HAS_LOG1P is defined then the <code class="computeroutput"><span class="keyword">float</span><span class="special">/</span><span class="keyword">double</span><span class="special">/</span><span class="keyword">long</span> <span class="keyword">double</span></code>
- specializations of this template simply forward to the platform's native
- (POSIX) implementation of this function.
- </p>
-<p>
- The following graph illustrates the behaviour of log1p:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/log1p.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.powers.log1p.h0"></a>
- <span><a name="math_toolkit.special.powers.log1p.accuracy"></a></span><a class="link" href="log1p.html#math_toolkit.special.powers.log1p.accuracy">Accuracy</a>
- </h5>
-<p>
- For built in floating point types <code class="computeroutput"><span class="identifier">log1p</span></code>
- should have approximately 1 epsilon accuracy.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.log1p.h1"></a>
- <span><a name="math_toolkit.special.powers.log1p.testing"></a></span><a class="link" href="log1p.html#math_toolkit.special.powers.log1p.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot test sanity checks, and random high precision test values
- calculated using NTL::RR at 1000-bit precision.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../powers.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expm1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html
deleted file mode 100644
index 04cb2a3440..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>powm1</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="prev" href="sqrt1pm1.html" title="sqrt1pm1">
-<link rel="next" href="hypot.html" title="hypot">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sqrt1pm1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypot.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers_powm1">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.powers.powm1"></a><a class="link" href="powm1.html" title="powm1">powm1</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">powm1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">powm1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">powm1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns x<sup>y </sup> - 1.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are dufferent types.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- There are two domains where this is useful: when y is very small, or when
- x is close to 1.
- </p>
-<p>
- Implemented in terms of <code class="computeroutput"><span class="identifier">expm1</span></code>.
- </p>
-<p>
- The following graph illustrates the behaviour of powm1:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/powm1.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.powers.powm1.h0"></a>
- <span><a name="math_toolkit.special.powers.powm1.accuracy"></a></span><a class="link" href="powm1.html#math_toolkit.special.powers.powm1.accuracy">Accuracy</a>
- </h5>
-<p>
- Should have approximately 2-3 epsilon accuracy.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.powm1.h1"></a>
- <span><a name="math_toolkit.special.powers.powm1.testing"></a></span><a class="link" href="powm1.html#math_toolkit.special.powers.powm1.testing">Testing</a>
- </h5>
-<p>
- A selection of random high precision test values calculated using NTL::RR
- at 1000-bit precision.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sqrt1pm1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hypot.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html
deleted file mode 100644
index bd73cda147..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>sqrt1pm1</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
-<link rel="prev" href="cbrt.html" title="cbrt">
-<link rel="next" href="powm1.html" title="powm1">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cbrt.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powm1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_powers_sqrt1pm1">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.powers.sqrt1pm1"></a><a class="link" href="sqrt1pm1.html" title="sqrt1pm1">sqrt1pm1</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sqrt1pm1</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sqrt1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sqrt1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- Returns <code class="computeroutput"><span class="identifier">sqrt</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">x</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return is <code class="computeroutput"><span class="keyword">double</span></code>
- when <span class="emphasis"><em>x</em></span> is an integer type and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- This function is useful when you need the difference between sqrt(x) and
- 1, when x is itself close to 1.
- </p>
-<p>
- Implemented in terms of <code class="computeroutput"><span class="identifier">log1p</span></code>
- and <code class="computeroutput"><span class="identifier">expm1</span></code>.
- </p>
-<p>
- The following graph illustrates the behaviour of sqrt1pm1:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/sqrt1pm1.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.powers.sqrt1pm1.h0"></a>
- <span><a name="math_toolkit.special.powers.sqrt1pm1.accuracy"></a></span><a class="link" href="sqrt1pm1.html#math_toolkit.special.powers.sqrt1pm1.accuracy">Accuracy</a>
- </h5>
-<p>
- For built in floating-point types <code class="computeroutput"><span class="identifier">sqrt1pm1</span></code>
- should have approximately 3 epsilon accuracy.
- </p>
-<h5>
-<a name="math_toolkit.special.powers.sqrt1pm1.h1"></a>
- <span><a name="math_toolkit.special.powers.sqrt1pm1.testing"></a></span><a class="link" href="sqrt1pm1.html#math_toolkit.special.powers.sqrt1pm1.testing">Testing</a>
- </h5>
-<p>
- A selection of random high precision test values calculated using NTL::RR
- at 1000-bit precision.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cbrt.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="powm1.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta.html
deleted file mode 100644
index d97dbc9ca1..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Beta Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="factorials/sf_binomial.html" title="Binomial Coefficients">
-<link rel="next" href="sf_beta/beta_function.html" title="Beta">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="factorials/sf_binomial.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_beta/beta_function.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_beta">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.sf_beta"></a><a class="link" href="sf_beta.html" title="Beta Functions">Beta Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="sf_beta/beta_function.html">Beta</a></span></dt>
-<dt><span class="section"><a href="sf_beta/ibeta_function.html">Incomplete
- Beta Functions</a></span></dt>
-<dt><span class="section"><a href="sf_beta/ibeta_inv_function.html">The
- Incomplete Beta Function Inverses</a></span></dt>
-<dt><span class="section"><a href="sf_beta/beta_derivative.html">Derivative
- of the Incomplete Beta Function</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="factorials/sf_binomial.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_beta/beta_function.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_derivative.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_derivative.html
deleted file mode 100644
index 4afd714dc8..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_derivative.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Derivative of the Incomplete Beta Function</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_beta.html" title="Beta Functions">
-<link rel="prev" href="ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">
-<link rel="next" href="../sf_erf.html" title="Error Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ibeta_inv_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_beta_beta_derivative">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_beta.beta_derivative"></a><a class="link" href="beta_derivative.html" title="Derivative of the Incomplete Beta Function">Derivative
- of the Incomplete Beta Function</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_derivative.h0"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_derivative.synopsis"></a></span><a class="link" href="beta_derivative.html#math_toolkit.special.sf_beta.beta_derivative.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_derivative.h1"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_derivative.description"></a></span><a class="link" href="beta_derivative.html#math_toolkit.special.sf_beta.beta_derivative.description">Description</a>
- </h5>
-<p>
- This function finds some uses in statistical distributions: it computes
- the partial derivative with respect to <span class="emphasis"><em>x</em></span> of the incomplete
- beta function <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/derivative2.png"></span>
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1, T2 and T3 are different
- types.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_derivative.h2"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_derivative.accuracy"></a></span><a class="link" href="beta_derivative.html#math_toolkit.special.sf_beta.beta_derivative.accuracy">Accuracy</a>
- </h5>
-<p>
- Almost identical to the incomplete beta function <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_derivative.h3"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_derivative.implementation"></a></span><a class="link" href="beta_derivative.html#math_toolkit.special.sf_beta.beta_derivative.implementation">Implementation</a>
- </h5>
-<p>
- This function just expose some of the internals of the incomplete beta
- function <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>:
- refer to the documentation for that function for more information.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ibeta_inv_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_function.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_function.html
deleted file mode 100644
index 2e6166c58d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/beta_function.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Beta</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_beta.html" title="Beta Functions">
-<link rel="prev" href="../sf_beta.html" title="Beta Functions">
-<link rel="next" href="ibeta_function.html" title="Incomplete Beta Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_function.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_beta_beta_function">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_beta.beta_function"></a><a class="link" href="beta_function.html" title="Beta">Beta</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_function.h0"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_function.synopsis"></a></span><a class="link" href="beta_function.html#math_toolkit.special.sf_beta.beta_function.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_function.h1"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_function.description"></a></span><a class="link" href="beta_function.html#math_toolkit.special.sf_beta.beta_function.description">Description</a>
- </h5>
-<p>
- The beta function is defined by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/beta1.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/beta.png" align="middle"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- There are effectively two versions of this function internally: a fully
- generic version that is slow, but reasonably accurate, and a much more
- efficient approximation that is used where the number of digits in the
- significand of T correspond to a certain <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>. In practice any built-in floating-point type you
- will encounter has an appropriate <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> defined for it. It is also possible, given enough
- machine time, to generate further <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>'s using the program libs/math/tools/lanczos_generator.cpp.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_function.h2"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_function.accuracy"></a></span><a class="link" href="beta_function.html#math_toolkit.special.sf_beta.beta_function.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows peak errors for various domains of input arguments,
- along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
- and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
- Note that only results for the widest floating point type on the system
- are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_beta.beta_function.peak_errors_in_the_beta_function"></a><p class="title"><b>Table&#160;25.&#160;Peak Errors In the Beta Function</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Beta Function">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0.4 &lt; a,b &lt; 100
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 1e-6 &lt; a,b &lt; 36
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=99 Mean=22
- </p>
- <p>
- (GSL Peak=1178 Mean=238)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1612)
- </p>
- </td>
-<td>
- <p>
- Peak=10.7 Mean=2.6
- </p>
- <p>
- (GSL Peak=12 Mean=2.0)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=174)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA32, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=112.1 Mean=26.9
- </p>
- </td>
-<td>
- <p>
- Peak=15.8 Mean=3.6
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=61.4 Mean=19.5
- </p>
- </td>
-<td>
- <p>
- Peak=12.2 Mean=3.6
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=42.03 Mean=13.94
- </p>
- </td>
-<td>
- <p>
- Peak=9.8 Mean=3.1
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Note that the worst errors occur when a or b are large, and that when this
- is the case the result is very close to zero, so absolute errors will be
- very small.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_function.h3"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_function.testing"></a></span><a class="link" href="beta_function.html#math_toolkit.special.sf_beta.beta_function.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot tests of exact values, and randomly generated test data
- are used: the test data was computed using <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
- at 1000-bit precision.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.beta_function.h4"></a>
- <span><a name="math_toolkit.special.sf_beta.beta_function.implementation"></a></span><a class="link" href="beta_function.html#math_toolkit.special.sf_beta.beta_function.implementation">Implementation</a>
- </h5>
-<p>
- Traditional methods of evaluating the beta function either involve evaluating
- the gamma functions directly, or taking logarithms and then exponentiating
- the result. However, the former is prone to overflows for even very modest
- arguments, while the latter is prone to cancellation errors. As an alternative,
- if we regard the gamma function as a white-box containing the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>, then we can combine the power terms:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/beta2.png"></span>
- </p>
-<p>
- which is almost the ideal solution, however almost all of the error occurs
- in evaluating the power terms when <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span>
- are large. If we assume that <span class="emphasis"><em>a &gt; b</em></span> then the larger
- of the two power terms can be reduced by a factor of <span class="emphasis"><em>b</em></span>,
- which immediately cuts the maximum error in half:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/beta3.png"></span>
- </p>
-<p>
- This may not be the final solution, but it is very competitive compared
- to other implementation methods.
- </p>
-<p>
- The generic implementation - where no <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> approximation is available - is implemented in a very
- similar way to the generic version of the gamma function. Again in order
- to avoid numerical overflow the power terms that prefix the series and
- continued fraction parts are collected together into:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/beta8.png"></span>
- </p>
-<p>
- where la, lb and lc are the integration limits used for a, b, and a+b.
- </p>
-<p>
- There are a few special cases worth mentioning:
- </p>
-<p>
- When <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span> are less than one,
- we can use the recurrence relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/beta4.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/beta5.png"></span>
- </p>
-<p>
- to move to a more favorable region where they are both greater than 1.
- </p>
-<p>
- In addition:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/beta7.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_function.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_function.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_function.html
deleted file mode 100644
index d96fb135a1..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_function.html
+++ /dev/null
@@ -1,981 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Incomplete Beta Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_beta.html" title="Beta Functions">
-<link rel="prev" href="beta_function.html" title="Beta">
-<link rel="next" href="ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="beta_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_inv_function.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_beta_ibeta_function">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_beta.ibeta_function"></a><a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">Incomplete
- Beta Functions</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_function.h0"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_function.synopsis"></a></span><a class="link" href="ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_function.h1"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_function.description"></a></span><a class="link" href="ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.description">Description</a>
- </h5>
-<p>
- There are four <a href="http://en.wikipedia.org/wiki/Incomplete_beta_function" target="_top">incomplete
- beta functions</a> : two are normalised versions (also known as <span class="emphasis"><em>regularized</em></span>
- beta functions) that return values in the range [0, 1], and two are non-normalised
- and return values in the range [0, <a class="link" href="beta_function.html" title="Beta">beta</a>(a,
- b)]. Users interested in statistical applications should use the normalised
- (or <a href="http://mathworld.wolfram.com/RegularizedBetaFunction.html" target="_top">regularized</a>
- ) versions (ibeta and ibetac).
- </p>
-<p>
- All of these functions require <span class="emphasis"><em>0 &lt;= x &lt;= 1</em></span>.
- </p>
-<p>
- The normalized functions <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
- and <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
- require <span class="emphasis"><em>a,b &gt;= 0</em></span>, and in addition that not both
- <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> are zero.
- </p>
-<p>
- The functions <a class="link" href="beta_function.html" title="Beta">beta</a>
- and <a class="link" href="ibeta_function.html" title="Incomplete Beta Functions">betac</a>
- require <span class="emphasis"><em>a,b &gt; 0</em></span>.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1, T2 and T3 are different
- types.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the normalised incomplete beta function of a, b and x:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta3.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/ibeta.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the normalised complement of the incomplete beta function of a,
- b and x:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta4.png"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">beta</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the full (non-normalised) incomplete beta function of a, b and
- x:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta1.png"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">betac</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the full (non-normalised) complement of the incomplete beta function
- of a, b and x:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta2.png"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_function.h2"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_function.accuracy"></a></span><a class="link" href="ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.accuracy">Accuracy</a>
- </h5>
-<p>
- The following tables give peak and mean relative errors in over various
- domains of a, b and x, along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
- and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
- Note that only results for the widest floating-point type on the system
- are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<p>
- Note that the results for 80 and 128-bit long doubles are noticeably higher
- than for doubles: this is because the wider exponent range of these types
- allow more extreme test cases to be tested. For example expected results
- that are zero at double precision, may be finite but exceptionally small
- with the wider exponent range of the long double types.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibeta_a_b_x_"></a><p class="title"><b>Table&#160;26.&#160;Errors In the Function ibeta(a,b,x)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function ibeta(a,b,x)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 10
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=42.3 Mean=2.9
- </p>
- <p>
- (GSL Peak=682 Mean=32.5)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=42.7
- Mean=7.0)
- </p>
- </td>
-<td>
- <p>
- Peak=108 Mean=16.6
- </p>
- <p>
- (GSL Peak=690 Mean=151)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=1545
- Mean=218)
- </p>
- </td>
-<td>
- <p>
- Peak=4x10<sup>3</sup> &#160; Mean=203
- </p>
- <p>
- (GSL Peak~3x10<sup>5</sup> &#160; Mean~2x10<sup>4</sup> &#160;)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~5x10<sup>5</sup> &#160; Mean~2x10<sup>4</sup> &#160;)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA32, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=21.9 Mean=3.1
- </p>
- </td>
-<td>
- <p>
- Peak=270.7 Mean=26.8
- </p>
- </td>
-<td>
- <p>
- Peak~5x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=15.4 Mean=3.0
- </p>
- </td>
-<td>
- <p>
- Peak=112.9 Mean=14.3
- </p>
- </td>
-<td>
- <p>
- Peak~5x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=20.9 Mean=2.6
- </p>
- </td>
-<td>
- <p>
- Peak=88.1 Mean=14.3
- </p>
- </td>
-<td>
- <p>
- Peak~2x10<sup>4</sup> &#160; Mean=1x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_ibetac_a_b_x_"></a><p class="title"><b>Table&#160;27.&#160;Errors In the Function ibetac(a,b,x)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function ibetac(a,b,x)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 10
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=13.9 Mean=2.0
- </p>
- </td>
-<td>
- <p>
- Peak=56.2 Mean=14
- </p>
- </td>
-<td>
- <p>
- Peak=3x10<sup>3</sup> &#160; Mean=159
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA32, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=21.1 Mean=3.6
- </p>
- </td>
-<td>
- <p>
- Peak=221.7 Mean=25.8
- </p>
- </td>
-<td>
- <p>
- Peak~9x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=10.6 Mean=2.2
- </p>
- </td>
-<td>
- <p>
- Peak=73.9 Mean=11.9
- </p>
- </td>
-<td>
- <p>
- Peak~9x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=9.9 Mean=2.6
- </p>
- </td>
-<td>
- <p>
- Peak=117.7 Mean=15.1
- </p>
- </td>
-<td>
- <p>
- Peak~3x10<sup>4</sup> &#160; Mean=1x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_beta_a__b__x_"></a><p class="title"><b>Table&#160;28.&#160;Errors In the Function beta(a, b, x)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function beta(a, b, x)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 10
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=39 Mean=2.9
- </p>
- </td>
-<td>
- <p>
- Peak=91 Mean=12.7
- </p>
- </td>
-<td>
- <p>
- Peak=635 Mean=25
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA32, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=26 Mean=3.6
- </p>
- </td>
-<td>
- <p>
- Peak=180.7 Mean=30.1
- </p>
- </td>
-<td>
- <p>
- Peak~7x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=13 Mean=2.4
- </p>
- </td>
-<td>
- <p>
- Peak=67.1 Mean=13.4
- </p>
- </td>
-<td>
- <p>
- Peak~7x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=27.3 Mean=3.6
- </p>
- </td>
-<td>
- <p>
- Peak=49.8 Mean=9.1
- </p>
- </td>
-<td>
- <p>
- Peak~6x10<sup>4</sup> &#160; Mean=3x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_beta.ibeta_function.errors_in_the_function_betac_a_b_x_"></a><p class="title"><b>Table&#160;29.&#160;Errors In the Function betac(a,b,x)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function betac(a,b,x)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 10
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 0 &lt; a,b &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-5</sup> &lt; a,b &lt; 1x10<sup>5</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0 &lt; x &lt; 1
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=12.0 Mean=2.4
- </p>
- </td>
-<td>
- <p>
- Peak=91 Mean=15
- </p>
- </td>
-<td>
- <p>
- Peak=4x10<sup>3</sup> &#160; Mean=113
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA32, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=19.8 Mean=3.8
- </p>
- </td>
-<td>
- <p>
- Peak=295.1 Mean=33.9
- </p>
- </td>
-<td>
- <p>
- Peak~1x10<sup>5</sup> &#160; Mean=5x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=11.2 Mean=2.4
- </p>
- </td>
-<td>
- <p>
- Peak=63.5 Mean=13.6
- </p>
- </td>
-<td>
- <p>
- Peak~1x10<sup>5</sup> &#160; Mean=5x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=15.6 Mean=3.5
- </p>
- </td>
-<td>
- <p>
- Peak=39.8 Mean=8.9
- </p>
- </td>
-<td>
- <p>
- Peak~9x10<sup>4</sup> &#160; Mean=5x10<sup>3</sup> &#160;
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.special.sf_beta.ibeta_function.h3"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_function.testing"></a></span><a class="link" href="ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.testing">Testing</a>
- </h5>
-<p>
- There are two sets of tests: spot tests compare values taken from <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=BetaRegularized" target="_top">Mathworld's
- online function evaluator</a> with this implementation: they provide
- a basic "sanity check" for the implementation, with one spot-test
- in each implementation-domain (see implementation notes below).
- </p>
-<p>
- Accuracy tests use data generated at very high precision (with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL
- RR class</a> set at 1000-bit precision), using the "textbook"
- continued fraction representation (refer to the first continued fraction
- in the implementation discussion below). Note that this continued fraction
- is <span class="emphasis"><em>not</em></span> used in the implementation, and therefore we
- have test data that is fully independent of the code.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_function.h4"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_function.implementation"></a></span><a class="link" href="ibeta_function.html#math_toolkit.special.sf_beta.ibeta_function.implementation">Implementation</a>
- </h5>
-<p>
- This implementation is closely based upon <a href="http://portal.acm.org/citation.cfm?doid=131766.131776" target="_top">"Algorithm
- 708; Significant digit computation of the incomplete beta function ratios",
- DiDonato and Morris, ACM, 1992.</a>
- </p>
-<p>
- 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:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv5.png"></span>
- </p>
-<p>
- 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 compute a value less than 0.9: when required this can then be
- subtracted from 1 without undue cancellation error.
- </p>
-<p>
- The following continued fraction representation is found in many textbooks
- 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:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta5.png"></span>
- </p>
-<p>
- The following continued fraction is due to <a href="http://portal.acm.org/citation.cfm?doid=131766.131776" target="_top">Didonato
- and Morris</a>, and is used in this implementation when a and b are
- both greater than 1:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta6.png"></span>
- </p>
-<p>
- For smallish b and x then a series representation can be used:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta7.png"></span>
- </p>
-<p>
- When b &lt;&lt; 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:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta8.png"></span>
-
- </p>
-<p>
- Where Q(a,x) is an <a href="http://functions.wolfram.com/GammaBetaErf/Gamma2/" target="_top">incomplete
- gamma function</a>. Note that this method relies on keeping a table
- of all the p<sub>n </sub> previously computed, which does limit the precision of the
- method, depending upon the size of the table used.
- </p>
-<p>
- When <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> are both small integers,
- then we can relate the incomplete beta to the binomial distribution and
- use the following finite sum:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta12.png"></span>
- </p>
-<p>
- Finally we can sidestep difficult areas, or move to an area with a more
- efficient means of computation, by using the duplication formulae:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta10.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta11.png"></span>
- </p>
-<p>
- The domains of a, b and x for which the various methods are used are identical
- to those described in the <a href="http://portal.acm.org/citation.cfm?doid=131766.131776" target="_top">Didonato
- and Morris TOMS 708 paper</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="beta_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ibeta_inv_function.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_inv_function.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_inv_function.html
deleted file mode 100644
index a0d993c6ea..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_inv_function.html
+++ /dev/null
@@ -1,533 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>The Incomplete Beta Function Inverses</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_beta.html" title="Beta Functions">
-<link rel="prev" href="ibeta_function.html" title="Incomplete Beta Functions">
-<link rel="next" href="beta_derivative.html" title="Derivative of the Incomplete Beta Function">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ibeta_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_derivative.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_beta_ibeta_inv_function">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_beta.ibeta_inv_function"></a><a class="link" href="ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">The
- Incomplete Beta Function Inverses</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_inv_function.h0"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_inv_function.description"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.special.sf_beta.ibeta_inv_function.description">Description</a>
- </h5>
-<p>
- There are six <a href="http://functions.wolfram.com/GammaBetaErf/" target="_top">incomplete
- beta function inverses</a> which allow you solve for any of the three
- parameters to the incomplete beta, starting from either the result of the
- incomplete beta (p) or its complement (q).
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- When people normally talk about the inverse of the incomplete beta function,
- they are talking about inverting on parameter <span class="emphasis"><em>x</em></span>.
- These are implemented here as ibeta_inv and ibetac_inv, and are by far
- the most efficient of the inverses presented here.
- </p>
-<p>
- The inverses on the <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>
- parameters find use in some statistical applications, but have to be
- computed by rather brute force numerical techniques and are consequently
- several times slower. These are implemented here as ibeta_inva and ibeta_invb,
- and complement versions ibetac_inva and ibetac_invb.
- </p>
-</td></tr>
-</table></div>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when called with arguments T1...TN
- of different types.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value <span class="emphasis"><em>x</em></span> such that: <code class="computeroutput"><span class="identifier">p</span>
- <span class="special">=</span> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- and sets <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span>
- <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">x</span></code> when
- the <code class="computeroutput"><span class="identifier">py</span></code> parameter is provided
- and is non-null. Note that internally this function computes whichever
- is the smaller of <code class="computeroutput"><span class="identifier">x</span></code> and
- <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">x</span></code>, and therefore the value assigned to
- <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code>
- is free from cancellation errors. That means that even if the function
- returns <code class="computeroutput"><span class="number">1</span></code>, the value stored
- in <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code>
- may be non-zero, albeit very small.
- </p>
-<p>
- Requires: <span class="emphasis"><em>a,b &gt; 0</em></span> and <span class="emphasis"><em>0 &lt;= p &lt;=
- 1</em></span>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T4</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">q</span><span class="special">,</span> <span class="identifier">T4</span><span class="special">*</span> <span class="identifier">py</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value <span class="emphasis"><em>x</em></span> such that: <code class="computeroutput"><span class="identifier">q</span>
- <span class="special">=</span> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- and sets <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span>
- <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">x</span></code> when
- the <code class="computeroutput"><span class="identifier">py</span></code> parameter is provided
- and is non-null. Note that internally this function computes whichever
- is the smaller of <code class="computeroutput"><span class="identifier">x</span></code> and
- <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">x</span></code>, and therefore the value assigned to
- <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code>
- is free from cancellation errors. That means that even if the function
- returns <code class="computeroutput"><span class="number">1</span></code>, the value stored
- in <code class="computeroutput"><span class="special">*</span><span class="identifier">py</span></code>
- may be non-zero, albeit very small.
- </p>
-<p>
- Requires: <span class="emphasis"><em>a,b &gt; 0</em></span> and <span class="emphasis"><em>0 &lt;= q &lt;=
- 1</em></span>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value <span class="emphasis"><em>a</em></span> such that: <code class="computeroutput"><span class="identifier">p</span>
- <span class="special">=</span> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>b &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
- and <span class="emphasis"><em>0 &lt;= p &lt;= 1</em></span>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value <span class="emphasis"><em>a</em></span> such that: <code class="computeroutput"><span class="identifier">q</span>
- <span class="special">=</span> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>b &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
- and <span class="emphasis"><em>0 &lt;= q &lt;= 1</em></span>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibeta_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value <span class="emphasis"><em>b</em></span> such that: <code class="computeroutput"><span class="identifier">p</span>
- <span class="special">=</span> <span class="identifier">ibeta</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>a &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
- and <span class="emphasis"><em>0 &lt;= p &lt;= 1</em></span>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ibetac_invb</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value <span class="emphasis"><em>b</em></span> such that: <code class="computeroutput"><span class="identifier">q</span>
- <span class="special">=</span> <span class="identifier">ibetac</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>a &gt; 0</em></span>, <span class="emphasis"><em>0 &lt; x &lt; 1</em></span>
- and <span class="emphasis"><em>0 &lt;= q &lt;= 1</em></span>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_inv_function.h1"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_inv_function.accuracy"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.special.sf_beta.ibeta_inv_function.accuracy">Accuracy</a>
- </h5>
-<p>
- The accuracy of these functions should closely follow that of the regular
- forward incomplete beta functions. However, note that in some parts of
- their domain, these functions can be extremely sensitive to changes in
- input, particularly when the argument <span class="emphasis"><em>p</em></span> (or it's complement
- <span class="emphasis"><em>q</em></span>) is very close to <code class="computeroutput"><span class="number">0</span></code>
- or <code class="computeroutput"><span class="number">1</span></code>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_inv_function.h2"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_inv_function.testing"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.special.sf_beta.ibeta_inv_function.testing">Testing</a>
- </h5>
-<p>
- There are two sets of tests:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Basic sanity checks attempt to "round-trip" from <span class="emphasis"><em>a,
- b</em></span> and <span class="emphasis"><em>x</em></span> to <span class="emphasis"><em>p</em></span> or
- <span class="emphasis"><em>q</em></span> and back again. These tests have quite generous
- tolerances: in general both the incomplete beta and its inverses change
- so rapidly, that round tripping to more than a couple of significant
- digits isn't possible. This is especially true when <span class="emphasis"><em>p</em></span>
- or <span class="emphasis"><em>q</em></span> is very near one: in this case there isn't
- enough "information content" in the input to the inverse
- function to get back where you started.
- </li>
-<li class="listitem">
- Accuracy checks using high precision test values. These measure the
- accuracy of the result, given exact input values.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_inv_function.h3"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_inv_function.implementation_of_ibeta_inv_and_ibetac_inv"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.special.sf_beta.ibeta_inv_function.implementation_of_ibeta_inv_and_ibetac_inv">Implementation
- of ibeta_inv and ibetac_inv</a>
- </h5>
-<p>
- These two functions share a common implementation.
- </p>
-<p>
- First an initial approximation to x is computed then the last few bits
- are cleaned up using <a href="http://en.wikipedia.org/wiki/Simple_rational_approximation" target="_top">Halley
- iteration</a>. The iteration limit is set to 1/2 of the number of bits
- in T, which by experiment is sufficient to ensure that the inverses are
- at least as accurate as the normal incomplete beta functions. Up to 5 iterations
- may be required in extreme cases, although normally only one or two are
- required. Further, the number of iterations required decreases with increasing
- <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> (which generally form
- the more important use cases).
- </p>
-<p>
- The initial guesses used for iteration are obtained as follows:
- </p>
-<p>
- Firstly recall that:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv5.png"></span>
- </p>
-<p>
- We may wish to start from either p or q, and to calculate either x or y.
- In addition at any stage we can exchange a for b, p for q, and x for y
- if it results in a more manageable problem.
- </p>
-<p>
- For <code class="computeroutput"><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span> <span class="special">&gt;=</span> <span class="number">5</span></code> the initial guess is computed using the
- methods described in:
- </p>
-<p>
- Asymptotic Inversion of the Incomplete Beta Function, by N. M. <a href="http://homepages.cwi.nl/~nicot/" target="_top">Temme</a>.
- Journal of Computational and Applied Mathematics 41 (1992) 145-157.
- </p>
-<p>
- The nearly symmetrical case (section 2 of the paper) is used for
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv2.png"></span>
- </p>
-<p>
- and involves solving the inverse error function first. The method is accurate
- to at least 2 decimal digits when <code class="literal">a = 5</code> rising to at
- least 8 digits when <code class="literal">a = 10<sup>5</sup></code>.
- </p>
-<p>
- The general error function case (section 3 of the paper) is used for
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv3.png"></span>
- </p>
-<p>
- and again expresses the inverse incomplete beta in terms of the inverse
- of the error function. The method is accurate to at least 2 decimal digits
- when <code class="literal">a+b = 5</code> rising to 11 digits when <code class="literal">a+b =
- 10<sup>5</sup></code>. However, when the result is expected to be very small, and
- when a+b is also small, then its accuracy tails off, in this case when
- p<sup>1/a</sup> &lt; 0.0025 then it is better to use the following as an initial estimate:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv4.png"></span>
- </p>
-<p>
- Finally the for all other cases where <code class="computeroutput"><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span> <span class="special">&gt;</span>
- <span class="number">5</span></code> the method of section 4 of the
- paper is used. This expresses the inverse incomplete beta in terms of the
- inverse of the incomplete gamma function, and is therefore significantly
- more expensive to compute than the other cases. However the method is accurate
- to at least 3 decimal digits when <code class="literal">a = 5</code> rising to at
- least 10 digits when <code class="literal">a = 10<sup>5</sup></code>. This method is limited
- to a &gt; b, and therefore we need to perform an exchange a for b, p for
- q and x for y when this is not the case. In addition 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 (<code class="literal">q<sup>1/p</sup> &lt; 10<sup>-3</sup></code>) we use:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv6.png"></span>
- </p>
-<p>
- which is both cheaper to compute than the full method, and a more accurate
- estimate on q.
- </p>
-<p>
- When a and b are both small there is a distinct lack of information in
- the literature on how to proceed. I am extremely grateful to Prof Nico
- Temme who provided the following information with a great deal of patience
- and explanation on his part. Any errors that follow are entirely my own,
- and not Prof Temme's.
- </p>
-<p>
- When a and b are both less than 1, then there is a point of inflection
- in the incomplete beta at point <code class="computeroutput"><span class="identifier">xs</span>
- <span class="special">=</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="number">2</span> <span class="special">-</span> <span class="identifier">a</span>
- <span class="special">-</span> <span class="identifier">b</span><span class="special">)</span></code>. Therefore if <code class="literal">p &gt; I<sub>x</sub>(a,b)</code>
- we swap a for b, p for q and x for y, so that now we always look for a
- point x below the point of inflection <code class="computeroutput"><span class="identifier">xs</span></code>,
- and on a convex curve. An initial estimate for x is made with:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv7.png"></span>
- </p>
-<p>
- which is provably below the true value for x: <a href="http://en.wikipedia.org/wiki/Newton%27s_method" target="_top">Newton
- iteration</a> will therefore smoothly converge on x without problems
- caused by overshooting etc.
- </p>
-<p>
- When a and b are both greater than 1, but a+b is too small to use the other
- methods mentioned above, we proceed as follows. Observe that there is a
- point of inflection in the incomplete beta at <code class="computeroutput"><span class="identifier">xs</span>
- <span class="special">=</span> <span class="special">(</span><span class="number">1</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="number">2</span> <span class="special">-</span> <span class="identifier">a</span>
- <span class="special">-</span> <span class="identifier">b</span><span class="special">)</span></code>. Therefore if <code class="literal">p &gt; I<sub>x</sub>(a,b)</code>
- we swap a for b, p for q and x for y, so that now we always look for a
- point x below the point of inflection <code class="computeroutput"><span class="identifier">xs</span></code>,
- and on a concave curve. An initial estimate for x is made with:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv4.png"></span>
- </p>
-<p>
- which can be improved somewhat to:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv1.png"></span>
- </p>
-<p>
- when b and x are both small (I've used b &lt; a and x &lt; 0.2). This actually
- under-estimates x, which drops us on the wrong side of x for Newton iteration
- to converge monotonically. However, use of higher derivatives and Halley
- iteration keeps everything under control.
- </p>
-<p>
- The final case to be considered if when one of a and b is less than or
- equal to 1, and the other greater that 1. Here, if b &lt; a we swap a for
- b, p for q 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
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv4.png"></span>
- </p>
-<p>
- 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
- this can quite badly underestimate x. This is especially an issue when
- we really want to find y, in which case this method can be an arbitrary
- number of order of magnitudes out, leading to very poor convergence during
- iteration.
- </p>
-<p>
- Things can be improved by considering the incomplete beta as a distorted
- quarter circle, and estimating y from:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/ibeta_inv8.png"></span>
- </p>
-<p>
- 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
- rapidly converges on the true value.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_beta.ibeta_inv_function.h4"></a>
- <span><a name="math_toolkit.special.sf_beta.ibeta_inv_function.implementation_of_inverses_on_the_a_and_b_parameters"></a></span><a class="link" href="ibeta_inv_function.html#math_toolkit.special.sf_beta.ibeta_inv_function.implementation_of_inverses_on_the_a_and_b_parameters">Implementation
- of inverses on the a and b parameters</a>
- </h5>
-<p>
- These four functions share a common implementation.
- </p>
-<p>
- First an initial approximation is computed for <span class="emphasis"><em>a</em></span> or
- <span class="emphasis"><em>b</em></span>: where possible this uses a Cornish-Fisher expansion
- for the negative binomial distribution to get within around 1 of the result.
- However, when <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span> are very
- small the Cornish Fisher expansion is not usable, in this case the initial
- approximation is chosen so that I<sub>x</sub>(a, b) is near the middle of the range
- [0,1].
- </p>
-<p>
- This initial guess is then used as a starting value for a generic root
- finding algorithm. The algorithm converges rapidly on the root once it
- has been bracketed, but bracketing the root may take several iterations.
- A better initial approximation for <span class="emphasis"><em>a</em></span> or <span class="emphasis"><em>b</em></span>
- would improve these functions quite substantially: currently 10-20 incomplete
- beta function invocations are required to find the root.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ibeta_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_beta.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="beta_derivative.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf.html
deleted file mode 100644
index 289fa95404..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Error Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="sf_beta/beta_derivative.html" title="Derivative of the Incomplete Beta Function">
-<link rel="next" href="sf_erf/error_function.html" title="Error Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_beta/beta_derivative.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_erf/error_function.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_erf">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.sf_erf"></a><a class="link" href="sf_erf.html" title="Error Functions">Error Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="sf_erf/error_function.html">Error Functions</a></span></dt>
-<dt><span class="section"><a href="sf_erf/error_inv.html">Error Function
- Inverses</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_beta/beta_derivative.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_erf/error_function.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html
deleted file mode 100644
index 906c9b065c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html
+++ /dev/null
@@ -1,631 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Error Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_erf.html" title="Error Functions">
-<link rel="prev" href="../sf_erf.html" title="Error Functions">
-<link rel="next" href="error_inv.html" title="Error Function Inverses">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_inv.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_erf_error_function">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_erf.error_function"></a><a class="link" href="error_function.html" title="Error Functions">Error Functions</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_function.h0"></a>
- <span><a name="math_toolkit.special.sf_erf.error_function.synopsis"></a></span><a class="link" href="error_function.html#math_toolkit.special.sf_erf.error_function.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">erf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_function.h1"></a>
- <span><a name="math_toolkit.special.sf_erf.error_function.description"></a></span><a class="link" href="error_function.html#math_toolkit.special.sf_erf.error_function.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the <a href="http://en.wikipedia.org/wiki/Error_function" target="_top">error
- function</a> <a href="http://functions.wolfram.com/GammaBetaErf/Erf/" target="_top">erf</a>
- of z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/erf1.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/erf.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the complement of the <a href="http://functions.wolfram.com/GammaBetaErf/Erfc/" target="_top">error
- function</a> of z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/erf2.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/erfc.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_function.h2"></a>
- <span><a name="math_toolkit.special.sf_erf.error_function.accuracy"></a></span><a class="link" href="error_function.html#math_toolkit.special.sf_erf.error_function.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types, along with comparisons
- to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>,
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>, <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX C Library</a>
- and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
- Unless otherwise specified any floating point type that is narrower than
- the one shown will have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_erf.error_function.errors_in_the_function_erf_z_"></a><p class="title"><b>Table&#160;30.&#160;Errors In the Function erf(z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function erf(z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- z &lt; 0.5
- </p>
- </th>
-<th>
- <p>
- 0.5 &lt; z &lt; 8
- </p>
- </th>
-<th>
- <p>
- z &gt; 8
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- GSL Peak=2.0 Mean=0.3
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=1.1
- Mean=0.7
- </p>
- </td>
-<td>
- <p>
- Peak=0.9 Mean=0.09
- </p>
- <p>
- GSL Peak=2.3 Mean=0.3
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=1.3
- Mean=0.2
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- GSL Peak=0 Mean=0
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=0
- Mean=0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-3.3
- </p>
- </td>
-<td>
- <p>
- Peak=0.7 Mean=0.07
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0.9 Mean=0.2
- </p>
- </td>
-<td>
- <p>
- Peak=0.9 Mean=0.2
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0.9 Mean=0.07
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0 Mean=0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=0.7 Mean=0.07
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0 Mean=0
- </p>
- </td>
-<td>
- <p>
- Peak=0.9 Mean=0.1
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0.5 Mean=0.03
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0 Mean=0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=0.8 Mean=0.1
- </p>
- <p>
- <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Lib Peak=0.9 Mean=0.2
- </p>
- </td>
-<td>
- <p>
- Peak=0.9 Mean=0.1
- </p>
- <p>
- <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Lib Peak=0.5 Mean=0.02
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Lib Peak=0 Mean=0
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_erf.error_function.errors_in_the_function_erfc_z_"></a><p class="title"><b>Table&#160;31.&#160;Errors In the Function erfc(z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function erfc(z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- z &lt; 0.5
- </p>
- </th>
-<th>
- <p>
- 0.5 &lt; z &lt; 8
- </p>
- </th>
-<th>
- <p>
- z &gt; 8
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=0.7 Mean=0.06
- </p>
- <p>
- GSL Peak=1.0 Mean=0.4
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=0.7
- Mean=0.06
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.3
- </p>
- <p>
- GSL Peak=2.6 Mean=0.6
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=3.6
- Mean=0.7
- </p>
- </td>
-<td>
- <p>
- Peak=1.0 Mean=0.2
- </p>
- <p>
- GSL Peak=3.9 Mean=0.4
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2.7
- Mean=0.4
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-3.3
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0 Mean=0
- </p>
- </td>
-<td>
- <p>
- Peak=1.4 Mean=0.3
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=1.3 Mean=0.3
- </p>
- </td>
-<td>
- <p>
- Peak=1.6 Mean=0.4
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=1.3 Mean=0.4
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0 Mean=0
- </p>
- </td>
-<td>
- <p>
- Peak=1.4 Mean=0.3
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0 Mean=0
- </p>
- </td>
-<td>
- <p>
- Peak=1.5 Mean=0.4
- </p>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0 Mean=0
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=0 Mean=0
- </p>
- <p>
- <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak=0 Mean=0
- </p>
- </td>
-<td>
- <p>
- Peak=1.5 Mean=0.3
- </p>
- <p>
- <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak=0.9 Mean=0.08
- </p>
- </td>
-<td>
- <p>
- Peak=1.6 Mean=0.4
- </p>
- <p>
- <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak=0.9 Mean=0.1
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.special.sf_erf.error_function.h3"></a>
- <span><a name="math_toolkit.special.sf_erf.error_function.testing"></a></span><a class="link" href="error_function.html#math_toolkit.special.sf_erf.error_function.testing">Testing</a>
- </h5>
-<p>
- The tests for these functions come in two parts: basic sanity checks use
- spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Erf" target="_top">Mathworld's
- online evaluator</a>, while accuracy checks use high-precision test
- values calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
- and this implementation. Note that the generic and type-specific versions
- of these functions use differing implementations internally, so this gives
- us reasonably independent test data. Using our test data to test other
- "known good" implementations also provides an additional sanity
- check.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_function.h4"></a>
- <span><a name="math_toolkit.special.sf_erf.error_function.implementation"></a></span><a class="link" href="error_function.html#math_toolkit.special.sf_erf.error_function.implementation">Implementation</a>
- </h5>
-<p>
- All versions of these functions first use the usual reflection formulas
- to make their arguments positive:
- </p>
-<pre class="programlisting"><span class="identifier">erf</span><span class="special">(-</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="number">1</span> <span class="special">-</span> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
-
-<span class="identifier">erfc</span><span class="special">(-</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="number">2</span> <span class="special">-</span> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span> <span class="comment">// preferred when -z &lt; -0.5</span>
-
-<span class="identifier">erfc</span><span class="special">(-</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="number">1</span> <span class="special">+</span> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span> <span class="comment">// preferred when -0.5 &lt;= -z &lt; 0</span>
-</pre>
-<p>
- The generic versions of these functions are implemented in terms of the
- incomplete gamma function.
- </p>
-<p>
- When the significand (mantissa) size is recognised (currently for 53, 64
- and 113-bit reals, plus single-precision 24-bit handled via promotion to
- double) then a series of rational approximations <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> are used.
- </p>
-<p>
- For <code class="computeroutput"><span class="identifier">z</span> <span class="special">&lt;=</span>
- <span class="number">0.5</span></code> then a rational approximation
- to erf is used, based on the observation that erf is an odd function and
- therefore erf is calculated using:
- </p>
-<pre class="programlisting"><span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">z</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">));</span>
-</pre>
-<p>
- where the rational approximation R(z*z) is optimised for absolute error:
- as long as its absolute error is small enough compared to the constant
- C, then any round-off error incurred during the computation of R(z*z) will
- effectively disappear from the result. As a result the error for erf and
- erfc in this region is very low: the last bit is incorrect in only a very
- small number of cases.
- </p>
-<p>
- For <code class="computeroutput"><span class="identifier">z</span> <span class="special">&gt;</span>
- <span class="number">0.5</span></code> we observe that over a small
- interval [a, b) then:
- </p>
-<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">z</span> <span class="special">~</span> <span class="identifier">c</span>
-</pre>
-<p>
- for some constant c.
- </p>
-<p>
- Therefore for <code class="computeroutput"><span class="identifier">z</span> <span class="special">&gt;</span>
- <span class="number">0.5</span></code> we calculate erfc using:
- </p>
-<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">B</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">;</span>
-</pre>
-<p>
- Again R(z - B) is optimised for absolute error, and the constant <code class="computeroutput"><span class="identifier">C</span></code> is the average of <code class="computeroutput"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span>
- <span class="special">*</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span>
- <span class="identifier">z</span></code> taken at the endpoints of the
- range. Once again, as long as the absolute error in R(z - B) is small compared
- to <code class="computeroutput"><span class="identifier">c</span></code> then <code class="computeroutput"><span class="identifier">c</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span>
- <span class="special">-</span> <span class="identifier">B</span><span class="special">)</span></code> will be correctly rounded, and the error
- in the result will depend only on the accuracy of the exp function. In
- practice, in all but a very small number of cases, the error is confined
- to the last bit of the result. The constant <code class="computeroutput"><span class="identifier">B</span></code>
- is chosen so that the left hand end of the range of the rational approximation
- is 0.
- </p>
-<p>
- For large <code class="computeroutput"><span class="identifier">z</span></code> over a range
- [a, +&#8734;] the above approximation is modified to:
- </p>
-<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="number">1</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_inv.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html
deleted file mode 100644
index 43f849fa3a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Error Function Inverses</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_erf.html" title="Error Functions">
-<link rel="prev" href="error_function.html" title="Error Functions">
-<link rel="next" href="../sf_poly.html" title="Polynomials">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_erf_error_inv">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_erf.error_inv"></a><a class="link" href="error_inv.html" title="Error Function Inverses">Error Function
- Inverses</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_inv.h0"></a>
- <span><a name="math_toolkit.special.sf_erf.error_inv.synopsis"></a></span><a class="link" href="error_inv.html#math_toolkit.special.sf_erf.error_inv.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">erf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_inv.h1"></a>
- <span><a name="math_toolkit.special.sf_erf.error_inv.description"></a></span><a class="link" href="error_inv.html#math_toolkit.special.sf_erf.error_inv.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erf_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the <a href="http://functions.wolfram.com/GammaBetaErf/InverseErf/" target="_top">inverse
- error function</a> of z, that is a value x such that:
- </p>
-<pre class="programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">erf</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/erf_inv.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">erfc_inv</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the inverse of the complement of the error function of z, that
- is a value x such that:
- </p>
-<pre class="programlisting"><span class="identifier">p</span> <span class="special">=</span> <span class="identifier">erfc</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/erfc_inv.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_inv.h2"></a>
- <span><a name="math_toolkit.special.sf_erf.error_inv.accuracy"></a></span><a class="link" href="error_inv.html#math_toolkit.special.sf_erf.error_inv.accuracy">Accuracy</a>
- </h5>
-<p>
- For types up to and including 80-bit long doubles the approximations used
- are accurate to less than ~ 2 epsilon. For higher precision types these
- functions have the same accuracy as the <a class="link" href="error_function.html" title="Error Functions">forward
- error functions</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_inv.h3"></a>
- <span><a name="math_toolkit.special.sf_erf.error_inv.testing"></a></span><a class="link" href="error_inv.html#math_toolkit.special.sf_erf.error_inv.testing">Testing</a>
- </h5>
-<p>
- There are two sets of tests:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Basic sanity checks attempt to "round-trip" from <span class="emphasis"><em>x</em></span>
- to <span class="emphasis"><em>p</em></span> and back again. These tests have quite generous
- tolerances: in general both the error functions and their inverses
- change so rapidly in some places that round tripping to more than a
- couple of significant digits isn't possible. This is especially true
- when <span class="emphasis"><em>p</em></span> is very near one: in this case there isn't
- enough "information content" in the input to the inverse
- function to get back where you started.
- </li>
-<li class="listitem">
- Accuracy checks using high-precision test values. These measure the
- accuracy of the result, given <span class="emphasis"><em>exact</em></span> input values.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.special.sf_erf.error_inv.h4"></a>
- <span><a name="math_toolkit.special.sf_erf.error_inv.implementation"></a></span><a class="link" href="error_inv.html#math_toolkit.special.sf_erf.error_inv.implementation">Implementation</a>
- </h5>
-<p>
- These functions use a rational approximation <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> to calculate an initial approximation to the result that is
- accurate to ~10<sup>-19</sup>, then only if that has insufficient accuracy compared
- to the epsilon for T, do we clean up the result using <a href="http://en.wikipedia.org/wiki/Simple_rational_approximation" target="_top">Halley
- iteration</a>.
- </p>
-<p>
- Constructing rational approximations to the erf/erfc functions is actually
- surprisingly hard, especially at high precision. For this reason no attempt
- has been made to achieve 10<sup>-34 </sup> accuracy suitable for use with 128-bit reals.
- </p>
-<p>
- In the following discussion, <span class="emphasis"><em>p</em></span> is the value passed
- to erf_inv, and <span class="emphasis"><em>q</em></span> is the value passed to erfc_inv,
- so that <span class="emphasis"><em>p = 1 - q</em></span> and <span class="emphasis"><em>q = 1 - p</em></span>
- and in both cases we want to solve for the same result <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- For <span class="emphasis"><em>p &lt; 0.5</em></span> the inverse erf function is reasonably
- smooth and the approximation:
- </p>
-<pre class="programlisting"><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">p</span><span class="special">(</span><span class="identifier">p</span> <span class="special">+</span> <span class="number">10</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">p</span><span class="special">))</span>
-</pre>
-<p>
- Gives a good result for a constant Y, and R(p) optimised for low absolute
- error compared to |Y|.
- </p>
-<p>
- For q &lt; 0.5 things get trickier, over the interval <span class="emphasis"><em>0.5 &gt;
- q &gt; 0.25</em></span> the following approximation works well:
- </p>
-<pre class="programlisting"><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">(-</span><span class="number">2l</span><span class="identifier">og</span><span class="special">(</span><span class="identifier">q</span><span class="special">))</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">q</span><span class="special">))</span>
-</pre>
-<p>
- While for q &lt; 0.25, let
- </p>
-<pre class="programlisting"><span class="identifier">z</span> <span class="special">=</span> <span class="identifier">sqrt</span><span class="special">(-</span><span class="identifier">log</span><span class="special">(</span><span class="identifier">q</span><span class="special">))</span>
-</pre>
-<p>
- Then the result is given by:
- </p>
-<pre class="programlisting"><span class="identifier">x</span> <span class="special">=</span> <span class="identifier">z</span><span class="special">(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">B</span><span class="special">))</span>
-</pre>
-<p>
- As before Y is a constant and the rational function R is optimised for
- low absolute error compared to |Y|. B is also a constant: it is the smallest
- value of <span class="emphasis"><em>z</em></span> for which each approximation is valid.
- There are several approximations of this form each of which reaches a little
- further into the tail of the erfc function (at <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> precision the extended exponent
- range compared to <code class="computeroutput"><span class="keyword">double</span></code> means
- that the tail goes on for a very long way indeed).
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_function.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_erf.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma.html
deleted file mode 100644
index 68016cd663..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Gamma Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="../special.html" title="Special Functions">
-<link rel="next" href="sf_gamma/tgamma.html" title="Gamma">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../special.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_gamma/tgamma.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.sf_gamma"></a><a class="link" href="sf_gamma.html" title="Gamma Functions">Gamma Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="sf_gamma/tgamma.html">Gamma</a></span></dt>
-<dt><span class="section"><a href="sf_gamma/lgamma.html">Log Gamma</a></span></dt>
-<dt><span class="section"><a href="sf_gamma/digamma.html">Digamma</a></span></dt>
-<dt><span class="section"><a href="sf_gamma/gamma_ratios.html">Ratios
- of Gamma Functions</a></span></dt>
-<dt><span class="section"><a href="sf_gamma/igamma.html">Incomplete Gamma
- Functions</a></span></dt>
-<dt><span class="section"><a href="sf_gamma/igamma_inv.html">Incomplete
- Gamma Function Inverses</a></span></dt>
-<dt><span class="section"><a href="sf_gamma/gamma_derivatives.html">Derivative
- of the Incomplete Gamma Function</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../special.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_gamma/tgamma.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/digamma.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/digamma.html
deleted file mode 100644
index f46620983e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/digamma.html
+++ /dev/null
@@ -1,388 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Digamma</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="prev" href="lgamma.html" title="Log Gamma">
-<link rel="next" href="gamma_ratios.html" title="Ratios of Gamma Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lgamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_ratios.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma_digamma">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_gamma.digamma"></a><a class="link" href="digamma.html" title="Digamma">Digamma</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.digamma.h0"></a>
- <span><a name="math_toolkit.special.sf_gamma.digamma.synopsis"></a></span><a class="link" href="digamma.html#math_toolkit.special.sf_gamma.digamma.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">digamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_gamma.digamma.h1"></a>
- <span><a name="math_toolkit.special.sf_gamma.digamma.description"></a></span><a class="link" href="digamma.html#math_toolkit.special.sf_gamma.digamma.description">Description</a>
- </h5>
-<p>
- Returns the digamma or psi function of <span class="emphasis"><em>x</em></span>. Digamma
- is defined as the logarithmic derivative of the gamma function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/digamma1.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/digamma.png" align="middle"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- There is no fully generic version of this function: all the implementations
- are tuned to specific accuracy levels, the most precise of which delivers
- 34-digits of precision.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the result is of type <code class="computeroutput"><span class="keyword">double</span></code> when T is an integer type, and type
- T otherwise.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.digamma.h2"></a>
- <span><a name="math_toolkit.special.sf_gamma.digamma.accuracy"></a></span><a class="link" href="digamma.html#math_toolkit.special.sf_gamma.digamma.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types. Unless otherwise specified
- any floating point type that is narrower than the one shown will have
- <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Random Positive Values
- </p>
- </th>
-<th>
- <p>
- Values Near The Positive Root
- </p>
- </th>
-<th>
- <p>
- Values Near Zero
- </p>
- </th>
-<th>
- <p>
- Negative Values
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=0.98 Mean=0.36
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.5
- </p>
- </td>
-<td>
- <p>
- Peak=0.95 Mean=0.5
- </p>
- </td>
-<td>
- <p>
- Peak=214 Mean=16
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Linux IA32 / GCC
- </p>
- </td>
-<td>
- <p>
- Peak=1.4 Mean=0.4
- </p>
- </td>
-<td>
- <p>
- Peak=1.3 Mean=0.45
- </p>
- </td>
-<td>
- <p>
- Peak=0.98 Mean=0.35
- </p>
- </td>
-<td>
- <p>
- Peak=180 Mean=13
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Linux IA64 / GCC
- </p>
- </td>
-<td>
- <p>
- Peak=0.92 Mean=0.4
- </p>
- </td>
-<td>
- <p>
- Peak=1.3 Mean=0.45
- </p>
- </td>
-<td>
- <p>
- Peak=0.98 Mean=0.4
- </p>
- </td>
-<td>
- <p>
- Peak=180 Mean=13
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=0.9 Mean=0.4
- </p>
- </td>
-<td>
- <p>
- Peak=1.1 Mean=0.5
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.4
- </p>
- </td>
-<td>
- <p>
- Peak=64 Mean=6
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- As shown above, error rates for positive arguments are generally very low.
- For negative arguments there are an infinite number of irrational roots:
- relative errors very close to these can be arbitrarily large, although
- absolute error will remain very low.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.digamma.h3"></a>
- <span><a name="math_toolkit.special.sf_gamma.digamma.testing"></a></span><a class="link" href="digamma.html#math_toolkit.special.sf_gamma.digamma.testing">Testing</a>
- </h5>
-<p>
- There are two sets of tests: spot values are computed using the online
- calculator at functions.wolfram.com, while random test values are generated
- using the high-precision reference implementation (a differentiated <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>
- see below).
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.digamma.h4"></a>
- <span><a name="math_toolkit.special.sf_gamma.digamma.implementation"></a></span><a class="link" href="digamma.html#math_toolkit.special.sf_gamma.digamma.implementation">Implementation</a>
- </h5>
-<p>
- The implementation is divided up into the following domains:
- </p>
-<p>
- For Negative arguments the reflection formula:
- </p>
-<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="number">1</span><span class="special">-</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">pi</span><span class="special">/</span><span class="identifier">tan</span><span class="special">(</span><span class="identifier">pi</span><span class="special">*</span><span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- is used to make <span class="emphasis"><em>x</em></span> positive.
- </p>
-<p>
- For arguments in the range [0,1] the recurrence relation:
- </p>
-<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span><span class="special">/</span><span class="identifier">x</span>
-</pre>
-<p>
- is used to shift the evaluation to [1,2].
- </p>
-<p>
- For arguments in the range [1,2] a rational approximation <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> is used (see below).
- </p>
-<p>
- For arguments in the range [2,BIG] the recurrence relation:
- </p>
-<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">/</span><span class="identifier">x</span><span class="special">;</span>
-</pre>
-<p>
- is used to shift the evaluation to the range [1,2].
- </p>
-<p>
- For arguments &gt; BIG the asymptotic expansion:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/digamma2.png"></span>
- </p>
-<p>
- can be used. However, this expansion is divergent after a few terms: exactly
- how many terms depends on the size of <span class="emphasis"><em>x</em></span>. Therefore
- the value of <span class="emphasis"><em>BIG</em></span> must be chosen so that the series
- can be truncated at a term that is too small to have any effect on the
- result when evaluated at <span class="emphasis"><em>BIG</em></span>. Choosing BIG=10 for
- up to 80-bit reals, and BIG=20 for 128-bit reals allows the series to truncated
- after a suitably small number of terms and evaluated as a polynomial in
- <code class="computeroutput"><span class="number">1</span><span class="special">/(</span><span class="identifier">x</span><span class="special">*</span><span class="identifier">x</span><span class="special">)</span></code>.
- </p>
-<p>
- The rational approximation <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> in the range [1,2] is derived as follows.
- </p>
-<p>
- First a high precision approximation to digamma was constructed using a
- 60-term differentiated <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>, the form used is:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/digamma3.png"></span>
- </p>
-<p>
- 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 approximation has a theoretical precision of ~100 decimal digits.
- However, cancellation in the above sum will reduce that to around <code class="computeroutput"><span class="number">99</span><span class="special">-(</span><span class="number">1</span><span class="special">/</span><span class="identifier">y</span><span class="special">)</span></code>
- digits if <span class="emphasis"><em>y</em></span> is the result. This approximation was
- used to calculate the positive root of digamma, and was found to agree
- with the value used by Cody to 25 digits (See Math. Comp. 27, 123-127 (1973)
- by Cody, Strecok and Thacher) and with the value used by Morris to 35 digits
- (See TOMS Algorithm 708).
- </p>
-<p>
- Likewise a few spot tests agreed with values calculated using functions.wolfram.com
- to &gt;40 digits. That's sufficiently precise to insure that the approximation
- below is accurate to double precision. Achieving 128-bit long double precision
- requires that the location of the root is known to ~70 digits, and it's
- not clear whether the value calculated by this method meets that requirement:
- the difficulty lies in independently verifying the value obtained.
- </p>
-<p>
- The rational approximation <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> was optimised for absolute error using the form:
- </p>
-<pre class="programlisting"><span class="identifier">digamma</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">X0</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">x</span> <span class="special">-</span> <span class="number">1</span><span class="special">));</span>
-</pre>
-<p>
- Where X0 is the positive root of digamma, Y is a constant, and R(x - 1)
- is the rational approximation. Note that since X0 is irrational, we need
- twice as many digits in X0 as in x in order to avoid cancellation error
- during the subtraction (this assumes that <span class="emphasis"><em>x</em></span> is an
- exact value, if it's not then all bets are off). That means that even when
- x is the value of the root rounded to the nearest representable value,
- the result of digamma(x) <span class="emphasis"><em><span class="bold"><strong>will not be zero</strong></span></em></span>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="lgamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_ratios.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_derivatives.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_derivatives.html
deleted file mode 100644
index 7415251ac9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_derivatives.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Derivative of the Incomplete Gamma Function</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="prev" href="igamma_inv.html" title="Incomplete Gamma Function Inverses">
-<link rel="next" href="../factorials.html" title="Factorials and Binomial Coefficients">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="igamma_inv.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../factorials.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma_gamma_derivatives">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_gamma.gamma_derivatives"></a><a class="link" href="gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">Derivative
- of the Incomplete Gamma Function</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.gamma_derivatives.h0"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_derivatives.synopsis"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.special.sf_gamma.gamma_derivatives.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_derivative</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_gamma.gamma_derivatives.h1"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_derivatives.description"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.special.sf_gamma.gamma_derivatives.description">Description</a>
- </h5>
-<p>
- This function find some uses in statistical distributions: it implements
- the partial derivative with respect to <span class="emphasis"><em>x</em></span> of the incomplete
- gamma function.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/derivative1.png"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Note that the derivative of the function <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- can be obtained by negating the result of this function.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types,
- otherwise the return type is simply T1.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.gamma_derivatives.h2"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_derivatives.accuracy"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.special.sf_gamma.gamma_derivatives.accuracy">Accuracy</a>
- </h5>
-<p>
- Almost identical to the incomplete gamma function <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_p</a>:
- refer to the documentation for that function for more information.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.gamma_derivatives.h3"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_derivatives.implementation"></a></span><a class="link" href="gamma_derivatives.html#math_toolkit.special.sf_gamma.gamma_derivatives.implementation">Implementation</a>
- </h5>
-<p>
- This function just expose some of the internals of the incomplete gamma
- function <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_p</a>:
- refer to the documentation for that function for more information.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="igamma_inv.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../factorials.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_ratios.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_ratios.html
deleted file mode 100644
index 04181110e1..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/gamma_ratios.html
+++ /dev/null
@@ -1,357 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Ratios of Gamma Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="prev" href="digamma.html" title="Digamma">
-<link rel="next" href="igamma.html" title="Incomplete Gamma Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="digamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma_gamma_ratios">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_gamma.gamma_ratios"></a><a class="link" href="gamma_ratios.html" title="Ratios of Gamma Functions">Ratios
- of Gamma Functions</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_gamma.gamma_ratios.h0"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_ratios.description"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the ratio of gamma functions:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/gamma_ratio0.png"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Internally this just calls <code class="computeroutput"><span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_delta_ratio</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">delta</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the ratio of gamma functions:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/gamma_ratio1.png"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Note that the result is calculated accurately even when <span class="emphasis"><em>delta</em></span>
- is small compared to <span class="emphasis"><em>a</em></span>: indeed even if <span class="emphasis"><em>a+delta
- ~ a</em></span>. The function is typically used when <span class="emphasis"><em>a</em></span>
- is large and <span class="emphasis"><em>delta</em></span> is very small.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types,
- otherwise the result type is simple T1.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/tgamma_delta_ratio.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.gamma_ratios.h1"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_ratios.accuracy"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types. Unless otherwise specified
- any floating point type that is narrower than the one shown will have
- <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_delta_ratio_a__delta_"></a><p class="title"><b>Table&#160;19.&#160;Errors In the Function tgamma_delta_ratio(a, delta)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function tgamma_delta_ratio(a, delta)">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 20 &lt; a &lt; 80
- </p>
- <p>
- and
- </p>
- <p>
- delta &lt; 1
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=16.9 Mean=1.7
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA32, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=24 Mean=2.7
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=12.8 Mean=1.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=21.4 Mean=2.3
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_gamma.gamma_ratios.errors_in_the_function_tgamma_ratio_a__b_"></a><p class="title"><b>Table&#160;20.&#160;Errors In the Function tgamma_ratio(a, b)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function tgamma_ratio(a, b)">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 6 &lt; a,b &lt; 50
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=34 Mean=9
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA32, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=91 Mean=23
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=35.6 Mean=9.3
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=43.9 Mean=13.2
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.special.sf_gamma.gamma_ratios.h2"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_ratios.testing"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.testing">Testing</a>
- </h5>
-<p>
- Accuracy tests use data generated at very high precision (with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL
- RR class</a> set at 1000-bit precision: about 300 decimal digits) and
- a deliberately naive calculation of &#915;(x)/&#915;(y).
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.gamma_ratios.h3"></a>
- <span><a name="math_toolkit.special.sf_gamma.gamma_ratios.implementation"></a></span><a class="link" href="gamma_ratios.html#math_toolkit.special.sf_gamma.gamma_ratios.implementation">Implementation</a>
- </h5>
-<p>
- The implementation of these functions is very similar to that of <a class="link" href="../sf_beta/beta_function.html" title="Beta">beta</a>, and is
- based on combining similar power terms to improve accuracy and avoid spurious
- overflow/underflow.
- </p>
-<p>
- In addition there are optimisations for the situation where <span class="emphasis"><em>delta</em></span>
- is a small integer: in which case this function is basically the reciprocal
- of a rising factorial, or where both arguments are smallish integers: in
- which case table lookup of factorials can be used to calculate the ratio.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="digamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma.html
deleted file mode 100644
index a7f1dbce73..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma.html
+++ /dev/null
@@ -1,1049 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Incomplete Gamma Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="prev" href="gamma_ratios.html" title="Ratios of Gamma Functions">
-<link rel="next" href="igamma_inv.html" title="Incomplete Gamma Function Inverses">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="gamma_ratios.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma_inv.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma_igamma">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_gamma.igamma"></a><a class="link" href="igamma.html" title="Incomplete Gamma Functions">Incomplete Gamma
- Functions</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma.h0"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma.synopsis"></a></span><a class="link" href="igamma.html#math_toolkit.special.sf_gamma.igamma.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma.h1"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma.description"></a></span><a class="link" href="igamma.html#math_toolkit.special.sf_gamma.igamma.description">Description</a>
- </h5>
-<p>
- There are four <a href="http://mathworld.wolfram.com/IncompleteGammaFunction.html" target="_top">incomplete
- gamma functions</a>: two are normalised versions (also known as <span class="emphasis"><em>regularized</em></span>
- incomplete gamma functions) that return values in the range [0, 1], and
- two are non-normalised and return values in the range [0, &#915;(a)]. Users interested
- in statistical applications should use the <a href="http://mathworld.wolfram.com/RegularizedGammaFunction.html" target="_top">normalised
- versions (gamma_p and gamma_q)</a>.
- </p>
-<p>
- All of these functions require <span class="emphasis"><em>a &gt; 0</em></span> and <span class="emphasis"><em>z
- &gt;= 0</em></span>, otherwise they return the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types,
- otherwise the return type is simply T1.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the normalised lower incomplete gamma function of a and z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/igamma4.png"></span>
- </p>
-<p>
- This function changes rapidly from 0 to 1 around the point z == a:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/gamma_p.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the normalised upper incomplete gamma function of a and z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/igamma3.png"></span>
- </p>
-<p>
- This function changes rapidly from 1 to 0 around the point z == a:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/gamma_q.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma_lower</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the full (non-normalised) lower incomplete gamma function of a
- and z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/igamma2.png"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the full (non-normalised) upper incomplete gamma function of a
- and z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/igamma1.png"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma.h2"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma.accuracy"></a></span><a class="link" href="igamma.html#math_toolkit.special.sf_gamma.igamma.accuracy">Accuracy</a>
- </h5>
-<p>
- The following tables give peak and mean relative errors in over various
- domains of a and z, along with comparisons to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>
- and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
- Note that only results for the widest floating point type on the system
- are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<p>
- Note that errors grow as <span class="emphasis"><em>a</em></span> grows larger.
- </p>
-<p>
- Note also that the higher error rates for the 80 and 128 bit long double
- results are somewhat misleading: expected results that are zero at 64-bit
- double precision may be non-zero - but exceptionally small - with the larger
- exponent range of a long double. These results therefore reflect the more
- extreme nature of the tests conducted for these types.
- </p>
-<p>
- All values are in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_p_a_z_"></a><p class="title"><b>Table&#160;21.&#160;Errors In the Function gamma_p(a,z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function gamma_p(a,z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0.5 &lt; a &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-<th>
- <p>
- 1e-6 &lt; a &lt; 1.7x10<sup>6</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 1 &lt; z &lt; 100*a
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=36 Mean=9.1
- </p>
- <p>
- (GSL Peak=342 Mean=46)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=491
- Mean=102)
- </p>
- </td>
-<td>
- <p>
- Peak=4.5 Mean=1.4
- </p>
- <p>
- (GSL Peak=4.8 Mean=0.76)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=21
- Mean=5.6)
- </p>
- </td>
-<td>
- <p>
- Peak=244 Mean=21
- </p>
- <p>
- (GSL Peak=1022 Mean=1054)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~8x10<sup>6</sup> Mean~7x10<sup>4</sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-3.3
- </p>
- </td>
-<td>
- <p>
- Peak=241 Mean=36
- </p>
- </td>
-<td>
- <p>
- Peak=4.7 Mean=1.5
- </p>
- </td>
-<td>
- <p>
- Peak~30,220 Mean=1929
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4
- </p>
- </td>
-<td>
- <p>
- Peak=41 Mean=10
- </p>
- </td>
-<td>
- <p>
- Peak=4.7 Mean=1.4
- </p>
- </td>
-<td>
- <p>
- Peak~30,790 Mean=1864
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=40.2 Mean=10.2
- </p>
- </td>
-<td>
- <p>
- Peak=5 Mean=1.6
- </p>
- </td>
-<td>
- <p>
- Peak=5,476 Mean=440
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_gamma.igamma.errors_in_the_function_gamma_q_a_z_"></a><p class="title"><b>Table&#160;22.&#160;Errors In the Function gamma_q(a,z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function gamma_q(a,z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0.5 &lt; a &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-6</sup> &lt; a &lt; 1.7x10<sup>6</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 1 &lt; z &lt; 100*a
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=28.3 Mean=7.2
- </p>
- <p>
- (GSL Peak=201 Mean=13)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=556
- Mean=97)
- </p>
- </td>
-<td>
- <p>
- Peak=4.8 Mean=1.6
- </p>
- <p>
- (GSL Peak~1.3x10<sup>10</sup> Mean=1x10<sup>+9</sup>)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~3x10<sup>11</sup> Mean=4x10<sup>10</sup>)
- </p>
- </td>
-<td>
- <p>
- Peak=469 Mean=33
- </p>
- <p>
- (GSL Peak=27,050 Mean=2159)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak~8x10<sup>6</sup> Mean~7x10<sup>5</sup>)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-3.3
- </p>
- </td>
-<td>
- <p>
- Peak=280 Mean=33
- </p>
- </td>
-<td>
- <p>
- Peak=4.1 Mean=1.6
- </p>
- </td>
-<td>
- <p>
- Peak=11,490 Mean=732
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4
- </p>
- </td>
-<td>
- <p>
- Peak=32 Mean=9.4
- </p>
- </td>
-<td>
- <p>
- Peak=4.7 Mean=1.5
- </p>
- </td>
-<td>
- <p>
- Peak=6815 Mean=414
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=37 Mean=10
- </p>
- </td>
-<td>
- <p>
- Peak=11.2 Mean=2.0
- </p>
- </td>
-<td>
- <p>
- Peak=4,999 Mean=298
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_lower_a_z_"></a><p class="title"><b>Table&#160;23.&#160;Errors In the Function tgamma_lower(a,z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function tgamma_lower(a,z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0.5 &lt; a &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=5.5 Mean=1.4
- </p>
- </td>
-<td>
- <p>
- Peak=3.6 Mean=0.78
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-3.3
- </p>
- </td>
-<td>
- <p>
- Peak=402 Mean=79
- </p>
- </td>
-<td>
- <p>
- Peak=3.4 Mean=0.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4
- </p>
- </td>
-<td>
- <p>
- Peak=6.8 Mean=1.4
- </p>
- </td>
-<td>
- <p>
- Peak=3.4 Mean=0.78
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=6.1 Mean=1.8
- </p>
- </td>
-<td>
- <p>
- Peak=3.7 Mean=0.89
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_gamma.igamma.errors_in_the_function_tgamma_a_z_"></a><p class="title"><b>Table&#160;24.&#160;Errors In the Function tgamma(a,z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function tgamma(a,z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- 0.5 &lt; a &lt; 100
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-<th>
- <p>
- 1x10<sup>-12</sup> &lt; a &lt; 5x10<sup>-2</sup>
- </p>
- <p>
- and
- </p>
- <p>
- 0.01*a &lt; z &lt; 100*a
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=5.9 Mean=1.5
- </p>
- </td>
-<td>
- <p>
- Peak=1.8 Mean=0.6
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA32, gcc-3.3
- </p>
- </td>
-<td>
- <p>
- Peak=596 Mean=116
- </p>
- </td>
-<td>
- <p>
- Peak=3.2 Mean=0.84
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=40.2 Mean=2.5
- </p>
- </td>
-<td>
- <p>
- Peak=3.2 Mean=0.8
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=364 Mean=17.6
- </p>
- </td>
-<td>
- <p>
- Peak=12.7 Mean=1.8
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.special.sf_gamma.igamma.h3"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma.testing"></a></span><a class="link" href="igamma.html#math_toolkit.special.sf_gamma.igamma.testing">Testing</a>
- </h5>
-<p>
- There are two sets of tests: spot tests compare values taken from <a href="http://functions.wolfram.com/GammaBetaErf/" target="_top">Mathworld's online evaluator</a>
- with this implementation to perform a basic "sanity check". Accuracy
- tests use data generated at very high precision (using NTL's RR class set
- at 1000-bit precision) using this implementation with a very high precision
- 60-term <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>,
- and some but not all of the special case handling disabled. This is less
- than satisfactory: an independent method should really be used, but apparently
- a complete lack of such methods are available. We can't even use a deliberately
- naive implementation without special case handling since Legendre's continued
- fraction (see below) is unstable for small a and z.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma.h4"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma.implementation"></a></span><a class="link" href="igamma.html#math_toolkit.special.sf_gamma.igamma.implementation">Implementation</a>
- </h5>
-<p>
- These four functions share a common implementation since they are all related
- via:
- </p>
-<p>
- 1) <span class="inlinemediaobject"><img src="../../../../equations/igamma5.png"></span>
- </p>
-<p>
- 2) <span class="inlinemediaobject"><img src="../../../../equations/igamma6.png"></span>
- </p>
-<p>
- 3) <span class="inlinemediaobject"><img src="../../../../equations/igamma7.png"></span>
- </p>
-<p>
- The lower incomplete gamma is computed from its series representation:
- </p>
-<p>
- 4) <span class="inlinemediaobject"><img src="../../../../equations/igamma8.png"></span>
- </p>
-<p>
- Or by subtraction of the upper integral from either &#915;(a) or 1 when <span class="emphasis"><em>x
- - (1</em></span>(3x)) &gt; a and x &gt; 1.1/.
- </p>
-<p>
- The upper integral is computed from Legendre's continued fraction representation:
- </p>
-<p>
- 5) <span class="inlinemediaobject"><img src="../../../../equations/igamma9.png"></span>
- </p>
-<p>
- When <span class="emphasis"><em>(x &gt; 1.1)</em></span> or by subtraction of the lower integral
- from either &#915;(a) or 1 when <span class="emphasis"><em>x - (1</em></span>(3x)) &lt; a/.
- </p>
-<p>
- For <span class="emphasis"><em>x &lt; 1.1</em></span> computation of the upper integral is
- more complex as the continued fraction representation is unstable in this
- area. However there is another series representation for the lower integral:
- </p>
-<p>
- 6) <span class="inlinemediaobject"><img src="../../../../equations/igamma10.png"></span>
- </p>
-<p>
- That lends itself to calculation of the upper integral via rearrangement
- to:
- </p>
-<p>
- 7) <span class="inlinemediaobject"><img src="../../../../equations/igamma11.png"></span>
- </p>
-<p>
- Refer to the documentation for <a class="link" href="../powers/powm1.html" title="powm1">powm1</a>
- and <a class="link" href="tgamma.html" title="Gamma">tgamma1pm1</a>
- for details of their implementation. Note however that the precision of
- <a class="link" href="tgamma.html" title="Gamma">tgamma1pm1</a>
- is capped to either around 35 digits, or to that of the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> associated with type T - if there is one - whichever
- of the two is the greater. That therefore imposes a similar limit on the
- precision of this function in this region.
- </p>
-<p>
- For <span class="emphasis"><em>x &lt; 1.1</em></span> the crossover point where the result
- is ~0.5 no longer occurs for <span class="emphasis"><em>x ~ y</em></span>. Using <span class="emphasis"><em>x
- * 0.75 &lt; a</em></span> as the crossover criterion for <span class="emphasis"><em>0.5 &lt;
- x &lt;= 1.1</em></span> keeps the maximum value computed (whether it's the
- upper or lower interval) to around 0.75. Likewise for <span class="emphasis"><em>x &lt;=
- 0.5</em></span> then using <span class="emphasis"><em>-0.4 / log(x) &lt; a</em></span> as
- the crossover criterion keeps the maximum value computed to around 0.7
- (whether it's the upper or lower interval).
- </p>
-<p>
- There are two special cases used when a is an integer or half integer,
- and the crossover conditions listed above indicate that we should compute
- the upper integral Q. If a is an integer in the range <span class="emphasis"><em>1 &lt;=
- a &lt; 30</em></span> then the following finite sum is used:
- </p>
-<p>
- 9) <span class="inlinemediaobject"><img src="../../../../equations/igamma1f.png"></span>
- </p>
-<p>
- While for half integers in the range <span class="emphasis"><em>0.5 &lt;= a &lt; 30</em></span>
- then the following finite sum is used:
- </p>
-<p>
- 10) <span class="inlinemediaobject"><img src="../../../../equations/igamma2f.png"></span>
- </p>
-<p>
- These are both more stable and more efficient than the continued fraction
- alternative.
- </p>
-<p>
- When the argument <span class="emphasis"><em>a</em></span> is large, and <span class="emphasis"><em>x ~ a</em></span>
- then the series (4) and continued fraction (5) above are very slow to converge.
- In this area an expansion due to Temme is used:
- </p>
-<p>
- 11) <span class="inlinemediaobject"><img src="../../../../equations/igamma16.png"></span>
- </p>
-<p>
- 12) <span class="inlinemediaobject"><img src="../../../../equations/igamma17.png"></span>
- </p>
-<p>
- 13) <span class="inlinemediaobject"><img src="../../../../equations/igamma18.png"></span>
- </p>
-<p>
- 14) <span class="inlinemediaobject"><img src="../../../../equations/igamma19.png"></span>
- </p>
-<p>
- 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 versions for up to 128-bit long double precision: types requiring greater
- precision than that do not use these expansions. The coefficients C<sub>k</sub><sup>n</sup> are
- computed in advance using the recurrence relations given by Temme. The
- zone where these expansions are used is
- </p>
-<pre class="programlisting"><span class="special">(</span><span class="identifier">a</span> <span class="special">&gt;</span> <span class="number">20</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="number">200</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">x</span><span class="special">-</span><span class="identifier">a</span><span class="special">)/</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="number">0.4</span>
-</pre>
-<p>
- And:
- </p>
-<pre class="programlisting"><span class="special">(</span><span class="identifier">a</span> <span class="special">&gt;</span> <span class="number">200</span><span class="special">)</span> <span class="special">&amp;&amp;</span> <span class="special">(</span><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">x</span><span class="special">-</span><span class="identifier">a</span><span class="special">)/</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="number">4.5</span><span class="special">/</span><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">a</span><span class="special">))</span>
-</pre>
-<p>
- The latter range is valid for all types up to 128-bit long doubles, and
- is designed to ensure that the result is larger than 10<sup>-6</sup>, the first range
- is used only for types up to 80-bit long doubles. These domains are narrower
- than the ones recommended by either Temme or Didonato and Morris. However,
- using a wider range results in large and inexact (i.e. computed) values
- being passed to the <code class="computeroutput"><span class="identifier">exp</span></code>
- and <code class="computeroutput"><span class="identifier">erfc</span></code> functions resulting
- in significantly larger error rates. In other words there is a fine trade
- off here between efficiency and error. The current limits should keep the
- number of terms required by (4) and (5) to no more than ~20 at double precision.
- </p>
-<p>
- For the normalised incomplete gamma functions, calculation of the leading
- power terms is central to the accuracy of the function. For smallish a
- and x combining the power terms with the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> gives the greatest accuracy:
- </p>
-<p>
- 15) <span class="inlinemediaobject"><img src="../../../../equations/igamma12.png"></span>
- </p>
-<p>
- In the event that this causes underflow/overflow then the exponent can
- be reduced by a factor of <span class="emphasis"><em>a</em></span> and brought inside the
- power term.
- </p>
-<p>
- When a and x are large, we end up with a very large exponent with a base
- near one: this will not be computed accurately via the pow function, and
- taking logs simply leads to cancellation errors. The worst of the errors
- can be avoided by using:
- </p>
-<p>
- 16) <span class="inlinemediaobject"><img src="../../../../equations/igamma13.png"></span>
- </p>
-<p>
- when <span class="emphasis"><em>a-x</em></span> 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 error will be small - and it is absolute rather
- than relative error that counts in the argument to the <span class="emphasis"><em>exp</em></span>
- function. Note that for sufficiently large a and x the errors will still
- get you eventually, although this does delay the inevitable much longer
- than other methods. Use of <span class="emphasis"><em>log(1+x)-x</em></span> here is inspired
- by Temme (see references below).
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma.h5"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma.references"></a></span><a class="link" href="igamma.html#math_toolkit.special.sf_gamma.igamma.references">References</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- N. M. Temme, A Set of Algorithms for the Incomplete Gamma Functions,
- Probability in the Engineering and Informational Sciences, 8, 1994.
- </li>
-<li class="listitem">
- N. M. Temme, The Asymptotic Expansion of the Incomplete Gamma Functions,
- Siam J. Math Anal. Vol 10 No 4, July 1979, p757.
- </li>
-<li class="listitem">
- A. R. Didonato and A. H. Morris, Computation of the Incomplete Gamma
- Function Ratios and their Inverse. ACM TOMS, Vol 12, No 4, Dec 1986,
- p377.
- </li>
-<li class="listitem">
- W. Gautschi, The Incomplete Gamma Functions Since Tricomi, In Tricomi's
- Ideas and Contemporary Applied Mathematics, Atti dei Convegni Lincei,
- n. 147, Accademia Nazionale dei Lincei, Roma, 1998, pp. 203--237.
- <a href="http://citeseer.ist.psu.edu/gautschi98incomplete.html" target="_top">http://citeseer.ist.psu.edu/gautschi98incomplete.html</a>
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="gamma_ratios.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="igamma_inv.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma_inv.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma_inv.html
deleted file mode 100644
index d72923af94..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/igamma_inv.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Incomplete Gamma Function Inverses</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="prev" href="igamma.html" title="Incomplete Gamma Functions">
-<link rel="next" href="gamma_derivatives.html" title="Derivative of the Incomplete Gamma Function">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="igamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_derivatives.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma_igamma_inv">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_gamma.igamma_inv"></a><a class="link" href="igamma_inv.html" title="Incomplete Gamma Function Inverses">Incomplete
- Gamma Function Inverses</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma_inv.h0"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma_inv.synopsis"></a></span><a class="link" href="igamma_inv.html#math_toolkit.special.sf_gamma.igamma_inv.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma_inv.h1"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma_inv.description"></a></span><a class="link" href="igamma_inv.html#math_toolkit.special.sf_gamma.igamma_inv.description">Description</a>
- </h5>
-<p>
- There are four <a href="http://mathworld.wolfram.com/IncompleteGammaFunction.html" target="_top">incomplete
- gamma function</a> inverses which either compute <span class="emphasis"><em>x</em></span>
- given <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>,
- or else compute <span class="emphasis"><em>a</em></span> given <span class="emphasis"><em>x</em></span> and
- either <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types,
- otherwise the return type is simply T1.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- When people normally talk about the inverse of the incomplete gamma function,
- they are talking about inverting on parameter <span class="emphasis"><em>x</em></span>.
- These are implemented here as gamma_p_inv and gamma_q_inv, and are by
- far the most efficient of the inverses presented here.
- </p>
-<p>
- The inverse on the <span class="emphasis"><em>a</em></span> parameter finds use in some
- statistical applications but has to be computed by rather brute force
- numerical techniques and is consequently several times slower. These
- are implemented here as gamma_p_inva and gamma_q_inva.
- </p>
-</td></tr>
-</table></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value x such that: <code class="computeroutput"><span class="identifier">q</span>
- <span class="special">=</span> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>a &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;=
- 0</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inv</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value x such that: <code class="computeroutput"><span class="identifier">p</span>
- <span class="special">=</span> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>a &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;=
- 0</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_q_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">q</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value a such that: <code class="computeroutput"><span class="identifier">q</span>
- <span class="special">=</span> <span class="identifier">gamma_q</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>x &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;=
- 0</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">gamma_p_inva</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">p</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns a value a such that: <code class="computeroutput"><span class="identifier">p</span>
- <span class="special">=</span> <span class="identifier">gamma_p</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span>
- <span class="identifier">x</span><span class="special">);</span></code>
- </p>
-<p>
- Requires: <span class="emphasis"><em>x &gt; 0</em></span> and <span class="emphasis"><em>1 &gt;= p,q &gt;=
- 0</em></span>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma_inv.h2"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma_inv.accuracy"></a></span><a class="link" href="igamma_inv.html#math_toolkit.special.sf_gamma.igamma_inv.accuracy">Accuracy</a>
- </h5>
-<p>
- The accuracy of these functions doesn't vary much by platform or by the
- type T. Given that these functions are computed by iterative methods, they
- are deliberately "detuned" so as not to be too accurate: it is
- in any case impossible for these function to be more accurate than the
- regular forward incomplete gamma functions. In practice, the accuracy of
- these functions is very similar to that of <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
- and <a class="link" href="igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
- functions.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma_inv.h3"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma_inv.testing"></a></span><a class="link" href="igamma_inv.html#math_toolkit.special.sf_gamma.igamma_inv.testing">Testing</a>
- </h5>
-<p>
- There are two sets of tests:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Basic sanity checks attempt to "round-trip" from <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>x</em></span> to <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>
- and back again. These tests have quite generous tolerances: in general
- both the incomplete gamma, and its inverses, change so rapidly that
- round tripping to more than a couple of significant digits isn't possible.
- This is especially true when <span class="emphasis"><em>p</em></span> or <span class="emphasis"><em>q</em></span>
- is very near one: in this case there isn't enough "information
- content" in the input to the inverse function to get back where
- you started.
- </li>
-<li class="listitem">
- Accuracy checks using high precision test values. These measure the
- accuracy of the result, given exact input values.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.igamma_inv.h4"></a>
- <span><a name="math_toolkit.special.sf_gamma.igamma_inv.implementation"></a></span><a class="link" href="igamma_inv.html#math_toolkit.special.sf_gamma.igamma_inv.implementation">Implementation</a>
- </h5>
-<p>
- The functions gamma_p_inv and <a href="http://functions.wolfram.com/GammaBetaErf/InverseGammaRegularized/" target="_top">gamma_q_inv</a>
- share a common implementation.
- </p>
-<p>
- First an initial approximation is computed using the methodology described
- in:
- </p>
-<p>
- <a href="http://portal.acm.org/citation.cfm?id=23109&amp;coll=portal&amp;dl=ACM" target="_top">A.
- R. Didonato and A. H. Morris, Computation of the Incomplete Gamma Function
- Ratios and their Inverse, ACM Trans. Math. Software 12 (1986), 377-393.</a>
- </p>
-<p>
- Finally, the last few bits are cleaned up using Halley iteration, the iteration
- limit is set to 2/3 of the number of bits in T, which by experiment is
- sufficient to ensure that the inverses are at least as accurate as the
- normal incomplete gamma functions. In testing, no more than 3 iterations
- are required to produce a result as accurate as the forward incomplete
- gamma function, and in many cases only one iteration is required.
- </p>
-<p>
- The functions gamma_p_inva and gamma_q_inva also share a common implementation
- but are handled separately from gamma_p_inv and gamma_q_inv.
- </p>
-<p>
- An initial approximation for <span class="emphasis"><em>a</em></span> is computed very crudely
- so that <span class="emphasis"><em>gamma_p(a, x) ~ 0.5</em></span>, this value is then used
- as a starting point for a generic derivative-free root finding algorithm.
- As a consequence, these two functions are rather more expensive to compute
- than the gamma_p_inv or gamma_q_inv functions. Even so, the root is usually
- found in fewer than 10 iterations.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="igamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="gamma_derivatives.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/lgamma.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/lgamma.html
deleted file mode 100644
index 5786ff3e8e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/lgamma.html
+++ /dev/null
@@ -1,481 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Log Gamma</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="prev" href="tgamma.html" title="Gamma">
-<link rel="next" href="digamma.html" title="Digamma">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tgamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="digamma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma_lgamma">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_gamma.lgamma"></a><a class="link" href="lgamma.html" title="Log Gamma">Log Gamma</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.lgamma.h0"></a>
- <span><a name="math_toolkit.special.sf_gamma.lgamma.synopsis"></a></span><a class="link" href="lgamma.html#math_toolkit.special.sf_gamma.lgamma.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">sign</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">sign</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_gamma.lgamma.h1"></a>
- <span><a name="math_toolkit.special.sf_gamma.lgamma.description"></a></span><a class="link" href="lgamma.html#math_toolkit.special.sf_gamma.lgamma.description">Description</a>
- </h5>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Gamma_function" target="_top">lgamma function</a>
- is defined by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/lgamm1.png"></span>
- </p>
-<p>
- 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).
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/lgamma.png" align="middle"></span>
- </p>
-<p>
- There are effectively two versions of this function internally: a fully
- generic version that is slow, but reasonably accurate, and a much more
- efficient approximation that is used where the number of digits in the
- significand of T correspond to a certain <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>. In practice, any built-in floating-point type you
- will encounter has an appropriate <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> defined for it. It is also possible, given enough
- machine time, to generate further <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>'s using the program libs/math/tools/lanczos_generator.cpp.
- </p>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the result is of type <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, or type
- T otherwise.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.lgamma.h2"></a>
- <span><a name="math_toolkit.special.sf_gamma.lgamma.accuracy"></a></span><a class="link" href="lgamma.html#math_toolkit.special.sf_gamma.lgamma.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types, along with comparisons
- to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>,
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>, <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX C Library</a>
- and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
- Unless otherwise specified any floating point type that is narrower than
- the one shown will have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<p>
- Note that while the relative errors near the positive roots of lgamma are
- very low, the lgamma function has an infinite number of irrational roots
- for negative arguments: very close to these negative roots only a low absolute
- error can be guaranteed.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Factorials and Half factorials
- </p>
- </th>
-<th>
- <p>
- Values Near Zero
- </p>
- </th>
-<th>
- <p>
- Values Near 1 or 2
- </p>
- </th>
-<th>
- <p>
- Values Near a Negative Pole
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=0.88 Mean=0.14
- </p>
- <p>
- (GSL=33) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.5)
- </p>
- </td>
-<td>
- <p>
- Peak=0.96 Mean=0.46
- </p>
- <p>
- (GSL=5.2) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.1)
- </p>
- </td>
-<td>
- <p>
- Peak=0.86 Mean=0.46
- </p>
- <p>
- (GSL=1168) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>~500000)
- </p>
- </td>
-<td>
- <p>
- Peak=4.2 Mean=1.3
- </p>
- <p>
- (GSL=25) (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.6)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Linux IA32 / GCC
- </p>
- </td>
-<td>
- <p>
- Peak=1.9 Mean=0.43
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=1.7 Mean=0.49)
- </p>
- </td>
-<td>
- <p>
- Peak=1.4 Mean=0.57
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak= 0.96 Mean=0.54)
- </p>
- </td>
-<td>
- <p>
- Peak=0.86 Mean=0.35
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0.74 Mean=0.26)
- </p>
- </td>
-<td>
- <p>
- Peak=6.0 Mean=1.8
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=3.0 Mean=0.86)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Linux IA64 / GCC
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.12
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 0)
- </p>
- </td>
-<td>
- <p>
- Pek=1.2 Mean=0.6
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=0.86 Mean=0.16
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=2.3 Mean=0.69
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 0)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=0.96 Mean=0.13
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.53
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=0.9 Mean=0.4
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=3.0 Mean=0.9
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.lgamma.h3"></a>
- <span><a name="math_toolkit.special.sf_gamma.lgamma.testing"></a></span><a class="link" href="lgamma.html#math_toolkit.special.sf_gamma.lgamma.testing">Testing</a>
- </h5>
-<p>
- The main tests for this function involve comparisons against the logs of
- the factorials which can be independently calculated to very high accuracy.
- </p>
-<p>
- Random tests in key problem areas are also used.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.lgamma.h4"></a>
- <span><a name="math_toolkit.special.sf_gamma.lgamma.implementation"></a></span><a class="link" href="lgamma.html#math_toolkit.special.sf_gamma.lgamma.implementation">Implementation</a>
- </h5>
-<p>
- The generic version of this function is implemented by combining the series
- and continued fraction representations for the incomplete gamma function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/lgamm2.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>l</em></span> is an arbitrary integration limit: choosing
- <code class="literal">l = max(10, a)</code> seems to work fairly well. For negative
- <span class="emphasis"><em>z</em></span> the logarithm version of the reflection formula
- is used:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/lgamm3.png"></span>
- </p>
-<p>
- For types of known precision, the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> is used, a traits class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lanczos</span><span class="special">::</span><span class="identifier">lanczos_traits</span></code>
- maps type T to an appropriate approximation. The logarithmic version of
- the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>
- is:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/lgamm4.png"></span>
- </p>
-<p>
- Where L<sub>e,g</sub> &#160; is the Lanczos sum, scaled by e<sup>g</sup>.
- </p>
-<p>
- As before the reflection formula is used for <span class="emphasis"><em>z &lt; 0</em></span>.
- </p>
-<p>
- When z is very near 1 or 2, then the logarithmic version of the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> suffers very badly from cancellation error: indeed
- for values sufficiently close to 1 or 2, arbitrarily large relative errors
- can be obtained (even though the absolute error is tiny).
- </p>
-<p>
- For types with up to 113 bits of precision (up to and including 128-bit
- long doubles), root-preserving rational approximations <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> are used over the intervals [1,2] and [2,3]. Over the interval
- [2,3] the approximation form used is:
- </p>
-<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">2</span><span class="special">)(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">2</span><span class="special">));</span>
-</pre>
-<p>
- Where Y is a constant, and R(z-2) is the rational approximation: optimised
- so that it's absolute error is tiny compared to Y. In addition small values
- of z greater than 3 can handled by argument reduction using the recurrence
- relation:
- </p>
-<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- Over the interval [1,2] two approximations have to be used, one for small
- z uses:
- </p>
-<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">1</span><span class="special">)(</span><span class="identifier">z</span><span class="special">-</span><span class="number">2</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">-</span><span class="number">1</span><span class="special">));</span>
-</pre>
-<p>
- Once again Y is a constant, and R(z-1) is optimised for low absolute error
- compared to Y. For z &gt; 1.5 the above form wouldn't converge to a minimax
- solution but this similar form does:
- </p>
-<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="special">(</span><span class="number">2</span><span class="special">-</span><span class="identifier">z</span><span class="special">)(</span><span class="number">1</span><span class="special">-</span><span class="identifier">z</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="number">2</span><span class="special">-</span><span class="identifier">z</span><span class="special">));</span>
-</pre>
-<p>
- Finally for z &lt; 1 the recurrence relation can be used to move to z &gt;
- 1:
- </p>
-<pre class="programlisting"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">-</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- Note that while this involves a subtraction, it appears not to suffer from
- cancellation error: as z decreases from 1 the <code class="computeroutput"><span class="special">-</span><span class="identifier">log</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code> term
- grows positive much more rapidly than the <code class="computeroutput"><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">z</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code> term becomes
- negative. So in this specific case, significant digits are preserved, rather
- than cancelled.
- </p>
-<p>
- For other types which do have a <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> defined for them the current solution is as follows:
- imagine we balance the two terms in the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> by dividing the power term by its value at <span class="emphasis"><em>z
- = 1</em></span>, and then multiplying the Lanczos coefficients by the same
- value. Now each term will take the value 1 at <span class="emphasis"><em>z = 1</em></span>
- and we can rearrange the power terms in terms of log1p. Likewise if we
- subtract 1 from the Lanczos sum part (algebraically, by subtracting the
- value of each term at <span class="emphasis"><em>z = 1</em></span>), we obtain a new summation
- that can be also be fed into log1p. Crucially, all of the terms tend to
- zero, as <span class="emphasis"><em>z -&gt; 1</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/lgamm5.png"></span>
- </p>
-<p>
- The C<sub>k</sub> &#160; terms in the above are the same as in the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>.
- </p>
-<p>
- A similar rearrangement can be performed at <span class="emphasis"><em>z = 2</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/lgamm6.png"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tgamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="digamma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/tgamma.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/tgamma.html
deleted file mode 100644
index d0c7d6766f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_gamma/tgamma.html
+++ /dev/null
@@ -1,468 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Gamma</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="prev" href="../sf_gamma.html" title="Gamma Functions">
-<link rel="next" href="lgamma.html" title="Log Gamma">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lgamma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_gamma_tgamma">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_gamma.tgamma"></a><a class="link" href="tgamma.html" title="Gamma">Gamma</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.tgamma.h0"></a>
- <span><a name="math_toolkit.special.sf_gamma.tgamma.synopsis"></a></span><a class="link" href="tgamma.html#math_toolkit.special.sf_gamma.tgamma.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_gamma.tgamma.h1"></a>
- <span><a name="math_toolkit.special.sf_gamma.tgamma.description"></a></span><a class="link" href="tgamma.html#math_toolkit.special.sf_gamma.tgamma.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the "true gamma" (hence name tgamma) of value z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/gamm1.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/tgamma.png" align="middle"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- There are effectively two versions of the <a href="http://en.wikipedia.org/wiki/Gamma_function" target="_top">tgamma</a>
- function internally: a fully generic version that is slow, but reasonably
- accurate, and a much more efficient approximation that is used where the
- number of digits in the significand of T correspond to a certain <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>.
- In practice any built in floating point type you will encounter has an
- appropriate <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> defined for it. It is also possible, given enough
- machine time, to generate further <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>'s using the program libs/math/tools/lanczos_generator.cpp.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the result is <code class="computeroutput"><span class="keyword">double</span></code>
- when T is an integer type, and T otherwise.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">dz</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">dz</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span> <span class="special">-</span>
- <span class="number">1</span></code>. Internally the implementation
- does not make use of the addition and subtraction implied by the definition,
- leading to accurate results even for very small <code class="computeroutput"><span class="identifier">dz</span></code>.
- However, the implementation is capped to either 35 digit accuracy, or to
- the precision of the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> associated with type T, whichever is more accurate.
- </p>
-<p>
- The return type of this function is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the result is <code class="computeroutput"><span class="keyword">double</span></code>
- when T is an integer type, and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.tgamma.h2"></a>
- <span><a name="math_toolkit.special.sf_gamma.tgamma.accuracy"></a></span><a class="link" href="tgamma.html#math_toolkit.special.sf_gamma.tgamma.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types, along with comparisons
- to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a>,
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>, <a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX C Library</a>
- and <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries.
- Unless otherwise specified any floating point type that is narrower than
- the one shown will have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Factorials and Half factorials
- </p>
- </th>
-<th>
- <p>
- Values Near Zero
- </p>
- </th>
-<th>
- <p>
- Values Near 1 or 2
- </p>
- </th>
-<th>
- <p>
- Values Near a Negative Pole
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32 Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=1.9 Mean=0.7
- </p>
- <p>
- (GSL=3.9)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=3.0)
- </p>
- </td>
-<td>
- <p>
- Peak=2.0 Mean=1.1
- </p>
- <p>
- (GSL=4.5)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1)
- </p>
- </td>
-<td>
- <p>
- Peak=2.0 Mean=1.1
- </p>
- <p>
- (GSL=7.9)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=1.0)
- </p>
- </td>
-<td>
- <p>
- Peak=2.6 Mean=1.3
- </p>
- <p>
- (GSL=2.5)
- </p>
- <p>
- (<a href="http://www.netlib.org/cephes/" target="_top">Cephes</a>=2.7)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Linux IA32 / GCC
- </p>
- </td>
-<td>
- <p>
- Peak=300 Mean=49.5
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=395 Mean=89)
- </p>
- </td>
-<td>
- <p>
- Peak=3.0 Mean=1.4
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=11 Mean=3.3)
- </p>
- </td>
-<td>
- <p>
- Peak=5.0 Mean=1.8
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=0.92 Mean=0.2)
- </p>
- </td>
-<td>
- <p>
- Peak=157 Mean=65
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak=205 Mean=108)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Linux IA64 / GCC
- </p>
- </td>
-<td>
- <p>
- <a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 2.8 Mean=0.9
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 0.7)
- </p>
- </td>
-<td>
- <p>
- Peak=4.8 Mean=1.5
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=4.8 Mean=1.5
- </p>
- <p>
- (<a href="http://www.gnu.org/software/libc/" target="_top">GNU C Lib</a>
- Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=5.0 Mean=1.7 (<a href="http://www.gnu.org/software/libc/" target="_top">GNU
- C Lib</a> Peak 0)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=2.5 Mean=1.1
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=3.5 Mean=1.7
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=3.5 Mean=1.6
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-<td>
- <p>
- Peak=5.2 Mean=1.92
- </p>
- <p>
- (<a href="http://docs.hp.com/en/B9106-90010/index.html" target="_top">HP-UX
- C Library</a> Peak 0)
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<h5>
-<a name="math_toolkit.special.sf_gamma.tgamma.h3"></a>
- <span><a name="math_toolkit.special.sf_gamma.tgamma.testing"></a></span><a class="link" href="tgamma.html#math_toolkit.special.sf_gamma.tgamma.testing">Testing</a>
- </h5>
-<p>
- The gamma is relatively easy to test: factorials and half-integer factorials
- can be calculated exactly by other means and compared with the gamma function.
- In addition, some accuracy tests in known tricky areas were computed at
- high precision using the generic version of this function.
- </p>
-<p>
- The function <code class="computeroutput"><span class="identifier">tgamma1pm1</span></code>
- is tested against values calculated very naively using the formula <code class="computeroutput"><span class="identifier">tgamma</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="identifier">dz</span><span class="special">)-</span><span class="number">1</span></code> with
- a lanczos approximation accurate to around 100 decimal digits.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_gamma.tgamma.h4"></a>
- <span><a name="math_toolkit.special.sf_gamma.tgamma.implementation"></a></span><a class="link" href="tgamma.html#math_toolkit.special.sf_gamma.tgamma.implementation">Implementation</a>
- </h5>
-<p>
- The generic version of the <code class="computeroutput"><span class="identifier">tgamma</span></code>
- function is implemented by combining the series and continued fraction
- representations for the incomplete gamma function:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/gamm2.png"></span>
- </p>
-<p>
- where <span class="emphasis"><em>l</em></span> is an arbitrary integration limit: choosing
- <code class="literal">l = max(10, a)</code> seems to work fairly well.
- </p>
-<p>
- For types of known precision the <a class="link" href="../../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> is used, a traits class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lanczos</span><span class="special">::</span><span class="identifier">lanczos_traits</span></code>
- maps type T to an appropriate approximation.
- </p>
-<p>
- For z in the range -20 &lt; z &lt; 1 then recursion is used to shift to
- z &gt; 1 via:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/gamm3.png"></span>
- </p>
-<p>
- For very small z, this helps to preserve the identity:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/gamm4.png"></span>
- </p>
-<p>
- For z &lt; -20 the reflection formula:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/gamm5.png"></span>
- </p>
-<p>
- is used. Particular care has to be taken to evaluate the <code class="computeroutput"><span class="identifier">z</span> <span class="special">*</span> <span class="identifier">sin</span><span class="special">([</span><span class="identifier">pi</span><span class="special">][</span><span class="identifier">space</span><span class="special">]</span> <span class="special">*</span> <span class="identifier">z</span><span class="special">)</span></code>
- part: a special routine is used to reduce z prior to multiplying by &#960; &#160; to
- ensure that the result in is the range [0, &#960;/2]. Without this an excessive
- amount of error occurs in this region (which is hard enough already, as
- the rate of change near a negative pole is <span class="emphasis"><em>exceptionally</em></span>
- high).
- </p>
-<p>
- Finally if the argument is a small integer then table lookup of the factorial
- is used.
- </p>
-<p>
- The function <code class="computeroutput"><span class="identifier">tgamma1pm1</span></code>
- is implemented using rational approximations <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> in the region <code class="computeroutput"><span class="special">-</span><span class="number">0.5</span> <span class="special">&lt;</span> <span class="identifier">dz</span> <span class="special">&lt;</span> <span class="number">2</span></code>. These are the same approximations (and
- internal routines) that are used for <a class="link" href="lgamma.html" title="Log Gamma">lgamma</a>,
- and so aren't detailed further here. The result of the approximation is
- <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">dz</span><span class="special">+</span><span class="number">1</span><span class="special">))</span></code> which can fed into <a class="link" href="../powers/expm1.html" title="expm1">expm1</a>
- to give the desired result. Outside the range <code class="computeroutput"><span class="special">-</span><span class="number">0.5</span> <span class="special">&lt;</span> <span class="identifier">dz</span> <span class="special">&lt;</span> <span class="number">2</span></code> then the naive formula <code class="computeroutput"><span class="identifier">tgamma1pm1</span><span class="special">(</span><span class="identifier">dz</span><span class="special">)</span>
- <span class="special">=</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">dz</span><span class="special">+</span><span class="number">1</span><span class="special">)-</span><span class="number">1</span></code>
- can be used directly.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_gamma.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="lgamma.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly.html
deleted file mode 100644
index 7be55ec5c9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Polynomials</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="sf_erf/error_inv.html" title="Error Function Inverses">
-<link rel="next" href="sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_erf/error_inv.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_poly/legendre.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_poly">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.sf_poly"></a><a class="link" href="sf_poly.html" title="Polynomials">Polynomials</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="sf_poly/legendre.html">Legendre (and
- Associated) Polynomials</a></span></dt>
-<dt><span class="section"><a href="sf_poly/laguerre.html">Laguerre (and
- Associated) Polynomials</a></span></dt>
-<dt><span class="section"><a href="sf_poly/hermite.html">Hermite Polynomials</a></span></dt>
-<dt><span class="section"><a href="sf_poly/sph_harm.html">Spherical Harmonics</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sf_erf/error_inv.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sf_poly/legendre.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html
deleted file mode 100644
index 422966d082..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html
+++ /dev/null
@@ -1,283 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Hermite Polynomials</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_poly.html" title="Polynomials">
-<link rel="prev" href="laguerre.html" title="Laguerre (and Associated) Polynomials">
-<link rel="next" href="sph_harm.html" title="Spherical Harmonics">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="laguerre.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_harm.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_poly_hermite">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_poly.hermite"></a><a class="link" href="hermite.html" title="Hermite Polynomials">Hermite Polynomials</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_poly.hermite.h0"></a>
- <span><a name="math_toolkit.special.sf_poly.hermite.synopsis"></a></span><a class="link" href="hermite.html#math_toolkit.special.sf_poly.hermite.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">hermite</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Hn</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Hnm1</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_poly.hermite.h1"></a>
- <span><a name="math_toolkit.special.sf_poly.hermite.description"></a></span><a class="link" href="hermite.html#math_toolkit.special.sf_poly.hermite.description">Description</a>
- </h5>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: note than when there is a single
- template argument the result is the same type as that argument or <code class="computeroutput"><span class="keyword">double</span></code> if the template argument is an integer
- type.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the value of the Hermite Polynomial of order <span class="emphasis"><em>n</em></span>
- at point <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/hermite_0.png"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- The following graph illustrates the behaviour of the first few Hermite
- Polynomials:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/hermite.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">hermite_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Hn</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Hnm1</span><span class="special">);</span>
-</pre>
-<p>
- Implements the three term recurrence relation for the Hermite polynomials,
- this function can be used to create a sequence of values evaluated at the
- same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>n</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/hermite_1.png"></span>
- </p>
-<p>
- For example we could produce a vector of the first 10 polynomial values
- using:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
-<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
-<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">hermite</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)).</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">hermite</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
- <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">hermite_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
-</pre>
-<p>
- Formally the arguments are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">n</span></dt>
-<dd><p>
- The degree <span class="emphasis"><em>n</em></span> of the last polynomial calculated.
- </p></dd>
-<dt><span class="term">x</span></dt>
-<dd><p>
- The abscissa value
- </p></dd>
-<dt><span class="term">Hn</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>n</em></span>.
- </p></dd>
-<dt><span class="term">Hnm1</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>n-1</em></span>.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="math_toolkit.special.sf_poly.hermite.h2"></a>
- <span><a name="math_toolkit.special.sf_poly.hermite.accuracy"></a></span><a class="link" href="hermite.html#math_toolkit.special.sf_poly.hermite.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows peak errors (in units of epsilon) for various
- domains of input arguments. Note that only results for the widest floating
- point type on the system are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_poly.hermite.peak_errors_in_the_hermite_polynomial"></a><p class="title"><b>Table&#160;37.&#160;Peak Errors In the Hermite Polynomial</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Hermite Polynomial">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0 &lt; l &lt; 20
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=4.5 Mean=1.5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA32, g++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=6 Mean=2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=6 Mean=2
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=6 Mean=4
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Note that the worst errors occur when the degree increases, values greater
- than ~120 are very unlikely to produce sensible results, especially in
- the associated polynomial case when the order is also large. Further the
- relative errors are likely to grow arbitrarily large when the function
- is very close to a root.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.hermite.h3"></a>
- <span><a name="math_toolkit.special.sf_poly.hermite.testing"></a></span><a class="link" href="hermite.html#math_toolkit.special.sf_poly.hermite.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot tests of values calculated using functions.wolfram.com,
- and randomly generated test data are used: the test data was computed using
- <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
- precision.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.hermite.h4"></a>
- <span><a name="math_toolkit.special.sf_poly.hermite.implementation"></a></span><a class="link" href="hermite.html#math_toolkit.special.sf_poly.hermite.implementation">Implementation</a>
- </h5>
-<p>
- These functions are implemented using the stable three term recurrence
- relations. These relations guarentee low absolute error but cannot guarentee
- low relative error near one of the roots of the polynomials.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="laguerre.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sph_harm.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html
deleted file mode 100644
index 290de0bc9e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html
+++ /dev/null
@@ -1,457 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Laguerre (and Associated) Polynomials</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_poly.html" title="Polynomials">
-<link rel="prev" href="legendre.html" title="Legendre (and Associated) Polynomials">
-<link rel="next" href="hermite.html" title="Hermite Polynomials">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="legendre.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hermite.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_poly_laguerre">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_poly.laguerre"></a><a class="link" href="laguerre.html" title="Laguerre (and Associated) Polynomials">Laguerre (and
- Associated) Polynomials</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_poly.laguerre.h0"></a>
- <span><a name="math_toolkit.special.sf_poly.laguerre.synopsis"></a></span><a class="link" href="laguerre.html#math_toolkit.special.sf_poly.laguerre.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">laguerre</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
-
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_poly.laguerre.h1"></a>
- <span><a name="math_toolkit.special.sf_poly.laguerre.description"></a></span><a class="link" href="laguerre.html#math_toolkit.special.sf_poly.laguerre.description">Description</a>
- </h5>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: note than when there is a single
- template argument the result is the same type as that argument or <code class="computeroutput"><span class="keyword">double</span></code> if the template argument is an integer
- type.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the value of the Laguerre Polynomial of order <span class="emphasis"><em>n</em></span>
- at point <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/laguerre_0.png"></span>
- </p>
-<p>
- The following graph illustrates the behaviour of the first few Laguerre
- Polynomials:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/laguerre.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the Associated Laguerre polynomial of degree <span class="emphasis"><em>n</em></span>
- and order <span class="emphasis"><em>m</em></span> at point <span class="emphasis"><em>x</em></span>:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/laguerre_1.png"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
-</pre>
-<p>
- Implements the three term recurrence relation for the Laguerre polynomials,
- this function can be used to create a sequence of values evaluated at the
- same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>n</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/laguerre_2.png"></span>
- </p>
-<p>
- For example we could produce a vector of the first 10 polynomial values
- using:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
-<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
-<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)).</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
- <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
-</pre>
-<p>
- Formally the arguments are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">n</span></dt>
-<dd><p>
- The degree <span class="emphasis"><em>n</em></span> of the last polynomial calculated.
- </p></dd>
-<dt><span class="term">x</span></dt>
-<dd><p>
- The abscissa value
- </p></dd>
-<dt><span class="term">Ln</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>n</em></span>.
- </p></dd>
-<dt><span class="term">Lnm1</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>n-1</em></span>.
- </p></dd>
-</dl>
-</div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">laguerre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Ln</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Lnm1</span><span class="special">);</span>
-</pre>
-<p>
- Implements the three term recurrence relation for the Associated Laguerre
- polynomials, this function can be used to create a sequence of values evaluated
- at the same <span class="emphasis"><em>x</em></span>, and for rising degree <span class="emphasis"><em>n</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/laguerre_3.png"></span>
- </p>
-<p>
- For example we could produce a vector of the first 10 polynomial values
- using:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
-<span class="keyword">int</span> <span class="identifier">m</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="comment">// order</span>
-<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
-<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)).</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
- <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">laguerre_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
-</pre>
-<p>
- Formally the arguments are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">n</span></dt>
-<dd><p>
- The degree of the last polynomial calculated.
- </p></dd>
-<dt><span class="term">m</span></dt>
-<dd><p>
- The order of the Associated Polynomial.
- </p></dd>
-<dt><span class="term">x</span></dt>
-<dd><p>
- The abscissa value.
- </p></dd>
-<dt><span class="term">Ln</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>n</em></span>.
- </p></dd>
-<dt><span class="term">Lnm1</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>n-1</em></span>.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="math_toolkit.special.sf_poly.laguerre.h2"></a>
- <span><a name="math_toolkit.special.sf_poly.laguerre.accuracy"></a></span><a class="link" href="laguerre.html#math_toolkit.special.sf_poly.laguerre.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows peak errors (in units of epsilon) for various
- domains of input arguments. Note that only results for the widest floating
- point type on the system are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_poly.laguerre.peak_errors_in_the_laguerre_polynomial"></a><p class="title"><b>Table&#160;35.&#160;Peak Errors In the Laguerre Polynomial</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Laguerre Polynomial">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0 &lt; l &lt; 20
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=3000 Mean=185
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux IA32, g++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=1x10<sup>4</sup> Mean=828
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=1x10<sup>4</sup> Mean=828
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=680 Mean=40
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_poly.laguerre.peak_errors_in_the_associated_laguerre_polynomial"></a><p class="title"><b>Table&#160;36.&#160;Peak Errors In the Associated Laguerre Polynomial</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Associated Laguerre Polynomial">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0 &lt; l &lt; 20
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=433 Mean=11
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux IA32, g++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=61.4 Mean=19.5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=61.4 Mean=19.5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=540 Mean=13.94
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Note that the worst errors occur when the degree increases, values greater
- than ~120 are very unlikely to produce sensible results, especially in
- the associated polynomial case when the order is also large. Further the
- relative errors are likely to grow arbitrarily large when the function
- is very close to a root.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.laguerre.h3"></a>
- <span><a name="math_toolkit.special.sf_poly.laguerre.testing"></a></span><a class="link" href="laguerre.html#math_toolkit.special.sf_poly.laguerre.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot tests of values calculated using functions.wolfram.com,
- and randomly generated test data are used: the test data was computed using
- <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
- precision.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.laguerre.h4"></a>
- <span><a name="math_toolkit.special.sf_poly.laguerre.implementation"></a></span><a class="link" href="laguerre.html#math_toolkit.special.sf_poly.laguerre.implementation">Implementation</a>
- </h5>
-<p>
- These functions are implemented using the stable three term recurrence
- relations. These relations guarentee low absolute error but cannot guarentee
- low relative error near one of the roots of the polynomials.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="legendre.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="hermite.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html
deleted file mode 100644
index fc14a2831c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html
+++ /dev/null
@@ -1,711 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Legendre (and Associated) Polynomials</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_poly.html" title="Polynomials">
-<link rel="prev" href="../sf_poly.html" title="Polynomials">
-<link rel="next" href="laguerre.html" title="Laguerre (and Associated) Polynomials">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laguerre.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_poly_legendre">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_poly.legendre"></a><a class="link" href="legendre.html" title="Legendre (and Associated) Polynomials">Legendre (and
- Associated) Polynomials</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_poly.legendre.h0"></a>
- <span><a name="math_toolkit.special.sf_poly.legendre.synopsis"></a></span><a class="link" href="legendre.html#math_toolkit.special.sf_poly.legendre.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">legendre</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
-
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: note than when there is a single
- template argument the result is the same type as that argument or <code class="computeroutput"><span class="keyword">double</span></code> if the template argument is an integer
- type.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.legendre.h1"></a>
- <span><a name="math_toolkit.special.sf_poly.legendre.description"></a></span><a class="link" href="legendre.html#math_toolkit.special.sf_poly.legendre.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the Legendre Polynomial of the first kind:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/legendre_0.png"></span>
- </p>
-<p>
- Requires -1 &lt;= x &lt;= 1, otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- Negative orders are handled via the reflection formula:
- </p>
-<p>
- P<sub>-l-1</sub>(x) = P<sub>l</sub>(x)
- </p>
-<p>
- The following graph illustrates the behaviour of the first few Legendre
- Polynomials:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/legendre_p.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_p</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the associated Legendre polynomial of the first kind:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/legendre_1.png"></span>
- </p>
-<p>
- Requires -1 &lt;= x &lt;= 1, otherwise returns the result of <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- </p>
-<p>
- Negative values of <span class="emphasis"><em>l</em></span> and <span class="emphasis"><em>m</em></span> are
- handled via the identity relations:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/legendre_3.png"></span>
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The definition of the associated Legendre polynomial used here includes
- a leading Condon-Shortley phase term of (-1)<sup>m</sup>. This matches the definition
- given by Abramowitz and Stegun (8.6.6) and that used by <a href="http://mathworld.wolfram.com/LegendrePolynomial.html" target="_top">Mathworld</a>
- and <a href="http://documents.wolfram.com/mathematica/functions/LegendreP" target="_top">Mathematica's
- LegendreP function</a>. However, uses in the literature do not always
- include this phase term, and strangely the specification for the associated
- Legendre function in the C++ TR1 (assoc_legendre) also omits it, in spite
- of stating that it uses Abramowitz and Stegun as the final arbiter on
- these matters.
- </p>
-<p>
- See:
- </p>
-<p>
- <a href="http://mathworld.wolfram.com/LegendrePolynomial.html" target="_top">Weisstein,
- Eric W. "Legendre Polynomial." From MathWorld--A Wolfram Web
- Resource</a>.
- </p>
-<p>
- Abramowitz, M. and Stegun, I. A. (Eds.). "Legendre Functions"
- and "Orthogonal Polynomials." Ch. 22 in Chs. 8 and 22 in Handbook
- of Mathematical Functions with Formulas, Graphs, and Mathematical Tables,
- 9th printing. New York: Dover, pp. 331-339 and 771-802, 1972.
- </p>
-</td></tr>
-</table></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_q</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the value of the Legendre polynomial that is the second solution
- to the Legendre differential equation, for example:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/legendre_2.png"></span>
- </p>
-<p>
- Requires -1 &lt;= x &lt;= 1, otherwise <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>
- is called.
- </p>
-<p>
- The following graph illustrates the first few Legendre functions of the
- second kind:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/legendre_q.png" align="middle"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
-</pre>
-<p>
- Implements the three term recurrence relation for the Legendre polynomials,
- this function can be used to create a sequence of values evaluated at the
- same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>l</em></span>. This
- recurrence relation holds for Legendre Polynomials of both the first and
- second kinds.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/legendre_4.png"></span>
- </p>
-<p>
- For example we could produce a vector of the first 10 polynomial values
- using:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
-<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
-<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
- <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_next</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
-<span class="comment">// Double check values:</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
- <span class="identifier">assert</span><span class="special">(</span><span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">]</span> <span class="special">==</span> <span class="identifier">legendre_p</span><span class="special">(</span><span class="identifier">l</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-</pre>
-<p>
- Formally the arguments are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">l</span></dt>
-<dd><p>
- The degree of the last polynomial calculated.
- </p></dd>
-<dt><span class="term">x</span></dt>
-<dd><p>
- The abscissa value
- </p></dd>
-<dt><span class="term">Pl</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>l</em></span>.
- </p></dd>
-<dt><span class="term">Plm1</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>l-1</em></span>.
- </p></dd>
-</dl>
-</div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">legendre_next</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">Pl</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">Plm1</span><span class="special">);</span>
-</pre>
-<p>
- Implements the three term recurrence relation for the Associated Legendre
- polynomials, this function can be used to create a sequence of values evaluated
- at the same <span class="emphasis"><em>x</em></span>, and for rising <span class="emphasis"><em>l</em></span>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/legendre_5.png"></span>
- </p>
-<p>
- For example we could produce a vector of the first m+10 polynomial values
- using:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">0.5</span><span class="special">;</span> <span class="comment">// Abscissa value</span>
-<span class="keyword">int</span> <span class="identifier">m</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span> <span class="comment">// order</span>
-<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
-<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="identifier">m</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_p</span><span class="special">(</span><span class="number">1</span> <span class="special">+</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
- <span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">legendre_next</span><span class="special">(</span><span class="identifier">l</span> <span class="special">+</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">],</span> <span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">-</span><span class="number">1</span><span class="special">]));</span>
-<span class="comment">// Double check values:</span>
-<span class="keyword">for</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span> <span class="identifier">l</span> <span class="special">&lt;</span> <span class="number">10</span><span class="special">;</span> <span class="special">++</span><span class="identifier">l</span><span class="special">)</span>
- <span class="identifier">assert</span><span class="special">(</span><span class="identifier">v</span><span class="special">[</span><span class="identifier">l</span><span class="special">]</span> <span class="special">==</span> <span class="identifier">legendre_p</span><span class="special">(</span><span class="number">10</span> <span class="special">+</span> <span class="identifier">l</span><span class="special">,</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">x</span><span class="special">));</span>
-</pre>
-<p>
- Formally the arguments are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">l</span></dt>
-<dd><p>
- The degree of the last polynomial calculated.
- </p></dd>
-<dt><span class="term">m</span></dt>
-<dd><p>
- The order of the Associated Polynomial.
- </p></dd>
-<dt><span class="term">x</span></dt>
-<dd><p>
- The abscissa value
- </p></dd>
-<dt><span class="term">Pl</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>l</em></span>.
- </p></dd>
-<dt><span class="term">Plm1</span></dt>
-<dd><p>
- The value of the polynomial evaluated at degree <span class="emphasis"><em>l-1</em></span>.
- </p></dd>
-</dl>
-</div>
-<h5>
-<a name="math_toolkit.special.sf_poly.legendre.h2"></a>
- <span><a name="math_toolkit.special.sf_poly.legendre.accuracy"></a></span><a class="link" href="legendre.html#math_toolkit.special.sf_poly.legendre.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows peak errors (in units of epsilon) for various
- domains of input arguments. Note that only results for the widest floating
- point type on the system are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_poly.legendre.peak_errors_in_the_legendre_p_function"></a><p class="title"><b>Table&#160;32.&#160;Peak Errors In the Legendre P Function</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Legendre P Function">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0 &lt; l &lt; 20
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 20 &lt; l &lt; 120
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=211 Mean=20
- </p>
- </td>
-<td>
- <p>
- Peak=300 Mean=33
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux IA32, g++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=70 Mean=10
- </p>
- </td>
-<td>
- <p>
- Peak=700 Mean=60
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=70 Mean=10
- </p>
- </td>
-<td>
- <p>
- Peak=700 Mean=60
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=35 Mean=6
- </p>
- </td>
-<td>
- <p>
- Peak=292 Mean=41
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_poly.legendre.peak_errors_in_the_associated_legendre_p_function"></a><p class="title"><b>Table&#160;33.&#160;Peak Errors In the Associated Legendre P Function</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Associated Legendre P Function">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0 &lt; l &lt; 20
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=1200 Mean=7
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux IA32, g++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=80 Mean=5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=80 Mean=5
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=42 Mean=4
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="table">
-<a name="math_toolkit.special.sf_poly.legendre.peak_errors_in_the_legendre_q_function"></a><p class="title"><b>Table&#160;34.&#160;Peak Errors In the Legendre Q Function</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Legendre Q Function">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0 &lt; l &lt; 20
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 20 &lt; l &lt; 120
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=50 Mean=7
- </p>
- </td>
-<td>
- <p>
- Peak=4600 Mean=370
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux IA32, g++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=51 Mean=8
- </p>
- </td>
-<td>
- <p>
- Peak=6000 Mean=480
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=51 Mean=8
- </p>
- </td>
-<td>
- <p>
- Peak=6000 Mean=480
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=90 Mean=10
- </p>
- </td>
-<td>
- <p>
- Peak=1700 Mean=140
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Note that the worst errors occur when the order increases, values greater
- than ~120 are very unlikely to produce sensible results, especially in
- the associated polynomial case when the degree is also large. Further the
- relative errors are likely to grow arbitrarily large when the function
- is very close to a root.
- </p>
-<p>
- No comparisons to other libraries are shown here: there appears to be only
- one viable implementation method for these functions, the comparisons to
- other libraries that have been run show identical error rates to those
- given here.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.legendre.h3"></a>
- <span><a name="math_toolkit.special.sf_poly.legendre.testing"></a></span><a class="link" href="legendre.html#math_toolkit.special.sf_poly.legendre.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot tests of values calculated using functions.wolfram.com,
- and randomly generated test data are used: the test data was computed using
- <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
- precision.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.legendre.h4"></a>
- <span><a name="math_toolkit.special.sf_poly.legendre.implementation"></a></span><a class="link" href="legendre.html#math_toolkit.special.sf_poly.legendre.implementation">Implementation</a>
- </h5>
-<p>
- These functions are implemented using the stable three term recurrence
- relations. These relations guarentee low absolute error but cannot guarentee
- low relative error near one of the roots of the polynomials.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="laguerre.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html
deleted file mode 100644
index 0d2432d312..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html
+++ /dev/null
@@ -1,310 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Spherical Harmonics</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sf_poly.html" title="Polynomials">
-<link rel="prev" href="hermite.html" title="Hermite Polynomials">
-<link rel="next" href="../bessel.html" title="Bessel Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hermite.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sf_poly_sph_harm">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sf_poly.sph_harm"></a><a class="link" href="sph_harm.html" title="Spherical Harmonics">Spherical Harmonics</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.sf_poly.sph_harm.h0"></a>
- <span><a name="math_toolkit.special.sf_poly.sph_harm.synopsis"></a></span><a class="link" href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">spheric_harmonic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.special.sf_poly.sph_harm.h1"></a>
- <span><a name="math_toolkit.special.sf_poly.sph_harm.description"></a></span><a class="link" href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.description">Description</a>
- </h5>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T1 and T2 are different types.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">spherical_harmonic</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the value of the Spherical Harmonic Y<sub>n</sub><sup>m</sup>(theta, phi):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/spherical_0.png"></span>
- </p>
-<p>
- The spherical harmonics Y<sub>n</sub><sup>m</sup>(theta, phi) are the angular portion of the
- solution to Laplace's equation in spherical coordinates where azimuthal
- symmetry is not present.
- </p>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- Care must be taken in correctly identifying the arguments to this function:
- &#952; &#160; is taken as the polar (colatitudinal) coordinate with &#952; &#160; in [0, &#960;], and &#966; &#160; as
- the azimuthal (longitudinal) coordinate with &#966; &#160; in [0,2&#960;). This is the convention
- used in Physics, and matches the definition used by <a href="http://documents.wolfram.com/mathematica/functions/SphericalHarmonicY" target="_top">Mathematica
- in the function SpericalHarmonicY</a>, but is opposite to the usual
- mathematical conventions.
- </p>
-<p>
- Some other sources include an additional Condon-Shortley phase term of
- (-1)<sup>m</sup> in the definition of this function: note however that our definition
- of the associated Legendre polynomial already includes this term.
- </p>
-<p>
- This implementation returns zero for m &gt; n
- </p>
-<p>
- For &#952; &#160; outside [0, &#960;] and &#966; &#160; outside [0, 2&#960;] this implementation follows the
- convention used by Mathematica: the function is periodic with period
- &#960; &#160; in &#952; &#160; and 2&#960; &#160; in &#966;. Please note that this is not the behaviour one would get
- from a casual application of the function's definition. Cautious users
- should keep &#952; &#160; and &#966; &#160; to the range [0, &#960;] and [0, 2&#960;] respectively.
- </p>
-<p>
- See: <a href="http://mathworld.wolfram.com/SphericalHarmonic.html" target="_top">Weisstein,
- Eric W. "Spherical Harmonic." From MathWorld--A Wolfram Web
- Resource</a>.
- </p>
-</td></tr>
-</table></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_r</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the real part of Y<sub>n</sub><sup>m</sup>(theta, phi):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/spherical_1.png"></span>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">spherical_harmonic_i</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">T1</span> <span class="identifier">theta</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the imaginary part of Y<sub>n</sub><sup>m</sup>(theta, phi):
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/spherical_2.png"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.sph_harm.h2"></a>
- <span><a name="math_toolkit.special.sf_poly.sph_harm.accuracy"></a></span><a class="link" href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows peak errors for various domains of input arguments.
- Note that only results for the widest floating point type on the system
- are given as narrower types have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively
- zero error</a>. Peak errors are the same for both the real and imaginary
- parts, as the error is dominated by calculation of the associated Legendre
- polynomials: especially near the roots of the associated Legendre function.
- </p>
-<p>
- All values are in units of epsilon.
- </p>
-<div class="table">
-<a name="math_toolkit.special.sf_poly.sph_harm.peak_errors_in_the_sperical_harmonic_functions"></a><p class="title"><b>Table&#160;38.&#160;Peak Errors In the Sperical Harmonic Functions</b></p>
-<div class="table-contents"><table class="table" summary="Peak Errors In the Sperical Harmonic Functions">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- Errors in range
- </p>
- <p>
- 0 &lt; l &lt; 20
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=2x10<sup>4</sup> Mean=700
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- SUSE Linux IA32, g++ 4.1
- </p>
- </td>
-<td>
- <p>
- Peak=2900 Mean=100
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Red Hat Linux IA64, g++ 3.4.4
- </p>
- </td>
-<td>
- <p>
- Peak=2900 Mean=100
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=6700 Mean=230
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- Note that the worst errors occur when the degree increases, values greater
- than ~120 are very unlikely to produce sensible results, especially when
- the order is also large. Further the relative errors are likely to grow
- arbitrarily large when the function is very close to a root.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.sph_harm.h3"></a>
- <span><a name="math_toolkit.special.sf_poly.sph_harm.testing"></a></span><a class="link" href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.testing">Testing</a>
- </h5>
-<p>
- A mixture of spot tests of values calculated using functions.wolfram.com,
- and randomly generated test data are used: the test data was computed using
- <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000-bit
- precision.
- </p>
-<h5>
-<a name="math_toolkit.special.sf_poly.sph_harm.h4"></a>
- <span><a name="math_toolkit.special.sf_poly.sph_harm.implementation"></a></span><a class="link" href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.implementation">Implementation</a>
- </h5>
-<p>
- These functions are implemented fairly naively using the formulae given
- above. Some extra care is taken to prevent roundoff error when converting
- from polar coordinates (so for example the <span class="emphasis"><em>1-x<sup>2</sup></em></span> term
- used by the associated Legendre functions is calculated without roundoff
- error using <span class="emphasis"><em>x = cos(theta)</em></span>, and <span class="emphasis"><em>1-x<sup>2</sup> = sin<sup>2</sup>(theta)</em></span>).
- The limiting factor in the error rates for these functions is the need
- to calculate values near the roots of the associated Legendre functions.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="hermite.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sf_poly.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../bessel.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc.html
deleted file mode 100644
index 5b4a51d63b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Sinus Cardinal and Hyperbolic Sinus Cardinal Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="powers/ct_pow.html" title="Compile Time Power of a Runtime Base">
-<link rel="next" href="sinc/sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="powers/ct_pow.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc/sinc_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sinc">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.sinc"></a><a class="link" href="sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">Sinus Cardinal and Hyperbolic
- Sinus Cardinal Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="sinc/sinc_overview.html">Sinus Cardinal
- and Hyperbolic Sinus Cardinal Functions Overview</a></span></dt>
-<dt><span class="section"><a href="sinc/sinc_pi.html">sinc_pi</a></span></dt>
-<dt><span class="section"><a href="sinc/sinhc_pi.html">sinhc_pi</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="powers/ct_pow.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc/sinc_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_overview.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_overview.html
deleted file mode 100644
index 02932e9a69..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_overview.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
-<link rel="prev" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
-<link rel="next" href="sinc_pi.html" title="sinc_pi">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sinc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc_pi.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sinc_sinc_overview">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sinc.sinc_overview"></a><a class="link" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">Sinus Cardinal
- and Hyperbolic Sinus Cardinal Functions Overview</a>
-</h4></div></div></div>
-<p>
- The <a href="http://mathworld.wolfram.com/SincFunction.html" target="_top">Sinus Cardinal
- family of functions</a> (indexed by the family of indices <code class="literal">a
- &gt; 0</code>) is defined by
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb20.png"></span>
- </p>
-<p>
- it sees heavy use in signal processing tasks.
- </p>
-<p>
- By analogy, the <a href="http://mathworld.wolfram.com/SinhcFunction.htm" target="_top">Hyperbolic
- Sinus Cardinal</a> family of functions (also indexed by the family
- of indices <code class="literal">a &gt; 0</code>) is defined by
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/special_functions_blurb22.png"></span>
- </p>
-<p>
- These two families of functions are composed of entire functions.
- </p>
-<p>
- These functions (<a class="link" href="sinc_pi.html" title="sinc_pi">sinc_pi</a>
- and <a class="link" href="sinhc_pi.html" title="sinhc_pi">sinhc_pi</a>)
- are needed by <a href="http://www.boost.org/libs/math/quaternion/quaternion.html" target="_top">our
- implementation</a> of <a href="http://mathworld.wolfram.com/Quaternion.html" target="_top">quaternions</a>
- and <a href="http://mathworld.wolfram.com/Octonion.html" target="_top">octonions</a>.
- </p>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em><span class="bold"><strong>Sinus Cardinal of index pi (purple) and
- Hyperbolic Sinus Cardinal of index pi (red) on R</strong></span></em></span>
- </p></blockquote></div>
-<div class="blockquote"><blockquote class="blockquote"><p>
- <span class="inlinemediaobject"><img src="../../../../graphs/sinc_pi_and_sinhc_pi_on_r.png" alt="sinc_pi_and_sinhc_pi_on_r"></span>
- </p></blockquote></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../sinc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinc_pi.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_pi.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_pi.html
deleted file mode 100644
index 5985d4f96e..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinc_pi.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>sinc_pi</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
-<link rel="prev" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">
-<link rel="next" href="sinhc_pi.html" title="sinhc_pi">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sinc_overview.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinhc_pi.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sinc_sinc_pi">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sinc.sinc_pi"></a><a class="link" href="sinc_pi.html" title="sinc_pi">sinc_pi</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sinc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Computes <a class="link" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">the Sinus
- Cardinal</a> of x:
- </p>
-<pre class="programlisting"><span class="identifier">sinc_pi</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">sin</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">x</span>
-</pre>
-<p>
- The second form is for complex numbers, quaternions, octonions etc. Taylor
- series are used at the origin to ensure accuracy.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/sinc_pi.png" align="middle"></span>
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sinc_overview.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sinhc_pi.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinhc_pi.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinhc_pi.html
deleted file mode 100644
index 150c1decdd..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/sinc/sinhc_pi.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>sinhc_pi</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
-<link rel="prev" href="sinc_pi.html" title="sinc_pi">
-<link rel="next" href="../inv_hyper.html" title="Inverse Hyperbolic Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sinc_pi.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_sinc_sinhc_pi">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.sinc.sinhc_pi"></a><a class="link" href="sinhc_pi.html" title="sinhc_pi">sinhc_pi</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sinhc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">sinhc_pi</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Computes http://mathworld.wolfram.com/SinhcFunction.html <a class="link" href="sinc_overview.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview">the
- Hyperbolic Sinus Cardinal</a> of x:
- </p>
-<pre class="programlisting"><span class="identifier">sinhc_pi</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">sinh</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">/</span> <span class="identifier">x</span>
-</pre>
-<p>
- The second form is for complex numbers, quaternions, octonions etc. Taylor
- series are used at the origin to ensure accuracy.
- </p>
-<p>
- The return type of the first form is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a> when T is an integer type.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/sinhc_pi.png" align="middle"></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sinc_pi.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../sinc.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../inv_hyper.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html
deleted file mode 100644
index f1d7663614..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Zeta Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../special.html" title="Special Functions">
-<link rel="prev" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">
-<link rel="next" href="zetas/zeta.html" title="Riemann Zeta Function">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint/ellint_3.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zetas/zeta.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_zetas">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.zetas"></a><a class="link" href="zetas.html" title="Zeta Functions">Zeta Functions</a>
-</h3></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="zetas/zeta.html">Riemann Zeta Function</a></span></dt></dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="ellint/ellint_3.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zetas/zeta.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html b/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html
deleted file mode 100644
index cfd61a2b9a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Riemann Zeta Function</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../zetas.html" title="Zeta Functions">
-<link rel="prev" href="../zetas.html" title="Zeta Functions">
-<link rel="next" href="../expint.html" title="Exponential Integrals">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../zetas.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../zetas.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expint.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_special_zetas_zeta">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.special.zetas.zeta"></a><a class="link" href="zeta.html" title="Riemann Zeta Function">Riemann Zeta Function</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.special.zetas.zeta.h0"></a>
- <span><a name="math_toolkit.special.zetas.zeta.synopsis"></a></span><a class="link" href="zeta.html#math_toolkit.special.zetas.zeta.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">zeta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The return type of these functions is computed using the <a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
- type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
- </p>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<h5>
-<a name="math_toolkit.special.zetas.zeta.h1"></a>
- <span><a name="math_toolkit.special.zetas.zeta.description"></a></span><a class="link" href="zeta.html#math_toolkit.special.zetas.zeta.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- Returns the <a href="http://mathworld.wolfram.com/RiemannZetaFunction.html" target="_top">zeta
- function</a> of z:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/zeta1.png"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/zeta1.png" align="middle"></span>
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/zeta2.png" align="middle"></span>
- </p>
-<h5>
-<a name="math_toolkit.special.zetas.zeta.h2"></a>
- <span><a name="math_toolkit.special.zetas.zeta.accuracy"></a></span><a class="link" href="zeta.html#math_toolkit.special.zetas.zeta.accuracy">Accuracy</a>
- </h5>
-<p>
- The following table shows the peak errors (in units of epsilon) found on
- various platforms with various floating point types, along with comparisons
- to the <a href="http://www.gnu.org/software/gsl/" target="_top">GSL-1.9</a> and
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> libraries. Unless
- otherwise specified any floating point type that is narrower than the one
- shown will have <a class="link" href="../../backgrounders/relative_error.html#zero_error">effectively zero error</a>.
- </p>
-<div class="table">
-<a name="math_toolkit.special.zetas.zeta.errors_in_the_function_zeta_z_"></a><p class="title"><b>Table&#160;47.&#160;Errors In the Function zeta(z)</b></p>
-<div class="table-contents"><table class="table" summary="Errors In the Function zeta(z)">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Significand Size
- </p>
- </th>
-<th>
- <p>
- Platform and Compiler
- </p>
- </th>
-<th>
- <p>
- z &gt; 0
- </p>
- </th>
-<th>
- <p>
- z &lt; 0
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- 53
- </p>
- </td>
-<td>
- <p>
- Win32, Visual C++ 8
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.1
- </p>
- <p>
- GSL Peak=8.7 Mean=1.0
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=2.1
- Mean=1.1
- </p>
- </td>
-<td>
- <p>
- Peak=7.1 Mean=3.0
- </p>
- <p>
- GSL Peak=137 Mean=14
- </p>
- <p>
- <a href="http://www.netlib.org/cephes/" target="_top">Cephes</a> Peak=5084
- Mean=470
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- RedHat Linux IA_EM64, gcc-4.1
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.5
- </p>
- </td>
-<td>
- <p>
- Peak=570 Mean=60
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 64
- </p>
- </td>
-<td>
- <p>
- Redhat Linux IA64, gcc-4.1
- </p>
- </td>
-<td>
- <p>
- Peak=0.99 Mean=0.5
- </p>
- </td>
-<td>
- <p>
- Peak=559 Mean=56
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- 113
- </p>
- </td>
-<td>
- <p>
- HPUX IA64, aCC A.06.06
- </p>
- </td>
-<td>
- <p>
- Peak=1.0 Mean=0.4
- </p>
- </td>
-<td>
- <p>
- Peak=1018 Mean=79
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><h5>
-<a name="math_toolkit.special.zetas.zeta.h3"></a>
- <span><a name="math_toolkit.special.zetas.zeta.testing"></a></span><a class="link" href="zeta.html#math_toolkit.special.zetas.zeta.testing">Testing</a>
- </h5>
-<p>
- The tests for these functions come in two parts: basic sanity checks use
- spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Zeta" target="_top">Mathworld's
- online evaluator</a>, while accuracy checks use high-precision test
- values calculated at 1000-bit precision with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
- and this implementation. Note that the generic and type-specific versions
- of these functions use differing implementations internally, so this gives
- us reasonably independent test data. Using our test data to test other
- "known good" implementations also provides an additional sanity
- check.
- </p>
-<h5>
-<a name="math_toolkit.special.zetas.zeta.h4"></a>
- <span><a name="math_toolkit.special.zetas.zeta.implementation"></a></span><a class="link" href="zeta.html#math_toolkit.special.zetas.zeta.implementation">Implementation</a>
- </h5>
-<p>
- All versions of these functions first use the usual reflection formulas
- to make their arguments positive:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/zeta3.png"></span>
- </p>
-<p>
- The generic versions of these functions are implemented using the series:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/zeta6.png"></span>
- </p>
-<p>
- When the significand (mantissa) size is recognised (currently for 53, 64
- and 113-bit reals, plus single-precision 24-bit handled via promotion to
- double) then a series of rational approximations <a class="link" href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
- by JM</a> are used.
- </p>
-<p>
- For 0 &lt; z &lt; 1 the approximating form is:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/zeta4.png"></span>
- </p>
-<p>
- For a rational approximation R(1-z) and a constant C.
- </p>
-<p>
- For 1 &lt; z &lt; 4 the approximating form is:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/zeta5.png"></span>
- </p>
-<p>
- For a rational approximation R(n-z) and a constant C and integer n.
- </p>
-<p>
- For z &gt; 4 the approximating form is:
- </p>
-<p>
- &#950;(z) = 1 + e<sup>R(z - n)</sup>
- </p>
-<p>
- For a rational approximation R(z-n) and integer n, note that the accuracy
- required for R(z-n) is not full machine precision, but an absolute error
- of: &#949;/R(0). This saves us quite a few digits when dealing with large z,
- especially when &#949; is small.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../zetas.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../zetas.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../expint.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/status.html b/libs/math/doc/sf_and_dist/html/math_toolkit/status.html
deleted file mode 100644
index 9bb9ff0485..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/status.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Library Status</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="backgrounders/refs.html" title="References">
-<link rel="next" href="status/history1.html" title="History and What's New">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="backgrounders/refs.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="status/history1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_status">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.status"></a><a class="link" href="status.html" title="Library Status">Library Status</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="status/history1.html">History and What's New</a></span></dt>
-<dt><span class="section"><a href="status/issues.html">Known Issues, and TODO List</a></span></dt>
-<dt><span class="section"><a href="status/credits.html">Credits and Acknowledgements</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="backgrounders/refs.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="status/history1.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html b/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html
deleted file mode 100644
index 04dd3d92b0..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Credits and Acknowledgements</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../status.html" title="Library Status">
-<link rel="prev" href="issues.html" title="Known Issues, and TODO List">
-<link rel="next" href="../../index/s13.html" title="Function Index">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="issues.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../index/s13.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_status_credits">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.status.credits"></a><a class="link" href="credits.html" title="Credits and Acknowledgements">Credits and Acknowledgements</a>
-</h3></div></div></div>
-<p>
- Hubert Holin started the Boost.Math library. The inverse hyperbolic functions,
- and the sinus cardinal functions are his.
- </p>
-<p>
- John Maddock started this library, the beta, gamma, erf, polynomial, and
- factorial functions are his, as is the "Toolkit" section, and many
- of the statistical distributions.
- </p>
-<p>
- Paul A. Bristow threw down the challenge in <a href="http://www2.open-std.org/JTC1/SC22/WG21/docs/papers/2004/n1668.pdf" target="_top">A
- Proposal to add Mathematical Functions for Statistics to the C++ Standard
- Library</a> to add the key math functions, especially those essential
- for statistics. After JM accepted and solved the difficult problems, not
- only numerically, but in full C++ template style, PAB implemented a few of
- the statistical distributions. PAB also tirelessly proof-read everything
- that JM threw at him (so that all remaining editorial mistakes are his fault).
- </p>
-<p>
- Xiaogang Zhang worked on the Bessel functions and elliptic integrals for
- his Google Summer of Code project 2006.
- </p>
-<p>
- Bruno Lalande submitted the "compile time power of a runtime base"
- code.
- </p>
-<p>
- Johan R&#229;de wrote the optimised floating-point classification and manipulation
- code, and nonfinite facets to permit C99 output of infinities and NaNs. (nonfinite
- facets were not added until Boost 1.47 but had been in use with Boost.Spirit).
- This library was based on a suggestion from Robert Ramey, author of Boost.Serialization.
- Paul A. Bristow expressed the need for better handling of <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2022.pdf" target="_top">Input
- &amp; Output of NaN and infinity for the C++ Standard Library</a> and
- suggested following the C99 format.
- </p>
-<p>
- Antony Polukhin improved lexical cast avoiding stringstream so that it was
- no longer necessary to use a globale C99 facet to handle nonfinites.
- </p>
-<p>
- H&#229;kan Ard&#246;, Boris Gubenko, John Maddock, Markus Sch&#246;pflin and Olivier Verdier
- tested the floating-point library and Martin Bonner, Peter Dimov and John
- Maddock provided valuable advice.
- </p>
-<p>
- Gautam Sewani coded the logistic distribution as part of a Google Summer
- of Code project 2008.
- </p>
-<p>
- M. A. (Thijs) van den Berg coded the Laplace distribution. (Thijs has also
- threatened to implement some multivariate distributions).
- </p>
-<p>
- Thomas Mang requested the inverse gamma in chi squared distributions for
- Bayesian applications and helped in their implementation.
- </p>
-<p>
- Professor Nico Temme for advice on the inverse incomplete beta function.
- </p>
-<p>
- <a href="http://www.shoup.net" target="_top">Victor Shoup for NTL</a>, without which
- it would have much more difficult to produce high accuracy constants, and
- especially the tables of accurate values for testing.
- </p>
-<p>
- We are grateful to Joel Guzman for helping us stress-test his <a href="http://www.boost.org/tools/quickbook/index.htm" target="_top">Boost.Quickbook</a>
- program used to generate the html and pdf versions of this document, adding
- several new features en route.
- </p>
-<p>
- Thanks to Mark Coleman and Georgi Boshnakov for spot test values from <a href="http://www.wolfram.com/products/mathematica/index.html" target="_top">Wolfram Mathematica</a>,
- and of course, to Eric Weissten for nurturing <a href="http://mathworld.wolfram.com" target="_top">Wolfram
- MathWorld</a>, an invaluable resource.
- </p>
-<p>
- The Skew-normal distribution and Owen's t function were written by Benjamin
- Sobotta.
- </p>
-<p>
- Plots of the functions and distributions were prepared in <a href="http://www.w3.org/" target="_top">W3C</a>
- standard <a href="http://www.svg.org/" target="_top">Scalable Vector Graphic (SVG)</a>
- format using a program created by Jacob Voytko during a <a href="http://code.google.com/soc/2007/" target="_top">Google
- Summer of Code (2007)</a>. Since browser support for rendering SVG is
- still not universal (Microsoft Internet Explorer, even IE 8 beta, still lacks
- native SVG support but can be made to work with <a href="http://www.adobe.com/svg/viewer/install/" target="_top">Adobe's
- free SVG viewer</a> plugin), so the SVG files were batch converted to
- JPEG using <a href="http://www.inkscape.org/" target="_top">Inkscape</a>.
- </p>
-<p>
- We are also indebted to Matthias Schabel for managing the formal Boost-review
- of this library, and to all the reviewers - including Guillaume Melquiond,
- Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland - for
- their many helpful comments.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="issues.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../index/s13.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html
deleted file mode 100644
index d35eae1d11..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html
+++ /dev/null
@@ -1,488 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>History and What's New</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../status.html" title="Library Status">
-<link rel="prev" href="../status.html" title="Library Status">
-<link rel="next" href="issues.html" title="Known Issues, and TODO List">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../status.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="issues.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_status_history1">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.status.history1"></a><a class="link" href="history1.html" title="History and What's New">History and What's New</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.status.history1.h0"></a>
- <span><a name="math_toolkit.status.history1.boost_1_50"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_50">Boost-1.50</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Promoted math constants to be 1st class citizens, including convenient
- access to the most widely used built-in float, double, long double via
- three namespaces.
- </li>
-<li class="listitem">
- Added the Owen's T function and Skew Normal distribution written by Benjamin
- Sobotta: see <a class="link" href="../special/owens_t.html" title="Owen's T function">Owens T</a>
- and skew_normal_distrib.
- </li>
-<li class="listitem">
- Added Hankel functions <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>,
- <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>,
- <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a>
- and <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>.
- </li>
-<li class="listitem">
- Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627" target="_top">#6627
- nonfinite_num_put formatting of 0.0 is incorrect</a> based on a patch
- submitted by K R Walker.
- </li>
-<li class="listitem">
- Changed constant initialization mechanism so that it is thread safe even
- for user-defined types, also so that user defined types get the full
- precision of the constant, even when <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> does not. So for example
- 128-bit rational approximations will work with UDT's and do the right
- thing, even though <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> may be only 64 or 80 bits.
- </li>
-<li class="listitem">
- Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
- which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h1"></a>
- <span><a name="math_toolkit.status.history1.boost_1_49"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_49">Boost-1.49</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Deprecated wrongly named <code class="computeroutput"><span class="identifier">twothirds</span></code>
- math constant in favour of <code class="computeroutput"><span class="identifier">two_thirds</span></code>
- (with underscore separator). (issue <a href="https://svn.boost.org/trac/boost/ticket/6199" target="_top">#6199</a>).
- </li>
-<li class="listitem">
- Refactored test data and some special function code to improve support
- for arbitary precision and/or expression-template-enabled types.
- </li>
-<li class="listitem">
- Added new faster zeta function evaluation method.
- </li>
-</ul></div>
-<p>
- Fixed issues:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Corrected CDF complement for Laplace distribution (issue <a href="https://svn.boost.org/trac/boost/ticket/6151" target="_top">#6151</a>).
- </li>
-<li class="listitem">
- Corrected branch cuts on the complex inverse trig functions, to handle
- signed zeros (issue <a href="https://svn.boost.org/trac/boost/ticket/6171" target="_top">#6171</a>).
- </li>
-<li class="listitem">
- Fixed bug in <code class="computeroutput"><span class="identifier">bessel_yn</span></code>
- which caused incorrect overflow errors to be raised for negative <span class="emphasis"><em>n</em></span>
- (issue <a href="https://svn.boost.org/trac/boost/ticket/6367" target="_top">#6367</a>).
- </li>
-<li class="listitem">
- Also fixed minor/cosmetic/configuration issues <a href="https://svn.boost.org/trac/boost/ticket/6120" target="_top">#6120</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6191" target="_top">#6191</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6130" target="_top">#6130</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6234" target="_top">#6234</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6307" target="_top">#6307</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/6192" target="_top">#6192</a>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h2"></a>
- <span><a name="math_toolkit.status.history1.boost_1_48"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_48">Boost-1.48</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added new series evaluation methods to the cyclic Bessel I, J, K and
- Y functions. Also taken great care to avoid spurious over and underflow
- of these functions. Fixes issue <a href="https://svn.boost.org/trac/boost/ticket/5560" target="_top">#5560</a>
- </li>
-<li class="listitem">
- Added an example of using Inverse Chi-Squared distribution for Bayesian
- statistics, provided by Thomas Mang.
- </li>
-<li class="listitem">
- Added tests to use improved version of lexical_cast which handles C99
- nonfinites without using globale facets.
- </li>
-<li class="listitem">
- Corrected wrong out-of-bound uniform distribution CDF complement values
- <a href="https://svn.boost.org/trac/boost/ticket/5733" target="_top">#5733</a>.
- </li>
-<li class="listitem">
- Enabled long double support on OpenBSD (issue <a href="https://svn.boost.org/trac/boost/ticket/6014" target="_top">#6014</a>).
- </li>
-<li class="listitem">
- Changed nextafter and related functions to behave in the same way as
- other implementations - so that nextafter(+INF, 0) is a finite value
- (issue <a href="https://svn.boost.org/trac/boost/ticket/5823" target="_top">#5832</a>).
- </li>
-<li class="listitem">
- Changed tuple include configuration to fix issue when using in conjunction
- with Boost.Tr1 (issue <a href="https://svn.boost.org/trac/boost/ticket/5934" target="_top">#5934</a>).
- </li>
-<li class="listitem">
- Changed class eps_tolerance to behave correctly when both ends of the
- range are zero (issue <a href="https://svn.boost.org/trac/boost/ticket/6001" target="_top">#6001</a>).
- </li>
-<li class="listitem">
- Fixed missing include guards on prime.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5927" target="_top">#5927</a>).
- </li>
-<li class="listitem">
- Removed unused/undocumented constants from constants.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5982" target="_top">#5982</a>).
- </li>
-<li class="listitem">
- Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue <a href="https://svn.boost.org/trac/boost/ticket/5914" target="_top">#5914</a>).
- </li>
-<li class="listitem">
- Minor patches for Cray compiler compatibility.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h3"></a>
- <span><a name="math_toolkit.status.history1.boost_1_47"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_47">Boost-1.47</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added changesign function to sign.hpp to facilitate addition of nonfinite
- facets.
- </li>
-<li class="listitem">
- Addition of nonfinite facets from Johan Rade, with tests, examples of
- use for C99 format infinity and NaN, and documentation.
- </li>
-<li class="listitem">
- Added tests and documentation of changesign from Johan Rade.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h4"></a>
- <span><a name="math_toolkit.status.history1.boost_1_46_1"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_46_1">Boost-1.46.1</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5095</a>,
- <a href="https://svn.boost.org/trac/boost/ticket/5095" target="_top">#5113</a>.
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h5"></a>
- <span><a name="math_toolkit.status.history1.boost_1_46_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_46_0">Boost-1.46.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Wald, Inverse Gaussian and geometric distributions.
- </li>
-<li class="listitem">
- Added information about configuration macros.
- </li>
-<li class="listitem">
- Added support for mpreal as a real-numbered type.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h6"></a>
- <span><a name="math_toolkit.status.history1.boost_1_45_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_45_0">Boost-1.45.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added warnings about potential ambiguity with std random library in distribution
- and function names.
- </li>
-<li class="listitem">
- Added inverse gamma distribution and inverse chi_square and scaled inverse
- chi_square.
- </li>
-<li class="listitem">
- Editorial revision of documentation, and added FAQ.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h7"></a>
- <span><a name="math_toolkit.status.history1.boost_1_44_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_44_0">Boost-1.44.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Fixed incorrect range and support for Rayleigh distribution.
- </li>
-<li class="listitem">
- Fixed numerical error in the quantile of the Student's T distribution:
- the function was returning garbage values for non-integer degrees of
- freedom between 2 and 3.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h8"></a>
- <span><a name="math_toolkit.status.history1.boost_1_41_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_41_0">Boost-1.41.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Significantly improved performance for the incomplete gamma function
- and its inverse.
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h9"></a>
- <span><a name="math_toolkit.status.history1.boost_1_40_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_40_0">Boost-1.40.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added support for MPFR as a bignum type.
- </li>
-<li class="listitem">
- Added some full specializations of the policy classes to reduce compile
- times.
- </li>
-<li class="listitem">
- Added logistic and hypergeometric distributions, from Gautam Sewani's
- Google Summer of Code project.
- </li>
-<li class="listitem">
- Added Laplace distribution submitted by Thijs van den Berg.
- </li>
-<li class="listitem">
- Updated performance test code to include new distributions, and improved
- the performance of the non-central distributions.
- </li>
-<li class="listitem">
- Added SSE2 optimised <a class="link" href="../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> code, from Gautam Sewani's Google Summer of Code
- project.
- </li>
-<li class="listitem">
- Fixed bug in cyl_bessel_i that used an incorrect approximation for &#957; =
- 0.5, also effects the non-central Chi Square Distribution when &#957; = 3, see
- bug report <a href="https://svn.boost.org/trac/boost/ticket/2877" target="_top">#2877</a>.
- </li>
-<li class="listitem">
- Fixed minor bugs <a href="https://svn.boost.org/trac/boost/ticket/2873" target="_top">#2873</a>.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h10"></a>
- <span><a name="math_toolkit.status.history1.boost_1_38_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_38_0">Boost-1.38.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Johan R&#229;de's optimised floating point classification routines.
- </li>
-<li class="listitem">
- Fixed code so that it compiles in GCC's -pedantic mode (bug report <a href="https://svn.boost.org/trac/boost/ticket/1451" target="_top">#1451</a>).
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h11"></a>
- <span><a name="math_toolkit.status.history1.boost_1_37_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_37_0">Boost-1.37.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Improved accuracy and testing of the inverse hypergeometric functions.
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h12"></a>
- <span><a name="math_toolkit.status.history1.boost_1_36_0"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_36_0">Boost-1.36.0</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Noncentral Chi Squared Distribution.
- </li>
-<li class="listitem">
- Added Noncentral Beta Distribution.
- </li>
-<li class="listitem">
- Added Noncentral F Distribution.
- </li>
-<li class="listitem">
- Added Noncentral T Distribution.
- </li>
-<li class="listitem">
- Added Exponential Integral Functions.
- </li>
-<li class="listitem">
- Added Zeta Function.
- </li>
-<li class="listitem">
- Added Rounding and Truncation functions.
- </li>
-<li class="listitem">
- Added Compile time powers of runtime bases.
- </li>
-<li class="listitem">
- Added SSE2 optimizations for Lanczos evaluation.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h13"></a>
- <span><a name="math_toolkit.status.history1.boost_1_35_0__post_review_first_official_release"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_35_0__post_review_first_official_release">Boost-1.35.0:
- Post Review First Official Release</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Added Policy based framework that allows fine grained control over function
- behaviour.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Breaking change:</strong></span> Changed default behaviour
- for domain, pole and overflow errors to throw an exception (based on
- review feedback), this behaviour can be customised using <a class="link" href="../policy.html" title="Policies">Policy</a>'s.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Breaking change:</strong></span> Changed exception thrown
- when an internal evaluation error occurs to boost::math::evaluation_error.
- </li>
-<li class="listitem">
- <span class="bold"><strong>Breaking change:</strong></span> Changed discrete quantiles
- to return an integer result: this is anything up to 20 times faster than
- finding the true root, this behaviour can be customised using <a class="link" href="../policy.html" title="Policies">Policy</a>'s.
- </li>
-<li class="listitem">
- Polynomial/rational function evaluation is now customisable and hopefully
- faster than before.
- </li>
-<li class="listitem">
- Added performance test program.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h14"></a>
- <span><a name="math_toolkit.status.history1.milestone_4__second_review_candidate__1st_march_2007_"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.milestone_4__second_review_candidate__1st_march_2007_">Milestone
- 4: Second Review Candidate (1st March 2007)</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Moved Xiaogang Zhang's Bessel Functions code into the library, and brought
- them into line with the rest of the code.
- </li>
-<li class="listitem">
- Added C# "Distribution Explorer" demo application.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h15"></a>
- <span><a name="math_toolkit.status.history1.milestone_3__first_review_candidate__31st_dec_2006_"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.milestone_3__first_review_candidate__31st_dec_2006_">Milestone
- 3: First Review Candidate (31st Dec 2006)</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Implemented the main probability distribution and density functions.
- </li>
-<li class="listitem">
- Implemented digamma.
- </li>
-<li class="listitem">
- Added more factorial functions.
- </li>
-<li class="listitem">
- Implemented the Hermite, Legendre and Laguerre polynomials plus the spherical
- harmonic functions from TR1.
- </li>
-<li class="listitem">
- Moved Xiaogang Zhang's elliptic integral code into the library, and brought
- them into line with the rest of the code.
- </li>
-<li class="listitem">
- Moved Hubert Holin's existing Boost.Math special functions into this
- library and brought them into line with the rest of the code.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h16"></a>
- <span><a name="math_toolkit.status.history1.milestone_2__released_september_10th_2006"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.milestone_2__released_september_10th_2006">Milestone
- 2: Released September 10th 2006</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Implement preview release of the statistical distributions.
- </li>
-<li class="listitem">
- Added statistical distributions tutorial.
- </li>
-<li class="listitem">
- Implemented root finding algorithms.
- </li>
-<li class="listitem">
- Implemented the inverses of the incomplete gamma and beta functions.
- </li>
-<li class="listitem">
- Rewrite erf/erfc as rational approximations (valid to 128-bit precision).
- </li>
-<li class="listitem">
- Integrated the statistical results generated from the test data with
- Boost.Test: uses a database of expected results, indexed by test, floating
- point type, platform, and compiler.
- </li>
-<li class="listitem">
- Improved lgamma near 1 and 2 (rational approximations).
- </li>
-<li class="listitem">
- Improved erf/erfc inverses (rational approximations).
- </li>
-<li class="listitem">
- Implemented Rational function generation (the Remez method).
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.history1.h17"></a>
- <span><a name="math_toolkit.status.history1.milestone_1__released_march_31st_2006"></a></span><a class="link" href="history1.html#math_toolkit.status.history1.milestone_1__released_march_31st_2006">Milestone
- 1: Released March 31st 2006</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Implement gamma/beta/erf functions along with their incomplete counterparts.
- </li>
-<li class="listitem">
- Generate high quality test data, against which future improvements can
- be judged.
- </li>
-<li class="listitem">
- Provide tools for the evaluation of infinite series, continued fractions,
- and rational functions.
- </li>
-<li class="listitem">
- Provide tools for testing against tabulated test data, and collecting
- statistics on error rates.
- </li>
-<li class="listitem">
- Provide sufficient docs for people to be able to find their way around
- the library.
- </li>
-</ul></div>
-<p>
- SVN Revisions:
- </p>
-<p>
- Sandbox and trunk last synchonised at revision: .
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../status.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="issues.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html b/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html
deleted file mode 100644
index 89453779a8..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html
+++ /dev/null
@@ -1,1244 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Known Issues, and TODO List</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../status.html" title="Library Status">
-<link rel="prev" href="history1.html" title="History and What's New">
-<link rel="next" href="credits.html" title="Credits and Acknowledgements">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_status_issues">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.status.issues"></a><a class="link" href="issues.html" title="Known Issues, and TODO List">Known Issues, and TODO List</a>
-</h3></div></div></div>
-<p>
- Predominantly this is a TODO list, or a list of possible future enhancements.
- Items labled "High Priority" effect the proper functioning of the
- component, and should be fixed as soon as possible. Items labled "Medium
- Priority" are desirable enhancements, often pertaining to the performance
- of the component, but do not effect it's accuracy or functionality. Items
- labled "Low Priority" should probably be investigated at some point.
- Such classifications are obviously highly subjective.
- </p>
-<p>
- If you don't see a component listed here, then we don't have any known issues
- with it.
- </p>
-<h5>
-<a name="math_toolkit.status.issues.h0"></a>
- <span><a name="math_toolkit.status.issues.tgamma"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.tgamma">tgamma</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Can the <a class="link" href="../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos approximation</a>
- be optimized any further? (low priority)
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.issues.h1"></a>
- <span><a name="math_toolkit.status.issues.incomplete_beta"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.incomplete_beta">Incomplete
- Beta</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Investigate Didonato and Morris' asymptotic expansion for large a and
- b (medium priority).
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.issues.h2"></a>
- <span><a name="math_toolkit.status.issues.inverse_gamma"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.inverse_gamma">Inverse
- Gamma</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Investigate whether we can skip iteration altogether if the first approximation
- is good enough (Medium Priority).
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.issues.h3"></a>
- <span><a name="math_toolkit.status.issues.polynomials"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.polynomials">Polynomials</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- The Legendre and Laguerre Polynomials have surprisingly different error
- rates on different platforms, considering they are evaluated with only
- basic arithmetic operations. Maybe this is telling us something, or maybe
- not (Low Priority).
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.issues.h4"></a>
- <span><a name="math_toolkit.status.issues.elliptic_integrals"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.elliptic_integrals">Elliptic
- Integrals</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Carlson's algorithms are essentially unchanged from Xiaogang Zhang's
- Google Summer of Code student project, and are based on Carlson's original
- papers. However, Carlson has revised his algorithms since then (refer
- to the references in the elliptic integral docs for a list), to improve
- performance and accuracy, we may be able to take advantage of these improvements
- too (Low Priority).
- </li>
-<li class="listitem">
- <p>Carlson's algorithms (mainly R<sub>J</sub>) are somewhat prone to internal overflow/underflow
- when the arguments are very large or small. The homogeneity relations:</p>
- <p>R<sub>F</sub>(ka,
- kb, kc) = k<sup>-1/2</sup> R<sub>F</sub>(a, b, c)</p>
- <p>and</p>
- <p>R<sub>J</sub>(ka, kb, kc, kr) = k<sup>-3/2</sup> R<sub>J</sub>(a, b, c, r)</p>
- <p>could
- be used to sidestep trouble here: provided the problem domains can be
- accurately identified. (Medium Priority).</p>
- </li>
-<li class="listitem">
- Carlson's R<sub>C</sub> can be reduced to elementary funtions (asin and log), would
- it be more efficient evaluated this way, rather than by Carlson's algorithms?
- (Low Priority).
- </li>
-<li class="listitem">
- Should we add an implementation of Carlson's R<sub>G</sub>? It's not required for
- the Legendre form integrals, but some people may find it useful (Low
- Priority).
- </li>
-<li class="listitem">
- There are a several other integrals: D(&#966;, k), Z(&#946;, k), &#923;<sub>0</sub>(&#946;, k) and Bulirsch's
- <span class="emphasis"><em>el</em></span> functions that could be implemented using Carlson's
- integrals (Low Priority).
- </li>
-<li class="listitem">
- The integrals K(k) and E(k) could be implemented using rational approximations
- (both for efficiency and accuracy), assuming we can find them. (Medium
- Priority).
- </li>
-<li class="listitem">
- There is a sub-domain of <a class="link" href="../special/ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a>
- that is unimplemented (see the docs for details), currently it's not
- clear how to solve this issue, or if it's ever likely to be an real problem
- in practice - especially as most other implementations don't support
- this domain either (Medium Priority).
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.status.issues.h5"></a>
- <span><a name="math_toolkit.status.issues.owen_s_t_function"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.owen_s_t_function">Owen's
- T Function</a>
- </h5>
-<p>
- There is a problem area at arbitrary precision when <span class="emphasis"><em>a</em></span>
- is very close to 1. However, note that the value for <span class="emphasis"><em>T(h, 1)</em></span>
- is well known and easy to compute, and if we replaced the <span class="emphasis"><em>a<sup>k</sup></em></span>
- terms in series T1, T2 or T4 by <span class="emphasis"><em>(a<sup>k</sup> - 1)</em></span> then we would
- have the difference between <span class="emphasis"><em>T(h, a)</em></span> and <span class="emphasis"><em>T(h,
- 1)</em></span>. Unfortunately this doesn't improve the convergence of those
- series in that area. It certainly looks as though a new series in terms of
- <span class="emphasis"><em>(1-a)<sup>k</sup></em></span> is both possible and desirable in this area,
- but it remains elusive at present.
- </p>
-<h5>
-<a name="math_toolkit.status.issues.h6"></a>
- <span><a name="math_toolkit.status.issues.jocobi_elliptic_functions"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.jocobi_elliptic_functions">Jocobi elliptic
- functions</a>
- </h5>
-<p>
- These are useful in engineering applications - we have had a request to add
- these.
- </p>
-<h5>
-<a name="math_toolkit.status.issues.h7"></a>
- <span><a name="math_toolkit.status.issues.statistical_distributions"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.statistical_distributions">Statistical
- distributions</a>
- </h5>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- Student's t Perhaps switch to normal distribution as a better approximation
- for very large degrees of freedom?
- </li></ul></div>
-<h5>
-<a name="math_toolkit.status.issues.h8"></a>
- <span><a name="math_toolkit.status.issues.feature_requests"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.feature_requests">Feature
- Requests</a>
- </h5>
-<p>
- The following table lists distributions that are found in other packages
- but which are not yet present here, the more frequently the distribution
- is found, the higher the priority for implementing it:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Distribution
- </p>
- </th>
-<th>
- <p>
- R
- </p>
- </th>
-<th>
- <p>
- Mathematica 6
- </p>
- </th>
-<th>
- <p>
- NIST
- </p>
- </th>
-<th>
- <p>
- Regress+
- </p>
- </th>
-<th>
- <p>
- Matlab
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Geometric
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Multinomial
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Tukey Lambda
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Half Normal / Folded Normal
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Chi
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Gumbel
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Discrete Uniform
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Log Series
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Nakagami (generalised Chi)
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Log Logistic
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Tukey (Studentized range)
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Wilcoxon rank sum
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Wincoxon signed rank
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Non-central Beta
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Maxwell
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Beta-Binomial
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Beta-negative Binomial
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Zipf
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Birnbaum-Saunders / Fatigue Life
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Double Exponential
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Power Normal
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Power Lognormal
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Cosine
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Double Gamma
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Double Weibul
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Hyperbolic Secant
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Semicircular
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Bradford
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Birr / Fisk
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Reciprocal
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- X
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Kolmogorov Distribution
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Also asked for more than once:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Add support for interpolated distributions, possibly combine with numeric
- integration and differentiation.
- </li>
-<li class="listitem">
- Add support for bivariate and multivariate distributions: most especially
- the normal.
- </li>
-<li class="listitem">
- Add support for the log of the cdf and pdf: this is mainly a performance
- optimisation since we can avoid some special function calls for some
- distributions by returning the log of the result.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="history1.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html
deleted file mode 100644
index 96082d2bd0..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Tools and Internal Details</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="constants/FAQ.html" title="FAQs">
-<link rel="next" href="toolkit/internals_overview.html" title="Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="constants/FAQ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="toolkit/internals_overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.toolkit"></a><a class="link" href="toolkit.html" title="Tools and Internal Details">Tools and Internal Details</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="toolkit/internals_overview.html">Overview</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals1.html">Utilities &amp; Tools</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="toolkit/internals1/series_evaluation.html">Series
- Evaluation</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals1/cf.html">Continued Fraction
- Evaluation</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals1/rational.html">Polynomial
- and Rational Function Evaluation</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals1/roots.html">Root Finding
- With Derivatives: Newton-Raphson, Halley &amp; Schroeder</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals1/roots2.html">Root Finding
- Without Derivatives: Bisection, Bracket and TOMS748</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals1/minima.html">Locating Function
- Minima: Brent's algorithm</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals1/tuples.html">Tuples</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="toolkit/internals2.html">Testing and Development</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="toolkit/internals2/polynomials.html">Polynomials</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals2/minimax.html">Minimax Approximations
- and the Remez Algorithm</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals2/error_test.html">Relative
- Error and Testing</a></span></dt>
-<dt><span class="section"><a href="toolkit/internals2/test_data.html">Graphing,
- Profiling, and Generating Test Data for Special Functions</a></span></dt>
-</dl></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="constants/FAQ.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="toolkit/internals_overview.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1.html
deleted file mode 100644
index 60873ae56a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Utilities &amp; Tools</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../toolkit.html" title="Tools and Internal Details">
-<link rel="prev" href="internals_overview.html" title="Overview">
-<link rel="next" href="internals1/series_evaluation.html" title="Series Evaluation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="internals_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1/series_evaluation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.toolkit.internals1"></a><a class="link" href="internals1.html" title="Utilities &amp; Tools">Utilities &amp; Tools</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="internals1/series_evaluation.html">Series
- Evaluation</a></span></dt>
-<dt><span class="section"><a href="internals1/cf.html">Continued Fraction
- Evaluation</a></span></dt>
-<dt><span class="section"><a href="internals1/rational.html">Polynomial
- and Rational Function Evaluation</a></span></dt>
-<dt><span class="section"><a href="internals1/roots.html">Root Finding
- With Derivatives: Newton-Raphson, Halley &amp; Schroeder</a></span></dt>
-<dt><span class="section"><a href="internals1/roots2.html">Root Finding
- Without Derivatives: Bisection, Bracket and TOMS748</a></span></dt>
-<dt><span class="section"><a href="internals1/minima.html">Locating Function
- Minima: Brent's algorithm</a></span></dt>
-<dt><span class="section"><a href="internals1/tuples.html">Tuples</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="internals_overview.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1/series_evaluation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html
deleted file mode 100644
index 0168e47706..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Continued Fraction Evaluation</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="prev" href="series_evaluation.html" title="Series Evaluation">
-<link rel="next" href="rational.html" title="Polynomial and Rational Function Evaluation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="series_evaluation.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rational.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1_cf">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals1.cf"></a><a class="link" href="cf.html" title="Continued Fraction Evaluation">Continued Fraction
- Evaluation</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals1.cf.h0"></a>
- <span><a name="math_toolkit.toolkit.internals1.cf.synopsis"></a></span><a class="link" href="cf.html#math_toolkit.toolkit.internals1.cf.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">fraction</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">)</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">)</span>
-
-<span class="comment">//</span>
-<span class="comment">// These interfaces are present for legacy reasons, and are now deprecated:</span>
-<span class="comment">//</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Gen</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">fraction_traits</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">&gt;::</span><span class="identifier">result_type</span>
- <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">Gen</span><span class="special">&amp;</span> <span class="identifier">g</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals1.cf.h1"></a>
- <span><a name="math_toolkit.toolkit.internals1.cf.description"></a></span><a class="link" href="cf.html#math_toolkit.toolkit.internals1.cf.description">Description</a>
- </h5>
-<p>
- <a href="http://en.wikipedia.org/wiki/Continued_fraction" target="_top">Continued
- fractions are a common method of approximation. </a> These functions
- all evaluate the continued fraction described by the <span class="emphasis"><em>generator</em></span>
- type argument. The functions with an "_a" suffix evaluate the
- fraction:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/fraction2.png"></span>
- </p>
-<p>
- and those with a "_b" suffix evaluate the fraction:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/fraction1.png"></span>
- </p>
-<p>
- This latter form is somewhat more natural in that it corresponds with the
- usual definition of a continued fraction, but note that the first <span class="emphasis"><em>a</em></span>
- value returned by the generator is discarded. Further, often the first
- <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> values in a continued
- fraction have different defining equations to the remaining terms, which
- may make the "_a" suffixed form more appropriate.
- </p>
-<p>
- The generator type should be a function object which supports the following
- operations:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Description
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Gen::result_type
- </p>
- </td>
-<td>
- <p>
- The type that is the result of invoking operator(). This can
- be either an arithmetic type, or a std::pair&lt;&gt; of arithmetic
- types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- g()
- </p>
- </td>
-<td>
- <p>
- Returns an object of type Gen::result_type.
- </p>
- <p>
- Each time this operator is called then the next pair of <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>b</em></span> values is returned. Or, if result_type
- is an arithmetic type, then the next <span class="emphasis"><em>b</em></span> value
- is returned and all the <span class="emphasis"><em>a</em></span> values are assumed
- to 1.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- In all the continued fraction evaluation functions the <span class="emphasis"><em>tolerance</em></span>
- parameter is the precision desired in the result, evaluation of the fraction
- will continue until the last term evaluated leaves the relative error in
- the result less than <span class="emphasis"><em>tolerance</em></span>. The deprecated interfaces
- take a number of digits precision here, internally they just convert this
- to a tolerance and forward call.
- </p>
-<p>
- If the optional <span class="emphasis"><em>max_terms</em></span> parameter is specified then
- no more than <span class="emphasis"><em>max_terms</em></span> calls to the generator will
- be made, and on output, <span class="emphasis"><em>max_terms</em></span> will be set to actual
- number of calls made. This facility is particularly useful when profiling
- a continued fraction for convergence.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.cf.h2"></a>
- <span><a name="math_toolkit.toolkit.internals1.cf.implementation"></a></span><a class="link" href="cf.html#math_toolkit.toolkit.internals1.cf.implementation">Implementation</a>
- </h5>
-<p>
- Internally these algorithms all use the modified Lentz algorithm: refer
- to Numeric Recipes in C++, W. H. Press et all, chapter 5, (especially 5.2
- Evaluation of continued fractions, p 175 - 179) for more information, also
- Lentz, W.J. 1976, Applied Optics, vol. 15, pp. 668-671.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.cf.h3"></a>
- <span><a name="math_toolkit.toolkit.internals1.cf.examples"></a></span><a class="link" href="cf.html#math_toolkit.toolkit.internals1.cf.examples">Examples</a>
- </h5>
-<p>
- The <a href="http://en.wikipedia.org/wiki/Golden_ratio" target="_top">golden ratio
- phi = 1.618033989...</a> can be computed from the simplest continued
- fraction of all:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/fraction3.png"></span>
- </p>
-<p>
- We begin by defining a generator function:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">golden_ratio_fraction</span>
-<span class="special">{</span>
- <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">result_type</span><span class="special">;</span>
-
- <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="number">1</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- The golden ratio can then be computed to double precision using:
- </p>
-<pre class="programlisting"><span class="identifier">continued_fraction_a</span><span class="special">(</span>
- <span class="identifier">golden_ratio_fraction</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">());</span>
-</pre>
-<p>
- It's more usual though to have to define both the <span class="emphasis"><em>a</em></span>'s
- and the <span class="emphasis"><em>b</em></span>'s when evaluating special functions by continued
- fractions, for example the tan function is defined by:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/fraction4.png"></span>
- </p>
-<p>
- So its generator object would look like:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">tan_fraction</span>
-<span class="special">{</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">;</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="identifier">tan_fraction</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">v</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">a</span><span class="special">(-</span><span class="identifier">v</span><span class="special">*</span><span class="identifier">v</span><span class="special">),</span> <span class="identifier">b</span><span class="special">(-</span><span class="number">1</span><span class="special">)</span>
- <span class="special">{}</span>
-
- <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">result_type</span><span class="special">;</span>
-
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()()</span>
- <span class="special">{</span>
- <span class="identifier">b</span> <span class="special">+=</span> <span class="number">2</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">make_pair</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- Notice that if the continuant is subtracted from the <span class="emphasis"><em>b</em></span>
- terms, as is the case here, then all the <span class="emphasis"><em>a</em></span> terms returned
- by the generator will be negative. The tangent function can now be evaluated
- using:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">tan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="identifier">tan_fraction</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">fract</span><span class="special">(</span><span class="identifier">a</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">/</span> <span class="identifier">continued_fraction_b</span><span class="special">(</span><span class="identifier">fract</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">());</span>
-<span class="special">}</span>
-</pre>
-<p>
- Notice that this time we're using the "_b" suffixed version to
- evaluate the fraction: we're removing the leading <span class="emphasis"><em>a</em></span>
- term during fraction evaluation as it's different from all the others.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="series_evaluation.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rational.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html
deleted file mode 100644
index befe42724c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Locating Function Minima: Brent's algorithm</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="prev" href="roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">
-<link rel="next" href="tuples.html" title="Tuples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="roots2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuples.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1_minima">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals1.minima"></a><a class="link" href="minima.html" title="Locating Function Minima: Brent's algorithm">Locating Function
- Minima: Brent's algorithm</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals1.minima.h0"></a>
- <span><a name="math_toolkit.toolkit.internals1.minima.synopsis"></a></span><a class="link" href="minima.html#math_toolkit.toolkit.internals1.minima.synopsis">synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">minima</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">brent_find_minima</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">brent_find_minima</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals1.minima.h1"></a>
- <span><a name="math_toolkit.toolkit.internals1.minima.description"></a></span><a class="link" href="minima.html#math_toolkit.toolkit.internals1.minima.description">Description</a>
- </h5>
-<p>
- These two functions locate the minima of the continuous function <span class="emphasis"><em>f</em></span>
- using Brent's algorithm. Parameters are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">f</span></dt>
-<dd><p>
- The function to minimise. The function should be smooth over the
- range [min,max], with no maxima occurring in that interval.
- </p></dd>
-<dt><span class="term">min</span></dt>
-<dd><p>
- The lower endpoint of the range in which to search for the minima.
- </p></dd>
-<dt><span class="term">max</span></dt>
-<dd><p>
- The upper endpoint of the range in which to search for the minima.
- </p></dd>
-<dt><span class="term">bits</span></dt>
-<dd><p>
- The number of bits precision to which the minima should be found.
- Note that in principle, the minima can not be located to greater
- accuracy than the square root of machine epsilon (for 64-bit double,
- sqrt(1e-16)&#8773;1e-8), therefore if <span class="emphasis"><em>bits</em></span> is set to
- a value greater than one half of the bits in type T, then the value
- will be ignored.
- </p></dd>
-<dt><span class="term">max_iter</span></dt>
-<dd><p>
- The maximum number of iterations to use in the algorithm, if not
- provided the algorithm will just keep on going until the minima is
- found.
- </p></dd>
-</dl>
-</div>
-<p>
- <span class="bold"><strong>Returns:</strong></span> a pair containing the value of
- the abscissa at the minima and the value of f(x) at the minima.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.minima.h2"></a>
- <span><a name="math_toolkit.toolkit.internals1.minima.implementation"></a></span><a class="link" href="minima.html#math_toolkit.toolkit.internals1.minima.implementation">Implementation</a>
- </h5>
-<p>
- This is a reasonably faithful implementation of Brent's algorithm, refer
- to:
- </p>
-<p>
- Brent, R.P. 1973, Algorithms for Minimization without Derivatives (Englewood
- Cliffs, NJ: Prentice-Hall), Chapter 5.
- </p>
-<p>
- Numerical Recipes in C, The Art of Scientific Computing, Second Edition,
- William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P.
- Flannery. Cambridge University Press. 1988, 1992.
- </p>
-<p>
- An algorithm with guaranteed convergence for finding a zero of a function,
- R. P. Brent, The Computer Journal, Vol 44, 1971.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="roots2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuples.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html
deleted file mode 100644
index c2d8ad689a..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Polynomial and Rational Function Evaluation</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="prev" href="cf.html" title="Continued Fraction Evaluation">
-<link rel="next" href="roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1_rational">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals1.rational"></a><a class="link" href="rational.html" title="Polynomial and Rational Function Evaluation">Polynomial
- and Rational Function Evaluation</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals1.rational.h0"></a>
- <span><a name="math_toolkit.toolkit.internals1.rational.synopsis"></a></span><a class="link" href="rational.html#math_toolkit.toolkit.internals1.rational.synopsis">synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">rational</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="comment">// Polynomials:</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
-
-<span class="comment">// Even polynomials:</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
-
-<span class="comment">// Odd polynomials </span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
-
-<span class="comment">// Rational Functions:</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">b</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">num</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">*</span> <span class="identifier">denom</span><span class="special">,</span> <span class="identifier">V</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">count</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals1.rational.h1"></a>
- <span><a name="math_toolkit.toolkit.internals1.rational.description"></a></span><a class="link" href="rational.html#math_toolkit.toolkit.internals1.rational.description">Description</a>
- </h5>
-<p>
- Each of the functions come in three variants: a pair of overloaded functions
- where the order of the polynomial or rational function is evaluated at
- compile time, and an overload that accepts a runtime variable for the size
- of the coefficient array. Generally speaking, compile time evaluation of
- the array size results in better type safety, is less prone to programmer
- errors, and may result in better optimised code. The polynomial evaluation
- functions in particular, are specialised for various array sizes, allowing
- for loop unrolling, and one hopes, optimal inline expansion.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span> <span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
-</pre>
-<p>
- Evaluates the <a href="http://en.wikipedia.org/wiki/Polynomial" target="_top">polynomial</a>
- described by the coefficients stored in <span class="emphasis"><em>poly</em></span>.
- </p>
-<p>
- If the size of the array is specified at runtime, then the polynomial most
- have order <span class="emphasis"><em>count-1</em></span> with <span class="emphasis"><em>count</em></span>
- coefficients. Otherwise it has order <span class="emphasis"><em>N-1</em></span> with <span class="emphasis"><em>N</em></span>
- coefficients.
- </p>
-<p>
- Coefficients should be stored such that the coefficients for the x<sup>i </sup> terms
- are in poly[i].
- </p>
-<p>
- The types of the coefficients and of variable <span class="emphasis"><em>z</em></span> may
- differ as long as <span class="emphasis"><em>*poly</em></span> is convertible to type <span class="emphasis"><em>U</em></span>.
- This allows, for example, for the coefficient table to be a table of integers
- if this is appropriate.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">poly</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span> <span class="identifier">evaluate_even_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
-</pre>
-<p>
- As above, but evaluates an even polynomial: one where all the powers of
- <span class="emphasis"><em>z</em></span> are even numbers. Equivalent to calling <code class="computeroutput"><span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="identifier">poly</span><span class="special">,</span> <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">count</span><span class="special">)</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">a</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">U</span> <span class="identifier">evaluate_odd_polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">poly</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">);</span>
-</pre>
-<p>
- As above but evaluates a polynomial where all the powers are odd numbers.
- Equivalent to <code class="computeroutput"><span class="identifier">evaluate_polynomial</span><span class="special">(</span><span class="identifier">poly</span><span class="special">+</span><span class="number">1</span><span class="special">,</span>
- <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">,</span> <span class="identifier">count</span><span class="special">-</span><span class="number">1</span><span class="special">)</span>
- <span class="special">*</span> <span class="identifier">z</span>
- <span class="special">+</span> <span class="identifier">poly</span><span class="special">[</span><span class="number">0</span><span class="special">]</span></code>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">(&amp;</span><span class="identifier">num</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">(&amp;</span><span class="identifier">denom</span><span class="special">)[</span><span class="identifier">N</span><span class="special">],</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">num</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">,</span><span class="identifier">N</span><span class="special">&gt;&amp;</span> <span class="identifier">denom</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">num</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">*</span> <span class="identifier">denom</span><span class="special">,</span> <span class="identifier">V</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">count</span><span class="special">);</span>
-</pre>
-<p>
- Evaluates the rational function (the ratio of two polynomials) described
- by the coefficients stored in <span class="emphasis"><em>num</em></span> and <span class="emphasis"><em>demom</em></span>.
- </p>
-<p>
- If the size of the array is specified at runtime then both polynomials
- most have order <span class="emphasis"><em>count-1</em></span> with <span class="emphasis"><em>count</em></span>
- coefficients. Otherwise both polynomials have order <span class="emphasis"><em>N-1</em></span>
- with <span class="emphasis"><em>N</em></span> coefficients.
- </p>
-<p>
- Array <span class="emphasis"><em>num</em></span> describes the numerator, and <span class="emphasis"><em>demon</em></span>
- the denominator.
- </p>
-<p>
- Coefficients should be stored such that the coefficients for the x<sup>i </sup> terms
- are in num[i] and denom[i].
- </p>
-<p>
- The types of the coefficients and of variable <span class="emphasis"><em>v</em></span> may
- differ as long as <span class="emphasis"><em>*num</em></span> and <span class="emphasis"><em>*denom</em></span>
- are convertible to type <span class="emphasis"><em>V</em></span>. This allows, for example,
- for one or both of the coefficient tables to be a table of integers if
- this is appropriate.
- </p>
-<p>
- These functions are designed to safely evaluate the result, even when the
- value <span class="emphasis"><em>z</em></span> is very large. As such they do not take advantage
- of compile time array sizes to make any optimisations. These functions
- are best reserved for situations where <span class="emphasis"><em>z</em></span> may be large:
- if you can be sure that numerical overflow will not occur then polynomial
- evaluation with compile-time array sizes may offer slightly better performance.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.rational.h2"></a>
- <span><a name="math_toolkit.toolkit.internals1.rational.implementation"></a></span><a class="link" href="rational.html#math_toolkit.toolkit.internals1.rational.implementation">Implementation</a>
- </h5>
-<p>
- Polynomials are evaluated by <a href="http://en.wikipedia.org/wiki/Horner_algorithm" target="_top">Horners
- method</a>. If the array size is known at compile time then the functions
- dispatch to size-specific implementations that unroll the evaluation loop.
- </p>
-<p>
- Rational evaluation is by <a href="http://en.wikipedia.org/wiki/Horner_algorithm" target="_top">Horners
- method</a>: with the two polynomials being evaluated in parallel to
- make the most of the processors floating-point pipeline. If <span class="emphasis"><em>v</em></span>
- is greater than one, then the polynomials are evaluated in reverse order
- as polynomials in <span class="emphasis"><em>1/v</em></span>: this avoids unnecessary numerical
- overflow when the coefficients are large.
- </p>
-<p>
- Both the polynomial and rational function evaluation algorithms can be
- tuned using various configuration macros to provide optimal performance
- for a particular combination of compiler and platform. This includes support
- for second-order Horner's methods. The various options are <a class="link" href="../../perf/tuning.html" title="Performance Tuning Macros">documented
- here</a>. However, the performance benefits to be gained from these
- are marginal on most current hardware, consequently it's best to run the
- <a class="link" href="../../perf/perf_test_app.html" title="The Performance Test Application">performance test application</a>
- before changing the default settings.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="cf.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html
deleted file mode 100644
index e0293aac32..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html
+++ /dev/null
@@ -1,424 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="prev" href="rational.html" title="Polynomial and Rational Function Evaluation">
-<link rel="next" href="roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rational.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1_roots">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals1.roots"></a><a class="link" href="roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">Root Finding
- With Derivatives: Newton-Raphson, Halley &amp; Schroeder</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots.h0"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots.synopsis"></a></span><a class="link" href="roots.html#math_toolkit.toolkit.internals1.roots.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">newton_raphson_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">newton_raphson_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">halley_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">halley_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">schroeder_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">schroeder_iterate</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">digits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots.h1"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots.description"></a></span><a class="link" href="roots.html#math_toolkit.toolkit.internals1.roots.description">Description</a>
- </h5>
-<p>
- These functions all perform iterative root finding using derivatives:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">newton_raphson_iterate</span></code>performs
- second order <a class="link" href="roots.html#newton">Newton-Raphson iteration</a>,
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">halley_iterate</span></code> and<code class="computeroutput"><span class="identifier">schroeder_iterate</span></code> perform third order
- <a class="link" href="roots.html#halley">Halley</a> and <a class="link" href="roots.html#schroeder">Schroeder</a>
- iteration.
- </li>
-</ul></div>
-<p>
- The functions all take the same parameters:
- </p>
-<div class="variablelist">
-<p class="title"><b>Parameters of the root finding functions</b></p>
-<dl>
-<dt><span class="term">F f</span></dt>
-<dd>
-<p>
- Type F must be a callable function object that accepts one parameter
- and returns a <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a>:
- </p>
-<p>
- For the second order iterative methods (<a href="http://en.wikipedia.org/wiki/Newton_Raphson" target="_top">Newton
- Raphson</a>) the <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a>
- should have <span class="bold"><strong>two</strong></span> elements containing
- the evaluation of the function and its first derivative.
- </p>
-<p>
- For the third order methods (<a href="http://en.wikipedia.org/wiki/Halley%27s_method" target="_top">Halley</a>
- and Schroeder) the <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a>
- should have <span class="bold"><strong>three</strong></span> elements containing
- the evaluation of the function and its first and second derivatives.
- </p>
-</dd>
-<dt><span class="term">T guess</span></dt>
-<dd><p>
- The initial starting value. A good guess is crucial to quick convergence!
- </p></dd>
-<dt><span class="term">T min</span></dt>
-<dd><p>
- The minimum possible value for the result, this is used as an initial
- lower bracket.
- </p></dd>
-<dt><span class="term">T max</span></dt>
-<dd><p>
- The maximum possible value for the result, this is used as an initial
- upper bracket.
- </p></dd>
-<dt><span class="term">int digits</span></dt>
-<dd><p>
- The desired number of binary digits.
- </p></dd>
-<dt><span class="term">uintmax_t max_iter</span></dt>
-<dd><p>
- An optional maximum number of iterations to perform.
- </p></dd>
-</dl>
-</div>
-<p>
- When using these functions you should note that:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Default max_iter = <code class="computeroutput"><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">)()</span></code> is effectively 'iterate for ever'!.
- </li>
-<li class="listitem">
- They may be very sensitive to the initial guess, typically they converge
- very rapidly if the initial guess has two or three decimal digits correct.
- However convergence can be no better than bisection, or in some rare
- cases, even worse than bisection if the initial guess is a long way
- from the correct value and the derivatives are close to zero.
- </li>
-<li class="listitem">
- These functions include special cases to handle zero first (and second
- where appropriate) derivatives, and fall back to bisection in this
- case. However, it is helpful if functor F is defined to return an arbitrarily
- small value <span class="emphasis"><em>of the correct sign</em></span> rather than zero.
- </li>
-<li class="listitem">
- If the derivative at the current best guess for the result is infinite
- (or very close to being infinite) then these functions may terminate
- prematurely. A large first derivative leads to a very small next step,
- triggering the termination condition. Derivative based iteration may
- not be appropriate in such cases.
- </li>
-<li class="listitem">
- If the function is 'Really Well Behaved' (monotonic and has only one
- root) the bracket bounds min and max may as well be set to the widest
- limits like zero and <code class="computeroutput"><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">()</span></code>.
- </li>
-<li class="listitem">
- But if the function more complex and may have more than one root or
- a pole, the choice of bounds is protection against jumping out to seek
- the 'wrong' root.
- </li>
-<li class="listitem">
- These functions fall back to bisection if the next computed step would
- take the next value out of bounds. The bounds are updated after each
- step to ensure this leads to convergence. However, a good initial guess
- backed up by asymptotically-tight bounds will improve performance no
- end - rather than relying on bisection.
- </li>
-<li class="listitem">
- The value of <span class="emphasis"><em>digits</em></span> is crucial to good performance
- of these functions, if it is set too high then at best you will get
- one extra (unnecessary) iteration, and at worst the last few steps
- will proceed by bisection. Remember that the returned value can never
- be more accurate than f(x) can be evaluated, and that if f(x) suffers
- from cancellation errors as it tends to zero then the computed steps
- will be effectively random. The value of <span class="emphasis"><em>digits</em></span>
- should be set so that iteration terminates before this point: remember
- that for second and third order methods the number of correct digits
- in the result is increasing quite substantially with each iteration,
- <span class="emphasis"><em>digits</em></span> should be set by experiment so that the
- final iteration just takes the next value into the zone where f(x)
- becomes inaccurate.
- </li>
-<li class="listitem">
- To get the binary digits of accuracy, use policies::get_max_root_iterations&lt;Policy&gt;()).
- </li>
-<li class="listitem">
- If you need some diagnostic output to see what is going on, you can
- <code class="computeroutput"><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_INSTRUMENT</span></code>
- before the <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, and also ensure that display of
- all the possibly significant digits with <code class="computeroutput"> <span class="identifier">cout</span><span class="special">.</span><span class="identifier">precision</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">)</span></code>: but be warned, this may produce copious
- output!
- </li>
-<li class="listitem">
- Finally: you may well be able to do better than these functions by
- hand-coding the heuristics used so that they are tailored to a specific
- function. You may also be able to compute the ratio of derivatives
- used by these methods more efficiently than computing the derivatives
- themselves. As ever, algebraic simplification can be a big win.
- </li>
-</ul></div>
-<a name="newton"></a><h5>
-<a name="math_toolkit.toolkit.internals1.roots.h2"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots.newton_raphson_method"></a></span><a class="link" href="roots.html#math_toolkit.toolkit.internals1.roots.newton_raphson_method">Newton
- Raphson Method</a>
- </h5>
-<p>
- Given an initial guess x0 the subsequent values are computed using:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/roots1.png"></span>
- </p>
-<p>
- Out of bounds steps revert to bisection of the current bounds.
- </p>
-<p>
- Under ideal conditions, the number of correct digits doubles with each
- iteration.
- </p>
-<a name="halley"></a><h5>
-<a name="math_toolkit.toolkit.internals1.roots.h3"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots.halley_s_method"></a></span><a class="link" href="roots.html#math_toolkit.toolkit.internals1.roots.halley_s_method">Halley's
- Method</a>
- </h5>
-<p>
- Given an initial guess x0 the subsequent values are computed using:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/roots2.png"></span>
- </p>
-<p>
- Over-compensation by the second derivative (one which would proceed in
- the wrong direction) causes the method to revert to a Newton-Raphson step.
- </p>
-<p>
- Out of bounds steps revert to bisection of the current bounds.
- </p>
-<p>
- Under ideal conditions, the number of correct digits trebles with each
- iteration.
- </p>
-<a name="schroeder"></a><h5>
-<a name="math_toolkit.toolkit.internals1.roots.h4"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots.schroeder_s_method"></a></span><a class="link" href="roots.html#math_toolkit.toolkit.internals1.roots.schroeder_s_method">Schroeder's
- Method</a>
- </h5>
-<p>
- Given an initial guess x0 the subsequent values are computed using:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/roots3.png"></span>
- </p>
-<p>
- Over-compensation by the second derivative (one which would proceed in
- the wrong direction) causes the method to revert to a Newton-Raphson step.
- Likewise a Newton step is used whenever that Newton step would change the
- next value by more than 10%.
- </p>
-<p>
- Out of bounds steps revert to bisection of the current bounds.
- </p>
-<p>
- Under ideal conditions, the number of correct digits trebles with each
- iteration.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots.h5"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots.example"></a></span><a class="link" href="roots.html#math_toolkit.toolkit.internals1.roots.example">Example</a>
- </h5>
-<p>
- Let's suppose we want to find the cube root of a number: the equation we
- want to solve along with its derivatives are:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/roots4.png"></span>
- </p>
-<p>
- To begin with lets solve the problem using Newton-Raphson iterations, we'll
- begin by defining a function object (functor) that returns the evaluation
- of the function to solve, along with its first derivative f'(x):
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">cbrt_functor</span>
-<span class="special">{</span>
- <span class="identifier">cbrt_functor</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">a</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span>
- <span class="special">{</span> <span class="comment">// Constructor stores value to be 'cube-rooted'.</span>
- <span class="special">}</span>
- <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">)</span>
- <span class="special">{</span> <span class="comment">// z is estimate so far.</span>
- <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">make_tuple</span><span class="special">(</span>
- <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">,</span> <span class="comment">// return both f(x)</span>
- <span class="number">3</span> <span class="special">*</span> <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">);</span> <span class="comment">// and f'(x)</span>
- <span class="special">}</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">T</span> <span class="identifier">a</span><span class="special">;</span> <span class="comment">// to be 'cube-rooted'.</span>
-<span class="special">};</span>
-</pre>
-<p>
- Implementing the cube root is fairly trivial now, the hardest part is finding
- a good approximation to begin with: in this case we'll just divide the
- exponent by three:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span> <span class="comment">// for frexp, ldexp, numeric_limits.</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
-
- <span class="keyword">int</span> <span class="identifier">exp</span><span class="special">;</span>
- <span class="identifier">frexp</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">exp</span><span class="special">);</span> <span class="comment">// Get exponent of z (ignore mantissa).</span>
- <span class="identifier">T</span> <span class="identifier">min</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
- <span class="identifier">T</span> <span class="identifier">max</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">2.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
- <span class="identifier">T</span> <span class="identifier">guess</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span> <span class="comment">// Rough guess is to divide the exponent by three.</span>
- <span class="keyword">int</span> <span class="identifier">digits</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span><span class="special">;</span> <span class="comment">// Maximum possible binary digits accuracy for type T.</span>
- <span class="keyword">return</span> <span class="identifier">newton_raphson_iterate</span><span class="special">(</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">cbrt_functor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">),</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">max</span><span class="special">,</span> <span class="identifier">digits</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- Using the test data in libs/math/test/cbrt_test.cpp this found the cube
- root exact to the last digit in every case, and in no more than 6 iterations
- at double precision. However, you will note that a high precision was used
- in this example, exactly what was warned against earlier on in these docs!
- In this particular case it is possible to compute f(x) exactly and without
- undue cancellation error, so a high limit is not too much of an issue.
- However, reducing the limit to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span>
- <span class="special">*</span> <span class="number">2</span> <span class="special">/</span> <span class="number">3</span></code> gave
- full precision in all but one of the test cases (and that one was out by
- just one bit). The maximum number of iterations remained 6, but in most
- cases was reduced by one.
- </p>
-<p>
- Note also that the above code omits a probably optimization by computing
- z&#178;, and reusing it, omits error handling, and does not handle negative values
- of z correctly. (These are left as an exercise for the reader!)
- </p>
-<p>
- The boost::math::cbrt function also includes these and other improvements.
- </p>
-<p>
- Now let's adapt the functor slightly to return the second derivative as
- well:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">cbrt_functor</span>
-<span class="special">{</span>
- <span class="identifier">cbrt_functor</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">a</span><span class="special">(</span><span class="identifier">target</span><span class="special">){}</span>
- <a class="link" href="tuples.html" title="Tuples">boost::math::tuple</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">make_tuple</span><span class="special">(</span>
- <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="number">3</span> <span class="special">*</span> <span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">,</span>
- <span class="number">6</span> <span class="special">*</span> <span class="identifier">z</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">T</span> <span class="identifier">a</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- And then adapt the <code class="computeroutput"><span class="identifier">cbrt</span></code>
- function to use Halley iterations:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">std</span><span class="special">;</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
-
- <span class="keyword">int</span> <span class="identifier">exp</span><span class="special">;</span>
- <span class="identifier">frexp</span><span class="special">(</span><span class="identifier">z</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">exp</span><span class="special">);</span>
- <span class="identifier">T</span> <span class="identifier">min</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">0.5</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
- <span class="identifier">T</span> <span class="identifier">max</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">2.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
- <span class="identifier">T</span> <span class="identifier">guess</span> <span class="special">=</span> <span class="identifier">ldexp</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="identifier">exp</span><span class="special">/</span><span class="number">3</span><span class="special">);</span>
- <span class="keyword">int</span> <span class="identifier">digits</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">/</span> <span class="number">2</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">halley_iterate</span><span class="special">(</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">cbrt_functor</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">z</span><span class="special">),</span> <span class="identifier">guess</span><span class="special">,</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">max</span><span class="special">,</span> <span class="identifier">digits</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-<p>
- Note that the iterations are set to stop at just one-half of full precision,
- and yet, even so, not one of the test cases had a single bit wrong. What's
- more, the maximum number of iterations was now just 4.
- </p>
-<p>
- Just to complete the picture, we could have called <code class="computeroutput"><span class="identifier">schroeder_iterate</span></code>
- in the last example: and in fact it makes no difference to the accuracy
- or number of iterations in this particular case. However, the relative
- performance of these two methods may vary depending upon the nature of
- f(x), and the accuracy to which the initial guess can be computed. There
- appear to be no generalisations that can be made except "try them
- and see".
- </p>
-<p>
- Finally, had we called cbrt with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
- set to 1000 bit precision, then full precision can be obtained with just
- 7 iterations. To put that in perspective, an increase in precision by a
- factor of 20, has less than doubled the number of iterations. That just
- goes to emphasise that most of the iterations are used up getting the first
- few digits correct: after that these methods can churn out further digits
- with remarkable efficiency.
- </p>
-<p>
- Or to put it another way: <span class="emphasis"><em>nothing beats a really good initial
- guess!</em></span>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rational.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="roots2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html
deleted file mode 100644
index cfb6db2e0b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html
+++ /dev/null
@@ -1,588 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Root Finding Without Derivatives: Bisection, Bracket and TOMS748</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="prev" href="roots.html" title="Root Finding With Derivatives: Newton-Raphson, Halley &amp; Schroeder">
-<link rel="next" href="minima.html" title="Locating Function Minima: Brent's algorithm">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="roots.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minima.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1_roots2">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals1.roots2"></a><a class="link" href="roots2.html" title="Root Finding Without Derivatives: Bisection, Bracket and TOMS748">Root Finding
- Without Derivatives: Bisection, Bracket and TOMS748</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots2.h0"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots2.synopsis"></a></span><a class="link" href="roots2.html#math_toolkit.toolkit.internals1.roots2.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
- <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
- <span class="comment">// Bisection</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bisect</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bisect</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bisect</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
- <span class="comment">// Bracket and Solve Root</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="comment">// TOMS 748 algorithm</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
- <span class="comment">// Termination conditions:</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="keyword">struct</span> <span class="identifier">eps_tolerance</span><span class="special">;</span>
-
- <span class="keyword">struct</span> <span class="identifier">equal_floor</span><span class="special">;</span>
- <span class="keyword">struct</span> <span class="identifier">equal_ceil</span><span class="special">;</span>
- <span class="keyword">struct</span> <span class="identifier">equal_nearest_integer</span><span class="special">;</span>
-
- <span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots2.h1"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots2.description"></a></span><a class="link" href="roots2.html#math_toolkit.toolkit.internals1.roots2.description">Description</a>
- </h5>
-<p>
- These functions solve the root of some function <span class="emphasis"><em>f(x)</em></span>
- <span class="emphasis"><em>without the need for any derivatives of <span class="emphasis"><em>f(x)</em></span></em></span>.
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">bracket_and_solve_root</span></code>
- functions use TOMS Algorithm 748 that is asymptotically the most efficient
- known, and have been shown to be optimal for a certain classes of smooth
- functions. Variants with and without __policies are provided.
- </p>
-<p>
- Alternatively, there is a simple bisection routine which can be useful
- in its own right in some situations, or alternatively for narrowing down
- the range containing the root, prior to calling a more advanced algorithm.
- </p>
-<p>
- All the algorithms in this section reduce the diameter of the enclosing
- interval with the same asymptotic efficiency with which they locate the
- root. This is in contrast to the derivative based methods which may <span class="emphasis"><em>never</em></span>
- significantly reduce the enclosing interval, even though they rapidly approach
- the root. This is also in contrast to some other derivative-free methods
- (for example the methods of <a href="http://en.wikipedia.org/wiki/Brent%27s_method" target="_top">Brent
- or Dekker)</a> which only reduce the enclosing interval on the final
- step. Therefore these methods return a std::pair containing the enclosing
- interval found, and accept a function object specifying the termination
- condition. Three function objects are provided for ready-made termination
- conditions: <span class="emphasis"><em>eps_tolerance</em></span> causes termination when
- the relative error in the enclosing interval is below a certain threshold,
- while <span class="emphasis"><em>equal_floor</em></span> and <span class="emphasis"><em>equal_ceil</em></span>
- are useful for certain statistical applications where the result is known
- to be an integer. Other user-defined termination conditions are likely
- to be used only rarely, but may be useful in some specific circumstances.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots2.h2"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots2.bisection"></a></span><a class="link" href="roots2.html#math_toolkit.toolkit.internals1.roots2.bisection">Bisection</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bisect</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bisect</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bisect</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span>
- <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- These functions locate the root using bisection: function arguments are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">f</span></dt>
-<dd><p>
- A unary functor which is the function whose root is to be found.
- </p></dd>
-<dt><span class="term">min</span></dt>
-<dd><p>
- The left bracket of the interval known to contain the root.
- </p></dd>
-<dt><span class="term">max</span></dt>
-<dd><p>
- The right bracket of the interval known to contain the root. It is
- a precondition that <span class="emphasis"><em>min &lt; max</em></span> and <span class="emphasis"><em>f(min)*f(max)
- &lt;= 0</em></span>, the function signals evaluation error if these
- preconditions are violated. The action taken is controlled by the
- evaluation error policy. A best guess may be returned, perhaps significantly
- wrong.
- </p></dd>
-<dt><span class="term">tol</span></dt>
-<dd><p>
- A binary functor that specifies the termination condition: the function
- will return the current brackets enclosing the root when <span class="emphasis"><em>tol(min,max)</em></span>
- becomes true.
- </p></dd>
-<dt><span class="term">max_iter</span></dt>
-<dd><p>
- The maximum number of invocations of <span class="emphasis"><em>f(x)</em></span> to
- make while searching for the root.
- </p></dd>
-</dl>
-</div>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Returns: a pair of values <span class="emphasis"><em>r</em></span> that bracket the root
- so that:
- </p>
-<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0</span>
-</pre>
-<p>
- and either
- </p>
-<pre class="programlisting"><span class="identifier">tol</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span>
-</pre>
-<p>
- or
- </p>
-<pre class="programlisting"><span class="identifier">max_iter</span> <span class="special">&gt;=</span> <span class="identifier">m</span>
-</pre>
-<p>
- where <span class="emphasis"><em>m</em></span> is the initial value of <span class="emphasis"><em>max_iter</em></span>
- passed to the function.
- </p>
-<p>
- In other words, it's up to the caller to verify whether termination occurred
- as a result of exceeding <span class="emphasis"><em>max_iter</em></span> function invocations
- (easily done by checking the updated value of <span class="emphasis"><em>max_iter</em></span>
- when the function returns), rather than because the termination condition
- <span class="emphasis"><em>tol</em></span> was satisfied.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots2.h3"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots2.bracket_and_solve"></a></span><a class="link" href="roots2.html#math_toolkit.toolkit.internals1.roots2.bracket_and_solve">Bracket
- and solve</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">bracket_and_solve_root</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">guess</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">,</span>
- <span class="keyword">bool</span> <span class="identifier">rising</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- This is a convenience function that calls <span class="emphasis"><em>toms748_solve</em></span>
- internally to find the root of <span class="emphasis"><em>f(x)</em></span>. It's usable only
- when <span class="emphasis"><em>f(x)</em></span> is a monotonic function, and the location
- of the root is known approximately, and in particular it is known whether
- the root is occurs for positive or negative <span class="emphasis"><em>x</em></span>. The
- parameters are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">f</span></dt>
-<dd><p>
- A unary functor that is the function whose root is to be solved.
- f(x) must be uniformly increasing or decreasing on <span class="emphasis"><em>x</em></span>.
- </p></dd>
-<dt><span class="term">guess</span></dt>
-<dd><p>
- An initial approximation to the root
- </p></dd>
-<dt><span class="term">factor</span></dt>
-<dd><p>
- A scaling factor that is used to bracket the root: the value <span class="emphasis"><em>guess</em></span>
- is multiplied (or divided as appropriate) by <span class="emphasis"><em>factor</em></span>
- until two values are found that bracket the root. A value such as
- 2 is a typical choice for <span class="emphasis"><em>factor</em></span>.
- </p></dd>
-<dt><span class="term">rising</span></dt>
-<dd><p>
- Set to <span class="emphasis"><em>true</em></span> if <span class="emphasis"><em>f(x)</em></span> is
- rising on <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>false</em></span> if
- <span class="emphasis"><em>f(x)</em></span> is falling on <span class="emphasis"><em>x</em></span>. This
- value is used along with the result of <span class="emphasis"><em>f(guess)</em></span>
- to determine if <span class="emphasis"><em>guess</em></span> is above or below the
- root.
- </p></dd>
-<dt><span class="term">tol</span></dt>
-<dd><p>
- A binary functor that determines the termination condition for the
- search for the root. <span class="emphasis"><em>tol</em></span> is passed the current
- brackets at each step, when it returns true then the current brackets
- are returned as the result.
- </p></dd>
-<dt><span class="term">max_iter</span></dt>
-<dd><p>
- The maximum number of function invocations to perform in the search
- for the root.
- </p></dd>
-</dl>
-</div>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- Returns: a pair of values <span class="emphasis"><em>r</em></span> that bracket the root
- so that:
- </p>
-<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">f</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">&lt;=</span> <span class="number">0</span>
-</pre>
-<p>
- and either
- </p>
-<pre class="programlisting"><span class="identifier">tol</span><span class="special">(</span><span class="identifier">r</span><span class="special">.</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">second</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span>
-</pre>
-<p>
- or
- </p>
-<pre class="programlisting"><span class="identifier">max_iter</span> <span class="special">&gt;=</span> <span class="identifier">m</span>
-</pre>
-<p>
- where <span class="emphasis"><em>m</em></span> is the initial value of <span class="emphasis"><em>max_iter</em></span>
- passed to the function.
- </p>
-<p>
- In other words, it's up to the caller to verify whether termination occurred
- as a result of exceeding <span class="emphasis"><em>max_iter</em></span> function invocations
- (easily done by checking the value of <span class="emphasis"><em>max_iter</em></span> when
- the function returns), rather than because the termination condition <span class="emphasis"><em>tol</em></span>
- was satisfied.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots2.h4"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots2.algorithm_toms_748__alefeld__potra_and_shi__enclosing_zeros_of_continuous_functions"></a></span><a class="link" href="roots2.html#math_toolkit.toolkit.internals1.roots2.algorithm_toms_748__alefeld__potra_and_shi__enclosing_zeros_of_continuous_functions">Algorithm
- TOMS 748: Alefeld, Potra and Shi: Enclosing zeros of continuous functions</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Tol</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
- <span class="identifier">toms748_solve</span><span class="special">(</span>
- <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fa</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">fb</span><span class="special">,</span>
- <span class="identifier">Tol</span> <span class="identifier">tol</span><span class="special">,</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">,</span>
- <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
-</pre>
-<p>
- These two functions implement TOMS Algorithm 748: it uses a mixture of
- cubic, quadratic and linear (secant) interpolation to locate the root of
- <span class="emphasis"><em>f(x)</em></span>. The two functions differ only by whether values
- for <span class="emphasis"><em>f(a)</em></span> and <span class="emphasis"><em>f(b)</em></span> are already
- available. The toms748_solve parameters are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">f</span></dt>
-<dd><p>
- A unary functor that is the function whose root is to be solved.
- f(x) need not be uniformly increasing or decreasing on <span class="emphasis"><em>x</em></span>
- and may have multiple roots.
- </p></dd>
-<dt><span class="term">a</span></dt>
-<dd><p>
- The lower bound for the initial bracket of the root.
- </p></dd>
-<dt><span class="term">b</span></dt>
-<dd><p>
- The upper bound for the initial bracket of the root. It is a precondition
- that <span class="emphasis"><em>a &lt; b</em></span> and that <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>b</em></span> bracket the root to find so that <span class="emphasis"><em>f(a)*f(b)
- &lt; 0</em></span>.
- </p></dd>
-<dt><span class="term">fa</span></dt>
-<dd><p>
- Optional: the value of <span class="emphasis"><em>f(a)</em></span>.
- </p></dd>
-<dt><span class="term">fb</span></dt>
-<dd><p>
- Optional: the value of <span class="emphasis"><em>f(b)</em></span>.
- </p></dd>
-<dt><span class="term">tol</span></dt>
-<dd><p>
- A binary functor that determines the termination condition for the
- search for the root. <span class="emphasis"><em>tol</em></span> is passed the current
- brackets at each step, when it returns true, then the current brackets
- are returned as the result.
- </p></dd>
-<dt><span class="term">max_iter</span></dt>
-<dd><p>
- The maximum number of function invocations to perform in the search
- for the root. On exit <span class="emphasis"><em>max_iter</em></span> is set to actual
- number of function invocations used.
- </p></dd>
-</dl>
-</div>
-<p>
- The final <a class="link" href="../../policy.html" title="Policies">Policy</a> argument is
- optional and can be used to control the behaviour of the function: how
- it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
- </p>
-<p>
- toms748_solve returns: a pair of values <span class="emphasis"><em>r</em></span> that bracket
- the root so that: f(r.first) * f(r.second) &lt;= 0 and either tol(r.first,
- r.second) == true or max_iter &gt;= m where <span class="emphasis"><em>m</em></span> is the
- initial value of <span class="emphasis"><em>max_iter</em></span> passed to the function.
- </p>
-<p>
- In other words, it's up to the caller to verify whether termination occurred
- as a result of exceeding <span class="emphasis"><em>max_iter</em></span> function invocations
- (easily done by checking the updated value of <span class="emphasis"><em>max_iter</em></span>
- against its previous value passed as parameter), rather than because the
- termination condition <span class="emphasis"><em>tol</em></span> was satisfied.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">eps_tolerance</span>
-<span class="special">{</span>
- <span class="identifier">eps_tolerance</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- <code class="computeroutput"><span class="identifier">eps_tolerance</span></code> is the usual
- termination condition used with these root finding functions. Its operator()
- will return true when the relative distance between <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>b</em></span> is less than twice the machine epsilon for T,
- or 2<sup>1-bits</sup>, whichever is the larger. In other words, you set <span class="emphasis"><em>bits</em></span>
- to the number of bits of precision you want in the result. The minimal
- tolerance of twice the machine epsilon of T is required to ensure that
- we get back a bracketing interval: since this must clearly be at least
- 1 epsilon in size.
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">equal_floor</span>
-<span class="special">{</span>
- <span class="identifier">equal_floor</span><span class="special">();</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- This termination condition is used when you want to find an integer result
- that is the <span class="emphasis"><em>floor</em></span> of the true root. It will terminate
- as soon as both ends of the interval have the same <span class="emphasis"><em>floor</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">equal_ceil</span>
-<span class="special">{</span>
- <span class="identifier">equal_ceil</span><span class="special">();</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- This termination condition is used when you want to find an integer result
- that is the <span class="emphasis"><em>ceil</em></span> of the true root. It will terminate
- as soon as both ends of the interval have the same <span class="emphasis"><em>ceil</em></span>.
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">equal_nearest_integer</span>
-<span class="special">{</span>
- <span class="identifier">equal_nearest_integer</span><span class="special">();</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- This termination condition is used when you want to find an integer result
- that is the <span class="emphasis"><em>closest</em></span> to the true root. It will terminate
- as soon as both ends of the interval round to the same nearest integer.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.roots2.h5"></a>
- <span><a name="math_toolkit.toolkit.internals1.roots2.implementation"></a></span><a class="link" href="roots2.html#math_toolkit.toolkit.internals1.roots2.implementation">Implementation</a>
- </h5>
-<p>
- The implementation of the bisection algorithm is extremely straightforward
- and not detailed here. <a href="http://portal.acm.org/citation.cfm?id=210111" target="_top">TOMS
- Algorithm 748: enclosing zeros of continuous functions</a> is described
- in detail in:
- </p>
-<p>
- <span class="emphasis"><em>Algorithm 748: Enclosing Zeros of Continuous Functions, G. E.
- Alefeld, F. A. Potra and Yixun Shi, ACM Transactions on Mathematica1 Software,
- Vol. 21. No. 3. September 1995. Pages 327-344.</em></span>
- </p>
-<p>
- The implementation here is a faithful translation of this paper into C++.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="roots.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minima.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html
deleted file mode 100644
index d0e25f72d3..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Series Evaluation</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="prev" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="next" href="cf.html" title="Continued Fraction Evaluation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../internals1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1_series_evaluation">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals1.series_evaluation"></a><a class="link" href="series_evaluation.html" title="Series Evaluation">Series
- Evaluation</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals1.series_evaluation.h0"></a>
- <span><a name="math_toolkit.toolkit.internals1.series_evaluation.synopsis"></a></span><a class="link" href="series_evaluation.html#math_toolkit.toolkit.internals1.series_evaluation.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">series</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;</span> <span class="identifier">init_value</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">tolerance</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
-
-<span class="comment">//</span>
-<span class="comment">// The following interfaces are now deprecated:</span>
-<span class="comment">// </span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">init_value</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">,</span> <span class="identifier">U</span> <span class="identifier">init_value</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">kahan_sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Functor</span><span class="special">&gt;</span>
-<span class="keyword">typename</span> <span class="identifier">Functor</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">kahan_sum_series</span><span class="special">(</span><span class="identifier">Functor</span><span class="special">&amp;</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_terms</span><span class="special">);</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals1.series_evaluation.h1"></a>
- <span><a name="math_toolkit.toolkit.internals1.series_evaluation.description"></a></span><a class="link" href="series_evaluation.html#math_toolkit.toolkit.internals1.series_evaluation.description">Description</a>
- </h5>
-<p>
- These algorithms are intended for the <a href="http://en.wikipedia.org/wiki/Series_%28mathematics%29" target="_top">summation
- of infinite series</a>.
- </p>
-<p>
- Each of the algorithms takes a nullary-function object as the first argument:
- the function object will be repeatedly invoked to pull successive terms
- from the series being summed.
- </p>
-<p>
- The second argument is the precision required, summation will stop when
- the next term is less than <span class="emphasis"><em>tolerance</em></span> times the result.
- The deprecated versions of sum_series take an integer number of bits here
- - internally they just convert this to a tolerance and forward the call.
- </p>
-<p>
- The third argument <span class="emphasis"><em>max_terms</em></span> sets an upper limit on
- the number of terms of the series to evaluate. In addition, on exit the
- function will set <span class="emphasis"><em>max_terms</em></span> to the actual number of
- terms of the series that were evaluated: this is particularly useful for
- profiling the convergence properties of a new series.
- </p>
-<p>
- The final optional argument <span class="emphasis"><em>init_value</em></span> is the initial
- value of the sum to which the terms of the series should be added. This
- is useful in two situations:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Where the first value of the series has a different formula to successive
- terms. In this case the first value in the series can be passed as
- the last argument and the logic of the function object can then be
- simplified to return subsequent terms.
- </li>
-<li class="listitem">
- Where the series is being added (or subtracted) from some other value:
- termination of the series will likely occur much more rapidly if that
- other value is passed as the last argument. For example, there are
- several functions that can be expressed as <span class="emphasis"><em>1 - S(z)</em></span>
- where S(z) is an infinite series. In this case, pass -1 as the last
- argument and then negate the result of the summation to get the result
- of <span class="emphasis"><em>1 - S(z)</em></span>.
- </li>
-</ul></div>
-<p>
- The two <span class="emphasis"><em>kahan_sum_series</em></span> variants of these algorithms
- maintain a carry term that corrects for roundoff error during summation.
- They are inspired by the <a href="http://en.wikipedia.org/wiki/Kahan_Summation_Algorithm" target="_top"><span class="emphasis"><em>Kahan
- Summation Formula</em></span></a> that appears in <a href="http://docs.sun.com/source/806-3568/ncg_goldberg.html" target="_top">What
- Every Computer Scientist Should Know About Floating-Point Arithmetic</a>.
- However, it should be pointed out that there are very few series that require
- summation in this way.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.series_evaluation.h2"></a>
- <span><a name="math_toolkit.toolkit.internals1.series_evaluation.example"></a></span><a class="link" href="series_evaluation.html#math_toolkit.toolkit.internals1.series_evaluation.example">Example</a>
- </h5>
-<p>
- Let's suppose we want to implement <span class="emphasis"><em>log(1+x)</em></span> via its
- infinite series,
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/log1pseries.png"></span>
- </p>
-<p>
- We begin by writing a small function object to return successive terms
- of the series:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">log1p_series</span>
-<span class="special">{</span>
- <span class="comment">// we must define a result_type typedef:</span>
- <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">result_type</span><span class="special">;</span>
-
- <span class="identifier">log1p_series</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">k</span><span class="special">(</span><span class="number">0</span><span class="special">),</span> <span class="identifier">m_mult</span><span class="special">(-</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">m_prod</span><span class="special">(-</span><span class="number">1</span><span class="special">){}</span>
-
- <span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()()</span>
- <span class="special">{</span>
- <span class="comment">// This is the function operator invoked by the summation</span>
- <span class="comment">// algorithm, the first call to this operator should return</span>
- <span class="comment">// the first term of the series, the second call the second </span>
- <span class="comment">// term and so on.</span>
- <span class="identifier">m_prod</span> <span class="special">*=</span> <span class="identifier">m_mult</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">m_prod</span> <span class="special">/</span> <span class="special">++</span><span class="identifier">k</span><span class="special">;</span>
- <span class="special">}</span>
-
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">int</span> <span class="identifier">k</span><span class="special">;</span>
- <span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">m_mult</span><span class="special">;</span>
- <span class="identifier">T</span> <span class="identifier">m_prod</span><span class="special">;</span>
-<span class="special">};</span>
-</pre>
-<p>
- Implementing log(1+x) is now fairly trivial:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">log1p</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// We really should add some error checking on x here!</span>
- <span class="identifier">assert</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;</span> <span class="number">1</span><span class="special">);</span>
-
- <span class="comment">// Construct the series functor:</span>
- <span class="identifier">log1p_series</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">s</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
- <span class="comment">// Set a limit on how many iterations we permit:</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span> <span class="identifier">max_iter</span> <span class="special">=</span> <span class="number">1000</span><span class="special">;</span>
- <span class="comment">// Add it up, with enough precision for full machine precision:</span>
- <span class="keyword">return</span> <span class="identifier">tools</span><span class="special">::</span><span class="identifier">sum_series</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">(),</span> <span class="identifier">max_iter</span><span class="special">);</span>
-<span class="special">}</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../internals1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/tuples.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/tuples.html
deleted file mode 100644
index 5e6a6f348c..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/tuples.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Tuples</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals1.html" title="Utilities &amp; Tools">
-<link rel="prev" href="minima.html" title="Locating Function Minima: Brent's algorithm">
-<link rel="next" href="../internals2.html" title="Testing and Development">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="minima.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../internals2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals1_tuples">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals1.tuples"></a><a class="link" href="tuples.html" title="Tuples">Tuples</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals1.tuples.h0"></a>
- <span><a name="math_toolkit.toolkit.internals1.tuples.synopsis"></a></span><a class="link" href="tuples.html#math_toolkit.toolkit.internals1.tuples.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals1.tuples.h1"></a>
- <span><a name="math_toolkit.toolkit.internals1.tuples.description"></a></span><a class="link" href="tuples.html#math_toolkit.toolkit.internals1.tuples.description">Description</a>
- </h5>
-<p>
- This header defines the type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tuple</span></code>,
- the associated free functions <code class="computeroutput"><span class="identifier">ignore</span></code>,
- <code class="computeroutput"><span class="identifier">tie</span></code>, <code class="computeroutput"><span class="identifier">make_tuple</span></code>,
- <code class="computeroutput"><span class="identifier">get</span></code>, and associated types
- <code class="computeroutput"><span class="identifier">tuple_size</span></code> and <code class="computeroutput"><span class="identifier">tuple_element</span></code>.
- </p>
-<p>
- These types and functions are aliases for:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- std::tuple etc when available, otherwise:
- </li>
-<li class="listitem">
- std::tr1::tuple etc when available, otherwise:
- </li>
-<li class="listitem">
- boost::fusion::tuple etc if the compiler supports it, otherwise:
- </li>
-<li class="listitem">
- boost::tuple.
- </li>
-</ul></div>
-<p>
- So this <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tuple</span></code> is strongly recommended for maximum
- portability.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="minima.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals1.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../internals2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2.html
deleted file mode 100644
index 8e9cf4cf75..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Testing and Development</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../toolkit.html" title="Tools and Internal Details">
-<link rel="prev" href="internals1/tuples.html" title="Tuples">
-<link rel="next" href="internals2/polynomials.html" title="Polynomials">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="internals1/tuples.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals2/polynomials.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals2">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.toolkit.internals2"></a><a class="link" href="internals2.html" title="Testing and Development">Testing and Development</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="internals2/polynomials.html">Polynomials</a></span></dt>
-<dt><span class="section"><a href="internals2/minimax.html">Minimax Approximations
- and the Remez Algorithm</a></span></dt>
-<dt><span class="section"><a href="internals2/error_test.html">Relative
- Error and Testing</a></span></dt>
-<dt><span class="section"><a href="internals2/test_data.html">Graphing,
- Profiling, and Generating Test Data for Special Functions</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="internals1/tuples.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals2/polynomials.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html
deleted file mode 100644
index b611e43cdc..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Relative Error and Testing</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals2.html" title="Testing and Development">
-<link rel="prev" href="minimax.html" title="Minimax Approximations and the Remez Algorithm">
-<link rel="next" href="test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="minimax.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_data.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals2_error_test">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals2.error_test"></a><a class="link" href="error_test.html" title="Relative Error and Testing">Relative
- Error and Testing</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals2.error_test.h0"></a>
- <span><a name="math_toolkit.toolkit.internals2.error_test.synopsis"></a></span><a class="link" href="error_test.html#math_toolkit.toolkit.internals2.error_test.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">relative_error</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F2</span><span class="special">&gt;</span>
-<span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">test</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">F1</span> <span class="identifier">test_func</span><span class="special">,</span> <span class="identifier">F2</span> <span class="identifier">expect_func</span><span class="special">);</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals2.error_test.h1"></a>
- <span><a name="math_toolkit.toolkit.internals2.error_test.description"></a></span><a class="link" href="error_test.html#math_toolkit.toolkit.internals2.error_test.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">relative_error</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">v</span><span class="special">);</span>
-</pre>
-<p>
- Returns the relative error between <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span>
- using the usual formula:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../equations/error1.png"></span>
- </p>
-<p>
- In addition the value returned is zero if:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Both <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span> are infinite.
- </li>
-<li class="listitem">
- Both <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span> are denormalised
- numbers or zero.
- </li>
-</ul></div>
-<p>
- Otherwise if only one of <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>v</em></span>
- is zero then the value returned is 1.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">F2</span><span class="special">&gt;</span>
-<span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">test</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">F1</span> <span class="identifier">test_func</span><span class="special">,</span> <span class="identifier">F2</span> <span class="identifier">expect_func</span><span class="special">);</span>
-</pre>
-<p>
- This function is used for testing a function against tabulated test data.
- </p>
-<p>
- The return type contains statistical data on the relative errors (max,
- mean, variance, and the number of test cases etc), as well as the row of
- test data that caused the largest relative error. Public members of type
- test_result are:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term"><code class="computeroutput"><span class="keyword">unsigned</span> <span class="identifier">worst</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
-<dd><p>
- Returns the row at which the worst error occurred.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">min</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
-<dd><p>
- Returns the smallest relative error found.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">max</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
-<dd><p>
- Returns the largest relative error found.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">mean</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
-<dd><p>
- Returns the mean error found.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span> <span class="identifier">count</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
-<dd><p>
- Returns the number of test cases.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">variance</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
-<dd><p>
- Returns the variance of the errors found.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">variance1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span></code></span></dt>
-<dd><p>
- Returns the unbiased variance of the errors found.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">T</span> <span class="identifier">rms</span><span class="special">()</span><span class="keyword">const</span></code></span></dt>
-<dd><p>
- Returns the Root Mean Square, or quadratic mean of the errors.
- </p></dd>
-<dt><span class="term"><code class="computeroutput"><span class="identifier">test_result</span><span class="special">&amp;</span>
- <span class="keyword">operator</span><span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">test_result</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">)</span></code></span></dt>
-<dd><p>
- Combines two test_result's into a single result.
- </p></dd>
-</dl>
-</div>
-<p>
- The template parameter of test_result, is the same type as the values in
- the two dimensional array passed to function <span class="emphasis"><em>test</em></span>,
- roughly that's <code class="computeroutput"><span class="identifier">A</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">::</span><span class="identifier">value_type</span></code>.
- </p>
-<p>
- Parameter <span class="emphasis"><em>a</em></span> is a matrix of test data: and must be
- a standard library Sequence type, that contains another Sequence type:
- typically it will be a two dimensional instance of <code class="literal">boost::array</code>.
- Each row of <span class="emphasis"><em>a</em></span> should contain all the parameters that
- are passed to the function under test as well as the expected result.
- </p>
-<p>
- Parameter <span class="emphasis"><em>test_func</em></span> is the function under test, it
- is invoked with each row of test data in <span class="emphasis"><em>a</em></span>. Typically
- type F1 is created with Boost.Lambda: see the example below.
- </p>
-<p>
- Parameter <span class="emphasis"><em>expect_func</em></span> is a functor that extracts the
- expected result from a row of test data in <span class="emphasis"><em>a</em></span>. Typically
- type F2 is created with Boost.Lambda: see the example below.
- </p>
-<p>
- If the function under test returns a non-finite value when a finite result
- is expected, or if a gross error is found, then a message is sent to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cerr</span></code>, and a call to BOOST_ERROR() made
- (which means that including this header requires you use Boost.Test). This
- is mainly a debugging/development aid (and a good place for a breakpoint).
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals2.error_test.h2"></a>
- <span><a name="math_toolkit.toolkit.internals2.error_test.example"></a></span><a class="link" href="error_test.html#math_toolkit.toolkit.internals2.error_test.example">Example</a>
- </h5>
-<p>
- Suppose we want to test the tgamma and lgamma functions, we can create
- a two dimensional matrix of test data, each row is one test case, and contains
- three elements: the input value, and the expected results for the tgamma
- and lgamma functions respectively.
- </p>
-<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;,</span> <span class="identifier">NumberOfTests</span><span class="special">&gt;</span>
- <span class="identifier">factorials</span> <span class="special">=</span> <span class="special">{</span>
- <span class="comment">/* big array of test data goes here */</span>
- <span class="special">};</span>
-</pre>
-<p>
- Now we can invoke the test function to test tgamma:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">;</span>
-
-<span class="comment">// get a pointer to the function under test:</span>
-<span class="identifier">TestType</span> <span class="special">(*</span><span class="identifier">funcp</span><span class="special">)(</span><span class="identifier">TestType</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">;</span>
-
-<span class="comment">// declare something to hold the result:</span>
-<span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;</span> <span class="identifier">result</span><span class="special">;</span>
-<span class="comment">//</span>
-<span class="comment">// and test tgamma against data:</span>
-<span class="comment">//</span>
-<span class="identifier">result</span> <span class="special">=</span> <span class="identifier">test</span><span class="special">(</span>
- <span class="identifier">factorials</span><span class="special">,</span>
- <span class="identifier">bind</span><span class="special">(</span><span class="identifier">funcp</span><span class="special">,</span> <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">0</span><span class="special">])),</span> <span class="comment">// calls tgamma with factorials[row][0]</span>
- <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">1</span><span class="special">])</span> <span class="comment">// extracts the expected result from factorials[row][1]</span>
-<span class="special">);</span>
-<span class="comment">//</span>
-<span class="comment">// Print out some results:</span>
-<span class="comment">//</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The Mean was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">result</span><span class="special">.</span><span class="identifier">mean</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The worst error was "</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">result</span><span class="special">.</span><span class="identifier">max</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The worst error was at row "</span> <span class="special">&lt;&lt;</span> <span class="identifier">result</span><span class="special">.</span><span class="identifier">worst_case</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">//</span>
-<span class="comment">// same again with lgamma this time:</span>
-<span class="comment">//</span>
-<span class="identifier">funcp</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">;</span>
-<span class="identifier">result</span> <span class="special">=</span> <span class="identifier">test</span><span class="special">(</span>
- <span class="identifier">factorials</span><span class="special">,</span>
- <span class="identifier">bind</span><span class="special">(</span><span class="identifier">funcp</span><span class="special">,</span> <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">0</span><span class="special">])),</span> <span class="comment">// calls tgamma with factorials[row][0]</span>
- <span class="identifier">ret</span><span class="special">&lt;</span><span class="identifier">TestType</span><span class="special">&gt;(</span><span class="identifier">_1</span><span class="special">[</span><span class="number">2</span><span class="special">])</span> <span class="comment">// extracts the expected result from factorials[row][2]</span>
-<span class="special">);</span>
-<span class="comment">//</span>
-<span class="comment">// etc ...</span>
-<span class="comment">//</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="minimax.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="test_data.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/minimax.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/minimax.html
deleted file mode 100644
index f718e22a92..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/minimax.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Minimax Approximations and the Remez Algorithm</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals2.html" title="Testing and Development">
-<link rel="prev" href="polynomials.html" title="Polynomials">
-<link rel="next" href="error_test.html" title="Relative Error and Testing">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="polynomials.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_test.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals2_minimax">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals2.minimax"></a><a class="link" href="minimax.html" title="Minimax Approximations and the Remez Algorithm">Minimax Approximations
- and the Remez Algorithm</a>
-</h4></div></div></div>
-<p>
- The directory libs/math/minimax contains a command line driven program
- for the generation of minimax approximations using the Remez algorithm.
- Both polynomial and rational approximations are supported, although the
- latter are tricky to converge: it is not uncommon for convergence of rational
- forms to fail. No such limitations are present for polynomial approximations
- which should always converge smoothly.
- </p>
-<p>
- It's worth stressing that developing rational approximations to functions
- is often not an easy task, and one to which many books have been devoted.
- To use this tool, you will need to have a reasonable grasp of what the
- Remez algorithm is, and the general form of the approximation you want
- to achieve.
- </p>
-<p>
- Unless you already familar with the Remez method, you should first read
- the <a class="link" href="../../backgrounders/remez.html" title="The Remez Method">brief background article
- explaining the principles behind the Remez algorithm</a>.
- </p>
-<p>
- The program consists of two parts:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">main.cpp</span></dt>
-<dd><p>
- Contains the command line parser, and all the calls to the Remez
- code.
- </p></dd>
-<dt><span class="term">f.cpp</span></dt>
-<dd><p>
- Contains the function to approximate.
- </p></dd>
-</dl>
-</div>
-<p>
- Therefore to use this tool, you must modify f.cpp to return the function
- to approximate. The tools supports multiple function approximations within
- the same compiled program: each as a separate variant:
- </p>
-<pre class="programlisting"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">f</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">variant</span><span class="special">);</span>
-</pre>
-<p>
- Returns the value of the function <span class="emphasis"><em>variant</em></span> at point
- <span class="emphasis"><em>x</em></span>. So if you wish you can just add the function to
- approximate as a new variant after the existing examples.
- </p>
-<p>
- In addition to those two files, the program needs to be linked to a <a class="link" href="../../using_udt/use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library">patched NTL library to compile</a>.
- </p>
-<p>
- Note that the function <span class="emphasis"><em>f</em></span> must return the rational
- part of the approximation: for example if you are approximating a function
- <span class="emphasis"><em>f(x)</em></span> then it is quite common to use:
- </p>
-<pre class="programlisting"><span class="identifier">f</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">g</span><span class="special">(</span><span class="identifier">x</span><span class="special">)(</span><span class="identifier">Y</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">x</span><span class="special">))</span>
-</pre>
-<p>
- where <span class="emphasis"><em>g(x)</em></span> is the dominant part of <span class="emphasis"><em>f(x)</em></span>,
- <span class="emphasis"><em>Y</em></span> is some constant, and <span class="emphasis"><em>R(x)</em></span>
- is the rational approximation part, usually optimised for a low absolute
- error compared to |Y|.
- </p>
-<p>
- In this case you would define <span class="emphasis"><em>f</em></span> to return <span class="emphasis"><em>f(x)/g(x)</em></span>
- and then set the y-offset of the approximation to <span class="emphasis"><em>Y</em></span>
- (see command line options below).
- </p>
-<p>
- Many other forms are possible, but in all cases the objective is to split
- <span class="emphasis"><em>f(x)</em></span> into a dominant part that you can evaluate easily
- using standard math functions, and a smooth and slowly changing rational
- approximation part. Refer to your favourite textbook for more examples.
- </p>
-<p>
- Command line options for the program are as follows:
- </p>
-<div class="variablelist">
-<p class="title"><b></b></p>
-<dl>
-<dt><span class="term">variant N</span></dt>
-<dd><p>
- Sets the current function variant to N. This allows multiple functions
- that are to be approximated to be compiled into the same executable.
- Defaults to 0.
- </p></dd>
-<dt><span class="term">range a b</span></dt>
-<dd><p>
- Sets the domain for the approximation to the range [a,b], defaults
- to [0,1].
- </p></dd>
-<dt><span class="term">relative</span></dt>
-<dd><p>
- Sets the Remez code to optimise for relative error. This is the default
- at program startup. Note that relative error can only be used if
- f(x) has no roots over the range being optimised.
- </p></dd>
-<dt><span class="term">absolute</span></dt>
-<dd><p>
- Sets the Remez code to optimise for absolute error.
- </p></dd>
-<dt><span class="term">pin [true|false]</span></dt>
-<dd><p>
- "Pins" the code so that the rational approximation passes
- through the origin. Obviously only set this to <span class="emphasis"><em>true</em></span>
- if R(0) must be zero. This is typically used when trying to preserve
- a root at [0,0] while also optimising for relative error.
- </p></dd>
-<dt><span class="term">order N D</span></dt>
-<dd><p>
- Sets the order of the approximation to <span class="emphasis"><em>N</em></span> in
- the numerator and <span class="emphasis"><em>D</em></span> in the denominator. If
- <span class="emphasis"><em>D</em></span> is zero then the result will be a polynomial
- approximation. There will be N+D+2 coefficients in total, the first
- coefficient of the numerator is zero if <span class="emphasis"><em>pin</em></span>
- was set to true, and the first coefficient of the denominator is
- always one.
- </p></dd>
-<dt><span class="term">working-precision N</span></dt>
-<dd><p>
- Sets the working precision of NTL::RR to <span class="emphasis"><em>N</em></span> binary
- digits. Defaults to 250.
- </p></dd>
-<dt><span class="term">target-precision N</span></dt>
-<dd><p>
- Sets the precision of printed output to <span class="emphasis"><em>N</em></span> binary
- digits: set to the same number of digits as the type that will be
- used to evaluate the approximation. Defaults to 53 (for double precision).
- </p></dd>
-<dt><span class="term">skew val</span></dt>
-<dd><p>
- "Skews" the initial interpolated control points towards
- one end or the other of the range. Positive values skew the initial
- control points towards the left hand side of the range, and negative
- values towards the right hand side. If an approximation won't converge
- (a common situation) try adjusting the skew parameter until the first
- step yields the smallest possible error. <span class="emphasis"><em>val</em></span>
- should be in the range [-100,+100], the default is zero.
- </p></dd>
-<dt><span class="term">brake val</span></dt>
-<dd><p>
- Sets a brake on each step so that the change in the control points
- is braked by <span class="emphasis"><em>val%</em></span>. Defaults to 50, try a higher
- value if an approximation won't converge, or a lower value to get
- speedier convergence.
- </p></dd>
-<dt><span class="term">x-offset val</span></dt>
-<dd><p>
- Sets the x-offset to <span class="emphasis"><em>val</em></span>: the approximation
- will be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">S</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">))</span> <span class="special">+</span> <span class="identifier">Y</span></code>
- where <span class="emphasis"><em>X</em></span> is the x-offset, <span class="emphasis"><em>S</em></span>
- is the x-scale and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults
- to zero. To avoid rounding errors, take care to specify a value that
- can be exactly represented as a floating point number.
- </p></dd>
-<dt><span class="term">x-scale val</span></dt>
-<dd><p>
- Sets the x-scale to <span class="emphasis"><em>val</em></span>: the approximation will
- be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">S</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">))</span> <span class="special">+</span> <span class="identifier">Y</span></code>
- where <span class="emphasis"><em>S</em></span> is the x-scale, <span class="emphasis"><em>X</em></span>
- is the x-offset and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults
- to one. To avoid rounding errors, take care to specify a value that
- can be exactly represented as a floating point number.
- </p></dd>
-<dt><span class="term">y-offset val</span></dt>
-<dd><p>
- Sets the y-offset to <span class="emphasis"><em>val</em></span>: the approximation
- will be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">S</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">))</span> <span class="special">+</span> <span class="identifier">Y</span></code>
- where <span class="emphasis"><em>X</em></span> is the x-offset, <span class="emphasis"><em>S</em></span>
- is the x-scale and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults
- to zero. To avoid rounding errors, take care to specify a value that
- can be exactly represented as a floating point number.
- </p></dd>
-<dt><span class="term">y-offset auto</span></dt>
-<dd><p>
- Sets the y-offset to the average value of f(x) evaluated at the two
- endpoints of the range plus the midpoint of the range. The calculated
- value is deliberately truncated to <span class="emphasis"><em>float</em></span> precision
- (and should be stored as a <span class="emphasis"><em>float</em></span> in your code).
- The approximation will be generated for <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">X</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">Y</span></code> where <span class="emphasis"><em>X</em></span>
- is the x-offset and <span class="emphasis"><em>Y</em></span> is the y-offset. Defaults
- to zero.
- </p></dd>
-<dt><span class="term">graph N</span></dt>
-<dd><p>
- Prints N evaluations of f(x) at evenly spaced points over the range
- being optimised. If unspecified then <span class="emphasis"><em>N</em></span> defaults
- to 3. Use to check that f(x) is indeed smooth over the range of interest.
- </p></dd>
-<dt><span class="term">step N</span></dt>
-<dd><p>
- Performs <span class="emphasis"><em>N</em></span> steps, or one step if <span class="emphasis"><em>N</em></span>
- is unspecified. After each step prints: the peek error at the extrema
- of the error function of the approximation, the theoretical error
- term solved for on the last step, and the maximum relative change
- in the location of the Chebyshev control points. The approximation
- is converged on the minimax solution when the two error terms are
- (approximately) equal, and the change in the control points has decreased
- to a suitably small value.
- </p></dd>
-<dt><span class="term">test [float|double|long]</span></dt>
-<dd><p>
- Tests the current approximation at float, double, or long double
- precision. Useful to check for rounding errors in evaluating the
- approximation at fixed precision. Tests are conducted at the extrema
- of the error function of the approximation, and at the zeros of the
- error function.
- </p></dd>
-<dt><span class="term">test [float|double|long] N</span></dt>
-<dd><p>
- Tests the current approximation at float, double, or long double
- precision. Useful to check for rounding errors in evaluating the
- approximation at fixed precision. Tests are conducted at N evenly
- spaced points over the range of the approximation. If none of [float|double|long]
- are specified then tests using NTL::RR, this can be used to obtain
- the error function of the approximation.
- </p></dd>
-<dt><span class="term">rescale a b</span></dt>
-<dd><p>
- Takes the current Chebeshev control points, and rescales them over
- a new interval [a,b]. Sometimes this can be used to obtain starting
- control points for an approximation that can not otherwise be converged.
- </p></dd>
-<dt><span class="term">rotate</span></dt>
-<dd><p>
- Moves one term from the numerator to the denominator, but keeps the
- Chebyshev control points the same. Sometimes this can be used to
- obtain starting control points for an approximation that can not
- otherwise be converged.
- </p></dd>
-<dt><span class="term">info</span></dt>
-<dd><p>
- Prints out the current approximation: the location of the zeros of
- the error function, the location of the Chebyshev control points,
- the x and y offsets, and of course the coefficients of the polynomials.
- </p></dd>
-</dl>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="polynomials.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="error_test.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html
deleted file mode 100644
index 8f78f3de80..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Polynomials</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals2.html" title="Testing and Development">
-<link rel="prev" href="../internals2.html" title="Testing and Development">
-<link rel="next" href="minimax.html" title="Minimax Approximations and the Remez Algorithm">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../internals2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minimax.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals2_polynomials">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals2.polynomials"></a><a class="link" href="polynomials.html" title="Polynomials">Polynomials</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.toolkit.internals2.polynomials.h0"></a>
- <span><a name="math_toolkit.toolkit.internals2.polynomials.synopsis"></a></span><a class="link" href="polynomials.html#math_toolkit.toolkit.internals2.polynomials.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">polynomial</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">polynomial</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// typedefs:</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">value_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">size_type</span> <span class="identifier">size_type</span><span class="special">;</span>
-
- <span class="comment">// construct:</span>
- <span class="identifier">polynomial</span><span class="special">(){}</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">*</span> <span class="identifier">data</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">order</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">point</span><span class="special">);</span>
-
- <span class="comment">// access:</span>
- <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">size_type</span> <span class="identifier">degree</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">i</span><span class="special">);</span>
- <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span> <span class="identifier">i</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// operators:</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">+=(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;&amp;</span> <span class="identifier">value</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">-=(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;&amp;</span> <span class="identifier">value</span><span class="special">);</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
- <span class="identifier">polynomial</span><span class="special">&amp;</span> <span class="keyword">operator</span> <span class="special">*=(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;&amp;</span> <span class="identifier">value</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">+</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">-</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">operator</span> <span class="special">*</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="keyword">operator</span> <span class="special">&lt;&lt;</span>
- <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">polynomial</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">poly</span><span class="special">);</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals2.polynomials.h1"></a>
- <span><a name="math_toolkit.toolkit.internals2.polynomials.description"></a></span><a class="link" href="polynomials.html#math_toolkit.toolkit.internals2.polynomials.description">Description</a>
- </h5>
-<p>
- This is a fairly trivial class for polynomial manipulation.
- </p>
-<p>
- Implementation is currently of the "naive" variety, with O(N^2)
- multiplication for example. This class should not be used in high-performance
- computing environments: it is intended for the simple manipulation of small
- polynomials, typically generated for special function approximation.
- </p>
-<p>
- Advanced manipulations: the FFT, division, GCD, factorisation etc are not
- currently provided. Submissions for these are of course welcome :-)
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../internals2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="minimax.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html
deleted file mode 100644
index a74246b25b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html
+++ /dev/null
@@ -1,549 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Graphing, Profiling, and Generating Test Data for Special Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../internals2.html" title="Testing and Development">
-<link rel="prev" href="error_test.html" title="Relative Error and Testing">
-<link rel="next" href="../../using_udt.html" title="Use with User-Defined Floating-Point Types">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_test.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../using_udt.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals2_test_data">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.toolkit.internals2.test_data"></a><a class="link" href="test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">Graphing,
- Profiling, and Generating Test Data for Special Functions</a>
-</h4></div></div></div>
-<p>
- The class <code class="computeroutput"><span class="identifier">test_data</span></code> and
- associated helper functions are designed so that in just a few lines of
- code you should be able to:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Profile a continued fraction, or infinite series for convergence and
- accuracy.
- </li>
-<li class="listitem">
- Generate csv data from a special function that can be imported into
- your favorite graphing program (or spreadsheet) for further analysis.
- </li>
-<li class="listitem">
- Generate high precision test data.
- </li>
-</ul></div>
-<h5>
-<a name="math_toolkit.toolkit.internals2.test_data.h0"></a>
- <span><a name="math_toolkit.toolkit.internals2.test_data.synopsis"></a></span><a class="link" href="test_data.html#math_toolkit.toolkit.internals2.test_data.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
-
-<span class="keyword">enum</span> <span class="identifier">parameter_type</span>
-<span class="special">{</span>
- <span class="identifier">random_in_range</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
- <span class="identifier">periodic_in_range</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span>
- <span class="identifier">power_series</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span>
- <span class="identifier">dummy_param</span> <span class="special">=</span> <span class="number">0x80</span><span class="special">,</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">parameter_info</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_random_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_periodic_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_power_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">basis</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">start_exponent</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">end_exponent</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">info</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">param_name</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">test_data</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">row_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">row_type</span> <span class="identifier">value_type</span><span class="special">;</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">row_type</span><span class="special">&gt;</span> <span class="identifier">container_type</span><span class="special">;</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">reference</span> <span class="identifier">reference</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">const_reference</span> <span class="identifier">const_reference</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">iterator</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">difference_type</span> <span class="identifier">difference_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">size_type</span><span class="special">;</span>
-
- <span class="comment">// creation:</span>
- <span class="identifier">test_data</span><span class="special">(){}</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
- <span class="identifier">test_data</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">);</span>
-
- <span class="comment">// insertion:</span>
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
- <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
- <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg2</span><span class="special">);</span>
-
- <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">F</span><span class="special">&gt;</span>
- <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">func</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg1</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg2</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">arg3</span><span class="special">);</span>
-
- <span class="keyword">void</span> <span class="identifier">clear</span><span class="special">();</span>
-
- <span class="comment">// access:</span>
- <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
- <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
- <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">d</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">other</span><span class="special">);</span>
- <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">size_type</span> <span class="identifier">max_size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
-
- <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&lt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <span class="keyword">operator</span> <span class="special">&gt;=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&amp;</span> <span class="identifier">dat</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">write_csv</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">data</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">charT</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">traits</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">write_csv</span><span class="special">(</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">charT</span><span class="special">,</span> <span class="identifier">traits</span><span class="special">&gt;&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">charT</span><span class="special">*</span> <span class="identifier">separator</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;</span> <span class="identifier">write_code</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">data</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">name</span><span class="special">);</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.toolkit.internals2.test_data.h1"></a>
- <span><a name="math_toolkit.toolkit.internals2.test_data.description"></a></span><a class="link" href="test_data.html#math_toolkit.toolkit.internals2.test_data.description">Description</a>
- </h5>
-<p>
- This tool is best illustrated with the following series of examples.
- </p>
-<p>
- The functionality of test_data is split into the following parts:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- A functor that implements the function for which data is being generated:
- this is the bit you have to write.
- </li>
-<li class="listitem">
- One of more parameters that are to be passed to the functor, these
- are described in fairly abstract terms: give me N points distributed
- like <span class="emphasis"><em>this</em></span> etc.
- </li>
-<li class="listitem">
- The class test_data, that takes the functor and descriptions of the
- parameters and computes how ever many output points have been requested,
- these are stored in a sorted container.
- </li>
-<li class="listitem">
- Routines to iterate over the test_data container and output the data
- in either csv format, or as C++ source code (as a table using Boost.Array).
- </li>
-</ul></div>
-<h6>
-<a name="math_toolkit.toolkit.internals2.test_data.h2"></a>
- <span><a name="math_toolkit.toolkit.internals2.test_data.example_1__output_data_for_graph_plotting"></a></span><a class="link" href="test_data.html#math_toolkit.toolkit.internals2.test_data.example_1__output_data_for_graph_plotting">Example
- 1: Output Data for Graph Plotting</a>
- </h6>
-<p>
- For example, lets say we want to graph the lgamma function between -3 and
- 100, one could do this like so:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
-
- <span class="comment">// create an object to hold the data:</span>
- <span class="identifier">test_data</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">;</span>
-
- <span class="comment">// insert 500 points at uniform intervals between just after -3 and 100:</span>
- <span class="keyword">double</span> <span class="special">(*</span><span class="identifier">pf</span><span class="special">)(</span><span class="keyword">double</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">;</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">pf</span><span class="special">,</span> <span class="identifier">make_periodic_param</span><span class="special">(-</span><span class="number">3.0</span> <span class="special">+</span> <span class="number">0.00001</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">500</span><span class="special">));</span>
-
- <span class="comment">// print out in csv format:</span>
- <span class="identifier">write_csv</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">data</span><span class="special">,</span> <span class="string">", "</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Which, when plotted, results in:
- </p>
-<p>
- <span class="inlinemediaobject"><img src="../../../../graphs/lgamma.png" align="middle"></span>
- </p>
-<h6>
-<a name="math_toolkit.toolkit.internals2.test_data.h3"></a>
- <span><a name="math_toolkit.toolkit.internals2.test_data.example_2__creating_test_data"></a></span><a class="link" href="test_data.html#math_toolkit.toolkit.internals2.test_data.example_2__creating_test_data">Example
- 2: Creating Test Data</a>
- </h6>
-<p>
- As a second example, let's suppose we want to create highly accurate test
- data for a special function. Since many special functions have two or more
- independent parameters, it's very hard to effectively cover all of the
- possible parameter space without generating gigabytes of data at great
- computational expense. A second best approach is to provide the tools by
- which a user (or the library maintainer) can quickly generate more data
- on demand to probe the function over a particular domain of interest.
- </p>
-<p>
- In this example we'll generate test data for the beta function using <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a> at 1000 bit precision.
- Rather than call our generic version of the beta function, we'll implement
- a deliberately naive version of the beta function using lgamma, and rely
- on the high precision of the data type used to get results accurate to
- at least 128-bit precision. In this way our test data is independent of
- whatever clever tricks we may wish to use inside the our beta function.
- </p>
-<p>
- To start with then, here's the function object that creates the test data:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">ntl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">fstream</span><span class="special">&gt;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
-
-<span class="keyword">struct</span> <span class="identifier">beta_data_generator</span>
-<span class="special">{</span>
- <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">b</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="comment">//</span>
- <span class="comment">// If we throw a domain error then test_data will</span>
- <span class="comment">// ignore this input point. We'll use this to filter</span>
- <span class="comment">// out all cases where a &lt; b since the beta function</span>
- <span class="comment">// is symmetrical in a and b:</span>
- <span class="comment">//</span>
- <span class="keyword">if</span><span class="special">(</span><span class="identifier">a</span> <span class="special">&lt;</span> <span class="identifier">b</span><span class="special">)</span>
- <span class="keyword">throw</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">domain_error</span><span class="special">(</span><span class="string">""</span><span class="special">);</span>
-
- <span class="comment">// very naively calculate spots with lgamma:</span>
- <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">g1</span><span class="special">,</span> <span class="identifier">g2</span><span class="special">,</span> <span class="identifier">g3</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">s1</span><span class="special">,</span> <span class="identifier">s2</span><span class="special">,</span> <span class="identifier">s3</span><span class="special">;</span>
- <span class="identifier">g1</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">s1</span><span class="special">);</span>
- <span class="identifier">g2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">b</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">s2</span><span class="special">);</span>
- <span class="identifier">g3</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lgamma</span><span class="special">(</span><span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">,</span> <span class="special">&amp;</span><span class="identifier">s3</span><span class="special">);</span>
- <span class="identifier">g1</span> <span class="special">+=</span> <span class="identifier">g2</span> <span class="special">-</span> <span class="identifier">g3</span><span class="special">;</span>
- <span class="identifier">g1</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">g1</span><span class="special">);</span>
- <span class="identifier">g1</span> <span class="special">*=</span> <span class="identifier">s1</span> <span class="special">*</span> <span class="identifier">s2</span> <span class="special">*</span> <span class="identifier">s3</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">g1</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- To create the data, we'll need to input the domains for a and b for which
- the function will be tested: the function <code class="computeroutput"><span class="identifier">get_user_parameter_info</span></code>
- is designed for just that purpose. The start of main will look something
- like:
- </p>
-<pre class="programlisting"><span class="comment">// Set the precision on RR:</span>
-<span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">::</span><span class="identifier">SetPrecision</span><span class="special">(</span><span class="number">1000</span><span class="special">);</span> <span class="comment">// bits.</span>
-<span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">::</span><span class="identifier">SetOutputPrecision</span><span class="special">(</span><span class="number">40</span><span class="special">);</span> <span class="comment">// decimal digits.</span>
-
-<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">;</span>
-<span class="identifier">test_data</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Welcome.\n"</span>
- <span class="string">"This program will generate spot tests for the beta function:\n"</span>
- <span class="string">" beta(a, b)\n\n"</span><span class="special">;</span>
-
-<span class="keyword">bool</span> <span class="identifier">cont</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">line</span><span class="special">;</span>
-
-<span class="keyword">do</span><span class="special">{</span>
- <span class="comment">// prompt the user for the domain of a and b to test:</span>
- <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="string">"a"</span><span class="special">);</span>
- <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">arg2</span><span class="special">,</span> <span class="string">"b"</span><span class="special">);</span>
-
- <span class="comment">// create the data:</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">beta_data_generator</span><span class="special">(),</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">);</span>
-
- <span class="comment">// see if the user want's any more domains tested:</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Any more data [y/n]?"</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">algorithm</span><span class="special">::</span><span class="identifier">trim</span><span class="special">(</span><span class="identifier">line</span><span class="special">);</span>
- <span class="identifier">cont</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">line</span> <span class="special">==</span> <span class="string">"y"</span><span class="special">);</span>
-<span class="special">}</span><span class="keyword">while</span><span class="special">(</span><span class="identifier">cont</span><span class="special">);</span>
-</pre>
-<div class="caution"><table border="0" summary="Caution">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../doc/src/images/caution.png"></td>
-<th align="left">Caution</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- At this point one potential stumbling block should be mentioned: test_data&lt;&gt;::insert
- will create a matrix of test data when there are two or more parameters,
- so if we have two parameters and we're asked for a thousand points on
- each, that's a <span class="emphasis"><em>million test points in total</em></span>. Don't
- say you weren't warned!
- </p></td></tr>
-</table></div>
-<p>
- There's just one final step now, and that's to write the test data to file:
- </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Enter name of test data file [default=beta_data.ipp]"</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">getline</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cin</span><span class="special">,</span> <span class="identifier">line</span><span class="special">);</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">algorithm</span><span class="special">::</span><span class="identifier">trim</span><span class="special">(</span><span class="identifier">line</span><span class="special">);</span>
-<span class="keyword">if</span><span class="special">(</span><span class="identifier">line</span> <span class="special">==</span> <span class="string">""</span><span class="special">)</span>
- <span class="identifier">line</span> <span class="special">=</span> <span class="string">"beta_data.ipp"</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">ofstream</span> <span class="identifier">ofs</span><span class="special">(</span><span class="identifier">line</span><span class="special">.</span><span class="identifier">c_str</span><span class="special">());</span>
-<span class="identifier">write_code</span><span class="special">(</span><span class="identifier">ofs</span><span class="special">,</span> <span class="identifier">data</span><span class="special">,</span> <span class="string">"beta_data"</span><span class="special">);</span>
-</pre>
-<p>
- The format of the test data looks something like:
- </p>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">SC_</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">BOOST_JOIN</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">L</span><span class="special">))</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;,</span> <span class="number">1830</span><span class="special">&gt;</span>
- <span class="identifier">beta_med_data</span> <span class="special">=</span> <span class="special">{</span>
- <span class="identifier">SC_</span><span class="special">(</span><span class="number">0.4883005917072296142578125</span><span class="special">),</span>
- <span class="identifier">SC_</span><span class="special">(</span><span class="number">0.4883005917072296142578125</span><span class="special">),</span>
- <span class="identifier">SC_</span><span class="special">(</span><span class="number">3.245912809500479157065104747353807392371</span><span class="special">),</span>
- <span class="identifier">SC_</span><span class="special">(</span><span class="number">3.5808107852935791015625</span><span class="special">),</span>
- <span class="identifier">SC_</span><span class="special">(</span><span class="number">0.4883005917072296142578125</span><span class="special">),</span>
- <span class="identifier">SC_</span><span class="special">(</span><span class="number">1.007653173802923954909901438393379243537</span><span class="special">),</span>
- <span class="comment">/* ... lots of rows skipped */</span>
-<span class="special">};</span>
-</pre>
-<p>
- The first two values in each row are the input parameters that were passed
- to our functor and the last value is the return value from the functor.
- Had our functor returned a <a class="link" href="../internals1/tuples.html" title="Tuples">boost::math::tuple</a>
- rather than a value, then we would have had one entry for each element
- in the tuple in addition to the input parameters.
- </p>
-<p>
- The first #define serves two purposes:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- It reduces the file sizes considerably: all those <code class="computeroutput"><span class="keyword">static_cast</span></code>'s
- add up to a lot of bytes otherwise (they are needed to suppress compiler
- warnings when <code class="computeroutput"><span class="identifier">T</span></code> is
- narrower than a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>).
- </li>
-<li class="listitem">
- It provides a useful customisation point: for example if we were testing
- a user-defined type that has more precision than a <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> we could change it to:
- </li>
-</ul></div>
-<p>
- <code class="literal">#define SC_(x) lexical_cast&lt;T&gt;(BOOST_STRINGIZE(x))</code>
- </p>
-<p>
- in order to ensure that no truncation of the values occurs prior to conversion
- to <code class="computeroutput"><span class="identifier">T</span></code>. Note that this isn't
- used by default as it's rather hard on the compiler when the table is large.
- </p>
-<h6>
-<a name="math_toolkit.toolkit.internals2.test_data.h4"></a>
- <span><a name="math_toolkit.toolkit.internals2.test_data.example_3__profiling_a_continued_fraction_for_convergence_and_accuracy"></a></span><a class="link" href="test_data.html#math_toolkit.toolkit.internals2.test_data.example_3__profiling_a_continued_fraction_for_convergence_and_accuracy">Example
- 3: Profiling a Continued Fraction for Convergence and Accuracy</a>
- </h6>
-<p>
- Alternatively, lets say we want to profile a continued fraction for convergence
- and error. As an example, we'll use the continued fraction for the upper
- incomplete gamma function, the following function object returns the next
- a<sub>N </sub> and b<sub>N </sub> of the continued fraction each time it's invoked:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">upper_incomplete_gamma_fract</span>
-<span class="special">{</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">a</span><span class="special">;</span>
- <span class="keyword">int</span> <span class="identifier">k</span><span class="special">;</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">result_type</span><span class="special">;</span>
-
- <span class="identifier">upper_incomplete_gamma_fract</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a1</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z1</span><span class="special">)</span>
- <span class="special">:</span> <span class="identifier">z</span><span class="special">(</span><span class="identifier">z1</span><span class="special">-</span><span class="identifier">a1</span><span class="special">+</span><span class="number">1</span><span class="special">),</span> <span class="identifier">a</span><span class="special">(</span><span class="identifier">a1</span><span class="special">),</span> <span class="identifier">k</span><span class="special">(</span><span class="number">0</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="special">}</span>
-
- <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()()</span>
- <span class="special">{</span>
- <span class="special">++</span><span class="identifier">k</span><span class="special">;</span>
- <span class="identifier">z</span> <span class="special">+=</span> <span class="number">2</span><span class="special">;</span>
- <span class="keyword">return</span> <span class="identifier">result_type</span><span class="special">(</span><span class="identifier">k</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">a</span> <span class="special">-</span> <span class="identifier">k</span><span class="special">),</span> <span class="identifier">z</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- We want to measure both the relative error, and the rate of convergence
- of this fraction, so we'll write a functor that returns both as a <a class="link" href="../internals1/tuples.html" title="Tuples">boost::math::tuple</a>:
- class test_data will unpack the tuple for us, and create one column of
- data for each element in the tuple (in addition to the input parameters):
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test_data</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">ntl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">profile_gamma_fraction</span>
-<span class="special">{</span>
- <span class="keyword">typedef</span> <a class="link" href="../internals1/tuples.html" title="Tuples">boost::math::tuple</a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">result_type</span><span class="special">;</span>
-
- <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">val</span><span class="special">)</span>
- <span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
- <span class="comment">// estimate the true value, using arbitary precision</span>
- <span class="comment">// arithmetic and NTL::RR:</span>
- <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">rval</span><span class="special">(</span><span class="identifier">val</span><span class="special">);</span>
- <span class="identifier">upper_incomplete_gamma_fract</span><span class="special">&lt;</span><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">&gt;</span> <span class="identifier">f1</span><span class="special">(</span><span class="identifier">rval</span><span class="special">,</span> <span class="identifier">rval</span><span class="special">);</span>
- <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span> <span class="identifier">true_val</span> <span class="special">=</span> <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">f1</span><span class="special">,</span> <span class="number">1000</span><span class="special">);</span>
- <span class="comment">//</span>
- <span class="comment">// Now get the aproximation at double precision, along with the number of</span>
- <span class="comment">// iterations required:</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span> <span class="identifier">iters</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">();</span>
- <span class="identifier">upper_incomplete_gamma_fract</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">f2</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="identifier">val</span><span class="special">);</span>
- <span class="identifier">T</span> <span class="identifier">found_val</span> <span class="special">=</span> <span class="identifier">continued_fraction_a</span><span class="special">(</span><span class="identifier">f2</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits</span><span class="special">,</span> <span class="identifier">iters</span><span class="special">);</span>
- <span class="comment">//</span>
- <span class="comment">// Work out the relative error, as measured in units of epsilon:</span>
- <span class="identifier">T</span> <span class="identifier">err</span> <span class="special">=</span> <span class="identifier">real_cast</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">relative_error</span><span class="special">(</span><span class="identifier">true_val</span><span class="special">,</span> <span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span><span class="special">(</span><span class="identifier">found_val</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">epsilon</span><span class="special">());</span>
- <span class="comment">//</span>
- <span class="comment">// now just return the results as a tuple:</span>
- <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">make_tuple</span><span class="special">(</span><span class="identifier">err</span><span class="special">,</span> <span class="identifier">iters</span><span class="special">);</span>
- <span class="special">}</span>
-<span class="special">};</span>
-</pre>
-<p>
- Feeding that functor into test_data allows rapid output of csv data, for
- whatever type <code class="computeroutput"><span class="identifier">T</span></code> we may
- be interested in:
- </p>
-<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">;</span>
- <span class="comment">// create an object to hold the data:</span>
- <span class="identifier">test_data</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">data</span><span class="special">;</span>
- <span class="comment">// insert 500 points at uniform intervals between just after 0 and 100:</span>
- <span class="identifier">data</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">profile_gamma_fraction</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(),</span> <span class="identifier">make_periodic_param</span><span class="special">(</span><span class="number">0.01</span><span class="special">,</span> <span class="number">100.0</span><span class="special">,</span> <span class="number">100</span><span class="special">));</span>
- <span class="comment">// print out in csv format:</span>
- <span class="identifier">write_csv</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">,</span> <span class="identifier">data</span><span class="special">,</span> <span class="string">", "</span><span class="special">);</span>
- <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- This time there's no need to plot a graph, the first few rows are:
- </p>
-<pre class="programlisting"><span class="identifier">a</span> <span class="keyword">and</span> <span class="identifier">z</span><span class="special">,</span> <span class="identifier">Error</span><span class="special">/</span><span class="identifier">epsilon</span><span class="special">,</span> <span class="identifier">Iterations</span> <span class="identifier">required</span>
-
-<span class="number">0.01</span><span class="special">,</span> <span class="number">9723.14</span><span class="special">,</span> <span class="number">4726</span>
-<span class="number">1.0099</span><span class="special">,</span> <span class="number">9.54818</span><span class="special">,</span> <span class="number">87</span>
-<span class="number">2.0098</span><span class="special">,</span> <span class="number">3.84777</span><span class="special">,</span> <span class="number">40</span>
-<span class="number">3.0097</span><span class="special">,</span> <span class="number">0.728358</span><span class="special">,</span> <span class="number">25</span>
-<span class="number">4.0096</span><span class="special">,</span> <span class="number">2.39712</span><span class="special">,</span> <span class="number">21</span>
-<span class="number">5.0095</span><span class="special">,</span> <span class="number">0.233263</span><span class="special">,</span> <span class="number">16</span>
-</pre>
-<p>
- So it's pretty clear that this fraction shouldn't be used for small values
- of a and z.
- </p>
-<h5>
-<a name="math_toolkit.toolkit.internals2.test_data.h5"></a>
- <span><a name="math_toolkit.toolkit.internals2.test_data.reference"></a></span><a class="link" href="test_data.html#math_toolkit.toolkit.internals2.test_data.reference">reference</a>
- </h5>
-<p>
- <a name="test_data_reference"></a>Most of this tool has been described
- already in the examples above, we'll just add the following notes on the
- non-member functions:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_random_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
-</pre>
-<p>
- Tells class test_data to test <span class="emphasis"><em>n_points</em></span> random values
- in the range [start_range,end_range].
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_periodic_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">start_range</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">end_range</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">n_points</span><span class="special">);</span>
-</pre>
-<p>
- Tells class test_data to test <span class="emphasis"><em>n_points</em></span> evenly spaced
- values in the range [start_range,end_range].
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">make_power_param</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">basis</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">start_exponent</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">end_exponent</span><span class="special">);</span>
-</pre>
-<p>
- Tells class test_data to test points of the form <span class="emphasis"><em>basis + R *
- 2<sup>expon</sup></em></span> for each <span class="emphasis"><em>expon</em></span> in the range [start_exponent,
- end_exponent], and <span class="emphasis"><em>R</em></span> a random number in [0.5, 1].
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">get_user_parameter_info</span><span class="special">(</span><span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;&amp;</span> <span class="identifier">info</span><span class="special">,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">param_name</span><span class="special">);</span>
-</pre>
-<p>
- Prompts the user for the parameter range and form to use.
- </p>
-<p>
- Finally, if we don't want the parameter to be included in the output, we
- can tell test_data by setting it a "dummy parameter":
- </p>
-<pre class="programlisting"><span class="identifier">parameter_info</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">make_random_param</span><span class="special">(</span><span class="number">2.0</span><span class="special">,</span> <span class="number">5.0</span><span class="special">,</span> <span class="number">10</span><span class="special">);</span>
-<span class="identifier">p</span><span class="special">.</span><span class="identifier">type</span> <span class="special">|=</span> <span class="identifier">dummy_param</span><span class="special">;</span>
-</pre>
-<p>
- This is useful when the functor used transforms the parameter in some way
- before passing it to the function under test, usually the functor will
- then return both the transformed input and the result in a tuple, so there's
- no need for the original pseudo-parameter to be included in program output.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="error_test.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../internals2.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../using_udt.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals_overview.html b/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals_overview.html
deleted file mode 100644
index 6c3055ed00..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals_overview.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Overview</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../toolkit.html" title="Tools and Internal Details">
-<link rel="prev" href="../toolkit.html" title="Tools and Internal Details">
-<link rel="next" href="internals1.html" title="Utilities &amp; Tools">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../toolkit.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_toolkit_internals_overview">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.toolkit.internals_overview"></a><a class="link" href="internals_overview.html" title="Overview">Overview</a>
-</h3></div></div></div>
-<p>
- This section contains internal utilities used by the library's implementation
- along with tools used in development and testing. These tools have only minimal
- documentation, and crucially <span class="emphasis"><em>do not have stable interfaces</em></span>.
- </p>
-<p>
- There is no doubt that these components can be improved, but they are also
- largely incidental to the main purpose of this library.
- </p>
-<p>
- These tools are designed to "just get the job done", and receive
- minimal documentation here, in the hopes that they will help stimulate further
- submissions to this library.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../toolkit.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../toolkit.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="internals1.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt.html b/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt.html
deleted file mode 100644
index 8d0659f94b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Use with User-Defined Floating-Point Types</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="toolkit/internals2/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions">
-<link rel="next" href="using_udt/use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="toolkit/internals2/test_data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="using_udt/use_ntl.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_using_udt">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.using_udt"></a><a class="link" href="using_udt.html" title="Use with User-Defined Floating-Point Types">Use with User-Defined Floating-Point
- Types</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="using_udt/use_ntl.html">Using With NTL - a High-Precision
- Floating-Point Library</a></span></dt>
-<dt><span class="section"><a href="using_udt/use_mpfr.html">Using With MPFR / GMP
- - a High-Precision Floating-Point Library</a></span></dt>
-<dt><span class="section"><a href="using_udt/e_float.html">e_float Support</a></span></dt>
-<dt><span class="section"><a href="using_udt/concepts.html">Conceptual Requirements
- for Real Number Types</a></span></dt>
-<dt><span class="section"><a href="using_udt/dist_concept.html">Conceptual Requirements
- for Distribution Types</a></span></dt>
-<dt><span class="section"><a href="using_udt/archetypes.html">Conceptual Archetypes
- for Reals and Distributions</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="toolkit/internals2/test_data.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="using_udt/use_ntl.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/archetypes.html b/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/archetypes.html
deleted file mode 100644
index c0daf12e09..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/archetypes.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Conceptual Archetypes for Reals and Distributions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../using_udt.html" title="Use with User-Defined Floating-Point Types">
-<link rel="prev" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">
-<link rel="next" href="../policy.html" title="Policies">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist_concept.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../policy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_using_udt_archetypes">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.using_udt.archetypes"></a><a class="link" href="archetypes.html" title="Conceptual Archetypes for Reals and Distributions">Conceptual Archetypes
- for Reals and Distributions</a>
-</h3></div></div></div>
-<p>
- There are a few concept archetypes available:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Real concept for floating-point types.
- </li>
-<li class="listitem">
- distribution Concept for statistical distributions.
- </li>
-</ul></div>
-<h6>
-<a name="math_toolkit.using_udt.archetypes.h0"></a>
- <span><a name="math_toolkit.using_udt.archetypes.real_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.using_udt.archetypes.real_concept">Real
- concept</a>
- </h6>
-<p>
- <code class="computeroutput"><span class="identifier">std_real_concept</span></code> is an archetype
- for theReal types, including the built-in float, double, long double.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">concepts</span><span class="special">/</span><span class="identifier">std_real_concept</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">concepts</span>
-<span class="special">{</span>
- <span class="keyword">class</span> <span class="identifier">std_real_concept</span><span class="special">;</span>
-<span class="special">}</span>
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The main purpose in providing this type is to verify that standard library
- functions are found via a using declaration - bringing those functions into
- the current scope - and not just because they happen to be in global scope.
- </p>
-<p>
- In order to ensure that a call to say <code class="computeroutput"><span class="identifier">pow</span></code>
- can be found either via argument dependent lookup, or failing that then in
- the std namespace: all calls to standard library functions are unqualified,
- with the std:: versions found via a <code class="computeroutput"><span class="keyword">using</span></code>
- declaration to make them visible in the current scope. Unfortunately it's
- all to easy to forget the <code class="computeroutput"><span class="keyword">using</span></code>
- declaration, and call the double version of the function that happens to
- be in the global scope by mistake.
- </p>
-<p>
- For example if the code calls ::pow rather than std::pow, the code will cleanly
- compile, but truncation of long doubles to double will cause a significant
- loss of precision. In contrast a template instantiated with std_real_concept
- will <span class="bold"><strong>only</strong></span> compile if the all the standard
- library functions used have been brought into the current scope with a using
- declaration.
- </p>
-<h4>
-<a name="math_toolkit.using_udt.archetypes.h1"></a>
- <span><a name="math_toolkit.using_udt.archetypes.testing_the_real_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.using_udt.archetypes.testing_the_real_concept">Testing
- the real concept</a>
- </h4>
-<p>
- There is a test program <a href="../../../../../test/std_real_concept_check.cpp" target="_top">libs/math/test/std_real_concept_check.cpp</a>
- that instantiates every template in this library with type <code class="computeroutput"><span class="identifier">std_real_concept</span></code> to verify its usage of
- standard library functions.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">concepts</span><span class="special">/</span><span class="identifier">real_concept</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">concepts</span><span class="special">{</span>
-
-<span class="keyword">class</span> <span class="identifier">real_concept</span><span class="special">;</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- <code class="computeroutput"><span class="identifier">real_concept</span></code> is an archetype
- for <a class="link" href="concepts.html" title="Conceptual Requirements for Real Number Types">user defined real types</a>,
- it declares its standard library functions in its own namespace: these will
- only be found if they are called unqualified allowing argument dependent
- lookup to locate them. In addition this type is useable at runtime: this
- allows code that would not otherwise be exercised by the built-in floating
- point types to be tested. There is no std::numeric_limits&lt;&gt; support
- for this type, since numeric_limits is not a conceptual requirement for
- <a class="link" href="concepts.html" title="Conceptual Requirements for Real Number Types">RealType</a>s.
- </p>
-<p>
- NTL RR is an example of a type meeting the requirements that this type models,
- but note that use of a thin wrapper class is required: refer to <a class="link" href="use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library">"Using
- With NTL - a High-Precision Floating-Point Library"</a>.
- </p>
-<p>
- There is no specific test case for type <code class="computeroutput"><span class="identifier">real_concept</span></code>,
- instead, since this type is usable at runtime, each individual test case
- as well as testing <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, also tests <code class="computeroutput"><span class="identifier">real_concept</span></code>.
- </p>
-<h4>
-<a name="math_toolkit.using_udt.archetypes.h2"></a>
- <span><a name="math_toolkit.using_udt.archetypes.distribution_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.using_udt.archetypes.distribution_concept">Distribution
- Concept</a>
- </h4>
-<p>
- Distribution Concept models statistical distributions.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">concepts</span><span class="special">/</span><span class="identifier">distribution</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-<span class="keyword">namespace</span> <span class="identifier">concepts</span>
-<span class="special">{</span>
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">distribution_archetype</span><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Distribution</span><span class="special">&gt;</span>
-<span class="keyword">struct</span> <span class="identifier">DistributionConcept</span><span class="special">;</span>
-
-<span class="special">}}}</span> <span class="comment">// namespaces</span>
-</pre>
-<p>
- The class template <code class="computeroutput"><span class="identifier">distribution_archetype</span></code>
- is a model of the <a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Distribution
- concept</a>.
- </p>
-<p>
- The class template <code class="computeroutput"><span class="identifier">DistributionConcept</span></code>
- is a <a href="../../../../../../../libs/concept_check/index.html" target="_top">concept checking
- class</a> for distribution types.
- </p>
-<h4>
-<a name="math_toolkit.using_udt.archetypes.h3"></a>
- <span><a name="math_toolkit.using_udt.archetypes.testing_the_distribution_concept"></a></span><a class="link" href="archetypes.html#math_toolkit.using_udt.archetypes.testing_the_distribution_concept">Testing
- the distribution concept</a>
- </h4>
-<p>
- The test program <a href="../../../../../test/compile_test/distribution_concept_check.cpp" target="_top">distribution_concept_check.cpp</a>
- is responsible for using <code class="computeroutput"><span class="identifier">DistributionConcept</span></code>
- to verify that all the distributions in this library conform to the <a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Distribution concept</a>.
- </p>
-<p>
- The class template <code class="computeroutput"><span class="identifier">DistributionConcept</span></code>
- verifies the existence (but not proper function) of the non-member accessors
- required by the <a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Distribution
- concept</a>. These are checked by calls like
- </p>
-<p>
- v = pdf(dist, x); // (Result v is ignored).
- </p>
-<p>
- And in addition, those that accept two arguments do the right thing when
- the arguments are of different types (the result type is always the same
- as the distribution's value_type). (This is implemented by some additional
- forwarding-functions in derived_accessors.hpp, so that there is no need for
- any code changes. Likewise boilerplate versions of the hazard/chf/coefficient_of_variation
- functions are implemented in there too.)
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="dist_concept.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../policy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html b/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html
deleted file mode 100644
index 04199be359..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html
+++ /dev/null
@@ -1,1366 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Conceptual Requirements for Real Number Types</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../using_udt.html" title="Use with User-Defined Floating-Point Types">
-<link rel="prev" href="e_float.html" title="e_float Support">
-<link rel="next" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="e_float.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_concept.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_using_udt_concepts">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.using_udt.concepts"></a><a class="link" href="concepts.html" title="Conceptual Requirements for Real Number Types">Conceptual Requirements
- for Real Number Types</a>
-</h3></div></div></div>
-<p>
- The functions, and statistical distributions in this library can be used
- with any type <span class="emphasis"><em>RealType</em></span> that meets the conceptual requirements
- given below. All the built in floating point types will meet these requirements.
- User defined types that meet the requirements can also be used. For example,
- with <a class="link" href="use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library">a thin wrapper class</a>
- one of the types provided with <a href="http://shoup.net/ntl/" target="_top">NTL (RR)</a>
- can be used. Submissions of binding to other extended precision types would
- also be most welcome!
- </p>
-<p>
- The guiding principal behind these requirements, is that a <span class="emphasis"><em>RealType</em></span>
- behaves just like a built in floating point type.
- </p>
-<h5>
-<a name="math_toolkit.using_udt.concepts.h0"></a>
- <span><a name="math_toolkit.using_udt.concepts.basic_arithmetic_requirements"></a></span><a class="link" href="concepts.html#math_toolkit.using_udt.concepts.basic_arithmetic_requirements">Basic
- Arithmetic Requirements</a>
- </h5>
-<p>
- These requirements are common to all of the functions in this library.
- </p>
-<p>
- In the following table <span class="emphasis"><em>r</em></span> is an object of type <code class="computeroutput"><span class="identifier">RealType</span></code>, <span class="emphasis"><em>cr</em></span> and
- <span class="emphasis"><em>cr2</em></span> are objects of type <code class="computeroutput"><span class="keyword">const</span>
- <span class="identifier">RealType</span></code>, and <span class="emphasis"><em>ca</em></span>
- is an object of type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">arithmetic</span><span class="special">-</span><span class="identifier">type</span></code> (arithmetic types include all the
- built in integers and floating point types).
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Result Type
- </p>
- </th>
-<th>
- <p>
- Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">RealType</span><span class="special">(</span><span class="identifier">cr</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- RealType is copy constructible.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">RealType</span><span class="special">(</span><span class="identifier">ca</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- RealType is copy constructible from the arithmetic types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Assignment operator.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Assignment operator from the arithmetic types.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">+=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Adds cr to r.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">+=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Adds ar to r.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">-=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Subtracts cr from r.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">-=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Subtracts ca from r.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">*=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Multiplies r by cr.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">*=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Multiplies r by ca.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">/=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Divides r by cr.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">r</span> <span class="special">/=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Divides r by ca.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">-</span><span class="identifier">r</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Unary Negation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">+</span><span class="identifier">r</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType&amp;
- </p>
- </td>
-<td>
- <p>
- Identity Operation.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">+</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Addition
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">+</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Addition
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">+</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Addition
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">-</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Subtraction
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">-</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Subtraction
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">-</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Subtraction
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">*</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Multiplication
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">*</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Multiplication
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">*</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Multiplication
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">/</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Subtraction
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">/</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Subtraction
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">/</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Binary Subtraction
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">==</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Equality Comparison
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">==</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Equality Comparison
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">==</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Equality Comparison
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">!=</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Inequality Comparison
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">!=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Inequality Comparison
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">!=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Inequality Comparison
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;=</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Less than equal to.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Less than equal to.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&lt;=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Less than equal to.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;=</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Greater than equal to.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;=</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Greater than equal to.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&gt;=</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Greater than equal to.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Less than comparison.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&lt;</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Less than comparison.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&lt;</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Less than comparison.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;</span>
- <span class="identifier">cr2</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Greater than comparison.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cr</span> <span class="special">&gt;</span>
- <span class="identifier">ca</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Greater than comparison.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ca</span> <span class="special">&gt;</span>
- <span class="identifier">cr</span></code>
- </p>
- </td>
-<td>
- <p>
- bool
- </p>
- </td>
-<td>
- <p>
- Greater than comparison.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">digits</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
- </p>
- </td>
-<td>
- <p>
- int
- </p>
- </td>
-<td>
- <p>
- The number of digits in the significand of RealType.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">max_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- The largest representable number by type RealType.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">min_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- The smallest representable number by type RealType.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">log_max_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- The natural logarithm of the largest representable number by type
- RealType.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">log_min_value</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- The natural logarithm of the smallest representable number by type
- RealType.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tools</span><span class="special">::</span><span class="identifier">epsilon</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">&gt;()</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- The machine epsilon of RealType.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Note that:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- The functions <code class="computeroutput"><span class="identifier">log_max_value</span></code>
- and <code class="computeroutput"><span class="identifier">log_min_value</span></code> can
- be synthesised from the others, and so no explicit specialisation is
- required.
- </li>
-<li class="listitem">
- The function <code class="computeroutput"><span class="identifier">epsilon</span></code>
- can be synthesised from the others, so no explicit specialisation is
- required provided the precision of RealType does not vary at runtime
- (see the header <a href="../../../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>
- for an example where the precision does vary at runtime).
- </li>
-<li class="listitem">
- The functions <code class="computeroutput"><span class="identifier">digits</span></code>,
- <code class="computeroutput"><span class="identifier">max_value</span></code> and <code class="computeroutput"><span class="identifier">min_value</span></code>, all get synthesised automatically
- from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>. However, if <code class="computeroutput"><span class="identifier">numeric_limits</span></code> is not specialised for
- type RealType, then you will get a compiler error when code tries to
- use these functions, <span class="emphasis"><em>unless</em></span> you explicitly specialise
- them. For example if the precision of RealType varies at runtime, then
- <code class="computeroutput"><span class="identifier">numeric_limits</span></code> support
- may not be appropriate, see <a href="../../../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>
- for examples.
- </li>
-</ol></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- If <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;&gt;</span></code>
- is <span class="bold"><strong>not specialized</strong></span> for type <span class="emphasis"><em>RealType</em></span>
- then the default float precision of 6 decimal digits will be used by other
- Boost programs including:
- </p>
-<p>
- Boost.Test: giving misleading error messages like
- </p>
-<p>
- <span class="emphasis"><em>"difference between {9.79796} and {9.79796} exceeds 5.42101e-19%".</em></span>
- </p>
-<p>
- Boost.LexicalCast and Boost.Serialization when converting the number to
- a string, causing potentially serious loss of accuracy on output.
- </p>
-<p>
- Although it might seem obvious that RealType should require <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code> to be specialized, this
- is not sensible for <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>
- and similar classes where the number of digits is a runtime parameter (where
- as for <code class="computeroutput"><span class="identifier">numeric_limits</span></code> it
- has to be fixed at compile time).
- </p>
-</td></tr>
-</table></div>
-<h5>
-<a name="math_toolkit.using_udt.concepts.h1"></a>
- <span><a name="math_toolkit.using_udt.concepts.standard_library_support_requirements"></a></span><a class="link" href="concepts.html#math_toolkit.using_udt.concepts.standard_library_support_requirements">Standard
- Library Support Requirements</a>
- </h5>
-<p>
- Many (though not all) of the functions in this library make calls to standard
- library functions, the following table summarises the requirements. Note
- that most of the functions in this library will only call a small subset
- of the functions listed here, so if in doubt whether a user defined type
- has enough standard library support to be useable the best advise is to try
- it and see!
- </p>
-<p>
- In the following table <span class="emphasis"><em>r</em></span> is an object of type <code class="computeroutput"><span class="identifier">RealType</span></code>, <span class="emphasis"><em>cr1</em></span> and
- <span class="emphasis"><em>cr2</em></span> are objects of type <code class="computeroutput"><span class="keyword">const</span>
- <span class="identifier">RealType</span></code>, and <span class="emphasis"><em>i</em></span>
- is an object of type <code class="computeroutput"><span class="keyword">int</span></code>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Result Type
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">fabs</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">abs</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ceil</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">exp</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">pow</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">,</span>
- <span class="identifier">cr2</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">frexp</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">,</span>
- <span class="special">&amp;</span><span class="identifier">i</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">ldexp</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">,</span>
- <span class="identifier">i</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">cos</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">sin</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">asin</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">tan</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">atan</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">fmod</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">round</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">iround</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- int
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">trunc</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">itrunc</span><span class="special">(</span><span class="identifier">cr1</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- int
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- Note that the table above lists only those standard library functions known
- to be used (or likely to be used in the near future) by this library. The
- following functions: <code class="computeroutput"><span class="identifier">acos</span></code>,
- <code class="computeroutput"><span class="identifier">atan2</span></code>, <code class="computeroutput"><span class="identifier">fmod</span></code>,
- <code class="computeroutput"><span class="identifier">cosh</span></code>, <code class="computeroutput"><span class="identifier">sinh</span></code>,
- <code class="computeroutput"><span class="identifier">tanh</span></code>, <code class="computeroutput"><span class="identifier">log10</span></code>,
- <code class="computeroutput"><span class="identifier">lround</span></code>, <code class="computeroutput"><span class="identifier">llround</span></code>,
- <code class="computeroutput"><span class="identifier">ltrunc</span></code>, <code class="computeroutput"><span class="identifier">lltrunc</span></code>
- and <code class="computeroutput"><span class="identifier">modf</span></code> are not currently
- used, but may be if further special functions are added.
- </p>
-<p>
- Note that the <code class="computeroutput"><span class="identifier">round</span></code>, <code class="computeroutput"><span class="identifier">trunc</span></code> and <code class="computeroutput"><span class="identifier">modf</span></code>
- functions are not part of the current C++ standard: they are part of the
- additions added to C99 which will likely be in the next C++ standard. There
- are Boost versions of these provided as a backup, and the functions are always
- called unqualified so that argument-dependent-lookup can take place.
- </p>
-<p>
- In addition, for efficient and accurate results, a <a class="link" href="../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a> is highly desirable. You may be able to adapt an existing
- approximation from <a href="../../../../../../../boost/math/special_functions/lanczos.hpp" target="_top">boost/math/special_functions/lanczos.hpp</a>
- or <a href="../../../../../../../boost/math/bindings/detail/big_lanczos.hpp" target="_top">boost/math/bindings/detail/big_lanczos.hpp</a>:
- in the former case you will need change static_cast's to lexical_cast's,
- and the constants to <span class="emphasis"><em>strings</em></span> (in order to ensure the
- coefficients aren't truncated to long double) and then specialise <code class="computeroutput"><span class="identifier">lanczos_traits</span></code> for type T. Otherwise you
- may have to hack <a href="../../../../../tools/lanczos_generator.cpp" target="_top">libs/math/tools/lanczos_generator.cpp</a>
- to find a suitable approximation for your RealType. The code will still compile
- if you don't do this, but both accuracy and efficiency will be greatly compromised
- in any function that makes use of the gamma/beta/erf family of functions.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="e_float.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dist_concept.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/dist_concept.html b/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/dist_concept.html
deleted file mode 100644
index f06d86e767..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/dist_concept.html
+++ /dev/null
@@ -1,398 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Conceptual Requirements for Distribution Types</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../using_udt.html" title="Use with User-Defined Floating-Point Types">
-<link rel="prev" href="concepts.html" title="Conceptual Requirements for Real Number Types">
-<link rel="next" href="archetypes.html" title="Conceptual Archetypes for Reals and Distributions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="archetypes.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_using_udt_dist_concept">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.using_udt.dist_concept"></a><a class="link" href="dist_concept.html" title="Conceptual Requirements for Distribution Types">Conceptual Requirements
- for Distribution Types</a>
-</h3></div></div></div>
-<p>
- A <span class="emphasis"><em>DistributionType</em></span> is a type that implements the following
- conceptual requirements, and encapsulates a statistical distribution.
- </p>
-<p>
- Please note that this documentation should not be used as a substitute for
- the <a class="link" href="../dist/dist_ref.html" title="Statistical Distributions Reference">reference documentation</a>,
- and <a class="link" href="../dist/stat_tut.html" title="Statistical Distributions Tutorial">tutorial</a> of the statistical
- distributions.
- </p>
-<p>
- In the following table, <span class="emphasis"><em>d</em></span> is an object of type <code class="computeroutput"><span class="identifier">DistributionType</span></code>, <span class="emphasis"><em>cd</em></span>
- is an object of type <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">DistributionType</span></code> and <span class="emphasis"><em>cr</em></span>
- is an object of a type convertible to <code class="computeroutput"><span class="identifier">RealType</span></code>.
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Result Type
- </p>
- </th>
-<th>
- <p>
- Notes
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- DistributionType::value_type
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- The real-number type <span class="emphasis"><em>RealType</em></span> upon which the
- distribution operates.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- DistributionType::policy_type
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- The <a class="link" href="../policy.html" title="Policies">Policy</a> to use when
- evaluating functions that depend on this distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- d = cd
- </p>
- </td>
-<td>
- <p>
- Distribution&amp;
- </p>
- </td>
-<td>
- <p>
- Distribution types are assignable.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Distribution(cd)
- </p>
- </td>
-<td>
- <p>
- Distribution
- </p>
- </td>
-<td>
- <p>
- Distribution types are copy constructible.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- pdf(cd, cr)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the PDF of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf(cd, cr)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the CDF of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- cdf(complement(cd, cr))
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the complement of the CDF of the distribution, the same
- as: <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">cd</span><span class="special">,</span>
- <span class="identifier">cr</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile(cd, cr)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the quantile (or percentile) of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- quantile(complement(cd, cr))
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the quantile (or percentile) of the distribution, starting
- from the complement of the probability, the same as: <code class="computeroutput"><span class="identifier">quantile</span><span class="special">(</span><span class="identifier">cd</span><span class="special">,</span>
- <span class="number">1</span><span class="special">-</span><span class="identifier">cr</span><span class="special">)</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- chf(cd, cr)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the cumulative hazard function of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- hazard(cd, cr)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the hazard function of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis(cd)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the kurtosis of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- kurtosis_excess(cd)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the kurtosis excess of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mean(cd)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the mean of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- mode(cd)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the mode of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- skewness(cd)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the skewness of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- standard_deviation(cd)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the standard deviation of the distribution.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- variance(cd)
- </p>
- </td>
-<td>
- <p>
- RealType
- </p>
- </td>
-<td>
- <p>
- Returns the variance of the distribution.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="concepts.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="archetypes.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/e_float.html b/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/e_float.html
deleted file mode 100644
index dbef5e7bee..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/e_float.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>e_float Support</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../using_udt.html" title="Use with User-Defined Floating-Point Types">
-<link rel="prev" href="use_mpfr.html" title="Using With MPFR / GMP - a High-Precision Floating-Point Library">
-<link rel="next" href="concepts.html" title="Conceptual Requirements for Real Number Types">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="use_mpfr.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_using_udt_e_float">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.using_udt.e_float"></a><a class="link" href="e_float.html" title="e_float Support">e_float Support</a>
-</h3></div></div></div>
-<p>
- This library can be used with <a href="http://calgo.acm.org/910.zip" target="_top">e_float
- (TOMS Algorithm 910)</a> via the header:
- </p>
-<pre class="programlisting"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span><span class="special">/</span><span class="identifier">e_float</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- And the type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">ef</span><span class="special">::</span><span class="identifier">e_float</span></code>:
- this type is a thin wrapper class around ::e_float which provides the necessary
- syntactic sugar to make everything "just work".
- </p>
-<p>
- There is also a concept checking test program for e_float support <a href="../../../../../../../libs/math/test/e_float_concept_check.cpp" target="_top">here</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="use_mpfr.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_mpfr.html b/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_mpfr.html
deleted file mode 100644
index 89927f5a81..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_mpfr.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Using With MPFR / GMP - a High-Precision Floating-Point Library</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../using_udt.html" title="Use with User-Defined Floating-Point Types">
-<link rel="prev" href="use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library">
-<link rel="next" href="e_float.html" title="e_float Support">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="use_ntl.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="e_float.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_using_udt_use_mpfr">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.using_udt.use_mpfr"></a><a class="link" href="use_mpfr.html" title="Using With MPFR / GMP - a High-Precision Floating-Point Library">Using With MPFR / GMP
- - a High-Precision Floating-Point Library</a>
-</h3></div></div></div>
-<p>
- The special functions and tools in this library can be used with <a href="http://www.mpfr.org" target="_top">MPFR
- (an arbitrary precision number type based on the GMP library)</a>, either
- via the bindings in <a href="../../../../../../../boost/math/bindings/mpfr.hpp" target="_top">boost/math/bindings/mpfr.hpp</a>,
- or via <a href="../../../../../../../boost/math/bindings/mpfr.hpp" target="_top">boost/math/bindings/mpreal.hpp</a>.
- </p>
-<p>
- In order to use these binings you will need to have installed <a href="http://www.mpfr.org" target="_top">MPFR</a>
- plus its dependency the <a href="http://gmplib.org" target="_top">GMP library</a>.
- You will also need one of the two supported C++ wrappers for MPFR: <a href="http://math.berkeley.edu/~wilken/code/gmpfrxx/" target="_top">gmpfrxx (or mpfr_class)</a>,
- or <a href="http://www.holoborodko.com/pavel/mpfr/" target="_top">mpfr-C++ (mpreal)</a>.
- </p>
-<p>
- Unfortunately neither <code class="computeroutput"><span class="identifier">mpfr_class</span></code>
- nor <code class="computeroutput"><span class="identifier">mpreal</span></code> quite satisfy
- our conceptual requirements, so there is a very thin set of additional interfaces
- and some helper traits defined in <a href="../../../../../../../boost/math/bindings/mpfr.hpp" target="_top">boost/math/bindings/mpfr.hpp</a>
- and <a href="../../../../../../../boost/math/bindings/mpreal.hpp" target="_top">boost/math/bindings/mpreal.hpp</a>
- that you should use in place of including 'gmpfrxx.h' or 'mpreal.h' directly.
- The classes <code class="computeroutput"><span class="identifier">mpfr_class</span></code> or
- <code class="computeroutput"><span class="identifier">mpreal</span></code> are then usable unchanged
- once this header is included, so for example <code class="computeroutput"><span class="identifier">mpfr_class</span></code>'s
- performance-enhancing expression templates are preserved and fully supported
- by this library:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span><span class="special">/</span><span class="identifier">mpfr</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">mpfr_class</span><span class="special">::</span><span class="identifier">set_dprec</span><span class="special">(</span><span class="number">500</span><span class="special">);</span> <span class="comment">// 500 bit precision</span>
- <span class="comment">//</span>
- <span class="comment">// Note that the argument to tgamma is an expression template,</span>
- <span class="comment">// that's just fine here:</span>
- <span class="comment">//</span>
- <span class="identifier">mpfr_class</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">mpfr_class</span><span class="special">(</span><span class="number">2</span><span class="special">)));</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">50</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- Alternatively use with <code class="computeroutput"><span class="identifier">mpreal</span></code>
- would look like:
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">bindings</span><span class="special">/</span><span class="identifier">mpreal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">gamma</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
- <span class="identifier">mpfr</span><span class="special">::</span><span class="identifier">mpreal</span><span class="special">::</span><span class="identifier">set_precision</span><span class="special">(</span><span class="number">500</span><span class="special">);</span> <span class="comment">// 500 bit precision</span>
- <span class="identifier">mpfr</span><span class="special">::</span><span class="identifier">mpreal</span> <span class="identifier">v</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">tgamma</span><span class="special">(</span><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">mpfr</span><span class="special">::</span><span class="identifier">mpreal</span><span class="special">(</span><span class="number">2</span><span class="special">)));</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">50</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">v</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
- For those functions that are based upon the <a class="link" href="../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>, the bindings defines a series of approximations with
- up to 61 terms and accuracy up to approximately 3e-113. This therefore sets
- the upper limit for accuracy to the majority of functions defined this library
- when used with either <code class="computeroutput"><span class="identifier">mpfr_class</span></code>
- or <code class="computeroutput"><span class="identifier">mpreal</span></code>.
- </p>
-<p>
- There is a concept checking test program for mpfr support <a href="../../../../../../../libs/math/test/mpfr_concept_check.cpp" target="_top">here</a>
- and <a href="../../../../../../../libs/math/test/mpreal_concept_check.cpp" target="_top">here</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="use_ntl.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="e_float.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_ntl.html b/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_ntl.html
deleted file mode 100644
index 0aa4904747..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/use_ntl.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Using With NTL - a High-Precision Floating-Point Library</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../using_udt.html" title="Use with User-Defined Floating-Point Types">
-<link rel="prev" href="../using_udt.html" title="Use with User-Defined Floating-Point Types">
-<link rel="next" href="use_mpfr.html" title="Using With MPFR / GMP - a High-Precision Floating-Point Library">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../using_udt.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_mpfr.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_using_udt_use_ntl">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.using_udt.use_ntl"></a><a class="link" href="use_ntl.html" title="Using With NTL - a High-Precision Floating-Point Library">Using With NTL - a High-Precision
- Floating-Point Library</a>
-</h3></div></div></div>
-<p>
- The special functions and tools in this library can be used with <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR
- (an arbitrary precision number type)</a>, via the bindings in <a href="../../../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>.
- <a href="http://shoup.net/ntl/" target="_top">See also NTL: A Library for doing Number
- Theory by Victor Shoup</a>
- </p>
-<p>
- Unfortunately <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code> doesn't quite satisfy our conceptual
- requirements, so there is a very thin wrapper class <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">ntl</span><span class="special">::</span><span class="identifier">RR</span></code> defined in <a href="../../../../../../../boost/math/bindings/rr.hpp" target="_top">boost/math/bindings/rr.hpp</a>
- that you should use in place of <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>. The
- class is intended to be a drop-in replacement for the "real" NTL::RR
- that adds some syntactic sugar to keep this library happy, plus some of the
- standard library functions not implemented in NTL.
- </p>
-<p>
- For those functions that are based upon the <a class="link" href="../backgrounders/lanczos.html" title="The Lanczos Approximation">Lanczos
- approximation</a>, the bindings defines a series of approximations with
- up to 61 terms and accuracy up to approximately 3e-113. This therefore sets
- the upper limit for accuracy to the majority of functions defined this library
- when used with <code class="computeroutput"><span class="identifier">NTL</span><span class="special">::</span><span class="identifier">RR</span></code>.
- </p>
-<p>
- There is a concept checking test program for NTL support <a href="../../../../../../../libs/math/test/ntl_concept_check.cpp" target="_top">here</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../using_udt.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../using_udt.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="use_mpfr.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils.html
deleted file mode 100644
index 286a21a801..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Floating Point Utilities</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Math Toolkit">
-<link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="special/owens_t.html" title="Owen's T function">
-<link rel="next" href="utils/rounding.html" title="Rounding Truncation and Integer Conversion">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="special/owens_t.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="utils/rounding.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="math_toolkit.utils"></a><a class="link" href="utils.html" title="Floating Point Utilities">Floating Point Utilities</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="utils/rounding.html">Rounding Truncation and
- Integer Conversion</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="utils/rounding/round.html">Rounding Functions</a></span></dt>
-<dt><span class="section"><a href="utils/rounding/trunc.html">Truncation Functions</a></span></dt>
-<dt><span class="section"><a href="utils/rounding/modf.html">Integer and Fractional
- Part Splitting (modf)</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="utils/fpclass.html">Floating-Point Classification:
- Infinities and NaNs</a></span></dt>
-<dt><span class="section"><a href="utils/sign_functions.html">Sign Manipulation
- Functions</a></span></dt>
-<dt><span class="section"><a href="utils/fp_facets.html">Facets for Floating-Point
- Infinities and NaNs</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="utils/fp_facets/intro.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="utils/fp_facets/reference.html">Reference</a></span></dt>
-<dt><span class="section"><a href="utils/fp_facets/examples.html">Examples</a></span></dt>
-<dt><span class="section"><a href="utils/fp_facets/portability.html">Portability</a></span></dt>
-<dt><span class="section"><a href="utils/fp_facets/rationale.html">Design Rationale</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="utils/next_float.html">Floating-Point Representation
- Distance (ULP), and Finding Adjacent Floating-Point Values</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="utils/next_float/nextafter.html">Finding the
- Next Representable Value in a Specific Direction (nextafter)</a></span></dt>
-<dt><span class="section"><a href="utils/next_float/float_next.html">Finding the
- Next Greater Representable Value (float_next)</a></span></dt>
-<dt><span class="section"><a href="utils/next_float/float_prior.html">Finding
- the Next Smaller Representable Value (float_prior)</a></span></dt>
-<dt><span class="section"><a href="utils/next_float/float_distance.html">Calculating
- the Representation Distance Between Two Floating Point Values (ULP) float_distance</a></span></dt>
-<dt><span class="section"><a href="utils/next_float/float_advance.html">Advancing
- a Floating Point Value by a Specific Representation Distance (ULP) float_advance</a></span></dt>
-</dl></dd>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="special/owens_t.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="utils/rounding.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets.html
deleted file mode 100644
index 57eb7aa7b9..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Facets for Floating-Point Infinities and NaNs</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../utils.html" title="Floating Point Utilities">
-<link rel="prev" href="sign_functions.html" title="Sign Manipulation Functions">
-<link rel="next" href="fp_facets/intro.html" title="Introduction">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sign_functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets/intro.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_fp_facets">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.utils.fp_facets"></a><a class="link" href="fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">Facets for Floating-Point
- Infinities and NaNs</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="fp_facets/intro.html">Introduction</a></span></dt>
-<dt><span class="section"><a href="fp_facets/reference.html">Reference</a></span></dt>
-<dt><span class="section"><a href="fp_facets/examples.html">Examples</a></span></dt>
-<dt><span class="section"><a href="fp_facets/portability.html">Portability</a></span></dt>
-<dt><span class="section"><a href="fp_facets/rationale.html">Design Rationale</a></span></dt>
-</dl></div>
-<h5>
-<a name="math_toolkit.utils.fp_facets.h0"></a>
- <span><a name="math_toolkit.utils.fp_facets.synopsis"></a></span><a class="link" href="fp_facets.html#math_toolkit.utils.fp_facets.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span>
-<span class="special">{</span>
- <span class="comment">// Values for flags. </span>
- <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">legacy</span><span class="special">;</span>
- <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">signed_zero</span><span class="special">;</span>
- <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">trap_infinity</span><span class="special">;</span>
- <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">trap_nan</span><span class="special">;</span>
-
- <span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">OutputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span>
- <span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">nonfinite_num_put</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
- <span class="special">{</span>
- <span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">explicit</span> <span class="identifier">nonfinite_num_put</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
- <span class="special">};</span>
-
- <span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">InputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">istreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span>
- <span class="special">&gt;</span>
- <span class="keyword">class</span> <span class="identifier">nonfinite_num_get</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span>
- <span class="special">{</span>
- <span class="keyword">public</span><span class="special">:</span>
- <span class="keyword">explicit</span> <span class="identifier">nonfinite_num_get</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span> <span class="comment">// legacy, sign_zero ...</span>
- <span class="special">};</span>
-<span class="special">}}</span> <span class="comment">// namespace boost namespace math</span>
-</pre>
-<p>
- To use these facets
- </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">special_functions</span><span class="special">\</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="sign_functions.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets/intro.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/examples.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/examples.html
deleted file mode 100644
index 5f80192ea0..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/examples.html
+++ /dev/null
@@ -1,269 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Examples</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
-<link rel="prev" href="reference.html" title="Reference">
-<link rel="next" href="portability.html" title="Portability">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="reference.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="portability.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_fp_facets_examples">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.fp_facets.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
-</h4></div></div></div>
-<h6>
-<a name="math_toolkit.utils.fp_facets.examples.h0"></a>
- <span><a name="math_toolkit.utils.fp_facets.examples.simple_example_with_std__stringstreams"></a></span><a class="link" href="examples.html#math_toolkit.utils.fp_facets.examples.simple_example_with_std__stringstreams">Simple
- example with std::stringstreams</a>
- </h6>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">old_locale</span><span class="special">;</span>
-<span class="identifier">locale</span> <span class="identifier">tmp_locale</span><span class="special">(</span><span class="identifier">old_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-<span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">tmp_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-</pre>
-<p>
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">stringstream</span> <span class="identifier">ss</span><span class="special">;</span>
-<span class="identifier">ss</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">new_locale</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
-<span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span><span class="special">;</span> <span class="comment">// Write out.</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">==</span> <span class="string">"inf"</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">r</span><span class="special">;</span>
-<span class="identifier">ss</span> <span class="special">&gt;&gt;</span> <span class="identifier">r</span><span class="special">;</span> <span class="comment">// Read back in.</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">inf</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">);</span> <span class="comment">// Confirms that the double values really are identical.</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity output was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity input was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// But the string representation of r displayed will be the native type</span>
-<span class="comment">// because, when it was constructed, cout had NOT been imbued</span>
-<span class="comment">// with the new locale containing the nonfinite_numput facet.</span>
-<span class="comment">// So the cout output will be "1.#INF on MS platforms</span>
-<span class="comment">// and may be "inf" or other string representation on other platforms.</span>
-</pre>
-<p>
- </p>
-<h6>
-<a name="math_toolkit.utils.fp_facets.examples.h1"></a>
- <span><a name="math_toolkit.utils.fp_facets.examples.use_with_lexical_cast"></a></span><a class="link" href="examples.html#math_toolkit.utils.fp_facets.examples.use_with_lexical_cast">Use
- with lexical_cast</a>
- </h6>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- From Boost 1.48, lexical_cast no longer uses stringstreams internally,
- and is now able to handle infinities and NaNs natively on most platforms.
- </p></td></tr>
-</table></div>
-<p>
- Without using a new locale that contains the nonfinite facets, previous
- versions of <code class="computeroutput"><span class="identifier">lexical_cast</span></code>
- using stringstream were not portable (and often failed) if nonfinite values
- are found.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">old_locale</span><span class="special">;</span>
-<span class="identifier">locale</span> <span class="identifier">tmp_locale</span><span class="special">(</span><span class="identifier">old_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-<span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">tmp_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-</pre>
-<p>
- </p>
-<p>
- Although other examples imbue individual streams with the new locale, for
- the streams constructed inside lexical_cast, it was necesary to assign
- to a global locale.
- </p>
-<pre class="programlisting"><span class="identifier">locale</span><span class="special">::</span><span class="identifier">global</span><span class="special">(</span><span class="identifier">new_locale</span><span class="special">);</span>
-</pre>
-<p>
- <code class="computeroutput"><span class="identifier">lexical_cast</span></code> then works
- as expected, even with infinity and NaNs.
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="string">"inf"</span><span class="special">);</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">x</span> <span class="special">==</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric</span><span class="special">:</span><span class="identifier">limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">());</span>
-
-<span class="identifier">string</span> <span class="identifier">s</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">());</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">s</span> <span class="special">==</span> <span class="string">"inf"</span><span class="special">);</span>
-</pre>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If you use stringstream inside your functions, you may still need to
- use a global locale to handle nonfinites correctly. Or you need to imbue
- your stringstream with suitable get and put facets.
- </p></td></tr>
-</table></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- You should be aware that the C++ specification does not explicitly require
- that input from decimal digits strings converts with rounding to the
- nearest representable floating-point binary value. (In contrast, decimal
- digits read by the compiler, for example by an assignment like <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">d</span>
- <span class="special">=</span> <span class="number">1.234567890123456789</span></code>,
- are guaranteed to assign the nearest representable value to double d).
- This implies that, no matter how many decimal digits you provide, there
- is a potential uncertainty of 1 least significant bit in the resulting
- binary value.
- </p></td></tr>
-</table></div>
-<p>
- See <a href="http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding" target="_top">for
- more information on <span class="emphasis"><em>nearest representable</em></span> and <span class="emphasis"><em>rounding</em></span></a>.
- </p>
-<p>
- Most iostream libraries do in fact achieve the desirable <span class="emphasis"><em>nearest
- representable floating-point binary value</em></span> for all values of
- input. However one popular STL library does not quite achieve this for
- 64-bit doubles. See <a href="http://connect.microsoft.com/VisualStudio/feedback/details/98770/decimal-digit-string-input-to-double-may-be-1-bit-wrong" target="_top">Decimal
- digit string input to double may be 1 bit wrong</a> for the bizarre
- full details.
- </p>
-<p>
- If you are expecting to 'round-trip' <code class="computeroutput"><span class="identifier">lexical_cast</span></code>
- or <code class="computeroutput"><span class="identifier">serialization</span></code>, for example
- archiving and loading, and want to be <span class="bold"><strong>absolutely
- certain that you will always get an exactly identical double value binary
- pattern</strong></span>, you should use the suggested 'workaround' below that
- is believed to work on all platforms.
- </p>
-<p>
- You should output using all potentially significant decimal digits, by
- setting stream precision to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span></code>,
- (or for the appropriate floating-point type, if not double) and crucially,
- <span class="bold"><strong>require <code class="computeroutput"><span class="identifier">scientific</span></code>
- format</strong></span>, not <code class="computeroutput"><span class="identifier">fixed</span></code>
- or automatic (default), for example:
- </p>
-<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">output_value</span> <span class="special">=</span> <span class="identifier">any</span> <span class="identifier">value</span><span class="special">;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span> <span class="identifier">s</span><span class="special">;</span>
-<span class="identifier">s</span> <span class="special">&lt;&lt;</span> <span class="identifier">setprecison</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">max_digits10</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">scientific</span> <span class="special">&lt;&lt;</span> <span class="identifier">output_value</span><span class="special">;</span>
-<span class="identifier">s</span> <span class="special">&gt;&gt;</span> <span class="identifier">input_value</span><span class="special">;</span>
-</pre>
-<h5>
-<a name="math_toolkit.utils.fp_facets.examples.h2"></a>
- <span><a name="math_toolkit.utils.fp_facets.examples.use_with_serialization_archives"></a></span><a class="link" href="examples.html#math_toolkit.utils.fp_facets.examples.use_with_serialization_archives">Use
- with serialization archives</a>
- </h5>
-<p>
- It is vital that the same locale is used when an archive is saved and when
- it is loaded. Otherwise, loading the archive may fail. By default, archives
- are saved and loaded with a classic C locale with a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">codecvt_null</span></code>
- facet added. Normally you do not have to worry about that.
- </p>
-<p>
- The constructors for the archive classes, as a side-effect, imbue the stream
- with such a locale. However, if you want to use the facets <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code> and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
- with archives, then you have to manage the locale manually. That is done
- by calling the archive constructor with the flag <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">no_codecvt</span></code>,
- thereby ensuring that the archive constructor will <span class="bold"><strong>not
- imbue the stream with a new locale</strong></span>.
- </p>
-<p>
- The following code shows how to use <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- with a <code class="computeroutput"><span class="identifier">text_oarchive</span></code>.
- </p>
-<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">default_locale</span><span class="special">(</span><span class="identifier">locale</span><span class="special">::</span><span class="identifier">classic</span><span class="special">(),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">codecvt_null</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-<span class="identifier">locale</span> <span class="identifier">my_locale</span><span class="special">(</span><span class="identifier">default_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-
-<span class="identifier">ofstream</span> <span class="identifier">ofs</span><span class="special">(</span><span class="string">"test.txt"</span><span class="special">);</span>
-<span class="identifier">ofs</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">my_locale</span><span class="special">);</span>
-
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">archive</span><span class="special">::</span><span class="identifier">text_oarchive</span> <span class="identifier">oa</span><span class="special">(</span><span class="identifier">ofs</span><span class="special">,</span> <span class="identifier">no_codecvt</span><span class="special">);</span>
-
-<span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
-<span class="identifier">oa</span> <span class="special">&amp;</span> <span class="identifier">x</span><span class="special">;</span>
-</pre>
-<p>
- The same method works with <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
- and <code class="computeroutput"><span class="identifier">text_iarchive</span></code>.
- </p>
-<p>
- If you use the <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- with <code class="computeroutput"><span class="identifier">trap_infinity</span></code> and/or
- <code class="computeroutput"><span class="identifier">trap_nan</span></code> flag with a serialization
- archive, then you must set the exception mask of the stream. Serialization
- archives do not check the stream state.
- </p>
-<h6>
-<a name="math_toolkit.utils.fp_facets.examples.h3"></a>
- <span><a name="math_toolkit.utils.fp_facets.examples.other_examples"></a></span><a class="link" href="examples.html#math_toolkit.utils.fp_facets.examples.other_examples">Other examples</a>
- </h6>
-<p>
- <a href="../../../../../../example/nonfinite_facet_simple.cpp" target="_top">nonfinite_facet_simple.cpp</a>
- give some more simple demonstrations of the difference between using classic
- C locale and constructing a C99 infinty and NaN compliant locale for input
- and output.
- </p>
-<p>
- See <a href="../../../../../../example/nonfinite_facet_sstream.cpp" target="_top">nonfinite_facet_sstream.cpp</a>
- for this example of use with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">stringstream</span></code>s.
- </p>
-<p>
- For an example of how to enforce the MSVC 'legacy' "1.#INF" and
- "1.#QNAN" representations of infinity and NaNs, for input and
- output, see <a href="../../../../../../example/nonfinite_legacy.cpp" target="_top">nonfinite_legacy.cpp</a>.
- </p>
-<p>
- Treatment of signaling NaN is demonstrated at <a href="../../../../../../example/nonfinite_signaling_NaN.cpp" target="_top">../../../example/nonfinite_signaling_NaN.cpp</a>
- </p>
-<p>
- Example <a href="../../../../../../example/nonfinite_loopback_ok.cpp" target="_top">../../../example/nonfinite_loopback_ok.cpp</a>
- shows loopback works OK.
- </p>
-<p>
- Example <a href="../../../../../../example/nonfinite_num_facet.cpp" target="_top">../../../example/nonfinite_num_facet.cpp</a>
- shows output and re-input of various finite and nonfinite values.
- </p>
-<p>
- A simple example of trapping nonfinite output is at <a href="../../../../../../example/nonfinite_num_facet_trap.cpp" target="_top">nonfinite_num_facet_trap.cpp</a>.
- </p>
-<p>
- A very basic example of using Boost.Archive is at <a href="../../../../../../example/nonfinite_serialization_archives.cpp" target="_top">../../../example/nonfinite_serialization_archives.cpp</a>.
- </p>
-<p>
- A full demonstration of serialization by Francois Mauger is at <a href="../../../../../../example/nonfinite_num_facet_serialization.cpp" target="_top">../../../example/nonfinite_num_facet_serialization.cpp</a>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="reference.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="portability.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/intro.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/intro.html
deleted file mode 100644
index bdf6f01f7d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/intro.html
+++ /dev/null
@@ -1,390 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Introduction</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
-<link rel="prev" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
-<link rel="next" href="reference.html" title="Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_fp_facets_intro">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.fp_facets.intro"></a><a class="link" href="intro.html" title="Introduction">Introduction</a>
-</h4></div></div></div>
-<h6>
-<a name="math_toolkit.utils.fp_facets.intro.h0"></a>
- <span><a name="math_toolkit.utils.fp_facets.intro.the_problem"></a></span><a class="link" href="intro.html#math_toolkit.utils.fp_facets.intro.the_problem">The
- Problem</a>
- </h6>
-<p>
- The C++98 standard does not specify how <span class="emphasis"><em>infinity</em></span> and
- <span class="emphasis"><em>NaN</em></span> are represented in text streams. As a result,
- different platforms use different string representations. This can cause
- undefined behavior when text files are moved between different platforms.
- Some platforms cannot even input parse their own output! So 'route-tripping'
- or loopback of output to input is not possible. For instance, the following
- test fails with MSVC:
- </p>
-<pre class="programlisting"><span class="identifier">stringstream</span> <span class="identifier">ss</span><span class="special">;</span>
-<span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
-<span class="keyword">double</span> <span class="identifier">r</span><span class="special">;</span>
-<span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span><span class="special">;</span> <span class="comment">// Write out.</span>
-<span class="identifier">ss</span> <span class="special">&gt;&gt;</span> <span class="identifier">r</span><span class="special">;</span> <span class="comment">// Read back in.</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity output was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1.#INF</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity input was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// 1</span>
-
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">inf</span> <span class="special">==</span> <span class="identifier">y</span><span class="special">);</span> <span class="comment">// Fails!</span>
-</pre>
-<h6>
-<a name="math_toolkit.utils.fp_facets.intro.h1"></a>
- <span><a name="math_toolkit.utils.fp_facets.intro.the_solution"></a></span><a class="link" href="intro.html#math_toolkit.utils.fp_facets.intro.the_solution">The
- Solution</a>
- </h6>
-<p>
- The facets <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code> format
- and parse all floating-point numbers, including <code class="computeroutput"><span class="identifier">infinity</span></code>
- and <code class="computeroutput"><span class="identifier">NaN</span></code>, in a consistent
- and portable manner.
- </p>
-<p>
- The following test succeeds with MSVC.
- </p>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">locale</span> <span class="identifier">old_locale</span><span class="special">;</span>
-<span class="identifier">locale</span> <span class="identifier">tmp_locale</span><span class="special">(</span><span class="identifier">old_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-<span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">tmp_locale</span><span class="special">,</span> <span class="keyword">new</span> <span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;);</span>
-</pre>
-<p>
- </p>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- To add two facets, <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>,
- you may have to add one at a time, using a temporary locale.
- </p>
-<p>
- Or you can create a new locale in one step
- </p>
-<p>
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span> <span class="identifier">new_locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;));</span></code>
- </p>
-<p>
- and, for example, use it to imbue an input and output stringstream.
- </p>
-</td></tr>
-</table></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- To just change an input or output stream, you can concisely write <code class="computeroutput"><span class="identifier">cout</span><span class="special">.</span><span class="identifier">imbue</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(),</span>
- <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;));</span></code> or <code class="computeroutput"><span class="identifier">cin</span><span class="special">.</span><span class="identifier">imbue</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">locale</span><span class="special">(),</span> <span class="keyword">new</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="keyword">char</span><span class="special">&gt;));</span></code>
- </p></td></tr>
-</table></div>
-<p>
-</p>
-<pre class="programlisting"><span class="identifier">stringstream</span> <span class="identifier">ss</span><span class="special">;</span>
-<span class="identifier">ss</span><span class="special">.</span><span class="identifier">imbue</span><span class="special">(</span><span class="identifier">new_locale</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">inf</span> <span class="special">=</span> <span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">();</span>
-<span class="identifier">ss</span> <span class="special">&lt;&lt;</span> <span class="identifier">inf</span><span class="special">;</span> <span class="comment">// Write out.</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">==</span> <span class="string">"inf"</span><span class="special">);</span>
-<span class="keyword">double</span> <span class="identifier">r</span><span class="special">;</span>
-<span class="identifier">ss</span> <span class="special">&gt;&gt;</span> <span class="identifier">r</span><span class="special">;</span> <span class="comment">// Read back in.</span>
-<span class="identifier">assert</span><span class="special">(</span><span class="identifier">inf</span> <span class="special">==</span> <span class="identifier">r</span><span class="special">);</span> <span class="comment">// Confirms that the double values really are identical.</span>
-
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity output was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ss</span><span class="special">.</span><span class="identifier">str</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"infinity input was "</span> <span class="special">&lt;&lt;</span> <span class="identifier">r</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
-<span class="comment">// But the string representation of r displayed will be the native type</span>
-<span class="comment">// because, when it was constructed, cout had NOT been imbued</span>
-<span class="comment">// with the new locale containing the nonfinite_numput facet.</span>
-<span class="comment">// So the cout output will be "1.#INF on MS platforms</span>
-<span class="comment">// and may be "inf" or other string representation on other platforms.</span>
-</pre>
-<p>
- </p>
-<h5>
-<a name="math_toolkit.utils.fp_facets.intro.h2"></a>
- <span><a name="math_toolkit.utils.fp_facets.intro.c__0x_standard_for_output_of_infinity_and_nan"></a></span><a class="link" href="intro.html#math_toolkit.utils.fp_facets.intro.c__0x_standard_for_output_of_infinity_and_nan">C++0X
- standard for output of infinity and NaN</a>
- </h5>
-<p>
- <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf" target="_top">C++0X
- (final) draft standard</a> does not explicitly specify the representation
- (and input) of nonfinite values, leaving it implementation-defined. So
- without some specific action, input and output of nonfinite values is not
- portable.
- </p>
-<h5>
-<a name="math_toolkit.utils.fp_facets.intro.h3"></a>
- <span><a name="math_toolkit.utils.fp_facets.intro.c99_standard_for_output_of_infinity_and_nan"></a></span><a class="link" href="intro.html#math_toolkit.utils.fp_facets.intro.c99_standard_for_output_of_infinity_and_nan">C99
- standard for output of infinity and NaN</a>
- </h5>
-<p>
- The <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
- standard</a> <span class="bold"><strong>does</strong></span> specify how infinity
- and NaN are formatted by printf and similar output functions, and parsed
- by scanf and similar input functions.
- </p>
-<p>
- The following string representations are used:
- </p>
-<div class="table">
-<a name="math_toolkit.utils.fp_facets.intro.c99_representation_of_infinity_and_nan"></a><p class="title"><b>Table&#160;50.&#160;C99 Representation of Infinity and NaN</b></p>
-<div class="table-contents"><table class="table" summary="C99 Representation of Infinity and NaN">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- number
- </p>
- </th>
-<th>
- <p>
- string
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Positive infinity
- </p>
- </td>
-<td>
- <p>
- "inf" or "infinity"
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Positive NaN
- </p>
- </td>
-<td>
- <p>
- "nan" or "nan(...)"
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative infinity
- </p>
- </td>
-<td>
- <p>
- "-inf" or "-infinity"
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative NaN
- </p>
- </td>
-<td>
- <p>
- "-nan" or "-nan(...)"
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><p>
- So following C99 provides a sensible 'standard' way of handling input and
- output of nonfinites in C++, and this implementation follows most of these
- formats.
- </p>
-<h6>
-<a name="math_toolkit.utils.fp_facets.intro.h4"></a>
- <span><a name="math_toolkit.utils.fp_facets.intro.signaling_nans"></a></span><a class="link" href="intro.html#math_toolkit.utils.fp_facets.intro.signaling_nans">Signaling
- NaNs</a>
- </h6>
-<p>
- A particular type of NaN is the signaling NaN. The usual mechanism of signaling
- is by raising a floating-point exception. Signaling NaNs are defined by
- <a href="http://en.wikipedia.org/wiki/IEEE_floating-point_standard" target="_top">IEEE
- 754-2008</a>.
- </p>
-<p>
- Floating-point values with layout <span class="emphasis"><em>s</em></span>111 1111 1<span class="emphasis"><em>a</em></span>xx
- xxxx xxxx xxxx xxxx xxxx where <span class="emphasis"><em>s</em></span> is the sign, <span class="emphasis"><em>x</em></span>
- is the payload, and bit <span class="emphasis"><em>a</em></span> determines the type of NaN.
- </p>
-<p>
- If bit <span class="emphasis"><em>a</em></span> = 1, it is a quiet NaN.
- </p>
-<p>
- If bit <span class="emphasis"><em>a</em></span> is zero and the payload <span class="emphasis"><em>x</em></span>
- is nonzero, then it is a signaling NaN.
- </p>
-<p>
- Although there has been theoretical interest in the ability of a signaling
- NaN to raise an exception, for example to prevent use of an uninitialised
- variable, in practice there appears to be no useful application of signaling
- NaNs for most current processors. <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf" target="_top">C++0X
- 18.3.2.2</a> still specifies a (implementation-defined) representation
- for signaling NaN, and <code class="computeroutput"><span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="keyword">bool</span>
- <span class="identifier">has_signaling_NaN</span></code> a method of
- checking if a floating-point type has a representation for signaling NaN.
- </p>
-<p>
- But in practice, most platforms treat signaling NaNs in the same as quiet
- NaNs. So, for example, they are represented by "nan" on output
- in <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99</a>
- format, and output as <code class="computeroutput"><span class="number">1.</span><span class="preprocessor">#QNAN</span></code>
- by Microsoft compilers.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- The C99 standard does not distinguish between the quiet NaN and signaling
- NaN values. A quiet NaN propagates through almost every arithmetic operation
- without raising a floating-point exception; a signaling NaN generally
- raises a floating-point exception when occurring as an arithmetic operand.
- </p>
-<p>
- C99 specification does not define the behavior of signaling NaNs. NaNs
- created by IEC 60559 operations are always quiet. Therefore this implementation
- follows C99, and treats the signaling NaN bit as just a part of the NaN
- payload field. So this implementation does not distinguish between the
- two classes of NaN.
- </p>
-</td></tr>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top">
-<p>
- An implementation may give zero and non-numeric values (such as infinities
- and NaNs) a sign or may leave them unsigned. Wherever such values are
- unsigned, any requirement in the C99 Standard to retrieve the sign shall
- produce an unspecified sign, and any requirement to set the sign shall
- be ignored.
- </p>
-<p>
- This might apply to user-defined types, but in practice built-in floating-point
- types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code> have well-behaved signs.
- </p>
-</td></tr>
-</table></div>
-<p>
- The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>. An optional + sign can be
- used with positive numbers (controlled by ios manipulator <code class="computeroutput"><span class="identifier">showpos</span></code>). The function <code class="computeroutput"><span class="identifier">printf</span></code> and similar C++ functions use
- standard formatting flags to put all lower or all upper case (controlled
- by <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios</span></code> manipulator <code class="computeroutput"><span class="identifier">uppercase</span></code>
- and <code class="computeroutput"><span class="identifier">lowercase</span></code>).
- </p>
-<p>
- The function <code class="computeroutput"><span class="identifier">scanf</span></code> and
- similar input functions are case-insensitive.
- </p>
-<p>
- The dots in <code class="computeroutput"><span class="identifier">nan</span><span class="special">(...)</span></code>
- stand for an arbitrary string. The meaning of that string is implementation
- dependent. It can be used to convey extra information about the NaN, from
- the 'payload'. A particular value of the payload might be used to indicate
- a <span class="emphasis"><em>missing value</em></span>, for example.
- </p>
-<p>
- This library uses the string representations specified by the C99 standard.
- </p>
-<p>
- An example of an implementation that optionally includes the NaN payload
- information is at <a href="http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/fprints.htm" target="_top">AIX
- NaN fprintf</a>. That implementation specifies for Binary Floating
- Point NANs:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- A NaN ordinal sequence is a left-parenthesis character '(', followed
- by a digit sequence representing an integer n, where 1 &lt;= n &lt;=
- INT_MAX-1, followed by a right-parenthesis character ')'.
- </li>
-<li class="listitem">
- The integer value, n, is determined by the fraction bits of the NaN
- argument value as follows:
- </li>
-<li class="listitem">
- For a signalling NaN value, NaN fraction bits are reversed (left to
- right) to produce bits (right to left) of an even integer value, 2*n.
- Then formatted output functions produce a (signalling) NaN ordinal
- sequence corresponding to the integer value n.
- </li>
-<li class="listitem">
- For a quiet NaN value, NaN fraction bits are reversed (left to right)
- to produce bits (right to left) of an odd integer value, 2*n-1. Then
- formatted output functions produce a (quiet) NaN ordinal sequence corresponding
- to the integer value n.
- </li>
-</ul></div>
-<div class="warning"><table border="0" summary="Warning">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../../doc/src/images/warning.png"></td>
-<th align="left">Warning</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- This implementation does not (yet) provide output of, or access to, the
- NaN payload.
- </p></td></tr>
-</table></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/portability.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/portability.html
deleted file mode 100644
index 76c457042b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/portability.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Portability</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
-<link rel="prev" href="examples.html" title="Examples">
-<link rel="next" href="rationale.html" title="Design Rationale">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="examples.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_fp_facets_portability">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.fp_facets.portability"></a><a class="link" href="portability.html" title="Portability">Portability</a>
-</h4></div></div></div>
-<p>
- This library uses the floating-point number classification and sign-bit
- from Boost.Math library, and should work on all platforms where that library
- works. See the portability information for that library.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="examples.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/rationale.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/rationale.html
deleted file mode 100644
index ac9360cf9d..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/rationale.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Design Rationale</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
-<link rel="prev" href="portability.html" title="Portability">
-<link rel="next" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="portability.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../next_float.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_fp_facets_rationale">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.fp_facets.rationale"></a><a class="link" href="rationale.html" title="Design Rationale">Design Rationale</a>
-</h4></div></div></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- The flags are implemented as a const data member of the facet. Facets
- are reference counted, and locales can share facets. Therefore changing
- the flags of a facet would have effects that are hard to predict. An
- alternative design would be to implement the flags using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">xalloc</span></code> and <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">iword</span></code>.
- Then one could safely modify the flags, and one could define manipulators
- that do so. However, for that to work with dynamically linked libraries,
- a <code class="computeroutput"><span class="special">.</span><span class="identifier">cpp</span></code>
- file would have to be added to the library. It was judged be more desirable
- to have a headers only library, than to have mutable flags and manipulators.
- </li>
-<li class="listitem">
- The facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- throws an exception when the <code class="computeroutput"><span class="identifier">trap_infinity</span></code>
- or <code class="computeroutput"><span class="identifier">trap_nan</span></code> flag is
- set and an attempt is made to format infinity or NaN. It would be better
- if the facet set the fail bit of the stream. However, facets derived
- from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span></code> do not have access to the
- stream state.
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="portability.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../next_float.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/reference.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/reference.html
deleted file mode 100644
index aae5801ac3..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fp_facets/reference.html
+++ /dev/null
@@ -1,490 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Reference</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
-<link rel="prev" href="intro.html" title="Introduction">
-<link rel="next" href="examples.html" title="Examples">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_fp_facets_reference">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.fp_facets.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
-</h4></div></div></div>
-<h6>
-<a name="math_toolkit.utils.fp_facets.reference.h0"></a>
- <span><a name="math_toolkit.utils.fp_facets.reference.the_facet__code__phrase_role__identifier__nonfinite_num_put__phrase___code_"></a></span><a class="link" href="reference.html#math_toolkit.utils.fp_facets.reference.the_facet__code__phrase_role__identifier__nonfinite_num_put__phrase___code_">The
- Facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code></a>
- </h6>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
- <span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span>
- <span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">nonfinite_num_put</span><span class="special">;</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="keyword">class</span> <span class="identifier">nonfinite_num_put</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span></code> is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span></code>. Thus it is a facet that formats numbers.
- The first template argument is the character type of the formatted strings,
- usually <code class="computeroutput"><span class="keyword">char</span></code> or <code class="computeroutput"><span class="keyword">wchar_t</span></code>. The second template argument is
- the type of iterator used to write the strings. It is required to be an
- output iterator. Usually the default <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostreambuf_iterator</span></code>
- is used. The public interface of the class consists of a single constructor
- only:
- </p>
-<pre class="programlisting"><span class="identifier">nonfinite_num_put</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- The flags argument (effectively optional because a default of <code class="computeroutput"> <span class="identifier">no_flags</span></code> is provided) is discussed below.
- The class template <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- is defined in the header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span></code>
- and lives in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
- </p>
-<p>
- Unlike the C++ Standard facet <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span></code>,
- the facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- formats <code class="computeroutput"><span class="identifier">infinity</span></code> and <code class="computeroutput"><span class="identifier">NaN</span></code> in a consistent and portable manner.
- It uses the following string representations:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Number
- </p>
- </th>
-<th>
- <p>
- String
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Positive infinity
- </p>
- </td>
-<td>
- <p>
- inf
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Positive NaN
- </p>
- </td>
-<td>
- <p>
- nan
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative infinity
- </p>
- </td>
-<td>
- <p>
- -inf
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative NaN
- </p>
- </td>
-<td>
- <p>
- -nan
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>. The strings can be in all
- lower case or all upper case. An optional + sign can be used with positive
- numbers. This can be controlled with the <code class="computeroutput"><span class="identifier">uppercase</span></code>,
- <code class="computeroutput"><span class="identifier">lowercase</span></code>, <code class="computeroutput"><span class="identifier">showpos</span></code> and <code class="computeroutput"><span class="identifier">noshowpos</span></code>
- manipulators. Formatting of integers, boolean values and finite floating-point
- numbers is simply delegated to the normal <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_put</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.utils.fp_facets.reference.h1"></a>
- <span><a name="math_toolkit.utils.fp_facets.reference.facet__code__phrase_role__identifier__nonfinite_num_get__phrase___code_"></a></span><a class="link" href="reference.html#math_toolkit.utils.fp_facets.reference.facet__code__phrase_role__identifier__nonfinite_num_get__phrase___code_">Facet
- <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code></a>
- </h6>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">CharType</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">InputIterator</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">istreambuf_iterator</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">class</span> <span class="identifier">nonfinite_num_get</span><span class="special">;</span>
-</pre>
-<p>
- The class <code class="computeroutput"><span class="identifier">nonfinite_num_get</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">&gt;</span></code> is derived from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span><span class="special">&lt;</span><span class="identifier">CharType</span><span class="special">,</span> <span class="identifier">IntputIterator</span><span class="special">&gt;</span></code>. Thus it is a facet that parses strings
- that represent numbers. The first template argument is the character type
- of the strings, usually <code class="computeroutput"><span class="keyword">char</span></code>
- or <code class="computeroutput"><span class="keyword">wchar_t</span></code>. The second template
- argument is the type of iterator used to read the strings. It is required
- to be an input iterator. Usually the default is used. The public interface
- of the class consists of a single constructor only:
- </p>
-<pre class="programlisting"><span class="identifier">nonfinite_num_get</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">flags</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
-</pre>
-<p>
- The flags argument is discussed below. The <code class="computeroutput"><span class="keyword">class</span>
- <span class="keyword">template</span> <span class="identifier">nonfinite_num_get</span></code>
- is defined in the header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span></code>
- and lives in the <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
- </p>
-<p>
- Unlike the facet <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code>, the facet <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
- parses strings that represent <code class="computeroutput"><span class="identifier">infinity</span></code>
- and <code class="computeroutput"><span class="identifier">NaN</span></code> in a consistent
- and portable manner. It recognizes precisely the string representations
- specified by the C99 standard:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Number
- </p>
- </th>
-<th>
- <p>
- String
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Positive infinity
- </p>
- </td>
-<td>
- <p>
- inf, infinity
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Positive NaN
- </p>
- </td>
-<td>
- <p>
- nan, nan(...)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative infinity
- </p>
- </td>
-<td>
- <p>
- -inf, -infinity
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative NaN
- </p>
- </td>
-<td>
- <p>
- -nan, -nan(...)
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>. The facet is case-insensitive.
- An optional + sign can be used with positive numbers. The dots in nan(...)
- stand for an arbitrary string usually containing the <span class="emphasis"><em>NaN payload</em></span>.
- Parsing of strings that represent integers, boolean values and finite floating-point
- numbers is delegated to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code>.
- </p>
-<p>
- When the facet parses a string that represents <code class="computeroutput"><span class="identifier">infinity</span></code>
- on a platform that lacks infinity, then the fail bit of the stream is set.
- </p>
-<p>
- When the facet parses a string that represents <code class="computeroutput"><span class="identifier">NaN</span></code>
- on a platform that lacks NaN, then the fail bit of the stream is set.
- </p>
-<h5>
-<a name="math_toolkit.utils.fp_facets.reference.h2"></a>
- <span><a name="math_toolkit.utils.fp_facets.reference.flags"></a></span><a class="link" href="reference.html#math_toolkit.utils.fp_facets.reference.flags">Flags</a>
- </h5>
-<p>
- The constructors for <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>
- and <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code> take
- an optional bit flags argument. There are four different bit flags:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- legacy
- </li>
-<li class="listitem">
- signed_zero
- </li>
-<li class="listitem">
- trap_infinity
- </li>
-<li class="listitem">
- trap_nan
- </li>
-</ul></div>
-<p>
- The flags can be combined with the OR <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code>.
- </p>
-<p>
- The flags are defined in the header <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">nonfinite_num_facets</span><span class="special">.</span><span class="identifier">hpp</span></code>
- and live in the <code class="computeroutput"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>.
- </p>
-<h6>
-<a name="math_toolkit.utils.fp_facets.reference.h3"></a>
- <span><a name="math_toolkit.utils.fp_facets.reference.legacy"></a></span><a class="link" href="reference.html#math_toolkit.utils.fp_facets.reference.legacy">legacy</a>
- </h6>
-<p>
- The legacy flag has no effect with the output facet <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>.
- </p>
-<p>
- If the legacy flag is used with the <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
- input facet, then the facet will recognize all the following string representations
- of <code class="computeroutput"><span class="identifier">infinity</span></code> and <code class="computeroutput"><span class="identifier">NaN</span></code>:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Number
- </p>
- </th>
-<th>
- <p>
- String
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- Positive infinity
- </p>
- </td>
-<td>
- <p>
- inf, infinity, one#inf
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Positive NaN
- </p>
- </td>
-<td>
- <p>
- nan, nan(...), nanq, nans, qnan, snan, one#ind, one#qnan, one#snan
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative infinity
- </p>
- </td>
-<td>
- <p>
- -inf, -infinity, -one#inf
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- Negative NaN
- </p>
- </td>
-<td>
- <p>
- -nan, -nan(...), -nanq, -nans, -qnan, -snan, -one#ind, - one#qnan,
- -one#snan
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- The numbers can be of type <code class="computeroutput"><span class="keyword">float</span></code>,
- <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
- </li>
-<li class="listitem">
- The facet is case-insensitive.
- </li>
-<li class="listitem">
- An optional <code class="computeroutput"><span class="special">+</span></code> sign can
- be used with the positive values.
- </li>
-<li class="listitem">
- The dots in <code class="computeroutput"><span class="identifier">nan</span><span class="special">(...)</span></code>
- stand for an arbitrary string.
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">one</span></code> stands for any
- string that <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code> parses as the number <code class="computeroutput"><span class="number">1</span></code>, typically "1.#INF", "1.QNAN"
- but also "000001.#INF"...
- </li>
-</ul></div>
-<p>
- The list includes a number of non-standard string representations of infinity
- and NaN that are used by various existing implementations of the C++ standard
- library, and also string representations used by other programming languages.
- </p>
-<h6>
-<a name="math_toolkit.utils.fp_facets.reference.h4"></a>
- <span><a name="math_toolkit.utils.fp_facets.reference.signed_zero"></a></span><a class="link" href="reference.html#math_toolkit.utils.fp_facets.reference.signed_zero">signed_zero</a>
- </h6>
-<p>
- If the <code class="computeroutput"><span class="identifier">signed_zero</span></code> flag
- is used with <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>,
- then the facet will always distinguish between positive and negative zero.
- It will format positive zero as "0" or "+0" and negative
- zero as "-0". The string representation of positive zero can
- be controlled with the <code class="computeroutput"><span class="identifier">showpos</span></code>
- and <code class="computeroutput"><span class="identifier">noshowpos</span></code> manipulators.
- </p>
-<p>
- The <code class="computeroutput"><span class="identifier">signed_zero</span> <span class="identifier">flag</span></code>
- has no effect with the input facet <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>.
- The input facet <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>
- always parses "0" and "+0" as positive zero and "-0"
- as negative zero, as do most implementations of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">num_get</span></code>.
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- If the <code class="computeroutput"><span class="identifier">signed_zero</span></code> flag
- is not set (the default), then a negative zero value will be displayed
- on output in whatever way the platform normally handles it. For most
- platforms, this it will format positive zero as "0" or "+0"
- and negative zero as "-0". But setting the <code class="computeroutput"><span class="identifier">signed_zero</span></code>
- flag may be more portable.
- </p></td></tr>
-</table></div>
-<div class="tip"><table border="0" summary="Tip">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../../../doc/src/images/tip.png"></td>
-<th align="left">Tip</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- A negative zero value can be portably produced using the changesign function
- <code class="computeroutput"><span class="special">(</span><span class="identifier">changesign</span><span class="special">)(</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">ValType</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">))</span></code> where <code class="computeroutput"><span class="identifier">ValType</span></code>
- is <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> or <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>, or a User-Defined floating-point
- type (UDT) provided that this UDT has a sign and that the changesign
- function is implemented.
- </p></td></tr>
-</table></div>
-<h6>
-<a name="math_toolkit.utils.fp_facets.reference.h5"></a>
- <span><a name="math_toolkit.utils.fp_facets.reference.trap_infinity"></a></span><a class="link" href="reference.html#math_toolkit.utils.fp_facets.reference.trap_infinity">trap_infinity</a>
- </h6>
-<p>
- If the <code class="computeroutput"><span class="identifier">trap_infinity</span></code> flag
- is used with <code class="computeroutput"><span class="identifier">nonfinite_num_put</span></code>,
- then the facet will throw an exception of type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ios_base</span><span class="special">::</span><span class="identifier">failure</span></code>
- when an attempt is made to format positive or negative infinity. If the
- facet is called from a stream insertion operator, then the stream will
- catch that exception and set either its <code class="computeroutput"><span class="identifier">fail</span>
- <span class="identifier">bit</span></code> or its <code class="computeroutput"><span class="identifier">bad</span>
- <span class="identifier">bit</span></code>. Which bit is set is platform
- dependent.
- </p>
-<p>
- If the <code class="computeroutput"><span class="identifier">trap_infinity</span></code> flag
- is used with <code class="computeroutput"><span class="identifier">nonfinite_num_get</span></code>,
- then the facet will set the <code class="computeroutput"><span class="identifier">fail</span>
- <span class="identifier">bit</span></code> of the stream when an attempt
- is made to parse a string that represents positive or negative infinity.
- </p>
-<p>
- (See Design Rationale below for a discussion of this inconsistency.)
- </p>
-<h6>
-<a name="math_toolkit.utils.fp_facets.reference.h6"></a>
- <span><a name="math_toolkit.utils.fp_facets.reference.trap_nan"></a></span><a class="link" href="reference.html#math_toolkit.utils.fp_facets.reference.trap_nan">trap_nan</a>
- </h6>
-<p>
- Same as <code class="computeroutput"><span class="identifier">trap_infinity</span></code>,
- but positive and negative NaN are trapped instead.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="intro.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../fp_facets.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fpclass.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fpclass.html
deleted file mode 100644
index 3c1ad40cc2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/fpclass.html
+++ /dev/null
@@ -1,251 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Floating-Point Classification: Infinities and NaNs</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../utils.html" title="Floating Point Utilities">
-<link rel="prev" href="rounding/modf.html" title="Integer and Fractional Part Splitting (modf)">
-<link rel="next" href="sign_functions.html" title="Sign Manipulation Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rounding/modf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sign_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_fpclass">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.utils.fpclass"></a><a class="link" href="fpclass.html" title="Floating-Point Classification: Infinities and NaNs">Floating-Point Classification:
- Infinities and NaNs</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.utils.fpclass.h0"></a>
- <span><a name="math_toolkit.utils.fpclass.synopsis"></a></span><a class="link" href="fpclass.html#math_toolkit.utils.fpclass.synopsis">Synopsis</a>
- </h5>
-<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FP_ZERO</span> <span class="comment">/* implementation specific value */</span>
-<span class="preprocessor">#define</span> <span class="identifier">FP_NORMAL</span> <span class="comment">/* implementation specific value */</span>
-<span class="preprocessor">#define</span> <span class="identifier">FP_INFINITE</span> <span class="comment">/* implementation specific value */</span>
-<span class="preprocessor">#define</span> <span class="identifier">FP_NAN</span> <span class="comment">/* implementation specific value */</span>
-<span class="preprocessor">#define</span> <span class="identifier">FP_SUBNORMAL</span> <span class="comment">/* implementation specific value */</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">fpclassify</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isfinite</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span> <span class="comment">// Neither infinity nor NaN.</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isinf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// Infinity (+ or -).</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isnan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// NaN.</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isnormal</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// isfinite and not denormalised.</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">special_functions</span><span class="special">\</span><span class="identifier">fpclassify</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- to use these functions.
- </p>
-<h5>
-<a name="math_toolkit.utils.fpclass.h1"></a>
- <span><a name="math_toolkit.utils.fpclass.description"></a></span><a class="link" href="fpclass.html#math_toolkit.utils.fpclass.description">Description</a>
- </h5>
-<p>
- These functions provide the same functionality as the macros with the same
- name in C99, indeed if the C99 macros are available, then these functions
- are implemented in terms of them, otherwise they rely on std::numeric_limits&lt;&gt;
- to function.
- </p>
-<p>
- Note that the definition of these functions <span class="emphasis"><em>does not suppress the
- definition of these names as macros by math.h</em></span> on those platforms
- that already provide these as macros. That mean that the following have differing
- meanings:
- </p>
-<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">;</span>
-
-<span class="comment">// This might call a global macro if defined,</span>
-<span class="comment">// but might not work if the type of z is unsupported </span>
-<span class="comment">// by the std lib macro:</span>
-<span class="identifier">isnan</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
-<span class="comment">//</span>
-<span class="comment">// This calls the Boost version</span>
-<span class="comment">// (found via the "using namespace boost::math" declaration)</span>
-<span class="comment">// it works for any type that has numeric_limits support for type z:</span>
-<span class="special">(</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
-<span class="comment">//</span>
-<span class="comment">// As above but with explicit namespace qualification.</span>
-<span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
-<span class="comment">//</span>
-<span class="comment">// This will cause a compiler error if isnan is a native macro:</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
-<span class="comment">// So always use instead:</span>
-<span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
-<span class="comment">//</span>
-<span class="comment">// You can also add a using statement,</span>
-<span class="comment">// globally to a .cpp file, or to a local function in a .hpp file.</span>
-<span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">;</span>
-<span class="comment">// so you can write the shorter and less cluttered</span>
-<span class="special">(</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">)</span>
-<span class="comment">// But, as above, if isnan is a native macro, this causes a compiler error,</span>
-<span class="comment">// because the macro always 'gets' the name first, unless enclosed in () brackets.</span>
-</pre>
-<p>
- Detailed descriptions for each of these functions follows:
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">fpclassify</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
-</pre>
-<p>
- Returns an integer value that classifies the value <span class="emphasis"><em>t</em></span>:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- fpclassify value
- </p>
- </th>
-<th>
- <p>
- class of t.
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- FP_ZERO
- </p>
- </td>
-<td>
- <p>
- If <span class="emphasis"><em>t</em></span> is zero.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- FP_NORMAL
- </p>
- </td>
-<td>
- <p>
- If <span class="emphasis"><em>t</em></span> is a non-zero, non-denormalised finite
- value.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- FP_INFINITE
- </p>
- </td>
-<td>
- <p>
- If <span class="emphasis"><em>t</em></span> is plus or minus infinity.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- FP_NAN
- </p>
- </td>
-<td>
- <p>
- If <span class="emphasis"><em>t</em></span> is a NaN.
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- FP_SUBNORMAL
- </p>
- </td>
-<td>
- <p>
- If <span class="emphasis"><em>t</em></span> is a denormalised number.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isfinite</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- Returns true only if <span class="emphasis"><em>z</em></span> is not an infinity or a NaN.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isinf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
-</pre>
-<p>
- Returns true only if <span class="emphasis"><em>z</em></span> is plus or minus infinity.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isnan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
-</pre>
-<p>
- Returns true only if <span class="emphasis"><em>z</em></span> is a <a href="http://en.wikipedia.org/wiki/NaN" target="_top">NaN</a>.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isnormal</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
-</pre>
-<p>
- Returns true only if <span class="emphasis"><em>z</em></span> is a normal number (not zero,
- infinite, NaN, or denormalised).
- </p>
-<h6>
-<a name="math_toolkit.utils.fpclass.h2"></a>
- <span><a name="math_toolkit.utils.fpclass.floating_point_format"></a></span><a class="link" href="fpclass.html#math_toolkit.utils.fpclass.floating_point_format">Floating-point
- format</a>
- </h6>
-<p>
- If you wish to find details of the floating-point format for any particular
- processor, there is a program
- </p>
-<p>
- <a href="../../../../../example/inspect_fp.cpp" target="_top">inspect_fp.cpp</a>
- </p>
-<p>
- by Johan Rade which can be used to print out the processor type, endianness,
- and detailed bit layout of a selection of floating-point values, including
- infinity and NaNs.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="rounding/modf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="sign_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float.html
deleted file mode 100644
index 97ebdcdf4b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../utils.html" title="Floating Point Utilities">
-<link rel="prev" href="fp_facets/rationale.html" title="Design Rationale">
-<link rel="next" href="next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="fp_facets/rationale.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_float/nextafter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_next_float">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.utils.next_float"></a><a class="link" href="next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">Floating-Point Representation
- Distance (ULP), and Finding Adjacent Floating-Point Values</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="next_float/nextafter.html">Finding the
- Next Representable Value in a Specific Direction (nextafter)</a></span></dt>
-<dt><span class="section"><a href="next_float/float_next.html">Finding the
- Next Greater Representable Value (float_next)</a></span></dt>
-<dt><span class="section"><a href="next_float/float_prior.html">Finding
- the Next Smaller Representable Value (float_prior)</a></span></dt>
-<dt><span class="section"><a href="next_float/float_distance.html">Calculating
- the Representation Distance Between Two Floating Point Values (ULP) float_distance</a></span></dt>
-<dt><span class="section"><a href="next_float/float_advance.html">Advancing
- a Floating Point Value by a Specific Representation Distance (ULP) float_advance</a></span></dt>
-</dl></div>
-<p>
- <a href="http://en.wikipedia.org/wiki/Unit_in_the_last_place" target="_top">Unit of
- Least Precision or Unit in the Last Place</a> is the gap between two
- different, but as close as possible, floating-point numbers.
- </p>
-<p>
- Most decimal values, for example 0.1, cannot be exactly represented as floating-point
- values, but will be stored as the <a href="http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding" target="_top">closest
- representable floating-point</a>.
- </p>
-<p>
- Functions are provided for finding adjacent greater and lesser floating-point
- values, and estimating the number of gaps between any two floating-point
- values.
- </p>
-<p>
- The floating-point type FPT must have has a fixed number of bits in the representation.
- The number of bits may set at runtime, but must be the same for all numbers.
- For example, <a href="http://shoup.net/ntl/doc/quad_float.txt" target="_top">NTL::quad_float</a>
- type (fixed 128-bit representation) or <a href="http://shoup.net/ntl/doc/RR.txt" target="_top">NTL::RR</a>
- type (arbitrary but fixed decimal digits, default 150) but <span class="bold"><strong>not</strong></span>
- a type that extends the representation to provide an exact representation
- for any number, for example <a href="http://keithbriggs.info/xrc.html" target="_top">XRC
- eXact Real in C</a>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="fp_facets/rationale.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="next_float/nextafter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_advance.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_advance.html
deleted file mode 100644
index 28bcf19b48..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_advance.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
-<link rel="prev" href="float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance">
-<link rel="next" href="../../extern_c.html" title='TR1 and C99 external "C" Functions'>
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="float_distance.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../extern_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_next_float_float_advance">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.next_float.float_advance"></a><a class="link" href="float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance">Advancing
- a Floating Point Value by a Specific Representation Distance (ULP) float_advance</a>
-</h4></div></div></div>
-<p>
- Function float_advance advances a floating point number by a specified
- number of ULP.
- </p>
-<h5>
-<a name="math_toolkit.utils.next_float.float_advance.h0"></a>
- <span><a name="math_toolkit.utils.next_float.float_advance.synopsis"></a></span><a class="link" href="float_advance.html#math_toolkit.utils.next_float.float_advance.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
-<span class="identifier">FPT</span> <span class="identifier">float_advance</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">distance</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.utils.next_float.float_advance.h1"></a>
- <span><a name="math_toolkit.utils.next_float.float_advance.description___float_advance"></a></span><a class="link" href="float_advance.html#math_toolkit.utils.next_float.float_advance.description___float_advance">Description
- - float_advance</a>
- </h5>
-<p>
- Returns a floating point number <span class="emphasis"><em>r</em></span> such that <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="identifier">r</span><span class="special">)</span> <span class="special">==</span>
- <span class="identifier">distance</span></code>.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="float_distance.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../extern_c.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_distance.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_distance.html
deleted file mode 100644
index 23f75e1d8f..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_distance.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
-<link rel="prev" href="float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)">
-<link rel="next" href="float_advance.html" title="Advancing a Floating Point Value by a Specific Representation Distance (ULP) float_advance">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="float_prior.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_advance.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_next_float_float_distance">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.next_float.float_distance"></a><a class="link" href="float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance">Calculating
- the Representation Distance Between Two Floating Point Values (ULP) float_distance</a>
-</h4></div></div></div>
-<p>
- Function float_distance finds the number of gaps/bits/ULP between any two
- floating-point values. If the significands of floating-point numbers are
- viewed as integers, then their difference is the number of ULP/gaps/bits
- different.
- </p>
-<h5>
-<a name="math_toolkit.utils.next_float.float_distance.h0"></a>
- <span><a name="math_toolkit.utils.next_float.float_distance.synopsis"></a></span><a class="link" href="float_distance.html#math_toolkit.utils.next_float.float_distance.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
-<span class="identifier">FPT</span> <span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">FPT</span> <span class="identifier">b</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.utils.next_float.float_distance.h1"></a>
- <span><a name="math_toolkit.utils.next_float.float_distance.description___float_distance"></a></span><a class="link" href="float_distance.html#math_toolkit.utils.next_float.float_distance.description___float_distance">Description
- - float_distance</a>
- </h5>
-<p>
- Returns the distance between <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span>:
- the result is always a signed integer value (stored in floating-point type
- FPT) representing the number of distinct representations between <span class="emphasis"><em>a</em></span>
- and <span class="emphasis"><em>b</em></span>.
- </p>
-<p>
- Note that
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
- always returns 0.
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">float_next</span><span class="special">(</span><span class="identifier">a</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
- always returns 1.
- </li>
-<li class="listitem">
- <code class="computeroutput"><span class="identifier">float_distance</span><span class="special">(</span><span class="identifier">float_prior</span><span class="special">(</span><span class="identifier">a</span><span class="special">),</span> <span class="identifier">a</span><span class="special">)</span></code>
- always returns -1.
- </li>
-</ul></div>
-<p>
- The function <code class="computeroutput"><span class="identifier">float_distance</span></code>
- is equivalent to calculating the number of ULP (Units in the Last Place)
- between <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>b</em></span> except that it
- returns a signed value indicating whether <code class="computeroutput"><span class="identifier">a</span>
- <span class="special">&gt;</span> <span class="identifier">b</span></code>
- or not.
- </p>
-<p>
- If the distance is too great then it may not be able to be represented
- as an exact integer by type FPT, but in practice this is unlikely to be
- a issue.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="float_prior.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_advance.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_next.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_next.html
deleted file mode 100644
index 61139d7dd6..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_next.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Finding the Next Greater Representable Value (float_next)</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
-<link rel="prev" href="nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)">
-<link rel="next" href="float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nextafter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_prior.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_next_float_float_next">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.next_float.float_next"></a><a class="link" href="float_next.html" title="Finding the Next Greater Representable Value (float_next)">Finding the
- Next Greater Representable Value (float_next)</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.utils.next_float.float_next.h0"></a>
- <span><a name="math_toolkit.utils.next_float.float_next.synopsis"></a></span><a class="link" href="float_next.html#math_toolkit.utils.next_float.float_next.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
-<span class="identifier">FPT</span> <span class="identifier">float_next</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.utils.next_float.float_next.h1"></a>
- <span><a name="math_toolkit.utils.next_float.float_next.description___float_next"></a></span><a class="link" href="float_next.html#math_toolkit.utils.next_float.float_next.description___float_next">Description
- - float_next</a>
- </h5>
-<p>
- Returns the next representable value which is greater than <span class="emphasis"><em>x</em></span>.
- If <span class="emphasis"><em>x</em></span> is non-finite then returns the result of a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>. If there is no such value greater
- than <span class="emphasis"><em>x</em></span> then returns an <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>.
- </p>
-<p>
- Has the same effect as
- </p>
-<pre class="programlisting"><span class="identifier">nextafter</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">());</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="nextafter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_prior.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_prior.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_prior.html
deleted file mode 100644
index 594b70bfac..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/float_prior.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Finding the Next Smaller Representable Value (float_prior)</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
-<link rel="prev" href="float_next.html" title="Finding the Next Greater Representable Value (float_next)">
-<link rel="next" href="float_distance.html" title="Calculating the Representation Distance Between Two Floating Point Values (ULP) float_distance">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="float_next.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_distance.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_next_float_float_prior">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.next_float.float_prior"></a><a class="link" href="float_prior.html" title="Finding the Next Smaller Representable Value (float_prior)">Finding
- the Next Smaller Representable Value (float_prior)</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.utils.next_float.float_prior.h0"></a>
- <span><a name="math_toolkit.utils.next_float.float_prior.synopsis"></a></span><a class="link" href="float_prior.html#math_toolkit.utils.next_float.float_prior.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
-<span class="identifier">FPT</span> <span class="identifier">float_prior</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.utils.next_float.float_prior.h1"></a>
- <span><a name="math_toolkit.utils.next_float.float_prior.description___float_prior"></a></span><a class="link" href="float_prior.html#math_toolkit.utils.next_float.float_prior.description___float_prior">Description
- - float_prior</a>
- </h5>
-<p>
- Returns the next representable value which is less than <span class="emphasis"><em>x</em></span>.
- If <span class="emphasis"><em>x</em></span> is non-finite then returns the result of a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>. If there is no such value less
- than <span class="emphasis"><em>x</em></span> then returns an <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>.
- </p>
-<p>
- Has the same effect as
- </p>
-<pre class="programlisting"><span class="identifier">nextafter</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="special">-</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">FPT</span><span class="special">&gt;::</span><span class="identifier">max</span><span class="special">());</span> <span class="comment">// Note most negative value -max.</span>
-</pre>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="float_next.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_distance.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/nextafter.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/nextafter.html
deleted file mode 100644
index dd6c8d67f2..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/next_float/nextafter.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Finding the Next Representable Value in a Specific Direction (nextafter)</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
-<link rel="prev" href="../next_float.html" title="Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values">
-<link rel="next" href="float_next.html" title="Finding the Next Greater Representable Value (float_next)">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../next_float.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_next.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_next_float_nextafter">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.next_float.nextafter"></a><a class="link" href="nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)">Finding the
- Next Representable Value in a Specific Direction (nextafter)</a>
-</h4></div></div></div>
-<h5>
-<a name="math_toolkit.utils.next_float.nextafter.h0"></a>
- <span><a name="math_toolkit.utils.next_float.nextafter.synopsis"></a></span><a class="link" href="nextafter.html#math_toolkit.utils.next_float.nextafter.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">next</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">FPT</span><span class="special">&gt;</span>
-<span class="identifier">FPT</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="identifier">FPT</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">FPT</span> <span class="identifier">direction</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.utils.next_float.nextafter.h1"></a>
- <span><a name="math_toolkit.utils.next_float.nextafter.description___nextafter"></a></span><a class="link" href="nextafter.html#math_toolkit.utils.next_float.nextafter.description___nextafter">Description
- - nextafter</a>
- </h5>
-<p>
- This is an implementation of the <code class="computeroutput"><span class="identifier">nextafter</span></code>
- function included in the C99 standard. (It is also effectively an implementation
- of the C99 'nexttoward' legacy function which differs only having a long
- double direction, and can generally serve in its place if required).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The C99 functions must use suffixes f and l to distinguish float and
- long double versions. C++ uses the template mechanism instead.
- </p></td></tr>
-</table></div>
-<p>
- Returns the next representable value after <span class="emphasis"><em>x</em></span> in the
- direction of <span class="emphasis"><em>y</em></span>. If <code class="computeroutput"><span class="identifier">x</span>
- <span class="special">==</span> <span class="identifier">y</span></code>
- then returns <span class="emphasis"><em>x</em></span>. If <span class="emphasis"><em>x</em></span> is non-finite
- then returns the result of a <a class="link" href="../../main_overview/error_handling.html#domain_error">domain_error</a>.
- If there is no such value in the direction of <span class="emphasis"><em>y</em></span> then
- returns an <a class="link" href="../../main_overview/error_handling.html#overflow_error">overflow_error</a>.
- </p>
-<h5>
-<a name="math_toolkit.utils.next_float.nextafter.h2"></a>
- <span><a name="math_toolkit.utils.next_float.nextafter.examples___nextafter"></a></span><a class="link" href="nextafter.html#math_toolkit.utils.next_float.nextafter.examples___nextafter">Examples
- - nextafter</a>
- </h5>
-<p>
- The two representations using a 32-bit float either side of unity are:
-</p>
-<pre class="programlisting"><span class="identifier">The</span> <span class="identifier">nearest</span> <span class="special">(</span><span class="identifier">exact</span><span class="special">)</span> <span class="identifier">representation</span> <span class="identifier">of</span> <span class="number">1.F</span> <span class="identifier">is</span> <span class="number">1.00000000</span>
-<span class="identifier">nextafter</span><span class="special">(</span><span class="number">1.F</span><span class="special">,</span> <span class="number">999</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">1.00000012</span>
-<span class="identifier">nextafter</span><span class="special">(</span><span class="number">1</span><span class="special">/</span><span class="identifier">f</span><span class="special">,</span> <span class="special">-</span><span class="number">999</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">0.99999994</span>
-
-<span class="identifier">The</span> <span class="identifier">nearest</span> <span class="special">(</span><span class="keyword">not</span> <span class="identifier">exact</span><span class="special">)</span> <span class="identifier">representation</span> <span class="identifier">of</span> <span class="number">0.1F</span> <span class="identifier">is</span> <span class="number">0.100000001</span>
-<span class="identifier">nextafter</span><span class="special">(</span><span class="number">0.1F</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">0.100000009</span>
-<span class="identifier">nextafter</span><span class="special">(</span><span class="number">0.1F</span><span class="special">,</span> <span class="number">10</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">0.099999994</span>
-</pre>
-<p>
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../next_float.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../next_float.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="float_next.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding.html
deleted file mode 100644
index 1e5520248b..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Rounding Truncation and Integer Conversion</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../utils.html" title="Floating Point Utilities">
-<link rel="prev" href="../utils.html" title="Floating Point Utilities">
-<link rel="next" href="rounding/round.html" title="Rounding Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../utils.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rounding/round.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_rounding">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.utils.rounding"></a><a class="link" href="rounding.html" title="Rounding Truncation and Integer Conversion">Rounding Truncation and
- Integer Conversion</a>
-</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="rounding/round.html">Rounding Functions</a></span></dt>
-<dt><span class="section"><a href="rounding/trunc.html">Truncation Functions</a></span></dt>
-<dt><span class="section"><a href="rounding/modf.html">Integer and Fractional
- Part Splitting (modf)</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../utils.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rounding/round.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/modf.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/modf.html
deleted file mode 100644
index c57c43ac36..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/modf.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Integer and Fractional Part Splitting (modf)</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
-<link rel="prev" href="trunc.html" title="Truncation Functions">
-<link rel="next" href="../fpclass.html" title="Floating-Point Classification: Infinities and NaNs">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="trunc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fpclass.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_rounding_modf">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.rounding.modf"></a><a class="link" href="modf.html" title="Integer and Fractional Part Splitting (modf)">Integer and Fractional
- Part Splitting (modf)</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">modf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-</pre>
-<p>
- The <code class="computeroutput"><span class="identifier">modf</span></code> functions store
- the integer part of <span class="emphasis"><em>v</em></span> in <code class="computeroutput"><span class="special">*</span><span class="identifier">ipart</span></code> and return the fractional part
- of <span class="emphasis"><em>v</em></span>. The sign of the integer and fractional parts
- are the same as the sign of <span class="emphasis"><em>v</em></span>.
- </p>
-<p>
- If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
- the range of the result type, then returns the result of <a class="link" href="../../main_overview/error_handling.html#rounding_error">rounding_error</a>:
- by default this throws an instance of boost::math::rounding_error.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="trunc.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../fpclass.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/round.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/round.html
deleted file mode 100644
index 92510699bd..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/round.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Rounding Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
-<link rel="prev" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
-<link rel="next" href="trunc.html" title="Truncation Functions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../rounding.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trunc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_rounding_round">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.rounding.round"></a><a class="link" href="round.html" title="Rounding Functions">Rounding Functions</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">round</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">iround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">iround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-</pre>
-<p>
- These functions return the closest integer to the argument <span class="emphasis"><em>v</em></span>.
- </p>
-<p>
- Halfway cases are rounded away from zero, regardless of the current rounding
- direction.
- </p>
-<p>
- If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
- the range of the result type, then returns the result of <a class="link" href="../../main_overview/error_handling.html#rounding_error">rounding_error</a>:
- by default this throws an instance of boost::math::rounding_error.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../rounding.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="trunc.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/trunc.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/trunc.html
deleted file mode 100644
index bf2a6425b0..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/rounding/trunc.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Truncation Functions</title>
-<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../../index.html" title="Math Toolkit">
-<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
-<link rel="prev" href="round.html" title="Rounding Functions">
-<link rel="next" href="modf.html" title="Integer and Fractional Part Splitting (modf)">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="round.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_rounding_trunc">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="math_toolkit.utils.rounding.trunc"></a><a class="link" href="trunc.html" title="Truncation Functions">Truncation Functions</a>
-</h4></div></div></div>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">trunc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="identifier">T</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">itrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">itrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="identifier">ltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="identifier">ltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">lltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
-<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">lltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
-</pre>
-<p>
- The trunc functions round their argument to the integer value, nearest
- to but no larger in magnitude than the argument.
- </p>
-<p>
- For example <code class="computeroutput"><span class="identifier">itrunc</span><span class="special">(</span><span class="number">3.7</span><span class="special">)</span></code> would
- return <code class="computeroutput"><span class="number">3</span></code> and <code class="computeroutput"><span class="identifier">ltrunc</span><span class="special">(-</span><span class="number">4.6</span><span class="special">)</span></code> would
- return <code class="computeroutput"><span class="special">-</span><span class="number">4</span></code>.
- </p>
-<p>
- If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
- the range of the result type, then returns the result of <a class="link" href="../../main_overview/error_handling.html#rounding_error">rounding_error</a>:
- by default this throws an instance of boost::math::rounding_error.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="round.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="modf.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/sign_functions.html b/libs/math/doc/sf_and_dist/html/math_toolkit/utils/sign_functions.html
deleted file mode 100644
index 3a75c18535..0000000000
--- a/libs/math/doc/sf_and_dist/html/math_toolkit/utils/sign_functions.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Sign Manipulation Functions</title>
-<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Math Toolkit">
-<link rel="up" href="../utils.html" title="Floating Point Utilities">
-<link rel="prev" href="fpclass.html" title="Floating-Point Classification: Infinities and NaNs">
-<link rel="next" href="fp_facets.html" title="Facets for Floating-Point Infinities and NaNs">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="fpclass.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section math_toolkit_utils_sign_functions">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.utils.sign_functions"></a><a class="link" href="sign_functions.html" title="Sign Manipulation Functions">Sign Manipulation
- Functions</a>
-</h3></div></div></div>
-<h5>
-<a name="math_toolkit.utils.sign_functions.h0"></a>
- <span><a name="math_toolkit.utils.sign_functions.synopsis"></a></span><a class="link" href="sign_functions.html#math_toolkit.utils.sign_functions.synopsis">Synopsis</a>
- </h5>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">sign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-</pre>
-<p>
- </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">signbit</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="keyword">int</span> <span class="identifier">sign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">copysign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">y</span><span class="special">);</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">changesign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-
-<span class="special">}}</span> <span class="comment">// namespaces</span>
-</pre>
-<h5>
-<a name="math_toolkit.utils.sign_functions.h1"></a>
- <span><a name="math_toolkit.utils.sign_functions.description"></a></span><a class="link" href="sign_functions.html#math_toolkit.utils.sign_functions.description">Description</a>
- </h5>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">int</span> <span class="identifier">signbit</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">x</span><span class="special">);</span>
-</pre>
-<p>
- Returns a non-zero value if the sign bit is set in variable <span class="emphasis"><em>x</em></span>,
- otherwise <code class="computeroutput"><span class="number">0</span></code>.
- </p>
-<div class="important"><table border="0" summary="Important">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../doc/src/images/important.png"></td>
-<th align="left">Important</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- The return value from this function is zero or <span class="emphasis"><em>not-zero</em></span>
- and <span class="bold"><strong>not</strong></span> zero or one.
- </p></td></tr>
-</table></div>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="keyword">int</span> <span class="identifier">sign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- Returns <code class="computeroutput"><span class="number">1</span></code> if <span class="emphasis"><em>x</em></span>
- <code class="computeroutput"><span class="special">&gt;</span> <span class="number">0</span></code>,
- <code class="computeroutput"><span class="special">-</span><span class="number">1</span></code>
- if <span class="emphasis"><em>x</em></span> <code class="computeroutput"><span class="special">&lt;</span> <span class="number">0</span></code>, and <code class="computeroutput"><span class="number">0</span></code>
- if <span class="emphasis"><em>x</em></span> is zero.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">copysign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">y</span><span class="special">);</span>
-</pre>
-<p>
- Sets the sign of <span class="emphasis"><em>x</em></span> to be the same as the sign of <span class="emphasis"><em>y</em></span>.
- </p>
-<p>
- See <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf" target="_top">C99
- 7.12.11.1 The copysign functions</a> for more detail.
- </p>
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">inline</span> <span class="identifier">T</span> <span class="identifier">changesign</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">z</span><span class="special">);</span>
-</pre>
-<p>
- Returns a floating point number with a binary representation where the signbit
- is the opposite of the sign bit in <span class="emphasis"><em>x</em></span>, and where the
- other bits are the same as in <span class="emphasis"><em>x</em></span>.
- </p>
-<p>
- This function is widely available, but not specified in any standards.
- </p>
-<p>
- Rationale: Not specified by TR1, but <code class="computeroutput"><span class="identifier">changesign</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
- is both easier to read and more efficient than
- </p>
-<pre class="programlisting"><span class="identifier">copysign</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">signbit</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">?</span> <span class="number">1.0</span> <span class="special">:</span> <span class="special">-</span><span class="number">1.0</span><span class="special">);</span>
-</pre>
-<p>
- For finite values, this function has the same effect as simple negation,
- the assignment z = -z, but for nonfinite values, <a href="http://en.wikipedia.org/wiki/Infinity#Computing" target="_top">infinities</a>
- and <a href="http://en.wikipedia.org/wiki/NaN" target="_top">NaNs</a>, the <code class="computeroutput"><span class="identifier">changesign</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> function
- may be the only portable way to ensure that the sign bit is changed.
- </p>
-<h6>
-<a name="math_toolkit.utils.sign_functions.h2"></a>
- <span><a name="math_toolkit.utils.sign_functions.sign_bits"></a></span><a class="link" href="sign_functions.html#math_toolkit.utils.sign_functions.sign_bits">Sign
- bits</a>
- </h6>
-<p>
- One of the bits in the binary representation of a floating-point number gives
- the sign, and the remaining bits give the absolute value. That bit is known
- as the sign bit. The sign bit is set = 1 for negative numbers, and is not
- set = 0 for positive numbers. (This is true for all binary representations
- of floating point numbers that are used by modern microprocessors.)
- </p>
-<p>
- <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">C++
- TR1</a> specifies <code class="computeroutput"><span class="identifier">copysign</span></code>
- functions and function templates for accessing the sign bit.
- </p>
-<p>
- For user-defined types (UDT), the sign may be stored in some other way. They
- may also not provide infinity or NaNs. To use these functions with a UDT,
- it may be necessary to explicitly specialize then for UDT type T.
- </p>
-<h6>
-<a name="math_toolkit.utils.sign_functions.h3"></a>
- <span><a name="math_toolkit.utils.sign_functions.examples"></a></span><a class="link" href="sign_functions.html#math_toolkit.utils.sign_functions.examples">Examples</a>
- </h6>
-<pre class="programlisting"><span class="identifier">signbit</span><span class="special">(</span><span class="number">3.5</span><span class="special">)</span> <span class="identifier">is</span> <span class="identifier">zero</span> <span class="special">(</span><span class="keyword">or</span> <span class="keyword">false</span><span class="special">)</span>
-<span class="identifier">signbit</span><span class="special">(-</span><span class="number">7.1</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">1</span> <span class="special">(</span><span class="keyword">or</span> <span class="keyword">true</span><span class="special">)</span>
-<span class="identifier">copysign</span><span class="special">(</span><span class="number">4.2</span><span class="special">,</span> <span class="number">7.9</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">4.2</span>
-<span class="identifier">copysign</span><span class="special">(</span><span class="number">3.5</span> <span class="special">-</span><span class="number">1.4</span><span class="special">)</span> <span class="identifier">is</span> <span class="special">-</span><span class="number">3.5</span>
-<span class="identifier">copysign</span><span class="special">(-</span><span class="number">4.2</span><span class="special">,</span> <span class="number">1.0</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">4.2</span>
-<span class="identifier">copysign</span><span class="special">(-</span><span class="number">8.6</span><span class="special">,</span> <span class="special">-</span><span class="number">3.3</span><span class="special">)</span> <span class="identifier">is</span> <span class="special">-</span><span class="number">8.6</span>
-<span class="identifier">changesign</span><span class="special">(</span><span class="number">6.9</span><span class="special">)</span> <span class="identifier">is</span> <span class="special">-</span><span class="number">6.9</span>
-<span class="identifier">changesign</span><span class="special">(-</span><span class="number">1.8</span><span class="special">)</span> <span class="identifier">is</span> <span class="number">1.8</span>
-</pre>
-<h6>
-<a name="math_toolkit.utils.sign_functions.h4"></a>
- <span><a name="math_toolkit.utils.sign_functions.portability"></a></span><a class="link" href="sign_functions.html#math_toolkit.utils.sign_functions.portability">Portability</a>
- </h6>
-<p>
- The library supports the following binary floating-point formats:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- IEEE 754 single precision
- </li>
-<li class="listitem">
- IEEE 754 double precision
- </li>
-<li class="listitem">
- IEEE 754 extended double precision with 15 exponent bits
- </li>
-<li class="listitem">
- Intel extended double precision
- </li>
-<li class="listitem">
- PowerPC extended double precision
- </li>
-<li class="listitem">
- Motorola 68K extended double precision
- </li>
-</ul></div>
-<p>
- The library does not support the VAX floating-point formats. (These are available
- on VMS, but the default on VMS is the IEEE 754 floating-point format.)
- </p>
-<p>
- The main portability issues are:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Unsupported floating point formats
- </li>
-<li class="listitem">
- The library depends on the header boost/detail/endian.hpp
- </li>
-<li class="listitem">
- Code such as <code class="computeroutput"><span class="preprocessor">#if</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">__ia64</span><span class="special">)</span> <span class="special">||</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">__ia64__</span><span class="special">)</span>
- <span class="special">||</span> <span class="identifier">defined</span><span class="special">(</span><span class="identifier">_M_IA64</span><span class="special">)</span></code> is used to determine the processor type.
- </li>
-</ul></div>
-<p>
- The library has passed all tests on the following platforms:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Win32 / MSVC 7.1 / 10.0 / x86
- </li>
-<li class="listitem">
- Win32 / Intel C++ 7.1, 8.1, 9.1 / x86
- </li>
-<li class="listitem">
- Mac OS X / GCC 3.3, 4.0 / ppc
- </li>
-<li class="listitem">
- Linux / Intel C++ 9.1 / x86, ia64
- </li>
-<li class="listitem">
- Linux / GCC 3.3 / x86, x64, ia64, ppc, hppa, mips, m68k
- </li>
-<li class="listitem">
- Linux / GCC 3.4 / x64
- </li>
-<li class="listitem">
- HP-UX / aCC, GCC 4.1 / ia64
- </li>
-<li class="listitem">
- HP-UX / aCC / hppa
- </li>
-<li class="listitem">
- Tru64 / Compaq C++ 7.1 / alpha
- </li>
-<li class="listitem">
- VMS / HP C++ 7.1 / alpha (in IEEE floating point mode)
- </li>
-<li class="listitem">
- VMS / HP C++ 7.2 / ia64 (in IEEE floating point mode)
- </li>
-</ul></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
- Lalande, Johan R&#229;de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
- </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="fpclass.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utils.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="fp_facets.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/math/doc/sf_and_dist/html4_symbols.qbk b/libs/math/doc/sf_and_dist/html4_symbols.qbk
deleted file mode 100644
index 1f69788996..0000000000
--- a/libs/math/doc/sf_and_dist/html4_symbols.qbk
+++ /dev/null
@@ -1,217 +0,0 @@
-[/ Symbols and Greek letters (about 120) from HTML4.]
-[/ File HTML4_symbols.qbk]
-[/ See http://www.htmlhelp.com/reference/html40/entities/symbols.html]
-[/ See also http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references]
-[/ http://www.alanwood.net/demos/ent4_frame.html]
-[/ http://www.unicode.org/charts/PDF/U2200.pdf and others]
-[/ All (except 2 angle brackets) show OK on Firefox 2.0 and higher]
-
-[/ See also Latin-1 aka Western (ISO-8859-1) in latin1_symbols.qbk]
-[/ http://www.htmlhelp.com/reference/html40/entities/latin1.html]
-[/Unicode Latin extended http://www.unicode.org/charts/U0080.pdf]
-
-[/ Also some miscellaneous math characters added to this list - see the end.]
-[/ For others see also math_symbols.qbk]
-
-[/ To use, enclose the template name in square brackets, for example: [pi]]
-
-[template fnof[]'''&#x192;'''] [/ ƒ Latin small f with hook = function = florin]
-[/ Capital Greek start with capital letter, lower case all small.]
-[template Alpha[]'''&#x391;'''] [/ ? Greek capital letter alpha]
-[template Beta[]'''&#x392;'''] [/ ? Greek capital letter beta]
-[template Gamma[]'''&#x393;'''] [/ G Greek capital letter gamma]
-[template Delta[]'''&#x394;'''] [/ ? Greek capital letter delta]
-[template Epsilon[]'''&#x395;'''] [/ ? Greek capital letter epsilon]
-[template Zeta[]'''&#x396;'''] [/ ? Greek capital letter zeta]
-[template Eta[]'''&#x397;'''] [/ ? Greek capital letter eta]
-[template Theta[]'''&#x398;'''] [/ T Greek capital letter theta]
-[template Iota[]'''&#x399;'''] [/ ? Greek capital letter iota]
-[template Kappa[]'''&#x39A;'''] [/ ? Greek capital letter kappa]
-[template Lambda[]'''&#x39B;'''] [/ ? Greek capital letter lambda]
-[template Mu[]'''&#x39C;'''] [/ ? Greek capital letter mu]
-[template Nu[]'''&#x39D;'''] [/ ? Greek capital letter nu]
-[template Xi[]'''&#x39E;'''] [/ ? Greek capital letter xi]
-[template Omicron[]'''&#x39F;'''] [/ ? Greek capital letter omicron]
-[template Pi[]'''&#x3A0;'''] [/ ? Greek capital letter pi]
-[template Rho[]'''&#x3A1;'''] [/ ? Greek capital letter rho]
-[template Sigma[]'''&#x3A3;'''] [/ S Greek capital letter sigma]
-[template Tau[]'''&#x3A4;'''] [/ ? Greek capital letter tau]
-[template Upsilon[]'''&#x3A5;'''] [/ ? Greek capital letter upsilon]
-[template Phi[]'''&#x3A6;'''] [/ F Greek capital letter phi]
-[template Chi[]'''&#x3A7;'''] [/ ? Greek capital letter chi]
-[template Psi[]'''&#x3A8;'''] [/ ? Greek capital letter psi]
-[template Omega[]'''&#x3A9;'''] [/ O Greek capital letter omega]
-[template alpha[]'''&#x3B1;'''] [/ a Greek small letter alpha]
-[template beta[]'''&#x3B2;'''] [/ ß Greek small letter beta]
-[template gamma[]'''&#x3B3;'''] [/ ? Greek small letter gamma]
-[template delta[]'''&#x3B4;'''] [/ d Greek small letter delta]
-[template epsilon[]'''&#x3B5;'''] [/ e Greek small letter epsilon]
-[template zeta[]'''&#x3B6;'''] [/ ? Greek small letter zeta]
-[template eta[]'''&#x3B7;'''] [/ ? Greek small letter eta]
-[template theta[]'''&#x3B8;'''] [/ ? Greek small letter theta]
-[template iota[]'''&#x3B9;'''] [/ ? Greek small letter iota]
-[template kappa[]'''&#x3BA;'''] [/ ? Greek small letter kappa]
-[template lambda[]'''&#x3BB;'''] [/ ? Greek small letter lambda]
-[template mu[]'''&#x3BC;'''] [/ µ Greek small letter mu]
-[template nu[]'''&#x3BD;'''] [/ ? Greek small letter nu]
-[template xi[]'''&#x3BE;'''] [/ ? Greek small letter xi]
-[template omicron[]'''&#x3BF;'''] [/ ? Greek small letter omicron]
-[template pi[]'''&#x3C0;'''] [/ p Greek small letter pi]
-[template rho[]'''&#x3C1;'''] [/ ? Greek small letter rho]
-[template sigmaf[]'''&#x3C2;'''] [/ ? Greek small letter final sigma]
-[template sigma[]'''&#x3C3;'''] [/ s Greek small letter sigma]
-[template tau[]'''&#x3C4;'''] [/ t Greek small letter tau]
-[template upsilon[]'''&#x3C5;'''] [/ ? Greek small letter upsilon]
-[template phi[]'''&#x3C6;'''] [/ f Greek small letter phi]
-[template chi[]'''&#x3C7;'''] [/ ? Greek small letter chi]
-[template psi[]'''&#x3C8;'''] [/ ? Greek small letter psi]
-[template omega[]'''&#x3C9;'''] [/ ? Greek small letter omega]
-[template thetasym[]'''&#x3D1;'''] [/ ? Greek small letter theta symbol]
-[template upsih[]'''&#x3D2;'''] [/ ? Greek upsilon with hook symbol]
-[template piv[]'''&#x3D6;'''] [/ ? Greek pi symbol]
-
-[template bull[]'''&#x2022;'''] [/ • bullet = black small circle]
-[template hellip[]'''&#x2026;'''] [/ … horizontal ellipsis = three dot leader]
-[template prime[]'''&#x2032;'''] [/ ' prime = minutes = feet]
-[template Prime[]'''&#x2033;'''] [/ ? double prime = seconds = inches]
-[template oline[]'''&#x203E;'''] [/ ? overline = spacing overscore]
-[template frasl[]'''&#x2044;'''] [/ / fraction slash]
-[template weierp[]'''&#x2118;'''] [/ P script capital P = power set = Weierstrass p]
-[template image[]'''&#x2111;'''] [/ I blackletter capital I = imaginary part]
-[template real[]'''&#x211C;'''] [/ R blackletter capital R = real part symbol]
-[template trade[]'''&#x2122;'''] [/ ™ trade mark sign]
-[template alefsym[]'''&#x2135;'''] [/ ? alef symbol = first transfinite cardinal]
-[template larr[]'''&#x2190;'''] [/ ? leftwards arrow]
-[template uarr[]'''&#x2191;'''] [/ ? upwards arrow]
-[template rarr[]'''&#x2192;'''] [/ ? rightwards arrow]
-[template darr[]'''&#x2193;'''] [/ ? downwards arrow]
-[template harr[]'''&#x2194;'''] [/ ? left right arrow]
-[template crarr[]'''&#x21B5;'''] [/ ? downwards arrow with corner leftwards = CR]
-[template lArr[]'''&#x21D0;'''] [/ ? leftwards double arrow]
-[template uArr[]'''&#x21D1;'''] [/ ? upwards double arrow]
-[template rArr[]'''&#x21D2;'''] [/ ? rightwards double arrow]
-[template dArr[]'''&#x21D3;'''] [/ ? downwards double arrow]
-[template hArr[]'''&#x21D4;'''] [/ ? left right double arrow]
-[template forall[]'''&#x2200;'''] [/ ? for all]
-[template part[]'''&#x2202;'''] [/ ? partial differential]
-[template exist[]'''&#x2203;'''] [/ ? there exists]
-[template empty[]'''&#x2205;'''] [/ Ø empty set = null set = diameter]
-[template nabla[]'''&#x2207;'''] [/ ? nabla = backward difference]
-[template isin[]'''&#x2208;'''] [/ ? element of]
-[template notin[]'''&#x2209;'''] [/ ? not an element of]
-[template ni[]'''&#x220B;'''] [/ ? contains as member]
-[template prod[]'''&#x220F;'''] [/ ? n-ary product = product sign]
-[template sum[]'''&#x2211;'''] [/ ? n-ary sumation]
-[template minus[]'''&#x2212;'''] [/ - minus sign]
-[template lowast[]'''&#x2217;'''] [/ * asterisk operator]
-[template radic[]'''&#x221A;'''] [/ v square root = radical sign]
-[template prop[]'''&#x221D;'''] [/ ? proportional to]
-[template infin[]'''&#x221E;'''] [/ 8 infinity]
-[template ang[]'''&#x2220;'''] [/ ? angle]
-[template and[]'''&#x2227;'''] [/ ? logical and = wedge]
-[template or[]'''&#x2228;'''] [/ ? logical or = vee]
-[template cap[]'''&#x2229;'''] [/ n intersection = cap]
-[template cup[]'''&#x222A;'''] [/ ? union = cup]
-[template int[]'''&#x222B;'''] [/ ? integral]
-[template there4[]'''&#x2234;'''] [/ ? therefore]
-[template sim[]'''&#x223C;'''] [/ ~ tilde operator = varies with = similar to]
-[template cong[]'''&#x2245;'''] [/ ? approximately equal to]
-[template asymp[]'''&#x2248;'''] [/ ˜ almost equal to = asymptotic to]
-[template ne[]'''&#x2260;'''] [/ ? not equal to]
-[template equiv[]'''&#x2261;'''] [/ = identical to]
-[template le[]'''&#x2264;'''] [/ = less-than or equal to]
-[template ge[]'''&#x2265;'''] [/ = greater-than or equal to]
-[template subset[]'''&#x2282;'''] [/ ? subset of]
-[template superset[]'''&#x2283;'''] [/ ? superset of]
-[template nsubset[]'''&#x2284;'''] [/ ? not a subset of]
-[template sube[]'''&#x2286;'''] [/ ? subset of or equal to]
-[template supe[]'''&#x2287;'''] [/ ? superset of or equal to]
-[template oplus[]'''&#x2295;'''] [/ ? circled plus = direct sum]
-[template otimes[]'''&#x2297;'''] [/ ? circled times = vector product]
-[template perp[]'''&#x22A5;'''] [/ ? up tack = orthogonal to = perpendicular]
-[template sdot[]'''&#x22C5;'''] [/ · dot operator]
-[template lceil[]'''&#x2308;'''] [/ ? left ceiling = APL upstile]
-[template rceil[]'''&#x2309;'''] [/ ? right ceiling]
-[template lfloor[]'''&#x230A;'''] [/ ? left floor = APL downstile]
-[template rfloor[]'''&#x230B;'''] [/ ? right floor]
-[template lang[]'''&#x2329;'''] [/ < left-pointing angle bracket = bra (Firefox shows ?)]
-[template rang[]'''&#x232A;'''] [/ > right-pointing angle bracket = ket (Firefox shows ?)]
-[template loz[]'''&#x25CA;'''] [/ ? lozenge]
-[template spades[]'''&#x2660;'''] [/ ? black spade suit]
-[template clubs[]'''&#x2663;'''] [/ ? black club suit = shamrock]
-[template hearts[]'''&#x2665;'''] [/ ? black heart suit = valentine]
-[template diams[]'''&#x2666;'''] [/ ? black diamond suit]
-[template euro[]'''&#x20AC;'''] [/ ? Euro currency symbol]
-[template lchev[]'''&#x27E8;'''] [/ ? left chevron]
-[template rchev[]'''&#x27E9;'''] [/ right chevron]
-[template rflat[]'''&#x27EE;'''] [/ right flat bracket Misc Math Symbol A]
-[template lflat[]'''&#x27EE;'''] [/ left flat bracket]
-[/ U2000.pdf punctuation]
-[template endash[]'''&#x2013;'''] [/ em width dash]
-[template emdash[]'''&#x2014;'''] [/ en width dash]
-[template hbar[]'''&#x2015;'''] [/ ? horizontal bar - introducing quoted text]
-[template vert2bar[]'''&#x2016;'''] [/ ? double vertical bar]
-[template line2[]'''&#x2016;'''] [/ ? double low line bar]
-[template dagger[]'''&#x2020;'''] [/ ? dagger]
-[template dagger2[]'''&#x2021;'''] [/ ? double dagger]
-[template dot[]'''&#x2024;'''] [/ dot leader]
-[template dot2[]'''&#x2025;'''] [/ ? dots leader]
-[template ellipsis[]'''&#x2026;'''] [/ horizontal ellipsis]
-
-[template dotover[]'''&#x0307;'''] [/ dot over symbol]
-[template recur[]'''&#x200A;&#x0307;'''] [/ math recurring symbol, eg after 0.333]
-[/ Note use of a thin space before digit, so that dot isn't placed directly over the digit.]
-[/ Use:1[recur]]
-
-[/ Other symbols, not in the HTML4 list:]
-[template enquad[] '''&#x2000;'''] [/ en quad space]
-[template emquad[] '''&#x2001;'''] [/ em quad space]
-[template enspace[] '''&#x2002;'''] [/ em half en space]
-[template emspace[] '''&#x2003;'''] [/ em space type size in points]
-[template thickspace[] '''&#x2004;'''] [/ 3 per em space]
-[template midspace[] '''&#x2005;'''] [/ 4 per em space]
-[template sixemspace[] '''&#x2006;'''] [/ 6 em space]
-[template figspace[] '''&#x2007;'''] [/ space = width fixed font digit]
-[template punctspace[] '''&#x2008;'''] [/ space = width punctuation]
-[template thin[] '''&#x2009;'''] [/ thin space ]
-[template hair[] '''&#x200A;'''] [/ hair space]
-[template nbsp[] '''&#x00A0;'''] [/ non-breaking space]
-[template space[] '''&#x00A0;'''] [/ plain non-breaking space]
-
-[template nospace[] '''&#x200B;'''] [/ zero width space]
-[template wordjoin[] '''&#x2060;'''] [/ word joiner - no line break either side]
-[template narrownbsp[] '''&#x202F;'''] [/ narrow non-breaking space]
-[template hyphen[] '''&#x2010;'''] [/ soft hyphen]
-[template nbhyphen[] '''&#x2011;'''] [/ non-breaking hyphen]
-
-[template plusminus[]'''&#x00B1;'''] [/ ? plus or minus sign]
-[template sqrt[]'''&#x221A;'''] [/ ? square root sqrt symbol]
-[/template pow2[]'''&#x2073;'''] [/ 2073 is NOT superscript 2 and 3 characters]
-[template pow2[]'''&#x00B2;'''] [/ superscript 2 character]
-[template pow3[]'''&#x00B3;'''] [/ superscript 3 character]
-[/ Unicode 2070 to 209F has super and subscript digits and characters, unicode.org/charts/PDF/U2070.pdf]
-[template pow4[]'''&#x2074;'''] [/ superscript 4 character]
-[template pown[]'''&#x207F;'''] [/ superscript n character]
-[template frac12[]'''&#x00BD;'''] [/ fraction half]
-[template frac14[]'''&#x00BC;'''] [/ fraction quarter]
-[template frac34[]'''&#x00BE;'''] [/ fraction three quarter]
-[template sup1[]'''&#xB9;'''] [/ superscript one = superscript digit one ]
-[template sup2[]'''&#xB2;'''] [/ superscript two = superscript digit two = squared ]
-[template cubed[]'''&#xB3;'''] [/ superscript three = superscript digit three = cubed ]
-[template macron[]'''&#xAF;'''] [/ macron = spacing macron = overline = APL overbar ]
-[template deg[]'''&#xB0;'''] [/ degree sign ]
-[template plusmn[]'''&#xB1;'''] [/ plus-minus sign = plus-or-minus sign ]
-[template micro[]'''&#xB5;'''] [/ micro sign ]
-[template cedil[]'''&#xB8;'''] [/ cedilla = spacing cedilla ]
-[template ordm[]'''&#xBA;'''] [/ masculine ordinal indicator ]
-[template ordf[]'''&#xAA;'''] [/ feminine ordinal indicator ]
-[template laquo[]'''&#xAB;'''] [/ left-pointing double angle quotation mark = left pointing guillemet ]
-[template raquo[]'''&#xBB;'''] [/ right-pointing double angle quotation mark = right pointing guillemet ]
-
-[/
-Copyright 2007, 2010, 2012 Paul A. Bristow.
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/implementation.qbk b/libs/math/doc/sf_and_dist/implementation.qbk
deleted file mode 100644
index 09a28941b6..0000000000
--- a/libs/math/doc/sf_and_dist/implementation.qbk
+++ /dev/null
@@ -1,598 +0,0 @@
-[section:implementation Additional Implementation Notes]
-
-The majority of the implementation notes are included with the documentation
-of each function or distribution. The notes here are of a more general nature,
-and reflect more the general implementation philosophy used.
-
-[h4 Implemention philosophy]
-
-"First be right, then be fast."
-
-There will always be potential compromises
-to be made between speed and accuracy.
-It may be possible to find faster methods,
-particularly for certain limited ranges of arguments,
-but for most applications of math functions and distributions,
-we judge that speed is rarely as important as accuracy.
-
-So our priority is accuracy.
-
-To permit evaluation of accuracy of the special functions,
-production of extremely accurate tables of test values
-has received considerable effort.
-
-(It also required much CPU effort -
-there was some danger of molten plastic dripping from the bottom of JM's laptop,
-so instead, PAB's Dual-core desktop was kept 50% busy for *days*
-calculating some tables of test values!)
-
-For a specific RealType, say float or double,
-it may be possible to find approximations for some functions
-that are simpler and thus faster, but less accurate
-(perhaps because there are no refining iterations,
-for example, when calculating inverse functions).
-
-If these prove accurate enough to be "fit for his purpose",
-then a user may substitute his custom specialization.
-
-For example, there are approximations dating back from times
-when computation was a *lot* more expensive:
-
-H Goldberg and H Levine, Approximate formulas for
-percentage points and normalisation of t and chi squared,
-Ann. Math. Stat., 17(4), 216 - 225 (Dec 1946).
-
-A H Carter, Approximations to percentage points of the z-distribution,
-Biometrika 34(2), 352 - 358 (Dec 1947).
-
-These could still provide sufficient accuracy for some speed-critical applications.
-
-[h4 Accuracy and Representation of Test Values]
-
-In order to be accurate enough for as many as possible real types,
-constant values are given to 50 decimal digits if available
-(though many sources proved only accurate near to 64-bit double precision).
-Values are specified as long double types by appending L,
-unless they are exactly representable, for example integers, or binary fractions like 0.125.
-This avoids the risk of loss of accuracy converting from double, the default type.
-Values are used after static_cast<RealType>(1.2345L)
-to provide the appropriate RealType for spot tests.
-
-Functions that return constants values, like kurtosis for example, are written as
-
-`static_cast<RealType>(-3) / 5;`
-
-to provide the most accurate value
-that the compiler can compute for the real type.
-(The denominator is an integer and so will be promoted exactly).
-
-So tests for one third, *not* exactly representable with radix two floating-point,
-(should) use, for example:
-
-`static_cast<RealType>(1) / 3;`
-
-If a function is very sensitive to changes in input,
-specifying an inexact value as input (such as 0.1) can throw
-the result off by a noticeable amount: 0.1f is "wrong"
-by ~1e-7 for example (because 0.1 has no exact binary representation).
-That is why exact binary values - halves, quarters, and eighths etc -
-are used in test code along with the occasional fraction `a/b` with `b`
-a power of two (in order to ensure that the result is an exactly
-representable binary value).
-
-[h4 Tolerance of Tests]
-
-The tolerances need to be set to the maximum of:
-
-* Some epsilon value.
-* The accuracy of the data (often only near 64-bit double).
-
-Otherwise when long double has more digits than the test data, then no
-amount of tweaking an epsilon based tolerance will work.
-
-A common problem is when tolerances that are suitable for implementations
-like Microsoft VS.NET where double and long double are the same size:
-tests fail on other systems where long double is more accurate than double.
-Check first that the suffix L is present, and then that the tolerance is big enough.
-
-[h4 Handling Unsuitable Arguments]
-
-In
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1665.pdf Errors in Mathematical Special Functions], J. Marraffino & M. Paterno
-it is proposed that signalling a domain error is mandatory
-when the argument would give an mathematically undefined result.
-
-*Guideline 1
-
-[:A mathematical function is said to be defined at a point a = (a1, a2, . . .)
-if the limits as x = (x1, x2, . . .) 'approaches a from all directions agree'.
-The defined value may be any number, or +infinity, or -infinity.]
-
-Put crudely, if the function goes to + infinity
-and then emerges 'round-the-back' with - infinity,
-it is NOT defined.
-
-[:The library function which approximates a mathematical function shall signal a domain error
-whenever evaluated with argument values for which the mathematical function is undefined.]
-
-*Guideline 2
-
-[:The library function which approximates a mathematical function
-shall signal a domain error whenever evaluated with argument values
-for which the mathematical function obtains a non-real value.]
-
-This implementation is believed to follow these proposals and to assist compatibility with
-['ISO/IEC 9899:1999 Programming languages - C]
-and with the
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Draft Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph 5].
-[link math_toolkit.main_overview.error_handling See also domain_error].
-
-See __policy_ref for details of the error handling policies that should allow
-a user to comply with any of these recommendations, as well as other behaviour.
-
-See [link math_toolkit.main_overview.error_handling error handling]
-for a detailed explanation of the mechanism, and
-[link math_toolkit.dist.stat_tut.weg.error_eg error_handling example]
-and
-[@../../../example/error_handling_example.cpp error_handling_example.cpp]
-
-[caution If you enable throw but do NOT have try & catch block,
-then the program will terminate with an uncaught exception and probably abort.
-Therefore to get the benefit of helpful error messages, enabling *all* exceptions
-*and* using try&catch is recommended for all applications.
-However, for simplicity, this is not done for most examples.]
-
-[h4 Handling of Functions that are Not Mathematically defined]
-
-Functions that are not mathematically defined,
-like the Cauchy mean, fail to compile by default.
-A [link math_toolkit.policy.pol_ref.assert_undefined policy]
-allows control of this.
-
-If the policy is to permit undefined functions, then calling them
-throws a domain error, by default. But the error policy can be set
-to not throw, and to return NaN instead. For example,
-
-`#define BOOST_MATH_DOMAIN_ERROR_POLICY ignore_error`
-
-appears before the first Boost include,
-then if the un-implemented function is called,
-mean(cauchy<>()) will return std::numeric_limits<T>::quiet_NaN().
-
-[warning If `std::numeric_limits<T>::has_quiet_NaN` is false
-(for example T is a User-defined type),
-then an exception will always be thrown when a domain error occurs.
-Catching exceptions is therefore strongly recommended.]
-
-[h4 Median of distributions]
-
-There are many distributions for which we have been unable to find an analytic formula,
-and this has deterred us from implementing
-[@http://en.wikipedia.org/wiki/Median median functions], the mid-point in a list of values.
-
-However a useful numerical approximation for distribution `dist`
-is available as usual as an accessor non-member function median using `median(dist)`,
-that may be evaluated (in the absence of an analytic formula) by calling
-
-`quantile(dist, 0.5)` (this is the /mathematical/ definition of course).
-
-[@http://www.amstat.org/publications/jse/v13n2/vonhippel.html Mean, Median, and Skew, Paul T von Hippel]
-
-[@http://documents.wolfram.co.jp/teachersedition/MathematicaBook/24.5.html Descriptive Statistics,]
-
-[@http://documents.wolfram.co.jp/v5/Add-onsLinks/StandardPackages/Statistics/DescriptiveStatistics.html and ]
-
-[@http://documents.wolfram.com/v5/TheMathematicaBook/AdvancedMathematicsInMathematica/NumericalOperationsOnData/3.8.1.html
-Mathematica Basic Statistics.] give more detail, in particular for discrete distributions.
-
-
-[h4 Handling of Floating-Point Infinity]
-
-Some functions and distributions are well defined with + or - infinity as
-argument(s), but after some experiments with handling infinite arguments
-as special cases, we concluded that it was generally more useful to forbid this,
-and instead to return the result of __domain_error.
-
-Handling infinity as special cases is additionally complicated
-because, unlike built-in types on most - but not all - platforms,
-not all User-Defined Types are
-specialized to provide `std::numeric_limits<RealType>::infinity()`
-and would return zero rather than any representation of infinity.
-
-The rationale is that non-finiteness may happen because of error
-or overflow in the users code, and it will be more helpful for this
-to be diagnosed promptly rather than just continuing.
-The code also became much more complicated, more error-prone,
-much more work to test, and much less readable.
-
-However in a few cases, for example normal, where we felt it obvious,
-we have permitted argument(s) to be infinity,
-provided infinity is implemented for the realType on that implementation.
-
-Users who require special handling of infinity (or other specific value) can,
-of course, always intercept this before calling a distribution or function
-and return their own choice of value, or other behavior.
-This will often be simpler than trying to handle the aftermath of the error policy.
-
-Overflow, underflow, denorm can be handled using __error_policy.
-
-We have also tried to catch boundary cases where the mathematical specification
-would result in divide by zero or overflow and signalling these similarly.
-What happens at (and near), poles can be controlled through __error_policy.
-
-[h4 Scale, Shape and Location]
-
-We considered adding location and scale to the list of functions, for example:
-
- template <class RealType>
- inline RealType scale(const triangular_distribution<RealType>& dist)
- {
- RealType lower = dist.lower();
- RealType mode = dist.mode();
- RealType upper = dist.upper();
- RealType result; // of checks.
- if(false == detail::check_triangular(BOOST_CURRENT_FUNCTION, lower, mode, upper, &result))
- {
- return result;
- }
- return (upper - lower);
- }
-
-but found that these concepts are not defined (or their definition too contentious)
-for too many distributions to be generally applicable.
-Because they are non-member functions, they can be added if required.
-
-[h4 Notes on Implementation of Specific Functions & Distributions]
-
-* Default parameters for the Triangular Distribution.
-We are uncertain about the best default parameters.
-Some sources suggest that the Standard Triangular Distribution has
-lower = 0, mode = half and upper = 1.
-However as a approximation for the normal distribution,
-the most common usage, lower = -1, mode = 0 and upper = 1 would be more suitable.
-
-[h4 Rational Approximations Used]
-
-Some of the special functions in this library are implemented via
-rational approximations. These are either taken from the literature,
-or devised by John Maddock using
-[link math_toolkit.toolkit.internals2.minimax our Remez code].
-
-Rational rather than Polynomial approximations are used to ensure
-accuracy: polynomial approximations are often wonderful up to
-a certain level of accuracy, but then quite often fail to provide much greater
-accuracy no matter how many more terms are added.
-
-Our own approximations were devised either for added accuracy
-(to support 128-bit long doubles for example), or because
-literature methods were unavailable or under non-BSL
-compatible license. Our Remez code is known to produce good
-agreement with literature results in fairly simple "toy" cases.
-All approximations were checked
-for convergence and to ensure that
-they were not ill-conditioned (the coefficients can give a
-theoretically good solution, but the resulting rational function
-may be un-computable at fixed precision).
-
-Recomputing using different
-Remez implementations may well produce differing coefficients: the
-problem is well known to be ill conditioned in general, and our Remez implementation
-often found a broad and ill-defined minima for many of these approximations
-(of course for simple "toy" examples like approximating `exp` the minima
-is well defined, and the coeffiecents should agree no matter whose Remez
-implementation is used). This should not in general effect the validity
-of the approximations: there's good literature supporting the idea that
-coefficients can be "in error" without necessarily adversely effecting
-the result. Note that "in error" has a special meaning in this context,
-see [@http://front.math.ucdavis.edu/0101.5042
-"Approximate construction of rational approximations and the effect
-of error autocorrection.", Grigori Litvinov, eprint arXiv:math/0101042].
-Therefore the coefficients still need to be accurately calculated, even if they can
-be in error compared to the "true" minimax solution.
-
-[h4 Representation of Mathematical Constants]
-
-A macro BOOST_DEFINE_MATH_CONSTANT in constants.hpp is used
-to provide high accuracy constants to mathematical functions and distributions,
-since it is important to provide values uniformly for both built-in
-float, double and long double types,
-and for User Defined types like NTL::quad_float and NTL::RR.
-
-To permit calculations in this Math ToolKit and its tests, (and elsewhere)
-at about 100 decimal digits with NTL::RR type,
-it is obviously necessary to define constants to this accuracy.
-
-However, some compilers do not accept decimal digits strings as long as this.
-So the constant is split into two parts, with the 1st containing at least
-long double precision, and the 2nd zero if not needed or known.
-The 3rd part permits an exponent to be provided if necessary (use zero if none) -
-the other two parameters may only contain decimal digits (and sign and decimal point),
-and may NOT include an exponent like 1.234E99 (nor a trailing F or L).
-The second digit string is only used if T is a User-Defined Type,
-when the constant is converted to a long string literal and lexical_casted to type T.
-(This is necessary because you can't use a numeric constant
-since even a long double might not have enough digits).
-
-For example, pi is defined:
-
- BOOST_DEFINE_MATH_CONSTANT(pi,
- 3.141592653589793238462643383279502884197169399375105820974944,
- 5923078164062862089986280348253421170679821480865132823066470938446095505,
- 0)
-
-And used thus:
-
- using namespace boost::math::constants;
-
- double diameter = 1.;
- double radius = diameter * pi<double>();
-
- or boost::math::constants::pi<NTL::RR>()
-
-Note that it is necessary (if inconvenient) to specify the type explicitly.
-
-So you cannot write
-
- double p = boost::math::constants::pi<>(); // could not deduce template argument for 'T'
-
-Neither can you write:
-
- double p = boost::math::constants::pi; // Context does not allow for disambiguation of overloaded function
- double p = boost::math::constants::pi(); // Context does not allow for disambiguation of overloaded function
-
-[h4 Thread safety]
-
-Reporting of error by setting errno should be thread safe already
-(otherwise none of the std lib math functions would be thread safe?).
-If you turn on reporting of errors via exceptions, errno gets left unused anyway.
-
-Other than that, the code is intended to be thread safe *for built in
-real-number types* : so float, double and long double are all thread safe.
-
-For non-built-in types - NTL::RR for example - initialisation of the various
-constants used in the implementation is potentially *not* thread safe.
-This most undesiable, but it would be a signficant challenge to fix it.
-Some compilers may offer the option of having
-static-constants initialised in a thread safe manner (Commeau, and maybe
-others?), if that's the case then the problem is solved. This is a topic of
-hot debate for the next C++ std revision, so hopefully all compilers
-will be required to do the right thing here at some point.
-
-[h4 Sources of Test Data]
-
-We found a large number of sources of test data.
-We have assumed that these are /"known good"/
-if they agree with the results from our test
-and only consulted other sources for their /'vote'/
-in the case of serious disagreement.
-The accuracy, actual and claimed, vary very widely.
-Only [@http://functions.wolfram.com/ Wolfram Mathematica functions]
-provided a higher accuracy than
-C++ double (64-bit floating-point) and was regarded as
-the most-trusted source by far.
-The __R provided the widest range of distributions,
-but the usual Intel X86 distribution uses 64-but doubles,
-so our use was limited to the 15 to 17 decimal digit accuracy.
-
-A useful index of sources is:
-[@http://www.sal.hut.fi/Teaching/Resources/ProbStat/table.html
-Web-oriented Teaching Resources in Probability and Statistics]
-
-[@http://espse.ed.psu.edu/edpsych/faculty/rhale/hale/507Mat/statlets/free/pdist.htm Statlet]:
-Is a Javascript application that calculates and plots probability distributions,
-and provides the most complete range of distributions:
-
-[:Bernoulli, Binomial, discrete uniform, geometric, hypergeometric,
-negative binomial, Poisson, beta, Cauchy-Lorentz, chi-sequared, Erlang,
-exponential, extreme value, Fisher, gamma, Laplace, logistic,
-lognormal, normal, Parteo, Student's t, triangular, uniform, and Weibull.]
-
-It calculates pdf, cdf, survivor, log survivor, hazard, tail areas,
-& critical values for 5 tail values.
-
-It is also the only independent source found for the Weibull distribution;
-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]
-
-Equations that fit on a single line can most easily be produced by inline Quickbook code
-using templates for Unicode Greek and Unicode Math symbols.
-All Greek letter and small set of Math symbols is available at
-/boost-path/libs/math/doc/sf_and_dist/html4_symbols.qbk
-
-Where equations need to use more than one line, real Math editors were used.
-
-The primary source for the equations is now
-[@http://www.w3.org/Math/ MathML]: see the
-*.mml files in libs\/math\/doc\/sf_and_dist\/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.
-
-Conversion 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
-]
-
-See also the section on "Using Python to run Inkscape" and
-"Using inkscape to convert scalable vector SVG files to Portable Network graphic PNG".
-
-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 XP system
-JM's font setup is the same as the sample config file provided with SVGMath
-but with:
-
-[pre
- <!\-\- Double\-struck \-\->
- <mathvariant name\="double\-struck" family\="Mathematica7, Lucida Sans Unicode"\/>
-]
-
-changed to:
-
-[pre
- <!\-\- Double\-struck \-\->
- <mathvariant name\="double\-struck" family\="Lucida Sans Unicode"\/>
-]
-
-Note that unlike the sample config file supplied with SVGMath, this does not
-make use of the [@http://support.wolfram.com/technotes/fonts/windows/latestfonts.html 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 SVGs 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]
-
-Or using Inkscape (File, Export bitmap, Drawing tab, bitmap size (default size, 100 dpi), Filename (default). png)
-
-or Using Cygwin, a command such as:
-
-[pre for file in *.svg; do
- /cygdrive/c/progra~1/Inkscape/inkscape -d 120 -e $(cygpath -a -w $(basename $file .svg).png) $(cygpath -a -w $file);
-done]
-
-Currently Inkscape seems to generate the better looking png's.
-
-The PDF is generated into \pdf\math.pdf
-using a command from a shell or command window with current directory
-\math_toolkit\libs\math\doc\sf_and_dist, typically:
-
-[pre bjam -a pdf >math_pdf.log]
-
-Note that XEP will have to be configured to *use and embed*
-whatever fonts are used by the SVG equations
-(almost certainly editing the sample xep.xml provided by the XEP installation).
-If you fail to do this you will get XEP warnings in the log file like
-
-[pre \[warning\]could not find any font family matching "Times New Roman"; replaced by Helvetica]
-
-(html is the default so it is generated at math_toolkit\libs\math\doc\sf_and_dist\html\index.html
-using command line >bjam -a > math_docs.log).
-
- <!-- Sample configuration for Windows TrueType fonts. -->
-is provided in the xep.xml downloaded, but the Windows TrueType fonts are commented out.
-
-JM's XEP config file \xep\xep.xml has the following font configuration section added:
-
-[pre
- <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> -->
- <!-- actually called l_10646.ttf on Windows 2000 and Vista Sp1 -->
- <font><font-data ttf="l_10646.ttf"/></font>
- </font-family>
-]
-
-PAB had to alter his because the Lucida Sans Unicode font had a different name.
-Other changes are very likely to be required if you are not using Windows.
-
-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.
-
-[h4 Producing Graphs]
-
-Graphs were produced in SVG format and then converted to PNG's using the same
-process as the equations.
-
-The programs
-`/libs/math/doc/sf_and_dist/graphs/dist_graphs.cpp`
-and `/libs/math/doc/sf_and_dist/graphs/sf_graphs.cpp`
-generate the SVG's directly using the
-[@http://code.google.com/soc/2007/boost/about.html Google Summer of Code 2007]
-project of Jacob Voytko (whose work so far,
-considerably enhanced and now reasonably mature and usable, by Paul A. Bristow,
-is at .\boost-sandbox\SOC\2007\visualization).
-
-[endsect] [/section:implementation Implementation Notes]
-
-[/
- Copyright 2006, 2007, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
diff --git a/libs/math/doc/sf_and_dist/internals_overview.qbk b/libs/math/doc/sf_and_dist/internals_overview.qbk
deleted file mode 100644
index 16f0ba0b49..0000000000
--- a/libs/math/doc/sf_and_dist/internals_overview.qbk
+++ /dev/null
@@ -1,21 +0,0 @@
-[section:internals_overview Overview]
-
-This section contains internal utilities used by the library's implementation
-along with tools used in development and testing. These tools have
-only minimal documentation, and crucially ['do not have stable interfaces].
-
-There is no doubt that these components can be improved, but they are also
-largely incidental to the main purpose of this library.
-
-These tools are designed to "just get the job done", and receive minimal
-documentation here, in the hopes that they will help stimulate further
-submissions to this library.
-
-[endsect][/section:internals_overview Overview]
-
-[/
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/inv_hyper.qbk b/libs/math/doc/sf_and_dist/inv_hyper.qbk
deleted file mode 100644
index ae9b48a37b..0000000000
--- a/libs/math/doc/sf_and_dist/inv_hyper.qbk
+++ /dev/null
@@ -1,279 +0,0 @@
-[/ math.qbk
- Copyright 2006 Hubert Holin and John Maddock.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[def __form1 [^\[0;+'''&#x221E;'''\[]]
-[def __form2 [^\]-'''&#x221E;''';+1\[]]
-[def __form3 [^\]-'''&#x221E;''';-1\[]]
-[def __form4 [^\]+1;+'''&#x221E;'''\[]]
-[def __form5 [^\[-1;-1+'''&#x03B5;'''\[]]
-[def __form6 '''&#x03B5;''']
-[def __form7 [^\]+1-'''&#x03B5;''';+1\]]]
-
-[def __effects [*Effects: ]]
-[def __formula [*Formula: ]]
-[def __exm1 '''<code>e<superscript>x</superscript> - 1</code>'''[space]]
-[def __ex '''<code>e<superscript>x</superscript></code>''']
-[def __te '''2&#x03B5;''']
-
-[section:inv_hyper Inverse Hyperbolic Functions]
-
-[section:inv_hyper_over Inverse Hyperbolic Functions Overview]
-
-The exponential funtion is defined, for all objects for which this makes sense,
-as the power series
-[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,
-among others.
-
-[: ['[*Graph of exp on R]] ]
-
-[: [$../graphs/exp_on_r.png] ]
-
-[: ['[*Real and Imaginary parts of exp on C]]]
-[: [$../graphs/im_exp_on_c.png]]
-
-The hyperbolic functions are defined as power series which
-can be computed (for reals, complex, quaternions and octonions) as:
-
-Hyperbolic cosine: [equation special_functions_blurb5]
-
-Hyperbolic sine: [equation special_functions_blurb6]
-
-Hyperbolic tangent: [equation special_functions_blurb7]
-
-[: ['[*Trigonometric functions on R (cos: purple; sin: red; tan: blue)]]]
-[: [$../graphs/trigonometric.png]]
-
-[: ['[*Hyperbolic functions on r (cosh: purple; sinh: red; tanh: blue)]]]
-[: [$../graphs/hyperbolic.png]]
-
-The hyperbolic sine is one to one on the set of real numbers,
-with range the full set of reals, while the hyperbolic tangent is
-also one to one on the set of real numbers but with range __form1, and
-therefore both have inverses. The hyperbolic cosine is one to one from __form2
-onto __form3 (and from __form4 onto __form3); the inverse function we use
-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 [equation special_functions_blurb15].
-
-The inverse of the hyperbolic sine is called the Argument hyperbolic sine,
-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 [equation special_functions_blurb18].
-
-[endsect]
-
-[section:acosh acosh]
-
-``
-#include <boost/math/special_functions/acosh.hpp>
-``
-
- template<class T>
- ``__sf_result`` acosh(const T x);
-
- template<class T, class ``__Policy``>
- ``__sf_result`` acosh(const T x, const ``__Policy``&);
-
-Computes the reciprocal of (the restriction to the range of __form1)
-[link math_toolkit.special.inv_hyper.inv_hyper_over
-the hyperbolic cosine function], at x. Values returned are positive.
-
-If x is in the range __form2 then returns the result of __domain_error.
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the return type is `double` when T is an integer type, and T otherwise.
-
-[optional_policy]
-
-[graph acosh]
-
-[h4 Accuracy]
-
-Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
-
-[h4 Testing]
-
-This function is tested using a combination of random test values designed to give
-full function coverage computed at high precision using the "naive" formula:
-
-[equation acosh1]
-
-along with a selection of sanity check values
-computed using functions.wolfram.com to at least 50 decimal digits.
-
-[h4 Implementation]
-
-For sufficiently large x, we can use the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/06/01/0001/
-approximation]:
-
-[equation acosh2]
-
-For x sufficiently close to 1 we can use the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/04/01/0001/
-approximation]:
-
-[equation acosh4]
-
-Otherwise for x close to 1 we can use the following rearrangement of the
-primary definition to preserve accuracy:
-
-[equation acosh3]
-
-Otherwise the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcCosh/02/
-primary definition] is used:
-
-[equation acosh1]
-
-[endsect]
-
-[section:asinh asinh]
-
-``
-#include <boost/math/special_functions/asinh.hpp>
-``
-
- template<class T>
- ``__sf_result`` asinh(const T x);
-
- template<class T, class ``__Policy``>
- ``__sf_result`` asinh(const T x, const ``__Policy``&);
-
-Computes the reciprocal of
-[link math_toolkit.special.inv_hyper.inv_hyper_over
-the hyperbolic sine function].
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the return type is `double` when T is an integer type, and T otherwise.
-
-[graph asinh]
-
-[optional_policy]
-
-[h4 Accuracy]
-
-Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
-
-[h4 Testing]
-
-This function is tested using a combination of random test values designed to give
-full function coverage computed at high precision using the "naive" formula:
-
-[equation asinh1]
-
-along with a selection of sanity check values
-computed using functions.wolfram.com to at least 50 decimal digits.
-
-[h4 Implementation]
-
-For sufficiently large x we can use the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/06/01/0001/
-approximation]:
-
-[equation asinh2]
-
-While for very small x we can use the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/03/01/0001/
-approximation]:
-
-[equation asinh3]
-
-For 0.5 > x > [epsilon] the following rearrangement of the primary definition is used:
-
-[equation asinh4]
-
-Otherwise evalution is via the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcSinh/02/
-primary definition]:
-
-[equation asinh4]
-
-[endsect]
-
-[section:atanh atanh]
-
-``
-#include <boost/math/special_functions/atanh.hpp>
-``
-
- template<class T>
- ``__sf_result`` atanh(const T x);
-
- template<class T, class ``__Policy``>
- ``__sf_result`` atanh(const T x, const ``__Policy``&);
-
-Computes the reciprocal of
-[link math_toolkit.special.inv_hyper.inv_hyper_over
-the hyperbolic tangent function], at x.
-
-[optional_policy]
-
-If x is in the range
-__form3
-or in the range
-__form4
-then returns the result of __domain_error.
-
-If x is in the range
-__form5,
-then the result of -__overflow_error is returned, with
-__form6[space]
-denoting numeric_limits<T>::epsilon().
-
-If x is in the range
-__form7,
-then the result of __overflow_error is returned, with
-__form6[space]
-denoting
-numeric_limits<T>::epsilon().
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the return type is `double` when T is an integer type, and T otherwise.
-
-[graph atanh]
-
-[h4 Accuracy]
-
-Generally accuracy is to within 1 or 2 epsilon across all supported platforms.
-
-[h4 Testing]
-
-This function is tested using a combination of random test values designed to give
-full function coverage computed at high precision using the "naive" formula:
-
-[equation atanh1]
-
-along with a selection of sanity check values
-computed using functions.wolfram.com to at least 50 decimal digits.
-
-[h4 Implementation]
-
-For sufficiently small x we can use the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcTanh/06/01/03/01/ approximation]:
-
-[equation atanh2]
-
-Otherwise the
-[@http://functions.wolfram.com/ElementaryFunctions/ArcTanh/02/ primary definition]:
-
-[equation atanh1]
-
-or its equivalent form:
-
-[equation atanh3]
-
-is used.
-
-[endsect]
-
-[endsect]
diff --git a/libs/math/doc/sf_and_dist/issues.qbk b/libs/math/doc/sf_and_dist/issues.qbk
deleted file mode 100644
index 5954a3f656..0000000000
--- a/libs/math/doc/sf_and_dist/issues.qbk
+++ /dev/null
@@ -1,155 +0,0 @@
-[section:issues Known Issues, and TODO List]
-
-Predominantly this is a TODO list, or a list of possible
-future enhancements. Items labled "High Priority" effect
-the proper functioning of the component, and should be fixed
-as soon as possible. Items labled "Medium Priority" are
-desirable enhancements, often pertaining to the performance
-of the component, but do not effect it's accuracy or functionality.
-Items labled "Low Priority" should probably be investigated at
-some point. Such classifications are obviously highly subjective.
-
-If you don't see a component listed here, then we don't have any known
-issues with it.
-
-[h4 tgamma]
-
-* Can the __lanczos be optimized any further? (low priority)
-
-[h4 Incomplete Beta]
-
-* Investigate Didonato and Morris' asymptotic expansion for large a and b
-(medium priority).
-
-[h4 Inverse Gamma]
-
-* Investigate whether we can skip iteration altogether if the first approximation
-is good enough (Medium Priority).
-
-[h4 Polynomials]
-
-* The Legendre and Laguerre Polynomials have surprisingly different error
-rates on different platforms, considering they are evaluated with only
-basic arithmetic operations. Maybe this is telling us something, or maybe not
-(Low Priority).
-
-[h4 Elliptic Integrals]
-
-* Carlson's algorithms are essentially unchanged from Xiaogang Zhang's
-Google Summer of Code student project, and are based on Carlson's
-original papers. However, Carlson has revised his algorithms since then
-(refer to the references in the elliptic integral docs for a list), to
-improve performance and accuracy, we may be able to take advantage
-of these improvements too (Low Priority).
-* [para Carlson's algorithms (mainly R[sub J]) are somewhat prone to
-internal overflow/underflow when the arguments are very large or small.
-The homogeneity relations:]
-[para R[sub F](ka, kb, kc) = k[super -1/2] R[sub F](a, b, c)]
-[para and]
-[para R[sub J](ka, kb, kc, kr) = k[super -3/2] R[sub J](a, b, c, r)]
-[para could be used to sidestep trouble here: provided the problem domains
-can be accurately identified. (Medium Priority).]
-* Carlson's R[sub C] can be reduced to elementary funtions (asin and log),
-would it be more efficient evaluated this way, rather than by Carlson's
-algorithms? (Low Priority).
-* Should we add an implementation of Carlson's R[sub G]? It's not
-required for the Legendre form integrals, but some people may find it
-useful (Low Priority).
-* There are a several other integrals: D([phi], k), Z([beta], k),
-[Lambda][sub 0]([beta], k) and Bulirsch's ['el] functions that could
-be implemented using Carlson's integrals (Low Priority).
-* The integrals K(k) and E(k) could be implemented using rational
-approximations (both for efficiency and accuracy),
-assuming we can find them. (Medium Priority).
-* There is a sub-domain of __ellint_3 that is unimplemented (see the docs
-for details), currently
-it's not clear how to solve this issue, or if it's ever likely
-to be an real problem in practice - especially as most other implementations
-don't support this domain either (Medium Priority).
-
-[h4 Owen's T Function]
-
-There is a problem area at arbitrary precision when ['a] is very close to 1. However, note that
-the value for ['T(h, 1)] is well known and easy to compute, and if we replaced the
-['a[super k]] terms in series T1, T2 or T4 by ['(a[super k] - 1)] then we would have the
-difference between ['T(h, a)] and ['T(h, 1)]. Unfortunately this doesn't improve the
-convergence of those series in that area. It certainly looks as though a new series in terms
-of ['(1-a)[super k]] is both possible and desirable in this area, but it remains elusive at present.
-
-[h4 Jocobi elliptic functions]
-
-These are useful in engineering applications - we have had a request to add these.
-
-[h4 Statistical distributions]
-
-* Student's t Perhaps switch to normal distribution
-as a better approximation for very large degrees of freedom?
-
-[h4 Feature Requests]
-
-The following table lists distributions that are found in other packages
-but which are not yet present here, the more frequently the distribution
-is found, the higher the priority for implementing it:
-
-[table
-[[Distribution][R][Mathematica 6][NIST][Regress+][Matlab]]
-
-[/3 votes:]
-[[Geometric][X][X][-][-][X]]
-
-[/2 votes:]
-[[Multinomial][X][-][-][-][X]]
-[[Tukey Lambda][X][-][X][-][-]]
-[[Half Normal / Folded Normal][-][X][-][X][-]]
-[[Chi][-][X][-][X][-]]
-[[Gumbel][-][X][-][X][-]]
-[[Discrete Uniform][-][X][-][-][X]]
-[[Log Series][-][X][-][X][-]]
-[[Nakagami (generalised Chi)][-][-][-][X][X]]
-
-[/1 vote:]
-[[Log Logistic][-][-][-][-][X]]
-[[Tukey (Studentized range)][X][-][-][-][-]]
-[[Wilcoxon rank sum][X][-][-][-][-]]
-[[Wincoxon signed rank][X][-][-][-][-]]
-[[Non-central Beta][X][-][-][-][-]]
-[[Maxwell][-][X][-][-][-]]
-[[Beta-Binomial][-][X][-][-][-]]
-[[Beta-negative Binomial][-][X][-][-][-]]
-[[Zipf][-][X][-][-][-]]
-[[Birnbaum-Saunders / Fatigue Life][-][-][X][-][-]]
-[[Double Exponential][-][-][X][-][-]]
-[[Power Normal][-][-][X][-][-]]
-[[Power Lognormal][-][-][X][-][-]]
-[[Cosine][-][-][-][X][-]]
-[[Double Gamma][-][-][-][X][-]]
-[[Double Weibul][-][-][-][X][-]]
-[[Hyperbolic Secant][-][-][-][X][-]]
-[[Semicircular][-][-][-][X][-]]
-[[Bradford][-][-][-][X][-]]
-[[Birr / Fisk][-][-][-][X][-]]
-[[Reciprocal][-][-][-][X][-]]
-
-[/0 votes but useful anyway?]
-[[Kolmogorov Distribution][-][-][-][-][-]]
-]
-
-Also asked for more than once:
-
-* Add support for interpolated distributions, possibly combine with numeric
-integration and differentiation.
-* Add support for bivariate and multivariate distributions: most especially the normal.
-* Add support for the log of the cdf and pdf:
-this is mainly a performance optimisation since we can avoid
-some special function calls for some distributions
-by returning the log of the result.
-
-[endsect] [/section:issues Known Issues, and Todo List]
-
-[/
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/lanczos.qbk b/libs/math/doc/sf_and_dist/lanczos.qbk
deleted file mode 100644
index 3fd253d849..0000000000
--- a/libs/math/doc/sf_and_dist/lanczos.qbk
+++ /dev/null
@@ -1,246 +0,0 @@
-[section:lanczos The Lanczos Approximation]
-
-[h4 Motivation]
-
-['Why base gamma and gamma-like functions on the Lanczos approximation?]
-
-First of all I should make clear that for the gamma function
-over real numbers (as opposed to complex ones)
-the Lanczos approximation (See [@http://en.wikipedia.org/wiki/Lanczos_approximation Wikipedia or ]
-[@http://mathworld.wolfram.com/LanczosApproximation.html Mathworld])
-appears to offer no clear advantage over more traditional methods such as
-[@http://en.wikipedia.org/wiki/Stirling_approximation Stirling's approximation].
-__pugh carried out an extensive comparison of the various methods available
-and discovered that they were all very similar in terms of complexity
-and relative error. However, the Lanczos approximation does have a couple of
-properties that make it worthy of further consideration:
-
-* The approximation has an easy to compute truncation error that holds for
-all /z > 0/. In practice that means we can use the same approximation for all
-/z > 0/, and be certain that no matter how large or small /z/ is, the truncation
-error will /at worst/ be bounded by some finite value.
-* The approximation has a form that is particularly amenable to analytic
-manipulation, in particular ratios of gamma or gamma-like functions
-are particularly easy to compute without resorting to logarithms.
-
-It is the combination of these two properties that make the approximation
-attractive: Stirling's approximation is highly accurate for large z, and
-has some of the same analytic properties as the Lanczos approximation, but
-can't easily be used across the whole range of z.
-
-As the simplest example, consider the ratio of two gamma functions: one could
-compute the result via lgamma:
-
- exp(lgamma(a) - lgamma(b));
-
-However, even if lgamma is uniformly accurate to 0.5ulp, the worst case
-relative error in the above can easily be shown to be:
-
- Erel > a * log(a)/2 + b * log(b)/2
-
-For small /a/ and /b/ that's not a problem, but to put the relationship another
-way: ['each time a and b increase in magnitude by a factor of 10, at least one
-decimal digit of precision will be lost.]
-
-In contrast, by analytically combining like power
-terms in a ratio of Lanczos approximation's, these errors can be virtually eliminated
-for small /a/ and /b/, and kept under control for very large (or very small
-for that matter) /a/ and /b/. Of course, computing large powers is itself a
-notoriously hard problem, but even so, analytic combinations of Lanczos
-approximations can make the difference between obtaining a valid result, or
-simply garbage. Refer to the implementation notes for the __beta function for
-an example of this method in practice. The incomplete
-[link math_toolkit.special.sf_gamma.igamma gamma_p gamma] and
-[link math_toolkit.special.sf_beta.ibeta_function beta] functions
-use similar analytic combinations of power terms, to combine gamma and beta
-functions divided by large powers into single (simpler) expressions.
-
-[h4 The Approximation]
-
-The Lanczos Approximation to the Gamma Function is given by:
-
-[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:
-
-[equation lanczos0a]
-
-With individual coefficients defined in closed form by:
-
-[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
-we're multiplying by a series of numbers very close to 1, so roundoff errors
-can accumulate quite rapidly).
-
-The Lanczos approximation is therefore often written in partial fraction form
-with the leading constants absorbed by the coefficients in the sum:
-
-[equation lanczos1]
-
-where:
-
-[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.
-
-[note
-Some authors
-choose to define the sum from k=1 to N, and hence end up with N+1 coefficients.
-This happens to confuse both the following discussion and the code (since C++
-deals with half open array ranges, rather than the closed range of the sum).
-This convention is consistent with __godfrey, but not __pugh, so take care
-when referring to the literature in this field.]
-
-[h4 Computing the Coefficients]
-
-The coefficients C0..CN-1 need to be computed from /N/ and /g/
-at high precision, and then stored as part of the program.
-Calculation of the coefficients is performed via the method of __godfrey;
-let the constants be contained in a column vector P, then:
-
-P = B D C F
-
-where B is an NxN matrix:
-
-[equation lanczos4]
-
-D is an NxN matrix:
-
-[equation lanczos3]
-
-C is an NxN matrix:
-
-[equation lanczos5]
-
-and F is an N element column vector:
-
-[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
-by /F/ as the last step.
-
-[h4 Choosing the Right Parameters]
-
-The trick is to choose
-/N/ and /g/ to give the desired level of accuracy: choosing a small value for
-/g/ leads to a strictly convergent series, but one which converges only slowly.
-Choosing a larger value of /g/ causes the terms in the series to be large
-and\/or divergent for about the first /g-1/ terms, and to then suddenly converge
-with a "crunch".
-
-__pugh has determined the optimal
-value of /g/ for /N/ in the range /1 <= N <= 60/: unfortunately in practice choosing
-these values leads to cancellation errors in the Lanczos sum as the largest
-term in the (alternating) series is approximately 1000 times larger than the result.
-These optimal values appear not to be useful in practice unless the evaluation
-can be done with a number of guard digits /and/ the coefficients are stored
-at higher precision than that desired in the result. These values are best
-reserved for say, computing to float precision with double precision arithmetic.
-
-[table Optimal choices for N and g when computing with guard digits (source: Pugh)
-[[Significand Size] [N] [g][Max Error]]
-[[24] [6] [5.581][9.51e-12]]
-[[53][13][13.144565][9.2213e-23]]
-]
-
-The alternative described by __godfrey is to perform an exhaustive
-search of the /N/ and /g/ parameter space to determine the optimal combination for
-a given /p/ digit floating-point type. Repeating this work found a good
-approximation for double precision arithmetic (close to the one __godfrey found),
-but failed to find really
-good approximations for 80 or 128-bit long doubles. Further it was observed
-that the approximations obtained tended to optimised for the small values
-of z (1 < z < 200) used to test the implementation against the factorials.
-Computing ratios of gamma functions with large arguments were observed to
-suffer from error resulting from the truncation of the Lancozos series.
-
-__pugh identified all the locations where the theoretical error of the
-approximation were at a minimum, but unfortunately has published only the largest
-of these minima. However, he makes the observation that the minima
-coincide closely with the location where the first neglected term (a[sub N]) in the
-Lanczos series S[sub g](z) changes sign. These locations are quite easy to
-locate, albeit with considerable computer time. These "sweet spots" need
-only be computed once, tabulated, and then searched when required for an
-approximation that delivers the required precision for some fixed precision
-type.
-
-Unfortunately, following this path failed to find a really good approximation
-for 128-bit long doubles, and those found for 64 and 80-bit reals required an
-excessive number of terms. There are two competing issues here: high precision
-requires a large value of /g/, but avoiding cancellation errors in the evaluation
-requires a small /g/.
-
-At this point note that the Lanczos sum can be converted into rational form
-(a ratio of two polynomials, obtained from the partial-fraction form using
-polynomial arithmetic),
-and doing so changes the coefficients so that /they are all positive/. That
-means that the sum in rational form can be evaluated without cancellation
-error, albeit with double the number of coefficients for a given N. Repeating
-the search of the "sweet spots", this time evaluating the Lanczos sum in
-rational form, and testing only those "sweet spots" whose theoretical error
-is less than the machine epsilon for the type being tested, yielded good
-approximations for all the types tested. The optimal values found were quite
-close to the best cases reported by __pugh (just slightly larger /N/ and slightly
-smaller /g/ for a given precision than __pugh reports), and even though converting
-to rational form doubles the number of stored coefficients, it should be
-noted that half of them are integers (and therefore require less storage space)
-and the approximations require a smaller /N/ than would otherwise be required,
-so fewer floating point operations may be required overall.
-
-The following table shows the optimal values for /N/ and /g/ when computing
-at fixed precision. These should be taken as work in progress: there are no
-values for 106-bit significand machines (Darwin long doubles & NTL quad_float),
-and further optimisation of the values of /g/ may be possible.
-Errors given in the table
-are estimates of the error due to truncation of the Lanczos infinite series
-to /N/ terms. They are calculated from the sum of the first five neglected
-terms - and are known to be rather pessimistic estimates - although it is noticeable
-that the best combinations of /N/ and /g/ occurred when the estimated truncation error
-almost exactly matches the machine epsilon for the type in question.
-
-[table Optimum value for N and g when computing at fixed precision
-[[Significand Size][Platform/Compiler Used][N][g][Max Truncation Error]]
-[[24][Win32, VC++ 7.1] [6] [1.428456135094165802001953125][9.41e-007]]
-[[53][Win32, VC++ 7.1] [13] [6.024680040776729583740234375][3.23e-016]]
-[[64][Suse Linux 9 IA64, gcc-3.3.3] [17] [12.2252227365970611572265625][2.34e-024]]
-[[116][HP Tru64 Unix 5.1B \/ Alpha, Compaq C++ V7.1-006] [24] [20.3209821879863739013671875][4.75e-035]]
-]
-
-Finally note that the Lanczos approximation can be written as follows
-by removing a factor of exp(g) from the denominator, and then dividing
-all the coefficients by exp(g):
-
-[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
-inexact value: this reduces accuracy in the common case that
-the input is exact, and so isn't used for the gamma function.
-
-[h4 References]
-
-# [#godfrey]Paul Godfrey, [@http://my.fit.edu/~gabdo/gamma.txt "A note on the computation of the convergent
-Lanczos complex Gamma approximation"].
-# [#pugh]Glendon Ralph Pugh,
-[@http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf
-"An Analysis of the Lanczos Gamma Approximation"],
-PhD Thesis November 2004.
-# Viktor T. Toth,
-[@http://www.rskey.org/gamma.htm "Calculators and the Gamma Function"].
-# Mathworld, [@http://mathworld.wolfram.com/LanczosApproximation.html
-The Lanczos Approximation].
-
-[endsect][/section:lanczos The Lanczos Approximation]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/lgamma.qbk b/libs/math/doc/sf_and_dist/lgamma.qbk
deleted file mode 100644
index f373840c29..0000000000
--- a/libs/math/doc/sf_and_dist/lgamma.qbk
+++ /dev/null
@@ -1,217 +0,0 @@
-[section:lgamma Log Gamma]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/gamma.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` lgamma(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` lgamma(T z, const ``__Policy``&);
-
- template <class T>
- ``__sf_result`` lgamma(T z, int* sign);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` lgamma(T z, int* sign, const ``__Policy``&);
-
- }} // namespaces
-
-[h4 Description]
-
-The [@http://en.wikipedia.org/wiki/Gamma_function lgamma function] is defined by:
-
-[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).
-
-[optional_policy]
-
-[graph lgamma]
-
-There are effectively two versions of this function internally: a fully
-generic version that is slow, but reasonably accurate, and a much more
-efficient approximation that is used where the number of digits in the significand
-of T correspond to a certain __lanczos. In practice, any built-in
-floating-point type you will encounter has an appropriate __lanczos
-defined for it. It is also possible, given enough machine time, to generate
-further __lanczos's using the program libs/math/tools/lanczos_generator.cpp.
-
-The return type of these functions is computed using the __arg_pomotion_rules:
-the result is of type `double` if T is an integer type, or type T otherwise.
-
-[h4 Accuracy]
-
-The following table shows the peak errors (in units of epsilon)
-found on various platforms
-with various floating point types, along with comparisons to the
-__gsl, __glibc, __hpc and
-__cephes libraries. Unless otherwise specified any
-floating point type that is narrower than the one shown will have
-__zero_error.
-
-Note that while the relative errors near the positive roots of lgamma
-are very low, the lgamma function has an infinite number of irrational
-roots for negative arguments: very close to these negative roots only
-a low absolute error can be guaranteed.
-
-[table
-[[Significand Size] [Platform and Compiler] [Factorials and Half factorials] [Values Near Zero] [Values Near 1 or 2] [Values Near a Negative Pole]]
-[[53] [Win32 Visual C++ 8]
-[Peak=0.88 Mean=0.14
-
-(GSL=33) (__cephes=1.5)]
-[Peak=0.96 Mean=0.46
-
-(GSL=5.2) (__cephes=1.1)]
-[Peak=0.86 Mean=0.46
-
-(GSL=1168) (__cephes~500000)]
-[Peak=4.2 Mean=1.3
-
-(GSL=25) (__cephes=1.6)] ]
-[[64] [Linux IA32 / GCC]
-[Peak=1.9 Mean=0.43
-
-(__glibc Peak=1.7 Mean=0.49)]
-[Peak=1.4 Mean=0.57
-
-(__glibc Peak= 0.96 Mean=0.54)]
-[Peak=0.86 Mean=0.35
-
-(__glibc Peak=0.74 Mean=0.26)]
-
-[Peak=6.0 Mean=1.8
-
-(__glibc Peak=3.0 Mean=0.86)] ]
-[[64] [Linux IA64 / GCC]
-[Peak=0.99 Mean=0.12
-
-(__glibc Peak 0)]
-
-[Pek=1.2 Mean=0.6
-
-(__glibc Peak 0)]
-[Peak=0.86 Mean=0.16
-
-(__glibc Peak 0)]
-[Peak=2.3 Mean=0.69
-
-(__glibc Peak 0)] ]
-[[113] [HPUX IA64, aCC A.06.06]
-[Peak=0.96 Mean=0.13
-
-(__hpc Peak 0)]
-[Peak=0.99 Mean=0.53
-
-(__hpc Peak 0)]
-[Peak=0.9 Mean=0.4
-
-(__hpc Peak 0)]
-[Peak=3.0 Mean=0.9
-
-(__hpc Peak 0)] ]
-]
-
-[h4 Testing]
-
-The main tests for this function involve comparisons against the logs of
-the factorials which can be independently calculated to very high accuracy.
-
-Random tests in key problem areas are also used.
-
-[h4 Implementation]
-
-The generic version of this function is implemented by combining the series and
-continued fraction representations for the incomplete gamma function:
-
-[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:
-
-[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:
-
-[equation lgamm4]
-
-Where L[sub e,g][space] is the Lanczos sum, scaled by e[super g].
-
-As before the reflection formula is used for /z < 0/.
-
-When z is very near 1 or 2, then the logarithmic version of the __lanczos
-suffers very badly from cancellation error: indeed for values sufficiently
-close to 1 or 2, arbitrarily large relative errors can be obtained (even though
-the absolute error is tiny).
-
-For types with up to 113 bits of precision
-(up to and including 128-bit long doubles), root-preserving
-rational approximations [jm_rationals] are used
-over the intervals [1,2] and [2,3]. Over the interval [2,3] the approximation
-form used is:
-
- lgamma(z) = (z-2)(z+1)(Y + R(z-2));
-
-Where Y is a constant, and R(z-2) is the rational approximation: optimised
-so that it's absolute error is tiny compared to Y. In addition
-small values of z greater
-than 3 can handled by argument reduction using the recurrence relation:
-
- lgamma(z+1) = log(z) + lgamma(z);
-
-Over the interval [1,2] two approximations have to be used, one for small z uses:
-
- lgamma(z) = (z-1)(z-2)(Y + R(z-1));
-
-Once again Y is a constant, and R(z-1) is optimised for low absolute error
-compared to Y. For z > 1.5 the above form wouldn't converge to a
-minimax solution but this similar form does:
-
- lgamma(z) = (2-z)(1-z)(Y + R(2-z));
-
-Finally for z < 1 the recurrence relation can be used to move to z > 1:
-
- lgamma(z) = lgamma(z+1) - log(z);
-
-Note that while this involves a subtraction, it appears not
-to suffer from cancellation error: as z decreases from 1
-the `-log(z)` term grows positive much more
-rapidly than the `lgamma(z+1)` term becomes negative. So in this
-specific case, significant digits are preserved, rather than cancelled.
-
-For other types which do have a __lanczos defined for them
-the current solution is as follows: imagine we
-balance the two terms in the __lanczos by dividing the power term by its value
-at /z = 1/, and then multiplying the Lanczos coefficients by the same value.
-Now each term will take the value 1 at /z = 1/ and we can rearrange the power terms
-in terms of log1p. Likewise if we subtract 1 from the Lanczos sum part
-(algebraically, by subtracting the value of each term at /z = 1/), we obtain
-a new summation that can be also be fed into log1p. Crucially, all of the
-terms tend to zero, as /z -> 1/:
-
-[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/:
-
-[equation lgamm6]
-
-[endsect][/section:lgamma The Log Gamma Function]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/math.qbk b/libs/math/doc/sf_and_dist/math.qbk
deleted file mode 100644
index 2cf4e5c3a9..0000000000
--- a/libs/math/doc/sf_and_dist/math.qbk
+++ /dev/null
@@ -1,535 +0,0 @@
-[article Math Toolkit
- [quickbook 1.5]
- [copyright 2006, 2007, 2008, 2009, 2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno Lalande, Johan RÃ¥de, Gautam Sewani, Thijs van den Berg and Benjamin Sobotta]
- [/purpose ISBN 0-9504833-2-X 978-0-9504833-2-0, Classification 519.2-dc22]
- [license
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- [@http://www.boost.org/LICENSE_1_0.txt])
- ]
- [authors [Maddock, John], [Bristow, Paul A.], [Holin, Hubert], [Zhang, Xiaogang], [Lalande, Bruno], [RÃ¥de, Johan], [Sewani, Gautam], [van den Berg, Thijs], [Sobotta, Benjamin]]
- [/last-revision $Date: 2012-05-14 10:01:32 -0700 (Mon, 14 May 2012) $]
-]
-
-[/ \u00E5 = Latin small letter A with ring above doesn't seem to work in authors with Quickbook 1.5]
-
-[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>''']
-
-[template graph[name] '''<inlinemediaobject>
-<imageobject role="html">
-<imagedata align="center" fileref="../graphs/'''[name]'''.png"></imagedata>
-</imageobject>
-<imageobject role="print">
-<imagedata align="center" fileref="../graphs/'''[name]'''.svg"></imagedata>
-</imageobject>
-</inlinemediaobject>''']
-
-[include ../../../../tools/auto_index/include/auto_index_helpers.qbk]
-[/ Must be first included file!]
-
-[include html4_symbols.qbk]
-[/include math_symbols.qbk]
-
-[/include latin1_symbols.qbk] [/ just for testing]
-[include common_overviews.qbk] [/ overviews that appear in more than one place!]
-[include tr1.qbk] [/tr1 docs also appear in more than one place!]
-[include roadmap.qbk] [/ for history]
-
-[def __effects [*Effects: ]]
-[def __formula [*Formula: ]]
-[def __exm1 '''<code>e<superscript>x</superscript> - 1</code>'''] [/e^x -1]
-[def __ex '''<code>e<superscript>x</superscript></code>'''] [/e^x]
-[def __te '''2&#x025B;'''] [/small Latin letter open e]
-
-[def __ceilR '''&#x2309;''']
-[def __ceilL '''&#2308;''']
-[def __floorR '''&#x230B;''']
-[def __floorL '''&#x230A;''']
-[def __infin '''&#8734;''']
-[def __integral '''&#8747;''']
-[def __aacute '''&#225;''']
-[def __eacute '''&#233;''']
-[def __quarter '''&#x00BC;''']
-[def __nearequal '''&#x224A;''']
-[def __spaces '''&#x2000;&#x2000;'''] [/ two spaces - useful for an indent.]
-
-[def __caution This is now an official Boost library, but remains a library under
- development, the code is fully functional and robust, but
- interfaces, library structure, and function and distribution names
- may still be changed without notice.]
-
-[template tr1[] [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Technical Report on C++ Library Extensions]]
-[template C99[] [@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99 Standard ISO/IEC 9899:1999]]
-[template jm_rationals[] [link math_toolkit.backgrounders.implementation.rational_approximations_used devised by JM]]
-
-[def __domain_error [link domain_error domain_error]]
-[def __pole_error [link pole_error pole_error]]
-[def __overflow_error [link overflow_error overflow_error]]
-[def __underflow_error [link underflow_error underflow_error]]
-[def __denorm_error [link denorm_error denorm_error]]
-[def __evaluation_error [link evaluation_error evaluation_error]]
-[def __rounding_error [link rounding_error rounding_error]]
-[def __indeterminate_result_error [link indeterminate_result_error indeterminate_result_error]]
-[def __checked_narrowing_cast [link checked_narrowing_cast checked_narrowing_cast]]
-
-[def __arg_pomotion_rules [link math_toolkit.main_overview.result_type ['result type calculation rules]]]
-[def __sf_result [link math_toolkit.main_overview.result_type ['calculated-result-type]]]
-
-[/ The following macros expand to links to the various special functions
-and use the function's name as the link text.]
-
-[/Misc]
-[def __lanczos [link math_toolkit.backgrounders.lanczos Lanczos approximation]]
-[def __zero_error [link zero_error effectively zero error]]
-[def __relative_error [link math_toolkit.backgrounders.relative_error relative zero error]]
-
-[/gammas]
-[def __lgamma [link math_toolkit.special.sf_gamma.lgamma lgamma]]
-[def __digamma [link math_toolkit.special.sf_gamma.digamma digamma]]
-[def __tgamma_ratio [link math_toolkit.special.sf_gamma.gamma_ratios tgamma_ratio]]
-[def __tgamma_delta_ratio [link math_toolkit.special.sf_gamma.gamma_ratios tgamma_delta_ratio]]
-[def __tgamma [link math_toolkit.special.sf_gamma.tgamma tgamma]]
-[def __tgamma1pm1 [link math_toolkit.special.sf_gamma.tgamma tgamma1pm1]]
-[def __tgamma_lower [link math_toolkit.special.sf_gamma.igamma tgamma_lower]]
-[def __gamma_p [link math_toolkit.special.sf_gamma.igamma gamma_p]]
-[def __gamma_q [link math_toolkit.special.sf_gamma.igamma gamma_q]]
-[def __gamma_q_inv [link math_toolkit.special.sf_gamma.igamma_inv gamma_q_inv]]
-[def __gamma_p_inv [link math_toolkit.special.sf_gamma.igamma_inv gamma_p_inv]]
-[def __gamma_q_inva [link math_toolkit.special.sf_gamma.igamma_inv gamma_q_inva]]
-[def __gamma_p_inva [link math_toolkit.special.sf_gamma.igamma_inv gamma_p_inva]]
-[def __gamma_p_derivative [link math_toolkit.special.sf_gamma.gamma_derivatives gamma_p_derivative]]
-
-[/factorials]
-[def __factorial [link math_toolkit.special.factorials.sf_factorial factorial]]
-[def __unchecked_factorial [link math_toolkit.special.factorials.sf_factorial unchecked_factorial]]
-[def __max_factorial [link math_toolkit.special.factorials.sf_factorial max_factorial]]
-[def __double_factorial [link math_toolkit.special.factorials.sf_double_factorial double_factorial]]
-[def __rising_factorial [link math_toolkit.special.factorials.sf_rising_factorial rising_factorial]]
-[def __falling_factorial [link math_toolkit.special.factorials.sf_falling_factorial falling_factorial]]
-
-[/error functions]
-[def __erf [link math_toolkit.special.sf_erf.error_function erf]]
-[def __erfc [link math_toolkit.special.sf_erf.error_function erfc]]
-[def __erf_inv [link math_toolkit.special.sf_erf.error_inv erf_inv]]
-[def __erfc_inv [link math_toolkit.special.sf_erf.error_inv erfc_inv]]
-
-[/beta functions]
-[def __beta [link math_toolkit.special.sf_beta.beta_function beta]]
-[def __beta3 [link math_toolkit.special.sf_beta.ibeta_function beta]]
-[def __betac [link math_toolkit.special.sf_beta.ibeta_function betac]]
-[def __ibeta [link math_toolkit.special.sf_beta.ibeta_function ibeta]]
-[def __ibetac [link math_toolkit.special.sf_beta.ibeta_function ibetac]]
-[def __ibeta_inv [link math_toolkit.special.sf_beta.ibeta_inv_function ibeta_inv]]
-[def __ibetac_inv [link math_toolkit.special.sf_beta.ibeta_inv_function ibetac_inv]]
-[def __ibeta_inva [link math_toolkit.special.sf_beta.ibeta_inv_function ibeta_inva]]
-[def __ibetac_inva [link math_toolkit.special.sf_beta.ibeta_inv_function ibetac_inva]]
-[def __ibeta_invb [link math_toolkit.special.sf_beta.ibeta_inv_function ibeta_invb]]
-[def __ibetac_invb [link math_toolkit.special.sf_beta.ibeta_inv_function ibetac_invb]]
-[def __ibeta_derivative [link math_toolkit.special.sf_beta.beta_derivative ibeta_derivative]]
-
-[/elliptic integrals]
-[def __ellint_rj [link math_toolkit.special.ellint.ellint_carlson ellint_rj]]
-[def __ellint_rf [link math_toolkit.special.ellint.ellint_carlson ellint_rf]]
-[def __ellint_rc [link math_toolkit.special.ellint.ellint_carlson ellint_rc]]
-[def __ellint_rd [link math_toolkit.special.ellint.ellint_carlson ellint_rd]]
-[def __ellint_1 [link math_toolkit.special.ellint.ellint_1 ellint_1]]
-[def __ellint_2 [link math_toolkit.special.ellint.ellint_2 ellint_2]]
-[def __ellint_3 [link math_toolkit.special.ellint.ellint_3 ellint_3]]
-
-[/Bessel functions]
-[def __cyl_bessel_j [link math_toolkit.special.bessel.bessel cyl_bessel_j]]
-[def __cyl_neumann [link math_toolkit.special.bessel.bessel cyl_neumann]]
-[def __cyl_bessel_i [link math_toolkit.special.bessel.mbessel cyl_bessel_i]]
-[def __cyl_bessel_k [link math_toolkit.special.bessel.mbessel cyl_bessel_k]]
-[def __sph_bessel [link math_toolkit.special.bessel.sph_bessel sph_bessel]]
-[def __sph_neumann [link math_toolkit.special.bessel.sph_bessel sph_neumann]]
-
-[/Hankel Functions]
-[def __cyl_hankel_1 [link math_toolkit.special.hankel.cyl_hankel cyl_hankel_1]]
-[def __cyl_hankel_2 [link math_toolkit.special.hankel.cyl_hankel cyl_hankel_2]]
-[def __sph_hankel_1 [link math_toolkit.special.hankel.sph_hankel sph_hankel_1]]
-[def __sph_hankel_2 [link math_toolkit.special.hankel.sph_hankel sph_hankel_2]]
-
-[/sinus cardinals]
-[def __sinc_pi [link math_toolkit.special.sinc.sinc_pi sinc_pi]]
-[def __sinhc_pi [link math_toolkit.special.sinc.sinhc_pi sinhc_pi]]
-
-[/Inverse hyperbolics]
-[def __acosh [link math_toolkit.special.inv_hyper.acosh acosh]]
-[def __asinh [link math_toolkit.special.inv_hyper.asinh asinh]]
-[def __atanh [link math_toolkit.special.inv_hyper.atanh atanh]]
-
-[/classify]
-[def __fpclassify [link math_toolkit.special.fpclass fpclassify]]
-[def __isfinite [link math_toolkit.special.fpclass isfinite]]
-[def __isnan [link math_toolkit.special.fpclass isnan]]
-[def __isinf [link math_toolkit.special.fpclass isinf]]
-[def __isnormal [link math_toolkit.special.fpclass isnormal]]
-[def __fp_facets [link math_toolkit.utils.fp_facets nonfinite fp_facets]]
-
-[/powers etc]
-[def __expm1 [link math_toolkit.special.powers.expm1 expm1]]
-[def __log1p [link math_toolkit.special.powers.log1p log1p]]
-[def __cbrt [link math_toolkit.special.powers.cbrt cbrt]]
-[def __sqrt1pm1 [link math_toolkit.special.powers.sqrt1pm1 sqrt1pm1]]
-[def __powm1 [link math_toolkit.special.powers.powm1 powm1]]
-[def __hypot [link math_toolkit.special.powers.hypot hypot]]
-[def __pow [link math_toolkit.special.powers.ct_pow pow]]
-
-[/zeta]
-[def __zeta [link math_toolkit.special.zetas.zeta zeta]]
-
-[/expint]
-[def __expint_i [link math_toolkit.special.expint.expint_i zeta]]
-[def __expint_n [link math_toolkit.special.expint.expint_n zeta]]
-
-[/rounding]
-[def __round [link math_toolkit.utils.rounding.round round]]
-[def __lround [link math_toolkit.utils.rounding.round round]]
-[def __llround [link math_toolkit.utils.rounding.round round]]
-[def __trunc [link math_toolkit.utils.rounding.trunc trunc]]
-[def __modf [link math_toolkit.utils.rounding.modf modf]]
-
-[/polynomials]
-[def __laguerre [link math_toolkit.special.sf_poly.laguerre laguerre]]
-[def __legendre [link math_toolkit.special.sf_poly.legendre legendre_p]]
-[def __hermite [link math_toolkit.special.sf_poly.hermite hermite]]
-
-[/Misc]
-[def __expint [link math_toolkit.special.expint.expint_i expint]]
-[def __spherical_harmonic [link math_toolkit.special.sf_poly.sph_harm spherical_harmonic]]
-[def __owens_t [link math_toolkit.special.owens_t Owens T]]
-
-
-[/tools]
-[def __tuple [link math_toolkit.toolkit.internals1.tuples boost::math::tuple]]
-
-[/ distribution non-members]
-[def __cdf [link math.dist.cdf Cumulative Distribution Function]]
-[def __pdf [link math.dist.pdf Probability Density Function]]
-[def __ccdf [link math.dist.ccdf Complement of the Cumulative Distribution Function]]
-[def __quantile [link math.dist.quantile Quantile]]
-[def __quantile_c [link math.dist.quantile_c Quantile from the complement of the probability]]
-[def __mean [link math.dist.mean mean]]
-[def __median [link math.dist.median median]]
-[def __mode [link math.dist.mode mode]]
-[def __skewness [link math.dist.skewness skewness]]
-[def __kurtosis [link math.dist.kurtosis kurtosis]]
-[def __kurtosis_excess [link math.dist.kurtosis_excess kurtosis_excess]]
-[def __variance [link math.dist.variance variance]]
-[def __sd [link math.dist.sd standard deviation]]
-[def __hazard [link math.dist.hazard Hazard Function]]
-[def __chf [link math.dist.chf Cumulative Hazard Function]]
-[def __range [link math.dist.range range]]
-[def __support [link math.dist.support support]]
-
-[/ distribution def names end in distrib to avoid clashes]
-[def __beta_distrib [link math_toolkit.dist.dist_ref.dists.beta_dist Beta Distribution]]
-[def __binomial_distrib [link math_toolkit.dist.dist_ref.dists.binomial_dist Binomial Distribution]]
-[def __cauchy_distrib [link math_toolkit.dist.dist_ref.dists.cauchy_dist Cauchy Distribution]]
-[def __chi_squared_distrib [link math_toolkit.dist.dist_ref.dists.chi_squared_dist Chi Squared Distribution]]
-[def __extreme_distrib [link math_toolkit.dist.dist_ref.dists.extreme_dist Extreme Distributions]]
-[def __exp_distrib [link math_toolkit.dist.dist_ref.dists.exp_dist Exponential Distribution]]
-[def __F_distrib [link math_toolkit.dist.dist_ref.dists.f_dist Fisher F Distribution]]
-[def __gamma_distrib [link math_toolkit.dist.dist_ref.dists.gamma_dist Gamma Distribution]]
-[def __geometric_distrib [link math_toolkit.dist.dist_ref.dists.geometric_dist Geometric Distribution]]
-[def __inverse_gamma_distrib [link math_toolkit.dist.dist_ref.dists.inverse_gamma_dist Inverse Gamma Distribution]]
-[def __inverse_gaussian_distrib [link math_toolkit.dist.dist_ref.dists.inverse_gaussian_dist Inverse Gaussian Distribution]]
-[def __inverse_chi_squared_distrib [link math_toolkit.dist.dist_ref.dists.inverse_chi_squared_dist Inverse chi squared Distribution]]
-[def __laplace_distrib [link math_toolkit.dist.dist_ref.dists.laplace_dist Laplace Distribution]]
-[def __logistic_distrib [link math_toolkit.dist.dist_ref.dists.logistic_dist Logistic Distribution]]
-[def __lognormal_distrib [link math_toolkit.dist.dist_ref.dists.lognormal_dist Log-normal Distribution]]
-[def __negative_binomial_distrib [link math_toolkit.dist.dist_ref.dists.negative_binomial_dist Negative Binomial Distribution]]
-[def __non_central_chi_squared_distrib [link math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist Noncentral Chi Squared Distribution]]
-[def __non_central_beta_distrib [link math_toolkit.dist.dist_ref.dists.nc_beta_dist Noncentral Beta Distribution]]
-[def __non_central_F_distrib [link math_toolkit.dist.dist_ref.dists.nc_f_dist Noncentral F Distribution]]
-[def __non_central_T_distrib [link math_toolkit.dist.dist_ref.dists.nc_t_dist Noncentral T Distribution]]
-[def __non_central_t_distrib [link math_toolkit.dist.dist_ref.dists.nc_t_dist noncentral T distribution]]
-[def __normal_distrib [link math_toolkit.dist.dist_ref.dists.normal_dist Normal Distribution]]
-[def __poisson_distrib [link math_toolkit.dist.dist_ref.dists.poisson_dist Poisson Distribution]]
-[def __students_t_distrib [link math_toolkit.dist.dist_ref.dists.students_t_dist Students t Distribution]]
-[def __skew_normal_distrib [link math_toolkit.dist.dist_ref.dists.skew_normal_dist Skew Normal Distribution]]
-[def __weibull_distrib [link math_toolkit.dist.dist_ref.dists.weibull_dist Weibull Distribution]]
-
-[/links to policy]
-[def __Policy [link math_toolkit.policy Policy]] [/ Used in distribution template specifications]
-[def __policy_section [link math_toolkit.policy Policies]] [/ Used in text to refer to.]
-[def __policy_class [link math_toolkit.policy.pol_ref.pol_ref_ref policies::policy<>]]
-[def __math_undefined [link math_toolkit.policy.pol_ref.assert_undefined mathematically undefined function]]
-[def __policy_ref [link math_toolkit.policy.pol_ref policy reference]]
-[def __math_discrete [link math_toolkit.policy.pol_ref.discrete_quant_ref discrete functions]]
-[def __error_policy [link math_toolkit.policy.pol_ref.error_handling_policies error handling policies]]
-[def __changing_policy_defaults [link math_toolkit.policy.pol_ref.policy_defaults changing policies defaults]]
-[def __user_error_handling [link math_toolkit.policy.pol_tutorial.user_def_err_pol user error handling]]
-[def __promotion_policy [link math_toolkit.policy.pol_ref.internal_promotion internal promotion policy]]
-[def __precision_policy [link math_toolkit.policy.pol_ref.precision_pol precision policy]]
-[def __policy_macros [link math_toolkit.policy.pol_ref.policy_defaults Using Macros to Change the Policy Defaults]]
-
-[def __random_variate [@http://en.wikipedia.org/wiki/Random_variate random variate]]
-[def __random_variable [@http://en.wikipedia.org/wiki/Random_variable random variable]]
-[def __probability_distribution [@[@http://en.wikipedia.org/wiki/Probability_distribution probability_distribution]]
-
-[def __usual_accessors __cdf, __pdf, __quantile, __hazard,
- __chf, __mean, __median, __mode, __variance, __sd, __skewness,
- __kurtosis, __kurtosis_excess, __range and __support]
-
-[def __gsl [@http://www.gnu.org/software/gsl/ GSL-1.9]]
-[def __glibc [@http://www.gnu.org/software/libc/ GNU C Lib]]
-[def __hpc [@http://docs.hp.com/en/B9106-90010/index.html HP-UX C Library]]
-[def __cephes [@http://www.netlib.org/cephes/ Cephes]]
-[def __NTL [@http://www.shoup.net/ntl/ NTL A Library for doing Number Theory]]
-[def __NTL_RR [@http://shoup.net/ntl/doc/RR.txt NTL::RR]]
-[def __NTL_quad_float [@http://shoup.net/ntl/doc/quad_float.txt NTL::quad_float]]
-[def __MPFR [@http://www.mpfr.org/ MPFR]]
-[def __GMP [@http://gmplib.org/ GNU Multiple Precision Arithmetic Library]]
-[def __R [@http://www.r-project.org/ The R Project for Statistical Computing]]
-[def __godfrey [link godfrey Godfrey]]
-[def __pugh [link pugh Pugh]]
-[def __NaN [@http://en.wikipedia.org/wiki/NaN NaN]]
-[def __errno [@http://en.wikipedia.org/wiki/Errno `::errno`]]
-[def __Mathworld [@http://mathworld.wolfram.com Wolfram MathWorld]]
-[def __Mathematica [@http://www.wolfram.com/products/mathematica/index.html Wolfram Mathematica]]
-[def __TOMS748 [@http://portal.acm.org/citation.cfm?id=210111 TOMS Algorithm 748: enclosing zeros of continuous functions]]
-[def __why_complements [link why_complements why complements?]]
-[def __complements [link complements complements]]
-[def __performance [link math_toolkit.perf performance]]
-[def __building [link math_toolkit.main_overview.building building libraries]]
-
-[/ Some composite templates]
-[template super[x]'''<superscript>'''[x]'''</superscript>''']
-[template sub[x]'''<subscript>'''[x]'''</subscript>''']
-[template floor[x]'''&#x230A;'''[x]'''&#x230B;''']
-[template floorlr[x][lfloor][x][rfloor]]
-[template ceil[x] '''&#x2308;'''[x]'''&#x2309;''']
-
-[template header_file[file] [@../../../../../[file] [file]]]
-
-[template optional_policy[]
-The final __Policy argument is optional and can be used to
-control the behaviour of the function: how it handles errors,
-what level of precision to use etc. Refer to the
-[link math_toolkit.policy policy documentation for more details].]
-
-[template discrete_quantile_warning[NAME]
-[caution
-The [NAME] distribution is a discrete distribution: internally,
-functions like the `cdf` and `pdf` are treated "as if" they are continuous
-functions, but in reality the results returned from these functions
-only have meaning if an integer value is provided for the random variate
-argument.
-
-The quantile function will by default return an integer result that has been
-/rounded outwards/. That is to say lower quantiles (where the probability is
-less than 0.5) are rounded downward, and upper quantiles (where the probability
-is greater than 0.5) are rounded upwards. This behaviour
-ensures that if an X% quantile is requested, then /at least/ the requested
-coverage will be present in the central region, and /no more than/
-the requested coverage will be present in the tails.
-
-This behaviour can be changed so that the quantile functions are rounded
-differently, or even return a real-valued result using
-[link math_toolkit.policy.pol_overview Policies]. It is strongly
-recommended that you read the tutorial
-[link math_toolkit.policy.pol_tutorial.understand_dis_quant
-Understanding Quantiles of Discrete Distributions] before
-using the quantile function on the [NAME] distribution. The
-[link math_toolkit.policy.pol_ref.discrete_quant_ref reference docs]
-describe how to change the rounding policy
-for these distributions.
-] [/ caution]
-] [/ template discrete_quantile_warning]
-
-This manual is also available in
-[@http://sourceforge.net/projects/boost/files/boost-docs/
-printer friendly PDF format],
-and as a CD ISBN 0-9504833-2-X 978-0-9504833-2-0, Classification 519.2-dc22.
-
-[section:main_overview Overview]
-[include overview.qbk]
-[include structure.qbk] [/getting about, directory and file structure.]
-[include result_type_calc.qbk]
-[include error_handling.qbk]
-
-[section:compilers_overview Compilers]
-[compilers_overview]
-[endsect]
-[include config_macros.qbk]
-[section:pol_overview Policies]
-[policy_overview]
-[endsect]
-
-[include thread_safety.qbk]
-
-[section:perf_over Performance]
-[performance_overview]
-[endsect]
-[include building.qbk]
-[section:history1 History and What's New]
-[history]
-[endsect]
-[section:tr1 C99 and C++ TR1 C-style Functions]
-[tr1_overview]
-[endsect]
-[include faq.qbk]
-[include contact_info.qbk]
-
-[endsect] [/section:main_overview Overview]
-
-[section:dist Statistical Distributions and Functions]
-[include dist_tutorial.qbk]
-[include dist_reference.qbk] [/includes all individual distribution.qbk files]
-[endsect] [/section:dist Statistical Distributions and Functions]
-
-[section:special Special Functions]
-
-[section:sf_gamma Gamma Functions]
-[include tgamma.qbk]
-[include lgamma.qbk]
-[include digamma.qbk]
-[include gamma_ratios.qbk]
-[include igamma.qbk]
-[include igamma_inv.qbk]
-[include gamma_derivatives.qbk]
-[endsect] [/section:sf_gamma Gamma Functions]
-
-[include factorials.qbk]
-
-[section:sf_beta Beta Functions]
-[include beta.qbk]
-[include ibeta.qbk]
-[include ibeta_inv.qbk]
-[include beta_derivative.qbk]
-[endsect] [/section:sf_beta Beta Functions]
-
-[section:sf_erf Error Functions]
-[include erf.qbk]
-[include erf_inv.qbk]
-[endsect] [/section:sf_erf Error Functions]
-
-[section:sf_poly Polynomials]
-[include legendre.qbk]
-[include laguerre.qbk]
-[include hermite.qbk]
-[include spherical_harmonic.qbk]
-[endsect] [/section:sf_poly Polynomials]
-
-[section:bessel Bessel Functions]
-[include bessel_introduction.qbk]
-[include bessel_jy.qbk]
-[include bessel_ik.qbk]
-[include bessel_spherical.qbk]
-[endsect] [/section:bessel Bessel Functions]
-
-[/Hankel functions]
-[include hankel.qbk]
-
-[section:ellint Elliptic Integrals]
-[include ellint_introduction.qbk]
-[include ellint_carlson.qbk]
-[include ellint_legendre.qbk]
-[endsect] [/section:ellint Elliptic Integrals]
-
-[section:zetas Zeta Functions]
-[include zeta.qbk]
-[endsect]
-
-[include expint.qbk]
-
-[include powers.qbk]
-[include sinc.qbk]
-[include inv_hyper.qbk]
-
-[include owens_t.qbk]
-
-[endsect] [/section:special Special Functions]
-
-[section:utils Floating Point Utilities]
-[include rounding_func.qbk]
-[include fpclassify.qbk]
-[include sign.qbk]
-[include fp_facets.qbk]
-[include float_next.qbk]
-[endsect]
-
-[section:extern_c TR1 and C99 external "C" Functions]
-[section:tr1 C99 and TR1 C Functions Overview]
-[tr1_overview]
-[endsect]
-[include c99_ref.qbk]
-[include tr1_ref.qbk]
-[endsect]
-
-[include constants.qbk]
-
-[section:toolkit Tools and Internal Details]
-
-[include internals_overview.qbk]
-
-[section:internals1 Utilities & Tools]
-[include series.qbk]
-[include fraction.qbk]
-[include rational.qbk]
-[include roots.qbk]
-[include roots_without_derivatives.qbk]
-[include minima.qbk]
-[include tuple.qbk]
-[endsect] [/section:internals1 Utilities & Tools]
-
-[section:internals2 Testing and Development]
-[include polynomial.qbk]
-[include minimax.qbk]
-[include relative_error.qbk] [/ uncertainty of floating-point calculations.]
-[include test_data.qbk]
-[endsect] [/section:internals2 Testing and Development]
-
-[endsect] [/section:toolkit Toolkit]
-
-[section:using_udt Use with User-Defined Floating-Point Types]
-[include concepts.qbk]
-[endsect] [/section:using_udt Use with User Defined Floating-Point Types]
-
-[include policy.qbk]
-
-[include performance.qbk]
-
-[section:backgrounders Backgrounders]
-[include implementation.qbk]
-[include error.qbk] [/relative error NOT handling]
-[include lanczos.qbk]
-[include remez.qbk]
-[include references.qbk]
-[endsect] [/section:backgrounders Backgrounders]
-
-[section:status Library Status]
-[section:history1 History and What's New]
-[history]
-[endsect]
-[include issues.qbk]
-[include credits.qbk]
-[/include test_HTML4_symbols.qbk]
-[/include test_Latin1_symbols.qbk]
-
-[endsect] [/section:status Status and Roadmap]
-
-[named_index function_name Function Index]
-[named_index class_name Class Index]
-[named_index typedef_name Typedef Index]
-[named_index macro_name Macro Index]
-[index]
-
-[/ math.qbk
- Copyright 2008, 2010, 2012 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
-
diff --git a/libs/math/doc/sf_and_dist/minimax.qbk b/libs/math/doc/sf_and_dist/minimax.qbk
deleted file mode 100644
index ed243a8960..0000000000
--- a/libs/math/doc/sf_and_dist/minimax.qbk
+++ /dev/null
@@ -1,167 +0,0 @@
-[section:minimax Minimax Approximations and the Remez Algorithm]
-
-The directory libs/math/minimax contains a command line driven
-program for the generation of minimax approximations using the Remez
-algorithm. Both polynomial and rational approximations are supported,
-although the latter are tricky to converge: it is not uncommon for
-convergence of rational forms to fail. No such limitations are present
-for polynomial approximations which should always converge smoothly.
-
-It's worth stressing that developing rational approximations to functions
-is often not an easy task, and one to which many books have been devoted.
-To use this tool, you will need to have a reasonable grasp of what the Remez
-algorithm is, and the general form of the approximation you want to achieve.
-
-Unless you already familar with the Remez method,
-you should first read the [link math_toolkit.backgrounders.remez
-brief background article explaining the principles behind the
-Remez algorithm].
-
-The program consists of two parts:
-
-[variablelist
-[[main.cpp][Contains the command line parser, and all the calls to the Remez code.]]
-[[f.cpp][Contains the function to approximate.]]
-]
-
-Therefore to use this tool, you must modify f.cpp to return the function to
-approximate. The tools supports multiple function approximations within
-the same compiled program: each as a separate variant:
-
- NTL::RR f(const NTL::RR& x, int variant);
-
-Returns the value of the function /variant/ at point /x/. So if you
-wish you can just add the function to approximate as a new variant
-after the existing examples.
-
-In addition to those two files, the program needs to be linked to
-a [link math_toolkit.using_udt.use_ntl patched NTL library to compile].
-
-Note that the function /f/ must return the rational part of the
-approximation: for example if you are approximating a function
-/f(x)/ then it is quite common to use:
-
- f(x) = g(x)(Y + R(x))
-
-where /g(x)/ is the dominant part of /f(x)/, /Y/ is some constant, and
-/R(x)/ is the rational approximation part, usually optimised for a low
-absolute error compared to |Y|.
-
-In this case you would define /f/ to return ['f(x)/g(x)] and then set the
-y-offset of the approximation to /Y/ (see command line options below).
-
-Many other forms are possible, but in all cases the objective is to
-split /f(x)/ into a dominant part that you can evaluate easily using
-standard math functions, and a smooth and slowly changing rational approximation
-part. Refer to your favourite textbook for more examples.
-
-Command line options for the program are as follows:
-
-[variablelist
-[[variant N][Sets the current function variant to N. This allows multiple functions
- that are to be approximated to be compiled into the same executable.
- Defaults to 0.]]
-[[range a b][Sets the domain for the approximation to the range \[a,b\], defaults
- to \[0,1\].]]
-[[relative][Sets the Remez code to optimise for relative error. This is the default
- at program startup. Note that relative error can only be used
- if f(x) has no roots over the range being optimised.]]
-[[absolute][Sets the Remez code to optimise for absolute error.]]
-[[pin \[true|false\]]["Pins" the code so that the rational approximation
- passes through the origin. Obviously only set this to
- /true/ if R(0) must be zero. This is typically used when
- trying to preserve a root at \[0,0\] while also optimising
- for relative error.]]
-[[order N D][Sets the order of the approximation to /N/ in the numerator and /D/
- in the denominator. If /D/ is zero then the result will be a polynomial
- approximation. There will be N+D+2 coefficients in total, the first
- coefficient of the numerator is zero if /pin/ was set to true, and the
- first coefficient of the denominator is always one.]]
-[[working-precision N][Sets the working precision of NTL::RR to /N/ binary digits. Defaults to 250.]]
-[[target-precision N][Sets the precision of printed output to /N/ binary digits:
- set to the same number of digits as the type that will be used to
- evaluate the approximation. Defaults to 53 (for double precision).]]
-[[skew val]["Skews" the initial interpolated control points towards one
- end or the other of the range. Positive values skew the
- initial control points towards the left hand side of the
- range, and negative values towards the right hand side.
- If an approximation won't converge (a common situation)
- try adjusting the skew parameter until the first step yields
- the smallest possible error. /val/ should be in the range
- \[-100,+100\], the default is zero.]]
-[[brake val][Sets a brake on each step so that the change in the
- control points is braked by /val%/. Defaults to 50,
- try a higher value if an approximation won't converge,
- or a lower value to get speedier convergence.]]
-[[x-offset val][Sets the x-offset to /val/: the approximation will
- be generated for `f(S * (x + X)) + Y` where /X/ is the
- x-offset, /S/ is the x-scale
- and /Y/ is the y-offset. Defaults to zero. To avoid
- rounding errors, take care to specify a value that can
- be exactly represented as a floating point number.]]
-[[x-scale val][Sets the x-scale to /val/: the approximation will
- be generated for `f(S * (x + X)) + Y` where /S/ is the
- x-scale, /X/ is the x-offset
- and /Y/ is the y-offset. Defaults to one. To avoid
- rounding errors, take care to specify a value that can
- be exactly represented as a floating point number.]]
-[[y-offset val][Sets the y-offset to /val/: the approximation will
- be generated for `f(S * (x + X)) + Y` where /X/
- is the x-offset, /S/ is the x-scale
- and /Y/ is the y-offset. Defaults to zero. To avoid
- rounding errors, take care to specify a value that can
- be exactly represented as a floating point number.]]
-[[y-offset auto][Sets the y-offset to the average value of f(x)
- evaluated at the two endpoints of the range plus the midpoint
- of the range. The calculated value is deliberately truncated
- to /float/ precision (and should be stored as a /float/
- in your code). The approximation will
- be generated for `f(x + X) + Y` where /X/ is the x-offset
- and /Y/ is the y-offset. Defaults to zero.]]
-[[graph N][Prints N evaluations of f(x) at evenly spaced points over the
- range being optimised. If unspecified then /N/ defaults
- to 3. Use to check that f(x) is indeed smooth over the range
- of interest.]]
-[[step N][Performs /N/ steps, or one step if /N/ is unspecified.
- After each step prints: the peek error at the extrema of
- the error function of the approximation,
- the theoretical error term solved for on the last step,
- and the maximum relative change in the location of the
- Chebyshev control points. The approximation is converged on the
- minimax solution when the two error terms are (approximately)
- equal, and the change in the control points has decreased to
- a suitably small value.]]
-[[test \[float|double|long\]][Tests the current approximation at float,
- double, or long double precision. Useful to check for rounding
- errors in evaluating the approximation at fixed precision.
- Tests are conducted at the extrema of the error function of the
- approximation, and at the zeros of the error function.]]
-[[test \[float|double|long\] N] [Tests the current approximation at float,
- double, or long double precision. Useful to check for rounding
- errors in evaluating the approximation at fixed precision.
- Tests are conducted at N evenly spaced points over the range
- of the approximation. If none of \[float|double|long\] are specified
- then tests using NTL::RR, this can be used to obtain the error
- function of the approximation.]]
-[[rescale a b][Takes the current Chebeshev control points, and rescales them
- over a new interval \[a,b\]. Sometimes this can be used to obtain
- starting control points for an approximation that can not otherwise be
- converged.]]
-[[rotate][Moves one term from the numerator to the denominator, but keeps the
- Chebyshev control points the same. Sometimes this can be used to obtain
- starting control points for an approximation that can not otherwise be
- converged.]]
-[[info][Prints out the current approximation: the location of the zeros of the
- error function, the location of the Chebyshev control points, the
- x and y offsets, and of course the coefficients of the polynomials.]]
-]
-
-
-[endsect][/section:minimax Minimax Approximations and the Remez Algorithm]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/overview.qbk b/libs/math/doc/sf_and_dist/overview.qbk
deleted file mode 100644
index a2802ba7fd..0000000000
--- a/libs/math/doc/sf_and_dist/overview.qbk
+++ /dev/null
@@ -1,90 +0,0 @@
-[section:intro About the Math Toolkit]
-
-This library is divided into three interconnected parts:
-
-[h4 Statistical Distributions]
-
-Provides a reasonably comprehensive set of
-[link math_toolkit.dist statistical distributions],
-upon which higher level statistical tests can be built.
-
-The initial focus is on the central
-[@http://en.wikipedia.org/wiki/Univariate univariate ]
-[@http://mathworld.wolfram.com/StatisticalDistribution.html distributions].
-Both [@http://mathworld.wolfram.com/ContinuousDistribution.html continuous]
-(like [link math_toolkit.dist.dist_ref.dists.normal_dist normal]
-& [link math_toolkit.dist.dist_ref.dists.f_dist Fisher])
-and [@http://mathworld.wolfram.com/DiscreteDistribution.html discrete]
-(like [link math_toolkit.dist.dist_ref.dists.binomial_dist binomial]
-& [link math_toolkit.dist.dist_ref.dists.poisson_dist Poisson])
-distributions are provided.
-
-A [link math_toolkit.dist.stat_tut comprehensive tutorial is provided],
-along with a series of
-[link math_toolkit.dist.stat_tut.weg worked examples] illustrating
-how the library is used to conduct statistical tests.
-
-[h4 Mathematical Special Functions]
-
-Provides a small number of high quality
-[link math_toolkit.special special functions],
-initially these were concentrated on functions used in statistical applications
-along with those in the [tr1].
-
-The function families currently implemented are the gamma, beta & erf functions
-along with the incomplete gamma and beta functions (four variants
-of each) and all the possible inverses of these, plus digamma,
-various factorial functions,
-Bessel functions, elliptic integrals, sinus cardinals (along with their
-hyperbolic variants), inverse hyperbolic functions, Legrendre/Laguerre/Hermite
-polynomials and various
-special power and logarithmic functions.
-
-All the implementations
-are fully generic and support the use of arbitrary "real-number" types,
-although they are optimised for use with types with known-about
-[@http://en.wikipedia.org/wiki/Significand significand (or mantissa)]
-sizes: typically `float`, `double` or `long double`.
-
-[h4 Implementation Toolkit]
-
-Provides [link math_toolkit.toolkit many of the tools] required to implement
-mathematical special functions: hopefully the presence of
-these will encourage other authors to contribute more special
-function implementations in the future. These tools are currently
-considered experimental: they are "exposed implementation details"
-whose interfaces and\/or implementations may change.
-
-There are helpers for the
-[link math_toolkit.toolkit.internals1.series_evaluation
-evaluation of infinite series],
-[link math_toolkit.toolkit.internals1.cf continued
-fractions] and [link math_toolkit.toolkit.internals1.rational
-rational approximations].
-
-There is a fairly comprehensive set of root finding and
-[link math_toolkit.toolkit.internals1.minima function minimisation
-algorithms]: the root finding algorithms are both
-[link math_toolkit.toolkit.internals1.roots with] and
-[link math_toolkit.toolkit.internals1.roots2 without] derivative support.
-
-A [link math_toolkit.toolkit.internals2.minimax
-Remez algorithm implementation] allows for the locating of minimax rational
-approximations.
-
-There are also (experimental) classes for the
-[link math_toolkit.toolkit.internals2.polynomials manipulation of polynomials], for
-[link math_toolkit.toolkit.internals2.error_test
-testing a special function against tabulated test data], and for
-the [link math_toolkit.toolkit.internals2.test_data
-rapid generation of test data] and/or data for output to an
-external graphing application.
-
-[endsect] [/section:intro Introduction]
-
-[/
- Copyright 2006, 2012 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/owens_t.qbk b/libs/math/doc/sf_and_dist/owens_t.qbk
deleted file mode 100644
index f106a3f6a0..0000000000
--- a/libs/math/doc/sf_and_dist/owens_t.qbk
+++ /dev/null
@@ -1,134 +0,0 @@
-[section:owens_t Owen's T function]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/owens_t.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` owens_t(T h, T a);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` owens_t(T h, T a, const ``__Policy``&);
-
- }} // namespaces
-
-[h4 Description]
-
-Returns the
-[@http://en.wikipedia.org/wiki/Owen%27s_T_function Owens_t function]
-of ['h] and ['a].
-
-[optional_policy]
-
-[sixemspace][sixemspace][equation owens_t]
-
-[$../graphs/plot_owens_t.png]
-
-The function `owens_t(h, a)` gives the probability
-of the event ['(X > h and 0 < Y < a * X)],
-where ['X] and ['Y] are independent standard normal random variables.
-
-For h and a > 0, T(h,a),
-gives the volume of an uncorrelated bivariate normal distribution
-with zero means and unit variances over the area between
-['y = ax] and ['y = 0] and to the right of ['x = h].
-
-That is the area shaded in the figure below (Owens 1956).
-
-[graph owens_integration_area]
-
-and is also illustrated by a 3D plot.
-
-[$../graphs/plot_owens_3d_xyp.png]
-
-This function is used in the computation of the __skew_normal_distrib.
-It is also used in the computation of bivariate and
-multivariate normal distribution probabilities.
-The return type of this function is computed using the __arg_pomotion_rules:
-the result is of type `double` when T is an integer type, and type T otherwise.
-
-Owen's original paper (page 1077) provides some additional corner cases.
-
-[: ['T(h, 0) = 0]]
-
-[:['T(0, a) = [frac12][pi] arctan(a)]]
-
-[:['T(h, 1) = [frac12] G(h) \[1 - G(h)\]]]
-
-[:['T(h, [infin]) = G(|h|)]]
-
-where G(h) is the univariate normal with zero mean and unit variance integral from -[infin] to h.
-
-[h4 Accuracy]
-
-Over the built-in types and range tested,
-errors are less than 10 * std::numeric_limits<RealType>::epsilon().
-
-[h4 Testing]
-
-Test data was generated by Patefield and Tandy algorithms T1 and T4,
-and also the suggested reference routine T7.
-
-* T1 was rejected if the result was too small compared to `atan(a)` (ie cancellation),
-* T4 was rejected if there was no convergence,
-* Both were rejected if they didn't agree.
-
-Over the built-in types and range tested,
-errors are less than 10 std::numeric_limits<RealType>::epsilon().
-
-However, that there was a whole domain (large ['h], small ['a])
-where it was not possible to generate any reliable test values
-(all the methods got rejected for one reason or another).
-
-There are also two sets of sanity tests: spot values are computed using __Mathematica and __R.
-
-
-[h4 Implementation]
-
-The function was proposed and evaluated by
-[@http://projecteuclid.org/DPubS?service=UI&version=1.0&verb=Display&handle=euclid.aoms/1177728074
-Donald. B. Owen, Tables for computing bivariate normal probabilities,
-Ann. Math. Statist., 27, 1075-1090 (1956)].
-
-The algorithms of Patefield, M. and Tandy, D.
-"Fast and accurate Calculation of Owen's T-Function", Journal of Statistical Software, 5 (5), 1 - 25 (2000)
-are adapted for C++ with arbitrary RealType.
-
-The Patefield-Tandy algorithm provides six methods of evalualution (T1 to T6);
-the best method is selected according to the values of ['a] and ['h].
-See the original paper and the source in
-[@../../../../../boost/math/special_functions/owens_t.hpp owens_t.hpp] for details.
-
-The Patefield-Tandy algorithm is accurate to approximately 20 decimal places, so for
-types with greater precision we use:
-
-* A modified version of T1 which folds the calculation of ['atan(h)] into the T1 series
-(to avoid subtracting two values similar in magnitude), and then accelerates the
-resulting alternating series using method 1 from H. Cohen, F. Rodriguez Villegas, D. Zagier,
-"Convergence acceleration of alternating series", Bonn, (1991). The result is valid everywhere,
-but doesn't always converge, or may become too divergent in the first few terms to sum accurately.
-This is used for ['ah < 1].
-* A modified version of T2 which is accelerated in the same manner as T1. This is used for ['h > 1].
-* A version of T4 only when both T1 and T2 have failed to produce an accurate answer.
-* Fallback to the Patefiled Tandy algorithm when all the above methods fail: this happens not at all
-for our test data at 100 decimal digits precision. However, there is a difficult area when
-['a] is very close to 1 and the precision increases which may cause this to happen in very exceptional
-circumstances.
-
-Using the above algorithm and a 100-decimal digit type, results accurate to 80 decimal places were obtained
-in the difficult area where ['a] is close to 1, and greater than 95 decimal places elsewhere.
-
-[endsect] [/section:owens_t The owens_t Function]
-
-[/
- Copyright 2012 Bejamin Sobotta, John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
diff --git a/libs/math/doc/sf_and_dist/performance.qbk b/libs/math/doc/sf_and_dist/performance.qbk
deleted file mode 100644
index 794a84beaa..0000000000
--- a/libs/math/doc/sf_and_dist/performance.qbk
+++ /dev/null
@@ -1,466 +0,0 @@
-[template perf[name value] [value]]
-[template para[text] '''<para>'''[text]'''</para>''']
-
-[section:perf Performance]
-
-[section:perf_over Performance Overview]
-[performance_overview]
-[endsect]
-
-[section:interp Interpreting these Results]
-
-In all of the following tables, the best performing
-result in each row, is assigned a relative value of "1" and shown
-in bold, so a score of "2" means ['"twice as slow as the best
-performing result".] Actual timings in seconds per function call
-are also shown in parenthesis.
-
-Result were obtained on a system
-with an Intel 2.8GHz Pentium 4 processor with 2Gb of RAM and running
-either Windows XP or Mandriva Linux.
-
-[caution As usual
-with performance results these should be taken with a large pinch
-of salt: relative performance is known to shift quite a bit depending
-upon the architecture of the particular test system used. Further
-more, our performance results were obtained using our own test data:
-these test values are designed to provide good coverage of our code and test
-all the appropriate corner cases. They do not necessarily represent
-"typical" usage: whatever that may be!
-]
-
-[note Since these tests were run, most compilers have improved their code optimisation,
-and processor speeds have improved too, so these results are known to be out of date.]
-
-[endsect]
-
-[section:getting_best Getting the Best Performance from this Library]
-
-By far the most important thing you can do when using this library
-is turn on your compiler's optimisation options. As the following
-table shows the penalty for using the library in debug mode can be
-quite large.
-
-[table Performance Comparison of Release and Debug Settings
-[[Function]
- [Microsoft Visual C++ 8.0
-
- Debug Settings: /Od /ZI
- ]
- [Microsoft Visual C++ 8.0
-
- Release settings: /Ox /arch:SSE2
- ]]
-
-[[__erf][[perf msvc-debug-erf..[para 16.65][para (1.028e-006s)]]][[perf msvc-erf..[para *1.00*][para (1.483e-007s)]]]]
-[[__erf_inv][[perf msvc-debug-erf_inv..[para 19.28][para (1.215e-006s)]]][[perf msvc-erf_inv..[para *1.00*][para (4.888e-007s)]]]]
-[[__ibeta and __ibetac][[perf msvc-debug-ibeta..[para 8.32][para (1.540e-005s)]]][[perf msvc-ibeta..[para *1.00*][para (1.852e-006s)]]]]
-[[__ibeta_inv and __ibetac_inv][[perf msvc-debug-ibeta_inv..[para 10.25][para (7.492e-005s)]]][[perf msvc-ibeta_inv..[para *1.00*][para (7.311e-006s)]]]]
-[[__ibeta_inva, __ibetac_inva, __ibeta_invb and __ibetac_invb][[perf msvc-debug-ibeta_invab..[para 8.57][para (2.441e-004s)]]][[perf msvc-ibeta_invab..[para *1.00*][para (2.847e-005s)]]]]
-[[__gamma_p and __gamma_q][[perf msvc-debug-igamma..[para 10.98][para (1.044e-005s)]]][[perf msvc-igamma..[para *1.00*][para (9.504e-007s)]]]]
-[[__gamma_p_inv and __gamma_q_inv][[perf msvc-debug-igamma_inv..[para 10.25][para (3.721e-005s)]]][[perf msvc-igamma_inv..[para *1.00*][para (3.631e-006s)]]]]
-[[__gamma_p_inva and __gamma_q_inva][[perf msvc-debug-igamma_inva..[para 11.26][para (1.124e-004s)]]][[perf msvc-igamma_inva..[para *1.00*][para (9.982e-006s)]]]]
-]
-
-[endsect]
-
-[section:comp_compilers Comparing Compilers]
-
-After a good choice of build settings the next most important thing
-you can do, is choose your compiler
-- and the standard C library it sits on top of - very carefully. GCC-3.x
-in particular has been found to be particularly bad at inlining code,
-and performing the kinds of high level transformations that good C++ performance
-demands (thankfully GCC-4.x is somewhat better in this respect).
-
-[table Performance Comparison of Various Windows Compilers
-[[Function]
- [Intel C++ 10.0
-
- ( /Ox /Qipo /QxN )
- ]
- [Microsoft Visual C++ 8.0
-
- ( /Ox /arch:SSE2 )
- ]
- [Cygwin G++ 3.4
-
- ( /O3 )
- ]]
-[[__erf][[perf intel-erf..[para *1.00*][para (4.118e-008s)]]][[perf msvc-erf..[para *1.00*][para (1.483e-007s)]]][[perf gcc-erf..[para 3.24][para (1.336e-007s)]]]]
-[[__erf_inv][[perf intel-erf_inv..[para *1.00*][para (4.439e-008s)]]][[perf msvc-erf_inv..[para *1.00*][para (4.888e-007s)]]][[perf gcc-erf_inv..[para 7.88][para (3.500e-007s)]]]]
-[[__ibeta and __ibetac][[perf intel-ibeta..[para *1.00*][para (1.631e-006s)]]][[perf msvc-ibeta..[para 1.14][para (1.852e-006s)]]][[perf gcc-ibeta..[para 3.05][para (4.975e-006s)]]]]
-[[__ibeta_inv and __ibetac_inv][[perf intel-ibeta_inv..[para *1.00*][para (6.133e-006s)]]][[perf msvc-ibeta_inv..[para 1.19][para (7.311e-006s)]]][[perf gcc-ibeta_inv..[para 2.60][para (1.597e-005s)]]]]
-[[__ibeta_inva, __ibetac_inva, __ibeta_invb and __ibetac_invb][[perf intel-ibeta_invab..[para *1.00*][para (2.453e-005s)]]][[perf msvc-ibeta_invab..[para 1.16][para (2.847e-005s)]]][[perf gcc-ibeta_invab..[para 2.83][para (6.947e-005s)]]]]
-[[__gamma_p and __gamma_q][[perf intel-igamma..[para *1.00*][para (6.735e-007s)]]][[perf msvc-igamma..[para 1.41][para (9.504e-007s)]]][[perf gcc-igamma..[para 2.78][para (1.872e-006s)]]]]
-[[__gamma_p_inv and __gamma_q_inv][[perf intel-igamma_inv..[para *1.00*][para (2.637e-006s)]]][[perf msvc-igamma_inv..[para 1.38][para (3.631e-006s)]]][[perf gcc-igamma_inv..[para 3.31][para (8.736e-006s)]]]]
-[[__gamma_p_inva and __gamma_q_inva][[perf intel-igamma_inva..[para *1.00*][para (7.716e-006s)]]][[perf msvc-igamma_inva..[para 1.29][para (9.982e-006s)]]][[perf gcc-igamma_inva..[para 2.56][para (1.974e-005s)]]]]
-]
-
-[endsect]
-
-[section:tuning Performance Tuning Macros]
-
-There are a small number of performance tuning options
-that are determined by configuration macros. These should be set
-in boost/math/tools/user.hpp; or else reported to the Boost-development
-mailing list so that the appropriate option for a given compiler and
-OS platform can be set automatically in our configuration setup.
-
-[table
-[[Macro][Meaning]]
-[[BOOST_MATH_POLY_METHOD]
- [Determines how polynomials and most rational functions
- are evaluated. Define to one
- of the values 0, 1, 2 or 3: see below for the meaning of these values.]]
-[[BOOST_MATH_RATIONAL_METHOD]
- [Determines how symmetrical rational functions are evaluated: mostly
- this only effects how the Lanczos approximation is evaluated, and how
- the `evaluate_rational` function behaves. Define to one
- of the values 0, 1, 2 or 3: see below for the meaning of these values.
- ]]
-[[BOOST_MATH_MAX_POLY_ORDER]
- [The maximum order of polynomial or rational function that will
- be evaluated by a method other than 0 (a simple "for" loop).
- ]]
-[[BOOST_MATH_INT_TABLE_TYPE(RT, IT)]
- [Many of the coefficients to the polynomials and rational functions
- used by this library are integers. Normally these are stored as tables
- as integers, but if mixed integer / floating point arithmetic is much
- slower than regular floating point arithmetic then they can be stored
- as tables of floating point values instead. If mixed arithmetic is slow
- then add:
-
- #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
-
- to boost/math/tools/user.hpp, otherwise the default of:
-
- #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
-
- Set in boost/math/config.hpp is fine, and may well result in smaller
- code.
- ]]
-]
-
-The values to which `BOOST_MATH_POLY_METHOD` and `BOOST_MATH_RATIONAL_METHOD`
-may be set are as follows:
-
-[table
-[[Value][Effect]]
-[[0][The polynomial or rational function is evaluated using Horner's
- method, and a simple for-loop.
-
- Note that if the order of the polynomial
- or rational function is a runtime parameter, or the order is
- greater than the value of `BOOST_MATH_MAX_POLY_ORDER`, then
- this method is always used, irrespective of the value
- of `BOOST_MATH_POLY_METHOD` or `BOOST_MATH_RATIONAL_METHOD`.]]
-[[1][The polynomial or rational function is evaluated without
- the use of a loop, and using Horner's method. This only occurs
- if the order of the polynomial is known at compile time and is less
- than or equal to `BOOST_MATH_MAX_POLY_ORDER`. ]]
-[[2][The polynomial or rational function is evaluated without
- the use of a loop, and using a second order Horner's method.
- In theory this permits two operations to occur in parallel
- for polynomials, and four in parallel for rational functions.
- This only occurs
- if the order of the polynomial is known at compile time and is less
- than or equal to `BOOST_MATH_MAX_POLY_ORDER`.]]
-[[3][The polynomial or rational function is evaluated without
- the use of a loop, and using a second order Horner's method.
- In theory this permits two operations to occur in parallel
- for polynomials, and four in parallel for rational functions.
- This differs from method "2" in that the code is carefully ordered
- to make the parallelisation more obvious to the compiler: rather than
- relying on the compiler's optimiser to spot the parallelisation
- opportunities.
- This only occurs
- if the order of the polynomial is known at compile time and is less
- than or equal to `BOOST_MATH_MAX_POLY_ORDER`.]]
-]
-
-To determine which
-of these options is best for your particular compiler/platform build
-the performance test application with your usual release settings,
-and run the program with the --tune command line option.
-
-In practice the difference between methods is rather small at present,
-as the following table shows. However, parallelisation /vectorisation
-is likely to become more important in the future: quite likely the methods
-currently supported will need to be supplemented or replaced by ones more
-suited to highly vectorisable processors in the future.
-
-[table A Comparison of Polynomial Evaluation Methods
-[[Compiler/platform][Method 0][Method 1][Method 2][Method 3]]
-[[Microsoft C++ 9.0, Polynomial evaluation] [[perf msvc-Polynomial-method-0..[para 1.26][para (7.421e-008s)]]][[perf msvc-Polynomial-method-1..[para 1.22][para (7.226e-008s)]]][[perf msvc-Polynomial-method-2..[para *1.00*][para (5.901e-008s)]]][[perf msvc-Polynomial-method-3..[para 1.04][para (6.115e-008s)]]]]
-[[Microsoft C++ 9.0, Rational evaluation] [[perf msvc-Rational-method-0..[para *1.00*][para (1.008e-007s)]]][[perf msvc-Rational-method-1..[para *1.00*][para (1.008e-007s)]]][[perf msvc-Rational-method-2..[para 1.43][para (1.445e-007s)]]][[perf msvc-Rational-method-3..[para 1.40][para (1.409e-007s)]]]]
-[[Intel C++ 11.1 (Windows), Polynomial evaluation] [[perf intel-Polynomial-method-0..[para 1.18][para (6.517e-008s)]]][[perf intel-Polynomial-method-1..[para 1.18][para (6.505e-008s)]]][[perf intel-Polynomial-method-2..[para *1.00*][para (5.516e-008s)]]][[perf intel-Polynomial-method-3..[para *1.00*][para (5.516e-008s)]]]]
-[[Intel C++ 11.1 (Windows), Rational evaluation] [[perf intel-Rational-method-0..[para *1.00*][para (8.947e-008s)]]][[perf intel-Rational-method-1..[para 1.02][para (9.130e-008s)]]][[perf intel-Rational-method-2..[para 1.49][para (1.333e-007s)]]][[perf intel-Rational-method-3..[para 1.04][para (9.325e-008s)]]]]
-[[GNU G++ 4.2 (Linux), Polynomial evaluation] [[perf gcc-4_2-ld-Polynomial-method-0..[para 1.61][para (1.220e-007s)]]][[perf gcc-4_2-ld-Polynomial-method-1..[para 1.68][para (1.269e-007s)]]][[perf gcc-4_2-ld-Polynomial-method-2..[para 1.23][para (9.275e-008s)]]][[perf gcc-4_2-ld-Polynomial-method-3..[para *1.00*][para (7.566e-008s)]]]]
-[[GNU G++ 4.2 (Linux), Rational evaluation] [[perf gcc-4_2-ld-Rational-method-0..[para 1.26][para (1.660e-007s)]]][[perf gcc-4_2-ld-Rational-method-1..[para 1.33][para (1.758e-007s)]]][[perf gcc-4_2-ld-Rational-method-2..[para *1.00*][para (1.318e-007s)]]][[perf gcc-4_2-ld-Rational-method-3..[para 1.15][para (1.513e-007s)]]]]
-[[Intel C++ 10.0 (Linux), Polynomial evaluation] [[perf intel-linux-Polynomial-method-0..[para 1.15][para (9.154e-008s)]]][[perf intel-linux-Polynomial-method-1..[para 1.15][para (9.154e-008s)]]][[perf intel-linux-Polynomial-method-2..[para *1.00*][para (7.934e-008s)]]][[perf intel-linux-Polynomial-method-3..[para *1.00*][para (7.934e-008s)]]]]
-[[Intel C++ 10.0 (Linux), Rational evaluation] [[perf intel-linux-Rational-method-0..[para *1.00*][para (1.245e-007s)]]][[perf intel-linux-Rational-method-1..[para *1.00*][para (1.245e-007s)]]][[perf intel-linux-Rational-method-2..[para 1.35][para (1.684e-007s)]]][[perf intel-linux-Rational-method-3..[para 1.04][para (1.294e-007s)]]]]
-]
-
-There is one final performance tuning option that is available as a compile time
-[link math_toolkit.policy policy]. Normally when evaluating functions at `double`
-precision, these are actually evaluated at `long double` precision internally:
-this helps to ensure that as close to full `double` precision as possible is
-achieved, but may slow down execution in some environments. The defaults for
-this policy can be changed by
-[link math_toolkit.policy.pol_ref.policy_defaults
-defining the macro `BOOST_MATH_PROMOTE_DOUBLE_POLICY`]
-to `false`, or
-[link math_toolkit.policy.pol_ref.internal_promotion
-by specifying a specific policy] when calling the special
-functions or distributions. See also the
-[link math_toolkit.policy.pol_tutorial policy tutorial].
-
-[table Performance Comparison with and Without Internal Promotion to long double
-[[Function]
- [GCC 4.2 , Linux
-
- (with internal promotion of double to long double).
- ]
- [GCC 4.2, Linux
-
- (without promotion of double).
- ]
-]
-[[__erf][[perf gcc-4_2-ld-erf..[para 1.48][para (1.387e-007s)]]][[perf gcc-4_2-erf..[para *1.00*][para (9.377e-008s)]]]]
-[[__erf_inv][[perf gcc-4_2-ld-erf_inv..[para 1.11][para (4.009e-007s)]]][[perf gcc-4_2-erf_inv..[para *1.00*][para (3.598e-007s)]]]]
-[[__ibeta and __ibetac][[perf gcc-4_2-ld-ibeta..[para 1.29][para (5.354e-006s)]]][[perf gcc-4_2-ibeta..[para *1.00*][para (4.137e-006s)]]]]
-[[__ibeta_inv and __ibetac_inv][[perf gcc-4_2-ld-ibeta_inv..[para 1.44][para (2.220e-005s)]]][[perf gcc-4_2-ibeta_inv..[para *1.00*][para (1.538e-005s)]]]]
-[[__ibeta_inva, __ibetac_inva, __ibeta_invb and __ibetac_invb][[perf gcc-4_2-ld-ibeta_invab..[para 1.25][para (7.009e-005s)]]][[perf gcc-4_2-ibeta_invab..[para *1.00*][para (5.607e-005s)]]]]
-[[__gamma_p and __gamma_q][[perf gcc-4_2-ld-igamma..[para 1.26][para (3.116e-006s)]]][[perf gcc-4_2-igamma..[para *1.00*][para (2.464e-006s)]]]]
-[[__gamma_p_inv and __gamma_q_inv][[perf gcc-4_2-ld-igamma_inv..[para 1.27][para (1.178e-005s)]]][[perf gcc-4_2-igamma_inv..[para *1.00*][para (9.291e-006s)]]]]
-[[__gamma_p_inva and __gamma_q_inva][[perf gcc-4_2-ld-igamma_inva..[para 1.20][para (2.765e-005s)]]][[perf gcc-4_2-igamma_inva..[para *1.00*][para (2.311e-005s)]]]]
-]
-
-[endsect]
-[section:comparisons Comparisons to Other Open Source Libraries]
-
-We've run our performance tests both for our own code, and against other
-open source implementations of the same functions. The results are
-presented below to give you a rough idea of how they all compare.
-
-[caution
-You should exercise extreme caution when interpreting
-these results, relative performance may vary by platform, the tests use
-data that gives good code coverage of /our/ code, but which may skew the
-results towards the corner cases. Finally, remember that different
-libraries make different choices with regard to performance verses
-numerical stability.
-]
-
-[heading Comparison to GSL-1.13 and Cephes]
-
-All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM, Windows Vista
-machine, with the test program compiled with Microsoft Visual C++ 2009 using the /Ox option.
-
-[table
-[[Function][Boost][GSL-1.9][Cephes]]
-[[__cbrt]
- [[perf msvc-cbrt..[para *1.00*][para (4.873e-007s)]]]
- [N\/A]
- [[perf msvc-cbrt-cephes..[para *1.00*][para (6.699e-007s)]]]]
-[[__log1p]
- [[perf msvc-log1p..[para *1.00*][para (1.664e-007s)]]]
- [[perf msvc-log1p-gsl..[para *1.00*][para (2.677e-007s)]]]
- [[perf msvc-log1p-cephes..[para *1.00*][para (1.189e-007s)]]]]
-[[__expm1]
- [[perf msvc-expm1..[para *1.00*][para (8.760e-008s)]]]
- [[perf msvc-expm1-gsl..[para *1.00*][para (1.248e-007s)]]]
- [[perf msvc-expm1-cephes..[para *1.00*][para (8.169e-008s)]]]]
-[[__tgamma]
- [[perf msvc-gamma..[para 1.80][para (2.997e-007s)]]]
- [[perf msvc-gamma-gsl..[para 1.54][para (2.569e-007s)]]]
- [[perf msvc-gamma-cephes..[para *1.00*][para (1.666e-007s)]]]]
-[[__lgamma]
- [[perf msvc-lgamma..[para 2.20][para (3.045e-007s)]]]
- [[perf msvc-lgamma-gsl..[para 4.14][para (5.713e-007s)]]]
- [[perf msvc-lgamma-cephes..[para *1.00*][para (1.381e-007s)]]]]
-[[__erf and __erfc]
- [[perf msvc-erf..[para *1.00*][para (1.483e-007s)]]]
- [[perf msvc-erf-gsl..[para *1.00*][para (7.052e-007s)]]]
- [[perf msvc-erf-cephes..[para *1.00*][para (1.722e-007s)]]]]
-[[__gamma_p and __gamma_q]
- [[perf msvc-igamma..[para *1.00*][para (6.182e-007s)]]]
- [[perf msvc-igamma-gsl..[para 3.57][para (2.209e-006s)]]]
- [[perf msvc-igamma-cephes..[para 4.29][para (2.651e-006s)]]]]
-[[__gamma_p_inv and __gamma_q_inv]
- [[perf msvc-igamma_inv..[para *1.00*][para (1.943e-006s)]]]
- [N\/A]
- [+INF [footnote Cephes gets stuck in an infinite loop while trying to execute our test cases.]]]
-[[__ibeta and __ibetac]
- [[perf msvc-ibeta..[para *1.00*][para (1.670e-006s)]]]
- [[perf msvc-ibeta-cephes..[para 1.16][para (1.935e-006s)]]]
- [[perf msvc-ibeta-cephes..[para 1.16][para (1.935e-006s)]]]]
-[[__ibeta_inv and __ibetac_inv]
- [[perf msvc-ibeta_inv..[para *1.00*][para (6.075e-006s)]]]
- [N\/A]
- [[perf msvc-ibeta_inv-cephes..[para 2.45][para (1.489e-005s)]]]]
-[[__cyl_bessel_j]
- [[perf msvc-cyl_bessel_j..[para 17.89[footnote The performance here is dominated by a few cases where the parameters grow very large:
- faster asymptotic expansions are available, but are of limited (or even frankly terrible) precision. The same issue
- effects all of our Bessel function implementations, but doesn't necessarily show in the current performance data.
- More investigation is needed here.]][para (4.248e-005s)]]]
- [[perf msvc-cyl_bessel_j-gsl..[para *1.00*][para (5.214e-006s)]]]
- [[perf msvc-cyl_bessel_j-cephes..[para *1.00*][para (2.374e-006s)]]]]
-[[__cyl_bessel_i]
- [[perf msvc-cyl_bessel_i..[para *1.00*][para (5.924e-006s)]]]
- [[perf msvc-cyl_bessel_i-gsl..[para *1.00*][para (4.487e-006s)]]]
- [[perf msvc-cyl_bessel_i-cephes..[para *1.00*][para (4.823e-006s)]]]]
-[[__cyl_bessel_k]
- [[perf msvc-cyl_bessel_k..[para *1.00*][para (2.783e-006s)]]]
- [[perf msvc-cyl_bessel_k-gsl..[para *1.00*][para (3.927e-006s)]]]
- [N\/A]]
-[[__cyl_neumann]
- [[perf msvc-cyl_neumann..[para *1.00*][para (4.465e-006s)]]]
- [[perf msvc-cyl_neumann-gsl..[para *1.00*][para (1.230e-005s)]]]
- [[perf msvc-cyl_neumann-cephes..[para *1.00*][para (4.977e-006s)]]]]
-]
-
-[heading Comparison to the R and DCDFLIB Statistical Libraries on Windows]
-
-All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM, Windows Vista
-machine, with the test program compiled with Microsoft Visual C++ 2009, and
-R-2.9.2 compiled in "standalone mode" with MinGW-4.3
-(R-2.9.2 appears not to be buildable with Visual C++).
-
-[table A Comparison to the R Statistical Library on Windows XP
-[[Statistical Function][Boost][R][DCDFLIB]]
-[[__beta_distrib CDF][[perf msvc-dist-beta-cdf..[para 1.08][para (1.385e-006s)]]][[perf msvc-dist-beta-R-cdf..[para *1.00*][para (1.278e-006s)]]][[perf msvc-dist-beta-dcd-cdf..[para 1.06][para (1.349e-006s)]]]]
-[[__beta_distrib Quantile][[perf msvc-dist-beta-quantile..[para *1.00*][para (4.975e-006s)]]][[perf msvc-dist-beta-R-quantile..[para 67.66[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (3.366e-004s)]]][[perf msvc-dist-beta-dcd-quantile..[para 4.23][para (2.103e-005s)]]]]
-[[__binomial_distrib CDF][[perf msvc-dist-binomial-cdf..[para 1.06][para (4.503e-007s)]]][[perf msvc-dist-binom-R-cdf..[para 1.81][para (7.680e-007s)]]][[perf msvc-dist-binomial-dcd-cdf..[para *1.00*][para (4.239e-007s)]]]]
-[[__binomial_distrib Quantile][[perf msvc-dist-binomial-quantile..[para *1.00*][para (3.254e-006s)]]][[perf msvc-dist-binom-R-quantile..[para 1.15][para (3.746e-006s)]]][[perf msvc-dist-binomial-dcd-quantile..[para 7.25][para (2.358e-005s)]]]]
-[[__cauchy_distrib CDF][[perf msvc-dist-cauchy-cdf..[para *1.00*][para (1.134e-007s)]]][[perf msvc-dist-cauchy-R-cdf..[para 1.08][para (1.227e-007s)]]][NA]]
-[[__cauchy_distrib Quantile][[perf msvc-dist-cauchy-quantile..[para *1.00*][para (1.203e-007s)]]][[perf msvc-dist-cauchy-R-quantile..[para *1.00*][para (1.203e-007s)]]][NA]]
-[[__chi_squared_distrib CDF][[perf msvc-dist-chi_squared-cdf..[para 1.21][para (5.021e-007s)]]][[perf msvc-dist-chisq-R-cdf..[para 2.83][para (1.176e-006s)]]][[perf msvc-dist-chi_squared-dcd-cdf..[para *1.00*][para (4.155e-007s)]]]]
-[[__chi_squared_distrib Quantile][[perf msvc-dist-chi_squared-quantile..[para *1.00*][para (1.930e-006s)]]][[perf msvc-dist-chisq-R-quantile..[para 2.72][para (5.243e-006s)]]][[perf msvc-dist-chi_squared-dcd-quantile..[para 5.73][para (1.106e-005s)]]]]
-[[__exp_distrib CDF][[perf msvc-dist-exponential-cdf..[para *1.00*][para (3.798e-008s)]]][[perf msvc-dist-exp-R-cdf..[para 5.89][para (2.236e-007s)]]][NA]]
-[[__exp_distrib Quantile][[perf msvc-dist-exponential-quantile..[para 1.41][para (9.006e-008s)]]][[perf msvc-dist-exp-R-quantile..[para *1.00*][para (6.380e-008s)]]][NA]]
-[[__F_distrib CDF][[perf msvc-dist-fisher_f-cdf..[para *1.00*][para (9.556e-007s)]]][[perf msvc-dist-f-R-cdf..[para 1.34][para (1.283e-006s)]]][[perf msvc-dist-f-dcd-cdf..[para 1.24][para (1.183e-006s)]]]]
-[[__F_distrib Quantile][[perf msvc-dist-fisher_f-quantile..[para *1.00*][para (6.987e-006s)]]][[perf msvc-dist-f-R-quantile..[para 1.33][para (9.325e-006s)]]][[perf msvc-dist-f-dcd-quantile..[para 3.16][para (2.205e-005s)]]]]
-[[__gamma_distrib CDF][[perf msvc-dist-gamma-cdf..[para 1.52][para (6.240e-007s)]]][[perf msvc-dist-gamma-R-cdf..[para 3.11][para (1.279e-006s)]]][[perf msvc-dist-gam-dcd-cdf..[para *1.00*][para (4.111e-007s)]]]]
-[[__gamma_distrib Quantile][[perf msvc-dist-gamma-quantile..[para 1.24][para (2.179e-006s)]]][[perf msvc-dist-gamma-R-quantile..[para 6.25][para (1.102e-005s)]]][[perf msvc-dist-gam-dcd-quantile..[para *1.00*][para (1.764e-006s)]]]]
-
-[[__hypergeometric_distrib CDF][[perf msvc-dist-hypergeometric-cdf..[para 3.60[footnote This result is somewhat misleading: for small values of the parameters there is virtually no difference between the two libraries, but for large values the Boost implementation is /much/ slower, albeit with much improved precision.]][para (5.987e-007s)]]][[perf msvc-dist-hypergeo-R-cdf..[para *1.00*][para (1.665e-007s)]]][NA]]
-[[__hypergeometric_distrib Quantile][[perf msvc-dist-hypergeometric-quantile..[para *1.00*][para (5.684e-007s)]]][[perf msvc-dist-hypergeo-R-quantile..[para 3.53][para (2.004e-006s)]]][NA]]
-[[__logistic_distrib CDF][[perf msvc-dist-logistic-cdf..[para *1.00*][para (1.714e-007s)]]][[perf msvc-dist-logis-R-cdf..[para 5.24][para (8.984e-007s)]]][NA]]
-[[__logistic_distrib Quantile][[perf msvc-dist-logistic-quantile..[para 1.02][para (2.084e-007s)]]][[perf msvc-dist-logis-R-quantile..[para *1.00*][para (2.043e-007s)]]][NA]]
-
-[[__lognormal_distrib CDF][[perf msvc-dist-lognormal-cdf..[para *1.00*][para (3.579e-007s)]]][[perf msvc-dist-lnorm-R-cdf..[para 1.49][para (5.332e-007s)]]][NA]]
-[[__lognormal_distrib Quantile][[perf msvc-dist-lognormal-quantile..[para *1.00*][para (9.622e-007s)]]][[perf msvc-dist-lnorm-R-quantile..[para 1.57][para (1.507e-006s)]]][NA]]
-[[__negative_binomial_distrib CDF][[perf msvc-dist-negative_binomial-cdf..[para *1.00*][para (6.227e-007s)]]][[perf msvc-dist-nbinom-R-cdf..[para 2.25][para (1.403e-006s)]]][[perf msvc-dist-negative_binomial-dcd-cdf..[para 2.21][para (1.378e-006s)]]]]
-[[__negative_binomial_distrib Quantile][[perf msvc-dist-negative_binomial-quantile..[para *1.00*][para (8.594e-006s)]]][[perf msvc-dist-nbinom-R-quantile..[para 43.43[footnote The R library appears to use a linear-search strategy, that can perform very badly in a small number of pathological cases, but may or may not be more efficient in "typical" cases]][para (3.732e-004s)]]][[perf msvc-dist-negative_binomial-dcd-quantile..[para 3.48][para (2.994e-005s)]]]]
-
-[[__non_central_chi_squared_distrib CDF][[perf msvc-dist-non_central_chi_squared-cdf..[para 2.16][para (3.926e-006s)]]][[perf msvc-dist-nchisq-R-cdf..[para 79.93][para (1.450e-004s)]]][[perf msvc-dist-non_central_chi_squared-dcd-cdf..[para *1.00*][para (1.814e-006s)]]]]
-[[__non_central_chi_squared_distrib Quantile][[perf msvc-dist-non_central_chi_squared-quantile..[para 5.00][para (3.393e-004s)]]][[perf msvc-dist-nchisq-R-quantile..[para 393.90[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (2.673e-002s)]]][[perf msvc-dist-non_central_chi_squared-dcd-quantile..[para *1.00*][para (6.786e-005s)]]]]
-[[__non_central_F_distrib CDF][[perf msvc-dist-non_central_f-cdf..[para 1.59][para (1.128e-005s)]]][[perf msvc-dist-nf-R-cdf..[para *1.00*][para (7.087e-006s)]]][[perf msvc-dist-fnc-cdf..[para *1.00*][para (4.274e-006s)]]]]
-[[__non_central_F_distrib Quantile][[perf msvc-dist-non_central_f-quantile..[para *1.00*][para (4.750e-004s)]]][[perf msvc-dist-nf-R-quantile..[para 1.62][para (7.681e-004s)]]][[perf msvc-dist-ncf-quantile..[para *1.00*][para (4.274e-006s)]]]]
-[[__non_central_t_distrib CDF][[perf msvc-dist-non_central_t-cdf..[para 3.41][para (1.852e-005s)]]][[perf msvc-dist-nt-R-cdf..[para *1.00*][para (5.436e-006s)]]][NA]]
-[[__non_central_t_distrib Quantile][[perf msvc-dist-non_central_t-quantile..[para 1.31][para (5.768e-004s)]]][[perf msvc-dist-nt-R-quantile..[para *1.00*[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (4.411e-004s)]]][NA]]
-
-[[__normal_distrib CDF][[perf msvc-dist-normal-cdf..[para *1.00*][para (8.373e-008s)]]][[perf msvc-dist-norm-R-cdf..[para 1.68][para (1.409e-007s)]]][[perf msvc-dist-nor-dcd-cdf..[para 6.01][para (5.029e-007s)]]]]
-[[__normal_distrib Quantile][[perf msvc-dist-normal-quantile..[para 1.29][para (1.521e-007s)]]][[perf msvc-dist-norm-R-quantile..[para *1.00*][para (1.182e-007s)]]][[perf msvc-dist-nor-dcd-quantile..[para 10.85][para (1.283e-006s)]]]]
-[[__poisson_distrib CDF][[perf msvc-dist-poisson-cdf..[para 1.18][para (5.193e-007s)]]][[perf msvc-dist-pois-R-cdf..[para 2.98][para (1.314e-006s)]]][[perf msvc-dist-poi-dcd-cdf..[para *1.00*][para (4.410e-007s)]]]]
-[[__poisson_distrib][[perf msvc-dist-poisson-quantile..[para *1.00*][para (1.203e-006s)]]][[perf msvc-dist-pois-R-quantile..[para 2.20][para (2.642e-006s)]]][[perf msvc-dist-poi-dcd-quantile..[para 7.86][para (9.457e-006s)]]]]
-[[__students_t_distrib CDF][[perf msvc-dist-students_t-cdf..[para *1.00*][para (8.655e-007s)]]][[perf msvc-dist-t-R-cdf..[para 1.06][para (9.166e-007s)]]][[perf msvc-dist-t-dcd-cdf..[para 1.04][para (8.999e-007s)]]]]
-[[__students_t_distrib Quantile][[perf msvc-dist-students_t-quantile..[para *1.00*][para (2.294e-006s)]]][[perf msvc-dist-t-R-quantile..[para 1.36][para (3.131e-006s)]]][[perf msvc-dist-t-dcd-quantile..[para 4.82][para (1.106e-005s)]]]]
-[[__weibull_distrib CDF][[perf msvc-dist-weibull-cdf..[para *1.00*][para (1.865e-007s)]]][[perf msvc-dist-weibull-R-cdf..[para 2.33][para (4.341e-007s)]]][NA]]
-[[__weibull_distrib Quantile][[perf msvc-dist-weibull-quantile..[para *1.00*][para (3.608e-007s)]]][[perf msvc-dist-weibull-R-quantile..[para 1.22][para (4.410e-007s)]]][NA]]
-]
-
-[heading Comparison to the R Statistical Library on Linux]
-
-All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM, Ubuntu Linux 9
-machine, with the test program and R-2.9.2 compiled with GNU G++ 4.3.3 using -O3 -DNDEBUG=1.
-
-[table A Comparison to the R Statistical Library on Linux
-[[Statistical Function][Boost][R][DCDFLIB]]
-[[__beta_distrib CDF][[perf gcc-4_3_2-dist-beta-cdf..[para 2.09][para (3.189e-006s)]]][[perf gcc-4_3_2-dist-beta-R-cdf..[para *1.00*][para (1.526e-006s)]]][[perf gcc-4_3_2-dist-beta-dcd-cdf..[para 1.19][para (1.822e-006s)]]]]
-[[__beta_distrib Quantile][[perf gcc-4_3_2-dist-beta-quantile..[para *1.00*][para (1.185e-005s)]]][[perf gcc-4_3_2-dist-beta-R-quantile..[para 30.51[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (3.616e-004s)]]][[perf gcc-4_3_2-dist-beta-dcd-quantile..[para 2.52][para (2.989e-005s)]]]]
-[[__binomial_distrib CDF][[perf gcc-4_3_2-dist-binomial-cdf..[para 4.41][para (9.175e-007s)]]][[perf gcc-4_3_2-dist-binom-R-cdf..[para 3.59][para (7.476e-007s)]]][[perf gcc-4_3_2-dist-binomial-dcd-cdf..[para *1.00*][para (2.081e-007s)]]]]
-[[__binomial_distrib Quantile][[perf gcc-4_3_2-dist-binomial-quantile..[para 1.57][para (6.925e-006s)]]][[perf gcc-4_3_2-dist-binom-R-quantile..[para *1.00*][para (4.407e-006s)]]][[perf gcc-4_3_2-dist-binomial-dcd-quantile..[para 7.43][para (3.274e-005s)]]]]
-[[__cauchy_distrib CDF][[perf gcc-4_3_2-dist-cauchy-cdf..[para *1.00*][para (1.594e-007s)]]][[perf gcc-4_3_2-dist-cauchy-R-cdf..[para 1.04][para (1.654e-007s)]]][NA]]
-[[__cauchy_distrib Quantile][[perf gcc-4_3_2-dist-cauchy-quantile..[para 1.21][para (1.752e-007s)]]][[perf gcc-4_3_2-dist-cauchy-R-quantile..[para *1.00*][para (1.448e-007s)]]][NA]]
-[[__chi_squared_distrib CDF][[perf gcc-4_3_2-dist-chi_squared-cdf..[para 2.61][para (1.376e-006s)]]][[perf gcc-4_3_2-dist-chisq-R-cdf..[para 2.36][para (1.243e-006s)]]][[perf gcc-4_3_2-dist-chi_squared-dcd-cdf..[para *1.00*][para (5.270e-007s)]]]]
-[[__chi_squared_distrib Quantile][[perf gcc-4_3_2-dist-chi_squared-quantile..[para *1.00*][para (4.252e-006s)]]][[perf gcc-4_3_2-dist-chisq-R-quantile..[para 1.34][para (5.700e-006s)]]][[perf gcc-4_3_2-dist-chi_squared-dcd-quantile..[para 3.47][para (1.477e-005s)]]]]
-[[__exp_distrib CDF][[perf gcc-4_3_2-dist-exponential-cdf..[para *1.00*][para (1.342e-007s)]]][[perf gcc-4_3_2-dist-exp-R-cdf..[para 1.25][para (1.677e-007s)]]][NA]]
-[[__exp_distrib Quantile][[perf gcc-4_3_2-dist-exponential-quantile..[para *1.00*][para (8.827e-008s)]]][[perf gcc-4_3_2-dist-exp-R-quantile..[para 1.07][para (9.470e-008s)]]][NA]]
-[[__F_distrib CDF][[perf gcc-4_3_2-dist-fisher_f-cdf..[para 1.62][para (2.324e-006s)]]][[perf gcc-4_3_2-dist-f-R-cdf..[para 1.19][para (1.711e-006s)]]][[perf gcc-4_3_2-dist-f-dcd-cdf..[para *1.00*][para (1.437e-006s)]]]]
-[[__F_distrib Quantile][[perf gcc-4_3_2-dist-fisher_f-quantile..[para 1.53][para (1.577e-005s)]]][[perf gcc-4_3_2-dist-f-R-quantile..[para *1.00*][para (1.033e-005s)]]][[perf gcc-4_3_2-dist-f-dcd-quantile..[para 2.63][para (2.719e-005s)]]]]
-[[__gamma_distrib CDF][[perf gcc-4_3_2-dist-gamma-cdf..[para 3.18][para (1.582e-006s)]]][[perf gcc-4_3_2-dist-gamma-R-cdf..[para 2.63][para (1.309e-006s)]]][[perf gcc-4_3_2-dist-gam-dcd-cdf..[para *1.00*][para (4.980e-007s)]]]]
-[[__gamma_distrib Quantile][[perf gcc-4_3_2-dist-gamma-quantile..[para 2.19][para (4.770e-006s)]]][[perf gcc-4_3_2-dist-gamma-R-quantile..[para 6.94][para (1.513e-005s)]]][[perf gcc-4_3_2-dist-gam-dcd-quantile..[para *1.00*][para (2.179e-006s)]]]]
-
-[[__hypergeometric_distrib CDF][[perf gcc-4_3_2-dist-hypergeometric-cdf..[para 2.20[footnote This result is somewhat misleading: for small values of the parameters there is virtually no difference between the two libraries, but for large values the Boost implementation is /much/ slower, albeit with much improved precision.]][para (3.522e-007s)]]][[perf gcc-4_3_2-dist-hypergeo-R-cdf..[para *1.00*][para (1.601e-007s)]]][NA]]
-[[__hypergeometric_distrib Quantile][[perf gcc-4_3_2-dist-hypergeometric-quantile..[para *1.00*][para (8.279e-007s)]]][[perf gcc-4_3_2-dist-hypergeo-R-quantile..[para 2.57][para (2.125e-006s)]]][NA]]
-[[__logistic_distrib CDF][[perf gcc-4_3_2-dist-logistic-cdf..[para *1.00*][para (9.398e-008s)]]][[perf gcc-4_3_2-dist-logis-R-cdf..[para 2.75][para (2.588e-007s)]]][NA]]
-[[__logistic_distrib Quantile][[perf gcc-4_3_2-dist-logistic-quantile..[para *1.00*][para (9.893e-008s)]]][[perf gcc-4_3_2-dist-logis-R-quantile..[para 1.30][para (1.285e-007s)]]][NA]]
-
-[[__lognormal_distrib CDF][[perf gcc-4_3_2-dist-lognormal-cdf..[para *1.00*][para (1.831e-007s)]]][[perf gcc-4_3_2-dist-lnorm-R-cdf..[para 1.39][para (2.539e-007s)]]][NA]]
-[[__lognormal_distrib Quantile][[perf gcc-4_3_2-dist-lognormal-quantile..[para 1.10][para (5.551e-007s)]]][[perf gcc-4_3_2-dist-lnorm-R-quantile..[para *1.00*][para (5.037e-007s)]]][NA]]
-[[__negative_binomial_distrib CDF][[perf gcc-4_3_2-dist-negative_binomial-cdf..[para 1.08][para (1.563e-006s)]]][[perf gcc-4_3_2-dist-nbinom-R-cdf..[para *1.00*][para (1.444e-006s)]]][[perf gcc-4_3_2-dist-negative_binomial-dcd-cdf..[para *1.00*][para (1.444e-006s)]]]]
-[[__negative_binomial_distrib Quantile][[perf gcc-4_3_2-dist-negative_binomial-quantile..[para *1.00*][para (1.700e-005s)]]][[perf gcc-4_3_2-dist-nbinom-R-quantile..[para 25.92[footnote The R library appears to use a linear-search strategy, that can perform very badly in a small number of pathological cases, but may or may not be more efficient in "typical" cases]][para (4.407e-004s)]]][[perf gcc-4_3_2-dist-negative_binomial-dcd-quantile..[para 1.93][para (3.274e-005s)]]]]
-
-[[__non_central_chi_squared_distrib CDF][[perf gcc-4_3_2-dist-non_central_chi_squared-cdf..[para 5.06][para (2.841e-005s)]]][[perf gcc-4_3_2-dist-nchisq-R-cdf..[para 25.01][para (1.405e-004s)]]][[perf gcc-4_3_2-dist-non_central_chi_squared-dcd-cdf..[para *1.00*][para (5.617e-006s)]]]]
-[[__non_central_chi_squared_distrib Quantile][[perf gcc-4_3_2-dist-non_central_chi_squared-quantile..[para 8.47][para (1.879e-003s)]]][[perf gcc-4_3_2-dist-nchisq-R-quantile..[para 144.91[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (3.214e-002s)]]][[perf gcc-4_3_2-dist-non_central_chi_squared-dcd-quantile..[para *1.00*][para (2.218e-004s)]]]]
-[[__non_central_F_distrib CDF][[perf gcc-4_3_2-dist-non_central_f-cdf..[para 10.33][para (5.868e-005s)]]][[perf gcc-4_3_2-dist-nf-R-cdf..[para 1.42][para (8.058e-006s)]]][[perf gcc-4_3_2-dist-fnc-dcd-cdf..[para *1.00*][para (5.682e-006s)]]]]
-[[__non_central_F_distrib Quantile][[perf gcc-4_3_2-dist-non_central_f-quantile..[para 5.64][para (7.869e-004s)]]][[perf gcc-4_3_2-dist-nf-R-quantile..[para 6.63][para (9.256e-004s)]]][[perf gcc-4_3_2-dist-fnc-dcd-quantile..[para *1.00*][para (1.396e-004s)]]]]
-[[__non_central_t_distrib CDF][[perf gcc-4_3_2-dist-non_central_t-cdf..[para 4.91][para (3.357e-005s)]]][[perf gcc-4_3_2-dist-nt-R-cdf..[para *1.00*][para (6.844e-006s)]]][NA]]
-[[__non_central_t_distrib Quantile][[perf gcc-4_3_2-dist-non_central_t-quantile..[para 1.57][para (9.265e-004s)]]][[perf gcc-4_3_2-dist-nt-R-quantile..[para *1.00*[footnote There are a small number of our test cases where the R library fails to converge on a result: these tend to dominate the performance result.]][para (5.916e-004s)]]][NA]]
-
-[[__normal_distrib CDF][[perf gcc-4_3_2-dist-normal-cdf..[para *1.00*][para (1.074e-007s)]]][[perf gcc-4_3_2-dist-norm-R-cdf..[para 1.16][para (1.245e-007s)]]][[perf gcc-4_3_2-dist-nor-dcd-cdf..[para 5.36][para (5.762e-007s)]]]]
-[[__normal_distrib Quantile][[perf gcc-4_3_2-dist-normal-quantile..[para 1.28][para (1.902e-007s)]]][[perf gcc-4_3_2-dist-norm-R-quantile..[para *1.00*][para (1.490e-007s)]]][[perf gcc-4_3_2-dist-nor-dcd-quantile..[para 10.35][para (1.542e-006s)]]]]
-[[__poisson_distrib CDF][[perf gcc-4_3_2-dist-poisson-cdf..[para 2.43][para (1.198e-006s)]]][[perf gcc-4_3_2-dist-pois-R-cdf..[para 2.25][para (1.110e-006s)]]][[perf gcc-4_3_2-dist-poi-dcd-cdf..[para *1.00*][para (4.937e-007s)]]]]
-[[__poisson_distrib][[perf gcc-4_3_2-dist-poisson-quantile..[para 1.11][para (3.032e-006s)]]][[perf gcc-4_3_2-dist-pois-R-quantile..[para *1.00*][para (2.724e-006s)]]][[perf gcc-4_3_2-dist-poi-dcd-quantile..[para 4.07][para (1.110e-005s)]]]]
-[[__students_t_distrib CDF][[perf gcc-4_3_2-dist-students_t-cdf..[para 2.17][para (2.020e-006s)]]][[perf gcc-4_3_2-dist-t-R-cdf..[para *1.00*][para (9.321e-007s)]]][[perf gcc-4_3_2-dist-t-dcd-cdf..[para 1.10][para (1.021e-006s)]]]]
-[[__students_t_distrib Quantile][[perf gcc-4_3_2-dist-students_t-quantile..[para 1.18][para (3.972e-006s)]]][[perf gcc-4_3_2-dist-t-R-quantile..[para *1.00*][para (3.364e-006s)]]][[perf gcc-4_3_2-dist-t-dcd-quantile..[para 3.89][para (1.308e-005s)]]]]
-[[__weibull_distrib CDF][[perf gcc-4_3_2-dist-weibull-cdf..[para *1.00*][para (3.662e-007s)]]][[perf gcc-4_3_2-dist-weibull-R-cdf..[para 1.04][para (3.808e-007s)]]][NA]]
-[[__weibull_distrib Quantile][[perf gcc-4_3_2-dist-weibull-quantile..[para *1.00*][para (4.112e-007s)]]][[perf gcc-4_3_2-dist-weibull-R-quantile..[para 1.05][para (4.317e-007s)]]][NA]]
-]
-
-[endsect]
-
-[section:perf_test_app The Performance Test Application]
-
-Under ['boost-path]\/libs\/math\/performance you will find a
-(fairly rudimentary) performance test application for this library.
-
-To run this application yourself, build the all the .cpp files in
-['boost-path]\/libs\/math\/performance into an application using
-your usual release-build settings. Run the application with --help
-to see a full list of options, or with --all to test everything
-(which takes quite a while), or with --tune to test the
-[link math_toolkit.perf.tuning available performance tuning options].
-
-If you want to use this application to test the effect of changing
-any of the __policy_section, then you will need to build and run it twice:
-once with the default __policy_section, and then a second time with the
-__policy_section you want to test set as the default.
-
-[endsect]
-
-[endsect]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/libs/math/doc/sf_and_dist/policy.qbk b/libs/math/doc/sf_and_dist/policy.qbk
deleted file mode 100644
index ae6aafcb48..0000000000
--- a/libs/math/doc/sf_and_dist/policy.qbk
+++ /dev/null
@@ -1,896 +0,0 @@
-[section:policy Policies]
-
-[section:pol_overview Policy Overview]
-[policy_overview]
-[endsect] [/section:pol_overview Policy Overview]
-
-[include policy_tutorial.qbk]
-
-[section:pol_ref Policy Reference]
-
-[section:error_handling_policies Error Handling Policies]
-
-There are two orthogonal aspects to error handling:
-
-* What to do (if anything) with the error.
-* What kind of error is being raised.
-
-[h4 Available Actions When an Error is Raised]
-
-What to do with the error is encapsulated by an enumerated type:
-
- namespace boost { namespace math { namespace policies {
-
- enum error_policy_type
- {
- throw_on_error = 0, // throw an exception.
- errno_on_error = 1, // set ::errno & return 0, NaN, infinity or best guess.
- ignore_error = 2, // return 0, NaN, infinity or best guess.
- user_error = 3 // call a user-defined error handler.
- };
-
- }}} // namespaces
-
-The various enumerated values have the following meanings:
-
-[h5 throw_on_error]
-
-Will throw one of the following exceptions, depending upon the
- type of the error:
- [table
- [[Error Type][Exception]]
- [[Domain Error][std::domain_error]]
- [[Pole Error][std::domain_error]]
- [[Overflow Error][std::overflow_error]]
- [[Underflow Error][std::underflow_error]]
- [[Denorm Error][std::underflow_error]]
- [[Evaluation Error][boost::math::evaluation_error]]
- [[Indeterminate Result Error][std::domain_error]]
- ]
-
-[h5 errno_on_error]
-
-Will set global __errno `::errno` to one of the following values depending
-upon the error type (often EDOM = 33 and ERANGE = 34),
-and then return the same value as if the error
-had been ignored:
- [table
- [[Error Type][errno value]]
- [[Domain Error][EDOM]]
- [[Pole Error][EDOM]]
- [[Overflow Error][ERANGE]]
- [[Underflow Error][ERANGE]]
- [[Denorm Error][ERANGE]]
- [[Evaluation Error][EDOM]]
- [[Indeterminate Result Error][EDOM]]
- ]
-
-[h5 ignore_error]
-
-Will return one of the values below depending on the error type (`::errno` is NOT changed)::
- [table
- [[Error Type][Returned Value]]
- [[Domain Error][std::numeric_limits<T>::quiet_NaN()]]
- [[Pole Error][std::numeric_limits<T>::quiet_NaN()]]
- [[Overflow Error][std::numeric_limits<T>::infinity()]]
- [[Underflow Error][0]]
- [[Denorm Error][The denormalised value.]]
- [[Evaluation Error][The best guess (perhaps NaN) as to the result: which
- may be significantly in error.]]
- [[Indeterminate Result Error][Depends on the function where the error occurred]]
- ]
-
-[h5 user_error]
-
-Will call a user defined error handler: these are forward declared
-in boost/math/policies/error_handling.hpp, but the actual definitions
-must be provided by the user:
-
- namespace boost{ namespace math{ namespace policies{
-
- template <class T>
- T user_domain_error(const char* function, const char* message, const T& val);
-
- template <class T>
- T user_pole_error(const char* function, const char* message, const T& val);
-
- template <class T>
- T user_overflow_error(const char* function, const char* message, const T& val);
-
- template <class T>
- T user_underflow_error(const char* function, const char* message, const T& val);
-
- template <class T>
- T user_denorm_error(const char* function, const char* message, const T& val);
-
- template <class T>
- T user_rounding_error(const char* function, const char* message, const T& val);
-
- template <class T>
- T user_evaluation_error(const char* function, const char* message, const T& val);
-
- template <class T>
- T user_indeterminate_result_error(const char* function, const char* message, const T& val);
-
- }}} // namespaces
-
-Note that the strings ['function] and ['message] may contain "%1%" format specifiers
-designed to be used in conjunction with Boost.Format.
-If these strings are to be presented to the program's end-user then
-the "%1%" format specifier
-should be replaced with the name of type T in the ['function] string, and
-if there is a %1% specifier in the ['message] string then it
-should be replaced with the value of ['val].
-
-There is more information on user-defined error handlers in
-the [link math_toolkit.policy.pol_tutorial.user_def_err_pol
-tutorial here].
-
-[h4 Kinds of Error Raised]
-
-There are six kinds of error reported by this library,
-which are summarised in the following table:
-
-[table
-[[Error Type]
- [Policy Class]
- [Description]]
-[[Domain Error]
- [boost::math::policies::domain_error<['action]>]
- [Raised when more or more arguments are outside the
- defined range of the function.
-
- Defaults to `boost::math::policies::domain_error<throw_on_error>`
-
- When the action is set to ['throw_on_error]
- then throws `std::domain_error`]]
-[[Pole Error]
- [boost::math::policies::pole_error<['action]>]
- [Raised when more or more arguments would cause the function
- to be evaluated at a pole.
-
- Defaults to `boost::math::policies::pole_error<throw_on_error>`
-
- When the action is ['throw_on_error] then
- throw a `std::domain_error`]]
-[[Overflow Error]
- [boost::math::policies::overflow_error<['action]>]
- [Raised when the result of the function is outside
- the representable range of the floating point type used.
-
- Defaults to `boost::math::policies::overflow_error<throw_on_error>`.
-
- When the action is ['throw_on_error] then throws a `std::overflow_error`.]]
-[[Underflow Error]
- [boost::math::policies::underflow_error<['action]>]
- [Raised when the result of the function is too small
- to be represented in the floating point type used.
-
- Defaults to `boost::math::policies::underflow_error<ignore_error>`
-
- When the specified action is ['throw_on_error] then
- throws a `std::underflow_error`]]
-[[Denorm Error]
- [boost::math::policies::denorm_error<['action]>]
- [Raised when the result of the function is a
- denormalised value.
-
- Defaults to `boost::math::policies::denorm_error<ignore_error>`
-
- When the action is ['throw_on_error] then throws a `std::underflow_error`]]
-[[Rounding Error]
- [boost::math::policies::rounding_error<['action]>]
- [Raised When one of the rounding functions __round, __trunc or __modf is
- called with an argument that has no integer representation, or
- is too large to be represented in the result type
-
- Defaults to `boost::math::policies::rounding_error<throw_on_error>`
-
- When the action is ['throw_on_error] then throws `boost::math::rounding_error`]]
-[[Evaluation Error]
- [boost::math::policies::evaluation_error<['action]>]
- [Raised when the result of the function is well defined and
- finite, but we were unable to compute it. Typically
- this occurs when an iterative method fails to converge.
- Of course ideally this error should never be raised: feel free
- to report it as a bug if it is!
-
- Defaults to `boost::math::policies::evaluation_error<throw_on_error>`
-
- When the action is ['throw_on_error] then throws `boost::math::evaluation_error`]]
-[[Indeterminate Result Error]
- [boost::math::policies::indeterminate_result_error<['action]>]
- [Raised when the result of a function is not defined for the values that
- were passed to it.
-
- Defaults to `boost::math::policies::indeterminate_result_error<ignore_error>`
-
- When the action is ['throw_on_error] then throws `std::domain_error`]]
-]
-
-[h4 Examples]
-
-Suppose we want a call to `tgamma` to behave in a C-compatible way and set global
-`::errno` rather than throw an exception, we can achieve this at the call site
-using:
-
-[import ../../example/policy_ref_snip1.cpp]
-
-[policy_ref_snip1]
-
-Suppose we want a statistical distribution to return infinities,
-rather than throw exceptions, then we can use:
-
-[import ../../example/policy_ref_snip2.cpp]
-
-[policy_ref_snip2]
-
-[endsect] [/section:error_handling_policies Error Handling Policies]
-
-[section:internal_promotion Internal Floating-point Promotion Policies]
-
-Normally when evaluating a function at say `float` precision, maximal
-accuracy is assured by conducting the calculation at `double` precision
-internally, and then rounding the result. There are two policies that
-control whether internal promotion to a higher precision floating-point type takes place, or not:
-
-[table
-[[Policy][Meaning]]
-[[`boost::math::policies::promote_float<B>`]
- [Indicates whether `float` arguments should be promoted to `double`
- precision internally: defaults to `boost::math::policies::promote_float<true>`]]
-[[`boost::math::policies::promote_double<B>`]
- [Indicates whether `double` arguments should be promoted to `long double`
- precision internally: defaults to `boost::math::policies::promote_double<true>`]]
-]
-
-[h4 Examples]
-
-Suppose we want `tgamma` to be evaluated without internal promotion to
-`long double`, then we could use:
-
-[import ../../example/policy_ref_snip3.cpp]
-[policy_ref_snip3]
-
-Alternatively, suppose we want a distribution to perform calculations
-without promoting `float` to `double`, then we could use:
-
-[import ../../example/policy_ref_snip4.cpp]
-[policy_ref_snip4]
-
-[endsect] [/section:internal_promotion Internal Promotion Policies]
-
-[section:assert_undefined Mathematically Undefined Function Policies]
-
-There are some functions that are generic
-(they are present for all the statistical distributions supported)
-but which may be mathematically undefined for certain distributions, but defined for others.
-
-For example, the Cauchy distribution does not have a meaningful mean,
-so what should
-
- mean(cauchy<>());
-
-return, and should such an expression even compile at all?
-
-The default behaviour is for all such functions to not compile at all
- - in fact they will raise a
-[@http://www.boost.org/libs/static_assert/index.html static assertion]
- - but by changing the policy
-we can have them return the result of a domain error instead
-(which may well throw an exception, depending on the error handling policy).
-
-This behaviour is controlled by the `assert_undefined<>` policy:
-
- namespace boost{ namespace math{ namespace policies {
-
- template <bool b>
- class assert_undefined;
-
- }}} //namespaces
-
-For example:
-
- #include <boost/math/distributions/cauchy.hpp>
-
- using namespace boost::math::policies;
- using namespace boost::math;
-
- // This will not compile, cauchy has no mean!
- double m1 = mean(cauchy());
-
- // This will compile, but raises a domain error!
- double m2 = mean(cauchy_distribution<double, policy<assert_undefined<false> > >());
-
-`policy<assert_undefined<false>` behaviour can also be obtained by defining the macro
-
- #define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
-
-at the head of the file - see __policy_macros.
-
-[endsect][/section:assert_undefined Mathematically Undefined Function Policies]
-
-[section:discrete_quant_ref Discrete Quantile Policies]
-
-If a statistical distribution is ['discrete] then the random variable
-can only have integer values - this leaves us with a problem when calculating
-quantiles - we can either ignore the discreteness of the distribution and return
-a real value, or we can round to an integer. As it happens, computing integer
-values can be substantially faster than calculating a real value, so there are
-definite advantages to returning an integer, but we do then need to decide
-how best to round the result. The `discrete_quantile` policy defines how
-discrete quantiles work, and how integer results are rounded:
-
- enum discrete_quantile_policy_type
- {
- real,
- integer_round_outwards, // default
- integer_round_inwards,
- integer_round_down,
- integer_round_up,
- integer_round_nearest
- };
-
- template <discrete_quantile_policy_type>
- struct discrete_quantile;
-
-The values that `discrete_quantile` can take have the following meanings:
-
-[h5 real]
-
-Ignores the discreteness of the distribution, and returns a real-valued
-result. For example:
-
-[import ../../example/policy_ref_snip5.cpp]
-[policy_ref_snip5]
-
-Results in `x = 27.3898` and `y = 68.1584`.
-
-[h5 integer_round_outwards]
-
-This is the default policy: an integer value is returned so that:
-
-* Lower quantiles (where the probability is less than 0.5) are rounded
-down.
-* Upper quantiles (where the probability is greater than 0.5) are rounded up.
-
-This is normally the safest rounding policy, since it ensures that both
-one and two sided intervals are guaranteed to have ['at least]
-the requested coverage. For example:
-
-[import ../../example/policy_ref_snip6.cpp]
-[policy_ref_snip6]
-
-Results in `x = 27` (rounded down from 27.3898) and `y = 69` (rounded up from 68.1584).
-
-The variables x and y are now defined so that:
-
- cdf(negative_binomial(20), x) <= 0.05
- cdf(negative_binomial(20), y) >= 0.95
-
-In other words we guarantee ['at least 90% coverage in the central region overall],
-and also ['no more than 5% coverage in each tail].
-
-[h5 integer_round_inwards]
-
-This is the opposite of ['integer_round_outwards]: an integer value is returned so that:
-
-* Lower quantiles (where the probability is less than 0.5) are rounded
-['up].
-* Upper quantiles (where the probability is greater than 0.5) are rounded ['down].
-
-For example:
-
-[import ../../example/policy_ref_snip7.cpp]
-
-[policy_ref_snip7]
-
-Results in `x = 28` (rounded up from 27.3898) and `y = 68` (rounded down from 68.1584).
-
-The variables x and y are now defined so that:
-
- cdf(negative_binomial(20), x) >= 0.05
- cdf(negative_binomial(20), y) <= 0.95
-
-In other words we guarantee ['at no more than 90% coverage in the central region overall],
-and also ['at least 5% coverage in each tail].
-
-[h5 integer_round_down]
-
-Always rounds down to an integer value, no matter whether it's an upper
-or a lower quantile.
-
-[h5 integer_round_up]
-
-Always rounds up to an integer value, no matter whether it's an upper
-or a lower quantile.
-
-[h5 integer_round_nearest]
-
-Always rounds to the nearest integer value, no matter whether it's an upper
-or a lower quantile. This will produce the requested coverage
-['in the average case], but for any specific example may results in
-either significantly more or less coverage than the requested amount.
-For example:
-
-For example:
-
-[import ../../example/policy_ref_snip8.cpp]
-
-[policy_ref_snip8]
-
-Results in `x = 27` (rounded from 27.3898) and `y = 68` (rounded from 68.1584).
-
-[endsect][/section:discrete_quant_ref Discrete Quantile Policies]
-
-[section:precision_pol Precision Policies]
-
-There are two equivalent policies that effect the ['working precision]
-used to calculate results, these policies both default to 0 - meaning
-calculate to the maximum precision available in the type being used
- - but can be set to other values to cause lower levels of precision
-to be used. One might want to trade precision for evaluation speed.
-
- namespace boost{ namespace math{ namespace policies{
-
- template <int N>
- digits10;
-
- template <int N>
- digits2;
-
- }}} // namespaces
-
-As you would expect, ['digits10] specifies the number of decimal digits
-to use, and ['digits2] the number of binary digits. Internally, whichever
-is used, the precision is always converted to ['binary digits].
-
-These policies are specified at compile-time, because many of the special
-functions use compile-time-dispatch to select which approximation to use
-based on the precision requested and the numeric type being used.
-
-For example we could calculate `tgamma` to approximately 5 decimal digits using:
-
-[import ../../example/policy_ref_snip9.cpp]
-
-[policy_ref_snip9]
-
-Or again using helper function `make_policy`:
-
-[import ../../example/policy_ref_snip10.cpp]
-
-[policy_ref_snip10]
-
-And for a quantile of a distribution to approximately 25-bit precision:
-
-[import ../../example/policy_ref_snip11.cpp]
-
-[policy_ref_snip11]
-
-[endsect][/section:precision_pol Precision Policies]
-
-[section:iteration_pol Iteration Limits Policies]
-
-There are two policies that effect the iterative algorithms
-used to implement the special functions in this library:
-
- template <unsigned long limit = BOOST_MATH_MAX_SERIES_ITERATION_POLICY>
- class max_series_iterations;
-
- template <unsigned long limit = BOOST_MATH_MAX_ROOT_ITERATION_POLICY>
- class max_root_iterations;
-
-The class `max_series_iterations` determines the maximum number of
-iterations permitted in a series evaluation, before the special
-function gives up and returns the result of __evaluation_error.
-
-The class `max_root_iterations` determines the maximum number
-of iterations permitted in a root-finding algorithm before the special
-function gives up and returns the result of __evaluation_error.
-
-[endsect] [/section:iteration_pol Iteration Limits Policies]
-
-[section:policy_defaults Using Macros to Change the Policy Defaults]
-
-You can use the various macros below to change any (or all) of the policies.
-
-You can make a local change by placing a macro definition *before*
-a function or distribution #include.
-
-[caution There is a danger of One-Definition-Rule violations if you
-add ad-hoc macros to more than one source files: these must be set the same in *every
-translation unit*.]
-
-[caution If you place it after the #include it will have no effect,
-(and it will affect only any other following #includes).
-This is probably not what you intend!]
-
-If you want to alter the defaults for any or all of
-the policies for *all* functions and distributions, installation-wide,
-then you can do so by defining various macros in
-[@../../../../../boost/math/tools/user.hpp boost/math/tools/user.hpp].
-
-[h5 BOOST_MATH_DOMAIN_ERROR_POLICY]
-
-Defines what happens when a domain error occurs, if not defined then
-defaults to `throw_on_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_POLE_ERROR_POLICY]
-
-Defines what happens when a pole error occurs, if not defined then
-defaults to `throw_on_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_OVERFLOW_ERROR_POLICY]
-
-Defines what happens when an overflow error occurs, if not defined then
-defaults to `throw_on_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_ROUNDING_ERROR_POLICY]
-
-Defines what happens when a rounding error occurs, if not defined then
-defaults to `throw_on_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_EVALUATION_ERROR_POLICY]
-
-Defines what happens when an internal evaluation error occurs, if not defined then
-defaults to `throw_on_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_UNDERFLOW_ERROR_POLICY]
-
-Defines what happens when an overflow error occurs, if not defined then
-defaults to `ignore_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_DENORM_ERROR_POLICY]
-
-Defines what happens when a denormalisation error occurs, if not defined then
-defaults to `ignore_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY]
-
-Defines what happens when the result is indeterminate, but where there
-is none the less a convention for the result. If not defined then
-defaults to `ignore_error`, but can be set to any of the enumerated
-actions for error handing: `throw_on_error`, `errno_on_error`,
-`ignore_error` or `user_error`.
-
-[h5 BOOST_MATH_DIGITS10_POLICY]
-
-Defines how many decimal digits to use in internal computations:
-defaults to `0` - meaning use all available digits - but can be set
-to some other decimal value. Since setting this is likely to have
-a substantial impact on accuracy, it's not generally recommended
-that you change this from the default.
-
-[h5 BOOST_MATH_PROMOTE_FLOAT_POLICY]
-
-Determines whether `float` types get promoted to `double`
-internally to ensure maximum precision in the result, defaults
-to `true`, but can be set to `false` to turn promotion of
-`float`'s off.
-
-[h5 BOOST_MATH_PROMOTE_DOUBLE_POLICY]
-
-Determines whether `double` types get promoted to `long double`
-internally to ensure maximum precision in the result, defaults
-to `true`, but can be set to `false` to turn promotion of
-`double`'s off.
-
-[h5 BOOST_MATH_DISCRETE_QUANTILE_POLICY]
-
-Determines how discrete quantiles return their results: either
-as an integer, or as a real value, can be set to one of the
-enumerated values: `real`, `integer_round_outwards`, `integer_round_inwards`,
-`integer_round_down`, `integer_round_up`, `integer_round_nearest`. Defaults to
-`integer_round_outwards`.
-
-[h5 BOOST_MATH_ASSERT_UNDEFINED_POLICY]
-
-Determines whether functions that are mathematically undefined
-for a specific distribution compile or raise a static (i.e. compile-time)
-assertion. Defaults to `true`: meaning that any mathematically
-undefined function will not compile. When set to `false` then the function
-will compile but return the result of a domain error: this can be useful
-for some generic code, that needs to work with all distributions and determine
-at runtime whether or not a particular property is well defined.
-
-[h5 BOOST_MATH_MAX_SERIES_ITERATION_POLICY]
-
-Determines how many series iterations a special function is permitted
-to perform before it gives up and returns an __evaluation_error:
-Defaults to 1000000.
-
-[h5 BOOST_MATH_MAX_ROOT_ITERATION_POLICY]
-
-Determines how many root-finding iterations a special function is permitted
-to perform before it gives up and returns an __evaluation_error:
-Defaults to 200.
-
-[h5 Example]
-
-Suppose we want overflow errors to set `::errno` and return an infinity,
-discrete quantiles to return a real-valued result (rather than round to
-integer), and for mathematically undefined functions to compile, but return
-a domain error. Then we could add the following to boost/math/tools/user.hpp:
-
- #define BOOST_MATH_OVERFLOW_ERROR_POLICY errno_on_error
- #define BOOST_MATH_DISCRETE_QUANTILE_POLICY real
- #define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
-
-or we could place these definitions *before*
-
- #include <boost/math/distributions/normal.hpp>
- using boost::math::normal_distribution;
-
-in a source .cpp file.
-
-[endsect][/section:policy_defaults Changing the Policy Defaults]
-
-[section:namespace_pol Setting Polices at Namespace Scope]
-
-Sometimes what you really want to do is bring all the special functions,
-or all the distributions into a specific namespace-scope, along with
-a specific policy to use with them. There are two macros defined to
-assist with that:
-
- BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(Policy)
-
-and:
-
- BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)
-
-You can use either of these macros after including any special function
-or distribution header. For example:
-
-[import ../../example/policy_ref_snip12.cpp]
-
-[policy_ref_snip12]
-
-In this example, using BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS results in
-a set of thin inline forwarding functions being defined:
-
- template <class T>
- inline T tgamma(T a){ return ::boost::math::tgamma(a, mypolicy()); }
-
- template <class T>
- inline T lgamma(T a) ( return ::boost::math::lgamma(a, mypolicy()); }
-
-and so on. Note that while a forwarding function is defined for all the special
-functions, however, unless you include the specific header for the special
-function you use (or boost/math/special_functions.hpp to include everything),
-you will get linker errors from functions that are forward declared, but not
-defined.
-
-We can do the same thing with the distributions, but this time we need to
-specify the floating-point type to use:
-
-[import ../../example/policy_ref_snip13.cpp]
-
-[policy_ref_snip13]
-
-In this example the result of BOOST_MATH_DECLARE_DISTRIBUTIONS is to
-declare a typedef for each distribution like this:
-
- typedef boost::math::cauchy_distribution<double, my_policy> cauchy;
- tyepdef boost::math::gamma_distribution<double, my_policy> gamma;
-
-and so on. The name given to each typedef is the name of the distribution
-with the "_distribution" suffix removed.
-
-[endsect][/section Changing the Policy Defaults]
-
-[section:pol_ref_ref Policy Class Reference]
-
-There's very little to say here, the `policy` class is just a rag-bag
-compile-time container for a collection of policies:
-
-```#include <boost/math/policies/policy.hpp>```
-
-
- namespace boost{
- namespace math{
- namespace policies
-
- template <class A1 = default_policy,
- class A2 = default_policy,
- class A3 = default_policy,
- class A4 = default_policy,
- class A5 = default_policy,
- class A6 = default_policy,
- class A7 = default_policy,
- class A8 = default_policy,
- class A9 = default_policy,
- class A10 = default_policy,
- class A11 = default_policy,
- class A12 = default_policy,
- class A13 = default_policy>
- struct policy
- {
- public:
- typedef ``['computed-from-template-arguments]`` domain_error_type;
- typedef ``['computed-from-template-arguments]`` pole_error_type;
- typedef ``['computed-from-template-arguments]`` overflow_error_type;
- typedef ``['computed-from-template-arguments]`` underflow_error_type;
- typedef ``['computed-from-template-arguments]`` denorm_error_type;
- typedef ``['computed-from-template-arguments]`` rounding_error_type;
- typedef ``['computed-from-template-arguments]`` evaluation_error_type;
- typedef ``['computed-from-template-arguments]`` indeterminate_result_error_type;
- typedef ``['computed-from-template-arguments]`` precision_type;
- typedef ``['computed-from-template-arguments]`` promote_float_type;
- typedef ``['computed-from-template-arguments]`` promote_double_type;
- typedef ``['computed-from-template-arguments]`` discrete_quantile_type;
- typedef ``['computed-from-template-arguments]`` assert_undefined_type;
- };
-
- template <...argument list...>
- typename normalise<policy<>, A1>::type make_policy(...argument list..);
-
- template <class Policy,
- class A1 = default_policy,
- class A2 = default_policy,
- class A3 = default_policy,
- class A4 = default_policy,
- class A5 = default_policy,
- class A6 = default_policy,
- class A7 = default_policy,
- class A8 = default_policy,
- class A9 = default_policy,
- class A10 = default_policy,
- class A11 = default_policy,
- class A12 = default_policy,
- class A13 = default_policy>
- struct normalise
- {
- typedef ``computed-from-template-arguments`` type;
- };
-
-The member typedefs of class `policy` are intended for internal use
-but are documented briefly here for the sake of completeness.
-
- policy<...>::domain_error_type
-
-Specifies how domain errors are handled, will be an instance of
-`boost::math::policies::domain_error<>` with the template argument to
-`domain_error` one of the `error_policy_type` enumerated values.
-
- policy<...>::pole_error_type
-
-Specifies how pole-errors are handled, will be an instance of
-`boost::math::policies::pole_error<>` with the template argument to
-`pole_error` one of the `error_policy_type` enumerated values.
-
- policy<...>::overflow_error_type
-
-Specifies how overflow errors are handled, will be an instance of
-`boost::math::policies::overflow_error<>` with the template argument to
-`overflow_error` one of the `error_policy_type` enumerated values.
-
- policy<...>::underflow_error_type
-
-Specifies how underflow errors are handled, will be an instance of
-`boost::math::policies::underflow_error<>` with the template argument to
-`underflow_error` one of the `error_policy_type` enumerated values.
-
- policy<...>::denorm_error_type
-
-Specifies how denorm errors are handled, will be an instance of
-`boost::math::policies::denorm_error<>` with the template argument to
-`denorm_error` one of the `error_policy_type` enumerated values.
-
- policy<...>::rounding_error_type
-
-Specifies how rounding errors are handled, will be an instance of
-`boost::math::policies::rounding_error<>` with the template argument to
-`rounding_error` one of the `error_policy_type` enumerated values.
-
- policy<...>::evaluation_error_type
-
-Specifies how evaluation errors are handled, will be an instance of
-`boost::math::policies::evaluation_error<>` with the template argument to
-`evaluation_error` one of the `error_policy_type` enumerated values.
-
- policy<...>::indeterminate_error_type
-
-Specifies how indeterminate result errors are handled, will be an instance of
-`boost::math::policies::indeterminate_result_error<>` with the template argument
-to `indeterminate_result_error` one of the `error_policy_type` enumerated
-values.
-
- policy<...>::precision_type
-
-Specifies the internal precision to use in binary digits (uses zero
-to represent whatever the default precision is). Will be an instance
-of `boost::math::policies::digits2<N>` which in turn inherits from
-`boost::mpl::int_<N>`.
-
- policy<...>::promote_float_type
-
-Specifies whether or not to promote `float` arguments to `double` precision
-internally. Will be an instance of `boost::math::policies::promote_float<B>`
-which in turn inherits from `boost::mpl::bool_<B>`.
-
- policy<...>::promote_double_type
-
-Specifies whether or not to promote `double` arguments to `long double` precision
-internally. Will be an instance of `boost::math::policies::promote_float<B>`
-which in turn inherits from `boost::mpl::bool_<B>`.
-
- policy<...>::discrete_quantile_type
-
-Specifies how discrete quantiles are evaluated, will be an instance
-of `boost::math::policies::discrete_quantile<>` instantiated with one of
-the `discrete_quantile_policy_type` enumerated type.
-
- policy<...>::assert_undefined_type
-
-Specifies whether mathematically-undefined properties are
-asserted as compile-time errors, or treated as runtime errors
-instead. Will be an instance of `boost::math::policies::assert_undefined<B>`
-which in turn inherits from `boost::math::mpl::bool_<B>`.
-
-
- template <...argument list...>
- typename normalise<policy<>, A1>::type make_policy(...argument list..);
-
-`make_policy` is a helper function that converts a list of policies into
-a normalised `policy` class.
-
- template <class Policy,
- class A1 = default_policy,
- class A2 = default_policy,
- class A3 = default_policy,
- class A4 = default_policy,
- class A5 = default_policy,
- class A6 = default_policy,
- class A7 = default_policy,
- class A8 = default_policy,
- class A9 = default_policy,
- class A10 = default_policy,
- class A11 = default_policy,
- class A12 = default_policy,
- class A13 = default_policy>
- struct normalise
- {
- typedef ``computed-from-template-arguments`` type;
- };
-
-The `normalise` class template converts one instantiation of the
-`policy` class into a normalised form. This is used internally
-to reduce code bloat: so that instantiating a special function
-on `policy<A,B>` or `policy<B,A>` actually both generate the same
-code internally.
-
-Further more, `normalise` can be used to combine
-a policy with one or more policies: for example many of the
-special functions will use this to set policies which they don't
-make use of to their default values, before forwarding to the actual
-implementation. In this way code bloat is reduced, since the
-actual implementation depends only on the policy types that they
-actually use.
-
-[endsect][/section:pol_ref_ref Policy Class Reference]
-
-[endsect][/section:pol_ref Policy Reference]
-[endsect][/section:policy Policies]
-
-[/ policy.qbk
- Copyright 2007, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
diff --git a/libs/math/doc/sf_and_dist/policy_tutorial.qbk b/libs/math/doc/sf_and_dist/policy_tutorial.qbk
deleted file mode 100644
index f2b231cd86..0000000000
--- a/libs/math/doc/sf_and_dist/policy_tutorial.qbk
+++ /dev/null
@@ -1,509 +0,0 @@
-
-[section:pol_tutorial Policy Tutorial]
-
-[section:what_is_a_policy So Just What is a Policy Anyway?]
-
-A policy is a compile-time mechanism for customising the behaviour of a
-special function, or a statistical distribution. With Policies you can
-control:
-
-* What action to take when an error occurs.
-* What happens when you call a function that is mathematically undefined
-(for example, if you ask for the mean of a Cauchy distribution).
-* What happens when you ask for a quantile of a discrete distribution.
-* Whether the library is allowed to internally promote `float` to `double`
-and `double` to `long double` in order to improve precision.
-* What precision to use when calculating the result.
-
-Some of these policies could arguably be runtime variables, but then we couldn't
-use compile-time dispatch internally to select the best evaluation method
-for the given policies.
-
-For this reason a Policy is a /type/: in fact it's an instance of the
-class template `boost::math::policies::policy<>`. This class is just a
-compile-time-container of user-selected policies (sometimes called a type-list):
-
- using namespace boost::math::policies;
- //
- // Define a policy that sets ::errno on overflow, and does
- // not promote double to long double internally:
- //
- typedef policy<domain_error<errno_on_error>, promote_double<false> > mypolicy;
-
-[endsect][/section:what_is_a_policy So Just What is a Policy Anyway?]
-
-[section:policy_tut_defaults Policies Have Sensible Defaults]
-
-Most of the time you can just ignore the policy framework.
-
-['*The defaults for the various policies are as follows,
-if these work OK for you then you can stop reading now!]
-
-[variablelist
-[[Domain Error][Throws a `std::domain_error` exception.]]
-[[Pole Error][Occurs when a function is evaluated at a pole: throws a `std::domain_error` exception.]]
-[[Overflow Error][Throws a `std::overflow_error` exception.]]
-[[Underflow][Ignores the underflow, and returns zero.]]
-[[Denormalised Result][Ignores the fact that the result is denormalised, and returns it.]]
-[[Rounding Error][Throws a `boost::math::rounding_error` exception.]]
-[[Internal Evaluation Error][Throws a `boost::math::evaluation_error` exception.]]
-[[Indeterminate Result Error][Returns a result that depends on the function where the error occurred.]]
-[[Promotion of float to double][Does occur by default - gives full float precision results.]]
-[[Promotion of double to long double][Does occur by default if long double offers
- more precision than double.]]
-[[Precision of Approximation Used][By default uses an approximation that
- will result in the lowest level of error for the type of the result.]]
-[[Behaviour of Discrete Quantiles]
- [
- The quantile function will by default return an integer result that has been
- /rounded outwards/. That is to say lower quantiles (where the probability is
- less than 0.5) are rounded downward, and upper quantiles (where the probability
- is greater than 0.5) are rounded upwards. This behaviour
- ensures that if an X% quantile is requested, then /at least/ the requested
- coverage will be present in the central region, and /no more than/
- the requested coverage will be present in the tails.
-
-This behaviour can be changed so that the quantile functions are rounded
- differently, or even return a real-valued result using
- [link math_toolkit.policy.pol_overview Policies]. It is strongly
- recommended that you read the tutorial
- [link math_toolkit.policy.pol_tutorial.understand_dis_quant
- Understanding Quantiles of Discrete Distributions] before
- using the quantile function on a discrete distribution. The
- [link math_toolkit.policy.pol_ref.discrete_quant_ref reference docs]
- describe how to change the rounding policy
- for these distributions.
-]]
-]
-
-What's more, if you define your own policy type, then it automatically
-inherits the defaults for any policies not explicitly set, so given:
-
- using namespace boost::math::policies;
- //
- // Define a policy that sets ::errno on overflow, and does
- // not promote double to long double internally:
- //
- typedef policy<domain_error<errno_on_error>, promote_double<false> > mypolicy;
-
-then `mypolicy` defines a policy where only the overflow error handling and
-`double`-promotion policies differ from the defaults.
-
-[endsect][/section:policy_tut_defaults Policies Have Sensible Defaults]
-
-[section:policy_usage So How are Policies Used Anyway?]
-
-The details follow later, but basically policies can be set by either:
-
-* Defining some macros that change the default behaviour: [*this is the
- recommended method for setting installation-wide policies].
-* By instantiating a distribution object with an explicit policy:
- this is mainly reserved for ad hoc policy changes.
-* By passing a policy to a special function as an optional final argument:
- this is mainly reserved for ad hoc policy changes.
-* By using some helper macros to define a set of functions or distributions
-in the current namespace that use a specific policy: [*this is the
-recommended method for setting policies on a project- or translation-unit-wide
-basis].
-
-The following sections introduce these methods in more detail.
-
-[endsect][/section:policy_usage So How are Policies Used Anyway?]
-
-[section:changing_policy_defaults Changing the Policy Defaults]
-
-The default policies used by the library are changed by the usual
-configuration macro method.
-
-For example, passing `-DBOOST_MATH_DOMAIN_ERROR_POLICY=errno_on_error` to
-your compiler will cause domain errors to set `::errno` and return a __NaN
-rather than the usual default behaviour of throwing a `std::domain_error`
-exception.
-
-[tip For Microsoft Visual Studio,you can add to the Project Property Page,
-C/C++, Preprocessor, Preprocessor definitions like:
-
-``BOOST_MATH_ASSERT_UNDEFINED_POLICY=0
-BOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error``
-
-This may be helpful to avoid complications with pre-compiled headers
-that may mean that the equivalent definitions in source code:
-
-``#define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
-#define BOOST_MATH_OVERFLOW_ERROR_POLICY errno_on_error``
-
-*may be ignored*.
-
-The compiler command line shows:
-
-``/D "BOOST_MATH_ASSERT_UNDEFINED_POLICY=0"
-/D "BOOST_MATH_OVERFLOW_ERROR_POLICY=errno_on_error"``
-] [/MSVC tip]
-
-There is however a very important caveat to this:
-
-[important
-[*['Default policies changed by setting configuration macros must be changed
-uniformly in every translation unit in the program.]]
-
-Failure to follow this rule may result in violations of the "One
-Definition Rule (ODR)" and result in unpredictable program behaviour.]
-
-That means there are only two safe ways to use these macros:
-
-* Edit them in [@../../../../../boost/math/tools/user.hpp boost/math/tools/user.hpp],
-so that the defaults are set on an installation-wide basis.
-Unfortunately this may not be convenient if
-you are using a pre-installed Boost distribution (on Linux for example).
-* Set the defines in your project's Makefile or build environment, so that they
-are set uniformly across all translation units.
-
-What you should *not* do is:
-
-* Set the defines in the source file using `#define` as doing so
-almost certainly will break your program, unless you're absolutely
-certain that the program is restricted to a single translation unit.
-
-And, yes, you will find examples in our test programs where we break this
-rule: but only because we know there will always be a single
-translation unit only: ['don't say that you weren't warned!]
-
-[error_handling_example]
-
-[endsect][/section:changing_policy_defaults Changing the Policy Defaults]
-
-[section:ad_hoc_dist_policies Setting Policies for Distributions on an Ad Hoc Basis]
-
-All of the statistical distributions in this library are class templates
-that accept two template parameters:
-real type (float, double ...) and policy (how to handle exceptional events),
-both with sensible defaults, for example:
-
- namespace boost{ namespace math{
-
- template <class RealType = double, class Policy = policies::policy<> >
- class fisher_f_distribution;
-
- typedef fisher_f_distribution<> fisher_f;
-
- }}
-
-This policy gets used by all the accessor functions that accept
-a distribution as an argument, and forwarded to all the functions called
-by these. So if you use the shorthand-typedef for the distribution, then you get
-`double` precision arithmetic and all the default policies.
-
-However, say for example we wanted to evaluate the quantile
-of the binomial distribution at float precision, without internal
-promotion to double, and with the result rounded to the /nearest/
-integer, then here's how it can be done:
-
-[import ../../example/policy_eg_3.cpp]
-
-[policy_eg_3]
-
-Which outputs:
-
-[pre quantile is: 40]
-
-[endsect][/section:ad_hoc_dist_policies Setting Policies for Distributions on an Ad Hoc Basis]
-
-[section:ad_hoc_sf_policies Changing the Policy on an Ad Hoc Basis for the Special Functions]
-
-All of the special functions in this library come in two overloaded forms,
-one with a final "policy" parameter, and one without. For example:
-
- namespace boost{ namespace math{
-
- template <class RealType, class Policy>
- RealType tgamma(RealType, const Policy&);
-
- template <class RealType>
- RealType tgamma(RealType);
-
- }} // namespaces
-
-Normally, the second version is just a forwarding wrapper to the first
-like this:
-
- template <class RealType>
- inline RealType tgamma(RealType x)
- {
- return tgamma(x, policies::policy<>());
- }
-
-So calling a special function with a specific policy
-is just a matter of defining the policy type to use
-and passing it as the final parameter. For example,
-suppose we want `tgamma` to behave in a C-compatible
-fashion and set `::errno` when an error occurs, and never
-throw an exception:
-
-[import ../../example/policy_eg_1.cpp]
-
-[policy_eg_1]
-
-which outputs:
-
-[pre
-Result of tgamma(30000) is: 1.#INF
-errno = 34
-Result of tgamma(-10) is: 1.#QNAN
-errno = 33
-]
-
-Alternatively, for ad hoc use, we can use the `make_policy`
-helper function to create a policy for us: this usage is more
-verbose, so is probably only preferred when a policy is going
-to be used once only:
-
-[import ../../example/policy_eg_2.cpp]
-
-[policy_eg_2]
-
-[endsect][/section:ad_hoc_sf_policies Changing the Policy on an Ad Hoc Basis for the Special Functions]
-
-[section:namespace_policies Setting Policies at Namespace or Translation Unit Scope]
-
-Sometimes what you want to do is just change a set of policies within
-the current scope: *the one thing you should not do in this situation
-is use the configuration macros*, as this can lead to "One Definition
-Rule" violations. Instead this library provides a pair of macros
-especially for this purpose.
-
-Let's consider the special functions first: we can declare a set of
-forwarding functions that all use a specific policy using the
-macro BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(['Policy]). This
-macro should be used either inside a unique namespace set aside for the
-purpose (for example, a C namespace for a C-style policy),
-or an unnamed namespace if you just want the functions
-visible in global scope for the current file only.
-
-[import ../../example/policy_eg_4.cpp]
-
-[policy_eg_4]
-
-The same mechanism works well at file scope as well, by using an unnamed
-namespace, we can ensure that these declarations don't conflict with any
-alternate policies present in other translation units:
-
-[import ../../example/policy_eg_5.cpp]
-
-[policy_eg_5]
-
-Handling policies for the statistical distributions is very similar except that now
-the macro BOOST_MATH_DECLARE_DISTRIBUTIONS accepts two parameters: the
-floating point type to use, and the policy type to apply. For example:
-
- BOOST_MATH_DECLARE_DISTRIBUTIONS(double, mypolicy)
-
-Results a set of typedefs being defined like this:
-
- typedef boost::math::normal_distribution<double, mypolicy> normal;
-
-The name of each typedef is the same as the name of the distribution
-class template, but without the "_distribution" suffix.
-
-[import ../../example/policy_eg_6.cpp]
-
-[policy_eg_6]
-
-[note
-There is an important limitation to note: you can *not use the macros
-BOOST_MATH_DECLARE_DISTRIBUTIONS and BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS
-['in the same namespace]*, as doing so creates ambiguities between functions
-and distributions of the same name.
-]
-
-As before, the same mechanism works well at file scope as well: by using an unnamed
-namespace, we can ensure that these declarations don't conflict with any
-alternate policies present in other translation units:
-
-[import ../../example/policy_eg_7.cpp]
-
-[policy_eg_7]
-
-[endsect][/section:namespace_policies Setting Policies at Namespace or Translation Unit Scope]
-
-[section:user_def_err_pol Calling User Defined Error Handlers]
-
-[import ../../example/policy_eg_8.cpp]
-
-[policy_eg_8]
-
-[import ../../example/policy_eg_9.cpp]
-
-[policy_eg_9]
-
-[endsect][/section:user_def_err_pol Calling User Defined Error Handlers]
-
-[section:understand_dis_quant Understanding Quantiles of Discrete Distributions]
-
-Discrete distributions present us with a problem when calculating the
-quantile: we are starting from a continuous real-valued variable - the
-probability - but the result (the value of the random variable)
-should really be discrete.
-
-Consider for example a Binomial distribution, with a sample size of
-50, and a success fraction of 0.5. There are a variety of ways
-we can plot a discrete distribution, but if we plot the PDF
-as a step-function then it looks something like this:
-
-[$../graphs/binomial_pdf.png]
-
-Now lets suppose that the user asks for a the quantile that corresponds
-to a probability of 0.05, if we zoom in on the CDF for that region here's
-what we see:
-
-[$../graphs/binomial_quantile_1.png]
-
-As can be seen there is no random variable that corresponds to
-a probability of exactly 0.05, so we're left with two choices as
-shown in the figure:
-
-* We could round the result down to 18.
-* We could round the result up to 19.
-
-In fact there's actually a third choice as well: we could "pretend" that the
-distribution was continuous and return a real valued result: in this case we
-would calculate a result of approximately 18.701 (this accurately
-reflects the fact that the result is nearer to 19 than 18).
-
-By using policies we can offer any of the above as options, but that
-still leaves the question: ['What is actually the right thing to do?]
-
-And in particular: ['What policy should we use by default?]
-
-In coming to an answer we should realise that:
-
-* Calculating an integer result is often much faster than
-calculating a real-valued result: in fact in our tests it
-was up to 20 times faster.
-* Normally people calculate quantiles so that they can perform
-a test of some kind: ['"If the random variable is less than N
-then we can reject our null-hypothesis with 90% confidence."]
-
-So there is a genuine benefit to calculating an integer result
-as well as it being "the right thing to do" from a philosophical
-point of view. What's more if someone asks for a quantile at 0.05,
-then we can normally assume that they are asking for
-['[*at least] 95% of the probability to the right of the value chosen,
-and [*no more than] 5% of the probability to the left of the value chosen.]
-
-In the above binomial example we would therefore round the result down to 18.
-
-The converse applies to upper-quantiles: If the probability is greater than
-0.5 we would want to round the quantile up, ['so that [*at least] the requested
-probability is to the left of the value returned, and [*no more than] 1 - the
-requested probability is to the right of the value returned.]
-
-Likewise for two-sided intervals, we would round lower quantiles down,
-and upper quantiles up. This ensures that we have ['at least the requested
-probability in the central region] and ['no more than 1 minus the requested
-probability in the tail areas.]
-
-For example, taking our 50 sample binomial distribution with a success fraction
-of 0.5, if we wanted a two sided 90% confidence interval, then we would ask
-for the 0.05 and 0.95 quantiles with the results ['rounded outwards] so that
-['at least 90% of the probability] is in the central area:
-
-[$../graphs/binomial_pdf_3.png]
-
-So far so good, but there is in fact a trap waiting for the unwary here:
-
- quantile(binomial(50, 0.5), 0.05);
-
-returns 18 as the result, which is what we would expect from the graph above,
-and indeed there is no x greater than 18 for which:
-
- cdf(binomial(50, 0.5), x) <= 0.05;
-
-However:
-
- quantile(binomial(50, 0.5), 0.95);
-
-returns 31, and indeed while there is no x less than 31 for which:
-
- cdf(binomial(50, 0.5), x) >= 0.95;
-
-We might naively expect that for this symmetrical distribution the result
-would be 32 (since 32 = 50 - 18), but we need to remember that the cdf of
-the binomial is /inclusive/ of the random variable. So while the left tail
-area /includes/ the quantile returned, the right tail area always excludes
-an upper quantile value: since that "belongs" to the central area.
-
-Look at the graph above to see what's going on here: the lower quantile
-of 18 belongs to the left tail, so any value <= 18 is in the left tail.
-The upper quantile of 31 on the other hand belongs to the central area,
-so the tail area actually starts at 32, so any value > 31 is in the
-right tail.
-
-Therefore if U and L are the upper and lower quantiles respectively, then
-a random variable X is in the tail area - where we would reject the null
-hypothesis if:
-
- X <= L || X > U
-
-And the a variable X is inside the central region if:
-
- L < X <= U
-
-The moral here is to ['always be very careful with your comparisons
-when dealing with a discrete distribution], and if in doubt,
-['base your comparisons on CDF's instead].
-
-[heading Other Rounding Policies are Available]
-
-As you would expect from a section on policies, you won't be surprised
-to know that other rounding options are available:
-
-[variablelist
-
-[[integer_round_outwards]
- [This is the default policy as described above: lower quantiles
- are rounded down (probability < 0.5), and upper quantiles
- (probability > 0.5) are rounded up.
-
- This gives /no more than/ the requested probability
- in the tails, and /at least/ the requested probability
- in the central area.]]
-[[integer_round_inwards]
- [This is the exact opposite of the default policy:
- lower quantiles
- are rounded up (probability < 0.5),
- and upper quantiles (probability > 0.5) are rounded down.
-
- This gives /at least/ the requested probability
- in the tails, and /no more than/ the requested probability
- in the central area.]]
-[[integer_round_down][This policy will always round the result down
- no matter whether it is an upper or lower quantile]]
-[[integer_round_up][This policy will always round the result up
- no matter whether it is an upper or lower quantile]]
-[[integer_round_nearest][This policy will always round the result
- to the nearest integer
- no matter whether it is an upper or lower quantile]]
-[[real][This policy will return a real valued result
- for the quantile of a discrete distribution: this is
- generally much slower than finding an integer result
- but does allow for more sophisticated rounding policies.]]
-
-]
-
-[import ../../example/policy_eg_10.cpp]
-
-[policy_eg_10]
-
-[endsect]
-
-[endsect][/section:pol_Tutorial Policy Tutorial]
-
-
-[/ math.qbk
- Copyright 2007 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
diff --git a/libs/math/doc/sf_and_dist/pow.qbk b/libs/math/doc/sf_and_dist/pow.qbk
deleted file mode 100644
index de2c942802..0000000000
--- a/libs/math/doc/sf_and_dist/pow.qbk
+++ /dev/null
@@ -1,157 +0,0 @@
-[section:ct_pow Compile Time Power of a Runtime Base]
-
-The `pow` function effectively computes the compile-time integral
-power of a run-time base.
-
-[h4 Synopsis]
-
-[@../../../../../boost/math/special_functions/pow.hpp `#include <boost/math/special_functions/pow.hpp>`]
-
- namespace boost { namespace math {
-
- template <int N, typename T>
- ``__sf_result`` pow(T base);
-
- template <int N, typename T, class Policy>
- ``__sf_result`` pow(T base, const Policy& policy);
-
- }}
-
-[h4 Rationale and Usage]
-
-Computing the power of a number with an exponent that is known
-at compile time is a common need for programmers. In such cases,
-the usual method is to avoid the overhead implied by
-the `pow`, `powf` and `powl` C functions by hardcoding an expression
-such as:
-
- // Hand-written 8th power of a 'base' variable
- double result = base*base*base*base*base*base*base*base;
-
-However, this kind of expression is not really readable (knowing the
-value of the exponent involves counting the number of occurrences of /base/),
-error-prone (it's easy to forget an occurrence), syntactically bulky, and
-non-optimal in terms of performance.
-
-The pow function of Boost.Math helps writing this kind expression along
-with solving all the problems listed above:
-
- // 8th power of a 'base' variable using math::pow
- double result = pow<8>(base);
-
-The expression is now shorter, easier to read, safer, and even faster.
-Indeed, `pow` will compute the expression such that only log2(N)
-products are made for a power of N. For instance in the
-example above, the resulting expression will be the same as if we had
-written this, with only one computation of each identical subexpression:
-
- // Internal effect of pow<8>(base)
- double result = ((base*base)*(base*base))*((base*base)*(base*base));
-
-Only 3 different products were actually computed.
-
-
-[h4 Return Type]
-
-The return type of these functions is computed using the __arg_pomotion_rules.
-For example:
-
-* If T is a `float`, the return type is a `float`.
-* If T is a `long double`, the return type is a `long double`.
-* Otherwise, the return type is a `double`.
-
-[h4 Policies]
-
-[optional_policy]
-
-[h4 Error Handling]
-
-Two cases of errors can occur when using `pow`:
-
-* In case of null base and negative exponent, an __overflow_error occurs since
-this operation is a division by 0 (it equals to 1/0).
-* In case of null base and null exponent, an __indeterminate_result_error
-occurs since the result of this operation is indeterminate.
-Those errors follow the
-[link math_toolkit.main_overview.error_handling
-general policies of error handling in Boost.Math].
-
-The default overflow error policy is `throw_on_error`. A call like `pow<-2>(0)`
-will thus throw a `std::overflow_error` exception. As shown in the
-link given above, other error handling policies can be used:
-
-* `errno_on_error`: Sets `::errno` to `ERANGE` and returns `std::numeric_limits<T>::infinity()`.
-* `ignore_error`: Returns `std::numeric_limits<T>::infinity()`.
-* `user_error`: Returns the result of `boost::math::policies::user_overflow_error`:
- this function must be defined by the user.
-
-The default indeterminate result error policy is `ignore_error`, which for this
-function returns 1 since it's the most commonly chosen result for a power of 0.
-Here again, other error handling policies can be used:
-
-* `throw_on_error`: Throws `std::domain_error`
-* `errno_on_error`: Sets `::errno` to `EDOM` and returns 1.
-* `user_error`: Returns the result of `boost::math::policies::user_indeterminate_result_error`:
- this function must be defined by the user.
-
-Here is an example of error handling customization where we want to
-specify the result that has to be returned in case of error. We will
-thus use the `user_error` policy, by passing as second argument an
-instance of an overflow_error policy templated with `user_error`:
-
- // First we open the boost::math::policies namespace and define the `user_overflow_error`
- // by making it return the value we want in case of error (-1 here)
-
- namespace boost { namespace math { namespace policies {
- template <class T>
- T user_overflow_error(const char*, const char*, const T&)
- { return -1; }
- }}}
-
-
- // Then we invoke pow and indicate that we want to use the user_error policy
- using boost::math::policies;
- double result = pow<-5>(base, policy<overflow_error<user_error> >());
-
- // We can now test the returned value and treat the special case if needed:
- if (result == -1)
- {
- // there was an error, do something...
- }
-
-Another way is to redefine the default `overflow_error` policy by using the
-BOOST_MATH_OVERFLOW_ERROR_POLICY macro. Once the `user_overflow_error` function
-is defined as above, we can achieve the same result like this:
-
- // Redefine the default error_overflow policy
- #define BOOST_MATH_OVERFLOW_ERROR_POLICY user_error
- #include <boost/math/special_functions/pow.hpp>
-
- // From this point, passing a policy in argument is no longer needed, a call like this one
- // will return -1 in case of error:
-
- double result = pow<-5>(base);
-
-
-[h4 Acknowledgements]
-
-Bruno Lalande submitted this addition to Boost.Math.
-
-'''
-Thanks to Joaqu&#xed;n L&#xf3;pez Mu&#xf1;oz and Scott McMurray for their help in
-improving the implementation.
-'''
-
-[h4 References]
-
-D.E. Knuth, ['The Art of Computer Programming, Vol. 2: Seminumerical Algorithms], 2nd ed., Addison-Wesley, Reading, MA, 1981
-
-[endsect]
-
-[/
- Copyright 2008 Bruno Lalande.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/powers.qbk b/libs/math/doc/sf_and_dist/powers.qbk
deleted file mode 100644
index a6988bc962..0000000000
--- a/libs/math/doc/sf_and_dist/powers.qbk
+++ /dev/null
@@ -1,282 +0,0 @@
-[section:powers Logs, Powers, Roots and Exponentials]
-
-[section:log1p log1p]
-
-``
-#include <boost/math/special_functions/log1p.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` log1p(T x);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` log1p(T x, const ``__Policy``&);
-
- }} // namespaces
-
-Returns the natural logarithm of `x+1`.
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the return is `double` when /x/ is an integer type and T otherwise.
-
-[optional_policy]
-
-There are many situations where it is desirable to compute `log(x+1)`.
-However, for small `x` then `x+1` suffers from catastrophic cancellation errors
-so that `x+1 == 1` and `log(x+1) == 0`, when in fact for very small x, the
-best approximation to `log(x+1)` would be `x`. `log1p` calculates the best
-approximation to `log(1+x)` using a Taylor series expansion for accuracy
-(less than __te).
-Alternatively note that there are faster methods available,
-for example using the equivalence:
-
- log(1+x) == (log(1+x) * x) / ((1+x) - 1)
-
-However, experience has shown that these methods tend to fail quite spectacularly
-once the compiler's optimizations are turned on, consequently they are
-used only when known not to break with a particular compiler.
-In contrast, the series expansion method seems to be reasonably
-immune to optimizer-induced errors.
-
-Finally when BOOST_HAS_LOG1P is defined then the `float/double/long double`
-specializations of this template simply forward to the platform's
-native (POSIX) implementation of this function.
-
-The following graph illustrates the behaviour of log1p:
-
-[graph log1p]
-
-[h4 Accuracy]
-
-For built in floating point types `log1p`
-should have approximately 1 epsilon accuracy.
-
-[h4 Testing]
-
-A mixture of spot test sanity checks, and random high precision test values
-calculated using NTL::RR at 1000-bit precision.
-
-[endsect]
-
-[section:expm1 expm1]
-
-``
-#include <boost/math/special_functions/expm1.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` expm1(T x);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` expm1(T x, const ``__Policy``&);
-
- }} // namespaces
-
-Returns e[super x] - 1.
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the return is `double` when /x/ is an integer type and T otherwise.
-
-[optional_policy]
-
-For small x, then __ex is very close to 1, as a result calculating __exm1 results
-in catastrophic cancellation errors when x is small. `expm1` calculates __exm1 using
-rational approximations (for up to 128-bit long doubles), otherwise via
-a series expansion when x is small (giving an accuracy of less than __te).
-
-Finally when BOOST_HAS_EXPM1 is defined then the `float/double/long double`
-specializations of this template simply forward to the platform's
-native (POSIX) implementation of this function.
-
-The following graph illustrates the behaviour of expm1:
-
-[graph expm1]
-
-[h4 Accuracy]
-
-For built in floating point types `expm1`
-should have approximately 1 epsilon accuracy.
-
-[h4 Testing]
-
-A mixture of spot test sanity checks, and random high precision test values
-calculated using NTL::RR at 1000-bit precision.
-
-[endsect]
-
-[section:cbrt cbrt]
-
-``
-#include <boost/math/special_functions/cbrt.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` cbrt(T x);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` cbrt(T x, const ``__Policy``&);
-
- }} // namespaces
-
-Returns the cubed root of x: x[super 1/3].
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the return is `double` when /x/ is an integer type and T otherwise.
-
-[optional_policy]
-
-Implemented using Halley iteration.
-
-The following graph illustrates the behaviour of cbrt:
-
-[graph cbrt]
-
-[h4 Accuracy]
-
-For built in floating-point types `cbrt`
-should have approximately 2 epsilon accuracy.
-
-[h4 Testing]
-
-A mixture of spot test sanity checks, and random high precision test values
-calculated using NTL::RR at 1000-bit precision.
-
-[endsect]
-
-[section:sqrt1pm1 sqrt1pm1]
-
-``
-#include <boost/math/special_functions/sqrt1pm1.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` sqrt1pm1(T x);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` sqrt1pm1(T x, const ``__Policy``&);
-
- }} // namespaces
-
-Returns `sqrt(1+x) - 1`.
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the return is `double` when /x/ is an integer type and T otherwise.
-
-[optional_policy]
-
-This function is useful when you need the difference between sqrt(x) and 1, when
-x is itself close to 1.
-
-Implemented in terms of `log1p` and `expm1`.
-
-The following graph illustrates the behaviour of sqrt1pm1:
-
-[graph sqrt1pm1]
-
-[h4 Accuracy]
-
-For built in floating-point types `sqrt1pm1`
-should have approximately 3 epsilon accuracy.
-
-[h4 Testing]
-
-A selection of random high precision test values
-calculated using NTL::RR at 1000-bit precision.
-
-[endsect]
-
-[section:powm1 powm1]
-
-``
-#include <boost/math/special_functions/powm1.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T1, class T2>
- ``__sf_result`` powm1(T1 x, T2 y);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` powm1(T1 x, T2 y, const ``__Policy``&);
-
- }} // namespaces
-
-Returns x[super y ] - 1.
-
-The return type of this function is computed using the __arg_pomotion_rules
-when T1 and T2 are dufferent types.
-
-[optional_policy]
-
-There are two domains where this is useful: when y is very small, or when
-x is close to 1.
-
-Implemented in terms of `expm1`.
-
-The following graph illustrates the behaviour of powm1:
-
-[graph powm1]
-
-[h4 Accuracy]
-
-Should have approximately 2-3 epsilon accuracy.
-
-[h4 Testing]
-
-A selection of random high precision test values
-calculated using NTL::RR at 1000-bit precision.
-
-[endsect]
-
-[section:hypot hypot]
-
- template <class T1, class T2>
- ``__sf_result`` hypot(T1 x, T2 y);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` hypot(T1 x, T2 y, const ``__Policy``&);
-
-__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
-when T1 and T2 are of different types.
-
-[optional_policy]
-
-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]
-
-The function is even and symmetric in x and y, so first take assume
-['x,y > 0] and ['x > y] (we can permute the arguments if this is not the case).
-
-Then if ['x * [epsilon][space] >= y] we can simply return /x/.
-
-Otherwise the result is given by:
-
-[equation hypot2]
-
-[endsect]
-
-[include pow.qbk]
-
-
-[endsect][/section:powers Logs, Powers, Roots and Exponentials]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/pp_pi.hpp b/libs/math/doc/sf_and_dist/pp_pi.hpp
deleted file mode 100644
index 299fe77005..0000000000
--- a/libs/math/doc/sf_and_dist/pp_pi.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-//[preprocessed_pi
-
-// Preprocessed pi constant, annotated.
-
-namespace boost
-{
- namespace math
- {
- namespace constants
- {
- namespace detail
- {
- template <class T> struct constant_pi
- {
- private:
- // Default implementations from string of decimal digits:
- static inline T get_from_string()
- {
- static const T result
- = detail::convert_from_string<T>("3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00",
- boost::is_convertible<const char*, T>());
- return result;
- }
- template <int N> static T compute();
-
- public:
- // Default implementations from string of decimal digits:
- static inline T get(const mpl::int_<construct_from_string>&)
- {
- constant_initializer<T, & constant_pi<T>::get_from_string >::do_nothing();
- return get_from_string();
- }
- // Float, double and long double versions:
- static inline T get(const mpl::int_<construct_from_float>)
- {
- return 3.141592653589793238462643383279502884e+00F;
- }
- static inline T get(const mpl::int_<construct_from_double>&)
- {
- return 3.141592653589793238462643383279502884e+00;
- }
- static inline T get(const mpl::int_<construct_from_long_double>&)
- {
- return 3.141592653589793238462643383279502884e+00L;
- }
- // For very high precision that is nonetheless can be calculated at compile time:
- template <int N> static inline T get(const mpl::int_<N>& n)
- {
- constant_initializer2<T, N, & constant_pi<T>::template compute<N> >::do_nothing();
- return compute<N>();
- }
- //For true arbitrary precision, which may well vary at runtime.
- static inline T get(const mpl::int_<0>&)
- {
- return tools::digits<T>() > max_string_digits ? compute<0>() : get(mpl::int_<construct_from_string>());
- }
- }; // template <class T> struct constant_pi
- } // namespace detail
-
- // The actual forwarding function (including policy to control precision).
- template <class T, class Policy> inline T pi( )
- {
- return detail:: constant_pi<T>::get(typename construction_traits<T, Policy>::type());
- }
- // The actual forwarding function (using default policy to control precision).
- template <class T> inline T pi()
- {
- return pi<T, boost::math::policies::policy<> >()
- }
- } // namespace constants
-
- // Namespace specific versions, for the three built-in floats:
- namespace float_constants
- {
- static const float pi = 3.141592653589793238462643383279502884e+00F;
- }
- namespace double_constants
- {
- static const double pi = 3.141592653589793238462643383279502884e+00;
- }
- namespace long_double_constants
- {
- static const long double pi = 3.141592653589793238462643383279502884e+00L;
- }
- namespace constants{;
- } // namespace constants
- } // namespace math
-} // namespace boost
-
-//] [/preprocessed_pi] \ No newline at end of file
diff --git a/libs/math/doc/sf_and_dist/rational.qbk b/libs/math/doc/sf_and_dist/rational.qbk
deleted file mode 100644
index 61c82392e1..0000000000
--- a/libs/math/doc/sf_and_dist/rational.qbk
+++ /dev/null
@@ -1,176 +0,0 @@
-[section:rational Polynomial and Rational Function Evaluation]
-
-[h4 synopsis]
-
-``
-#include <boost/math/tools/rational.hpp>
-``
-
- // Polynomials:
- template <std::size_t N, class T, class V>
- V evaluate_polynomial(const T(&poly)[N], const V& val);
-
- template <std::size_t N, class T, class V>
- V evaluate_polynomial(const boost::array<T,N>& poly, const V& val);
-
- template <class T, class U>
- U evaluate_polynomial(const T* poly, U z, std::size_t count);
-
- // Even polynomials:
- template <std::size_t N, class T, class V>
- V evaluate_even_polynomial(const T(&poly)[N], const V& z);
-
- template <std::size_t N, class T, class V>
- V evaluate_even_polynomial(const boost::array<T,N>& poly, const V& z);
-
- template <class T, class U>
- U evaluate_even_polynomial(const T* poly, U z, std::size_t count);
-
- // Odd polynomials
- template <std::size_t N, class T, class V>
- V evaluate_odd_polynomial(const T(&a)[N], const V& z);
-
- template <std::size_t N, class T, class V>
- V evaluate_odd_polynomial(const boost::array<T,N>& a, const V& z);
-
- template <class T, class U>
- U evaluate_odd_polynomial(const T* poly, U z, std::size_t count);
-
- // Rational Functions:
- template <std::size_t N, class T, class V>
- V evaluate_rational(const T(&a)[N], const T(&b)[N], const V& z);
-
- template <std::size_t N, class T, class V>
- V evaluate_rational(const boost::array<T,N>& a, const boost::array<T,N>& b, const V& z);
-
- template <class T, class U, class V>
- V evaluate_rational(const T* num, const U* denom, V z, unsigned count);
-
-[h4 Description]
-
-Each of the functions come in three variants: a pair of overloaded functions
-where the order of the polynomial or rational function is evaluated at
-compile time, and an overload that accepts a runtime variable for the size
-of the coefficient array. Generally speaking, compile time evaluation of the
-array size results in better type safety, is less prone to programmer errors,
-and may result in better optimised code. The polynomial evaluation functions
-in particular, are specialised for various array sizes, allowing for
-loop unrolling, and one hopes, optimal inline expansion.
-
- template <std::size_t N, class T, class V>
- V evaluate_polynomial(const T(&poly)[N], const V& val);
-
- template <std::size_t N, class T, class V>
- V evaluate_polynomial(const boost::array<T,N>& poly, const V& val);
-
- template <class T, class U>
- U evaluate_polynomial(const T* poly, U z, std::size_t count);
-
-Evaluates the [@http://en.wikipedia.org/wiki/Polynomial polynomial] described by
-the coefficients stored in /poly/.
-
-If the size of the array is specified at runtime, then the polynomial
-most have order /count-1/ with /count/ coefficients. Otherwise it has
-order /N-1/ with /N/ coefficients.
-
-Coefficients should be stored such that the coefficients for the x[super i ] terms
-are in poly[i].
-
-The types of the coefficients and of variable
-/z/ may differ as long as /*poly/ is convertible to type /U/.
-This allows, for example, for the coefficient table
-to be a table of integers if this is appropriate.
-
- template <std::size_t N, class T, class V>
- V evaluate_even_polynomial(const T(&poly)[N], const V& z);
-
- template <std::size_t N, class T, class V>
- V evaluate_even_polynomial(const boost::array<T,N>& poly, const V& z);
-
- template <class T, class U>
- U evaluate_even_polynomial(const T* poly, U z, std::size_t count);
-
-As above, but evaluates an even polynomial: one where all the powers
-of /z/ are even numbers. Equivalent to calling
-`evaluate_polynomial(poly, z*z, count)`.
-
- template <std::size_t N, class T, class V>
- V evaluate_odd_polynomial(const T(&a)[N], const V& z);
-
- template <std::size_t N, class T, class V>
- V evaluate_odd_polynomial(const boost::array<T,N>& a, const V& z);
-
- template <class T, class U>
- U evaluate_odd_polynomial(const T* poly, U z, std::size_t count);
-
-As above but evaluates a polynomial where all the powers are odd numbers.
-Equivalent to `evaluate_polynomial(poly+1, z*z, count-1) * z + poly[0]`.
-
- template <std::size_t N, class T, class U, class V>
- V evaluate_rational(const T(&num)[N], const U(&denom)[N], const V& z);
-
- template <std::size_t N, class T, class U, class V>
- V evaluate_rational(const boost::array<T,N>& num, const boost::array<U,N>& denom, const V& z);
-
- template <class T, class U, class V>
- V evaluate_rational(const T* num, const U* denom, V z, unsigned count);
-
-Evaluates the rational function (the ratio of two polynomials) described by
-the coefficients stored in /num/ and /demom/.
-
-If the size of the array is specified at runtime then both
-polynomials most have order /count-1/ with /count/ coefficients.
-Otherwise both polynomials have order /N-1/ with /N/ coefficients.
-
-Array /num/ describes the numerator, and /demon/ the denominator.
-
-Coefficients should be stored such that the coefficients for the x[super i ] terms
-are in num[i] and denom[i].
-
-The types of the coefficients and of variable
-/v/ may differ as long as /*num/ and /*denom/ are convertible to type /V/.
-This allows, for example, for one or both of the coefficient tables
-to be a table of integers if this is appropriate.
-
-These functions are designed to safely evaluate the result, even when the value
-/z/ is very large. As such they do not take advantage of compile time array
-sizes to make any optimisations. These functions are best reserved for situations
-where /z/ may be large: if you can be sure that numerical overflow will not occur
-then polynomial evaluation with compile-time array sizes may offer slightly
-better performance.
-
-[h4 Implementation]
-
-Polynomials are evaluated by
-[@http://en.wikipedia.org/wiki/Horner_algorithm Horners method].
-If the array size is known at
-compile time then the functions dispatch to size-specific implementations
-that unroll the evaluation loop.
-
-Rational evaluation is by
-[@http://en.wikipedia.org/wiki/Horner_algorithm Horners method]:
-with the two polynomials being evaluated
-in parallel to make the most of the processors floating-point pipeline.
-If /v/ is greater than one, then the polynomials are evaluated in reverse
-order as polynomials in ['1\/v]: this avoids unnecessary numerical overflow when the
-coefficients are large.
-
-Both the polynomial and rational function evaluation algorithms can be
-tuned using various configuration macros to provide optimal performance
-for a particular combination of compiler and platform. This includes
-support for second-order Horner's methods. The various options are
-[link math_toolkit.perf.tuning documented here]. However, the performance
-benefits to be gained from these are marginal on most current hardware,
-consequently it's best to run the
-[link math_toolkit.perf.perf_test_app performance test application] before
-changing the default settings.
-
-[endsect][/section:rational Polynomial and Rational Function Evaluation]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/references.qbk b/libs/math/doc/sf_and_dist/references.qbk
deleted file mode 100644
index 1db9f24413..0000000000
--- a/libs/math/doc/sf_and_dist/references.qbk
+++ /dev/null
@@ -1,115 +0,0 @@
-[section:refs References]
-
-[h4 General references]
-
-(Specific detailed sources for individual functions and distributions
-are given at the end of each individual section).
-
-[@http://dlmf.nist.gov/ DLMF (NIST Digital Library of Mathematical Functions)]
-is a replacement for the legendary
-Abramowitz and Stegun's Handbook of Mathematical Functions (often called simply A&S),
-
-M. Abramowitz and I. A. Stegun (Eds.) (1964)
-Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables,
-National Bureau of Standards Applied Mathematics Series,
-U.S. Government Printing Office, Washington, D.C.
-
-NIST Handbook of Mathematical Functions
-
-Edited by: Frank W. J. Olver, University of Maryland and National Institute of Standards and Technology, Maryland,
-Daniel W. Lozier, National Institute of Standards and Technology, Maryland,
-Ronald F. Boisvert, National Institute of Standards and Technology, Maryland,
-Charles W. Clark, National Institute of Standards and Technology, Maryland and University of Maryland.
-
-ISBN: 978-0521140638 (paperback), 9780521192255 (hardback), July 2010, Cambridge University Press.
-
-[@http://www.itl.nist.gov/div898/handbook/index.htm NIST/SEMATECH e-Handbook of Statistical Methods]
-
-[@http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/DiscreteDistributions.html Mathematica Documentation: DiscreteDistributions]
-The Wolfram Research Documentation Center is a collection of online reference materials about Mathematica, CalculationCenter, and other Wolfram Research products.
-
-[@http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/Statistics/ContinuousDistributions.html Mathematica Documentation: ContinuousDistributions]
-The Wolfram Research Documentation Center is a collection of online reference materials about Mathematica, CalculationCenter, and other Wolfram Research products.
-
-Statistical Distributions (Wiley Series in Probability & Statistics) (Paperback)
-by N.A.J. Hastings, Brian Peacock, Merran Evans, ISBN: 0471371246, Wiley 2000.
-
-[@http://www.worldscibooks.com/mathematics/p191.html Extreme Value Distributions, Theory and Applications]
-Samuel Kotz & Saralees Nadarajah, ISBN 978-1-86094-224-2 & 1-86094-224-5 Oct 2000,
-Chapter 1.2 discusses the various extreme value distributions.
-
-[@http://bh0.physics.ubc.ca/People/matt/Doc/ThesesOthers/Phd/pugh.pdf pugh.pdf (application/pdf Object)]
-Pugh Msc Thesis on the Lanczos approximation to the gamma function.
-
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003 N1514, 03-0097, A Proposal to Add Mathematical Special Functions to the C++ Standard Library (version 2), Walter E. Brown]
-
-[h4 Calculators]
-
-We found (and used to create cross-check spot values - as far as their accuracy allowed).
-
-[@http://functions.wolfram.com/ The Wolfram Functions Site]
-The Wolfram Functions Site - Providing
-the mathematical and scientific community with the world's largest
-(and most authorititive) collection of formulas and graphics about mathematical functions.
-
-[@http://www.moshier.net/cephes28.zip 100-decimal digit calculator] provided some spot values.
-
-[@http://www.adsciengineering.com/bpdcalc/ http://www.adsciengineering.com/bpdcalc/] Binomial Probability Distribution Calculator.
-
-
-[h4 Other Libraries]
-
-[@http://www.moshier.net/#Cephes Cephes library] by Shephen Moshier and his book:
-
-Methods and programs for mathematical functions, Stephen L B Moshier, Ellis Horwood (1989) ISBN 0745802893 0470216093 provided inspiration.
-
-[@http://lib.stat.cmu.edu/general/cdflib CDFLIB Library of Fortran Routines for Cumulative Distribution functions.]
-
-[@http://www.csit.fsu.edu/~burkardt/cpp_src/dcdflib/dcdflib.html DCFLIB C++ version].
-
-[@http://www.csit.fsu.edu/~burkardt/f_src/dcdflib/dcdflib.html DCDFLIB C++ version]
-DCDFLIB is a library of C++ routines, using double precision arithmetic, for evaluating cumulative probability density functions.
-
-[@http://www.softintegration.com/docs/package/chnagstat/ http://www.softintegration.com/docs/package/chnagstat/]
-
-[@http://www.nag.com/numeric/numerical_libraries.asp NAG] libraries.
-
-[@http://www.mathcad.com MathCAD]
-
-[@http://www.vni.com/products/imsl/jmsl/v30/api/com/imsl/stat/Cdf.html JMSL Numerical Library] (Java).
-
-John F Hart, Computer Approximations, (1978) ISBN 0 088275 642-7.
-
-William J Cody, Software Manual for the Elementary Functions, Prentice-Hall (1980) ISBN 0138220646.
-
-Nico Temme, Special Functions, An Introduction to the Classical Functions of Mathematical Physics, Wiley, ISBN: 0471-11313-1 (1996) who also gave valueable advice.
-
-[@http://www.cas.lancs.ac.uk/glossary_v1.1/prob.html#probdistn Statistics Glossary], Valerie Easton and John H. McColl.
-
-[__R]
-R Development Core Team (2010). R: A language and environment for
-statistical computing. R Foundation for Statistical Computing,
-Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org.
-
-For use of R, see:
-
-Jim Albert, Bayesian Computation with R, ISBN 978-0-387-71384-7.
-
-[@http://www.quantnet.com/cplusplus-statistical-distributions-boost
-C++ Statistical Distributions in Boost - QuantNetwork forum]
-discusses using Boost.Math in finance.
-
-[@http://www.quantnet.com/boost-and-computational-finance/ Quantnet Boost and computational finance].
-Robert Demming & Daniel J. Duffy, Introduction to the C++ Boost Libraries - Volume I - Foundations
-and Volume II ISBN 978-94-91028-01-4, Advanced Libraries and Applications, ISBN 978-94-91028-02-1
-(to be published in 2011).
-discusses application of Boost.Math, especially in finance.]
-
-[endsect] [/section:references References]
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/relative_error.qbk b/libs/math/doc/sf_and_dist/relative_error.qbk
deleted file mode 100644
index 4c669222a1..0000000000
--- a/libs/math/doc/sf_and_dist/relative_error.qbk
+++ /dev/null
@@ -1,134 +0,0 @@
-[section:error_test Relative Error and Testing]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/tools/test.hpp>
-``
-
- template <class T>
- T relative_error(T a, T b);
-
- template <class A, class F1, class F2>
- test_result<see-below> test(const A& a, F1 test_func, F2 expect_func);
-
-[h4 Description]
-
- template <class T>
- T relative_error(T a, T v);
-
-Returns the relative error between /a/ and /v/ using the usual formula:
-
-[equation error1]
-
-In addition the value returned is zero if:
-
-* Both /a/ and /v/ are infinite.
-* Both /a/ and /v/ are denormalised numbers or zero.
-
-Otherwise if only one of /a/ and /v/ is zero then the value returned is 1.
-
- template <class A, class F1, class F2>
- test_result<see-below> test(const A& a, F1 test_func, F2 expect_func);
-
-This function is used for testing a function against tabulated test data.
-
-The return type contains statistical data on the relative errors (max, mean,
-variance, and the number of test cases etc), as well as the row of test data that
-caused the largest relative error. Public members of type test_result are:
-
-[variablelist
-[[`unsigned worst()const;`][Returns the row at which the worst error occurred.]]
-[[`T min()const;`][Returns the smallest relative error found.]]
-[[`T max()const;`][Returns the largest relative error found.]]
-[[`T mean()const;`][Returns the mean error found.]]
-[[`boost::uintmax_t count()const;`][Returns the number of test cases.]]
-[[`T variance()const;`][Returns the variance of the errors found.]]
-[[`T variance1()const;`][Returns the unbiased variance of the errors found.]]
-[[`T rms()const`][Returns the Root Mean Square, or quadratic mean of the errors.]]
-[[`test_result& operator+=(const test_result& t)`][Combines two test_result's into
-a single result.]]
-]
-
-The template parameter of test_result, is the same type as the values in the two
-dimensional array passed to function /test/, roughly that's
-`A::value_type::value_type`.
-
-Parameter /a/ is a matrix of test data: and must be a standard library Sequence type,
-that contains another Sequence type:
-typically it will be a two dimensional instance of
-[^boost::array]. Each row
-of /a/ should contain all the parameters that are passed to the function
-under test as well as the expected result.
-
-Parameter /test_func/ is the function under test, it is invoked with each row
-of test data in /a/. Typically type F1 is created with Boost.Lambda: see
-the example below.
-
-Parameter /expect_func/ is a functor that extracts the expected result
-from a row of test data in /a/. Typically type F2 is created with Boost.Lambda: see
-the example below.
-
-If the function under test returns a non-finite value when a finite result is
-expected, or if a gross error is found, then a message is sent to `std::cerr`,
-and a call to BOOST_ERROR() made (which means that including this header requires
-you use Boost.Test). This is mainly a debugging/development aid
-(and a good place for a breakpoint).
-
-[h4 Example]
-
-Suppose we want to test the tgamma and lgamma functions, we can create a
-two dimensional matrix of test data, each row is one test case, and contains
-three elements: the input value, and the expected results for the tgamma and
-lgamma functions respectively.
-
- static const boost::array<boost::array<TestType, 3>, NumberOfTests>
- factorials = {
- /* big array of test data goes here */
- };
-
-Now we can invoke the test function to test tgamma:
-
- using namespace boost::math::tools;
- using namespace boost::lambda;
-
- // get a pointer to the function under test:
- TestType (*funcp)(TestType) = boost::math::tgamma;
-
- // declare something to hold the result:
- test_result<TestType> result;
- //
- // and test tgamma against data:
- //
- result = test(
- factorials,
- bind(funcp, ret<TestType>(_1[0])), // calls tgamma with factorials[row][0]
- ret<TestType>(_1[1]) // extracts the expected result from factorials[row][1]
- );
- //
- // Print out some results:
- //
- std::cout << "The Mean was " << result.mean() << std::endl;
- std::cout << "The worst error was " << (result.max)() << std::endl;
- std::cout << "The worst error was at row " << result.worst_case() << std::endl;
- //
- // same again with lgamma this time:
- //
- funcp = boost::math::lgamma;
- result = test(
- factorials,
- bind(funcp, ret<TestType>(_1[0])), // calls tgamma with factorials[row][0]
- ret<TestType>(_1[2]) // extracts the expected result from factorials[row][2]
- );
- //
- // etc ...
- //
-
-[endsect][/section:error_test Relative Error and Testing]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/result_type_calc.qbk b/libs/math/doc/sf_and_dist/result_type_calc.qbk
deleted file mode 100644
index dd128106ed..0000000000
--- a/libs/math/doc/sf_and_dist/result_type_calc.qbk
+++ /dev/null
@@ -1,85 +0,0 @@
-
-[section:result_type Calculation of the Type of the Result]
-
-The functions in this library are all overloaded to accept
-mixed floating point (or mixed integer and floating point type)
-arguments. So for example:
-
- foo(1.0, 2.0);
- foo(1.0f, 2);
- foo(1.0, 2L);
-
-etc, are all valid calls, as long as "foo" is a function taking two
-floating-point arguments. But that leaves the question:
-
-[blurb ['"Given a special function with N arguments of
-types T1, T2, T3 ... TN, then what type is the result?"]]
-
-[*If all the arguments are of the same (floating point) type then the
-result is the same type as the arguments.]
-
-Otherwise, the type of the result
-is computed using the following logic:
-
-# Any arguments that are not template arguments are disregarded from
-further analysis.
-# For each type in the argument list, if that type is an integer type
-then it is treated as if it were of type double for the purposes of
-further analysis.
-# If any of the arguments is a user-defined class type, then the result type
-is the first such class type that is constructible from all of the other
-argument types.
-# If any of the arguments is of type `long double`, then the result is of type
-`long double`.
-# If any of the arguments is of type `double`, then the result is of type
-`double`.
-# Otherwise the result is of type `float`.
-
-For example:
-
- cyl_bessel(2, 3.0);
-
-Returns a `double` result, as does:
-
- cyl_bessel(2, 3.0f);
-
-as in this case the integer first argument is treated as a `double` and takes
-precedence over the `float` second argument. To get a `float` result we would need
-all the arguments to be of type float:
-
- cyl_bessel_j(2.0f, 3.0f);
-
-When one or more of the arguments is not a template argument then it
-doesn't effect the return type at all, for example:
-
- sph_bessel(2, 3.0f);
-
-returns a `float`, since the first argument is not a template argument and
-so doesn't effect the result: without this rule functions that take
-explicitly integer arguments could never return `float`.
-
-And for user defined types, all of the following return an NTL::RR result:
-
- cyl_bessel_j(0, NTL::RR(2));
-
- cyl_bessel_j(NTL::RR(2), 3);
-
- cyl_bessel_j(NTL::quad_float(2), NTL::RR(3));
-
-In the last case, quad_float is convertible to RR, but not vice-versa, so
-the result will be an NTL::RR. Note that this assumes that you are using
-a [link math_toolkit.using_udt.use_ntl patched NTL library].
-
-These rules are chosen to be compatible with the behaviour of
-['ISO/IEC 9899:1999 Programming languages - C]
-and with the
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Draft Technical Report on C++ Library Extensions, 2005-06-24, section 5.2.1, paragraph 5].
-
-[endsect]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/roadmap.qbk b/libs/math/doc/sf_and_dist/roadmap.qbk
deleted file mode 100644
index 81524cd0de..0000000000
--- a/libs/math/doc/sf_and_dist/roadmap.qbk
+++ /dev/null
@@ -1,203 +0,0 @@
-[template history[]
-
-[h4 Boost-1.50]
-
-* Promoted math constants to be 1st class citizens,
-including convenient access to the most widely used
-built-in float, double, long double via three namespaces.
-* Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta: see __owens_t and skew_normal_distrib.
-* Added Hankel functions __cyl_hankel_1, __cyl_hankel_2, __sph_hankel_1 and __sph_hankel_2.
-* Corrected issue [@https://svn.boost.org/trac/boost/ticket/6627 #6627 nonfinite_num_put formatting of 0.0 is incorrect]
-based on a patch submitted by K R Walker.
-* Changed constant initialization mechanism so that it is thread safe even for user-defined types, also
-so that user defined types get the full precision of the constant, even when `long double` does not.
-So for example 128-bit rational approximations will work with UDT's and do the right thing, even though
-`long double` may be only 64 or 80 bits.
-* Fixed issue in `bessel_jy` which causes Y[sub 8.5](4[pi]) to yield a NaN.
-
-[h4 Boost-1.49]
-
-* Deprecated wrongly named `twothirds` math constant in favour of `two_thirds` (with underscore separator).
-(issue [@https://svn.boost.org/trac/boost/ticket/6199 #6199]).
-* Refactored test data and some special function code to improve support for arbitary precision and/or expression-template-enabled types.
-* Added new faster zeta function evaluation method.
-
-Fixed issues:
-
-* Corrected CDF complement for Laplace distribution (issue [@https://svn.boost.org/trac/boost/ticket/6151 #6151]).
-* Corrected branch cuts on the complex inverse trig functions, to handle signed zeros (issue [@https://svn.boost.org/trac/boost/ticket/6171 #6171]).
-* Fixed bug in `bessel_yn` which caused incorrect overflow errors to be raised for negative ['n] (issue [@https://svn.boost.org/trac/boost/ticket/6367 #6367]).
-* Also fixed minor/cosmetic/configuration issues [@https://svn.boost.org/trac/boost/ticket/6120 #6120], [@https://svn.boost.org/trac/boost/ticket/6191 #6191],
- [@https://svn.boost.org/trac/boost/ticket/5982 #5982], [@https://svn.boost.org/trac/boost/ticket/6130 #6130],
- [@https://svn.boost.org/trac/boost/ticket/6234 #6234], [@https://svn.boost.org/trac/boost/ticket/6307 #6307],
- [@https://svn.boost.org/trac/boost/ticket/6192 #6192].
-
-[h4 Boost-1.48]
-
-* Added new series evaluation methods to the cyclic Bessel I, J, K and Y functions.
-Also taken great care to avoid spurious over and underflow of these functions.
-Fixes issue [@https://svn.boost.org/trac/boost/ticket/5560 #5560]
-
-* Added an example of using Inverse Chi-Squared distribution for Bayesian statistics,
-provided by Thomas Mang.
-
-* Added tests to use improved version of lexical_cast which handles C99 nonfinites without using globale facets.
-
-* Corrected wrong out-of-bound uniform distribution CDF complement values [@https://svn.boost.org/trac/boost/ticket/5733 #5733].
-
-* Enabled long double support on OpenBSD (issue [@https://svn.boost.org/trac/boost/ticket/6014 #6014]).
-
-* Changed nextafter and related functions to behave in the same way as other implementations - so that nextafter(+INF, 0)
-is a finite value (issue [@https://svn.boost.org/trac/boost/ticket/5823 #5832]).
-
-* Changed tuple include configuration to fix issue when using in conjunction with Boost.Tr1 (issue [@https://svn.boost.org/trac/boost/ticket/5934 #5934]).
-
-* Changed class eps_tolerance to behave correctly when both ends of the range are zero (issue [@https://svn.boost.org/trac/boost/ticket/6001 #6001]).
-
-* Fixed missing include guards on prime.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5927 #5927]).
-
-* Removed unused/undocumented constants from constants.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5982 #5982]).
-
-* Fixed missing std:: prefix in nonfinite_num_facets.hpp (issue [@https://svn.boost.org/trac/boost/ticket/5914 #5914]).
-
-* Minor patches for Cray compiler compatibility.
-
-[h4 Boost-1.47]
-
-* Added changesign function to sign.hpp to facilitate addition of nonfinite facets.
-* Addition of nonfinite facets from Johan Rade, with tests,
-examples of use for C99 format infinity and NaN, and documentation.
-* Added tests and documentation of changesign from Johan Rade.
-
-[h4 Boost-1.46.1]
-
-* Fixed issues [@https://svn.boost.org/trac/boost/ticket/5095 #5095], [@https://svn.boost.org/trac/boost/ticket/5095 #5113].
-
-[h4 Boost-1.46.0]
-
-* Added Wald, Inverse Gaussian and geometric distributions.
-* Added information about configuration macros.
-* Added support for mpreal as a real-numbered type.
-
-[h4 Boost-1.45.0]
-
-* Added warnings about potential ambiguity with std random library in distribution and function names.
-* Added inverse gamma distribution and inverse chi_square and scaled inverse chi_square.
-* Editorial revision of documentation, and added FAQ.
-
-[h4 Boost-1.44.0]
-
-* Fixed incorrect range and support for Rayleigh distribution.
-* Fixed numerical error in the quantile of the Student's T distribution: the function was
-returning garbage values for non-integer degrees of freedom between 2 and 3.
-
-[h4 Boost-1.41.0]
-
-* Significantly improved performance for the incomplete gamma function and its inverse.
-
-[h4 Boost-1.40.0]
-
-* Added support for MPFR as a bignum type.
-* Added some full specializations of the policy classes to reduce compile times.
-* Added logistic and hypergeometric distributions, from Gautam Sewani's Google Summer of Code project.
-* Added Laplace distribution submitted by Thijs van den Berg.
-* Updated performance test code to include new distributions, and improved the performance of the non-central distributions.
-* Added SSE2 optimised __lanczos code, from Gautam Sewani's Google Summer of Code project.
-* Fixed bug in cyl_bessel_i that used an incorrect approximation for [nu] = 0.5, also effects the non-central
- Chi Square Distribution when [nu] = 3, see bug report [@https://svn.boost.org/trac/boost/ticket/2877 #2877].
-* Fixed minor bugs [@https://svn.boost.org/trac/boost/ticket/2873 #2873].
-
-[h4 Boost-1.38.0]
-
-* Added Johan R'''&#xE5;'''de's optimised floating point classification routines.
-* Fixed code so that it compiles in GCC's -pedantic mode (bug report
-[@https://svn.boost.org/trac/boost/ticket/1451 #1451]).
-
-[h4 Boost-1.37.0]
-
-* Improved accuracy and testing of the inverse hypergeometric functions.
-
-[h4 Boost-1.36.0]
-
-* Added Noncentral Chi Squared Distribution.
-* Added Noncentral Beta Distribution.
-* Added Noncentral F Distribution.
-* Added Noncentral T Distribution.
-* Added Exponential Integral Functions.
-* Added Zeta Function.
-* Added Rounding and Truncation functions.
-* Added Compile time powers of runtime bases.
-* Added SSE2 optimizations for Lanczos evaluation.
-
-[h4 Boost-1.35.0: Post Review First Official Release]
-
-* Added Policy based framework that allows fine grained control
-over function behaviour.
-* [*Breaking change:] Changed default behaviour for domain, pole and overflow errors
-to throw an exception (based on review feedback), this
-behaviour can be customised using __Policy's.
-* [*Breaking change:] Changed exception thrown when an internal evaluation error
-occurs to boost::math::evaluation_error.
-* [*Breaking change:] Changed discrete quantiles to return an integer result:
-this is anything up to 20 times faster than finding the true root, this
-behaviour can be customised using __Policy's.
-* Polynomial/rational function evaluation is now customisable and hopefully
-faster than before.
-* Added performance test program.
-
-[h4 Milestone 4: Second Review Candidate (1st March 2007)]
-
-* Moved Xiaogang Zhang's Bessel Functions code into the library,
-and brought them into line with the rest of the code.
-* Added C# "Distribution Explorer" demo application.
-
-[h4 Milestone 3: First Review Candidate (31st Dec 2006)]
-
-* Implemented the main probability distribution and density functions.
-* Implemented digamma.
-* Added more factorial functions.
-* Implemented the Hermite, Legendre and Laguerre polynomials plus the
-spherical harmonic functions from TR1.
-* Moved Xiaogang Zhang's elliptic integral code into the library,
-and brought them into line with the rest of the code.
-* Moved Hubert Holin's existing Boost.Math special functions
-into this library and brought them into line with the rest of the code.
-
-[h4 Milestone 2: Released September 10th 2006]
-
-* Implement preview release of the statistical distributions.
-* Added statistical distributions tutorial.
-* Implemented root finding algorithms.
-* Implemented the inverses of the incomplete gamma and beta functions.
-* Rewrite erf/erfc as rational approximations (valid to 128-bit precision).
-* Integrated the statistical results generated from
-the test data with Boost.Test: uses a database of expected
-results, indexed by test, floating point type, platform, and compiler.
-* Improved lgamma near 1 and 2 (rational approximations).
-* Improved erf/erfc inverses (rational approximations).
-* Implemented Rational function generation (the Remez method).
-
-[h4 Milestone 1: Released March 31st 2006]
-
-* Implement gamma/beta/erf functions along with their incomplete counterparts.
-* Generate high quality test data, against which future improvements can be judged.
-* Provide tools for the evaluation of infinite series, continued fractions, and
-rational functions.
-* Provide tools for testing against tabulated test data, and collecting statistics
-on error rates.
-* Provide sufficient docs for people to be able to find their way around the library.
-
-SVN Revisions:
-
-Sandbox and trunk last synchonised at revision: .
-
-]
-[/
- Copyright 2006 - 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
-
diff --git a/libs/math/doc/sf_and_dist/roots.qbk b/libs/math/doc/sf_and_dist/roots.qbk
deleted file mode 100644
index d35c3d4d62..0000000000
--- a/libs/math/doc/sf_and_dist/roots.qbk
+++ /dev/null
@@ -1,277 +0,0 @@
-[section:roots Root Finding With Derivatives: Newton-Raphson, Halley & Schroeder]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/tools/roots.hpp>
-``
-
- namespace boost{ namespace math{
- namespace tools{
-
- template <class F, class T>
- T newton_raphson_iterate(F f, T guess, T min, T max, int digits);
-
- template <class F, class T>
- T newton_raphson_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
-
- template <class F, class T>
- T halley_iterate(F f, T guess, T min, T max, int digits);
-
- template <class F, class T>
- T halley_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
-
- template <class F, class T>
- T schroeder_iterate(F f, T guess, T min, T max, int digits);
-
- template <class F, class T>
- T schroeder_iterate(F f, T guess, T min, T max, int digits, boost::uintmax_t& max_iter);
-
- }}} // namespaces
-
-[h4 Description]
-
-These functions all perform iterative root finding using derivatives:
-
-* `newton_raphson_iterate`performs second order
-[link newton Newton-Raphson iteration],
-
-* `halley_iterate` and`schroeder_iterate` perform third order
-[link halley Halley] and [link schroeder Schroeder] iteration.
-
-The functions all take the same parameters:
-
-[variablelist Parameters of the root finding functions
-[[F f] [Type F must be a callable function object that accepts one parameter and
- returns a __tuple:
-
-For the second order iterative methods ([@http://en.wikipedia.org/wiki/Newton_Raphson Newton Raphson])
- the __tuple should have *two* elements containing the evaluation
- of the function and its first derivative.
-
-For the third order methods
-([@http://en.wikipedia.org/wiki/Halley%27s_method Halley] and
-Schroeder)
- the __tuple should have *three* elements containing the evaluation of
- the function and its first and second derivatives.]]
-[[T guess] [The initial starting value. A good guess is crucial to quick convergence!]]
-[[T min] [The minimum possible value for the result, this is used as an initial lower bracket.]]
-[[T max] [The maximum possible value for the result, this is used as an initial upper bracket.]]
-[[int digits] [The desired number of binary digits.]]
-[[uintmax_t max_iter] [An optional maximum number of iterations to perform.
-]]
-]
-
-When using these functions you should note that:
-
-* Default max_iter = `(std::numeric_limits<boost::uintmax_t>::max)()` is effectively 'iterate for ever'!.
-* They may be very sensitive to the initial guess, typically they converge very rapidly
-if the initial guess has two or three decimal digits correct. However convergence
-can be no better than bisection, or in some rare cases, even worse than bisection if the
-initial guess is a long way from the correct value and the derivatives are close to zero.
-* These functions include special cases to handle zero first (and second where appropriate)
-derivatives, and fall back to bisection in this case. However, it is helpful
-if functor F is defined to return an arbitrarily small value ['of the correct sign] rather
-than zero.
-* If the derivative at the current best guess for the result is infinite (or
-very close to being infinite) then these functions may terminate prematurely.
-A large first derivative leads to a very small next step, triggering the termination
-condition. Derivative based iteration may not be appropriate in such cases.
-* If the function is 'Really Well Behaved' (monotonic and has only one root)
-the bracket bounds min and max may as well be set to the widest limits
-like zero and `numeric_limits<T>::max()`.
-*But if the function more complex and may have more than one root or a pole,
-the choice of bounds is protection against jumping out to seek the 'wrong' root.
-* These functions fall back to bisection if the next computed step would take the
-next value out of bounds. The bounds are updated after each step to ensure this leads
-to convergence. However, a good initial guess backed up by asymptotically-tight
-bounds will improve performance no end - rather than relying on bisection.
-* The value of /digits/ is crucial to good performance of these functions,
-if it is set too high then at best you will get one extra (unnecessary)
-iteration, and at worst the last few steps will proceed by bisection.
-Remember that the returned value can never be more accurate than f(x) can be
-evaluated, and that if f(x) suffers from cancellation errors as it
-tends to zero then the computed steps will be effectively random. The
-value of /digits/ should be set so that iteration terminates before this point:
-remember that for second and third order methods the number of correct
-digits in the result is increasing quite
-substantially with each iteration, /digits/ should be set by experiment so that the final
-iteration just takes the next value into the zone where f(x) becomes inaccurate.
-* To get the binary digits of accuracy, use policies::get_max_root_iterations<Policy>()).
-* If you need some diagnostic output to see what is going on, you can
-`#define BOOST_MATH_INSTRUMENT` before the `#include <boost/math/tools/roots.hpp>`,
-and also ensure that display of all the possibly significant digits with
-` cout.precision(std::numeric_limits<double>::max_digits10)`:
-but be warned, this may produce copious output!
-* Finally: you may well be able to do better than these functions by hand-coding
-the heuristics used so that they are tailored to a specific function. You may also
-be able to compute the ratio of derivatives used by these methods more efficiently
-than computing the derivatives themselves. As ever, algebraic simplification can
-be a big win.
-
-[#newton]
-[h4 Newton Raphson Method]
-Given an initial guess x0 the subsequent values are computed using:
-
-[equation roots1]
-
-Out of bounds steps revert to bisection of the current bounds.
-
-Under ideal conditions, the number of correct digits doubles with each iteration.
-
-[#halley]
-[h4 Halley's Method]
-
-Given an initial guess x0 the subsequent values are computed using:
-
-[equation roots2]
-
-Over-compensation by the second derivative (one which would proceed
-in the wrong direction) causes the method to
-revert to a Newton-Raphson step.
-
-Out of bounds steps revert to bisection of the current bounds.
-
-Under ideal conditions, the number of correct digits trebles with each iteration.
-
-[#schroeder]
-[h4 Schroeder's Method]
-
-Given an initial guess x0 the subsequent values are computed using:
-
-[equation roots3]
-
-Over-compensation by the second derivative (one which would proceed
-in the wrong direction) causes the method to
-revert to a Newton-Raphson step. Likewise a Newton step is used
-whenever that Newton step would change the next value by more than 10%.
-
-Out of bounds steps revert to bisection of the current bounds.
-
-Under ideal conditions, the number of correct digits trebles with each iteration.
-
-[h4 Example]
-
-Let's suppose we want to find the cube root of a number: the equation we want to
-solve along with its derivatives are:
-
-[equation roots4]
-
-To begin with lets solve the problem using Newton-Raphson iterations, we'll
-begin by defining a function object (functor) that returns the evaluation
-of the function to solve, along with its first derivative f'(x):
-
- template <class T>
- struct cbrt_functor
- {
- cbrt_functor(T const& target) : a(target)
- { // Constructor stores value to be 'cube-rooted'.
- }
- ``__tuple``<T, T> operator()(T const& z)
- { // z is estimate so far.
- return boost::math::make_tuple(
- z*z*z - a, // return both f(x)
- 3 * z*z); // and f'(x)
- }
- private:
- T a; // to be 'cube-rooted'.
- };
-
-Implementing the cube root is fairly trivial now, the hardest part is finding
-a good approximation to begin with: in this case we'll just divide the exponent
-by three:
-
- template <class T>
- T cbrt(T z)
- {
- using namespace std; // for frexp, ldexp, numeric_limits.
- using namespace boost::math::tools;
-
- int exp;
- frexp(z, &exp); // Get exponent of z (ignore mantissa).
- T min = ldexp(0.5, exp/3);
- T max = ldexp(2.0, exp/3);
- T guess = ldexp(1.0, exp/3); // Rough guess is to divide the exponent by three.
- int digits = std::numeric_limits<T>::digits; // Maximum possible binary digits accuracy for type T.
- return newton_raphson_iterate(detail::cbrt_functor<T>(z), guess, min, max, digits);
- }
-
-Using the test data in libs/math/test/cbrt_test.cpp this found the cube root
-exact to the last digit in every case, and in no more than 6 iterations at double
-precision. However, you will note that a high precision was used in this
-example, exactly what was warned against earlier on in these docs! In this
-particular case it is possible to compute f(x) exactly and without undue
-cancellation error, so a high limit is not too much of an issue. However,
-reducing the limit to `std::numeric_limits<T>::digits * 2 / 3` gave full
-precision in all but one of the test cases (and that one was out by just one bit).
-The maximum number of iterations remained 6, but in most cases was reduced by one.
-
-Note also that the above code omits a probably optimization by computing z[sup2],
-and reusing it, omits error handling, and does not handle
-negative values of z correctly. (These are left as an exercise for the reader!)
-
-The boost::math::cbrt function also includes these and other improvements.
-
-Now let's adapt the functor slightly to return the second derivative as well:
-
- template <class T>
- struct cbrt_functor
- {
- cbrt_functor(T const& target) : a(target){}
- ``__tuple``<T, T, T> operator()(T const& z)
- {
- return boost::math::make_tuple(
- z*z*z - a,
- 3 * z*z,
- 6 * z);
- }
- private:
- T a;
- };
-
-And then adapt the `cbrt` function to use Halley iterations:
-
- template <class T>
- T cbrt(T z)
- {
- using namespace std;
- using namespace boost::math::tools;
-
- int exp;
- frexp(z, &exp);
- T min = ldexp(0.5, exp/3);
- T max = ldexp(2.0, exp/3);
- T guess = ldexp(1.0, exp/3);
- int digits = std::numeric_limits<T>::digits / 2;
- return halley_iterate(detail::cbrt_functor<T>(z), guess, min, max, digits);
- }
-
-Note that the iterations are set to stop at just one-half of full precision,
-and yet, even so, not one of the test cases had a single bit wrong.
-What's more, the maximum number of iterations was now just 4.
-
-Just to complete the picture, we could have called `schroeder_iterate` in the last
-example: and in fact it makes no difference to the accuracy or number of iterations
-in this particular case. However, the relative performance of these two methods
-may vary depending upon the nature of f(x), and the accuracy to which the initial
-guess can be computed. There appear to be no generalisations that can be made
-except "try them and see".
-
-Finally, had we called cbrt with [@http://shoup.net/ntl/doc/RR.txt NTL::RR]
-set to 1000 bit precision, then full precision can be obtained with just 7 iterations.
-To put that in perspective,
-an increase in precision by a factor of 20, has less than doubled the number of
-iterations. That just goes to emphasise that most of the iterations are used
-up getting the first few digits correct: after that these methods can churn out
-further digits with remarkable efficiency.
-
-Or to put it another way: ['nothing beats a really good initial guess!]
-
-[endsect] [/section:roots Root Finding With Derivatives]
-
-[/
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/roots_without_derivatives.qbk b/libs/math/doc/sf_and_dist/roots_without_derivatives.qbk
deleted file mode 100644
index d5a4291e99..0000000000
--- a/libs/math/doc/sf_and_dist/roots_without_derivatives.qbk
+++ /dev/null
@@ -1,425 +0,0 @@
-[section:roots2 Root Finding Without Derivatives: Bisection, Bracket and TOMS748]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/tools/roots.hpp>
-``
-
- namespace boost{ namespace math{
- namespace tools{
- // Bisection
- template <class F, class T, class Tol>
- std::pair<T, T>
- bisect(
- F f,
- T min,
- T max,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol>
- std::pair<T, T>
- bisect(
- F f,
- T min,
- T max,
- Tol tol);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- bisect(
- F f,
- T min,
- T max,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
- // Bracket and Solve Root
- template <class F, class T, class Tol>
- std::pair<T, T>
- bracket_and_solve_root(
- F f,
- const T& guess,
- const T& factor,
- bool rising,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- bracket_and_solve_root(
- F f,
- const T& guess,
- const T& factor,
- bool rising,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
- // TOMS 748 algorithm
- template <class F, class T, class Tol>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
- template <class F, class T, class Tol>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- const T& fa,
- const T& fb,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- const T& fa,
- const T& fb,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
- // Termination conditions:
- template <class T>
- struct eps_tolerance;
-
- struct equal_floor;
- struct equal_ceil;
- struct equal_nearest_integer;
-
- }}} // namespaces
-
-[h4 Description]
-
-These functions solve the root of some function /f(x)/ ['without the
-need for any derivatives of /f(x)/].
-
-The `bracket_and_solve_root` functions use TOMS Algorithm 748 that is asymptotically the most efficient known,
-and have been shown to be optimal for a certain classes of smooth functions.
-Variants with and without __policies are provided.
-
-Alternatively, there is a simple bisection routine which can be useful
-in its own right in some situations, or alternatively for narrowing
-down the range containing the root, prior to calling a more advanced
-algorithm.
-
-All the algorithms in this section reduce the diameter of the enclosing
-interval with the same asymptotic efficiency with which they locate the
-root. This is in contrast to the derivative based methods which may /never/
-significantly reduce the enclosing interval, even though they rapidly approach
-the root. This is also in contrast to some other derivative-free methods
-(for example the methods of [@http://en.wikipedia.org/wiki/Brent%27s_method Brent or Dekker)]
-which only reduce the enclosing interval on the final step.
-Therefore these methods return a std::pair containing the enclosing interval found,
-and accept a function object specifying the termination condition.
-Three function objects are provided for ready-made termination conditions:
-/eps_tolerance/ causes termination when the relative error in the enclosing
-interval is below a certain threshold, while /equal_floor/ and /equal_ceil/ are
-useful for certain statistical applications where the result is known to be
-an integer. Other user-defined termination conditions are likely to be used
-only rarely, but may be useful in some specific circumstances.
-
-[h6 Bisection]
-
- template <class F, class T, class Tol>
- std::pair<T, T>
- bisect(
- F f,
- T min,
- T max,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol>
- std::pair<T, T>
- bisect(
- F f,
- T min,
- T max,
- Tol tol);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- bisect(
- F f,
- T min,
- T max,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
-These functions locate the root using bisection: function arguments are:
-
-[variablelist
-[[f] [A unary functor which is the function whose root is to be found.]]
-[[min] [The left bracket of the interval known to contain the root.]]
-[[max] [The right bracket of the interval known to contain the root.
- It is a precondition that /min < max/ and /f(min)*f(max) <= 0/,
- the function signals evaluation error if these preconditions are violated.
- The action taken is controlled by the evaluation error policy.
- A best guess may be returned, perhaps significantly wrong.]]
-[[tol] [A binary functor that specifies the termination condition: the function
- will return the current brackets enclosing the root when /tol(min,max)/ becomes true.]]
-[[max_iter][The maximum number of invocations of /f(x)/ to make while searching for the root.]]
-]
-
-[optional_policy]
-
-Returns: a pair of values /r/ that bracket the root so that:
-
- f(r.first) * f(r.second) <= 0
-
-and either
-
- tol(r.first, r.second) == true
-
-or
-
- max_iter >= m
-
-where /m/ is the initial value of /max_iter/ passed to the function.
-
-In other words, it's up to the caller to verify whether termination occurred
-as a result of exceeding /max_iter/ function invocations (easily done by
-checking the updated value of /max_iter/ when the function returns), rather than
-because the termination condition /tol/ was satisfied.
-
-[h6 Bracket and solve]
-
- template <class F, class T, class Tol>
- std::pair<T, T>
- bracket_and_solve_root(
- F f,
- const T& guess,
- const T& factor,
- bool rising,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- bracket_and_solve_root(
- F f,
- const T& guess,
- const T& factor,
- bool rising,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
-This is a convenience function that calls /toms748_solve/ internally
-to find the root of /f(x)/. It's usable only when /f(x)/ is a monotonic
-function, and the location of the root is known approximately, and in
-particular it is known whether the root is occurs for positive or negative
-/x/. The parameters are:
-
-[variablelist
-[[f][A unary functor that is the function whose root is to be solved.
- f(x) must be uniformly increasing or decreasing on /x/.]]
-[[guess][An initial approximation to the root]]
-[[factor][A scaling factor that is used to bracket the root: the value
- /guess/ is multiplied (or divided as appropriate) by /factor/
- until two values are found that bracket the root. A value
- such as 2 is a typical choice for /factor/.]]
-[[rising][Set to /true/ if /f(x)/ is rising on /x/ and /false/ if /f(x)/
- is falling on /x/. This value is used along with the result
- of /f(guess)/ to determine if /guess/ is
- above or below the root.]]
-[[tol] [A binary functor that determines the termination condition for the search
- for the root. /tol/ is passed the current brackets at each step,
- when it returns true then the current brackets are returned as the result.]]
-[[max_iter] [The maximum number of function invocations to perform in the search
- for the root.]]
-]
-
-[optional_policy]
-
-Returns: a pair of values /r/ that bracket the root so that:
-
- f(r.first) * f(r.second) <= 0
-
-and either
-
- tol(r.first, r.second) == true
-
-or
-
- max_iter >= m
-
-where /m/ is the initial value of /max_iter/ passed to the function.
-
-In other words, it's up to the caller to verify whether termination occurred
-as a result of exceeding /max_iter/ function invocations (easily done by
-checking the value of /max_iter/ when the function returns), rather than
-because the termination condition /tol/ was satisfied.
-
-[h6 Algorithm TOMS 748: Alefeld, Potra and Shi: Enclosing zeros of continuous functions]
-
- template <class F, class T, class Tol>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
- template <class F, class T, class Tol>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- const T& fa,
- const T& fb,
- Tol tol,
- boost::uintmax_t& max_iter);
-
- template <class F, class T, class Tol, class ``__Policy``>
- std::pair<T, T>
- toms748_solve(
- F f,
- const T& a,
- const T& b,
- const T& fa,
- const T& fb,
- Tol tol,
- boost::uintmax_t& max_iter,
- const ``__Policy``&);
-
-These two functions implement TOMS Algorithm 748: it uses a mixture of
-cubic, quadratic and linear (secant) interpolation to locate the root of
-/f(x)/. The two functions differ only by whether values for /f(a)/ and
-/f(b)/ are already available. The toms748_solve parameters are:
-
-[variablelist
-[[f] [A unary functor that is the function whose root is to be solved.
- f(x) need not be uniformly increasing or decreasing on /x/ and
- may have multiple roots.]]
-[[a] [ The lower bound for the initial bracket of the root.]]
-[[b] [The upper bound for the initial bracket of the root.
- It is a precondition that /a < b/ and that /a/ and /b/
- bracket the root to find so that /f(a)*f(b) < 0/.]]
-[[fa] [Optional: the value of /f(a)/.]]
-[[fb] [Optional: the value of /f(b)/.]]
-[[tol] [A binary functor that determines the termination condition for the search
- for the root. /tol/ is passed the current brackets at each step,
- when it returns true, then the current brackets are returned as the result.]]
-[[max_iter] [The maximum number of function invocations to perform in the search
- for the root. On exit /max_iter/ is set to actual number of function
- invocations used.]]
-]
-
-[optional_policy]
-
-toms748_solve returns: a pair of values /r/ that bracket the root so that:
- f(r.first) * f(r.second) <= 0
-and either
- tol(r.first, r.second) == true
-or
- max_iter >= m
-where /m/ is the initial value of /max_iter/ passed to the function.
-
-In other words, it's up to the caller to verify whether termination occurred
-as a result of exceeding /max_iter/ function invocations (easily done by
-checking the updated value of /max_iter/
-against its previous value passed as parameter),
-rather than because the termination condition /tol/ was satisfied.
-
- template <class T>
- struct eps_tolerance
- {
- eps_tolerance(int bits);
- bool operator()(const T& a, const T& b)const;
- };
-
-`eps_tolerance` is the usual termination condition used with these root finding functions.
-Its operator() will return true when the relative distance between /a/ and /b/
-is less than twice the machine epsilon for T, or 2[super 1-bits], whichever is
-the larger. In other words, you set /bits/ to the number of bits of precision you
-want in the result. The minimal tolerance of twice the machine epsilon of T is
-required to ensure that we get back a bracketing interval: since this must clearly
-be at least 1 epsilon in size.
-
- struct equal_floor
- {
- equal_floor();
- template <class T> bool operator()(const T& a, const T& b)const;
- };
-
-This termination condition is used when you want to find an integer result
-that is the /floor/ of the true root. It will terminate as soon as both ends
-of the interval have the same /floor/.
-
- struct equal_ceil
- {
- equal_ceil();
- template <class T> bool operator()(const T& a, const T& b)const;
- };
-
-This termination condition is used when you want to find an integer result
-that is the /ceil/ of the true root. It will terminate as soon as both ends
-of the interval have the same /ceil/.
-
- struct equal_nearest_integer
- {
- equal_nearest_integer();
- template <class T> bool operator()(const T& a, const T& b)const;
- };
-
-This termination condition is used when you want to find an integer result
-that is the /closest/ to the true root. It will terminate as soon as both ends
-of the interval round to the same nearest integer.
-
-[h4 Implementation]
-
-The implementation of the bisection algorithm is extremely straightforward
-and not detailed here. __TOMS748 is described in detail in:
-
-['Algorithm 748: Enclosing Zeros of Continuous Functions,
-G. E. Alefeld, F. A. Potra and Yixun Shi,
-ACM Transactions on Mathematica1 Software, Vol. 21. No. 3. September 1995.
-Pages 327-344.]
-
-The implementation here is a faithful translation of this paper into C++.
-
-[endsect] [/section:roots2 Root Finding Without Derivatives]
-
-[/
- Copyright 2006, 2010 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/sign.qbk b/libs/math/doc/sf_and_dist/sign.qbk
deleted file mode 100644
index 559820dba4..0000000000
--- a/libs/math/doc/sf_and_dist/sign.qbk
+++ /dev/null
@@ -1,137 +0,0 @@
-[section:sign_functions Sign Manipulation Functions]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/sign.hpp>
-``
-
- namespace boost{ namespace math{
-
- template<class T>
- int signbit(T x);
-
- template <class T>
- inline int sign (const T& z);
-
- template <class T>
- inline T copysign (const T& x, const T& y);
-
- template <class T>
- inline T changesign (const T& z);
-
- }} // namespaces
-
-[h4 Description]
-
- template<class T>
- int signbit(T x);
-
-Returns a non-zero value if the sign bit is set in variable /x/, otherwise `0`.
-
-[important The return value from this function is zero or /not-zero/ and [*not] zero or one.]
-
- template <class T>
- inline int sign (const T& z);
-
-Returns `1` if /x/ `> 0`, `-1` if /x/ `< 0`, and `0` if /x/ is zero.
-
- template <class T>
- inline T copysign (const T& x, const T& y);
-
-Sets the sign of /x/ to be the same as the sign of /y/.
-
-See [@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf C99 7.12.11.1 The copysign functions]
-for more detail.
-
- template <class T>
- inline T changesign (const T& z);
-
-Returns a floating point number with a binary representation
-where the signbit is the opposite of the sign bit in /x/,
-and where the other bits are the same as in /x/.
-
-This function is widely available, but not specified in any standards.
-
-Rationale: Not specified by TR1, but `changesign(x)`
-is both easier to read and more efficient than
-
- copysign(x, signbit(x) ? 1.0 : -1.0);
-
-For finite values, this function has the same effect as simple negation,
-the assignment z = -z, but for nonfinite values,
-[@http://en.wikipedia.org/wiki/Infinity#Computing infinities]
-and [@http://en.wikipedia.org/wiki/NaN NaNs],
-the `changesign(x)` function may be the only portable way
-to ensure that the sign bit is changed.
-
-[h5 Sign bits]
-One of the bits in the binary representation of a floating-point number gives the sign,
-and the remaining bits give the absolute value.
-That bit is known as the sign bit.
-The sign bit is set = 1 for negative numbers, and is not set = 0 for positive numbers.
-(This is true for all binary representations of floating point numbers
-that are used by modern microprocessors.)
-
-[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf C++ TR1]
-specifies `copysign` functions and function templates for accessing the sign bit.
-
-For user-defined types (UDT), the sign may be stored in some other way.
-They may also not provide infinity or NaNs.
-To use these functions with a UDT,
-it may be necessary to explicitly specialize then for UDT type T.
-
-[h5 Examples]
-
- signbit(3.5) is zero (or false)
- signbit(-7.1) is 1 (or true)
- copysign(4.2, 7.9) is 4.2
- copysign(3.5 -1.4) is -3.5
- copysign(-4.2, 1.0) is 4.2
- copysign(-8.6, -3.3) is -8.6
- changesign(6.9) is -6.9
- changesign(-1.8) is 1.8
-
-[h5 Portability]
-
-The library supports the following binary floating-point formats:
-
-* IEEE 754 single precision
-* IEEE 754 double precision
-* IEEE 754 extended double precision with 15 exponent bits
-* Intel extended double precision
-* PowerPC extended double precision
-* Motorola 68K extended double precision
-
-The library does not support the VAX floating-point formats.
-(These are available on VMS, but the default on VMS is the IEEE 754 floating-point format.)
-
-The main portability issues are:
-
-* Unsupported floating point formats
-* The library depends on the header boost/detail/endian.hpp
-* Code such as `#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)`
-is used to determine the processor type.
-
-The library has passed all tests on the following platforms:
-
-* Win32 / MSVC 7.1 / 10.0 / x86
-* Win32 / Intel C++ 7.1, 8.1, 9.1 / x86
-* Mac OS X / GCC 3.3, 4.0 / ppc
-* Linux / Intel C++ 9.1 / x86, ia64
-* Linux / GCC 3.3 / x86, x64, ia64, ppc, hppa, mips, m68k
-* Linux / GCC 3.4 / x64
-* HP-UX / aCC, GCC 4.1 / ia64
-* HP-UX / aCC / hppa
-* Tru64 / Compaq C++ 7.1 / alpha
-* VMS / HP C++ 7.1 / alpha (in IEEE floating point mode)
-* VMS / HP C++ 7.2 / ia64 (in IEEE floating point mode)
-
-[endsect][/section:sign_functions Sign Manipulation Functions]
-[/
- Copyright 2006 John Maddock and Paul A. Bristow 2011.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/sinc.qbk b/libs/math/doc/sf_and_dist/sinc.qbk
deleted file mode 100644
index 3c9e12e8ef..0000000000
--- a/libs/math/doc/sf_and_dist/sinc.qbk
+++ /dev/null
@@ -1,110 +0,0 @@
-[/ math.qbk
- Copyright 2006 Hubert Holin and John Maddock.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-[section:sinc Sinus Cardinal and Hyperbolic Sinus Cardinal Functions]
-
-[section:sinc_overview Sinus Cardinal and Hyperbolic Sinus Cardinal Functions Overview]
-
-The [@http://mathworld.wolfram.com/SincFunction.html Sinus Cardinal family of functions]
-(indexed by the family of indices [^a > 0])
-is defined by
-
-[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
-
-[equation special_functions_blurb22]
-
-These two families of functions are composed of entire functions.
-
-These functions (__sinc_pi and __sinhc_pi) are needed by
-[@http://www.boost.org/libs/math/quaternion/quaternion.html our implementation]
-of [@http://mathworld.wolfram.com/Quaternion.html quaternions]
-and [@http://mathworld.wolfram.com/Octonion.html octonions].
-
-[: ['[*Sinus Cardinal of index pi (purple) and Hyperbolic Sinus Cardinal of index pi (red) on R]]]
-[: [$../graphs/sinc_pi_and_sinhc_pi_on_r.png]]
-
-[endsect]
-
-[section sinc_pi]
-
-``
-#include <boost/math/special_functions/sinc.hpp>
-``
-
- template<class T>
- ``__sf_result`` sinc_pi(const T x);
-
- template<class T, class ``__Policy``>
- ``__sf_result`` sinc_pi(const T x, const ``__Policy``&);
-
- template<class T, template<typename> class U>
- U<T> sinc_pi(const U<T> x);
-
- template<class T, template<typename> class U, class ``__Policy``>
- U<T> sinc_pi(const U<T> x, const ``__Policy``&);
-
-Computes
-[link math_toolkit.special.sinc.sinc_overview
-the Sinus Cardinal] of x:
-
- sinc_pi(x) = sin(x) / x
-
-The second form is for complex numbers,
-quaternions, octonions etc. Taylor series are used at the origin
-to ensure accuracy.
-
-[graph sinc_pi]
-
-[optional_policy]
-
-[endsect]
-
-[section sinhc_pi]
-
-``
-#include <boost/math/special_functions/sinhc.hpp>
-``
-
- template<class T>
- ``__sf_result`` sinhc_pi(const T x);
-
- template<class T, class ``__Policy``>
- ``__sf_result`` sinhc_pi(const T x, const ``__Policy``&);
-
- template<typename T, template<typename> class U>
- U<T> sinhc_pi(const U<T> x);
-
- template<class T, template<typename> class U, class ``__Policy``>
- U<T> sinhc_pi(const U<T> x, const ``__Policy``&);
-
-Computes http://mathworld.wolfram.com/SinhcFunction.html
-[link math_toolkit.special.sinc.sinc_overview
-the Hyperbolic Sinus Cardinal] of x:
-
- sinhc_pi(x) = sinh(x) / x
-
-The second form is for
-complex numbers, quaternions, octonions etc. Taylor series are used at the origin
-to ensure accuracy.
-
-The return type of the first form is computed using the __arg_pomotion_rules
-when T is an integer type.
-
-[optional_policy]
-
-[graph sinhc_pi]
-
-[endsect]
-
-[endsect]
diff --git a/libs/math/doc/sf_and_dist/spherical_harmonic.qbk b/libs/math/doc/sf_and_dist/spherical_harmonic.qbk
deleted file mode 100644
index 3cfc6946c7..0000000000
--- a/libs/math/doc/sf_and_dist/spherical_harmonic.qbk
+++ /dev/null
@@ -1,150 +0,0 @@
-[section:sph_harm Spherical Harmonics]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/spheric_harmonic.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T1, class T2>
- std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class ``__Policy``>
- std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
-
- template <class T1, class T2>
- ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
-
- template <class T1, class T2>
- ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
-
- }} // namespaces
-
-[h4 Description]
-
-The return type of these functions is computed using the __arg_pomotion_rules
-when T1 and T2 are different types.
-
-[optional_policy]
-
- template <class T1, class T2>
- std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class ``__Policy``>
- std::complex<``__sf_result``> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
-
-Returns the value of the Spherical Harmonic Y[sub n][super m](theta, phi):
-
-[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
-where azimuthal symmetry is not present.
-
-[caution Care must be taken in correctly identifying the arguments to this
-function: [theta][space] is taken as the polar (colatitudinal) coordinate
-with [theta][space] in \[0, [pi]\], and [phi][space] as the azimuthal (longitudinal)
-coordinate with [phi][space] in \[0,2[pi]). This is the convention used in Physics,
-and matches the definition used by
-[@http://documents.wolfram.com/mathematica/functions/SphericalHarmonicY
-Mathematica in the function SpericalHarmonicY],
-but is opposite to the usual mathematical conventions.
-
-Some other sources include an additional Condon-Shortley phase term of
-(-1)[super m] in the definition of this function: note however that our
-definition of the associated Legendre polynomial already includes this term.
-
-This implementation returns zero for m > n
-
-For [theta][space] outside \[0, [pi]\] and [phi][space] outside \[0, 2[pi]\] this
-implementation follows the convention used by Mathematica:
-the function is periodic with period [pi][space] in [theta][space] and 2[pi][space] in
-[phi]. Please note that this is not the behaviour one would get
-from a casual application of the function's definition. Cautious users
-should keep [theta][space] and [phi][space] to the range \[0, [pi]\] and
-\[0, 2[pi]\] respectively.
-
-See: [@http://mathworld.wolfram.com/SphericalHarmonic.html
-Weisstein, Eric W. "Spherical Harmonic."
-From MathWorld--A Wolfram Web Resource]. ]
-
- template <class T1, class T2>
- ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
-
-Returns the real part of Y[sub n][super m](theta, phi):
-
-[equation spherical_1]
-
- template <class T1, class T2>
- ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class ``__Policy``>
- ``__sf_result`` spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const ``__Policy``&);
-
-Returns the imaginary part of Y[sub n][super m](theta, phi):
-
-[equation spherical_2]
-
-[h4 Accuracy]
-
-The following table shows peak errors for various domains of input arguments.
-Note that only results for the widest floating point type on the system are
-given as narrower types have __zero_error. Peak errors are the same
-for both the real and imaginary parts, as the error is dominated by
-calculation of the associated Legendre polynomials: especially near the
-roots of the associated Legendre function.
-
-All values are in units of epsilon.
-
-[table Peak Errors In the Sperical Harmonic Functions
-[[Significand Size] [Platform and Compiler] [Errors in range
-
-0 < l < 20] ]
-[[53] [Win32, Visual C++ 8] [Peak=2x10[super 4] Mean=700] ]
-[[64] [SUSE Linux IA32, g++ 4.1] [Peak=2900 Mean=100]]
-[[64] [Red Hat Linux IA64, g++ 3.4.4] [Peak=2900 Mean=100] ]
-[[113] [HPUX IA64, aCC A.06.06] [Peak=6700 Mean=230]]
-]
-
-Note that the worst errors occur when the degree increases, values greater than
-~120 are very unlikely to produce sensible results, especially
-when the order is also large. Further the relative errors
-are likely to grow arbitrarily large when the function is very close to a root.
-
-[h4 Testing]
-
-A mixture of spot tests of values calculated using functions.wolfram.com,
-and randomly generated test data are
-used: the test data was computed using
-[@http://shoup.net/ntl/doc/RR.txt NTL::RR] at 1000-bit precision.
-
-[h4 Implementation]
-
-These functions are implemented fairly naively using the formulae
-given above. Some extra care is taken to prevent roundoff error
-when converting from polar coordinates (so for example the
-['1-x[super 2]] term used by the associated Legendre functions is calculated
-without roundoff error using ['x = cos(theta)], and
-['1-x[super 2] = sin[super 2](theta)]). The limiting factor in the error
-rates for these functions is the need to calculate values near the roots
-of the associated Legendre functions.
-
-[endsect][/section:beta_function The Beta Function]
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/test_data.qbk b/libs/math/doc/sf_and_dist/test_data.qbk
deleted file mode 100644
index b7a17ed580..0000000000
--- a/libs/math/doc/sf_and_dist/test_data.qbk
+++ /dev/null
@@ -1,438 +0,0 @@
-[section:test_data Graphing, Profiling, and Generating Test Data for Special Functions]
-
-The class `test_data` and associated helper functions are designed so that in just
-a few lines of code you should be able to:
-
-* Profile a continued fraction, or infinite series for convergence and accuracy.
-* Generate csv data from a special function that can be imported into your favorite
-graphing program (or spreadsheet) for further analysis.
-* Generate high precision test data.
-
-[h4 Synopsis]
-
- namespace boost{ namespace math{ namespace tools{
-
- enum parameter_type
- {
- random_in_range = 0,
- periodic_in_range = 1,
- power_series = 2,
- dummy_param = 0x80,
- };
-
- template <class T>
- struct parameter_info;
-
- template <class T>
- parameter_info<T> make_random_param(T start_range, T end_range, int n_points);
-
- template <class T>
- parameter_info<T> make_periodic_param(T start_range, T end_range, int n_points);
-
- template <class T>
- parameter_info<T> make_power_param(T basis, int start_exponent, int end_exponent);
-
- template <class T>
- bool get_user_parameter_info(parameter_info<T>& info, const char* param_name);
-
- template <class T>
- class test_data
- {
- public:
- typedef std::vector<T> row_type;
- typedef row_type value_type;
- private:
- typedef std::set<row_type> container_type;
- public:
- typedef typename container_type::reference reference;
- typedef typename container_type::const_reference const_reference;
- typedef typename container_type::iterator iterator;
- typedef typename container_type::const_iterator const_iterator;
- typedef typename container_type::difference_type difference_type;
- typedef typename container_type::size_type size_type;
-
- // creation:
- test_data(){}
- template <class F>
- test_data(F func, const parameter_info<T>& arg1);
-
- // insertion:
- template <class F>
- test_data& insert(F func, const parameter_info<T>& arg1);
-
- template <class F>
- test_data& insert(F func, const parameter_info<T>& arg1,
- const parameter_info<T>& arg2);
-
- template <class F>
- test_data& insert(F func, const parameter_info<T>& arg1,
- const parameter_info<T>& arg2,
- const parameter_info<T>& arg3);
-
- void clear();
-
- // access:
- iterator begin();
- iterator end();
- const_iterator begin()const;
- const_iterator end()const;
- bool operator==(const test_data& d)const;
- bool operator!=(const test_data& d)const;
- void swap(test_data& other);
- size_type size()const;
- size_type max_size()const;
- bool empty()const;
-
- bool operator < (const test_data& dat)const;
- bool operator <= (const test_data& dat)const;
- bool operator > (const test_data& dat)const;
- bool operator >= (const test_data& dat)const;
- };
-
- template <class charT, class traits, class T>
- std::basic_ostream<charT, traits>& write_csv(
- std::basic_ostream<charT, traits>& os,
- const test_data<T>& data);
-
- template <class charT, class traits, class T>
- std::basic_ostream<charT, traits>& write_csv(
- std::basic_ostream<charT, traits>& os,
- const test_data<T>& data,
- const charT* separator);
-
- template <class T>
- std::ostream& write_code(std::ostream& os,
- const test_data<T>& data,
- const char* name);
-
- }}} // namespaces
-
-[h4 Description]
-
-This tool is best illustrated with the following series of examples.
-
-The functionality of test_data is split into the following parts:
-
-* A functor that implements the function for which data is being generated:
-this is the bit you have to write.
-* One of more parameters that are to be passed to the functor, these are
-described in fairly abstract terms: give me N points distributed like /this/ etc.
-* The class test_data, that takes the functor and descriptions of the parameters
-and computes how ever many output points have been requested, these are stored
-in a sorted container.
-* Routines to iterate over the test_data container and output the data in either
-csv format, or as C++ source code (as a table using Boost.Array).
-
-[h5 Example 1: Output Data for Graph Plotting]
-
-For example, lets say we want to graph the lgamma function between -3 and 100,
-one could do this like so:
-
- #include <boost/math/tools/test_data.hpp>
- #include <boost/math/special_functions/gamma.hpp>
-
- int main()
- {
- using namespace boost::math::tools;
-
- // create an object to hold the data:
- test_data<double> data;
-
- // insert 500 points at uniform intervals between just after -3 and 100:
- double (*pf)(double) = boost::math::lgamma;
- data.insert(pf, make_periodic_param(-3.0 + 0.00001, 100.0, 500));
-
- // print out in csv format:
- write_csv(std::cout, data, ", ");
- return 0;
- }
-
-Which, when plotted, results in:
-
-[graph lgamma]
-
-[h5 Example 2: Creating Test Data]
-
-As a second example, let's suppose we want to create highly accurate test
-data for a special function. Since many special functions have two or
-more independent parameters, it's very hard to effectively cover all of
-the possible parameter space without generating gigabytes of data at
-great computational expense. A second best approach is to provide the tools
-by which a user (or the library maintainer) can quickly generate more data
-on demand to probe the function over a particular domain of interest.
-
-In this example we'll generate test data for the beta function using
-[@http://shoup.net/ntl/doc/RR.txt NTL::RR] at 1000 bit precision.
-Rather than call our generic
-version of the beta function, we'll implement a deliberately naive version
-of the beta function using lgamma, and rely on the high precision of the
-data type used to get results accurate to at least 128-bit precision. In this
-way our test data is independent of whatever clever tricks we may wish to
-use inside the our beta function.
-
-To start with then, here's the function object that creates the test data:
-
- #include <boost/math/tools/ntl.hpp>
- #include <boost/math/special_functions/gamma.hpp>
- #include <boost/math/tools/test_data.hpp>
- #include <fstream>
-
- #include <boost/math/tools/test_data.hpp>
-
- using namespace boost::math::tools;
-
- struct beta_data_generator
- {
- NTL::RR operator()(NTL::RR a, NTL::RR b)
- {
- //
- // If we throw a domain error then test_data will
- // ignore this input point. We'll use this to filter
- // out all cases where a < b since the beta function
- // is symmetrical in a and b:
- //
- if(a < b)
- throw std::domain_error("");
-
- // very naively calculate spots with lgamma:
- NTL::RR g1, g2, g3;
- int s1, s2, s3;
- g1 = boost::math::lgamma(a, &s1);
- g2 = boost::math::lgamma(b, &s2);
- g3 = boost::math::lgamma(a+b, &s3);
- g1 += g2 - g3;
- g1 = exp(g1);
- g1 *= s1 * s2 * s3;
- return g1;
- }
- };
-
-To create the data, we'll need to input the domains for a and b
-for which the function will be tested: the function `get_user_parameter_info`
-is designed for just that purpose. The start of main will look something like:
-
- // Set the precision on RR:
- NTL::RR::SetPrecision(1000); // bits.
- NTL::RR::SetOutputPrecision(40); // decimal digits.
-
- parameter_info<NTL::RR> arg1, arg2;
- test_data<NTL::RR> data;
-
- std::cout << "Welcome.\n"
- "This program will generate spot tests for the beta function:\n"
- " beta(a, b)\n\n";
-
- bool cont;
- std::string line;
-
- do{
- // prompt the user for the domain of a and b to test:
- get_user_parameter_info(arg1, "a");
- get_user_parameter_info(arg2, "b");
-
- // create the data:
- data.insert(beta_data_generator(), arg1, arg2);
-
- // see if the user want's any more domains tested:
- std::cout << "Any more data [y/n]?";
- std::getline(std::cin, line);
- boost::algorithm::trim(line);
- cont = (line == "y");
- }while(cont);
-
-[caution At this point one potential stumbling block should be mentioned:
-test_data<>::insert will create a matrix of test data when there are two
-or more parameters, so if we have two parameters and we're asked for
-a thousand points on each, that's a ['million test points in total].
-Don't say you weren't warned!]
-
-There's just one final step now, and that's to write the test data to file:
-
- std::cout << "Enter name of test data file [default=beta_data.ipp]";
- std::getline(std::cin, line);
- boost::algorithm::trim(line);
- if(line == "")
- line = "beta_data.ipp";
- std::ofstream ofs(line.c_str());
- write_code(ofs, data, "beta_data");
-
-The format of the test data looks something like:
-
- #define SC_(x) static_cast<T>(BOOST_JOIN(x, L))
- static const boost::array<boost::array<T, 3>, 1830>
- beta_med_data = {
- SC_(0.4883005917072296142578125),
- SC_(0.4883005917072296142578125),
- SC_(3.245912809500479157065104747353807392371),
- SC_(3.5808107852935791015625),
- SC_(0.4883005917072296142578125),
- SC_(1.007653173802923954909901438393379243537),
- /* ... lots of rows skipped */
- };
-
-The first two values in each row are the input parameters that were passed
-to our functor and the last value is the return value from the functor.
-Had our functor returned a __tuple rather than a value, then we would have had
-one entry for each element in the tuple in addition to the input parameters.
-
-The first #define serves two purposes:
-
-* It reduces the file sizes considerably: all those `static_cast`'s add up to a lot
-of bytes otherwise (they are needed to suppress compiler warnings when `T` is
-narrower than a `long double`).
-* It provides a useful customisation point: for example if we were testing
-a user-defined type that has more precision than a `long double` we could change
-it to:
-
-[^#define SC_(x) lexical_cast<T>(BOOST_STRINGIZE(x))]
-
-in order to ensure that no truncation of the values occurs prior to conversion
-to `T`. Note that this isn't used by default as it's rather hard on the compiler
-when the table is large.
-
-[h5 Example 3: Profiling a Continued Fraction for Convergence and Accuracy]
-
-Alternatively, lets say we want to profile a continued fraction for
-convergence and error. As an example, we'll use the continued fraction
-for the upper incomplete gamma function, the following function object
-returns the next a[sub N ] and b[sub N ] of the continued fraction
-each time it's invoked:
-
- template <class T>
- struct upper_incomplete_gamma_fract
- {
- private:
- T z, a;
- int k;
- public:
- typedef std::pair<T,T> result_type;
-
- upper_incomplete_gamma_fract(T a1, T z1)
- : z(z1-a1+1), a(a1), k(0)
- {
- }
-
- result_type operator()()
- {
- ++k;
- z += 2;
- return result_type(k * (a - k), z);
- }
- };
-
-We want to measure both the relative error, and the rate of convergence
-of this fraction, so we'll write a functor that returns both as a __tuple:
-class test_data will unpack the tuple for us, and create one column of data
-for each element in the tuple (in addition to the input parameters):
-
- #include <boost/math/tools/test_data.hpp>
- #include <boost/math/tools/test.hpp>
- #include <boost/math/special_functions/gamma.hpp>
- #include <boost/math/tools/ntl.hpp>
- #include <boost/math/tools/tuple.hpp>
-
- template <class T>
- struct profile_gamma_fraction
- {
- typedef ``__tuple``<T, T> result_type;
-
- result_type operator()(T val)
- {
- using namespace boost::math::tools;
- // estimate the true value, using arbitary precision
- // arithmetic and NTL::RR:
- NTL::RR rval(val);
- upper_incomplete_gamma_fract<NTL::RR> f1(rval, rval);
- NTL::RR true_val = continued_fraction_a(f1, 1000);
- //
- // Now get the aproximation at double precision, along with the number of
- // iterations required:
- boost::uintmax_t iters = std::numeric_limits<boost::uintmax_t>::max();
- upper_incomplete_gamma_fract<T> f2(val, val);
- T found_val = continued_fraction_a(f2, std::numeric_limits<T>::digits, iters);
- //
- // Work out the relative error, as measured in units of epsilon:
- T err = real_cast<T>(relative_error(true_val, NTL::RR(found_val)) / std::numeric_limits<T>::epsilon());
- //
- // now just return the results as a tuple:
- return boost::math::make_tuple(err, iters);
- }
- };
-
-Feeding that functor into test_data allows rapid output of csv data,
-for whatever type `T` we may be interested in:
-
- int main()
- {
- using namespace boost::math::tools;
- // create an object to hold the data:
- test_data<double> data;
- // insert 500 points at uniform intervals between just after 0 and 100:
- data.insert(profile_gamma_fraction<double>(), make_periodic_param(0.01, 100.0, 100));
- // print out in csv format:
- write_csv(std::cout, data, ", ");
- return 0;
- }
-
-This time there's no need to plot a graph, the first few rows are:
-
- a and z, Error/epsilon, Iterations required
-
- 0.01, 9723.14, 4726
- 1.0099, 9.54818, 87
- 2.0098, 3.84777, 40
- 3.0097, 0.728358, 25
- 4.0096, 2.39712, 21
- 5.0095, 0.233263, 16
-
-So it's pretty clear that this fraction shouldn't be used for small values
-of a and z.
-
-[h4 reference]
-[#test_data_reference]
-
-Most of this tool has been described already in the examples above, we'll
-just add the following notes on the non-member functions:
-
- template <class T>
- parameter_info<T> make_random_param(T start_range, T end_range, int n_points);
-
-Tells class test_data to test /n_points/ random values in the range
-[start_range,end_range].
-
- template <class T>
- parameter_info<T> make_periodic_param(T start_range, T end_range, int n_points);
-
-Tells class test_data to test /n_points/ evenly spaced values in the range
-[start_range,end_range].
-
- template <class T>
- parameter_info<T> make_power_param(T basis, int start_exponent, int end_exponent);
-
-Tells class test_data to test points of the form ['basis + R * 2[super expon]] for each
-/expon/ in the range [start_exponent, end_exponent], and /R/ a random number in \[0.5, 1\].
-
- template <class T>
- bool get_user_parameter_info(parameter_info<T>& info, const char* param_name);
-
-Prompts the user for the parameter range and form to use.
-
-Finally, if we don't want the parameter to be included in the output, we can tell
-test_data by setting it a "dummy parameter":
-
- parameter_info<double> p = make_random_param(2.0, 5.0, 10);
- p.type |= dummy_param;
-
-This is useful when the functor used transforms the parameter in some way
-before passing it to the function under test, usually the functor will then
-return both the transformed input and the result in a tuple, so there's no
-need for the original pseudo-parameter to be included in program output.
-
-[endsect][/section:test_data Graphing, Profiling, and Generating Test Data for Special Functions]
-
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
diff --git a/libs/math/doc/sf_and_dist/tgamma.qbk b/libs/math/doc/sf_and_dist/tgamma.qbk
deleted file mode 100644
index 3e56606832..0000000000
--- a/libs/math/doc/sf_and_dist/tgamma.qbk
+++ /dev/null
@@ -1,202 +0,0 @@
-[section:tgamma Gamma]
-
-[h4 Synopsis]
-
-``
-#include <boost/math/special_functions/gamma.hpp>
-``
-
- namespace boost{ namespace math{
-
- template <class T>
- ``__sf_result`` tgamma(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` tgamma(T z, const ``__Policy``&);
-
- template <class T>
- ``__sf_result`` tgamma1pm1(T dz);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` tgamma1pm1(T dz, const ``__Policy``&);
-
- }} // namespaces
-
-[h4 Description]
-
- template <class T>
- ``__sf_result`` tgamma(T z);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` tgamma(T z, const ``__Policy``&);
-
-Returns the "true gamma" (hence name tgamma) of value z:
-
-[equation gamm1]
-
-[graph tgamma]
-
-[optional_policy]
-
-There are effectively two versions of the [@http://en.wikipedia.org/wiki/Gamma_function tgamma]
-function internally: a fully
-generic version that is slow, but reasonably accurate, and a much more
-efficient approximation that is used where the number of digits in the significand
-of T correspond to a certain __lanczos. In practice any built in
-floating point type you will encounter has an appropriate __lanczos
-defined for it. It is also possible, given enough machine time, to generate
-further __lanczos's using the program libs/math/tools/lanczos_generator.cpp.
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the result is `double` when T is an integer type, and T otherwise.
-
- template <class T>
- ``__sf_result`` tgamma1pm1(T dz);
-
- template <class T, class ``__Policy``>
- ``__sf_result`` tgamma1pm1(T dz, const ``__Policy``&);
-
-Returns `tgamma(dz + 1) - 1`. Internally the implementation does not make
-use of the addition and subtraction implied by the definition, leading to
-accurate results even for very small `dz`. However, the implementation is
-capped to either 35 digit accuracy, or to the precision of the __lanczos
-associated with type T, whichever is more accurate.
-
-The return type of this function is computed using the __arg_pomotion_rules:
-the result is `double` when T is an integer type, and T otherwise.
-
-[optional_policy]
-
-[h4 Accuracy]
-
-The following table shows the peak errors (in units of epsilon)
-found on various platforms with various floating point types,
-along with comparisons to the __gsl, __glibc, __hpc and __cephes libraries.
-Unless otherwise specified any floating point type that is narrower
-than the one shown will have __zero_error.
-
-[table
-[[Significand Size] [Platform and Compiler] [Factorials and Half factorials] [Values Near Zero] [Values Near 1 or 2] [Values Near a Negative Pole]]
-[[53] [Win32 Visual C++ 8]
-[Peak=1.9 Mean=0.7
-
-(GSL=3.9)
-
-(__cephes=3.0)]
-[Peak=2.0 Mean=1.1
-
-(GSL=4.5)
-
-(__cephes=1)]
-[Peak=2.0 Mean=1.1
-
-(GSL=7.9)
-
-(__cephes=1.0)]
-[Peak=2.6 Mean=1.3
-
-(GSL=2.5)
-
-(__cephes=2.7)] ]
-[[64] [Linux IA32 / GCC]
-[Peak=300 Mean=49.5
-
-(__glibc Peak=395 Mean=89)]
-[Peak=3.0 Mean=1.4
-
-(__glibc Peak=11 Mean=3.3)]
-[Peak=5.0 Mean=1.8
-
-(__glibc Peak=0.92 Mean=0.2)]
-[Peak=157 Mean=65
-
-(__glibc Peak=205 Mean=108)] ]
-[[64] [Linux IA64 / GCC]
-[__glibc Peak 2.8 Mean=0.9
-
-(__glibc Peak 0.7)]
-[Peak=4.8 Mean=1.5
-
-(__glibc Peak 0)]
-[Peak=4.8 Mean=1.5
-
-(__glibc Peak 0)]
-
-[Peak=5.0 Mean=1.7
-(__glibc Peak 0)] ]
-[[113] [HPUX IA64, aCC A.06.06]
-[Peak=2.5 Mean=1.1
-
-(__hpc Peak 0)]
-[Peak=3.5 Mean=1.7
-
-(__hpc Peak 0)]
-[Peak=3.5 Mean=1.6
-
-(__hpc Peak 0)]
-[Peak=5.2 Mean=1.92
-
-(__hpc Peak 0)] ]
-]
-
-[h4 Testing]
-
-The gamma is relatively easy to test: factorials and half-integer factorials
-can be calculated exactly by other means and compared with the gamma function.
-In addition, some accuracy tests in known tricky areas were computed at high precision
-using the generic version of this function.
-
-The function `tgamma1pm1` is tested against values calculated very naively
-using the formula `tgamma(1+dz)-1` with a lanczos approximation accurate
-to around 100 decimal digits.
-
-[h4 Implementation]
-
-The generic version of the `tgamma` function is implemented by combining the series and
-continued fraction representations for the incomplete gamma function:
-
-[equation gamm2]
-
-where /l/ is an arbitrary integration limit: choosing [^l = max(10, a)]
-seems to work fairly well.
-
-For types of known precision the __lanczos is used, a traits class
-`boost::math::lanczos::lanczos_traits` maps type T to an appropriate
-approximation.
-
-For z in the range -20 < z < 1 then recursion is used to shift to z > 1 via:
-
-[equation gamm3]
-
-For very small z, this helps to preserve the identity:
-
-[equation gamm4]
-
-For z < -20 the reflection formula:
-
-[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
-result in is the range [0, [pi]/2]. Without this an excessive amount of error occurs
-in this region (which is hard enough already, as the rate of change near a negative pole
-is /exceptionally/ high).
-
-Finally if the argument is a small integer then table lookup of the factorial
-is used.
-
-The function `tgamma1pm1` is implemented using rational approximations [jm_rationals] in the
-region `-0.5 < dz < 2`. These are the same approximations (and internal routines)
-that are used for __lgamma, and so aren't detailed further here. The result of
-the approximation is `log(tgamma(dz+1))` which can fed into __expm1 to give
-the desired result. Outside the range `-0.5 < dz < 2` then the naive formula
-`tgamma1pm1(dz) = tgamma(dz+1)-1` can be used directly.
-
-[endsect][/section:tgamma The Gamma Function]
-[/
- Copyright 2006 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
diff --git a/libs/math/doc/sf_and_dist/tr1.qbk b/libs/math/doc/sf_and_dist/tr1.qbk
deleted file mode 100644
index 9f1ef8b416..0000000000
--- a/libs/math/doc/sf_and_dist/tr1.qbk
+++ /dev/null
@@ -1,398 +0,0 @@
-[template tr1_overview[]
-Many of the special functions included in this library are also a part
-of the either the [C99] or the [tr1]. Therefore this library
-includes a thin wrapper header `boost/math/tr1.hpp` that provides
-compatibility with these two standards.
-
-There are various pros and cons to using the library in this way:
-
-Pros:
-
-* The header to include is lightweight (i.e. fast to compile).
-* The functions have extern "C" linkage,
- and so are usable from other languages (not just C and C++).
-* C99 and C++ TR1 Standard compatibility.
-
-Cons:
-
-* You will need to compile and link to the external Boost.Math libraries.
-* Limited to support for the types, `float`, `double` and `long double`.
-* Error handling is handled via setting ::errno and returning NaN's and
-infinities: this may be less flexible than an C++ exception based approach.
-
-[note The separate libraries are required *only* if you choose to use
-boost/math/tr1.hpp rather than some other Boost.Math header, the rest
-of Boost.Math remains header-only.]
-
-The separate libraries required in order to use tr1.hpp can be compiled
-using bjam from within the libs/math/build directory, or from the Boost
-root directory using the usual Boost-wide install procedure.
-Alternatively the source files are located in libs/math/src and each have
-the same name as the function they implement. The various libraries are
-named as follows:
-
-[table
-[[Name][Type][Functions]]
-[[boost_math_c99f-<suffix>][float][C99 Functions]]
-[[boost_math_c99-<suffix>][double][C99 Functions]]
-[[boost_math_c99l-<suffix>][long double][C99 Functions]]
-[[boost_math_tr1f-<suffix>][float][TR1 Functions]]
-[[boost_math_tr1-<suffix>][double][TR1 Functions]]
-[[boost_math_tr1l-<suffix>][long double][TR1 Functions]]
-]
-
-Where `<suffix>` encodes the compiler and build options used to
-build the libraries: for example "libboost_math_tr1-vc80-mt-gd.lib"
-would be the statically linked TR1 library to use with Visual C++ 8.0,
-in multithreading debug mode, with the DLL VC++ runtime, where as
-"boost_math_tr1-vc80-mt.lib" would be import library for the TR1 DLL
-to be used with Visual C++ 8.0 with the release multithreaded DLL
-VC++ runtime.
-Refer to the getting started guide for a
-[@http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming
-full explanation of the `<suffix>` meanings].
-
-[note
-Visual C++ users will typically have the correct library variant to link
-against selected for them by boost/math/tr1.hpp based on your compiler
-settings.
-
-Users will need to define BOOST_MATH_TR1_DYN_LINK when building
-their code if they want to link against the DLL versions of these libraries
-rather than the static versions.
-
-Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when
-building: this is typically only used when linking against a customised
-build of the libraries.]
-
-[note Linux and Unix users will generally only have one variant of
-these libraries installed, and can generally just link against
--lboost_math_tr1 etc.]
-
-[h4 Usage Recomendations]
-
-This library now presents the user with a choice:
-
-* To include the header only versions of the functions and have
-an easier time linking, but a longer compile time.
-* To include the TR1 headers and link against an external library.
-
-Which option you choose depends largely on how you prefer to work
-and how your system is set up.
-
-For example a casual user who just needs the acosh function, would
-probably be better off including `<boost/math/special_functions/acosh.hpp>`
-and using `boost::math::acosh(x)` in their code.
-
-However, for large scale
-software development where compile times are significant, and where the
-Boost libraries are already built and installed on the system, then
-including `<boost/math/tr1.hpp>` and using `boost::math::tr1::acosh(x)`
-will speed up compile times, reduce object files sizes (since there are
-no templates being instantiated any more), and also speed up debugging
-runtimes - since the externally compiled libraries can be
-compiler optimised, rather than built using full settings - the difference
-in performance between
-[link math_toolkit.perf.getting_best
-release and debug builds can be as much as 20 times],
-so for complex applications this can be a big win.
-
-[h4 Supported C99 Functions]
-
-See also the [link math_toolkit.extern_c.c99
-quick reference guide for these functions].
-
- namespace boost{ namespace math{ namespace tr1{ extern "C"{
-
- typedef unspecified float_t;
- typedef unspecified double_t;
-
- double acosh(double x);
- float acoshf(float x);
- long double acoshl(long double x);
-
- double asinh(double x);
- float asinhf(float x);
- long double asinhl(long double x);
-
- double atanh(double x);
- float atanhf(float x);
- long double atanhl(long double x);
-
- double cbrt(double x);
- float cbrtf(float x);
- long double cbrtl(long double x);
-
- double copysign(double x, double y);
- float copysignf(float x, float y);
- long double copysignl(long double x, long double y);
-
- double erf(double x);
- float erff(float x);
- long double erfl(long double x);
-
- double erfc(double x);
- float erfcf(float x);
- long double erfcl(long double x);
-
- double expm1(double x);
- float expm1f(float x);
- long double expm1l(long double x);
-
- double fmax(double x, double y);
- float fmaxf(float x, float y);
- long double fmaxl(long double x, long double y);
-
- double fmin(double x, double y);
- float fminf(float x, float y);
- long double fminl(long double x, long double y);
-
- double hypot(double x, double y);
- float hypotf(float x, float y);
- long double hypotl(long double x, long double y);
-
- double lgamma(double x);
- float lgammaf(float x);
- long double lgammal(long double x);
-
- long long llround(double x);
- long long llroundf(float x);
- long long llroundl(long double x);
-
- double log1p(double x);
- float log1pf(float x);
- long double log1pl(long double x);
-
- long lround(double x);
- long lroundf(float x);
- long lroundl(long double x);
-
- double nextafter(double x, double y);
- float nextafterf(float x, float y);
- long double nextafterl(long double x, long double y);
-
- double nexttoward(double x, long double y);
- float nexttowardf(float x, long double y);
- long double nexttowardl(long double x, long double y);
-
- double round(double x);
- float roundf(float x);
- long double roundl(long double x);
-
- double tgamma(double x);
- float tgammaf(float x);
- long double tgammal(long double x);
-
- double trunc(double x);
- float truncf(float x);
- long double truncl(long double x);
-
- }}}} // namespaces
-
-[h4 Supported TR1 Functions]
-
-See also the [link math_toolkit.extern_c.tr1
-quick reference guide for these functions].
-
- namespace boost{ namespace math{ namespace tr1{ extern "C"{
-
- // [5.2.1.1] associated Laguerre polynomials:
- double assoc_laguerre(unsigned n, unsigned m, double x);
- float assoc_laguerref(unsigned n, unsigned m, float x);
- long double assoc_laguerrel(unsigned n, unsigned m, long double x);
-
- // [5.2.1.2] associated Legendre functions:
- double assoc_legendre(unsigned l, unsigned m, double x);
- float assoc_legendref(unsigned l, unsigned m, float x);
- long double assoc_legendrel(unsigned l, unsigned m, long double x);
-
- // [5.2.1.3] beta function:
- double beta(double x, double y);
- float betaf(float x, float y);
- long double betal(long double x, long double y);
-
- // [5.2.1.4] (complete) elliptic integral of the first kind:
- double comp_ellint_1(double k);
- float comp_ellint_1f(float k);
- long double comp_ellint_1l(long double k);
-
- // [5.2.1.5] (complete) elliptic integral of the second kind:
- double comp_ellint_2(double k);
- float comp_ellint_2f(float k);
- long double comp_ellint_2l(long double k);
-
- // [5.2.1.6] (complete) elliptic integral of the third kind:
- double comp_ellint_3(double k, double nu);
- float comp_ellint_3f(float k, float nu);
- long double comp_ellint_3l(long double k, long double nu);
-
- // [5.2.1.8] regular modified cylindrical Bessel functions:
- double cyl_bessel_i(double nu, double x);
- float cyl_bessel_if(float nu, float x);
- long double cyl_bessel_il(long double nu, long double x);
-
- // [5.2.1.9] cylindrical Bessel functions (of the first kind):
- double cyl_bessel_j(double nu, double x);
- float cyl_bessel_jf(float nu, float x);
- long double cyl_bessel_jl(long double nu, long double x);
-
- // [5.2.1.10] irregular modified cylindrical Bessel functions:
- double cyl_bessel_k(double nu, double x);
- float cyl_bessel_kf(float nu, float x);
- long double cyl_bessel_kl(long double nu, long double x);
-
- // [5.2.1.11] cylindrical Neumann functions;
- // cylindrical Bessel functions (of the second kind):
- double cyl_neumann(double nu, double x);
- float cyl_neumannf(float nu, float x);
- long double cyl_neumannl(long double nu, long double x);
-
- // [5.2.1.12] (incomplete) elliptic integral of the first kind:
- double ellint_1(double k, double phi);
- float ellint_1f(float k, float phi);
- long double ellint_1l(long double k, long double phi);
-
- // [5.2.1.13] (incomplete) elliptic integral of the second kind:
- double ellint_2(double k, double phi);
- float ellint_2f(float k, float phi);
- long double ellint_2l(long double k, long double phi);
-
- // [5.2.1.14] (incomplete) elliptic integral of the third kind:
- double ellint_3(double k, double nu, double phi);
- float ellint_3f(float k, float nu, float phi);
- long double ellint_3l(long double k, long double nu, long double phi);
-
- // [5.2.1.15] exponential integral:
- double expint(double x);
- float expintf(float x);
- long double expintl(long double x);
-
- // [5.2.1.16] Hermite polynomials:
- double hermite(unsigned n, double x);
- float hermitef(unsigned n, float x);
- long double hermitel(unsigned n, long double x);
-
- // [5.2.1.18] Laguerre polynomials:
- double laguerre(unsigned n, double x);
- float laguerref(unsigned n, float x);
- long double laguerrel(unsigned n, long double x);
-
- // [5.2.1.19] Legendre polynomials:
- double legendre(unsigned l, double x);
- float legendref(unsigned l, float x);
- long double legendrel(unsigned l, long double x);
-
- // [5.2.1.20] Riemann zeta function:
- double riemann_zeta(double);
- float riemann_zetaf(float);
- long double riemann_zetal(long double);
-
- // [5.2.1.21] spherical Bessel functions (of the first kind):
- double sph_bessel(unsigned n, double x);
- float sph_besself(unsigned n, float x);
- long double sph_bessell(unsigned n, long double x);
-
- // [5.2.1.22] spherical associated Legendre functions:
- double sph_legendre(unsigned l, unsigned m, double theta);
- float sph_legendref(unsigned l, unsigned m, float theta);
- long double sph_legendrel(unsigned l, unsigned m, long double theta);
-
- // [5.2.1.23] spherical Neumann functions;
- // spherical Bessel functions (of the second kind):
- double sph_neumann(unsigned n, double x);
- float sph_neumannf(unsigned n, float x);
- long double sph_neumannl(unsigned n, long double x);
-
- }}}} // namespaces
-
-In addition sufficient additional overloads of the `double` versions of the
-above functions are provided, so that calling the function with any mixture
-of `float`, `double`, `long double`, or /integer/ arguments is supported, with the
-return type determined by the __arg_pomotion_rules.
-
-[h4 Currently Unsupported C99 Functions]
-
- double exp2(double x);
- float exp2f(float x);
- long double exp2l(long double x);
-
- double fdim(double x, double y);
- float fdimf(float x, float y);
- long double fdiml(long double x, long double y);
-
- double fma(double x, double y, double z);
- float fmaf(float x, float y, float z);
- long double fmal(long double x, long double y, long double z);
-
- int ilogb(double x);
- int ilogbf(float x);
- int ilogbl(long double x);
-
- long long llrint(double x);
- long long llrintf(float x);
- long long llrintl(long double x);
-
- double log2(double x);
- float log2f(float x);
- long double log2l(long double x);
-
- double logb(double x);
- float logbf(float x);
- long double logbl(long double x);
-
- long lrint(double x);
- long lrintf(float x);
- long lrintl(long double x);
-
- double nan(const char *str);
- float nanf(const char *str);
- long double nanl(const char *str);
-
- double nearbyint(double x);
- float nearbyintf(float x);
- long double nearbyintl(long double x);
-
- double remainder(double x, double y);
- float remainderf(float x, float y);
- long double remainderl(long double x, long double y);
-
- double remquo(double x, double y, int *pquo);
- float remquof(float x, float y, int *pquo);
- long double remquol(long double x, long double y, int *pquo);
-
- double rint(double x);
- float rintf(float x);
- long double rintl(long double x);
-
- double scalbln(double x, long ex);
- float scalblnf(float x, long ex);
- long double scalblnl(long double x, long ex);
-
- double scalbn(double x, int ex);
- float scalbnf(float x, int ex);
- long double scalbnl(long double x, int ex);
-
-[h4 Currently Unsupported TR1 Functions]
-
- // [5.2.1.7] confluent hypergeometric functions:
- double conf_hyperg(double a, double c, double x);
- float conf_hypergf(float a, float c, float x);
- long double conf_hypergl(long double a, long double c, long double x);
-
- // [5.2.1.17] hypergeometric functions:
- double hyperg(double a, double b, double c, double x);
- float hypergf(float a, float b, float c, float x);
- long double hypergl(long double a, long double b, long double c,
- long double x);
-
-
-]
-
-[/
- Copyright 2008 John Maddock and Paul A. Bristow.
- Distributed under the Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-]
-
-
diff --git a/libs/math/doc/sf_and_dist/c99_ref.qbk b/libs/math/doc/tr1/c99_ref.qbk
index d58774c7e5..d58774c7e5 100644
--- a/libs/math/doc/sf_and_dist/c99_ref.qbk
+++ b/libs/math/doc/tr1/c99_ref.qbk
diff --git a/libs/math/doc/sf_and_dist/tr1_ref.qbk b/libs/math/doc/tr1/tr1_ref.qbk
index 0abfbd7a44..0abfbd7a44 100644
--- a/libs/math/doc/sf_and_dist/tr1_ref.qbk
+++ b/libs/math/doc/tr1/tr1_ref.qbk
diff --git a/libs/math/doc/sf_and_dist/win32_nmake.mak b/libs/math/doc/win32_nmake.mak
index be932f32d5..be932f32d5 100644
--- a/libs/math/doc/sf_and_dist/win32_nmake.mak
+++ b/libs/math/doc/win32_nmake.mak